Как стать автором
Обновить

Комментарии 19

НЛО прилетело и опубликовало эту надпись здесь
Ну, для VirtualDub и подобного софта этот алгоритм мало пригодится — его целью была риалтайм работа. То есть быстродействие в ущерб точности, но чтобы точность при этом сохранялась на приемлемом уровне. Уже записанное видео можно обработать гораздо лучше более серьёзными алгоритмами.

Выложу, но за сроки не ручаюсь (возможно на следующей неделе, сейчас у меня есть другая интересная идея, для следующей статьи). Но мне всё равно совесть не позволит в очень уж сыром виде это выложить, надо подштукатурить. =)
Возможно, я просто уже не помню. Почитаю, спасибо. =)
Было бы неплохо привести примеры видео без стабилизации, со стабилизацией с использованием SURF (пусть и не в режиме реального времени) и с Вашей стабилизацией.
Ну, сравнительного примера делать не буду, т.к. я не профи в применении SURF. Ну и, как я уже говорил, SURF немного не для этого. А вот видео-демонстрацию — пожалуйста. Выложу вместе с исходниками.
Да, для стационарных камер проблем меньше, там можно сравнивать только маленький кусочек изображения с высококонтрасными границами.
Но у меня в обычной бытовой видеокамере 10-летней давности на ленте (Digit8) цифровая стабилизация работала очень хорошо. Очень плавно видео снималось с рук даже когда я поворачивал камеру вслед за движением. Т.е. как-то там более дешевым(менее числодробительным) способом делали. Может просто 2-4 области всего использовалось)
Свое время писал стабилизатор правда для стационарных камер. Нахождения смещения основывалось на простой корреляции методом последовательного приближения на разных масштабах. После нахождения смещения, его значение уточнялось с субпиксельной точностью. Оптимизировал нахождение корреляции и выполнение смещения под SSE2. Общее время работы алгоритма было менее 1 мс для мегапиксельного изображения.
Было-бы очень интересно почитать подробности по Вашему алгоритму. Очень уж заинтриговали производительностью. =)
Тоже очень интересно, жду статью)
А подробности? Что это за «простая корреляция»? И каков самый большой масштаб в пикселях?
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Пробовали этот метод в схожих обстоятельствах: камера на вышке сотового оператора в лесу, высота — 60 метров, башню качает ветром. Фазовая корреляция дает довольно плохие результаты. Причин две:
1) В условиях лесного массива в ветреную погоду довольно много «локальных», внутрикадровых движений — ветром качаются не только вышки, но и деревья. Из-за этого локализация корреляционного пятна нарушается — оно скачет туда сюда. Результата два: либо невозможность вывода о локации корреляционного пятна, либо неправильный вывод и, как следствие, дестабилизация вместо стабилизации.
2) В сумерках (даже ранних) шумы матрицы становятся настолько большими, что фильтрация либо не может с ней справиться, либо вместе шумами «вымывает» из картинки значительную часть полезной информации (лес на не слишком больших зумах — довольно мелкогранулярная структура, ее всякими сглаживателями можно отутюжить до плоского состояния и останется вместо леса одна бурая масса, на которой не за что зацепиться). Результат — пятно корреляции настолько большое, что можно даже не пытаться понять куда уехала картинка.

Хотя в охранке, возможно, таких проблем нет, картинка может быть довольно гладкой, с крупными деталями.
Не обязательно считать именно фазовые корреляции, можно и амплитудные
Как показывает опыт, в таких системах проще установить ВОГи и стабилизировать картинку по ним. Единственно, что при узком поле зрения уход гироскопа довольно заметен. Но таким образом мы отвязываемся от картинки.
Здесь может быть нюанс инсталляционного характера. Я с железками-стабилизаторами не работал, но классически при установке на вышки есть три проблемы:
1) Масса того, что устанавливается. Камера (по-крайней мере которые мы ставим) имеет массу 5 кг. Лишний килограмм стоит денег при аренде установочной площадки. К тому же непонятно как вкручивать стабилизатор между кронштейном камеры и самой камерой.
2) Питание. Протащить лишний провод на высоту 60м — проблема.
3) Защита от окружающей среды. Молнии, снег, дождь, мороз: железяка должна работать. Сколько будет стоить стабилизатор, который защищен таким образом — тайна.
Так что когда кто-то говорит «проще» всегда задумываешься какой именно аспект имеется ввиду. «Проще» — это «дешевле»? Вряд ли. Даже если сам гироскоп стоит копейки, кожух + система подогрева + спец крепления + бог знает еще что может стоить больших денег, если вообще найдется на рынке. «Проще» — это «лучше результат»? Не знаю, возможно, но тут эксперимент — критерий истины. «Проще» — «меньше усилий на внедрение»? Если готовое решение есть на рынке — да, но интуиция говорит, что наружнее видеонаблюдение — довольно экзотическая сфера применения электромеханических стабилизаторов такого рода, так что готовое решение вряд ли есть.
1) масса волоконно оптического гироскопа 30грамм, для стабилизации картинки нужно 2 шт, устанавливается на саму камеру.
2) провод тащить не надо, достаточно одной платы с ПЛИС которая будет обрабатывать данные с гироскопа и электронным контуром стабилизировать картинку.
3) Если честно думал что объем, в котором у вас установлены камеры уже защищён от воздействий внешней среды.

Да, ВОГи удовольствие не дешёвое, но есть более дешёвые мемс гироскопы, которые сейчас практически не уступают по точностям ещё и по размерам/весу значительно меньше. Про электромеханические стабилизаторы я ничего не говорил. Про лучше результат — тут есть один аспект. В начале статьи говорится про поворотную установку, что подразумевает управление ею с пульта. Если мы говорим о чисто программной стабилизации — она не будет работать во время поворота камер с пульта или допустим изменении трансфокации, как следствие будет значительно сложнее навестись на интересующий объект на узком поле. Да и вообще корреляторы сдвига изображений — очень нестабильные алгоритмы, сложные для реализации и требующие адоптации под конкретные условия. Допустим было бы интересно посмотреть как ваша система будет работать в дождь или снегопад, или допустим когда через весь кадр движется дымка с большой скоростью. Единственное преимущество корреляторов — возможность компенсации атмосферных явлений.
Лучше всего комплексное решение (из своего опыта) — сначала механика, потом программная обработка
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории