Բովանդակություն:

DIY 3D սկաներ ՝ հիմնված կառուցվածքային լույսի և ստերեո տեսողության վրա ՝ Python լեզվով ՝ 6 քայլ (նկարներով)
DIY 3D սկաներ ՝ հիմնված կառուցվածքային լույսի և ստերեո տեսողության վրա ՝ Python լեզվով ՝ 6 քայլ (նկարներով)

Video: DIY 3D սկաներ ՝ հիմնված կառուցվածքային լույսի և ստերեո տեսողության վրա ՝ Python լեզվով ՝ 6 քայլ (նկարներով)

Video: DIY 3D սկաներ ՝ հիմնված կառուցվածքային լույսի և ստերեո տեսողության վրա ՝ Python լեզվով ՝ 6 քայլ (նկարներով)
Video: СОЛНЦЕ - Тайны и факты - Документальный фильм 2024, Հուլիսի
Anonim
DIY 3D սկաներ ՝ հիմնված կառուցվածքային լույսի և ստերեո տեսողության վրա ՝ Python լեզվով
DIY 3D սկաներ ՝ հիմնված կառուցվածքային լույսի և ստերեո տեսողության վրա ՝ Python լեզվով
DIY 3D սկաներ ՝ հիմնված կառուցվածքային լույսի և ստերեո տեսողության վրա ՝ Python լեզվով
DIY 3D սկաներ ՝ հիմնված կառուցվածքային լույսի և ստերեո տեսողության վրա ՝ Python լեզվով

Այս 3D սկաները պատրաստվել է ցածր գնով սովորական իրերի օգտագործմամբ, ինչպիսիք են տեսապրոյեկտորը և վեբ -տեսախցիկները: Կառուցվածքային լույսի եռաչափ սկաները 3D սկանավորման սարք է ՝ օբյեկտի եռաչափ ձևը չափելու համար ՝ օգտագործելով լուսավորված նախագծեր և տեսախցիկի համակարգ: Softwareրագիրը մշակվել է կառուցված լույսի և ստերեո տեսողության հիման վրա ՝ պիթոնի լեզվով:

Եռաչափ ձևավորված մակերևույթի վրա լույսի նեղ շերտը առաջացնելը տալիս է լուսավորության մի գիծ, որն այլևս պրոյեկտորից տարբերվող տեսանկյունից խեղաթյուրված է և կարող է օգտագործվել մակերեսի ձևի ճշգրիտ երկրաչափական վերակառուցման համար: Հորիզոնական և ուղղահայաց լուսային ժապավենները նախագծվում են օբյեկտի մակերևույթի վրա, այնուհետև գրավվում են երկու վեբ -տեսախցիկների միջոցով:

Քայլ 1: Ներածություն

Ներածություն
Ներածություն
Ներածություն
Ներածություն

3D ձեռքբերման ավտոմատ սարքերը (հաճախ կոչվում են 3D սկաներներ) թույլ են տալիս կառուցել իրական 3D օբյեկտների բարձր ճշգրիտ մոդելներ ծախսերի և ժամանակի արդյունավետ եղանակով: Մենք փորձարկել ենք այս տեխնոլոգիան `խաղալիքը սկանավորելու համար` կատարումն ապացուցելու համար: Հատուկ կարիքներն են ՝ միջինից բարձր ճշգրտություն, օգտագործման հեշտություն, սկանավորման մատչելի գին, ձևի և գույնի տվյալների ինքնագրանցում, և վերջապես շահագործման անվտանգություն ինչպես օպերատորի, այնպես էլ սկանավորված օբյեկտների համար: Այս պահանջների համաձայն, մենք նախագծեցինք էժանագին 3D սկաներ `հիմնված կառուցվածքային լույսի վրա, որն ընդունում է բազմակողմանի գունավոր գծավոր նախշերի մոտեցում: Ներկայացնում ենք սկաների ճարտարապետությունը, ընդունված ծրագրային տեխնոլոգիաները և դրա օգտագործման առաջին արդյունքները ՝ խաղալիքի 3D ձեռքբերման նախագծում:

Մեր էժան սկաների նախագծման մեջ մենք ընտրեցինք թողարկող սարքի ներդրումը `օգտագործելով տեսապրոյեկտոր: Պատճառը այս սարքի ճկունությունն էր (որը թույլ է տալիս փորձարկել ցանկացած տեսակի լուսային նախշ) և դրա լայն առկայությունը: Սենսորը կարող է լինել ինչպես հատուկ սարք, այնպես էլ ստանդարտ թվային ֆոտոխցիկ կամ վեբ -տեսախցիկ: այն պետք է ապահովի բարձրորակ գույնի գրավում (այսինքն ՝ բարձր դինամիկ տիրույթի ձեռքբերում) և, հնարավոր է, բարձր լուծաչափով:

Քայլ 2: Softwareրագրակազմ

Ծրագրային ապահովում
Ծրագրային ապահովում

Python լեզուն ծրագրավորման համար օգտագործվել է երեք պատճառով, մեկը ՝ հեշտ սովորելը և իրագործելը, երկուսը ՝ OPENCV- ն պատկերների հետ կապված ռեժիմների համար, և երեքը ՝ շարժական տարբեր օպերացիոն համակարգերի միջև, այնպես որ կարող եք օգտագործել այս ծրագիրը windows- ում, MAC- ում և Linux- ում: Կարող եք նաև կարգավորել ծրագրակազմը ՝ ցանկացած տեսակի տեսախցիկի (վեբ -տեսախցիկների, SLR- ների կամ արդյունաբերական տեսախցիկների) կամ պրոյեկտորի հետ 1024X768 թույլատրությամբ: Ավելի լավ է օգտագործել տեսախցիկներ ավելի քան երկու անգամ թույլատրելիությամբ: Ես անձամբ փորձեցի կատարումը երեք տարբեր կոնֆիգուրացիաներով, առաջինը ՝ երկու զուգահեռ Microsoft վեբ -տեսախցիկով և փոքր շարժական պրոյեկտորով, երկրորդը ՝ երկու lifecam կինոթատրոնով, որոնք 15 աստիճան պտտվում էին միմյանց նկատմամբ և Infocus պրոյեկտոր, վերջին կազմաձևումը ՝ logitech վեբ -տեսախցիկներով: և Infocus պրոյեկտոր: Օբյեկտի մակերևույթի կետային ամպը գրավելու համար մենք պետք է անցնենք հինգ քայլերի.

1. Մոխրագույն նախշերի նախագծում և երկու տեսախցիկից պատկերների նկարահանում «SL3DS1.projcapt.py»

2. Յուրաքանչյուր տեսախցիկի 42 պատկերի մշակում և գրավման կետերի կոդեր «SL3DS2.procimages.py»

2. Մշակման ենթակա տարածքների դիմակավորման ընտրության շեմը «SL3DS3.adjustthresh.py»

4. «SL3DS4.calcpxpy.py» տեսախցիկի մեջ գտեք և պահեք նմանատիպ կետեր

5 Հաշվիր «SL3DS5.calcxyz.py» կետի ամպի X, Y և Z կոորդինատները

Ելքը PLY ֆայլ է ՝ օբյեկտի մակերևույթի կետերի կոորդինատային և գունային տեղեկատվությամբ: Կարող եք PLY ֆայլեր բացել CAD ծրագրով, ինչպիսիք են Autodesk- ի արտադրանքը կամ բաց կոդով ծրագրակազմը, ինչպիսին է Meshlab- ը:

www.autodesk.com/products/personal-design-a…

Այս Python ծրագրերը գործարկելու համար պետք է տեղադրվեն 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 Լյումեն Գույն Լույսի ելք. (XGA) Տեսանյութի ռեժիմներ ՝ ** Տվյալների ռեժիմներ ՝ MAX 1024x768 Առավելագույն հզորություն ՝ 200 Վտ Լարում ՝ 100V - 240V Չափ (սմ) (HxWxD) ՝ 6 x 22 x 25 Քաշ ՝ 2.2 կգ Լամպի կյանք (լիարժեք հզորություն) ՝ 1, 000 ժամ Լամպի տեսակը ՝ UHP Լամպի հզորությունը ՝ 120 Վտ Լամպի քանակը ՝ 1 Displayուցադրման տեսակը ՝ 2 սմ DLP (1) Ստանդարտ խոշորացում Ոսպնյակներ ՝ 1.25: 1 Ֆոկուս.

Այս տեսապրոյեկտորը օգտագործվում է սկանավորման ենթակա օբյեկտի վրա կառուցվածքային լուսային նախշեր նախագծելու համար: Կառուցվածքային օրինակը բաղկացած է ուղղահայաց և հորիզոնական սպիտակ լույսի շերտերից, որոնք պահվում են տվյալների ֆայլում, իսկ տեսախցիկները գրավում են այդ խեղաթյուրված շերտերը:

Preանկալի է օգտագործել այն տեսախցիկները, որոնք ծրագրաշարի միջոցով վերահսկելի են, քանի որ անհրաժեշտ է կարգավորել ուշադրությունը, պայծառությունը, լուծաչափը և պատկերի որակը: Հնարավոր է օգտագործել DSLR տեսախցիկներ SDK- ներով, որոնք տրամադրվում են յուրաքանչյուր ապրանքանիշի կողմից:

Համագումարը և թեստերը անցկացվել են Կոպենհագեն Ֆաբլաբում `նրա աջակցությամբ:

Քայլ 4: Փորձարկումներ սկաների հետ

Փորձարկումներ սկաների հետ
Փորձարկումներ սկաների հետ
Փորձարկումներ սկաների հետ
Փորձարկումներ սկաների հետ
Փորձարկումներ սկաների հետ
Փորձարկումներ սկաների հետ

Համակարգը փորձարկելու համար օգտագործվել է ձկան խաղալիք, և դուք կարող եք տեսնել գրաված պատկերը: Ամբողջ գրավված ֆայլը, ինչպես նաև ելքային կետի ամպը ներառված է կցված ֆայլում, կարող եք բացել PLY կետի ամպային ֆայլը Meshlab- ով.

meshlab.sourceforge.net/

Քայլ 5: Սկանավորման այլ արդյունքներ

Որոշ այլ սկանավորման արդյունքներ
Որոշ այլ սկանավորման արդյունքներ
Որոշ այլ սկանավորման արդյունքներ
Որոշ այլ սկանավորման արդյունքներ
Որոշ այլ սկանավորման արդյունքներ
Որոշ այլ սկանավորման արդյունքներ
Որոշ այլ սկանավորման արդյունքներ
Որոշ այլ սկանավորման արդյունքներ

Այստեղ դուք կարող եք տեսնել մարդու դեմքի որոշ սկաներ և պատի 3D սկանավորում: Միշտ կան որոշ ծայրահեղ կետեր `արտացոլումների կամ պատկերի ոչ ճշգրիտ արդյունքների պատճառով:

Քայլ 6: 3D սկաների GUI

3D սկաների GUI
3D սկաների GUI

Այս փուլում 3d սկան ծրագրակազմը փորձարկելու համար ես ավելացնում եմ տվյալների երկու հավաքածու, մեկը `ձկան սկանավորումն է, իսկ մյուսը` ընդամենը հարթ պատ `դրա ճշգրտությունը տեսնելու համար: Բացեք ZIP ֆայլերը և գործարկեք SL3DGUI.py: Տեղադրման համար ստուգեք քայլ 2. Ուղարկեք հաղորդագրություն իմ մուտքի արկղ այստեղ ՝ բոլոր աղբյուրների կոդերի համար:

3D սկանավորման մաս օգտագործելու համար անհրաժեշտ է տեղադրել երկու տեսախցիկ և պրոյեկտոր, իսկ մյուս մասերի համար պարզապես կտտացրեք կոճակին: Նմուշի տվյալները փորձարկելու համար նախ կտտացրեք գործընթացի, ապա շեմի, ստերեո համընկման և վերջապես կետային ամպի վրա: Տեղադրեք Meshlab- ը ՝ կետային ամպը տեսնելու համար:

meshlab.sourceforge.net/

Խորհուրդ ենք տալիս: