Bu öğreticide, gerçek zamanlı poz algılama yapmak için TensorFlow poz algılama modelini ( MoveNet.SinglePose.Lightning ) kullanan bir React Native örnek uygulamasını yükleyip çalıştıracaksınız. React Native için TensorFlow.js platform adaptörü üzerine inşa edilen uygulama, ön ve arka kameralarla hem dikey hem de yatay modları destekler.
Önkoşullar
Bu öğreticiyi tamamlamak için geliştirme ortamınızda aşağıdakilerin yüklü olması gerekir:
- Node.js ( indirme )
- İplik ( kurulum )
- (Telefonda veya başka bir test cihazında) Expo Go ( yükleyin )
TensorFlow.js React Native platform bağdaştırıcısı expo-gl ve expo-gl-cpp'ye bağlıdır, dolayısıyla React Native'in Expo tarafından desteklenen bir sürümünü kullanmanız gerekir.
Örnek uygulamayı yükleyin ve çalıştırın
-
tfjs-examples
deposunu klonlayın veya indirin. react-native/pose-detection
dizinine geçin:cd tfjs-examples/react-native/pose-detection
Bağımlılıkları yükleyin:
yarn
Örnek uygulamayı yerel olarak çalıştırın:
yarn start
Uygulamayı çalıştırdığınızda terminal bir QR kodu görüntüler.
Starting Metro Bundler
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
█ ▄▄▄▄▄ █▄▀ ▀ ███ ▄▄▄▄▄ █
█ █ █ █ █▀ █ ▀█ █ █ █
█ █▄▄▄█ █▄█▀ ▄▀█▄▀█ █▄▄▄█ █
█▄▄▄▄▄▄▄█▄█ █ █▄▀ █▄▄▄▄▄▄▄█
█▄ ▄▀█▄█ █ ▄ ▀▀▄▄▄██▄ ▄▀▄█
██▄▀▀█▀▄█▀ ▄▄▀ █▀█ ▀██▀███
█▄▄▀ ▀▀▄▄▄ ▄▀ ▄█ ▄█ ▄ █ █▀█
█▀▄▄ ▄▄▄▀ ▄ █▄██ ▀▀█▀▀█ ▀█
███▄▄██▄█▀▄██▄ ▄ ▄▄▄ ▀▄█▀█
█ ▄▄▄▄▄ ██ ▀██▀█ █▄█ █▄▄ █
█ █ █ █▀█ ███▀▀▄▄ █▀ ▀█
█ █▄▄▄█ █ ▀▀▀▀▀▄▀▄▀▄█▄▄ ▄██
█▄▄▄▄▄▄▄█▄██▄▄██▄██████▄▄▄█
› Metro waiting on exp://192.168.0.6:19000
QR kodunu Expo Go'nun yüklü olduğu bir telefonla veya başka bir test cihazıyla tarayın. Örnek uygulama Expo Go'da açılmalıdır.
Aşağıdaki ekran görüntüleri, uygulamanın kullanıcının vücudundaki önemli noktaları tespit edip oluşturduğunu göstermektedir.
Örnekte TensorFlow.js kitaplıklarının nasıl kullanıldığını anlamak için App.tsx'e bakın. Bu dosyadaki yorumlar tensör boyutunun nasıl yapılandırılacağını, modelin nasıl yükleneceğini, poz algılamanın nasıl çalıştırılacağını ve daha fazlasını açıklar.
TensorFlow.js kullanarak poz algılama hakkında daha fazla bilgi edinmek için bu blog gönderisine bakın.
Reactive Native platform adaptörü hakkında daha fazla bilgi
React Native için TensorFlow.js platform adaptörü, TensorFlow.js'nin GPU ile hızlandırılmış yürütülmesini sağlar ve TensorFlow.js kullanımının tüm ana modlarını destekler:
- Hem model çıkarımı hem de eğitim desteği
- Expo-gl aracılığıyla WebGL ile GPU desteği
- Web'den önceden eğitilmiş modelleri yükleme desteği
-
IOHandler
, eşzamansız depolamadan yükleme modellerini ve uygulama paketinde derlenen modelleri destekleyecektir
Kurulum talimatlarının tamamı için React Native platform adaptörü README'ye bakın.
React Native için TensorFlow.js sorunlarını giderme
Uygulamanız başlangıçta çökerse kurulumunuzu değiştirmeniz gerekebilir. React Native için platform bağdaştırıcısını ayarlama hakkında daha fazla bilgi edinmek için README'ye bakın.