Xây dựng hệ thống hỏi đáp trực tuyến ứng dụng cho chính quyền địa phương tỉnh Tây Ninh dựa trên nền tảng máy học

MỤC LỤC

CƠ SỞ LÝ THUYẾT

    Trong chương này sẽ trình bày các phương pháp liên quan đến xử lý ảnh và phát hiện, nhận dạng đối tượng, theo vết đối tượng, xác định đối tượng giao nhau phổ biến đang được áp dụng và những hạn chế của các phương pháp này. Khi áp dụng thuật toán Canny Edge Detection ta thu được ảnh kết quả có đường biên bao quanh đối tượng trong ảnh rừ hơn ảnh gốc, sắc nột và mảnh hơn, loại bỏ những pixel thừa.  Phát hiện đường thẳng bằng Hough Transform Ý tưởng chính của giải thuật phát hiện đường thẳng Hough Transform đó là dựa trên kết quả phát hiện cạnh để tiến hành phát hiện đường thẳng.

    Các phương pháp phát hiện và phân loại đối tượng Một số kỹ thuật phát hiện và nhận dạng đối tượng dựa trên deep learning phổ biến trên thế giới như: R-CNN[28], Fast R-CNN[28], Faster R-CNN[29], Single Shot Detector (SSD)[27], You Only Look Once (YOLO),…. YOLO qua các phiên bản đã có nhiều cải tiến về: tốc độ, tốt cho các hệ thông xử lý thời gian thực và tối ưu độ chính xác, dự đoán cả vị trí và loại đối tượng trong một mạng duy nhất. Phát hiện vùng ảnh nổi là một trong những module thiết yếu trong hệ thống phát hiện truy vết theo đối tượng chuyển động qua khung hình video, nó đóng vai trò quan trọng phân tích xử lý các khung hình video để lọc ra các vùng ảnh nổi tách biệt với phần còn lại của ảnh trong khung nền.

    Theo vết đối tượng [8] là quá trình định vị đối tượng qua các khung hình liên tiếp trong video để cung cấp thông tin về sự thay đổi của đối tượng về không gian và thời gian như loại, đường đi, tốc độ và hướng chuyển động. Trong thực tế, đối tượng có rất nhiều đặc trưng như cấu trúc, mô hình, màu sắc,… cho nên cũng có rất nhiều kỹ thuật theo vết khác nhau như: theo hướng hình học, theo đặc trưng của đối tượng. Tổng quát lại ta có thể chia thành bốn cách tiếp cận chính như: theo vết dựa trên mô hình, theo vết dựa trên tên miền, theo vết dựa vào đường bao động (Active Contour) và hướng tiếp cận sử dụng mô hình Kalman chọn các đặc trưng của đối tượng và theo vết dựa trên những đặc trưng đó.

    Ngoài ra, một chiến lược liên kết theo tầng (Matching Cascade) và một cách quản lý mới cho vòng đời của chuỗi truy vết được xây dựng nhằm nâng cao độ chính xác liên kết. OpenCV (Open Source Computer Vision Library) là thư viện mã nguồn mở hàng đầu dành cho thị giác máy tính, cung cấp các mã nguồn về xử lý hình ảnh, phát triển các ứng dụng trong nhiều lĩnh vực datamining, máy học và các tính năng tăng tốc tối ưu GPU trong thời gian thực.

    Hình 2.2: Các bounding box dự đoán
    Hình 2.2: Các bounding box dự đoán

    PHÂN TÍCH THIẾT KẾ HỆ THỐNG

      Bước 3: Sử dụng YOLO nhận dạng và phân loại phương tiện với mô hình đã được huấn luyện, trả kết quả nhận dạng gồm các hộp giới hạn và loại đối tượng. Bước 4: Thực hiện loại bỏ các hộp giới hạn chồng chéo và sử dụng phương phỏp DEEPSORT theo dừi truy vết cỏc đối tượng đó. Bố trí hệ thống camera thích hợp (hình 3.2): vị trí giữa các làn đường để thị trường camera rộng quan sát được toàn cảnh các làn đường, không bị vật cản che khuất tầm quan sát, lắp đặt camera ở các vị trí có ánh sáng tốt không bị chói sáng để thu được ảnh chất lượng.

       Đường giao thông có 2 làn: Làn bên ngoài cùng dành cho xe ô tô, xe tải, làn bên trong dành cho xe máy;.  Đường giao thông có 3 làn: làn ngoài cùng dành cho xe ô tô, làn giữa cho xe tải, container, làn trong dành cho xe máy. Hệ thống xử lý chính cần được trang bị cấu hình, tốc độ cao, nhiều CPU, GPU để phát hiện phương tiện nhanh, chính xác, ít sai số và đảm bảo thời gian thực.

      Theo mô tả các điều kiện ràng buộc của đề án, camera giám sát được đặt cố định nên hình ảnh về làn đường hầu như không đổi nên việc trích xuất làn đường được thực hiện đầu tiên. Với mục đích xây dựng mô hình nhận diện phương tiện giao thông làm nền tảng cho việc xây dựng ứng dụng. Như vậy từ hai phương pháp đã nêu trên đề án chọn phương YOLO vì phương pháp này có khả năng hoạt động tự động, các góc camera có thể tự căn chỉnh góc độ phù hợp với môi trường hoạt động, có khả năng hoạt động linh hoạt ở nhiều.

      Trong video, mỗi frame là một ảnh riêng biệt, một đối tượng xuất hiện ở nhiều frame sẽ có vị trí trong frame không giống nhau, cho nên ta cần xác định đối tượng này là duy nhất. Trong quá trình từ khi phương tiện bắt đầu đi vào và đi ra khỏi khung đo qua nhiều frame, mỗi frame ghi lại một vị trí. Mỗi làn đường dành riêng cho từng loại phương tiện sẽ tạo thành một vùng kín LANE 1, LANE 2, LANE 3.Mỗi phương tiện được nhận dạng sẽ được bao bởi một khung đa giác.

      Tương ứng với mỗi frame, hệ thống sẽ kiểm tra trung điểm của đoạn kẻ dưới của khung bao đối tượng thuộc vùng nào trong các làn đường.

      Hình 3.2: Minh họa vị trí lắp camera giám sát giao thông
      Hình 3.2: Minh họa vị trí lắp camera giám sát giao thông

      THỬ NGHIỆM VÀ ĐÁNH GIÁ

      Cài đặt và thử nghiệm 1. Thiết lập cấu hình

      Dữ liệu được huấn luyện với Google Colaboratory Pro trên mô hình YOLO v5 tập dữ liệu train được trích xuất từ bộ dữ liệu đã được gán nhãn với các class: bicycle, car, motorcycle, bus, train, truck. Chương trình phát hiện được các đối tượng chuyển động và vẽ một hình chữ nhật có viền màu vàng bao quanh đối Hình 4.1: Phát hiện và theo vết đối tượng chuyển động trong. Khi phương tiện di chuyển vào vùng làn đường đang giám sát chương trình ghi nhận, hiển thị số phương tiện theo từng làn và tổng các phương tiện được thống kê trên góc trên bên phải màn hình.

      Khi phương tiện di chuyển vào vùng làn đường không được phép lưu thông, chương trình đánh dấu bằng khung chữ nhật màu xanh và ghi nhãn “WRONGLANE” để báo hiệu phương tiện di chuyển sai làn đường quy định. Chương trình thống kê từng loại phương tiện đi sai làn theo bảng thống kê bên dưới góc trái màn hình theo cấu trúc: Số thứ tự làn đường (được đánh số từ trái qua phải) [ Tên loại phương tiện : Số phương tiện sai làn, ]. Theo kết thử nghiệm như hình 4.9 ta thấy chương trình phát hiện phân loại và theo vết được các phương tiện di chuyển sai làn đường quy định, tự động đánh dấu hình ảnh phương tiện trên màn hình và lưu hình ảnh phương tiện tại thời điểm vi phạm.

      - Phát hiện làn đường: nhận dạng tốt tuy nhiên có một số lần sai ta quan sát thấy nhưng rất nhanh xác định lại đúng do số lượng phương tiện nhiều che khuất các vạch phân chia làn đường, hoặc lúc ánh sáng giảm làm hình vạch kẻ đường mờ đi. Theo kết quả bảng 4.1 Hệ thống nhận dạng tốt tuy nhiên có một số phương tiện bị bỏ qua hoặc không nhận dạng được do có một số phương tiện quá khổ hoặc quá nhỏ, hoặc khi phương tiện di chuyển quá nhanh, các phương tiện nhiều chồng lấn nhau. Từ kết quả thử nghiệm bảng 4.3 cho thấy trên 1 khung hình có trên 2 phương tiện thì hệ thống vẫn phát hiện và theo vết được các phương tiện, không có trường hợp lấy đối tượng này gắn cho đối tượng khác.

      Khi có nhiều phương tiện trên khung hình bị phương tiện khác che khuất chương trình vẫn phát hiện và theo vết được đối tượng tuy nhiên có ít trường hợp không xác định được do nhiều đối tượng bị che khuất khi dừng đèn đỏ tại giao lộ. - Việc tính toán để xác định phương tiện theo làn chỉ đúng cho chuyển động thẳng trong không gian 2D, mà trong thực tế đối chuyển động theo không gian 3D cho nên việc tính toán chưa chính xác khi đối tượng ở cận các biên của làn đường. Trong quá trình thử nghiệm cho thấy một số yếu tố ảnh hưởng đến hiệu quả của giải pháp đề xuất như: nhận dạng làn đường bằng kỹ thuật xử lý ảnh phụ thuộc vào chất lượng hình ảnh thu được, tốc độ xử lý camera phải từ 30 fps để có thể thu được ảnh của phương tiện di chuyển nhanh với tốc độ từ 15Km/h trở lên, điều kiện môi trường như ánh sáng, mưa, độ ẩm, chất lượng camera, ảnh hưởng đến quá trình nhận dạng phân loại và theo vết đối tượng.

      Tuy nhiên để có thể ứng dụng vào thực tiễn xác định chính xác lỗi vi phạm sai làn đường cần phải cải tiến thêm về nhiều mặt như: thuật toán trừ nền nâng cao để tăng độ chính xác tính toán, xác định chiều di chuyển, nhận dạng biển báo giao thông, nhận dạng vạch phân làn.

      Hình 4.1: Phát hiện và theo vết đối tượng chuyển động trong  frame hiện tại
      Hình 4.1: Phát hiện và theo vết đối tượng chuyển động trong frame hiện tại