Я создаю коробку, в которую пользователь ставит ногу, а затем измеряет ее размер.
Моя цель 1-го уровня - провести базовые измерения, а моя цель - построить 3D-модель стопы человека.
Вот какие изображения из моих первых попыток и прототипов.
задняя часть стопы | внутри стопы | вне стопы | верхняя часть стопы
Итак, моим большим преимуществом является то, что я могу полностью контролировать сцену.
Я хочу использовать этот факт для настройки, чтобы я мог получать надежные измерения с помощью изображений.
Итак, мои вопросы следующие: 1) Как лучше всего устроить сцену? Прямо сейчас у меня будет синий фон, подсветка и контрастный носок, чтобы создать единый внутренний образ. Есть ли более «оптимальный» контраст? Как видно ниже, работает прилично.
2) Как мне проще получить надежные измерения пикселей в миллиметры? Я могу использовать носок с рисунком (для увеличения плотности элементов), а затем две камеры с каждой точки обзора, но было бы здорово уменьшить количество необходимых мне камер.
Я собираюсь оставить здесь вопросы, чтобы не перегружать этот пост, но если у людей есть другие советы, это было бы очень полезно. Спасибо!





Мой подход к 1) по сути был бы «зеленым экраном» или «синим экраном».
Идея состоит в том, чтобы тщательно осветить фон, чтобы не было теней. Затем вы можете применить цветовой порог, и все, что не является этим конкретным цветом, будет передним планом. Пока что на ваших изображениях есть довольно много теней, которые можно устранить путем тщательного освещения. Вам придется поэкспериментировать с тем, насколько это проблема для вас.
2) Это немного сложнее, но возможно. Вам нужно будет знать положение и направление ваших камер, параметры объектива (например, F / #), параметры датчика (шаг пикселя / интервал). Обладая этой информацией, вы сможете найти крайние точки стопы и выполнить некоторые измерения. Вот общая схема того, как это может работать. Вы можете использовать вид сверху, чтобы определить среднюю линию стопы, чтобы знать, как далеко она находится от боковых камер. Затем у вас есть вся информация, необходимая для решения пиксельных измерений в реальном пространстве. Верхняя камера проста; поскольку все находится в плоскости (при условии, что камера правильно выровнена и исправлена), все, что вам нужно сделать, это положить линейку на пол и сделать несколько снимков. Затем вы можете измерить количество пикселей для преобразования в реальном пространстве прямо с изображения.
Что касается вашей проблемы трехмерного моделирования, я хотел бы указать, что вам на самом деле не нужно получать полное облако точек. Вы можете просто взять модель стопы и масштабировать ее для отображения на основе сделанных вами измерений. В любом случае удачи в вашем проекте!
Я не думаю, что это сработает так хорошо, как вы надеетесь, для бокового обзора. Я могу отредактировать свой ответ, чтобы проиллюстрировать это, но проблема в том, что существует неоднозначность между размером и расстоянием для объектов, просматриваемых через камеру. Если вы используете какой-либо метод определения расстояния, вы можете определить размер. Но в вашем случае маркер будет на другом расстоянии, чем стопа, а это значит, что в вашем приближении будет некоторая ошибка.
Я думал о aruco вместо линейки для вида сверху. Да, этот вид сбоку на самом деле проблема. Является ли несколько камер с перекрывающимся полем обзора, чтобы я мог реализовать стерео, лучший способ сделать это? Я тоже думал об использовании Kinect, но думаю, что это значительно усложнит задачу.
Конечно, это может сработать. Возможно, я не передал это четко, но я хотел сказать, что вы можете использовать верхнюю камеру, чтобы определить местонахождение ступни в 2-мерной плоскости; затем используйте эту информацию о местоположении, чтобы ограничить проблему измерения вида сбоку. Я бы не стал сразу переходить к нескольким камерам или кинекту; с тщательной геометрией вы можете получить хорошие измерения без этой дополнительной сложности.
Понятно. Я считаю, что это хороший подход. Я собираюсь потратить некоторое время, чтобы подумать, как я могу ограничить вид сбоку и заставить его работать. Спасибо за ответ и комментарии.
Я думал о том, чтобы напечатать узор Aruco на внутренних синих стенках коробки. Затем я бы использовал это известное соотношение пикселей / мм для получения разрешения.