一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于Dlib的面部穴位定位方法与流程

2021-11-22 14:09:00 来源:中国专利 TAG:

一种基于dlib的面部穴位定位方法
技术领域
1.本发明涉及人工智能领域,具体是一种基于dlib的面部穴位定位方法。


背景技术:

2.目前,对于面部穴位定位普遍采取个人经验判断,然而这种定位方法具有主观性,不同的人凭借经验判断会有不同的结果,这就导致了穴位定位的判断误差。
3.随着人工智能的发展,计算机视觉技术得到了广泛的应用,其中dlib通过机器学习算法可以准确的提取出人脸关键点信息,然后利用这些信息可以准确定位出面部穴位。


技术实现要素:

4.本发明的目的在于提供一种基于dlib的面部穴位定位方法,以解决上述背景技术中提出的问题。
5.本发明提供的一种基于dlib的面部穴位定位方法,包括以下步骤。
6.s1、通过摄像头采集一帧人体正面图像。
7.s2、将采集的图像进行优化处理。
8.s3、将优化后的图像输入dlib进行人脸检测画框,得到人脸数据。
9.s4、将人脸数据输入dlib进行人脸关键点检测,得到脸部关键点数据。
10.s5、将脸部关键点数据输入point模型进行运算,得到穴位点数据。
11.s6、利用人脸矩形框坐标对原始正面图像进行裁剪,得到人脸部图像。
12.s7、将穴位点坐标描点到人脸部图像上。
13.s8、添加文字说明到人脸部图像上。
14.s9、将人脸部图像输出到显示器上。
15.上述步骤所使用的计算机的型号为jetson nano b01。
16.所述步骤s2的图像优化是利用opencv将图像灰度化处理并将分辨率压缩至640*640。
17.所述步骤s3通过人脸检测画框输出人脸矩形框数据[(left,right,top,bottom)]。图像左上角是(0,0)点,水平为x方向,竖直为y方向,x1=left、y1=top、x2=right、y2=bottom,这样就得到了人脸矩形框坐标[(x1, y1) (x2, y2)]。
[0018]
所述步骤s4通过人脸关键点检测得到68个关键点坐标。
[0019]
所述步骤s5的point模型是通过训练标准面部穴位图生成的穴位点检测模型。将脸部关键点坐标输入point模型就能得到穴位点坐标。
[0020]
所述步骤s7的穴位描点是将穴位点在人脸部图像上绘制成不同颜色的点。
[0021]
所述步骤s8的添加文字说明是在人脸部图像的穴位点附近添加穴位名称与功能的文字说明。
[0022]
循环执行s1

s9步骤,就可以在显示器上实时显示出被采集人的面部穴位点动态图像。
附图说明
[0023]
以下结合附图和实施例对本发明做进一步详细描述。
[0024]
附图1是本发明的方法流程图。
具体实施方式
[0025]
如图1所示,本发明提供的一种基于dlib的面部穴位定位方法,包括以下步骤。
[0026]
s1、在被检测位置的正前方放置摄像头,采集一帧人体正面图像(图中1):通过cv2.videocapture(0)函数调用摄像头,并通过cap.read()函数读取图像帧。
[0027]
s2、将采集的图像进行优化处理(图中2):通过cap.set(3, 640)函数设置视频参数,使采集分辨率限制在640*640,使用cv2.cvtcolor(img_rd, cv2.color_rgb2gray)函数将图像进行灰度化处理。
[0028]
s3、对图像进行人脸检测画框(图中3):通过detector=dlib.get_frontal_face_detector()加载人脸检测器,将灰度图像输入detector(img_gray,0)函数进行人脸检测画框,输出人脸矩形框数据[(left,right,top,bottom)] (图中4)。图像左上角是(0,0)点,水平为x方向,竖直为y方向,x1 = left、y1 = top、x2 = right、y2 = bottom,这样就得到了人脸矩形框坐标 [(x1, y1) (x2, y2)] (图中5)。
[0029]
s4、对图像进行人脸关键点检测(图中6):通过predictor=dlib.shape_predictor(

shape_predictor_68_face_landmarks.dat’)加载68个关键点模型(图中7),生成人脸关键点检测器,将人脸矩形框数据(图中4)输入predictor(img_rd, shape)函数进行人脸关键点检测,得到脸部68个关键点坐标(图中8)。
[0030]
s5、将脸部68个关键点坐标进行point模型运算(图中9):首先通过训练标准面部穴位图(图中10、11)生成穴位点检测模型point_marks.dat(图中12),然后通过point=dlib.shape_predictor(

point_marks.dat’)加载穴位点检测模型,生成穴位坐标检测器,将脸部68个关键点坐标(图中8)输入point(img_rd, shape)函数进行穴位坐标检测,得到脸部穴位点坐标(图中13)。
[0031]
s6、人脸部图像裁剪(图中14):利用人脸矩形框坐标(图中5)对人体正面图像进行裁剪,得到人脸部图像(图中15)。
[0032]
s7、面部穴位描点(图中16):将穴位点坐标(图中13)与人脸部图像(图中15)输入绘图函数cv2.circle,对人脸部图像进行穴位描点描点,并在不同穴位点描上不同的颜色。
[0033]
s8、穴位点添加文字说明(图中17):使用绘字函数cv2.puttext在人脸部图像的穴位点附近添加上穴位名称与功能的文字说明。
[0034]
s9、将绘制完成的人脸部图像输出到显示器(图中18):使用cv2.setwindowproperty("point",cv2.wnd_prop_fullscreen,cv2.window_fullscreen) 函数设置为全屏显示,并使用cv2.imshow("point", im0) 函数将绘制完成的人脸部图像输出到显示器。


技术特征:
1.一种基于dlib的面部穴位定位方法,其特征在于所述方法包括以下步骤:s1、通过摄像头采集一帧人体正面图像;s2、将采集的图像进行优化处理;s3、将优化后的图像输入dlib进行人脸检测画框,得到人脸数据;s4、将人脸数据输入dlib进行人脸关键点检测,得到脸部关键点数据;s5、将脸部关键点数据输入point模型进行运算,得到穴位点数据;s6、利用人脸矩形框坐标对原始正面图像进行裁剪,得到人脸部图像;s7、将穴位点坐标描点到人脸部图像上;s8、添加文字说明到人脸部图像上;s9、将人脸部图像输出到显示器上。2.一种基于dlib的面部穴位定位方法,其特征在于所述方法使用的计算机型号为jetson nano b01。3.根据权利要求1所述的基于dlib的面部穴位定位方法,其特征在于所述步骤s2的图像优化是利用opencv将图像灰度化处理并将分辨率压缩至640*640。4.根据权利要求1所述的基于dlib的面部穴位定位方法,其特征在于所述步骤s3通过人脸检测画框输出人脸矩形框数据。5.根据权利要求1所述的基于dlib的面部穴位定位方法,其特征在于所述步骤s4通过人脸关键点检测得到68个关键点坐标。6.根据权利要求1所述的基于dlib的面部穴位定位方法,其特征在于所述步骤s5的point模型是通过训练标准面部穴位图生成的穴位点检测模型。7.根据权利要求1所述的基于dlib的面部穴位定位方法,其特征在于所述步骤s7的穴位描点是将穴位点在人脸部图像上绘制成不同颜色的点。8.根据权利要求1所述的基于dlib的面部穴位定位方法,其特征在于所述步骤s8的添加文字说明是在人脸部图像的穴位点附近添加穴位名称与功能的文字说明。9.根据权利要求1所述的基于dlib的面部穴位定位方法,其特征在于循环执行s1

s9步骤,就可以在显示器上实时显示出被采集人的面部穴位点动态图像。

技术总结
本发明公开了一种基于Dlib的面部穴位定位方法,是通过摄像头采集人脸部图像后利用Dlib对图像进行人脸关键点检测得到脸部关键点坐标,通过训练标准面部穴位图生成穴位点检测模型,将脸部关键点坐标输入穴位点检测模型进行穴位点检测得到穴位点坐标,将穴位点坐标与文字说明绘制到人脸部图像上并输出至显示器,就可以在显示器上实时显示出被采集人的面部穴位点的动态图像。部穴位点的动态图像。部穴位点的动态图像。


技术研发人员:白琨
受保护的技术使用者:白琨
技术研发日:2021.08.27
技术公布日:2021/11/21
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献