YouOnly Look Once:
Unified,Real-Time Object Detection
YOLO(You only look once):将物体检测重新绘制作为一个简单的回归问题,直接从图像像素生成bounding box的坐标和类的预测。Using our system, you only look once at an image to predict whatobjects are present and where they are.
YOLO: 一个简单的卷积网络,同时预测多个boundingboxes和这些boxes所属的类。
YOLO trains on full images and directlyoptimizes detection performance.
YOLO在准确性方面仍落后于最先进的检测系统。 虽然它可以快速识别图像中的物体,但它正努力精确定位某些物体,尤其是小物体。我们在实验中进一步检查了这些折衷。
YOLO使用整幅图像的特征去预测每个boundingbox,并且同时它也预测图像中所有bounding boxes中所有类别。
YOLO将图像划分成S*S的网格,每个网格预测B个boundingboxes和boxes的confidence scores。这个confidence scores反映出box包含物体的自信和box被预测的精度,confidence的定义为Pr(Object)*IOU,如果bounding box内没有object则confidence等于0,否则,让confidence等于IOU。每个bounding box包括5个预测参数,(x,y,w,h,confidence)。此外,每个网格也能预测C个类的条件概率(条件是网格内包含一个物体)。每个网格给出一个类概率。由此,YOLO将生成S*S*(B*5+C)个张量,其中将B个bounding boxes的预测过程也加到了训练过程中。不用像silding window类型的Deformable parts models(DPB)和R_CNN类型通过RPN生成anchors,从而加快了网络的训练速度。
YOLO在训练的过程中,同样需要预训练模型,使用ImageNet数据集。在训练中的激活函数是一个leaky Relu.目标函数是对预测到的x,y,w,h,C与groud truth中x,y,w,h,C欧氏距离(平方和误差)的优化。尽管该优化目标实现较为简单,但是不能符合最大平均精度的目标,并且分类错误与定位错误的权重是等效的,从而会导致模型的不稳定。为了解决这个问题,文中增加bounding box loss和减少confidence预测loss。此外,对大box和小box也给出了权值的平衡。
其中,惩罚项包括两个,一个是classification error(物体在网格内的),另一个是bounding box coordinate error(选取有最大IOU的网格,预测的网格与真实的网格重叠面积最大)
由于YOLO从数据中预测边界框且预测边界框的特征较为粗糙。此外,分块对空间特征的约束,以及损失函数中对large bounding boxes 和small bounding boxes具有相同的loss,但是往往小的边界框对模型的影响更大。因此,YOLO是有限的检测模型。