במדריך זה תתקין ותפעיל אפליקציה לדוגמה של React Native המשתמשת במודל זיהוי תנוחות של TensorFlow ( MoveNet.SinglePose.Lightning ) כדי לבצע זיהוי תנוחות בזמן אמת. האפליקציה בנויה על מתאם הפלטפורמה TensorFlow.js עבור React Native , תומכת במצבי דיוקן ונוף עם המצלמה הקדמית והאחורית.
דרישות מוקדמות
כדי להשלים מדריך זה, עליך להתקין את הדברים הבאים בסביבת הפיתוח שלך:
מתאם פלטפורמת TensorFlow.js React Native תלוי ב- expo-gl וב- expo-gl-cpp , לכן עליך להשתמש בגרסה של React Native הנתמכת על ידי Expo .
התקן והפעל את האפליקציה לדוגמה
- שכפל או הורד את מאגר
tfjs-examples
. שנה לספריית
react-native/pose-detection
:cd tfjs-examples/react-native/pose-detection
תלות בהתקנה:
yarn
הפעל את האפליקציה לדוגמה באופן מקומי:
yarn start
כאשר אתה מפעיל את האפליקציה, המסוף מציג קוד QR.
Starting Metro Bundler
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
█ ▄▄▄▄▄ █▄▀ ▀ ███ ▄▄▄▄▄ █
█ █ █ █ █▀ █ ▀█ █ █ █
█ █▄▄▄█ █▄█▀ ▄▀█▄▀█ █▄▄▄█ █
█▄▄▄▄▄▄▄█▄█ █ █▄▀ █▄▄▄▄▄▄▄█
█▄ ▄▀█▄█ █ ▄ ▀▀▄▄▄██▄ ▄▀▄█
██▄▀▀█▀▄█▀ ▄▄▀ █▀█ ▀██▀███
█▄▄▀ ▀▀▄▄▄ ▄▀ ▄█ ▄█ ▄ █ █▀█
█▀▄▄ ▄▄▄▀ ▄ █▄██ ▀▀█▀▀█ ▀█
███▄▄██▄█▀▄██▄ ▄ ▄▄▄ ▀▄█▀█
█ ▄▄▄▄▄ ██ ▀██▀█ █▄█ █▄▄ █
█ █ █ █▀█ ███▀▀▄▄ █▀ ▀█
█ █▄▄▄█ █ ▀▀▀▀▀▄▀▄▀▄█▄▄ ▄██
█▄▄▄▄▄▄▄█▄██▄▄██▄██████▄▄▄█
› Metro waiting on exp://192.168.0.6:19000
סרוק את קוד ה-QR עם טלפון או מכשיר בדיקה אחר שמותקן בו Expo Go. האפליקציה לדוגמה אמורה להיפתח ב-Expo Go.
צילומי המסך למטה מציגים את האפליקציה שמזהה ומציגה נקודות מפתח של גוף המשתמש.
כדי להבין כיצד נעשה שימוש בספריות TensorFlow.js בדוגמה, עיין ב- App.tsx . ההערות בקובץ זה מסבירות כיצד להגדיר את גודל הטנזור, לטעון את הדגם, להפעיל זיהוי תנוחות ועוד.
למידע נוסף על זיהוי תנוחות באמצעות TensorFlow.js, עיין בפוסט זה בבלוג .
עוד על מתאם הפלטפורמה Reactive Native
מתאם הפלטפורמה TensorFlow.js עבור React Native מספק ביצוע מואץ של GPU של TensorFlow.js ותומך בכל מצבי השימוש העיקריים של TensorFlow.js:
- תמיכה הן בהסקת מודל והן בהדרכה
- תמיכה ב-GPU עם WebGL דרך expo-gl
- תמיכה בטעינת דגמים מאומנים מראש מהאינטרנט
-
IOHandler
s כדי לתמוך בטעינת דגמים מאחסון אסינכרון ודגמים המורכבים לתוך חבילת האפליקציות
להוראות התקנה מלאות, עיין במתאם הפלטפורמה של React Native README .
פתרון בעיות של TensorFlow.js עבור React Native
אם האפליקציה שלך קורסת בעת ההפעלה, ייתכן שתצטרך לשנות את ההגדרה שלך. למידע נוסף על הגדרת מתאם הפלטפורמה עבור React Native, עיין ב- README .