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
- Sınırlı 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ışının azaltılması
- 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) 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. 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ış süresinin kısalması
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.
1. şekil. 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 sunmak 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üşmesini geciktirdi.
Android 11'de MANDATED testleri, telefon özelliklerindeki ilk API düzeyi işaretiyle sınırlanır. Android 11'e yükseltme yapan 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 cihazlar için
test_channel_saturationtestiMANDATED'dir. - Android 10'da
test_channel_saturationtesti tüm cihazlar içinMANDATED'dir.
Sahne aydınlatması 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 için RFoV 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 testlerden herhangi biri başarısız olursa sahnenin tamamı 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 yapılan test süreleri gösterilmektedir. Test sayısı, test süresini eşitlemek için bölünür, test sayısını eşitlemek için bölünmez.
Ayrıca, ad temizleme işlemi de yapılır. 2. sahne harflerle, 1. sahne ise sayılarla bölünür. Farklı uzantıların adlandırması şö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 (dakika: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 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ının, doğrusal ton eşleme ve ideal görüntü girişiyle uygun renk çıkışlarına sahip olduğundan emin olun (test_test_patterns'ya bağlıdır). |
| 1 | test_ae_precapture_trigger |
29 | Ön çekim tetikleyicisini kullanırken AE durum makinesini test edin. AE devre dışı bırakılmış ön yakalama tetikleyicisinin hiçbir etkisi olmadığından emin olun. |
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üncellenir. 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 | Yalnızca 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 IR kameraları atlayın. |
Yeni testler
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 çekerken uyarıların ve titreşimin 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ştir | test_scene_change |
31 | android.control.afSceneChange sahne değişikliğinde 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.
Asserts
- 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 matrisleri için işaretleyici, [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ı) azalır.
3.Şekil Pixel 4 arka kamera parlaklık/renk DQT matrisi ortalamaları ve JPEG kalitesi
Asserts
- [25, 45, 65, 86] için kalitede +20, nicemleme matrisi ortalamalarında% 20 azalmaya neden olur.
- DQT matris 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ülerde (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
Asserts
num_faces == 3
scene2_e/test_continuous_picture
Yöntem
test_continuous_picture testi scene2_e'yi kullanır ancak yüz sahnelerinin herhangi biriyle etkinleştirilebilir. Bu testte, ilk yakalama isteği ayarı android.control.afMode = 4
(CONTINUOUS_PICTURE) ile 50 kare VGA çözünürlükte yakalanır.
3A sisteminin 50 karelik bir çekimin sonunda yerleşmesi beklenir.
Asserts
- 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ştirilir. Sahne değişikliği için yüz sahnesi gösteren tablet kullanılıyor ve ardından sahne değişikliği oluşturmak için tablet açılıp kapatılıyor. 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 yakalama arasındaki süre, önceki yakalamalardan elde edilen 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 == 1varsa testPASSdeğerini döndürür. - Sahne değişikliği varsa ve
afSceneChange == 0varsa sahne değişikliği,afSceneChange'nin onaylanması için daha fazla zaman tanımak amacıyla 5 kare önceye kaydırılır. - Sahne değişikliği yoksa ve
afSceneChange == 1ise 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.
Asserts
- 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'yı test etmek için yeni bir sahne gerekir. Bunun nedeni, mevcut sahnelerde büyütülebilecek kadar küçük bir özellik olmaması (1, 2, 4 numaralı sahneler) veya sahnede kolayca tanımlanamayan çok sayıda nesne bulunarak özellik çıkarımını zorlaştırmasıdır (3 numaralı sahne).
Şekil 8'de, dairelerin düzenli bir dizilimini 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 görüntüler gösterilmektedir. Görüntülerde, dört adımda 1x'ten 8x'e yükselen yakınlaştırma seviyesi gösterilmektedir. Bu resim 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 pi*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, resmin 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.
Asserts
- 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 uzaklık, merkez ölçekli daire, yakınlaştırma ile ölçeklenir (beklenenden% 10 RTOL).
- Yeterli yakınlaştırma düzeyine (2x) ulaşıldı.
SINIRLI kamera testi artırıldı
Android 11'de aşağıdaki tablodaki testler LIMITED kamerayı 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'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şaretlenir. Başlıca sınırlama öğeleri şunlardır:
MANUAL_SENSORREAD_3A*gerektirirMANUAL SENSORCOMPUTE_TARGET_EXPOSURES*gerektirirMANUAL 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.
10.şekil Android 11 gizli şifre çözme halkası