EasyCV简介
EasyCV是阿里巴巴开源的一站式计算机视觉工具箱,基于PyTorch开发,主要聚焦于自监督学习、Transformer模型以及图像分类、度量学习、目标检测、姿态估计等主要CV任务。它旨在为研究人员和开发者提供一个易用、高效、可扩展的计算机视觉开发框架。
主要特性
1. 最先进的自监督学习算法
EasyCV提供了业界领先的自监督学习算法,包括基于对比学习的SimCLR、MoCO V2、Swav、DINO,以及基于掩码图像建模的MAE。同时还提供了标准的基准测试工具,用于评估自监督模型的效果。
2. 丰富的Vision Transformer模型
EasyCV致力于提供便捷使用最新的Transformer模型的方法,包括通过监督学习或自监督学习训练的模型,如ViT、Swin Transformer和DETR系列。此外,EasyCV还支持来自timm库的所有预训练模型。
3. 功能性和可扩展性
除了自监督学习,EasyCV还支持图像分类、目标检测、度量学习等多个领域。尽管覆盖了不同的领域,EasyCV将框架分解为不同的组件,如数据集、模型和运行钩子,使得添加新组件和与现有模块结合变得容易。
EasyCV为推理提供了简单而全面的接口。此外,所有模型都可以在PAI-EAS上部署,轻松实现在线服务,并支持自动扩展和服务监控。
4. 高效性
EasyCV支持多GPU和多工作器训练。它使用DALI加速数据IO和预处理过程,使用TorchAccelerator和fp16加速训练过程。对于推理优化,EasyCV使用jit脚本导出模型,可以通过PAI-Blade进行进一步优化。
应用场景
EasyCV在阿里巴巴内部支持了10多个业务单元和20多个业务。同时,它也满足了云上客户通过平台化组件定制模型和解决业务问题的需求。以下是一些具体的应用案例:
-
一个业务单元使用100万张业务图像库中的图像进行自监督预训练,基于预训练模型微调下游任务,达到了比基线模型高1%的最佳效果。
-
多个业务单元利用自监督预训练模型进行特征提取,并借助对比学习的特性使用图像特征进行相同图像匹配。
-
公有云上的一个客户使用目标检测组件定制模型训练,实现了对其业务场景中工人安装是否合格的智能判断。
-
一个推荐系统用户使用自监督训练组件和大量未标记的广告图像训练了一个图像表示模型,然后将图像特征连接到推荐模型中。结合推荐模型优化,CTR提升了10%以上。
-
一个面板开发商基于EasyCV定制了缺陷检测模型,完成了云训练和设备端部署推理。
未来规划
EasyCV团队计划每月发布一个新版本。近期的路线图包括:
- 优化Transformer分类任务的训练性能和基准测试
- 添加自监督学习检测和分割基准
- 开发更多基于Transformer的下游任务,包括检测和分割
- 支持常见图像任务数据集的下载和训练,以及访问接口
- 接入模型推理优化功能
- 支持更多领域的设备端模型部署
此外,EasyCV团队还将继续在以下方向进行探索:
- 结合自监督学习技术与Transformer,探索更高效的预训练模型
- 基于训练和推理的联合优化,打造轻量级Transformer,便于在实际业务场景中实施Transformer
- 基于多模态预训练,探索统一Transformer在视觉高层多任务中的应用
EasyCV为计算机视觉研究和应用提供了一个强大而灵活的工具箱。无论是学术研究还是工业应用,EasyCV都能为用户提供高效、易用的解决方案。随着持续的更新和优化,EasyCV将在推动计算机视觉技术发展和应用方面发挥越来越重要的作用。