Xe đếm từ video


10

Tuyên bố miễn trừ trách nhiệm : Tôi đã đăng câu hỏi này lên StackOverFlow nhưng được biết rằng nó phù hợp hơn ở đây.

Tôi hơi mới đối với việc xử lý hình ảnh vì vậy tôi muốn hỏi bạn về việc tìm giải pháp tối ưu cho vấn đề của tôi, không giúp ích gì cho mã. Tôi không thể nghĩ ra một ý tưởng hay nhưng vì vậy muốn hỏi lời khuyên của bạn.

Tôi đang làm việc trên một dự án sử dụng OpenCV để đếm các phương tiện từ tệp video hoặc máy ảnh trực tiếp. Những người khác làm việc trong một dự án như vậy thường theo dõi các đối tượng chuyển động sau đó đếm chúng nhưng thay vào đó, tôi muốn làm việc với một quan điểm khác; yêu cầu người dùng đặt ROI (Vùng quan tâm) trên cửa sổ video và chỉ hoạt động cho vùng này (vì một số lý do, không muốn xử lý toàn bộ khung và tăng hiệu suất), như được thấy dưới đây. (Người dùng có thể đặt nhiều ROI và người dùng được yêu cầu đặt chiều cao của ROI khoảng hai lần so với một chiếc xe bình thường theo tỷ lệ.)

bức tranh 1

Tôi đã thực hiện một số tiến bộ cơ bản cho đến nay, như cập nhật nền, bộ lọc hình thái, ngưỡng và lấy đối tượng chuyển động dưới dạng hình ảnh nhị phân như dưới đây.

hình2

Sau khi thực hiện chúng, tôi đã cố gắng đếm các pixel trắng của khung nền trước ngưỡng cuối cùng và ước tính đó có phải là xe hơi hay không bằng cách kiểm tra tổng số pixel trắng (Tôi đặt giới hạn dưới bằng phép tính tĩnh bằng cách biết chiều cao của ROI) . Để minh họa, tôi đã vẽ một đồ họa mẫu:

hình3

Như bạn có thể thấy, thật dễ dàng để tính toán các pixel trắng và kiểm tra xem nó có vẽ đường cong theo thời gian hay không và xác định xem một chiếc xe hơi hay thứ gì đó giống như tiếng ồn.

Vấn đề

Tôi đã khá thành công cho đến khi hai chiếc xe vượt qua ROI của tôi cùng một lúc. Thuật toán của tôi không chính xác tính chúng là một chiếc xe. Tôi đã thử các cách tiếp cận khác nhau cho vấn đề này và tương tự như phương tiện dài này nhưng tôi chưa tìm được giải pháp thỏa đáng.

Câu hỏi

Có thể xử lý tác vụ này bằng cách tiếp cận đếm giá trị pixel này không? Nếu không, bạn đề nghị gì?


Vấn đề của bạn là lý do mọi người sử dụng theo dõi. Ngoài ra, bạn có muốn những chiếc xe đang di chuyển cùng nhau (giả sử, một chiếc xe có rơ moóc) được tính là một hoặc hai chiếc?
Emre

Trước tiên, cảm ơn cho phiên bản. Tôi không mong đợi độ chính xác% 100, những chiếc xe có rơ moóc có thể bị bỏ qua. Nhưng nếu đó là hai chiếc xe riêng biệt đi rất gần nhau, tôi cần làm cho chương trình phân biệt cả hai, nhưng tôi không biết.
Horizon1710

Câu trả lời:


5

Bạn có thể theo dõi 10-15 khung hình cuối cùng và đếm số pixel trắng của các khung hình này. Bạn có thể phân biệt nếu đó là một chiếc xe hay không, vì đồ thị sẽ cao trong 10-15 khung hình, bạn sẽ có thể nói rằng đó là một chiếc xe nếu không nó là tiếng ồn.

Để đếm nhiều ô tô ở nhiều làn đường, bạn có thể kiểm tra cột pixel một cách khôn ngoan, ý tôi là theo chiều dọc. Hiện tại, bạn phải kiểm tra các pixel theo chiều ngang cho các pixel trắng.


Có bạn đúng về việc kiểm tra các đường thẳng đứng nhưng làm thế nào? Tôi có thể xác định điểm vào của xe bằng cách kiểm tra dòng ROI đầu tiên của mình không?
Horizon1710
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.