Я работал в этом районе довольно долгое время. Есть три момента, о которых я бы хотел рассказать.
Зрение только трудно
Навигация на основе видения с использованием только камеры мобильного телефона очень сложна. Большая часть литературы с отличными результатами показывает, что пройденное расстояние составляет ~ 1%, как современные, но обычно используют стереокамеры. Стерео очень помогает, особенно в помещениях, для преодоления смещения масштаба. Я работал над системой, которая достигает 0,5% пройденного расстояния для стерео, но только примерно 5% пройденного расстояния для монокуляра. Хотя я не могу поделиться кодом, большая часть нашей системы была вдохновлена этой Sibley and Mei paper .
Стерео код в нашем случае работал на полных 60 кадров в секунду на рабочем столе. Если вы можете отправить данные достаточно быстро, все будет хорошо. С вашим конвертом ошибки вы можете перемещаться только на 100 м или около того. Этого достаточно?
Мультисенсор это путь. Хотя другие датчики хуже, чем зрение сами по себе.
Я слышал хорошую работу с акселерометрами, установленными на ноге, для выполнения ZUPT (обновления с нулевой скоростью), когда нога ненадолго неподвижна на земле, делая шаг, чтобы обнулить занос. Этот подход имеет явный недостаток, заключающийся в необходимости устанавливать устройство на ноге, что делает обзорный подход практически бесполезным.
Компас интересен, но его отвлекает тонна металла в офисном здании. Перемещение нескольких футов вокруг большого металлического шкафа может вызвать скачок направления более 50 градусов.
В конечном счете, комбинация датчиков, вероятно, будет наилучшей, если вы сможете сделать эту работу.
Можете ли вы решить более простую задачу?
Насколько вы контролируете свое окружение? Можете ли вы шлепнуть фидуциальные маркеры? Можете ли вы сделать Wi-Fi триангуляции? Это должно быть начальное исследование? Если вы сможете обойти окружение заранее и создать визуальные пузыри (схожие с Google Street View) для сравнения, вы будете гораздо точнее.