nxp-ලාංඡනය

NXP AN14263 Framewor මත LVGL GUI Face Recognition ක්‍රියාත්මක කරන්න

NXP-AN14263-Implement-LVGL-GUI Face-recognition-on-Framewor-product

නිෂ්පාදන තොරතුරු

පිරිවිතර

  • නිෂ්පාදන නම: රාමුව මත LVGL GUI මුහුණු හඳුනාගැනීම
  • ලේඛන සංශෝධනය: 1 අප්‍රේල් 19 - 2024
  • මූල පද: මුහුණු හඳුනාගැනීම, LVGL GUI, Framework

නිෂ්පාදන භාවිත උපදෙස්

  1. ඉවරයිview
    මෙම නිෂ්පාදනය සරල LVGL GUI ex සමඟ මුහුණු හඳුනාගැනීමේ කාර්යය ක්‍රියාත්මක කිරීමට රාමුවක් මත මුහුණු හඳුනාගැනීම සඳහා AI&ML දර්ශන ඇල්ගොරිතම ආකෘතිය සක්‍රීය කරයි.ampSLN-TLHMI-IOT පුවරුවේ.
  2. රාමුව ඉවරයිview
    විසඳුම් මෘදුකාංගය සැලසුම් කර ඇත්තේ උපාංග කළමනාකරණය සඳහා වගකිව යුතු උපාංග කළමනාකරුවන්, යටින් පවතින තොරතුරු සාරාංශ කිරීමට HAL උපාංග සහ විවිධ උපාංග අතර සන්නිවේදනය සඳහා සිදුවීම් ඇතුළත් රාමු ගෘහ නිර්මාණ ශිල්පය වටා ය.
  3. විශේෂාංග
    නිෂ්පාදන කැමරාව පෙර හරහා මුහුණු හඳුනාගැනීමේ කාර්යය ක්රියාත්මක කිරීමට ඉඩ සලසයිview මුහුණු ලියාපදිංචි කිරීම, හඳුනා ගැනීම සහ ඉවත් කිරීම අවුලුවාලීම සඳහා බොත්තම් සහිත GUI තිරය මත. ලියාපදිංචි මුහුණු දත්ත a හරහා Flash මත ගබඩා කෙරේ file පද්ධතිය.
  4. යෙදුම් සටහනේ අන්තර්ගතය
    යෙදුම් සටහන කැමරා පෙර සමග LVGL GUI තිරයක් ඉදිරිපත් කරයිview සහ මුහුණට අදාළ ක්‍රියා සඳහා බොත්තම්. එය සංවර්ධකයින්ට රාමුව සහ සපයා ඇති හිටපු භාවිතයෙන් මුහුණු හඳුනාගැනීම ක්‍රියාත්මක කරන්නේ කෙසේද යන්න තේරුම් ගැනීමට උදවු කරයිample.

ඉවරයිview

NXP විසින් ස්මාර්ට් HMI යෙදුම් කෙරෙහි අවධානය යොමු කරන SLN-TLHMI-IOT නමින් විසඳුම් සංවර්ධන කට්ටලයක් දියත් කර ඇත. එය එක් NXP i.MX RT117H MCU එකක ක්‍රියාත්මක කරන ලද ML දර්ශනය, හඬ සහ චිත්‍රක UI සහිත ස්මාර්ට් HMI සබල කරයි. SDK මත පදනම්ව, විසඳුම් මෘදුකාංගය නම්‍යශීලී සැලසුම් සහ දර්ශන සහ හඬ ක්‍රියාකාරකම් අභිරුචිකරණය සඳහා සහාය වන රාමුවක් නම් සැලසුමක් මත ගොඩනගා ඇත. මෘදුකාංග වේදිකාව වඩා හොඳින් භාවිතා කිරීමට පරිශීලකයින්ට උපකාර කිරීම සඳහා, සමහර මූලික ලේඛන සපයනු ලැබේ, උදාample, මෘදුකාංග සංවර්ධන පරිශීලක මාර්ගෝපදේශකය. මාර්ගෝපදේශය මඟින් SLN-TLHMI-IOT භාවිතයෙන් සංවර්ධකයින්ට වඩාත් පහසුවෙන් සහ කාර්යක්ෂමව තම යෙදුම් ක්‍රියාත්මක කිරීමට උපකාර වන රාමුව ඇතුළු විසඳුමේ සියලුම අංග ආවරණය වන යෙදුම්වල මූලික මෘදුකාංග නිර්මාණය සහ ගෘහ නිර්මාණ ශිල්පය හඳුන්වා දෙයි.
විසඳුම සහ අදාළ ලියකියවිලි පිළිබඳ වැඩි විස්තර සඳහා, පිවිසෙන්න web ML Vision, Voice, සහ Graphical UI සමඟ i.MX RT117H මත පදනම් වූ NXP EdgeReady Smart HMI විසඳුමේ පිටුව. කෙසේ වෙතත්, සංවර්ධකයින්ට මෙම මූලික මාර්ගෝපදේශ වෙත යොමු කරමින් ඔවුන්ගේ ස්මාර්ට් HMI යෙදුම් ක්‍රියාත්මක කිරීම තවමත් එතරම් පහසු නැත. පියවරෙන් පියවර රාමුවේ සංවර්ධනය අධ්‍යයනය කිරීමට උපකාර වන යෙදුම් සටහන් මාලාවක් සැලසුම් කර ඇත. මෙම යෙදුම් සටහන පදනම් වන්නේ Implement LVGL GUI Camera Preview රාමුව මත (ලේඛනය AN14147). මෙම යෙදුම් සටහන කැමරා පෙර හරහා මුහුණු හඳුනාගැනීමේ කාර්යය ක්‍රියාත්මක කිරීමට රාමුව මත මුහුණු හඳුනාගැනීම සඳහා AI&ML vision ඇල්ගොරිතම ආකෘතිය සක්‍රීය කරන්නේ කෙසේද යන්න විස්තර කරයි.view සරල LVGL GUI සමඟ GUI තිරය මතampSLN-TLHMI-IOT පුවරුවේ. අයදුම්පත් සටහනේ, හිටපුample විසින් කැමරාවක් සහිත LVGL GUI තිරයක් ඉදිරිපත් කරයිview සහ මුහුණු ලියාපදිංචි කිරීම, හඳුනා ගැනීම සහ ඉවත් කිරීම අවුලුවාලීමට බොත්තම් කිහිපයක්. ලියාපදිංචි මුහුණු දත්ත ටිකක් හරහා ෆ්ලෑෂ් මත ගබඩා කර ඇත file පද්ධතිය.

ඉහළ මට්ටමක, යෙදුම් සටහනේ පහත අන්තර්ගතය අඩංගු වේ:

  • රාමුව මත මුහුණු හඳුනාගැනීමේ විශේෂාංගය සබල කරන්න.
  • හරහා රාමුව මත මුහුණු දත්ත සමුදා සහාය එක් කරන්න file ෆ්ලෑෂ් මත පද්ධතිය.
  • LVGL GUI යෙදුම ක්‍රියාත්මක කරන්න. ඉහත හැඳින්වීම් හරහා, මෙම ලේඛනය සංවර්ධකයින්ට උපකාර කරයි:
  • රාමුව සහ ස්මාර්ට් HMI විසඳුම් මෘදුකාංගය වඩාත් ගැඹුරින් තේරුම් ගන්න.
  • LVGL GUI යෙදුම සමඟ රාමුව මත ඔවුන්ගේ AI&ML මුහුණු හඳුනාගැනීම සංවර්ධනය කරන්න.

රාමුව ඉවරයිview
විසඳුම් මෘදුකාංගය මූලික වශයෙන් විවිධ කොටස් කිහිපයකින් සමන්විත රාමු ගෘහ නිර්මාණ ශිල්පය භාවිතා කිරීම වටා නිර්මාණය කර ඇත:

  • උපාංග කළමනාකරුවන් - මූලික කොටස
  • දෘඪාංග වියුක්ත ස්ථරය (HAL) උපාංග
  • පණිවිඩ/සිදුවීම්

රූප සටහන 1 හි පෙන්වා ඇති පරිදි, අවසන්view රාමුවේ යාන්ත්රණය පහත පරිදි වේ:

පද්ධතිය විසින් භාවිතා කරන උපාංග කළමනාකරණය කිරීම සඳහා උපාංග කළමනාකරුවන් වගකිව යුතුය. සෑම උපාංග වර්ගයක්ම (ආදාන, ප්‍රතිදානය සහ යනාදිය) එහිම වර්ගයට විශේෂිත උපාංග කළමනාකරු ඇත. උපාංග කළමනාකරු එය වෙත ලියාපදිංචි වීමෙන් පසුව ආරම්භ වන විට, එය ලියාපදිංචි වූ උපාංග ආරම්භ කර ආරම්භ කිරීමෙන් පසු උපාංග සහ අනෙකුත් කළමනාකරුවන් වෙත දත්ත මාරු කිරීමට පණිවිඩයක් බලා සිට පරීක්ෂා කරයි. HAL උපාංග පහළ මට්ටමේ ධාවක කේතයට ඉහළින් ලියා ඇති අතර, යටින් පවතින බොහෝ තොරතුරු සාරාංශ කිරීමෙන් කේත අවබෝධය වැඩි කිරීමට උපකාරී වේ.

සිදුවීම් යනු විවිධ උපාංග අතර ඔවුන්ගේ කළමනාකරුවන් හරහා තොරතුරු සන්නිවේදනය කරන මාධ්‍යයකි. සිදුවීමක් ක්‍රියාත්මක වූ විට, එම සිදුවීම මුලින්ම ලැබුණු උපාංගය එහි කළමනාකරුට එම සිදුවීම සන්නිවේදනය කරයි, පසුව එය සිදුවීම ලැබීමට නම් කර ඇති අනෙකුත් කළමනාකරුවන්ට දැනුම් දෙයි.

NXP-AN14263-Emplement-LVGL-GUI Face-Recognition-on-Framewor-fig- (1)

රාමුවේ වාස්තුවිද්‍යාත්මක සැලසුම මූලික අරමුණු තුනක් මත කේන්ද්‍රගත විය:

  1. භාවිතයේ පහසුව
  2. නම්‍යශීලීභාවය / අතේ ගෙන යා හැකි බව
  3. කාර්ය සාධනය

රාමුව සැලසුම් කර ඇත්තේ දර්ශනය සහ අනෙකුත් යන්ත්‍ර ඉගෙනුම් යෙදුම් සඳහා වෙළඳපොළට කාලය වේගවත් කිරීමේ අරමුණින්. වෙළඳපල සඳහා ඉක්මන් කාලයක් සහතික කිරීම සඳහා, මෘදුකාංගය තේරුම් ගැනීමට සහ වෙනස් කිරීමට පහසු වීම ඉතා වැදගත් වේ. මෙම ඉලක්කය මනසේ තබා ගනිමින්, රාමුවේ ගෘහ නිර්මාණ ශිල්පය සීමා කිරීමකින් තොරව සහ කාර්ය සාධන පිරිවැයකින් තොරව වෙනස් කිරීම පහසුය.
රාමුව පිළිබඳ වැඩි විස්තර සඳහා, Smart HMI මෘදුකාංග සංවර්ධන පරිශීලක මාර්ගෝපදේශය (ලේඛනය MCU-SMHMI-SDUG) බලන්න.

සැහැල්ලු සහ බහුකාර්ය ග්‍රැෆික් පුස්තකාලය (LVGL)
LVGL (සැහැල්ලු සහ බහුකාර්ය ග්‍රැෆික් පුස්තකාලය) යනු භාවිතා කිරීමට පහසු චිත්‍රක මූලද්‍රව්‍ය, අලංකාර දෘශ්‍ය ප්‍රයෝග සහ අඩු මතක පියසටහන් සහිත කාවැද්දූ GUI නිර්මාණය කිරීමට ඔබට අවශ්‍ය සියල්ල සපයන නිදහස් සහ විවෘත-මූලාශ්‍ර ග්‍රැෆික් පුස්තකාලයකි.

GUI මාර්ගෝපදේශකය
GUI Guider යනු NXP වෙතින් වන පරිශීලක-හිතකාමී චිත්‍රක පරිශීලක අතුරුමුහුණත් සංවර්ධන මෙවලමක් වන අතර එය විවෘත-මූලාශ්‍ර LVGL ග්‍රැෆික් පුස්තකාලය සමඟින් උසස් තත්ත්වයේ සංදර්ශක වේගයෙන් සංවර්ධනය කිරීමට ඉඩ සලසයි. GUI Guider හි drag-and-drop සංස්කාරකය මඟින් විජට්, සජීවිකරණ සහ මෝස්තර වැනි LVGL හි බොහෝ විශේෂාංග භාවිතා කිරීම අවම හෝ කේතීකරණයකින් තොරව GUI එකක් සෑදීමට පහසු කරයි.

බොත්තමක් ක්ලික් කිරීමෙන්, ඔබට ඔබේ යෙදුම අනුකරණය කළ පරිසරයක ධාවනය කිරීමට හෝ ඉලක්කගත ව්‍යාපෘතියකට අපනයනය කිරීමට හැකිය. GUI Guider වෙතින් ජනනය කරන ලද කේතය පහසුවෙන් ඔබේ ව්‍යාපෘතියට එක් කළ හැකි අතර, සංවර්ධන ක්‍රියාවලිය වේගවත් කරන අතර ඔබේ යෙදුමට කාවැද්දූ පරිශීලක අතුරු මුහුණතක් බාධාවකින් තොරව එක් කිරීමට ඔබට ඉඩ සලසයි. GUI Guider NXP හි සාමාන්‍ය අරමුණ සහ හරස්කඩ MCU සමඟ භාවිතා කිරීමට නොමිලේ වන අතර සහය දක්වන වේදිකා කිහිපයක් සඳහා බිල්ට් ව්‍යාපෘති සැකිලි ඇතුළත් වේ. GUI Guider හි LVGL සහ GUI සංවර්ධනය පිළිබඳ වැඩිදුර දැන ගැනීමට, Light and Versatile Graphics Library සහ GUI Guider පරීක්ෂා කරන්න.

සංවර්ධන පරිසරය

පළමුව, හිටපු ක්‍රියාවට නැංවීම සඳහා දෘඩාංග සහ මෘදුකාංග පරිසරය සකස් කර සකසන්නampරාමුව මත le.

දෘඪාංග පරිසරය
දෘඪාංග පරිසරය හිටපු සත්‍යාපනය සඳහා සකසා ඇතampලෙ:

  • NXP i.MX RT117H (SLN_TLHMI_IOT කට්ටලය) මත පදනම් වූ ස්මාර්ට් HMI සංවර්ධන කට්ටලය
  • 9-pin Cortex-M ඇඩැප්ටරයක් ​​සහ V7.84a හෝ ධාවකයේ නව අනුවාදයක් සහිත SEGGER J-Link

මෘදුකාංග පරිසරය
සොෆ්ට්වෙයා වටපිටාව සෙට් වෙලා තියෙන්නේ හිටපු එක ඩිවලොප් කරන්නampලෙ:

  • MCUXpresso IDE V11.7.0
  • GUI Guider V1.6.1-GA
  • lvgl_gui_camera_preview_cm7 - උදාampසංවර්ධනයේ මූලික මෘදුකාංගය ලෙස දෙවන යෙදුම් සටහනේ le කේතය. විස්තර සඳහා, බලන්න https://mcuxpresso.nxp.com/appcodehub.
  • RT1170 SDK V2.13.0 - සංවර්ධනය සඳහා කේත සම්පත ලෙස.
  • SLN-TLHMI-IOT මෘදුකාංගය V1.1.2 - සංවර්ධනය සඳහා කේත සම්පත ලෙස NXP GitHub ගබඩාව මත නිකුත් කරන ලද ස්මාර්ට් HMI මූල කේතය. විස්තර සඳහා, බලන්න: GitHub – NXP/mcu-smhmi at v1.1.2

මෘදුකාංග පරිසරය අත්පත් කර ගැනීම සහ සැකසීම පිළිබඳ විස්තර සඳහා, බලන්න: SLN-TLHMI-IOT සමඟ ආරම්භ කිරීම.

රාමුව මත දැක්ම ගෘහ නිර්මාණ ශිල්පය

රාමුවේ දර්ශන ගෘහ නිර්මාණ ශිල්පය රූප සටහන 2 හි පෙන්වා ඇත. HAL (OASIS_HAL) දර්ශන ඇල්ගෝ හි පහත ක්‍රියාවලි ඇත:

  • ප්‍රතිදාන UI HAL වෙතින් අදාළ සිදුවීම් ලැබීමෙන් පසු AI&ML vision ඇල්ගොරිතම ආකෘතිය හරහා මුහුණු ලියාපදිංචි කිරීම සහ හඳුනාගැනීම සිදු කරන්න. ඇල්ගොරිතම ආකෘතියේ සිට UI HAL ප්‍රතිදානය වෙත අනුමාන ප්‍රතිඵල දැනුම් දෙන්න.
  • කුඩා දේ මත පදනම් වූ මුහුණු විශේෂාංග දත්ත ගබඩාවට ප්‍රවේශ (එකතු කරන්න, මකන්න...). file UI HAL ප්‍රතිදානයෙන් අදාළ සිදුවීම් ලැබීමෙන් පසු FaceDB HAL හි API ඇමතීමෙන් පද්ධතිය.
  • මුහුණු ලියාපදිංචි කිරීමේදී සහ හඳුනාගැනීමේදී HAL කැමරාවෙන් කැමරා වීඩියෝ රාමුව ඉල්ලන්න.

NXP-AN14263-Emplement-LVGL-GUI Face-Recognition-on-Framewor-fig- (3)

රාමුව මත මුහුණු හඳුනාගැනීම ක්‍රියාත්මක කරන්න

LVGL GUI මුහුණු හඳුනාගැනීමේ example (උදාample පසුව සපයනු ලැබේ) රාමුව මත ex මත පදනම්ව ක්රියාත්මක වේample කේත ක්රියාත්මක කිරීම LVGL GUI කැමරා Preview රාමුව මත (ලේඛනය AN14147).

හිටපු දී මුහුණ හඳුනාගැනීම ප්‍රදර්ශනය කිරීම සඳහාample, GUI යෙදුමේ මූලික කාර්යය (රූපය 3 හි ප්‍රධාන තිරය බලන්න) පහත විස්තර කර ඇති පරිදි නිර්මාණය කර ඇත:

  • GUI යෙදුම ලියාපදිංචිය හෝ හඳුනාගැනීම බොත්තම ක්ලික් කරන විට ප්‍රතිදාන UI HAL වෙත මුහුණු ලියාපදිංචිය හෝ හඳුනාගැනීමේ සිදුවීම ප්‍රේරණය කරයි. සහ ප්‍රතිදාන UI HAL මඟින් මුහුණු ලියාපදිංචිය සාර්ථක වූ පසු HAL දර්ශන ඇල්ගෝ වෙත පරිශීලකයෙකු එක් කිරීමේ සිදුවීම දැනුම් දෙයි.
  • GUI යෙදුම පරිශීලකයාගේ මුහුණ හඳුනා ගැනීමෙන් පසු පරිශීලකයා මකන්න බොත්තම ක්ලික් කිරීමේදී ප්‍රතිදානය UI HAL වෙත පරිශීලකයෙකු මකා දැමීමේ සිදුවීම අවුලුවයි.
  • GUI යෙදුම බොත්තම් සහ රූපවලට පිටතින් තිරය ක්ලික් කරන විට UI HAL ප්‍රතිදානය වෙත ධාවනය වන oasis algo නැවැත්වීමේ සිදුවීම අවුලුවයි.

NXP-AN14263-Emplement-LVGL-GUI Face-Recognition-on-Framewor-fig- (10)

හිටපු ක්රියාත්මක කිරීම සඳහා මෘදුකාංග පැකේජය සකස් කරන්නample.

  • මූලික මෘදුකාංගය lvgl_gui_camera_pre ක්ලෝන කරන්නview_cm7. ව්යාපෘතියේ නම සහ ප්රධාන වෙනස් කරන්න fileනම lvgl_gui_face_rec_cm7.
  • 1.1.2 අනුවාදයේ සිට GitHub හි Framework core සඳහා ප්‍රභව කේත ප්‍රසිද්ධ වීමට පටන් ගෙන ඇති බැවින් මෙම රාමුව මෘදුකාංගය තුළ යාවත්කාලීන කිරීමට අවශ්‍ය වේ.
  • රාමු ෆෝල්ඩරය හැර GitHub වෙතින් V1.1.2 පිටපත සමඟ ප්‍රතිස්ථාපනය කරන්න files fwk_log.h සහ fwk_common.h inc\ යටතේ ඒවා යෙදුම් සටහන් මාලාව සඳහා වෙනස් කර ඇත. මෙහෙයුම් රූප සටහන 4 හි දැක්වේ:NXP-AN14263-Emplement-LVGL-GUI Face-Recognition-on-Framewor-fig- (11)
  • libs සමූහය යටතේ ඇති framework_cm7 ෆෝල්ඩරය මකා, මධ්‍යයේ ප්‍රභව කේතය සපයා ඇති බැවින්, Project > Properties > C/C++ Build > settings > Tool Settings > MCU C++ Linker > Libraries තුළ වින්‍යාස කර ඇති library framework_cm7 සහ එහි සෙවුම් මාර්ගය ඉවත් කරන්න.

රාමුව මත මුහුණු හඳුනාගැනීමේ විශේෂාංගය සබල කරන්න
මුහුණු හඳුනාගැනීමේ විශේෂාංගය ස්ථිතික පුස්තකාලයක් ලෙස සපයන ලද ML දර්ශන ඇල්ගොරිතම ආකෘතිය මත ගොඩනගා ඇත - NXP විසින් oasis lite ධාවන කාල පුස්තකාලයකි. පුස්තකාලය කුඩා, ඉතා කාර්යක්ෂම, අභිරුචිකරණය කළ සහ ප්‍රශස්ත AI පුස්තකාලයකි. ආකෘතියට මුහුණු හඳුනාගැනීම, මුහුණු හඳුනාගැනීම, වීදුරු හඳුනාගැනීම සහ සජීවී බව හඳුනාගැනීම ඇතුළත් වේ. එය ප්‍රධාන වශයෙන් API OASISLT_run_extended() ලබා දෙන්නේ සිදුවීම් ඇමතුම් හරහා ඇමතුම්කරුට ප්‍රතිඵල යාවත්කාලීන කරන අතරතුර මුහුණු හඳුනාගැනීමේ නල මාර්ගය ක්‍රියාත්මක කිරීමට සහ මූලාශ්‍ර රාමු තොරතුරු, ඇමතුම් සහ මතකය සඳහන් කිරීමෙන් පසු මුහුණු දත්ත සමුදා ඇමතුම් හරහා දත්ත සමුදාය තුළ මුහුණු එක් කිරීම/යාවත්කාලීන කිරීම/මකා දැමීමයි. ආරම්භයේදී වෙනත් API OASISLT_init() ඇමතීමෙන් පුස්තකාලය භාවිතා කරන සංචිතය. APIs ඇමතීම සහ ආපසු ඇමතුම් ශ්‍රිත ක්‍රියාත්මක කරනු ලබන්නේ රාමුවේ HAL දෘශ්‍ය ඇල්ගෝවේය.

දර්ශන ඇල්ගෝ ආකෘති පුස්තකාලය එක් කරන්න

  1. පුස්තකාලය සහ අදාළ ශීර්ෂය අඩංගු ෆෝල්ඩර ක්ෂේම භූමිය පිටපත් කරන්න file ස්මාර්ට් HMI\coffee_machine\cm7\libs\ වෙතින් හිටපු අයගේ ෆෝල්ඩර ලිබ් වෙතටampලෙ එස්ඩබ්ලිව්.
  2. ශීර්ෂයේ සෙවුම් මාර්ගය එක් කරන්න file ව්‍යාපෘතියේ > ගුණාංග > C/C++ Build > settings > Tool Settings > MCU C compiler > ඇතුළත් සහ MCU C++ සම්පාදකය > ඇතුළත් වන්නේ: “${workspace_loc:/${ProjName}/libs/oasis/include}”
  3. Lib සහ එහි සෙවුම් මාර්ගය ව්‍යාපෘතිය > ගුණාංග > C/C++ Build > settings > MCU C+ + Linker > Libraries: liboasis_lite2D_DEFAULT_117f_ae.a “${workspace_loc:/${ProjName}/libs/oasis} වෙත” ​​සහ සාර්ව නිර්වචනය මත එක් කරන්න. Project > Properties > C/C++ Build > settings > Tool Settings > MCU C Compiler > Preprocessor සහ MCU C++ සම්පාදකය > Preprocessor: SMART_TLHMI_2D මත විශේෂාංගය සබල කරන්න

HAL දර්ශන ඇල්ගෝ සබල කරන්න
Vision algo HAL මගින් vision algo ආකෘතිය ක්‍රියා කිරීමට ධාවනය කරන අතර එයින් සිදුවීම් ලැබීමෙන් පසු UI ප්‍රතිදානය HAL වෙත ප්‍රතිඵල ප්‍රතිචාර දක්වයි.

එය සබල කිරීමට, පවතින සමාන HAL ධාවකය ක්ලෝන කරන්න file එහිදී පහත කාර්යයන් ක්‍රියාත්මක වේ:

  • මුහුණු දත්ත සමුදා මෙහෙයුම් සහ සිදුවීම් හැසිරවීමේ ආපසු ඇමතුම් ක්‍රියාත්මක කරන්න.
  • oasis පුස්තකාලයේ APIs ඇමතීමෙන් vision algo එක වැඩ කිරීමට ධාවනය කරන්න.
  • පරිශීලක මුහුණු දත්ත සමුදාය සහ යෙදුම් දත්ත සමුදාය වෙත ප්‍රවේශ වන්න (එය හිටපු හි අවශ්‍ය නොවේampලෙ).
  • UI HAL වෙතින් සිදුවීම් ලබාගෙන ප්‍රතිඵල යවන්න.

හිටපු අය සඳහා HAL ක්‍රියාත්මක කිරීමට ප්‍රධාන කාර්යයන්ampඒවා:

  • පවතින සමාන HAL ධාවකය ක්ලෝන කරන්න file සහ අදාළ නම් වෙනස් කරන්න.
  • යෙදුම් දත්ත මෙහෙයුම්වලට අදාළ කේත ඉවත් කරන්න.
  • එක් එක් ප්‍රතිදාන UI HAL වෙතින් සිදුවීම් හැසිරවීම සඳහා නිර්වචන සහ කාර්යයන් යාවත්කාලීන කරන්නample නිර්මාණය.
  • oasis ආරම්භයේදී අවශ්‍ය වින්‍යාසයන් එකතු කරන්න.

සවිස්තරාත්මක පියවර පහත පරිදි වේ:

  1. Clone hal_vision_algo_oasis_coffeemachine.c. වෙනස් කරන්න fileනම hal_vision_algo_oasis_guifacerec.c. සහ CoffeeMachine තන්තු සියල්ල GUIFaceRec සමඟ ප්‍රතිස්ථාපනය කරන්න file.
  2. යෙදුම් දත්ත සමුදායට අදාළ කෝපිdb තන්තුව (අවස්ථා සංවේදී නොවේ) අඩංගු කේත ඉවත් කරන්න, උදාample, #ඇතුළත් hal_sln_coffeedb.h.
  3. ප්‍රතිදාන UI HAL වෙතින් සිදුවීම් හැසිරවීම සඳහා HAL_VisionAlgoDev_OasisGUIFaceRec_InputNotify() ශ්‍රිතය වෙනස් කරන්න.
    • නව මුහුණු විශේෂාංග දත්ත දත්ත ගබඩාවට එක් කිරීම සඳහා සිද්ධි නිර්වචනය kEventFaceRecId_RegisterCoffeeSelection kEventFaceRecId_RegisterUserFace ලෙස වෙනස් කරන්න
    • හිටපු මුහුණු හඳුනාගැනීමේ ක්‍රියාවන්හි සම්මත ක්‍රියාවලිය පෙන්වීමටample, kEventFaceRecID_OasisSetState හි හැසිරවීම ප්‍රාන්තවල අර්ථ දැක්වීම් සමඟ වෙනස් කරන්න:
      • kOASISLiteState
      • ලියාපදිංචිය kOAISLiteState
      • kOAISLiteState හඳුනාගැනීම
      • නැවැත්තුවා
  4. ඉහත පියවරේ සඳහන් සිදුවීම්වල නිර්වචන එකතු කර වෙනස් කරන්න.
    • ශීර්ෂය පිටපත් කරන්න file smart_tlhmi_event_descriptor.h ස්මාර්ට් HMI\coffee_machine \cm7\source\event_handlers\ වෙතින් හිටපු ෆෝල්ඩර ප්‍රභවයටampලෙ එස්ඩබ්ලිව්. යාවත්කාලීන කරන්න file පහත පරිදි:
    • enum ආකාරයේ _event_smart_tlhmi_id හි සිදුවීම් නිර්වචනය kEventFaceRecId_RegisterCoffeeSelection kEventFaceRecId_RegisterUserFace ලෙස වෙනස් කරන්න සහ ව්‍යුහය regCoffeeSelection struct _event_smart හි regGUIFaceRec ලෙස වෙනස් කරන්න. එබැවින්, regCoffeeSelection සඳහා struct register_coffee_selection_event_t ලියාපදිංචි_gui_facerec_event_t ලෙස වෙනස් කරන්න.
    • කෝපි යන්ත්‍ර යෙදුම සඳහා භාවිතා කරන අනෙකුත් අන්තර්ගත මකන්න, උදාample, හඬ පිළිබඳ කේත රේඛාව: #ඇතුළත් "hal_event_descriptor_voice.h".
    • පහත පරිදි ව්‍යාපෘතියේ රාමුව>hal>vision යටතේ hal_vision_algo.h හි oasis_lite_state_t enum වර්ගයට kOASILiteState_Stopped සහ kOAISISLiteState_Running වර්ග එකතු කරන්න:
      typedef enum _oasis_lite_state {
      • kOASISLiteState
      • ධාවනය, kOAISLiteState
      • නතර කළා, kOAISLiteState
      • පිළිගැනීම,
      • kOASISLiteState
      • ලියාපදිංචිය, kOAISLiteState
      • ලියාපදිංචිය ඉවත් කිරීම, kOAISLiteState
      • දුරස්ථ ලියාපදිංචිය, kOAISLiteState
      • ගණන් කරන්න
    • පහත පරිදි ව්‍යාපෘතියේ රාමුව>hal>vision යටතේ hal_event_descriptor_face_rec.h හි struct oasis_state_event_t පිරිපහදු කිරීමට ඉහත යාවත්කාලීන කරන ලද struct oasis_lite_state_t භාවිතා කරන්න: typedef struct _oasis_state_event_t {oasis_litte_ state; } oasis_state_even_t;
  5. දර්ශණ ඇල්ගෝ HAL සිට dual-core ලෙස එකම හරය මත ධාවනය වන අනෙකුත් HAL වෙත සිදුවීම් යැවීම සඳහා සියලුම kEventInfo_Remote kEventInfo_Local ලෙස වෙනස් කරන්න.ample.
  6. OASISLT_init() හි ක්ෂේම භූමිය ආරම්භ කිරීම සඳහා පහත වින්‍යාසයන් එකතු කර වෙනස් කරන්න:
    • board_define.h හි වීඩියෝ රාමුව සඳහා සාර්ව අර්ථ දැක්වීම් සහ මතක කොටස් එක් කරන්න: #define OASIS_RGB_FRAME_WIDTH 800
      • #OASIS_RGB_FRAME_HEIGHT 600 නිර්වචනය කරන්න
      • #OASIS_RGB_FRAME_SRC_FORMAT kPixelFormat_YUV1P444_RGB නිර්වචනය කරන්න
      • #OASIS_RGB_FRAME_BYTE_PER_PIXEL 3 නිර්වචනය කරන්න
      • #අර්ථ දැක්වීම AT_FB_SHMEM_SECTION_ALIGN(var, alignbytes) \
      • __attribute__((“.bss.$fb_sh_mem,\”aw\”,%nobits @”))) var
      • __attribute__((පෙළගැසුනු(alignbytes)))
    • රූපය 5 හි පෙන්වා ඇති Project > Properties > C/C++ Build > MCU සැකසුම් මත fb_sh_mem ඉහත මතක කොටස වෙත මතක පැවරුම වින්‍යාස කරන්න:NXP-AN14263-Emplement-LVGL-GUI Face-Recognition-on-Framewor-fig- (12)
    • g_DTCOPBuf ගෝලීය විචල්‍යය lvgl_gui_face_rec_cm7.cpp හි ප්‍රකාශ කරන්න: AT_NONCACHEABLE_SECTION_ALIGN_DTC (uint8_t g_DTCOPBuf[DTC_OPTIMIZE_BUFFER_SIZE], 4);
    • ඉහත විචල්‍යයේ භාවිතා කර ඇති නිර්වචන එකතු කිරීම දිගටම කරගෙන යන්න:
    • ඉහත කොටස board_define.h හි නිර්වචනය කරන්න:
      • #අර්ථ දැක්වීම AT_NONCACHEABLE_SECTION_ALIGN_DTC(var, alignbytes) \
      • attribute__((“.bss.$SRAM_DTC_cm7,\”aw\”,%nobits @”))) var
      • attribute__((පෙළගැසුනු(alignbytes)))
    • ශීර්ෂකය ඇතුළත් කරන්න file hal_vision_algo.h lvgl_gui_face_rec_cm7.cpp හි ඇතුළත් app_config.h හි DTC_OPTIMIZE_BUFFER_SIZE සාර්ව අර්ථ දැක්වීම අඩංගු වේ.
  7. මුහුණු හඳුනාගැනීමේ ප්‍රගති තත්ත්වය පෙන්වීම සඳහා s_debugOption විචල්‍යය සත්‍ය ලෙස සකසන්න.
  8. ශීර්ෂයේ සෙවුම් මාර්ගය එක් කරන්න fileදර්ශනයේ HAL ව්‍යාපෘතිය > ගුණ >C/C++ ගොඩනැගීම > සැකසීම් > මෙවලම් සැකසීම් > MCU C සම්පාදකය > ඇතුළත් සහ MCU C++ සම්පාදකය > ඇතුළත් වේ: “${workspace_loc:/${ProjName}/framework/hal/vision}”
  9. board_define.h හි vision algo HAL සබල කිරීමට පහත අර්ථ දැක්වීම එක් කරන්න: #define ENABLE_VISIONALGO_DEV_Oasis_GUIFaceRec

ප්‍රතිදාන UI HAL සබල කරන්න
ප්‍රතිදාන UI HAL මඟින් දර්ශන ඇල්ගෝ HAL වෙත සිදුවීම් දැනුම් දෙන අතර HAL දර්ශන ඇල්ගෝ වෙතින් ලැබෙන අනුමාන ප්‍රතිඵලවලට ප්‍රතිචාර දක්වයි. GUI යෙදුම සමඟින්, සිදුවීම් සාමාන්‍යයෙන් යෙදුම මඟින් ක්‍රියාත්මක වන අතර ප්‍රතිඵල යෙදුම මත පෙන්වනු ලැබේ.

එය සබල කිරීමට, පවතින සමාන HAL ධාවකය ක්ලෝන කරන්න file එහිදී සාමාන්‍යයෙන් පහත සඳහන් කාර්යයන් ක්‍රියාත්මක වේ.

  • මුහුණු හඳුනාගැනීම සහ දත්ත සමුදා ප්‍රවේශය සඳහා සිදුවීම් දැනුම් දෙන්න.
  • සිදුවීම් අවුලුවාලීම සඳහා GUI යෙදුම සඳහා ආපසු ඇමතුම් ක්‍රියාත්මක කරන්න.
  • දර්ශන ඇල්ගෝ මොඩියුලයෙන් අනුමාන ප්‍රතිඵල හසුරුවන්න.
  • ටයිමර් සහ මුහුණු මාර්ගෝපදේශ සෘජුකෝණාස්‍රය සමඟින් පාලනය වන ප්‍රගති තීරුව මඟින් UI මත ක්‍රියා කරන සිදුවීම්වල ක්‍රියාවලිය සහ ප්‍රතිඵල පෙන්වන්න.

හිටපු අය සඳහා HAL ක්‍රියාත්මක කිරීමට ප්‍රධාන කාර්යයන්ample මෙම ලේඛනයේ භාවිතා වේ:

  • පවතින සමාන HAL ධාවකය ක්ලෝන කරන්න file සහ අදාළ නම් වෙනස් කරන්න.
  • යෙදුමට අදාළ කේත ඉවත් කරන්න.
  • සිදුවීම් දැනුම්දීම් සහ ප්‍රතිඵල ප්‍රතිචාරය සඳහා කාර්යයන් යාවත්කාලීන කරන්නample නිර්මාණය.
  • සිදුවීම් අවුලුවාලීමට GUI යෙදුම සඳහා ආපසු ඇමතුම් එක් කරන්න.

සවිස්තරාත්මක පියවර පහත පරිදි වේ:

  1. Clone hal_output_ui_coffee_machine.c. වෙනස් කරන්න filehal_ output_ui_guifacerec.c වෙත නම.
  2. සියලුම නූල් CoffeeMachine GUIFaceRec සමඟ ප්‍රතිස්ථාපනය කරන්න file.
  3. යෙදුමට අදාළ කේත ඉවත් කරන්න - කෝපි යන්ත්රය.
    • WakeUp() සහ _StandBy() ශ්‍රිත සහ අදාළ කේත ඉවත් කරන්න (ඒවා සඳහා stringwise_up සහ standby සෙවිය හැක).
    • පෙර ඉවත් කරන්නview HAL_OutputDev_UiGUIFaceRec_Input Notify() හි අදාළ කේත හැසිරවීමේ මාදිලියේ සිදුවීම්.
    • පෙර සඳහා gui_set_virtual_face() හැර කෝපි යන්ත්‍රයේ GUI වලට අදාළ UI_xxx_Callback() ශ්‍රිත සහ string gui_ සහ තිරය අඩංගු කේත ඉවත් කරන්න.view මාදිලියේ විශේෂාංගය.
    • කෝපි යන්ත්‍ර යෙදුමට අදාළ s_IsWaitingAnotherSelection සහ s_IsWaitingRegisterSelection යන විචල්‍යයන් සමඟ සම්බන්ධ සියලුම කේත ඉවත් කරන්න.
    • හඬ, ශ්‍රව්‍ය සහ භාෂාවට අදාළ කේත ඉවත් කරන්න. උදාහරණයක් ලෙසampලෙ:
      • #ඇතුළත් "hal_voice_algo_asr_local.h",
      • #ඇතුළත් "hal_event_descriptor_voice.h"
  4. විවිධ සිදුවීම් දැනුම්දීම් සඳහා, නව කාර්යයන් _OutputManagerNotify(), _SetFaceRec(), _RegisterGUIFaceRec(), සහ DeregisterGUIFaceRec() ක්‍රියාවන් වෙත යොමු කරමින් _StopFaceRec(), _RegisterCoffeeSelection() සහ DeregisterCoffeeSelection ඉවත් කිරීමට පෙර ඒවා ක්‍රියාත්මක කරන්න.
    • _OutputManagerNotify() විසින් සිදුවීමක් HAL දර්ශන ඇල්ගෝ වෙත යැවීම සඳහා මූලික සිදුවීම් ප්‍රතිදාන ශ්‍රිතය ක්‍රියාත්මක කරයි. පහත ශ්‍රිතයන් ඔවුන්ගේම සිදුවීම් යැවීමට එය හඳුන්වයි.
    • _SetFaceRec() විසින් මුහුණු ලියාපදිංචි කිරීම, හඳුනා ගැනීම සහ ඇල්ගෝව නැවැත්වීම සඳහා දර්ශන ඇල්ගෝ ක්‍රියාරම්භ කිරීමට kEventFaceRecID_OasisSetState සිදුවීම යවයි.
    • _RegisterGUIFaceRec() විසින් OK ලියාපදිංචි වූ විට දත්ත ගබඩාවට මුහුණු විශේෂාංග දත්ත එක් කිරීමට smart_tlhmi_event_descriptor.h හි අර්ථ දක්වා ඇති kEventFaceRecId_RegisterGUIFaceRec සිදුවීම යවයි.
    • DeregisterGUIFaceRec() මගින් මුහුණු හඳුනාගැනීම පසුකර යන විට දත්ත ගබඩාවෙන් මුහුණු විශේෂාංග දත්ත මකා දැමීමට සිදුවීම kEventFaceRecID_DelUser යවයි.
  5. මුහුණ ලියාපදිංචි කිරීමේ අනුමාන ප්‍රතිඵල සහ _InferComplete_Vision() ශ්‍රිතය තුළ හඳුනාගැනීම සඳහා LVGL GUI යෙදුමෙන් APIs ඇමතීමෙන් GUI නැවුම් කිරීම ඇතුළුව අදාළ ක්‍රියාමාර්ග ගැනීමට කේත යාවත්කාලීන කරන්න.ampගේ නිර්මාණය. උදාහරණයක් ලෙසample, මුහුණු ලියාපදිංචිය සාර්ථක වූ විට,
    • _FaceRecProcess_Stop() ඇමතීමෙන් ප්‍රගතිය පෙන්වීම නවත්වන්න;
    • _SetFaceRec(kOAISISLiteState_Stopped) ඇමතීමෙන් මුහුණු ලියාපදිංචිය නවත්වන්න;
    • GUI මත සාර්ථක ප්‍රතිඵලය පෙන්වන්න: gui_show_face_rec_result(kFaceRecResult_OK, s_UserId);
    • දත්ත සමුදාය වෙත මුහුණු දත්ත ලියාපදිංචි කරන්න: _RegisterUserFace(s_UserId);
  6. සිදුවීම් හැසිරවීමට UI ආපසු ඇමතුම් කාර්යයන් එක් කරන්න: පෙරview, මුහුණු ලියාපදිංචි කිරීම, හඳුනාගැනීම සහ පරිශීලක මකාදැමීම GUI වෙතින් ක්‍රියාත්මක වේ. උදාහරණයක් ලෙසample, මුහුණු ලියාපදිංචිය ආපසු කැඳවීම: අවලංගු UI_Registration_Callback(){ _SetFaceRec(kOAISISLiteState_Registration); _FaceRecProcess_Start (); }
    • විවිධ සිදුවීම් සහ ප්‍රතිඵලවල ප්‍රගතිය සහ තත්ත්වය පෙන්වීමට _FaceRecProcess_Start() සහ _FaceRecProcess_Stop() ශ්‍රිත එක් කරන්න.
    • ඇමතීමෙන් කල් ඉකුත් වීමේ අවස්ථාව හැසිරවීමට ටයිමරය ISR ආපසු ඇමතුම් ශ්‍රිතය _SessionTimer_Callback() යාවත්කාලීන කරන්න: gui_show_face_rec_result(kFaceRecResult_TimeOut, s_UserId);
  7. board_define.h හි UI ප්‍රතිදානය HAL සබල කිරීමට පහත අර්ථ දැක්වීම් එක් කරන්න: #define ENABLE_OUTPUT_DEV_UiGUIFaceRec

දැනුම්දීම:
මුහුණු හඳුනාගැනීමේ විශේෂාංගය වඩා හොඳින් ඉදිරිපත් කිරීමට, ප්‍රතිදාන UI HAL හි මුහුණු හඳුනාගැනීමේ ක්‍රියාවලිය සහ ප්‍රතිඵල පෙන්වීමට ශ්‍රිතය තබා ගන්න. කාර්යය පහත පරිදි විස්තර කෙරේ

  • මුහුණු මාර්ගෝපදේශක සෘජුකෝණාස්‍රය නිල් පැහැයෙන් පෙන්වන අතර, ප්‍රගති තීරුව මුහුණු ලියාපදිංචිය හෝ හඳුනාගැනීම ආරම්භ කරන විට ප්‍රගතිය පෙන්වයි.
  • මුහුණු ලියාපදිංචිය සාර්ථක වූ විට මුහුණු මාර්ගෝපදේශ සෘජුකෝණාස්‍රය රතු පැහැය පෙන්වයි.
  • මුහුණු හඳුනාගැනීම සාර්ථක වූ විට මුහුණු මාර්ගෝපදේශක සෘජුකෝණාස්‍රය කොළ පැහැය පෙන්වයි.
  • මුහුණු මාර්ගෝපදේශක සෘජුකෝණාස්‍රය නිල් පැහැයෙන් පවතින අතර, ටයිමර් කල් ඉකුත්වීමෙන් පසු ක්‍රියාව අසාර්ථක වූ විට ප්‍රගති තීරුව සම්පූර්ණ ප්‍රගතිය පෙන්වයි. එම අවස්ථාවේදී, මුහුණු ලියාපදිංචි කිරීම හෝ හඳුනාගැනීම නතර කරන්න.

ප්‍රගති තීරුව සහ මුහුණු මාර්ගෝපදේශ සෘජුකෝණාස්‍රය සම්පත් ද්විමය තුළ ගොඩනගා ඇති අයිකන ලෙස ඉදිරිපත් කෙරේ file ෆ්ලෑෂ් වෙත වැඩසටහන්ගත කිරීමට. SDRAM මත ඇති අයිකන දත්ත සඳහා වන පොයින්ටර්, ප්‍රතිදාන UI HAL උපාංගයේ ප්‍රතිදාන UI HAL උපාංගයේ ආරම්භයේදී කියන LoadIcons(APP_ICONS_BASE) ශ්‍රිතය තුළ පිහිටුවා ඇත. එය කාර්යය සඳහා අයිකන සහාය ක්රියාත්මක කළ යුතුය.

අයිකන සහාය ක්‍රියාත්මක කරන්න

  1. LVGL GUI යෙදුමේ භාවිතා වන රූප සමඟ අයිකන ඒකාබද්ධ කරමින් සම්පත සාදන්න:
    • අයිකන හතරේ ශීර්ෂය ක්ලෝන කරන්න fileස්මාර්ට් HMI වෙතින් s process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h, සහ virtual_face_red_420x426.h
      හිටපු අයගේ සම්පත් ෆෝල්ඩරය යටතේ ඇති නව ෆෝල්ඩර අයිකන වෙත \coffee machine\resource\icons\ampලෙ එස්ඩබ්ලිව්.
    • හතර අයිකනය සඳහා සෙවුම් මාර්ගය එක් කරන්න fileකැමරාවේ_පෙරview_resource.txt file සම්පත් ෆෝල්ඩරය තුළ, උදාample: icon ../resource/icons/process_bar_240x14.h
    • camera_pre ක්‍රියාත්මක කරන්නview_resource_build.bat බින් ජනනය කිරීමට රූප සහ අයිකන සම්පත් ගොඩනැගීමට file කැමරා_පෙරview_resource.bin සහ තොරතුරු file resource_information_table.txt (රූපය 6 බලන්න).NXP-AN14263-Emplement-LVGL-GUI Face-Recognition-on-Framewor-fig- (13)
  2. SDRAM හි ආරම්භක ලිපිනය සහ app_config.h හි ඇති අයිකනවල ප්‍රමාණය නිර්වචනය කරන්න. ලිපිනය GUI යෙදුමේ පින්තූර අසලින් ආරම්භ වේ. ප්‍රමාණය තොරතුරු තුළ ජනනය වේ file. #APP_ICONS_BASE නිර්වචනය කරන්න (APP_RES_SHMEM_BASE + APP_LVGL_IMGS_SIZE) #APP_ICONS_SIZE 0x107c40 නිර්වචනය කරන්න
  3. res_sh_mem නම් මතක කොටසෙහි පවරන ලද ප්‍රමාණය app_config.h හි නැවත අර්ථ දැක්වීමෙන් 0x200000 වෙත යාවත්කාලීන කරන්න: #RES_SHMEM_TOTAL_SIZE 0x200000 සහ ඊට අනුරූප සැකසුම ව්‍යාපෘතිය > ගුණාංග > C/C++ ගොඩනැගීම > MCU සැකසීම්.
  4. ප්‍රධාන APP_LoadResource() ශ්‍රිතයේ Flash සිට SDRAM වෙත පටවා ඇති සම්පතේ සම්පූර්ණ ප්‍රමාණයට අයිකන ප්‍රමාණය එක් කරන්න. file lvgl_gui_face_rec_cm7.cpp: memcpy ((නිෂ්ඵල *)APP_LVGL_IMGS_BASE, pLvglImages, APP_LVGL_IMGS_SIZE + APP_ICONS_SIZE);

දැනුම්දීම: මුහුණු හඳුනාගැනීමේ විශේෂාංගය සම්පූර්ණ කිරීමට, LVGL GUI යෙදුම් සහාය අවශ්‍ය වේ. ප්‍රතිදාන UI HAL හි UI ආපසු ඇමතුම් ශ්‍රිතයන් UI තිරයෙන් සිදුවීම් හැසිරවීම සඳහා LVGL GUI යෙදුම මගින් කැඳවනු ලැබේ. අනෙක් අතට, ප්‍රතිදාන UI HAL ප්‍රතිඵලය සහ තත්ත්වය පෙන්වීමට UI යාවත්කාලීන කිරීමට LVGL GUI යෙදුමෙන් APIs අමතයි. LVGL GUI යෙදුමේ සංවර්ධනය සාපේක්ෂ වශයෙන් ස්වාධීන වන අතර 4.3 වගන්තියේ හඳුන්වා දී ඇත.

4.1.5 මුහුණු හඳුනාගැනීම සඳහා HAL උපාංග සහ කළමනාකරුවන් ආරම්භ කරන්න
සක්‍රීය දර්ශන ඇල්ගෝ HAL සහ UI ප්‍රතිදානය HAL සහ ඒවායේ කළමනාකරුවන් ප්‍රධාන වශයෙන් ආරම්භ කර ඇත file
lvgl_gui_face_rec_cm7.cpp පහත පරිදි රාමුව මත සංවර්ධන පරිවර්තනයන් අනුගමනය කරයි:

  1. ශීර්ෂකය ඇතුළත් කරන්න file කේත රේඛාව එකතු කිරීමෙන් HAL කළමනාකරුවන් දෙදෙනාට සම්බන්ධ:
    • #ඇතුළත් කරන්න "fwk_output_manager.h"
    • #ඇතුළත් "fwk_vision_algo_manager.h"
  2. HAL උපාංග ප්‍රකාශ කරන්න:
    • HAL_VALGO_DEV_DECLARE(OasisGUIFaceRec);
    • HAL_OUTPUT_DEV_DECLARE(UiGUIFaceRec);
  3. HAL උපාංග ලියාපදිංචි කරන්න:
    • HAL_VALGO_DEV_REGISTER(OasisGUIFaceRec, ret);
    • HAL_OUTPUT_DEV_REGISTER(UiGUIFaceRec, ret);
  4. කළමනාකරුවන් ආරම්භ කරන්න:
    • FWK_MANAGER_INIT(VisionAlgoManager, ret);
    • FWK_MANAGER_INIT(OutputManager, ret);
  5. කළමනාකරුවන් ආරම්භ කරන්න:
    • FWK_MANAGER_START(VisionAlgoManager, VISION_ALGO_MANAGER_TASK_PRIORITY, ret);
    • FWK_MANAGER_START(ප්‍රතිදාන කළමනාකරු, OUTPUT_MANAGER_TASK_PRIORITY, ret);
  6. කළමනාකරුගේ කාර්යයන්හි ප්‍රමුඛතාවය නිර්වචනය කරන්න:
    • # VISION_ALGO_MANAGER_TASK_PRIORITY 3 නිර්වචනය කරන්න
    • #පිටපත්_කළමනාකරු_කාර්යය_ප්‍රමුඛත්වය නිර්වචනය කරන්න 1

රාමුව මත මුහුණු දත්ත සමුදා සහාය එක් කරන්න
ලියාපදිංචි මුහුණු විශේෂාංග දත්ත ෆ්ලෑෂ් හි ගබඩා කර ඇති මුහුණු දත්ත සමුදාය වෙත ප්‍රවේශ වන්නේ ස්වල්පයක් හරහාය file පද්ධතිය. මුහුණු දත්ත සමුදා සහාය එක් කිරීමට පියවර පහත විස්තර කර ඇත.

ෆ්ලෑෂ් ආචයනය සඳහා ධාවක එකතු කරන්න
ෆ්ලෑෂ් අතුරුමුහුණත FlexSPI ධාවකය පිටපත් කරන්න files fsl_flexspi.c සහ fsl_flexspi.h, සහ දත්ත සංකේතාංකන ධාවකය files fsl_caam.c සහ fsl_caam.h SDK_2_13_0_MIMXRT1170-EVK\devices \MIMRX1176\drivers\ මාර්ගයෙන් හිටපු ධාවක ෆෝල්ඩරය වෙතampලෙ එස්ඩබ්ලිව්.

පුවරු මට්ටමේ සහාය එක් කරන්න

  1. board.h හි ඇති Flash උපාංගය සඳහා භාවිතා කරන FlexSPI අර්ථ දැක්වීම් එක් කරන්න:
    • #BOARD_FLEXSPI FLEXSPI1 නිර්වචනය කරන්න
    • #BOARD_FLEXSPI_CLOCK kCLOCK_FlexSpi1 නිර්වචනය කරන්න
    • #BOARD_FLEXSPI_AMBA_BASE FlexSPI1_AMBA_BASE නිර්වචනය කරන්න
  2. ක්‍රියාකරුවන් සහ වින්‍යාසයන් පිටපත් කරන්න fileෆ්ලෑෂ් උපාංගයේ flexspi_nor_flash_ops.c, flexspi_nor_flash_ops.h, sln_flash_config.c, sln_flash_config_w25q256jvs.h, andsln_flash_ops.h ෆෝල්ඩරය යටතේ ස්මාර්ට් HMI\coffee_machine\coffee_machine යන මාර්ගයට යටින්ampලෙ එස්ඩබ්ලිව්.
    • C/C++ Build > Settings හි ඇති “Exclude resource from build” යන්න සලකුණු නොකරන්න. fileගේ නම සහ ඒවා ව්‍යාපෘතියට ගොඩනැංවීමට හැකි වන පරිදි දේපල විවෘත කිරීම.
  3. ඇතුළත් ශීර්ෂය වෙනස් කරන්න filesln_flash_config.h සිට sln_flash_config_w25q256jvs.h දක්වා sln_flash_config.c සහ flexspi_nor_flash_ops.h ලෙස නම් කරන්න.
  4. FlexSPI1 ඔරලෝසු මූලාශ්‍රය සකසන්න file clock_config.c කෝපි යන්ත්‍ර යෙදුමට යොමු කරයි.

ඇඩප්ටරය සහ මධ්යම මට්ටමේ ආධාරක එකතු කරන්න

  1. පිටපත් කරන්න files sln_flash.c, sln_flash.h, sln_encrypt.c, සහ sln_encrypt.h සඳහා ඇඩප්ටර ධාවක ලෙස file පද්ධතිය සහ යෙදුම ස්මාර්ට් HMI\coffee_machine\cm7\source\ මාර්ගයෙන් හිටපු ෆෝල්ඩර මූලාශ්‍රය වෙතample. අලුත් එක update කරන්න files:
    • ගොඩ නැගීම සඳහා ඒවා මත "ගොඩනැගීමෙන් සම්පත් බැහැර කරන්න" සලකුණු නොකරන්න.
    • ඇතුළත් කර ඇති සියලුම ශීර්ෂය වෙනස් කරන්න file sln_flash_config.h සිට sln_flash_config_w25q256jvs.h දක්වා නම් කරන්න.
  2. ෆෝල්ඩරය පිටපත් කරන්න fileකුඩා අය සඳහා API අඩංගු පද්ධතිය fileපද්ධතිය සහ HAL ධාවකය ස්මාර්ට් HMI \coffee_machine\cm7\source\ සිට ex දක්වාampලෙ එස්ඩබ්ලිව්. සහ නව ෆෝල්ඩරය සඳහා යාවත්කාලීන කරන්න:
    • ගොඩනැගීම සඳහා එය මත "ඉදිකිරීම් වලින් සම්පත් බැහැර කරන්න" සලකුණු නොකරන්න.
    • ව්‍යාපෘති සැකසීම් තුළ ඒ සඳහා ඇතුළත් මාර්ගය එක් කරන්න: “${workspace_loc:/${ProjName}/fileපද්ධතිය}"
    • ඇතුළත් ශීර්ෂය වෙනස් කරන්න file sln_flash_config.h සිට sln_flash_config_w25q256jvs.h දක්වා සහ fica_definition.h සිට app_config.h දක්වා නම් කරන්න file sln_flash_littlefs.h.
  3. මැද භාණ්ඩය අඩංගු littlefs ෆෝල්ඩරය පිටපත් කරන්න - ටිකක් fileපද්ධතිය SDK_2_13_0_ MIMXRT1170-EVK\middleware\ මාර්ගයෙන් හිටපුampලෙ එස්ඩබ්ලිව්. සහ නව ෆෝල්ඩරය යාවත්කාලීන කරන්න:
    • ගොඩනැගීම සඳහා එය මත "ඉදිකිරීම් වලින් සම්පත් බැහැර කරන්න" සලකුණු නොකරන්න.
    • ව්‍යාපෘති සැකසීම් තුළ ඒ සඳහා ඇතුළත් මාර්ගය එක් කරන්න: “${workspace_loc:/${ProjName}/littlefs}”

HAL ධාවක එකතු කරන්න 

  • HAL උපාංග දෙකක් තිබේ - file පද්ධති සහ මුහුණු දත්ත සමුදාය HAL දත්ත සමුදා ප්‍රවේශ විශේෂාංගය සඳහා සහය දක්වන අතර ඒවා කිසිදු වෙනසක් නොමැතිව රාමුව තුළ දැනටමත් ක්‍රියාත්මක කර ඇත. board_define.h හි පහත අර්ථ දැක්වීම් එක් කිරීමෙන් ඒවා සක්‍රීය කරන්න:
    • # ENABLE_FLASH_DEV_Littlefs නිර්වචනය කරන්න
    • # ENABLE_FACEDB නිර්වචනය කරන්න

සහ හිටපු සඳහා මුහුණු දත්ත සමුදායේ නම වෙනස් කරන්නample: #OASIS_FACE_DB_DIR “oasis_gui_face_rec” නිර්වචනය කරන්න

යෙදුම් මට්ටමේ සහාය එක් කරන්න

  1. ප්රධාන යාවත්කාලීන කරන්න file lvgl_gui_face_rec_cm7.cpp:
    • ශීර්ෂකය ඇතුළත් කරන්න file ෆ්ලෑෂ් සම්බන්ධයි file කේත රේඛාව එකතු කිරීමෙන් පද්ධති HAL කළමනාකරු: #ඇතුළත් "fwk_flash.h"
    • ප්රකාශ කර ලියාපදිංචි වන්න file පද්ධතිය HAL උපාංගය:
      • HAL_FLASH_DEV_DECLARE(ලිට්ල්ෆ්ස්);
      • HAL_FLASH_DEV_REGISTER(Littlefs, ret);
        සටහන: ද file සියලුම උපාංග කළමනාකරුවන් APP_InitFramework() ශ්‍රිතය තුළ ආරම්භ කිරීමට පෙර HAL උපාංගය ලියාපදිංචි කළ යුතුය.
    • MPU වින්‍යාස කිරීමට APP_BoardInit() හි BOARD_ConfigMPU() ශ්‍රිතය අමතන්න.
  2. සකසන්න file Flash හි පද්ධති පැවරුම file app_config.h හි භාවිතා වන සාර්ව අර්ථ දැක්වීම් නිර්වචනය කිරීමෙන් file sln_flash_littlefs.h:
    • #FICA_IMG_ නිර්වචනය කරන්නFILE_SYS_ADDR (FLASH_IMG_SIZE + RES_SHMEM_TOTAL_SIZE)
    • #FICA_ නිර්වචනය කරන්නFILE_SYS_SIZE (0x280000)

සැකසුම්
ප්‍රමාණවත් කාර්ය සාධනයක් සඳහා සමහර ෆ්ලෑෂ් සම්බන්ධ කේත SRAM ITC ප්‍රදේශය තුළ ක්‍රියාත්මක වේ. ලින්කර් වින්‍යාසයන් අඩංගු ෆෝල්ඩර සබැඳි ස්ක්‍රිප්ට් Smart HMI\coffee_machine\cm7\ මාර්ගයෙන් පෙරට පිටපත් කරන්නampලෙ එස්ඩබ්ලිව්.

LVGL GUI යෙදුමක් ක්‍රියාත්මක කරන්න
රාමුව මත පදනම් වූ LVGL GUI යෙදුමක් සංවර්ධනය කිරීම UI HAL ප්‍රතිදානයෙන් APIs කැඳවන අතර UI HAL ප්‍රතිදානය කිරීමට APIs සපයයි (ප්‍රතිදාන UI HAL ක්‍රියාත්මක කිරීම සඳහා 4.1.3 වගන්තිය බලන්න).

කෙසේ වෙතත්, LVGL GUI යෙදුමක් සවිස්තරාත්මකව ක්‍රියාත්මක කිරීම යෙදුමේ අවශ්‍යතා සහ සැලසුම මත රඳා පවතී. මෙම හිටපු GUI යෙදුමamp4 වන කොටසේ ආරම්භයේ විස්තර කර ඇති පරිදි le නිර්මාණය කර ඇත.

ක්රියාත්මක කිරීමේ හැඳින්වීම පහත දැක්වේ.

  1. GUI Guider ව්‍යාපෘතිය සහ කාවැද්දූ පද්ධති ව්‍යාපෘතිය අතර අතුරු මුහුණත ලෙස GUI Guider විසින් ලබා දී ඇති custom.c සහ custom.h තුළ අභිරුචිගත කළ කේත ක්‍රියාත්මක වේ.
    •  පහත කාර්යයන් සාක්ෂාත් කර ගැනීම සඳහා custom.c හි gui_xxx() නමින් නව ශ්‍රිත එක් කරන්න:
      • UI යාවත්කාලීන කිරීම සඳහා ප්‍රතිදාන UI HAL සහ GUI යෙදුම සඳහා.
      • GUI යෙදුම සඳහා ප්‍රතිදානය UI HAL වෙතින් UI ආපසු ඇමතුම් ශ්‍රිත ඇමතීමෙන් සිදුවීම් අවුලුවාලීමට.
        උදාහරණයක් ලෙසample, නව ශ්‍රිතය gui_event_face_rec_action() අදාළ බොත්තම ක්ලික් කළ විට GUI යෙදුමෙන් ක්‍රියාත්මක වන මුහුණු ලියාපදිංචිය, මුහුණු හඳුනාගැනීම සහ පරිශීලක මකා දැමීම යන සිදුවීම්වලින් එකක් හැසිරවීමට UI ආපසු ඇමතුම් ශ්‍රිතයන් අමතයි.
        සටහන: gui_set_virtual_face() ශ්‍රිතය පෙර සඳහා ප්‍රතිදාන UI HAL ලෙස හැඳින්වේview custom.c හි ප්‍රකාරය ක්‍රියාත්මක කළ යුතුය:
    •  ක්ලෝන ශ්‍රිතය gui_set_virtual_face() ස්මාර්ට් HMI\coffee_machine\cm4\ custom \custom.c වෙතින්.
    •  විජට් එකේ නම home_img_cameraPre වෙනස් කරන්නview screen_img_camera_pre වෙතview කාර්යය තුළ.
    •  GUI Guider ව්‍යාපෘතිය සමඟ අනුකූල වීම සඳහා custom.c හි සාර්ව නිර්වචනය #ifndef RT_PLATFORM හි පාලනය යටතේ ප්‍රතිදාන UI HAL හි ඇති සියලුම ඒවාට එකම මූලාකෘතියක් සමඟ UI ආපසු ඇමතුම් ශ්‍රිත ක්‍රියාත්මක කරන්න, මන්ද ප්‍රතිදාන UI HAL හි මෙම කාර්යයන් රඳා පවතින්නේ කාවැද්දූ වේදිකාව. custom.c හි, ඒවා GUI මාර්ගෝපදේශකයේ සිමියුලේටරය මත රඳා පවතින අතර කාවැද්දූ වේදිකාවට ස්වාධීන වේ. උදාහරණයක් ලෙසample, GUI Guider සිමියුලේටරය ක්‍රියාත්මක වීම සඳහා මුහුණු ලියාපදිංචිය ආපසු කැඳවීම ක්‍රියාත්මක කර ඇත: #ifndef RT_PLATFORM අවලංගු UI_Registration_Callback() {gui_hide_del_user_btn(true); s_InAction = අසත්‍ය; ආපසු; }
      සටහන: 6 වගන්තියේ 4.1.3 වන පියවරේ හඳුන්වා දුන් ශ්‍රිතයේ එකම මූලාකෘතිය වෙත යොමු වන්න
      සාර්ව නිර්වචනය RT_PLATFORM රූප සටහන 7 හි පෙන්වා ඇති පරිදි MCUXpresso හි ව්‍යාපෘති සැකසීම් මත සකසා ඇත:NXP-AN14263-Emplement-LVGL-GUI Face-Recognition-on-Framewor-fig- (14)
    • UI_xxx_Callback() සහ gui_xxx() ලෙස නම් කර ඇති සියලුම කාර්යයන් custom.h හි ප්‍රකාශ කරන්න සහ UI ප්‍රතිදානය HAL වෙත GUI API බෙදා ගැනීමට smart_tlhmi_event_descriptor.h හි ඇතුලත් custom.h එක් කරන්න.
  2. GUI මාර්ගෝපදේශකයේ GUI සංවර්ධනය කරන්න:
    • ෆෝල්ඩරය කැමරාව ක්ලෝන කරන්නview මූලික මෘදුකාංග පැකේජයේ lvgl_gui_camera_pre හි gui_guider ෆෝල්ඩරයේ GUI Guider ව්‍යාපෘති මෘදුකාංගය අඩංගු වේview_cm7. අදාල නම camera_pre වෙනස් කරන්නview නව හිටපු සඳහා face_rec වෙතample.
    • ඉහත යාවත්කාලීන custom.c සහ custom පිටපත් කරන්න. නව GUI Guider ව්‍යාපෘති මෘදුකාංගයට h.
    •  GUI Guider හි නව face_rec ව්‍යාපෘතිය විවෘත කරන්න. පහත පරිදි යාවත්කාලීන කරන්න:
      • පරිශීලක මකන්න ලේබල් කරන ලද නව බොත්තම එක් කරන්න. GUI යෙදුම ආරම්භ වන විට බොත්තම සැඟවී ඇති පරිදි එයට සැඟවුණු ධජය එක් කරන්න.
      • මුහුණු ලියාපදිංචිය, මුහුණු හඳුනාගැනීම සහ පරිශීලකයා මකා දැමීම යන සිද්ධීන් ක්‍රියාරම්භ කිරීම සඳහා සියලුම බොත්තම් ලියාපදිංචි කිරීම, හඳුනා ගැනීම සහ මකන්න පරිශීලකයාගේ සිදුවීම් සැකසීම් තුළ “මුදා හරින ලද” ප්‍රේරකයේ විවිධ සිදුවීම් ID පරාමිතිය සමඟ API gui_event_face_rec_action() ඇමතීමේ කේත රේඛාව එක් කරන්න. බොත්තම ලියාපදිංචි කිරීමේ සිදුවීම සඳහා වන කේතය රූප සටහන 8 පෙන්වයි:NXP-AN14263-Emplement-LVGL-GUI Face-Recognition-on-Framewor-fig- (15)
  3. GUI Guider වෙතින් MCUXpresso ව්‍යාපෘතිය වෙත ජනනය කළ කේතය යාවත්කාලීන කරන්න.
    • MCUXpresso ව්‍යාපෘතිය SW හි ජනනය කරන ලද ෆෝල්ඩරයේ ඇති ෆෝල්ඩර රූප හැර අන්තර්ගතය GUI Guider ව්‍යාපෘතිය SW හි ජනනය කරන ලද ෆෝල්ඩරයේ අනුරූප ඒවා සමඟ ප්‍රතිස්ථාපනය කරන්න.

සටහන: ඉහත හඳුන්වා දුන් වෙනස් කිරීම් පිළිබඳ වැඩි විස්තර සඳහා, හිටපු එක පරීක්ෂා කරන්නample මෘදුකාංගය https://mcuxpresso.nxp.com/appcodehub.

හිටපු අය සමඟ සත්‍යාපනයample ව්යාපෘතිය

හිටපු ලබා ගැනීමටampමෙම යෙදුම් සටහන සඳහා සම්පත් සහ මෙවලම් අඩංගු මෘදුකාංග පැකේජය වෙත පිවිසෙන්න: https://mcuxpresso.nxp.com/appcodehub. හිටපු එක විවෘත කරන්නampMCUXpresso IDE හි ව්‍යාපෘතිය. .axf ගොඩනඟා වැඩසටහන් කරන්න file 0x30000000 ලිපිනයට සහ සම්පත් බඳුන වැඩසටහන්ගත කරන්න file කැමරා_පෙරview_resource.bin 0x30800000 ලිපිනයට.

LVGL GUI මුහුණු හඳුනාගැනීමේ example සාමාන්යයෙන් පහත පරිදි ක්රියා කරයි:

  • පෙරview: බලය වැඩි වීමත් සමඟ, කැමරාව විසින් ග්‍රහණය කරගත් වීඩියෝ ප්‍රවාහයන් කැමරාවේ නිශ්චිත ප්‍රදේශය පෙන්වයිview GUI තිරය මත. තත්ව ලේබලය “පෙරview…”. විස්තර සඳහා, රූපය 3 බලන්න. පරිශීලක මකන්න බොත්තම සැඟවී ඇත. බොත්තම් සහ පින්තූර පිටත ප්රදේශය ක්ලික් කරන විට, එය පෙර පෙන්වයිview මුහුණු ලියාපදිංචි කිරීම හෝ හඳුනාගැනීමේ ක්‍රියාව අවසන් වූ පසු ඉහත සඳහන් පරිදි සඳහන් කරන්න.
  • ලියාපදිංචිය:
    • ටාටප්: ලියාපදිංචි බොත්තම ක්ලික් කළ විට, මුහුණ ලියාපදිංචි කිරීම ආරම්භ වේ. තත්ත්‍ව ලේබලය “ලියාපදිංචිය...” සංදර්ශන කිරීමට වෙනස් වේ, මුහුණු මාර්ගෝපදේශ සෘජුකෝණාස්‍රය නිල් පැහැයෙන් පෙන්වයි, ප්‍රගති තීරුව ප්‍රගතිය පෙන්වීමට පටන් ගනී. ලියාපදිංචිය සඳහා පරිශීලකයාගේ මුහුණ නිල් මුහුණු මාර්ගෝපදේශක සෘජුකෝණාස්‍රයට පෙන්වන බවට වග බලා ගන්න.
    • සාර්ථකත්වය: තත්ත්‍ව ලේබලය "ලියාපදිංචිය...හරි" සහ ලියාපදිංචි පරිශීලක හැඳුනුම් අංකය පෙන්වයි, තීරුවේ ප්‍රගතිය සම්පූර්ණයෙන් පෙන්වීමට පෙර මුහුණු ලියාපදිංචිය සාර්ථක වුවහොත් මුහුණු මාර්ගෝපදේශක සෘජුකෝණාස්‍රය රතු වේ.
    • අසමත් වීම -> කල් ඉකුත්වීම: ප්‍රගතිය තීරුවේ සම්පූර්ණයෙන් පෙන්වන විට මුහුණු ලියාපදිංචිය තවමත් අසාර්ථක වී ඇත්නම් තත්ත්‍ව ලේබලය “ලියාපදිංචිය…කාලය අවසන්” පෙන්වයි.
    • අසමත් වීම -> අනුපිටපත් කිරීම: තත්ත්‍ව ලේබලය “ලියාපදිංචිය... අසාර්ථකයි” පෙන්වයි, තීරුවේ ප්‍රගතිය සම්පූර්ණයෙන් පෙන්වීමට පෙර ලියාපදිංචි මුහුණ හඳුනා ගතහොත් මුහුණු මාර්ගෝපදේශක සෘජුකෝණාස්‍රය කොළ පැහැයට හැරේ.
  • හඳුනාගැනීම:
    • ආරම්භය: හඳුනාගැනීමේ බොත්තම ක්ලික් කළ විට, මුහුණු හඳුනාගැනීම ආරම්භ වේ. තත්ත්‍ව ලේබලය “හඳුනාගැනීම...” සංදර්ශන කිරීමට වෙනස් වේ, මුහුණු මාර්ගෝපදේශක සෘජුකෝණාස්‍රය නිල් පැහැයෙන් පෙන්වයි, ප්‍රගති තීරුව ප්‍රගතිය පෙන්වීමට පටන් ගනී. ලියාපදිංචිය සඳහා භාවිතකරුගේ මුහුණ නිල් මුහුණු මාර්ගෝපදේශක සෘජුකෝණාස්‍රයේ පෙන්වා ඇති බවට වග බලා ගන්න.
    • සාර්ථකත්වය: තත්ත්‍ව ලේබලය "හඳුනාගැනීම...හරි" සහ පිළිගත් පරිශීලක හැඳුනුම් අංකය පෙන්වයි, ප්‍රගතිය තීරුවේ සම්පූර්ණයෙන් පෙන්වීමට පෙර මුහුණු හඳුනාගැනීම සාර්ථක වුවහොත් මුහුණු මාර්ගෝපදේශක සෘජුකෝණාස්‍රය කොළ පැහැයට හැරේ. ලක්ෂ්‍යයේදී, පරිශීලක මකන්න බොත්තම දිස්වේ. එයින් අදහස් වන්නේ පරිශීලකයා හඳුනාගත් විට පමණක් මකා දැමීමට අවසර ලබා දෙන බවයි.
    • රෝගාබාධ: තත්ත්‍ව ලේබලය "හඳුනාගැනීම්...කාලය අවසන්" පෙන්වයි, ප්‍රගතිය තීරුවේ සම්පූර්ණයෙන් පෙන්වන විට මුහුණු හඳුනාගැනීම තවමත් අසාර්ථක නම්.
  • පරිශීලක මකන්න: “පරිශීලකයා මකන්න” බොත්තම ක්ලික් කළ විට, මුහුණු හඳුනාගැනීම සාර්ථක වූ පසු, මුහුණු මාර්ගෝපදේශක සෘජුකෝණාස්‍රය නිල් පැහැයට හැරෙන අතර තීරුවේ ප්‍රගතිය සම්පූර්ණයෙන් පෙන්නුම් කරමින් “පරිශීලක මකන්න...හරි” සංදර්ශණය වීමට තත්ව ලේබලය වෙනස් වේ. පරිශීලක මකන්න බොත්තම නැවත සැඟවී ඇත. හඳුනාගත් මුහුණ/පරිශීලකයා දත්ත සමුදායෙන් මකා දමනු ලැබේ. එයින් අදහස් වන්නේ නැවත ලියාපදිංචි වන තුරු මෙම මුහුණ/පරිශීලකයා හඳුනාගත නොහැකි බවයි.

ලේඛනයේ ඇති මූල කේතය ගැන සටහන් කරන්න
Exampමෙම ලේඛනයේ පෙන්වා ඇති le කේතයට පහත ප්‍රකාශන හිමිකම සහ BSD-3- වගන්ති බලපත්‍රය ඇත:

ප්‍රකාශන හිමිකම 2024 NXP යලි බෙදාහැරීම සහ ප්‍රභව සහ ද්විමය ආකාරවල, වෙනස් කිරීම් සහිතව හෝ රහිතව, පහත කොන්දේසි සපුරා ඇත්නම් අවසර දෙනු ලැබේ:

  1. ප්‍රභව කේතය නැවත බෙදාහැරීමේදී ඉහත ප්‍රකාශන හිමිකම් දැන්වීම, මෙම කොන්දේසි ලැයිස්තුව සහ පහත වියාචනය තබා ගත යුතුය.
  2. ද්විමය ආකාරයෙන් නැවත බෙදා හැරීම් ඉහත ප්‍රකාශන හිමිකම් දැන්වීම ප්‍රතිනිෂ්පාදනය කළ යුතුය, මෙම කොන්දේසි ලැයිස්තුව සහ ප්‍රලේඛනයේ සහ/හෝ වෙනත් ද්‍රව්‍යවල පහත සඳහන් වියාචනය බෙදා හැරීම සමඟ සැපයිය යුතුය.
  3. නිශ්චිත පූර්ව ලිඛිත අවසරයකින් තොරව මෙම මෘදුකාංගයෙන් ලබාගත් නිෂ්පාදන අනුමත කිරීමට හෝ ප්‍රවර්ධනය කිරීමට ප්‍රකාශන හිමිකම් දරන්නාගේ නම හෝ එහි දායකයින්ගේ නම් භාවිතා කළ නොහැක.

මෙම මෘදුකාංගය සපයනු ලබන්නේ ප්‍රකාශන හිමිකරුවන් සහ දායකයින් විසින් "පවතින පරිදි" සහ ඕනෑම ප්‍රකාශිත හෝ ව්‍යංග වගකීම්, ඇතුළුව, නමුත් ඒවාට සීමා නොවන, ඇඟවුම් කර ඇති විශේෂ අරමුණක් සඳහා ප්‍රතික්ෂේප කරනු ලැබේ. කිසිම අවස්ථාවක ප්‍රකාශන හිමිකම් දරන්නා හෝ දායකයින් කිසියම් සෘජු, වක්‍ර, අහඹු, විශේෂ, ආදර්ශවත්, හෝ ඒ අනුව සිදුවන හානියකට (දැනුම් දීම ඇතුළුව, ණය ලබා දීම,) වගකිව යුතු නොවේ. ආදේශක භාණ්ඩ හෝ සේවා අහිමි වීම, දත්ත, හෝ ලාභ හෝ ව්‍යාපාර බාධා කිරීම්) කෙසේ වෙතත්, ඕනෑම වගකීම් න්‍යායක් මත, (කොන්ත්‍රාත්තුවෙන්, නමුත් නොසැලකිලිමත්කම හෝ වෙනත් ආකාරයකින්) එවැනි හානි සිදුවීමේ හැකියාව පිළිබඳ උපදෙස් ලබා දී තිබියදීත්, මෙම මෘදුකාංගය භාවිතයෙන් ඕනෑම ආකාරයකින් පැන නැගීම.

සංශෝධන ඉතිහාසය

NXP-AN14263-Emplement-LVGL-GUI Face-Recognition-on-Framewor-fig- (16)

නීතිමය තොරතුරු

අර්ථ දැක්වීම්
කෙටුම්පත - ලේඛනයක කෙටුම්පත් තත්ත්වය පෙන්නුම් කරන්නේ අන්තර්ගතය තවමත් අභ්‍යන්තර නැවත යටතේ පවතින බවයිview සහ විධිමත් අනුමැතියට යටත්ව, වෙනස් කිරීම් හෝ එකතු කිරීම් සිදු විය හැක. NXP අර්ධ සන්නායක ලේඛනයක කෙටුම්පත් අනුවාදයක ඇතුළත් කර ඇති තොරතුරුවල නිරවද්‍යතාවය හෝ සම්පූර්ණත්වය සම්බන්ධයෙන් කිසිදු නියෝජනයක් හෝ වගකීමක් ලබා නොදෙන අතර එවැනි තොරතුරු භාවිතා කිරීමේ ප්‍රතිවිපාක සඳහා වගකීමක් නොමැත.

වියාචනය

  • සීමිත වගකීම් සහ වගකීම - මෙම ලේඛනයේ තොරතුරු නිවැරදි සහ විශ්වසනීය බව විශ්වාස කෙරේ. කෙසේ වෙතත්, NXP අර්ධ සන්නායක එවැනි තොරතුරුවල නිරවද්‍යතාවය හෝ සම්පූර්ණත්වය සම්බන්ධයෙන් ප්‍රකාශිත හෝ ඇඟවුම් කර ඇති කිසිදු නියෝජනයක් හෝ වගකීමක් ලබා නොදෙන අතර එම තොරතුරු භාවිතයේ ප්‍රතිවිපාක සඳහා වගකීමක් නොමැත. NXP අර්ධ සන්නායක NXP අර්ධ සන්නායක වලින් පිටත තොරතුරු මූලාශ්‍රයක් මඟින් සපයනු ලැබුවහොත් මෙම ලේඛනයේ අන්තර්ගතය සඳහා NXP අර්ධ සන්නායක වගකීමක් නොගනී.
    කිසිම අවස්ථාවක NXP අර්ධ සන්නායක වක්‍ර, අහඹු, දණ්ඩනීය, විශේෂ හෝ ප්‍රතිවිපාක හානි සඳහා (සීමා රහිතව - නැතිවූ ලාභ, නැතිවූ ඉතුරුම්, ව්‍යාපාර බාධා කිරීම්, කිසියම් නිෂ්පාදනයක් ඉවත් කිරීම හෝ ප්‍රතිස්ථාපනය කිරීම හෝ ප්‍රතිනිර්මාණය කිරීමේ ගාස්තු ඇතුළුව) සඳහා වගකිව යුතු නොවේ. එසේත් නැතිනම් එවැනි හානි හිංසා කිරීම් (නොසැලකිලිමත්කම ඇතුළුව), වගකීම් සහතිකය, කොන්ත්‍රාත්තුව උල්ලංඝනය කිරීම හෝ වෙනත් නීතිමය සිද්ධාන්තයක් මත පදනම් නොවේ.
    කිසියම් හේතුවක් නිසා පාරිභෝගිකයාට සිදු විය හැකි හානියක් නොතකා, මෙහි විස්තර කර ඇති නිෂ්පාදන සඳහා පාරිභෝගිකයා වෙත NXP අර්ධ සන්නායකවල සමස්ත සහ සමුච්චිත වගකීම NXP අර්ධ සන්නායකවල වාණිජ විකිණීමේ නියමයන් සහ කොන්දේසි වලට අනුකූලව සීමා වේ.
  • වෙනස්කම් කිරීමට අයිතිය — NXP Semiconductors හට ඕනෑම වේලාවක සහ දැනුම්දීමකින් තොරව සීමා නිර්ණය කිරීම් සහ නිෂ්පාදන විස්තර ඇතුළුව, මෙම ලේඛනයේ ප්‍රකාශිත තොරතුරුවලට වෙනස්කම් කිරීමට අයිතිය ඇත. මෙම ලේඛනය මෙහි ප්‍රකාශනයට පෙර සපයන ලද සියලුම තොරතුරු ප්‍රතිස්ථාපනය කරයි.
  • භාවිතයට සුදුසු බව — NXP අර්ධ සන්නායක නිෂ්පාදන ජීවිත ආධාරක, ජීවිත-විවේචනාත්මක හෝ ආරක්ෂිත-විවේචනාත්මක පද්ධති හෝ උපකරණවල හෝ NXP අර්ධ සන්නායක නිෂ්පාදනයක් අසාර්ථක වීම හෝ අක්‍රිය වීම සාධාරණ ලෙස අපේක්ෂා කළ හැකි යෙදුම්වල භාවිතයට සුදුසු ලෙස සැලසුම් කර, අවසර දී හෝ සහතික කර නොමැත. පුද්ගලික තුවාල, මරණය හෝ දරුණු දේපල හෝ පාරිසරික හානි. NXP අර්ධ සන්නායක සහ එහි සැපයුම්කරුවන් එවැනි උපකරණ හෝ යෙදුම්වල NXP අර්ධ සන්නායක නිෂ්පාදන ඇතුළත් කිරීම සහ/හෝ භාවිතය සඳහා කිසිදු වගකීමක් භාර නොගන්නා අතර එම නිසා එවැනි ඇතුළත් කිරීම සහ/හෝ භාවිතය පාරිභෝගිකයාගේම අවදානම මත සිදුවේ.
  • යෙදුම් — මෙම ඕනෑම නිෂ්පාදනයක් සඳහා මෙහි විස්තර කර ඇති යෙදුම් නිදර්ශන අරමුණු සඳහා පමණි. NXP අර්ධ සන්නායක එවැනි යෙදුම් වැඩිදුර පරීක්ෂණ හෝ වෙනස් කිරීමකින් තොරව නිශ්චිත භාවිතය සඳහා සුදුසු බවට කිසිදු නියෝජනයක් හෝ වගකීමක් ලබා නොදේ.
    NXP අර්ධ සන්නායක නිෂ්පාදන භාවිතයෙන් ඔවුන්ගේ යෙදුම් සහ නිෂ්පාදන සැලසුම් කිරීම සහ ක්‍රියාත්මක කිරීම සඳහා පාරිභෝගිකයින් වගකිව යුතු අතර, NXP අර්ධ සන්නායක යෙදුම් හෝ පාරිභෝගික නිෂ්පාදන සැලසුම් කිරීම සඳහා කිසිදු සහයක් සඳහා වගකීමක් භාර නොගනී. NXP අර්ධ සන්නායක නිෂ්පාදනය සැලසුම් කර ඇති පාරිභෝගිකයාගේ යෙදුම් සහ නිෂ්පාදන සඳහා මෙන්ම පාරිභෝගිකයාගේ තුන්වන පාර්ශ්ව පාරිභෝගිකයින්ගේ (ය) සැලසුම්ගත යෙදුම සහ භාවිතය සඳහා සුදුසු සහ සුදුසුද යන්න තීරණය කිරීම පාරිභෝගිකයාගේ එකම වගකීම වේ. පාරිභෝගිකයින් ඔවුන්ගේ යෙදුම් සහ නිෂ්පාදන හා සම්බන්ධ අවදානම් අවම කිරීම සඳහා සුදුසු සැලසුම් සහ මෙහෙයුම් ආරක්ෂණ සැපයිය යුතුය. NXP Semiconductors පාරිභෝගිකයාගේ යෙදුම්වල හෝ නිෂ්පාදනවල කිසියම් දුර්වලතාවයක් හෝ පැහැර හැරීමක් මත පදනම් වූ කිසියම් පෙරනිමියක්, හානියක්, පිරිවැයක් හෝ ගැටලුවක් හෝ පාරිභෝගිකයාගේ තෙවන පාර්ශ්ව පාරිභෝගිකයන් විසින් යෙදුම හෝ භාවිතය සම්බන්ධ කිසිදු වගකීමක් පිළි නොගනී. පාරිභෝගිකයාගේ තුන්වන පාර්ශ්ව පාරිභෝගිකයින් විසින් යෙදුම් සහ නිෂ්පාදන හෝ යෙදුමේ පෙරනිමි හෝ භාවිතය වැළැක්වීම සඳහා NXP අර්ධ සන්නායක නිෂ්පාදන භාවිතයෙන් පාරිභෝගිකයාගේ යෙදුම් සහ නිෂ්පාදන සඳහා අවශ්‍ය සියලුම පරීක්ෂණ සිදු කිරීම පාරිභෝගිකයා වගකිව යුතුය. NXP මේ සම්බන්ධයෙන් කිසිදු වගකීමක් භාර නොගනී.
  • වාණිජ විකිණීමේ නියමයන් සහ කොන්දේසි — NXP අර්ධ සන්නායක නිෂ්පාදන https://www.nxp.com/pro හි ප්‍රකාශයට පත් කර ඇති පරිදි වාණිජ විකිණීමේ සාමාන්‍ය නියමයන් සහ කොන්දේසි වලට යටත්ව විකුණනු ලැබේfile/ නියමයන්, වලංගු ලිඛිත තනි ගිවිසුමක වෙනත් ආකාරයකින් එකඟ වී නොමැති නම්. තනි පුද්ගල ගිවිසුමක් අවසන් වුවහොත් අදාළ ගිවිසුමේ නියමයන් සහ කොන්දේසි පමණක් අදාළ වේ. NXP අර්ධ සන්නායක පාරිභෝගිකයා විසින් NXP අර්ධ සන්නායක නිෂ්පාදන මිලදී ගැනීම සම්බන්ධයෙන් පාරිභෝගිකයාගේ සාමාන්‍ය නියමයන් සහ කොන්දේසි යෙදීමට මෙයින් පැහැදිලිවම විරුද්ධ වේ.
  • අපනයන පාලනය - මෙම ලේඛනය මෙන්ම මෙහි විස්තර කර ඇති අයිතම(ය) අපනයන පාලන රෙගුලාසි වලට යටත් විය හැක. අපනයනය සඳහා නිසි බලධාරීන්ගෙන් පූර්ව අවසරයක් අවශ්‍ය විය හැකිය.
  • වාහන නොවන සුදුසුකම් ලත් නිෂ්පාදනවල භාවිතය සඳහා යෝග්‍යතාවය - මෙම නිශ්චිත NXP අර්ධ සන්නායක නිෂ්පාදනය මෝටර් රථ සඳහා සුදුසුකම් ඇති බව මෙම ලේඛනය පැහැදිලිව සඳහන් නොකරන්නේ නම්, නිෂ්පාදිතය මෝටර් රථ භාවිතය සඳහා සුදුසු නොවේ. එය මෝටර් රථ පරීක්ෂණ හෝ යෙදුම් අවශ්‍යතාවලට අනුකූලව සුදුසුකම් ලත් හෝ පරීක්ෂා කර නොමැත. NXP අර්ධ සන්නායක මෝටර් රථ උපකරණ හෝ යෙදුම්වල වාහන නොවන සුදුසුකම් ලත් නිෂ්පාදන ඇතුළත් කිරීම සහ/හෝ භාවිතය සඳහා කිසිදු වගකීමක් භාර නොගනී.
    පාරිභෝගිකයා විසින් මෝටර් රථ පිරිවිතර සහ ප්‍රමිතීන් සඳහා මෝටර් රථ යෙදුම් සැලසුම් කිරීම සහ භාවිතය සඳහා නිෂ්පාදිතය භාවිතා කරන අවස්ථාවක, පාරිභෝගිකයා (අ) එවැනි මෝටර් රථ යෙදුම්, භාවිතය සහ පිරිවිතර සඳහා නිෂ්පාදනයේ NXP අර්ධ සන්නායක වගකීමකින් තොරව නිෂ්පාදිතය භාවිතා කළ යුතුය, සහ ( b) පාරිභෝගිකයා NXP අර්ධ සන්නායක පිරිවිතරයන්ගෙන් ඔබ්බට මෝටර් රථ යෙදුම් සඳහා නිෂ්පාදිතය භාවිතා කරන විට, එවැනි භාවිතය පාරිභෝගිකයාගේම අවදානම මත පමණක් විය යුතු අතර, (ඇ) පාරිභෝගික සැලසුම් සහ භාවිතය හේතුවෙන් ඇති වන ඕනෑම වගකීමක්, හානි හෝ අසාර්ථක නිෂ්පාදන හිමිකම් සඳහා පාරිභෝගිකයා NXP අර්ධ සන්නායක සම්පූර්ණයෙන්ම වන්දි ගෙවයි. NXP අර්ධ සන්නායකවල සම්මත වගකීම් සහ NXP අර්ධ සන්නායක නිෂ්පාදන පිරිවිතරවලින් ඔබ්බට මෝටර් රථ යෙදුම් සඳහා නිෂ්පාදනය.
  • පරිවර්තන — එම ලේඛනයේ නීතිමය තොරතුරු ඇතුළුව, ලේඛනයක ඉංග්‍රීසි නොවන (පරිවර්තනය කරන ලද) අනුවාදයක්, යොමුව සඳහා පමණි. පරිවර්තන සහ ඉංග්‍රීසි අනුවාද අතර කිසියම් විෂමතාවයක් ඇති වුවහොත් ඉංග්‍රීසි අනුවාදය බලපැවැත්වේ.
  • ආරක්ෂාව - සියලුම NXP නිෂ්පාදන හඳුනා නොගත් දුර්වලතාවලට යටත් විය හැකි බව හෝ දන්නා සීමාවන් සහිත ස්ථාපිත ආරක්ෂක ප්‍රමිතීන් හෝ පිරිවිතරයන්ට සහාය විය හැකි බව පාරිභෝගිකයා තේරුම් ගනී. පාරිභෝගිකයාගේ යෙදුම් සහ නිෂ්පාදන මත මෙම අවදානම් වල බලපෑම අවම කිරීම සඳහා ඔවුන්ගේ ජීවිත චක්‍රය පුරාම එහි යෙදුම් සහ නිෂ්පාදන සැලසුම් කිරීම සහ ක්‍රියාත්මක කිරීම සඳහා පාරිභෝගිකයා වගකිව යුතුය. පාරිභෝගිකයාගේ වගකීම පාරිභෝගිකයාගේ යෙදුම්වල භාවිතය සඳහා NXP නිෂ්පාදන මගින් සහාය දක්වන වෙනත් විවෘත සහ/හෝ හිමිකාර තාක්ෂණයන් වෙත ද විහිදේ. NXP කිසිදු අවදානමක් සඳහා වගකීමක් භාර නොගනී. පාරිභෝගිකයා NXP වෙතින් ආරක්ෂක යාවත්කාලීනයන් නිතිපතා පරීක්ෂා කර සුදුසු පරිදි පසු විපරම් කළ යුතුය. පාරිභෝගිකයා අපේක්ෂිත යෙදුමේ නීති රීති, රෙගුලාසි සහ ප්‍රමිතීන් වඩාත් හොඳින් සපුරාලන ආරක්ෂක විශේෂාංග සහිත නිෂ්පාදන තෝරා ගත යුතු අතර එහි නිෂ්පාදන සම්බන්ධයෙන් අවසාන සැලසුම් තීරණ ගනු ලබන අතර එහි නිෂ්පාදන පිළිබඳ සියලු නීතිමය, නියාමන සහ ආරක්ෂාව සම්බන්ධ අවශ්‍යතා සමඟ අනුකූල වීම සඳහා සම්පූර්ණයෙන්ම වගකිව යුතුය. NXP මගින් සැපයිය හැකි ඕනෑම තොරතුරක් හෝ සහායක්.

NXP නිෂ්පාදන ආරක්ෂණ සිදුවීම් ප්‍රතිචාර කණ්ඩායමක් (PSIRT) ඇත (PSIRT@nxp.com වෙත ළඟා විය හැක) එය NXP නිෂ්පාදනවල ආරක්ෂක දුර්වලතා විමර්ශනය, වාර්තා කිරීම සහ විසඳුම් මුදා හැරීම කළමනාකරණය කරයි.
NXP BV — NXP BV යනු මෙහෙයුම් සමාගමක් නොවන අතර එය නිෂ්පාදන බෙදා හැරීම හෝ විකිණීම සිදු නොකරයි.

වෙළඳ ලකුණු
දැනුම්දීම: සියලුම යොමු වෙළඳ නාම, නිෂ්පාදන නම්, සේවා නම් සහ වෙළඳ ලකුණු ඔවුන්ගේ අයිතිකරුවන්ගේ දේපළ වේ.

එන්එක්ස්පී — wordmark සහ logo යනු NXP BV හි වෙළඳ ලකුණු වේ

AMBA, Arm, Arm7, Arm7TDMI, Arm9, Arm11, Artisan, big.LITTLE, Cordio, CoreLink, CoreSight, Cortex, DesignStart, DynamIQ, Jazelle, Keil, Mali, Mbed, Mbed Enabled, NEON, POP, RealView, SecurCore, Socrates, Thumb, TrustZone, ULINK, ULINK2, ULINK-ME, ULINK-PLUS, ULINKpro, μVision, Versatile — යනු එක්සත් ජනපදයේ සහ/හෝ Arm Limited හි (හෝ එහි අනුබද්ධිත හෝ අනුබද්ධිත) වෙළඳ ලකුණු සහ/හෝ ලියාපදිංචි වෙළඳ ලකුණු වේ. වෙනත් තැනක. අදාළ තාක්ෂණය ඕනෑම හෝ සියලුම පේටන්ට් බලපත්‍ර, ප්‍රකාශන හිමිකම්, සැලසුම් සහ වෙළඳ රහස් මගින් ආරක්ෂා කළ හැක. සියලු හිමිකම් ඇවිරිණි.

  • i.MX - NXP BV හි වෙළඳ ලකුණකි
  • J-Link — යනු SEGGER Microcontroller GmbH හි වෙළඳ ලකුණකි.

Microsoft, Azure සහ ThreadX - Microsoft සමාගම් සමූහයේ වෙළඳ ලකුණු වේ.

මෙම ලේඛනය සහ මෙහි විස්තර කර ඇති නිෂ්පාදන(ය) සම්බන්ධ වැදගත් නිවේදන 'නීතිමය තොරතුරු' කොටසේ ඇතුළත් කර ඇති බව කරුණාවෙන් සලකන්න.

© 2024 NXP BV
වැඩි විස්තර සඳහා කරුණාකර පිවිසෙන්න: https://www.nxp.com

  • මුදා හැරීමේ දිනය: 19 අප්‍රේල් 2024
  • ලේඛන හඳුනාගැනීම: AN14263

නිති අසන පැණ

ප්රශ්නය: මෙම නිෂ්පාදනයේ ප්රධාන අරමුණ කුමක්ද?
A: ප්‍රධාන අරමුණ වන්නේ සරල LVGL GUI ex සමඟ AI&ML vision ඇල්ගොරිතම ආකෘතියක් භාවිතයෙන් මුහුණු හඳුනාගැනීමේ කාර්යය සක්‍රීය කිරීමයි.ampSLN-TLHMI-IOT පුවරුවේ.

ප්‍ර: මෙම යෙදුම් සටහනෙන් සංවර්ධකයින්ට ප්‍රයෝජන ගත හැක්කේ කෙසේද?
A: සංවර්ධකයින්ට ලබා දී ඇති හිටපු භාවිතා කර පියවරෙන් පියවර රාමුව මත මුහුණු හඳුනාගැනීම ක්‍රියාත්මක කරන ආකාරය ඉගෙන ගත හැකample සහ උපාංග කළමනාකරුවන්, HAL උපාංග සහ සම්බන්ධ සිදුවීම් යාන්ත්‍රණ තේරුම් ගන්න.

ලේඛන / සම්පත්

NXP AN14263 Framewor මත LVGL GUI Face Recognition ක්‍රියාත්මක කරන්න [pdf] පරිශීලක මාර්ගෝපදේශය
AN14263 Framewor මත LVGL GUI Face Recognition ක්‍රියාත්මක කරන්න, AN14263, Framewor මත LVGL GUI Face Recognition ක්‍රියාත්මක කරන්න, Framewor මත LVGL GUI මුහුණු හඳුනාගැනීම, Framewor Framewor Framewor මත මුහුණු හඳුනාගැනීම,

යොමු කිරීම්

කමෙන්ට් එකක් දාන්න

ඔබගේ විද්‍යුත් තැපැල් ලිපිනය ප්‍රකාශනය නොකෙරේ. අවශ්‍ය ක්ෂේත්‍ර සලකුණු කර ඇත *