3.1 Địa điểm áp dụng thử nghiệm mơ hình cho bài tốn
Mơ hình áp dụng thử nghiệm cho bài tốn được lựa chọn xây dựng thí điểm cho một ngã tư điểm giao lộ đường Huỳnh Minh Thạnh và đường 27/4 thị trấn Phước Bửu, huyện Xuyên Mộc, tỉnh Bà Rịa - Vũng Tàu là cửa ngõ giao thơng huyết mạch kết nối
giữa các địa phương trong tỉnh, cũng như ngồi tỉnh, và là một điểm giao lộ với mật độ phương tiện tham gia giao thơng cao, phức tạp và thường xuyên xảy ra tai nạn giao thơng.
3.2. Thiết kế mơ hình lắp đặt hệ thống cho bài tốn
Hình 48: Bản vẽ thiết kế mơ hình lắp đặt hệ thống
3.3. Thiết kế hệ thống trụ đỡ
Kích thước trụ theo quy chuẩn kỹ thuật quy định Việt Nam. Trụ được mạ kẽm nhúng nĩng tránh tình trạng rỉ sét, sử dụng trụ tấm thép dày chắc chắn, tránh xe gây tai nạn làm gãy, đổ. Với tình hình thực tế tiến hành lắp đặt 4 trụ đèn và đước lắp đặt cách trụ đèn giao thơng 5m.
- Thân trụ bát giác cao 6m
- Trụ thép tấm dày 5mm, đường kính chân D240 – Đỉnh D200 - Tay vươn thép dày 4mm, đường kính D120 – Đỉnh D100
- Hệ thống dùng cọc tiếp địa chống sét để hệ thống cĩ thể hoạt động trong mọi thời tiết mưa, bão.
- Tiến hành xây dựng trụ theo đúng thiết kế.
3.4. Hệ thống Camera
Vị trí camera phải đủ gĩc quay để cĩ thể quan sát được tín hiệu đèn giao thơng, biển số xe, làn đường. để đảm bảo thiết kế và lắp đặt 4 Camera đảm ba3p thơng số kỹ thuật sau:
- Camera giám sát cĩ độ phân giải cao đảm bảo ảnh chụp phương tiện vi phạm, biển số xe vi phạm rõ nét để cĩ thể tự động nhận dạng biển số xe vi phạm,
- Camera cĩ trang bị đèn hồng ngoại để trong điều kiện thiếu ánh sáng, ngược sáng vẫn quan sát rõ hình ảnh.
- Camera cĩ khả năng bảo vệ chống bụi, nước để trong thời tiết mưa giĩ và bụi camera khơng bị bám bẩn, nhịe vẫn đảm bảo được hình ảnh rõ nét.
- Camera cĩ khả năng chống va đập nhằm tránh tình trạng phương tiện giao thơng va đập, đụng trúng cũng khơng gây ảnh hưởng tới camera.
3.5. Thiết kế mơ hình kết nối hệ thống xử lý bài tốn
Hình 49: Mơ hình kết nối-truy xuất hệ thống
- Hệ thống hoạt động theo cơ chế sau: Các camera thực hiện giám sát liên tục 24/24 sau đĩ hình ảnh được đẩy lên hệ thống dữ liệu điện tốn đám mây (Coud Computing), tại đây hình ảnh được phân tích, xử lý:
+ Nhận dạng phương tiện tham gia giao thơng. + Xác định các phương tiện vi phạm.
+ Phân tích và nhận dạng biển số của phương tiện vi phạm.
- Người dùng giám sát hệ thống thơng qua các thiết bị di động hoặc máy tính, tạo biên bản và in ấn các hình ảnh vi phạm khi cần.
Hình 51: Cấu trúc phần mềm xử lý cho hệ thống
- Các thành phần kết nối Trung tâm dữ liệu xử lý chính (DC) và Trung tâm dữ liệu dự phịng (DR)
(1) Trung tâm dữ liệu xử lý chính - Data center (DC).
(2) Trung tâm dữ liệu dự phịng - Data Center Disaster Recovery (DR). (3) Dữ liệu được đồng bộ giữa 2 site DC - DR bằng đường truyền tốc độ cao. (4) Kết nối hệ thống WAN giữa 2 site DC – DR.
(5) Thiết bị và cấu hình hệ thống DR tương thích với thiết bị và cấu hình hệ thống của DC.
(6) Đảm bảo khi Trung tâm dữ liệu xử lý chính cĩ sự cố, Trung tâm dữ liệu dự phịng sẵn sàng thay thế Trung tâm dữ liệu xử lý chính.
- Giải pháp khơi phục dữ liệu Disaster Recovery
(1) Trung tâm dữ liệu chính (Data center – DC): Bao gồm hệ thống các thiết bị máy chủ, máy trạm, thiết bị lưu trữ – Backup, các thiết bị kết nối, kênh truyền dẫn Cáp quang, hệ thống mạng LAN, SAN (Storage Area Network), v.v
(2) Trung tâm dữ liệu dự phịng thảm họa từ xa (Disaster Recovery – DR): Một Data Center Disaster recovery từ xa với đầy đủ trang thiết bị như một hệ thống trung tâm dữ liệu chính, sao lưu – Baclup, bảo vệ tồn bộ dữ liệu của hệ thống, duy trì tính liên tục của hệ thống thơng tin.
3.6. Sơ đồ tổng quan hệ thống áp dụng cho bài tốn
Lưu đồ các bước cơ bản trong một hệ thống áp dụng cho bài tốn
3.7. Hệ thống xử lý ảnh, phát hiện và nhận diện đối tượng 3.7.1. Quy trình xử lý ảnh áp dụng cho bài tốn 3.7.1. Quy trình xử lý ảnh áp dụng cho bài tốn
Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào từ thiết bị ghi hình nhằm tạo ra kết quả đầu ra theo mong muốn. Kết quả đầu ra của một quá trình xử lý ảnh cĩ thể là một hình ảnh tốt hơn hoặc nhận định đưa ra một kết luận nào đĩ được thể hiện qua sơ đồ tổng thể của hệ thống.
3.7.1.1. Sơ đồ xử lý tổng quát Tiền xử lý dữ liệu đầu vào Đào tạo mơ hình phát hiện, nhận dạng đối tượng Phân loạiđối tượng qua ảnh Phát hiện hành vi vi phạm Trích xuất Video từ thiết bị camera giám sát Đặt ID cho đối tượng Cài đặt mơi trường hỗ trợ Mơ hình máy học kết học giải thuật YOLO Theo dõi đối tượng xuất hiện Định dạng và phân vùng Tổng hợp các lớp đối tượng vật thể Cài đặt các thơng số cho mơ hình Đọc hình ảnh từ Video Xác định hành vi vi phạm Huấn luện áp dụng giải thuật Phân loại đối tượng Xác định đối tượng vi phạm Thu nhận ảnh (Scaner, Camera,..)
Quyết định Lưu trữ
Lưu đồ các bước cơ bản trong một hệ thống áp dụng cho bài tốn
3.7.1.2. Đặc tả lưu đồ xử lý ảnh của một hệ thống đề xuất
Bước 1: Thu nhận ảnh: Là quá trình tiếp nhận ảnh đầu vào thơng qua các thiết bị ghi hình trong hệ thống.
Bước 2: Tiền xử lý: Từ hình ảnh đầu vào thơng qua quá trình thực hiện xử lý hình ảnh nhằm nâng cao chất lượng hình ảnh như giảm nhiễu, phân vùng, tìm biên,…
Bước 3: Dự đốn: Sau cơng đoạn tiền xử lý để khắc phục một số lổi ảnh như giản nhiễu, phân vùng, tìm biện từ đĩ hình ảnh được nâng cao chất lượng tốt hơn so với hình ảnh lúc đầu vào. Từ đĩ thuật tốn đưa ra dự đốn kết qủa cho bức ảnh để chuyển tiếp vào cơng đoạn cho bước hậu xử lý và đưa ra quyết định.
Bước 4: Hậu xử lý: Là quá trình xử lý các kết quả của dự đốn để cĩ thể lược bỏ hoặc biến đổi các kết quả này phù hợp với các yêu cầu kỹ thuật cụ thể sử dụng trong hệ quyết định.
Bước 5: Hệ quyết định và lưu trữ: Là cơng đoạn xử lý nhằm đưa ra quyết định phân loại, phát hiện dựa trên dữ liệu đã được học.
Kết luận: Từ các cơ sở trên hệ thống đưa ra kết luận dựa vào quyết định của khối quyết định. Tĩm lại những vấn đề cơ bản trong hệ thống xử lý ảnh cần phải xem xét, đề cập đến các yếu tố như: nắn chỉnh biến dạng; khử nhiễu; chỉnh số mức xám và nén ảnh.
3.7.2. Quy trình phát hiện, nhận dạng và phân loại đối tượng 3.7.2.1. Đặc tả lưu đồ hệ thống 3.7.2.1. Đặc tả lưu đồ hệ thống
Các hệ thống phát hiện và nhận dạng đối tượng hiện nay thơng thường được tiến hành qua 3 bước xử lý chính trong một hệ thống đĩ là:
Bước 1: Sử dụng 1 mơ hình hoặc 1 thuật tốn để tạo ra các vùng ứng viên, các khu vực quan tâm. Các vùng ứng viên này là 1 tập hợp lớn các hộp giới hạn để xác định đối tượng.
Bước 2: Từ đĩ tiến hành việc trích xuất đặc trưng từ các hộp giới hạn tìm được, chúng được đánh giá và xác định xem đối tượng nào cĩ mặt trong hộp giới hạn đĩ hay khơng. Thu nhận ảnh (Scanner, Camera,..) Tiền xử lý Dự đốn Hậu xử lý Kết quả
Bước 3: Trong bước hậu xử lý cuối cùng, các hộp chồng chéo nhau được kết hợp thành một hộp giới hạn thơng qua việc áp dụng một số thuật tốn như Non- maximum suppression,…
3.7.2.2. Áp dụng thuật tốn You Only Look Once – YOLO cho bài tốn phát hiê ̣n, phân loại đối tượng
Bước 1: Thu nhận hình ảnh từ các thiết bị ghi hình trong hệ thống (camera giao thơng) và thực hiện tiền xử lý dữ liệu đầu vào.
Bước 2: Sử dụng thuật tốn phát hiện một lần (YOLOv3) đã được huấn luyện
(Deep learning) để phát hiện và trả về kết quả bao gồm hộp giới hạn và đối tượng xuất
hiện trong các hộp giới hạn đĩ.
Bước 3: Từ đĩ ta tiếp tục thực hiện quy trình hậu xử lý để loại bỏ các hộp chồng chéo, theo dõi các phương tiện,…
Để đảm bảo kết quả xử lý cần điều kiện ràng buộc kèm theo như:
(1) Để thu được kết quả chính xác cao địi hỏi việc thi cơng l;ắp đặt các thiết bị ghi hình (camera giao thơng) phải đặt ở vị trí phù hợp như giữa các làn xe để cĩ gĩc nhìn rộng tránh trường hợp các phương tiện bị che khuất và đảm bảo được vị trí ánh sáng tốt.
(2) Đối với hệ thống xử lý trung tâm cần được hỗ trợ bởi các máy tính xử lý cĩ nhiều CPU hoặc GPU giúp cho việc phát hiện các phương tiện nhanh và chính xác đảm bảo thời gian thực.
Kết luận:
YOLO (You only look once) là một mơ hình học sâu dựa trên CNN để phát hiện đối tượng. YOLO là một mơ hình cân bằng nhằ đảm bảo được giữa tốc độ dự đốn và độ chính xác so với các mơ hình phát hiện đối tượng hiện đại như Faster RCNN, SSD,… YOLO cĩ thể hoạt động trên các thiết bị cấu hình thấp như Raspberry Pi, NUC,… việc lựa chọn giải thuật YOLO là rất phù hợp cho các bài tốn địi hỏi tốc độ xử lý theo thời gian thực như như trong đề xuất bài tốn, giám sát giao thơng, xe tự lái, các hệ thống giám sát an ninh,...
Bên cạnh đĩ áp dụng giải thuật YOLOv3 cho bài tốn phát hiện, nhận dạng khơng chỉ xử lý việc phát hiện được đối tượng trong hình ảnh mà cịn nhận dạng, phân loại được đối tượng tham gia giao thơng là người hay là xe..
Quyết định Lưu trữ
Lưu đồ các bước nhận dạng đối tượng cho bài tốn đề xuất
Dữ liệu đầu vào Áp dụng giải thuật YOLOv3 01 xe ơ tơ và 01 xe máy
Hình 52: Phát hiện đối tượng áp dụng giải thuật YOLOv3
3.7.2.4. Mơ tả quy trình phát hiện và nhận dạng đối tượng
Mơ hình hoạt động của YOLOv3 là chia ảnh thành nhiều box, mỗi box sẽ chịu trách nhiệm xác định đối tượng cĩ trong box đĩ. YOLO sử dụng tồn bộ thơng tin của bức ảnh và dự đốn tồn bộ các box chứa đối tượng. Như trong hình 40 bên dưới sẽ được chia thành ma trận cĩ kích thước 7x7, mỗi ơ (cell) sẽ chứa thơng tin về tọa độ và kích thước của box, khả năng xuất hiện đối tượng của box và xác suất của các lớp cĩ thể xuất hiện trong box đĩ.
Hình 53: Các bước dự đốn áp dụng theo giải thuật YOLOv3
Mơ hình hoạt động YOLOv3 cịn được thực hiện với nhiều tỷ lệ khác nhau giúp mơ hình cĩ thể phát hiện được các đối tượng cĩ nhiều kích thước khác nhau như:
Thu nhận ảnh (Scaner, camera,…) Mơ hình nhận dạng Kết quả nhận dạng
Hình 54: Sơ đồ mơ hình theo kến trúc áp dụng YOLOv3 theo tỷ lệ
Tại mỗi tỷ lệ mơ hình sẽ cùng dự đốn các thơng tin giống nhau sau đĩ sử dụng thuật tốn Non-Maximum Suppression(NMS) để xác kết quả cuối cùng áp dụng giải thuật YOLOv3 với B là số box mà mỗi ơ (cell) chịu trách nhiệm dự đốn
Hình 55: Kết quả dự đốn áp dụng giải thuật YOLOv3
Tĩm lại: Họ các thuật tốn về YOLO (You Only Look Once) nĩi chung và thuật tốn áp dụng YOLOv3 nĩi riêng cho bài tốn đề xuất dùng để nhận dạng các đối tượng, các vật thể theo thời gian thực.
Để triển khai việc cài đặt chương trình áp dụng các giải thuật cho bài tốn phát hiện, nhận dạng đảm bảo kết quả tất nhiên cần phải cĩ mơi trường, cụ thể là cài đặt bộ mã nguồn thư viện hỗ trợ OpenCV cho hệ thống:
Bước 1: Tiến hành tạo mơi trường và thực hiện cài đặt các thư viện cần thiết liên quan cho hệ thống.
Bước 2: Thiết lập các tham số, hệ số cho các ngưỡng theo chương trình.
Bước 3: Tiến hành tải pretrained model và tiến hành cài đặt hệ thống theo mơ hình theo giải thuật YOLOv3 muốn chạy (Tải file .weights và file .cfg tương ứng; sau đĩ thực hiện copy weights và file config vào thư mục tương ứng) và thực hiện thao tác chạy chương trình đã mặc định.
Bước 4: Cho hiển thị giao diện kết nối mơ hình theo giải thuật YOLOv3 đã mặc định.
Bước 5: Tổ chức huấn luyện theo phương pháp lựa chon và thiết lập các thơng số liên quan.
Bước 6: Phát hiện, nhận dạng và phân loại xác định được đối tượng thơng qua giải thuật cho máy học (Deep learning) kết hợp giải thuật YOLOv3 với bộ dữ liệu được huấn luyện nhiều đối tượng khác nhau.
Bước 7: Hiển thị kết quả phát hiện, nhận dạng và phân loại đối tượng thơng qua hình ảnh từ thiết bị ghi hình.
3.7.3. Quy trình phát hiện, nhận dạng biển số xe: 3.7.3.1.Đặc tả lưu đồ xử lý các bước của giải thuật: 3.7.3.1.Đặc tả lưu đồ xử lý các bước của giải thuật:
Lưu trữ
Hệ quyết định
Lưu đồ các bước xử lý và nhận dạng
3.7.3.2. Quy trình các bước triển khai mơ hình thực hiện Bước 1: Thiết lập darknet và tiến hành Clone darknet cho máy.
Bước 2: Sửa tập tin (Makefile) trong hệ thống thư mục vừa clone về cho máy.
Bước 3: Thiết lập tập tin cho YOLO. Ví dụ: yolo-tinyv3-obj.cfg
Bước 4: Thiết lập và tạo tập tin như obj.names chứa tên của các class, sau đĩ chuyển, lưu trong thư mục darknet/data.
CSDL đầu vào Xử lý và áp dụng mơ hình nhận dạng Kết quả nhận dạng
Bước 5:Thiết lập và tạo tập tin như obj.data, sau đĩ chuyển, lưu trong thư mục darknet/data.
Bước 6: Đưa tồn bộ thư mục chứa ảnh và tập tin cĩ chứa file annotation chuyển vào thư mục darknet/data.
Bước 7: Download pre-trained weights của YOLO-Tinyv3 lưu trong thư mục darknet.
Bước 8: Nén thư mục darknet thành file darknet.zip, sau đĩ đưa lên Google Drive.
Chương 4. Xây dựng chương trình thực nghiệm và đánh giá kết quả 1. Xây dựng chương trình thực nghiệm
1.1. Cài đặt chương trình chạy [35]
1.1.1 Cài đặt thư viện mã nguồn mở Opencv
OpenCV là một thư viện mã nguồn mở hàng đầu cho thị giác máy tính xử lý ảnh và máy học, và các tính năng tăng tốc GPU trong hoạt động thời gian thực. OpenCV được phát hành theo giấy phép BSD, do đĩ nĩ hồn tồn miễn phí cho cả học thuật và thương mại,. cĩ các interface C++, C, Python, Java và hỗ trợ Windows, Linux, Mac OS, iOS và Android. OpenCV được thiết kế để tính tốn hiệu quả và với sự tập trung nhiều vào các ứng dụng thời gian thực. Được viết bằng tối ưu hĩa C/C++, thư viện cĩ thể tận dụng lợi thế của xử lý đa lõi.
1.1.2. Cài đặt thư viện CUDA
CUDA là từ viết tắt trong tiếng Anh của thuật ngữ Compute Unified Device Architecture, tạm dịch là kiến trúc thiết bị hợp nhất cho tính tốn và là một bộ cơng cụ phát triển phần mềm dựa trên ngơn ngữ lập trình C, dựa trên kiến trúc điện tốn GPU của NVIDIA áp dụng cách tính tốn song song sử dụng ngơn ngữ C/C++, Fortran, Java, Python, v.v… sang dạng mã máy.
1.1.3.Cài đặt thư viện cuDNN
cuDNN hoặc thư viện Nvidia CUDA Deep Neural Network là một thư viện tăng tốc GPU chuyên dành cho Deep Neural Network. cuDNN cung cấp các triển khai được điều chỉnh cao cho các thĩi quen tiêu chuẩn như tích chập tiến và lùi, gộp chung, chuẩn hĩa và các lớp kích hoạt. Các nhà nghiên cứu sâu và các nhà phát triển khung trên tồn thế giới dựa vào cuDNN để tăng tốc GPU hiệu suất cao và cho phép tập