DeepDanbooru:动漫风格女性图像标签智能识别系统

AI based multi-label girl image classification system, implemented by using TensorFlow.

分支1Tags5
文件最后提交记录最后更新时间
1 年前
6 年前
3 年前
6 年前
6 年前
2 个月前
6 年前
1 年前
6 年前
4 年前

DeepDanbooru

Python GitHub Web

DeepDanbooru 是一个动漫风格少女图像标签预测系统。你可以在我的在线演示网站 DeepDanbooru Web 上对你的图像进行预测。

环境要求

DeepDanbooru 使用 Python 3.11 编写。需要安装以下软件包:

  • Click>=8.1.7
  • numpy>=1.26.4
  • requests>=2.32.3
  • scikit-image>=0.24.0
  • six>=1.16.0
  • tensorflow>=2.17.0
  • tensorflow-io>=0.31.0

或者直接使用 requirements.txt

> pip install -r requirements.txt

你也可以使用 pip 进行安装。请注意,默认情况下不包含 tensorflow。

若要安装包含 tensorflow 的版本,请添加 tensorflow 额外包。

> # default installation
> pip install .
> # with tensorflow package
> pip install .[tensorflow]

使用方法

  1. 准备数据集。如果没有数据集,可以使用 DanbooruDownloader 下载 Danbooru 的数据集。如果想要制作自己的数据集,请参见 数据集结构 部分。
  2. 创建训练项目文件夹。
> deepdanbooru create-project [your_project_folder]
  1. 准备标签列表。如果您想使用最新标签,请使用以下命令。该命令将从 Danbooru 服务器下载标签。(需要 Danbooru 账户和 API 密钥)
> deepdanbooru download-tags [your_project_folder] --username [your_danbooru_account] --api-key [your_danbooru_api_key]
  1. (可选)筛选数据集。如果希望使用可选标签(rating 和 score)进行训练,应将其转换为系统标签。
> deepdanbooru make-training-database [your_dataset_sqlite_path] [your_filtered_sqlite_path]
  1. 修改项目文件夹中的 project.json。你需要将 database_path 设置更改为实际的 sqlite 文件路径。
  2. 开始训练。
> deepdanbooru train-project [your_project_folder]
  1. 开始使用吧。
> deepdanbooru evaluate [image_file_path or folder]... --project-path [your_project_folder] --allow-folder

数据集结构

DeepDanbooru 对输入数据集采用以下文件夹结构。SQLite 文件可以是任意名称,但必须与 images 文件夹位于同一目录下。所有图像文件均存放于以其文件名前 2 个字符命名的子文件夹中。

MyDataset/
├── images/
│   ├── 00/
│   │   ├── 00000000000000000000000000000000.jpg
│   │   ├── ...
│   ├── 01/
│   │   ├── 01000000000000000000000000000000.jpg
│   │   ├── ...
│   └── ff/
│       ├── ff000000000000000000000000000000.jpg
│       ├── ...
└── my-dataset.sqlite

核心是 SQLite 数据库文件。该文件必须包含以下表结构。

posts
├── id (INTEGER)
├── md5 (TEXT)
├── file_ext (TEXT)
├── tag_string (TEXT)
└── tag_count_general (INTEGER)

图像的文件名必须为 [md5].[file_ext]。如果使用您自己的图像,md5 不必是实际的 MD5 哈希值。

tag_string 是用空格分隔的标签列表,例如 1girl ahoge long_hair

tag_count_general 用于项目设置中的 minimum_tag_counttag_count_general 值大于或等于该设置值的图像将用于训练。

项目结构

Project 是 DeepDanbooru 中训练的最小单位。您可以修改各种训练参数。

MyProject/
├── project.json
└── tags.txt

tags.txt 包含所有用于预测的标签。您可以创建自己的标签列表,或从 Danbooru 服务器下载最新标签。这是一个简单的按换行符分隔的文件,如下所示:

1girl
ahoge
...

项目介绍

基于人工智能的多标签女孩图像分类系统,采用TensorFlow实现。【此简介由AI生成】

定制我的领域
352.94 K266访问 GitHub