Android Camera Image Test Suite (ITS), Android Compatibility Test Suite (CTS) Verifier का हिस्सा है. इसमें ऐसे टेस्ट शामिल होते हैं जो इमेज के कॉन्टेंट की पुष्टि करते हैं. CTS Verifier, Camera ITS-in-a-box की मदद से, आईटीएस टेस्ट को अपने-आप पूरा होने की सुविधा देता है; मैन्युअल टेस्ट की सुविधा, Android डिवाइस के सभी फ़ॉर्म फ़ैक्टर पर काम करती है.
ITS-in-a-box के ये फ़ायदे हैं:
- ऑटोमेशन. जांच के दौरान, किसी व्यक्ति के हस्तक्षेप की ज़रूरत नहीं होती.
- समस्या को आसानी से हल किया जा सकता है. टेस्ट एनवायरमेंट में एक जैसा कॉन्फ़िगरेशन होने से, सेटअप से जुड़ी गड़बड़ियां कम होती हैं और टेस्ट को दोहराना आसान हो जाता है.
- काम की क्षमता. अलग-अलग कैमरे/सीन के लिए फिर से कोशिश करने की सुविधा से, टेस्ट को ज़्यादा असरदार तरीके से लागू किया जा सकता है.
रिग चुनना
आईटीएस-इन-अ-बॉक्स में एक प्लास्टिक बॉक्स होता है. इसे कंप्यूटर की मदद से डिज़ाइन (सीएडी) की गई ड्रॉइंग से लेज़र कट किया जाता है. इसमें एक चार्ट टैबलेट और जांच किया जाने वाला डिवाइस (डीयूटी) भी होता है. यहां दी गई टेबल में, उपलब्ध अलग-अलग आईटीएस-इन-अ-बॉक्स रिग की सुविधाओं और खास बातों के बारे में बताया गया है. सही रिग चुनने के लिए, DUT के फ़ील्ड ऑफ़ व्यू और फ़ोकस की कम से कम दूरी पर ध्यान दें. हमारा सुझाव है कि 60 से 110 डिग्री के फ़ील्ड ऑफ़ व्यू और 22 से 31 सेमी की कम से कम फ़ोकस दूरी वाले कैमरा सिस्टम के लिए, मॉड्यूलर बेस रिग का इस्तेमाल करें. इससे कैमरे को अडजस्ट करने में आसानी होती है. अगर कैमरा सिस्टम में 31 से 110 सेंटीमीटर के बीच की कम से कम फ़ोकस दूरी वाला टेलीफ़ोटो लेंस शामिल है, तो हमारा सुझाव है कि आप मॉड्यूलर बेस रिग का इस्तेमाल करें. इसमें टेली एक्सटेंशन होना चाहिए, जो लेंस की फ़ोकस दूरी से मेल खाता हो. टेली एक्सटेंशन, 50 से 90 सेंटीमीटर की लंबाई में उपलब्ध हैं.
रिग | चार्ट की दूरी | DUT कैमरे का FoV (अनुमानित) | सुविधाएं |
---|---|---|---|
मॉड्यूलर बेस रिग | 22 cm | 60° - 120° |
|
मॉड्यूलर बेस रिग और टेली एक्सटेंशन रिग | 22 सें॰मी॰ - 110 सें॰मी॰* | 10° - 120° | ![]() |
WFoV ITS-in-a-box | 22 cm | 60° - 120° |
|
RFoV ITS-in-a-box | 31 सें॰मी॰ | 60° - 90° |
|
Gen2 ITS-in-a-box | 31 सें॰मी॰ | 60° - 90° |
|
चार्ट की दूरी | सीन को स्केल करने का प्रतिशत | इमेज |
---|---|---|
31 सें॰मी॰ | 33% |
![]() |
50 से॰मी॰ | 50% |
![]() |
80 सें॰मी॰ | 100% |
![]() |
Camera ITS-in-a-box का इस्तेमाल शुरू करने के लिए:
- मॉड्यूलर, WFoV या RFoV और सेंसर फ़्यूज़न ITS-in-a-box खरीदें या बनाएं.
- कैमरा आईटीएस सॉफ़्टवेयर की मदद से, टैबलेट को कॉन्फ़िगर करें.
- टेस्ट चलाएं.
- डीयूटी से नतीजे पाएं.
टैबलेट को कॉन्फ़िगर करना
इस सेक्शन में,
CameraITS
डायरेक्ट्री में मौजूद
कैमरा आईटीएस टेस्ट के लिए, टैबलेट सेट अप करने के सिलसिलेवार निर्देश दिए गए हैं. इन निर्देशों में, Pixel C को उदाहरण के तौर पर इस्तेमाल किया गया है. टैबलेट से जुड़ी ज़रूरी शर्तों और सुझावों के बारे में जानने के लिए, टैबलेट से जुड़ी ज़रूरी शर्तें लेख पढ़ें.
ध्यान दें: Camera ITS की Python स्क्रिप्ट, टैबलेट पर ये विकल्प अपने-आप सेट कर देती हैं:
सेटिंग > डिसप्ले > स्लीप > 30 मिनट तक कोई गतिविधि न होने पर
अडैप्टिव ब्राइटनेस > बंद है
- टैबलेट को चार्ज करें और उसे चालू करें. अगर खाता सेट अप करने के लिए कहा जाता है, तो इसे छोड़ें (Camera ITS के लिए, टैबलेट से लिंक किए गए किसी खाते की ज़रूरत नहीं होती).
- टैबलेट को Android 7.0 या इसके बाद के वर्शन पर अपडेट करें. Android 6.x और इससे पहले के वर्शन पर, Camera ITS काम नहीं करता.
- डेवलपर मोड चालू करें.
- सेटिंग पर वापस जाएं और डेवलपर के लिए सेटिंग और टूल चुनें.
विकल्प चालू करना - चालू है
- सचेत रहें
- यूएसबी डीबग करने की सुविधा (इससे होस्ट को टैबलेट को डीबग मोड में चलाने की अनुमति मिलती है. टैबलेट को पहली बार होस्ट से कनेक्ट करने पर, टैबलेट पर यह मैसेज दिखता है: क्या यूएसबी डीबग करने की अनुमति देनी है? अगर टैबलेट पर डीबग करने का प्रॉम्प्ट नहीं दिखता है, तो टैबलेट को डिसकनेक्ट करें और फिर से कनेक्ट करें.)
विकल्प बंद करना - अपने आप होने वाले सिस्टम अपडेट
- यूएसबी पर ऐप्लिकेशन की पुष्टि करें
- उपलब्ध डिवाइसों की सूची बनाने के लिए,
$ adb devices
चलाकर DUT और चार्ट आईडी का पता लगाएं.device_id
औरchart_id
का पता लगाने के लिए, डिवाइसों को प्लग और अनप्लग करें. साथ ही, देखें कि कौनसे डिवाइस कनेक्ट और डिसकनेक्ट होते हैं. - तीन बार टेस्ट रन करें, ताकि टैबलेट की स्क्रीन पर चार्ट को धुंधला करने वाले संकेतों और उपयोगकर्ता के प्रॉम्प्ट को हटाया जा सके.
- टैबलेट को टेबल पर इस तरह रखें कि उसका डिसप्ले ऊपर की ओर हो. टैबलेट को बॉक्स के पिछले पैनल से अटैच न करें.
- यह कमांड चलाएं:
दूसरे और तीसरे सीन में, टैबलेट पर इमेज दिखाने की ज़रूरत होती है. इसलिए, टैबलेट पर यह मैसेज दिखता है: क्या Drive को आपके डिवाइस पर मौजूद फ़ोटो, मीडिया, और फ़ाइलें ऐक्सेस करने की अनुमति दें?. अनुमति दें पर क्लिक करके, इस प्रॉम्प्ट को हटाएं और आने वाले समय में ऐसे प्रॉम्प्ट न पाएं.python tools/run_all_tests.py device=$device_id camera=0 chart=$chart_id scenes=2,3
- कमांड को फिर से चलाएं. टैबलेट पर यह मैसेज दिखता है: क्या आपको इस फ़ाइल की एक कॉपी रखनी है? साथ ही, Google Drive का सुझाव दिया जाता है. इस प्रॉम्प्ट को हटाएं. साथ ही, आने वाले समय में ऐसे प्रॉम्प्ट न दिखें. इसके लिए, Drive आइकॉन दबाएं. इसके बाद, Drive पर अपलोड करने के लिए रद्द करें पर क्लिक करें.
- आखिर में,
tools/run_all_tests.py
चलाएं और पुष्टि करें कि स्क्रिप्ट के अलग-अलग सीन के हिसाब से, सीन अपने-आप बदल रहे हैं. ज़्यादातर टेस्ट में, कैमरा चार्ट पर फ़ोकस नहीं करता. इसलिए, टेस्ट फ़ेल हो जाते हैं. हालांकि, यह पुष्टि की जा सकती है कि टैबलेट, स्क्रीन पर कोई प्रॉम्प्ट या अन्य पॉप-अप दिखाए बिना, सीन के बीच सही तरीके से स्विच कर रहा है.
टेस्ट चलाना
ITS-in-a-box को चलाने से पहले, पक्का करें कि आपके टेस्ट सेटअप में ये हार्डवेयर और सॉफ़्टवेयर शामिल हों:
- एक (1) आईटीएस-इन-अ-बॉक्स
- सीन दिखाने के लिए, एक (1) हाई रिज़ॉल्यूशन 10" टैबलेट, S/N: 5811000011
- एक (1) DUT, जिसमें 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) की टेस्टिंग के लिए, एक(1) Pixel NOF26W, S/N: FA6BM0305016. सीटीएस वेरिफ़ायर ऐप्लिकेशन इंस्टॉल करने के लिए,
टैबलेट पर सीन चलाना
बैक कैमरे पर सीन 0 से 4, 6, और scene_change चलाने के लिए:
cd android-cts-verifier/CameraITS
. build/envsetup.sh
python tools/run_all_tests.py camera=0
उदाहरण:

सीन फिर से जनरेट करने की कोशिश करें
किसी एक कैमरे के लिए सीन फिर से आज़माए जा सकते हैं:
- किसी एक कैमरे पर सीन फिर से आज़माने के लिए:
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 टेस्टबेड के साथ चलाना होगा.

किसी एक डिवाइस पर, सामने और पीछे वाले कैमरों के लिए सीन 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 के नतीजों को रिपोर्ट के तौर पर सेव करने के लिए:
- पास दबाएं और रिपोर्ट सेव करें.
तीसरी इमेज. कैमरे के आईटीएस की रिपोर्ट - डिवाइस से रिपोर्ट पाएं:
adb -s FA6BM0305016 pull /sdcard/verifierReports
- रिपोर्ट फ़ाइल को अनज़िप करें और
test_result.xml
देखें.
चौथी इमेज. कैमरा आईटीएस रिपोर्ट
- पास दबाएं और रिपोर्ट सेव करें.
टैबलेट से जुड़ी ज़रूरी शर्तें
Android 15 और इसके बाद के वर्शन वाले टैबलेट, जिनका इस्तेमाल आईटीएस चार्ट दिखाने के लिए किया जाता है वे इस सूची में शामिल होने चाहिए. कम रोशनी वाले सीन की टेस्टिंग के लिए काम करने वाले टैबलेट की सूची देखने के लिए, कम रोशनी वाले सीन के लिए काम करने वाले टैबलेट पर जाएं. Android 14 या इससे पहले के वर्शन के लिए, Android 14 और इससे पहले के वर्शन वाले टैबलेट के लिए ज़रूरी शर्तें देखें.
अनुमति वाली सूची में शामिल टैबलेट, इन शर्तों के आधार पर चुने जाते हैं:
- डिसप्ले का साइज़ करीब 10 इंच और स्क्रीन रिज़ॉल्यूशन 1920 x 1200 पिक्सल से ज़्यादा होना चाहिए.
- पल्स-विड्थ मॉड्यूलेशन (पीडब्ल्यूएम) कंट्रोल वाली स्क्रीन की रोशनी कम करने की वजह से, स्क्रीन में फ़्लिकरिंग नहीं होनी चाहिए.
- आईटीएस टेस्ट से भेजे गए adb कमांड को लागू कर सकता हो और स्क्रीन की तय की गई चमक के साथ चार्ट इमेज दिखा सकता हो.
टैबलेट के मॉडल के हिसाब से, config.yml
में brightness
की वैल्यू सेट होनी चाहिए. यह पता लगाने के लिए कि आपका टैबलेट मॉडल, अनुमति वाली सूची में मौजूद डिवाइस के नाम से मेल खाता है या नहीं, 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 |
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+ |
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) | टैबलेट ओएस का वर्शन |
---|---|---|
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+ |
Android 14 और इससे पुराने वर्शन वाले टैबलेट के लिए ज़रूरी शर्तें
टैबलेट का डिसप्ले साइज़ करीब 10 इंच होना चाहिए. साथ ही, स्क्रीन रिज़ॉल्यूशन 1920 x 1200 पिक्सल से ज़्यादा होना चाहिए. टैबलेट में, चमक का लेवल सेट करने के लिए पल्स विड्थ मॉड्यूलेशन (पीडब्ल्यूएम) का इस्तेमाल नहीं किया जाना चाहिए. टैबलेट के मॉडल के हिसाब से, config.yml
में brightness
एट्रिब्यूट की वैल्यू सेट होनी चाहिए.
नीचे दी गई टेबल में, आईटीएस टेस्टिंग के लिए सुझाए गए टैबलेट और उन टैबलेट के साथ काम करने वाले DUT के 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 या इसके बाद के वर्शन |
अक्सर पूछे जाने वाले सवाल
पहला सवाल: मैं कैसे तय करूं कि मेरे डिवाइस के लिए मुझे किन टेस्ट रिग की ज़रूरत है?
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: मैं यह कैसे तय करूं कि कौनसा टेस्ट रिग इस्तेमाल किया जा रहा है?
सही टेस्ट रिग चुनने के लिए, पक्का करें कि चार्ट की दूरी का पैरामीटर सही हो. 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 और इसके बाद के वर्शन में, सही टेस्ट रिग की पहचान करने के लिए, config.yml फ़ाइल में बदलाव किया जा सकता है. इसके लिए,chart_distance
पैरामीटर को बदलना होगा.
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 11 और इससे पहले के वर्शन वाले डिवाइसों पर किसी सीन को चलाने के लिए:
tools/run_all_tests.py
मेंscenes
फ़्लैग जोड़कर, कोई सीन लोड करें:python tools/run_all_tests.py device=# camera=# chart=# scenes=#
-
सीन के
stdout
में लोड होने के बाद, टेस्ट रोकने के लिए Control+C दबाएं.अगर स्क्रीन पर सही सीन पहले से ही दिख रहा है, तो स्क्रीन चालू करें:
python tools/wake_up_screen.py screen=#
-
कोई एक टेस्ट चलाएं.
python tests/scene#/test_*.py device=# camera=#
इसके बाद, स्थानीय डायरेक्ट्री में प्लॉट जनरेट किए जाते हैं और स्क्रीन पर
stdout
औरstderr
प्रिंट किए जाते हैं.डीबग करने के बारे में ज़्यादा जानकारी पाने के लिए, स्क्रिप्ट में
print
स्टेटमेंट जोड़ें. डीबग करने के लिए टेस्ट आउटपुट बढ़ाने के लिए,debug=True
फ़्लैग जोड़ें.python tests/scene#/test_*.py device=# camera=# debug=True
/tmp/tmp###
को चलाने पर, नतीजे लोकल स्क्रीन पर प्रिंट होते हैं और इमेज, जनरेट की गई /tmp/tmp###
डायरेक्ट्री के बजाय लोकल डायरेक्ट्री में सेव होती हैं.tools/run_all_tests.py
Android 12 और इसके बाद के वर्शन में, किसी सीन को अलग से चलाने के लिए:
-
config.yml
फ़ाइल में बदलाव करें.edit config.yml camera: <camera-id> → camera: 0 scene: <scene-name> → scene: scene1_1
-
अलग-अलग टेस्ट चलाएं.
python tools/run_all_tests.py -c config.yml --test_bed TEST_BED_TABLET_SCENES
नतीजे, /tmp/logs/mobly/TEST_BED_TABLET_SCENES/
डायरेक्ट्री में प्रिंट किए जाते हैं. इन्हें रन टाइम के हिसाब से क्रम से लगाया जाता है.
पांचवां सवाल: मुझे हर टेस्ट को अलग-अलग फिर से चलाने के बजाय, पूरे सीन के तौर पर फ़ेल होने वाले टेस्ट क्यों चलाने चाहिए?
डीबग करने के मकसद से, टेस्ट अलग-अलग चलाए जा सकते हैं. हालांकि, जब तक पूरा सीन नहीं चलाया जाता, तब तक नतीजे 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
दिखाता है. अगर लक्स लेवल बहुत कम है, तो कई टेस्ट पास नहीं हो पाते.
सवाल 8: मैं सेंसर फ़्यूज़न टेस्ट को कैसे डीबग करूं?
पक्का करें कि आप
dialout
ग्रुप में हों.groups | egrep ‘dialout'
पक्का करें कि सेंसर फ़्यूज़न कंट्रोलर कनेक्ट हो. इसके लिए, यह पता लगाएं कि Microchip Technology, यूएसबी पोर्ट से कनेक्ट है या नहीं.
lsusb … Bus 003 Device 004: ID 04d8:fc73 Microchip Technology, Inc. …
नीचे दी गई कमांड का इस्तेमाल करके, टेस्ट को कई बार चलाएं, ताकि टेस्ट के नतीजों का डिस्ट्रिब्यूशन मिल सके.
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###
फ़ोल्डर में होते हैं. यहां#
रन नंबर होता है. ऐसा इन वजहों से हो सकता है:- फ़ोन को बीच में ठीक से नहीं रखा गया है.
- इमेज में ज़रूरी सुविधाएं नहीं मिली हैं. ऐसा अक्सर फ़ील्ड ऑफ़ व्यू (FoV) या लाइटिंग की समस्या की वजह से होता है.
- लौटाया गया
FAIL
मान्य है. साथ ही, कैमरे और जायरोस्कोप के बीच टाइमिंग ऑफ़सेट को ठीक किया जाना चाहिए.
सवाल 9: टेस्टिंग से जुड़ी किसी गड़बड़ी की शिकायत करते समय, मुझे कौनसी जानकारी शामिल करनी चाहिए?
टेस्टिंग से जुड़ी किसी गड़बड़ी की शिकायत करते समय, टेस्ट के लिए जनरेट की गई फ़ाइलें और इमेज शामिल करें.
- अगर आपने
tools/run_all_tests.py
के ज़रिए टेस्ट किया है, तो बग में/tmp/
की ज़िप की गई डायरेक्ट्री अटैच करें. - अगर आपने टेस्ट खुद किया है, तो स्क्रीन पर दिखने वाले सभी आउटपुट और जनरेट की गई इमेज को बग से अटैच करें.
गड़बड़ी की रिपोर्ट भी शामिल करें. जब टेस्ट फ़ेल हो जाए, तब गड़बड़ी की रिपोर्ट जनरेट करने के लिए, यहां दिया गया निर्देश इस्तेमाल करें. साथ ही, जनरेट की गई ज़िप फ़ाइल को गड़बड़ी की रिपोर्ट में अटैच करें.
adb -s device_id bugreport
Q10: मुझे ऐसे कैमरे के साथ sensor_fusion टेस्ट सीन चलाना है जिसका फ़ोकस कम से कम दूरी पर होता है. साथ ही, 25 सेमी की दूरी पर मौजूद चार्ट की इमेज धुंधली हो जाती हैं.
अगर आपका कैमरा 25 सेंटीमीटर की दूरी पर फ़ोकस नहीं कर पाता है, तो सेंसर फ़्यूज़न बॉक्स के चार्ट-माउंटिंग पैनल को हटा दें. चार्ट को इतनी दूरी पर रखें कि डीयूटी उस पर फ़ोकस कर सके. साथ ही, डीयूटी और चार्ट के बीच की दूरी को config.yml
से बदलकर chart_distance
करें. पांचवीं इमेज में, इस स्थिति में चार्ट की दूरी को मेज़र करने का उदाहरण दिखाया गया है.

edit config.yml chart_distance: 25 → chart_distance: DISTANCE_BETWEEN_DUT_AND_CHART
सवाल 11: मुझे ऐसे कैमरे के लिए टैबलेट टेस्ट सीन चलाने हैं जिसकी कम से कम फ़ोकस दूरी की वजह से, 31 सेंटीमीटर की दूरी पर रखे गए चार्ट की इमेज धुंधली हो जाती हैं. इसके लिए, मुझे क्या करना चाहिए?
अगर आपका कैमरा 31 सेंटीमीटर (आरएफ़ओवी टेस्ट रिग की गहराई) पर टेस्ट करने के दौरान, साफ़ इमेज नहीं ले पाता है, तो अपने कैमरे को रिग के सामने इस तरह से लगाएं कि चार्ट सीन, कैमरे के फ़ील्ड ऑफ़ व्यू (एफ़ओवी) का करीब 60% हिस्सा कवर करे. इससे आपको साफ़ इमेज मिलेंगी. यह दूरी, कैमरे की कम से कम फ़ोकस दूरी से कम हो सकती है. chart_distance
को config.yml
में 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
कॉन्स्टेंट के तहत लिस्ट किया गया है.