卷积神经网络—目标检测 学习笔记(上)

3.1 目标定位(Object Localization)

卷积神经网络—目标检测 学习笔记(上)_第1张图片
Image classification(图像分类):对输入图像进行分类。例如有一个猫狗分类器,当你输入一张图片时,分类器能分辨出这是猫或者是狗,这便是图像分类。
Classification with localization(定位分类):不仅要进行图像分类,还要得到被检测目标的位置(用包围盒bounding box表示)。注意,定位分类问题中每张图片仅涉及一个目标。
Detection:是能够同时处理多个、多种目标的分类定位。

三者之间实际是一种逐渐复杂的关系。
下面介绍定位分类算法:
如果使用监督学习进行训练,那么一个训练样本(X,Y)分别如下(假设有三种目标,编号为0,1,2):
X:输入图像

Y: Pcbxbybhbwc0c1c2 [ P c b x b y b h b w c 0 c 1 c 2 ]
Pc P c :目标是否存在
bx b x :包围盒中心的横坐标值
by b y :包围盒中心的纵坐标值
bh b h :包围盒的高
bw b w :包围盒的宽
c0,c1,c2 c 0 , c 1 , c 2 只有一个为1,表示被检测到目标的编号。
注意,当 Pc=0 P c = 0 时其余的分量没有意义。
简单起见,使用方差损失函数:

 L(y,y^)={|yy^|2,yy^  (PcP^c)2,  Pc0,Pc=0    L ( y , y ^ ) = { | y − y ^ | 2 , ( y − y ^ 模 的 平 方 )     P c ≠ 0 , ( P c − P ^ c ) 2 ,     P c = 0  

3.2 特征点检测(Landmark Detection)

获取特征点可以有许多有意思的应用,如判断人物的动作姿态,识别图片中的人物表情,以及相机的贴图功能等等。接下来介绍获得一个可以检测指定特征点的神经网络。
卷积神经网络—目标检测 学习笔记(上)_第2张图片

假设我们要检测人眼的关键点,那么需要的关键点是上图中四个绿色点,从左到右编号为 E1,E2,E3,E4 E 1 , E 2 , E 3 , E 4
一个训练样本(X,Y)设计如下:
X:输入图像
Y: isFaceE1xE1yE2xE2yE3xE3yE4xE4y [ i s F a c e E 1 x E 1 y E 2 x E 2 y E 3 x E 3 y E 4 x E 4 y ]

3.3 目标检测(Object Detection)

介绍了最基本的滑动窗口检测算法(sliding windows detection algorithm)。
如果我们现有有一个ConvNet,可以识别多种目标,那么如何在一张图片中(包含多个或多种目标)进行目标检测呢?滑动窗口可以。
卷积神经网络—目标检测 学习笔记(上)_第3张图片
使用一个固定大小的窗口在图片上滑动,并将对应的部分截取输入到ConvNet进行识别,当所截取部分包含目标时就可以获得分类信息和目标位置。
为了适应大小不同的目标,我们可以使用多个尺寸的窗口进行滑动操作。
滑动窗口是最基本的目标检测算法,优点是算法简单,缺点也显而易见:计算成本太高,因为窗口滑动会产生大量的截图,我们要将大量截图输入到ConvNet中进行识别,计算成本非常大。

你可能感兴趣的:(算法,吴恩达深度学习笔记)