目标检测+光流跟踪

2023-10-27

 最近学习了LK光流法,主要用于运动目标的跟踪,于是想着和之前codebook运动目标检测结合起来,实现先检测再跟踪。


下面介绍目标检测跟踪流程:

(1)使用codebook进行背景学习

(2)使用codebook不断进行运动目标检测

(3)若发现运动目标,则对运动目标所在区域进行跟踪

(4)若丢失目标,则重新使用codebook进行运动检测

 

下面介绍操作中的一些细节:

1codebook检测结果可能包含噪声,由于和后续跟踪息息相关,因此需要去除噪声,经实验结果,发现通过计算轮廓长度来去除噪声是比较有效的,当然假设是需要被检测的目标是有一定大小的。

2codebook检测出目标后,可以利用findcontour找到目标的轮廓信息,再利用boundingRect找到包含运动目标的最小长方形,这个长方形可以作为一个mask,用来输入goodFeaturesToTrack即只在目标检测的区域寻找特征点或添加特征点,避免了无用特征点的使用。

3)承接(2),当目标被检测到时,会计算出一个mask,但由于此时进入了跟踪程序,因此如果不更新mask的话,该区域永远对着初始区域,不能为后续视频帧寻找特征点做帮助。因此,我的做法是,计算特征点群的质心坐标,以此作为mask的中心位置,即mask的运动趋势与运动目标一致。当特征点数量不足时,会使用goodFeaturesToTrack进行补点操作,但若由于目标被全部遮挡导致此区域无特征点,则会再次进行codebook背景运动目标检测环节。


PS:

具体两部分实现可参考两位大牛: (1) codebook:http://blog.csdn.net/zcube/article/details/7353941

                                                       (2) LK光流:http://blog.csdn.net/yang_xian521/article/details/6987447


下面为实验结果:





 

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

目标检测+光流跟踪 的相关文章

  • 查找彼此接近的对象边界

    我正在研究一个计算机视觉问题 其中问题的第一步是找到物体彼此靠近的位置 例如 在下图中 我感兴趣的是找到灰色标记的区域 Input Output 我目前的方法是首先反转图像 然后通过侵蚀进行形态梯度跟随 然后删除一些不感兴趣的轮廓 脚本如下
  • opencv中矩阵的超快中值(与matlab一样快)

    我正在 openCV 中编写一些代码 想要找到一个非常大的矩阵数组 单通道灰度 浮点数 的中值 我尝试了几种方法 例如对数组进行排序 使用 std sort 和选择中间条目 但与 matlab 中的中值函数相比 它非常慢 准确地说 在 ma
  • Opencv未找到所有轮廓

    我试图找到该图像的轮廓 但是该方法查找轮廓只返回1轮廓 轮廓突出显示image 2 我正在努力寻找all外部轮廓就像这些圆圈 里面有数字 我究竟做错了什么 我可以做什么来实现它 image 1 image 2 以下是我的代码的相关部分 th
  • 来自 OpenCV 的外部参数

    我正在使用 OpenCV 来校准立体相机对 我拍摄了各种校准照片 并且使用 cv2 calibrateCamera 对内在参数进行了令人满意的拟合 然而 目前尚不清楚如何获取外部参数 该函数仅返回cameraMatrix 尽管它很有用 但实
  • Python:opencv warpPerspective 既不接受 2 个也不接受 3 个参数

    我发现单应矩阵如下特征匹配 单应性教程 https docs opencv org 3 4 1 d1 de0 tutorial py feature homography html using M mask cv2 findHomograp
  • 在加载“cv2”二进制扩展期间检测到递归

    我有一个小程序 在 pyinstaller 编译后返回 opencv 错误 但无需编译即可工作 我在 Windows 10 上使用 Python 3 8 10 Program 导入 pyautogui将 numpy 导入为 np导入CV2
  • 曲线/路径骨架二值图像处理

    我正在尝试开发一个可以处理图像骨架的路径 曲线的代码 我想要一个来自两点之间骨架的点向量 该代码在添加一些点后结束 我没有找到解决方案 include opencv2 highgui highgui hpp include opencv2
  • opencv形态扩张滤波器作为最大滤波器

    就像中值滤波器的定义一样 我可以将 最大滤波器 定义为局部窗口 例如dst x y max 3x3 局部窗口像素 但我在opencv中找不到这样的过滤器 最接近的是 dilate 函数 然后我使用 dilate 函数的默认配置 但结果不正确
  • 如何将输出视频保存到 OpenCV 中的文件中

    我想将输出视频保存到文件中而不是显示它并尝试使用 cvcaptureimage 但仍然无法获得结果 include
  • 当我将鼠标移到 Mat 关键字上时,Visual Studio 2017 冻结(OpenCv 3.4.1)

    我想在 Visual Studio 2017 中开发 openCv 项目 我下载了 opencv 预构建库并进行了必要的设置 那是 1 我添加了系统路径 build x64 vc14 bin 2 在 Visual Studio 中的项目属性
  • 指纹奇异点检测

    我正在尝试确定指纹的核心点和增量点 我正在使用庞加莱指数方法 但我无法成功检测到这一点 而且我不明白为什么 First I divide the image in 15x15 blocks then I calculate the x an
  • OpenCV Visual Studio ntdll.dll

    我尝试在 Visual Studio 2013 上使用 OpenCV 2 4 10 创建一个项目 但由于以下异常 到目前为止我运气不佳 请建议帮助 TIA letstryitonemoretime exe Win32 Loaded C Us
  • OpenCV 2.3 与 VS 2008 - 鼠标事件

    强制性 我是新手 有一份涉及编程的工作 并且我一边工作一边自学 不用说 作为一名老师 我经常犯彻底的错误 我现在所处的位置 我创建了 Graph 类 它 令人惊讶的是 制作了图表 但现在我想通过单击鼠标来修改图形 但我似乎无法让鼠标处理程序
  • 仅获取图像中的外部轮廓

    我有这段代码 可以在图像中绘制轮廓 但我只需要外部轮廓 import cv2 import numpy as np camino C Users Usuario Documents Deteccion de Objetos 123 jpg
  • 从图像坐标获取对象的世界坐标

    I have been following this http docs opencv org modules calib3d doc camera calibration and 3d reconstruction html docume
  • OpenCV 2.4.3 中的阴影去除

    我正在使用 OpenCV 2 4 3 最新版本 使用内置的视频流检测前景GMG http docs opencv org modules gpu doc video html highlight gmg gpu 3a 3aGMG GPU算法
  • 使用 OpenCV 改进特征点匹配

    我想匹配立体图像中的特征点 我已经用不同的算法找到并提取了特征点 现在我需要一个良好的匹配 在本例中 我使用 FAST 算法进行检测和提取 BruteForceMatcher用于匹配特征点 匹配代码 vector lt vector
  • 如何确定与视频中物体的距离?

    我有一个从行驶中的车辆前面录制的视频文件 我将使用 OpenCV 进行对象检测和识别 但我停留在一方面 如何确定距已识别物体的距离 我可以知道我当前的速度和现实世界的 GPS 位置 但仅此而已 我无法对我正在跟踪的对象做出任何假设 我计划用
  • opencv人脸检测示例

    当我在设备上运行应用程序时 应用程序崩溃并显示以下按摩 java lang UnsatisfiedLinkError 无法加载 detector based tracker findLibrary 返回 null 我正在使用 OpenCV
  • 为什么Android的ImageReader类这么慢?

    我尝试了适用于 Android 3 4 1 的全新 OpenCVJavaCamera2View但它太慢了 仅显示相机视图约 15 fps 当我尝试较旧的JavaCameraView相反 它给了我很好的结果 30fps 这是我相机的极限 我想

随机推荐

  • Java -------- 运算符

    目录 什么是运算符 算术运算符 加减乘除模 算数运算符 除 算数运算符 模 算数运算符 加 增量运算符 增量运算符 自增 自减运算符 关系运算符 lt gt lt gt 逻辑运算符 逻辑与 短路与 逻辑或 逻辑非 短路求值 和 遵循短路求值
  • Android studio开发Flutter常用插件

    Flutter 安装 Flutter 和 Flutter Snippets 设置中文 插件下载地址 看一下你的andio studio 是什么版本 下载插件时需要对应 下载完后 导入插件 重启 成功 CodeGlance Pro 代码缩略图
  • Flutter 中的同步与异步,我的Android美团求职之路

    Future error 创建一个执行结果为error的future factory Future error Object error StackTrace stackTrace return new Future immediateEr
  • OpenCV教程——OpenCV环境配置及第一个测试代码

    1 OpenCV简介 OpenCV是一个计算机视觉的开源库 英文全称是 Open Source Computer Vision Library 常用的OpenCV的核心模块 Image Process Camera Calibration
  • vulnhub Pwned: 1

    渗透思路 nmap扫描端口 gobuster扫描网站目录 burp爆破网站目录 网站源代码泄露ftp用户名密码 ariana用户用id rsa进行ssh登录 sudo bash脚本提权到selena 利用docker越权查看文件 环境信息
  • AttributeError: ‘builtin_function_or_method‘ object has no attribute ‘view‘解决办法

    1 问题陈述 今天在使用pytorch中的view方法 改变张量形状时 发生错误 AttributeError builtin function or method object has no attribute view 报错提示 Att
  • 将Spring Boot打包成一个可执行的jar

    创建一个可执行jar 让我们通过创建一个完全自包含的可执行jar文件来结束我们的示例 该jar文件可以在生产环境运行 可执行jars 有时候被成为胖jars fat jars 是包含你的编译后的类和你的代码运行所需的依赖jar的存档 可执行
  • ubuntu18.04 天选2 R95900hx 3060显卡驱动安装

    天选2 R95900hx 3060显卡驱动安装 需求 问题 解决 内核 集显 显卡驱动 需求 外接显示器 安装nvidia驱动 问题 由于一开始直接在软件和更新中附加驱动安装了nvidia 470 导致系统黑屏 解决 grub页面系统选择进
  • 手机解除移动宽带屏蔽_FANUC/三菱M70系统如何屏蔽伺服轴?

    有时为了调试方便和操作方便需要 需将伺服脱开或电机脱开 比如 在拆除四轴时 屏蔽相关的一些报警就可以通过参数屏蔽伺服轴 在维修电机或拆卸工作台时 需要将电机或工作台拆下时 就可以通过参数屏蔽相关的报警 其他轴不受拆除轴的影响还可正常移动运转
  • QT DAY1

    做一个窗口界面 include mainwindow h include ui mainwindow h MainWindow MainWindow QWidget parent QMainWindow parent ui new Ui M
  • CSDN专家博客网址

    CSDN Blog 所有专家 分类 业界 软件工程 项目管理 NET JAVA Delphi C C WEB开发 数据库 移动开发 开源 游戏开发 企业开发 工具 产品 综合 网络管理 IT媒体 云计算 业界蒋涛 周筠 芮祥麟 余平 陈荣华
  • iPhone 各屏幕尺寸及解析

    一 iPhone 各屏幕尺寸表 手机型号 屏幕尺寸 inch 像素密度 PPI 逻辑分辨率 point 物理分辨率 屏幕分辨率 pixel 缩放因子 scale factor 宽高比 近似 比例 近似 3GS 3 5 inch 163 pp
  • 如何用API函数获取网卡或硬盘的序列号

    转自 https zhidao baidu com question 502153566675093684 html include
  • 使用.NET中的XML注释(一) -- XML注释标签讲解

    一 摘要 Net允许开发人员在源代码中插入XML注释 这在多人协作开发的时候显得特别有用 C 解析器可以把代码文件中的这些XML标记提取出来 并作进一步的处理为外部文档 这篇文章将展示如何使用这些XML注释 在项目开发中 很多人并不乐意写繁
  • 网络协议有哪些?

    除了TCP IP协议以外 还有很多其他的网络协议 1 HTTP 超文本传输协议 用于在Web浏览器和Web服务器之间传输数据 2 FTP 文件传输协议 用于在不同计算机之间传输文件 3 SMTP 简单邮件传输协议 用于在不同计算机之间传输电
  • 5-1:什么是Servlet-开发你的第一个动态网站

    4 1 JavaWeb开发环境 1 安装IDEA 2 IDEA配置tomcat9 MAC版 兄弟们 这一章的内容我录制了一个视频 可以观看一下 5 1 什么是Servlet 开发你的第一个动态网站 本节内容配套视频 https www bi
  • 当下流行的 Web 编程语言都有哪些?

    如果你是一名新晋的 Web 开发人员 那么在选择最佳 Web 编程语言时将面临很多困难 不同的编程语言支持不同的编程技术 而且各有各的复杂性 此外 新的编程语言层出不穷 让人看得眼花缭乱 在本文中 我们将列出一些最适合 Web 开发的编程语
  • 总结之java代码规范(一)——注释规范、IDEA类和方法注释模板设置

    最近新团队需要需要整一套适合java代码规范 基于阿里java开发手册规范一下代码规范 一 注释要求 1 强制 类 类属性 类方法的注释必须使用javadoc规范 使用 内容 格式 不得使用 xxx方式 2 强制 所有的抽象方法 包括接口中
  • 掩码语言模型(Masked Language Model)mlm

    https www cnblogs com anai p 11645953 html bert 论文 从语言模型到Seq2Seq Transformer如戏 全靠Mask https zhuanlan zhihu com p 6910608
  • 目标检测+光流跟踪

    最近学习了LK光流法 主要用于运动目标的跟踪 于是想着和之前codebook运动目标检测结合起来 实现先检测再跟踪 下面介绍目标检测跟踪流程 1 使用codebook进行背景学习 2 使用codebook不断进行运动目标检测 3 若发现运动