Category: AI项目和框架

  • IP-Adapter – 腾讯开源的文本到图像扩散模型适配器

    IP-Adapter是什么

    IP-Adapter(Image Prompt Adapter)是一种专门为预训练的文本到图像扩散模型(如Stable Diffusion)设计的适配器,目的是让文生图模型能够利用图像提示(image prompt)来生成图像。该方法是由腾讯AI实验室的研究人员提出的,旨在解决仅使用文本提示(text prompt)生成理想图像时的复杂性和挑战。

    IP-Adapter

    在传统的文本到图像扩散模型中,用户需要通过编写文本提示来指导模型生成图像,这往往需要复杂的提示工程。而IP-Adapter通过引入图像提示,使得模型能够直接理解图像内容,从而更有效地生成与用户意图相符的图像。这种方法的核心在于它采用了一种解耦的交叉注意力机制,这种机制将文本特征和图像特征的处理分开,使得模型能够更好地理解和利用图像信息。

    IP-Adapter的官网入口

    IP-Adapter

    IP-Adapter的功能特色

    • 图像提示集成:IP-Adapter允许模型接收图像作为输入,与文本提示一起,指导图像生成过程。这种方法利用了图像的丰富信息,使得生成的图像更加精确地反映用户的意图。
    • 轻量级适配器:尽管IP-Adapter的功能强大,但其参数量相对较小(约22M参数),在计算资源上更加高效,易于部署和使用。
    • 泛化能力:IP-Adapter在训练后可以轻松地应用于其他基于相同基础模型微调的自定义模型,可以在不同的应用场景中灵活使用。
    • 多模态生成:IP-Adapter支持同时使用文本提示和图像提示进行图像生成,这为用户提供了更多的创作自由度,可以生成更加丰富和多样化的图像内容。
    • 结构控制兼容性:IP-Adapter与现有的结构控制工具(如ControlNet)兼容,允许用户在图像生成过程中加入额外的结构条件,如用户绘制的草图、深度图、语义分割图等,以实现更精细的图像控制。
    • 无需微调:IP-Adapter的设计避免了对原始扩散模型的微调,这意味着用户可以直接使用预训练模型,而无需进行耗时的微调过程。
    • 图像到图像和修复:IP-Adapter不仅支持文本到图像的生成,还可以用于图像到图像的转换和图像修复任务,通过替换文本提示为图像提示来实现。

    IP-Adapter的工作原理

    IP-Adapter的工作原理基于解耦的交叉注意力机制,这一机制允许模型同时处理文本和图像信息,而不会相互干扰。

    IP-Adapter

    以下是IP-Adapter工作原理的详细步骤:

    1. 图像编码:首先,IP-Adapter使用预训练的CLIP(Contrastive Language-Image Pre-training)图像编码器来提取图像提示的特征。CLIP模型通过对比学习在大量图像和文本对上训练,能够理解图像内容并生成与图像相关的文本描述。在IP-Adapter中,CLIP编码器被用来将图像转换为一系列特征向量。
    2. 特征投影:为了将图像特征与文本特征的维度对齐,IP-Adapter包含一个小型的可训练投影网络,该网络将CLIP编码器的全局图像嵌入转换为与文本特征相同维度的特征序列。
    3. 解耦的交叉注意力:在预训练的文本到图像扩散模型(如Stable Diffusion)中,文本特征通过交叉注意力层与模型的内部状态进行交互。IP-Adapter在每个交叉注意力层中添加了一个新的层,专门用于处理图像特征。这样,文本特征和图像特征可以分别通过各自的交叉注意力层进行处理,避免了直接合并可能导致的信息损失。
    4. 训练过程:在训练阶段,IP-Adapter只优化新添加的交叉注意力层的参数,而保持原始的扩散模型参数不变。这样,IP-Adapter可以在不改变原始模型结构的情况下,学习如何将图像特征融入到图像生成过程中。
    5. 生成过程:在生成图像时,IP-Adapter将文本提示和图像提示的特征输入到模型中。模型首先通过文本交叉注意力层处理文本特征,然后通过图像交叉注意力层处理图像特征。最后,这些特征被合并并输入到扩散模型的去噪网络中,逐步生成图像。
    6. 结构控制:IP-Adapter与现有的结构控制工具(如ControlNet)兼容,这意味着用户可以在生成过程中添加额外的结构条件,如草图、深度图等,以实现更精细的图像控制。
  • Follow Your Pose – 开源的姿态全可控视频生成框架

    Follow Your Pose是什么

    Follow Your Pose是由清华大学、香港科技大学、腾讯AI Lab以及中科院的研究人员开源的一个基于文本到视频生成的框架,允许用户通过文本描述和指定的人物姿态来生成视频。该框架采用了两阶段的训练策略,能够生成与文本描述和姿态序列高度一致的视频,同时保持视频中人物动作的真实性和连贯性。

    FollowYourPose框架

    Follow Your Pose的官网入口

    Follow Your Pose的功能特色

    • 文本到视频生成:用户可以输入文本描述,框架会根据这些描述生成相应的视频内容,如角色的动作、场景背景以及整体的视觉风格。
    • 姿态控制:用户可以通过指定人物的姿态序列来控制视频中角色的动作,以精确地控制角色在视频中的每一个动作细节。
    • 时间连贯性:框架能够生成时间上连贯的视频,确保视频中的动作和场景变化自然流畅,没有突兀的跳跃或闪烁。
    • 多样化角色和背景生成:框架能够生成具有不同外观、风格和背景的视频,包括但不限于现实风格、卡通风格、赛博朋克风格等。
    • 多角色视频生成:框架支持多角色视频的生成,可以在同一个视频中展示多个角色,并且能够根据文本描述指定每个角色的身份和动作。
    • 风格化视频生成:用户可以通过添加风格描述(如“卡通风格”、“赛博朋克风格”等)来生成具有特定艺术风格的视频。

    Follow Your Pose的工作原理

    FollowYourPose工作原理

    Follow Your Pose的工作原理主要基于一个两阶段的训练过程,旨在结合文本描述和姿态信息来生成视频。以下是其工作原理的详细步骤:

    1. 第一阶段:姿态控制的文本到图像生成
      • 姿态编码器:首先,框架使用一个零初始化的卷积编码器来学习姿态信息。这个编码器从输入的姿态序列中提取关键点特征。
      • 特征注入:提取的姿态特征被下采样到不同的分辨率,并以残差连接的方式注入到预训练的文本到图像(T2I)模型的U-Net结构中。这样做可以在保持原有模型的图像生成能力的同时,引入姿态控制。
      • 训练:在这个阶段,模型仅使用姿态图像对进行训练,目的是学习如何根据文本描述和姿态信息生成图像。
    2. 第二阶段:视频生成
      • 视频数据集:为了学习时间上的连贯性,框架在第二阶段使用了一个没有姿态标注的视频数据集(如HDVLIA)进行训练。
      • 3D网络结构:将预训练的U-Net模型扩展为3D网络,以便处理视频输入。这涉及到将第一层卷积扩展为伪3D卷积,并添加时间自注意力模块来模拟时间序列。
      • 跨帧自注意力:为了进一步提高视频的连贯性,框架引入了跨帧自注意力(cross-frame self-attention)模块,这有助于在视频帧之间保持内容的一致性。
      • 微调:在这个阶段,只有与时间连贯性相关的参数(如时间自注意力和跨帧自注意力)会被更新,而其他参数(如伪3D卷积层和前馈网络FFN)保持不变。
    3. 生成过程
      • 文本和姿态输入:在推理阶段,用户输入描述目标角色外观和动作的文本,以及一个表示动作序列的姿态序列。
      • 视频生成:模型根据这些输入生成视频。在生成过程中,大多数预训练的稳定扩散模型参数被冻结,只有与时间连贯性相关的模块参与计算。

    通过这种两阶段的训练策略,Follow Your Pose能够有效地从易于获取的数据集中学习,生成具有高度控制性和时间连贯性的视频。

  • Lepton Search – 开源的对话式AI搜索引擎项目

    Lepton Search是什么

    Lepton Search是由原阿里巴巴技术副总裁和AI科学家贾扬清创办的Lepton AI应用构建平台开源的一个对话式AI搜素引擎,该项目基于调用Lepton平台上的云端人工智能模型和Bing搜索的API密钥,仅用不到 500 行 Python 代码就构建了一个类似于Perplexity AI的对话搜索引擎。

    Lepton Search

    Letpton Search的功能特色

    • 免费开源:Lepton Search 的代码是开源的,这意味着开发者可以自由地使用、修改和分发这些代码,促进了技术的共享和创新。
    • 对话式搜索:Lepton Search 允许用户通过自然语言与搜索引擎进行交互,提供更直观和友好的搜索体验。
    • 内置大语言模型(LLM)支持:Lepton Search 集成了大语言模型,这使得它能够理解和生成自然语言,从而提供更准确的搜索结果。
    • 搜索引擎集成:Lepton Search 内置了搜索引擎功能,能够快速检索和提供相关信息,通过调用外部搜索引擎API(必应搜索API)来实现。
    • 自定义UI界面:开发者可以根据自己的需求定制Lepton Search 的用户界面,以适应不同的应用场景和用户偏好。
    • 搜索结果共享与缓存:Lepton Search 支持将搜索结果进行共享,并且可以缓存搜索结果,提高用户体验和搜索效率。
    • 云原生平台:Lepton Search 运行在Lepton AI的云平台上,具有可扩展性、灵活性和安全性,适合处理大规模AI任务。

    Lepton Search

    Lepton Search的官网入口

    如何使用Lepton Search

    普通用户可以通过Lepton Search在线网页版体验,开发者也可以自行部署,具体步骤如下:

    1. 克隆Lepton Search项目:git clone https://github.com/leptonai/search_with_lepton.git
    2. 运行pip install -U leptonai && lep login命令自动设置LLM和KV函数
    3. 设置 Bing 密钥:export BING_SEARCH_V7_SUBSCRIPTION_KEY=YOUR_BING_SUBSCRIPTION_KEY
    4. 构建前端网络:cd web && npm install && npm run build
    5. 运行后台服务器:BACKEND=BING python search_with_lepton.py
  • Vary-toy:开源的小型视觉多模态模型

    Vary-toy是什么

    Vary-toy是一个小型的视觉语言模型(LVLM),由来自旷视、国科大、华中大的研究人员共同提出,旨在解决大型视觉语言模型(LVLMs)在训练和部署上的挑战。对于资源有限的研究者来说,大型模型通常拥有数十亿参数,难以在消费级GPU上(如GTX 1080Ti)进行训练和部署。Vary-toy的核心目标便是让研究人员能够在有限的硬件资源下,体验到当前LVLMs的所有功能(文档OCR、视觉定位、图像描述、视觉文答等)。

    Vary-toy

    Vary-toy的主要功能

    • 文档级光学字符识别(OCR):Vary-toy能够识别和理解文档图像中的文字,这在处理扫描文档、PDF文件等场景中非常有用。
    • 图像描述:模型能够生成图像的描述性文本,这对于图像内容的理解和生成图像描述任务(如VQA)至关重要。
    • 视觉问答(VQA):Vary-toy能够回答关于图像内容的问题,这涉及到理解图像的视觉信息以及与之相关的文本信息。
    • 对象检测:通过强化的视觉词汇,Vary-toy具备了自然对象感知(定位)的能力,能够在图像中识别和定位物体。
    • 图像到文本的转换:Vary-toy可以将图像内容转换为结构化的文本格式,例如将PDF图像转换为Markdown格式。
    • 多模态对话:Vary-toy模型支持多模态对话,能够理解和生成与图像内容相关的对话。

    Vary-toy

    Vary-toy的官方入口

    Vary-toy的技术原理

    Vary-toy的工作原理基于几个关键的技术和设计决策,这些决策共同作用于提高模型在视觉语言任务上的性能,同时保持模型的小型化。以下是Vary-toy工作原理的主要组成部分:

    1. 视觉词汇生成:Vary-toy利用一个小型的自回归模型(OPT-125M)来生成新的视觉词汇网络。这个网络通过处理PDF图像文本对和自然图像中的对象检测数据来学习如何有效地编码视觉信息。与传统的Vary模型相比,Vary-toy在生成视觉词汇时,不再将自然图像作为负样本,而是将其视为正样本,从而更充分地利用网络的容量。
    2. 视觉词汇与CLIP的融合:在生成新的视觉词汇后,Vary-toy将其与原始的CLIP(Contrastive Language-Image Pre-training)模型相结合。CLIP是一个强大的视觉-语言模型,能够将图像和文本映射到共享的嵌入空间。通过这种方式,Vary-toy能够利用CLIP的图像理解能力,同时通过新的视觉词汇网络增强对文本信息的处理。
    3. 多任务预训练:Vary-toy在预训练阶段采用了多任务学习策略,这意味着模型在训练过程中同时处理多种类型的数据,如图像描述、PDF OCR、对象检测、纯文本对话和视觉问答(VQA)。这种多任务训练有助于模型学习更丰富的视觉和语言表示,提高其在各种下游任务上的泛化能力。
    4. 模型结构:Vary-toy遵循Vary的管道设计,但在结构上有所调整。当输入图像时,新的视觉词汇分支会将图像调整到1024×1024的分辨率,而CLIP分支则通过中心裁剪获取224×224的图像。两个分支输出的图像特征被合并,作为输入到1.8B参数的Qwen-1.8B语言模型中。
    5. 数据输入格式:为了适应不同的任务,Vary-toy需要处理多种输入格式。例如,对于PDF图像-文本对,模型使用了一个特定的提示(如“Provide the OCR results of this image.”)来指导输出正确的结果。对于对象检测任务,模型使用不同的提示模板来处理图像中的多个对象。
    6. 微调(SFT):在预训练之后,Vary-toy通过指令调优(SFT)阶段进一步优化模型。这个阶段使用LLaVA-80K数据集,这是一个包含详细描述和提示的图像数据集,由GPT4生成。这有助于模型更好地理解和生成与图像内容相关的文本。

    通过这些工作机制,Vary-toy能够在保持模型小型化的同时,实现对复杂视觉语言任务的有效处理。这种设计使得Vary-toy成为一个在资源受限环境中进行视觉语言研究的有力工具。

    如何使用Vary-toy

    1. 访问Vary-toy的官方demo体验地址(vary.xiaomy.net
    2. 点击上传一张图片或者在左侧选择示例图片
    3. 输入提示指令如描述图像内容、检测图像中的物体等
    4. 等待模型生成结果即可
  • ActAnywhere – Adobe推出的AI视频背景生成模型

    ActAnywhere是什么

    ActAnywhere是一个由斯坦福大学和Adobe Research的研究人员共同开发的视频生成模型,旨在解决视频背景生成的问题,特别是在需要将前景主体(如人物)与新背景无缝结合的场景中。这个模型适用于电影制作和视觉效果(VFX)领域,它能够自动化地创建与前景主体运动相协调的视频背景,从而节省了传统手动合成过程中的大量时间和精力。

    ActAnywhere

    官方项目主页:https://actanywhere.github.io/

    Arxiv论文地址:https://arxiv.org/abs/2401.10822

    ActAnywhere的功能特色

    • 前景主体与背景融合:ActAnywhere能够根据前景主体的运动和外观,自动生成与之相匹配的背景,使得主体与背景之间的交互看起来自然和连贯。
    • 条件帧驱动的背景生成:用户可以提供一个描述新场景的图像(条件帧),ActAnywhere会根据这个条件帧生成视频背景。这允许用户指定特定的背景元素,如特定的建筑、自然景观或室内环境。
    • 时间一致性:通过使用时间自注意力机制,ActAnywhere确保生成的视频在时间序列上保持一致性,包括相机运动、光照变化和阴影效果。
    • 自监督学习:ActAnywhere在大规模人类-场景交互视频数据集上进行自监督训练,这意味着它能够在没有人工标注的情况下学习如何生成视频背景。
    • 零样本学习:ActAnywhere能够在没有额外训练的情况下,对新的、未见过的数据(如非人类主体)进行生成,这表明模型能够从训练数据中学习到通用的背景生成策略。

    ActAnywhere的工作原理

    ActAnywhere的工作原理

    ActAnywhere通过以下的步骤和组件,能够生成具有高度现实感和时间连贯性的视频背景:

    1. 数据准备
      • 使用前景主体分割算法(如Mask R-CNN)从输入视频中获取前景主体的分割序列(S)和对应的掩膜(M)。
      • 引入一个条件帧(c),这是一个描述所需生成背景的图像,可以是背景图像或包含前景和背景的复合帧。
    2. 特征编码
      • 使用预训练的变分自编码器(VAE)将前景主体分割序列编码为潜在特征(ˆS)。
      • 将前景掩膜序列下采样并与潜在特征对齐,以匹配特征维度。
    3. 扩散过程
      • 在训练过程中,使用VAE编码器将原始视频帧编码为潜在表示(Z),然后在正向扩散过程中逐渐添加高斯噪声。
      • 在测试时,潜在表示(Z0)初始化为高斯噪声,并通过逆向扩散过程逐步去噪,以生成最终的视频帧。
    4. 时间注意力机制
      • 在去噪的U-Net中插入一系列运动模块,这些模块包含特征投影层和1D时间自注意力块,以实现时间上的连贯性。
      • 条件帧的特征(Fc)通过CLIP图像编码器提取,并注入到U-Net的交叉注意力层中,以确保生成的视频背景与条件帧保持一致。
    5. 训练目标
      • 使用简化的扩散目标进行训练,即预测添加的噪声。通过最小化预测噪声与真实噪声之间的差异来训练模型。
    6. 数据增强和处理
      • 在训练过程中,为了处理不完美的分割掩膜,应用随机矩形裁剪和图像腐蚀操作。
      • 在测试时,通过随机丢弃分割、掩膜或条件帧来实现无分类器的引导。
    7. 模型训练
      • 在大规模人类-场景交互视频数据集(HiC+)上进行训练,该数据集包含240万个视频。
      • 使用AdamW优化器,固定学习率为3e-5,冻结共享的VAE和CLIP编码器,微调U-Net。
    8. 生成过程
      • 在测试时,将前景主体序列和条件帧输入到训练好的模型中,模型将生成与前景主体运动相协调的视频背景。

    ActAnywhere的应用场景

    • 视频背景替换:ActAnywhere可以将视频中的前景主体放置到全新的背景中,这对于电影制作、广告、虚拟现实(VR)和增强现实(AR)等领域非常有用。例如,可以将演员置于虚构的场景中,或者在不实际拍摄的情况下模拟特定环境。
    • 视觉效果增强:在视觉效果(VFX)制作中,ActAnywhere可以用来生成复杂的背景效果,如动态天气、光影变化、人群互动等,而无需实际拍摄这些元素。
    • 创意内容制作:艺术家和内容创作者可以使用ActAnywhere来快速尝试和实现他们的创意想法,例如,将角色置于不同的历史时期或未来世界,或者与虚构的生物互动。
    • 教育和培训:在教育领域,ActAnywhere可以用来创建模拟场景,帮助学生更好地理解复杂的概念或历史事件,或者用于安全培训,模拟紧急情况。
    • 游戏和娱乐:游戏开发者可以利用ActAnywhere生成动态背景,为玩家提供更加丰富和真实的游戏体验。同时,它也可以用于电影预告片、音乐视频和其他娱乐内容的制作。
  • DemoFusion – 免费开源的图像分辨率超清增强框架

    DemoFusion是什么

    DemoFusion是一个旨在低成本进行高分辨率图像生成的技术框架,通过扩展现有的开源生成人工智能模型(如Stable Diffusion),使得这些模型能够在不进行额外训练和不产生过高内存需求的情况下,将模糊的低分辨率图像变得更加高清(放大4倍、16倍甚至更高分辨率)。DemoFusion采用渐进式增强、跳跃残差和扩张采样机制来实现更高分辨率的图像生成,对于资源有限的用户来说,达成类似于Magnific AI的解决方案。

    DemoFusion

    DemoFusion的官网入口

    DemoFusion Gradio Demo

    DemoFusion的功能特色

    • 高分辨率图像生成:DemoFusion能够将预训练的GenAI模型(如SDXL)的图像生成能力扩展到更高的分辨率,例如从1024×1024像素提升到4096×4096像素或更高,而无需对模型进行额外的训练。
    • 渐进式上采样:通过逐步增加图像分辨率的方式,DemoFusion允许用户在生成过程中逐步细化图像细节,同时保持图像的整体质量和语义一致性。
    • 全局语义一致性:通过跳跃残差和扩张采样机制,DemoFusion能够在生成高分辨率图像时保持全局的语义一致性,避免局部区域的重复和结构扭曲。
    • 快速迭代:由于渐进式上采样的特性,DemoFusion允许用户在生成过程中快速预览低分辨率的结果,从而在等待高分辨率图像生成完成之前,对图像的布局和风格进行快速迭代和调整。
    • 无需额外硬件:DemoFusion能够在消费级的硬件(如RTX 3090 GPU)上运行,这意味着用户不需要昂贵的硬件投资就能生成高分辨率的图像。
    • 易于集成:DemoFusion作为一个插件式的框架,可以轻松地与现有的AI生成模型集成,使得研究人员和开发者能够快速地将高分辨率图像生成能力应用到他们的项目中。
    • 丰富的应用场景:DemoFusion不仅适用于艺术创作,还可以用于各种需要高分辨率图像的领域,如游戏开发、电影制作、虚拟现实等。

    DemoFusion的工作原理

    DemoFusion的工作原理基于几个关键步骤和机制,这些步骤共同作用以生成高分辨率的图像。以下是其主要的工作流程:

    1. 初始化(Initialization)
      • DemoFusion首先从一个低分辨率的图像开始,这个图像是通过一个预训练的潜在扩散模型(如SDXL)生成的。
    2. 渐进式上采样(Progressive Upscaling)
      • 从低分辨率图像开始,DemoFusion通过迭代过程逐步增加图像的分辨率。这个过程涉及到将当前分辨率的图像上采样到更高的分辨率,然后通过扩散过程引入噪声,最后通过去噪过程恢复图像。这个过程重复进行,每次都在更高的分辨率上进行,以逐渐增加图像的细节。
    3. 跳跃残差(Skip Residual)
      • 在去噪过程中,DemoFusion利用之前迭代步骤中的噪声反转表示作为跳跃残差。这有助于在生成过程中保持图像的全局结构,同时允许局部细节的优化。
    4. 扩张采样(Dilated Sampling)
      • 为了增强每个去噪路径的全局上下文,DemoFusion引入了扩张采样。这意味着在潜在空间中,通过扩张采样来获取全局表示,然后这些全局表示被用于指导局部去噪路径,以生成具有全局一致性的图像内容。
    5. 局部和全局路径融合(Fusing Local and Global Paths)
      • 在每个迭代步骤中,DemoFusion将局部去噪路径(通过扩张采样得到的局部潜在表示)和全局去噪路径(通过跳跃残差得到的全局潜在表示)结合起来,以生成最终的高分辨率图像。
    6. 解码(Decoding)
      • 最后,通过一个解码器将最终的潜在表示转换回图像空间,得到高分辨率的输出图像。

    DemoFusion的工作原理

    DemoFusion的这些步骤和机制共同作用,使得它能够在不进行额外训练的情况下,有效地生成具有丰富细节和良好全局一致性的高分辨率图像。

    如何使用DemoFusion

    1. 访问DemoFusion的Replicate或Hugging Face运行地址
    2. 上传你要放大的图片或使用示例图片
    3. 输入prompt提示词描述图片画面
    4. 调节Seed值并设置Demofusion参数
    5. 最后点击Run运行,等待图片高清放大

    DemoFusion Hugging Face

  • Real-ESRGAN:腾讯推出的开源图像分辨率提升模型

    Real-ESRGAN是什么

    Real-ESRGAN(Real-World Blind Super-Resolution with Pure Synthetic Data)是由腾讯的ARC实验室推出的一个开源深度学习模型,专门用于处理和提升低分辨率图像到高分辨率图像的质量。这个模型的特点是能够在没有真实高分辨率图像作为参考的情况下,通过合成的退化过程来训练,从而模拟现实世界中的图像退化。这种方法被称为“盲超分辨率”(blind super-resolution),因为它不需要知道图像是如何从高分辨率退化到低分辨率的。

    Real-ESRGAN

    Real-ESRGAN的功能特色

    • 图像质量提升:将低分辨率的图像转换为高分辨率的图像,同时保持或增强图像的细节和纹理,减少模糊和噪点。
    • 去除伪影:在图像放大过程中,Real-ESRGAN能够识别并减少常见的图像伪影,如振铃(ringing)和过冲(overshoot)。
    • 模拟真实世界退化:通过高阶退化模型,Real-ESRGAN能够模拟现实世界中的多种图像退化过程,如相机模糊、传感器噪声、锐化、JPEG压缩等。
    • 无需真实高分辨率图像:Real-ESRGAN的训练不依赖于真实高分辨率图像,而是通过合成的退化过程来生成训练数据,这使得模型能够在没有真实高分辨率图像的情况下进行训练。
    • 增强图像细节:在提升分辨率的同时,Real-ESRGAN能够增强图像中的局部细节,如纹理、边缘和轮廓,使得放大后的图像更加清晰和自然。

    Replicate运行Real-ESRGAN

    Real-ESRGAN的官方入口

    Real-ESRGAN的工作原理

    Real-ESRGAN的工作原理基于深度学习和生成对抗网络(GAN)的框架,具体包括以下几个关键步骤:

    Real-ESRGAN原理

    1. 数据合成:由于Real-ESRGAN训练时不使用真实的高分辨率图像,它首先需要合成训练数据。这通过模拟现实世界中的图像退化过程来实现,包括模糊、下采样、噪声添加和JPEG压缩等。这些过程模拟了从高分辨率图像到低分辨率图像的退化路径。为了增加多样性,Real-ESRGAN采用了高阶退化模型,即通过多次重复这些退化过程来生成训练样本。
    2. 模型架构:Real-ESRGAN使用了类似于ESRGAN的生成器网络,这是一个深度卷积神经网络(CNN),包含多个残差密集块(Residual-in-Residual Dense Blocks, RRDBs)。这个网络负责从低分辨率图像恢复出高分辨率图像。为了提高判别器的能力,Real-ESRGAN还采用了一个带有谱归一化(Spectral Normalization, SN)的U-Net判别器。
    3. 训练过程:训练分为两个阶段。首先,使用L1损失函数训练一个以峰值信噪比(PSNR)为导向的模型(Real-ESRNet)。然后,这个模型被用作生成器的初始化,并结合L1损失、感知损失(基于VGG网络的特征图)和GAN损失(对抗损失)来训练Real-ESRGAN。这种结合损失的方法旨在在提升图像细节的同时,保持图像的真实感。
    4. 谱归一化:为了稳定训练过程并提高判别器的性能,Real-ESRGAN在U-Net判别器中使用了谱归一化。这种技术有助于防止训练过程中的不稳定性和过拟合,同时能够提供更准确的梯度反馈,帮助生成器学习如何产生更逼真的图像。
    5. 生成高分辨率图像:在训练完成后,Real-ESRGAN的生成器网络能够接收低分辨率图像作为输入,并输出相应的高分辨率图像。这个过程中,模型会尝试恢复图像的细节,同时减少由于退化过程引入的伪影。
    6. 评估和优化:训练完成后,Real-ESRGAN的性能通过在多个真实世界数据集上的测试来评估。这包括使用非参考图像质量评估指标(如NIQE)和视觉比较。根据评估结果,可以对模型进行进一步的优化和调整。

    Real-ESRGAN的应用场景

    • 数字图像恢复:在数字媒体领域,Real-ESRGAN可以用来提升老照片、扫描文档、压缩图像等的质量,恢复丢失的细节。
    • 视频增强:在视频制作和后期处理中,Real-ESRGAN可以用来提升视频的分辨率,使得在大屏幕上播放时图像更加清晰。
    • 社交媒体内容处理:社交媒体平台上的图片和视频往往因为压缩而质量下降,Real-ESRGAN可以帮助用户恢复和提升这些内容的质量。
    • 监控视频分析:在监控系统中,Real-ESRGAN可以用来提高监控摄像头捕获的图像分辨率,帮助更好地识别细节,这对于安全监控和事件分析至关重要。
    • 医学图像处理:在医学领域,Real-ESRGAN可以用来增强医学扫描图像,如MRI、CT扫描等,帮助医生更清晰地观察和诊断。
  • DDColor – 阿里推出的AI图像上色框架,将黑白图片变彩色

    DDColor是什么

    DDColor是阿里达摩院的研究人员推出的一个开源的AI图像着色框架,可以一键将黑白图片上色变为全彩图像。该方法通过使用双解码器架构(像素解码器和颜色解码器)来实现对灰度图像的自动着色,使得生成的彩色图像更加逼真和生动,旨在解决传统图像着色方法中存在的多模态不确定性和高度不适定性问题。

    DDColor

    DDColor的工作原理

    DDColor的工作原理基于一个端到端的深度学习模型,它通过两个主要的解码器组件来实现图像的着色过程。DDColor的工作原理以下是DDColor的核心工作流程:

    1. 特征提取:首先,使用一个预训练的图像分类模型(如ConvNeXt)作为编码器,从输入的灰度图像中提取高级语义特征。这些特征包含了图像的结构、纹理和对象信息。
    2. 像素解码器:编码器提取的特征被送入像素解码器,该解码器由一系列上采样层组成,逐步恢复图像的空间分辨率。每个上采样层都与编码器的对应层通过跳跃连接(shortcut connection)相连,以便在恢复空间结构的同时保留细节信息。
    3. 颜色解码器:颜色解码器接收来自像素解码器的多尺度视觉特征,并生成颜色查询。这些颜色查询是学习得到的,用于表示图像中不同区域的颜色。颜色解码器通过交叉注意力机制将颜色查询与图像特征相匹配,从而生成与图像内容相匹配的颜色。
    4. 交叉注意力与自注意力机制:在颜色解码器中,交叉注意力层用于建立颜色查询与图像特征之间的关联,而自注意力层则进一步细化这些颜色查询,使其更加精确地反映图像的语义内容。
    5. 颜色丰富度损失:为了增强生成图像的颜色丰富度,DDColor引入了一个基于颜色平面标准差和均值的颜色丰富度损失函数。这个损失函数鼓励模型生成更加多彩和生动的图像。
    6. 融合与输出:最后,像素解码器和颜色解码器的输出通过一个融合模块结合起来,生成最终的彩色图像。这个融合过程通过简单的点积操作实现,然后通过一个1×1卷积层生成最终的AB(色相和饱和度)通道。
    7. 训练与优化:整个网络在训练过程中,通过最小化像素损失、感知损失、对抗损失和颜色丰富度损失来优化模型。这些损失函数共同作用,确保生成的图像在视觉上逼真,同时保持语义上的一致性。

    DDColor的官方入口

    DDColor Replicate

    如何使用DDColor

    1. 访问DDColor的ModelScope魔搭社区或Replicate运行地址
    2. 上传你的黑白图片或选择示例照片
    3. 点击执行测试,等待图片上色即可
  • Screenshot to Code – AI将截图转换为网页代码的开源项目

    Screenshot to Code是什么

    Sscreenshot to Code是一个开源的项目,利用人工智能技术(GPT-4V 和 DALL-E 3)将用户的屏幕截图转换为前端网页代码,已在GitHub上斩获3.4万星标。项目的核心功能是自动化网页设计的编码过程,使得开发者能够通过提供网页的截图,快速生成相应的HTML、CSS和JavaScript代码,节省前端开发人员的时间和精力。

    Screenshot to Code

    官网入口:https://screenshottocode.com/

    GitHub代码库:https://github.com/abi/screenshot-to-code

    Screenshot to Code的主要功能

    • 智能代码生成:利用GPT-4 Vision模型,项目能够分析用户提供的屏幕截图,并自动生成相应的HTML、CSS 和 JavaScript 代码,可以快速将设计稿转换为可运行的网页代码。
    • 相似图像生成:项目还结合了DALL-E 3的图像生成能力,能够根据生成的HTML代码中的<img>标签,自动创建与原始截图相似的图像,并将这些图像嵌入到网页中,以保持页面的视觉一致性。
    • 实时代码更新:用户可以在应用程序中实时查看生成的代码,并且可以通过与AI的交互来调整样式或更新代码中缺失的部分,以满足特定的设计要求。
    • 灵活的配置选项:应用程序提供了配置选项,允许用户选择使用的前端技术(如HTML + Tailwind、React + Tailwind、Bootstrap、Vue + Tailwind)以及是否启用DALL-E图像生成和功能
    • URL网页克隆:除开手动上传截图外,允许用户输入 URL 自动截图以克隆在线网站。
    • 编辑生成的代码:Screenshot to Code 内置了代码编辑器允许开发者对生成的代码进行修改,可以微调输出、纠正任何异常或添加个人代码风格
    • 效果预览和代码导出:该工具提供实时预览功能,用户能够实时查看编辑和修改的效果,并支持下载或复制最终代码
    • 支持本地部署:用户可以选择将该项目在本地电脑上部署,以便在自己的计算机上运行,这为那些希望在本地环境中使用该工具的用户提供了便利。

    Screenshot to Code

    如何使用Screenshot to Code

    方法一:在线托管版运行Screenshot to Code

    1. 访问Screenshot to Code的官网(screenshottocode.com),然后注册/登录
    2. 点击左侧的设置图标,输入OpenAI API key
    3. 选择你要生成的代码所用的技术/框架,上传或粘贴你的截图
    4. 等待识别和生成代码,生成后的代码可以更新修改和下载

    方法二:本地部署运行Screenshot to Code

    1. 克隆GitHub项目库到本地电脑:git clone https://github.com/abi/screenshot-to-code.git
    2.  配置后端和API密钥:
      1. 安装Poetry包管理器:pip install poetry
      2. 定位到项目的后端目录:cd backend
      3. 设置OpenAI API密钥:echo "OPENAI_API_KEY=your-key" > .env
      4. 安装后端依赖项:运行poetry install命令安装所有Python依赖项
      5. 启动后端服务器:poetry run uvicorn main:app --reload --port 7001
    3. 安装前端依赖项:cd frontend切换到前端目录,然后使用yarn安装依赖项,并使用yarn dev命令运行
    4. 浏览器访问该应用:使用任何浏览器访问http://localhost:5173即可开始使用Screenshot to Code

    Screenshot to Code的产品价格

    • 免费版:Screenshot to Code提供免费开源的版本,用户可以自行在本地进行部署,也可以使用官方的在线托管版,输入自己的OpenAI API密钥使用
    • 付费版本:对于没有API密钥的用户,Screenshot to Code官网托管版也提供了付费订阅版,Hobby计划15美元每月(提供100积分/月)、Pro计划40美元每月(提供300积分每月),年付的话免费2个月。

    Screenshot to Code的价格

    常见问题

    Screenshot to Code是免费的吗?
    Screenshot to Code是免费开源的,可以输入自己的OpenAI API密钥免费使用。
    Screenshot to Code基于什么大模型?
    Screenshot to Code使用GPT-4 Vision生成代码,使用DALL-E 3生成相似图像。
    Screenshot to Code可以将截图转换成什么代码?
    Screenshot to Code可以将截图转换成HTML + Tailwind、React + Tailwind、Bootstrap、Vue + Tailwind、Ionic + Tailwind 代码以及 SVG 格式。
  • VideoCrafter2 – 腾讯推出的高质量视频生成模型

    VideoCrafter2 是什么?

    VideoCrafter2是一个由腾讯AI实验室开发的视频生成模型,旨在克服高质量视频数据获取的局限性,训练出能够生成高质量视频的模型。该模型的核心思想是将视频的生成过程分解为两个主要部分:运动(motion)和外观(appearance)。通过这种方法,VideoCrafter2 能够在没有高质量视频数据的情况下,利用低质量视频来保证运动的一致性,同时使用高质量的图像来确保生成视频的画面质量和概念组合能力。

    VideoCrafter2

    项目主页:https://ailab-cvc.github.io/videocrafter2/

    论文地址:https://arxiv.org/abs/2401.09047

    GitHub代码库:https://github.com/AILab-CVC/VideoCrafter

    Hugging Face Demo:https://huggingface.co/spaces/VideoCrafter/VideoCrafter2

    VideoCrafter2 的功能特色

    • 文本到视频的转换:用户可以提供一段描述性的文本,VideoCrafter2 即可根据这段文本生成相应的视频
    • 高质量视频生成:VideoCrafter2 能够生成具有高分辨率和良好视觉效果的视频,能够创造出具有丰富细节和自然运动的视频。
    • 美学效果:通过将运动和外观信息分开处理,VideoCrafter2 能够在保证视频运动连贯性的同时,提升视频的美学质量,例如清晰度、色彩饱和度和整体视觉效果。
    • 概念组合:VideoCrafter2 能够理解和组合复杂的概念,可以生成包含多个现实或虚拟的元素和场景的视频
    • 风格和艺术性:VideoCrafter2 可以模拟不同的艺术风格,如赛博朋克、新波普风格等,从而为视频创作提供更多的创意可能性。

    VideoCrafter2 Hugging Face

    VideoCrafter2 的工作原理

    VideoCrafter2 的工作原理基于深度学习和扩散模型(Diffusion Models)的原理,通过以下几个关键步骤来实现从文本到视频的生成:

    1. 数据解耦:VideoCrafter2 将视频内容的生成分解为两个主要部分:运动(motion)和外观(appearance)。运动部分负责视频中物体的移动和动画效果,而外观部分则关注图像的清晰度、颜色和细节。
    2. 运动学习:使用低质量的视频数据集(如 WebVid-10M)来训练模型的运动部分。这些视频虽然质量不高,但能够提供足够的运动信息,确保生成的视频在运动上是连贯的。
    3. 外观学习:使用高质量的图像数据集(如 JDB,即 Journey Database,由 Midjourney 生成的图像)来训练模型的外观部分。这些图像具有高分辨率和复杂的概念组合,有助于提升生成视频的视觉质量。
    4. 模型训练:首先,使用低质量视频和高分辨率图像联合训练一个基础的视频模型。这个模型包含了空间(外观)和时间(运动)两个模块。然后,通过微调空间模块,使用高质量的图像来进一步提升视频的视觉效果。
    5. 概念组合能力提升:为了增强模型在概念组合方面的能力,VideoCrafter2 使用合成的图像数据集,这些图像包含了复杂的概念组合,帮助模型学习如何将不同的元素和场景融合在一起。
    6. 生成过程:在训练完成后,VideoCrafter2 可以根据文本提示生成视频。它首先从文本中提取关键信息,然后结合运动和外观的知识,逐步生成每一帧图像,最终拼接成完整的视频序列。
    7. 评估和优化:通过定量和定性评估,如使用 EvalCrafter 基准测试,来评估生成视频的质量,并根据评估结果进行模型的进一步优化。

    如何使用 VideoCrafter2

    1. 访问VideoCrafter2的官方项目主页或VideoCrafter2的Hugging Face空间,然后在 User Input 处输入简短的文本
    2. 点击 Expand Prompt 按钮生成更加丰富的提示描述
    3. 然后点击Generate Videos,将分别根据原始用户输入和丰富后的提示生成两个视频
    4. 生成高清视频需要2-3分钟。