对于人类来说,给我们一张图片,或者我们瞄一眼一个画面,画面或图片中的每个物品和物品的相应位置就能立即被我们识别。然而,上面提到分类器似乎只能识别单一物品,即便能识别多个物品,也无法指出物品在图片中的位置。
1. 目标识别简史
2012年, Kriszhevsky团队用卷积神经网络(CNN)将人脸识别的准确率再提高了一个台阶,从此目标识别领域迈进了深度学习的时代。
2. YOLO原理简介
YOLO—You Only Look Once,顾名思义,就是对图片仅进行一次扫描就能同时识别多个物体,并标记出物体的位置。YOLO目前已经迭代出了多个版本,但是基本原理没有改变,我们以YOLO V2为例。
- 首先,YOLO将一张图片分成13×13个格子。
- 然后,YOLO对每个格子输出5个预测框。预测框的粗细可以表明这个框内存在目标物体的可能性。
- 其次,这些预测框同时可以预测目标物体的类别,如下图,用不同颜色标记不同类别(20个),粗细同样表示可能性的大小。
- 最后,YOLO将可能性比较大(比较粗)的预测框输出,就得到我们想要的结果了。
3. YOLO结构
如下图,所示,YOLO是由我们熟悉的若干个CNN堆叠而成的,我们来看看原始图片经过多层CNN处理之后,最后一层输出的是什么。
YOLO最后一层输出的是一个13×13×125的矩阵,所有我们需要的信息都包含在了这一层中。
13×13就是之前提到的图片中被划分成的13×13个格子。
每个格子包含125位信息,这125位信息包含5个预测框,每个预测框含有25位信息(125= 5×25)。
这25位信息,前五位为[x, y, width, height, Score];其中,(x, y) 表示预测框的中心坐标,width和height表示预测框的长,宽,Score表示预测框中有目标的可能性。
这25位信息,后20位每一位代表一个类别,其数表示属于该类别的概率。
4. 总结
参考资料
同步到我的Steemit