Orodha ya maudhui:

Kichunguzi cha ukubwa wa mfukoni cha mfukoni: Hatua 7
Kichunguzi cha ukubwa wa mfukoni cha mfukoni: Hatua 7

Video: Kichunguzi cha ukubwa wa mfukoni cha mfukoni: Hatua 7

Video: Kichunguzi cha ukubwa wa mfukoni cha mfukoni: Hatua 7
Video: GUMZO BUNGENI: Suala la Kuongeza UUME Lilivyojadiliwa Leo 2024, Novemba
Anonim
Kichunguzi cha ukubwa wa mfukoni
Kichunguzi cha ukubwa wa mfukoni

COVID19 ni janga la kihistoria linaloathiri ulimwengu wote vibaya sana na watu wanaunda vifaa vingi vipya vya kupigana nayo. Tumeunda pia mashine ya usafi wa moja kwa moja na Bunduki ya Mafuta kwa uchunguzi wa joto usio na mawasiliano. Leo tutaunda kifaa kimoja zaidi kusaidia kupigana na Coronavirus. Ni mfumo wa kugundua kikohozi, ambao unaweza kutofautisha kati ya kelele na sauti ya kikohozi na inaweza kusaidia kupata mtuhumiwa wa Corona. Itatumia mbinu za kujifunza mashine kwa hiyo.

Katika mafunzo haya, tutaunda mfumo wa Kugundua Kikohozi kwa kutumia Arduino 33 BLE Sense na Studio ya Impulse Studio. Inaweza kutofautisha kati ya kelele ya kawaida ya asili na kukohoa katika sauti ya wakati halisi. Tulitumia Studio ya Msukumo wa Edge kufundisha seta ya sampuli za kikohozi na kelele za nyuma na kujenga modeli ya TInyML iliyoboreshwa sana, ambayo inaweza kugundua sauti ya Kikohozi kwa wakati halisi.

Vifaa

Vifaa

  • Arduino 33 BLE Akili
  • LEDJumper
  • Waya

Programu

  • Studio ya Msukumo wa Edge
  • Arduino IDE

Hatua ya 1: Mchoro wa Mzunguko

Mchoro wa Mzunguko
Mchoro wa Mzunguko
Mchoro wa Mzunguko
Mchoro wa Mzunguko

Mchoro wa Mzunguko wa Kugundua Kikohozi Kutumia Arduino 33 BLE Sense imepewa hapo juu. Sehemu ya Fritzing ya Arduino 33 BLE haikupatikana, kwa hivyo nilitumia Arduino Nano kwani wote wana pin-out sawa.

Mwongozo mzuri wa LED umeunganishwa na pini ya dijiti 4 ya Arduino 33 hisia ya BLE na risasi hasi imeunganishwa na pini ya GND ya Arduino.

Hatua ya 2: Kuunda Hifadhidata ya Mashine ya Kugundua Kikohozi

Kuunda Hifadhidata ya Mashine ya Kugundua Kikohozi
Kuunda Hifadhidata ya Mashine ya Kugundua Kikohozi

Kama ilivyoelezwa hapo awali, tunatumia Studio ya Msukumo wa Edge kufundisha mtindo wetu wa kugundua kikohozi. Kwa hilo, lazima tukusanye hifadhidata ambayo ina sampuli za data ambazo tungependa kuweza kutambua kwenye Arduino yetu. Kwa kuwa lengo ni kugundua kikohozi, utahitaji kukusanya sampuli kadhaa za hizo na zingine kwa kelele, kwa hivyo inaweza kutofautisha kati ya Kikohozi na Kelele zingine. Tutaunda daftari na darasa mbili "kikohozi" na "kelele". Ili kuunda hifadhidata, fungua akaunti ya Msukumo wa Edge, thibitisha akaunti yako na kisha uanze mradi mpya. Unaweza kupakia sampuli kwa kutumia rununu yako, bodi yako ya Arduino au unaweza kuingiza hifadhidata kwenye akaunti yako ya msukumo wa makali. Njia rahisi ya kupakia sampuli kwenye akaunti yako ni kwa kutumia simu yako ya rununu. Kwa hilo, lazima uunganishe rununu yako na Msukumo wa Edge. Kuunganisha simu yako ya Mkononi, bonyeza 'Vifaa' na kisha bonyeza 'Unganisha Kifaa kipya'.

Hatua ya 3: Unganisha kwa Simu ya Mkononi

Unganisha kwa Simu ya Mkononi
Unganisha kwa Simu ya Mkononi

Sasa katika dirisha linalofuata, bonyeza 'Tumia simu yako ya rununu', na nambari ya QR itaonekana. Changanua nambari ya QR na simu yako ya rununu ukitumia Lenti ya Google au programu nyingine ya skana msimbo wa QR.

Hii itaunganisha simu yako na studio ya Edge Impulse.

Pamoja na simu yako iliyounganishwa na Studio ya Msukumo wa Edge, sasa unaweza kupakia sampuli zako. Ili kupakia sampuli, bonyeza 'Upataji wa data'. Sasa kwenye ukurasa wa upatikanaji wa Takwimu, ingiza jina la lebo, chagua maikrofoni kama sensa, na weka urefu wa sampuli. Bonyeza 'Anza sampuli', ili kuanza kuchukua sampuli 40 Sec. Badala ya kujilazimisha kukohoa, unaweza kutumia sampuli za kikohozi mkondoni za urefu tofauti. Rekodi jumla ya sampuli 10 hadi 12 za kikohozi za urefu tofauti.

Hatua ya 4:

Picha
Picha
Picha
Picha

Baada ya kupakia sampuli za kikohozi, sasa weka lebo kuwa 'kelele' na kukusanya sampuli zingine 10 hadi 12 za kelele.

Sampuli hizi ni za Mafunzo ya moduli, katika hatua zifuatazo, tutakusanya Takwimu za Mtihani. Takwimu za majaribio zinapaswa kuwa angalau 30% ya data ya mafunzo, kwa hivyo kukusanya sampuli 3 za 'kelele' na sampuli 4 hadi 5 za 'kikohozi' Badala ya kukusanya data yako, unaweza kuingiza hifadhidata yetu kwenye akaunti yako ya Impulse ya Edge ukitumia Edge. Impulse CLI kipakiaji. Ili kusanikisha kipakiaji cha CLI, kwanza, pakua na usakinishe Node.js kwenye kompyuta yako ndogo. Baada ya hapo fungua kidokezo cha amri na ingiza amri hapa chini:

npm kufunga -g makali-msukumo-cli

Sasa pakua hifadhidata (Kiunganishi cha Hifadhidata) na utoe faili kwenye folda ya mradi wako. Fungua kidokezo cha amri na uende kwenye eneo la hifadhidata na utumie amri zilizo chini:

mpakiaji-msukumo-mpakiaji -safishaji-msukumo-mpakiaji - mafunzo ya kategoria / *. json

kipakiaji-msukumo-kipakiaji - mafunzo ya kategoria / * cbor

kipakiaji-msukumo-kipakiaji - upimaji wa kategoria / *. json makali-msukumo-kipakiaji - upimaji wa kategoria / *. cbor

Hatua ya 5: Kufundisha Mfano na Kubadilisha Nambari

Kama mkusanyiko wa data uko tayari, sasa tutaunda msukumo wa data. Kwa hiyo nenda kwenye ukurasa wa 'Unda msukumo'.

Sasa kwenye ukurasa wa 'Unda msukumo', bonyeza 'Ongeza kizuizi cha usindikaji'. Kwenye dirisha linalofuata, chagua kizuizi cha Sauti (MFCC). Baada ya hapo bonyeza 'Ongeza kizuizi cha ujifunzaji' na uchague kizuizi cha Mtandao wa Neural (Keras). Kisha bonyeza 'Hifadhi Msukumo'.

Katika hatua inayofuata, nenda kwenye ukurasa wa MFCC kisha ubofye kwenye 'Tengeneza Vipengele'. Itazalisha vizuizi vya MFCC kwa windows zetu zote za sauti.

Baada ya hapo nenda kwenye ukurasa wa 'NN Classifier' na ubonyeze kwenye nukta tatu kwenye kona ya juu kulia ya mipangilio ya 'Neural Network' na uchague 'Badilisha hadi mode ya Keras (mtaalam)'.

Badilisha asili na nambari ifuatayo na ubadilishe 'Kiwango cha chini cha kujiamini' kuwa '0.70'. Kisha bonyeza kitufe cha 'Anza mafunzo'. Itaanza kufundisha modeli yako.

kuagiza tensorflow kama tffrom tensorflow.keras.models kuagiza Sequential from tensorflow.keras.layers import Dense, InputLayer, Dropout, Flatten, Reshape, BatchNormalization, Conv2D, MaxPooling2D, AveragePooling2D from tensorflow.keras.optimizersers import Adam from Modeli ya usanifu wa mfano wa MaxNorm 13), 13, 1), input_shape = (X_train.shape [1],))) model.add (Conv2D (10, kernel_size = 5, activation = 'relu', padding = 'sawa', kernel_constraint = MaxNorm (3 mfano. modeli. (3))) # hii inadhibiti kiwango cha kujifunza opt = Adam (lr = 0.005, beta_ 1 = 0.9, beta_2 = 0.999) # fanya mazoezi ya mtindo wa mtandao wa neva. Kukusanya (hasara = 'kitengo_za_kisasi', optimizer = opt, metrics = ['usahihi']) model.fit (X_train, Y_train, batch_size = 32, epochs = 9, idhini_data = (X_test, Y_test), kitenzi = 2)

Hatua ya 6:

Baada ya mafunzo ya mfano, itaonyesha utendaji wa mafunzo. Kwangu, usahihi ulikuwa 96.5% na hasara ilikuwa 0.10 ambayo ni nzuri kuendelea.

Sasa kama mtindo wetu wa kugundua kikohozi uko tayari, tutatumia mtindo huu kama maktaba ya Arduino. Kabla ya kupakua mfano kama maktaba, unaweza kujaribu utendaji kwa kwenda kwenye ukurasa wa 'Uainishaji wa Moja kwa Moja'. Nenda kwenye ukurasa wa 'Kupelekwa' na uchague 'Maktaba ya Arduino'. Sasa shuka chini na bonyeza 'Jenga' kuanza mchakato. Hii itaunda maktaba ya Arduino kwa mradi wako.

Sasa ongeza maktaba katika IDE yako ya Arduino. Kwa hiyo fungua Arduino IDE na kisha bonyeza Mchoro> Jumuisha Maktaba> Ongeza. ZIP maktaba. Kisha, pakia mfano kwa kwenda kwenye Faili> Mifano> Jina la mradi wako - Msukumo wa makali> nano_ble33_sense_microphone. Tutafanya mabadiliko kadhaa kwenye nambari ili tuweze kutoa sauti ya tahadhari wakati Arduino itakapogundua kikohozi. Kwa hilo, buzzer inaingiliana na Arduino na wakati wowote inapogundua kikohozi, LED itaangaza mara tatu. Mabadiliko hufanywa kwa kazi batili za kitanzi () ambapo inachapisha kelele na maadili ya kikohozi. Katika nambari ya asili, inachapisha maandiko na maadili yao pamoja. kwa (size_t ix = 0; ix <EI_CLASSIFIER_LABEL_COUNT; ix ++) {ei_printf ("% s:%.5f / n", result.classification [ix].label, result.classification [ix].thamani); } Tutaokoa maadili ya kelele na kikohozi katika anuwai tofauti na kulinganisha maadili ya kelele. Ikiwa thamani ya kelele inakwenda chini ya 0.50 hiyo inamaanisha thamani ya kikohozi ni zaidi ya 0.50 na itatoa sauti. Badilisha nambari ya awali ya kitanzi () na hii: kwa (size_t ix = 1; ix <EI_CLASSIFIER_LABEL_COUNT; ix ++) {Serial.print (result.classification [ix].thamani); Takwimu za kuelea = matokeo. uainishaji [ix]. ikiwa (Takwimu <0.50) {Serial.print ("Kikohozi Kimetambuliwa"); kengele (); }} Baada ya kufanya mabadiliko, pakia msimbo kwenye Arduino yako. Fungua mfuatiliaji wa serial saa 115200 baud.

Kwa hivyo hii ndio njia ambayo mashine ya kugundua kikohozi inaweza kujengwa, sio njia nzuri sana kupata mtuhumiwa yeyote wa COVID19 lakini inaweza kufanya kazi vizuri katika eneo lenye watu wengi.

Hatua ya 7: Kanuni

Tafadhali pata faili iliyoambatanishwa, Na ikiwa uliipenda usisahau kunipigia kura kwenye shindano hapa chini.

Ilipendekeza: