Xây dựng một công cụ để phân loại thủ công hình ảnh dữ liệu đào tạo


7

Tôi có một số lượng lớn hình ảnh mà tôi cần phân loại để đào tạo thuật toán phân cụm và tôi muốn thực hiện ngoại tuyến (dữ liệu là độc quyền). Về cơ bản, tôi muốn xây dựng một công cụ khảo sát máy tính để bàn cho phép tôi nhanh chóng đặt từng hình ảnh vào một hoặc hai danh mục. Lý tưởng nhất, công cụ sẽ:

  1. Tìm kiếm trong một thư mục máy tính để bàn được chỉ định trước cho một hình ảnh;
  2. Hiển thị hình ảnh và một danh sách tĩnh các danh mục, cho phép tôi nhấp vào một danh mục;
  3. Khi nhấp vào, ghi lại danh mục liên quan đến hình ảnh;
  4. Lưu tên tệp hình ảnh và danh mục liên quan trong bộ dữ liệu ở đâu đó;
  5. Hiển thị hình ảnh không được đánh dấu tiếp theo trong thư mục và lặp lại quá trình.

Có cách nào dễ dàng để xây dựng loại công cụ này trong Python hoặc một số tiện ích dựng sẵn khác mà tôi có thể sử dụng miễn phí ngoại tuyến không?


cuối cùng bạn đã viết một công cụ mà bạn sẵn sàng chia sẻ? hoặc bạn đã tìm thấy bất cứ điều gì khác?
jlarsch

1
Có một vài công cụ hiện có để chú thích hình ảnh, công cụ phổ biến và dễ sử dụng nhất là: github.com/tzutalin/labelImg
olive_tree

Một lựa chọn khác mà mọi người đã khuyến nghị là Pybossa ... Tôi đã viết một công cụ với Flask, nhưng nó rất khó cài đặt và không tuyệt vời. Tại một số điểm, tôi sẽ dọn sạch mã và đăng repo, nhưng tôi không khuyên dùng nó vào lúc này.
atkat12

Câu trả lời:


2

Tôi đã tạo một mã đáp ứng 5 yêu cầu bạn có, nó có sẵn trên GitHub dưới dạng image-sorter2 . So với các tập lệnh được đề xuất khác ở đây image-sorter2 miễn phí 100% và bạn không cần phải mất thời gian để vẽ các hộp giới hạn - tập lệnh chỉ cần mở GUI cho bạn, bạn nhấp vào một trong nhiều nút và tương ứng với mỗi hình ảnh được sắp xếp vào thư mục lớp mong muốn, ví dụ: "mèo", "chó", "xe tải" aso

nhập mô tả hình ảnh ở đây


Tôi đang chuyển sự chứng thực cho câu trả lời này bởi vì đây là một ứng dụng đơn giản, miễn phí, nhanh chóng để khởi động và chạy, và dễ dàng tùy chỉnh. Trên Github readme cũng có một danh sách đẹp các tùy chọn thay thế. Tôi vừa xem lại nhiệm vụ này hôm nay và tôi thấy tùy chọn này hoạt động tốt ... nếu bạn đang làm một cái gì đó tinh vi hơn (như chú thích các phần của hình ảnh) thì các câu trả lời khác có thể hoạt động tốt hơn.
atkat12

1
@ atkat12 Tôi rất vui khi thấy bạn tìm thấy mã hữu ích, mặc dù được xuất bản nhiều năm sau bài đăng của bạn. Tôi hy vọng nó cũng sẽ giúp những người dùng khác, vì vậy cảm ơn bạn đã chứng thực!
NeStack

2

Tôi khuyên bạn nên xây dựng ứng dụng Web dựa trên cơ sở dữ liệu của riêng bạn, vì bạn có dữ liệu độc quyền và một vài (chỉ hai?) Lớp. Tôi sẽ tạo các bảng cho hình ảnh, người dùng và nhãn.

user: (id, name)
image: (id, url)
nhãn: (user.id, image.id, time, class)

Các lớp nhãn có thể là một enum. Nếu bạn không muốn cho phép người dùng xếp hạng cùng một hình ảnh nhiều lần, bạn có thể bỏ cột thời gian và đặt hai cột ID đầu tiên làm khóa chính ghép.

Nếu bạn chưa bao giờ xử lý các ứng dụng và cơ sở dữ liệu Web thì điều đó có vẻ phức tạp, nhưng thật dễ dàng một khi bạn hiểu rõ về nó. Đây là một hướng dẫn. Lợi ích của phương pháp này là sự kiên trì; bạn có thể tắt máy tính của mình và bắt đầu nơi bạn rời đi nhờ vào cơ sở dữ liệu.

Một cách khác đơn giản hơn là thu thập tất cả dữ liệu của bạn trong một phiên bằng các thành phần GUI như ipywidgets cho jupyter và ghi nhãn vào tệp. Với phương pháp này bạn không có được sự kiên trì.


Hướng dẫn có vẻ hay và tôi không biết về iPyWidgets. Cảm ơn đã cung cấp nhiều lựa chọn!
atkat12

2

Một dịch vụ trực tuyến tuyệt vời là Dataturks . UX siêu hợp lý và dễ sử dụng. Cũng hỗ trợ dữ liệu riêng tư của bạn trên đám mây nội bộ của chúng tôi.

nhập mô tả hình ảnh ở đây

Cũng hỗ trợ, đa giác, phân khúc, vv

nhập mô tả hình ảnh ở đây

Đây là bản demo bạn có thể thử (không yêu cầu đăng ký):

Phân loại hình ảnh demo

PS: Vì các trình duyệt không được phép truy cập trực tiếp vào các tệp trên đĩa cục bộ của bạn, bạn có thể cần phải chạy một máy chủ web giả để nhận URL cục bộ đến các tệp.

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.