این صفحه تغییرات انجام شده در مجموعه تست تصویر دوربین (ITS) در اندروید 11 را خلاصه میکند. تغییرات در دستههای زیر قرار میگیرند:
- تغییرات سخت افزاری
- اولین آزمون های اجباری سطح API
- تست روشنایی تایید شده است
- تغییر نام صحنه
- تغییرات و اضافات تست
- افزایش تست دوربین محدود
تغییرات سخت افزاری
اندروید 11 چندین تغییر سخت افزاری را برای کاهش هزینه و افزایش در دسترس بودن معرفی می کند. این تغییرات در دسته های زیر قرار می گیرند:
- سازنده اضافی
- روش های تولید یکپارچه
- گزینه های تبلت افزایش یافته است
- کاهش باز شدن تبلت
- کنترل کننده فیوژن سنسور جدید
سازنده اضافی
رهی سیستم علاوه بر تامین کننده موجود ما، طراحی MYWAY، واجد شرایط تولید محفظه های تست ITS است. اطلاعات شرکت برای فروشندگان واجد شرایط به شرح زیر است:
شرکت رهی سیستم
48303 Fremont Blvd, Fremont CA 94538, USA
rahisystems.com/products/تجهیزات-تست-دستگاه-اندروید/
androidpartner@rahisystems.com
+1-510-319-3802طراحی MYWAY
4F.، شماره 163، جاده فو-یینگ، منطقه XinZhuang، شهر جدید تایپه، تایوان
twmyway.com
sales@myway.tw
+886-2-29089060
روش های تولید یکپارچه
محفظه تست میدان دید معمولی rev1 (RFoV) ITS-in-a-box برای استفاده از روشهای تولیدی که توسط جعبه میدان دید گسترده (WFoV) و محفظههای تست جعبه فیوژن سنسور استفاده میشود، دوباره طراحی شده است. عملکرد یکسان است و برای سادگی، طراحی به عنوان rev1a نامیده می شود. طراحی مجدد به سازندگان اجازه می دهد تا یک نوع پلاستیک را برای تولید تمام محفظه های آزمایشی ذخیره کنند. علاوه بر این، پایه تبلت و نگهدارندههای نور برای کنترل تغییرات بیشتر در تبلتها و میلههای نور LED دوباره طراحی شدهاند.
برای دانلود آخرین توضیحات و نقشه های مکانیکی، جعبه RFoV (rev1a) و جعبه WFoV (rev2.9) را ببینید.
گزینه های تبلت افزایش یافته است
تبلت هایی از جمله Samsung Galaxy Tab A 10.1 و Chuwi Hi9 Air 10.1 به لیست تبلت های پیشنهادی اضافه می شوند. مهم است که تبلت دارای مدولاسیون عرض پالس (PWM) برای تنظیم روشنایی صفحه برای از بین بردن نواربندی در تصاویر گرفته شده نیست.
برای آخرین اطلاعات در مورد تبلت های توصیه شده، به الزامات رایانه لوحی مراجعه کنید.
کاهش باز شدن تبلت
برای اجازه استفاده از Galaxy Tab A 10.1، دهانه تبلت برای هر دو محفظه تست RFoV (rev1a) و WFoV (rev2) کمی از ارتفاع کاهش می یابد. تجدید نظرهایی که منعکس کننده این تغییرات هستند rev1a.1 و rev2.9 هستند. برای این نقشهها، جعبه RFoV (rev1a) و جعبه WFoV (rev2.9) را ببینید.
کنترل کننده فیوژن سنسور جدید
سخت افزار کنترل کننده فیوژن سنسور برای بهبود قابلیت ساخت مجدد طراحی شده است. کنترلر جدید مبتنی بر آردوینو است، با یک محافظ برد مسیریابی سفارشی که در بالای آردوینو قرار می گیرد. شکل 1 سپر و شکل 2 نقشه مکانیکی محفظه را نشان می دهد. کنترلر جدید با یک منبع تغذیه 5 ولتی تغذیه می شود که به طور مستقیم موتور را تغذیه می کند. قطعات الکترونیکی به طور کامل از طریق کانکتور USB کنترل می شوند. منبع تغذیه جداگانه امکان جداسازی کامل بین الکترونیک کنترل و سروو موتور را فراهم می کند. علاوه بر این، یک کنترلر می تواند تا شش موتور سروو را کنترل کند.
شکل 1. نمای بالایی شیلد آردوینو
شکل 2. طراحی محوطه
اندروید 11 با کنترلرهای موجود سازگار است. برای فراخوانی تست با کنترلر مبتنی بر آردوینو از:
python tools/run_all_tests.py device=# camera=# rot_rig=arduino:1 scenes=sensor_fusion
سطح اول API
در Android 10، تستهای ITS بهعنوان MANDATED
و NOT_YET_MANDATED
تعیین میشوند. برای راه اندازی به عنوان یک دستگاه اندروید 10، تمام تست های MANDATED
باید قبول شوند. آزمونهای NOT_YET_MANDATED
ممکن است شکست بخورند، اما بهعنوان PASS
برای گزارش تأییدکننده CTS جدولبندی میشوند. الزام تست های MANDATED
برای دستگاه های ارتقا یافته نیز اعمال می شود. این الزام برای دستگاههای ارتقا یافته برای گذراندن تمام تستهای MANDATED
باعث شد که آزمایشها در تبدیل شدن به آزمونهای MANDATED
به تأخیر بیفتند زیرا دستگاههای قدیمیتر نیز باید آزمایشها را پشت سر بگذارند.
در اندروید 11، تستهای MANDATED
توسط اولین پرچم سطح API از ویژگیهای گوشی انتخاب میشوند. برای دستگاههایی که به Android 11 ارتقا مییابند، آزمایشها بهعنوان تست NOT_YET_MANDATED
اجرا میشوند، به این معنی که یک آزمایش ممکن است ناموفق باشد اما بهعنوان PASS
در CtsVerifier.apk
جدولبندی شود.
به عنوان مثال:
- در Android 11، تست
test_channel_saturation
برای دستگاههایی با سطح API اول بیشتر از 29MANDATED
است. - در اندروید 10، تست
test_channel_saturation
برای همه دستگاههاMANDATED
است.
تایید نور صحنه
در اندروید 11، نور صحنه با تجزیه و تحلیل روشنایی در گوشه های صحنه تایید می شود. تمام صحنههای دستی برای نور و صحنههای مبتنی بر تبلت برای دوربینهای RFoV در دستگاه تست RFoV و دوربینهای WFoV در دستگاه تست WFoV تأیید میشوند. اگر سطوح روشنایی ناکافی باشد، یک خطا گزارش می شود و آزمایش با شکست مواجه می شود.
تغییر نام صحنه
در اندروید 10، صحنه 1 اکثر تست ها و درصد زیادی از کل زمان تست را به خود اختصاص می دهد. اگر هر آزمایشی در صحنه 1 ناموفق باشد، کل صحنه باید دوباره اجرا شود. با طراحی، اجرای مجدد کل صحنه، گذر از آزمون های حاشیه ای را کاهش می دهد. در اندروید 11، با تقسیم صحنه 1 به دو صحنه، صحنه 1_1 و صحنه 1_2، زمان اجرا کاهش می یابد.
جدول زیر زمان های تست جدول بندی شده برای دوربین عقب Pixel 4 را برای صحنه های مختلف نشان می دهد. تعداد تست ها برای یکسان کردن زمان تست تقسیم می شود، نه برای یکسان سازی تعداد تست ها.
علاوه بر این، یک نام پاکسازی وجود دارد. صحنه 2 با حروف و صحنه 1 با اعداد تقسیم شده است. نامگذاری برای پسوندهای مختلف عبارت است از:
- صحنه هایی با نمودار یکسان، اما تست های متفاوت:
*_1,2,3
- صحنه هایی با نمودارهای مختلف، اما تست های مشابه:
*_a,b,c
صحنه | تعداد تست ها | زمان اجرای Pixel 4 (دقیقه: ثانیه) |
---|---|---|
0 | 11 | 1:12 |
1_1 | 22 | 5:12 |
1_2 | 13 | 5:20 |
2_a | 5 | 3:22 |
2_b | 1 | 0:24 |
2_ج | 1 | 0:24 |
3 | 6 | 2:04 |
4 | 2 | 2:46 |
تغییرات تست
آزمایشها برای استفاده از اولین سطح API بهروزرسانی شدند
در اندروید 11، تست های جدول زیر برای استفاده از اولین پرچم سطح API به روز می شوند. همه این تستها از اولین سطح API 29 استفاده میکنند به جز تست test_tonemap_curve
که از اولین سطح API 30 استفاده میکند.
صحنه | نام آزمون | سطح اول API | توضیحات |
---|---|---|---|
0 | test_tonemap_curve | 30 | اطمینان حاصل کنید که خط لوله دارای خروجی های رنگی مناسب با نقشه خطی و ورودی تصویر ایده آل است (متکی به test_test_patterns ). |
1 | test_ae_precapture_trigger | 29 | هنگام استفاده از ماشه پیش گرفتن، دستگاه حالت AE را تست کنید. مطمئن شوید که با AE غیرفعال، ماشه پیش گرفتن هیچ تاثیری ندارد. |
test_channel_saturation | 29 | اطمینان حاصل کنید که کانال های RGB به مقادیر مشابه اشباع شده اند تا رنگ در مناطق اشباع از بین برود. | |
2_a/b/c | test_num_faces | 29 | افزایش تنوع سنی در صحنه های صورت. |
تست های با تغییرات
تست های جدول زیر در اندروید 11 به روز شده اند. تغییرات در ستون توضیحات تغییرات توضیح داده شده است.
صحنه | نام آزمون | سطح اول API | شرح تغییرات |
---|---|---|---|
1 | test_burst_sameness_manual | 30 | تحمل را به 2 درصد کاهش دهید. |
4 | test_aspect_ratio_and_crop | 30 | برای اجرا در دستگاه های محدود تغییر دهید. |
test_multi_camera_alignment | 30 | اگر عکسبرداری با چند دوربین پشتیبانی نمی شود، به صورت جداگانه از دوربین ها عبور کنید. منطق انتخاب دوربین را تغییر دهید تا سیستمهای سه و چهار دوربین را در نظر بگیرید و از دوربینهای تک، فقط عمقی و IR صرفنظر کنید. |
تست های جدید
تست های جدول زیر در اندروید 11 فعال هستند. تست ها در جدول خلاصه شده و توضیحات مفصل در قسمت های زیر ارائه شده است.
صحنه | نام آزمون | سطح اول API | توضیحات |
---|---|---|---|
0 | test_vibration_restrictions | 30 | اطمینان حاصل کنید که هشدارها و لرزش ها در هنگام ضبط تصویر فعال نمی شوند. |
2_a | test_jpeg_quality | 30 | آزمایش کنید که جداول کوانتیزاسیون فشرده سازی را برای افزایش کیفیت JPEG کاهش می دهد. |
2_d/2_e | test_num_faces | 30 | تنوع سنی صورت را افزایش دهید. |
2_e | test_continuous_picture | 30 | اطمینان حاصل کنید که 3A در android.control.afAvailableModes = CONTINUOUS_PICTURE. |
تغییر دهید | test_scene_change | 31 | android.control.afSceneChange پس از تغییر صحنه اظهار شد. |
6 | test_zoom | 30 | android.control.zoomRatioRange تست کنید. |
scene0/test_vibration_restriction
این آزمایش نیاز به صحنه خاصی ندارد، اما دستگاه تحت آزمایش (DUT) باید روی یک سطح سخت قرار داده شود یا روی آن نصب شود. این شامل نصب بر روی محفظه های تست ITS-in-a-box می شود.
ادعا می کند
- بدون لرزش در هنگام استفاده از دوربین
scene2_a/test_jpeg_quality
روش
بخش های مختلف فایل JPEG با نشانگرهای 2 بایتی تعریف می شوند. برای اطلاعات بیشتر، JPEG را ببینید.
این آزمون ماتریس های کوانتیزه شدن را از ضبط JPEG استخراج می کند. نشانگر ماتریس های کوانتیزاسیون در ضبط JPEG دنباله است، [255، 219]. وقتی نشانگر پیدا شد، دو مورد بعدی لیست اندازه هستند. نشانگر اندازه JPEG DQT معمولاً [0, 132] = 256*0+132 = 132 است که اندازه داده های DQT در ضبط JPEG را به حساب می آورد. داده های جاسازی شده به این شکل است: [255، 219، 0، 132، 0 (مارکر لوما)، ماتریس لوما 8×8، 1 (مارکر کروم)، ماتریس کروم 8×8].
0
برای نشانگر ماتریس luma و 1
برای نشانگر کروما برای تعدادی از دستگاهها از جمله تلفنهایی که دو ماتریس را به بخشهای DQT جداگانه در فایل JPEG جدا میکنند، سازگار به نظر میرسد. ماتریسهای Luma در مقایسه با ماتریسهای کروما مقادیر بیشتری از مقادیر دارند، زیرا چشم انسان نسبت به کروما نسبت به لوما حساستر است و تصاویر JPEG این را در نظر میگیرند.
نمونههای ماتریسهای لوما و کروما استخراجشده در زیر برای فاکتورهای کیفیت 85 و 25 برای دوربین عقب Pixel 4 نشان داده شدهاند که صحنه 2_a را با دستگاه تست ITS میگیرد. مقادیر ماتریس به طور قابل ملاحظه ای برای تنظیم کیفیت پایین افزایش می یابد (که نشان دهنده افزایش فشرده سازی است). این ماتریس ها فقط در صورتی با اسکریپت چاپ می شوند که علامت debug=True
اعمال شود. به تنوع بیشتر ورودی ها در ماتریس های لوما در مقایسه با ماتریس های کروما توجه کنید.
luma matrix (quality = 85) chroma matrix (quality = 85)
[[ 5 3 4 4 4 3 5 4] [[ 5 5 5 7 6 7 14 8]
[ 4 4 5 5 5 6 7 12] [ 8 14 30 20 17 20 30 30]
[ 8 7 7 7 7 15 11 11] [30 30 30 30 30 30 30 30]
[ 9 12 17 15 18 18 17 15] [30 30 30 30 30 30 30 30]
[17 17 19 22 28 23 19 20] [30 30 30 30 30 30 30 30]
[26 21 17 17 24 33 24 26] [30 30 30 30 30 30 30 30]
[29 29 31 31 31 19 23 34] [30 30 30 30 30 30 30 30]
[36 34 30 36 28 30 31 30]] [30 30 30 30 30 30 30 30]]
luma matrix (quality = 25) chroma matrix (quality = 25)
[[ 32 22 24 28 24 20 32 28] [[ 34 36 36 48 42 48 94 52]
[ 26 28 36 34 32 38 48 80] [ 52 94 198 132 112 132 198 198]
[ 52 48 44 44 48 98 70 74] [198 198 198 198 198 198 198 198]
[ 58 80 116 102 122 120 114 102] [198 198 198 198 198 198 198 198]
[112 110 128 144 184 156 128 136] [198 198 198 198 198 198 198 198]
[174 138 110 112 160 218 162 174] [198 198 198 198 198 198 198 198]
[190 196 206 208 206 124 154 226] [198 198 198 198 198 198 198 198]
[242 224 200 240 184 202 206 198]] [198 198 198 198 198 198 198 198]]
شکل 3 میانگین مقادیر ماتریس دوربین عقب Pixel 4 را در مقابل کیفیت JPEG نشان می دهد. با افزایش کیفیت JPEG، سطح فشرده سازی (متوسط ماتریس لوما/کروم DQT) کاهش می یابد.
شکل 3. میانگین ماتریس لوما/کروما DQT دوربین عقب Pixel 4 در مقابل کیفیت JPEG
ادعا می کند
- برای [25، 45، 65، 86]، 20+ در کیفیت دارای 20 درصد کاهش میانگین های ماتریس کوانتیزاسیون است.
- بارهای ماتریس DQT اعداد مربعی هستند.
شکل 4 نمونه ای از تلفنی را نشان می دهد که در آزمون مردود شده است. توجه داشته باشید که برای تصاویر با کیفیت بسیار پایین ( jpeg.quality < 50
)، هیچ افزایشی در فشرده سازی در ماتریس کوانتیزاسیون وجود ندارد.
شکل 4. نمونه آزمون ناموفق
scene2_d/e test_num_faces
دو صحنه جدید تشخیص چهره برای افزایش تنوع چهره در بررسی الگوریتم تشخیص چهره اضافه شده است. با آزمایش مکرر تعدادی از دوربینها، انتظار میرود چالشبرانگیزترین چهره، سمت چپترین چهره در scene2_d باشد. به طور خاص، هم کلاه و هم ریش روی مدل وجود دارد، چیزی جدید در صحنه های صورت. صحنه های جدید در شکل 5 و 6 نشان داده شده است.
شکل 5. صحنه2_د
شکل 6. صحنه2_ه
ادعا می کند
-
num_faces == 3
scene2_e/test_continuous_picture
روش
تست test_continuous_picture
از scene2_e استفاده میکند، اما میتوان آن را با هر یک از صحنههای چهره فعال کرد. در این آزمایش، 50 فریم از وضوح VGA با اولین تنظیم درخواست ضبط android.control.afMode = 4 (CONTINUOUS_PICTURE)
گرفته می شود.
انتظار می رود که سیستم 3A در پایان گرفتن 50 فریم مستقر شود.
ادعا می کند
- 3A در پایان گرفتن در حالت همگرا است.
صحنه_تغییر/تست_سینه_تغییر
روش
یک آزمایش جدید برای آزمایش اینکه آیا پرچم android.control.afSceneChange
با تغییر صحنه مشخص شده است یا خیر فعال می شود. تغییر صحنه از تبلت استفاده میکند که یک صحنه چهره را نمایش میدهد و سپس تبلت را روشن و خاموش میکند تا یک تغییر صحنه ایجاد شود. صحنه از scene2_e مجدد استفاده می کند اما به دلیل کنترل تبلت مورد نیاز در یک صحنه جداگانه است.
علاوه بر این، برای تست دستی، تغییر صحنه را می توان با تکان دادن دست در مقابل دوربین انجام داد.
شکل 7 نمودار زمان بندی آزمون را نشان می دهد. زمان بین خاموش شدن صفحه و عکسبرداری بر اساس نتایج رویداد از عکسبرداریهای قبلی تنظیم میشود.
شکل 7. نمودار زمانبندی برای test_scene_change
شرایط شیفت:
- اگر صحنه تغییر کند و
afSceneChange == 1
باشد، تستPASS
برمی گرداند. - اگر یک تغییر صحنه وجود داشته باشد و
afSceneChange == 0
باشد، تغییر صحنه 5 فریم زودتر تغییر می کند تا زمان بیشتری برای اظهار نظرafSceneChange
داده شود. - اگر هیچ تغییر صحنه ای وجود نداشته باشد و
afSceneChange == 1
باشد، تستFAIL
برمی گرداند. - اگر تغییر صحنه وجود نداشته باشد و
afSceneChange == 0
باشد، تغییر صحنه 30 فریم زودتر جابجا می شود تا تغییر صحنه در عکس گرفته شود.
ادعا می کند
- صفحه نمایش (صحنه) تغییر می کند.
- پرچم
afSceneChange
در [0، 1] است. - اگر صحنه تغییری نداشته باشد، 3A همگرا می شود (از لحاظ عملکردی مشابه
test_continuous_picture
است). - اگر
afSceneChange == 1
باشد، روشنایی باید در صحنه تغییر کند. -
PASS
در شش تلاش با تغییر زمان بر اساس نتایج قبلی.
صحنه6/test_zoom
روش
برای آزمایش android.control.zoomRatioRange
به یک صحنه جدید نیاز است زیرا صحنه های ایجاد شده یا ویژگی به اندازه کافی کوچک برای بزرگنمایی ندارند (صحنه های [1، 2، 4]) یا صحنه دارای اشیاء زیادی است که به راحتی قابل شناسایی نیستند. ، پیچیده کردن استخراج ویژگی (صحنه 3).
شکل 8 صحنه جدید را با یک آرایه منظم از دایره ها نشان می دهد. آرایه دایره ها الزامات در مرکز DUT/نمودار را کاهش می دهد و اجازه می دهد دایره ای همیشه نزدیک مرکز تصویر گرفته شده باشد. در این صحنه آرایهای از دایرههای 9×5 با حاشیه سیاه کل تبلت را میپوشاند. یک دایره با یک مربع در گوشه بالا سمت راست جایگزین می شود تا جهت را نشان دهد. اندازههای دایره دارای یک ویژگی با مساحت حدود 7500 پیکسل ( radius=50pixels
) برای یک سنسور 4000x3000 هستند که با میدان دید (FoV) حدود 80 درجه گرفته شده است.
شکل 8. صحنه test_zoom
شکل 9. بزرگنمایی دوربین پیکسل 4[0] = [1، 3.33، 5.67، 8] تصاویر با دایره پیدا شده
شکل 9 تصاویر گرفته شده را برای دوربین پشتی پیکسل 4 نشان می دهد که زوم با چهار مرحله از 1 به 8 برابر افزایش می یابد. این مجموعه از تصاویر بدون هیچ مراقبت خاصی در مرکز گرفتن گرفته می شود، به جز استفاده از دیافراگم تست تلفن با دو دهانه برای فعال کردن تست دوربین های جلو و عقب. یک انحراف از مرکز انتظار می رود، و به عنوان قرص نمودار کمی از مرکز سمت چپ مشاهده می شود. علاوه بر این، نمودار برای آزمایش با نسبت بزرگنمایی بالاتر از 8 برابر به نظر می رسد.
یافتن حلقه ها
این تست شامل یک متد find_circle()
با استفاده از findContours
است که تمام خطوط را پیدا میکند و با آزمایش موارد زیر، جستجوی خطوط را به دایرههای مورد نظر محدود میکند:
- کانتورها باید مساحتی بیشتر از 10 پیکسل داشته باشند.
- خطوط باید
NUM_PTS >= 15
داشته باشند. - خطوط باید دارای مرکز سیاه باشند.
- خطوط باید شبیه یک دایره باشند، یعنی مساحت آنها نزدیک به ناحیه pi*r2 کانتور باشد.
محدوده تست
android.control.zoomRatioRange
به 10 مرحله تقسیم می شود.
- [1، 7] تست [1، 1.67، 2.33، 3، 3.67، 4.33، 5، 5.67، 6.33، 7]
اگر دایره پیدا شده با مرزهای تصویر برخورد کند، بزرگنمایی متوقف می شود. برای اطمینان از رسیدن به سطح بزرگنمایی کافی در تست (10 برابر) یک بررسی وجود دارد.
ادعا می کند
- حداقل یک دایره در هر تنظیم بزرگنمایی یافت می شود.
- 10 برابر یا حداکثر
android.control.zoomRatioRange
آزمایش شده است. - مقیاسهای شعاع دایرهای با بزرگنمایی (RTOL 10٪ از حد انتظار).
- فاصله مرکز دایره از مقیاس های مرکزی با بزرگنمایی (RTOL 10٪ از حد انتظار).
- به سطح زوم کافی رسیده است (2x).
افزایش تست دوربین محدود
در اندروید 11، تستهای جدول زیر دوربینهای LIMITED
را تست میکنند. علاوه بر آزمایشهای جدید ، آزمایش scene4/test_aspect_ratio_and_crop
بهروزرسانی میشود تا تست دستگاههای LIMITED
با اولین سطح API 30 یا بالاتر را فعال کند.
صحنه | نام آزمون |
---|---|
0 | test_vibration_restrictions |
2_a | test_jpeg_quality |
2_d/2_e | test_num_faces |
4 | test_aspect_ratio_and_crop |
6 | test_zoom |
شکل 10 حلقه رمزگشای مخفی ITS اندروید 11 را نشان می دهد. حلقه رمزگشای مخفی نشان میدهد که تستهای فردی با چه تنظیماتی آزمایش میشوند. دروازه برای سادگی در مشاهده کد رنگی دارد. موارد اصلی دروازه عبارتند از:
-
MANUAL_SENSOR
-
READ_3A
*نیاز بهMANUAL SENSOR
دارد -
COMPUTE_TARGET_EXPOSURES
*بهMANUAL SENSOR
نیاز دارد -
PER_FRAME_CONTROL
-
RAW
-
SENSORS
*REALTIME
-
MULTI_CAMERA
MANUAL SENSOR
، READ_3A
، COMPUTE_TARGET_EXPOSURES
، و PER_FRAME_CONTROL
اکثر آزمایش ها را در اختیار دارند. علاوه بر این، آزمایشهایی که برای دستگاههای LIMITED
فعال میشوند با سبز روشن مشخص میشوند.
شکل 10. حلقه رمزگشای مخفی اندروید 11