3D վերակառուցում մեկ լուսանկարից ՝ 8 քայլ
3D վերակառուցում մեկ լուսանկարից ՝ 8 քայլ
Anonim
3D վերակառուցում մեկ լուսանկարից
3D վերակառուցում մեկ լուսանկարից
3D վերակառուցում մեկ լուսանկարից
3D վերակառուցում մեկ լուսանկարից

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

Քայլ 1. Գնահատեք առաջադրանքի բարդությունը

Գնահատեք առաջադրանքի բարդությունը
Գնահատեք առաջադրանքի բարդությունը
Գնահատեք առաջադրանքի բարդությունը
Գնահատեք առաջադրանքի բարդությունը

Առաջին հայացքից խնդիրը պարզ է. Գտեք կենտրոնական հանգույցը, որտեղ խորանարդի 3 եզրեր միանում են և գծում այս եզրերը: Նրանց կոորդինատներից հնարավոր է հաշվարկել տեսախցիկից հեռավորությունը և պտտման անկյունները: Խնդիրն այն է, որ այդ տողերը գոյություն չունեն: Ձախ պատկերից տեսնում եք, որ յուրաքանչյուր եզր ներկայացված է 2 զուգահեռ գծերով: Ավելին, վերին աջ նկարը ցույց է տալիս, որ դրանցից յուրաքանչյուրը բաժանված է 3 հատվածի: Ավելին, եթե կիրառենք հանրաճանաչ Hough փոխակերպման մի տարբերակ, որը կարող է հայտնաբերել գծերի հատվածները, այն կատարում է առաջադրանքը որոշ սխալներով, որոնք անհնար են դարձնում կենտրոնական հանգույցի հայտնաբերումը: Եթե ծայրերը չեն հասնում միմյանց, չկա մի կետ: Եթե հայտնաբերումը գերազանցի վերջը, այն նման կլինի եզրագծի կեսին գտնվող հանգույցին, ինչպես տեսնում եք մնացած 2 պատկերների վրա:

Քայլ 2: Գտեք ճիշտ մոտեցումը

Գտեք ճիշտ մոտեցումը
Գտեք ճիշտ մոտեցումը

Երբ չափազանց շատ մանրամասներ դետերմինիստական ալգորիթմները դարձնում են անիրագործելի, ժամանակն է դիտարկել հավանական մոտեցումը: Եթե մենք հաշվարկենք պատկերի միջինացված պարամետրերը, դրանց սխալներն էապես կնվազեն, և պարադոքսալ կերպով մեթոդը կդառնա ավելի հուսալի: Ստանդարտ Hough փոխակերպումը չի թողնում գծի հատվածներ: Միայն նրա լանջի թետան և կոորդինատային ծագումից rho հեռավորությունը: Նրանք կազմում են Hough տիեզերական մասը, որի վերևում ներկայացված է: Այստեղ թետան համապատասխանում է հորիզոնական առանցքին: Պայծառ բծերը նշում են նկարի վրա հնարավոր տողերը: Նկատի ունեցեք, որ նման մի քանի բծեր գտնվում են մեկը մյուսից վերև: Wonderարմանալի չէ, որ մեր պատկերի վրա կան բազմաթիվ զուգահեռ գծեր: Նրանք ունեն նույն թետան և տարբեր ռհո:

Քայլ 3. Հաշվիր Թետայի հիստոգրամը

Հաշվիր Թետայի հիստոգրամը
Հաշվիր Թետայի հիստոգրամը

Եկեք հայտնաբերենք նման կլաստերներ: Այդ նպատակով մենք ամփոփելու ենք Hough տարածության բոլոր կետերի ընթերցումները `նույն թեթայով: Նկարի վրա տեսնում եք համապատասխան հիստոգրամը: Մի քանի նշում չափումների մասին: Երբ աշխատում եք պիքսելային կոորդինատներով պատկերների հետ, X առանցքն անցնում է սովորական ռեժիմով, բայց Y- ն ուղղվում է ներքև, ուստի կոորդինատների սկզբնաղբյուրը վերին ձախ անկյունն է, և տետան պետք է չափվի X առանցքից ժամացույցի սլաքի ուղղությամբ: Նկատի ունենալով, որ նկարի վրա թետայի ամբողջ մաքրումը 180 աստիճան է, կարող եք մոտավորապես ստուգել, որ 3 հիմնական գագաթները ներկայացնում են պատկերի 3 գերակշռող լանջերը:

Քայլ 4. Հաշվիր Rho հիստոգրամը

Հաշվիր Rho Histogram- ը
Հաշվիր Rho Histogram- ը

Այժմ, երբ մենք գիտենք զուգահեռ գծերի 3 հիմնական կլաստեր, եկեք առանձնացնենք տողեր դրանցից յուրաքանչյուրի ներսում: Մենք կարող ենք կրկնել նույն մոտեցումը: Եկեք վերցնենք Hough տարածությունից մի սյունակ, որը համապատասխանում է մեկ գագաթին theta histogram- ում: Հաջորդը, մենք կհաշվարկենք մեկ այլ հիստոգրամ, որտեղ X առանցքը ներկայացնում է rho արժեքը, իսկ Y- ը `այս rho- ի ամփոփ ցուցանիշները: Ակնհայտ է, որ գումարը ավելի քիչ կլինի, որպեսզի այս գծապատկերն այնքան էլ հարթ չլինի: Այնուամենայնիվ, գագաթները հստակ տեսանելի են, և դրանց թիվը (7) ճշգրիտ համապատասխանում է աղբյուրի պատկերի զուգահեռ գծերի թվին: Unfortunatelyավոք, ոչ բոլոր գծապատկերներն են այդքան կատարյալ, բայց սկզբունքը պարզ է:

Քայլ 5: Գտեք կենտրոնական հանգույցը

Գտեք կենտրոնական հանգույցը
Գտեք կենտրոնական հանգույցը

Եթե վերցնենք rho histogram- ի կենտրոնական գագաթը յուրաքանչյուր թետայի համար, կստանանք 3 տող, որոնք կարմիր են նկարի վրա: Նրանց խաչմերուկը նշում է անհրաժեշտ կետը:

Քայլ 6: Ընտրեք 2 այլընտրանքներից

Ընտրեք 2 այլընտրանքներից
Ընտրեք 2 այլընտրանքներից
Ընտրեք 2 այլընտրանքներից
Ընտրեք 2 այլընտրանքներից

Դուք տեսնում եք, որ յուրաքանչյուր տող գնում է կենտրոնական կետից երկու ուղղություններով: Ինչպե՞ս որոշել ճիշտ կեսը: Վերցնենք theta3- ը: Ենթադրենք, մենք վերցնում ենք այս գծի ստորին հատվածը: Եկեք հաշվենք ևս մեկ Hough տարածք միայն նկարի 2 կանաչ գծերից մինչև նկարի վերին աջ անկյունը: Այնուհետև դրա համար ստեղծեք տետա հիստոգրամ: Տեսնում եք, որ երրորդ գագաթն ամբողջությամբ անհետացավ, ուստի մենք ճիշտ ընտրություն ենք կատարել:

Քայլ 7: Որոշեք արտաքին անկյունները

Որոշեք արտաքին անկյունները
Որոշեք արտաքին անկյունները

Այժմ մենք կարող ենք օգտագործել rho histograms- ի առաջին և վերջին գագաթը, որպեսզի գծենք կապույտ գծեր, որոնք կտրում են կարմիր եզրերը և նշում մնացած անկյունները: Առաջադրանքը լուծված է:

Քայլ 8: Փորձեք այն գործնականում

Այս հրահանգի պատկերազարդումները ստեղծվել են Perception 1.0 -ի միջոցով: Սա անվճար ծրագիր է, որն օգտագործում է OpenCV- համակարգչային տեսողության հզոր գրադարան: Նաև այն կարող է կապված լինել WinNB- ի հետ, որն օգտագործվել էր իմ մեկ այլ Instructable- ում ՝ այդպիսով ապահովելով ռոբոտաշինության տեսողության կարողություն: Երկու ծրագրերը կարող եք ներբեռնել nbsite- ից: Տեղադրման համար պարզապես գործարկեք ներբեռնված exe ֆայլը: Հետագայում կարող եք հեռացնել այն ՝ օգտագործելով Windows- ի ստանդարտ գործիքը: Կայքը պարունակում է նաև համակարգչային տեսլականի և հարակից թեմաների վերաբերյալ ռեսուրսներ: Ընկալման մեջ դուք կգտնեք 3D վերակառուցման նկարագրված մեթոդը, ինչպես նաև շատ ուրիշներ: Այս ծրագրի առավելությունն այն է, որ այն վերջնական արդյունքն է տալիս միջանկյալ տվյալների հետ միասին: Դուք կարող եք հետազոտել, թե ինչպես է աշխատում համակարգչային տեսլականը ՝ առանց ծրագրավորող լինելու: Ինչ վերաբերում է ներածմանը, ապա յուրաքանչյուր մեթոդ ունի հատուկ ընտրված բնորոշ նմուշներ: Իհարկե, դուք նույնպես կարող եք օգտագործել ձեր սեփականը: Հնարավոր է պատկերներ մուտքագրել ֆայլից կամ համակարգչի տեսախցիկից: Ազատորեն դիմեք ինձ ցանկացած հարցի կամ առաջարկության դեպքում:

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