Hiểu các tính năng cơ bản độc lập mạnh mẽ nhị phân (bản BRIEFật)


14

Làm thế nào các mô tả trong thuật toán BRIEF khớp với nhau?

Làm thế nào là hình ảnh mẫu được tìm thấy trong hình ảnh khác? Làm thế nào để chúng ta so sánh các mô tả? Tôi đã đọc bài viết đó nhưng không hiểu làm thế nào họ đã làm nó.

Họ đã viết rằng họ đã so sánh các mô tả bằng cách sử dụng khoảng cách Hamming, nhưng làm thế nào là bất biến đối với những thay đổi về độ rọi, kích thước, v.v.

Câu trả lời:


15

Trước hết, không có thứ gọi là 'mẫu' trong bài viết này - từ 'mẫu' có nghĩa khác trong Thị giác máy tính.

Phương pháp được sử dụng trong bài viết này là tương đối đơn giản. Hãy để tôi phá vỡ nó xuống cho bạn. Có ba điều quan trọng mà bạn cần làm khi thực hiện các tác vụ như nhận dạng đối tượng, khớp hình ảnh, ghép hình ảnh và các thao tác tương tự khác, sử dụng Tính năng cục bộ

Điều quan trọng đầu tiên là Phát hiện; trong bước này bạn muốn phát hiện các điểm ưa thích hoặc các điểm chính, và điều đó có nghĩa là bạn muốn chọn các điểm cục bộ (về cơ bản là các bản vá nhỏ) mà bạn nghĩ là thú vị trong hình ảnh, có nhiều cách để làm điều đó; bài viết này không đóng góp trong lĩnh vực này. Tuy nhiên, có vẻ như họ sử dụng trình phát hiện tính năng SURF và các điểm chính của CenSurE (bạn có thể tra cứu họ nếu bạn muốn biết thêm về họ, tôi sẽ không nói về bước này ngoại trừ việc họ sử dụng các tính năng như độ dốc và vì vậy, điều đó có nghĩa là nếu bạn có một bức ảnh, không chắc rằng một điểm ở giữa bầu trời sẽ được chọn làm điểm quan tâm, bởi vì các pixel xung quanh điểm đó đều có cùng cường độ, những thứ 'bận rộn' có xu hướng được chọn làm điểm quan tâm (ví dụ: bảng / cạnh tòa nhà / góc)).

Sau khi phát hiện xong, Mô tả tính năngsau Bạn biết các điểm thú vị trong hình ảnh và bây giờ bạn muốn mô tả chúng (về cơ bản bạn muốn mô tả các điểm / bản vá xung quanh các điểm thú vị). SIFT là một mô tả tính năng phổ biến. Trong bài báo này, họ đã đưa ra một cái mới, được gọi là BRIEF. BRIEF dựa trên so sánh, vì vậy, giả sử chúng ta có một bản vá (50 pixel x 50 pixel), chúng ta chọn hai điểm và so sánh cường độ của hai điểm, nếu điểm đầu tiên lớn hơn điểm thứ hai, chúng ta sẽ gán giá trị ' 1 ', khác' 0 ', chúng tôi làm điều đó cho một số cặp và chúng tôi kết thúc bằng một chuỗi các giá trị boolean. Bây giờ câu hỏi lớn là "làm thế nào để bạn chọn cặp điểm?", Trong bài báo họ giải thích 5 cách, tương đối giống nhau, tôi sẽ mô tả cách đầu tiên. Những gì bạn làm là bạn thống nhất (xác suất bằng nhau) chọn một điểm từ -S / 2 đến S / 2, trong ví dụ của chúng tôi, chúng tôi đã nói rằng kích thước bản vá là 50, vì vậy chúng tôi chọn một điểm trong khoảng từ -25 đến 25. Giả sử rằng tọa độ 0,0 nằm ở trung tâm của bản vá. Vì vậy, đây là một ví dụ;

Chúng tôi muốn chọn cặp đầu tiên, mỗi điểm bao gồm tọa độ (X, Y) để chúng tôi chọn thống nhất tọa độ X của điểm đầu tiên, sau đó tọa độ Y của điểm đầu tiên, giả sử đó là (10, -1) , bây giờ là điểm thứ hai; chúng tôi chọn thống nhất tọa độ X cho điểm thứ hai và tọa độ Y cho điểm thứ hai, giả sử nó (-2,20), bây giờ chúng tôi nhận được các giá trị cường độ cho từng điểm và xem điểm nào có giá trị cường độ lớn hơn - nếu đầu tiên lớn hơn, chúng ta gán giá trị boolean đầu tiên là '1', nếu không, chúng ta gán '0'. Chúng tôi làm điều đó cho nhiều cặp, và chúng tôi kết thúc với một vectơ các giá trị boolean.

* Điểm rất quan trọng: Tôi giả sử điều này hoạt động, bạn sẽ phải chỉ định giá trị hạt giống trước trình tạo ngẫu nhiên. Điều đó có nghĩa là bạn muốn chọn cùng một giá trị cho mỗi bản vá - điều này cực kỳ quan trọng bởi vì khi bạn so sánh / so sánh các bản vá, toàn bộ hệ thống sẽ bị hỏng nếu chúng không được chọn chính xác theo cùng một cách. - hy vọng điều này sẽ có ý nghĩa khi bạn đọc bước phù hợp.

Vì vậy, chúng tôi làm điều đó cho từng điểm quan tâm được phát hiện bởi máy dò. Đối với mỗi điểm quan tâm, chúng ta sẽ nhận được một vectơ các giá trị boolean.


Bây giờ để khớp hai hình ảnh ( bước thứ ba; khớp ), chúng tôi thực hiện chính xác điều tương tự cho hình ảnh khác, chúng tôi phát hiện, sau đó mô tả bằng BRIEF. Ví dụ: giả sử chúng tôi có 10 điểm quan tâm trong mỗi hình ảnh (điều này luôn có thể hoạt động nếu chúng tôi nhận được 10 điểm thú vị nhất trong mỗi hình ảnh), chúng tôi sử dụng BRIEF để mô tả mỗi bản vá bằng cách sử dụng 50 cặp, vì vậy mỗi hình ảnh sẽ được mô tả bằng 10 vectơ của 50 giá trị boolean.

Để so sánh hai hình ảnh, chúng tôi tìm hàng xóm gần nhất của mỗi vectơ từ hình ảnh đầu tiên với hình ảnh khác từ hình ảnh thứ hai. Chúng tôi sử dụng khoảng cách Hamming khá nhanh, ví dụ về khoảng cách hamming

hammingDistance ((0, 1, 1), (0, 0, 0)) = 2

hammingDistance ((0, 1, 1), (0, 1, 1)) = 0

hammingDistance ((0, 1, 1), (1, 0, 0)) = 3

hammingDistance ((0, 1, 1), (1, 1, 1)) = 1

Về cơ bản có bao nhiêu tương ứng sai

Mong rằng sẽ giúp


Cảm ơn bạn rất nhiều, tôi có thể hiểu thuật toán. Nhưng tôi vẫn còn một số câu hỏi, làm thế nào về affine, thay đổi quan điểm và thay đổi chiếu sáng? Chuỗi bit sẽ tương tự trong trường hợp nếu có sự thay đổi trong chiếu sáng hoặc trong phối cảnh?
châm ngôn

Nếu lượng thay đổi độ rọi bằng nhau cho tất cả các pixel, vâng, nó vẫn hoạt động, nếu nó khác nhau từ pixel này đến pixel (một số pixel tăng sáng, khác giảm), thì đó là một vấn đề. Sự ảnh hưởng dường như chỉ hoạt động tốt (dựa trên kết quả của họ), nhưng nó chắc chắn sẽ đạt đến điểm dừng hoạt động (thực tế là trong kết quả của họ (Hình 3) họ cho thấy - bạn có thể tải xuống hình ảnh và xem Tường 1 | 2, Tường 1 | 3 tương ứng với). Phương pháp của họ không phải là bất biến xoay vòng (điều đó không quá khó nhìn) và họ đề cập rõ ràng đến điều đó.
Roronoa Zoro

Cảm ơn bạn đã giải thích của bạn. Tôi thực sự hiểu rất rõ mô tả BRIEF.
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.