MMFlow 中包含了 8 种光流算法,从经典的FlowNet、FlowNet2、PWC-Net,到2020年的RAFT都有实现;另有 FlyingChairs、Sintel、KITTI 等 7 个光流数据集;以及多种光流的评价方法,光流文件读写和可视化方法。
光流(Optical Flow),字面理解为“光的流动”,更准确的说法为:时变图像上的二维运动场,是视频数据的重要视觉线索,在动作识别、视频理解、视频分割、目标跟踪以及全景拼接等领域,都有广泛应用。
从2015年的 FlowNet 起,和其他视觉任务一样,基于深度学习的光流估计算法开始成为研究热点,并且性能“碾压”传统算法。但是,至今一直没有通用的算法库来支持辅助光流算法的研究。
今天,OpenMMLab 为填补这一空白隆重推出 MMFlow !
MMFlow 为当下流行的基于深度学习的光流算法提供了统一的训练、推理、评估的算法框架;简洁的用户接口与高效、强大的基准模型,部分实现精度超出官方版本!
同时,我们更延续了 OpenMMLab 系列的模块化风格,继承了高度灵活 config 功能。目前,MMFlow 代码库已于11月16日全面开源!
GitHub 链接:
https://github.com/open-mmlab/mmflow
先来看看 MMFlow 的惊人效果吧!
👇
(点击图片跳转小程序观看~)
传统光流算法,例如TV-L1、L-K 算法,在 OpenCV 中都有支持,但基于深度学习的光流估计算法,依然缺少统一的代码框架;并且,由于时代的局限、和关键算子的限制,不同光流算法所依赖的深度学习算法框架都不一致,这给代码复现、借鉴、公平对比都带来了很大的困难。
MMFlow 中包含了 8 种光流算法,从经典的FlowNet、FlowNet2、PWC-Net,到2020年的RAFT都有实现;另有 FlyingChairs、Sintel、KITTI 等 7 个光流数据集;以及多种光流的评价方法,光流文件读写和可视化方法。
此外,在 OpenMMLab 的 MMCV 中,实现了 Correlation,DCN 等高性能 CUDA 算子,因此 OpenMMLab 的 MMFlow 真正是史上最全、最统一的光流算法框架。
在 MMFlow 中,我们复现了光流领域的经典深度学习算法,部分模型,例如 FlowNet PWC-Net 等,超过官方公布精度。
FlowNetC 和 FlowNetS 模型在 FlyingChairs 数据集上的预训练模型和 Sintel 数据集上的 Fine-tune 模型,在 Sintel (training) 数据集上的 Average EPE 评价结果,均高论文(*)公布结果:
对于PWC-Net 方法,同样,不论是预训练模型还是 Fine-tune 模型,其结果都优于论文发布结果(*)。
模块化设计:同 OpenMMLab 其他算法库一样,我们使用统一框架和模块化设计实现了各个算法。
一方面可以尽量实现代码复用,另一方面,方便大家基于此框架实现新的算法。以下是 MMFlow 的大致框架:
MMFlow 主要由 4 个部分组成:datasets、models、core 和 apis。datasets 用于数据集加载和预处理,其中包含训练所需的数据集,光流数据增广的pipelines,和加载数据时的 samplers。models是最关键的部分,光流模型在这里实现。
如图所示,我们把光流算法的模型,抽象成flow_estimators ,并将它分解为 encoders 和 decoders 两个模块。
encoder 的主要作用是提取输入图像的特征信息;decoder 的功能包括计算图像之间的相关性、计算 loss,预测输出的光流等。在 apis 中,我们为模型训练、测试和推理提供一键启动的接口。core 中实现了用于模型训练的评估工具和定制的 hooks 。
丰富灵活的配置文件:得益于 OpenMMLab 强大的且高度灵活的 cfg 模式和注册器机制, MMFlow 可以做到不改动代码只编辑配置文件便可实施消融实验。
相比于更接近产品应用的视觉任务,光流估计这一任务更类似计算机视觉中的“基础学科”,尽管不能直接被应用,但是对它的研究能促进多个领域的发展。
我们希望 MMFlow 可以提高大家对光流的关注度,降低该领域的研究门槛,使之成为新一代cv助力板。
重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。
一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、
手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款 圈里有高质量教程资料、可答疑解惑、助你高效解决问题