1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xác định tốc độ xe dựa trên phát hiện chuyển động trong hệ thống giao thông thông minh

49 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 49
Dung lượng 4,86 MB

Cấu trúc

  • 1. Lý do chọn đề tài (7)
  • 2. Mục đích và nhiệm vụ nghiên cứu (8)
  • 3. Đối tượng và phạm vi nghiên cứu (8)
  • 4. Phương pháp nghiên cứu (8)
  • CHƯƠNG 1: KHÁI QUÁT VỀ XỬ LÝ ẢNH VÀ BÀI TOÁN XÁC ĐỊNH TỐC ĐỘ XE (10)
    • 1.1 KHÁI QUÁT VỀ XỬ LÝ ẢNH (10)
      • 1.1.1 Một số khái niệm (10)
        • 1.1.1.1 Ảnh (10)
        • 1.1.1.2 Video (11)
        • 1.1.1.3 Khái niệm Background và Foreground (12)
        • 1.1.1.4 Motion-based và video-based (13)
      • 1.1.2 Một số chuẩn Video thông dụng (14)
    • 1.2 BÀI TOÁN XÁC ĐỊNH TỐC ĐỘ XE DI CHUYỂN TRÊN ĐƯỜNG (15)
      • 1.2.1. Xác định tốc độ xe (15)
      • 1.2.2. Một số hướng tiếp cận (16)
        • 1.2.2.1 Dựa vào trừ nền (17)
        • 1.2.2.2 Dựa vào sự biến đổi giá trị theo thời gian (17)
        • 1.2.2.3. Dựa vào luồng quang học (18)
    • 1.3 KẾT LUẬN CHƯƠNG 1 (19)
  • CHƯƠNG 2: KỸ THUẬT XÁC ĐỊNH TỐC ĐỘ XE DỰA TRÊN PHÁT HIỆN CHUYỂN ĐỘNG (20)
    • 2.1. SƠ ĐỒ TỔNG QUÁT CỦA HỆ THỐNG (20)
    • 2.2. TIỀN XỬ LÝ VÀ HI ỆU CHỈ NH NÂNG CAO CHẤT LƯỢNG HÌNH ẢNH 16 (22)
      • 2.2.1 Phép co (Erosion) (23)
      • 2.2.2 Phép giãn nở (Dilation) (24)
      • 2.2.5. Tô đầy vùng – Region fill (26)
    • 2.2. KỸ THUẬT PHÁT HIỆN XE TRONG VIDEO (27)
    • 2.3. NHẬN DIỆN PHƯƠNG TIỆN (28)
    • 2.4 KỸ THUẬT THEO DÕI XE TRONG VIDEO (33)
    • 2.5. KỸ THUẬT XÁC ĐỊNH TỐC ĐỘ XE DI CHUYỂN (36)
    • 2.6 PHÁT HIỆN VI PHẠM (37)
    • 2.7 KẾT LUẬN CHƯƠNG 2 (37)
  • CHƯƠNG 3: THỬ NGHIỆM (38)
    • 3.1 PHÂN TÍCH BÀI TOÁN (38)
    • 3.2. PHÂN TÍCH LỰA CHỌN MÔI TRƯỜNG VÀ CÔNG CỤ (40)
      • 3.2.1 Mô tả dữ liệu (40)
      • 3.2.2 OpenCV và EmguCV (40)
      • 3.2.3 Môi trường cài đặt (42)
    • 3.3 KẾT QUẢ CHƯƠNG TRÌNH (0)
    • 3.4 KẾT LUẬN CHƯƠNG 3 (47)
  • KẾT LUẬN (48)

Nội dung

Phương pháp nghiên cứu

Phương pháp nghiên cứu của đề tài được lựa chọn là lý thuyết kết hợp với thực nghiệm Các vấn đề cần giải quyết liên quan đến các thuật toán xử lý ảnh và thị giác máy được thực hiện trên phần mềm máy tính với đầu vào là các thông tin thu nhận được từ thực tế Quá trình được tiến hành dựa trên việc tìm hiểu tài liệu, cài đặt thử nghiệm sau đó đánh giá kết quả thực nghiệm và cải tiến nhằm nâng cao chất lượng chương trình.

Như vậy, cần tiến hành tìm hiểu lý thuyết về phương pháp đo tốc độ xe dựa trên chuyển động Tìm hiểu kỹ thuật về mặt lý thuyết sẽ được kết hợp với việc cài đặt thực nghiệm để kiểm chứng và đánh giá những nội dung tìm hiểu lý thuyết và từ đó cải tiến và hoàn thiện chương trình.

KHÁI QUÁT VỀ XỬ LÝ ẢNH VÀ BÀI TOÁN XÁC ĐỊNH TỐC ĐỘ XE

KHÁI QUÁT VỀ XỬ LÝ ẢNH

1.1.1.1 Ả nh Ảnh kỹ thuật số là dữ liệu được các thiết bị ghi hình kỹ thuật số như máy ảnh số, camera số ghi lại từ phép chiếu hình ảnh ba chiều của vật thể từ thế giới thực lên mặt phẳng hai chiều Ánh sáng từ nguồn sáng phản xạ trên bề mặt vật thể, đi qua thấu kính đến bề mặt cảm biến điện tử Cảm biến này tiếp nhận ánh sáng và chuyển đổi thành tín hiệu điện tử dạng tương tự Sau đó bộ phận chuyển đổi tương tự - kỹ thuật số thực hiện việc lấy mẫu (sampling) để chuyển tín hiệu tương tự sang tín hiệu số và lưu xuống thiết bị lưu trữ Ảnh số bao gồm một lưới các điểm ảnh (pixel), được lưu trữ dưới dạng mảng hai chiều Trong đó, mỗi điểm ảnh là một thành phần ảnh nhỏ nhất biểu diễn giá trị cường độ sáng tại vị trí của nó Giá trị của mỗi điểm ảnh là rời rạc Mảng hai chiều lưu trữ dữ liệu ảnh gồm một số lượng hữu hạn số hàng và số cột a Ảnh nhị phân

Mỗi điểm ảnh chỉ là màu đen hoặc trắng, được biểu diễn bằng 0 và 1 Vì chỉ có hai giá trị có thể cho mỗi điểm ảnh, chúng ta chỉ cần một bit cho mỗi điểm ảnh Như vậy, việc lưu trữ khá hiệu quả Ảnh nhị phân có thể phù hợp với văn bản (in hoặc viết tay), dấu vân tay, thiết kế kiến trúc b Ảnh đa mức xám (Grayscale)

Giá trị cường độ điểm ảnh được mã hóa trong L mức Trong đó mức độ đen hay trắng được chia thành L khoảng đều nhau Giá trị mỗi điểm ảnh nằm trong L khoảng này, là giá trị rời rạc biểu diễn mức cường độ sáng tại vị trí điểm ảnh Giá trị điểm ảnh càng cao, cường độ sáng càng lớn và ngược lại Ngày nay các thiết bị thường sử dụng mỗi 8bit để mã hóa giá trị một điểm ảnh, nghĩa là L = 256 khoảng Giá trị điểm ảnh nằm giữa 0 và 255 Trong trường hợp L = 2, một điểm ảnh chỉ có 2 mức giá trị 0 và 1, ta được ảnh nhị phân với mức 0 biểu diễn màu đen tuyệt đối và mức 1 biểu diễn màu trắng tuyệt đối Nếu

L > 2 ta được ảnh đa mức xám Ảnh nhị phân có thể thu được qua phép tách ngưỡng ảnh đa mức xám: Giá trị điểm ảnh lớn hơn ngưỡng cho trước tương ứng với giá trị 1, nhỏ hơn ngưỡng tương ứng với giá trị 0 trên ảnh kết quả Ảnh đa mức xám được lưu trữ trên một mảng hai chiều duy nhất Rất nhiều kỹ thuật trong xử lý ảnh số được thực hiện trên ảnh đa mức xám khi không cần thiết phải quan tâm đến thông tin màu sắc của ảnh, giúp giảm độ phức tạp tính toán c Ảnh màu

Qua nghiên cứu thị lực của người với màu sắc, các tế bào hình nón chia thành 3 loại: một loại nhạy cảm với ánh sáng đỏ, một loại nhạy cảm với xanh lá, loại còn lại nhạy cảm với xanh dương, mắt người có thể tổng hợp một màu sắc bất kỳ dựa trên ba màu cơ bản trên Các cuộc thử nghiệm thành công sau đó đã mở ra một kỉ nguyên mới về nhiếp ảnh màu

Máy ảnh màu kỹ thuật số có bộ phận phân tách ánh sáng thành ba phổ màu cơ bản riêng biệt: đỏ (R); xanh lá (G); xanh dương (B) Mỗi phổ màu này được biến đổi thành tín hiệu số và lưu trữ riêng biệt Mỗi kênh màu được lưu trữ tương tự như ảnh đa mức xám Nếu dùng 8bit để mã hóa giá trị một kênh màu của điểm ảnh, với 3 kênh màu, để biểu diễn một điểm ảnh cần 24bit Nghĩa là cần gấp 3 lần không gian lưu trữ cho ảnh màu so với ảnh đa mức xám Các kỹ thuật phân đoạn ảnh dựa trên màu sắc được thực hiện trên ảnh màu [8]

Video là tập hợp các khung hình, mỗi khung hình là một ảnh Shot (lia) là đơn vị cơ sở của video Một lia là một đơn vị vật lý của dòng video, gồm các chuỗi các khung hình liên tiếp, không thể chia nhỏ hơn, ứng với một thao tác camera đơn Scene (cảnh) là các đơn vị logic của dòng video, một cảnh gồm các lia liên quan về không gian và liền kề thời gian, cùng mô tả một nội dung ngữ nghĩa hoặc tình tiết

Hình 1.1: Cấu trúc phân đoạn video

Thuật ngữ video dùng để chỉ nguồn tin hình ảnh trực quan (pictorial visual information), bao gồm một chuỗi các ảnh tĩnh (still image) liên tiếp nhau, được sắp xếp theo chiều thời gian Video còn được gọi là ảnh thay đổi theo thời gian (timevarying image), ký hiệu là s(x1, x2, t), trong đó x1, x2 là các biến chỉ vị trí trong không gian, còn t là biến thời gian Xét về mặt vật lý, ở cấp thấp nhất, video tồn tại dưới dạng các tín hiệu Tùy thuộc vào loại tín hiệu thu được ta có 2 loại video khác nhau: video tương tự và video số Tuy nhiên dữ liệu mà chúng ta xử lý là dữ liệu video số vì thế ta chỉ tập trung vào tìm hiểu về video số

Tín hiệu video số được lưu trữ dưới dạng số, do đó chúng được lấy mẫu và lượng tử hóa Tín hiệu video số là một thông tin 3 chiều gồm 2 chiều không gian và 1 chiều thời gian hay còn gọi là chuỗi ảnh số với mỗi ảnh số là một ảnh được lấy mẫu và lượng tử hóa

1.1.1.3 Khái ni ệ m Background và Foreground

Trong 1 bức ảnh được chia làm 3 thành phần là background, middle ground và foreground Background là nền sau hay nền phụ Nó được hiểu là phần giúp làm nổi bật phần ở phía trên nó cụ thể ở đây là middleground và foreground Foreground hay còn gọi là tiền cảnh, nền trước là phần được nổi bật ở phía trên 1 bức ảnh

- Ta cùng xem xét ví dụ sau để hiểu rõ hơn khái niệm về background, foreground và middle ground

Hình 1.2: Ví dụ về ảnh cụ thể

1.1.1.4 Motion-based và video-based

Motion-based và video-based là hai phương pháp phân loại và xử lý dữ liệu video khác nhau Dưới đây là sự so sánh giữa hai phương pháp này:

• Phương pháp motion-based (dựa trên chuyển động) tập trung vào phát hiện và theo dõi chuyển động trong video

• Đối tượng và vùng quan tâm được xác định dựa trên sự thay đổi và chuyển động trong khung hình

• Thường sử dụng các thuật toán như Optical Flow, Background Subtraction (phân đoạn nền), hoặc phát hiện đối tượng để nhận diện và theo dõi chuyển động

• Thích hợp để phát hiện vật thể di chuyển, đếm số lượng, và tính toán tốc độ chuyển động

• Phương pháp video-based (dựa trên video) tập trung vào phân tích toàn bộ video và xử lý dựa trên thông tin hình ảnh trong từng khung hình

• Đối tượng và vùng quan tâm không chỉ được xác định dựa trên chuyển động, mà còn dựa trên thông tin hình ảnh, màu sắc, hình dạng, hoặc các đặc trưng khác của đối tượng

• Thường sử dụng các thuật toán phân loại, nhận diện đối tượng, phân tích hình dạng, hoặc Deep Learning để xử lý và phân loại video

• Thích hợp để nhận diện đối tượng, phân loại và phân tích hành vi, nhận dạng khuôn mặt, hoặc phát hiện sự kiện phức tạp trong video

Tóm lại, motion-based tập trung vào phát hiện và theo dõi chuyển động trong video, trong khi video-based tập trung vào phân tích toàn bộ video dựa trên thông tin hình ảnh

Có nhiều chuẩn video thông dụng được sử dụng trên toàn cầu cho nhiều mục đích khác nhau Dưới đây là một số chuẩn video thông dụng:

- MPEG-4 (H.264/AVC): Được sử dụng rộng rãi trong việc nén video cho streaming, video trên mạng, và video chất lượng cao trên đĩa Blu-ray

- MPEG-2: Thường được sử dụng cho video SD (Standard Definition) và đã được sử dụng rộng rãi trong ngành truyền hình và video DVD

- AVI (Audio Video Interleave): Một định dạng video rất phổ biến được phát triển bởi Microsoft AVI có thể sử dụng nhiều mã hóa video khác nhau

- MKV (Matroska Video): Đây là một định dạng container, cho phép bạn lưu trữ nhiều luồng video, âm thanh và phụ đề trong một tệp duy nhất

- MP4 (MPEG-4 Part 14): MP4 là một định dạng container phổ biến cho video, âm thanh, và phụ đề Nó được sử dụng rộng rãi trên các thiết bị di động và trình phát đa phương tiện

- WMV (Windows Media Video): Được phát triển bởi Microsoft, WMV thường được sử dụng cho video trên nền tảng Windows

- FLV (Flash Video): Thường được sử dụng cho video trực tuyến và được sử dụng rộng rãi trên các trang web sử dụng Adobe Flash

- WebM: WebM là một định dạng video mã nguồn mở được phát triển bởi Google, thường được sử dụng cho video trên web và hỗ trợ nén video chất lượng cao

- 3GP và 3G2: Thường được sử dụng cho video trên điện thoại di động, đặc biệt trên các thiết bị di động cũ

- QuickTime (MOV): Được sử dụng bởi các sản phẩm và ứng dụng của Apple, như QuickTime Player.

BÀI TOÁN XÁC ĐỊNH TỐC ĐỘ XE DI CHUYỂN TRÊN ĐƯỜNG

1.2.1 Xác đị nh t ố c độ xe

Xác định tốc độ xe di chuyển trên đường là một bài toán thực tế phổ biến và quan trọng trong lĩnh vực giao thông Có nhiều phương pháp và công nghệ khác nhau để giải quyết bài toán này, bao gồm sử dụng cảm biến và hệ thống đo lường vận tốc, camera giám sát giao thông, và cảm biến trên xe hơi Dưới đây là một số phương pháp phổ biến để xác định tốc độ xe di chuyển trên đường:

Radar và Lidar: Sử dụng radar (Radio Detection and Ranging) hoặc

Lidar (Light Detection and Ranging) để đo tốc độ xe bằng cách phát sóng điện từ hoặc tia laser và đo thời gian mà tín hiệu phản xạ trở về Điều này cho phép đo tốc độ di chuyển của xe một cách chính xác và không phụ thuộc vào đèn chiếu sáng hoặc điều kiện thời tiết

Sử dụng GPS: GPS (Global Positioning System) có thể được sử dụng để xác định tốc độ xe di chuyển bằng cách tính toán khoảng cách di chuyển và thời gian giữa hai vị trí liên tiếp của xe Tuy nhiên, độ chính xác của GPS có thể bị ảnh hưởng bởi môi trường và điều kiện tín hiệu

Sử dụng camera giám sát giao thông: Hệ thống camera giám sát giao thông có thể được sử dụng để xác định tốc độ xe dựa trên phân tích hình ảnh và theo dõi vị trí của xe qua các khung hình liên tiếp Kỹ thuật này yêu cầu đảm bảo rằng hệ thống có đủ số lượng và góc nhìn hợp lý để phát hiện và theo dõi các phương tiện

Sử dụng các cảm biến trên xe hơi: Nhiều xe hơi hiện đại được trang bị các cảm biến vận tốc như cảm biến vận tốc bánh xe hoặc cảm biến ABS Các cảm biến này giúp đo tốc độ của xe và cung cấp thông tin này cho hệ thống điều khiển và bảng đồng hồ trên xe

Sử dụng hệ thống V2X (Vehicle-to-Everything): Công nghệ V2X cho phép giao tiếp giữa các phương tiện và hạ tầng giao thông thông qua mạng di động Từ đó, thông tin về tốc độ và vị trí của các phương tiện có thể được trao đổi và sử dụng để xác định tốc độ di chuyển trên đường

Mỗi phương pháp có ưu điểm và hạn chế riêng, và việc sử dụng phương pháp nào phụ thuộc vào mục đích ứng dụng cụ thể, điều kiện môi trường và yêu cầu về độ chính xác Ngoài ra, kết hợp nhiều phương pháp có thể giúp cải thiện tính chính xác và độ tin cậy của việc xác định tốc độ xe di chuyển trên đường [3]

1.2.2 M ộ t s ố h ướ ng ti ế p c ậ n Để có thể xác định được tốc độ xe cần phát hiện được đối tượng chuyển động, trước hết bài toán đặt ra là phát hiện tất cả các chuyển động trong vùng camera theo dõi, sau đó phân tích và đưa ra những cảnh báo khác nhau khi đối tượng vào những khu vực giám sát Bài toán phát hiện chuyển động (Motion Detection) là bài toán cơ sở, mà từ đó xây dựng rất nhiều ứng dụng: hệ thống giám sát và đo tốc độ xe

Có rất nhiều cách tiếp cận bài toán phát hiện chuyển động khác nhau Nhưng quy về mức tổng quát, có ba phương pháp phát hiện chuyển động chính hiện nay là:

Phương pháp trừ nền - Background Subtraction, Phương pháp dựa vào sự biến đổi giá trị theo thời gian - Temporal Differencing và Phương pháp luồng quang học – Optical Flow, cụ thể như sau:

Trong những ứng dụng về thị giác máy tính, vấn đề cơ bản nhất là làm thế nào để phát hiện được các đối tượng chuyển động trong video và biết được đâu là phần nền không thay đổi (background) Để giải quyết được vấn đề này thì ta dùngphương pháp trừ nền, là một trong những phương pháp cơ bản nhất Ý tưởng chung của các phương pháp trừ nền là: Để phát hiện ra được các đối tượng chuyển động trong video chúng ta phải có được mô hình nền (background model) Mô hình này có thể được học qua nhiều frame ảnh nếu nền bị thay đổi, ngược lại ta có thể chọn một nền có sẵn nếu nền không bị thay đổi Sau đó ta sẽ nhận biết được đâu là phần nền, đâu là phần chuyển động [6]

Phương pháp trừ nền là phương pháp đơn giản nhất dùng để phát hiện chuyển động vì khá dễ dàng để cài đặt và tốc độ xử lý nhanh đáp ứng được cho các ứng dụng đòi hỏi xử lý thời gian thực hơn so với các phương pháp khác

Tuy nhiên phương pháp này sẽ cho kết quả không cao trong các trường hợp:

- Thay đổi độ sáng: thay đổi dần dần theo thời gian khi Camera đặt ngoài trời quay dữ liệu theo thời gian hoặc thay đổi đột ngột khi Camera quay dữ liệu bị ảnh hưởng bởi độ sáng từ ánh sáng mặt trời

- Thay đổi về chuyển động khi Camera lung lay hoặc các đối tượng nền daođộng với tần suất cao (bị ảnh hưởng bởi gió, người….)

- Thay đổi về thành phần cấu tạo nền

1.2.2.2 D ự a vào s ự bi ế n đổ i giá tr ị theo th ờ i gian:

Phương pháp này dựa vào sự biến đối của một giá trị ảnh theo thời gian để xác định đối tượng chuyển động (Ví dụ: Temporal Gradient – dựa trên biến đối của Gradient theo thời gian Khả năng chuyển động của đối tượng theo phương pháp này được đo bằng sự thay đổi tức thời của cường độ hình ảnh) Phương pháp này thích ứng với sự thay đổi của môi trường, nhưng nó bị phụ thuộc vào tốc độ và kích thước và số lượng đối tượng chuyển động Phương pháp này được áp dụng hiệu quả nhất trong trường hợp phát hiện và theo dõi một đối tượng chuyển động

Phương pháp này chỉ ra sự chuyển động dự kiến của đối tượng trong ảnh Phương pháp cho kết quả khá tốt với những ảnh đầu vào phức tạp Tuy nhiên, nó đòi hỏi độ phức tạp tính toán cao [6] Chính điều này đã tạo ra khó khăn trong việc áp dụng, triển khai thực tế

Tóm lại, một hệ thống giám sát, đo tốc độ phương tiện bằng camera có thể được mô tả bằng Sơ đồ tổng quát sau:

Chuỗi video đầu vào thu được từ camera giám sát

- Phát hiện đối tượng chuyển động

- Theo vết đối tượng chuyển động

- Tính tốc độ phương tiện

KẾT LUẬN CHƯƠNG 1

Chương 1 trình bày tổng quan về xử lý video bao gồm các khái niệm về video, phần tử ảnh, giới thiệu khái quát về bài toán xác định tốc độ xe, một số phương pháp xác định tốc độ xe và nêu ra được các chức năng chính của hệ thống giám sát, đo tốc độ phương tiện bằng camera Chương 2 sẽ trình bày các nội dung lý thuyết tương ứng với các bước xử lý trong quy trình đã xây dựng.

KỸ THUẬT XÁC ĐỊNH TỐC ĐỘ XE DỰA TRÊN PHÁT HIỆN CHUYỂN ĐỘNG

SƠ ĐỒ TỔNG QUÁT CỦA HỆ THỐNG

Phương pháp được trình bày nhằm đo tốc độ tức thì của các phương tiện bằng cách theo dõi đặc điểm chuyển động của chúng trong đầu ra video của một máy ảnh tĩnh Hệ thống này nhắm vào các khu vực đô thị do giới hạn tốc độ của các phương tiện Phương pháp đề xuất không phụ thuộc vào các đặc điểm hình ảnh của phương tiện như biển số xe hoặc đèn đuôi, điều này giúp thực hiện toàn bộ quy trình trong thời gian ngắn hơn và không cần phải khớp thêm các tham số hình ảnh Các phương tiện được phát hiện qua các khung hình liên tiếp sau đó được theo dõi và tốc độ tương ứng của chúng được tính toán bằng cách phân tích số khung hình cần thiết cho phương tiện vượt qua một khu vực được xác định trước (ROI) Phương pháp đề xuất bao gồm năm bước tuần tự bao gồm tiền xử lý, phát hiện phương tiện, theo dõi phương tiện và đo tốc độ, sau đó là một mô-đun phát hiện vi phạm

Hình 2.1: Lưu đồ các bước đo tốc độ phương tiện Đầu vào: Video thu được từ camera giám sát Đầu ra: Hình ảnh các phương tiện được phát hiện và tốc độ tương ứng

(1) Tiền xử lý (chuyển ảnh xám và xác định vùng quan tâm)

(2) Phát hiện phương tiện (trừ nền và biến đổi hình thái)

TIỀN XỬ LÝ VÀ HI ỆU CHỈ NH NÂNG CAO CHẤT LƯỢNG HÌNH ẢNH 16

Biến đổi hình thái gồm các phép toán phi tuyến tính (non-linear) tác động đến hình dạng hoặc hình thái của ảnh nhị phân Thuật toán này loại bỏ các điểm nhiễu và làm mịn hình ảnh [7]

Xử lý hình thái học cũng có thể được mở rộng cho hình ảnh thang độ xám Nó bao gồm những thao tác phi tuyến tính liên quan đến cấu trúc của các vị trí trong ảnh, phụ thuộc vào thứ tự pixel Kỹ thuật này phân tích một hình ảnh bằng cách sử dụng phần tử cấu trúc (structuring element) đặt ở những vị trí khác nhau trong hình ảnh và được so sánh với các pixel lân cận tương ứng Phần tử cấu trúc là một ma trận nhỏ với các giá trị 0 và 1

Hai thao tác cơ bản của quá trình xử lý hình thái học là Dilation (phép giãn) và Erosion (phép co)

Phép giãn thêm pixel vào ranh giới của đối tượng trong một hình ảnh Phép co loại bỏ các pixel khỏi ranh giới đối tượng

Số lượng pixel được xóa hoặc thêm vào hình ảnh gốc phụ thuộc vào kích thước của phần tử cấu trúc

Hình 2.2: Minh họa các phần tử cấu trúc

A: Phần tử có cấu trúc trùng với ảnh

B: Phần tử có cấu trúc giao với ảnh

C: Phần tử có cấu trúc không trùng, không giao với ảnh

Erosion (phép co) hay còn gọi là xói mòn là một trong hai toán tử cơ bản trong lĩnh vực hình thái toán học Nó thường được áp dụng trong những hình ảnh nhị phân tuy nhiên có một số phiên bản sẽ được áp dụng trên những hình ảnh xám

Mục đích của phương pháp này sẽ giúp:

- Loại bỏ những pixel nhiễu cô lập

- Loại bỏ những pixel nhiễu xung quanh đối tượng giúp cho phần viền (cạnh) của đối tượng trở nên mịn hơn

- Loại bỏ lớp viền (cạnh) của đối tượng giúp đối tượng trở nên nhỏ hơn và đặt những pixel viền đó trở thành lớp nền của đối tượng

Ta có ví dụ sau đây:

Dilation (phép giãn) là một kỹ thuật mở rộng hình ảnh Nó thêm số lượng pixel vào ranh giới của các đối tượng trong một hình ảnh Phần tử cấu trúc kiểm soát nó Phần tử cấu trúc là một ma trận của 1 và 0

Kích thước và hình dạng của phần tử cấu trúc xác định số lượng pixel nên được thêm vào hoặc xóa khỏi các đối tượng trong một hình ảnh

Nó là một ma trận của 1 và 0 Pixel trung tâm của hình ảnh được gọi là điểm gốc Nó chứa một hình ảnh A với một số nhân (B), có thể có bất kỳ hình dạng hoặc kích thước nào, thường là hình vuông hoặc hình tròn Ở đây hạt nhân

B có một điểm neo xác định Nó là trung tâm của hạt nhân

Trong bước tiếp theo, hạt nhân được phủ lên hình ảnh để tính toán các giá trị pixel tối đa Khi tính toán hoàn tất, hình ảnh được thay thế bằng một mỏ neo ở tâm Các vùng sáng hơn tăng kích thước làm tăng kích thước hình ảnh Mục đích của phương pháp này:

- Với những hình ảnh bị đứt nét có thể giúp nối liền ảnh lại

- Với những pixel nhiễu xung quanh đối tượng sẽ trở thành viền của đối tượng

- Giúp nổi bật đối tượng trong ảnh hơn

Ví dụ, kích thước của đối tượng tăng lên trong phần màu trắng; ở phía bên kia, kích thước của một đối tượng có màu đen sẽ tự động giảm xuống.

Thực hiện phép co (Erosion) trước sau đó mới thực hiện phép giãn nở (Dilation) Ứng dụng:

Phép toán mở (Opening) được ứng dụng trong việc loại bỏ các phần lồi lõm và làm cho đường bao các đối tượng trong ảnh trở nên mượt mà hơn

Thực hiện phép giãn nở (Dilation) trước sau đó mới thực hiện phép co (Erosion) Ứng dụng:

Phép toán đóng (Closing) được dùng trong ứng dụng làm trơn đường bao các đối tượng, lấp đầy các khoảng trống biên và loại bỏ những hố nhỏ

Hình 2.5: minh họa các phương thức biến đổi hình thái

2.2.5 Tô đầy vùng – Region fill Ảnh nhị phân thường là kết quả của các phép thực hiện phân ngưỡng hoặc phân đoạn ảnh xám hoặc ảnh màu đầu vào Những phép biến đổi này rất hiếm khi “hoàn hảo” do những nhân tố bên ngoài mà trong quá trình lấy mẫu ảnh chúng ta không kiểm soát được như cường độ sáng hay độ chói xuất hiện trong ảnh và nó có thể để lại những “lỗ hổng” sau khi thực hiện lấy ngưỡng hoặc phân đoạn ảnh Sử dụng các phép xử lý hình thái học để lấp đầy các lỗ hổng thực sự rất hiệu quả [7]

Hình 2.6: Minh họa tô đầy vùng

KỸ THUẬT PHÁT HIỆN XE TRONG VIDEO

Trong bước đầu tiên, cần thực hiện việc hiệu chuẩn và khởi tạo một số biến Việc chuyển đổi các khung hình video từ RGB sang chế độ xám có thể giảm số kênh xử lý

Bằng cách xác định Vùng quan tâm (ROI) để lọc các phần không quan trọng của cảnh quan, các phần không ảnh hưởng đến kết quả cuối cùng, giúp cho quá trình chính thực hiện với chi phí tính toán thấp hơn ROI được xác định trên làn đường có chiều dài và chiều rộng biết trước trong môi trường thực tế

Như trong Hình 2.7, vùng này nên có kích thước phù hợp để bao phủ toàn bộ khu vực xe, vị trí thích hợp tại những nơi có khả năng xuất hiện của các phương tiện - ví dụ như làn đường - và cũng có khả năng điều chỉnh hai yếu tố này để cấu hình và hiệu chuẩn Trong khuôn khổ đề án, mỗi ROI được đặt trong một làn đường đường duy nhất

A Hợp lý B Hẹp chiều rộng C Hẹp chiều dài D Quá rộng

NHẬN DIỆN PHƯƠNG TIỆN

Bước thứ hai là phát hiện phương tiện thông qua lịch sử chuyển động của chúng trong vùng quan tâm (ROI) Phương pháp trừ nền là một trong những kỹ thuật phổ biến nhất để phát hiện chuyển động của đối tượng Trong trường hợp này, mỗi khung hình được so sánh với một khung hình tĩnh (ảnh nền), sự khác biệt giữa các khung hình được hiển thị dưới dạng hình ảnh nhị phân Do đó, các pixel có giá trị khác biệt so với pixel tham chiếu được trích xuất và coi là các phần di chuyển Phương pháp này rất nhạy cảm với các thay đổi nhỏ, ví dụ lá cây chuyển động hoặc bất kỳ thay đổi ánh sáng đột ngột nào cũng có thể được coi là chuyển động

Do đó, khung hình tham chiếu cần được cập nhật để cải thiện vấn đề này Một trong những phương pháp mở rộng của phương pháp trừ nền thông thường là phương pháp Trừ nền hỗn hợp Gauss (MOG) [5], phụ thuộc vào sự kết hợp của nhiều khung hình thay vì chỉ một khung hình duy nhất Trong phương pháp này, đối với mỗi pixel nền, sử dụng một hỗn hợp của phân phối k Gaussian và một tham số trọng số để lưu trữ vòng đời của các pixel trong ảnh [2] Do đó, các pixel còn lại với thời gian lớn hơn một ngưỡng trong ảnh có nghĩa là chúng có khả năng cao là ảnh nền Trong khi đó, nếu pixel không thay đổi trong một khoảng thời gian được định nghĩa trước thì nó là một pixel nền chính Sự khác biệt giữa phương pháp trừ nền thông thường và kết quả trừ nền MOG được thể hiện trong hình

Hình 2.8 Kết quả của các phương pháp trừ nền:

A) Phương pháp trừ nền hỗn hợp Gaussian

B) Phương pháp thông thường với một khung tham chiếu tĩnh

Như được thể hiện trong Hình 2.8, hình dạng tổng thể của một phương tiện di chuyển trong hình ảnh nhị phân hoàn chỉnh được tạo thành từ nhiều phần riêng biệt do sự chênh lệch ánh sáng trong các khung hình khác nhau Trong một số phương pháp như Optical Flow, mỗi phần di chuyển được biểu thị bằng các vector chuyển động Cuối cùng, một tập hợp các vector được kết hợp thành một đối tượng duy nhất bằng phân tích tương đồng Trong phương pháp đề xuất, các biến đổi hình thái được sử dụng để biểu diễn một đối tượng duy nhất cho tiến trình phát hiện và theo dõi phương tiện Những biến đổi này là các phép toán toán học với hai đầu vào bao gồm một hình ảnh nhị phân và lõi (yếu tố cấu trúc) Trong số các biến đổi hình thái khác nhau, các hàm mở và đóng

(opening and closing) đã được sử dụng trong phương pháp này Phép toán Fill- holes hoặc flood-fill [1] được sử dụng để điền vào bên trong với các thành phần kết nối của một đối tượng bằng các pixel được định nghĩa trước với các tham số ánh sáng và tính chất tương tự nhau Trong phương pháp này, các phép toán closing, fill-holes and opening được sử dụng để tạo ra một hình dạng được điền vào đại diện cho một phương tiện tương ứng, như được thể hiện trong hình

Hình 2.9 Kết quả phát hiện phương tiện:

A) Sau khi thực hiện phép trừ nền bằng phương pháp MOG

B) Sau khi thực hiện biến đổi hình thái

Sau những phép toán này, mỗi đối tượng di chuyển - được biết đến là một vùng blob - được xem như là một phương tiện di chuyển trong vùng quan tâm ROI Các vùng blob này không phụ thuộc vào các đặc trưng hình ảnh của phương tiện Do đó, có thể là bất kỳ đối tượng di chuyển nào khác như người đi bộ hoặc động vật băng qua đường Để xử lý thách thức này và lọc ra các đối tượng không phải là phương tiện, ba bộ lọc tuần tự gồm maximum blob, ngưỡng và lọc theo quỹ đạo được sử dụng: a Maximum Blob Filtration

Module này tìm kiếm vùng chấm lớn nhất trong vùng quan tâm ROI, đại diện cho một phương tiện (có khả năng cao nhất)

Trong bước hiệu chuẩn, vùng quan tâm ROI được chọn trong một phần của ảnh bao phủ khu vực phương tiện Do đó, bằng cách loại bỏ các vùng chấm nhỏ hơn, xác suất của việc xác định đó là một phương tiện tăng lên Hình dưới cho thấy một ví dụ về hiệu quả của module này Chỉ những phương tiện di chuyển trong làn đường hiện tại và có diện tích vùng chấm lớn nhất được tìm thấy, còn các phương tiện khác có vùng chấm quan sát một phần được loại bỏ

Hình 2.10 : Kết quả của bộ lọc maximum blob:

B) Kết quả của phép trừ nền

C) Sau quá trình bộ lọc maximum blob b Lọc theo ngưỡng

Sau khi áp dụng bộ lọc đầu tiên, một số ngưỡng tối đa và tối thiểu cần được xác định cho hệ thống dựa trên một phần của kích thước ROI Ví dụ, nếu vùng chấm lớn nhất tìm thấy nhỏ hơn kích thước thông thường của một phương tiện hoặc tỷ lệ chiều rộng so với chiều cao của đối tượng nhỏ hơn một ngưỡng được xác định trước, các vùng chấm này nên bị loại bỏ Do đó, bằng cách sử dụng phương pháp lọc này làm bộ lọc tuần tự thứ hai, các phương tiện là xe mô-tô và người đi bộ cá nhân sẽ bị lọc ra và chỉ các vùng chấm có kích thước phương tiện hợp lý sẽ còn lại trên cảnh để tiếp tục quá trình xử lý Hình 2.11 cho thấy kết quả cuối cùng sau khi áp dụng bộ lọc này, trong đó xe mô-tô và người đi bộ bị loại bỏ

Hình 2.11: Kết quả của quá trình lọc theo ngưỡng:

B) Kết quả của phép trừ nền

C) Sau quá trình lọc theo ngưỡng c Lọc theo quỹ đạo

Trong một số tình huống, ví dụ như khi có nhiều người đi bộ đi cùng nhau và kích thước vùng chấm xuất hiện lớn hơn ngưỡng tối thiểu, chúng có thể không bị loại bỏ bởi hai bộ lọc trước Vì lý do này, bộ lọc theo quỹ đạo xem xét sự di chuyển tương ứng của các vùng chấm trong các khung hình tuần tự để loại bỏ các đối tượng không phải là phương tiện Bởi vì người đi bộ thường đi qua đường dành cho người đi bộ - nằm vuông góc với đường - họ được nhận dạng là các đối tượng không phải là phương tiện

Do đó, vị trí của mỗi vùng chấm được lưu trữ để thu được quỹ đạo của nó Hình 2.12 thể hiện hiệu quả của bước lọc này, trong đó vùng chấm xuất hiện không được coi là phương tiện do quỹ đạo không phù hợp

Cuối cùng, chỉ những vùng chấm di chuyển có khả năng cao là phương tiện sẽ còn lại trên các khung hình nhị phân và được gửi đến bước theo dõi (tracking) để tiếp tục các quy trình tiếp theo

Hình 2.12: Kết quả của quá trình lọc theo quỹ đạo

B) Kết quả của phép trừ nền

C) Sau khi áp dụng các quá trình lọc blob lớn nhất và theo ngưỡng D) Sau khi áp dụng quá trình lọc quỹ đạo.

KỸ THUẬT THEO DÕI XE TRONG VIDEO

Kết quả đầu ra của bước phát hiện - tức là vùng chấm của phương tiện bên trong ROI - cần được theo dõi trong các khung hình liên tiếp để phát hiện chuyển động Nếu phương tiện vừa mới vào ROI, có nghĩa là nó chưa được theo dõi, nó sẽ được gán nhãn bằng một VehicleID Ngoài ra, một biến FrameCounter được khởi tạo để lưu số khung hình tham chiếu đến sự hiện diện của phương tiện trong ROI Khi vùng chấm của phương tiện với cùng một VehicleID còn quan sát được trong ROI, trọng tâm ngang của mỗi vùng chấm được lưu giữ cho quá trình theo dõi tiếp theo và sự dịch chuyển của mỗi vùng chấm trong hai khung hình liên tiếp được tính toán theo đơn vị pixel Sự dịch chuyển không cố định do liên quan đến việc ảnh đầu vào, sự thay đổi hình dạng của vùng chấm theo thời gian và hiệu ứng phối cảnh của camera

Những yếu tố này cần được xem xét trong việc xác định tham số hiệu chuẩn để có thể cung cấp kết quả tính toán sự dịch chuyển chính xác Vì lý do này, một tham số ngưỡng hồi quy pc được sử dụng, để có cac phương án xử lý khác nhau đối với các phần khác nhau của vùng quan tâm Cuối cùng, trung bình của độ dịch chuyển và số khung hình FrameCounter được chuyển đến bước đo tốc độ Công thức thể hiện tính toán sự di chuyển theo đơn vị pixel [1]

Trong đó dpi là lượng di chuyển trong khung i so với khung trước đó và pc là hằng số hiệu chuẩn Ngoài ra, posi và posi-1 là các trọng tâm ngang của vùng chấm trong khung i và i-1, tương ứng Nếu phương tiện còn ở trong trong ROI, thao tác này được lặp lại Khi phương tiện rời khỏi vùng ROI, trung bình của các độ di chuyển được tính toán như được thể hiện trong Công thức:

Hình 2.13: Sơ đồ khối tổng quát của thuật toán theo vết phương tiện

Hình 2.14: Các mẫu kết quả theo vết phương tiện trên các khung hình khác nhau

KỸ THUẬT XÁC ĐỊNH TỐC ĐỘ XE DI CHUYỂN

Trong bước này, cần hai tham số bao gồm độ dịch chuyển và thời gian để tính toán tốc độ của phương tiện Mỗi vector di chuyển là một đo lường về tốc độ tức thời trong một khoảng thời gian tính bằng đơn vị pixel Để chuyển đổi đo lường này thành thang đo km/h, cần xác định hai hàm ánh xạ riêng biệt để chuyển đổi từ pixel sang mét và từ khung hình sang giây Vì kích thước của ROI có đơn vị pixel và hằng số hiệu chuẩn pc, mật độ pixel là: ratio=dp total /ROI Height (2.3)

Do đó, độ dịch chuyển được tính toán như sau Độ dịch chuyển (m)= dp total x ratio (2.4)

Trong khi đó, để tính thời gian bằng giây, cần các tham số liên quan đến thời gian bao gồm FrameCounter và fps (số khung hình trên giây) Do đó, thời gian tính bằng giây là:

Thời gian (s) = Frame_counter/fps (2.5)

Tốc độ của các phương tiện tính bằng km/h được tính bằng công thức:

Tốc độ (km/h)= (Độ dịch chuyển x 3600)/(thời gian x 1000) (2.6)

Tốc độ là trung bình của nhiều tốc độ tức thời của phương tiện bên trong ROI [1, tr8] Vì độ dịch chuyển của phương tiện trong ROI có phạm vi vài mét, sự khác biệt giữa tốc độ trung bình và tốc độ tức thời không quá nhiều.

PHÁT HIỆN VI PHẠM

Mỗi khu vực và vị trí có giới hạn tốc độ khác nhau, vận tốc của các phương tiện được so sánh với giới hạn tốc độ cho phép Như vậy, bằng cách phát hiện vi phạm tốc độ, hình ảnh của phương tiện được chụp làm bằng chứng cùng với thông tin về tốc độ và thời gian hiện diện trong vùng quan tâm (ROI)

Trong khu vực đô thị, giới hạn tốc độ thường là 50-70 km/h trong khi giới hạn này trên các khu vực cao tốc là 90-120 km/h.

KẾT LUẬN CHƯƠNG 2

Chương 2 đã trình bài chi tiết lý thuyết về một số kỹ thuật phục vụ phát hiện và đo tốc độ xe dựa trên phát hiện chuyển động theo quy trình đã trình bày trong chương 1 Cụ thể là một số kỹ thuật nhận diện phương tiện dựa trên phát hiện chuyển động, kỹ thuật theo vết đối tượng trong vùng quan tâm (ROI) và các công thức tính tốc độ xe.

THỬ NGHIỆM

PHÂN TÍCH BÀI TOÁN

Từ các phân tích tổng quan và các lý thuyết liên quan ở chương 2, đề án đề xuất hệ thống phát hiện chuyển động, theo vết phương tiện giao thông và tính tốc độ phương tiện gồm các bước như hình 3.1

Hình 3.1: Lưu đồ các bước xử lý để có thể xác định tốc độ xe Đầu vào: Video thu được từ camera giám sát Đầu ra: Hình ảnh các phương tiện được phát hiện và tốc độ tương ứng

(1) Tiền xử lý (chuyển ảnh xám và xác định vùng quan tâm)

(2) Phát hiện phương tiện (trừ nền và biến đổi hình thái)

Sau khi có dữ liệu đầu vào (luồng video từ camera IP hoặc file video) chương trình sẽ xử lý đoạn video để lấy tất cả khung hình

Tại bước đầu tiên, thực hiện chuyển ảnh xám để giảm số lượng kênh cần xử lý và xác định vùng quan tâm, thông thường là làn đường nơi có nhiều xe đang di chuyển

Với chức năng phát hiện phương tiện, chương trình sẽ thực hiện triển khai với phương pháp Trừ nền hỗn hợp Gauss (MOG), sau khi có mặt nạ phương tiện cần thực hiện tiếp các bước biến đổi hình thái để tạo ra một hình dạng được điền vào đại diện cho một phương tiện tương ứng Sau bước phát hiện phương tiện, ta sẽ được một đối tượng blob Việc đánh giá có chuyển động hay không sẽ được phân tích trên đối tượng blob này bằng cách so sánh trọng tâm ngang của blob trong các khung hình liên tiếp nhau Đồng thời, chương trình cũng hiển thị blob lên để tiện cho việc theo dõi và đánh giá Để thuận lợi trong quá trình thử nghiệm, đánh giá chương trình cũng cho phép cấu hình tùy biến các tham số của Trừ nền hỗn hợp Gauss (Số lượng khung hình trước đó sử dụng để tham chiếu, tỉ lệ nền, …), cấu hình các tham số biến đổi hình thái (Phép co, giãn, đóng, mở …) Ở bước tiếp theo, thực hiện theo vết phương tượng trong từng frame đến khi phương tiện rời khỏi vùng ROI 2 tham số cần thu thập là số lượng frame mà blob ở trong vùng ROI và trung bình độ dịch chuyển, tham số này được tính toán dựa trên trọng tâm ngang của đối tượng blob và sự dịch chuyển của blob trong hai khung hình liên tiếp được tính toán theo đơn vị pixel

Hai tham số quan trọng bao gồm độ dịch chuyển và thời gian đã trôi qua để tính toán tốc độ của phương tiện Dựa trên 2 tham số thu thập được từ bước trên ta thực hiện chuyển đổi đo lường thành thang đo km/h, do đó cần xác định hai hàm ánh xạ riêng biệt để chuyển đổi từ pixel sang mét và từ khung hình sang giây Sau quá trình chuyển đổi ta có được kết quả là tốc độ của phương tiện với đơn vị tính là km/h.

PHÂN TÍCH LỰA CHỌN MÔI TRƯỜNG VÀ CÔNG CỤ

Trong phạm vi đề án, chương trình thử nghiệm thuật toán với các tập dữ liệu có sẵn Federal University of Technology of Paraná (FUTP) dataset kết hợp với dữ liệu tự thu thập là một số video camera giao thông tại các ngã tư thuộc

TP Quy Nhơn Tập dữ liệu được thu thập trong nhiều hoàn cảnh khác nhau về ánh sáng và nền Tập dữ liệu bao gồm 20 video, với số lượng ảnh huấn luyện 54.657 ảnh được cắt ra từ các video trên, kích thước ảnh 460 x 460 Tốc độ xe chạy từ 40 đến 90 km/h trong các đoạn video thử nghiệm

OpenCV là dạng viết tắt của cụm từ “Open Source Computer Vision Library” – một thư viện nguồn mở dành cho Học máy và Thị giác máy tính OpenCV được tạo ra để phân tích và học máy theo thời gian thực cũng như xử lý hình ảnh, video Hiện bộ công cụ OpenCV còn được bổ sung tính năng tăng tốc GPU theo real-time Đối tượng chính của OpenCV đó là các ứng dụng theo thời gian thực (real-time applications) Ưu điểm OpenCV đó là nó cung cấp hơn 2.500 thuật toán cổ điển và hiện đại, tất cả đều được tối ưu hóa cho học máy và thị giác máy tính Thư viện nguồn mở này có giấy phép BSD, vì vậy nó được phát hành miễn phí dành cho cả mục đích học tập và thương mại

OpenCV tương thích với nhiều nền tảng như Windows, macOS, Linux, Android, iOS và các ngôn ngữ lập trình khác nhau như Java, Python, C hay C++ Thư viện này có khả năng tận dụng tối đa khả năng sẵn có của phần cứng, từ đó đảm bảo các ứng dụng máy tính đạt được hiệu suất cao nhất

OpenCV được sử dụng rộng rãi trong nhiều lĩnh vực khác nhau như:

- Kiểm soát và theo dõi tự động

- Robot và xe ô tô tự lái

- Phân tích và xử lý hình ảnh y học

- Tìm kiếm và khôi phục hình ảnh hoặc video

- Nghệ thuật sắp đặt tương tác

- Phim – cấu trúc 3D từ các chuyển động b EmguCV

Là một cross platform NET, một thư viện xử lý hình ảnh mạnh mẽ dành riêng cho các ngôn ngữ NET, cho phép gọi được chức năng của OpenCV là từ NET

Tương thích ngôn ngữ như: C#, VB, VC ++, Iron Python

Wrapper có thể được biên dịch bởi Visual Studio, Xamarin Studio và Unity

Có thể chạy trên Windows, Linux, Mac OS X, iOS, Android và Windows Phone.

EmguCV cũng là thư viện xử lý ảnh dành riêng cho C#, được xây dựng từ OpenCV và có phát triển thêm Thực ra EmguCV là lớp bao của OpenCV do đó EmgCV chỉ khác cách sử dụng, cấu trúc hàm…Trong EmguCV vẫn có thể sử dụng lại các hàm của OpenCV bằng câu lệnh Cvlnvoke

EmguCV được viết hoàn toàn bằng C#, có thể chạy trên bất kỳ nền tảng hỗ trợ bao gồm iOS, Android, Windows Phone, hệ điều hành Mac OS và Linux

EmguCV có thể được sử dụng với nhiều ngôn ngữ khác nhau như C#, VB.NET, C ++ và Iron Python

- Nhận dạng ảnh: nhận dạng khuôn mặt, các vật thể,

- Xử lý ảnh: khử nhiễu, điều chỉnh độ sáng,

- Hỗ trợ tài liệu XML và intellisense

- Có thể sử dụng class Image hoặc gọi thẳng xuống các hàm của OpenCV

3.2.3 Môi trường cài đặt Để cài đặt chương trình thử nghiệm, sử dụng máy tính phải có cấu hình như sau:

Máy tính phải có cấu hình: CPU Intel(R) Core(TM) i5-1135G7 @ 2.40GHz 2.42 GHz, RAM 8GB, bộ nhớ ngoài 512 GB

- Ngôn ngữ và môi trường cài đặt:

Hệ điều hành Windows 10 (64bit) Ngôn ngữ lập trình Visual C#trong môi trường Visual Studio 2017 và thư viện mã nguồn mở EmguCV

3.3 KẾT QUẢ THỬ NGHIỆM Đề án thực hiện thử nghiệm phát hiện và xác định tốc độ xe trên đường với dữ liệu thu thập thực tế trên một số tuyến đường của Thành phố Quy Nhơn Bên dưới là một số hình ảnh minh họa kết quả thử nghiệm theo từng bước của thuật toán được trình bày ở chương 2 và sơ đồ kỹ thuật được mô tả trong hình 3.1 Hình 3.2 là khung hình gốc bắt đầu đưa vào hệ thống

Dựa theo luồng thực hiện đã được mô tả, sau khi đọc khung hình hiện thời, chương trình sẽ thực hiện phát hiện chuyển động trong vùng ROI trên khung hình đó bằng cách sử dụng kết hợp phương pháp trừ nền MOG và các phép biến đổi hình thái Kết quả của việc phát hiện chuyển động là đối tượng blob trong đó tương ứng các vùng màu trắng là vùng chuyển động, còn vùng màu đen là vùng tĩnh như hình 3.3

Code MOG: mog = new BackgroundSubtractorMOG(mog_history, mog_nMixtures, mog_backgroundRatio, mog_noiseSigma); phân bố K Gauss =5

Hình 3.3: Kết quả sau khi áp dụng trừ nền

Code các phép biến đổi hình thái:

CvInvoke.MorphologyEx(mask, mask, Emgu.CV.CvEnum.MorphOp.Close, kernelCl, new Point(-1, -1), 1, Emgu.CV.CvEnum.BorderType.Default, new MCvScalar());

• mask: ảnh sau khi xử lý hình thái học

• MorphOp: loại hình thái học, ví dụ: MORPH.Close Có thể tham khảo các loại phép toán hình thái học trong MorphTypes.

• kernel: phần tử cấu trúc Có thể khởi tạo và sử dụng bằng cách sử dụng hàm getStructuringElement()

• anchor: điểm neo của phần tử cấu trúc kernel Giá trị mặc định là (-1, -

• borderType-borderValue: giới hạn biên của những điểm ảnh (Pixel) nằm ngoài kích thước của ảnh trong quá trình tính toán (hình 3.4) Kết quả xác định tốc độ xe được minh họa trong hình 3.5

Hình 3.4: Kết quả sau khi áp dụng phép biến đổi hình thái

Hình 3.5: Kết quả tính toán vận tốc xe

Trong chương trình thử nghiệm, đề án đã cài đặt minh chứng được những nội dung lý thuyết đã trình bày trong chương 2, đó là kỹ thuật xử lý phát hiện chuyển động nhằm mục tiêu xác định sơ bộ khung hình có đối tượng trong vùng ROI hay không, tiếp đến là các kỹ thuật theo vết và xác định tốc độ phương tiện Kết quả thử nghiệm được đánh giá dựa trên 2 pha: pha thứ nhất là phát hiện đối tượng chuyện động với số lượng đối tượng trong khùng hình trung bình tại mỗi thời điểm là 20 đối tượng, tốc độ trung bình thực tế từ 40 -90km/h, độ chính xác trung bình cho pha phát hiện đối tượng 376/389 xấp xỉ 96% Pha thứ 2 là xác định tốc độ xe trung bình tính trên chặn với độ sai lệch 10% so với vận tốc đúng theo thực tế bằng cách đo thủ công trung bình cho các đối của của các đoạn video được thử nghiệm

Trong các kết quả thử nghiệm, các kết quả phát hiện đối tượng chuyển động cũng đã đạt được những kết quả tương đối tốt (đối với tập dữ liệu Federal University of Technology of Paraná (FUTP) dataset) Tuy nhiên kỹ thuật phát hiện chuyển động phụ thuộc nhiều vào sự biến đổi của cảnh nền như ánh sáng, việc đối tượng di chuyển hay đứng yên v.v

Qua quá trình thử nghiệm, chương trình còn một hạn chế như sau:

- Cần tích hợp thêm module nhận diện biển số xe

- Không thích hợp áp dụng trong môi trường đô thị, với nhiều loại phương tiện di chuyển (con người, xe mô tô, ô tô v.v) vì có thể nhận nhầm khi nhiều phương tiện nhỏ di chuyển song song nhau

- Độ chính xác phụ thuộc vào việc xác định kích thước vùng ROI (thực hiện bằng thủ công và cảm quan)

- Trong một thời điểm chỉ theo vết và đo tốc độ của 1 phương tiện duy nhất

- Việc xác định đối tượng chuyển động, chỉ dừng lại ở việc xác định đối tượng chiếm vùng lớn nhất

Chương 3 đã trình bày bài toán thử nghiệm và các công cụ được sử dụng trong quá trình thử nghiệm cũng như dữ liệu được phân tích áp dung Kết quả thự nghiệm được đánh giá trên bài toán xác định tốc độ xe dựa trên phát hiện chuyển động Kết quả thử nghiệm cho thấy kỹ thuật đề xuất của đề án phát hiện đối tượng chuyển động và tính toán ước lượng tốc độ xe trung bình bước đầu khá tốt.

KẾT LUẬN CHƯƠNG 3

Chương 3 đã trình bày bài toán thử nghiệm và các công cụ được sử dụng trong quá trình thử nghiệm cũng như dữ liệu được phân tích áp dung Kết quả thự nghiệm được đánh giá trên bài toán xác định tốc độ xe dựa trên phát hiện chuyển động Kết quả thử nghiệm cho thấy kỹ thuật đề xuất của đề án phát hiện đối tượng chuyển động và tính toán ước lượng tốc độ xe trung bình bước đầu khá tốt.

Ngày đăng: 25/03/2024, 14:52

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w