Machine Learning

Ukukala Isegimenti nge-Blender: Uyenza Kanjani Indalo Yedathasethi | nguVincent Vandenbussche | Jan, 2025

Umhlahlandlela wesinyathelo ngesinyathelo sokukhiqiza idatha yokwenziwa yokuqeqesha amamodeli e-AI

Mayelana neSayensi Yedatha
Isithombe ngu-Lina Trochez ku-Unsplash

Uma uke waqeqesha imodeli yokuhlukanisa iphrojekthi entsha, cishe uyazi ukuthi ayimayelana nemodeli. Imayelana nedatha.

Ukuqoqa izithombe ngokuvamile kuqondile; ngokuvamile ungathola okuningi kumapulatifomu afana ne-Unsplash, noma usebenzise amathuluzi e-Generative AI afana ne-Stable Diffusion ukuze ukhiqize okwengeziwe:

Inselele enkulu ngokuvamile isekulebulani. Ukuchasisa izithombe zokuhlukaniswa kudla isikhathi kakhulu. Ngisho nangamathuluzi athuthukile njenge-SAM2 nge-Meta, ukudala idathasethi enezichasiselo ezigcwele, eqinile, nehlukahlukene kusadinga isikhathi esikhulu.

Kulesi sihloko, sizohlola enye, inketho evame ukuhlolisiswa kancane: sisebenzisa amathuluzi e-3D, njenge-Blender. Ngempela, izinjini ze-3D ziya ngokuya ziba namandla futhi zingokoqobo. Ngaphezu kwalokho, banikeza inzuzo ephoqelelayo: ikhono lokukhiqiza amalebula ngokuzenzakalelayo ngenkathi udala idathasethi, ususa isidingo sezichasiselo ezenziwa ngesandla.

Kulesi sihloko, sizobeka isixazululo esiphelele sokudala imodeli yokuhlukanisa isandla, ehlukaniswe izingxenye ezibalulekile ezilandelayo:

  • Ukukhiqiza izandla nge-Blender nokuthi ungakuthola kanjani ukuhlukahluka kokuma kwesandla, indawo kanye namathoni esikhumba
  • Ukukhiqiza idathasethi kusetshenziswa izithombe ze-Blender ezikhiqiziwe nemifanekiso engemuva ekhethiwe, kusetshenziswa i-OpenCV
  • Ukuqeqesha nokuhlola imodeli nge-PyTorch

Vele, yonke ikhodi esetshenziswe kulokhu okuthunyelwe iyatholakala ngokuphelele futhi ingasetshenziswa kabusha, kule ndawo yokugcina ye-GitHub.

Ukukhiqiza izithombe zezandla, masisebenzise i-Blender. Angiyena uchwepheshe ngalolu hlobo lwethuluzi, kodwa linikeza izici eziwusizo kakhulu ngenjongo yethu:

  • Kumahhala — ayikho ilayisensi yokuhweba, noma ubani angayilanda futhi ayisebenzise ngokushesha
  • Kunomphakathi omkhulu futhi amamodeli amaningi angatholakala ku-inthanethi, amanye amahhala, amanye awakho
  • Ekugcineni, ifaka i-Python API, evumela ukuzenzakalelayo kokukhiqizwa kwesithombe ngezici ezahlukahlukene

Njengoba sizobona, lezo zici ziwusizo kakhulu, futhi zizosivumela ukuthi senze idatha yokwenziwa kalula. Ukuqinisekisa ukuhlukahluka okwanele, sizohlola ukuthi singenza kanjani ngokungahleliwe amapharamitha alandelayo ezandleni zethu ezikhiqiziwe:

  • Ukuma kweminwe: sifuna ukuba nezithombe zezandla ezindaweni eziningi ezahlukene
  • Indawo yekhamera: sifuna ukuba nezithombe zezandla emibonweni eyahlukene
  • Ithoni yesikhumba: sifuna ukuhlukahluka kwethoni yesikhumba, ukwenza imodeli iqine ngokwanele

Qaphela: Indlela ehlongozwayo lapha ayinakho ukuchema okungaba khona okusekelwe esikhumbeni futhi ayisho ukuthi ayinakuchema. Noma yimuphi umkhiqizo osuselwe kule ndlela kufanele uhlolwe ngokucophelela ngokumelene nanoma yikuphi ukuchema kwezimiso zokuziphatha.

Ngaphambi kokungena kulezi zinyathelo, sidinga imodeli yesandla ye-3D. Kunamamodeli amaningi kumawebhusayithi afana ne-Turbosquid, kodwa ngisebenzise imodeli yesandla etholakala mahhala umuntu angayithola lapha. Uma uvula leli fayela nge-Blender, uzothola okuthile okufana nesithombe-skrini esilandelayo.

Isithombe-skrini semodeli yesandla sivulwe ku-Blender. Isithombe ngumbhali.

Njengoba kubonisiwe, imodeli ayihlanganisi nje kuphela ukwakheka kwesandla nokuthungwa kodwa futhi nesakhiwo samathambo, esivumela ukulingiswa kokunyakaza kwesandla. Masisebenze kusukela kulokho ukuze sithole isethi yezandla ehlukahlukene ngokudlala ngokuma kweminwe, amathoni esikhumba kanye nokuma kwekhamera.

Ukushintsha Izikhundla Zeminwe

Isinyathelo sokuqala siwukuqinisekisa isethi ehlukahlukene kodwa engokoqobo yezindawo zeminwe. Ngaphandle kokuhlolisisa imininingwane eminingi (njengoba lokhu kuhlobana kakhulu ne-Blender ngokwayo), sidinga ukudala izilawuli zokunyakaza futhi sibeke imigoqo ekunyakazeni okuvumelekile. Ngokuyisisekelo, asifuni iminwe isonge emuva noma igobe ibheke eziqondisweni ezingezona ezangempela. Ukuze uthole imininingwane eyengeziwe ngalezi zinyathelo, bheka lesi sifundo se-YouTube, esingisizile ukuba ngizisebenzise ngomzamo omncane.

Lapho ifayela le-Blender lisethwe kahle ngezingqinamba ezifanele, singasebenzisa umbhalo wePython ukuze senze ngokuzenzakalelayo noma iyiphi indawo yomunwe:

Umsebenzi wokwenza iminwe ngokungahleliwe. Ikhodi egcwele iyatholakala ku-GitHub.

Njengoba sibona, esikwenzayo nje ukubuyekeza izindawo zezilawuli ngokungahleliwe, okuvumela ukuhambahamba kweminwe ngaphansi kwemikhawulo. Ngesethi efanele yemikhawulo, sithola izindawo zeminwe ezibukeka kanjena:

Isampuli yezithombe ezikhiqiziwe ezinezikhundla zeminwe ezingahleliwe. Isithombe ngumbhali.

Lokhu kukhiqiza ukuma kweminwe okungokoqobo nokuhlukile, ekugcineni kuvumela ukukhiqizwa kwesethi ehlukahlukene yezithombe zezandla. Manje, asidlale ngethoni yesikhumba.

Ukushintsha Ithoni Yesikhumba

Uma udala idathasethi yesithombe esisha enabantu, enye yezici eziyinselele kakhulu kungaba ukuzuza ukumelwa okwanele kwamathoni esikhumba. Ukuqinisekisa ukuthi amamodeli asebenza kahle kuwo wonke amathoni esikhumba ngaphandle kokuchema kuyinto ebaluleke kakhulu. Nakuba ngingasho ukuthi ngilungisa noma yikuphi ukuchema, indlela engiyiphakamisayo lapha ivumela ukuba nesixazululo sokusebenza ngokushintsha ngokuzenzakalelayo ithoni yesikhumba.

QAPHELA: Le ndlela ayisho ukuthi yenza amamodeli angabi nakuchema. Noma iyiphi imodeli yokukhiqiza kufanele ihlolwe ngokucophelela ngokuhlaziywa kokulunga. Umuntu angabheka okwenziwe yi-Google kumamodeli abo okubona ubuso njengesibonelo.

Engikwenzayo lapha ukubala okuhlanzekile kokucubungula isithombe esithombeni. Umbono ulula: uma kubhekwa umbala oqondiwe kanye nombala omaphakathi wesandla esinikeziwe, ngizovele ngibale umehluko phakathi kwaleyo mibala emibili. Ngizobe sengisebenzisa lo mehluko esandleni esinikeziwe ukuze ngithole ithoni yesikhumba esisha:

Umsebenzi wokuvuselela ithoni yesikhumba yezandla. Ikhodi egcwele iyatholakala ku-GitHub.

Ngenxa yalokho, inikeza izithombe ezilandelayo zezandla:

Isampuli yezithombe ezikhiqizwe ezinombala wesikhumba ohleliwe. Isithombe ngumbhali.

Nakuba imiphumela ingaphelele, ikhiqiza izithombe ezinengqondo ezinengqondo ezinamathoni esikhumba ahlukahlukene, isebenzisa ukucubungula izithombe okuqondile. Kusele isinyathelo esisodwa kuphela sokuba nesethi eyanele yezithombe: indawo yokubuka.

Ukulungisa Indawo Yekhamera

Okokugcina, masilungise ukuma kwekhamera ukuze sithwebule izandla ngemibono eminingi. Ukuze kuzuzwe lokhu, ikhamera itholakala endaweni engahleliwe kuyindilinga emaphakathi nesandla. Lokhu kungafinyelelwa kalula nje ngokudlala ngama-engeli amabili wezixhumanisi eziyindilinga. Kule khodi elandelayo ngikhiqiza indawo engahleliwe endaweni:

Isampuli yekhodi yokukhiqiza iphoyinti elingahleliwe ku-sphere yerediyasi enikeziwe. Ikhodi egcwele iyatholakala ku-GitHub.

Bese, ngisebenzisa lokhu futhi ngengeza izithiyo ezimbalwa endaweni eyindilinga, ngingakwazi ukubuyekeza indawo yekhamera esandleni nge-Blender:

Umsebenzi wokwenza indawo yekhamera ngokungahleliwe nge-Blender. Ikhodi egcwele iyatholakala ku-GitHub.

Ngenxa yalokho, manje sithola isampula elandelayo yezithombe:

Isampula yezithombe ezikhiqiziwe ezinendawo yomunwe engahleliwe, ithoni yesikhumba nendawo yekhamera. Isithombe ngombhali.

Manje sinezandla ezineminwe ehlukahlukene, ithoni yesikhumba kanye nemibono ehlukahlukene. Ngaphambi kokuqeqesha imodeli yokuhlukanisa, isinyathelo esilandelayo ukukhiqiza izithombe zezandla ezingemuva nezimo ezihlukahlukene.

Ukuze sikhiqize izithombe ezihlukene nezingokoqobo ezanele, sizohlanganisa izandla zethu ezikhiqiziwe nesethi yezithombe zangemuva ezikhethiwe.

Ngithathe izithombe ku-Unsplash, ngaphandle kwamalungelo njengezithombe ezingemuva. Ngiqinisekise ukuthi lezi zithombe aziqukethe izandla. Ngizobe sengingeza ngokungahleliwe izandla ezikhiqizwe yi-Blender kulezi zithombe ezingemuva:

Ikhodi esetshenziselwa ukukhiqiza isithombe esihlanganisiwe nemaski umphumela wesithombe sangemuva nesandla esakhiwe. Ikhodi egcwele iyatholakala ku-GitHub.

Lo msebenzi, nakuba umude, wenza izenzo ezilula:

  • Layisha isithombe sesandla esingahleliwe kanye nemaski
  • Layisha isithombe sangemuva esingahleliwe
  • Shintsha usayizi wesithombe sangemuva
  • Khetha indawo engahleliwe esithombeni esingemuva ukuze ubeke isandla
  • Bala imaski entsha
  • Bala isithombe esihlanganisiwe sengemuva nesandla

Ngenxa yalokho, kulula ukukhiqiza amakhulukhulu noma izinkulungwane zezithombe ezinamalebula azo ngomsebenzi wokuhlukanisa. Ngezansi isampula yezithombe ezikhiqiziwe:

Isampula yezithombe ezikhiqiziwe ezinengemuva nesandla esikhiqizwe nge-blender. Isithombe ngumbhali.

Ngalezi zithombe namamaski akhiqiziwe, manje singadlulela esinyathelweni esilandelayo: ukuqeqesha imodeli yokuhlukanisa.

Manje njengoba sesikhiqize idatha ngendlela efanele, ake siqeqeshe imodeli yokuhlukanisa kuyo. Ake siqale sikhulume ngepayipi lokuqeqesha, bese sihlola izinzuzo zokusebenzisa le datha ekhiqiziwe.

Ukuqeqesha Imodeli

Sizosebenzisa i-PyTorch ukuqeqesha imodeli, kanye nelabhulali ye-Segmentation Models Pytorch, evumela ukuqeqesha kalula amamodeli amaningi okuhlukanisa.

Amazwibela wekhodi alandelayo avumela ukuqeqeshwa kwemodeli:

Ikhodi yokuqeqesha imodeli yokuhlukanisa. Ikhodi egcwele iyatholakala ku-GitHub.

Le khodi yenza izinyathelo ezijwayelekile zokuqeqeshwa okuyimodeli:

  • Qinisekisa isitimela namasethi edatha avumelekile, kanye nezilayishi zedatha
  • Faka imodeli ngokwayo
  • Chaza ukulahlekelwa nesilungiseleli
  • Qeqesha imodeli futhi uyigcine

Imodeli ngokwayo ithatha ama-agumenti okokufaka ambalwa:

  • Isifaki khodi, sokukhetha kulolu hlu lwamamodeli asetshenzisiwe, njenge-MobileNetV3 engiyisebenzisa lapha.
  • Izisindo zokuqalisa kudathasethi ye-ImageNet
  • Inani lamashaneli okokufaka, lapha 3 kusuka ku-RGB njengoba sisebenzisa izithombe ezinemibala
  • Inani lamashaneli okukhiphayo, lapha 1 njengoba kunesigaba esisodwa kuphela
  • Umsebenzi wokwenza kusebenze okukhiphayo: i-sigmoid lapha, futhi njengoba kunesigaba esisodwa kuphela

Ukuqaliswa okugcwele kuyatholakala ku-GitHub uma ufuna ukwazi okwengeziwe.

Ukuhlola Imodeli

Ukuze uhlole imodeli, kanye nentuthuko evela ezithombeni ezihlanganisiwe, masenze lokhu kuqhathanisa okulandelayo:

  • Qeqesha futhi uhlole imodeli kudathasethi ye-Ego Hands
  • Qeqesha futhi uhlole imodeli efanayo kudathasethi ye-Ego Hands, nedatha yethu ekhiqiziwe ehlanganisiwe yengezwe kusethi yesitimela.

Kuzo zombili izimo, ngizohlola imodeli kusethi engaphansi efanayo yedathasethi ye-Ego Hands. Njengemethrikhi yokuhlola, ngizosebenzisa i-Intersection over Union (IoU) (ebuye ibizwe ngokuthi I-Jaccard Index). Ngezansi imiphumela:

  • Kusethi yedatha ye-Ego Hands iyodwa, ngemva kwezinkathi ezingu-20: IoU = 0.72
  • Kudathasethi ye-Ego Hands + izithombe ezikhiqizwe yi-Blender, ngemva kwezinkathi ezingu-20: IoU = 0.76

Njengoba sibona, singathola ukuthuthuka okuphawulekayo, ukusuka ku-0.72 kuya ku-0.76 ku-IoU, ngenxa yedathasethi eyenziwe ngezithombe ezikhiqizwe i-Blender.

Ukuhlola Imodeli

Kunoma ngubani ozimisele ukuzama le modeli kukhompyutha yakhe, ngingeze neskripthi ku-GitHub, ukuze isebenze ngesikhathi sangempela kokuphakelayo kwekhamera yewebhu.

Ikhodi yokusebenzisa idemo yokuhlukanisa kukhamera yewebhu. Ikhodi egcwele iyatholakala ku-GitHub.

Njengoba ngiqeqeshe imodeli encane uma kuqhathaniswa (i-MobileNetV3 Large 100), amakhompyutha aphathekayo amaningi esimanje kufanele akwazi ukusebenzisa le khodi ngempumelelo.

Masisonge lesi sihloko ngezinto ezimbalwa ezibalulekile esingazithatha:

  • I-Blender iyithuluzi elihle elikuvumela ukuthi ukhiqize izithombe ezingokoqobo ngaphansi kwezimo ezihlukene: ukukhanya, indawo yekhamera, ukuguqulwa, njll.
  • I-Leveraging Blender ukukhiqiza idatha yokwenziwa ingase idinge isikhathi, kodwa ingenziwa ngokuzenzakalelayo kusetshenziswa i-Python API.
  • Ukusebenzisa idatha ekhiqiziwe kuthuthukise ukusebenza kwemodeli yomsebenzi wokuhlukanisa i-semantic: kuthuthukise i-IoU isuka ku-0.72 yafika ku-0.76
  • Ukuze uthole idathasethi ehluke kakhulu, kungenzeka ukwenza lokho ngamamodeli esandla e-Blender amaningi: umumo wezandla owengeziwe, ukwakheka okwengeziwe kungasiza imodeli yokuhlukanisa ukuthi ifane nakakhulu.

Okokugcina, uma ukwazi ukuba nemodeli esebenzayo futhi ungathanda ukuthola isu elingcono kakhulu lokuyisebenzisa, ungabheka lo mhlahlandlela:

Njengenothi eseceleni, ngenkathi lesi sihloko sigxile ekuhlukaniseni kwe-semantic, le ndlela ivumelana neminye imisebenzi yombono wekhompyutha, okuhlanganisa ukuhlukanisa ngokwesibonelo, ukuhlukanisa, nokubikezela okuyingqopha-mlando. Ngingathanda ukuzwa okunye ukusetshenziswa okungenzeka kwe-Blender okungenzeka ngiphuthelwe.

Nazi ezinye izinkomba, noma sezivele zishiwo ngaphakathi kwe-athikili:

Source link

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button