Yêu cầu thg 3 24, 2020 9:53 SA 586 0 2
  • 586 0 2
+1

tính khoảng cách tương đồng giữa 2 vector.

Chia sẻ
  • 586 0 2

Xin chào mọi người, em có câu hỏi về sử lý ảnh, muốn tham khảo ý kiến ạ. trước hết thì e có một ảnh như dưới đây.

Mục tiêu của e là cần tìm ra bước ảnh tương đồng, e mới biết đến cách đánh index trong thư viện faiss , nhưng e muốn tìm xem có bao nhiêu thứ khác mình có thể làm với nó mà ko dùng đến thằng faiss kia mong mọi người cho em xin ý kiến, càng nhiều càng tốt , cảm ơn mọi người đã dành sự quan tâm. !

2 CÂU TRẢ LỜI


Đã trả lời thg 3 24, 2020 11:10 SA
Đã được chấp nhận
+4

Theo mình tìm hiểu, thì tìm ảnh tương đồng thì sẽ theo mô hình dưới. Screenshot from 2020-03-24 17-37-33.png

Với bài toán dữ liệu cơ sở dữ liệu nhỏ, bạn có thể đo độ tương đồng bằng các lấy vector đặc trưng của ảnh cần truy xuất trừ đi vector đặc trưng của từng ảnh trong cơ sở dữ liệu, rồi sắp xếp chọn ra những cái nhỏ nhất. Nhưng với cơ sở dữ liệu lớn thì bạn có thể tìm hiểu Locality Sensitive Hashing.

Với trích xuất đặc trưng nếu không dùng deep learning, bạn có thể dùng color histogram(1995), Histogram of oriented gradients Histogram of oriented gradients, gist descriptor,...Bạn có thể tham khảo 1 bài viết chi tiết với dùng thư viện OpenCV: https://medium.com/machine-learning-world/feature-extraction-and-similar-image-search-with-opencv-for-newbies-3c59796bf774

Nếu dùng deep learning thì bạn có thể tham khảo các bài báo bên dưới mình tim được với Deep mình không hiểu rõ 😅.

Chia sẻ
thg 3 24, 2020 2:10 CH

@nguyen.tien.datb Trả lời có tâm quá em ơi 😃) 😃)

Avatar Nguyễn Tiến Đạt @nguyen.tien.datb
thg 3 24, 2020 2:21 CH

@QuangPH Em cũng có lần cần tìm hiểu về tìm ảnh tương đồng nên có lưu lại mấy trang tham khảo ạ 😀

Avatar Ming Lee @manhduydoan
thg 3 24, 2020 2:32 CH

@nguyen.tien.datb rất chi tiết luôn, cảm ơn bạn nhé.

Đã trả lời thg 3 24, 2020 1:10 CH
+3

Theo mình cách đơn giản nhất là bạn encode các ảnh ra thành các vector rồi dùng kNN, kNN sẽ so sánh liệu đó với tất cả dữ liệu trọng tập huấn luyện và chọn ra k dữ liệu gần giống nhất. Trong k dữ liệu đó, kNN sẽ xem xét xem loại nào là loại chiếm đa số --> và sẽ đưa ra kết luận rằng tập dữ liệu cần xác định thuộc loại đó:

https://laptrinha2z.blogspot.com/2015/10/giai-thuat-k-lang-gieng-gan-knnk.html

Chia sẻ
Avatar Ming Lee @manhduydoan
thg 3 24, 2020 2:35 CH

@trungson077 đúng là mình làm như vậy luôn, dựa trên tư tưởng KNN, làm xong rồi, mình băn khoăn có thể xài thêm những pp nào khác để mình tham khảo và áp dụng luôn, rất cảm ơn bạn đã góp ý. !

Avatar Dark Knight @trungson077
thg 3 24, 2020 2:57 CH

@manhduydoan Mình thấy có 2 phương pháp phổ biến nhất để phân loại là dùng kNN và SVM, hoặc bạn có thể dùng thư viện annoy hoặc hnswlib bản chất 2 thằng này cũng là nearest neighbors.

https://github.com/nmslib/hnswlib

https://github.com/spotify/annoy

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí