基于FPGA的高空坠物跟踪和预警系统

这篇具有很好参考价值的文章主要介绍了基于FPGA的高空坠物跟踪和预警系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.1 设计目的

高空抛物现象被称为“悬在城市上空的痛”。近年来,高空坠物致人员伤亡的案例屡见不鲜。该类顽疾的久治不愈拷问着城市管理,也拷问着立法部门,事后赔偿、追责问题能否妥善处理也给法院审判执行工作带来不小挑战。在一些居民楼尤其是老旧小区的阳台,堆砌杂物、盆栽,甚至悬挂拖把等现象更为常见。甚至在有些空调外挂机上还堆有放着随时有坠落风险的杂物,这些安全隐患随时都可能转化为一起伤人事件。如何高效防范并且规避高空坠物风险,是对安防领域提出的一项重大挑战。

1.2 应用领域

本系统主要应用于安防领域,可对目标进行实时的跟踪和对空中危险物体进行预警,达到安全防范的作用。

例如,不仅可以用于对高空坠物进行跟踪与预警,还可放置于云台上应用于地面对空中的移动不明飞行物体或无人机进行跟踪预警和拦截。此外,在一些大规模作战场合也可作为防空预警系统,具有一定的战略作用。

1.3 主要技术特点

①利用FPGA在图像处理方面的优势,对图像处理速度快、计算精度高和功耗低等优点。

②利用读写仲裁,进行同时读出两帧图像和写入图像,避免DDR同一时刻不能进行同时读写工作。采用帧间差分法对邻近间的几帧图像进行计算,检测速度快,效果好。

③利用动态地址切换和乒乓操作实现图像画面实时流畅显示,对于高帧率和大分辨率的图像也能达到实时显示效果,不会出现画面撕裂,断层现象。

④利用腐蚀膨胀技术,去除图像噪声,达到更好的显示效果。

⑤抗干扰能力强,根据距离远近和像素关系,能够有效解决空中飞机或者鸟类飞行等不利因素影响。对于空中非高空坠物进行有效的排除。

1.4 关键性能指标

①本系统视频实时跟踪和显示帧率可达60fps,分辨率为1024768。

②本系统图像腐蚀膨胀和帧间差分计算算法的时间延时在10ms以内。

③本系统采用ddr作为图像存储单元,处理速度可达12.8GB/s。

1.5 主要创新点

  1. 本系统可对高空坠物进行实时跟踪,同时发出警报信号提醒周围人群及 时躲避高空坠物和减少伤害。适用于高层建筑和居民楼等场所进行高空 坠物跟踪和预警,具有一定的实用性。
  2. 本系统能够有效的排除空中飞机和鸟类飞行等干扰因素的影响,准确锁 定跟踪高空坠物。
  3. 本系统采用Verilog硬件描述语言进行模块化的设计,具有处理速度快、 延时低、帧率高、功率小等优点。

2.1 整体介绍

本系统主要由三部分组成,图像采集和显示部分、主控制单元部分和预警信号部分。基于机器视觉,着眼于图像感知技术、图传技术及控制技术于一体。

将FPGA作为核心处理单元,利用OV5640摄像头对高层建筑物或者居民楼的上空图像信息进行实时监控获取,FPGA进行存储、计算,并实时输出上空情况的图像信息。若发生高空坠物的情况,该系统会对高空坠物进行标定为红色警示颜色,并且进行实时跟踪。同时,预警信号部分会发出闪亮LED灯和蜂鸣器警报信号,以便警示周围人员进行及时躲避或者减少伤害。

对于空中飞行的飞机和鸟类飞行等不利因素影响,本系统能够有效的排除此类影响,准确锁定高空坠物。当本系统在图像采集过程中,采集到空中飞机等影响因素时候,只会闪亮LED灯作为提醒,并不会发出声音警报。

该系统体积轻巧、集成度高、功耗低,便于安装对居民楼及商业区人口流动密集时进行无间断监测和预警,具有较高的实用性。

主控制器采用紫光同创Logos系列的FPGA开发平台(型号:PGL22G)。

在主控制器FPGA中的完成情况大致主要有以下几部分:

(1)数据预处理

对数据进行简单的位拼接,灰度化等操作。灰度化后的图像,像素数量的减少减轻计算压力,同时不会对帧间差分计算造成影响。

OV5640 在 HREF 信号为高时输出一行的图像数据,输出数据在 PCLK 的上升沿的时候有效。因为 RGB565 显示每个像数为 16bit, 但 OV5640 每个 PCLK 输出的是 8bit,所以每个图像的像数分两次输出,第一个 Byte 输出为 R4~R0 和 G5~G3, 第二个 Byte 输出为 G2~G0 和 B4~B0,将前后 2 个字节拼接起来就是 16Bit RGB565 数据,原理图如下图所示。

图3-3 数据位拼接

由摄像头输入的图像数据经过数据位拼接模块后,进入帧缓存读写控制模块进行控制FIFO里的图像数据,进行突发传输。其中,位拼接前后的仿真图如下图所示。

图3-4 位拼接仿真图

(2)图像帧处理模块

本系统利用DDR3作为存储单元,FIFO作为缓冲单元。DDR地址的乒乓操作:比如在DDR中设置两个储存空间,用于储存两帧图片。分别用于储存输入的图像数据,和输出图像数据。当第一个存储空间在存储输入的图像数据时,与此同时第二个存储空间进行输出图像数据。若读写数据都完成时,则进行互换读写存储空间。利用这种乒乓操作的主要原因是:如果只利用一个储存空间来输入输出图像数据时,当前一帧图像还没有读取输出完成,下一帧图像的数据就输入进来,由于DDR同一时刻不能同时进行读写操作,所以输入进来的数据会覆盖存储空间,那么对于输出显示的画面会造成拖影现象,或者两帧图像可能会交叠在一起的混乱情况。DDR地址的乒乓操作原理图如下图所示。

图3-5 DDR地址的乒乓操作原理图

同时,在DDR3存储器中分配四个地址空间,完成对四个地址的动态切换。这样的设计,不仅可以避免视频图像的撕裂和重影现象,还极大的缩短的图像数据的传输和缓存时间。具体的DDR3的多地址的动态切换原理图如下图所示。

图3-6 动态地址的切换

(3)读仲裁模块

由于帧间差分法需要同时对2帧图像做计算处理,所以需要从DDR3中同时读出2帧图像数据。由于DDR的核心内存频率为400MHz,速度较快。所以利用两个FIFO作为读出两帧图像数据的缓存单元,既解决了跨时钟问题,又解决了同时需要两帧图像数据的问题。

利用DDR的突发数据传输,当第一帧图像的突发长度传输完成后,则立即切换为第二帧图像在DDR3的存储地址空间,进行突发传输;待第二帧图像的突发长度传输完成后,再切换回第一帧图像在DDR3的存储地址空间,进行突发传输,依次循环下去,直到两帧图像数据被完整的读出后,再次切换另外两个地址空间。

(4)像素灰度化和帧间差分计算

帧间差分法是通过对视频中相邻两帧图像做差分运算来标记运动物体的方法。

帧差法依据的原则是:当视频中存在移动物体的时候,相邻帧(或相邻三帧)之间在灰度上会有差别,求取两帧图像灰度差的绝对值,则静止的物体在差值图像上表现出来全是0,而移动物体特别是移动物体的轮廓处由于存在灰度变化为非0,这样就能大致计算出移动物体的位置、轮廓和移动路径等。

图3-7 两帧差分法示意图

两帧差分法的运算过程如上图所示。记视频序列中第n帧和第n−1帧图像为和,两帧对应像素点的灰度值记为和,按照式2.13将两帧图像对应像素点的灰度值进行相减,并取其绝对值,得到差分图像:

设定阈值T,按照式2.14逐个对像素点进行二值化处理,得到二值化图像。其中,灰度值为255的点即为前景(运动目标)点,灰度值为0的点即为背景点;对图像进行连通性分析,最终可得到含有完整运动目标的图像。

(5)图像腐蚀和膨胀

①简单来说,膨胀是将与物体解出的背景点合并到该物体中,使边界向外部扩张的过程。用卷积模版对图像进行膨胀处理,会使图像像素点周围原的像素点的像素值得到同化的效果。下面采用一个形象的比喻来说明该运算,且用0表示害虫,1表示青蛙。青蛙吃了害虫表示膨胀运算,我们用33像素阵列来解释:

图3-8 膨胀示意图

上图只有害虫(0),固然害虫(0)幸免被吃;上图中虽然存在着8只害虫(0),但青蛙(1)的胃口太大,所以把害虫(0)全吃了;上图右只有青蛙(1),虽然没吃的,但青蛙(1)还是青蛙(1)。

关于算法的实现,可以用下式子来表示,即像素的或运算:

②腐蚀是一种消除边界点,使边界向内部收缩的过程。可以用来消除小且无意义的物体。形象的比喻来说明该运算,用0表示蛀虫,1表示大米。蛀虫腐蚀大米的过程便是腐蚀运算。

图3-9 腐蚀示意图

上图左因为蛀虫(0)的存在,将8颗大米(1)腐蚀掉了,最后剩下蛀虫(0);上图中即便只存在一个蛀虫(0),但由于蛀虫太厉害,最后大米都烂掉了;

上图右没有蛀虫(0),大米(1)一颗不烂。

   关于算法的实现,可以用下式子来表示,即像素的与运算:

(6)目标跟踪模块

本系统可通过两种方法实现目标的跟踪,一种是通过包盒子技术实现目标的框选,另外一种是通过将高空坠物的目标像素赋予红色作为警示颜色。

第一种方法,首先需要计算高空坠物目标的XY坐标,同时找到XY轴上的最大值和最小值。然后通过包盒子技术,将该四个极值点连成一个矩形,同时再连成一个小一点的矩形,将大于小矩形且小于大矩形的区域赋予红色,即可实现目标的跟踪框选。

第二种方法,通过帧间差分计算,得到差分图像后,进行判别。将大于预设值的像素赋予红色,即可将目标覆盖成红色。

由于本系统为了实现能够有效的排除空中飞机和飞行鸟类的影响,故才有第二种方法。对差分图像进行判别,同时根据像素面积与距离的关系,对持续较远距离的目标物体进行判别为非高空坠物。

完整工程在我的资源里下载

本工程下载后可以直接运行。文章来源地址https://www.toymoban.com/news/detail-415993.html

到了这里,关于基于FPGA的高空坠物跟踪和预警系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • yolov8/yolov5-车辆测距+前车碰撞预警(追尾预警)+车辆检测识别+车辆跟踪测速(算法-毕业设计)

    本项目效果展示视频: https://www.bilibili.com/video/BV14d4y177vE/?spm_id_from=333.999.0.0vd_source=8c532ded7c7c9041f04e35940d11fdae 1、本项目通过yolov8/yolov7/yolov5和deepsort实现了一个自动驾驶领域的追尾前车碰撞预警系统,可为一些同学的课设、大作业等提供参考。分别实现了自行车、汽车、摩托车

    2024年02月06日
    浏览(56)
  • yolov8/yolov7/yolov5-车辆测距+前车碰撞预警(追尾预警)+车辆检测识别+车辆跟踪测速(算法-毕业设计)

    本项目效果展示视频: https://www.bilibili.com/video/BV14d4y177vE/?spm_id_from=333.999.0.0vd_source=8c532ded7c7c9041f04e35940d11fdae 1、本项目通过yolov8/yolov7/yolov5和deepsort实现了一个自动驾驶领域的追尾前车碰撞预警系统,可为一些同学的课设、大作业等提供参考。分别实现了自行车、汽车、摩托车

    2024年02月04日
    浏览(62)
  • 基于微信小程序的校园监考管理系统设计与实现课题背景、目的、意义

     目录 一、整体目录(示范): 文档含项目技术介绍、E-R图、数据字典、项目功能介绍与截图等 二、运行截图 三、代码部分(示范): 四、数据库表(示范): 数据库表有注释,可以导出数据字典及更新数据库时间,欢迎交流学习 五、主要技术介绍: 六、项目调试学习(点

    2024年01月22日
    浏览(54)
  • Python课程设计项目-基于机器学习的糖尿病风险预警分析系统

    这个东西是我大二时候做的,做的挺一般的,当时也没想着搭建界面啥的,测试的也不够,就是单纯的分享一下吧,不足之处大家多多指正,我会把所有的代码和数据在文章最后都放出来,喜欢的话点个赞吧! [摘 要] 糖尿病是一种全球性的流行性疾病,随着经济生活的高速

    2024年02月03日
    浏览(54)
  • 基于Python+djangoAI 农作物病虫害预警系统智能识别系统设计与实现(源码&教程)

        随着科技的发展,机器学习技术在各个领域中的应用越来越广泛。在农业领域,机器学习技术的应用有助于提高农作物的产量和质量,降低农业生产的成本。本文针对农作物健康识别问题,提出一种基于机器学习方法的农作健康识别系统,以实现对农作物生长状况的监测

    2024年02月11日
    浏览(46)
  • 毕业设计项目——基于QT4+Opencv开发的道路偏移检测与预警系统

    完整项目地址:https://download.csdn.net/download/lijunhcn/88453342 基于QT4+Opencv的道路道路偏移检测与预警系统 开发环境:Ubuntu14.04+QT4.8.5+Opencv2.4.8 已经实现的功能: 道路偏移检测 道路偏移预警 串口读取外部传感器数据 部分源码展示:

    2024年02月03日
    浏览(42)
  • 【单片机毕业设计】【mcuclub-dz-198】基于单片机的车辆安全驾驶预警系统设计

    项目名:基于单片机的车辆安全驾驶预警系统设计 项目名:驾驶检测(实物)(mcuclub-105) 项目编号:mcuclub-dz-198 单片机类型:STM32F103C8T6 具体功能: 1、通过红测速模块管检测当前老年车的速度; 2、通过超声波测距测量车前障碍物的距离,若距离大于设定最大值,绿灯亮;

    2024年02月20日
    浏览(53)
  • 基于单片机的太阳跟踪系统的设计

    欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式   根据太阳与地球的相对运动规律和赤道坐标系和地平坐标系下太阳相对于地球的运动轨道,以应用价值为前提,提出了以步进电机为驱动机构的开

    2024年02月07日
    浏览(43)
  • 毕业设计 基于stm32与openmv的目标跟踪系统

    文章目录 0 前言 课题简介 设计框架 3 硬件设计 4 软件设计 判断被测物体所在区域 5 最后 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师

    2024年02月08日
    浏览(46)
  • 基于SSM的模具制造企业订单跟踪管理系统设计与实现

    末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录 一、项目简介 二、系统功能 三、系统项目截图 用户信息管理 员工信息管理 订单信息管

    2024年02月05日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包