基于ModelScope,视觉AI启动模型开放之路

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 计算机视觉是人工智能的基石之一,也是应用最广泛的AI技术,从日常手机解锁使用的人脸识别,再到火热的产业前沿自动驾驶,视觉AI都大显身手。作为一名视觉AI从业者,我认为视觉AI的潜能远未得到充分发挥,穷尽我们这些研究者的力量,也只能覆盖少数行业和场景,远未能满足全社会的需求。因此,在AI模型社区魔搭ModelScope上,我们决定全面开源达摩院研发的视觉AI模型,首批达101个,其中多数为SOTA或

计算机视觉是人工智能的基石之一,也是应用最广泛的AI技术,从日常手机解锁使用的人脸识别,再到火热的产业前沿自动驾驶,视觉AI都大显身手。作为一名视觉AI从业者,我认为视觉AI的潜能远未得到充分发挥,穷尽我们这些研究者的力量,也只能覆盖少数行业和场景,远未能满足全社会的需求。

因此,在AI模型社区魔搭ModelScope上,我们决定全面开源达摩院研发的视觉AI模型,首批达101个,其中多数为SOTA或经过实践检验。我们希望让更多开发者来使用视觉AI,更希望AI能成为社会前进的动力之一。

一、概要:以人为中心的视觉AI

这些年来,达摩院作为阿里巴巴的基础科研机构和人才高地,在阿里海量业务场景中研发出一批优秀的视觉AI能力,分布在各个环节

这些视觉AI技术,几乎覆盖了从理解到生成等各方面。因视觉技术任务众多,我们需要有一个相对合理的分类方法,可以从模态、对象、功能、场景等几个维度来分:

魔搭社区首批开放了主要的视觉任务模型,这些模型即有学术创新的SOTA技术,也有久经考验的实战模型,从”功能/任务“的维度上,涵盖了常见的感知、理解、生产等大类:

虽然视觉技术有点庞杂,但其实有个核心,那就是研究“对象”,“人”一直以来都是最重要的“对象”。“以人为中心“的视觉AI技术,也是研究最早最深、使用最普遍的技术。

我们以一个人的照片作为起点。AI首先需要理解这个照片/图像,如识别这个照片是谁,有什么动作,能否抠出像等。然后,我们还需要进一步探索:照片质量如何,能否画质变得更好,其中的人能否变得更漂亮,甚至变成卡通人、数字人等...

如上的7个“人”相关的流程,基本涵盖了视觉任务中的“理解”、“增强”、“编辑”等大类,我们以魔搭社区已开放的相关模型为实例,来分享以人为中心的视觉技术的特点、优点、示例以及应用。

二、感知理解类模型

1. 从照片抠出人像

模型名:BSHM人像抠图

体验链接https://www.modelscope.cn/models/damo/cv_unet_image-matting/

从照片抠出人像,去掉背景,是一个非常普遍的需求,也是“PS”的基本操作之一,但传统人工操作费时费力、且效果不佳。魔搭提供的人像抠图模型,是一个全自动、端到端的人像抠图模型,能够实现发丝级别的精细分割。

技术上我们也进行了创新,不同于其他模型基于大量精细标注数据训练的方法,我们的模型使用粗标注数据就能实现精细抠图,对数据要求低、精度高。

具体来说,模型框架分为三部分:粗mask估计网络(MPN)、质量统一化网络(QUN)、以及精确alpha matte估计网络(MRN)。我们首先将复杂问题拆解,先粗分割(MPN)再精细化分割(MRN)。学术界有大量易获取的粗分割数据,但是粗分割数据和精分割数据不一致导致预期GAP很大,故而我们又设计了质量统一化网络(QUN)。MPN的用途是估计粗语义信息(粗mask),使用粗标注数据和精标注数据一起训练。QUN是质量统一化网络,用以规范粗mask质量,QUN可以统一MPN输出的粗mask质量。MRN网络输入原图和经过QUN规范化后的粗mask,估计精确的alpha matte,使用精确标注数据训练。

当然,抠图分割相关的需求非常多样化,我们也上线了一系列模型,支持非人像抠图以及视频抠图等。开发者可以直接拿来即用,如进行辅助设计师抠图,一键抠图,大幅提升设计效率,或者自由换背景,可实现会议虚拟背景、证件照、穿越等效果。这些也在阿里自有产品(如钉钉视频会议)及云上客户广泛使用。

2. 检测并识别是谁

模型名:MogFace人脸检测

体验链接https://www.modelscope.cn/models/damo/cv_resnet101_face-detection_cvpr22papermogface/

人脸检测和识别是一个AI经典任务,也是应用最广泛的视觉技术之一;从另一方面看,其对效果和性价比要求非常苛刻。我们自研的MogFace为当前SOTA的人脸检测方法,已在Wider Face六项榜单上霸榜一年半以上,具体技术论文发表于CVPR2022,主要贡献是从label assignment, scale-level data augmentation and reduce false alarms 三个角度提升人脸检测器。

技术上的特点有:

  • Scale-level Data Augmentation (SSE):SSE是第一个从maximize pyramid layer 表征的角度来控制数据集中gt的尺度分布,而不是intuitive的假想检测器的学习能力,因此在不同场景下都很鲁棒;
  • Adaptive Online Anchor Mining Strategy(Ali-AMS):减少对超参的依赖, 简单且有效的adpative label assign 方法;
  • Hierarchical Context-aware Module (HCAM): 减少误检是real world人脸检测器面对的最大挑战,HCAM是最近几年第一次在算法侧给出solid solution。

人脸检测作为人脸相关的基础能力,可应用于人脸相册/人脸编辑/人脸比对等场景。由于人脸相关的模型使用非常广泛,我们也有系列模型的迭代计划,包括MogFace中所介绍的技术点除了HCAM均无需引入额外的计算量,后续准备打造sota的family-based 人脸检测模型;以及真实世界的人脸检测器除了面对减少误检的问题,还面对如何增加人脸检出率的问题,以及他们之间如何平衡的问题,我们正在进一步探索。

3. 人体关键点及动作识别

模型名字: HRNet人体关键点-2D

体验链接:https://www.modelscope.cn/models/damo/cv_hrnetv2w32_body-2d-keypoints_image/

该任务采用自顶向下的人体关键点检测框架,通过端对端的快速推理可以得到图像中的15点人体关键点。其中人体关键点模型基于HRNet改进的backbone,充分利用多分辨率的特征融,良好支持日常人体姿态,在COCO数据集的AP和AR50上取得更高精度,同时我们也针对体育健身场景做了优化,尤其是在瑜伽、健身等场景下多遮挡、非常见、多卧姿等姿态上具有SOTA的检测精度。

为了更好的适用于各种场景,我们持续进行优化:

  • 针对通用场景的大模型在指标上达到SOTA性能;
  • 针对移动端部署的小模型,内存占用小,运行快、性能稳定,在千元机上达到25~30FPS;
  • 针对瑜伽、跳绳技术、仰卧起坐、俯卧撑、高抬腿等体育健身计数和打分场景下多遮挡、非常见、多卧姿姿态等情况做了深度优化,提升算法精度和准确度。

本模型已经广泛应用于AI体育健身、体育测试场景,如阿里体育乐动力,钉钉运动,健身镜等,也可应用于3D关键点检测和3D人体重建等场景。

4. 小结

上述三个“人”相关的模型,都属于感知理解这个大类。先认识世界,再改造世界,感知理解类视觉技术是最基础、也是应用最广泛的模型大类,也可以分为识别、检测和分割三小类:

  • 识别/分类是视觉(包括图像、视频等)技术中最基础也是最经典的任务,也是生物通过眼睛了解世界最基本的能力。简单来说,判定一组图像数据中是否包含某个特定的物体,图像特征或运动状态,知道图像视频中描述的对象和内容是什么。此外,还需要了解一些更细维度的信息,或者非实体对象的一些描述标签。
  • 目标检测的任务是找出视觉内容中感兴趣的目标(物体),确定它们的位置和大小,也是机器视觉领域的核心问题之一。一般来说,也会同时对定位到的目标进行分类识别。
  • 分割是视觉任务中又一个核心任务,相对于识别检测,它又更进一步,解决“每一个像素属于哪个目标物或场景”的问题。是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。

魔搭社区上面开放了丰富的感知理解类模型,供AI开发者试用使用:

5. 彩蛋:DAMO-YOLO首次放出

模型名字:DAMOYOLO-高性能通用检测模型-S

体验链接:https://www.modelscope.cn/models/damo/cv_tinynas_object-detection_damoyolo/summary

通用目标检测是计算机视觉的基本问题之一,具有非常广泛的应用。DAMO-YOLO是阿里新推出来的目标检测框架,兼顾模型速度与精度,其效果超越了目前的一众YOLO系列方法,且推理速度更快。DAMO-YOLO还提供高效的训练策略和便捷易用的部署工具,能帮助开发者快速解决工业落地中的实际问题。

 

DAMO-YOLO引入TinyNAS技术,使得用户可以根据硬件算力进行低成本的检测模型定制,提高硬件利用效率并且获得更高精度。另外,DAMO-YOLO还对检测模型中的neck、head结构设计,以及训练时的标签分配、数据增广等关键因素进行了优化。由于做了一系列优化,DAMO-YOLO在严格限制Latency的情况下精度取得了显著的提升,成为YOLO框架中的新SOTA。

 

三、底层视觉模型

1. 照片去噪去模糊

模型名字:NAFNet图像去噪

体验地址:https://www.modelscope.cn/models/damo/cv_nafnet_image-denoise_sidd/

因拍摄环境、设备、操作等原因,图像质量不佳的情况时而存在,怎么对这些图像的噪声去除、模糊还原?该模型在图像恢复领域具有良好的泛化性,无论是图像去噪还是图像去模糊任务,都达到了目前的SOTA。由于技术创新,该模型使用了简单的乘法操作替换了激活函数,在不影响性能的情况下提升了处理速度。

该模型全名叫NAFNet去噪模型,即非线性无激活网络(Nonlinear Activation Free Network),证明了常见的非线性激活函数(Sigmoid、ReLU、GELU、Softmax等)不是必须的,它们是可以被移除或者是被乘法算法代替的。该模型是对CNN结构设计的重要创新。

本模型可以做为很多应用的前置步骤,如智能手机图像去噪、图像去运动模糊等。

2. 照片修复及增强

模型名字:GPEN人像增强模型

体验地址:https://www.modelscope.cn/models/damo/cv_gpen_image-portrait-enhancement/

除照片去噪以外,对照片的质量(包括分辨、细节纹理、色彩等)会有更高的处理要求,我们也开放了专门的人像增强模型,对输入图像中的每一个检测到的人像做修复和增强,并对图像中的非人像区域采用RealESRNet做两倍的超分辨率,最终返回修复后的完整图像。该模型能够鲁棒地处理绝大多数复杂的真实降质,修复严重损伤的人像。 

从效果上看,GPEN人像增强模型将预训练好的StyleGAN2网络作为decoder嵌入到完整模型中,并通过finetune的方式最终实现修复功能,在多项指标上达到行业领先的效果。后续我们将增加1024、2048等支持处理大分辨人脸的预训练模型,并在模型效果上持续更新迭代。

从应用的视角,本模型可以修复家庭老照片或者明星的老照片,修复手机夜景拍摄的低质照片,修复老视频中的人像等。

3. 小结

底层视觉,关注的是画质问题。只要是生物(含人),都会对因光影而产生的细节、形状、颜色、流畅性等有感应,人对高画质的追求更是天然的,但由于各种现实条件,画质往往不理想,这时候视觉AI就能派上用场。

从任务分类上,可以分为:清晰度(分辨率/细节、噪声/划痕、帧率)、色彩(亮度、色偏等)、修瑕(肤质优化、去水印字幕)等,如下表:

四、编辑生成类模型

1. 变得更漂亮

模型名字:ABPN人像美肤

体验链接https://www.modelscope.cn/models/damo/cv_unet_skin-retouching/

人们对照片人像的美观度是一个刚性需求,包括斑点、颜色、瑕疵等,甚至高矮胖瘦。本次我们开放了专业级别的人像美肤、液化等模型供大家使用。

本模型提出了一个新颖的自适应混合模块ABM,其利用自适应混合图层实现了图像的局部精准修饰。此外,我们在ABM的基础上进一步构建了一个混合图层金字塔,实现了超高清图像的快速修饰。相比于现有的图像修饰方法,ABPN在修饰精度、速度上均有较大提升。ABPN人像美肤模型为ABPN模型在人像美肤任务中的具体应用。

如下示例:

更进一步,我们还可以在服饰上做一些有意思的尝试,如去皱:

甚至瘦身美型:

https://www.modelscope.cn/models/damo/cv_flow-based-body-reshaping_damo/

从效果上来说,有如下几点特色:

  • 局部修饰。只对目标区域进行编辑,保持非目标区域不动。
  • 精准修饰。充分考虑目标本身的纹理特征和全局上下文信息,以实现精准修饰,去除瑕疵的同时保留皮肤本身的质感。
  • 超高分辨率的处理能力。模型的混合图层金字塔设计,使其可以处理超高分辨率图像(4K~6K)。

本模型有很强的实用性,比如可应用于专业修图领域,如影楼、广告等,提高生产力,也可以应用于直播互娱场景,提升人像皮肤质感。

2. 变成卡通人

模型名:DCT-Net人像卡通化模型

体验链接https://www.modelscope.cn/models/damo/cv_unet_person-image-cartoon_compound-models/

人像卡通化是一个具有很好互动性的玩法,同时又有多种风格可选。魔搭开放的人像卡通化模型基于全新的域校准图像翻译网络DCT-Net(Domain-Calibrated Translation)实现,采用了“先全局特征校准,再局部纹理转换”的核心思想,利用百张小样本风格数据,即可训练得到轻量稳定的风格转换器,实现高保真、强鲁棒、易拓展的高质量人像风格转换效果。

如下示例:

从效果上来看:

  • DCT-Net具备内容匹配的高保真能力,能有效保留原图内容中的人物ID、配饰、身体部件、背景等细节特征;
  • DCT-Net具备面向复杂场景的强鲁棒能力,能轻松处理面部遮挡、稀有姿态等;
  • DCT-Net在处理维度上和风格适配度上具有易拓展性,利用头部数据即可拓展至全身像/全图的精细化风格转换,同时模型具有通用普适性,适配于日漫风、3D、手绘等多种风格转换。

后续我们也会对卡通化进行系列化的开放,除图像转换外,后续将包含图像、视频、3D卡通化等系列效果,先放一些效果大家看看:

3. 小结

这类模型对图像内容进行修改,包括对源图内容进行编辑加工(增加内容、删除内容、改换内容等),或者直接生成一个新的视觉内容,转换一个风格,得到一张新的图像(基于源图像且与源图不同),都属于编辑生成这个大类,可以理解成,从A图得到B图的过程。

五、行业场景类模型

如最开始所说,视觉AI技术的价值体现,在广泛的各类场景中都存在,除了上述“人”相关的视觉AI技术,我们也开放了来自互联网、工业、互娱、传媒、安全、医疗等多个实战型的模型,这些模型可以拿来即用,也可以基于tune训练或自学习工具进一步加工完善,用于开发者、客户特定的场景,这里举一个例子:

模型名:烟火检测(正在集成中)

模型功能:可做室外、室内的火焰检测以及烟雾检测,森林、城市道路、园区,卧室、办公区域、厨房、吸烟场所等,算法打磨近2年,并在多个客户场景实际应用,整体效果相对稳定。

从技术视角来说,本模型提出Correlation block提升多帧检测精度,其设计数据增强方法提高识别灵敏度同时有效控制误报。从应用上来说,模型可应用于室内、室外多种场景,只需要手机拍摄、监控摄像头等简单设备就可以实现模型功能。

六、结语:视觉AI的开放未来

通过上述分析,我们可以发现,视觉AI的应用潜能极为广泛,社会需求极为多样,但现实情况却是:视觉AI的供给能力非常有限。

达摩院在魔搭ModelScope之前,就率先开放了API形态的视觉AI服务,通过公共云平台对AI开发者提供一站式视觉在线服务平台,即视觉智能开放平台(vision.aliyun.com),其中开放了超200个API,涵盖了基础视觉、行业视觉等方面,也包括上面所说的“以人为中心”的视觉技术。

从开放视觉平台到魔搭社区,这意味着达摩院视觉AI的开放迈出了更大的一步。从OpenAPI拓展到OpenSDK、OpenSOTA,从公共云到端云协同,从平台到社区,我们希望去满足千行百业对视觉AI的需求,希望促进视觉AI的生态发展。

依托于魔搭,我们会持续努力,不断丰富模型品类,提升模型效果,优化用户体验,共同建设社区,让天下没有难用的视觉AI。

魔搭社区地址:modelscope.cn

目录
相关文章
|
2天前
|
人工智能 搜索推荐 决策智能
【AI Agent系列】【阿里AgentScope框架】1. 深入源码:详细解读AgentScope中的智能体定义以及模型配置的流程
【AI Agent系列】【阿里AgentScope框架】1. 深入源码:详细解读AgentScope中的智能体定义以及模型配置的流程
29 0
|
2天前
|
数据采集 存储 人工智能
【AI大模型应用开发】【LangChain系列】实战案例4:再战RAG问答,提取在线网页数据,并返回生成答案的来源
【AI大模型应用开发】【LangChain系列】实战案例4:再战RAG问答,提取在线网页数据,并返回生成答案的来源
27 0
|
2天前
|
数据采集 存储 人工智能
【AI大模型应用开发】【LangChain系列】实战案例2:通过URL加载网页内容 - LangChain对爬虫功能的封装
【AI大模型应用开发】【LangChain系列】实战案例2:通过URL加载网页内容 - LangChain对爬虫功能的封装
11 0
|
2天前
|
人工智能 Python
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
6 0
|
2天前
|
人工智能 监控 数据处理
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】1. 快速上手数据集与测试评估过程
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】1. 快速上手数据集与测试评估过程
17 0
|
2天前
|
人工智能 监控 数据可视化
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】0. 一文全览Tracing功能,让你的程序运行过程一目了然
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】0. 一文全览Tracing功能,让你的程序运行过程一目了然
7 0
|
2天前
|
人工智能 API 开发者
【AI大模型应用开发】0.2 智谱AI API接入详细步骤和简单应用
【AI大模型应用开发】0.2 智谱AI API接入详细步骤和简单应用
9 0
|
2天前
|
数据采集 人工智能 数据可视化
【AI大模型应用开发】【LangChain系列】4. 从Chain到LCEL:探索和实战LangChain的巧妙设计
【AI大模型应用开发】【LangChain系列】4. 从Chain到LCEL:探索和实战LangChain的巧妙设计
16 0
|
2天前
|
存储 人工智能 JSON
【AI大模型应用开发】【LangChain系列】3. 一文了解LangChain的记忆模块(理论实战+细节)
本文介绍了LangChain库中用于处理对话会话记忆的组件。Memory功能用于存储和检索先前的交互信息,以便在对话中提供上下文。目前,LangChain的Memory大多处于测试阶段,其中较为成熟的是`ChatMessageHistory`。Memory类型包括:`ConversationBufferMemory`(保存对话历史数组)、`ConversationBufferWindowMemory`(限制为最近的K条对话)和`ConversationTokenBufferMemory`(根据Token数限制上下文长度)。
12 0
|
2天前
|
JSON 人工智能 数据库
【AI大模型应用开发】【LangChain系列】1. 全面学习LangChain输入输出I/O模块:理论介绍+实战示例+细节注释
【AI大模型应用开发】【LangChain系列】1. 全面学习LangChain输入输出I/O模块:理论介绍+实战示例+细节注释
29 0
【AI大模型应用开发】【LangChain系列】1. 全面学习LangChain输入输出I/O模块:理论介绍+实战示例+细节注释