Platforma özel kılavuzlar
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
Unreal Engine
ARCore'daki Artırılmış Görüntüler API'leri, kullanıcının ortamındaki 2D resimleri (ör. posterler veya ürün ambalajları) algılayıp artırabilen AR uygulamaları oluşturmanıza olanak tanır.
Bir dizi referans resim sağlarsınız. ARCore, her resimdeki gri tonlamalı bilgilerden özellik ayıklamak için bir bilgisayar görüşü algoritması kullanır ve bu özelliklerin bir temsilini bir veya daha fazla Artırılmış Görüntü veritabanında depolar.
ARCore, çalışma zamanında bu özellikleri kullanıcının ortamındaki düz yüzeylerde arar. Bu sayede ARCore, dünyadaki bu resimleri algılayabilir ve konumlarını, yönlerini ve boyutlarını (sağlanmamışsa) tahmin edebilir.
İşlemler
ARCore aynı anda en fazla 20 resmi izleyebilir. ARCore, aynı resmin birden fazla örneğini aynı anda algılamaz veya izlemez.
Her artırılmış resim veritabanı,1.000 referans resime kadar bilgi depolayabilir. Veritabanı sayısıyla ilgili bir sınır yoktur ancak herhangi bir zamanda yalnızca bir veritabanı etkin olabilir.
Görüntüler, çalışma zamanında bir Artırılmış Görüntü veritabanına eklenebilir. Bu işlem için veritabanı başına 1.000 resim sınırı vardır. Daha önce oluşturulmuş veritabanlarını ağ bağlantısı kullanarak indirebilirsiniz.
Resim eklerken, algılanması için resmin fiziksel boyutunu belirtebilirsiniz. Bu işlem, resim algılama performansını iyileştirir.
Fiziksel boyut sağlanmazsa ARCore boyutu tahmin eder ve bu tahmini zaman içinde hassaslaştırır.
Fiziksel boyut sağlanırsa ARCore, sağlanan boyutu kullanır ve görünen veya gerçek boyut ile sağlanan fiziksel boyut arasındaki tutarsızlıkları göz ardı ederek resmin konumunu ve yönünü tahmin eder.
ARCore aşağıdaki türde resimlere yanıt verebilir ve bu resimleri izleyebilir:
Duvara asılı bir poster veya masadaki bir dergi gibi sabitlenmiş resimler
Geçen bir otobüsteki reklam veya kullanıcının ellerini hareket ettirirken tuttuğu düz bir nesnenin üzerindeki resim gibi hareketli resimler.
ARCore bir resmi izlemeye başladıktan sonra her kare için resim konumu ve yönü tahminleri sağlar. ARCore, daha fazla veri topladıkça bu tahminleri sürekli olarak hassaslaştırır.
ARCore, bir resim algılandıktan sonra, kullanıcı cihazını hareket ettirdiğinde resim geçici olarak kamera görüntüsünden çıksa bile resmin konumunu ve yönünü "izlemeye" devam eder. Bu durumda ARCore, resmin konumunun ve yönünün statik olduğunu ve resmin çevrede hareket etmediğini varsayar.
Tüm izleme cihazda gerçekleşir. Görüntüleri algılamak ve izlemek için internet bağlantısı gerekmez.
Şartlar
Resimler:
İlk olarak algılanması için kamera çerçevesinin en az% 25'ini doldurun.
Düz olmalıdır (ör. buruşuk veya bir şişenin etrafına sarılmış olmamalıdır).
Kameranın görüş alanında olun. Yüzlerin kısmen gizlenmiş, çok eğik bir açıdan görüntülenmiş veya hareket bulanıklığı nedeniyle kamera çok hızlı hareket ederken görüntülenmiş olmaması gerekir.
CPU kullanımı ve performansla ilgili dikkat edilmesi gereken noktalar
Etkin olan ARCore özelliklerine bağlı olarak, artırılmış görüntüleri etkinleştirmek ARCore'un CPU kullanımını artırabilir. AR deneyiminizin gerektirmediği zamanlarda kullanılmayan özellikleri devre dışı bırakabilirsiniz. Bu sayede uygulamanız için ek CPU döngüsü sağlanır, termal performans ve pil ömrü iyileşir.
Daha fazla bilgi için performansla ilgili dikkat edilmesi gerekenler bölümüne bakın.
En iyi uygulamalar
Referans resim seçmeyle ilgili ipuçları
- Resmin çözünürlüğü en az 300 x 300 piksel olmalıdır. Yüksek çözünürlüklü resimler kullanmak performansı arttırmaz.
- Referans resimler PNG veya JPEG dosya biçiminde sağlanabilir.
- Renk bilgileri kullanılmaz. Hem renkli hem de eşdeğer gri tonlamalı resimler, referans resim olarak veya kullanıcılar tarafından çalışma zamanında kullanılabilir.
- Özellik ayıklama işlemini etkilediği için çok sıkıştırılmış resimlerden kaçının.
- Çok sayıda geometrik özellik veya çok az özellik içeren resimler (ör. barkodlar, QR kodları, logolar ve diğer çizgi resimler) tespit ve izleme performansının düşmesine neden olacağından bu tür resimlerden kaçının.
- Tekrarlanan desenler içeren resimlerden kaçının. Bu, algılama ve izlemeyle ilgili sorunlara da neden olabilir.
Her resim için
0
ile100
arasında bir kalite puanı almak üzere ARCore SDK'sına dahil edilenarcoreimg
aracını kullanın. En az 75 kalite puanı elde etmenizi öneririz. Aşağıda iki örnek verilmiştir:1. örnek resim 2. örnek resim Puan: 0
Puan: 100
Yinelenen geometrik özellikler içeriyor Yeterli çözünürlük; birçok benzersiz özellik içeriyor
Resim veritabanı oluşturmayla ilgili ipuçları
- Görüntü veritabanı dosyası oluşturmak için Android için arcoreimg aracını kullanın. Bu araç yalnızca Android ve Android NDK geliştirme için kullanılabilir. Unity SDK'sına ve ARCore Unreal eklentisine yerleştirilmiştir.
- Veritabanı, referans resimlerdeki gri tonlamalı verilerden ayıklanan özelliklerin sıkıştırılmış bir temsilini depolar. Her resim girişi yaklaşık 6 KB'tır.
- Çalışma zamanında veritabanına resim eklemek yaklaşık 30 ms sürer.
- Kullanıcı arayüzü iş parçacığının engellenmesini önlemek için iş parçacığı üzerine resim ekleyin.
- Mümkünse ARCore SDK'sına dahil olan
arcoreimg
aracını kullanarak derleme sırasında resim ekleyin.
- Bir resmin beklenen fiziksel boyutunu biliyorsanız bunu belirtin. Bu bilgiler, özellikle büyük fiziksel resimler (75 cm'den uzun) için algılama ve izleme performansını iyileştirir.
- CPU kullanımının artması nedeniyle sistem performansı üzerinde küçük bir etkisi olduğundan kullanılmayan çok fazla resimi veritabanında bulundurmaktan kaçının.
İzlemeyi optimize etmeyle ilgili ipuçları
- Resminiz hiçbir zaman ilk konumundan hareket etmeyecekse (örneğin, duvara yapıştırılmış bir poster) izleme kararlılığını artırmak için resme bir sabitleyici ekleyebilirsiniz.
- İlk algılama için fiziksel görüntü, kamera görüntüsünün en az% 25'ini kaplamalıdır. Kullanıcılardan fiziksel resmi kamera çerçevelerine sığdırmalarını isteyebilirsiniz.
- Resmin izleme durumu tam izleme olana kadar resmin duruş ve boyut tahminlerini kullanmayın. ARCore tarafından ilk kez algılanan bir resim için beklenen fiziksel boyut belirtilmemişse izleme durumu duraklatılır. Bu durum, ARCore'un resmi tanıdığı ancak 3D uzayda konumunu tahmin etmek için yeterli veri toplamadığı anlamına gelir.