ऑटोमेशन का इस्तेमाल करके, कैमरे की इमेज की जांच करना

Android Camera Image Test Suite (ITS), Android Compatibility Test Suite (CTS) Verifier का हिस्सा है. इसमें ऐसी जांचें शामिल होती हैं जिनसे इमेज के कॉन्टेंट की पुष्टि की जाती है. CTS Verifier, Camera ITS-in-a-box की मदद से, ITS की अपने-आप होने वाली जांच की सुविधा देता है; मैन्युअल जांच की सुविधा, Android डिवाइस के सभी फ़ॉर्म फ़ैक्टर पर काम करती है.

ITS-in-a-box में ये फ़ायदे शामिल हैं:

  • ऑटोमेशन. जांच के दौरान, किसी व्यक्ति के दखल की ज़रूरत नहीं होती.
  • समस्या को आसानी से हल किया जा सकता है. टेस्ट एनवायरमेंट एक जैसा होने पर, सेटअप से जुड़ी गड़बड़ियां कम होती हैं और टेस्ट को दोहराना आसान हो जाता है.
  • एफ़िशिएंसी. अलग-अलग कैमरे/सीन के लिए फिर से कोशिश करने की सुविधा से, टेस्ट को ज़्यादा असरदार तरीके से लागू किया जा सकता है.

रिग चुनना

आईटीएस-इन-अ-बॉक्स में, कंप्यूटर की मदद से डिज़ाइन (सीएडी) की गई ड्रॉइंग से लेज़र कट किया गया प्लास्टिक बॉक्स, एक चार्ट टैबलेट, और जांच किया जाने वाला डिवाइस (डीयूटी) शामिल होता है. यहां दी गई टेबल में, अलग-अलग तरह के ITS-in-a-box रिग की सुविधाओं और स्पेसिफ़िकेशन के बारे में बताया गया है. सही रिग चुनने के लिए, DUT के फ़ील्ड ऑफ़ व्यू और फ़ोकस की कम से कम दूरी पर ध्यान दें. हमारा सुझाव है कि 60 से 110 डिग्री के फ़ील्ड ऑफ़ व्यू और 22 से 31 सेमी की कम से कम फ़ोकस दूरी वाले कैमरा सिस्टम के लिए, मॉड्यूलर बेस रिग का इस्तेमाल करें. इससे कैमरे को अलग-अलग स्थितियों के हिसाब से अडजस्ट किया जा सकता है. अगर कैमरा सिस्टम में टेलीफ़ोटो लेंस शामिल है और उसकी कम से कम फ़ोकस दूरी 31 सें॰मी॰ से 110 सें॰मी॰ के बीच है, तो हमारा सुझाव है कि आप मॉड्यूलर बेस रिग का इस्तेमाल करें. इसमें टेली एक्सटेंशन होना चाहिए, जो लेंस की फ़ोकस दूरी से मेल खाता हो. टेलीस्कोपिक एक्सटेंशन, 50 से 90 सेंटीमीटर की लंबाई में उपलब्ध हैं.

रिग चार्ट की दूरी DUT कैमरे का फ़ील्ड ऑफ़ व्यू (अनुमानित) सुविधाएं
मॉड्यूलर बेस रिग 22 cm 60° - 120°
  • कम फ़ुटप्रिंट
  • सामने की ओर बड़ा अपर्चर कटआउट, जिससे कटआउट के बिना मल्टी-कैमरा सिस्टम की टेस्टिंग की जा सकती है और सेकंडरी कैमरे ब्लॉक नहीं होते
  • रिग को 90° घुमाया जा सकता है
  • मॉड्यूलर बेस रिग और टेली एक्सटेंशन रिग 22 सें॰मी॰ - 110 सें॰मी॰* 10° - 120°
  • सामने की ओर बड़ा एपर्चर कटआउट
  • यह उन कैमरों की जांच करने की सुविधा देता है जिनकी कम से कम फ़ोकस दूरी ज़्यादा होती है. जैसे, ज़्यादातर टेली कैमरे
  • अलग-अलग चार्ट की दूरी के हिसाब से, एक्सटेंशन रिग की लंबाई को अडजस्ट किया जा सकता है.
  • WFoV ITS-in-a-box 22 cm 60° - 120°
  • बड़ा फ़ुटप्रिंट, जिससे DUT को कई जगहों पर लगाया जा सकता है
  • टैबलेट जैसे बड़े DUT के लिए सहायता
  • RFoV ITS-in-a-box 31 सें॰मी॰ 60° - 90°
  • चार्ट टैबलेट
  • इंटरनल लाइटिंग सिस्टम
  • Gen2 ITS-in-a-box 31 सें॰मी॰ 60° - 90°
  • पेपर चार्ट
  • इंटरनल लाइटिंग सिस्टम
  • डीयूटी के लिए सबसे सही रिग का पता लगाने के लिए, यहां दी गई टेबल में इमेज कैप्चर करने के उदाहरण दिए गए हैं. इनमें चार्ट की दूरी और सीन के स्केल करने के प्रतिशत के अलग-अलग कॉम्बिनेशन का इस्तेमाल किया गया है. इसके लिए, 25° के फ़ील्ड ऑफ़ व्यू और 80 सेमी की कम से कम फ़ोकस दूरी वाले कैमरे का इस्तेमाल किया गया है. इस उदाहरण के लिए, 30 या 50 सेंटीमीटर के एक्सटेंशन वाला मॉड्यूलर बेस रिग सबसे सही है. इससे चार्ट की दूरी 50 या 80 सेंटीमीटर हो जाती है. चार्ट से 31 सेमी की दूरी पर ली गई इमेज बहुत धुंधली है. इसलिए, हो सकता है कि जांच के नतीजे सही न आएं.
    चार्ट की दूरी सीन को स्केल करने का प्रतिशत इमेज
    31 सें॰मी॰ 33%
    50 से॰मी॰ 50%
    80 cm 100%

    Camera ITS-in-a-box का इस्तेमाल शुरू करने के लिए:

    1. मॉड्यूलर, WFoV या RFoV और सेंसर फ़्यूज़न ITS-in-a-box खरीदें या बनाएं.
    2. कैमरा आईटीएस सॉफ़्टवेयर की मदद से, टैबलेट को कॉन्फ़िगर करें.
    3. टेस्ट चलाएं.
    4. डीयूटी से नतीजे पाएं.

    टैबलेट को कॉन्फ़िगर करना

    इस सेक्शन में, CameraITS डायरेक्ट्री में मौजूद कैमरा आईटीएस टेस्ट के साथ इस्तेमाल करने के लिए, टैबलेट सेट अप करने के सिलसिलेवार निर्देश दिए गए हैं. इन निर्देशों में, Pixel C को उदाहरण के तौर पर इस्तेमाल किया गया है. टैबलेट से जुड़ी ज़रूरी शर्तों और सुझावों के बारे में जानने के लिए, टैबलेट से जुड़ी ज़रूरी शर्तें लेख पढ़ें.

    ध्यान दें: Camera ITS की Python स्क्रिप्ट, टैबलेट पर ये विकल्प अपने-आप सेट कर देती हैं:
    सेटिंग > डिसप्ले > स्लीप > 30 मिनट तक इस्तेमाल न करने पर
    आस-पास की रोशनी के हिसाब से स्क्रीन की चमक > बंद है

    1. टैबलेट को चार्ज करें और उसे चालू करें. अगर खाता सेट अप करने के लिए कहा जाता है, तो इसे छोड़ दें (Camera ITS के लिए, टैबलेट से लिंक किए गए किसी खाते की ज़रूरत नहीं होती).
    2. टैबलेट को Android 7.0 या इसके बाद के वर्शन पर अपडेट करें. Android 6.x और इससे पहले के वर्शन पर, Camera ITS काम नहीं करता.
    3. डेवलपर मोड चालू करें.
    4. सेटिंग पर वापस जाएं और डेवलपर के लिए सेटिंग और टूल चुनें.
      विकल्प चालू करना
      • चालू है
      • सचेत रहें
      • यूएसबी डीबग करने की सुविधा (इससे होस्ट को टैबलेट को डीबग मोड में चलाने की अनुमति मिलती है. टैबलेट को पहली बार होस्ट से कनेक्ट करने पर, टैबलेट पर यह मैसेज दिखता है: क्या यूएसबी डीबग करने की अनुमति देनी है? अगर टैबलेट पर डीबग करने का प्रॉम्प्ट नहीं दिखता है, तो टैबलेट को डिसकनेक्ट करें और फिर से कनेक्ट करें.)
      विकल्प बंद करना
      • अपने आप होने वाले सिस्टम अपडेट
      • यूएसबी पर ऐप्लिकेशन की पुष्टि करें
    5. उपलब्ध डिवाइसों की सूची बनाने के लिए, $ adb devices चलाकर DUT और चार्ट आईडी का पता लगाएं. device_id और chart_id का पता लगाने के लिए, डिवाइसों को प्लग और अनप्लग करें. साथ ही, देखें कि कौनसे डिवाइस कनेक्ट और डिसकनेक्ट होते हैं.
    6. तीन बार टेस्ट रन करें, ताकि टैबलेट की स्क्रीन पर चार्ट को धुंधला करने वाले संकेतों और उपयोगकर्ता के प्रॉम्प्ट को हटाया जा सके.
      1. टैबलेट को टेबल पर इस तरह रखें कि उसका डिसप्ले ऊपर की ओर हो. टैबलेट को बॉक्स के पिछले पैनल से न जोड़ें.
      2. यह कमांड चलाएं:
        python tools/run_all_tests.py device=$device_id camera=0 chart=$chart_id scenes=2,3
        
        सीन 2 और 3 में, टैबलेट पर इमेज दिखाने की ज़रूरत होती है. इसलिए, टैबलेट पर यह मैसेज दिखता है: क्या Drive को आपके डिवाइस पर मौजूद फ़ोटो, मीडिया, और फ़ाइलें ऐक्सेस करने की अनुमति देनी है?. अनुमति दें पर क्लिक करके, इस प्रॉम्प्ट को हटाएं और आने वाले समय में ऐसे प्रॉम्प्ट दिखने से रोकें.
      3. निर्देश को फिर से चलाएं. टैबलेट पर यह मैसेज दिखता है: क्या आपको इस फ़ाइल की कॉपी सेव करनी है? साथ ही, Google Drive का सुझाव दिया जाता है. इस प्रॉम्प्ट को हटाएं. साथ ही, आने वाले समय में ऐसे प्रॉम्प्ट न दिखें. इसके लिए, Drive आइकॉन दबाएं. इसके बाद, Drive पर अपलोड करने के लिए, रद्द करें पर क्लिक करें.
      4. आखिर में, tools/run_all_tests.py चलाएं और पुष्टि करें कि स्क्रिप्ट के अलग-अलग सीन पर स्विच करने के दौरान, सीन अपने-आप बदल रहे हैं. ज़्यादातर टेस्ट में, कैमरा चार्ट पर फ़ोकस नहीं करता है. इसलिए, वे फ़ेल हो जाते हैं. हालांकि, यह पुष्टि की जा सकती है कि टैबलेट, स्क्रीन पर कोई प्रॉम्प्ट या अन्य पॉप-अप दिखाए बिना, सीन के बीच सही तरीके से स्विच कर रहा है.

    टेस्ट चलाना

    ITS-in-a-box चलाने से पहले, पक्का करें कि आपके टेस्ट सेटअप में ये हार्डवेयर और सॉफ़्टवेयर शामिल हों:

    • एक (1) आईटीएस-इन-अ-बॉक्स
    • सीन दिखाने के लिए, एक (1) हाई रिज़ॉल्यूशन 10" टैबलेट, सीरियल नंबर: 5811000011
    • एक (1) डीयूटी, जिस पर CTS Verifier 7.0_8+ ऐप्लिकेशन इंस्टॉल हो. DUT का उदाहरण:
      • बैक कैमरे (0) की टेस्टिंग के लिए, एक(1) Pixel NOF26W, S/N: FA6BM0305016. सीटीएस वेरिफ़ायर ऐप्लिकेशन इंस्टॉल करने के लिए, android-cts-verifier.zip को अनज़िप करें. इसके बाद,
        adb -s FA6BM0305016 install -r -g android-cts-verifier/CtsVerifier.apk
        

    टैबलेट पर सीन चलाना

    बैक कैमरे पर सीन 0 से 4, 6, और scene_change चलाने के लिए:

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

    उदाहरण:

    कैमरा 0 का सीरियल नंबर: FA6BM0305016
    पहली इमेज. Camera 0 S/N: FA6BM0305016

    सीन फिर से जनरेट करने की कोशिश करें

    किसी एक कैमरे के लिए, सीन को फिर से आज़माया जा सकता है:

    • किसी एक कैमरे पर सीन फिर से आज़माने के लिए:
      python tools/run_all_tests.py device=FA6BM0305016 camera=0 scenes=3,4
      

    सीन 5 चलाएं

    सीन 5 के लिए, खास सेटअप और खास लाइटिंग की ज़रूरत होती है. ज़्यादा जानकारी के लिए, CTS Verifier में CameraITS.pdf देखें. इसे Compatibility Test Suite के डाउनलोड पर जाकर डाउनलोड किया जा सकता है. आपको सीन 5 को अलग से (बॉक्स के बाहर) और TEST_BED_MANUAL testbed के साथ चलाना होगा.

    कैमरा सीन 5
    दूसरी इमेज. कैमरा सीन 5

    किसी एक डिवाइस पर, सामने और पीछे वाले कैमरों के लिए सीन 5 चलाने के लिए:

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

    नतीजे पाएं

    टेस्टिंग के दौरान नतीजे देखे जा सकते हैं. साथ ही, पूरे नतीजे रिपोर्ट के तौर पर सेव किए जा सकते हैं.

    • नतीजे देखें. Camera ITS के नतीजों को रिपोर्ट के तौर पर सेव करने के लिए:
      1. पास करें पर क्लिक करें और रिपोर्ट सेव करें.
        कैमरे की आईटीएस रिपोर्ट
        तीसरी इमेज. कैमरे के आईटीएस की रिपोर्ट
      2. डिवाइस से रिपोर्ट पाएं:
        adb -s FA6BM0305016 pull /sdcard/verifierReports
        
      3. रिपोर्ट फ़ाइल को अनज़िप करें और test_result.xml देखें.
        कैमरे की आईटीएस रिपोर्ट
        चौथी इमेज. कैमरा आईटीएस रिपोर्ट

    टैबलेट से जुड़ी ज़रूरी शर्तें

    Android 15 और इसके बाद के वर्शन वाले टैबलेट, जिनका इस्तेमाल आईटीएस चार्ट दिखाने के लिए किया जाता है वे इस सूची में शामिल होने चाहिए. कम रोशनी वाले सीन की टेस्टिंग के लिए, जिन टैबलेट का इस्तेमाल किया जा सकता है उनकी सूची देखने के लिए, कम रोशनी वाले सीन के लिए इस्तेमाल किए जा सकने वाले टैबलेट पर जाएं. Android 14 या इससे पहले के वर्शन के लिए, Android 14 और इससे पहले के वर्शन वाले टैबलेट के लिए ज़रूरी शर्तें देखें.

    अनुमति वाली सूची में शामिल टैबलेट, इन शर्तों के आधार पर चुने जाते हैं:

    • डिसप्ले का साइज़ करीब 10 इंच और स्क्रीन रिज़ॉल्यूशन 1920 x 1200 पिक्सल से ज़्यादा होना चाहिए.
    • स्क्रीन की रोशनी कम करने के लिए, पल्स-विड्थ मॉड्यूलेशन (PWM) कंट्रोल का इस्तेमाल नहीं किया जाना चाहिए. इससे स्क्रीन में झिलमिलाहट होती है.
    • आईटीएस टेस्ट से भेजे गए adb कमांड को लागू कर सकता हो और स्क्रीन की तय की गई चमक के साथ चार्ट इमेज दिखा सकता हो.

    brightness एट्रिब्यूट की वैल्यू, टैबलेट के मॉडल के हिसाब से config.yml एट्रिब्यूट में सेट की जानी चाहिए. यह पता लगाने के लिए कि आपका टैबलेट मॉडल, अनुमति वाली सूची में मौजूद डिवाइस के नाम से मेल खाता है या नहीं, adb shell getprop | grep 'ro.product.device' adb कमांड चलाकर ro.product.device वैल्यू प्रिंट करें.

    डिवाइस डिसप्ले साइज़
    (इंच में)
    डिसप्ले साइज़
    (पिक्सल)
    टैबलेट के डाइमेंशन
    (इंच में)
    डिसप्ले
    की रोशनी
    डिवाइस का नाम
    (ro.product
    .device)
    टैबलेट ओएस
    वर्शन
    Google
    Pixel C
    10.2 2560 x 1800 9.53 x 7.05 x 0.28 96 ड्रैगन Android 6 या इसके बाद के वर्शन
    Honor
    Pad 8
    11 2000 x 1200 10.18 x 6.76 x 0.29 192 HNHEY-Q Android 12
    Honor
    Pad 20
    12.1 3000 x 1872 10.91 x 7.06 x 0.25 96 HNHEY4-Q, HNHEY4-Q1 Android 16
    Honor
    Pad V9
    11.5 2800 x 1840 10.2 x 6.93 x 0.24 192 HNROL-M, HNROL-M1 Android 15
    Huawei
    MediaPad m5
    10.8 2560 x 1600 10.18 x 6.76 x 0.29 192 HWCMR09 Android 8+
    Lenovo
    Tab M10 Plus
    10.3 1920 x 1200 9.61 x 6.03 x 0.32 192 X606F Android 9 या इसके बाद के वर्शन
    Lenovo
    Tab P11
    11 2000 x 1200 10.17 x 6.42 x 0.30 192 J606F Android 11 या इसके बाद के वर्शन
    Lenovo
    Tab P11 Gen2
    11.5 2000 x 1200 10.59 x 6.67 x 0.29 192 TB350FU Android 13+
    Nokia
    T21
    10.4 2000 x 1200 9.74 x 6.19 x 0.30 192 AGTA Android 12+
    Samsung
    Galaxy Tab A7
    10.4 2000 x 1200 9.75 x 6.2 x 0.28 192 gta4lwifi Android 10 या इसके बाद के वर्शन
    Samsung
    Galaxy Tab A8
    10.5 1920 x 1200 9.72 x 6.73 x 0.27 192 gta8wifi Android 11 या इसके बाद के वर्शन
    Samsung
    Galaxy Tab A9+
    11 1920 x 1200 10.12 x 6.64 x 0.27 192 gta9pwifi Android 13+
    Samsung
    Galaxy Tab S10 FE
    11 2304 x 1440 10.01 x 6.53 x 0.24 192 gts10fewifi, gts10fe Android 15+
    Vivo
    Pad2
    12.1 2800 x 1968 10.47 x 7.54 x 0.26 192 DPD2221 Android 13+
    Xiaomi
    Pad 5
    11 2560 x 1600 10.18 x 6.76 x 0.29 192 nabu Android 13+
    Xiaomi
    Redmi
    Pad
    10.61 2000 x 1200 9.86 x 6.22 x 0.28 192 yunluo Android 14 या इसके बाद के वर्शन
    Xiaomi
    Redmi
    Pad SE
    11 2560 x 1600 10.06 x 6.58 x 0.29 192 xun Android 13+

    कम रोशनी वाले सीन के लिए, काम करने वाले टैबलेट

    यहां दी गई टेबल में, उन टैबलेट की सूची दी गई है जिन पर कम रोशनी वाले सीन की टेस्टिंग की जा सकती है. ये टैबलेट, कम रोशनी वाले सीन के लिए ज़रूरी ब्राइटनेस लेवल तक पहुंच सकते हैं. इससे डीयूटी, चार्ट को सही तरीके से दिखा पाता है.
    डिवाइस डिवाइस का नाम (ro.product.device) टैबलेट का ओएस वर्शन
    Honor
    Pad V9
    HNROL-M1 Android 15+
    Huawei
    MediaPad m5
    HWCMR09 Android 8+
    Samsung Galaxy Tab A8 gta8wifi Android 11 या इसके बाद के वर्शन
    Samsung Galaxy Tab A9+ gta9pwifi Android 13+
    Xiaomi Pad 5 nabu Android 13+
    Xiaomi
    Redmi
    Pad SE
    xun Android 13+

    वाइड-गैमट सीन के लिए, काम करने वाले टैबलेट

    यहां दी गई टेबल में उन टैबलेट की सूची दी गई है जिन पर वाइड-गैमट सीन की टेस्टिंग की जा सकती है. इन टैबलेट में ऐसे डिसप्ले होते हैं जो Display P3 वाइड कलर गैमट और ज़रूरी कलर मोड के साथ काम करते हैं.
    डिवाइस डिवाइस का नाम (ro.product.device) टैबलेट का ओएस वर्शन
    Honor
    Pad 20
    HNHEY4-Q, HNHEY4-Q1 Android 16 और उसके बाद के वर्शन
    Samsung
    Galaxy Tab S10 FE
    gts10fewifi, gts10fe Android 15 और उसके बाद के वर्शन

    Android 14 और इससे पुराने वर्शन वाले टैबलेट के लिए ज़रूरी शर्तें

    टैबलेट का डिसप्ले साइज़ करीब 10 इंच होना चाहिए. साथ ही, स्क्रीन रिज़ॉल्यूशन 1920 x 1200 पिक्सल से ज़्यादा होना चाहिए. टैबलेट में, चमक के लेवल को सेट करने के लिए पल्स विड्थ मॉड्यूलेशन (PWM) का इस्तेमाल नहीं किया जाना चाहिए. टैबलेट के मॉडल के हिसाब से, config.yml में brightness वैल्यू सेट होनी चाहिए. नीचे दी गई टेबल में, आईटीएस टेस्टिंग के लिए सुझाए गए टैबलेट की सूची दी गई है. साथ ही, उन टैबलेट के साथ काम करने वाले डीयूटी के Android वर्शन की जानकारी दी गई है.

    डिवाइस डिसप्ले साइज़
    (इंच में)
    डिसप्ले साइज़
    (पिक्सल)
    टैबलेट के डाइमेंशन
    (इंच में)
    डिसप्ले
    की रोशनी

    बिट दिखाएं

    DUT ओएस पर काम करता है

    टैबलेट ओएस के साथ काम करता है
    Samsung
    Galaxy Tab A8
    10.5 1920 x 1200 9.72 x 6.37 x 0.27 192 8 Android 13+ Android 11 या इसके बाद के वर्शन
    Xiaomi
    Pad 5
    11 2560 x 1600 10.03 x 6.55 x 0.27 1024 11 Android 12+ सिर्फ़ Android 11
    Lenovo
    Tab M10 Plus
    10.3 1920 x 1200 9.61 x 6.03 x 0.32 192 8 Android 12+ Android 9 या इसके बाद के वर्शन
    Samsung
    Galaxy Tab A7
    10.4 2000 x 1200 9.75 x 6.2 x 0.28 192 8 Android 12+ Android 10 या इसके बाद के वर्शन
    Chuwi
    Hi9 Air 10.1
    10.1 2560 x 1600 9.52 x 6.77 x 0.31 192 8 Android 7+ Android 8+
    Asus
    ZenPad 3
    9.7 2048 x 1536 9.47 x 6.44 x 0.28 192 8 Android 7+ Android 6 या इसके बाद के वर्शन
    Huawei
    MediaPad m5
    10.8 2560 x 1600 10.18 x 6.76 x 0.29 192 8 Android 7+ Android 8+
    Google
    Pixel C
    10.2 2560 x 1800 9.53 x 7.05 x 0.28 96 8 Android 7+ Android 6 या इसके बाद के वर्शन
    Sony
    Xperia Z4
    10.1 2560 x 1600 10 x 6.57 x 0.24 192 8 Android 7+ Android 5 या इसके बाद के वर्शन

    अक्सर पूछे जाने वाले सवाल

    सवाल 1: मैं कैसे तय करूं कि मेरे डिवाइस के लिए मुझे किन टेस्ट रिग की ज़रूरत है?

    RFoV ITS-in-a-box revision 1, CameraITS/tests डायरेक्ट्री में टैबलेट के सीन टेस्ट के लिए RFoV कैमरों की जांच करता है. RFoV को इस तरह से तय किया जाता है: 60° < FoV < 90°. ज़्यादा FoV वाले कैमरों के लिए, इमेज में लाइट दिख सकती हैं या चार्ट में FoV का बहुत छोटा हिस्सा दिख सकता है. इससे टेस्ट के नतीजों पर असर पड़ता है.

    WFoV ITS-in-a-box revision 2, CameraITS/tests डायरेक्ट्री में टैबलेट के सीन टेस्ट के लिए WFoV कैमरों की जांच करता है. WFoV को इस तरह से तय किया जाता है: FoV >= 90°. रिवाइज़न 2 का टेस्ट रिग, फ़ंक्शन के हिसाब से रिवाइज़न 1 जैसा ही है, लेकिन यह बड़ा है. Revision 2 टेस्ट रिग, Android 9 और इसके बाद के वर्शन में RFoV और WFoV, दोनों तरह के कैमरों की जांच कर सकता है. बड़ी स्क्रीन होने की वजह से, अगर DUT एक टैबलेट है, तो दूसरा वर्शन सबसे सही है

    मॉड्यूलर बेस रिग , CameraITS/tests डायरेक्ट्री में टैबलेट सीन टेस्ट के लिए WFoV कैमरों की जांच करता है. WFoV को इस तरह से तय किया जाता है: FoV >= 90°. मॉड्यूलर बेस रिग, Android 9 और इसके बाद के वर्शन पर काम करने वाले डिवाइसों के लिए, RFoV और WFoV, दोनों तरह के कैमरों की जांच कर सकता है. यह टेली एक्सटेंशन रिग के साथ भी काम करता है. इसे ज़्यादा से ज़्यादा फ़ोकस दूरी वाले टेली कैमरों की जांच करने के लिए अटैच किया जा सकता है. मॉड्यूलर बेस रिग, WFoV ITS-in-a-box की तरह ही काम करता है, लेकिन यह छोटा होता है.

    सेंसर फ़्यूज़न बॉक्स, कैमरे/जायरोस्कोप के टाइमिंग ऑफ़सेट की जांच करता है. साथ ही, यह मल्टी-कैमरा सिस्टम के फ़्रेम सिंक की जांच करता है. ये जांचें scenes=sensor_fusion में की जाती हैं. REALTIME फ़ीचर फ़्लैग के लिए, कैमरे/जायरोस्कोप का टाइमिंग ऑफ़सेट 1 मि॰से॰ से कम होना चाहिए.

    एक से ज़्यादा कैमरे वाले डिवाइसों की जांच के लिए, एक ही रिग का इस्तेमाल किया जा सकता है. इससे स्टैटिक आईटीएस टेस्ट किए जा सकते हैं. अगर कैमरे में REALTIME सुविधा वाला फ़्लैग मौजूद है, तो सेंसर फ़्यूज़न रिग का इस्तेमाल किया जा सकता है.

    नीचे दी गई टेबल में, कॉन्फ़िगरेशन के कुछ उदाहरण दिए गए हैं.

    फ़ोकस की कम से कम दूरी कैमरे के फ़ील्ड ऑफ़ व्यू रीयलटाइम? सुझाए गए रिग नोट
    31 सेंटीमीटर - 22 सेंटीमीटर 75° नहीं मॉड्यूलर बेस, WFoV या RFoV Android 7.0 या इसके बाद का वर्शन
    31 सेंटीमीटर - 22 सेंटीमीटर 75° हां मॉड्यूलर बेस, WFoV या RFoV, और सेंसर फ़्यूज़न Android 9 या इसके बाद का वर्शन
    22 सेंटीमीटर या इससे कम 75° + 95° हां मॉड्यूलर बेस या WFoV और सेंसर फ़्यूज़न Android 9 या इसके बाद का वर्शन
    110 सें॰मी॰ - 22 सें॰मी॰ 75° + 95° + 20° हां मॉड्यूलर बेस और टेली एक्सटेंशन और सेंसर फ़्यूज़न Android 9 या इसके बाद का वर्शन
    110 सें॰मी॰ - 22 सें॰मी॰ 75° + 95° + 20° हां मॉड्यूलर बेस और टेली एक्सटेंशन और सेंसर फ़्यूज़न और Gen2 रिग
    22 सेंटीमीटर या इससे कम 75° + 95° टैबलेट नहीं WFoV Android 9 या इसके बाद का वर्शन

    Q2: How do I designate which test rig is in use?

    सही टेस्ट रिग चुनने के लिए, पक्का करें कि चार्ट की दूरी का पैरामीटर सही हो. rev1 टेस्ट रिग (RFoV) में चार्ट की दूरी 31 सें॰मी॰ है. वहीं, rev2 रिग (WFoV) में चार्ट की दूरी 22 सें॰मी॰ है. डिफ़ॉल्ट रूप से, चार्ट की दूरी 31 cm पर सेट होती है.

    Android 10 से Android 11

    Android 10 से 11 में सही टेस्ट रिग की पहचान करने के लिए, कमांड लाइन में dist फ़्लैग जोड़ें. dist के लिए डिफ़ॉल्ट वैल्यू 31 है. chart_distance पैरामीटर बदलने के लिए, यह कमांड चलाएं.
    python tools/run_all_tests.py ... chart=# dist=22
    

    Android 12 और इसके बाद के वर्शन

    Android 12 और इसके बाद के वर्शन में सही टेस्ट रिग की पहचान करने के लिए, chart_distance पैरामीटर को बदलने के लिए config.yml फ़ाइल में बदलाव किया जा सकता है.
    edit config.yml
    chart_distance: 31.0 → chart_distance: 22.0
    

    तीसरा सवाल: मैं टैबलेट की रोशनी को कैसे कंट्रोल करूं?

    डिफ़ॉल्ट रूप से, टैबलेट की चमक 96 पर सेट होती है.

    Android 7.0 से लेकर Android 9 तक के वर्शन वाले टैबलेट पर चमक बदलने के लिए, यह कमांड चलाएं:

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

    Android 10 से 11 तक वाले वर्शन पर चलने वाले टैबलेट की चमक बदलने के लिए, कमांड लाइन में brightness फ़्लैग जोड़कर वैल्यू बदली जा सकती है:

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

    Android 12 और इसके बाद के वर्शन वाले टैबलेट पर रोशनी बदलने के लिए, यह कमांड चलाएं:

    edit config.yml
    brightness: 96 → brightness: 192
    

    चौथा सवाल: मैं किसी एक टेस्ट को कैसे डीबग करूं?

    डीबग करने के मकसद से, टेस्ट अलग-अलग चलाए जा सकते हैं. हालांकि, जब तक पूरा सीन नहीं चलाया जाता, तब तक नतीजों की रिपोर्ट CtsVerifier.apk को नहीं भेजी जाती.

    Android 12 और इसके बाद के वर्शन में, किसी सीन को अलग से चलाने के लिए:

    1. config.yml फ़ाइल में बदलाव करें.

      edit config.yml
      camera: <camera-id> → camera:  0
      scene: <scene-name> → scene: scene4
    2. अलग-अलग टेस्ट चलाएं.

      python tests/scene4/test_aspect_ratio_and_crop.py -c config.yml --test_bed TEST_BED_TABLET_SCENES
      

    नतीजे, /tmp/logs/mobly/TEST_BED_TABLET_SCENES/ डायरेक्ट्री में प्रिंट किए जाते हैं. इन्हें रन टाइम के हिसाब से क्रम से लगाया जाता है.

    Android 11 और इससे पहले के वर्शन वाले डिवाइसों में किसी सीन को चलाने के लिए:

    1. tools/run_all_tests.py में scenes फ़्लैग जोड़कर, कोई सीन लोड करें:
      python tools/run_all_tests.py device=# camera=# chart=# scenes=#
      
    2. सीन के stdout में लोड होने के बाद, जांच रोकने के लिए Control+C दबाएं.

      अगर स्क्रीन पर सही सीन पहले से ही दिख रहा है, तो स्क्रीन चालू करें:

      python tools/wake_up_screen.py screen=#
      
    3. कोई एक टेस्ट चलाएं.

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

      इसके बाद, स्थानीय डायरेक्ट्री में प्लॉट जनरेट किए जाते हैं और स्क्रीन पर stdout और stderr प्रिंट किए जाते हैं.

      डीबग करने के बारे में ज़्यादा जानकारी पाने के लिए, स्क्रिप्ट में print स्टेटमेंट जोड़ें. डीबग करने के लिए, टेस्ट के आउटपुट को बढ़ाने के लिए debug=True फ़्लैग जोड़ें.

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

    tools/run_all_tests.py को चलाने पर, नतीजे लोकल स्क्रीन पर प्रिंट होते हैं और इमेज, जनरेट की गई /tmp/tmp### डायरेक्ट्री के बजाय लोकल डायरेक्ट्री में सेव होती हैं.

    पांचवां सवाल: मुझे टेस्ट को अलग-अलग फिर से चलाने के बजाय, पूरे सीन के तौर पर क्यों चलाना चाहिए?

    डीबग करने के लिए, टेस्ट अलग-अलग चलाए जा सकते हैं. हालांकि, जब तक पूरा सीन नहीं चलाया जाता, तब तक नतीजे CtsVerifier.apk को नहीं भेजे जाते.

    Camera ITS यह पक्का करता है कि तीसरे पक्ष के ऐप्लिकेशन में, कैमरे का इंटरफ़ेस काम करता हो. यूनिट टेस्ट की तरह ही, हर टेस्ट में कैमरे की किसी एक सुविधा पर फ़ोकस किया जाता है. भरोसेमंद तरीके से काम न करने की समस्या का पता लगाने के लिए, यह ज़रूरी है कि ये टेस्ट पूरे सीन के लिए एक ग्रुप के तौर पर पास हों. उदाहरण के लिए, ऐसा हो सकता है कि किसी सीन को फिर से चलाने पर, एक भरोसेमंद टेस्ट पास हो जाए. हालांकि, कई भरोसेमंद टेस्ट के पास होने की संभावना कम होती है.

    एक उदाहरण के तौर पर, मान लें कि किसी सीन में 10 टेस्ट हैं और हर टेस्ट के PASS नतीजे मिलने की संभावना 50% है. हर टेस्ट को अलग-अलग चलाने से, ऑपरेटर के पास कैमरे को Camera ITS पास कराने का ज़्यादा मौका होता है. हालांकि, अगर टेस्ट को एक सीन के तौर पर एग्रीगेट करके चलाया जाता है, तो सीन के पास होने की संभावना सिर्फ़ 0.1% होती है.

    छठा सवाल: मैं किसी एक सीन को कैसे चलाऊं या सीन के क्रम को कैसे बदलूं?

    डिफ़ॉल्ट रूप से, स्क्रिप्ट tools/run_all_tests.py सभी सीन को क्रम से चलाती है. हालांकि, सीन को अलग-अलग या तय किए गए क्रम में चलाया जा सकता है. साथ ही, इसकी शिकायत CtsVerifier.apk से की जा सकती है.

    Android 11 या इससे पहले के वर्शन में, किसी सीन (उदाहरण के लिए, सीन 2) को चलाने या एक से ज़्यादा सीन को किसी खास क्रम में चलाने के लिए:

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

    Android 12 और इसके बाद के वर्शन में, किसी सीन को अलग-अलग चलाने या एक से ज़्यादा सीन को किसी खास क्रम में चलाने के लिए:

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

    अतिरिक्त पैरामीटर, config.yml फ़ाइल में सेट किए जाते हैं.

    Q7: टैबलेट सेटअप के साथ सीन 1 के कई टेस्ट फ़ेल हो जाते हैं, लेकिन पेपर चार्ट के साथ पास हो जाते हैं. क्या समस्या है?

    पक्का करें कि टैबलेट और टेस्ट एनवायरमेंट, यहां दी गई खास बातों के मुताबिक हों.

    टैबलेट की खास बातें

    पक्का करें कि टैबलेट इन ज़रूरी शर्तों को पूरा करता हो:

    • डिसप्ले साइज़ (इंच में): 10 इंच
    • डिसप्ले साइज़ (पिक्सल): 1920 x 1200 पिक्सल से ज़्यादा

    ज़्यादा जानकारी के लिए, टैबलेट से जुड़ी ज़रूरी शर्तें देखें.

    टैबलेट की रोशनी

    अगर टैबलेट की डिसप्ले ब्राइटनेस बहुत कम है, तो हो सकता है कि टेस्ट के नतीजे सही न हों.

    ज़्यादा जानकारी के लिए, मैं टैबलेट की चमक को कैसे कंट्रोल करूं? लेख पढ़ें

    बॉक्स लाइटिंग का लेवल (इसके लिए लक्स मीटर की ज़रूरत होती है)

    पक्का करें कि टैबलेट खोलने पर, टारगेट लक्स वैल्यू 100 से 300 के बीच हो.

    अगर लक्स लेवल बहुत ज़्यादा है, तो scene1/test_param_flash_mode.py, FAIL दिखाता है. अगर लक्स लेवल बहुत कम है, तो कई टेस्ट पूरे नहीं हो पाते.

    आठवां सवाल: मैं सेंसर फ़्यूज़न टेस्ट को कैसे डीबग करूं?

    1. पक्का करें कि आप किसी dialout ग्रुप में हों.

      groups | egrep ‘dialout'
    2. पक्का करें कि सेंसर फ़्यूज़न कंट्रोलर कनेक्ट हो. इसके लिए, यह पता लगाएं कि Microchip Technology, यूएसबी पोर्ट से कनेक्ट है या नहीं.

      lsusb
      …
      Bus 003 Device 004: ID 04d8:fc73 Microchip Technology, Inc.
      …
      
    3. नीचे दी गई कमांड का इस्तेमाल करके, टेस्ट को कई बार चलाएं, ताकि टेस्ट के प्रयासों का डिस्ट्रिब्यूशन मिल सके.

      Android 11 या इससे पहले के वर्शन में:

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

      Android 12 और इसके बाद के वर्शन वाले डिवाइसों में:

      python tools/run_sensor_fusion_box.py num_runs=10
      

      अतिरिक्त पैरामीटर, config.yml फ़ाइल में सेट किए जाते हैं.

      रन के आउटपुट, sensor_fusion_# फ़ोल्डर में बनाए गए /tmp/tmp### फ़ोल्डर में होते हैं. यहां #, रन नंबर होता है. ऐसा इन वजहों से हो सकता है:

      1. फ़ोन को बीच में सही तरीके से नहीं रखा गया है.
      2. इमेज में ज़रूरी सुविधाएं नहीं मिली हैं. ऐसा अक्सर फ़ील्ड ऑफ़ व्यू या रोशनी की वजह से होता है.
      3. जवाब में मिला FAIL मान्य है. साथ ही, कैमरे और जायरोस्कोप के बीच टाइमिंग ऑफ़सेट को ठीक किया जाना चाहिए.

    सवाल 9: टेस्टिंग से जुड़ी किसी गड़बड़ी की शिकायत करते समय, मुझे कौनसी जानकारी शामिल करनी चाहिए?

    टेस्टिंग से जुड़ी किसी गड़बड़ी की शिकायत करते समय, टेस्ट के लिए जनरेट की गई फ़ाइलें और इमेज शामिल करें.

    1. अगर आपने tools/run_all_tests.py के ज़रिए टेस्ट किया है, तो बग में /tmp/ डायरेक्ट्री को ज़िप करके अटैच करें.
    2. अगर आपने टेस्ट खुद किया है, तो स्क्रीन पर दिखने वाले सभी आउटपुट और जनरेट की गई इमेज को बग से अटैच करें.

    गड़बड़ी की रिपोर्ट भी शामिल करें. जब टेस्ट फ़ेल हो जाए, तब गड़बड़ी की रिपोर्ट जनरेट करने के लिए, यहां दिया गया निर्देश इस्तेमाल करें. साथ ही, जनरेट की गई ज़िप फ़ाइल को गड़बड़ी की रिपोर्ट में अटैच करें.

    adb -s device_id bugreport
    

    सवाल 10: मुझे ऐसे कैमरे के साथ sensor_fusion टेस्ट सीन चलाना है जिसका फ़ोकस कम से कम दूरी पर होता है. साथ ही, 25 सेमी की दूरी पर मौजूद चार्ट की इमेज धुंधली हो जाती हैं.

    अगर आपका कैमरा 25 सेंटीमीटर की दूरी पर फ़ोकस नहीं कर पाता है, तो सेंसर फ़्यूज़न बॉक्स के चार्ट-माउंटिंग पैनल को हटा दें. चार्ट को इतनी दूरी पर रखें कि डीयूटी उस पर फ़ोकस कर सके. साथ ही, डीयूटी और चार्ट के बीच की दूरी को config.yml में बदलकर chart_distance करें. पांचवें फ़िगर में, इस स्थिति में चार्ट की दूरी को मापने का तरीका दिखाया गया है.

    sensor_fusion TELE testing example6
    पांचवीं इमेज. सेंसर फ़्यूज़न टेस्ट सीन के लिए, चार्ट की दूरी मापना
      edit config.yml
    chart_distance: 25 → chart_distance: DISTANCE_BETWEEN_DUT_AND_CHART
    

    सवाल 11: मुझे ऐसे कैमरे के लिए टैबलेट टेस्ट सीन चलाने हैं जिसकी कम से कम फ़ोकस दूरी 31 सेमी है. इस दूरी पर, कैमरे से ली गई इमेज धुंधली हो जाती हैं.

    अगर आपका कैमरा 31 सेंटीमीटर (आरएफ़ओवी टेस्ट रिग की गहराई) पर टेस्ट करने के दौरान, साफ़ इमेज नहीं ले पाता है, तो कैमरे को रिग के सामने इस तरह से लगाएं कि चार्ट सीन, कैमरे के फ़ील्ड ऑफ़ व्यू (एफ़ओवी) का करीब 60% हिस्सा कवर करे. इससे साफ़ इमेज मिलेंगी. यह दूरी, कैमरे की कम से कम फ़ोकस दूरी से कम हो सकती है. config.yml में chart_distance को 31 सें॰मी॰ पर छोड़ें. टैबलेट पर चार्ट की स्केलिंग, कैमरे के फ़ील्ड ऑफ़ व्यू (FoV) के हिसाब से तय होती है. इसके बारे में यहां दी गई टेबल में बताया गया है:

    कैमरे का फ़ील्ड ऑफ़ व्यू चार्ट का स्केल फ़ैक्टर
    60 > FoV > 40 0.67x
    40 > FoV > 25 0.5x
    FoV < 25 0.33x

    Q12: लॉजिकल मल्टी-कैमरा एपीआई की मदद से, किन कैमरों पर कौनसे टेस्ट किए जाते हैं?

    अगर आपका कैमरा REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA का इस्तेमाल करता है, तो आईटीएस के सभी टेस्ट, टॉप-लेवल के लॉजिकल कैमरे पर चलाए जाते हैं. आईटीएस टेस्ट का एक सबसेट, फ़िज़िकल सब-कैमरों पर चलाया जाता है. इन टेस्ट को tools/run_all_tests.py में SUB_CAMERA_TESTS कॉन्स्टेंट के तहत लिस्ट किया गया है.