Giới thiệu dự án
Sự gia tăng nhanh chóng của các phương tiện giao thông cá nhân tại các đô thị lớn đang tạo ra áp lực khổng lồ lên hạ tầng giao thông tĩnh. Theo thống kê từ Cục Đăng kiểm và các cơ quan quản lý đô thị, số lượng xe ô tô lưu hành tại Việt Nam đã vượt mốc 4,5 triệu phương tiện và tiếp tục tăng trưởng hơn 10% mỗi năm. Hệ quả là nhu cầu gửi giữ xe tại các tòa nhà, trung tâm thương mại, bệnh viện và trường đại học trở nên quá tải trầm trọng.
Thực trạng quản lý tại phần lớn các bãi đỗ xe hiện nay vẫn tồn tại nhiều điểm nghẽn nghiêm trọng (pain points):
- Phương thức thủ công và bán tự động tiềm ẩn rủi ro: Ghi vé giấy dễ rách nát, phai mực do thời tiết hoặc ma sát; sử dụng thẻ từ RFID vật lý tiềm ẩn nguy cơ mất thẻ, tráo biển số hoặc va quẹt làm hỏng thẻ.
- Thời gian tìm kiếm vị trí đỗ và tìm xe kéo dài: Trong các bãi đỗ quy mô lớn, người điều khiển phương tiện thường mất từ 10 đến 25 phút để xác định ô đỗ trống hoặc định vị lại vị trí xe đã đỗ khi lấy xe ra, gây lãng phí nhiên liệu và ùn tắc cục bộ.
- Chi phí nhân sự và vận hành cao: Đòi hỏi đội ngũ bảo vệ túc trực 24/7 để kiểm soát barie, đối soát thẻ và tuần tra thủ công từng khu vực đỗ.
Nhằm giải quyết triệt để các hạn chế trên, đề tài "Thiết kế mô hình đọc biển số, QR Code và xác định vị trí đỗ xe bằng Tesseract-OCR" do sinh viên ngành Công nghệ Kỹ thuật Máy tính (Trường Đại học Sư phạm Kỹ thuật TP.HCM) thực hiện dưới sự hướng dẫn của TS. Phạm Văn Khoa đã đề xuất một giải pháp tổng thể kết hợp thị giác máy tính (Computer Vision), phần cứng nhúng biên (Edge Computing) và ứng dụng di động thông minh.
Dự án xác định 4 mục tiêu cốt lõi:
- Tự động hóa quá trình nhận diện biển số xe ô tô tiêu chuẩn Việt Nam tại cổng vào/ra thông qua thư viện xử lý ảnh OpenCV và công cụ nhận dạng ký tự quang học Tesseract-OCR.
- Số hóa toàn diện quy trình kiểm soát check-in/check-out thông qua việc sinh mã ma trận 2 chiều (QR Code) động trên ứng dụng di động, loại bỏ 100% thẻ từ vật lý.
- Tự động xác định và cập nhật vị trí xe theo thời gian thực tại từng khoang đỗ bằng hệ thống camera giám sát cục bộ ESP32-CAM dựa trên định danh địa chỉ MAC.
- Xây dựng hệ thống Backend API RESTful đồng bộ dữ liệu tập trung giữa các thiết bị biên, cơ sở dữ liệu và ứng dụng điện thoại người dùng.
Phương pháp tiếp cận dựa trên nền tảng tính toán biên phân tán (Distributed Edge Computing): Raspberry Pi 4 Model B đóng vai trò cổng điều khiển trung tâm (Edge Gateway) xử lý tác vụ nặng về nhận diện ảnh tại trạm kiểm soát; mạng lưới các vi điều khiển ESP32-CAM đảm nhiệm việc chụp và gửi dữ liệu nhận dạng tại từng ô đỗ; máy chủ trung tâm quản lý cơ sở dữ liệu và xử lý logic nghiệp vụ.
Phạm vi nghiên cứu tập trung vào mô hình bãi đỗ xe 1 tầng phẳng, áp dụng cho ô tô có biển số dài hoặc vuông theo quy chuẩn giao thông Việt Nam, xe đỗ đúng làn quy định trong điều kiện ánh sáng kiểm soát đạt tiêu chuẩn quang thông tối thiểu.
+-----------------------------------------------------------------------------------+
| KIẾN TRÚC TỔNG THỂ HỆ THỐNG |
+-----------------------------------------------------------------------------------+
| [CỔNG VÀO / RA] |
| - Camera Logitech C270 / Pi Cam ---> [Raspberry Pi 4 Model B] |
| - Quét mã QR người dùng - Pipeline OpenCV (Gaussian, Adaptive Thresh)|
| - Engine Tesseract-OCR / Pytesseract |
+-------------------------------------------------+---------------------------------+
| REST API (HTTP/HTTPS)
v
+-------------------------------------------------+---------------------------------+
| [HỆ THỐNG BACKEND & CƠ SỞ DỮ LIỆU] | [KHU VỰC CÁC Ô ĐỖ XE (SLOTS)] |
| - Web Server (Flask/FastAPI) | - Node 1: ESP32-CAM (MAC_1) |
| - RDBMS (Bảng Users, Vehicles, CameraSlots) | - Node 2: ESP32-CAM (MAC_2) |
| - Dynamic DNS & SSL Certificate | - Node N: ESP32-CAM (MAC_N) |
+-------------------------------------------------+---------------------------------+
^
| REST API
+-------------------------------------------------+---------------------------------+
| [ỨNG DỤNG DI ĐỘNG (SMARTPHONE APP)] |
| - Đăng ký / Đăng nhập / Sinh mã QR vé xe động |
| - Nhận thông báo ô đỗ thời gian thực (Slot ID & Trạng thái xe) |
+-----------------------------------------------------------------------------------+
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Khảo sát các phương thức quản lý bãi đỗ xe phổ biến trên thị trường cho thấy rõ sự khác biệt giữa các thế hệ công nghệ:
| Tiêu chí đánh giá |
Vé giấy truyền thống |
Thẻ từ RFID bán tự động |
Hệ thống đề xuất (OpenCV + Tesseract + QR + ESP32) |
| Chi phí vật tư tiêu hao |
Cao (chi phí giấy, mực in liên tục) |
Trung bình (chi phí phôi thẻ, hao hụt mất thẻ) |
Rất thấp (0 đồng phí vật tư, dùng app di động) |
| Tốc độ xử lý cổng (Check-in) |
Chậm (5 – 10 giây/lượt) |
Trung bình (2 – 3 giây/lượt) |
Nhanh (1 – 1.5 giây/lượt) |
| Xác thực 2 lớp (Xe & Chủ) |
Không có (dễ gian lận) |
Thấp (chỉ so khớp ảnh chụp thủ công) |
Cao (Ràng buộc kép: Biển số OCR + Mã QR cá nhân) |
| Định vị vị trí xe trong bãi |
Không hỗ trợ |
Không hỗ trợ |
Tự động cập nhật thời gian thực lên App người dùng |
| Chi phí phần cứng triển khai |
Thấp |
Cao (Đầu đọc RFID, máy tính trạm, tủ điều khiển) |
Tối ưu (Sử dụng module IoT mã nguồn mở giá rẻ) |
Phân loại yêu cầu hệ thống theo ma trận MoSCoW:
- Must have (Bắt buộc phải có): Nhận diện chính xác ký tự biển số từ ảnh chụp camera; Quét và giải mã QR Code định danh tài khoản; Cập nhật trạng thái xe (VÀO / ĐÃ ĐỖ / RA); Lưu trữ lịch sử giao dịch vào cơ sở dữ liệu quan hệ.
- Should have (Nên có): Định vị chính xác ô đỗ thông qua địa chỉ MAC của ESP32-CAM; Giao diện ứng dụng di động hiển thị sơ đồ vị trí trực quan; Cảnh báo xe đỗ sai làn hoặc biển số không trùng khớp.
- Could have (Có thể mở rộng): Tích hợp cổng thanh toán trực tuyến tự động tính phí theo giờ; Hỗ trợ nhận diện biển số 2 dòng của xe máy.
- Won't have (Chưa thực hiện trong pha này): Nhận diện khuôn mặt tài xế; Điều hướng xe tự hành trong bãi ngầm.
Thiết kế hệ thống
Kiến trúc hệ thống được chia thành 4 thành phần chức năng rõ rệt:
- Khối thu nhận và xử lý ảnh cổng (Edge Gateway): Sử dụng Raspberry Pi 4 Model B (Quad-core Cortex-A72 @ 1.5GHz, 4GB LPDDR4) kết nối với Camera Logitech C270 / Raspberry Pi Camera Module V2. Module này thực hiện luồng xử lý ảnh liên tục, phân đoạn ký tự và chuyển đổi OCR thành chuỗi ký tự thô.
- Khối giám sát khoang đỗ (Slot Monitoring Nodes): Mỗi vị trí đỗ được bố trí một module ESP32-CAM (sử dụng chip ESP32-S tích hợp cảm biến OV2640 2MP). Module hoạt động ở chế độ Web Server truyền luồng ảnh MJPEG qua giao thức HTTP, đồng thời gửi địa chỉ phần cứng (MAC Address) và ảnh chụp xe khi phát hiện phương tiện tiến vào vị trí đỗ.
- Khối máy chủ và dịch vụ dữ liệu (Backend & Database): Máy chủ lưu trữ cơ sở dữ liệu quan hệ (RDBMS) với lược đồ chuẩn hóa:
Users (user_id, full_name, phone_number, password_hash, created_at)
Vehicles (vehicle_id, user_id, license_plate, status, slot_id, check_in_time, check_out_time)
CameraSlots (camera_mac, slot_name, ip_address, is_occupied, last_updated)
- Khối ứng dụng người dùng (Mobile Client): Cung cấp giao diện tương tác trên smartphone, cho phép người dùng tạo tài khoản, đăng ký thông tin phương tiện, tạo mã QR động có mã hóa thời gian thực và nhận thông báo chính xác về vị trí xe (
slot_name) ngay khi xe vừa đỗ.
+-----------------------------------------------------------------------------------+
| LƯỢC ĐỒ CƠ SỞ DỮ LIỆU QUAN HỆ |
+-----------------------------------------------------------------------------------+
| USERS VEHICLES |
| * user_id (PK, UUID) 1 * vehicle_id (PK, UUID) |
| - full_name (VARCHAR) <---> N - user_id (FK -> USERS.user_id) |
| - phone_number (VARCHAR) - license_plate (VARCHAR, UNIQUE) |
| - password_hash (VARCHAR) - status (ENUM: 'IN', 'PARKED', 'OUT') |
| - created_at (TIMESTAMP) - slot_id (FK -> CAMERASLOTS.slot_id) |
| - check_in_time (DATETIME) |
| - check_out_time (DATETIME) |
+---------------------------------------------------+-------------------------------+
| N
|
| 1
+---------------------------------------------------+-------------------------------+
| CAMERASLOTS |
| * slot_id (PK, INT) |
| - camera_mac (VARCHAR, UNIQUE) |
| - slot_name (VARCHAR, e.g., 'A-01', 'B-04') |
| - ip_address (VARCHAR) |
| - is_occupied (BOOLEAN) |
| - last_updated (TIMESTAMP) |
+-----------------------------------------------------------------------------------+
Hệ thống giao tiếp thông qua giao thức RESTful API tiêu chuẩn trên nền HTTPS TLS 1.3:
POST /api/v1/parking/check-in: Nhận license_plate và qr_user_token, xác thực tính hợp lệ và mở barie vào.
POST /api/v1/parking/update-slot: Nhận camera_mac, detected_plate, đối soát với trạng thái xe để gán slot_id.
POST /api/v1/parking/check-out: Nhận license_plate và qr_user_token, kiểm tra đối khớp xe, cập nhật trạng thái OUT và giải phóng ô đỗ.
Methodology
Quy trình phát triển được triển khai theo mô hình Agile/Scrum gồm 4 giai đoạn chính kéo dài trong 16 tuần:
- Giai đoạn 1 (Tuần 1 – 4): Nghiên cứu lý thuyết xử lý ảnh OpenCV, cấu trúc mã ma trận QR Code tiêu chuẩn ISO/IEC 18004, khảo sát kiến trúc pipeline Tesseract-OCR và Leptonica engine.
- Giai đoạn 2 (Tuần 5 – 8): Xây dựng thuật toán trích xuất vùng biển số, tinh chỉnh bộ lọc ngưỡng thích nghi Gaussian (Adaptive Thresholding) và phát hiện đường viền (Contour Detection). Thiết lập môi trường phần cứng trên Raspberry Pi 4.
- Giai đoạn 3 (Tuần 9 – 12): Thiết kế mạng camera ESP32-CAM giám sát ô đỗ, phát triển RESTful API backend và cơ sở dữ liệu quan hệ, tích hợp module nhận dạng mã QR Code.
- Giai đoạn 4 (Tuần 13 – 16): Xây dựng ứng dụng di động, kết nối toàn diện hệ sinh thái phần cứng - phần mềm, thực nghiệm kiểm thử hiệu năng và đánh giá sai số.
Implementation và kết quả
Development process
Trọng tâm kỹ thuật của hệ thống nằm ở quy trình tiền xử lý ảnh (Image Preprocessing Pipeline) và trích xuất ký tự được tối ưu hóa riêng cho điều kiện biển số xe Việt Nam bằng Python 3 và OpenCV:
- Chuyển đổi ảnh thang độ xám (Grayscale Conversion): Giảm dung lượng dữ liệu từ 3 kênh màu (RGB) xuống 1 kênh đơn sắc 8-bit.
- Khử nhiễu làm mịn bằng bộ lọc Gaussian (Gaussian Blur): Sử dụng nhân chập kích thước $3 \times 3$ với độ lệch chuẩn $\sigma$ tự động nhằm làm phẳng các chi tiết gợn sóng và nhiễu sensor mà vẫn giữ nguyên cạnh viền ký tự:
$$\sigma_x = \left(\frac{n_x}{2} - 1\right) \times 0.80$$
- Phân đoạn ngưỡng động (Adaptive Gaussian Thresholding): Thay vì sử dụng ngưỡng nhị phân cố định $T$ gây mất nét trong điều kiện chiếu sáng không đều, hệ thống áp dụng ngưỡng biến thiên từng vùng cục bộ:
$$T(x, y) = \mu_{(x, y)} - C$$
Trong đó $\mu_{(x, y)}$ là giá trị trung bình có trọng số Gaussian của vùng lân cận kích thước $b \times b$ (chọn $b = 19$) và hằng số bù $C = 9$.
- Trích xuất viền bao (Contour Extraction): Áp dụng hàm
cv2.findContours với chế độ cv2.RETR_LIST và phương pháp xấp xỉ cv2.CHAIN_APPROX_SIMPLE để nén các phân đoạn phẳng thành các điểm mút hình học, lọc các đường bao thỏa mãn tỷ lệ khung hình (Aspect Ratio $\approx 1.2 - 4.5$) và diện tích chuẩn của biển số xe.
import cv2
import pytesseract
def preprocess_and_ocr(image_path):
# 1. Đọc ảnh đầu vào từ camera
img = cv2.imread(image_path)
if img is None:
raise ValueError("Không thể tải hình ảnh từ đường dẫn chỉ định.")
# 2. Chuyển sang ảnh xám
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 3. Làm mịn bằng Gaussian Blur nhân 3x3
blurred = cv2.GaussianBlur(gray, (3, 3), 0)
# 4. Áp dụng Adaptive Gaussian Thresholding
thresh = cv2.adaptiveThreshold(
blurred, 255,
cv2.ADAPTIVE_THRESH_GAUSSIAN_C,
cv2.THRESH_BINARY, 19, 9
)
# 5. Tìm kiếm đường viền (Contours)
contours, _ = cv2.findContours(thresh, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
plate_img = None
for cnt in contours:
x, y, w, h = cv2.boundingRect(cnt)
aspect_ratio = float(w) / h
area = cv2.contourArea(cnt)
# Tiêu chí lọc khung biển số ô tô
if 1.5 < aspect_ratio < 5.0 and area > 1000:
plate_img = thresh[y:y+h, x:x+w]
break
# Nếu không crop được contour phù hợp, sử dụng ảnh nhị phân đã xử lý
target = plate_img if plate_img is not None else thresh
# 6. Nhận dạng ký tự quang học với Tesseract Engine (OEM=3, PSM=7)
custom_config = r'--oem 3 --psm 7 -c tessedit_char_whitelist=ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
raw_text = pytesseract.image_to_string(target, config=custom_config)
# Hậu xử lý chuỗi: Loại bỏ ký tự thừa và khoảng trắng
clean_plate = "".join([c for c in raw_text if c.isalnum()])
return clean_plate
+-----------------------------------------------------------------------------------+
| LUỒNG DỮ LIỆU CHECK-IN VÀ CẬP NHẬT Ô ĐỖ |
+-----------------------------------------------------------------------------------+
[Phương tiện đến cổng] ---> Camera cổng chụp ảnh ---> [Raspberry Pi 4]
| (OpenCV + OCR)
v
[Người dùng quét QR] ---> Quét mã Token App ---> Trích xuất: Plate + QR_ID
|
v
[REST API: /check-in]
|
v
[DB: Tạo bản ghi xe status='IN']
|
v
[Mở Barie vào bãi]
|
[Xe tiến vào ô đỗ A-01]---> ESP32-CAM chụp ảnh ---> [Gửi MAC + Plate]
|
v
[REST API: /update-slot]
|
v
[DB: Gán xe vào ô đỗ A-01]
|
v
[App: Hiển thị vị trí đỗ A-01]
+-----------------------------------------------------------------------------------+
Đối với module QR Code, hệ thống triển khai theo tiêu chuẩn định dạng cấu trúc ma trận gồm các thành phần đặc tả: Finder Patterns (tỷ lệ module 1:1:3:1:1 tại 3 góc định hướng), Separators, Timing Patterns, Alignment Patterns và vùng mã hóa dữ liệu tích hợp cơ chế sửa lỗi Reed-Solomon cấp độ L (chịu lỗi tổn hại tối đa 7%) hoặc M (15%), đảm bảo camera quét nhận diện chính xác kể cả khi màn hình điện thoại bị trầy xước hoặc chói sáng.
Testing và validation
Hệ thống đã trải qua các bài kiểm thử thực nghiệm trên 120 mẫu xe trong nhiều kịch bản hoạt động thực tế:
| Kịch bản kiểm thử |
Điều kiện môi trường |
Số lượng mẫu |
Tỷ lệ OCR chính xác |
Thời gian xử lý TB (ms) |
| Kịch bản 1 |
Ánh sáng ban ngày thuận lợi (500 – 800 lux) |
40 |
95.0% |
385 ms |
| Kịch bản 2 |
Ánh sáng nhân tạo / Hầm xe (150 – 300 lux) |
30 |
90.0% |
412 ms |
| Kịch bản 3 |
Ánh sáng chói ngược / Đèn xe pha |
25 |
84.0% |
468 ms |
| Kịch bản 4 |
Biển số nghiêng góc $15^\circ - 30^\circ$ |
25 |
80.0% |
490 ms |
| Tổng thể |
Môi trường hỗn hợp |
120 |
88.3% |
428 ms |
Thử nghiệm giải mã mã QR trên ứng dụng di động đạt tỷ lệ thành công 100% với độ trễ giải mã trung bình đạt 115 ms. Giao tiếp API giữa các node ESP32-CAM và máy chủ trung tâm qua mạng không dây nội bộ duy trì độ trễ gói tin dưới 180 ms ở độ phân giải hình ảnh SVGA ($800 \times 600$).
Kết quả đạt được
Hệ thống đã hoàn thiện đầy đủ các chức năng thiết kế và đáp ứng tốt các chỉ tiêu kỹ thuật đề ra:
- Tự động hóa hoàn toàn luồng vào/ra: Thời gian xe dừng tại cổng giảm xuống còn 1.2 – 1.8 giây, nhanh hơn 65% so với quy trình quẹt thẻ từ truyền thống.
- Xác thực an toàn đa yếu tố: Ngăn chặn tuyệt đối tình trạng tráo đổi biển số hoặc sử dụng vé giả nhờ cơ chế ràng buộc chéo giữa chuỗi OCR nhận dạng thực tế và mã định danh người dùng trong QR Code.
- Định vị chính xác vị trí đỗ: 100% các lượt xe đỗ đúng làn tại mô hình thử nghiệm đều được ESP32-CAM nhận diện và đồng bộ thông tin vị trí (
Slot ID) lên ứng dụng di động của người dùng trong thời gian không quá 3 giây.
Đổi mới và đóng góp
- Đổi mới kiến trúc định vị khoang đỗ giá thành thấp: Thay vì sử dụng cảm biến siêu âm (Ultrasonic Sensor) đắt đỏ và phức tạp trong thi công dây dẫn tại từng ô đỗ, đề tài ứng dụng mạng camera nhúng ESP32-CAM kết hợp định danh phần cứng (MAC Mapping). Giải pháp này vừa giám sát thị giác trực quan vừa giảm chi phí phần cứng trên mỗi khoang đỗ xuống dưới 150.000 VNĐ/slot.
- Cơ chế vé số hóa động (Dynamic Digital Ticket): Loại bỏ hoàn toàn chi phí phát hành, bảo dưỡng thẻ nhựa RFID và vé giấy. Dữ liệu vé gắn liền với phiên đăng nhập bảo mật trên điện thoại cá nhân.
- Tối ưu hóa pipeline xử lý ảnh trên phần cứng nhúng biên: Việc kết hợp chọn lọc giữa bộ lọc Gaussian $3 \times 3$, thuật toán ngưỡng thích nghi
ADAPTIVE_THRESH_GAUSSIAN_C và bộ tham số PSM 7 của Tesseract OCR giúp hệ thống đạt hiệu suất nhận dạng ổn định trực tiếp trên vi xử lý ARM của Raspberry Pi 4 mà không cần phụ thuộc vào máy chủ GPU đắt tiền.
Ứng dụng thực tế và triển khai
Khả năng ứng dụng thực tiễn
Mô hình hoàn toàn có khả năng đóng gói thành giải pháp thương mại áp dụng cho nhiều không gian hạ tầng:
- Bãi đỗ xe thông minh tại các khu chung cư và đô thị: Quản lý xe cư dân thông qua tài khoản đăng ký cố định trên ứng dụng, hỗ trợ tự động mở barrier khi nhận diện đúng biển số đã đăng ký.
- Tòa nhà văn phòng và trung tâm thương mại: Kiểm soát lưu lượng khách vãng lai, tính toán thời gian đỗ chính xác và cung cấp tính năng "Tìm vị trí xe của tôi" (Find My Car) ngay trên điện thoại khi khách mua sắm xong.
- Bệnh viện và trường học: Đảm bảo an ninh phương tiện tuyệt đối, ngăn ngừa hành vi trộm cắp và giảm tải tắc nghẽn giờ cao điểm.
Hướng dẫn triển khai phần cứng và cấu hình hệ thống
+-----------------------------------------------------------------------------------+
| SƠ ĐỒ BỐ TRÍ THIẾT BỊ VẬT LÝ |
+-----------------------------------------------------------------------------------+
| [LÀN VÀO] [KHU VỰC ĐỖ XE] |
| - Camera cổng: Cao 0.8 - 1.2m, góc nghiêng 15-20 độ - Slot A-01: ESP32-CAM |
| - Màn hình quét QR: Ngang tầm mắt tài xế (1.1m) - Slot A-02: ESP32-CAM |
| - Barrier tự động kết nối Relay GPIO Raspberry Pi - Slot B-01: ESP32-CAM |
| |
| [HẠ TẦNG MẠNG] |
| - Router WiFi công nghiệp: Băng tần 2.4GHz / 5GHz, DHCP tĩnh theo địa chỉ MAC |
| - Edge Gateway: Raspberry Pi 4 (Cấp nguồn Type-C 5V-3A ổn định) |
+-----------------------------------------------------------------------------------+
- Yêu cầu lắp đặt Camera trạm kiểm soát: Camera Logitech C270 hoặc Raspberry Pi Camera Module cần được đặt ở độ cao từ $0.8\text{m} - 1.2\text{m}$ so với mặt đường, góc nghiêng thẳng so với hướng di chuyển của xe từ $15^\circ - 20^\circ$ để hạn chế tối đa góc khuất và hiện tượng phản chiếu ánh đèn pha.
- Cấu hình Raspberry Pi 4 Edge Server:
- Cấu hình ESP32-CAM Node:
- Nạp firmware sử dụng ESP-IDF hoặc Arduino IDE với cấu hình cảm biến
CAMERA_MODEL_AI_THINKER.
- Gán dải IP tĩnh hoặc cấu hình DHCP Reservation trên Router WiFi dựa vào địa chỉ MAC của từng module.
- Phân tích hiệu quả kinh tế và ROI:
- Chi phí đầu tư cho một hệ thống 50 vị trí đỗ ước tính khoảng 18 – 25 triệu VNĐ (bao gồm 1 trạm Gateway Raspberry Pi 4, camera cổng, 50 node ESP32-CAM và hạ tầng mạng phụ trợ).
- So với các hệ thống cảm biến siêu âm truyền thống có chi phí từ 60 – 90 triệu VNĐ, giải pháp giúp tiết kiệm từ 65% đến 72% chi phí đầu tư ban đầu.
- Thời gian hoàn vốn đầu tư (ROI) dự kiến đạt từ 8 đến 12 tháng thông qua việc cắt giảm 50% chi phí nhân sự bảo vệ và triệt tiêu hoàn toàn chi phí phát hành thẻ từ.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Công cụ Tesseract-OCR truyền thống phụ thuộc nhiều vào chất lượng xử lý nhị phân; khi biển số xe bị bám bùn đất dày, nứt vỡ hoặc bị biến dạng hình học nặng, tỷ lệ nhận dạng giảm xuống dưới 75%.
- Module ESP32-CAM bị giới hạn về bộ nhớ SRAM và cảm biến nhạy sáng thấp, dẫn đến chất lượng ảnh giảm trong điều kiện thiếu sáng ban đêm nếu không có đèn LED trợ sáng hồng ngoại.
- Hệ thống hiện chỉ hỗ trợ mô hình bãi đỗ xe đơn tầng mặt phẳng, chưa tích hợp thuật toán dẫn đường đa tầng trong không gian ngầm.
Hướng phát triển trong tương lai
- Nâng cấp mô hình thị giác sang Deep Learning: Chuyển đổi pipeline trích xuất từ OpenCV/Tesseract sang các mạng nơ-ron tích chập hiện đại như YOLOv8 kết hợp kiến trúc nhận dạng chuỗi CRNN (Convolutional Recurrent Neural Network) và hàm mất mát CTC Loss, tăng tốc phần cứng bằng Google Coral USB TPU hoặc NVIDIA Jetson Nano.
- Tích hợp thanh toán không tiền mặt: Liên kết API các cổng thanh toán trực tuyến (MoMo, VNPay, ZaloPay) tự động trừ tiền trong ví điện tử của tài xế khi xe qua trạm check-out.
- Phát triển bản đồ điều hướng trong nhà (Indoor Navigation): Ứng dụng công nghệ định vị Bluetooth Low Energy (BLE Beacons) hoặc hình học không gian để chỉ đường từng bước (Turn-by-turn navigation) trên smartphone từ vị trí hiện tại đến chính xác ô đỗ còn trống.
Đối tượng hưởng lợi
- Sinh viên và người nghiên cứu: Cung cấp tài liệu tham khảo thực tiễn và mã nguồn mẫu hoàn chỉnh về việc tích hợp thuật toán xử lý ảnh số (OpenCV), OCR (Tesseract) trên các nền tảng phần cứng nhúng phổ biến như Raspberry Pi và ESP32.
- Kỹ sư và nhà phát triển hệ thống nhúng/IoT: Tham khảo mô hình kiến trúc phân tán giữa Edge Gateway và Micro-camera Nodes, phương pháp tối ưu hóa bộ nhớ và thiết kế chuẩn giao tiếp RESTful API cho thiết bị phần cứng hạn chế tài nguyên.
- Đơn vị quản lý và vận hành bãi xe: Tiếp cận giải pháp công nghệ hiện đại với chi phí đầu tư ban đầu thấp, giải phóng sức lao động của nhân viên bảo vệ, quản lý doanh thu minh bạch và hạn chế rủi ro thất thoát tài sản.
- Người điều khiển phương tiện: Trải nghiệm dịch vụ gửi xe thuận tiện, không lo mất thẻ vật lý, tiết kiệm thời gian tìm kiếm vị trí đỗ và hoàn toàn an tâm về tính bảo mật của phương tiện.
Câu hỏi thường gặp
1. Yêu cầu phần cứng tối thiểu để triển khai hệ thống là gì?
Hệ thống yêu cầu tối thiểu một bo mạch Raspberry Pi 4 Model B (RAM tối thiểu 2GB, khuyến nghị 4GB) làm trạm điều khiển trung tâm tại cổng, camera quan sát độ phân giải tối thiểu HD 720p (như Logitech C270), mỗi vị trí đỗ xe trang bị một module ESP32-CAM kèm nguồn cấp 5V-2A và một bộ phát WiFi chuẩn 802.11 b/g/n đảm bảo phủ sóng toàn bộ diện tích bãi đỗ.
2. Hệ thống xử lý thế nào khi biển số xe bị nghiêng hoặc ánh sáng thay đổi phức tạp?
Thuật toán tiền xử lý sử dụng phương pháp Adaptive Gaussian Thresholding thay vì ngưỡng tĩnh, cho phép tính toán lại giá trị ngưỡng phân đoạn trên từng khối điểm ảnh $19 \times 19$, triệt tiêu ảnh hưởng của bóng râm và chói sáng. Đối với biển số nghiêng, hệ thống áp dụng kỹ thuật xấp xỉ đa giác để tìm 4 đỉnh của khung viền biển số và thực hiện phép biến đổi phối cảnh (Perspective Transform) nắn phẳng ảnh trước khi đưa vào bộ nhận dạng OCR.
3. Hệ thống có thể tích hợp với các rào chắn Barie tự động hiện có không?
Có. Raspberry Pi 4 có sẵn các chân GPIO đa năng. Hệ thống kích hoạt mở Barie tự động thông qua module Relay 5V kết nối trực tiếp với mạch điều khiển của động cơ cần chắn Barie ngay sau khi API xác thực thành công dữ liệu biển số và mã QR Code.
4. Chi phí bảo trì và vận hành hệ thống hàng năm là bao nhiêu?
Do hệ thống sử dụng ứng dụng di động thay thế thẻ từ và vé giấy, chi phí vật tư tiêu hao bằng 0. Chi phí duy trì chủ yếu bao gồm tiền điện tiêu thụ của các thiết bị nhúng công suất thấp (tổng công suất hệ thống 50 xe dưới 50W, tương đương khoảng 50.000 – 80.000 VNĐ tiền điện/tháng) và chi phí bảo trì định kỳ hệ thống mạng WiFi.
5. Nếu mạng Internet bị gián đoạn, hệ thống có tiếp tục hoạt động được không?
Có. Toàn bộ logic nhận diện biển số, giải mã QR Code và cơ sở dữ liệu có thể được thiết lập chạy trực tiếp trong mạng cục bộ (Local Area Network - LAN) trên Raspberry Pi 4 mà không bắt buộc phải có kết nối Internet ra ngoài. Dữ liệu sẽ tự động đồng bộ lên máy chủ Cloud khi có kết nối trở lại.
Kết luận
Đề tài "Thiết kế mô hình đọc biển số, QR Code và xác định vị trí đỗ xe bằng Tesseract-OCR" đã giải quyết trọn vẹn bài toán tự động hóa quản lý bãi đỗ xe thông minh bằng việc kết hợp hài hòa giữa thị giác máy tính, phần cứng nhúng biên và ứng dụng di động. Với tỷ lệ nhận dạng biển số đạt trên 88%, thời gian xử lý qua cổng dưới 1.5 giây và chi phí triển khai tiết kiệm hơn 65% so với các giải pháp truyền thống, mô hình chứng minh tính khả thi cao trong việc ứng dụng vào đời sống thực tế, đóng góp thiết thực vào mục tiêu chuyển đổi số và xây dựng đô thị thông minh.