发明名称 基于灰度直方图匹配的人脸照片太阳镜自动去除方法
摘要 本发明公开一种基于灰度直方图匹配的人脸照片太阳镜自动去除方法,包括以下步骤:包括以下步骤:获取采集的初始人脸图像,从而根据特征点信息获得描述全脸轮廓线信息和脸部五官的特征点位置和五官轮廓线信息;获取描述左右两只眼睛和两只眉毛的特征点的具体位置,分别获得左右两只眼睛部位的横向、纵向上最值,勾勒出目标图片区;获取未佩戴太阳镜的参考人脸图像;并根据获得的左右两只眼睛和两只眉毛的位置,分别计目标图片区中眉毛区域和眼睛区域各自的灰度直方图;对修饰后目标图片灰度直方图进行直方图均衡化操作,修饰后目标图片灰度直方图的灰度分布均会完全覆盖[0,255];将获得的太阳镜目标区域取并集获得修正后太阳镜目标区域。本发明大大提高了最终的识别率,提高该技术的易用性和实用性。
申请公布号 CN106570447A 申请公布日期 2017.04.19
申请号 CN201510941267.5 申请日期 2015.12.16
申请人 黄开竹;江浩川 发明人 黄开竹;江浩川
分类号 G06K9/00(2006.01)I;G06K9/34(2006.01)I 主分类号 G06K9/00(2006.01)I
代理机构 苏州创元专利商标事务所有限公司 32103 代理人 马明渡;王健
主权项 一种基于灰度直方图匹配的人脸照片太阳镜自动去除方法,其特征在于:包括以下步骤:步骤一、获取采集的初始人脸图像,并通过已训练好的主动形状模型获取79个特征点信息,从而根据79个特征点信息获得描述全脸轮廓线信息和脸部五官的特征点位置和五官轮廓线信息;步骤二、根据步骤一中获取的79个特征点中,选取描述左、右眼球中心的两个特征点,对整幅照片进行<img file="677938dest_path_image001.GIF" wi="29" he="20" />角的旋转操作后获得旋转后初始人脸图像,再重复步骤一获得旋转后初始人脸图像的修正后79个特征点,从而根据修正后79个特征点信息获得描述修正后全脸轮廓线信息和脸部五官的特征点位置和五官轮廓线信息,旋转角度如下:<img file="766033dest_path_image001.GIF" wi="232" he="83" />上述公式中,<img file="762886dest_path_image003.GIF" wi="16" he="19" />为实际照片偏角,<img file="647665dest_path_image004.GIF" wi="20" he="22" />和<img file="914698dest_path_image005.GIF" wi="21" he="21" />为左眼中心的像素坐标,<img file="425183dest_path_image004.GIF" wi="20" he="22" />和<img file="156378dest_path_image005.GIF" wi="21" he="21" />为右眼中心的像素坐标;步骤三、根据步骤二的获取的修正后79个特征点中描述左右两只眼睛和两只眉毛的特征点的具体位置,分别获得左右两只眼睛部位的横向、纵向上最值,勾勒出左、右眼及其周围部位的目标图片区;步骤四、获取未佩戴太阳镜的参考人脸图像,并对参考人脸图像依次进行所述步骤一~步骤三操作获取参考人脸图像中左、右眼及其周围部位的参考图片区,将参考图片区分为眼睛部位区和眼睛周围皮肤部位区,分别计算眼睛部位区和眼睛周围皮肤部位区的目标直方图,并获得相应的眼睛参考灰度直方图和眼睛周围皮肤参考灰度直方图,所述眼睛参考灰度直方图和眼睛周围皮肤参考灰度直方图表示图像中具有某种灰度级的像素个数,并反映了图像中某种灰度出现的频率,具体表达为:<img file="962792dest_path_image006.GIF" wi="169" he="25" />,式中,<img file="779438dest_path_image007.GIF" wi="39" he="26" />代表像素值为<img file="822175dest_path_image008.GIF" wi="11" he="20" />的像素出现的频率,<img file="407877dest_path_image009.GIF" wi="20" he="19" />为其出现的次数,<img file="837721dest_path_image010.GIF" wi="16" he="18" />为图像中像素总数;步骤五‑1、根据步骤三获得的左右两只眼睛和两只眉毛的位置,分别计算目标图片区中眉毛区域和眼睛区域各自的灰度直方图,将眉毛区域的灰度直方图与其人脸额头部位的图像像素点的灰度分布直方图进行匹配,将眼睛区域的灰度直方图与对应眼睛周围皮肤的图像像素点的灰度直方图进行匹配,从而获得抹去眉毛和眼睛后目标图片区,并计算得出其灰度直方图,获得修饰后目标图片区域灰度直方图;步骤五‑2、对修饰后目标图片灰度直方图进行直方图均衡化操作,修饰后目标图片灰度直方图的灰度分布均会完全覆盖[0,255];步骤五‑3、引入一类似带通滤波器作用的上下阈值操作,将高于上阈值和低于下阈值的像素点全部映射到最高的灰度(255),在下阈值和上阈值之间的像素点灰度不变化,获得经过带通滤波后的修饰后目标图片;步骤五‑4、对于经过带通滤波后的修饰后目标图片,根据步骤三中获得的左右两只眼睛的具体位置以及眼睛中心位置,进行类似步骤三的操作,获得横向、纵向上最值,从而获取左右两只眼睛的边界框,并计算得出该边界框在像素上的长度和高度;步骤五‑5、根据灰度亮度梯度对经过上述过程后所得到的图片进行边界检测并获取初始边界轮廓,对于每一条初始轮廓,计算轮廓上每一个点到相应眼睛中心的距离,并选取该距离的上下两阈值:上阈值为相应眼睛长度的一半、下阈值为相应眼睛高度的一半,比较每一个点到中心点的距离并计数:如果全轮廓中超过三成以上的点到相应眼睛的中心点的距离均超过上阈值或均超过下阈值,则判断该轮廓为无效的眼镜轮廓,并将该轮廓剔除;如果所有轮廓线均被剔除,则可判断该人脸图片并未佩戴眼镜;如果仍有轮廓线未被剔除,则只可判断为该人脸图片可能佩戴了眼睛;步骤六、使用K‑Means算法对从步骤三中所获得的,目标区域图像进行像素点分类,因为通过肉眼观察,被太阳镜遮盖的部分与未遮盖部分在灰度取值上有着明显的不同,因此考虑使用两个簇(cluster)的K‑Means聚类算法,具体实现方法如下:(1)对于目标图片的所有像素点,随机选取其中2个像素点,作为聚类质心点(cluster centroids),为<img file="dest_path_image011.GIF" wi="19" he="21" />和<img file="954713dest_path_image012.GIF" wi="18" he="20" />;(2)重复以下过程,直到收敛:{①. 遍历区域中所有像素点,对于其中每一个像素点,计算其应该属于的簇:<img file="683174dest_path_image002.GIF" wi="272" he="63" />X<sup>(i)</sup>为当前像素点的像素值②.重新计算两个聚类的质心:<img file="dest_path_image003.GIF" wi="283" he="99" />其中:指示函数<img file="dest_path_image015.GIF" wi="188" he="27" />收敛后,判断两类的平均灰度,并选取平均灰度较低的一个聚类为疑似眼镜区域;步骤七‑1、将步骤五和步骤六各自获得的太阳镜目标区域取并集获得修正后太阳镜目标区域;步骤七‑2、对于修正后太阳镜目标区域,分别计算对应左右两只眼睛的区域所占像素点的个数,对于一副256*256大小的输入人脸图片,如果左眼镜及右眼镜两区域所覆盖的像素点个数在[600,1800]之间时,即可确认该幅人脸照片确实佩戴了眼镜;对于只有一只眼镜满足上述条件,则将不满足上述条件的眼镜区域删除,并将对侧眼镜区域进行图片镜像操作,仍确认为佩戴眼镜的人连照片;对于两个区域均不满足上述条件,则将其确认为未佩戴眼镜的人脸照片;步骤八‑1、根据步骤七获得修正后太阳镜目标区域,根据眼睛特征点分别将修正后太阳镜目标区域分为太阳镜目标眼睛部位区和太阳镜目标眼睛周围皮肤部位区,分别计算太阳镜目标眼睛部位区和太阳镜目标眼睛周围皮肤部位区的直方图获得相应的眼睛目标灰度直方图和眼睛周围皮肤目标灰度直方图;步骤八‑2、将眼睛目标灰度直方图和眼睛周围皮肤目标灰度直方图均进行直方图均衡化操作获得均衡化眼睛目标灰度直方图和均衡化眼睛周围皮肤目标灰度直方图;并将步骤四的眼睛参考灰度直方图和眼睛周围皮肤参考灰度直方图均衡化操作获得均衡化眼睛参考灰度直方图和均衡化眼睛周围皮肤参考灰度直方图;步骤八‑3、根据均衡化眼睛目标灰度直方图中某个目标灰度值对应的概率值寻找均衡化眼睛参考灰度直方图中与其概率取值最接近的参考灰度取值,然后用具有最接近概率取值的参考灰度取值替换相应的目标灰度值,并依次对均衡化眼睛目标灰度直方图中其它目标灰度值作同样操作;步骤八‑4、根据均衡化眼睛周围皮肤目标灰度直方图中某个目标灰度值对应的概率值寻找均衡化眼睛周围皮肤参考灰度直方图中与其概率取值最接近的参考灰度取值,然后用具有最接近概率取值的参考灰度取值替换相应的目标灰度值,并依次对均衡化眼睛周围皮肤目标灰度直方图中其它目标灰度值作同样操作,从而完成人脸照片太阳镜自动去除。
地址 215123 江苏省苏州市工业园区仁爱路111号