
Yini i-WonderSnap?
I-WonderSnap iwumuzwa we-3D osekelwe esipheqululini oguqula amamodeli akhiqizwa ngokwenqubo abe ngamafu akhazimulayo ezinhlayiya ezifika ku-250,000 eziqhutshwa yi-GPU. Ungaqhwiza iminwe ukuze ubize izinhlayiya, uzihlele zibe izimpawu zezindawo noma izakhiwo zomzimba, uzungezise amamodeli ngesandla, futhi uvule imihlangano ibe ukubukwa okuhlukanisiwe okunelebula.
Lolu hlelo luhlanganisa ukulandelela izandla kudivayisi, ukuqaphela izimpawu zezandla okwenziwe ngokwezifiso, amamodeli akhiqizwa ngokwenqubo, kanye nomdwebi we-WebGL2 obhalwe ngesandla. Alusebenzisi i-Three.js, injini yemidlalo, noma uhlaka lwe-frontend. Ividiyo yekhamera yewebhu ihlala emshinini wakho futhi ayithunyelwa kuseva.
Ikhamera yewebhu iyazikhethela. Konke ukusebenzisana okubalulekile kuyatholakala nangezilawuli ezisesikrinini, ikhibhodi, negundane.
Izici Eziyinhloko
- Ukudweba izinhlayiya nge-GPU: I-physics yezinhlayiya isebenza nge-WebGL2 transform feedback futhi isekela izinhlayiya ezifika ku-250,000.
- Ukulandelela izandla kudivayisi: I-MediaPipe Hand Landmarker ilandelela izandla ezifika kwezimbili ezinamaphuzu ayisikhombisa okuma ngesandla ngasinye.
- Ukuqaphela izimpawu: Abahlukanisi abenziwe ngokwezifiso baqaphela ukuqhwiza, izibhakela, izandla ezivulekile, ukukhomba, ukuncinza, izimpawu zokuthula, ukuzungezisa isandla, nokusondeza ngezandla zombili.
- Amamodeli akhiqizwa ngokwenqubo angu-33: Iqoqo lihlanganisa izimpawu zezindawo, ukwakheka komzimba, ibhayoloji, izinjini, izimoto, nemishini.
- Izingxenye ezisebenzisanayo: Izingxenye ezinamagama zingakhanya, zihlukane zibe ukubukwa okuhlukanisiwe, zibonise amalebula, futhi zikhishwe ukuze zihlolwe eduze.
- Ukwakheka komzimba okugqwayizayo: Inhliziyo ishaya izikhathi ezingu-72 ngomzuzu, kanti amaphaphu aphefumula ngomjikelezo wemizuzwana engu-4.5.
- Amathuluzi okufunda: Imodi yemibuzo ikucela ukuthi ukhombe izingxenye, kanti izici zencazelo nezwi ziyazichaza.
- Ukulawula ngezwi: I-Chrome ne-Edge zingacubungula imiyalo efana nokuthi show me the heart, zoom in, kanye ne-quiz.
- Ukusikwa nokurekhoda: Ungaveza izingxenye ezikhanyayo ezisikiwe futhi ulondoloze indawo njengevidiyo ye-WebM.
Izidingo
Ngaphambi kokufaka i-WonderSnap, qiniseka ukuthi unalokhu okulandelayo:
- Node.js 18 noma entsha.
- I-Chrome noma i-Edge ukuze usebenzise isiphequluli esibhalwe phansi.
- Ikhamera yewebhu uma ufuna izilawuli zezimpawu.
- Isiphequluli nedivayisi esekela i-WebGL2.
Ikhamera kufanele ifinyelelwe ku-localhost noma ekhelini le-HTTPS. Ungaliqalisi uhlelo ngokuchofoza kabili ku-index.html; sebenzisa iseva yendawo efakiwe esikhundleni salokho.
Faka bese Uqalisa i-WonderSnap
1. Klona inqolobane
git clone https://github.com/AkbarSheikh-debug/wondersnap.git
cd wondersnap2. Faka okuncikile
npm installLesi sinyathelo siphinde senze isikhathi sokusebenza sokulandelela izandla sitholakale ku-node_modules. Uma i-MediaPipe ingalokothi ilayishe, qinisekisa ukuthi ukufakwa kuqedwe ngempumelelo.
3. Qalisa iseva yendawo
npm startVula http://localhost:5173 ku-Chrome noma ku-Edge. Khetha Start with camera ukuze uvule ukulandelela izandla, noma ukhethe Continue without camera ukuze usebenzise igundane, ikhibhodi, nezilawuli ezisesikrinini.
4. Sebenzisa enye imbobo uma kudingeka
Uma imbobo engu-5173 isivele isetshenziswa, nikeza umyalo wokuqalisa enye imbobo:
npm start -- 8080Ungabe usuvula http://localhost:8080.
Indlela Eyisisekelo Yokusebenzisa Izimpawu
Ngemva kokunikeza imvume yekhamera, beka isandla sakho lapho ikhamera yewebhu ingasibona kahle khona. Ukusebenzisana okujwayelekile kulandela lezi zinyathelo:
- Qhwiza iminwe ukuze ubize izinhlayiya. Ukuqhwiza futhi kuqeda imodeli yamanje.
- Yenza isibhakela ukuze wakhe isimangaliso, isitho, imoto, injini, noma umshini okhethiwe.
- Phakamisa, jikisela, noma tshekisa isandla sakho ukuze uzungezise futhi utshekise imodeli eyakhiwe.
- Vula isandla sakho ukuze uhambise isimangaliso uye kwimodeli elandelayo. Ezithweni, ezinjini, nasezimotweni, ukuvula isandla sakho kulawula ukuthi izingxenye ziqhelelana kangakanani; ukusivala kuzibuyisela ndawonye.
- Khomba ingxenye bese ubamba umunwe wakho phezu kwayo ukuze uyikhethe. Ingxenye iyakhanya futhi ikhadi lolwazi lichaza indima yayo.
- Qinisa iminwe ukuze udonsele ingxenye ekhethiwe kuwe. Qinisa futhi ukuze uyibuyisele.
- Sebenzisa izandla zombili bese ushintsha ibanga phakathi kwazo ukuze usondeze noma uhlehlise.
- Yenza uphawu lokuthula ukuze uye kumodeli elandelayo.
Ukusebenzisa Ikhibhodi Negundane
Uma ungenayo ikhamera yewebhu, noma ufuna ukulawula okunembe kakhudlwana, sebenzisa ikhibhodi negundane. Chofoza ingxenye ukuze uyikhethe bese uhudula indawo ukuze uyizungezise.
Space: lingisa ukuqhwiza iminwe.F,O, kanye no-V: qalisa izenzo zesibhakela esivaliwe, isandla esivulekile, kanye nophawu lokuthula.Left Arrowkanye ne-Right Arrow: khetha imodeli yangaphambilini noma elandelayo.E,Up Arrow,Down Arrow, noma isondo legundane: lungisa ukubukwa kwezingxenye ezihlukanisiwe.+,-, kanye no-0: shintsha noma setha kabusha ukusondeza. Ungasebenzisa futhi u-Control kanye nesondo legundane.C: vula noma ucime ikhamera.L: bonisa noma fihla amalebula ezingxenye.R: vula noma ucime ukuzungeza okuzenzakalelayo.G: vula noma ucime ukuzungeza okulawulwa ngesandla.X: vula ingxenye ebonisa ngaphakathi. Sebenzisa u-,no-.ukuhambisa indiza yokusika kancane.Q: qala imodi yemibuzo.M: sebenzisa imiyalo yezwi nezici zokufundelwa phezulu.K: rekhoda ividiyo.D: dlala idemo eyakhelwe ngaphakathi.I: chaza ingxenye ekhethiwe.Esc: susa ukukhethwa kwengxenye yamanje.H: bonisa usizo.
Hlola Iqoqo Lamamodeli
I-WonderSnap inamamodeli enqubo angu-33 athathwe ezilinganisweni zangempela futhi ahlelwe ngamaqembu ayisithupha:
- Izimangaliso: Izimpawu zomhlaba eziyishumi nanye, okuhlanganisa i-Eiffel Tower, i-Great Pyramid, i-Taj Mahal, i-Big Ben, kanye ne-Sydney Opera House.
- Ukwakheka Komzimba: Amamodeli ayishumi, okuhlanganisa ubuchopho, inhliziyo eshayayo, amaphaphu aphefumulayo, uhlaka lwamathambo, kanye nomzimba womuntu onezingqimba.
- Isayensi Yezinto Eziphilayo: I-DNA ene-double helix engavuleka kanye neseli lesilwane.
- Izinjini: Injini ye-Inline-4, i-HEMI V8 ene-supercharger, injini yendiza ye-turbofan, kanye nezinjini ze-radial ezinamasilinda ayisishiyagalolunye.
- Izimoto: Imoto yezemidlalo, isithuthuthu, indiza yabagibeli, kanye ne-Saturn V enokuhlukaniswa kwezigaba.
- Imishini: Iwashi lesandla elisebenza ngomshini kanye nephakethe lebhethri le-EV elinamaseli, ama-busbar, ukupholisa, kanye nesistimu yokuphatha ibhethri.
Sebenzisa Izici Zezemfundo
Hlola izingxenye ezibhalwe amalebula
Khomba noma uchofoze ingxenye ukuze uyikhethe. Ingxenye ekhethiwe iyakhanya, bese ikhadi layo lichaza umsebenzi wayo. Vula amalebula ngo-L ukuze ubonise imigqa exhumanisa amagama nezingxenye ngazinye.
Qala umbuzo
Cindezela u-Q ukuze ungene kwimodi yemibuzo. I-WonderSnap iveza imiyalo efana nokuthi Thola: Hippocampus. Khomba noma uchofoze ingxenye eceliwe. Umbuzo uqukethe imibuzo emihlanu futhi ukhiqiza amaphuzu.
Lawula indawo ngelizwi
Cindezela u-M ukuze ufinyelele imiyalo yezwi nokufundelwa phezulu. Izibonelo ezisekelwayo zihlanganisa ngibonise inhliziyo, yivule, ikuphi i-atrium yangakwesokudla, sondeza, kanye nokuthi umbuzo. Ukuguqulwa kwenkulumo kube umsindo kubhalwe ukuthi kusebenza ku-Chrome naku-Edge.
Dala ingxenye ebonisa ngaphakathi
Cindezela u-X ukuze uvule ukubuka okusikiwe. Indiza yokusika ingalandela isandla sakho futhi iveze ingxenye esikiwe ekhanyayo. Ngaphandle kokufaka isenzo sesandla, sebenzisa u-, no-. ukuhambisa indiza kancane kancane.
Rekhoda umphumela
Cindezela u-K ukuze urekhode indawo bese uyigcina njengevidiyo ye-WebM.
Lungiselela i-WonderSnap Ngezinketho ze-URL
Izinketho zochungechunge lwemibuzo zikuvumela ukuthi uguqule ukuziphatha kokuqala futhi ulungise ukunikezwa ngaphandle kokuhlela amafayela omthombo.
?n=250000: setha inani lezinhlayiya.?model=12: qala ngenombolo yemodeli ethile.?autostart=camera: yeqa isikrini sokuqala bese ucela imodi yekhamera.?autostart=nocamera: yeqa isikrini sokuqala bese usebenza ngaphandle kwekhamera.?trails=0: cisha imizila yezinhlayiya.?dpr=1: phoqa isilinganiso samaphikseli sedivayisi sibe ngu-1, okungasiza kuma-GPU ahamba kancane.
Izinketho zingahlanganiswa. Ngokwesibonelo, leli kheli liqala ngaphandle kwekhamera, lisebenzisa izinhlayiya ezingu-100,000, liphoqe isilinganiso samaphikseli sedivayisi sibe ngu-1, futhi licime imizila:
http://localhost:5173/?autostart=nocamera&n=100000&dpr=1&trails=0Amathiphu Athuthukile
Thuthukisa ukusebenza kwehadiwe ehamba kancane
Inani lezinhlayiya nesilinganiso samaphikseli sedivayisi kuthinta ngokuqondile umthwalo wokunikeza. Qala ngokucushwa okunconywe ku-README kwezinga eliphansi lamafreyimu:
http://localhost:5173/?n=100000&dpr=1Uma kudingeka, engeza futhi u-trails=0 ukuze ucime imizila yezinhlayiya.
Sebenzisa izixhumanisi zokuqalisa ezinqunyiwe
Emibonisweni noma ekuhlolweni okuphindaphindekayo, hlanganisa u-model nemodi ye-autostart. Lokhu kugwema ukuzulazula mathupha esikrinini sokuqala nasohlwini lwamamodeli njalo.
Qonda ukwakheka kohlelo
Umjikelezo omkhulu wokunikeza, ukukhetha, ukusondeza, ukubukwa kwezingxenye ezihlukanisiwe, amalebula, imibuzo, ukubuka okusikiwe, nokuziphatha kwedemo kutholakala ku-src/app.js. Ukuhlanganiswa kwe-webcam ne-MediaPipe kutholakala ku-src/hands.js, kanti ukulawulwa ngezwi, ukusekelwa kokufundelwa phezulu, nokuqopha kwenziwa ku-src/features.js.
Uhla lwemibhalo src/gl/ luqukethe ama-shader e-WebGL2 kanye nenjini yokunikeza ye-transform-feedback. Umqondo wezenzo zesandla, umshini wezimo, abalawuli, kanye nokulingana kwe-CPU kwefiziksi yezinhlayiya kutholakala ku-src/logic/. Izinsiza zejiyomethri ezenziwa ngenqubo zingaphansi kwe-src/lib/, kanti izincazelo zamamodeli zihlelwe ku-src/models/.
Qalisa Iqoqo Lokuhlola
I-WonderSnap inezivivinyo ezingu-36 zokuphela-kuya-ekupheleni nezeyunithi ezakhiwe nge-Playwright. Lezi zivivinyo zisebenzisa uhlelo lwangempela ngezandla zokwenziwa newashi elinqunyiwe.
Faka isiphequluli se-Chromium se-Playwright kanye:
npx playwright install chromiumBese uqalisa izivivinyo:
npm testI-suite ihlanganisa ukugeleza okuphelele kokuthinta, yonke imodeli, ukubukwa kwezitho ezihlukanisiwe, izilawuli zekhibhodi nesondo, izakhiwo ezisabela kusayizi wesikrini, izithombe ezinyakazayo zokushaya kwenhliziyo nokuphefumula, ukusondeza ngezandla zombili, ukukhetha izingxenye, ukusebenzisana kokuncinza, imibuzo, imiyalo yezwi, imodi yokubuka ngaphakathi, ukuqopha, ukuziphatha kokusebenzisa ikhamera njengenye indlela, izihlukanisi zokuma, izinguquko zesimo, ubuqiniso bamamodeli akhiqizwa ngenqubo, kanye ne-physics ye-GPU. I-shader ye-GPU iphinde iqhathaniswe nozakwabo we-CPU ukuze kufinyelelwe cishe ku-1e-7 kuzo zonke izindlela.
Ukuxazulula Izinkinga
- Ikhamera ayiqali: Vula uhlelo nge-
http://localhost:5173esikhundleni sokuvula i-index.htmlngokuqondile, bese uvumela imvume yekhamera lapho ucelwa. - Ukulandelela izandla akulayishi: Sebenzisa i-
npm install. Isikhathi sokusebenza sokulandelela sinikezwa sisuka ku-node_modules. - Izinga lamafreyimu liphansi: Zama i-
http://localhost:5173/?n=100000&dpr=1. - I-port 5173 isetshenziswa olunye uhlelo: Sebenzisa i-
npm start -- 8080bese uvula i-http://localhost:8080.
Isiphetho
I-WonderSnap ikhombisa ukuthi ukulandelela izandla kudivayisi, izihlukanisi zangokwezifiso zokuthinta, ukumodela okukhiqizwa ngenqubo, kanye ne-physics yezinhlayiya ye-GPU kungakha kanjani isipiliyoni semfundo esisebenzisanayo ngokuphelele esipheqululini. Qala ngokusetha okujwayelekile kwasendaweni, funda ukusebenzisana kokuchofoza, isibhakela, isandla esivulekile, ukukhomba, nokuncinza, bese uhlola ukulungisa i-URL, ukulawula ngezwi, imibuzo, izigaba ezinqamulelayo, ukuqopha, kanye nesuite yokuhlola ezenzakalelayo.
