TÓM TÁT KHÓA LUẬN
Chương 5. KET LUẬN VÀ HƯỚNG PHAT TRIEN
5.1. Kết luận
5.1.1. Kết quả đạt được
Về lý thuyết, nhóm đã tìm hiểu kiến thức về mạng thần kinh nhân tạo, các mô hình ứng dụng CNN như YOLO và các biến thể của nó. Nhóm được tìm hiểu thêm cách mà mô hình YOLO học, cũng như các yếu té ảnh hưởng đến khả năng học và
độ chính xác của mô hình như số lớp trong mô hình, độ sâu của mô hình, chất lượng của tập dữ liệu huấn luyện, hàm kích hoạt (active function)...Từ đó, nhóm tự xây
dựng một mô hình sao cho phù hợp với tài nguyên của board DEI-SoC. Ngoài ra,
nhóm được tìm hiểu thêm về giải thuật GEMM - một giải thuật phổ biến được áp dụng trong xử lý ảnh. Đồng thời, nhóm cũng tìm hiểu và áp dụng OpenCL nhằm đơn
giản hóa việc hiện thực mô hình máy học trên FPGA thay vì sử dụng ngôn ngữ mô tả
phần cứng như Verilog.
Bên cạnh đó, nhóm tìm hiểu được board DE1-SoC - một nền tảng thiết kế phần cứng sử dụng SoC FPGA của Altera. Với khả năng tái cấu hình kết hợp với hệ thống
xử lý hiệu suất cao nhưng tiêu thụ năng lượng thấp, board cung cấp tài nguyên đáp ứng nhu cầu của nhóm.
Vé mặt hiện thực, nhóm biết cách xây dựng hệ điều hành Linux cho board DE1- SoC. Nhóm cũng biết cách cài đặt, tích hợp một số nền tảng, framework, thư viện hỗ
trợ trong quá trình hiện thực mô hình. Nhóm cũng áp dụng thành công phương pháp
hiện thực mô hình máy học lên FPGA sử dụng OpenCL thông qua nền tảng Intel®
FPGA SDK for OpenCLTM. Bên cạnh đó, nhóm cũng áp dụng được mô hình máy học
dé nhận diện một số loại phương tiện giao thông như xe máy, xe hơi, xe tải.
5.1.2. Khó khăn
Do mô hình nhận diện trên một số đối tượng cụ thể nên tập dữ liệu huấn luyện có sẵn không nhiều. Nhóm phải thu thập từ nhiều nguồn khác nhau nên quá trình thu thập mất khá nhiều thời gian. Kích thước dữ liệu lớn nên thời gian lọc ảnh, lọc bounding box dé xảy ra sai sót và mat nhiều thời gian dé xử lý.
65
Viéc hiện thực mô hình cũng gặp nhiều khó khăn vì nhóm vừa làm quen với ngôn
ngữ mới vừa phải xây dựng chương trình sao cho phù hợp với tài nguyên giới hạn của DE1-SoC.
Kiến thức về FPGA và OpenCL khá rộng cũng gây khó khăn cho nhóm trong quá trình tìm hiểu, hiện thực và sửa lỗi chương trình.
5.1.3. Nhược điểm
về phần xây dựng và huấn luyện, vì mô hình được huấn luyện với tập dir liệu phương tiện giao thông, trong khi đó các mô hình khác (đã đề cập ở các phần trước) đều huấn luyện với tập đữ liệu COCO hoặc VOC, do đó mô hình của nhóm chưa thé
so sánh, đánh giá độ chính xác so với các mô hình khác. Tập huấn luyện của nhóm đang là tập ảnh xám nên chưa thé dùng dé xử lý ảnh màu được. Bên cạnh đó, tập dữ liệu của nhóm chưa có nhiều đữ liệu từ camera giao thông trên cao tốc hay các tuyến đường nội thành và dữ liệu phương tiện chưa gần gũi với giao thông Việt Nam. Mô hình cũng chưa đánh giá tốc độ xử lý trên video.
Về phần hiện thực hệ thống ên phần cứng, nhóm chưa boot được hệ điều hành Linux lên board DEI-SoC nên chưa thể kiểm tra kết quả chạy thực tế của mô hình. Thiết kế của kernel GEMM chưa phù hợp với mô hình của nhóm do kernel mà nhóm tham khảo được dùng đề xử lý cho ảnh màu của lớp đầu tiên có dạng tensor 3 chiều, còn lớp đầu của nhóm là ảnh xám có dạng ma trận 2 chiều nên việc tính toán số vòng lặp bị sai dẫn đến kết quả giả lập không chính xác. Vì còn sai sót trong việc thiết kế kernel và chưa thé boot Linux trên board nên tốc độ thực thi của mô hình cũng chưa thể đánh giá so sánh với đề tài trước đó, chưa đánh giá được độ chính xác và việc sử dụng tải nguyên của board cũng chưa thể đảm bảo được.
5.2. Hướng phát triển
Về độ chính xác, mô hình Custom Tinier YOLO cần thay đổi về cầu trúc các lớp cũng như số lượng lớp tích chập. Tập dữ liệu cũng cần được thay đổi thành dạng ảnh màu dé dé ứng dụng thực tiễn hơn, bổ sung nhiều loại phương tiện đa dạng hon và
đảm bảo tính chính xác của bounding box.
66
Về hệ thống SoC-FPGA, cần nghiên cứu kĩ cách boot hệ điều hành Linux trên board, cách kết nối với server của board thông qua VNC hoặc qua dây Ethernet. Kernel trên FPGA cần phải chỉnh sửa lại dé tính toán đúng phép tích chập. Đồng thời
về tốc độ, kernel GEMM còn dùng nhiều vòng lặp làm mắt nhiều thời gian xử lý. Do
đó, số vòng lặp nên được tính toán lại nhằm tối ưu được việc tính toán. Sau khi cải thiện về tốc độ xử lý và độ chính xác của phép tính, có thé cân nhắc đến việc tích hợp camera đáp ứng xử lý thời gian và ứng dụng vào thực tế.
67