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

ทำตามวิธีการด้านล่างเพื่อสร้างแอปตัวอย่าง iOS ด้วย MediaPipe Framework หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับแอปตัวอย่างเหล่านี้ ให้เริ่มจาก Hello World! ใน iOS

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

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

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

  2. ติดตั้ง Xcode แล้วติดตั้งเครื่องมือบรรทัดคำสั่งโดยใช้สิ่งต่อไปนี้

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

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

    brew install bazelisk
    
  4. ติดตั้งไลบรารี "six" ของ Python ขั้นตอนนี้จำเป็นสำหรับ TensorFlow

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

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

ตั้งค่าคำนำหน้ารหัสกลุ่ม

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

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

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

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. เลือกเป้าหมายแอปพลิเคชันรายการใดรายการหนึ่ง เช่น HandTrackingGpuApp

  4. เลือกแท็บ "การรับรองและความสามารถ"

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

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

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

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

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

  2. เรียกใช้คําสั่งนี้

    python3 mediapipe/examples/ios/link_local_profiles.py
    

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

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

  1. รับโปรไฟล์การจัดสรรจาก Apple
  1. ซิมลิงก์หรือคัดลอกโปรไฟล์การจัดสรรไปยัง 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 รายการใดก็ได้ในเมนูเป้าหมาย แล้วสร้างและเรียกใช้ตามปกติ

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

  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. ตอนนี้คุณเรียกใช้แอปในอุปกรณ์ได้แล้ว