IMX378

Sony’s IMX378 is a 12MP rolling shutter color image sensor. It’s used in almost all of our products (OAK-D, OAK-D S2 OAK-D Pro, OAK-D-PoE, OAK-D S2 PoE, etc.) as the color camera.

Sensor specs

Parameter

Value

Optical format

1/2.3”

Resolution

4056x3040

Pixel size

1.55µm

Shutter type

Rolling

Chroma

Color

Supported resolutions

Supported sensor resolution by depthai

Name

Resolution

Max FPS

MIPI lanes

Mode

THE_12_MP

4056x3040

30 FPS

2

Full resolution

THE_4_K

3840 x 2160

30 FPS

2

Cropping

THE_1080_P

1920x1080

60 FPS

2

Cropping (to 4K) then Binning

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/imx378-FFC-boards.jpg

From left to right: OAK-FFC-IMX378, OAK-FFC-IMX378 (Arducam short FPC), OAK-FFC-IMX378-W

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:

  • Sunny style long FPC:

    • NFOV (AF/FF) - 81° DFOV, 69° HFOV, 55° VFOV

  • Arducam short FPC:

    • NFOV AF (PY004) - 78° DFOV, 66° HFOV, 54° VFOV, EFL: 4.81, F. NO: 1.8±5%, Lens Size: 1/2.3”

    • NFOV FF (PY052) - 82° DFOV, 69° HFOV, 55° VFOV, EFL: 4.74, F. NO: 1.8±5%, Lens Size: 1/2.3”

    • WFOV FF (PY060) - 120° DFOV, 108° HFOV, 93° VFOV, EFL: 2.75, F. NO: 2.8±5%, Lens Size: 1/2.3”

On the image above (OAK FFC board) you can see all 3 different IMX378 CCMs.

Sensor driver

Sensor driver adds support for that sensor to the Robotics Vision Core (RVC). Here are RVC2 driver specifications for this sensor:

  • Min exposure times:

    • Manual: 5 us (microseconds)

    • Auto-Exposure: 106 us

  • Min FPS: 2

  • Max exposure times:

    • Manual: 1 / CAM_FPS (eg. 33ms @ 30FPS)

    • Auto-Exposure:

      • AntiBanding OFF: 33ms

      • AntiBanding 50Hz: 30ms

      • AntiBanding 60Hz: 25ms

Max AE exposure time depends on the Anti-Banding (AB) mode, which helps to avoid flickering when using artificial lighting. We can configure the AB using the API:

cam = pipeline.create(dai.node.ColorCamera) # Or MonoCamera
# "OFF", "MAINS_50_HZ", or "MAINS_60_HZ"
cam.initialControl.setAntiBandingMode(dai.CameraControl.AntiBandingMode.OFF)

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).

Additional images

../../../../_images/imx378w-oak-d-w.jpg

From left to right: Arducam short FPC WFOV (120° DFOV) IMX378 on the OAK-D W

Got questions?

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