目标检测

目标检测是计算机视觉领域中一个新兴的应用方向。

目标定位

图像分类,定位分类和目标检测
图像分类是对图像进行分类,比如判断图像中是否是车。定位分类不仅要图片分类,而且需要确定目标在图像中的哪个位置。目标检测中要识别的对象不仅仅只有一个,目标检测要识别图像中多个对象。

自动驾驶需要用到目标检测技术。给出一张汽车行驶中的图片
自动驾驶图片
我们需要判断图中1-是否有行人,2-是否有车,3-是否有摩托车,4-图片是否只是背景图,还需要判断图中汽车的位置。设图片左上角的坐标是(0,0),右下角坐标为(1,1)。图中汽车的中心点位置大概为 ( b x = 0.5 , b y = 0.7 ) ,汽车的长和高分别是 b w = 0.3 b h = 0.4 。我们训练的神经网络就要有两种类型的输出,一种是4种对象的检测,另外一种是车的位置信息。

我们定义这张图片的标签y要包含下面几个元素

y = [ p c ( 是否有对象 ) b x b y b h b w c 1 ( 是否有行人 ) c 2 ( 是否有汽车 ) c 3 ( 是否摩托车 ) ]

如果图片中有任意的对象,比如上图,那么
y = [ 1 b x b y b h b w 0 1 0 ]

如果图片中什么都没有,那么
y = [ 0 ? ? ? ? ? ? ? ]

其中第一个元素置为0,其它元素可以不用设置,因为都没有任何对象了,我们不关心其它的信息了。

目标定位的损失函数是

l ( y ^ , y ) = { ( y ^ 1 y 1 ) 2 + ( y ^ 2 y 2 ) 2 + + ( y ^ 8 y 8 ) 2  if  y 1 = 1 ( y ^ 1 y 1 ) 2  if  y 1 = 0

这里简单地使用了平方损失函数。

特征点检测

除了可以使用矩形框标出目标在图片中的位置,还可以使用特征点来表示目标的位置。

在人脸检测中,可以使用特征点来表示人脸的位置,或者具体的部位,比如眼睛,鼻子,嘴巴。
y^1y1)2 if y1=1 if y1=0 l ( y ^ , y ) = { ( y ^ 1 y 1 ) 2 + ( y ^ 2 y 2 ) 2 + + ( y ^ 8 y 8 ) 2  if  y 1 = 1 ( y ^ 1 y 1 ) 2  if  y 1 = 0


这里简单地使用了平方损失函数。

特征点检测

除了可以使用矩形框标出目标在图片中的位置,还可以使用特征点来表示目标的位置。

在人脸检测中,可以使用特征点来表示人脸的位置,或者具体的部位,比如眼睛,鼻子,嘴巴。
人脸特征点
样本的标签y是一个坐标点的集合,第1个点表示左眼左侧眼角,第2个点表示左眼右侧眼角,第3个点表示右眼左侧眼角,以此类推。

特征点检测有许多应用场景。比如说AR,在人的头上显示一个皇冠,需要得到人脸的特征nline-block; position: relative; width: 0.925em; height: 0px;">y1

相关文章
相关标签/搜索