2013-11-28 13 views
5

Tôi đang cố gắng thực hiện đối sánh khối âm thanh nổi mà không cần sử dụng OpenCV hoặc các thư viện xử lý hình ảnh khác. Tất cả các hướng dẫn, sách, bài thuyết trình, vv chỉ dạy cách tiếp cận rất cơ bản để so sánh các khối trong hình ảnh nhưng kết quả rất xấu. Tôi đọc một số giấy tờ như một từ K.Konolige, đó là cơ sở của thuật toán trong OpenCV, nhưng tôi vẫn dường như bỏ lỡ một cái gì đó quan trọng.Kết quả Xấu với Khớp Khối Stereo Cơ bản (không có OpenCV)

Những gì tôi đang làm bây giờ:

  1. Áp dụng Sobel sang trái và hình ảnh bên phải.
  2. Đỗ khối phù hợp với
    • Chọn một (9x9) khối xung quanh một điểm ảnh trong hình ảnh bên trái và so sánh với các khối trong cùng hàng của hình ảnh bên phải (lên đến tối đa là 80 pixel bên phải của khối ban đầu)
    • Tìm một với phù hợp nhất (sử dụng tổng SAD sự khác biệt tuyệt đối)

sự chênh lệch kết quả là bao nhiêu bước tôi đã phải đi đúng để tìm ra phù hợp nhất.

Sau khi đọc giấy Konolige tôi đã thực hiện Kiểm tra bên trái, sau khi bạn đã tìm thấy kết quả phù hợp nhất, bạn tìm kiếm kết quả phù hợp nhất của hình ảnh bên phải ở hình ảnh bên trái và chỉ chấp nhận nó. ban đầu của bạn được tìm kiếm hoặc ngay bên cạnh nó.

Đồng thời thêm một dấu kiểm để một pixel chỉ có thể được đối sánh một lần, sử dụng pixel bitfield sẽ bị bỏ qua trong các tìm kiếm nếu trước đó chúng đã được so khớp với pixel.

Kết quả không có vẻ rất sai nhưng rất thưa thớt.

Tôi không thêm được gì? Một cái gì đó mọi người dường như biết nhưng không được viết ra. Tôi có cần thêm một số loại nội suy không?

Mọi trợ giúp đều được đánh giá cao!

Thông tin nhập của tôi là Cặp âm thanh nổi Tsukuba.

Kết quả tìm thấy trên web (2nd là OpenCV BM, 3rd rõ ràng là SAD BM từ Tác giả blog)

http://cseautonomouscar2012.files.wordpress.com/2012/11/111412_2001_comparisono1.png

Trả lời

3

Đó là điều bình thường mà kết quả của bạn là thưa thớt, bởi vì thuật toán của bạn là thưa thớt!

Hãy tua lại câu chuyện một chút:

  • trong bước đầu tiên của bạn, bạn áp dụng một máy dò cạnh Sobel. Những gì bạn làm ở đây là trích xuất một tập hợp các tính năng thưa thớt là các cạnh của hình ảnh;
  • sau đó bạn áp dụng kết hợp khối trên kết quả: những gì bạn thực sự làm là do đó khớp các cạnh và do đó khớp với các đối tượng địa lý thưa thớt.

Triển khai BM cổ điển hoạt động trên các bản vá cường độ hình ảnh (đây là lý do cân bằng độ sáng), ví dụ: lấy SSD/SAD/tương quan cường độ pixel.

Ngoài ra, BM hoạt động, nhưng không tốt lắm với hình ảnh khó. Các hàm chi phí mạnh (như tương quan chuẩn hóa) thường là cần thiết thay vì SAD. Và hãy cẩn thận khi bạn so sánh kết quả của mình với OpenCV: OpenCV đề xuất thực hiện chống lại BM được gọi là SGBM (đối với BM bán toàn cầu). Trong trường hợp này, một thuật ngữ bổ sung thực thi rằng sự chênh lệch của các pixel lân cận cũng gần. Đây được gọi là một đặn hạn chế và giúp theo hai cách:

  1. nó giới hạn tiếng ồn trong kết quả đầu ra (nếu sự chênh lệch của một điểm ảnh là một outlier, nó được lấy ra và thay thế bằng một giá trị suy ra từ nó người hàng xóm);
  2. cho phép truyền các kết quả tốt vào các khu vực mà thuật toán không có manh mối để suy ra kết quả tốt. Đây là trường hợp điển hình với đối sánh cạnh: bạn nhận được ước tính chênh lệch tốt về tập hợp các cạnh và bạn cho phép cụm từ thông dụng truyền bá ước tính tốt này lên các vùng phẳng (ít kết cấu và cạnh ít).
Các vấn đề liên quan