图像裁剪 - 区域感兴趣查询

3
我有一组视频,是一个人在说话。我正在开发一个唇语识别系统,因此需要对图像的特定区域(下巴和嘴唇)进行一些图像处理。
我有超过200个视频,每个视频包含一个句子。由于自然对话,头部不断移动,因此嘴唇不在固定位置。我很难指定图像中感兴趣的区域,必须观看每个视频,并标记出我的框大小以确保唇部被裁剪在ROI内,这非常繁琐。
我想知道是否有更简单的方法来检查这个问题,也许可以使用MATLAB?我在考虑逐帧裁剪视频并为每一帧输出一幅图像。然后手动查看图片,以确定唇部是否超出了画面范围。

当你说“我在想逐帧裁剪视频”,你是指MATLAB会神奇地猜测嘴唇的位置吗?还是由你自己来裁剪帧? - Daniyar
1个回答

1

我曾经遇到过一个类似的问题,需要跟踪参加课堂讨论视频的学生的头部和四肢。我们尝试使用了Thomas Brox的最先进的光流跟踪技术(link,请看关于大位移光流的部分)。在我们的情况下,我们有近20TB的视频需要处理,所以我们别无选择,只能使用C++和GPU实现的光流代码;我认为你也会发现Matlab在进行视频分析时速度非常慢。

光流会返回给你详细的运动向量。然后,如果你可以在视频的第一帧中标记出嘴巴和下巴的原始边界框,你就可以跟随这些像素的光流轨迹,通常可以得到一个很好的边界框序列。不过你可能还需要清理一些错误。你可以编写一个Python脚本,播放边界框序列,快速检查是否有错误。

我用Python编写了这段代码,它可能不容易适应您的数据设置或问题,但是您可以在“使用密集光流的对象跟踪器”部分找到我的基于仿射变换的光流跟踪代码linked here

简短的答案是,这对视觉研究人员来说是一个非常困难和烦人的问题。大多数人通过将视频逐帧放置在 Mechanical Turk 上,并支付每个分析的帧约2美分的人工工作者来“解决”它。这会给您带来相当好的结果(您仍然需要在从 Mechanical Turkers 收集后进行清理),但是当您有大量视频且无法等待足够数量的视频在 Mechanical Turk 上被随机分析时,这并不是很有帮助。

当然,没有任何“开箱即用”的区域感兴趣注释解决方案。您可能需要支付相当多的第三方软件费用来自动执行此操作。我最好的猜测是查看face.com会向您收取多少费用以及它的表现如何。但是请注意,不要违反与数据集相关的任何研究人员保密协议,无论是针对此项服务还是 Mechanical Turk。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接