Esta página resume los cambios en Conjunto de pruebas de imagen de la cámara (ITS) en Android 11. Los cambios se dividen en categorías:
- Cambios de hardware
- Primeras pruebas MANDATED de nivel de API
- Prueba de iluminación validada
- Cambios en el nombre de la escena
- Prueba cambios y adiciones
- Aumentamos las pruebas LIMITADAS de la cámara
Cambios de hardware
Android 11 presenta varios cambios de hardware en reducir costos y aumentar la disponibilidad. Estos cambios se incluyen en los siguientes categorías:
- Fabricante adicional
- Métodos de fabricación unificados
- Más opciones para tablets
- Menor apertura de tablets
- Nuevo controlador de fusión de sensores
Fabricante adicional
Rahi Systems está calificado para producir recintos de prueba de ITS además de nuestros proveedor existente, MYWAY Design. La información de la empresa para proveedores calificados es sigue:
Rahi Systems Inc.
48303 Fremont Blvd, Fremont CA 94538, EE.UU.
rahisystems.com/products/android-device-testing-equipment/
[email protected]
+1-510-319-3802Diseño de MYWAY
4F., Núm. 163, Fu-Ying Road, distrito de XinZhuang, Ciudad de Nueva Taipéi, Taiwán
twmyway.com
[email protected]
+886-2-29089060
Métodos de fabricación unificados
El ITS integrado de campo visual (RFoV) regular de rev1 la carcasa de prueba se rediseñó para usar los métodos de fabricación que usa el cuadro de campo visual amplio (WFoV) y caja de fusión de sensores de prueba. La funcionalidad es idéntica, y para simplificar, el diseño se denomina rev1a. El rediseño les permite a los fabricantes abastecer un de plástico para fabricar todos los soportes de prueba. Además, la tablet el soporte y los soportes de luz se rediseñaron para admitir una mayor variación en las tablets y barras de luz LED.
Para descargar las descripciones y los dibujos mecánicos más recientes, consulta Caja de RFoV (rev1a) y Cuadro de WFoV (rev2.9).
Más opciones de tabletas
Las tablets, incluidas la Samsung Galaxy Tab A 10.1 y el Chuwi Hi9 Air 10.1 son se agregó a la lista de tabletas recomendadas. Es importante que la tablet no tenga modulación por ancho de pulso (PWM) para ajustar el brillo de la pantalla y eliminar las bandas las imágenes capturadas.
Para la información más reciente sobre tabletas recomendadas, consulta Requisitos para tablets.
Se redujo la apertura de las tabletas
Para permitir el uso de la Galaxy Tab A 10.1, se reduce un poco la apertura de la tablet de altura tanto para los soportes de prueba de RFoV (rev1a) como WFoV (rev2). El revisiones rev1a.1 y rev2.9. Para estos dibujos, ver Caja de RFoV (rev1a) y Cuadro de WFoV (rev2.9).
Nuevo controlador de fusión de sensores
Se rediseñó el hardware del controlador de fusión de sensores para mejorar y la capacidad de fabricación. El nuevo control se basa en Arduino y tiene un diseño escudo de la placa de enrutamiento que se monta sobre la placa Arduino. En la Figura 1, se muestra y en la figura 2, se muestra el dibujo mecánico del soporte. La nueva herramienta funciona con una sola fuente de 5 V que alimenta el motor directamente. Los componentes electrónicos se controlan completamente a través del conector USB. La fuente de alimentación independiente permite un aislamiento completo entre el control los componentes electrónicos y el motor servo. Además, un solo controlador puede controlar hasta seis servo motores.
Figura 1: Vista superior del escudo de Arduino
Figura 2: Diseño de la carcasa
Android 11 es retrocompatible con versiones controladores. Para invocar pruebas con el controlador basado en Arduino, usa lo siguiente:
python tools/run_all_tests.py device=# camera=# rot_rig=arduino:1 scenes=sensor_fusion
Primer nivel de API
En Android 10, las pruebas de ITS se designan como MANDATED
y NOT_YET_MANDATED
. Para lanzarla como Android 10
dispositivo, se deben aprobar todas las pruebas de MANDATED
. Las pruebas de NOT_YET_MANDATED
pueden fallar
pero se tabulan como PASS
para los informes del verificador del CTS. Las pruebas de MANDATED
también se aplica a los dispositivos actualizados. Este requisito para las actualizaciones
los dispositivos superaran todas las pruebas de MANDATED
, lo que provocó que las pruebas se retrasaran y se
Pruebas MANDATED
porque los dispositivos más antiguos también deben pasar las pruebas.
En Android 11, las pruebas de MANDATED
están controladas por la
primera marca de nivel de API de las propiedades del teléfono. Para dispositivos que se actualizan a
Android 11; las pruebas se ejecutan como NOT_YET_MANDATED
pruebas, lo que significa que una prueba puede fallar, pero se tabula como PASS
en
CtsVerifier.apk
Por ejemplo:
- En Android 11, la prueba
test_channel_saturation
esMANDATED
para los dispositivos con un primer nivel de API superior a 29. - En Android 10, la prueba
test_channel_saturation
esMANDATED
para todos los dispositivos.
Validando la iluminación de la escena
En Android 11, la iluminación de la escena se valida por analizando el brillo en las esquinas de la escena. Todas las escenas manuales y las escenas en tabletas se validan para las cámaras RFoV en el equipo de prueba de RFoV y cámaras WFoV en el equipo de prueba de WFoV. Si los niveles de iluminación son inadecuadas, se informa un error y fallan las pruebas.
Cambios en el nombre de la escena
En Android 10, la escena 1 representa la mayoría de y un gran porcentaje del tiempo total de la prueba. Si hay alguna prueba en la escena 1 falla, se debe volver a ejecutar toda la escena. Volver a ejecutar toda la escena reduce el paso de pruebas marginales. En Android 11, se reducen dividiendo la escena 1 en dos escenas: ambiente1_1 y escena1_2.
En la siguiente tabla, se muestran los tiempos de prueba tabulados para la cámara posterior del Pixel 4. para diferentes escenas. La cantidad de pruebas se divide para igualar el tiempo de prueba, no igualar el número de pruebas.
Además, hay una limpieza de nombres. La escena 2 está dividida con letras y la escena 1 se divide en números. La nomenclatura de las diferentes extensiones es la siguiente:
- Escenas con el mismo gráfico, pero con diferentes pruebas:
*_1,2,3
- Escenas con diferentes gráficos, pero las mismas pruebas:
*_a,b,c
Scene | Cantidad de pruebas | Tiempo de ejecución del Pixel 4 (min:s) |
---|---|---|
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 |
Probar cambios
Se actualizaron las pruebas para usar el primer nivel de API.
En Android 11, las pruebas de la siguiente tabla son
se actualizó para usar la primera marca de nivel de API. Todas estas pruebas usan
primer nivel de API de 29, excepto para la prueba test_tonemap_curve
, que usa
un primer nivel de API de 30.
Scene | Nombre de la prueba | Primer nivel de API | Descripción |
---|---|---|---|
0 | test_tonemap_curve |
30 | Asegúrate de que la canalización tenga salidas de color adecuadas con un mapa de tonos lineal y
entrada de imagen (depende de test_test_patterns ). |
1 | test_ae_precapture_trigger |
29 | Prueba la máquina de estado de AE cuando uses el activador de captura previa. Garantizar con el AE inhabilitado el activador de captura previa no tiene efecto. |
test_channel_saturation |
29 | Asegúrate de que los canales RGB se saturen con valores similares para eliminar el tono. regiones saturadas. | |
2_a/b/c | test_num_faces |
29 | Aumenta la diversidad de edad en las escenas faciales. |
Pruebas con cambios
Las pruebas de la siguiente tabla se actualizaron en Android Los cambios se describen en la columna Descripción de los cambios.
Scene | Nombre de la prueba | Primer nivel de API | Descripción de los cambios |
---|---|---|---|
1 | test_burst_sameness_manual |
30 | Reduce la tolerancia al 2%. |
4 | test_aspect_ratio_and_crop |
30 | Cambio para que se ejecute en dispositivos LIMITED |
test_multi_camera_alignment |
30 | Si no se admite la captura con varias cámaras, revisa las cámaras de forma individual. Rehacer la lógica de selección de cámara para tener en cuenta los sistemas de tres y cuatro cámaras. y omite las cámaras mono, de solo profundidad y las infrarrojas. |
Pruebas nuevas
Las pruebas de la siguiente tabla están habilitadas en Android 11 Las pruebas se resumen en la tabla y se proporcionan descripciones detalladas en las siguientes secciones.
Scene | Nombre de la prueba | Primer nivel de API | Descripción |
---|---|---|---|
0 | test_vibration_restrictions |
30 | Asegúrate de que no se activen las alertas ni las vibraciones durante la captura de imágenes. |
2_a | test_jpeg_quality |
30 | Probar que las tablas de cuantización disminuyan la compresión para un aumento de JPEG calidad. |
2_d/2_e | test_num_faces |
30 | Aumentar la diversidad de edad de los rostros |
2_e | test_continuous_picture |
30 | Asegúrate de que la 3A se establezca en android.control.afAvailableModes =
CONTINUOUS_PICTURE. |
cambiar | test_scene_change |
31 | Se afirmó android.control.afSceneChange tras el cambio de escena. |
6 | test_zoom |
30 | Prueba android.control.zoomRatioRange . |
escena0/restricción_vibración_prueba
Esta prueba no requiere una escena específica, pero el dispositivo a prueba (DUT) debe estar colocadas o montadas sobre una superficie dura. Esto incluye el montaje gabinetes para pruebas de ITS-in-a-box.
Afirmaciones
- Sin vibraciones al usar la cámara
escena2_a/prueba_jpeg_calidad
Método
Las distintas partes del archivo JPEG se definen con marcadores de 2 bytes. Para ver más consulta JPEG.
La prueba extrae las matrices de cuantización de la captura JPEG. El marcador para las matrices de cuantización en la captura JPEG es la secuencia, [255, 219]. Cuando se encuentra el marcador, los siguientes dos elementos de la lista son el tamaño. El JPEG DQT tamaño del marcador suele ser [0, 132] = 256*0+132 = 132, lo que representa el tamaño de los datos DQT en la captura JPEG. Los datos incorporados tienen el siguiente formato: [255, 219, 0, 132, 0 (marcador de luma), matriz de luma de 8x8, 1 (marcador de croma), matriz de croma 8 x 8].
Aparece la 0
del marcador de matriz de luma y la 1
del marcador de croma.
son coherentes para varios dispositivos,
incluidos los teléfonos que los separan
en secciones de DQT separadas en el archivo JPEG. Las matrices de Luma tienden a tener
una mayor variedad de valores en comparación con las matrices de croma, ya que el ojo humano está más
más sensibles a la luma que el croma, y las imágenes JPEG tienen esto en cuenta.
A continuación, se muestran muestras de las matrices de luma y croma extraídas para los factores de calidad de
85 y 25 para la cámara posterior del Pixel 4 que captura una escena2_a con el equipo de prueba de ITS.
Los valores de la matriz aumentan (lo que indica un aumento en la compresión) sustancialmente para
la configuración de calidad más baja. Estas matrices solo se imprimen con la secuencia de comandos si
se aplica la marca debug=True
. Observa la mayor variación en las entradas
de luma en comparación con las de croma.
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]]
En la Figura 3, se muestran los valores promedio de la matriz para la cámara posterior del Pixel 4 en comparación con el formato JPEG. calidad. A medida que aumenta la calidad JPEG, el nivel de compresión (promedio de la matriz DQT de luma/croma) disminuye.
Figura 3: Promedios de la matriz DQT de luma/croma de la cámara posterior del Pixel 4 en comparación con los JPEG calidad
Afirmaciones
- Para [25, 45, 65, 86], +20 en calidad tiene una cuantización de reducción del 20%. promedios de matrices.
- Las cargas útiles de la matriz DQT son números cuadrados.
En la Figura 4, se muestra un ejemplo de un teléfono que no pasa la prueba. Ten en cuenta que para muy bajos
calidad alta (jpeg.quality < 50
), no se produce un aumento en la compresión en el
de cuantización.
Figura 4: Ejemplo de prueba fallida
escena2_d/e prueba_núm_rostros
Se agregaron dos nuevas escenas de detección de rostro para aumentar la diversidad facial del y comprobaciones del algoritmo de detección de rostro. Con pruebas reiteradas de varias cámaras, se espera que la cara más desafiante sea la cara más a la izquierda de la escena2_d. En particular, la modelo tiene un sombrero y una barba, algo nuevo en escenas de rostros. Las escenas nuevas se muestran en las figuras 5 y 6.
Figura 5: ambiente2_d
Figura 6: Scene2_e
Afirmaciones
num_faces == 3
escena2_e/prueba_continua_imagen
Método
La prueba test_continuous_picture
usa escena2_e, pero se puede habilitar
con cualquiera de las escenas de rostros. En esta prueba, se usan 50 fotogramas de resolución VGA
capturada con la primera configuración de la solicitud de captura android.control.afMode = 4
(CONTINUOUS_PICTURE)
.
Se espera que el sistema 3A se haya establecido al final de una captura de 50 fotogramas.
Afirmaciones
- 3A se encuentra en estado convergente al final de la captura.
cambio_de_escena/cambio_de_escena_prueba
Método
Se habilita una prueba nueva para comprobar si la marca android.control.afSceneChange
está
asistida con un cambio de escena. El cambio de escena usa la tablet
mostrar una escena de rostro y, luego, encender y apagar la tablet para crear una
un cambio de escena. La escena reutiliza escenario2_e, pero está en una escena separada debido a
el control de tablet necesario.
Además, para las pruebas manuales, el cambio de escena se puede lograr tu mano frente a la cámara.
En la Figura 7, se muestra un diagrama de tiempo de la prueba. Tiempo entre el giro de la pantalla y la captura se ajusta en función de los resultados de eventos de capturas anteriores.
Figura 7: Diagrama de tiempo de test_scene_change
Condiciones de los cambios:
- Si hay un cambio de escena y se muestra
afSceneChange == 1
, la prueba muestra un resultadoPASS
- Si hay un cambio de escena y
afSceneChange == 0
, la escena cambia Cambia 5 fotogramas antes de modo queafSceneChange
tenga más tiempo de aserción. - Si no hay un cambio de escena y se muestra
afSceneChange == 1
, la prueba muestraFAIL
- Si no hay cambios de escena y
afSceneChange == 0
, la escena cambia cambia 30 fotogramas antes para obtener un cambio de escena en la captura.
Afirmaciones
- Activar o desactivar la pantalla (escena).
- La marca
afSceneChange
está en [0, 1]. - Si no hay cambios de escena, 3A converge (funcionalmente idéntico a
test_continuous_picture
). - Si es
afSceneChange == 1
, el brillo debe cambiar en la escena. PASS
en seis intentos y los tiempos cambiaron en función de los resultados anteriores.
ambiente6/test_zoom
Método
Se requiere una nueva escena para probar android.control.zoomRatioRange
como el
las escenas establecidas no tienen atributos
lo suficientemente pequeños para ampliarse
(escenas [1, 2, 4]) o que la escena tenga muchos objetos que no se identifican fácilmente,
complica la extracción de atributos (escena 3).
En la Figura 8, se muestra la nueva escena con un conjunto regular de círculos. El array de
los círculos flexibilizan los requisitos sobre el centro del DUT/gráficos y permiten crear un círculo
siempre cerca del centro de la imagen capturada. En esta escena, una matriz de dimensiones
círculos con un borde negro cubre toda la tableta. Se reemplaza un círculo
con un cuadrado en la esquina superior derecha para mostrar la orientación. Los tamaños de los círculos
tienen un área de aproximadamente 7,500 píxeles (radius=50pixels
) para un
Sensor de 4,000 × 3,000 capturado con un campo visual (FoV) de aproximadamente 80 grados
Figura 8: Escena test_zoom
Figura 9: Zoom de cámara [0] del Pixel 4 = [1, 3.33, 5.67, 8] imágenes con un círculo encontrado
En la Figura 9, se muestran las imágenes capturadas para la cámara posterior de un Pixel 4 como el zoom aumenta de 1 a 8x en cuatro pasos. Este conjunto de imágenes se captura sin con el cuidado específico que se debe tener para centrar, excepto para usar la apertura de prueba del teléfono con dos aberturas para probar tanto la cámara frontal como la posterior. Un desplazamiento de centro se espera y se observa como la tabla de gráficos está ligeramente a la izquierda de en el centro de atención. Además, el gráfico parece suficiente para probarlo con zoom proporciones superiores a 8.
Círculos de búsqueda
La prueba incluye un método find_circle()
con findContours
que busca todos
los contornos y reduce la búsqueda de los contornos a los círculos deseados probando
lo siguiente:
- Los contornos deben tener un área superior a 10 píxeles.
- Los contornos deben tener
NUM_PTS >= 15
. - Los contornos deben tener centros negros.
- Los contornos deben parecerse a un círculo, es decir, su área es cercana al área pi*r2 del contorno.
Rango de prueba
android.control.zoomRatioRange
se divide en 10 pasos.
- [1, 7] pruebas [1, 1.67, 2.33, 3, 3.67, 4.33, 5, 5.67, 6.33 y 7]
El zoom se detiene si el círculo encontrado toca los límites de la imagen. Se realiza una verificación para asegurarnos de que se alcanzó un nivel de zoom suficiente en la prueba (10x).
Afirmaciones
- Se encontró al menos un círculo en cada parámetro de zoom.
- Se prueba 10x o un máximo de
android.control.zoomRatioRange
. - El radio del círculo se ajusta con el zoom (RTOL 10% de lo esperado).
- Desplazamiento central del círculo a partir de las escalas centrales con zoom (RTOL 10% de lo esperado).
- Se alcanzó el nivel de zoom suficiente (2x).
Aumento de las pruebas LIMITADAS de la cámara
En Android 11, las pruebas de la siguiente tabla
prueba LIMITED
cámaras. Además de las pruebas nuevas,
se actualiza la prueba scene4/test_aspect_ratio_and_crop
para habilitar las pruebas
de los dispositivos LIMITED
con el primer nivel de API 30 o superior.
Scene | Nombre de la prueba |
---|---|
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 |
La Figura 10 muestra el decodificador secreto de ITS de Android 11. anillo. El decodificador secreto El anillo muestra la configuración de prueba que restringen las pruebas individuales. El control de acceso codificados por colores para que la visualización sea más sencilla. Los elementos de control de acceso principales son los siguientes:
MANUAL_SENSOR
READ_3A
*requiereMANUAL SENSOR
COMPUTE_TARGET_EXPOSURES
*requiereMANUAL SENSOR
PER_FRAME_CONTROL
RAW
SENSORS
*REALTIME
MULTI_CAMERA
MANUAL SENSOR
, READ_3A
, COMPUTE_TARGET_EXPOSURES
y
PER_FRAME_CONTROL
controla la mayoría de las pruebas. Además, las pruebas que se
habilitados para LIMITED
dispositivos aparecen destacados en verde claro.
Figura 10: Anillo de decodificador secreto de Android 11