1.本发明属于深度学习、图像检索领域,特别涉及一种融合图像内容和几何特征提取的拍照姿势推荐方法。
背景技术:2.目前,智能手机的拍照功能正在飞速发展,其摄像头像素、成像质量等越来越高。不少智能手机的拍照功能甚至可以媲美专业相机。在这样的背景下,加上手机的便捷性,使得人们更愿意使用手机来完成个人摄影。不管是专业人士还是业余爱好者,数码摄影对很多人来说都很有趣。据估计,每年有超过10亿张照片被智能手机拍摄。社交网络上的人经常和朋友分享他们的照片。智能手机不断增强的计算能力以及通过网络连接到更强大的计算平台的能力,使它们成为业余摄影师的创作助手,主要的智能手机制造商也已经开始引进设备上的照片增强功能。
3.但是,拍摄令人满意的照片通常需要专业摄影师的专业知识和经验。和其他视觉艺术一样,由于缺乏类似符号或数学方程式的通用表示,使得传授摄影知识变得困难。许多人的拍照姿势单一而僵硬,不能做出适合当前场景又美观的姿势,在实际生活中也难以快速在互联网上找到适合当前场景的拍照姿势,从而造成像素虽高但作为人像照片质量并不是很令人满意的结果。尽管如此,许多人还是对专业质量的照片很感兴趣,他们希望能够为自己感兴趣的场景或事件创作出类似质量的照片。
4.为了解决这样一个问题,本发明提出了一个依据拍照场景智能推荐拍照姿势的技术方案及其系统,通过利用深度神经网络提取的不同层次的特征进行基于检索的姿势图片推荐。
5.目前,国内已有一些拍照姿势推荐的实践,例如通过识别表情信息、输入心情信息以及获取拍摄者与移动终端持有者的关系等信息进行拍照表情和拍照姿势的推荐;通过判断图片中的人脸数量、人脸位置等信息通过参数匹配推荐姿势库中的姿势图片;通过人脸数量和人脸对应的身份信息进行姿势模板的推荐。通过对拍摄者周围的环境信息(gps定位信息和指南针信息)进行分析,并推荐姿势。此外,还有一些关于构建拍照模板数据库的专利。现有的其他姿势推荐技术还有基于摄影规则的姿势检索推荐和基于美学评分的姿势检索推荐。
6.以上的技术都没有挖掘场景中的语义信息、场景类别信息以及纹理信息。通过这些丰富的信息进行姿势图片库的检索可以使结果更加多样,满足不同体型、肤色、性别、年龄用户的姿势偏好。另外,引入语义信息可以更加智能的识别画面中用户可以与之交互拍照的物体,如:公园的长椅、楼梯等。
技术实现要素:7.针对现有技术中存在的问题,本发明的目的在于提供一种融合图像内容和几何特征提取的拍照姿势推荐方法。本发明包括获取照相的初始图片和用户关注点坐标;依据图
片提取图片的场景类别、语义纹理特征、视角特征和用户关注点类别的信息;依据特征与自有数据库中的特征进行相似度计算;最终经过检索返回适合当前场景的若干最佳拍照姿势。本发明智能的向用户快速推荐适合用户所处的当前场景和拍摄视角的拍照姿势,满足用户在拍摄过程中对姿势的需求。依据不同场景提供不同的姿势提示和指导也丰富了拍照功能和提升了拍照体验。另外,本发明关注用户感兴趣的物品和场景。当用户有重点关注和希望交互的物品场景出现时,用户可以点击感兴趣的物品和场景,本发明将依据用户兴趣进行推荐。
8.本发明的技术方案为:
9.一种融合图像内容和几何特征提取的拍照姿势推荐方法,其步骤包括:
10.从用户输入的图像中提取场景语义特征、场景特征、视角特征;
11.将所提取的场景语义特征、场景特征、视角特征按照设定规则进行融合;
12.计算融合所得特征与特征数据库中的特征的相似性,将相似性最高的m个特征对应的姿势图片返回给用户。
13.进一步的,提取所述场景语义特征的方法为:将输入图像按原图面积的划分为图像左子图、右子图、上子图和下子图;采用语义分割模型提取每一张子图的二维特征图g,将每一二维特征图g压缩为一个一维向量作为对应子图的场景语义信息,记为f
s_left
,f
s_right
,f
s_up
,f
s_down
;然后将各子图的场景语义信息进行加权拼接得到所述场景语义特征fs。
14.进一步的,当用户点击所述图像中的一个目标作为重点关注的场景或希望与之进行交互的物品,则将用户所点击坐标(p
x
,py)将作为所述语义分割模型的输入,将输出的二维特征图g中对应的二维坐标对应的类别p作为强标签。
15.进一步的,利用余弦距离公式计算融合所得特征f
input
与特征库中每一个特征之间的相似性similarity;将姿势图片数据库中图片类别为p的置信度大于设定阈值,且图片的特征与融合所得特征f
input
相似性最高的m个姿势图片返回给用户。
16.进一步的,采用残差网络提取所述视角特征、所述场景特征;所述残差网络模型采用resnet-50模型作为基础网络结构,所述resnet-50模型的最后一个卷积模块分别连接用于场景特征提取的第一平均池化层、第二平均池化层,以及分别连接第三平均池化层、第四平均池化层;第三平均池化层与第一全连接层连接,用于输出场景类别,第四平均池化层与第二全连接层连接,用于输出视角类别;其中,训练所述残差网络的方法为:首先收集不同场景的图片数据集,然后对于图片数据集中每一图片,检测该图片中的消失点v(v
x
,vy),并通过对该图片进行视角分类,根据该图片的视觉分类结果view标注该图片的场景类别,其中l
input
为该图片的长度、w
input
为该图片的宽度;然后利用根据标注结果所得包含n张图片的训练数据集x=[x1,x2,x3,
…
,xn]及对应的场景类别标签和视角类别标签,训练所述残差网络,训练所述残差网络时所采用的损失函数包
括括其中,viewi表示第i张图片标注的视角类别标签,yi表示第i张图片标注的场景类别标签,f
view
(xi)为以第i张照片xi为输入时所述模型输出的视角类别,f
scene
(xi)为以第i张照片xi为输入时所述模型输出的场景类别。
[0017]
进一步的,将训练后的所述resnet-50模型的最后一个卷积模块输出作为场景特征f
c_1
×1;以及将训练后的所述resnet-50模型的最后一个卷积模块中的平均池化层的尺寸参数改为2
×
2,并将该卷积模块输出的特征图f
c_2
×2压缩为一维向量f
c_2
×2;然后将场景特征f
c_1
×1、一维向量f
c_2
×2作为所述场景特征
[0018]
进一步的,将所述场景语义特征、场景特征、视角特征分别进行l2范数归一化后进行加权融合,得到融合后的特征。
[0019]
进一步的,将姿势图片数据库d中的每张照片进行特征提取,并将所提取的场景语义特征、场景特征、视角特征按照设定规则进行融合,得到对应的特征库df。
[0020]
一种服务器,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行上述方法中各步骤的指令。
[0021]
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述方法的步骤。
[0022]
本发明的优点如下:
[0023]
本发明技术方案提出的系统逻辑可以返回多样的姿势照片,满足不同体型、肤色、性别、年龄用户的姿势偏好。在特征提取步骤中引入场景类别信息、纹理信息和视角信息可以更准确的检索到姿势图片库中场景相似的姿势照片,引入语义信息和强标签系统可以更加智能的识别画面中用户可以与之交互拍照的物体,如:公园的长椅、楼梯等。本发明方法将具有较强的可解释性、可修改性和鲁棒性。通过实验证明用本技术方案提供的系统能较快速的对新的场景做出反应,可以满足用户对于姿势推荐的即时性需求。
附图说明
[0024]
图1为本发明的方法流程图。
[0025]
图2为语义分割细节子图切分示例图;
[0026]
(a)上下分割,(b)左右分割。
[0027]
图3为场景分类、视角特征示例图。
具体实施方式
[0028]
下面结合附图对本发明进行进一步详细描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0029]
本技术方案希望通过图像特征相似性比对和图片数据库检索相结合的方式寻找场景照片与姿势的非线性映射关系。如图1所示,本技术方案整体上分为四步,由输入图片开始,首先进行图像的特征提取,并且将三组特征按一定规则融合,接下来将所得特征值与特征数据库中的特征进行比对,最终进入姿势图片数据库中进行检索。如果用户点击了感
兴趣的物品或场景,用户点击的坐标将会作为另一个输入进入语义分割网络,进而识别到强标签,并有针对性的推荐包含用户关注的场景或希望与之交互的物品。此外,为了构建姿势图片库的特征数据库,也需要对姿势图片库的图片进行相同步骤的特征提取。
[0030]
姿势图片库和特征库准备
[0031]
收集游客照片n张,从中挑选较为优秀的(一般由摄影师或有一定摄影经验的人指导被拍摄者进行摄影)单人照片,构建姿势图片数据库d。对照片的要求包括:背景清晰、场景多样、姿势美观。
[0032]
本发明的步骤包括:
[0033]
步骤一:场景语义特征提取和强标签的识别。本技术方案采用语义分割模型pyramid scene parsing network(pspnet)和50层深度残差网络(resnet50)作为基本的模型结构,目的是挖掘图像场景类别信息、语义信息、图片纹理信息以及照片的视角信息。resnet-50模型的最后一个卷积模块分别连接用于场景特征提取的第一平均池化层、第二平均池化层,以及分别连接第三平均池化层、第四平均池化层;第三平均池化层与第一全连接层连接,用于输出场景类别,第四平均池化层与第二全连接层连接,用于输出视角类别。
[0034]
首先,构造语义分割模型用于提取场景语义特征表示。如图1所示,本技术方案采用pspnet作为模型的基础网络结构,将pspnet的输出的二维特征图g压缩为150个分量的一维向量f
s_all
,其中f
s_all
中每一分量代表一设定类别分类的像素个数。pspnet语义分割模型采用开源的ade20k作为训练数据集,其由包含150种语义信息的2万张图片构成。为了获取和空间位置信息相关的语义信息,本技术方案采用分格提取特征值的方式,即如图2所示,分别按原图面积的提取图像左子图,右子图,上子图和下子图四张子图的场景语义信息,记为f
s_left
,f
s_right
,f
s_up
,f
s_down
并加上权重并进行特征值拼接(特征值的拼接用运算符表示),通常权重w
left
,w
right
,w
up
,w
down
设置为w
all
的如下所示:
[0035][0036]
得到750维场景语义特征fs=[x1,x2,x3,
…
,x
750
]。
[0037]
另外,如果用户点击了取景框中重点关注的场景或希望与之进行交互的物品(如:椅子,桌子,栏杆,楼梯,草地等),则用户点击的坐标(p
x
,py)也将作为语义分割模型的输入,并将此坐标带入pspnet模型输出的二维特征图g中,得出二维坐标对应的类别p,由此可知用户关注的强标签为类别p。
[0038]
步骤二:构造残差网络模型用于提取场景特征表示和视角特征表示。如图1所示,本技术方案采用resnet-50作为模型的基础网络结构,为提取场景信息和纹理信息,将resnet-50模型的最后一个卷积模块输出作为图像场景信息的特征图f
c_1
×1=[y1,y2,y3,
…
,y
2048
],如图3所示。为了获取和空间位置相关的场景类别信息,本技术方案还提供了另一种输出作为选择,即将resnet-50模型的最后一个卷积模块中的平均池化层的尺寸参数由1
×
1改为2
×
2,记为特征图f
c_2
×2,以更方便的获取空间信息,如图3所示。其中,为方便处理,将特征图f
c_2
×2压缩为一维向量f
c_2
×2=[z1,z2,z3,
…
,z
8192
]。另外,对于视角特征的提取,本方案采用残差网络多任务训练的方式进行训练,训练细节如下(注:resnet-50模型的最后一个卷积模块中的平均池化层的尺寸参数改为2
×
2目的在于方便特征提取,在模型训
练过程中仍按照尺寸1
×
1的平均池化层分别加上两个不同大小的全连接层进行双输出的多任务训练,训练完成后在预测阶段再生成两种平均池化层下的场景类别特征,详见图3):
[0039]
首先,通过[rother 2002](参见rother c.a new approach to vanishing point detection in architectural environments[j].image and vision computing,2002,20(9-10):647-655)的方法检测场景中的消失点v(v
x
,vy),并通过如下方式进行视角分类(默认图片长和宽为l
input
和w
input
):
[0040][0041]
由上式可知,视角分类共分为4类,即将原图进行四等分,类别0、1、2、3分别代表场景消失点位于原图的右上部分、右下部份、左上部分和左下部分的四种类别。
[0042]
首先收集不同场景的图片数据集(例如places365公开数据集),标注(草地、沙滩、卧室、咖啡馆等)不同的场景类别,并用上述[rother 2002]方法结合公式(2)进行视角类别的标注,得到包含n张照片的训练数据集x=[x1,x2,x3,
…
,xn]及他们对应的场景类别标签和视角类别标签。在模型训练时,模型的输出为场景类别和视角类别。在训练完成后进行特征抽取时,由于本方案将resnet50的最后一个卷积模块输出做了变更,模型的输出不再是场景类别,模型将更加感知照片的场景纹理信息,并且辅以视角类别的输出,模型也将会对空间方向信息进行感知。
[0043]
多任务训练中场景特征和视角特征的两个损失函数(loss
scene
,loss
view
)为均方误差函数l2loss(mse),写为:
[0044][0045][0046]
式中,n表示训练数据集中的照片数量,viewi表示第i张照片对应的视角类别标签(由于视角类别有4类,viewi将有4维,对应标签类别值为1,其余值为0),yi表示第i张照片对应的场景类别标签(如应用365个类别的places365数据集,yi将有365维,对应标签类别值为1,其余值为0),f
view
(
·
)的结果为以第i张照片xi为输入时所述模型输出的视角类别,f
scene
(
·
)的结果为以第i张照片xi为输入时所述模型输出的场景类别。由此根据输入图片可经过残差网络获得视角特征f
view
=[v1,v2,v3,v4]。
[0047]
步骤三:特征融合。根据步骤一中得到的特征向量fs,步骤二中得到的特征f
c_1
×1,f
c_2
×2,f
view
将它们各自进行l2范数归一化:
[0048][0049]
[0050][0051][0052]
并以权重qs,q
c_1
×1,q
c_2
×2,qv进行加和(通常q
c_1
×1和q
c_2
×2权重值设置为相同,且都为qs权重值的qv权值与qs相同):
[0053]finput
=f
s_l2
·qs
+f
c_1
×
1_l2
·qc_1
×1+f
c_2
×
2_l2
·qc_2
×2+f
view_l2
·qv
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0054]
步骤四:制作特征库。将姿势图片数据库d中的每张照片进行前文所述的特征提取过程,并存储为特征库df,其中的第i张图片对应的特征值记为
[0055][0056]
步骤五:特征库比对。依次利用余弦距离公式,计算f
input
与特征库中每一个之间的相似性similarity:
[0057][0058]
步骤六:姿势图片库检索。依据步骤三得到的相似度进行排序,返回前m个结果,并在图片库中返回这m个特征对应的m张照片,即为本技术方案在当前场景下推荐的m个姿势。若存在强标签,则进行筛选以80%以上置信度分类为类别p的照片进行相似度排序并返回推荐结果。
[0059]
尽管为说明目的公开了本发明的具体实施例,其目的在于帮助理解本发明的内容并据以实施,本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。