Bu sayfada, Android 11'deki Kamera Görüntüsü Test Paketi (ITS) ile ilgili değişiklikler özetlenmektedir. Değişiklikler aşağıdaki kategorilere ayrılır:
- Donanım değişiklikleri
- İlk API seviyesi ZORUNLU testleri
- Test ışıklandırması doğrulandı
- Sahne adı değişiklikleri
- Değişiklikleri ve eklemeleri test etme
- SINIRLI kamera testleri artırıldı
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 ayrılır:
- Ek üretici
- Birleştirilmiş üretim yöntemleri
- Daha fazla tablet seçeneği
- Tablet açılış süresini azaltma
- Yeni sensör füzyon denetleyicisi
Ek üretici
Rahi Systems, mevcut tedarikçimiz MYWAY design'a ek olarak ITS test muhafazaları üretmeye uygundur. Uygun sağlayıcıları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 design
4F., No. 163, Fu-Ying Road, XinZhuang District, New Taipei City, Tayvan
twmyway.com
sales@myway.tw
+886-2-29089060
Birleştirilmiş üretim yöntemleri
rev1 normal görüş alanı (RFoV) ITS-in-a-box 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 tasarım, basitlik açısından rev1a olarak adlandırılır. Yeniden tasarım, üreticilerin tüm test muhafazalarını üretmek için tek bir tür plastik stoklamasına olanak tanır. Ayrıca, tablet montajı ve ışık tutucular, tabletlerde ve LED ışık çubuklarında daha fazla çeşitliliği destekleyecek şekilde yeniden tasarlandı.
En son açıklamaları ve mekanik çizimleri indirmek için RFoV kutusu (rev1a) ve WFoV kutusu (rev2.9) sayfalarına 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. Tablette, çekilen resimlerdeki bantlanmayı önlemek için ekran parlaklığını ayarlamak üzere darbe genişliği modülasyonu (PWM) olmaması önemlidir.
Önerilen tabletlerle ilgili en son bilgiler için Tablet gereksinimleri başlıklı makaleyi inceleyin.
Tablet açılışının yavaşlaması
Galaxy Tab A 10.1'in kullanılabilmesi için hem RFoV (rev1a) hem de WFoV (rev2) test muhafazalarında tablet açıklığı yükseklik açısından 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) başlıklı makalelere bakın.
Yeni sensör füzyon denetleyicisi
Sensör füzyonu denetleyicisinin donanımı, üretilebilirliği artırmak için yeniden tasarlandı. Yeni kontrol cihazı, Arduino'nun üzerine monte edilen özel bir yönlendirme kartı kalkanı ile Arduino tabanlıdır. Şekil 1'de kalkan, Şekil 2'de ise muhafazanın mekanik çizimi gösterilmektedir. Yeni kontrol cihazı, motoru doğrudan çalıştıran tek bir 5 V güç kaynağıyla çalışır. Elektronik parçalar 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ı adede kadar servo motoru kontrol edebilir.
Şekil 1. Arduino kalkanının üstten görünümü
Şekil 2. Yapı tasarımı
Android 11, mevcut kumandalarla geriye dönük olarak uyumludur. Arduino tabanlı kontrol cihazıyla testi başlatmak için şunu kullanın:
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 belirlenir. Android 10 cihaz olarak kullanıma sunulmak için tüm MANDATED testlerinin başarılı olması gerekir. NOT_YET_MANDATED testleri başarısız olabilir ancak CTS doğrulayıcı raporlaması için PASS olarak tablolandırılır. MANDATED testleri
şartı, yükseltilmiş cihazlar için de geçerlidir. Yükseltilmiş cihazların tüm MANDATED testlerini geçmesiyle ilgili bu şart, eski cihazların da testleri geçmesi gerektiğinden testlerin MANDATED testlerine dönüşmesinin gecikmesine neden oldu.
Android 11'de MANDATED testleri, telefon özelliklerindeki ilk API düzeyi işaretiyle sınırlanır. Android 11'e yükseltilen cihazlarda testler NOT_YET_MANDATED
testleri olarak çalıştırılır. Bu nedenle bir test başarısız olabilir ancak CtsVerifier.apk'de PASS olarak tablolandırılabilir.
Örneğin:
- Android 11'de, ilk API düzeyi 29'dan yüksek olan cihazlarda
test_channel_saturationtestiMANDATEDolur. - Android 10'da
test_channel_saturationtesti tüm cihazlardaMANDATEDolarak gösterilir.
Sahne ışıklandırması doğrulanıyor
Android 11'de sahne aydınlatması, sahnenin köşelerindeki parlaklık analiz edilerek doğrulanır. Tüm manuel sahneler aydınlatma açısından, tablet tabanlı sahneler ise RFoV test düzeneğindeki RFoV kameralar ve WFoV test düzeneğindeki WFoV kameralar açısından doğrulanır. Işık seviyeleri yetersizse hata bildirilir ve test başarısız olur.
Sahne adı değişiklikleri
Android 10'da, 1. sahne testlerin çoğunu ve toplam test süresinin büyük bir bölümünü oluşturur. 1. sahnedeki herhangi bir test başarısız olursa tüm sahne yeniden çalıştırılmalıdır. Tasarım gereği, tüm sahnenin yeniden çalıştırılması marjinal testlerin geçmesini azaltır. Android 11'de, sahne 1 iki sahneye (sahne1_1 ve sahne1_2) bölünerek yeniden oynatma süreleri kısaltılır.
Aşağıdaki tabloda, farklı sahneler için Pixel 4 arka kamerasıyla ilgili 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, ad temizleme işlemi de yapılır. Sahne 2 harflerle, sahne 1 ise sayılarla bölünür. Farklı uzantıların adlandırma kuralı şöyledir:
- Aynı grafiğe sahip ancak farklı testlerin yapıldığı sahneler:
*_1,2,3 - Farklı grafiklere ancak aynı testlere sahip 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
Testler, ilk API düzeyini kullanacak şekilde güncellendi
Android 11'de aşağıdaki tablodaki testler, ilk API düzeyi işaretini kullanacak şekilde güncellenir. Bu testlerin tümünde, test_tonemap_curve testi hariç ilk API düzeyi 29'dur. test_tonemap_curve testinde ise ilk API düzeyi 30'dur.
| Sahne | Test adı | İlk API düzeyi | Açıklama |
|---|---|---|---|
| 0 | test_tonemap_curve |
30 | İşleme hattında, doğrusal ton eşleme ve ideal görüntü girişiyle (test_test_patterns'ya bağlıdır) uygun renk çıkışları olduğundan emin olun. |
| 1 | test_ae_precapture_trigger |
29 | Ön yakalama tetikleyicisini kullanırken AE durum makinesini test edin. AE devre dışı bırakılmışken ön yakalama tetikleyicisinin hiçbir etkisi yoktur. |
test_channel_saturation |
29 | Doygun bölgelerdeki renk tonunu ortadan kaldırmak için RGB kanallarının benzer değerlere doygun olduğundan emin olun. | |
| 2_a/b/c | test_num_faces |
29 | Yüzlerin yer aldığı sahnelerde 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çıklanı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 | Çok kameralı çekim desteklenmiyorsa kameraları tek tek inceleyin. Üç ve dört kameralı sistemleri hesaba katmak için kamera seçimi mantığını yeniden düzenleyin ve mono, yalnızca derinlik ve kızılötesi kameraları atlayın. |
Yeni test sayısı
Aşağıdaki tablodaki testler Android 11'de etkinleştirilmiştir. Testler tabloda özetlenmiş, ayrıntılı açıklamalar ise sonraki bölümlerde verilmiştir.
| Sahne | Test adı | İlk API düzeyi | Açıklama |
|---|---|---|---|
| 0 | test_vibration_restrictions |
30 | Fotoğraf çekme sırasında uyarıların ve titreşimlerin etkinleştirilmediğinden emin olun. |
| 2_a | test_jpeg_quality |
30 | Kuantizasyon tablolarının, JPEG kalitesini artırmak için sıkıştırmayı azalttığını test edin. |
| 2_d/2_e | test_num_faces |
30 | Yüzlerdeki yaş çeşitliliğini artırın. |
| 2_e | test_continuous_picture |
30 | 3A'nın android.control.afAvailableModes =
CONTINUOUS_PICTURE.'da yerleştiğinden emin olun. |
| değiştirme | test_scene_change |
31 | android.control.afSceneChange sahne değişikliği sırasında onaylandı. |
| 6 | test_zoom |
30 | Test android.control.zoomRatioRange. |
scene0/test_vibration_restriction
Bu test için belirli bir sahne gerekmez ancak test edilen cihaz (DUT) sert bir yüzeye yerleştirilmeli veya monte edilmelidir. Buna ITS-in-a-box test muhafazalarına montaj da dahildir.
İddialar
- Kamera kullanılırken titreşim olmaması
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ünü inceleyin.
Test, nicemleme matrislerini JPEG yakalamadan çıkarır. JPEG yakalamadaki nicemleme 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 olur. Bu, JPEG yakalamadaki DQT verilerinin boyutunu ifade eder. Yerleştirilmiş veriler şu biçimdedir: [255, 219, 0, 132, 0 (parlaklık işaretçisi), 8x8 parlaklık matrisi, 1 (renk işaretçisi), 8x8 renk 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 çeşitli cihazlarda tutarlı bir şekilde görünür. İnsan gözü, kromaya kıyasla lümaya daha duyarlı olduğundan ve JPEG resimler bunu dikkate aldığından lüma matrisleri, kroma matrislerine kıyasla daha çeşitli değerlere sahip olma eğilimindedir.
ITS test düzeneğiyle scene2_a'yı yakalayan Pixel 4 arka kamerası için 85 ve 25 kalite faktörlerinde çıkarılan örnek parlaklık ve renk matrisleri aşağıda gösterilmiştir.
Daha düşük kalite ayarında matris değerleri önemli ölçüde artar (sıkıştırmanın arttığını gösterir). Bu matrisler yalnızca debug=True işareti uygulanırsa komut dosyasıyla birlikte yazdırılır. Luma matrislerindeki girişlerde, kroma 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ı ile JPEG kalitesine kıyasla ortalama matris değerleri gösterilmektedir. JPEG kalitesi arttıkça sıkıştırma düzeyi (parlaklık/renk DQT matris ortalaması) düşer.
Şekil 3. Pixel 4 arka kamera parlaklık/renk DQT matrisi ortalamaları ve JPEG kalitesi
İddialar
- [25, 45, 65, 86] için kalitede +20, %20 azaltılmış nicemleme matrisi ortalamalarına sahiptir.
- DQT matris yükleri kare sayılardır.
Şekil 4'te testi geçemeyen bir telefon örneği gösterilmektedir. Çok düşük kaliteli resimlerde (jpeg.quality < 50) nicemleme matrisinde sıkıştırma artışı olmadığını unutmayın.
Şekil 4. Başarısız test örneği
scene2_d/e test_num_faces
Yüz tanıma 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 scene2_d'deki en soldaki yüz olması bekleniyor. Özellikle modelde hem şapka hem de sakal var. Bu, yüz sahnelerinde yeni bir özellik. Yeni sahneler 5. ve 6. şekilde gösterilmektedir.
Şekil 5. scene2_d
Şekil 6. scene2_e
İddialar
num_faces == 3
scene2_e/test_continuous_picture
Yöntem
test_continuous_picture testi scene2_e kullanır ancak yüz sahnelerinin herhangi biriyle etkinleştirilebilir. Bu testte, VGA çözünürlüğünde 50 kare, önce yakalama isteği ayarıyla android.control.afMode = 4
(CONTINUOUS_PICTURE) yakalanır.
3A sisteminin 50 karelik çekimin sonunda yerleşmesi beklenir.
İddialar
- 3A, yakalama sonunda birleşmiş durumda.
scene_change/test_scene_change
Yöntem
android.control.afSceneChange işaretinin sahne değişikliğiyle onaylanıp onaylanmadığını test etmek için yeni bir test etkinleştirildi. Sahne değişikliği, yüz sahnesi gösteren tableti kullanır ve ardından sahne değişikliği oluşturmak için tableti açıp kapatır. Sahne, scene2_e'yi yeniden kullanır ancak gerekli tablet kontrolü nedeniyle ayrı bir sahnede yer alır.
Ayrıca, manuel test için sahne değişikliği, elinizi kameranın önünde sallayarak da yapılabilir.
Şekil 7'de testin zamanlama diyagramı gösterilmektedir. Ekranın kapanması ile çekim arasındaki süre, önceki çekimlerdeki etkinlik sonuçlarına göre ayarlanır.
Şekil 7. test_scene_change için zamanlama şeması
Vardiya koşulları:
- Sahne değişimi varsa ve
afSceneChange == 1ise testPASSdeğerini döndürür. - Sahne değişikliği varsa ve
afSceneChange == 0varsa sahne değişikliği,afSceneChange'nin onaylaması için daha fazla zaman tanımak amacıyla 5 kare önceye kaydırılır. - Sahne değişikliği yoksa ve
afSceneChange == 1varsa testFAILdeğerini döndürür. - Sahne değişikliği yoksa ve
afSceneChange == 0, sahne değişikliği yakalamada sahne değişikliği elde etmek için 30 kare önceye kaydırılır.
İddialar
- Ekran (sahne) geçişleri.
afSceneChangeişareti [0, 1] aralığındadır.- Sahne değişikliği yoksa 3A yakınlaşır (
test_continuous_pictureile işlevsel olarak aynıdır). afSceneChange == 1ise parlaklık sahnede değişmelidir.- Önceki sonuçlara göre zamanlaması değiştirilerek altı deneme içinde
PASS.
scene6/test_zoom
Yöntem
android.control.zoomRatioRange öğesini test etmek için yeni bir sahne gerekiyor. Çünkü mevcut sahnelerde, büyütülebilecek kadar küçük bir özellik yok (1, 2, 4 numaralı sahneler) veya sahnede kolayca tanımlanamayan çok sayıda nesne var. Bu da özellik çıkarma işlemini zorlaştırıyor (3 numaralı sahne).
Şekil 8'de, dairelerin düzenli bir dizisini içeren yeni sahne gösterilmektedir. Daire dizisi, DUT/grafik merkezleme ile ilgili koşulları gevşetir ve yakalanan görüntünün merkezine yakın bir dairenin her zaman görünmesine olanak tanır. Bu sahnede, siyah kenarlıklı 9x5 daire dizisi tabletin tamamını kaplıyor. Yönü göstermek için sağ üst köşedeki dairelerden biri kareyle değiştirilir. Daire boyutları, yaklaşık 80 derecelik bir görüş alanı (FoV) ile çekilen 4.000 x 3.000 sensör için yaklaşık 7.500 piksellik (radius=50pixels) bir alana sahip bir özelliğe sahiptir.
Şekil 8. test_zoom sahnesi
Şekil 9. Pixel 4 cam[0] zoom = [1, 3.33, 5.67, 8] images with found circle
Şekil 9'da, Pixel 4'ün arka kamerasıyla çekilen resimler gösterilmektedir. Bu resimlerde, dört adımda 1x'ten 8x'e yükselen yakınlaştırma seviyeleri gösterilmektedir. Bu görüntü grubu, ön ve arka kameraların test edilmesini sağlamak için iki açıklıklı telefon test diyaframı kullanılması dışında, ortalama konusunda özel bir dikkat gösterilmeden çekilmiştir. Merkezden uzaklaşma beklenir ve grafik tableti merkezden biraz solda olduğu için bu durum gözlemlenir. Ayrıca, grafiğin 8x'ten yüksek yakınlaştırma oranlarıyla test etmek için yeterli olduğu görülüyor.
Çevreleri bulma
Test, tüm konturları bulan ve aşağıdakileri test ederek kontur aramasını istenen dairelerle sınırlayan find_circle() yöntemini içerir:findContours
- Konturların alanı 10 pikselden büyük olmalıdır.
- Konturlarda
NUM_PTS >= 15olmalıdır. - Konturların merkezleri siyah olmalıdır.
- Konturlar daireye benzemelidir. Yani alanları, konturun π*r2 alanına yakın olmalıdır.
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, görüntünün sınırlarına dokunursa yakınlaştırma durdurulur. Testte yeterli yakınlaştırma seviyesine (10x) 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 maksimum
android.control.zoomRatioRangetest edilir. - Çember yarıçapı, yakınlaştırma ile ölçeklenir (beklenenden% 10 RTOL).
- Merkezden uzaklaşan daire, yakınlaştırma ile ölçeklenir (beklenenden% 10 RTOL).
- Yeterli yakınlaştırma seviyesine (2x) ulaşıldı.
SINIRLI kamera testi artırıldı
Android 11'de aşağıdaki tablodaki testler LIMITED kameralarını test eder. Yeni testlere ek olarak, scene4/test_aspect_ratio_and_crop testi de 30 veya daha yüksek ilk API düzeyine sahip LIMITED cihazlarda test yapılmasına olanak tanıyacak ş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'da Android 11 ITS gizli kod çözme halkası gösterilmektedir. Gizli kod çözme halkası, her bir testin hangi test ayarlarıyla sınırlı olduğunu gösterir. Giriş, görüntülemeyi kolaylaştırmak için renk kodlarıyla işaretlenmiştir. Başlıca sınırlama öğeleri şunlardır:
MANUAL_SENSORREAD_3A*gerekirMANUAL SENSORCOMPUTE_TARGET_EXPOSURES*gerekirMANUAL SENSORPER_FRAME_CONTROLRAWSENSORS*REALTIMEMULTI_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şille vurgulanır.
Şekil 10. Android 11'deki gizli mesaj çözme halkası