Làm cách nào tôi có thể tìm thấy các bức ảnh trùng lặp trong một nhóm dữ liệu rất lớn (hàng chục đến hàng trăm hợp đồng biểu diễn)?


16

Bất cứ ai cũng có thể đề xuất một tiện ích phát hiện sao chép ảnh tốt, hoạt động tốt khi tôi xử lý khoảng 100gb dữ liệu (được thu thập qua nhiều năm)?

Tôi thích cái gì đó hoạt động trên Ubuntu.

Cảm ơn trước!

Chỉnh sửa: Có công cụ nào giúp tôi sắp xếp lại bộ sưu tập của mình và xóa các bản sao, sau khi chúng được phát hiện không?

Edit2: Phần khó là tìm hiểu phải làm gì khi tôi có đầu ra bao gồm hàng ngàn tệp trùng lặp (chẳng hạn như đầu ra của fdupes).

Không rõ ràng nếu tôi vẫn có thể xóa một thư mục một cách an toàn (tức là nếu một thư mục có thể chứa các tệp duy nhất), thư mục nào là tập hợp con của các thư mục khác, v.v. Một công cụ lý tưởng cho vấn đề này sẽ có thể xác định sao chép tệp và sau đó cung cấp một phương tiện mạnh mẽ để cơ cấu lại các tệp và thư mục của bạn. Thực hiện hợp nhất bằng cách liên kết cứng (như fslint hiện) thực sự giải phóng không gian đĩa nhưng nó không giải quyết được vấn đề tiềm ẩn dẫn đến sự trùng lặp để bắt đầu với - tức là tổ chức tệp / thư mục xấu.


Cũng xem những câu hỏi liên quan này trên AskUbfox , unix.stackexchangesuperuser .
BioGeek

Câu trả lời:


7

ImageMagick để giải cứu. Tôi nghĩ rằng bước đầu tiên cho bất kỳ giải pháp là giảm kích thước bộ sưu tập của bạn. Nếu bạn muốn so sánh các bức ảnh theo nội dung của nó , đặc biệt là khi một số phiên bản được sửa đổi một chút của nhau, một khởi đầu rất tốt là giảm chúng thành hình thu nhỏ và sau đó so sánh các hình thu nhỏ. Điều này đặc biệt hữu ích khi bạn muốn tìm những bức ảnh gần giống nhau và muốn "bỏ qua" những khác biệt không quan trọng trong quá trình so sánh.

Đề nghị của tôi là, ở mức cao, rằng bạn:
1- Sử dụng công cụ giả mạo của ImageMagick để giảm ảnh xuống hình thu nhỏ. Điều này sẽ mất một chút thời gian nhưng nó sẽ làm cho các bước so sánh thực tế nhanh hơn và chính xác hơn nhiều.
2- Sử dụng công cụ so sánh của ImageMagick cho phép bạn đặt ngưỡng để so sánh, tức là nó cho phép bạn tìm thấy những bức ảnh giống nhau đến 85%. Bạn sẽ muốn thực hiện một thử nghiệm có kiểm soát để tìm ra giá trị ngưỡng mà bạn thích nhất.


Tôi thực sự thích ý tưởng làm hình thu nhỏ đầu tiên. Nó làm gì khi bạn đã tìm thấy các bản sao? Nó chỉ hiển thị một danh sách? Tôi có 10 ngàn bản sao và một GUI đẹp để giúp giải quyết những thứ này sẽ rất hữu ích.
Fasterz

2
Vì bạn sử dụng Ubuntu, bạn tự động có quyền truy cập vào một loạt các công cụ chuyên dụng, mỗi công cụ giải quyết một nhiệm vụ rất cụ thể như 2 nhiệm vụ tôi đã đề cập. Đó là một trò chơi Lego, bạn có thể làm bất cứ điều gì bạn muốn, bạn chỉ cần ghép các mảnh lại với nhau. Về mặt kỹ thuật, bạn cung cấp 2 ảnh cho công cụ 'so sánh' và nó sẽ cho bạn biết bao nhiêu ảnh này giống với ảnh kia. Một cách để giải quyết vấn đề của bạn là nhóm tất cả các ảnh tương tự vào các thư mục để bạn có thể truy cập chúng để lọc ra các thông tin sai. Sau đó, bạn chạy 'so sánh' một lần nữa trên các dương tính giả và lặp lại quy trình cho đến khi tất cả nằm ở vị trí chính xác của chúng.
cody

4

Trình xem / tổ chức ảnh nguồn mở Geeqietính năng Tìm bản sao mạnh mẽ . Nó có thể sử dụng một số chiến lược khác nhau để tìm các bản sao:

  • Tên tệp (trường hợp nhạy cảm hoặc không nhạy cảm)
  • Kích thước tập tin
  • Ngày nộp đơn
  • Kích thước hình ảnh
  • Tổng kiểm tra MD5.
  • Nội dung hình ảnh tương tự (đến một số ngưỡng)

Điều này đưa ra một danh sách kết quả có thể bao gồm các hình thu nhỏ để bạn có thể xác nhận bằng tay.

Đây sẽ có thể được làm chậm cho hàng ngàn tập tin, nhưng tôi nghĩ rằng chỉ sử dụng nó và để cho nó chạy trong một vài ngày hoặc bất cứ điều gì có lẽ là nỗ lực ít hơn tổng thể hơn việc tìm kiếm hoặc làm một cái gì đó phù hợp cho trường hợp - trừ khi trận đấu checksum là tất cả các bạn cần.


Nghe hay đấy. Nó làm gì khi bạn đã tìm thấy các bản sao? Nó chỉ hiển thị một danh sách? Tôi có 10 ngàn bản sao và một GUI đẹp để giúp giải quyết những thứ này sẽ rất hữu ích.
Fasterz

Nó hiển thị chúng trong một cửa sổ GUI.
mattdm

3

Có một tiện ích nhỏ gọi là "fdupes" có thể làm những gì bạn muốn?

Ngoài ra còn có một tiện ích khác gọi là "fslint" mà bạn có thể muốn dùng thử. (Cái này có GUI).


Tôi chỉ thử fslint trên một bộ ảnh nhỏ hơn (vài gig hoặc hơn) và thật bực bội khi nó chỉ ngồi đó và quay. Không có chỉ số tiến độ, ước tính thời gian còn lại, không có gì.
Fasterz

1
Những công cụ này xuất hiện để tìm kiếm các tập tin giống hệt nhau. Ngay cả một hình ảnh (pixel cho pixel) giống hệt nhau có thể là nội dung tệp khác nhau. Tôi đoán bạn muốn ghép không chỉ cùng một hình ảnh giống nhau, mà còn làm như vậy ở các định dạng và kích cỡ khác nhau, bao gồm cả các loại cây trồng và xử lý khác mà bạn đã thực hiện, chẳng hạn như để thu thập tất cả các biến thể của cùng một ảnh trong một danh mục. Đây sẽ là một so sánh mềm mại của các hình ảnh có yếu tố phù hợp với độ tin cậy và có thể phù hợp với các hình ảnh khác nhau của cùng một cảnh.
Skaperen

@Skaperen Những gì bạn đề xuất là tuyệt vời, nhưng các công cụ như vậy có tồn tại cho Ubuntu không? Tôi đã thấy một cái được đề cập ở đâu đó cho Windows - nhưng dường như có một giao diện gớm ghiếc .. vv
Fasterz

ImageDupless là một ứng dụng windows sẽ chụp những bức ảnh trông giống nhau, nhưng có một số khác biệt. Nó sẽ bắt được một số phép quay, cắt, thay đổi kích thước, thay đổi màu sắc, hình mờ, v.v ... bạn phải quét thư viện của mình và cho biết mức độ khác nhau mà bạn chấp nhận và nó sẽ hiển thị cho bạn các tệp. NHƯNG nó sẽ cực kỳ cồng kềnh đối với hàng trăm tệp và hàng ngàn tệp sẽ rất tệ. Tôi cũng đang tìm kiếm một linux tương đương với ImageDupless. Một ứng dụng thực hiện wavelet hoặc một số phép thuật hình ảnh khác để biết khi nào hình ảnh tương tự nhau.
Therealstubot

Đọc các tùy chọn trang man cho fdupes- có một tùy chọn để xóa các bản sao. Askubfox.com/a/476732
rrauenza

1

dupeGuru Picture Edition là một công cụ tìm hình ảnh trùng lặp có thể tùy chỉnh cho Windows, Mac OS X và Linux.

Có một vài phiên bản dupeGuru (phiên bản tiêu chuẩn, âm nhạc và hình ảnh) và phiên bản hình ảnh cho phép bạn tìm thấy hình ảnh tương tự trực quan thông qua thuật toán so sánh chặn bitmap , trong số các phương pháp khác (như dấu thời gian hình ảnh gốc EXIF ​​hoặc các tệp giống hệt nhau) .

Nó có nhiều tính năng hữu ích khác như thư mục loại trừ, hỗ trợ thư viện iPhoto / Aperture và tùy chỉnh đáng kể cách phát hiện các bản sao và những gì nó làm với chúng.


0

Bạn có ý nghĩa gì bởi các bức ảnh trùng lặp? Bạn có nghĩa là các tập tin giống hệt nhau, nói chỉ cần sao chép thêm một hoặc hai thời gian? hoặc bạn có nghĩa là những bức ảnh "trông" giống nhau.

Nếu bạn có nghĩa là các tệp giống hệt nhau, bạn có thể sử dụng 'shasum' trên tất cả các tệp, sau đó đặt hàng kết quả và tìm các dòng duy nhất với 'uniq' và chạy 'diff' để xem những gì đã bị loại bỏ. Tất cả đều dễ dàng trong một vỏ Ubuntu.


Không có điều này là dễ dàng hoặc thuận tiện. fdupes được đề cập dưới đây sẽ thực hiện công việc tốt hơn là chỉ tính toán SHA. Bây giờ có công cụ unix sẽ tìm kiếm sự tương tự hình ảnh? Nếu vậy, đó sẽ là tuyệt vời.
Fasterz

Dễ dàng và thuận tiện cho ai đó đã từng sử dụng các công cụ unix, đó là những gì uniq, sort, diff, shasum, v.v. Nhưng tôi đồng ý rằng nếu bạn không sử dụng chúng thường xuyên, chúng có thể khó sử dụng. Tôi không biết bất cứ điều gì có thể làm "trông giống như" Mọi thứ tôi đã thấy, kể cả trong Aperture và Lightroom, đều giống hệt như tập tin, thực sự chỉ là md5 hoặc shasum
Pat Farrell

Tôi thường xuyên sử dụng các công cụ unix và tôi thấy câu trả lời này hơi ngớ ngẩn. Đầu tiên, làm SHA một cách mù quáng là chậm, khi một kích thước tệp so sánh giải quyết mọi thứ. Thứ hai, SHA hoặc MD5 có thể va chạm - vì vậy SHA so sánh một mình không đủ. Nếu bạn tính cả hai yếu tố này, thì bạn sẽ hiểu những gì fdupes làm.
Fasterz

Ngoài ra, một khi bạn đã kết hợp chính xác câu thần chú thực hiện điều này, đầu ra vẫn không hữu ích lắm. Tốt nhất bạn có được đầu ra của fdupes, đây chỉ là một bãi chứa các tệp tương tự. Trong trường hợp của tôi, tôi có 10 nghìn và rất khó để chọn qua dữ liệu đó để xem làm thế nào tôi có thể loại bỏ các bản sao.
Fasterz

1
SHA va chạm trong lý thuyết, nhưng không thực tế. Vâng, phải mất mãi mãi. Không có gì là đi làm sẽ được nhanh chóng. Nhưng bạn sẽ có thể khởi động nó và quay lại sau một hoặc hai ngày. Đó chỉ là một gợi ý, tôi sẽ không tham gia vào cuộc chiến về nó.
Pat Farrell

0

Có một ứng dụng gọi là "Bleachbit", tìm các tệp trùng lặp theo kích thước, tên và các bộ lọc khác. Bạn có thể cài đặt nó từ trình quản lý gói synapctic trong ubfox.


Nó làm gì khi bạn đã tìm thấy các bản sao? Nó chỉ hiển thị một danh sách? Tôi có 10 ngàn bản sao và một GUI đẹp để giúp giải quyết những thứ này sẽ rất hữu ích.
Fasterz
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.