CN114332726A - 对象识别方法、装置、设备及存储介质 - Google Patents
对象识别方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114332726A CN114332726A CN202111672398.XA CN202111672398A CN114332726A CN 114332726 A CN114332726 A CN 114332726A CN 202111672398 A CN202111672398 A CN 202111672398A CN 114332726 A CN114332726 A CN 114332726A
- Authority
- CN
- China
- Prior art keywords
- image
- determining
- target object
- projection plane
- coordinate
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000001514 detection method Methods 0.000 claims description 149
- 230000009466 transformation Effects 0.000 claims description 84
- 239000011159 matrix material Substances 0.000 claims description 83
- 238000006243 chemical reaction Methods 0.000 claims description 35
- 238000013519 translation Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 description 22
- 238000012937 correction Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Abstract
本申请实施例提供一种对象识别方法、装置、设备及存储介质,其中,所述方法包括:获取包括放置在对象操作区域的目标对象的第一图像;在所述第一图像中,基于所述对象操作区域的第一像素坐标,确定与所述目标对象关联的第二像素坐标;确定与所述对象操作区域平行的投影平面;基于所述第一像素坐标、所述第二像素坐标以及所述投影平面,确定所述目标对象的识别结果。
Description
技术领域
本申请实施例涉及图像处理技术领域,涉及但不限于一种对象识别方法、装置、设备及存储介质。
背景技术
相关技术中,采用目标检测算法,直接对图像进行检测以识别图像中的相关对象,这样易使得对象识别效果不佳。
发明内容
本申请实施例提供一种对象识别技术方案。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种对象识别方法,所述方法包括:
获取包括放置在对象操作区域的目标对象的第一图像;
在所述第一图像中,基于所述对象操作区域的第一像素坐标,确定与所述目标对象关联的第二像素坐标;
确定与所述对象操作区域平行的投影平面;
基于所述第一像素坐标、所述第二像素坐标以及所述投影平面,确定所述目标对象的识别结果。
在一些实施例中,所述获取包括放置在对象操作区域的目标对象的第一图像,包括:获取与所述对象操作区域具有预设倾斜角度的图像采集装置;采用所述图像采集装置采集放置在所述对象操作区域的所述目标对象,得到所述第一图像。如此,能够使得获取的第一图像不受拍摄角度的限制,进而能够使其灵活应用到实际生活中。
在一些实施例中,所述在所述第一图像中,基于所述对象操作区域的第一像素坐标,确定与所述目标对象关联的第二像素坐标,包括:获取所述对象操作区域在世界坐标系下的第一世界坐标;基于所述第一世界坐标和所述第一像素坐标,确定转换参数;基于所述第一世界坐标和所述转换参数,在所述第一图像中确定与所述目标对象的第一表面关联的所述第二像素坐标;其中,所述第一表面为远离所述对象操作区域的表面。如此,能够精准且高效地在第一图像中确定与目标对相关联的第二像素坐标。
在一些实施例中,所述获取所述对象操作区域在世界坐标系下的第一世界坐标,包括:获取所述对象操作区域的顶点在所述世界坐标系下的顶点坐标;所述基于所述第一世界坐标和所述第一像素坐标,确定转换参数,包括:基于所述顶点坐标和所述顶点在所述第一图像中的像素坐标,确定表征与所述第一图像对应的图像采集装置位姿的旋转矩阵和所述平移向量。如此,基于部分顶点数据能够提高确定转换参数的速度,进而能够使得后期确定第二像素坐标的效率提高。
在一些实施例中,所述基于所述第一世界坐标和所述转换参数,在所述第一图像中确定与所述目标对象的第一表面关联的所述第二像素坐标,包括:获取所述目标对象的高度信息;沿着所述高度信息对所述第一世界坐标进行平移,得到第二世界坐标;基于所述转换参数,确定将所述第二世界坐标投影至所述第一图像的所述第二像素坐标。如此,基于坐标调整和转换,得到第一图像中与目标对象关联的第二像素坐标,能够高效且精准地确定与目标对象相关的像素坐标,进而能够提高后期基于该像素坐标再次进行相关转换的效率。
在一些实施例中,所述确定与所述对象操作区域平行的投影平面,包括:确定与所述对象操作区域平行且与所述对象操作区域的距离为第一距离的所述第一投影平面;基于所述第一距离和所述目标对象的高度信息,确定第二距离;确定与所述第一投影平面平行且与所述对象操作区域的距离为所述第二距离的第二投影平面;基于所述第一像素坐标、所述第二像素坐标以及所述投影平面,确定所述目标对象的识别结果,包括:基于所述第一像素坐标、所述第二像素坐标、所述第一投影平面以及所述第二投影平面,确定所述目标对象的识别结果。如此,基于多个投影平面对目标对象进行识别,能够提高对象的识别精度。
在一些实施例中,所述基于所述第一像素坐标、所述第二像素坐标、所述第一投影平面以及所述第二投影平面,确定所述目标对象的识别结果,包括:在所述第一投影平面,确定与所述对象操作区域关联的第一预设像素坐标;在所述第二投影平面,确定与所述目标对象关联的第二预设像素坐标;确定所述第一预设像素坐标和所述第一像素坐标之间的第一变换矩阵,以及所述第二预设像素坐标和所述第二像素坐标之间的第二变换矩阵;采用所述第一变换矩阵,将所述第一图像投影至所述第一投影平面,得到第二图像;对所述第二图像进行目标对象识别,得到所述目标对象的第一检测框和第一类别;基于所述第二变换矩阵和所述第二投影平面,对所述第一检测框和所述第一类别进行调整,确定所述目标对象的识别结果。如此,根据第一投影平面、第二投影平面上相关的预设像素坐标,确定对应的变换矩阵,进而基于该变换矩阵将第一图像映射至对应的投影平面,以得到视觉修正的图像,最后对该视觉修正后的图像进行识别,以确定目标对象的识别结果,能够提高对象的识别精度。
在一些实施例中,所述基于所述第二变换矩阵和所述第二投影平面,对所述第一检测框和所述第一类别进行调整,确定所述目标对象的识别结果,包括:采用所述第二变换矩阵,将所述第一图像投影至所述第二投影平面,得到第三图像;对所述第三图像进行目标对象识别,得到所述目标对象的第二检测框和第二类别;基于所述第一类别和所述第二类别,确定所述目标对象的目标类别;基于所述第一检测框和所述第二检测框,确定所述目标对象的位置信息。如此,分别对第二图像和第三图像进行目标对象识别,共同确定目标对象的识别结果,能够提高对象的识别精度。
在一些实施例中,所述基于所述第一检测框和所述第二检测框,确定所述目标对象的位置信息,包括:将所述第二图像的中心和所述第三图像的中心对齐,确定所述第一检测框和所述第二检测框之间的重叠部分;将所述重叠部分的中心点的位置信息,确定为所述目标对象的位置信息。如此,将第二图像中识别到的目标对象的第一检测框,以及第三图像中识别到的目标对象的第二检测框进行重叠,以进一步确定目标对象的位置信息,即能够提高对象的位置信息的识别精度。
在一些实施例中,在所述第一类别为所述目标对象的目标类别的情况下,所述基于所述第二变换矩阵和所述第二投影平面,对所述第一检测框和所述第一类别进行调整,确定所述目标对象的识别结果,包括:基于所述第一变换矩阵,确定将所述第一检测框逆投影至所述第一图像的中间检测框;基于所述第二变换矩阵,确定将所述中间检测框投影至所述第二投影平面的第三检测框;基于所述第一检测框和所述第三检测框,确定所述目标对象的位置信息。如此,基于一个已视觉校正的图像对应的识别结果以及相关的检测参数确定最终的结果,能够加快识别对象的速度。
本申请实施例提供一种对象识别装置,所述装置包括:
获取模块,用于获取包括放置在对象操作区域的目标对象的第一图像;
坐标确定模块,用于在所述第一图像中,基于所述对象操作区域的第一像素坐标,确定与所述目标对象关联的第二像素坐标;
平面确定模块,用于确定与所述对象操作区域平行的投影平面;
对象识别模块,用于基于所述第一像素坐标、所述第二像素坐标以及所述投影平面,确定所述目标对象的识别结果。
在一些实施例中,所述获取模块,包括:第一获取子模块,用于获取与所述对象操作区域具有预设倾斜角度的图像采集装置;采集子模块,用于采用所述图像采集装置采集放置在所述对象操作区域的所述目标对象,得到所述第一图像。
在一些实施例中,所述坐标确定模块,包括:第二获取子模块,用于获取所述对象操作区域在世界坐标系下的第一世界坐标;参数确定子模块,用于基于所述第一世界坐标和所述第一像素坐标,确定转换参数;坐标确定子模块,用于基于所述第一世界坐标和所述转换参数,在所述第一图像中确定与所述目标对象的第一表面关联的所述第二像素坐标;其中,所述第一表面为远离所述对象操作区域的表面。
在一些实施例中,所述第二获取子模块,还用于获取所述对象操作区域的顶点在所述世界坐标系下的顶点坐标;所述参数确定子模块,还用于基于所述顶点坐标和所述顶点在所述第一图像中的像素坐标,确定表征与所述第一图像对应的图像采集装置位姿的旋转矩阵和所述平移向量。
在一些实施例中,所述坐标确定子模块,包括:第一获取子单元,用于获取所述目标对象的高度信息;平移子单元,用于沿着所述高度信息对所述第一世界坐标进行平移,得到第二世界坐标;坐标确定子单元,用于基于所述转换参数,确定将所述第二世界坐标投影至所述第一图像的所述第二像素坐标。
在一些实施例中,所述平面确定模块,包括:第一平面确定子模块,用于确定与所述对象操作区域平行且与所述对象操作区域的距离为第一距离的所述第一投影平面;距离确定子模块,用于基于所述第一距离和所述目标对象的高度信息,确定第二距离;第二平面确定子模块,用于确定与所述第一投影平面平行且与所述对象操作区域的距离为所述第二距离的第二投影平面;所述对象识别模块,还用于基于所述第一像素坐标、所述第二像素坐标、所述第一投影平面以及所述第二投影平面,确定所述目标对象的识别结果。
在一些实施例中,所述对象识别模块,包括:第一像素坐标确定子模块,用于在所述第一投影平面,确定与所述对象操作区域关联的第一预设像素坐标;所述像素坐标确定子模块,第一像素坐标确定子模块,用于在所述第二投影平面,确定与所述目标对象关联的第二预设像素坐标;变换矩阵确定子模块,用于确定所述第一预设像素坐标和所述第一像素坐标之间的第一变换矩阵,以及所述第二预设像素坐标和所述第二像素坐标之间的第二变换矩阵;第一投影子模块,用于采用所述第一变换矩阵,将所述第一图像投影至所述第一投影平面,得到第二图像;第一识别子模块,用于对所述第二图像进行目标对象识别,得到所述目标对象的第一检测框和第一类别;调整子模块,用于基于所述第二变换矩阵和所述第二投影平面,对所述第一检测框和所述第一类别进行调整,确定所述目标对象的识别结果。
在一些实施例中,所述调整子模块,包括:第一投影子单元,用于采用所述第二变换矩阵,将所述第一图像投影至所述第二投影平面,得到第三图像;第一识别子单元,用于对所述第三图像进行目标对象识别,得到所述目标对象的第二检测框和第二类别;类别确定子单元,用于基于所述第一类别和所述第二类别,确定所述目标对象的目标类别;第一位置确定子单元,用于基于所述第一检测框和所述第二检测框,确定所述目标对象的位置信息。
在一些实施例中,所述第一位置确定子模块,包括:第一确定子单元,用于将所述第二图像的中心和所述第三图像的中心对齐,确定所述第一检测框和所述第二检测框之间的重叠部分;第二确定子单元,用于将所述重叠部分的中心点的位置信息,确定为所述目标对象的位置信息。
在一些实施例中,在所述第一类别为所述目标对象的目标类别的情况下,所述调整模块,包括:第一逆投影子单元,用于基于所述第一变换矩阵,确定将所述第一检测框逆投影至所述第一图像的中间检测框;第二投影子单元,用于基于所述第二变换矩阵,确定将所述中间检测框投影至所述第二投影平面的第三检测框;第二位置确定子单元,用于基于所述第一检测框和所述第三检测框,确定所述目标对象的位置信息。
本申请实施例提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时能够实现上述的对象识别方法。
本申请实施例提供一种计算机存储介质,所述计算机存储介质上存储有计算机可执行指令,该计算机可执行指令被执行后,能够实现上述的对象识别方法。
本申请实施例提供一种对象识别方法、装置、设备及存储介质,首先,获取包括放置在对象操作区域的目标对象的第一图像;其次,在第一图像中,基于对象操作区域的第一像素坐标,确定与目标对象关联的第二像素坐标;然后,确定与对象操作区域平行的投影平面;最后,基于第一像素坐标、第二像素坐标以及投影平面,确定目标对象的识别结果。如此,通过第一图像中的多个像素坐标以及与对象操作区域平行的投影平面,对放置在对象操作区域的目标对象进行识别,能够提高对象的识别精度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
图1为本申请实施例提供的第一种对象识别方法的实现流程示意图;
图2为本申请实施例提供的第二种对象识别方法的实现流程示意图;
图3为本申请实施例提供的第三种对象识别方法的实现流程示意图;
图4为应用于本申请实施例提供的对象识别方法的一种应用场景的示意图;
图5为应用于本申请实施例提供的两种视觉校正图像进行对象识别的示意图;
图6为本申请实施例提供的对象识别装置的结构组成示意图;
图7为本申请实施例提供的计算机设备的组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对发明的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。
2)透视变换(Perspective Transformation)是指利用透视中心、像点、目标点三点共线的条件,按透视旋转定律使承影面(透视面)绕迹线(透视轴)旋转某一角度,破坏原有的投影光线束,仍能保持承影面上投影几何图形不变的变换。
3)世界坐标系是系统的绝对坐标系,在没有建立用户坐标系之前,画面上所有点的坐标都是以该坐标系的原点来确定各自的位置的,其是用于定义三维(Three-Dimensional,3D)虚拟空间中的坐标[0,0,0]和彼此正交的三个单位轴的约定。它是3D场景的本初子午线,是对任何其他点或任何其他任意坐标系进行测量的参考。
4)相机坐标系是以相机的聚焦中心为原点,以光轴为Z轴建立的三维直角坐标系。
5)图像物理坐标系以图像中心为坐标原点,X轴和Y轴平行于图像两边,可以用(x,y)表示物体P的坐标值,单位是mm,代表该像素在图像中的位置。
6)图像像素坐标系以图像左上角为原点,X轴和Y轴分别平行于图像两边的坐标系,用(u,v)表示其坐标值,其单位是像素。
下面说明本申请实施例提供的对象识别的设备的示例性应用,本申请实施例提供的设备可以实施为具有图像采集功能的笔记本电脑,平板电脑,台式计算机,相机,移动设备(例如,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。下面,将说明设备实施为终端或服务器时示例性应用。
该方法可以应用于计算机设备,该方法所实现的功能可以通过计算机设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该计算机设备至少包括处理器和存储介质。
本申请实施例提供一种对象识别方法,如图1所示,图1为本申请实施例提供的第一种对象识别方法的实现流程示意图,结合图1所示步骤进行说明:
步骤S101,获取包括放置在对象操作区域的目标对象的第一图像。
在一些实施例中,第一图像可以是对象识别装置通过内部的图像采集模块获取的,也可以是接收能够与其进行信息交互的装置或设备发送的第一图像;相应地,第一图像可以是彩色图像,也可以是灰度图像。目标对象可以位于目标对象的前景区域、中景区域和背景区域中。
在一些实施例中,第一图像可以是对在游戏桌面上的游戏道具进行采集的图像数据,第一图像也可以是对在棋盘上的棋子进行采集的图像数据。其中,对象操作区域可以第一图像中对目标对象进行操作的区域;该区域的面积、尺寸以及形状等随实际需求而定。相应地,对象操作区域为游戏桌面,目标对象可以是游戏道具,比如:游戏币或纸牌;对象操作区域为棋盘,目标对象可以是棋子,比如:象棋、围棋等。
在一些实施例中,目标对象的数量可以是一个,两个及以上。
步骤S102,在所述第一图像中,基于所述对象操作区域的第一像素坐标,确定与所述目标对象关联的第二像素坐标。
在一些实施例中,第一像素坐标为第一图像中对象操作区域在图像像素坐标系下的坐标参数;其中,第一像素坐标可以直接获取,也可以对相关内部参数第一图像中对象操作区域在图像物理坐标系下的坐标参数进行平移和缩放,以得到该第一像素坐标,还可以基于相关内部参数对象操作区域在相机坐标系下的坐标参数进行透视投影以及相关离散化处理,以得到第一像素坐标;其中,相关内部参数可以是采集第一图像的图像采集装置的内部数据参数。
在一些实施例中,第一图像中与目标对象关联的第二像素坐标,可以指代目标对象在第一图像中所占据的区域对应的像素坐标,也可以指代与目标对象的侧表面所处的虚拟平面在第一图像中的像素坐标,还可以指代目标对象的上表面或下表面所处的虚拟平面在第一图像中的像素坐标;其中,目标对象的侧表面、上表面或下表面可以是由目标对象在第一图像中呈现的姿态来确定。
在一些实施例中,第一图像中对象操作区域的第一像素坐标,可以是对象操作区域每一区域在第一图像中的像素坐标,也可以是对象操作区域的边缘点在第一图像中的像素坐标,也可以是对象操作区域的顶点在第一图像中的像素坐标,还可以是对象操作区域的中心点在第一图像中的像素坐标;相应地,第一图像中与目标对象关联的第二像素坐标,可以指代目标对象的上表面所处的平面映射至第一图像中的像素坐标,该上表面可以为远离对象操作区域的一面;且第一像素坐标的数量与第二像素坐标的数量相同。
在一些实施例中,放置在对象操作操作区域的多个目标对象的属性信息相同,比如:多个目标对象的形状和尺寸相同。
步骤S103,确定与所述对象操作区域平行的投影平面。
在一些实施例中,基于对象操作区域所处的水平面,确定与对象操作区域平行的投影平面;同时对象操作区域与投影平面之间的距离可以随机设定;其中,投影平面的数量可以是两个及以上,同时在投影平面的数量为两个及以上时,每两个投影平面之间的距离可以相同,也可以不同,该距离的数值可以随实际需求而定。
步骤S104,基于所述第一像素坐标、所述第二像素坐标以及所述投影平面,确定所述目标对象的识别结果。
在一些实施例中,首先,可以基于第一像素坐标、第二像素坐标以及投影平面,确定与第一图像对应的映射图像;然后,对该映射图像进行对象识别,以确定目标对象的识别结果;其中,该目标结果可以包括目标对象的类别和目标对象的位置信息,该位置信息可以是目标对象在对象操作区域的位置信息,也可以是目标对象在第一图像中的位置信息。
在一些实施例中,首先,可以根据第一像素坐标以及第一投影平面上与对象操作区域关联的预设像素坐标,确定第一透视变换矩阵,进而基于第一透视变换矩阵将第一图像映射至第一投影平面,以得到第二图像;同理,可以根据第二像素坐标以及第二投影平面上与目标对象关联的预设像素坐标,确定第二透视变换矩阵,进而基于第二透视变换矩阵将第一图像映射至第二投影平面,以得到第三图像。这里,在第一图像为在倾斜角度下拍摄放置在对象操作区域的目标对象,通过上述步骤,可以实现对第一图像的视觉修正,以得到对应的第二图像和第三图像;然后,采用标检测算法对已经进行视觉修正的第二图像和第三图像进行目标对象识别,并基于两个图像的识别结果共同确定目标对象的类别和位置信息。如此,能够提高对象的识别精度。
本申请实施例提供的对象识别方法,首先,获取包括放置在对象操作区域的目标对象的第一图像;其次,在第一图像中,基于对象操作区域的第一像素坐标,确定与目标对象关联的第二像素坐标;然后,确定与对象操作区域平行的投影平面;最后,基于第一像素坐标、第二像素坐标以及投影平面,确定目标对象的识别结果。如此,通过第一图像中的多个像素坐标以及与对象操作区域平行的投影平面,对放置在对象操作区域的目标对象进行识别,能够提高对象的识别精度。
在一些实施例中,通过获取预设倾斜角度的图像采集装置采集的第一图像,即第一图像可以是任意倾斜角度下拍摄的图像。如此,能够使得获取的第一图像不受拍摄角度的限制,进而能够使其灵活应用到实际生活中;即上述步骤S101可以通过以下步骤S111和步骤S112(图中未示出)实现:
步骤S111,获取与所述对象操作区域具有预设倾斜角度的图像采集装置。
在一些实施例中,预设倾斜角度可以是事先设定好的,比如:90度、75度等;获取与对象操作区域具有预设倾斜角度的图像采集装置,可以是获取与对象操作区域所在水平面之间的夹角具有预设倾斜角度的图像采集装置。
步骤S112,采用所述图像采集装置采集放置在所述对象操作区域的所述目标对象,得到所述第一图像。
在一些实施例中,采用与对象操作区域具有预设倾斜角度的图像采集装置,采集放置在对象操作区域的目标对象,以得到第一图像;其中,该第一图像可以是任意倾斜角度拍摄的,同时放置在对象操作区域的目标对象,可以是放置在游戏桌面上的游戏币、放置在棋盘上的棋子、放置在桌面上的书本等。如此,能够使得采集的第一图像不受采集角度的限制,进而能够提高获取第一图像的效率。
在一些实施例中,通过对象操作区域在世界坐标系下的世界坐标以及在第一图像中的像素坐标,确定与放置在对象操作区域的目标对象关联的表面在第一图像虚拟的像素坐标。如此,能够精准且高效地在第一图像中确定与目标对相关联的第二像素坐标;即上述步骤S102可以通过以下步骤S201至步骤S203来实现,如图2所示,图2为本申请实施例提供的第二种对象识别方法的实现流程示意图,结合图1和图2所示的步骤进行以下说明:
步骤S201,获取所述对象操作区域在世界坐标系下的第一世界坐标。
在一些实施例中,获取对象操作区域在世界坐标系下的第一世界坐标,该第一世界坐标可以是对象操作区域每一区域在世界坐标系下的坐标参数,也可以是对象操作区域的边缘点在世界坐标系下的坐标参数,也可以是对象操作区域的顶点在世界坐标系下的坐标参数,还可以是对象操作区域的中心点在世界坐标系下的坐标参数。
步骤S202,基于所述第一世界坐标和所述第一像素坐标,确定转换参数。
在一些实施例中,通过第一世界坐标和第一像素坐标,确定世界坐标系和采集第一图像的图像采集装置对应的相机坐标系之间的转换参数;其中,首先将第一像素坐标转换为相机坐标系下的相机坐标,然后根据第一世界坐标和相机坐标,确定对应的转换参数;该转换参数可以包括旋转矩阵和平移矩阵;同时该转换参数可以用于表征采集第一图像的图像采集装置的位姿信息。
在一些可能的实现方式中,可以将对象操作区域的顶点在世界坐标系下的顶点坐标,确定为第一世界坐标,即上述步骤S201可以通过以下过程来实现:
获取所述对象操作区域的顶点在所述世界坐标系下的顶点坐标。
在一些实施例中,对象操作区域的顶点可以指代基于该顶点之间的连线,确定对象操作区域的形状的点;比如,对象操作区域为四边形,该顶点即为四边形的四个顶点,对象操作区域为六边形,该顶点即为六边形的六个顶点等。其中,该顶点的数量通常为四个及以上。
这里,步骤S202中基于所述第一世界坐标和所述第一像素坐标,确定转换参数,可以通过以下过程来实现:
基于所述顶点坐标和所述顶点在所述第一图像中的像素坐标,确定表征与所述第一图像对应的图像采集装置位姿的旋转矩阵和所述平移向量。
在一些实施例中,基于顶点坐标和顶点在第一图像中的像素坐标,确定表征与第一图像对应的图像采集装置位姿的旋转矩阵和平移向量。这里的实现过程与上述步骤S202的实现过程类似。
在一些实施例中,基于对象操作区域的顶点在世界坐标系下的顶点坐标,以及该顶点在第一图像中的像素坐标,确定采集第一图像的图像采集装置对应的坐标系和世界坐标系之间的转换参数。如此,基于部分顶点数据能够提高确定转换参数的速度,进而能够使得后期确定第二像素坐标的效率提高。
步骤S203,基于所述第一世界坐标和所述转换参数,在所述第一图像中确定与所述目标对象的第一表面关联的所述第二像素坐标。
其中,所述第一表面为远离所述对象操作区域的表面。
在一些实施例中,基于该第一世界坐标和转换参数,在第一图像中确定与目标对象的第一表面关联的第二像素坐标,其中,可以是基于目标对象的属性参数对第一世界坐标进行调整,得到与目标对象关联的第二世界坐标,进而基于该转换参数,确定将第二世界坐标映射至第一图像中,得到的与目标对象的第一表面关联的第二像素坐标;其中,该第一表面为远离对象操作区域的表面,即第一表面为目标对象没有与对象操作区域贴合或接触的表面。
在一些可能的实现方式中,可以基于目标对象的高度信息,对第一世界坐标进行调整,得到第二世界坐标,同时基于转换参数,确定将第二世界坐标映射至第一图像中的第二像素坐标,即上述步骤S203可以通过以下过程来实现:
第一步,获取所述目标对象的高度信息。
在一些实施例中,目标对象的高度信息可以是目标对象按照预设规则放置在对象操作区域上时,该目标对象的上表面与对象操作区域之间的距离;其中,目标对象的上表面为没有与对象操作区域贴合或接触的表面。在目标对象的数量为两个及以上时,每一目标对象的高度信息均相同。
第二步,沿着所述高度信息对所述第一世界坐标进行平移,得到第二世界坐标。
在一些实施例中,可以基于该高度信息,将第一世界坐标中的坐标数据,进行平移,以得到第二世界坐标;其中,可以是将第一世界坐标中Z轴的坐标数值平移与高度信息相同的数值,以得到第二世界坐标。在第一世界坐标的数量为多个的情况下,将每一第一世界坐标中Z轴的坐标数值平移与高度信息相同的数值,相应地以得到多个第二世界坐标。
在一些实施例中,第二世界坐标相对与第一世界坐标,其在Z轴的数值差为与高度信息相同的数值,且第二世界坐标中X轴和Y轴的数据,相应地与第一世界坐标中X轴和Y轴的数据相同。
第三步,基于所述转换参数,确定将所述第二世界坐标投影至所述第一图像的所述第二像素坐标。
在一些实施例中,基于该转换参数,确定将第二世界坐标投影至第一图像中的第二像素坐标,其实现过程可以是:首先基于该转换参数,确定将第二世界坐标投影至采集第一图像的图像采集装置对应的相机坐标系中的相机坐标,然后将相机坐标依次进行透视投影以及离散化处理,得到第一图像中的第二像素坐标,即将相机坐标系中的坐标转换为图像像素坐标系中的坐标参数。
在一些实施例中,可以基于目标对象的高度信息,对第一世界坐标进行调整,得到第二世界坐标,同时基于转换参数,确定将第二世界坐标映射至第一图像中的第二像素坐标。如此,基于坐标调整和转换,得到第一图像中与目标对象关联的第二像素坐标,能够高效且精准地确定与目标对象相关的像素坐标,进而能够提高后期基于该像素坐标再次进行相关转换的效率。
在一些实施例中,同时基于与对象操作区域关联的第一投影平面,与目标对象关联的第二投影平面,以及第一图像中的第一像素坐标、第二像素坐标,共同确定目标对象的识别结果,如此,基于多个投影平面对目标对象进行识别,能够提高对象的识别精度;即上述步骤S103可以通过以下过程实现,如图3所示,图3为本申请实施例提供的第三种对象识别方法的流程示意图,结合图1和图3所示的步骤进行以下说明:
步骤S301,确定与所述对象操作区域平行且与所述对象操作区域的距离为第一距离的所述第一投影平面。
在一些实施例中,第一距离可以是事先设定好的,比如:10厘米;其中,第一距离的具体数值可随实际需求而定。
步骤S302,基于所述第一距离和所述目标对象的高度信息,确定第二距离。
在一些实施例中,根据第一距离和目标对象的高度信息,确定第二距离,可以是将第一距离对应的数值和高度信息对应的数值进行相加,得到第二距离。
步骤S303,确定与所述第一投影平面平行且与所述对象操作区域的距离为所述第二距离的第二投影平面。
在一些实施例中,基于上述确定的第二距离,设定与第一投影平面,即与对象操作区域平行的第二投影平面,该第二投影平面与对象操作区域的距离为第二距离。
这里,上述实施例提供的步骤S104中基于第一像素坐标、第二像素坐标以及投影平面,确定目标对象的识别结果,可以通过以下过程来实现:
步骤S304,基于所述第一像素坐标、所述第二像素坐标、所述第一投影平面以及所述第二投影平面,确定所述目标对象的识别结果。
在一些实施例中,可以基于第一像素坐标、第二像素坐标以及投影平面,确定与第一图像对应的视觉修正图像,然后对该视觉修正图像进行对象识别,以确定目标对象的识别结果。
在一些可能的实现方式中,可以依次根据第一投影平面、第二投影平面上相关的预设像素坐标,相应地与第一像素坐标、第二像素坐标进行转换,以确定对应的变换矩阵,进而基于该变换矩阵将第一图像映射至对应的投影平面,以得到视觉修正的图像,最后对该视觉修正后的图像进行识别,以确定目标对象的识别结果,即上述步骤S304可以通过以下步骤S341至步骤S346(图中未示出)来实现:
步骤S341,在所述第一投影平面,确定与所述对象操作区域关联的第一预设像素坐标。
在一些实施例中,在第一投影平面上,可以基于对象操作区域的形状参数,事先设定对应的第一预设像素坐标。
步骤S342,在所述第二投影平面,确定与所述目标对象关联的第二预设像素坐标。
在一些实施例中,在第二投影平面,同样可以基于对象操作区域的形状参数,事先设定对应的第二预设像素坐标。
步骤S343,确定所述第一预设像素坐标和所述第一像素坐标之间的第一变换矩阵,以及所述第二预设像素坐标和所述第二像素坐标之间的第二变换矩阵。
在一些实施例中,确定第一预设像素坐标和第一像素坐标之间的一个透视变换矩阵,即第一变换矩阵;相应地,确定第二预设像素坐标和第二像素坐标之间的一个透视变换矩阵,即第二变换矩阵;其中,透视变换的本质即为将图像投影至一个新的视平面,其是可以将图中可能呈现的斜线,通过透视变换转换为直线的变换。
步骤S344,采用所述第一变换矩阵,将所述第一图像投影至所述第一投影平面,得到第二图像。
在一些实施例中,采用第一变换矩阵,将第一图像投影至第一投影平面,得到第二图像;其中,即将第一图像中所有的图像信息投影至第一投影平面。同时采用第一变换矩阵,将第一图像中可能存在的斜线,转换为第二图像中的直线,即实现对第一图像的视觉修正。
步骤S345,对所述第二图像进行目标对象识别,得到所述目标对象的第一检测框和第一类别。
在一些实施例中,可以采用目标检测算法,对第二图像进行目标对象识别,得到目标对象的第一检测框和第一类别;其中,该第一检测框为能够包括目标对象的最小矩形框。同时该实现过程可以是首先基于目标检测算法,对第二图像中的目标对象进行识别之后,得到用于标记该目标对象的矩形框,即第一检测框;然后对该第一检测框内的目标对象进行类别识别,以确定目标对象的类别,比如:目标对象的类别为象棋中的士或相,目标对象为围棋中的白子或黑子等。
在一些实施例中,在目标对象为两个及以上的情况下,在第二图像中识别到的每两个目标对象的检测框之间可能存在部分重合、相邻等情况。
步骤S346,基于所述第二变换矩阵和所述第二投影平面,对所述第一检测框和所述第一类别进行调整,确定所述目标对象的识别结果。
在一些实施例中,可以进一步基于第二变换矩阵和第二投影平面,分别对第一检测框和第一类别进行调整,以确定目标对象的识别结果;其中,识别结果包括目标对象的类别和位置信息。
在一些实施例中,根据第一投影平面、第二投影平面上相关的预设像素坐标,确定对应的变换矩阵,进而基于该变换矩阵将第一图像映射至对应的投影平面,以得到视觉修正的图像,最后对该视觉修正后的图像进行识别,以确定目标对象的识别结果。如此,能够提高对象的识别精度。
在一些可能的实现方式中,可以采用第二变换矩阵,将第一图像投影至第二投影平面,以得到第三图像,对第三图像进行目标对象识别得到对应的检测框和类别信息;然后基于检测框和类别信息,对第一检测框和第一类别进行调整,以确定目标对象的识别结果。如此,分别对第二图像和第三图像进行目标对象识别,共同确定目标对象的识别结果,能够提高对象的识别精度;即上述步骤S346可以通过以下过程来实现:
第一步,采用所述第二变换矩阵,将所述第一图像投影至所述第二投影平面,得到第三图像。
这里,采用第二变换矩阵,将第一图像投影至第二投影平面,得到第三图像的实现过程与上述步骤S344过程类似,均为实现对第一图像的视觉修正。其中,第二图像是基于对象操作区域的坐标参数,以实现对第一图像的视觉修正;第三图像是基于与目标对象的上表面关联的坐标参数,以实现对第一图像的视觉修正,即分别基于目标对象的上下表面对应的坐标信息,实现对第一图像的视觉修正。
第二步,对所述第三图像进行目标对象识别,得到所述目标对象的第二检测框和第二类别。
这里,对第三图像进行目标对象识别,得到目标对象的第二检测框和第二类别的实现过程,与上述步骤S345的实现过程类似,均为采用目标检测算法对第三图像进行检测,在第三图像中得到标记目标对象的第二检测框,以及基于第二检测框识别到的目标对象的第二类别。
第三步,基于所述第一类别和所述第二类别,确定所述目标对象的目标类别。
在一些实施例中,第一类别和第二类别相同的情况下,将第一类别或第二类别确定为目标对象的目标类别;在第一类别和第二类别不同的情况下,选取置信度大的类别,确定为目标对象的目标类别。
这里,因为第一类别和第二类别分别为从第二图像和第三图像中识别得到的,而第二图像和第三图像均为第一图像的视觉修正图像,两者通常识别到的类别均相同。
第四步,基于所述第一检测框和所述第二检测框,确定所述目标对象的位置信息。
在一些实施例中,可以基于第一检测框在第二图像中的位置信息,以及第二检测框在第三图像中的位置信息,共同确定目标对象在第一图像或对象操作区域的位置信息。
在一些可能的实现方式中,可以采用第一检测框和第二检测之间的重叠部分,进一步确定目标对象的位置信息,即上述基于第一检测框和第二检测框,确定目标对象的位置信息,可以基于以下过程来实现:
首先,将所述第二图像的中心和所述第三图像的中心对齐,确定所述第一检测框和所述第二检测框之间的重叠部分。
在一些实施例中,将第二图像和中心和第三图像的中心对齐,确定第一检测框和第二检测框之间的重叠部分。其中,第一检测框和第二检测框之间的重叠部分可以与第一检测框或第二检测框完全相同,也可以不同。
然后,将所述重叠部分的中心点的位置信息,确定为所述目标对象的位置信息。
在一些实施例中,可以直接将重叠部分的中心点的位置信息,确定为目标对象的中心位置信息。其中,该重叠部分的中心点可以是在第二图像中确定的,也可以是在第三图像中确定的,还可以采用第一变换矩阵或第二变换矩阵将其逆投影至第一图像中。
这里,将第二图像中识别到的目标对象的第一检测框,以及第三图像中识别到的目标对象的第二检测框进行重叠,以进一步确定目标对象的位置信息,即能够提高对象的位置信息的识别精度。
在另一些可能的实现方式中,直接将第二图像中识别到的第一类别确定为目标对象的目标类别的情况下,可以依次基于第一变换矩阵和第二变换矩阵,执行逆投影以及投影操作,以确定相关检测框;然后基于该检测框和第一检测框共同确定目标对象的识别结果;如此,一次结果识别以及对应的检测参数确定最终的结果,能够加快识别对象的速度;即上述步骤S346,还可以通过以下过程来实现:
第一步,基于所述第一变换矩阵,确定将所述第一检测框逆投影至所述第一图像的中间检测框。
在一些实施例中,基于第一变换矩阵,确定将第一检测框逆投影至第一图像的中间检测框;也就是将第二图像中识别到的目标对象的第一检测框,逆投影至第一图像,以得到第一图像中目标对象的中间检测框。
第二步,基于所述第二变换矩阵,确定将所述中间检测框投影至所述第二投影平面的第三检测框。
这里,基于第二变换矩阵,确定将中间检测框投影至第二投影平面的第三检测框的实现过程,与采用第二变换矩阵,将第一图像投影至第二投影平面的实现过程类似;其中,该第二投影平面上,事先设置有与目标对象关联的第二预设像素坐标。
第三步,基于所述第一检测框和所述第三检测框,确定所述目标对象的位置信息。
这里,基于第一检测框和第三检测框,确定目标对象的位置信息的实现过程,与上文提到的基于第一检测框和第二检测框,确定目标对象的位置信息的实现过程类似,其用于确定目标对象的中心位置信息。
这里,采用两种方案以实现确定目标对象的识别结果;其一是对与第一图像关联的两个已视觉修正的图像,即分别对第二图像和第三图像进行目标对象识别,共同确定目标对象的识别结果;如此,基于两次识别结果共同确定最终的结果,能够提高对象的识别精度。其二是与对象操作区域关联的,且已进行视觉修正的第二图像进行目标对象识别,得到目标对象的第一检测框之后,进行两次透视变换得到对应的第三检测框,然后基于第一检测框和第三检测框,确定目标对象的识别结果。如此,基于一个已视觉校正的图像对应的识别结果以及相关的检测参数确定最终的结果,相对于仅对原图进行对象识别,不仅能够提高对象的识别精度,还能够加快识别对象的速度。
下面结合一个具体实施例对上述对象识别方法进行说明,然而值得注意的是,该具体实施例仅是为了更好地说明本申请实施例,并不构成对本申请实施例的不当限定。
相关技术中,基于视觉的棋子识别与定位是下棋机器人软件的重要组成部分,其核心工作是对处于棋盘上的棋子进行准确地分类及坐标定位。然而,现有的棋子识别与定位方法都是针对相机垂直棋盘平面拍摄得到的图片进行处理,极大地限制了相机的安装位置选取,使整个下棋机器人机械结构无法灵活地设计。任意相机倾斜角度下拍摄的棋子精确识别与定位困难重重。一方面,相关技术中使用传统图像处理方法,复杂度高、泛化性较差且精确度较低,无法满足实际需要;另一方面,基于深度学习的目标检测算法一般只能得到矩形检测框,而棋子在具有倾斜角度的图像平面上的成像不是标准的圆形,因此无法直接使用目标检测算法的结果对棋子中心进行精确的定位。
基于此,本申请实施例提供一种对象识别方法,在任意相机倾斜角度下拍摄的放置与棋盘平面的棋子,可以通过本申请实施例提供的对象识别方法给出精准度更高的识别与定位;如图4所示,为应用于本申请实施例提供的对象识别方法的一种应用场景的示意图;其中,401为棋盘,402为棋子,对图4中的每一对象(棋子)进行识别的方法可以通过以下步骤来实现:
第一步,预定义一个平行于图4中棋盘平面,且与棋盘平面的距离为x的视平面A,同时在视平面A上预定义第一预设像素坐标,该第一预设像素坐标是与棋盘平面的四个角点的像素坐标。
第二步,基于图4中棋盘平面的四个角点在图像像素坐标系下的第一像素坐标,以及视平面A上的四个第一预设像素坐标,确定透视变换矩阵a;然后基于该透视变换矩阵a将图4所有信息投影至视平面A,得到投影后的图像A。此时,图像A只对图4中棋盘平面有准确的物理意义,即在图像A中棋子下表面即与棋盘平面接触的表面所处的像素是准确的,即经过视觉校正的。
第三步,预定义一个平行于图4中的棋盘平面,且与401的距离为x+h的视平面B;其中,h为棋子的高度信息;同时在视平面B上预定义第二预设像素坐标,该第二预设像素坐标是与图4中棋子的上表面所处的区域,且与棋盘表面对应的四个角点的像素坐标;其中,棋子的上表面即为未与棋盘平面接触的表面。
第四步,首先利用图4中棋盘表面的四个角点的第一像素坐标,以及棋盘表面在世界坐标系下的第一世界坐标,确定世界坐标系与采集图4的相机所处的相机坐标系之间的旋转矩阵和平移向量;然后,将棋盘表面在世界坐标系下的第一世界坐标沿Z轴平移a以后,得到第二世界坐标;最后,采用确定的旋转矩阵和平移向量,确定将第二世界坐标投影至图4中的第二像素坐标,该第二像素坐标即为图4中棋子平面(即为未与棋盘平面接触的表面)虚拟的四个角点的像素坐标。
第五步,基于图4中棋子平面虚拟的四个角点的第二像素坐标,以及视平面B上的四个第二预设像素坐标,确定透视变换矩阵b;然后基于该透视变换矩阵b将图4中所有信息投影至视平面B,得到投影后的图像B。此时,图像B只对图4中棋子平面有准确的物理意义,即在图像B中棋子上表面所处的像素是准确的,即经过视觉校正的。
其中,如图5所示,为应用于本申请实施例提供的两种视觉校正图像进行对象识别的示意图;其中,图5中的a和b分别为上述的图像A和图像B。
第六步,可以划分为两种方案:
方案一:首先,分别将图像A和图像B送入基于深度学习的棋子检测算法中,得到图像A和图像B中每个棋子对应的类别以及矩形检测框。比如:棋子为“車”。
其次,取图像A中任一棋子的第一检测框,比如:501,以及图像B中与该棋子对应的第二检测框,即502;然后将图像A和图像B的中心对齐,确定第一检测框和第二检测框之间的相交部分,并将相交部分的中点确定为棋子中心,如图5的c所示,其中503即为两者的相交部分。
方案二:首先,将图像A送入基于深度学习的棋子检测算法中,得到图像A中每个棋子对应的类别以及矩形检测框。
然后,取图像A中任一棋子的第一检测框,比如:501,利用透视变换矩阵a,确定将第一检测框逆投影至图片4中的中间检测框,然后再使用透视变换矩阵b将中间检测框投影至视平面B中,得到图像A中的第一检测框,对应地在视平面B上的第三检测框。
最后,确定图像A中的第一检测框和第三检测框之间的相交部分,计算相交部分的中点即为棋子中心的精确坐标。
在本申请实施例中,基于采集放置在棋盘平面的棋子的原图中,棋盘的四个角点(四个边角)与预定义视平面四个像素坐标间的关系对原图进行透视转换矫正以获取准确的棋盘坐标;同时基于棋盘平面、棋子平面分别到预定义视平面(棋盘平面A和棋子平面B)的两次透视转换得到棋子上下表面精确的边缘像素,即视觉校正后的图像;最后,基于深度学习的目标检测算法对视觉矫正后的图像中的棋子进行识别以及粗定位,并结合棋子上下表面边缘信息得到棋子在棋盘上的精确中心坐标。
本申请实施例提供一种对象识别装置,图6为本申请实施例提供的对象识别装置的结构组成示意图,如图6所示,所述对象识别装置600包括:
获取模块601,用于获取包括放置在对象操作区域的目标对象的第一图像;
坐标确定模块602,用于在所述第一图像中,基于所述对象操作区域的第一像素坐标,确定与所述目标对象关联的第二像素坐标;
平面确定模块603,用于确定与所述对象操作区域平行的投影平面;
对象识别模块604,用于基于所述第一像素坐标、所述第二像素坐标以及所述投影平面,确定所述目标对象的识别结果。
在一些实施例中,所述获取模块601,包括:
第一获取子模块,用于获取与所述对象操作区域具有预设倾斜角度的图像采集装置;
采集子模块,用于采用所述图像采集装置采集放置在所述对象操作区域的所述目标对象,得到所述第一图像。
在一些实施例中,所述坐标确定模块602,包括:
第二获取子模块,用于获取所述对象操作区域在世界坐标系下的第一世界坐标;
参数确定子模块,用于基于所述第一世界坐标和所述第一像素坐标,确定转换参数;
坐标确定子模块,用于基于所述第一世界坐标和所述转换参数,在所述第一图像中确定与所述目标对象的第一表面关联的所述第二像素坐标;其中,所述第一表面为远离所述对象操作区域的表面。
在一些实施例中,所述第二获取子模块,还用于获取所述对象操作区域的顶点在所述世界坐标系下的顶点坐标;
所述参数确定子模块,还用于基于所述顶点坐标和所述顶点在所述第一图像中的像素坐标,确定表征与所述第一图像对应的图像采集装置位姿的旋转矩阵和所述平移向量。
在一些实施例中,所述坐标确定子模块,包括:
第一获取子单元,用于获取所述目标对象的高度信息;
平移子单元,用于沿着所述高度信息对所述第一世界坐标进行平移,得到第二世界坐标;
坐标确定子单元,用于基于所述转换参数,确定将所述第二世界坐标投影至所述第一图像的所述第二像素坐标。
在一些实施例中,所述平面确定模块603,包括:
第一平面确定子模块,用于确定与所述对象操作区域平行且与所述对象操作区域的距离为第一距离的所述第一投影平面;
距离确定子模块,用于基于所述第一距离和所述目标对象的高度信息,确定第二距离;
第二平面确定子模块,用于确定与所述第一投影平面平行且与所述对象操作区域的距离为所述第二距离的第二投影平面;
所述对象识别模块604,还用于基于所述第一像素坐标、所述第二像素坐标、所述第一投影平面以及所述第二投影平面,确定所述目标对象的识别结果。
在一些实施例中,所述对象识别模块604,包括:
第一像素坐标确定子模块,用于在所述第一投影平面,确定与所述对象操作区域关联的第一预设像素坐标;
第二像素坐标确定子模块,用于在所述第二投影平面,确定与所述目标对象关联的第二预设像素坐标;
变换矩阵确定子模块,用于确定所述第一预设像素坐标和所述第一像素坐标之间的第一变换矩阵,以及所述第二预设像素坐标和所述第二像素坐标之间的第二变换矩阵;
第一投影子模块,用于采用所述第一变换矩阵,将所述第一图像投影至所述第一投影平面,得到第二图像;
第一识别子模块,用于对所述第二图像进行目标对象识别,得到所述目标对象的第一检测框和第一类别;
调整子模块,用于基于所述第二变换矩阵和所述第二投影平面,对所述第一检测框和所述第一类别进行调整,确定所述目标对象的识别结果。
在一些实施例中,所述调整子模块,包括:
第一投影子单元,用于采用所述第二变换矩阵,将所述第一图像投影至所述第二投影平面,得到第三图像;
第一识别子单元,用于对所述第三图像进行目标对象识别,得到所述目标对象的第二检测框和第二类别;
类别确定子单元,用于基于所述第一类别和所述第二类别,确定所述目标对象的目标类别;
第一位置确定子单元,用于基于所述第一检测框和所述第二检测框,确定所述目标对象的位置信息。
在一些实施例中,所述第一位置确定子单元,包括:
第一确定子单元,用于将所述第二图像的中心和所述第三图像的中心对齐,确定所述第一检测框和所述第二检测框之间的重叠部分;
第二确定子单元,用于将所述重叠部分的中心点的位置信息,确定为所述目标对象的位置信息。
在一些实施例中,在所述第一类别为所述目标对象的目标类别的情况下,所述调整子模块,包括:
第一逆投影子单元,用于基于所述第一变换矩阵,确定将所述第一检测框逆投影至所述第一图像的中间检测框;
第二投影子单元,用于基于所述第二变换矩阵,确定将所述中间检测框投影至所述第二投影平面的第三检测框;
第二位置确定子单元,用于基于所述第一检测框和所述第三检测框,确定所述目标对象的位置信息。
需要说明的是,以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的对象识别方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是终端、服务器等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、运动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例再提供一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,该计算机可执行指令被执行后,能够实现本申请实施例提供的对象识别方法。
相应的,本申请实施例再提供一种计算机存储介质,所述计算机存储介质上存储有计算机可执行指令,所述该计算机可执行指令被处理器执行时实现上述实施例提供的对象识别方法。
相应的,本申请实施例提供一种计算机设备,图7为本申请实施例提供的计算机设备的组成结构示意图,如图7所示,所述计算机设备700包括:一个处理器701、至少一个通信总线704、通信接口702、至少一个外部通信接口和存储器703。其中,通信接口702配置为实现这些组件之间的连接通信。其中,通信接口702可以包括显示屏,外部通信接口可以包括标准的有线接口和无线接口。其中所述处理器701,配置为执行存储器中的程序,以实现上述实施例提供的对象识别方法。
以上对象识别装置、计算机设备和存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同相应方法实施例相似的技术描述和有益效果,限于篇幅,可参照上述方法实施例的记载,故在此不再赘述。对于本申请实施例中的对象识别装置、计算机设备和存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ReadOnly Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (13)
1.一种对象识别方法,其特征在于,所述方法包括:
获取包括放置在对象操作区域的目标对象的第一图像;
在所述第一图像中,基于所述对象操作区域的第一像素坐标,确定与所述目标对象关联的第二像素坐标;
确定与所述对象操作区域平行的投影平面;
基于所述第一像素坐标、所述第二像素坐标以及所述投影平面,确定所述目标对象的识别结果。
2.根据权利要求1所述的方法,其中,所述获取包括放置在对象操作区域的目标对象的第一图像,包括:
获取与所述对象操作区域具有预设倾斜角度的图像采集装置;
采用所述图像采集装置采集放置在所述对象操作区域的所述目标对象,得到所述第一图像。
3.根据权利要求1或2所述的方法,其中,所述在所述第一图像中,基于所述对象操作区域的第一像素坐标,确定与所述目标对象关联的第二像素坐标,包括:
获取所述对象操作区域在世界坐标系下的第一世界坐标;
基于所述第一世界坐标和所述第一像素坐标,确定转换参数;
基于所述第一世界坐标和所述转换参数,在所述第一图像中确定与所述目标对象的第一表面关联的所述第二像素坐标;其中,所述第一表面为远离所述对象操作区域的表面。
4.根据权利要求3所述的方法,其中,所述获取所述对象操作区域在世界坐标系下的第一世界坐标,包括:
获取所述对象操作区域的顶点在所述世界坐标系下的顶点坐标;
所述基于所述第一世界坐标和所述第一像素坐标,确定转换参数,包括:
基于所述顶点坐标和所述顶点在所述第一图像中的像素坐标,确定表征所述第一图像对应的图像采集装置位姿的旋转矩阵和所述平移向量。
5.根据权利要求3或4所述的方法,其中,所述基于所述第一世界坐标和所述转换参数,在所述第一图像中确定与所述目标对象的第一表面关联的所述第二像素坐标,包括:
获取所述目标对象的高度信息;
沿着所述高度信息对所述第一世界坐标进行平移,得到第二世界坐标;
基于所述转换参数,确定将所述第二世界坐标投影至所述第一图像的所述第二像素坐标。
6.根据权利要求1至5任一所述的方法,其中,所述确定与所述对象操作区域平行的投影平面,包括:
确定与所述对象操作区域平行且与所述对象操作区域的距离为第一距离的所述第一投影平面;
基于所述第一距离和所述目标对象的高度信息,确定第二距离;
确定与所述第一投影平面平行且与所述对象操作区域的距离为所述第二距离的第二投影平面;
基于所述第一像素坐标、所述第二像素坐标以及所述投影平面,确定所述目标对象的识别结果,包括:
基于所述第一像素坐标、所述第二像素坐标、所述第一投影平面以及所述第二投影平面,确定所述目标对象的识别结果。
7.根据权利要求6所述的方法,其中,所述基于所述第一像素坐标、所述第二像素坐标、所述第一投影平面以及所述第二投影平面,确定所述目标对象的识别结果,包括:
在所述第一投影平面,确定与所述对象操作区域关联的第一预设像素坐标;
在所述第二投影平面,确定与所述目标对象关联的第二预设像素坐标;
确定所述第一预设像素坐标和所述第一像素坐标之间的第一变换矩阵,以及所述第二预设像素坐标和所述第二像素坐标之间的第二变换矩阵;
采用所述第一变换矩阵,将所述第一图像投影至所述第一投影平面,得到第二图像;
对所述第二图像进行目标对象识别,得到所述目标对象的第一检测框和第一类别;
基于所述第二变换矩阵和所述第二投影平面,对所述第一检测框和所述第一类别进行调整,确定所述目标对象的识别结果。
8.根据权利要求7所述的方法,其中,所述基于所述第二变换矩阵和所述第二投影平面,对所述第一检测框和所述第一类别进行调整,确定所述目标对象的识别结果,包括:
采用所述第二变换矩阵,将所述第一图像投影至所述第二投影平面,得到第三图像;
对所述第三图像进行目标对象识别,得到所述目标对象的第二检测框和第二类别;
基于所述第一类别和所述第二类别,确定所述目标对象的目标类别;
基于所述第一检测框和所述第二检测框,确定所述目标对象的位置信息。
9.根据权利要求8所述的方法,其中,所述基于所述第一检测框和所述第二检测框,确定所述目标对象的位置信息,包括:
将所述第二图像的中心和所述第三图像的中心对齐,确定所述第一检测框和所述第二检测框之间的重叠部分;
将所述重叠部分的中心点的位置信息,确定为所述目标对象的位置信息。
10.根据权利要求7所述的方法,其中,在所述第一类别为所述目标对象的目标类别的情况下,所述基于所述第二变换矩阵和所述第二投影平面,对所述第一检测框和所述第一类别进行调整,确定所述目标对象的识别结果,包括:
基于所述第一变换矩阵,确定将所述第一检测框逆投影至所述第一图像的中间检测框;
基于所述第二变换矩阵,确定将所述中间检测框投影至所述第二投影平面的第三检测框;
基于所述第一检测框和所述第三检测框,确定所述目标对象的位置信息。
11.一种对象识别装置,其特征在于,所述装置包括:
获取模块,用于获取包括放置在对象操作区域的目标对象的第一图像;
坐标确定模块,用于在所述第一图像中,基于所述对象操作区域的第一像素坐标,确定与所述目标对象关联的第二像素坐标;
平面确定模块,用于确定与所述对象操作区域平行的投影平面;
对象识别模块,用于基于所述第一像素坐标、所述第二像素坐标以及所述投影平面,确定所述目标对象的识别结果。
12.一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时能够实现权利要求1至10任一项所述的对象识别方法。
13.一种计算机存储介质,所述计算机存储介质上存储有计算机可执行指令,该计算机可执行指令被执行后,能够实现权利要求1至10任一项所述的对象识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111672398.XA CN114332726A (zh) | 2021-12-31 | 2021-12-31 | 对象识别方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111672398.XA CN114332726A (zh) | 2021-12-31 | 2021-12-31 | 对象识别方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114332726A true CN114332726A (zh) | 2022-04-12 |
Family
ID=81021493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111672398.XA Withdrawn CN114332726A (zh) | 2021-12-31 | 2021-12-31 | 对象识别方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114332726A (zh) |
-
2021
- 2021-12-31 CN CN202111672398.XA patent/CN114332726A/zh not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110458898B (zh) | 相机标定板、标定数据采集方法、畸变校正方法及装置 | |
US7554575B2 (en) | Fast imaging system calibration | |
TWI419081B (zh) | 提供擴增實境的標籤追蹤方法、系統與電腦程式產品 | |
CN111880657A (zh) | 一种虚拟对象的控制方法、装置、电子设备及存储介质 | |
JP2016167229A (ja) | 座標変換パラメータ決定装置、座標変換パラメータ決定方法及び座標変換パラメータ決定用コンピュータプログラム | |
CN113841384B (zh) | 校准装置,用于校准的图表和校准方法 | |
JPWO2018235163A1 (ja) | キャリブレーション装置、キャリブレーション用チャート、チャートパターン生成装置、およびキャリブレーション方法 | |
Gruber et al. | The city of sights: Design, construction, and measurement of an augmented reality stage set | |
CN112132907B (zh) | 一种相机标定方法、装置、电子设备及存储介质 | |
JP2010287174A (ja) | 家具シミュレーション方法、装置、プログラム、記録媒体 | |
US20150170417A1 (en) | Systems and Methods for Activities Solver Development in Augmented Reality Applications | |
JP2012221260A (ja) | 情報処理プログラム、情報処理方法、情報処理装置および情報処理システム | |
CN114913308A (zh) | 摄像机跟踪方法、装置、设备及存储介质 | |
CN116524022B (zh) | 偏移数据计算方法、图像融合方法、装置及电子设备 | |
McIlroy et al. | Kinectrack: 3d pose estimation using a projected dense dot pattern | |
CN112197708B (zh) | 测量方法及装置、电子设备及存储介质 | |
CN117253022A (zh) | 一种对象识别方法、装置及查验设备 | |
CN110852132B (zh) | 一种二维码空间位置确认方法及装置 | |
CN108683897B (zh) | 多投影显示系统畸变的智能校正方法 | |
CN111198616A (zh) | 一种应用于互动投影游戏的虚拟场景产生方法 | |
CN114332726A (zh) | 对象识别方法、装置、设备及存储介质 | |
US20230186596A1 (en) | Object recognition method, apparatus, device and storage medium | |
Uma et al. | Marker based augmented reality food menu | |
CN112634377B (zh) | 扫地机器人的相机标定方法、终端和计算机可读存储介质 | |
CN110598605B (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220412 |