APP下载

一种自动学习构图的人物图像裁剪方法

2021-11-07

关键词:关键点均值姿势

邓 红

(无锡机电高等职业技术学校,江苏 无锡 214028)

1 引言

图像裁剪技术,是计算机视觉领域的研究热点之一,旨在通过修改图像宽高比或图像构图,从原图像中移除无关区域或无意义噪声,使得裁剪后的图像具有相对于原图像而言更好的视觉效果[1]。随着审美意识的逐渐提升,人们对图像的美学质量也提出了要求。另外手机应用程序、电脑网页等常常需要在限定宽高比的位置上,显示具有更完整信息或较好视觉效果的裁剪图像,以此来获得更多的点击量。因此,自动生成艺术性较好的图像裁剪技术在人们日常生活或商业领域中均有重要应用,具有较高的经济价值。

目前图像裁剪改进构图研究已经取得了一定进展,然而关于人物图像的构图改进研究却比较少。现在的方法一般是通过显著性预测或者视觉质量评估等来制定改进构图的优化函数,以此增强图片的美感[2]。Suh[3]等人使用显著图评估图像区域质量,选择尺寸最小且包含显著性部分最多的子图片,作为最优裁剪窗口。有的研究人员提出基于卷积神经网络的图像美学质量评估和自动裁剪的算法[4-5],其中有监督学习的卷积神经网络可以实现端到端的图像裁剪[6]。然而这些方法都需要大量主观的人工标记,算法效率较低,而且没有考虑人物姿势,导致视觉表现力不强。

分析专业摄影师与普通人对同一场景拍摄图像的优劣,主要原因在于专业摄影师具有较好的构图能力。基于此,本文提出通过自动学习高艺术质量人物图像的构图规则来指导裁剪过程的假设,避免依赖大量的人工标记,充分考虑人体姿势,设计一种可以自动学习构图的人物图像裁剪方法,从而有效增强人物图像的表现力。首先通过人体关键点检测,获取学习图片中人物姿势及头部中心位置,基于分层k-均值树构建姿势模型,给定待裁剪的原人物图片和宽高比,然后检测原图片的身体姿势,与姿势模型进行匹配生成候选裁剪窗口,经热力计算,最后给出最优裁剪图像。裁剪过程如图1所示。

图1 裁剪流程示意图

2 相关工作

人体关键点检测(Human Keypoints Detection)又称为人体姿态估计,一般作为计算机视觉中人体动作识别、行为分析、人机交互等的前置任务,分为单人/多人关键点检测、2D/3D关键点检测。随着深度学习领域的发展,目前人体关键点检测算法可以比较精确地检测人体关键点。例如Newell[7]等人设计的一种基于Hourglass网络的人体关键点检测算法,以及Cao[8]等人提出的部分近似区域法,来检测多人姿势关键点。

目前应用最广泛的两个人体姿势数据集是:COCO数据集[9]和MPII数据集[10]。COCO数据集定义了18个关键点,MPII数据集定义了15个关键点。我们使用COCO数据集中的全部18个关键点和MPII数据集的 2个关键点:Head Top和 Upper Neck。本文使Head Top和Upper Neck两个键点来大致确定头部尺寸和头部中心,以便归一化处理姿势数据。

另外,在本文的方法中,对于一个待裁剪的人物图像,先检测该图的人体关键点,利用得到的姿势数据(我们称为查询姿势,即Query Pose),搜索与之最近邻的姿势(我们称为相似姿势,即Anchor Pose),目前这个问题还没有比线性搜索更快的算法。而Muja[11]等人提出将优先级搜索应用于分层k-均值树的方法,在很多数据集中表现出良好的性能,因此本文使用分层k-均值树构建人物姿势模型,将优先级搜索应用在分层k-均值树上进行最近邻的搜索。

3 基于优先级搜索分层k-均值树的人物图像裁剪方法

3.1 分层k-均值树建立与搜索

一个分层k-均值树是指将样本通过递归聚类和分裂分布到不同叶子上的树。首先我们将所有样本作为一个节点,使用k-means算法(k=2)去聚类样本。这样一个父节点生成两个子节点,并且将两个聚类的样本分发给每个子节点。然后递归地对每个子节点运行上述过程,直到样本达到一个相似的节点。

本文使用欧式距离(Euclidean Distance)来评估两个姿势的相似度。在计算之前,姿势数据必须先进行归一化操作,另外还需要考虑有些关键点不可见。例如我们不可能去计算一个具有全部身体关键点姿势和只有上半身关键点姿势之间的欧式距离。为了处理这个问题,我们将包含不同关键点集合的样本分到不同的子文件夹中,然后每个文件夹训练一个分层k-均值树,得到一组分层k-均值树,每个树对应一个关键点集合。当给定一个查询姿势,只要遍历具有相同关键点集合的分层k-均值树。

给定一个查询姿势,需要查找一组相似姿势。本文采用Muja等人的方法搜索最近的邻居,应用优先队列加速查找。如果一个节点具有两个子节点,则计算查询姿势和每个子节点的距离,根据计算的距离,将两个子节点插入队列,选择与查询姿势距离最小的节点;如果一个节点没有子节点,选择该节点,并计算该节点与查询姿势的距离。如果该距离没有超过事先定义的阈值,则保留该叶子节点。通过上述过程,可以收集到一组相似姿势。当保留的叶子节点达到预定义数量后,算法停止查找。实验表明,该方法比“暴力搜索”(brute-force searching)大大提升了搜索效率。

3.2 裁剪算法

对于一个查询姿势,首先基于分层k-均值树和优先队列查找一组相似姿势。而对每一个相似姿势,计算人体头部中心在图片中的相对位置。然后为查询姿势生成一个待裁剪窗口,在该窗口中有相似的头部中心相对位置。这样,我们将生成一组候选裁剪方案,其过程如下算法1所示。最后,我们选择具有最高的热力值的候选裁剪方案作为最终裁剪方案(具体见3.4部分)。

算法1:generate croppingproposal

Input:F—hierarchical k-means trees I—image Output:croppingproposal

(1)Detect body key points on image I(we denote these keypoints as queryposePq);

(2)Find a group ofsimilar poses{Pqj=1...N};

(3)Calculate the heat maps with these poses;

(4)forPn∈{Pqj=1...N}:

calculate the relative position forPn’s head center;

generate a windowwnforPqaccording to the above relative position;

evaluate the heat ofwindowwnfor queryposePq;

5).Return the windowwith the maximumheat.

3.3 热力图

本文使用热力图(Heat Maps)来评估候选裁剪方案的视觉质量。热力图是从查询姿势的相似姿势中生成的。对每一个查询姿势Pn,记第k个关键点坐标为(knx,kny)。由于图片有不同的尺寸,先要进行归一化,处理成100×100的尺寸,其数学表达式

对于一组N个样本,第k个关键点的热力图计算如下数学表达式(3):

接下来用高斯函数对热力图进行平滑处理。

对于query posePn的候选裁剪窗口wm,计算wm中的关键点相应位置,如式(1)式(2),热力值heat计算如式(5)下:

其中,K为关键点的编号。为了简化和高效裁剪,本文只考虑三个关键点:头部中心,左肩和右肩。热图示例如上图2所示。

图2 热力图示例

4 实验结果

4.1 实验数据集

为了训练Hierarchical k-means tree的姿势模型,本文从专业的摄影网站收集了10,000张包括各种比例和尺寸的人物照片作为训练集。这些照片绝大多数都是由专业的摄影师拍摄,且具有较高的美学质量。另外从MS COCO(Microsoft Common Objects in Context)数据集中选出631张美学质量一般的人物照片作为本文的测试集。

4.2 裁剪实例

由于应用需求单人情况较多,本文先针对单人的图像裁剪问题进行研究。图3是应用本文方法得到的裁剪结果。对于不同比例的原图,都裁剪出3:2和3:4两种比例的子图。从裁剪结果来看,该方法是令人满意的,能够保留人物主体目标较完整的信息,同时兼顾美感。

图3 裁剪实例

根据不同场景,可以通过设置裁剪子图中包含的关键点内容来进行自动裁剪。实验如下图4所示,图4(b)的裁剪约束条件是包含人物全身关键点,图4(c)约束只包含上半身的关键点,图4(d)条件是包含肘关节及以上关键点。因此根据不同的场景,可以裁剪出不同的结果,对于不同应用需求是非常有用。

图4 有约束裁剪结果

4.3 实验效率

本文实验系统环境的硬件配置是:NVIDIA GeForce GTX-1060 GPU、Intel i7-6700 CPU,操作系统是Ubuntu 16.04,编程语言是Python。代码运行时间主要包括两部分:①姿势检测时间;②裁剪时间。姿势检测代码运行在GPU上,每张图片需要100ms。裁剪代码运行在CPU上,每张图片需要110ms。因此本方法每秒可以处理4.7张图片。

5 结束语

本文提出了“从现有高艺术质量图片自动学习构图规则来指导裁剪过程”这一假设,并基于该假设,设计并实现一种自动学习构图的人物图像裁剪方法。该方法通过检测高美学质量图像中人物姿势及头部中心的相对位置,构建Hierarchical k-means trees,使用优先Hierarchical k-means trees查找相似姿势,生成候选裁剪窗口,根据热力图计算进行美学评估,得到最终裁剪结果。实验结果表明,本文提出的假设具有合理性和可行性,该方法不需要大量人工标识,在裁剪阶段能够根据场景需求,保留相应的主体信息,构图效果理想,效率较高,具有良好的应用前景。

猜你喜欢

关键点均值姿势
论建筑工程管理关键点
水利水电工程施工质量控制的关键点
倒挂在树上,我的主要姿势
看书的姿势
均值—方差分析及CAPM模型的运用
均值—方差分析及CAPM模型的运用
利用定义法破解关键点
第五章 跑“各种姿势的起跑”课时1教案
均值不等式的小应用
机械能守恒定律应用的关键点