บันทึกประจำรุ่นของชุดทดสอบรูปภาพกล้องของ Android 12

การเปลี่ยนแปลง Camera ITS หลายอย่าง รวมอยู่ในการเปิดตัว Android 12 หน้านี้ สรุปการเปลี่ยนแปลงซึ่งแบ่งออกเป็น 4 หมวดหมู่กว้างๆ ดังนี้

รีแฟกเตอร์เป็น Python 3

เนื่องจากการเลิกใช้งาน Python 2.7 ในเดือนมกราคม 2020 เราจึงปรับโครงสร้างโค้ดเบสของ Camera ITS ทั้งหมดเป็น Python 3 Android 12 ต้องใช้ Python เวอร์ชันและไลบรารีต่อไปนี้

ตัวเรียกใช้การทดสอบหลัก tools/run_all_tests.py ยังคงเหมือนกับเวอร์ชัน Android 11 หรือต่ำกว่า และได้รับการปรับโครงสร้างใหม่เป็น Python 3

เราได้ปรับโครงสร้างการทดสอบแต่ละรายการใหม่และใช้คลาสการตั้งค่าการทดสอบใหม่ที่กำหนดไว้ใน tests/its_base_test.py ชื่อและการทำงานของการทดสอบส่วนใหญ่จะยังคงเหมือนเดิม ใน Android 12 การทดสอบแต่ละรายการจะโหลด ฉากของตัวเอง แม้ว่าการโหลดฉากสำหรับการทดสอบแต่ละรายการจะเพิ่มเวลาในการทดสอบโดยรวม แต่ก็ช่วยให้แก้ไขข้อบกพร่องของการทดสอบแต่ละรายการได้

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงการทดสอบแต่ละรายการได้ที่การเปลี่ยนแปลงการทดสอบ

โมดูล Python ต่อไปนี้ได้รับการปรับโครงสร้างโดยมีการเปลี่ยนชื่อ

  • pymodules/its/caps.pyutils/camera_properties_utils.py
  • pymodules/its/cv2image.pyutils/opencv_processing_utils.py
  • pymodules/its/device.pyutils/its_session_utils.py
  • pymodules/its/error.pyutils/error_util.py
  • pymodules/its/image.pyutils/image_processing_utils.py
  • pymodules/its/objects.pyutils/capture_request_utils.py
  • pymodules/its/target.pyutils/target_exposure_utils.py
  • tools/hw.pyutils/sensor_fusion_utils.py

การนำเฟรมเวิร์กการทดสอบ Mobly มาใช้

Mobly เป็นเฟรมเวิร์กการทดสอบที่ใช้ Python ซึ่งรองรับกรณีทดสอบที่ต้องใช้อุปกรณ์หลายเครื่องที่มีการตั้งค่าฮาร์ดแวร์ที่กำหนดเอง ITS ของกล้องใช้โครงสร้างพื้นฐานการทดสอบ Mobly เพื่อให้ควบคุมและบันทึกการทดสอบได้ดียิ่งขึ้น

ITS ของกล้องใช้โครงสร้างพื้นฐานการทดสอบ Mobly เพื่อให้ควบคุมและ บันทึกการทดสอบได้ดียิ่งขึ้น Mobly เป็นเฟรมเวิร์กการทดสอบที่ใช้ Python ซึ่งรองรับกรณีทดสอบ ที่ต้องใช้อุปกรณ์หลายเครื่องที่มีการตั้งค่าฮาร์ดแวร์ที่กำหนดเอง ดูข้อมูลเพิ่มเติมเกี่ยวกับ Mobly ได้ที่ google/mobly

ไฟล์ config.yml

เฟรมเวิร์ก Mobly ช่วยให้คุณตั้งค่าอุปกรณ์ภายใต้การทดสอบ (DUT) และชาร์ต แท็บเล็ตในits_base_test คลาสได้ ใช้ไฟล์ config.yml (YAML) เพื่อ สร้างแพลตฟอร์มทดสอบ Mobly คุณกำหนดค่า Testbed หลายรายการได้ภายในไฟล์กำหนดค่านี้ เช่น Testbed สำหรับแท็บเล็ตและเซ็นเซอร์ฟิวชัน ในส่วนคอนโทรลเลอร์ของแต่ละ Testbed คุณสามารถระบุ device_ids เพื่อระบุอุปกรณ์ Android ที่เหมาะสมกับ Test Runner ได้ นอกจากรหัสอุปกรณ์แล้ว พารามิเตอร์อื่นๆ เช่น brightness, chart_distance, debug_mode, camera_id และ scene_id ของแท็บเล็ตจะส่งผ่านในคลาสทดสอบ ค่าพารามิเตอร์การทดสอบทั่วไปมีดังนี้

brightness: 192  (all tablets except Pixel C)
chart_distance: 31.0  (rev1/rev1a box for FoV < 90° cameras)
chart_distance: 22.0 (rev2 test rig for FoV > 90° cameras)

การทดสอบบนแท็บเล็ต

สำหรับการทดสอบบนแท็บเล็ต ต้องมีคีย์เวิร์ด TABLET ในชื่อ Testbed ในระหว่างการเริ่มต้น โปรแกรมเรียกใช้การทดสอบ Mobly จะเริ่มต้น TestParams และส่งไปยังการทดสอบแต่ละรายการ

ต่อไปนี้คือตัวอย่างconfig.ymlสำหรับอุปกรณ์ที่ใช้แท็บเล็ต

TestBeds:
  - Name: TEST_BED_TABLET_SCENES
    # Test configuration for scenes[0:4, 6, _change]
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut
          - serial: 5B16001229
            label: tablet

    TestParams:
      brightness: 192
      chart_distance: 22.0
      debug_mode: "False"
      chart_loc_arg: ""
      camera: 0
      scene: <scene-name>  # if <scene-name> runs all scenes

เรียกใช้ Testbed ได้โดยใช้ tools/run_all_tests.py หากไม่มีค่าบรรทัดคำสั่ง การทดสอบจะทำงานโดยใช้ค่าไฟล์ config.yml นอกจากนี้ คุณยังลบล้างค่าไฟล์การกำหนดค่า camera และ scene ได้ที่ บรรทัดคำสั่งโดยใช้คำสั่งที่คล้ายกับ Android 11 หรือต่ำกว่า

เช่น

python tools/run_all_tests.py
python tools/run_all_tests.py camera=1
python tools/run_all_tests.py scenes=2,1,0
python tools/run_all_tests.py camera=1 scenes=2,1,0

การทดสอบการรวมเซ็นเซอร์

สำหรับการทดสอบการรวมเซ็นเซอร์ ชื่อ Testbed ต้องมีคีย์เวิร์ด SENSOR_FUSION Testbed ที่ถูกต้องจะพิจารณาจาก ฉากที่ทดสอบ Android 12 รองรับทั้งตัวควบคุม Arduino และ Canakit สำหรับการรวมเซ็นเซอร์

ต่อไปนี้เป็นตัวอย่างไฟล์ config.yml สำหรับการเรียกใช้การรวมเซ็นเซอร์

Testbeds
  - Name: TEST_BED_SENSOR_FUSION
    # Test configuration for sensor_fusion/test_sensor_fusion.py
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut

    TestParams:
      fps: 30
      img_size: 640,480
      test_length: 7
      debug_mode: "False"
      chart_distance: 25
      rotator_cntl: arduino         # cntl can be arduino or canakit
      rotator_ch: 1
      camera: 0

หากต้องการเรียกใช้การทดสอบการรวมเซ็นเซอร์ด้วย แท่นทดสอบการรวมเซ็นเซอร์ ให้ใช้

python tools/run_all_tests.py scenes=sensor_fusion
python tools/run_all_tests.py scenes=sensor_fusion camera=0

Testbed หลายรายการ

คุณสามารถรวม Testbed หลายรายการไว้ในไฟล์การกำหนดค่าได้ การผสมผสานที่พบบ่อยที่สุด คือการมีทั้งแท็บเล็ตและแพลตฟอร์มทดสอบการรวมเซ็นเซอร์

ต่อไปนี้คือตัวอย่างไฟล์ config.yml ที่มีทั้งแท็บเล็ตและแพลตฟอร์มทดสอบการรวมเซ็นเซอร์

Testbeds
  - Name: TEST_BED_TABLET_SCENES
    # Test configuration for scenes[0:4, 6, _change]
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut
          - serial: 5B16001229
            label: tablet

    TestParams:
      brightness: 192
      chart_distance: 22.0
      debug_mode: "False"
      chart_loc_arg: ""
      camera: 0
      scene: <scene-name>  # if <scene-name> runs all scenes

  - Name: TEST_BED_SENSOR_FUSION
    # Test configuration for sensor_fusion/test_sensor_fusion.py
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut

    TestParams:
      fps: 30
      img_size: 640,480
      test_length: 7
      debug_mode: "False"
      chart_distance: 25
      rotator_cntl: arduino         # cntl can be arduino or canakit
      rotator_ch: 1
      camera: 0

การทดสอบด้วยตนเอง

Android 12 จะยังคงรองรับการทดสอบด้วยตนเองต่อไป อย่างไรก็ตาม Testbed ต้องระบุว่าเป็นการทดสอบโดยใช้คีย์เวิร์ด MANUAL ในชื่อ Testbed นอกจากนี้ เทสต์เบดต้องไม่มีรหัสแท็บเล็ต

ต่อไปนี้คือตัวอย่างไฟล์ config.yml สำหรับการทดสอบด้วยตนเอง

TestBeds:
  - Name: TEST_BED_MANUAL
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut

    TestParams:
      debug_mode: "False"
      chart_distance: 31.0
      camera: 0
      scene: scene1

ทดสอบฉากโดยไม่มีแท็บเล็ต

คุณทดสอบฉาก 0 และฉาก 5 ได้ด้วย TEST_BED_TABLET_SCENES หรือ ด้วย TEST_BED_MANUAL อย่างไรก็ตาม หากทดสอบด้วย TEST_BED_TABLET_SCENES จะต้องเชื่อมต่อแท็บเล็ตและรหัสซีเรียลของแท็บเล็ต ต้องถูกต้องแม้ว่าจะไม่ได้ใช้แท็บเล็ตก็ตาม เนื่องจากการตั้งค่าคลาสทดสอบ จะกำหนดค่ารหัสซีเรียลสำหรับแท็บเล็ต

เรียกใช้การทดสอบแต่ละรายการ

การทดสอบแต่ละรายการจะเรียกใช้ได้เพื่อวัตถุประสงค์ในการแก้ไขข้อบกพร่องเท่านั้น เนื่องจากระบบจะไม่รายงานผลการทดสอบไปยัง CTS Verifier เนื่องจากเขียนทับไฟล์ config.yml ในบรรทัดคำสั่งสำหรับ camera และ scene ไม่ได้ พารามิเตอร์เหล่านี้จึงต้องถูกต้องในไฟล์ config.yml สำหรับ การทดสอบแต่ละรายการที่เป็นปัญหา นอกจากนี้ หากมี Testbed มากกว่า 1 รายการในไฟล์กำหนดค่า คุณต้องระบุ Testbed ด้วยแฟล็ก --test_bed เช่น

python tests/scene1_1/test_black_white.py --config config.yml --test_bed TEST_BED_TABLET_SCENES

อาร์ติแฟกต์ทดสอบ

ใน Android 12 อาร์ติแฟกต์การทดสอบสำหรับ Camera ITS จะ จัดเก็บในลักษณะเดียวกับ Android 11 หรือต่ำกว่า แต่มีการเปลี่ยนแปลง ดังต่อไปนี้

  • ไดเรกทอรีอาร์ติแฟกต์การทดสอบ /tmp มีคำนำหน้า CameraITS_ ที่สตริงแบบสุ่ม 8 อักขระเพื่อความชัดเจน
  • ระบบจะจัดเก็บเอาต์พุตและข้อผิดพลาดของการทดสอบไว้ใน test_log.DEBUG สำหรับการทดสอบแต่ละครั้งแทนที่จะเป็น test_name_stdout.txt และ test_name_stderr.txt
  • Logcat ของ DUT และแท็บเล็ตจากการทดสอบแต่ละรายการจะจัดเก็บไว้ในไดเรกทอรี /tmp/CameraITS_######## ซึ่งช่วยให้การแก้ไขข้อบกพร่องง่ายขึ้นเนื่องจากระบบจะบันทึกข้อมูลทั้งหมดที่จำเป็นในการแก้ไขปัญหา 3A

ทดสอบการเปลี่ยนแปลง

ใน Android 12 ฉากแท็บเล็ตจะเป็นไฟล์ PNG แทนไฟล์ PDF การใช้ไฟล์ PNG ช่วยให้แท็บเล็ตรุ่นต่างๆ แสดงฉากได้อย่างถูกต้อง

scene0/test_jitter.py

การทดสอบ test_jitter ทำงานบนกล้องจริงที่ซ่อนอยู่ ใน Android 12

scene1_1/test_black_white.py

สำหรับ Android 12 test_black_white มี ฟังก์ชันการทำงานของทั้ง test_black_white และ test_channel_saturation

ตารางต่อไปนี้จะอธิบายการทดสอบ 2 รายการใน Android 11

ชื่อการทดสอบ ระดับ API แรก การยืนยัน
scene1_1/test_black_white.py ทั้งหมด ค่า RGB ที่มีการเปิดรับแสงสั้นและค่าเกนต่ำ ~[0, 0, 0]
ค่า RGB ที่มีการเปิดรับแสงยาวและค่าเกนสูง ~[255, 255, 255]
scene1_1/test_channel_saturation.py 29 ลดค่าความคลาดเคลื่อนของความแตกต่าง [255, 255, 255] เพื่อขจัดสีในรูปภาพสีขาว

ตารางต่อไปนี้จะอธิบายการทดสอบที่ผสานรวม scene1_1/test_black_white.py ใน Android 12

ชื่อการทดสอบ ระดับ API แรก การยืนยัน
scene1_1/test_black_white.py ทั้งหมด ค่า RGB ที่มีการเปิดรับแสงสั้นและค่าเกนต่ำ ~[0, 0, 0]
ค่า RGB ที่มีการเปิดรับแสงยาวและค่าเกนสูง ~[255, 255, 255] และลด ค่าความคลาดเคลื่อนระหว่างค่าเพื่อขจัดสีในรูปภาพสีขาว

scene1_1/test_burst_sameness_manual.py

การทดสอบ test_burst_sameness_manual ทำงานบนกล้องจริงที่ซ่อนอยู่ ใน Android 12

scene1_2/test_tonemap_sequence.py

test_tonemap_sequence การทดสอบจะทำงานในกล้องบางรุ่นใน Android 12

scene1_2/test_yuv_plus_raw.py

การทดสอบ test_yuv_plus_raw ทำงานบนกล้องจริงที่ซ่อนอยู่ ใน Android 12

scene2_a/test_format_combos.py

test_format_combos การทดสอบจะทำงานในกล้องบางรุ่นใน Android 12

scene3/test_flip_mirror.py

test_flip_mirror การทดสอบจะทำงานในกล้องบางรุ่นใน Android 12

scene4/test_aspect_ratio_and_crop.py

เราได้ปรับโครงสร้างการค้นหาวงกลมใน scene4/test_aspect_ratio_and_crop.py ใน Android 12 ใหม่

Android เวอร์ชันก่อนหน้าใช้วิธีการที่เกี่ยวข้องกับการค้นหาขอบเขตของวัตถุที่เป็นบุตร (วงกลม) ภายในขอบเขตของวัตถุที่เป็นหลัก (สี่เหลี่ยมจัตุรัส) ด้วยตัวกรองสำหรับขนาดและ สี Android 12 ใช้วิธีการที่เกี่ยวข้องกับการค้นหา เส้นขอบทั้งหมด แล้วกรองโดยการค้นหาฟีเจอร์ที่กลมที่สุด หากต้องการกรองวงกลมที่ไม่ถูกต้องบนจอแสดงผล จะต้องมี พื้นที่ขอบขั้นต่ำ และขอบของวงกลมต้องเป็นสีดำ

เส้นชั้นความสูงและเกณฑ์การเลือกจะแสดงในรูปภาพต่อไปนี้

ภาพร่างแนวคิดของเส้นชั้นความสูงและเกณฑ์การเลือก

รูปที่ 1 ภาพร่างแนวคิดของเส้นชั้นความสูงและเกณฑ์การเลือก

วิธีของ Android 12 นั้นง่ายกว่าและใช้แก้ปัญหา การตัดกรอบล้อมรอบในแท็บเล็ตบางรุ่นได้ ระบบจะบันทึกวงกลม ที่อาจเป็นคำตอบทั้งหมดเพื่อวัตถุประสงค์ในการแก้ไขข้อบกพร่อง

ใน Android 12 ระบบจะเรียกใช้การทดสอบการครอบตัดสำหรับอุปกรณ์ FULL และ LEVEL3 Android 11 หรือเวอร์ชันที่ต่ำกว่าจะข้ามการยืนยันการทดสอบการครอบตัด สำหรับอุปกรณ์ FULL

ตารางต่อไปนี้แสดงการยืนยันสำหรับ test_aspect_ratio_and_crop.py ที่สอดคล้องกับระดับอุปกรณ์และ ระดับ API แรก

ระดับอุปกรณ์ ระดับ API แรก การยืนยัน
จำกัด ทั้งหมด สัดส่วนภาพ
FoV สำหรับรูปแบบ 4:3, 16:9, 2:1
แบบเต็ม < 31 สัดส่วนภาพ
FoV สำหรับรูปแบบ 4:3, 16:9, 2:1
แบบเต็ม ≥ 31 ครอบตัด
สัดส่วนภาพ
FOV สำหรับรูปแบบ 4:3, 16:9, 2:1
LEVEL3 ทั้งหมด ครอบตัด
สัดส่วนภาพ
FOV สำหรับรูปแบบ 4:3, 16:9, 2:1

scene4/test_multi_camera_alignment.py

เราได้ปรับโครงสร้างวิธี undo_zoom() สำหรับการจับภาพ YUV ใน scene4/test_multi_camera_alignment.py เพื่อให้การครอบตัดในเซ็นเซอร์ที่ไม่ตรงกับสัดส่วนภาพของการจับภาพมีความแม่นยำมากขึ้น

โค้ด Python 2 ใน Android 11

zoom_ratio = min(1.0 * yuv_w / cr_w, 1.0 * yuv_h / cr_h)
circle[i]['x'] = cr['left'] + circle[i]['x'] / zoom_ratio
circle[i]['y'] = cr['top'] + circle[i]['y'] / zoom_ratio
circle[i]['r'] = circle[i]['r'] / zoom_ratio

โค้ด Python 3 ของ Android 12

yuv_aspect = yuv_w / yuv_h
relative_aspect = yuv_aspect / (cr_w/cr_h)
if relative_aspect > 1:
  zoom_ratio = yuv_w / cr_w
  yuv_x = 0
  yuv_y = (cr_h - cr_w / yuv_aspect) / 2
else:
  zoom_ratio = yuv_h / cr_h
  yuv_x = (cr_w - cr_h * yuv_aspect) / 2
  yuv_y = 0
circle['x'] = cr['left'] + yuv_x + circle['x'] / zoom_ratio
circle['y'] = cr['top'] + yuv_y + circle['y'] / zoom_ratio
circle['r'] = circle['r'] / zoom_ratio

sensor_fusion/test_sensor_fusion.py

ใน Android 12 มีการเพิ่มวิธีการตรวจหาฟีเจอร์ใน รูปภาพสำหรับการทดสอบการรวมเซ็นเซอร์

ในเวอร์ชันที่ต่ำกว่า Android 12 ระบบจะใช้รูปภาพทั้งหมดเพื่อค้นหาฟีเจอร์ที่ดีที่สุด 240 รายการ จากนั้นจะมาสก์ฟีเจอร์เหล่านั้นไว้ที่กึ่งกลาง 20% เพื่อหลีกเลี่ยงเอฟเฟกต์โรลลิ่งชัตเตอร์ โดยมีข้อกำหนดขั้นต่ำของฟีเจอร์อยู่ที่ 30 รายการ

หากฟีเจอร์ที่พบด้วยวิธีนี้ไม่เพียงพอ Android 12 จะมาสก์ พื้นที่ตรวจหาฟีเจอร์เป็น 20% ตรงกลางก่อน และจำกัดฟีเจอร์สูงสุด เป็น 2 เท่าของข้อกำหนดฟีเจอร์ขั้นต่ำ

รูปภาพต่อไปนี้แสดงความแตกต่างระหว่างการตรวจหาฟีเจอร์ของ Android 11 และ Android 12 การเพิ่มเกณฑ์ข้อกำหนดขั้นต่ำของฟีเจอร์จะส่งผลให้ตรวจพบฟีเจอร์คุณภาพต่ำ และส่งผลเสียต่อการวัดผล

ความแตกต่างในการตรวจหาฟีเจอร์ระหว่าง Android 11
และ Android 12
การตรวจหาฟีเจอร์ Sensor Fusion

รูปที่ 2 ความแตกต่างในการตรวจหาฟีเจอร์ระหว่าง Android 11 กับ Android 12

การตรวจหาผู้ติดเชื้อรายใหม่

scene0/test_solid_color_test_pattern.py

เราได้เปิดใช้การทดสอบใหม่ test_solid_color_test_pattern สำหรับ Android 12 การทดสอบนี้เปิดใช้สำหรับกล้องทุกรุ่นและ อธิบายไว้ในตารางต่อไปนี้

ฉาก ชื่อการทดสอบ ระดับ API แรก คำอธิบาย
0 test_solid_color_test_pattern 31 ยืนยันเอาต์พุตรูปภาพสีทึบและความสามารถในการตั้งโปรแกรมสีของรูปภาพ

ต้องเปิดใช้รูปแบบการทดสอบสีทึบเพื่อรองรับโหมดความเป็นส่วนตัวของกล้อง test_solid_color_test_pattern การทดสอบยืนยันเอาต์พุตรูปภาพ YUV สีทึบ โดยมีสีที่กำหนดโดยรูปแบบที่เลือก และการเปลี่ยนแปลงสีของรูปภาพ ตามข้อกำหนด

พารามิเตอร์

  • cameraPrivacyModeSupport: กำหนดว่ากล้องรองรับโหมดความเป็นส่วนตัวหรือไม่
  • android.sensor.testPatternMode: ตั้งค่าโหมดรูปแบบการทดสอบ การทดสอบนี้ใช้ SOLID_COLOR
  • android.sensor.testPatternData: ตั้งค่า R, Gr, Gb, G สำหรับรูปแบบการทดสอบ สำหรับโหมดรูปแบบการทดสอบ

ดูคำอธิบายของรูปแบบการทดสอบสีพื้นได้ที่ SENSOR_TEST_PATTERN_MODE_SOLID_COLOR

วิธีการ

ระบบจะบันทึกเฟรม YUV สำหรับพารามิเตอร์ที่ตั้งค่าไว้และตรวจสอบเนื้อหารูปภาพ รูปแบบการทดสอบจะแสดงผลจากเซ็นเซอร์รูปภาพโดยตรง จึงไม่จำเป็นต้องมีฉากใดฉากหนึ่ง หากPER_FRAME_CONTROLรองรับ ระบบจะบันทึกเฟรม YUV เดียวสำหรับการตั้งค่าแต่ละรายการที่ทดสอบ หากไม่รองรับ PER_FRAME_CONTROL ระบบจะจับภาพ 4 เฟรมและวิเคราะห์เฉพาะเฟรมสุดท้ายเพื่อเพิ่มความครอบคลุมของการทดสอบในกล้อง LIMITED

การจับภาพ YUV จะตั้งค่าเป็นรูปแบบการทดสอบ BLACK, WHITE, RED, GREEN และ BLUE ที่อิ่มตัวเต็มที่ เนื่องจากคำจำกัดความของรูปแบบการทดสอบเป็นไปตามรูปแบบ Bayer ของเซ็นเซอร์ จึงต้องตั้งค่าแชแนลสีสำหรับแต่ละสีตามที่แสดงในตาราง ต่อไปนี้

สี testPatternData (RGGB)
สีดำ (0, 0, 0, 0)
ขาว (1, 1, 1, 1)
RED (1, 0, 0, 0)
สีเขียว (0, 1, 1, 0)
น้ำเงิน (0, 0, 0, 1)

ตารางการยืนยัน

ตารางต่อไปนี้อธิบายการยืนยันการทดสอบสำหรับ test_solid_color_test_pattern.py

กล้อง
ระดับ API แรก
ประเภทกล้อง สีที่อ้าง
31 Bayer ดำ ขาว แดง เขียว น้ำเงิน
31 MONO ดำ ขาว
< 31 Bayer/MONO สีดำ

การทดสอบในชั้นเรียน

scene2_c/test_camera_launch_perf_class.py

ยืนยันว่าการเริ่มต้นกล้องใช้เวลาน้อยกว่า 500 มิลลิวินาทีสำหรับทั้งกล้องหลักด้านหน้าและด้านหลัง โดยใช้ฉากใบหน้า scene2_c

scene2_c/test_jpeg_capture_perf_class.py

ยืนยันว่าเวลาในการตอบสนองของการจับภาพ JPEG ที่ 1080p น้อยกว่า 1 วินาทีสำหรับทั้งกล้องหน้าและกล้องหลังหลักที่มีฉากใบหน้า scene2_c