【深度学习基础】第三十二课:目标定位和特征点检测

【深度学习基础】系列博客为学习Coursera上吴恩达深度学习课程所做的课程笔记。

1.目标定位(Object Localization)

以检测图片中的汽车为例,目标定位不仅需要判断图片中是否存在汽车,还需要标记出汽车所在位置,即用一个边框(bounding box)将汽车圈起来,如下图所示:

对于图片分类(假设图片中只含有一个待检测的object)问题,构建一个卷积神经网络,输出层为softmax函数,判断图片为汽车、行人、摩托车或者背景(即图片中无object的情况)等四个类别中的哪一类。而对于目标定位问题,我们除了完成上述的分类,还要将汽车、行人或者摩托车的bounding box预测出来。

接下来我们来说一下如何定义网络的输出 y y y

y = [ P c b x b y b h b w c 1 c 2 c 3 ] y=\begin{bmatrix} P_c \\ b_x \\ b_y \\ b_h \\ b_w \\ c_1 \\ c_2 \\ c_3 \end{bmatrix} y= Pcbxbybhbwc1c2c3

符号含义:

  • P c P_c Pc等于0或1。 P c = 1 P_c=1 Pc=1表示图片属于汽车、行人、摩托车三个类别中的一个。 P c = 0 P_c=0 Pc=0表示图片属于背景。
  • b x , b y , b h , b w b_x,b_y,b_h,b_w bx,by,bh,bw四个数表示bounding box, ( b x , b y ) (b_x,b_y) (bx,by)为bounding box中心点的坐标, b h , b w b_h,b_w bh,bw分别为bounding box的height和width。
  • c 1 , c 2 , c 3 c_1,c_2,c_3 c1,c2,c3均等于0或1,分别表示图片是否为汽车、行人或者摩托车。

例如,如果图片属于汽车,则其标签y应该为:

y = [ 1 b x b y b h b w 1 0 0 ] y=\begin{bmatrix} 1 \\ b_x \\ b_y \\ b_h \\ b_w \\ 1 \\ 0 \\ 0 \end{bmatrix} y= 1bxbybhbw100

注意当 P c = 0 P_c=0 Pc=0时, b x , b y , b h , b w , c 1 , c 2 , c 3 b_x,b_y,b_h,b_w,c_1,c_2,c_3 bx,by,bh,bw,c1,c2,c3都将失去意义。

知道了如果定义输出,那我们该如何定义loss function呢?例如我们可以构建如下:

L ( y ^ , y ) = { ( y ^ 1 − y 1 ) 2 + ( y ^ 2 − y 2 ) 2 + ⋯ + ( y ^ 8 − y 8 ) 2 , y 1 = 1 ( y ^ 1 − y 1 ) 2 , y 1 = 0 L(\hat{y},y) = \begin{cases} (\hat{y}_1-y_1)^2+(\hat{y}_2-y_2)^2+ \cdots + (\hat{y}_8-y_8)^2, y_1=1 \\ (\hat{y}_1-y_1)^2, y_1=0 \\ \end{cases} L(y^,y)={(y^1y1)2+(y^2y2)2++(y^8y8)2,y1=1(y^1y1)2,y1=0

在实际应用中,我们可以用逻辑回归来预测 P c P_c Pc,用softmax预测 c 1 , c 2 , c 3 c_1,c_2,c_3 c1,c2,c3,这样我们可以用交叉熵损失函数来计算这两部分的loss,剩余的bounding box可以用均方误差来表示。

2.特征点检测(Landmark Detection)

例如我们需要在人脸图片中识别出人脸的四个眼角:

我们可以构建网络的输出层如下:

y = [ l 1 x l 1 y l 2 x l 2 y l 3 x l 3 y l 4 x l 4 y ] y=\begin{bmatrix} l_{1x} \\ l_{1y} \\ l_{2x} \\ l_{2y} \\ l_{3x} \\ l_{3y} \\ l_{4x} \\ l_{4y} \\\end{bmatrix} y= l1xl1yl2xl2yl3xl3yl4xl4y

其中, l 1 x , l 1 y , l 2 x , l 2 y , l 3 x , l 3 y , l 4 x , l 4 y l_{1x},l_{1y},l_{2x},l_{2y},l_{3x},l_{3y},l_{4x},l_{4y} l1x,l1y,l2x,l2y,l3x,l3y,l4x,l4y分别表示四个眼角位置的坐标。

同样的,我们也可以将人体的关节点作为landmark,从而进一步预测人体姿态:


想要获取最新文章推送或者私聊谈人生,请关注我的个人微信公众号:⬇️x-jeff的AI工坊⬇️

个人博客网站:https://shichaoxin.com

GitHub:https://github.com/x-jeff


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值