Thêm kích thước vào hình ảnh

Hướng dẫn dành riêng cho nền tảng

API hình ảnh tăng cường trong ARCore cho phép bạn tạo các ứng dụng thực tế tăng cường có khả năng phát hiện và tăng cường hình ảnh 2D trong môi trường của người dùng, chẳng hạn như áp phích hoặc sản phẩm đóng gói.

Bạn cung cấp một bộ hình ảnh tham chiếu. ARCore sử dụng thuật toán thị giác máy tính để trích xuất đặc điểm từ thông tin thang màu xám trong mỗi hình ảnh và cửa hàng hình ảnh đại diện cho các đối tượng này trong một hoặc nhiều cơ sở dữ liệu Hình ảnh tăng cường.

Trong thời gian chạy, ARCore tìm kiếm các tính năng này trên bề mặt phẳng trong môi trường. Nhờ đó, ARCore có thể phát hiện những hình ảnh này trên thế giới và ước tính vị trí, hướng và kích thước của chúng nếu không được cung cấp.

Tính năng

ARCore có thể theo dõi tối đa 20 hình ảnh cùng lúc. ARCore sẽ không đồng thời phát hiện hoặc theo dõi nhiều trường hợp của cùng một hình ảnh.

Mỗi cơ sở dữ liệu Hình ảnh tăng cường có thể lưu trữ thông tin lên đến 1.000 tệp đối chiếu hình ảnh. Không có giới hạn về số lượng cơ sở dữ liệu, nhưng chỉ có một cơ sở dữ liệu có thể hoạt động vào bất kỳ thời điểm cụ thể nào.

Hình ảnh có thể được thêm vào cơ sở dữ liệu Hình ảnh tăng cường trong thời gian chạy, tối đa Giới hạn 1.000 hình ảnh trên mỗi cơ sở dữ liệu. Bạn có thể tải xuống các tệp được tạo trước đây cơ sở dữ liệu thông qua kết nối mạng.

Khi thêm hình ảnh, bạn có thể cung cấp kích thước thực của hình ảnh để phát hiện. Việc này sẽ giúp cải thiện hiệu suất phát hiện hình ảnh.

  • Nếu không cung cấp kích thước thực tế, ARCore sẽ ước tính kích thước và tinh chỉnh kích thước này ước tính theo thời gian.

  • Nếu cung cấp kích thước thực tế, ARCore sẽ sử dụng kích thước được cung cấp và số liệu ước tính vị trí và hướng của hình ảnh, bỏ qua mọi sự sai lệch giữa kích thước thực tế hoặc biểu kiến và kích thước vật lý được cung cấp.

ARCore có thể phản hồi và theo dõi những hình ảnh:

  • Hình ảnh được cố định tại chỗ, chẳng hạn như bản in treo trên tường hoặc tạp chí trên bàn

  • Hình ảnh chuyển động, chẳng hạn như quảng cáo trên một chiếc xe buýt đi ngang qua hoặc hình ảnh trên một căn hộ vật mà người dùng cầm khi họ di chuyển tay xung quanh.

Khi bắt đầu theo dõi hình ảnh, ARCore sẽ cung cấp số liệu ước tính về vị trí của hình ảnh và hướng mỗi khung hình. ARCore liên tục tinh chỉnh những số liệu ước tính này vì sẽ thu thập nhiều dữ liệu hơn.

Sau khi phát hiện hình ảnh, ARCore sẽ tiếp tục "theo dõi" vị trí của hình ảnh và ngay cả khi hình ảnh tạm thời di chuyển ra khỏi chế độ xem máy ảnh vì người dùng đã di chuyển thiết bị của họ. Khi điều này xảy ra, ARCore giả định rằng vị trí và hướng của hình ảnh là tĩnh và hình ảnh không phải là chính nó di chuyển trong môi trường.

Toàn bộ quá trình theo dõi diễn ra trên thiết bị. Không cần kết nối Internet để phát hiện và hình ảnh theo dõi.

Yêu cầu

Hình ảnh phải:

  • Lấp đầy ít nhất 25% khung hình máy ảnh cần phát hiện ban đầu.

  • Mặt phẳng (ví dụ: không bị nhăn hoặc bọc quanh chai).

  • Nhìn rõ máy ảnh. Các hình ảnh này không được che khuất một phần, không được xem ở góc nghiêng cao hoặc được xem khi camera di chuyển quá nhanh do làm mờ chuyển động.

Những điều cần cân nhắc về hiệu suất và mức sử dụng CPU

Tuỳ thuộc vào tính năng ARCore đã được bật, hãy bật chế độ Tăng cường Hình ảnh có thể làm tăng mức sử dụng CPU của ARCore. Cân nhắc tắt những tiện ích không dùng đến khi trải nghiệm thực tế tăng cường không cần đến các tính năng đó. Thao tác này sẽ cung cấp thêm chu kỳ CPU cho ứng dụng của bạn và cải thiện nhiệt hiệu suất và thời lượng pin.

Để biết thêm thông tin, hãy xem các cân nhắc về hiệu suất.

Các phương pháp hay nhất

Mẹo chọn hình ảnh đối chiếu

  • Độ phân giải của hình ảnh phải ít nhất 300 x 300 pixel. Sử dụng hình ảnh có độ phân giải cao không cải thiện được hiệu suất.
  • Hình ảnh tham chiếu có thể được cung cấp ở định dạng tệp PNG hoặc JPEG.
  • Thông tin màu không được sử dụng. Cả hình ảnh màu và hình ảnh có thang màu xám tương đương có thể được sử dụng làm hình ảnh tham chiếu hoặc được người dùng sử dụng trong thời gian chạy.
  • Tránh hình ảnh có định dạng nén quá mức vì hình ảnh này làm ảnh hưởng đến tính năng trích xuất.
  • Tránh những hình ảnh có chứa quá nhiều đặc điểm hình học hoặc một vài tính năng (ví dụ: mã vạch, mã QR, biểu trưng và các đường nét khác) sẽ dẫn đến hiệu suất phát hiện và theo dõi kém.
  • Tránh hình ảnh có mẫu lặp lại vì điều này cũng có thể gây ra các vấn đề với phát hiện và theo dõi.
  • Sử dụng công cụ arcoreimg có trong SDK ARCore để nhận điểm chất lượng từ 0 đến 100 cho mỗi hình ảnh. Bạn nên có điểm chất lượng là ít nhất 75. Dưới đây là hai ví dụ:

    Hình ảnh ví dụ 1 Hình ảnh ví dụ 2
    Điểm số: 0 Điểm số: 100
    chứa các đặc điểm hình học lặp lại đủ độ phân giải; chứa nhiều tính năng độc đáo

Mẹo tạo cơ sở dữ liệu hình ảnh

  • Sử dụng công cụ arcoreimg dành cho Android để tạo tệp cơ sở dữ liệu hình ảnh. Công cụ này chỉ dành cho Android và phát triển Android NDK. Thư viện này được tích hợp vào SDK Unity và ARCore Trình bổ trợ Unreal.
  • Cơ sở dữ liệu lưu trữ bản trình bày được nén của các tính năng được trích xuất từ dữ liệu thang màu xám trong hình ảnh tham chiếu. Mỗi mục hình ảnh chiếm khoảng 6 KB.
  • Mất khoảng 30 mili giây để thêm hình ảnh vào cơ sở dữ liệu trong thời gian chạy.
    • Thêm hình ảnh trên một luồng worker để tránh chặn luồng giao diện người dùng.
    • Hoặc nếu có thể, hãy thêm hình ảnh vào thời điểm biên dịch bằng cách sử dụng công cụ arcoreimg có trong SDK ARCore.
  • Nếu bạn biết kích thước vật lý dự kiến của hình ảnh, hãy chỉ định kích thước đó. Chiến dịch này cải thiện hiệu suất phát hiện và theo dõi, đặc biệt là đối với hình ảnh thực lớn (trên 75 cm).
  • Tránh giữ nhiều hình ảnh không dùng đến trong cơ sở dữ liệu vì sẽ có đôi chút ảnh hưởng đến hiệu suất của hệ thống do mức sử dụng CPU tăng lên.

Mẹo để tối ưu hoá hoạt động theo dõi

  • Nếu hình ảnh của bạn không bao giờ di chuyển khỏi vị trí ban đầu (ví dụ: áp phích được gắn vào tường), bạn có thể đính kèm một neo vào hình ảnh để tăng tính ổn định theo dõi.
  • Hình ảnh thực phải chiếm ít nhất 25% hình ảnh máy ảnh cho phát hiện ban đầu. Bạn có thể nhắc người dùng điều chỉnh sao cho hình ảnh thực tế của họ khung máy ảnh.
  • Đừng sử dụng tư thế và kích thước của hình ảnh ước tính cho đến khi hình ảnh được theo dõi là theo dõi đầy đủ. Khi một hình ảnh được phát hiện ban đầu bởi ARCore và không có kích thước thực tế dự kiến được chỉ định, trạng thái theo dõi của cấu hình này sẽ bị tạm dừng. Điều này có nghĩa là ARCore đã nhận ra hình ảnh, nhưng chưa thu thập đủ dữ liệu để ước tính vị trí của ảnh trong không gian 3D.