Bối cảnh và vấn đề nghiên cứu
Trong xu hướng phát triển của ngành công nghiệp ô tô hiện đại, các hệ thống hỗ trợ lái xe nâng cao (ADAS - Advanced Driver Assistance Systems) và công nghệ xe tự hành đóng vai trò cốt lõi nhằm nâng cao an toàn giao thông, hạn chế tối đa nguy cơ va chạm và giảm thiểu tai nạn đường bộ. Việc nhận diện chính xác các tín hiệu giao thông như đèn tín hiệu, vạch kẻ phân làn và biển báo giúp hệ thống đưa ra cảnh báo kịp thời cho người điều khiển phương tiện, ngăn ngừa các vi phạm quy chuẩn giao thông. Tuy nhiên, việc vận hành xử lý hình ảnh trong thời gian thực trên ô tô đối mặt với nhiều thách thức kỹ thuật lớn, đặc biệt là sự biến thiên phức tạp của môi trường ngoại cảnh như ánh sáng yếu, thời tiết xấu hoặc mật độ giao thông đông đúc.
Xuất phát từ yêu cầu thực tiễn đó, đồ án tốt nghiệp chuyên ngành Công nghệ Kỹ thuật Ô tô tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh đã thực hiện đề tài "Ứng dụng Python và xử lý ảnh thiết kế hệ thống hỗ trợ lái xe" do sinh viên Lê Quốc Đạt, Phạm Quốc Anh và Nguyễn Thế Hào thực hiện dưới sự hướng dẫn của ThS. Vũ Đình Huấn (hoàn thành vào tháng 06/2025).
Mục tiêu nghiên cứu của đồ án bao gồm:
- Tìm hiểu về xử lý ảnh và phát triển phương pháp xử lý ảnh hiệu quả.
- Thiết kế mô hình vận dụng xử lý ảnh để hỗ trợ lái xe.
- Tìm hiểu và vận dụng xử lý ảnh để xác định đèn giao thông, vạch kẻ đường, biển báo một cách hiệu quả.
- Tìm hiểu các cách thức vận dụng và kết hợp để đồng thời vận hành song song các hệ thống nhận diện đèn giao thông, vạch kẻ đường và biển báo.
Nhiệm vụ nghiên cứu cụ thể được xác định trong văn bản gồm 6 nội dung:
- Tìm hiểu về xử lý ảnh.
- Tìm hiểu về đọc vận tốc xe bằng giao thức OBD.
- Nghiên cứu về phần mềm Python và thư viện OpenCV trong xử lý hình ảnh.
- Xây dựng hệ thống hỗ trợ người lái xe ứng dụng công nghệ xử lý ảnh.
- Đánh giá độ hiệu quả của việc nhận diện xử lý ảnh và đọc tốc độ xe bằng OBD.
- Thử nghiệm thực tế và đưa ra kết luận.
Về giới hạn và phạm vi nghiên cứu:
- Không gian thực hiện: Triển khai nghiên cứu, lắp ráp tại Trường Đại học Sư phạm Kỹ thuật TP.HCM và tại nhà; tiến hành thử nghiệm trên các cung đường nội thành và quốc lộ ngoại thành.
- Thời gian nghiên cứu: 3 tháng (ngày giao nhiệm vụ chính thức: 09/03/2025).
- Phạm vi kỹ thuật: Tập trung thiết kế hệ thống phần cứng và phần mềm hỗ trợ xử lý ảnh trên ô tô; lập trình phát hiện làn đường, nhận diện biển báo, đèn giao thông; giao tiếp cổng OBD-II đọc vận tốc tức thời; tối ưu hóa hiệu suất để tạo ra sản phẩm hoàn chỉnh với mức giá thành phù hợp cho sinh viên nghiên cứu và ứng dụng.
Cơ sở lý thuyết và phương pháp
Khóa luận xây dựng nền tảng lý thuyết dựa trên hai trụ cột kỹ thuật: thị giác máy tính kết hợp học sâu (Deep Learning) và hệ thống chẩn đoán trên xe (OBD-II).
Trong lý thuyết xử lý ảnh số, tác giả hệ thống hóa các giai đoạn cốt lõi: thu nhận ảnh (Image Acquisition qua bộ chuyển đổi ADC), tiền xử lý (khử nhiễu, cân bằng mức xám), phân đoạn ảnh (Segmentation), biểu diễn và mô tả (mã chạy Run-length, mã xích Chain-Code, mã tứ phân Quad-Tree) và phân loại đối tượng. Về mô hình mạng nơ-ron tích chập (CNN), tác giả phân tích chi tiết cấu tạo các tầng:
- Lớp tích chập (Convolutional layer): Sử dụng các bộ lọc (filter map/kernels), bước dịch chuyển (stride) và đệm viền (padding) để trích xuất các bản đồ đặc trưng (feature map).
- Lớp kích hoạt: Áp dụng hàm phi tuyến ReLU (Rectified Linear Unit) mô phỏng hoạt động nơ-ron sinh học.
- Lớp gộp (Pooling layer): Áp dụng Max pooling và Average pooling nhằm giảm kích thước không gian và số lượng tham số tính toán.
- Lớp kết nối đầy đủ (Fully connected layer) kết hợp hàm Softmax để phân loại đối tượng.
Đối với bài toán nhận diện thời gian thực, khóa luận khảo cứu mô hình YOLO (You Only Look Once). Kiến trúc YOLO được chia làm ba phần chính: Backbone (sử dụng CSP-Darknet53 cải tiến để trích xuất đặc trưng), Neck (hợp nhất đặc trưng ở các tỷ lệ khác nhau) và Head (dự đoán bounding box và lớp đối tượng). Độ chính xác của bộ phát hiện được đánh giá qua chỉ số giao thoa trên diện tích hợp (IoU - Intersection over Union) và hàm mất mát tổng hợp:
$$L_{total} = L_{classification} + L_{localization} + L_{confidence}$$
Đối với hệ thống đọc dữ liệu xe, tác giả trình bày nguồn gốc và tiêu chuẩn của giao diện OBD-II (On-Board Diagnostics II), chuẩn kết nối vật lý DLC 16 chân theo tiêu chuẩn SAE J1962, giao thức tín hiệu ISO 15765-4 (CAN bus) và cơ chế giao tiếp giữa Bộ điều khiển trung tâm (ECU) với thiết bị chẩn đoán qua vi mạch ELM 327.
Phương pháp nghiên cứu thực tế được triển khai bao gồm:
- Phương pháp phân tích - tổng hợp tài liệu: Khảo cứu các bộ dữ liệu quy chuẩn quốc tế như COCO, KITTI, GTSRB (German Traffic Sign Recognition Benchmark), TuSimple Lane Detection và các tiêu chuẩn khí thải, giao thức OBD-II của SAE/ISO.
- Phương pháp lập trình hệ thống nhúng: Sử dụng ngôn ngữ lập trình Python, thư viện thị giác máy tính OpenCV và môi trường phát triển Visual Studio Code để xây dựng các thuật toán xử lý luồng hình ảnh và truyền thông dữ liệu.
- Phương pháp thực nghiệm: Chế tạo thiết bị phần cứng hoàn chỉnh, lắp đặt lên ô tô thực tế và đo đạc khả năng nhận diện trong nhiều kịch bản vận hành.
Nguồn dữ liệu của nghiên cứu gồm hai luồng dữ liệu thời gian thực:
- Dữ liệu hình ảnh video thu nhận trực tiếp từ camera gắn phía trước kính chắn gió ô tô.
- Dữ liệu thông số vận hành động cơ (vận tốc xe tính bằng km/h) trích xuất trực tiếp từ cổng OBD-II thông qua mô-đun phần cứng ELM 327.
Thiết kế và triển khai
Hệ thống được thiết kế dưới dạng một thiết bị hỗ trợ lái xe độc lập đặt trên táp-lô phương tiện, bao gồm kiến trúc phần cứng, giải thuật xử lý phần mềm và giao diện người dùng trực quan.
Kiến trúc phần cứng và kết nối thiết bị
Toàn bộ hệ thống phần cứng được tích hợp từ các khối linh kiện tiêu chuẩn, đảm bảo tính gọn nhẹ và khả năng lắp đặt trên xe:
| Tên thành phần | Thông số kỹ thuật / Đặc tính trong văn bản | Chức năng trong hệ thống |
|---|---|---|
| Raspberry Pi 4 Model B | RAM 4GB, vi xử lý lõi tứ ARM Cortex-A72 | Khối điều khiển trung tâm, xử lý ảnh và điều phối dữ liệu |
| Màn hình LCD Waveshare | Kích thước 7 inch, giao tiếp HDMI, cảm ứng | Hiển thị giao diện người dùng, thông số tốc độ và cảnh báo |
| Mô-đun OBD-II | Vi giải mã ELM 327 V1.5, giao tiếp không dây/USB | Cắm vào cổng DLC 16 chân của xe, truy vấn vận tốc tức thời |
| Camera thu hình | Webcam chuẩn giao tiếp USB 2.0 | Gắn trước mũi xe, thu nhận khung hình mặt đường thời gian thực |
| Loa cảnh báo | GOOJODOQ AB4051, kết nối âm thanh với Pi 4 | Phát tín hiệu cảnh báo bằng âm thanh khi phát hiện vi phạm |
| Vỏ bảo vệ | Thiết kế dạng hộp module chuyên dụng | Cố định màn hình, bo mạch và bảo vệ linh kiện trên ô tô |
Quy trình thiết lập phần cứng bao gồm nạp hệ điều hành Raspberry Pi OS thông qua công cụ Raspberry Pi Imager, cấu hình môi trường ảo Python và cài đặt các thư viện phụ thuộc phục vụ xử lý ảnh và giao tiếp tuần tự.
Quy trình giải thuật và triển khai phần mềm
Phần mềm hệ thống được tổ chức thành một luồng chính điều phối dữ liệu từ hai nguồn đầu vào song song:
-
Quy trình nhận diện vạch làn đường (Lane Detection):
- Tách dải màu: Chuyển đổi khung hình từ BGR sang không gian màu HLS. Áp dụng mặt nạ lọc màu vàng trong dải Hue từ 15 đến 45 với độ bão hòa cao; lọc màu trắng với độ sáng Lightness lớn hơn 180. Thực hiện phép toán logic
cv2.bitwise_orđể kết hợp hai dải màu. - Lọc cạnh và khử nhiễu: Chuyển ảnh lọc sang thang xám (Gray-Scale), làm mượt bằng bộ lọc Gaussian Blur với kích thước kernel $(3 \times 3)$ và $\sigma = 11$, sau đó phân tách biên bằng thuật toán Canny với hai ngưỡng biến thiên độ sáng đặt tại 40 và 60.
- Tăng cường biên bằng Sobel: Tính đạo hàm Sobel theo trục x trên kênh Lightness (kết hợp ngưỡng gradient 30 đến 255) và áp dụng ngưỡng kênh Saturation để nhận diện vạch kẻ ngay cả trong điều kiện mặt đường phức tạp.
- Giới hạn vùng quan tâm (ROI): Tạo mặt nạ đa giác hình thang/tam giác tập trung vào nửa dưới khung hình để triệt tiêu các đối tượng gây nhiễu phía trên đường chân trời.
- Biến đổi phối cảnh (Perspective Transform): Sử dụng ma trận đồng nhất $3 \times 3$ thông qua các hàm
cv2.getPerspectiveTransformvàcv2.warpPerspectiveđể chuyển đổi ảnh từ góc nhìn camera nghiêng sang góc nhìn thẳng đứng từ trên xuống (Bird's Eye View). - Dò tìm vạch làn bằng cửa sổ trượt (Sliding Window): Tính toán biểu đồ phân bố tích lũy pixel sáng (Histogram) ở nửa dưới ảnh để xác định hai đỉnh biên độ tương ứng với vị trí xuất phát của làn trái và làn phải. Chia ảnh thành các cửa sổ trượt
nwindowstheo chiều dọc, quét và dịch tâm cửa sổ theo giá trị tọa độ x trung bình của các điểm ảnh. Cuối cùng, áp dụng hàmnp.polyfit(y, x, 2)nội suy đa thức bậc hai để dựng lại đường cong làn đường.
- Tách dải màu: Chuyển đổi khung hình từ BGR sang không gian màu HLS. Áp dụng mặt nạ lọc màu vàng trong dải Hue từ 15 đến 45 với độ bão hòa cao; lọc màu trắng với độ sáng Lightness lớn hơn 180. Thực hiện phép toán logic
-
Quy trình nhận diện biển báo và đèn giao thông:
- Sử dụng mô hình YOLO để quét toàn bộ khung hình, xác định vị trí các bounding box chứa biển báo giao thông và đèn giao thông.
- Đối với đèn tín hiệu, sau khi khoanh vùng đối tượng, hệ thống chuyển đổi sang hệ màu HSV để xác định trạng thái màu: đèn đỏ (Hue xấp xỉ 0° hoặc 160°–180°), đèn vàng (Hue khoảng 25°–35°), đèn xanh (Hue khoảng 60°–90°), kết hợp cùng độ bão hòa (S) và độ sáng (V).
-
Giao tiếp OBD-II và giao diện cảnh báo:
- Luồng chính liên tục gửi chuỗi lệnh truy vấn dữ liệu vận tốc qua vi mạch ELM 327 đến cổng OBD-II của phương tiện và nhận giá trị số nguyên vận tốc (km/h).
- Giao diện đồ họa (GUI) hiển thị hình ảnh mô phỏng xe, thông số tốc độ hiện tại, trạng thái vạch làn đường và các biển báo/đèn giao thông vừa nhận diện được. Nếu xe chạy vượt quá tốc độ giới hạn cho phép của đoạn đường hoặc có xu hướng lệch khỏi làn đường di chuyển, hệ thống kích hoạt cảnh báo đổi màu trên màn hình đồng thời kích hoạt loa cảnh báo nhắc nhở tài xế.
Nội dung chính theo từng chương
Chương 1: Tổng quan về đề tài
Chương 1 trình bày tính cấp thiết của việc áp dụng xử lý ảnh và công nghệ thông minh trên ô tô nhằm nâng cao tính năng an toàn cho hệ thống ADAS. Tác giả thiết lập mục tiêu đề tài xoay quanh việc nghiên cứu thuật toán nhận diện làn đường, biển báo, đèn giao thông và tích hợp đo tốc độ xe qua cổng OBD. Giới hạn nghiên cứu được khoanh vùng trong thời gian 3 tháng thực hiện tại Trường ĐH Sư phạm Kỹ thuật TP.HCM với ngân sách linh kiện thấp phù hợp đối tượng sinh viên. Phương pháp luận bao gồm khảo cứu tài liệu, lập trình phần mềm trên Python - OpenCV và tiến hành kiểm nghiệm thực tế trên phương tiện di chuyển.
Chương 2: Cơ sở lý thuyết
Chương này cung cấp hệ thống lý thuyết về xử lý ảnh kỹ thuật số: các khái niệm điểm ảnh (pixel), độ phân giải, các hệ màu (RGB, HSV, HLS), các bước tiền xử lý ảnh và trích xuất đặc trưng. Tiếp đó, tác giả phân tích chi tiết cơ chế hoạt động của mạng nơ-ron tích chập (CNN), cấu tạo các tầng xử lý và nguyên lý phát hiện vật thể tức thời của thuật toán YOLO. Phần cuối chương dành để làm rõ lịch sử phát triển, cấu tạo và nguyên lý hoạt động của cổng chẩn đoán On-Board Diagnostics (từ OBD-I đến tiêu chuẩn hóa OBD-II với cổng SAE J1962 16 chân), phân tích vai trò của ECU và đèn chỉ báo lỗi MIL.
Chương 3: Lập trình
Chương 3 tập trung mô tả chi tiết giải thuật phần mềm và kiến trúc mã nguồn viết trên Visual Studio Code. Tác giả trình bày sơ đồ khối hệ thống gồm 3 khối chức năng (Camera, Luồng chính điều phối, Giao diện hiển thị) và 2 khối dữ liệu ngoại vi (YOLO và OBD2). Tác giả cung cấp toàn bộ quy trình toán học và các đoạn code cụ thể của thuật toán nhận diện làn đường: lọc màu HLS (vàng và trắng), bộ lọc Gaussian làm mờ, thuật toán Canny, đạo hàm biên Sobel theo trục x, xác định vùng quan tâm ROI, phép biến đổi phối cảnh sang góc nhìn Bird's Eye View, giải thuật tìm kiếm bằng cửa sổ trượt Sliding Window và nội suy parabol bậc hai. Chương này cũng phân tích thuật toán đọc dữ liệu tốc độ qua ELM 327 và cấu trúc xây dựng giao diện hiển thị đồ họa cảnh báo quá tốc độ.
Chương 4: Phần cứng
Chương 4 thuyết minh chi tiết thông số kỹ thuật của các module phần cứng được lựa chọn: bo mạch máy tính nhúng Raspberry Pi 4 Model B (phiên bản RAM 4GB), màn hình màu LCD Waveshare 7 inch HDMI, thiết bị đọc OBD2 ELM 327 V1.5 cắm cổng DLC, camera USB 2.0 và loa cảnh báo GOOJODOQ AB4051. Tác giả trình bày sơ đồ kết nối dây giữa các thành phần, yêu cầu kỹ thuật và công nghệ chế tạo vỏ hộp bảo vệ thiết bị, quy trình cài đặt hệ điều hành thông qua công cụ Raspberry Pi Imager cũng như việc thiết lập các thư viện Python chuyên dụng trên môi trường ảo của hệ điều hành Linux.
Chương 5: Thực nghiệm và đánh giá kết quả
Chương 5 ghi lại quy trình chuẩn bị và các kết quả thu được khi cho hệ thống chạy thử nghiệm trên ô tô trong điều kiện thực tế. Các kịch bản kiểm thử được phân loại dựa trên điều kiện ánh sáng (ban ngày ánh sáng ổn định, ban ngày ánh sáng không ổn định, ban đêm trong đô thị, ban đêm trên quốc lộ) và môi trường đường sá (đường nội thành tốc độ chậm 10 km/h, đường quốc lộ ngoại thành vận hành ở tốc độ cao). Kết quả đánh giá được lượng hóa qua Bảng 6, kiểm chứng độ chính xác trong việc hiển thị thông số tốc độ xe, phát hiện vạch kẻ đường, biển báo giao thông và kích hoạt âm thanh cảnh báo vượt tốc độ.
Chương 6: Hướng phát triển
Dựa trên các hạn chế ghi nhận trong quá trình thử nghiệm, chương cuối nêu lên 3 định hướng hoàn thiện:
- Cải thiện nhận diện làn đường: Nghiên cứu thuật toán thích nghi tốt hơn với tình trạng mặt đường xấu, vạch sơn bị mờ hoặc điều kiện thời tiết khắc nghiệt.
- Tách biệt mô hình nhận diện đèn giao thông: Xây dựng mô hình chuyên biệt cho đèn tín hiệu độc lập với biển báo nhằm giảm thiểu độ trễ phân loại tại các giao lộ phức tạp.
- Nâng cấp phần cứng: Đề xuất sử dụng các bo mạch nhúng có năng lực xử lý đồ họa mạnh hơn hoặc trang bị bộ tăng tốc AI chuyên dụng để nâng cao tốc độ xử lý khung hình trên giây.
Kết quả và đóng góp
Đồ án đã chế tạo thành công một mô hình phần cứng - phần mềm hoàn chỉnh phục vụ hỗ trợ người lái xe trên ô tô, kết hợp đồng bộ giữa thị giác máy tính và giao tiếp chẩn đoán ECU.
Kết quả thực nghiệm
Hệ thống đã trải qua các thử nghiệm thực tế với nhiều kịch bản vận hành trên phương tiện di chuyển, kết quả kiểm tra được tổng hợp theo các trường hợp sau:
| Điều kiện môi trường thử nghiệm | Đối tượng nhận diện / Chức năng kiểm thử | Kết quả ghi nhận từ thực nghiệm |
|---|---|---|
| Ban ngày, ánh sáng ổn định | Biển báo, đèn giao thông, vạch làn đường, tốc độ xe | Hệ thống phát hiện chính xác vạch làn, nhận diện tốt biển báo và đồng bộ thông số tốc độ |
| Ban ngày, ánh sáng không ổn định | Vạch làn đường, biển báo và đèn tín hiệu | Thuật toán lọc màu HLS kết hợp Sobel duy trì khả năng bám làn; nhận diện được biển báo |
| Ban đêm trong môi trường đô thị | Đèn tín hiệu giao thông, biển báo, vạch làn | Nhận diện tốt đèn tín hiệu tại giao lộ và biển báo giao thông dưới ánh đèn đường đô thị |
| Quốc lộ ngoại thành ban ngày | Nhận diện làn đường ở dải tốc độ cao | Biến đổi phối cảnh và Sliding Window bám sát vạch làn khi xe di chuyển tốc độ cao |
| Quốc lộ ngoại thành ban đêm | Phát hiện biển báo giao thông | Hệ thống nhận diện được biển báo trên cung đường ngoại thành thiếu sáng |
| Thử nghiệm nội thành tốc độ 10 km/h | Đọc dữ liệu vận tốc qua OBD-II | Hệ thống phản hồi chính xác giá trị vận tốc ở dải tốc độ rất thấp |
| Thử nghiệm chạy quá tốc độ | Cơ chế kích hoạt cảnh báo an toàn | Màn hình đổi giao diện cảnh báo và loa phát âm thanh nhắc nhở đúng ngưỡng thiết lập |
Giải pháp và kiến nghị đề xuất
Từ thực tế thiết kế, nhóm tác giả đề xuất giải pháp kiến trúc phần mềm phân tầng:
- Kết hợp linh hoạt giữa phương pháp xử lý ảnh hình học truyền thống (lọc màu, Sobel, Canny, Bird's Eye View, Sliding Window) cho tác vụ bám làn đường để tiết kiệm năng lượng xử lý tính toán của máy tính nhúng, đồng thời dành tài nguyên phần cứng cho mô hình học sâu YOLO thực hiện tác vụ phức tạp là định vị biển báo và đèn giao thông.
- Tận dụng chuẩn dữ liệu có sẵn từ cổng OBD-II thông qua chip giải mã ELM 327 nhằm thu nhận vận tốc xe thực tế mà không cần lắp đặt thêm cảm biến tốc độ phụ trợ trên bánh xe.
Đóng góp của đề tài
Theo báo cáo tự đánh giá của tác giả, đề tài mang lại những đóng góp cụ thể:
- Hiện thực hóa một giải pháp thiết bị hỗ trợ lái xe tích hợp đa chức năng (làn đường, biển báo, đèn giao thông, tốc độ xe) hoạt động độc lập trên máy tính nhúng Raspberry Pi 4 với chi phí linh kiện thấp, phù hợp năng lực chế tạo của sinh viên.
- Cung cấp tài liệu kỹ thuật chi tiết về việc kết nối và lập trình giao tiếp giữa hệ điều hành máy tính nhúng với cổng chẩn đoán tiêu chuẩn OBD-II trên ô tô.
- Xây dựng quy trình xử lý hình ảnh hoàn chỉnh bằng mã nguồn mở Python và OpenCV, làm tiền đề cho các nghiên cứu chuyên sâu về xe tự hành và giao thông thông minh.
Hạn chế và hướng nghiên cứu tiếp
Khóa luận chỉ rõ những hạn chế kỹ thuật phát sinh từ thực nghiệm và đề xuất các hướng mở nghiên cứu tiếp theo:
Hạn chế của đề tài
- Thuật toán nhận diện vạch làn đường vẫn chịu tác động lớn bởi chất lượng mặt đường thực tế; trường hợp vạch kẻ bị mờ, đứt đoạn kéo dài hoặc đường bị phản chiếu ánh sáng mạnh có thể dẫn đến việc xác định sai lệch tâm làn.
- Năng lực xử lý của máy tính nhúng Raspberry Pi 4 Model B gặp giới hạn về tốc độ tính toán khi đồng thời chạy mô hình học sâu YOLO và thuật toán xử lý ảnh hình học liên tục, dẫn đến hiện tượng nhiệt độ bo mạch tăng cao và tốc độ khung hình (FPS) chưa đạt mức tối ưu.
- Module nhận diện đèn giao thông khi dùng chung mô hình phát hiện với biển báo dễ gặp hiện tượng nhận diện nhầm hoặc chậm trễ trong các môi trường giao lộ có mật độ vật thể phức tạp.
Hướng phát triển tiếp theo
- Cải thiện thuật toán nhận diện làn đường: Nghiên cứu các giải thuật làm sạch nhiễu và kỹ thuật nội suy tiên tiến hơn nhằm duy trì độ chính xác khi xe di chuyển qua các khúc cua gấp hoặc cung đường mất vạch kẻ.
- Tách biệt mô hình nhận diện đèn giao thông: Tách riêng mô hình phát hiện đèn tín hiệu khỏi biển báo, tối ưu cấu trúc mạng chuyên biệt để tăng tốc độ phân loại trạng thái màu sắc tại các ngã tư.
- Nâng cấp phần cứng: Chuyển đổi nền tảng sang các bo mạch máy tính nhúng hiệu năng cao hơn có tích hợp bộ xử lý nơ-ron chuyên dụng (NPU hoặc GPU nhúng) nhằm nâng cao tốc độ xử lý khung hình, cải thiện độ trễ và tăng tính ổn định của hệ thống.
Giá trị tham khảo
Đồ án tốt nghiệp là tài liệu tham khảo thực tiễn cho nhiều đối tượng nghiên cứu và học tập:
- Sinh viên ngành Công nghệ Kỹ thuật Ô tô và Cơ điện tử: Tài liệu cung cấp cơ sở để thực hiện các đồ án chuyên ngành về hệ thống điện - điện tử ô tô, đặc biệt là cách thức khai thác dữ liệu từ cổng chẩn đoán OBD-II qua chuẩn giao tiếp SAE J1962 và vi giải mã ELM 327.
- Sinh viên ngành Công nghệ thông tin và Kỹ thuật máy tính: Cung cấp mã nguồn thực tế và giải thuật từng bước trên thư viện OpenCV về bài toán bám làn đường bằng phương pháp hình học kinh điển (Color Filtering, Canny, Sobel, Perspective Transform, Sliding Window, Polyfit).
- Người nghiên cứu hệ thống ADAS chi phí thấp: Cung cấp phương án thiết kế phần cứng hoàn chỉnh, cách lắp đặt thiết bị thực nghiệm trên ô tô, từ khâu cấp nguồn, lựa chọn màn hình hiển thị đến giải pháp thiết kế vỏ hộp bảo vệ.
Câu hỏi thường gặp
1. Thuật toán nhận diện vạch làn đường trong đồ án được tiến hành theo các bước xử lý cụ thể nào?
Quá trình nhận diện vạch làn đường trải qua 6 bước chính: (1) Chuyển đổi ảnh sang hệ màu HLS để lọc màu vàng (Hue 15–45) và màu trắng (Lightness > 180); (2) Chuyển sang ảnh xám, làm mờ Gaussian với kernel $3 \times 3$ ($\sigma = 11$) và phát hiện cạnh bằng Canny (ngưỡng 40 và 60); (3) Kết hợp đạo hàm Sobel theo trục x trên kênh Lightness (ngưỡng gradient 30–255) và kênh Saturation; (4) Cắt vùng quan tâm (ROI) ở nửa dưới khung hình; (5) Biến đổi phối cảnh (Perspective Transform) sang góc nhìn Bird's Eye View bằng ma trận đồng nhất $3 \times 3$; (6) Dò tìm vạch làn bằng biểu đồ Histogram và thuật toán cửa sổ trượt (Sliding Window), sau đó nội suy parabol bậc hai bằng hàm np.polyfit.
2. Hệ thống thu thập dữ liệu tốc độ của ô tô thông qua giao thức và phần cứng nào?
Vận tốc tức thời của xe được trích xuất trực tiếp từ Bộ điều khiển trung tâm (ECU) của phương tiện thông qua cổng chẩn đoán OBD-II (chuẩn kết nối DLC 16 chân theo chuẩn SAE J1962). Hệ thống sử dụng mô-đun phần cứng giải mã ELM 327 V1.5 để gửi lệnh truy vấn vận tốc thời gian thực và truyền dữ liệu về vi xử lý Raspberry Pi 4.
3. Trạng thái của đèn tín hiệu giao thông được phân loại dựa trên những dải thông số màu nào?
Sau khi mô hình YOLO khoanh vùng đối tượng đèn giao thông, hệ thống chuyển đổi vùng ảnh sang không gian màu HSV và áp dụng các ngưỡng trên kênh Hue để phân loại:
- Đèn đỏ: Hue xấp xỉ 0° hoặc nằm trong dải 160°–180°.
- Đèn vàng: Hue nằm trong khoảng 25°–35°.
- Đèn xanh: Hue nằm trong khoảng 60°–90°. Các dải màu này được kết hợp thêm ngưỡng trên kênh độ bão hòa (Saturation) và độ sáng (Value) để tăng độ chính xác phân biệt.
4. Hệ thống đã được kiểm nghiệm thực tế trong các điều kiện môi trường nào?
Hệ thống đã được lắp ráp hoàn chỉnh lên phương tiện và chạy thử nghiệm thực tế trong các điều kiện: ban ngày có ánh sáng ổn định; ban ngày có ánh sáng không ổn định; ban đêm trong môi trường đô thị có đèn đường; ban đêm trên đường quốc lộ ngoại thành; thử nghiệm di chuyển ở dải tốc độ chậm (10 km/h) trong nội thành; thử nghiệm di chuyển tốc độ cao ở ngoại thành và kiểm thử phản ứng kích hoạt cảnh báo khi xe chạy vượt quá tốc độ cho phép.
5. Cấu hình phần cứng trung tâm của hệ thống bao gồm những thiết bị nào?
Phần cứng trung tâm gồm: bo mạch máy tính nhúng Raspberry Pi 4 Model B (RAM 4GB); màn hình hiển thị LCD Waveshare 7 inch kết nối cổng HDMI; mô-đun đọc dữ liệu OBD2 ELM 327 V1.5; Webcam chuẩn giao tiếp USB 2.0 thu nhận hình ảnh phía trước xe; loa cảnh báo âm thanh GOOJODOQ AB4051; vỏ hộp module bảo vệ và hệ thống dây cáp kết nối trên ô tô.
Kết luận
Đồ án tốt nghiệp chuyên ngành Công nghệ Kỹ thuật Ô tô đã thiết kế và chế tạo thành công mô hình hệ thống hỗ trợ lái xe tiên tiến (ADAS) chi phí thấp trên nền tảng máy tính nhúng Raspberry Pi 4. Đề tài kết hợp giải thuật thị giác máy tính OpenCV để phát hiện làn đường, mô hình học sâu YOLO để định vị biển báo và đèn tín hiệu, cùng giao tiếp phần cứng OBD-II để cập nhật vận tốc xe theo thời gian thực. Các thử nghiệm trên cung đường thực tế vào ban ngày và ban đêm đã chứng minh tính khả thi kỹ thuật và khả năng vận hành đồng bộ của toàn bộ hệ sinh thái thiết bị. Kết quả nghiên cứu cung cấp tài liệu tham khảo chi tiết cho việc ứng dụng công nghệ xử lý ảnh và chẩn đoán điện tử trong lĩnh vực phương tiện giao thông thông minh.