Caméra ITS prête à l'emploi

La suite de test d'images de l'appareil photo Android (ITS) fait partie du test de compatibilité Android suite (CTS) et inclut des tests qui valident le contenu des images. Vérificateur CTS prend en charge l'automatisation des tests ITS avec Camera ITS prêt à l'emploi. la prise en charge des tests manuels concerne tous les appareils Android. facteurs de forme.

La solution ITS prête à l'emploi offre les avantages suivants:

  • Automatisation : Aucune intervention humaine n'est nécessaire test.
  • Dépannage facile. Cohérence de l'environnement de test permet de réduire le nombre d'erreurs de configuration et d'améliorer la reproductibilité.
  • Efficacité. Possibilité de réessayer pour une caméra/scène individuelle améliore l'efficacité de l'exécution des tests.

Premiers pas

ITS-in-a-box consiste en une boîte en plastique découpée au laser dans des pièces assistées par ordinateur des dessins (CAO), une tablette graphique et un appareil testé (DUT). Le tableau suivant décrit les caractéristiques et les caractéristiques des différents supports ITS prêts à l'emploi disponibles.

Rig Distance du graphique Portée du champ de vision de la caméra DUT (environ) Fonctionnalités
Support de base modulaire 22cm 15 ° - 120 °
  • Moins d'empreinte
  • Grande ouverture à l'avant permettant de tester des systèmes multicaméras sans encoche le blocage des caméras secondaires
  • Le support peut être pivoté à 90°
  • <ph type="x-smartling-placeholder"></ph> Support modulaire pour base et téléextension 22 à 100 cm* 10° à 120°
  • Encoche à grande ouverture à l'avant
  • Permet de tester les caméras dont la distance de mise au point minimale est plus longue (la plupart des télécaméras)
  • WFoV ITS prêt à l'emploi 22cm 15 ° - 120 °
  • Encombrement important permettant de nombreux emplacements d'installation de l'appareil testé
  • Compatibilité avec les appareils de grande taille (tablettes, par exemple)
  • RFoV ITS prêt à l'emploi 31cm 15 ° - 90 °
  • Tablette de graphiques
  • Système d'éclairage interne
  • *La longueur du support de téléextension peut être ajustée pour différentes distances de graphique.

    Pour commencer à utiliser la caméra ITS prête à l'emploi:

    1. Achetez ou créez une infrastructure modulaire, WFoV ou RFoV ITS prêt à l'emploi.
    2. Configurer une tablette avec la caméra ITS logiciels.
    3. Effectuez des tests.
    4. Obtenez les résultats de l'appareil testé.

    Configurer la tablette

    Cette section fournit des instructions détaillées pour configurer un à utiliser avec le <ph type="x-smartling-placeholder"></ph> Tests ITS de la caméra situés dans le <ph type="x-smartling-placeholder"></ph> CameraITS. Ces instructions utilisent une tablette Pixel C un exemple de tablette. Pour plus d'informations sur les tablettes et recommandations, consultez la page Tablettes exigences.

    Remarque:Les scripts Python de Camera ITS définissent automatiquement pour vous les options suivantes sur la tablette:
    Paramètres > Affichage > Sommeil > Après 30 minutes d'inactivité
    Luminosité adaptative > DÉSACTIVÉ

    1. Chargez la tablette et allumez-la. Si vous êtes invité à configurer un compte, ignorez cette étape (Il n'est pas nécessaire d'associer un compte à la tablette pour l'appareil photo.)
    2. Mettez à jour la tablette vers Android 7.0 ou version ultérieure. Android 6.x et versions antérieures ne prennent pas en charge Caméra ITS.
    3. Activez le mode développeur.
    4. Revenez dans Paramètres, puis sélectionnez Options pour les développeurs.
      Activer les options
      • Activé
      • Laisser activé
      • Débogage USB (permet à l'hôte d'exécuter la tablette en mode débogage. Lorsque vous la tablette à l'hôte pour la première fois, un message s'affiche Autoriser le débogage USB ? Si l'invite de débogage n'est pas affichée sur la tablette, déconnectez-la, puis reconnectez-la.)
      Désactiver les options
      • Mises à jour automatiques du système
      • Vérifier les applis via USB
    5. Déterminez l'ID de l'appareil testé et du graphique en exécutant $ adb devices pour répertorier les appareils disponibles. Pour déterminer device_id et chart_id, branchez et débranchez les appareils et observez ceux qui se connecter et se déconnecter.
    6. Effectuez trois exécutions de test pour supprimer les indications et les invites utilisateur qui peuvent masquer graphiques sur l'écran de la tablette.
      1. Positionnez la tablette sur une table, écran vers le haut (ne la fixez pas à l'arrière) de la boîte).
      2. Exécutez la commande suivante:
        python tools/run_all_tests.py device=$device_id camera=0 chart=$chart_id scenes=2,3
        
        Dans les scènes 2 et 3, la tablette doit afficher une image, c'est pourquoi elle envoie un message Autoriser Drive à accéder aux photos, contenus multimédias et fichiers sur votre appareil ? Effacer cette requête (et empêcherez les futures invites) en appuyant sur Allow (Autoriser).
      3. Exécutez de nouveau la commande ci-dessous. Le message Conserver une copie de ce fichier ? s'affiche sur la tablette. et suggère Google Drive. Effacez cette requête (et empêchez les futures invites) de en appuyant sur l'icône Drive, puis sur Annuler pour l'importer dans Drive.
      4. Enfin, exécutez tools/run_all_tests.py et vérifiez que les scènes changent automatiquement au fur et à mesure que le script passe d'une scène à une autre. Bien que la plupart les tests échouent (car l'appareil photo n'est pas dirigé vers le graphique), vérifiez que la tablette fait défiler les scènes correctement sans afficher d'invites ou d'autres pop-ups à l'écran.

    Exécuter des tests

    Avant d'exécuter l'ITS prêt à l'emploi, assurez-vous que votre configuration de test inclut le matériel et logiciel suivants:

    • Un (1) ITS prêt à l'emploi
    • Une (1) haute résolution de 10 pouces tablette permettant d'afficher des scènes, numéro de série: 5811000011
    • Un (1) appareil testé avec le vérificateur CTS 7.0_8+ installée. Exemple d'appareil testé: <ph type="x-smartling-placeholder">
        </ph>
      • Un (1) Pixel NOF26W pour le test de la caméra arrière(0), numéro de série: FA6BM0305016. À installez l'application CTS Verifier, décompressez android-cts-verifier.zip, puis course
        adb -s FA6BM0305016 install -r -g android-cts-verifier/CtsVerifier.apk
        

    Exécuter des scènes sur tablette

    Pour exécuter les scènes 0 à 4, 6 et Scene_change sur la caméra arrière:

    cd android-cts-verifier/CameraITS
    . build/envsetup.sh
    python tools/run_all_tests.py camera=0
    

    Exemple :

    S/N de l&#39;appareil photo 0: FA6BM0305016
    Figure 1. S/N de l'appareil photo 0: FA6BM0305016

    Scènes de nouvelle tentative

    Vous pouvez relancer la création de scènes d'une seule caméra:

    • Pour relancer la création de scènes avec une seule caméra:
      python tools/run_all_tests.py device=FA6BM0305016 camera=0 scenes=3,4
      

    Exécuter la scène 5

    La scène 5 nécessite une configuration spéciale avec un éclairage spécifique (pour en savoir plus, reportez-vous à CameraITS.pdf dans CTS Verifier, que vous pouvez télécharger à l'adresse Téléchargements de la suite de tests de compatibilité). Vous devez exécuter la scène 5 séparément (hors de la boîte).

    scène de caméra 5
    Figure 2. Scène de caméra 5

    Pour exécuter la scène 5 avec les caméras avant et arrière sur un seul appareil:

    python tools/run_all_tests.py device=FA6BM0305016 camera=0 scenes=5
    python tools/run_all_tests.py device=FA6BM0305016 camera=1 scenes=5
    

    Obtenir des résultats

    Vous pouvez consulter les résultats pendant les tests et enregistrer les résultats complets sous forme de .

    • Affichez les résultats. Pour enregistrer les résultats ITS de l'appareil photo sous forme de rapport: <ph type="x-smartling-placeholder">
        </ph>
      1. Appuyez sur OK et enregistrez le rapport.
        caméra rapport ITS
        Figure 3 : Rapport ITS de la caméra
      2. Générez des rapports depuis l'appareil:
        adb -s FA6BM0305016 pull /sdcard/verifierReports
        
      3. Décompressez le fichier du rapport, puis affichez le fichier test_result.xml.
        rapports ITS de la caméra
        Figure 4 : Rapports du service ITS de la caméra

    Configuration requise pour la tablette

    La taille et la résolution de l'écran des tablettes doivent être d'environ 10 pouces supérieure à 1 920 x 1 200 pixels. La tablette ne doit pas utiliser la modulation de la largeur d'impulsion pour définir le niveau de luminosité. La valeur brightness doit être définie dans config.yml selon le modèle de la tablette. Le tableau ci-dessous liste les tablettes recommandées pour les tests ITS, ainsi que la version Android. pour les appareils testés avec les tablettes compatibles.

    Appareil Taille d'affichage
    (pouces)
    Taille d'affichage
    (pixels)
    Dimensions de la tablette
    (pouces)
    Luminosité
    de l'écran
    Bits d'affichage
    Compatible
    DUT OS
    Compatible
    avec les tablettes
    Samsung
    Galaxy Tab A8
    10,5 1920 x 1200 9,72 x 6,37 x 0,27 192 8 Android 13 et versions ultérieures Android 11 et versions ultérieures
    Xiaomi
    Pad 5
    11 2560 x 1600 10,03 x 6,55 x 0,27 1024 11 Android 12 et versions ultérieures Android 11 uniquement
    Lenovo
    Tab M10 Plus
    10.3 1920 x 1200 9,61 x 6,03 x 0,32 192 8 Android 12 et versions ultérieures Android 9 ou version ultérieure
    Samsung
    Galaxy Tab A7
    10,4 2000 x 1200 9,75 x 6,2 x 0,28 192 8 Android 12 et versions ultérieures Android 10 et versions ultérieures
    Chuwi
    Hi9 Air 10.1
    10.1 2560 x 1600 9,52 x 6,77 x 0,31 192 8 Android 7 ou version ultérieure Android 8 et versions ultérieures
    Asus
    ZenPad 3
    9,7 2048 x 1536 9,47 x 6,44 x 0,28 192 8 Android 7 ou version ultérieure Android 6 ou version ultérieure
    Huawei
    MediaPad m5
    10,8 2560 x 1600 10,18 x 6,76 x 0,29 192 8 Android 7 ou version ultérieure Android 8 et versions ultérieures
    Google
    Pixel C
    10.2 2560 x 1800 9,53 x 7,05 x 0,28 96 8 Android 7 ou version ultérieure Android 6 ou version ultérieure
    Sony
    Xperia Z4
    10.1 2560 x 1600 10 x 6,57 x 0,24 192 8 Android 7 ou version ultérieure Android 5 et versions ultérieures
    <ph type="x-smartling-placeholder">

    Questions fréquentes

    Q1: Comment déterminer les supports de test dont j'ai besoin pour mon appareil ?

    Le RFoV ITS-in-a-box révision 1 teste les caméras RFoV pour tester des scènes de tablette dans le CameraITS/tests. RFoV est défini comme 15° < Prix de revient < 90°. Pour les caméras de champ de vision de grande taille, les voyants peuvent apparaître sur les images ou les graphiques peut couvrir une zone trop petite du champ de vision, ce qui affecte les résultats des tests.

    Le logiciel WFoV ITS prêt à l'emploi révision 2 teste les caméras WFoV pour tester des scènes de tablette dans la CameraITS/tests. WFoV est défini comme FoV >= 90°. Sur le plan fonctionnel, le support de test révision 2 est identique à celui de la révision 1, mais plus grand. Le support de test révision 2 peuvent tester les caméras RFoV et WFoV sous Android 9 ou version ultérieure. Compte tenu de l'envergure plus importante, révision 2 est idéal si l'appareil testé est une tablette

    Le support de base modulaire teste les caméras WFoV pour tester des scènes sur tablette dans le CameraITS/tests. WFoV est défini comme FoV >= 90°. Le support modulaire permet de tester les caméras RFoV et WFoV pour les appareils équipés d'Android 9 ou version ultérieure. Il est également compatible avec le support de téléextension, qui peut être installé pour tester des télécaméras avec une la distance de mise au point minimale. Le support modulaire est identique au modèle WFoV ITS prêt à l'emploi. mais est plus petite.

    Le le boîtier de fusion des capteurs teste la temporisation de l'appareil photo et du gyroscope la synchronisation des images avec les tests dans scenes=sensor_fusion Décalage temporel de l'appareil photo/gyroscope inférieur supérieure à 1 ms est requise pour le flag de fonctionnalité REALTIME.

    Les appareils multicaméras peuvent être testés avec un seul support pour effectuer des tests ITS statiques. et un support de fusion de capteurs si la caméra dispose de la fonctionnalité REALTIME. .

    Vous trouverez un ensemble d'exemples de configurations dans le tableau ci-dessous.

    Exemple FoV de l'appareil photo EN TEMPS RÉEL ? Supports recommandés Notes
    1 24 ° Non Révision 1 ou 2 Android 7.0 ou version ultérieure
    2 24 ° Oui Base modulaire, ou Rev 1, ou 2 et fusion de capteurs Android 9 ou version ultérieure
    3 24 ° + 95 ° Oui Rev 2 + fusion de capteurs Android 9 ou version ultérieure
    4 20° + 95° + 20° Oui Base modulaire, téléextension et fusion de capteurs Android 9 ou version ultérieure
    5 Tablette à 75° + 95° Non Rév. 2 Android 9 ou version ultérieure

    Q2: Comment identifier le support d'essai utilisé ?

    Pour désigner le support de test approprié, assurez-vous que le paramètre de distance du graphique est correct. Le support de test rev1 (RFoV) contient un graphique sur une distance de 31 cm, et celle du support rev2 (WFoV) est de 22 cm. Par défaut, la distance du graphique est définie sur 31 cm.

    Android 10 à Android 11

    Pour identifier le bon support de test dans les versions Android 10 à 10 11 Ajoutez l'option dist à la ligne de commande. La valeur par défaut la valeur de dist est 31. Exécutez la commande suivante : pour modifier le paramètre chart_distance.
    python tools/run_all_tests.py ... chart=# dist=22
    

    Android 12 ou version ultérieure

    Pour identifier le support de test approprié sous Android 12 ou version ultérieure, vous pouvez modifier le fichier config.yml pour modifier le paramètre chart_distance.
    edit config.yml
    chart_distance: 31.0 → chart_distance: 22.0
    

    Q3: Comment contrôler la luminosité de la tablette ?

    Par défaut, la luminosité de la tablette est définie sur 96.

    Pour modifier la luminosité sur les tablettes équipées d'Android 7.0 à Android 9, procédez comme suit : exécuter:

    edit tools/wake_up_screen.py
    DISPLAY_LEVEL=96 → DISPLAY_LEVEL=192
    

    Pour modifier la luminosité sur les tablettes équipées d'Android 10 à 11, le Vous pouvez modifier cette valeur sur la ligne de commande en ajoutant l'option brightness:

    python tools/run_all_tests.py device=# camera=# chart=# brightness=192
    

    Pour modifier la luminosité sur les tablettes équipées d'Android 12 ou version ultérieure, procédez comme suit : exécuter:

    edit config.yml
    brightness: 96 → brightness: 192
    

    Q4: Comment déboguer un seul test ?

    Les tests peuvent être exécutés individuellement à des fins de débogage, mais les résultats ne sont pas signalé à CtsVerifier.apk, sauf si la scène entière est exécutée.

    Pour exécuter une scène individuelle sous Android 11 ou version antérieure:

    1. Chargez une scène en ajoutant l'option scenes dans tools/run_all_tests.py:
      python tools/run_all_tests.py device=# camera=# chart=# scenes=#
      
    2. Appuyez sur Ctrl+C pour interrompre les tests après la scène. est enregistré en tant que chargé dans stdout.

      Si la bonne scène se trouve déjà allumer l'écran:

      python tools/wake_up_screen.py screen=#
      
    3. Exécutez un test individuel.

      python tests/scene#/test_*.py device=# camera=#

      Les tracés sont ensuite générés dans le répertoire local et stdout et stderr sont affichés à l'écran.

      Pour obtenir plus d'informations sur le débogage, ajoutez print au script. Pour augmenter le résultat du test pour le débogage, ajoutez l'indicateur debug=True.

      python tests/scene#/test_*.py device=# camera=# debug=True

    Les résultats sont imprimés sur l'écran local et les images sont enregistrées dans le répertoire local. au lieu du répertoire /tmp/tmp### généré lorsque tools/run_all_tests.py.

    Pour exécuter une scène individuelle sous Android 12 ou version ultérieure:

    1. Modifiez le fichier config.yml.

      edit config.yml
      camera: <camera-id> → camera:  0
      scene: <scene-name> → scene: scene1_1
    2. Exécutez le test individuel.

      python tools/run_all_tests.py -c config.yml --test_bed TEST_BED_TABLET_SCENES
      

    Les résultats sont affichés dans le répertoire /tmp/logs/mobly/TEST_BED_TABLET_SCENES/ trié en fonction de la durée d'exécution.

    Q5: Pourquoi dois-je plutôt exécuter les tests ayant échoué en tant que scène entière ? de réexécuter des tests individuellement ?

    Les tests peuvent être exécutés individuellement à des fins de débogage, mais les résultats ne sont pas signalé à CtsVerifier.apk, sauf si la scène entière est exécutée.

    Caméra ITS garantit que les applications tierces disposent d'une interface de caméra compatible. À l'instar d'un test unitaire, chaque test met l'accent sur une seule spécification dans la caméra. Pour détecter les comportements non fiables, ces tests sont censés transmettre en groupe pour toute une scène. Par exemple, même si une seule image peut réussir une rediffusion d'une scène entière, il est difficile pour plusieurs des tests peu fiables à réussir.

    Pour prendre un exemple extrême, prenons le cas de 10 tests dans une scène. dont chacune présente une probabilité de 50% de renvoyer PASS. En exécutant chaque individuellement, il y a de fortes chances qu'un opérateur passer la caméra SIT. Toutefois, si les tests sont exécutés dans l'ensemble en tant que scène, il n'y a que 0,1% de chances que la scène réussisse.

    Q6: Comment exécuter une seule scène ou réorganiser les scènes d'exécution ?

    Par défaut, le script tools/run_all_tests.py exécute toutes les scènes dans l'ordre. Cependant, les scènes peuvent être exécutées individuellement ou dans un ordre spécifique. être signalé à CtsVerifier.apk.

    Pour exécuter une scène individuelle (par exemple, la scène 2) ou exécuter plusieurs scènes dans une même scène commande sous Android 11 ou inférieur:

    python tools/run_all_tests.py device=# camera=# chart=# scenes=2
    
    python tools/run_all_tests.py device=# camera=# chart=# scenes=3,2
    

    Pour exécuter une scène individuelle ou exécuter plusieurs scènes dans une même scène sous Android 12 et versions ultérieures:

    python tools/run_all_tests.py scenes=2
    
    python tools/run_all_tests.py scenes=3,2
    

    Les paramètres supplémentaires sont définis dans le fichier config.yml.

    Q7: Plusieurs tests de scène 1 échouent avec la configuration de la tablette, mais réussissent avec un graphique papier. Pourquoi ?

    Assurez-vous que la tablette et l'environnement de test répondent aux critères suivants : caractéristiques techniques.

    Caractéristiques techniques de la tablette

    Assurez-vous que la tablette respecte les caractéristiques suivantes:

    • Taille d'écran (pouces): 10 pouces
    • Taille d'affichage (en pixels): supérieure à 1 920 x 1 200 pixels

    Pour en savoir plus, consultez <ph type="x-smartling-placeholder"></ph> Configuration requise pour la tablette.

    Luminosité de la tablette

    Les tests peuvent ne pas obtenir de résultats corrects si la luminosité de l'écran de la tablette est trop élevée faible.

    Pour en savoir plus, consultez <ph type="x-smartling-placeholder"></ph> Comment contrôler la luminosité de la tablette ?

    Niveau d'éclairage du boîtier (nécessite un compteur de lux)

    Assurez-vous que la valeur en lux cible à l'ouverture de la tablette est comprise entre 100 et 300.

    Si le niveau de lux est trop élevé, scene1/test_param_flash_mode.py renvoie FAIL. Si le niveau de lux est trop faible, plusieurs tests échouent.

    Q8: Comment déboguer des tests de fusion de capteurs ?

    1. Vérifiez que vous faites partie d'un groupe dialout.

      groups | egrep ‘dialout'
    2. Assurez-vous que le contrôleur de fusion des capteurs est connecté en déterminant si La technologie Microchip est connectée au port USB.

      lsusb
      …
      Bus 003 Device 004: ID 04d8:fc73 Microchip Technology, Inc.
      …
      
    3. Exécutez le test plusieurs fois pour obtenir une répartition des tentatives. les commandes suivantes.

      Sur Android 11 ou version antérieure:

      python tools/run_sensor_fusion_box.py device=A camera=0 num_runs=10 rotator=default
      

      Sur Android 12 ou version ultérieure:

      python tools/run_sensor_fusion_box.py num_runs=10
      

      Les paramètres supplémentaires sont définis dans le fichier config.yml.

      Les résultats de l'exécution se trouvent dans le dossier /tmp/tmp### créé sous les dossiers sensor_fusion_#, où # correspond à l'exécution numéro. Voici les raisons les plus courantes d'un échec:

      1. Le téléphone n'est pas centré correctement.
      2. L'image ne comporte pas suffisamment de fonctionnalités (il s'agit souvent d'un problème de champ de vision ou d'éclairage).
      3. La valeur FAIL renvoyée est valide et le décalage temporel entre la caméra et le gyroscope doivent être corrigés.

    Q9: Quelles informations dois-je inclure dans le signalement d'un problème ? pour tester le bug ?

    Lorsque vous signalez un bug de test, incluez les fichiers et les images générés pour le test.

    1. Si vous avez exécuté le test via tools/run_all_tests.py, associez un compressé le répertoire /tmp/ dans le bug.
    2. Si vous avez exécuté le test seul, connectez toutes les sorties de l'écran et des images générées par le bug.

    Incluez également un rapport de bug. Une fois que le test en question a échoué, utilisez la méthode la commande suivante pour générer un rapport de bug et joindre le fichier zip généré à le bug.

    adb -s device_id bugreport
    

    Q10: Comment exécuter une scène de test sensor_fusion avec une caméra où la mise au point est minimale ? qui crée des images floues à une distance de 25 cm sur un graphique ?

    Si vous ne parvenez pas à effectuer la mise au point sur une distance de 25 cm, retirez le panneau de montage de la boîte de fusion des capteurs. Placez le graphique à une distance permettant à l'appareil testé de se concentrer et de changer chart_distance en config.yml par rapport à la distance mesurée entre l'appareil testé et le graphique. La figure 5 montre comment mesurer la distance du graphique dans cette situation.

    Exemple de test TELE capteur_fusion6
    Figure 5 : Mesure de la distance du graphique pour la scène du test de fusion de capteurs
      edit config.yml
    chart_distance: 25 → chart_distance: DISTANCE_BETWEEN_DUT_AND_CHART
    

    Q11: Comment exécuter des scènes de test sur tablette pour une caméra avec une mise au point minimale ? qui crée des images floues à une distance de 31 cm d'un graphique ?

    Si votre appareil photo ne parvient pas à produire des images suffisamment nettes lors d'un test à 31 cm ( du support de test RFoV), fixez la caméra devant le support à une certaine distance une scène du graphique pour remplir environ 60% du champ de vision de la caméra avec des images plus nettes. Cette distance peut être inférieure à la mise au point minimale de la caméra. Quittez le chart_distance dans config.yml à 31 cm. La mise à l'échelle du graphique sur la tablette est déterminée par l'appareil photo FoV, comme indiqué dans le tableau suivant:

    FoV de la caméra Facteur de scaling du graphique
    60 > Champ de vision > 40 0,67x
    40 > Champ de vision > 25 ans x 0,5
    Prix de revient < 25 ans 0,33x

    Q12: Sur quelles caméras exécuter les tests avec l'API logique multi-caméra ?

    Si votre caméra utilise <ph type="x-smartling-placeholder"></ph> REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA, tous les tests ITS acceptés sont exécutés sur la caméra logique de premier niveau. Un sous-ensemble des tests ITS est exécuté et ces tests sont listés sur la page tools/run_all_tests.py. sous la constante SUB_CAMERA_TESTS.