基于FPGA的模板匹配红外目标跟踪算法设计

news2024/12/24 1:15:08

为什么要写这篇文章

我写这篇文章的原因是一天在B站看到了一个大神发的视频是关于跟踪一个无人机的,看到作者跟网友的回复说是用的图像匹配算法,我就在网上搜索相关资料,最终找到一篇文献。文献中对该算法的评价很高,满足制导系统的实时性要求,用FPGA实现该算法具有运算速度快,可靠性高,功耗低等优势。

鉴于文献对FPGA 实现该算法的评价这么高,作为一名FPGA工程师肯定要把它搞出来。我花费了一些时间学习相关资料,把原理搞清楚后,开始设计逻辑框架和相关代码。

 FPGA实现图像算法的难点

虽说所有的编程语言在计算机中最终的表现形式都是0和1,但是要在FPGA上实现还是有些难度。

在FPGA上实现图像算法主要考虑以下几点:

第一点:图像的实时性问题

        用matlab软件做图像算法的方式就是对一张静态图像进行研究,FPGA是要对视频流数据进行实时处理。

第二点:FPGA资源利用问题

        FPGA内部的资源是有限的,尤其是BLOCK_RAM资源可怜的很,所以在设计程序时要充分利用好BLOCK_RAM,可以的话最好是反复使用,就像SpaceX公司研发的重复使用火箭猎鹰号一样。

第三点:对算法原理的实现步骤不能完全照搬使用

        算法的灵魂,我们要完全一致,但是对于算法的实现方式上要根据FPGA的特点进行一定的转化,不能完全照搬。

        以上三点是我自己对FPGA实现图像算法的理解,希望对大家有帮助,下面开始学习这个模板匹配算法。

模板匹配跟踪算法理解

        文献中对该算法的描述:模板匹配相关跟踪算法是近距成像末制导常用的算法,通过选定搜索区与模板,搜索区中模板平移相似度匹配的方法得出跟踪点所在的位置。

大白话理解就是:首选在一幅图像中划出一片区域叫做搜索区,然后拿着目标的照片在搜索区里面逐一排查,直到找到最像照片目标的数据,找到后把这个区域标定出来就OK。

FPGA系统框架设计

 

 整个系统我主要分为以上几个部分:

alg_control模块:该模块负责这个整个系统的调度和管理,相当于司令部指挥其他模块工作;

64*64搜索区模块:根据alg_control下发的坐标信息快速划出搜索区范围;

20*20模板存储模块:实现目标数据的存储功能;

Matrix_alg模块:实现该算法的匹配运算功能。

在实现该算法时,要注意的几个要点:

  1. 搜索区和模板区的边界问题,要处理好;
  2. 在运算工程中会产生大量数据,这些数据如何处理是关键。

本算法全部是用verilog编写完成,纯逻辑版本,真实有效,有截图为证,哈哈。我只是共享一些思路,编程的核心就是思路,思路有了,代码就是体力活。

 

 

 

 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1180592.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

React进阶之路(一)-- JSX基础、组件基础

文章目录 React介绍React开发环境搭建项目目录说明以及相关调整 JSX基础JSX介绍JSX中使用js表达式JSX列表渲染JSX条件渲染JSX样式处理JSX注意事项 组件基础组件的概念函数组件类组件事件绑定如何绑定事件获取事件对象传递额外参数 组件状态状态不可变表单处理受控表单组件非受控…

structure needs cleaning结构需要清理

以Centos7,xfs文件系统为例进行验证,理论适用于其他 在使用rm命令执行删除/root下某个文件时提示rm无法删除,structure needs cleaning(即结构需要清理) 在网上搜索一下,你会发现千篇一律的卸载磁盘挂载&…

小程序+spring boot疫起买菜平台99212-计算机毕业设计项目选题推荐(附源码)

摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,疫起买菜平台小程序被用户普遍使用,为方便用户…

「Verilog学习笔记」求两个数的差值

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 timescale 1ns/1ns module data_minus(input clk,input rst_n,input [7:0]a,input [7:0]b,output reg [8:0]c );always (posedge clk or negedge rst_n) begin if (~rst_…

16、Python的常用标准库介绍

文章目录 Python被誉为“胶水语言”,这在很大程度上归功于其庞大而全面的标准库。标准库是一组预先打包的、可直接使用的模块集合,无需安装额外的包即可使用。这些库跨越了编程的各个领域,几乎每个Python开发者都会在他们的编程生涯中用到它们。这篇文章将介绍50个常用的Pyt…

爆火的正规号卡推广分销 流量卡分销代理平台

正规号卡推广和流量卡分销代理可以通过“聚量推客”申请 聚量推客上的号卡单价高 数据及时 结算快,你还可以搭配平台上的拉新产品各种推广场景,更值得拥有哦

【T690 之十二】基于方寸EVB2开发板(T690芯片)构建基于GMSSL的文件系统的方式

备注: 1,假设您已对方寸微电子的T690系列芯片的使用方式都有了一定的了解,然后需要构建基于GMSSL的文件系统,此文才对您有意义; 2,若您对方寸微电子的T690芯片不了解,但想进一步了解它&#xff…

Modbus入门

Modbus入门 ModbusModbus模拟工具模拟工具使用配置Slave配置Poll C#使用ModBus通讯 Modbus modbus使用范围广泛,广泛应用于各类仪表,PLC等。它属于应用层协议,底层硬件基于485/以太网。 Modbus的存储区有:输入线圈(布尔…

[Day1]工业网络智能控制:三层交换机与防火墙

基础知识点 什么是内网? 内网就是我们平常说的局域网。局域网就是在固定的一个地理区域内由2台以上的电脑用网线和其他网络设备搭建而成的一个封闭的计算机组。它可以是邻居之间的2台电脑,也可以是一幢100层大楼里的1000台电脑。局域网可以是独立封闭运行的&…

CSS 显示、定位、布局、浮动

一、CSS 显示: CSS display属性设置元素应如何显示;CSS visibility属性指定元素应可见还是隐藏。隐藏元素可以通过display属性设置为“none”,也可以通过visibility属性设置为“hidden”。两者的区别:visibility:hidden可以隐藏某…

七个很实用的开源项目「GitHub 热点速览」

本周特推的两个项目都是异常实用的项目,一个接棒上周的视频重制项目 video-retalking 这次则是直接将视频替换成另外一个语种;另外一个则是解决日志阅读问题的 tailspin,让你在成千上万条日志中快速定位特定的日志。 此外,还有两大…

从零开始搭建微服务(二)

忘记了软件还没有装全,今天先把所有的软件装上,nacos已经装过了我们就不在装了,剩余的软件全部都是通过docker安装,我在centos7里面 1. 安装docker 安装dockeryum -y install docker开机自启 systemctl enable docker启动dockre systemctl start docker查看docker版本 doc…

公司加入域的电脑关闭登陆密码

公司电脑一般会统一加入公司内部的域,同时基于安全等原因,屏幕保护和桌面密码不能自己个性化设置,因此一会儿不进行操作就会被锁定,使用时还需要重新输入密码,这种情况可以通过修改注册表来解决。 同时按winr键&#x…

ONNX相关

https://github.com/open-mmlab/mmdeploy/blob/master/docs/zh_cn/tutorial/03_pytorch2onnx.md TorchScript 解读(一):初识 TorchScript - 知乎 onnx算子文档 https://github.com/onnx/onnx/blob/main/docs/Operators.mdhttps://github.com…

电子水表和智能水表哪个好?

随着科技的不断发展,传统的水表已经逐渐无法满足人们对于用水管理的需求。于是,电子水表和智能水表应运而生。这两种水表在功能和性能上都有一定的优势,但究竟哪个更好呢?今天小编将为大家全面解析电子水表和智能水表的优劣&#…

【广州华锐互动】气象卫星监测AR互动教学软件为气象学习带来更多乐趣

由VR制作公司广州华锐互动开发的气象卫星监测AR互动教学软件是一款结合了增强现实(AR)技术与气象监测技术的教育软件。它通过直观、互动的方式,帮助学生更好地理解和掌握气象监测的基本知识和技能。本文将从气象卫星监测AR互动教学软件的应用场景、优势分析、实际意…

Vue2+elementui项目导出el-table的数据为xlsx表格

1、安装3个插件 (file-saver、 xlsx、script-loader) npm install -S file-saver xlsxnpm install -D script-loader 2、在utils目录下新建一个 Export2Excel.js 脚本 (我的路径在/utils/Export2Excel.js) /* eslint-disable *…

Vue动手实践p110和p107小试牛刀

一、小试牛刀 真的很不好意思诸位&#xff0c;最近事情有点多&#xff0c;更新进度缓慢了&#xff0c;这次就简单的再复习一下vue组件的内容&#xff0c;大家可以自行研究一下&#xff0c;我就不深入解析了。 <body> <div id"app"><button click&qu…

vr航天探索科普展vr航天科普亲子嘉年华

随着生活水平的提高&#xff0c;人们的体验事物也在变多&#xff0c;学习方面也越来越多元化。现在我国的航天技术也在快速的发展&#xff0c;在宇宙太空中有我们的一席之位。航天大发展离不开每个航天人的努力。现在很多的人从娃娃做起&#xff0c;让他们更早的体验和了解外太…

YOLOv8优化:block系列篇 | Neck系列篇 |可重参化EfficientRepBiPAN优化Neck

🚀🚀🚀本文改进: 可重参化EfficientRepBiPAN优化Neck 如何在YOLOv8下使用:1)结合neck; 🚀🚀🚀EfficientRepBiPAN在各个领域都有ying 🚀🚀🚀YOLOv8改进专栏:http://t.csdnimg.cn/hGhVK 学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研; 1.原理…