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轴上的最大值和最小值。然后通过包盒子技术,将该四个极值点连成一个矩形,同时再连成一个小一点的矩形,将大于小矩形且小于大矩形的区域赋予红色,即可实现目标的跟踪框选。

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

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

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

本工程下载后可以直接运行。

基于FPGA的高空坠物跟踪和预警系统相关推荐

  1. python语言高空坠球_高空坠物打击体验装置制造方法

    高空坠物打击体验装置制造方法 [专利摘要]本实用新型涉及一种高空坠物打击体验装置,包括:模拟杆塔,内部设有上下方向传输的链条,链条连接有滑动导轨,滑动导轨上连接有运球凹槽:模拟横担,其一端连接在模拟杆 ...

  2. 直扩同步的跟踪 matlab,基于FPGA的猝发式直扩载波同步技术研究与实现

    在高动态环境中,由于载波多普勒频移和收发端时钟漂移等因素的存在,直扩接收机必须通过载波同步才能在接收端消除频差并重构载波相位,以实现相干解调.在传统的载波同步技术中,锁频环具有较大的捕获带宽但频率跟踪 ...

  3. 【FPGA,MPPT】基于FPGA的MPPT最大功率跟踪系统verilog开发

    1.软件版本 MATLAB2019a,ISE14.7 2.本算法理论知识 MPPT,我们采用的是 FPGA的设计结构如下: 这里, 第一,使用MATLAB模拟出光伏设备PV输出的电流和电压数据,尽量贴 ...

  4. 【基于FPGA的运动目标实时跟踪检测】

    基于FPGA的目标实时跟踪检测(一) 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.系统架构 二.算法设计 1.RGB转YCBCR 2.中值滤波算法 3.帧间差 ...

  5. 上交所技术 基于FPGA技术的FAST行情解码研究

    本文选自<交易技术前沿>第二十七期 (2017年6月). 钟浪辉1,陈敏1,陈坚1,刘啸林1,秦轶轩2,李道双2, 1上交所技术有限责任公司 2南京艾科朗克信息科技有限公司 E-mail ...

  6. 一种基于FPGA 的1080p 高清多摄像头全景视频拼接的泊车(机)

    < > 一种基于FPGA 的1080p 高清多摄像头全景视频拼接的泊车(机)实时影像系统 一.本发明要解决的实际问题 1. 汽车左右反光镜及后视镜的视角有限,导致车身周围存在盲区,在特殊驾 ...

  7. [FPGA]基于FPGA的数字跑表

    基于FPGA的数字跑表的设计与实现 一.设计要求 用FPGA设计并实现一个数字跑表,范围为0~59分59.99秒.可以实现数字跑表进行启动.停止计时和显示读数三个操作,可以在数码管上显示读数. 二.设 ...

  8. 基于FPGA视频图像处理系统设计

    摘   要 本报告给出一个基于FPGA+两片DDR2组成的核心板.带有4路视频输入和VGA接口的开发板进行的视频图像采集和处理系统的设计.使用TW2867进行视频输入信号的编码,存储到DDR2中,通过 ...

  9. 基于FPGA的电子计算器设计(上)

    今天给大侠带来基于FPGA的电子计算器设计,由于篇幅较长,分三篇.今天带来第一篇,上篇,话不多说,上货. 导读 本篇介绍了一个简单计算器的设计,基于 FPGA 硬件描述语言 Verilog HDL,系 ...

最新文章

  1. 重载内核全程分析笔记
  2. Java 实现MapReduce函数
  3. linux下配置jdk+tomcat
  4. 匹兹堡大学申请条件计算机科学,匹兹堡大学cs
  5. 【Java数据库】CLOB BLOB 在数据库中存入/取出大量文本数据、二进制文件(图片)
  6. Confluence 6 配置服务器基础地址备注
  7. 『性能测试』文章大汇总
  8. openoffice 安装windows 环境
  9. slice,Array.prototype.slice,Array.protyotype.slice.call
  10. amazon云计算平台_腾讯云首次公开边缘计算网络开源平台,拥抱5G与万物互联
  11. js禁用按钮_探索js让你的网页“自己开口说话”
  12. java订单重复提交_java表单重复提交常用解决办法
  13. 英特尔推出49量子比特芯片以加入量子统治权大战
  14. 火狐html5播放器,可能用户已经发现你在火狐内建HTML5音视频播放器
  15. Map使用put进行数据的添加,对哈希表的三步添加的步骤
  16. 充电和库仑计,charge(bq24161) and coulomb(bq27425)
  17. 针对于网站被黑被劫持了的解决办法、网站被劫持了怎么办
  18. platform device和platform driver
  19. static(静态变量,方法)
  20. .Net使用163smtp发送邮件时错误:邮箱不可用. has no permission解决方法

热门文章

  1. EMC Navisphere AGENT(NAVIAGENT) 安装日志
  2. 白盒测试重点复习内容
  3. Lab1实验过程及心得体会
  4. 生物信息学常用名词解释
  5. JS:对象的浅克隆、深克隆
  6. linux下ffmpeg库 ARM交叉编译
  7. HTML页面下雪特效
  8. kali破解Wi-Fi密码
  9. PHP 十六大魔术方法学习
  10. MyBatis(一)MyBatis概述