NXP AN14263 Innleiða LVGL GUI andlitsþekkingu á Framewor
Upplýsingar um vöru
Tæknilýsing
- Vöruheiti: LVGL GUI andlitsþekking á ramma
- Endurskoðun skjala: 1. – 19. apríl 2024
- Leitarorð: Andlitsgreining, LVGL GUI, Framework
Notkunarleiðbeiningar fyrir vöru
- Yfirview
Þessi vara gerir AI&ML sjón reiknirit líkan fyrir andlitsþekkingu á ramma til að innleiða andlitsþekkingaraðgerð með einföldu LVGL GUI example á SLN-TLHMI-IOT borðinu. - Rammi lokiðview
Lausnahugbúnaðurinn er hannaður í kringum rammaarkitektúrinn sem felur í sér tækjastjóra sem bera ábyrgð á stjórnun tækja, HAL tækjum til að draga saman undirliggjandi upplýsingar og atburði fyrir samskipti milli mismunandi tækja. - Eiginleikar
Varan gerir ráð fyrir innleiðingu andlitsgreiningaraðgerðar í gegnum myndavélview á GUI skjánum með hnöppum til að kveikja á andlitsskráningu, auðkenningu og fjarlægingu. Skráð andlitsgögn eru geymd á Flash í gegnum a file kerfi. - Innihald umsóknarathugasemda
Umsóknarskýringin sýnir LVGL GUI skjá með myndavélview og hnappar fyrir andlitstengdar aðgerðir. Það hjálpar forriturum að skilja umgjörðina og hvernig á að innleiða andlitsþekkingu með því að nota tdample.
Yfirview
NXP hefur sett á markað lausnaþróunarsett sem heitir SLN-TLHMI-IOT sem einbeitir sér að snjöllum HMI forritum. Það gerir snjallt HMI með ML sjón-, radd- og grafíkviðmóti útfært á einum NXP i.MX RT117H MCU. Byggt á SDK, lausnarhugbúnaðurinn er smíðaður á hönnun sem kallast ramma sem styður sveigjanlega hönnun og sérsniðna sjón og raddaðgerðir. Til að hjálpa notendum að nota hugbúnaðarvettvanginn betur eru nokkur grunnskjöl veitt, tdample, notendahandbók hugbúnaðarþróunar. Handbókin kynnir grunnhugbúnaðarhönnun og arkitektúr forritanna sem nær yfir alla íhluti lausnarinnar, þar með talið ramma til að hjálpa hönnuðum á auðveldari og skilvirkari hátt að innleiða forrit sín með því að nota SLN-TLHMI-IOT.
Fyrir frekari upplýsingar um lausnina og viðeigandi skjöl, heimsækja web síðu NXP EdgeReady Smart HMI lausnarinnar Byggt á i.MX RT117H með ML Vision, Voice og grafísku viðmóti. Hins vegar er enn ekki svo auðvelt fyrir þróunaraðilana að innleiða snjöll HMI forritin sín með vísan til þessara grunnleiðbeininga. Röð umsóknaskýringa er fyrirhuguð til að hjálpa til við að rannsaka þróun rammans skref fyrir skref. Þessi umsóknarskýring er byggð á Implement LVGL GUI Camera Preview um ramma (skjal AN14147). Þessi umsóknarskýring lýsir því hvernig á að virkja AI&ML sjónalgrímslíkanið fyrir andlitsgreiningu á rammanum til að innleiða andlitsþekkingaraðgerðina í gegnum myndavélview á GUI skjánum með einföldu LVGL GUI example á SLN-TLHMI-IOT borðinu. Í umsóknarnótu er fyrrvample kynnir LVGL GUI skjá með formyndavélview og sumir hnappar til að kveikja á andlitsskráningu, viðurkenningu og fjarlægingu. Skráð andlitsgögn eru geymd á Flash í gegnum smá file kerfi.
Á háu stigi inniheldur umsóknarskýringin eftirfarandi innihald:
- Virkjaðu andlitsgreiningareiginleikann á rammanum.
- Bættu við andlitsgagnagrunnsstuðningi við rammann í gegnum file kerfi á Flash.
- Innleiða LVGL GUI appið. Með ofangreindum kynningum hjálpar þetta skjal þróunaraðilum að:
- Skildu rammann og snjall HMI lausnarhugbúnaðinn dýpra.
- Þróaðu AI&ML andlitsþekkingu sína á ramma með LVGL GUI appinu.
Umgjörð lokiðview
Lausnarhugbúnaðurinn er fyrst og fremst hannaður í kringum notkun rammaarkitektúrsins sem er samsettur úr nokkrum mismunandi hlutum:
- Tækjastjórar - kjarnahlutinn
- Vélbúnaðarútdráttarlag (HAL) tæki
- Skilaboð/viðburðir
Eins og sést á mynd 1, yfirview af vélbúnaði rammans er:
Tækjastjórar bera ábyrgð á stjórnun tækja sem kerfið notar. Hver tækjategund (inntak, úttak og svo framvegis) hefur sinn eigin tegundarsértæka tækjastjóra. Þegar tækisstjóri byrjar eftir að tækin eru skráð á hann, bíður hann og athugar skilaboð um að flytja gögn yfir í tækin og aðra stjórnendur eftir að hafa frumstillt og ræst skráð tæki. HAL tækin eru skrifuð ofan á lægri ökumannskóðann, sem hjálpar til við að auka skiljanleika kóðans með því að draga úr mörgum undirliggjandi smáatriðum.
Atburðir eru leið til að miðla upplýsingum milli mismunandi tækja í gegnum stjórnendur þeirra. Þegar atburður er settur af stað sendir tækið sem fyrst fékk atburðinn þann atburð til yfirmanns síns, síðan lætur það aðra stjórnendur sem eru tilnefndir til að taka á móti atburðinum vita.
Byggingarhönnun rammans var miðuð við þrjú meginmarkmið:
- Auðvelt í notkun
- Sveigjanleiki/flytjanleiki
- Frammistaða
Umgjörðin er hönnuð með það að markmiði að flýta tíma til markaðssetningar fyrir sjón og önnur vélanámsforrit. Til að tryggja skjótan tíma á markað er mikilvægt að auðvelt sé að skilja og breyta hugbúnaðinum sjálfum. Með þetta markmið í huga er auðvelt að breyta arkitektúr rammans án þess að vera takmarkandi og án þess að það kosti frammistöðu.
Fyrir frekari upplýsingar um rammann, sjá Smart HMI hugbúnaðarþróun notendahandbók (skjal MCU-SMHMI-SDUG).
Létt og fjölhæft grafíksafn (LVGL)
LVGL (Light and Versatile Graphics Library) er ókeypis og opið grafíksafn sem býður upp á allt sem þú þarft til að búa til innfellt GUI með auðnotuðum grafískum þáttum, fallegum sjónrænum áhrifum og litlum minni.
GUI Guider
GUI Guider er notendavænt grafískt notendaviðmótsþróunarverkfæri frá NXP sem gerir hraða þróun hágæða skjáa með opnum uppspretta LVGL grafíksafninu. Drag-og-sleppa ritstjóri GUI Guider gerir það auðvelt að nota marga eiginleika LVGL eins og græjur, hreyfimyndir og stíla til að búa til GUI með lágmarks eða engri kóðun.
Með því að smella á hnappinn geturðu keyrt forritið þitt í hermt umhverfi eða flutt það út í markverkefni. Auðvelt er að bæta við mynduðum kóða frá GUI Guider við verkefnið þitt, sem flýtir fyrir þróunarferlinu og gerir þér kleift að bæta óaðfinnanlega innbyggðu notendaviðmóti við forritið þitt. GUI Guider er ókeypis í notkun með almennum tilgangi NXP og crossover MCUs og inniheldur innbyggð verkefnissniðmát fyrir nokkra studda vettvang. Til að læra meira um LVGL og GUI þróun á GUI Guider, athugaðu Light and Versatile Graphics Library og GUI Guider.
Þróunarumhverfi
Fyrst skaltu undirbúa og setja upp vélbúnaðar- og hugbúnaðarumhverfið til að innleiða fyrrvample um rammann.
Vélbúnaðarumhverfi
Vélbúnaðarumhverfið er sett upp til að sannreyna fyrrverandiample:
- Snjall HMI þróunarsettið byggt á NXP i.MX RT117H (SLN_TLHMI_IOT settið)
- SEGGER J-Link með 9 pinna Cortex-M millistykki og V7.84a eða nýrri útgáfu af reklum
Hugbúnaðarumhverfi
Hugbúnaðarumhverfið er sett upp til að þróa fyrrverandiample:
- MCUXpresso IDE V11.7.0
- GUI Guider V1.6.1-GA
- lvgl_gui_camera_preview_cm7 – tdample kóðann af seinni umsókn minnismiða sem grunn hugbúnaður þróun. Sjá nánar https://mcuxpresso.nxp.com/appcodehub.
- RT1170 SDK V2.13.0 – sem kóðaforrit fyrir þróunina.
- SLN-TLHMI-IOT hugbúnaður V1.1.2 – snjall HMI frumkóði gefinn út á NXP GitHub geymslunni sem kóðaforrit fyrir þróunina. Fyrir frekari upplýsingar, sjá: GitHub – NXP/mcu-smhmi at v1.1.2
Fyrir frekari upplýsingar um öflun og uppsetningu hugbúnaðarumhverfisins, sjá: Komið í gang með SLN-TLHMI-IOT.
Framtíðarsýn arkitektúr um ramma
Sjónararkitektúrinn á rammanum er sýndur á mynd 2. Sjónalgó HAL (OASIS_HAL) hefur eftirfarandi ferla:
- Gerðu andlitsskráningu og viðurkenningu í gegnum AI&ML sjónalgrímslíkanið eftir að hafa fengið tengda atburði frá úttaks UI HAL. Tilkynna ályktunarniðurstöður úr reikniritlíkani til úttaks UI HAL.
- Fá aðgang að (bæta við, eyða…) gagnagrunni andlitaeiginleika byggt á litlu file kerfi með því að hringja í API FaceDB HAL eftir að hafa fengið tengda atburði frá úttaks UI HAL.
- Biðjið um myndavélarmyndbandsrammann frá myndavélinni HAL þegar þú gerir andlitsskráningu og greiningu.
Innleiða andlitsþekkingu á rammanum
LVGL GUI andlitsþekking tdample (fyrrverandiample er veitt síðar) um ramma er útfært á grundvelli fyrrvample kóðar af Implement LVGL GUI Camera Preview um ramma (skjal AN14147).
Fyrir að sýna andlitsþekkingu í fyrrverandiample, grunnvirkni GUI appsins (sjá aðalskjáinn á mynd 3) er hannaður eins og lýst er hér að neðan:
- GUI appið kveikir á andlitsskráningu eða viðurkenningarviðburði í úttaks UI HAL þegar smellt er á hnappinn Skráning eða viðurkenning. Og úttakið UI HAL tilkynnir atburði þess að bæta notanda við sjón algo HAL eftir að andlitsskráningin hefur heppnast.
- GUI appið kveikir á því að notanda er eytt í úttaks UI HAL þegar smellt er á hnappinn Eyða notanda eftir að andlit notandans er þekkt.
- GUI appið kveikir á því að stöðva vin algo að keyra til úttaks UI HAL þegar smellt er á skjáinn fyrir utan hnappa og myndir.
Undirbúðu hugbúnaðarpakkann fyrir innleiðingu fyrrvample.
- Klóna grunnhugbúnaðinn lvgl_gui_camera_preview_cm7. Breyttu heiti verkefnisins og aðal fileheiti á lvgl_gui_face_rec_cm7.
- Það þarf að uppfæra rammann í hugbúnaðinum þar sem frumkóðar rammakjarna eru farnir að vera opinberir á GitHub frá útgáfu 1.1.2.
- Skiptu um rammamöppuna fyrir afrit af V1.1.2 frá GitHub að undanskildum files fwk_log.h og fwk_common.h undir inc\ þar sem þeim hefur verið breytt fyrir röð umsóknarathugasemda. Aðgerðirnar eru sýndar á mynd 4:
- Eyddu möppunni framework_cm7 undir libs hópnum og fjarlægðu bókasafn framework_cm7 og leitarslóð þess stillt í Project > Properties > C/C++ Build > Settings > Tool Settings > MCU C++ Linker > Libraries þar sem frumkóði kjarnans er veittur.
Virkjaðu andlitsþekkingareiginleika á ramma
Andlitsþekkingareiginleikinn er byggður á ML sjón reiknirit líkaninu sem veitt er sem kyrrstætt bókasafn – oasis lite keyrslusafn frá NXP. Bókasafnið er pínulítið, mjög skilvirkt, sérsniðið og fínstillt gervigreind bókasafn. Líkanið inniheldur andlitsgreiningu, andlitsgreiningu, glerskynjun og lífleikaskynjun. Það veitir aðallega API OASISLT_run_extended() til að keyra andlitsþekkingarleiðsluna á meðan niðurstöður eru uppfærðar fyrir þann sem hringir með endurhringingum og bæta við/uppfæra/eyða andlitum í gagnagrunninum í gegnum andlitsgagnagrunnsupphringingar eftir að hafa tilgreint upprunarammaupplýsingarnar, svarhringingar og minni laug notað af bókasafninu með því að kalla annað API OASISLT_init() við frumstillingu. Köllun API og svarhringingaraðgerðir eru útfærðar í sýn algo HAL rammans.
Bættu við vision algo líkanasafni
- Afritaðu möppuvin sem inniheldur bókasafnið og tengdan haus file frá snjall HMI\kaffivél\cm7\libs\ inn í möppuna libs á fyrrverandiample SW.
- Bættu við leitarslóð haussins file í Project > Properties > C/C++ Build > Settings > Tool Settings > MCU C þýðanda > Inniheldur og MCU C++ þýðanda > Inniheldur: „${workspace_loc:/${ProjName}/libs/oasis/include}“
- Bættu við lib og leitarslóð þess á Project > Properties > C/C++ Build > Settings > MCU C+ + Linker > Libraries: liboasis_lite2D_DEFAULT_117f_ae.a „${workspace_loc:/${ProjName}/libs/oasis}“ og fjölvaskilgreiningunni til að virkjaðu eiginleikann á Verkefni > Eiginleikar > C/C++ smíði > stillingar > Verkfærastillingar > MCU C þýðanda > Forvinnslu og MCU C++ þýðanda > Forvinnslu: SMART_TLHMI_2D
Virkja sjón algo HAL
Vision algo HAL keyrir vision algo líkanið til starfa og svarar niðurstöðunum við HAL úttak HAL eftir að hafa fengið atburðina frá því.
Til að virkja það, klónaðu svipaðan HAL rekil sem var til file þar sem eftirfarandi aðgerðir eru útfærðar:
- Innleiða afturköllun andlitsgagnagrunnsaðgerða og meðhöndlun viðburða.
- Keyrðu sjónina algo til starfa með því að hringja í API á oasis bókasafninu.
- Fáðu aðgang að andlitsgagnagrunni notenda og gagnagrunni forrita (það er ekki þörf í tdample).
- Fáðu viðburði frá og sendu niðurstöður til úttaks UI HAL.
Helstu vinnur við að innleiða HAL fyrir fyrrverandiampþau eru:
- Klónaðu svipaðan HAL rekil sem var til file og breyta tengdum nöfnum.
- Fjarlægðu kóðana sem tengjast gagnaaðgerðum forritsins.
- Uppfærðu skilgreiningar og aðgerðir til að meðhöndla atburðina frá úttaks UI HAL samkvæmt tdamphönnun.
- Bættu við stillingum sem krafist er í oasis frumstillingu.
Nákvæm skref eru eins og hér að neðan:
- Klóna hal_vision_algo_oasis_kaffivél.c. Breyttu fileheiti á hal_vision_algo_oasis_guifacerec.c. Og skiptu öllum strengjum CoffeeMachine út fyrir GUIFaceRec í file.
- Fjarlægðu kóðana sem innihalda strenginn coffeedb (ekki hástafaviðkvæmur) sem tengist forritagagnagrunninum, til dæmisample, #include hal_sln_coffeedb.h.
- Breyttu fallinu HAL_VisionAlgoDev_OasisGUIFaceRec_InputNotify() til að meðhöndla atburðina úr úttaks UI HAL.
- Breyttu viðburðaskilgreiningunni kEventFaceRecId_RegisterCoffeeSelection í kEventFaceRecId_RegisterUserFace og uppbyggingarstrengnum regCoffeeSelection í regGUIFaceRec fyrir atburðameðferðina til að bæta nýjum andlitseinkennisgögnum við gagnagrunninn.
- Til að sýna staðlað ferli andlitsgreiningaraðgerða í fyrrverandiample, breyttu meðhöndluninni þegar um kEventFaceRecID_OasisSetState er að ræða með skilgreiningum ríkjanna:
- kOASISLiteState
- Skráning kOASISLiteState
- Viðurkenning kOASISLiteState
- Hætt
- Bættu við og breyttu skilgreiningum atburðanna sem nefndir eru í skrefinu hér að ofan.
- Afritaðu hausinn file smart_tlhmi_event_descriptor.h frá smart HMI\kaffivél \cm7\source\event_handlers\ inn í möppuuppsprettu fyrrverandiample SW. Uppfærðu file eins og hér að neðan:
- Breyttu atburðaskilgreiningunni kEventFaceRecId_RegisterCoffeeSelection í kEventFaceRecId_RegisterUserFace í enum gerðinni _event_smart_tlhmi_id og uppbyggingarstrengnum regCoffeeSelection í regGUIFaceRec í struct _event_smart_tlhmi. Svo, breyttu struct register_coffee_selection_event_t fyrir regCoffeeSelection í register_gui_facerec_event_t.
- Eyddu öðru innihaldi sem notað er fyrir kaffivélaappið, tdample, kóðalínan um rödd: #include “hal_event_descriptor_voice.h”.
- Bættu tegundunum kOASISLiteState_Stopped og kOASISLiteState_Running við enum tegundina oasis_lite_state_t í hal_vision_algo.h undir framework>hal>vision í verkefninu eins og hér að neðan:
typedef enum _oasis_lite_state {- kOASISLiteState
- Í gangi, kOASISLiteState
- Hætt, kOASISLiteState
- Viðurkenning,
- kOASISLiteState
- Skráning, kOASISLiteState
- Afskráning, kOASISLiteState
- Fjarskráning, kOASISLiteState
- Telja
- Notaðu ofangreinda uppfærða struct oasis_lite_state_t til að betrumbæta struct oasis_state_event_t í hal_event_descriptor_face_rec.h undir framework>hal>vision í verkefninu eins og hér að neðan: typedef struct _oasis_state_event_t { oasis_lite_state_t state; } oasis_state_event_t;
- Breyttu öllum kEventInfo_Remote í kEventInfo_Local til að senda atburði úr sjónalgó HAL til annarra HAL sem keyra á sama kjarna og einn kjarna í stað þess að tvíkjarna er notað í fyrrverandiample.
- Bættu við og breyttu neðangreindum stillingum fyrir oasis frumstillingu í OASISLT_init():
- Bættu við fjölvaskilgreiningum og minnishlutum fyrir myndbandsrammann í board_define.h: #define OASIS_RGB_FRAME_WIDTH 800
- #skilgreina 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) \
- __eiginleiki__((hluti(“.bss.$fb_sh_mem,\”aw\”,%nobits @”))) var
- __eigind__((aligned(alignbytes)))
- Stilltu minnisúthlutunina á minnishlutann hér að ofan fb_sh_mem á Project > Properties > C/C++ Build > MCU Settings sýndar á mynd 5:
- Lýstu alþjóðlegu breytunni g_DTCOPBuf í lvgl_gui_face_rec_cm7.cpp: AT_NONCACHEABLE_SECTION_ALIGN_DTC (uint8_t g_DTCOPBuf[DTC_OPTIMIZE_BUFFER_SIZE], 4);
- Haltu áfram að bæta við skilgreiningunum sem notaðar eru í ofangreindri breytu:
- Skilgreindu hlutann hér að ofan í board_define.h:
- #define AT_NONCACHEABLE_SECTION_ALIGN_DTC(var, alignbytes) \
- eiginleiki__((hluti(“.bss.$SRAM_DTC_cm7,\”aw\”,%nobits @”))) var
- eiginleiki__((aligned(alignbytes)))
- Láttu hausinn fylgja með file hal_vision_algo.h sem inniheldur fjölvaskilgreininguna DTC_OPTIMIZE_BUFFER_SIZE í app_config.h innifalinn í lvgl_gui_face_rec_cm7.cpp.
- Bættu við fjölvaskilgreiningum og minnishlutum fyrir myndbandsrammann í board_define.h: #define OASIS_RGB_FRAME_WIDTH 800
- Stilltu breytuna s_debugOption á satt til að sýna framvindustöðu á andlitsgreiningu.
- Bættu við leitarslóð haussins files af framtíðarsýn HAL á verkefni > Eiginleikar >C/C++ Smíða > stillingar > Verkfærastillingar > MCU C þýðanda > Inniheldur og MCU C++ þýðanda > Inniheldur: „${workspace_loc:/${ProjName}/framework/hal/vision}“
- Bættu við skilgreiningunni hér að neðan til að virkja vision algo HAL í board_define.h: #define ENABLE_VISIONALGO_DEV_Oasis_GUIFaceRec
Virkja úttak UI HAL
Úttak UI HAL tilkynnir atburðina til sjón algo HAL og bregst við ályktunarniðurstöðum frá sjón algo HAL. Með GUI appinu eru atburðir almennt settir af stað af appinu og niðurstöðurnar eru sýndar í appinu.
Til að virkja það, klónaðu svipaðan HAL rekil sem var til file þar sem almennt eru eftirfarandi aðgerðir útfærðar:
- Láttu atburðina vita fyrir andlitsþekkingu og aðgang að gagnagrunni.
- Innleiða svarhringingar fyrir GUI appið til að koma atburðunum af stað.
- Meðhöndla ályktunarniðurstöður úr vision algo einingunni.
- Sýndu ferlið og niðurstöður atburða meðhöndlunar í notendaviðmótinu með framvindustikunni sem stjórnað er með tímamælum og rétthyrningi andlitsleiðsögumanna.
Helstu vinnur við að innleiða HAL fyrir fyrrverandiampþau sem notuð eru í þessu skjali eru:
- Klónaðu svipaðan HAL rekil sem var til file og breyta tengdum nöfnum.
- Fjarlægðu kóðana sem tengjast appinu.
- Uppfærðu aðgerðirnar fyrir tilkynninguna um atburði og niðurstöður svar samkvæmt tdamphönnun.
- Bættu við svarhringingum fyrir GUI appið til að koma atburðunum af stað.
Nákvæm skref eru eins og hér að neðan:
- Klóna hal_output_ui_coffee_machine.c. Breyttu fileheiti á hal_ output_ui_guifacerec.c.
- Skiptu um alla strengi CoffeeMachine með GUIFaceRec í file.
- Fjarlægðu kóðana sem tengjast appinu – kaffivél.
- Fjarlægðu aðgerðirnar WakeUp() og _StandBy() og tengda kóða (getur leitað í strengnum wake_up og standby fyrir þá).
- Fjarlægðu forview ham atburðir meðhöndla tengda kóða í HAL_OutputDev_UiGUIFaceRec_Input Notify().
- Fjarlægðu aðgerðirnar UI_xxx_Callback() og kóðana sem innihalda strenginn gui_ og skjá sem tengist GUI kaffivélarinnar nema gui_set_virtual_face() fyrir preview ham eiginleiki.
- Fjarlægðu alla kóða sem tengjast breytunum s_IsWaitingAnotherSelection og s_IsWaitingRegisterSelection sem tengjast kaffivélaforritinu.
- Fjarlægðu kóðana sem tengjast rödd, hljóði og tungumáli. Til dæmisample:
- #include “hal_voice_algo_asr_local.h”,
- #include „hal_event_descriptor_voice.h“
- Fyrir hinar ýmsu viðburðatilkynningar skaltu innleiða nýju aðgerðirnar _OutputManagerNotify(), _SetFaceRec(), _RegisterGUIFaceRec() og DeregisterGUIFaceRec() sem vísa til aðgerðanna _StopFaceRec(), _RegisterCoffeeSelection(), og AfregisterCoffeeSelection() áður en þú eyðir þeim.
- _OutputManagerNotify() útfærir grunnatburðarúttaksaðgerðina til að senda atburði til sýn algo HAL. Aðgerðirnar hér að neðan kalla það að senda sína eigin viðburði.
- _SetFaceRec() sendir atburðinn kEventFaceRecID_OasisSetState til að kveikja á sjónalgóinu fyrir andlitsskráningu, viðurkenningu og stöðva algóið.
- _RegisterGUIFaceRec() sendir atburðinn kEventFaceRecId_RegisterGUIFaceRec sem er skilgreindur í smart_tlhmi_event_descriptor.h til að bæta andlitseinkennisgögnum við gagnagrunninn þegar skráningin er í lagi.
- DeregisterGUIFaceRec() sendir atburðinn kEventFaceRecID_DelUser til að eyða andlitseinkennum gögnum úr gagnagrunninum þegar andlitsþekkingin stendur yfir.
- Uppfærðu kóðana til að grípa til samsvarandi aðgerða, þar á meðal endurnýja GUI með því að kalla á API frá LVGL GUI appinu til að álykta niðurstöður andlitsskráningar og viðurkenningar í fallinu _InferComplete_Vision() samkvæmt fyrrverandiamphönnun le. Til dæmisample, þegar andlitsskráning heppnast,
- Hættu að sýna framvinduna með því að hringja í _FaceRecProcess_Stop();
- Stöðvaðu andlitsskráninguna með því að hringja í _SetFaceRec(kOASISLiteState_Stopped);
- Sýndu árangursríka niðurstöðu á GUI: gui_show_face_rec_result(kFaceRecResult_OK, s_UserId);
- Skráðu andlitsgögnin í gagnagrunninn: _RegisterUserFace(s_UserId);
- Bættu við svarhringingaraðgerðum við HÍ til að takast á við atburðina: preview, andlitsskráning, auðkenningu og eyðingu notanda sem kveikt er á úr GUI. Til dæmisample, andlitsskráningarhringingin: ógilt UI_Registration_Callback(){ _SetFaceRec(kOASISLiteState_Registration); _FaceRecProcess_Start(); }
- Og bættu við aðgerðunum _FaceRecProcess_Start() og _FaceRecProcess_Stop() til að sýna framfarir og stöðu í mismunandi atburðum og niðurstöðum.
- Uppfærðu tímamælis ISR svarhringingaraðgerðina _SessionTimer_Callback() til að takast á við tilfelli tímafrests með því að kalla: gui_show_face_rec_result(kFaceRecResult_TimeOut, s_UserId);
- Bættu við skilgreiningunum hér að neðan til að virkja UI úttak HAL í board_define.h: #define ENABLE_OUTPUT_DEV_UiGUIFaceRec
Tilkynning:
Til að kynna andlitsþekkingareiginleikann betur skaltu halda aðgerðinni til að sýna ferli og niðurstöður andlitsgreiningar í úttaks UI HAL. Aðgerðinni er lýst eins og hér að neðan
- Rétthyrningur andlitsleiðarvísisins sýnir blátt og framvindustikan sýnir framvinduna þegar byrjað er á andlitsskráningu eða greiningu.
- Rétthyrningur andlitsstýringar sýnir rautt þegar andlitsskráning hefur tekist.
- Rétthyrningur andlitsstýringar sýnir grænt þegar andlitsþekking tekst.
- Rétthyrningur andlitsstýringar heldur bláum og framvindustikan sýnir fulla framvindu þegar aðgerðin er misheppnuð eftir að tímamælirinn rennur út. Á þeim tímapunkti skaltu stöðva andlitsskráningu eða viðurkenningu.
Framvindustikan og rétthyrningur andlitsleiðarvísisins eru sýndir sem táknin sem eru innbyggð í tvíundarskrá tilfangsins file til að forrita í Flash. Bendarnir á tákngögnin á SDRAM eru settar upp í aðgerðinni LoadIcons(APP_ICONS_BASE) sem kallað er á frumstillingu HAL tækisins í úttaks UI HAL. Það verður að innleiða táknstuðning fyrir aðgerðina.
Innleiða táknstuðninginn
- Búðu til auðlindina með því að sameina táknin með myndunum sem notaðar eru í LVGL GUI appinu:
- Klónaðu fjögurra táknahausinn files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h og virtual_face_red_420x426.h frá snjall HMI
\kaffivél\tilföng\tákn\ í nýju möpputáknin undir auðlindamöppunni í tdample SW. - Bættu við leitarslóðinni fyrir táknið fjögur files í camera_preview_tilföng.txt file í auðlindamöppunni, til dæmisample: tákn ../resource/icons/process_bar_240x14.h
- Keyra camera_preview_resource_build.bat til að búa til myndirnar og táknmyndirnar til að búa til ruslið file camera_preview_resource.bin og upplýsingarnar file resource_information_table.txt (Sjá mynd 6).
- Klónaðu fjögurra táknahausinn files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h og virtual_face_red_420x426.h frá snjall HMI
- Skilgreindu upphafsfangið á SDRAM og stærð táknanna í app_config.h. Heimilisfangið byrjar við hlið myndanna af GUI appinu. Stærðin er mynduð í upplýsingum file. #define APP_ICONS_BASE (APP_RES_SHMEM_BASE + APP_LVGL_IMGS_SIZE) #define APP_ICONS_SIZE 0x107c40
- Uppfærðu úthlutaða stærð minnishluta sem heitir res_sh_mem í 0x200000 með því að endurskilgreina hann í app_config.h: #define RES_SHMEM_TOTAL_SIZE 0x200000 og samsvarandi stillingu í Project > Properties > C/C++ Build > MCU stillingar.
- Bættu táknstærðinni við heildarstærð auðlindarinnar sem er hlaðið úr Flash í SDRAM í aðgerðinni APP_LoadResource() í aðalhlutverkinu file lvgl_gui_face_rec_cm7.cpp: memcpy((void *)APP_LVGL_IMGS_BASE, pLvglImages, APP_LVGL_IMGS_SIZE + APP_ICONS_SIZE);
Takið eftir: Til að fullkomna andlitsþekkingareiginleikann er þörf á stuðningi við LVGL GUI appið. HÍ endurhringingaraðgerðirnar í úttaks UI HAL eru kallaðar af LVGL GUI appinu til að meðhöndla atburðina frá UI skjánum. Á hinn bóginn kallar úttaksviðmótið HAL API frá LVGL GUI appinu til að uppfæra notendaviðmótið til að sýna niðurstöðuna og stöðuna. Þróun LVGL GUI appsins er tiltölulega sjálfstæð og kynnt í kafla 4.3.
4.1.5 Ræstu HAL tæki og stjórnendur fyrir andlitsgreiningu
Virkja sjón algo HAL og UI framleiðsla HAL og stjórnendur þeirra eru ræstir í aðalatriðum file
lvgl_gui_face_rec_cm7.cpp eftir breytingar á þróun á ramma eins og hér að neðan:
- Láttu hausinn fylgja með file tengjast HAL stjórnendum tveimur með því að bæta við kóðalínunni:
- #include " fwk_output_manager.h "
- #include "fwk_vision_algo_manager.h"
- Lýstu HAL tækjunum:
- HAL_VALGO_DEV_DECLARE(OasisGUIFaceRec);
- HAL_OUTPUT_DEV_DECLARE(UiGUIFaceRec);
- Skráðu HAL tækin:
- HAL_VALGO_DEV_REGISTER(OasisGUIFaceRec, ret);
- HAL_OUTPUT_DEV_REGISTER(UiGUIFaceRec, ret);
- Frumstilla stjórnendur:
- FWK_MANAGER_INIT(VisionAlgoManager, ret);
- FWK_MANAGER_INIT(OutputManager, ret);
- Byrjaðu stjórnendur:
- FWK_MANAGER_START(VisionAlgoManager, VISION_ALGO_MANAGER_TASK_PRIORITY, aftur);
- FWK_MANAGER_START(OutputManager, OUTPUT_MANAGER_TASK_PRIORITY, ret);
- Skilgreindu forgang stjórnendaverkefna:
- #skilgreina VISION_ALGO_MANAGER_TASK_PRIORITY 3
- #skilgreina OUTPUT_MANAGER_TASK_PRIORITY 1
Bættu við andlitsgagnagrunnsstuðningi við ramma
Hægt er að nálgast skráð andlitsgögn í andlitsgagnagrunninum sem er geymd á Flash í gegnum smá file kerfi. Skrefunum til að bæta við andlitsgagnagrunnsstuðningi er lýst hér að neðan.
Bættu við reklum fyrir Flash geymslu
Afritaðu Flash tengi FlexSPI bílstjórinn files fsl_flexspi.c og fsl_flexspi.h, og gagnadulkóðunardrifinn files fsl_caam.c og fsl_caam.h frá slóðinni SDK_2_13_0_MIMXRT1170-EVK\devices \MIMRX1176\drivers\ í drivers möppuna í fyrrverandiample SW.
Bættu við stuðningi á borði
- Bættu við skilgreiningum á FlexSPI sem notuð er fyrir Flash tækið um borð í board.h:
- #skilgreina BOARD_FLEXSPI FLEXSPI1
- #skilgreina BOARD_FLEXSPI_CLOCK kCLOCK_FlexSpi1
- #skilgreina BOARD_FLEXSPI_AMBA_BASE FlexSPI1_AMBA_BASE
- Afritaðu rekstraraðila og stillingar files af Flash tækinu flexspi_nor_flash_ops.c, flexspi_nor_flash_ops.h, sln_flash_config.c, sln_flash_config_w25q256jvs.h, ogsln_flash_ops.h undir slóðinni smart HMI_7\coffee_source\fcm möppunni á example SW.
- Taktu hakið úr „útiloka auðlind frá smíði“ í C/C++ Build > Stillingar eftir að hafa hægrismellt á fileNafn s og opnun Eiginleika til að gera þeim kleift að vera innbyggðir í verkefnið.
- Breyttu meðfylgjandi haus filenefndu sln_flash_config.h í sln_flash_config_w25q256jvs.h í sln_flash_config.c og flexspi_nor_flash_ops.h.
- Stilltu FlexSPI1 klukkugjafann í file clock_config.c sem vísar til kaffivélaforritsins.
Bættu við millistykki og miðstigi stuðningi
- Afritaðu files sln_flash.c, sln_flash.h, sln_encrypt.c og sln_encrypt.h sem millistykki rekla fyrir file kerfi og app frá slóð snjall HMI\kaffivél\cm7\source\ til möppuuppsprettu fyrrverandiample. Uppfærðu nýja files:
- Taktu hakið úr „útiloka auðlind frá smíði“ á þeim til að byggja.
- Breyttu öllum meðfylgjandi haus file nefndu sln_flash_config.h í sln_flash_config_w25q256jvs.h.
- Afritaðu möppuna filekerfi sem inniheldur API fyrir litlu filekerfi og HAL bílstjóri frá snjall HMI \kaffivél\cm7\source\ til fyrrverandiample SW. Og uppfærsla fyrir nýju möppuna:
- Taktu hakið úr „útiloka auðlind frá byggingu“ á því til að byggja.
- Bættu við slóðinni fyrir það í verkefnastillingum: „${workspace_loc:/${ProjName}/filekerfi}“
- Breyttu meðfylgjandi haus file nefndu sln_flash_config.h í sln_flash_config_w25q256jvs.h og fica_definition.h í app_config.h í file sln_flash_littlefs.h.
- Afritaðu möppuna littlefs sem inniheldur miðvarann - lítið filekerfi frá slóð SDK_2_13_0_ MIMXRT1170-EVK\middleware\ til fyrrverandiample SW. Og uppfærðu nýju möppuna:
- Taktu hakið úr „útiloka auðlind frá byggingu“ á því til að byggja.
- Bættu við slóðinni fyrir það í verkefnastillingum: „${workspace_loc:/${ProjName}/littlefs}“
Bættu við HAL reklum
- Það eru tvö HAL tæki - file kerfis- og andlitsgagnagrunnur HAL studdur fyrir gagnagrunnsaðgangseiginleikann og þeir eru nú þegar innleiddir í rammanum án nokkurra breytinga. Virkjaðu þau með því að bæta við skilgreiningunum hér að neðan í board_define.h:
- #define ENABLE_FLASH_DEV_Littlefs
- #skilgreina ENABLE_FACEDB
Og breyttu nafni andlitsgagnagrunnsins fyrir fyrrverandiample: #define OASIS_FACE_DB_DIR „oasis_gui_face_rec“
Bættu við stuðningi á app-stigi
- Uppfærðu aðalatriðið file lvgl_gui_face_rec_cm7.cpp:
- Láttu hausinn fylgja með file tengt Flash file kerfis HAL stjórnandi með því að bæta við kóðalínunni: #include “fwk_flash.h”
- Lýsa og skrá sig file kerfi HAL tæki:
- HAL_FLASH_DEV_DECLARE(Littlefs);
- HAL_FLASH_DEV_REGISTER(Littlefs, ret);
Athugið: The file kerfi HAL tæki verður að vera skráð áður en allir tækjastjórar eru frumstilltir í aðgerðinni APP_InitFramework().
- Kallaðu aðgerðina BOARD_ConfigMPU() í APP_BoardInit() til að stilla MPU.
- Stilltu file kerfisúthlutun á Flash í file app_config.h með því að skilgreina fjölviskilgreiningarnar sem notaðar eru í file sln_flash_littlefs.h:
- #skilgreina FICA_IMG_FILE_SYS_ADDR (FLASH_IMG_SIZE + RES_SHMEM_TOTAL_SIZE)
- #skilgreina FICA_FILE_SYS_SIZE (0x280000)
Stillingar
Sumir Flash-tengdir kóðar eru keyrðir á SRAM ITC svæðinu fyrir næga afköst. Afritaðu möppu linkscripts sem innihalda tengistillingar frá slóðinni smart HMI\coffee_machine\cm7\ til fyrrverandiample SW.
Innleiða LVGL GUI app
Þróun LVGL GUI app byggt á ramma kallar API frá úttaks UI HAL og veitir API til að gefa út UI HAL (Sjá kafla 4.1.3 fyrir útfærslu á úttaks UI HAL).
Hins vegar fer nákvæm útfærsla á LVGL GUI appi eftir kröfum og hönnun forritsins. GUI appið í þessu tdample er hannað eins og lýst er í upphafi kafla 4. kafla.
Hér að neðan eru innleiðingarkynningar:
- Sérsniðnu kóðarnir eru útfærðir í custom.c og custom.h sem GUI Guider gefur upp sem tengi milli GUI Guider verkefnisins og innbyggða kerfisverkefnisins.
- Bættu við nýju aðgerðunum sem heita gui_xxx() í custom.c til að ná eftirfarandi aðgerðum:
- Fyrir úttak UI HAL og GUI app til að uppfæra UI.
- Til að GUI app kveiki á atburðum með því að hringja í UI afturhringingaraðgerðir frá úttaks UI HAL.
Til dæmisample, nýja aðgerðin gui_event_face_rec_action() kallar á svarhringingaraðgerðir HÍ til að takast á við einn af atburðum andlitsskráningar, andlitsþekkingar og eyðingar notanda sem kveikt er á úr GUI appinu þegar smellt er á viðkomandi hnapp.
Athugið: Aðgerðin gui_set_virtual_face() kallaði í úttak UI HAL fyrir preview ham þarf að útfæra í custom.c:
- Klóna aðgerð gui_set_virtual_face() frá snjall HMI\kaffivél\cm4\sérsniðin \custom.c.
- Breyttu nafni græjunnar home_img_cameraPreview til screen_img_camera_preview í fallinu.
- Innleiða UI afturhringingaraðgerðirnar með sömu frumgerð á allar þær í úttaks UI HAL undir stjórn fjölvaskilgreiningarinnar #ifndef RT_PLATFORM í custom.c til að vera samhæft GUI Guider verkefninu vegna þess að þessar aðgerðir í úttaks UI HAL eru háðar innbyggður pallur. Í custom.c eru þeir háðir hermirnum á GUI leiðaranum og eru óháðir innbyggða pallinum. Til dæmisample, andlitsskráningarhringingin er útfærð eins og hér að neðan fyrir GUI Guider hermir sem keyrir: #ifndef RT_PLATFORM ógilt UI_Registration_Callback() { gui_hide_del_user_btn(true); s_InAction = ósatt; skila; }
Athugið: Vísa til sömu frumgerð aðgerðarinnar sem kynnt var í skrefi 6 í kafla 4.1.3
Fjölvaskilgreining RT_PLATFORM er stillt á verkstillingar MCUXpresso eins og sýnt er á mynd 7: - Lýstu yfir allar aðgerðir sem heita UI_xxx_Callback() og gui_xxx() í custom.h og bættu custom.h við í smart_tlhmi_event_descriptor.h til að deila GUI API með UI úttak HAL.
- Bættu við nýju aðgerðunum sem heita gui_xxx() í custom.c til að ná eftirfarandi aðgerðum:
- Þróaðu GUI á GUI Guider:
- Klóna möppuna myndavél preview sem inniheldur GUI Guider verkefnishugbúnaðinn í möppunni gui_guider í grunnhugbúnaðarpakkanum lvgl_gui_camera_preview_cm7. Breyttu tengdu nafni camera_preview að face_rec fyrir nýja fyrrverandiample.
- Afritaðu ofangreinda uppfærða custom.c og custom. h í nýja GUI Guider verkefnahugbúnaðinn.
- Opnaðu nýja face_rec verkefnið á GUI Guider. Uppfærðu eins og hér að neðan:
- Bættu við nýja hnappinum sem merktur er Eyða notanda. Bættu fánanum Hidden við það svo að hnappurinn verði falinn þegar GUI appið ræsist.
- Bættu kóðalínunni við að kalla API gui_event_face_rec_action() með mismunandi atburðakenni færibreytu á „Released“ kveikjuna í atburðastillingu allra hnappanna Skráning, Viðurkenning og Eyða notanda til að kveikja á atburðum andlitsskráningar, andlitsþekkingar og eyða notanda. Mynd 8 sýnir kóðann fyrir atburð hnappsins Skráning:
- Uppfærðu kóðann sem myndast úr GUI Guider í MCUXpresso verkefnið.
- Skiptu um innihald fyrir utan möppumyndirnar í möppunni sem mynduð er af MCUXpresso verkefninu SW fyrir samsvarandi í möppunni sem er mynduð af GUI Guider verkefni SW.
Athugið: Fyrir frekari upplýsingar um breytingarnar kynntar hér að ofan, athugaðu tdample hugbúnaður á https://mcuxpresso.nxp.com/appcodehub.
Staðfestingar með fyrrvample verkefnið
Til að sækja fyrrverandiamphugbúnaðarpakkann sem inniheldur úrræði og verkfæri fyrir þessa umsóknarskýrslu, farðu á: https://mcuxpresso.nxp.com/appcodehub. Opnaðu fyrrvampverkefnið á MCUXpresso IDE. Byggja og forrita .axf file á heimilisfangið 0x30000000 og forritaðu tilfangahólkinn file camera_preview_resource.bin á heimilisfangið 0x30800000.
LVGL GUI andlitsþekking tdample virkar venjulega eins og hér að neðan:
- Preview: Þegar kveikt er á straumnum birtast myndbandsstraumarnir sem myndavélin tekur á tilteknu svæði fyrir myndavélinaview á GUI skjánum. Stöðumerkið sýnir „Preview…“. Fyrir frekari upplýsingar, sjá mynd 3. Hnappurinn Eyða notanda er falinn. Þegar smellt er á svæðið fyrir utan hnappana og myndirnar sýnir það forview tilgreinið sem hér að ofan eftir að andlitsskráningu eða viðurkenningaraðgerð lýkur.
- Skráning:
- tartup: Þegar smellt er á hnappinn Skráning hefst andlitsskráningin. Stöðumerkið breytist og sýnir „Skráning…“, rétthyrningur andlitsleiðarvísisins sýnir blátt og framvindustikan byrjar að sýna framvinduna. Gakktu úr skugga um að andlit notandans sjáist í bláa andlitsleiðbeiningarrétthyrningnum fyrir skráningu.
- árangur: Stöðumerkið sýnir „Skráning…OK“ og auðkennisnúmer skráðs notanda, rétthyrningur andlitsleiðarvísisins verður rauður ef andlitsskráningin heppnast áður en framvindan er full á stikunni.
- Bilun -> Tími út: Stöðumerkið sýnir „Registration…Time out“ ef andlitsskráningin er enn misheppnuð þegar framvindan er full á stikunni.
- Bilun -> Fjölföldun: Stöðumerkið sýnir "Skráning ... Mistókst", rétthyrningur andlitsleiðarvísisins verður grænn ef skráð andlit er þekkt áður en framvindan sýnir að fullu á stikunni.
- sjálfsvitund:
- Ræsing: Þegar smellt er á hnappinn viðurkenningu byrjar andlitsgreiningin. Stöðumerkið breytist í „Viðurkenning…“, rétthyrningur andlitsleiðarvísisins sýnir blátt og framvindustikan byrjar að sýna framvinduna. Gakktu úr skugga um að andlit notandans sé sýnt í bláa andlitsleiðbeiningarrétthyrningnum fyrir skráningu.
- árangur: Stöðumerkið sýnir „Recognition…OK“ og viðurkennda notandanúmerið, andlitsleiðarrétthyrningurinn verður grænn ef andlitsþekkingin heppnast áður en framvindan er full á stikunni. Á þeim stað birtist hnappurinn Eyða notanda. Það þýðir að notandanum er aðeins heimilt að eyða þegar hann er þekktur.
- illur: Stöðumerkið sýnir „Recognition…Time out“ ef andlitsgreiningin er enn misheppnuð þegar framvindan er full á stikunni.
- Eyða notanda: Þegar smellt er á hnappinn „Eyða notanda“, eftir að andlitsþekking hefur tekist, breytist stöðumerkið í að sýna „Eyða notanda...Í lagi“ þar sem rétthyrningur andlitsleiðarvísisins verður blár og framvindan sýnir að fullu á stikunni. Hnappurinn Eyða notanda er falinn aftur. Viðurkennda andlitinu/notandanum er eytt úr gagnagrunninum. Það þýðir að ekki er hægt að bera kennsl á þetta andlit/notanda fyrr en hann er skráður aftur.
Athugaðu um frumkóðann í skjalinu
ExampKóðinn sem sýndur er í þessu skjali hefur eftirfarandi höfundarrétt og BSD-3-ákvæði leyfi:
Höfundarréttur 2024 NXP Endurdreifing og notkun á frum- og tvíundarformi, með eða án breytinga, er leyfð að uppfylltum eftirfarandi skilyrðum:
- Endurdreifing frumkóða verður að geyma ofangreinda höfundarréttartilkynningu, þennan lista yfir skilyrði og eftirfarandi fyrirvara.
- Endurdreifingar í tvíundarformi verða að endurskapa ofangreinda höfundarréttartilkynningu, þessi listi yfir skilyrði og eftirfarandi fyrirvari í skjölunum og/eða öðru efni verða að fylgja dreifingunni.
- Hvorki má nota nafn höfundarréttarhafa né nöfn þátttakenda hans til að samþykkja eða kynna vörur sem unnar eru úr þessum hugbúnaði án sérstaks skriflegs leyfis.
ÞESSI HUGBÚNAÐUR ER ÚTVEITUR AF HÖFUNDARRETTAHÖFUM OG SJÁLFUR „EINS OG ER“ OG EINHVER SKÝR EÐA ÓBEININ ÁBYRGÐ, Þ.M.T., EN EKKI TAKMARKAÐ VIÐ, ÓBEINNAR ÁBYRGÐ UM SALANNI OG HÆFNI TIL AÐ HÆTTA SÉR AÐ HÉR. Í ENGUM TILKYNDUM SKAL HÖFUNDARRÉTTHAFIÐ EÐA SEM HÖFENDUR BÆRA ÁBYRGÐ Á EINHVERJUM BEINUM, ÓBEINU, TILVALIÐ, SÉRSTJÓRI, TIL fyrirmyndar EÐA AFLEIDDASKEMÐUM (ÞARM. EÐA HAGNAÐUR EÐA VIÐSKIPTARÖF) HVERNIG SEM ORÐAÐ er OG Á VEGNA KENNINGU UM ÁBYRGÐ, HVORÐ sem það er í samningi, fullri ábyrgð, EÐA skaðabótaábyrgð (ÞAR á meðal gáleysi EÐA ANNAÐ SEM SEM KOMA Á EINHVER HEITI ÚT AF NOTKUNNI, ALLTAF SEM VEGNA SEM ÞAÐ ER AÐ SEM KOMA SÉR AF ÞVÍ. MÖGULEIKUR Á SVONA Tjóni.
Endurskoðunarsaga
Lagalegar upplýsingar
Skilgreiningar
Drög — Uppkastsstaða á skjali gefur til kynna að efnið sé enn undir innri endurskoðunview og háð formlegu samþykki, sem getur leitt til breytinga eða viðbóta. NXP Semiconductors gefur enga yfirlýsingu eða ábyrgð á nákvæmni eða heilleika upplýsinga sem eru í drögum að útgáfu skjals og ber enga ábyrgð á afleiðingum notkunar slíkra upplýsinga.
Fyrirvari
- Takmörkuð ábyrgð og ábyrgð — Talið er að upplýsingar í þessu skjali séu nákvæmar og áreiðanlegar. Hins vegar gefur NXP Semiconductors engar yfirlýsingar eða ábyrgðir, óbein eða óbein, um nákvæmni eða heilleika slíkra upplýsinga og ber enga ábyrgð á afleiðingum notkunar slíkra upplýsinga. NXP Semiconductors tekur enga ábyrgð á innihaldi þessa skjals ef það er veitt af upplýsingaveitu utan NXP Semiconductors.
Í engu tilviki skal NXP Semiconductors vera ábyrgt fyrir neinu óbeinu, tilfallandi, refsi-, sérstöku eða afleiddu tjóni (þar á meðal – án takmarkana – tapaðan hagnað, tapaðan sparnað, rekstrarstöðvun, kostnað sem tengist því að fjarlægja eða skipta um vörur eða endurvinnslugjöld) hvort sem eða ekki eru slíkar skaðabætur byggðar á skaðabótaábyrgð (þar á meðal vanrækslu), ábyrgð, samningsrof eða önnur lagaleg kenning.
Þrátt fyrir tjón sem viðskiptavinur gæti orðið fyrir af hvaða ástæðu sem er, skal samanlögð og uppsöfnuð ábyrgð NXP Semiconductors gagnvart viðskiptavinum á vörum sem lýst er hér takmarkast í samræmi við skilmála og skilyrði fyrir viðskiptasölu NXP Semiconductors. - Réttur til að gera breytingar — NXP Semiconductors áskilur sér rétt til að gera breytingar á upplýsingum sem birtar eru í þessu skjali, þar á meðal án takmarkana forskriftir og vörulýsingar, hvenær sem er og án fyrirvara. Þetta skjal kemur í stað og kemur í stað allra upplýsinga sem veittar voru fyrir birtingu þessa.
- Notkunarhæfni — NXP Semiconductors vörur eru ekki hannaðar, heimilaðar eða ábyrgðar til að vera hentugar til notkunar í lífsnauðsynlegum kerfum eða búnaði sem eru mikilvæg fyrir líf eða öryggi, né í forritum þar sem með sanngirni má búast við að bilun eða bilun í NXP Semiconductors vöru muni leiða til líkamstjón, dauða eða alvarlegt eigna- eða umhverfistjón. NXP Semiconductors og birgjar þess taka enga ábyrgð á innlimun og/eða notkun NXP Semiconductors vara í slíkum búnaði eða forritum og því er slík innlimun og/eða notkun á eigin ábyrgð viðskiptavinarins.
- Umsóknir — Forrit sem lýst er hér fyrir einhverjar af þessum vörum eru eingöngu til sýnis. NXP Semiconductors gefur enga yfirlýsingu eða ábyrgð á því að slík forrit henti tilgreindri notkun án frekari prófana eða breytinga.
Viðskiptavinir bera ábyrgð á hönnun og rekstri forrita sinna og vara með því að nota NXP Semiconductors vörur og NXP Semiconductors tekur enga ábyrgð á neinni aðstoð við forrit eða vöruhönnun viðskiptavina. Það er alfarið á ábyrgð viðskiptavinarins að ákvarða hvort NXP Semiconductors varan henti og henti fyrir forrit og vörur viðskiptavinarins sem fyrirhugaðar eru, sem og fyrir fyrirhugaða notkun og notkun þriðja aðila viðskiptavinar viðskiptavinarins. Viðskiptavinir ættu að veita viðeigandi hönnunar- og rekstrarverndarráðstafanir til að lágmarka áhættuna sem tengist forritum þeirra og vörum. NXP Semiconductors tekur enga ábyrgð sem tengist vanskilum, skemmdum, kostnaði eða vandamálum sem byggjast á veikleika eða vanskilum í forritum eða vörum viðskiptavinarins, eða umsókn eða notkun þriðja aðila viðskiptavinar viðskiptavinarins. Viðskiptavinur er ábyrgur fyrir því að gera allar nauðsynlegar prófanir á forritum og vörum viðskiptavinarins með því að nota NXP Semiconductors vörur til að koma í veg fyrir vanskil á forritunum og vörum eða forritinu eða notkun þriðja aðila viðskiptavinar viðskiptavinarins. NXP tekur enga ábyrgð í þessum efnum. - Skilmálar um sölu í atvinnuskyni — NXP Semiconductors vörur eru seldar með fyrirvara um almenna skilmála og skilyrði um sölu í atvinnuskyni, eins og birtir eru á https://www.nxp.com/profile/skilmálar, nema um annað sé samið í gildum skriflegum einstaklingssamningi. Ef gerður er einstaklingssamningur gilda aðeins skilmálar og skilyrði viðkomandi samnings. NXP Semiconductors mótmælir hér með beinlínis því að beita almennum skilmálum og skilyrðum viðskiptavinarins að því er varðar kaup viðskiptavina á NXP Semiconductors vörum.
- Útflutningseftirlit — Þetta skjal sem og hlutirnir sem lýst er hér kunna að falla undir reglur um útflutningseftirlit. Útflutningur gæti þurft fyrirfram leyfi frá lögbærum yfirvöldum.
- Hentar til notkunar í vörur sem ekki eru hæfar fyrir bíla — Nema þetta skjal kveði sérstaklega á um að þessi tiltekna NXP Semiconductors vara sé hæf fyrir bíla, er varan ekki hentug til notkunar í bíla. Það er hvorki hæft né prófað í samræmi við bílaprófanir eða umsóknarkröfur. NXP Semiconductors tekur enga ábyrgð á innlimun og/eða notkun á vörum sem ekki eru hæfar fyrir bíla í bílabúnaði eða forritum.
Í því tilviki að viðskiptavinur notar vöruna til að innrétta og nota í bílaforskriftir í samræmi við bílaforskriftir og staðla, skal viðskiptavinur (a) nota vöruna án ábyrgðar NXP Semiconductors á vörunni fyrir slíka bílanotkun, notkun og forskriftir, og ( b) hvenær sem viðskiptavinur notar vöruna fyrir bílaframkvæmdir umfram forskrift NXP Semiconductors skal slík notkun eingöngu vera á eigin ábyrgð viðskiptavinarins, og (c) viðskiptavinur skaðar NXP Semiconductors að fullu fyrir alla ábyrgð, skaðabætur eða misheppnaðar vörukröfur sem stafa af hönnun og notkun viðskiptavina á varan fyrir bifreiðanotkun umfram staðlaða ábyrgð NXP Semiconductors og vörulýsingar NXP Semiconductors. - Þýðingar — Útgáfa skjals sem ekki er ensk (þýdd), þar á meðal lagalegar upplýsingar í því skjali, er eingöngu til viðmiðunar. Enska útgáfan skal gilda ef misræmi er á milli þýddu og ensku útgáfunnar.
- Öryggi — Viðskiptavinur skilur að allar NXP vörur kunna að vera háðar óþekktum veikleikum eða geta stutt staðfesta öryggisstaðla eða forskriftir með þekktum takmörkunum. Viðskiptavinur er ábyrgur fyrir hönnun og rekstri forrita sinna og vara allan lífsferil þeirra til að draga úr áhrifum þessara veikleika á forritum og vörum viðskiptavinarins. Ábyrgð viðskiptavina nær einnig til annarrar opinnar og/eða sértækni sem styður NXP vörur til notkunar í forritum viðskiptavinarins. NXP tekur enga ábyrgð á neinum varnarleysi. Viðskiptavinur ætti reglulega að athuga öryggisuppfærslur frá NXP og fylgja eftir á viðeigandi hátt. Viðskiptavinur skal velja vörur með öryggiseiginleika sem uppfylla best reglur, reglugerðir og staðla fyrirhugaðrar notkunar og taka fullkomnar hönnunarákvarðanir varðandi vörur sínar og ber einn ábyrgð á því að farið sé að öllum lögum, reglugerðum og öryggistengdum kröfum varðandi vörur hans, óháð því. um allar upplýsingar eða stuðning sem NXP kann að veita.
NXP er með viðbragðsteymi fyrir vöruöryggisatvik (PSIRT) (náanlegt á PSIRT@nxp.com) sem stjórnar rannsókn, skýrslugerð og losun lausna á öryggisveikleikum NXP vara.
NXP B.V. — NXP B.V. er ekki rekstrarfélag og það dreifir ekki eða selur vörur.
Vörumerki
Takið eftir: Öll tilvísuð vörumerki, vöruheiti, þjónustuheiti og vörumerki eru eign viðkomandi eigenda.
NXP — orðmerki og lógó eru vörumerki 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 — eru vörumerki og/eða skráð vörumerki Arm Limited (eða dóttur- eða hlutdeildarfélaga þess) í Bandaríkjunum og/eða annars staðar. Tengda tæknin gæti verið vernduð af einhverju eða öllu af einkaleyfum, höfundarrétti, hönnun og viðskiptaleyndarmálum. Allur réttur áskilinn.
- i.MX — er vörumerki NXP BV
- J-Link — er vörumerki SEGGER Microcontroller GmbH.
Microsoft, Azure og ThreadX — eru vörumerki Microsoft fyrirtækjasamsteypunnar.
Vinsamlegast hafðu í huga að mikilvægar tilkynningar varðandi þetta skjal og vöruna sem lýst er hér hafa verið innifalin í hlutanum „Lagalegar upplýsingar“.
© 2024 NXP BV
Fyrir frekari upplýsingar, vinsamlegast farðu á: https://www.nxp.com
- Útgáfudagur: 19. apríl 2024
- Skjalauðkenni: AN14263
Algengar spurningar
Sp.: Hver er megintilgangur þessarar vöru?
A: Megintilgangurinn er að virkja andlitsþekkingaraðgerð með því að nota AI&ML sjónalgrím líkan með einföldu LVGL GUI ex.ample á SLN-TLHMI-IOT borðinu.
Sp.: Hvernig geta verktaki notið góðs af þessari umsóknarskýrslu?
A: Hönnuðir geta lært hvernig á að innleiða andlitsþekkingu á rammanum skref fyrir skref með því að nota tdampLeið og skilið tækjastjórana, HAL tækin og viðburðakerfin sem taka þátt.
Skjöl / auðlindir
![]() |
NXP AN14263 Innleiða LVGL GUI andlitsþekkingu á Framewor [pdfNotendahandbók AN14263 Innleiða LVGL GUI andlitsþekkingu á Framewor, AN14263, Innleiða LVGL GUI andlitsþekkingu á Framewor, LVGL GUI andlitsþekkingu á Framewor, Andlitsgreiningu á Framewor, Recognition on Framewor, Framewor |