2010-12-09 7 views
12

Я работаю над приложением дополненной реальности для iPhone, которое включает в себя очень интенсивно использующий процессор алгоритм распознавания объектов (нажатие на процессор на 100% может пройти через 5 кадров в секунду), а также для экономии заряда батареи и сделать все это менее «неустойчивым». Я пытаюсь придумать способ запустить этот распознаватель объектов, когда пользователь фактически перемещает камеру.Быстрый, очень легкий алгоритм обнаружения движения камеры?

Моя первая мысль состояла в том, чтобы просто использовать акселерометры/гироскопы для iPhone, но при тестировании я обнаружил, что очень часто люди двигают iPhone с достаточно устойчивым отношением и скоростью, чтобы не было никакого способа сказать, что это было все еще в движении.

Таким образом, оставив возможность анализа фактического видеопотока и обнаружения движения в этом. Я получил OpenCV и попытался запустить свой пирамидальный алгоритм оптического потока Lucas-Kanade, который работает хорошо, но, похоже, почти так же интенсивен, как и у моего распознавателя объектов, я могу получить его до приемлемой частоты кадров, если я понижу уровни глубины/image/track меньше очков, но тогда точность страдает, и она начинает пропускать некоторые большие движения и срабатывать на маленьких дрожащих вручную.

Итак, мой вопрос в том, есть ли другой алгоритм оптического потока, который быстрее, чем Lucas-Kanade, если я просто хочу определить общую величину движения камеры? Мне не нужно отслеживать отдельные объекты, мне даже не нужно знать, в каком направлении движется камера, все, что мне действительно нужно, это способ подачи чего-то двух кадров видео и расскажите мне, насколько они далеко друг от друга.

+1

Отъезд [Выравнивание видоискателя] (http://www-graphics.stanford.edu/papers/viewfinderalignment/). – 2010-12-09 13:42:32

ответ

2

Почему бы не использовать комбинацию чувствительности к акселерометру и гироскопу, а также очень плохой отслежыватель изображений? Кажется, что каждый метод путают совершенно разные движения пользователя.

+0

Интересная идея ... вопрос в том, будут ли диапазоны движений, которые они могут обнаружить, на самом деле перекрываются или будут ли они некоторыми типами движений, которые никто не может надежно забрать, не получая много дрожащих от рук помех. Я попробую это и скоро отчитаю, спасибо! – Ertebolle 2010-12-09 01:14:13

+0

Это оказалось выигрышной стратегией, хотя потребовалось дополнительное усовершенствование кода L-K OpenCV и очень легкая дополнительная проверка изображения, чтобы он работал хорошо - спасибо! – Ertebolle 2010-12-11 14:29:56

4

есть открытый источник (бесплатно для частного использования) проекта, который использует быстрое обнаружение угла здесь: http://www.hatzlaha.co.il/150842/FAST-Corner-V2

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

- EDIT -

Теперь есть проект Lucas-Kanade оптического потока, а также - http://www.success-ware.com/150842/Lucas-Kanade-Detection-for-the-iPhone Вы можете загрузить исходный код, и есть ссылка на AppStore, а также, так что вы можете играть с это и посмотреть, отвечает ли оно вашим потребностям.

HTH,

Oded.

 Смежные вопросы

  • Нет связанных вопросов^_^