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

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

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

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

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

ความสามารถ

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

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

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

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

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

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

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

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

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

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

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

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

ข้อกำหนด

รูปภาพต้อง

  • เติมเฟรมกล้องอย่างน้อย 25% เพื่อให้ตรวจจับได้ในตอนแรก

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

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

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

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

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

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

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

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

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

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

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

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

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