nxp-logo

NXP AN14263 Ngleksanakake LVGL GUI Face Recognition ing Framewor

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

Informasi produk

Spesifikasi

  • Jeneng produk: LVGL GUI Face Recognition on Framework
  • Revisi Dokumen: 1 - 19 April 2024
  • tembung kunci: Pangenalan pasuryan, LVGL GUI, Framework

Pandhuan Panggunaan Produk

  1. Swaraview
    Produk iki mbisakake model algoritma visi AI&ML kanggo pangenalan rai ing kerangka kanggo ngetrapake fungsi pangenalan rai kanthi eks GUI LVGL prasaja.ample ing papan SLN-TLHMI-IOT.
  2. Framework Overview
    Piranti lunak solusi dirancang ing babagan arsitektur kerangka sing kalebu manajer piranti sing tanggung jawab kanggo ngatur piranti, piranti HAL kanggo abstrak rincian dhasar, lan acara kanggo komunikasi antarane piranti beda.
  3. Fitur
    Produk ngidini kanggo implementasine fungsi pangenalan pasuryan liwat kamera praview ing layar GUI kanthi tombol kanggo micu registrasi pasuryan, pangenalan, lan mbusak. Data pasuryan sing kadhaptar disimpen ing Flash liwat a file sistem.
  4. Isi Cathetan Aplikasi
    Cathetan aplikasi nampilake layar GUI LVGL kanthi pra kameraview lan tombol kanggo tumindak-related pasuryan. Iku mbantu pangembang ngerti framework lan carane ngleksanakake pangenalan pasuryan nggunakake ex kasedhiyaample.

Swaraview

NXP wis ngluncurake kit pangembangan solusi sing jenenge SLN-TLHMI-IOT sing fokus ing aplikasi HMI sing cerdas. Mbisakake HMI cerdas kanthi UI visi, swara, lan grafis ML sing diimplementasikake ing siji NXP i.MX RT117H MCU. Adhedhasar SDK, piranti lunak solusi kasebut dibangun ing desain sing diarani kerangka kerja sing ndhukung desain fleksibel lan kustomisasi fungsi visi lan swara. Kanggo mbantu pangguna nggunakake platform piranti lunak kanthi luwih apik, sawetara dokumen dhasar diwenehake, contoneample, pandhuan pangguna pangembangan piranti lunak. Pandhuan kasebut ngenalake desain lan arsitektur piranti lunak dhasar saka aplikasi sing nyakup kabeh komponen solusi kalebu kerangka kanggo mbantu para pangembang luwih gampang lan efisien ngetrapake aplikasi kanthi nggunakake SLN-TLHMI-IOT.
Kanggo rincian liyane babagan solusi lan dokumen sing cocog, bukak web kaca saka NXP EdgeReady Smart HMI Solution Adhedhasar i.MX RT117H karo ML Vision, Voice, lan UI Graphical. Nanging, isih ora gampang kanggo para pangembang kanggo ngetrapake aplikasi HMI sing cerdas sing nuduhake pandhuan dhasar kasebut. Serangkaian cathetan aplikasi direncanakake kanggo mbantu nyinaoni pangembangan babagan kerangka langkah demi langkah. Cathetan aplikasi iki adhedhasar Implement LVGL GUI Camera Preview ing Framework (dokumen AN14147). Cathetan aplikasi iki nerangake carane ngaktifake model algoritma visi AI&ML kanggo pangenalan rai ing kerangka kanggo ngetrapake fungsi pangenalan pasuryan liwat kamera pra.view ing layar GUI karo prasaja LVGL GUI example ing papan SLN-TLHMI-IOT. Ing cathetan aplikasi, example presents layar LVGL GUI karo kamera praview lan sawetara tombol kanggo micu registrasi pasuryan, pangenalan, lan mbusak. Data pasuryan kadhaptar disimpen ing Flash liwat sethitik file sistem.

Ing tingkat dhuwur, cathetan aplikasi ngemot isi ing ngisor iki:

  • Aktifake fitur pangenalan pasuryan ing framework.
  • Tambah support database pasuryan ing framework liwat file sistem ing Flash.
  • Ngleksanakake aplikasi LVGL GUI. Liwat introduksi ing ndhuwur, dokumen iki mbantu para pangembang kanggo:
  • Ngerti kerangka lan piranti lunak solusi HMI sing cerdas kanthi luwih jero.
  • Gawe pangenalan rai AI&ML ing kerangka kerja nganggo aplikasi LVGL GUI.

Framework liwatview
Piranti lunak solusi utamane dirancang kanggo nggunakake arsitektur kerangka sing dumadi saka sawetara bagean:

  • Managers piranti - bagean inti
  • Perangkat Hardware Abstraction Layer (HAL).
  • Pesen/Acara

Minangka ditampilake ing Figure 1, liwatview mekanisme saka framework yaiku:

Manajer piranti tanggung jawab kanggo ngatur piranti sing digunakake dening sistem. Saben jinis piranti (input, output, lan liya-liyane) duwe manajer piranti khusus jinis dhewe. Kanthi pangatur piranti diwiwiti sawise piranti didaftarake, bakal ngenteni lan mriksa pesen kanggo ngirim data menyang piranti lan manajer liyane sawise miwiti lan miwiti piranti sing wis kadhaptar. Piranti HAL ditulis ing ndhuwur kode driver tingkat ngisor, mbantu nambah pemahaman kode kanthi abstraksi akeh rincian sing ndasari.

Acara minangka sarana supaya informasi dikomunikasikake antarane piranti sing beda-beda liwat manajer. Nalika acara dipicu, piranti sing pisanan nampa acara kasebut ngandhani acara kasebut menyang manajer, banjur bakal menehi kabar marang manajer liyane sing ditunjuk kanggo nampa acara kasebut.

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

Desain arsitektur kerangka kasebut dipusatake ing telung tujuan utama:

  1. Gampang digunakake
  2. Fleksibilitas/Portabilitas
  3. Kinerja

Kerangka kasebut dirancang kanthi tujuan nyepetake wektu menyang pasar kanggo visi lan aplikasi sinau mesin liyane. Kanggo mesthekake wektu cepet kanggo pasar, iku kritis sing lunak dhewe iku gampang kanggo mangerteni lan ngowahi. Ngelingi tujuan iki, arsitektur kerangka gampang diowahi tanpa mbatesi, lan tanpa biaya kinerja.
Kanggo rincian liyane babagan framework, waca Smart HMI Software Development Pandhuan pangguna (dokumen MCU-SMHMI-SDUG).

Pustaka Grafis Ringan lan Serbaguna (LVGL)
LVGL (Light and Versatile Graphics Library) minangka perpustakaan grafis gratis lan mbukak-sumber sing nyedhiyakake kabeh sing dibutuhake kanggo nggawe GUI sing dipasang kanthi unsur grafis sing gampang digunakake, efek visual sing apik lan jejak memori sing sithik.

Panuntun GUI
GUI Guider minangka alat pangembangan antarmuka pangguna grafis sing ramah pangguna saka NXP sing ngidini pangembangan kanthi cepet tampilan kualitas dhuwur kanthi perpustakaan grafis LVGL open-source. Editor drag-and-drop GUI Guider nggampangake nggunakake akeh fitur LVGL kayata widget, animasi, lan gaya kanggo nggawe GUI kanthi minimal utawa ora ana kodhe.

Kanthi ngeklik tombol, sampeyan bisa mbukak aplikasi ing lingkungan simulasi utawa ngekspor menyang proyek target. Kode sing digawe saka GUI Guider bisa gampang ditambahake menyang proyek sampeyan, nyepetake proses pangembangan lan ngidini sampeyan nambah antarmuka pangguna sing dipasang ing aplikasi sampeyan. GUI Guider gratis digunakake karo tujuan umum NXP lan MCU silang lan kalebu template proyek sing dibangun kanggo sawetara platform sing didhukung. Kanggo mangerteni sing luwih lengkap babagan LVGL lan pangembangan GUI ing GUI Guider, mriksa Light and Versatile Graphics Library lan GUI Guider.

Lingkungan pangembangan

Pisanan, nyiyapake lan nyiyapake lingkungan hardware lan piranti lunak kanggo ngetrapake mantanample ing framework.

Lingkungan hardware
Lingkungan hardware disetel kanggo verifikasi mantanample:

  • Kit pangembangan HMI cerdas adhedhasar NXP i.MX RT117H (kit SLN_TLHMI_IOT)
  • SEGGER J-Link kanthi adaptor Cortex-M 9-pin lan V7.84a utawa versi driver sing luwih anyar

Piranti lunak lingkungan
Lingkungan lunak wis nyiyapake kanggo ngembangaken example:

  • MCUXpresso IDE V11.7.0
  • Panuntun GUI V1.6.1-GA
  • lvgl_gui_camera_preview_cm7 – contoneample kode saka cathetan aplikasi kapindho minangka piranti lunak dhasar pembangunan. Kanggo rincian, ndeleng https://mcuxpresso.nxp.com/appcodehub.
  • RT1170 SDK V2.13.0 - minangka sumber kode kanggo pangembangan.
  • Piranti lunak SLN-TLHMI-IOT V1.1.2 - kode sumber HMI cerdas sing dirilis ing repositori NXP GitHub minangka sumber kode kanggo pangembangan. Kanggo rincian, deleng: GitHub - NXP/mcu-smhmi ing v1.1.2

Kanggo rincian babagan akuisisi lan persiyapan lingkungan piranti lunak, waca: Miwiti karo SLN-TLHMI-IOT.

Arsitektur visi ing kerangka

Arsitektur visi ing kerangka ditampilake ing Gambar 2. Visi algo HAL (OASIS_HAL) nduweni proses ing ngisor iki:

  • Ndhaptar registrasi lan pangenalan liwat model algoritma visi AI&ML sawise nampa acara sing gegandhengan saka output UI HAL. Ngabari asil inferensi saka model algoritma menyang output UI HAL.
  • Ngakses (nambah, mbusak…) database fitur pasuryan adhedhasar cilik file sistem kanthi nelpon API saka FaceDB HAL sawise nampa acara sing gegandhengan saka output UI HAL.
  • Nyuwun pigura video kamera saka kamera HAL nalika nindakake registrasi lan pangenalan pasuryan.

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

Ngleksanakake pangenalan pasuryan ing framework

Pangenalan pasuryan LVGL GUI example (mantanample kasedhiya mengko) ing framework dipun ginakaken adhedhasar exampkode saka Ngleksanakake LVGL GUI Camera Preview ing Framework (dokumen AN14147).

Kanggo nuduhake pangenalan pasuryan ing mantanample, fungsi dhasar saka app GUI (ndeleng layar utama ing Figure 3) dirancang minangka diterangake ing ngisor iki:

  • Aplikasi GUI micu acara registrasi pasuryan utawa pangenalan menyang output UI HAL nalika ngeklik tombol Registrasi utawa Pangenalan. Lan output UI HAL ngandhani acara nambahake pangguna menyang visi algo HAL sawise registrasi pasuryan sukses.
  • Aplikasi GUI micu acara mbusak pangguna menyang output UI HAL nalika ngeklik tombol Busak pangguna sawise pasuryan pangguna dikenali.
  • Aplikasi GUI micu acara mungkasi algo oasis mlaku menyang output UI HAL nalika ngeklik layar ing njaba tombol lan gambar.

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

Siapke paket lunak kanggo implementasine saka example.

  • Kloning piranti lunak dhasar lvgl_gui_camera_preview_cm7. Ganti jeneng proyek lan utama filejeneng kanggo lvgl_gui_face_rec_cm7.
  • Kerangka kasebut kudu dianyari ing piranti lunak amarga kode sumber kanggo inti kerangka wis diwiwiti umum ing GitHub saka versi 1.1.2.
  • Ganti folder framework karo salinan V1.1.2 saka GitHub kajaba kanggo files fwk_log.h lan fwk_common.h ing inc \ lagi wis diowahi kanggo seri cathetan aplikasi. Operasi ditampilake ing Gambar 4:NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (11)
  • Mbusak folder framework_cm7 ing grup libs lan mbusak framework_cm7 perpustakaan lan path panelusuran sing diatur ing Project> Properties> C / C ++ Mbangun> setelan> Setelan Tool> MCU C ++ Linker> Pustaka wiwit kode sumber saka inti diwenehake.

Aktifake fitur pangenalan pasuryan ing framework
Fitur pangenalan pasuryan dibangun ing model algoritma visi ML sing diwenehake minangka perpustakaan statis - perpustakaan runtime oasis lite dening NXP. Pustaka kasebut minangka perpustakaan AI cilik, efisien banget, disesuaikan, lan dioptimalake. Model kasebut kalebu deteksi pasuryan, pangenalan pasuryan, deteksi kaca, lan deteksi liveness. Utamane nyedhiyakake API OASISLT_run_extended () kanggo mbukak pipa pangenalan pasuryan nalika nganyari asil kanggo panelpon liwat callback acara, lan nambah / nganyari / mbusak pasuryan ing database liwat callback database pasuryan sawise nemtokake informasi pigura sumber, callbacks, lan memori. blumbang digunakake dening perpustakaan dening nelpon API liyane OASISLT_init () ing initialization. Panggilan API lan fungsi callback dileksanakake ing visi algo HAL kerangka.

Tambah perpustakaan model algo visi

  1. Salin folder oasis sing ngemot perpustakaan lan header sing gegandhengan file saka pinter HMI\coffee_machine\cm7\libs\ menyang folder libs saka mantanamplan SW.
  2. Tambah path panelusuran header file ing Project > Properties > C/C++ Build > settings > Tool Settings > MCU C compiler > Includes and MCU C++ compiler > Include: “${workspace_loc:/${ProjName}/libs/oasis/include}”
  3. Tambah lib lan path telusuran ing Project > Properties > C/C++ Build > settings > MCU C++ Linker > Libraries: liboasis_lite2D_DEFAULT_117f_ae.a “${workspace_loc:/${ProjName}/libs/oasis}” lan definisi makro kanggo aktifake fitur ing Project> Properties> C/C++ Build> setelan> Setelan Alat> MCU C compiler> Preprocessor lan MCU C++ compiler> Preprocessor: SMART_TLHMI_2D

Aktifake visi algo HAL
Visi algo HAL nyurung model algo visi supaya bisa digunakake lan nanggapi asil menyang HAL output UI sawise nampa acara kasebut.

Kanggo ngaktifake, clone driver HAL sing padha file ing ngendi fungsi ing ngisor iki ditindakake:

  • Ngleksanakake callback operasi database pasuryan lan penanganan acara.
  • Pandu visi algo supaya bisa digunakake kanthi nelpon API perpustakaan oasis.
  • Ngakses database pasuryan pangguna lan database app (ora dibutuhake ing example).
  • Nampa acara saka lan ngirim asil kanggo output UI HAL.

Karya utama kanggo ngleksanakake HAL kanggo mantanampyaiku:

  • Klone driver HAL sing padha file lan ngganti jeneng sing gegandhengan.
  • Mbusak kode sing ana gandhengane karo operasi data app.
  • Nganyari definisi lan fungsi kanggo nangani acara saka output UI HAL saben mantanampngrancang.
  • Tambah konfigurasi sing dibutuhake ing initialization oasis.

Langkah-langkah rinci kaya ing ngisor iki:

  1. Kloning hal_vision_algo_oasis_coffeemachine.c. Ngganti filejeneng kanggo hal_vision_algo_oasis_guifacerec.c. Lan ngganti kabeh strings CoffeeMachine karo GUIFaceRec ing file.
  2. Copot kode sing ngemot senar coffeedb (ora cilik sensitif) related kanggo database app, contoneample, #kalebu hal_sln_coffeedb.h.
  3. Ngowahi fungsi HAL_VisionAlgoDev_OasisGUIFaceRec_InputNotify () kanggo nangani acara saka output UI HAL.
    • Ngganti definisi acara kEventFaceRecId_RegisterCoffeeSelection kanggo kEventFaceRecId_RegisterUserFace lan struktur string regCoffeeSelection kanggo regGUIFaceRec kanggo nangani acara kanggo nambah data fitur pasuryan anyar kanggo database.
    • Kanggo nuduhake proses standar saka tumindak pangenalan pasuryan ing mantanample, ngowahi penanganan ing kasus kEventFaceRecID_OasisSetState kanthi definisi negara:
      • kOASISLiteState
      • Pendaftaran kOASLiteState
      • Pangenalan kOASISLiteState
      • mandheg
  4. Nambah lan ngowahi definisi acara kasebut ing langkah ndhuwur.
    • Nyalin header file smart_tlhmi_event_descriptor.h saka smart HMI\coffee_machine \cm7\source\event_handlers\ menyang sumber folder mantanamplan SW. Nganyari ing file kaya ing ngisor iki:
    • Ngganti definisi acara kEventFaceRecId_RegisterCoffeeSelection kanggo kEventFaceRecId_RegisterUserFace ing jinis enum _event_smart_tlhmi_id lan struktur string regCoffeeSelection kanggo regGUIFaceRec ing struct _event_smart_tlhmi. Dadi, ngganti struct register_coffee_selection_event_t kanggo regCoffeeSelection kanggo register_gui_facerec_event_t.
    • Busak konten liya sing digunakake kanggo aplikasi mesin kopi, contoneample, baris kode babagan swara: #include "hal_event_descriptor_voice.h".
    • Tambah jinis kOASISLiteState_Stopped lan kOASISLiteState_Running menyang jinis enum oasis_lite_state_t ing hal_vision_algo.h ing framework>hal>vision ing proyek kaya ing ngisor iki:
      typedef enum _oasis_lite_state {
      • kOASISLiteState
      • Mlaku, kOASISLiteState
      • Mandheg, kOASLiteState
      • pangenalan,
      • kOASISLiteState
      • Registrasi, kOASISLiteState
      • DeRegistration, kOASISLiteState
      • RemoteRegistration, kOASISLiteState
      • Count
    • Gunakake struct oasis_lite_state_t sing dianyari ing ndhuwur kanggo nyaring struct oasis_state_event_t ing hal_event_descriptor_face_rec.h ing framework> hal> sesanti ing project ing ngisor iki: typedef struct _oasis_state_event_t {negara oasis_lite_state_t; } oasis_state_event_t;
  5. Ganti kabeh kEventInfo_Remote dadi kEventInfo_Local kanggo ngirim acara saka visi algo HAL menyang HAL liyane sing mlaku ing inti sing padha karo inti tunggal tinimbang dual-inti digunakake ing mantanample.
  6. Nambah lan ngowahi konfigurasi ing ngisor iki kanggo initialization oasis ing OASISLT_init ():
    • Tambah definisi makro lan bagean memori kanggo pigura video ing 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) \
      • __atribut__((bagean(“.bss.$fb_sh_mem,\”aw\”,%nobit @”))) var
      • __attribute__((aligned(alignbytes)))
    • Konfigurasi penugasan memori menyang bagean memori ing ndhuwur fb_sh_mem ing Project> Properties> C/C++ Build> Setelan MCU sing ditampilake ing Gambar 5:NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (12)
    • Wara-wara global variabel g_DTCOPBuf ing lvgl_gui_face_rec_cm7.cpp: AT_NONCACHEABLE_SECTION_ALIGN_DTC (uint8_t g_DTCOPBuf [DTC_OPTIMIZE_BUFFER_SIZE], 4);
    • Terus nambahake definisi sing digunakake ing variabel ing ndhuwur:
    • Netepake bagean ndhuwur ing board_define.h:
      • #define AT_NONCACHEABLE_SECTION_ALIGN_DTC(var, alignbytes) \
      • atribut__((bagean(“.bss.$SRAM_DTC_cm7,\”aw\”,%nobit @”))) var
      • atribut__((selaras(alignbytes)))
    • Kalebu header file hal_vision_algo.h ngemot definisi makro DTC_OPTIMIZE_BUFFER_SIZE ing app_config.h kalebu ing lvgl_gui_face_rec_cm7.cpp.
  7. Setel variabel s_debugOption dadi bener kanggo nuduhake status kemajuan ing pangenalan pasuryan.
  8. Tambah path panelusuran header files saka visi HAL ing Project> Properties> C/C++ Build> setelan> Setelan Alat> MCU C compiler> Kalebu lan MCU C++ compiler> Kalebu: "${workspace_loc:/${ProjName}/framework/hal/vision}"
  9. Tambah definisi ing ngisor iki kanggo ngaktifake visi algo HAL ing board_define.h: #define ENABLE_VISIONALGO_DEV_Oasis_GUIFaceRec

Aktifake output UI HAL
Output UI HAL ngandhani acara menyang visi algo HAL lan nanggapi asil inferensi saka visi algo HAL. Kanthi aplikasi GUI, acara kasebut umume dipicu dening app lan asil ditampilake ing app.

Kanggo ngaktifake, clone driver HAL sing padha file ing ngendi umume fungsi ing ngisor iki ditindakake:

  • Kabar acara kanggo pangenalan pasuryan lan akses database.
  • Ngleksanakake callback kanggo aplikasi GUI kanggo pemicu acara.
  • Nangani asil inferensi saka modul algo visi.
  • Tampilake proses lan asil acara sing ditangani ing UI kanthi garis kemajuan sing dikontrol nganggo timer lan persegi panjang pandhuan pasuryan.

Karya utama kanggo ngleksanakake HAL kanggo mantanampsing digunakake ing dokumen iki yaiku:

  • Klone driver HAL sing padha file lan ngganti jeneng sing gegandhengan.
  • Mbusak kode sing gegandhengan karo app.
  • Nganyari fungsi kanggo kabar acara lan respon asil saben mantanampngrancang.
  • Tambah callback kanggo aplikasi GUI kanggo micu acara.

Langkah-langkah rinci kaya ing ngisor iki:

  1. Kloning hal_output_ui_coffee_machine.c. Ngganti filejeneng kanggo hal_ output_ui_guifacerec.c.
  2. Ganti kabeh strings CoffeeMachine karo GUIFaceRec ing file.
  3. Copot kode sing ana gandhengane karo app - mesin kopi.
    • Copot fungsi WakeUp () lan _StandBy () lan kode sing gegandhengan (bisa nelusuri string wake_up lan siyaga kanggo wong-wong mau).
    • Mbusak praview acara mode nangani kode related ing HAL_OutputDev_UiGUIFaceRec_Input Notify ().
    • Mbusak fungsi UI_xxx_Callback () lan kode sing ngemot string gui_ lan layar related kanggo GUI saka mesin kopi kajaba gui_set_virtual_face () kanggo preview fitur mode.
    • Mbusak kabeh kode sing ana gandhengane karo variabel s_IsWaitingAnotherSelection lan s_IsWaitingRegisterSelection sing ana gandhengane karo aplikasi mesin kopi.
    • Copot kode sing ana gandhengane karo swara, audio, lan basa. Kanggo example:
      • #include "hal_voice_algo_asr_local.h",
      • #include "hal_event_descriptor_voice.h"
  4. Kanggo macem-macem kabar acara, ngleksanakake fungsi anyar _OutputManagerNotify (), _SetFaceRec (), _RegisterGUIFaceRec (), lan DeregisterGUIFaceRec () referring kanggo fungsi _StopFaceRec (), _RegisterCoffeeSelection (), lan Deregister (CoffeeSelection).
    • _OutputManagerNotify () ngleksanakake fungsi output acara dhasar kanggo ngirim acara menyang sesanti algo HAL. Fungsi ing ngisor iki diarani kanggo ngirim acara dhewe.
    • _SetFaceRec () ngirim acara kEventFaceRecID_OasisSetState kanggo pemicu algo sesanti kanggo registrasi pasuryan, pangenalan, lan mungkasi algo.
    • _RegisterGUIFaceRec () ngirim acara kEventFaceRecId_RegisterGUIFaceRec sing ditetepake ing smart_tlhmi_event_descriptor.h kanggo nambah data fitur pasuryan kanggo database nalika registrasi OK.
    • DeregisterGUIFaceRec () ngirim acara kEventFaceRecID_DelUser kanggo mbusak data fitur pasuryan saka database nalika ngliwati pangenalan pasuryan.
  5. Nganyari kode kanggo njupuk tindakan sing cocog kalebu refresh GUI kanthi nelpon API saka aplikasi LVGL GUI kanggo asil inferensi saka registrasi pasuryan lan pangenalan ing fungsi _InferComplete_Vision() saben mantanampdesaine. Kanggo example, nalika registrasi pasuryan sukses,
    • Mungkasi nuduhake kemajuan kanthi nelpon _FaceRecProcess_Stop ();
    • Mungkasi registrasi pasuryan kanthi nelpon _SetFaceRec(kOAASISLiteState_Stopped);
    • Tampilake asil sukses ing GUI: gui_show_face_rec_result(kFaceRecResult_OK, s_UserId);
    • Ndhaptar data pasuryan menyang database: _RegisterUserFace(s_UserId);
  6. Tambah fungsi callback UI kanggo nangani acara: praview, registrasi pasuryan, pangenalan, lan mbusak pangguna sing dipicu saka GUI. Kanggo example, telpon maneh registrasi pasuryan: void UI_Registration_Callback(){ _SetFaceRec(kOASISLiteState_Registration); _FaceRecProcess_Start(); }
    • Lan nambah fungsi _FaceRecProcess_Start () lan _FaceRecProcess_Stop () kanggo nuduhake kemajuan lan status ing acara beda lan asil.
    • Nganyari fungsi callback ISR timer _SessionTimer_Callback () kanggo nangani kasus wektu entek kanthi nelpon: gui_show_face_rec_result (kFaceRecResult_TimeOut, s_UserId);
  7. Tambah definisi ing ngisor iki kanggo ngaktifake HAL output UI ing board_define.h: #define ENABLE_OUTPUT_DEV_UiGUIFaceRec

Kabar:
Kanggo nampilake fitur pangenalan pasuryan sing luwih apik, tetepake fungsi kanggo nuduhake proses lan asil pangenalan pasuryan ing UI HAL output. Fungsi kasebut diandharake kaya ing ngisor iki

  • Persegi panjang panuntun pasuryan nuduhake biru, lan garis kemajuan nuduhake kemajuan nalika miwiti registrasi utawa pangenalan pasuryan.
  • Persegi panjang panuntun pasuryan nuduhake abang nalika registrasi pasuryan kasil.
  • Persegi panjang panuntun pasuryan nuduhake ijo nalika pangenalan pasuryan wis sukses.
  • Persegi panjang panuntun pasuryan tetep biru, lan garis kemajuan nuduhake kemajuan lengkap nalika tumindak ora kasil sawise wektu kadaluwarsa. Ing wektu iku, mungkasi registrasi pasuryan utawa pangenalan.

Bar kemajuan lan persegi dowo panuntun pasuryan ditampilake minangka lambang sing dibangun ing binar sumber daya file kanggo diprogram dadi Flash. Pitunjuk kanggo data lambang ing SDRAM disetel ing fungsi LoadIcons(APP_ICONS_BASE) disebut ing output UI HAL initialization piranti ing output UI HAL. Sampeyan kudu ngetrapake dhukungan lambang kanggo fungsi kasebut.

Ngleksanakake dhukungan lambang

  1. Gawe sumber sing nggabungake lambang karo gambar sing digunakake ing aplikasi LVGL GUI:
    • Kloning header lambang papat files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h, lan virtual_face_red_420x426.h saka smart HMI
      \coffee machine\resource\icons\ menyang lambang folder anyar ing folder sumber daya mantanamplan SW.
    • Tambah path panelusuran kanggo lambang papat files ing kamera_preview_resource.txt file ing folder sumber daya, contoneample: lambang ../resource/icons/process_bar_240x14.h
    • Eksekusi camera_preview_resource_build.bat kanggo mbangun gambar lan lambang sumber daya kanggo generate bin file kamera_preview_resource.bin lan info file resource_information_table.txt (Waca Gambar 6).NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (13)
  2. Netepake alamat wiwitan ing SDRAM lan ukuran lambang ing app_config.h. Alamat kasebut diwiwiti ing jejere gambar aplikasi GUI. Ukuran kui ing info file. #define APP_ICONS_BASE (APP_RES_SHMEM_BASE + APP_LVGL_IMGS_SIZE) #define APP_ICONS_SIZE 0x107c40
  3. Nganyari ukuran diutus bagean memori jenenge res_sh_mem kanggo 0x200000 dening redefining ing app_config.h: #define RES_SHMEM_TOTAL_SIZE 0x200000 lan setelan cocog ing Project> Properties> C / C ++ Mbangun> setelan MCU.
  4. Tambah ukuran lambang kanggo ukuran total sumber daya dimuat saka Flash kanggo SDRAM ing fungsi APP_LoadResource () ing utama. file lvgl_gui_face_rec_cm7.cpp: memcpy((kosong *)APP_LVGL_IMGS_BASE, pLvglImages, APP_LVGL_IMGS_SIZE + APP_ICONS_SIZE);

Kabar: Kanggo ngrampungake fitur pangenalan pasuryan, dhukungan aplikasi LVGL GUI dibutuhake. Fungsi callback UI ing output UI HAL diarani aplikasi LVGL GUI kanggo nangani acara saka layar UI. Ing sisih liya, output UI HAL nelpon API saka aplikasi LVGL GUI kanggo nganyari UI kanggo nuduhake asil lan status. Pangembangan aplikasi LVGL GUI relatif independen lan dikenalake ing Bagean 4.3.

4.1.5 Miwiti piranti lan manajer HAL kanggo pangenalan rai
Visi sing diaktifake algo HAL lan UI output HAL lan manajere diwiwiti ing utama file
lvgl_gui_face_rec_cm7.cpp sawise konversi pembangunan ing framework kaya ing ngisor iki:

  1. Kalebu header file gegandhengan karo loro manajer HAL kanthi nambahake baris kode:
    • #include ” fwk_output_manager.h “
    • #include "fwk_vision_algo_manager.h"
  2. Nyatakake piranti HAL:
    • HAL_VALGO_DEV_DECLARE(OasisGUIFaceRec);
    • HAL_OUTPUT_DEV_DECLARE(UiGUIFaceRec);
  3. Ndhaptar piranti HAL:
    • HAL_VALGO_DEV_REGISTER(OasisGUIFaceRec, ret);
    • HAL_OUTPUT_DEV_REGISTER(UiGUIFaceRec, ret);
  4. Miwiti manajer:
    • FWK_MANAGER_INIT(VisionAlgoManager, ret);
    • FWK_MANAGER_INIT(OutputManager, ret);
  5. Miwiti manajer:
    • FWK_MANAGER_START(VisionAlgoManager, VISION_ALGO_MANAGER_TASK_PRIORITY, ret);
    • FWK_MANAGER_START(OutputManager, OUTPUT_MANAGER_TASK_PRIORITY, ret);
  6. Netepake prioritas tugas manajer:
    • #define VISION_ALGO_MANAGER_TUGAS_PRIORITY 3
    • #define OUTPUT_MANAGER_TUGAS_PRIORITY 1

Tambah dhukungan database pasuryan ing framework
Data fitur pasuryan sing kadhaptar diakses ing basis data pasuryan sing disimpen ing Flash liwat sethithik file sistem. Langkah-langkah kanggo nambah dhukungan database pasuryan diterangake ing ngisor iki.

Tambah driver kanggo panyimpenan Flash
Nyalin driver antarmuka Flash FlexSPI files fsl_flexspi.c lan fsl_flexspi.h, lan driver enkripsi data files fsl_caam.c lan fsl_caam.h saka path SDK_2_13_0_MIMXRT1170-EVK\devices \MIMRX1176\drivers\ menyang folder driver saka mantanamplan SW.

Tambah dhukungan papan tingkat

  1. Tambah definisi FlexSPI sing digunakake kanggo piranti Flash ing papan ing board.h:
    • #netepake BOARD_FLEXSPI FLEXSPI1
    • #netepake BOARD_FLEXSPI_CLOCK kCLOCK_FlexSpi1
    • #define BOARD_FLEXSPI_AMBA_BASE FlexSPI1_AMBA_BASE
  2. Nyalin operator lan konfigurasi files saka piranti Flash flexspi_nor_flash_ops.c, flexspi_nor_flash_ops.h, sln_flash_config.c, sln_flash_config_w25q256jvs.h, andsln_flash_ops.h ing sangisore path pinter HMI\coffee_machine\cm7\source menyang\folder.amplan SW.
    • Busak centhang "Exclude resource from build" ing C/C++ Build > Settings sawise ngeklik tengen ing filejeneng lan mbukak Properties supaya bisa dibangun ing proyek kasebut.
  3. Ngganti header sing kalebu filejeneng sln_flash_config.h kanggo sln_flash_config_w25q256jvs.h ing sln_flash_config.c lan flexspi_nor_flash_ops.h.
  4. Setel sumber jam FlexSPI1 ing file clock_config.c nuduhake app mesin kopi.

Tambah adaptor lan dhukungan tingkat tengah

  1. Nyalin files sln_flash.c, sln_flash.h, sln_encrypt.c, lan sln_encrypt.h minangka driver adaptor kanggo file sistem lan aplikasi saka dalan HMI pinter \ coffee_machine \ cm7 \ source \ menyang sumber folder mantanample. Nganyari anyar files:
    • Busak centhang "Ngilangake sumber daya saka mbangun" kanggo mbangun.
    • Ngganti kabeh header sing kalebu file jeneng sln_flash_config.h kanggo sln_flash_config_w25q256jvs.h.
  2. Salin folder kasebut filesistem ngemot API kanggo sethitik filesistem lan driver HAL saka pinter HMI \ coffee_machine \ cm7 \ sumber \ kanggo Examplan SW. Lan nganyari kanggo folder anyar:
    • Busak centhang "Buang sumber daya saka mbangun" kanggo mbangun.
    • Tambah path kalebu ing setelan proyek: "${workspace_loc:/${ProjName}/filesistem}"
    • Ngganti header sing kalebu file jeneng sln_flash_config.h kanggo sln_flash_config_w25q256jvs.h lan fica_definition.h kanggo app_config.h ing file sln_flash_littlefs.h.
  3. Salin folder littlefs ngemot ware tengah - sethitik filesistem saka path SDK_2_13_0_ MIMXRT1170-EVK\middleware\ menyang mantanamplan SW. Lan nganyari folder anyar:
    • Busak centhang "Buang sumber daya saka mbangun" kanggo mbangun.
    • Tambah path kalebu ing setelan proyek: "${workspace_loc:/${ProjName}/littlefs}"

Tambah driver HAL 

  • Ana rong piranti HAL - file sistem lan pasuryan database HAL didhukung kanggo fitur akses database lan padha wis dipun ginakaken ing framework tanpa owah-owahan. Aktifake kanthi nambahake definisi ing ngisor iki ing board_define.h:
    • #define ENABLE_FLASH_DEV_Littlefs
    • #define ENABLE_FACEDB

Lan ngganti jeneng database pasuryan kanggo mantanample: #define OASIS_FACE_DB_DIR "oasis_gui_face_rec"

Tambah dhukungan tingkat app

  1. Nganyari utama file lvgl_gui_face_rec_cm7.cpp:
    • Kalebu header file related kanggo Flash file manajer sistem HAL kanthi nambahake baris kode: #include "fwk_flash.h"
    • Pranyatan lan ndhaftar file piranti sistem HAL:
      • HAL_FLASH_DEV_DECLARE(Littlefs);
      • HAL_FLASH_DEV_REGISTER(Littlefs, ret);
        Cathetan: Ing file piranti HAL sistem kudu kedhaftar sadurunge kabeh Managers piranti initialized ing fungsi APP_InitFramework ().
    • Nelpon fungsi BOARD_ConfigMPU () ing APP_BoardInit () kanggo config MPU.
  2. Setel ing file assignment sistem ing Flash ing file app_config.h kanthi nemtokake definisi makro sing digunakake ing file sln_flash_littlefs.h:
    • #define FICA_IMG_FILE_SYS_ADDR (FLASH_IMG_SIZE + RES_SHMEM_TOTAL_SIZE)
    • #define FICA_FILE_SYS_SIZE (0x280000)

Konfigurasi
Sawetara kode sing gegandhengan karo Flash dieksekusi ing wilayah SRAM ITC kanggo kinerja sing cukup. Nyalin skrip link folder sing ngemot konfigurasi linker saka path smart HMI\coffee_machine\cm7\ menyang mantanamplan SW.

Ngleksanakake aplikasi LVGL GUI
Pangembangan aplikasi LVGL GUI adhedhasar framework nelpon API saka output UI HAL lan nyedhiyakake API kanggo output UI HAL (Waca Bagean 4.1.3 kanggo implementasine UI HAL output).

Nanging, implementasine rinci aplikasi LVGL GUI gumantung saka syarat lan desain aplikasi kasebut. Aplikasi GUI ing mantan ikiampIki dirancang kaya sing diterangake ing wiwitan bagean 4.

Ing ngisor iki introduksi implementasine:

  1. Kode selaras dileksanakake ing custom.c lan custom.h diwenehi dening GUI Guider minangka antarmuka antarane project GUI Guider lan project sistem ditempelake.
    •  Tambah fungsi anyar sing jenenge gui_xxx() ing custom.c kanggo entuk fungsi ing ngisor iki:
      • Kanggo output UI HAL lan aplikasi GUI kanggo nganyari UI.
      • Kanggo aplikasi GUI pemicu acara kanthi nelpon fungsi callback UI saka output UI HAL.
        Kanggo example, fungsi anyar gui_event_face_rec_action () nelpon fungsi callback UI kanggo nangani salah siji saka acara registrasi pasuryan, pasuryan pangenalan lan mbusak pangguna micu saka app GUI nalika tombol related diklik.
        Cathetan: Fungsi gui_set_virtual_face() disebut ing output UI HAL kanggo preview mode kudu dileksanakake ing custom.c:
    •  Klone fungsi gui_set_virtual_face () saka pinter HMI \ coffee_machine \ cm4 \ custom \ custom.c.
    •  Ganti jeneng widget home_img_cameraPreview menyang screen_img_camera_preview ing fungsi.
    •  Ngleksanakake fungsi callback UI kanthi prototipe sing padha kanggo kabeh sing ana ing output UI HAL ing kontrol definisi makro #ifndef RT_PLATFORM ing custom.c amarga kompatibel karo proyek GUI Guider amarga fungsi kasebut ing output UI HAL gumantung karo platform ditempelake. Ing custom.c, padha gumantung ing simulator ing guider GUI lan mandhiri menyang platform ditempelake. Kanggo example, callback registrasi pasuryan dileksanakake kaya ing ngisor iki kanggo simulator GUI Guider mlaku: #ifndef RT_PLATFORM void UI_Registration_Callback() {gui_hide_del_user_btn(true); s_InAction = palsu; bali; }
      Cathetan: Waca prototipe padha fungsi ngenalaken ing langkah 6 saka bagean 4.1.3
      Definisi makro RT_PLATFORM disetel ing setelan proyek MCUXpresso kaya sing ditampilake ing Gambar 7:NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (14)
    • Nyatakake kabeh fungsi sing dijenengi UI_xxx_Callback () lan gui_xxx () ing custom.h lan nambah custom.h klebu ing smart_tlhmi_event_descriptor.h kanggo nuduhake API GUI kanggo UI output HAL.
  2. Ngembangake GUI ing GUI Guider:
    • Kloning folder kamera praview ngemot piranti lunak proyek GUI Guider ing folder gui_guider ing paket piranti lunak dhasar lvgl_gui_camera_preview_cm7. Ganti jeneng sing gegandhengan camera_preview kanggo face_rec kanggo mantan anyarample.
    • Nyalin custom.c lan adat sing dianyari ing ndhuwur. h menyang piranti lunak proyek GUI Guider anyar.
    •  Bukak proyek face_rec anyar ing GUI Guider. Nganyari kaya ing ngisor iki:
      • Tambah tombol anyar kanthi label Busak pangguna. Tambah gendera sing Didhelikake supaya tombol kasebut didhelikake nalika aplikasi GUI diwiwiti.
      • Tambah baris kode nelpon API gui_event_face_rec_action () karo parameter ID acara beda ing pemicu "Dirilis" ing Setelan Event kabeh tombol Registration, Pangenalan lan Busak pangguna kanggo micu acara registrasi pasuryan, pangenalan pasuryan lan mbusak pangguna. Gambar 8 nuduhake kode kanggo acara tombol Registrasi:NXP-AN14263-Implement-LVGL-GUI Face-Recognition-on-Framewor-fig- (15)
  3. Nganyari kode sing digawe saka GUI Guider menyang proyek MCUXpresso.
    • Ganti isi kajaba gambar folder ing folder kui saka project MCUXpresso SW karo sing cocog ing folder kui saka GUI Guider project SW.

Cathetan: Kanggo rincian liyane babagan modifikasi ngenalaken ndhuwur, mriksa Examplunak ing https://mcuxpresso.nxp.com/appcodehub.

Verifikasi karo mantanampproyek iki

Kanggo njaluk mantanamppaket piranti lunak sing ngemot sumber daya lan alat kanggo cathetan aplikasi iki, bukak: https://mcuxpresso.nxp.com/appcodehub. Bukak mantanample project ing MCUXpresso IDE. Mbangun lan program .axf file menyang alamat 0x30000000 lan program bin sumber file kamera_preview_resource.bin menyang alamat 0x30800000.

Pangenalan pasuryan LVGL GUI exampkerjane biasane kaya ing ngisor iki:

  • Praview: Kanthi daya munggah, video stream dijupuk dening kamera nuduhake ing area tartamtu saka kamera praview ing layar GUI. Label status nampilake "Praview”. Kanggo rincian, waca Gambar 3. Tombol Busak pangguna didhelikake. Nalika ngeklik area njaba tombol lan gambar, nuduhake praview kaya ing ndhuwur sawise registrasi pasuryan utawa tumindak pangenalan rampung.
  • Pendaftaran:
    • tartup: Nalika tombol Registration diklik, registrasi pasuryan diwiwiti. Label status ganti kanggo nampilake "Registration...", persegi dowo guide pasuryan nuduhake biru, lan garis kemajuan wiwit nuduhake kemajuan. Priksa manawa pasuryan pangguna nuduhake menyang persegi dowo pasuryan biru kanggo registrasi.
    • sukses: Label status nuduhake “Registration…OK” lan nomer ID pangguna sing wis kadhaptar, persegi dowo guide pasuryan dadi abang yen registrasi pasuryan sukses sadurunge kemajuan katon lengkap ing garis.
    • Gagal -> Wektu entek: Label status nuduhake "Registration...Time out" yen registrasi pasuryan isih gagal nalika kemajuan katon kebak ing garis.
    • Gagal -> Duplikasi: Label status nuduhake "Registration... Failed", persegi dowo guide pasuryan dadi ijo yen pasuryan kadhaptar dikenali sadurunge kemajuan katon lengkap ing garis.
  • ecognition:
    • Startup: Nalika tombol Pangenalan diklik, pangenalan pasuryan diwiwiti. Label status ganti kanggo nampilake "Pengenalan ...", persegi dowo pandhuan pasuryan nuduhake biru, lan garis kemajuan wiwit nuduhake kemajuan. Priksa manawa pasuryan pangguna ditampilake ing persegi panjang pandhuan pasuryan biru kanggo registrasi.
    • sukses: Label status nuduhake "Pengenalan...OK" lan nomer ID pangguna sing diakoni, persegi dowo pandhuan pasuryan dadi ijo yen pangenalan pasuryan sukses sadurunge kemajuan katon lengkap ing garis. Ing titik kasebut, tombol Busak pangguna katon. Iku tegese pangguna diijini dibusak mung nalika dikenali.
    • kesel: Label status nuduhake "Pengenalan… Wektu entek" yen pangenalan pasuryan isih gagal nalika kemajuan katon kebak ing garis.
  • Busak Panganggo: Nalika tombol "Busak Panganggo" diklik, sawise pangenalan pasuryan kasil, label status ganti kanggo nampilake "Busak Panganggo…OK" karo persegi dowo guide pasuryan dadi biru lan kemajuan nuduhake lengkap ing garis. Tombol Busak pangguna didhelikake maneh. Pasuryan / pangguna sing diakoni dibusak saka database. Tegese pasuryan / pangguna iki ora bisa dikenali nganti didaftar maneh.

Wigati babagan kode sumber ing dokumen kasebut
ExampKode sing ditampilake ing dokumen iki nduweni hak cipta lan lisensi BSD-3-Clause:

Hak Cipta 2024 NXP Distribusi lan digunakake ing sumber lan formulir binar, kanthi utawa tanpa modifikasi, diidini yen syarat-syarat ing ngisor iki dipenuhi:

  1. Distribusi ulang kode sumber kudu njaga kabar hak cipta ing ndhuwur, dhaptar kahanan iki lan wewaler ing ngisor iki.
  2. Distribusi ulang ing wangun binar kudu ngasilake kabar hak cipta ing ndhuwur, dhaptar kahanan iki lan wewaler ing ngisor iki ing dokumentasi lan / utawa bahan liyane kudu diwenehake karo distribusi kasebut.
  3. Jeneng sing nduwèni hak cipta utawa jeneng kontributoré ora bisa digunakake kanggo nyetujui utawa promosi produk sing asalé saka piranti lunak iki tanpa idin tinulis khusus.

SOFTWARE IKI DISEDIAKAN DENING SING nduwèni HAK CIPTA lan kontributor "AS IS" LAN ANY JAMINAN EXPRESS UTAWA TERSIRAT, Klebu, nanging ora winates kanggo, JAMINAN TERSIRAT saka MERCHANTABILITY lan FITNESS kanggo tujuan tartamtu. Ora ana sing nduwèni hak cipta utawa kontributor TANGGUNG JAWAB LANGSUNG, LANGSUNG, INCIDENTAL, KHUSUS, EXEMPLARY, UTAWA KERUSAKAN KONSEKUENSIAL (kalebu, nanging ora winates kanggo, pengadaan barang substitusi utawa layanan, layanan, layanan; UTAWA GANGGUAN BISNIS) Nanging nyebabake lan ing sembarang teori tanggung jawab, apa ing kontrak, TANGGUNG JAWAB STRICT, UTAWA TORT (kalebu teledor UTAWA liyane) njedhul ing sembarang cara metu saka nggunakake piranti lunak iki, sanajan saka saran saka saran.

Riwayat revisi

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

Informasi hukum

Definisi
Draft - A konsep status ing document nuduhake yen isi isih ing re internalview lan tundhuk persetujuan resmi, sing bisa nyebabake modifikasi utawa tambahan. NXP Semiconductors ora menehi perwakilan utawa garansi babagan akurasi utawa kelengkapan informasi sing kalebu ing versi draf dokumen lan ora duwe tanggung jawab kanggo akibat saka panggunaan informasi kasebut.

Penafian

  • babar pisan winates lan tanggung jawab - Informasi ing dokumen iki dipercaya akurat lan dipercaya. Nanging, NXP Semiconductors ora menehi perwakilan utawa jaminan, sing ditulis utawa diwenehake, babagan akurasi utawa jangkep informasi kasebut lan ora duwe tanggung jawab kanggo akibat saka panggunaan informasi kasebut. NXP Semiconductors ora tanggung jawab kanggo isi ing dokumen iki yen diwenehake dening sumber informasi ing njaba NXP Semiconductors.
    NXP Semiconductors ora bakal tanggung jawab kanggo karusakan ora langsung, insidental, punitive, khusus utawa konsekuensial (kalebu - tanpa watesan - ilang bathi, ilang tabungan, gangguan bisnis, biaya sing ana gandhengane karo penghapusan utawa panggantos produk utawa biaya kerja ulang) utawa ora karusakan kuwi adhedhasar tort (kalebu teledor), babar pisan, nerbitake kontrak utawa teori legal liyane.
    Senadyan karusakan apa wae sing bisa ditindakake dening pelanggan kanthi alasan apa wae, tanggung jawab agregat lan kumulatif NXP Semikonduktor marang pelanggan kanggo produk sing diterangake ing kene bakal diwatesi miturut Katentuan lan kahanan adol komersial NXP Semikonduktor.
  • Hak kanggo nggawe owah-owahan - NXP Semiconductors nduweni hak kanggo ngowahi informasi sing diterbitake ing dokumen iki, kalebu tanpa watesan spesifikasi lan deskripsi produk, kapan wae lan tanpa kabar. Dokumen iki ngganti lan ngganti kabeh informasi sing diwenehake sadurunge diterbitake.
  • Cocog kanggo nggunakake - Produk NXP Semiconductors ora dirancang, sah utawa dijamin cocok kanggo digunakake ing dhukungan urip, sistem utawa peralatan sing kritis utawa safety-kritis, utawa ing aplikasi sing gagal utawa malfungsi produk NXP Semikonduktor bisa diduga nyebabake bundhas pribadi, pati utawa property abot utawa karusakan lingkungan. NXP Semikonduktor lan panyedhiya ora tanggung jawab kanggo kalebu lan/utawa nggunakake produk NXP Semikonduktor ing peralatan utawa aplikasi kasebut lan mulane kalebu lan/utawa panggunaan kasebut tanggung jawab kanggo pelanggan.
  • Aplikasi — Aplikasi sing diterangake ing kene kanggo samubarang produk iki mung kanggo ilustrasi. NXP Semiconductors ora menehi perwakilan utawa garansi manawa aplikasi kasebut cocog kanggo panggunaan sing ditemtokake tanpa tes utawa modifikasi luwih lanjut.
    Pelanggan tanggung jawab kanggo desain lan operasi aplikasi lan produk sing nggunakake produk NXP Semiconductors, lan NXP Semiconductors ora tanggung jawab kanggo bantuan karo aplikasi utawa desain produk pelanggan. Tanggung jawab tunggal pelanggan kanggo nemtokake manawa produk NXP Semiconductors cocok lan pas kanggo aplikasi lan produk sing direncanakake, uga kanggo aplikasi sing direncanakake lan panggunaan pelanggan pihak katelu. Pelanggan kudu menehi desain lan perlindungan operasi sing cocog kanggo nyilikake risiko sing ana gandhengane karo aplikasi lan produk. NXP Semiconductors ora nampa tanggung jawab sembarang related kanggo gawan sembarang, karusakan, biaya utawa masalah kang adhedhasar sembarang kekirangan utawa gawan ing aplikasi utawa produk customer, utawa aplikasi utawa digunakake dening customer pihak katelu (e). Pelanggan tanggung jawab kanggo nindakake kabeh tes sing dibutuhake kanggo aplikasi lan produk pelanggan nggunakake produk NXP Semiconductors supaya ora dadi standar aplikasi lan produk utawa aplikasi utawa digunakake dening pelanggan pihak katelu. NXP ora nanggung tanggung jawab babagan iki.
  • Sarat lan kahanan sale komersial — Produk NXP Semiconductors didol tundhuk karo syarat umum lan kahanan adol komersial, kaya sing diterbitake ing https://www.nxp.com/profile/ syarat, kajaba digunakake sarujuk ing persetujuan individu ditulis bener. Ing kasus persetujuan individu rampung mung syarat lan katemtuan saka persetujuan pamilike bakal ditrapake. NXP Semiconductors kanthi iki kanthi tegas mbantah kanggo ngetrapake syarat lan kahanan umum pelanggan babagan tuku produk NXP Semiconductors dening pelanggan.
  • Kontrol ekspor - Dokumen iki uga item (e) sing diterangake ing kene bisa uga tundhuk karo peraturan kontrol ekspor. Ekspor bisa uga mbutuhake wewenang sadurunge saka panguwasa sing kompeten.
  • Cocog kanggo digunakake ing produk qualified non-otomotif - Kajaba dokumen iki kanthi tegas nyatakake yen produk NXP Semiconductors khusus iki nduweni kualifikasi otomotif, produk kasebut ora cocok kanggo panggunaan otomotif. Ora qualified utawa dites sesuai karo tes otomotif utawa syarat aplikasi. NXP Semiconductors ora tanggung jawab kanggo inklusi lan / utawa nggunakake produk qualified non-otomotif ing peralatan utawa aplikasi otomotif.
    Yen pelanggan nggunakake produk kanggo desain lan digunakake ing aplikasi otomotif kanggo spesifikasi lan standar otomotif, pelanggan (a) kudu nggunakake produk kasebut tanpa jaminan NXP Semikonduktor kanggo produk kasebut kanggo aplikasi, panggunaan lan spesifikasi otomotif kasebut, lan ( b) nalika pelanggan nggunakake produk kanggo aplikasi otomotif ngluwihi spesifikasi NXP Semikonduktor, panggunaan kasebut mung dadi resiko pelanggan dhewe, lan (c) pelanggan menehi ganti rugi kanthi lengkap NXP Semikonduktor kanggo tanggung jawab, kerusakan utawa klaim produk sing gagal amarga desain lan panggunaan pelanggan. produk kanggo aplikasi otomotif ngluwihi babar pisan standar NXP Semikonduktor lan spesifikasi produk NXP Semikonduktor.
  • Terjemahan — Versi non-Inggris (diterjemahake) saka dokumen, kalebu informasi hukum ing dokumen kasebut, mung kanggo referensi. Versi Inggris bakal ditrapake yen ana bedo antarane versi terjemahan lan Inggris.
  • Keamanan — Pelanggan mangertos manawa kabeh produk NXP bisa ngalami kerentanan sing ora dingerteni utawa ndhukung standar keamanan utawa spesifikasi sing wis ditemtokake kanthi watesan sing dingerteni. Pelanggan tanggung jawab kanggo desain lan operasi aplikasi lan produk sajrone siklus urip kanggo nyuda efek saka kerentanan kasebut ing aplikasi lan produk pelanggan. Tanggung jawab pelanggan uga ngluwihi teknologi mbukak lan/utawa eksklusif liyane sing didhukung produk NXP kanggo digunakake ing aplikasi pelanggan. NXP ora tanggung jawab kanggo kerentanan apa wae. Pelanggan kudu rutin mriksa nganyari keamanan saka NXP lan tindakake kanthi tepat. Pelanggan kudu milih produk kanthi fitur keamanan sing paling cocog karo aturan, peraturan, lan standar aplikasi sing dituju lan nggawe keputusan desain sing paling penting babagan produk lan tanggung jawab mung kanggo netepi kabeh syarat legal, peraturan, lan keamanan babagan produke, preduli. informasi utawa dhukungan sing bisa diwenehake dening NXP.

NXP duwe Product Security Incident Response Team (PSIRT) (bisa digayuh ing PSIRT@nxp.com) sing ngatur investigasi, laporan, lan release solusi kanggo kerentanan keamanan produk NXP.
NXP BV - NXP BV dudu perusahaan operasi lan ora nyebarake utawa ngedol produk.

merek dagang
Kabar: Kabeh merek sing dirujuk, jeneng produk, jeneng layanan, lan merek dagang minangka properti sing nduweni.

NXP — wordmark lan logo iku merek dagang saka 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 — minangka merek dagang lan/utawa merek dagang kadhaptar saka Arm Limited (utawa anak perusahaan utawa afiliasi) ing AS lan/utawa ing papan liya. Teknologi sing gegandhengan bisa dilindhungi dening samubarang utawa kabeh paten, hak cipta, desain lan rahasia dagang. Kabeh hak dilindhungi undhang-undhang.

  • i.MX - iku merek dagang saka NXP BV
  • J-Link - iku merek dagang saka SEGGER Microcontroller GmbH.

Microsoft, Azure, lan ThreadX - minangka merek dagang saka grup perusahaan Microsoft.

Wigati dimangerteni manawa kabar penting babagan dokumen iki lan produk sing diterangake ing kene, wis kalebu ing bagean 'Informasi hukum'.

© 2024 NXP BV
Kanggo informasi luwih lengkap, bukak: https://www.nxp.com

  • Tanggal rilis: 19 April 2024
  • Pengenal dokumen: AN14263

FAQ

P: Apa tujuan utama produk iki?
A: Tujuan utama yaiku ngaktifake fungsi pangenalan pasuryan nggunakake model algoritma visi AI&ML kanthi eks GUI LVGL sing prasajaample ing papan SLN-TLHMI-IOT.

P: Kepiye pangembang bisa entuk manfaat saka cathetan aplikasi iki?
A: Pangembang bisa sinau carane ngleksanakake pangenalan pasuryan ing framework langkah dening langkah nggunakake ex kasedhiyaample lan ngerti manager piranti, piranti HAL, lan mekanisme acara melu.

Dokumen / Sumber Daya

NXP AN14263 Ngleksanakake LVGL GUI Face Recognition ing Framewor [pdf] Pandhuan pangguna
AN14263 Ngleksanakake LVGL GUI Face Recognition ing Framewor, AN14263, Implement LVGL GUI Face Recognition ing Framewor, LVGL GUI Face Recognition ing Framewor, Face Recognition ing Framewor, Recognition on Framewor, Framewor

Referensi

Ninggalake komentar

Alamat email sampeyan ora bakal diterbitake. Kolom sing dibutuhake ditandhani *