一个简单的工具,可以手动标记Distinct类别中的图像。
simplabel的Python项目详细描述
单纯形标签
一个图形化工具,用于在不同类别中手动标记图像以构建训练数据集。 只需传递一个类别列表,一个包含图像的目录,然后开始标记。 支持多个用户,协调和键盘绑定标签更快!
安装
使用pip
安装simplabel位于pypi上,因此可以使用pip安装它
pip install simplabel
从源安装
将存储库克隆到您的计算机上
git clone https://github.com/hlgirard/Simplabel.git
并使用pip进行安装
cd Simplabel
pip install .
用法
快速启动
simplabel可以从命令行启动,无需任何参数:
simplabel
系统将提示您选择包含要标记的图像的目录。用“+”按钮添加标签并开始标记。数字键对应于标签,可以使用。
目标目录和/或标签也可以直接从命令行传递:
simplabel --labels dog cat bird --directory path/to/image/directory
第一次使用后,标签存储在labels.pkl
中,忽略--labels
参数。
命令行参数
-d, --directory <PATH/TO/DIRECTORY>
设置要搜索图像并将标签保存到的目录。默认为当前工作目录。-l, --labels <label1 label2 label3 ...>
设置标记任务的类别。仅在给定目录中的第一次使用时传递。-u, --user <USERNAME>
设置用户名。如果未传递任何登录名,则默认为操作系统登录名。-r, --redundant
不显示独立标签的其他标签选择。在此模式下,“对帐”和“生成主控形状”不可用。-v, --verbose
增加了详细级别。--remove-label <LABEL>
尝试从保存在labels.pkl
中的列表中安全删除标签(还必须通过-d
)--reset-lock
重写锁,防止同一用户名同时被多次使用。--delete-all
删除simplabel在目录中创建的所有文件(还必须传递-d
)
多用户
应用程序依赖文件系统保存每个用户的选择并显示其他用户的选择。如果工作目录位于共享驱动器或同步文件夹(Dropbox、OneDrive…)中,则效果最佳。协调工作流允许任何用户查看和解决冲突。make master选项可用于创建和保存包含所有标记图像的主字典-labeled_master.pkl
(在协调之后)。
导入保存的标签
应用程序保存一个labeled_<username>.pkl
文件,该文件包含一个pickeled字典{image_name:label}。要导入字典,请使用以下示例代码:
importpicklewithopen("labeled_user1.pkl","rb")asf:label_dict=pickle.load(f)
高级用法
公用事业
完成标记后,使用“Flow_to_目录”工具按标签将图像复制到不同的目录
flow_to_directory --input-directory data/labeled --output-directory data/sorted
python对象
Tkinter应用程序也可以从Python环境启动
fromsimplabelimportImageClassifierimporttkinterastkroot=tk.Tk()directory="data/raw"categories=['dog','cat','bird']MyApp=ImageClassifier(root,directory,categories)tk.mainloop()
许可证
此项目是在gplv3许可下授权的-有关详细信息,请参阅LICENSE.md文件。
致谢
Tkinter图形用户界面的测试基于Ivan_Pozdeev在StackOverflow的回答:
https://stackoverflow.com/questions/4083796/how-do-i-run-unittest-on-a-tkinter-app