Halaman ini merangkum perubahan pada Camera Image Test Suite (ITS) di Android 11. Perubahan tersebut termasuk dalam kategori berikut:
- Perubahan perangkat keras
- Tes WAJIB level API pertama
- Uji pencahayaan divalidasi
- Perubahan nama adegan
- Uji perubahan dan penambahan
- Peningkatan pengujian kamera TERBATAS
Perubahan perangkat keras
Android 11 memperkenalkan beberapa perubahan perangkat keras untuk mengurangi biaya dan meningkatkan ketersediaan. Perubahan ini termasuk dalam kategori berikut:
- Pabrikan tambahan
- Metode manufaktur terpadu
- Peningkatan opsi tablet
- Pembukaan tablet berkurang
- Pengontrol fusi sensor baru
Pabrikan tambahan
Rahi Systems memenuhi syarat untuk memproduksi penutup pengujian ITS selain pemasok kami yang sudah ada, desain MYWAY. Informasi perusahaan untuk vendor yang memenuhi syarat adalah sebagai berikut:
Rahi Systems Inc.
48303 Fremont Blvd, Fremont CA 94538, AS
rahisystems.com/products/android-device-testing-equipment/
androidpartner@rahisystems.com
+1-510-319-3802Desain MYWAY
4F., No.163, Jalan Fu-Ying, Distrik XinZhuang, Kota Taipei Baru, Taiwan
twmyway.com
penjualan@myway.tw
+886-2-29089060
Metode manufaktur terpadu
Penutup uji bidang pandang reguler (RFoV) ITS-in-a-box rev1 didesain ulang untuk menggunakan metode manufaktur yang digunakan oleh kotak bidang pandang lebar (WFoV) dan penutup uji kotak fusi sensor . Fungsionalitasnya identik, dan untuk kesederhanaan, desainnya disebut rev1a . Desain ulang ini memungkinkan produsen untuk menyimpan satu jenis plastik untuk memproduksi semua wadah pengujian. Selain itu, dudukan tablet dan dudukan lampu didesain ulang untuk menangani variasi yang lebih besar pada tablet dan bilah lampu LED.
Untuk mengunduh deskripsi dan gambar mekanik terbaru, lihat kotak RFoV (rev1a) dan kotak WFoV (rev2.9) .
Peningkatan opsi tablet
Tablet termasuk Samsung Galaxy Tab A 10.1 dan Chuwi Hi9 Air 10.1 ditambahkan ke daftar tablet yang direkomendasikan. Penting agar tablet tidak memiliki modulasi lebar pulsa (PWM) untuk menyesuaikan kecerahan layar guna menghilangkan garis melintang pada gambar yang diambil.
Untuk informasi terbaru mengenai tablet yang direkomendasikan, lihat Persyaratan tablet .
Pembukaan tablet berkurang
Untuk memungkinkan penggunaan Galaxy Tab A 10.1, tinggi bukaan tablet dikurangi sedikit untuk wadah pengujian RFoV (rev1a) dan WFoV (rev2). Revisi yang mencerminkan perubahan tersebut adalah rev1a.1 dan rev2.9. Untuk gambar ini, lihat kotak RFoV (rev1a) dan kotak WFoV (rev2.9) .
Pengontrol fusi sensor baru
Perangkat keras untuk pengontrol fusi sensor didesain ulang untuk meningkatkan kemampuan manufaktur. Pengontrol baru ini berbasis Arduino , dengan pelindung papan perutean khusus yang dipasang di atas Arduino. Gambar 1 menunjukkan pelindung dan gambar 2 menunjukkan gambar mekanis selungkup. Pengontrol baru ini ditenagai oleh pasokan 5 V tunggal yang memberi daya pada motor secara langsung. Elektronik dikontrol sepenuhnya melalui konektor USB. Catu daya terpisah memungkinkan isolasi lengkap antara elektronik kontrol dan motor servo. Selain itu, satu pengontrol dapat mengontrol hingga enam motor servo.
Gambar 1. Tampak atas perisai Arduino
Gambar 2. Desain penutup
Android 11 kompatibel dengan pengontrol yang ada. Untuk menjalankan pengujian dengan pengontrol berbasis Arduino, gunakan:
python tools/run_all_tests.py device=# camera=# rot_rig=arduino:1 scenes=sensor_fusion
tingkat API pertama
Di Android 10, pengujian ITS ditetapkan sebagai MANDATED
dan NOT_YET_MANDATED
. Untuk diluncurkan sebagai perangkat Android 10, semua pengujian MANDATED
harus lulus. Tes NOT_YET_MANDATED
bisa gagal tetapi ditabulasikan sebagai PASS
untuk pelaporan verifikator CTS. Persyaratan pengujian MANDATED
juga berlaku untuk perangkat yang ditingkatkan. Persyaratan bagi perangkat yang ditingkatkan untuk lulus semua pengujian MANDATED
menyebabkan pengujian tertunda menjadi pengujian MANDATED
karena perangkat yang lebih lama juga harus lulus pengujian tersebut.
Di Android 11, pengujian MANDATED
dibatasi oleh tanda API level pertama dari properti ponsel. Untuk perangkat yang diupgrade ke Android 11, pengujian dijalankan sebagai pengujian NOT_YET_MANDATED
, artinya pengujian dapat gagal tetapi ditabulasikan sebagai PASS
di CtsVerifier.apk
.
Misalnya:
- Di Android 11, pengujian
test_channel_saturation
MANDATED
untuk perangkat dengan API level pertama yang lebih besar dari 29. - Di Android 10, pengujian
test_channel_saturation
MANDATED
untuk semua perangkat.
Memvalidasi pencahayaan pemandangan
Di Android 11, pencahayaan pemandangan divalidasi dengan menganalisis kecerahan di sudut pemandangan. Semua adegan manual divalidasi untuk pencahayaan, dan adegan berbasis tablet divalidasi untuk kamera RFoV di alat uji RFoV dan kamera WFoV di alat uji WFoV. Jika tingkat pencahayaan tidak memadai, kesalahan dilaporkan dan pengujian gagal.
Perubahan nama adegan
Di Android 10, adegan 1 menyumbang sebagian besar pengujian dan sebagian besar total waktu pengujian. Jika tes apa pun dalam adegan 1 gagal, seluruh adegan harus dijalankan ulang. Secara desain, memutar ulang seluruh adegan akan mengurangi kelulusan tes marjinal. Di Android 11, waktu pemutaran ulang dikurangi dengan membagi adegan 1 menjadi dua adegan, adegan1_1 dan adegan1_2.
Tabel berikut menunjukkan tabulasi waktu pengujian untuk kamera belakang Pixel 4 untuk berbagai pemandangan. Jumlah tes dibagi untuk menyamakan waktu tes, bukan untuk menyamakan jumlah tes.
Selain itu, ada pembersihan nama. Adegan 2 dipisahkan dengan huruf dan adegan 1 dipisahkan dengan angka. Nomenklatur untuk ekstensi yang berbeda adalah:
- Adegan dengan bagan yang sama, tetapi pengujiannya berbeda:
*_1,2,3
- Adegan dengan grafik berbeda, tetapi pengujiannya sama:
*_a,b,c
Pemandangan | Jumlah tes | Waktu pengoperasian Pixel 4 (menit:dtk) |
---|---|---|
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 |
Uji perubahan
Pengujian diperbarui untuk menggunakan API level pertama
Di Android 11, pengujian dalam tabel berikut diperbarui untuk menggunakan tanda API level pertama. Semua pengujian ini menggunakan API level pertama 29 kecuali pengujian test_tonemap_curve
, yang menggunakan API level pertama 30.
Pemandangan | Nama tes | tingkat API pertama | Keterangan |
---|---|---|---|
0 | test_tonemap_curve | 30 | Pastikan saluran memiliki keluaran warna yang tepat dengan peta nada linier dan masukan gambar ideal (bergantung pada test_test_patterns ). |
1 | test_ae_precapture_trigger | 29 | Uji mesin status AE saat menggunakan pemicu pra-pengambilan. Pastikan pemicu pra-pengambilan yang dinonaktifkan dengan AE tidak berpengaruh. |
test_channel_saturation | 29 | Pastikan saluran RGB jenuh dengan nilai yang sama untuk menghilangkan warna di daerah jenuh. | |
2_a/b/c | test_num_faces | 29 | Tingkatkan keragaman usia dalam adegan wajah. |
Tes dengan perubahan
Pengujian pada tabel berikut diperbarui di Android 11. Perubahannya dijelaskan di kolom Deskripsi perubahan .
Pemandangan | Nama tes | tingkat API pertama | Deskripsi perubahan |
---|---|---|---|
1 | test_burst_sameness_manual | 30 | Kurangi toleransi menjadi 2%. |
4 | test_aspect_ratio_and_crop | 30 | Ubah untuk dijalankan pada perangkat TERBATAS. |
test_multi_camera_alignment | 30 | Telusuri kamera satu per satu jika pengambilan multi-kamera tidak didukung. Susun ulang logika pemilihan kamera untuk memperhitungkan sistem tiga dan empat kamera, dan lewati kamera mono, depth-only, dan IR. |
Tes baru
Pengujian pada tabel berikut diaktifkan di Android 11. Pengujian dirangkum dalam tabel dan deskripsi mendetail disediakan di bagian berikut.
Pemandangan | Nama tes | tingkat API pertama | Keterangan |
---|---|---|---|
0 | test_vibration_restrictions | 30 | Pastikan peringatan dan getaran tidak diaktifkan selama pengambilan gambar. |
2_a | test_jpeg_quality | 30 | Uji apakah tabel kuantisasi menurunkan kompresi untuk meningkatkan kualitas JPEG. |
2_h/2_e | test_num_faces | 30 | Meningkatkan keragaman usia wajah. |
2_e | test_continuous_picture | 30 | Pastikan 3A menetap di android.control.afAvailableModes = CONTINUOUS_PICTURE. |
mengubah | test_scene_change | 31 | android.control.afSceneChange ditegaskan setelah perubahan adegan. |
6 | test_zoom | 30 | Uji android.control.zoomRatioRange . |
adegan0/test_vibration_restriction
Pengujian ini tidak memerlukan pemandangan tertentu, namun perangkat yang diuji (DUT) harus diletakkan atau dipasang pada permukaan yang keras. Ini termasuk pemasangan pada penutup uji ITS-in-a-box.
Menegaskan
- Tidak ada getaran selama penggunaan kamera
adegan2_a/test_jpeg_quality
metode
Bagian berbeda dari file JPEG ditentukan oleh penanda 2 byte. Untuk informasi lebih lanjut, lihat JPEG .
Tes ini mengekstrak matriks kuantisasi dari tangkapan JPEG. Penanda matriks kuantisasi dalam tangkapan JPEG adalah urutannya, [255, 219]. Ketika penanda ditemukan, dua item daftar berikutnya adalah ukurannya. Penanda ukuran JPEG DQT biasanya [0, 132] = 256*0+132 = 132, yang menjelaskan ukuran data DQT dalam pengambilan JPEG. Data yang disematkan berbentuk: [255, 219, 0, 132, 0 (luma marker), matriks luma 8x8, 1 (chroma marker), matriks kroma 8x8].
Angka 0
untuk penanda matriks luma dan 1
untuk penanda kroma tampak konsisten untuk sejumlah perangkat termasuk telepon yang memisahkan kedua matriks menjadi bagian DQT terpisah dalam file JPEG. Matriks luma cenderung memiliki variasi nilai yang lebih tinggi dibandingkan matriks kroma karena mata manusia lebih sensitif terhadap luma dibandingkan gambar kroma dan JPEG yang memperhitungkan hal ini.
Sampel matriks luma dan kroma yang diekstraksi ditampilkan di bawah untuk faktor kualitas 85 dan 25 untuk kamera belakang Pixel 4 yang menangkap adegan2_a dengan alat pengujian ITS. Nilai matriks meningkat (menunjukkan peningkatan kompresi) secara substansial untuk pengaturan kualitas yang lebih rendah. Matriks ini hanya dicetak dengan skrip jika flag debug=True
diterapkan. Perhatikan variasi yang lebih besar dalam entri dalam matriks luma dibandingkan dengan matriks kroma.
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]]
Gambar 3 menunjukkan nilai matriks rata-rata untuk kamera belakang Pixel 4 versus kualitas JPEG. Ketika kualitas JPEG ditingkatkan, tingkat kompresi (rata-rata matriks luma/chroma DQT) menurun.
Gambar 3. Rata-rata matriks luma/chroma DQT kamera belakang Pixel 4 versus kualitas JPEG
Menegaskan
- Untuk [25, 45, 65, 86], kualitas +20 memiliki rata-rata matriks kuantisasi reduksi 20%.
- Muatan matriks DQT adalah bilangan persegi.
Gambar 4 menunjukkan contoh telepon yang gagal dalam pengujian. Perhatikan bahwa untuk gambar berkualitas sangat rendah ( jpeg.quality < 50
), tidak ada peningkatan kompresi dalam matriks kuantisasi.
Gambar 4. Contoh pengujian yang gagal
adegan2_d/e test_num_faces
Dua adegan deteksi wajah baru ditambahkan untuk meningkatkan keragaman wajah pada pemeriksaan algoritma deteksi wajah. Dengan pengujian berulang terhadap sejumlah kamera, wajah yang paling menantang diharapkan menjadi wajah paling kiri dalam adegan2_d. Secara khusus, terdapat topi dan janggut pada modelnya, sesuatu yang baru dalam adegan wajah. Adegan baru ditunjukkan pada gambar 5 dan 6.
Gambar 5. adegan2_d
Gambar 6. adegan2_e
Menegaskan
-
num_faces == 3
adegan2_e/test_continuous_picture
metode
Tes test_continuous_picture
menggunakan scene2_e tetapi dapat diaktifkan dengan adegan wajah mana pun. Dalam pengujian ini, 50 frame resolusi VGA ditangkap dengan permintaan pengambilan terlebih dahulu dengan pengaturan android.control.afMode = 4 (CONTINUOUS_PICTURE)
.
Sistem 3A diperkirakan telah selesai pada akhir pengambilan 50 frame.
Menegaskan
- 3A berada dalam keadaan konvergen pada akhir penangkapan.
adegan_perubahan/test_adegan_perubahan
metode
Pengujian baru diaktifkan untuk menguji apakah flag android.control.afSceneChange
diterapkan dengan perubahan adegan. Perubahan pemandangan memanfaatkan tablet yang menampilkan pemandangan wajah lalu menyalakan dan mematikan tablet untuk membuat perubahan pemandangan. Adegan tersebut menggunakan kembali adegan2_e tetapi berada dalam adegan terpisah karena diperlukan kontrol tablet.
Selain itu, untuk pengujian manual, perubahan pemandangan dapat dilakukan dengan melambaikan tangan Anda di depan kamera.
Gambar 7 menunjukkan diagram waktu pengujian. Waktu antara mematikan layar dan pengambilan disesuaikan berdasarkan hasil peristiwa dari pengambilan sebelumnya.
Gambar 7. Diagram waktu untuk test_scene_change
Kondisi peralihan:
- Jika ada perubahan adegan dan
afSceneChange == 1
, pengujian akan mengembalikanPASS
. - Jika ada perubahan adegan dan
afSceneChange == 0
, perubahan adegan bergeser 5 frame lebih awal untuk memberikan lebih banyak waktu bagiafSceneChange
untuk menegaskan. - Jika tidak ada perubahan adegan dan
afSceneChange == 1
, pengujian akan mengembalikanFAIL
. - Jika tidak ada perubahan adegan dan
afSceneChange == 0
, perubahan adegan bergeser 30 frame sebelumnya untuk mendapatkan perubahan adegan dalam pengambilan.
Menegaskan
- Layar (adegan) mati.
- Bendera
afSceneChange
ada di [0, 1]. - Jika tidak ada perubahan adegan, 3A menyatu (secara fungsional identik dengan
test_continuous_picture
). - Jika
afSceneChange == 1
, kecerahan dalam adegan harus berubah. -
PASS
dalam enam kali percobaan dengan waktu diubah berdasarkan hasil sebelumnya.
adegan6/test_zoom
metode
Adegan baru diperlukan untuk menguji android.control.zoomRatioRange
karena adegan yang ada tidak memiliki fitur yang cukup kecil untuk diperbesar (adegan [1, 2, 4]) atau adegan tersebut memiliki banyak objek yang tidak mudah diidentifikasi , mempersulit ekstraksi fitur (adegan 3).
Gambar 8 menunjukkan adegan baru dengan susunan lingkaran yang teratur. Susunan lingkaran melonggarkan persyaratan pada pemusatan DUT/grafik dan memungkinkan lingkaran selalu berada di dekat pusat gambar yang diambil. Dalam adegan ini susunan lingkaran berukuran 9x5 dengan tepian hitam menutupi seluruh tablet. Satu lingkaran diganti dengan persegi di pojok kanan atas untuk menunjukkan orientasi. Ukuran lingkaran memiliki fitur dengan luas sekitar 7500 piksel ( radius=50pixels
) untuk sensor 4000x3000 yang ditangkap dengan bidang pandang (FoV) sekitar 80 derajat.
Gambar 8. adegan test_zoom
Gambar 9. Zoom kamera Pixel 4[0] = gambar [1, 3.33, 5.67, 8] dengan lingkaran yang ditemukan
Gambar 9 menunjukkan gambar yang diambil untuk kamera belakang Pixel 4 saat zoom ditingkatkan dari 1 menjadi 8x dengan empat langkah. Kumpulan gambar ini diambil tanpa kehati-hatian khusus saat memusatkannya kecuali menggunakan bukaan pengujian ponsel dengan dua bukaan untuk memungkinkan pengujian kamera depan dan belakang. Diperkirakan ada offset dari tengah, dan diamati saat tablet grafik sedikit ke kiri dari tengah. Selain itu, bagan tersebut tampak cukup untuk diuji dengan rasio zoom lebih tinggi dari 8x.
Menemukan lingkaran
Pengujian ini mencakup metode find_circle()
menggunakan findContours
yang menemukan semua kontur dan mempersempit pencarian kontur hingga ke lingkaran yang diinginkan dengan menguji hal berikut:
- Kontur harus memiliki luas lebih dari 10 piksel.
- Kontur harus memiliki
NUM_PTS >= 15
. - Kontur harus memiliki bagian tengah berwarna hitam.
- Kontur harus menyerupai lingkaran, artinya luasnya dekat dengan luas pi*r2 kontur.
Rentang tes
android.control.zoomRatioRange
dibagi menjadi 10 langkah.
- [1, 7] tes [1, 1.67, 2.33, 3, 3.67, 4.33, 5, 5.67, 6.33, 7]
Pembesaran dihentikan jika lingkaran yang ditemukan menyentuh batas gambar. Ada pemeriksaan untuk memastikan tingkat zoom yang memadai tercapai dalam pengujian (10x).
Menegaskan
- Setidaknya satu lingkaran ditemukan pada setiap pengaturan zoom.
-
android.control.zoomRatioRange
diuji 10x atau maksimal. - Skala radius lingkaran dengan zoom (RTOL 10% dari yang diharapkan).
- Offset tengah lingkaran dari skala tengah dengan zoom (RTOL 10% dari yang diharapkan).
- Tingkat zoom yang memadai tercapai (2x).
Peningkatan pengujian kamera TERBATAS
Di Android 11, pengujian pada tabel berikut menguji kamera LIMITED
. Selain pengujian baru , pengujian scene4/test_aspect_ratio_and_crop
diperbarui untuk memungkinkan pengujian perangkat LIMITED
dengan level API pertama 30 atau lebih tinggi.
Pemandangan | Nama tes |
---|---|
0 | test_vibration_restrictions |
2_a | test_jpeg_quality |
2_h/2_e | test_num_faces |
4 | test_aspect_ratio_and_crop |
6 | test_zoom |
Gambar 10 menunjukkan cincin dekoder rahasia Android 11 ITS. Cincin dekoder rahasia menunjukkan pengaturan pengujian yang digunakan untuk masing-masing pengujian. Gerbangnya diberi kode warna untuk kemudahan tampilan. Item gerbang utama adalah:
-
MANUAL_SENSOR
-
READ_3A
*membutuhkanMANUAL SENSOR
-
COMPUTE_TARGET_EXPOSURES
*membutuhkanMANUAL SENSOR
-
PER_FRAME_CONTROL
-
RAW
-
SENSORS
*REALTIME
-
MULTI_CAMERA
MANUAL SENSOR
, READ_3A
, COMPUTE_TARGET_EXPOSURES
, dan PER_FRAME_CONTROL
merupakan gerbang sebagian besar pengujian. Selain itu, pengujian yang diaktifkan untuk perangkat LIMITED
disorot dengan warna hijau muda.
Gambar 10. Cincin dekoder rahasia Android 11