Die Android Camera Image Test Suite (ITS) ist Teil des Android Compatibility Test Suite (CTS) Verifier und enthält Tests, mit denen Bildinhalte überprüft werden. CTS Verifier unterstützt die ITS-Testautomatisierung mit Camera ITS-in-a-box. Die Unterstützung für manuelle Tests umfasst alle Android-Geräteformfaktoren.
ITS-in-a-box bietet folgende Vorteile:
- Automatisierung: Während des Tests ist kein menschliches Eingreifen erforderlich.
- Einfache Fehlerbehebung Die Konsistenz der Testumgebung führt zu weniger Einrichtungsfehlern und erhöht die Reproduzierbarkeit.
- Effizienz: Die Möglichkeit, einzelne Kameras/Szenen noch einmal zu testen, verbessert die Effizienz der Testausführung.
Auswahl des Rigs
ITS-in-a-box besteht aus einer Kunststoffbox, die anhand von CAD-Zeichnungen (Computer-Aided Design) lasergeschnitten wird, einem Chart-Tablet und einem zu testenden Gerät (Device Under Test, DUT). In der folgenden Tabelle werden die Funktionen und Spezifikationen der verschiedenen ITS-in-a-box-Rigs beschrieben, die verfügbar sind. Berücksichtigen Sie bei der Auswahl des geeigneten Rigs das spezifische Sichtfeld und die minimale Fokusentfernung des Prüflings. Für Kamerasysteme mit einem Sichtfeld von 60 bis 110 Grad und einem Mindestfokusabstand von 22 bis 31 cm empfehlen wir ein modulares Basis-Rig, da es sich gut anpassen lässt. Wenn das Kamerasystem ein Teleobjektiv mit einer minimalen Brennweite zwischen 31 cm und 110 cm umfasst, empfehlen wir ein modulares Basis-Rig mit einer Tele-Verlängerung, die der Brennweite des Objektivs entspricht. Tele-Verlängerungen sind in Längen von 50 cm bis 90 cm erhältlich.
Rig | Diagrammabstand | Sichtfeld der DUT-Kamera (ca.) | Funktionen |
---|---|---|---|
Modulares Basis-Rig | 22 cm | 60° – 120° |
|
Modulares Basis-Rig und Tele-Erweiterungs-Rig | 22 cm bis 110 cm* | 10° – 120° | |
WFoV ITS-in-a-box | 22 cm | 60° – 120° |
|
RFoV ITS-in-a-box | 31 cm | 60° – 90° |
|
Gen2 ITS-in-a-box | 31 cm | 60° – 90° |
|
Diagrammabstand | Prozentsatz der Szenenskalierung | Bild |
---|---|---|
31 cm | 33 % |
|
50 cm | 50 % |
|
80 cm | 100 % |
|
So beginnen Sie mit Camera ITS-in-a-box:
- Kaufen oder bauen Sie eine modulare, WFoV- oder RFoV- und Sensorfusion-ITS-in-a-Box.
- Tablet mit Camera ITS-Software konfigurieren
- Tests ausführen
- Ergebnisse vom Prüfling abrufen.
Tablet konfigurieren
In diesem Abschnitt finden Sie eine Schritt-für-Schritt-Anleitung zum Einrichten eines Tablets für die Verwendung mit den
Camera ITS-Tests im Verzeichnis
CameraITS
. In dieser Anleitung wird ein Pixel C als Beispieltablet verwendet. Informationen zu den Anforderungen und Empfehlungen für Tablets finden Sie unter Anforderungen für Tablets.
Hinweis:Die Camera ITS-Python-Scripts legen die folgenden Optionen auf dem Tablet automatisch für Sie fest:
Einstellungen > Display > Inaktivität > Nach 30 Minuten Inaktivität
Adaptive Helligkeit > AUS
- Laden Sie das Tablet auf und schalten Sie es ein. Wenn Sie aufgefordert werden, ein Konto einzurichten, überspringen Sie diesen Schritt. Für Camera ITS ist kein Konto erforderlich, das mit dem Tablet verknüpft ist.
- Aktualisieren Sie das Tablet auf Android 7.0 oder höher. Android 6.x und niedrigere Versionen unterstützen Camera ITS nicht.
- Aktivieren Sie den Entwicklermodus.
- Kehren Sie zu den Einstellungen zurück und wählen Sie Entwickleroptionen aus.
Optionen aktivieren - An
- Aktiv lassen
- USB-Debugging (damit kann der Host das Tablet im Debugging-Modus ausführen). Wenn Sie das Tablet zum ersten Mal mit dem Host verbinden, werden Sie auf dem Tablet gefragt, ob Sie USB-Debugging zulassen? Wenn auf dem Tablet die Debugging-Aufforderung nicht angezeigt wird, trennen Sie die Verbindung und stellen Sie sie dann wieder her.)
Optionen deaktivieren - Automatische Systemupdates
- Über USB installierte Apps prüfen
- Bestimmen Sie die DUT- und Diagramm-IDs, indem Sie
$ adb devices
ausführen, um die verfügbaren Geräte aufzulisten. Umdevice_id
undchart_id
zu ermitteln, schließen Sie Geräte an und trennen Sie sie wieder. Beobachten Sie dabei, welche Geräte sich verbinden und trennen. - Führen Sie drei Testläufe durch, um Hinweise und Nutzeraufforderungen zu unterdrücken, die Diagramme auf dem Tablet-Display verdecken können.
- Legen Sie das Tablet mit dem Display nach oben auf einen Tisch (bringen Sie das Tablet nicht an der Rückwand des Kartons an).
- Führen Sie den folgenden Befehl aus:
Für die Szenen 2 und 3 muss auf dem Tablet ein Bild angezeigt werden. Daher wird auf dem Tablet die Aufforderung Drive erlauben, auf Fotos, Medien und Dateien auf deinem Gerät zuzugreifen? angezeigt. Sie können diesen Prompt (und zukünftige Prompts) schließen, indem Sie auf Zulassen tippen.python tools/run_all_tests.py device=$device_id camera=0 chart=$chart_id scenes=2,3
- Führen Sie den oben genannten Befehl noch einmal aus. Auf dem Tablet wird die Frage Eine Kopie dieser Datei behalten? angezeigt und Google Drive wird vorgeschlagen. Sie können diesen Prompt löschen (und zukünftige Prompts verhindern), indem Sie auf das Drive-Symbol und dann auf Abbrechen tippen.
- Führen Sie abschließend
tools/run_all_tests.py
aus und prüfen Sie, ob sich die Szenen automatisch ändern, wenn das Skript verschiedene Szenen durchläuft. Die meisten Tests schlagen fehl, da die Kamera nicht auf das Diagramm gerichtet ist. Sie können jedoch prüfen, ob das Tablet korrekt durch die Szenen wechselt, ohne Aufforderungen oder andere Pop-ups auf dem Bildschirm anzuzeigen.
Tests ausführen
Bevor Sie ITS-in-a-box ausführen, muss Ihr Testaufbau die folgende Hardware und Software enthalten:
- Ein (1) ITS-in-a-box
- Ein (1) hochauflösendes 10‑Zoll-Tablet zur Anzeige von Szenen, S/N: 5811000011
- Ein (1) DUT, auf dem die CTS Verifier-App 7.0_8+ installiert ist. Beispiel für ein zu testendes Gerät:
- Ein (1) Pixel NOF26W für die Prüfung der Rückkamera(0), S/N: FA6BM0305016. Zum Installieren der CTS‑Prüfungs-App entpacken Sie
android-cts-verifier.zip
und führen Sie dannadb -s FA6BM0305016 install -r -g android-cts-verifier/CtsVerifier.apk
- Ein (1) Pixel NOF26W für die Prüfung der Rückkamera(0), S/N: FA6BM0305016. Zum Installieren der CTS‑Prüfungs-App entpacken Sie
Tablet-basierte Szenen ausführen
So führen Sie die Szenen 0 bis 4, 6 und „scene_change“ mit der Rückkamera aus:
cd android-cts-verifier/CameraITS
. build/envsetup.sh
python tools/run_all_tests.py camera=0
Beispiel:
Szenen wiederholen
So können Sie Szenen für eine einzelne Kamera noch einmal versuchen:
- So versuchen Sie es noch einmal mit Szenen auf einer einzelnen Kamera:
python tools/run_all_tests.py device=FA6BM0305016 camera=0 scenes=3,4
Szene 5 ausführen
Für Szene 5 ist eine spezielle Einrichtung mit einer bestimmten Beleuchtung erforderlich. Weitere Informationen finden Sie unter CameraITS.pdf
im CTS Verifier, den Sie unter Compatibility Test Suite Downloads herunterladen können.
Sie müssen Szene 5 separat (außerhalb des Felds) und mit dem TEST_BED_MANUAL-Testbed ausführen.
So führen Sie Szene 5 für die Front- und Rückkameras auf einem einzelnen Gerät aus:
python tools/run_all_tests.py device=FA6BM0305016 camera=0 scenes=5
python tools/run_all_tests.py device=FA6BM0305016 camera=1 scenes=5
Ergebnisse abrufen
Sie können die Ergebnisse während des Tests ansehen und die abgeschlossenen Ergebnisse als Bericht speichern.
- Ergebnisse ansehen So speichern Sie die Camera ITS-Ergebnisse als Bericht:
- Klicken Sie auf Bestanden und speichern Sie den Bericht.
Abbildung 3: ITS-Bericht zur Kamera - Berichte vom Gerät abrufen:
adb -s FA6BM0305016 pull /sdcard/verifierReports
- Entpacken Sie die Berichtsdatei und sehen Sie sich
test_result.xml
an.
Abbildung 4: Camera ITS-Berichte
- Klicken Sie auf Bestanden und speichern Sie den Bericht.
Tablet-Anforderungen
Für Android 15 und höher müssen Tablets, die als ITS-Diagrammanzeige verwendet werden, auf der folgenden Tablet-Zulassungsliste stehen. Eine Liste der Tablets, die das Testen von Szenen bei schwachem Licht unterstützen, finden Sie unter Unterstützte Tablets für Szenen bei schwachem Licht. Informationen zu Android 14 oder niedriger finden Sie hier.
Die Tablets auf der Zulassungsliste werden anhand der folgenden Kriterien ausgewählt:
- Displaygröße von etwa 10 Zoll mit einer Bildschirmauflösung von mehr als 1.920 × 1.200 Pixel.
- Es darf kein messbares Flimmern geben, das durch die pulsweitenmodulierte (PWM) Steuerung der Bildschirmhelligkeit verursacht wird.
- Kann von ITS-Tests gesendete ADB-Befehle ausführen und Diagrammbilder mit der angegebenen Bildschirmhelligkeit anzeigen.
Der Wert brightness
muss in config.yml
entsprechend dem Tabletmodell festgelegt werden. Wenn Sie herausfinden möchten, ob Ihr Tabletmodell einem Gerätenamen auf der Zulassungsliste entspricht, geben Sie den ro.product.device
-Wert aus, indem Sie den adb shell getprop | grep 'ro.product.device'
-ADB-Befehl ausführen.
Gerät | Displaygröße (Zoll) |
Displaygröße (Pixel) |
Abmessungen des Tablets (Zoll) |
Display Helligkeit |
Gerätename (ro.product .device) |
Tablet-Betriebssystem Version |
---|---|---|---|---|---|---|
Google Pixel C |
10.2 | 2560 × 1800 | 9,53 × 7,05 × 0,28 | 96 | Drache | Android 6 oder höher |
Honor Pad 8 |
11 | 2000 × 1200 | 25,9 × 17,2 × 0,74 cm | 192 | HNHEY-Q | Android 12 |
Huawei MediaPad M5 |
10.8 | 2560 × 1600 | 25,9 × 17,2 × 0,74 cm | 192 | HWCMR09 | Android 8 oder höher |
Lenovo Tab M10 Plus |
10.3 | 1920 × 1200 | 24,4 × 15,3 × 0,8 cm | 192 | X606F | Android 9 und höher |
Lenovo Tab P11 |
11 | 2000 × 1200 | 25,83 × 16,31 × 0,76 cm | 192 | J606F | Android 11 und höher |
Lenovo Tab P11 Gen2 |
11,5 | 2000 × 1200 | 26,9 × 16,9 × 0,7 cm | 192 | TB350FU | Android 13 und höher |
Nokia T21 |
10.4 | 2000 × 1200 | 24,7 × 15,7 × 0,8 cm | 192 | AGTA | Android 12 und höher |
Samsung Galaxy Tab A7 |
10.4 | 2000 × 1200 | 9,75 × 6,2 × 0,28 | 192 | gta4lwifi | Android 10 und höher |
Samsung Galaxy Tab A8 |
10.5 | 1920 × 1200 | 24,7 × 17,1 × 0,7 cm | 192 | gta8wifi | Android 11 und höher |
Samsung Galaxy Tab A9+ |
11 | 1920 × 1200 | 25,7 × 16,9 × 0,7 cm | 192 | gta9pwifi | Android 13 und höher |
Vivo Pad2 |
12.1 | 2800 × 1968 | 26,59 × 19,15 × 0,66 cm | 192 | DPD2221 | Android 13 und höher |
Xiaomi Pad 5 |
11 | 2560 × 1600 | 25,9 × 17,2 × 0,74 cm | 192 | nabu | Android 13 und höher |
Xiaomi Redmi Pad |
10.61 | 2000 × 1200 | 25,04 × 15,80 × 0,71 cm | 192 | yunluo | Android 14 und höher |
Xiaomi Redmi Pad SE |
11 | 2560 × 1600 | 25,6 × 16,7 × 0,7 cm | 192 | xun | Android 13 und höher |
Unterstützte Tablets für Aufnahmen bei schlechten Lichtverhältnissen
In der folgenden Tabelle sind Tablets aufgeführt, die das Testen von Szenen bei wenig Licht unterstützen. Diese Tablets können die Helligkeit erreichen, die für Szenen mit wenig Licht erforderlich ist, sodass das zu testende Gerät das Diagramm richtig belichten kann.Gerät | Gerätename (ro.product.device) | Tablet-Betriebssystemversion |
---|---|---|
Huawei MediaPad M5 |
HWCMR09 | Android 8 oder höher |
Samsung Galaxy Tab A8 | gta8wifi | Android 11 und höher |
Samsung Galaxy Tab A9+ | gta9pwifi | Android 13 und höher |
Xiaomi Pad 5 | nabu | Android 13 und höher |
Xiaomi Redmi Pad SE |
xun | Android 13 und höher |
Tablet-Anforderungen für Android 14 und niedriger
Tablets müssen eine Displaygröße von etwa 10 Zoll und eine Bildschirmauflösung von mehr als 1.920 × 1.200 Pixel haben. Das Tablet darf nicht die Pulsweitenmodulation (PWM) verwenden, um die Helligkeit einzustellen. Der Wert brightness
muss in config.yml
entsprechend dem Tabletmodell festgelegt werden.
In der folgenden Tabelle sind die empfohlenen Tablets für ITS-Tests sowie die Android-Versionen für das zu testende Gerät aufgeführt, mit denen die Tablets kompatibel sind.
Gerät | Displaygröße (Zoll) |
Displaygröße (Pixel) |
Abmessungen des Tablets (Zoll) |
Display Helligkeit |
Display mit Bit |
Unterstützte DUT-Betriebssysteme |
Unterstützte -Betriebssysteme |
---|---|---|---|---|---|---|---|
Samsung Galaxy Tab A8 |
10.5 | 1920 × 1200 | 24,7 × 16,2 × 0,7 cm | 192 | 8 | Android 13 und höher | Android 11 und höher |
Xiaomi Pad 5 |
11 | 2560 × 1600 | 25,5 × 16,6 × 0,7 cm | 1024 | 11 | Android 12 und höher | Nur Android 11 |
Lenovo Tab M10 Plus |
10.3 | 1920 × 1200 | 24,4 × 15,3 × 0,8 cm | 192 | 8 | Android 12 und höher | Android 9 und höher |
Samsung Galaxy Tab A7 |
10.4 | 2000 × 1200 | 9,75 × 6,2 × 0,28 | 192 | 8 | Android 12 und höher | Android 10 und höher |
Chuwi Hi9 Air 10.1 |
10.1 | 2560 × 1600 | 24,2 × 17,2 × 0,8 cm | 192 | 8 | Android 7 und höher | Android 8 oder höher |
Asus ZenPad 3 |
9.7 | 2048 × 1536 | 24,06 × 16,36 × 0,71 cm | 192 | 8 | Android 7 und höher | Android 6 oder höher |
Huawei MediaPad M5 |
10.8 | 2560 × 1600 | 25,9 × 17,2 × 0,74 cm | 192 | 8 | Android 7 und höher | Android 8 oder höher |
Google Pixel C |
10.2 | 2560 × 1800 | 9,53 × 7,05 × 0,28 | 96 | 8 | Android 7 und höher | Android 6 oder höher |
Sony Xperia Z4 |
10.1 | 2560 × 1600 | 10 × 6,57 × 0,24 | 192 | 8 | Android 7 und höher | Android 5 und höher |
Häufig gestellte Fragen
F1: Wie finde ich heraus, welche Testaufbauten ich für mein Gerät benötige?
Mit den
RFoV ITS-in-a-box-Tests, Revision 1 werden RFoV-Kameras für Tablet-Szenentests im Verzeichnis
CameraITS/tests
getestet. Das eingeschränkte Sichtfeld wird als 60° < FoV < 90° definiert. Bei Kameras mit einem größeren Sichtfeld sind die Lichtquellen möglicherweise auf den Bildern zu sehen oder die Diagramme decken einen zu kleinen Bereich im Sichtfeld ab, was sich auf die Testergebnisse auswirkt.
Mit der WFoV ITS-in-a-box-Revision 2 werden WFoV-Kameras für Tablet-Szenentests im Verzeichnis
CameraITS/tests
getestet. Das weite Sichtfeld wird als FoV >= 90° definiert. Der Prüfstand der Revision 2 ist funktional identisch mit dem der Revision 1, aber größer. Mit dem Testaufbau für Revision 2 können sowohl RFoV- als auch WFoV-Kameras unter Android 9 und höher getestet werden. Aufgrund der größeren Fläche ist Revision 2 ideal, wenn es sich beim zu testenden Gerät um ein Tablet handelt.
Mit dem modularen Basis-Rig
werden WFoV-Kameras für Tablet-Szenentests im Verzeichnis
CameraITS/tests
getestet. WFoV wird als FoV >= 90° definiert. Mit dem modularen Basis-Rig können sowohl RFoV- als auch WFoV-Kameras für Geräte mit Android 9 und höher getestet werden.
Außerdem wird das Tele-Verlängerungsrig unterstützt, das angebracht werden kann, um Telekameras mit einer längeren minimalen Brennweite zu testen. Das modulare Basis-Rig ist funktional identisch mit dem WFoV ITS-in-a-box, aber kleiner.
Mit der
Sensor-Fusion-Box werden der Timing-Offset der Kamera/des Gyroskops und die Frame-Synchronisierung von Multikamerasystemen mit Tests in scenes=sensor_fusion
getestet. Für das Feature-Flag REALTIME
ist ein Kamera-/Gyroskop-Zeitversatz von weniger als 1 ms erforderlich.
Geräte mit mehreren Kameras können mit einem einzelnen Aufbau für statische ITS-Tests und mit einem Sensor-Fusion-Aufbau getestet werden, wenn die Kamera das Feature-Flag REALTIME
hat.
In der Tabelle unten finden Sie eine Reihe von Beispielkonfigurationen.
Minimaler Fokusabstand | Sichtfelder von Kameras | Echtzeit? | Empfohlene Rigs | Hinweise |
---|---|---|---|---|
31 cm – 22 cm | 24 °C | Nein | Modulare Basis, WFoV oder RFoV | Android 7.0 oder höher |
31 cm – 22 cm | 24 °C | Ja | Modulare Basis, WFoV oder RFoV und Sensorfusion | Android 9 oder höher |
22 cm oder weniger | 24 °C + 35 °C | Ja | Modulare Basis oder WFoV und Sensorfusion | Android 9 oder höher |
110 cm – 22 cm | 24 °C + 35 °C + 20 °C | Ja | Modulare Basis und Tele-Erweiterung sowie Sensorfusion | Android 9 oder höher |
110 cm – 22 cm | 24 °C + 35 °C + 20 °C | Ja | Modulare Basis, Tele-Erweiterung, Sensorfusion und Gen2-Rig | |
22 cm oder weniger | 75° + 95° Tablet | Nein | WFoV | Android 9 oder höher |
F2: Wie lege ich fest, welches Test-Rig verwendet wird?
Damit das richtige Test-Rig verwendet wird, muss der Parameter für den Diagrammabstand korrekt sein. Der Testaufbau für Revision 1 (RFoV) hat einen Abstand von 31 cm zum Chart und der Aufbau für Revision 2 (WFoV) einen Abstand von 22 cm. Standardmäßig ist der Abstand des Diagramms auf 31 cm eingestellt.
Android 10 zu Android 11
Wenn Sie das richtige Test-Rig in Android 10 und 11 identifizieren möchten, fügen Sie das Flagdist
in der Befehlszeile hinzu. Der Standardwert für dist
ist 31
. Führen Sie den folgenden Befehl aus, um den Parameter chart_distance
zu ändern.
python tools/run_all_tests.py ... chart=# dist=22
Android 12 und höher
Um das richtige Testgerät in Android 12 und höher zu ermitteln, können Sie die Datei „config.yml“ bearbeiten, um den Parameterchart_distance
zu ändern.
edit config.yml chart_distance: 31.0 → chart_distance: 22.0
F3: Wie kann ich die Helligkeit des Tablets anpassen?
Die Helligkeit des Tablets ist standardmäßig auf 96 eingestellt.
So ändern Sie die Helligkeit auf Tablets mit Android 7.0 bis Android 9:
edit tools/wake_up_screen.py DISPLAY_LEVEL=96 → DISPLAY_LEVEL=192
Wenn Sie die Helligkeit auf Tablets mit Android 10 bis 11 ändern möchten, können Sie den Wert in der Befehlszeile ändern, indem Sie das Flag brightness
hinzufügen:
python tools/run_all_tests.py device=# camera=# chart=# brightness=192
So ändern Sie die Helligkeit auf Tablets mit Android 12 und höher:
edit config.yml brightness: 96 → brightness: 192
F4: Wie führe ich das Debugging für einen einzelnen Test durch?
Tests können einzeln zu Debugging-Zwecken ausgeführt werden. Die Ergebnisse werden jedoch nur an CtsVerifier.apk
gemeldet, wenn die gesamte Szene ausgeführt wird.
So führst du eine einzelne Szene unter Android 11 und niedriger aus:
- Laden Sie eine Szene, indem Sie das Flag
scenes
intools/run_all_tests.py
hinzufügen:python tools/run_all_tests.py device=# camera=# chart=# scenes=#
-
Drücken Sie Strg+C, um die Tests zu beenden, nachdem die Szene als in
stdout
geladen protokolliert wurde.Wenn die richtige Szene bereits auf dem Display angezeigt wird, aktiviere das Display:
python tools/wake_up_screen.py screen=#
-
Führen Sie einen einzelnen Test aus.
python tests/scene#/test_*.py device=# camera=#
Diagramme werden dann im lokalen Verzeichnis generiert und
stdout
undstderr
werden auf dem Bildschirm ausgegeben.Wenn Sie weitere Informationen für das Debugging benötigen, fügen Sie dem Skript
print
-Anweisungen hinzu. Wenn Sie die Testausgabe für das Debugging erhöhen möchten, fügen Sie das Flagdebug=True
hinzu.python tests/scene#/test_*.py device=# camera=# debug=True
Die Ergebnisse werden auf dem lokalen Bildschirm ausgegeben und Bilder werden im lokalen Verzeichnis anstelle des generierten Verzeichnisses /tmp/tmp###
gespeichert, wenn tools/run_all_tests.py
ausgeführt wird.
So führen Sie eine einzelne Szene in Android 12 und höher aus:
-
Bearbeiten Sie die Datei
config.yml
.edit config.yml camera: <camera-id> → camera: 0 scene: <scene-name> → scene: scene1_1
-
Führen Sie den einzelnen Test aus.
python tools/run_all_tests.py -c config.yml --test_bed TEST_BED_TABLET_SCENES
Die Ergebnisse werden im Verzeichnis /tmp/logs/mobly/TEST_BED_TABLET_SCENES/
nach Laufzeit sortiert ausgegeben.
F5: Warum muss ich fehlgeschlagene Tests als gesamte Szene ausführen, anstatt sie einzeln noch einmal auszuführen?
Tests können zu Debugging-Zwecken einzeln ausgeführt werden. Die Ergebnisse werden jedoch erst an CtsVerifier.apk
gemeldet, wenn die gesamte Szene ausgeführt wird.
Camera ITS sorgt dafür, dass Drittanbieter-Apps eine kompatible Kameraschnittstelle haben. Ähnlich wie bei einem Unittest wird bei jedem Test eine einzelne Spezifikation der Kamera getestet. Um unzuverlässiges Verhalten zu erkennen, müssen diese Tests als Gruppe für eine ganze Szene bestanden werden. Ein einzelner unzuverlässiger Test kann beispielsweise bei einer Wiederholung einer ganzen Szene bestanden werden, aber es ist schwierig, mehrere unzuverlässige Tests zu bestehen.
Ein extremes Beispiel: In einer Szene gibt es 10 Tests, die jeweils mit einer Wahrscheinlichkeit von 50% PASS
zurückgeben. Wenn jeder Test einzeln ausgeführt wird, ist die Wahrscheinlichkeit hoch, dass ein Bediener die Kamera so einstellen kann, dass sie den Camera ITS-Test besteht. Wenn die Tests jedoch als Szene zusammengefasst ausgeführt werden, liegt die Wahrscheinlichkeit, dass die Szene erfolgreich ist, nur bei 0,1 %.
F6: Wie führe ich eine einzelne Szene aus oder ordne die Szenen neu an?
Standardmäßig werden mit dem Skript tools/run_all_tests.py
alle Szenen in der Reihenfolge ausgeführt. Szenen können jedoch einzeln oder in einer bestimmten Reihenfolge ausgeführt und an CtsVerifier.apk
gemeldet werden.
So führen Sie eine einzelne Szene (z. B. Szene 2) oder mehrere Szenen in einer bestimmten Reihenfolge unter Android 11 oder niedriger aus:
python tools/run_all_tests.py device=# camera=# chart=# scenes=2
python tools/run_all_tests.py device=# camera=# chart=# scenes=3,2
So führst du eine einzelne Szene oder mehrere Szenen in einer bestimmten Reihenfolge unter Android 12 und höher aus:
python tools/run_all_tests.py scenes=2
python tools/run_all_tests.py scenes=3,2
Die zusätzlichen Parameter werden in der Datei config.yml
festgelegt.
Q7: Eine Reihe von Tests für Szene 1 schlagen bei der Einrichtung mit dem Tablet fehl, werden aber mit einem Papierdiagramm bestanden. Woran liegt das?
Das Tablet und die Testumgebung müssen die folgenden Spezifikationen erfüllen.
Tablet-Spezifikationen
Das Tablet muss die folgenden Spezifikationen erfüllen:
- Displaygröße (Zoll): 10 Zoll
- Displaygröße (Pixel): größer als 1.920 × 1.200 Pixel
Weitere Informationen finden Sie unter Anforderungen an Tablets.
Helligkeit des Tablets
Wenn die Helligkeit des Tablet-Displays zu niedrig ist, werden bei Tests möglicherweise keine korrekten Ergebnisse erzielt.
Weitere Informationen findest du unter Wie steuere ich die Helligkeit des Tablets?
Beleuchtungsstärke der Box (Luxmeter erforderlich)
Der Ziel-Luxwert beim Öffnen des Tablets muss zwischen 100 und 300 liegen.
Wenn der Lux-Wert zu hoch ist, gibt scene1/test_param_flash_mode.py
den Wert FAIL
zurück. Wenn der Lux-Wert zu niedrig ist, schlagen mehrere Tests fehl.
F8: Wie führe ich das Debugging von Sensorfusionstests durch?
Prüfen Sie, ob Sie Mitglied einer
dialout
-Gruppe sind.groups | egrep ‘dialout'
Prüfen Sie, ob der Sensor-Fusion-Controller angeschlossen ist, indem Sie feststellen, ob Microchip Technology mit dem USB-Anschluss verbunden ist.
lsusb … Bus 003 Device 004: ID 04d8:fc73 Microchip Technology, Inc. …
Führen Sie den Test mehrmals aus, um eine Verteilung der Testläufe zu erhalten. Verwenden Sie dazu die folgenden Befehle.
Android 11 oder niedriger:
python tools/run_sensor_fusion_box.py device=A camera=0 num_runs=10 rotator=default
In Android 12 und höher:
python tools/run_sensor_fusion_box.py num_runs=10
Die zusätzlichen Parameter werden in der Datei
config.yml
festgelegt.Die Ausgaben der Ausführung befinden sich im Ordner
/tmp/tmp###
, der unter densensor_fusion_#
-Ordnern erstellt wurde.#
ist die Ausführungsnummer. Häufige Gründe für einen Fehler sind:- Das Smartphone ist nicht richtig zentriert.
- Im Bild werden nicht genügend Merkmale gefunden (häufig ein Problem mit dem Sichtfeld oder der Beleuchtung).
- Der zurückgegebene
FAIL
ist gültig und der Timing-Offset zwischen der Kamera und dem Gyroskop muss korrigiert werden.
F9: Welche Informationen sollte ich angeben, wenn ich einen Testfehler melde?
Wenn Sie einen Testfehler melden, fügen Sie die generierten Dateien und Bilder für den Test bei.
- Wenn Sie den Test über
tools/run_all_tests.py
ausgeführt haben, hängen Sie dem Fehlerbericht ein gezipptes/tmp/
-Verzeichnis an. - Wenn Sie den Test einzeln ausgeführt haben, hängen Sie alle Bildschirmausgaben und generierten Bilder an den Fehlerbericht an.
Fügen Sie auch einen Fehlerbericht bei. Wenn der betreffende Test fehlschlägt, verwenden Sie den folgenden Befehl, um einen Fehlerbericht zu erstellen und die generierte ZIP-Datei an den Fehler anzuhängen.
adb -s device_id bugreport
Q10: Wie führe ich eine sensor_fusion-Testszene mit einer Kamera aus, die einen Mindestfokusabstand hat, der bei einem Diagrammabstand von 25 cm zu unscharfen Bildern führt?
Wenn Ihre Kamera nicht auf eine Entfernung von 25 cm fokussieren kann, entfernen Sie die Montageplatte des Testbilds von der Sensor-Fusion-Box. Platzieren Sie das Diagramm in einer Entfernung, in der das Prüfling fokussieren kann, und ändern Sie chart_distance
in config.yml
in den gemessenen Abstand zwischen dem Prüfling und dem Diagramm. Abbildung 5 zeigt ein Beispiel dafür, wie der Abstand zwischen den Linien in dieser Situation gemessen wird.
edit config.yml chart_distance: 25 → chart_distance: DISTANCE_BETWEEN_DUT_AND_CHART
Q11: Wie führe ich Tablet-Testszenen für eine Kamera mit einer minimalen Brennweite durch, die bei einem Abstand von 31 cm zum Testchart unscharfe Bilder erzeugt?
Wenn Ihre Kamera bei einem Test in 31 cm Entfernung (der Tiefe des RFoV-Testaufbaus) keine scharfen Bilder liefert, montieren Sie sie in einem Abstand vor dem Aufbau, sodass die Testtafel etwa 60% des Sichtfelds der Kamera ausfüllt und schärfere Bilder entstehen. Dieser Abstand kann geringer sein als die minimale Brennweite der Kamera. Lassen Sie die chart_distance
in config.yml
bei 31 cm. Die Diagrammskalierung auf dem Tablet wird durch das Sichtfeld der Kamera bestimmt, wie in der folgenden Tabelle dargestellt:
Kamera-Sichtfeld | Skalierungsfaktor für Diagramme |
---|---|
60 > FoV > 40 | 0,67-fach |
40 > FoV > 25 | 0,5-fach |
Sichtfeld < 25 | 0,33‑fach |
Q12: Welche Tests werden mit der logischen Multi-Kamera-API auf welchen Kameras ausgeführt?
Wenn Ihre Kamera
REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
verwendet, werden alle unterstützten ITS-Tests auf der logischen Kamera der obersten Ebene ausgeführt. Eine Teilmenge der ITS-Tests wird auf den physischen Unterkameras ausgeführt. Diese Tests sind in tools/run_all_tests.py
unter der Konstanten SUB_CAMERA_TESTS
aufgeführt.