运动图像目标检测与跟踪简述

2023-05-16

运动图像跟踪问题分为目标检测与目标跟踪两部分

一、目标检测

目标检测即为从序列图像中将变化区域从背景图像中提取出来,依照目标与相机之间的关系可以分为静态背景下运动检测与动态背景下运动检测。

1、静态背景

指的是相机在监视过程中不发生移动,检测目标在相机视场内运动,只有目标相对于相机的运动。

●背景差分法:利用当前图像与背景图像的差分来检测运动区域。

思想:先获得一个背景模型,将当前帧与背景模型相减,如果像素差值大于某一阈值,则判断此像素为运动目标,否则属于背景图像。

●帧间差分法:通过相邻两帧图像的差值计算,来获得运动目标轮廓。

当监控场景中出现异常物体运动时,帧与帧之间会出现较为明显的差别,两帧相减,得到两帧图像亮度差的绝对值,判断它是否大于阈值来分析视频或图像序列的运动特性,确定图像序列中有无物体运动。图像序列逐帧的差分,相当于对图像序列进行了时域下的高通滤波。

●光流法:空间中运动可以用运动场描述,图像平面上物体运动通过图像序列中图像灰度分布来体现,从而空间中运动场转移到图像上就表示为光流场。图像上的点与三维物体上的点一一对应,这种对应关系可以通过投影来计算得到。光流场反映了图像上没一点灰度的变化趋势,可看成带灰度的像素点在图像平面运动产生的“”瞬时速度场“”,也是对真实运动场的近似估计。

思想:如果图像中没有运动目标,则光流矢量在整个图像区域是连续变化的。当图像中有运动物体时,目标和背景存在着相对运动。运动物体所形成的速度矢量必然和背景的速度矢量有所不同,如此便可以计算出运动物体的位置。

2、动态背景

指的是相机在监视过程中发生移动(平移、旋转、多自由度运动),产生了目标与相机之间复杂的相对运动。

由于背景及前景图像都在做全局运动,首先应该进行图像的全局运动估计与补偿。由于遵循相同的运动模型,可以用同一模型参数表示。

●块匹配法:将图像分割成不同的图像块,假定同一图像小块上的运动矢量相同,通过像素域搜索得到最佳运动矢量估计。

关键技术:匹配法则(最大相关、最小误差)、搜索方法(三步搜索法、交叉搜索法)、块大小的确定(分级、自适应)

●光流估计法:对帧图像建立光流场模型后,用光流场方法求解图像像素点运动速度。

二、特征跟踪

在序列图像中每幅图像中实时找到感兴趣的运动目标。一类为不依赖于先验知识,直接从图像序列中检测运动目标;另一类为以来目标先验知识,首先为运动目标建模,然后在图像序列中实时找到相匹配的运动目标。

1、运动目标有效表达

包括视觉特征(图像边缘、轮廓、形状、纹理、区域)、统计特征(直方图)、变换系数特征(傅里叶、自回归模型)、代数特征(图像矩阵的奇异值分解)

2、相似性度量算法

相似性度量算法与帧图像进行匹配,实现目标跟踪。常见有欧氏距离、棋盘距离、加权距离等

3、搜索算法

预测运动物体下一帧可能出现位置,在相关区域内寻找最优点。KF、EKF、粒子滤波。卡尔曼滤波器是对一个动态系统状态序列进行线性最小方差估计的算法,基于以前的状态序列对下一个状态做最优估计。

另一类减小搜索范围的算法是优化搜索方向。利用无参估计的方法优化目标模板与候选目标距离的迭代收敛过程,以达到缩小搜索范围的目的。

Meanshift(均值漂移算法):利用梯度优化方法实现快速目标定位,适用于非线性运动目标的跟踪、对目标变形、旋转有较好适用性。缺点:没有利用目标在空间中运动方向和运动速度信息,遮挡时丢失目标。

Camshift(连续自适应均值漂移算法):在meanshift基础上结合目标色彩信息。由于目标图像直方图记录的是颜色出现的概率,这种方法不受目标形状变化的影响,但开始前需要人工置指定跟踪目标。

思想:对视频序列的所有图像帧都作MeanShift运算,并将上一帧的结果(即搜索窗口的中心位置和窗口大小)作为下一帧MeanShift算法的搜索窗口的初始值,如此迭代下去。简单点说,meanShift是针对单张图片寻找最优迭代结果,而camShift则是针对视频序列来处理,并对该序列中的每一帧图片都调用meanShift来寻找最优迭代结果。正是由于camShift针对一个视频序列进行处理,从而保证其可以不断调整窗口的大小,如此一来,当目标的大小发生变化的时候,该算法就可以自适应地调整目标区域继续跟踪。

4、目标跟踪分类

依据运动目标的表达和相似性度量,运动目标跟踪算法可以分为四类:基于主动轮廓的跟踪、基于特征的跟踪、基于区域的跟踪和基于模型的跟踪。跟踪算法的精度和鲁棒性很大程度上取决于对运动目标的表达和相似性度量的定义,跟踪算法的实时性取决于匹配搜索策略和滤波预测算法。

●基于特征跟踪:不考虑运动目标的整体特性,假定运动目标可以由唯一的特征集合表达,搜索到相应的特征集合就认为跟踪上了运动目标,只通过目标图像的显著特征跟踪。

1、特征提取  

2、特征匹配:进行帧间目标特征的匹配,并以最优匹配来跟踪目标。常见,基于二值化目标图像匹配、基于边缘特征匹配、角点特征匹配、基于目标灰度特征匹配、基于目标颜色特征匹配。

●基于区域的跟踪

得到包含目标的模板,该模板可通过图像分割获得,模板通常为略大于目标的矩形。




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

运动图像目标检测与跟踪简述 的相关文章

随机推荐

  • 舵机的PD控制

    PID 舵机以及差速PD调节 span class token keyword struct span span class token class name PID span span class token punctuation sp
  • 位置环与速度环的串级PID

    WHEELTEC的串级pid参考代码 span class token keyword float span Position KP span class token operator 61 span span class token nu
  • 智能车摄像头算法——圆环元素

    入环 1 入环的函数 xff08 1 xff09 搜上下边线 xff08 2 xff09 找凸起的弧 xff08 3 xff09 两点之间补线 xff08 4 xff09 判断上线是否单调 2 找圆环3 补线入环出环 1 入环的函数 xff
  • ROS的代价地图与AMCL定位原理

    地图服务与AMCL定位 costmap xff08 代价地图 xff09 AMCL定位 xff08 自适应蒙特卡罗定位 xff09 costmap xff08 代价地图 xff09 1 地图文件格式 xff1a 除了pgm xff08 便携
  • ROS路径规划算法

    ROS路径规划算法 全局路径规划Dijkstra算法A 算法 局部路径规划DWA算法TEB算法 全局路径规划 提供Dijkstra和A算法 xff0c 默认使用Dijkstra Dijkstra是把从出发点到终点的整个栅格地图上的所有的点
  • STM32常用功能配置

    STM32基本代码 设置外部中断定时器中断定时器产生pwmAD多通道转换DMA 43 AD扫描多通道转换iic协议读取数据SPI协议读取数据 设置外部中断 中断优先级分组 外部中断 AFIO作用 注意 xff1a 1 相同的Pin不能同时触
  • Ogre-渐变背景色(gradient background)的实现

    转载自 xff1a http blog csdn net hefee article details 6287341 背景色在ogre里面是通过ViewPort类中的setBackgroundColour xff08 xff09 这个成员函
  • Qt::WindowFlags

    查了些资料 xff0c 整理了一下 xff0c 以备查询 枚举类型 Qt WindowFlags低位的一个字节用于定义窗口部件的窗口类型 Qt WindowFlags的高位字节定义了窗口提示 xff0c 窗口提示能够进行位或操作 xff0c
  • java学习记录8

    什么是File 文件夹和文件 xff1a 文件夹是用来组织和管理磁盘文件的一种数据结构 文件是在电脑中 xff0c 以实现某种功能或某个软件的部分功能为目的定义的一个单位 xff0c 文件是由文件名和图标组成 xff0c 一种类型的文件具有
  • 保护模式编程之(一)——分段机制与GDT/LDT

    概述 xff1a 若想理解操作系统程序中的启动相关的部分 xff0c 必须要理解保护模式下的编程 xff0c 而分段机制是保护模式编程下的基础 另外 xff0c 由于实模式与保护模式的不同 xff0c 对保护模式下的分段机制更需要注意 同时
  • C++ 网络编程

    socket通信 xff1a socket 创建TCP套接字 bind 将套接字绑定到本地地址端口上 listen 监听端口 connect accept 接受用户请求 xff0c 返回对应此连接的新套接字 read write close
  • ROS学习(2)——rviz与gazebo问题记录

    ROS学习 xff08 2 xff09 rviz与gazebo问题记录 继续按照教程学习 xff0c 踩了很多坑 1 工作环境配置问题 实践6 2 4在rviz中显示模型时 xff0c 运行launch文件出现如下报错 原因 xff1a 出
  • VINS-Mono 代码详细解读——基础储备:在线Cam到IMU的外参标定 InitialEXRotation类

    本讲还是为了estimator类中最主要的函数processImage xff08 xff09 做知识储备 前面两讲知识储备主要讲了IMU预积分相关的integrationBase类以及图像特征点管理器feature manager cpp
  • VINS-Mono 代码详细解读——回环检测与重定位、四自由度位姿图优化

    本文主要介绍VINS的闭环检测重定位与位姿图优化部分 xff0c 作为系列文章的最后一节 回环检测的关键就是如何有效检测出相机曾经经过同一个地方 xff0c 这样可以避免较大的累积误差 xff0c 使得当前帧和之前的某一帧迅速建立约束 xf
  • VS Code创建、调试ROS项目

    前言 xff1a 在vs code下配置ROS项目开发的环境 包括catkin创建编译工作空间 xff0c 创建ROS项目 xff0c 调试ROS节点 一 创建工作空间 首先创建一个cMake工作空间 xff0c 用到了catkin mak
  • 《wiki官网教程》2 编写简单的服务器service和客户端 client(C++)

    服务 xff08 services xff09 是节点之间通讯的另一种方式 服务允许节点发送请求 xff08 request xff09 并获得一个响应 xff08 response xff09 之前讲的是两个节点如果要通信需要经过话题to
  • 进程和线程主要区别与定义

    抽象理解 直接上图 xff0c CPU是工厂 电力资源是cpu 时间片 进程是车间 线程是车间工人 操作系统的资源分配与调度逻辑 以多进程形式 xff0c 允许多个任务同时运行 xff1b 以多线程形式 xff0c 允许单个任务分成不同的部
  • Ogre场景中管道透明之后为黑色的问题

    depth write 设置此渲染通路的深度缓冲写入的状态是打开状态还是关闭状态 格式 depth write lt on off gt 如果深度缓冲写入处于打开状态 xff0c 无论何时一个像素想要写入画面缓冲 xff0c 深度缓冲都会更
  • 移动机器人定位方法概述

    引言 自主移动机器人导航过程需要回答三个问题 xff1a 我在哪里 xff1f 我要去哪儿 xff1f 和 我怎样到达那里 xff1f 定位就是要回答第一个问题 xff0c 确切的 xff0c 移动机器人定位就是确定机器人在其运动环境中的世
  • 运动图像目标检测与跟踪简述

    运动图像跟踪问题分为目标检测与目标跟踪两部分 一 目标检测 目标检测即为从序列图像中将变化区域从背景图像中提取出来 xff0c 依照目标与相机之间的关系可以分为静态背景下运动检测与动态背景下运动检测 1 静态背景 指的是相机在监视过程中不发