一种图像拼接方法及电子设备与流程
未命名
10-09
阅读:183
评论:0
1.本技术涉及计算机应用技术领域,尤其涉及一种图像拼接方法及电子设备。
背景技术:
2.在一些场景中,单张图像可能无法完整地显示出所有需要展示的内容,因此需要将多张图像拼接在一起,以展示更大的场景,从而获得更大的视野。图像拼接指的是将两幅具有一定重叠区域的图像进行拼接,达到没有明显缝隙的拼接效果的方法。图1a及图1b分别为相关技术中提供的一种待拼接的图像示意图,由图1a及图1b可知,该两张图像均包括同一物体,实际为同一场景不同角度的两张图像,图1c为相关技术中提供的一种拼接后的图像示意图,具体图1c为图1a和图ab的两张图像进行拼接后得到的图像,由图1a、图1b及图1c可知,将多张图像拼接在一起,可以展示更大的场景。
3.相关技术中通常基于特征点对的图像拼接算法对图像进行拼接,具体的,在两张图像的重叠区域找到特征点对,基于特征点对对图像进行后续变换,包括放缩、旋转、投影、仿射等变换。图2为相关技术中提供的一种得到的特征点对示意图,图2中两张图像在同一条线上的点为同一特征点对。然而相关技术中获取到的特征点对准确度不高,且可获取到的特征点对的数量较少,无法准确地实现拼接。
技术实现要素:
4.本技术实施例提供了一种图像拼接方法及电子设备,用于解决相关技术中获取到的特征点对准确度不高,且可获取到的特征点对的数量较少,从而无法准确地实现图像拼接的问题。
5.第一方面,本技术实施例提供了一种图像拼接方法,所述方法包括:
6.识别待拼接的第一图像及第二图像中人体所处的区域;识别所述区域中骨骼点的类型及在对应图像中的位置;
7.按照预设的骨骼点的类型的顺序,确定区域中对应类型的骨骼点的位置对应的向量;
8.针对所述第一图像中任一区域,根据该区域对应的向量,与所述第二图像中区域的向量,确定该区域的人体与第二图像中区域的人体的相似度;将对应相似度最大的第二图像中的区域确定为该区域的目标区域,并将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对;
9.基于特征点对对所述第一图像及所述第二图像进行拼接。
10.第二方面,本技术实施例还提供了一种电子设备,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如上述任一项所述图像拼接方法的步骤。
11.在本技术实施例中,电子设备识别待拼接的第一图像及第二图像中人体所处的区域;识别区域中骨骼点的类型及在对应图像中的位置;按照预设的骨骼点的类型的顺序,确
定区域中对应类型的骨骼点的位置对应的向量;针对第一图像中任一区域,根据该区域对应的向量,与第二图像中区域的向量,确定该区域的人体与第二图像中区域的人体的相似度;将对应相似度最大的第二图像中的区域确定为该区域的目标区域,并将目标区域与该区域中的同一类型的骨骼点确定为特征点对;基于特征点对对第一图像及第二图像进行拼接。由于在本技术实施例中,电子设备确定第一图像及第二图像中人体所处的区域中骨骼点的类型及位置,并根据骨骼点的类型及位置确定区域的向量,针对第一图像中任一区域,根据该区域的向量及第二图像中区域的向量,确定该区域的人体与第二图像中区域的人体的相似度,进而确定出第二图像中与该区域的相似度最大的目标区域,从而可以准确地将目标区域与该区域中同一类型的骨骼点确定为特征点对,由于在进行拼接时可以增加特征点对的数量,且增加的特征点对的准确性较高,因此可以准确地实现图像的拼接。
附图说明
12.为了更清楚地说明本技术的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
13.图1a为相关技术中提供的一种待拼接的图像示意图;
14.图1b为相关技术中提供的一种待拼接的图像示意图;
15.图1c为相关技术中提供的一种拼接后的图像示意图;
16.图2为相关技术中提供的一种得到的特征点对示意图;
17.图3为本技术实施例提供的一种图像拼接过程示意图;
18.图4为本技术实施例提供的一种第一图像示意图;
19.图5为本技术实施例提供的一种第二图像示意图;
20.图6为本技术实施例提供的一种拼接后的图像示意图;
21.图7为本技术实施例提供的一种图像拼接的详细过程示意图;
22.图8为本技术实施例提供的一种确定相似度的示意图;
23.图9为本技术实施例提供的一种确定特征点对的过程示意图;
24.图10为本技术实施例提供的一种图像拼接的详细过程示意图;
25.图11为本技术实施例提供的一种图像拼接装置结构示意图;
26.图12为本技术实施例提供的一种电子设备结构示意图。
具体实施方式
27.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图,对本技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本技术保护的范围。
28.为了准确地实现图像拼接,本技术实施例提供了一种图像拼接方法及电子设备。
29.该图像拼接方法包括:识别待拼接的第一图像及第二图像中人体所处的区域;识别区域中骨骼点的类型及在对应图像中的位置;按照预设的骨骼点的类型的顺序,确定区域中对应类型的骨骼点的位置对应的向量;针对第一图像中任一区域,根据该区域对应的
向量,与第二图像中区域的向量,确定该区域的人体与第二图像中区域的人体的相似度;将对应相似度最大的第二图像中的区域确定为该区域的目标区域,并将目标区域与该区域中的同一类型的骨骼点确定为特征点对;基于特征点对对第一图像及第二图像进行拼接,从而准确地实现图像拼接。
30.图3为本技术实施例提供的一种图像拼接过程示意图,该过程包括以下步骤:
31.s301:识别待拼接的第一图像及第二图像中人体所处的区域;识别所述区域中骨骼点的类型及在对应图像中的位置。
32.本技术实施例提供的图像拼接方法应用于电子设备,该电子设备可以为pc、具有计算功能的图像采集设备、服务器或其他智能设备。
33.以第一图像为图4,第二图像为图5为例进行以下介绍。图4为本技术实施例提供的一种第一图像示意图,图5为本技术实施例提供的一种第二图像示意图。由图4及图5可知,第一图像中包含用户a及用户b,第二图像中包含用户a、用户b及用户c,第一图像及第二图像中存在重叠区域。
34.为了实现图像拼接,电子设备可以先获取待拼接的第一图像及第二图像,具体的,可以是业务人员在有对图像进行拼接的需求时,在自身使用的设备或预设设备的预设页面选择第一图像及第二图像的存储路径,并点击预设按钮,例如“拼接”按钮,此时业务人员使用的设备或预设设备即可在对应存储路径中,获取到待拼接的第一图像及第二图像,并将获取到的第一图像及第二图像发送至电子设备,电子设备即可接收到第一图像及第二图像;此外,还可以是相邻的图像采集设备采集实际场景中相邻且存在部分重叠的区域,相邻的图像采集设备采集到图像后,将采集到的图像及图像采集设备的标识发送至电子设备,其中,每个图像采集设备的标识不同,电子设备根据接收到的每个图像及图像采集设备的标识,确定预先保存的相邻图像采集设备的标识对应的图像为待拼接的第一图像及第二图像。此外,电子设备还可以通过其他方式获取待拼接的第一图像及第二图像,具体的,在此不做限制。
35.为了实现图像拼接,电子设备可以先识别第一图像及第二图像中人体所处的每个区域,其中,每个区域中均仅包含一个人体。电子设备可以通过哈尔(haar)特征分类器识别第一图像及第二图像中人体所处的每个区域,其中,haar特征分类器是一种基于机器学习的人脸检测技术,可以通过检测图像中特定的haar特征,例如边缘、角点等来识别人体区域。电子设备还可以通过边缘检测的方法识别第一图像及第二图像中人体所处的每个区域,边缘检测是一种将图像转换为仅包含物体轮廓的技术,通过检测图像中的边缘,可以识别出人体所处的区域。具体的,如何通过haar特征分类器及边缘检测的方法识别图像中人体所处的区域为现有技术,在此不再赘述。其中,人体所处的区域可以用完整包含人体的矩形框左上角(此处所描述的上下左右为图像中的上下左右)及右下角(此处所描述的上下左右为图像中的上下左右)的位置表示,人体所处的区域还可以用完整包含人体的矩形框的高度、宽度及某个顶点在图像中的位置表示。
36.在本技术实施例中,电子设备中可以记录有第一图像及第二图像中重叠区域,在进行人体所处的区域的识别时,电子设备可以针对第一图像及第二图像中重叠区域进行识别,也可以针对第一图像及第二图像进行识别,若针对第一图像及第二图像中重叠区域进行识别,则可以先对第一图像及第二图像中重叠区域进行截取,并针对截取后的第一图像
及第二图像进行人体所处的区域的识别。其中,重叠区域可以是在拍摄图像时是已知的,也可以是业务人员预先标注好的,且重叠区域中包含人体,假设重叠区域中包含n个人体,则针对第一图像及第二图像共可以识别出2n个人体所处的区域,即可以识别出2n个人体。此外,电子设备还可以检测动物目标所处的区域。
37.在识别到第一图像及第二图像中人体所处的每个区域后,电子设备可以针对每个区域,识别该区域中每个骨骼点的类型及在对应图像中的位置。具体的,电子设备可以针对每个区域,截取第一图像或第二图像中包含该区域的子图像,并将该子图像输入预先训练完成的识别模型中,获取该识别模型输出的每个骨骼点的类型及在该子图像中的位置,并基于每个骨骼点在子图像中的位置,及该子图像在第一图像或第二图像中的区域,确定每个骨骼点在第一图像或第二图像中的位置。该每个骨骼点包括人体的主要关节点的位置,如腕部、肘部、膝部、颈部、头部等。其中,具体确定哪个类型的骨骼点及在图像中的位置,可以根据需求设置,在此不做限制。
38.s302:按照预设的骨骼点的类型的顺序,确定区域中对应类型的骨骼点的位置对应的向量。
39.为了进行图像的拼接,电子设备本地预先保存有预设的骨骼点类型的顺序,例如该顺序可以为:鼻子、左眼(此处所描述的左右为人体的左右)、右眼、左耳、右耳、嘴、颈部、左肩、右肩、左肘、右肘、左手腕、右手腕、左髋、右髋、左膝盖、右膝盖、左脚踝、右脚踝,其中,还可以是其他顺序,具体的,骨骼点类型的顺序为怎样的顺序,在此不做限制。
40.电子设备可以针对第一图像及第二图像中人体的每个区域,针对该区域中任一骨骼点,确定该骨骼点的类型在骨骼点类型的顺序中的目标顺序,将目标顺序处的分量确定为该骨骼点在对应图像中的位置,从而确定该区域对应的向量。例如,骨骼点类型的顺序为鼻子、左眼
……
,某一区域中鼻子在对应图像中的位置为x1,y1,该区域中左眼在对应图像中的位置为x2,y2,则生成的向量为[x1,y1,x2,y2,
……
]。
[0041]
电子设备采用该方法可以在骨骼点级别上描述人体姿态,进而提供更丰富的信息,有效地为确定特征点对提供基础。
[0042]
其中,在第一图像中检测出的每个区域的骨骼点的位置可以置于一个集合中,每个区域的骨骼点的位置的集合可以依次被记作:u
a1
、u
a2
、
……
、u
an
;在第二图像中检测出的每个区域的骨骼点的位置可以置于一个集合中,每个区域的骨骼点的位置的集合可以依次被记作:u
b1
、u
b2
、
……
、u
bn
。由于采用相同的方式识别第一图像及第二图像中每个区域的骨骼点,因此每个区域的骨骼点的集合内的元素数量相同,且骨骼点按相同的顺序排列。例如,每个集合均含有m个骨骼点,这m个骨骼点按顺序依次为左手腕(此处描述的左右为人体的左右)、左肘、左肩、右踝、
……
。
[0043]
s303:针对所述第一图像中任一区域,根据该区域对应的向量,与所述第二图像中区域的向量,确定该区域的人体与第二图像中区域的人体的相似度;将对应相似度最大的第二图像中的区域确定为该区域的目标区域,并将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对。
[0044]
为了准确地实现图像的拼接,电子设备可以确定第一图像及第二图像中为同一人体的区域,具体的,电子设备可以针对第一图像中任一区域,根据该区域对应的向量与第二张图像中区域的向量,确定该区域的人体与第二图像中区域的人体相似度,具体的,电子设
备可以计算该区域的向量与第二图像中区域的向量的欧式几何距离,并将所确定出的欧式几何距离确定为该区域与第二图像中对应区域的相似度。其中,所确定的相似度越高,则说明两个区域的骨骼点的排列越相似,两个区域为同一人体在不同图像中所处的区域的可能性越高。
[0045]
针对第一图像中每个区域,在确定该区域与第二图像中每个区域的相似度之后,可以将相似度最大的第二图像中的区域,确定为与该区域最相似的目标区域,即确定该区域与目标区域匹配成功,电子设备可以将该区域与目标区域中同类型的骨骼点进行匹配,确定同类型的骨骼点为一组特征点对。进而增加特征点对的数量,并准确地确定出特征点对。
[0046]
以第一图像为图4第二图像为图5为例,则在确定第一图像中用户a所处的区域的人体与第二图像中区域的人体的相似度时,分别确定其与第二图像中用户a所处的区域的人体、用户b所处的区域的人体及用户c所处的区域的人体的相似度,经确定第一图像中用户a所处的区域的人体与第二图像中用户a所处的区域的人体的相似度最高,因此第二图像中用户a所处的区域为第一图像中用户a所处的区域的目标区域。
[0047]
s304:基于特征点对对所述第一图像及所述第二图像进行拼接。
[0048]
在获取到特征点对后,电子设备可以基于特征点对,对第一图像及第二图像进行拼接,具体的,可以将所有骨骼点生成的特征点对作为图像拼接算法的特征点对输入源,图像拼接算法进行后续拼接,生成拼接的图像。具体的,在确定待拼接的两张图像中的特征点对之后,如何基于特征点对,对待拼接的两张图像进行拼接为现有技术,在此不再赘述。
[0049]
在本技术实施例中,在图像拼接时,结合重叠区域中的人体的骨骼点生成特征点对,增加特征点对的数量和质量,从而提升拼接精度和效果。本技术实施例提供的方法适用于所有包含人体且基于特征点对的图像拼接的算法。
[0050]
图6为本技术实施例提供的一种拼接后的图像示意图。
[0051]
图6为第一图像为图4、第二图像为图5时对第一图像及第二图像进行拼接后的图像,由图4、图5及图6可知,采用本技术实施例提供的方法可以准确地实现图像拼接。
[0052]
本技术所涉及的方案可以实时对获取到的第一图像及第二图像进行拼接,且拼接的准确度较高,即本技术所涉及的方案具有实时性、可靠性,符合可信赖特性。
[0053]
由于在本技术实施例中,电子设备确定第一图像及第二图像中人体所处的区域中骨骼点的类型及位置,并根据骨骼点的类型及位置确定区域的向量,针对第一图像中任一区域,根据该区域的向量及第二图像中区域的向量,确定该区域的人体与第二图像中区域的人体的相似度,进而确定出第二图像中与该区域的相似度最大的目标区域,从而可以准确地将目标区域与该区域中同一类型的骨骼点确定为特征点对,由于在进行拼接时可以增加特征点对的数量,且增加的特征点对的准确性较高,因此可以准确地实现图像的拼接。
[0054]
为了准确地确定特征点对,在上述实施例的基础上,在本技术实施例中,所述根据该区域对应的向量,与所述第二图像中区域的向量,确定该区域的人体与第二图像中区域的人体的相似度包括:
[0055]
确定该区域对应的向量,与所述第二图像中区域的向量的余弦相似度;将多个余弦相似度分别确定为该区域的人体与第二图像中区域的人体的相似度。
[0056]
为了准确地确定特征点对,电子设备可以先针对第一图像中任一区域,确定该区
域的人体与第二图像中多个区域的人体的相似度。具体的,电子设备可以确定该区域对应的向量,与第二图像中多个区域的向量的余弦相似度,将多个余弦相似度分别确定为该区域的人体与第二图像中对应区域的人体的相似度。其中,余弦相似度即为两向量的内积与两向量模的积之商。后续即可基于所确定的相似度进行特征点对的确定。
[0057]
电子设备可以通过以下公式确定该区域的向量与第二图像中某一区域的向量的余弦相似度:
[0058]
s=p
·
q/(||p||
·
||q||)
[0059]
其中,s为所确定的余弦相似度,p为该区域的向量,q为第二图像中某一区域的向量,||p||为向量p的l2范数,||q||为向量q的l2范数。
[0060]
需要说明的是,所确定的余弦相似度的取值范围为[-1,1],数值越大表明二者越相似。当余弦相似度的取值为1时,表明两向量完全相同。
[0061]
为了提高相似度确定的准确性,电子设备在确定两个向量的余弦相似度之前,可以对两个向量进行归一化处理,使得两个向量具有相同的长度,具体的,如何对向量进行归一化处理为现有技术,在此不再赘述。
[0062]
图7为本技术实施例提供的一种图像拼接的详细过程示意图,该过程包括以下步骤:
[0063]
s701:识别待拼接的第一图像及第二图像中人体所处的区域。
[0064]
s702:识别区域中骨骼点的类型及在对应图像中的位置。
[0065]
s703:针对第一图像中任一区域,确定该区域的人体与第二图像中多个区域的人体的相似度。
[0066]
具体的,如何确定第一图像中的区域与第二图像中的区域的相似度,在上述实施例中已经描述过,在此不再赘述。
[0067]
s704:针对第一图像中任一区域,将对应相似度最大的第二图像中的区域确定为该区域的目标区域,并将目标区域与该区域中的同一类型的骨骼点确定为特征点对。
[0068]
s705:基于特征点对对第一图像及第二图像进行拼接。
[0069]
图8为本技术实施例提供的一种确定相似度的示意图。
[0070]
以第一图像及第二图像均包含4个区域的人体为例,由图8可知,电子设备可以先分别确定第一图像中第一个区域的人体与第二图像中多个区域的人体的相似度,其中,所确定出的第一图像中第一个区域的人体与第二图像中第一区域的人体的相似度为s
a1+b1
;所确定出的第一图像中第一个区域的人体与第二图像中第二个区域的人体的相似度为s
a1+b2
;所确定出的第一图像中第一个区域的人体与第二图像中第三个区域的人体的相似度为s
a1+b3
;所确定出的第一图像中第一个区域的人体与第二图像中第四个区域的人体的相似度为s
a1+b4
。
[0071]
为了准确地进行图像拼接,在上述各实施例的基础上,在本技术实施例中,所述将对应相似度最大的第二图像中的区域确定为该区域的目标区域之后,所述将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对之前,所述方法还包括:
[0072]
判断所述第一图像中是否存在其他区域的目标区域与该区域的目标区域一致,若否,则执行后续,将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。
[0073]
由于针对第一图像中任一区域,将对应相似度最大的第二图像中的区域确定为目
标区域时,可能出现第一图像中多个区域的目标区域,是第二图像中同一区域的情况,此时可能会导致图像拼接错误,为了提高图像拼接的准确性,电子设备在将对应相似度最大的第二图像中的区域确定为该区域的目标区域之后,可以判断第一图像中是否存在其他区域的目标区域,与该区域的目标区域一致,若第一图像中不存在其他区域的目标区域,与该区域的目标区域一致,则说明所确定的该区域的目标区域是准确的,即目标区域与该区域为不同图像中同一人体所处的区域,因此可以执行后续将目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。
[0074]
为了准确地进行图像拼接,在上述各实施例的基础上,在本技术实施例中,所述将对应相似度最大的第二图像中的区域确定为该区域的目标区域之后,所述将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对之前,所述方法还包括:
[0075]
若存在其他区域的目标区域与该区域的目标区域一致,则判断该区域与所述目标区域的相似度是否不小于所述其他区域与所述目标区域的相似度,若是,则执行后续,将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。
[0076]
若第一图像中存在其他区域的目标区域与该区域的目标区域一致的情况,则电子设备可以判断该区域与目标区域的相似度,是否不小于其他区域与目标区域的相似度,若该区域与目标区域的相似度更大,则说明目标区域与该区域更接近,可以说明所确定的该区域的目标区域是准确的,即目标区域与该区域为不同图像中同一人体所处的区域,因此可以执行后续将目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。
[0077]
为了准确地进行图像拼接,在上述各实施例的基础上,在本技术实施例中,所述将对应相似度最大的第二图像中的区域确定为该区域的目标区域之后,所述将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对之前,所述方法还包括:
[0078]
若存在其他区域的目标区域与该区域的目标区域一致,且该区域与所述目标区域的相似度小于所述其他区域与所述目标区域的相似度,则将该区域与所述第二图像中除所述目标区域外的其他区域的相似度最大的区域,确为该区域的目标区域;
[0079]
并采用重新确定的目标区域对所述目标区域进行替换,针对替换后的目标区域执行后续,将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。
[0080]
若第一图像中存在其他区域的目标区域与该区域的目标区域一致的情况,则电子设备可以判断该区域与目标区域的相似度,是否不小于其他区域与目标区域的相似度,若该区域与目标区域的相似度,小于其他区域与目标区域的相似度,则说明所确定出的该区域的目标区域并不准确,电子设备可以将该区域与第二图像中除目标区域之外的其他区域的相似度最大的区域,确定为该区域的目标区域。
[0081]
并采用重新确定的目标区域对之前所确定的目标区域进行替换,针对替换后的目标区域执行后续,将目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。
[0082]
需要说明的是,重新确定的目标区域可能与第一图像中其他区域的目标区域一致,此时电子设备可以继续进行相似度的比较,针对相似度更小的区域重新确定目标区域,直至没有此类情况出现。
[0083]
图9为本技术实施例提供的一种确定特征点对的过程示意图,该过程包括以下步骤:
[0084]
其中,图9中以确定第一图像中某一区域中和第二图像中的特征点对为例进行介
绍。
[0085]
s901:将对应相似度最大的第二图像中的区域确定为该区域的目标区域。
[0086]
s902:判断第一图像中是否存在其他区域的目标区域与该区域的目标区域一致,若否,则执行s903,若是,则执行s904。
[0087]
s903:将目标区域与该区域中的同一类型的骨骼点确定为特征点对,并结束。
[0088]
s904:判断该区域与目标区域的相似度是否不小于其他区域与目标区域的相似度,若是,则执行s903,若否,则执行s905。
[0089]
s905:将该区域与所述第二图像中除目标区域外的其他区域的相似度最大的区域,确为该区域的目标区域,采用重新确定的目标区域对原来确定的目标区域进行替换,并执行s903。
[0090]
为了提高特征点对确定的准确性,在上述各实施例的基础上,在本技术实施例中,所述将对应相似度最大的第二图像中的区域确定为该区域的目标区域之后,所述将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对之前,所述方法还包括:
[0091]
判断所述目标区域与该区域的相似度是否大于预设相似度阈值,若是,则执行后续,将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。
[0092]
由于第一图像除与第二图像中重叠部分外,还包含其他部分,而其他部分中也包含人体所处的区域,若仅将对应相似度最大的第二图像中的区域确定为该区域的目标区域,并将目标区域与该区域中同一类型的骨骼点确定为特征点对,则可能会将其他部分中人体所处的区域也确定出对应的特征点对,为了提高特征点对确定的准确性,电子设备本地预先保存有预设相似度阈值,在将对应相似度最大的第二图像中的区域确定为该区域的目标区域之后,电子设备可以确定目标区域与该区域的相似度是否大于预设相似度阈值,若大于预设相似度阈值,则说明该区域为第一图像中与第二图像中重叠部分的人体所处的区域,因此可以说明该目标区域与该区域为不同图像中同一人体所处的区域,电子设备可以执行后续将目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。
[0093]
为了准确地确定出人体所处的区域,在上述各实施例的基础上,在本技术实施例中,所述识别待拼接的第一图像及第二图像中人体所处的区域包括:
[0094]
将待拼接的第一图像及第二图像分别输入预先训练完成的人体检测模型中,获取所述人体检测模型分别输出的所述第一图像及所述第二图像中人体所处的区域。
[0095]
为了准确地确定人体所处的区域,电子设备本地保存有预先训练完成的人体检测模型,电子设备可以将待拼接的第一图像输入该人体检测模型中,并获取该人体检测模型的输出,该输出即为第一图像中人体所处的每个区域;电子设备还可以将待拼接的第二图像输入该人体检测模型中,该输出即为第二图像中人体所处的每个区域。其中,人体检测模型输出的图像中人体所处的区域可以为完整包含人体的检测框的左上角(此处所描述的左右为图像中的左右)及右下角(此处所描述的左右为图像中的左右)的坐标。
[0096]
为了准确地进行图像拼接,在上述各实施例的基础上,在本技术实施例中,所述识别所述区域中骨骼点的类型及在对应图像中的位置包括:
[0097]
通过骨骼点检测算法,识别所述区域中骨骼点的类型及在对应图像中的位置。
[0098]
为了确定区域中骨骼点的类型及在对应图像中的位置,采用该通过骨骼点检测算法,识别第一图像或第二图像中的区域中骨骼点的类型及在对应图像中的位置,具体的,如
何通过骨骼点检测算法,识别某一图像中某一区域中每个骨骼点的类型及在对应图像中的位置,为现有技术,在此不再赘述。具体的,为了避免识别到其他区域的骨骼点,电子设备可以将第一图像或第二图像中该区域外的其他区域的像素点的像素值调整为预设像素值,采用骨骼点检测算法对调整像素值后的图像进行检测,从而识别该区域中每个骨骼点的类型及在对应图像中的位置。
[0099]
例如,采用21个点的骨骼点检测算法,共n个重叠的人体,则有21
×
n个特征点对。
[0100]
为了准确地进行拼接,在上述各实施例的基础上,在本技术实施例中,所述基于特征点对对所述第一图像及所述第二图像进行拼接之前,所述方法还包括:
[0101]
识别所述第一图像及所述第二图像中非人体的其他特征点对;
[0102]
所述基于特征点对对所述第一图像及所述第二图像进行拼接包括:
[0103]
基于特征点对及所述其他特征点对,对所述第一图像及所述第二图像进行拼接。
[0104]
由于待拼接的第一图像及第二图像中包含的人体可能较少,为了进一步提高特征点对的数量,从而提高图像拼接的准确性,电子设备还可以采用其他方式识别第一图像及第二图像中的特征点对,进而进行后续拼接。
[0105]
具体的,电子设备在基于特征点对,对第一图像及第二图像进行拼接之前,还可以识别第一图像及第二图像中非人体的其他特征点对,具体的,电子设备可以采用尺度不变特征变换(scale-invariant feature transform,sift)、加速稳健特征(speeded up robust features,surf)、方向性快速特征和旋转的二进制鉴别器(oriented fast and rotated brief,orb)等算法进行其他特征点对的确定,具体如何采用sift、surf、orb等算法进行特征点对的确定为现有技术,在此不再赘述。为了避免重复确定与骨骼点相关的特征点对,电子设备在采用其他方式进行其他特征点对的确定时,可以将第一图像及第二图像中人体所处的区域的像素值调整为预设像素值,基于调整像素值之后的第一图像及第二图像,进行其他特征点对的确定。
[0106]
在进行图像拼接时,电子设备基于确定的特征点对及其他特征点对,对第一图像及第二图像进行拼接。
[0107]
由于电子设备在对图像进行拼接时,基于多种方式确定的特征点对进行拼接,从而可以提高特征点对的数量,进而提高拼接的准确性。
[0108]
图10为本技术实施例提供的一种图像拼接的详细过程示意图,该过程包括以下步骤:
[0109]
图10中以先基于骨骼点确定特征点对,后确定其他特征点对为例进行说明。
[0110]
s1001:识别待拼接的第一图像及第二图像中人体所处的区域。
[0111]
s1002:识别区域中骨骼点的类型及在对应图像中的位置。
[0112]
s1003:按照预设的骨骼点的类型的顺序,确定区域中对应类型的骨骼点的位置对应的向量。
[0113]
s1004:针对第一图像中任一区域,根据该区域对应的向量,与第二图像中多个区域的向量,确定该区域与第二图像中多个区域的相似度。
[0114]
s1005:针对第一图像中任一区域,将对应相似度最大的第二图像中的区域确定为该区域的目标区域,并将目标区域与该区域中的同一类型的骨骼点确定为特征点对。
[0115]
s1006:识别第一图像及第二图像中非人体的其他特征点对。
[0116]
s1007:基于特征点对及其他特征点对,对第一图像及第二图像进行拼接。
[0117]
图11为本技术实施例提供的一种图像拼接装置结构示意图,所述装置包括:
[0118]
识别模块1101,用于识别待拼接的第一图像及第二图像中人体所处的区域;识别所述区域中骨骼点的类型及在对应图像中的位置;
[0119]
确定模块1102,用于按照预设的骨骼点的类型的顺序,确定区域中对应类型的骨骼点的位置对应的向量;
[0120]
处理模块1103,用于针对所述第一图像中任一区域,根据该区域对应的向量,与所述第二图像中区域的向量,确定该区域的人体与第二图像中区域的人体的相似度;将对应相似度最大的第二图像中的区域确定为该区域的目标区域,并将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对;基于特征点对对所述第一图像及所述第二图像进行拼接。
[0121]
进一步地,所述处理模块1103,具体用于确定该区域对应的向量,与所述第二图像中区域的向量的余弦相似度;将多个余弦相似度分别确定为该区域的人体与第二图像中区域的人体的相似度。
[0122]
进一步地,所述处理模块1103,还用于判断所述第一图像中是否存在其他区域的目标区域与该区域的目标区域一致,若否,则执行后续,将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。
[0123]
进一步地,所述处理模块1103,还用于若存在其他区域的目标区域与该区域的目标区域一致,则判断该区域与所述目标区域的相似度是否不小于所述其他区域与所述目标区域的相似度,若是,则执行后续,将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。
[0124]
进一步地,所述处理模块1103,还用于若存在其他区域的目标区域与该区域的目标区域一致,且该区域与所述目标区域的相似度小于所述其他区域与所述目标区域的相似度,则将该区域与所述第二图像中除所述目标区域外的其他区域的相似度最大的区域,确为该区域的目标区域;并采用重新确定的目标区域对所述目标区域进行替换,针对替换后的目标区域执行后续,将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。
[0125]
进一步地,所述处理模块1103,还用于判断所述目标区域与该区域的相似度是否大于预设相似度阈值,若是,则执行后续,将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。
[0126]
进一步地,所述识别模块1101,具体用于将待拼接的第一图像及第二图像分别输入预先训练完成的人体检测模型中,获取所述人体检测模型分别输出的所述第一图像及所述第二图像中人体所处的区域。
[0127]
进一步地,所述识别模块1101,具体用于通过骨骼点检测算法,识别所述区域中骨骼点的类型及在对应图像中的位置。
[0128]
进一步地,所述识别模块1101,还用于识别所述第一图像及所述第二图像中非人体的其他特征点对;
[0129]
所述处理模块1103,具体用于基于特征点对及所述其他特征点对,对所述第一图像及所述第二图像进行拼接。
[0130]
图12为本技术实施例提供的一种电子设备结构示意图,在上述各实施例的基础上,本技术实施例还提供了一种电子设备,如图12所示,包括:处理器1201、通信接口1202、存储器1203和通信总线1204,其中,处理器1201,通信接口1202,存储器1203通过通信总线1204完成相互间的通信;
[0131]
所述存储器1203中存储有计算机程序,当所述程序被所述处理器1201执行时,使得所述处理器1201执行如下步骤:
[0132]
识别待拼接的第一图像及第二图像中人体所处的区域;识别所述区域中骨骼点的类型及在对应图像中的位置;
[0133]
按照预设的骨骼点的类型的顺序,确定区域中对应类型的骨骼点的位置对应的向量;
[0134]
针对所述第一图像中任一区域,根据该区域对应的向量,与所述第二图像中区域的向量,确定该区域的人体与第二图像中区域的人体的相似度;将对应相似度最大的第二图像中的区域确定为该区域的目标区域,并将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对;
[0135]
基于特征点对对所述第一图像及所述第二图像进行拼接。
[0136]
进一步地,所述处理器1201,具体用于确定该区域对应的向量,与所述第二图像中区域的向量的余弦相似度;将多个余弦相似度分别确定为该区域的人体与第二图像中区域的人体的相似度。
[0137]
进一步地,所述处理器1201,还用于判断所述第一图像中是否存在其他区域的目标区域与该区域的目标区域一致,若否,则执行后续,将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。
[0138]
进一步地,所述处理器1201,还用于若存在其他区域的目标区域与该区域的目标区域一致,则判断该区域与所述目标区域的相似度是否不小于所述其他区域与所述目标区域的相似度,若是,则执行后续,将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。
[0139]
进一步地,所述处理器1201,还用于若存在其他区域的目标区域与该区域的目标区域一致,且该区域与所述目标区域的相似度小于所述其他区域与所述目标区域的相似度,则将该区域与所述第二图像中除所述目标区域外的其他区域的相似度最大的区域,确为该区域的目标区域;
[0140]
并采用重新确定的目标区域对所述目标区域进行替换,针对替换后的目标区域执行后续,将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。
[0141]
进一步地,所述处理器1201,还用于判断所述目标区域与该区域的相似度是否大于预设相似度阈值,若是,则执行后续,将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。
[0142]
进一步地,所述处理器1201,具体用于将待拼接的第一图像及第二图像分别输入预先训练完成的人体检测模型中,获取所述人体检测模型分别输出的所述第一图像及所述第二图像中人体所处的区域。
[0143]
进一步地,所述处理器1201,具体用于通过骨骼点检测算法,识别所述区域中骨骼点的类型及在对应图像中的位置。
[0144]
进一步地,所述处理器1201,还用于识别所述第一图像及所述第二图像中非人体的其他特征点对;
[0145]
所述处理器1201,具体用于基于特征点对及所述其他特征点对,对所述第一图像及所述第二图像进行拼接。
[0146]
上述服务器提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0147]
通信接口用于上述电子设备与其他设备之间的通信。
[0148]
存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0149]
上述处理器可以是通用处理器,包括中央处理器、网络处理器(network processor,np)等;还可以是数字指令处理器(digital signal processing,dsp)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
[0150]
在上述各实施例的基础上,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
[0151]
所述存储器中存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行如下步骤:
[0152]
识别待拼接的第一图像及第二图像中人体所处的区域;识别所述区域中骨骼点的类型及在对应图像中的位置;
[0153]
按照预设的骨骼点的类型的顺序,确定区域中对应类型的骨骼点的位置对应的向量;
[0154]
针对所述第一图像中任一区域,根据该区域对应的向量,与所述第二图像中区域的向量,确定该区域的人体与第二图像中区域的人体的相似度;将对应相似度最大的第二图像中的区域确定为该区域的目标区域,并将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对;
[0155]
基于特征点对对所述第一图像及所述第二图像进行拼接。
[0156]
在一种可能的实施方式中,所述根据该区域对应的向量,与所述第二图像中区域的向量,确定该区域的人体与第二图像中区域的人体的相似度包括:
[0157]
确定该区域对应的向量,与所述第二图像中区域的向量的余弦相似度;将多个余弦相似度分别确定为该区域的人体与第二图像中区域的人体的相似度。
[0158]
在一种可能的实施方式中,所述将对应相似度最大的第二图像中的区域确定为该区域的目标区域之后,所述将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对之前,所述方法还包括:
[0159]
判断所述第一图像中是否存在其他区域的目标区域与该区域的目标区域一致,若否,则执行后续,将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。
[0160]
在一种可能的实施方式中,所述将对应相似度最大的第二图像中的区域确定为该区域的目标区域之后,所述将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对之前,所述方法还包括:
[0161]
若存在其他区域的目标区域与该区域的目标区域一致,则判断该区域与所述目标区域的相似度是否不小于所述其他区域与所述目标区域的相似度,若是,则执行后续,将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。
[0162]
在一种可能的实施方式中,所述将对应相似度最大的第二图像中的区域确定为该区域的目标区域之后,所述将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对之前,所述方法还包括:
[0163]
若存在其他区域的目标区域与该区域的目标区域一致,且该区域与所述目标区域的相似度小于所述其他区域与所述目标区域的相似度,则将该区域与所述第二图像中除所述目标区域外的其他区域的相似度最大的区域,确为该区域的目标区域;
[0164]
并采用重新确定的目标区域对所述目标区域进行替换,针对替换后的目标区域执行后续,将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。
[0165]
在一种可能的实施方式中,所述将对应相似度最大的第二图像中的区域确定为该区域的目标区域之后,所述将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对之前,所述方法还包括:
[0166]
判断所述目标区域与该区域的相似度是否大于预设相似度阈值,若是,则执行后续,将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。
[0167]
在一种可能的实施方式中,所述识别待拼接的第一图像及第二图像中人体所处的区域包括:
[0168]
将待拼接的第一图像及第二图像分别输入预先训练完成的人体检测模型中,获取所述人体检测模型分别输出的所述第一图像及所述第二图像中人体所处的区域。
[0169]
在一种可能的实施方式中,所述识别所述区域中骨骼点的类型及在对应图像中的位置包括:
[0170]
通过骨骼点检测算法,识别所述区域中骨骼点的类型及在对应图像中的位置。
[0171]
在一种可能的实施方式中,所述基于特征点对对所述第一图像及所述第二图像进行拼接之前,所述方法还包括:
[0172]
识别所述第一图像及所述第二图像中非人体的其他特征点对;
[0173]
所述基于特征点对对所述第一图像及所述第二图像进行拼接包括:
[0174]
基于特征点对及所述其他特征点对,对所述第一图像及所述第二图像进行拼接。
[0175]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0176]
本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到
通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0177]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0178]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0179]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
技术特征:
1.一种图像拼接方法,其特征在于,所述方法包括:识别待拼接的第一图像及第二图像中人体所处的区域;识别所述区域中骨骼点的类型及在对应图像中的位置;按照预设的骨骼点的类型的顺序,确定区域中对应类型的骨骼点的位置对应的向量;针对所述第一图像中任一区域,根据该区域对应的向量,与所述第二图像中区域的向量,确定该区域的人体与第二图像中区域的人体的相似度;将对应相似度最大的第二图像中的区域确定为该区域的目标区域,并将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对;基于特征点对对所述第一图像及所述第二图像进行拼接。2.根据权利要求1所述的方法,其特征在于,所述根据该区域对应的向量,与所述第二图像中区域的向量,确定该区域的人体与第二图像中区域的人体的相似度包括:确定该区域对应的向量,与所述第二图像中区域的向量的余弦相似度;将多个余弦相似度分别确定为该区域的人体与第二图像中区域的人体的相似度。3.根据权利要求1所述的方法,其特征在于,所述将对应相似度最大的第二图像中的区域确定为该区域的目标区域之后,所述将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对之前,所述方法还包括:判断所述第一图像中是否存在其他区域的目标区域与该区域的目标区域一致,若否,则执行后续,将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。4.根据权利要求1所述的方法,其特征在于,所述将对应相似度最大的第二图像中的区域确定为该区域的目标区域之后,所述将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对之前,所述方法还包括:若存在其他区域的目标区域与该区域的目标区域一致,则判断该区域与所述目标区域的相似度是否不小于所述其他区域与所述目标区域的相似度,若是,则执行后续,将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。5.根据权利要求1所述的方法,其特征在于,所述将对应相似度最大的第二图像中的区域确定为该区域的目标区域之后,所述将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对之前,所述方法还包括:若存在其他区域的目标区域与该区域的目标区域一致,且该区域与所述目标区域的相似度小于所述其他区域与所述目标区域的相似度,则将该区域与所述第二图像中除所述目标区域外的其他区域的相似度最大的区域,确为该区域的目标区域;并采用重新确定的目标区域对所述目标区域进行替换,针对替换后的目标区域执行后续,将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。6.根据权利要求1所述的方法,其特征在于,所述将对应相似度最大的第二图像中的区域确定为该区域的目标区域之后,所述将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对之前,所述方法还包括:判断所述目标区域与该区域的相似度是否大于预设相似度阈值,若是,则执行后续,将所述目标区域与该区域中的同一类型的骨骼点确定为特征点对的步骤。7.根据权利要求1所述的方法,其特征在于,所述识别待拼接的第一图像及第二图像中人体所处的区域包括:
将待拼接的第一图像及第二图像分别输入预先训练完成的人体检测模型中,获取所述人体检测模型分别输出的所述第一图像及所述第二图像中人体所处的区域。8.根据权利要求1所述的方法,其特征在于,所述识别所述区域中骨骼点的类型及在对应图像中的位置包括:通过骨骼点检测算法,识别所述区域中骨骼点的类型及在对应图像中的位置。9.根据权利要求1所述的方法,其特征在于,所述基于特征点对对所述第一图像及所述第二图像进行拼接之前,所述方法还包括:识别所述第一图像及所述第二图像中非人体的其他特征点对;所述基于特征点对对所述第一图像及所述第二图像进行拼接包括:基于特征点对及所述其他特征点对,对所述第一图像及所述第二图像进行拼接。10.一种电子设备,其特征在于,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如上述权利要求1-9任一项所述图像拼接方法的步骤。
技术总结
本申请实施例提供了一种图像拼接方法及电子设备,用于解决相关技术中获取到的特征点对准确度不高,且可获取到的特征点对的数量较少,从而无法准确地实现图像拼接的问题。电子设备针对第一图像中任一区域,根据该区域的向量及第二图像中区域的向量,确定该区域的人体与第二图像中区域的人体的相似度,进而确定出第二图像中与该区域的相似度最大的目标区域,从而可以准确地将目标区域与该区域中同一类型的骨骼点确定为特征点对,由于在进行拼接时可以增加特征点对的数量,且增加的特征点对的准确性较高,因此可以准确地实现图像的拼接。本申请所涉及的方案具有实时性、可靠性,符合可信赖特性。可信赖特性。可信赖特性。
技术研发人员:辛洪录 田友强 马连成
受保护的技术使用者:海信集团控股股份有限公司
技术研发日:2023.05.30
技术公布日:2023/10/7
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
