Versionshinweise für die Android 11 Camera Image Test Suite

Auf dieser Seite werden die Änderungen an Kamera-Bild-Test-Suite (ITS) für Android 11. Es gibt folgende Änderungen: Kategorien:

Hardwareänderungen

Android 11 bringt einige Hardwareänderungen Kosten senken und die Verfügbarkeit erhöhen. Diese Änderungen fallen in folgende Kategorien: Kategorien:

Weiterer Hersteller

Rahi Systems ist qualifiziert, zusätzlich zu unseren Lieferunternehmen, MYWAY-Design. Unternehmensinformationen für qualifizierte Anbieter sind folgt:

Einheitliche Fertigungsmethoden

Die rev1 reguläres Sichtfeld (RFoV) ITS-in-a-box Das Testgehäuse wurde umgestaltet, um die Herstellungsverfahren des WFoV-Feld und Sensor Fusion Box Gehäuse testen. Die Funktionalität ist identisch und der Einfachheit halber wird als rev1a bezeichnet. Das neue Design ermöglicht es Herstellern, eine Kunststofftyp für die Herstellung aller Testgehäuse. Außerdem ist das Tablet Die Halterung und die Halterungen wurden neu gestaltet, um größere Vielfalt an Tablets zu kompensieren. und LED-Lichtbalken.

Die neuesten Beschreibungen und mechanischen Zeichnungen kannst du hier herunterladen: RFoV-Box (rev1a) und WFoV-Box (Version 2.9):

Mehr Tablet-Optionen

Tablets wie das Samsung Galaxy Tab A 10.1 und das Chuwi Hi9 Air 10.1 sind zur Liste der empfohlenen Tablets hinzugefügt. Es ist wichtig, dass das Tablet keine Pulsbreitenmodulation (PWM) zur Anpassung der Bildschirmhelligkeit, um Banding zu vermeiden aufgenommenen Bildern.

Die neuesten Informationen zu empfohlenen Tablets findest du unter Anforderungen an Tablets

Weniger Öffnen des Tablets

Damit das Galaxy Tab A 10.1 genutzt werden kann, wird das Öffnen des Tablets etwas reduziert. sowohl für das RFoV-Testgehäuse (rev1a) als auch für das WFoV-Testgehäuse (rev2) hoch. Die Überarbeitungen, die diese Änderungen widerspiegeln, sind rev1a.1 und rev2.9. Für diese Zeichnungen Siehe RFoV-Box (rev1a) und WFoV-Box (Version 2.9):

Neuer Sensor Fusion-Controller

Die Hardware des Sensor Fusion-Controllers wurde neu gestaltet, um Herstellung. Der neue Controller basiert auf Arduino und Schild der Routing-Platine, die oben auf dem Arduino angebracht wird. Abbildung 1 zeigt die und Abbildung 2 zeigt die mechanische Zeichnung des Gehäuses. Das neue Steuerung wird über eine einzelne 5-V-Stromversorgung betrieben, die den Motor mit Strom versorgt . Die Elektronik wird vollständig über den USB-Anschluss gesteuert. Das separate Netzteil ermöglicht eine vollständige Isolierung Elektronik und dem Servomotor an. Außerdem kann ein einzelner Controller bis zu sechs Servomotoren.

Draufsicht auf Arduino

Abbildung 1: Draufsicht auf das Arduino-Schild

Gehäusedesign

Abbildung 2: Gehäusedesign

Android 11 ist abwärtskompatibel mit Controller. So rufen Sie Tests mit dem Arduino-basierten Controller auf:

python tools/run_all_tests.py device=# camera=# rot_rig=arduino:1 scenes=sensor_fusion

Erste API-Ebene

In Android 10 sind ITS-Tests als MANDATED gekennzeichnet. und NOT_YET_MANDATED. Einführung als Android 10 müssen alle MANDATED-Tests bestanden werden. Die NOT_YET_MANDATED-Tests können fehlschlagen werden für die CTS-Prüfungsberichte jedoch als PASS tabellarisch. Die MANDATED-Tests gilt auch für aktualisierte Geräte. Diese Anforderung für ein Upgrade Geräte, die alle MANDATED Tests bestanden haben, zu Verzögerungen bei der MANDATED-Tests, da ältere Geräte die Tests ebenfalls bestehen müssen.

In Android 11 werden MANDATED-Tests durch das ersten API-Level-Flag aus den Phone-Eigenschaften. Für Geräte mit Upgrade auf Android 11, Tests werden als NOT_YET_MANDATED ausgeführt Tests, d. h., ein Test kann fehlschlagen, aber als PASS in CtsVerifier.apk

Beispiel:

  • In Android 11: test_channel_saturation-Test ist MANDATED für Geräte mit einem ersten API-Level größer als 29.
  • In Android 10: test_channel_saturation-Test ist MANDATED für alle Geräte.

Szenenbeleuchtung wird überprüft

In Android 11 wird die Szenenbeleuchtung durch die Helligkeit in den Ecken der Szene analysieren. Alle manuellen Szenen sind wurden auf Beleuchtung geprüft. Tablet-basierte Szenen werden für RHF-Kameras geprüft. und WFoV-Kameras auf dem WFoV-Testgeländer. Wenn die Lichtstärke unzureichend ist, wird ein Fehler gemeldet und der Test schlägt fehl.

Änderungen am Szenennamen

In Android 10 macht Szene 1 den Großteil der und einen großen Prozentsatz der Gesamttestzeit. Wenn ein Test in Szene 1 vorliegt schlägt er fehl, muss die gesamte Szene erneut ausgeführt werden. Die gesamte Szene wird wiederholt, reduziert die Zahl der Grenztests. In Android 11 Wiederholungszeiten werden reduziert, indem Szene 1 in zwei Szenen aufgeteilt wird: Scene1_1 und Szene1_2.

In der folgenden Tabelle sind die Testzeiten für die Pixel 4-Rückkamera tabellarisch dargestellt für verschiedene Szenen. Die Anzahl der Tests wird aufgeteilt, um die Testzeit auszugleichen. um die Anzahl der Tests nicht auszugleichen.

Außerdem wird der Name bereinigt. Szene 2 ist mit Buchstaben geteilt und Szene 1 mit Zahlen geteilt ist. Die Nomenklatur für die verschiedenen Erweiterungen lautet wie folgt:

  • Szenen mit demselben Diagramm, aber unterschiedlichen Tests: *_1,2,3
  • Szenen mit unterschiedlichen Diagrammen, aber denselben Tests: *_a,b,c
Ambiente-Option Anzahl der Tests Pixel 4-Laufzeit (Min:Sek.)
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

Änderungen testen

Tests wurden auf die erste API-Ebene aktualisiert

In Android 11 sind die Tests in der folgenden Tabelle wurde aktualisiert, um das Flag der ersten API-Ebene zu verwenden. Für alle diese Tests wird ein erstes API-Level von 29 mit Ausnahme des test_tonemap_curve-Tests, bei dem das erste API-Level 30.

Ambiente-Option Test name Erste API-Ebene Beschreibung
0 test_tonemap_curve 30 Sicherstellen, dass die Pipeline korrekte Farbausgaben mit linearer Tonnemap und idealem Ergebnis hat Bildeingabe (abhängig von test_test_patterns).
1 test_ae_precapture_trigger 29 Teste den AE-Zustandsautomaten, wenn du den Auslöser für die Vorabaufnahme verwendest. Mit AE sicherstellen deaktivierter Trigger für die Vorerfassung keine Auswirkungen.
test_channel_saturation 29 RGB-Kanäle sollten mit ähnlichen Werten gesättigt werden, um Färbungen zu vermeiden gesättigte Regionen gesättigt sind.
2_a/b/c test_num_faces 29 Größere Altersvielfalt bei Gesichtern

Tests mit Änderungen

Die Tests in der folgenden Tabelle wurden in Android aktualisiert. 11. Die Änderungen werden beschrieben in der Spalte Beschreibung der Änderungen.

Ambiente-Option Test name Erste API-Ebene Beschreibung der Änderungen
1 test_burst_sameness_manual 30 Reduzieren Sie die Toleranz auf 2%.
4 test_aspect_ratio_and_crop 30 Zur Ausführung auf LIMITED Geräten ändern.
test_multi_camera_alignment 30 Sie können die Kameras einzeln durchgehen, wenn Aufnahmen mit mehreren Kameras nicht unterstützt werden. Überarbeiten Sie die Logik für die Kameraauswahl, um drei und vier Kameras zu berücksichtigen. Mono-, Tiefen- und Infrarotkameras überspringen.

Neue Tests

Die Tests in der folgenden Tabelle sind aktiviert in Android 11 Die Tests sind in der Tabelle zusammengefasst In den folgenden Abschnitten finden Sie eine detaillierte Beschreibung.

Ambiente-Option Test name Erste API-Ebene Beschreibung
0 test_vibration_restrictions 30 Achten Sie darauf, dass Warnungen und Vibrationen bei Bildaufnahmen nicht aktiviert sind.
2_a test_jpeg_quality 30 Testen Sie, ob Quantisierungstabellen die Komprimierung für mehr JPEG-Dateien verringern die Qualität zu verbessern.
2_d/2_e test_num_faces 30 Für mehr Vielfalt bei Gesichtern
2_e test_continuous_picture 30 3A muss sich in android.control.afAvailableModes = CONTINUOUS_PICTURE. angleichen
ändern test_scene_change 31 android.control.afSceneChange bei Szenenwechsel durchgesetzt.
6 test_zoom 30 android.control.zoomRatioRange testen.

Szene0/test_vibration_restriction

Für diesen Test ist keine bestimmte Szene erforderlich, aber das zu testende Gerät auf einer harten Oberfläche platziert oder auf einer harten Oberfläche montiert sind. Dazu gehört die Montage am ITS-in-a-box-Testgehäuse

Assertions

  • Keine Vibrationen während der Kameranutzung

Szene2_a/JPEG-Qualität_testen

Method

Die verschiedenen Teile der JPEG-Datei werden durch 2-Byte-Markierungen definiert. Weitere Informationen Weitere Informationen finden Sie unter JPEG.

Der Test extrahiert die Quantisierungsmatrizes aus der JPEG-Aufnahme. Markierung für die Quantisierungsmatrizen in der JPEG-Aufnahme ist die Sequenz [255, 219]. Wenn die Markierung gefunden wird, geben die nächsten beiden Listenelemente die Größe an. JPEG DQT Die Größenmarkierung ist normalerweise [0, 132] = 256*0+132 = 132, was die Größe der die DQT-Daten in der JPEG-Aufnahme. Die eingebetteten Daten haben folgendes Format: [255, 219, 0, 132, 0 (Luma-Marker), 8x8-Luma-Matrix, 1 (Chroma-Marker), 8x8-Chroma Matrix] verwendet werden.

0 für den Luma-Matrixmarker und 1 für den Chroma Marker werden angezeigt. einheitlich für eine Reihe von Geräten, einschließlich Smartphones, die die beiden in separate DQT-Abschnitte in der JPEG-Datei aufgeteilt. Luma-Matrizen haben in der Regel eine höhere Vielfalt an Werten im Vergleich zu den Chromamatrizen, da das menschliche Auge als auf Chroma-Bilder und JPEG-Bilder.

Die extrahierten Luma- und Chromamatrizen sind unten für die Qualitätsfaktoren von 85 und 25 für die Rückkamera von Pixel 4, die Scene2_a mit dem ITS-Teststand aufnimmt. Die Matrixwerte erhöhen sich (was auf eine erhöhte Komprimierung hindeutet) für Qualitätseinstellung auswählen. Diese Matrizen werden nur dann mit dem Skript gedruckt, wenn wird das Flag debug=True angewendet. Beachten Sie die größere Abweichung bei den Einträgen im Luma-Matrizen im Vergleich zu den Chroma-Matrizen.

    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]]

Abbildung 3 zeigt die durchschnittlichen Matrixwerte für die Pixel 4-Rückkamera im Vergleich zu JPEG. die Qualität zu verbessern. Bei erhöhter JPEG-Qualität wird die (Durchschnitt der Luma/Chroma-DQT-Matrix) nimmt ab.

Durchschnittliche Matrixwerte von Pixel 4

Abbildung 3: Rückkamera von Pixel 4 (Luma/Chroma DQT Matrix) im Vergleich zu JPEG Qualität

Assertions

  • Bei [25, 45, 65, 86] hat eine Qualität von +20 eine Reduzierung der Quantisierung um 20 %. Matrixmittelwertes.
  • Nutzlasten der DQT-Matrix sind Quadratzahlen.

Abbildung 4 zeigt ein Beispiel für ein Smartphone, das den Test nicht besteht. Bei sehr niedrigen hochwertigen Bildern (jpeg.quality < 50) werden nicht stärker komprimiert. Quantisierungsmatrix.

Beispiel für fehlgeschlagenen Test

Abbildung 4: Beispiel für fehlgeschlagenen Test

szene2_d/e test_anzahl_gesichter

Es werden zwei neue Gesichtserkennungsszenen hinzugefügt, um die Vielfalt der Gesichter auf der Gesichtserkennungsalgorithmus prüft. Durch wiederholtes Testen einer Reihe von Kameras das herausforderndste Gesicht wird in Scene2_d erwartet. Vor allem hat das Modell einen Hut und einen Bart. die Gesichtsszenen. Die neuen Szenen sind in den Abbildungen 5 und 6 zu sehen.

Szene2_d

Abbildung 5. Scene2_d

Szene2_e

Abbildung 6: Scene2_e

Assertions

  • num_faces == 3

Szene2_e/test_fortlaufendes_Bild

Method

Der Test test_continuous_picture nutzt Scene2_e, kann aber aktiviert werden mit den Gesichtern. In diesem Test sind 50 Frames mit VGA-Auflösung mit der ersten Einstellung android.control.afMode = 4 (CONTINUOUS_PICTURE) erfasst.

Es wird erwartet, dass sich das 3A-System am Ende einer Aufnahme mit 50 Frames eingerichtet hat.

Assertions

  • 3A ist am Ende der Aufnahme konvergiert.

Szenenwechsel/Testszenenänderung

Method

Es wird ein neuer Test aktiviert, um zu prüfen, ob das Flag android.control.afSceneChange durch einen Szenenwechsel geltend gemacht. Für den Szenenwechsel wird das Tablet verwendet eine Gesichterszene zu zeigen und dann das Tablet ein- und auszuschalten, um eine Szenenwechsel Die Szene verwendet Scene2_e, befindet sich aber in einer separaten Szene, die erforderliche Tablet-Steuerung.

Für manuelle Tests kann der Szenenwechsel auch durch eine Handbewegung Ihre Hand vor die Kamera halten.

Abbildung 7 zeigt ein Zeitdiagramm des Tests. Timing zwischen Bildschirmdrehung aus und die Erfassung wird basierend auf den Ereignisergebnissen früherer Aufnahmen angepasst.

Timing-Diagramm für test_scene_change

Abbildung 7: Timing-Diagramm für test_scene_change

Bedingungen ändern:

  • Wenn es einen Szenenwechsel gibt und afSceneChange == 1, gibt der Test PASS.
  • Bei einem Szenenwechsel und afSceneChange == 0 ändert sich die Szene verschiebt 5 Frames früher, um afSceneChange mehr Zeit zu geben, etwas zu tun.
  • Wenn es keinen Szenenwechsel gibt und afSceneChange == 1, gibt der Test FAIL.
  • Wenn es keinen Szenenwechsel gibt und afSceneChange == 0, ändert sich die Szene verschiebt 30 Frames früher, um Szenenwechsel bei der Aufnahme zu erfassen.

Assertions

  • Ein-/Aus-Schaltflächen für Bildschirm/Szene
  • Das Flag afSceneChange befindet sich in [0, 1].
  • Wenn kein Szenenwechsel vorhanden ist, konvergiert 3A (funktional identisch mit test_continuous_picture.
  • Wenn afSceneChange == 1, muss sich die Helligkeit im Bild ändern.
  • PASS innerhalb von sechs Versuchen mit geändertem Timing basierend auf vorherigen Ergebnissen.

Szene 6/Test-Zoom

Method

Zum Testen von android.control.zoomRatioRange ist eine neue Szene erforderlich: entweder ist die Funktion bei etablierten Szenen nicht klein genug, um vergrößert zu werden. (Szenen [1, 2, 4]) oder viele Objekte enthält, die nicht leicht zu erkennen sind, die die Extraktion von Features erschwert (Szene 3).

Abbildung 8 zeigt die neue Szene mit einer regelmäßigen Anordnung von Kreisen. Das Array von Mit Kreisen werden die Anforderungen an das Zentrieren von DUT/Diagrammen lockerer und es können Kreise immer in der Mitte des Bilds. In dieser Szene wird ein Array von 9 x 5 schwarze Kreise über das gesamte Tablet. Ein Kreis wird ersetzt. mit einem Quadrat oben rechts, um die Ausrichtung anzuzeigen. Die Kreisgrößen eine Funktion mit einer Fläche von etwa 7.500 Pixeln (radius=50pixels) für eine 4.000 × 3.000 Pixel aufgenommener Sensor, der mit einem Sichtfeld von etwa 80 Grad aufgenommen wurde.

Test-Zoom-Szene

Abbildung 8: Szene "test_zoom"

Kreis gefunden, das Pixel 4 gefunden hat

Abbildung 9: Pixel 4 cam[0] zoom = [1, 3,33, 5,67, 8] Bilder mit gefundenem Kreis

Abbildung 9 zeigt aufgenommene Bilder für die Rückkamera von Pixel 4 als Zoomfaktor. steigt in vier Schritten von 1 auf 8x an. Diese Bilder werden ohne ganz besondere Vorsicht walten lassen, außer bei der Verwendung der Testöffnung zwei Öffnungen, damit sowohl die Front- als auch die Rückkamera getestet werden können. Ein Versatz von Mittelpunkt wird erwartet und ist zu sehen, da die Tabellenreihe etwas links vom Diagramm verläuft. in der Mitte. Außerdem ist das Diagramm ausreichend, um den Zoom zu testen. höhere Verhältnisse als 8x.

Kreise werden gesucht...

Der Test enthält eine find_circle()-Methode mit findContours, die alle Konturen erstellt und die Konturensuche auf die gewünschten Kreise eingegrenzt wird. Folgendes:

  • Die Fläche von Konturen muss größer als 10 Pixel sein.
  • Konturen müssen das NUM_PTS >= 15-Zeichen haben.
  • Konturen müssen schwarze Mitte haben.
  • Konturen müssen kreisförmig sein, das heißt, ihre Fläche ist in der Nähe des pi*r2-Bereichs der Kontur.

Testbereich

android.control.zoomRatioRange wird in 10 Schritte unterteilt.

  • [1, 7] Tests [1, 1,67, 2,33, 3, 3,67, 4,33, 5, 5,67, 6,33, 7]

Wenn der gefundene Kreis die Bildbegrenzungen berührt, wird das Zoomen angehalten. Es wird geprüft, ob im Test eine ausreichende Zoomstufe erreicht wurde. (10x)

Assertions

  • Bei jeder Zoomeinstellung wird mindestens ein Kreis gefunden.
  • Es wird 10-mal oder maximal android.control.zoomRatioRange getestet.
  • Der Kreisradius wird mit Zoom skaliert (RTOL 10% vom erwarteten Wert).
  • Kreismittelversatz zur Mitte mit Zoom (RTOL 10% vom erwarteten Wert).
  • Die erforderliche Zoomstufe ist erreicht (2x).

Mehr Kameratests für LIMITED

In Android 11 werden die Tests in der folgenden Tabelle LIMITED Kameras testen. Zusätzlich zu den neuen Tests Der scene4/test_aspect_ratio_and_crop-Test wurde aktualisiert, um Tests zu ermöglichen von LIMITED Geräten mit einem ersten API-Level von 30 oder höher.

Ambiente-Option Test name
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

Abbildung 10 zeigt den geheimen ITS-Decodierer von Android 11“ Klingelton Der geheime Decoder Ring zeigt an, über welche Testeinstellungen die einzelnen Tests gesteuert sind. Das Gating ist zur besseren Lesbarkeit farblich gekennzeichnet. Die wichtigsten Elemente für das Gating sind:

  • MANUAL_SENSOR
  • READ_3A *MANUAL SENSOR erforderlich
  • COMPUTE_TARGET_EXPOSURES *MANUAL SENSOR erforderlich
  • PER_FRAME_CONTROL
  • RAW
  • SENSORS *REALTIME
  • MULTI_CAMERA

MANUAL SENSOR, READ_3A, COMPUTE_TARGET_EXPOSURES und PER_FRAME_CONTROL für die meisten Tests. Außerdem sind Tests, die Geräte, die für LIMITED aktiviert sind, werden hellgrün hervorgehoben.

geheimer Decoderring

Abbildung 10. Geheimer Decoderring für Android 11