【问题标题】:Object Tracking in h.264 compressed videoh.264 压缩视频中的对象跟踪
【发布时间】:2013-11-13 18:57:48
【问题描述】:

我正在开展一个项目,该项目需要我在连接到 Beagleboard xm 的网络摄像头的实时视频中检测和跟踪人类。 我已经在像素域中使用 Opencv 完成了这项任务。板上的结果非常准确,但速度极慢。许多人建议我离开像素域并在 h.264/MPEG-4 压缩视频中执行相同的任务,因为它会极大地减少计算开销。 我阅读了许多研究论文,但未能找到任何可用于分析和处理 h.264 压缩视频的软件平台或库。 如果有人可以向我推荐一些用于 h.264 压缩视频分析的库并进一步指导我,我将不胜感激。

感谢和问候。

【问题讨论】:

  • h.264 压缩几乎可以做到这一点,检测对象并跟踪它们,创建动画并转换“补间”以替换原始像素数据并实现压缩。然而,这个过程非常复杂,祝你好运,深入研究并重用它,我的意思是讽刺。
  • 同意,您最终可能能够解析并确定 h.264 有一个对象,但这不会像您所寻找的那样是“对象跟踪”。 openCV 是优秀的软件,它最擅长的。您是否考虑过将视频缩小到更小的分辨率以便通过 openCV 进行分析?最后,beagleboard 可能不够强大,无法满足您的目标。
  • 我宁愿只使用 beagleboard 来压缩视频帧并将其发送到一些足够强大的机器。那个可怜的小 AMR 芯片对于这样一个计算密集型任务来说太弱了。您也许可以在一些支持它的更新的 ARM 内核上使用 OpenCL 加速,但这会使事情变得相当复杂。我看到 OCV 已经对使用 OCL 加速有了一些想法,所以这可能是一项卓有成效的努力,但不是在 beagleboard 上......

标签: c++ video h.264 beagleboard


【解决方案1】:

我不确定这到底有多实用(我从未尝试过),但我的猜测可能是他们指的是寻找一块具有(几乎)相同运动向量的宏块。

例如,假设您有一个没有平移的摄像头,并且图片显示一辆汽车在屏幕上行驶。查看运动矢量,您应该有一堆(大致)汽车形状的宏块,它们都具有相似的运动矢量(表示汽车的运动)。然后,您可以孤立地查看该块并尝试识别它,而不是查看您感兴趣的对象的整个图片。同样,如果摄像机与汽车一起平移,您会得到一个带有小运动矢量的汽车形块,并且大部分背景会在汽车运动的相反方向上具有相似的运动矢量。

但是请注意,这可能是不精确的。举个例子,让我们假设我们的神话汽车行驶在一栋砖砌建筑前,它的前灯照亮了一些砖块。在这种情况下,一张图片中的一块砖可能(很容易)不指向前一张图片中的同一块砖,而是指向前一张图片中恰好被照亮的砖块。砖块足够相似,因此最接近的匹配将更多地取决于照明而不是砖块本身。

【讨论】:

  • 我应该使用哪种软件或编程语言来检索 h.264 视频中的宏块。到目前为止,我已经通过逐帧解压缩在 Opencv 中打开了原始 h.264 视频,但这样做肯定会归结为我已经完成的像素,并扼杀了获取原始 h.264 视频的目的
  • @bunny:其中一个开源 h.264 解码器(ffmpeg?)有一种模式,它可以在解码视频时在屏幕上显示运动矢量。一些工作可能会让你相当直接地检索它们。
  • 是的,前段时间在互联网上搜索时,我遇到了该命令,但当时我在像素域中工作,所以没有费心使用它。现在我试图在互联网上再次搜索它,但徒劳无功。你能推荐一些网站,我可以从那里得到那个命令.....问候。
  • @bunny:抱歉,没有。我记得跑过它,但仅此而已。
【解决方案2】:

最终,您也许能够解析并确定 h.264 有一个对象,但这不会像您所寻找的那样是“对象跟踪”。 openCV 是优秀的软件,它最擅长的。您是否考虑过将视频缩小到更小的分辨率以便通过 openCV 进行分析?

我认为您高估了这台 45 美元计算机的计算能力。从计算上讲,对象识别和跟踪非常困难。我将首先查看您的电路板可以从那里跟踪和优化每秒多少帧。开始看看你的瓶颈在哪里,你最好处理原始视频,而不是先解码 h.264 视频。同样,RAW 视频占用大量 RAM,而通过这些处理需要占用大量 CPU。

最大限度地减少解码视频的开销,通过在分析之前缩小视频来最大限度地减少 RAM 开销,但最终,您对 1ghz、32 位 ARM 处理器的要求很高。

【讨论】:

    【解决方案3】:

    FFMPEG 是一个非常古老的库,现在已不受支持。它在 h.264 压缩视频中的处理和对象跟踪方面的能力非常有限。大多数命令通常已过时。 最好的办法是彻底研究 h.264,然后尝试用 Java 或 c# 等语言实现自己的 API。

    【讨论】:

      猜你喜欢
      • 2023-04-09
      • 2011-06-28
      • 1970-01-01
      • 2015-06-14
      • 1970-01-01
      • 1970-01-01
      • 2015-11-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多