เฟรมเวิร์ก MediaPipe บน iOS

ทำตามคำแนะนำด้านล่างเพื่อสร้างแอปตัวอย่างสำหรับ iOS ที่ใช้ MediaPipe กรอบการทำงาน หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับตัวอย่างแอปเหล่านี้ ให้เริ่มต้นจากสวัสดี โลก! บน iOS

การสร้างแอปตัวอย่างสำหรับ iOS

วิชาบังคับก่อน

  1. ติดตั้ง Mediapipe Framework โดยทำตามวิธีการเหล่านี้

  2. ติดตั้ง Xcode จากนั้นติดตั้ง เครื่องมือบรรทัดคำสั่งโดยใช้

    xcode-select --install
    
  3. ติดตั้ง Bazelisk

    เราขอแนะนำให้ใช้ Homeในชุด เพื่อดาวน์โหลดเวอร์ชันล่าสุด

    brew install bazelisk
    
  4. ตั้งค่า Python 3.7 เป็นเวอร์ชัน Python เริ่มต้นและติดตั้ง Python "6" ไลบรารี ซึ่งจำเป็นสำหรับ TensorFlow

    pip3 install --user six
    
  5. โคลนที่เก็บ MediaPipe

    git clone https://github.com/google/mediapipe.git
    

ตั้งค่าคำนำหน้ารหัสชุด

แอป iOS ทั้งหมดต้องมีรหัสชุด และต้องมีโปรไฟล์การจัดสรร ที่ช่วยให้คุณติดตั้งแอปด้วยรหัสนั้นลงในโทรศัพท์ เพื่อหลีกเลี่ยงการชน ระหว่างผู้ใช้ MediaPipe ที่ต่างกัน คุณต้องกำหนดค่าคำนำหน้าที่ไม่ซ้ำสำหรับ Bundle ID ของแอปเดโม iOS

ถ้าคุณมีโปรไฟล์การจัดสรรที่กำหนดเอง โปรดดู การจัดสรรที่กำหนดเองที่ด้านล่าง

หรือเรียกใช้คำสั่งนี้เพื่อสร้างคำนำหน้าที่ไม่ซ้ำกัน

python3 mediapipe/examples/ios/link_local_profiles.py

สร้างโปรเจ็กต์ Xcode

ซึ่งจะช่วยให้คุณแก้ไขและแก้ไขข้อบกพร่องหนึ่งในตัวอย่างแอปใน Xcode ได้ และ ช่วยให้คุณสามารถใช้การจัดสรรอัตโนมัติได้ (ดูหัวข้อภายหลัง)

  1. เราจะใช้เครื่องมือที่เรียกว่า Tulsi ในการสร้าง โปรเจ็กต์ Xcode จากการกำหนดค่าบิลด์ของ Bazel

    # cd out of the mediapipe directory, then:
    git clone https://github.com/bazelbuild/tulsi.git
    cd tulsi
    # remove Xcode version from Tulsi's .bazelrc (see http://github.com/bazelbuild/tulsi#building-and-installing):
    sed -i .orig '/xcode_version/d' .bazelrc
    # build and run Tulsi:
    sh build_and_run.sh
    

    การดำเนินการนี้จะติดตั้ง Tulsi.app ภายในไดเรกทอรี Applications ใน ไดเรกทอรีหน้าแรก

  2. เปิด mediapipe/Mediapipe.tulsiproj โดยใช้แอป Tulsi

  3. เลือกการกำหนดค่า MediaPipe ในแท็บการกำหนดค่า จากนั้นกด สร้าง ด้านล่างได้เลย ระบบจะขอตำแหน่งที่จะบันทึกโปรเจ็กต์ Xcode เมื่อสร้างโปรเจ็กต์แล้ว โปรเจ็กต์จะเปิดใน Xcode

    หากคุณได้รับข้อผิดพลาดเกี่ยวกับรหัสชุด โปรดดูที่ ส่วนก่อนหน้า

ตั้งค่าการจัดสรร

หากต้องการติดตั้งแอปพลิเคชันในอุปกรณ์ iOS คุณต้องมีโปรไฟล์การจัดสรร มี มี 2 ตัวเลือกดังนี้

  1. การจัดสรรอัตโนมัติ ซึ่งช่วยให้คุณสามารถสร้างและติดตั้งแอปลงใน อุปกรณ์ส่วนตัว โปรไฟล์การจัดสรรได้รับการจัดการโดย Xcode และจะต้อง อัปเดตบ่อย (ใช้ได้ประมาณ 1 สัปดาห์)

  2. การจัดสรรที่กำหนดเอง การดำเนินการนี้ใช้โปรไฟล์การจัดสรรที่เชื่อมโยงกับ บัญชีนักพัฒนาแอป Apple โปรไฟล์เหล่านี้มีระยะเวลามีผลนานกว่าและ กำหนดเป้าหมายอุปกรณ์ได้หลายเครื่อง แต่คุณต้องมีบัญชีนักพัฒนาซอฟต์แวร์แบบชำระเงิน Apple จะรับให้ได้

การจัดสรรอัตโนมัติ

  1. สร้างโปรเจ็กต์ Xcode สำหรับ MediaPipe ตามที่ได้พูดคุยกัน ก่อนหน้านี้

  2. ในตัวนำทางโปรเจ็กต์ในแถบด้านข้างทางซ้าย ให้เลือก "Mediapipe"

  3. เลือกเป้าหมายแอปพลิเคชัน 1 รายการ เช่น HandTrackingGpuApp

  4. เลือกช่องทำเครื่องหมาย "การลงนามและ ความสามารถ"

  5. เลือก "จัดการการลงชื่อโดยอัตโนมัติ" และยืนยันกล่องโต้ตอบ

  6. เลือก "ชื่อของคุณ (ทีมส่วนบุคคล)" ในเมนูกล่องโต้ตอบทีม

  7. คุณต้องทำการตั้งค่านี้ 1 ครั้งสำหรับแต่ละแอปพลิเคชันที่ต้องการติดตั้ง ทำขั้นตอนที่ 3-6 ซ้ำตามต้องการ

การดำเนินการนี้จะสร้างโปรไฟล์การจัดสรรสำหรับแต่ละแอปที่คุณเลือก ตอนนี้คุณ คุณต้องบอกให้ Bazel ใช้ เราได้จัดเตรียมสคริปต์ที่จะช่วยให้คุณทำงานได้ง่ายขึ้น

  1. ในเทอร์มินัล ไปยังไดเรกทอรี mediapipe ที่คุณโคลน ที่เก็บได้

  2. ใช้คําสั่งนี้

    python3 mediapipe/examples/ios/link_local_profiles.py
    

ค้นหาและลิงก์โปรไฟล์การจัดสรรสำหรับแอปพลิเคชันทั้งหมดที่ คุณได้เปิดใช้การจัดสรรอัตโนมัติใน Xcode

การจัดสรรที่กำหนดเอง

  1. รับโปรไฟล์การจัดสรรจาก Apple
  1. Symlink หรือคัดลอกโปรไฟล์การจัดสรรไปที่ mediapipe/mediapipe/provisioning_profile.mobileprovision

    cd mediapipe
    ln -s ~/Downloads/MyProvisioningProfile.mobileprovision mediapipe/provisioning_profile.mobileprovision
    
  1. เปิด mediapipe/examples/ios/bundle_id.bzl และเปลี่ยน BUNDLE_ID_PREFIX ไปยังคำนำหน้าที่เชื่อมโยงกับโปรไฟล์การจัดสรร

สร้างและเรียกใช้แอปโดยใช้ Xcode

  1. สร้างโปรเจ็กต์ Xcode และตรวจสอบว่าได้ตั้งค่าแบบอัตโนมัติหรือ การจัดสรรที่กำหนดเอง

  2. ตอนนี้คุณสามารถเลือกการสาธิต Mediapipe Framework ในเมนูเป้าหมาย และสร้างและเรียกใช้ตามปกติ

สร้างแอปโดยใช้บรรทัดคำสั่ง

  1. ตรวจสอบว่าคุณได้ตั้งค่าการจัดสรรอัตโนมัติหรือการจัดสรรที่กำหนดเองแล้ว

  2. ตัวอย่างเช่น ใช้ MediaPipe Hands ในการเรียกใช้

    bazel build -c opt --config=ios_arm64 mediapipe/examples/ios/handtrackinggpu:HandTrackingGpuApp
    

    คุณอาจเห็นคำขอสิทธิ์จาก codesign เพื่อลงนามแอป

  3. ใน Xcode ให้เปิดหน้าต่าง Devices and Simulators (command-shift-2)

  4. ตรวจสอบว่าอุปกรณ์เชื่อมต่อแล้ว คุณจะเห็นรายการแอปที่ติดตั้ง กดปุ่ม "+" ใต้รายการ แล้วเลือกไฟล์ .ipa ที่สร้างโดย Bazel

  5. ตอนนี้คุณเรียกใช้แอปในอุปกรณ์ได้แล้ว