0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于激光探测器光斑质心算法硬件的设计

电子设计 来源:网络整理 作者:工程师吴畏 2018-06-23 10:03 次阅读

0 引言

在一些姿态检测的实际应用中,需要在被测对象上安装激光探测器[1],利用CCD相机捕捉激光光斑来检测观测对象的实际情况,光斑图像质心坐标的提取是图像处理技术中常见的问题,激光的瞬时和高速性是激光光斑图像的重要特征[2]。为了实时准确地获取激光光斑质心的坐标,相机要求以300帧每秒的速度进行采集。原设备原始应用场景为工业高清相机通过专用Camera Link电缆连接图像采集卡,图像采集卡插入计算机内部,计算机接收图像数据后进行信号处理运算,质心算法的实现在计算机上完成[3]。本文通过对原设备的结构进行优化,将算法部分移植到硬件环境中形成相机控制器,使得摄像机与计算机可以远距离部署,一台计算机可以控制和接收多台相机数据并同时进行信号处理,并且对计算机的配置要求较低,有灵活的扩展性。在质心算法研究方面,将计算机软件实现的算法用硬件描述语言Verilog设计实现,获取激光光斑的实时质心坐标。

1 CCD采集图像质心算法

激光探测器形成的激光光斑在CCD表面的光强分布可以看作以中心对称的高斯分布[4],所以在激光光斑质心坐标算法中,可以用光斑光亮的最强点作为激光光斑的质心坐标,对于CCD数字视频信号来说就是灰度值最大的那一点的坐标值[5]。具体算法如下:

第一步:噪声采集。假设图像x方向与y方向分别有m与n个像素点。在无激光照射CCD情况下采集N幅图(N理论上越多越好,实际N值手动可设即可),databuffa[m][n]为第a幅图的数据。对N幅图进行求均方根,即可得到噪声数据。

关于激光探测器光斑质心算法硬件的设计

第二步:去噪声。此时开始进行激光光斑的采集,CCD所采集的每幅图数据为h[m][n],进行去噪声处理,将CCD所采集的数据与采集算好的噪声相减。如果低于最小灰度值0则为0;如果高于最大灰度值255则为255。

关于激光探测器光斑质心算法硬件的设计

第三步:去一定比例的最大灰度值,比例系数为p。此时经过去噪声的图像数据h[i][j]还具有一定的干扰,采用阈值去掉干扰,阈值为最大灰度值的比例数。首先寻找图像的最大灰度值,然后进行去掉阈值。

关于激光探测器光斑质心算法硬件的设计

第四步:进行质心计算。CCD所采集图像质心即图像灰度的重心,i与j分别为两个方向的坐标,g[i][j]为像素点(i,j)坐标的灰度值,则图像质心位置坐标为:

关于激光探测器光斑质心算法硬件的设计

式中x、y即为图像质心的坐标。

2 基于FPGA的图像质心算法

FPGA的特点是数字逻辑的思维与并行的处理方式。FPGA的并行处理能力使得它有着更高的处理速度,让人们更青睐于这种可编程逻辑方式去实现所需要的算法。本文的目的是将CCD采集图像质心算法用可编程逻辑Verilog语言去实现所需算法,为了实现上述算法,需要对算法进行必要的改造。

第一步:噪声均方根的采集实现。对于数字逻辑中只有0和1之分,灰度图像的颜色由8位二进制来表示,故灰度颜色由0~255这256个数据来表示。故这里不需对根号内数据进行开方,而是直接根据根号下的数据即可算出均方根的结果,因为这里的结果都是四舍五入后的整数。

第二步:去噪声的实现。此算法可直接用可编程逻辑实现,与原算法一致。

第三步:去一定比例的最大灰度值中比例数p是一个0~1之间的小数,在实际应用中小数可以通过浮点数的方法来表示,浮点数的表示有32位与64位的表示方法。所以本文的设计方法是将0~1的数与0~100的数字一一对应,在后续再转换缩回比例,求出数据。例如0.16对应整数16,这样只需要7位二进制数即可表示,节省了寄存器占用的空间,利于算法的实现。

第四步:质心计算的实现。第三步中的质心计算的算法方式由于求矩阵过程复杂,运算量大,不适用于可编程逻辑方式,为此将此算法进行了转换。一种基于函数转换的快速搜素质心算法,利用目标质心与目标上所有各点间距离之和值最小的原理,快速求出质心。此算法适用于灰度图像,对灰度图像求质心具有广泛的用途与实际的意义。应用此算法后,n个乘法转换成了1个乘法,便于Verilog语言去实现。

3 仿真结果与分析

将改进后的算法应用到可编程逻辑Verilog语言中后,实现了光斑质心算法的功能并能够实时求出质心的坐标。通过上位机选择需要算出的N幅图得到的噪声系数,将求出的噪声系数存入RAM中,当激光照射后读出RAM中存储的噪声系数值即可。本设计包括噪声系数模块,去噪声模块与质心坐标算法3个模块。图1为光斑质心算法的总体架构图。

关于激光探测器光斑质心算法硬件的设计

噪声系数模块:初始化后检测ready信号,ready拉高表示外部输入已经准备好可以接收数据,可保证在一帧图像数据内的连续性。在准备好后等待pulse_in信号的到来,pulse_in为脉冲信号,当接收到此信号时表示通知模块需要计算噪声系数。pixel_num为像素值选择, frame_num为帧数选择,范围是0~131 072。data_in为输入的图像数据8位灰度值,noise_req为噪声系数输入数据请求信号,当此信号拉高后,输入信号data_in在下一拍输入数据。noise_done为噪声系数计算完成信号,当计算结束并没有接收到重新计算信号pulse_in时,noise_done一直拉高来表示噪声系数模块处理完成。在noise_done高电平期间,输入来自去噪声模块的地址信号addr_in,即可读出RAN中对应地址的数据databuffnoise。

去噪声模块:在noise_done高电平期间可启动去噪声模块。read_en为脉冲信号,一个脉冲可接收一帧图像数据。proportion信号是上位机发来的比例系数,范围在0~100之间,表示0~1之间的数。在接收到read_en脉冲信号后,发出数据请求信号data_req,data_req拉高后输入dec_in数据信号,由于需要求出一帧图像的最大图像数据,所以会有一帧图像的延迟,当输出图像数据有效data_valid信号拉高时,输出去噪后有效的pixel_data数据,在data_valid信号拉高后输出的pixel_data数据会传到质心算法模块中进行计算。图2为去噪模块仿真结果。

关于激光探测器光斑质心算法硬件的设计

质心坐标算法模块:输入的request_in信号是去噪声模块的输出信号data_valid,在request_in信号有效时,输入的数据gravity_in信号有效,与去噪模块的输出数据信号pixel_data线性连接。在信号请求输出req_out高脉冲同时输出质心坐标xy_pos信号,输出的x、y坐标都是10位二进制数表示,根据需求以32位xy_pos信号输出,高25~16位填充x坐标,9~0位填充y坐标,其他填充0。通过各个模块的验证可看出算法符合基本要求, 最后得到如图3所示的3个模块整体的顶层模块仿真结果图。

关于激光探测器光斑质心算法硬件的设计

将此算法用C++在VS2012上运行并验证质心坐标是否正确,输入相同输入数据,验证结果如图4所示。

关于激光探测器光斑质心算法硬件的设计

通过分析和仿真验证了设计的正确性,CCD图像质心算法被很好地应用到可编程逻辑语言中,FPGA的高速并行优点使得算法可以达到流水线高速运行,由于相机的图像采集速度可达到每秒300帧,为了符合这样的高速采集能力,本文采用了流水线算法可实时算出质心坐标供上位机采集和使用。

4 结论

本文所设计的光斑质心定位算法是基于实际应用的激光探测器相机控制器的算法实现部分,该算法的实现使得摄像机与计算机可以远距离部署,将复杂算法的运算量交给控制器去处理,减轻了计算机的工作量去处理更重要的事情。该方法适用于有一定存储空间的FPGA芯片去实现,注重高速与实时性,对工业高清相机这种高精度要求的应用有一定的实用价值。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CCD
    CCD
    +关注

    关注

    32

    文章

    879

    浏览量

    142220
  • 激光探测器
    +关注

    关注

    0

    文章

    28

    浏览量

    8551
收藏 人收藏

    评论

    相关推荐

    基于FPGA的高速实时图像采集和自适应阈值算法

    的范围,然后再运用光斑质心算法光斑所占的像元进行运算,得出光斑位置的脱靶量。本文达到了脱靶量帧速3000帧/ s、精度2μrad的技术指标,实现了高速率、高精度的跟踪要求。关键词:
    发表于 08-11 15:38

    如何选择汽车LiDAR的激光器和光电探测器

      据报道,激光雷达(LiDAR)与其它传感技术(摄像头、雷达和超声波)的相互竞争增加了对传感融合的需求,同时也要求对光电探测器、光源和MEMS微镜的仔细甄选。  随着传感
    发表于 11-08 10:42

    激光对射入侵探测器改怎么避免杂散光

    话说有大神知道激光对射入侵探测器改怎么避免杂散光
    发表于 03-07 16:06

    请问有激光探测器电路图吗?

    激光探测器电路图
    发表于 10-27 23:50

    红外探测器硬件部分该如何去设计呢

    红外探测器的工作原理是什么?红外探测器硬件部分有哪些?怎样去设计呢?
    发表于 01-27 07:51

    用模板匹配法选取光斑质心探测窗口

    根据Hartman传感探测人眼波像差时的光斑特点, 提出了模板匹配法选取光斑窗口的质心探测方法
    发表于 07-14 12:10 11次下载

    激光光斑测量系统的电路设计

    激光武器装备的作战效能直接取决于发射激光到达靶目标处光斑的能量密度及分布。本文重点研究探测器阵列测量系统中的硬件电路设计。
    发表于 07-12 12:00 1897次阅读
    <b class='flag-5'>激光光斑</b>测量系统的电路设计

    激光器与光电探测器

    电子专业单片机开发中的学习教程资料——激光器与光电探测器
    发表于 08-08 14:45 0次下载

    基于矿井三维WSNs多重覆盖和RSSI的加权质心算法_方旺盛

    基于矿井三维WSNs多重覆盖和RSSI的加权质心算法_方旺盛
    发表于 03-19 19:28 6次下载

    激光光斑测量系统的电路设计与实现[图]

    摘要: 为了直接测量远场激光光斑,设计开发了一套基于热释电探测器阵列靶的激光光斑测量系统。针对热释电探测器噪声特性,将探测器响应信号通过前置
    发表于 01-19 20:44 1064次阅读

    基于RSSI技术的三角形质心算法的建模与仿真研究

    利用Matlab仿真工具模拟三角形质心算法,考察该算法的性能。假设在100 m×100 m的正方形区域内,36个锚节点均匀分布,未知节点70个,分别用三边测量法和三角形质心定位算法进行
    的头像 发表于 04-19 09:50 4645次阅读
    基于RSSI技术的三角形<b class='flag-5'>质心算法</b>的建模与仿真研究

    关于反射式激光入侵探测器技术特点的相关介绍

    反射式系列激光入侵探测器是由激光发射和激光接收合二为一,单边布线供电,实现对射式激光探测器一样的
    发表于 06-30 07:39 631次阅读

    激光入侵探测器的原理是什么,它有哪些特点

    维安达斯旗舰版激光探测器是当今安防领域的一款主流入侵探测器,也是众多大型/重点安防项目的优选探测器。但目前市场上的常规激光
    发表于 06-30 15:54 2150次阅读

    激光对射探测器的功能特点及工作原理

      激光对射探测器类型有哪些?激光入侵探测器分为地铁防夹型、个性定制型、智慧安防型、本安防爆型、便携型、灯饰型、全向型、反射型、超远型,用户可根据不同的场景及需求选择适合的
    发表于 07-01 09:09 2914次阅读

    激光探测器的类型及功能解析

    激光入侵探测器类型有哪些?激光入侵探测器分为对射式激光入侵探测器、反射式
    发表于 11-02 17:44 1757次阅读