(202302)OpenMMLabAI实战营CV——算法基础与OpenMMLab入门

系列文章目录

OpenMMLabAI实战营CV——算法基础与OpenMMLab入门

目录

系列文章目录

前言

一、计算机视觉基础知识

二、OpenMMLab开源算法体系简介

三、机器学习的基础知识

四、答疑环节

 

前言

此为我第一次参加OpenmmlabAI实战营,虽然最近其他的事情也比较多,但希望自己能够始终如一地坚持,至少不能够放弃。

参加此次活动主要目的是上手视觉任务,打破自己独行时惮于踏出脚步的局面。

第一次课程主要分为三部分:计算机视觉基础知识,mmlab开源算法体,计算机视觉、机器学习的基础知识。


一、计算机视觉基础知识

  • 计算机视觉任务:图像分类、目标检测、语义分割、实例分割、关键点检测。
  • 图像分类和语义分割不用像素、细粒度,后面几个就是像素点级的细粒度。(关于细粒度的概念)
  • 图像分类是基础模型,在此基础上接头就可以得到后面几个任务。因此图像分类任务拉动了整个任务。
  • 深度学习:深度神经网络来解决数据挖掘问题。让深度神经网络处理不同的事务就成了不同的网络。计算机视觉——卷积神经网络,除此之外,诸如循环神经网络、图神经网络等等。
  • 计算机视觉:让计算机学会看的学科
  • 图像分类:图像识别,识别图像中的物体。检测:画框,分通用目标检测、特定目标检测。还要与各种传感器融合,视觉是其中十分重要的一类信息。例子:1.图像生成、风格迁移。2.更难的是对视频进行识别。因为加入了时间的维度。3.边缘检测、三维世界。
  1. 传统机器学习时代:视觉特征、人工设计(特征工程)
  2. ImageNet大型数据库(2006):人们终于有了一个大型的数据集。从此举办算法比赛,产生了很多出色算法。
  3. 2010年以前,准确率不高,都是人工去定义的特征。底层上依然不是AI的。
  4. 2012年,ALEXNet,使用深度卷积神经网络。此外还出现了对抗生成等。到今天的发展称得上日新月异。
  5. 大模型:很大的模型,可能就可以达到一个三岁小孩的认知。
  • 但这些有什么关系呢对于我们来说——开源。
  • 2014、2015各大厂家就开始发布自己的框架。

二、OpenMMLab开源算法体系简介

目前pytorch是相对最受欢迎的深度学习框架。openmmlab即是基于pytorch搭建。

以下记录在听课时记录,由于手速与思考速度限制,产生了概括不全的情况,详细信息见官网:https://openmmlab.com/

再次记录仅作为自己留下的印象。

  1. mmdetection(最受欢迎)

    目标检测、实例分割、全景分割

  2. mmdetection3D

    根据点云数据画出一个3D位置。在无人驾驶方面重要

  3. classification

    图像分类模型

  4. mmsegmentation

    语义分割的算法库。算法丰富、模块化设计、统一超参、使用方便。

  5. mmpose&mmhuman3D

    人的姿态检测的,比如一些需要体感检测的任务,也可以对非人进行动作检测

  6. mmtracking

    做追踪的任务。

  7. mmocr

    文本检测识别,具有各种场景下的中英文文本检测。

  8. mmediting

    图像修复、超分辨率、抠图(前景背景抠出来)、图像生成

  9. mmrazor

    剃刀

  10. ……

由优秀的研究员进行了处理,不需要自己苦哈哈地实现这些sota(state of the art)的算法。既可以直接调用、也可以基于算法框架自己进行开发。而且mmlab复现算法比pytorch本身更加的完整,具有更加全面的算法库。

对使用者来说的三宝:基于pytorch的开发易调用、模型库和数据集可以直接作为学习路径、算法库保持在技术前沿。


三、机器学习的基础知识

  • 机器学习:从数据中学习经验以解决特定问题。因此又被称为统计学习。
  • 强化学习:感知到环境与状态、进行优化、去适应环境。
  • 机器学习的用武之地是难以通过简单算法设计出来的东西。简单:人理解范围、可以手工设计出来的算法。主要分类:监督学习、无监督学习、强化学习、自监督学习。
  • 特征与分类。线性分类器假设类别和特征之间存在某种线性关系,换言之、不同类的数据在空间中能被一条直线分开。感知器算法也是一个线性分类器,是神经网络算法的基础。
  • 在测试集上评判一个物体的性能。测试集数据不能用于训练。
  • 一个神经元,特征权重和截距。单个可以实现线性分类。堆叠多层可以实现非线性分类。
  • 多分类任务,输出有多个输出层激活函数使用softmax,迭代修改优化。
  • 常用损失函数:交叉熵损失函数(最大似然估计)、反向传播算法(据梯度去更新优化函数)
  • 防止过拟合(训练集上表现很好、测试集上表现很不好)。
  • 卷积神经网络。卷积核:局部连接、参数共享。卷积核定义特征。一个卷积核生成一个特征图。
  • 池化:大特征图转为小特征图

四、答疑环节

什么什么检测用什么模型:上论文网站、kaggle搜英文词语,可以找到一堆

打打比赛:上kaggle找找比赛

可以用mmlab复现论文模型,但还是建议用原生pytorch,还原度高。

目前图神经网络主要还是推广算,暂不深入支持。

很复杂不好二次开发:会该config文件就可以改所有的东西。一些课程会教改代码。

mmgeneration里面有很大一部分GAN

你可能感兴趣的:(openmmlabAI实战营,python,计算机视觉)