nxp-լոգոն

NXP AN14263 Իրականացնել LVGL GUI դեմքի ճանաչումը Framewor-ում

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

Ապրանքի մասին տեղեկատվություն

Տեխնիկական պայմաններ

  • Ապրանքի անվանումը: LVGL GUI դեմքի ճանաչում շրջանակում
  • Փաստաթղթի վերանայում. 1 – 19 ապրիլի 2024 թ
  • Հիմնաբառեր: Դեմքի ճանաչում, LVGL GUI, Framework

Ապրանքի օգտագործման հրահանգներ

  1. Ավարտվել էview
    Այս արտադրանքը հնարավորություն է տալիս AI&ML տեսողության ալգորիթմի մոդելը դեմքի ճանաչման համար շրջանակի վրա՝ իրականացնելու դեմքի ճանաչման գործառույթը պարզ LVGL GUI նախկինում:ample SLN-TLHMI-IOT տախտակի վրա:
  2. Շրջանակն ավարտվեցview
    Լուծման ծրագրակազմը նախագծված է շրջանակային ճարտարապետության շուրջ, որը ներառում է սարքերի կառավարիչներ, որոնք պատասխանատու են սարքերի կառավարման համար, HAL սարքերը վերացական հիմքում ընկած մանրամասների համար և իրադարձություններ տարբեր սարքերի միջև հաղորդակցության համար:
  3. Առանձնահատկություններ
    Ապրանքը թույլ է տալիս իրականացնել դեմքի ճանաչման գործառույթը տեսախցիկի միջոցովview ինտերֆեյսի ինտերֆեյսի էկրանին՝ կոճակներով՝ դեմքի գրանցումը, ճանաչումը և հեռացումը գործարկելու համար: Գրանցված դեմքի տվյալները պահվում են Flash-ում a file համակարգ.
  4. Դիմումի նշումի բովանդակությունը
    Հավելվածի նշումը ներկայացնում է LVGL GUI էկրան՝ նախապես տեսախցիկովview և դեմքի հետ կապված գործողությունների կոճակներ: Այն օգնում է ծրագրավորողներին հասկանալ շրջանակը և ինչպես իրականացնել դեմքի ճանաչում՝ օգտագործելով տրամադրված օրինակըampլե.

Ավարտվել էview

NXP-ը գործարկել է լուծումների մշակման փաթեթ՝ SLN-TLHMI-IOT անունով, որը կենտրոնանում է խելացի HMI հավելվածների վրա: Այն հնարավորություն է տալիս խելացի HMI-ին՝ ML տեսլականով, ձայնով և գրաֆիկական միջերեսով, որն իրականացվում է մեկ NXP i.MX RT117H MCU-ում: Հիմնվելով SDK-ի վրա՝ լուծման ծրագրակազմը կառուցված է կառուցվածքի վրա, որը կոչվում է շրջանակ, որն աջակցում է ճկուն ձևավորումներին և տեսողության և ձայնային գործառույթների հարմարեցմանը: Օգտատերերին ծրագրային հարթակն ավելի լավ օգտագործելու համար տրամադրվում են որոշ հիմնական փաստաթղթեր, օրինակample, ծրագրային ապահովման մշակման օգտատիրոջ ուղեցույց: Ուղեցույցը ներկայացնում է հավելվածների հիմնական ծրագրային դիզայնը և ճարտարապետությունը, որն ընդգրկում է լուծման բոլոր բաղադրիչները, ներառյալ շրջանակը, որպեսզի օգնի ծրագրավորողներին ավելի հեշտ և արդյունավետ իրականացնել իրենց հավելվածները՝ օգտագործելով SLN-TLHMI-IOT:
Լուծման և համապատասխան փաստաթղթերի մասին լրացուցիչ մանրամասների համար այցելեք web NXP EdgeReady Smart HMI Solution-ի էջը, որը հիմնված է i.MX RT117H-ի վրա՝ ML Vision, Voice և Graphical UI-ով: Այնուամենայնիվ, մշակողների համար դեռևս այնքան էլ հեշտ չէ իրականացնել իրենց խելացի HMI հավելվածները՝ հղում կատարելով այս հիմնական ուղեցույցներին: Ծրագրվում են մի շարք հայտերի նշումներ, որոնք կօգնեն քայլ առ քայլ ուսումնասիրել շրջանակի զարգացումը: Այս հավելվածի նշումը հիմնված է Implement LVGL GUI Camera Pre-ի վրաview Շրջանակի վրա (փաստաթուղթ AN14147): Այս հավելվածի նշումը նկարագրում է, թե ինչպես միացնել AI&ML տեսողության ալգորիթմի մոդելը շրջանակի վրա դեմքի ճանաչման համար՝ դեմքի ճանաչման գործառույթը նախապես տեսախցիկի միջոցով իրականացնելու համար:view GUI էկրանին պարզ LVGL GUI օրինակովample SLN-TLHMI-IOT տախտակի վրա: Դիմումի գրության մեջ նախկինample-ն ներկայացնում է LVGL GUI էկրան՝ նախապես տեսախցիկովview և որոշ կոճակներ՝ դեմքի գրանցումը, ճանաչումը և հեռացումը գործարկելու համար: Գրանցված դեմքի տվյալները պահվում են Flash-ում մի փոքրի միջոցով file համակարգ.

Բարձր մակարդակով դիմումի նշումը պարունակում է հետևյալ բովանդակությունը.

  • Միացնել դեմքի ճանաչման գործառույթը շրջանակի վրա:
  • Ավելացրեք դեմքերի տվյալների բազայի աջակցությունը շրջանակի միջոցով file համակարգը Flash-ի վրա:
  • Իրականացնել LVGL GUI հավելվածը: Վերոնշյալ ներածությունների միջոցով այս փաստաթուղթն օգնում է մշակողներին՝
  • Ավելի խորը հասկացեք շրջանակը և խելացի HMI լուծման ծրագրակազմը:
  • Մշակեք իրենց AI&ML դեմքի ճանաչումը շրջանակում LVGL GUI հավելվածի միջոցով:

Շրջանակն ավարտված էview
Լուծման ծրագրակազմը հիմնականում նախագծված է շրջանակային ճարտարապետության օգտագործման շուրջ, որը բաղկացած է մի քանի տարբեր մասերից.

  • Սարքի կառավարիչներ - հիմնական մասը
  • Սարքավորումների աբստրակցիոն շերտ (HAL) սարքեր
  • Հաղորդագրություններ/Իրադարձություններ

Ինչպես ցույց է տրված Նկար 1-ում, վերview շրջանակի մեխանիզմը հետևյալն է.

Սարքի կառավարիչները պատասխանատու են համակարգի կողմից օգտագործվող սարքերի կառավարման համար: Սարքի յուրաքանչյուր տեսակ (մուտք, ելք և այլն) ունի իր տեսակի հատուկ սարքի կառավարիչը: Երբ սարքի կառավարիչը սկսում է սարքերի գրանցումից հետո, այն սպասում և ստուգում է հաղորդագրություն՝ տվյալների փոխանցման սարքերին և այլ կառավարիչներին գրանցված սարքերը սկզբնավորելուց և գործարկելուց հետո: HAL սարքերը գրված են ավելի ցածր մակարդակի վարորդի կոդի վերևում, ինչը օգնում է բարձրացնել ծածկագրի հասկանալիությունը՝ վերացելով հիմքում ընկած շատ մանրամասներ:

Իրադարձությունները միջոց են, որոնց միջոցով տեղեկատվությունը տարբեր սարքերի միջև հաղորդակցվում է դրանց կառավարիչների միջոցով: Երբ իրադարձությունը գործարկվում է, սարքը, որն առաջինն է ստացել միջոցառումը, հաղորդում է այդ իրադարձությունը իր մենեջերին, այնուհետև այն ծանուցում է այլ մենեջերներին, որոնք նշանակված են միջոցառումը ստանալու համար:

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

Շրջանակի ճարտարապետական ​​ձևավորումը կենտրոնացած էր երեք հիմնական նպատակների վրա.

  1. Օգտագործման հեշտություն
  2. Ճկունություն/Տեղափոխելիություն
  3. Կատարում

Շրջանակը նախագծված է տեսլականի և մեքենայական ուսուցման այլ հավելվածների շուկայավարման ժամանակն արագացնելու նպատակով: Շուկայավարման արագ ժամանակ ապահովելու համար շատ կարևոր է, որ ծրագրաշարն ինքնին հեշտ ընկալելի և փոփոխվի: Այս նպատակը նկատի ունենալով՝ շրջանակի ճարտարապետությունը հեշտ է փոփոխել՝ առանց սահմանափակող լինելու և առանց կատարողականի գնի:
Շրջանակի մասին լրացուցիչ մանրամասների համար տե՛ս Smart HMI Software Development User Guide (փաստաթուղթ MCU-SMHMI-SDUG):

Թեթև և բազմակողմանի գրաֆիկական գրադարան (LVGL)
LVGL-ը (Light and Multisatile Graphics Library) անվճար և բաց կոդով գրաֆիկական գրադարան է, որն ապահովում է այն ամենը, ինչ ձեզ անհրաժեշտ է հեշտ օգտագործման գրաֆիկական տարրերով, գեղեցիկ տեսողական էֆեկտներով և ցածր հիշողության հետքով ներկառուցված GUI ստեղծելու համար:

GUI ուղեցույց
GUI Guider-ը օգտագործողի համար հարմար գրաֆիկական ինտերֆեյսի մշակման գործիք է NXP-ից, որը թույլ է տալիս արագ զարգացնել բարձրորակ էկրաններ բաց կոդով LVGL գրաֆիկական գրադարանով: GUI Guider-ի քաշել և թողնել խմբագրիչը հեշտացնում է LVGL-ի բազմաթիվ հնարավորությունների օգտագործումը, ինչպիսիք են վիդջեթները, անիմացիաները և ոճերը՝ նվազագույն կամ ընդհանրապես առանց կոդավորման GUI ստեղծելու համար:

Կոճակի սեղմումով դուք կարող եք գործարկել ձեր հավելվածը մոդելավորված միջավայրում կամ արտահանել այն թիրախային նախագիծ: GUI Guider-ից ստեղծված կոդը հեշտությամբ կարող է ավելացվել ձեր նախագծին՝ արագացնելով զարգացման գործընթացը և թույլ տալով անխափան կերպով ավելացնել ներկառուցված ինտերֆեյս ձեր հավելվածում: GUI Guider-ը անվճար է օգտագործելու NXP-ի ընդհանուր նշանակության և խաչմերուկի MCU-ների հետ և ներառում է ներկառուցված նախագծերի ձևանմուշներ մի քանի աջակցվող հարթակների համար: GUI Guider-ի վրա LVGL-ի և GUI-ի մշակման մասին ավելին իմանալու համար ստուգեք Light and բազմակողմանի գրաֆիկական գրադարանը և GUI Guider-ը:

Զարգացման միջավայր

Նախ պատրաստեք և ստեղծեք ապարատային և ծրագրային միջավայրը նախկինի իրականացման համարample շրջանակի վրա:

Սարքավորումների միջավայր
Սարքավորումների միջավայրը ստեղծվել է նախկինը ստուգելու համարampլե:

  • Խելացի HMI մշակման հավաքածու՝ հիմնված NXP i.MX RT117H-ի վրա (SLN_TLHMI_IOT հավաքածու)
  • SEGGER J-Link 9-pin Cortex-M ադապտերով և V7.84a կամ վարորդի ավելի նոր տարբերակով

ծրագրային միջավայր
Ծրագրային միջավայրը ստեղծվել է նախկինի մշակման համարampլե:

  • MCUXpresso IDE V11.7.0
  • GUI ուղեցույց V1.6.1-GA
  • lvgl_gui_camera_preview_cm7 – օրինակampերկրորդ հավելվածի նոտայի կոդը՝ որպես մշակման հիմք: Մանրամասների համար տե՛ս https://mcuxpresso.nxp.com/appcodehub.
  • RT1170 SDK V2.13.0 – որպես մշակման կոդը ռեսուրս:
  • SLN-TLHMI-IOT ծրագրակազմ V1.1.2 – խելացի HMI կոդ, որը թողարկվել է NXP GitHub պահոցում՝ որպես մշակման կոդերի ռեսուրս: Մանրամասների համար տես՝ GitHub – NXP/mcu-smhmi v1.1.2-ում

Ծրագրային միջավայրի ձեռքբերման և տեղադրման մասին մանրամասների համար տե՛ս՝ SLN-TLHMI-IOT-ի հետ սկսելը:

Տեսողության ճարտարապետություն շրջանակի վրա

Շրջանակի վրա տեսողության ճարտարապետությունը ներկայացված է Նկար 2-ում: Տեսողության ալգոն HAL (OASIS_HAL) ունի հետևյալ գործընթացները.

  • Կատարեք դեմքի գրանցում և ճանաչում AI&ML տեսողության ալգորիթմի մոդելի միջոցով՝ ելքային UI HAL-ից համապատասխան իրադարձությունները ստանալուց հետո: Տեղեկացրեք ալգորիթմի մոդելից եզրակացության արդյունքների մասին ելքային UI HAL-ին:
  • Մուտք է գործում (ավելացնել, ջնջել…) դեմքի առանձնահատկությունների տվյալների բազան՝ հիմնվելով փոքրի վրա file համակարգ՝ զանգահարելով FaceDB HAL-ի API-ները՝ ելքային UI HAL-ից համապատասխան իրադարձությունները ստանալուց հետո:
  • Դեմքի գրանցում և ճանաչում կատարելիս պահանջեք տեսախցիկի տեսագրման շրջանակը HAL-ից:

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

Իրականացնել դեմքի ճանաչում շրջանակի վրա

LVGL GUI-ի դեմքի ճանաչումը նախկինample (նախկինample տրամադրվում է ավելի ուշ) շրջանակի վրա իրականացվում է ելնելով նախկինampԿոդերը Implement LVGL GUI Camera Preview Շրջանակի վրա (փաստաթուղթ AN14147):

Նախկինում դեմքի ճանաչումը ցուցադրելու համարample, GUI հավելվածի հիմնական գործառույթը (տե՛ս Նկար 3-ի հիմնական էկրանը) նախագծված է ստորև նկարագրված ձևով.

  • GUI հավելվածը գործարկում է դեմքի գրանցման կամ ճանաչման իրադարձությունը ելքային UI HAL-ում՝ սեղմելով «Գրանցում» կամ «Ճանաչում» կոճակը: Իսկ ելքային UI HAL-ը ծանուցում է HAL տեսիլքի ալգոին օգտատեր ավելացնելու իրադարձության մասին դեմքի գրանցման հաջող ավարտից հետո:
  • GUI հավելվածը գործարկում է օգտատիրոջը ելքային UI HAL-ում ջնջելու դեպքը, երբ սեղմում եք Ջնջել օգտվողին կոճակը, երբ օգտատիրոջ դեմքը ճանաչվում է:
  • GUI հավելվածը գործարկում է օազիս ալգոյի դադարեցման իրադարձությունը, որն աշխատում է դեպի ելքային UI HAL՝ կոճակներից և պատկերներից դուրս էկրանին սեղմելիս:

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

Պատրաստել ծրագրային փաթեթը նախկինի իրականացման համարampլե.

  • Կլոնավորեք հիմնական ծրագրաշարը lvgl_gui_camera_preview_սմ7. Փոխեք նախագծի անվանումը և հիմնականը fileանունը lvgl_gui_face_rec_cm7:
  • Շրջանակը պետք է թարմացվի ծրագրային ապահովման մեջ, քանի որ շրջանակի հիմնական կոդերը սկսել են հրապարակային լինել GitHub-ում 1.1.2 տարբերակից:
  • Փոխարինեք շրջանակային թղթապանակը GitHub-ից V1.1.2-ի պատճենով, բացառությամբ files fwk_log.h և fwk_common.h տակ inc\, քանի որ դրանք փոփոխվել են հավելվածի նշումների շարքի համար: Գործողությունները ներկայացված են Նկար 4-ում.NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (11)
  • Ջնջել թղթապանակը framework_cm7 libs խմբի տակ և հեռացնել գրադարանի framework_cm7-ը և դրա որոնման ուղին, որը կազմաձևված է Project > Properties > C/C++ Build > settings > Tool Settings > MCU C++ Linker > Libraries, քանի որ տրված է միջուկի սկզբնական կոդը:

Միացնել դեմքի ճանաչման գործառույթը շրջանակում
Դեմքի ճանաչման գործառույթը կառուցված է ML vision ալգորիթմի մոդելի վրա, որը տրամադրվում է որպես ստատիկ գրադարան՝ Oasis lite գործարկման գրադարան NXP-ի կողմից: Գրադարանը փոքրիկ, բարձր արդյունավետ, հարմարեցված և օպտիմիզացված AI գրադարան է: Մոդելը ներառում է դեմքի հայտնաբերում, դեմքի ճանաչում, ապակու հայտնաբերում և աշխուժության հայտնաբերում: Այն հիմնականում տրամադրում է API OASISLT_run_extended()՝ գործարկելու դեմքի ճանաչման խողովակաշարը, մինչդեռ զանգահարողին արդյունքները թարմացվում են իրադարձությունների հետադարձ զանգերի միջոցով, և տվյալների բազայում դեմքեր ավելացնելու/թարմացնելու/ջնջելու համար դեմքերի տվյալների բազայի հետ կանչերի միջոցով՝ սկզբնաղբյուր շրջանակի տեղեկատվությունը, հետ կանչերը և հիշողությունը նշելուց հետո: լողավազան, որն օգտագործվում է գրադարանի կողմից՝ սկզբնականացման ժամանակ զանգահարելով մեկ այլ API OASISLT_init(): API-ների կանչը և հետադարձ կապի գործառույթներն իրականացվում են շրջանակի տեսլականի HAL ալգոյում:

Ավելացնել vision algo մոդելային գրադարան

  1. Պատճենել թղթապանակի օազիսը, որը պարունակում է գրադարանը և հարակից վերնագիրը file խելացի HMI\սուրճի_մեքենա\cm7\libs\-ից նախկինի թղթապանակի էջերըample SW.
  2. Ավելացրեք վերնագրի որոնման ուղին file Project > Properties > C/C++ Build > settings > Tool Settings > MCU C compiler > Includes and MCU C++ compiler > Ներառում է՝ «${workspace_loc:/${ProjName}/libs/oasis/include}»:
  3. Ավելացրեք lib-ը և դրա որոնման ուղին Project > Properties > C/C++ Build > settings > MCU C+ + Linker > Libraries: liboasis_lite2D_DEFAULT_117f_ae.a «${workspace_loc:/${ProjName}/libs/oasis}» և մակրո սահմանումը դեպի միացնել գործառույթը Project > Properties > C/C++ Build > կարգավորումներ > Tool Settings > MCU C compiler > Preprocessor and MCU C++ compiler > Preprocessor. SMART_TLHMI_2D

Միացնել vision algo HAL-ը
Vision algo HAL-ը գործի է մղում vision algo մոդելը և արձագանքում է արդյունքներին UI ելքային HAL-ին՝ դրանից իրադարձությունները ստանալուց հետո:

Այն միացնելու համար կլոնավորեք գոյություն ունեցող նմանատիպ HAL դրայվերը file որտեղ իրականացվում են հետևյալ գործառույթները.

  • Իրականացնել դեմքերի տվյալների բազայի գործողությունների և իրադարձությունների հետադարձ կապը:
  • Տեղափոխեք տեսլականի ալգոն՝ զանգահարելով օազիս գրադարանի API-ներին:
  • Մուտք գործեք օգտվողի դեմքերի տվյալների բազա և հավելվածների տվյալների բազա (դա անհրաժեշտ չէ նախկինումampլե):
  • Ստացեք իրադարձություններ և ուղարկեք արդյունքները ելքային UI HAL:

Հիմնական աշխատանքները նախկինի համար HAL-ի իրականացման ուղղությամբampեն՝

  • Կլոնավորեք գոյություն ունեցող նմանատիպ HAL դրայվերը file և փոխիր հարակից անունները:
  • Հեռացրեք հավելվածի տվյալների գործառնությունների հետ կապված կոդերը:
  • Թարմացրեք ելքային UI HAL-ից իրադարձությունների կառավարման սահմանումները և գործառույթները՝ ըստ նախկինիampդիզայն.
  • Ավելացրեք օազիսի սկզբնավորման մեջ պահանջվող կոնֆիգուրացիաները:

Մանրամասն քայլերը հետևյալն են.

  1. Կլոնավորել hal_vision_algo_oasis_coffeemachine.c. Փոխել fileանունը hal_vision_algo_oasis_guifacerec.c. Եվ CoffeeMachine-ի բոլոր տողերը փոխարինեք GUIFaceRec-ով file.
  2. Հեռացրեք հավելվածների տվյալների բազայի հետ կապված coffeedb տողերը պարունակող կոդերը, օրինակ.ample, #include hal_sln_coffeedb.h.
  3. Փոփոխեք HAL_VisionAlgoDev_OasisGUIFaceRec_InputNotify() ֆունկցիան՝ ելքային UI HAL-ից իրադարձությունները մշակելու համար:
    • Իրադարձությունների սահմանումը փոխեք kEventFaceRecId_RegisterCoffeeSelection-ի kEventFaceRecId_RegisterUserFace-ի և regCoffeeSelection կառուցվածքը regGUIFaceRec-ի՝ իրադարձությունների մշակման համար՝ տվյալների բազայում դեմքի նոր առանձնահատկությունների տվյալներ ավելացնելու համար:
    • Դեմքի ճանաչման գործողությունների ստանդարտ գործընթացը ցուցադրելու համար նախկինումample, փոփոխեք կառավարումը kEventFaceRecID_OasisSetState-ի դեպքում՝ վիճակների սահմանումներով.
      • kOASISLiteState
      • Գրանցում kOASISLiteState
      • Ճանաչում kOASISLiteState
      • Դադարեցվեց
  4. Ավելացրեք և փոփոխեք վերը նշված քայլում նշված իրադարձությունների սահմանումները:
    • Պատճենեք վերնագիրը file smart_tlhmi_event_descriptor.h խելացի HMI\սուրճի_մեքենայից \cm7\source\event_handlers\ նախկին աղբյուրի թղթապանակիցample SW. Թարմացնել file ինչպես ստորև.
    • Փոփոխեք իրադարձության սահմանումը kEventFaceRecId_RegisterCoffeeSelection-ի kEventFaceRecId_RegisterUserFace-ի enum տեսակի _event_smart_tlhmi_id-ում և regCoffeeSelection կառուցվածքի տողը regGUIFaceRec-ի՝ _eventh.mi_t կառուցվածքում: Այսպիսով, փոխեք register_coffee_selection_event_t struct regCoffeeSelection-ի համար register_gui_facerec_event_t:
    • Ջնջեք այլ բովանդակությունը, որն օգտագործվում է սուրճի մեքենայի հավելվածի համար, օրինակample, ձայնի մասին ծածկագրի տողը՝ #include «hal_event_descriptor_voice.h»:
    • Ավելացրե՛ք kOASISLiteState_Stopped և kOASISLiteState_Running տեսակները oasis_lite_state_t թվին hal_vision_algo.h-ում նախագծում՝ frame>hal>vision, ինչպես ստորև.
      typedef enum _oasis_lite_state {
      • kOASISLiteState
      • Վազում, kOASISLiteState
      • Դադարեցվեց, kOASISLiteState
      • Ճանաչում,
      • kOASISLiteState
      • Գրանցում, kOASISLiteState
      • Ապագրանցում, kOASISLiteState
      • Հեռակա գրանցում, kOASISLiteState
      • հաշվել
    • Օգտագործեք վերը նշված թարմացված struct oasis_lite_state_t՝ ճշգրտելու struct oasis_state_event_t-ը hal_event_descriptor_face_rec.h-ում frame>hal>vision-ում նախագծում հետևյալ կերպ. typedef struct _oasis_state_event_t { oasis_lite_state_t վիճակ; } oasis_state_event_t;
  5. Փոխեք բոլոր kEventInfo_Remote-ը kEventInfo_Local-ի՝ տեսիլքի ալգո HAL-ից իրադարձություններ ուղարկելու այլ HAL-ներ, որոնք աշխատում են նույն միջուկով, ինչպես նախկինում օգտագործվում է միայնակ միջուկի փոխարեն երկմիջուկի փոխարեն:ampլե.
  6. Ավելացրեք և փոփոխեք ստորև նշված կոնֆիգուրացիաները OASISLT_init()-ում օազիսի սկզբնավորման համար:
    • Ավելացնել մակրո սահմանումներ և հիշողության բաժիններ վիդեո շրջանակի համար board_define.h-ում՝ #define OASIS_RGB_FRAME_WIDTH 800
      • #define OASIS_RGB_FRAME_HEIGHT 600
      • #define OASIS_RGB_FRAME_SRC_FORMAT kPixelFormat_YUV1P444_RGB
      • #define OASIS_RGB_FRAME_BYTE_PER_PIXEL 3
      • #define AT_FB_SHMEM_SECTION_ALIGN (var, alignbytes) \
      • __հատկանիշ__((բաժին(".bss.$fb_sh_mem,\"aw\",%nobits @"))) var
      • __հատկանիշ__((հավասարեցված(հավասարեցված բայթ)))
    • Կարգավորեք հիշողության նշանակումը վերը նշված հիշողության բաժնին fb_sh_mem Ծրագրում > Հատկություններ > C/C++ Build > Նկար 5-ում ցուցադրված MCU Կարգավորումներ:NXP-AN14263-Implement-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-ում:
      • #define AT_NONCACHEABLE_SECTION_ALIGN_DTC (var, alignbytes) \
      • հատկանիշ__((բաժին(.bss.$SRAM_DTC_cm7,\”aw\”,%nobits @”))) var
      • հատկանիշ__((հավասարեցված(հավասարեցված բայթ)))
    • Ներառեք վերնագիրը file hal_vision_algo.h, որը պարունակում է DTC_OPTIMIZE_BUFFER_SIZE մակրո սահմանումը app_config.h-ում՝ ներառված lvgl_gui_face_rec_cm7.cpp-ում:
  7. Սահմանեք s_debugOption փոփոխականը true՝ դեմքի ճանաչման առաջընթացի կարգավիճակը ցուցադրելու համար:
  8. Ավելացրեք վերնագրի որոնման ուղին files of the vision HAL Project-ում > Properties >C/C++ Build > settings > Tool Settings > MCU C compiler > Includes and MCU C++ compiler > Ներառում է՝ «${workspace_loc:/${ProjName}/framework/hal/vision}»:
  9. Ավելացրեք ստորև բերված սահմանումը board_define.h-ում տեսողության ալգոն HAL-ը միացնելու համար՝ #define ENABLE_VISIONALGO_DEV_Oasis_GUIFaceRec

Միացնել ելքային UI HAL-ը
Արդյունք UI HAL-ը ծանուցում է իրադարձությունների մասին vision algo HAL-ին և արձագանքում է HAL տեսլականի ալգոյի եզրակացության արդյունքներին: GUI հավելվածի միջոցով իրադարձությունները սովորաբար գործարկվում են հավելվածի կողմից, և արդյունքները ցուցադրվում են հավելվածում:

Այն միացնելու համար կլոնավորեք գոյություն ունեցող նմանատիպ HAL դրայվերը file որտեղ, ընդհանուր առմամբ, իրականացվում են հետևյալ գործառույթները.

  • Տեղեկացրեք դեմքերի ճանաչման և տվյալների բազայի հասանելիության իրադարձությունների մասին:
  • Իրականացրեք հետադարձ զանգերը GUI հավելվածի համար՝ իրադարձությունները գործարկելու համար:
  • Կառավարեք եզրակացության արդյունքները տեսլականի ալգո մոդուլից:
  • Ցույց տվեք միջերեսի վրա ընթացող իրադարձությունների ընթացքը և արդյունքները ժամանակաչափերի և դեմքի ուղեցույցի ուղղանկյունով կառավարվող առաջընթացի գծի միջոցով:

Հիմնական աշխատանքները նախկինի համար HAL-ի իրականացման ուղղությամբampԱյս փաստաթղթում օգտագործված են.

  • Կլոնավորեք գոյություն ունեցող նմանատիպ HAL դրայվերը file և փոխիր հարակից անունները:
  • Հեռացրեք հավելվածի հետ կապված կոդերը:
  • Թարմացրեք իրադարձությունների ծանուցման և արդյունքների արձագանքման գործառույթները՝ ըստ նախկինիampդիզայն.
  • Ավելացրեք հետադարձ զանգերը GUI հավելվածի համար՝ իրադարձությունները գործարկելու համար:

Մանրամասն քայլերը հետևյալն են.

  1. Կլոնավորել hal_output_ui_coffee_machine.c. Փոխել fileանունը hal_ output_ui_guifacerec.c.
  2. Փոխարինեք CoffeeMachine-ի բոլոր տողերը GUIFaceRec-ով file.
  3. Հեռացրեք հավելվածի հետ կապված կոդերը՝ սուրճի մեքենա:
    • Հեռացրեք WakeUp() և _StandBy() ֆունկցիաները և հարակից կոդերը (կարող են որոնել լարային wake_up և standby դրանց համար):
    • Հեռացնել նախview ռեժիմի իրադարձությունները, որոնք մշակում են հարակից կոդերը HAL_OutputDev_UiGUIFaceRec_Input Notify(-ում):
    • Հեռացրեք UI_xxx_Callback() ֆունկցիաները և կոդերը, որոնք պարունակում են լարային gui_ և էկրան, որը կապված է սուրճի մեքենայի միջերեսային ֆայլի հետ, բացառությամբ gui_set_virtual_face() նախնականի:view ռեժիմի առանձնահատկությունը:
    • Հեռացրեք բոլոր կոդերը, որոնք կապված են s_IsWaitingAnotherSelection և s_IsWaitingRegisterSelection փոփոխականների հետ՝ կապված սուրճի մեքենայի հավելվածի հետ:
    • Հեռացրեք ձայնի, ձայնի և լեզվի հետ կապված ծածկագրերը: Նախampլե:
      • #include «hal_voice_algo_asr_local.h»,
      • #include «hal_event_descriptor_voice.h»
  4. Տարբեր իրադարձությունների ծանուցման համար կիրառեք նոր գործառույթները _OutputManagerNotify(), _SetFaceRec(), _RegisterGUIFaceRec(), և DeregisterGUIFaceRec()՝ հղում կատարելով _StopFaceRec(), _RegisterCoffeeSelection() և DeregisterCoffee-ի գործառույթներին՝ նախքան դրանք ջնջելը:
    • _OutputManagerNotify()-ն իրականացնում է իրադարձության ելքային հիմնական ֆունկցիան՝ իրադարձություն HAL տեսլականի ալգո ուղարկելու համար: Ստորև բերված գործառույթները կոչ են անում այն ​​ուղարկել իրենց սեփական իրադարձությունները:
    • _SetFaceRec()-ն ուղարկում է kEventFaceRecID_OasisSetState իրադարձությունը՝ գործարկելու տեսողության ալգոն դեմքերի գրանցման, ճանաչման և ալգոն դադարեցնելու համար:
    • _RegisterGUIFaceRec()-ն ուղարկում է kEventFaceRecId_RegisterGUIFaceRec-ի իրադարձությունը, որը սահմանված է smart_tlhmi_event_descriptor.h-ում, որպեսզի գրանցման կարգը լինի, տվյալների բազայում դեմքի առանձնահատկությունների տվյալները ավելացնելու համար:
    • DeregisterGUIFaceRec()-ն ուղարկում է իրադարձություն kEventFaceRecID_DelUser՝ դեմքի առանձնահատկությունների տվյալները տվյալների բազայից ջնջելու համար, երբ անցնում է դեմքի ճանաչումը:
  5. Թարմացրեք կոդերը՝ համապատասխան գործողություններ կատարելու համար, այդ թվում՝ թարմացնել GUI-ը՝ զանգահարելով API-ներ LVGL GUI հավելվածից՝ դեմքի գրանցման և ճանաչման արդյունքների համար _InferComplete_Vision() ֆունկցիայի համար՝ ըստ նախկինի:ample's դիզայն. Նախampերբ դեմքի գրանցումը հաջող է,
    • Դադարեցրեք առաջընթացի ցուցադրումը` զանգահարելով _FaceRecProcess_Stop();
    • Դադարեցրեք դեմքի գրանցումը` զանգահարելով _SetFaceRec(kOASISLiteState_Stopped);
    • Ցույց տալ հաջող արդյունքը GUI-ում. gui_show_face_rec_result(kFaceRecResult_OK, s_UserId);
    • Գրանցեք դեմքի տվյալները տվյալների բազայում. _RegisterUserFace(s_UserId);
  6. Ավելացրեք UI-ի հետադարձ կապի գործառույթներ իրադարձությունները կարգավորելու համար. նախview, GUI-ից գործարկված դեմքի գրանցում, ճանաչում և ջնջում: Նախample, դեմքի գրանցման հետ կանչը՝ void UI_Registration_Callback(){ _SetFaceRec(kOASISLiteState_Registration); _FaceRecProcess_Start(); }
    • Եվ ավելացրեք _FaceRecProcess_Start() և _FaceRecProcess_Stop() ֆունկցիաները՝ տարբեր իրադարձությունների և արդյունքների առաջընթացն ու կարգավիճակը ցույց տալու համար:
    • Թարմացրեք ժմչփի ISR հետադարձ զանգի գործառույթը _SessionTimer_Callback()՝ ժամանակի դադարեցման դեպքը կարգավորելու համար՝ զանգահարելով gui_show_face_rec_result(kFaceRecResult_TimeOut, s_UserId);
  7. Ավելացրեք ստորև բերված սահմանումները՝ board_define.h-ում միջերեսի ելքը HAL-ը միացնելու համար՝ #define ENABLE_OUTPUT_DEV_UiGUIFaceRec

Ծանուցում.
Դեմքի ճանաչման գործառույթն ավելի լավ ներկայացնելու համար պահեք ֆունկցիան՝ ցուցադրելու դեմքի ճանաչման գործընթացն ու արդյունքները ելքային UI HAL-ում: Գործառույթը նկարագրված է ստորև

  • Դեմքի ուղեցույցի ուղղանկյունը ցույց է տալիս կապույտ, իսկ առաջընթացի սանդղակը ցույց է տալիս առաջընթացը դեմքի գրանցումը կամ ճանաչումը սկսելիս:
  • Դեմքի ուղեցույցի ուղղանկյունը կարմիր է ցույց տալիս, երբ դեմքի գրանցումը հաջող է:
  • Դեմքի ուղեցույցի ուղղանկյունը կանաչ է ցույց տալիս, երբ դեմքի ճանաչումը հաջող է:
  • Դեմքի ուղեցույցի ուղղանկյունը մնում է կապույտ, իսկ առաջընթացի սանդղակը ցույց է տալիս ամբողջական առաջընթացը, երբ գործողությունն անհաջող է լինում ժամաչափի ժամկետի ավարտից հետո: Այդ պահին դադարեցրեք դեմքի գրանցումը կամ ճանաչումը:

Առաջընթացի սանդղակը և դեմքի ուղեցույցի ուղղանկյունը ներկայացված են որպես պատկերակներ, որոնք ներկառուցված են ռեսուրսի երկուականի մեջ file պետք է ծրագրավորվի Flash-ում: SDRAM-ի պատկերակների տվյալների ցուցիչները տեղադրվում են LoadIcons (APP_ICONS_BASE) ֆունկցիայի մեջ, որը կոչված է ելքային UI HAL սարքի սկզբնավորմանը ելքային UI HAL-ում: Այն պետք է իրականացնի պատկերակների աջակցությունը ֆունկցիայի համար:

Իրականացնել պատկերակների աջակցությունը

  1. Կառուցեք ռեսուրսը, որը միավորում է պատկերակները LVGL GUI հավելվածում օգտագործվող պատկերների հետ.
    • Կլոնավորեք չորս պատկերակի վերնագիրը files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h և virtual_face_red_420x426.h smart HMI-ից
      \սուրճի մեքենա\resource\icons\ դեպի նոր թղթապանակի պատկերակները նախկին ռեսուրսների պանակումample SW.
    • Ավելացրեք որոնման ուղին չորս պատկերակի համար files-ում camera_preview_resource.txt file ռեսուրսների թղթապանակում, օրինակample: icon ../resource/icons/process_bar_240x14.h
    • Կատարել camera_preview_resource_build.bat՝ աղբարկղ ստեղծելու համար պատկերների և պատկերակների ռեսուրսներ ստեղծելու համար file camera_preview_resource.bin և տեղեկատվությունը file resource_information_table.txt (տե՛ս Նկար 6):NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (13)
  2. Սահմանեք մեկնարկային հասցեն SDRAM-ում և պատկերակների չափը app_config.h-ում: Հասցեն սկսվում է GUI հավելվածի պատկերների կողքին: Չափը ստեղծվում է տեղեկատվության մեջ file. #define APP_ICONS_BASE (APP_RES_SHMEM_BASE + APP_LVGL_IMGS_SIZE) #սահմանել APP_ICONS_SIZE 0x107c40
  3. Թարմացրեք res_sh_mem անունով հիշողության բաժնի նշանակված չափը մինչև 0x200000՝ վերասահմանելով այն app_config.h-ում.
  4. Ավելացրեք պատկերակի չափը Flash-ից SDRAM բեռնված ռեսուրսի ընդհանուր չափին հիմնական APP_LoadResource() ֆունկցիայի մեջ: file lvgl_gui_face_rec_cm7.cpp՝ memcpy((void *)APP_LVGL_IMGS_BASE, pLvglImages, APP_LVGL_IMGS_SIZE + APP_ICONS_SIZE);

ԾանուցումԴեմքի ճանաչման գործառույթն ավարտելու համար անհրաժեշտ է LVGL GUI հավելվածի աջակցություն: UI-ի հետ կանչման գործառույթները ելքային UI HAL-ում կանչվում են LVGL GUI հավելվածի կողմից՝ իրադարձությունները UI էկրանից կառավարելու համար: Մյուս կողմից, ելքային UI HAL-ը կանչում է API-ները LVGL GUI հավելվածից՝ թարմացնելու միջերեսը՝ արդյունքն ու կարգավիճակը ցույց տալու համար: LVGL GUI հավելվածի մշակումը համեմատաբար անկախ է և ներկայացված է Բաժին 4.3-ում:

4.1.5 Գործարկեք HAL սարքերը և կառավարիչները դեմքի ճանաչման համար
Միացված տեսողության ալգոն HAL և UI ելքային HAL-ը և դրանց կառավարիչները գործարկվում են հիմնականում file
lvgl_gui_face_rec_cm7.cpp հետևելով մշակման փոխարկումներին հետևյալ շրջանակում.

  1. Ներառեք վերնագիրը file կապված երկու HAL կառավարիչների հետ՝ ավելացնելով ծածկագրի տողը.
    • #include «fwk_output_manager.h»
    • #include «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(OutputManager, OUTPUT_MANAGER_TASK_PRIORITY, ret);
  6. Սահմանեք ղեկավարի առաջադրանքների առաջնահերթությունը.
    • #define VISION_ALGO_MANAGER_TASK_PRIORITY 3
    • #սահմանել OUTPUT_MANAGER_TASK_PRIORITY 1

Ավելացրեք դեմքերի տվյալների բազայի աջակցություն շրջանակում
Գրանցված դեմքի առանձնահատկությունների տվյալները հասանելի են դառնում Flash-ում պահվող դեմքի տվյալների բազայում մի փոքրի միջոցով file համակարգ. Դեմքի տվյալների բազայի աջակցությունն ավելացնելու քայլերը նկարագրված են ստորև:

Ավելացրեք վարորդներ Flash պահեստի համար
Պատճենեք Flash ինտերֆեյսի FlexSPI դրայվերը files fsl_flexspi.c և fsl_flexspi.h և տվյալների կոդավորման վարորդը files fsl_caam.c և fsl_caam.h SDK_2_13_0_MIMXRT1170-EVK\devices \MIMRX1176\drivers\ ուղուց դեպի նախկին վարորդների պանակը:ample SW.

Ավելացնել տախտակի մակարդակի աջակցություն

  1. Ավելացրեք FlexSPI-ի սահմանումները, որոնք օգտագործվում են board.h-ում Flash սարքի համար:
    • #define BOARD_FLEXSPI FLEXSPI1
    • #define 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\coffe_config\chi\ne ֆայլի խելացի թղթապանակի տակ:ample SW.
    • Անջատեք «Բացառել ռեսուրսը build-ից» C/C++ Build-ում > Պարամետրեր՝ աջ սեղմելուց հետո: files-ի անունը և բացելով Properties-ը, որպեսզի դրանք ներառվեն նախագծում:
  3. Փոխեք ներառված վերնագիրը fileանվանեք sln_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\սուրճի_մեքենա\cm7\source\ ճանապարհից մինչև նախկին թղթապանակի աղբյուրըampլե. Թարմացրեք նորը files:
    • Անջատեք «Բացառել ռեսուրսը կառուցումից» նշումը դրանց կառուցման համար:
    • Փոխեք բոլոր ներառված վերնագրերը file անվանել sln_flash_config.h դեպի sln_flash_config_w25q256jvs.h:
  2. Պատճենեք թղթապանակը fileհամակարգ, որը պարունակում է API-ներ փոքրի համար fileհամակարգ և HAL դրայվեր խելացի HMI \սուրճի_մեքենա\cm7\source\ մինչև նախկինample SW. Եվ թարմացրեք նոր թղթապանակի համար.
    • Անջատեք «Բացառել ռեսուրսը կառուցումից» նշումը դրա վրա կառուցելու համար:
    • Ծրագրի կարգավորումներում ավելացրեք դրա ներառման ուղին՝ «${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. Պատճենեք փոքր ֆայլը պարունակող թղթապանակը, որը պարունակում է միջին սարքը fileհամակարգ SDK_2_13_0_ MIMXRT1170-EVK\middleware\ ճանապարհից մինչև նախկինample SW. Եվ թարմացրեք նոր թղթապանակը.
    • Անջատեք «Բացառել ռեսուրսը կառուցումից» նշումը դրա վրա կառուցելու համար:
    • Ծրագրի կարգավորումներում ավելացրեք դրա ներառման ուղին՝ «${workspace_loc:/${ProjName}/littlefs}»:

Ավելացնել HAL վարորդներ 

  • Կան երկու HAL սարքեր. file համակարգի և դեմքի տվյալների բազա HAL-ն աջակցում է տվյալների բազայի հասանելիության գործառույթին և դրանք արդեն ներդրված են շրջանակում առանց որևէ փոփոխության: Միացրեք դրանք՝ ավելացնելով ստորև բերված սահմանումները board_define.h-ում:
    • #define ENABLE_FLASH_DEV_Littlefs
    • #define ENABLE_FACEDB

Եվ փոխեք դեմքի տվյալների բազայի անունը նախկինի համարample: #define OASIS_FACE_DB_DIR «oasis_gui_face_rec»

Ավելացրեք հավելվածի մակարդակի աջակցություն

  1. Թարմացրեք հիմնականը file lvgl_gui_face_rec_cm7.cpp:
    • Ներառեք վերնագիրը file կապված Flash-ի հետ file համակարգի HAL կառավարիչ՝ ավելացնելով ծածկագրի տողը. #include «fwk_flash.h»
    • Հայտարարեք և գրանցվեք file համակարգ HAL սարք.
      • HAL_FLASH_DEV_DECLARE (Littlefs);
      • HAL_FLASH_DEV_REGISTER (Littlefs, ret);
        Նշում: The file համակարգի HAL սարքը պետք է գրանցվի, նախքան սարքի բոլոր կառավարիչները նախաստորագրվեն APP_InitFramework() ֆունկցիայի մեջ:
    • Զանգահարեք BOARD_ConfigMPU() ֆունկցիան APP_BoardInit()-ում՝ MPU-ի կազմաձևման համար:
  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)

Կոնֆիգուրացիաներ
Flash-ի հետ կապված որոշ կոդեր գործարկվում են SRAM ITC տարածքում՝ բավարար կատարման համար: Պատճենեք կապող կոնֆիգուրացիաներ պարունակող թղթապանակի հղումները խելացի HMI\սուրճի_մեքենա\cm7\ ուղուց դեպի նախկինample SW.

Իրականացնել LVGL GUI հավելված
Շրջանակի վրա հիմնված LVGL GUI հավելվածի մշակումը կանչում է API-ներ ելքային UI HAL-ից և տրամադրում է API-ներ UI HAL-ի թողարկման համար (Տես Բաժին 4.1.3՝ ելքային UI HAL-ի իրականացման համար):

Այնուամենայնիվ, LVGL GUI հավելվածի մանրամասն իրականացումը կախված է հավելվածի պահանջներից և դիզայնից: GUI հավելվածն այս նախկինումample-ն նախագծված է այնպես, ինչպես նկարագրված է 4-րդ բաժնի սկզբում:

Ստորև ներկայացված են իրականացման ներածությունները.

  1. Հարմարեցված կոդերը ներդրվում են custom.c-ում և custom.h-ում, որոնք տրված են GUI Guider-ի կողմից՝ որպես միջերես GUI Guider նախագծի և ներկառուցված համակարգի նախագծի միջև:
    •  Ավելացրեք gui_xxx() անունով նոր գործառույթները custom.c-ում՝ ստորև նշված գործառույթներին հասնելու համար.
      • Ելքային UI HAL և GUI հավելվածի համար՝ UI թարմացնելու համար:
      • Որպեսզի GUI հավելվածը գործարկի իրադարձություններ՝ ելքային UI HAL-ից զանգահարելով UI-ի հետադարձ կապի գործառույթներ:
        Նախample, gui_event_face_rec_action() նոր ֆունկցիան կանչում է UI-ի հետադարձ կապ գործառույթներ՝ կարգավորելու դեմքի գրանցման, դեմքի ճանաչման և օգտվողի ջնջման իրադարձություններից մեկը, որը գործարկվում է GUI հավելվածից, երբ սեղմվում է համապատասխան կոճակը:
        Նշում․ gui_set_virtual_face() ֆունկցիան կանչել է ելքային UI HAL նախնական համարview ռեժիմը պետք է իրականացվի custom.c-ում.
    •  Կլոնավորել գործառույթը gui_set_virtual_face() խելացի HMI\սուրճի_մեքենա\cm4\custom \custom.c-ից:
    •  Փոխեք վիջեթի անունը home_img_cameraPreview դեպի screen_img_camera_preview ֆունկցիայի մեջ։
    •  Իրականացրեք UI-ի հետ կանչման գործառույթները նույն նախատիպով բոլոր ելքային UI HAL-ի մակրո սահմանման ներքո՝ custom.c-ում #ifndef RT_PLATFORM՝ GUI Guider նախագծի հետ համատեղելի լինելու համար, քանի որ ելքային UI HAL-ի այս գործառույթները կախված են ներկառուցված հարթակ: Custom.c-ում դրանք կախված են GUI ուղեցույցի սիմուլյատորից և անկախ են ներկառուցված հարթակից: ՆախampԴեմքի գրանցման հետադարձ զանգն իրականացվում է ստորև՝ GUI Guider սիմուլյատորի համար, որն աշխատում է. #ifndef RT_PLATFORM void UI_Registration_Callback() {gui_hide_del_user_btn(true); s_InAction = կեղծ; վերադարձ; }
      ՆշումՏե՛ս 6 բաժնի 4.1.3-րդ քայլում ներկայացված գործառույթի նույն նախատիպը
      RT_PLATFORM մակրո սահմանումը դրված է MCUXpresso-ի նախագծի կարգավորումների վրա, ինչպես ցույց է տրված Նկար 7-ում:NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (14)
    • Հայտարարեք UI_xxx_Callback() և gui_xxx() անուններով բոլոր գործառույթները custom.h-ում և ավելացրեք custom.h-ը, որը ներառված է smart_tlhmi_event_descriptor.h-ում՝ GUI API-ներով կիսվելու համար UI ելքային HAL-ում:
  2. Մշակել GUI-ն GUI Guider-ում.
    • Նախապես կլոնավորեք թղթապանակի տեսախցիկըview որը պարունակում է GUI Guider նախագծի ծրագրակազմը gui_guider թղթապանակում lvgl_gui_camera_pre հիմնական ծրագրային փաթեթումview_սմ7. Փոխեք համապատասխան անունը camera_preview to face_rec համար նոր նախկինampլե.
    • Պատճենեք վերը նշված թարմացված custom.c-ն և custom. h դեպի նոր GUI Guider նախագծի ծրագրակազմ:
    •  Բացեք նոր face_rec նախագիծը GUI Guider-ում: Թարմացրեք հետևյալ կերպ.
      • Ավելացրեք «Ջնջել օգտվողին» վերնագրված նոր կոճակը: Դրան ավելացրեք Hidden դրոշը, որպեսզի կոճակը թաքցվի, երբ GUI հավելվածը գործարկվի:
      • Ավելացրեք API gui_event_face_rec_action()-ին կանչելու կոդային գիծը՝ իրադարձության ID-ի տարբեր պարամետրով «Released» գործարկիչում «Գրանցում», «Ճանաչում» և «Ջնջել օգտատիրոջ» բոլոր կոճակների իրադարձությունների կարգավորումում՝ դեմքի գրանցման, դեմքի ճանաչման և օգտվողին ջնջելու իրադարձությունները հրահրելու համար: Նկար 8-ը ցույց է տալիս կոճակի իրադարձության կոդը Գրանցում.NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (15)
  3. Թարմացրեք ստեղծված կոդը GUI Guider-ից MCUXpresso նախագծին:
    • Փոխարինեք բովանդակությունը, բացառությամբ MCUXpresso նախագծի SW թղթապանակում ստեղծված թղթապանակների պատկերների, համապատասխան պատկերներով GUI Guider նախագծի SW-ի թղթապանակում:

ՆշումՎերևում ներկայացված փոփոխությունների մասին լրացուցիչ մանրամասների համար ստուգեք նախկինումample software at https://mcuxpresso.nxp.com/appcodehub.

Ստուգումներ նախկինի հետampնախագիծը

Նախկին ձեռք բերելու համարampծրագրային փաթեթ, որը պարունակում է ռեսուրսներ և գործիքներ այս հավելվածի գրառման համար, այցելեք՝ https://mcuxpresso.nxp.com/appcodehub. Բացեք նախկինըampնախագիծը MCUXpresso IDE-ում: Կառուցեք և ծրագրավորեք .axf file 0x30000000 հասցեին և ծրագրավորել ռեսուրսի աղբարկղը file camera_preview_resource.bin 0x30800000 հասցեով:

LVGL GUI-ի դեմքի ճանաչումը նախկինample-ն սովորաբար աշխատում է հետևյալ կերպ.

  • ՆախviewՄիացման դեպքում տեսախցիկի կողմից նկարահանված տեսահոսքերը ցուցադրվում են տեսախցիկի որոշակի տարածքումview GUI էկրանին: Կարգավիճակի պիտակը ցուցադրում է «Նախview…»: Մանրամասների համար տես Նկար 3-ը: Ջնջել օգտվողին կոճակը թաքցված է: Կոճակներից և պատկերներից դուրս գտնվող տարածքը սեղմելիս այն ցույց է տալիս նախview Դեմքի գրանցման կամ ճանաչման գործողության ավարտից հետո նշեք վերը նշվածը:
  • Գրանցումը:
    • ստարտափԵրբ սեղմվում է Գրանցման կոճակը, սկսվում է դեմքի գրանցումը: Կարգավիճակի պիտակը փոխվում է՝ ցուցադրելով «Գրանցում…», դեմքի ուղեցույցի ուղղանկյունը ցույց է տալիս կապույտ, իսկ առաջընթացի տողը սկսում է ցույց տալ առաջընթացը: Համոզվեք, որ գրանցման համար օգտագործողի դեմքը ցուցադրվում է դեմքի կապույտ ուղղանկյունի մեջ:
    • հաջողությունԿարգավիճակի պիտակը ցույց է տալիս «Գրանցում… OK» և գրանցված օգտատիրոջ ID համարը, դեմքի ուղեցույցի ուղղանկյունը դառնում է կարմիր, եթե դեմքի գրանցումը հաջողված է, մինչև առաջընթացն ամբողջությամբ ցուցադրվի գծի վրա:
    • Անհաջողություն -> Ժամկետի վերջ. կարգավիճակի պիտակը ցույց է տալիս «Գրանցում…Ժամանակի ավարտը», եթե դեմքի գրանցումը դեռևս ձախողված է, երբ առաջընթացը ամբողջությամբ ցուցադրվում է գծի վրա:
    • Անհաջողություն -> Կրկնօրինակում. կարգավիճակի պիտակը ցույց է տալիս «Գրանցումը… Չհաջողվեց», դեմքի ուղեցույցի ուղղանկյունը դառնում է կանաչ, եթե գրանցված դեմքը ճանաչվում է նախքան առաջընթացը ամբողջությամբ ցուցադրվում է գծի վրա:
  • ճանաչում:
    • Գործարկում. Երբ սեղմվում է Ճանաչում կոճակը, սկսվում է դեմքի ճանաչումը: Կարգավիճակի պիտակը փոխվում է՝ ցուցադրելով «Ճանաչում…», դեմքի ուղեցույցի ուղղանկյունը ցույց է տալիս կապույտ, իսկ առաջընթացի տողը սկսում է ցույց տալ առաջընթացը: Համոզվեք, որ գրանցման համար օգտագործողի դեմքը ցուցադրված է կապույտ դեմքի ուղեցույցի ուղղանկյունում:
    • հաջողությունԿարգավիճակի պիտակը ցույց է տալիս «Ճանաչում… OK» և ճանաչված օգտվողի ID համարը, դեմքի ուղեցույցի ուղղանկյունը դառնում է կանաչ, եթե դեմքի ճանաչումը հաջողված է, նախքան առաջընթացը ամբողջությամբ ցուցադրվի գծի վրա: Այդ կետում հայտնվում է «Ջնջել օգտվողին» կոճակը: Դա նշանակում է, որ օգտագործողին թույլատրվում է ջնջել միայն այն ժամանակ, երբ այն ճանաչված է:
    • բարությունԿարգավիճակի պիտակը ցույց է տալիս «Ճանաչում…Ժամանակն ավարտվել է», եթե դեմքի ճանաչումը դեռևս ձախողված է, երբ առաջընթացը ամբողջությամբ ցուցադրվում է գծի վրա:
  • Ջնջել օգտվողինԵրբ սեղմվում է «Ջնջել օգտվողին» կոճակը, դեմքի ճանաչման հաջող ավարտից հետո կարգավիճակի պիտակը փոխվում է՝ ցուցադրելով «Ջնջել օգտվողին… OK»՝ դեմքի ուղեցույցի ուղղանկյունը դառնալով կապույտ և առաջընթացը ամբողջությամբ ցուցադրվում է գծի վրա: Ջնջել օգտվողին կոճակը կրկին թաքցված է: Ճանաչված դեմքը/օգտատերը ջնջվում է տվյալների բազայից: Դա նշանակում է, որ այս դեմքը/օգտատերը չի կարող ճանաչվել մինչև նորից գրանցվի:

Նշում փաստաթղթի սկզբնաղբյուրի մասին
ExampԱյս փաստաթղթում ներկայացված le կոդը ունի հետևյալ հեղինակային իրավունքը և BSD-3-Clause լիցենզիան.

Հեղինակային իրավունք 2024 NXP Վերաբաշխումը և օգտագործումը սկզբնաղբյուր և երկուական ձևերով, փոփոխությամբ կամ առանց փոփոխության, թույլատրվում է հետևյալ պայմանների բավարարման պայմանով.

  1. Աղբյուրի կոդի վերաբաշխումները պետք է պահպանեն վերը նշված հեղինակային իրավունքի մասին ծանուցումը, պայմանների այս ցանկը և հետևյալ հերքումը:
  2. Երկուական ձևով վերաբաշխումները պետք է վերարտադրեն վերը նշված հեղինակային իրավունքի մասին ծանուցումը, պայմանների այս ցանկը և փաստաթղթերի և/կամ այլ նյութերի հետևյալ հերքումը պետք է տրամադրվեն բաշխմանը:
  3. Ոչ հեղինակային իրավունքի սեփականատիրոջ անունը, ոչ էլ դրա ներդրողների անունները չեն կարող օգտագործվել այս ծրագրաշարից ստացված արտադրանքը հաստատելու կամ գովազդելու համար՝ առանց հատուկ նախնական գրավոր թույլտվության:

ԱՅՍ ԾՐԱԳՐԱԿԱՆ ԾՐԱԳՐԵՐԸ ՏՐԱՄԱԴՐՎՈՒՄ ԵՆ ՀԵՂԻՆԱԿԱՅԻՆ ԻՐԱՎՈՒՆՔՆԵՐԻ ԵՎ ՆԵՐԿԱՅԱՑՆՈՂՆԵՐԻ ԿՈՂՄԻՑ «ԻՆՉՊԵՍ ԿԱ» ԵՎ ՑԱՆԿԱՑԱԾ ԿԱՄ ենթադրյալ ԵՐԱՇԽԻՔՆԵՐԸ, ՆԵՐԱՌՎԱԾ, ԲԱՅՑ ՉՍԱՀՄԱՆԱՓԱԿՎՈՒՄ ԵՆ ԱՆՀՐԱԺԵՇՏԱԿԱՆ ԵՐԱՇԽԻՔՆԵՐՈՎ ԱՆՀՐԱԺԵՇՏՈՒԹՅԱՆ ԵՎ ԱՆՀՐԱԺԵՇՏՈՒԹՅԱՆ. ՀՐԱԺԱՐՎԱԾ Է. ՈՉ ՄԻ ԴԵՊՔՈՒՄ ՀԵՂԻՆԱԿԱՅԻՆ ԻՐԱՎՈՒՆՔԻ ՏԵՐԸ ԿԱՄ ՆԵՐԴՐՈՂՆԵՐԸ ՊԱՏԱՍԽԱՆԱՏՎՈՒԹ ՉԵՆ ՈՐԵՎԷ ՈՒՂԻՂ, ԱՆուղղակի, պատահական, ՀԱՏՈՒԿ, ՕՐԻՆԱԿԱՆ ԿԱՄ ՀԵՏԵՎԱՆԱԿԱՆ ՎՆԱՍՆԵՐԻ ՀԱՄԱՐ (ՆԱՌԱՑՎԱԾ, ԲԱՅՑ ՈՉ ՍԱՀՄԱՆԱՓԱԿՎԱԾ, ԾԱՌԱՅՈՒԹՅՈՒՆՆԵՐԸ, ՏՎՅԱԼՆԵՐԻ ԿԱՄ ՇԱՀՈՒՅԹՆԵՐԸ ԿԱՄ ԳՈՐԾԱՐԱՐ ԸՆԴԱՃԱՌՈՒՄԸ, ՈՐՈՆՑ ՊԱՏԱՍԽԱՆԱՏՎՈՒԹՅԱՆ ՎԵՐԱԲԵՐՅԱԼ, ԱՆԿԱԽՏԱԿԱՆ ՊԱՏԱՍԽԱՆԱՏՎՈՒԹՅՈՒՆ ԱՅՍ ԾՐԱԳՐԵՐԻ ՕԳՏԱԳՈՐԾՄԱՆ ԴՈՒՐՍ, ՆՈՒՅԻՍԿ ԵԹԵ ԽՈՐՀՐԴՎԱԾ Է ՆՄԱՆ ՎՆԱՍԻ ՀՆԱՐԱՎՈՐՈՒԹՅԱՆ ՄԱՍԻՆ:

Վերանայման պատմություն

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

Իրավական տեղեկատվություն

Սահմանումներ
Նախագիծ — Փաստաթղթի կարգավիճակի նախագիծը ցույց է տալիս, որ բովանդակությունը դեռևս գտնվում է ներքին վերանայման տակview և ենթակա է պաշտոնական հաստատման, որը կարող է հանգեցնել փոփոխությունների կամ լրացումների: NXP Semiconductors-ը որևէ երաշխիք կամ երաշխիք չի տալիս փաստաթղթի նախագծային տարբերակում ներառված տեղեկատվության ճշգրտության կամ ամբողջականության վերաբերյալ և պատասխանատվություն չի կրում այդ տեղեկատվության օգտագործման հետևանքների համար:

Հրաժարում պատասխանատվությունից

  • Սահմանափակ երաշխիք և պատասխանատվություն — Ենթադրվում է, որ այս փաստաթղթի տեղեկատվությունը ճշգրիտ է և հավաստի: Այնուամենայնիվ, NXP Semiconductors-ը որևէ հայտարարություն կամ երաշխիք չի տալիս՝ արտահայտված կամ ենթադրյալ, նման տեղեկատվության ճշգրտության կամ ամբողջականության վերաբերյալ և պատասխանատվություն չի կրում այդ տեղեկատվության օգտագործման հետևանքների համար: NXP Semiconductors-ը պատասխանատվություն չի կրում այս փաստաթղթի բովանդակության համար, եթե տրամադրված է NXP Semiconductors-ից դուրս տեղեկատվական աղբյուրի կողմից:
    Ոչ մի դեպքում NXP Semiconductors-ը պատասխանատվություն չի կրում որևէ անուղղակի, պատահական, պատժիչ, հատուկ կամ հետևանքային վնասների համար (ներառյալ՝ առանց սահմանափակման՝ կորցրած շահույթը, կորցրած խնայողությունները, բիզնեսի ընդհատումը, որևէ ապրանքի հեռացման կամ փոխարինման կամ վերամշակման վճարների հետ կապված ծախսերը). կամ ոչ, այդպիսի վնասները հիմնված են խախտման (ներառյալ անփութության), երաշխիքի, պայմանագրի խախտման կամ որևէ այլ իրավական տեսության վրա:
    Անկախ այն վնասներից, որոնք հաճախորդը կարող է կրել որևէ պատճառով, NXP Semiconductors-ի համախառն և կուտակային պատասխանատվությունը հաճախորդի նկատմամբ սույն հոդվածում նկարագրված ապրանքների համար պետք է սահմանափակվի NXP Semiconductors-ի առևտրային վաճառքի դրույթներին և պայմաններին համապատասխան:
  • Փոփոխություններ կատարելու իրավունք — NXP Semiconductors-ն իրեն իրավունք է վերապահում փոփոխություններ կատարել սույն փաստաթղթում հրապարակված տեղեկատվության մեջ, ներառյալ առանց սահմանափակման բնութագրերի և արտադրանքի նկարագրությունների, ցանկացած ժամանակ և առանց ծանուցման: Սույն փաստաթուղթը փոխարինում և փոխարինում է մինչև սույն հոդվածի հրապարակումը տրամադրված բոլոր տեղեկությունները:
  • Օգտագործման հարմարություն — NXP Semiconductors-ի արտադրանքը նախագծված, լիազորված կամ երաշխավորված չէ օգտագործելու համար կյանքի պահպանման, կյանքի համար կարևոր կամ անվտանգության համար կարևոր համակարգերում կամ սարքավորումներում, ինչպես նաև այն ծրագրերում, որտեղ NXP Semiconductors արտադրանքի խափանումը կամ անսարքությունը կարող է ողջամտորեն ակնկալվել, որ կհանգեցնի անձնական վնասվածք, մահ կամ ծանր գույքային կամ շրջակա միջավայրի վնաս: NXP Semiconductors-ը և նրա մատակարարները պատասխանատվություն չեն կրում NXP Semiconductors-ի արտադրանքը նման սարքավորումներում կամ հավելվածներում ներառելու և/կամ օգտագործելու համար, և, հետևաբար, այդպիսի ներառումը և/կամ օգտագործումը հաճախորդի սեփական ռիսկով է:
  • Դիմումներ — Հավելվածները, որոնք նկարագրված են այստեղ այս ապրանքներից որևէ մեկի համար, միայն լուսաբանման նպատակներով են: NXP Semiconductors-ը չի ներկայացնում կամ երաշխիք, որ նման հավելվածները հարմար կլինեն նշված օգտագործման համար՝ առանց հետագա փորձարկման կամ փոփոխման:
    Հաճախորդները պատասխանատու են NXP Semiconductors արտադրանքի օգտագործմամբ իրենց հավելվածների և արտադրանքների նախագծման և շահագործման համար, և NXP Semiconductors-ը պատասխանատվություն չի կրում հավելվածների կամ հաճախորդների արտադրանքի նախագծման հետ կապված որևէ օգնության համար: Հաճախորդի պատասխանատվությունն է միայն որոշել, թե արդյոք NXP Semiconductors արտադրանքը հարմար և հարմար է հաճախորդի ծրագրերին և ծրագրված արտադրանքներին, ինչպես նաև հաճախորդի երրորդ կողմի հաճախորդ(ների) պլանավորված կիրառման և օգտագործման համար: Հաճախորդները պետք է ապահովեն համապատասխան նախագծման և շահագործման երաշխիքներ՝ նվազագույնի հասցնելու իրենց կիրառությունների և արտադրանքի հետ կապված ռիսկերը: NXP Semiconductors-ը չի ընդունում որևէ պատասխանատվություն՝ կապված որևէ դեֆոլտի, վնասի, ծախսերի կամ խնդրի հետ, որը հիմնված է հաճախորդի հավելվածների կամ արտադրանքի որևէ թուլության կամ կանխադրման, կամ հաճախորդի երրորդ կողմի հաճախորդի(ների) կողմից հավելվածի կամ օգտագործման վրա: Հաճախորդը պատասխանատու է NXP Semiconductors-ի արտադրանքի օգտագործմամբ հաճախորդի հավելվածների և արտադրանքների համար անհրաժեշտ բոլոր փորձարկումների համար, որպեսզի խուսափի հավելվածների և ապրանքների կամ հավելվածի կամ հաճախորդի երրորդ կողմի հաճախորդի (հաճախորդների) կողմից օգտագործելուց: NXP-ն այս առումով որևէ պատասխանատվություն չի ընդունում:
  • Առևտրային վաճառքի պայմանները — NXP Semiconductors-ի արտադրանքը վաճառվում է առևտրային վաճառքի ընդհանուր պայմաններով և պայմաններով, ինչպես հրապարակված է https://www.nxp.com/pro կայքում։file/պայմաններ, եթե այլ բան նախատեսված չէ վավեր գրավոր անհատական ​​պայմանագրով: Անհատական ​​համաձայնագրի կնքման դեպքում կիրառվում են միայն համապատասխան պայմանագրի պայմանները: NXP Semiconductors-ը սույնով բացահայտորեն դեմ է հաճախորդի կողմից NXP Semiconductors-ի արտադրանքի գնման հետ կապված հաճախորդի ընդհանուր դրույթների և պայմանների կիրառմանը:
  • Արտահանման հսկողություն — Այս փաստաթուղթը, ինչպես նաև սույն հոդվածում նկարագրված իրերը կարող են ենթարկվել արտահանման հսկողության կանոնակարգերի: Արտահանումը կարող է պահանջել իրավասու մարմինների նախնական թույլտվություն:
  • Հարմարավետություն ոչ ավտոմոբիլային որակյալ արտադրանքներում օգտագործելու համար — Եթե այս փաստաթղթում ուղղակիորեն նշված չէ, որ NXP Semiconductors-ի այս հատուկ արտադրանքը ավտոմոբիլային որակավորում ունի, արտադրանքը հարմար չէ ավտոմոբիլային օգտագործման համար: Այն ոչ որակավորված է, ոչ էլ փորձարկված՝ համաձայն ավտոմոբիլային թեստավորման կամ կիրառման պահանջների: NXP Semiconductors-ը պատասխանատվություն չի կրում ավտոմոբիլային սարքավորումներում կամ հավելվածներում ոչ ավտոմոբիլային որակյալ ապրանքներ ներառելու և/կամ օգտագործելու համար:
    Այն դեպքում, երբ հաճախորդն օգտագործում է արտադրանքը նախագծման և ավտոմոբիլային կիրառություններում ավտոմեքենայի տեխնիկական բնութագրերի և ստանդարտների համար, հաճախորդը (ա) պետք է օգտագործի արտադրանքը առանց NXP Semiconductors-ի արտադրանքի երաշխիքի նման ավտոմոբիլային կիրառությունների, օգտագործման և բնութագրերի համար, և ( բ) երբ հաճախորդն օգտագործում է արտադրանքը NXP Semiconductors-ի բնութագրերից դուրս ավտոմոբիլային կիրառումների համար, այդ օգտագործումը պետք է լինի բացառապես հաճախորդի սեփական ռիսկով, և (գ) հաճախորդը լիովին փոխհատուցում է NXP Semiconductors-ի ցանկացած պատասխանատվություն, վնաս կամ արտադրանքի ձախողված պահանջներ, որոնք բխում են հաճախորդի նախագծումից և օգտագործումից: NXP Semiconductors-ի ստանդարտ երաշխիքից և NXP Semiconductors-ի արտադրանքի բնութագրերից դուրս ավտոմոբիլային օգտագործման համար նախատեսված արտադրանք:
  • Թարգմանություններ — Փաստաթղթի ոչ անգլերեն (թարգմանված) տարբերակը, ներառյալ այդ փաստաթղթի իրավական տեղեկատվությունը, միայն հղման համար է: Թարգմանված և անգլերեն տարբերակների միջև անհամապատասխանության դեպքում գերակայում է անգլերեն տարբերակը:
  • Անվտանգություն — Հաճախորդը հասկանում է, որ NXP-ի բոլոր արտադրանքները կարող են ենթարկվել չբացահայտված խոցելիության կամ կարող են աջակցել հաստատված անվտանգության ստանդարտներին կամ բնութագրերին՝ հայտնի սահմանափակումներով: Հաճախորդը պատասխանատու է իր հավելվածների և արտադրանքների նախագծման և շահագործման համար իրենց կյանքի ցիկլի ընթացքում՝ նվազեցնելու այս խոցելիության ազդեցությունը հաճախորդի հավելվածների և ապրանքների վրա: Հաճախորդի պատասխանատվությունը տարածվում է նաև այլ բաց և/կամ սեփականության տեխնոլոգիաների վրա, որոնք աջակցվում են NXP արտադրանքների կողմից՝ հաճախորդի հավելվածներում օգտագործելու համար: NXP-ն պատասխանատվություն չի կրում որևէ խոցելիության համար: Հաճախորդը պետք է պարբերաբար ստուգի NXP-ի անվտանգության թարմացումները և համապատասխան կերպով հետևի: Հաճախորդը պետք է ընտրի ապրանքներ անվտանգության հատկանիշներով, որոնք լավագույնս համապատասխանում են նախատեսված կիրառման կանոններին, կանոնակարգերին և չափանիշներին և կայացնում վերջնական դիզայնի որոշումներ իր արտադրանքի վերաբերյալ և բացառապես պատասխանատու է իր արտադրանքի վերաբերյալ իրավական, կարգավորող և անվտանգության հետ կապված բոլոր պահանջներին համապատասխանելու համար՝ անկախ ցանկացած տեղեկատվության կամ աջակցության մասին, որը կարող է տրամադրվել NXP-ի կողմից:

NXP-ն ունի Արտադրանքի անվտանգության միջադեպերի արձագանքման թիմ (PSIRT) (հասանելի է PSIRT@nxp.com կայքում), որը ղեկավարում է NXP արտադրանքի անվտանգության խոցելիության հետաքննությունը, հաշվետվությունները և լուծումների թողարկումը:
NXP B.V. - NXP B.V.-ն գործող ընկերություն չէ և չի բաշխում կամ վաճառում ապրանքներ:

Ապրանքային նշաններ
ԾանուցումԲոլոր նշված ապրանքանիշերը, ապրանքների անվանումները, ծառայության անվանումները և ապրանքային նշանները իրենց համապատասխան սեփականատերերի սեփականությունն են:

NXP — բառանշանը և պատկերանշանը 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, բազմակողմանի — Arm Limited-ի (կամ նրա դուստր ձեռնարկությունների կամ դուստր ձեռնարկությունների) ապրանքանիշերն են և/կամ գրանցված ապրանքային նշանները ԱՄՆ-ում և/կամ այլ տեղ. Կապակցված տեխնոլոգիան կարող է պաշտպանված լինել որևէ կամ բոլոր արտոնագրերով, հեղինակային իրավունքներով, նմուշներով և առևտրային գաղտնիքներով: Բոլոր իրավունքները պաշտպանված են։

  • i.MX — NXP BV-ի ապրանքային նշանն է
  • Ջ-Լինք — SEGGER Microcontroller GmbH-ի ապրանքային նշանն է:

Microsoft-ը, Azure-ը և ThreadX-ը Microsoft-ի ընկերությունների խմբի ապրանքանիշերն են:

Խնդրում ենք նկատի ունենալ, որ այս փաստաթղթի և այստեղ նկարագրված արտադրանք(ների) վերաբերյալ կարևոր ծանուցումները ներառվել են «Իրավական տեղեկատվություն» բաժնում:

© 2024 NXP BV
Լրացուցիչ տեղեկությունների համար այցելեք՝ https://www.nxp.com

  • Թողարկման ամսաթիվը: 19 ապրիլի 2024թ
  • Փաստաթղթի նույնացուցիչAN14263

ՀՏՀ

Հարց: Ո՞րն է այս ապրանքի հիմնական նպատակը:
A: Հիմնական նպատակն է միացնել դեմքի ճանաչման գործառույթը, օգտագործելով AI&ML տեսողության ալգորիթմի մոդելը պարզ LVGL GUI նախկինում:ample SLN-TLHMI-IOT տախտակի վրա:

Հարց. Ինչպե՞ս կարող են մշակողները օգուտ քաղել հավելվածի այս նշումից:
Պատ. Մշակողները կարող են սովորել, թե ինչպես քայլ առ քայլ կիրառել դեմքի ճանաչումը շրջանակի վրա՝ օգտագործելով տրված օրինակըampծանոթանալ և հասկանալ սարքի կառավարիչներին, HAL սարքերին և իրադարձությունների մեխանիզմներին:

Փաստաթղթեր / ռեսուրսներ

NXP AN14263 Իրականացնել LVGL GUI դեմքի ճանաչումը Framewor-ում [pdf] Օգտագործողի ուղեցույց
AN14263 Իրականացնել LVGL GUI դեմքի ճանաչում Framewor-ում, AN14263, Իրականացնել LVGL GUI Face Recognition Framewor-ում, LVGL GUI Face Recognition Framewor-ի վրա, Face Recognition on Framewor, Recognition Framewor-ի վրա, Recognition Framewor-ում:

Հղումներ

Թողնել մեկնաբանություն

Ձեր էլփոստի հասցեն չի հրապարակվի: Պարտադիր դաշտերը նշված են *