展开菜单
首页 精品内容 本月促销 装机必备 Windows PDF教程 macOS软件 IOS软件 Android AI 专题
全部分类

当前位置:

首页 > 编程开发 > Python图像风格迁移实现方法与案例分析

Python图像风格迁移实现方法与案例分析

图像风格迁移的核心原理是利用深度卷积神经网络(CNNs)对图像内容和风格特征进行解耦与重组。1.内容表示通过深层特征捕捉物体结构和布局,2.风格表示则通过浅层至中层的格拉姆矩阵反映纹理、色彩等信息。选择深度学习的原因包括:1.CNN具备强大的自动特征提取能力;2.层次化表示契合内容与风格的抽象程度差异;3.支持端到端优化流程;4.可直接使用预训练模型节省成本。实现所需Python库及步骤为:1.使用TensorFlow或PyTorch构建模型;2.利用NumPy处理数据;3.借助Pillow或OpenCV

本文目录

    图像风格迁移的核心原理是利用深度卷积神经网络(CNNs)对图像内容和风格特征进行解耦与重组。1. 内容表示通过深层特征捕捉物体结构和布局,2. 风格表示则通过浅层至中层的格拉姆矩阵反映纹理、色彩等信息。选择深度学习的原因包括:1. CNN具备强大的自动特征提取能力;2. 层次化表示契合内容与风格的抽象程度差异;3. 支持端到端优化流程;4. 可直接使用预训练模型节省成本。实现所需Python库及步骤为:1. 使用TensorFlow或PyTorch构建模型;2. 利用NumPy处理数据;3. 借助Pillow或OpenCV进行图像预处理;4. 采用Matplotlib可视化结果。应用案例涵盖艺术创作、游戏开发、影视制作等领域,发展趋势聚焦于实时高效处理、高分辨率视频一致性、局部可控迁移以及与GAN、扩散模型融合创新。

    Python怎样实现图像风格迁移?深度学习应用案例

    图像风格迁移在Python中实现,主要依赖于深度学习技术,特别是卷积神经网络(CNNs)。它的核心思想是分离并重组图像的内容特征和风格特征,通过优化算法迭代调整一张空白图像或内容图像的像素,使其既保留内容图像的结构,又呈现风格图像的纹理、色彩和笔触。这通常涉及到一个预训练的CNN模型,如VGG19,用来提取不同层次的特征,然后通过定义内容损失和风格损失来指导图像的生成过程。

    Python怎样实现图像风格迁移?深度学习应用案例

    解决方案

    要实现图像风格迁移,我们通常采用基于优化迭代的方法,即神经风格迁移(Neural Style Transfer, NST)。这个过程可以概括为以下几个步骤:

    Python怎样实现图像风格迁移?深度学习应用案例
    1. 加载预训练的CNN模型: 选择一个在大型图像数据集(如ImageNet)上预训练过的卷积神经网络,例如VGG16或VGG19。我们通常会移除其顶部的分类层,只保留特征提取部分。这是因为CNN的低层特征通常捕获边缘、纹理等基本信息,而高层特征则捕获更抽象、更语义化的内容信息。

    2. 定义内容损失(Content Loss): 内容损失衡量的是生成图像与内容图像在特定中间层(通常是VGG网络中较深的一层,如block5_conv2)的特征表示之间的差异。我们希望生成图像的内容与原始内容图像尽可能相似。这通常通过计算两张图像在该层特征图的均方误差(Mean Squared Error, MSE)来实现。

      Python怎样实现图像风格迁移?深度学习应用案例
    3. 定义风格损失(Style Loss): 风格损失衡量的是生成图像与风格图像在多个中间层(通常是VGG网络中不同深度的层,如block1_conv1, block2_conv1, block3_conv1, block4_conv1, block5_conv1)的风格特征之间的差异。风格特征通常通过计算特征图的格拉姆矩阵(Gram Matrix)来表示。格拉姆矩阵捕获了不同特征通道之间的相关性,从而反映了图像的纹理和风格信息。风格损失是所有选定层的格拉姆矩阵MSE之和。

    4. 定义总损失(Total Loss): 总损失是内容损失和风格损失的加权和。通常还会加入一个总变差损失(Total Variation Loss)来平滑生成图像,减少噪点。 Total Loss = α * Content Loss + β * Style Loss + γ * Total Variation Loss 其中,α、β、γ是权重系数,用于平衡内容、风格和平滑度。

    5. 优化过程: 从一张随机噪声图像或内容图像本身开始,使用梯度下降优化器(如Adam或L-BFGS)迭代地调整生成图像的像素值,以最小化总损失。每次迭代,我们计算当前生成图像的总损失,然后计算损失对图像像素的梯度,并沿着梯度方向更新像素。这个过程会持续几百到几千次迭代,直到生成图像的风格和内容达到令人满意的平衡。

    6. 图像保存与展示: 优化完成后,将生成的图像保存或展示出来。

    这个过程听起来有点复杂,但实际上,借助TensorFlow或PyTorch这类深度学习框架,很多底层操作都被封装得很好,我们更多的是在搭建计算图和定义损失函数。

    图像风格迁移的核心原理是什么?为什么选择深度学习?

    在我看来,图像风格迁移之所以能够实现,其核心在于深度卷积神经网络(CNNs)对图像特征的“解耦”能力。想想看,一张图片,它既有特定的物体(内容),又有独特的绘画风格(比如梵高的笔触、莫奈的色彩)。传统图像处理很难将这两者清晰地分离并重组。

    核心原理:

    CNNs,特别是那些在ImageNet这样的大型数据集上预训练过的模型,它们在学习识别各种物体时,无意中也学会了如何将图像的“内容”和“风格”编码到不同的层级和不同的表示形式中。

    • 内容表示: CNNs的深层卷积层,由于其感受野更大,并且经过多层抽象,它们更关注图像中高级别的语义信息,比如物体的形状、布局。当我们说“内容损失”时,其实是在比较生成图像和内容图像在这些深层特征空间中的相似度。如果它们的深层特征图很接近,那就意味着它们的内容是相似的。
    • 风格表示: 风格则被认为与图像中不同特征通道之间的统计相关性有关。格拉姆矩阵(Gram Matrix)正是捕捉这种相关性的工具。它通过计算特征图之间内积的方式,量化了不同特征在图像空间中共同出现的频率和模式。浅层到中层的特征图通常包含更多关于纹理、颜色、笔触等风格信息。通过比较生成图像和风格图像在多个层级的格拉姆矩阵,我们就能衡量它们的风格相似度。

    为什么选择深度学习?

    选择深度学习,尤其是CNNs,并非偶然。在我看来,这是目前最自然、最强大的选择,原因有几点:

    1. 强大的特征提取能力: CNNs在图像识别任务中表现出色,这得益于它们能够自动从原始像素中学习到分层的、越来越抽象的特征表示。这种能力是进行内容和风格分离的基础。
    2. 层次化表示: CNN的每一层都捕获了不同粒度的信息。浅层捕获边缘、纹理等低级特征,而深层则捕获更高级的语义概念。这种层次结构恰好与内容和风格的抽象程度相契合。风格更多地体现在局部纹理和全局色彩分布上,而内容则体现在物体的结构和布局上。
    3. 端到端优化: 我们可以直接定义一个损失函数,然后通过反向传播和梯度下降来优化生成图像的像素,而不需要手动设计复杂的特征提取器或规则。这让整个过程变得非常灵活和强大。
    4. 预训练模型的可用性: 像VGG、ResNet这些在ImageNet上预训练的模型,它们已经学习到了非常丰富的通用图像特征,我们可以直接拿来用,省去了从头训练的巨大成本。这就像是站在巨人的肩膀上,直接进行更高级的创作。

    总的来说,深度学习提供了一个强大的框架,能够以一种前所未有的方式理解和操作图像的视觉元素,从而使得像风格迁移这样曾经被认为是“艺术”的任务,变得可以通过算法实现。

    实现图像风格迁移需要哪些Python库和具体步骤?

    实现图像风格迁移,Python生态系统提供了非常成熟且易用的库。我的经验是,TensorFlow(尤其是Keras API)和PyTorch是首选,它们提供了构建和训练神经网络所需的一切。除此之外,还有一些辅助库是必不可少的。

    核心Python库:

    1. TensorFlow / Keras 或 PyTorch: 这是核心的深度学习框架,用于构建、加载模型,进行前向传播和反向传播计算。
      • TensorFlow/Keras: tensorflow.keras.applications.VGG19 用于加载预训练模型,tf.keras.losses.MeanSquaredError 用于计算损失,tf.optimizers.Adam 或 tf.compat.v1.train.Optimizer(对于L-BFGS)用于优化。
      • PyTorch: torchvision.models.vgg19 用于加载模型,torch.nn.MSELoss 用于损失,torch.optim.Adam 或 torch.optim.LBFGS 用于优化。
    2. NumPy: 科学计算的基础库,用于处理图像数据(如将图像转换为数组,进行数值操作)。
    3. Pillow (PIL) 或 OpenCV: 用于图像的加载、保存、大小调整等预处理和后处理操作。PIL.Image 是我常用的。
    4. Matplotlib: 用于可视化,比如显示原始图像、中间结果以及最终的风格迁移图像。

    具体实现步骤(以TensorFlow/Keras为例,PyTorch类似):

    1. 环境准备:

      • 确保Python环境已安装TensorFlow、NumPy、Pillow、Matplotlib。
      • pip install tensorflow numpy pillow matplotlib
    2. 加载和预处理图像:

      • 使用PIL或OpenCV加载内容图像和风格图像。
      • 将图像大小调整到一致(例如,512x512像素),并转换为NumPy数组。
      • 对图像进行归一化处理,使其像素值符合VGG模型输入的范围(通常是减去ImageNet的均值,并转换为BGR格式,如果VGG是基于Caffe训练的)。
      • 将NumPy数组转换为TensorFlow张量。
      import tensorflow as tf
      import numpy as np
      from PIL import Image
      import matplotlib.pyplot as plt
      
      # 图像预处理函数
      def load_img(path_to_img):
          max_dim = 512
          img = Image.open(path_to_img)
          long_dim = max(img.size)
          scale = max_dim / long_dim
          img = img.resize((round(img.size[0] * scale), round(img.size[1] * scale)), Image.LANCZOS)
          img = np.array(img).astype(np.float32)
          img = img[np.newaxis, ...] # Add batch dimension
          return tf.constant(img)
      
      def preprocess_vgg(img):
          # VGG expects input in [0, 255] range, then subtract mean
          # And usually BGR order, but tf.keras.applications handles RGB
          img = tf.keras.applications.vgg19.preprocess_input(img)
          return img
      
      content_path = 'path/to/your/content_image.jpg'
      style_path = 'path/to/your/style_image.jpg'
      
      content_image = load_img(content_path)
      style_image = load_img(style_path)
      
      # Convert to VGG input format
      preprocessed_content = preprocess_vgg(content_image)
      preprocessed_style = preprocess_vgg(style_image)
    3. 加载预训练的VGG模型并定义特征提取器:

      • 加载VGG19模型,指定include_top=False以移除分类层。
      • 选择用于内容和风格损失的中间层。
      # Content layer where content loss will be calculated
      content_layers = ['block5_conv2']
      
      # Style layers where style loss will be calculated
      style_layers = ['block1_conv1', 'block2_conv1', 'block3_conv1', 'block4_conv1', 'block5_conv1']
      
      def vgg_layers(layer_names):
          vgg = tf.keras.applications.VGG19(include_top=False, weights='imagenet')
          vgg.trainable = False # Freeze VGG weights
          outputs = [vgg.get_layer(name).output for name in layer_names]
          model = tf.keras.Model([vgg.input], outputs)
          return model
      
      content_model = vgg_layers(content_layers)
      style_model = vgg_layers(style_layers)
    4. 定义损失函数:

      • 内容损失: 均方误差。
      • 风格损失: 需要先定义格拉姆矩阵计算函数,然后计算均方误差。
      def gram_matrix(input_tensor):
          result = tf.linalg.einsum('bijc,bijd->bcd', input_tensor, input_tensor)
          input_shape = tf.shape(input_tensor)
          num_locations = tf.cast(input_shape[1]*input_shape[2], tf.float32)
          return result / (num_locations)
      
      def style_loss(outputs, targets):
          # outputs and targets are lists of feature maps for style layers
          sl = tf.add_n([tf.reduce_mean((gram_matrix(output) - gram_matrix(target))**2)
                         for output, target in zip(outputs, targets)])
          return sl
      
      def content_loss(outputs, targets):
          return tf.reduce_mean((outputs[-1] - targets[-1])**2) # assuming content_layers has one layer
    5. 计算目标内容和风格特征:

      • 将预处理后的内容图像和风格图像分别通过VGG模型,提取它们各自的特征。
      content_features = content_model(preprocessed_content)
      style_features = style_model(preprocessed_style)
    6. 优化循环:

      • 初始化生成图像(可以是内容图像的副本或随机噪声)。
      • 设置优化器(Adam通常是个不错的选择)。
      • 迭代地计算总损失,并通过梯度下降更新生成图像的像素。
      # Initialize the generated image with content image
      generated_image = tf.Variable(content_image)
      
      # Set up optimizer
      optimizer = tf.optimizers.Adam(learning_rate=0.02, beta_1=0.99, epsilon=1e-1)
      
      # Loss weights
      content_weight = 1e3
      style_weight = 1e-2 # Often lower than content_weight for balance
      
      @tf.function # For performance
      def train_step(image):
          with tf.GradientTape() as tape:
              # Preprocess the generated image for VGG
              preprocessed_gen = preprocess_vgg(image)
      
              # Get features from generated image
              gen_content_features = content_model(preprocessed_gen)
              gen_style_features = style_model(preprocessed_gen)
      
              # Calculate losses
              c_loss = content_loss(gen_content_features, content_features)
              s_loss = style_loss(gen_style_features, style_features)
              total_loss = content_weight * c_loss + style_weight * s_loss
      
          # Compute gradients and apply updates
          grads = tape.gradient(total_loss, image)
          optimizer.apply_gradients([(grads, image)])
          # Ensure pixel values stay in valid range [0, 255]
          image.assign(tf.clip_by_value(image, 0, 255))
          return total_loss
      
      # Training loop
      epochs = 10
      steps_per_epoch = 100
      for n in range(epochs):
          for m in range(steps_per_epoch):
              total_loss = train_step(generated_image)
              if m % 50 == 0:
                  print(f"Epoch {n+1}, Step {m+1}: Total Loss = {total_loss:.2f}")
      
      # Convert back to displayable format
      final_image = generated_image.numpy().squeeze().astype(np.uint8)
      plt.imshow(final_image)
      plt.axis('off')
      plt.show()

      这段代码只是一个骨架,实际实现可能需要更精细的图像处理(如总变差损失、图像反标准化等)和参数调优。但它展示了核心的流程。

    图像风格迁移在实际中有哪些应用案例和发展趋势?

    图像风格迁移,这个技术从诞生之初就带着一种艺术气息,但它的应用远不止于此。在我看来,它正在从一个新奇的“玩具”逐渐发展成为一个实用的工具,甚至影响到我们对数字内容创作的理解。

    实际应用案例:

    1. 艺术创作与数字艺术品: 这是最直接的应用。艺术家可以利用风格迁移工具,将照片转化为各种绘画风格,或者探索不同艺术风格的融合。Prisma这样的手机App就是典型的例子,它让普通用户也能轻松地将照片变成艺术品。
    2. 游戏与虚拟现实(VR/AR): 想象一下,一个游戏场景可以根据玩家的选择实时切换不同的艺术风格,比如从写实风变成卡通风,或者从赛博朋克风变成水墨画风。这能极大地增强沉浸感和可玩性。风格迁移也可以用于快速生成不同风格的游戏纹理和素材。
    3. 电影与视频制作: 风格迁移可以用于电影后期制作,为特定场景或整个影片赋予独特的视觉风格,比如将实拍片段转换为动画风格,或者模拟老电影的胶片效果。视频风格迁移比单张图片更具挑战性,因为它需要保持时间上的一致性。
    4. 广告与营销: 品牌可以利用风格迁移来创作独特且引人注目的广告图片或视频,以吸引目标受众。例如,将产品图片融入到某种特定的艺术风格中,以增强品牌形象。
    5. 数据增强: 在某些计算机视觉任务中,数据集可能不够大。通过风格迁移,我们可以为现有图片生成多种风格的版本,从而扩充训练数据,提高模型的泛化能力。
    6. 教育与文化传播: 风格迁移可以用来模拟不同历史时期或不同流派的艺术风格,帮助学生更好地理解艺术史和艺术鉴赏。

    发展趋势:

    1. 实时与高效: 传统的基于优化迭代的方法速度较慢。现在的趋势是开发基于前馈网络(Feed-forward Networks)的方法,如Perceptual Losses、Conditional Instance Normalization (AdaIN) 或 CycleGAN等,这些模型一旦训练完成,就能在毫秒级内完成风格迁移,这对于移动应用和视频处理至关重要。
    2. 更高分辨率与视频一致性: 随着计算能力的提升和新算法的出现,风格迁移正在向更高分辨率的图像和视频发展,同时解决视频帧之间风格不一致、闪烁等问题。
    3. 可控性与局部风格迁移: 用户不仅希望整体风格迁移,还希望能够精确控制哪些区域应用风格,或者混合多种风格。这涉及到语义分割、注意力机制等更高级的技术。
    4. 与生成对抗网络(GANs)及扩散模型(Diffusion Models)的结合: 风格迁移与GANs的结合产生了CycleGAN等,可以实现不成对图像的风格转换。而近期大火的扩散模型,其强大的生成能力也为风格迁移带来了新的可能性,例如通过文本提示控制风格,或者生成更具创意和多样性的风格化图像。
    5. 3D风格迁移: 将2D图像的风格迁移扩展到3D模型、点云或体素数据,为游戏、电影和工业设计带来更多创意空间。
    6. 伦理与版权: 随着技术越来越强大,关于版权、原创性和“深度伪造”(Deepfake)的伦理问题也日益突出,这需要行业和法律界共同探讨解决方案。

    总的来说,图像风格迁移已经从一个单纯的学术研究,发展成为一个充满活力的应用领域。它在不断地挑战我们对“创造力”和“艺术”的定义,并为数字内容的生产提供了越来越强大的工具。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发
    相关文章 更多
    精品专题 更多
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    IOS软件

    正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

    AI

    正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

    Mac软件 更多
    Aperty macOS版
    Aperty macOS版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw macOS版
    AionClaw macOS版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy macOS版
    Loomy macOS版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。

    AirBuddy 3 macOS版
    AirBuddy 3 macOS版

    AirBuddy 3 是面向 macOS 的蓝牙外设增强工具,可集中查看 AirPods、Beats 与苹果设备电量,提供快速连接、播放控制、电量提醒、桌面小组件和多台 Mac 外设接力等功能。

    AirServer macOS版
    AirServer macOS版

    AirServer macOS版可把 Mac 转换为无线投屏接收端,通过 AirPlay 或 Google Cast 接收手机、平板和电脑画面,并支持多设备同时连接、高清镜像及会话录制,适合家庭娱乐、课堂教学、会议演示和应用展示。

    AnyDesk macOS版
    AnyDesk macOS版

    AnyDesk macOS版是一款适用于远程办公、设备维护和客户支持的远程桌面工具,可连接并操作异地计算机,支持文件传输、无人值守访问、会话权限控制及跨平台协作。

    WINDOWS 更多
    讯飞绘文 网页版
    讯飞绘文 网页版

    讯飞绘文网页版是科大讯飞推出的AI图文创作与内容运营工具,覆盖热点选题、文章生成、稿件校对、智能配图、排版发布和数据复盘等环节,适合自媒体创作者及内容团队在线使用。

    Maya(Autodesk Maya) Windows版
    Maya(Autodesk Maya) Windows版

    Autodesk Maya 是面向影视、电视、动画和游戏行业的专业三维制作软件,集多边形与 NURBS 建模、角色绑定、关键帧和动作捕捉动画、Bifrost 特效模拟、材质开发及 Arnold 渲染于一体,

    Aperty Windows版
    Aperty Windows版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw Windows版
    AionClaw Windows版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy Windows版
    Loomy Windows版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。

    AirServer Windows版
    AirServer Windows版

    AirServer Windows版可把电脑变成AirPlay、Google Cast和Miracast无线投屏接收端,适合会议演示、课堂教学及家庭大屏分享。发送设备通常无需另装客户端,并可同时接收和智能排列多个镜像会话。