เพิ่มขนาดให้กับรูปภาพ

คำแนะนำเฉพาะแพลตฟอร์ม

Augmented Images API ใน ARCore ช่วยให้คุณสร้างแอป AR ที่ตรวจจับและเพิ่มภาพ 2 มิติในสภาพแวดล้อมของผู้ใช้ได้ เช่น โปสเตอร์หรือการจัดแพ็กเกจผลิตภัณฑ์

คุณระบุชุดรูปภาพอ้างอิง ARCore ใช้อัลกอริทึมคอมพิวเตอร์วิทัศน์เพื่อดึงฟีเจอร์จากข้อมูลโทนสีเทาในแต่ละรูปภาพ และจัดเก็บภาพแทนฟีเจอร์เหล่านี้ไว้ในฐานข้อมูล Augmented Image อย่างน้อย 1 รายการ

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

ความสามารถ

ARCore ติดตามรูปภาพพร้อมกันได้สูงสุด 20 ภาพ ARCore จะไม่ตรวจจับหรือติดตาม หลายๆ อินสแตนซ์ของรูปภาพเดียวกันพร้อมกัน

ฐานข้อมูล Augmented Image แต่ละฐานข้อมูลเก็บข้อมูลรูปภาพอ้างอิงได้สูงสุด 1,000 รูป ไม่มีการจำกัดจำนวนฐานข้อมูล แต่มีเพียงฐานข้อมูลเดียวเท่านั้นที่ใช้งานได้ในช่วงเวลาหนึ่งๆ

คุณจะเพิ่มรูปภาพลงในฐานข้อมูล Augmented Image ขณะรันไทม์ได้สูงสุด 1,000 รูปต่อฐานข้อมูล คุณสามารถดาวน์โหลดฐานข้อมูล ที่สร้างไว้ก่อนหน้านี้โดยใช้การเชื่อมต่อเครือข่าย

เมื่อเพิ่มรูปภาพ สามารถระบุขนาดจริงของรูปภาพที่จะตรวจพบได้ การดำเนินการนี้จะช่วยปรับปรุงประสิทธิภาพการตรวจจับภาพ

  • หากไม่มีการระบุขนาดจริง ARCore จะประมาณขนาดและปรับแต่งค่าประมาณนี้ไปเรื่อยๆ

  • หากมีการระบุขนาดจริง ARCore จะใช้ขนาดที่ระบุและประมาณตำแหน่งและการวางแนวของรูปภาพโดยไม่สนใจความแตกต่างระหว่างขนาดที่ปรากฏหรือขนาดจริงกับขนาดจริงที่ระบุ

ARCore จะตอบสนองและติดตามรูปภาพที่มีลักษณะต่อไปนี้

  • รูปภาพแบบยึดกับที่ เช่น สิ่งพิมพ์ที่แขวนบนผนัง หรือนิตยสารบนโต๊ะ

  • รูปภาพเคลื่อนไหว เช่น โฆษณารถบัสที่เดินผ่าน หรือรูปภาพบนวัตถุบนพื้นแบนที่ผู้ใช้ถือขณะเลื่อนมือไปรอบๆ

เมื่อ ARCore เริ่มติดตามรูปภาพ ก็จะประมาณตำแหน่งและการวางแนวของรูปภาพแต่ละเฟรม ARCore จะปรับแต่งค่าประมาณเหล่านี้อย่างต่อเนื่องเมื่อรวบรวมข้อมูลได้มากขึ้น

เมื่อระบบตรวจพบรูปภาพแล้ว ARCore จะ "ติดตาม" ตำแหน่งและการวางแนวของรูปภาพต่อไปแม้ว่ารูปภาพจะเลื่อนออกจากมุมมองของกล้องชั่วคราวเนื่องจากผู้ใช้ได้ย้ายตำแหน่งอุปกรณ์ไปแล้ว เมื่อเกิดกรณีนี้ขึ้น ARCore จะสันนิษฐานว่าตำแหน่งและการวางแนวของรูปภาพเป็นภาพนิ่ง และรูปภาพนั้นไม่ได้เคลื่อนที่ผ่านสภาพแวดล้อม

การติดตามทั้งหมดจะเกิดขึ้นในอุปกรณ์ ไม่จำเป็นต้องมีการเชื่อมต่ออินเทอร์เน็ต เพื่อตรวจจับและติดตามรูปภาพ

ข้อกำหนด

รูปภาพต้อง

  • ใช้พื้นที่อย่างน้อย 25% ของเฟรมกล้องที่จะตรวจพบตั้งแต่เริ่มต้น

  • แบนราบ (เช่น ไม่ยับหรือพันรอบขวด)

  • ถ่ายภาพในจุดที่ชัดเจน โดยไม่ควรบดบังบางส่วน มองในมุมเอียงสูง หรือดูเมื่อกล้องเคลื่อนไหวเร็วเกินไปเนื่องจากภาพเคลื่อนไหวเบลอ

ข้อควรพิจารณาเกี่ยวกับประสิทธิภาพและการใช้งาน CPU

การเปิดใช้ Augmented Images อาจเพิ่มการใช้งาน CPU ของ ARCore ของคุณ ขึ้นอยู่กับว่าฟีเจอร์ ARCore ใดเปิดใช้อยู่ ลองปิดใช้ฟีเจอร์ที่ไม่ได้ใช้ในระหว่างที่ไม่จำเป็นต้องใช้ฟีเจอร์ดังกล่าว ซึ่งจะทำให้มีรอบของ CPU เพิ่มเติมสำหรับแอปของคุณ ตลอดจนปรับปรุงประสิทธิภาพในการระบายความร้อนและอายุการใช้งานแบตเตอรี่

ดูข้อมูลเพิ่มเติมได้ที่ข้อควรพิจารณาเกี่ยวกับประสิทธิภาพ

แนวทางปฏิบัติแนะนำ

เคล็ดลับในการเลือกรูปภาพอ้างอิง

  • รูปภาพควรมีความละเอียดอย่างน้อย 300 x 300 พิกเซล การใช้รูปภาพที่มีความละเอียดสูงจะไม่ช่วยเพิ่มประสิทธิภาพได้
  • รูปภาพอ้างอิงอาจอยู่ในรูปแบบรูปแบบไฟล์ PNG หรือ JPEG
  • ไม่ใช้ข้อมูลสี ทั้งรูปภาพสีและรูปภาพโทนสีเทาที่เทียบเท่า สามารถใช้เป็นรูปภาพอ้างอิงหรือใช้โดยผู้ใช้ขณะรันไทม์
  • หลีกเลี่ยงรูปภาพที่มีการบีบอัดหนักเนื่องจากอาจรบกวนการทำงานของฟีเจอร์
  • หลีกเลี่ยงรูปภาพที่มีองค์ประกอบทางเรขาคณิตจำนวนมากหรือมีฟีเจอร์น้อยมาก (เช่น บาร์โค้ด คิวอาร์โค้ด โลโก้ และแผนภูมิเส้นอื่นๆ) เนื่องจากจะส่งผลให้การตรวจจับและการติดตามมีประสิทธิภาพไม่ดี
  • หลีกเลี่ยงรูปภาพที่มีรูปแบบซ้ำกันเนื่องจากอาจทำให้เกิดปัญหาในการตรวจหาและการติดตามได้
  • ใช้เครื่องมือ arcoreimg ที่รวมอยู่ใน ARCore SDK เพื่อให้ได้คะแนนคุณภาพระหว่าง 0 ถึง 100 สำหรับแต่ละรูปภาพ เราขอแนะนำคะแนนคุณภาพไว้ที่อย่างน้อย 75 โดยมี 2 ตัวอย่างดังนี้

    รูปภาพตัวอย่าง 1 รูปภาพตัวอย่าง 2
    คะแนน: 0 คะแนน: 100
    มีคุณลักษณะทางเรขาคณิตที่ซ้ำกัน มีความละเอียดเพียงพอ มีฟีเจอร์ที่ไม่ซ้ำใครจำนวนมาก

เคล็ดลับในการสร้างฐานข้อมูลรูปภาพ

  • ใช้เครื่องมือ arcoreimg สำหรับ Android เพื่อสร้างไฟล์ฐานข้อมูลรูปภาพ เครื่องมือนี้ใช้ได้กับการพัฒนา Android และ Android NDK เท่านั้น ไลบรารีนี้มีอยู่ใน Unity SDK และปลั๊กอิน ARCore Unreal
  • ฐานข้อมูลจะเก็บภาพแทนแบบบีบอัดของฟีเจอร์ที่ดึงมาจากข้อมูลโทนสีเทาในรูปภาพอ้างอิง รูปภาพแต่ละรายการใช้พื้นที่ประมาณ 6 KB
  • การเพิ่มรูปภาพไปยังฐานข้อมูลขณะรันไทม์จะใช้เวลาประมาณ 30 มิลลิวินาที
    • เพิ่มรูปภาพในเทรดของผู้ปฏิบัติงานเพื่อหลีกเลี่ยงการบล็อกเทรด UI
    • หรือเพิ่มรูปภาพในขณะที่คอมไพล์โดยใช้เครื่องมือ arcoreimg ที่รวมอยู่ใน ARCore SDK หากเป็นไปได้
  • หากคุณทราบขนาดจริงที่คาดหมายของรูปภาพ ให้ระบุขนาดดังกล่าว ข้อมูลนี้ช่วยปรับปรุงประสิทธิภาพในการตรวจจับและติดตาม โดยเฉพาะสำหรับรูปภาพจริงขนาดใหญ่ (มากกว่า 75 ซม.)
  • หลีกเลี่ยงการเก็บอิมเมจที่ไม่ได้ใช้จำนวนมากไว้ในฐานข้อมูลเพราะจะมีผลกระทบเล็กน้อยต่อประสิทธิภาพของระบบเนื่องจากการใช้งาน CPU ที่เพิ่มขึ้น

เคล็ดลับในการเพิ่มประสิทธิภาพการติดตาม

  • หากรูปภาพจะไม่ขยับจากตำแหน่งเริ่มต้น (เช่น โปสเตอร์ที่ติดอยู่กับผนัง) คุณติดโฆษณา Anchor กับรูปภาพเพื่อเพิ่มความเสถียรในการติดตามได้
  • รูปภาพจริงต้องใช้พื้นที่อย่างน้อย 25% ของรูปภาพจากกล้องเพื่อตรวจจับเบื้องต้น คุณสามารถแจ้งให้ผู้ใช้ใส่รูปภาพจริงลงในกรอบกล้องของผู้ใช้ได้
  • อย่าใช้ท่าทางและขนาดโดยประมาณของรูปภาพจนกว่าสถานะการติดตามของรูปภาพจะมีการติดตามอย่างสมบูรณ์ เมื่อ ARCore ตรวจพบรูปภาพเป็นครั้งแรกและไม่ได้ระบุขนาดจริงที่คาดไว้ สถานะการติดตามจะหยุดชั่วคราว ซึ่งหมายความว่า ARCore จดจำรูปภาพได้ แต่ไม่ได้รวบรวมข้อมูลเพียงพอที่จะประมาณตำแหน่งของรูปภาพในพื้นที่ 3 มิติ