Die Android Camera Image Test Suite (ITS) ist Teil des CTS Verifier (Compatibility Test Suite) und umfasst Tests zur Überprüfung von Bildinhalten. CTS Verifier unterstützt die ITS-Testautomatisierung mit Kamera-ITS-in-a-Box. Manuelle Tests sind für alle Formfaktoren von Android-Geräten verfügbar.
ITS-in-a-Box bietet folgende Vorteile:
- Automatisierung. Während des Tests ist kein manuelles Eingreifen erforderlich.
- Einfache Fehlerbehebung Eine einheitliche Testumgebung führt zu weniger Einrichtungsfehlern und erhöht die Reproduzierbarkeit.
- Effizienz. Die Möglichkeit, für einzelne Kameras/Szenen noch einmal zu versuchen, verbessert die Effizienz der Testausführung.
Erste Schritte
„ITS-in-a-box“ besteht aus einer Plastikbox, die aus CAD-Zeichnungen (Computer-Aided Design) mit Laser geschnitten wird, einem Diagrammtablett 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.
Rig | Strecken im Diagramm | Bildwinkelbereich der Kamera des DUT (ca.) | Funktionen |
---|---|---|---|
Modulare Basishalterung | 22 cm | 60°–120° |
|
Modulares Basis-Rig und Tele-Erweiterungs-Rig | 22–100 cm* | 10°–120° | |
WFoV ITS-in-a-Box | 22 cm | 60°–120° |
|
RFoV ITS-in-a-Box | 31 cm | 60°–90° |
|
*Die Länge des Teleskops kann an verschiedene Entfernungen im Diagramm angepasst werden. |
So starten Sie mit dem ITS-in-a-Box für Kameras:
- Sie können eine modulare, WFoV- oder RFoV-ITS-in-a-Box kaufen oder erstellen.
- Konfigurieren Sie ein Tablet mit der Kamera-ITS-Software.
- Führen Sie Tests aus.
- Erhalte Ergebnisse aus der DUT.
Tablet konfigurieren
In diesem Abschnitt finden Sie eine detaillierte Anleitung zum Einrichten eines Tablets für die Verwendung mit den
Camera ITS-Tests im Verzeichnis
CameraITS
. In dieser Anleitung wird als Beispiel
ein Pixel C verwendet. Informationen zu den Anforderungen und Empfehlungen für Tablets finden Sie unter Anforderungen an Tablets.
Hinweis:Die ITS-Python-Scripts der Kamera legen die folgenden Optionen auf dem Tablet automatisch für Sie fest:
Einstellungen > Display > Ruhemodus > 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 die ITS-Kamera ist kein mit dem Tablet verknüpftes Konto erforderlich.
- Aktualisieren Sie das Tablet auf Android 7.0 oder höher. Android 6.x und niedrigere Versionen unterstützen die Kamera-ITS nicht.
- Aktivieren Sie den Entwicklermodus.
- Kehren Sie zu Einstellungen zurück und wählen Sie Entwickleroptionen aus.
Optionen aktivieren - An
- Bildschirm aktiv lassen
- USB-Debugging (Damit kann der Host das Tablet im Debug-Modus ausführen. Wenn Sie das Tablet zum ersten Mal mit dem Host verbinden, werden Sie auf dem Tablet gefragt: USB-Debugging zulassen? Wenn auf dem Tablet keine Aufforderung zum Debuggen angezeigt wird, trennen Sie die Verbindung und stellen Sie sie dann wieder her.
Optionen deaktivieren - Automatische Systemupdates
- Über USB installierte Apps prüfen
- Ermitteln 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 wieder aus und beobachten Sie, welche Geräte verbunden und getrennt werden. - Führen Sie drei Testläufe durch, um Hinweise und Nutzeraufforderungen zu unterdrücken, die Diagramme auf dem Tablet-Bildschirm verdecken können.
- Legen Sie das Tablet mit der Vorderseite nach oben auf einen Tisch. Befestigen Sie es nicht an der Rückseite des Kartons.
- Führen Sie den folgenden Befehl aus:
python tools/run_all_tests.py device=$device_id camera=0 chart=$chart_id scenes=2,3
Für die Szenen 2 und 3 muss auf dem Tablet ein Bild angezeigt werden. Daher wird auf dem Tablet die Meldung Drive den Zugriff auf Fotos, Medien und Dateien auf Ihrem Gerät erlauben? angezeigt. Sie können diese Aufforderung schließen und zukünftige Aufforderungen verhindern, indem Sie auf Zulassen tippen. - Führen Sie den oben genannten Befehl noch einmal aus. Auf dem Tablet wird die Meldung Kopie dieser Datei behalten? angezeigt und es wird Google Drive vorgeschlagen. Wenn Sie diese Aufforderung entfernen und zukünftige Aufforderungen verhindern möchten, tippen Sie auf das Google Drive-Symbol und dann auf Abbrechen, um die Datei in Google Drive hochzuladen.
- Führen Sie abschließend
tools/run_all_tests.py
aus und prüfen Sie, ob sich die Szenen automatisch ändern, während das Script die verschiedenen 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 die Szenen korrekt durchläuft, ohne dass Aufforderungen oder andere Pop-ups auf dem Display angezeigt werden.
Tests ausführen
Bevor Sie ITS-in-a-box ausführen, muss Ihre Testeinrichtung die folgende Hardware und Software enthalten:
- 1 ITS-in-a-Box
- Ein (1) hochauflösendes 10"-Tablet zum Darstellen von Szenen, S/N: 5811000011
- Ein (1) DUT, auf dem die App „CTS Verifier 7.0_8+“ installiert ist. Beispiel DUT:
- Ein (1) Pixel NOF26W für Tests der Rückkamera(0), Seriennummer: FA6BM0305016. Um die CTS Verifier App zu installieren, entpacken Sie
android-cts-verifier.zip
und führen Sie dannadb -s FA6BM0305016 install -r -g android-cts-verifier/CtsVerifier.apk
aus.
- Ein (1) Pixel NOF26W für Tests der Rückkamera(0), Seriennummer: FA6BM0305016. Um die CTS Verifier App zu installieren, entpacken Sie
Tabletbasierte Szenen ausführen
So führen Sie 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 noch einmal versuchen
Sie können Szenen für eine einzelne Kamera wiederholen:
- So wiederholen Sie Szenen mit 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 bestimmter 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 ausführen (außerhalb des Felds).
So führen Sie Szene 5 für Front- und Rückkameras auf einem einzigen 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 sich die Ergebnisse während des Tests ansehen und die abgeschlossenen Ergebnisse als Bericht speichern.
- Ergebnisse ansehen So speichern Sie ITS-Ergebnisse der Kamera als Bericht:
- Drücken Sie auf Weiter und speichern Sie den Bericht.
Abbildung 3 ITS-Bericht für Kamera - Rufen Sie Berichte vom Gerät ab:
adb -s FA6BM0305016 pull /sdcard/verifierReports
- Entpacken Sie die Berichtsdatei und rufen Sie
test_result.xml
auf.
Abbildung 4 Berichte zu Kamera-ITS
- Drücken Sie auf Weiter und speichern Sie den Bericht.
Tabletanforderungen
Ab Android 15 müssen Tablets, die als ITS-Diagramm angezeigt werden, auf der folgenden Tablet-Zulassungsliste stehen. Eine Liste der Tablets, die Tests bei schlechten Lichtverhältnissen unterstützen, finden Sie unter Unterstützte Tablets für Tests bei schlechten Lichtverhältnissen. Informationen zu Android 14 oder niedriger finden Sie unter Anforderungen an Tablets für Android 14 und niedriger.
Die Tablets auf der Zulassungsliste werden anhand der folgenden Kriterien ausgewählt:
- Das Display ist etwa 10 Zoll groß und hat eine Bildschirmauflösung von mehr als 1920 x 1200 Pixeln.
- Es darf kein Flimmern durch PWM-gesteuertes (Pulse-Width Modulation) Dimmen des Bildschirms auftreten.
- Er 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 Tablet-Modell festgelegt werden. Wenn Sie herausfinden möchten, ob Ihr Tabletmodell einem Gerätenamen auf der Zulassungsliste entspricht, geben Sie den Wert ro.product.device
mit dem Befehl adb shell getprop | grep 'ro.product.device'
adb aus.
Gerät | Displaygröße (Zoll) |
Displaygröße (Pixel) |
Abmessungen des Tablets (Zoll) |
Display helligkeit |
Gerätename (ro.product .device) |
Version des Tablet-Betriebssystems |
---|---|---|---|---|---|---|
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 | 10,18 × 6,76 × 0,29 | 192 | HNHEY-Q | Android 12 |
Huawei MediaPad m5 |
10.8 | 2560 x 1600 | 10,18 × 6,76 × 0,29 | 192 | HWCMR09 | Android 8 oder höher |
Lenovo Tab M10 Plus |
10.3 | 1920 × 1200 | 9,61 × 6,03 × 0,32 | 192 | X606F | Android 9 oder höher |
Lenovo Tab P11 |
11 | 2.000 × 1.200 | 10,17 × 6,42 × 0,30 | 192 | J606F | Android 11 oder höher |
Lenovo Tab P11 Gen2 |
11,5 | 2000 × 1200 | 10,6 × 6,7 × 0,3 Zoll | 192 | TB350FU | Android 13 oder höher |
Nokia T21 |
10,4 | 2.000 × 1.200 | 9,74 × 6,19 × 0,30 | 192 | Logo: AGTA | Android 12 oder höher |
Samsung Galaxy Tab A7 |
10,4 | 2.000 × 1.200 | 9,75 x 6,2 x 0,28 | 192 | gta4lwifi | Android 10 oder höher |
Samsung Galaxy Tab A8 |
10.5 | 1920 × 1200 | 9,72 × 6,73 × 0,27 | 192 | gta8wifi | Android 11 oder höher |
Samsung Galaxy Tab A9+ |
11 | 1920 × 1200 | 10,12 x 6,64 x 0,27 | 192 | gta9pwifi | Android 13 oder höher |
Vivo Pad2 |
12.1 | 2800 × 1968 | 26,5 x 19,1 x 0,67 cm | 192 | DPD2221 | Android 13 oder höher |
Xiaomi Pad 5 |
11 | 2560 x 1600 | 10,18 × 6,76 × 0,29 | 192 | nabu | Android 13 oder höher |
Xiaomi Redmi Pad |
10,61 | 2.000 × 1.200 | 9,86 × 6,22 × 0,28 | 192 | Yunluo | Android 14 oder höher |
Xiaomi Redmi Pad SE |
11 | 2560 × 1600 | 10,06 x 6,58 x 0,29 | 192 | xun | Android 13 oder höher |
Unterstützte Tablets für Aufnahmen bei schlechten Lichtverhältnissen
In der folgenden Tabelle sind Tablets aufgeführt, die Tests für Szenen bei wenig Licht unterstützen. Diese Tablets können die Helligkeit erreichen, die für Szenen bei wenig Licht erforderlich ist, sodass das Testgerät das Diagramm richtig belichten kann.Gerät | Gerätename (ro.product.device) | Betriebssystemversion des Tablets |
---|---|---|
Huawei MediaPad m5 |
HWCMR09 | Android 8 oder höher |
Samsung Galaxy Tab A8 | gta8wifi | Android 11 oder höher |
Samsung Galaxy Tab A9+ | gta9pwifi | Android 13 oder höher |
Xiaomi Pad 5 | nabu | Android 13 oder höher |
Xiaomi Redmi Pad SE |
Xun | Android 13 oder höher |
Tablet-Anforderungen für Android 14 und niedriger
Tablets müssen eine Displaygröße von etwa 10 Zoll mit einer Bildschirmauflösung von mehr als 1.920 × 1.200 Pixel haben. Das Tablet darf nicht die Pulsweitenmodulation (PWM) zum Einstellen der Helligkeit verwenden. Der Wert für brightness
muss gemäß dem Tablet-Modell in config.yml
festgelegt werden.
In der folgenden Tabelle sind die für ITS-Tests empfohlenen Tablets sowie die Android-Releaseversionen für die DUT aufgeführt, mit denen die Tablets kompatibel sind.
Gerät | Displaygröße (Zoll) |
Displaygröße (Pixel) |
Abmessungen des Tablets (Zoll) |
Display helligkeit |
Anzeige- Bits |
Unterstützt DUT-Betriebssystem |
Unterstütztes Tablet-Betriebssystem |
---|---|---|---|---|---|---|---|
Samsung Galaxy Tab A8 |
10.5 | 1920 × 1200 | 9,72 × 6,37 × 0,27 | 192 | 8 | Android 13 oder höher | Android 11 oder höher |
Xiaomi Pad 5 |
11 | 2560 × 1600 | 10,03 x 6,55 x 0,27 | 1024 | 11 | Android 12 und höher | Nur Android 11 |
Lenovo Tab M10 Plus |
10.3 | 1920 × 1200 | 9,61 × 6,03 × 0,32 | 192 | 8 | Android 12 und höher | Android 9 oder höher |
Samsung Galaxy Tab A7 |
10,4 | 2.000 × 1.200 | 9,75 x 6,2 x 0,28 | 192 | 8 | Android 12 oder höher | Android 10 oder höher |
Chuwi Hi9 Air 10.1 |
10.1 | 2560 x 1600 | 9,52 x 6,77 x 0,31 | 192 | 8 | Android 7 oder höher | Android 8 oder höher |
ASUS ZenPad 3 |
9,7 | 2048 × 1536 | 9,47 × 6,44 × 0,28 | 192 | 8 | Android 7 oder höher | Android 6 oder höher |
Huawei MediaPad m5 |
10.8 | 2560 x 1600 | 10,18 × 6,76 × 0,29 | 192 | 8 | Android 7 oder höher | Android 8 oder höher |
Google Pixel C |
10.2 | 2560 × 1800 | 9,53 × 7,05 × 0,28 | 96 | 8 | Android 7 oder höher | Android 6 oder höher |
Sony Xperia Z4 |
10.1 | 2560 × 1600 | 10 × 6,57 × 0,24 | 192 | 8 | Android 7 oder höher | Android 5 oder höher |
Häufig gestellte Fragen
Frage 1: Wie finde ich heraus, welche Teststände für mein Gerät erforderlich sind?
Im
RFoV ITS-in-a-Box-Revision 1 werden RFoV-Kameras für Tablet-Szenentests im Verzeichnis
CameraITS/tests
getestet. Der RFoV wird als 60° < FoV < 90° definiert. Bei Kameras mit größerem Sichtfeld sind die Lampen möglicherweise auf den Bildern zu sehen oder die Diagramme decken einen zu kleinen Bereich im Sichtfeld ab, was sich auf die Testergebnisse auswirken kann.
Mit der WFoV ITS-in-a-Box-Version 2 werden WFoV-Kameras für Tablet-Szenentests im Verzeichnis
CameraITS/tests
getestet. Der Weitwinkel-FOV wird als FoV >= 90° definiert. Das Testgestell der Version 2 ist funktional mit der Version 1 identisch, aber größer. Mit dem Revisions-2-Teststand können sowohl RFoV- als auch WFoV-Kameras unter Android 9 und höher getestet werden. Aufgrund des größeren Platzbedarfs ist Version 2 ideal, wenn es sich bei der DUT um ein Tablet handelt.
Das modulare Basis-Rig
testet WFoV-Kameras für Tablet-Szenentests im Verzeichnis
CameraITS/tests
. WFoV ist definiert als FoV >= 90°. Das modulare Basis-Rig kann sowohl RFoV- als auch WFoV-Kameras für Geräte mit Android 9 und höher testen.
Außerdem wird das Tele-Verlängerungsgestell unterstützt, das an Telekameras mit einer längeren Mindestfokusdistanz angebracht werden kann. Das modulare Basisgestell ist funktional mit dem WFoV ITS-in-a-Box identisch, aber kleiner.
Mit dem
Sensor Fusion Box werden der Zeitversatz zwischen Kamera und Gyroskop sowie die Frame-Synchronisierung von Systemen mit mehreren Kameras mithilfe von Tests in scenes=sensor_fusion
geprüft. Für das Funktions-Flag REALTIME
ist ein Zeitversatz von Kamera/Gyroskop von weniger als 1 ms erforderlich.
Geräte mit mehreren Kameras können mit einem einzigen Testaufbau für statische ITS-Tests und mit einem Sensorfusions-Testaufbau getestet werden, wenn die Kamera die REALTIME
-Funktionsflag hat.
In der folgenden Tabelle finden Sie eine Reihe von Beispielkonfigurationen.
Verwendungsbeispiele | Kamera-FOVs | IN REALTIME? | Empfohlene Rigs | Hinweise |
---|---|---|---|---|
1 | 75° | Nein | Rev 1 oder 2 | Android 7.0 oder höher |
2 | 75° | Ja | Modulare Basis oder Rev 1 oder Rev 2 und Sensorfusion | Android 9 oder höher |
3 | 75° + 95° | Ja | Rev 2 + Sensor Fusion | Android 9 oder höher |
4 | 75° + 95° + 20° | Ja | Modulare Basis, Teleerweiterung und Sensorfusion | Android 9 oder höher |
5 | 75° + 95° Tablet | Nein | Rev 2 | Android 9 oder höher |
F2: Wie lege ich fest, welcher Prüfstand verwendet wird?
Achten Sie darauf, dass der Diagrammabstand korrekt ist, um das richtige Testgerät zuzuweisen. Das Testgestell der Version 1 (RFoV) hat einen Abstand von 31 cm zum Diagramm und das Testgestell der Version 2 (WFoV) einen Abstand von 22 cm. Standardmäßig ist der Abstand zum Diagramm auf 31 cm eingestellt.
Android 10 bis Android 11
Wenn Sie das richtige Testgerät unter Android 10 bis 11 identifizieren möchten, fügen Sie der Befehlszeile das Flagdist
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 unter Android 12 und höher zu identifizieren, können Sie die Datei „config.yml“ bearbeiten und den Parameterchart_distance
ändern.
edit config.yml chart_distance: 31.0 → chart_distance: 22.0
F3: Wie kann ich die Helligkeit des Tablets regeln?
Standardmäßig ist die Helligkeit des Tablets 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
Führen Sie folgenden Befehl aus, um die Helligkeit auf Tablets mit Android 12 und höher zu ändern:
edit config.yml brightness: 96 → brightness: 192
Frage 4: Wie kann ich einen einzelnen Test debuggen?
Tests können zu Debugging-Zwecken einzeln ausgeführt werden. Die Ergebnisse werden jedoch nur an CtsVerifier.apk
gesendet, wenn die gesamte Szene ausgeführt wird.
So führen Sie 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 in
stdout
geladen wurde.Wenn die gewünschte Szene bereits auf dem Display angezeigt wird, aktivieren Sie das Display:
python tools/wake_up_screen.py screen=#
-
Einen einzelnen Test ausführen
python tests/scene#/test_*.py device=# camera=#
Die Grafiken werden dann im lokalen Verzeichnis generiert und
stdout
undstderr
werden auf dem Bildschirm ausgegeben.Wenn Sie mehr Informationen zur Fehlerbehebung erhalten möchten, fügen Sie dem Script
print
-Anweisungen hinzu. Wenn Sie die Testausgabe für die Fehlerbehebung erhöhen möchten, fügen Sie das Flagdebug=True
hinzu.python tests/scene#/test_*.py device=# camera=# debug=True
Wenn Sie tools/run_all_tests.py
ausführen, werden die Ergebnisse auf dem lokalen Bildschirm ausgegeben und Bilder werden im lokalen Verzeichnis anstelle des generierten /tmp/tmp###
-Verzeichnisses gespeichert.
So führen Sie eine einzelne Szene unter 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 ganze Szene ausführen, anstatt Tests einzeln noch einmal auszuführen?
Tests können zur Fehlerbehebung einzeln ausgeführt werden. Die Ergebnisse werden jedoch nur dann an CtsVerifier.apk
gemeldet, wenn die gesamte Szene ausgeführt wird.
Die Kamera-ITS-Funktion sorgt dafür, dass Drittanbieter-Apps eine kompatible Kameraoberfläche haben. Ähnlich wie bei einem Unittest wird bei jedem Test eine einzelne Spezifikation der Kamera beansprucht. Um unzuverlässiges Verhalten zu erkennen, sollten diese Tests als Gruppe für eine gesamte Szene bestanden werden. Ein einzelner unzuverlässiger Test kann beispielsweise bei einer Wiederholung einer ganzen Szene bestehen, aber es ist schwierig, dass mehrere unzuverlässige Tests bestehen.
Angenommen, in einer Szene gibt es 10 Tests, bei denen jeweils mit einer Wahrscheinlichkeit von 50% PASS
zurückgegeben wird. Wenn jeder Test einzeln durchgeführt wird, besteht eine hohe Wahrscheinlichkeit, dass der Betreiber die Kamera so einstellen kann, dass sie den Kamera-ITS-Test besteht. Wenn die Tests jedoch aggregiert als Szene ausgeführt werden, besteht eine Wahrscheinlichkeit von 0,1 %, dass die Szene erfolgreich ist.
Frage 6: Wie kann ich eine einzelne Szene ausführen oder die Ablaufszenen neu anordnen?
Standardmäßig führt das Skript tools/run_all_tests.py
alle Szenen der Reihe nach aus. Szenen können jedoch einzeln oder in einer bestimmten Reihenfolge ausgeführt und an CtsVerifier.apk
gesendet werden.
So führen Sie unter Android 11 oder niedriger eine einzelne Szene (z. B. Szene 2) oder mehrere Szenen in einer bestimmten Reihenfolge 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ühren Sie unter Android 12 und höher eine einzelne Szene oder mehrere Szenen in einer bestimmten Reihenfolge 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.
Frage 7: Einige Tests für Szene 1 schlagen mit der Tablet-Einrichtung fehl, aber mit einem Papierdiagramm sind sie erfolgreich. Woran liegt das?
Prüfen Sie, ob das Tablet und die Testumgebung den folgenden Spezifikationen entsprechen.
Tablet-Spezifikationen
Das Tablet muss die folgenden Spezifikationen erfüllen:
- Displaygröße (Zoll): 10"
- 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 Displays des Tablets zu niedrig ist, erhalten die Tests möglicherweise keine korrekten Ergebnisse.
Weitere Informationen findest du unter Wie stelle ich die Tablet-Helligkeit ein?
Box-Beleuchtung (Lux-Meter erforderlich)
Der Lux-Zielwert bei Tablet-Öffnung 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 kann ich Sensorfusionstests beheben?
Sie müssen Mitglied einer
dialout
-Gruppe sein.groups | egrep ‘dialout'
Prüfen Sie, ob der Sensorfusionscontroller verbunden ist, indem Sie feststellen, ob die Microchip-Technologie mit dem USB-Anschluss verbunden ist.
lsusb … Bus 003 Device 004: ID 04d8:fc73 Microchip Technology, Inc. …
Führen Sie den Test mit den folgenden Befehlen mehrmals aus, um eine Verteilung der Testversuche zu erhalten.
Android 11 oder niedriger:
python tools/run_sensor_fusion_box.py device=A camera=0 num_runs=10 rotator=default
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 Ausführungsergebnisse befinden sich im Ordner
/tmp/tmp###
, der unter den Ordnernsensor_fusion_#
erstellt wurde. Dabei steht#
für die Ausführungsnummer. Häufige Gründe für Fehler sind:- Das Smartphone ist nicht richtig zentriert.
- Im Bild sind nicht genügend Elemente zu sehen (häufig ein Problem mit dem Sichtfeld oder der Beleuchtung).
- Der zurückgegebene Wert
FAIL
ist gültig und die Zeitabweichung zwischen Kamera und Gyroskop muss korrigiert werden.
Frage 9: Welche Informationen sollte ich bei der Meldung eines Testfehlers angeben?
Wenn Sie einen Testfehler melden, fügen Sie die für den Test generierten Dateien und Bilder hinzu.
- Wenn Sie den Test über
tools/run_all_tests.py
ausgeführt haben, hängen Sie ein komprimiertes/tmp/
-Verzeichnis an den Fehler an. - Wenn Sie den Test alleine ausgeführt haben, hängen Sie alle Bildschirmausgaben und generierten Bilder an den Fehler an.
Fügen Sie auch einen Fehlerbericht bei. Wenn der betreffende Test fehlschlägt, verwenden Sie den folgenden Befehl, um einen Fehlerbericht zu generieren und die generierte ZIP-Datei an den Fehler anzuhängen.
adb -s device_id bugreport
Frage 10: Wie führe ich eine Testszene für die Sensorfusion mit einer Kamera aus, die bei einer Mindestfokusdistanz unscharfe Bilder bei einer Entfernung von 25 cm zum Testchart erzeugt?
Wenn die Kamera aus einer Entfernung von 25 cm nicht fokussieren kann, entfernen Sie die Diagrammbefestigung der Sensor Fusion Box. Platzieren Sie das Diagramm in einer Entfernung, in der das DUT scharfstellen kann, und ändern Sie chart_distance
in config.yml
in die gemessene Entfernung zwischen dem DUT und dem Diagramm. Abbildung 5 zeigt ein Beispiel dafür, wie in dieser Situation die Entfernung im Diagramm gemessen wird.
edit config.yml chart_distance: 25 → chart_distance: DISTANCE_BETWEEN_DUT_AND_CHART
F11: Wie kann ich Tablet-Testszenen für eine Kamera mit einer Mindestfokussierungsdistanz ausführen, durch die bei einem Diagrammabstand von 31 cm verschwommene Bilder erzeugt werden?
Wenn Ihre Kamera bei einem Testabstand von 31 cm (Tiefe des RFoV-Testgestells) nicht scharf genug ist, bringen Sie die Kamera vor dem Gestell in einem Abstand an, der es ermöglicht, dass die Diagrammszene etwa 60% des Kamerasichtfelds (FoV) mit schärferen Bildern füllt. Dieser Abstand kann kleiner als die minimale Brennweite der Kamera sein. Lassen Sie die chart_distance
in config.yml
auf 31 cm. Die Diagrammskalierung auf dem Tablet wird vom Sichtfeld der Kamera bestimmt, wie in der folgenden Tabelle dargestellt:
Kamera-Bildwinkel | Skalierungsfaktor für Diagramme |
---|---|
60 > FoV > 40 | 0,67-fach |
40 > Sichtfeld > 25 | 0,5-fach |
Blickwinkel < 25 | 0,33-fach |
Frage 12: Welche Tests werden mit der logischen Multi-Kamera-API auf welchen Kameras ausgeführt?
Wenn für Ihre Kamera
REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
verwendet wird, werden alle unterstützten ITS-Tests auf der logischen Kamera der obersten Ebene ausgeführt. Ein Teil der ITS-Tests wird auf den physischen Unterkameras ausgeführt. Diese Tests sind in tools/run_all_tests.py
unter der Konstante SUB_CAMERA_TESTS
aufgeführt.