一种照片档案的人物自动标注的方法

2020-02-02 06:46李刚
电子技术与软件工程 2020年15期
关键词:人脸指纹距离

李刚

(上海信联信息发展股份有限公司 上海市 200333)

1 引言

对照片档案的人物标注是一项重要的工作。照片档案上的人物标注是否准确、完整直接影响其利用价值。目前照片档案主要是通过人工标注,存在的问题是需逐张对照片上每个人进行标注,存在重复人物标注,效率较低。

为解决此问题,本文提出一种照片档案的人物自动标注的方法,利用人脸检测技术、人脸相似度比对算法和标注智能推荐算法,解决不同照片重复人物自动标注问题。该方法能够有效降低工作量,提高工作效率。

2 照片档案人物自动标注方案

2.1 总体方案

如图1所示,本文提出的标注方法的实现,主要包含流程:

本文通过创建人脸样本库,然后将待标注图像的人脸与人脸样本库的每个人脸逐一进行比对,当识别为相似人脸时,则会为该人脸进行自动标注,并合理选择图像的标注位置,自动标注完成后,可对标注结果进行人工确认,并完善人脸样本库。

2.2 建立人脸样本库

本文需先创建人脸样本库,其中人脸样本包括用于人脸比对的人脸指纹P 和用于标注的标注文本T。每个人脸样本的人脸指纹P和标注文本T 以键值对的形式表示。

如图2所示,人脸指纹P 方法如下:将人脸图像缩小到8x8 的尺寸,总共64 个像素。这一步的作用是去除图像的细节,只保留结构、明暗等基本信息,摒弃不同尺寸、比例带来的图像差异。将缩小后的图像,转为64 级灰度。计算所有64 个像素的灰度平均值。将每个像素的灰度,与平均值进行比较。大于或等于平均值,记为1;小于平均值,记为0。将上一步的比较结果组合在一起,构成一个64 位的整数,即为这张图像的指纹[1]。

将图像指纹P 与人脸图像标注文本T 组成键值作为人脸指纹样本,并将样本添加到人脸样本库。

2.3 人脸比对

本文涉及到人脸比对的过程,主要包含以下步骤:

第1 步:提取人脸;

第2 步:人脸指纹与样本指纹对比;

第3 步:筛出相似人脸;

针对待标注的照片图像,使用人脸检测算法,检测人脸是按照从上往下,从左往右的顺序依次进行检测,使用f(x,y,w,h)标记检测到的人脸图像区域,则第i 个人脸图像区域可以记作f(xi,yi,wi,hi),其中xi、yi为检测到的第i 个人脸的坐标,wi、hi为该人脸的宽度、高度。在总共检测到n 个人脸的情况下,该照片的n 个人脸区域分别为:f(x1,y1,w1,h1),f(x2,y2,w2,h2),……,f(xn,yn,wn,hn)。

使用汉明距离算法将待标注人脸的指纹,与样本库中的每个人脸样本的指纹逐一进行比对,从而得到待标注人脸指纹与样本指纹的不同数位个数,以此识别待标注人脸与人脸样本是否相似。[2]

人脸图像指纹的汉明距离计算方法如下:

公式(1)人脸图像指纹汉明距离计算方法

图1:整体流程

图2:人脸灰度图像生成64 位指纹

图3:自动标注流程图

其中,x,y 表示待标注人脸指纹与人脸样本指纹;i=0,1,…,63表示指纹的64 位编码,⊕表示异或。

当发现待标注人脸指纹与人脸样本指纹不同数位个数低于一定阈值时,则认为是同一人。本文规定阈值位数为5,即如果不同数位个数低于5,则说明待标注人脸和人脸样本相似,比对结果为同一人。

2.4 自动标注

当识别出相似人脸时,本文自动智能计算标注文本的合理位置,避免标注文本遮挡人脸或者标注文本相互遮挡的情况。

针对照片档案人物排列呈现多样性的特点,本文依据照片中检测出的人脸区域的排列特征,将标注位置与人脸位置居中对齐,并标到人脸正上方。然后判断标注与其他区域是否有遮挡,通过左右移动、上移、移动到照片整体上方或者下方进行标注,有效避免了标注遮挡的问题,实现有效标注[3]。如图3所示。

图4:标注文本四顶点示意图

图5:向右移动避免遮挡

图6:空白位置避免遮挡

在自动标注时,标注区域优先选择人脸上方区域,标注过程如下:

2.4.1 计算标注默认尺寸和位置

(1)设定该标注区域T(xt,yt,wt,ht),获取待标注人脸区域f(x,y,w,h),相似人脸样本的标注文本T;

(2)设置标注默认字体和字号,根据标注文本T 的文字个数和文字默认大小计算标注文本所占区域大小,计算标注区域T 的值wt与ht,当标注区域的宽度wt比人脸区域的宽度w 大的时候,缩小标注文本的字体大小,保证标注文本的宽度与人脸区域的宽度一致。标注区域T 默认位置是对应人脸区域的f 居中对齐,并向上平移ht 个像素值,作为标注区域的初始位置,从而得出T(xt,yt,wt,ht)四个顶点的坐标分别为[4]:

p1(xt,yt)、p2(xt+wt,yt)、p3(xt,yt+ht)、p4(xt+wt,yt+ht)。

2.4.2 判断标注有无遮挡

判断当前待标注人脸的标注区域四个顶点是否与其他人脸及标注区域重叠,即p1、p2、p3、p4 四个顶点是否落在该照片的其他人脸或者标注区域,如果没有,则直接绘制标注文本即可;如果有,则继续下述步骤进行平移以避免重合。

2.4.3 判断标注能否移动

(1)移动总体规则:判断能否向左、向右、向上移动,每个方向可以移动一次;

(2)判断是否能够向右移动,判断标准是:标注右边线的xt+wt比右侧人脸区域的x 的值小,并且标注左边线的xt比目标人脸区域的x+w/2 值小;

(3)判断是否能够向左移动,判断标准是:标注左边线的xt比左侧人脸区域和左侧标注区域的x+w 的值大并且标注右边线的xt+wt比目标人脸区域的x+w/2 值大;

(4)判断能否向上移动,判断标准是:标注上边线yt要大于上方人脸区域的y+h 的值。

2.4.4 横竖移动

通过移动标注以避免遮挡,标注移动之后,还是要再次验证是否与其他人脸以及标注区域是否有遮挡。

2.4.4.1 向右平移

(1)假设p1(xt,yt)落在f(xi,yi,wi,hi)区域中。

(2)确定移动距离d=xi+wi-xt,判断xt+wt+d 是否比右侧人脸区域x 小,并且xt+d 比目标人脸区域x+w/2 值小,如果验证通过,则标注向右平移距离d 以避免遮挡;否则无法通过向右平移避免遮挡。

(3)标注向右平移距离d 之后,得到标注四个顶点新的坐标如下:

p1(xt+d,yt)、p2(xt+wt+d,yt)、p3(xt+d,yt+ht)、p4(xt+wt+d,yt+ht)。

2.4.4.2 向左平移

(1)假设p2(xt+wt,yt)落在f(xi,yi,wi,hi)区域中。

(2)确定移动距离d=xt+wt-xi,判断xt-d 是否比左侧人脸区域和左侧标注区域x+w 大,并且xt+wt-d 比目标人脸区域x+w/2 值大,如果验证通过,则标注向左平移距离d 以避免遮挡;否则无法通过向左平移避免遮挡。

(3)标注向左平移d 之后,得到标注四个顶点新的坐标如下:

p1(xt-d,yt)、p2(xt+wt-d,yt)、p3(xt-d,yt+ht)、p4(xt+wt-d,yt+ht);

2.4.4.3 向上移动

(1)假设p3(xt,yt+ht)落在f(xi,yi,wi,hi)区域中。

(2)确定移动距离d=yt+ht-yi,判断yt-d 是否大于上部人脸区域的y+h 值,如果判断通过,则标注向上移动距离d 以避免遮挡;否则无法通过向上移动避免遮挡;

(3)标注向上移动距离d 之后,得到标注四个顶点新的坐标如下:

p1(xt,yt-d)、p2(xt+wt,yt-d)、p3(xt,yt+ht-d)、p4(xt+wt,yt+ht-d);

2.4.5 绘制标注文本当标注与其他人脸区域和标注区域没有遮挡时,可以直接将标注本文绘制到标注区域中。

2.4.6 空白区域引线标注

当无法通过移动以避免遮挡,则将标注区域沿y 轴向上或者向下移动到照片空白区域中,将标注文本绘制到标注区域中并增加指引线。如图6所示。

2.4.7 人工确认及完善样本库

当自动标注完成后,由人工进一步确认,比如对标注文本位置进行调整。人工继续手工确认新的人脸,确认新的人脸时候,将新的人脸图像指纹和标注文本添加到人脸样本库中,这样待下一张照片档案进行识别时,就可以使用更加完善的样本库进行对比[5]。

3 结束语

本文基于人脸检测算法、人脸相似度比较算法和标注位置智能推荐算法,实现重复人物自动标注为主、手工标注为辅的标注方式,使得标注在保证质量情况下,工作效率得到明显提高。

猜你喜欢
人脸指纹距离
有特点的人脸
像侦探一样提取指纹
算距离
三国漫——人脸解锁
基于自适应稀疏变换的指纹图像压缩
马面部与人脸相似度惊人
距离有多远