CN116030240A - 标志点识别方法、标志点识别装置、电子设备及存储介质 - Google Patents
标志点识别方法、标志点识别装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116030240A CN116030240A CN202310031791.3A CN202310031791A CN116030240A CN 116030240 A CN116030240 A CN 116030240A CN 202310031791 A CN202310031791 A CN 202310031791A CN 116030240 A CN116030240 A CN 116030240A
- Authority
- CN
- China
- Prior art keywords
- circle
- mark point
- preset
- structures
- gray
- 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.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本申请提供了一种标志点识别方法、标志点识别装置、电子设备及存储介质,属于机器视觉技术领域,通过获取预设标志点的标志点图像,对标志点图像进行椭圆检测,得到多个目标椭圆结构,根据每两个目标椭圆结构的圆心之间的距离,从多个目标椭圆结构中识别出同心双圆结构,并将同心双圆结构的圆心作为预设标志点的位置信息,对同心双圆结构进行畸变矫正,得到圆形结构,圆形结构包括带状编码区域,对带状编码区域进行解码,得到预设标志点的编码,根据编码和位置信息从标志点图像中识别出预设标志点,能够提高标志点识别的准确性和鲁棒性。
Description
技术领域
本申请涉及机器视觉技术领域,尤其涉及一种标志点识别方法、标志点识别装置、电子设备及存储介质。
背景技术
当待识别对象的特征不明显、目标识别任务需要很高的识别精度和定位精度时,需要通过人为添加标志点,将标志点作为空间位置标识进行特征补充。标志点包括带编码的标志点和不带编码的标志点,但不带编码的标志点很难满足一些领域的应用需求,例如高鲁棒性的点云拼接任务。带编码的标志点包括方形标志点,方形标志点可承载的信息较多,识别鲁棒性较高,但是由于其角点定位精度低,导致方形标志点的识别准确性低。因此,在保证高鲁棒性的基础上,提高标志点识别的准确性成为了亟待解决的问题。
发明内容
本申请实施例的主要目的在于提出一种标志点识别方法、标志点识别装置、电子设备及存储介质,旨在提高标志点识别的准确性和鲁棒性。
为实现上述目的,本申请实施例的第一方面提出了一种标志点识别方法,所述方法包括:
获取预设标志点的标志点图像;所述预设标志点包括第一圆和第二圆,所述第一圆的半径大于所述第二圆,所述第一圆的圆心和所述第二圆的圆心相同,所述第一圆和所述第二圆之间形成带状编码区域;
对所述标志点图像进行椭圆检测,得到多个目标椭圆结构;
根据每两个所述目标椭圆结构的圆心之间的距离,从多个所述目标椭圆结构中识别出同心双圆结构,并将所述同心双圆结构的圆心作为所述预设标志点的位置信息;
对所述同心双圆结构进行畸变矫正,得到圆形结构;所述圆形结构包括所述带状编码区域;
对所述带状编码区域进行解码,得到所述预设标志点的编码;
根据所述编码和所述位置信息从所述标志点图像中识别出所述预设标志点。
在一些实施例,在所述对所述标志点图像进行椭圆检测,得到多个目标椭圆结构之前,所述标志点识别方法还包括:
对所述标志点图像进行亮度均衡化,得到亮度均衡化后的标志点图像;
对所述亮度均衡化后的标志点图像进行高斯滤波,得到高斯滤波后的标志点图像。
在一些实施例,所述对所述标志点图像进行椭圆检测,得到多个目标椭圆结构,包括:
对所述标志点图像进行边缘提取,得到所述标志点图像的多个边缘;
对每一所述边缘进行霍夫变换,得到多个初始椭圆结构;
根据所述初始椭圆结构的长轴长度和短轴长度,确定所述初始椭圆结构的椭圆度;
根据所述椭圆度和预设的椭圆度阈值对多个所述初始椭圆结构进行筛选,得到多个所述目标椭圆结构。
在一些实施例,在所述对所述同心双圆结构进行畸变矫正,得到圆形结构之后,所述标志点识别方法还包括:
对所述圆形结构进行填充处理,得到填充后的圆形结构;
对所述填充后的圆形结构进行去噪处理,得到去噪后的圆形结构;
对所述去噪后的圆形结构进行二值化处理,得到二值化后的圆形结构。
在一些实施例,所述对所述带状编码区域进行解码,得到所述预设标志点的编码,包括:
对所述带状编码区域进行区域划分,得到多个子区域;
计算每一所述子区域的第一灰度值;
根据所述第一灰度值,确定所述带状编码区域的灰度突变点;
从所述灰度突变点开始依次遍历所述子区域,根据所述子区域的第一灰度值得到所述编码。
在一些实施例,所述计算每一所述子区域的第一灰度值,包括:
遍历所述子区域的每个像素点;
对所述像素点进行邻域搜索,得到所述像素点的邻域;
根据所述邻域的第二灰度值,确定所述像素点的第三灰度值;
根据所述第三灰度值得到所述第一灰度值。
在一些实施例,所述根据所述邻域的第二灰度值,确定所述像素点的第三灰度值,包括:
对所述第二灰度值进行灰度求和处理,得到灰度和值;
根据所述灰度和值以及预设的灰度阈值确定所述第三灰度值。
为实现上述目的,本申请实施例的第二方面提出了一种标志点识别装置,所述装置包括:
获取模块,用于获取预设标志点的标志点图像;所述预设标志点包括第一圆和第二圆,所述第一圆的半径大于所述第二圆,所述第一圆的圆心和所述第二圆的圆心相同,所述第一圆和所述第二圆之间形成带状编码区域;
椭圆检测模块,用于对所述标志点图像进行椭圆检测,得到多个目标椭圆结构;
同心双圆识别模块,用于根据每两个所述目标椭圆结构的圆心之间的距离,从多个所述目标椭圆结构中识别出同心双圆结构,并将所述同心双圆结构的圆心作为所述预设标志点的位置信息;
畸变矫正模块,用于对所述同心双圆结构进行畸变矫正,得到圆形结构;所述圆形结构包括所述带状编码区域;
解码模块,用于对所述带状编码区域进行解码,得到所述预设标志点的编码;
标志点识别模块,用于根据所述编码和所述位置信息从所述标志点图像中识别出所述预设标志点。
为实现上述目的,本申请实施例的第三方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。
为实现上述目的,本申请实施例的第四方面提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。
本申请提出的标志点识别方法、标志点识别装置、电子设备及计算机可读存储介质,其通过获取预设标志点的标志点图像,预设标志点包括第一圆和第二圆,第一圆的半径大于第二圆,第一圆的圆心和第二圆的圆心相同,第一圆和第二圆之间形成带状编码区域,通过采用内外圆的双圆方式,使双圆之间形成带状编码区域,从而使得编码数量增加,预设标志点可承载的信息变多,提高了标志点识别的鲁棒性。进一步地,对标志点图像进行椭圆检测,得到多个目标椭圆结构,根据每两个目标椭圆结构的圆心之间的距离,从多个目标椭圆结构中识别出同心双圆结构,能够从标志点图像中识别出预设标志点的第一圆和第二圆,并将同心双圆结构的圆心作为预设标志点的位置信息,能够得到预设标志点在标志点图像中的位置信息,以根据位置信息从标志点图像中识别出预设标志点。对同心双圆结构进行畸变矫正,得到圆形结构,圆形结构包括带状编码区域,通过将椭圆区域还原为圆形区域,便于对带状编码区域进行解码,提高解码准确性,避免了因解码错误导致的标志点误识别问题。最后,对带状编码区域进行解码,得到预设标志点的编码,根据编码和位置信息从标志点图像中识别出预设标志点,提高了标志点识别的准确性。
附图说明
图1是本申请实施例提供的标志点识别方法的流程图;
图2a是本申请实施例提供的标志点的第一图案;
图2b是本申请实施例提供的标志点的第二图案;
图2c是本申请实施例提供的标志点的第三图案;
图2d是本申请实施例提供的标志点的第四图案;
图3是本申请实施例提供的标志点识别方法的另一流程图;
图4是图1中的步骤S120的流程图;
图5是本申请实施例提供的标志点识别方法的另一流程图;
图6是图1中的步骤S150的流程图;
图7是图6中的步骤S620的流程图;
图8是图7中的步骤S730的流程图;
图9是本申请实施例提供的标志点识别装置的结构示意图;
图10是本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
标志点包括二维(2D)标志点和三维(3D)标志点,有很多种类,2D标志点可以是某种特定图案,3D标志点可以是某一特定物品。当待识别对象的特征不明显、目标识别任务需要很高的识别精度和定位精度时,需要通过人为添加标志点,将标志点作为空间位置标识进行特征补充,在机器视觉领域有着广泛的应用。2D标志点包括带编码的标志点和不带编码的标志点,但不带编码的标志点很难满足一些领域的应用需求,例如高鲁棒性的点云拼接任务。带编码的标志点包括方形标志点,方形标志点可承载的信息较多,识别鲁棒性较高,但是由于其角点定位精度低,导致方形标志点的识别准确性低。因此,在保证高鲁棒性的基础上,提高标志点识别的准确性成为了亟待解决的问题。
基于此,本申请实施例提供了一种标志点识别方法、标志点识别装置、电子设备及计算机可读存储介质,旨在提高标志点识别的准确性和鲁棒性。
本申请实施例提供的标志点识别方法、标志点识别装置、电子设备及计算机可读存储介质,具体通过如下实施例进行说明,首先描述本申请实施例中的标志点识别方法。
本申请实施例提供的标志点识别方法,涉及机器视觉技术领域。本申请实施例提供的标志点识别方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现标志点识别方法的应用等,但并不局限于以上形式。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
图1是本申请实施例提供的标志点识别方法的一个可选的流程图,图1中的方法可以包括但不限于包括步骤S110至步骤S160。
步骤S110,获取预设标志点的标志点图像;预设标志点包括第一圆和第二圆,第一圆的半径大于第二圆,第一圆的圆心和第二圆的圆心相同,第一圆和第二圆之间形成带状编码区域;
步骤S120,对标志点图像进行椭圆检测,得到多个目标椭圆结构;
步骤S130,根据每两个目标椭圆结构的圆心之间的距离,从多个目标椭圆结构中识别出同心双圆结构,并将同心双圆结构的圆心作为预设标志点的位置信息;
步骤S140,对同心双圆结构进行畸变矫正,得到圆形结构;圆形结构包括带状编码区域;
步骤S150,对带状编码区域进行解码,得到预设标志点的编码;
步骤S160,根据编码和位置信息从标志点图像中识别出预设标志点。
本申请实施例所示意的步骤S110至步骤S160,通过采用内外圆的双圆方式,使双圆之间形成带状编码区域,从而使得编码数量增加,预设标志点可承载的信息变多,提高了标志点识别的鲁棒性。对标志点图像进行椭圆检测,得到多个目标椭圆结构,根据每两个目标椭圆结构的圆心之间的距离,从多个目标椭圆结构中识别出同心双圆结构,能够从标志点图像中识别出第一圆和第二圆,并将同心双圆结构的圆心作为预设标志点的位置信息。对同心双圆结构进行畸变矫正,得到圆形结构,通过将椭圆区域还原为圆形区域,便于对带状编码区域进行解码,提高解码准确性,避免了因解码错误导致的标志点误识别问题。对带状编码区域进行解码,得到预设标志点的编码,根据编码和位置信息从标志点图像中识别出预设标志点,提高了标志点识别的准确性。
在一些实施例的步骤S110中,现有的2D标志点主要以不带编码的标志点为主,不带编码的标志点样式统一,例如opencv的棋盘格标志点和halcon的圆形标志点,在应用过程中通过多个标志点的散乱分布共同构成一个特征,来进行空间位置标识,但是不带编码的标志点很难满足一些领域的应用需求,例如高鲁棒性的点云拼接任务。带编码的标志点对标志点的数量和非对称性的要求没有不带编码的标志点苛刻,带编码的标志点具有唯一性,在不同的观测任务中可通过其编码快速建立对应关系,但识别相对复杂、耗时,且对识别的稳定性要求较高。可选择的带编码的标志点比较有限,且具有局限性,例如arTag、AruCo、QRCode等方形标志点,虽然可承载的信息较多,识别稳定性即鲁棒性较高,但是由于角点定位精度低,导致标志点的定位精度低,难以满足高精度定位场景的需求,CCTag、FourierTag等圆形标志点,通过采用多圆拟合的方式提高定位精度,但是其编码方式导致编码数量较少,识别算法的计算量较大,InterSense等圆形标志点,采用内置编码的方式,但是其识别稳定性较低。
将预设标志点设置于目标物体上,利用拍摄设备对目标物体进行拍摄,并获取拍摄设备采集的2D图像,将该2D图像作为待识别的标志点图像。本申请实施例采用带编码的2D标志点作为预设标志点,预设标志点图案为二值化的图形,只有黑白两种颜色,可将黑白两种颜色互换,作为两个独立的预设标志点,这两个标志点的识别不会互相影响。如图2a、图2b、图2c和图2d所示,选取了四个预设标志点,预设标志点包括第一圆和第二圆,第一圆的半径大于第二圆,第一圆的圆心和第二圆的圆心相同,第一圆和第二圆之间形成带状编码区域,带状编码区域用于构成该预设标志点的唯一编码,在特征设计上预设标志点采用内外圆的双圆方式,在内外圆之间按一定比例规划一个带状区域,预设标志点的特征明显,易识别且鲁棒性高。四个预设标志点分为两种类型,2a和2c为同一类型,即第二圆、带状编码区域和背景区域为黑色,第一圆为白色,2b和2d为同一类型,即第二圆、带状编码区域和背景区域为白色,第一圆为黑色,两种标志点的识别和定位方法相同,可根据应用场景需求进行选取或者搭配使用。例如,在点云拼接场景中,可将一种预设标志点用于环境场景的标记与定位,将另一种预设标志点用于目标物体的标记与定位,实现目标物体多姿态下不同角度的点云拼接。
点云拼接任务是利用点云重叠部分将不同角度拍摄的点云拼接在一起,由于被拍摄的工件即目标物体通常没有明显的特征,因此需要用标志点来补充特征。点云拼接任务中的一个重要步骤为匹配,例如,从不同角度拍摄同一个圆柱体的不同区域,将两个圆柱点云弧面进行匹配,但是圆柱点云向上的平移和旋转无法确定,如果在圆柱体上散乱地放上标志点,从不同角度拍摄同一组标志点,通过编码可以将两幅图中的标志点建立一一对应关系,由于标志点和圆柱体是相对固定,可以通过标志点之间的一一对应关系找到点云之间的对应关系,有助于提高匹配准确性,避免误匹配。
将带状编码区域等分为预设数量个子区域,每个子区域为黑色或者白色,当预设数量为12时,带状编码区域可等价为一个12位的二进制编码,从而实现预设标志点的编码化,实现了预设标志点的唯一性。如图2d所示,若黑色区域的编码为0,白色区域的编码为1,将带状编码区域等分为12个子区域,以中线右边的第一个子区域为起始区域,顺时针读取每个子区域的编码,得到二进制编码为000111111010,该中线与y轴方向平行,经过第一圆和第二圆的圆心,起始区域的左边界线与中线重合,为带状编码区域的0°。需要说明的是,黑色区域的编码也可以为1,白色区域的编码也可以为0,可根据实际情况自行定义。
请参阅图3,在一些实施例中,在步骤S120之前,标志点识别方法可以包括但不限于包括步骤S310至步骤S320:
步骤S310,对标志点图像进行亮度均衡化,得到亮度均衡化后的标志点图像;
步骤S320,对亮度均衡化后的标志点图像进行高斯滤波,得到高斯滤波后的标志点图像。
在一些实施例的步骤S310中,对标志点图像进行预处理,以提高标志点识别的准确性和鲁棒性。采用直方图均衡化方法对标志点图像进行亮度均衡化,使标志点图像的亮度直方图分布较为均匀,降低图像过曝区域的曝光度,提高图像欠曝区域的对比度,减小过曝或者欠曝对标志点识别的影响,提高了标志点识别的准确性。
在一些实施例的步骤S320中,为了减少图像噪声对标志点识别的影响,通过高斯滤波器对亮度均衡化的标志点图像进行高斯滤波,得到高斯滤波后的标志点图像。
上述步骤S310至步骤S320,通过对标志点图像进行亮度均衡化、高斯滤波,能够降低图像过曝、欠曝以及图像噪声对标志点识别的影响,提高了标志点识别的准确性。
请参阅图4,在一些实施例中,步骤S120可以包括但不限于包括步骤S410至步骤S440:
步骤S410,对标志点图像进行边缘提取,得到标志点图像的多个边缘;
步骤S420,对每一边缘进行霍夫变换,得到多个初始椭圆结构;
步骤S430,根据初始椭圆结构的长轴长度和短轴长度,确定初始椭圆结构的椭圆度;
步骤S440,根据椭圆度和预设的椭圆度阈值对多个初始椭圆结构进行筛选,得到多个目标椭圆结构。
在一些实施例的步骤S410中,利用sobel边缘检测算子对标志点图像进行边缘提取,得到多个边缘,其中边缘是图像的重要特征,指灰度变化不连续的像素点的集合。
在一些实施例的步骤S420中,拍摄设备采集的是不同角度的标志点图像,当拍摄设备不从预设标志点的正面而是从侧面拍摄时,由于投影变换,导致预设标志点的圆形区域会变换成椭圆区域。为了从标志点图像中提取出预设标志点,对提取出来的边缘进行霍夫变换,以拟合椭圆边缘,识别出标志点图像中的椭圆结构,得到初始椭圆结构,其中初始椭圆结构包括圆形结构。
在一些实施例的步骤S430中,获取初始椭圆结果的长轴长度和短轴长度,计算长轴长度与短轴长度的比值,将比值作为椭圆度。
在一些实施例的步骤S440中,当椭圆度大于椭圆度阈值,说明椭圆度过大,拍摄设备拍摄预设标志点的倾斜角度过大,对该椭圆度对应的初始椭圆结构进行剔除,当椭圆度小于或者等于椭圆度阈值,对该椭圆度对应的初始椭圆结构进行保留,得到目标椭圆结构。
通过上述步骤S410至步骤S440,能够从标志点图像中识别出多个椭圆结构,以根据椭圆结构识别预设标志点。
在一些实施例的步骤S130中,预设标志点包括第一圆和第二圆,第一圆和第二圆为同心双圆,为了识别出预设标志点,因此需要从目标椭圆结构中寻找同心双圆结构,通过采用内圆、带状编码区域、外圆这种递进半径增大的结构,一方面保证带状编码区域具有足够大的面积,使带状编码区域在标志点图像中占据较多的像素点,避免编码解析错误的误识别问题,另一方面外圆对整个标志点会起到保护作用,避免了一旦带状编码区域被遮挡,同心双圆结构便不存在,从而避免了因带状编码区域遮挡导致编码解析错误的误识别问题。
获取每两个目标椭圆结构的圆心之间的距离,若距离小于或者等于预设的距离阈值,且两个目标椭圆结构的比例满足预设比例,说明这两个目标椭圆结构为同心双圆结构,若距离大于距离阈值,说明这两个目标椭圆结构不是同心双圆结构,从而从多个目标椭圆结构中识别出同心双圆结构,并将同心双圆结构的圆心作为预设标志点的位置信息。同心双圆结构包括第一目标椭圆结构和第二目标椭圆结构,第一目标椭圆结构的第一长轴长度与第二目标椭圆结构的第二长轴长度满足预设比例,且第一目标椭圆结构的第一短轴长度与第二目标椭圆结构的第二短轴长度满足预设比例,并将两个目标椭圆结构的圆心均值作为预设标志点的位置信息。例如第一目标椭圆结构的圆心为(x1,y1),第二目标椭圆结构的圆心为(x2,y2),位置信息为(x,y),则x=(x1+x2)/2,y=(y1+y2)/2。需要说明的是,预设标志点的第一圆、第二圆、带状编码区域的比例(第一圆半径、第二圆半径和区域半径之间的比例)是固定的,该比例并不会随着投影变换等现行变换所改变,因此满足该比例的同心双圆结构为预设标志点。与多圆拟合的方式相比,不仅减少了计算量,且增加了编码数量,使预设标志点可承载的信息变多,提高了标志点识别的鲁棒性。
在一些实施例的步骤S140中,由于预设标志点在标志点图像中都是以椭圆形式存在的,在椭圆内寻找带状编码区域,并对带状编码区域进行解码比较复杂,因此将椭圆矫正为圆,在圆形区域内进行解码,以提高标志点识别的效率。从标志点图像中截取同心双圆结构所在的区域,利用投影变换对同心双圆结构的椭圆参数进行畸变矫正,得到圆形结构,通过圆形结构中第一圆半径、第二圆半径以及区域半径之间的比例,确定带状编码区域,以通过双圆定位到带状编码区域。
请参阅图5,在一些实施例中,在步骤S140之后,标志点识别方法可以包括但不限于包括步骤S510至步骤S530:
步骤S510,对圆形结构进行填充处理,得到填充后的圆形结构;
步骤S520,对填充后的圆形结构进行去噪处理,得到去噪后的圆形结构;
步骤S530,对去噪后的圆形结构进行二值化处理,得到二值化后的圆形结构。
在一些实施例的步骤S510中,在畸变矫正之后,需要对圆形结构进行后处理,以提高解码的准确性。根据圆形结构中第二圆的灰度值确定预设标志点的类型,并将圆形结构的残缺区域用该类型标志点的背景灰度值进行填充,得到填充后的圆形结构。具体地,第二圆即内圆是黑色的,预设标志点的背景区域也是黑色的,第二圆即内圆是白色的,预设标志点的背景区域也是白色的,利用背景区域的颜色填充畸变矫正后图像的残缺区域。
在一些实施例的步骤S520中,对填充后的图像进行滤波降噪处理,得到去噪后的图像。具体地,利用中值滤波器对填充后的图像进行中值滤波,以去除脉冲噪声、椒盐噪声等杂乱噪声点,利用高斯滤波器对中值滤波后的图像进行高斯滤波,以去除高斯噪声。
在一些实施例的步骤S530中,对去噪后的圆形结构图像进行二值化处理,将圆形结构图像由灰度图像转变为二值图像。
上述步骤S510至步骤S530,通过对圆形结构图像进行后处理,便于后续对圆形结构的带状编码区域进行解码,提高解码准确性。
请参阅图6,在一些实施例中,步骤S150可以包括但不限于包括步骤S610至步骤S640:
步骤S610,对带状编码区域进行区域划分,得到多个子区域;
步骤S620,计算每一子区域的第一灰度值;
步骤S630,根据第一灰度值,确定带状编码区域的灰度突变点;
步骤S640,从灰度突变点开始依次遍历子区域,根据子区域的第一灰度值得到编码。
在一些实施例的步骤S610中,将带状编码区域划分为预设数量个子区域,预设数量可以为12。
在一些实施例的步骤S620中,计算每一子区域的第一灰度值,其中第一灰度值为子区域的编码,该编码为0或者1。
在一些实施例的步骤S630中,从带状编码区域的0°开始,依次遍历各子区域的多个像素点,将第一个灰度值发生变化的像素点作为灰度突变点,其中灰度突变点可以是第一个第一灰度值从0变成1的像素点,也可以是第一个第一灰度值从1变成0的像素点。
在一些实施例的步骤S640中,从灰度突变点开始依次遍历各子区域,根据每一子区域的第一灰度值得到编码。如图2d所示,若黑色区域的编码为0,白色区域的编码为1,从灰度突变点开始依次遍历各子区域,即从第四个子区域开始遍历,得到编码为111111010000。
通过上述步骤S610至步骤S640,能够得到带状编码区域的编码,以根据编码识别预设标志点。
请参阅图7,在一些实施例中,步骤S620可以包括但不限于包括步骤S710至步骤S740:
步骤S710,遍历子区域的每个像素点;
步骤S720,对像素点进行邻域搜索,得到像素点的邻域;
步骤S730,根据邻域的第二灰度值,确定像素点的第三灰度值;
步骤S740,根据第三灰度值得到第一灰度值。
在一些实施例的步骤S710中,为了确定子区域的第一灰度值即一位二进制编码,遍历子区域内每个像素点。
在一些实施例的步骤S720中,利用k维树(k-dimensional tree,kd-tree)对子区域的像素点进行邻域搜索,寻找每个像素点的邻域。
在一些实施例的步骤S730中,第二灰度值为邻域内像素点的灰度值,当邻域内像素点的数量大于1时,对邻域内所有像素点的第二灰度值进行灰度求和处理,得到灰度和值,根据灰度和值以及预设的灰度阈值确定第三灰度值。
在一些实施例的步骤S740中,当确定子区域内每一像素点的第三灰度值,对第三灰度值进行灰度平均处理,得到灰度平均值,根据灰度平均值确定子区域的第一灰度值。具体地,将某一子区域内所有像素点的第三灰度值进行灰度平均,得到灰度平均值,若灰度平均值大于或者等于预设阈值,则子区域的第一灰度值为1,即该子区域内所有像素点的灰度值均为1,若灰度平均值小于预设阈值,则子区域的第一灰度值为0,即该子区域内所有像素点的灰度值均为0。或者,获取子区域内第一像素点的第一数量和第二像素点的第二数量,第一像素点为第三灰度值为1的像素点,第二像素点为第三灰度值为0的像素点,若第一数量大于第二数量,则第一灰度值为1,若第一数量小于第二数量,则第一灰度值为0。
通过上述步骤S710至步骤S740,能够确定各子区域的编码,以根据各子区域的编码得到带状编码区域的编码。
请参阅图8,在一些实施例中,步骤S730可以包括但不限于包括步骤S810至步骤S820:
步骤S810,对第二灰度值进行灰度求和处理,得到灰度和值;
步骤S820,根据灰度和值以及预设的灰度阈值确定第三灰度值。
在一些实施例的步骤S810中,为了确定子区域内像素点的第三灰度值,对邻域内所有像素点的第二灰度值进行求和,得到灰度和值。
在一些实施例的步骤S820中,当灰度和值大于或者等于灰度阈值,说明该像素点邻域内各像素点的第二灰度值大多为1,则该像素点的第三灰度值为1,当灰度和值小于灰度阈值,说明该像素点邻域内各像素点的第二灰度值大多为0,则该像素点的第三灰度值为0。
通过上述步骤S810至步骤S820,能够确定子区域内每一像素点的第三灰度值,以根据第三灰度值确定子区域的一位二进制编码。
在一些实施例的步骤S160中,遍历标志点图像中所有的同心双圆结构,直至得到标志点图像中所有预设标志点的编码以及位置信息。将12位的二进制编码转化为十进制,得到预设标志点的编号,例如编码111111010000的编号为4048。需要说明的是,可以将编码与编号的映射关系预先存储至标志点库,通过二进制编码对标志点库进行查询,得到预设标志点的编号。通过编号可以将不同图像中的相同预设标志点对应起来,通过位置信息可以从标志点图像中定位出预设标志点。
请参阅图9,本申请实施例还提供一种标志点识别装置,可以实现上述标志点识别方法,该装置包括:
获取模块910,用于获取预设标志点的标志点图像;预设标志点包括第一圆和第二圆,第一圆的半径大于第二圆,第一圆的圆心和第二圆的圆心相同,第一圆和第二圆之间形成带状编码区域;
椭圆检测模块920,用于对标志点图像进行椭圆检测,得到多个目标椭圆结构;
同心双圆识别模块930,用于根据每两个目标椭圆结构的圆心之间的距离,从多个目标椭圆结构中识别出同心双圆结构,并将同心双圆结构的圆心作为预设标志点的位置信息;
畸变矫正模块940,用于对同心双圆结构进行畸变矫正,得到圆形结构;圆形结构包括带状编码区域;
解码模块950,用于对带状编码区域进行解码,得到预设标志点的编码;
标志点识别模块960,用于根据编码和位置信息从标志点图像中识别出预设标志点。
该标志点识别装置的具体实施方式与上述标志点识别方法的具体实施例基本相同,在此不再赘述。
本申请实施例还提供了一种电子设备,电子设备包括括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述标志点识别方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
请参阅图10,图10示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器1010,可以采用通用的CPU(CentralProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器1020,可以采用只读存储器(ReadOnlyMemory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(RandomAccessMemory,RAM)等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行本申请实施例的标志点识别方法;
输入/输出接口1030,用于实现信息输入及输出;
通信接口1040,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线1050,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息;
其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述标志点识别方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例提供的标志点识别方法、标志点识别装置、电子设备及计算机可读存储介质,其通过采用内外圆的双圆方式,使双圆之间形成带状编码区域,从而使得编码数量增加,预设标志点可承载的信息变多,提高了标志点识别的鲁棒性。对标志点图像进行椭圆检测,得到多个目标椭圆结构,根据每两个目标椭圆结构的圆心之间的距离,从多个目标椭圆结构中识别出同心双圆结构,能够从标志点图像中识别出第一圆和第二圆,并将同心双圆结构的圆心作为预设标志点的位置信息。对同心双圆结构进行畸变矫正,得到圆形结构,通过将椭圆区域还原为圆形区域,便于对带状编码区域进行解码,提高解码准确性,避免了因解码错误导致的标志点误识别问题。对带状编码区域进行解码,得到预设标志点的编码,根据编码和位置信息从标志点图像中识别出预设标志点,提高了标志点识别的准确性。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。
Claims (10)
1.标志点识别方法,其特征在于,所述方法包括:
获取预设标志点的标志点图像;所述预设标志点包括第一圆和第二圆,所述第一圆的半径大于所述第二圆,所述第一圆的圆心和所述第二圆的圆心相同,所述第一圆和所述第二圆之间形成带状编码区域;
对所述标志点图像进行椭圆检测,得到多个目标椭圆结构;
根据每两个所述目标椭圆结构的圆心之间的距离,从多个所述目标椭圆结构中识别出同心双圆结构,并将所述同心双圆结构的圆心作为所述预设标志点的位置信息;
对所述同心双圆结构进行畸变矫正,得到圆形结构;所述圆形结构包括所述带状编码区域;
对所述带状编码区域进行解码,得到所述预设标志点的编码;
根据所述编码和所述位置信息从所述标志点图像中识别出所述预设标志点。
2.根据权利要求1所述的标志点识别方法,其特征在于,在所述对所述标志点图像进行椭圆检测,得到多个目标椭圆结构之前,所述标志点识别方法还包括:
对所述标志点图像进行亮度均衡化,得到亮度均衡化后的标志点图像;
对所述亮度均衡化后的标志点图像进行高斯滤波,得到高斯滤波后的标志点图像。
3.根据权利要求1所述的标志点识别方法,其特征在于,所述对所述标志点图像进行椭圆检测,得到多个目标椭圆结构,包括:
对所述标志点图像进行边缘提取,得到所述标志点图像的多个边缘;
对每一所述边缘进行霍夫变换,得到多个初始椭圆结构;
根据所述初始椭圆结构的长轴长度和短轴长度,确定所述初始椭圆结构的椭圆度;
根据所述椭圆度和预设的椭圆度阈值对多个所述初始椭圆结构进行筛选,得到多个所述目标椭圆结构。
4.根据权利要求2所述的标志点识别方法,其特征在于,在所述对所述同心双圆结构进行畸变矫正,得到圆形结构之后,所述标志点识别方法还包括:
对所述圆形结构进行填充处理,得到填充后的圆形结构;
对所述填充后的圆形结构进行去噪处理,得到去噪后的圆形结构;
对所述去噪后的圆形结构进行二值化处理,得到二值化后的圆形结构。
5.根据权利要求1至4任一项所述的标志点识别方法,其特征在于,所述对所述带状编码区域进行解码,得到所述预设标志点的编码,包括:
对所述带状编码区域进行区域划分,得到多个子区域;
计算每一所述子区域的第一灰度值;
根据所述第一灰度值,确定所述带状编码区域的灰度突变点;
从所述灰度突变点开始依次遍历所述子区域,根据所述子区域的第一灰度值得到所述编码。
6.根据权利要求5所述的标志点识别方法,其特征在于,所述计算每一所述子区域的第一灰度值,包括:
遍历所述子区域的每个像素点;
对所述像素点进行邻域搜索,得到所述像素点的邻域;
根据所述邻域的第二灰度值,确定所述像素点的第三灰度值;
根据所述第三灰度值得到所述第一灰度值。
7.根据权利要求6所述的标志点识别方法,其特征在于,所述根据所述邻域的第二灰度值,确定所述像素点的第三灰度值,包括:
对所述第二灰度值进行灰度求和处理,得到灰度和值;
根据所述灰度和值以及预设的灰度阈值确定所述第三灰度值。
8.标志点识别装置,其特征在于,所述装置包括:
获取模块,用于获取预设标志点的标志点图像;所述预设标志点包括第一圆和第二圆,所述第一圆的半径大于所述第二圆,所述第一圆的圆心和所述第二圆的圆心相同,所述第一圆和所述第二圆之间形成带状编码区域;
椭圆检测模块,用于对所述标志点图像进行椭圆检测,得到多个目标椭圆结构;
同心双圆识别模块,用于根据每两个所述目标椭圆结构的圆心之间的距离,从多个所述目标椭圆结构中识别出同心双圆结构,并将所述同心双圆结构的圆心作为所述预设标志点的位置信息;
畸变矫正模块,用于对所述同心双圆结构进行畸变矫正,得到圆形结构;所述圆形结构包括所述带状编码区域;
解码模块,用于对所述带状编码区域进行解码,得到所述预设标志点的编码;
标志点识别模块,用于根据所述编码和所述位置信息从所述标志点图像中识别出所述预设标志点。
9.电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的标志点识别方法。
10.计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的标志点识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310031791.3A CN116030240A (zh) | 2023-01-10 | 2023-01-10 | 标志点识别方法、标志点识别装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310031791.3A CN116030240A (zh) | 2023-01-10 | 2023-01-10 | 标志点识别方法、标志点识别装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116030240A true CN116030240A (zh) | 2023-04-28 |
Family
ID=86079161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310031791.3A Pending CN116030240A (zh) | 2023-01-10 | 2023-01-10 | 标志点识别方法、标志点识别装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116030240A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116687569A (zh) * | 2023-07-28 | 2023-09-05 | 深圳卡尔文科技有限公司 | 一种编码标识手术导航方法、系统和存储介质 |
-
2023
- 2023-01-10 CN CN202310031791.3A patent/CN116030240A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116687569A (zh) * | 2023-07-28 | 2023-09-05 | 深圳卡尔文科技有限公司 | 一种编码标识手术导航方法、系统和存储介质 |
CN116687569B (zh) * | 2023-07-28 | 2023-10-03 | 深圳卡尔文科技有限公司 | 一种编码标识手术导航方法、系统和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107633192B (zh) | 一种基于机器视觉的复杂背景下条形码分割与识读方法 | |
CN106897648B (zh) | 识别二维码位置的方法及其系统 | |
CN106709500B (zh) | 一种图像特征匹配的方法 | |
CN110309687A (zh) | 一种二维码图像的校正方法及校正装置 | |
CN110264573B (zh) | 基于结构光的三维重建方法、装置、终端设备及存储介质 | |
CN111681285B (zh) | 一种标定方法、装置、电子设备及存储介质 | |
CN111259908A (zh) | 基于机器视觉的钢卷号识别方法、系统、设备及存储介质 | |
CN105844277B (zh) | 标签识别方法和装置 | |
CN110807807B (zh) | 一种单目视觉的目标定位的图案、方法、装置及设备 | |
CN106980851B (zh) | 一种数据矩阵dm码的定位方法及装置 | |
CN111681284A (zh) | 一种角点检测方法、装置、电子设备及存储介质 | |
CN106919883B (zh) | 一种qr码的定位方法及装置 | |
CN108830907A (zh) | 基于单目系统的投影标定方法及系统 | |
CN116030240A (zh) | 标志点识别方法、标志点识别装置、电子设备及存储介质 | |
WO2021147670A1 (zh) | 图像处理的方法和装置 | |
CN109190742A (zh) | 一种基于灰度特征的编码特征点的解码方法 | |
CN113436215A (zh) | 前景目标的检测方法和装置、存储介质、电子装置 | |
CN113516597B (zh) | 图像校正方法、装置和服务器 | |
CN114898321A (zh) | 道路可行驶区域检测方法、装置、设备、介质及系统 | |
CN110673607A (zh) | 动态场景下的特征点提取方法、装置、及终端设备 | |
CN111046831B (zh) | 家禽识别方法、装置及服务器 | |
CN106910196B (zh) | 一种图像检测方法及装置 | |
CN109472741B (zh) | 三维拼接方法及装置 | |
CN113269864A (zh) | 一种多视角三维重建装置及方法 | |
CN110222749A (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 |