文章目录

  • 前言
  • 机器学习之前的目标检测研究
  • 一、系统总览
    • 上位机及其功能

    • 下位机及其功能

  • 二、基本方案设计
    • 云台结构设计
    • 机器视觉运算需求分析
  • 三、目标识别算法与跟踪算法
    • 运用HOG特征结合SVM的目标识别和跟踪算法

    • 改进的HOG+CamShift跟踪算法

    • YOLOv3目标检测

  • 四、云台跟踪控制

    • PID算法及改进

    • 串口通讯协议


前言

文本简述一个基于二轴云台的目标跟踪系统的设计思路,并在之后会实践记录。

机器学习之前的目标检测研究:

  • 模板匹配:计算目标图像部分区域与模板图像的相似度,存在检测阈值。

  • 全局特征:通过颜色、轮廓形状等方式识别

  • 局部特征:图像ROI(兴趣区域)的部分特诊

  • 图像帧差:对图像相邻帧做差分运算,来获得目标轮廓,适用于背景变化小的环境。

基于云台的目标识别算法的要求:

  • 准确性

  • 实时性

  • 正确性

一、系统总览

整个系统分为硬件层、驱动层、操作系统层。

·上位机及其功能:

STM32F427控制电路作为移动平台的主要硬件控制电路,主要功能:

  • 集成电压模块为系统提供电源

  • 与底盘电机电调通信控制电机

  • 与二轴云台通信控制云台

  • 位姿解算和位姿信息显示

  • 与上位机Jetson nano或PC串口通信

·下位机及其功能:

Jetson nano主控板或PC负责上层算法并进行信息传输,主要功能有:

  • 将接受的平台控制信息串口传输到STM32控制电路。

  • 驱动工业相机获取图像。

  • 解算跟踪目标所需的控制信息,串口发送给STM32控制电路,控制云台的目标跟踪运动。

二、基本方案设计

云台结构设计:

采用二轴云台,控制偏航角(Yaw)和俯仰角(Pitch)两个自由度。同时还需要姿态控制,IMU采用MPU6050,云台电机采用RM6020,CAN通信。

机器视觉运算需求分析:

摄像头要满足像素高、色彩还原度高、帧率高。嵌入式系统由于需要大量的系统资源,需要GPU加速,可以采用Nvidia的Jetson TX2,拥有256颗CUDA核心(Jetson nano只有128颗CUDA核心)。但总体来说需要对工业相机的选择,算法的优化,GPU加速均有关系。

三、目标识别算法与跟踪算法

  • 运用HOG特征结合SVM的目标识别和跟踪算法

    HOG(Histogram of Oriented Gradient,方向梯度直方图)特征,算法思想是通过提取图像中局部目标及轮廓的梯度方向来区分目标和背景。过程如下:

    • 灰度化,三通道转化为一通道

    • 高斯滤波,平滑图片

    • γ矫正处理,图片过暗,可以拉高图像整体亮度,调整图像亮度平均

    • 梯度运算,分别得到纵向和横向梯度,统计每个cell单元的梯度直方图。

    • 将图像划分为多个Block,提取到的目标HOG特征数据统计,具有易于向量分类的特征。

    SVM分类器(Support Vector Machine,支持向量机),属于有监督学习算法。

  • 改进的HOG+CamShift跟踪算法

    CamShift算法是一种视频图像序列算法,以颜色直方图为特征进行,对图像序列做MeanShift运算,选出初始目标的预测框尺寸和位置信息,作为后一帧图像搜索窗口的初始值,实现跟踪。

    CamShift算法流程

    • 颜色空间转换,RGB到HSV,只需要H分量。

    • 计算反向投影,算出对应概率

    • 计算搜索框质心

  • YOLOv3目标检测

    优势:准确率高,帧率高,性能好。

    • 推荐采用yolov3,在darknet框架下。

    • 自制数据集

    • 移植到linux系统或者ros系统

此方法详情可查看:

​​​​​​Darknet——yolo3训练自己的数据集+在ros环境下实现目标检测实战教程(二)——训练自己的权重文件

四、云台控制跟踪

  • PID算法及改进

    • 比例控制:考虑当前误差

    • 积分控制:消除稳态误差

    • 微分控制:考虑将来的误差,预测变化

      • 添加死区控制,即电机实际转速与目标转速在设定的死区范围,就无需PID控制,避免震荡情况。

      • 增量式PID算法由于积分项的截断效应大,容易产生静态误差,同时避免超调现象,偏差对积分项进行分段处理。

  • 串口通讯协议

    • 包含

      帧头 8bit
      模块 8bit
      数据识别位 8bit
      数据字节数 8bit
      数据段 0-255bit
      丢包检测 8bit
      校验位 crc16
    • 发包:上层将目标检测之后的预测框,以图像中心为原点,将X,Y坐标,宽度,高度封装成数据包发送给下位机,以发出的包数与收到的包数计算丢包率。

    • 解包:先判断帧头数据识别位数据字节数,然后取出高低位进行CRC校验,帧结尾的CRC校验是对一帧数据进行冗余校验的结果,检测数据传输的正确性。

基于二轴云台目标跟踪系统设计相关推荐

  1. 基于MeanShift的目标跟踪算法及实现

    from: http://blog.csdn.net/jinshengtao/article/details/30258833 一.简介 首先扯扯无参密度估计理论,无参密度估计也叫做非参数估计,属于数 ...

  2. 基于MeanShift的目标跟踪算法及实现(转载)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/jinshengtao/article/details/30258833 这次将介绍基于MeanShi ...

  3. 笔记 基于OpenCV的目标跟踪软件与系统实现

    1.目标检测理论包括光流法.帧间差分法和背景差分法, 目标分割理论包括全局阈值法和局部阈值法, 目标跟踪的均值漂移法和卡尔曼滤波法. 2.基于opencv的目标跟踪软件设计于实现 在vc环境下,按照单 ...

  4. ViSP学习笔记(十七):通用的基于模型的目标跟踪

    开发环境:Ubuntu 18.04 LTS + ROS Melodic + ViSP 3.3.1 文章内容主要参考ViSP官方教学文档:https://visp-doc.inria.fr/doxyge ...

  5. 基于特征点匹配的自适应目标跟踪算法

    基于特征点匹配的自适应目标跟踪算法 2016-01-29 13:11 摘 要:由于实际场景复杂多变,目标在运动过程中往往会出现形变.遮挡等问题,增加了跟踪的难度.为了解决上述问题,提出一种基于特征点匹 ...

  6. opencv动态目标跟踪学习总结

    用opencv实现对视频中动态目标的追踪 第一步,是要建立一个编程环境,然后加载opencv的库路径等等.具体步骤在 http://www.opencv.org.cn/ 的"安装" ...

  7. 视频目标跟踪算法综述

    视频跟踪:基于对比度分析的目标跟踪.基于匹配的目标跟踪和基于运动检测的目标跟踪       基于对比度分析的目标跟踪:主要利用目标和背景的对比度差异实现目标的检测与跟踪.这类算法按照跟踪参考点的不同可 ...

  8. 深度学习在目标跟踪中的应用

    from: http://www.dataguru.cn/article-9863-1.html 摘要: 人眼可以比较轻松的在一段时间内跟住某个特定目标.但是对机器而言,这一任务并不简单,尤其是跟踪过 ...

  9. (转) 深度学习在目标跟踪中的应用

    深度学习在目标跟踪中的应用 原创 2016-09-05 徐霞清 深度学习大讲堂 点击上方"深度学习大讲堂"可订阅哦!深度学习大讲堂是高质量原创内容的平台,邀请学术界.工业界一线专家 ...

最新文章

  1. Google App Engine给我们带来了什么?
  2. 209计算机考试题库,计算机考试题库:计算机考试模拟练习题(209)
  3. .NET Framework终于开源了!
  4. [TJOI2011] 卡片(网络流 + 质因子优化建图)
  5. javascript mysql php_HTML、CSS、JavaScript、PHP、 MySQL 的学习顺序是什么?
  6. numpy数组中冒号[:,:,0]与[...,0]的区别
  7. geant4运行例子_Geant4--一次编译,运行多个Run,极大提升模拟效率
  8. liunx宝塔配置https_宝塔面板安装教程
  9. docker容器详解(入门必看)(一)
  10. 清华计算机系研究生刘艺华,2017年清华大学计算机系硕士录取名单
  11. vue.js中使用甘特图(gantt-elastic)的使用
  12. 时差怎么理解_英国与中国的时差为什么隔8小时(英国与中国的时差解读)
  13. python爬取百思不得姐视频代码
  14. 更改Typora宽度
  15. 数字时代的“文艺复兴”?起底数字藏品,让人欢喜让人愁
  16. 如何理解 HTML 语义化
  17. Unity3D 背景动态模糊(blur)和截屏方法
  18. 企业QQ找回聊天记录
  19. 2022年数据分析决赛试题简要分析
  20. Android性能优化视频

热门文章

  1. 什么样的女孩适合做老婆
  2. jdk 8.0报ignoring option PermSize MaxPermSize解决方法
  3. Spotify的牛逼是如何炼成的?
  4. NVMe SSD的GC算法与仿真原理解析
  5. PCB layout学习路线
  6. 高质量深度学习资源总结:128篇论文,21大领域
  7. 原型图、交互设计、UI图的关系
  8. Android Audio - 支持多个CODEC同时录音
  9. PPT:智慧物流园区建设方案
  10. android+iphone+共用字体,【报Bug】苹果和安卓手机 字体大小颜色字重都一样 效果却不同...