CN112102342B - 平面轮廓识别方法、装置、计算机设备和存储介质 - Google Patents
平面轮廓识别方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112102342B CN112102342B CN202010901647.7A CN202010901647A CN112102342B CN 112102342 B CN112102342 B CN 112102342B CN 202010901647 A CN202010901647 A CN 202010901647A CN 112102342 B CN112102342 B CN 112102342B
- Authority
- CN
- China
- Prior art keywords
- target
- frame image
- plane
- edge points
- fitting
- 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
- 238000000034 method Methods 0.000 title claims abstract description 100
- 230000008569 process Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 22
- 238000013507 mapping Methods 0.000 claims description 14
- 206010034701 Peroneal nerve palsy Diseases 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 7
- 230000007613 environmental effect Effects 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims 2
- 238000005516 engineering process Methods 0.000 description 17
- 238000013473 artificial intelligence Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000013135 deep learning Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000012549 training Methods 0.000 description 7
- 230000004927 fusion Effects 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000011514 reflex Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 210000003811 finger Anatomy 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/149—Segmentation; Edge detection involving deformable models, e.g. active contour models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/162—Segmentation; Edge detection involving graph-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/181—Segmentation; Edge detection involving edge growing; involving edge linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及一种平面轮廓识别方法、装置、计算机设备和存储介质。所述方法包括:显示对目标环境进行采集所得的目标帧图像;将对所述目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合而成的拟合图形,叠加于所述物体平面上展示;所述在先帧图像是在所述目标帧图像前对所述目标环境采集所得的帧图像;在所述拟合图形中,将所述在先帧图像的物体平面内未出现的边缘点删除;在所述目标帧图像的物体平面上,显示通过所述拟合图形中的剩余边缘点构成的平面轮廓。采用本方法能够提高目标物平面轮廓识的别效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种平面轮廓识别方法、装置、计算机设备和存储介质。
背景技术
随着机械化技术的不断发展,越来越多的智能设备投入到相应领域进行应用,而这些智能设备在应用过程中,需要对目标环境中目标物的空间位置和大小进行有效识别,然后才能做出相应的操作。如快递领域的分拣场景中,智能机器人需要识别出待分拣物品的空间位置和大小,然后可以准确夹取待分拣物品进行分拣。
传统方案中,通常是采用深度学习的方法对目标物的平面轮廓进行识别,从而利用识别的平面轮廓确定目标物具体的空间位置和大小。然而,采用传统方案中的深度学习方法识别目标物的平面轮廓,其识别准确性往往过度依赖于预训练,而且训练耗时长,从而影响目标物平面轮廓识别的效率。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高目标物平面轮廓识的别效率的平面轮廓识别方法、装置、计算机设备和存储介质。
一种平面轮廓识别方法,所述方法包括:
显示对目标环境进行采集所得的目标帧图像;
将对所述目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合而成的拟合图形,叠加于所述物体平面上展示;所述在先帧图像是在所述目标帧图像前对所述目标环境采集所得的帧图像;
在所述拟合图形中,将所述在先帧图像的物体平面内未出现的边缘点删除;
在所述目标帧图像的物体平面上,显示通过所述拟合图形中的剩余边缘点构成的平面轮廓。
一种平面轮廓识别装置,所述装置包括:
第一显示模块,用于显示对目标环境进行采集所得的目标帧图像;
叠加模块,用于将对所述目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合而成的拟合图形,叠加于所述物体平面上展示;所述在先帧图像是在所述目标帧图像前对所述目标环境采集所得的帧图像;
删除模块,用于在所述拟合图形中,将所述在先帧图像的物体平面内未出现的边缘点删除;
第二显示模块,用于在所述目标帧图像的物体平面上,显示通过所述拟合图形中的剩余边缘点构成的平面轮廓。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
显示对目标环境进行采集所得的目标帧图像;
将对所述目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合而成的拟合图形,叠加于所述物体平面上展示;所述在先帧图像是在所述目标帧图像前对所述目标环境采集所得的帧图像;
在所述拟合图形中,将所述在先帧图像的物体平面内未出现的边缘点删除;
在所述目标帧图像的物体平面上,显示通过所述拟合图形中的剩余边缘点构成的平面轮廓。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
显示对目标环境进行采集所得的目标帧图像;
将对所述目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合而成的拟合图形,叠加于所述物体平面上展示;
在所述拟合图形中,将所述在先帧图像的物体平面内未出现的边缘点删除;所述在先帧图像是在所述目标帧图像前对所述目标环境采集所得的帧图像;
在所述目标帧图像的物体平面上,显示通过所述拟合图形中的剩余边缘点构成的平面轮廓。
上述平面轮廓识别方法、装置、计算机设备和存储介质,采集目标环境得到目标帧图像,通过对目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合,从而可以获得各物体平面的拟合图形,若该拟合图形中的边缘点未出现在之前帧图像的物体平面内,则将该未出现的边缘点作为局外点进行删除,从而得到由剩余边缘点构成的平面轮廓,从而无需利用深度学习便可识别出目标帧图像中各物体的平面轮廓,减少了训练耗时,有效地提高了目标物平面轮廓的识别效率。此外,将该未出现的边缘点作为局外点进行删除得到物体的平面轮廓,从而可以多个物体交错放置而影响平面轮廓的识别,提高了平面轮廓识别的准确性。
一种平面轮廓识别方法,所述方法包括:
获取对目标环境进行采集所得的目标帧图像;
对所述目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合,得到拟合图形;所述在先帧图像是在所述目标帧图像前对所述目标环境采集所得的帧图像;
在所述拟合图形中,将所述在先帧图像的物体平面内未出现的边缘点删除;
将所述拟合图形中的剩余边缘点构成的轮廓识别为平面轮廓。
一种平面轮廓识别装置,所述装置包括:
获取模块,用于获取对目标环境进行采集所得的目标帧图像;
拟合模块,用于对所述目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合,得到拟合图形;所述在先帧图像是在所述目标帧图像前对所述目标环境采集所得的帧图像;
删除模块,用于在所述拟合图形中,将所述在先帧图像的物体平面内未出现的边缘点删除;
构建模块,用于将所述拟合图形中的剩余边缘点构成的轮廓识别为平面轮廓。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取对目标环境进行采集所得的目标帧图像;
对所述目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合,得到拟合图形;所述在先帧图像是在所述目标帧图像前对所述目标环境采集所得的帧图像;
在所述拟合图形中,将所述在先帧图像的物体平面内未出现的边缘点删除;
将所述拟合图形中的剩余边缘点构成的轮廓识别为平面轮廓。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取对目标环境进行采集所得的目标帧图像;
对所述目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合,得到拟合图形;所述在先帧图像是在所述目标帧图像前对所述目标环境采集所得的帧图像;
在所述拟合图形中,将所述在先帧图像的物体平面内未出现的边缘点删除;
将所述拟合图形中的剩余边缘点构成的轮廓识别为平面轮廓。
上述平面轮廓识别方法、装置、计算机设备和存储介质,采集目标环境得到目标帧图像,对目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合,从而可以获得各物体平面的拟合图形,若该拟合图形中的边缘点未出现在之前帧图像的物体平面内,则将该未出现的边缘点作为局外点进行删除,从而得到由剩余边缘点构成的平面轮廓,减少了因采用深度学习而导致的训练耗时,有效地提高了目标物平面轮廓的识别效率。此外,将该未出现的边缘点作为局外点进行删除得到物体的平面轮廓,从而可以多个物体交错放置而影响平面轮廓的识别,提高了平面轮廓识别的准确性。
附图说明
图1为一个实施例中平面轮廓识别方法的应用环境图;
图2为一个实施例中平面轮廓识别方法的流程示意图;
图3为一个实施例中在目标帧图像上显示拟合图形和平面轮廓的示意图;
图4为一个实施例中对两个交错放置的立方体物体拟合而成的平面轮廓的示意图;
图5为一个实施例中对两个交错放置的立方体物体的拟合图形进行优化,根据优化后的拟合图形拟合平面轮廓的示意图;
图6为另一个实施例中平面轮廓识别方法的流程示意图;
图7为一个实施例中构建空间坐标系的示意图;
图8为另一个实施例中平面轮廓识别方法的流程示意图;
图9为一个实施例中未使用Apriltag拟合而成的矩形轮廓和使用Apriltag拟合而成的矩形轮廓之间对比的示意图;
图10为一个实施例中平面轮廓识别装置的结构框图;
图11为另一个实施例中平面轮廓识别装置的结构框图;
图12为另一个实施例中平面轮廓识别装置的结构框图;
图13为另一个实施例中平面轮廓识别装置的结构框图;
图14为一个实施例中计算机设备的内部结构图;
图15为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
计算机视觉技术(Computer Vision,CV)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像分割、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习和度量学习等技术。
本申请实施例提供的方案涉及人工智能的计算机视觉技术和机器学习等技术,具体通过如下实施例进行说明:
本申请提供的平面轮廓识别方法,可以应用于如图1所示的应用环境中。在该应用环境中,包括终端102和服务器104。终端102采集目标环境得到目标帧图像,将采集的目标帧图形进行显示;终端102对目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合得到拟合图形,然后将拟合图形叠加于物体平面上展示;在拟合图形中将在先帧图像中物体的物体平面内未出现的边缘点删除,该在先帧图像是在目标帧图像前对目标环境采集的帧图像;在目标帧图像的物体平面上,显示通过拟合图形中的剩余边缘点构成的平面轮廓。
此外,拟合图形的拟合过程,可以包括:终端102也可以将目标帧图像和在先帧图像发送给服务器104,由服务器104对目标帧图像中各物体平面的边缘点进行拟合得到拟合图形,然后将拟合图形发送至终端102以叠加于物体平面上展示。
其中,终端102可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和CDN等基础云计算服务的云服务器。
终端102与服务器104之间可以通过蓝牙、USB(Universal Serial Bus,通用串行总线)或者网络等通讯连接方式进行连接,本申请在此不做限制。
在一个实施例中,如图2所示,提供了一种平面轮廓识别方法,该方法可由终端102执行,或由终端102和服务器104协同执行,以该方法由图1中的终端102执行为例进行说明,包括以下步骤:
S202,显示对目标环境进行采集所得的目标帧图像。
其中,目标环境可以是终端所处的工作环境,该终端如快递领域中机器人进行物品分拣的环境,又如机器人在工作过程中行走时的道路环境。
目标帧图像可以指终端通过内置的摄像头采集目标环境的图像或视频所得到的图像,或者通过独立的摄像头采集目标环境的图像或视频所得到的图像。目标帧图像可以是携带深度信息的三维图像,如深度图像。在实际应用中,目标帧图像可以是目标环境中阶梯的图像,如图3所示。
在一个实施例中,若终端内置的摄像头实时采集目标环境得到视频时,对该视频进行解码得到目标帧图像,然后将解码所得的各目标帧图像进行显示。或者,若独立的摄像头实时采集目标环境得到视频时,将该视频实时发送至终端,终端对该视频进行解码得到目标帧图像,然后将解码所得的各目标帧图像进行显示。其中,该目标帧图像为该视频中的视频帧
在另一个实施例中,若终端内置的摄像头按照预设时间间隔拍摄目标环境得到目标帧图像时,将拍摄的目标帧图像在显示屏进行显示。或者,若独立的摄像头按照预设时间间隔拍摄目标环境得到目标帧图像时,将拍摄的目标帧图像发送给终端,终端将接收的目标帧图像进行显示。
S204,将对目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合而成的拟合图形,叠加于物体平面上展示。
其中,该物体平面可以指显示于目标帧图像中的物体的表面,也即未被遮挡的物体的表面;该物体平面除了在目标帧图像中出现,也可以出现于在先帧图像中。此外,该物体平面可以水平平面或曲线平面。在后续实施例中,以物体平面为水平的物体平面为例进行说明。
物体可以指目标环境中的、且拍摄在目标帧图像中的目标物,该物体各个方向上的表面可以是水平平面;此外,该物体可以具有特定几何形状。例如,该物体可以是用于装快递的快递箱,或者是阶梯等等。
拟合图形可以指:利用曲线对边缘点进行拟合所得的闭合曲线图,或利用直线对边缘点进行拟合所得的闭合图形。如图3所示,虚线图形即为对阶梯某个台阶平面的边缘点拟合而成的拟合图形。
当该目标帧图像是三维图像,对应的边缘点也可以是目标帧图像中物体平面的体素,或者是目标环境(即真实场景)中目标物体的三维边缘点。当该目标帧图像是二维图像,对应的边缘点也可以是二维的像素,或者是目标环境中目标物体的二维边缘点。
在一个实施例中,通过叠加展示的拟合图形可以确定物体平面的边缘点的拟合程度,当拟合程度达到预设拟合条件时,可以直接将拟合图形作为物体平面的平面轮廓。当拟合程度未达到预设拟合条件时,可以执行S206。预设拟合条件可以指物体平面的拟合图形的形状是否为目标形状,例如,对于矩形物体,拟合图形是否为矩形(或者,在侧视角度下,拟合图形是否为菱形)。
在一个实施例中,上述拟合图形是通过边缘点拟合步骤对目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合而成的,该边缘点拟合步骤包括:终端根据深度信息确定目标帧图像中各点对应的空间位置;基于空间位置和平面方程确定各点所在的平面,得到物体平面;对物体平面的边缘点和在先帧图像相应物体平面的边缘点进行拟合,得到拟合图形。终端将所得的拟合图形叠加于该目标帧图像的物体平面上展示。
其中,该空间位置可以是三维的空间坐标系中的空间坐标。
在一个实施例中,目标帧图像中包含携带了方向信息的图形码。上述根据深度信息确定目标帧图像中各点对应的空间位置的步骤,具体可以包括:终端根据图形码携带的方向信息确定坐标系基准方向;基于坐标系基准方向构建空间坐标系;在空间坐标系中,基于深度信息确定目标帧图像中各点对应的空间位置。
其中,该图形码可以是条形码或二维码,如用于指示方向的Apriltag。
在一个实施例中,终端根据深度信息可以计算目标帧图像中物体的各点与摄像头之间的距离,以及物体各点之间的距离,根据上述的距离可以确定目标帧图像中物体的各点在空间坐标系中的空间位置。
在一个实施例中,对于确定物体表面各点所在的平面的步骤,具体可以包括:终端将空间位置(即空间坐标)和平面方程输入至平面拟合模型,通过该平面拟合模型按照平面方程对物体各点的空间位置进行拟合,得到各点所在的平面,进而得到该平面的物体平面。
在一个实施例中,终端利用直线或曲线对物体平面的边缘点进行拟合,得到闭合曲线图,或由直线段构成的闭合图形,将该闭合曲线图或闭合图形确定为物体平面边缘点的拟合图形。
在一个实施例中,上述对物体平面的边缘点和在先帧图像相应物体平面的边缘点进行拟合,得到拟合图形的步骤,具体可以包括:当该物体平面为物体的部分区域平面,或被目标帧图像中的其它物体遮挡时,终端则在各在先帧图像中确定包含物体平面的在先目标帧图像;从在先目标帧图像中的物体平面提取边缘点;从在先目标帧图像中物体平面提取的边缘点和目标帧图像中物体平面的边缘点中,选取目标边缘点;对选取的目标边缘点进行拟合,得到拟合图形。然后,终端将所得的拟合图形叠加于该目标帧图像的物体平面上展示。
其中,上述的边缘点为三维边缘点。在先帧图像是在目标帧图像前对目标环境采集所得的帧图像,例如是目标帧图像的前一帧图像,或是在目标帧图像之前采集的前n帧图像(即前一帧图像至前第n帧图像)。对应地,在先目标帧图像是指在先帧图像中包含该物体的物体平面的图像。
对于目标边缘点的选取过程,可以包括:先将在先目标帧图像与目标帧图像进行叠加,从而使目标帧图像中物体平面的边缘点与先目标帧图像中相应物体平面的边缘点叠加在一起得到边缘点集合,然后从边缘点集合的边缘点密集区中选取边缘点;其中,从边缘点密集区中选取边缘点从而可以避免离散点的干扰,如边缘点在叠加之后,可能会出现一些偏离正常范围的边缘点,将这些边缘点排除可提高拟合效果。
此外,还可以按照摄像头与目标物体之间的距离为每帧图像设置权重,然后按照权重的大小选取目标边缘点,即从权重大的帧图像中选取较多的目标边缘点,从权重小的帧图像中选取较少的目标边缘点。
在一个实施例中,对于该物体平面是否为物体的部分区域平面,或是否被目标帧图像中的其它物体遮挡的判断步骤,具体可以包括:终端将三维边缘点映射为二维边缘点;确定二维边缘点对应的凸多边形,并计算凸多边形的面积;确定二维边缘点的外接图形,并计算外接图形的面积;当凸多边形的面积与外接图形的面积的比值达到预设比值时,则确定物体平面为物体的部分区域平面,或被目标帧图像中的其它物体遮挡。
其中,凸多边形是指:若将一个多边形所有边中的任意一条边向两方无限延长成为一直线时,其它各边都在此直线的同旁,而且该多边形内角应均不是优角,任意两个顶点间的线段位于多边形的内部或边上。
在一个实施例中,上述从在先目标帧图像中物体平面提取的边缘点和目标帧图像中物体平面的边缘点中,选取目标边缘点的步骤,具体可以包括:终端确定目标帧图像对应的第一权重和在先目标帧图像对应的第二权重;第一权重与第二权重不相等;在目标帧图像内物体平面的边缘点中,按照第一权重选取第一目标边缘点;以及,在从在先目标帧图像内物体平面提取的边缘点中,按照第二权重选取第二目标边缘点;将第一目标边缘点和第二目标边缘点作为目标边缘点。
其中,第一权重与第二权重的大小与摄像头拍摄图像时距物体之间的距离相关,即摄像头拍摄目标环境中的物体时,距离越远则对应的权重越小;同理,摄像头拍摄目标环境中的物体时,距离越近则对应的权重越大。
在一个实施例中,终端确定拟合图形的尺寸;当尺寸小于预设尺寸时,重新获取对目标环境进行采集所得的目标帧图像,然后执行S204。当尺寸大于或等于预设尺寸时,执行S206。
举例来说,考虑到现实场景的复杂程度,若目标环境中物体对应的物体平面的长和宽均在一定的范围内,在拟合过程中,可以选择对物体平面的大小进行检查,只有在满足阈值的情况下才确定拟合成功。
S206,在拟合图形中,将在先帧图像中的物体平面内未出现的边缘点删除。
其中,在先帧图像是在目标帧图像前对目标环境采集所得的帧图像,例如是目标帧图像的前一帧图像,或是在目标帧图像之前采集的前n帧图像,或是在目标帧图像之前采集的第n帧图像。
在一个实施例中,S206具体可以包括:若拟合图形中的边缘点未在在先帧图像中的物体平面内出现,或拟合图形中的边缘点未在在先帧图像中的物体平面对应的平面轮廓内出现,则将该未出现的边缘点从拟合图形中删除。
当摄像头距离物体较远、且摄像头光心与物体的入射角较大,同时目标环境中存在多个物体交错放置时,拟合出来的拟合图形可能会存在误差,需要在拟合图形中将在先帧图像中的物体平面内未出现的边缘点删除。
例如,如图4所示,图中的两个物体为立方体物体,其中一个物体上部分表面的拟合图形(如图中的灰色区域)沿着另一个物体的侧面延伸出去了,导致这种现象的原因是此种情况下深度信息存在较大的误差,平面拟合出错。因此,对于由多帧图像中物体平面的边缘点拟合而成的拟合图形,将该拟合图形中未于在先帧图像中的物体平面内出现的边缘点进行删除(即图中虚线椭圆框内的各边缘点删除),其中,未于在先帧图像中的物体平面内出现的边缘点为局外点,从而可以避免拟合过程中出现拟合误差,从而提高了拟合图形的正确性。
S208,在目标帧图像的物体平面上,显示通过拟合图形中的剩余边缘点构成的平面轮廓。
其中,平面轮廓可以指物体表面的轮廓,该轮廓可以是矩形轮廓,或其它形状的轮廓。
在一个实施例中,终端可以生成与拟合图形中的剩余边缘点外接的平面图形,该平面图形即为物体的平面轮廓。
例如,如图5所示,左边图中的虚线部分为原始的拟合图形,右边图中的虚线部分为将未于在先帧图像中的物体平面内出现的边缘点从拟合图形中删除之后的新拟合图形,从而根据新拟合图形构建物体的平面轮廓,因此可以提高物体平面轮廓的识别准确性。
当获得物体的平面轮廓时,可以基于该平面轮廓确定物体的尺寸和空间位置,进而终端可以进行相应的操作。其中,不同的应用场景,终端可以执行不同的操作,以以下应用场景对终端执行的操作进行阐述:
场景1,机器人移动的应用场景。
在一个实施例中,当终端为机器人,机器人在通过目标帧图像构建的各平面轮廓中确定机器人移动路径,或者在平面轮廓中选择机器人落脚点;按照机器人移动路径或机器人落脚点进行移动。
对于机器人而言,在移动过程中,需要在前方的道路(可以包括图3的阶梯)上规划移动路径。此外,对于足式机器人,在移动过程中,需要对道路上的落脚点进行选择,以避免踏空或碰撞到其它物体。
场景2,机器人夹取目标物体的应用场景。
在一个实施例中,上述的物体平面为机器臂夹取的目标物体相应平面的区域,当终端为机器臂时,机器臂根据平面轮廓确定目标物体的尺寸、朝向和空间位置;基于目标物体的尺寸、朝向和空间位置夹取目标物体;将夹取的目标物体放置于指定位置。
其中,尺寸可以指目标物体的长、宽和高中的至少两种。朝向可以指目标物体所朝方的方位,也可以指目标物体所放置的方向,如快递箱正向机器臂放置。
在一个实施例中,上述将夹取的目标物体放置于指定位置的步骤,具体可以包括:终端在移动机器臂以放置目标物体的过程中,采集指定位置的环境图像;对环境图像中各目标物体平面和在先帧环境图像中对应目标物体平面的边缘点进行拟合,得到目标拟合图形;在目标拟合图形中,将在先帧环境图像的目标物体平面中未出现的边缘点删除;在先帧环境图像是在环境图像之前采集的帧图像;通过目标拟合图形中的剩余边缘点构成目标平面轮廓;根据目标平面轮廓确定目标物体的放置姿态;按照放置姿态,将目标物体放置于目标物体平面。
其中,放置姿态为目标物体放置的位置和朝向。
例如,若指定位置为另一物体的上方,即把目标物体放置于另一物体的上方,则可以通过上述方式识别出该另一物体对应的目标平面轮廓,然后根据该目标平面轮廓确定该另一物体的尺寸和空间位置,然后根据该另一物体的尺寸和空间位置将该目标物体放置于该另一物体上,以确保该目标物体在放置过程中避免碰撞,且放置于该目标物体的正上方。
场景3,增强现实的应用场景。
在一个实施例中,当终端为AR设备时,在获得物体的平面轮廓之后,确定该平面轮廓的尺寸和空间位置,生成关于尺寸和空间位置的虚拟标识,在该AR设备显示的关于目标环境的真实画面时,在该真实画面中该物体的附近显示该虚拟标识。
上述实施例中,采集目标环境得到目标帧图像,通过对目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合,从而可以获得各物体平面的拟合图形,若该拟合图形中的边缘点未出现在之前帧图像的物体平面内,则将该未出现的边缘点作为局外点进行删除,从而得到由剩余边缘点构成的平面轮廓,从而无需利用深度学习便可识别出目标帧图像中各物体的平面轮廓,减少了训练耗时,有效地提高了目标物平面轮廓的识别效率。此外,将该未出现的边缘点作为局外点进行删除得到物体的平面轮廓,从而可以多个物体交错放置而影响平面轮廓的识别,提高了平面轮廓识别的准确性。
在一个实施例中,如图6所示,提供了另一种平面轮廓识别方法,该方法可由终端102执行,或由服务器104,或由终端102和服务器104协同执行,以该方法由图1中的终端102执行为例进行说明,包括以下步骤:
S602,获取对目标环境进行采集所得的目标帧图像。
其中,目标环境可以是终端所处的工作环境,该终端如快递领域中机器人进行物品分拣的环境,又如机器人在工作过程中行走时的道路环境。
目标帧图像可以指终端通过内置的摄像头采集目标环境的图像或视频所得到的图像,或者通过独立的摄像头采集目标环境的图像或视频所得到的图像。目标帧图像可以是携带深度信息的三维图像,如深度图像。在实际应用中,目标帧图像可以是目标环境中阶梯的图像,如图3所示。
在一个实施例中,若终端内置的摄像头实时采集目标环境得到视频时,对该视频进行解码得到目标帧图像。或者,若独立的摄像头实时采集目标环境得到视频时,将该视频实时发送至终端,终端对该视频进行解码得到目标帧图像。其中,该目标帧图像为该视频中的视频帧。
在另一个实施例中,终端通过内置的摄像头按照预设时间间隔拍摄目标环境得到目标帧图像;或者,通过独立的摄像头按照预设时间间隔拍摄目标环境得到目标帧图像,然后将拍摄的目标帧图像传输给终端。
在一个实施例中,终端在获得目标帧图像之后,可以通过其显示屏显示该目标帧图像。
S604,对目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合,得到拟合图形。
其中,在先帧图像是在目标帧图像前对目标环境采集所得的帧图像。该物体平面可以指显示于目标帧图像中的物体的表面,也即未被遮挡的物体的表面;此外,该物体平面可以水平平面或曲线平面。在后续实施例中,以物体平面为水平的物体平面为例进行说明。
物体可以指目标环境中的、且拍摄在目标帧图像中的目标物,该物体各个方向上的表面可以是水平平面;此外,该物体可以具有特定几何形状。例如,该物体可以是用于装快递的快递箱,或者是阶梯等等。
拟合图形可以指:利用曲线对边缘点进行拟合所得的闭合曲线图,或利用直线对边缘点进行拟合所得的闭合图形。如图3所示,虚线图形即为对阶梯某个台阶平面的边缘点拟合而成的拟合图形。由于该目标帧图像可以是三维图像,对应的边缘点也可以是三维的边缘点。
当该目标帧图像是三维图像,对应的边缘点也可以是目标帧图像中物体平面的体素,或者是目标环境(即真实场景)中目标物体的三维边缘点。当该目标帧图像是二维图像,对应的边缘点也可以是二维的像素,或者是目标环境中目标物体的二维边缘点。
在一个实施例中,终端根据深度信息确定目标帧图像中各点对应的空间位置;基于空间位置和平面方程确定各点所在的平面,得到物体平面;对物体平面的边缘点和在先帧图像相应物体平面的边缘点进行拟合,得到拟合图形。
其中,该空间位置可以是三维的空间坐标系中的空间坐标。
在一个实施例中,目标帧图像中包含携带了方向信息的图形码。上述根据深度信息确定目标帧图像中各点对应的空间位置的步骤,具体可以包括:终端根据图形码携带的方向信息确定坐标系基准方向;基于坐标系基准方向构建空间坐标系;在空间坐标系中,基于深度信息确定目标帧图像中各点对应的空间位置。
其中,该图形码可以是条形码或二维码,如用于指示方向的Apriltag。
例如,如图7所示,通过Apriltag可以确定空间坐标系的坐标基准方向(也可称为正方向),将该坐标基准方向作为x轴方向,然后将该物体对应的物体平面的法向作为z轴方向,将x轴方向和z轴方向的叉乘方向作为y轴方向。举例来说,x轴方向记为向量a,z轴方向记为向量b,向量a和向量b的叉乘方向记为a×b的方向,该a×b的方向为:四指由b开始指向a,拇指的指向就是b×a的方向,该方向垂直于b和a所在的平面。
在一个实施例中,终端根据深度信息可以计算目标帧图像中物体的各点与摄像头之间的距离,以及物体各点之间的距离,根据上述的距离可以确定目标帧图像中物体的各点在空间坐标系中的空间位置。
在一个实施例中,对于确定物体表面各点所在的平面的步骤,具体可以包括:终端将空间位置(即空间坐标)和平面方程输入至平面拟合模型,通过该平面拟合模型按照平面方程对物体各点的空间位置进行拟合,得到各点所在的平面,进而得到该平面的物体平面。
在一个实施例中,终端利用直线或曲线对物体平面的边缘点进行拟合,得到闭合曲线图,或由直线段构成的闭合图形,将该闭合曲线图或闭合图形确定为物体平面边缘点的拟合图形。
在一个实施例中,上述对物体平面的边缘点和在先帧图像相应物体平面的边缘点进行拟合,得到拟合图形的步骤,具体可以包括:当该物体平面为物体的部分区域平面,或被目标帧图像中的其它物体遮挡时,终端则在各在先帧图像中确定包含物体平面的在先目标帧图像;从在先目标帧图像中的物体平面提取边缘点;从在先目标帧图像中物体平面提取的边缘点和目标帧图像中物体平面的边缘点中,选取目标边缘点;对选取的目标边缘点进行拟合,得到拟合图形。
其中,上述的边缘点为三维边缘点。在先帧图像是在目标帧图像前对目标环境采集所得的帧图像,例如是目标帧图像的前一帧图像,或是在目标帧图像之前采集的前n帧图像(即前一帧图像至前第n帧图像)。对应地,在先目标帧图像是指在先帧图像中包含该物体的物体平面的图像。
对于目标边缘点的选取过程,可以包括:先将在先目标帧图像与目标帧图像进行叠加,从而使目标帧图像中物体平面的边缘点与先目标帧图像中相应物体平面的边缘点叠加在一起得到边缘点集合,然后从边缘点集合的边缘点密集区中选取边缘点;其中,从边缘点密集区中选取边缘点从而可以避免离散点的干扰,如边缘点在叠加之后,可能会出现一些偏离正常范围的边缘点,将这些边缘点排除可提高拟合效果。
此外,还可以按照摄像头与目标物体之间的距离为每帧图像设置权重,然后按照权重的大小选取目标边缘点,即从权重大的帧图像中选取较多的目标边缘点,从权重小的帧图像中选取较少的目标边缘点。
在一个实施例中,对于该物体平面是否为物体的部分区域平面,或是否被目标帧图像中的其它物体遮挡的判断步骤,具体可以包括:终端将三维边缘点映射为二维边缘点;确定二维边缘点对应的凸多边形,并计算凸多边形的面积;确定二维边缘点的外接图形,并计算外接图形的面积;当凸多边形的面积与外接图形的面积的比值达到预设比值时,则确定物体平面为物体的部分区域平面,或被目标帧图像中的其它物体遮挡。
其中,凸多边形是指:若将一个多边形所有边中的任意一条边向两方无限延长成为一直线时,其它各边都在此直线的同旁,而且该多边形内角应均不是优角,任意两个顶点间的线段位于多边形的内部或边上。
在一个实施例中,上述从在先目标帧图像中物体平面提取的边缘点和目标帧图像中物体平面的边缘点中,选取目标边缘点的步骤,具体可以包括:终端确定目标帧图像对应的第一权重和在先目标帧图像对应的第二权重;第一权重与第二权重不相等;在目标帧图像内物体平面的边缘点中,按照第一权重选取第一目标边缘点;以及,在从在先目标帧图像内物体平面提取的边缘点中,按照第二权重选取第二目标边缘点;将第一目标边缘点和第二目标边缘点作为目标边缘点。
其中,第一权重与第二权重的大小与摄像头拍摄图像时距物体之间的距离相关,即摄像头拍摄目标环境中的物体时,距离越远则对应的权重越小;同理,摄像头拍摄目标环境中的物体时,距离越近则对应的权重越大。
在一个实施例中,终端确定拟合图形的尺寸;当尺寸小于预设尺寸时,重新获取对目标环境进行采集所得的目标帧图像,然后执行S604。当尺寸大于或等于预设尺寸时,执行S606。
举例来说,考虑到现实场景的复杂程度,若目标环境中物体对应的物体平面的长和宽均在一定的范围内,在拟合过程中,可以选择对物体平面的大小进行检查,只有在满足阈值的情况下才确定拟合成功。
S606,在拟合图形中,将在先帧图像的物体平面内未出现的边缘点删除。
其中,在先帧图像是在目标帧图像前对目标环境采集所得的帧图像,例如是目标帧图像的前一帧图像,或是在目标帧图像之前采集的前n帧图像,或是在目标帧图像之前采集的第n帧图像。
在一个实施例中,S606具体可以包括:若拟合图形中的边缘点未在在先帧图像中的物体平面内出现,或拟合图形中的边缘点未在在先帧图像中的物体平面对应的平面轮廓内出现,则将该未出现的边缘点从拟合图形中删除。
当摄像头距离物体较远、且摄像头光心与物体的入射角较大,同时目标环境中存在多个物体交错放置时,拟合出来的拟合图形可能会存在误差,需要在拟合图形中将在先帧图像中的物体平面内未出现的边缘点删除。
例如,如图4所示,图中的两个物体为立方体物体,其中一个物体上部分表面的拟合图形(如图中的灰色区域)沿着另一个物体的侧面延伸出去了,导致这种现象的原因是此种情况下深度信息存在较大的误差,平面拟合出错。因此,对于由多帧图像中物体平面的边缘点拟合而成的拟合图形,将该拟合图形中未于在先帧图像中的物体平面内出现的边缘点进行删除(即图中虚线椭圆框内的各边缘点删除),其中,未于在先帧图像中的物体平面内出现的边缘点为局外点,从而可以避免拟合过程中出现拟合误差,从而提高了拟合图形的正确性。
S608,将拟合图形中的剩余边缘点构成的轮廓识别为平面轮廓。
其中,平面轮廓可以指目标物体的物体平面的轮廓,该轮廓可以是矩形轮廓,或其它形状的轮廓。
在一个实施例中,终端可以生成与拟合图形中的剩余边缘点外接的平面图形,该平面图形即为物体的平面轮廓。
例如,如图5所示,左边图中的虚线部分为原始的拟合图形,右边图中的虚线部分为将未于在先帧图像中的物体平面内出现的边缘点从拟合图形中删除之后的新拟合图形,从而根据新拟合图形构建物体的平面轮廓,因此可以提高物体平面轮廓的识别准确性。
当获得物体的平面轮廓时,可以基于该平面轮廓确定物体的尺寸和空间位置,进而终端可以进行相应的操作。其中,不同的应用场景,终端可以执行不同的操作,以以下应用场景对终端执行的操作进行阐述:
场景1,机器人移动的应用场景。
在一个实施例中,当终端为机器人,机器人在通过目标帧图像构建的各平面轮廓中确定机器人移动路径,或者在平面轮廓中选择机器人落脚点;按照机器人移动路径或机器人落脚点进行移动。
对于机器人而言,在移动过程中,需要在前方的道路(可以包括图3的阶梯)上规划移动路径。此外,对于足式机器人,在移动过程中,需要对道路上的落脚点进行选择,以避免踏空或碰撞到其它物体。
场景2,机器人夹取目标物体的应用场景。
在一个实施例中,上述的物体平面为目标物体相应平面的区域,当终端为机器臂时,机器臂根据平面轮廓确定目标物体的尺寸、朝向和空间位置;基于目标物体的尺寸、朝向和空间位置夹取目标物体;将夹取的目标物体放置于指定位置。
其中,尺寸可以指目标物体的长、宽和高中的至少两种。朝向可以指目标物体所朝方的方位,也可以指目标物体所放置的方向,如快递箱正向机器臂放置。
在一个实施例中,上述将夹取的目标物体放置于指定位置的步骤,具体可以包括:终端在移动机器臂以放置目标物体的过程中,采集指定位置的环境图像;对环境图像中各目标物体平面和在先帧环境图像中对应目标物体平面的边缘点进行拟合,得到目标拟合图形;在目标拟合图形中,将在先帧环境图像的目标物体平面中未出现的边缘点删除;在先帧环境图像是在环境图像之前采集的帧图像;通过目标拟合图形中的剩余边缘点构成目标平面轮廓;根据目标平面轮廓确定目标物体的放置姿态;按照放置姿态,将目标物体放置于目标物体平面。
其中,放置姿态为目标物体放置的位置和朝向。
例如,若指定位置为另一物体的上方,即把目标物体放置于另一物体的上方,则可以通过上述方式识别出该另一物体对应的目标平面轮廓,然后根据该目标平面轮廓确定该另一物体的尺寸和空间位置,然后根据该另一物体的尺寸和空间位置将该目标物体放置于该另一物体上,以确保该目标物体在放置过程中避免碰撞,且放置于该目标物体的正上方。
场景3,增强现实的应用场景。
在一个实施例中,当终端为AR设备时,在获得物体的平面轮廓之后,确定该平面轮廓的尺寸和空间位置,生成关于尺寸和空间位置的虚拟标识,在该AR设备显示的关于目标环境的真实画面时,在该真实画面中该物体的附近显示该虚拟标识。
上述实施例中,采集目标环境得到目标帧图像,对目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合,从而可以获得各物体平面的拟合图形,若该拟合图形中的边缘点未出现在之前帧图像的物体平面内,则将该未出现的边缘点作为局外点进行删除,从而得到由剩余边缘点构成的平面轮廓,减少了因采用深度学习而导致的训练耗时,有效地提高了目标物平面轮廓的识别效率。此外,将该未出现的边缘点作为局外点进行删除得到物体的平面轮廓,从而可以多个物体交错放置而影响平面轮廓的识别,提高了平面轮廓识别的准确性。
作为一个示例,以上述方法应用于移动机器人或机械臂为例进行阐述。通过RGB-D相机采集视频,对于RGB-D相机采集的视频,各视频帧包含不同时刻的RGB彩色图或Depth深度图(该深度图即为上述的携带深度信息的目标帧图像)。
在本实施例中,矩形轮廓识别方法主要基于深度信息完成,一个矩形轮廓识别的例子如图3所示,图中的每个台阶的表面为矩形,在深度图中对该台阶进行时域融合所得的矩形平面用虚线表示,最终的矩形轮廓通过黑色的实线表示,矩形轮廓的顶点由叉字形图案表示,具体如图所示3。
其中,时域融合所得的矩形平面指的是:将不同时刻的深度图中该台阶平面的三维边缘点融合在某一时刻的空间坐标系下,然后从融合的三维边缘点中提取目标三维边缘点,根据该目标边缘点拟合出来的矩形平面,即上述实施例中所述的拟合图形。
需要注意的是,目标环境中的矩形平面可能较大,单个帧图像的视野可能不能覆盖整个矩形平面,为了应对这种情况,在本实施例中,一方面会逐帧实时地识别和筛选目标环境中拟合出来的平面是否为目标的矩形平面;另一方面,在识别矩形平面的过程中会将不同帧图像中的属于同一物体的矩形平面的三维边缘点进行融合,并在此基础上优化并提取出更为精确且完整的矩形区域。
当识别出目标环境中的矩形轮廓,便可以确定目标环境中所有矩形平面的空间位置,从而可以进行相应的操作,该操作按不同场景进行阐述:
场景1,对物品的分拣场景
若机械臂需要夹取或移动立方体类型的物体,通过本实施例的方案可以提供该类物体的尺寸、朝向及其在三维空间中的空间位置等视觉信息,机械臂基于这些视觉信息可以准确夹取该目标物体。同时,机械臂还可以将该类物体放置到目标环境的指定位置,控制放置后目标物体的姿态,避免该目标物体与目标环境中其它物体的碰撞。
场景2,针对移动机器人的移动场景
该移动机器人可以是足式机器人,若在足式机器人移动过程中存在台阶等高难度场景,该方法可以实时的为足式机器人提供精确的落脚区域,避免足式机器人踏空,或避免足式机器人的足部在移动过程中与目标环境中的物体产生碰撞。
此外,落脚区域可以方便足式机器人选择更为合理的落脚点,或者规划更为合理的移动路径。
通过本实施例的方案,可以具备以下技术效果:
实时性,可以在计算平台上实时逐帧的识别和筛选拟合出来的矩形平面是否为目标物体真实的矩形平面,同时矩形轮廓的识别也是实时的。
准确性,矩形轮廓的识别是准确的。
场景普适性,本实施例中的矩形轮廓的识别是普适的,可以适用大部分场景。
算法鲁棒性,本实施例中的矩形轮廓的识别算法是鲁棒的,失败的情况很少。
作为另一个示例,通过实验发现矩形轮廓的识别过程需要面临一些核心问题,具体如下:1)矩形平面并不是一个中心对称图形,需要获取矩形平面的正方向。2)在运算资源有限的情况下,三维(3D)数据的处理往往需要一系列复杂的操作,对实时性是一个挑战。3)对整个场景完成平面拟合之后,会有各类拟合的平面被提取出来,需要筛选出目标矩形平面。4)如果场景中的矩形物体平面较大,单次的矩形轮廓识别只能获得物体的一部分矩形平面,需要尽可能地获得更加完整的矩形区域。5)对复杂的场景而言,当RGB-D相机距离目标平面较远且相机光心与平面的入射角较大的时候,深度信息的误差随之增大,识别出来的矩形轮廓往往会出错,需要进一步优化。
为了平衡有限的计算资源以及矩形平面轮廓识别精度的问题,本实施例提出了一个合理的解决方案,流程图如图8所示:
S1,基于图形码获取正方向。
其中,该图形码可以是Apriltag,或者是其它可用于指示方向的图形。以Apriltag为例,通过Apriltag获取到正方向之后,在目标物体的矩形平面构建空间坐标系,如图7所示,平面的法线作为该坐标系的z轴,平面的正方向作为该坐标系的x轴,平面的正方向即为与矩形任一对边平行的方向。
本实施例通过Apriltag提供正方向,即在目标物体前放置一个Apriltag,使其朝向与目标物体的矩形平面的某一对边平行,可以有利于提高场景的普适性和鲁棒性。
S2,对单帧的深度图进行平面拟合。
通过平面拟合算法提取出深度图中的多个平面作为输入,具体的信息为世界坐标系下每个平面对应的所有三维点坐标以及该平面的平面方程。
S3,提取该物体平面的三维边缘点。
考虑到S2中拟合出来的单个矩形平面包含较多的三维点,为节约计算资源,当前步骤会提取出每个矩形平面对应的三维边缘点,后续操作主要在这些三维边缘点上进行,否则整个算法是很难达到实时的。
S4,将三维边缘点映射为二维边缘点。
由于三维数据的处理相对二维数据往往更为复杂,针对涉及复杂运算的模块,本实施例中将三维边缘点映射至二维边缘点并完成相关运算。具体的操作是:首先将物体平面的三维边缘点映射到S2中拟合出来的物体平面上,之后在该物体平面内构建二维坐标系,获取三维边缘点对应的二维坐标,即得到二维边缘点。
S5,获取二维边缘点对应的凸多边形,计算该凸多边形的面积s1。
使用物体平面的二维边缘点对应的凸多边形表示目标物体的矩形区域,然后计算该凸多边形在二维坐标系下对应的面积s1。由于在S3和S4中获取的边缘点是离散的,同时深度信息的误差可能会导致二维边缘点呈现不规则的形状(如锯齿状),采用凸多边形表示目标物体的矩形区域的方式可以避免上述不可控因素的干扰。
S6,拟合凸多边形最小的外接矩形,并计算该外接矩形的面积s2。
如图9所示,左图表示常规方法的拟合结果,如果物体平面的正方向未知,拟合出来的外接矩形往往与真实的矩形轮廓差异较大。
右图为满足预期的最小外接矩形拟合,拟合的方式包括:一种方案是借助S1获取的矩形平面正方向,首先将凸多边形的朝向旋转至正方向,之后进行外接矩形拟合即可;另一种方案是通过相应算法直接完成对凸多边形的最小外接矩形拟合。上述拟合方案在一定程度上可以处理深度信息存在误差以及场景中平面之间存在遮挡的情况。
S7,判断s1与s2的比值是否大于预设阈值。
其中,该预设阈值可以根据实际情况进行设定,这里以预设阈值等于0.9为例进行阐述。若S2拟合出的物体平面与矩形差别较大,那么S5和S6对应的某个平面的凸多边形和最小的外接矩形之间的重合面积是有限的,基于这样的特点,通过选取预设阈值为0.9进行非矩形平面的筛选。
考虑物体平面被遮挡的情况,一方面,在时域过程中,物体平面距离相机从远到近的过程中遮挡情况通常会逐步改善;另一方面时域过程中矩形平面轮廓的融合也可以在一定程度上缓解遮挡的影响;同时,针对复杂的遮挡情况,可以对应调整上述的预设阈值。
S8,对不同帧的深度图对应的三维边缘点进行融合。
首先,对于不同帧的深度图,将各帧的物体平面的三维边缘点进行时域融合,融合的对象为同一个矩形平面在时域过程中对应的多组三维边缘点。基于SLAM的结果,将不同时刻的三维边缘点转换至某一时刻坐标系下,之后重新提取这些离散点的三维边缘点,提取三维边缘点的目的是减少数据量。此步骤在时域过程中不断融合目标物体的矩形平面,得到的结果接近所需的矩形区域。
其次是对矩形平面方程对应参数的优化,具体见如下公式,其中,d表示3D下矩形平面中心点或均值点距离相机光心的距离,wi为第i帧对应的待优化参数的权重,ci表示第i帧检测到的矩形平面方程的待优化参数(如法向)。
S9,构建矩形平面的坐标系并提取矩形轮廓。
基于S8的结果获取规则的矩形轮廓,即矩形轮廓的四个顶点。S1和S2分别提供了正方向和法向,基于此构建矩形平面的空间坐标系。如图7所示,其中,法向为z轴,正方向为x轴,y为x轴和z轴的叉乘结果,同时x-y平面与矩形平面重合。
接下来,将矩形平面对应的三维点投影到x-y平面,得到xmin,xmax,ymin,ymax,那么该矩形轮廓的4个顶点坐标即为(xmin,ymin),(xmin,ymax),(xmax,ymin)以及(xmax,ymax),每个顶点对应的z值可以通过平面方程获取。
S10,判断矩形平面的区域尺寸是否达到预设尺寸阈值。
考虑到现实场景的复杂程度,若目标物体的矩形平面长和宽在一定的范围内,可以选择对矩形平面的大小进行检查,只有在满足阈值的情况下才认为识别成功,从而得到矩形平面对应的矩形轮廓。
S11,矩形轮廓的优化。
针对复杂但常见的场景,比如相机距离某个矩形平面较远,且相机光心与矩形平面的入射角较大,同时场景中存在多个物体交错放置的情况。如图4所示,以两个立方体为例,此时灰色区域为平面拟合区域,可以看出,前方立方体物体上表面拟合出来的物体平面沿着后方立方体物体的侧面延伸出去了,导致平面拟合出错。本实施例通过遍历S8时域融合得到的离散点,筛选掉那些在当前帧相机视野内但不在S3对应的单帧图像的矩形平面轮廓范围内的离散点,这些离散点就是outliers。如图5所示,左图表示步骤8时域融合得到的离散点中存在outliers的矩形平面轮廓识别结果,右图为矩形平面轮廓优化之后的结果。
S12,获取矩形轮廓顶点的三维坐标。
其中,矩形轮廓顶点可以参考图3中的A-D四个顶点。
通过上述实施例的方案,可以具有以下技术效果:
可以兼顾实时性和精确度,通过3D和2D的映射过程极大地降低了运算复杂度,同时平面轮廓的提取极大地降低了运算的数据量,使得算法可以实时地识别视频中的矩形平面轮廓;
另一方面,本专利通过引入最小外接矩形,在过滤非矩形平面的同时更为鲁棒的处理带有误差的深度信息以及平面存在遮挡的场景;
针对大面积的矩形区域,通过对时域信息进行融合和优化使得最终的矩形轮廓更为完整和精确;
针对复杂场景,通过矩形轮廓的优化,极大的缓解了平面的错误拟合对矩形轮廓识别的影响,而且整个算法可以实时且鲁棒的稳定运行。
应该理解的是,虽然图2、6、8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、6、8中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种平面轮廓识别装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:第一显示模块1002、叠加模块1004、删除模块1006和第二显示模块1008,其中:
第一显示模块1002,用于显示对目标环境进行采集所得的目标帧图像;
叠加模块1004,用于将对目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合而成的拟合图形,叠加于物体平面上展示;在先帧图像是在目标帧图像前对目标环境采集所得的帧图像;
删除模块1006,用于在拟合图形中,将在先帧图像的物体平面内未出现的边缘点删除;
第二显示模块1008,用于在目标帧图像的物体平面上,显示通过拟合图形中的剩余边缘点构成的平面轮廓。
在一个实施例中,该目标帧图像包含深度信息;如图11所示,该装置还包括:拟合模块1010;其中:
拟合模块1010,用于根据深度信息确定目标帧图像中各点对应的空间位置;基于空间位置和平面方程确定各点所在的平面,得到物体平面;对物体平面的边缘点和在先帧图像相应物体平面的边缘点进行拟合,得到拟合图形。
在一个实施例中,拟合模块1010,还用于当物体平面为物体的部分区域平面,或被目标帧图像中的其它物体遮挡时,则在各在先帧图像中确定包含物体平面的在先目标帧图像;从在先目标帧图像中的物体平面提取边缘点;从在先目标帧图像中物体平面提取的边缘点和目标帧图像中物体平面的边缘点中,选取目标边缘点;对选取的目标边缘点进行拟合,得到拟合图形。
在一个实施例中,该边缘点为三维边缘点;如图11所示,该装置还包括:映射模块1012和确定模块1014;其中:
映射模块1012,用于将三维边缘点映射为二维边缘点;
确定模块1014,用于确定二维边缘点对应的凸多边形,并计算凸多边形的面积;确定二维边缘点的外接图形,并计算外接图形的面积;当凸多边形的面积与外接图形的面积的比值达到预设比值时,则确定物体平面为物体的部分区域平面,或被目标帧图像中的其它物体遮挡。
上述实施例中,采集目标环境得到目标帧图像,通过对目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合,从而可以获得各物体平面的拟合图形,若该拟合图形中的边缘点未出现在之前帧图像的物体平面内,则将该未出现的边缘点作为局外点进行删除,从而得到由剩余边缘点构成的平面轮廓,从而无需利用深度学习便可识别出目标帧图像中各物体的平面轮廓,减少了训练耗时,有效地提高了目标物平面轮廓的识别效率。此外,将该未出现的边缘点作为局外点进行删除得到物体的平面轮廓,从而可以多个物体交错放置而影响平面轮廓的识别,提高了平面轮廓识别的准确性。
在一个实施例中,如图12所示,提供了一种平面轮廓识别装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:获取模块1202、拟合模块1204、删除模块1206和构建模块1208,其中:
获取模块1202,用于获取对目标环境进行采集所得的目标帧图像;
拟合模块1204,用于对目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合,得到拟合图形;在先帧图像是在目标帧图像前对目标环境采集所得的帧图像;
删除模块1206,用于在拟合图形中,将在先帧图像的物体平面内未出现的边缘点删除;
构建模块1208,用于将拟合图形中的剩余边缘点构成的轮廓识别为平面轮廓。
在一个实施例中,如图13所示,该装置还包括:第一规划模块1210;其中:
第一规划模块1210,用于在通过目标帧图像构建的各平面轮廓中确定机器人移动路径,或者在平面轮廓中选择机器人落脚点;按照机器人移动路径或机器人落脚点进行移动。
在一个实施例中,物体平面为目标物体相应平面的区域;如图13所示,该装置还包括:第二规划模块1212;其中:
第二规划模块1212,用于根据平面轮廓确定目标物体的尺寸、朝向和空间位置;基于目标物体的尺寸、朝向和空间位置夹取目标物体;将夹取的目标物体放置于指定位置。
在一个实施例中,如图13所示,该装置还包括:放置模块1214;其中:
获取模块1202,还用于在移动机器臂以放置目标物体的过程中,采集指定位置的环境图像;
拟合模块1204,还用于对环境图像中各目标物体平面和在先帧环境图像中对应目标物体平面的边缘点进行拟合,得到目标拟合图形;
删除模块1206,还用于在目标拟合图形中,将在先帧环境图像的目标物体平面中未出现的边缘点删除;在先帧环境图像是在环境图像之前采集的帧图像;
构建模块1208,还用于通过目标拟合图形中的剩余边缘点构成目标平面轮廓;
放置模块1214,用于根据目标平面轮廓确定目标物体的放置姿态;按照放置姿态,将目标物体放置于目标物体平面。
在一个实施例中,目标帧图像包含深度信息;拟合模块1204,还用于根据深度信息确定目标帧图像中各点对应的空间位置;基于空间位置和平面方程确定各点所在的平面,得到物体平面;对物体平面的边缘点和在先帧图像相应物体平面的边缘点进行拟合,得到拟合图形。
在一个实施例中,目标帧图像中包含携带了方向信息的图形码。该拟合模块1204,还用于根据图形码携带的方向信息确定坐标系基准方向;基于坐标系基准方向构建空间坐标系;在空间坐标系中,基于深度信息确定目标帧图像中各点对应的空间位置。
在一个实施例中,该拟合模块1204,还用于当物体平面为物体的部分区域平面,或被目标帧图像中的其它物体遮挡时,则在各在先帧图像中确定包含物体平面的在先目标帧图像;从在先目标帧图像中的物体平面提取边缘点;从在先目标帧图像中物体平面提取的边缘点和目标帧图像中物体平面的边缘点中,选取目标边缘点;对选取的目标边缘点进行拟合,得到拟合图形。
在一个实施例中,边缘点为三维边缘点;如图13所示,该装置还包括:映射模块1216和确定模块1218;其中:
映射模块1216,用于将三维边缘点映射为二维边缘点;
确定模块1218,用于确定二维边缘点对应的凸多边形,并计算凸多边形的面积;确定二维边缘点的外接图形,并计算外接图形的面积;当凸多边形的面积与外接图形的面积的比值达到预设比值时,则确定物体平面为物体的部分区域平面,或被目标帧图像中的其它物体遮挡。
在一个实施例中,该拟合模块1204,还用于确定目标帧图像对应的第一权重和在先目标帧图像对应的第二权重;第一权重与第二权重不相等;在目标帧图像内物体平面的边缘点中,按照第一权重选取第一目标边缘点;以及,在从在先目标帧图像内物体平面提取的边缘点中,按照第二权重选取第二目标边缘点;将第一目标边缘点和第二目标边缘点作为目标边缘点。
在一个实施例中,确定模块1218,还用于确定拟合图形的尺寸;
获取模块1202,还用于当尺寸小于预设尺寸时,重新获取对目标环境进行采集所得的目标帧图像;
删除模块1206,还用于当尺寸大于或等于预设尺寸时,执行在拟合图形中,将在先帧图像中物体的物体平面内未出现的边缘点删除的步骤。
上述实施例中,采集目标环境得到目标帧图像,对目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合,从而可以获得各物体平面的拟合图形,若该拟合图形中的边缘点未出现在之前帧图像的物体平面内,则将该未出现的边缘点作为局外点进行删除,从而得到由剩余边缘点构成的平面轮廓,减少了因采用深度学习而导致的训练耗时,有效地提高了目标物平面轮廓的识别效率。此外,将该未出现的边缘点作为局外点进行删除得到物体的平面轮廓,从而可以多个物体交错放置而影响平面轮廓的识别,提高了平面轮廓识别的准确性。
关于平面轮廓识别装置的具体限定可以参见上文中对于平面轮廓识别方法的限定,在此不再赘述。上述平面轮廓识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图14所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储图像数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种平面轮廓识别方法。
在一个实施例中,提供了一种计算机设备,该计算机设备也可以是终端,其内部结构图可以如图15所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种平面轮廓识别方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图14、15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (28)
1.一种平面轮廓识别方法,其特征在于,所述方法包括:
显示对目标环境进行采集所得的目标帧图像;所述目标帧图像包含深度信息;
将对所述目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合而成的拟合图形,叠加于所述物体平面上展示;所述在先帧图像是在所述目标帧图像前对所述目标环境采集所得的帧图像;
在所述拟合图形中,将所述在先帧图像的物体平面内未出现的边缘点删除;
在所述目标帧图像的物体平面上,显示通过所述拟合图形中的剩余边缘点构成的平面轮廓;
其中,所述拟合图形是通过边缘点拟合步骤对所述目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合而成的,所述边缘点拟合步骤包括:根据所述深度信息确定所述目标帧图像中各点对应的空间位置;基于所述空间位置和平面方程确定各点所在的平面,得到所述物体平面;对所述物体平面的边缘点和所述在先帧图像相应物体平面的边缘点进行拟合,得到所述拟合图形。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述拟合图形确定所述物体平面的边缘点的拟合程度;
当所述拟合程度达到预设拟合条件时,将所述拟合图形作为所述物体平面的平面轮廓;
所述在所述拟合图形中,将所述在先帧图像的物体平面内未出现的边缘点删除包括:
当所述拟合程度未达到所述预设拟合条件时,在所述拟合图形中,将所述在先帧图像的物体平面内未出现的边缘点删除。
3.根据权利要求1所述的方法,其特征在于,所述对所述物体平面的边缘点和所述在先帧图像相应物体平面的边缘点进行拟合,得到拟合图形包括:
当所述物体平面为物体的部分区域平面,或被所述目标帧图像中的其它物体遮挡时,则在各所述在先帧图像中确定包含所述物体平面的在先目标帧图像;
从所述在先目标帧图像中的所述物体平面提取边缘点;
从所述在先目标帧图像中物体平面提取的边缘点和所述目标帧图像中物体平面的边缘点中,选取目标边缘点;
对选取的目标边缘点进行拟合,得到拟合图形。
4.根据权利要求3所述的方法,其特征在于,所述边缘点为三维边缘点;所述方法还包括:
将所述三维边缘点映射为二维边缘点;
确定所述二维边缘点对应的凸多边形,并计算所述凸多边形的面积;
确定所述二维边缘点的外接图形,并计算所述外接图形的面积;
当所述凸多边形的面积与所述外接图形的面积的比值达到预设比值时,则确定所述物体平面为物体的部分区域平面,或被所述目标帧图像中的其它物体遮挡。
5.一种平面轮廓识别方法,其特征在于,所述方法包括:
获取对目标环境进行采集所得的目标帧图像;所述目标帧图像包含深度信息;
根据所述深度信息确定所述目标帧图像中各点对应的空间位置;基于所述空间位置和平面方程确定各点所在的平面,得到物体平面;对所述物体平面的边缘点和所述在先帧图像相应物体平面的边缘点进行拟合,得到拟合图形;所述在先帧图像是在所述目标帧图像前对所述目标环境采集所得的帧图像;
在所述拟合图形中,将所述在先帧图像的物体平面内未出现的边缘点删除;
将所述拟合图形中的剩余边缘点构成的轮廓识别为平面轮廓。
6.根据权利要求5所述的方法,其特征在于,所述方法应用于机器人;所述方法还包括:
在通过所述目标帧图像构建的各所述平面轮廓中确定机器人移动路径,或者在所述平面轮廓中选择机器人落脚点;
按照所述机器人移动路径或所述机器人落脚点进行移动。
7.根据权利要求5所述的方法,其特征在于,所述方法应用于机器臂;所述物体平面为所述机器臂夹取的目标物体相应平面的区域;所述方法还包括:
根据所述平面轮廓确定所述目标物体的尺寸、朝向和空间位置;
基于所述目标物体的尺寸、朝向和空间位置夹取所述目标物体;
将夹取的所述目标物体放置于指定位置。
8.根据权利要求7所述的方法,其特征在于,所述将夹取的所述目标物体放置于指定位置包括:
在移动机器臂以放置所述目标物体的过程中,采集指定位置的环境图像;
对所述环境图像中各目标物体平面和在先帧环境图像中对应目标物体平面的边缘点进行拟合,得到目标拟合图形;
在所述目标拟合图形中,将所述在先帧环境图像的目标物体平面中未出现的边缘点删除;所述在先帧环境图像是在所述环境图像之前采集的帧图像;
通过所述目标拟合图形中的剩余边缘点构成目标平面轮廓;
根据所述目标平面轮廓确定所述目标物体的放置姿态;
按照所述放置姿态,将所述目标物体放置于所述目标物体平面。
9.根据权利要求5所述的方法,其特征在于,所述根据所述深度信息确定所述目标帧图像中各点对应的空间位置包括:
根据所述深度信息,计算所述目标帧图像中物体的各点与摄像头之间的距离以及所述物体各点之间的距离;
根据所述目标帧图像中物体的各点与摄像头之间的距离以及所述物体各点之间的距离,确定所述目标帧图像中物体的各点在空间坐标系中的空间位置。
10.根据权利要求5所述的方法,其特征在于,所述目标帧图像中包含携带了方向信息的图形码;所述根据所述深度信息确定所述目标帧图像中各点对应的空间位置包括:
根据所述图形码携带的方向信息确定坐标系基准方向;
基于所述坐标系基准方向构建空间坐标系;
在所述空间坐标系中,基于所述深度信息确定所述目标帧图像中各点对应的空间位置。
11.根据权利要求5所述的方法,其特征在于,所述对所述物体平面的边缘点和所述在先帧图像相应物体平面的边缘点进行拟合,得到拟合图形包括:
当所述物体平面为物体的部分区域平面,或被所述目标帧图像中的其它物体遮挡时,则在各所述在先帧图像中确定包含所述物体平面的在先目标帧图像;
从所述在先目标帧图像中的所述物体平面提取边缘点;
从所述在先目标帧图像中物体平面提取的边缘点和所述目标帧图像中物体平面的边缘点中,选取目标边缘点;
对选取的目标边缘点进行拟合,得到拟合图形。
12.根据权利要求11所述的方法,其特征在于,所述边缘点为三维边缘点;所述方法还包括:
将所述三维边缘点映射为二维边缘点;
确定所述二维边缘点对应的凸多边形,并计算所述凸多边形的面积;
确定所述二维边缘点的外接图形,并计算所述外接图形的面积;
当所述凸多边形的面积与所述外接图形的面积的比值达到预设比值时,则确定所述物体平面为物体的部分区域平面,或被所述目标帧图像中的其它物体遮挡。
13.根据权利要求11所述的方法,其特征在于,所述从所述在先目标帧图像中物体平面提取的边缘点和所述目标帧图像中物体平面的边缘点中,选取目标边缘点包括:
确定所述目标帧图像对应的第一权重和所述在先目标帧图像对应的第二权重;所述第一权重与所述第二权重不相等;
在所述目标帧图像内物体平面的边缘点中,按照所述第一权重选取第一目标边缘点;以及,
在从所述在先目标帧图像内物体平面提取的边缘点中,按照所述第二权重选取第二目标边缘点;
将所述第一目标边缘点和所述第二目标边缘点作为目标边缘点。
14.根据权利要求5至13中任一项所述的方法,其特征在于,所述方法还包括:
确定所述拟合图形的尺寸;
当所述尺寸小于预设尺寸时,重新获取对目标环境进行采集所得的目标帧图像;
当所述尺寸大于或等于预设尺寸时,执行所述在所述拟合图形中,将在先帧图像中所述物体的物体平面内未出现的边缘点删除的步骤。
15.一种平面轮廓检测装置,其特征在于,所述装置包括:
第一显示模块,用于显示对目标环境进行采集所得的目标帧图像;所述目标帧图像包含深度信息;
叠加模块,用于将对所述目标帧图像中各物体平面的边缘点和在先帧图像中对应物体平面的边缘点进行拟合而成的拟合图形,叠加于所述物体平面上展示;所述在先帧图像是在所述目标帧图像前对所述目标环境采集所得的帧图像;
删除模块,用于在所述拟合图形中,将所述在先帧图像的物体平面内未出现的边缘点删除;
第二显示模块,用于在所述目标帧图像的物体平面上,显示通过所述拟合图形中的剩余边缘点构成的平面轮廓;
拟合模块,用于根据所述深度信息确定所述目标帧图像中各点对应的空间位置;基于所述空间位置和平面方程确定各点所在的平面,得到所述物体平面;对所述物体平面的边缘点和所述在先帧图像相应物体平面的边缘点进行拟合,得到所述拟合图形。
16.根据权利要求15所述的装置,其特征在于,所述拟合模块,用于当所述物体平面为物体的部分区域平面,或被所述目标帧图像中的其它物体遮挡时,则在各所述在先帧图像中确定包含所述物体平面的在先目标帧图像;从所述在先目标帧图像中的所述物体平面提取边缘点;从所述在先目标帧图像中物体平面提取的边缘点和所述目标帧图像中物体平面的边缘点中,选取目标边缘点;对选取的目标边缘点进行拟合,得到拟合图形。
17.根据权利要求16所述的装置,其特征在于,所述边缘点为三维边缘点;所述装置还包括:
映射模块,用于将所述三维边缘点映射为二维边缘点;
确定模块,用于确定所述二维边缘点对应的凸多边形,并计算所述凸多边形的面积;确定所述二维边缘点的外接图形,并计算所述外接图形的面积;当所述凸多边形的面积与所述外接图形的面积的比值达到预设比值时,则确定所述物体平面为物体的部分区域平面,或被所述目标帧图像中的其它物体遮挡。
18.一种平面轮廓检测装置,其特征在于,所述装置包括:
获取模块,用于获取对目标环境进行采集所得的目标帧图像;所述目标帧图像包含深度信息;
拟合模块,用于根据所述深度信息确定所述目标帧图像中各点对应的空间位置;基于所述空间位置和平面方程确定各点所在的平面,得到物体平面;对所述物体平面的边缘点和所述在先帧图像相应物体平面的边缘点进行拟合,得到拟合图形;所述在先帧图像是在所述目标帧图像前对所述目标环境采集所得的帧图像;
删除模块,用于在所述拟合图形中,将所述在先帧图像的物体平面内未出现的边缘点删除;
构建模块,用于将所述拟合图形中的剩余边缘点构成的轮廓识别为平面轮廓。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括:
第一规划模块,用于在通过所述目标帧图像构建的各所述平面轮廓中确定机器人移动路径,或者在所述平面轮廓中选择机器人落脚点;按照所述机器人移动路径或所述机器人落脚点进行移动。
20.根据权利要求19所述的装置,其特征在于,所述物体平面为机器臂夹取的目标物体相应平面的区域;所述装置还包括:
第二规划模块,用于根据所述平面轮廓确定所述目标物体的尺寸、朝向和空间位置;基于所述目标物体的尺寸、朝向和空间位置夹取所述目标物体;将夹取的所述目标物体放置于指定位置。
21.根据权利要求20所述的装置,其特征在于,所述获取模块,还用于在移动机器臂以放置所述目标物体的过程中,采集指定位置的环境图像;
所述拟合模块,还用于对所述环境图像中各目标物体平面和在先帧环境图像中对应目标物体平面的边缘点进行拟合,得到目标拟合图形;
所述删除模块,还用于在所述目标拟合图形中,将所述在先帧环境图像的目标物体平面中未出现的边缘点删除;所述在先帧环境图像是在所述环境图像之前采集的帧图像;
所述构建模块,还用于通过所述目标拟合图形中的剩余边缘点构成目标平面轮廓;
放置模块,用于根据所述目标平面轮廓确定所述目标物体的放置姿态;按照所述放置姿态,将所述目标物体放置于所述目标物体平面。
22.根据权利要求18所述的装置,其特征在于,所述拟合模块,还用于根据所述图形码携带的方向信息确定坐标系基准方向;基于所述坐标系基准方向构建空间坐标系;在所述空间坐标系中,基于所述深度信息确定所述目标帧图像中各点对应的空间位置。
23.根据权利要求18所述的装置,其特征在于,所述拟合模块,还用于当所述物体平面为物体的部分区域平面,或被所述目标帧图像中的其它物体遮挡时,则在各所述在先帧图像中确定包含所述物体平面的在先目标帧图像;从所述在先目标帧图像中的所述物体平面提取边缘点;从所述在先目标帧图像中物体平面提取的边缘点和所述目标帧图像中物体平面的边缘点中,选取目标边缘点;对选取的目标边缘点进行拟合,得到拟合图形。
24.根据权利要求23所述的装置,其特征在于,所述边缘点为三维边缘点;所述装置还包括:
映射模块,用于将所述三维边缘点映射为二维边缘点;
确定模块,用于确定所述二维边缘点对应的凸多边形,并计算所述凸多边形的面积;确定所述二维边缘点的外接图形,并计算所述外接图形的面积;当所述凸多边形的面积与所述外接图形的面积的比值达到预设比值时,则确定所述物体平面为物体的部分区域平面,或被所述目标帧图像中的其它物体遮挡。
25.根据权利要求23所述的装置,其特征在于,所述拟合模块,还用于确定所述目标帧图像对应的第一权重和所述在先目标帧图像对应的第二权重;所述第一权重与所述第二权重不相等;在所述目标帧图像内物体平面的边缘点中,按照所述第一权重选取第一目标边缘点;以及,在从所述在先目标帧图像内物体平面提取的边缘点中,按照所述第二权重选取第二目标边缘点;将所述第一目标边缘点和所述第二目标边缘点作为目标边缘点。
26.根据权利要求18至25中任一项所述的装置,其特征在于,所述装置还包括:
确定模块,用于确定所述拟合图形的尺寸;
所述获取模块,还用于当所述尺寸小于预设尺寸时,重新获取对目标环境进行采集所得的目标帧图像;
所述删除模块,还用于当所述尺寸大于或等于预设尺寸时,执行在所述拟合图形中,将在先帧图像中所述物体的物体平面内未出现的边缘点删除的步骤。
27.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至14中任一项所述的方法的步骤。
28.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至14中任一项所述的方法的步骤。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010901647.7A CN112102342B (zh) | 2020-09-01 | 2020-09-01 | 平面轮廓识别方法、装置、计算机设备和存储介质 |
PCT/CN2021/114064 WO2022048468A1 (zh) | 2020-09-01 | 2021-08-23 | 平面轮廓识别方法、装置、计算机设备和存储介质 |
EP21863535.7A EP4131162A4 (en) | 2020-09-01 | 2021-08-23 | METHOD AND DEVICE FOR DETECTING PLANAR CONTOURS, COMPUTER DEVICE AND STORAGE MEDIUM |
US17/956,364 US20230015214A1 (en) | 2020-09-01 | 2022-09-29 | Planar contour recognition method and apparatus, computer device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010901647.7A CN112102342B (zh) | 2020-09-01 | 2020-09-01 | 平面轮廓识别方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112102342A CN112102342A (zh) | 2020-12-18 |
CN112102342B true CN112102342B (zh) | 2023-12-01 |
Family
ID=73756970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010901647.7A Active CN112102342B (zh) | 2020-09-01 | 2020-09-01 | 平面轮廓识别方法、装置、计算机设备和存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230015214A1 (zh) |
EP (1) | EP4131162A4 (zh) |
CN (1) | CN112102342B (zh) |
WO (1) | WO2022048468A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112102342B (zh) * | 2020-09-01 | 2023-12-01 | 腾讯科技(深圳)有限公司 | 平面轮廓识别方法、装置、计算机设备和存储介质 |
CN115719492B (zh) * | 2022-11-29 | 2023-08-11 | 中国测绘科学研究院 | 一种面状要素宽窄特征识别方法、装置、设备及可读存储介质 |
CN117095019B (zh) * | 2023-10-18 | 2024-05-10 | 腾讯科技(深圳)有限公司 | 一种图像分割方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006398A (zh) * | 2010-10-29 | 2011-04-06 | 西安电子科技大学 | 基于特征直线的船载摄像系统电子稳像方法 |
KR101798041B1 (ko) * | 2016-06-29 | 2017-11-17 | 성균관대학교산학협력단 | 3차원 물체 인식 및 자세 추정 장치 및 그 방법 |
CN110189376A (zh) * | 2019-05-06 | 2019-08-30 | 达闼科技(北京)有限公司 | 物体定位方法及物体定位装置 |
CN110992356A (zh) * | 2019-12-17 | 2020-04-10 | 深圳辰视智能科技有限公司 | 目标对象检测方法、装置和计算机设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493889B (zh) * | 2008-01-23 | 2011-12-07 | 华为技术有限公司 | 对视频对象进行跟踪的方法及装置 |
US9996974B2 (en) * | 2013-08-30 | 2018-06-12 | Qualcomm Incorporated | Method and apparatus for representing a physical scene |
US9607207B1 (en) * | 2014-03-31 | 2017-03-28 | Amazon Technologies, Inc. | Plane-fitting edge detection |
CN109255801B (zh) * | 2018-08-03 | 2022-02-22 | 百度在线网络技术(北京)有限公司 | 视频中三维物体边缘追踪的方法、装置、设备及存储介质 |
CN109241844B (zh) * | 2018-08-03 | 2020-11-17 | 百度在线网络技术(北京)有限公司 | 三维物体的姿态估计方法、装置、设备及存储介质 |
CN110081862B (zh) * | 2019-05-07 | 2021-12-24 | 达闼科技(北京)有限公司 | 一种对象的定位方法、定位装置、电子设备和可存储介质 |
CN112102342B (zh) * | 2020-09-01 | 2023-12-01 | 腾讯科技(深圳)有限公司 | 平面轮廓识别方法、装置、计算机设备和存储介质 |
-
2020
- 2020-09-01 CN CN202010901647.7A patent/CN112102342B/zh active Active
-
2021
- 2021-08-23 WO PCT/CN2021/114064 patent/WO2022048468A1/zh unknown
- 2021-08-23 EP EP21863535.7A patent/EP4131162A4/en active Pending
-
2022
- 2022-09-29 US US17/956,364 patent/US20230015214A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006398A (zh) * | 2010-10-29 | 2011-04-06 | 西安电子科技大学 | 基于特征直线的船载摄像系统电子稳像方法 |
KR101798041B1 (ko) * | 2016-06-29 | 2017-11-17 | 성균관대학교산학협력단 | 3차원 물체 인식 및 자세 추정 장치 및 그 방법 |
CN110189376A (zh) * | 2019-05-06 | 2019-08-30 | 达闼科技(北京)有限公司 | 物体定位方法及物体定位装置 |
CN110992356A (zh) * | 2019-12-17 | 2020-04-10 | 深圳辰视智能科技有限公司 | 目标对象检测方法、装置和计算机设备 |
Non-Patent Citations (2)
Title |
---|
基于匹配点相似度引导采样的图像多平面检测;曹芳 等;计算机应用研究;第32卷(第3期);全文 * |
基于目标运动模型的跟踪方法;曾鹏鑫;陈鹏;朱琳琳;徐心和;;系统仿真学报(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
US20230015214A1 (en) | 2023-01-19 |
EP4131162A1 (en) | 2023-02-08 |
EP4131162A4 (en) | 2023-11-01 |
WO2022048468A1 (zh) | 2022-03-10 |
CN112102342A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112102342B (zh) | 平面轮廓识别方法、装置、计算机设备和存储介质 | |
CN111243093B (zh) | 三维人脸网格的生成方法、装置、设备及存储介质 | |
JP6031554B2 (ja) | 単眼カメラに基づく障害物検知方法及び装置 | |
CN108898676B (zh) | 一种虚实物体之间碰撞及遮挡检测方法及系统 | |
US9053571B2 (en) | Generating computer models of 3D objects | |
CN112270249A (zh) | 一种融合rgb-d视觉特征的目标位姿估计方法 | |
CN106570507B (zh) | 单目视频场景三维结构的多视角一致的平面检测解析方法 | |
CN110135455A (zh) | 影像匹配方法、装置及计算机可读存储介质 | |
Azad et al. | 6-DoF model-based tracking of arbitrarily shaped 3D objects | |
CN107329962B (zh) | 图像检索数据库生成方法、增强现实的方法及装置 | |
CN109977833A (zh) | 物体追踪方法、物体追踪装置、存储介质及电子设备 | |
CN109410316A (zh) | 物体的三维重建的方法、跟踪方法、相关装置及存储介质 | |
CN112070782B (zh) | 识别场景轮廓的方法、装置、计算机可读介质及电子设备 | |
CN113689503B (zh) | 目标对象的姿态检测方法、装置、设备及存储介质 | |
CN112001859A (zh) | 一种人脸图像的修复方法及系统 | |
US10803604B1 (en) | Layered motion representation and extraction in monocular still camera videos | |
CN111178170B (zh) | 一种手势识别方法和一种电子设备 | |
CN111062263A (zh) | 手部姿态估计的方法、设备、计算机设备和存储介质 | |
CN114663502A (zh) | 物体姿态估计、图像处理方法及相关设备 | |
CN107808388A (zh) | 包含运动目标的图像处理方法、装置及电子设备 | |
US20210304411A1 (en) | Map construction method, apparatus, storage medium and electronic device | |
Zhang et al. | A stereo SLAM system with dense mapping | |
CN111179281A (zh) | 人体图像提取方法及人体动作视频提取方法 | |
CN108694348B (zh) | 一种基于自然特征的跟踪注册方法及装置 | |
CN115131407A (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 |