点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
编者荐语
目标检测(Object Detection)是计算机视觉(Computer Vision,CV)领域的一个热门方向,广泛应用于自动驾驶,工业检测,视频监控及航空航天等领域,其基本流程是在给定图像中找到关注目标,确定目标类别并输出相应的坐标位置(常使用矩形框)。
图像分类、目标检测、分割是计算机视觉领域的三大任务:
图像理解的三个层次
1.分类(Classification),对输入的图像进行描述,从已有的类标签集合中找出最符合的标签分配给该图像。分类虽然是最简单、最基础的图像理解任务,但却为其他复杂任务奠定了基础。
2.检测(Detection),相对于分类任务关心整体,给出整幅图像的内容描述,检测更加关注目标,需要同时获得目标的类别及位置信息(Classification+Localization)。
3.分割(Segmentation),分割包括语义分割(Semantic Segmentation)和实例分割(Instance Segmentation),前者是对前背景分离任务的拓展,要求将图中每一点像素标注为某个物体类别,同一物体的不同实例不需要单独分割; 而后者是检测任务的拓展,是目标检测+语义分割的综合体,要求精确到物体的边缘(相比目标识别框更为精细),相比语义分割,实例分割可以标注出图像中的不同个体。
语义分割与实例分割对比
图像分类是将图像划分为单个类别(一般对应特征最为明显的物体),但现实世界中的大部分图像通常包含不只一个物体,如果强行使用分类模型进行分类,得到的结果也并不一定准确。诸如此类的情况,就需要使用目标检测算法,目前学术和工业界主要将目标检测算法分成三类:
1.传统的目标检测框架
(1)候选区域选择(采用不同尺寸、比例的滑动窗口对图像进行遍历);
(2)对不同的候选区域进行特征提取(SIFT、HOG等);
(3)使用分类器进行分类(SVM、Adaboost等)。
2.基于深度学习的Two Stages目标检测框架(准确度有优势)
此类算法将检测问题分为两个阶段,第一阶段生成大量可能含有目标的候选区域(Region Proposal),并附加大概的位置信息;第二个阶段对其进行分类,选出包含目标的候选区域并对其位置进行修正(常使用R-CNN、Fast R-CNN、Faster R-CNN等算法)。
3.基于深度学习的One Stage目标检测框架(速度有优势)
此类检测算法属于端到端(End-to-End),不需要生成大量候选区域的阶段,而是将问题转化为回归(Regression)问题处理,使用完整图像作为输入,直接在图像的多个位置上回归出该位置的目标边框及所属类别(常使用Yolo、SSD、CornerNet等算法)。
总结
未来的工作主要集中在速度与准确度的博弈之中。
各种目标检测算法的详细介绍请参考公众号的其他文章。
好消息!
小白学视觉知识星球
开始面向外开放啦👇👇👇
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。
下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~