CN117788269B - 一种基于fpga的光斑质心快速定位方法及其相关设备 - Google Patents
一种基于fpga的光斑质心快速定位方法及其相关设备 Download PDFInfo
- Publication number
- CN117788269B CN117788269B CN202410215606.0A CN202410215606A CN117788269B CN 117788269 B CN117788269 B CN 117788269B CN 202410215606 A CN202410215606 A CN 202410215606A CN 117788269 B CN117788269 B CN 117788269B
- Authority
- CN
- China
- Prior art keywords
- sampling area
- sliding window
- pixel data
- pixel
- information set
- 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 64
- 238000005070 sampling Methods 0.000 claims abstract description 227
- 230000008569 process Effects 0.000 claims abstract description 25
- 238000000605 extraction Methods 0.000 claims abstract description 22
- 238000004891 communication Methods 0.000 claims abstract description 17
- 230000003139 buffering effect Effects 0.000 claims description 18
- 230000011218 segmentation Effects 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000013075 data extraction Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241001584785 Anavitrinella pampinaria Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
本申请属于激光通信技术领域,公开了一种基于FPGA的光斑质心快速定位方法及其相关设备,所述方法包括:按照接收顺序把由探测器逐行传输的光斑图像的像素数据缓存到预设的缓冲区中;在接收像素数据的过程中利用滑窗从缓冲区中滑动提取各个采样区域的像素数据;在每次利用滑窗提取像素数据后,根据当前滑窗内的采样区域的像素数据更新当前亮度最高的采样区域的像素信息集合以及获取背景像素信息集合;在完成光斑图像的全部像素数据接收后,根据当前亮度最高的采样区域的像素信息集合以及背景像素信息集合获取光斑的有效像素的像素数据;根据光斑的有效像素的像素数据计算光斑的质心坐标;从而能够有效减小激光光斑质心提取过程造成的延时。
Description
技术领域
本申请涉及激光通信技术领域,具体而言,涉及一种基于FPGA的光斑质心快速定位方法及其相关设备。
背景技术
卫星激光通信技术的核心之一是结合光学系统、图像处理系统和运动控制系统的跟踪瞄准技术,其中图像处理系统的关键功能就是对照射在探测器平面上的激光光斑进行质心提取。目前,在进行图像光斑的质心提取的算法中,一般包括阈值分割、光斑区域选定和质心计算三部分。传统的阈值分割方法是先对整幅图像的像素灰度值进行数学统计,使用均值或方差等统计值求取分割阈值,再对各个像素进行比较,实现背景和光斑的分离;光斑区域选定方法常见的有灰度投影法和模板匹配法,算法的核心是根据光斑的统计学或形态学特征确定光斑大致位置,然后再进行筛选排除或后续的质心计算;质心计算则主要使用灰度加权法或高斯拟合法,并根据特定的应用场景对算法进行一定的补偿。
上述算法的实现通常需要多次读取图像完成数据统计或者匹配度计算,而反复读写以及复杂算法的计算会在图像处理系统中增加延时,导致整个系统对光斑质心位置的跟踪速度受到限制。
现场可编程逻辑门阵列(FPGA)作为专用集成电路中的一种半定制电路器件,具有硬件资源丰富、灵活性高的特点,适用于作为控制器驱动探测器并实现探测器输出图像数据的采集、处理和转存。激光通信系统中常使用FPGA作为探测器的控制器,而且通常会为FPGA外挂双倍速率同步动态随机存储器(DDR)用于图像处理时图像数据的暂存。如何利用FPGA的特点以减小激光光斑质心提取过程造成的延时是有待解决的问题。
发明内容
本申请的目的在于提供一种基于FPGA的光斑质心快速定位方法及其相关设备,能够有效减小激光光斑质心提取过程造成的延时。
第一方面,本申请提供了一种基于FPGA的光斑质心快速定位方法,应用于激光通信系统的探测器中的FPGA控制器,以对激光在所述探测器上形成的光斑的质心进行定位,包括步骤:
A1.基于先进先出的存储规则,按照接收顺序把由所述探测器逐行传输的光斑图像的像素数据缓存到预设的缓冲区中;
A2.在接收像素数据的过程中利用滑窗从所述缓冲区中滑动提取各个采样区域的像素数据;所述采样区域为进行像素数据提取时的所述滑窗内部的区域;
A3.在每次利用所述滑窗提取像素数据后,根据当前滑窗内的采样区域的像素数据,更新当前亮度最高的采样区域的像素信息集合以及获取背景像素信息集合;
A4.在完成所述光斑图像的全部像素数据接收后,根据当前亮度最高的采样区域的像素信息集合以及所述背景像素信息集合,获取光斑的有效像素的像素数据;
A5.根据光斑的有效像素的像素数据计算所述光斑的质心坐标。
该基于FPGA的光斑质心快速定位方法充分利用FPGA的特点,在定位过程中只需要缓存光斑图像中的部分像素的像素数据,即可完成光斑的质心提取,无需进行图片的反复读取,可以减轻甚至消除对外挂存储器的依赖;在图像接收过程中使用滑窗提取像素数据,同步进行数据处理,在完成图像接收后数十个时钟周期内即可完成质心的提取,可以减小激光光斑质心提取过程造成的延时,从而可以提高光斑质心坐标的数据更新率。
优选地,所述缓冲区能够缓存n行像素数据,且n=2Np,Np为与光斑的直径等效的像元数;
所述滑窗的大小为n*n。
从而,在定位过程中,最多只需要缓存2Np行像素的像素数据,即可完成光斑的质心提取,有效减少存储资源要求。
优选地,步骤A2包括:
使滑窗随像素数据逐渐缓存而滑动并进行采样区域的像素数据提取,以使相邻的两个采样区域之间有至少Np*Np*2个像素重叠。
令相邻的两个采样区域之间有至少Np*Np*2个像素重叠,可以确保直径为Np的光斑的所有像素必会同时全部落在至少一个采样区域内,从而保证后续可以可靠地得到光斑区域。
优选地,步骤A3中,根据当前滑窗内的采样区域的像素数据,更新当前亮度最高的采样区域的像素信息集合的步骤包括:
若当前滑窗内的采样区域为首个采样区域,则从当前滑窗内的采样区域的像素数据中提取当前滑窗内的采样区域的各像素的坐标和灰度值,作为当前亮度最高的采样区域的像素信息集合;
若当前滑窗内的采样区域不是首个采样区域,则根据以下公式更新当前亮度最高的采样区域的像素信息集合:
;
其中,为更新后的当前亮度最高的采样区域的像素信息集合,/>为更新前的当前亮度最高的采样区域的像素信息集合,/>为当前滑窗内的采样区域的各像素的坐标和灰度值组成的像素信息集合,/>为当前滑窗内的采样区域的总灰度值,/>为更新前的当前亮度最高的采样区域的总灰度值。
优选地,步骤A3中,根据当前滑窗内的采样区域的像素数据,获取背景像素信息集合的步骤包括:
根据当前滑窗内的采样区域的像素数据,计算当前滑窗内的采样区域中像素的灰度方差;
若所述灰度方差小于预设方差阈值,则判定当前滑窗内的采样区域为背景区域,并计算当前滑窗内的采样区域的总灰度值和中心像素坐标;
如果当前滑窗内的采样区域为首个背景区域,则把当前滑窗内的采样区域的总灰度值和中心像素坐标作为一个组元,记录到空的背景像素信息集合中;
如果当前滑窗内的采样区域不是首个背景区域,则在当前滑窗内的采样区域的中心像素坐标与所述背景像素信息集合中记录的任意中心像素坐标的直线距离均不小于预设距离阈值且所述背景像素信息集合记录的组元数量小于数量阈值时,把当前滑窗内的采样区域的总灰度值和中心像素坐标作为一个组元,记录到所述背景像素信息集合中。
优选地,步骤A4包括:
A401.根据背景像素信息集合计算所述光斑图像的背景像素灰度均值;
A402.把当前亮度最高的采样区域作为光斑区域,根据当前亮度最高的采样区域的像素信息集合,计算光斑区域灰度均值;
A403.根据所述背景像素灰度均值和所述光斑区域灰度均值计算分割阈值;
A404.基于所述分割阈值从所述光斑区域中确定光斑的有效像素,并从当前亮度最高的采样区域的像素信息集合中提取光斑的有效像素的像素数据。
优选地,步骤A5包括:
基于灰度加权法,根据光斑的有效像素的像素数据计算所述光斑的质心坐标。
第二方面,本申请提供了一种基于FPGA的光斑质心快速定位装置,应用于激光通信系统的探测器中的FPGA控制器,以对激光在所述探测器上形成的光斑的质心进行定位,包括:
像素缓存模块,用于基于先进先出的存储规则,按照接收顺序把由所述探测器逐行传输的光斑图像的像素数据缓存到预设的缓冲区中;
滑窗提取模块,用于在接收像素数据的过程中利用滑窗从所述缓冲区中滑动提取各个采样区域的像素数据;所述采样区域为进行像素数据提取时的所述滑窗内部的区域;
信息提取模块,用于在每次利用所述滑窗提取像素数据后,根据当前滑窗内的采样区域的像素数据,更新当前亮度最高的采样区域的像素信息集合以及获取背景像素信息集合;
背景分割模块,用于在完成所述光斑图像的全部像素数据接收后,根据当前亮度最高的采样区域的像素信息集合以及所述背景像素信息集合,获取光斑的有效像素的像素数据;
质心计算模块,用于根据光斑的有效像素的像素数据计算所述光斑的质心坐标。
第三方面,本申请提供了一种电子设备,包括处理器和存储器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时,运行如前文所述的基于FPGA的光斑质心快速定位方法中的步骤。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如前文所述的基于FPGA的光斑质心快速定位方法中的步骤。
有益效果:本申请提供的基于FPGA的光斑质心快速定位方法及其相关设备,在定位过程中只需要缓存光斑图像中的部分像素的像素数据,即可完成光斑的质心提取,无需进行图片的反复读取,可以减轻甚至消除对外挂存储器的依赖;在图像接收过程中使用滑窗提取像素数据,同步进行数据处理,在完成图像接收后数十个时钟周期内即可完成质心的提取,可以减小激光光斑质心提取过程造成的延时,从而可以提高光斑质心坐标的数据更新率。
附图说明
图1为本申请实施例提供的基于FPGA的光斑质心快速定位方法的流程图。
图2为本申请实施例提供的基于FPGA的光斑质心快速定位装置的结构示意图。
图3为本申请实施例提供的电子设备的结构示意图。
图4为本申请实施例提供的基于FPGA的光斑质心快速定位方法的时序示意图。
图5为滑窗在行方向滑动的示意图。
图6为滑窗在列方向切换位置的示意图。
图7为采样区域与光斑的相对位置示意图。
标号说明:1、像素缓存模块;2、滑窗提取模块;3、信息提取模块;4、背景分割模块;5、质心计算模块;301、处理器;302、存储器;303、通信总线。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1是本申请一些实施例中的一种基于FPGA的光斑质心快速定位方法,应用于激光通信系统的探测器中的FPGA控制器,以对激光在探测器上形成的光斑的质心进行定位,包括步骤:
A1.基于先进先出的存储规则,按照接收顺序(即像素数据接收的顺序,也等同于探测器传输像素数据的顺序)把由探测器逐行传输的光斑图像的像素数据缓存到预设的缓冲区中;
A2.在接收像素数据的过程中利用滑窗从缓冲区中滑动提取各个采样区域的像素数据;采样区域为进行像素数据提取时的滑窗内部的区域;
A3.在每次利用滑窗提取像素数据后,根据当前滑窗内的采样区域的像素数据,更新当前亮度最高的采样区域的像素信息集合以及获取背景像素信息集合;
A4.在完成光斑图像的全部像素数据接收后,根据当前亮度最高的采样区域的像素信息集合以及背景像素信息集合,获取光斑的有效像素的像素数据;
A5.根据光斑的有效像素的像素数据计算光斑的质心坐标。
该基于FPGA的光斑质心快速定位方法充分利用FPGA的特点(硬件资源丰富、灵活性高的特点),在定位过程中只需要缓存光斑图像中的部分像素的像素数据,即可完成光斑的质心提取,无需进行图片的反复读取,可以减轻甚至消除对外挂存储器的依赖;在图像接收过程中使用滑窗提取像素数据,同步进行数据处理,在完成图像接收后数十个时钟周期内即可完成质心的提取(如图4中,在完成图像接收过程中,同步进行数据处理,当完成图像接收后仅需要少量时间进行光斑像素提取和质心坐标计算),可以减小激光光斑质心提取过程造成的延时,从而可以提高光斑质心坐标的数据更新率。
其中,缓冲区是根据光斑图像的像素尺寸,使用FPGA控制器内部的硬件资源设置的存储区域。优选地,缓冲区能够缓存n行像素数据(指光斑图像的n行像素的像素数据),且n=2Np,Np为与光斑的直径等效的像元数(即光斑直径的像素尺寸)。Np可以根据激光通信系统的光学系统的相关参数计算得到,具体地,相关参数包括焦距、激光传输距离和探测器像元尺寸等,根据光学系统的相关参数计算Np的方法为现有技术,此处不对其进行详述。
其中,步骤A1包括:按照接收顺序把由探测器逐行传输的光斑图像的像素数据缓存到预设的缓冲区中,直到完成第n行像素数据的缓存后,每当接到第n+k行的第一个像素数据时,清空第k行像素数据,并继续缓存第n+k行像素数据;其中,k=1,2,…,N-n,N为光斑图像的像素行数。
优选地,滑窗的大小为n*n。从而,在定位过程中,最多只需要缓存2Np行像素的像素数据,即可完成光斑的质心提取,有效减少存储资源要求。
在一些优选实施方式中,步骤A2包括:
使滑窗随像素数据逐渐缓存而滑动并进行采样区域的像素数据提取,以使相邻的两个采样区域之间有至少Np*Np*2个像素重叠(即相邻的两个采样区域之间有至少一半的像素重叠)。
令相邻的两个采样区域之间有至少Np*Np*2个像素重叠,可以确保直径为Np的光斑的所有像素必会同时全部落在至少一个采样区域内,从而保证后续可以可靠地得到光斑区域。参考图7,图中显示了光斑(图中的圆)与该光斑所涉及的四个采样区域之间的相对位置关系,该四个采样区域分别为采样区域a、采样区域b、采样区域c和采样区域d,其中,采样区域a与采样区域b之间的重叠区域包括图中的a∩b区域和a∩b∩c∩d区域,这两个区域的总面积在采样区域a和采样区域b的面积中的占比均为1/2(从而重叠区域的像素数量为Np*Np*2);采样区域a与采样区域c之间的重叠区域包括图中的a∩c区域和a∩b∩c∩d区域,这两个区域的总面积在采样区域a和采样区域c的面积中的占比均为1/2;采样区域b与采样区域d之间的重叠区域包括图中的b∩d区域和a∩b∩c∩d区域,这两个区域的总面积在采样区域b和采样区域d的面积中的占比均为1/2;采样区域c与采样区域d之间的重叠区域包括图中的c∩d区域和a∩b∩c∩d区域,这两个区域的总面积在采样区域c和采样区域d的面积中的占比均为1/2;在图7中,光斑的所有像素同时全部落入采样区域a中。
在一些实施方式中,使滑窗随像素数据逐渐缓存而滑动并进行采样区域的像素数据提取,以使相邻的两个采样区域之间有至少Np*Np*2个像素重叠的步骤包括:
获取重叠参数Nc(一般为预设值,但不限于此),Np≤Nc<n;
若光斑图像的像素行数(即N)和像素列数(记为M)均能够被Nc整除,则每当缓存至第k*Nc行的第n个像素数据(此处的第k*Nc行像素数据并非是指缓冲区第k*Nc行像素数据,是指光斑图像的第k*Nc行像素数)时,k=2,3,…,N/Nc,把滑窗置于缓冲区的最前端并随第k*Nc行像素数据的逐渐缓存而往缓冲区的后端滑动(如图5所示,图5中显示的是Nc=Np的情况),在滑动过程中,每当滑动的像素距离达到r*Nc个像素的时候,r=0,1,2,…,M/Nc,进行采样区域的像素数据提取(例如图6中,图6中显示的是Nc=Np的情况,在滑窗随第2Nc行像素数据逐渐缓存而移动至缓冲区的最后端后,当缓存至第3Nc行的第n个像素数据时,把滑窗重新置于缓冲区的最前端;图5和图6中为了方便描述滑窗与光斑图像的各行像素数据之间的对应关系,把滑窗在缓冲区中的位置映射到光斑图像的位置上,从而可以在图6中看到滑窗换行的情况,但在缓冲区中,滑窗仅在一个行向上滑动);
若光斑图像的像素行数能够被Nc整除,且光斑图像的像素列数不能够被Nc整除,则每当缓存至第k*Nc行的第n个像素数据时,k=2,3,…,N/Nc,把滑窗置于缓冲区的最前端并随第k*Np行像素数据的逐渐缓存而往缓冲区的后端滑动,在滑动过程中,每当滑动的像素距离达到r*Nc个像素的时候,r=0,1,2,…,int(M/Nc),int为向下取整函数,进行采样区域的像素数据提取,当滑窗随第k*Np行的最后一个像素数据被缓存而滑动至缓冲区的最后端时,进行采样区域的像素数据提取;
若光斑图像的像素行数不能够被Nc整除,且光斑图像的像素列数能够被Nc整除,则每当缓存至第k*Nc行的第n个像素数据时,k=2,3,…,int(N/Nc),把滑窗置于缓冲区的最前端并随第k*Np行像素数据的逐渐缓存而往缓冲区的后端滑动,并且当缓存至最后一行的第n个像素数据时,把滑窗置于缓冲区的最前端并随最后一行像素数据的逐渐缓存而往缓冲区的后端滑动,在滑动过程中,每当滑动的像素距离达到r*Nc个像素的时候,r=0,1,2,…, M/Nc,进行采样区域的像素数据提取;
若光斑图像的像素行数和像素列数均不能被Nc整除,则每当缓存至第k*Nc行的第n个像素数据时,k=2,3,…,int(N/Nc),把滑窗置于缓冲区的最前端并随第k*Np行像素数据的逐渐缓存而往缓冲区的后端滑动,在滑动过程中,每当滑动的像素距离达到r*Nc个像素的时候,r=0,1,2,…,int(M/Nc),进行采样区域的像素数据提取;当缓存至最后一行的第n个像素数据时,把滑窗置于缓冲区的最前端并随最后一行像素数据的逐渐缓存而往缓冲区的后端滑动,在滑动过程中,当滑窗随最后一行的最后一个像素数据被缓存而滑动至缓冲区的最后端时,进行采样区域的像素数据提取。
通过上述方式,可以保证光斑图像的所有像素数据均被提取过,避免像素漏检的情况出现,同时能够可靠地保证相邻的两个采样区域之间有至少Np*Np*2个像素重叠。
参考图4中的时序示意图,从开始时刻(即开始接收到光斑图像的像素数据的时刻)起,到开始滑动滑窗进行像素数据提取的时刻之间经过一段时间,该段时间为前(n-1)*M+n个像素数据的传输时间。
由于光斑的所有像素必会同时全部落在至少一个采样区域内,则亮度最高的采样区域必然是光斑的所有像素全部落入的采样区域,因此,可以通过搜索亮度最高的采样区域的像素数据并从中提取得到光斑的像素数据。其中,采样区域的亮度高低可以用采样区域的所有像素的灰度值总和或灰度值平均值来衡量,灰度值总和或灰度值平均值越大则表示亮度越高。
从而,在一些实施方式中,步骤A3中,根据当前滑窗内的采样区域的像素数据,更新当前亮度最高的采样区域的像素信息集合的步骤包括:
若当前滑窗内的采样区域为首个采样区域,则从当前滑窗内的采样区域的像素数据中提取当前滑窗内的采样区域的各像素的坐标和灰度值(即探测器传输的像素数据至少包括各像素的坐标和灰度值),作为当前亮度最高的采样区域的像素信息集合;
若当前滑窗内的采样区域不是首个采样区域,则根据以下公式更新当前亮度最高的采样区域的像素信息集合:
;
其中,为更新后的当前亮度最高的采样区域的像素信息集合,/>为更新前的当前亮度最高的采样区域的像素信息集合,/>为当前滑窗内的采样区域的各像素的坐标和灰度值组成的像素信息集合,/>为当前滑窗内的采样区域的总灰度值(总灰度值为采样区域内所有像素的灰度值之和),/>为更新前的当前亮度最高的采样区域的总灰度值。
当完成所有像素数据的缓存时,得到的当前亮度最高的采样区域,实际上就是亮度最高的局部区域,其包含光斑的所有像素,因此可以称之为光斑区域。
需要说明的是,上述实施方式中,采用总灰度值作为当前亮度最高的采样区域的像素信息集合更新的依据,实际上,也可以使用灰度均值(即采样区域内所有像素的灰度值的平均值)来替代总灰度值作为更新的依据。
进一步地,步骤A3中,根据当前滑窗内的采样区域的像素数据,获取背景像素信息集合的步骤包括:
根据当前滑窗内的采样区域的像素数据,计算当前滑窗内的采样区域中像素的灰度方差(即采样区域中各像素的灰度值的方差);
若灰度方差小于预设方差阈值(可根据实际需要设置),则判定当前滑窗内的采样区域为背景区域,并计算当前滑窗内的采样区域的总灰度值和中心像素坐标(中心像素坐标的横坐标等于采样区域中所有像素的横坐标的平均值,中心像素坐标的纵坐标等于采样区域中所有像素的纵坐标的平均值);
如果当前滑窗内的采样区域为首个背景区域,则把当前滑窗内的采样区域的总灰度值和中心像素坐标作为一个组元(例如总灰度值为SUMa,中心像素坐标为(Xa,Ya),则对应的组元为(SUMa,Xa,Ya),Xa、Ya分别为中心像素坐标的横坐标和纵坐标),记录到空的背景像素信息集合中(即此时的背景像素信息集合中仅有一个组元);
如果当前滑窗内的采样区域不是首个背景区域,则在当前滑窗内的采样区域的中心像素坐标与背景像素信息集合中记录的任意中心像素坐标的直线距离均不小于预设距离阈值(可以根据实际需要设置,例如为5Np个像素,但不限于此)且背景像素信息集合记录的组元数量小于数量阈值p时,把当前滑窗内的采样区域的总灰度值和中心像素坐标作为一个组元,记录到背景像素信息集合中。
其中,当采样区域内含有光斑的像素或含有较多杂散光干扰信息时,其灰度方差会较大,不适宜作为背景区域,通过合理设置方差阈值,可以得到不含有光斑像素且含有较少杂散光干扰信息的背景区域。
当背景像素信息集合中记录有p个组元时,不再往背景像素信息集合中增加组元,此时,若滑窗继续进行采样区域的像素数据提取,可以不再进行当前滑窗内的采样区域中像素的灰度方差的计算以及背景区域判断(从而可以减小计算量,提高处理效率),或者,若当前滑窗内的采样区域中像素的灰度方差比背景像素信息集合中记录的组元对应的采样区域的灰度方差中的最大值更小,则把当前滑窗内的采样区域的总灰度值和中心像素坐标作为一个组元替换背景像素信息集合中对应的采样区域的灰度方差最大的组元(从而可以提高采集到的背景像素信息集合包含的背景像素信息的可信度,降低背景中的杂散光的干扰)。
p可以根据实际需要设置,且在FPGA控制器的存储资源允许的情况下越大越好,优选地,p不小于5,以保证采集到的背景像素信息的可信度,避免背景中的杂散光的干扰。
具体地,步骤A4包括:
A401.根据背景像素信息集合计算光斑图像的背景像素灰度均值;
A402.把当前亮度最高的采样区域作为光斑区域,根据当前亮度最高的采样区域的像素信息集合,计算光斑区域灰度均值;
A403.根据背景像素灰度均值和光斑区域灰度均值计算分割阈值;
A404.基于分割阈值从光斑区域中确定光斑的有效像素,并从当前亮度最高的采样区域的像素信息集合中提取光斑的有效像素的像素数据。
其中,步骤A401中,利用背景像素信息集合中记录的所有组元的总灰度值之和除以p个采样区域的像素总数量,得到光斑图像的背景像素灰度均值。用公式表达为:
,其中gb为光斑图像的背景像素灰度均值。
其中,步骤A402中,光斑区域灰度均值即为光斑区域内所有像素的灰度值的平均值,用光斑区域内所有像素的灰度值之和(等于)除以一个采样区域的像素总数量(为n*n)即可得到光斑区域灰度均值。
其中,步骤A403中,可以根据以下公式计算分割阈值:T=gb+k1*(gf-gb),其中T为分割阈值,k1为比例系数(可以根据实际需要设置),gf为光斑区域灰度均值。
其中,步骤A404中,把光斑区域中灰度值大于分割阈值T的像素确定为光斑的有效像素,并从当前亮度最高的采样区域的像素信息集合中提取光斑的有效像素的像素数据。
在一些实施方式中,步骤A5中,仅根据光斑的有效像素的像素数据中的坐标计算光斑的质心坐标。具体地,计算所有有效像素的横坐标的平均值作为光斑的质心坐标的横坐标,并计算所有有效像素的纵坐标的平均值作为光斑的质心坐标的纵坐标。
在另一些实施方式中,步骤A5包括:
基于灰度加权法,根据光斑的有效像素的像素数据计算光斑的质心坐标。
具体地,灰度加权法用公式表示为:
;
其中,为光斑的质心坐标的横坐标,/>为光斑的质心坐标的纵坐标,/>为第i个有效像素的横坐标,/>为第i个有效像素的纵坐标,/>为第i个有效像素的灰度值,/>为有效像素的数量。
实际上,越靠近光斑质心的像素的亮度越高,从而灰度值越大,仅基于有效像素的坐标计算得到的质心坐标仅仅是有效像素集合的图形中心,与光斑的实际质心坐标之间会存在偏差,而使用灰度加权法,可以减小这种偏差,从而使计算结果更加准确。
由上可知,该基于FPGA的光斑质心快速定位方法,基于先进先出的存储规则,按照接收顺序把由探测器逐行传输的光斑图像的像素数据缓存到预设的缓冲区中;在接收像素数据的过程中利用滑窗从缓冲区中滑动提取各个采样区域的像素数据;采样区域为进行像素数据提取时的滑窗内部的区域;在每次利用滑窗提取像素数据后,根据当前滑窗内的采样区域的像素数据,更新当前亮度最高的采样区域的像素信息集合以及获取背景像素信息集合;在完成光斑图像的全部像素数据接收后,根据当前亮度最高的采样区域的像素信息集合以及背景像素信息集合,获取光斑的有效像素的像素数据;根据光斑的有效像素的像素数据计算光斑的质心坐标;从而能够有效减小激光光斑质心提取过程造成的延时。
参考图2,本申请提供了一种基于FPGA的光斑质心快速定位装置,应用于激光通信系统的探测器中的FPGA控制器,以对激光在探测器上形成的光斑的质心进行定位,包括:
像素缓存模块1,用于基于先进先出的存储规则,按照接收顺序把由探测器逐行传输的光斑图像的像素数据缓存到预设的缓冲区中(具体参考前文的步骤A1);
滑窗提取模块2,用于在接收像素数据的过程中利用滑窗从缓冲区中滑动提取各个采样区域的像素数据;采样区域为进行像素数据提取时的滑窗内部的区域(具体参考前文的步骤A2);
信息提取模块3,用于在每次利用滑窗提取像素数据后,根据当前滑窗内的采样区域的像素数据,更新当前亮度最高的采样区域的像素信息集合以及获取背景像素信息集合(具体参考前文的步骤A3);
背景分割模块4,用于在完成光斑图像的全部像素数据接收后,根据当前亮度最高的采样区域的像素信息集合以及背景像素信息集合,获取光斑的有效像素的像素数据(具体参考前文的步骤A4);
质心计算模块5,用于根据光斑的有效像素的像素数据计算光斑的质心坐标(具体参考前文的步骤A5)。
请参照图3,图3为本申请实施例提供的一种电子设备的结构示意图,本申请提供一种电子设备,包括:处理器301和存储器302,处理器301和存储器302通过通信总线303和/或其他形式的连接机构(未标出)互连并相互通讯,存储器302存储有处理器301可执行的计算机程序,当电子设备运行时,处理器301执行该计算机程序,以执行上述实施例的任一可选的实现方式中的基于FPGA的光斑质心快速定位方法,以实现以下功能:基于先进先出的存储规则,按照接收顺序把由探测器逐行传输的光斑图像的像素数据缓存到预设的缓冲区中;在接收像素数据的过程中利用滑窗从缓冲区中滑动提取各个采样区域的像素数据;采样区域为进行像素数据提取时的滑窗内部的区域;在每次利用滑窗提取像素数据后,根据当前滑窗内的采样区域的像素数据,更新当前亮度最高的采样区域的像素信息集合以及获取背景像素信息集合;在完成光斑图像的全部像素数据接收后,根据当前亮度最高的采样区域的像素信息集合以及背景像素信息集合,获取光斑的有效像素的像素数据;根据光斑的有效像素的像素数据计算光斑的质心坐标。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,执行上述实施例的任一可选的实现方式中的基于FPGA的光斑质心快速定位方法,以实现以下功能:基于先进先出的存储规则,按照接收顺序把由探测器逐行传输的光斑图像的像素数据缓存到预设的缓冲区中;在接收像素数据的过程中利用滑窗从缓冲区中滑动提取各个采样区域的像素数据;采样区域为进行像素数据提取时的滑窗内部的区域;在每次利用滑窗提取像素数据后,根据当前滑窗内的采样区域的像素数据,更新当前亮度最高的采样区域的像素信息集合以及获取背景像素信息集合;在完成光斑图像的全部像素数据接收后,根据当前亮度最高的采样区域的像素信息集合以及背景像素信息集合,获取光斑的有效像素的像素数据;根据光斑的有效像素的像素数据计算光斑的质心坐标。其中,计算机可读存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory, 简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory, 简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory, 简称EPROM),可编程只读存储器(Programmable Red-Only Memory, 简称PROM),只读存储器(Read-OnlyMemory, 简称ROM),磁存储器,快闪存储器,磁盘或光盘。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种基于FPGA的光斑质心快速定位方法,应用于激光通信系统的探测器中的FPGA控制器,以对激光在所述探测器上形成的光斑的质心进行定位,其特征在于,包括步骤:
A1.基于先进先出的存储规则,按照接收顺序把由所述探测器逐行传输的光斑图像的像素数据缓存到预设的缓冲区中;
A2.在接收像素数据的过程中利用滑窗从所述缓冲区中滑动提取各个采样区域的像素数据;所述采样区域为进行像素数据提取时的所述滑窗内部的区域;
A3.在每次利用所述滑窗提取像素数据后,根据当前滑窗内的采样区域的像素数据,更新当前亮度最高的采样区域的像素信息集合以及获取背景像素信息集合;
A4.在完成所述光斑图像的全部像素数据接收后,根据当前亮度最高的采样区域的像素信息集合以及所述背景像素信息集合,获取光斑的有效像素的像素数据;
A5.根据光斑的有效像素的像素数据计算所述光斑的质心坐标;
步骤A3中,根据当前滑窗内的采样区域的像素数据,更新当前亮度最高的采样区域的像素信息集合的步骤包括:
若当前滑窗内的采样区域为首个采样区域,则从当前滑窗内的采样区域的像素数据中提取当前滑窗内的采样区域的各像素的坐标和灰度值,作为当前亮度最高的采样区域的像素信息集合;
若当前滑窗内的采样区域不是首个采样区域,则根据以下公式更新当前亮度最高的采样区域的像素信息集合:
;
其中,为更新后的当前亮度最高的采样区域的像素信息集合,/>为更新前的当前亮度最高的采样区域的像素信息集合,/>为当前滑窗内的采样区域的各像素的坐标和灰度值组成的像素信息集合,/>为当前滑窗内的采样区域的总灰度值,/>为更新前的当前亮度最高的采样区域的总灰度值;
步骤A3中,根据当前滑窗内的采样区域的像素数据,获取背景像素信息集合的步骤包括:
根据当前滑窗内的采样区域的像素数据,计算当前滑窗内的采样区域中像素的灰度方差;
若所述灰度方差小于预设方差阈值,则判定当前滑窗内的采样区域为背景区域,并计算当前滑窗内的采样区域的总灰度值和中心像素坐标;
如果当前滑窗内的采样区域为首个背景区域,则把当前滑窗内的采样区域的总灰度值和中心像素坐标作为一个组元,记录到空的背景像素信息集合中;
如果当前滑窗内的采样区域不是首个背景区域,则在当前滑窗内的采样区域的中心像素坐标与所述背景像素信息集合中记录的任意中心像素坐标的直线距离均不小于预设距离阈值且所述背景像素信息集合记录的组元数量小于数量阈值时,把当前滑窗内的采样区域的总灰度值和中心像素坐标作为一个组元,记录到所述背景像素信息集合中。
2.根据权利要求1所述的基于FPGA的光斑质心快速定位方法,其特征在于,所述缓冲区能够缓存n行像素数据,且n=2Np,Np为与光斑的直径等效的像元数;
所述滑窗的大小为n*n。
3.根据权利要求2所述的基于FPGA的光斑质心快速定位方法,其特征在于,步骤A2包括:
使滑窗随像素数据逐渐缓存而滑动并进行采样区域的像素数据提取,以使相邻的两个采样区域之间有至少Np*Np*2个像素重叠。
4.根据权利要求1所述的基于FPGA的光斑质心快速定位方法,其特征在于,步骤A4包括:
A401.根据背景像素信息集合计算所述光斑图像的背景像素灰度均值;
A402.把当前亮度最高的采样区域作为光斑区域,根据当前亮度最高的采样区域的像素信息集合,计算光斑区域灰度均值;
A403.根据所述背景像素灰度均值和所述光斑区域灰度均值计算分割阈值;
A404.基于所述分割阈值从所述光斑区域中确定光斑的有效像素,并从当前亮度最高的采样区域的像素信息集合中提取光斑的有效像素的像素数据。
5.根据权利要求1所述的基于FPGA的光斑质心快速定位方法,其特征在于,步骤A5包括:
基于灰度加权法,根据光斑的有效像素的像素数据计算所述光斑的质心坐标。
6.一种基于FPGA的光斑质心快速定位装置,应用于激光通信系统的探测器中的FPGA控制器,以对激光在所述探测器上形成的光斑的质心进行定位,其特征在于,包括:
像素缓存模块,用于基于先进先出的存储规则,按照接收顺序把由所述探测器逐行传输的光斑图像的像素数据缓存到预设的缓冲区中;
滑窗提取模块,用于在接收像素数据的过程中利用滑窗从所述缓冲区中滑动提取各个采样区域的像素数据;所述采样区域为进行像素数据提取时的所述滑窗内部的区域;
信息提取模块,用于在每次利用所述滑窗提取像素数据后,根据当前滑窗内的采样区域的像素数据,更新当前亮度最高的采样区域的像素信息集合以及获取背景像素信息集合;
背景分割模块,用于在完成所述光斑图像的全部像素数据接收后,根据当前亮度最高的采样区域的像素信息集合以及所述背景像素信息集合,获取光斑的有效像素的像素数据;
质心计算模块,用于根据光斑的有效像素的像素数据计算所述光斑的质心坐标;
信息提取模块在根据当前滑窗内的采样区域的像素数据,更新当前亮度最高的采样区域的像素信息集合的时候,执行:
若当前滑窗内的采样区域为首个采样区域,则从当前滑窗内的采样区域的像素数据中提取当前滑窗内的采样区域的各像素的坐标和灰度值,作为当前亮度最高的采样区域的像素信息集合;
若当前滑窗内的采样区域不是首个采样区域,则根据以下公式更新当前亮度最高的采样区域的像素信息集合:
;
其中,为更新后的当前亮度最高的采样区域的像素信息集合,/>为更新前的当前亮度最高的采样区域的像素信息集合,/>为当前滑窗内的采样区域的各像素的坐标和灰度值组成的像素信息集合,/>为当前滑窗内的采样区域的总灰度值,/>为更新前的当前亮度最高的采样区域的总灰度值;
信息提取模块在根据当前滑窗内的采样区域的像素数据,获取背景像素信息集合的时候,执行:
根据当前滑窗内的采样区域的像素数据,计算当前滑窗内的采样区域中像素的灰度方差;
若所述灰度方差小于预设方差阈值,则判定当前滑窗内的采样区域为背景区域,并计算当前滑窗内的采样区域的总灰度值和中心像素坐标;
如果当前滑窗内的采样区域为首个背景区域,则把当前滑窗内的采样区域的总灰度值和中心像素坐标作为一个组元,记录到空的背景像素信息集合中;
如果当前滑窗内的采样区域不是首个背景区域,则在当前滑窗内的采样区域的中心像素坐标与所述背景像素信息集合中记录的任意中心像素坐标的直线距离均不小于预设距离阈值且所述背景像素信息集合记录的组元数量小于数量阈值时,把当前滑窗内的采样区域的总灰度值和中心像素坐标作为一个组元,记录到所述背景像素信息集合中。
7.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时,运行如权利要求1-5任一项所述的基于FPGA的光斑质心快速定位方法中的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时运行如权利要求1-5任一项所述的基于FPGA的光斑质心快速定位方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410215606.0A CN117788269B (zh) | 2024-02-27 | 2024-02-27 | 一种基于fpga的光斑质心快速定位方法及其相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410215606.0A CN117788269B (zh) | 2024-02-27 | 2024-02-27 | 一种基于fpga的光斑质心快速定位方法及其相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117788269A CN117788269A (zh) | 2024-03-29 |
CN117788269B true CN117788269B (zh) | 2024-05-07 |
Family
ID=90381925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410215606.0A Active CN117788269B (zh) | 2024-02-27 | 2024-02-27 | 一种基于fpga的光斑质心快速定位方法及其相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117788269B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1987346A (zh) * | 2006-11-01 | 2007-06-27 | 北京航空航天大学 | 快速高精度光斑图像质心定位方法及装置 |
CN110246115A (zh) * | 2019-04-23 | 2019-09-17 | 西安理工大学 | 一种远场激光光斑图像的检测方法 |
CN113421296A (zh) * | 2021-08-24 | 2021-09-21 | 之江实验室 | 一种基于灰度阈值的激光光斑质心提取方法 |
CN113421211A (zh) * | 2021-06-18 | 2021-09-21 | Oppo广东移动通信有限公司 | 光斑虚化的方法、终端设备及存储介质 |
CN117169906A (zh) * | 2023-09-28 | 2023-12-05 | 深圳市欢创科技有限公司 | 光斑处理方法、单片机及激光雷达 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193651B (zh) * | 2010-03-11 | 2014-11-05 | 株式会社理光 | 用于识别激光点的设备、方法和系统 |
-
2024
- 2024-02-27 CN CN202410215606.0A patent/CN117788269B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1987346A (zh) * | 2006-11-01 | 2007-06-27 | 北京航空航天大学 | 快速高精度光斑图像质心定位方法及装置 |
CN110246115A (zh) * | 2019-04-23 | 2019-09-17 | 西安理工大学 | 一种远场激光光斑图像的检测方法 |
CN113421211A (zh) * | 2021-06-18 | 2021-09-21 | Oppo广东移动通信有限公司 | 光斑虚化的方法、终端设备及存储介质 |
CN113421296A (zh) * | 2021-08-24 | 2021-09-21 | 之江实验室 | 一种基于灰度阈值的激光光斑质心提取方法 |
CN117169906A (zh) * | 2023-09-28 | 2023-12-05 | 深圳市欢创科技有限公司 | 光斑处理方法、单片机及激光雷达 |
Non-Patent Citations (1)
Title |
---|
激光探测器光斑质心算法硬件设计;李荣翠;《电子技术应用》;20180228;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117788269A (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020238560A1 (zh) | 视频目标跟踪方法、装置、计算机设备及存储介质 | |
US20190347485A1 (en) | Target detection method and device | |
WO2023193670A1 (zh) | 基于事件相机的脉冲神经网络目标跟踪方法及系统 | |
US11481908B2 (en) | Data processing method and computing device | |
US9208374B2 (en) | Information processing apparatus, control method therefor, and electronic device | |
US11532089B2 (en) | Optical flow computing method and computing device | |
CN113762455B (zh) | 检测模型训练方法、单字检测方法、装置、设备及介质 | |
CN110766711A (zh) | 一种视频镜头分割方法、系统、装置和存储介质 | |
CN103647937A (zh) | 图像跟踪系统及其图像数据处理方法 | |
CN110827292A (zh) | 一种基于卷积神经网络的视频实例分割方法及设备 | |
WO2021088569A1 (en) | Convolution method and device, electronic device | |
US20200327638A1 (en) | Connected component detection method, circuit, device and computer-readable storage medium | |
CN111881904A (zh) | 板书记录方法和系统 | |
CN117788269B (zh) | 一种基于fpga的光斑质心快速定位方法及其相关设备 | |
CN107358621B (zh) | 对象跟踪方法及装置 | |
CN101393498A (zh) | 一种用于触摸屏定位的图像处理方法 | |
CN104567865A (zh) | 一种星敏感器空间粒子干扰条件下的姿态捕获方法 | |
CN105427235A (zh) | 一种图像浏览方法及系统 | |
CN110580462B (zh) | 一种基于非局部网络的自然场景文本检测方法和系统 | |
CN113900813B (zh) | 一种基于双口ram的盲元填充方法、系统及装置 | |
CN116958951A (zh) | 文本追踪模型训练方法、文本追踪方法、装置及电子设备 | |
CN108875733B (zh) | 一种红外小目标快速提取系统 | |
US20210358135A1 (en) | Feature detection, sorting, and tracking in images using a circular buffer | |
CN103473183A (zh) | 有效高速缓存预加载 | |
CN111339863B (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 |