最近刚刚完毕了一个追踪功能的小车。大体功能例如以下:小车能通过网线给电脑传图(抱歉。临时没搞wifi驱动)。并在电脑端通过鼠标选中待跟踪的目标,然后小车就開始追踪。由于追踪框有缩放功能。所以也能推断物体离的远近(否则也就不能实现追踪了)。

首先上图,小车车身:

电脑端图传显示界面:

鼠标选中待跟踪区域后,显示了一个跟踪框:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

小车运动后。方框仍然追踪先前选中的物体:

接下来是技术的介绍

主控核心:採用Altera公司的SoC芯片,结合了FPGA和一块双核Cortex-A9处理器。和Xilinx的Zynq架构上类似,开发流程也非常类似。

小车驱动板:採用双L9110S芯片的电机驱动模块。发热少,但电流小。导致小车马力不太足,但在平地上够了。

摄像头:採用OV7725摄像头,这个摄像头640*480分辨率下帧率60帧,但缺点是画质有点差,转接线稍长噪声就大。但手上仅仅有这个摄像头了。仅仅能用它。

片上系统架构。如图:

系统主控还是ARM端,它嵌了Linux操作系统。上电首先载入VDMA的驱动(实际上就是分配可用的DDR缓存区)。FPGA部分採集摄像头的初始像素。完毕RGB像素的拼接,经过ST模块转换成ST总线,经过图像缩小、灰度化,进入到VDMA。此处的VDMA就是一个ST总线转MM(memory map),由于ARM端的DDR控制器和FPGA端的接口就是MM总线。FPGA端和ARM端通过VDMA能够共用一片内存。这样FPGA预处理后的图像就能够给ARM端接着处理。

Linux部分跑了一个TLD的追踪算法,关于TLD的算法原理本人水平有限,只是多介绍。推荐看这人的博客:http://blog.csdn.net/zouxy09/article/details/14222605。TLD的框架就是追踪、检測、学习三者一体。对于长时间的目标追踪,效果非常好,缺点就是速度慢。本人在TLD的代码里,将检測窗体数量。以及学习样本库的数量做了些限制,达到了一定程度上提高帧率的目的。

Linux端通过网线给电脑传输图像,而且电脑也能够通过鼠标画框。将框的信息发给ARM。协议是UDP。

终于。小车追踪效果比预想的差一点,主要原因有两个:1.摄像头画质实在较差,而且摄像头不能自己主动变焦。导致画面模糊的情况下easy丢失目标;2.帧率,眼下也就3~5帧的水平。

继续优化TLD算法,等到效果再好一些。就拍视频。

diy作品——视觉追踪小车介绍的更多相关文章

  1. (转) SLAM系统的研究点介绍 与 Kinect视觉SLAM技术介绍

          首页 视界智尚 算法技术 每日技术 来打我呀 注册     SLAM系统的研究点介绍 本文主要谈谈SLAM中的各个研究点,为研究生们(应该是博客的多数读者吧)作一个提纲挈领的摘要.然后,我 ...

  2. MicroPython教程之TPYBoard开发板DIY红外寻迹小车

    智能小车现在差不多是电子竞赛或者DIY中的主流了,寻迹,壁障,遥控什么的,相信大家也都见得很多了,这次就大家探讨一下寻迹小车的制作方法,不同于以往的是这次的程序不用C语言写,而是要使用python语言 ...

  3. DDOS与DDOS追踪的介绍

    我很早前研究anti-DDOS,其中就有追踪一块,可以在这里介绍一些,但是实际上只有很少技术被投入使用了,大多数都还是依然是实验室的东西,已经投入实用的我单独提出来. 追踪技术有: ·链级测试 (Li ...

  4. WIFI实时监控追踪小车演示视频——安卓端、小车

    文章由@超人爱因斯坦出品,转载请注明出处.         文章链接:          http://hpw123.net/a/qingsongyike/yingyinqu/2014/1019/59 ...

  5. TurnipBit之DIY无线遥控智能小车

    一.准备工作 TurnipBit 开发板 2块 TurnipBit 扩展板 1块 数据线 1条 智能小车器件 1套 电机驱动模块(L298N) 1个 在线可视化编程 点击进入   二.思路设计   2 ...

  6. DIY 作品 及 维修 不定时更新

    手机电池DIY充电宝 2块,优质手机电池加一个升压ic ,焊上一个 usb 母头.比买的强多了. 还能调压,最高调到24V 可以带白光焊台. 更换手机 SIM/SD 卡二合一 贴上高温胶带,吹下来. ...

  7. Blazor Bootstrap 组件库地理定位/移动距离追踪组件介绍

    地理定位/移动距离追踪组件 通过浏览器 API 获取定位信息 DEMO https://www.blazor.zone/geolocations 小提示 注意: 出于安全考虑,当网页请求获取用户位置信 ...

  8. 我的DIY作品

    工欲善其事必先利其器~呵呵~我自己体会从无到有的乐趣~0~ 从Visio到CAD再到Autodesk,你妹的~只有自己才懂~哎~感谢兄弟朋友们的支持! Visio图: CAD图: Autodesk图:

  9. 最新Dashboard设计实例、技巧和资源集锦,视觉和功能两不误,妥妥的!

    Dashboard设计,尽管设计师们叫法各不相同(例如:“数据面板设计”, “控制面板设计”, “仪表盘设计”或“后台界面设计”等等).但,此类设计的最终目都是力求以最直观.最简洁的方式呈现各种信息和 ...

随机推荐

  1. Lvs+Keepalived+Mysql

    环境 [root@node1 ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@node1 ~]# uname -a Linu ...

  2. object-c中NSString与int和float的相互转换

    1,字符串拼接 NSString *newString = [NSString stringWithFormat:@"%@%@",tempA,tempB]; 2,字符转int in ...

  3. HDU 5907 Find Q dp

    Find Q 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5907 Description Byteasar is addicted to the ...

  4. android防止按钮连续点击方案之AOP

    转载请标明出处http://www.cnblogs.com/yxx123/p/6675567.html 防止连续点击的实现方式有很多种,比如,在所有的onclick里面加上防多次点击的代码,或者定义一 ...

  5. Linux下查看哪些IP登陆过系统/var/log/wtmp

    last -f /var/log/wtmp

  6. MikroTik RouterOS安装chr授权到阿里云虚拟机(转)

    CHR介绍 CHR(Cloud Hosted Router) 是用于在虚拟机上运行的 RouterOS 版本,它支持x86_64架构,支持大多数流行的虚拟化技术,如 VMWare, Hyper-V, ...

  7. python实例[判断操作系统类型]

    参考文献:http://bbs.chinaunix.net/thread-1848086-1-1.html 经常地我们需要编写跨平台的脚本,但是由于不同的平台的差异性,我们不得不获得当前所工作的平台( ...

  8. hdu4467 Graph

    Graph Problem Description P. T. Tigris is a student currently studying graph theory. One day, when h ...

  9. DELPHI 常用虚拟键:VK_

    常数名称                          十六进制值          十进制值     对应按键 VK_LBUTTON                       01       ...

  10. Unity3D实践系列04, 脚本的生命周期

    Unity3D脚本生命周期是指从脚本的最初唤醒到脚本最终销毁的整个过程.生命周期的各个方法被封装到了MonoBehaviour类中.具体来说如下: 1.In Editor Mode 编辑模式 当在编辑 ...