基于视觉的移动平台运动目标检测

2023-10-30

1.声明

  本文为自己的研究总结,主要根据各类文献总结而来,内容上可能有些不全面,不客观。
  这篇博文主要介绍的是基于视觉移动平台运动目标检测,写这篇博文的目的主要是对自己一个阶段性总结,也希望能够帮助做这方面研究的同学。

2.引言

  首先,我们来说说运动目标检测是个什么东东。我对它的定义是:从传感器数据中检测出运动目标。其中,传感器可以是相机、激光雷达、毫米波雷达等等,因为我的研究是基于视觉的,那么就是从图像序列中来检测运动目标。
  运动目标检测的应用领域也有很多,比如:交通监控电子眼,SLAM,自动驾驶等等。
车流量检查
  当然,当检测出运动目标后,还可以做许多其他的事情,比如说,估计目标的速度预测目标的状态等等。

3.重要性

  我们身处一个动态的世界,比如,车辆在马路上飞速行驶等等场景。在这个动态的世界中,不仅包括了静止的物体,比如说:房子,树等,还包含了一些可能运动的目标,比如说:车子,行人。相对于静止的物体来说,动态目标的检测更加困难,更具有挑战性,因为动态物体的运动可能是没有规律的,而且我们不光要检测到这个目标,还要对这个目标的状态进行判断,才能实现运动目标的检测,对于机器人,或者智能车来说,想让其能在我们这个动态的世界大规模应用,运动目标检测也是他们不可或缺的技能。

4.分类

运动目标检测按照相机(传感器)的状态分类,主要有两种情况:

  1. 相机静止的情况,例如:日常生活中的监控车流的摄像头。
  2. 相机运动的情况,例如:安装在机器人、智能车上。

1)相机静止的情况

相机静止
  对于相机静止的情况,主要的方法有:背景相减帧差法光流法等,这类方法据我了解,目前比较成熟了,这也不是我研究的方向,所以在这不过多讨论。

2)相机运动的情况

相机运动
  对于相机运动的情况,主要是相机安装在一些移动平台上,比如智能车机器人,或者手持设备等。由于平台的移动,造成相机自身也存在运动,基于静止相机的运动目标检测方法在这就可能不再适用。
  对于近年来的研究,本人按照基本原理的不同,大致将其分为基于几何约束的方法基于占用网格的方法基于深度学习的方法基于运动补偿的方法四种。
在这里插入图片描述

(1)基于几何约束的方法

  在图像中有许多的几何约束关系,其描述了两帧图像上属于静止场景的像素点之间的约束关系,其中包括仿射变换单应性变换对极几何等。
  这类方法主要通过某一约束关系来构建一个背景模型,这里主要通过RANSAC(随机抽样一致性算法)来实现。得到模型以后,我们将满足这个模型的点称为内点,其属于静止的点,而对于不满足模型的点,我们称为外点,属于运动目标的点。对于内点,可以估计出一个模型参数,然后拿来更新模型,而对于外点,通过聚类的方法,将其分为一簇一簇的,每一簇视为一个运动目标。
  由于仅仅采用一种约束来实现,因此存在很明显的缺点,就是每一种约束都存在自己的退化情况,其适用性大大降低,无法适用于所有的场景。例如:基础矩阵在相机没有平移只有旋转或者所有匹配点都共面的情况下将失效。这咋办呢?我们可以将多种几何约束进行组合,通过额外加入一个模型来根据场景选择合适的几何约束,比如ORB_SLAM2中的单目初始化。
  这类方法基本上都是基于单目视觉的,而单目视觉缺少尺度信息,因此检测出运动目标后,我们仅依靠单目的话,很难进行后续的速度估计等等。
  最后,这类主要是基于RANSAC实现的,RANSAC将满足多数情况的样本用于模型估计,而当运动目标多了的时候,那么我们的模型就估计不准确了,这时也就会造成这类失效。
在这里插入图片描述

(2)基于运动补偿的方法

  基于运动补偿的方法主要是通过对相机自身产生的运动矢量进行补偿,使其等效为静止背景的情况,其无需对相机的运动进行约束,增强了实用性。对于运动补偿的方式,主要有两种:基于稀疏特征点基于稠密光流的

  • 对于基于稀疏特征的方法,主要是通过双目视觉里程计估计相机的位姿实现对相机运动的补偿,然后根据补偿后静止和运动的特征点之间矢量的差异性进行静止与运动的分割。
    在这里插入图片描述
  • 对于基于稠密光流的方法,主要是在双目立体视觉和光流技术的基础上实现的。在此类方法中,定义了三种图像中的运动矢量,即全局光流自运动光流残差光流
    • 运动光流相机运动而产生的光流
    • 残差光流目标运动而产生的光流
    • 全局光流是以上两种光流混合得到。

在这里插入图片描述
  通常,可以利用现有的光流算法能够很容易的计算出全局光流,而此类方法的核心是估计出自运动光流,当全局光流和自运动光流已知时,就可以得到目标的残差光流。

  • 对于基于稀疏特征点的情况,由于特征点的稀疏性,也就使得其速度相对于稠密的更快,但是对于有些场景来说,可能无法提取到特征,这也造成实用性降低。
  • 对于基于稠密光流的情况,由于光流的稠密性,就不存在像基于稀疏特征点的那种问题,精度也稍微好一些,不容易漏检,而且容易分割。有人可能会问,双目视觉里程计估计如果是基于稀疏的不就一样了吗?其实补偿的方式有很多,在不加入其他传感器的情况下,仅依靠视觉会存在和基于稀疏特征点方法同样的问题,但是如果补偿是用IMU等其他外部传感器来获得,那这种问题就可以解决了。这类方法其实最关键的缺点是耗时,因为其涉及到稠密光流,稠密视差的计算。

(3)基于占用网格的方法

  基于占用网格的方法主要就是利用占用网格的特性进行运动目标检测,占用网格(Occupancy Grid),就是由具有以下三种状态之一的单元格组成,即占用空闲未占用,其存储效率高。占用网格通过应用于机器人的地图构建。
  此类方法主要是将传感器信息映射到占用网格地图上,然后通过聚类或者分割进行实现,这类方法主要的缺点是其检测的结果无法提供一个像素级别的检测结果。

(4)基于深度学习的方法

  基于端到端的深度学习的方法,主要是依靠深度学习强大的学习能力泛化能力,通过大量的数据去训练一个网络模型。其主要是通过两种网络组合而成

  • 第一种网络:主要是检测一些潜在的运动目标,比如:人或者车等。
  • 第二种网络:主要是判断我们刚刚检测到的潜在运动目标的运动状态,可以通过前后帧的差异性或者光流等特性实现。

对于基于端到端的深度学习方法,虽然精度比其他方法可能好一些,但是由于需要大量的数据训练,其数据的标注的任务就比较繁重了,而且输入到输出环节不是一个可控的过程。

5.方向

方向1:感兴趣区域

上述的运动目标检测方法,基本都是在整幅图像进行检测,这样做会造成一个问题,那就是在一些静止的区域造成时间的浪费,为了解决这种问题,可以引入感兴趣区域,也就是把一些可能运动的目标提前提取出来,再做判断,这样效率就有可能提高,可以通过传统的方法或者深度学习的方法来进行实现。

方向2:动态SLAM

传统的视觉SLAM都是基于静止场景的假设,因此可以将动态目标检测和SLAM相融合,现在开源的动态SLAM方案有很多,比如:DOT,VDO,DynaSLAM等等。

方向3:动态目标跟踪,状态估计

动态目标检测出来后,需要对目标的状态进行估计(速度,朝向等),也可以对目标下一时刻的状态进行预测,进而实现对运动目标的跟踪。

6.总结

这篇博文介绍了基于视觉的移动平台运动目标检测的研究现状,也给出了一些自己的建议,当然不限于这些,希望能够帮助做这方面研究的同学。如果大家有问题可以留言或者私信我。相关的文献总结后续再给出吧。

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

基于视觉的移动平台运动目标检测 的相关文章

  • rsync linux间同步文件及文件夹

    有时候本地写代码想同步到另一台电脑 又不想push上git 用linux自带的rsync 工具 方便快捷 将本地的salmon目录同步到ray ubuntu电脑上 rsync av salmon ray ray ubuntu home ra
  • 关于服务器环境搭建

    前言 在很多新项目中 都会用到环境搭建的情况 今天教大家如何在服务器中部署应用的环境搭建 一 搭建环境是什么 搭建环境是指建立运行程序文件的基础环境 比如服务运行需要装什么软件都需要哪些程序 服务器的部署就是搭建环境 整理了很久 刚开始搭建

随机推荐

  • C++ 惯用法之 Nifty Counter

    背景 C 中全局对象的初始化在 main 函数执行前完成 在 main 函数执行结束前销毁 在同一源码文件中全局变量的初始化顺序和其定义顺序一致 但在不同的源码文件中其初始化顺序不一致 就有可能导致代码出错 一般解决方法 概述 静态局部变量
  • 计算机图形学-扫描转换直线段-直线方程法-DDA算法-中点算法-OPENGL实现-详解

    扫描转换直线段 说明与环境配置 环境配置 扫描转换直线段 方法一 直线方程法 代码描述 算法比较简单 暂无代码 方法二 数字差分分析DDA算法 代码描述 方法三 中点算法 代码描述 所有代码下载与效果展示 说明与环境配置 生成一个线段的方法
  • pthread_mutex_trylock使用

    pthread mutex trylock 是 pthread mutex lock 的非阻塞版本 如果被其他线程使用 返回其他值 如果没有被其他线程使用 那么进行加锁 并且返回0 所以可以通过这个判断是不是使用这这个锁 而不需要等待 提高
  • Django生成唯一流程单号

    class AutoSerialNumber object 创建OA单号 def init self J201906120001 self fd apply no ApplicationBasicFormModel delete objec
  • 网络基础IP地址

    IP地址 IP地址分类 子网划分 VLSM 超网 路由聚合 CIDR IP地址分类 A类 0开始 B类 27 128 开始 C类 27 26 192 开始 D类 27 26 25 224开始 E类 27 26 25 24 240开始 特殊I
  • 从Map中 取出第一个key/第一个value的方法

    从Map中取出第一个 key 和 value 的方法 使用Map Entry进行操作 可与LinckedHashMap 按元素存入顺序排序的有序Hash表 搭配使用 实现特定的业务要求 获取map中第一个key值 param map 数据源
  • Qemu-KVM安装

    目录 前提准备 1 虚拟机需要GNOME界面 如果是字符界面需要下载安装GNOME界面 2 安装vncviewer 3 安装xshell SecureCRT xftp WinSCP 或finalshell 一 Qemu KVM虚拟化环境搭建
  • java可用的动态脚本引擎和动态代码执行

    文章目录 1 javascript语法引擎 1 1 rhino 1 2 nashorn 1 3 j2v8 2 Java语法引擎 2 1 Groovy java的ScriptEngine脚本引擎 支持代码动态执行 代码修改后不需要重启JVM进
  • AAAI 2022 论文列表

    链接及代码之后会更新 GitHub链接 https github com gbstack AAAI 2022 papers Scaled ReLU Matters for Training Vision Transformers Picha
  • 第三章、中台实践-业务中台建设

    第三章 业务中台建设 3 1 什么事业务中台 从业务运行机制和系统开发机制两个维度 展开产生建设业务中台的主要内容 3 1 1 业务中台定义 业务中台是以业务领域划分边界 形成高内聚 低耦合的面向业务领域的能力中心 打造持续演进的企业级业务
  • JAVA实现杨辉三角的三种方式

    一 前言 既然是实现杨辉三角 就要知道什么是杨辉三角 如下图 就是两种杨辉三角 1 等边形状的杨辉三角 2 直角形状的杨辉三角 在知道这两种都是杨辉三角之后 我们就来实现利用java语言打印出杨辉三角 二 杨辉三角的规律 第n行有n个数字
  • 【Consistency Models】复现指导以及效果分析。

    Consistency Models 复现指导以及效果分析 1 先看结果 2 复现指导 3 将结果可视化 总结 1 先看结果 如果没看过论文的建议先看看总结笔记 终结扩散模型 Consistency Models OpenAI开源新模型代码
  • java截取字符串中的一部分字符,我先收藏为敬

    Spring框架自诞生以来一直备受开发者青睐 有人亲切的称之为 Spring 全家桶 Spring更是避免了重复造轮子的工作并跟随着互联网行业的发展做出不断的更新 很多研发人员把spring看作心目中最好的Java项目 没有之一 可以毫不夸
  • 三维气体扩散模拟matlab仿真

    目录 1 算法仿真效果 2 MATLAB源码 3 算法概述 4 部分参考文献 1 算法仿真效果 matlab2022a仿真结果如下 2 MATLAB源码 订阅用户可以获得任意一份完整代码 私信博主 留言文章链接和邮箱地址 一般第二天下午4点
  • 什么是静态变量和静态方法?如何在Java中使用它们?什么是同步和异步?如何在Java中进行同步和异步编程?什么是单元测试?如何在Java中进行单元测试?

    单元测试是一种软件测试方法 它用于测试一个软件系统的最小可测试单元 在Java中 JUnit是最常用的单元测试框架之一 它提供了一些注解和断言 可以方便地编写和运行测试用例 除了JUnit之外 Mockito也是一个非常有用的测试框架 它允
  • (转) 如何将notepad++添加到右键

    工具 原料 win 7系统 Notepad 方法 步骤 左下角点击 开始 gt 运行 gt regedit 打开注册表编辑器 在HKEY CLASSSES ROOT Shell 下 在Shell下 新建项命名为Open With Notep
  • 卧槽,做Python兼职又接了一个大单,真香

    每年的第一季度 是Python兼职接单的高潮期 近段时间 各行业对爬虫类和数分类服务的需求量呈指数级的暴增 圈子里的朋友双休都没闲着 趁着旺季接单大赚一笔 所以 最近在csdn后台咨询技术变现 兼职接单问题的朋友也越来越多 最近十天收到了六
  • 【数据库原理及应用教程(第4版

    文章目录 一 选择题 二 填空题 三 简答题 Reference 一 选择题 1 2 3 4 5 6 7 8 9 10 C B D C D B A B D B 11 12 13 14 15 16 17 18 19 20 C D A D B
  • Spring启动执行流程梳理

    注 本文梳理启动流程使用的Spring版本 4 0 2 RELEASE 使用spring配置 都需要在web xml中配置一个spring的监听器和启动参数 context param 如下
  • 基于视觉的移动平台运动目标检测

    1 声明 本文为自己的研究总结 主要根据各类文献总结而来 内容上可能有些不全面 不客观 这篇博文主要介绍的是基于视觉的移动平台运动目标检测 写这篇博文的目的主要是对自己一个阶段性总结 也希望能够帮助做这方面研究的同学 2 引言 首先 我们来