IMX582

IMX582 is a 48MP rolling shutter color image sensor. It’s the highest resolution sensor that depthai currently supports. It’s integrated into the OAK-1 Max.

Sensor specs

Parameter

Value

Optical format

1/1.2”

Resolution

8000x6000

Pixel size

0.8 µm

Shutter type

Rolling

Chroma

Color

Supported resolutions

Supported sensor resolution by depthai

Name

Resolution

Max FPS

MIPI lanes

Notes

Mode

THE_48_MP

5312x6000

10 FPS

4

Maps to THE_5312X6000

Full resolution (not supported)

THE_5312X6000

5312x6000

10 FPS

4

Width is cropped

Cropping (QBC remosaic’ed)

THE_4000X3000

4000x3000

30 FPS

4

Full FOV

QBC Binning

THE_4_K

3840x2160

42 FPS

4

QBC Binning (to 4000x3000) then Cropping

Currently the full resolution (THE_48_MP) is center cropped to 5312x6000 due to ISP width limit. So at the moment the image at full resolution (THE_48_MP) has narrower HFOV than the camera actually is (see image below), just because of this limitation on line width.

IMX582 QBC

QBC (Quad Bayer Coding) remosaic is computed on the sensor itself. Physical pixel layout (QBC) is on the left, and remosaic’ed pixel layout is on the right, which is the standard Bayer layout.

https://1.img-dpreview.com/files/p/E~TS1180x0~articles/4088675984/Remosaic_diagram.png

When binning on QBC sensor (eg. 4000x3000 resolution), sensor just combines the two adjacent pixels into one (eg. 4 green pixels into 1 big green pixel). The result is a binned image that has better Image Quality (IQ) compared to standard bayer sensor (eg. IMX378), where binning will reduce image quality, as it has to jump over pixels to combine those of the same color filter, which results in less sharp images.

IMX582 RAM consumption

At highest resolution, the IMX582 image sensor produces 32MP frames, which can consume a lot of RAM. As OAK cameras are embedded devices, they don’t have a lot of RAM to begin with. In most pipelines, even just the ColorCamera node with default pool sizes will be too large, so you need to be very cautious when it comes to RAM and we suggest reading the RAM usage documentation. For ColorCamera node, you’d likely need to change pool sizes, example here:

cam = pipeline.create(dai.node.ColorCamera)
cam.setResolution(dai.ColorCameraProperties.SensorResolution.THE_5312X6000) # 32MP
# Decrease pool sizes for all outputs (raw, isp, preview, video, still):
cam.setNumFramesPool(2,2,1,1,1)

FFC compatibility

With OAK FFC boards you can easily evaluate different sensors and optics, as you can connect FFC camera boards to any OAK FFC baseboard (OAK-FFC-4P, OAK-FFC-3P) via a flexible cable. FFC camera boards are carrier boards for the CCM (additional information below), so it can easily be connected to any OAK FFC baseboard. The following FFC camera boards contain this sensor:

../../../../_images/48mp-ffc.jpg

AF, NFOV

Sensor CCMs

Compact camera modules (CCMs) can be integrated directly into a custom product. CCMs are used in the final camera product. CCMs vary in optics and FPC connector. The following CCMs have been built using this sensor:

  • Arducam short FPC:

    • 71° DFOV, 45° HFOV, 55° VFOV, EFL: 4.74, F. NO: 1.79±5%, Lens Size: 1/2”

      • AF: PY080

      • AF NoIR: PY101

      • FF BandPass @ 940nm: PY102

      • FF: PY106 (Focus: 50cm+)

    • Wide FOV FF (PY107) - 109° DFOV, 63° HFOV, 89° VFOV, EFL: 2.75, F. NO: 2.8±5%, Lens Size: 1/2”, Focus: 50cm+

../../../../_images/lcm48.jpg

Arducam short FPC IMX582 Compact Camera Module with NFOV and AF

Image quality comparison

Here’s an image comparison between different image sensors captured from OAK-FFC-3P. For more information, see Improving Image Quality docs.

IMX214 (13MP color sensor), IMX378 (12MP color sensor), IMX582 (48MP color sensor)

../../../../_images/comparison-preview.jpg

Click on the image for the unencoded full-resolution sensor comparison image. Note that these images are about 8x digitally zoomed, and you can find full-resolution uncropped frames here (300 MB). Image specifications: Grocery items are at 4m, 33LUX, sensitivity 100ISO. Images were taken at 200ms,300ms,400ms,500ms exposure and combined with an HDR script (on the host).

IMX582 HDR

IMX582 sensor supports on-sensor HDR, so it can be leveraged by the Robotics Vision Core 2 (RVC2) as well. In the comparison image below we are using OAK-1 Max. HDR support is currently on branch camera_controls_misc and will be merged to main soon.

https://user-images.githubusercontent.com/18037362/242872521-32395b7b-7e8a-4948-9887-1d1deb3774e8.png

IMX582 HDR comparison. Click on this image for full resolution images on Google Drive. We suggest downloading images, as they are large.

For the HDR image above we used the following argument for cam_test.py:

python3 cam_test.py -cams rgb,c -rs -cres 12mp -fps 10 -misc hdr-exposure-ratio=4 hdr-local-tone-weight=75

Additional images

../../../../_images/car-license-plate-70m.png

Car license plate at 70m. Click on this image for the full resolution image on Google Drive. We suggest downloading the image, as it’s ~35MB. Zooming into the image should make the license plate visible.

Got questions?

Head over to Discussion Forum for technical support or any other questions you might have.