فهرست مطالب:

DIY 3D Scanner بر اساس نور ساختار یافته و دید استریو به زبان پایتون: 6 مرحله (همراه با تصاویر)
DIY 3D Scanner بر اساس نور ساختار یافته و دید استریو به زبان پایتون: 6 مرحله (همراه با تصاویر)

تصویری: DIY 3D Scanner بر اساس نور ساختار یافته و دید استریو به زبان پایتون: 6 مرحله (همراه با تصاویر)

تصویری: DIY 3D Scanner بر اساس نور ساختار یافته و دید استریو به زبان پایتون: 6 مرحله (همراه با تصاویر)
تصویری: CS50 2015 - Week 9, continued 2024, نوامبر
Anonim
DIY 3D Scanner بر اساس نور ساختار یافته و دید استریو به زبان پایتون
DIY 3D Scanner بر اساس نور ساختار یافته و دید استریو به زبان پایتون
DIY 3D Scanner بر اساس نور ساختار یافته و دید استریو به زبان پایتون
DIY 3D Scanner بر اساس نور ساختار یافته و دید استریو به زبان پایتون

این اسکنر سه بعدی با استفاده از اقلام معمولی کم هزینه مانند ویدئو پروژکتور و وب کم ساخته شده است. یک اسکنر سه بعدی با نور ساختار یافته یک دستگاه اسکن سه بعدی برای اندازه گیری شکل سه بعدی یک جسم با استفاده از الگوهای نور پیش بینی شده و سیستم دوربین است. نرم افزار بر اساس نور ساختار یافته و دید استریو با زبان پایتون توسعه یافته است.

نمایش یک باند باریک از نور بر روی سطح سه بعدی شکل ، یک خط روشنایی ایجاد می کند که از دیدگاه های دیگر به جز پروژکتور مخدوش به نظر می رسد و می تواند برای بازسازی دقیق هندسی شکل سطح مورد استفاده قرار گیرد. نوارهای نور افقی و عمودی بر روی سطح شی نمایش داده می شوند و سپس توسط دو وب کم ضبط می شوند.

مرحله 1: مقدمه

معرفی
معرفی
معرفی
معرفی

دستگاههای دستیابی سه بعدی خودکار (اغلب اسکنرهای سه بعدی نامیده می شوند) به شما امکان می دهد مدلهای بسیار دقیق از اشیاء سه بعدی واقعی را به نحو مقرون به صرفه و زمان بسازید. ما این فناوری را در اسکن اسباب بازی برای اثبات عملکرد آزمایش کرده ایم. نیازهای خاص عبارتند از: دقت متوسط به بالا ، سهولت استفاده ، هزینه مناسب دستگاه اسکن ، دستیابی به اطلاعات ثبت شده از شکل و رنگ ، و در نهایت ایمنی عملیاتی هم برای اپراتور و هم برای اشیاء اسکن شده. با توجه به این الزامات ، ما یک اسکنر سه بعدی ارزان قیمت بر اساس نور ساختار یافته طراحی کردیم که از رویکرد الگوی نوار رنگی همه کاره استفاده می کند. ما معماری اسکنر ، فناوری های نرم افزاری اتخاذ شده و اولین نتایج استفاده از آن را در پروژه ای در زمینه دستیابی سه بعدی به یک اسباب بازی ارائه می دهیم.

در طراحی اسکنر ارزان قیمت ، ما تصمیم گرفتیم که واحد emitter را با استفاده از ویدئو پروژکتور پیاده سازی کنیم. دلیل آن انعطاف پذیری این دستگاه (که اجازه آزمایش هر نوع الگوی نوری را می دهد) و در دسترس بودن گسترده آن بود. سنسور می تواند یک دستگاه سفارشی ، یک دوربین عکاسی دیجیتال استاندارد یا یک وب کم باشد. باید از ضبط رنگ با کیفیت بالا (یعنی دستیابی به محدوده دینامیکی بالا) و احتمالاً با وضوح بالا پشتیبانی کند.

مرحله 2: نرم افزار

نرم افزار
نرم افزار

زبان پایتون به سه دلیل برای برنامه نویسی مورد استفاده قرار گرفت ، یکی یادگیری و پیاده سازی آن آسان است ، دو مورد ما می توانیم از OPENCV برای کارهای معمول مربوط به تصویر استفاده کنیم و سه در سیستم عامل های مختلف قابل حمل است ، بنابراین می توانید از این برنامه در ویندوز ، مک و لینوکس استفاده کنید. همچنین می توانید نرم افزار را برای استفاده با هر نوع دوربین (وب کم ، SLR یا دوربین های صنعتی) یا پروژکتور با رزولوشن 1024X768 بومی پیکربندی کنید. بهتر است از دوربین هایی با وضوح بیش از دو برابر استفاده کنید. من شخصاً عملکرد را در سه پیکربندی متفاوت آزمایش کردم ، یکی با دو دوربین وب کم موازی مایکروسافت و یک پروژکتور قابل حمل کوچک ، دومی با دو دوربین وب کم سینمایی که 15 درجه به یکدیگر می چرخیدند و پروژکتور Infocus ، پیکربندی آخر با دوربین های وب لاجیتک بود. و پروژکتور 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 باید برای اجرای این برنامه های پایتون نصب شوند. من همچنین یک GUI برای این نرم افزار در 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 با برش لیزری)

دو دوربین و پروژکتور باید به کامپیوتر با دو خروجی ویدئو مانند رایانه نوت بوک متصل شوند و صفحه پروژکتور باید به عنوان یک پسوند به دسکتاپ اصلی ویندوز پیکربندی شود. در اینجا می توانید تصاویر دوربین ها ، پروژکتور و پایه را مشاهده کنید. فایل نقاشی آماده برش در قالب SVG پیوست شده است.

پروژکتور یک Infocus LP330 (رزولوشن اصلی 1024X768) با مشخصات زیر است. روشنایی: 650 لومن خروجی نور رنگ: ** کنتراست (روشن/خاموش کامل): 400: 1 Iris خودکار: بدون وضوح تصویر بومی: 1024x768 نسبت ابعاد: 4: 3 (XGA) حالت های ویدئویی: ** حالت های داده: حداکثر 1024x768 حداکثر قدرت: 200 وات ولتاژ: 100V - 240V اندازه (سانتی متر) (HxWxD): 6 x 22 x 25 وزن: 2.2 کیلوگرم عمر لامپ (قدرت کامل): 1 ، 000 ساعت لامپ نوع: UHPLamp توان: 120 وات تعداد لامپ: 1 نوع صفحه نمایش: 2 سانتی متر DLP (1) زوم استاندارد لنز: 1.25: 1 فوکوس: دستی پرتاب فاصله (متر): 1.5 - 30.5 اندازه تصویر (سانتی متر): 76 - 1971

این ویدئو پروژکتور برای نمایش الگوهای ساختار یافته نور بر روی شی مورد اسکن استفاده می شود. الگوی ساختار یافته شامل نوارهای نور سفید عمودی و افقی است که در یک فایل داده ذخیره می شوند و وب کم آن نوارهای مخدوش را می گیرد.

ترجیحاً از دوربین هایی استفاده کنید که از نظر نرم افزاری قابل کنترل هستند زیرا باید فوکوس ، روشنایی ، وضوح و کیفیت تصویر را تنظیم کنید. امکان استفاده از دوربین های DSLR با SDK که توسط هر مارک ارائه شده است وجود دارد.

مونتاژ و آزمایشات با پشتیبانی آن در Fabelb کپنهاگ انجام شد.

مرحله 4: آزمایش با اسکنر

آزمایش با اسکنر
آزمایش با اسکنر
آزمایش با اسکنر
آزمایش با اسکنر
آزمایش با اسکنر
آزمایش با اسکنر

برای آزمایش سیستم از یک اسباب بازی ماهی استفاده شده است و می توانید تصویر گرفته شده را مشاهده کنید. تمام فایل های گرفته شده و همچنین ابر نقطه خروجی در فایل پیوست گنجانده شده است ،

می توانید فایل ابر نقطه PLY را با Meshlab باز کنید:

meshlab.sourceforge.net/

مرحله 5: برخی دیگر از نتایج اسکن

برخی دیگر از نتایج اسکن
برخی دیگر از نتایج اسکن
برخی دیگر از نتایج اسکن
برخی دیگر از نتایج اسکن
برخی دیگر از نتایج اسکن
برخی دیگر از نتایج اسکن
برخی دیگر از نتایج اسکن
برخی دیگر از نتایج اسکن

در اینجا می توانید اسکن صورت انسان و اسکن سه بعدی دیوار را مشاهده کنید. به دلیل بازتاب یا نتایج نادرست تصویر ، همیشه برخی نقاط دورتر وجود دارد.

مرحله 6: رابط کاربری گرافیکی اسکنر سه بعدی

رابط کاربری گرافیکی اسکن سه بعدی
رابط کاربری گرافیکی اسکن سه بعدی

برای آزمایش نرم افزار اسکن سه بعدی در این مرحله ، من دو مجموعه داده اضافه می کنم ، یکی اسکن ماهی و دیگری فقط یک دیوار صفحه ای است تا دقت آن را مشاهده کنید. فایل های ZIP را باز کرده و SL3DGUI.py را اجرا کنید. برای نصب مرحله 2 را بررسی کنید. برای همه کدهای منبع ، پیام را به صندوق ورودی من ارسال کنید.

برای استفاده از قسمت اسکن سه بعدی ، باید دو دوربین و پروژکتور نصب کنید ، اما برای قسمت های دیگر فقط روی دکمه کلیک کنید. برای آزمایش داده های نمونه ، ابتدا روی فرآیند ، سپس آستانه ، مطابقت استریو و در نهایت ابر نقطه کلیک کنید. برای مشاهده ابر نقطه ای ، Meshlab را نصب کنید.

meshlab.sourceforge.net/

توصیه شده: