YOLO - You Only Look Once: Unified, Real-Time Object Detection
YOLO的核心思想就是利用整张图作为网络的输入,直接在输出层回归bounding box的位置和bounding box所属的类别。
You Only Look Once说的是只需要一次CNN运算,Unified指的是这是一个统一的框架,提供end-to-end的预测,而Real-Time体现是Yolo算法速度快。
1 边框回归 (Bounding Box Regression)
这是除了R-CNN以外很多论文都只是简略阐述的一部分内容,所以参考几篇回答以后在这里总结边框回归的具体概念。
过程简述
边框回归的目的:对红色的框进行微调,使得经过微调后的窗口跟Ground Truth更接近,这样定位会更准确。Bounding-box regression 就是用来微调这个窗口的一种思路。
一个bounding box可以用四维向量(x,y,w,h)(x,y,w,h)(x,y,w,h)来表示,Ground Truth也可以做出同样表示,那么便可光回顾的总体目标作出粗略描述。
(1.1)Given:(Px,Py,Pw,Ph)Given:( P_x,P_y,P_w,P_h ) \tag{1.1}Given:(Px,Py,Pw,Ph)(1.1)
(1.2)Find:f(Px,Py,Pw,Ph)≈G(Px,Py,Pw,Ph)Find: f( P_x,P_y,P_w,P_h ) \approx G(P_x,P_y,P_w,P_h) \tag{1.2}Find:f(Px,Py,Pw,Ph)≈G(Px,Py,Pw,Ph)(1.2)
那么经过何种变换才能从图 2 中的窗口PPP 变为窗口GGG呢? 比较简单的思路就是平移结合尺度放缩。
先做平移(Δx,Δy)(Δx,Δy),Δx=Pwdx(P),Δy=Phdy(P)Δx=Pwdx(P),Δy=Phdy(P)(Δx,Δy)(Δx,Δy), Δx=P_wd_x(P),Δy=P_hd_y(P)Δx=P_wd_x(P),Δy=P_hd_y(P)(Δx,Δy)(Δx,Δy),Δx=Pwdx(P),Δy=Phdy(P)Δx