Hướng dẫn dành riêng cho từng nền tảng
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
Unreal Engine
Các API Hình ảnh tăng cường trong ARCore cho phép bạn tạo các ứng dụng AR có thể 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 bao bì sản phẩm.
Bạn cung cấp một nhóm hình ảnh tham khảo. ARCore sử dụng một thuật toán thị giác máy tính để trích xuất các đối tượng từ thông tin thang độ xám trong mỗi hình ảnh và lưu trữ một bản trình bày của 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 sẽ tìm kiếm những đối tượng này trên các bề mặt phẳng trong môi trường của người dùng. Điều này cho phép ARCore 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ó hình ảnh nào đượ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 phiên bản 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 cho tối đa 1.000 hình ảnh tham chiếu. 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 tại một thời điểm bất kỳ.
Bạn có thể thêm hình ảnh vào cơ sở dữ liệu Hình ảnh tăng cường trong thời gian chạy, tối đa 1.000 hình ảnh cho mỗi cơ sở dữ liệu. Bạn có thể tải các cơ sở dữ liệu đã tạo trước đó xuống bằng kết nối mạng.
Khi thêm một 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ẽ cải thiện hiệu suất phát hiện hình ảnh.
Nếu không có kích thước thực tế, ARCore sẽ ước tính kích thước và tinh chỉnh giá trị ước tính này theo thời gian.
Nếu bạn cung cấp kích thước thực tế, ARCore sẽ sử dụng kích thước đó và ước tính vị trí cũng như hướng của hình ảnh, bỏ qua mọi sự khác biệt giữa kích thước biểu kiến hoặc kích thước thực tế và kích thước thực tế đượ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 một vị trí, chẳng hạn như ảnh 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 đang chạy hoặc hình ảnh trên một vật thể phẳng mà người dùng cầm khi họ di chuyển tay.
Sau khi ARCore bắt đầu theo dõi một hình ảnh, hệ thống sẽ cung cấp thông tin ước tính về vị trí và hướng của hình ảnh trong mỗi khung hình. ARCore liên tục tinh chỉnh những số liệu ước tính này khi thu thập thêm dữ liệu.
Sau khi phát hiện thấy một hình ảnh, ARCore sẽ tiếp tục "theo dõi" vị trí và hướng của hình ảnh đó, ngay cả khi hình ảnh tạm thời di chuyển ra khỏi chế độ xem camera 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à bản thân hình ảnh không di chuyển trong môi trường.
Tất cả hoạt động theo dõi đều diễn ra trên thiết bị. Bạn không cần kết nối Internet để phát hiện và theo dõi hình ảnh.
Yêu cầu
Hình ảnh phải:
Lấp đầy ít nhất 25% khung hình camera để được phát hiện ban đầu.
Phẳng (ví dụ: không bị nhăn hoặc dán quanh chai).
Đảm bảo camera quay rõ mặt bạn. Không được che khuất một phần, xem ở góc xiên quá mức hoặc xem khi camera di chuyển quá nhanh do bị mờ chuyển động.
Những điểm cần cân nhắc về hiệu suất và mức sử dụng CPU
Tuỳ thuộc vào những tính năng ARCore đã được bật, việc bật tính năng Hình ảnh tăng cường có thể làm tăng mức sử dụng CPU của ARCore. Hãy cân nhắc việc tắt mọi tính năng không dùng đến trong thời gian trải nghiệm thực tế tăng cường không yêu cầu các tính năng đó. Điều này sẽ giúp ứng dụng của bạn có thêm chu kỳ CPU, đồng thời cải thiện hiệu suất nhiệt và thời lượng pin.
Để biết thêm thông tin, hãy xem các yếu tố cần 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 tham khảo
- Độ phân giải của hình ảnh phải tối thiểu là 300 x 300 pixel. Việc sử dụng hình ảnh có độ phân giải cao không cải thiện hiệu suất.
- Bạn có thể cung cấp hình ảnh tham khảo ở định dạng tệp PNG hoặc JPEG.
- Thông tin về màu sắc không được sử dụng. Cả hình ảnh màu và hình ảnh thang độ xám tương đương đều có thể được dùng làm hình ảnh tham chiếu hoặc do người dùng sử dụng trong thời gian chạy.
- Tránh dùng hình ảnh có mức nén cao vì điều này ảnh hưởng đến việc trích xuất đối tượng.
- Tránh sử dụng hình ảnh có chứa nhiều đặc điểm hình học hoặc rất ít đặc điểm (ví dụ: mã vạch, mã QR, biểu trưng và hình vẽ đường nét khác) vì điều này sẽ dẫn đến hiệu suất phát hiện và theo dõi kém.
- Tránh sử dụng hình ảnh có hoạ tiết lặp lại vì điều này cũng có thể gây ra vấn đề về việc phát hiện và theo dõi.
Sử dụng công cụ
arcoreimgcó trong ARCore SDK để nhận điểm chất lượng từ0đến100cho mỗi hình ảnh. Bạn nên đặt điểm chất lượng tối thiểu là 75. Dưới đây là hai ví dụ:Hình ảnh ví dụ 1 Hình ảnh ví dụ 2 

Điểm: 0Điểm: 100chứa các đặc điểm hình học lặp lại độ phân giải đủ; chứa nhiều đặc điểm riêng biệt
Mẹo tạo cơ sở dữ liệu hình ảnh
- Sử dụng công cụ arcoreimg cho Android để tạo tệp cơ sở dữ liệu hình ảnh. Công cụ này chỉ dành cho quá trình phát triển Android và Android NDK. Thư viện này được tích hợp vào Unity SDK và trình bổ trợ ARCore Unreal.
- Cơ sở dữ liệu lưu trữ một bản trình bày nén của các đối tượng được trích xuất từ dữ liệu thang độ xám trong hình ảnh tham chiếu. Mỗi mục hình ảnh chiếm khoảng 6 KB.
- Quá trình thêm một hình ảnh vào cơ sở dữ liệu trong thời gian chạy mất khoảng 30 mili giây.
- Thêm hình ảnh vào 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 tại thời gian biên dịch bằng công cụ
arcoreimgcó trong ARCore SDK.
- Nếu bạn biết kích thước thực tế dự kiến của một hình ảnh, hãy chỉ định kích thước đó. Thông tin này giúp 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 tế có kích thước lớn (trên 75 cm).
- Tránh lưu giữ nhiều hình ảnh không dùng đến trong cơ sở dữ liệu vì điều này sẽ ảnh hưởng một chút đến hiệu suất 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 sẽ không bao giờ di chuyển khỏi vị trí ban đầu (ví dụ: một áp phích được dán lên tường), bạn có thể đính kèm một neo vào hình ảnh để tăng độ ổn định khi theo dõi.
- Hình ảnh thực tế phải chiếm ít nhất 25% hình ảnh camera để phát hiện ban đầu. Bạn có thể nhắc người dùng điều chỉnh hình ảnh thực tế cho vừa khung hình camera.
- Không sử dụng thông tin ước tính về tư thế và kích thước của hình ảnh cho đến khi trạng thái theo dõi của hình ảnh là theo dõi đầy đủ. Khi ARCore phát hiện hình ảnh lần đầu và bạn không chỉ định kích thước thực tế dự kiến, trạng thái theo dõi của hình ảnh đó sẽ bị tạm dừng. Điều này có nghĩa là ARCore đã nhận dạng được hình ảnh, nhưng chưa thu thập đủ dữ liệu để ước tính vị trí của hình ảnh đó trong không gian 3D.