zl程序教程

您现在的位置是:首页 >  后端

当前栏目

计算机视觉与OpenMMLab开源算法体系

算法开源计算机 体系 视觉 OpenMMLab
2023-06-13 09:17:11 时间

文章目录

计算机视觉是一门让计算机学会"看"的学科,研究如何自动理解图像和视频中的内容

计算机视觉的任务

  • 分类
  • 检测:关键点检测(输出若干个点的坐标)
  • 分割:语义分割,示例分割
  • lmage classification:输出有哪些类别。
  • object Detection:框出物体并且显示分类。
  • Semantic segmentation:根据图像的语义来进行分割,不管重合的物体。
  • lnstance segmentation:实例分割区分每一个物体。

可以从实例层面,像素层面进行分析对比这四种。

OpenMMLab

底层仍是PyTorch框架

至今已经包含众多算法库。

此外可以通过MMDeploy部署在各大厂商支持的硬件上。

算法框架

  • MMDetection:目标检测/实例分割/全景分割
  • MMDetection3D:3D目标检测
  • MMClassification
  • MMSegmentation:无人驾驶/汽车遥感/医疗影像分析
  • MMPose & MMHuman3D:
    • 2D/3D
    • 图像/视频
    • 形状/关键点
    • 全身/人脸/人手
  • MMTracking:视频目标检测/单目标跟踪/多目标跟踪
  • MMAction2:行为识别/时序动作检测/时空动作检测
  • MMOCR:文本检测/文本识别/关键信息提取
  • MMEditing:图像修复/抠图/图像生成/超分辨率

通用:强大的训练器

统一:模块抽象

OpenMMLab 1.0 抽象:

  • 抽象模块数量少
  • 存在非常多函数式定义,无法重载
  • 缺少统一的数据接口定义/协议

OpenMMLab 2.0 抽象:

  • 抽象模块数量丰富
  • 清理函数式定义,增加模块或者模块方法

统一:训练流程

OpenMMLab 2.0 统一20 多个算法任务的训练流程,支持自监督、半监督、少样本学习。

统一:数据接口

OpenMMLab 1.0: 一个算法库,一套接口定义

OpenMMLab 2.0: N 个算法库,一套接口定义。多模态、多任务训练的统一接口。半监督、自监督、少样本学习的统一接口。

灵活:训练流程控制

统一的信息枢纽:所有模块交流的渠道

优化和数据增强策略动态调整参照:迭代数、loss、评测结果

可实现功能:Early stopping、ReduceLROnPlateau

获取任意位置信息,进行可视化分析:数据集输出、模型特征图、模型输出、评测结果、难易样本分析

内容

以下截取部分有启发的内容:

异或问题

线性分类器与非线性分类器中:

异或(XOR)是一个基本的布尔函数,是线性不可分的线性分类器的"capacity"很弱

异或函数可以由一个两层的计算图实现:第一层由输入x到隐变量h,第二层由由h到输出y。

卷积神经网络的整体结构

参考:

OpenMMLab