The OAK-D Lite (OpenCV AI Kit with Depth) is a remarkable embedded AI camera that combines a colour camera, stereo depth cameras, and an Intel Myriad X Vision Processing Unit (VPU) running at 4 TOPS. This compact device enables real-time depth perception and neural network inference at the edge without requiring a powerful host computer. This review covers OAK-D Lite’s capabilities, DepthAI Python SDK, and practical applications for India robotics and industrial projects.
Table of Contents
- OAK-D Lite Specifications
- DepthAI Python SDK Setup
- Stereo Depth Pipeline
- On-Device Neural Network Inference
- Real-Time Object Detection with Depth
- India Applications
- OAK-D Lite vs Alternatives
- FAQ
OAK-D Lite Specifications
OAK-D Lite hardware:
- Colour camera: IMX214 13MP (4208×3120), 68-degree HFOV
- Stereo cameras: 2x OV7251 1MP (640×480 each), 73-degree HFOV, 75mm baseline
- VPU: Intel Myriad X MA2485, 4 TOPS (16x SHAVE cores)
- Stereo depth range: 19.6cm to ~35m (dependant on disparity settings)
- Interface: USB 3.1 Type-C
- Power: 2.5W typical via USB
- Dimensions: 91.7mm x 27.8mm x 17.5mm, 61g
- India price: Rs 12,000-15,000
DepthAI Python SDK Setup
# Install DepthAI SDK
pip3 install depthai
# Install udev rules for Linux (required)
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="03e7", MODE="0666"' | sudo tee /etc/udev/rules.d/80-movidius.rules
sudo udevadm control --reload-rules && sudo udevadm trigger
# Verify device detected
python3 -c "import depthai as dai; print(dai.__version__)"
# Test with built-in demo (shows colour + depth side by side)
python3 -m depthai_demo
Stereo Depth Pipeline
import depthai as dai
import numpy as np
import cv2
# Create pipeline
pipeline = dai.Pipeline()
# Define sources and outputs
camRgb = pipeline.create(dai.node.ColorCamera)
stereo = pipeline.create(dai.node.StereoDepth)
monoLeft = pipeline.create(dai.node.MonoCamera)
monoRight = pipeline.create(dai.node.MonoCamera)
xoutDepth = pipeline.create(dai.node.XLinkOut)
xoutRgb = pipeline.create(dai.node.XLinkOut)
xoutDepth.setStreamName('depth')
xoutRgb.setStreamName('rgb')
# Camera properties
camRgb.setPreviewSize(640, 480)
camRgb.setInterleaved(False)
monoLeft.setCamera('left')
monoLeft.setResolution(dai.MonoCameraProperties.SensorResolution.THE_400_P)
monoRight.setCamera('right')
monoRight.setResolution(dai.MonoCameraProperties.SensorResolution.THE_400_P)
# Stereo depth config
stereo.setDefaultProfilePreset(dai.node.StereoDepth.PresetMode.HIGH_DENSITY)
stereo.initialConfig.setMedianFilter(dai.MedianFilter.KERNEL_7x7)
stereo.setLeftRightCheck(True)
stereo.setSubpixel(False)
# Linking
monoLeft.out.link(stereo.left)
monoRight.out.link(stereo.right)
stereo.depth.link(xoutDepth.input)
camRgb.preview.link(xoutRgb.input)
with dai.Device(pipeline) as device:
depthQueue = device.getOutputQueue('depth', maxSize=4, blocking=False)
rgbQueue = device.getOutputQueue('rgb', maxSize=4, blocking=False)
while True:
depthFrame = depthQueue.get().getFrame()
rgbFrame = rgbQueue.get().getCvFrame()
# Colorise depth for display
depthVis = cv2.normalize(depthFrame, None, 0, 255, cv2.NORM_MINMAX, cv2.CV_8U)
depthColor = cv2.applyColorMap(depthVis, cv2.COLORMAP_JET)
cv2.imshow('Depth', depthColor)
cv2.imshow('RGB', rgbFrame)
if cv2.waitKey(1) == ord('q'): break
On-Device Neural Network Inference
OAK-D Lite runs neural networks on its Myriad X VPU. Models must be compiled to OpenVINO Intermediate Representation (IR) format. Luxonis provides pre-compiled models via the DepthAI model zoo:
import blobconverter # pip3 install blobconverter
# Download pre-compiled YOLOv5n for Myriad X
blob_path = blobconverter.from_zoo(
name='yolov5n_coco_416x416',
shaves=6, # Number of SHAVE cores (6 balanced for OAK-D Lite)
zoo_type='depthai'
)
print(f'Model cached at: {blob_path}')
Real-Time Object Detection with Depth
import depthai as dai, cv2, numpy as np
pipeline = dai.Pipeline()
detectionNetwork = pipeline.create(dai.node.YoloDetectionNetwork)
camRgb = pipeline.create(dai.node.ColorCamera)
stereo = pipeline.create(dai.node.StereoDepth)
monoLeft = pipeline.create(dai.node.MonoCamera)
monoRight = pipeline.create(dai.node.MonoCamera)
xoutDet = pipeline.create(dai.node.XLinkOut)
xoutDet.setStreamName('detections')
# Configure detection network
detectionNetwork.setBlobPath(blob_path)
detectionNetwork.setConfidenceThreshold(0.5)
detectionNetwork.setNumClasses(80)
detectionNetwork.setCoordinateSize(4)
detectionNetwork.setIouThreshold(0.5)
detectionNetwork.setNumInferenceThreads(2)
detectionNetwork.input.setBlocking(False)
camRgb.setPreviewSize(416, 416)
camRgb.preview.link(detectionNetwork.input)
detectionNetwork.out.link(xoutDet.input)
with dai.Device(pipeline) as device:
detQ = device.getOutputQueue('detections', 4, False)
while True:
dets = detQ.get().detections
print(f'Detected {len(dets)} objects')
for d in dets:
print(f' Label: {d.label}, Conf: {d.confidence:.2f}, Distance: {d.spatialCoordinates.z/1000:.2f}m')
Arducam IMX219 8MP Camera Module
For projects that need a simpler, lower-cost camera with Raspberry Pi, the IMX219 provides excellent computer vision performance. A cost-effective alternative when full stereo depth is not required. Compatible with most OpenCV projects.
India Applications
Robotic navigation: Stereo depth enables obstacle avoidance for autonomous robots in warehouses, hospitals, and educational institutions. Several India startups use OAK-D for delivery robot prototypes.
Agricultural inspection: Combine depth data with crop disease detection (visual inspection) to measure plant height and volume alongside disease classification – valuable for India’s vast agricultural sector.
Industrial quality control: 3D point cloud generation from stereo depth enables dimensional inspection of manufactured parts. Much lower cost than laser scanners (Rs 12,000 vs Rs 2-5 lakh).
Accessibility aids: Obstacle detection and distance estimation for visually impaired users. OAK-D Lite’s USB-C connection to a mobile phone enables a wearable navigation aid.
OAK-D Lite vs Alternatives
| Device | AI Performance | Depth | India Price |
|---|---|---|---|
| OAK-D Lite | 4 TOPS (VPU) | Stereo 0.2-35m | Rs 12,000-15,000 |
| Jetson Nano | 472 GFLOPS (GPU) | None (add sensor) | Rs 8,000-12,000 |
| Raspberry Pi 5 | ~100 GFLOPS (CPU) | None | Rs 6,000-8,000 |
| Intel RealSense D435 | None (host CPU) | Stereo 0.2-10m | Rs 25,000-30,000 |
FAQ
Can OAK-D Lite run YOLO without a host computer?
It can run inference on its VPU autonomously, but needs a USB host to receive results. Connect to a Raspberry Pi Zero 2W (Rs 2,500) for a standalone system with minimal power consumption.
What is the minimum reliable depth range?
19.6cm (about 20cm) for OAK-D Lite. For closer ranges, use structured light cameras or Time-of-Flight sensors. The 75mm baseline limits near-range depth accuracy – at 20cm distance, depth noise is about 5-10mm.
Can I train custom models for OAK-D Lite?
Yes. Train your model with standard frameworks (PyTorch, TensorFlow), export to ONNX, convert to OpenVINO IR, then compile to Myriad X blob format using OpenVINO tools. Total pipeline takes 30-60 minutes for a small model.
Add comment