
Съдържание:
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 14:36


Този 3D скенер е направен с евтини конвенционални артикули като видео проектор и уеб камери. 3D скенер със структурирана светлина е устройство за 3D сканиране за измерване на триизмерната форма на обект с помощта на проектирани светлинни модели и система от камери. Софтуерът е разработен въз основа на структурирана светлина и стерео визия с език на python.
Прожектирането на тясна ивица светлина върху триизмерна оформена повърхност създава линия на осветяване, която изглежда изкривена от други гледни точки, различна от тази на проектора, и може да се използва за точна геометрична реконструкция на формата на повърхността. Хоризонтални и вертикални светлинни ленти се проектират върху повърхността на обекта и след това се улавят от две уеб камери.
Стъпка 1: Въведение


Автоматичните устройства за 3D заснемане (често наричани 3D скенери) позволяват да се изграждат много точни модели на реални 3D обекти по икономичен и време ефективен начин. Ние сме експериментирали тази технология при сканиране на играчка, за да докажем производителността. Специфичните нужди са: средна висока точност, лесна за използване, достъпна цена на сканиращото устройство, саморегистрирано получаване на данни за формата и цвета и накрая експлоатационна безопасност както за оператора, така и за сканираните обекти. Съгласно тези изисквания, ние проектирахме евтин 3D скенер, базиран на структурирана светлина, който възприема универсален подход на цветни ивици. Представяме архитектурата на скенера, приетите софтуерни технологии и първите резултати от използването му в проект, свързан с 3D придобиването на играчка.
В дизайна на нашия евтин скенер, ние избрахме да внедрим излъчващия модул с помощта на видеопроектор. Причината беше гъвкавостта на това устройство (което позволява да се експериментира с всякакъв вид светлинен модел) и широката му наличност. Сензорът може да бъде или персонализирано устройство, стандартен цифров фотоапарат или уеб камера. той трябва да поддържа висококачествено улавяне на цвят (т.е. придобиване на висок динамичен диапазон) и евентуално с висока разделителна способност.
Стъпка 2: Софтуер

Езикът на Python е бил използван за програмиране по три причини, едната е лесна за усвояване и внедряване, две можем да използваме OPENCV за подпрограми, свързани с изображения, и три, той е преносим между различни операционни системи, така че можете да използвате тази програма в Windows, MAC и Linux. Можете също така да конфигурирате софтуера за използване с всякакъв вид камера (уеб камери, SLR или промишлени камери) или проектор с естествена резолюция 1024X768. По -добре е да използвате камери с повече от два пъти резолюция. Аз лично тествах производителността в три различни конфигурации, първата беше с две паралелни киносайтове за уеб камера на Microsoft и малък преносим проектор, втората беше с две уеб камери lifecam cinema, които се завъртяха 15 градуса една към друга и проектор Infocus, последната конфигурация беше с уеб камери на logitech и проектор Infocus. За да уловим облака от точки на повърхността на обекта, трябва да преминем през пет стъпки:
1. Проектиране на сиви шарки и заснемане на изображения от две камери „SL3DS1.projcapt.py“
2. Обработка на 42 -те изображения на всяка камера и кодове на точки за улавяне "SL3DS2.procimages.py"
2. Регулиране на прага за избор на маскиране за области, които ще се обработват "SL3DS3.adjustthresh.py"
4. Намерете и запишете подобни точки във всяка камера „SL3DS4.calcpxpy.py“
5 Изчислете координатите X, Y и Z на облака от точки "SL3DS5.calcxyz.py"
Изходът е PLY файл с информация за координатите и цвета на точките на повърхността на обекта. Можете да отваряте PLY файлове с CAD софтуер като продукти на Autodesk или софтуер с отворен код като Meshlab.
www.autodesk.com/products/personal-design-a…
Python 2.7, модул OPENCV и NUMPY трябва да бъдат инсталирани за изпълнение на тези програми на Python. Също така разработих графичен интерфейс за този софтуер в TKINTER, който можете да намерите в стъпка шеста с два примерни набора от данни. Можете да намерите допълнителна информация по тази тема на следните уебсайтове:
docs.opencv.org/modules/calib3d/doc/camera_…
docs.opencv.org/modules/highgui/doc/reading…
www.3dunderworld.org/software/
arxiv.org/pdf/1406.6595v1.pdf
mesh.brown.edu/byo3d/index.html
www.opticsinfobase.org/aop/fulltext.cfm?uri…
hera.inf-cv.uni-jena.de:6680/pdf/Brauer-Bur…
Стъпка 3: Настройка на хардуера




Хардуерът се състои от:
1. Две уеб камери (Logitech C920C)
2. Проектор Infocus LP330
3. Стойка за камера и проектор (изработена от 3 мм акрилни плочи и 6 мм HDF дърво, изрязано с лазерен нож)
Две камери и проектор трябва да бъдат свързани към компютър с два видео изхода като преносим компютър и екранът на проектора трябва да бъде конфигуриран като разширение към основния работен плот на Windows. Тук можете да видите изображения на камери, проектор и стойка. Готовите за изрязване чертежни файлове са прикачени във формат SVG.
Проекторът е Infocus LP330 (първоначална разделителна способност 1024X768) със следните характеристики. Яркост: 650 лумена Цветна светлинна мощност: ** Контраст (пълно включване/изключване): 400: 1 Автоматична диафрагма: Без естествена резолюция: 1024x768 Съотношение: 4: 3 (XGA) Видео режими: ** Режими на данни: MAX 1024x768 Максимална мощност: 200 Вата Напрежение: 100V - 240V Размер (см) (ВxШxД): 6 x 22 x 25 Тегло: 2.2 кг Живот на лампата (пълна мощност): 1 000 часове Тип лампа: UHPL Лампа мощност: 120 вата Количество лампа: 1 Тип дисплей: 2 cm DLP (1) Стандартни обективи за мащабиране: 1,25: 1 Фокус: Ръчно разпределение (m): 1,5 - 30,5 Размер на изображението (cm): 76 - 1971
Този видеопрожектор се използва за проектиране на структурирани светлинни модели върху обекта, който ще се сканира. Структурираният модел се състои от вертикални и хоризонтални ленти с бяла светлина, които се записват във файл с данни, а уеб камерите улавят тези изкривени ленти.
За предпочитане използвайте тези камери, които са софтуерно управляеми, защото трябва да регулирате фокуса, яркостта, разделителната способност и качеството на изображението. Възможно е да се използват DSLR камери със SDK, които се предоставят от всяка марка.
Сглобяването и тестовете бяха проведени в Копенхаген Fablab с негова подкрепа.
Стъпка 4: Експериментирайте със скенер



За тестване на системата е използвана играчка с риба и можете да видите заснетото изображение. Всички заснети файлове, както и облакът на изходната точка са включени в прикачения файл, можете да отворите файла облачен файл PLY с Meshlab:
meshlab.sourceforge.net/
Стъпка 5: Някои други резултати от сканирането




Тук можете да видите някои сканирания на човешко лице и 3D сканиране на стена. Винаги има някои отклонени точки поради отражения или неточни резултати от изображението.
Стъпка 6: GUI за 3D скенер

За тестване на софтуера за 3D сканиране в тази стъпка добавям два набора от данни, единият е сканиране на риба, а друг е просто равнинна стена, за да се види точността му. Отворете ZIP файлове и стартирайте SL3DGUI.py. За инсталация проверете стъпка 2. Изпратете съобщение до входящата ми поща тук за всички изходни кодове.
За да използвате част от 3D сканиране, трябва да инсталирате две камери и проектор, но за други части просто щракнете върху бутона. За тестване на примерните данни първо щракнете върху процеса, след това праг, стерео съвпадение и накрая облак от точки. Инсталирайте Meshlab, за да видите облака от точки.
meshlab.sourceforge.net/
Препоръчано:
Хакване на Hexbug Spider XL за добавяне на компютърна визия с помощта на смартфон с Android: 9 стъпки (със снимки)

Хакване на Hexbug Spider XL за добавяне на компютърна визия с помощта на Android смартфон: Аз съм голям фен на оригиналния Hexbug ™ Паяк. Притежавам над дузина и ги хакнах всички. Всеки път, когато някой от синовете ми отиде при приятели ’ рожден ден, приятелят получава Hexbug ™ паяк като подарък. Хакнал съм или
Въвеждане на език с мишка за уста: 11 стъпки (със снимки)

Въвеждане на език с мишка на уста: дъската Makey Makey несъмнено отвори много възможности за взаимодействие с компютър или лаптоп. Докато пускането на пиано на банани и тригерите от сребърно фолио са забавни и образователни, исках да намеря приложение, което да е различно и да се надяваме, че съвместно
Мишка с помощен език (ATOM): 7 стъпки (със снимки)

Мишка, работеща с помощен език (ATOM): Този проект първоначално започна като задание на клас за въвеждащ курс, който взех като студент по първа година инженерство. След като завърших курса, събрах малък екип, състоящ се от мен и двама студенти по изкуство/дизайн и продължихме да
Музикален генератор, базиран на времето (ESP8266 базиран midi генератор): 4 стъпки (със снимки)

Метеорологичен генератор, базиран на времето (ESP8266 базиран Midi генератор): Здравейте, днес ще ви обясня как да направите свой собствен малък музикален генератор, базиран на времето. Той е базиран на ESP8266, който е нещо като Arduino и реагира на температура, дъжд и интензивността на светлината. Не очаквайте това да прави цели песни или акорди
Достъпно решение за визия с роботизирана ръка, базирана на Arduino: 19 стъпки (със снимки)

Достъпно решение за визия с роботизирана ръка, базирана на Arduino: Когато говорим за машинно зрение, то винаги се чувства толкова недостижимо за нас. Докато направихме демонстрация на визия с отворен код, която би била супер лесна за всеки. В това видео с камерата на OpenMV, независимо къде е червеният куб, роботът