The problem
A modern ADAS does not drive the car — it watches the road alongside the driver. Lane-keep warning, pedestrian detection and forward-collision alert are the three driver-assistance functions regulators now push toward mandatory fitment, and on October 20, 2026 Axera announced its mixed-precision-NPU ADAS chip — built for bird's-eye-view perception models, allocating compute across INT4, INT8 and INT16 — has entered Europe inside Leapmotor's new global compact EV, after mass production in China from April 2026. That chip runs the same three functions this project rebuilds at student scale. This project puts them on a 1:10 RC car: a Sony IMX219 camera and a Hailo-class NPU on a Raspberry Pi 5 run quantized YOLOv8n for pedestrian detection, OpenCV lane tracking for lane-keep warning, and bounding-box-growth time-to-collision for collision alert — with steering nudge, buzzer and auto-brake so every warning is a physical event.
How it works
A camera watches the road, an NPU thinks about what it sees, and actuators respond. The Sony IMX219 camera on the forward mast streams 720p frames to the Raspberry Pi 5, which runs two vision paths in parallel: a classical lane tracker (Canny edges, Hough lines, perspective warp to a top-down view) that measures lateral offset from lane centre, and a quantized YOLOv8n detector on the Hailo-class NPU that finds people and obstacles. A sensor-fusion stage merges the lane offset, the detection list and the ultrasonic range into three ADAS decisions every frame: lane-keep warning when drift crosses threshold, pedestrian alert when a person box enters the corridor, and a time-to-collision estimate from how fast obstacle boxes grow on screen. The actuation stage turns decisions into events — steering-servo nudge and buzzer for lane warnings, LED cluster for pedestrian alerts, drive-motor cutoff for imminent collision — while the dashboard mirrors every decision live.
- The IMX219 camera (8 MP, 3280×2464 — manufacturer spec) streams 720p frames from the forward mast to the Raspberry Pi 5 (BCM2712 quad-core Cortex-A76 @ 2.4 GHz — manufacturer spec).
- The lane tracker runs Canny-edge detection and Hough-line extraction on a perspective-warped top-down view, then computes lateral offset of the car from lane centre in real time.
- In parallel, YOLOv8n quantized to INT8 runs on the Hailo-class NPU (26 TOPS INT8 @ ~2.5 W — manufacturer data), returning person-class and obstacle bounding boxes each frame.
- The fusion stage combines lane offset, detection boxes and the HC-SR04 range into three decisions: lane-keep warning, pedestrian alert, and time-to-collision from bounding-box growth rate.
- Actuation fires per decision: steering-servo nudge plus buzzer for lane drift, LED cluster for pedestrian alerts, drive-motor cutoff when TTC falls below 1.0 s (design target).
- The Flask dashboard mirrors the annotated feed, TTC gauge and alert states live — the full loop is bench-testable without driving, and every threshold is a documented tunable.
Tech stack:
- Raspberry Pi 5 (BCM2712 · quad-core Cortex-A76 @ 2.4 GHz)
- Pi Camera Module v2 (Sony IMX219 · 3280×2464)
- Hailo-class M.2 NPU (26 TOPS INT8 · ~2.5 W)
- YOLOv8n INT8 quantized (Ultralytics · COCO person class)
- OpenCV lane tracking (Canny · Hough · perspective warp)
- TTC estimation (bounding-box growth rate · design-target thresholds)
- MG996R-class steering servo + auto-brake actuation
- Flask perception dashboard (bench-test demo)
Dataset & model details
- Dataset: COCO 2017 (cocodataset.org) — 118K training images, 80 object classes; this build uses the pretrained
personclass for pedestrian detection plus a small custom lane-marking image set (design-target ~500 annotated frames, captured from the demo camera) for the lane tracker. - Task: Real-time object detection (input: 640×640 RGB frame; output: bounding boxes + class + confidence for person/obstacle classes) and lane-line segmentation (input: warped top-down view; output: lane-centre lateral offset in cm).
- Model: YOLOv8n (nano) exported to INT8 and run on the Hailo-class NPU; lane path is classical CV (Canny + Hough + perspective warp), not learned.
- Metrics: Ultralytics-published figures for YOLOv8n on COCO val2017: mAPval 50-95 = 37.3, 3.2M parameters, 8.7B FLOPs (docs.ultralytics.com). INT8-quantized on-device accuracy is a design target to be measured during bench tuning — the walkthrough includes the measurement procedure, not a claimed number.
| Parameter | Value |
|---|---|
| Compute | Raspberry Pi 5: BCM2712 quad-core Cortex-A76 @ 2.4 GHz (manufacturer spec) |
| Camera | Pi Camera Module v2: Sony IMX219, 8 MP, 3280×2464 (manufacturer spec) · 720p inference stream |
| NPU | Hailo-class M.2 accelerator: 26 TOPS INT8 @ ~2.5 W (manufacturer data) |
| Detection model | YOLOv8n INT8: Ultralytics-published mAPval 50-95 37.3 · 3.2M params (official) |
| Lane tracker | Canny + Hough + perspective warp · warning threshold ±15 cm lateral (design target) |
| TTC thresholds | Warning < 2.5 s · auto-brake < 1.0 s (design targets · bench-tuned) |
| Range sanity | HC-SR04 ultrasonic: 2–400 cm (datasheet) |
| Chassis | 1:10 4WD short-course truck platform · ~40 cm class (approximate) |
| Steering | MG996R-class servo: 9.4 kg-cm @ 4.8 V (datasheet) |
| Alerts | Piezo buzzer + LED cluster · drive-motor cutoff relay |
| Dashboard | Flask app: annotated feed · TTC gauge · alert LEDs · tunables panel |
Project features
Three driver-assistance functions made physical define this build. First, lane-keep warning: the forward camera tracks lane markings with a Canny-edge and Hough-line pipeline, computes lateral offset from lane centre, and nudges the steering servo plus a piezo buzzer the moment the car drifts toward a line — the correction happens live on the car. Second, pedestrian detection: quantized YOLOv8n (Ultralytics, 3.2M parameters, mAPval 50-95 of 37.3 on COCO — official published figures) runs INT8 on the Hailo-class NPU and boxes every person-class detection inside the drivable corridor live. Third, forward-collision warning and auto-brake: time-to-collision comes from how fast an obstacle's bounding box grows on screen, warning at TTC below 2.5 s and cutting the drive motor at TTC below 1.0 s (both design targets), with an HC-SR04 ultrasonic as an independent distance sanity check. Tying it together is the live perception dashboard — the working demo — for bench testing the full loop without driving.
- [Lane-keep warning with steering nudge] The IMX219 camera tracks lane markings through a Canny-edge plus Hough-line pipeline with perspective warp; lateral offset from lane centre drives a steering-servo nudge and a piezo buzzer when drift crosses the warning threshold (design target: ±15 cm at 1:10 scale).
- [Pedestrian detection on the edge NPU] Quantized YOLOv8n (INT8, Ultralytics-published mAPval 50-95 of 37.3, 3.2M parameters — official figures) runs on the Hailo-class M.2 NPU (26 TOPS INT8 @ ~2.5 W — manufacturer data); every person-class detection inside the drivable corridor is boxed live with a confidence-gated alert.
- [Forward-collision warning and auto-brake] Time-to-collision comes from the growth rate of an obstacle's bounding box: warning below 2.5 s TTC, drive-motor cutoff below 1.0 s (design targets, bench-tuned); an HC-SR04 ultrasonic (2–400 cm — datasheet) acts as an independent distance sanity check.
- [Live perception dashboard] A Flask dashboard mirrors the camera feed with lane overlay, detection boxes, TTC gauge and alert LEDs in real time — the working demo, usable for bench testing the full pipeline without driving the car.
- [Real RC-scale actuation] A 1:10 4WD short-course chassis with MG996R-class steering servo (9.4 kg-cm @ 4.8 V — datasheet) carries the mast; every warning is a physical event: servo nudge, buzzer, LED cluster, motor cutoff.
- [Honest sensor fusion] Vision is the primary sensor; the ultrasonic and wheel-encoder speed sanity-check it. Where the two disagree, the system defaults to the conservative action (warn, then brake) — stated openly in the report.
- [Bench-tunable thresholds] Lane-offset warning distance, detection confidence and both TTC thresholds ship as documented tunables, with the tuning procedure (test-track tape lanes, cardboard pedestrian cut-out, measured stopping distance) in the build guide.
What is included
- Assembled 1:10 ADAS RC car: 4WD short-course chassis, forward camera mast, Pi 5, Hailo-class M.2 NPU, MG996R-class steering servo, HC-SR04, buzzer + LED alert cluster, auto-brake relay, LiPo pack with charger
- Quantized perception pipeline flashed and bench-tuned: lane tracker, YOLOv8n INT8 detector, fusion logic, TTC estimator
- Live perception dashboard (the working demo) with the bench-test simulated-feed mode
- Lane-test kit: tape lane markings for a test track, cardboard pedestrian cut-out, measured stopping-distance procedure
- Threshold-tuning walkthrough: lane-offset calibration, detection-confidence tuning, TTC validation runs
- Project report PDF (ADAS perception pipeline, NPU quantization, sensor fusion, build log)
- PPT presentation for final review
- Viva Q&A preparation document (why INT8, why bounding-box TTC, vision-vs-ultrasonic honesty, Axera's mixed-precision NPU context)
Limitations & prerequisites
- Test-track honesty: this is a 1:10 RC car on a marked test track, not a road vehicle — it demonstrates the perception pipeline, never road driving. The Axera comparison is about the vision-to-warning pipeline, nothing else.
- Vision is fair-weather: like every camera ADAS (Axera's own release lists backlit scenes, rainy nights and tunnels as the hard cases), low light, glare and wet markings degrade tracking. The limitations section states the tested lighting window openly.
- COCO-domain generalization: YOLOv8n knows the COCO
personclass, not Indian-road edge cases. The report documents where detection is reliable and where it is not, with the measurement procedure. - INT8 quantization trade: the nano model is fast because it is small; on-device accuracy after quantization is a bench-measured design target, never the Ultralytics-published FP32 figure.
- Bench-build note (from the actual build): the lane tracker only holds lock when the camera mast sits 10–14 cm above the deck with a 2–4° downward pitch — steeper and it reads the horizon; shallower and near-field lines vanish. The mast bracket is drilled for that range.
- Rolling shutter: the IMX219 is a rolling-shutter sensor, so fast lateral motion smears frames — the pipeline gates detections by frame-to-frame consistency rather than trusting any single frame.
- LiPo discipline applies: packs charge and store per standard LiPo practice, on a fire-safe surface, never unattended.
- The dashboard demo's feed is simulated for bench testing; real tuning is done on the car with the included test-track kit, and the walkthrough shows how.
Frequently Asked Questions
What did Axera actually announce in October 2026?
Axera announced on October 20, 2026 that its intelligent-driving ADAS chip — built around the AXNeutron mixed-precision NPU with native BEV perception models and dynamic compute allocation across INT4, INT8 and INT16 — has entered the European market inside Leapmotor's new global compact electric hatchback. The chip entered mass production in China in April 2026; its AI-ISP processes 8MP@50fps for pedestrian, vehicle and road-sign detection. This project rebuilds the same three functions (lane-keep, pedestrian detection, collision alert) with a student-affordable NPU at RC scale — it claims no link to Axera or Leapmotor beyond the inspiration.
Is this project suitable for a final-year project?
Yes — suitable for final-year students in IoT & Embedded, Electronics/E&TC and related programs: it pairs a real embedded-vision pipeline (quantized YOLOv8n on an NPU, classical lane tracking, sensor fusion) with honest actuation — steering nudge, buzzer, auto-brake. It also gives examiners exactly what they probe — tunable thresholds, quantization trade-offs, vision-vs-ultrasonic honesty — and the hard parts (TTC validation, INT8 measurement, track tuning) are strong viva material.
Why not just use a bigger model than YOLOv8n?
Because the build runs on a 26-TOPS edge NPU, not a datacenter GPU — the same constraint Axera's chip solves with mixed-precision INT4/INT8/INT16 allocation. YOLOv8n (3.2M parameters, Ultralytics-published mAPval 50-95 of 37.3) is the largest model that still clears the real-time frame budget on this hardware. The report shows the latency-vs-accuracy trade explicitly — a bigger model would run at single-digit FPS and miss the braking window, so the nano choice is engineering, not compromise.
How is time-to-collision estimated without radar?
From first principles: an approaching obstacle's bounding box grows on screen, and the rate of that growth encodes time-to-collision — a box doubling in area every half second means roughly one second to impact. The fusion stage tracks box-area growth across frames to estimate TTC, warning below 2.5 s and cutting the motor below 1.0 s (design targets). The HC-SR04 ultrasonic independently sanity-checks range, and when the two disagree the system defaults to the conservative action: warn, then brake.
What will I receive with the project?
The assembled and bench-tuned 1:10 ADAS RC car (chassis, camera mast, Pi 5, Hailo-class NPU, servo steering, ultrasonic, alert hardware, LiPo and charger), the flashed perception pipeline with all thresholds as documented tunables, the live perception dashboard with bench-test mode, the lane-test kit and stopping-distance procedure, and the viva kit: project report PDF, PPT and Q&A document.
Components & software requirements
- Raspberry Pi 5 (BCM2712 · quad-core Cortex-A76 @ 2.4 GHz)
- Pi Camera Module v2 (Sony IMX219 · 3280×2464)
- Hailo-class M.2 NPU (26 TOPS INT8 · ~2.5 W)
- YOLOv8n INT8 quantized (Ultralytics · COCO person class)
- OpenCV lane tracking (Canny · Hough · perspective warp)
- TTC estimation (bounding-box growth rate · design-target thresholds)
- MG996R-class steering servo + auto-brake actuation
- Flask perception dashboard (bench-test demo)
Dataset & model details
- Dataset: COCO 2017 (cocodataset.org) — 118K training images, 80 object classes; this build uses the pretrained
personclass for pedestrian detection plus a small custom lane-marking image set (design-target ~500 annotated frames, captured from the demo camera) for the lane tracker. - Task: Real-time object detection (input: 640×640 RGB frame; output: bounding boxes + class + confidence for person/obstacle classes) and lane-line segmentation (input: warped top-down view; output: lane-centre lateral offset in cm).
- Model: YOLOv8n (nano) exported to INT8 and run on the Hailo-class NPU; lane path is classical CV (Canny + Hough + perspective warp), not learned.
- Metrics: Ultralytics-published figures for YOLOv8n on COCO val2017: mAPval 50-95 = 37.3, 3.2M parameters, 8.7B FLOPs (docs.ultralytics.com). INT8-quantized on-device accuracy is a design target to be measured during bench tuning — the walkthrough includes the measurement procedure, not a claimed number.
Delivery information
Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.
Support terms
Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.
Download free synopsis (PDF)
Enter your name and WhatsApp number — the synopsis PDF downloads immediately. We may send occasional project updates on WhatsApp; no spam.