Обнаружение реперных маркеров при наличии дрожания камеры

Я пытаюсь сделать обнаружение реперных маркеров на основе OpenCV более надежным, когда пользователь резко перемещает камеру (телефон). Маркеры выполнены в стиле ArTag с кодом Хэмминга, заключенным в черную рамку. Границы обнаруживаются путем определения порогового значения изображения, последующего поиска четырехугольников на основе найденных контуров и последующей проверки внутренних компонентов четырехугольников.

В общем, декодирование маркера является довольно устойчивым , если распознается черная граница. Я пробовал самое очевидное - это дважды понижать дискретизацию изображения, а также выполнять четырехкратное обнаружение на этих уровнях.Это помогает с расфокусировкой камеры на крайних ближних маркерах, а также с очень маленькими уровнями размытия изображения, но не очень помогает в общем случае размытия камеры при движении

Есть ли доступные исследования способов сделать обнаружение более надежным? Идеи, которые меня интересуют, включают:

  1. Можете ли вы сделать какое-то отслеживание оптического потока, чтобы «угадать» положения маркера в следующем кадре, а затем определить своего рода угол в области этих предположений, вместо того, чтобы рассматривать прямоугольный поиск в качестве полнокадрового определения порога?
  2. Можно ли на ПК получить коэффициенты размытия (возможно, путем регистрации с недавними видеокадрами, в которых был обнаружен маркер) и уменьшить размытие изображения перед обработкой?
  3. На смартфонах , можно ли использовать гироскоп и / или акселерометры для получения коэффициентов размытия и предварительной обработки изображения? (Я предполагаю, что нет, просто потому что, если бы это было так, рынок был бы наводнен приложениями для коррекции дрожания камеры.)

Ссылки на неудачные идеи также будут оценены, если это избавит меня от их попытки.

7
задан Alex Ferrier 16 February 2012 в 23:04
поделиться