Bối cảnh và vấn đề nghiên cứu
Sự tăng trưởng kinh tế và quá trình đô thị hóa nhanh chóng kéo theo sự gia tăng vượt bậc về số lượng cũng như chủng loại phương tiện giao thông đường bộ. Mật độ phương tiện lưu thông ngày càng dày đặc gây áp lực lớn lên công tác quản lý, giám sát giao thông và điều hành bãi đỗ xe tại các đô thị. Nhận diện biển số xe tự động (Automatic Number Plate Recognition - ANPR) là bài toán then chốt trong lĩnh vực thị giác máy tính nhằm hỗ trợ kiểm soát lưu lượng, tự động hóa trạm thu phí, quản lý bãi đỗ xe thông minh và phục vụ công tác giám sát an ninh trật tự.
Mặc dù các hệ thống nhận diện quy mô lớn đã được triển khai trên thế giới, phần lớn các giải pháp này đòi hỏi hệ thống máy tính có cấu hình phần cứng mạnh, giá thành cao và khó triển khai linh hoạt ở môi trường di động. Việc nghiên cứu ứng dụng các mô hình học sâu (Deep Learning) trên các thiết bị máy tính nhúng nhỏ gọn, chi phí thấp như Raspberry Pi là hướng tiếp cận cần thiết nhưng gặp nhiều thách thức kỹ thuật:
- Năng lực tính toán và dung lượng bộ nhớ của phần cứng nhúng bị giới hạn.
- Điều kiện môi trường ngoại cảnh phức tạp (ánh sáng thay đổi, chói lóa, sương mù, mưa, hậu cảnh phức tạp làm nhiễu vùng biển số).
- Chất lượng thu nhận hình ảnh (độ mờ do chuyển động, góc chụp lệch, khoảng cách thay đổi).
- Sự thiếu hụt các tập dữ liệu biển số xe lớn được gán nhãn chuẩn xác theo đặc thù phương tiện tại Việt Nam.
Khóa luận tốt nghiệp ngành Kỹ thuật Máy tính của nhóm tác giả Nguyễn Quốc Toản và Nguyễn Quang Huy (Trường Đại học Công nghệ Thông tin – Đại học Quốc gia TP. Hồ Chí Minh, năm 2021) được thực hiện nhằm giải quyết bài toán trên.
Mục tiêu và nhiệm vụ nghiên cứu:
- Nghiên cứu tổng quan về công nghệ nhận diện biển số xe và các kiến trúc học sâu phù hợp cho thị giác máy tính.
- Xây dựng và hoàn thiện chương trình phần mềm ứng dụng học sâu để phát hiện, phân đoạn và nhận dạng ký tự biển số xe ô tô Việt Nam.
- Triển khai và tối ưu hóa hệ thống trên nền tảng máy tính nhúng Raspberry Pi kết hợp Camera Pi.
- Đạt chỉ tiêu thực nghiệm: Độ chính xác nhận diện biển số đạt tối thiểu 90% đối với tập dữ liệu hình ảnh tĩnh có sẵn và đạt tối thiểu 85% đối với hình ảnh chụp trực tiếp từ Camera Pi.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Biển số xe ô tô đang lưu hành tại Việt Nam theo các quy chuẩn hiện hành; các giải thuật xử lý ảnh số và mô hình mạng nơ-ron học sâu (CNN, MobileNet).
- Phạm vi không gian và kỹ thuật: Biển số xe xuất hiện trong ảnh theo phương ngang, không bị che khuất hoàn toàn, độ biến dạng và độ mờ ở mức thấp đến trung bình; camera thu nhận được đặt cố định hoặc di động với góc nghiêng không quá lớn; ảnh có thể bị ảnh hưởng bởi thời tiết nhưng mắt thường vẫn có thể phân biệt được ký tự.
- Giới hạn đề tài: Khóa luận chỉ tập trung vào biển số xe ô tô tại Việt Nam, không xử lý biển số xe máy hoặc biển số xe nước ngoài; kết quả đầu ra là tọa độ vùng biển số và chuỗi ký tự nhận diện dưới dạng văn bản (text).
Cơ sở lý thuyết và phương pháp
Khóa luận kết hợp giữa quy chuẩn nhận dạng thực tế, lý thuyết xử lý ảnh cổ điển và các kiến trúc học sâu tối ưu cho thiết bị biên.
Cơ sở pháp lý và quy chuẩn biển số xe
Khóa luận căn cứ vào quy định tại Thông tư 58/2020/TT-BCA của Bộ Công an về quy cách biển số xe ô tô tại Việt Nam:
- Chất liệu và đặc tính: Làm bằng kim loại, có màng phản quang, ký hiệu bảo mật công an hiệu dập chìm (biển đăng ký tạm thời in trên giấy).
- Kích thước: Xe ô tô được gắn 2 biển số ngắn (kích thước chiều cao 165 mm, chiều dài 330 mm) hoặc đổi sang 2 biển số dài (kích thước chiều cao 110 mm, chiều dài 520 mm), hoặc kết hợp 1 biển ngắn và 1 biển dài.
- Màu sắc và ký tự sê-ri:
- Xe cá nhân, doanh nghiệp: Nền màu trắng, chữ và số màu đen, sử dụng một trong 20 chữ cái sê-ri: A, B, C, D, E, F, G, H, K, L, M, N, P, S, T, U, V, X, Y, Z.
- Xe cơ quan Đảng, Văn phòng Chủ tịch nước, cơ quan nhà nước: Nền màu xanh, chữ và số màu trắng, sử dụng một trong 11 chữ cái sê-ri: A, B, C, D, E, F, G, H, K, L, M.
- Xe kinh doanh vận tải: Nền màu vàng, chữ và số màu đen, sử dụng một trong 20 chữ cái sê-ri.
- Xe khu kinh tế - thương mại đặc biệt: Nền màu vàng, chữ và số màu đỏ.
Tổng quan các mô hình và phương pháp xử lý
- Phương pháp xử lý ảnh truyền thống:
- Chuyển đổi Hough (Hough Transform): Dò tìm các đường thẳng gần song song dựa trên đặc trưng cạnh biên để xác định khung bao biển số.
- Hình thái học (Morphological operations): Trích xuất vùng biển số dựa trên hình thái, màu sắc và độ tương phản.
- Khớp mẫu (Template Matching): Trích xuất các cửa sổ ứng viên và đối sánh mẫu.
- Mô hình học máy và học sâu tham khảo:
- Faster R-CNN: Mạng nơ-ron hai giai đoạn sử dụng mạng đề xuất vùng (Region Proposal Network - RPN) và lớp RoI Pooling, tối ưu hóa bằng hàm Cross Entropy.
- YOLO (You Only Look Once): Mạng phát hiện đối tượng đơn giai đoạn chia lưới ảnh, sử dụng hàm mất mát sai số toàn phương trung bình (Mean Square Error - MSE), kỹ thuật Multi-scale training và gom cụm k-means để xác định kích thước khung chuẩn.
- SVM (Support Vector Machine): Thuật toán học có giám sát tìm siêu phẳng (hyper-plane) tối ưu để phân lớp dữ liệu.
- Mạng nơ-ron tích chập (Convolutional Neural Network - CNN): Sử dụng các trường tiếp nhận cục bộ (local receptive field), trọng số chia sẻ (shared weights) và các tầng pooling nhằm trích xuất đặc trưng từ mức độ thấp đến mức độ trừu tượng cao.
| Mô hình / Kiến trúc |
Đặc điểm tính toán |
Dung lượng tham số |
Độ phù hợp trên máy tính nhúng |
| VGG16 / VGG19 |
Tích chập 2D thông thường, khối lượng tính toán lớn |
~138M parameters (528 MB - 549 MB) |
Không phù hợp (chiếm dụng bộ nhớ và tính toán chậm) |
| Faster R-CNN |
Mạng 2 giai đoạn (RPN + RoI Pooling), độ chính xác cao |
Lớn, xử lý phức tạp |
Kém linh hoạt trên thiết bị phần cứng hạn chế |
| YOLO |
Mạng 1 giai đoạn, tốc độ xử lý thời gian thực tốt |
Trung bình đến nhỏ (tùy phiên bản) |
Yêu cầu GPU chuyên dụng để đạt tốc độ cao |
| MobileNet V1 |
Sử dụng Depthwise Separable Convolution |
4.2M parameters (kích thước nhỏ gọn) |
Rất phù hợp cho thiết bị nhúng và IoT |
Nguyên lý kiến trúc MobileNet V1
Điểm mấu chốt giúp MobileNet V1 vận hành hiệu quả trên phần cứng giới hạn là kỹ thuật tích chập tách biệt chiều sâu (Depthwise Separable Convolution), bao gồm hai bước:
- Tích chập chiều sâu (Depthwise Convolution): Chia khối tensor 3D đầu vào thành từng lát cắt theo chiều sâu, áp dụng bộ lọc $k \times k$ độc lập cho từng kênh riêng biệt, giảm số lượng phép tính từ $k \times k \times c$ xuống còn $k \times k$.
- Tích chập điểm (Pointwise Convolution): Sử dụng các bộ lọc kích thước $1 \times 1 \times c$ để phối hợp thông tin giữa các kênh và thay đổi độ sâu đầu ra từ $c$ sang $c'$.
Tổng số tham số cần sử dụng giảm đi đáng kể so với tích chập thông thường ($c' \times k \times k \times c$), giúp mô hình đạt kích thước gọn nhẹ với 30 lớp chức năng mà vẫn duy trì độ chính xác cao.
Thiết kế và triển khai
Hệ thống được thiết kế theo cấu trúc module hóa, kết hợp giữa phần cứng nhúng và pipeline thuật toán xử lý ảnh, học sâu.
Cấu hình phần cứng
- Máy tính nhúng Raspberry Pi 3B+:
- Vi xử lý: Broadcom BCM2837B0, Quad-core ARM Cortex-A53 (ARMv8) 64-bit SoC @ 1.4 GHz.
- Bộ nhớ RAM: 1 GB LPDDR2 SDRAM.
- Kết nối: Wi-Fi băng tần kép 2.4 GHz và 5 GHz IEEE 802.11 b/g/n/ac, Bluetooth 4.2, Gigabit Ethernet qua USB 2.0, 40-pin GPIO.
- Giao tiếp hình ảnh: Cổng MIPI CSI Camera, cổng xuất HDMI, composite video.
- Lưu trữ: Thẻ nhớ MicroSD; nguồn cấp 5V/2.5A DC qua cổng microUSB.
- Module Camera Pi V1:
- Cảm biến: OmniVision OV5647, độ phân giải 5 Megapixels (kích thước ảnh tĩnh 2592 $\times$ 1944 pixels).
- Góc nhìn (Angle of View): 62.2 độ (đường chéo).
- Khả năng quay video: Hỗ trợ các chuẩn 1080p@30fps, 720p@60fps, VGA 640x480p@60fps.
- Ống kính: Tiêu cự cố định (Fixed Focus), kết nối thông qua cáp ribbon cắm trực tiếp vào cổng CSI của Raspberry Pi.
Môi trường phần mềm và cài đặt
- Hệ điều hành: Raspberry Pi OS (Raspbian). Nhóm tác giả thực hiện gỡ bỏ các gói phần mềm mặc định không cần thiết (trình duyệt web, games, LibreOffice, Scratch) để giải phóng RAM và tối ưu hóa tài nguyên xử lý ngầm.
- Ngôn ngữ lập trình: Python 3.7.
- Các thư viện bổ trợ: TensorFlow, Scikit-learn (cùng các gói phụ thuộc SciPy, NumPy, Matplotlib, Pandas).
- Thư viện thị giác máy tính OpenCV v3: Nhóm tiến hành biên dịch (build) trực tiếp mã nguồn OpenCV trên Raspberry Pi (thời gian build từ 3 đến 4 tiếng) thay vì cài đặt gói dựng sẵn qua lệnh
pip install, nhằm đảm bảo tính tương thích và độ ổn định cao nhất cho hệ thống nhúng.
Quy trình xử lý nhận dạng (Pipeline)
Quy trình nhận diện biển số xe được triển khai tuần tự qua 4 giai đoạn chính:
[Camera Pi / Ảnh đầu vào]
[Giai đoạn 1: Xác định và tách vùng biển số]
(Ảnh xám ➔ Phân ngưỡng nhị phân ➔ Dò tìm đường biên ➔ Lọc tỷ lệ hình chữ nhật ➔ Cắt và xoay ngang)
[Giai đoạn 2: Phân đoạn từng ký tự]
(Phân ngưỡng nhị phân vùng biển ➔ Tìm đường viền ký tự ➔ Đóng khung Bounding Box ➔ Tách ma trận ký tự)
[Giai đoạn 3: Nhận diện ký tự bằng CNN / MobileNet]
(Trích xuất đặc trưng ➔ Tầng Flatten ➔ Tầng Softmax phân loại ký tự)
[Giai đoạn 4: Xuất chuỗi văn bản & Lưu cơ sở dữ liệu]
- Xác định và tách biển số xe ô tô (5 bước):
- Bước 1: Chuyển đổi ảnh đầu vào sang ảnh mức xám (Grayscale), thực hiện nhị phân hóa để tìm kiếm các vùng màu trắng có diện tích phù hợp.
- Bước 2: Dò tìm đường biên của các vùng trắng, loại bỏ các khung ảnh có mật độ pixel không phù hợp, chọn vùng có tỷ lệ kích thước tương ứng với biển số xe ô tô.
- Bước 3: Cắt vùng ảnh ứng viên có tỷ lệ phù hợp, chuyển đổi sang ảnh xám và nhị phân hóa lần hai để tìm viền bao quanh.
- Bước 4: Phân tích viền bao quanh bằng các khung hình chữ nhật và xác định khung có kích thước chuẩn.
- Bước 5: Cắt chính xác vùng biển số được bao quanh và xoay về phương ngang.
- Phân đoạn từng ký tự (3 giai đoạn):
- Giai đoạn 1 (Phân ngưỡng): Nhị phân hóa ảnh biển số đã cắt để tách các điểm ảnh của ký tự khỏi nền biển số.
- Giai đoạn 2 (Tìm vùng đối tượng): Dò tìm các đường viền bao quanh từng ký tự, sử dụng các hình chữ nhật (bounding boxes) bao quanh từng ký tự riêng biệt.
- Giai đoạn 3 (Tách vùng ký tự): Cắt riêng từng ký tự dựa theo bounding box, chuyển thành các ma trận điểm ảnh chuẩn hóa để chuẩn bị đưa vào mô hình phân loại.
- Nhận diện ký tự với MobileNet:
- Các ma trận ký tự sau khi phân đoạn được đưa vào mô hình CNN xây dựng dựa trên kiến trúc MobileNet V1.
- Mô hình sử dụng các bộ lọc tích chập tách biệt chiều sâu tăng dần để trích xuất đặc trưng, kết hợp tầng làm phẳng (Flatten) và hàm kích hoạt Softmax ở tầng cuối cùng để phân loại các chữ số (0–9) và chữ cái (A–Z).
- Lưu trữ dữ liệu:
- Chuỗi ký tự nhận diện hoàn chỉnh được ghép lại theo đúng thứ tự tọa độ và gửi về cơ sở dữ liệu trên server để phục vụ công tác tra cứu, quản lý.
Nội dung chính theo từng chương
Chương 1: Mở đầu và các nghiên cứu liên quan
Chương 1 trình bày bối cảnh gia tăng phương tiện giao thông, sự cần thiết của các hệ thống giám sát tự động và lý do lựa chọn nền tảng máy tính nhúng Raspberry Pi. Nhóm tác giả xác định mục tiêu xây dựng phần mềm nhận diện biển số xe ô tô Việt Nam và giới hạn phạm vi nghiên cứu (biển số đặt ngang, góc chụp không quá lệch, ảnh rõ ký tự).
Đồng thời, chương này tổng thuật hai công trình nghiên cứu liên quan tại Trường Đại học Công nghệ Thông tin:
- Đề tài "Nghiên cứu thuật toán SSD vào nhận diện biển số xe" (GVHD: Phan Đình Duy; SV: Ngô Xuân Đức, Phạm Vũ Thiên Bảo): Ứng dụng thuật toán Single Shot MultiBox Detector (SSD) trên máy tính nhúng NVIDIA Jetson Nano (GPU Maxwell), sử dụng thư viện GluonCV, MXNet và CUDA10 trên hệ điều hành Ubuntu Mate; đạt độ chính xác khoảng 85% với thời gian thực thi trung bình 1.5 giây/ảnh.
- Đề tài "Phát hiện và trích xuất thông tin biển số xe" (2018, GVHD: ThS. Trương Văn Cương; SV: Trần Thanh Tịnh, Nguyễn Phát Nhật Hào): Xây dựng mô hình xử lý thời gian thực trên máy tính cá nhân (cấu hình CPU Intel Core i7 thế hệ 7, RAM 16 GB, GPU NVIDIA GeForce GTX 1050 Ti 4 GB, xung nhịp 3.2 GHz); đạt độ chính xác phát hiện biển số tối thiểu 95% và độ chính xác trích xuất thông tin tối thiểu 85%.
Chương 2: Hệ thống nhận dạng biển số xe
Chương 2 tập trung trình bày cơ sở lý thuyết về hệ thống ANPR và phân loại ứng dụng thành 2 nhóm chính:
- Nhóm giới hạn vùng nhìn: Áp dụng tại trạm thu phí, bãi giữ xe, trạm gác cổng nơi phương tiện di chuyển chậm và góc chụp được cố định.
- Nhóm không giới hạn vùng nhìn: Áp dụng tại các nút giao thông phức tạp (ngã ba, ngã tư) để điều tiết giao thông và phát hiện vi phạm.
Chương này phân tích sâu các phương pháp xử lý ảnh (chuyển đổi Hough, hình thái học, khớp mẫu) cùng các mô hình học máy (Faster R-CNN, YOLO, SVM, CNN). Điểm nhấn của chương là phần phân tích toán học về sự khác biệt giữa tích chập 2 chiều thông thường và tích chập tách biệt chiều sâu (Depthwise Separable Convolution) trong MobileNet V1, chứng minh khả năng tối ưu hóa tham số (4.2M tham số) để đáp ứng yêu cầu của các thiết bị phần cứng hạn chế tài nguyên. Chương cũng giới thiệu các công cụ phần mềm gồm TensorFlow, Scikit-learn và OpenCV.
Chương 3: Thiết kế và lập trình hệ thống
Chương 3 là trọng tâm kỹ thuật của khóa luận, mô tả chi tiết:
- Thông số phần cứng của bo mạch Raspberry Pi 3B+ và cảm biến Camera Pi V1.
- Quy chuẩn kích thước, màu sắc biển số xe ô tô theo Thông tư 58/2020/TT-BCA.
- Thuật toán định vị và tách khung biển số qua quy trình 5 bước lọc hình học và ngưỡng nhị phân.
- Kỹ thuật phân đoạn ký tự qua 3 giai đoạn để trích xuất các ma trận ký tự độc lập.
- Cấu trúc mạng nơ-ron MobileNet phục vụ nhận dạng ký tự.
- Quy trình chuẩn bị môi trường: Cài đặt Raspbian, gỡ bỏ ứng dụng thừa, build OpenCV v3 từ mã nguồn trong 3-4 tiếng.
- Thực nghiệm hệ thống: Tiến hành thử nghiệm trên tập dữ liệu 500 ảnh xe ô tô tải về từ website
choxeotofun và kiểm thử trực tiếp bằng Camera Pi V1; ghi nhận và phân tích các trường hợp nhận diện thành công cũng như các ca lỗi nhận diện sai hoặc thiếu ký tự.
Chương 4: Kết luận và hướng phát triển
Chương 4 tổng kết các kết quả đạt được về mặt mô hình và chương trình thực thi trên Raspberry Pi. Nhóm tác giả thẳng thắn chỉ ra các điểm hạn chế về tốc độ xử lý do giới hạn phần cứng, sự nhầm lẫn giữa các ký tự có cấu trúc tương đồng và đề xuất các giải pháp nâng cấp tập dữ liệu cũng như kiến trúc mô hình trong tương lai.
Kết quả và đóng góp
Kết quả thực nghiệm
Hệ thống được kiểm thử độc lập trên hai tập dữ liệu nhằm đánh giá toàn diện khả năng hoạt động:
| Tập dữ liệu thực nghiệm |
Nguồn gốc và quy mô |
Tỷ lệ chính xác ghi nhận |
Ghi chú và nguyên nhân sai lệch |
| Ảnh tĩnh có sẵn |
500 ảnh ô tô tải về từ trang web choxeotofun |
> 90% |
Ảnh chụp rõ nét, góc chụp chính diện hoặc nghiêng vừa phải |
| Ảnh chụp từ Camera Pi |
Chụp thực tế từ module Camera Pi V1 |
~ 85% |
Chất lượng ảnh bị ảnh hưởng bởi ánh sáng môi trường và rung lắc |
Các lỗi sai điển hình được phát hiện trong quá trình thực nghiệm:
- Nhầm lẫn ký tự tương đồng: Hệ thống có hiện tượng nhận diện sai giữa chữ cái
G và C, giữa chữ số 6 và 8 (hoặc nhầm chữ số 6 với chữ cái S).
- Bỏ sót ký tự: Khi ảnh chụp có độ nghiêng lớn hoặc ký tự bị mờ do ánh sáng phản xạ, một số ký tự ở rìa biển số không được tách biên chính xác dẫn đến việc nhận diện thiếu ký tự trong chuỗi kết quả.
Đóng góp của khóa luận
- Giải pháp hệ thống chi phí thấp: Chứng minh tính khả thi của việc triển khai một hệ thống nhận diện biển số xe hoàn chỉnh trên máy tính nhúng giá rẻ Raspberry Pi 3B+ kết hợp Camera Pi V1 mà không bắt buộc phải sử dụng các máy trạm PC đắt tiền hay kit nhúng chuyên dụng có GPU rời.
- Ứng dụng hiệu quả mô hình mạng nhẹ: Áp dụng thành công kiến trúc MobileNet V1 với kỹ thuật Depthwise Separable Convolution, giúp giải bài toán phân loại ký tự với lượng tham số nhỏ (4.2M) và thời gian tính toán phù hợp trên CPU ARM.
- Hiện thực hóa quy chuẩn thực tế: Xây dựng quy trình xử lý ảnh bám sát quy chuẩn kích thước, tỷ lệ và màu sắc của biển số xe ô tô Việt Nam theo Thông tư 58/2020/TT-BCA.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế
- Giới hạn phần cứng: Bộ vi xử lý 1.4 GHz và bộ nhớ RAM 1 GB của Raspberry Pi 3B+ không có GPU tăng tốc chuyên dụng, khiến tốc độ xử lý chưa tối ưu cho các luồng video thời gian thực tốc độ cao.
- Quy mô tập dữ liệu huấn luyện: Lượng dữ liệu thực nghiệm còn khiêm tốn (500 ảnh tĩnh), chưa bao phủ toàn bộ các điều kiện thời tiết khắc nghiệt (mưa lớn, ban đêm hoàn toàn, sương mù dày) hoặc các góc chụp quá nghiêng.
- Độ nhạy của cảm biến camera: Cảm biến OV5647 tiêu cự cố định dễ bị giảm chất lượng ảnh khi đối tượng chuyển động nhanh hoặc điều kiện ánh sáng thay đổi đột ngột.
- Hiện tượng nhầm lẫn ký tự: Thuật toán phân loại vẫn còn nhầm lẫn giữa các ký tự có đường nét hình học gần giống nhau (
G/C, 6/8/S).
Hướng nghiên cứu tiếp
- Mở rộng tập dữ liệu huấn luyện với số lượng lớn ảnh biển số xe ô tô được chụp trong nhiều điều kiện ánh sáng, góc độ và thời tiết đa dạng hơn.
- Cải tiến kiến trúc mạng học sâu để tăng cường khả năng trích xuất đặc trưng phân biệt đối với các cặp ký tự dễ nhầm lẫn.
- Nghiên cứu áp dụng các kỹ thuật nén mô hình hoặc chuyển dịch sang các dòng máy tính nhúng có bộ xử lý nơ-ron (NPU) chuyên dụng để nâng cao tốc độ xử lý thời gian thực trên luồng video.
Giá trị tham khảo
Tài liệu khóa luận có giá trị tham khảo thiết thực cho:
- Sinh viên và kỹ sư ngành Kỹ thuật Máy tính, Công nghệ Thông tin, Hệ thống Nhúng và IoT: Cung cấp hướng dẫn chi tiết từ cấu hình phần cứng Raspberry Pi, tối ưu hóa hệ điều hành Raspbian đến quy trình biên dịch OpenCV trực tiếp từ mã nguồn.
- Người nghiên cứu các bài toán thị giác máy tính trên thiết bị biên (Edge AI): Cung cấp tài liệu tham khảo về việc áp dụng kiến trúc MobileNet V1 và phép tích chập tách biệt chiều sâu (Depthwise Separable Convolution) để giải bài toán phân loại với tài nguyên bộ nhớ hạn chế.
- Các nhà phát triển hệ thống giao thông thông minh: Cung cấp quy trình 5 bước tách biển số và 3 giai đoạn phân đoạn ký tự dựa trên các thông số hình học thực tế của biển số xe cơ giới tại Việt Nam.
Câu hỏi thường gặp
1. Khóa luận sử dụng các thiết bị phần cứng cụ thể nào và cấu hình chi tiết ra sao?
Khóa luận sử dụng máy tính nhúng Raspberry Pi 3B+ (vi xử lý Broadcom BCM2837B0 Quad-core ARM Cortex-A53 64-bit @ 1.4 GHz, RAM 1 GB LPDDR2) kết hợp với module cảm biến Camera Pi V1 (cảm biến OmniVision OV5647 5 MP, độ phân giải ảnh tĩnh 2592 $\times$ 1944 pixels, góc nhìn chéo 62.2 độ, ống kính tiêu cự cố định).
2. Quy trình tách biển số xe ô tô trong khóa luận được thực hiện qua những bước nào?
Quy trình tách biển số gồm 5 bước: (1) Chuyển ảnh xám, nhị phân hóa để tìm vùng trắng có diện tích phù hợp; (2) Dò tìm đường biên, loại bỏ các khung có mật độ pixel không phù hợp và chọn vùng có tỷ lệ chuẩn; (3) Cắt vùng ảnh có tỷ lệ phù hợp, chuyển xám và nhị phân để tìm viền bao quanh; (4) Phân tích viền bao quanh bằng các khung hình chữ nhật kích thước phù hợp; (5) Cắt vùng biển số hình chữ nhật và xoay về phương ngang.
3. Vì sao nhóm tác giả lại lựa chọn kiến trúc MobileNet V1 cho bài toán nhận diện ký tự?
Vì MobileNet V1 sử dụng kỹ thuật Depthwise Separable Convolution (kết hợp tích chập chiều sâu Depthwise và tích chập điểm Pointwise $1 \times 1$), giúp giảm đáng kể khối lượng tính toán và lượng tham số mô hình xuống còn khoảng 4.2M (chỉ bằng khoảng 1/35 so với VGG19), cho phép mô hình hoạt động mượt mà và chính xác trên phần cứng hạn chế tài nguyên như Raspberry Pi.
4. Độ chính xác thực nghiệm của hệ thống đạt được cụ thể là bao nhiêu?
Hệ thống đạt độ chính xác trên 90% khi thử nghiệm trên tập 500 ảnh tĩnh lưu trữ sẵn (tải từ website choxeotofun) và đạt độ chính xác khoảng 85% khi chạy thực nghiệm với hình ảnh thu nhận trực tiếp từ Camera Pi V1.
5. Khóa luận căn cứ vào văn bản pháp lý nào để xác định đặc trưng nhận dạng biển số xe ô tô tại Việt Nam?
Khóa luận căn cứ vào Thông tư số 58/2020/TT-BCA của Bộ Công an quy định về quy cách chất liệu kim loại phản quang, kích thước biển ngắn (165 $\times$ 330 mm), biển dài (110 $\times$ 520 mm) cũng như quy chuẩn màu sắc nền biển và sê-ri chữ cái cho từng nhóm đối tượng phương tiện.
Kết luận
Khóa luận tốt nghiệp của tác giả Nguyễn Quốc Toản và Nguyễn Quang Huy đã nghiên cứu và triển khai thành công chương trình nhận diện biển số xe ô tô Việt Nam dựa trên công nghệ học sâu sử dụng máy tính nhúng Raspberry Pi 3B+ và Camera Pi V1. Bằng việc kết hợp các giải thuật xử lý ảnh theo quy chuẩn Thông tư 58/2020/TT-BCA với mô hình mạng nhẹ MobileNet V1, hệ thống đạt độ chính xác trên 90% đối với ảnh tĩnh và khoảng 85% đối với ảnh chụp trực tiếp từ camera. Đây là tài liệu tham khảo kỹ thuật hữu ích cho việc phát triển các ứng dụng thị giác máy tính và trí tuệ nhân tạo nhúng trên các thiết bị biên có chi phí thấp.