Bu sayfada Android 11'deki Camera Image Test Suite'te (ITS) yapılan değişiklikler özetlenmektedir. Değişiklikler aşağıdaki kategorilere ayrılır:
- Donanım değişiklikleri
- İlk API düzeyinde ZORUNLU testler
- Test aydınlatması doğrulandı
- Sahne adı değişiklikleri
- Değişiklikleri ve eklemeleri test edin
- LIMITED kamera testinde artış
Donanım değişiklikleri
Android 11, maliyeti azaltmak ve kullanılabilirliği artırmak için çeşitli donanım değişiklikleri sunar. Bu değişiklikler aşağıdaki kategorilere ayrılır:
- Ek üretici
- Birleşik üretim yöntemleri
- Artan tablet seçenekleri
- Azaltılmış tablet açıklığı
- Yeni sensör füzyon denetleyicisi
Ek üretici
Rahi Systems, mevcut tedarikçimiz MYWAY tasarımına ek olarak ITS test muhafazaları üretme hakkına sahiptir. Nitelikli satıcılar için şirket bilgileri aşağıdaki gibidir:
Rahi Sistemleri A.Ş.
48303 Fremont Bulvarı, Fremont CA 94538, ABD
rahisystems.com/products/android-device-testing-equipment/
androidpartner@rahisystems.com
+1-510-319-3802MYWAY tasarımı
4F., No. 163, Fu-Ying Yolu, XinZhuang Bölgesi, Yeni Taipei Şehri, Tayvan
twmyway.com
sales@myway.tw
+886-2-29089060
Birleşik üretim yöntemleri
Rev1 normal görüş alanı (RFoV) kutu içinde ITS test muhafazası , geniş görüş alanı (WFoV) kutusu ve sensör füzyon kutusu test muhafazaları tarafından kullanılan üretim yöntemlerini kullanacak şekilde yeniden tasarlanmıştır. İşlevsellik aynıdır ve basitlik açısından tasarıma rev1a adı verilir. Yeniden tasarım, üreticilerin tüm test muhafazalarını üretmek için tek bir plastik türünü stoklamalarına olanak tanıyor. Ek olarak tablet tutucusu ve ışık tutucuları, tabletler ve LED ışık çubuklarındaki daha büyük çeşitliliği karşılayacak şekilde yeniden tasarlandı.
En son açıklamaları ve mekanik çizimleri indirmek için bkz. RFoV kutusu (rev1a) ve WFoV kutusu (rev2.9) .
Artan tablet seçenekleri
Samsung Galaxy Tab A 10.1 ve Chuwi Hi9 Air 10.1 dahil tabletler önerilen tabletler listesine eklendi. Tabletin, çekilen görüntülerdeki şeritlenmeyi ortadan kaldırmak amacıyla ekran parlaklığını ayarlamak için darbe genişliği modülasyonuna (PWM) sahip olmaması önemlidir.
Önerilen tabletlere ilişkin en son bilgiler için bkz. Tablet gereksinimleri .
Azaltılmış tablet açıklığı
Galaxy Tab A 10.1'in kullanımına izin vermek için, hem RFoV (rev1a) hem de WFoV (rev2) test muhafazaları için tablet açıklığının yüksekliği biraz azaltıldı. Bu değişiklikleri yansıtan revizyonlar rev1a.1 ve rev2.9'dur. Bu çizimler için bkz. RFoV kutusu (rev1a) ve WFoV kutusu (rev2.9) .
Yeni sensör füzyon denetleyicisi
Sensör füzyon denetleyicisinin donanımı, üretilebilirliği artırmak için yeniden tasarlandı. Yeni denetleyici, Arduino'nun üstüne monte edilen özel bir yönlendirme kartı kalkanına sahip Arduino tabanlıdır. Şekil 1'de ekranlama gösterilmektedir ve şekil 2'de muhafazanın mekanik çizimi gösterilmektedir. Yeni denetleyici, motora doğrudan güç sağlayan tek bir 5 V beslemeyle çalıştırılıyor. Elektronikler tamamen USB konektörü aracılığıyla kontrol edilir. Ayrı güç kaynağı, kontrol elektroniği ile servo motor arasında tam izolasyon sağlar. Ek olarak, tek bir kontrolör altı adede kadar servo motoru kontrol edebilir.
Şekil 1. Arduino shield'ın üstten görünümü
Şekil 2. Muhafaza tasarımı
Android 11, mevcut denetleyicilerle geriye dönük olarak uyumludur. Arduino tabanlı denetleyici kullanımıyla testi başlatmak için:
python tools/run_all_tests.py device=# camera=# rot_rig=arduino:1 scenes=sensor_fusion
İlk API düzeyi
Android 10'da ITS testleri MANDATED
ve NOT_YET_MANDATED
olarak belirlenmiştir. Android 10 cihazı olarak piyasaya sürülebilmesi için tüm MANDATED
testlerin geçmesi gerekir. NOT_YET_MANDATED
testleri başarısız olabilir ancak CTS doğrulayıcı raporlaması için PASS
olarak tablolaştırılır. MANDATED
test gereklilikleri yükseltilmiş cihazlar için de geçerlidir. Yükseltilmiş cihazların tüm MANDATED
testleri geçmesine yönelik bu gereklilik, eski cihazların da testleri geçmesi gerektiğinden testlerin MANDATED
testler haline gelmesinin gecikmesine neden oldu.
Android 11'de MANDATED
testler, telefon özelliklerinden ilk API düzeyi işaretiyle kontrol edilir. Android 11'e yükseltilen cihazlarda testler NOT_YET_MANDATED
testleri olarak çalıştırılır; bu, bir testin başarısız olabileceği ancak CtsVerifier.apk
dosyasında PASS
olarak tablolandırılabileceği anlamına gelir.
Örneğin:
- Android 11'de, ilk API düzeyi 29'un üzerinde olan cihazlar için
test_channel_saturation
testiMANDATED
. - Android 10'da
test_channel_saturation
testi tüm cihazlar içinMANDATED
.
Sahne aydınlatmasının doğrulanması
Android 11'de sahne aydınlatması, sahnenin köşelerindeki parlaklık analiz edilerek doğrulanıyor. Tüm manuel sahneler aydınlatma için doğrulanır ve tablet tabanlı sahneler, RFoV test ekipmanındaki RFoV kameralar ve WFoV test ekipmanındaki WFoV kameralar için doğrulanır. Aydınlatma seviyeleri yetersizse bir hata bildirilir ve test başarısız olur.
Sahne adı değişiklikleri
Android 10'da sahne 1, testlerin çoğunluğunu ve toplam test süresinin büyük bir yüzdesini oluşturur. Sahne 1'deki herhangi bir test başarısız olursa, tüm sahnenin yeniden çalıştırılması gerekir. Tasarım gereği, tüm sahnenin yeniden çalıştırılması marjinal testlerin geçişini azaltır. Android 11'de sahne 1, sahne1_1 ve sahne1_2 olmak üzere iki sahneye bölünerek yeniden çalıştırma süreleri kısaltılır.
Aşağıdaki tabloda Pixel 4 arka kameranın farklı sahneler için tablo halindeki test süreleri gösterilmektedir. Test sayısı, test sayısını eşitlemek için değil, test süresini eşitlemek için bölünür.
Ayrıca isim temizliği de var. Sahne 2 harflerle, sahne 1 ise rakamlarla bölünmüştür. Farklı uzantıların isimlendirilmesi şöyledir:
- Aynı grafiğe sahip ancak farklı testlere sahip sahneler:
*_1,2,3
- Farklı grafiklere sahip ancak aynı testlere sahip sahneler:
*_a,b,c
Sahne | Test sayısı | Pixel 4 çalışma süresi (dak:saniye) |
---|---|---|
0 | 11 | 1:12 |
1_1 | 22 | 5:12 |
1_2 | 13 | 5:20 |
2_a | 5 | 3:22 |
2_b | 1 | 0:24 |
2_c | 1 | 0:24 |
3 | 6 | 2:04 |
4 | 2 | 2:46 |
Değişiklikleri test edin
Testler ilk API düzeyini kullanacak şekilde güncellendi
Android 11'de aşağıdaki tabloda yer alan testler, ilk API düzeyi bayrağını kullanacak şekilde güncellenmiştir. Bu testlerin tümü, ilk API düzeyi 30'u kullanan test_tonemap_curve
testi dışında, ilk API düzeyi 29'u kullanır.
Sahne | Test adı | İlk API düzeyi | Tanım |
---|---|---|---|
0 | test_tonemap_curve | 30 | İşlem hattının doğrusal ton haritası ve ideal görüntü girişi ile uygun renk çıktılarına sahip olduğundan emin olun ( test_test_patterns dayanır). |
1 | test_ae_precapture_trigger | 29 | Ön yakalama tetikleyicisini kullanırken AE durum makinesini test edin. AE devre dışı bırakıldığında ön yakalama tetikleyicisinin hiçbir etkisi olmadığından emin olun. |
test_channel_saturation | 29 | Doymuş bölgelerdeki renk tonunu ortadan kaldırmak için RGB kanallarının benzer değerlere doyduğundan emin olun. | |
2_a/b/c | test_num_faces | 29 | Yüz sahnelerinde yaş çeşitliliğini artırın. |
Değişikliklerle yapılan testler
Aşağıdaki tabloda yer alan testler Android 11'de güncellenmiştir. Değişiklikler Değişikliklerin açıklaması sütununda açıklanmıştır.
Sahne | Test adı | İlk API düzeyi | Değişikliklerin açıklaması |
---|---|---|---|
1 | test_burst_sameness_manual | 30 | Toleransı %2'ye düşürün. |
4 | test_aspect_ratio_and_crop | 30 | SINIRLI cihazlarda çalışacak şekilde değiştirin. |
test_multi_camera_alignment | 30 | Çoklu kamera yakalama desteklenmiyorsa kameralar arasında tek tek geçiş yapın. Üç ve dört kameralı sistemleri hesaba katmak için kamera seçim mantığını yeniden çalışın ve mono, yalnızca derinlikli ve IR kameraları atlayın. |
Yeni testler
Aşağıdaki tabloda yer alan testler Android 11'de etkindir. Testler tabloda özetlenmiş ve sonraki bölümlerde ayrıntılı açıklamalar verilmiştir.
Sahne | Test adı | İlk API düzeyi | Tanım |
---|---|---|---|
0 | test_vibration_restrictions | 30 | Görüntü yakalama sırasında uyarıların ve titreşimlerin etkinleştirilmediğinden emin olun. |
2_a | test_jpeg_quality | 30 | Niceleme tablolarının, artan JPEG kalitesi için sıkıştırmayı azalttığını test edin. |
2_d/2_e | test_num_faces | 30 | Yüz yaşı çeşitliliğini artırın. |
2_e | test_continuous_picture | 30 | 3A'nın android.control.afAvailableModes = CONTINUOUS_PICTURE. |
değiştirmek | test_scene_change | 31 | android.control.afSceneChange sahne değişikliği üzerine ileri sürüldü. |
6 | test_zoom | 30 | android.control.zoomRatioRange test edin. |
scene0/test_vibration_restriction
Bu test belirli bir sahne gerektirmez ancak teste tabi tutulan cihazın (DUT) sert bir yüzeye yerleştirilmesi veya monte edilmesi gerekir. Buna ITS-in-a-box test muhafazalarına montaj da dahildir.
İddialar
- Kamera kullanımı sırasında titreşim yok
scene2_a/test_jpeg_quality
Yöntem
JPEG dosyasının farklı bölümleri 2 baytlık işaretleyicilerle tanımlanır. Daha fazla bilgi için bkz. JPEG .
Test, niceleme matrislerini JPEG yakalamasından çıkarır. JPEG yakalamadaki niceleme matrislerinin işaretçisi [255, 219] dizisidir. İşaretçi bulunduğunda sonraki iki liste öğesi boyuttur. JPEG DQT boyut işaretçisi genellikle [0, 132] = 256*0+132 = 132'dir; bu, JPEG yakalamadaki DQT verilerinin boyutunu açıklar. Gömülü veriler şu biçimdedir: [255, 219, 0, 132, 0 (luma işaretçisi), 8x8 luma matrisi, 1 (kroma işaretçisi), 8x8 kroma matrisi].
Luma matris işaretçisi için 0
ve kroma işaretçisi için 1
iki matrisi JPEG dosyasında ayrı DQT bölümlerine ayıran telefonlar da dahil olmak üzere birçok cihaz için tutarlı görünüyor. İnsan gözü luma'ya kromadan daha duyarlı olduğundan ve JPEG görüntüleri bunu hesaba kattığından, Luma matrisleri, kroma matrislerine kıyasla daha çeşitli değerlere sahip olma eğilimindedir.
Örnek çıkarılan luma ve kroma matrisleri, ITS test donanımıyla sahne2_a yakalayan Pixel 4 arka kamera için 85 ve 25 kalite faktörleri için aşağıda gösterilmiştir. Daha düşük kalite ayarı için matris değerleri önemli ölçüde artar (artan sıkıştırmayı belirtir). Bu matrisler yalnızca debug=True
bayrağı uygulandığında komut dosyasıyla birlikte yazdırılır. Kroma matrisleriyle karşılaştırıldığında luma matrislerindeki girişlerdeki daha büyük farklılıklara dikkat edin.
luma matrix (quality = 85) chroma matrix (quality = 85)
[[ 5 3 4 4 4 3 5 4] [[ 5 5 5 7 6 7 14 8]
[ 4 4 5 5 5 6 7 12] [ 8 14 30 20 17 20 30 30]
[ 8 7 7 7 7 15 11 11] [30 30 30 30 30 30 30 30]
[ 9 12 17 15 18 18 17 15] [30 30 30 30 30 30 30 30]
[17 17 19 22 28 23 19 20] [30 30 30 30 30 30 30 30]
[26 21 17 17 24 33 24 26] [30 30 30 30 30 30 30 30]
[29 29 31 31 31 19 23 34] [30 30 30 30 30 30 30 30]
[36 34 30 36 28 30 31 30]] [30 30 30 30 30 30 30 30]]
luma matrix (quality = 25) chroma matrix (quality = 25)
[[ 32 22 24 28 24 20 32 28] [[ 34 36 36 48 42 48 94 52]
[ 26 28 36 34 32 38 48 80] [ 52 94 198 132 112 132 198 198]
[ 52 48 44 44 48 98 70 74] [198 198 198 198 198 198 198 198]
[ 58 80 116 102 122 120 114 102] [198 198 198 198 198 198 198 198]
[112 110 128 144 184 156 128 136] [198 198 198 198 198 198 198 198]
[174 138 110 112 160 218 162 174] [198 198 198 198 198 198 198 198]
[190 196 206 208 206 124 154 226] [198 198 198 198 198 198 198 198]
[242 224 200 240 184 202 206 198]] [198 198 198 198 198 198 198 198]]
Şekil 3, Pixel 4 arka kameranın JPEG kalitesine karşı ortalama matris değerlerini göstermektedir. JPEG kalitesi arttıkça sıkıştırma düzeyi (luma/chroma DQT matris ortalaması) azalır.
Şekil 3. Pixel 4 arka kamera luma/chroma DQT matris ortalamaları ile JPEG kalitesi karşılaştırması
İddialar
- [25, 45, 65, 86] için +20 kalite, %20 azalma kuantizasyon matrisi ortalamalarına sahiptir.
- DQT matrisi yükleri kare sayılardır.
Şekil 4'te testi geçemeyen bir telefon örneği gösterilmektedir. Çok düşük kaliteli görüntüler için ( jpeg.quality < 50
), nicemleme matrisinde sıkıştırmada bir artış olmadığını unutmayın.
Şekil 4. Başarısız test örneği
scene2_d/e test_num_faces
Yüz algılama algoritması kontrollerinin yüz çeşitliliğini artırmak için iki yeni yüz algılama sahnesi eklendi. Bir dizi kameranın tekrar tekrar test edilmesiyle, en zorlu yüzün sahne2_d'deki en soldaki yüz olması bekleniyor. Özellikle modelde hem şapka hem de sakal var, yüz sahnelerinde yeni bir şey. Yeni sahneler şekil 5 ve 6'da gösterilmektedir.
Şekil 5. sahne2_d
Şekil 6. sahne2_e
İddialar
-
num_faces == 3
scene2_e/test_continuous_picture
Yöntem
test_continuous_picture
testi scene2_e'yi kullanır ancak herhangi bir yüz sahnesiyle etkinleştirilebilir. Bu testte, yakalama isteğinin ilk ayarı android.control.afMode = 4 (CONTINUOUS_PICTURE)
ile 50 kare VGA çözünürlüğü yakalanır.
3A sisteminin 50 karelik çekim sonunda yerleşmesi bekleniyor.
İddialar
- 3A, yakalamanın sonunda birleşmiş durumdadır.
scene_change/test_scene_change
Yöntem
android.control.afSceneChange
bayrağının bir sahne değişikliğiyle geçerli olup olmadığını test etmek için yeni bir test etkinleştirildi. Sahne değişikliği, tabletin bir yüz sahnesi görüntülemesini ve ardından bir sahne değişikliği oluşturmak için tableti açıp kapatmayı kullanır. Sahne, scene2_e'yi yeniden kullanıyor ancak gerekli tablet kontrolü nedeniyle ayrı bir sahnede.
Ayrıca manuel test için, kamera önünde elinizi sallayarak sahne değişikliği gerçekleştirilebilir.
Şekil 7, testin zamanlama diyagramını göstermektedir. Ekranın kapanmasıyla yakalama arasındaki zamanlama, önceki yakalamalardan elde edilen etkinlik sonuçlarına göre ayarlanır.
Şekil 7. Test_scene_change için zamanlama şeması
Vites koşulları:
- Bir sahne değişikliği varsa ve
afSceneChange == 1
ise testPASS
değerini döndürür. - Bir sahne değişikliği varsa ve
afSceneChange == 0
ise,afSceneChange
geçerli olması için daha fazla zaman sağlamak üzere sahne değişikliği 5 kare erken kaydırılır. - Sahne değişikliği yoksa ve
afSceneChange == 1
ise testFAIL
değerini döndürür. - Sahne değişikliği yoksa ve
afSceneChange == 0
ise, çekimde sahne değişikliği elde etmek için sahne değişikliği 30 kare önce kaydırılır.
İddialar
- Ekran (sahne) geçiş yapar.
-
afSceneChange
bayrağı [0, 1] içindedir. - Sahne değişikliği olmazsa, 3A birleşir (işlevsel olarak
test_continuous_picture
ile aynıdır). -
afSceneChange == 1
ise sahnedeki parlaklık değişmelidir. - Önceki sonuçlara göre zamanlama değiştirilerek altı denemede
PASS
.
sahne6/test_zoom
Yöntem
android.control.zoomRatioRange
test etmek için yeni bir sahne gereklidir, çünkü oluşturulan sahneler ya büyütülecek kadar küçük bir özelliğe sahip değildir (sahneler [1, 2, 4]) ya da sahnede kolayca tanımlanamayan birçok nesne bulunmaktadır. , özellik çıkarımını karmaşık hale getiriyor (sahne 3).
Şekil 8, düzenli bir daire dizisine sahip yeni sahneyi göstermektedir. Daire dizisi, DUT/grafik merkezleme gerekliliklerini gevşetir ve her zaman yakalanan görüntünün merkezine yakın bir daire oluşturulmasına olanak tanır. Bu sahnede, siyah kenarlıklı 9x5'lik dairelerden oluşan bir dizi tabletin tamamını kaplamaktadır. Yönü göstermek için sağ üst köşedeki bir dairenin yerini bir kare aldı. Daire boyutları, yaklaşık 80 derecelik bir görüş alanıyla (FoV) yakalanan 4000x3000 sensör için yaklaşık 7500 piksel ( radius=50pixels
) alana sahip bir özelliğe sahiptir.
Şekil 8. test_zoom sahnesi
Şekil 9. Pixel 4 cam[0] yakınlaştırma = bulunan daire ile [1, 3,33, 5,67, 8] görüntüler
Şekil 9, yakınlaştırma dört adımda 1'den 8x'e çıkarken Pixel 4'ün arka kamerası için çekilen görüntüleri göstermektedir. Bu görüntü seti, hem ön hem de arka kameraların test edilmesini sağlamak üzere iki açıklığa sahip telefon test açıklığının kullanılması dışında, merkezleme konusunda özel bir özen gösterilmeden çekilmiştir. Merkezden bir kayma bekleniyor ve grafik tableti merkezin biraz solunda olduğu için gözlemleniyor. Ek olarak grafik, 8x'ten yüksek yakınlaştırma oranlarıyla test yapmak için yeterli görünüyor.
Çevre bulma
Test, aşağıdakileri test ederek tüm konturları bulan ve kontur aramasını istenen dairelere kadar daraltan findContours
kullanan bir find_circle()
yöntemini içerir:
- Konturların alanı 10 pikselden büyük olmalıdır.
- Konturların
NUM_PTS >= 15
olması gerekir. - Konturların siyah merkezleri olmalıdır.
- Konturlar bir daireye benzemelidir, yani alanları konturun pi*r2 alanına yakın olmalıdır.
Test aralığı
android.control.zoomRatioRange
10 adıma bölünmüştür.
- [1, 7] testler [1, 1,67, 2,33, 3, 3,67, 4,33, 5, 5,67, 6,33, 7]
Bulunan daire görüntünün sınırlarına temas ederse yakınlaştırma durdurulur. Testte yeterli yakınlaştırma seviyesine (10x) ulaşıldığından emin olmak için bir kontrol vardır.
İddialar
- Her yakınlaştırma ayarında en az bir daire bulunur.
- 10x veya maksimum
android.control.zoomRatioRange
test edilir. - Daire yarıçapı yakınlaştırmayla ölçeklenir (RTOL beklenenin %10'u).
- Yakınlaştırmayla merkez ölçeklerden daire merkezi uzaklığı (beklenenden %10 RTOL).
- Yeterli yakınlaştırma düzeyine ulaşıldı (2x).
LIMITED kamera testinde artış
Android 11'de aşağıdaki tabloda yer alan testler LIMITED
kameraları test eder. Yeni testlere ek olarak scene4/test_aspect_ratio_and_crop
testi, ilk API düzeyi 30 veya daha yüksek olan LIMITED
cihazların test edilmesini sağlayacak şekilde güncellendi.
Sahne | Test adı |
---|---|
0 | test_vibration_restrictions |
2_a | test_jpeg_quality |
2_d/2_e | test_num_faces |
4 | test_aspect_ratio_and_crop |
6 | test_zoom |
Şekil 10, Android 11 ITS gizli kod çözücü halkasını göstermektedir. Gizli kod çözücü halkası, bireysel testlerin hangi test ayarlarına göre yönlendirildiğini gösterir. Geçit, görüntülemeyi kolaylaştırmak için renk kodludur. Ana yolluk öğeleri şunlardır:
-
MANUAL_SENSOR
-
READ_3A
*MANUAL SENSOR
gerektirir -
COMPUTE_TARGET_EXPOSURES
*MANUAL SENSOR
gerektirir -
PER_FRAME_CONTROL
-
RAW
-
SENSORS
*REALTIME
-
MULTI_CAMERA
MANUAL SENSOR
, READ_3A
, COMPUTE_TARGET_EXPOSURES
ve PER_FRAME_CONTROL
testlerin çoğunluğunu geçer. Ayrıca, LIMITED
cihazlar için etkinleştirilen testler açık yeşil renkle vurgulanır.
Şekil 10. Android 11 gizli şifre çözücü halkası