目标检测项目

一、基本概念
1. 什么是目标检测
目标检测旨在识别图像或视频中的感兴趣对象,并准确地确定其位置和边界框。例如,在一张包含汽车、行人、建筑物等的图片中,目标检测算法可以识别出不同的物体,并在图像上用矩形框标记出每个物体的位置,同时给出物体的类别标签,如 “汽车”“行人” 等。

2. 目标检测的核心问题

(1)分类问题:即图片(或某个区域)中的图像属于哪个类别。

(2)定位问题:目标可能出现在图像的任何位置。

(3)大小问题:目标有各种不同的大小。

(4)形状问题:目标可能有各种不同的形状。

3. 目标检测算法分类

基于深度学习的目标检测算法主要分为两类:Two stage和One stage。

1)Tow Stage
先进行区域生成,该区域称之为region proposal(简称RP,一个有可能包含待检物体的预选框),再通过卷积神经网络进行样本分类。

任务流程:特征提取 --> 生成RP --> 分类/定位回归。

常见tow stage目标检测算法有:R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN和R-FCN等。

2)One Stage
不用RP,直接在网络中提取特征来预测物体分类和位置。

任务流程:特征提取–> 分类/定位回归。

常见的one stage目标检测算法有:OverFeat、YOLOv1、YOLOv2、YOLOv3、SSD和RetinaNet等。

4. 目标检测应用
1)人脸检测
  • 智能门控
  • 员工考勤签到
  • 智慧超市
  • 人脸支付
  • 车站、机场实名认证
  • 公共安全:逃犯抓捕、走失人员检测
2)行人检测
  • 智能辅助驾驶
  • 智能监控
  • 暴恐检测(根据面相识别暴恐倾向)
  • 移动侦测、区域入侵检测、安全帽/安全带检测
3)车辆检测
  • 自动驾驶
  • 违章查询、关键通道检测
  • 广告检测(检测广告中的车辆类型,弹出链接)
4)遥感检测 
  • 大地遥感,如土地使用、公路、水渠、河流监控

  • 农作物监控

  • 军事检测

二、目标检测原理

目标检测分为两大系列——RCNN系列和YOLO系列,RCNN系列是基于区域检测的代表性算法,YOLO是基于区域提取的代表性算法,另外还有著名的SSD是基于前两个系列的改进。  

三、目标检测模型

YOLO系列

1)YOLOv1(2016)
基本思想
YOLO(You Only Look Once )是继RCNN,fast-RCNN和faster-RCNN之后,Ross Girshick针对DL目标检测速度问题提出的另一种框架,其核心思想是生成RoI+目标检测两阶段(two-stage)算法用一套网络的一阶段(one-stage)算法替代,直接在输出层回归bounding box的位置和所属类别。

之前的物体检测方法首先需要产生大量可能包含待检测物体的先验框, 然后用分类器判断每个先验框对应的边界框里是否包含待检测物体,以及物体所属类别的概率或者置信度,同时需要后处理修正边界框,最后基于一些准则过滤掉置信度不高和重叠度较高的边界框,进而得到检测结果。这种基于先产生候选区再检测的方法虽然有相对较高的检测准确率,但运行速度较慢。

YOLO创造性的将物体检测任务直接当作回归问题(regression problem)来处理,将候选区和检测两个阶段合二为一。只需一眼就能知道每张图像中有哪些物体以及物体的位置。下图展示了各物体检测系统的流程图。

实际上,YOLO并没有真正去掉候选区,而是采用了预定义候选区的方法,也就是将图片划分为7*7个网格,每个网格允许预测出2个边框,总共49*2个bounding box,可以理解为98个候选区域,它们很粗略地覆盖了图片的整个区域。YOLO以降低mAP为代价,大幅提升了时间效率。

每个网格单元预测这些框的2个边界框和置信度分数。这些置信度分数反映了该模型对框是否包含目标的可靠程度,以及它预测框的准确程度。置信度定义为:
Pr(Object)\ast IOU_{pred}^{truth}
如果该单元格中不存在目标,则置信度分数应为零。否则,我们希望置信度分数等于预测框与真实值之间联合部分的交集(IOU)。

每个边界框包含5个预测:x xx,y yy,w ww,h hh和置信度。( x , y ) (x,y)(x,y)坐标表示边界框相对于网格单元边界框的中心。宽度和高度是相对于整张图像预测的。最后,置信度预测表示预测框与实际边界框之间的IOU。

2)YOLOv2(2016)

Ross Girshick吸收fast-RCNN和SSD算法,设计了YOLOv2(论文原名《YOLO9000: Better, Faster, Stronger 》),在精度上利用一些列训练技巧,在速度上应用了新的网络模型DarkNet19,在分类任务上采用联合训练方法,结合wordtree等方法,使YOLOv2的检测种类扩充到了上千种,作者在论文中称可以检测超过9000个目标类别,所以也称YOLO9000. YOLOv2模型可以以不同的尺寸运行,从而在速度和准确性之间提供了一个简单的折衷,在67FPS时,YOLOv2在VOC 2007上获得了76.8 mAP。在40FPS时,YOLOv2获得了78.6 mAP,比使用ResNet的Faster R-CNN和SSD等先进方法表现更出色,同时仍然运行速度显著更快。

3)YOLOv3(2018)

YOLOv3总结了自己在YOLOv2的基础上做的一些尝试性改进,有的尝试取得了成功,而有的尝试并没有提升模型性能。其中有两个值得一提的亮点,一个是使用残差模型,进一步加深了网络结构;另一个是使用FPN架构实现多尺度检测。

四、目标检测数据集

MS COCO
COCO数据集是微软团队发布的一个可以用来图像recognition+segmentation+captioning 数据集,该数据集收集了大量包含常见物体的日常场景图片,并提供像素级的实例标注以更精确地评估检测和分割算法的效果,致力于推动场景理解的研究进展。依托这一数据集,每年举办一次比赛,现已涵盖检测、分割、关键点识别、注释等机器视觉的中心任务,是继ImageNet Challenge以来最有影响力的学术竞赛之一。

相比ImageNet,COCO更加偏好目标与其场景共同出现的图片,即non-iconic images。这样的图片能够反映视觉上的语义,更符合图像理解的任务要求。而相对的iconic images则更适合浅语义的图像分类等任务。

COCO的检测任务共含有80个类,在2014年发布的数据规模分train/val/test分别为80k/40k/40k,学术界较为通用的划分是使用train和35k的val子集作为训练集(trainval35k),使用剩余的val作为测试集(minival),同时向官方的evaluation server提交结果(test-dev)。除此之外,COCO官方也保留一部分test数据作为比赛的评测集。
 

                          

                      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值