Есть опенсорсное решение
https://github.com/cdcseacave/openMVS работает довольно неплохо.
Вам нужно учесть, что эта задача требует большого объема памяти и вычислительных ресурсов. На Андроиде не стоит это делать. Скорее стоит отправлять данные на сервер и производить обработку там. Основное большинство сервисов (123catch, например) именно так и делают.
Плюс, нужна хорошая камера и умение грамотно отснять кадры.