nxp-logo

NXP AN14263 Implementujte rozpoznávanie tváre LVGL GUI na Framewor

NXP-AN14263-Implementácia-LVGL-GUI-rozpoznávanie tváre-na-Framewor-produkte

Informácie o produkte

Špecifikácie

  • Názov produktu: Rozpoznávanie tváre LVGL GUI v rámci
  • Revízia dokumentu: 1. – 19. apríla 2024
  • kľúčové slová: Rozpoznávanie tváre, LVGL GUI, Framework

Návod na použitie produktu

  1. Koniecview
    Tento produkt umožňuje model algoritmu videnia AI&ML na rozpoznávanie tváre v rámci na implementáciu funkcie rozpoznávania tváre pomocou jednoduchého grafického rozhrania LVGL example na doske SLN-TLHMI-IOT.
  2. Rámec Overview
    Softvér riešenia je navrhnutý podľa rámcovej architektúry, ktorá zahŕňa správcov zariadení zodpovedných za správu zariadení, zariadenia HAL až po abstraktné základné detaily a udalosti pre komunikáciu medzi rôznymi zariadeniami.
  3. Vlastnosti
    Produkt umožňuje implementáciu funkcie rozpoznávania tváre cez kameruview na obrazovke GUI s tlačidlami na spustenie registrácie, rozpoznávania a odstraňovania tváre. Údaje o zaregistrovanej tvári sa ukladajú do Flash prostredníctvom a file systém.
  4. Obsah poznámky k aplikácii
    Poznámka k aplikácii predstavuje LVGL GUI obrazovku s kamerouview a tlačidlá pre akcie súvisiace s tvárou. Pomáha vývojárom pochopiť rámec a ako implementovať rozpoznávanie tváre pomocou poskytnutej example.

Koniecview

NXP uviedla na trh súpravu na vývoj riešení s názvom SLN-TLHMI-IOT, ktorá sa zameriava na inteligentné aplikácie HMI. Umožňuje inteligentné HMI s vizuálnym, hlasovým a grafickým používateľským rozhraním ML implementovaným na jednom MCU NXP i.MX RT117H. Na základe SDK je softvér riešenia postavený na dizajne nazývanom framework, ktorý podporuje flexibilné návrhy a prispôsobenie vizuálnych a hlasových funkcií. Aby používatelia mohli lepšie využívať softvérovú platformu, poskytujeme niekoľko základných dokumentov, naprample, používateľská príručka vývoja softvéru. Príručka predstavuje základný softvérový dizajn a architektúru aplikácií pokrývajúcich všetky komponenty riešenia vrátane frameworku, aby pomohla vývojárom jednoduchšie a efektívnejšie implementovať ich aplikácie pomocou SLN-TLHMI-IOT.
Ďalšie podrobnosti o riešení a príslušné dokumenty nájdete na stránke web Inteligentné HMI riešenie NXP EdgeReady založené na i.MX RT117H s ML Vision, hlasovým a grafickým používateľským rozhraním. Pre vývojárov však stále nie je také jednoduché implementovať svoje inteligentné HMI aplikácie podľa týchto základných príručiek. Plánuje sa séria aplikačných poznámok, ktoré pomôžu krok za krokom študovať vývoj rámca. Táto poznámka k aplikácii je založená na implementácii LVGL GUI Camera Preview on Framework (dokument AN14147). Táto poznámka k aplikácii popisuje, ako povoliť model algoritmu videnia AI&ML na rozpoznávanie tváre v rámci, aby sa implementovala funkcia rozpoznávania tváre prostredníctvom predbežnej kamery.view na obrazovke GUI pomocou jednoduchého GUI LVGL example na doske SLN-TLHMI-IOT. V poznámke k prihláške je example predstavuje LVGL GUI obrazovku s kamerouview a niektoré tlačidlá na spustenie registrácie, rozpoznávania a odstraňovania tváre. Údaje o zaregistrovanej tvári sa uložia do Flash pomocou malého množstva file systém.

Na vysokej úrovni obsahuje poznámka k žiadosti tento obsah:

  • Povoliť funkciu rozpoznávania tváre na ráme.
  • Pridajte podporu databázy tvárí do rámca cez file systém na Flash.
  • Implementujte aplikáciu LVGL GUI. Prostredníctvom vyššie uvedených úvodov tento dokument pomáha vývojárom:
  • Pochopte hlbšie rámec a softvér inteligentného riešenia HMI.
  • Rozvíjajte ich rozpoznávanie tváre AI&ML na frameworku s aplikáciou LVGL GUI.

Konec rámcaview
Softvér riešenia je primárne navrhnutý tak, aby využíval rámcovú architektúru, ktorá sa skladá z niekoľkých rôznych častí:

  • Správcovia zariadení – hlavná časť
  • Zariadenia hardvérovej abstraktnej vrstvy (HAL).
  • Správy/Udalosti

Ako je znázornené na obrázku 1, nadview mechanizmus rámca je:

Správcovia zariadení sú zodpovední za správu zariadení používaných systémom. Každý typ zariadenia (vstup, výstup atď.) má vlastného správcu zariadení špecifických pre daný typ zariadenia. So správcom zariadení, ktorý sa spustí po zaregistrovaní zariadení, čaká a skontroluje správu na prenos údajov do zariadení a iných správcov po inicializácii a spustení registrovaných zariadení. Zariadenia HAL sú napísané nad kódom ovládača nižšej úrovne, čo pomáha zvýšiť zrozumiteľnosť kódu abstrahovaním mnohých základných detailov.

Udalosti sú prostriedkom, ktorým sa informácie komunikujú medzi rôznymi zariadeniami prostredníctvom ich manažérov. Keď je spustená udalosť, zariadenie, ktoré ako prvé prijalo udalosť, oznámi túto udalosť svojmu manažérovi a následne upozorní ostatných manažérov určených na príjem udalosti.

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

Architektonický návrh rámca bol zameraný na tri hlavné ciele:

  1. Jednoduchosť použitia
  2. Flexibilita/prenosnosť
  3. Výkon

Rámec je navrhnutý s cieľom urýchliť uvedenie na trh vízií a iných aplikácií strojového učenia. Na zabezpečenie rýchleho uvedenia na trh je dôležité, aby bol samotný softvér ľahko pochopiteľný a upraviteľný. Vzhľadom na tento cieľ je možné architektúru rámca ľahko upraviť bez toho, aby bola obmedzujúca a bez toho, aby to bolo na úkor výkonu.
Ďalšie podrobnosti o rámci nájdete v Používateľskej príručke vývoja softvéru Smart HMI (dokument MCU-SMHMI-SDUG).

Ľahká a všestranná grafická knižnica (LVGL)
LVGL (Light and Versatile Graphics Library) je bezplatná grafická knižnica s otvoreným zdrojovým kódom, ktorá poskytuje všetko, čo potrebujete na vytvorenie vstavaného grafického používateľského rozhrania s ľahko použiteľnými grafickými prvkami, krásnymi vizuálnymi efektmi a nízkymi nárokmi na pamäť.

Sprievodca GUI
GUI Guider je užívateľsky prívetivý nástroj na vývoj grafického používateľského rozhrania od NXP, ktorý umožňuje rýchly vývoj vysokokvalitných displejov s open source grafickou knižnicou LVGL. Editor grafického používateľského rozhrania programu „Drag-and-drop“ uľahčuje používanie mnohých funkcií LVGL, ako sú widgety, animácie a štýly, na vytvorenie grafického používateľského rozhrania s minimálnym alebo žiadnym kódovaním.

Kliknutím na tlačidlo môžete spustiť svoju aplikáciu v simulovanom prostredí alebo ju exportovať do cieľového projektu. Vygenerovaný kód z GUI Guider možno jednoducho pridať do vášho projektu, urýchliť proces vývoja a umožniť vám bezproblémové pridanie vstavaného používateľského rozhrania do vašej aplikácie. GUI Guider je zadarmo na použitie s univerzálnymi a crossover MCU NXP a obsahuje vstavané šablóny projektov pre niekoľko podporovaných platforiem. Ak sa chcete dozvedieť viac o vývoji LVGL a GUI v GUI Guider, pozrite si Light and Versatile Graphics Library a GUI Guider.

Vývojové prostredie

Najprv pripravte a nastavte hardvérové ​​a softvérové ​​prostredie na implementáciu example na ráme.

Hardvérové ​​prostredie
Hardvérové ​​prostredie je nastavené na overenie example:

  • Inteligentná vývojová súprava HMI založená na NXP i.MX RT117H (súprava SLN_TLHMI_IOT)
  • SEGGER J-Link s 9-kolíkovým adaptérom Cortex-M a ovládačom V7.84a alebo novšou verziou

Softvérové ​​prostredie
Softvérové ​​prostredie je nastavené na vývoj example:

  • MCUXpresso IDE V11.7.0
  • GUI Guider V1.6.1-GA
  • lvgl_gui_camera_preview_cm7 – naprample kód druhej aplikačnej poznámky ako základný softvér vývoja. Podrobnosti nájdete v časti https://mcuxpresso.nxp.com/appcodehub.
  • RT1170 SDK V2.13.0 – ako zdroj kódu pre vývoj.
  • Softvér SLN-TLHMI-IOT V1.1.2 – zdrojový kód inteligentného HMI vydaný v úložisku NXP GitHub ako zdroj kódu pre vývoj. Podrobnosti nájdete na: GitHub – NXP/mcu-smhmi vo verzii 1.1.2

Podrobnosti o získaní a nastavení softvérového prostredia nájdete v časti: Začíname s SLN-TLHMI-IOT.

Architektúra vízie na frameworku

Architektúra vízie v rámci je znázornená na obrázku 2. Algo videnia HAL (OASIS_HAL) má nasledujúce procesy:

  • Vykonajte registráciu a rozpoznávanie tváre prostredníctvom modelu algoritmu videnia AI&ML po prijatí súvisiacich udalostí z výstupného používateľského rozhrania HAL. Oznámte výsledky odvodenia z modelu algoritmu do výstupného používateľského rozhrania HAL.
  • Pristupuje (pridáva, odstraňuje…) do databázy funkcií tváre na základe toho málo file volaním rozhraní API FaceDB HAL po prijatí súvisiacich udalostí z výstupného používateľského rozhrania HAL.
  • Pri registrácii a rozpoznávaní tváre si vyžiadajte snímku videa z kamery HAL.

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

Implementujte do rámca rozpoznávanie tváre

Rozpoznávanie tváre LVGL GUI naprample (example je poskytnutý neskôr) v rámci je implementovaný na základe example kódy implementácie LVGL GUI Camera Preview on Framework (dokument AN14147).

Za demonštráciu rozpoznávania tváre v example, základná funkcia aplikácie GUI (pozri hlavnú obrazovku na obrázku 3) je navrhnutá tak, ako je popísané nižšie:

  • Aplikácia GUI spustí registráciu tváre alebo udalosť rozpoznávania do výstupného HAL používateľského rozhrania po kliknutí na tlačidlo Registrácia alebo Rozpoznanie. A výstupné používateľské rozhranie HAL po úspešnej registrácii tváre upozorní na udalosť pridania používateľa do zrakového algoritmu HAL.
  • Aplikácia GUI spustí udalosť odstránenia používateľa do výstupného používateľského rozhrania HAL po kliknutí na tlačidlo Odstrániť používateľa po rozpoznaní tváre používateľa.
  • Aplikácia GUI spúšťa udalosť zastavenia spúšťania alga oázy na výstupnom UI HAL pri kliknutí na obrazovku mimo tlačidiel a obrázkov.

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

Pripravte softvérový balík na implementáciu example.

  • Naklonujte základný softvér lvgl_gui_camera_preview_cm7. Zmeňte názov projektu a hlavné filenázov pre lvgl_gui_face_rec_cm7.
  • Framework je potrebné aktualizovať v softvéri, pretože zdrojové kódy pre jadro frameworku začali byť verejné na GitHub od verzie 1.1.2.
  • Nahraďte priečinok frameworku kópiou V1.1.2 z GitHubu s výnimkou files fwk_log.ha fwk_common.h pod inc\, pretože boli upravené pre sériu aplikačných poznámok. Operácie sú znázornené na obrázku 4:NXP-AN14263-Implement-LVGL-GUI-Face-Recognition-on-Framewor-obr- (11)
  • Odstráňte priečinok framework_cm7 v skupine libs a odstráňte knižnicu framework_cm7 a jej vyhľadávaciu cestu nakonfigurovanú v Project > Properties > C/C++ Build > nastavenia > Tool Settings > MCU C++ Linker > Libraries, keďže je poskytnutý zdrojový kód jadra.

Povoliť funkciu rozpoznávania tváre v rámci
Funkcia rozpoznávania tváre je postavená na modeli algoritmu videnia ML poskytovanom ako statická knižnica – oasis lite runtime knižnica od NXP. Knižnica je malá, vysoko efektívna, prispôsobená a optimalizovaná knižnica AI. Model zahŕňa detekciu tváre, rozpoznávanie tváre, detekciu skla a detekciu živosti. Poskytuje hlavne API OASISLT_run_extended() na spustenie kanála rozpoznávania tvárí pri aktualizácii výsledkov volajúcemu prostredníctvom spätných volaní udalostí a pridávanie/aktualizovanie/odstraňovanie tvárí v databáze prostredníctvom spätných volaní databázy tvárí po zadaní informácií o zdrojovom rámci, spätných volaní a pamäte. fond používaný knižnicou volaním iného API OASISLT_init() pri inicializácii. Volanie rozhraní API a funkcie spätného volania sú implementované vo vizuálnom algoritme HAL rámca.

Pridajte knižnicu modelov vízie

  1. Kopírovať oázu priečinka obsahujúcu knižnicu a súvisiacu hlavičku file zo smart HMI\coffee_machine\cm7\libs\ do priečinka libs example SW.
  2. Pridajte cestu vyhľadávania hlavičky file v Project > Properties > C/C++ Build > settings > Tool Settings > MCU C kompilátor > Zahŕňa a MCU C++ kompilátor > Obsahuje: „${workspace_loc:/${ProjName}/libs/oasis/include}“
  3. Pridajte knižnicu lib a jej cestu vyhľadávania do Project > Properties > C/C++ Build > settings > MCU C+ + Linker > Knižnice: liboasis_lite2D_DEFAULT_117f_ae.a „${workspace_loc:/${ProjName}/libs/oasis}“ a definíciu makra do povoliť funkciu v časti Projekt > Vlastnosti > Zostava C/C++ > nastavenia > Nastavenia nástroja > Kompilátor MCU C > Preprocesor a kompilátor MCU C++ > Preprocesor: SMART_TLHMI_2D

Povoliť zrakovú algo HAL
Vision algo HAL poháňa model vízie algo do práce a reaguje na výsledky na výstup HAL používateľského rozhrania po prijatí udalostí z neho.

Ak to chcete povoliť, naklonujte existujúci podobný ovládač HAL file kde sú implementované nižšie uvedené funkcie:

  • Implementujte spätné volania operácií databáz tvárí a spracovania udalostí.
  • Priveďte víziu do práce volaním rozhraní API knižnice Oasis.
  • Prístup k databáze používateľských tvárí a databáze aplikácií (nie je potrebná v example).
  • Prijímajte udalosti z a odosielajte výsledky do výstupného rozhrania UI HAL.

Hlavné práce na implementácii HAL naprampsú:

  • Naklonujte existujúci podobný ovládač HAL file a zmeniť súvisiace názvy.
  • Odstráňte kódy súvisiace s operáciami s údajmi aplikácie.
  • Aktualizujte definície a funkcie na spracovanie udalostí z výstupného používateľského rozhrania HAL podľa príkladuampdizajn.
  • Pridajte konfigurácie požadované pri inicializácii Oasis.

Podrobné kroky sú uvedené nižšie:

  1. Klonujte hal_vision_algo_oasis_coffeemachine.c. Zmeňte filenázov pre hal_vision_algo_oasis_guifacerec.c. A vymeňte všetky struny CoffeeMachine za GUIFaceRec v file.
  2. Odstráňte kódy obsahujúce reťazec coffeedb (nerozlišujú sa malé a veľké písmená) súvisiace s databázou aplikácie, naprample, #include hal_sln_coffeedb.h.
  3. Upravte funkciu HAL_VisionAlgoDev_OasisGUIFaceRec_InputNotify() na spracovanie udalostí z výstupného používateľského rozhrania HAL.
    • Zmeňte definíciu udalosti kEventFaceRecId_RegisterCoffeeSelection na kEventFaceRecId_RegisterUserFace a reťazec štruktúry regCoffeeSelection na regGUIFaceRec pre obsluhu udalosti, aby sa do databázy pridali nové údaje o vlastnostiach tváre.
    • Ukázať štandardný proces akcií rozpoznávania tváre v príkladeample, upravte spracovanie v prípade kEventFaceRecID_OasisSetState s definíciami stavov:
      • kOASISLiteState
      • Registrácia kOASISLiteState
      • Uznanie kOASISLiteState
      • Zastavené
  4. Pridajte a upravte definície udalostí uvedených v predchádzajúcom kroku.
    • Skopírujte hlavičku file smart_tlhmi_event_descriptor.h zo smart HMI\coffee_machine \cm7\source\event_handlers\ do priečinka zdroj ex.ample SW. Aktualizujte file ako je uvedené nižšie:
    • Zmeňte definíciu udalosti kEventFaceRecId_RegisterCoffeeSelection na kEventFaceRecId_RegisterUserFace v type enum _event_smart_tlhmi_id a reťazec štruktúry regCoffeeSelection na regGUIFaceRec v štruktúre _event_smart_tlh Takže zmeňte štruktúru register_coffee_selection_event_t pre regCoffeeSelection na register_gui_facerec_event_t.
    • Odstráňte obsah else použitý pre aplikáciu kávovaru, naprample, riadok kódu o hlase: #include “hal_event_descriptor_voice.h”.
    • Pridajte typy kOASISLiteState_Stopped a kOASISLiteState_Running do typu enum oasis_lite_state_t v hal_vision_algo.h pod framework>hal>vision v projekte, ako je uvedené nižšie:
      typedef enum _oasis_lite_state {
      • kOASISLiteState
      • Beh, kOASISLiteState
      • Zastavené, kOASISLiteState
      • uznanie,
      • kOASISLiteState
      • Registrácia, kOASISLiteState
      • Zrušenie registrácie, kOASISLiteState
      • RemoteRegistration, kOASISLiteState
      • počítať
    • Použite vyššie uvedenú aktualizovanú štruktúru oasis_lite_state_t na spresnenie štruktúry oasis_state_event_t v hal_event_descriptor_face_rec.h v rámci framework>hal>vision v projekte, ako je uvedené nižšie: typedef struct _oasis_state_event_t { stav oasis_lite_state_t; } oasis_state_event_t;
  5. Zmeňte všetky kEventInfo_Remote na kEventInfo_Local na odosielanie udalostí z algo vízie HAL do iných HAL bežiacich na rovnakom jadre ako jedno jadro namiesto dvojjadra sa používa v ex.ample.
  6. Pridajte a upravte nižšie uvedené konfigurácie pre inicializáciu oázy v OASISLT_init():
    • Pridajte definície makier a časti pamäte pre video snímku do 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, zarovnať bajty) \
      • __attribute__((section(.bss.$fb_sh_mem,\”aw\”,%nobits @”))) var
      • __atribút__((zarovnané(zarovnanie bajtov)))
    • Nakonfigurujte priradenie pamäte k vyššie uvedenej sekcii pamäte fb_sh_mem na Project > Properties > C/C++ Build > MCU Settings zobrazené na obrázku 5:NXP-AN14263-Implement-LVGL-GUI-Face-Recognition-on-Framewor-obr- (12)
    • Deklarujte globálnu premennú g_DTCOPBuf v lvgl_gui_face_rec_cm7.cpp: AT_NONCACHEABLE_SECTION_ALIGN_DTC (uint8_t g_DTCOPBuf[DTC_OPTIMIZE_BUFFER_SIZE], 4);
    • Pokračujte v pridávaní definícií použitých vo vyššie uvedenej premennej:
    • Definujte vyššie uvedenú časť v board_define.h:
      • #define AT_NONCACHEABLE_SECTION_ALIGN_DTC(var, zarovnať bajty) \
      • atribút__((sekcia(.bss.$SRAM_DTC_cm7,\”aw\”,%nobits @”))) var
      • atribút__((zarovnané(zarovnaťbajty)))
    • Zahrňte hlavičku file hal_vision_algo.h obsahujúci definíciu makra DTC_OPTIMIZE_BUFFER_SIZE v app_config.h zahrnutý v lvgl_gui_face_rec_cm7.cpp.
  7. Nastavte premennú s_debugOption na hodnotu true na zobrazenie stavu priebehu pri rozpoznávaní tváre.
  8. Pridajte cestu vyhľadávania hlavičky files víziou HAL v projekte > Vlastnosti > Zostava C/C++ > nastavenia > Nastavenia nástroja > Kompilátor MCU C > Zahŕňa a kompilátor MCU C++ > Obsahuje: „${workspace_loc:/${ProjName}/framework/hal/vision}“
  9. Pridajte nižšie uvedenú definíciu, aby ste povolili vizuálnu algo HAL v board_define.h: #define ENABLE_VISIONALGO_DEV_Oasis_GUIFaceRec

Povoliť výstup UI HAL
Výstupné UI HAL oznamuje udalosti zrakovému algu HAL a reaguje na výsledky záverov z vízového alga HAL. V aplikácii GUI sú udalosti vo všeobecnosti spúšťané aplikáciou a výsledky sa zobrazujú v aplikácii.

Ak to chcete povoliť, naklonujte existujúci podobný ovládač HAL file kde sú vo všeobecnosti implementované nižšie uvedené funkcie:

  • Upozornite na udalosti pre rozpoznávanie tváre a prístup k databáze.
  • Implementujte spätné volania pre aplikáciu GUI na spustenie udalostí.
  • Spracujte výsledky odvodenia z modulu zrakových algo.
  • Zobrazte proces a výsledky spracovania udalostí v používateľskom rozhraní pomocou indikátora priebehu ovládaného pomocou časovačov a obdĺžnika s vodiacimi prvkami.

Hlavné práce na implementácii HAL naprampv tomto dokumente sú použité:

  • Naklonujte existujúci podobný ovládač HAL file a zmeniť súvisiace názvy.
  • Odstráňte kódy súvisiace s aplikáciou.
  • Aktualizujte funkcie pre oznamovanie udalostí a odpoveď na výsledky podľa exampdizajn.
  • Pridajte spätné volania pre aplikáciu GUI na spustenie udalostí.

Podrobné kroky sú uvedené nižšie:

  1. Klonujte hal_output_ui_coffee_machine.c. Zmeňte filenázov pre hal_ output_ui_guifacerec.c.
  2. Vymeňte všetky struny CoffeeMachine za GUIFaceRec v file.
  3. Odstráňte kódy súvisiace s aplikáciou – kávovarom.
    • Odstráňte funkcie WakeUp() a _StandBy() a súvisiace kódy (môže ich vyhľadať v reťazci wake_up a standby).
    • Odstráňte predview udalosti režimu spracovávajúce súvisiace kódy v HAL_OutputDev_UiGUIFaceRec_Input Notify().
    • Odstráňte funkcie UI_xxx_Callback() a kódy obsahujúce reťazec gui_ a obrazovku súvisiace s GUI kávovaru okrem gui_set_virtual_face() preview funkcia režimu.
    • Odstráňte všetky kódy súvisiace s premennými s_IsWaitingAnotherSelection a s_IsWaitingRegisterSelection súvisiacimi s aplikáciou kávovaru.
    • Odstráňte kódy súvisiace s hlasom, zvukom a jazykom. Napríkladample:
      • #include “hal_voice_algo_asr_local.h”,
      • #include “hal_event_descriptor_voice.h”
  4. Pre upozornenia na rôzne udalosti implementujte pred ich odstránením nové funkcie _OutputManagerNotify(), _SetFaceRec(), _RegisterGUIFaceRec() a DeregisterGUIFaceRec() odkazujúce na funkcie _StopFaceRec(), _RegisterCoffeeSelection() a DeregisterCoffeeSelection.
    • Funkcia _OutputManagerNotify() implementuje základnú funkciu výstupu udalosti na odoslanie udalosti do vízie algo HAL. Nižšie uvedené funkcie ho volajú na odosielanie vlastných udalostí.
    • _SetFaceRec() odošle udalosť kEventFaceRecID_OasisSetState na spustenie zrakovej algo na registráciu tváre, rozpoznanie a zastavenie alga.
    • Funkcia _RegisterGUIFaceRec() odošle udalosť kEventFaceRecId_RegisterGUIFaceRec, ktorá je definovaná v súbore smart_tlhmi_event_descriptor.h, na pridanie údajov funkcie tváre do databázy, keď je registrácia v poriadku.
    • DeregisterGUIFaceRec() odošle udalosť kEventFaceRecID_DelUser na vymazanie údajov funkcie tváre z databázy pri prechode na rozpoznávanie tváre.
  5. Aktualizujte kódy tak, aby vykonali príslušné akcie vrátane obnovenia GUI volaním rozhraní API z aplikácie GUI LVGL na odvodenie výsledkov registrácie a rozpoznávania tváre vo funkcii _InferComplete_Vision() podľa ex.ample's design. Napríkladample, keď je registrácia tváre úspešná,
    • Zastavte zobrazovanie priebehu volaním _FaceRecProcess_Stop();
    • Zastavte registráciu tváre volaním _SetFaceRec(kOASISLiteState_Stopped);
    • Ukážte úspešný výsledok na GUI: gui_show_face_rec_result(kFaceRecResult_OK, s_UserId);
    • Zaregistrujte údaje tváre do databázy: _RegisterUserFace(s_UserId);
  6. Pridajte funkcie spätného volania používateľského rozhrania na spracovanie udalostí: predview, registrácia tváre, rozpoznanie a odstránenie používateľa spustené z GUI. Napríkladample, spätné volanie registrácie tváre: void UI_Registration_Callback(){ _SetFaceRec(kOASISLiteState_Registration); _FaceRecProcess_Start(); }
    • A pridajte funkcie _FaceRecProcess_Start() a _FaceRecProcess_Stop() na zobrazenie priebehu a stavu v rôznych udalostiach a výsledkoch.
    • Aktualizujte funkciu spätného volania ISR časovača _SessionTimer_Callback() tak, aby zvládla prípad vypršania časového limitu volaním: gui_show_face_rec_result(kFaceRecResult_TimeOut, s_UserId);
  7. Pridajte nižšie uvedené definície, aby ste povolili výstup HAL používateľského rozhrania v board_define.h: #define ENABLE_OUTPUT_DEV_UiGUIFaceRec

Upozornenie:
Ak chcete lepšie prezentovať funkciu rozpoznávania tváre, ponechajte funkciu na zobrazenie procesu a výsledkov rozpoznávania tváre vo výstupnom UI HAL. Funkcia je opísaná nižšie

  • Obdĺžnik navádzača tváre sa zobrazuje modro a indikátor priebehu zobrazuje priebeh pri spustení registrácie alebo rozpoznávania tváre.
  • Keď je registrácia tváre úspešná, obdĺžnik navádzača tváre sa zobrazí načerveno.
  • Po úspešnom rozpoznaní tváre sa obdĺžnik navádzača tváre zobrazí nazeleno.
  • Obdĺžnik navádzača tváre zostane modrý a indikátor priebehu zobrazuje úplný priebeh, keď je akcia po uplynutí časovača neúspešná. V tom momente zastavte registráciu alebo rozpoznávanie tváre.

Ukazovateľ priebehu a obdĺžnik tvárového sprievodcu sú prezentované ako ikony, ktoré sú zabudované do binárneho zdroja file naprogramovať do Flash. Ukazovatele na dáta ikon na SDRAM sa nastavujú vo funkcii LoadIcons(APP_ICONS_BASE) volanej pri inicializácii výstupného UI HAL zariadenia vo výstupnom UI HAL. Musí implementovať podporu ikon pre túto funkciu.

Implementujte podporu ikon

  1. Vytvorte zdroj kombinovaním ikon s obrázkami používanými v aplikácii LVGL GUI:
    • Klonujte hlavičku so štyrmi ikonami files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h a virtual_face_red_420x426.h od smart HMI
      \kávovar\zdroj\ikony\ do nových ikon priečinka pod priečinkom zdrojov example SW.
    • Pridajte cestu vyhľadávania pre štyri ikony files v camera_preview_resource.txt file v priečinku zdrojov, naprampsúbor: ikona ../resource/icons/process_bar_240x14.h
    • Spustite camera_preview_resource_build.bat na vytvorenie zdrojov obrázkov a ikon na vygenerovanie koša file camera_preview_resource.bin a informácie file resource_information_table.txt (Pozri obrázok 6).NXP-AN14263-Implement-LVGL-GUI-Face-Recognition-on-Framewor-obr- (13)
  2. Definujte počiatočnú adresu na SDRAM a veľkosť ikon v app_config.h. Adresa začína vedľa obrázkov aplikácie GUI. Veľkosť je vygenerovaná v info file. #define APP_ICONS_BASE (APP_RES_SHMEM_BASE + APP_LVGL_IMGS_SIZE) #define APP_ICONS_SIZE 0x107c40
  3. Aktualizujte priradenú veľkosť pamäťovej sekcie s názvom res_sh_mem na 0x200000 jej predefinovaním v app_config.h: #define RES_SHMEM_TOTAL_SIZE 0x200000 a zodpovedajúcim nastavením v Project > Properties > C/C++ Build > MCU settings.
  4. Pridajte veľkosť ikony k celkovej veľkosti zdroja načítaného z Flash do SDRAM vo funkcii APP_LoadResource() v hlavnom file lvgl_gui_face_rec_cm7.cpp: memcpy((void *)APP_LVGL_IMGS_BASE, pLvglImages, APP_LVGL_IMGS_SIZE + APP_ICONS_SIZE);

Všimnite si: Na dokončenie funkcie rozpoznávania tváre je potrebná podpora aplikácie LVGL GUI. Funkcie spätného volania používateľského rozhrania vo výstupnom používateľskom rozhraní HAL sú volané aplikáciou LVGL GUI na spracovanie udalostí z obrazovky používateľského rozhrania. Na druhej strane, výstupné používateľské rozhranie HAL volá rozhrania API z aplikácie LVGL GUI, aby aktualizovalo používateľské rozhranie, aby zobrazilo výsledok a stav. Vývoj aplikácie LVGL GUI je relatívne nezávislý a je predstavený v časti 4.3.

4.1.5 Spustenie zariadení a správcov HAL na rozpoznávanie tváre
Aktivovaný vizuálny algoritmus HAL a výstup UI HAL a ich manažéri sa spúšťajú v hlavnom file
lvgl_gui_face_rec_cm7.cpp po konverziách vývoja v rámci, ako je uvedené nižšie:

  1. Zahrňte hlavičku file v súvislosti s dvoma manažérmi HAL pridaním riadku kódu:
    • #include “ fwk_output_manager.h “
    • #include “fwk_vision_algo_manager.h”
  2. Deklarujte zariadenia HAL:
    • HAL_VALGO_DEV_DECLARE(OasisGUIFaceRec);
    • HAL_OUTPUT_DEV_DECLARE(UiGUIFaceRec);
  3. Zaregistrujte zariadenia HAL:
    • HAL_VALGO_DEV_REGISTER(OasisGUIFaceRec, ret);
    • HAL_OUTPUT_DEV_REGISTER(UiGUIFaceRec, ret);
  4. Inicializujte manažérov:
    • FWK_MANAGER_INIT(VisionAlgoManager, ret);
    • FWK_MANAGER_INIT(Správca výstupu, ret);
  5. Spustite manažérov:
    • FWK_MANAGER_START(VisionAlgoManager, VISION_ALGO_MANAGER_TASK_PRIORITY, ret);
    • FWK_MANAGER_START(Správca výstupu, OUTPUT_MANAGER_TASK_PRIORITY, ret);
  6. Definujte prioritu úloh manažéra:
    • #define VISION_ALGO_MANAGER_TASK_PRIORITY 3
    • #define OUTPUT_MANAGER_TASK_PRIORITY 1

Pridajte podporu databázy tvárí do rámca
K údajom o zaregistrovaných funkciách tváre sa v databáze tvárí uloženej vo Flashi pristupuje cez malý file systému. Kroky na pridanie podpory databázy tvárí sú popísané nižšie.

Pridajte ovládače pre úložisko Flash
Skopírujte ovládač FlexSPI rozhrania Flash files fsl_flexspi.c a fsl_flexspi.h a ovládač na šifrovanie údajov files fsl_caam.c a fsl_caam.h z cesty SDK_2_13_0_MIMXRT1170-EVK\devices \MIMRX1176\drivers\ do priečinka ovládačov ex.ample SW.

Pridajte podporu na úrovni dosky

  1. Pridajte definície FlexSPI používané pre Flash zariadenie na doske do board.h:
    • #define BOARD_FLEXSPI FLEXSPI1
    • #define BOARD_FLEXSPI_CLOCK kCLOCK_FlexSpi1
    • #define BOARD_FLEXSPI_AMBA_BASE FlexSPI1_AMBA_BASE
  2. Skopírujte operátory a konfigurácie files zariadenia Flash flexspi_nor_flash_ops.c, flexspi_nor_flash_ops.h, sln_flash_config.c, sln_flash_config_w25q256jvs.h a sln_flash_ops.h pod cestou smart HMI\coffee_machine\source board of board\exflash_config.ample SW.
    • Zrušte začiarknutie políčka „Vylúčiť zdroj zo zostavy“ v C/C++ Build > Nastavenia po kliknutí pravým tlačidlom myši na files názvom a otvorením vlastností, ktoré umožňujú ich zabudovanie do projektu.
  3. Zmeňte zahrnutú hlavičku filenázov sln_flash_config.h na sln_flash_config_w25q256jvs.h v sln_flash_config.c a flexspi_nor_flash_ops.h.
  4. Nastavte zdroj hodín FlexSPI1 v file clock_config.c s odkazom na aplikáciu kávovaru.

Pridajte adaptér a podporu strednej úrovne

  1. Skopírujte files sln_flash.c, sln_flash.h, sln_encrypt.c a sln_encrypt.h ako ovládače adaptéra pre file systému a aplikácie z cesty smart HMI\coffee_machine\cm7\source\ do zdroja priečinka ex.ample. Aktualizujte nové files:
    • Zrušte začiarknutie políčka „Vylúčiť zdroj zo zostavy“ na stavbu.
    • Zmeňte všetky zahrnuté hlavičky file názov sln_flash_config.h na sln_flash_config_w25q256jvs.h.
  2. Skopírujte priečinok filesystém obsahujúci API pre najmenších filesystém a ovládač HAL od smart HMI \coffee_machine\cm7\source\ po example SW. A aktualizujte nový priečinok:
    • Zrušte začiarknutie políčka „Vylúčiť zdroj zo zostavy“ na vytvorenie.
    • Pridajte cestu k zahrnutiu do nastavení projektu: „${workspace_loc:/${ProjName}/filesystém}“
    • Zmeňte zahrnutú hlavičku file názov sln_flash_config.h na sln_flash_config_w25q256jvs.h a fica_definition.h na app_config.h v file sln_flash_littlefs.h.
  3. Skopírujte priečinok littlefs obsahujúci stredný tovar – malý filesystému z cesty SDK_2_13_0_ MIMXRT1170-EVK\middleware\ do example SW. A aktualizujte nový priečinok:
    • Zrušte začiarknutie políčka „Vylúčiť zdroj zo zostavy“ na vytvorenie.
    • Pridajte cestu k zahrnutiu do nastavení projektu: „${workspace_loc:/${ProjName}/littlefs}“

Pridajte ovládače HAL 

  • Existujú dve zariadenia HAL – file systémová a tvárová databáza HAL podporuje funkciu prístupu k databáze a sú už implementované v rámci bez akejkoľvek zmeny. Povoľte ich pridaním nasledujúcich definícií do board_define.h:
    • #define ENABLE_FLASH_DEV_Littlefs
    • #define ENABLE_FACEDB

A zmeňte názov databázy tvárí na example: #define OASIS_FACE_DB_DIR “oasis_gui_face_rec”

Pridajte podporu na úrovni aplikácie

  1. Aktualizujte hlavné file lvgl_gui_face_rec_cm7.cpp:
    • Zahrňte hlavičku file súvisiace s Flashom file systémový HAL manažér pridaním riadku kódu: #include “fwk_flash.h”
    • Vyhlásiť a zaregistrovať sa file systémové HAL zariadenie:
      • HAL_FLASH_DEV_DECLARE(Maličká);
      • HAL_FLASH_DEV_REGISTER(Drobci, rat);
        Poznámka: The file systémové zariadenie HAL musí byť zaregistrované pred inicializáciou všetkých správcov zariadení vo funkcii APP_InitFramework().
    • Zavolaním funkcie BOARD_ConfigMPU() v APP_BoardInit() nakonfigurujte MPU.
  2. Nastavte file systémové priradenie na Flash v file app_config.h definovaním definícií makier používaných v file sln_flash_littlefs.h:
    • #define FICA_IMG_FILE_SYS_ADDR (FLASH_IMG_SIZE + RES_SHMEM_TOTAL_SIZE)
    • #define FICA_FILE_SYS_SIZE (0x280000)

Konfigurácie
Niektoré kódy súvisiace s Flash sa spúšťajú v oblasti SRAM ITC, aby sa dosiahol dostatočný výkon. Skopírujte priečinok linkscripts obsahujúci konfigurácie linkera z cesty smart HMI\coffee_machine\cm7\ do example SW.

Implementujte aplikáciu LVGL GUI
Vývoj LVGL GUI aplikácie založenej na frameworku volá API z výstupného UI HAL a poskytuje API na výstup UI HAL (pozrite si časť 4.1.3 o implementácii výstupného UI HAL).

Podrobná implementácia aplikácie LVGL GUI však závisí od požiadaviek a dizajnu aplikácie. Aplikácia GUI v tomto naprample je navrhnutý tak, ako je popísané na začiatku časti 4.

Nižšie je uvedený úvod do implementácie:

  1. Prispôsobené kódy sú implementované v súboroch custom.c a custom.h, ktoré poskytuje GUI Guider ako rozhranie medzi projektom GUI Guider a projektom vstavaného systému.
    •  Pridajte nové funkcie s názvom gui_xxx() do custom.c, aby ste dosiahli nižšie uvedené funkcie:
      • Pre výstup UI HAL a GUI app na aktualizáciu UI.
      • Aby aplikácia GUI spúšťala udalosti volaním funkcií spätného volania používateľského rozhrania z výstupného používateľského rozhrania HAL.
        Napríkladample, nová funkcia gui_event_face_rec_action() volá funkcie spätného volania používateľského rozhrania na spracovanie jednej z udalostí registrácie tváre, rozpoznávania tváre a vymazania používateľa, ktoré sa spustí z aplikácie GUI po kliknutí na príslušné tlačidlo.
        Poznámka: Funkcia gui_set_virtual_face() volaná vo výstupnom UI HAL pre preview režim je potrebné implementovať v custom.c:
    •  Klonujte funkciu gui_set_virtual_face() z inteligentného HMI\coffee_machine\cm4\custom \custom.c.
    •  Zmeňte názov miniaplikácie home_img_cameraPreview na screen_img_camera_preview vo funkcii.
    •  Implementujte funkcie spätného volania používateľského rozhrania s rovnakým prototypom do všetkých funkcií vo výstupnom používateľskom rozhraní HAL pod kontrolou definície makra #ifndef RT_PLATFORM v custom.c, aby boli kompatibilné s projektom GUI Guider, pretože tieto funkcie vo výstupnom používateľskom rozhraní HAL sú závislé od vstavaná platforma. V custom.c závisia od simulátora na GUI sprievodcovi a sú nezávislé od vstavanej platformy. Napríkladample, spätné volanie registrácie tváre je implementované ako je uvedené nižšie pre spustený simulátor GUI Guider: #ifndef RT_PLATFORM void UI_Registration_Callback() { gui_hide_del_user_btn(true); s_InAction = false; návrat; }
      Poznámka: Pozrite si rovnaký prototyp funkcie predstavený v kroku 6 časti 4.1.3
      Definícia makra RT_PLATFORM je nastavená na nastaveniach projektu MCUXpresso, ako je znázornené na obrázku 7:NXP-AN14263-Implement-LVGL-GUI-Face-Recognition-on-Framewor-obr- (14)
    • Deklarujte všetky funkcie pomenované UI_xxx_Callback() a gui_xxx() v custom.h a pridajte custom.h zahrnutý v smart_tlhmi_event_descriptor.h na zdieľanie GUI API do HAL výstupu používateľského rozhrania.
  2. Vytvorte GUI v GUI Guider:
    • Klonujte priečinok fotoaparátu predview obsahujúci projektový softvér GUI Guider v priečinku gui_guider v základnom softvérovom balíku lvgl_gui_camera_preview_cm7. Zmeňte súvisiaci názov camera_preview na face_rec pre novú example.
    • Skopírujte vyššie uvedené aktualizované custom.c a custom. h do nového projektového softvéru GUI Guider.
    •  Otvorte nový projekt face_rec v GUI Guider. Aktualizujte ako je uvedené nižšie:
      • Pridajte nové tlačidlo s názvom Odstrániť používateľa. Pridajte k nemu príznak Skrytý, aby sa tlačidlo skrylo pri spustení aplikácie GUI.
      • Pridajte riadok kódu volania API gui_event_face_rec_action() s iným parametrom ID udalosti do spúšťača „Uvoľnené“ v nastavení udalosti všetkých tlačidiel Registrácia, Rozpoznanie a Odstrániť používateľa na spustenie udalostí registrácie tváre, rozpoznania tváre a vymazania používateľa. Obrázok 8 zobrazuje kód udalosti tlačidla Registrácia:NXP-AN14263-Implement-LVGL-GUI-Face-Recognition-on-Framewor-obr- (15)
  3. Aktualizujte vygenerovaný kód z GUI Guider na projekt MCUXpresso.
    • Nahraďte obsah okrem obrázkov priečinkov v priečinku vygenerovanom softvérom projektu MCUXpresso zodpovedajúcim obsahom v priečinku vygenerovaným softvérom projektu GUI Guider.

Poznámka: Viac podrobností o vyššie uvedených úpravách nájdete v example softvér na https://mcuxpresso.nxp.com/appcodehub.

Overenia s example projekt

Ak chcete získať example softvérový balík obsahujúci zdroje a nástroje pre túto poznámku k aplikácii, navštívte: https://mcuxpresso.nxp.com/appcodehub. Otvorte example projekt na MCUXpresso IDE. Zostavte a naprogramujte súbor .axf file na adresu 0x30000000 a naprogramujte zásobník zdrojov file camera_preview_resource.bin na adresu 0x30800000.

Rozpoznávanie tváre LVGL GUI naprample funguje normálne, ako je uvedené nižšie:

  • Preview: Po zapnutí sa video streamy zachytené kamerou zobrazia v špecifickej oblasti pred kamerouview na obrazovke GUI. Stavový štítok zobrazuje „Preview…“. Podrobnosti nájdete na obrázku 3. Tlačidlo Odstrániť používateľa je skryté. Keď kliknete na oblasť mimo tlačidiel a obrázkov, zobrazí sa preview po ukončení registrácie tváre alebo rozpoznávania tváre uveďte vyššie uvedené.
  • Registrácia:
    • tartup: Po kliknutí na tlačidlo Registrácia sa spustí registrácia tváre. Stavový štítok sa zmení na „Registrácia...“, vodiaci obdĺžnik tváre sa zobrazí namodro a indikátor priebehu začne zobrazovať priebeh. Pre registráciu skontrolujte, či sa tvár používateľa zobrazuje v modrom vodiacom obdĺžniku tváre.
    • úspešnosť: Stavový štítok zobrazuje „Registrácia...OK“ a identifikačné číslo registrovaného používateľa. Ak je registrácia tváre úspešná, obdĺžnik s navádzaním tváre sa zmení na červený, kým sa na lište nezobrazí celý priebeh.
    • Zlyhanie -> Časový limit: Stavový štítok zobrazuje „Registration...Time out“, ak registrácia tváre stále zlyhá, keď sa na lište zobrazuje plný priebeh.
    • Zlyhanie -> Duplikácia: Stavový štítok zobrazuje „Registrácia...Neúspešná“, obdĺžnik vodidla tváre sa zmení na zelený, ak je zaregistrovaná tvár rozpoznaná skôr, ako sa na lište zobrazí plný priebeh.
  • poznanie:
    • Spustenie: Po kliknutí na tlačidlo Rozpoznávanie sa spustí rozpoznávanie tváre. Stavový štítok sa zmení na „Rozpoznávanie...“, obdĺžnik navádzača tváre sa zobrazí namodro a indikátor priebehu začne zobrazovať priebeh. Uistite sa, že tvár používateľa je zobrazená v modrom vodiacom obdĺžniku tváre na registráciu.
    • úspešnosť: Stavový štítok zobrazuje „Rozpoznávanie...OK“ a rozpoznané ID používateľa. Ak je rozpoznanie tváre úspešné, kým sa na lište ukáže plný priebeh, obdĺžnik s navádzaním tváre sa zmení na zelený. V tomto bode sa zobrazí tlačidlo Odstrániť používateľa. To znamená, že používateľa je možné vymazať iba vtedy, keď je rozpoznaný.
    • ailure: Stavový štítok zobrazuje „Rozpoznávanie...Časový limit“, ak rozpoznávanie tváre stále zlyhá, keď sa na lište zobrazuje plný priebeh.
  • Odstrániť používateľa: Po kliknutí na tlačidlo „Vymazať používateľa“ sa po úspešnom rozpoznaní tváre stavový štítok zmení na „Odstrániť používateľa…OK“, pričom obdĺžnik navádzača tváre sa zmení na modrý a na lište sa zobrazí celý priebeh. Tlačidlo Odstrániť používateľa je opäť skryté. Rozpoznaná tvár/používateľ sa vymaže z databázy. Znamená to, že túto tvár/používateľa nemožno rozpoznať, kým sa znova nezaregistruje.

Poznámka o zdrojovom kóde v dokumente
ExampKód zobrazený v tomto dokumente má nasledujúce autorské práva a licenciu BSD-3-Clause:

Copyright 2024 NXP Redistribúcia a používanie v zdrojovej a binárnej forme, s úpravami alebo bez nich, sú povolené za predpokladu, že sú splnené nasledujúce podmienky:

  1. Redistribúcie zdrojového kódu musia obsahovať vyššie uvedené oznámenie o autorských právach, tento zoznam podmienok a nasledujúce vylúčenie zodpovednosti.
  2. Redistribúcie v binárnej forme musia reprodukovať vyššie uvedené oznámenie o autorských právach, tento zoznam podmienok a nasledujúce vylúčenie zodpovednosti v dokumentácii a/alebo iných materiáloch musia byť poskytnuté spolu s distribúciou.
  3. Ani meno držiteľa autorských práv, ani mená jeho prispievateľov nesmú byť použité na podporu alebo propagáciu produktov odvodených z tohto softvéru bez osobitného predchádzajúceho písomného povolenia.

TENTO SOFTVÉR POSKYTUJÚ DRŽITELIA AUTORSKÝCH PRÁV A PRISPIEVATEĽOV „TAK, AKO JE“ A AKÉKOĽVEK VÝSLOVNÉ ALEBO IMPLICITNÉ ZÁRUKY VRÁTANE, ALE NIE VÝHRADNE, IMPLIKOVANÝCH ZÁRUK PREDAJNOSTI A VHODNOSTI NA KONKRÉTNU NÁPLŇU. V ŽIADNOM PRÍPADE NEBUDE DRŽITEĽ AUTORSKÝCH PRÁV ALEBO PRISPIEVATELIA ZODPOVEDNÍ ZA AKÉKOĽVEK PRIAMY, NEPRIAME, NÁHODNÉ, ŠPECIÁLNE, EXEMPLÁRNE ALEBO NÁSLEDNÉ ŠKODY (VRÁTANE, ALE NIE VÝHRADNE, OBSTARÁVANIA NÁHRADNÝCH SLUŽEB, NÁHRADNÝCH TOVAROV; ZISKY ALEBO PRERUŠENIE PODNIKANIA) AKO SÚ SPÔSOBENÉ A NA AKEJKOĽVEK TEÓRII ZODPOVEDNOSTI, ČI UŽ V ZMLUVE, PRÍMEJ ZODPOVEDNOSTI ALEBO PREČINKU (VRÁTANE NEDBALOSTI ALEBO INAK), VZNIKNUTÝM AKÝMKOĽVEK SPÔSOBOM Z TOHTO POUŽÍVANIA TOHTO POUŽÍVANIA TOHTO SPÔSOB. POŠKODENIE.

História revízií

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

Právne informácie

Definície
Koncept — Stav konceptu na dokumente naznačuje, že obsah je stále pod internou kontrolouview a podlieha formálnemu schváleniu, ktoré môže viesť k úpravám alebo doplnkom. NXP Semiconductors neposkytuje žiadne vyhlásenia ani záruky, pokiaľ ide o presnosť alebo úplnosť informácií obsiahnutých v pracovnej verzii dokumentu a nenesie žiadnu zodpovednosť za dôsledky použitia takýchto informácií.

Vylúčenie zodpovednosti

  • Obmedzená záruka a zodpovednosť — Informácie v tomto dokumente sa považujú za presné a spoľahlivé. Spoločnosť NXP Semiconductors však neposkytuje žiadne vyjadrenia ani záruky, či už vyjadrené alebo predpokladané, pokiaľ ide o presnosť alebo úplnosť takýchto informácií a nenesie žiadnu zodpovednosť za dôsledky použitia takýchto informácií. Spoločnosť NXP Semiconductors nenesie žiadnu zodpovednosť za obsah tohto dokumentu, ak ho poskytuje zdroj informácií mimo NXP Semiconductors.
    Spoločnosť NXP Semiconductors v žiadnom prípade nezodpovedá za žiadne nepriame, náhodné, trestné, špeciálne alebo následné škody (vrátane – bez obmedzenia – ušlého zisku, stratených úspor, prerušenia podnikania, nákladov súvisiacich s odstránením alebo výmenou akýchkoľvek produktov alebo poplatkov za prepracovanie), či už alebo takéto škody nie sú založené na deliktu (vrátane nedbanlivosti), záruke, porušení zmluvy alebo inej právnej teórii.
    Bez ohľadu na akékoľvek škody, ktoré by zákazníkovi mohli z akéhokoľvek dôvodu vzniknúť, súhrnná a kumulatívna zodpovednosť spoločnosti NXP Semiconductors voči zákazníkovi za produkty opísané v tomto dokumente bude obmedzená v súlade s podmienkami komerčného predaja spoločnosti NXP Semiconductors.
  • Právo na zmeny — Spoločnosť NXP Semiconductors si vyhradzuje právo kedykoľvek a bez upozornenia zmeniť informácie uverejnené v tomto dokumente, vrátane, ale nie výlučne, špecifikácií a popisov produktov. Tento dokument nahrádza a nahrádza všetky informácie poskytnuté pred jeho zverejnením.
  • Vhodnosť na použitie — Produkty NXP Semiconductors nie sú navrhnuté, autorizované alebo zaručené tak, aby boli vhodné na použitie v životne dôležitých systémoch alebo zariadeniach, ani v aplikáciách, kde možno odôvodnene očakávať, že zlyhanie alebo porucha produktu NXP Semiconductors bude mať za následok zranenie osôb, smrť alebo vážne poškodenie majetku alebo životného prostredia. Spoločnosť NXP Semiconductors a jej dodávatelia nenesú žiadnu zodpovednosť za zahrnutie a/alebo používanie produktov NXP Semiconductors v takýchto zariadeniach alebo aplikáciách, a preto je takéto zahrnutie a/alebo používanie na vlastné riziko zákazníka.
  • Aplikácie — Tu opísané aplikácie pre ktorýkoľvek z týchto produktov slúžia len na ilustračné účely. NXP Semiconductors neposkytuje žiadne vyhlásenie ani záruku, že takéto aplikácie budú vhodné na špecifikované použitie bez ďalšieho testovania alebo úprav.
    Zákazníci sú zodpovední za dizajn a prevádzku svojich aplikácií a produktov používajúcich produkty NXP Semiconductors a NXP Semiconductors nenesie žiadnu zodpovednosť za akúkoľvek pomoc s aplikáciami alebo dizajnom produktov zákazníka. Je výhradnou zodpovednosťou zákazníka určiť, či je produkt NXP Semiconductors vhodný a vhodný pre zákazníkove aplikácie a plánované produkty, ako aj pre plánovanú aplikáciu a použitie zákazníkovou treťou stranou. Zákazníci by mali poskytnúť vhodné konštrukčné a prevádzkové bezpečnostné opatrenia na minimalizáciu rizík spojených s ich aplikáciami a produktmi. NXP Semiconductors neprijíma žiadnu zodpovednosť v súvislosti s akoukoľvek chybou, poškodením, nákladmi alebo problémom, ktorý je založený na akejkoľvek slabosti alebo chybe v aplikáciách alebo produktoch zákazníka alebo v aplikácii alebo použití zákazníkmi, ktorí sú treťou stranou. Zákazník je zodpovedný za vykonanie všetkých potrebných testov pre aplikácie a produkty zákazníka, ktoré používajú produkty NXP Semiconductors, aby sa predišlo chybám aplikácií a produktov alebo aplikácie alebo použitia zákazníkmi z tretích strán. NXP v tomto smere nepreberá žiadnu zodpovednosť.
  • Podmienky komerčného predaja — Produkty NXP Semiconductors sa predávajú v súlade so všeobecnými podmienkami komerčného predaja, ako sú zverejnené na https://www.nxp.com/profile/podmienky, ak nie je v platnej písomnej individuálnej dohode dohodnuté inak. V prípade uzatvorenia individuálnej zmluvy platia len podmienky príslušnej zmluvy. Spoločnosť NXP Semiconductors týmto výslovne nesúhlasí s uplatňovaním všeobecných obchodných podmienok zákazníka v súvislosti s nákupom produktov NXP Semiconductors zákazníkom.
  • Kontrola exportu — Tento dokument, ako aj položky v ňom opísané môžu podliehať nariadeniam o kontrole vývozu. Vývoz môže vyžadovať predchádzajúce povolenie od príslušných orgánov.
  • Vhodnosť na použitie vo výrobkoch nekvalifikovaných pre automobilový priemysel — Pokiaľ tento dokument výslovne neuvádza, že tento konkrétny produkt NXP Semiconductors je kvalifikovaný pre automobilový priemysel, tento produkt nie je vhodný na použitie v automobiloch. Nie je kvalifikovaný ani testovaný v súlade s požiadavkami automobilového testovania alebo aplikácie. Spoločnosť NXP Semiconductors nenesie žiadnu zodpovednosť za zahrnutie a/alebo používanie produktov, ktoré nie sú určené pre automobilový priemysel, do automobilových zariadení alebo aplikácií.
    V prípade, že zákazník použije produkt na navrhovanie a použitie v automobilových aplikáciách podľa špecifikácií a noriem pre automobilový priemysel, zákazník (a) použije produkt bez záruky NXP Semiconductors na produkt pre takéto automobilové aplikácie, použitie a špecifikácie a ( b) vždy, keď zákazník použije produkt na automobilové aplikácie nad rámec špecifikácií NXP Semiconductors, takéto použitie bude výhradne na vlastné riziko zákazníka a (c) zákazník plne odškodní NXP Semiconductors za akúkoľvek zodpovednosť, škody alebo neúspešné reklamácie produktu vyplývajúce z návrhu a používania zákazníkom. produkt pre automobilové aplikácie nad rámec štandardnej záruky NXP Semiconductors a špecifikácií produktu NXP Semiconductors.
  • Preklady — Neanglická (preložená) verzia dokumentu vrátane právnych informácií v tomto dokumente slúži len ako referencia. V prípade akýchkoľvek nezrovnalostí medzi preloženou a anglickou verziou má prednosť anglická verzia.
  • Bezpečnosť — Zákazník berie na vedomie, že všetky produkty NXP môžu podliehať neidentifikovaným zraniteľnostiam alebo môžu podporovať zavedené bezpečnostné štandardy alebo špecifikácie so známymi obmedzeniami. Zákazník je zodpovedný za návrh a prevádzku svojich aplikácií a produktov počas ich životného cyklu, aby sa znížil vplyv týchto zraniteľností na aplikácie a produkty zákazníka. Zodpovednosť zákazníka sa vzťahuje aj na ďalšie otvorené a/alebo proprietárne technológie podporované produktmi NXP na použitie v aplikáciách zákazníka. NXP nenesie žiadnu zodpovednosť za akúkoľvek zraniteľnosť. Zákazník by mal pravidelne kontrolovať bezpečnostné aktualizácie z NXP a primerane ich sledovať. Zákazník si vyberie produkty s bezpečnostnými prvkami, ktoré najlepšie spĺňajú pravidlá, predpisy a normy zamýšľanej aplikácie a urobí konečné rozhodnutia o dizajne svojich produktov a je výlučne zodpovedný za súlad so všetkými právnymi, regulačnými a bezpečnostnými požiadavkami týkajúcimi sa jeho produktov, bez ohľadu na akýchkoľvek informácií alebo podpory, ktoré môže NXP poskytnúť.

NXP má tím pre reakciu na bezpečnostné incidenty produktov (PSIRT) (dostupný na adrese PSIRT@nxp.com), ktorý riadi vyšetrovanie, nahlasovanie a uvoľňovanie riešení pre bezpečnostné slabiny produktov NXP.
NXP BV — NXP BV nie je prevádzkovou spoločnosťou a nedistribuuje ani nepredáva produkty.

Ochranné známky
Všimnite si: Všetky uvedené značky, názvy produktov, názvy služieb a ochranné známky sú vlastníctvom ich príslušných vlastníkov.

NXP — slovo a logo sú ochranné známky spoločnosti 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 — sú ochranné známky a/alebo registrované ochranné známky spoločnosti Arm Limited (alebo jej dcérskych spoločností alebo pridružených spoločností) v USA a/alebo inde. Súvisiaca technológia môže byť chránená niektorým alebo všetkými patentmi, autorskými právami, dizajnmi a obchodnými tajomstvami. Všetky práva vyhradené.

  • i.MX — je ochranná známka spoločnosti NXP BV
  • J-Link — je ochranná známka spoločnosti SEGGER Microcontroller GmbH.

Microsoft, Azure a ThreadX – sú ochranné známky skupiny spoločností Microsoft.

Prosím, uvedomte si, že dôležité upozornenia týkajúce sa tohto dokumentu a tu popísaných produktov boli zahrnuté v časti „Právne informácie“.

© 2024 NXP BV
Ďalšie informácie nájdete na stránke: https://www.nxp.com

  • Dátum vydania: 19. apríla 2024
  • Identifikátor dokumentu: AN14263

FAQ

Otázka: Aký je hlavný účel tohto produktu?
Odpoveď: Hlavným účelom je umožniť funkciu rozpoznávania tváre pomocou modelu algoritmu videnia AI&ML s jednoduchým LVGL GUI example na doske SLN-TLHMI-IOT.

Otázka: Ako môžu vývojári využiť túto poznámku k aplikácii?
Odpoveď: Vývojári sa môžu naučiť, ako implementovať rozpoznávanie tváre do rámca krok za krokom pomocou poskytnutého príkladuampa porozumieť príslušným manažérom zariadení, zariadeniam HAL a mechanizmom udalostí.

Dokumenty / zdroje

NXP AN14263 Implementujte rozpoznávanie tváre LVGL GUI na Framewor [pdf] Používateľská príručka
AN14263 Implementujte rozpoznávanie tváre LVGL GUI na Framewor, AN14263, Implementujte LVGL GUI rozpoznávanie tváre na Framewor, LVGL GUI rozpoznávanie tváre na Framewor, Rozpoznávanie tváre na Framewor, Rozpoznávanie na Framewor, Framewor

Referencie

Zanechajte komentár

Vaša emailová adresa nebude zverejnená. Povinné polia sú označené *