- கூறுகள் தேவை
- சுற்று வரைபடம்
- இருமல் கண்டறிதல் இயந்திரத்திற்கான தரவுத்தொகுப்பை உருவாக்குதல்
- மாதிரியைப் பயிற்றுவித்தல் மற்றும் குறியீட்டை மாற்றுதல்
COVID19 உண்மையில் உலகம் முழுவதையும் மிகவும் மோசமாக பாதிக்கும் ஒரு வரலாற்று தொற்றுநோயாகும், மேலும் மக்கள் அதனுடன் போராட நிறைய புதிய சாதனங்களை உருவாக்குகிறார்கள். தொடர்பு இல்லாத வெப்பநிலை திரையிடலுக்கான தானியங்கி சுத்திகரிப்பு இயந்திரம் மற்றும் வெப்ப துப்பாக்கி ஆகியவற்றை நாங்கள் உருவாக்கியுள்ளோம். கொரோனா வைரஸுடன் சண்டையிட உதவும் ஒரு சாதனத்தை இன்று உருவாக்குவோம். இது இருமல் கண்டறிதல் முறையாகும், இது சத்தம் மற்றும் இருமல் ஒலியை வேறுபடுத்தி அறியக்கூடியது மற்றும் கொரோனா சந்தேக நபரைக் கண்டறிய உதவும். அது இயந்திர கற்றல் நுட்பங்களைப் பயன்படுத்தும்.
இந்த டுடோரியலில், அர்டுயினோ 33 பி.எல்.இ சென்ஸ் மற்றும் எட்ஜ் இம்பல்ஸ் ஸ்டுடியோவைப் பயன்படுத்தி இருமல் கண்டறிதல் முறையை உருவாக்க உள்ளோம் . இது நிகழ்நேர ஆடியோவில் சாதாரண பின்னணி இரைச்சலுக்கும் இருமலுக்கும் இடையில் வேறுபடலாம். இருமல் மற்றும் பின்னணி இரைச்சல் மாதிரிகளின் தரவுத்தொகுப்பைப் பயிற்றுவிப்பதற்கும், மிகவும் உகந்த TInyML மாதிரியை உருவாக்குவதற்கும் எட்ஜ் இம்பல்ஸ் ஸ்டுடியோவைப் பயன்படுத்தினோம், இது நிகழ்நேரத்தில் இருமல் ஒலியைக் கண்டறிய முடியும்.
கூறுகள் தேவை
வன்பொருள்
- Arduino 33 BLE Sense
- எல்.ஈ.டி.
- ஜம்பர் கம்பிகள்
மென்பொருள்
- எட்ஜ் இம்பல்ஸ் ஸ்டுடியோ
- Arduino IDE
Arduino 33 BLE Sense பற்றிய விரிவான டுடோரியலை நாங்கள் உள்ளடக்கியுள்ளோம்.
சுற்று வரைபடம்
Arduino 33 BLE Sense ஐப் பயன்படுத்தி இருமல் கண்டறிதலுக்கான சுற்று வரைபடம் கீழே கொடுக்கப்பட்டுள்ளது. Arduino 33 BLE க்கான ஃப்ரிட்ஸிங் பகுதி கிடைக்கவில்லை, எனவே இருவருக்கும் ஒரே முள்-அவுட் இருப்பதால் நான் Arduino நானோவைப் பயன்படுத்தினேன்.

எல்.ஈ.டி யின் நேர்மறை ஈயம் ஆர்டுயினோ 33 பி.எல்.இ உணர்வின் டிஜிட்டல் முள் 4 உடன் இணைக்கப்பட்டுள்ளது மற்றும் எதிர்மறை ஈயம் அர்டுயினோவின் ஜி.என்.டி முள் உடன் இணைக்கப்பட்டுள்ளது.

இருமல் கண்டறிதல் இயந்திரத்திற்கான தரவுத்தொகுப்பை உருவாக்குதல்
முன்னர் குறிப்பிட்டபடி, எங்கள் இருமல் கண்டறிதல் மாதிரியைப் பயிற்றுவிக்க எட்ஜ் இம்பல்ஸ் ஸ்டுடியோவைப் பயன்படுத்துகிறோம். அதற்காக, எங்கள் ஆர்டுயினோவில் நாம் அடையாளம் காண விரும்பும் தரவுகளின் மாதிரிகளைக் கொண்ட தரவுத்தொகுப்பை சேகரிக்க வேண்டும். இருமலைக் கண்டறிவதே குறிக்கோள் என்பதால், நீங்கள் அதன் சில மாதிரிகளையும் சத்தத்திற்கு வேறு சில மாதிரிகளையும் சேகரிக்க வேண்டும், எனவே இது இருமல் மற்றும் பிற சத்தங்களுக்கு இடையில் வேறுபடுகிறது.
“இருமல்” மற்றும் “சத்தம்” ஆகிய இரண்டு வகுப்புகளுடன் தரவுத்தொகுப்பை உருவாக்குவோம். தரவுத்தொகுப்பை உருவாக்க, எட்ஜ் இம்பல்ஸ் கணக்கை உருவாக்கி, உங்கள் கணக்கைச் சரிபார்த்து, புதிய திட்டத்தைத் தொடங்கவும். உங்கள் மொபைல், உங்கள் ஆர்டுயினோ போர்டைப் பயன்படுத்தி மாதிரிகளை ஏற்றலாம் அல்லது உங்கள் விளிம்பு உந்துவிசை கணக்கில் தரவுத்தொகுப்பை இறக்குமதி செய்யலாம். உங்கள் மொபைல் தொலைபேசியைப் பயன்படுத்துவதன் மூலம் உங்கள் கணக்கில் மாதிரிகளை ஏற்ற எளிதான வழி. அதற்காக, உங்கள் மொபைலை எட்ஜ் இம்பல்ஸ் உடன் இணைக்க வேண்டும்.
உங்கள் மொபைல் தொலைபேசியை இணைக்க, ' சாதனங்கள் ' என்பதைக் கிளிக் செய்து, ' புதிய சாதனத்தை இணைக்கவும் ' என்பதைக் கிளிக் செய்க.

இப்போது அடுத்த சாளரத்தில், ' உங்கள் மொபைல் தொலைபேசியைப் பயன்படுத்து ' என்பதைக் கிளிக் செய்க, மேலும் ஒரு QR குறியீடு தோன்றும். கூகிள் லென்ஸ் அல்லது பிற QR குறியீடு ஸ்கேனர் பயன்பாட்டைப் பயன்படுத்தி உங்கள் மொபைல் தொலைபேசியுடன் QR குறியீட்டை ஸ்கேன் செய்யுங்கள்.
இது உங்கள் தொலைபேசியை எட்ஜ் இம்பல்ஸ் ஸ்டுடியோவுடன் இணைக்கும்.

உங்கள் தொலைபேசி எட்ஜ் இம்பல்ஸ் ஸ்டுடியோவுடன் இணைக்கப்பட்டுள்ளதால், இப்போது உங்கள் மாதிரிகளை ஏற்றலாம். மாதிரிகளை ஏற்ற, ' தரவு கையகப்படுத்தல்' என்பதைக் கிளிக் செய்க. இப்போது தரவு கையகப்படுத்தல் பக்கத்தில், லேபிள் பெயரை உள்ளிட்டு, மைக்ரோஃபோனை சென்சாராகத் தேர்ந்தெடுத்து மாதிரி நீளத்தை உள்ளிடவும். 40 நொடி மாதிரியை மாதிரிப்படுத்த, ' மாதிரி மாதிரியைத் தொடங்கு ' என்பதைக் கிளிக் செய்க. உங்களை இருமல் கட்டாயப்படுத்துவதற்கு பதிலாக, வெவ்வேறு நீளங்களின் ஆன்லைன் இருமல் மாதிரிகளைப் பயன்படுத்தலாம். வெவ்வேறு நீளங்களின் மொத்தம் 10 முதல் 12 இருமல் மாதிரிகளை பதிவு செய்யுங்கள்.

இருமல் மாதிரிகளைப் பதிவேற்றிய பிறகு, இப்போது லேபிளை 'சத்தம்' என்று அமைத்து மேலும் 10 முதல் 12 இரைச்சல் மாதிரிகளை சேகரிக்கவும்.

இந்த மாதிரிகள் தொகுதிக்கு பயிற்சி அளிப்பதற்கானவை, அடுத்த படிகளில், சோதனை தரவை சேகரிப்போம். சோதனை தரவு குறைந்தபட்சம் 30% பயிற்சி தரவுகளாக இருக்க வேண்டும், எனவே 'சத்தம்' 3 மாதிரிகள் மற்றும் 'இருமல்' 4 முதல் 5 மாதிரிகள் சேகரிக்கவும்.
உங்கள் தரவைச் சேகரிப்பதற்குப் பதிலாக, எட்ஜ் இம்பல்ஸ் சி.எல்.ஐ பதிவேற்றியைப் பயன்படுத்தி எங்கள் தரவுத்தொகுப்பை உங்கள் எட்ஜ் இம்பல்ஸ் கணக்கில் இறக்குமதி செய்யலாம்.
CLI பதிவேற்றியை நிறுவ, முதலில், உங்கள் மடிக்கணினியில் Node.js ஐ பதிவிறக்கி நிறுவவும். அதன் பிறகு கட்டளை வரியில் திறந்து கீழே உள்ள கட்டளையை உள்ளிடவும்:
npm இன்ஸ்டால் -g எட்ஜ்-இம்பல்ஸ்-கிளி
இப்போது தரவுத்தொகுப்பை (தரவுத்தொகுப்பு இணைப்பு) பதிவிறக்கம் செய்து உங்கள் திட்ட கோப்புறையில் கோப்பை பிரித்தெடுக்கவும். கட்டளை வரியில் திறந்து தரவுத்தொகுப்பு இருப்பிடத்திற்கு செல்லவும், கீழே உள்ள கட்டளைகளை இயக்கவும்:
விளிம்பில்-உந்துவிசை-பதிவேற்றி --clean விளிம்பில்-உந்துவிசை-பதிவேற்றி --category பயிற்சி பயிற்சி / *. JSON விளிம்பில்-உந்துவிசை-பதிவேற்றி --category பயிற்சி பயிற்சி / *. cbor விளிம்பில்-உந்துவிசை-பதிவேற்றி --category பரிசோதனை பரிசோதனை / *. JSON விளிம்பில்-உந்துவிசை-பதிவேற்றியவர் - வகை சோதனை சோதனை / *. cbor
மாதிரியைப் பயிற்றுவித்தல் மற்றும் குறியீட்டை மாற்றுதல்
தரவுத்தொகுப்பு தயாராக இருப்பதால், இப்போது தரவுக்கான தூண்டுதலை உருவாக்குவோம். அதற்காக ' உந்துவிசை உருவாக்கு ' பக்கத்திற்குச் செல்லவும்.

இப்போது ' உந்துவிசை உருவாக்கு' பக்கத்தில், ' ஒரு செயலாக்கத் தொகுதியைச் சேர் ' என்பதைக் கிளிக் செய்க. அடுத்த சாளரத்தில், ஆடியோ (MFCC) தொகுதியைத் தேர்ந்தெடுக்கவும். அதன் பிறகு ' ஒரு கற்றல் தொகுதியைச் சேர் ' என்பதைக் கிளிக் செய்து, நியூரல் நெட்வொர்க் (கெராஸ்) தொகுதியைத் தேர்ந்தெடுக்கவும். பின்னர் ' சேவ் இம்பல்ஸ்' என்பதைக் கிளிக் செய்க.

அடுத்த கட்டத்தில், MFCC பக்கத்திற்குச் சென்று, பின்னர் ' அம்சங்களை உருவாக்கு ' என்பதைக் கிளிக் செய்க. இது எங்கள் ஆடியோ சாளரங்கள் அனைத்திற்கும் MFCC தொகுதிகளை உருவாக்கும்.

'என்று பயணத்தின் பிறகு NN நேரத்தில் வகைப்படுத்தி' பக்கம் மற்றும் 'மேல் வலது மூலையில் மூன்று புள்ளிகள் கிளிக் நியூரல் நெட்வொர்க் அமைப்புகள்' மற்றும் 'தேர்வு Keras (நிபுணர்) முறைக்கு மாறு' .

பின்வரும் குறியீட்டைக் கொண்டு அசலை மாற்றவும், ' குறைந்தபட்ச நம்பிக்கை மதிப்பீட்டை ' 0.70 ஆக மாற்றவும். பின்னர் ' தொடக்க பயிற்சி' பொத்தானைக் கிளிக் செய்க. இது உங்கள் மாதிரியைப் பயிற்றுவிக்கும்.
tensorflow.keras. இறக்குமதி மேக்ஸ்நார்ம் # மாதிரி கட்டமைப்பு மாதிரி = தொடர் () model.add (உள்ளீட்டு அடுக்கு (input_shape = (X_train.shape,), பெயர் = 'x_input')) model.add (மறுவடிவமைப்பு ((int (X_train.shape / 13), 13, 1), input_shape = (X_train.shape,))) model.add (Conv2D (10, kernel_size = 5, activation = 'relu', padding = 'same', kernel_constraint = MaxNorm (3)) model.add (AveragePooling2D) (pool_size = 2, padding = 'same')) model.add (Conv2D (5, kernel_size = 5, activation = 'relu', padding = 'same', kernel_constraint = MaxNorm (3%)) model.add (AveragePooling2D (pool_size = 2,padding = 'same')) model.add (Flatten ()) model.add (அடர்த்தியான (வகுப்புகள், செயல்படுத்தல் = 'softmax', பெயர் = 'y_pred', kernel_constraint = MaxNorm (3%)) # இது கற்றல் விகித விருப்பத்தை கட்டுப்படுத்துகிறது. = 9, சரிபார்ப்பு_டேட்டா = (எக்ஸ்_டெஸ்ட், ஒய்_டெஸ்ட்), வினைச்சொல் = 2)verbose = 2)verbose = 2)
மாதிரியைப் பயிற்றுவித்த பிறகு, அது பயிற்சி செயல்திறனைக் காண்பிக்கும். என்னைப் பொறுத்தவரை, துல்லியம் 96.5% ஆகவும், இழப்பு 0.10 ஆகவும் இருந்தது, இது தொடர நல்லது.

இப்போது எங்கள் இருமல் கண்டறிதல் மாதிரி தயாராக இருப்பதால், இந்த மாதிரியை Arduino நூலகமாக வரிசைப்படுத்துவோம். மாதிரியை நூலகமாக பதிவிறக்குவதற்கு முன், ' நேரடி வகைப்பாடு ' பக்கத்திற்குச் சென்று செயல்திறனை சோதிக்கலாம்.
' வரிசைப்படுத்தல் ' பக்கத்திற்குச் சென்று ' அர்டுயினோ நூலகம்' என்பதைத் தேர்ந்தெடுக்கவும். இப்போது கீழே உருட்டி, செயல்முறையைத் தொடங்க 'பில்ட்' என்பதைக் கிளிக் செய்க. இது உங்கள் திட்டத்திற்கான ஒரு ஆர்டுயினோ நூலகத்தை உருவாக்கும்.

இப்போது உங்கள் Arduino IDE இல் நூலகத்தைச் சேர்க்கவும். அதற்காக Arduino IDE ஐத் திறந்து, பின்னர் ஸ்கெட்ச்> Includ Library> Add.ZIP நூலகத்தைக் கிளிக் செய்க.
பின்னர், கோப்பு> எடுத்துக்காட்டுகள்> உங்கள் திட்டத்தின் பெயர் - எட்ஜ் இம்பல்ஸ்> நானோ_பிள் 33_சென்ஸ்_மிக்ரோஃபோனுக்குச் சென்று ஒரு உதாரணத்தை ஏற்றவும்.
குறியீட்டில் சில மாற்றங்களைச் செய்வோம், இதன்மூலம் அர்டுயினோ இருமலைக் கண்டறியும்போது எச்சரிக்கை ஒலி எழுப்ப முடியும். அதற்காக, ஒரு பஸர் அர்டுயினோவுடன் இணைக்கப்பட்டுள்ளது, அது இருமலைக் கண்டறிந்த போதெல்லாம், எல்.ஈ.டி மூன்று முறை ஒளிரும்.
மாற்றங்கள் வெற்றிட லூப் () செயல்பாடுகளில் செய்யப்படுகின்றன, அங்கு அது சத்தம் மற்றும் இருமல் மதிப்புகளை அச்சிடுகிறது. அசல் குறியீட்டில், இது லேபிள்களையும் அவற்றின் மதிப்புகளையும் ஒன்றாக அச்சிடுகிறது.
(size_t ix = 0; ix <EI_CLASSIFIER_LABEL_COUNT; ix ++) {ei_printf ("% s:%.5f \ n", result.classification.label, result.classification.value); }
இரைச்சல் மற்றும் இருமல் மதிப்புகள் இரண்டையும் வெவ்வேறு மாறிகளில் சேமித்து, சத்தம் மதிப்புகளை ஒப்பிடப் போகிறோம். இரைச்சல் மதிப்பு 0.50 க்கு கீழே சென்றால், அதாவது இருமல் மதிப்பு 0.50 ஐ விட அதிகமாக இருக்கும், மேலும் அது ஒலியை உருவாக்கும். இதனுடன் அசல் லூப் () குறியீட்டை மாற்றவும்:
(size_t ix = 1; ix <EI_CLASSIFIER_LABEL_COUNT; ix ++) {சீரியல்.பிரண்ட் (result.classification.value); மிதவை தரவு = result.classification.value; if (தரவு <0.50) {சீரியல்.பிரண்ட் ("இருமல் கண்டறியப்பட்டது"); அலாரம் (); }}
மாற்றங்களைச் செய்தபின், குறியீட்டை உங்கள் Arduino இல் பதிவேற்றவும். சீரியல் மானிட்டரை 115200 பாட்டில் திறக்கவும்.

எனவே இருமல் கண்டறிதல் இயந்திரத்தை எவ்வாறு உருவாக்க முடியும், எந்த COVID19 சந்தேக நபரையும் கண்டுபிடிப்பது மிகவும் பயனுள்ள முறை அல்ல, ஆனால் அது நெரிசலான சில இடங்களில் நன்றாக வேலை செய்ய முடியும்.
நூலகம் மற்றும் குறியீட்டைக் கொண்ட ஒரு முழுமையான வேலை வீடியோ கீழே கொடுக்கப்பட்டுள்ளது:
