CN113033341B - 图像处理方法、装置、电子设备及存储介质 - Google Patents
图像处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113033341B CN113033341B CN202110257990.7A CN202110257990A CN113033341B CN 113033341 B CN113033341 B CN 113033341B CN 202110257990 A CN202110257990 A CN 202110257990A CN 113033341 B CN113033341 B CN 113033341B
- Authority
- CN
- China
- Prior art keywords
- point
- vertical
- distance
- horizontal
- key points
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 53
- 238000000034 method Methods 0.000 claims abstract description 21
- 238000006073 displacement reaction Methods 0.000 claims description 94
- 230000004044 response Effects 0.000 claims description 27
- 230000002596 correlated effect Effects 0.000 claims description 21
- 238000001514 detection method Methods 0.000 claims description 21
- 230000033001 locomotion Effects 0.000 claims description 20
- 238000009877 rendering Methods 0.000 claims description 14
- 230000001815 facial effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 7
- 230000000694 effects Effects 0.000 abstract description 22
- 210000003128 head Anatomy 0.000 description 244
- 238000010586 diagram Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 210000001061 forehead Anatomy 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 210000004709 eyebrow Anatomy 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000002238 attenuated effect Effects 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000005491 wire drawing Methods 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 238000000418 atomic force spectrum Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
Abstract
本公开是关于一种图像处理方法、装置、电子设备及存储介质,属于计算机技术领域。方法包括:根据目标水平关键点与基准点之间的第一距离、目标竖直关键点与基准点之间的第二距离、由基准点指向任一像素点的方向与竖直线之间的夹角,确定变形长度;将每个方向上与基准点之间的距离不大于所在方向上的变形长度的像素点构成变形目标区域;将变形目标区域中属于头部区域的像素点向靠近基准点的方向移动,并将变形目标区域中不属于头部区域的像素点向靠近基准点的方向进行拉伸,得到变形后的图像。根据基准点与关键点自适应确定每个方向的变形长度,根据变形长度确定的变形目标区域能够贴合头部轮廓,缩减了变形目标区域,能够提高缩小头部区域的效果。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种图像处理方法、装置、电子设备及存储介质。
背景技术
随着图像处理技术的不断发展,对图像的处理方式也越来越丰富,例如在图像中添加贴纸和滤镜,或者为图像中的人脸添加大眼特效、瘦脸特效、上妆特效等进行美颜。除此之外,为了增加图像的趣味性,还可以将图像中的头部区域进行缩小,以达到小头效果。
相关技术中,先在图像中确定一个包括头部区域的圆形区域,然后将圆形区域中的头部区域缩小,将圆形区域中除头部区域之外的区域拉伸,得到变形后的图像。但是由于存在各种各样的头型,不同图像中的头部轮廓是不同的,圆形区域并不能贴合所有的头部轮廓,因此基于圆形区域缩小头部区域的方式不够准确,影响图像处理效果。
发明内容
本公开提供了一种图像处理方法、装置、电子设备及存储介质,能够提高缩小图像中的头部区域的效果。
根据本公开实施例的第一方面,提供一种图像处理方法,所述图像处理方法包括:
确定原始图像中的头部区域的基准点、两个水平关键点和两个竖直关键点,所述两个水平关键点关于所述头部区域的中轴线对称,所述两个竖直关键点位于所述头部区域的中轴线上,所述基准点为所述两个水平关键点所在的水平线与所述两个竖直关键点所在的竖直线之间的交点;
根据目标水平关键点与所述基准点之间的第一距离、目标竖直关键点与所述基准点之间的第二距离、由所述基准点指向所述头部区域中的任一像素点的方向与所述竖直线之间的夹角,确定所述方向上的变形长度,所述目标水平关键点是所述两个水平关键点中的任一水平关键点,所述目标竖直关键点是根据所述任一像素点的位置在所述两个竖直关键点中确定的一个竖直关键点;
将以所述基准点为起点的每个方向上,与所述基准点之间的距离不大于所在方向上的变形长度的像素点,构成变形目标区域,所述每个方向是指所述基准点与每个像素点的连线方向;
将所述变形目标区域中属于所述头部区域的像素点向靠近所述基准点的方向移动,并将所述变形目标区域中不属于所述头部区域的像素点向靠近所述基准点的方向进行拉伸,得到变形后的图像。
可选地,所述确定原始图像中的头部区域的基准点、两个水平关键点和两个竖直关键点,包括:
检测所述头部区域的多个关键点,所述多个关键点包括多个第一关键点和多个第二关键点,所述第一关键点位于关于所述中轴线对称的脸部部位,所述第二关键点位于所述中轴线上的脸部部位;
从所述多个第一关键点中,选取关于所述中轴线对称的所述两个水平关键点;
从所述多个第二关键点中,选取位于所述中轴线上的所述两个竖直关键点;
将所述两个水平关键点所在的水平线与所述两个竖直关键点所在的竖直线之间的交点,确定为所述基准点。
可选地,所述头部区域包括脸部区域,所述图像处理方法还包括:
检测所述头部区域的多个关键点,得到位于所述头部区域的多个头部关键点;
检测所述脸部区域的多个关键点,得到位于所述脸部区域的多个脸部关键点;
在所述多个头部关键点或者所述多个脸部关键点中选取两个水平参考关键点和两个竖直参考关键点,所述两个水平参考关键点关于所述头部区域的中轴线对称,所述两个竖直参考关键点位于所述中轴线上;
基于所述多个头部关键点与参考基准点之间的距离,或者基于所述多个脸部关键点与所述参考基准点之间的距离,确定参考尺寸,所述参考尺寸与所述距离正相关,所述参考基准点为所述两个水平参考关键点所在的水平线与所述两个竖直参考关键点所在的竖直线之间的交点。
可选地,所述确定原始图像中的头部区域的基准点、两个水平关键点和两个竖直关键点,包括:
根据所述参考尺寸,在所述多个头部关键点或者所述多个脸部关键点中,选取关于所述中轴线对称的所述两个水平关键点和位于所述中轴线上的所述两个竖直关键点;
将选取的所述两个水平关键点所在的水平线与选取的所述两个竖直关键点所在的竖直线之间的交点,确定为所述基准点。
可选地,所述根据所述参考尺寸,在所述多个头部关键点或者所述多个脸部关键点中,选取关于所述中轴线对称的所述两个水平关键点和位于所述中轴线上的所述两个竖直关键点,包括:
响应于所述参考尺寸大于尺寸阈值,在所述多个脸部关键点中,选取关于所述中轴线对称的所述两个水平关键点和位于所述中轴线上的所述两个竖直关键点;
响应于所述参考尺寸不大于所述尺寸阈值,在除了所述多个脸部关键点之外的头部关键点中,选取关于所述中轴线对称的所述两个水平关键点和位于所述中轴线上的所述两个竖直关键点。
可选地,所述根据目标水平关键点与所述基准点之间的第一距离、目标竖直关键点与所述基准点之间的第二距离、由所述基准点指向所述头部区域中的任一像素点的方向与竖直方向之间的夹角,确定所述方向上的变形长度,包括:
响应于所述像素点位于所述基准点的上方,根据所述目标水平关键点与所述基准点之间的第一距离、位于所述基准点上方的目标竖直关键点与所述基准点之间的第二距离、由所述基准点指向所述像素点的方向与所述竖直线之间的夹角,确定所述方向上的变形长度;
响应于所述像素点位于所述基准点的下方,根据所述目标水平关键点与所述基准点之间的第一距离、位于所述基准点下方的目标竖直关键点与所述基准点之间的第二距离、由所述基准点指向所述像素点的方向与所述竖直线之间的夹角,确定所述方向上的变形长度。
可选地,所述根据目标水平关键点与所述基准点之间的第一距离、目标竖直关键点与所述基准点之间的第二距离、由所述基准点指向所述头部区域中的任一像素点的方向与所述竖直线之间的夹角,确定所述方向上的变形长度,包括:
根据所述第二距离与所述第一距离之间的比例以及所述夹角,确定径向权重,所述径向权重与所述夹角负相关,所述径向权重与所述比例正相关;
根据所述径向权重对所述第一距离进行加权,得到所述变形长度。
可选地,所述将所述变形目标区域中属于所述头部区域的像素点向靠近所述基准点的方向移动,包括:
对于所述变形目标区域中属于所述头部区域的任一像素点,根据所述像素点与所述基准点之间的第三距离,确定所述像素点的第一横向变形力度和第一竖向变形力度,所述第一横向变形力度与所述第三距离负相关,所述第一竖向变形力度与所述第三距离负相关;
根据所述第一横向变形力度,对所述第三距离的横向距离进行加权,得到所述像素点的水平位移量;
根据所述第一竖向变形力度,对所述第三距离的竖向距离进行加权,得到所述像素点的竖直位移量;
将所述像素点向靠近所述基准点的方向水平移动与所述水平位移量相等的距离,竖直移动与所述竖直位移量相等的距离。
可选地,所述原始图像的边缘线由两个竖直边缘线和两个水平边缘线连接构成,所述根据所述像素点与所述基准点之间的第三距离,确定所述像素点的第一横向变形力度和第一竖向变形力度,包括:
确定所述像素点与所述原始图像的所述两个竖直边缘线之间的最小横向距离;
根据所述第三距离和所述最小横向距离,确定所述第一横向变形力度,所述第一横向变形力度与所述最小横向距离正相关;
确定所述像素点与所述原始图像的所述两个水平边缘线之间的最小竖向距离;
根据所述第三距离和所述最小竖向距离,确定所述第一竖向变形力度,所述第一竖向变形力度与所述最小竖向距离正相关。
可选地,所述将所述变形目标区域中属于所述头部区域的像素点向靠近所述基准点的方向移动,包括:
在从所述像素点靠近所述基准点的方向上,确定另一像素点;
将所述像素点的图像信息渲染至所述另一像素点。
可选地,所述将所述变形目标区域中属于所述头部区域的像素点向靠近所述基准点的方向移动,包括:
在图像处理界面中显示所述原始图像;
获取在所述图像处理界面输入的第二变形力度;
根据所述第二变形力度,对所述第三距离的横向距离进行加权,得到水平位移量;
根据所述第二变形力度,对所述第三距离的竖向距离进行加权,得到竖直位移量;
将所述像素点向靠近所述基准点的方向水平移动与所述水平位移量相等的距离,竖直移动与所述竖直位移量相等的距离。
根据本公开实施例的第二方面,提供一种图像处理装置,所述图像处理装置包括:
关键点确定单元,被配置为执行确定原始图像中的头部区域的基准点、两个水平关键点和两个竖直关键点,所述两个水平关键点关于所述头部区域的中轴线对称,所述两个竖直关键点位于所述头部区域的中轴线上,所述基准点为所述两个水平关键点所在的水平线与所述两个竖直关键点所在的竖直线之间的交点;
变形长度确定单元,被配置为执行根据目标水平关键点与所述基准点之间的第一距离、目标竖直关键点与所述基准点之间的第二距离、由所述基准点指向所述头部区域中的任一像素点的方向与所述竖直线之间的夹角,确定所述方向上的变形长度,所述目标水平关键点是所述两个水平关键点中的任一水平关键点,所述目标竖直关键点是根据所述任一像素点的位置在所述两个竖直关键点中确定的一个竖直关键点;
变形目标区域确定单元,被配置为执行将以所述基准点为起点的每个方向上,与所述基准点之间的距离不大于所在方向上的变形长度的像素点,构成变形目标区域,所述每个方向是指所述基准点与每个像素点的连线方向;
变形单元,被配置为执行将所述变形目标区域中属于所述头部区域的像素点向靠近所述基准点的方向移动,并将所述变形目标区域中不属于所述头部区域的像素点向靠近所述基准点的方向进行拉伸,得到变形后的图像。
可选地,所述关键点确定单元,包括:
关键点检测子单元,被配置为执行检测所述头部区域的多个关键点,所述多个关键点包括多个第一关键点和多个第二关键点,所述第一关键点位于关于所述中轴线对称的脸部部位,所述第二关键点位于所述中轴线上的脸部部位;
水平关键点确定子单元,被配置为执行从所述多个第一关键点中,选取关于所述中轴线对称的所述两个水平关键点;
竖直关键点确定子单元,被配置为执行从所述多个第二关键点中,选取位于所述中轴线上的所述两个竖直关键点;
基准点确定子单元,被配置为执行将所述两个水平关键点所在的水平线与所述两个竖直关键点所在的竖直线之间的交点,确定为所述基准点。
可选地,所述头部区域包括脸部区域,所述图像处理装置还包括:
头部关键点检测单元,被配置为执行检测所述头部区域的多个关键点,得到位于所述头部区域的多个头部关键点;
脸部关键点检测单元,被配置为执行检测所述脸部区域的多个关键点,得到位于所述脸部区域的多个脸部关键点;
参考基准点确定单元,被配置为执行在所述多个头部关键点或者所述多个脸部关键点中选取两个水平参考关键点和两个竖直参考关键点,所述两个水平参考关键点关于所述头部区域的中轴线对称,所述两个竖直参考关键点位于所述中轴线上;
尺寸确定单元,被配置为执行基于所述多个头部关键点与参考基准点之间的距离,或者基于所述多个脸部关键点与所述参考基准点之间的距离,确定参考尺寸,所述参考尺寸与所述距离正相关,所述参考基准点为所述两个水平参考关键点所在的水平线与所述两个竖直参考关键点所在的竖直线之间的交点。
可选地,所述关键点确定单元,包括:
关键点选取子单元,根据所述参考尺寸,在所述多个头部关键点或者所述多个脸部关键点中,选取关于所述中轴线对称的所述两个水平关键点和位于所述中轴线上的所述两个竖直关键点;
基准点确定子单元,被配置为执行将选取的所述两个水平关键点所在的水平线与选取的所述两个竖直关键点所在的竖直线之间的交点,确定为所述基准点。
可选地,所述关键点选取子单元,被配置为执行:
响应于所述参考尺寸大于尺寸阈值,在所述多个脸部关键点中,选取关于所述中轴线对称的所述两个水平关键点和位于所述中轴线上的所述两个竖直关键点;
响应于所述参考尺寸不大于所述尺寸阈值,在除了所述多个脸部关键点之外的头部关键点中,选取关于所述中轴线对称的所述两个水平关键点和位于所述中轴线上的所述两个竖直关键点。
可选地,所述变形长度确定单元,包括:
变形长度确定子单元,被配置为执行响应于所述像素点位于所述基准点的上方,根据所述目标水平关键点与所述基准点之间的第一距离、位于所述基准点上方的目标竖直关键点与所述基准点之间的第二距离、由所述基准点指向所述像素点的方向与所述竖直线之间的夹角,确定所述方向上的变形长度;
所述变形长度确定子单元,还被配置为执行响应于所述像素点位于所述基准点的下方,根据所述目标水平关键点与所述基准点之间的第一距离、位于所述基准点下方的目标竖直关键点与所述基准点之间的第二距离、由所述基准点指向所述像素点的方向与所述竖直线之间的夹角,确定所述方向上的变形长度。
可选地,所述变形长度确定单元,包括:
径向权重确定子单元,被配置为执行根据所述第二距离与所述第一距离之间的比例以及所述夹角,确定径向权重,所述径向权重与所述夹角负相关,所述径向权重与所述比例正相关;
变形长度确定子单元,被配置为执行根据所述径向权重对所述第一距离进行加权,得到所述变形长度。
可选地,所述变形单元,包括:
变形力度确定子单元,被配置为执行对于所述变形目标区域中属于所述头部区域的任一像素点,根据所述像素点与所述基准点之间的第三距离,确定所述像素点的第一横向变形力度和第一竖向变形力度,所述第一横向变形力度与所述第三距离负相关,所述第一竖向变形力度与所述第三距离负相关;
水平位移量确定子单元,被配置为执行根据所述第一横向变形力度,对所述第三距离的横向距离进行加权,得到所述像素点的水平位移量;
竖直位移量确定子单元,被配置为执行根据所述第一竖向变形力度,对所述第三距离的竖向距离进行加权,得到所述像素点的竖直位移量;
像素点移动子单元,被配置为执行将所述像素点向靠近所述基准点的方向水平移动与所述水平位移量相等的距离,竖直移动与所述竖直位移量相等的距离。
可选地,所述原始图像的边缘线由两个竖直边缘线和两个水平边缘线连接构成,所述变形力度确定子单元,被配置为执行:
确定所述像素点与所述原始图像的所述两个竖直边缘线之间的最小横向距离;
根据所述第三距离和所述最小横向距离,确定所述第一横向变形力度,所述第一横向变形力度与所述最小横向距离正相关;
确定所述像素点与所述原始图像的所述两个水平边缘线之间的最小竖向距离;
根据所述第三距离和所述最小竖向距离,确定所述第一竖向变形力度,所述第一竖向变形力度与所述最小竖向距离正相关。
可选地,所述变形单元,包括:
像素点确定子单元,被配置为执行在从所述像素点靠近所述基准点的方向上,确定与所述像素点之间的横向距离为所述水平位移量,且竖向距离为所述竖直位移量的另一像素点;
渲染子单元,被配置为执行将所述像素点的图像信息渲染至所述另一像素点。
可选地,所述变形单元,包括:
图像显示子单元,被配置为执行在图像处理界面中显示所述原始图像;
变形力度获取子单元,被配置为执行获取在所述图像处理界面输入的第二变形力度;
水平位移量确定子单元,被配置为执行根据所述第二变形力度,对所述第三距离的横向距离进行加权,得到水平位移量;
竖直位移量确定子单元,被配置为执行根据所述第二变形力度,对所述第三距离的竖向距离进行加权,得到竖直位移量;
像素点移动子单元,被配置为执行将所述像素点向靠近所述基准点的方向水平移动与所述水平位移量相等的距离,竖直移动与所述竖直位移量相等的距离。
根据本公开实施例的第三方面,提供了一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述第一方面所述的图像处理方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第一方面所述的图像处理方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的图像处理方法。
本公开实施例中,对于不同的头型,图像中头部区域的基准点、水平关键点和竖直关键点的位置也不同,因此根据基准点、水平关键点和竖直关键点确定的第一距离和第二距离也是与头部区域相贴合的,然后根据基准点指向任一像素点的方向与竖直线之间的夹角以及该第一距离和第二距离确定该方向的变形长度,从而自适应地确定出每个方向的变形长度,因此根据变形长度确定的变形目标区域能够贴合头部轮廓,而不会包括较多不属于头部区域的像素点,有效缩减了变形目标区域,进而将变形目标区域中属于头部区域的像素点向靠近基准点的方向移动,将不属于头部区域的像素点向靠近基准点的方向进行拉伸,能够提高缩小图像中的头部区域的效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种图像处理方法的流程图。
图2是根据一示例性实施例示出的另一种图像处理方法的流程图。
图3是根据一示例性实施例示出的一种关键点的示意图。
图4是根据一示例性实施例示出的一种变形目标区域的示意图。
图5是根据一示例性实施例示出的一种确定变形目标区域的流程图。
图6是根据一示例性实施例示出的一种图像变形的流程图。
图7是根据一示例性实施例示出的一种原始图像和变形后的图像的示意图。
图8是根据一示例性实施例示出的一种图像处理装置的框图。
图9是根据一示例性实施例示出的另一种图像处理装置的框图。
图10是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图说明中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据,均为经用户授权或者经过各方充分授权的信息和数据。
本公开实施例提供的图像处理方法,应用于多种场景下。
例如,应用于制作搞怪图片的场景下。用户在终端拍摄照片之后,想要增加该照片的趣味性,此时,能够采用本公开实施例提供的图像处理方法,将照片中的头部区域进行缩小,从而得到一张具有小头效果的照片。
图1是根据一示例性实施例示出的一种图像处理方法的流程图,参见图1,包括以下步骤:
101、确定原始图像中的头部区域的基准点、两个水平关键点和两个竖直关键点。
其中,两个水平关键点关于头部区域的中轴线对称,两个竖直关键点位于头部区域的中轴线上,基准点为两个水平关键点所在的水平线与两个竖直关键点所在的竖直线之间的交点。
102、根据目标水平关键点与基准点之间的第一距离、目标竖直关键点与基准点之间的第二距离、由基准点指向头部区域中的任一像素点的方向与竖直线之间的夹角,确定该方向上的变形长度。
其中,目标水平关键点是两个水平关键点中的任一水平关键点,目标竖直关键点是根据任一像素点的位置在两个竖直关键点中确定的一个竖直关键点。
103、将以基准点为起点的每个方向上,与基准点之间的距离不大于所在方向上的变形长度的像素点,构成变形目标区域。
其中,每个方向是指基准点与每个像素点的连线方向。
104、将变形目标区域中属于头部区域的像素点向靠近基准点的方向移动,并将变形目标区域中不属于头部区域的像素点向靠近基准点的方向进行拉伸,得到变形后的图像。
需要说明的是,本公开实施例的执行主体可以为电子设备,例如电子设备为便携式、袖珍式、手持式等多种类型的电子设备,如手机、计算机、平板电脑等,或者本公开实施例的执行主体还可以为其他设备,本公开实施例对此不做限定。
本公开实施例提供的方法,对于不同的头型,图像中头部区域的基准点、水平关键点和竖直关键点的位置也不同,因此根据基准点、水平关键点和竖直关键点确定的第一距离和第二距离也是与头部区域相贴合的,然后根据基准点指向任一像素点的方向与竖直线之间的夹角以及该第一距离和第二距离确定该方向的变形长度,从而自适应地确定出每个方向的变形长度,因此根据变形长度确定的变形目标区域能够贴合头部轮廓,而不会包括较多不属于头部区域的像素点,有效缩减了变形目标区域,进而将变形目标区域中属于头部区域的像素点向靠近基准点的方向移动,将不属于头部区域的像素点向靠近基准点的方向进行拉伸,能够提高缩小图像中的头部区域的效果。
在一些实施例中,确定原始图像中的头部区域的基准点、两个水平关键点和两个竖直关键点,包括:
检测头部区域的多个关键点,多个关键点包括多个第一关键点和多个第二关键点,第一关键点位于关于中轴线对称的脸部部位,第二关键点位于中轴线上的脸部部位;
从多个第一关键点中,选取关于中轴线对称的两个水平关键点;
从多个第二关键点中,选取位于中轴线上的两个竖直关键点;
将两个水平关键点所在的水平线与两个竖直关键点所在的竖直线之间的交点,确定为基准点。
在一些实施例中,头部区域包括脸部区域,图像处理方法还包括:
检测头部区域的多个关键点,得到位于头部区域的多个头部关键点;
检测脸部区域的多个关键点,得到位于脸部区域的多个脸部关键点;
在多个头部关键点或者多个脸部关键点中选取两个水平参考关键点和两个竖直参考关键点,两个水平参考关键点关于头部区域的中轴线对称,两个竖直参考关键点位于中轴线上;
基于多个头部关键点或者多个脸部关键点与参考基准点之间的距离,确定参考尺寸,参考尺寸与距离正相关,参考基准点为两个水平参考关键点所在的水平线与两个竖直参考关键点所在的竖直线之间的交点。
在一些实施例中,确定原始图像中的头部区域的基准点、两个水平关键点和两个竖直关键点,包括:
根据参考尺寸,在多个头部关键点或者多个脸部关键点中,选取关于中轴线对称的两个水平关键点和位于中轴线上的两个竖直关键点。
将选取的两个水平关键点所在的水平线与选取的两个竖直关键点所在的竖直线之间的交点,确定为基准点。
在一些实施例中,根据参考尺寸,在多个头部关键点或者多个脸部关键点中,选取关于中轴线对称的两个水平关键点和位于中轴线上的两个竖直关键点,包括:
响应于参考尺寸大于尺寸阈值,在多个脸部关键点中,选取关于中轴线对称的两个水平关键点和位于中轴线上的两个竖直关键点;
响应于参考尺寸不大于尺寸阈值,在除了多个脸部关键点之外的头部关键点中,选取关于中轴线对称的两个水平关键点和位于中轴线上的两个竖直关键点。
在一些实施例中,根据目标水平关键点与基准点之间的第一距离、目标竖直关键点与基准点之间的第二距离、由基准点指向头部区域中的任一像素点的方向与竖直方向之间的夹角,确定方向上的变形长度,包括:
响应于像素点位于基准点的上方,根据目标水平关键点与基准点之间的第一距离、位于基准点上方的目标竖直关键点与基准点之间的第二距离、由基准点指向像素点的方向与竖直线之间的夹角,确定方向上的变形长度;
响应于像素点位于基准点的下方,根据目标水平关键点与基准点之间的第一距离、位于基准点下方的目标竖直关键点与基准点之间的第二距离、由基准点指向像素点的方向与竖直线之间的夹角,确定方向上的变形长度。
在一些实施例中,根据目标水平关键点与基准点之间的第一距离、目标竖直关键点与基准点之间的第二距离、由基准点指向头部区域中的任一像素点的方向与竖直线之间的夹角,确定方向上的变形长度,包括:
根据第二距离与第一距离之间的比例以及夹角,确定径向权重,径向权重与夹角负相关,径向权重与比例正相关;
根据径向权重对第一距离进行加权,得到变形长度。
在一些实施例中,将变形目标区域中属于头部区域的像素点向靠近基准点的方向移动,包括:
对于变形目标区域中属于头部区域的任一像素点,根据像素点与基准点之间的第三距离,确定像素点的第一横向变形力度和第一竖向变形力度,第一横向变形力度与第三距离负相关,第一竖向变形力度与第三距离负相关;
根据第一横向变形力度,对第三距离的横向距离进行加权,得到像素点的水平位移量;
根据第一竖向变形力度,对第三距离的竖向距离进行加权,得到像素点的竖直位移量;
将像素点向靠近基准点的方向水平移动与水平位移量相等的距离,竖直移动与竖直位移量相等的距离。
在一些实施例中,原始图像的边缘线由两个竖直边缘线和两个水平边缘线连接构成,根据像素点与基准点之间的第三距离,确定像素点的第一横向变形力度和第一竖向变形力度,包括:
确定像素点与原始图像的两个竖直边缘线之间的最小横向距离;
根据第三距离和最小横向距离,确定第一横向变形力度,第一横向变形力度与最小横向距离正相关;
确定像素点与原始图像的两个水平边缘线之间的最小竖向距离;
根据第三距离和最小竖向距离,确定第一竖向变形力度,第一竖向变形力度与最小竖向距离正相关。
在一些实施例中,将变形目标区域中属于头部区域的像素点向靠近基准点的方向移动,包括:
在从像素点靠近基准点的方向上,确定另一像素点;
将像素点的图像信息渲染至另一像素点。
在一些实施例中,将变形目标区域中属于头部区域的像素点向靠近基准点的方向移动,包括:
在图像处理界面中显示原始图像;
获取在图像处理界面输入的第二变形力度;
根据第二变形力度,对第三距离的横向距离进行加权,得到水平位移量;
根据第二变形力度,对第三距离的竖向距离进行加权,得到竖直位移量;
将像素点向靠近基准点的方向水平移动与水平位移量相等的距离,竖直移动与竖直位移量相等的距离。
图2是根据一示例性实施例示出的另一种图像处理方法的流程图,参见图2,该方法包括以下步骤:
201、确定原始图像中的多个头部关键点和多个脸部关键点。
需要说明的是,本公开实施例以执行主体为电子设备为例进行说明,例如该电子设备为便携式、袖珍式、手持式等多种类型的电子设备,如手机、计算机、平板电脑等。在另一实施例中,图像处理方法的执行主体还可以为其他设备。
电子设备获取原始图像,该原始图像中包括头部区域,例如该头部区域为人的头部区域,或者为动物的头部区域等。其中,该原始图像为电子设备中存储的图像,或者为电子设备拍摄的图像,或者由电子设备从其他设备中下载得到。
在一些实施例中,头部区域包括脸部区域,则电子设备检测头部区域的多个关键点,得到位于头部区域的多个头部关键点,检测脸部区域的多个关键点,得到位于脸部区域的多个脸部关键点。其中,由于头部区域包括脸部区域,因此在头部区域检测得到的多个头部关键点与在脸部区域检测得到的多个脸部关键点有重合部分,例如,该多个头部关键点中包括至少一个脸部关键点。例如,头部关键点中包括耳朵关键点、头顶关键点、下巴关键点以及眼睛关键点等,脸部关键点中包括眼睛关键点、眉毛关键点、额头关键点以及下巴关键点等。例如,该多个脸部关键点的密集程度大于该多个头部关键点的密集程度。
例如,电子设备中存储有脸部关键点检测模型和头部关键点检测模型,该脸部边缘关键点检测模型用于检测脸部关键点,该头部关键点检测模型用于检测头部关键点。则电子设备调用脸部关键点检测模型对原始图像进行检测,得到多个脸部关键点。电子设备调用头部关键点检测模型对原始图像进行检测,得到多个头部关键点。
202、基于多个脸部关键点或者多个头部关键点的位置,确定参考尺寸。
电子设备检测头部区域的多个关键点,得到位于头部区域的多个头部关键点,检测脸部区域的多个关键点,得到位于脸部区域的多个脸部关键点,在多个头部关键点或者多个脸部关键点中选取两个水平参考关键点和两个竖直参考关键点,基于多个头部关键点或者多个脸部关键点与参考基准点之间的距离,确定参考尺寸。
其中,两个水平参考关键点关于头部区域的中轴线对称,两个竖直参考关键点位于中轴线上,参考基准点为两个水平参考关键点所在的水平线与两个竖直参考关键点所在的竖直线之间的交点。该参考尺寸与该距离正相关。
通过关键点与参考基准点之间的距离来确定参考尺寸,由于该参考尺寸与该距离正相关,该参考尺寸越大,则关键点与参考基准点之间的距离越大,该参考尺寸越小,则关键点与参考基准点之间的距离也越小,因此该参考尺寸能够反映关键点与参考基准点之间的距离的大小,从而间接反映关键点之间的分布情况,例如参考尺寸越小,关键点之间的分布越密集。
在一些实施例中,电子设备在多个脸部关键点中确定关于头部区域的中轴线对称的两个水平参考关键点,以及位于头部区域的中轴线的两个竖直参考关键点,将选取的两个水平参考关键点所在的水平线与选取的两个竖直参考关键点所在的竖直线之间的交点,确定为参考基准点。然后电子设备根据多个脸部关键点中每个脸部关键点与参考基准点之间的距离,确定参考尺寸。例如,电子设备根据每个脸部关键点在水平方向上与参考基准点的距离,以及每个脸部关键点在竖直方向上与参考基准点的距离,来确定参考尺寸。例如,电子设备选取的两个水平参考关键点为两个眼部关键点,电子设备选取的两个竖直参考关键点为两个鼻子关键点,除此之外,电子设备还可以选取其他区域的脸部关键点作为确定参考尺寸所使用的水平参考关键点和竖直参考关键点。
例如,电子设备采用以下公式来基于多个脸部关键点的位置确定参考尺寸:
其中,Scale表示参考尺寸,p96和p95是眼部关键点,p97和p78是鼻子关键点。是由眼部关键点p96指向眼部关键点p95的向量,/>是由鼻子关键点p97指向鼻子关键点p78的向量。n表示多个脸部关键点的个数,n为正整数,i为不大于n的正整数。pi表示第i个脸部关键点,cross(·)表示求交点,因此p*表示p96和p95所在的水平线与p97和p78所在的竖直线之间的交点。/>表示/>的长度,/>表示/>的长度。
上述实施例仅以电子设备基于多个脸部关键点确定参考尺寸为例来说明,在另一实施例中,电子设备还可以基于多个头部关键点的位置确定参考尺寸,例如,电子设备在多个头部关键点中选取两个耳朵关键点作为水平参考关键点,选取一个额头关键点和一个下巴关键点作为竖直参考关键点。其中,基于头部关键点的位置确定参考尺寸的过程与基于脸部关键点的位置确定参考尺寸的过程同理,在此不再赘述。
203、根据参考尺寸,在多个头部关键点或者多个脸部关键点中选取两个水平关键点和两个竖直关键点。
电子设备检测得到的多个关键点中包括多个脸部关键点和多个头部关键点。则电子设备确定参考尺寸后,根据该参考尺寸,来确定在多个脸部关键点中选取水平关键点和竖直关键点,还是在头部关键点中选取水平关键点和竖直关键点。通过提供在头部关键点和在脸部关键点中选取水平关键点和竖直关键点两种方案,提高了选取关键点的灵活性。
在一些实施例中,以尺寸阈值为参考,电子设备响应于参考尺寸大于尺寸阈值,在多个脸部关键点中,选取关于中轴线对称的两个水平关键点和位于中轴线上的两个竖直关键点;响应于参考尺寸不大于尺寸阈值,在除了多个脸部关键点之外的头部关键点中,选取关于中轴线对称的两个水平关键点和位于中轴线上的两个竖直关键点。其中,该尺寸阈值可以由电子设备默认设置,或者电子设备根据开发人员的设置操作来确定。
其中,在参考尺寸大于尺寸阈值情况下,原始图像中的脸部区域也较大,因此检测得到的脸部关键点会比较准确,所以采用脸部关键点作为水平关键点和竖直关键点。而在参考尺寸不大于尺寸阈值的情况下,原始图像中的脸部区域也较小,会存在脸部区域被遮挡或者脸部区域为侧脸的情况,此时脸部关键点的定位效果较差,因此在除了多个脸部关键点之外的头部关键点中选取水平关键点和竖直关键点。因此根据参考尺寸的大小来确定使用脸部关键点还是头部关键点进行定位,从而覆盖原始图像中的脸部区域大小不同的多种情况,提高了确定的水平关键点和竖直关键点的准确性和稳定性。
通过执行上述步骤201-203,实现了确定原始图像中的两个水平关键点和两个竖直关键点。其中,两个水平关键点关于头部区域的中轴线对称,两个竖直关键点位于头部区域的中轴线上。需要说明的是,在另一些实施例中,电子设备检测头部区域的多个关键点,多个关键点包括多个第一关键点和多个第二关键点,第一关键点位于关于中轴线对称的脸部部位,第二关键点位于中轴线上的脸部部位;从多个第一关键点中,选取关于中轴线对称的两个水平关键点;从多个第二关键点中,选取位于中轴线上的两个竖直关键点。
其中,第一关键点位于关于中轴线对称的脸部部位,例如该关于中轴线对称的脸部部位包括眼睛、眉毛或者脸颊等,则第一关键点为眼睛关键点、眉毛关键点或者脸颊关键点等。第二关键点位于中轴线上的脸部部位,例如该位于中轴线上的脸部部位包括额头、下巴或者鼻子等,则第二关键点为额头关键点、下巴关键点或者鼻子关键点等。
例如,电子设备选取关于中轴线对称的两个眼部关键点作为水平关键点,选取位于中轴线上的两个鼻子关键点作为竖直关键点,或者选取位于中轴线上的一个额头关键点和一个下巴关键点作为竖直关键点,本公开实施例对此不做限定。
本公开实施例中,在位于关于中轴线对称的脸部部位的第一关键点中选取两个水平关键点,从而更方便找到关于中轴线对称的两个水平关键点,在位于中轴线上的脸部部位的第二关键点中选取两个竖直关键点,从而更方便找到位于中轴线上的两个竖直关键点,使得选取的水平关键点和竖直关键点更加精准,进而根据该水平关键点和竖直关键点确定的变形目标区域更符合头部区域的轮廓。
204、将选取的两个水平关键点所在的水平线与选取的两个竖直关键点所在的竖直线之间的交点,确定为基准点。
电子设备选取出两个水平关键点和两个竖直关键点之后,则确定两个水平关键点所在的水平线与两个竖直关键点所在的竖直线之间的交点,将该交点确定为基准点,后续使用该基准点来确定原始图像中的变形目标区域。
需要说明的是,本公开实施例仅以上述步骤201-204为例,说明电子设备确定原始图像中的头部区域的基准点、两个水平关键点和两个竖直关键点的过程。在另一实施例中,电子设备还可以采取其他方式来确定原始图像中的头部区域的基准点、两个水平关键点和两个竖直关键点。
205、根据目标水平关键点与基准点之间的第一距离、目标竖直关键点与基准点之间的第二距离、由基准点指向头部区域中的任一像素点的方向与竖直线之间的夹角,确定方向上的变形长度。
其中,目标水平关键点是两个水平关键点中的任一水平关键点,目标竖直关键点是根据该任一像素点的位置在两个竖直关键点中确定的一个竖直关键点。
电子设备确定目标水平关键点与基准点之间的第一距离,以及目标竖直关键点与基准点之间的第二距离。对于头部区域中的任一像素点,电子设备均执行以下步骤:电子设备确定由基准点指向头部区域中的像素点的方向与竖直线之间的夹角,并根据确定的第一距离、第二距离和该夹角,确定该方向上的变形长度。其中,该变形长度用于确定变形目标区域,该变形长度可以理解为是进行变形的最大长度,根据变形长度确定变形目标区域的过程可详见下述步骤206,在此暂不作说明。
在一些实施例中,竖直关键点包括位于基准点上方的关键点和位于基准点下方的关键点。而头部区域中的像素点也包括位于基准点上方的像素点和位于基准点下方的像素点,位于基准点上方的像素点可以看作是位于头部区域的上半部分区域,位于基准点下方的像素点可以看作是位于头部区域的下半部分区域。而由于头部区域的上半部分区域的尺寸与下半部分区域的尺寸存在差异,因此为了使每个方向的变形长度都与头部区域的轮廓适配,电子设备在确定由基准点指向某一像素点的方向上的变形长度时,首先确定该像素点位于基准点上方还是位于基准点下方。
则电子设备响应于像素点位于基准点的上方,根据目标水平关键点与基准点之间的第一距离、位于基准点上方的目标竖直关键点与基准点之间的第二距离、由基准点指向像素点的方向与竖直线之间的夹角,确定方向上的变形长度。若像素点位于基准点的上方,为了使得到的该方向上的变形长度贴合头部区域的上半部分的轮廓,则参考位于基准点上方的目标竖直关键点与该基准点之间的第二距离来确定变形长度,也即是将位于基准点上方的竖直关键点确定为目标竖直关键点。
电子设备响应于像素点位于基准点的下方,根据目标水平关键点与基准点之间的第一距离、位于基准点下方的目标竖直关键点与基准点之间的第二距离、由基准点指向像素点的方向与竖直线之间的夹角,确定方向上的变形长度。若像素点位于基准点的上方,为了使得到的该方向上的变形长度贴合头部区域的下半部分的轮廓,则参考位于基准点下方的目标竖直关键点与该基准点之间的第二距离来确定变形长度,也即是将位于基准点下方的竖直关键点确定为目标竖直关键点。
本公开实施例中,由于头部区域的上半部分区域的尺寸与下半部分区域的尺寸存在差异,因此以基准点为参考,若某一像素点位于基准点的上方,则采用基准点上方的竖直关键点与基准点的距离来确定变形长度,若某一像素点位于基准点的下方,则采用基准点下方的竖直关键点与基准点的距离来确定变形长度,从而使得每个方向的变形长度都与头部区域的轮廓适配。
在一些实施例中,电子设备通过从基准点指向像素点的方向与竖直线之间的夹角,来确定像素点位于基准点的上方还是基准点的下方。例如,电子设备将从基准点指向像素点的方向确定为第一方向,将该竖直线指向上的方向确定为第二方向,如果第一方向与第二方向之间的夹角在0度到90度之间,则该像素点位于基准点的上方,如果第一方向与第二方向之间的夹角在90度到180度之间,则该像素点位于基准点的下方。并且,本公开实施例仅以根据从基准点指向像素点的方向与竖直线之间的夹角确定变形长度为例来说明,在另一实施例中,电子设备通过从像素点指向基准点的方向与竖直线之间的夹角确定变形长度。则电子设备通过从像素点指向基准点的方向与竖直线之间的夹角来确定像素点位于基准点的上方还是基准点的下方。例如,电子设备将从像素点指向基准点的方向确定为第三方向,将该竖直线指向上的方向确定为第四方向,如果第三方向与第四方向之间的夹角在90度到180度之间,则该像素点位于基准点的上方,如果第三方向与第四方向之间的夹角在0度到90度之间,则该像素点位于基准点的下方。
例如,电子设备通过夹角的余弦值或者正弦值等,来确定该夹角在0度到90度之间,还是在90度到180度之间。
在一些实施例中,电子设备根据第二距离与第一距离之间的比例以及夹角,确定径向权重,该径向权重与夹角负相关,径向权重与比例正相关。然后根据径向权重对第一距离进行加权,得到变形长度。
电子设备确定目标水平关键点与基准点之间的第一距离,以及目标竖直关键点与基准点之间的第二距离后,确定该第二距离与第一距离之间的比例,然后根据该比例和夹角确定径向权重。其中,该径向权重用于确定变形长度,且第二距离与第一距离之间的比例越大,确定的径向权重也越大,该夹角越小确定的径向权重越大。电子设备得到径向权重之后,根据该径向权重对第一距离进行加权,得到该方向上的变形长度,因此,该径向权重越大,该变形长度也越大。由于径向权重与夹角负相关,因此夹角越小该径向权重越大,从而变形长度也越大,由于径向权重与比例正相关,因此比例越大该径向权重越大,从而变形长度也越大,符合头部区域的特点,因此根据上述方法确定的变形长度能够与头部区域的轮廓更加贴合。
例如,电子设备采用以下公式来确定由基准点指向任一像素点的方向上的变形长度:
/>
θ为/>和/>的夹角。
其中,
其中,len表示变形长度,如图3所示,是由眼部关键点p96指向眼部关键点p95的向量,/>是由鼻子关键点p97指向鼻子关键点p78的向量,p*表示p96和p95所在的水平线与p97和p78所在的竖直线之间的交点,也即是基准点。/>是由眼部关键点p95指向基准点p*的向量。P表示像素点,/>是由像素点p指向基准点p*的向量。其中p97位于基准点p*的下方,p78位于基准点p*的上方。
其中,||p78-p*||表示p78与p*之间的距离,也即是位于基准点上方的目标竖直关键点与基准点之间的第二距离,||p97-p*||表示p97与p*之间的距离,也即是位于基准点下方的目标竖直关键点与基准点之间的第二距离,表示p95与p*之间的距离,也即是第一距离,s1和s2表示第二距离与第一距离的比例。
206、将以基准点为起点的每个方向上,与基准点之间的距离不大于所在方向上的变形长度的像素点,构成变形目标区域。
电子设备通过上述步骤205,确定以基准点为起点的每个方向上的变形长度,其中,每个方向是指基准点与每个像素点的连线方向。则对于以基准点为起点的任一方向,电子设备确定该方向上与基准点之间的距离不大于该方向上的变形长度的多个像素点。其中,每个方向都对应有多个像素点,则将每个方向上对应的多个像素点,构成变形目标区域。也即是,该变形目标区域的边缘上的像素点与基准点之间的距离,等于从基准点指向该像素点的方向上的变形长度。
其中,对于不同的头型,图像中头部区域的基准点、水平关键点和竖直关键点的位置也不同,因此根据基准点、水平关键点和竖直关键点确定的第一距离和第二距离也是与头部区域相贴合的,然后根据基准点指向任一像素点的方向与竖直线之间的夹角以及该第一距离和第二距离确定该方向的变形长度,从而自适应地确定出每个方向的变形长度,然后根据变形长度得到变形目标区域,该变形目标区域是与头部区域的轮廓相贴合的类椭圆,而不会包括较多不属于头部区域的像素点,有效缩减了变形目标区域。
图4是本公开实施例提供的一种变形目标区域的示意图,如图4所示,图像中包括头部区域11,电子设备执行上述步骤201-206,在图像中确定变形目标区域12,该变形目标区域12是与头部区域11的轮廓相贴合的类椭圆。
图5是本公开实施例提供的一种确定变形目标区域的流程图,如图5所示,确定变形目标区域的流程包括:电子设备根据脸部关键点或者头部关键点确定出两个水平关键点和两个竖直关键点;将两个水平关键点所在的水平线和两个竖直关键点所在的竖直线之间的交点,确定为基准点;根据两个水平关键点、两个竖直关键点和基准点,确定原始图像中的变形目标区域,该变形目标区域是与头部区域的轮廓相贴合的类椭圆区域。
207、将变形目标区域中属于头部区域的像素点向靠近基准点的方向移动。
变形目标区域是与头部区域的轮廓相贴合的类椭圆区域,该变形目标区域中包括头部区域以及除了头部区域之外的背景区域。本公开实施例是要将原始图像中的头部区域进行缩小,因此电子设备在原始图像中确定变形目标区域之后,将该变形目标区域中属于头部区域的像素点向靠近基准点的方向移动,以达到缩小头部区域的效果。
在一些实施例中,对于变形目标区域中属于头部区域的任一像素点,电子设备确定像素点的水平位移量和竖直位移量,并根据该水平位移量和竖直位移量将像素点向靠近基准点的方向移动。则电子设备移动属于头部区域的任一像素点包括:根据该像素点与基准点之间的第三距离,确定像素点的第一横向变形力度和第一竖向变形力度,根据第一横向变形力度对第三距离的横向距离进行加权,得到像素点的水平位移量;根据第一竖向变形力度对第三距离的竖向距离进行加权,得到像素点的竖直位移量;将像素点向靠近基准点的方向水平移动与水平位移量相等的距离,竖直移动与竖直位移量相等的距离。
其中,像素点的第一横向变形力度与第三距离负相关,也即是像素点与基准点之间的距离越小,该像素点的第一横向变形力度越大;像素点的第一竖向变形力度与第三距离负相关,也即是像素点与基准点之间的距离越小,该像素点的第一竖向变形力度也越大。
另外,像素点的水平位移量和竖直位移量还和像素点与基准点之间的第三距离有关,第三距离的横向距离是指像素点与基准点在水平方向上的距离,第三距离的竖向距离是指像素点与基准点在竖直方向上的距离。例如,该第一横向变形力度和第一竖向变形力度均为变形权重,则电子设备将第一横向变形力度与第三距离中的横向距离的乘积作为水平位移量,将第一竖向变形力度与第三距离中的竖向距离的乘积作为竖直位移量。
由于第一横向变形力度和第一竖向变形力度都与像素点与基准点之间的第三距离负相关,因此像素点靠近基准点,该像素点对应的变形力度越大,因此变形力度与像素点的位置是贴合的,通过该方法进行变形达到的小头效果也更好。
在一些实施例中,对像素点进行移动是指将像素点的图像信息渲染至另一像素点。因此,电子设备在从像素点靠近基准点的方向上,确定另一像素点;将像素点的图像信息渲染至另一像素点,从而实现对像素点进行移动。其中,图像信息包括纹理信息、颜色信息、光泽信息等。通过渲染图像信息来移动像素点的方式,从而保证了在移动像素点的过程中,像素点中的图像信息不会丢失。
在一些实施例中,原始图像的边缘线由两个竖直边缘线和两个水平边缘线连接构成,在确定第一横向变形力度和第一竖向变形力度时,除了考虑像素点与基准点之间的第三距离,还会考虑该像素点与原始图像中的边缘线之间的距离。则电子设备确定第一横向变形力度和第一竖向变形力度包括:确定像素点与原始图像的两个竖直边缘线之间的最小横向距离,根据第三距离和最小横向距离,确定第一横向变形力度,该第一横向变形力度与最小横向距离正相关。电子设备确定像素点与原始图像的两个水平边缘线之间的最小竖向距离,根据第三距离和最小竖向距离,确定第一竖向变形力度,该第一竖向变形力度与最小竖向距离正相关。
其中,原始图像包括四个边缘线,分别为两个水平边缘线和两个竖直边缘线。电子设备分别确定像素点与两个竖直边缘线的横向距离,并从中选取最小的横向距离,电子设备分别确定像素点与两个水平边缘线的竖向距离,并从中选取最小的竖向距离。
其中,该第一横向变形力度与最小横向距离正相关,最小横向距离越小第一横向变形力度越小,也即是像素点距离原始图像的水平边缘线越近,则该像素点的第一横向变形力度也就越小。该第一竖向变形力度与最小竖向距离正相关,最小竖向距离越小第一竖向变形力度越小,也即是像素点距离原始图像的竖直边缘线越近,则该像素点的第一竖向变形力度也就越小。
由于接近竖直边缘线或者水平边缘线的像素点进行移动之后,旁边可能不存在不属于头部区域的像素点,或者不属于头部区域的像素点较少,因此为了填充像素点移动后信息缺失的像素点,对不属于头部区域的像素点的拉伸力度会较大,使得同一像素点重复填充多次,导致出现边缘拉丝的现象。因此,根据像素点与两个竖直边缘线的最小横向距离来衰减第一横向变形力度,根据像素点与两个水平边缘线的最小竖向距离来衰减第一竖向变形力度,能够有效缓解边缘拉丝的程度,提高变形效果。
在一些实施例中,电子设备在图像处理界面中显示原始图像,该图像处理界面用于对图像进行处理,例如该图像处理界面为浏览器中的界面,或者电子设备中运行的图像处理应用的界面等。当用户想要在图像处理界面中缩小原始图像中的头部区域时,还可以自行设置对头部区域的变形力度,例如在图像处理界面中输入变形力度,其中变形力度越大头部区域的缩小效果越明显。则电子设备将变形目标区域中属于头部区域的像素点向靠近基准点的方向移动包括:获取在图像处理界面输入的第二变形力度,根据第二变形力度,对第三距离的横向距离进行加权,得到水平位移量,根据第二变形力度,对第三距离的竖向距离进行加权,得到竖直位移量,将像素点向靠近基准点的方向水平移动与水平位移量相等的距离,竖直移动与竖直位移量相等的距离。
例如,电子设备将第二变形力度和第三距离中的横向距离的乘积作为水平位移量,将第二变形力度和第三距离中的竖向距离的乘积作为竖直位移量。
本公开实施例提供了由用户设置第二变形力度的方案,考虑第二变形力度对位移量的影响,因此用户能够自行控制变形力度,从而控制对头部区域进行缩小的效果,提高了对原始图像中的头部区域进行变形的灵活性和趣味性。
在一些实施例中,电子设备可以将第一横向变形力度、第一竖向变形力度与用户设置的第二变形力度进行结合,来确定像素点的位移量。例如,根据第一横向变形力度和第二变形力度,对第三距离的横向距离进行加权,得到水平位移量;根据第一竖向变形力度和第二变形力度,对第三距离的竖向距离进行加权,得到竖直位移量。
在一些实施例中,电子设备采用以下公式来确定位移量:
/>
其中,
其中,Δx表示水平位移矢量,Δy表示竖直位移矢量,Δd表示根据水平位移矢量和竖直位移矢量确定的位移矢量,是由像素点指向基准点的向量,/>表示像素点与基准点之间的距离,len表示变形长度,g(·)是变形力度曲线。k为用户调整小头效果的强度的滑竿,也即是第二横向变形力度和第二竖向变形力度,例如k的范围是0到1。
当电子设备根据上述公式得到Δd后,即可根据公式pj=pi+Δd来对像素点进行移动,其中,pi表示像素点移动前的位置,pj表示像素点移动之后的位置。
208、将变形目标区域中不属于头部区域的像素点向靠近基准点的方向进行拉伸,得到变形后的图像。
变形目标区域中包括头部区域以及除了头部区域之外的背景区域,以原始图像中的头部区域为原始头部区域,变形后的图像中的头部区域为目标头部区域来说,电子设备是对原始头部区域进行缩小得到的目标头部区域,因此原始头部区域比目标头部区域大,原始头部区域中的像素点的图像信息已经全部渲染到了目标头部区域中,则原始头部区域中除了目标头部区域之外的其他区域会存在图像信息缺失的情况,因此电子设备将变形目标区域中不属于头部区域的像素点向靠近基准点的方向进行拉伸,以填充原始头部区域中除了目标头部区域之外的其他区域,从而得到信息完整的变形后的图像。
并且,由于上述步骤206中确定的变形目标区域是与头部区域的轮廓相贴合的类椭圆区域,而不会包括较多不属于头部区域的像素点,有效缩减了变形目标区域中的背景区域,因此能够减弱图像变形时对背景区域的影响。
在一些实施例中,电子设备运行有图像处理应用,该图像处理应用中包括用于实现小头效果的美体SDK(Software Development Kit,软件开发工具包),则电子设备调用该美体SDK执行上述步骤202-208。
需要说明的是,本公开实施例仅以处理一张图像为例进行说明。在另一实施例中,电子设备获取包括多张图像的视频流,对视频流中的多张图片分别执行上述步骤201-208,得到多张变形后的图像,再将多张变形后的图像进行处理,得到变形后的视频流。
图6是本公开实施例提供的一种图像变形的流程图,如图6所示,电子设备对图像进行变形的过程包括:电子设备获取输入的视频流;调用头部关键点检测模型对视频流中的图像进行检测,得到多个头部关键点,调用脸部关键点检测模型对该图像进行检测,得到多个脸部关键点;调用美体SDK,根据头部关键点或者脸部关键点确定参考尺寸,并调用该美体SDK中的美体小头细条项执行下述步骤,该美体小头细条项用于实现小头效果。如果参考尺寸大于0.25,则根据脸部关键点确定变形目标区域;如果参考尺寸不大于0.25,则根据头部关键点确定变形目标区域;基于贴合头部区域的变形力度对变形目标区域进行变形;根据变形后的区域,进行图像信息渲染,得到变形后的图像。
图7是本公开实施例提供的一种原始图像和变形后的图像的示意图,参见图7,将原始图像701的头部区域进行缩小,得到变形后的图像702,该变形后的图像702具有小头效果。
本公开实施例提供的方法,对于不同的头型,图像中头部区域的基准点、水平关键点和竖直关键点的位置也不同,因此根据基准点、水平关键点和竖直关键点确定的第一距离和第二距离也是与头部区域相贴合的,然后根据基准点指向任一像素点的方向与竖直线之间的夹角以及该第一距离和第二距离确定该方向的变形长度,从而自适应地确定出每个方向的变形长度,因此根据变形长度确定的变形目标区域能够贴合头部轮廓,而不会包括较多不属于头部区域的像素点,有效缩减了变形目标区域,进而将变形目标区域中属于头部区域的像素点向靠近基准点的方向移动,将不属于头部区域的像素点向靠近基准点的方向进行拉伸,能够提高缩小图像中的头部区域的效果。
图8是根据一示例性实施例示出的一种图像处理装置的框图。参见图8,该装置包括关键点确定单元801、变形长度确定单元802、变形目标区域确定单元803和变形单元804。
关键点确定单元801,被配置为执行确定原始图像中的头部区域的基准点、两个水平关键点和两个竖直关键点,两个水平关键点关于头部区域的中轴线对称,两个竖直关键点位于头部区域的中轴线上,基准点为两个水平关键点所在的水平线与两个竖直关键点所在的竖直线之间的交点;
变形长度确定单元802,被配置为执行根据目标水平关键点与基准点之间的第一距离、目标竖直关键点与基准点之间的第二距离、由基准点指向头部区域中的任一像素点的方向与竖直线之间的夹角,确定方向上的变形长度,目标水平关键点是两个水平关键点中的任一水平关键点,目标竖直关键点是根据任一像素点的位置在两个竖直关键点中确定的一个竖直关键点;
变形目标区域确定单元803,被配置为执行将以基准点为起点的每个方向上,与基准点之间的距离不大于所在方向上的变形长度的像素点,构成变形目标区域,每个方向是指基准点与每个像素点的连线方向;
变形单元804,被配置为执行将变形目标区域中属于头部区域的像素点向靠近基准点的方向移动,并将变形目标区域中不属于头部区域的像素点向靠近基准点的方向进行拉伸,得到变形后的图像。
本公开实施例提供的装置,对于不同的头型,图像中头部区域的基准点、水平关键点和竖直关键点的位置也不同,因此根据基准点、水平关键点和竖直关键点确定的第一距离和第二距离也是与头部区域相贴合的,然后根据基准点指向任一像素点的方向与竖直线之间的夹角以及该第一距离和第二距离确定该方向的变形长度,从而自适应地确定出每个方向的变形长度,因此根据变形长度确定的变形目标区域能够贴合头部轮廓,而不会包括较多不属于头部区域的像素点,有效缩减了变形目标区域,进而将变形目标区域中属于头部区域的像素点向靠近基准点的方向移动,将不属于头部区域的像素点向靠近基准点的方向进行拉伸,能够提高缩小图像中的头部区域的效果。
在一些实施例中,参见图9,关键点确定单元801,包括:
关键点检测子单元811,被配置为执行检测头部区域的多个关键点,多个关键点包括多个第一关键点和多个第二关键点,第一关键点位于关于中轴线对称的脸部部位,第二关键点位于中轴线上的脸部部位;
水平关键点确定子单元821,被配置为执行从多个第一关键点中,选取关于中轴线对称的两个水平关键点;
竖直关键点确定子单元831,被配置为执行从多个第二关键点中,选取位于中轴线上的两个竖直关键点;
基准点确定子单元841,被配置为执行将两个水平关键点所在的水平线与两个竖直关键点所在的竖直线之间的交点,确定为基准点。
在一些实施例中,参见图9,头部区域包括脸部区域,图像处理装置还包括:
头部关键点检测单元805,被配置为执行检测头部区域的多个关键点,得到位于头部区域的多个头部关键点;
脸部关键点检测单元806,被配置为执行检测脸部区域的多个关键点,得到位于脸部区域的多个脸部关键点;
参考基准点确定单元807,被配置为执行在多个头部关键点或者多个脸部关键点中选取两个水平参考关键点和两个竖直参考关键点,两个水平参考关键点关于头部区域的中轴线对称,两个竖直参考关键点位于中轴线上;
尺寸确定单元808,被配置为执行基于多个头部关键点与参考基准点之间的距离,或者基于多个脸部关键点与参考基准点之间的距离,确定参考尺寸,参考尺寸与距离正相关,参考基准点为两个水平参考关键点所在的水平线与两个竖直参考关键点所在的竖直线之间的交点。
在一些实施例中,参见图9,关键点确定单元801,包括:
关键点选取子单元851,被配置为执行根据参考尺寸,在多个头部关键点或者多个脸部关键点中,选取关于中轴线对称的两个水平关键点和位于中轴线上的两个竖直关键点;
基准点确定子单元841,被配置为执行将选取的两个水平关键点所在的水平线与选取的两个竖直关键点所在的竖直线之间的交点,确定为基准点。
在一些实施例中,参见图9,关键点选取子单元851,被配置为执行:
响应于参考尺寸大于尺寸阈值,在多个脸部关键点中,选取关于中轴线对称的两个水平关键点和位于中轴线上的两个竖直关键点;
响应于参考尺寸不大于尺寸阈值,在除了多个脸部关键点之外的头部关键点中,选取关于中轴线对称的两个水平关键点和位于中轴线上的两个竖直关键点。
在一些实施例中,参见图9,变形长度确定单元802,包括:
变形长度确定子单元812,被配置为执行响应于像素点位于基准点的上方,根据目标水平关键点与基准点之间的第一距离、位于基准点上方的目标竖直关键点与基准点之间的第二距离、由基准点指向像素点的方向与竖直线之间的夹角,确定方向上的变形长度;
变形长度确定子单元812,还被配置为执行响应于像素点位于基准点的下方,根据目标水平关键点与基准点之间的第一距离、位于基准点下方的目标竖直关键点与基准点之间的第二距离、由基准点指向像素点的方向与竖直线之间的夹角,确定方向上的变形长度。
在一些实施例中,参见图9,变形长度确定单元802,包括:
径向权重确定子单元822,被配置为执行根据第二距离与第一距离之间的比例以及夹角,确定径向权重,径向权重与夹角负相关,径向权重与比例正相关;
变形长度确定子单元812,被配置为执行根据径向权重对第一距离进行加权,得到变形长度。
在一些实施例中,参见图9,变形单元804,包括:
变形力度确定子单元814,被配置为执行对于变形目标区域中属于头部区域的任一像素点,根据像素点与基准点之间的第三距离,确定像素点的第一横向变形力度和第一竖向变形力度,第一横向变形力度与第三距离负相关,第一竖向变形力度与第三距离负相关;
水平位移量确定子单元824,被配置为执行根据第一横向变形力度,对第三距离的横向距离进行加权,得到像素点的水平位移量;
竖直位移量确定子单元834,被配置为执行根据第一竖向变形力度,对第三距离的竖向距离进行加权,得到像素点的竖直位移量;
像素点移动子单元844,被配置为执行将像素点向靠近基准点的方向水平移动与水平位移量相等的距离,竖直移动与竖直位移量相等的距离。
在一些实施例中,参见图9,原始图像的边缘线由两个竖直边缘线和两个水平边缘线连接构成,变形力度确定子单元814,被配置为执行:
确定像素点与原始图像的两个竖直边缘线之间的最小横向距离;
根据第三距离和最小横向距离,确定第一横向变形力度,第一横向变形力度与最小横向距离正相关;
确定像素点与原始图像的两个水平边缘线之间的最小竖向距离;
根据第三距离和最小竖向距离,确定第一竖向变形力度,第一竖向变形力度与最小竖向距离正相关。
在一些实施例中,参见图9,变形单元804,包括:
像素点确定子单元854,被配置为执行在从像素点靠近基准点的方向上,确定与像素点之间的横向距离为水平位移量,且竖向距离为竖直位移量的另一像素点;
渲染子单元864,被配置为执行将像素点的图像信息渲染至另一像素点。
在一些实施例中,参见图9,变形单元804,包括:
图像显示子单元874,被配置为执行在图像处理界面中显示原始图像;
变形力度确定子单元814,被配置为执行获取在图像处理界面输入的第二变形力度;
水平位移量确定子单元824,被配置为执行根据第二变形力度,对第三距离的横向距离进行加权,得到水平位移量;
竖直位移量确定子单元834,被配置为执行根据第二变形力度,对第三距离的竖向距离进行加权,得到竖直位移量;
像素点移动子单元844,被配置为执行将像素点向靠近基准点的方向水平移动与水平位移量相等的距离,竖直移动与竖直位移量相等的距离。
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图10是根据一示例性实施例示出的一种电子设备1000的结构框图。该电子设备1000可以是便携式移动电子设备,比如:智能手机、平板电脑、MP3播放器(Moving PictureExperts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。电子设备1000还可能被称为用户设备、便携式电子设备、膝上型电子设备、台式电子设备等其他名称。
电子设备1000包括有:处理器1001和存储器1002。
处理器1001可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1001可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1001也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1001可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1001还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1002可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1002还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1002中的非暂态的计算机可读存储介质用于存储至少一条程序代码,该至少一条程序代码用于被处理器1001所执行以实现本公开中方法实施例提供的图像处理方法。
在一些实施例中,电子设备1000还可选包括有:外围设备接口1003和至少一个外围设备。处理器1001、存储器1002和外围设备接口1003之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1003相连。具体地,外围设备包括:射频电路1004、显示屏1005、摄像头组件1006、音频电路1007、定位组件1008和电源1009中的至少一种。
外围设备接口1003可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1001和存储器1002。在一些实施例中,处理器1001、存储器1002和外围设备接口1003被集成在同一芯片或电路板上;在一些其他实施例中,处理器1001、存储器1002和外围设备接口1003中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1004用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1004通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1004将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1004包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1004可以通过至少一种无线通信协议来与其它电子设备进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1004还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本公开对此不加以限定。
显示屏1005用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1005是触摸显示屏时,显示屏1005还具有采集在显示屏1005的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1001进行处理。此时,显示屏1005还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1005可以为一个,设置在电子设备1000的前面板;在另一些实施例中,显示屏1005可以为至少两个,分别设置在电子设备1000的不同表面或呈折叠设计;在另一些实施例中,显示屏1005可以是柔性显示屏,设置在电子设备1000的弯曲表面上或折叠面上。甚至,显示屏1005还可以设置成非矩形的不规则图形,也即异形屏。显示屏1005可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1006用于采集图像或视频。可选地,摄像头组件1006包括前置摄像头和后置摄像头。前置摄像头设置在电子设备的前面板,后置摄像头设置在电子设备的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1006还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1007可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1001进行处理,或者输入至射频电路1004以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在电子设备1000的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1001或射频电路1004的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1007还可以包括耳机插孔。
定位组件1008用于定位电子设备1000的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件1008可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯定位系统或欧盟的伽利略定位系统的定位组件。
电源1009用于为电子设备1000中的各个组件进行供电。电源1009可以是交流电、直流电、一次性电池或可充电电池。当电源1009包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
本领域技术人员可以理解,图10中示出的结构并不构成对电子设备1000的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机可读存储介质,当计算机可读存储介质中的程序代码由电子设备的处理器执行时,使得电子设备能够执行上述图像处理方法中电子设备所执行的步骤。可选地,计算机可读存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM(只读存储器,Read Only Memory)、RAM(随机存取存储器,Random Access Memory)、CD-ROM(只读光盘,Compact Disc Read-OnlyMemory)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,当计算机程序产品中的程序代码由电子设备的处理器执行时,使得电子设备能够执行上述图像处理方法中电子设备所执行的步骤。
本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (23)
1.一种图像处理方法,其特征在于,所述图像处理方法包括:
确定原始图像中的头部区域的基准点、两个水平关键点和两个竖直关键点,所述两个水平关键点关于所述头部区域的中轴线对称,所述两个竖直关键点位于所述头部区域的中轴线上,所述基准点为所述两个水平关键点所在的水平线与所述两个竖直关键点所在的竖直线之间的交点;
根据第二距离与第一距离之间的比例以及夹角,确定径向权重,所述径向权重与所述夹角负相关,所述径向权重与所述比例正相关,所述第一距离是指目标水平关键点与所述基准点之间的距离,所述第二距离是指目标竖直关键点与所述基准点之间的距离,所述夹角是指由所述基准点指向所述头部区域中的任一像素点的方向与所述竖直线之间的夹角,所述目标水平关键点是所述两个水平关键点中的任一水平关键点,所述目标竖直关键点是根据所述任一像素点的位置在所述两个竖直关键点中确定的一个竖直关键点;
根据所述径向权重对所述第一距离进行加权,得到所述方向上的变形长度;
将以所述基准点为起点的每个方向上,与所述基准点之间的距离不大于所在方向上的变形长度的像素点,构成变形目标区域,所述每个方向是指所述基准点与每个像素点的连线方向;
将所述变形目标区域中属于所述头部区域的像素点向靠近所述基准点的方向移动,并将所述变形目标区域中不属于所述头部区域的像素点向靠近所述基准点的方向进行拉伸,得到变形后的图像。
2.根据权利要求1所述的图像处理方法,其特征在于,所述确定原始图像中的头部区域的基准点、两个水平关键点和两个竖直关键点,包括:
检测所述头部区域的多个关键点,所述多个关键点包括多个第一关键点和多个第二关键点,所述第一关键点位于关于所述中轴线对称的脸部部位,所述第二关键点位于所述中轴线上的脸部部位;
从所述多个第一关键点中,选取关于所述中轴线对称的所述两个水平关键点;
从所述多个第二关键点中,选取位于所述中轴线上的所述两个竖直关键点;
将所述两个水平关键点所在的水平线与所述两个竖直关键点所在的竖直线之间的交点,确定为所述基准点。
3.根据权利要求1所述的图像处理方法,其特征在于,所述头部区域包括脸部区域,所述图像处理方法还包括:
检测所述头部区域的多个关键点,得到位于所述头部区域的多个头部关键点;
检测所述脸部区域的多个关键点,得到位于所述脸部区域的多个脸部关键点;
在所述多个头部关键点或者所述多个脸部关键点中选取两个水平参考关键点和两个竖直参考关键点,所述两个水平参考关键点关于所述头部区域的中轴线对称,所述两个竖直参考关键点位于所述中轴线上;
基于所述多个头部关键点与参考基准点之间的距离,或者基于所述多个脸部关键点与所述参考基准点之间的距离,确定参考尺寸,所述参考尺寸与所述距离正相关,所述参考基准点为所述两个水平参考关键点所在的水平线与所述两个竖直参考关键点所在的竖直线之间的交点。
4.根据权利要求3所述的图像处理方法,其特征在于,所述确定原始图像中的头部区域的基准点、两个水平关键点和两个竖直关键点,包括:
根据所述参考尺寸,在所述多个头部关键点或者所述多个脸部关键点中,选取关于所述中轴线对称的所述两个水平关键点和位于所述中轴线上的所述两个竖直关键点;
将选取的所述两个水平关键点所在的水平线与选取的所述两个竖直关键点所在的竖直线之间的交点,确定为所述基准点。
5.根据权利要求4所述的图像处理方法,其特征在于,所述根据所述参考尺寸,在所述多个头部关键点或者所述多个脸部关键点中,选取关于所述中轴线对称的所述两个水平关键点和位于所述中轴线上的所述两个竖直关键点,包括:
响应于所述参考尺寸大于尺寸阈值,在所述多个脸部关键点中,选取关于所述中轴线对称的所述两个水平关键点和位于所述中轴线上的所述两个竖直关键点;
响应于所述参考尺寸不大于所述尺寸阈值,在除了所述多个脸部关键点之外的头部关键点中,选取关于所述中轴线对称的所述两个水平关键点和位于所述中轴线上的所述两个竖直关键点。
6.根据权利要求1所述的图像处理方法,其特征在于,所述方法还包括:
响应于所述像素点位于所述基准点的上方,根据所述目标水平关键点与所述基准点之间的第一距离、位于所述基准点上方的目标竖直关键点与所述基准点之间的第二距离、由所述基准点指向所述像素点的方向与所述竖直线之间的夹角,确定所述方向上的变形长度;
响应于所述像素点位于所述基准点的下方,根据所述目标水平关键点与所述基准点之间的第一距离、位于所述基准点下方的目标竖直关键点与所述基准点之间的第二距离、由所述基准点指向所述像素点的方向与所述竖直线之间的夹角,确定所述方向上的变形长度。
7.根据权利要求1所述的图像处理方法,其特征在于,所述将所述变形目标区域中属于所述头部区域的像素点向靠近所述基准点的方向移动,包括:
对于所述变形目标区域中属于所述头部区域的任一像素点,根据所述像素点与所述基准点之间的第三距离,确定所述像素点的第一横向变形力度和第一竖向变形力度,所述第一横向变形力度与所述第三距离负相关,所述第一竖向变形力度与所述第三距离负相关;
根据所述第一横向变形力度,对所述第三距离的横向距离进行加权,得到所述像素点的水平位移量;
根据所述第一竖向变形力度,对所述第三距离的竖向距离进行加权,得到所述像素点的竖直位移量;
将所述像素点向靠近所述基准点的方向水平移动与所述水平位移量相等的距离,竖直移动与所述竖直位移量相等的距离。
8.根据权利要求7所述的图像处理方法,其特征在于,所述原始图像的边缘线由两个竖直边缘线和两个水平边缘线连接构成,所述根据所述像素点与所述基准点之间的第三距离,确定所述像素点的第一横向变形力度和第一竖向变形力度,包括:
确定所述像素点与所述原始图像的所述两个竖直边缘线之间的最小横向距离;
根据所述第三距离和所述最小横向距离,确定所述第一横向变形力度,所述第一横向变形力度与所述最小横向距离正相关;
确定所述像素点与所述原始图像的所述两个水平边缘线之间的最小竖向距离;
根据所述第三距离和所述最小竖向距离,确定所述第一竖向变形力度,所述第一竖向变形力度与所述最小竖向距离正相关。
9.根据权利要求1所述的图像处理方法,其特征在于,所述将所述变形目标区域中属于所述头部区域的像素点向靠近所述基准点的方向移动,包括:
在从所述像素点靠近所述基准点的方向上,确定另一像素点;
将所述像素点的图像信息渲染至所述另一像素点。
10.根据权利要求1所述的图像处理方法,其特征在于,所述将所述变形目标区域中属于所述头部区域的像素点向靠近所述基准点的方向移动,包括:
在图像处理界面中显示所述原始图像;
获取在所述图像处理界面输入的第二变形力度;
根据所述第二变形力度,对所述像素点与所述基准点之间的第三距离的横向距离进行加权,得到水平位移量;
根据所述第二变形力度,对所述第三距离的竖向距离进行加权,得到竖直位移量;
将所述像素点向靠近所述基准点的方向水平移动与所述水平位移量相等的距离,竖直移动与所述竖直位移量相等的距离。
11.一种图像处理装置,其特征在于,所述图像处理装置包括:
关键点确定单元,被配置为执行确定原始图像中的头部区域的基准点、两个水平关键点和两个竖直关键点,所述两个水平关键点关于所述头部区域的中轴线对称,所述两个竖直关键点位于所述头部区域的中轴线上,所述基准点为所述两个水平关键点所在的水平线与所述两个竖直关键点所在的竖直线之间的交点;
变形长度确定单元,被配置为执行根据第二距离与第一距离之间的比例以及夹角,确定径向权重,所述径向权重与所述夹角负相关,所述径向权重与所述比例正相关,所述第一距离是指目标水平关键点与所述基准点之间的距离,所述第二距离是指目标竖直关键点与所述基准点之间的距离,所述夹角是指由所述基准点指向所述头部区域中的任一像素点的方向与所述竖直线之间的夹角,所述目标水平关键点是所述两个水平关键点中的任一水平关键点,所述目标竖直关键点是根据所述任一像素点的位置在所述两个竖直关键点中确定的一个竖直关键点;
所述变形长度确定单元,还被配置为执行根据所述径向权重对所述第一距离进行加权,得到所述方向上的变形长度;
变形目标区域确定单元,被配置为执行将以所述基准点为起点的每个方向上,与所述基准点之间的距离不大于所在方向上的变形长度的像素点,构成变形目标区域,所述每个方向是指所述基准点与每个像素点的连线方向;
变形单元,被配置为执行将所述变形目标区域中属于所述头部区域的像素点向靠近所述基准点的方向移动,并将所述变形目标区域中不属于所述头部区域的像素点向靠近所述基准点的方向进行拉伸,得到变形后的图像。
12.根据权利要求11所述的图像处理装置,其特征在于,所述关键点确定单元,包括:
关键点检测子单元,被配置为执行检测所述头部区域的多个关键点,所述多个关键点包括多个第一关键点和多个第二关键点,所述第一关键点位于关于所述中轴线对称的脸部部位,所述第二关键点位于所述中轴线上的脸部部位;
水平关键点确定子单元,被配置为执行从所述多个第一关键点中,选取关于所述中轴线对称的所述两个水平关键点;
竖直关键点确定子单元,被配置为执行从所述多个第二关键点中,选取位于所述中轴线上的所述两个竖直关键点;
基准点确定子单元,被配置为执行将所述两个水平关键点所在的水平线与所述两个竖直关键点所在的竖直线之间的交点,确定为所述基准点。
13.根据权利要求11所述的图像处理装置,其特征在于,所述头部区域包括脸部区域,所述图像处理装置还包括:
头部关键点检测单元,被配置为执行检测所述头部区域的多个关键点,得到位于所述头部区域的多个头部关键点;
脸部关键点检测单元,被配置为执行检测所述脸部区域的多个关键点,得到位于所述脸部区域的多个脸部关键点;
参考基准点确定单元,被配置为执行在所述多个头部关键点或者所述多个脸部关键点中选取两个水平参考关键点和两个竖直参考关键点,所述两个水平参考关键点关于所述头部区域的中轴线对称,所述两个竖直参考关键点位于所述中轴线上;
尺寸确定单元,被配置为执行基于所述多个头部关键点与参考基准点之间的距离,或者基于所述多个脸部关键点与所述参考基准点之间的距离,确定参考尺寸,所述参考尺寸与所述距离正相关,所述参考基准点为所述两个水平参考关键点所在的水平线与所述两个竖直参考关键点所在的竖直线之间的交点。
14.根据权利要求13所述的图像处理装置,其特征在于,所述关键点确定单元,包括:
关键点选取子单元,被配置为执行根据所述参考尺寸,在所述多个头部关键点或者所述多个脸部关键点中,选取关于所述中轴线对称的所述两个水平关键点和位于所述中轴线上的所述两个竖直关键点;
基准点确定子单元,被配置为执行将选取的所述两个水平关键点所在的水平线与选取的所述两个竖直关键点所在的竖直线之间的交点,确定为所述基准点。
15.根据权利要求14所述的图像处理装置,其特征在于,所述关键点选取子单元,被配置为执行:
响应于所述参考尺寸大于尺寸阈值,在所述多个脸部关键点中,选取关于所述中轴线对称的所述两个水平关键点和位于所述中轴线上的所述两个竖直关键点;
响应于所述参考尺寸不大于所述尺寸阈值,在除了所述多个脸部关键点之外的头部关键点中,选取关于所述中轴线对称的所述两个水平关键点和位于所述中轴线上的所述两个竖直关键点。
16.根据权利要求11所述的图像处理装置,其特征在于,所述变形长度确定单元,包括:
变形长度确定子单元,被配置为执行响应于所述像素点位于所述基准点的上方,根据所述目标水平关键点与所述基准点之间的第一距离、位于所述基准点上方的目标竖直关键点与所述基准点之间的第二距离、由所述基准点指向所述像素点的方向与所述竖直线之间的夹角,确定所述方向上的变形长度;
所述变形长度确定子单元,还被配置为执行响应于所述像素点位于所述基准点的下方,根据所述目标水平关键点与所述基准点之间的第一距离、位于所述基准点下方的目标竖直关键点与所述基准点之间的第二距离、由所述基准点指向所述像素点的方向与所述竖直线之间的夹角,确定所述方向上的变形长度。
17.根据权利要求11所述的图像处理装置,其特征在于,所述变形单元,包括:
变形力度确定子单元,被配置为执行对于所述变形目标区域中属于所述头部区域的任一像素点,根据所述像素点与所述基准点之间的第三距离,确定所述像素点的第一横向变形力度和第一竖向变形力度,所述第一横向变形力度与所述第三距离负相关,所述第一竖向变形力度与所述第三距离负相关;
水平位移量确定子单元,被配置为执行根据所述第一横向变形力度,对所述第三距离的横向距离进行加权,得到所述像素点的水平位移量;
竖直位移量确定子单元,被配置为执行根据所述第一竖向变形力度,对所述第三距离的竖向距离进行加权,得到所述像素点的竖直位移量;
像素点移动子单元,被配置为执行将所述像素点向靠近所述基准点的方向水平移动与所述水平位移量相等的距离,竖直移动与所述竖直位移量相等的距离。
18.根据权利要求17所述的图像处理装置,其特征在于,所述原始图像的边缘线由两个竖直边缘线和两个水平边缘线连接构成,所述变形力度确定子单元,被配置为执行:
确定所述像素点与所述原始图像的所述两个竖直边缘线之间的最小横向距离;
根据所述第三距离和所述最小横向距离,确定所述第一横向变形力度,所述第一横向变形力度与所述最小横向距离正相关;
确定所述像素点与所述原始图像的所述两个水平边缘线之间的最小竖向距离;
根据所述第三距离和所述最小竖向距离,确定所述第一竖向变形力度,所述第一竖向变形力度与所述最小竖向距离正相关。
19.根据权利要求11所述的图像处理装置,其特征在于,所述变形单元,包括:
像素点确定子单元,被配置为执行在从所述像素点靠近所述基准点的方向上,确定与所述像素点之间的横向距离为所述水平位移量,且竖向距离为所述竖直位移量的另一像素点;
渲染子单元,被配置为执行将所述像素点的图像信息渲染至所述另一像素点。
20.根据权利要求11所述的图像处理装置,其特征在于,所述变形单元,包括:
图像显示子单元,被配置为执行在图像处理界面中显示所述原始图像;
变形力度获取子单元,被配置为执行获取在所述图像处理界面输入的第二变形力度;
水平位移量确定子单元,被配置为执行根据所述第二变形力度,对所述像素点与所述基准点之间的第三距离的横向距离进行加权,得到水平位移量;
竖直位移量确定子单元,被配置为执行根据所述第二变形力度,对所述第三距离的竖向距离进行加权,得到竖直位移量;
像素点移动子单元,被配置为执行将所述像素点向靠近所述基准点的方向水平移动与所述水平位移量相等的距离,竖直移动与所述竖直位移量相等的距离。
21.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至权利要求10任一项所述的图像处理方法。
22.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至权利要求10任一项所述的图像处理方法。
23.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至权利要求10任一项所述的图像处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110257990.7A CN113033341B (zh) | 2021-03-09 | 2021-03-09 | 图像处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110257990.7A CN113033341B (zh) | 2021-03-09 | 2021-03-09 | 图像处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113033341A CN113033341A (zh) | 2021-06-25 |
CN113033341B true CN113033341B (zh) | 2024-04-19 |
Family
ID=76468703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110257990.7A Active CN113033341B (zh) | 2021-03-09 | 2021-03-09 | 图像处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113033341B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113343906A (zh) * | 2021-06-28 | 2021-09-03 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN113781547A (zh) * | 2021-08-05 | 2021-12-10 | 沈阳先进医疗设备技术孵化中心有限公司 | 头部对称轴识别方法及装置、存储介质、计算机设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108765274A (zh) * | 2018-05-31 | 2018-11-06 | 北京市商汤科技开发有限公司 | 一种图像处理方法、装置和计算机存储介质 |
CN108765351A (zh) * | 2018-05-31 | 2018-11-06 | Oppo广东移动通信有限公司 | 图像处理方法、装置、电子设备和存储介质 |
CN109190607A (zh) * | 2018-10-30 | 2019-01-11 | 维沃移动通信有限公司 | 一种动作图像处理方法、装置和终端 |
CN110096926A (zh) * | 2018-01-30 | 2019-08-06 | 北京亮亮视野科技有限公司 | 一种放缩智能眼镜屏幕的方法与智能眼镜 |
CN110288521A (zh) * | 2019-06-29 | 2019-09-27 | 北京字节跳动网络技术有限公司 | 图像美化方法、装置及电子设备 |
-
2021
- 2021-03-09 CN CN202110257990.7A patent/CN113033341B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096926A (zh) * | 2018-01-30 | 2019-08-06 | 北京亮亮视野科技有限公司 | 一种放缩智能眼镜屏幕的方法与智能眼镜 |
CN108765274A (zh) * | 2018-05-31 | 2018-11-06 | 北京市商汤科技开发有限公司 | 一种图像处理方法、装置和计算机存储介质 |
CN108765351A (zh) * | 2018-05-31 | 2018-11-06 | Oppo广东移动通信有限公司 | 图像处理方法、装置、电子设备和存储介质 |
CN109190607A (zh) * | 2018-10-30 | 2019-01-11 | 维沃移动通信有限公司 | 一种动作图像处理方法、装置和终端 |
CN110288521A (zh) * | 2019-06-29 | 2019-09-27 | 北京字节跳动网络技术有限公司 | 图像美化方法、装置及电子设备 |
Non-Patent Citations (1)
Title |
---|
基于自由形状变形的三维人脸表情控制;李健 等;《计算机工程与科学》;59-61 * |
Also Published As
Publication number | Publication date |
---|---|
CN113033341A (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11205282B2 (en) | Relocalization method and apparatus in camera pose tracking process and storage medium | |
CN110189340B (zh) | 图像分割方法、装置、电子设备及存储介质 | |
CN109712224B (zh) | 虚拟场景的渲染方法、装置及智能设备 | |
CN110807361B (zh) | 人体识别方法、装置、计算机设备及存储介质 | |
CN110544272B (zh) | 脸部跟踪方法、装置、计算机设备及存储介质 | |
US11488293B1 (en) | Method for processing images and electronic device | |
CN109977775B (zh) | 关键点检测方法、装置、设备及可读存储介质 | |
CN112907725B (zh) | 图像生成、图像处理模型的训练、图像处理方法和装置 | |
CN113763228B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN112581358B (zh) | 图像处理模型的训练方法、图像处理方法及装置 | |
CN113033341B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN110956580B (zh) | 图像换脸的方法、装置、计算机设备以及存储介质 | |
CN112287852A (zh) | 人脸图像的处理方法、显示方法、装置及设备 | |
CN111723803B (zh) | 图像处理方法、装置、设备及存储介质 | |
CN110991445B (zh) | 竖排文字识别方法、装置、设备及介质 | |
CN110807769B (zh) | 图像显示控制方法及装置 | |
CN110796083A (zh) | 图像显示方法、装置、终端及存储介质 | |
CN110232417B (zh) | 图像识别方法、装置、计算机设备及计算机可读存储介质 | |
CN112135191A (zh) | 视频编辑方法、装置、终端及存储介质 | |
CN109345636B (zh) | 获取虚拟人脸图的方法和装置 | |
CN112528760B (zh) | 图像处理方法、装置、计算机设备及介质 | |
CN111626924B (zh) | 图像的虚化处理方法、装置、电子设备及可读存储介质 | |
CN116109531A (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
CN112907702A (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
CN112399080A (zh) | 视频处理方法、装置、终端及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |