nxp-logo

NXP AN14263 Ipatuman ang LVGL GUI Face Recognition sa Framewor

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

Impormasyon sa Produkto

Mga detalye

  • Ngalan sa Produkto: LVGL GUI Pag-ila sa Nawong sa Framework
  • Pagbag-o sa Dokumento: 1 – 19 Abril 2024
  • Keyword: Pag-ila sa nawong, LVGL GUI, Framework

Mga Instruksyon sa Paggamit sa Produkto

  1. Tapos naview
    Gitugotan sa kini nga produkto ang modelo sa algorithm sa panan-awon sa AI&ML alang sa pag-ila sa nawong sa usa ka balangkas aron ipatuman ang function sa pag-ila sa nawong gamit ang usa ka yano nga LVGL GUI example sa SLN-TLHMI-IOT board.
  2. Natapos ang Frameworkview
    Ang solusyon nga software gidisenyo sa palibot sa framework architecture nga naglakip sa device managers nga responsable sa pagdumala sa mga device, HAL device ngadto sa abstract underlying details, ug mga panghitabo alang sa komunikasyon tali sa lain-laing mga device.
  3. Mga bahin
    Gitugotan sa produkto ang pagpatuman sa function sa pag-ila sa nawong pinaagi sa pre cameraview sa GUI screen nga adunay mga buton aron ma-trigger ang pagrehistro sa nawong, pag-ila, ug pagtangtang. Ang narehistro nga datos sa nawong gitipigan sa Flash pinaagi sa a file sistema.
  4. Content Note sa Aplikasyon
    Ang aplikasyon nga nota nagpresentar sa usa ka LVGL GUI screen uban sa camera preview ug mga buton alang sa mga aksyon nga may kalabotan sa nawong. Nakatabang kini sa mga developer nga masabtan ang balangkas ug kung giunsa ang pagpatuman sa pag-ila sa nawong gamit ang gihatag nga example.

Tapos naview

Ang NXP naglunsad og usa ka solution development kit nga ginganlag SLN-TLHMI-IOT nga nagtutok sa mga smart HMI applications. Gitugotan niini ang maalamon nga HMI nga adunay ML nga panan-awon, tingog, ug mga graphic UI nga gipatuman sa usa ka NXP i.MX RT117H MCU. Pinasukad sa SDK, ang software sa solusyon gitukod sa usa ka disenyo nga gitawag nga balangkas nga nagsuporta sa mga flexible nga laraw ug pag-customize sa panan-aw ug mga function sa tingog. Aron matabangan ang mga tiggamit nga magamit ang platform sa software nga labi ka maayo, gihatag ang pipila nga sukaranan nga mga dokumento, pananglitanample, ang software development user giya. Gipaila sa giya ang batakang disenyo sa software ug arkitektura sa mga aplikasyon nga naglangkob sa tanang sangkap sa solusyon lakip na ang gambalay aron matabangan ang mga developer nga mas sayon ​​ug episyente nga ipatuman ang ilang mga aplikasyon gamit ang SLN-TLHMI-IOT.
Alang sa dugang nga mga detalye bahin sa solusyon ug may kalabutan nga mga dokumento, bisitaha ang web panid sa NXP EdgeReady Smart HMI Solution Base sa i.MX RT117H nga adunay ML Vision, Voice, ug Graphical UI. Bisan pa, dili gihapon kadali alang sa mga nag-develop nga ipatuman ang ilang mga intelihenteng aplikasyon sa HMI nga nagtumong sa kini nga mga sukaranan nga giya. Ang usa ka serye sa mga nota sa aplikasyon giplano aron makatabang sa pagtuon sa pag-uswag sa balangkas nga lakang sa lakang. Kini nga nota sa aplikasyon gibase sa Implement LVGL GUI Camera Preview sa Framework (dokumento AN14147). Kini nga nota sa aplikasyon naghubit kung giunsa paghimo ang modelo sa algorithm sa panan-awon sa AI&ML alang sa pag-ila sa nawong sa balangkas aron ipatuman ang function sa pag-ila sa nawong pinaagi sa pre camera.view sa GUI screen nga adunay yano nga LVGL GUI example sa SLN-TLHMI-IOT board. Sa nota sa aplikasyon, ang example nagpresentar sa usa ka LVGL GUI screen uban sa usa ka camera preview ug pipila ka mga buton aron ma-trigger ang pagrehistro sa nawong, pag-ila, ug pagtangtang. Ang narehistro nga data sa nawong gitipigan sa Flash pinaagi sa gamay file sistema.

Sa taas nga lebel, ang nota sa aplikasyon naglangkob sa mga sulud sa ubos:

  • I-enable ang feature sa pag-ila sa nawong sa framework.
  • Idugang ang suporta sa database sa nawong sa framework pinaagi sa file sistema sa Flash.
  • Ipatuman ang LVGL GUI app. Pinaagi sa mga pasiuna sa ibabaw, kini nga dokumento makatabang sa mga nag-develop sa:
  • Sabta ang gambalay ug ang intelihente nga HMI solution software nga mas lawom.
  • Pagpalambo sa ilang AI&ML nga pag-ila sa nawong sa balangkas gamit ang LVGL GUI app.

Nahuman na ang frameworkview
Ang solusyon nga software nag-una nga gidisenyo sa palibot sa paggamit sa framework architecture nga gilangkuban sa daghang lain-laing mga bahin:

  • Device managers - ang kinauyokan nga bahin
  • Hardware Abstraction Layer (HAL) Devices
  • Mga Mensahe/Mga Hitabo

Ingon sa gipakita sa Figure 1, ang ibabawview sa mekanismo sa gambalay mao ang:

Ang mga manedyer sa aparato mao ang responsable sa pagdumala sa mga aparato nga gigamit sa sistema. Ang matag matang sa device (input, output, ug uban pa) adunay kaugalingong device manager nga espesipiko sa tipo. Uban sa usa ka device manager nga nagsugod human ang mga device nga narehistro niini, kini naghulat ug nagsusi sa usa ka mensahe sa pagbalhin sa data ngadto sa mga device ug sa ubang mga managers human sa pagsugod ug pagsugod sa mga rehistradong mga himan. Ang mga aparato sa HAL gisulat sa ibabaw sa ubos nga lebel sa driver code, nga nagtabang sa pagdugang sa pagkasabut sa code pinaagi sa pag-abstract sa daghang mga nagpahiping mga detalye.

Ang mga panghitabo usa ka paagi diin ang kasayuran gipahibalo tali sa lainlaing mga aparato pinaagi sa ilang mga managers. Kung na-trigger ang usa ka panghitabo, ang aparato nga una nga nakadawat sa panghitabo nagpahibalo sa kana nga panghitabo sa manager niini, dayon gipahibalo niini ang ubang mga managers nga gitudlo aron makadawat sa panghitabo.

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

Ang disenyo sa arkitektura sa gambalay nasentro sa tulo ka nag-unang tumong:

  1. Kasayon-sa-paggamit
  2. Pagka-flexible/Pagdala
  3. Pagpasundayag

Gidisenyo ang balangkas nga adunay katuyoan nga mapadali ang oras sa merkado alang sa panan-awon ug uban pang mga aplikasyon sa pagkat-on sa makina. Aron masiguro ang usa ka paspas nga panahon sa pagpamaligya, hinungdanon nga ang software mismo dali masabtan ug usbon. Sa pagpabilin niini nga tumong sa hunahuna, ang arkitektura sa gambalay sayon ​​nga usbon nga walay higpit, ug dili moabut sa gasto sa performance.
Alang sa dugang nga mga detalye bahin sa balangkas, tan-awa ang Smart HMI Software Development User Guide (dokumento nga MCU-SMHMI-SDUG).

Gaan ug Daghag Gamit nga Graphics Library (LVGL)
Ang LVGL (Light and Versatile Graphics Library) usa ka libre ug open-source nga librarya sa mga graphic nga naghatag sa tanan nimong gikinahanglan aron makahimo og embedded GUI nga adunay dali gamiton nga graphical nga mga elemento, nindot nga visual effects ug ubos nga memory footprint.

Giya sa GUI
Ang GUI Guider usa ka user-friendly nga graphical user interface development tool gikan sa NXP nga makapahimo sa paspas nga pagpalambo sa taas nga kalidad nga mga display gamit ang open-source nga LVGL graphics library. Ang drag-and-drop editor sa GUI Guider nagpasayon ​​sa paggamit sa daghang mga feature sa LVGL sama sa mga widgets, animation, ug mga estilo sa paghimo og GUI nga adunay gamay o walay coding.

Uban sa pag-klik sa usa ka buton, mahimo nimong ipadagan ang imong aplikasyon sa usa ka simulate nga palibot o i-export kini sa usa ka target nga proyekto. Ang namugna nga code gikan sa GUI Guider dali nga madugang sa imong proyekto, nga makapadali sa proseso sa pag-uswag ug makapahimo kanimo nga hapsay nga makadugang ug usa ka embedded user interface sa imong aplikasyon. Ang GUI Guider libre nga magamit sa kinatibuk-ang katuyoan sa NXP ug mga crossover nga MCU ug naglakip sa mga built-in nga template sa proyekto alang sa daghang gisuportahan nga mga platform. Aron makakat-on og dugang mahitungod sa LVGL ug GUI development sa GUI Guider, susiha ang Light and Versatile Graphics Library ug GUI Guider.

Kalibutan nga kalamboan

Una, pag-andam ug pag-set up sa hardware ug software environment alang sa pagpatuman sa example sa gambalay.

Hardware palibot
Ang palibot sa hardware gipahimutang alang sa pag-verify sa example:

  • Ang smart HMI development kit base sa NXP i.MX RT117H (ang SLN_TLHMI_IOT kit)
  • SEGGER J-Link nga adunay 9-pin Cortex-M adapter ug V7.84a o mas bag-ong bersyon sa drayber

Software palibot
Ang palibot sa software gipahimutang alang sa pagpalambo sa example:

  • MCUXpresso IDE V11.7.0
  • GUI Guider V1.6.1-GA
  • lvgl_gui_camera_preview_cm7 – example code sa ikaduha nga nota sa aplikasyon ingon nga sukaranan nga software sa pag-uswag. Alang sa mga detalye, tan-awa https://mcuxpresso.nxp.com/appcodehub.
  • RT1170 SDK V2.13.0 – isip tinubdan sa code alang sa kalamboan.
  • SLN-TLHMI-IOT software V1.1.2 – smart HMI source code nga gipagawas sa NXP GitHub repository isip code resource para sa development. Alang sa mga detalye, tan-awa ang: GitHub – NXP/mcu-smhmi sa v1.1.2

Alang sa mga detalye bahin sa pagkuha ug pag-setup sa software environment, tan-awa ang: Pagsugod sa SLN-TLHMI-IOT.

Ang arkitektura sa panan-awon sa balangkas

Ang vision architecture sa framework gipakita sa Figure 2. Ang vision algo HAL (OASIS_HAL) adunay mga proseso sa ubos:

  • Pag-atubang sa pagrehistro ug pag-ila pinaagi sa AI&ML vision algorithm model human madawat ang may kalabutan nga mga panghitabo gikan sa output UI HAL. Pahibalo sa mga resulta sa inference gikan sa algorithm nga modelo ngadto sa output UI HAL.
  • Gi-access (idugang, i-delete…) ang database sa feature sa nawong base sa gamay file sistema pinaagi sa pagtawag sa mga API sa FaceDB HAL human madawat ang may kalabutan nga mga panghitabo gikan sa output UI HAL.
  • Hangyoa ang frame sa video sa camera gikan sa HAL sa camera kung maghimo pagrehistro ug pag-ila sa nawong.

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

Ipatuman ang pag-ila sa nawong sa framework

Ang LVGL GUI nga pag-ila sa nawong example (ang example gihatag sa ulahi) sa balangkas gipatuman base sa exampAng mga kodigo sa Pagpatuman sa LVGL GUI Camera Preview sa Framework (dokumento AN14147).

Alang sa pagpakita sa pag-ila sa nawong sa example, ang batakang function sa GUI app (tan-awa ang main screen sa Figure 3) gidesinyo sama sa gihulagway sa ubos:

  • Ang GUI app mag-trigger sa pagrehistro sa nawong o panghitabo sa pag-ila sa output nga UI HAL kung i-klik ang buton Registration o Recognition. Ug ang output UI HAL nagpahibalo sa panghitabo sa pagdugang sa usa ka user sa panan-awon algo HAL human ang pagrehistro sa nawong malampuson.
  • Ang GUI app mag-trigger sa panghitabo sa pagtangtang sa usa ka user ngadto sa output UI HAL sa dihang i-klik ang button Delete User human mailhan ang nawong sa user.
  • Ang GUI app nagpalihok sa panghitabo sa pagpahunong sa oasis algo nga nagdagan ngadto sa output UI HAL sa dihang nag-klik sa screen sa gawas sa mga buton ug mga hulagway.

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

Pag-andam sa software package alang sa pagpatuman sa example.

  • I-clone ang base nga software nga lvgl_gui_camera_preview_cm7. Usba ang ngalan sa proyekto ug ang panguna filengalan sa lvgl_gui_face_rec_cm7.
  • Ang balangkas gikinahanglan aron ma-update sa software tungod kay ang mga source code alang sa framework core nagsugod na sa publiko sa GitHub gikan sa bersyon 1.1.2.
  • Ilisan ang framework folder sa kopya sa V1.1.2 gikan sa GitHub gawas sa files fwk_log.h ug fwk_common.h ubos sa inc\ ingon nga sila giusab alang sa serye sa aplikasyon nga nota. Ang mga operasyon gipakita sa Figure 4:NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (11)
  • I-delete ang folder framework_cm7 ubos sa libs group ug kuhaa ang library framework_cm7 ug ang search path niini nga gi-configure sa Project > Properties > C/C++ Build > settings > Tool Settings > MCU C++ Linker > Libraries kay gihatag ang source code sa core.

I-enable ang feature sa pag-ila sa nawong sa framework
Ang bahin sa pag-ila sa nawong gitukod sa modelo sa algorithm sa panan-awon sa ML nga gihatag ingon usa ka static nga librarya - usa ka oasis lite runtime library sa NXP. Ang librarya usa ka gamay, labi ka episyente, gipahiangay, ug na-optimize nga librarya sa AI. Ang modelo naglakip sa pag-ila sa nawong, pag-ila sa nawong, pag-ila sa bildo, ug pagkakita sa buhi. Nag-una kini nga naghatag sa API OASISLT_run_extended() aron mapadagan ang pipeline sa pag-ila sa nawong samtang nag-update sa mga resulta sa nagtawag pinaagi sa mga callback sa panghitabo, ug pagdugang / pag-update / pagtangtang sa mga nawong sa database pinaagi sa mga callback sa database sa nawong pagkahuman ipiho ang gigikanan nga impormasyon sa frame, callback, ug memorya. pool nga gigamit sa library pinaagi sa pagtawag sa laing API OASISLT_init() sa pagsugod. Ang pagtawag sa mga API ug ang mga function sa callback gipatuman sa vision algo HAL sa framework.

Idugang ang vision algo model library

  1. Kopyaha ang folder oasis nga adunay librarya ug ang may kalabutan nga header file gikan sa smart HMI\coffee_machine\cm7\libs\ ngadto sa folder libs sa exampsa SW.
  2. Idugang ang dalan sa pagpangita sa ulohan file sa Project > Properties > C/C++ Build > settings > Tool Settings > MCU C compiler > Includes ug MCU C++ compiler > Naglakip sa: “${workspace_loc:/${ProjName}/libs/oasis/include}”
  3. Idugang ang lib ug ang agianan sa pagpangita niini sa Project > Properties > C/C++ Build > settings > MCU C++ Linker > Libraries: liboasis_lite2D_DEFAULT_117f_ae.a “${workspace_loc:/${ProjName}/libs/oasis}” ug ang macro definition sa i-enable ang feature sa Project> Properties> C/C++ Build> settings> Tool Settings> MCU C compiler> Preprocessor ug MCU C++ compiler> Preprocessor: SMART_TLHMI_2D

I-enable ang vision algo HAL
Ang vision algo HAL nagduso sa vision algo model aron magtrabaho ug motubag sa mga resulta sa UI output HAL human madawat ang mga panghitabo gikan niini.

Aron mahimo kini, i-clone ang naglungtad nga parehas nga drayber sa HAL file diin ang ubos nga mga gimbuhaton gipatuman:

  • Ipatuman ang mga callback sa mga operasyon sa database sa nawong ug pagdumala sa mga panghitabo.
  • Pagmaneho sa panan-awon algo sa pagtrabaho pinaagi sa pagtawag sa mga API sa oasis librarya.
  • Pag-access sa database sa nawong sa user ug database sa app (dili kinahanglan sa example).
  • Dawata ang mga panghitabo gikan ug ipadala ang mga resulta sa output UI HAL.

Ang mayor nga mga buhat sa pagpatuman sa HAL alang sa exampmao sila:

  • I-clone ang naglungtad nga parehas nga drayber sa HAL file ug usba ang mga may kalabutan nga mga ngalan.
  • Kuhaa ang mga code nga may kalabutan sa mga operasyon sa datos sa app.
  • I-update ang mga kahulugan ug mga gimbuhaton alang sa pagdumala sa mga panghitabo gikan sa output UI HAL kada exampdisenyo.
  • Idugang ang mga configuration nga gikinahanglan sa oasis initialization.

Ang detalyado nga mga lakang mao ang sa ubos:

  1. I-clone ang hal_vision_algo_oasis_coffeemachine.c. Usba ang filengalan sa hal_vision_algo_oasis_guifacerec.c. Ug pulihan ang tanan nga mga string nga CoffeeMachine sa GUIFaceRec sa file.
  2. Kuhaa ang mga code nga adunay sulud nga coffeedb (dili case sensitive) nga may kalabutan sa database sa app, alang sa example, #ilakip ang hal_sln_coffeedb.h.
  3. Usba ang function HAL_VisionAlgoDev_OasisGUIFaceRec_InputNotify() para sa pagdumala sa mga panghitabo gikan sa output UI HAL.
    • Usba ang kahulugan sa panghitabo kEventFaceRecId_RegisterCoffeeSelection ngadto sa kEventFaceRecId_RegisterUserFace ug ang structure string regCoffeeSelection ngadto sa regGUIFaceRec para sa pagdumala sa panghitabo aron makadugang sa bag-ong datos sa feature sa nawong ngadto sa database.
    • Aron ipakita ang standard nga proseso sa mga aksyon sa pag-ila sa nawong sa example, usba ang pagdumala sa kaso sa kEventFaceRecID_OasisSetState nga adunay mga kahulugan sa mga estado:
      • kOASISLiteState
      • Pagparehistro kOASISLiteState
      • Pag-ila sa kOASISLiteState
      • Mihunong
  4. Idugang ug usba ang mga kahulugan sa mga panghitabo nga gihisgutan sa ibabaw nga lakang.
    • Kopyaha ang ulohan file smart_tlhmi_event_descriptor.h gikan sa smart HMI\coffee_machine \cm7\source\event_handlers\ ngadto sa folder source sa exampsa SW. I-update ang file sama sa ubos:
    • Usba ang kahulugan sa panghitabo kEventFaceRecId_RegisterCoffeeSelection ngadto sa kEventFaceRecId_RegisterUserFace sa enum type _event_smart_tlhmi_id ug ang structure string regCoffeeSelection ngadto sa regGUIFaceRec sa struct _event_smart_tlhmi. Busa, usba ang struct register_coffee_selection_event_t para sa regCoffeeSelection aron magparehistro_gui_facerec_event_t.
    • Pagtangtang sa ubang mga sulod nga gigamit alang sa coffee machine app, alang sa example, ang linya sa code bahin sa tingog: #include “hal_event_descriptor_voice.h”.
    • Idugang ang mga tipo nga kOASISLiteState_Stopped ug kOASISLiteState_Running sa enum type oasis_lite_state_t sa hal_vision_algo.h ubos sa framework>hal>vision sa proyekto sama sa ubos:
      typedef enum _oasis_lite_state {
      • kOASISLiteState
      • Nagdagan, kOASISLiteState
      • Mihunong, kOASISLiteState
      • Pag-ila,
      • kOASISLiteState
      • Pagparehistro, kOASISLiteState
      • Deregistration, kOASISLiteState
      • RemoteRegistration, kOASISLiteState
      • Ihap
    • Gamita ang gibag-o nga struct oasis_lite_state_t sa ibabaw aron mapino ang struct oasis_state_event_t sa hal_event_descriptor_face_rec.h ubos sa framework>hal>vision sa proyekto sama sa ubos: typedef struct _oasis_state_event_t { oasis_lite_state_t state; } oasis_state_event_t;
  5. Usba ang tanan nga kEventInfo_Remote ngadto sa kEventInfo_Local para sa pagpadala sa mga panghitabo gikan sa panan-awon algo HAL ngadto sa ubang mga HAL nga nagdagan sa samang kinauyokan sama sa single core kay sa dual-core gigamit sa example.
  6. Idugang ug usba ang mga kumpigurasyon sa ubos para sa pagsugod sa oasis sa OASISLT_init():
    • Idugang ang mga macro definition ug memory section para sa video frame sa board_define.h: #define OASIS_RGB_FRAME_WIDTH 800
      • #define OASIS_RGB_FRAME_HEIGHT 600
      • #define OASIS_RGB_FRAME_SRC_FORMAT kPixelFormat_YUV1P444_RGB
      • #define OASIS_RGB_FRAME_BYTE_PER_PIXEL 3
      • #define AT_FB_SHMEM_SECTION_ALIGN(var, alignbytes) \
      • __attribute__((section(“.bss.$fb_sh_mem,\”aw\”,%nobits @”))) var
      • __attribute__((aligned(alignbytes)))
    • I-configure ang assignment sa memorya sa ibabaw nga seksyon sa memorya fb_sh_mem sa Project > Properties > C/C++ Build > MCU Settings nga gipakita sa Figure 5:NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (12)
    • Ipahayag ang global variable g_DTCOPBuf sa lvgl_gui_face_rec_cm7.cpp: AT_NONCACHEABLE_SECTION_ALIGN_DTC (uint8_t g_DTCOPBuf[DTC_OPTIMIZE_BUFFER_SIZE], 4);
    • Ipadayon ang pagdugang sa mga kahulugan nga gigamit sa naibabaw nga variable:
    • Ipasabut ang seksyon sa ibabaw sa board_define.h:
      • #define AT_NONCACCHEABLE_SECTION_ALIGN_DTC(var, alignbytes) \
      • attribute__((section(“.bss.$SRAM_DTC_cm7,\”aw\”,%nobits @”))) var
      • attribute__((aligned(alignbytes)))
    • Ilakip ang ulohan file hal_vision_algo.h nga adunay macro definition DTC_OPTIMIZE_BUFFER_SIZE sa app_config.h nga gilakip sa lvgl_gui_face_rec_cm7.cpp.
  7. Ibutang ang variable nga s_debugOption sa true para sa pagpakita sa kahimtang sa pag-uswag sa pag-ila sa nawong.
  8. Idugang ang dalan sa pagpangita sa ulohan files sa panan-awon HAL sa Project > Properties > C/C++ Build > settings > Tool Settings > MCU C compiler > Lakip ug MCU C++ compiler > Naglakip sa: “${workspace_loc:/${ProjName}/framework/hal/vision}”
  9. Idugang ang ubos nga kahulugan aron mahimo ang panan-awon algo HAL sa board_define.h: #define ENABLE_VISIONALGO_DEV_Oasis_GUIFaceRec

I-enable ang output UI HAL
Ang output UI HAL nagpahibalo sa mga panghitabo sa panan-awon algo HAL ug motubag sa mga resulta sa inference gikan sa panan-awon algo HAL. Uban sa GUI app, ang mga panghitabo sa kasagaran ma-trigger sa app ug ang mga resulta gipakita sa app.

Aron mahimo kini, i-clone ang naglungtad nga parehas nga drayber sa HAL file diin kasagaran ang ubos nga mga gimbuhaton gipatuman:

  • Ipahibalo ang mga panghitabo alang sa pag-ila sa nawong ug pag-access sa database.
  • Ipatuman ang mga callback para sa GUI app aron ma-trigger ang mga panghitabo.
  • Pagdumala sa mga resulta sa inference gikan sa vision algo module.
  • Ipakita ang proseso ug resulta sa pagdumala sa mga panghitabo sa UI pinaagi sa progress bar nga kontrolado sa mga timer ug rectangle sa giya sa nawong.

Ang mayor nga mga buhat sa pagpatuman sa HAL alang sa exampAng gigamit niini nga dokumento mao ang:

  • I-clone ang naglungtad nga parehas nga drayber sa HAL file ug usba ang mga may kalabutan nga mga ngalan.
  • Kuhaa ang mga code nga may kalabutan sa app.
  • I-update ang mga gimbuhaton alang sa pahibalo sa mga panghitabo ug tubag sa mga resulta matag exampdisenyo.
  • Idugang ang mga callback alang sa GUI app aron ma-trigger ang mga panghitabo.

Ang detalyado nga mga lakang mao ang sa ubos:

  1. I-clone ang hal_output_ui_coffee_machine.c. Usba ang filengalan sa hal_ output_ui_guifacerec.c.
  2. Ilisan ang tanang kuwerdas CoffeeMachine sa GUIFaceRec sa file.
  3. Kuhaa ang mga code nga may kalabutan sa app - makina sa kape.
    • Kuhaa ang mga function WakeUp() ug _StandBy() ug ang mga may kalabutan nga code (mahimong pangitaon ang string wake_up ug standby alang kanila).
    • Kuhaa preview mga panghitabo sa mode nga nagdumala sa mga may kalabotan nga code sa HAL_OutputDev_UiGUIFaceRec_Input Notify().
    • Kuhaa ang mga function UI_xxx_Callback() ug ang mga code nga naglangkob sa string gui_ ug screen nga may kalabutan sa GUI sa coffee machine gawas sa gui_set_virtual_face() para sa preview bahin sa mode.
    • Kuhaa ang tanang mga code nga nalangkit sa mga variables s_IsWaitingAnotherSelection ug s_IsWaitingRegisterSelection nga may kalabutan sa coffee machine app.
    • Kuhaa ang mga code nga may kalabutan sa tingog, audio, ug pinulongan. Kay example:
      • #ilakip ang "hal_voice_algo_asr_local.h",
      • #include “hal_event_descriptor_voice.h”
  4. Para sa lain-laing abiso sa mga panghitabo, ipatuman ang bag-ong mga gimbuhaton _OutputManagerNotify(), _SetFaceRec(), _RegisterGUIFaceRec(), ug DeregisterGUIFaceRec() nga nagtumong sa mga function _StopFaceRec(), _RegisterCoffeeSelection(), ug Deregister(CoffeeRec(), ug Deregister)
    • Ang _OutputManagerNotify() nag-implementar sa batakang kalihokan nga output function aron ipadala ang usa ka panghitabo sa vision algo HAL. Ang mga function sa ubos nagtawag niini aron ipadala ang ilang kaugalingon nga mga panghitabo.
    • Ang _SetFaceRec() nagpadala sa panghitabo nga kEventFaceRecID_OasisSetState aron ma-trigger ang vision algo alang sa pagrehistro sa nawong, pag-ila, ug pagpahunong sa algo.
    • Ang _RegisterGUIFaceRec() nagpadala sa panghitabo kEventFaceRecId_RegisterGUIFaceRec nga gihubit sa smart_tlhmi_event_descriptor.h aron idugang ang datos sa dagway sa nawong sa database kung OK ra ang pagrehistro.
    • Gipadala sa DeregisterGUIFaceRec() ang panghitabo nga kEventFaceRecID_DelUser aron papason ang datos sa dagway sa nawong gikan sa database kung ipasa ang pag-ila sa nawong.
  5. I-update ang mga code aron mahimo ang katugbang nga mga aksyon lakip ang pag-refresh sa GUI pinaagi sa pagtawag sa mga API gikan sa LVGL GUI app alang sa mga resulta sa inference sa pagrehistro sa nawong ug pag-ila sa function _InferComplete_Vision() kada exampdisenyo ni. Kay example, kung malampuson ang pagrehistro sa nawong,
    • Hunonga ang pagpakita sa pag-uswag pinaagi sa pagtawag sa _FaceRecProcess_Stop();
    • Hunonga ang pagrehistro sa nawong pinaagi sa pagtawag sa _SetFaceRec(kOASISLiteState_Stopped);
    • Ipakita ang malampuson nga resulta sa GUI: gui_show_face_rec_result(kFaceRecResult_OK, s_UserId);
    • Irehistro ang datos sa nawong sa database: _RegisterUserFace(s_UserId);
  6. Idugang ang mga function sa callback sa UI aron madumala ang mga panghitabo: preview, pagrehistro sa nawong, pag-ila, ug pagtangtang sa user nga na-trigger gikan sa GUI. Kay example, ang face registration callback: void UI_Registration_Callback(){ _SetFaceRec(kOASISLiteState_Registration); _FaceRecProcess_Start(); }
    • Ug idugang ang mga function _FaceRecProcess_Start() ug _FaceRecProcess_Stop() aron ipakita ang pag-uswag ug status sa lain-laing mga panghitabo ug resulta.
    • I-update ang timer ISR callback function _SessionTimer_Callback() aron madumala ang kaso sa time-out pinaagi sa pagtawag: gui_show_face_rec_result(kFaceRecResult_TimeOut, s_UserId);
  7. Idugang ang mga depinisyon sa ubos aron mahimo ang UI output HAL sa board_define.h: #define ENABLE_OUTPUT_DEV_UiGUIFaceRec

Pahibalo:
Aron mas maayo nga ipakita ang feature sa pag-ila sa nawong, ipadayon ang function aron ipakita ang proseso ug resulta sa pag-ila sa nawong sa output UI HAL. Ang function gihulagway sa ubos

  • Ang rectangle sa giya sa nawong nagpakita og asul, ug ang progress bar nagpakita sa pag-uswag sa pagsugod sa pagrehistro o pag-ila sa nawong.
  • Ang rectangle sa giya sa nawong nagpakita nga pula kung malampuson ang pagrehistro sa nawong.
  • Ang rectangle sa giya sa nawong nagpakita nga berde kung malampuson ang pag-ila sa nawong.
  • Ang rectangle sa giya sa nawong nagpabilin nga asul, ug ang progress bar nagpakita sa hingpit nga pag-uswag kung ang aksyon dili molampos pagkahuman sa pag-expire sa timer. Nianang puntoha, ihunong ang pagrehistro sa nawong o pag-ila.

Ang progress bar ug face guide rectangle gipresentar isip mga icon nga gitukod sa resource binary file nga maprograma sa Flash. Ang mga pointer sa data sa mga icon sa SDRAM gipahimutang sa function nga LoadIcons(APP_ICONS_BASE) nga gitawag sa output UI HAL device initialization sa output UI HAL. Kinahanglan nga ipatuman ang suporta sa mga icon alang sa function.

Ipatuman ang suporta sa mga icon

  1. Paghimo sa kapanguhaan nga naghiusa sa mga icon sa mga imahe nga gigamit sa LVGL GUI app:
    • I-clone ang upat ka icon nga header files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h, ug virtual_face_red_420x426.h gikan sa smart HMI
      \coffee machine\resource\icons\ ngadto sa bag-ong folder icons ubos sa resource folder sa exampsa SW.
    • Idugang ang dalan sa pagpangita alang sa upat ka icon files sa camera_preview_resource.txt file sa resource folder, alang sa example: icon ../resource/icons/process_bar_240x14.h
    • Ipatuman ang camera_preview_resource_build.bat aron matukod ang mga imahe ug mga imahen nga kapanguhaan aron makamugna ang bin file camera_preview_resource.bin ug ang impormasyon file resource_information_table.txt (Tan-awa ang Figure 6).NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (13)
  2. Ipasabut ang pagsugod nga adres sa SDRAM ug ang gidak-on sa mga icon sa app_config.h. Ang adres magsugod sunod sa mga hulagway sa GUI app. Ang gidak-on gihimo sa impormasyon file. #define APP_ICONS_BASE (APP_RES_SHMEM_BASE + APP_LVGL_IMGS_SIZE) #define APP_ICONS_SIZE 0x107c40
  3. I-update ang gi-assign nga gidak-on sa memory section nga ginganlag res_sh_mem ngadto sa 0x200000 pinaagi sa pag-redefining niini sa app_config.h: #define RES_SHMEM_TOTAL_SIZE 0x200000 ug ang katugbang nga setting sa Project > Properties > C/C++ Build > MCU settings.
  4. Idugang ang gidak-on sa icon sa kinatibuk-ang gidak-on sa kapanguhaan nga gikarga gikan sa Flash ngadto sa SDRAM sa function APP_LoadResource() sa main file lvgl_gui_face_rec_cm7.cpp: memcpy((walay sulod *)APP_LVGL_IMGS_BASE, pLvglImages, APP_LVGL_IMGS_SIZE + APP_ICONS_SIZE);

Matikdi: Aron makompleto ang bahin sa pag-ila sa nawong, gikinahanglan ang suporta sa LVGL GUI app. Ang UI callback function sa output UI HAL gitawag sa LVGL GUI app para sa pagdumala sa mga panghitabo gikan sa UI screen. Sa laing bahin, ang output UI HAL nagtawag sa mga API gikan sa LVGL GUI app aron i-update ang UI aron ipakita ang resulta ug status. Ang pag-uswag sa LVGL GUI app medyo independente ug gipaila sa Seksyon 4.3.

4.1.5 Pagsugod sa HAL device ug managers para sa pag-ila sa nawong
Ang gipaandar nga panan-awon algo HAL ug UI output HAL ug ang ilang mga manedyer gisugdan sa panguna file
lvgl_gui_face_rec_cm7.cpp nga nagsunod sa mga pagkakabig sa kalamboan sa framework sama sa ubos:

  1. Ilakip ang ulohan file nga may kalabutan sa duha ka HAL managers pinaagi sa pagdugang sa code line:
    • #include ” fwk_output_manager.h “
    • #include “fwk_vision_algo_manager.h”
  2. Ipahayag ang mga HAL device:
    • HAL_VALGO_DEV_DECLARE(OasisGUIFaceRec);
    • HAL_OUTPUT_DEV_DECLARE(UiGUIFaceRec);
  3. Irehistro ang mga HAL device:
    • HAL_VALGO_DEV_REGISTER(OasisGUIFaceRec, ret);
    • HAL_OUTPUT_DEV_REGISTER(UiGUIFaceRec, ret);
  4. Pagsugod sa mga manedyer:
    • FWK_MANAGER_INIT(VisionAlgoManager, ret);
    • FWK_MANAGER_INIT(OutputManager, ret);
  5. Pagsugod sa mga manedyer:
    • FWK_MANAGER_START(VisionAlgoManager, VISION_ALGO_MANAGER_TASK_PRIORITY, ret);
    • FWK_MANAGER_START(OutputManager, OUTPUT_MANAGER_TASK_PRIORITY, ret);
  6. Ipasabut ang prayoridad sa mga buluhaton sa manedyer:
    • #define VISION_ALGO_MANAGER_TASK_PRIORITY 3
    • #define OUTPUT_MANAGER_TASK_PRIORITY 1

Idugang ang suporta sa database sa nawong sa balangkas
Ang narehistro nga datos sa bahin sa nawong ma-access sa database sa nawong nga gitipigan sa Flash pinaagi sa gamay file sistema. Ang mga lakang sa pagdugang sa suporta sa database sa nawong gihulagway sa ubos.

Idugang ang mga drayber alang sa Flash storage
Kopyaha ang Flash interface FlexSPI driver files fsl_flexspi.c ug fsl_flexspi.h, ug ang data encryption driver files fsl_caam.c ug fsl_caam.h gikan sa dalan SDK_2_13_0_MIMXRT1170-EVK\devices \MIMRX1176\drivers\ ngadto sa drivers folder sa exampsa SW.

Idugang ang suporta sa lebel sa board

  1. Idugang ang mga kahulugan sa FlexSPI nga gigamit para sa Flash device nga nakasakay sa board.h:
    • #define BOARD_FLEXSPI FLEXSPI1
    • #define BOARD_FLEXSPI_CLOCK kCLOCK_FlexSpi1
    • #define BOARD_FLEXSPI_AMBA_BASE FlexSPI1_AMBA_BASE
  2. Kopyaha ang mga operator ug mga configuration files sa Flash device nga flexspi_nor_flash_ops.c, flexspi_nor_flash_ops.h, sln_flash_config.c, sln_flash_config_w25q256jvs.h, ugsln_flash_ops.h ubos sa dalan smart HMI\coffee_machine\cm7\source ngadto sa folder sa ex.ampsa SW.
    • I-uncheck ang "Dili iapil ang kapanguhaan gikan sa pagtukod" sa C/C++ Build> Settings pagkahuman sa pag-klik sa tuo sa files' ngalan ug pag-abli sa Properties alang sa pagpahimo kanila nga matukod sa proyekto.
  3. Usba ang gilakip nga header filenganli sln_flash_config.h sa sln_flash_config_w25q256jvs.h sa sln_flash_config.c ug flexspi_nor_flash_ops.h.
  4. Ibutang ang FlexSPI1 nga tinubdan sa orasan sa file clock_config.c nga nagtumong sa coffee machine app.

Idugang ang adapter ug tunga nga lebel nga suporta

  1. Kopyaha ang files sln_flash.c, sln_flash.h, sln_encrypt.c, ug sln_encrypt.h isip mga driver sa adapter para sa file sistema ug app gikan sa dalan sa smart HMI\coffee_machine\cm7\source\ ngadto sa folder source sa example. I-update ang bag-o files:
    • I-uncheck ang "Dili iapil ang kapanguhaan gikan sa pagtukod" sa kanila alang sa pagtukod.
    • Usba ang tanan nga gilakip nga header file ngalan sln_flash_config.h ngadto sa sln_flash_config_w25q256jvs.h.
  2. Kopyaha ang folder filesistema nga adunay sulod nga mga API alang sa gamay filesystem ug HAL driver gikan sa smart HMI \coffee_machine\cm7\source\ ngadto sa exampsa SW. Ug pag-update alang sa bag-ong folder:
    • I-uncheck ang "Dili iapil ang kapanguhaan gikan sa pagtukod" niini alang sa pagtukod.
    • Idugang ang apil nga dalan alang niini sa mga setting sa proyekto: “${workspace_loc:/${ProjName}/filesistema}"
    • Usba ang gilakip nga header file nganli ang sln_flash_config.h sa sln_flash_config_w25q256jvs.h ug fica_definition.h sa app_config.h sa file sln_flash_littlefs.h.
  3. Kopyaha ang folder nga littlefs nga adunay tunga nga ware - gamay filesistema gikan sa dalan SDK_2_13_0_ MIMXRT1170-EVK\middleware\ ngadto sa exampsa SW. Ug i-update ang bag-ong folder:
    • I-uncheck ang "Dili iapil ang kapanguhaan gikan sa pagtukod" niini alang sa pagtukod.
    • Idugang ang apil nga agianan alang niini sa mga setting sa proyekto: "${workspace_loc:/${ProjName}/littlefs}"

Idugang ang mga drayber sa HAL 

  • Adunay duha ka HAL device - file sistema ug nawong database HAL gisuportahan alang sa database access bahin ug sila na gipatuman sa gambalay nga walay bisan unsa nga kausaban. I-enable sila pinaagi sa pagdugang sa ubos nga mga kahulugan sa board_define.h:
    • #define ENABLE_FLASH_DEV_Littlefs
    • #define ENABLE_FACEDB

Ug usba ang ngalan sa database sa nawong para sa example: #define OASIS_FACE_DB_DIR "oasis_gui_face_rec"

Idugang ang suporta sa lebel sa app

  1. I-update ang panguna file lvgl_gui_face_rec_cm7.cpp:
    • Ilakip ang ulohan file nga may kalabutan sa Flash file system HAL manager pinaagi sa pagdugang sa code line: #include “fwk_flash.h”
    • Ipahayag ug irehistro file sistema HAL device:
      • HAL_FLASH_DEV_DECLARE(Littlefs);
      • HAL_FLASH_DEV_REGISTER(Littlefs, ret);
        Nota: Ang file system HAL device kinahanglang marehistro sa dili pa ang tanang device managers masugdan sa function APP_InitFramework().
    • Tawga ang function BOARD_ConfigMPU() sa APP_BoardInit() aron ma-configure ang MPU.
  2. Ibutang ang file assignment sa sistema sa Flash sa file app_config.h pinaagi sa pagpasabot sa mga kahulugan sa macro nga gigamit sa file sln_flash_littlefs.h:
    • #define FICA_IMG_FILE_SYS_ADDR (FLASH_IMG_SIZE + RES_SHMEM_TOTAL_SIZE)
    • #define FICA_FILE_SYS_SIZE (0x280000)

Mga pag-configure
Ang ubang mga kodigo nga may kalabotan sa Flash kay gipatuman sa SRAM ITC nga dapit alang sa igo nga pasundayag. Kopyaha ang folder linkscripts nga naglangkob sa linker configurations gikan sa dalan smart HMI\coffee_machine\cm7\ ngadto sa exampsa SW.

Ipatuman ang LVGL GUI app
Ang pagpalambo sa usa ka LVGL GUI app base sa framework nagtawag sa mga API gikan sa output UI HAL ug naghatag sa mga API sa output UI HAL (Tan-awa ang Seksyon 4.1.3 para sa pagpatuman sa output UI HAL).

Bisan pa, ang detalyado nga pagpatuman sa usa ka LVGL GUI app nagdepende sa mga kinahanglanon ug disenyo sa aplikasyon. Ang GUI app niini nga exampGidisenyo ang le ingon nga gihulagway sa sinugdanan sa seksyon nga Seksyon 4.

Sa ubos mao ang mga pasiuna sa pagpatuman:

  1. Ang customized codes gipatuman sa custom.c ug custom.h nga gihatag sa GUI Guider isip interface tali sa GUI Guider project ug sa embedded system project.
    •  Idugang ang bag-ong mga gimbuhaton nga ginganlag gui_xxx() sa custom.c aron makab-ot ang ubos nga mga gimbuhaton:
      • Para sa output UI HAL ug GUI app aron ma-update ang UI.
      • Para sa GUI app nga mag-trigger sa mga panghitabo pinaagi sa pagtawag sa UI callback functions gikan sa output UI HAL.
        Kay exampUg, ang bag-ong function gui_event_face_rec_action() nagtawag sa UI callback functions aron pagdumala sa usa sa mga panghitabo sa pagrehistro sa nawong, pag-ila sa nawong ug pagtangtang sa user nga na-trigger gikan sa GUI app sa dihang gi-klik ang may kalabutan nga buton.
        Mubo nga sulat: Ang function gui_set_virtual_face() gitawag sa output UI HAL alang sa preview mode kinahanglan nga ipatuman sa custom.c:
    •  Clone function gui_set_virtual_face() gikan sa smart HMI\coffee_machine\cm4\custom \custom.c.
    •  Usba ang ngalan sa widget nga home_img_cameraPreview sa screen_img_camera_preview sa function.
    •  Ipatuman ang mga function sa callback sa UI nga adunay parehas nga prototype sa tanan nga naa sa output UI HAL ubos sa kontrol sa macro definition #ifndef RT_PLATFORM sa custom.c para mahimong compatible sa proyekto sa GUI Guider tungod kay kini nga mga function sa output UI HAL nagsalig sa embedded nga plataporma. Sa custom.c, nagdepende sila sa simulator sa GUI guider ug independente sa naka-embed nga plataporma. Kay example, ang face registration callback kay gipatuman sama sa ubos para sa GUI Guider simulator nga nagdagan: #ifndef RT_PLATFORM void UI_Registration_Callback() { gui_hide_del_user_btn(tinuod); s_InAction = bakak; pagbalik; }
      Nota: Tan-awa ang parehas nga prototype sa function nga gipaila sa lakang 6 sa Seksyon 4.1.3
      Ang macro definition RT_PLATFORM gibutang sa mga setting sa proyekto sa MCUXpresso sama sa gipakita sa Figure 7:NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (14)
    • Ipahayag ang tanan nga mga gimbuhaton nga ginganlag UI_xxx_Callback() ug gui_xxx() sa custom.h ug idugang ang custom.h nga gilakip sa smart_tlhmi_event_descriptor.h aron ipaambit ang mga GUI API sa UI output HAL.
  2. Pagpalambo sa GUI sa GUI Guider:
    • I-clone ang folder nga camera preview naglangkob sa GUI Guider project software sa folder gui_guider sa base software package lvgl_gui_camera_preview_cm7. Usba ang may kalabutan nga ngalan camera_preview sa face_rec para sa bag-ong example.
    • Kopyaha ang na-update nga custom.c ug custom sa ibabaw. h sa bag-ong GUI Guider project software.
    •  Ablihi ang bag-ong face_rec nga proyekto sa GUI Guider. Pag-update sama sa ubos:
      • Idugang ang bag-ong buton nga gimarkahan nga Delete User. Idugang ang bandila nga Gitago niini aron ang buton matago kung ang GUI app magsugod.
      • Idugang ang code line sa pagtawag sa API gui_event_face_rec_action() nga adunay lain-laing event ID parameter sa "Gipagawas" nga gatilyo sa Event Setting sa tanang mga buton Registration, Recognition ug Delete User para sa pag-trigger sa mga panghitabo sa face registration, face recognition ug pagtangtang sa user. Gipakita sa Figure 8 ang code alang sa panghitabo sa buton Pagrehistro:NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (15)
  3. I-update ang nahimo nga code gikan sa GUI Guider ngadto sa proyekto sa MCUXpresso.
    • Ilisan ang mga sulod gawas sa mga hulagway sa folder sa folder nga namugna sa MCUXpresso project SW uban sa mga katugbang nga anaa sa folder nga namugna sa GUI Guider project SW.

Nota: Para sa dugang nga mga detalye bahin sa mga kausaban nga gipaila sa ibabaw, susiha ang exampang software sa https://mcuxpresso.nxp.com/appcodehub.

Verifications uban sa exampang proyekto

Para makuha ang exampAng software package nga adunay sulod nga mga kapanguhaan ug mga himan alang niini nga nota sa aplikasyon, bisitaha ang: https://mcuxpresso.nxp.com/appcodehub. Ablihi ang exampAng proyekto sa MCUXpresso IDE. Paghimo ug programa sa .axf file sa adres nga 0x30000000 ug iprograma ang resource bin file camera_preview_resource.bin sa adres nga 0x30800000.

Ang LVGL GUI nga pag-ila sa nawong example nagtrabaho normal sama sa ubos:

  • Si Preview: Uban sa power up, ang mga video stream nga nakuha sa camera nagpakita sa piho nga lugar sa camera preview sa GUI screen. Ang status label nagpakita sa "Preview…”. Para sa mga detalye, tan-awa ang Figure 3. Ang buton nga Delete User gitago. Kung gi-klik ang lugar sa gawas sa mga buton ug mga imahe, gipakita niini ang preview ipahayag ingon sa ibabaw pagkahuman sa pagrehistro sa nawong o aksyon sa pag-ila matapos.
  • Pagparehistro:
    • tartup: Sa diha nga ang Registration button gi-klik, ang nawong registration magsugod. Ang label sa status mausab aron ipakita ang "Rehistrasyon...", ang rectangle sa giya sa nawong nagpakita nga asul, ug ang progress bar nagsugod sa pagpakita sa pag-uswag. Siguruha nga ang nawong sa gumagamit nagpakita sa asul nga giya sa rectangle sa nawong alang sa pagrehistro.
    • kalampusan: Ang status label nagpakita sa “Rehistrasyon…OK” ug ang rehistradong user ID number, ang face guide rectangle mahimong pula kon ang face registration molampos sa dili pa ang pag-uswag makita nga puno sa bar.
    • Failure -> Time out: Ang status label nagpakita sa "Registration...Time out" kung ang pagrehistro sa nawong napakyas gihapon kung ang pag-uswag makita nga puno sa bar.
    • Kapakyasan -> Pagdoble: Ang status label nagpakita sa “Rehistrasyon…Napakyas”, ang rektanggulo sa giya sa nawong mahimong berde kon ang rehistradong nawong mailhan sa dili pa ang pag-uswag makita nga puno sa bar.
  • ecognition:
    • Pagsugod: Kung gi-klik ang buton sa Pag-ila, magsugod ang pag-ila sa nawong. Ang label sa status mausab aron ipakita ang "Pag-ila...", ang rectangle sa giya sa nawong nagpakita nga asul, ug ang progress bar nagsugod sa pagpakita sa pag-uswag. Siguruha nga ang nawong sa tiggamit gipakita sa asul nga giya sa rectangle sa nawong alang sa pagrehistro.
    • kalampusan: Ang status label nagpakita sa “Recognition…OK” ug ang giila nga user ID number, ang face guide rectangle mahimong berde kon ang pag-ila sa nawong molampos sa dili pa ang pag-uswag makita nga puno sa bar. Sa punto, ang buton nga Delete User makita. Kini nagpasabot nga ang user gitugotan nga mapapas lamang kung kini giila.
    • kamingaw: Ang status label nagpakita sa “Recognition…Time out” kung ang pag-ila sa nawong mapakyas gihapon kung ang pag-uswag makita nga puno sa bar.
  • Pagtangtang sa Gumagamit: Kung ang buton nga "Delete User" gi-klik, human ang pag-ila sa nawong malampuson, ang status label mausab aron ipakita ang "Delete User…OK" nga ang rectangle sa giya sa nawong nahimong asul ug ang pag-uswag nagpakita nga puno sa bar. Ang buton nga Delete User gitago pag-usab. Ang giila nga nawong/user gipapas gikan sa database. Kini nagpasabut nga kini nga nawong / tiggamit dili mailhan hangtod nga marehistro pag-usab.

Matikdi mahitungod sa source code sa dokumento
ExampAng code nga gipakita niini nga dokumento adunay mosunod nga copyright ug BSD-3-Clause nga lisensya:

Copyright 2024 NXP Redistribution ug paggamit sa tinubdan ug binary nga mga porma, nga adunay o walay kausaban, gitugutan basta ang mosunod nga mga kondisyon matuman:

  1. Ang pag-apod-apod pag-usab sa source code kinahanglang magpabilin sa ibabaw sa copyright notice, kini nga listahan sa mga kondisyon ug ang mosunod nga disclaimer.
  2. Ang mga pag-apod-apod sa binary nga porma kinahanglang kopyahon ang naa sa ibabaw nga pahibalo sa copyright, kini nga lista sa mga kondisyon ug ang mosunod nga disclaimer sa dokumentasyon ug/o uban pang mga materyales kinahanglang ihatag uban sa pag-apod-apod.
  3. Dili ang ngalan sa tag-iya sa copyright o ang mga ngalan sa mga nag-ambag niini mahimong gamiton sa pag-endorso o pag-promote sa mga produkto nga nakuha gikan niini nga software nga walay espesipikong sinulat nga pagtugot.

KINI NGA SOFTWARE GIHATAG SA MGA NAGHAWAG SA COPYRIGHT UG MGA CONTRIBUTOR "AS IS" UG BISAN UNSANG GIPADAYAG O GIPAHIBALO NGA MGA WARRANTY, LAKIP, APAN DILI LIMITADO SA, ANG GIPASABOT NGA MGA WARRANTY SA KALIGTASAN UG KAAYOHAN ALANG SA PARTIKULAR NGA KATUYOAN. SA WALA PANGHITABO ANG NAGHAWAG SA COPYRIGHT O MGA CONTRIBUTOR MAHIMONG TUBAG ALANG SA BISAN UNSANG DIREKTA, INDIREKTO, INSIDENTAL, ESPESYAL, EKSEMPLARY, O HINUNGDAN NGA MGA KADOT (LAPI, APAN DILI LIMITADO SA, PAGPALIT SA SUBSTITUTE GOODS LOOR OF SERVICES; DAGHANG SERBISYO; O BUSINESS INTERRUPTION) BISAN UNSAY HINUNGDAN UG SA BISAN UNSANG TEORYA SA LIABILIDAD, SA KONTRATA MAN, STRICT LIABILITY, O TORT (KASULOD ANG PAGPASAYA O UBAN PA) NGA MATUWANG SA BISAN UNSANG PAAGI GAWAS SA PAGGAMIT NIINI NGA SOFTWARE, BISAN KON SUCHPOSILED.

Kasaysayan sa rebisyon

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

Legal nga impormasyon

Mga kahulugan
Draft — Usa ka draft status sa usa ka dokumento nagpakita nga ang sulod anaa pa sa internal review ug ubos sa pormal nga pag-apruba, nga mahimong moresulta sa mga kausaban o pagdugang. Ang NXP Semiconductor wala maghatag ug bisan unsang representasyon o garantiya sa katukma o pagkakompleto sa impormasyon nga gilakip sa draft nga bersyon sa usa ka dokumento ug walay tulubagon sa mga sangpotanan sa paggamit sa maong impormasyon.

Disclaimer

  • Limitado nga warranty ug liability — Ang impormasyon niini nga dokumento gituohan nga tukma ug kasaligan. Bisan pa, ang NXP Semiconductor wala maghatag bisan unsang mga representasyon o garantiya, gipahayag o gipasabut, bahin sa katukma o pagkakompleto sa ingon nga kasayuran ug wala’y tulubagon sa mga sangputanan sa paggamit sa ingon nga kasayuran. Ang NXP Semiconductors walay responsibilidad sa sulod niini nga dokumento kon gihatag sa tinubdan sa impormasyon gawas sa NXP Semiconductor.
    Sa bisan unsa nga panghitabo nga ang NXP Semiconductors mahimong manubag sa bisan unsang dili direkta, sulagma, pagsilot, espesyal o sangputanan nga mga kadaot (lakip ang - nga wala’y limitasyon - nawala nga ganansya, nawala nga tinigom, pagkabalda sa negosyo, mga gasto nga may kalabotan sa pagtangtang o pag-ilis sa bisan unsang mga produkto o bayad sa pagtrabaho) o dili ang maong mga kadaot gibase sa tort (lakip ang pagpabaya), warranty, paglapas sa kontrata o bisan unsa nga legal nga teorya.
    Bisan pa sa bisan unsa nga kadaot nga mahimong maangkon sa kustomer sa bisan unsang hinungdan, ang NXP Semiconductors' aggregate ug cumulative liability ngadto sa kustomer alang sa mga produkto nga gihulagway dinhi kinahanglan nga limitado sumala sa mga Termino ug kondisyon sa komersyal nga pagbaligya sa NXP Semiconductors.
  • Katungod sa paghimo og mga kausaban — Ang NXP Semiconductors adunay katungod sa paghimo sa mga pagbag-o sa impormasyon nga gipatik niini nga dokumento, lakip ang walay limitasyon nga mga detalye ug mga deskripsyon sa produkto, bisan unsang orasa ug walay pahibalo. Kini nga dokumento mipuli ug mipuli sa tanang impormasyon nga gihatag sa wala pa ang publikasyon niini.
  • Angayan sa paggamit — Ang mga produkto sa NXP Semiconductors wala gidesinyo, gitugutan o gigarantiyahan nga angayan gamiton sa suporta sa kinabuhi, mga sistema o kagamitan nga kritikal sa kinabuhi o kritikal sa kaluwasan, o sa mga aplikasyon diin ang pagkapakyas o pagkadaot sa usa ka produkto sa NXP Semiconductors makatarunganon nga gilauman nga moresulta sa personal nga kadaot, kamatayon o grabe nga kabtangan o kadaot sa kinaiyahan. Ang NXP Semiconductors ug ang mga suppliers niini walay gidawat nga tulubagon alang sa paglakip ug/o paggamit sa mga produkto sa NXP Semiconductors sa maong mga ekipo o aplikasyon ug busa ang maong paglakip ug/o paggamit anaa sa kaugalingong risgo sa kustomer.
  • Mga aplikasyon — Ang mga aplikasyon nga gihulagway dinhi para sa bisan hain niini nga mga produkto para lamang sa mga katuyoan sa paghulagway. Ang NXP Semiconductors walay representasyon o garantiya nga ang maong mga aplikasyon angay alang sa espesipikong paggamit nga walay dugang pagsulay o pag-usab.
    Ang mga kostumer ang responsable sa disenyo ug operasyon sa ilang mga aplikasyon ug mga produkto gamit ang mga produkto sa NXP Semiconductors, ug ang NXP Semiconductors dili modawat ug responsibilidad sa bisan unsang tabang sa mga aplikasyon o disenyo sa produkto sa kustomer. Bugtong responsibilidad sa kostumer ang pagtino kung ang produkto sa NXP Semiconductors angayan ug angayan sa mga aplikasyon ug produkto nga giplano sa kustomer, ingon man alang sa giplano nga aplikasyon ug paggamit sa (mga) kostumer sa ikatulo nga partido. Ang mga kustomer kinahanglan maghatag ug angay nga disenyo ug mga panalipod sa pag-opera aron mamenosan ang mga risgo nga nalangkit sa ilang mga aplikasyon ug mga produkto. Ang NXP Semiconductors dili modawat sa bisan unsang liability nga may kalabotan sa bisan unsang default, kadaot, gasto o problema nga gibase sa bisan unsang kahuyang o default sa mga aplikasyon o produkto sa kustomer, o ang aplikasyon o paggamit sa (mga) kustomer sa ikatulo nga partido. Ang kostumer ang responsable sa paghimo sa tanan nga kinahanglan nga pagsulay alang sa mga aplikasyon ug produkto sa kustomer gamit ang mga produkto sa NXP Semiconductors aron malikayan ang default sa mga aplikasyon ug mga produkto o sa aplikasyon o paggamit sa (mga) kostumer sa ikatulo nga partido. Ang NXP dili modawat sa bisan unsang tulubagon niining bahina.
  • Mga termino ug kondisyon sa komersyal nga pagbaligya — Ang mga produkto sa NXP Semiconductors gibaligya ubos sa kinatibuk-ang termino ug kondisyon sa komersyal nga pagbaligya, ingon nga gipatik sa https://www.nxp.com/profile/terms, gawas kung gikasabutan sa usa ka balido nga sinulat nga indibidwal nga kasabutan. Sa kaso nga ang usa ka indibidwal nga kasabutan natapos lamang ang mga termino ug kondisyon sa tagsa-tagsa nga kasabutan ang magamit. Ang NXP Semiconductors sa ingon tin-aw nga nagsupak sa pag-aplay sa kinatibuk-ang termino ug kondisyon sa kustomer bahin sa pagpalit sa mga produkto sa NXP Semiconductors sa kustomer.
  • Pagkontrol sa eksport — Kini nga dokumento ingon man ang (mga) butang nga gihulagway dinhi mahimong ipailalom sa mga regulasyon sa pagkontrol sa eksport. Ang pag-export mahimong magkinahanglan og una nga pagtugot gikan sa mga may katakus nga awtoridad.
  • Angayan alang sa paggamit sa mga non-automotive qualified nga mga produkto — Gawas kung kini nga dokumento tin-aw nga nag-ingon nga kini nga piho nga produkto sa NXP Semiconductors kuwalipikado sa awto, ang produkto dili angay alang sa paggamit sa awto. Dili kini kuwalipikado o gisulayan pinauyon sa pagsulay sa awto o mga kinahanglanon sa aplikasyon. Ang NXP Semiconductors walay gidawat nga tulubagon alang sa paglakip ug/o paggamit sa mga non-automotive qualified nga mga produkto sa automotive equipment o mga aplikasyon.
    Kung gigamit sa kostumer ang produkto alang sa pagdesinyo ug paggamit sa mga aplikasyon sa automotibo sa mga detalye ug sumbanan sa automotive, ang kostumer (a) kinahanglan mogamit sa produkto nga wala’y garantiya sa produkto sa NXP Semiconductor para sa ingon nga mga aplikasyon sa automotibo, paggamit ug mga detalye, ug ( b) sa matag higayon nga gamiton sa kostumer ang produkto alang sa mga aplikasyon sa awto nga lapas sa mga detalye sa NXP Semiconductor ang ingon nga paggamit kinahanglan ra sa kaugalingon nga peligro sa kostumer, ug (c) hingpit nga bayad sa kostumer ang NXP Semiconductors alang sa bisan unsang liability, kadaot o napakyas nga pag-angkon sa produkto nga resulta sa disenyo ug paggamit sa kustomer sa ang produkto para sa mga aplikasyon sa automotive nga lapas pa sa standard warranty sa NXP Semiconductor ug mga detalye sa produkto sa NXP Semiconductor.
  • Mga paghubad — Ang usa ka dili Ingles (gihubad) nga bersyon sa usa ka dokumento, lakip ang legal nga impormasyon sa maong dokumento, alang lamang sa pakisayran. Ang English nga bersyon ang mopatigbabaw kung adunay bisan unsang kalainan tali sa gihubad ug English nga mga bersyon.
  • Seguridad — Nasabtan sa kustomer nga ang tanang produkto sa NXP mahimong mapailalom sa wala mailhi nga mga kahuyangan o mahimong mosuporta sa natukod nga mga sumbanan sa seguridad o mga detalye nga adunay nahibal-an nga mga limitasyon. Ang kostumer ang responsable sa disenyo ug operasyon sa mga aplikasyon ug produkto niini sa ilang mga siklo sa kinabuhi aron makunhuran ang epekto niini nga mga kahuyangan sa mga aplikasyon ug produkto sa kustomer. Ang responsibilidad sa kustomer molapad usab sa uban pang bukas ug/o proprietary nga mga teknolohiya nga gisuportahan sa mga produkto sa NXP aron magamit sa mga aplikasyon sa kustomer. Ang NXP walay gidawat nga tulubagon alang sa bisan unsang pagkahuyang. Kinahanglang regular nga susihon sa kostumer ang mga update sa seguridad gikan sa NXP ug mag-follow up sa tukma. Kinahanglang pilion sa kustomer ang mga produkto nga adunay mga bahin sa seguridad nga labing kaayo nga nagtagbo sa mga lagda, regulasyon, ug mga sumbanan sa gituyo nga aplikasyon ug maghimo labing katapusan nga mga desisyon sa disenyo bahin sa mga produkto niini ug mao ra ang responsable sa pagsunod sa tanan nga ligal, regulasyon, ug mga kinahanglanon nga may kalabotan sa seguridad bahin sa mga produkto niini, bisan unsa pa. sa bisan unsang impormasyon o suporta nga mahimong ihatag sa NXP.

Ang NXP adunay Product Security Incident Response Team (PSIRT) (maabot sa PSIRT@nxp.com) nga nagdumala sa imbestigasyon, pagreport, ug pagpagawas sa solusyon sa mga kahuyangan sa seguridad sa mga produkto sa NXP.
Ang NXP BV - Ang NXP BV dili usa ka operating company ug wala kini nag-apod-apod o nagbaligya sa mga produkto.

Mga marka sa pamatigayon
Matikdi: Ang tanan nga gi-refer nga mga tatak, mga ngalan sa produkto, mga ngalan sa serbisyo, ug mga marka sa pamatigayon gipanag-iya sa ilang tag-iya.

NXP — wordmark ug logo kay mga trademark sa NXP BV

AMBA, Arm, Arm7, Arm7TDMI, Arm9, Arm11, Artisan, dako.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 — mao ang mga marka sa pamatigayon ug/o mga rehistradong marka sa pamatigayon sa Arm Limited (o mga subsidiary o mga kaanib niini) sa US ug/o sa ubang dapit. Ang may kalabutan nga teknolohiya mahimong mapanalipdan sa bisan unsa o sa tanan nga mga patente, copyright, disenyo ug sekreto sa pamatigayon. Tanang katungod gigahin.

  • i.MX — usa ka marka sa pamatigayon sa NXP BV
  • J-Link — usa ka marka sa SEGGER Microcontroller GmbH.

Microsoft, Azure, ug ThreadX - mga marka sa pamatigayon sa grupo sa mga kompanya sa Microsoft.

Palihug hibaloi nga ang importante nga mga pahibalo mahitungod niini nga dokumento ug ang (mga) produkto nga gihulagway dinhi, gilakip sa seksyon nga 'Legal nga impormasyon'.

© 2024 NXP BV
Para sa dugang nga impormasyon, palihog bisitaha: https://www.nxp.com

  • Petsa sa pagpagawas: Abril 19, 2024
  • Pag-ila sa dokumento: AN14263

FAQ

Q: Unsa ang nag-unang katuyoan niini nga produkto?
A: Ang panguna nga katuyoan mao ang pagpagana sa function sa pag-ila sa nawong gamit ang usa ka modelo sa algorithm sa panan-awon sa AI&ML nga adunay usa ka yano nga LVGL GUI example sa SLN-TLHMI-IOT board.

P: Sa unsang paagi makabenepisyo ang mga developer gikan niini nga nota sa aplikasyon?
A: Makakat-on ang mga developers unsaon pag-implementar ang pag-ila sa nawong sa framework step by step gamit ang gihatag nga examptun-i ug sabton ang mga manedyer sa device, HAL device, ug mga mekanismo sa panghitabo nga nalangkit.

Mga Dokumento / Mga Kapanguhaan

NXP AN14263 Ipatuman ang LVGL GUI Face Recognition sa Framewor [pdf] Giya sa Gumagamit
AN14263 Ipatuman ang LVGL GUI Face Recognition sa Framewor, AN14263, Implementar ang LVGL GUI Face Recognition sa Framewor, LVGL GUI Face Recognition sa Framewor, Face Recognition sa Framewor, Recognition sa Framewor, Framewor

Mga pakisayran

Pagbilin ug komento

Ang imong email address dili mamantala. Ang gikinahanglan nga mga natad gimarkahan *