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

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

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

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

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

  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 ทั้งหมดต้องมีรหัสชุด และคุณต้องมีโปรไฟล์การจัดสรรที่ให้คุณติดตั้งแอปที่มีรหัสนั้นในโทรศัพท์ได้ คุณต้องกำหนดค่าคำนำหน้าที่ไม่ซ้ำกันสำหรับรหัสชุดของแอปเดโม 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. การตั้งค่านี้ต้องทำเพียงครั้งเดียวสำหรับแต่ละแอปพลิเคชันที่คุณต้องการติดตั้ง ทำขั้นตอนที่ 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 ในเมนูเป้าหมาย แล้วสร้างและเรียกใช้ตามปกติได้

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

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