Фотограмметрическая поворотка на Arduino за 2500 рублей

от автора

Ко мне на кафедре обратились двое старшекурсников. Они пишут программу для археологов: пользователь фотографирует, что нашел, программа лезет в модель (которая натренирована на исторические архивах) и возвращает карту вероятностей, где поблизости могут лежать неметаллические артефакты, которые металлоискатель не ловит. Дерево, керамика, кость, ткань и тд. Для обучения модели им нужен был большой датасет фотографий находок времен WW2 (значки, гильзы, медали, фрагменты обмундирования) под разными углами и наклонами.

Они прикинули два варианта: либо снимать каждый предмет вручную с разных ракурсов, перетаскивая штатив или поворачивая объект пальцами, либо сначала вылепить 3D-модель каждого артефакта вручную и потом программно крутить её в виртуальной сцене под разным светом, рендеря оттуда кадры для датасета. По обоим выходило пара месяцев работы.

Я предложил собрать автоматическую поворотку. Спроектировал, напечатал, написал прошивку и питоновский скрипт. Сразу не заработало, переделал пару дней. К ночи рабочей версии я сидел за столом и каждые 12 минут жал ресет на Arduino, меняя предмет на платформе. К утру датасет был готов.

схема того как это друг с другом взаимодействует

схема того как это друг с другом взаимодействует

В сумме 2500 рублей: Arduino Uno (у меня клон, на нормальный денег нет), драйвер ULN2003 с шаговиком 28BYJ-48, сервомашинка SG90, провода Dupont, моток PLA на печать корпуса. Над повороткой на стреле висит мой телефон с приложением IP Webcam. Ставишь предмет на наклонную площадку, жмёшь ресет на Arduino, через 12 минут в папке Dataset_WW2/Pogon_RKKA_Sergeant/ лежит 144 jpg-кадра. Переставляешь следующий артефакт, опять жмёшь ресет.

6 наклонов сервы * 24 поворота шаговика = 144 фото на объект.

Репозиторий (на вражеском гитхаб, будьте осторожны): https://github.com/kexibq-official/photogrammetry-turntable

Внутри README, BUILD.md с пошаговыми фото сборки поворотного стола, STL на печать, прошивка и скрипт.

ссылка на оригинал статьи https://habr.com/ru/articles/1040874/