Bối cảnh và vấn đề nghiên cứu
Khái niệm xe tự hành xuất phát từ văn học khoa học viễn tưởng và bắt đầu được các nhà khoa học, kỹ sư nghiên cứu phát triển từ những năm 1920 nhằm tạo ra các hệ thống tự động hóa hỗ trợ người lái. Mục tiêu cốt lõi của công nghệ xe tự hành là giảm thiểu sự cố va chạm, tai nạn giao thông, nâng cao tính an toàn và tối ưu hóa hiệu quả vận chuyển. Trên thế giới, các doanh nghiệp công nghệ lớn như Waymo hay Cruise đã triển khai dịch vụ taxi tự hành với việc trang bị hệ thống cảm biến phức tạp gồm Lidar, Radar, Camera, Ultrasonic và hệ thống định vị toàn cầu (GPS). Tại Việt Nam, chủ trương tiếp cận cuộc Cách mạng công nghiệp lần thứ tư đã được thể chế hóa thông qua Nghị quyết số 52-NQ/TW ngày 27/9/2019 của Bộ Chính trị, thúc đẩy các nghiên cứu ứng dụng trí tuệ nhân tạo (AI), Internet vạn vật (IoT) và tự động hóa. Trong môi trường học thuật, các hướng nghiên cứu về điều khiển xe tự hành bằng Deep Learning và hệ thống tránh vật cản sử dụng Lidar đã bước đầu được triển khai.
Vấn đề kỹ thuật đặt ra trong đề tài xuất phát từ đặc tính riêng của từng loại cảm biến: cảm biến Lidar có ưu thế đo đạc chính xác khoảng cách đến chướng ngại vật nhưng không thể phân biệt bản chất của vật cản với môi trường xung quanh; ngược lại, Camera cung cấp thông tin thị giác phong phú để nhận diện ngữ nghĩa nhưng các mô hình học sâu truyền thống thường quá nặng, đòi hỏi tài nguyên tính toán lớn, khó vận hành theo thời gian thực trên các thiết bị nhúng biên.
Nhiệm vụ và mục tiêu nghiên cứu của đề tài được xác định gồm:
- Nghiên cứu tổng quan về học máy, thị giác máy tính và các kiến trúc mạng nơ-ron phát hiện vật thể.
- Thiết kế và tối ưu hóa mô hình nhận diện vật thể nhẹ (SSDLite kết hợp backbone MobileNetV3) thông qua cắt giảm các lớp mạng và giới hạn lớp đối tượng nhằm tăng tốc độ xử lý trên phần cứng nhúng.
- Xây dựng giải pháp tích hợp dữ liệu Camera và Lidar để nhận diện vật thể và đo đạc khoảng cách thời gian thực.
- Thiết lập môi trường mô phỏng trên nền tảng CARLA với các kịch bản thử nghiệm tránh vật cản, đồng thời đánh giá hiệu năng thực tế của mô hình trên máy tính nhúng Jetson Nano.
Đối tượng nghiên cứu là mô hình học sâu nhận diện vật thể (SSDLite-MobileNetV3 tùy chỉnh), dữ liệu ảnh từ Camera, dữ liệu khoảng cách từ cảm biến Lidar và thuật toán điều khiển tránh vật cản. Phạm vi nghiên cứu giới hạn ở việc mô phỏng xe tự hành trong môi trường CARLA Simulator với các kịch bản phát hiện người đi bộ và phương tiện giao thông, cùng việc thực nghiệm đo đạc độ chính xác và tốc độ khung hình (FPS) của mô hình thị giác trên phần cứng Nvidia Jetson Nano.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết của khóa luận xây dựng trên nền tảng trí tuệ nhân tạo (AI), học máy (Machine Learning) và học sâu (Deep Learning). Các khái niệm và mô hình lý thuyết được phân tích bao gồm:
- Mạng nơ-ron nhân tạo và tích chập: Lịch sử phát triển từ mô hình mạng thần kinh sinh học đến mạng nơ-ron nhân tạo (ANN), Perceptron đa lớp (MLP) dựa trên Perceptron Algorithm (Frank Rosenblatt, 1958) và mạng nơ-ron tích chập (CNN). Khóa luận khảo cứu các kiến trúc CNN tiêu biểu như LeNet-5 (Yann LeCun, 1998), AlexNet (2012), VGGNet (Simonyan & Zisserman, 2014) với cấu hình bộ lọc $3 \times 3$, GoogLeNet (Google, 2014) với khối Inception kết hợp các lớp tích chập song song.
- Mô hình phát hiện vật thể: Khảo sát các mô hình hai giai đoạn như R-CNN (Ross Girshick và cộng sự), Fast R-CNN, Faster R-CNN sử dụng mạng đề xuất vùng (Region Proposal Network - RPN) và Anchor Boxes; mô hình một giai đoạn YOLO (You Only Look Once) qua các thế hệ (YOLOv2, YOLOv3 Darknet-53, YOLOv4 CSPDarknet53, YOLOv5); kiến trúc SSD (Single Shot MultiBox Detector) do Wei Liu và cộng sự đề xuất năm 2016.
- Kiến trúc mạng tối ưu cho thiết bị di động: MobileNet và MobileNetV3. MobileNetV3 khai thác tích chập tách biệt theo chiều sâu (Depthwise Separable Convolution bao gồm Depthwise Convolution và Pointwise Convolution $1 \times 1$), kết hợp khối Inverted Residual, Linear Bottleneck, cơ chế chú ý Squeeze-and-Excitation (SE) cùng các hệ số nhân chiều rộng (Width Multiplier) và độ phân giải (Resolution Multiplier).
- Hàm kích hoạt và hàm mất mát: Các hàm kích hoạt Sigmoid, ReLU, Softmax, Swish và phiên bản rút gọn Hard-Swish ($h_swish(x) = x \cdot \frac{\text{ReLU6}(x+3)}{6}$, với $\text{ReLU6} = \min(\max(0, x), 6)$); thuật toán lan truyền ngược (Backpropagation) tối ưu hóa Gradient Descent; các hàm mất mát MSE, Cross-Entropy và MultiBox Loss trong SSD (kết hợp Localization Loss dạng Smooth L1 và Confidence Loss).
- Nguyên lý cảm biến Lidar: Công nghệ Light Detection and Ranging hoạt động theo nguyên lý đo thời gian bay (Time of Flight - ToF) của chùm tia laser phản xạ từ vật thể:
$$R = \frac{c \cdot t}{2}$$
Trong đó $R$ là khoảng cách từ hệ thống Lidar đến vật thể, $c$ là vận tốc ánh sáng ($299.792.458\text{ m/s}$), $t$ là tổng thời gian phát và nhận tín hiệu phản xạ.
Phương pháp nghiên cứu thực tế bao gồm:
- Phương pháp cắt giảm và tái cấu trúc mạng (Pruning/Architectural Modification): Cắt giảm 2 lớp tích chập cuối trong mạng backbone MobileNetV3 và giảm số lớp phân loại đầu ra của SSD Head.
- Phương pháp tiền xử lý và tăng cường dữ liệu ảnh: Ứng dụng thư viện PyTorch với các hàm
Resize, Grayscale, CenterCrop, FiveCrop, RandomCrop.
- Phương pháp thực nghiệm đa luồng (Multi-threading): Phân tách các luồng nhận diện ảnh, luồng xử lý tín hiệu Lidar và luồng điều khiển tránh vật cản kết nối qua cơ chế Socket Client-Server.
Nguồn dữ liệu sử dụng là bộ dữ liệu chuẩn COCO (Common Objects in Context), được trích xuất và phân chia thành các tập huấn luyện (Train), kiểm thử (Test) và đánh giá (Validation).
Thiết kế và triển khai hệ thống kỹ thuật
Hệ thống được thiết kế theo cấu trúc module hóa, kết hợp giữa mô hình học sâu nhận diện thị giác và giải thuật xử lý khoảng cách hình học, được mô phỏng toàn diện trên nền tảng CARLA và đánh giá trên phần cứng nhúng:
| Thành phần hệ thống |
Công nghệ / Giải pháp kỹ thuật |
Vai trò và chức năng |
| Mô hình thị giác (Vision Model) |
SSDLite với Backbone MobileNetV3 tùy chỉnh |
Nhận diện vật thể cản đường (người đi bộ, phương tiện) từ luồng ảnh RGB của Camera; giảm 2 lớp cuối backbone để hạ kích thước mô hình. |
| Cảm biến không gian (Lidar Sensor) |
Cảm biến Lidar ảo trong CARLA Simulator |
Bắn tia laser, thu nhận đám mây điểm (Point Cloud), đo khoảng cách vật lý $R$ đến chướng ngại vật trong hành lang di chuyển của xe. |
| Môi trường mô phỏng (Simulation) |
CARLA Simulator (Client - Server) |
Thiết lập môi trường đô thị ảo, tạo chướng ngại vật, mô phỏng phản hồi vật lý và truyền tín hiệu cảm biến qua Socket Python. |
| Kiến trúc phần mềm đa luồng |
Multi-threading trong Python |
Luồng 1 xử lý khung hình Camera; Luồng 2 xử lý dữ liệu Lidar; Luồng 3 tổng hợp thông tin để kích hoạt thuật toán tránh né hoặc phanh xe. |
| Nền tảng phần cứng nhúng |
Kit máy tính nhúng Nvidia Jetson Nano |
Đóng vai trò thiết bị biên tiếp nhận mô hình đã tinh chỉnh để đo đạc tốc độ xử lý khung hình (FPS) và mức tiêu thụ tài nguyên. |
Quy trình vận hành phần mềm điều khiển xe diễn ra qua ba bước:
- Client gửi yêu cầu kết nối đến CARLA Server và khởi tạo xe cùng các cảm biến ảo (Camera, Lidar).
- Tín hiệu ảnh được đưa vào mô hình SSDLite-MobileNetV3 để xác định bounding box và loại vật cản; đồng thời tín hiệu Lidar quét không gian phía trước để xác định khoảng cách tương đối.
- Thuật toán điều khiển xe đánh giá mức độ nguy hiểm: nếu khoảng cách từ Lidar nằm dưới ngưỡng an toàn và Camera xác nhận có vật cản, hệ thống kích hoạt lệnh bẻ lái chuyển làn hoặc dừng khẩn cấp.
Nội dung chính theo từng chương
Tổng quan đề tài
Chương này tổng thuật bức tranh toàn cảnh về sự phát triển của công nghệ AI trên thế giới và tại Việt Nam. Tác giả dẫn chứng số liệu quy mô thị trường AI toàn cầu năm 2022 đạt 428 tỷ USD (theo Fortune Business Insights), dự báo đạt 513,31 tỷ USD năm 2023 với tốc độ tăng trưởng kép hằng năm (CAGR) 21,6%, cùng sự bùng nổ của mô hình ngôn ngữ lớn ChatGPT (đạt 100 triệu người dùng trong tháng đầu tiên). Tại Việt Nam, tác giả phân tích cơ sở pháp lý từ Nghị quyết 52-NQ/TW về tham gia cuộc Cách mạng công nghiệp lần thứ tư và các nghiên cứu đi trước tại Đại học Công nghệ Thông tin (UIT) về xe tự hành bằng Deep Learning và robot tránh vật cản bằng Lidar. Từ đó, tác giả chỉ ra tính cấp thiết của việc tích hợp Camera và Lidar để bù trừ khuyết điểm cho nhau.
Chương 2: Kiến trúc Machine Learning
Chương 2 trình bày hệ thống lý thuyết về mạng nơ-ron và các thuật toán học máy:
- Phân tích cơ chế nơ-ron sinh học và cấu trúc nơ-ron nhân tạo với các tham số trọng số (Weights), độ lệch (Bias), ngưỡng kích hoạt (Threshold).
- Trình bày chi tiết cấu trúc mạng CNN và các mô hình kinh điển: LeNet-5, AlexNet, VGGNet (cấu hình VGG-16, VGG-19 với các lớp tích chập $3 \times 3$), GoogLeNet với bảng thông số các khối Inception từ 3a đến 5b.
- Phân tích cơ chế hoạt động của các kiến trúc nhận diện đối tượng: R-CNN, Fast R-CNN, Faster R-CNN (RPN và Anchor Boxes), YOLO (từ YOLOv1 đến YOLOv5) và SSD.
- Đi sâu vào kiến trúc MobileNet và MobileNetV3: phân tích tích chập tách biệt theo chiều sâu (giảm khối lượng tính toán Mult-Adds từ 71,3 triệu xuống 70,2 triệu trên ImageNet mà vẫn giữ độ chính xác tương đương), khối Inverted Residual, cấu hình bảng MobileNetV3-large và MobileNetV3-small.
- Trình bày chi tiết công nghệ Lidar, công thức tính khoảng cách dựa trên vận tốc ánh sáng và thời gian bay $t$.
- Trình bày công thức các hàm kích hoạt (Sigmoid, ReLU, Softmax, Swish, h-swish), các hàm mất mát (MSE, Cross-Entropy, MultiBox Loss gồm $L_{conf}$ và $L_{loc}$ với Smooth L1) và các thước đo đánh giá độ chính xác (Precision, Recall, F1-score, IoU, mAP).
Chương 3: Nội dung thực hiện
Chương 3 trình bày các bước thiết kế và xây dựng giải pháp thực tế:
- Tùy chỉnh kiến trúc mô hình: Sử dụng mô hình SSDLite kết hợp backbone MobileNetV3, tiến hành cắt giảm 2 lớp cuối của mạng backbone và giới hạn các lớp vật thể cần nhận diện trên tập dữ liệu COCO.
- Xử lý dữ liệu: Ứng dụng các phép biến đổi ảnh trong PyTorch (
Resize, Grayscale, CenterCrop, FiveCrop, RandomCrop), phân chia tập dữ liệu thành Train, Test, Validate, khởi tạo DataLoader, cấu hình Checkpoint lưu trữ và tải trọng số huấn luyện.
- Thiết lập mô phỏng CARLA: Cấu hình CARLA Server, kết nối máy khách (Client) qua giao thức Socket, thiết lập thông số cho cảm biến Camera và Lidar ảo.
- Xây dựng chương trình điều khiển đa luồng: Thiết kế sơ đồ luồng dữ liệu (Flowchart) cho 3 tiến trình hoạt động song song: luồng nhận diện ảnh từ Camera, luồng xử lý đám mây điểm Lidar, luồng thuật toán ra quyết định điều khiển xe tránh né vật cản.
Chương 4: Thiết kế phần cứng và thực nghiệm
Chương 4 tập trung vào triển khai phần cứng và đo đạc kết quả:
- Trình bày sơ đồ thiết kế phần cứng với trung tâm xử lý là kit máy tính nhúng Nvidia Jetson Nano.
- Triển khai kịch bản thử nghiệm trên môi trường mô phỏng CARLA.
- Thực nghiệm đo lường hiệu năng và độ chính xác của mô hình đã tinh chỉnh (Modified) so với mô hình gốc (Pre-trained) trên phần cứng Jetson Nano, đánh giá các chỉ số mAP và FPS.
Kết luận và định hướng phát triển
Chương tổng kết khẳng định việc hoàn thành các mục tiêu đề ra về mô phỏng kịch bản tránh vật cản trên CARLA và chứng minh tính khả thi của mô hình cắt giảm; đồng thời nêu rõ các hạn chế về độ chính xác và định hướng phát triển để ứng dụng trên xe thực tế.
Kết quả và đóng góp
Nghiên cứu đã thực hiện tinh chỉnh và cắt giảm kiến trúc mạng SSDLite-MobileNetV3, đem lại sự cải thiện rõ rệt về mặt tài nguyên tính toán và tốc độ xử lý khi thử nghiệm trên phần cứng nhúng Nvidia Jetson Nano:
| Tiêu chí đánh giá |
Mô hình gốc (Pre-trained) |
Mô hình cải tiến (Modified) |
Mức độ thay đổi |
| Số lượng tham số (Parameters) |
3,44 triệu |
2,10 triệu |
Giảm 39% (còn 61% kích thước gốc) |
| Tốc độ xử lý (Frame Rate) |
3,8 FPS |
11,0 FPS |
Tăng 2,89 lần (cải thiện ~189%) |
| Độ chính xác trung bình (AP / mAP) |
75,9% |
73,1% |
Giảm 2,8% |
Các đóng góp chính của đề tài bao gồm:
- Giải pháp nén mô hình hiệu quả cho phần cứng biên: Chứng minh việc cắt giảm 2 lớp cuối trong backbone MobileNetV3 của SSDLite giúp giảm số lượng tham số từ 3,44 triệu xuống 2,1 triệu, nâng tốc độ xử lý trên kit Jetson Nano từ 3,8 FPS lên 11 FPS (gấp 2,89 lần), trong khi mức độ suy giảm độ chính xác nằm trong giới hạn kiểm soát (từ 75,9% xuống 73,1% AP).
- Hệ thống điều khiển tích hợp đa cảm biến: Đề xuất và hiện thực hóa thành công cấu trúc phần mềm đa luồng kết hợp thông tin nhận dạng ngữ nghĩa từ Camera và dữ liệu đo khoảng cách từ Lidar, giải quyết triệt để bài toán nhận biết và tránh vật cản trong các kịch bản mô phỏng giao thông đô thị trên phần mềm CARLA.
Hạn chế và hướng nghiên cứu tiếp
Khóa luận tự chỉ ra các hạn chế kỹ thuật và đề xuất hướng nghiên cứu tiếp theo:
- Về độ chính xác: Mức độ chính xác 73,1% AP sau khi cắt giảm mạng tuy đã tối ưu hóa được tốc độ nhưng vẫn chưa đạt ngưỡng an toàn tuyệt đối để có thể triển khai vận hành thương mại trên xe tự hành thực tế ngoài đời thực.
- Về môi trường thực nghiệm: Hệ thống điều khiển tránh vật cản tích hợp đa cảm biến mới chỉ dừng lại ở mức mô phỏng hoàn chỉnh trên môi trường CARLA và đo đạc hiệu năng mô hình học sâu trên kit Jetson Nano, chưa tiến hành lắp ráp và chạy thử nghiệm toàn bộ hệ thống trên một phương tiện vật lý di chuyển thực tế.
- Hướng nghiên cứu tiếp theo: Nhóm tác giả định hướng nâng cao độ chính xác nhận diện của mô hình học sâu, tối ưu hóa thuật toán máy trạng thái (State Machine) trong khối điều khiển hành trình của xe và hoàn thiện phần cứng để hệ thống có thể chạy trực tiếp, độc lập trên nền tảng Jetson Nano gắn trên xe thực nghiệm vật lý.
Giá trị tham khảo
Khóa luận là tài liệu tham khảo hữu ích cho sinh viên, học viên và kỹ sư thuộc các chuyên ngành Kỹ thuật Máy tính, Khoa học Máy tính, Hệ thống Nhúng & IoT, Kỹ thuật Điều khiển - Tự động hóa và Robotics.
Các nội dung có giá trị tham khảo cụ thể bao gồm:
- Kỹ thuật nén và tối ưu hóa mô hình học sâu cho thiết bị nhúng: Phương pháp can thiệp, cắt giảm lớp mạng trong backbone MobileNetV3 kết hợp SSDLite để cân bằng giữa độ chính xác (mAP) và tốc độ đáp ứng thời gian thực (FPS) trên phần cứng công suất thấp như Nvidia Jetson Nano.
- Thiết kế phần mềm điều khiển đa luồng kết nối CARLA Simulator: Quy trình xây dựng pipeline xử lý dữ liệu cảm biến song song (Camera và Lidar) qua cơ chế Socket Client-Server trong môi trường mô phỏng xe tự hành.
- Tài liệu tổng hợp lý thuyết thị giác máy tính: Phần tổng quan chi tiết và có hệ thống về quá trình phát triển của các kiến trúc CNN, mô hình phát hiện vật thể (R-CNN, YOLO, SSD), các hàm kích hoạt (Hard-Swish) và hàm mất mát MultiBox Loss.
Câu hỏi thường gặp
1. Tại sao đề tài phải kết hợp đồng thời cả Camera và cảm biến Lidar mà không dùng riêng lẻ một loại?
Cảm biến Lidar đo đạc chính xác khoảng cách vật lý đến các vật thể xung quanh nhưng không thể phân biệt bản chất của vật cản với môi trường (ví dụ không phân biệt được người đi bộ, phương tiện giao thông hay dải phân cách). Ngược lại, Camera cung cấp dữ liệu hình ảnh phong phú giúp mô hình học sâu phân loại chính xác đối tượng nhưng khó ước lượng khoảng cách không gian chính xác. Do đó, việc kết hợp Camera và Lidar cho phép hệ thống vừa nhận dạng được loại vật cản cần tránh, vừa xác định chính xác khoảng cách an toàn để điều khiển xe.
2. Việc cắt giảm kiến trúc mạng SSDLite-MobileNetV3 cụ thể được thực hiện như thế nào và mang lại hiệu quả gì?
Tác giả đã can thiệp vào cấu trúc mạng bằng cách cắt bỏ 2 lớp tích chập cuối cùng trong mạng backbone MobileNetV3 và thu hẹp danh sách các lớp đối tượng cần nhận diện trên tập dữ liệu COCO. Kết quả thực nghiệm cho thấy dung lượng mô hình giảm từ 3,44 triệu tham số xuống còn 2,1 triệu tham số (còn 61% kích thước ban đầu), giúp tốc độ suy luận trên kit Jetson Nano tăng từ 3,8 FPS lên 11 FPS (tăng 2,89 lần).
3. Mức độ đánh đổi về độ chính xác khi tối ưu mô hình cho phần cứng Jetson Nano là bao nhiêu?
Mô hình gốc (Pre-trained) đạt độ chính xác 75,9% AP trên tập kiểm thử, trong khi mô hình sau khi cắt giảm (Modified) đạt độ chính xác 73,1% AP. Mức độ suy giảm độ chính xác là 2,8% AP, đổi lại tốc độ xử lý khung hình tăng gấp gần 3 lần.
4. Môi trường mô phỏng CARLA đóng vai trò gì trong đồ án?
CARLA Simulator đóng vai trò tạo dựng môi trường đô thị ảo để kiểm thử toàn diện giải pháp. CARLA Server mô phỏng các tương tác vật lý của xe và môi trường giao thông, đồng thời giả lập dữ liệu đầu ra của cảm biến Camera và Lidar theo đúng thông số kỹ thuật thực tế, truyền về máy khách (Client) thông qua giao thức Socket để kích hoạt các thuật toán nhận diện và tránh vật cản.
5. Hàm mất mát Multibox Loss trong huấn luyện kiến trúc SSD được cấu thành từ những thành phần nào?
Multibox Loss trong SSD là hàm mất mát tổng hợp gồm hai thành phần chính: mất mát vị trí (Localization Loss - $L_{loc}$) đo lường sai lệch tọa độ bounding box bằng hàm Smooth L1 dựa trên chỉ số IoU, và mất mát độ tin cậy (Confidence Loss - $L_{conf}$) tính toán xác suất phân loại các lớp đối tượng của các anchor boxes dựa trên hàm Cross-Entropy / Softmax. Một hệ số $\alpha$ được sử dụng để cân bằng trọng số giữa hai thành phần mất mát này.
Kết luận
Khóa luận tốt nghiệp của sinh viên Nguyễn Võ Hữu Phúc và Phạm Minh Quân đã hiện thực hóa thành công mô hình tích hợp cảm biến Camera và Lidar phục vụ bài toán phát hiện và tránh vật cản cho xe tự hành. Thông qua việc cắt giảm 2 lớp cuối của backbone MobileNetV3 trên kiến trúc SSDLite, nghiên cứu đã tối ưu hóa số lượng tham số xuống còn 2,1 triệu và nâng tốc độ xử lý trên phần cứng Jetson Nano lên 11 FPS với độ chính xác 73,1% AP. Toàn bộ giải pháp điều khiển đa luồng và thuật toán tránh né đã được kiểm chứng hoạt động ổn định trên môi trường mô phỏng CARLA, tạo tiền đề kỹ thuật vững chắc cho các nghiên cứu triển khai trực tiếp trên phương tiện tự hành vật lý trong tương lai.