2012-02-16 4 views
3

У меня есть набор видео, в которых кто-то говорит, я строю систему распознавания губ, поэтому мне нужно выполнить некоторую обработку изображения на определенной области изображения (нижний подбородок и губы).Image Cropping - интересующий интерес вопрос

У меня есть более 200 видеороликов, каждый из которых содержит предложение. Естественно, поэтому голова постоянно движется, поэтому губы не находятся в фиксированном месте. Мне трудно определить область интереса к изображению, так как очень утомительно следить за каждым видео и выделять, насколько большой мой ящик, чтобы обеспечить обрезку губ в пределах ROI.

Мне было интересно, есть ли более простой способ проверить это, возможно, используя MATLAB? Я думал, что смогу обрезать видео по кадре и выводить изображение для каждого кадра. И затем физически пройти через изображения, чтобы увидеть, если губы выходят из рамки?

+0

Когда вы говорите: «Я думал, что смогу обрезать видео кадр за кадром», вы имеете в виду, что MATLAB волшебным образом догадается, где находятся губы? Или это вы обрезаете рамку? – Daniyar

ответ

1

Мне пришлось решить аналогичную проблему, касающуюся отслеживания голов и конечностей студентов, участвующих в дискуссиях по классу на видео. Мы экспериментировали с использованием современного оптического отслеживания потока от Томаса Брокса (link, см. Часть о оптическом потоке большого объема). В нашем случае у нас было почти 20 терабайт видео, чтобы работать, поэтому у нас не было выбора, кроме использовать C++ и GPU для реализации оптического кода потока; Я думаю, вы также обнаружите, что Matlab невероятно медленный для проведения видеоанализа.

Оптический поток возвращает вам подробные векторы движения. Затем, если вы можете просто пометить исходную ограничительную рамку для рта и подбородка в первом кадре видео, вы можете следить за дорожками, данными оптическим потоком этих пикселей, и это обычно дает вам хорошую последовательность ограничивающих прямоугольников. Однако вы, вероятно, будете иметь ошибки, которые вы должны очистить. Вы можете написать скрипт Python, который воспроизводит последовательность ограничивающих блоков, чтобы вы могли быстро проверить наличие ошибок.

Код, который я написал для этого, находится в Python, и, вероятно, нелегко адаптироваться к вашей настройке данных или вашей проблеме, но вы можете найти мой код отслеживания оптического потока, основанный на аффинном преобразовании linked here, в части, называемой «Объект-трекер, использующий плотный оптический поток».

Короткий ответ заключается в том, что это очень сложная и раздражающая проблема для исследователей видения. Большинство людей «решают» его, размещая свои видеоролики, покадровые, на «Механический турк» и оплачивая работникам-человеками около 2 центов за кадр, которые они анализируют. Это дает вам неплохие результаты (вам все равно придется чистить их после сбора его из Mechanical Turkers), но это не очень полезно, когда у вас есть тонны видеороликов, и вы не можете дождаться достаточного количества их для случайного анализа на механическом Turk.

Однако определенно не существует никакого «из коробки» решения аннотации региона интереса. Вам, вероятно, придется заплатить довольно много за стороннее программное обеспечение, которое сделало это автоматически. Моя лучшая догадка заключается в том, чтобы проверить, что face.com будет взимать с вас плату и как она будет работать. Будьте осторожны, чтобы вы не нарушали каких-либо соглашений о конфиденциальности для исследователей с вашим набором данных, хотя для этого или Mechanical Turk.