CN113538574B - 位姿定位方法、装置、设备及计算机可读存储介质 - Google Patents
位姿定位方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113538574B CN113538574B CN202110004047.5A CN202110004047A CN113538574B CN 113538574 B CN113538574 B CN 113538574B CN 202110004047 A CN202110004047 A CN 202110004047A CN 113538574 B CN113538574 B CN 113538574B
- Authority
- CN
- China
- Prior art keywords
- image
- determining
- candidate
- region
- information
- 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 83
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 59
- 230000015654 memory Effects 0.000 claims description 23
- 238000005457 optimization Methods 0.000 claims description 23
- 230000033001 locomotion Effects 0.000 claims description 22
- 239000013598 vector Substances 0.000 claims description 22
- 230000011218 segmentation Effects 0.000 claims description 16
- 238000012163 sequencing technique Methods 0.000 claims description 12
- 230000009466 transformation Effects 0.000 claims description 12
- 230000003044 adaptive effect Effects 0.000 claims description 11
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims description 7
- 230000009471 action Effects 0.000 claims description 6
- 230000004069 differentiation Effects 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 5
- 238000003709 image segmentation Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 abstract description 15
- 238000004422 calculation algorithm Methods 0.000 description 46
- 238000010586 diagram Methods 0.000 description 25
- 238000005516 engineering process Methods 0.000 description 13
- 238000013473 artificial intelligence Methods 0.000 description 12
- 239000003550 marker Substances 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000013519 translation Methods 0.000 description 12
- 230000000007 visual effect Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000005286 illumination Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 238000005192 partition Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 4
- 241000282414 Homo sapiens Species 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 241000272194 Ciconiiformes Species 0.000 description 2
- 240000004282 Grewia occidentalis Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 239000000049 pigment Substances 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000009194 climbing Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 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
- 238000010606 normalization Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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/11—Region-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/136—Segmentation; Edge detection involving thresholding
-
- 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/10004—Still image; Photographic image
-
- 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/30204—Marker
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本申请提供了一种位姿定位方法、装置、设备及计算机可读存储介质;方法包括:获取待识别图像,基于待识别图像的亮度信息对待识别图像进行自适应二值化处理,得到二值化图像;基于自定义基准标记图像的几何特性确定出二值化图像中的候选标记区域;基于候选标记区域和自定义基准标记图像进行模板匹配,确定出目标标记区域;获取目标标记区域的二维位置信息和三维空间信息,基于所述二维位置信息和三维空间信息确定所述目标标记区域相对于图像采集装置的位姿信息。通过本申请,在保证位姿定位的精准度的情况下,能够提升检测速度与鲁棒性。
Description
技术领域
本申请涉及图像处理技术,尤其涉及一种位姿定位方法、装置、设备及计算机可读存储介质。
背景技术
基准标记是为自动检测而设计的人工视觉特征,通常携带一个独特的有效载荷以使它们彼此区分开来。尽管基准标记***和其他二维码如条形码,QR码有一定相似,但基准标记在特定的目标和应用场景下更有优势。比如用户要精准识别一个QR码,则需要用高分辨率的相机较为正对QR码,才可以正确识别标记,得到几百字节的数据内容如网址。而基准标记相比起来只有几百比特的数据载荷,同时可以由低分辨率相机在观测角度较差,光照不佳且仅占据很少的像素时检测出。这些类型的基准标记可以作为机器人技术中的简易动作捕捉***。它们的应用范围有真值测算以及目标检测和连续性识别等。在这些领域,它们可以作为一种简化的已知位姿假设,而得以替代复杂的感知定位***。
在相关技术中,基准标记算法在光照变化场景下,算法回召率低,并且标签形式单一,隐藏性差。
发明内容
本申请实施例提供一种基准标记的位姿定位方法方法、装置及计算机可读存储介质,能够在满足自定义标记融入环境的同时,保持位姿定位的精准度,并且能够提升检测速度与鲁棒性。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种位姿定位方法,包括:
获取待识别图像,基于所述待识别图像的亮度信息对各个图像区块进行自适应二值化处理,得到二值化图像;
基于自定义基准标记图像确定出所述二值化图像中的候选标记区域,所述候选标记区域的形状与所述基准标记图像的形状符合匹配条件;
基于所述候选标记区域和自定义基准标记图像进行模板匹配,确定出目标标记区域;
获取所述目标标记区域的二维位置信息和三维空间信息,基于所述二维位置信息和三维空间信息确定所述目标标记区域相对于图像采集装置的位姿信息。
本申请实施例提供一种位姿定位装置,包括:
二值化处理模块,用于获取待识别图像,基于所述待识别图像的亮度信息对各个图像区块进行自适应二值化处理,得到二值化图像;
第一确定模块,用于基于自定义基准标记图像确定出所述二值化图像中的候选标记区域,所述候选标记区域的形状与所述基准标记图像的形状符合匹配条件;
第二确定模块,用于基于所述候选标记区域和自定义基准标记图像进行模板匹配,确定出目标标记区域;
第三确定模块,用于获取所述目标标记区域的二维位置信息和三维空间信息,基于所述二维位置信息和三维空间信息确定所述目标标记区域相对于图像采集装置的位姿信息。
在一些实施例中,该二值化处理模块,还用于:
对所述待识别图像进行分割,得到多个图像区块;
基于所述多个图像区块的亮度信息确定各个图像区块对应的二值化阈值;
利用各个二值化阈值对对应的图像区块进行二值化处理,得到二值化图像。
在一些实施例中,该二值化处理模块,还用于:
确定第i个图像区块的多个邻接图像区块,其中,i=1,2,…,M,M为图像区块总数;
确定所述第i个图像区块和各个邻接图像区块构成的参考图像区域的亮度最大值和亮度最小值;
基于所述亮度最大值和亮度最小值确定出参考亮度值;
当所述亮度最大值和亮度最小值的差值大于预设的差值阈值时,将所述参考亮度值,确定为第i个图像区块对应的二值化阈值。
在一些实施例中,该二值化处理模块,还用于:
当所述亮度最大值和亮度最小值的差值小于或者等于预设的差值阈值时,确定所述第i个图像区块为同色区块;
在完成对其他图像区块的二值化处理后,基于所述其他图像区块的二值化结果,确定同色区块的边界;
确定所述同色区块的边界上的第一像素值的第一像素点总数和第二像素值的第二像素点总数;
将第一像素点总数和第二像素点总数中较大数值对应的像素值确定为所述同色区块的像素值。
在一些实施例中,该第一确定模块,用于:
对所述二值化图像进行图分割,得到多个分割结果,其中,各个分割结果中包括至少一个连通图形;
将各个连通图形的各个轮廓点进行顺序化,以确定所述各个连通图形的形状信息;
基于所述自定义基准标记图像的几何特性和各个连通图形的形状信息,从多个连通图形中筛选出与所述基准标记图像的形状符合匹配条件的候选标记区域。
在一些实施例中,该第一确定模块,还用于:
确定第j个连通图形的质心,并获取参考坐标轴的位置信息;
确定所述第j个连通图形上各个轮廓点与所述质心的连线与所述参考坐标轴形成的各个夹角;
基于各个夹角对所述各个轮廓点进行排序,确定所述轮廓点组成的线段数量;
基于所述线段数量确定所述第j个连通图形的形状信息。
在一些实施例中,该边界优化模块:
基于所述候选标记区域的各个轮廓点的位置信息确定所述待识别图像中的候选图像区域;
对所述候选图像区域的各个轮廓点进行采样,得到多个初始定位点;
基于所述多个初始定位点拟合出所述候选图像区域的边界线的法向量;
在所述法向量方向上移动各个初始定位点,将沿法向量方向上梯度变化的峰值点,确定为目标定位点;
对所述目标定位点进行拟合,得到优化后的候选标记区域。
在一些实施例中,该第二确定模块,还用于:
将所述优化后的候选标记区域进行仿射变换和所述自定义基准标记图像的形状信息,得到变换后的候选标记区域;
确定所述变换后的候选标记区域和所述自定义基准标记图像之间的相似度值;
当所述相似度值大于预设的相似度阈值时,确定所述优化后的候选标记区域为目标标记区域。
在一些实施例中,该装置还包括:
第一获取模块,用于获取自定义图像,基于预设的模板尺寸信息,对所述自定义图像进行缩放处理,得到缩放后的自定义图像;
第三确定模块,用于确定所述自定义图像中的标记区域和非标记区域,其中,所述标记区域中的标记图像为非中心对称图像;
区域处理模块,用于当所述标记区域与所述非标记区域的色彩相似度大于色彩阈值时,对所述标记区域和/或非标记区域进行处理,得到自定义基准标记图像,其中所述自定义基准标记图像中的标记区域与所述非标记区域的色彩相似度小于色彩阈值。
在一些实施例中,该装置还包括:
第四确定模块,用于基于所述目标标记区域相对于图像采集装置的位姿信息,确定自身的移动参数;
动作执行模块,用于基于所述移动参数执行目标动作。
本申请实施例提供一种位姿定位设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的方法。
本申请实施例具有以下有益效果:
在本申请实施例提供的位姿定位方法中,在获取到待识别图像之后,基于待识别图像的亮度信息对该待识别图像进行自适应二值化处理,得到二值化图像,如此能够在光照变化的场景下提高位姿定位的回召率;然后再基于自定义基准标记图像确定出二值化图像中的候选标记区域,候选标记区域与该自定义基准标记图像的形状满足匹配条件,基于待识别图像对候选标记区域进行拟合和边界优化,得到优化后的候选标记区域,也即也即在本申请实施例中,并不是对所有的潜在标记区域都进行拟合和边界优化,而是仅对与自定义标记图像满足匹配条件的候选标记区域进行边界优化,从而能够在保证算法准确度的前提下,降低算法复杂度;最后基于优化后的候选标记区域和自定义基准标记图像进行模板匹配,确定出目标标记区域;获取目标标记区域的二维位置信息和三维空间信息,基于所述二维位置信息和三维空间信息确定所述目标标记区域相对于图像采集装置的位姿信息,如此,在保证位姿定位的精准度的情况下,能够提升检测速度与鲁棒性。
附图说明
图1A为本申请实施例提供的位姿定位***100的网络架构示意图;
图1B为本申请实施例提供的位姿定位***的另一种网络架构示意图;
图2为本申请实施例提供的位姿定位设备400的结构示意图;
图3为本申请实施例提供的位姿定位方法的一种实现流程示意图;
图4为本申请实施例提供的确定自适应二值化阈值的实现流程示意图;
图5为本申请实施例提供的位姿定位方法的再一种实现流程示意图;
图6为基准标记的示意图;
图7为本申请实施例提供的基于基准标记的位姿定位方法的一种实现流程示意图;
图8A为本申请实施例提供的输入图像示意图;
图8B为本申请实施例提供的二值化图像示意图;
图8C为本申请实施例提供的图像区块示意图;
图8D为本申请实施例提供的对中心区块进行二值化后的示意图;
图9为本申请实施例提供的对二值化图像进行聚类分割的结果示意图;
图10A为本申请实施例提供的对聚类结果进行初步筛选得到的多个四边形示意图;
图10B为本申请实施例提供的多个与标记模板形状匹配的四边形示意图;
图11为本申请实施例提供的顺序化轮廓点的示意图;
图12A为输入图像Img一处局部边缘示意图;
图12B为包括二值化图像聚类分割后得到的粗边界线的局部边缘示意图;
图12C为本申请实施例提供的边界粗定位点和精确定位点的示意图;
图12D为本申请实施例提供的将精确定位点进行直线拟合的示意图;
图13为本申请实施例提供的正确检测并测得位姿的视觉基准标记的示意图;
图14A为相机所观测到的图像;
图14B为基于检测到的基准标记与相机的位姿变换关系示意图;
图15A为本申请实施例提供的一种自定义基准标记图像;
图15B为利用本申请实施例提供的位姿定位方法识别出的ar_marker坐标系示意图;
图16A为本申请实施例提供的仿真实验环境设置示意图;
图16B为相机检测到的图像;
图17A为本申请实施例提供的基准标记以底边为轴向下旋转的示意图;
图17B为基准标记旋转0°相机采集到的图像示意图;
图17C为基准标记旋转80°相机采集到的图像示意图;
图17D为ARToolkit算法和本申请实施例提供的方法在旋转误差随旋转角度变化而变化的对比图;
图17E为ARToolkit算法和本申请实施例提供的方法在平移误差随旋转角度变化而变化的对比图;
图17F为ARToolkit算法和本申请实施例提供的方法在回召率随旋转角度变化而变化的对比图;
图18A为基准标记旋转10°的示意图;
图18B为基准标记与相机距离5m相机采集到的图像示意图;
图18C为基准标记与相机距离40m相机采集到的图像示意图;
图18D为ARToolkit算法和本申请实施例提供的方法在旋转误差随距离变化而变化的对比图;
图18E为ARToolkit算法和本申请实施例提供的方法在平移误差随距离变化而变化的对比图;
图18F为ARToolkit算法和本申请实施例提供的方法在回召率随距离变化而变化的对比图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)回召率:在目标检测中,出现在输入图像中的目标被正确检出并精准定位的比率。
2)PnP位姿求解算法:通过已知n个3D点的位置,和n个3D点在图像中的像素坐标,求解相机相对于3D世界坐标系的位姿。
3)Gazebo:一个开源3D机器人世界仿真环境,可以在人工渲染的环境中通过模拟传感器,如相机等,进行观测来对算法测试的工具
为了更好地理解本申请实施例提供的位姿定位方法,首先对相关技术中的位姿定位方法进和存在的缺陷进行说明。
目前,相关技术中的位姿定位方法的问题主要包括:
一、需要对所有潜在四边形都进行位姿优化,消耗时间较长,同时需要特定的由黑白方块组成的标记码,不可自定义。
二、需要采用固定阈值进行二值化,导致对光照变化的鲁棒性差,算法的回召率较低。且没有优化四角点的,导致求得位姿精准度不高。
基于此,本申请实施例提供一种位姿定位方法、装置、设备和计算机可读存储介质,对图像二值化时采用自适应阈值,为每一块像素设立局部阈值,尽可能保留图像中的边缘信息,增加变化光照场景下算法的鲁棒性,并且采用无边框的基准标记,通过背景色与环境的差异形成边框,进行位姿定位,使在相对于相机观测方向大角度情况下,依然可以正确检出;另外,采用自定义图案的标签,使基准标记更好的隐藏于环境中,同时保证位姿定位精准度与现行最优算法相当。
下面说明本申请实施例提供的位姿定位设备的示例性应用,本申请实施例提供的位姿定位设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。
参见图1A,图1A为本申请实施例提供的位姿定位***100的网络架构示意图,如图1A所示,在该网络架构中,包括:终端200、网络300和服务器400。其中,终端200可以是移动电话(手机)、平板电脑、笔记本电脑等具有无线通信能力的移动终端,还可以是AR眼镜、智能机器人等。终端200至少包括采集装置,用户可以通过终端200中的采集装置采集图像。在图1A中示例性的将终端200以智能机器人的形式示出。终端200和服务器400通过网络300建立有通信连接,该网络300可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。
在该网络架构中,可以是由终端200采集待识别图像,然后将待识别图像发送给服务器400,进而由服务器400对接收到的待识别图像进行二值化处理并确定出与自定义基准标记图像的形状符合匹配条件的候选标记区域,再进行后续的拟合和边界优化,然后再将优化后的候选标记区域和自定义基准标记图像进行模板匹配,以确定出待识别图像中的目标标记区域相对于终端200中图像采集装置的位姿信息,将位姿信息发送给终端200,由终端200基于采集装置的位姿信息确定出移动参数,并基于该移动参数进行移动。
在该应用场景下,还可以是服务器400在确定出位置姿态信息后,基于采集装置的位姿信息确定出移动参数,然后将移动参数发送至终端200,以使得终端200基于该移动参数进行移动。
图1B为本申请实施例提供的位姿定位***的另一种网络架构示意图,如图1B所示,在该网络架构中,包括:终端400。终端400至少包括采集装置,用户可以通过终端400中的采集装置采集图像。在图1B中同样示例性地将终端400以智能机器人的形式示出。由终端400采集待识别图像,然后对待识别图像进行二值化处理并确定出与自定义基准标记图像的形状符合匹配条件的候选标记区域,再进行后续的拟合和边界优化,然后再将优化后的候选标记区域和自定义基准标记图像进行模板匹配,以确定出待识别图像中的目标标记区域相对于图像采集装置的位姿信息,最后基于采集装置的位姿信息确定出移动参数,并基于该移动参数进行移动。
需要说明的是,在图1B所示的网络架构中,对终端400的计算效率、存储空间等要求较高,因此,一般采用图1A所示的网络架构。
在一些实施例中,服务器400可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例中不做限制。
参见图2,图2为本申请实施例提供的位姿定位设备400的结构示意图,该位姿定位设备400可以是图1A所示的服务器400,也可以是图1B所示的终端400。图2所示的位姿定位设备400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线***440耦合在一起。可理解,总线***440用于实现这些组件之间的连接通信。总线***440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线***440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作***451,包括用于处理各种基本***服务和执行硬件相关任务的***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作***设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图2示出了存储在存储器450中的位姿定位装置455,其可以是程序和插件等形式的软件,包括以下软件模块:二值化处理模块4551、第一确定模块4552、第二确定模块4553和第三确定模块4554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。
将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的位姿定位方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specif ic Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic De vice)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。
为了更好地理解本申请实施例提供的方法,首先对人工智能、人工智能的各个分支,以及本申请实施例提供的方法所涉及的应用领域进行说明。
人工智能(AI,Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。本申请实施例提供的方案主要涉及人工智能的机器学习技术,以下对该术进行说明。
机器学习(ML,Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。
将结合本申请实施例提供的位姿定位设备的示例性应用和实施,说明本申请实施例提供的位姿定位方法,该位姿定位方法应用于位姿定位设备,该位姿定位设备可以是图1A中的服务器,也可以是图1B中的终端。
参见图3,图3为本申请实施例提供的位姿定位方法的一种实现流程示意图,将结合图3示出的步骤进行说明。
步骤S101,获取待识别图像,基于所述待识别图像的亮度信息对所述待识别图像进行自适应二值化处理,得到二值化图像。
这里,该待识别图像可以是终端利用自身的图像采集装置(例如摄像头)采集到的,该待识别图像可以是彩色图像,也可以是灰度图像。当待识别图像为彩色图像时,可以对待识别图像进行灰度处理,得到灰度化图像,以灰度化图像的各个像素点的像素值作为待识别图像的亮度信息。当待识别图像为灰度图像时,那么直接将灰度图像的各个像素点的像素值确定为待识别图像的亮度信息。
对待识别图像进行自适应二值化处理中的“自适应”表征的是,在对待识别图像进行分割得到各个图像区块后,对各个图像区块进行二值化处理时的阈值可以是根据亮度信息确定出的值,不同图像区块的二值化阈值可以是不同的,从而能够保证对不同亮度场景下采集到的待识别图像进行位姿定位时的鲁棒性。
步骤S102,基于自定义基准标记图像的几何特性确定出所述二值化图像中的候选标记区域。
这里,该候选标记区域的形状与所述基准标记图像的形状符合匹配条件。自定义基准标记图像的几何特性可以包括自定义基准标记图像的边数、各个边的边长关系、各个边的夹角等信息。步骤S102在实现时,首先对二值化图像进行聚簇分类,得到多个分类结果,其中,每个分类结果包括多个明暗像素组成的连通图形;然后再从多个连通图形中初步筛选出与自定义基准标记图像相符的图形,例如基准标记图像为正方形,那么首先将多个连通图形中,包括四条边的图形筛选出来,然后再进一步筛选,例如将四边形中的梯形,内凹四边形等删除掉,保留平行四边形、菱形、正方形等于基准标记图形的形状匹配的候选标记区域。
步骤S103,基于所述优化后的候选标记区域和自定义基准标记图像进行模板匹配,确定出目标标记区域。
这里,步骤S103在实现时,首先确定优化后的候选标记区域和自定义基准标记图像之间的相似度,进一步的,该相似度可以基于优化后的候选标记区域和自定义基准标记图像之间的差异值确定,该差异值越低,说明相似度越高,当相似度大于预设的相似度阈值时,说明候选标记区域和自定义基准标记图像满足匹配条件,此时将该候选标记区域确定位目标标记区域。
在实际实现时,会有多个候选标记区域,并且可能会有多种自定义基准标记图像,因此步骤S103在实现时,可以是将各个候选标记区域先与其中一个自定义基准标记图像进行模板匹配,确定是否存在候选标记区域与该自定义基准标记图像满足匹配条件,如果存在候选标记区域与该自定义基准标记图像满足匹配条件,将该候选标记区域确定为目标标记区域,并且记录该自定义基准标记图像的标签ID;当不存在候选标记区域与该自定义基准标记图像满足匹配条件时,此时更换一个自定义基准标记图像继续进行模板匹配,以确定目标标记区域和标签ID。
步骤S104,获取所述目标标记区域的二维位置信息和三维空间信息,基于所述二维位置信息和三维空间信息确定所述目标标记区域相对于图像采集装置的位姿信息。
这里,目标标记区域的二维位置信息可以用目标标记区域的顶点坐标表示,当目标标记区域为四边形(例如正方形)时,目标标记区域的二维位置信息也即四个顶点的顶点坐标。目标标记区域的三维空间信息可以是目标标记区域的在世界坐标系中的三维坐标。
步骤S104在实现时,首先获取图像采集装置的内部参数和目标标记区域的三维空间信息,该内部参数信息可以是与采集装置自身特性相关的参数,比如采集装置的焦距、像素大小等。具体来说,采集装置的内部参数可以包括:1/dx、1/dy、u0、v0、f,其中,dx和dy分别表示x方向和y方向的一个像素分别占多少长度单位,即一个像素代表的实际物理值的大小,dx和dy是实现图像物理坐标系与像素坐标系转换的关键。u0,v0表示图像的中心像素坐标和图像原点像素坐标之间相差的横向和纵向像素数,f为焦距。在一些实施例中,内部参数信息还可以包括畸变参数,畸变参数又进一步包括径向畸变系数和切向畸变系数。径向畸变发生在相机坐标系转图像物理坐标系的过程中。而切向畸变是发生在相机制作过程,其是由于感光元平面跟透镜不平行而造成的。由于目标标记区域与自定义基准标记图像时匹配的,在实现时,可以将自定义基准标记图像的三维空间信息确定为目标标记区域的三维空间信息。
最后,利用PnP算法,将目标标记区域的二维位置信息、三维空间信息和终端图像采集装置的内部参数作为PnP算法的输入,从而确定出目标标记区域相对于图像采集装置的位姿信息。位姿信息可以包括图像采集装置的位置、旋转方向等。
在本申请实施例提供的位姿定位方法中,在获取到待识别图像之后,基于待识别图像的亮度信息对该待识别图像进行自适应二值化处理,得到二值化图像,如此能够在光照变化的场景下提高位姿定位的回召率;然后再基于自定义基准标记图像确定出二值化图像中的候选标记区域,候选标记区域与该自定义基准标记图像的形状满足匹配条件,基于待识别图像对候选标记区域进行拟合和边界优化,得到优化后的候选标记区域,也即也即在本申请实施例中,并不是对所有的潜在标记区域都进行拟合和边界优化,而是仅对与自定义标记图像满足匹配条件的候选标记区域进行边界优化,从而能够在保证算法准确度的前提下,降低算法复杂度;最后基于优化后的候选标记区域和自定义基准标记图像进行模板匹配,确定出目标标记区域;获取目标标记区域的二维位置信息和三维空间信息,基于所述二维位置信息和三维空间信息确定所述目标标记区域相对于图像采集装置的位姿信息,如此,在保证位姿定位的精准度的情况下,能够提升检测速度与鲁棒性。
在一些实施例中,步骤S101中的“基于所述待识别图像的亮度信息对所述待识别图像进行自适应二值化处理,得到二值化图像”,可以通过以下步骤实现:
步骤S1011,对所述待识别图像进行分割,得到多个图像区块。
这里,在实现时,可以按照预设大小将待识别图像进行分割,得到多个图像区块,例如,可以按照4*4、8*8、9*9等大小将待识别图像进行分割。
步骤S1012,基于所述多个图像区块的亮度信息确定各个图像区块对应的二值化阈值。
这里,步骤S1012在实现时,可以首先确定各个图像区块的参考区域,然后基于参考区域中包括的多个图像区块的亮度均值确定出各个图像区块对应的二值化阈值。
步骤S1013,利用各个二值化阈值对对应的图像区块进行二值化处理,得到二值化图像。
这里,在对各个图像区块进行二值化处理时,可以是将图像区块中低于二值化阈值的像素点的像素值置为第一值,将高于或者等于二值化阈值的像素点的像素值置为第二值(例如可以是255)。
在步骤S1021至步骤S1023中,在对待识别图像进行分割后,基于各个分割得到的图像区块的亮度信息,自适应确定出各个图像区块的二值化阈值,并进行二值化处理,从而提高位姿定位方法在光照变化的场景下的回召率。
在一些实施例中,步骤S1012在确定各个图像区块对应的二值化阈值时,可以通过如图4所示的步骤S121至步骤S129实现:
步骤S121,确定第i个图像区块的多个邻接图像区块。
其中,i=1,2,…,M,M为图像区块总数。对于边缘的图像区块,会有3到5个邻接图像区块,对于非边缘的图像区块,会有8个邻接图像区块。
步骤S122,确定所述第i个图像区块和各个邻接图像区块构成的参考图像区域的亮度最大值和亮度最小值。
步骤S122在实现时,可以是依次确定第i个图像区块中多个像素点的亮度最大值和亮度最小值,以及各个邻接图像区块对应的亮度最大值和亮度最小值;然后再从多个亮度最大值中确定出整个参考图像区域的亮度最大值,从多个亮度最小值中确定出整个参考图像区域的亮度最小值。
也可以是,直接对参考图像区域中所有像素点的亮度值进行排序,得到参考图像区域的亮度最大值和亮度最小值。
步骤S123,基于所述亮度最大值和亮度最小值确定出参考亮度值。
这里,可以是将亮度最大值和亮度最小值的平均值确定为参考亮度值。假设最大亮度均值为240,最小亮度均值为120,那么此时参考亮度值为180。
步骤S124,判断所述亮度最大值和亮度最小值的差值是否大于预设的差值阈值。
这里,当所述亮度最大值和亮度最小值的差值大于预设的差值阈值时,说明最大值和最小值的差别较大,也即第i个图像区块和各个图像区块互相之间的亮度差别较大,此时进入步骤S125;当所述亮度最大值和亮度最小值的差值小于或者等于该差值阈值时,说明最大值和最小值的差别较小,也即第i个图像区块和各个图像区块互相之间的亮度差别较小,可以认为第i个图像区块和各个图像区块为同色区块,此时进入步骤S126。
步骤S125,将所述参考亮度值确定为第i个图像区块对应的二值化阈值。
步骤S126,确定所述第i个图像区块为同色区块。
步骤S127,在完成对其他图像区块的二值化处理后,基于所述其他图像区块的二值化结果,确定同色区块的边界。
这里,其他图像区块为除同色区块之外的图像区块。由于对其他图像区块已经完成二值化处理,那么也即其他图像区块的各个像素点的像素值为第一像素值或第二像素值,那么根据各个像素点的像素值可以确定出同色区块的边界。
步骤S128,确定所述同色区块的边界上的第一像素值的第一像素点总数和第二像素值的第二像素点总数。
步骤S129,将第一像素点总数和第二像素点总数中较大数值对应的像素值确定为所述同色区块的像素值。
这里,由于在图像中在小范围中一般不会出现剧烈的像素变化,因此在本申请实施例中,将边界上像素点多的像素值确定为同色区块的二值化像素值,从而保证同色部分较大的区域也可正确进行二值化处理。
在一些实施例中,图3所示的步骤S102可以通过下述的步骤S1021至步骤S102实现:
步骤S1021,对所述二值化图像进行图分割,得到多个分割结果。
其中,各个分割结果中包括至少一个连通图形。在实现时,可以将二值化图像输入训练好的图分割模型,从而得到多个分割结果。
步骤S1022,将各个连通图形的各个轮廓点进行顺序化,以确定所述各个连通图形的形状信息。
步骤S1022在实现时,可以是确定各个轮廓点与参考轴的夹角,然后在根据各个夹角进行顺序化,在对轮廓点进行顺序化后,即可确定出各个连通图形包括的线段信息,进而确定各个连通图形的形状信息。连通图形的形状信息至少包括连通图形的线段条数,在一些实施例中,还可以包括线段的交点信息。
步骤S1023,基于所述自定义基准标记图像的几何特性和各个连通图形的形状信息,从多个连通图形中筛选出与所述基准标记图像的形状符合匹配条件的候选标记区域。
这里,步骤S1023在实现时,首先根据各个连通图形的形状信息,确定出线段条数与自定义基准标记图像的边数相同的连通图形,例如自定义基准标记图像为正方形,那么首先筛选出有四条边的连通图形,然后再根据正方形四条边等长的特性,再从筛选得到的四边形中,再次进行筛选,得到与自定义基准标记图像的形状符合匹配条件的候选标记区域。
通过上述的步骤S1021至步骤S1023,在对二值化图像进行图分割,得到多个连通图形后,根据自定义基准标记图像的形状信息从多个连通图形中筛选出与自定义基准标记图像的形状满足匹配条件的连通图形,而不是对所有的连通图形进行运算,从而不仅能够降低计算复杂度,还能够保证计算准确度。
上述步骤S1022“将各个连通图形的各个轮廓点进行顺序化,以确定所述各个连通图形的形状信息”可以通过以下步骤实现:
步骤S221,确定第j个连通图形的质心,并获取参考坐标轴的位置信息。
这里,确定第j个连通图形的质心,在实现时,可以是首先确定第j个连通图形的最小外接矩形,然后将该最小外接矩形的中心确定为第j个连通图形的质心。在确定出第j个连通图形的质心之后,再如图11所示以质心为原点,确定出参考坐标轴N。
步骤S222,确定所述第j个连通图形上各个轮廓点与所述质心的连线与所述参考坐标轴形成的各个夹角。
这里,依次连接第j个连通图形上各个轮廓点和质心,以确定各个轮廓点与所述质心的连线与所述参考坐标轴形成的各个夹角。
步骤S223,基于各个夹角对所述各个轮廓点进行排序,确定所述轮廓点组成的线段数量。
这里,在实现时,可以计算各个夹角对应的正切值,并将正切值从大到小或者从小到大排列,从而实现轮廓点的顺序化。在对各个轮廓点进行顺序化后,即可根据顺序化的各个轮廓点和各个轮廓点的位置信息,确定出来轮廓点组成的线段数量以及各个线段的交点。
步骤S224,基于所述线段数量确定所述第j个连通图形的形状信息。
在步骤S221至步骤S224中,在对轮廓点进行排序,得到按边界顺序排列的轮廓点后,可以通过检查轮廓点组成的线段数量,确定各个连通图形的形状信息,从而为后续筛选候选标记区域提供数据基础。
在一些实施例中,图3所示的步骤S103可以通过以下步骤实现:
步骤S1031,步骤S103,基于所述待识别图像对所述候选标记区域进行拟合和边界优化,得到优化后的候选标记区域。
这里,由于候选标记区域是从二值化图像中确定的,因此包含的信息量少,精准度低,因此在步骤S1031中,利用原始的待识别图像和该候选标记区域进行边界优化。在实现时,根据候选标记区域的各个轮廓点的位置信息确定出待识别图像中对应的各个轮廓点,然后从多个轮廓点中采样得到多个初始定位点,也即粗定位点,再将多个初始定位点在候选标记区域的边界法向量上移动,得到精确定位点,将多个精确定位点进行直线拟合,以完成对边界的优化,从而得到优化后的候选标记区域。
步骤S1032,将所述优化后的候选标记区域进行仿射变换和所述自定义基准标记图像的形状信息,得到变换后的候选标记区域。
这里,优化后的候选标记区域的形状虽然是和自定义基准标记图形满足匹配条件,但是为了提高对比精度,在本申请实施例中,需要对优化后的候选标记区域进行仿射变换,从而得到与自定义基准标记图像的形状完全相符的候选标记区域。例如自定义基准标记图像为正方形,优化后的候选标记区域的形状可能为菱形,此时将优化后的候选标记区域进行仿射变换,得到标准的正方形,也即变换后的候选标记区域。
步骤S1033,确定所述变换后的候选标记区域和所述自定义基准标记图像之间的相似度值。
这里,由于在步骤S1032中,已经通过仿射变换,将候选标记区域变换为与自定义基准标记图像大小形状完全相符,步骤S10332在实现时,可以计算各个对应像素点的像素差值,并计算变换后的候选标记区域和所述自定义基准标记图像之间的差异值,差异值越大,则表示相似度越小。
步骤S1034,判断该相似度值是否大于预设的相似度阈值。
这里,当所述相似度值大于预设的相似度阈值时,进入步骤S1035;当相似度阈值小于或者等于该相似度阈值时,进入步骤S1036。
步骤S1035,确定所述优化后的候选标记区域为目标标记区域。
在一些实施例中,在当相似度值大于相似度阈值时,还会记录该自定义基准标记图像的ID。
步骤S1036,再次获取另一个自定义标记图像。
这里,在获取到另一个自定义标记图像之后,再次进入步骤S1033,以确定该优化后的候选标记区域是否为目标标记区域。
需要说明的是,在本申请实施例中,假设多个自定义标记图像的形状是一致的,例如都是正方形,或者都是长方形。如果多个自定义标记图像的形状不一致,那么在相似度阈值小于或者等于该相似度阈值时,获取到另一个自定义标记图像之后,需要重新进入步骤S102,并执行后续步骤。
在一些实施例中,步骤S1031可以通过以下步骤实现:
步骤S311,基于所述候选标记区域的各个轮廓点的位置信息确定所述待识别图像中的候选图像区域。
这里,由于候选标记区域是从二值化图像中确定出的,包含的信息量少,准确率低,因此在步骤S311中基于候选标记区域的各个轮廓点的位置信息确定出待识别图像中的候选图像区域,该候选图像区域中包括的信息量更多,能够提高算法准确率。
步骤S312,对所述候选图像区域的各个轮廓点进行采样,得到多个初始定位点。
这里,候选图像区域的各个轮廓点对应进行图分割后各个连通图形的边界上的点,步骤S312在实现时,可以是对各个轮廓点进行均匀采样,从而得到多个初始定位点。
步骤S313,基于所述多个初始定位点拟合出所述候选图像区域的边界线的法向量。
这里,步骤S313在实现时,首先基于多个初始定位点拟合出候选图像区域的各条边界线,然后再确定出各条边界线的法向量。
步骤S314,在所述法向量方向上移动各个初始定位点,将沿法向量方向上梯度变化的峰值点,确定为目标定位点。
这里,延法向量移动各个初始定位点,并基于各个初始定位点的原始像素点和移动后的像素点确定沿法向量方向上的梯度值,当梯度值达到最高值时,说明像素值变化幅度最大,此时也就达到的真正的边界点,将该点确定为目标定位点。
步骤S315,对所述目标定位点进行拟合,得到优化后的候选标记区域。
这里,步骤S315在实现时,是对目标定位点进行直线拟合,以实现对候选图像区域的边界优化,得到优化后的候选标记区域,该优化后的候选标记区域中包括待识别图像中的图像数据。
在一些实施例中,在步骤S101之前,可以通过以下步骤生成自定义标记图像:
步骤S001,获取自定义图像,基于预设的模板尺寸信息,对所述自定义图像进行缩放处理,得到缩放后的自定义图像。
这里,将自定义图像缩放至模板尺寸信息要求的大小。原则上自定义图像可以是二值化的黑白图像,也可以是灰度图像,甚至可以是彩色图像。一般情况下为了简化计算复杂度,设置自定义图像为黑白图像。
步骤S002,确定所述自定义图像中的标记区域和非标记区域。
其中,所述标记区域中的标记图像为左右非中心对称图像,例如可以是箭头,不规则树叶、企鹅公仔等。
步骤S003,判断标记区域与非标记区域的色彩相似度是否大于预设的色彩阈值。
这里,当所述标记区域与所述非标记区域的色彩相似度大于色彩阈值时,进入步骤S004;当所述标记区域与所述非标记区域的色彩相似度小于或者等于色彩阈值时,进入步骤S005。
这里,当自定义图像为黑白图像时,那么标记区域为白,非标记区域为黑,因此标记区域与非标记区域的色彩相似度很低,会小于色彩阈值,此时进入步骤S005;当自定义图像为彩色图像或者灰度图像时,则需要根据标记区域和非标记区域各个像素点的像素值确定两者之间的色彩相似度。
步骤S004,对所述标记区域和/或非标记区域进行差异化处理,得到自定义基准标记图像。
这里,在对标记区域和/或非标记区域进行差异化处理时,可以是对标记区域和非标记区域进行二值化处理,直接将标记区域设置为白色,非标记区域设置为黑色,或者将非标记区域设置为白色,标记区域设置为黑色,也可以是将标记区域或非标记区域中的其中一个进行差异化处理,在实现时,可以基于不被调整的一个区域的像素信息,将需要调整的区域调整为差异较大的像素值。总之,在进行差异化处理后得到的自定义基准标记图像中的标记区域与所述非标记区域的色彩相似度小于色彩阈值。
步骤S005,将缩放后的自定义图像确定为自定义基准标记图像。
需要说明的是,上述步骤S001至步骤S005可以是位姿定位设备自行实现的,也可以是由于位姿定位设备建立有通信连接的其他设备实现的,当步骤S001至步骤S005为其他设备实现时,其他设备将确定出自定义基准标记图像发送至位姿定位设备,以进行后续的位姿信息确定。
基于上述的实施例,本申请实施例再提供一种位姿定位方法,应用于图1A所示的网络架构,图5为本申请实施例提供的位姿定位方法的再一种实现流程示意图,如图5所示,该流程包括:
步骤S501,终端通过自身的采集装置采集待识别图像。
这里,终端可以是AR眼镜、智能机器人等,终端的采集装置可以是图像采集装置,例如可以是摄像头。
步骤S502,终端将所述待识别图像发送给服务器。
这里,在实现时,终端可以向服务器发送位姿定位请求,并将待识别图像携带于位姿定位请求中。
步骤S503,服务器对所述待识别图像进行分割,得到多个图像区块。
这里,在实现时,可以按照预设尺寸信息,对待识别图像进行分割,得到包含多个像素点的图像区块。
步骤S504,服务器基于所述多个图像区块的亮度信息确定各个图像区块对应的二值化阈值。
步骤S505,服务器利用各个二值化阈值对对应的图像区块进行二值化处理,得到二值化图像。
步骤S506,服务器基于自定义基准标记图像的几何特性确定出所述二值化图像中的候选标记区域。
这里,候选标记区域的形状与所述基准标记图像的形状符合匹配条件。
步骤S507,服务器基于所述待识别图像对所述候选标记区域进行拟合和边界优化,得到优化后的候选标记区域。
步骤S508,服务器基于所述优化后的候选标记区域和自定义基准标记图像进行模板匹配,确定出目标标记区域;
步骤S509,服务器获取所述目标标记区域的二维位置信息和三维空间信息,基于所述二维位置信息和三维空间信息确定所述目标标记区域相对于图像采集装置的位姿信息。
这里,位姿信息可以包括图像采集装置采集待识别图像时的旋转矩阵和平移信息。在实现时可以利用PnP确定位姿信息。PnP算法是通过多对3D与2D匹配点,在已知或者未知相机内参的情况下,利用最小化重投影误差来求解相机外参(也即图像采集装置的位置姿态信息)的算法。PnP算法的输入至少为目标标记区域的二维位置信息和三维空间信息,输出为图像采集装置的旋转矩阵和平移矩阵。
步骤S510,服务器将位姿信息发送至终端。
步骤S511,终端基于所述目标标记区域相对于图像采集装置的位姿信息,确定自身的移动参数。
这里,终端在获取到目标标记区域相对于图像采集装置的位姿信息后,如果是在需要连续性识别目标标记区域,或者抓握目标标记区域对应的物体时,可以基于该位姿信息确定自身相对于目标标记区域的位置,从而确定出移动参数、
步骤S512,终端基于所述移动参数执行目标动作。
这里,移动参数可以包括移动方向,移动距离等,该目标动作可以是行走动作,可以是抓握动作等等。
需要说明的是,本申请实施例中与其它实施例中相同步骤或概念的解释可以参考其它实施例中的描述。
在本申请实施例提供的位姿定位方法中,终端在采集到待识别图像之后,将待识别图像发送至服务器,由服务器进行位姿定位,在实现时,服务器首先对待识别图像进行分割,得到多个图像区块,并根据各个图像区块的亮度信息自适应的确定出各个图像区块的二值化阈值,以进行二值化处理,并且再基于自定义基准标记图像确定出二值化图像中的候选标记区域,候选标记区域与该自定义基准标记图像的形状满足匹配条件,基于待识别图像对候选标记区域进行拟合和边界优化,得到优化后的候选标记区域,也即也即在本申请实施例中,并不是对所有的潜在标记区域都进行拟合和边界优化,而是仅对与自定义标记图像满足匹配条件的候选标记区域进行边界优化,从而能够在保证算法准确度的前提下,降低算法复杂度;最后基于优化后的候选标记区域和自定义基准标记图像进行模板匹配,确定出目标标记区域;获取目标标记区域的二维位置信息和三维空间信息,基于所述二维位置信息和三维空间信息确定所述目标标记区域相对于图像采集装置的位姿信息,如此,在保证位姿定位的精准度的情况下,能够提升检测速度与鲁棒性,在得到位姿信息之后,服务器将位姿信息发送至终端,以使得终端基于位姿信息实现连续性识别或者抓握等目的。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
基准标记是为自动检测而设计的人工视觉特征,图6为基准标记的示意图,如图6所示,可以是类似二维码的形式。基准标记的特性使其在机器人应用中的姿态估计或目标连续性识别方面非常有用,并且基准标记的唯一性和高回召率是测试复杂感知***,充当其简化替代的理想选择。固定基准标记可以用于视觉定位或作为机器人运动的真值估计。安装在对象上的基准标记可用于识别和定位兴趣对象。
图7为本申请实施例提供的基于基准标记的位姿定位方法的一种实现流程示意图,如图7所示,该流程包括:
步骤S701,图像二值化。
这里,对输入图像Img进行二值化,其中,输入为图像Img如图8A所示,输出的二值化图像如图8B所示。在该步骤中,会尽可能得保留图像中的边缘轮廓信息。传统算法往往通过给出一个固定阈值(通常为色素中值),分别为整幅图片中大于和小于阈值的色素直接二值化为黑与白。在本申请实施例中采用自适应阈值的方法,为每一块像素,根据其周边明暗信息,确定当前块内像素的阈值。
如图7所示,步骤S701可以通过以下步骤实现:
步骤S7011,获取输入图像。
这里,输入图像可以是才是图像,也可以是灰度图像。
步骤S7012,基于自适应阈值进行图像二值化。
步骤S7012在实现时,如果输入图像为彩色图像,首先对输入图像进行灰度处理,得到灰度图像,然后再对灰度图像进行分割,例如可以如图8C所示划分成为以4*4像素区域为单位的区块,在图8C中包括9个区块,然后依次对各个区块中的各个像素点进行二值化。
假设当前对中心区域821进行二值化处理,此时先要计算出当前区域的自适应阈值。该自适应阈值通过对参考区域内明暗极值取中间值得到,如果仅以中心区域为参考区域会导致阈值在各个区块间极不连续,导致由二值化产生的边缘的不连续,因此在本申请实施例中,以中心区块和该中心区块的8个邻接区块确定为参考区域,然后计算参考区域中的亮度最大值和亮度最小值,将亮度最大值和亮度最小值的均值确定为该中心区块的自适应阈值。通过该自适应阈值对中心区块进行二值化,得到如图8D所示的二值化区块831,通过831可以看出,中心区块右上角的三个像素点为白色,其余像素点为黑色。
步骤S7013,同色区域同质化。
在对各个区块进行二值化处理时,当出现整个参考区域中,明暗极值的中间值差距过近时候,则先暂定当前区域为同色区域,当异色区块全部完成二值化时,对同色区域进行边界查找,以边界上多的一种颜色为同色邻接区域,使当前区域全部取邻接区域颜色。如此,在图8B中座椅或地板区域等同色部分超过3*3区块的区域也可正确进行二值化处理。
步骤S7014,得到最终的二值化图像。
步骤S702,对二值化图像进行区域分割(聚簇分割)。
该步骤在实现时,通过图分割的方法,以如图8B所示的二值化图像为输入,输出如图9所示的,由连通的明暗像素组成的聚簇结果。
步骤S703,四边形拟合与优化。
通过该步骤选取图像中潜在的基准标记(四边形)并优化选出的各个四边形的四边位置,该步骤的输入为多组聚类cluster结果,如图9中由不同线条划分出的分块。输出为经过筛选且完成了边沿优化的多组潜在基准标记四边形。在实现时,可以首先将筛选出图9中包括的所有四边形,此时得到图10A中白色边框标记的多个四边形,然后再从图10A中的四边形中筛选出图10B所示的多个与标记模板形状匹配的四边形,在本申请实施例中,以基准标记图像为正方形为例进行说明。
对于一组聚类结果,如图9中一个颜色分块,仅能获得无序的轮廓像素点,而边界顶点查找需要有序像素点,故需要对轮廓点顺序化。在本申请实施例中,如图11所示,***灰色点为无序轮廓点,O为所有轮廓点的质心,于是对各个轮廓点p,可以求得相对于y轴的夹角∠pON。根据各个轮廓点对应的夹角大小,进行轮廓点的顺序化。实际实现中,可以仅对夹角的正切值进行排序来减少运算量。
当得到按边界顺序排列的轮廓点后,可以通过检查轮廓点组成的线段数量,如呈现三边或多于四边的形状则认为其不会是潜在基准标记从而进行滤除。
步骤S704,四边形标准化。
接下来,对于余下的潜在标识四边形,由于步骤S703确定出的潜在标记四边形其轮廓点由二值化边界图像图8B得来,信息量少,精准度低,因此在该步骤中利用原始图像数据Img进行边界优化。
图12A为输入图像Img一处局部边缘,当前步骤需要得出一条尽可能精准的边缘直线方程,图12B中黑色像素点为由二值化图像聚类分割后得到的粗边界线。首先,在黑色像素点中每隔n个像素取一个定位点,即就是图12C中虚线中空圆点1221(粗定位点)。然后由粗定位点拟合出当前边界线的法向量。接下来在法向量方向上移动各个粗定位点,使定位点移动到沿法向量上梯度变化峰值点(精定位点),即图12C中被填充的圆点1222,再如图12D所示,由这些精定位点进行直线拟合,得到更精准的四边位置,于是有了精准定位的潜在基准标记四边形。进而再首将精准定位的四边形进行仿射变换得到标准化的正方形。
步骤S705,模板匹配和位姿求解。
这里,该步骤的输入为有标记模板Patt和步骤S704得到的标准化正方形,在实现时,各个标准化的正方形与模板Patt作差,得到各个标准正方形与模板Patt的误差值,将误差值低于阈值的标准正方形确定为与模板正确匹配的目标正方形。
在确定出目标正方形之后,根据目标正方形对应的四边形的四边交点得到四顶点坐标。以四顶点坐标和模板基准标记的三维平面点为输入,通过PnP算法求得当前图像中正确基准标记相对于相机的位姿变换信息。图13为本申请实施例提供的正确检测并测得位姿的视觉基准标记的示意图,并在图13中示出了检测出的基准标记的ar_marker坐标系1301。
本申请实施例提供的位姿定位方法的应用场景可以为Robotics X实验室机械狗Jamoca的登上台阶的自然指示箭头标记,也可用于物体对象的位姿连续性识别,以及AR场景的应用。图14A为相机所观测到的图像,其中,白色箭头黑色背景的图案1401为自定义基准标记,图片背景中白色网格线代表平面为桌面平面。利用本申请实施例提供的位姿定位算法在实现时,通过检测图14A中的基准标记1401,求解其位姿,并标记所在平面渲染坐标系。图14B为基于检测到的基准标记与相机的位姿变换关系示意图,构建出与图14A所示图像对应的坐标系关系图,其中,world坐标系以及白色网格代表桌面平面,camera坐标系表示相机相对于桌面倾斜向下观测,可以观察到表示基准标记的ar_marke r坐标系的x-y平面与world坐标系的x-y平面垂直,与图14A所示的基准标记的放置状态吻合。
另外,本申请实施例提供的位姿定位方法还可以采用以白色为背景色的自定义图案为载荷,以任意自定义形状为边框的标记,例如可以是如图15A所示的基准标记。本申请实施例提供的位姿定位方法通过识别载荷企鹅辨别基准标记ID,又基于基准标记与不规则黑色边框的对比色差找到四角定位点,从而解算基准标记所在平面的位姿,并在图15B中示出ar_marker坐标系1511。如此能够通过使用用户更易接受的人性化标签,完成对基准标记的识别与鲁棒精准的位姿定位。
本申请实施例提供的位姿定位方法在维持了标签自定义功能的同时,通过去除边框简化了标签设计,另外,在仿真模拟环境Gazebo中,多种不同条件下,对ARToolkit技术方案与本申请实施例提供的位姿定位方法的检测精准度与回召率进行实验对比,结论表明,相对于ARToolkit,本申请实施例提供的位姿定位方法在多个视觉基准标记的技术评测指标上有较大提升。以下对实验过程和实验数据进行说明。
仿真环境设置如图16A所示,其中,1601所示物体为相机,假设其分辨率为1280*720,FOV(H×V)为90°*59°。相机观测方向上1602所示物体为视觉基准标记,大小为2m×2m,其后1603所示为背景噪声板,用于模拟真实场景中的背景噪声,距相机100m。视觉基准标记可以在相机与背景板之间自由活动。图16B为相机观测到的图像,测试ARToolkit与本申请实施例所采用的基准标记分别为图16B右侧中空标记1611(ARToolkit最优表现标记4x4_1)与左侧白箭头标记1612。所有实验均进行在一台处理器为Intel [email protected]的电脑上。
检测标准可以利用公式(1-1)求得:
其中,表示由相机camera坐标系到基准标记marker坐标系的旋转矩阵,则表示平移向量,表示坐标轴方向上三个单位列向量,分别表示从仿真器中的得到的旋转矩阵与平移向量真值,Rerr,terr表示求得的旋转平移误差。当Rerr大于10°或terr大于3m,则认为当前帧检测丢失,丢失越多,回召率越低。
实验对比结果:
一、标记旋转角度对算法精准度与回召率的影响:
视觉基准算法普遍受到相机光轴与标记平面法向量夹角大小的影响,一般夹角越小,基准标记越正对相机,越容易进行目标检测,夹角越接近90°,越不易检测。如图17A所示,实验中标记m距离相机c 8m远以底边为轴向下旋转,使φ由0°变化到90°,其中图17B和图17C分别为φ为0°和80°时相机观测到的图像。
在图17D、图17E和图17F中,横坐标为夹角纵坐标分别为旋转误差,平移误差,回召率,由此可以看出在小于80°时,两种算法旋转误差误差均小于1°,本申请实施例提供的位姿定位算法平移误差小于0.02m,而ARToolkit平移误差达到0.1m。依据前述检测标准,两算法在大于80°时回召率开始显著降低。综上,大多数时本申请实施例提供的位姿定位算法旋转误差小于ART oolkit算法。在所有角度下本申请实施例提供的位姿定位算法平移误差均显著低于ARToolkit算法。在大多数角度下回召率相当。
二、标记与相机距离对算法精准度与回召率的影响:
视觉基准算法也受到相机与标记距离μ的影响,一般距离越近,基准标记在图像中所占像素越大,越容易进行目标检测,距离越远,越不易检测。图18A所示,本次实验中固定为10°,使μ由0m变化到80m,其中图18B和图18C分别为μ为5m和40m时相机观测到的图像。
在图18D、图18E和图18F中,横坐标为距离μ,纵坐标分别为旋转误差,平移误差,回召率。由图18D至图18F可以看出,ARToolkit算法在μ大于20m时,旋转误差超过4°,而本申请实施例提供的位姿定位算法在μ大于60m时旋转误差超过4°。同时本申请实施例提供的位姿定位算法在μ小于30m时平移误差低于0.1m。依据前述检测标准,ARToolkit算法在μ大于30m时,回召率小于80%,而本申请实施例提供的位姿定位算法在μ小于60m时,回召率大于80%。综上本申请实施例提供的位姿定位算法在变化距离情况下精准度相比ARToolki t有显著提升,回召率同样优于后者。
下面继续说明本申请实施例提供的位姿定位装置455的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器440的位姿定位装置455中的软件模块可以包括:
二值化处理模块4551,用于获取待识别图像,基于所述待识别图像的亮度信息对各个图像区块进行自适应二值化处理,得到二值化图像;
第一确定模块4552,用于基于自定义基准标记图像确定出所述二值化图像中的候选标记区域,所述候选标记区域的形状与所述基准标记图像的形状符合匹配条件;
第二确定模块4553,用于基于所述优化后的候选标记区域和自定义基准标记图像进行模板匹配,确定出目标标记区域;
第三确定模块4554,用于获取所述目标标记区域的二维位置信息和三维空间信息,基于所述二维位置信息和三维空间信息确定所述目标标记区域相对于图像采集装置的位姿信息。
在一些实施例中,该二值化处理模块,还用于:
对所述待识别图像进行分割,得到多个图像区块;
基于所述多个图像区块的亮度信息确定各个图像区块对应的二值化阈值;
利用各个二值化阈值对对应的图像区块进行二值化处理,得到二值化图像。
在一些实施例中,该二值化处理模块,还用于:
确定第i个图像区块的多个邻接图像区块,其中,i=1,2,…,M,M为图像区块总数;
确定所述第i个图像区块和各个邻接图像区块构成的参考图像区域的亮度最大值和亮度最小值;
基于所述亮度最大值和亮度最小值确定出参考亮度值;
当所述亮度最大值和亮度最小值的差值大于预设的差值阈值时,将所述参考亮度值,确定为第i个图像区块对应的二值化阈值。
在一些实施例中,该二值化处理模块,还用于:
当所述亮度最大值和亮度最小值的差值小于或者等于预设的差值阈值时,确定所述第i个图像区块为同色区块;
在完成对其他图像区块的二值化处理后,基于所述其他图像区块的二值化结果,确定同色区块的边界;
确定所述同色区块的边界上的第一像素值的第一像素点总数和第二像素值的第二像素点总数;
将第一像素点总数和第二像素点总数中较大数值对应的像素值确定为所述同色区块的像素值。
在一些实施例中,该第一确定模块,用于:
对所述二值化图像进行图分割,得到多个分割结果,其中,各个分割结果中包括至少一个连通图形;
将各个连通图形的各个轮廓点进行顺序化,以确定所述各个连通图形的形状信息;
基于所述自定义基准标记图像的几何特性和各个连通图形的形状信息,从多个连通图形中筛选出与所述基准标记图像的形状符合匹配条件的候选标记区域。
在一些实施例中,该第一确定模块,还用于:
确定第j个连通图形的质心,并获取参考坐标轴的位置信息;
确定所述第j个连通图形上各个轮廓点与所述质心的连线与所述参考坐标轴形成的各个夹角;
基于各个夹角对所述各个轮廓点进行排序,确定所述轮廓点组成的线段数量;
基于所述线段数量确定所述第j个连通图形的形状信息。
在一些实施例中,该第二确定模块,还用于:
基于所述待识别图像对所述候选标记区域进行拟合和边界优化,得到优化后的候选标记区域;
将所述优化后的候选图像区域进行仿射变换和所述自定义基准标记图像的形状信息,得到变换后的候选图像区域;
确定所述变换后的候选图像区域和所述自定义基准标记图像之间的相似度值;
当所述相似度值大于预设的相似度阈值时,确定所述优化后的候选图像区域为目标标记区域。
在一些实施例中,该第二确定模块,还用于:
基于所述候选标记区域的各个轮廓点的位置信息确定所述待识别图像中的候选图像区域;
对所述候选图像区域的各个轮廓点进行采样,得到多个初始定位点;
基于所述多个初始定位点拟合出所述候选图像区域的边界线的法向量;
在所述法向量方向上移动各个初始定位点,将沿法向量方向上梯度变化的峰值点,确定为目标定位点;
对所述目标定位点进行拟合,得到优化后的候选图像区域。
在一些实施例中,该装置还包括:
第一获取模块,用于获取自定义图像,基于预设的模板尺寸信息,对所述自定义图像进行缩放处理,得到缩放后的自定义图像;
第三确定模块,用于确定所述自定义图像中的标记区域和非标记区域,其中,所述标记区域中的标记图像为非中心对称图像;
区域处理模块,用于当所述标记区域与所述非标记区域的色彩相似度大于色彩阈值时,对所述标记区域和/或非标记区域进行处理,得到自定义基准标记图像,其中所述自定义基准标记图像中的标记区域与所述非标记区域的色彩相似度小于色彩阈值。
在一些实施例中,该装置还包括:
第四确定模块,用于基于所述目标标记区域相对于图像采集装置的位姿信息,确定自身的移动参数;
动作执行模块,用于基于所述移动参数执行目标动作。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的位姿定位方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图3、图4、图5及图7示出的方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件***中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (13)
1.一种位姿定位方法,其特征在于,包括:
获取待识别图像,基于所述待识别图像的亮度信息对所述待识别图像进行自适应二值化处理,得到二值化图像;
基于自定义基准标记图像的几何特性确定出所述二值化图像中的候选标记区域,所述候选标记区域的形状与所述基准标记图像的形状符合匹配条件,其中,自定义基准标记图像是通过对自定义图像中的标记区域和/或非标记区域进行差异化处理得到的;
基于优化后的候选标记区域和自定义基准标记图像进行模板匹配,确定出目标标记区域,其中,所述优化后的候选标记区域是根据所述待识别图像对所述候选标记区域进行拟合边界优化得到的;
获取所述目标标记区域的二维位置信息和三维空间信息,基于所述二维位置信息和三维空间信息确定所述目标标记区域相对于图像采集装置的位姿信息。
2.根据权利要求1中所述的方法,其特征在于,所述基于所述待识别图像的亮度信息对所述待识别图像进行自适应二值化处理,得到二值化图像,包括:
对所述待识别图像进行分割,得到多个图像区块;
基于所述多个图像区块的亮度信息确定各个图像区块对应的二值化阈值;
利用各个二值化阈值对对应的图像区块进行二值化处理,得到二值化图像。
3.根据权利要求2中所述的方法,其特征在于,所述基于所述多个图像区块的亮度信息确定各个图像区块对应的二值化阈值,包括:
确定第i个图像区块的多个邻接图像区块,其中,i=1,2,…,M,M为图像区块总数;
确定所述第i个图像区块和各个邻接图像区块构成的参考图像区域的亮度最大值和亮度最小值;
基于所述亮度最大值和亮度最小值确定出参考亮度值;
当所述亮度最大值和亮度最小值的差值大于预设的差值阈值时,将所述参考亮度值,确定为第i个图像区块对应的二值化阈值。
4.根据权利要求3所述的方法,其特征在于,所述基于所述待识别图像的亮度信息对所述待识别图像进行自适应二值化处理,得到二值化图像包括:
当所述参考亮度值与所述最小值的差值小于或者等于预设的差值阈值时,确定所述第i个图像区块为同色区块;
在完成对其他图像区块的二值化处理后,基于所述其他图像区块的二值化结果,确定同色区块的边界;
确定所述同色区块的边界上第一像素值的第一像素点总数和第二像素值的第二像素点总数;
将第一像素点总数和第二像素点总数中较大数值对应的像素值确定为所述同色区块的像素值。
5.根据权利要求1中所述的方法,其特征在于,所述基于自定义基准标记图像的几何特性确定出所述二值化图像中的候选标记区域,包括:
对所述二值化图像进行图分割,得到多个分割结果,其中,各个分割结果中包括至少一个连通图形;
将各个连通图形的各个轮廓点进行顺序化,以确定所述各个连通图形的形状信息;
基于所述自定义基准标记图像的几何特性和各个连通图形的形状信息,从多个连通图形中筛选出与所述基准标记图像的形状符合匹配条件的候选标记区域。
6.根据权利要求5中所述的方法,其特征在于,所述将各个连通图形的各个轮廓点进行顺序化,以确定所述各个连通图形的形状信息,包括:
确定第j个连通图形的质心,并获取参考坐标轴的位置信息;
确定所述第j个连通图形上各个轮廓点与所述质心的连线与所述参考坐标轴形成的各个夹角;
基于各个夹角对所述各个轮廓点进行排序,确定所述轮廓点组成的线段数量;
基于所述轮廓点组成的线段数量确定所述第j个连通图形的形状信息。
7.根据权利要求1中所述的方法,其特征在于,所述基于候选标记区域和自定义基准标记图像进行模板匹配,确定出目标标记区域,包括:
将所述优化后的候选标记区域进行仿射变换和所述自定义基准标记图像的形状信息,得到变换后的候选标记区域;
确定所述变换后的候选标记区域和所述自定义基准标记图像之间的相似度值;
当所述相似度值大于预设的相似度阈值时,确定所述优化后的候选标记区域为目标标记区域。
8.根据权利要求7中所述的方法,其特征在于,所述基于所述待识别图像对所述候选标记区域进行拟合和边界优化,得到优化后的候选标记区域,包括:
基于所述候选标记区域的各个轮廓点的位置信息确定所述待识别图像中的候选图像区域;
对所述候选图像区域的各个轮廓点进行采样,得到多个初始定位点;
基于所述多个初始定位点拟合出所述候选图像区域的边界线的法向量;
在所述法向量方向上移动各个初始定位点,将沿法向量方向上梯度变化的峰值点,确定为目标定位点;
对所述目标定位点进行拟合,得到优化后的候选标记区域。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:
获取自定义图像,基于预设的模板尺寸信息,对所述自定义图像进行缩放处理,得到缩放后的自定义图像;
确定所述自定义图像中的标记区域和非标记区域,其中,所述标记区域中的标记图像为非中心对称图像;
当所述标记区域与所述非标记区域的色彩相似度大于色彩阈值时,对所述标记区域和/或非标记区域进行处理,得到自定义基准标记图像,其中所述自定义基准标记图像中的标记区域与所述非标记区域的色彩相似度小于色彩阈值。
10.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:
基于所述目标标记区域相对于图像采集装置的位姿信息,确定自身的移动参数;
基于所述移动参数执行目标动作。
11.一种位姿定位装置,其特征在于,所述装置包括:
二值化处理模块,用于获取待识别图像,基于所述待识别图像的亮度信息对各个图像区块进行自适应二值化处理,得到二值化图像;
第一确定模块,用于基于自定义基准标记图像确定出所述二值化图像中的候选标记区域,所述候选标记区域的形状与所述基准标记图像的形状符合匹配条件,其中,自定义基准标记图像是通过对自定义图像中的标记区域和/或非标记区域进行差异化处理得到的;
第二确定模块,用于基于优化后的候选标记区域和自定义基准标记图像进行模板匹配,确定出目标标记区域,其中,所述优化后的候选标记区域是根据所述待识别图像对所述候选标记区域进行拟合边界优化得到的;
第三确定模块,用于获取所述目标标记区域的二维位置信息和三维空间信息,基于所述二维位置信息和三维空间信息确定所述目标标记区域相对于图像采集装置的位姿信息。
12.一种位姿定位设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至10任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110004047.5A CN113538574B (zh) | 2021-01-04 | 2021-01-04 | 位姿定位方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110004047.5A CN113538574B (zh) | 2021-01-04 | 2021-01-04 | 位姿定位方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113538574A CN113538574A (zh) | 2021-10-22 |
CN113538574B true CN113538574B (zh) | 2022-09-27 |
Family
ID=78094327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110004047.5A Active CN113538574B (zh) | 2021-01-04 | 2021-01-04 | 位姿定位方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113538574B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114332049B (zh) * | 2021-12-31 | 2023-03-03 | 广东利元亨智能装备股份有限公司 | 边缘检测方法、装置、电子设备及存储介质 |
CN114536399B (zh) * | 2022-01-07 | 2023-04-25 | 中国人民解放军海军军医大学第一附属医院 | 基于多个位姿标识的误差检测方法及机器人*** |
CN114596368B (zh) * | 2022-05-10 | 2022-07-08 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、计算机设备以及可读存储介质 |
CN114972958B (zh) * | 2022-07-27 | 2022-10-04 | 北京百度网讯科技有限公司 | 关键点检测方法、神经网络的训练方法、装置和设备 |
CN116071361B (zh) * | 2023-03-20 | 2023-07-04 | 深圳思谋信息科技有限公司 | 针对工件的视觉定位方法、装置、计算机设备和存储介质 |
CN116612043B (zh) * | 2023-06-02 | 2024-04-02 | 萱闱(北京)生物科技有限公司 | 一种图像处理方法、装置、设备和存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8396301B2 (en) * | 2009-09-24 | 2013-03-12 | Gtech Corporation | System and method for document location and recognition |
CN103198492A (zh) * | 2013-03-28 | 2013-07-10 | 沈阳航空航天大学 | 一种人体运动捕获方法 |
CN105303189B (zh) * | 2014-07-29 | 2019-08-20 | 阿里巴巴集团控股有限公司 | 一种用于检测预定区域中特定标识图像的方法及装置 |
CN108305261A (zh) * | 2017-08-11 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 图片分割方法、装置、存储介质和计算机设备 |
CN107766859B (zh) * | 2017-10-31 | 2020-12-11 | 广东美的智能机器人有限公司 | 移动机器人定位方法、装置及移动机器人 |
CN109934216B (zh) * | 2017-12-19 | 2021-05-11 | 华为技术有限公司 | 图像处理的方法、装置、计算机可读存储介质 |
CN108615247B (zh) * | 2018-04-27 | 2021-09-14 | 深圳市腾讯计算机***有限公司 | 相机姿态追踪过程的重定位方法、装置、设备及存储介质 |
CN108717709B (zh) * | 2018-05-24 | 2022-01-28 | 东北大学 | 图像处理***及图像处理方法 |
CN109271823A (zh) * | 2018-08-08 | 2019-01-25 | 佛山市顺德区中山大学研究院 | 一种自定义二维码的快速定位方法 |
CN109711415A (zh) * | 2018-11-13 | 2019-05-03 | 平安科技(深圳)有限公司 | 证件轮廓确定方法、装置及存储介质、服务器 |
CN110246163B (zh) * | 2019-05-17 | 2023-06-23 | 联想(上海)信息技术有限公司 | 图像处理方法及其装置、设备、计算机存储介质 |
CN111680685B (zh) * | 2020-04-14 | 2023-06-06 | 上海高仙自动化科技发展有限公司 | 一种基于图像的定位方法、装置、电子设备及存储介质 |
CN111931701B (zh) * | 2020-09-11 | 2021-01-15 | 平安国际智慧城市科技股份有限公司 | 基于人工智能的姿态识别方法、装置、终端和存储介质 |
-
2021
- 2021-01-04 CN CN202110004047.5A patent/CN113538574B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113538574A (zh) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113538574B (zh) | 位姿定位方法、装置、设备及计算机可读存储介质 | |
CN112348815B (zh) | 图像处理方法、图像处理装置以及非瞬时性存储介质 | |
US20190138849A1 (en) | Rotation variant object detection in deep learning | |
CN111931764B (zh) | 一种目标检测方法、目标检测框架及相关设备 | |
CN105023010A (zh) | 一种人脸活体检测方法及*** | |
CN112085840A (zh) | 语义分割方法、装置、设备及计算机可读存储介质 | |
CN113034495B (zh) | 一种脊柱影像分割方法、介质及电子设备 | |
CN108734087A (zh) | 物体自动识别方法以及***、购物设备和存储介质 | |
CN108717709A (zh) | 图像处理***及图像处理方法 | |
CN111626295B (zh) | 车牌检测模型的训练方法和装置 | |
CN107368790B (zh) | 行人检测方法、***、计算机可读存储介质及电子设备 | |
CN113989944B (zh) | 操作动作识别方法、装置及存储介质 | |
CN105574545B (zh) | 街道环境图像多视角语义切割方法及装置 | |
CN109816634B (zh) | 检测方法、模型训练方法、装置及设备 | |
CN110704652A (zh) | 基于多重注意力机制的车辆图像细粒度检索方法及装置 | |
CN107077739A (zh) | 使用单目相机的三维标记模型构建和实时跟踪 | |
CN108274476B (zh) | 一种人形机器人抓取球体的方法 | |
CN112001219A (zh) | 一种多角度多人脸识别考勤方法及*** | |
Zhuang et al. | Instance segmentation based 6D pose estimation of industrial objects using point clouds for robotic bin-picking | |
CN111027526A (zh) | 一种提高车辆目标检测识别检测效率的方法 | |
CN113160275A (zh) | 一种基于多个视频的自动目标跟踪和轨迹计算的方法 | |
Naseer et al. | Multimodal Objects Categorization by Fusing GMM and Multi-layer Perceptron | |
Zhang | 2D Computer Vision | |
CN115527083A (zh) | 图像标注方法、装置和电子设备 | |
CN113239915A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40055210 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |