CN110490935B - 直线特征检测方法、装置及设备 - Google Patents
直线特征检测方法、装置及设备 Download PDFInfo
- Publication number
- CN110490935B CN110490935B CN201910768382.5A CN201910768382A CN110490935B CN 110490935 B CN110490935 B CN 110490935B CN 201910768382 A CN201910768382 A CN 201910768382A CN 110490935 B CN110490935 B CN 110490935B
- Authority
- CN
- China
- Prior art keywords
- image
- coordinates
- voting
- preset
- coordinate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20048—Transform domain processing
- G06T2207/20061—Hough transform
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明提出一种直线特征检测方法、装置及设备,所述直线特征检测方法包括:获取多个预设极角坐标θ,计算出采样点图像坐标映射后曲线上多个预设极角坐标θ分别对应的极径坐标γ;确定分配给各个预设极角坐标θ的投票单元,其中,所述预设极角坐标θ与所述投票单元一一对应;分别在各个预设极角坐标θ的投票单元中,确定各个预设极角坐标θ对应的极径坐标γ映射的存储地址,更新所述存储地址中的投票数据,其中,所述投票数据为所述极径坐标γ的出现次数;对各个投票单元中的投票数据进行统计,获得统计结果,并根据统计结果确定直线特征参数。本发明可减少资源消耗,降低存储空间的需求。
Description
技术领域
本发明涉及图像处理技术领域,具体而言,涉及一种直线特征检测方法、装置及设备。
背景技术
在航空航天、空间攻防、工业流水线以及道路交通中存在大量高速运动的目标,这些目标表面特征复杂,表面存在大量的直线特征,为了实现目标定位,通常提取图像中目标的直线特征,进而确定目标的位置信息以及运动信息。
传统的直线特征检测方法,通过将待检测图像中采样点在待检测图像中的图像坐标映射到参数空间,获得映射后的参数坐标,基于参数坐标的γ值与θ值进行参数坐标的投票,实现直线特征的确定。现有技术中,基于参数坐标的两个值进行参数坐标的投票,占用存储资源大。
发明内容
本发明解决当前的直线特征检测方法存在存储资源耗费大的技术问题。
为解决上述问题,本发明提供一种直线特征检测方法,包括:
获取待检测图像,从所述待检测图像中获得采样点图像坐标;
将所述采样点图像坐标映射到霍夫空间中,获得映射在霍夫空间中的曲线;
获取多个预设极角坐标θ,计算出所述曲线上所述多个预设极角坐标θ分别对应的极径坐标γ;
确定分配给各个预设极角坐标θ的投票单元,其中,所述预设极角坐标θ与所述投票单元一一对应;
分别在各个预设极角坐标θ的投票单元中,确定各个预设极角坐标θ对应的极径坐标γ映射的存储地址,更新所述存储地址中的投票数据,其中,所述投票数据为所述极径坐标γ的出现次数;
对各个投票单元中的投票数据进行统计,获得统计结果,并根据所述统计结果确定直线特征参数。
可选地,每个极径坐标γ映射的存储地址,等于所述每个极径坐标γ的值。
可选地,所述获取待检测图像,从所述待检测图像中获得采样点图像坐标的步骤之后、所述将所述采样点图像坐标映射到霍夫空间中,获得映射在霍夫空间中的曲线的步骤之前包括:
将所述采样点图像坐标进行缓存,在缓存的所述采样点图像坐标的数量大于预设值时,读取缓存的所述采样点图像坐标。
可选地,所述将所述采样点图像坐标进行缓存,在缓存的所述采样点图像坐标的数量大于预设值时,读取缓存的所述采样点图像坐标的步骤包括:
将所述采样点图像坐标缓存至预置的第一存储器;
当所述第一存储器缓存数量大于预设值时,读取所述第一存储器中缓存的所述采样点图像坐标,并将所述采样点图像坐标缓存至预置的第二存储器;
在所述第二存储器缓存数量大于预设值时,读取所述第二存储器中缓存的所述采样点图像坐标,并将所述采样点图像坐标缓存至所述第一存储器;
返回执行所述当所述第一存储器缓存数量大于预设值时,读取所述第一存储器中缓存的所述采样点图像坐标,并将所述采样点图像坐标缓存至预置的第二存储器的步骤。
可选地,所述预设值大于或等于50。
可选地,所述获取待检测图像,从所述待检测图像中获得采样点图像坐标的步骤包括:
获取一个时钟周期的所述待检测图像的像素点;
在获取一个时钟周期的所述待检测图像的像素点后,基于该时钟周期的像素点计算获得所述采样点图像坐标,同时,获取下一个时钟周期的所述待检测图像的像素点;
返回执行所述在获取一个时钟周期的所述待检测图像的像素点后,基于该时钟周期的像素点计算获得所述采样点图像坐标,同时,获取下一个时钟周期的所述待检测图像的像素点的步骤。
可选地,所述对各个投票单元中的投票数据进行统计,获得统计结果,并根据所述统计结果确定直线特征参数的步骤包括:
对各个投票单元中的投票数据进行统计,确定在各个投票单元中,每个极径坐标的出现次数;
将所述出现次数大于预设阈值的极径坐标对应的参数坐标判定为直线特征参数。
进一步地,本发明还提出一种直线特征检测装置,所述直线特征检测装置包括:
获取单元,其用于获取待检测图像,从所述待检测图像中获得采样点图像坐标;
计算单元,其用于将所述采样点图像坐标映射到霍夫空间中,获得映射在霍夫空间中的曲线;
所述计算单元,其还用于获取多个预设极角坐标θ,计算出所述曲线上所述多个预设极角坐标θ分别对应的极径坐标γ;
投票单元,其用于确定分配给各个预设极角坐标θ的投票单元,其中,所述预设极角坐标θ与所述投票单元一一对应;
所述投票单元,其还用于分别在各个预设极角坐标θ的投票单元中,确定各个预设极角坐标θ对应的极径坐标γ映射的存储地址,更新所述存储地址中的投票数据,其中,所述投票数据为所述极径坐标γ的出现次数;
结果确定单元,其用于对各个投票单元中的投票数据进行统计,获得统计结果,并根据所述统计结果确定直线特征参数。
进一步地,本发明还提出一种直线特征检测设备,所述直线特征检测设备包括处理器、存储器以及存储在所述存储器上并可被所述处理器执行的直线特征检测程序,所述处理器执行所述直线特征检测程序时实现如上所述直线特征检测方法的步骤。
进一步地,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有直线特征检测程序,其中所述直线特征检测程序被处理器执行时,实现如上所述的直线特征检测方法的步骤。
与通过参数坐标的两个坐标值(γ,θ)进行投票相比,本发明通过设置多个预设极角坐标θ,并为多个预设极角坐标θ分配唯一对应的投票单元,在各个投票单元内,对极径坐标γ的出现次数进行投票,可将对应不同极角坐标θ的极径坐标γ的投票过程分开,减少了投票统计过程中需识别、对比的参数,减少了投票统计过程中所需的存储资源,提升了处理速度,且因为将对应不同极角坐标θ的极径坐标γ的投票过程分开,可并行处理各个投票单元内的参数坐标的投票,降低了所需时长,进一步提升了投票统计速度,提高了直线特征的检测速度。
附图说明
图1为霍夫变换中图像空间与参数空间之间映射关系的示意图;
图2为本发明直线特征检测方法一实施例的流程示意图;
图3为步骤S10细化后的一实施例流程示意图;
图4为本发明直线特征检测方法中实现投票统计的一实施例示意图;
图5为本发明直线特征检测方法另一实施例的示意图;
图6为本发明直线特征检测方法中步骤S20细化后的一实施例示意图;
图7为本发明直线特征检测方法中乒乓缓存的一实施例的示意图;
图8为本发明直线特征检测方法中步骤S70细化后的一实施例示意图;
图9为本发明直线特征检测装置的一实施例示意图;
图10为本发明直线特征检测设备的硬件结构一实施例示意图。
附图说明:
101-获取单元,102-计算单元,103-投票单元,104-结果确定单元,201-处理器,202-存储器。
具体实施方式
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
为便于理解本方案,对其中涉及的霍夫变换进行简要介绍。标准霍夫变换的基本原理为利用对偶性,将图像空间中的一条直线通过参数坐标计算转换为参数空间(也称霍夫空间)中的一个点,从而将图像空间中的直线识别问题转化为参数空间中的峰值提取问题,参数空间往往选择在极坐标系下实现霍夫变换,如下列公式所示:
γ=xcosθ+ysinθ
其中,γ表示参数空间中的极径,θ表示参数空间中的极角,在后文中,对于(γ,θ),将γ称为极径坐标,将θ称为极角坐标。
图像空间中的任一坐标点对应参数空间中的一条曲线,如图1所示,代表图像空间的x-y坐标系和参数空间的γ-θ坐标系之间的映射关系。例如,图像空间中位于一条直线上的三个点(x1,y1),(x2,y2),(x3,y3)映射到参数空间时,分别对应L1、L2、L3这三条曲线,每条曲线由多个参数坐标组成,在参数空间中各条曲线相交于一点(γ0,θ0),该点表示图像空间中的直线参数,通过此映射的方式识别直线特征。
传统的直线特征高速视觉检测方法,其通过将图像坐标映射到参数空间,获得图像坐标在参数空间对应的参数坐标,并基于参数坐标的γ值与θ值进行投票统计。高分辨率图像具有较大的数据量,不仅图像坐标的个数会增多,γ值也会增大,在进行高分辨率图像的直线特征检测时,投票统计会耗费大量存储资源,使得其对应用平台的软硬件资源要求较高,处理速度也受到限制。
基于上述分析,提出本发明直线特征检测方法。
参照图2,图2为本发明直线特征检测方法的一实施例流程示意图。
所述直线特征检测方法包括:
步骤S10,获取待检测图像,从所述待检测图像中获得采样点图像坐标;
可通过网络传输或本地传输等方式获取待检测图像,也可以通过图像采集设备,如摄像头、相机,采集获取待检测图像,可采用相机端的CameraLink协议高速传输接口将采集的图像数据传输至本发明直线特征检测装置,可选用Full模式(传输速率5.4Gb/s@80MHz)以实现最大速率传输,每个时钟(每个时钟周期为1/80MHz=1.25×10-8s)传输10个像素值,每个像素位宽为1Byte,每秒数据传输量为800MB。
在获得待检测图像后,从待检测图像中获得采样点图像坐标。
可选地,如图3,步骤S10包括:
步骤S11,获取一个时钟周期的所述待检测图像的像素点;
以预设速度传输将待检测图像从图像采集设备传输至直线特征检测装置,例如单个时钟完成10个像素点的传输,为缩短传输图像和直线检测处理的时间间隔,提高直线特征检测效率,在传输当前帧待检测图像的同时,并行处理采样点图像坐标的计算,即在传输一个时钟周期的像素点的同时,对已传输完的上一个时钟周期的像素点进行采样点图像坐标计算。
步骤S12,在获取一个时钟周期的所述待检测图像的像素点后,基于该时钟周期的像素点计算获得所述采样点图像坐标,同时,获取下一个时钟周期的所述待检测图像的像素点;
在计算采样点图像坐标时,首先对待检测图像进行图像预处理,图像预处理算法包含中值滤波、边缘提取、阈值优化、边缘细化算法等,对待检测图像进行图像预处理获得采样点,此处的采样点即边缘像素点。因上述图像预处理算法均为常用的预处理算法,此处不赘述。
在经图像预处理确定采样点后,计算采样点图像坐标,图像坐标,指图像空间上的坐标,可将图像的边缘或与边缘平行的直线作为直角坐标轴组成的图像坐标轴,如图像的长边作为横轴、图像的高边作为纵轴。在采用串行传输方式传输待检测图像时,根据图像的行有效信号进行计数累加,从而得到图像中每个边缘像素点对应的坐标值。
返回执行步骤S12。
在获取到下一个时钟周期的所述待检测图像的像素点后,继续基于该时钟周期的像素点计算获得采样点图像坐标,并同时获取下一个时钟周期的所述待检测图像的像素点,重复上述步骤,直至完成整个待检测图像的传输与检测。
在传输待检测图像的过程中,同时对已传输完的图像数据进行采样点图像坐标计算,以紧耦合的方式实现数据传输和采样点图像坐标计算,提高了数据处理效率。
步骤S30,将所述采样点图像坐标映射到霍夫空间中,获得映射在霍夫空间中的曲线;
霍夫空间,指极坐标参数空间。如前文所述的霍夫变换原理说明,一个采样点图像坐标(x0,y0),映射到极坐标参数空间后,获得了一条曲线,曲线公式为γ=x0cosθ+y0sinθ。
步骤S40,获取多个预设极角坐标θ,计算出所述曲线上所述多个预设极角坐标θ分别对应的极径坐标γ;
预设极角坐标θ,可以为系统出厂设置,也可以由用户基于自己的需求设置,预设极角坐标θ,可以为0-179°中任意一个角度值,可选地,多个预设极角坐标θ之间间隔固定步长,固定步长包括但不限于1°、0.5°、0.1°或45°,以固定步长为1°为例,多个预设极角坐标θ分别为0°、1°、2°、3°......179°,再以固定步长为45°为例,多个预设极角坐标θ分别为0°、45°、90°、135°。
可通过上述曲线公式,基于预设极角坐标θ,计算获得对应的极径坐标γ,例如,采样点图像坐标为(10,20),预设极角坐标θ为90°,则γ=10×cos90+20×sin90=20。
为避免极径坐标γ计算过程中的浮点运算,简化极径坐标γ计算过程,预先求得预设极角坐标θ的三角函数值(正弦值、余弦值),并进行取整处理,将取整处理后得到的三角函数值存储在预设地址中,可选地,将经取整处理后得到的三角函数值固化为ROM(只读内存镜像,下同)存储块,在后续的基于采样点图像以及预设极角坐标θ计算极径坐标γ(为便于描述,下文称参数坐标计算)的过程中仅需调用即可,其中,将极角作为ROM存储块地址值,将极角对应的三角函数值作为ROM存储块的数据位宽,可选地,ROM存储块地址深度为7位,数据位宽为10位。
可选地,将各个三角函数值扩大预设倍数后进行取整,具体可将各个三角函数值扩大1024倍后进行取整,这样在参数计算过程中仅对整数进行乘加运算处理即可,避免了进行浮点类型的操作,为了不影响统计精度,参数计算结束后再将结果缩小1024倍,因对于计算机而言,缩小1024倍相当于移位操作,可减少参数坐标计算的复杂度,提供处理速度。
通过将参数坐标计算中涉及到的三角函数值预先计算,并经扩大、取整处理后进行预存,可降低后续参数坐标计算中的计算复杂度,避免浮点运算,提升计算速度。
步骤S50,确定分配给各个预设极角坐标θ的投票单元,其中,所述预设极角坐标θ与所述投票单元一一对应;
为预设极角坐标θ设置对应的存储器,如RAM存储器,作为投票单元,用于为每个预设极角坐标θ对应的投票提供存储空间,并为不同预设极角坐标θ对应的投票设置隔离。其中,一个投票单元仅对应一个极角坐标θ。
步骤S60,分别在各个预设极角坐标θ的投票单元中,确定各个预设极角坐标θ对应的极径坐标γ映射的存储地址,更新所述存储地址中的投票数据,其中,所述投票数据为所述极径坐标γ的出现次数;
每个投票单元仅对应一个极角坐标θ,因此,对于一个投票单元内的投票,只需统计极径坐标γ在该投票单元内的出现次数,就可以确定该极径坐标对应参数坐标在整个参数空间的出现次数,在每次获得最新的极径坐标γ时,即可更新该极径坐标γ对应的出现次数,即极径坐标γ的投票票数。例如,0°对应投票单元内已有的极径坐标γ=10、γ=10、γ=12、γ=13,其对应的投票票数分别为2、3、4、5,最新获得的极径坐标γ为10,则将10的投票票数更新为3。
可选地,对于一个采样点图像坐标,可采用并行处理的方式,在单时钟内完成各个预设极角坐标θ对应的投票单元内的投票。其中,分别在各个投票单元内,对一个预设极角坐标θ对应的参数坐标进行投票统计,而非对所有参数坐标进行全局统计,可减少系统资源的消耗,并提升处理速度。
可为各个极径坐标γ创建唯一对应的存储地址,用于存储每个极径坐标γ对应的投票票数。其中,可以将极径坐标γ与其对应投票票数存储于同一存储地址中。也可根据极径坐标γ值进行预设处理后得到存储地址,如将极径坐标γ值经过预设的移位操作(向左或向右移位)后得到地址值。
为降低存储资源的消耗,将极径坐标γ对应投票单元中的出现次数存储于其对应的存储地址中,以实现在资源有限的情况下完成投票统计过程以及该过程中的数据存储。
可选地,每个极径坐标γ映射的存储地址,等于所述每个极径坐标γ的值。
对于极径坐标γ映射的存储地址,可将极径坐标γ值作为其映射的存储地址,将其投票票数存储于其转换后的存储地址中,对于一个投票单元内的投票,在得到最新映射的极径坐标γ后,即可确定该极径坐标γ映射的存储地址,根据该存储地址进行寻址,找到当前极径坐标γ值对应存储地址,然后读取该存储地址对应的数据,对该数据进行累加(即将该存储地址中的数据加1),并将累加后的数据重新写入存储地址,完成对存储地址中的投票数数据的更新。
每个极径坐标γ映射的存储地址,等于所述每个极径坐标γ的值,可简化投票过程中极径坐标γ的读取、对比操作,以及减少投票过程中数据存储占用的存储资源。与将极径坐标γ值作为内容存储在某个地址中相比,省去了从地址中读取内容和对比的操作,简化了投票过程,提高了投票处理速度,降低了存储资源占用。
各个投票单元之间的投票相互独立,因此,对于每个投票单元,根据极径坐标γ映射的存储地址,在该投票单元内,统计该极径坐标γ的出现次数/投票票数。
因将极径坐标γ转换为存储地址进行投票统计,可简化参数坐标投票过程中对极径坐标γ的读取、对比操作,提升处理速度,此外,为不同投票单元设置各自的存储器用于各自投票单元内部的投票统计,也可减少总的存储空间占用,降低资源耗费。
可选地,如图4,采用两层状态机实现投票统计过程,如图4,第一层为虚线所示的整体投票统计状态机,该状态机包含三个状态:清零状态,统计状态以及读取统计结果状态,其中,清零状态用于在每开始处理一帧图像时,将原先存储器中缓存的数据清零,并开始新的统计,读取统计结果状态即为结果读取状态,第二层为统计状态包含的多个子状态,主要完成读取当前地址的数据、累加以及回写这三部分操作,统计状态除了包含读取状态、累加状态以及回写状态以外,还可包含延迟状态,延迟状态的数量可以根据实际硬件条件以及数据处理要求确定,在一实施方式中,在一个投票单元内,获得一个最新的γ值时,基于该γ值执行进行图4所示统计状态中子状态的切换,其中,状态1使能存储器(如RAM块)读信号,读取相应地址(γ值转换后的存储地址)的数据(该γ值的出现次数),状态2与状态3均为延迟状态,状态4对当前读取的数据进行累加操作/更新操作,状态5将累加后的数据写入原地址,即将更新后的投票票数或出现次数存储在γ值转换后的存储地址中,完成对该γ值的投票统计。
可选地,为避免在整个直线特征检测过程中,因一个参数坐标的投票统计时长大于一个极径坐标γ的计算时长,导致漏掉个别极径坐标γ,可设置极径坐标γ的投票时长小于或等于一个极径坐标γ的计算时长,使得完成一个极径坐标γ的投票后,立即进行下一个极径坐标γ的投票,提高投票结果的精度。
步骤S70,对各个投票单元中的投票数据进行统计,获得统计结果,并根据所述统计结果确定直线特征参数。
可在各个投票单元内进行投票统计的同时,对各个投票单元中的投票数据进行统计,即获得各个存储地址中的投票数据,确定各个投票单元内的每个极径坐标γ的出现次数,并输出各个投票单元投票统计的结果,也可在进行完一帧图像的投票后,再输出各个投票单元投票统计的结果,各个投票单元之间不仅具有独立的投票过程,也具有独立投票结果输出。
可将投票票数最高的预设个数的极径坐标γ对应参数坐标作为直线特征参数,即将参数坐标的γ值、θ值作为直线特征参数;可选地,也可将每个投票单元内,投票票数大于或等于预设阈值的极径坐标γ对应参数坐标作为直线特征参数。直线特征参数对应图像空间的一条直线,从而确定原始图像空间中各个方向的直线段。
与通过参数坐标的两个坐标值(γ,θ)进行投票相比,本发明通过设置多个预设极角坐标θ,并为多个预设极角坐标θ分配唯一对应的投票单元,在各个投票单元内,对极径坐标γ的出现次数进行投票,可将对应不同极角坐标θ的极径坐标γ的投票过程分开,减少了投票统计过程中需识别、对比的参数,减少了投票统计过程中所需的存储资源,提升了处理速度,且因为将对应不同极角坐标θ的极径坐标γ的投票过程分开,可并行处理各个投票单元内的参数坐标的投票,降低了所需时长,进一步提升了投票统计速度,提高了直线特征的检测速度。
为更清晰地说明本发明实施例的上述效果,给出不为预设极角坐标θ分别设置对应的投票单元、不在各投票单元内分别进行投票的情况下,根据极径坐标γ、极角坐标θ,应用本发明实施例中将待投票参数(本发明实施例中使用极径坐标γ)转换为存储地址的方式共同进行投票统计时,所占用的存储资源,与本发明实施例所占用的方式进行对比,以突出上述效果。
以分辨率为2320×1726的待检测图像为例,将参与投票的参数坐标的γ值与θ值进行高低位拼接,将拼接结果作为存储器的地址值(Address)进行投票,其中,参数坐标中的γ最大值为:
γmax为γ最大值,Width为图像的宽度,Height为图像的高度,基于上式可计算γmax=2892,位宽为12位,参数坐标中的θ最大值为179,位宽为8位,因此,对参数坐标的γ值与θ值进行高低位拼接后的[γ,θ]总位宽为20位,则一共需要的地址深度为2^20=1048576,投票统计阶段需要耗费将近100Mbit的存储资源(基于实验验证得来)。
而本发明实施例中,仅用γ值就可以表示存储器的地址深度,仅用12位地址即可满足每一个存储器中的地址最大深度的需求,因为每个预设极角坐标θ分配了各自的投票单元,因此,对应各个投票单元的存储器总地址深度数仅为2892×180=520560(以各个投票单元对应预设极角坐标θ之间间隔为固定步长1°为例),与上述使用极径坐标γ和极角坐标θ共同进行投票相比,地址空间降低为后者的一半左右,且在数据位宽不变的条件下,对于各个投票单元,仅需50Kbit资源就可以完成投票统计(基于实验验证得来),全部方向的统计也仅仅需要9Mbit的资源,相比于后者极大地减少了资源耗费,此外,因为进行了各个投票单元的并行处理,提高了处理速度,极大地减少了资源耗费。
可选地,如图5,所述步骤S10之后、步骤S30之前包括:
步骤S20,将所述采样点图像坐标进行缓存,在缓存的所述采样点图像坐标的数量大于预设值时,读取缓存的所述采样点图像坐标。
在计算获得采样点图像坐标后,对采样点图像坐标进行缓存。因待检测图像中,边缘像素点可能分布在图像的各个区域,所以采样点为不连续的、离散的,而图像传输是将一整帧图像进行传输,所以,获得采样点的时间也不是固定的,可能在一段时间内可获得30个采样点,也可能在同样长的时间内,只能获得5个采样点,而后续对采样点图像坐标的读取以及基于采样点图像坐标,以及预设极角坐标θ计算极径坐标γ的处理速度是相对固定的,所以,为了避免因为采样点图像坐标的获得时间/频率与基于采样点图像以及预设极角坐标θ计算极径坐标γ的处理时间/频率的不一致导致过多的无效计算,对计算获得的采样点图像坐标进行缓存处理,在缓存的采样点图像坐标数量大于预设值后,才进行后续的读取处理。可通过乒乓RAM(随机存储器)块对图像的边缘坐标进行乒乓缓存处理,优选地,预设值为大于或等于50,每个RAM块缓存50个边缘像素点的坐标,可通过足够多缓存的采样点图像坐标,避免无效计算。
通过将待检测图像在传输的过程中,并行进行后续的图像预处理、采样点图像坐标计算以及缓存,可使得所有处理过程均在图像传输过程中完成,不占用额外的处理时间,系统处理的实时性取决于相机帧频的大小,因相机传输图像的传输速率通常低于处理速度,因此,在相机采集帧频增大后,仍然能够保证直线检测实时处理的时间不大于图像数据传输耗时,保证了高分辨率图像中直线检测的实时性。
可选地,如图6,步骤S20包括:
步骤S21,将所述采样点图像坐标缓存至预置的第一存储器;
可利用乒乓RAM缓存进行边缘坐标的存储与参数坐标计算的同时处理,具体可设置两个RAM块进行乒乓切换以实现采样点图像坐标的缓存,以及参数坐标计算中的读取。预置的第一存储器与预置的第二存储器即为设置用以进行乒乓缓存的两个RAM块。在初始情况下(即刚刚开始进行图像坐标缓存),在进行采样点图像坐标计算的同时,将计算得到的采样点图像坐标缓存至第一存储器,第二存储器等待采样点图像坐标的存储。
步骤S22,当所述第一存储器缓存数量大于预设值时,读取所述第一存储器中缓存的所述采样点图像坐标,并将所述采样点图像坐标缓存至预置的第二存储器;
预设值为大于或等于50。
在第一存储器中缓存的采样点图像坐标数量大于预设值时,可以基于已缓存的图像坐标进行后续的流水操作,因此,暂停第一存储器的缓存,将后续计算好的采样点图像坐标切换缓存至第二存储器,同时,读取第一存储器中缓存好的采样点图像坐标,进行参数坐标计算等后续流水操作。
步骤S23,在所述第二存储器缓存数量大于预设值时,读取所述第二存储器中缓存的所述采样点图像坐标,并将所述采样点图像坐标缓存至所述第一存储器;
在第二存储器缓存数量大于预设值时,暂停第二存储器的缓存,基于上文可知,采样点图像坐标的获取时间不定,但基本都慢于对第一存储器中数据的读取操作,因此在将第二存储器缓存足够数量时,第一存储器中的数据已读取完毕,可直接第一存储器中已存储的数据清空,并将后续计算好的采样点图像坐标切换缓存至第一存储器,同时,读取第二存储器中缓存好的采样点图像坐标,进行参数坐标计算等后续流水操作。
返回执行所述步骤S22,进行在第一存储器、第二存储器之间的切换循环。
具体可通过有限状态机实现RAM块之间的读写信号控制,有限状态机设计结构如图7所示,状态1中RAM1写信号有效,此时开始往RAM1中存储数据,状态2中的RAM1数据存储完成,使能RAM1读信号,并且使能RAM2写信号,此时继续往RAM2中存储数据,状态3RAM1数据读取完成,停止RAM1读信号,继续存储RAM2,状态4RAM2数据存储完成,使能RAM2读信号,同时使能RAM1写信号,此时往RAM1中存储数据,状态5RAM2数据读取完成,停止RAM2读信号,继续存储RAM1数据,当存储完成后乒乓切换RAM块。
在每次读取RAM块中的数据后,都要进行参数坐标的计算,在对一个RAM块进行采样点图像坐标的存储时,对另一个RAM块进行采样点图像坐标的读取操作,并基于读取的采样点图像坐标进行参数坐标的计算操作。
通过设置乒乓RAM缓存实现边缘坐标的存储与参数坐标计算的同时处理,可在减少无效参数坐标计算的同时,提高处理速度和效率。
可选地,如图8,步骤S70包括:
步骤S71,对各个投票单元中的投票数据进行统计,确定在各个投票单元中,每个极径坐标γ的出现次数;
步骤S72,将所述出现次数大于预设阈值的极径坐标γ对应的参数坐标判定为直线特征参数。
可以在各个投票单元内进行投票统计的同时,每间隔预设时段将每个极径坐标γ的投票票数(即在该投票单元内的出现次数)与预设阈值进行对比,确定投票票数大于预设阈值的极径坐标γ;也可以在完成一帧或N帧(N为预设数目或随用户设置)图像的投票统计之后,确定投票票数大于预设阈值的极径坐标γ;也可以在更新每一个极径坐标γ的投票票数后,判断该最近更新的投票票数是否大于预设阈值,并进而确定投票票数大于预设阈值的极径坐标γ。
在确定投票票数(即出现次数)大于预设阈值的极径坐标γ后,即可判定该极径坐标γ对应的参数坐标为直线特征参数,即对应待检测图像上的一条直线,进而确定待检测图像中各个方向的直线段,输出直线特征参数。
可选地,预设阈值的取值范围为45~55,可选为50。
通过根据各个投票单元内的所述投票统计的结果,确定在各个投票单元内每个极径坐标γ的出现次数,将所述出现次数大于预设阈值的极径坐标γ对应的参数坐标判定为直线特征参数,可基于各个投票单元内的投票票数确定各个投票单元内的直线特征参数,简化了统计,提升了统计速度,实现对图像空间(即待检测图像)中各个方向的直线段的检测。
进一步地,本发明还提出一种直线特征检测装置。
如图9为本发明直线特征检测装置一实施例示意图,所述直线特征检测装置包括:
获取单元101,其用于获取待检测图像,从所述待检测图像中获得采样点图像坐标;
计算单元102,其用于将所述采样点图像坐标映射到霍夫空间中,获得映射在霍夫空间中的曲线;
所述计算单元102,其还用于获取多个预设极角坐标θ,计算出所述曲线上所述多个预设极角坐标θ分别对应的极径坐标γ;
投票单元103,其用于确定分配给各个预设极角坐标θ的投票单元,其中,所述预设极角坐标θ与所述投票单元一一对应;
所述投票单元103,其还用于分别在各个预设极角坐标θ的投票单元中,确定各个预设极角坐标θ对应的极径坐标γ映射的存储地址,更新所述存储地址中的投票数据,其中,所述投票数据为所述极径坐标γ的出现次数;
结果确定单元104,其用于对各个投票单元中的投票数据进行统计,获得统计结果,并根据所述统计结果确定直线特征参数。
其中,直线特征检测装置可以为FPGA、CPU等数据处理器。
可选地,每个极径坐标γ映射的存储地址,等于所述每个极径坐标γ的值。
可选地,所述直线特征检测装置还包括缓存单元,其用于将所述采样点图像坐标进行缓存,在缓存的所述采样点图像坐标的数量大于预设值时,读取缓存的所述采样点图像坐标。
可选地,所述缓存单元,其还用于将所述采样点图像坐标缓存至预置的第一存储器;当所述第一存储器缓存数量大于预设值时,读取所述第一存储器中缓存的所述采样点图像坐标,并将所述采样点图像坐标缓存至预置的第二存储器;在所述第二存储器缓存数量大于预设值时,读取所述第二存储器中缓存的所述采样点图像坐标,并将所述采样点图像坐标缓存至所述第一存储器;返回执行所述当所述第一存储器缓存数量大于预设值时,读取所述第一存储器中缓存的所述采样点图像坐标,并将所述采样点图像坐标缓存至预置的第二存储器的步骤。
可选地,所述预设值大于或等于50。
可选地,所述获取单元101,其还用于获取一个时钟周期的所述待检测图像的像素点;在获取一个时钟周期的所述待检测图像的像素点后,基于该时钟周期的像素点计算获得所述采样点图像坐标,同时,获取下一个时钟周期的所述待检测图像的像素点;返回执行所述在获取一个时钟周期的所述待检测图像的像素点后,基于该时钟周期的像素点计算获得所述采样点图像坐标,同时,获取下一个时钟周期的所述待检测图像的像素点的步骤。
可选地,所述结果确定单元104,其还用于,对各个投票单元中的投票数据进行统计,确定在各个投票单元中,每个极径坐标的出现次数;将所述出现次数大于预设阈值的极径坐标对应的参数坐标判定为直线特征参数。
参照图10,图10为本发明直线特征检测设备的硬件结构一实施例示意图。
直线特征检测设备包括处理器201、存储器202以及存储在所述存储器202上并可被所述处理器执行的直线特征检测程序,在直线特征检测设备中,处理器201与存储器202连接,存储器202上存储有直线特征检测程序,处理器201可以调用存储器202中存储的直线特征检测程序,并实现如直线特征检测方法上述实施例的步骤。
本领域技术人员可以理解,图10中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提出一种计算机可读存储介质,其上存储有直线特征检测程序,所述直线特征检测程序被处理器执行时,实现如上述直线特征检测方法各实施例的步骤。
所述计算机可读存储介质可以是图10的直线特征检测设备中的存储器202,也可以是如ROM(Read-Only Memory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘中的至少一种,所述计算机可读存储介质包括若干指令用以使得一台具有处理器的设备(可以是手机,计算机,服务器,网络设备或本发明实施例中的直线特征检测设备等)执行本发明各个实施例所述的方法。
虽然本公开披露如上,但本公开的保护范围并非仅限于此。本领域技术人员在不脱离本公开的精神和范围的前提下,可进行各种变更与修改,这些变更与修改均将落入本发明的保护范围。
Claims (8)
1.一种直线特征检测方法,其特征在于,所述直线特征检测方法包括:
获取待检测图像,从所述待检测图像中获得采样点图像坐标;
将所述采样点图像坐标映射到霍夫空间中,获得映射在霍夫空间中的曲线;
获取多个预设极角坐标θ,计算出所述曲线上所述多个预设极角坐标θ分别对应的极径坐标γ;
确定分配给各个预设极角坐标θ的投票单元,其中,所述预设极角坐标θ与所述投票单元一一对应;
分别在各个预设极角坐标θ的投票单元中,确定各个预设极角坐标θ对应的极径坐标γ映射的存储地址,更新所述存储地址中的投票数据,其中,所述投票数据为所述极径坐标γ的出现次数,其中,每个极径坐标γ映射的存储地址,等于所述每个极径坐标γ的值;
对各个投票单元中的投票数据进行统计,获得统计结果,并根据所述统计结果确定直线特征参数;
所述对各个投票单元中的投票数据进行统计,获得统计结果,并根据所述统计结果确定直线特征参数的步骤包括:
对各个投票单元中的投票数据进行统计,确定在各个投票单元中,每个极径坐标的出现次数;
将所述出现次数大于预设阈值的极径坐标对应的参数坐标判定为直线特征参数,以确定所述待检测图像中各个方向的直线段。
2.如权利要求1所述的直线特征检测方法,其特征在于,所述获取待检测图像,从所述待检测图像中获得采样点图像坐标的步骤之后、所述将所述采样点图像坐标映射到霍夫空间中,获得映射在霍夫空间中的曲线的步骤之前包括:
将所述采样点图像坐标进行缓存,在缓存的所述采样点图像坐标的数量大于预设值时,读取缓存的所述采样点图像坐标。
3.如权利要求2所述的直线特征检测方法,其特征在于,所述将所述采样点图像坐标进行缓存,在缓存的所述采样点图像坐标的数量大于预设值时,读取缓存的所述采样点图像坐标的步骤包括:
将所述采样点图像坐标缓存至预置的第一存储器;
当所述第一存储器缓存数量大于预设值时,读取所述第一存储器中缓存的所述采样点图像坐标,并将所述采样点图像坐标缓存至预置的第二存储器;
在所述第二存储器缓存数量大于预设值时,读取所述第二存储器中缓存的所述采样点图像坐标,并将所述采样点图像坐标缓存至所述第一存储器;
返回执行所述当所述第一存储器缓存数量大于预设值时,读取所述第一存储器中缓存的所述采样点图像坐标,并将所述采样点图像坐标缓存至预置的第二存储器的步骤。
4.如权利要求2所述的直线特征检测方法,其特征在于,所述预设值大于或等于50。
5.如权利要求1所述的直线特征检测方法,其特征在于,所述获取待检测图像,从所述待检测图像中获得采样点图像坐标的步骤包括:
获取一个时钟周期的所述待检测图像的像素点;
在获取一个时钟周期的所述待检测图像的像素点后,基于该时钟周期的像素点计算获得所述采样点图像坐标,同时,获取下一个时钟周期的所述待检测图像的像素点;
返回执行所述在获取一个时钟周期的所述待检测图像的像素点后,基于该时钟周期的像素点计算获得所述采样点图像坐标,同时,获取下一个时钟周期的所述待检测图像的像素点的步骤。
6.一种直线特征检测装置,其特征在于,所述直线特征检测装置包括:
获取单元(101),其用于获取待检测图像,从所述待检测图像中获得采样点图像坐标;
计算单元(102),其用于将所述采样点图像坐标映射到霍夫空间中,获得映射在霍夫空间中的曲线;
所述计算单元(102),其还用于获取多个预设极角坐标θ,计算出所述曲线上所述多个预设极角坐标θ分别对应的极径坐标γ;
投票单元(103),其用于确定分配给各个预设极角坐标θ的投票单元,其中,所述预设极角坐标θ与所述投票单元一一对应;
所述投票单元(103),其还用于分别在各个预设极角坐标θ的投票单元中,确定各个预设极角坐标θ对应的极径坐标γ映射的存储地址,更新所述存储地址中的投票数据,其中,所述投票数据为所述极径坐标γ的出现次数,其中,每个极径坐标γ映射的存储地址,等于所述每个极径坐标γ的值;
结果确定单元(104),其用于对各个投票单元中的投票数据进行统计,获得统计结果,并根据所述统计结果确定直线特征参数;其具体用于对各个投票单元中的投票数据进行统计,确定在各个投票单元中,每个极径坐标的出现次数;将所述出现次数大于预设阈值的极径坐标对应的参数坐标判定为直线特征参数,以确定所述待检测图像中各个方向的直线段。
7.一种直线特征检测设备,其特征在于,所述直线特征检测设备包括处理器(201)、存储器(202)以及存储在所述存储器(202)上并可被所述处理器(201)执行的直线特征检测程序,所述处理器(201)执行所述直线特征检测程序时实现如权利要求1-5中任一项所述直线特征检测方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有直线特征检测程序,其中所述直线特征检测程序被处理器执行时,实现如权利要求1至5中任一项所述的直线特征检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910768382.5A CN110490935B (zh) | 2019-08-20 | 2019-08-20 | 直线特征检测方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910768382.5A CN110490935B (zh) | 2019-08-20 | 2019-08-20 | 直线特征检测方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110490935A CN110490935A (zh) | 2019-11-22 |
CN110490935B true CN110490935B (zh) | 2022-05-10 |
Family
ID=68551669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910768382.5A Active CN110490935B (zh) | 2019-08-20 | 2019-08-20 | 直线特征检测方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110490935B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103108105A (zh) * | 2011-11-11 | 2013-05-15 | 株式会社Pfu | 图像处理装置和直线检测方法 |
CN104331876A (zh) * | 2014-10-09 | 2015-02-04 | 北京配天技术有限公司 | 直线检测、图像处理的方法及相关装置 |
CN107729814A (zh) * | 2017-09-19 | 2018-02-23 | 浙江大华技术股份有限公司 | 一种检测车道线的方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156884B (zh) * | 2011-04-25 | 2012-12-12 | 中国科学院自动化研究所 | 一种直线段检测和提取方法 |
CN105373807A (zh) * | 2015-10-26 | 2016-03-02 | 宁波裕兰信息科技有限公司 | 基于霍夫变换的直线检测的优化设计方法 |
CN106600580B (zh) * | 2016-11-30 | 2020-01-21 | 浙江大学 | 一种基于霍夫变换的电力线异常识别方法及其系统 |
-
2019
- 2019-08-20 CN CN201910768382.5A patent/CN110490935B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103108105A (zh) * | 2011-11-11 | 2013-05-15 | 株式会社Pfu | 图像处理装置和直线检测方法 |
CN104331876A (zh) * | 2014-10-09 | 2015-02-04 | 北京配天技术有限公司 | 直线检测、图像处理的方法及相关装置 |
CN107729814A (zh) * | 2017-09-19 | 2018-02-23 | 浙江大华技术股份有限公司 | 一种检测车道线的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110490935A (zh) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190370989A1 (en) | Method and apparatus for 3-dimensional point cloud reconstruction | |
US9811921B2 (en) | Apparatus and method for processing a depth image | |
CN109871510B (zh) | 二维卷积运算处理方法、系统、设备及计算机存储介质 | |
US10257456B2 (en) | Hardware friendly virtual frame buffer | |
KR102147356B1 (ko) | 캐시 메모리 시스템 및 그 동작방법 | |
CN109785265B (zh) | 畸变矫正图像处理方法及图像处理装置 | |
WO2020119467A1 (zh) | 高精度稠密深度图像的生成方法和装置 | |
CN111984189B (zh) | 神经网络计算装置和数据读取、数据存储方法及相关设备 | |
CN109658337A (zh) | 一种图像实时电子消旋的fpga实现方法 | |
EP4170285A1 (en) | Method and apparatus for constructing three-dimensional map in high-definition map, device and storage medium | |
CN101592729A (zh) | 基于目标细节的雷达ppi图像局部放大显示装置和方法 | |
CN110264452A (zh) | 一种工件检测方法、装置、设备及存储介质 | |
CN109685715B (zh) | 一种显示系统中高精度图像无级旋转处理方法 | |
CN110490935B (zh) | 直线特征检测方法、装置及设备 | |
CN111489410B (zh) | 观测系统炮检点数据绘制方法及装置 | |
CN112414444B (zh) | 一种数据标定方法、计算机设备、存储介质 | |
CN110706257B (zh) | 有效特征点对的识别方法、相机状态的确定方法及装置 | |
CN106952215B (zh) | 一种图像金字塔特征提取电路、装置及方法 | |
JP2021009566A (ja) | 演算処理装置及び演算処理方法 | |
CN115689886A (zh) | 一种分幅影像的分布式切片方法及分布式切片装置 | |
CN113706543B (zh) | 一种三维位姿的构建方法、设备及存储介质 | |
CN107797757A (zh) | 与影像处理系统中的快取存储器相关的存储器管理方法及存储器管理装置 | |
CN111400069B (zh) | 一种kcf跟踪算法的实现方法、装置及系统 | |
CN112988609A (zh) | 数据处理方法、装置、存储介质和客户端 | |
CN112166454A (zh) | 神经网络的特征图装载方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |