nxp-लोगो

NXP AN14263 फ्रेमवर LVGL GUI फेस रेकग्निशन लागू करा

NXP-AN14263-लागू करा-LVGL-GUI चेहरा-ओळख-ऑन-फ्रेमवर-उत्पादन

उत्पादन माहिती

तपशील

  • उत्पादनाचे नाव: फ्रेमवर्कवर LVGL GUI फेस रेकग्निशन
  • दस्तऐवज पुनरावृत्ती: 1 - 19 एप्रिल 2024
  • कीवर्ड: चेहरा ओळख, LVGL GUI, फ्रेमवर्क

उत्पादन वापर सूचना

  1. ओव्हरview
    हे उत्पादन साध्या LVGL GUI सह चेहरा ओळख कार्य लागू करण्यासाठी फ्रेमवर्कवर चेहरा ओळखण्यासाठी AI&ML व्हिजन अल्गोरिदम मॉडेल सक्षम करतेampSLN-TLHMI-IOT बोर्डवर le.
  2. फ्रेमवर्क संपलेview
    सोल्यूशन सॉफ्टवेअर फ्रेमवर्क आर्किटेक्चरच्या आसपास डिझाइन केलेले आहे ज्यामध्ये डिव्हाइसेस व्यवस्थापित करण्यासाठी जबाबदार डिव्हाइस व्यवस्थापक, अंतर्निहित तपशीलांसाठी HAL डिव्हाइसेस आणि भिन्न डिव्हाइसेसमधील संवादासाठी इव्हेंट समाविष्ट आहेत.
  3. वैशिष्ट्ये
    उत्पादन कॅमेरा प्री द्वारे चेहरा ओळख कार्य लागू करण्यास अनुमती देतेview चेहरा नोंदणी, ओळख आणि काढणे ट्रिगर करण्यासाठी बटणांसह GUI स्क्रीनवर. नोंदणीकृत चेहरा डेटा फ्लॅशवर a द्वारे संग्रहित केला जातो file प्रणाली
  4. अर्ज टीप सामग्री
    ॲप्लिकेशन नोट कॅमेरा प्रीसह LVGL GUI स्क्रीन सादर करतेview आणि चेहरा-संबंधित क्रियांसाठी बटणे. हे डेव्हलपरना फ्रेमवर्क समजून घेण्यास मदत करते आणि प्रदान केलेले एक्स वापरून चेहरा ओळख कशी लागू करायचीampले

ओव्हरview

NXP ने SLN-TLHMI-IOT नावाची सोल्यूशन डेव्हलपमेंट किट लाँच केली आहे जी स्मार्ट HMI ऍप्लिकेशन्सवर केंद्रित आहे. हे एका NXP i.MX RT117H MCU वर लागू केलेल्या ML दृष्टी, आवाज आणि ग्राफिक्स UI सह स्मार्ट HMI सक्षम करते. SDK वर आधारित, सोल्यूशन सॉफ्टवेअर फ्रेमवर्क नावाच्या डिझाइनवर तयार केले गेले आहे जे लवचिक डिझाइन आणि दृष्टी आणि व्हॉइस फंक्शन्सच्या सानुकूलनास समर्थन देते. वापरकर्त्यांना सॉफ्टवेअर प्लॅटफॉर्म अधिक चांगल्या प्रकारे वापरण्यास मदत करण्यासाठी, काही मूलभूत दस्तऐवज प्रदान केले आहेत, उदाहरणार्थample, सॉफ्टवेअर विकास वापरकर्ता मार्गदर्शक. SLN-TLHMI-IOT वापरून विकासकांना त्यांचे अनुप्रयोग अधिक सहज आणि कार्यक्षमतेने अंमलात आणण्यासाठी फ्रेमवर्कसह सोल्यूशनचे सर्व घटक समाविष्ट करणाऱ्या ऍप्लिकेशन्सच्या मूलभूत सॉफ्टवेअर डिझाइन आणि आर्किटेक्चरचा मार्गदर्शिका परिचय करून देते.
उपाय आणि संबंधित कागदपत्रांबद्दल अधिक तपशीलांसाठी, येथे भेट द्या web ML व्हिजन, व्हॉइस आणि ग्राफिकल UI सह i.MX RT117H वर आधारित NXP EdgeReady स्मार्ट HMI सोल्यूशनचे पृष्ठ. तथापि, या मूलभूत मार्गदर्शकांचा संदर्भ देत त्यांचे स्मार्ट HMI अनुप्रयोग लागू करणे विकसकांसाठी अद्याप इतके सोपे नाही. फ्रेमवर्कवर टप्प्याटप्प्याने विकासाचा अभ्यास करण्यात मदत करण्यासाठी अर्ज नोट्सची मालिका नियोजित आहे. ही ऍप्लिकेशन नोट इम्प्लीमेंट LVGL GUI कॅमेरा प्री वर आधारित आहेview फ्रेमवर्कवर (दस्तऐवज AN14147). कॅमेरा प्री द्वारे चेहरा ओळख कार्य लागू करण्यासाठी फ्रेमवर्कवर चेहरा ओळखण्यासाठी AI आणि ML व्हिजन अल्गोरिदम मॉडेल कसे सक्षम करायचे याचे वर्णन ही ऍप्लिकेशन नोट करते.view साध्या LVGL GUI सह GUI स्क्रीनवरample SLN-TLHMI-IOT बोर्डवर. अर्ज नोटमध्ये माजीample कॅमेरा प्रीसह LVGL GUI स्क्रीन सादर करतेview आणि चेहरा नोंदणी, ओळख आणि काढणे ट्रिगर करण्यासाठी काही बटणे. नोंदणीकृत फेस डेटा फ्लॅशवर थोडासा द्वारे संग्रहित केला जातो file प्रणाली

उच्च स्तरावर, अनुप्रयोग नोटमध्ये खालील सामग्री समाविष्ट आहे:

  • फ्रेमवर्कवर चेहरा ओळख वैशिष्ट्य सक्षम करा.
  • द्वारे फ्रेमवर्कवर फेस डेटाबेस समर्थन जोडा file फ्लॅश वर प्रणाली.
  • LVGL GUI ॲप लागू करा. वरील प्रस्तावनांद्वारे, हा दस्तऐवज विकसकांना यासाठी मदत करतो:
  • फ्रेमवर्क आणि स्मार्ट HMI सोल्यूशन सॉफ्टवेअर अधिक खोलवर समजून घ्या.
  • LVGL GUI ॲपसह फ्रेमवर्कवर त्यांची AI आणि ML चेहरा ओळख विकसित करा.

फ्रेमवर्क संपलेview
सोल्यूशन सॉफ्टवेअर प्रामुख्याने फ्रेमवर्क आर्किटेक्चरच्या वापराभोवती डिझाइन केलेले आहे जे अनेक भिन्न भागांनी बनलेले आहे:

  • डिव्हाइस व्यवस्थापक - मुख्य भाग
  • हार्डवेअर ॲब्स्ट्रॅक्शन लेयर (एचएएल) उपकरणे
  • संदेश/इव्हेंट

आकृती 1 मध्ये दाखवल्याप्रमाणे, ओव्हरview फ्रेमवर्कची यंत्रणा आहे:

सिस्टीमद्वारे वापरलेली उपकरणे व्यवस्थापित करण्यासाठी डिव्हाइस व्यवस्थापक जबाबदार असतात. प्रत्येक उपकरण प्रकाराचा (इनपुट, आउटपुट आणि असेच) स्वतःचा प्रकार-विशिष्ट उपकरण व्यवस्थापक असतो. डिव्हाइस मॅनेजरने त्यावर डिव्हाइसेसची नोंदणी केल्यानंतर सुरू केल्यानंतर, नोंदणीकृत डिव्हाइसेस सुरू केल्यानंतर आणि सुरू केल्यानंतर ते डिव्हाइसेस आणि इतर व्यवस्थापकांना डेटा हस्तांतरित करण्यासाठी मेसेजची प्रतीक्षा करते आणि तपासते. HAL उपकरणे खालच्या-स्तरीय ड्रायव्हर कोडच्या वर लिहिलेली असतात, जे अनेक अंतर्निहित तपशीलांचे सार करून कोड समजण्यायोग्यता वाढवण्यास मदत करतात.

इव्हेंट्स हे एक साधन आहे ज्याद्वारे विविध उपकरणांमध्ये त्यांच्या व्यवस्थापकांद्वारे माहिती संप्रेषित केली जाते. जेव्हा एखादा इव्हेंट ट्रिगर केला जातो, तेव्हा प्रथम इव्हेंट प्राप्त केलेले डिव्हाइस त्या इव्हेंटला त्याच्या व्यवस्थापकाला कळवते, त्यानंतर ते इव्हेंट प्राप्त करण्यासाठी नियुक्त केलेल्या इतर व्यवस्थापकांना सूचित करते.

NXP-AN14263-अंमलबजावणी-LVGL-GUI चेहरा-ओळख-ऑन-फ्रेमवर-अंजीर- (1)

फ्रेमवर्कचे आर्किटेक्चरल डिझाइन तीन प्राथमिक उद्दिष्टांवर केंद्रित होते:

  1. वापरण्यास सुलभ
  2. लवचिकता/पोर्टेबिलिटी
  3. कामगिरी

फ्रेमवर्क व्हिजन आणि इतर मशीन-लर्निंग ऍप्लिकेशन्सच्या बाजारपेठेसाठी वेळ वाढवण्याच्या उद्देशाने डिझाइन केले आहे. बाजारपेठेसाठी वेगवान वेळ सुनिश्चित करण्यासाठी, सॉफ्टवेअर स्वतःच समजणे आणि सुधारणे सोपे आहे हे महत्वाचे आहे. हे उद्दिष्ट लक्षात घेऊन, फ्रेमवर्कचे आर्किटेक्चर प्रतिबंधात्मक न होता आणि कार्यक्षमतेच्या किंमतीवर न येता सुधारणे सोपे आहे.
फ्रेमवर्कबद्दल अधिक तपशीलांसाठी, स्मार्ट HMI सॉफ्टवेअर डेव्हलपमेंट वापरकर्ता मार्गदर्शक (दस्तऐवज MCU-SMHMI-SDUG) पहा.

प्रकाश आणि बहुमुखी ग्राफिक्स लायब्ररी (LVGL)
LVGL (लाइट आणि व्हर्सटाइल ग्राफिक्स लायब्ररी) ही एक विनामूल्य आणि मुक्त-स्रोत ग्राफिक्स लायब्ररी आहे जी तुम्हाला वापरण्यास-सुलभ ग्राफिकल घटक, सुंदर व्हिज्युअल इफेक्ट आणि कमी मेमरी फूटप्रिंटसह एम्बेडेड GUI तयार करण्यासाठी आवश्यक असलेली प्रत्येक गोष्ट प्रदान करते.

GUI मार्गदर्शक
GUI मार्गदर्शक हे NXP चे वापरकर्ता-अनुकूल ग्राफिकल यूजर इंटरफेस डेव्हलपमेंट टूल आहे जे ओपन-सोर्स LVGL ग्राफिक्स लायब्ररीसह उच्च दर्जाच्या डिस्प्लेचा जलद विकास करण्यास सक्षम करते. GUI मार्गदर्शकाचा ड्रॅग-अँड-ड्रॉप एडिटर LVGL ची अनेक वैशिष्ट्ये जसे की विजेट्स, ॲनिमेशन आणि शैली वापरणे सोपे करते आणि GUI तयार करण्यासाठी कमीतकमी किंवा कोणतेही कोडिंग नाही.

एका बटणावर क्लिक करून, तुम्ही तुमचा ॲप्लिकेशन सिम्युलेटेड वातावरणात चालवू शकता किंवा टार्गेट प्रोजेक्टवर एक्सपोर्ट करू शकता. GUI मार्गदर्शक कडून व्युत्पन्न केलेला कोड तुमच्या प्रोजेक्टमध्ये सहजपणे जोडला जाऊ शकतो, विकास प्रक्रियेला गती देतो आणि तुम्हाला तुमच्या अनुप्रयोगामध्ये एम्बेड केलेला वापरकर्ता इंटरफेस अखंडपणे जोडण्याची परवानगी देतो. GUI मार्गदर्शक NXP च्या सामान्य उद्देश आणि क्रॉसओवर MCU सह वापरण्यासाठी विनामूल्य आहे आणि अनेक समर्थित प्लॅटफॉर्मसाठी अंगभूत प्रकल्प टेम्पलेट समाविष्ट करते. GUI मार्गदर्शकावरील LVGL आणि GUI विकासाबद्दल अधिक जाणून घेण्यासाठी, Light and Versatile Graphics Library आणि GUI Guider तपासा.

विकासाचे वातावरण

प्रथम, पूर्व अंमलबजावणीसाठी हार्डवेअर आणि सॉफ्टवेअर वातावरण तयार करा आणि सेट कराampले फ्रेमवर्क वर.

हार्डवेअर वातावरण
हार्डवेअर वातावरण माजी सत्यापित करण्यासाठी सेट केले आहेampले:

  • NXP i.MX RT117H (SLN_TLHMI_IOT किट) वर आधारित स्मार्ट HMI डेव्हलपमेंट किट
  • 9-पिन कॉर्टेक्स-एम ॲडॉप्टर आणि V7.84a किंवा ड्रायव्हरच्या नवीन आवृत्तीसह SEGGER J-Link

सॉफ्टवेअर वातावरण
माजी विकसित करण्यासाठी सॉफ्टवेअर वातावरण सेट केले आहेampले:

  • MCUXpresso IDE V11.7.0
  • GUI मार्गदर्शक V1.6.1-GA
  • lvgl_gui_camera_preview_cm7 – उदाampविकासाचे आधारभूत सॉफ्टवेअर म्हणून दुसऱ्या ऍप्लिकेशन नोटचा le कोड. तपशीलांसाठी, पहा https://mcuxpresso.nxp.com/appcodehub.
  • RT1170 SDK V2.13.0 – विकासासाठी कोड संसाधन म्हणून.
  • SLN-TLHMI-IOT सॉफ्टवेअर V1.1.2 – विकासासाठी कोड संसाधन म्हणून NXP GitHub रेपॉजिटरी वर रिलीझ केलेला स्मार्ट HMI स्त्रोत कोड. तपशीलांसाठी, पहा: GitHub – NXP/mcu-smhmi v1.1.2 वर

सॉफ्टवेअर वातावरणाचे संपादन आणि सेटअप बद्दल तपशीलांसाठी, पहा: SLN-TLHMI-IOT सह प्रारंभ करणे.

फ्रेमवर्कवर व्हिजन आर्किटेक्चर

फ्रेमवर्कवरील व्हिजन आर्किटेक्चर आकृती 2 मध्ये दर्शविले आहे. दृष्टी अल्गो HAL (OASIS_HAL) मध्ये खालील प्रक्रिया आहेत:

  • आउटपुट UI HAL कडून संबंधित इव्हेंट्स प्राप्त केल्यानंतर AI&ML व्हिजन अल्गोरिदम मॉडेलद्वारे चेहरा नोंदणी आणि ओळख करा. अल्गोरिदम मॉडेलपासून आउटपुट UI HAL वर निष्कर्ष निकाल सूचित करा.
  • छोट्या गोष्टींवर आधारित फेस फीचर डेटाबेसमध्ये प्रवेश (जोडा, हटवा...) होतो file आउटपुट UI HAL वरून संबंधित इव्हेंट्स प्राप्त केल्यानंतर FaceDB HAL च्या API ला कॉल करून सिस्टम.
  • चेहरा नोंदणी आणि ओळख करताना कॅमेरा HAL कडून कॅमेरा व्हिडिओ फ्रेमची विनंती करा.

NXP-AN14263-अंमलबजावणी-LVGL-GUI चेहरा-ओळख-ऑन-फ्रेमवर-अंजीर- (3)

फ्रेमवर्कवर चेहरा ओळख लागू करा

LVGL GUI फेस रेकग्निशन उदाample (माजीample नंतर प्रदान केले जाते) फ्रेमवर्कवर ex आधारित लागू केले जातेampएलव्हीजीएल जीयूआय कॅमेरा प्री अंमलबजावणीचे कोडview फ्रेमवर्कवर (दस्तऐवज AN14147).

चेहऱ्याची ओळख दाखवण्यासाठी माजीample, GUI ॲपचे मूलभूत कार्य (आकृती 3 मधील मुख्य स्क्रीन पहा) खाली वर्णन केल्याप्रमाणे डिझाइन केले आहे:

  • नोंदणी किंवा ओळख बटणावर क्लिक केल्यावर GUI ॲप आउटपुट UI HAL वर चेहरा नोंदणी किंवा ओळख इव्हेंट ट्रिगर करते. आणि आउटपुट UI HAL चेहऱ्याची नोंदणी यशस्वी झाल्यानंतर व्हिजन अल्गो HAL मध्ये वापरकर्त्याला जोडण्याची घटना सूचित करते.
  • वापरकर्त्याचा चेहरा ओळखल्यानंतर वापरकर्ता हटवा बटणावर क्लिक केल्यावर GUI ॲप वापरकर्त्याला आउटपुट UI HAL वरून हटविण्याची घटना ट्रिगर करते.
  • GUI ॲप बटणे आणि प्रतिमांच्या बाहेर स्क्रीनवर क्लिक करताना आउटपुट UI HAL वर चालणारा ओएसिस अल्गो थांबवण्याची घटना ट्रिगर करते.

NXP-AN14263-अंमलबजावणी-LVGL-GUI चेहरा-ओळख-ऑन-फ्रेमवर-अंजीर- (10)

एक्सच्या अंमलबजावणीसाठी सॉफ्टवेअर पॅकेज तयार कराampले

  • बेस सॉफ्टवेअर lvgl_gui_camera_pre क्लोन कराview_cm7. प्रकल्पाचे नाव आणि मुख्य बदला filelvgl_gui_face_rec_cm7 ला नाव द्या.
  • सॉफ्टवेअरमध्ये फ्रेमवर्क अपडेट करणे आवश्यक आहे कारण फ्रेमवर्क कोरसाठीचे स्त्रोत कोड GitHub वर 1.1.2 आवृत्तीपासून सार्वजनिक होऊ लागले आहेत.
  • फ्रेमवर्क फोल्डरला GitHub वरून V1.1.2 च्या कॉपीसह पुनर्स्थित करा files fwk_log.h आणि fwk_common.h inc\ अंतर्गत कारण ते ऍप्लिकेशन नोटच्या मालिकेसाठी सुधारित केले गेले आहेत. ऑपरेशन्स आकृती 4 मध्ये दर्शविल्या आहेत:NXP-AN14263-अंमलबजावणी-LVGL-GUI चेहरा-ओळख-ऑन-फ्रेमवर-अंजीर- (11)
  • libs ग्रुप अंतर्गत framework_cm7 हे फोल्डर हटवा आणि लायब्ररी फ्रेमवर्क_cm7 काढून टाका आणि प्रोजेक्ट > गुणधर्म > C/C++ बिल्ड > सेटिंग्ज > टूल सेटिंग्ज > MCU C++ Linker > Libraries मध्ये कॉन्फिगर केलेला लायब्ररी फ्रेमवर्क काढून टाका कारण कोरचा सोर्स कोड प्रदान केला आहे.

फ्रेमवर्कवर चेहरा ओळख वैशिष्ट्य सक्षम करा
चेहरा ओळखण्याचे वैशिष्ट्य स्टॅटिक लायब्ररी - NXP द्वारे ओएसिस लाइट रनटाइम लायब्ररी म्हणून प्रदान केलेल्या एमएल व्हिजन अल्गोरिदम मॉडेलवर तयार केले आहे. लायब्ररी एक लहान, अत्यंत कार्यक्षम, सानुकूलित आणि ऑप्टिमाइझ केलेली AI लायब्ररी आहे. मॉडेलमध्ये फेस डिटेक्शन, फेस रेकग्निशन, ग्लास डिटेक्शन आणि लाइव्हनेस डिटेक्शन यांचा समावेश आहे. इव्हेंट कॉलबॅकद्वारे कॉलरला परिणाम अद्यतनित करताना चेहरा ओळखण्याची पाइपलाइन चालविण्यासाठी आणि स्रोत फ्रेम माहिती, कॉलबॅक आणि मेमरी निर्दिष्ट केल्यानंतर फेस डेटाबेस कॉलबॅकद्वारे डेटाबेसमध्ये चेहरे जोडणे/अपडेट/हटवणे हे प्रामुख्याने API OASISLT_run_extended() प्रदान करते. प्रारंभ झाल्यावर दुसऱ्या API OASISLT_init() वर कॉल करून लायब्ररीद्वारे वापरलेला पूल. APIs चे कॉलिंग आणि कॉलबॅक फंक्शन फ्रेमवर्कच्या व्हिजन अल्गो HAL मध्ये लागू केले जातात.

दृष्टी अल्गो मॉडेल लायब्ररी जोडा

  1. लायब्ररी आणि संबंधित शीर्षलेख असलेले फोल्डर ओएसिस कॉपी करा file smart HMI\coffee_machine\cm7\libs\ वरून माजी फोल्डर libs मध्येample SW.
  2. शीर्षलेखाचा शोध मार्ग जोडा file प्रकल्प > गुणधर्म > C/C++ बिल्ड > सेटिंग्ज > टूल सेटिंग्ज > MCU C कंपायलर > समाविष्ट आणि MCU C++ कंपाइलर > समाविष्ट आहे: “${workspace_loc:/${ProjName}/libs/oasis/include}”
  3. प्रकल्प > गुणधर्म > C/C++ बिल्ड > सेटिंग्ज > MCU C+ + Linker > Libraries: liboasis_lite2D_DEFAULT_117f_ae.a “${workspace_loc:/${ProjName}/libs/oasis}” वर lib आणि त्याचा शोध मार्ग जोडा आणि मॅक्रोची व्याख्या प्रोजेक्ट > गुणधर्म > C/C++ बिल्ड > सेटिंग्ज > टूल सेटिंग्ज > MCU C कंपाइलर > प्रीप्रोसेसर आणि MCU C++ कंपाइलर > प्रीप्रोसेसर: SMART_TLHMI_2D वर वैशिष्ट्य सक्षम करा

दृष्टी अल्गो HAL सक्षम करा
व्हिजन अल्गो एचएएल व्हिजन अल्गो मॉडेलला कार्य करण्यास प्रवृत्त करते आणि UI आउटपुट HAL कडून इव्हेंट्स प्राप्त केल्यानंतर परिणामांना प्रतिसाद देते.

ते सक्षम करण्यासाठी, विद्यमान समान HAL ड्राइव्हर क्लोन करा file जेथे खालील कार्ये लागू केली जातात:

  • फेस डेटाबेस ऑपरेशन्स आणि इव्हेंट हाताळणीचे कॉलबॅक लागू करा.
  • ओएसिस लायब्ररीच्या API ला कॉल करून व्हिजन अल्गोला कार्य करण्यासाठी चालवा.
  • वापरकर्ता चेहरा डेटाबेस आणि ॲप डेटाबेसमध्ये प्रवेश करा (याची आवश्यकता नाहीample).
  • कडून इव्हेंट प्राप्त करा आणि आउटपुट UI HAL वर परिणाम पाठवा.

माजी साठी HAL लागू करण्यासाठी प्रमुख कामेample आहेत:

  • विद्यमान समान HAL ड्राइव्हर क्लोन करा file आणि संबंधित नावे बदला.
  • ॲप डेटा ऑपरेशन्सशी संबंधित कोड काढा.
  • आउटपुट UI HAL मधून इव्हेंट हाताळण्यासाठी व्याख्या आणि कार्ये अद्यतनित कराampले डिझाइन.
  • ओएसिस इनिशिएलायझेशनमध्ये आवश्यक कॉन्फिगरेशन जोडा.

तपशीलवार पायऱ्या खालीलप्रमाणे आहेत:

  1. क्लोन hal_vision_algo_oasis_coffeemachine.c. बदला fileनाव hal_vision_algo_oasis_guifacerec.c. आणि सर्व स्ट्रिंग्स CoffeeMachine मध्ये GUIFaceRec सह बदला file.
  2. ॲप डेटाबेसशी संबंधित coffeedb (केस सेन्सिटिव्ह नाही) स्ट्रिंग असलेले कोड काढून टाका, उदा.ample, #include hal_sln_coffeedb.h.
  3. आउटपुट UI HAL मधून इव्हेंट हाताळण्यासाठी HAL_VisionAlgoDev_OasisGUIFaceRec_InputNotify() फंक्शन सुधारित करा.
    • डेटाबेसमध्ये नवीन चेहरा वैशिष्ट्य डेटा जोडण्यासाठी इव्हेंट हाताळणीसाठी इव्हेंट व्याख्या kEventFaceRecId_RegisterCoffeeSelection बदलून kEventFaceRecId_RegisterUserFace आणि संरचना स्ट्रिंग regCoffeeSelection regGUIFaceRec वर बदला.
    • माजी मध्ये चेहरा ओळख क्रियांची मानक प्रक्रिया दर्शविण्यासाठीample, राज्यांच्या व्याख्येसह kEventFaceRecID_OasisSetState च्या बाबतीत हाताळणी सुधारित करा:
      • kOASISLIteState
      • नोंदणी kOASISLIteState
      • kOASISLIteState ओळख
      • थांबला
  4. वरील चरणात नमूद केलेल्या घटनांच्या व्याख्या जोडा आणि सुधारा.
    • शीर्षलेख कॉपी करा file smart_tlhmi_event_descriptor.h smart HMI\coffee_machine \cm7\source\event_handlers\ वरून माजी च्या फोल्डर स्त्रोतामध्येample SW. अद्यतनित करा file खालीलप्रमाणे:
    • enum प्रकार _event_smart_tlhmi_id मध्ये इव्हेंट व्याख्या kEventFaceRecId_RegisterCoffeeSelection kEventFaceRecId_RegisterUserFace वर बदला आणि स्ट्रक्चर _event_smart_smart मधील स्ट्रक्चर स्ट्रिंग regGUIFaceRec मध्ये regCoffeeSelection बदला. तर, regCoffeeSelection साठी register_coffee_selection_event_t स्ट्रक्चर बदलून register_gui_facerec_event_t करा.
    • कॉफी मशीन ॲपसाठी वापरलेली इतर सामग्री हटवा, उदाample, व्हॉइस बद्दल कोड लाइन: # "hal_event_descriptor_voice.h" समाविष्ट करा.
    • kOASISLiteState_Stopped आणि kOASISLiteState_Running हे प्रकार hal_vision_algo.h मधील enum टाईप oasis_lite_state_t मध्ये फ्रेमवर्क>hal>व्हिजन अंतर्गत खालीलप्रमाणे जोडा:
      typedef enum _oasis_lite_state {
      • kOASISLIteState
      • चालू आहे, kOASISLIteState
      • थांबवले, kOASISLIteState
      • ओळख,
      • kOASISLIteState
      • नोंदणी, kOASISLIteState
      • नोंदणी रद्द करा, kOASISLIteState
      • दूरस्थ नोंदणी, kOASISLIteState
      • मोजा
    • वरील सुधारित स्ट्रक्चर ओएसिस_लिट_स्टेट_टी वापरा स्ट्रक्चर ओएसिस_स्टेट_स्टेट_इव्हेंट_टी hal_event_descriptor_face_rec.h मध्ये फ्रेमवर्क>hal>व्हिजन अंतर्गत खालीलप्रमाणे: typedef struct _oasis_state_event_t { oasis_lite_state_t state; } oasis_state_event_t;
  5. सर्व kEventInfo_Remote बदला kEventInfo_Local मध्ये इव्हेंट्स पाठवण्यासाठी व्हिजन अल्गो HAL वरून इतर HAL मध्ये ड्युअल-कोर ऐवजी एकाच कोरवर चालणाऱ्याampले
  6. OASISLT_init() मध्ये ओएसिस इनिशिएलायझेशनसाठी खालील कॉन्फिगरेशन जोडा आणि सुधारा:
    • board_define.h: #define OASIS_RGB_FRAME_WIDTH 800 मध्ये व्हिडिओ फ्रेमसाठी मॅक्रो व्याख्या आणि मेमरी विभाग जोडा
      • #OASIS_RGB_FRAME_HEIGHT 600 परिभाषित करा
      • #OASIS_RGB_FRAME_SRC_FORMAT kPixelFormat_YUV1P444_RGB परिभाषित करा
      • #OASIS_RGB_FRAME_BYTE_PER_PIXEL 3 परिभाषित करा
      • #AT_FB_SHMEM_SECTION_ALIGN(var, alignbytes) परिभाषित करा \
      • __विशेषता__((विभाग(“.bss.$fb_sh_mem,\"aw\",%nobits @"))) var
      • __विशेषता__((संरेखित(संरेखित(संरेखित)))
    • वरील मेमरी विभागातील मेमरी असाइनमेंट कॉन्फिग करा fb_sh_mem वरील प्रोजेक्ट > गुणधर्म > C/C++ बिल्ड > MCU सेटिंग्ज आकृती 5 मध्ये दर्शविल्या आहेत:NXP-AN14263-अंमलबजावणी-LVGL-GUI चेहरा-ओळख-ऑन-फ्रेमवर-अंजीर- (12)
    • lvgl_gui_face_rec_cm7.cpp मध्ये g_DTCOPBuf ग्लोबल व्हेरिएबल घोषित करा: AT_NONCACHEABLE_SECTION_ALIGN_DTC (uint8_t g_DTCOPBuf[DTC_OPTIMIZE_BUFFER_SIZE], 4);
    • वरील व्हेरिएबलमध्ये वापरलेल्या व्याख्या जोडणे सुरू ठेवा:
    • board_define.h मध्ये वरील विभाग परिभाषित करा:
      • #AT_NONCACHEABLE_SECTION_ALIGN_DTC(var, alignbytes) परिभाषित करा \
      • विशेषता__((विभाग(“.bss.$SRAM_DTC_cm7,\"aw\",%nobits @"))) var
      • विशेषता__((संरेखित(संरेखित(संरेखित)))
    • शीर्षलेख समाविष्ट करा file hal_vision_algo.h lvgl_gui_face_rec_cm7.cpp मध्ये समाविष्ट app_config.h मध्ये मॅक्रो व्याख्या DTC_OPTIMIZE_BUFFER_SIZE समाविष्टीत आहे.
  7. फेस रेकग्निशनवर प्रगती स्थिती दर्शवण्यासाठी व्हेरिएबल s_debugOption सत्य वर सेट करा.
  8. शीर्षलेखाचा शोध मार्ग जोडा fileप्रोजेक्ट > प्रॉपर्टी > C/C++ बिल्ड > सेटिंग्ज > टूल सेटिंग्ज > MCU C कंपाइलर > समाविष्ट आणि MCU C++ कंपाइलर > समाविष्ट आहे: “${workspace_loc:/${ProjName}/framework/hal/vision}”
  9. board_define.h मध्ये दृष्टी अल्गो HAL सक्षम करण्यासाठी खालील व्याख्या जोडा: #define ENABLE_VISIONALGO_DEV_Oasis_GUIFaceRec

आउटपुट UI HAL सक्षम करा
आउटपुट UI HAL व्हिजन अल्गो HAL ला इव्हेंट्स सूचित करते आणि व्हिजन अल्गो HAL मधील निष्कर्ष निकालांना प्रतिसाद देते. GUI ॲपसह, इव्हेंट सामान्यत: ॲपद्वारे ट्रिगर केले जातात आणि परिणाम ॲपवर दर्शवले जातात.

ते सक्षम करण्यासाठी, विद्यमान समान HAL ड्राइव्हर क्लोन करा file जेथे सामान्यतः खालील कार्ये अंमलात आणली जातात:

  • फेस रेकग्निशन आणि डेटाबेस ऍक्सेससाठी इव्हेंट्स सूचित करा.
  • इव्हेंट ट्रिगर करण्यासाठी GUI ॲपसाठी कॉलबॅक लागू करा.
  • व्हिजन अल्गो मॉड्यूलमधून निष्कर्ष काढा.
  • UI वर टाइमर आणि फेस गाईड आयताने नियंत्रित केलेल्या प्रोग्रेस बारद्वारे इव्हेंट हाताळण्याची प्रक्रिया आणि परिणाम दर्शवा.

माजी साठी HAL लागू करण्यासाठी प्रमुख कामेampया दस्तऐवजात वापरलेले le आहेत:

  • विद्यमान समान HAL ड्राइव्हर क्लोन करा file आणि संबंधित नावे बदला.
  • ॲपशी संबंधित कोड काढा.
  • इव्हेंट नोटिफिकेशन आणि रिझल्ट रिस्पॉन्ससाठी फंक्शन्स अपडेट कराampले डिझाइन.
  • इव्हेंट ट्रिगर करण्यासाठी GUI ॲपसाठी कॉलबॅक जोडा.

तपशीलवार पायऱ्या खालीलप्रमाणे आहेत:

  1. क्लोन hal_output_ui_coffee_machine.c. बदला filehal_ output_ui_guifacerec.c ला नाव द्या.
  2. मध्ये सर्व स्ट्रिंग्स CoffeeMachine GUIFaceRec सह बदला file.
  3. ॲप - कॉफी मशीनशी संबंधित कोड काढा.
    • फंक्शन्स WakeUp() आणि _StandBy() आणि संबंधित कोड काढून टाका (स्ट्रिंग wake_up आणि त्यांच्यासाठी स्टँडबाय शोधू शकतात).
    • पूर्व काढाview HAL_OutputDev_UiGUIFaceRec_Input Notify() मध्ये संबंधित कोड हाताळणारे मोड इव्हेंट.
    • फंक्शन्स UI_xxx_Callback() आणि कॉफ़ी मशीनच्या GUI शी संबंधित gui_ आणि स्क्रीन असलेले कोड gui_set_virtual_face() व्यतिरिक्त काढून टाकाview मोड वैशिष्ट्य.
    • कॉफी मशीन ॲपशी संबंधित s_IsWaitingAnotherSelection आणि s_IsWaitingRegisterSelection या व्हेरिएबल्समध्ये समाविष्ट असलेले सर्व कोड काढून टाका.
    • आवाज, ऑडिओ आणि भाषेशी संबंधित कोड काढा. उदाampले:
      • # "hal_voice_algo_asr_local.h" समाविष्ट करा,
      • # "hal_event_descriptor_voice.h" समाविष्ट करा
  4. विविध इव्हेंट नोटिफिकेशनसाठी, नवीन फंक्शन्स _OutputManagerNotify(), _SetFaceRec(), _RegisterGUIFaceRec(), आणि DeregisterGUIFaceRec() फंक्शन्स _StopFaceRec(), _RegisterCoffeeSelection(), आणि DeregisterCoffe (त्यांच्या आधी DeregisterCoffee) चा संदर्भ देत अंमलात आणा.
    • _OutputManagerNotify() व्हिजन अल्गो HAL ला इव्हेंट पाठवण्यासाठी मूलभूत इव्हेंट आउटपुट फंक्शन लागू करते. खालील फंक्शन्स त्यांना त्यांचे स्वतःचे कार्यक्रम पाठवण्यासाठी कॉल करतात.
    • _SetFaceRec() चेहरा नोंदणी, ओळख आणि अल्गो थांबवण्यासाठी व्हिजन अल्गो ट्रिगर करण्यासाठी kEventFaceRecID_OasisSetState इव्हेंट पाठवते.
    • नोंदणी ठीक असताना डेटाबेसमध्ये चेहरा वैशिष्ट्य डेटा जोडण्यासाठी _RegisterGUIFaceRec() kEventFaceRecId_RegisterGUIFaceRec इव्हेंट पाठवते जी smart_tlhmi_event_descriptor.h मध्ये परिभाषित केली आहे.
    • DeregisterGUIFaceRec() फेस रेकग्निशन पास करताना डेटाबेसमधून फेस फीचर डेटा हटवण्यासाठी kEventFaceRecID_DelUser इव्हेंट पाठवते.
  5. प्रति एक्स फंक्शन _InferComplete_Vision() मध्ये चेहरा नोंदणी आणि ओळखीच्या निष्कर्ष निकालांसाठी LVGL GUI ॲपवरून API ला कॉल करून GUI रिफ्रेश करण्यासह संबंधित क्रिया करण्यासाठी कोड अद्यतनित कराampले चे डिझाइन. उदाampले, चेहरा नोंदणी यशस्वी झाल्यावर,
    • _FaceRecProcess_Stop() वर कॉल करून प्रगती दर्शविणे थांबवा;
    • _SetFaceRec(kOASISLiteState_Stopped) वर कॉल करून चेहरा नोंदणी थांबवा;
    • GUI वर यशस्वी परिणाम दर्शवा: gui_show_face_rec_result(kFaceRecResult_OK, s_UserId);
    • फेस डेटाची डेटाबेसमध्ये नोंदणी करा: _RegisterUserFace(s_UserId);
  6. कार्यक्रम हाताळण्यासाठी UI कॉलबॅक कार्ये जोडा: पूर्वview, चेहरा नोंदणी, ओळख आणि GUI वरून ट्रिगर केलेला वापरकर्ता हटवणे. उदाample, फेस रजिस्ट्रेशन कॉलबॅक: void UI_Registration_Callback(){ _SetFaceRec(kOASISLiteState_Registration); _FaceRecProcess_Start(); }
    • आणि विविध इव्हेंट्स आणि परिणामांमधील प्रगती आणि स्थिती दर्शविण्यासाठी _FaceRecProcess_Start() आणि _FaceRecProcess_Stop() फंक्शन्स जोडा.
    • टाइमर आयएसआर कॉलबॅक फंक्शन अपडेट करा _SessionTimer_Callback() कॉल करून टाइम-आउटचे प्रकरण हाताळण्यासाठी: gui_show_face_rec_result(kFaceRecResult_TimeOut, s_UserId);
  7. board_define.h मध्ये UI आउटपुट HAL सक्षम करण्यासाठी खालील व्याख्या जोडा: #define ENABLE_OUTPUT_DEV_UiGUIFaceRec

सूचना:
चेहरा ओळख वैशिष्ट्य अधिक चांगल्या प्रकारे सादर करण्यासाठी, आउटपुट UI HAL मध्ये चेहरा ओळखण्याची प्रक्रिया आणि परिणाम दर्शविण्यासाठी फंक्शन ठेवा. फंक्शन खाली वर्णन केले आहे

  • फेस गाईड आयत निळा दाखवतो आणि प्रोग्रेस बार चेहरा नोंदणी किंवा ओळख सुरू करताना प्रगती दाखवतो.
  • चेहरा नोंदणी यशस्वी झाल्यावर चेहरा मार्गदर्शक आयत लाल दाखवतो.
  • चेहरा ओळखणे यशस्वी झाल्यावर चेहरा मार्गदर्शक आयत हिरवा दाखवतो.
  • फेस मार्गदर्शक आयत निळा ठेवतो आणि टाइमर कालबाह्य झाल्यानंतर क्रिया अयशस्वी झाल्यावर प्रगती पट्टी पूर्ण प्रगती दर्शवते. त्या वेळी, चेहरा नोंदणी किंवा ओळख थांबवा.

प्रोग्रेस बार आणि फेस गाईड आयत हे आयकॉन म्हणून सादर केले जातात जे रिसोर्स बायनरीमध्ये तयार केले जातात file फ्लॅश मध्ये प्रोग्राम करणे. SDRAM वरील आयकॉन डेटाचे पॉइंटर लोडआयकॉन्स(APP_ICONS_BASE) फंक्शनमध्ये सेट केले जातात ज्याला आउटपुट UI HAL आउटपुट UI HAL डिव्हाइस इनिशिएलायझेशन म्हणतात. फंक्शनसाठी आयकॉन सपोर्टची अंमलबजावणी करणे आवश्यक आहे.

चिन्ह समर्थन लागू करा

  1. LVGL GUI ॲपमध्ये वापरल्या जाणाऱ्या प्रतिमांसह आयकॉन एकत्र करून संसाधन तयार करा:
    • चार आयकॉन हेडर क्लोन करा files process_bar_240x14.h, virtual_face_blue_420x426.h, virtual_face_green_420x426.h, आणि virtual_face_red_420x426.h स्मार्ट HMI वरून
      \coffee machine\resource\icons\ to the new folder icons under the resource फोल्डर example SW.
    • चार चिन्हासाठी शोध मार्ग जोडा fileकॅमेरा_प्रीमध्ये आहेview_resource.txt file संसाधन फोल्डरमध्ये, उदाample: icon ../resource/icons/process_bar_240x14.h
    • कॅमेरा_प्री चालवाview_resource_build.bat बिन तयार करण्यासाठी प्रतिमा आणि आयकॉन संसाधने तयार करण्यासाठी file कॅमेरा_प्रीview_resource.bin आणि माहिती file resource_information_table.txt (आकृती 6 पहा).NXP-AN14263-अंमलबजावणी-LVGL-GUI चेहरा-ओळख-ऑन-फ्रेमवर-अंजीर- (13)
  2. SDRAM वर प्रारंभ पत्ता आणि app_config.h मधील चिन्हांचा आकार परिभाषित करा. पत्ता GUI ॲपच्या प्रतिमांच्या पुढे सुरू होतो. माहितीमध्ये आकार तयार केला जातो file. # APP_ICONS_BASE परिभाषित करा (APP_RES_SHMEM_BASE + APP_LVGL_IMGS_SIZE) # APP_ICONS_SIZE 0x107c40 परिभाषित करा
  3. app_config.h: #define RES_SHMEM_TOTAL_SIZE 0x200000 आणि Project > Properties > C/C++ Build > MCU सेटिंग्जमध्ये पुन्हा परिभाषित करून res_sh_mem नावाच्या मेमरी विभागाचा नियुक्त केलेला आकार 0x200000 वर अपडेट करा.
  4. मुख्य मध्ये APP_LoadResource() फंक्शनमध्ये फ्लॅश वरून SDRAM वर लोड केलेल्या संसाधनाच्या एकूण आकारात चिन्हाचा आकार जोडा file lvgl_gui_face_rec_cm7.cpp: memcpy((void *)APP_LVGL_IMGS_BASE, pLvglImages, APP_LVGL_IMGS_SIZE + APP_ICONS_SIZE);

लक्ष द्या: चेहरा ओळख वैशिष्ट्य पूर्ण करण्यासाठी, LVGL GUI ॲप समर्थन आवश्यक आहे. UI स्क्रीनवरील इव्हेंट्स हाताळण्यासाठी LVGL GUI ॲपद्वारे आउटपुट UI HAL मधील UI कॉलबॅक कार्ये कॉल केली जातात. दुसरीकडे, आउटपुट UI HAL परिणाम आणि स्थिती दर्शविण्यासाठी UI अपडेट करण्यासाठी LVGL GUI ॲपवरून API ला कॉल करते. LVGL GUI ॲपचा विकास तुलनेने स्वतंत्र आहे आणि विभाग 4.3 मध्ये सादर केला आहे.

4.1.5 चेहरा ओळखण्यासाठी HAL उपकरणे आणि व्यवस्थापक सुरू करा
सक्षम दृष्टी अल्गो HAL आणि UI आउटपुट HAL आणि त्यांचे व्यवस्थापक मुख्य मध्ये सुरू आहेत file
lvgl_gui_face_rec_cm7.cpp खालीलप्रमाणे फ्रेमवर्कवरील विकासाच्या रूपांतरणांचे अनुसरण करते:

  1. शीर्षलेख समाविष्ट करा file कोड लाइन जोडून दोन HAL व्यवस्थापकांशी संबंधित:
    • # " fwk_output_manager.h " समाविष्ट करा
    • # "fwk_vision_algo_manager.h" समाविष्ट करा
  2. HAL उपकरणे घोषित करा:
    • HAL_VALGO_DEV_DECLARE(OasisGUIFaceRec);
    • HAL_OUTPUT_DEV_DECLARE(UiGUIFaceRec);
  3. HAL उपकरणांची नोंदणी करा:
    • HAL_VALGO_DEV_REGISTER(OasisGUIFaceRec, ret);
    • HAL_OUTPUT_DEV_REGISTER(UiGUIFaceRec, ret);
  4. व्यवस्थापकांना प्रारंभ करा:
    • FWK_MANAGER_INIT(VisionAlgoManager, ret);
    • FWK_MANAGER_INIT(आउटपुट मॅनेजर, ret);
  5. व्यवस्थापक सुरू करा:
    • FWK_MANAGER_START(VisionAlgoManager, VISION_ALGO_MANAGER_TASK_PRIORITY, ret);
    • FWK_MANAGER_START(आउटपुट मॅनेजर, OUTPUT_MANAGER_TASK_PRIORITY, ret);
  6. व्यवस्थापकाच्या कार्यांचे प्राधान्यक्रम परिभाषित करा:
    • #VISION_ALGO_MANAGER_TASK_PRIORITY 3 परिभाषित करा
    • #OUTPUT_MANAGER_TASK_PRIORITY 1 परिभाषित करा

फ्रेमवर्कवर फेस डेटाबेस सपोर्ट जोडा
फ्लॅशवर स्टोअर केलेल्या फेस डेटाबेसमध्ये नोंदणीकृत फेस फीचर डेटा थोड्या द्वारे ऍक्सेस केला जातो file प्रणाली फेस डेटाबेस सपोर्ट जोडण्याच्या पायऱ्या खाली वर्णन केल्या आहेत.

फ्लॅश स्टोरेजसाठी ड्रायव्हर्स जोडा
फ्लॅश इंटरफेस फ्लेक्सएसपीआय ड्रायव्हर कॉपी करा files fsl_flexspi.c आणि fsl_flexspi.h, आणि डेटा एनक्रिप्शन ड्राइव्हर files fsl_caam.c आणि fsl_caam.h पाथ SDK_2_13_0_MIMXRT1170-EVK\devices \MIMRX1176\drivers\ पासून माजी च्या ड्रायव्हर्स फोल्डरपर्यंतample SW.

बोर्ड-स्तरीय समर्थन जोडा

  1. फ्लॅश उपकरणासाठी वापरल्या जाणाऱ्या FlexSPI ची व्याख्या board.h मध्ये जोडा:
    • # BOARD_FLEXSPI FLEXSPI1 परिभाषित करा
    • # BOARD_FLEXSPI_CLOCK kCLOCK_FlexSpi1 परिभाषित करा
    • # BOARD_FLEXSPI_AMBA_BASE FlexSPI1_AMBA_BASE परिभाषित करा
  2. ऑपरेटर आणि कॉन्फिगरेशन कॉपी करा fileफ्लॅश डिव्हाइसचे flexspi_nor_flash_ops.c, flexspi_nor_flash_ops.h, sln_flash_config.c, sln_flash_config_w25q256jvs.h, andsln_flash_ops.h पाथ अंतर्गत पाथ स्मार्ट HMI\flash_ops.ample SW.
    • C/C++ बिल्ड > सेटिंग्ज मधील “बिल्डमधून संसाधन वगळा” वर उजवे-क्लिक केल्यानंतर अनचेक करा. files चे नाव आणि गुणधर्म उघडणे त्यांना प्रकल्पात तयार करण्यास सक्षम करण्यासाठी.
  3. समाविष्ट शीर्षलेख बदला filesln_flash_config.c आणि flexspi_nor_flash_ops.h मध्ये sln_flash_config.h ते sln_flash_config_w25q256jvs.h असे नाव द्या.
  4. मध्ये FlexSPI1 घड्याळ स्रोत सेट करा file clock_config.c कॉफी मशीन ॲपचा संदर्भ देत आहे.

अडॅप्टर आणि मध्यम स्तर समर्थन जोडा

  1. कॉपी करा files sln_flash.c, sln_flash.h, sln_encrypt.c, आणि sln_encrypt.h साठी अडॅप्टर ड्रायव्हर्स म्हणून file सिस्टम आणि ॲप स्मार्ट HMI\coffee_machine\cm7\source\ च्या मार्गापासून माजी च्या फोल्डर स्त्रोतापर्यंतampले नवीन अपडेट करा files:
    • बिल्डिंगसाठी त्यांच्यावरील "बिल्डमधून संसाधन वगळा" अनचेक करा.
    • सर्व समाविष्ट शीर्षलेख बदला file नाव sln_flash_config.h ते sln_flash_config_w25q256jvs.h.
  2. फोल्डर कॉपी करा fileलहानांसाठी API असलेली प्रणाली fileसिस्टम आणि HAL ड्रायव्हर स्मार्ट HMI \coffee_machine\cm7\source\ पासून माजी पर्यंतample SW. आणि नवीन फोल्डरसाठी अपडेट करा:
    • बिल्डिंगसाठी त्यावर "बिल्डमधून संसाधन वगळा" अनचेक करा.
    • प्रोजेक्ट सेटिंग्जमध्ये त्याचा समावेश पथ जोडा: “${workspace_loc:/${ProjName}/fileप्रणाली}"
    • समाविष्ट शीर्षलेख बदला file sln_flash_config.h ला sln_flash_config_w25q256jvs.h आणि fica_definition.h ते app_config.h मध्ये नाव द्या file sln_flash_littlefs.h.
  3. मधल्या वेअर असलेले littlefs फोल्डर कॉपी करा – थोडे fileप्रणाली SDK_2_13_0_ MIMXRT1170-EVK\midleware\ पासून माजी पर्यंतample SW. आणि नवीन फोल्डर अपडेट करा:
    • बिल्डिंगसाठी त्यावर "बिल्डमधून संसाधन वगळा" अनचेक करा.
    • प्रोजेक्ट सेटिंग्जमध्ये त्याचा समावेश पथ जोडा: “${workspace_loc:/${ProjName}/littlefs}”

HAL ड्रायव्हर्स जोडा 

  • दोन एचएएल उपकरणे आहेत - file डेटाबेस ऍक्सेस वैशिष्ट्यासाठी सिस्टम आणि फेस डेटाबेस HAL समर्थित आहे आणि ते आधीपासून कोणत्याही बदलाशिवाय फ्रेमवर्कमध्ये लागू केले आहेत. board_define.h मध्ये खालील व्याख्या जोडून त्यांना सक्षम करा:
    • # ENABLE_FLASH_DEV_Littlefs परिभाषित करा
    • #ENABLE_FACEDB परिभाषित करा

आणि माजी साठी चेहरा डेटाबेस नाव बदलाample: #OASIS_FACE_DB_DIR "oasis_gui_face_rec" परिभाषित करा

ॲप-स्तरीय समर्थन जोडा

  1. मुख्य अद्यतनित करा file lvgl_gui_face_rec_cm7.cpp:
    • शीर्षलेख समाविष्ट करा file फ्लॅशशी संबंधित file कोड लाइन जोडून सिस्टम HAL व्यवस्थापक: # "fwk_flash.h" समाविष्ट करा
    • घोषित करा आणि नोंदणी करा file सिस्टम HAL डिव्हाइस:
      • HAL_FLASH_DEV_DECLARE(लिटलफ्स);
      • HAL_FLASH_DEV_REGISTER(Littlefs, ret);
        नोंद: द file APP_InitFramework() फंक्शनमध्ये सर्व डिव्हाइस व्यवस्थापक सुरू होण्यापूर्वी सिस्टम HAL डिव्हाइसची नोंदणी करणे आवश्यक आहे.
    • MPU कॉन्फिग करण्यासाठी APP_BoardInit() मधील BOARD_ConfigMPU() फंक्शनला कॉल करा.
  2. सेट करा file मध्ये फ्लॅश वर सिस्टम असाइनमेंट file मध्ये वापरलेल्या मॅक्रो व्याख्या परिभाषित करून app_config.h file sln_flash_littlefs.h:
    • #FICA_IMG_ परिभाषित कराFILE_SYS_ADDR (FLASH_IMG_SIZE + RES_SHMEM_TOTAL_SIZE)
    • #FICA_ परिभाषित कराFILE_SYS_SIZE (0x280000)

कॉन्फिगरेशन
काही फ्लॅश-संबंधित कोड पुरेशा कामगिरीसाठी SRAM ITC क्षेत्रामध्ये कार्यान्वित केले जातात. पाथ स्मार्ट HMI\coffee_machine\cm7\ वरून लिंकर कॉन्फिगरेशन असलेले फोल्डर लिंकस्क्रिप्ट कॉपी कराample SW.

LVGL GUI ॲप लागू करा
फ्रेमवर्कवर आधारित LVGL GUI ॲपचा विकास आउटपुट UI HAL मधून API ला कॉल करतो आणि UI HAL आउटपुट करण्यासाठी API प्रदान करतो (आउटपुट UI HAL च्या अंमलबजावणीसाठी विभाग 4.1.3 पहा).

तथापि, LVGL GUI ॲपची तपशीलवार अंमलबजावणी अनुप्रयोगाच्या आवश्यकता आणि डिझाइनवर अवलंबून असते. या माजी मध्ये GUI ॲपample विभाग 4 च्या सुरुवातीला वर्णन केल्याप्रमाणे डिझाइन केले आहे.

खाली अंमलबजावणी परिचय आहे:

  1. सानुकूलित कोड GUI गाइडरने दिलेल्या custom.c आणि custom.h मध्ये GUI गाइडर प्रोजेक्ट आणि एम्बेडेड सिस्टम प्रोजेक्ट दरम्यान इंटरफेस म्हणून लागू केले आहेत.
    •  खालील फंक्शन्स साध्य करण्यासाठी custom.c मध्ये gui_xxx() नावाची नवीन फंक्शन्स जोडा:
      • UI अपडेट करण्यासाठी आउटपुट UI HAL आणि GUI ॲपसाठी.
      • GUI ॲपसाठी आउटपुट UI HAL वरून UI कॉलबॅक फंक्शन्स कॉल करून इव्हेंट ट्रिगर करण्यासाठी.
        उदाample, नवीन फंक्शन gui_event_face_rec_action() संबंधित बटण क्लिक केल्यावर चेहरा नोंदणी, चेहरा ओळखणे आणि GUI ॲपवरून ट्रिगर केलेला वापरकर्ता हटवणे यापैकी एक इव्हेंट हाताळण्यासाठी UI कॉलबॅक फंक्शनला कॉल करते.
        टीप: gui_set_virtual_face() फंक्शन प्री साठी आउटपुट UI HAL मध्ये कॉल केले आहेview custom.c मध्ये मोड लागू करणे आवश्यक आहे:
    •  स्मार्ट HMI\coffee_machine\cm4\custom \custom.c वरून gui_set_virtual_face() फंक्शन क्लोन करा.
    •  विजेटचे नाव home_img_cameraPre बदलाview screen_img_camera_pre वरview फंक्शन मध्ये.
    •  UI कॉलबॅक फंक्शन्स आउटपुट UI HAL मधील सर्वांसाठी समान प्रोटोटाइपसह लागू करा कस्टम.c मधील मॅक्रो डेफिनिशन #ifndef RT_PLATFORM च्या नियंत्रणाखाली GUI मार्गदर्शक प्रोजेक्टशी सुसंगत राहण्यासाठी कारण आउटपुट UI HAL मधील ही फंक्शन्स आउटपुटवर अवलंबून आहेत. एम्बेडेड प्लॅटफॉर्म. custom.c मध्ये, ते GUI मार्गदर्शकावरील सिम्युलेटरवर अवलंबून असतात आणि एम्बेडेड प्लॅटफॉर्मवर स्वतंत्र असतात. उदाampले, GUI मार्गदर्शक सिम्युलेटर चालू करण्यासाठी चेहरा नोंदणी कॉलबॅक खालीलप्रमाणे लागू केला आहे: #ifndef RT_PLATFORM void UI_Registration_Callback() { gui_hide_del_user_btn(true); s_InAction = असत्य; परत }
      नोंद: विभाग 6 च्या चरण 4.1.3 मध्ये सादर केलेल्या फंक्शनच्या समान प्रोटोटाइपचा संदर्भ घ्या
      आकृती 7 मध्ये दर्शविल्याप्रमाणे MCUXpresso च्या प्रोजेक्ट सेटिंग्जवर मॅक्रो व्याख्या RT_PLATFORM सेट केली आहे:NXP-AN14263-अंमलबजावणी-LVGL-GUI चेहरा-ओळख-ऑन-फ्रेमवर-अंजीर- (14)
    • custom.h मध्ये UI_xxx_Callback() आणि gui_xxx() नावाची सर्व फंक्शन्स घोषित करा आणि UI आउटपुट HAL मध्ये GUI API सामायिक करण्यासाठी smart_tlhmi_event_descriptor.h मध्ये समाविष्ट custom.h जोडा.
  2. GUI मार्गदर्शक वर GUI विकसित करा:
    • फोल्डर कॅमेरा प्री क्लोन कराview बेस सॉफ्टवेअर पॅकेज lvgl_gui_camera_pre मधील gui_guider फोल्डरमध्ये GUI मार्गदर्शक प्रोजेक्ट सॉफ्टवेअर समाविष्टीत आहेview_cm7. संबंधित नाव camera_pre बदलाview नवीन माजी साठी face_recampले
    • वरील अद्यतनित custom.c आणि custom कॉपी करा. h नवीन GUI मार्गदर्शक प्रकल्प सॉफ्टवेअर.
    •  GUI मार्गदर्शक वर नवीन face_rec प्रकल्प उघडा. खालीलप्रमाणे अपडेट करा:
      • वापरकर्ता हटवा असे लेबल असलेले नवीन बटण जोडा. त्यात लपलेला ध्वज जोडा जेणेकरून GUI ॲप सुरू झाल्यावर बटण लपवले जाईल.
      • चेहरा नोंदणी, चेहरा ओळखणे आणि वापरकर्ता हटवणे या घटनांना ट्रिगर करण्यासाठी नोंदणी, ओळख आणि वापरकर्ता हटवा या सर्व बटणांच्या इव्हेंट सेटिंगमध्ये “रिलीझ केलेले” ट्रिगरवर भिन्न इव्हेंट आयडी पॅरामीटरसह API gui_event_face_rec_action() ला कॉल करण्याची कोड लाइन जोडा. आकृती 8 बटण नोंदणीच्या घटनेसाठी कोड दर्शविते:NXP-AN14263-अंमलबजावणी-LVGL-GUI चेहरा-ओळख-ऑन-फ्रेमवर-अंजीर- (15)
  3. GUI मार्गदर्शक कडून MCUXpresso प्रकल्पावर जनरेट केलेला कोड अपडेट करा.
    • MCUXpresso प्रोजेक्ट SW च्या व्युत्पन्न केलेल्या फोल्डरमधील फोल्डर प्रतिमा वगळता सामग्री GUI मार्गदर्शक प्रोजेक्ट SW द्वारे व्युत्पन्न केलेल्या फोल्डरमधील संबंधित फोटोंसह पुनर्स्थित करा.

नोंद: वर सादर केलेल्या सुधारणांबद्दल अधिक तपशीलांसाठी, माजी तपासाample सॉफ्टवेअर येथे https://mcuxpresso.nxp.com/appcodehub.

माजी सह पडताळणीampले प्रकल्प

माजी मिळविण्यासाठीampया ऍप्लिकेशन नोटसाठी संसाधने आणि साधने असलेले le सॉफ्टवेअर पॅकेज, भेट द्या: https://mcuxpresso.nxp.com/appcodehub. माजी उघडाampMCUXpresso IDE वर le प्रकल्प. .axf तयार करा आणि प्रोग्राम करा file 0x30000000 पत्त्यावर आणि संसाधन बिन प्रोग्राम करा file कॅमेरा_प्रीview0x30800000 पत्त्यावर _resource.bin.

LVGL GUI फेस रेकग्निशन उदाample खालीलप्रमाणे सामान्यपणे कार्य करते:

  • प्रीview: पॉवर अप सह, कॅमेऱ्याने कॅप्चर केलेले व्हिडिओ स्ट्रीम कॅमेऱ्यापूर्वीच्या विशिष्ट क्षेत्रावर दाखवतातview GUI स्क्रीनवर. स्थिती लेबल "प्रीview…” तपशीलांसाठी, आकृती 3 पहा. वापरकर्ता हटवा बटण लपलेले आहे. बटणे आणि प्रतिमांच्या बाहेरील क्षेत्रावर क्लिक करताना, ते पूर्व दर्शवतेview चेहरा नोंदणी किंवा ओळखीची क्रिया संपल्यानंतर वरीलप्रमाणे सांगा.
  • नोंदणी:
    • टार्टअप: नोंदणी बटण क्लिक केल्यावर, चेहरा नोंदणी सुरू होते. स्थिती लेबल “नोंदणी…” प्रदर्शित करण्यासाठी बदलते, चेहरा मार्गदर्शक आयत निळा दर्शवितो आणि प्रगती बार प्रगती दर्शवू लागतो. नोंदणीसाठी वापरकर्त्याचा चेहरा निळ्या चेहऱ्याच्या मार्गदर्शक आयतामध्ये दिसत असल्याची खात्री करा.
    • यश: स्टेटस लेबल “नोंदणी…ओके” आणि नोंदणीकृत वापरकर्ता आयडी क्रमांक दर्शविते, बारवर प्रगती पूर्ण दिसण्यापूर्वी चेहरा नोंदणी यशस्वी झाल्यास चेहरा मार्गदर्शक आयत लाल होईल.
    • अयशस्वी -> वेळ संपला: बारवर प्रगती पूर्ण दिसली तरीही चेहरा नोंदणी अयशस्वी झाल्यास स्थिती लेबल "नोंदणी…कालबाह्य" दर्शवते.
    • अयशस्वी -> डुप्लिकेशन: स्थिती लेबल "नोंदणी...अयशस्वी" दर्शवते, बारवर प्रगती पूर्ण दिसण्यापूर्वी नोंदणीकृत चेहरा ओळखला गेल्यास, चेहरा मार्गदर्शक आयत हिरवा होईल.
  • ओळख:
    • स्टार्टअप: जेव्हा ओळख बटण क्लिक केले जाते, तेव्हा चेहरा ओळखणे सुरू होते. स्थिती लेबल “ओळख…” प्रदर्शित करण्यासाठी बदलते, चेहरा मार्गदर्शक आयत निळा दाखवतो, आणि प्रगती बार प्रगती दर्शवू लागतो. नोंदणीसाठी वापरकर्त्याचा चेहरा निळ्या चेहऱ्याच्या मार्गदर्शक आयतामध्ये दर्शविला असल्याची खात्री करा.
    • यश: स्थिती लेबल “ओळख…ओके” आणि मान्यताप्राप्त वापरकर्ता आयडी क्रमांक दर्शविते, बारवर प्रगती पूर्ण दिसण्यापूर्वी चेहरा ओळख यशस्वी झाल्यास चेहरा मार्गदर्शक आयत हिरवा होईल. बिंदूवर, वापरकर्ता हटवा बटण दिसेल. याचा अर्थ वापरकर्त्याची ओळख पटल्यावरच त्याला हटवण्याची परवानगी आहे.
    • आजार: बारवर प्रगती पूर्ण दिसत असतानाही चेहरा ओळखणे अयशस्वी झाल्यास स्थिती लेबल "ओळख...कालबाह्य" दर्शवते.
  • वापरकर्ता हटवा: जेव्हा "उपयोगकर्ता हटवा" बटणावर क्लिक केले जाते, चेहरा ओळख यशस्वी झाल्यानंतर, स्थिती लेबल "उपयोगकर्ता हटवा...ओके" प्रदर्शित करण्यासाठी बदलते आणि चेहरा मार्गदर्शक आयत निळा होतो आणि बारवर पूर्ण प्रगती दर्शवते. वापरकर्ता हटवा बटण पुन्हा लपलेले आहे. ओळखलेला चेहरा/वापरकर्ता डेटाबेसमधून हटवला जातो. याचा अर्थ हा चेहरा/वापरकर्ता पुन्हा नोंदणीकृत होईपर्यंत ओळखला जाऊ शकत नाही.

दस्तऐवजातील स्त्रोत कोडबद्दल टीप
Exampया दस्तऐवजात दर्शविलेल्या le कोडमध्ये खालील कॉपीराइट आणि BSD-3-क्लॉज परवाना आहे:

कॉपीराइट 2024 NXP पुनर्वितरण आणि स्त्रोत आणि बायनरी फॉर्ममध्ये वापरास, सुधारणांसह किंवा त्याशिवाय, खालील अटी पूर्ण केल्या गेल्या असतील तर परवानगी आहे:

  1. स्त्रोत कोडच्या पुनर्वितरणांनी वरील कॉपीराइट सूचना, अटींची ही सूची आणि खालील अस्वीकरण राखून ठेवले पाहिजे.
  2. बायनरी स्वरूपात पुनर्वितरणांनी वरील कॉपीराइट सूचना, अटींची ही यादी आणि दस्तऐवजीकरण आणि/किंवा इतर सामग्रीमधील खालील अस्वीकरण वितरणासह प्रदान केले जाणे आवश्यक आहे.
  3. कॉपीराइट धारकाचे नाव किंवा त्याच्या योगदानकर्त्यांची नावे विशिष्ट पूर्व लेखी परवानगीशिवाय या सॉफ्टवेअरमधून घेतलेल्या उत्पादनांचे समर्थन किंवा प्रचार करण्यासाठी वापरली जाऊ शकत नाहीत.

हे सॉफ्टवेअर कॉपीराइट धारक आणि योगदानकर्त्यांद्वारे "जसे आहे तसे" आणि कोणतीही स्पष्ट किंवा निहित हमी प्रदान केली आहे, ज्यात, परंतु मर्यादित नाही, निहित हमी आणि मालकीची हमी उद्देश अस्वीकृत आहेत. कोणत्याही परिस्थितीत कॉपीराइट धारक किंवा योगदानकर्ते कोणत्याही प्रत्यक्ष, अप्रत्यक्ष, आकस्मिक, विशेष, अनुकरणीय, किंवा परिणामी नुकसानांसाठी जबाबदार असणार नाहीत (यासह, परंतु मर्यादित नाही किंवा सेवांचा वापर, डेटा किंवा नफा किंवा व्यवसायातील व्यत्यय) तथापि, करारामध्ये, कठोर उत्तरदायित्व, किंवा गैरकारभाराच्या कारणास्तव; या सॉफ्टवेअरच्या वापराच्या कोणत्याही मार्गाने, जरी अशा नुकसानाच्या शक्यतेचा सल्ला दिला गेला तरीही.

पुनरावृत्ती इतिहास

NXP-AN14263-अंमलबजावणी-LVGL-GUI चेहरा-ओळख-ऑन-फ्रेमवर-अंजीर- (16)

कायदेशीर माहिती

व्याख्या
मसुदा - दस्तऐवजावरील मसुदा स्थिती सूचित करते की सामग्री अद्याप अंतर्गत पुन: अंतर्गत आहेview आणि औपचारिक मान्यतेच्या अधीन, ज्यामुळे बदल किंवा जोडणी होऊ शकतात. NXP सेमीकंडक्टर दस्तऐवजाच्या मसुद्यात समाविष्ट केलेल्या माहितीच्या अचूकतेबद्दल किंवा पूर्णतेबद्दल कोणतेही प्रतिनिधित्व किंवा हमी देत ​​नाहीत आणि अशा माहितीच्या वापराच्या परिणामांसाठी त्यांचे कोणतेही उत्तरदायित्व असणार नाही.

अस्वीकरण

  • मर्यादित हमी आणि दायित्व — या दस्तऐवजातील माहिती अचूक आणि विश्वासार्ह असल्याचे मानले जाते. तथापि, NXP सेमीकंडक्टर अशा माहितीच्या अचूकतेबद्दल किंवा पूर्णतेबद्दल व्यक्त किंवा निहित कोणतेही प्रतिनिधित्व किंवा हमी देत ​​नाहीत आणि अशा माहितीच्या वापराच्या परिणामांसाठी त्यांचे कोणतेही उत्तरदायित्व असणार नाही. NXP Semiconductors या दस्तऐवजातील सामग्रीसाठी NXP Semiconductors बाहेरील माहिती स्त्रोताद्वारे प्रदान केल्यास कोणतीही जबाबदारी घेत नाही.
    कोणत्याही परिस्थितीत NXP सेमीकंडक्टर कोणत्याही अप्रत्यक्ष, आनुषंगिक, दंडात्मक, विशेष किंवा परिणामी नुकसानीसाठी जबाबदार असणार नाहीत (यासह - मर्यादेशिवाय - गमावलेला नफा, गमावलेली बचत, व्यवसायातील व्यत्यय, कोणतीही उत्पादने काढून टाकणे किंवा बदलण्याशी संबंधित खर्च किंवा पुनर्कार्य शुल्क) किंवा असे नुकसान टोर्ट (निष्काळजीपणासह), वॉरंटी, कराराचा भंग किंवा इतर कोणत्याही कायदेशीर सिद्धांतावर आधारित नाही.
    ग्राहकाला कोणत्याही कारणास्तव होणारे कोणतेही नुकसान असले तरी, येथे वर्णन केलेल्या उत्पादनांसाठी NXP सेमीकंडक्टर्सचे एकूण आणि एकत्रित दायित्व हे NXP सेमीकंडक्टर्सच्या व्यावसायिक विक्रीच्या अटी आणि शर्तींनुसार मर्यादित असेल.
  • बदल करण्याचा अधिकार — NXP सेमीकंडक्टर्सने या दस्तऐवजात प्रकाशित केलेल्या माहितीमध्ये बदल करण्याचा अधिकार राखून ठेवला आहे, ज्यामध्ये मर्यादा तपशील आणि उत्पादनाच्या वर्णनाशिवाय, कोणत्याही वेळी आणि सूचना न देता. हा दस्तऐवज येथे प्रकाशित होण्यापूर्वी पुरवलेल्या सर्व माहितीची जागा घेतो आणि पुनर्स्थित करतो.
  • वापरासाठी योग्यता — NXP सेमीकंडक्टर उत्पादने लाइफ सपोर्ट, लाइफ-क्रिटिकल किंवा सेफ्टी-क्रिटिकल सिस्टीम किंवा उपकरणांमध्ये वापरण्यासाठी योग्य असण्याची रचना, अधिकृत किंवा हमी दिलेली नाही, किंवा ज्या ऍप्लिकेशनमध्ये NXP सेमीकंडक्टर उत्पादनाच्या बिघाड किंवा खराबीमुळे अपेक्षित परिणाम होण्याची अपेक्षा केली जाऊ शकते. वैयक्तिक इजा, मृत्यू किंवा गंभीर मालमत्ता किंवा पर्यावरणीय नुकसान. NXP सेमीकंडक्टर आणि त्याचे पुरवठादार अशा उपकरणे किंवा अनुप्रयोगांमध्ये NXP सेमीकंडक्टर उत्पादनांचा समावेश आणि/किंवा वापरासाठी कोणतेही दायित्व स्वीकारत नाहीत आणि म्हणून अशा समावेश आणि/किंवा वापर ग्राहकाच्या स्वतःच्या जोखमीवर आहे.
  • अर्ज — यापैकी कोणत्याही उत्पादनांसाठी येथे वर्णन केलेले अनुप्रयोग केवळ स्पष्टीकरणासाठी आहेत. NXP सेमीकंडक्टर असे कोणतेही प्रतिनिधित्व किंवा हमी देत ​​नाही की असे ऍप्लिकेशन पुढील चाचणी किंवा बदल न करता निर्दिष्ट वापरासाठी योग्य असतील.
    NXP Semiconductors उत्पादने वापरून त्यांच्या ऍप्लिकेशन्स आणि उत्पादनांच्या डिझाइन आणि ऑपरेशनसाठी ग्राहक जबाबदार आहेत आणि NXP सेमीकंडक्टर ऍप्लिकेशन्स किंवा ग्राहक उत्पादन डिझाइनसह कोणत्याही सहाय्यासाठी कोणतेही दायित्व स्वीकारत नाहीत. NXP सेमीकंडक्टर उत्पादन हे ग्राहकाच्या ॲप्लिकेशन्स आणि नियोजित उत्पादनांसाठी तसेच नियोजित ऍप्लिकेशनसाठी आणि ग्राहकाच्या तृतीय पक्ष ग्राहक(च्या) वापरासाठी योग्य आणि तंदुरुस्त आहे की नाही हे निर्धारित करणे ही ग्राहकाची एकमात्र जबाबदारी आहे. ग्राहकांनी त्यांच्या ऍप्लिकेशन्स आणि उत्पादनांशी संबंधित जोखीम कमी करण्यासाठी योग्य डिझाइन आणि ऑपरेटिंग सुरक्षा प्रदान केली पाहिजे. NXP सेमीकंडक्टर्स ग्राहकाच्या ऍप्लिकेशन्स किंवा उत्पादनांमधील कोणत्याही कमकुवतपणावर किंवा डिफॉल्टवर आधारित असलेल्या कोणत्याही डीफॉल्ट, नुकसान, खर्च किंवा समस्येशी संबंधित कोणतीही जबाबदारी स्वीकारत नाहीत किंवा ग्राहकाच्या तृतीय पक्ष ग्राहकांद्वारे अनुप्रयोग किंवा वापर. ऍप्लिकेशन्स आणि उत्पादनांचे किंवा ऍप्लिकेशनचे किंवा ग्राहकाच्या तृतीय पक्ष ग्राहकांद्वारे वापरणे टाळण्यासाठी NXP सेमीकंडक्टर उत्पादनांचा वापर करून ग्राहकाच्या ऍप्लिकेशन्स आणि उत्पादनांसाठी सर्व आवश्यक चाचणी करण्यासाठी ग्राहक जबाबदार आहे. NXP या संदर्भात कोणतेही दायित्व स्वीकारत नाही.
  • व्यावसायिक विक्रीच्या अटी व शर्ती — https://www.nxp.com/pro वर प्रकाशित केल्याप्रमाणे, NXP सेमीकंडक्टर उत्पादने व्यावसायिक विक्रीच्या सामान्य अटी व शर्तींच्या अधीन विकली जातात.file/अटी, वैध लिखित वैयक्तिक करारामध्ये अन्यथा सहमत नसल्यास. वैयक्तिक करार पूर्ण झाल्यास संबंधित कराराच्या अटी व शर्ती लागू होतील. NXP सेमीकंडक्टर्स याद्वारे ग्राहकाद्वारे NXP सेमीकंडक्टर उत्पादनांच्या खरेदीच्या संदर्भात ग्राहकाच्या सामान्य अटी व शर्ती लागू करण्यास स्पष्टपणे आक्षेप घेतात.
  • निर्यात नियंत्रण — हा दस्तऐवज तसेच येथे वर्णन केलेले आयटम निर्यात नियंत्रण नियमांच्या अधीन असू शकतात. निर्यातीसाठी सक्षम प्राधिकरणांकडून पूर्व परवानगी आवश्यक असू शकते.
  • गैर-ऑटोमोटिव्ह पात्र उत्पादनांमध्ये वापरण्यासाठी योग्यता — जोपर्यंत हे दस्तऐवज स्पष्टपणे नमूद करत नाही की हे विशिष्ट NXP सेमीकंडक्टर उत्पादन ऑटोमोटिव्ह पात्र आहे, उत्पादन ऑटोमोटिव्ह वापरासाठी योग्य नाही. हे ऑटोमोटिव्ह चाचणी किंवा अनुप्रयोग आवश्यकतांनुसार पात्र किंवा चाचणी केलेले नाही. एनएक्सपी सेमीकंडक्टर ऑटोमोटिव्ह उपकरणे किंवा अनुप्रयोगांमध्ये गैर-ऑटोमोटिव्ह पात्र उत्पादनांचा समावेश आणि/किंवा वापरासाठी कोणतेही दायित्व स्वीकारत नाहीत.
    ग्राहक ऑटोमोटिव्ह ऍप्लिकेशन्समध्ये ऑटोमोटिव्ह स्पेसिफिकेशन्स आणि स्टँडर्ड्ससाठी डिझाइन-इन आणि वापरण्यासाठी उत्पादन वापरत असल्यास, ग्राहक (अ) अशा ऑटोमोटिव्ह ऍप्लिकेशन्स, वापर आणि वैशिष्ट्यांसाठी उत्पादनाच्या NXP सेमीकंडक्टरच्या वॉरंटीशिवाय उत्पादन वापरेल, आणि ( b) जेव्हा जेव्हा ग्राहक NXP सेमीकंडक्टरच्या वैशिष्ट्यांच्या पलीकडे ऑटोमोटिव्ह ऍप्लिकेशन्ससाठी उत्पादन वापरतो तेव्हा असा वापर पूर्णपणे ग्राहकाच्या स्वतःच्या जोखमीवर असेल आणि (c) ग्राहक NXP सेमीकंडक्टरची पूर्ण भरपाई करतो, ग्राहकांच्या डिझाइन आणि वापरामुळे होणारे कोणतेही दायित्व, नुकसान किंवा अयशस्वी उत्पादन दाव्यांसाठी एनएक्सपी सेमीकंडक्टर्सच्या मानक वॉरंटी आणि एनएक्सपी सेमीकंडक्टरच्या उत्पादन वैशिष्ट्यांच्या पलीकडे ऑटोमोटिव्ह अॅप्लिकेशन्ससाठी उत्पादन.
  • भाषांतरे - दस्तऐवजाची इंग्रजी नसलेली (अनुवादित) आवृत्ती, त्या दस्तऐवजातील कायदेशीर माहितीसह, केवळ संदर्भासाठी आहे. अनुवादित आणि इंग्रजी आवृत्त्यांमध्ये काही विसंगती आढळल्यास इंग्रजी आवृत्ती प्रचलित असेल.
  • सुरक्षा — ग्राहक समजतो की सर्व NXP उत्पादने अज्ञात भेद्यतेच्या अधीन असू शकतात किंवा ज्ञात मर्यादांसह स्थापित सुरक्षा मानके किंवा वैशिष्ट्यांना समर्थन देऊ शकतात. ग्राहक त्याच्या ऍप्लिकेशन्स आणि उत्पादनांच्या डिझाइन आणि ऑपरेशनसाठी त्यांच्या संपूर्ण आयुष्यभर जबाबदार आहे जेणेकरून ग्राहकाच्या ऍप्लिकेशन्स आणि उत्पादनांवर या भेद्यतेचा प्रभाव कमी होईल. ग्राहकाची जबाबदारी ग्राहकाच्या ऍप्लिकेशन्समध्ये वापरण्यासाठी NXP उत्पादनांद्वारे समर्थित इतर खुल्या आणि/किंवा मालकी तंत्रज्ञानापर्यंत देखील विस्तारित आहे. NXP कोणत्याही भेद्यतेसाठी कोणतेही दायित्व स्वीकारत नाही. ग्राहकाने नियमितपणे NXP कडून सुरक्षा अद्यतने तपासावीत आणि योग्य पाठपुरावा करावा. ग्राहक सुरक्षितता वैशिष्ट्यांसह उत्पादने निवडेल जी इच्छित अनुप्रयोगाचे नियम, नियम आणि मानकांची सर्वोत्तम पूर्तता करतात आणि त्याच्या उत्पादनांबद्दल अंतिम डिझाइन निर्णय घेतात आणि त्याच्या उत्पादनांशी संबंधित सर्व कायदेशीर, नियामक आणि सुरक्षा संबंधित आवश्यकतांचे पालन करण्यासाठी पूर्णपणे जबाबदार असतात. NXP द्वारे प्रदान केलेली कोणतीही माहिती किंवा समर्थन.

NXP कडे प्रोडक्ट सिक्युरिटी इन्सिडेंट रिस्पॉन्स टीम (PSIRT) आहे (PSIRT@nxp.com वर पोहोचू शकते) जी NXP उत्पादनांच्या सुरक्षा भेद्यतेसाठी तपास, रिपोर्टिंग आणि सोल्यूशन रिलीझ व्यवस्थापित करते.
NXP BV — NXP BV ही ऑपरेटिंग कंपनी नाही आणि ती उत्पादने वितरित किंवा विकत नाही.

ट्रेडमार्क
लक्ष द्या: सर्व संदर्भित ब्रँड, उत्पादनांची नावे, सेवा नावे आणि ट्रेडमार्क ही त्यांच्या संबंधित मालकांची मालमत्ता आहे.

एनएक्सपी — वर्डमार्क आणि लोगो हे NXP BV चे ट्रेडमार्क आहेत

AMBA, Arm, Arm7, Arm7TDMI, Arm9, Arm11, Artisan, big.LITTLE, Cordio, CoreLink, CoreSight, Cortex, DesignStart, DynamIQ, Jazelle, Keil, Mali, Mbed, Mbed सक्षम, NEON, POP, RealView, SecurCore, Socrates, Thumb, TrustZone, ULINK, ULINK2, ULINK-ME, ULINK-PLUS, ULINKpro, μVision, Versatile — हे US आणि/किंवा Arm Limited चे ट्रेडमार्क आणि/किंवा नोंदणीकृत ट्रेडमार्क आहेत. इतरत्र संबंधित तंत्रज्ञान कोणत्याही किंवा सर्व पेटंट, कॉपीराइट, डिझाइन आणि व्यापार रहस्ये द्वारे संरक्षित केले जाऊ शकते. सर्व हक्क राखीव.

  • i.MX - NXP BV चा ट्रेडमार्क आहे
  • जे-लिंक — SEGGER Microcontroller GmbH चा ट्रेडमार्क आहे.

Microsoft, Azure आणि ThreadX — हे Microsoft समूहाच्या कंपन्यांचे ट्रेडमार्क आहेत.

कृपया लक्षात ठेवा की या दस्तऐवज आणि येथे वर्णन केलेल्या उत्पादनांसंबंधी महत्त्वाच्या सूचना, 'कायदेशीर माहिती' विभागात समाविष्ट केल्या आहेत.

© 2024 NXP BV
अधिक माहितीसाठी, कृपया भेट द्या: https://www.nxp.com

  • प्रकाशन तारीख: 19 एप्रिल 2024
  • दस्तऐवज ओळखकर्ता: AN14263

वारंवार विचारले जाणारे प्रश्न

प्रश्न: या उत्पादनाचा मुख्य उद्देश काय आहे?
A: मुख्य उद्देश म्हणजे साध्या LVGL GUI सह AI&ML व्हिजन अल्गोरिदम मॉडेल वापरून चेहरा ओळखण्याचे कार्य सक्षम करणेampSLN-TLHMI-IOT बोर्डवर le.

प्रश्न: या ऍप्लिकेशन नोटचा विकासकांना कसा फायदा होऊ शकतो?
A: डेव्हलपर प्रदान केलेल्या एक्स वापरून फ्रेमवर्कवर चरण-दर-चरण चेहरा ओळख कशी लागू करावी हे शिकू शकतातample आणि सहभागी उपकरण व्यवस्थापक, HAL उपकरणे, आणि कार्यक्रम यंत्रणा समजून घ्या.

कागदपत्रे / संसाधने

NXP AN14263 फ्रेमवर LVGL GUI फेस रेकग्निशन लागू करा [pdf] वापरकर्ता मार्गदर्शक
AN14263 Framewor वर LVGL GUI फेस रेकग्निशन, AN14263, Framewor वर LVGL GUI फेस रेकग्निशन लागू करा, Framewor वर LVGL GUI फेस रेकग्निशन, Framewor वर चेहरा ओळख, Framewor वर ओळख,

संदर्भ

एक टिप्पणी द्या

तुमचा ईमेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित आहेत *