простой случай оптического потока

Общие: Я надеюсь, что вариант использования I ' m, который я собираюсь описать, - это простой случай проблемы с оптическим потоком, и, поскольку я не очень разбираюсь в этом предмете, мне было интересно, есть ли у кого-нибудь предложения о том, как я могу подойти к решению моей проблемы. уже сделано: Я начал читать статью Высокоточная оценка оптического потока на основе теории деформации и планирую просмотреть статью Particle Video . Я нашел реализацию оптического потока MATLAB High Accuracy Optical Flow . Однако документы (и код), кажется, описывают очень сложные концепции, и мне может потребоваться много времени, чтобы вникнуть и понять. Я надеюсь, что решение моей проблемы может быть более простым.

Проблема: У меня есть последовательность изображений. На изображениях изображен процесс разрушения материала, где материал и фон черные, а трещины белые. Меня интересует прохождение последовательности изображений в обратном порядке, чтобы попытаться сопоставить все трещины, которые образовались в процессе разрушения, с первым черным изображением. Вы можете думать о материале как о большой головоломке, и я пытаюсь собрать части в обратном порядке, в котором они сломались.

На каждом изображении могут быть трещины, которые только появляются, и / или трещины, которые были полностью сформированы (и, таким образом, образовали фрагмент). В процессе разрушения некоторые фрагменты могут отделиться и сломаться. Фрагменты также могут отдаляться друг от друга (изменение небольшое между последующими кадрами).

Желаемый результат: Все трещины / линии в последовательности сопоставлены с первым изображением в последовательности.

Дополнительные примечания: Изображения доступны в полутоновом формате (т.е. исходном), а также в двоичном формате, где трещины были обведены белым, а фон полностью черным. Ниже приведены некоторые примеры изображений.

orig_img1orig_img2orig_img3

binary_img1binary_img2binary_img3

В верхнем ряду показаны исходные изображения, а в нижнем ряду - двоичные изображения. Как видите, трещина, идущая посередине, становится все шире и шире по мере продвижения последовательности изображений. Таким образом, нижняя трещина перемещается вместе с нижним фрагментом. Обходя последовательность в обратном направлении, я надеюсь алгоритмически понять, что средняя трещина объединяется как одна (и правильно сопоставить ее с первым изображением), а также правильно сопоставить нижнюю трещину, сохраняя правильное соответствие (размер и положение) нижнему фрагменту.

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

Язык: Хотя в этом нет необходимости, я хотел бы реализовать решение с использованием MATLAB (просто потому, что большая часть другого кода, относящегося к проекту, была сделана в MATLAB). Однако, если OpenCV может быть проще, я могу гибко использовать свой язык / библиотеку.

Любые идеи приветствуются.

11
задан Myx 26 May 2011 в 20:57
поделиться