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

คู่มือเฉพาะแพลตฟอร์ม

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

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

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

ความสามารถ

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

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

คุณสามารถเพิ่มรูปภาพลงในฐานข้อมูลรูปภาพ AR ขณะรันไทม์ได้สูงสุด 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 มิติ