CN118279399B - 扫描设备位姿跟踪方法及跟踪设备 - Google Patents
扫描设备位姿跟踪方法及跟踪设备 Download PDFInfo
- Publication number
- CN118279399B CN118279399B CN202410709331.6A CN202410709331A CN118279399B CN 118279399 B CN118279399 B CN 118279399B CN 202410709331 A CN202410709331 A CN 202410709331A CN 118279399 B CN118279399 B CN 118279399B
- Authority
- CN
- China
- Prior art keywords
- point
- pixel
- target
- tracking
- contour
- 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
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
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种扫描设备位姿跟踪方法及跟踪设备,跟踪设备与扫描设备通信连接,该方法包括:采集扫描设备的扫描头上的标志点的图像,以及基于标志点的图像,生成多张标志点子图;识别每张标志点子图中至少一个标志点对应的标志点区域,并从标志点区域检测所述至少一个标志点的边缘,得到目标边缘图;基于对目标边缘图的轮廓跟踪,确定至少一个标志点的目标轮廓;依据目标轮廓中每个目标坐标以及曲线方程进行拟合,得到所述至少一个标志点对应的目标矩阵;基于目标矩阵,得到曲线方程的参数;基于曲线方程的参数,计算至少一个标志点的轮廓形状参数,轮廓形状参数用于计算扫描头的位姿。利用本申请,能够提高扫描设备的位姿的跟踪效率。
Description
技术领域
本申请涉及三维扫描技术领域,尤其涉及一种扫描设备位姿跟踪方法及跟踪设备。
背景技术
随着现代科技的发展,跟踪式扫描仪在各个领域的应用越来越广泛,其工作范围也在不断扩大。为了确保在大范围内跟踪式扫描仪对扫描头的跟踪精度,需要采集高分辨率图像。
然而,高分辨率图像带来了数据算力上的挑战。相关技术中往往依赖于计算机设备对高分辨率图像进行处理,然而计算机的处理能力有限,难以满足高分辨率图像对处理能力的需求,导致对扫描头的位姿的跟踪效率不佳,扫描出现卡顿、崩溃等情况,严重影响扫描效率。
发明内容
鉴于以上内容,有必要提供一种扫描设备位姿跟踪方法及跟踪设备,能够解决由于严重依赖计算机设备的处理能力导致对扫描头的位姿的跟踪效率不佳技术问题。
一方面,本申请提供一种扫描设备位姿跟踪方法,应用于跟踪设备,所述跟踪设备与扫描设备通信连接,所述扫描设备包括扫描头,所述方法包括:采集所述扫描头上的标志点的图像,以及基于所述标志点的图像,生成多张标志点子图,识别每张标志点子图中至少一个标志点对应的标志点区域,并从所述标志点区域检测所述至少一个标志点的边缘,得到所述每张标志点子图对应的目标边缘图,基于对所述目标边缘图的轮廓跟踪,确定所述至少一个标志点的目标轮廓,依据所述目标轮廓中每个目标坐标以及预设的曲线方程进行拟合,得到所述至少一个标志点对应的目标矩阵,所述曲线方程用于描述所述至少一个标志点的轮廓形状,基于所述目标矩阵,得到所述曲线方程的参数,基于所述曲线方程的参数,计算所述至少一个标志点的轮廓形状参数,所述轮廓形状参数用于计算所述扫描头的位姿。
在本申请的一些实施例中,所述方法还包括:将所述轮廓形状参数发送至电子设备,使得所述电子设备依据所述轮廓形状参数计算所述扫描头的位姿,并按照所述扫描头的位姿拼接扫描对象的点云数据,得到所述扫描对象的点云模型,所述点云数据通过所述扫描头对所述扫描对象进行扫描生成。
在本申请的一些实施例中,所述从所述标志点区域检测所述至少一个标志点的边缘,得到所述每张标志点子图对应的目标边缘图包括:对所述标志点区域进行滤波处理,得到标志点滤波区域,计算所述标志点滤波区域中每个像素点的梯度值及梯度方向,并调整所述标志点滤波区域中每个梯度方向上的像素点的像素值,得到初始二值图,基于所述初始二值图中每个像素点的梯度值与预设的初始梯度阈值之间的比较,调整所述初始二值图中对应像素点的像素值,得到边缘二值图,根据所述标志点滤波区域计算二值化参数,根据所述二值化参数对所述标志点滤波区域进行二值化处理,并对二值化处理后的标志点滤波区域进行开运算处理,得到掩码二值图,根据所述边缘二值图及所述掩码二值图生成所述目标边缘图。
在本申请的一些实施例中,所述调整所述标志点滤波区域中每个梯度方向上的像素点的像素值,得到初始二值图包括:确定所述标志点滤波区域中所述每个梯度方向上除了最大的像素值对应的像素点之外的像素点,并将所述除了最大的像素值对应的像素点之外的像素点的像素值调整为第一预设值,得到所述初始二值图。
在本申请的一些实施例中,所述初始梯度阈值包括第一初始梯度阈值以及第二初始梯度阈值,所述第一初始梯度阈值大于所述第二初始梯度阈值,对所述初始二值图中像素点的像素值的调整包括:若所述初始二值图中每个像素点的梯度值小于所述第二初始梯度阈值,调整所述初始二值图中所述每个像素点的像素值为所述第一预设值,若所述初始二值图中每个像素点的梯度值大于所述第一初始梯度阈值,调整所述初始二值图中所述每个像素点的像素值为第二预设值,若所述初始二值图中每个像素点的梯度值小于或等于所述第一初始梯度阈值并且大于或等于所述第二初始梯度阈值,调整所述初始二值图中所述每个像素点的像素值为第三预设值,将像素值为所述第三预设值的像素点确定为候选像素点,若每个候选像素点的邻域内存在像素值为所述第二预设值的像素点,将所述每个候选像素点的像素值由所述第三预设值调整为所述第二预设值,或者,若所述每个候选像素点的邻域内不存在像素值为所述第二预设值的像素点,将所述每个候选像素点的像素值由所述第三预设值调整为所述第一预设值。
在本申请的一些实施例中,所述根据所述边缘二值图及所述掩码二值图生成所述目标边缘图包括:通过比对所述边缘二值图与所述掩码二值图,确定所述边缘二值图中未存在于所述掩码二值图的像素点,将所述边缘二值图中未存在于所述掩码二值图的像素点以及离散的像素点的像素值调整为所述第一预设值,得到中间二值图,对所述中间二值图进行膨胀处理,得到所述目标边缘图。
在本申请的一些实施例中,所述方法还包括:统计所述标志点图像中闭合的目标轮廓对应的标志点子图的总数量,并根据所述总数量计算目标值;若所述目标值小于预设阈值,将所述初始梯度阈值调整为更新的梯度阈值,所述更新的梯度阈值用于对下一张标志点图像进行处理。
在本申请的一些实施例中,边缘像素点所述目标轮廓的确定包括:利用爬虫算法在所述目标边缘图上进行轮廓跟踪,确定所述至少一个标志点对应的初始轮廓,并通过对所述初始轮廓边缘像素点进行亚像素拟合,确定所述目标轮廓,其中,所述爬虫算法具有两只爬虫,每只爬虫对应一个旋转方向且两只爬虫对应的旋转方向相反。
在本申请的一些实施例中,所述目标边缘图包括所述至少一个标志点对应的边缘像素点,所述利用爬虫算法在所述目标边缘图上进行轮廓跟踪,确定所述至少一个标志点对应的初始轮廓包括:从所述目标边缘图中选取一边缘像素点的坐标作为所述两只爬虫的起点坐标,根据所述起点坐标以及预设的搜索策略令所述每只爬虫运动,包括:按照所述每只爬虫对应的旋转方向每隔预设角度搜索所述每只爬虫的邻域内的最后一个边缘像素点,令所述每只爬虫从所述起点坐标运动至最后一个边缘像素点的坐标,将所述每只爬虫的起点坐标更新为所述最后一个边缘像素点的坐标,利用更新后的起点坐标以及所述搜索策略重复执行令所述每只爬虫运动的流程,直至两只爬虫相遇后令所述两只爬虫均停止运动,并将所述两只爬虫的运动路径确定为所述初始轮廓。
另一方面,本申请提供一种跟踪设备,所述跟踪设备与扫描设备通信连接,所述扫描设备包括扫描头,所述跟踪设备包括处理芯片,所述处理芯片包括处理器及可编程逻辑器件,所述处理器与所述可编程逻辑器件通信连接,所述可编程逻辑器件采集所述扫描头上的标志点的图像,以及基于所述标志点的图像,生成多张标志点子图,所述可编程逻辑器件识别每张标志点子图中至少一个标志点对应的标志点区域,并从所述标志点区域检测所述至少一个标志点的边缘,得到所述每张标志点子图对应的目标边缘图,所述可编程逻辑器件基于对所述目标边缘图的轮廓跟踪,确定所述至少一个标志点的目标轮廓,所述可编程逻辑器件依据所述目标轮廓中每个目标坐标以及预设的曲线方程进行拟合,得到所述至少一个标志点对应的目标矩阵,所述曲线方程用于描述所述至少一个标志点的轮廓形状,所述可编程逻辑器件基于所述目标矩阵,得到所述曲线方程的参数,所述可编程逻辑器件将所述曲线方程的参数发送至所述处理器,所述处理器基于接收到的所述曲线方程的参数,计算所述至少一个标志点的轮廓形状参数,所述轮廓形状参数用于计算所述扫描头的位姿。
另一方面,本申请提供一种跟踪设备,所述跟踪设备与扫描设备及电子设备通信连接,所述扫描设备包括扫描头,所述跟踪设备包括处理芯片、存储器及传感器,所述处理芯片包括处理器及可编程逻辑器件,所述处理器通过通用串行总线USB控制器与所述可编程逻辑器件通信连接,
所述处理器执行上电初始化流程,包括:所述处理器进入热机状态,在热机完成之后,进入等待扫描状态;
所述USB控制器执行上电初始化流程,包括:所述USB控制器执行初始化处理,并执行初始化配置,所述初始化配置包括所述可编程逻辑器件的固件的配置、所述传感器的寄存器的配置、USB接口的配置及读写功能的配置;
在接收到电子设备发送的扫描指令时,所述处理器根据所述扫描指令中携带的模式信息生成对应的控制指令,并通过所述USB控制器向所述可编程逻辑器件发送所述控制指令,完成对所述可编程逻辑器件的传输模式的配置,所述模式信息包括调焦模式及非调焦模式,所述传输模式包括与所述调焦模式对应的标志点传输模式及与所述非调焦模式对应的原图传输模式;
在接收到所述控制指令之后,所述可编程逻辑器件进行同步触发,并在同步触发完成之后,通过所述传感器采集所述扫描头上的标志点的图像;
若所述控制指令为所述标志点传输模式对应的第一控制指令,所述可编程逻辑器件基于所述标志点的图像,生成多张标志点子图,识别每张标志点子图中至少一个标志点对应的标志点区域,并根据所述第一控制指令确定是否进行标志点参数的计算;若确定进行标志点参数的计算,所述可编程逻辑器件从所述标志点区域检测所述至少一个标志点的边缘,得到所述每张标志点子图对应的目标边缘图,基于对所述目标边缘图的轮廓跟踪,确定所述至少一个标志点的目标轮廓,依据所述目标轮廓中每个目标坐标以及预设的曲线方程进行拟合,得到所述至少一个标志点对应的目标矩阵,所述曲线方程用于描述所述至少一个标志点的轮廓形状,基于所述目标矩阵,得到所述曲线方程的参数,或者,若确定不进行标志点参数的计算,所述可编程逻辑器件从所述标志点的图像抠出所述标志点区域,所述可编程逻辑器件将所述曲线方程的参数或所述标志点区域存入所述存储器;
若所述控制指令为所述原图传输模式对应的第二控制指令,所述可编程逻辑器件将所述标志点的图像存入所述存储器;
所述可编程逻辑器件通过所述USB控制器从所述存储器中将所述标志点的图像、所述标志点区域或所述曲线方程的参数发送至所述处理器;
所述处理器对接收到的所述标志点的图像、所述标志点区域或所述曲线方程的参数进行数据解析,得到解析后的数据,包括:基于所述曲线方程的参数,计算所述至少一个标志点的轮廓形状参数,所述轮廓形状参数用于计算所述扫描头的位姿;
所述处理器将所述解析后的数据发送至所述电子设备。
通过上述实施方式,对标志点的图像进行精细处理,包括生成标志点子图、识别标志点区域、检测边缘、跟踪轮廓等步骤,能够准确获取标志点的轮廓信息。由于曲线方程用于描述标志点的轮廓形状,因此依据目标轮廓进行曲线拟合,得到目标矩阵,并依据目标矩阵求解曲线方程的参数,使得曲线方程的参数能够准确描述标志点的轮廓形状。通过准确的标志点的轮廓形状,能够准确地计算扫描头位姿。此外,本申请实施例提供的扫描设备的跟踪方法应用于跟踪设备,而不依赖计算机设备进行跟踪。在利用跟踪设备及计算机设备配合计算扫描头的位姿时,通过先在跟踪设备中计算曲线方程的参数,能够减轻计算机设备的处理负担,从而能够提高对扫描头的位姿的跟踪效率。
附图说明
图1是本申请一实施例提供的跟踪式扫描系统的示意图。
图2是本申请一实施例提供的跟踪设备的结构示意图。
图3是本申请一实施例提供的扫描设备位姿跟踪方法的流程图。
图4是本申请一实施例提供的ARM处理器、USB控制器及FPGA芯片的配置及工作示意图。
图5是本申请一实施例提供的目标边缘图的生成方法的流程图。
图6是本申请一实施例提供的初始二值图中像素点的像素值的调整方法的流程图。
图7是相关技术中爬虫算法的运动示意图。
图8是本申请一实施例提供的利用爬虫算法确定初始轮廓的方法流程图。
图9是本申请一实施例提供的初始轮廓的示意图。
图10是本申请一实施例提供的跟踪式扫描设备的示意图。
具体实施方式
需要说明的是,本申请中“至少一个”是指一个或者多个,“多个”是指两个或多于两个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。本申请的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不是用于描述特定的顺序或先后次序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
随着现代科技的发展,跟踪式扫描仪在各个领域的应用越来越广泛,其工作范围也在不断扩大。为了确保在大范围内跟踪式扫描仪对扫描头的跟踪精度,需要采集高分辨率图像。
然而,高分辨率图像同时也带来了数据传输和数据算力上的挑战。传统的数据传输方式(比如USB3.0)的速度和带宽有限,难以满足高分辨率图像的实时传输需求,导致跟踪帧率下降。同时,相关技术中往往依赖于计算机设备对高分辨率图像进行处理,然而计算机的处理能力有限,难以满足高分辨率图像对处理能力的需求,导致对扫描头的位姿的跟踪效率不佳,扫描出现卡顿、崩溃等情况,严重影响扫描效率。在大范围跟踪场景中,由于数据传输和计算机的处理能力的限制,跟踪式扫描仪难以实时获取和处理高分辨率图像,导致跟踪帧率下降,造成扫描时出现卡顿现象,严重影响扫描效率和用户体验。例如,在利用24M红外相机进行拍摄时,传统的数据传输方式及计算机具备约10帧的高分辨率图像的传输能力和处理能力。
此外,大范围跟踪式扫描仪的线束长度通常较长,随着线束长度的增加,制造和材料成本也相应增加,且电源供给和网络信号的质量必然会受到影响。
为解决这一技术问题,本申请实施例提供一种扫描设备位姿跟踪方法,能够提高对扫描设备位姿的跟踪效率。本申请实施例提供的扫描设备位姿跟踪方法可应用于一个或多个跟踪设备中,也可应用于包括跟踪设备以及扫描设备的跟踪式扫描仪中,下文将结合应用场景以及流程图对扫描设备位姿跟踪方法进行说明。
如图1所示,是本申请一实施例提供的跟踪式扫描系统的示意图。在图1中,跟踪式扫描系统包括多个跟踪设备(跟踪仪)10、扫描设备(扫描仪)20、集线器(Hub)30、电子设备40及电源50,其中,跟踪设备10、扫描设备20、电子设备40与电源50之间通过集线器30进行通信连接,本申请对跟踪设备10的数量不作限制。在本实施例中,跟踪设备10和扫描设备20可以是两个独立运行且可实现通信连接的设备,在其他实施例中,跟踪设备10和扫描设备20也可以是属于同一个设备(例如,跟踪式扫描仪)中的两个子设备,可组装后协同运行,也可拆卸后独立运行,本申请对跟踪设备10和扫描设备20的设备形态、运行方式等不做限制。
扫描设备20用于对扫描对象进行扫描,得到扫描对象的点云数据,并将扫描对象的点云数据发送至电子设备40,跟踪设备10用于对扫描设备20的扫描头上的标志点进行拍摄,得到标志点图像,依据标志点图像计算标志点的轮廓形状参数,并根据标志点的轮廓形状参数计算扫描设备20的扫描头的位姿,跟踪设备10将扫描头的位姿发送至电子设备40。电子设备40按照接收到的扫描头的位姿拼接扫描对象的点云数据,得到扫描对象的点云模型。电源50用于为跟踪设备10、扫描设备20、电子设备40进行供电。
跟踪设备10可以包括传感器(SENSOR)、处理芯片及存储器。处理芯片可以包括可编程逻辑器件及主控板,本申请对传感器、可编程逻辑器件及主控板中的处理器的类型不作限制。例如,传感器可以为具有两个传感器的2400万像素的红外相机(双目2M红外相机),可编程逻辑器件可以为现场可编程门阵列(Field-Programmable Gate Array,FPGA)芯片,主控板中的处理器可以为ARM处理器。
例如,如图2所示,是本申请一实施例提供的跟踪设备的结构示意图。在图2中,跟踪设备10可以包括主控板101、FPGA芯片102、双目2M红外相机对应的传感器103及存储器104。
在图2中, FPGA芯片102与主控板101通信连接,每个FPGA芯片101与一传感器103通信连接,主控板101及FPGA芯片102均与存储器104通信连接。其中,本申请对FPGA芯片102与主控板101之间、FPGA芯片101与传感器103之间的通信方式不作限制。例如,FPGA芯片102可以通过具有微处理单元(Microcontroller Unit,MCU)的通用串行总线(UniversalSerial Bus,USB)与主控板进行通信。本申请实施例对通用串行总线的类型不作限制。例如,具有微处理单元的通用串行总线可以利用第三代通用串行总线技术(USB3.0)。为了便于说明,以下将具有微处理单元的USB简称为USB控制器。
主控板101负责跟踪设备10的整体控制和协调工作。例如,主控板101的主要功能包括:
通信功能:主控板101可以集成有通信接口,用于与集线器进行通信连接。通过通信接口,主控板101可以将处理后的数据通过集线器传输给电子设备40,实现数据的共享和交换。同时,通过通信接口,主控板101可以接收电子设备40发送的指令(例如,扫描指令)和参数设置,实现对可编程逻辑器件等设备的控制和配置。
控制功能:主控板可以通过内部的处理器(比如ARM处理器)解析和执行电子设备40发送的指令。除此之外,主控板101中的处理器还可以控制传感器的开关、拍摄参数的设置,以及可编程逻辑器件的工作模式等。通过精确控制各个模块的工作状态,确保跟踪设备10能够按照预设要求进行拍摄和数据处理。
数据处理:除了控制功能外,主控板101还负责接收来自FPGA芯片102及传感器103的数据,并通过处理器进行初步处理。例如,主控板101可以接收传感器103拍摄的标志点图像,并通过处理器对标志点图像进行格式转换、噪声滤除等图像处理操作。除此之外,主控板101还可以接收通过FPGA芯片102处理后的标志点的轮廓形状参数,并与其他数据进行融合,为后续的位姿计算和运动分析提供准确的数据支持。
电源管理:主控板101还可以负责对跟踪设备10的电源管理,确保各个模块在合适的电压和电流下稳定工作。例如,主控板101可以监测电源状态,并在电量不足时发出提醒,确保跟踪设备10能够持续、稳定地运行。
FPGA芯片102分别与主控板101和传感器103通信连接以及数据传输。例如,FPGA芯片可以通过USB控制器与主控板101进行高速通信,通过USB、SPI、I2C等接口与传感器103通信。FPGA芯片102可以接收来自传感器103捕捉到的标志点的图像,并对标志点的图像进行识别标志点区域、对标志点区域进行滤波处理、检测标志点的边缘、跟踪标志点的轮廓(目标轮廓)、计算用于描述标志点的轮廓形状的曲线方程的系数(计算标志点参数)等处理。
传感器103,用于对扫描设备的扫描头的标志点进行拍摄,得到标志点的图像,并将标志点的图像发送至FPGA芯片102。
存储器104可以包括一个或多个随机存取存储器(random access memory,RAM)和一个或多个非易失性存储器(non-volatile memory,NVM)。随机存取存储器可以由处理器103直接进行读写,可以用于存储或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用的数据等。随机存取存储器可以包括静态随机存储器(staticrandom-access memory,SRAM)、动态随机存储器(dynamic random access memory,DRAM)、同步动态随机存储器(synchronous dynamic random access memory, SDRAM)、双倍资料率同步动态随机存取存储器(double data rate synchronous dynamic random accessmemory, DDR SDRAM)等。
非易失性存储器也可以存储可执行程序和存储用户及应用的数据等,可以提前加载到随机存取存储器中,用于主控板101直接进行读写。非易失性存储器可以包括磁盘存储器件、快闪存储器(flash memory)。
存储器104用于存储一个或多个计算机程序。一个或多个计算机程序被配置为被主控板101中的处理器执行。该一个或多个计算机程序包括多个指令,多个指令被主控板101中的处理器执行时,可实现在跟踪设备10上执行的扫描设备位姿跟踪方法。
在其他实施例中,如图2所示的跟踪设备10还包括外部存储器接口,用于连接外部的存储器,实现扩展跟踪设备10的存储能力。
在本申请的其他实施例中,跟踪设备10还可以包括补光灯、显示屏、风扇、温度传感器(温感)、热控组件(热控)、无线保真(Wireless Fidelity,Wi-Fi)天线、蓝牙(Bluetooth,BT)天线、RGB灯按键、音频、电源适配器、总线等器件(图2未示)。补光灯用于在光线不足的环境中为传感器103提供辅助照明,确保拍摄的图像质量。显示屏可以为多点触控显示屏,用于显示跟踪设备10的工作状态及工作模式等,便于用户查看和操作。风扇用于散热,确保跟踪设备10在高负荷运行时能够保持稳定的温度,防止过热损坏。温度传感器(温感)用于实时监测跟踪设备10的温度,确保跟踪设备10在安全的工作温度范围内运行。热控组件通常与温度传感器配合使用,根据温度传感器的反馈,自动调节跟踪设备10的散热性能,保持跟踪设备10在适宜的温度下工作。无线保真天线用于连接无线网络,实现跟踪设备10与其他设备或网络的通信。蓝牙天线用于提供蓝牙通信功能,方便设备与其他设备(如手机、平板等)进行无线连接和数据传输。RGB灯按键可以用于指示跟踪设备10的状态或进行某些操作,RGB灯能够显示不同的颜色,用以区分不同的状态或功能。音频可以包括麦克风和扬声器,用于录制声音或播放提示音、警告音等。
跟踪设备10中的电源适配器、总线、无线保真(Wireless Fidelity,Wi-Fi)天线、蓝牙(Bluetooth,BT)天线等器件能够支持跟踪设备10在不同工作模式下进行工作。例如,在有线工作模式下,跟踪设备10可以采用电源适配器供电,利用千兆网络传输数据,利用总线(例如RS485)通信实现系统同步,在无线工作模式下,跟踪设备10可以采用外接电池供电,利用无线保真(Wi-Fi6)传输数据,利用蓝牙通信实现系统同步。
扫描设备20可以包括扫描头,扫描头上多个标志点,标志点又称为反光标识点/反光标志点(Marker),可以是各种形状和材质的物体,用于定位和校准扫描头在扫描过程重点位姿和运动,确保扫描效果。例如,标志点可以为圆形。其中,一个扫描设备中的扫描头的数量可以为一个或多个。
电子设备40可以为手机、平板电脑、笔记本电脑、计算机设备等设备,本申请实施例对电子设备40的具体类型不作任何限制。
可以理解的是,本申请实施例示意的结构并不构成对图1及图2中任何设备的具体限定。在本申请另一些实施例中,图1及图2中的每个设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
如图3所示,是本申请一实施例提供的扫描设备位姿跟踪方法的流程图。根据不同的需求,该流程图中各个步骤的顺序可以根据实际要求进行调整,某些步骤可以省略。所述扫描设备位姿跟踪方法应用于跟踪设备,例如图1及图2所示的跟踪设备10。
S11,采集扫描设备的扫描头上的标志点的图像,以及基于标志点的图像,生成多张标志点子图。
在本申请的一些实施例中,跟踪设备与电子设备、扫描设备通信连接,跟踪设备可以包括传感器、可编程逻辑器件及主控板。本申请对传感器、可编程逻辑器件及主控板中的处理器的类型不作限制。例如,传感器可以为红外相机或摄像头等,可编程逻辑器件可以为FPGA芯片,主控板中的处理器可以为ARM处理器。为了清楚说明本申请实施例提供的扫描设备位姿跟踪方法,下文将以可编程逻辑器件为FPGA芯片为例,以传感器为双目红外相机为例,并以主控板中的处理器为ARM处理器为例进行描述。FPGA芯片可以通过USB控制器与主控板进行通信。USB控制器集成了ARM Cortex-M3处理器及直接存储器访问(Direct MemoryAccess,DMA)引擎,支持USB3.0规范,提供了高效的数据传输和处理能力。
相较于相关技术利用传统的USB接口进行数据传输,本申请实施例中的FPGA芯片通过USB控制器与主控板通信连接,由于本申请实施例中的USB控制器具备高速传输的能力,因此能够显著提高传输效率,满足高分辨率图像的传输需求,减少由于数据传输方式(比如USB3.0)的速度和带宽的有限性导致跟踪帧率不佳的问题。
基于FPGA芯片,本申请实施例可以实现图像数据采集,支持暗电平校正、分辨率自适应、图像数据校验和FPGA内部开窗等功能。FPGA芯片可以控制传感器中进行拍摄,并获取传感器拍摄的图像,实现图像数据采集功能。通过对图像进行暗电平校正处理,可以消除或减少图像中的固定模式噪声,从而提高图像质量。FPGA芯片可以支持处理多种不同分辨率的图像数据,并根据实际需求自动调整处理策略,从而实现分辨率自适应功能。为了确保数据的完整性和准确性,FPGA芯片还可以对图像进行校验,实现图像数据校验功能。用户或FPGA芯片可以选择图像中的任一块区域作为特定区域,并对特定区域(或“窗口”)进行进一步处理或分析,从而实现FPGA内部开窗功能。
在本申请的一些实施例中,在接收到ARM处理器发送的控制指令时,FPGA芯片可以控制红外相机对扫描设备的扫描头上的标志点进行拍摄,得到标志点的图像。其中,控制指令可以是ARM处理器针对电子设备发送的扫描指令生成并通过USB控制器向FPGA芯片发送得到,控制指令的类型可以进行自定义设置,本申请对此不作限制。标志点可以为各类形状,本申请对标志点的形状不作限制。例如,标志点的形状可以为圆形或矩形等。
在本申请的一些实施例中,在获得标志点的图像之后,FPGA芯片可以对标志点的图像进行图像分割或图像处理和图像分割,得到多张标志点子图。其中,图像处理可以为暗电平校正,图像分割的方法可以进行自定义设置,本申请对此不作限制。例如,FPGA芯片可以将按列标志点的图像分割为3个、4个或5个标志点子图。
在本实施例中,对标志点图像进行图像分割,得到多个标志点子图,便于FPGA芯片进行并行处理,因此能够提高每个标志点子图处理效率。
在本申请的一些实施例中,在有线工作模式下,跟踪设备可以采用电源适配器供电,利用千兆网络传输数据,利用总线(例如RS485)通信实现系统同步,在无线工作模式下,跟踪设备可以采用外接电池供电,利用无线保真(例如Wi-Fi6)传输数据,并利用蓝牙通信实现系统同步。因此,本申请实施例中的跟踪设备提供一种无线工作模式,在无线工作模式下工作不受线束长度的影响,并且可以外接电源进行供电。
S12,识别每张标志点子图中至少一个标志点对应的标志点区域,并从标志点区域检测所述至少一个标志点的边缘,得到所述每张标志点子图对应的目标边缘图。
在本申请的一些实施例中,FPGA芯片可以利用线段编号、区域编号的方法识别每张标志点子图中的标志点区域,每个标志点区域对应至少一个标志点。利用线段编号、区域编号的方法识别每张标志点子图中的标志点区域的方法可以参考相关技术,本申请对此不再过多说明。
在本申请的一些实施例中,FPGA芯片可以利用边缘检测算法对标志点区域进行边缘检测,得到每张标志点子图对应的目标边缘图。其中,边缘检测算法可以进行自定义设置,本申请对此不作限制。例如,边缘检测算法可以为Canny检测算法或Sobel检测算法等。利用边缘检测算法对标志点区域进行检测,得到目标边缘图的具体方法可以参考下文的步骤S121-S125以及步骤S1231-S1238。
在本申请的一些实施例中,通过边缘检测,可以区分目标边缘图中的边缘像素点及背景像素点,边缘像素点是标志点在目标边缘图中对应的像素点,背景像素点是非标志点(背景)在目标边缘图中对应的像素点。
在本实施例中,在目标边缘图中,边缘像素点和背景像素点得到了明确的区分,便于后续对标志点的识别、定位和分析。
S13,基于对目标边缘图的轮廓跟踪,确定所述至少一个标志点的目标轮廓。
在本申请的一些实施例中, FPGA芯片利用爬虫算法在目标边缘图上进行轮廓跟踪,确定所述至少一个标志点对应的初始轮廓,并通过对初始轮廓进行亚像素拟合,确定目标轮廓。
其中,本申请实施例提供的爬虫算法具有两只爬虫,每只爬虫对应一个旋转方向且两只爬虫对应的旋转方向相反,旋转方向包括逆时针和顺时针,每只爬虫具有多个运动方向。例如,每只爬虫可以具有8个运动方向,包括向上、向下、向左、向右及两条对角线的方向,任意两个运动方向之间的角度可以为45°。FPGA芯片利用爬虫算法对目标边缘图进行轮廓跟踪,得到初始轮廓的方法可以参考下文中的步骤S131-S134。
在本申请的一些实施例中,FPGA芯片对初始轮廓进行亚像素拟合,得到目标轮廓包括:FPGA芯片计算初始轮廓中每个边缘像素点的梯度信息,每个梯度信息包括梯度值及梯度方向,通过在所述每个边缘像素点的梯度方向上进行梯度的局部二次曲线拟合(抛物线求最大值),确定最大的梯度值(抛物线的顶点)对应的亚像素坐标为目标坐标,并将多个目标坐标的连接线确定为目标轮廓。
其中,抛物线中最大的梯度值对应的点(抛物线的顶点)往往不会恰好落在边缘像素点的整数坐标上,而是会位于两个边缘像素点的整数坐标之间,因此抛物线中最大的梯度值对应的点往往会对应一个亚像素坐标。
初始轮廓中每个边缘像素点的梯度信息的计算方法可以进行自定义设置,本申请对此不作限制。例如,FPGA芯片可以利用Sobel算子计算初始轮廓中每个边缘像素点的梯度信息。亚像素坐标(目标坐标)以小数的形式表示更精确的位置,由于亚像素坐标(目标坐标)具有小数形式的精度,因此亚像素坐标(目标坐标)的精度高于相对于边缘像素点的整数坐标。
在本实施例中,采用爬虫算法对目标边缘图进行轮廓跟踪,能够准确捕捉标志点的初始轮廓。通过亚像素拟合,对每个边缘像素点的梯度信息进行精细分析,得到更精确的亚像素坐标作为目标坐标,能够提高了目标轮廓的精度。
S14,依据目标轮廓中每个目标坐标以及预设的曲线方程进行拟合,得到所述至少一个标志点对应的目标矩阵。
在本申请的一些实施例中,目标矩阵可以为曲线方程的系数构成的矩阵。FPGA芯片可以利用拟合法对目标轮廓中每个像素点的坐标以及预设的曲线方程进行拟合,得到目标矩阵。其中,拟合法可以进行自定义设置,本申请对此不作限制。例如,拟合法可以为最小二乘拟合法、多项式拟合法及高斯拟合法等。
曲线方程用于描述所述至少一个标志点的轮廓形状。例如,若标志点的形状为圆形,通过红外相机拍摄时,由于透视效应,圆形的标志点在图像中会呈现为椭圆形,因此曲线方程可以为椭圆方程。若曲线方程为椭圆方程,FPGA芯片可以利用最小二乘拟合法对椭圆方程的矩阵表达式进行拟合,并将拟合得到的最小二乘矩阵确定为目标矩阵,椭圆方程的矩阵表达式可以通过对椭圆方程的一般表达式进行变换得到。椭圆方程的一般表达式可以参考(1),椭圆方程的矩阵表达式可以参考公式(2),目标矩阵可以参考公式(3)。
;(1)
;(2)
;(3)
其中,对应目标轮廓中第个目标坐标中的横坐标,对应目标轮廓中第个目标坐标中的纵坐标,A、B、C、D、E均为椭圆方程的系数。
在本实施例中,通过利用FPGA芯片强大的计算能力进行拟合,能够精确地计算得到椭圆方程的系数构成的目标矩阵。
S15,基于目标矩阵,得到曲线方程的参数。
在本申请的一些实施例中,FPGA芯片可以对目标矩阵进行矩阵分解,并对矩阵分解后的目标矩阵进行解方程,得到曲线方程的参数。其中,矩阵分解方法可以进行自定义设置,本申请对此不作限制。
例如,若曲线方程为椭圆方程,以及目标矩阵如上述公式(3)所示,FPGA芯片可以将上述公式(3)中的分解为一个下三角矩阵L和一个上三角矩阵U的乘积,通过目标坐标对L*U*进行求解,可以得到A、B、C、D、E对应的具体数值。
在本实施例中,LU分解法具有数值稳定、计算效率高等优势,通过LU矩阵分解方法进行求解,能够提高求解效率。
在本申请的一些实施例中,在计算得到曲线方程的参数之后,FPGA芯片可以将曲线方程的参数发送至主控板。
S16,基于曲线方程的参数,计算所述至少一个标志点的轮廓形状参数,轮廓形状参数用于计算扫描头的位姿。
在本申请的一些实施例中,主控板中的ARM处理器可以基于接收到的曲线方程的参数计算轮廓形状参数。例如,若曲线方程为椭圆方程,曲线方程的参数为椭圆方程的系数A、B、C、D、E对应的具体数值,ARM处理器可以基于接收到的A、B、C、D、E对应的具体数值计算椭圆的中心坐标(标志点的中心坐标)、长半轴、短半轴及旋转角度等椭圆参数作为标志点的轮廓形状参数。
在本申请的其他实施例中,在ARM处理器计算得到标志点的轮廓形状参数之后,ARM处理器可以将轮廓形状参数发送至电子设备,使得电子设备依据轮廓形状参数计算扫描头的位姿,并按照扫描头的位姿拼接扫描对象的点云数据,得到扫描对象的点云模型,点云数据通过扫描头对扫描对象进行扫描生成。
其中,本申请对扫描对象的类型不作限制。
在本申请的其他实施例中,在对扫描设备的位姿进行跟踪之前,需要对ARM处理器、USB控制器及FPGA芯片进行预先配置。例如,如图4所示,是本申请一实施例提供的ARM处理器、USB控制器及FPGA芯片的配置及工作示意图。在图4中,在对跟踪设备上电之后,跟踪设备中的ARM处理器、USB控制器均开始上电初始化流程,在ARM处理器及USB控制器的上电初始化流程完成之前,FPGA芯片处于初始状态(未开始正常工作的状态)。ARM处理器的上电初始化流程包括:ARM处理器进入热机状态,在热机完成之后,进入等待扫描状态。在ARM处理器进入热机状态时,USB控制器开始上电初始化流程,包括:USB控制器进行初始化处理,并依次进行FPGA固件配置、双目红外相机的寄存器配置、USB接口配置、读写功能的配置。在ARM处理器接收到电子设备发送的扫描指令时,ARM处理器可以依据扫描指令中携带的模式信息配置FPGA芯片的传输模式,在扫描指令携带的模式信息为调焦模式时,配置FPGA芯片的传输模式为标志点传输模式,在扫描指令携带的模式信息并非调焦模式时,配置FPGA芯片的传输模式为原图传输模式,例如,在FPGA芯片的传输模式为标志点传输模式时,ARM处理器根据USB控制器的读写功能向FPGA芯片发送第一控制指令,在FPGA芯片的传输模式为原图传输模式时,ARM处理器根据USB控制器的读写功能向FPGA芯片发送第二控制指令。
在接收到ARM处理器发送的控制指令之后,FPGA芯片进行同步触发,在同步触发完成之后,FPGA芯片采集标志点的图像,并识别标志点的图像中的标志点区域(标志点区域识别)。若控制指令为第一控制指令,FPGA芯片根据第一控制指令确定是否进行标志点参数的计算(标志点参数计算),在确定进行标志点参数的计算时,FPGA芯片对识别的标志点区域进行滤波处理(标志点区域滤波)、标志点边缘检测、标志点轮廓跟踪(目标轮廓)、计算用于描述标志点的轮廓形状的曲线方程的系数(标志点参数计算);在确定不计算标志点参数时,FPGA芯片利用抠图技术从标志点的图像中抠出标志点区域(标志点区域抠图)。
若控制指令为第二控制指令,FPGA芯片可以将采集得到的标志点的图像存入缓存中(图像缓存)。
在计算得到曲线方程的系数或缓存完成标志点的图像或抠出标志点区域之后,FPGA芯片可以将曲线方程的系数、标志点区域或标志点的图像存入存储器(存储器存储),并通过与USB控制器相连接的通信接口将曲线方程的系数、标志点区域或标志点的图像发送至ARM处理器(数据传输)。其中,本申请对存储器和通信接口的类型不作限制。例如,存储器可以包括缓存模块及双倍数据率存储器(Double Data Rate,DDR),通信接口可以为通用目的接口(General Purpose Interface,GPIF)。ARM处理器可以接收来自FPGA芯片发送的数据(数据接收),对接收到的数据进行数据解析(例如,根据曲线方程的计算标志点的轮廓形状参数),并将解析得到的数据发送至电子设备(数据传输)。
通过上述实施方式,对标志点的图像进行精细处理,包括生成标志点子图、识别标志点区域、检测边缘、跟踪轮廓等步骤,能够准确获取标志点的轮廓信息。由于曲线方程用于描述标志点的轮廓形状,因此依据目标轮廓进行曲线拟合,得到目标矩阵,并依据目标矩阵求解曲线方程的参数,使得曲线方程的参数能够准确描述标志点的轮廓形状。通过准确的标志点的轮廓形状,能够准确地计算扫描头位姿。此外,本申请实施例提供的扫描设备的跟踪方法应用于跟踪设备,而不依赖计算机设备进行跟踪,由于跟踪设备中的FPGA芯片具有并行处理能力强、计算速度快等优势,能够在短时间内完成大量的数据处理和计算任务,因此,通过FPGA芯片计算曲线方程的参数,能够提高计算效率,从而能够提高扫描设备的位姿的跟踪效率。在利用跟踪设备及计算机设备配合计算扫描头的位姿时,通过先在跟踪设备中计算曲线方程的参数,能够减轻计算机设备的处理负担,能够减轻计算机设备的处理负担,从而能够提高对扫描头的位姿的跟踪效率。通过提高对扫描头的位姿的跟踪效率,能够避免出现卡顿、崩溃等问题,确保扫描的连续性和稳定性,从而提高扫描效率。
在本申请的一些实施例中,如图5所示,是本申请一实施例提供的目标边缘图的生成方法的流程图,包括以下步骤:
S121,对标志点区域进行滤波处理,得到标志点滤波区域。
在本申请的一些实施例中,标志点区域可能会存在噪声,为了滤除该噪声,FPGA芯片可以利用滤波算法对标志点区域进行滤波处理。其中,本申请对滤波处理的方法不作限制。例如,滤波算法可以为高斯滤波算法及中值滤波算法等。
在本实施例中,通过对标志点区域进行滤波处理,能够滤除噪声,从而提高标志点滤波区域的图像质量。
S122,计算标志点滤波区域中每个像素点的梯度值及梯度方向,并调整标志点滤波区域中每个梯度方向上的像素点的像素值,得到初始二值图。
在本申请的一些实施例中,FPGA芯片可以计算标志点滤波区域中每个像素点的梯度向量,并根据所述每个像素点的梯度向量计算所述每个像素点的梯度值及梯度方向。其中,FPGA芯片可以利用梯度算子计算每个像素点的梯度向量,每个梯度向量包括水平和垂直分量,梯度算子可以进行自定义设置,本申请对此不作限制。例如,梯度算子可以为Sobel算子。根据所述每个像素点的梯度向量计算所述每个像素点的梯度值及梯度方向的方法可以参考相关技术,本申请不再过多描述。
在本申请的一些实施例中,FPGA芯片调整标志点滤波区域中每个梯度方向上的像素点的像素值,得到初始二值图包括:FPGA芯片确定标志点滤波区域中所述每个梯度方向上除了最大的像素值对应的像素点之外的像素点,并将所述除了最大的像素值对应的像素点之外的像素点的像素值调整为第一预设值,得到初始二值图。
在本实施例中,通过将除了最大的像素值对应的像素点之外的像素点的像素值调整为第一预设值,能够对初始二值图中的像素点进行初步分类。
S123,基于初始二值图中每个像素点的梯度值与预设的初始梯度阈值之间的比较,调整初始二值图中对应像素点的像素值,得到边缘二值图。
在本申请的一些实施例中,初始梯度阈值包括第一初始梯度阈值及第二初始梯度阈值,其中,第一初始梯度阈值可以大于第二初始梯度阈值。第一初始梯度阈值及第二初始梯度阈值可以进行自定义设置,本申请对此不作限制。例如,第一初始梯度阈值可以为0.5,第二初始梯度阈值可以为0.2。
在本申请的一些实施例中,将初始二值图中每个像素点的梯度值与第一初始梯度阈值及第二初始梯度阈值进行比较得到的比较结果包括初始二值图中每个像素点的梯度值大于第一初始梯度阈值、初始二值图中每个像素点的梯度值小于第二初始梯度阈值以及初始二值图中每个像素点的梯度值小于或等于第一初始梯度阈值并且大于或等于第二初始梯度阈值。每个比较结果对应一个调整策略,通过对应的调整策略调整初始二值图中对应像素点的像素值,得到边缘二值图的方法可以参考步骤S1231-S1238。
在本实施例中,由于不同的比较结果对应的不同的调整策略,根据对应的调整策略能够对初始二值图中的像素点进行进一步分类,以便于后续区分边缘像素点及背景像素点。
S124,根据标志点滤波区域计算二值化参数,根据二值化参数对标志点滤波区域进行二值化处理,并对二值化处理后的标志点滤波区域进行开运算处理,得到掩码(MASK)二值图。
在本申请的一些实施例中,FPGA芯片可以通过各种方法计算标志点滤波区域的二值化参数。例如,FPGA芯片可以通过对标志点滤波区域进行直方图分析,统计不同灰度级别的分布情况,利用百分比阈值法基于不同灰度级别的分布情况确定一个百分比位置的像素值作为自适应的二值化参数。上述对二值化参数的计算方法仅为示例,实际应用中不限于此。例如,二值化参数还可以通过预设设置得到。
在本申请的一些实施例中,开运算处理是一种形态学操作,可以包括先腐蚀后膨胀两个步骤。腐蚀操作可以去除杂点,膨胀操作可以恢复腐蚀操作中被误腐蚀掉的像素点。通过对二值化处理后的标志点滤波区域执行开运算,去除杂点,以高亮形式表示标志点对应的像素点,以背景(黑色)表示非标志点对应的像素点,从而得到一个更为清晰、准确的掩码二值图。
S125,根据边缘二值图及掩码二值图生成目标边缘图。
在本申请的一些实施例中,FPGA芯片根据边缘二值图及掩码二值图生成目标边缘图包括:通过比对边缘二值图与掩码二值图,FPGA芯片确定边缘二值图中未存在于掩码二值图的像素点,将边缘二值图中未存在于掩码二值图的像素点以及离散的像素点的像素值调整为第一预设值,得到中间二值图,FPGA芯片对中间二值图进行膨胀处理,得到目标边缘图。
其中,在将边缘二值图中未存在于掩码二值图的像素点调整为第一预设值之后,FPGA芯片可以通过预设尺寸的窗口检测边缘二值图中离散的像素点,其中,预设尺寸可以进行自定义设置,本申请对此不作限制。例如,预设尺寸可以为3*3。第一预设值可以进行自定义设置,本申请对此不作限制。例如,第一预设值可以为0。
FPGA芯片可以将中间二值图中除了第一预设值之外的像素值对应的像素点确定为边缘像素点,对中间二值图中的边缘像素点执行的膨胀处理的次数可以进行自定义设置,本申请对此不作限制。例如,FPGA芯片可以将中间二值图中每个边缘像素点及所述每个边缘像素点的四邻域内的像素点(上、下、左、右方向上的像素点)执行两次膨胀处理,得到目标边缘图。
在本实施例中,通过将边缘二值图中未存在于掩码二值图的像素点以及离散的像素点的像素值调整为第一预设值,能够有效地过滤非目标边缘信息,强化标志点的边缘信息,最终生成一个高质量、准确的目标边缘图。
在本申请的其他实施例中,FPGA芯片可以统计标志点图像中闭合的目标轮廓对应的标志点子图的总数量,并根据总数量计算目标值,若目标值小于预设阈值,将初始梯度阈值调整为更新的梯度阈值,更新的梯度阈值用于对下一张标志点图像进行边缘检测,若目标值大于或等于预设阈值,不对初始梯度阈值进行更新。
其中,目标值可以是闭合的目标轮廓对应的标志点子图的总数量,也可以是根据总数量计算闭合的目标轮廓对应的标志点子图的占比,本申请对此不作限制。预设阈值可以进行自定义设置,本申请对此不作限制。例如,若目标值为闭合的目标轮廓对应的标志点子图的占比,预设阈值可以为80%。更新的梯度阈值可以进行自定义设置,本申请对此不作限制。
在本实施例中,在目标值小于预设阈值时,代表通过初始梯度阈值进行边缘检测的效果不佳,将初始梯度阈值调整为更新的梯度阈值,能够优化边缘检测的效果。
如图6所示,是本申请一实施例提供的初始二值图中像素点的像素值的调整方法的流程图。
S1231,将每个像素点的梯度值与第一初始梯度阈值及第二初始梯度阈值进行比较。
在本实施例中,若初始二值图中每个像素点的梯度值小于第二初始梯度阈值,执行步骤S1232,或者,若初始二值图中每个像素点的梯度值大于第一初始梯度阈值,执行步骤S1233,或者,若初始二值图中每个像素点的梯度值小于或等于第一初始梯度阈值并且大于或等于第二初始梯度阈值(初始二值图中每个像素点的梯度值处于第一初始梯度阈值及第二初始梯度阈值之间),执行步骤S1234。
S1232,调整初始二值图中所述每个像素点的像素值为第一预设值。
在本申请的一些实施例中,第一预设值可以为0。
在本实施例中,通过将所述每个像素点的像素值为0,能够将所述每个像素点归为背景对应的像素点(背景像素点)或暗区。
S1233,调整初始二值图中所述每个像素点的像素值为第二预设值。
在本申请的一些实施例中,第二预设值可以进行自定义设置,本申请对此不作限制。例如,第二预设值可以为1或255。
在本实施例中,通过将所述每个像素点的像素值为1或255,能够对所述每个像素点进行高亮显示。
S1234,调整初始二值图中所述每个像素点的像素值为第三预设值。
在本申请的一些实施例中,第三预设值可以进行自定义设置,本申请对此不作限制。例如,第三预设值可以为127。
S1235,将像素值为第三预设值的像素点确定为候选像素点。
在本申请的一些实施例中,因此将像素值为第三预设值的像素点确定为候选像素点,有利于对候选像素点进行进一步地调整。
S1236,判断每个候选像素点的邻域内是否存在像素值为第二预设值的像素点。
在本实施例中,若每个候选像素点的邻域内存在像素值为第二预设值的像素点,执行步骤S1237,或者,若所述每个候选像素点的邻域内不存在像素值为第二预设值的像素点,执行步骤S1238。其中,每个候选像素点的邻域可以进行自定义设置,本申请对此不作限制。例如,每个候选像素点的邻域可以为所述每个候选像素点的上、下、左、右及两条对角线方向上的像素点构成的八邻域(摩尔邻域)。
在本申请的其他实施例中,若所述每个候选像素点的邻域内像素值为第二预设值的像素点大于或等于预设数量,执行步骤S1237,或者,若所述每个候选像素点的邻域内像素值为第二预设值的像素点小于预设数量,执行步骤S1238。其中,预设数量可以进行自定义设置,本申请对此不作限制。例如,预设数量可以为1、2及3等。
上述步骤S1237及步骤S1238的执行条件仅为示例,实际应用中不限于此。
S1237,将所述每个候选像素点的像素值由第三预设值调整为第二预设值。
在本实施例中,在所述每个候选像素点的邻域内存在像素值为第二预设值的像素点或每个候选像素点的邻域内像素值为第二预设值的像素点大于或等于预设数量时,代表所述每个候选像素点处于标志点对应的高亮区域或边缘附近,因此将所述每个候选像素点的像素值由第三预设值调整为第二预设值,能够增强标志点对应的高亮区域或边缘。
S1238,将每个候选像素点的像素值由第三预设值调整为第一预设值。
在本实施例中,在所述每个候选像素点的邻域内不存在像素值为第二预设值的像素点或所述每个候选像素点的邻域内像素值为第二预设值的像素点小于预设数量,代表不处于标志点对应的高亮区域或边缘附近,因此将所述每个候选像素点的像素值由第三预设值调整为第一预设值,能够区分出二值图中的高亮区域和暗区。
在本申请的一些实施例中,相关技术中的爬虫算法具有一只爬虫,该爬虫的运动方向包括向右、向左、向上及向下,利用相关技术中的爬虫算法进行轮廓跟踪的过程包括:(1)选取靠近边缘像素点的一个背景像素点作为爬虫的起点,并定义一个水平向右的起始方向;(2)当爬虫碰到轮廓时左转,碰到背景时右转;(3)当爬虫碰到起始点时结束。
例如,如图7所示,是相关技术中爬虫算法的运动示意图。从图7可以获知,利用相关技术中的爬虫算法进行轮廓跟踪的过程中,爬虫容易在同一个边缘像素点(黑色矩形)和背景像素点(白色矩形)位置处迂回,在某些极端情况下,爬虫可能会围绕局部封闭区域重复爬行,形成陷进。除此之外,在FPGA中利用相关技术中的爬虫算法进行轮廓跟踪时,由于爬虫不仅需要向右及向下,还有可能需要返回前几行前几列的情况,因此利用相关技术中的爬虫算法需要缓存整个标志点(整张目标边缘图)之后才能执行轮廓跟踪,不适合流水线操作,影响轮廓跟踪效率。
基于相关技术中的爬虫算法存在的技术问题,本申请实施例提供了一种优化后的爬虫算法,利用优化后的爬虫算法进行轮廓跟踪,能够解决爬虫围绕局部封闭区域重复爬行,以及需要缓存整个标志点之后才能执行轮廓跟踪,导致轮廓跟踪效率不佳的技术问题。例如,如图8所示,是本申请一实施例提供的利用爬虫算法确定初始轮廓的方法流程图,包括以下步骤:
S131,从目标边缘图中选取一边缘像素点的坐标作为两只爬虫的起点坐标。
在本申请的一些实施例中,FPGA芯片可以选取第一个边缘像素点(最小的横坐标及最小的纵坐标对应的边缘像素点)的坐标作为两只爬虫共同的起点坐标。
S132,根据起点坐标以及预设的搜索策略令所述每只爬虫运动。
在本申请的一些实施例中,FPGA芯片根据起点坐标以及预设的搜索策略令所述每只爬虫运动包括:FPGA芯片可以按照所述每只爬虫对应的旋转方向每隔预设角度搜索所述每只爬虫的邻域内的最后一个边缘像素点,令所述每只爬虫从起点坐标运动至最后一个边缘像素点的坐标。其中,预设角度可以根据爬虫的多个运动方向确定,也可以进行自定义设置,本申请对此不作限制。例如,若每只爬虫可以具有8个运动方向,任意两个运动方向之间的角度可以为45°,则预设角度可以为45°。
在本实施例中,由于选取边缘像素点作为起点,按照每只爬虫对应的旋转方向每隔预设角度搜索每只爬虫的邻域内的最后一个边缘像素点,这样的策略能够保证爬虫始终沿着轮廓的边缘进行移动,而不是在背景与轮廓之间迂回。由于爬虫在每次移动时都是基于当前起点坐标对应的像素点及该像素点的邻域内的边缘像素点来确定下一步的移动方向,因此即使遇到局部封闭区域,爬虫也能够根据边缘像素点的分布来识别并绕过这些区域,避免重复爬行的问题。
每只爬虫具有8个运动方向,这相比传统爬虫算法的4个方向(向右、向左、向上、向下)提供了更多的灵活性。更多的运动方向代表爬虫可以更精确地沿着轮廓的边缘移动,减少在背景与轮廓之间切换的可能性,从而进一步避免围绕局部封闭区域重复爬行的情况。
由于爬虫在每次移动时都是基于当前起点坐标对应的像素点及该像素点的邻域内的边缘像素点来确定下一步的移动方向,只需要缓存当前起点坐标对应的像素点及该像素点的邻域内的一小部分图像数据,而无需提前知道整张目标边缘图的全局信息,因此本申请实施例中的爬虫算法不需要缓存整张目标边缘图就能进行轮廓跟踪,适合在FPGA芯片上实现流水线操作。由于爬虫可以在读取和处理图像数据的同时进行移动和轮廓跟踪,因此,能够提高轮廓跟踪的效率。
S133,将所述每只爬虫的起点坐标更新为最后一个边缘像素点的坐标。
在本实施例中,通过将每只爬虫的起点坐标更新为最后一个边缘像素点的坐标,使得FPGA芯片可以基于更新后的起点坐标进行下一次搜索。
S134,判断两只爬虫是否相遇。
在本实施例中,若两只爬虫的运动路径之间存在重叠,确定两只爬虫相遇,若两只爬虫的运动路径之间未存在重叠,确定两只爬虫未相遇。在两只爬虫相遇时,执行步骤S135,或者,在两只爬虫未相遇时,返回至流程S132。
S135,令两只爬虫均停止运动,并将两只爬虫的运动路径确定为初始轮廓。
在本实施例中,由于两只爬虫的旋转方向相反,因此两只爬虫的运动路径(初始轮廓)可以是闭环的曲线。
例如,如图9所示,是本申请一实施例提供的初始轮廓的示意图。由图9可以获知,利用本申请实施例提供的爬虫算法进行轮廓跟踪时,不会出现爬虫围绕局部封闭区域重复爬行的情况。由于不需要返回目标边缘图的返回前几行前几列的情况,爬虫可以在读取和处理图像数据的同时进行移动和轮廓跟踪,无需等待整张目标边缘图缓存完毕再进行轮廓跟踪,因此,能够提高轮廓跟踪的效率。图9中的黑色矩形表示边缘像素点,白色矩形表示背景像素点。
在本申请的一些实施例中,本申请还提供一种跟踪式扫描设备,如图10所示,是本申请一实施例提供的跟踪式扫描设备的示意图。
在图10中,跟踪式扫描设备包括跟踪设备10及扫描设备20。跟踪设备10的具体结构可以参考图2的说明,本申请不再重复描述。如图9所示的跟踪式扫描设备中,跟踪设备10的数量可以为多个,本申请多次不作限制。扫描设备20包括扫描头,扫描头上多个标志点,标志点又称为反光标识点/反光标志点,可以是各种形状和材质的物体,用于定位和校准扫描头在扫描过程重点位姿和运动,确保扫描效果。例如,标志点可以为圆形。其中,本申请对扫描设备中扫描头的数量不作限制,一个扫描设备中的扫描头的数量可以为一个或多个,本申请对此不作限制。
可以理解的是,本申请实施例示意的结构并不构成对任何设备的具体限定。在本申请另一些实施例中,每个设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。本申请中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。
Claims (11)
1.一种扫描设备位姿跟踪方法,应用于跟踪设备,其特征在于,所述跟踪设备与扫描设备通信连接,所述扫描设备包括扫描头,所述方法包括:
采集所述扫描头上的标志点的图像,以及基于所述标志点的图像,生成多张标志点子图;
识别每张标志点子图中至少一个标志点对应的标志点区域,并从所述标志点区域检测所述至少一个标志点的边缘,得到所述每张标志点子图对应的目标边缘图;
基于对所述目标边缘图的轮廓跟踪,确定所述至少一个标志点的目标轮廓;
依据所述目标轮廓中每个目标坐标以及预设的曲线方程进行拟合,得到所述至少一个标志点对应的目标矩阵,所述曲线方程用于描述所述至少一个标志点的轮廓形状;
基于所述目标矩阵,得到所述曲线方程的参数;
基于所述曲线方程的参数,计算所述至少一个标志点的轮廓形状参数,所述轮廓形状参数用于计算所述扫描头的位姿。
2.如权利要求1所述的扫描设备位姿跟踪方法,其特征在于,所述方法还包括:
将所述轮廓形状参数发送至电子设备,使得所述电子设备依据所述轮廓形状参数计算所述扫描头的位姿,并按照所述扫描头的位姿拼接扫描对象的点云数据,得到所述扫描对象的点云模型,所述点云数据通过所述扫描头对所述扫描对象进行扫描生成。
3.如权利要求1所述的扫描设备位姿跟踪方法,其特征在于,所述从所述标志点区域检测所述至少一个标志点的边缘,得到所述每张标志点子图对应的目标边缘图包括:
对所述标志点区域进行滤波处理,得到标志点滤波区域;
计算所述标志点滤波区域中每个像素点的梯度值及梯度方向,并调整所述标志点滤波区域中每个梯度方向上的像素点的像素值,得到初始二值图;
基于所述初始二值图中每个像素点的梯度值与预设的初始梯度阈值之间的比较,调整所述初始二值图中对应像素点的像素值,得到边缘二值图;
根据所述标志点滤波区域计算二值化参数,根据所述二值化参数对所述标志点滤波区域进行二值化处理,并对二值化处理后的标志点滤波区域进行开运算处理,得到掩码二值图;
根据所述边缘二值图及所述掩码二值图生成所述目标边缘图。
4.如权利要求3所述的扫描设备位姿跟踪方法,其特征在于,所述调整所述标志点滤波区域中每个梯度方向上的像素点的像素值,得到初始二值图包括:
确定所述标志点滤波区域中所述每个梯度方向上除了最大的像素值对应的像素点之外的像素点,并将所述除了最大的像素值对应的像素点之外的像素点的像素值调整为第一预设值,得到所述初始二值图。
5.如权利要求4所述的扫描设备位姿跟踪方法,其特征在于,所述初始梯度阈值包括第一初始梯度阈值以及第二初始梯度阈值,所述第一初始梯度阈值大于所述第二初始梯度阈值,对所述初始二值图中像素点的像素值的调整包括:
若所述初始二值图中每个像素点的梯度值小于所述第二初始梯度阈值,调整所述初始二值图中所述每个像素点的像素值为所述第一预设值;
若所述初始二值图中每个像素点的梯度值大于所述第一初始梯度阈值,调整所述初始二值图中所述每个像素点的像素值为第二预设值;
若所述初始二值图中每个像素点的梯度值小于或等于所述第一初始梯度阈值并且大于或等于所述第二初始梯度阈值,调整所述初始二值图中所述每个像素点的像素值为第三预设值;
将像素值为所述第三预设值的像素点确定为候选像素点;
若每个候选像素点的邻域内存在像素值为所述第二预设值的像素点,将所述每个候选像素点的像素值由所述第三预设值调整为所述第二预设值,或者,若所述每个候选像素点的邻域内不存在像素值为所述第二预设值的像素点,将所述每个候选像素点的像素值由所述第三预设值调整为所述第一预设值。
6.如权利要求4所述的扫描设备位姿跟踪方法,其特征在于,所述根据所述边缘二值图及所述掩码二值图生成所述目标边缘图包括:
通过比对所述边缘二值图与所述掩码二值图,确定所述边缘二值图中未存在于所述掩码二值图的像素点;
将所述边缘二值图中未存在于所述掩码二值图的像素点以及离散的像素点的像素值调整为所述第一预设值,得到中间二值图;
对所述中间二值图进行膨胀处理,得到所述目标边缘图。
7.如权利要求3所述的扫描设备位姿跟踪方法,其特征在于,所述方法还包括:
统计所述标志点图像中闭合的目标轮廓对应的标志点子图的总数量,并根据所述总数量计算目标值;
若所述目标值小于预设阈值,将所述初始梯度阈值调整为更新的梯度阈值,所述更新的梯度阈值用于对下一张标志点图像进行处理。
8.如权利要求1所述的扫描设备位姿跟踪方法,其特征在于,所述目标轮廓的确定包括:
利用爬虫算法在所述目标边缘图上进行轮廓跟踪,确定所述至少一个标志点对应的初始轮廓,并通过对所述初始轮廓边缘像素点进行亚像素拟合,确定所述目标轮廓,其中,所述爬虫算法具有两只爬虫,每只爬虫对应一个旋转方向且两只爬虫对应的旋转方向相反。
9.如权利要求8所述的扫描设备位姿跟踪方法,其特征在于,所述目标边缘图包括所述至少一个标志点对应的边缘像素点,所述利用爬虫算法在所述目标边缘图上进行轮廓跟踪,确定所述至少一个标志点对应的初始轮廓包括:
从所述目标边缘图中选取一边缘像素点的坐标作为所述两只爬虫的起点坐标,根据所述起点坐标以及预设的搜索策略令所述每只爬虫运动,包括:按照所述每只爬虫对应的旋转方向每隔预设角度搜索所述每只爬虫的邻域内的最后一个边缘像素点,令所述每只爬虫从所述起点坐标运动至最后一个边缘像素点的坐标;
将所述每只爬虫的起点坐标更新为所述最后一个边缘像素点的坐标,利用更新后的起点坐标以及所述搜索策略重复执行令所述每只爬虫运动的流程,直至两只爬虫相遇后令所述两只爬虫均停止运动,并将所述两只爬虫的运动路径确定为所述初始轮廓。
10.一种跟踪设备,其特征在于,所述跟踪设备与扫描设备通信连接,所述扫描设备包括扫描头,所述跟踪设备包括处理芯片,所述处理芯片包括处理器及可编程逻辑器件,所述处理器与所述可编程逻辑器件通信连接,
所述可编程逻辑器件采集所述扫描头上的标志点的图像,以及基于所述标志点的图像,生成多张标志点子图;
所述可编程逻辑器件识别每张标志点子图中至少一个标志点对应的标志点区域,并从所述标志点区域检测所述至少一个标志点的边缘,得到所述每张标志点子图对应的目标边缘图;
所述可编程逻辑器件基于对所述目标边缘图的轮廓跟踪,确定所述至少一个标志点的目标轮廓;
所述可编程逻辑器件依据所述目标轮廓中每个目标坐标以及预设的曲线方程进行拟合,得到所述至少一个标志点对应的目标矩阵,所述曲线方程用于描述所述至少一个标志点的轮廓形状;
所述可编程逻辑器件基于所述目标矩阵,得到所述曲线方程的参数;
所述可编程逻辑器件将所述曲线方程的参数发送至所述处理器;
所述处理器基于接收到的所述曲线方程的参数,计算所述至少一个标志点的轮廓形状参数,所述轮廓形状参数用于计算所述扫描头的位姿。
11.一种跟踪设备,其特征在于,所述跟踪设备与扫描设备及电子设备通信连接,所述扫描设备包括扫描头,所述跟踪设备包括处理芯片、存储器及传感器,所述处理芯片包括处理器及可编程逻辑器件,所述处理器通过通用串行总线USB控制器与所述可编程逻辑器件通信连接,
所述处理器执行上电初始化流程,包括:所述处理器进入热机状态,在热机完成之后,进入等待扫描状态;
所述USB控制器执行上电初始化流程,包括:所述USB控制器执行初始化处理,并执行初始化配置,所述初始化配置包括所述可编程逻辑器件的固件的配置、所述传感器的寄存器的配置、USB接口的配置及读写功能的配置;
在接收到电子设备发送的扫描指令时,所述处理器根据所述扫描指令中携带的模式信息生成对应的控制指令,并通过所述USB控制器向所述可编程逻辑器件发送所述控制指令,完成对所述可编程逻辑器件的传输模式的配置,所述模式信息包括调焦模式及非调焦模式,所述传输模式包括与所述调焦模式对应的标志点传输模式及与所述非调焦模式对应的原图传输模式;
在接收到所述控制指令之后,所述可编程逻辑器件进行同步触发,并在同步触发完成之后,通过所述传感器采集所述扫描头上的标志点的图像;
若所述控制指令为所述标志点传输模式对应的第一控制指令,所述可编程逻辑器件基于所述标志点的图像,生成多张标志点子图,识别每张标志点子图中至少一个标志点对应的标志点区域,并根据所述第一控制指令确定是否进行标志点参数的计算;若确定进行标志点参数的计算,所述可编程逻辑器件从所述标志点区域检测所述至少一个标志点的边缘,得到所述每张标志点子图对应的目标边缘图,基于对所述目标边缘图的轮廓跟踪,确定所述至少一个标志点的目标轮廓,依据所述目标轮廓中每个目标坐标以及预设的曲线方程进行拟合,得到所述至少一个标志点对应的目标矩阵,所述曲线方程用于描述所述至少一个标志点的轮廓形状,基于所述目标矩阵,得到所述曲线方程的参数,或者,若确定不进行标志点参数的计算,所述可编程逻辑器件从所述标志点的图像抠出所述标志点区域,所述可编程逻辑器件将所述曲线方程的参数或所述标志点区域存入所述存储器;
若所述控制指令为所述原图传输模式对应的第二控制指令,所述可编程逻辑器件将所述标志点的图像存入所述存储器;
所述可编程逻辑器件通过所述USB控制器从所述存储器中将所述标志点的图像、所述标志点区域或所述曲线方程的参数发送至所述处理器;
所述处理器对接收到的所述标志点的图像、所述标志点区域或所述曲线方程的参数进行数据解析,得到解析后的数据,包括:基于所述曲线方程的参数,计算所述至少一个标志点的轮廓形状参数,所述轮廓形状参数用于计算所述扫描头的位姿;
所述处理器将所述解析后的数据发送至所述电子设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410709331.6A CN118279399B (zh) | 2024-06-03 | 2024-06-03 | 扫描设备位姿跟踪方法及跟踪设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410709331.6A CN118279399B (zh) | 2024-06-03 | 2024-06-03 | 扫描设备位姿跟踪方法及跟踪设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118279399A CN118279399A (zh) | 2024-07-02 |
CN118279399B true CN118279399B (zh) | 2024-08-13 |
Family
ID=91633973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410709331.6A Active CN118279399B (zh) | 2024-06-03 | 2024-06-03 | 扫描设备位姿跟踪方法及跟踪设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118279399B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10456915B1 (en) * | 2019-01-25 | 2019-10-29 | Mujin, Inc. | Robotic system with enhanced scanning mechanism |
CN114022567A (zh) * | 2021-11-09 | 2022-02-08 | 浙江商汤科技开发有限公司 | 位姿跟踪方法、装置、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115049744B (zh) * | 2022-07-11 | 2025-07-22 | 深圳市易尚展示股份有限公司 | 机器人手眼坐标转换方法、装置、计算机设备和存储介质 |
CN115979164A (zh) * | 2022-11-25 | 2023-04-18 | 杭州天远三维检测技术有限公司 | 一种扫描处理方法、装置、设备及介质 |
CN115984371A (zh) * | 2022-11-25 | 2023-04-18 | 杭州天远三维检测技术有限公司 | 一种扫描头位姿检测方法、装置、设备及介质 |
CN117848234A (zh) * | 2023-12-25 | 2024-04-09 | 中国计量大学 | 物体扫描机构、方法及相关设备 |
-
2024
- 2024-06-03 CN CN202410709331.6A patent/CN118279399B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10456915B1 (en) * | 2019-01-25 | 2019-10-29 | Mujin, Inc. | Robotic system with enhanced scanning mechanism |
CN114022567A (zh) * | 2021-11-09 | 2022-02-08 | 浙江商汤科技开发有限公司 | 位姿跟踪方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN118279399A (zh) | 2024-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8761459B2 (en) | Estimating gaze direction | |
KR101457313B1 (ko) | 템플릿 스위칭 및 특징 적응을 이용한 오브젝트 추적을 제공하는 방법, 장치 및 컴퓨터 프로그램 제품 | |
KR102399017B1 (ko) | 이미지 생성 방법 및 장치 | |
WO2015043363A1 (zh) | 飞行器地面运动目标红外图像识别装置 | |
CN110363817B (zh) | 目标位姿估计方法、电子设备和介质 | |
WO2019222889A1 (zh) | 一种图像特征提取方法及装置 | |
CN113780201B (zh) | 手部图像的处理方法及装置、设备和介质 | |
CN113052907B (zh) | 一种动态环境移动机器人的定位方法 | |
WO2022205843A1 (zh) | 唇动检测方法、装置、终端设备及计算机可读存储介质 | |
KR102525570B1 (ko) | 라이다-카메라 영상 융합을 위한 라이다 데이터 이상치 제거 방법 및 이를 수행하는 컴퓨팅 장치 | |
US11270152B2 (en) | Method and apparatus for image detection, patterning control method | |
CN113361299B (zh) | 一种异常停车的检测方法、装置、存储介质及电子设备 | |
CN111046746A (zh) | 一种车牌检测方法及装置 | |
CN114897684A (zh) | 车辆图像的拼接方法、装置、计算机设备和存储介质 | |
WO2023103285A1 (zh) | 定位方法、装置、机器人及计算机可读存储介质 | |
CN117451033B (zh) | 一种同步定位与地图构建方法、装置、终端及介质 | |
WO2021179905A1 (en) | Motion blur robust image feature descriptor | |
CN119478274B (zh) | 扫描数据生成方法、电子设备及存储介质 | |
CN111292331B (zh) | 图像处理的方法与装置 | |
US9392146B2 (en) | Apparatus and method for extracting object | |
CN118279399B (zh) | 扫描设备位姿跟踪方法及跟踪设备 | |
CN114066731B (zh) | 生成全景图的方法、装置、电子设备及存储介质 | |
CN116128919A (zh) | 基于极线约束的多时相图像异动目标检测方法及系统 | |
CN113362387B (zh) | 一种动态环境移动机器人的环境地图构建方法 | |
CN113658233A (zh) | 三维人脸模型的非刚性配准方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |