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