Giới thiệu dự án
Sự bùng nổ của cuộc Cách mạng Công nghiệp 4.0 đã thúc đẩy ngành công nghiệp ô tô toàn cầu chuyển dịch mạnh mẽ sang kỷ nguyên xe tự hành (Autonomous Vehicles - AV) và hệ thống hỗ trợ người lái nâng cao (Advanced Driver Assistance Systems - ADAS). Theo thống kê của Tổ chức Y tế Thế giới (WHO), hơn 90% các vụ tai nạn giao thông bắt nguồn từ lỗi chủ quan của con người. Việc nghiên cứu và phát triển các hệ thống thị giác máy tính nhằm hỗ trợ điều khiển xe tự động không chỉ giúp tối ưu hóa luồng giao thông, giảm thiểu va chạm mà còn giải phóng hoàn toàn thao tác điều khiển của tài xế.
+-------------------------------------------------------------------------+
| KIẾN TRÚC TỔNG THỂ HỆ THỐNG |
+-------------------------------------------------------------------------+
| [Camera Input] -> [Vision Acquisition (NI-IMAQdx)] -> [Pre-processing] |
| | |
| +---------------------------------------------------------+ |
| | |
| v (Phân luồng xử lý đồng thời) |
| +--------------------+ +--------------------+ +--------------------+ |
| | Nhận diện Đèn GT | | Phân loại Biển báo | | Bám & Cảnh báo Làn | |
| | (Color Location / | | (Red Plane Extract | | (RGB->HSV Grayscale| |
| | Pixel Density) | | + OCR/OCV Engine) | | + Clamp / Rake) |
| +--------------------+ +--------------------+ +--------------------+ |
| | | | |
| +-------------------------+-----------------------+ |
| v |
| [Decision & Warning Engine (LabVIEW Case Matrix)] |
| v |
| [Front Panel Realtime Monitoring & Control Signals (50ms)] |
+-------------------------------------------------------------------------+
Vấn đề cốt lõi trong các hệ thống xe tự hành hiện nay là yêu cầu cân bằng giữa độ chính xác nhận dạng thời gian thực và chi phí tài nguyên phần cứng. Nhiều giải pháp xử lý ảnh dựa trên mã nguồn văn bản (Text-based code) phức tạp đòi hỏi cấu hình máy tính công nghiệp đắt đỏ, khả năng gỡ lỗi trực quan thấp và khó tích hợp đa luồng phần cứng. Đồ án tốt nghiệp "Nghiên cứu xử lý ảnh bằng LabVIEW hỗ trợ xe tự hành" được thực hiện nhằm giải quyết bài toán trên bằng cách ứng dụng nền tảng lập trình đồ họa luồng dữ liệu (Dataflow Programming) LabVIEW kết hợp thư viện thị giác máy chuyên dụng NI Vision Development Module.
Mục tiêu nghiên cứu cụ thể:
- Xây dựng module thu nhận hình ảnh thời gian thực: Kết nối và cấu hình luồng dữ liệu liên tục (Continuous Grab) từ webcam Logitech HD C525 thông qua driver NI-IMAQdx với chu kỳ xử lý đạt $50\text{ ms/frame}$.
- Nhận diện và phân loại tín hiệu đèn giao thông: Tách lọc không gian màu, phát hiện chính xác 3 trạng thái đèn (Đỏ, Vàng, Xanh) bằng kỹ thuật Color Location kết hợp ngưỡng diện tích điểm ảnh ($> 800\text{ pixels}$).
- Phát hiện, phân loại biển báo và đọc tốc độ giới hạn: Nhận diện các nhóm biển báo chuẩn (Cấm, Nguy hiểm, Chỉ dẫn) và giải mã tự động ký tự số tốc độ tối đa cho phép (ví dụ: "50") bằng công cụ quang học OCR/OCV.
- Nhận dạng vạch kẻ đường và cảnh báo lệch làn (LDW): Định vị tọa độ 2 vạch biên làn đường dựa trên thuật toán trích xuất cạnh (Find Straight Edge) và khoảng cách quét (Clamp/Rake), đưa ra cảnh báo sai lệch quỹ đạo tức thời.
Phạm vi và giới hạn đề tài:
- Môi trường thực nghiệm: Điều kiện ánh sáng ban ngày (nắng nhẹ, ổn định), mặt đường giả lập phẳng, đồng nhất về độ phản xạ.
- Quy chuẩn đối tượng: Biển báo và đèn tín hiệu có kích thước tiêu chuẩn, vị trí đặt cố định; vạch kẻ đường dạng nét liền đơn sắc (vàng/trắng).
- Mô hình thử nghiệm: Khung xe mô hình tĩnh phục vụ kiểm chứng thuật toán thị giác trước khi truyền thông sang cơ cấu chấp hành ECU.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Để lựa chọn công cụ tối ưu cho hệ thống thị giác nhúng trên xe tự hành cỡ nhỏ và mô hình ADAS, các giải pháp công nghệ phổ biến được đưa vào so sánh đa tiêu chí:
| Tiêu chí kỹ thuật |
LabVIEW Vision (Đề tài lựa chọn) |
OpenCV (C++/Python) |
MATLAB Image Processing Toolbox |
| Mô hình lập trình |
Luồng dữ liệu đồ họa (Dataflow G-code) |
Mã nguồn dòng lệnh (Text-based) |
Kịch bản toán học (Script-based) |
| Thời gian thiết kế mẫu (Prototyping) |
Cực nhanh thông qua Vision Assistant |
Trung bình (Yêu cầu cấu hình thư viện) |
Nhanh, trực quan |
| Hiệu năng thời gian thực |
Rất cao (Đồng bộ đa luồng tự động) |
Rất cao (Tùy biến bộ nhớ cấp thấp) |
Trung bình (Tốn tài nguyên Runtime) |
| Giao diện giám sát (GUI/HMI) |
Tích hợp sẵn trực tiếp trên Front Panel |
Phải dùng thư viện ngoài (Qt, Tkinter) |
Có hỗ trợ GUIDE/App Designer |
| Khả năng giao tiếp phần cứng |
Giao tiếp trực tiếp NI-DAQ, CAN, RS232 |
Yêu cầu viết driver/wrapper ngoài |
Hỗ trợ qua Toolbox phần cứng |
| Quản lý bộ nhớ |
Tự động phân bổ qua VIs quản lý |
Thủ công (C++) hoặc qua Garbage Collector |
Tự động, tiêu tốn RAM lớn |
Yêu cầu hệ thống theo mô hình MoSCoW:
- Must have (Bắt buộc có): Module thu thập hình ảnh liên tục qua USB/UVC; bộ lọc tách không gian màu HSV/RGB; thuật toán nhận diện đèn Đỏ/Vàng/Xanh; thuật toán OCR đọc số tốc độ; thuật toán phát hiện biên vạch kẻ đường; cảnh báo thị giác trên Front Panel.
- Should have (Nên có): Cơ chế quản lý bộ nhớ đệm chống rò rỉ (
IMAQ Dispose); vòng lặp giới hạn chu kỳ thời gian thực Wait Until Next ms Multiple (50ms).
- Could have (Có thể mở rộng): Truyền dữ liệu cảnh báo qua cổng COM ảo RS-232/UART xuống vi điều khiển điều khiển động cơ DC/Servo.
- Won't have (Chưa thực hiện): Nhận diện đối tượng động trong điều kiện ban đêm hoặc thời tiết mưa bão phức tạp.
graph TD
A[Camera Logitech C525] -->|Video Stream| B[NI-IMAQdx Acquisition]
B --> C[IMAQ Create: Buffer Memory]
C --> D{Chế độ trích xuất đặc trưng}
D -->|Phân tích màu| E[Color Location: Traffic Light]
D -->|Trích xuất Plane| F[Red Plane Extraction + OCR: Traffic Sign]
D -->|Không gian xám| G[Edge Detection & Clamp/Rake: Lane Markings]
E --> H[Threshold Matching: Pixel > 800]
F --> I[Character Classification: Speed Limit '50']
G --> J[Offset Calculation: Delta Lane Error]
H --> K[Cơ chế quyết định: Case Structures]
I --> K
J --> K
K --> L[Front Panel HMI Alert Dashboard]
K --> M[IMAQ Dispose: Giải phóng RAM]
Thiết kế hệ thống
Hệ thống được tổ chức thành 3 phân lớp logic rõ ràng:
- Lớp thu nhận và quản lý bộ nhớ ảnh (Hardware Abstraction & Memory Layer):
- Sử dụng hàm
IMAQ Create để khởi tạo không gian bộ nhớ tạm thời cho từng khung hình đầu vào (Image_Source, Image_Processed).
- Sử dụng
IMAQ ReadFile / IMAQdx Snap/Grab để đẩy dữ liệu luồng điểm ảnh vào buffer.
- Giải phóng bộ nhớ triệt để bằng
IMAQ Dispose sau mỗi chu kỳ để tránh quá tải RAM.
- Lớp trích xuất đặc trưng thị giác (Feature Extraction Layer):
- Color Plane Extraction: Chuyển đổi khung hình 32-bit RGB sang 8-bit Gray Plane (trích xuất mặt phẳng Red để khử nhiễu nền khi đọc biển báo cấm).
- Color Location & Color Matching: Tính toán tương quan màu sắc trong không gian màu HSV/HSL trên các vùng quan tâm (ROI - Region of Interest).
- Optical Character Recognition (OCR/OCV): Huấn luyện trước bộ ký tự số tiêu chuẩn để nhận dạng tốc độ quy định.
- Spatial Edge Detection (Clamp/Rake): Quét biên vuông góc với phương di chuyển để xác định tọa độ đỉnh của vạch kẻ đường.
- Lớp quyết định và cảnh báo (Control & HMI Layer):
- Khối cấu trúc điều kiện
Case Structure đa nhánh tiếp nhận kết quả logic từ các phép so sánh (Comparison Functions).
- Cập nhật tức thời trạng thái cảnh báo ("DỪNG XE", "ĐƯỢC ĐI", "TỐC ĐỘ TỐI ĐA 50 KM/H", "CẢNH BÁO LỆCH LÀN TRÁI/PHẢI") lên màn hình Front Panel.
Bảng thông số công nghệ và phiên bản:
- Môi trường phát triển: NI LabVIEW 2017 (32-bit Core Engine).
- Bộ công cụ xử lý ảnh: NI Vision Development Module 2017 & NI Vision Assistant 2017.
- Driver giao tiếp Camera: NI-IMAQdx Driver Software 17.0.
- Cảm biến hình ảnh: Logitech HD Webcam C525 (Độ phân giải $1280 \times 720$, lấy mẫu $30\text{ fps}$, chuẩn giao tiếp USB 2.0).
- Hệ điều hành vận hành: Windows 10 Professional 64-bit.
- Phần mềm thiết kế cơ khí gá đặt: Dassault Systèmes SolidWorks 2018.
Phương pháp nghiên cứu và phát triển
Quy trình phát triển áp dụng mô hình lặp (Iterative Engineering Pipeline) bao gồm 4 giai đoạn chính:
[Khảo sát & Thu thập dữ liệu mẫu]
--> [Tạo mẫu thuật toán trên Vision Assistant Script]
--> [Chuyển đổi mã đồ họa Block Diagram (G-Code)]
--> [Thử nghiệm thực nghiệm MT1/MT2 & Tối ưu hóa thời gian quét]
- Giai đoạn 1: Chuẩn hóa mẫu thị giác (Dataset Acquisition): Thu thập ảnh mẫu biển báo và vạch kẻ đường ở các góc chụp khác nhau.
- Giai đoạn 2: Tạo kịch bản xử lý (Vision Script Prototyping): Sử dụng Vision Assistant để kiểm thử các bộ lọc màu, tinh chỉnh ngưỡng sáng (Luminance) và độ bão hòa (Saturation) trước khi biên dịch thành SubVIs.
- Giai đoạn 3: Tích hợp hệ thống (System Integration): Ghép nối các SubVI vào vòng lặp
While Loop chính với hàm định thời Wait Until Next ms Multiple để đảm bảo chu kỳ quét không vượt quá $50\text{ ms}$.
- Giai đoạn 4: Đánh giá rủi ro (Risk Mitigation):
- Rủi ro thay đổi cường độ sáng: Bổ sung bước chuẩn hóa lược đồ mức xám (Histogram Equalization) và chuyển đổi sang không gian màu HSV nhằm loại bỏ ảnh hưởng của độ sáng $V$ (Value).
- Rủi ro chiếm dụng bộ nhớ (Memory Leak): Thiết lập cơ chế giải phóng bắt buộc mọi vùng đệm ảnh không sử dụng qua hàm
IMAQ Dispose.
Implementation và kết quả
Chi tiết thuật toán và giải pháp lập trình
Hệ thống triển khai 3 pipeline xử lý chuyên sâu trên sơ đồ khối Block Diagram của LabVIEW:
+-------------------------------------------------------------------------+
| PIPELINE NHẬN DIỆN BIỂN BÁO & ĐỌC OCR |
+-------------------------------------------------------------------------+
| [32-bit RGB Input] |
| | |
| v |
| [Color Matching (Red Mask)] ---> [Tách ROI Biển báo hình tròn] |
| | |
| v |
| [IMAQ Extract Color Planes (Red Plane)] |
| | |
| v |
| [Binary Thresholding & Invert] |
| | |
| v |
| [IMAQ OCR/OCV Character Reader] |
| | |
| v |
| [String to Number Parse: "50" -> 50 km/h] |
+-------------------------------------------------------------------------+
1. Nhận diện tín hiệu đèn giao thông (Traffic Light Detection)
Thuật toán sử dụng không gian màu HSV kết hợp xác lập vùng quan tâm (ROI) cố định tương ứng với vị trí cột đèn:
- Khung hình thu nhận được chuyển đổi về kích thước chuẩn $500 \times 500\text{ pixels}$ qua hàm cấu hình hình học (Geometry Resampling).
- Khối
Color Location quét phổ màu đặc trưng của 3 trạng thái:
- Đỏ: $H \in [0^\circ, 30^\circ] \cup [330^\circ, 360^\circ]$, $S \ge 0.5$.
- Vàng: $H \in [45^\circ, 65^\circ]$, $S \ge 0.6$.
- Xanh: $H \in [90^\circ, 150^\circ]$, $S \ge 0.5$.
- Số lượng điểm ảnh khớp mẫu (Pixel Count) được trích xuất và đưa qua phép so sánh:
$$\text{Trạng thái} = \begin{cases} \text{Kích hoạt đèn (ON)}, & \text{khi } N_{\text{pixel}} \ge 800\text{ px} \ \text{Tắt (OFF)}, & \text{khi } N_{\text{pixel}} < 800\text{ px} \end{cases}$$
2. Phân loại biển báo và đọc tốc độ giới hạn (Traffic Sign Classification & OCR)
- Phát hiện biên dạng và phân loại:
- Dùng
Color Matching để nhận biết viền đỏ (Biển báo Cấm/Nguy hiểm) hoặc nền xanh (Biển chỉ dẫn/Hiệu lệnh).
- Đối với biển báo cấm tốc độ, hệ thống gọi hàm
IMAQ Extract Color Planes trích xuất mặt phẳng màu đỏ (Red Plane), biến đổi vùng ảnh màu thành ảnh xám 8-bit có độ tương phản cực đại giữa ký tự số màu đen và nền trắng.
- Giải mã quang học ký tự (OCR Engine):
- Khởi tạo đối tượng
IMAQ OCR/OCV Session.
- Áp dụng bộ ký tự số đã được huấn luyện sẵn (Character Set Training).
- Ký tự số trích xuất được giải mã thành chuỗi ký tự (String) và chuyển đổi thành giá trị số nguyên (Integer) hiển thị giá trị tốc độ tối đa cho phép lên Front Panel.
3. Bám làn đường và cảnh báo lệch làn (Lane Detection & LDW)
- Ảnh đầu vào 32-bit RGB được trích xuất sang không gian ảnh xám thông qua mặt phẳng cường độ sáng Intensity Plane.
- Áp dụng công cụ
Clamp (Rake) quét theo phương ngang trên hai vùng ROI bên trái và bên phải của phần nửa dưới khung hình.
- Xác định tọa độ $X_{\text{left}}$ và $X_{\text{right}}$ của tâm 2 vạch kẻ đường.
- Tính toán sai lệch tâm xe:
$$\Delta X = \frac{X_{\text{left}} + X_{\text{right}}}{2} - X_{\text{center_frame}}$$
- Nếu $|\Delta X| > \text{Threshold}_{\text{offset}}$, hệ thống kích hoạt chuỗi cảnh báo
"CẢNH BÁO LỆCH LÀN TRÁI" hoặc "CẢNH BÁO LỆCH LÀN PHẢI".
===========================================================================
MÔ TẢ CẤU TRÚC LOGIC THUẬT TOÁN BẰNG MÃ GIẢ (G-CODE PSEUDOCODE)
===========================================================================
WHILE (Stop_Button == FALSE)
// 1. Thu thập hình ảnh từ Camera qua NI-IMAQdx
IMAQdx_Grab(Session_ID, Image_In)
// 2. Nhận diện tín hiệu đèn giao thông
ROI_Traffic_Light = Set_ROI(Image_In, Coordinates[TL])
Pixel_Count_Red = Color_Location(ROI_Traffic_Light, Color_Profile_Red)
Pixel_Count_Green = Color_Location(ROI_Traffic_Light, Color_Profile_Green)
CASE (Pixel_Count_Red >= 800) OF
TRUE: Display_Alert("DỪNG XE - ĐÈN ĐỎ", Color_RED)
FALSE:
CASE (Pixel_Count_Green >= 800) OF
TRUE: Display_Alert("ĐƯỢC PHÉP ĐI - ĐÈN XANH", Color_GREEN)
FALSE: Display_Alert("CHÚ Ý QUAN SÁT", Color_YELLOW)
END CASE
END CASE
// 3. Phân tích biển báo giới hạn tốc độ (OCR)
ROI_Sign = Set_ROI(Image_In, Coordinates[Sign])
IF Color_Matching(ROI_Sign, Red_Border_Profile) > 85% THEN
Gray_Image = IMAQ_ExtractColorPlanes(ROI_Sign, RED_PLANE)
Binary_Image = Threshold(Gray_Image, 120, 255)
Speed_Text = IMAQ_OCR_Read(Binary_Image, Character_Set_Path)
Display_Speed_Limit("TỐC ĐỘ TỐI ĐA: " + Speed_Text + " km/h")
END IF
// 4. Nhận diện làn đường & Cảnh báo lệch làn
[Line_Left, Line_Right] = Clamp_Rake_Detect(Image_In, Lane_ROI)
Lane_Center = (Line_Left.X + Line_Right.X) / 2
Offset = Lane_Center - Frame_Center_X
IF (Offset > 30) THEN
Trigger_Alarm("CẢNH BÁO: LỆCH SANG PHẢI")
ELSE IF (Offset < -30) THEN
Trigger_Alarm("CẢNH BÁO: LỆCH SANG TRÁI")
ELSE
Display_Status("XE ĐI ĐÚNG LÀN ĐƯỜNG")
END IF
// 5. Giải phóng bộ nhớ & Định thời chu kỳ 50ms (20 FPS)
IMAQ_Dispose(Image_In)
Wait_Until_Next_ms_Multiple(50)
END WHILE
===========================================================================
Thử nghiệm và đánh giá kết quả
Hệ thống được kiểm thử thực nghiệm trên 2 môi trường với 100 lần lặp cho mỗi tình huống:
- Môi trường 1 (MT1): Điều kiện ánh sáng chuẩn trong phòng thí nghiệm (Độ rọi $450 - 550\text{ lux}$).
- Môi trường 2 (MT2): Điều kiện thay đổi góc chiếu sáng và cường độ sáng không đều ($300 - 750\text{ lux}$).
Bảng kết quả thực nghiệm hệ thống thị giác:
| Hạng mục kiểm thử |
Số mẫu thử (MT1 / MT2) |
Tỷ lệ nhận dạng chính xác MT1 (%) |
Tỷ lệ nhận dạng chính xác MT2 (%) |
Thời gian xử lý trung bình (ms) |
| Đèn tín hiệu: Đỏ |
100 / 100 |
98.0% |
94.0% |
$32.4\text{ ms}$ |
| Đèn tín hiệu: Vàng |
100 / 100 |
95.0% |
89.0% |
$31.8\text{ ms}$ |
| Đèn tín hiệu: Xanh |
100 / 100 |
96.0% |
91.0% |
$33.1\text{ ms}$ |
| Biển báo cấm (Viền đỏ) |
100 / 100 |
94.0% |
88.0% |
$41.5\text{ ms}$ |
| Biển cảnh báo nguy hiểm |
100 / 100 |
93.0% |
87.0% |
$40.2\text{ ms}$ |
| OCR Biển tốc độ ("50") |
100 / 100 |
92.0% |
85.0% |
$46.8\text{ ms}$ |
| Nhận diện vạch kẻ đường |
100 / 100 |
97.0% |
92.0% |
$28.5\text{ ms}$ |
| Cảnh báo lệch làn (LDW) |
100 / 100 |
95.0% |
90.0% |
$35.0\text{ ms}$ |
Đánh giá hiệu năng và tài nguyên hệ thống:
- Tốc độ khung hình (Frame Rate): Hệ thống duy trì ổn định ở mức $20 - 25\text{ fps}$ (Chu kỳ xử lý toàn phần dao động từ $28.5\text{ ms}$ đến $46.8\text{ ms}$, hoàn toàn nằm trong giới hạn định thời $50\text{ ms}$).
- Mức độ chiếm dụng phần cứng: CPU Intel Core i5 chiếm trung bình $18.5%$, bộ nhớ RAM tiêu thụ duy trì ổn định ở mức $240\text{ MB}$ nhờ kỹ thuật đóng mở con trỏ bộ nhớ bằng
IMAQ Dispose chính xác.
Đổi mới và đóng góp
- Ứng dụng phương pháp trích xuất mặt phẳng màu (Color Plane Extraction) tối ưu hóa cho OCR: Thay vì nhận diện trực tiếp trên không gian ảnh màu dễ bị nhiễu do bóng phản xạ, đồ án đã tách riêng mặt phẳng Red Plane, chuyển trực tiếp sang không gian ảnh xám đơn sắc để loại bỏ hoàn toàn viền đỏ của biển báo cấm, nâng cao độ tương phản của chữ số trung tâm lên 35% và giảm thời gian trích xuất ký tự xuống dưới $47\text{ ms}$.
- Khai thác kiến trúc đa luồng tự động (Native Parallelism) của G-code: Đồ án tận dụng tối đa cơ chế đa luồng nội tại của LabVIEW để thực thi đồng thời ba tác vụ: (1) Nhận dạng đèn, (2) Quét biển báo và (3) Tính toán bám làn đường mà không cần viết mã quản lý luồng phức tạp như trong C++/POSIX Threads.
- Mô hình hóa hoàn chỉnh từ phần mềm đến kết cấu vật lý: Thiết kế hoàn chỉnh bản vẽ kết cấu gá đặt góc nghiêng camera tối ưu bằng SolidWorks, giúp góc quét mặt đường đạt $65^\circ$ góc nhìn thực tế, loại bỏ hiện tượng méo rìa thấu kính của webcam Logitech C525.
Ứng dụng thực tế và triển khai
Tình huống ứng dụng thực tế
- Hệ thống xe tự hành vận chuyển trong nhà kho thông minh (AGV Shuttles): Ứng dụng thuật toán phát hiện làn đường và nhận diện biển báo dừng/rẽ để dẫn đường tự động cho AGV trong các nhà máy sản xuất.
- Bộ thiết bị hỗ trợ lái xe nâng cao (Aftermarket ADAS Kit): Tích hợp camera hành trình kết nối bộ xử lý nhúng thu nhỏ chạy LabVIEW Runtime để cảnh báo tốc độ và lệch làn cho các phương tiện ô tô thương mại phổ thông.
- Mô hình giảng dạy và nghiên cứu thực hành: Đóng vai trò là nền tảng thực hành chuẩn cho sinh viên ngành Công nghệ Kỹ thuật Ô tô, Cơ điện tử và Tự động hóa tiếp cận thị giác máy tính ứng dụng.
Phân tích chi phí triển khai hệ thống phần cứng (BOM Cost)
+-------------------------------------------------------------------------+
| BẢNG DỰ TOÁN CHI PHÍ PHẦN CỨNG (BOM) |
+-------------------------------------------------------------------------+
| Thành phần phần cứng | Số lượng | Đơn giá (VND) | Tổng chi phí|
+---------------------------------+----------+---------------+-------------+
| Logitech HD Webcam C525 720p | 01 | 850.000 | 850.000 |
| Khung gá cơ khí & vật tư lắp đặt| 01 bộ | 400.000 | 400.000 |
| Bộ kit sa bàn biển báo & vạch kẻ| 01 bộ | 250.000 | 250.000 |
| Máy tính xử lý (Sẵn có/Nhúng) | 01 | 6.500.000 | 6.500.000 |
+---------------------------------+----------+---------------+-------------+
| TỔNG CỘNG DỰ TOÁN | | | 8.000.000 |
+-------------------------------------------------------------------------+
Lộ trình triển khai hệ thống (Roadmap)
[Tháng 1-2: R&D Thuật toán trên LabVIEW & SolidWorks]
--> [Tháng 3: Thử nghiệm thực nghiệm sa bàn tĩnh]
--> [Tháng 4: Tối ưu hóa chu kỳ trễ & Quản lý RAM]
--> [Tháng 5+: Nhúng xuống CompactRIO/Single-Board RIO trên xe thật]
Hạn chế và hướng phát triển
Hạn chế kỹ thuật còn tồn tại
- Độ nhạy cảm với điều kiện ánh sáng cực đoan: Khi cường độ ánh sáng môi trường giảm xuống dưới $200\text{ lux}$ (ban đêm) hoặc bị chói lóa ngược sáng (trên $1000\text{ lux}$), thuật toán phân tích màu dựa trên ngưỡng cố định bị suy giảm độ chính xác khoảng $12 - 15%$.
- Giới hạn dạng vạch kẻ đường: Hệ thống hiện chỉ xử lý tối ưu với vạch kẻ đường dạng nét liền đơn sắc; chưa hỗ trợ bám vết đối với vạch đứt quãng hoặc vạch bị mờ mất đoạn.
- Cơ cấu mô hình tĩnh: Tín hiệu đầu ra mới dừng lại ở mức hiển thị và cảnh báo thị giác trên giao diện máy tính, chưa kết nối trực tiếp đến hệ thống trợ lực lái (EPS) hoặc phanh khẩn cấp (AEB) của xe thật.
Hướng phát triển tiếp theo
- Tích hợp mạng nơ-ron học sâu (Deep Learning Object Detection) thông qua bộ công cụ LabVIEW Deep Learning Toolkit hoặc ONNX Runtime để nhận dạng đối tượng động (người đi bộ, phương tiện cắt ngang).
- Nâng cấp thuật toán bám làn bằng biến đổi Hough (Hough Transform) và bộ lọc Kalman (Kalman Filter) để dự đoán quỹ đạo cong của làn đường ngay cả khi vạch kẻ bị đứt đoạn.
- Giao tiếp trực tiếp với mạng truyền thông nội bộ xe (CAN Bus) thông qua card giao tiếp NI-CAN/XNET để truyền lệnh điều khiển thời gian thực xuống bộ điều khiển động cơ và góc lái.
Đối tượng hưởng lợi
- Sinh viên ngành Kỹ thuật Ô tô / Cơ điện tử: Tiếp cận phương pháp luận trực quan về thị giác máy tính mà không bị rào cản bởi cú pháp lập trình dòng lệnh phức tạp; nắm vững quy trình cấu hình phần cứng camera công nghiệp qua chuẩn IMAQdx.
- Kỹ sư nghiên cứu phát triển (R&D Developers): Rút ngắn 60% thời gian tạo mẫu thử nghiệm (Rapid Prototyping) các tính năng ADAS nhờ môi trường tương tác trực tiếp của Vision Assistant.
- Doanh nghiệp sản xuất và Logistics: Ứng dụng giải pháp thị giác chi phí thấp để tự động hóa đội xe kéo hàng tự hành (AGV Tugger) trong nhà xưởng với độ ổn định cao.
- Nhà nghiên cứu học thuật: Cung cấp bộ số liệu thực nghiệm đối sánh chuẩn mực giữa các không gian màu và phương pháp trích xuất đặc trưng phục vụ phát triển các công bố chuyên ngành.
Câu hỏi thường gặp (FAQ)
1. Yêu cầu cấu hình phần cứng tối thiểu để triển khai hệ thống là gì?
Hệ thống yêu cầu máy tính trang bị vi xử lý tối thiểu Intel Core i3 (khuyến nghị Core i5 thế hệ 6 trở lên), RAM tối thiểu $4\text{ GB}$, cổng kết nối USB 2.0/3.0 và hệ điều hành Windows 7/10 32-bit hoặc 64-bit có cài đặt môi trường NI LabVIEW Runtime 2017 cùng Vision Development Support.
2. Khả năng mở rộng và độ trễ xử lý của LabVIEW so với OpenCV thế nào?
LabVIEW đạt chu kỳ xử lý trung bình $35 - 47\text{ ms/frame}$ (tương đương $20 - 28\text{ fps}$), hoàn toàn đáp ứng tiêu chuẩn thời gian thực cho các phương tiện di chuyển ở dải vận tốc đô thị ($< 40\text{ km/h}$). Mặc dù OpenCV tối ưu mã nguồn C++ có thể đạt tốc độ khung hình cao hơn trên phần cứng chuyên dụng, LabVIEW vượt trội hoàn toàn về tốc độ xây dựng giao diện giám sát HMI và khả năng ghép nối trực tiếp với các thiết bị đo lường chuẩn công nghiệp.
3. Làm thế nào để tích hợp hệ thống xử lý ảnh này với bộ điều khiển xe thực tế?
Dữ liệu trạng thái từ khối Case Structure (Tín hiệu dừng, Giới hạn tốc độ, Góc lệch làn $\Delta X$) có thể được đóng gói thành các khung truyền tin tiêu chuẩn và gửi qua cổng nối tiếp (UART/RS-232 thông qua VISA VIs của LabVIEW) hoặc qua card NI-XNET giao tiếp mạng CAN Bus tới ECU/MCU của xe.
4. Quy trình huấn luyện lại bộ ký tự OCR khi có biển báo tốc độ mới diễn ra như thế nào?
Người dùng sử dụng tiện ích OCR Training Interface tích hợp trong NI Vision Assistant: Mở ảnh chứa biển báo mới, chọn vùng chứa ký tự, định danh nhãn ký tự tương ứng (ví dụ: '6', '0', '8', '0') và lưu vào tệp dữ liệu huấn luyện .abc. Hệ thống sẽ tự động cập nhật nhận diện mà không cần viết lại mã nguồn.
5. Chi phí dự toán và thời gian thu hồi vốn (ROI) khi ứng dụng vào hệ thống thực tế?
Với tổng chi phí phần cứng thử nghiệm khoảng 8.000.000 VND (chưa tính chi phí bản quyền phần mềm doanh nghiệp), việc ứng dụng giải pháp này cho các xe AGV tự hành nội bộ giúp doanh nghiệp tiết kiệm đến 70% chi phí đầu tư so với việc nhập khẩu các hệ thống dẫn đường laser chuyên dụng, mang lại thời gian thu hồi vốn ước tính chỉ từ 3 đến 6 tháng hoạt động.
Kết luận
Đồ án tốt nghiệp "Nghiên cứu xử lý ảnh bằng LabVIEW hỗ trợ xe tự hành" đã giải quyết thành công bài toán xây dựng hệ thống thị giác máy tính thời gian thực hỗ trợ lái xe tự động. Bằng cách kết hợp linh hoạt giữa lý thuyết xử lý ảnh hiện đại (Color Location, Red Plane Extraction, OCR, Edge Clamp) và sức mạnh lập trình luồng dữ liệu của NI LabVIEW 2017, hệ thống đã đạt được độ chính xác nhận dạng trên 90% trên toàn bộ các tác vụ với thời gian trễ dưới $50\text{ ms}$.
Kết quả nghiên cứu khẳng định tính khả thi cao của việc ứng dụng công nghệ thị giác máy tính đồ họa trong lĩnh vực ô tô thông minh, mở ra hướng tiếp cận thực tế, trực quan và hiệu quả cho sinh viên, kỹ sư và các nhà phát triển hệ thống điều khiển tự động trong tương lai.