视频轨迹特征改进版本iDT(improve Dense Trajectory)

本文详细介绍了稠密轨迹特征算法的原理及应用过程,包括多尺度密集点采样、连续时间上轨迹点提取描述等关键步骤,并提供了安装及运行过程中可能遇到的问题解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

最近项目需要,用到了稠密轨迹特征这个在深度学习之前的优秀算法,学习到不少知识,及时记录以便回顾。

算法论文和程序代码下载可在这篇博客中找到:http://blog.youkuaiyun.com/wzmsltw/article/details/53023363

算法原理

原理示意图

稠密轨迹特征改进版本的主要思路是:

  • 多尺度密集点采样(设置限定阈值)

  • 连续时间上轨迹点提取描述(连续帧图上跟踪计算特征点并连接形成轨迹)

  • 多尺度提取描述子信息(HOF,HOG,MBH)

  • surf计算背景偏移情况,去掉人体运动特征点,补偿相机位移,减少误差

  • Fisher Vector编码,相比较原来的bag of features效果提高显著

使用过程

下载源代码后,按readme要求安装opencv和ffmpeg软件,其实版本不用对应,我用的opencv2.4.9也是没问题的。
在安装ffmpeg时出现如下问题:

问题1:

doc/ffplay.pod around line 9413: Non-ASCII character seen before =encoding in '8�8'. 
Assuming UTF-8
POD document had syntax errors at /usr/bin/pod2man line 68.
doc/Makefile:53: recipe for target 'doc/ffplay.1' failed
make: *** [doc/ffplay.1] Error 255
make: *** 正在等待未完成的任务....
doc/ffmpeg.pod around line 11765: Non-ASCII character seen before =encoding in '8�8'. 
Assuming UTF-8
POD document had syntax errors at /usr/bin/pod2man line 68.
doc/Makefile:53: recipe for target 'doc/ffmpeg.1' failed
make: *** [doc/ffmpeg.1] Error 255

方法:脚本/usr/bin/pod2man对应格式应从ascii转为unix,找到对应文件,编辑并强制转换格式
(1)sudo vi filename
(2)set ff? (如果不是unix,使用set ff=unix强制转换并保存)

问题2:

编译idt时,提示/usr/bin/ld: 找不到 -libavdevice.so

(1)在文件中寻找对应链接库,语句:ldd which ffmpeg,查找哪些链接库缺少
(2)搜索这些库在文件中的哪些位置? sudo find / -name “libavdevice.so.54”
(3)在对应目录下确认并记住路径,在环境变量中添加
include文件夹下:/etc/ld.so.conf.d/*.conf
在文本中加入刚才确认路径
sudo ldconfig完成配置
(4)重新编译ffmpeg

安装依赖库之后就可以顺利运行iDT程序了,进入文件夹后直接:make,就会在release文件夹中出现:dense_trajectory的应用程序,按照readme教程使用运行即可。

此程序只包含IDT论文中的特征描述子生成,不包括Fisher Vector编码和svm分类,后续处理需要其他软件,具体可参考博客:https://blog.youkuaiyun.com/Cheese_pop/article/details/78621301 ,这篇博客中包含全部的iDT程序应用和循环遍历数据库的小程序,十分实用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值