Алгоритм альтернативного отслеживания объектов для серфинга и просмотра для дополненной реальности

StackOverflow https://stackoverflow.com/questions/1318691

Вопрос

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

Например, Surf занимает около 3 секунд, чтобы сгенерировать точки интереса для изображения, это слишком медленно, чтобы отслеживать видео, исходящее от веб -камеры, и это будет еще хуже при использовании его на мобильном телефоне.

Мне просто нужен алгоритм, который отслеживает определенную область, ее масштаб, наклон и т. Д., И я могу построить сверху.

Спасибо

Это было полезно?

Решение

Я подозреваю, что ваше использование прибоя может потребоваться какое -то изменение?

Вот ссылка Для работы MIT по использованию Surf для приложений дополненной реальности на мобильных устройствах.

Выдержка:

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

Вы также можете захотеть изучить алгоритмы OpenCV, потому что они испытаны и проверены.

В зависимости от ограничения Из вашего приложения вы можете уменьшить общую алгоритмы, чтобы искать известные POI и маркеры в изображении.

Часть отслеживание POI оценивает свой вектор из одной точки на 2D -изображении к другому, а затем, необязательно, подтверждает, что он все еще существует там (через характеристики пикселей). Тот же подход может быть использован для отслеживания (не сканирования всего изображения) для перспективы POI и POI группы/объекта и изменений вращения.

В 2D -проекции есть множество документов для отслеживания объектов в 2D (до серверного перекоса во многих случаях).

Удачи!

Другие советы

Вы должны попробовать быстрый детектор

http://svr-www.eng.cam.ac.uk/~er258/work/fast.html

Мы используем серфинг для проекта и нашли Opensurf Чтобы превзойти реализацию Surf в OpenCV в необработанной скорости и производительности. Мы до сих пор не испытали повторяемость и точность, но это намного быстрее.


Обновление: я просто хотел отметить, что вам не нужно выполнять шаг для серфинга в каждом кадре, вы можете просто делать это каждый другой кадр и интерполировать положение объекта в кадре, на котором вы не выполняете серфинго.

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

Если вы хотите (несколько) трекер общего назначения, вы можете проверить PTAM. Сайт (http://www.robots.ox.ac.uk/~gk/ptam/) в настоящее время не работает, но вот шикарное видео, работающее на iPhone (http://www.youtube.com/watch?v=PBI5HWITBX4)

Как упоминали другие, три секунды кажутся необычайно длинными. При тестировании реализации серфинга в Махотас Библиотека, я обнаружил, что это заняло в среднем 0,36 секунды, даже с некоторыми довольно большими изображениями (например, 1024x768). И это со смесью Python и C, так что я думаю, что некоторые другие реализации Pure-C были бы еще быстрее.

Я нашел это приятное сравнение каждого алгоритма обнаружения функций в http://computer-vision-talks.com/2011/01/comparison-of-the-opencvs-feature-detection-algorithms-2/

Взглянуть. Это может быть полезно!

Согласно этому сравнению, и, как и Mirror2image, также является лучшим выбором Fast. Но это зависит от того, чего вы действительно хотите достичь.

Одним из вариантов, который я использовал в ограниченных встроенных системах, является использование более простого детектора точек интереса: например, Fast или Shi-Tomasi. Я использовал Shi-Tomasi, так как я нацелился на FPGA и мог легко запустить его со скоростью пикселей без существенной буферизации.

Затем используйте Surf, чтобы сгенерировать дескрипторы для патча изображения вокруг идентифицированных функций, и используйте их для целей сопоставления и отслеживания.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top