基于浏览器的标签数据平台
iris-image-labelling的Python项目详细描述
虹膜
A browser based UI for labelling image files that tracks the labels using a database, rather than using folders and paths
为什么要用虹膜?在
- 标记数千张图片(或者可能是数百万张?)无需使用文件管理器,文件太多,速度会变慢。
- Iris使用分页来查看数据的子集,因此平台在处理大量图像时不会减慢速度。在
- 使用数据库跟踪所有标签。
- Iris将数据的标签存储在SQLite数据库文件中的
.iris
目录中,该目录是在data文件夹的根目录下创建的。这将标签与目录路径分离,有助于避免错误。在
- Iris将数据的标签存储在SQLite数据库文件中的
- 简单易用的拖放界面。
- 图像可以使用简单的拖放交互来标记,使任何人都可以轻松使用。在
安装
要安装iris,请使用以下命令:
$ pip install iris-image-labelling
使用
安装后,iris将注册为终端中的命令,可从任何目录访问。在
Iris假设您的数据最初是在一个目录中组织的,该目录为您的数据的每个类别都有子目录可能会接受。在
^{pr2}$文件夹最初用于推断数据可以采用的类别。它们不需要在其中包含任何数据/图像。在
设置好以下项目结构后,导航到data/
的父目录,然后从终端启动iris:
$ iris launch -f data
Iris默认情况下在端口5000上启动,您可以从那里继续并开始标记数据。在
Argument | Description |
---|---|
-f | Folder to build database from |
-h | The host to run the server on |
-p | The port number to run the server on |
重组数据
为了避免重新标记的数据与由图像的文件路径推断出的原始类别之间的任何混淆,工具栏中有一个标记为“重组数据”的按钮。 这将根据新标签在文件夹中重新组织文件。在
标签
图像也可以带有标记,这些标记最初是根据子目录推断出来的。它是顶层目录下的任何目录。例如:
data/
tag_1/
another_tag/
file_1.png
file_2.png
file_3.png
tag_2/
file_4.png
file_5.png
file_6.png
将鼠标悬停在Tag标签上之后,这些标记会显示在基于浏览器的UI中。在
编程API
一旦在目录中启动iris,并且.iris
文件夹
安装时,可以使用pythonapi获取标签并进行更多更改
程序化的。在
获取文件列表
可以使用以下代码段返回完整的文件列表。Query
类的folder
参数是存储图像的文件夹的相对路径。在
fromiris.api.filesimportQueryq=Query(folder="../images/")df=q.get_all_files()
输出示例:
^{tb2}$修改文件的属性
可以使用以下代码段修改文件的任何或所有属性。在
fromiris.api.filesimportQueryq=Query(folder="../images/")q.update_file(270,{"category":"new_category"})
第二个参数file_kwargs
,是一个字典,其键应该对应于DataFrame中的一个列。如果提供的密钥不存在,它将被忽略。在
待办事项
- []使用拖放界面更改标记的能力
- []使用浏览器UI添加新类别
- []编写JS前端的单元测试
- []为Python后端编写单元测试
- 项目
标签: