构建用于手动分类训练数据图像的工具

数据挖掘 机器学习 图像分类 训练
2021-10-08 11:14:42

我有大量图像需要分类以训练聚类算法,我想离线进行(数据是专有的)。基本上,我想构建一个桌面调查工具,使我能够快速将每个图像归为一两个类别。理想情况下,该工具将:

  1. 在预先指定的桌面文件夹中搜索图像;
  2. 显示图像和类别的静态列表,允许我单击一个;
  3. 点击后,记录与图片关联的类别;
  4. 将图像文件名和相关类别存储在数据集中的某处;
  5. 显示文件夹中下一个未标记的图像并重复该过程。

有没有一种简单的方法可以在 Python 中构建这种工具,或者我可以离线免费使用的其他一些预构建实用程序?

3个回答

我创建了一个满足您的 5 个要求的代码,它在 GitHub 上作为image-sorter2 可用与此处建议的其他脚本相比,image-sorter2 是 100% 免费的,您无需花时间绘制边界框 - 该脚本只需为您打开一个 GUI,您单击多个按钮之一并相应地单击每个图像被分类到所需的类文件夹中,例如“cats”、“dogs”、“trucks” aso

在此处输入图像描述

我建议构建您自己的数据库支持的 Web 应用程序,因为您拥有专有数据和很少(只有两个?)类。我会为图像、用户和标签创建表格。

用户:(id,名称)
图像:(id,url)
标签:(user.id,image.id,时间,类)

标签类可以是枚举。如果您不想让用户多次评价同一张图片,您可以删除时间列,并将前两个 ID 列设置为复合主键。

如果您从未处理过 Web 应用程序和数据库,它看起来会很复杂,但是一旦您掌握了它的窍门,它就很容易了。是一个教程。这种方法的好处是持久性;借助数据库,您可以关闭计算机并从上次中断的地方开始。

一种更简单的替代方法是使用 GUI 组件(例如jupyter 的 ipywidgets )在一个会话中收集所有数据,并将标签写入文件。使用这种方法,您不会获得持久性。

Dataturks是一项很棒的在线服务超级流线型的用户体验和易于使用。还支持您在我们内部云上的私人数据。

在此处输入图像描述

还支持,多边形,分割等。

在此处输入图像描述

这是您可以尝试的演示(无需注册):

演示图像分类

PS:由于不允许浏览器直接访问本地磁盘上的文件,您可能需要运行一个虚拟 Web 服务器来获取文件的本地 URL。