图像分割——YOLO(You Only Look Once: Unified, Real-Time Object Detection)
1.基本思路
相比于 R-CNN 系列的方法,YOLO提供了另外一种思路:
将 Object Detection(目标检测) 的问题转化成一个 Regression 问题。给定输入图像,直接在图像的多个位置上回归出目标的bounding box以及其分类类别。
2.总体框架示意图
流程如下:
将图像划分为ss个网格,每个网格检测对应的一个物体
每个网格训练和预测B个边界框,每个边界框有五个参数,中心线位置x,y, 宽和高w,h,和置信度评分(置信度评分反映了包含某物体的置信度Pr(Object) 和预测的准确度IOU(pred|truth),同时会预测存在物体的情况下该物体属于某一类的后验概率Pr(Class_i|Object)。)
假定一共有C类物体,那么每一个网格只预测一次C类物体的条件类概率Pr(Class_i|Object), i=1,2,…,C;每一个网格预测B个bounding box的位置。即这B个bounding box共享一套条件类概率Pr(Class_i|Object), i=1,2,…,C。基于计算得到的Pr(Class_i|Object),在测试时可以计算某个bounding box类相关置信度:Pr(Class_i|Object)Pr(Object)IOU(pred|truth)=Pr(Class_i)IOU(pred|truth)。如果将输入图像划分为77网格(S=7),每个网格预测2个bounding box (B=2),有20类待检测的目标(C=20),则相当于最终预测一个长度为SS(B5+C)=7730的向量,从而完成检测+识别任务,
2.2 缺点:
虽然每个格子可以预测B个bounding box,但是最终只选择只选择IOU最高的bounding box作为物体检测输出,即每个格子最多只预测出一个物体。当物体占画面比例较小,如图像中包含畜群或鸟群时,每个格子包含多个物体,但却只能检测出其中一个。这是YOLO方法的一个缺陷。
2.3与fater RCNN的区别:
之前faster RCNN是先分两步,先提取region proposal,也就是判断是前景还是背景的问题,之后再分类,具体看前景是什么东西。而YOLO直接通过regression一次既产生坐标,又产生每种类别的概率。