Bu sayfada, Android 11'de Kamera Görüntüsü Testi Paketi (ITS) ile ilgili değişiklikler özetlenmiştir. Değişiklikler şu kategorilere girer:
- Donanım değişiklikleri
- İlk API düzeyinde zorunlu testler
- Test ışığı doğrulandı
- Sahnenin adı değiştirildiğinde
- Değişiklikleri ve eklemeleri test etme
- Sınırlı kamera testini artırdık
Donanım değişiklikleri
Android 11, maliyeti düşürmek ve kullanılabilirliği artırmak için çeşitli donanım değişiklikleri sunar. Bu değişiklikler aşağıdaki kategorilere girer:
- Ek üretici
- Birleşik üretim yöntemleri
- Daha fazla tablet seçeneği
- Tablet açma işlemi azaltıldı
- Yeni sensör birleştirme denetleyicisi
Ek üretici
Rahi Systems, mevcut tedarikçimiz MYWAY Design'a ek olarak ITS test muhafazaları üretmeye uygundur. Uygun tedarikçi firmaların şirket bilgileri aşağıdaki gibidir:
Rahi Systems Inc.
48303 Fremont Blvd, 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 Road, XinZhuang District, New Taipei City, Tayvan
twmyway.com
sales@myway.tw
+886-2-29089060
Birleşik üretim yöntemleri
rev1 normal görüş alanı (RFoV) ITS test muhafazası, geniş görüş alanı (WFoV) kutusu ve sensör füzyon kutusu test muhafazalarında kullanılan üretim yöntemlerini kullanacak şekilde yeniden tasarlandı. İşlevler aynıdır ve basitlik açısından tasarım rev1a olarak adlandırılır. Bu yeniden tasarım, üreticilerin tüm test muhafazalarını imal etmek için tek bir plastik türünü stoklamalarına olanak tanıyor. Ek olarak, tablet montajı ve ışık tutucular, tabletlerde ve LED ışık çubuklarında daha fazla çeşitlilik barındırmak için yeniden tasarlandı.
En son açıklamaları ve mekanik çizimleri indirmek için RFoV kutusu (rev1a) ve WFoV kutusu (rev2.9) başlıklı makalelere bakın.
Daha fazla tablet seçeneği
Samsung Galaxy Tab A 10.1 ve Chuwi Hi9 Air 10.1 gibi tabletler, önerilen tabletler listesine eklendi. Ekran parlaklığını, çekilen görüntülerde şerit oluşumunu ortadan kaldıracak şekilde ayarlamak için tablette nabız genişlik modülasyonuna (PWM) sahip olmaması önemlidir.
Önerilen tabletlerle ilgili en güncel bilgiler için Tablet gereksinimleri bölümüne bakın.
Tablet açma işleminin azaltılması
Galaxy Tab A 10.1'in kullanılmasına izin vermek için hem RFoV (rev1a) hem de WFoV (rev2) test muhafazalarında tablet açıklığının yüksekliği biraz azaltılmıştır. Bu değişiklikleri yansıtan düzeltmeler rev1a.1 ve rev2.9'dur. Bu çizimler için RFoV kutusu (rev1a) ve WFoV kutusu (rev2.9) bölümüne bakın.
Yeni sensör füzyon denetleyicisi
Sensör füzyon denetleyicisinin donanımı, üretim kolaylığını artırmak için yeniden tasarlandı. Yeni kontrolör, Arduino'nun üzerine monte edilen özel bir yönlendirme kartı kalkanı ile Arduino tabanlı. Şekil 1'de kalkan, şekil 2'de ise muhafazanın mekanik çizimi gösterilmektedir. Yeni kontrolör, motoru doğrudan besleyen tek bir 5 V güç kaynağıyla çalışır. Elektronikler tamamen USB konnektörü üzerinden kontrol edilir. Ayrı güç kaynağı, kontrol elektroniği ile servo motor arasında tam yalıtım sağlar. Ayrıca tek bir kontrol cihazı altı servo motoru kontrol edebilir.
Şekil 1. Arduino kalkanının üstten görünümü
Şekil 2. Kasa tasarımı
Android 11, mevcut denetleyicilerle geriye dönük uyumludur. Arduino tabanlı kumandayla testi çağırmak 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 belirtilir. Android 10 cihaz olarak kullanıma
başlamak için tüm MANDATED
testlerinin geçilmesi gerekir. NOT_YET_MANDATED
testleri başarısız olabilir ancak CTS doğrulayıcı raporlaması için PASS
olarak tabloya eklenir. MANDATED
test şartı, yükseltilen cihazlar için de geçerlidir. Yükseltilen cihazların tüm MANDATED
testlerini geçmesi şartı, eski cihazların da testleri geçmesi gerektiği için testlerin MANDATED
testleri haline gelmesinin gecikmesine neden oldu.
Android 11'de MANDATED
testleri, telefon özelliklerindeki ilk API düzeyi işaretçisine göre sınırlandırılır. Android 11'e yükseltilen cihazlarda testler NOT_YET_MANDATED
testleri olarak çalıştırılır. Yani bir test başarısız olabilir ancak CtsVerifier.apk
'de PASS
olarak tabloya eklenir.
Örnek:
- Android 11'de
test_channel_saturation
testi, birinci API düzeyi 29'dan yüksek olan cihazlar içinMANDATED
şeklindedir. - Android 10'da
test_channel_saturation
testi tüm cihazlar içinMANDATED
'dur.
Sahne aydınlatmasını doğrulama
Android 11'de sahne ışıklandırması, sahnenin köşelerindeki parlaklık analiz edilerek doğrulanır. Tüm manuel sahneler ışıklandırma açısından doğrulanır. Tablet tabanlı sahneler ise RFoV test düzeneğindeki RFoV kameralar ve WFoV test düzeneğindeki 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 1. sahne, testlerin çoğunluğunu ve toplam test süresinin büyük bir yüzdesini oluşturur. 1. sahnedeki herhangi bir test başarısız olursa sahnenin tamamının yeniden çalıştırılması gerekir. Tasarım gereği, sahnenin tamamının yeniden çalıştırılması, marjinal testlerin geçme olasılığını azaltır. Android 11'de 1. sahne, scene1_1 ve scene1_2 olmak üzere iki sahneye bölünerek yeniden çalıştırma süreleri azaltılır.
Aşağıdaki tabloda farklı sahneler için Pixel 4 arka kamerasıyla ilgili test süreleri tablo olarak 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, ad temizliği de yapılır. 2. sahne harflerden, 1. sahne ise sayılardan oluşur. Farklı uzantıların adlandırılması şu şekildedir:
- Aynı grafiğe sahip ancak farklı testlere sahip sahneler:
*_1,2,3
- Grafikleri farklı, ancak aynı testleri içeren sahneler:
*_a,b,c
Sahne | Test sayısı | Pixel 4 çalışma süresi (dk:sn) |
---|---|---|
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 etme
İlk API düzeyini kullanacak şekilde güncellenen testler
Android 11'de aşağıdaki tablodaki testler, ilk API düzeyi işaretçisini kullanacak şekilde güncellendi. Bu testlerin tümü, ilk API düzeyi 30 olan test_tonemap_curve
testi dışında ilk API düzeyi 29'u kullanır.
Sahne | Test adı | İlk API düzeyi | Açıklama |
---|---|---|---|
0 | test_tonemap_curve |
30 | Ardışık düzenin doğrusal tonlamayla ve ideal resim girişiyle (test_test_patterns üzerinden) doğru renk çıkışlarına sahip olduğundan emin olun. |
1 | test_ae_precapture_trigger |
29 | Ön yakalama tetikleyicisini kullanırken AE durum makinesini test edin. AE'de devre dışı bırakılmış ön kayıt tetikleyicisinin hiçbir etkisi olmadığından emin olun. |
test_channel_saturation |
29 | Doymuş bölgelerdeki tonlamayı 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şiklik içeren testler
Aşağıdaki tablodaki testler Android 11'de güncellenmiştir. Değişiklikler, Değişikliklerin açıklaması sütununda açıklanmıştır.
Sahne | Test adı | Birinci API düzeyi | Değişikliklerin açıklaması |
---|---|---|---|
1 | test_burst_sameness_manual |
30 | Tolerans değerini %2'ye düşürün. |
4 | test_aspect_ratio_and_crop |
30 | SINIRLI cihazlarda çalıştırılacak şekilde değiştirin. |
test_multi_camera_alignment |
30 | Çok kameralı çekim desteklenmiyorsa kameralar arasında tek tek geçiş yapın. Kamera seçim mantığını, üç ve dört kameralı sistemleri hesaba katacak şekilde yeniden çalışın ve mono, yalnızca derinlik ve kızılötesi kameraları atlayın. |
Yeni testler
Aşağıdaki tablodaki testler Android 11'de etkindir. Testler tabloda özetlenmiştir ve ayrıntılı açıklamalar aşağıdaki bölümlerde verilmiştir.
Sahne | Test adı | İlk API düzeyi | Açıklama |
---|---|---|---|
0 | test_vibration_restrictions |
30 | Görüntü yakalarken uyarıların ve titreşimlerin etkinleştirilmediğinden emin olun. |
2_a | test_jpeg_quality |
30 | JPEG kalitesini artırmak için sıkıştırmayı azaltan kesme noktaları tabloları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. 'te yerleştiğinden emin olun |
değiştir | test_scene_change |
31 | android.control.afSceneChange sahne değişikliğinde iddia edilir. |
6 | test_zoom |
30 | android.control.zoomRatioRange testini çalıştırın. |
scene0/test_vibration_restriction
Bu test için belirli bir sahne gerekmez, ancak test edilen cihaz (DUT) sert bir yüzeye yerleştirilmelidir veya monte edilmelidir. Kutudaki ITS test muhafazalarına montaj da buna 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şaretçilerle tanımlanır. Daha fazla bilgi için JPEG bölümüne bakın.
Test, JPEG yakalamadan kesme matrislerini çıkarır. JPEG yakalamadaki kesme matrisleri için işaretçi, [255, 219] dizisidir. İşaretçi bulunduğunda sonraki iki liste öğesi boyutu belirtir. JPEG DQT boyutu işaretçisi genellikle [0, 132] = 256*0+132 = 132'dir. Bu değer, JPEG yakalamasındaki DQT verilerinin boyutunu dikkate alır. Yerleştirilmiş veriler şu biçimdedir: [255, 219, 0, 132, 0 (luma işaretçisi), 8x8 luma matrisi, 1 (renk işaretçisi), 8x8 renk matrisi].
Luna matrisi işaretleyici için 0
ve renk işaretçisi için 1
değerleri, JPEG dosyasında iki matrisi ayrı DQT bölümlerine ayıran telefonlar da dahil olmak üzere çeşitli cihazlar için tutarlı görünmektedir. İnsan gözü lumaya karşı renk ve JPEG resimlerinin dikkate alınmasından daha hassas olduğundan, Luma matrislerinde renk çeşitliliği genellikle daha yüksektir.
ITS test düzeneği kullanılan Pixel 4 arka kamera çekim sahnesi2_a için 85 ve 25 kalite faktörleri için ayıklanan örnek luma ve kroma matrisleri aşağıda gösterilmiştir.
Matris değerleri, daha düşük kalite ayarı için önemli ölçüde artar (artan sıkıştırmayı gösterir). Bu matrisler, yalnızca debug=True
işareti uygulanırsa komut dosyasıyla yazdırılır. Parlaklık matrislerindeki girişlerde, renk matrislerine kıyasla daha büyük bir varyasyon olduğunu unutmayın.
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'te, Pixel 4 arka kamerası ve JPEG kalitesi için ortalama matris değerleri gösterilmektedir. JPEG kalitesi arttıkça sıkıştırma seviyesi (luma/kroma DQT matrisi ortalaması) azalır.
Şekil 3. Pixel 4 arka kamera luma/renk DQT matrisi ortalamaları ile JPEG kalitesi karşılaştırması
İddialar
- [25, 45, 65, 86] için kalitede +20, kesme matrisi ortalamalarında% 20 azalma sağlar.
- DQT matris yükleri kare sayılardır.
Şekil 4'te, testte başarısız olan bir telefon örneği gösterilmektedir. Çok düşük kaliteli resimlerde (jpeg.quality < 50
), kesme matrisinde sıkıştırma oranında 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. Birkaç kameranın tekrar tekrar test edilmesiyle, en zor yüzün sahne2_d'nin en soldaki yüz olması beklenir. Özellikle modelde hem şapka hem de sakal var. Bu, yüz sahnelerinde yeni bir özellik. Yeni sahneler 5. ve 6. resimlerde gösterilmektedir.
Şekil 5. Sahne2_d
Şekil 6. scene2_e
İddialar
num_faces == 3
sahne2_e/test_sürekli_resim
Yöntem
test_continuous_picture
testi, scene2_e'yi kullanır ancak yüz sahnelerinden herhangi biriyle etkinleştirilebilir. Bu testte, yakalama isteğinin ilk ayarı android.control.afMode = 4
(CONTINUOUS_PICTURE)
kullanılarak 50 VGA çözünürlüğü karesi yakalanmıştır.
3A sisteminin 50 karelik bir çekimin sonunda kararlı hale gelmesi beklenir.
İddialar
- 3A, yakalamanın sonunda tümleşik durumda.
scene_change/test_scene_change
Yöntem
android.control.afSceneChange
işaretinin bir sahne değişikliğiyle iddia edilip edilmediğini test etmek için yeni bir test etkinleştirilir. Sahne değişikliği, tabletin bir yüz sahnesi göstermesi ve ardından sahne değişikliği oluşturmak için tabletin açılıp kapatılmasından oluşur. Sahne, scene2_e'yi yeniden kullanır ancak gerekli tablet kontrolü nedeniyle ayrı bir sahnededir.
Ayrıca manuel test için sahne değişikliği, elinizi kameranın önünde sallayarak da yapılabilir.
Şekil 7'de testin bir zamanlama diyagramı gösterilmektedir. Ekranın kapanması ile yakalama arasındaki zamanlama, önceki yakalamalardan elde edilen etkinlik sonuçlarına göre ayarlanır.
Şekil 7. test_scene_change için zaman çizelgesi
Koşulları değiştir:
- Sahne değişikliği varsa ve
afSceneChange == 1
ise testPASS
değerini döndürür. - Sahne değişikliği ve
afSceneChange == 0
varsa sahne değişikliği 5 kare önce kaydırılarakafSceneChange
'ın doğrulama yapması için daha fazla zaman tanır. - Sahne değişikliği yoksa ve
afSceneChange == 1
ise testFAIL
döndürür. - Sahne değişikliği yoksa ve
afSceneChange == 0
ise sahne değişikliği, yakalamada sahne değişikliği elde etmek için 30 kare önceye kayar.
İddialar
- Ekran (sahne) açma/kapatma düğmesi.
afSceneChange
işareti [0, 1] aralığındadır.- Sahne değişikliği yoksa 3A birleşir (işlevsel olarak
test_continuous_picture
ile aynıdır). afSceneChange == 1
ise sahnede parlaklık değişmelidir.PASS
altı deneme içinde, zamanlama önceki sonuçlara göre değiştirilmiş şekilde.
scene6/test_zoom
Yöntem
Mevcut sahnelerde büyütülebilecek kadar küçük bir özellik olmadığından ([1, 2, 4] numaralı sahneler) veya sahnede kolayca tanımlanamayan çok sayıda nesne bulunduğundan (3 numaralı sahne) android.control.zoomRatioRange
özelliğini test etmek için yeni bir sahne gerekir. Bu durum, özellik ayıklama işlemini zorlaştırır.
Şekil 8'de, normal bir daire dizisi içeren yeni sahne gösterilmektedir. Daire dizisi, DUT/grafik ortalaması sırasındaki gereksinimleri hafifletir ve yakalanan görüntünün merkezine yakın bir yerde her zaman bir daire oluşmasını sağlar. Bu sahnede, siyah kenarlıklı 9x5'lik bir daire dizisi tabletin tamamını kaplıyor. Yönü göstermek için bir dairenin yerini
sağ üst köşede bir kare alıyor. Daire boyutları, yaklaşık 80 derecelik bir görüş alanıyla (FoV) çekilen 4.000x3.000 piksellik bir sensör için yaklaşık 7.500 piksel (radius=50pixels
) alan içeren bir özelliğe sahiptir.
Şekil 8. test_zoom sahnesi
Şekil 9. Pixel 4 cam[0] zoom = [1, 3,33, 5,67, 8] bulunan daire içeren resimler
Şekil 9'da, yakınlaştırma dört adımda 1'den 8 kata çıktığında Pixel 4'ün arka kamerası için çekilen resimler gösterilmektedir. Bu resim grubu, hem ön hem de arka kameraların test edilmesini sağlamak için iki açıklıklı telefon test açıklığı kullanılması dışında, merkezleme konusunda özel bir özen gösterilmeden çekilmiştir. Grafik tableti merkezden biraz sola kaydırıldığından merkezden bir kayma olması beklenir ve bu gözlemlenir. Ayrıca, grafik 8x'ten yüksek yakınlaştırma oranlarıyla test etmek için yeterli görünüyor.
Çevreleri bulma
Bu test, tüm konturları bulan ve aşağıdakileri test ederek kontur aramasını istenen dairelere indiren findContours
kullanılan bir find_circle()
yöntemi içerir:
- Kontürlerin alanı 10 pikselden fazla olmalıdır.
- Konturlarda
NUM_PTS >= 15
olmalıdır. - Konturların merkezleri siyah olmalıdır.
- Konturların daireye benzemesi gerekir. Yani, alanlarının konturdaki pi*r2 alanına yakın olması gerekir.
Test aralığı
android.control.zoomRatioRange
10 adıma ayrılmıştır.
- [1, 7] testleri [1, 1,67, 2,33, 3, 3,67, 4,33, 5, 5,67, 6,33, 7]
Bulunan daire resmin sınırlarına dokunursa yakınlaştırma durdurulur. Testte (10x) yeterli yakınlaştırma seviyesine ulaşıldığından emin olmak için bir kontrol yapılır.
İddialar
- Her yakınlaştırma ayarında en az bir daire bulunur.
- 10 kat veya en fazla
android.control.zoomRatioRange
test edilir. - Daire yarıçapı, yakınlaştırma ile ölçeklenir (RTOL beklenenin% 10'u).
- Yakınlaştırma ile merkez ölçeklerden dairesel uzaklık (RTOL beklenenin% 10'u).
- Yeterli yakınlaştırma düzeyine ulaşılır (2x).
LIMITED kamera testinde artış yapıldı
Android 11'de aşağıdaki tablodaki 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ın test edilmesini sağlayacak şekilde güncellenir.
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'da, Android 11 ITS gizli kod çözücü halkası gösterilmektedir. Gizli kod çözücü halka, her bir testin hangi test ayarlarına göre kısıtlandığını gösterir. Görüntüleme kolaylığı için filtreleme renk kodludur. Ana engelleme öğeleri şunlardır:
MANUAL_SENSOR
READ_3A
*MANUAL SENSOR
gerektirirCOMPUTE_TARGET_EXPOSURES
*MANUAL SENSOR
gerektirirPER_FRAME_CONTROL
RAW
SENSORS
*REALTIME
MULTI_CAMERA
MANUAL SENSOR
, READ_3A
, COMPUTE_TARGET_EXPOSURES
ve
PER_FRAME_CONTROL
, testlerin çoğunu kontrol eder. Ayrıca, LIMITED
cihazlar için etkinleştirilen testler açık yeşil renkle vurgulanır.
Şekil 10. Android 11 gizli kod çözücü halkası