AIHOT 于 2026-08-17 收录了“inclusionAI 开源 ConceptEdit:基于概念缩放与密集监督的图像编辑数据生成管线”这一公开动态。以下先呈现从来源页面抓取的正文,再给出 AIHOT 摘要与 TopoReduce 编辑解读。
PUBLIC SOURCE CONTENT
已抓取公开正文公开原文内容
GitHub - inclusionAI/ConceptEdit: 开源编辑数据ConceptEdit · GitHub
Uh oh!
There was an error while loading. Please reload this page.
inclusionAI
/
ConceptEdit
Public
-
Notifications
You must be signed in to change notification settings
-
Fork
0
-
Star
2
main
BranchesTags
Go to file
CodeOpen more actions menu
Latest commit
History
5 Commits
5 Commits
Folders and files
NameNameLast commit message
Last commit date
benchmark
benchmark
data
data
pipeline
pipeline
.gitignore
.gitignore
LICENSE
LICENSE
README.md
README.md
config.example.py
config.example.py
requirements.txt
requirements.txt
View all files
Repository files navigation
ConceptEdit: Unlocking the Potential of Image Editing via Concept Scaling and Dense Supervision
Dataset is being uploaded.
Image-Editing Concept Pipeline
A 3-stage pipeline for generating large-scale, taxonomy-grounded
image-editing datasets:
┌────────────────────┐
│ 1. Instruction │ Sample concepts from a
input images ─▶│ Generation ├─▶ per-image JSON
│ (VLM as author) │ (+VQA test set)
└────────────────────┘
│
▼
┌────────────────────┐
│ 2. Image Edit │ Run FLUX with the
│ with FLUX ├─▶ generated instruction
└────────────────────┘
│
▼
┌────────────────────┐
│ 3. VQA Evaluator │ Score each edit, decide
│ (VLM as judge) ├─▶ keep / discard / recaption
└────────────────────┘
Two variants are shipped side-by-side:
Variant
Per-image output
Use case
Single-concept
one edit, one instruction
classic instruction-tuning data
Multi-concept
2–5 parallel edits bundled into one combined instruction
dense, multi-edit data
Repo layout
image_editing_pipeline/
├── config.example.py # copy → config.py and fill in keys
├── data/
│ ├── taxonomy_single.json # taxonomy used by single-concept generator
│ └── taxonomy_multi.json # taxonomy used by multi-concept generator
├── pipeline/
│ ├── prompt_single.py # VLM call: single-concept instruction author
│ ├── prompt_multi.py # VLM call: multi-concept instruction author
│ ├── prompt_eval.py # system/user prompts for the VQA judge
│ │
│ ├── instruct_gen.py # step 1 — single-concept
│ ├── flux_edit.py # step 2 — single-concept
│ ├── eval_metric.py # step 3 — single-concept
│ │
│ ├── multi_instruct_gen.py # step 1 — multi-concept
│ ├── multi_flux_edit.py # step 2 — multi-concept
│ └── multi_eval_metric.py # step 3 — multi-concept
├── requirements.txt
└── README.md
Setup
git clone <this repo>
cd image_editing_pipeline
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# fill in model paths / API keys
cp config.example.py config.py
$EDITOR config.py
config.py is gitignored — never commit it.
You will need:
- an OpenAI-compatible VLM endpoint (e.g. vLLM
or SGLang serving a vision-language model)
for instruction generation and evaluation;
- a local FLUX checkpoint
loadable by 🤗 diffusers;
- (optional) object-storage credentials if your source images live in object storage;
local file input is fully supported as well.
Running the pipeline
All commands are run from the repo root (so that config.py is on the
Python path).
Single-concept
# 1. Generate edit instructions
python -m pipeline.instruct_gen \
--image-dir /path/to/source_images \
--taxonomy data/taxonomy_single.json \
--save-dir /path/to/output
# 2. Run FLUX edits (pass one or more batch_<N>/ subfolders)
python -m pipeline.flux_edit /path/to/output/batch_0 /path/to/output/batch_1
# 3. VQA evaluation
python -m pipeline.eval_metric /path/to/output/batch_0 /path/to/output/batch_1
Output of each step lives next to its input:
batch_0/
├── 0_0_2.json # instruction + VQA test set
├── 0_0_2_edit.png # FLUX edit result
└── 0_0_2_vqa_result.json # judge verdict & recaption
Multi-concept
Identical commands with the multi_ prefix:
python -m pipeline.multi_instruct_gen \
--image-dir /path/to/source_images \
--taxonomy data/taxonomy_multi.json \
--save-dir /path/to/output_multi
python -m pipeline.multi_flux_edit /path/to/output_multi/batch_0
python -m pipeline.multi_eval_metric /path/to/output_multi/batch_0
multi_instruct_gen.py can also consume a JSONL of object-storage image paths via
--jsonl (one JSON object per line, with an images field). Use
--help for the full list of flags.
Per-task JSON schema
After step 1 (single)
{
"option_id": 2,
"edit_concept": {"category": "...", "sub_category": "...", "task": "...", "detail": "..."},
"instruction_en": "...",
"instruction_zh": "...",
"detailed_instruction_en": "...",
"detailed_instruction_zh": "...",
"is_chinese_text_edit": false,
"evaluation_vqa": [ /* 5 binary questions */ ],
"local_image_path": "..."
}
After step 1 (multi)
{
"selected_option_ids": [0, 2, 90],
"edit_concepts_used": [ {...}, {...}, {...} ],
"instruction_en": "...",
"detailed_instruction_en": "...",
"evaluation_vqa": [ /* N + 4 binary questions */ ],
...
}
After step 3 (both)
{
"source_json": "0_0_2.json",
"overall_vqa_score": 0.8,
"final_decision": {
"keep": true,
"recaption_prompt_en": "...", // only filled if the original instruction missed the actual change
"recaption_prompt_zh": "...",
"reason": "..."
},
"vqa_details": [ /* per-question judgment */ ]
}
Resume / fault tolerance
Every step is idempotent and resume-safe:
- instruct_gen skips images for which a JSON with the right prefix
already exists;
- flux_edit skips JSONs whose _edit.png already exists;
- eval_metric skips JSONs whose _vqa_result.json already exists.
Killing the process and re-running picks up exactly where it left off.
License
Released under the MIT License. See LICENSE.
About
开源编辑数据ConceptEdit
Resources
Readme
MIT license
Activity
Custom properties
Stars
2 stars
Watchers
0 watching
Forks
0 forks
Report repository
Releases
Packages
Contributors
Languages
There was an error while loading. Please reload this page.
inclusionAI
/
ConceptEdit
Public
-
Notifications
You must be signed in to change notification settings
-
Fork
0
-
Star
2
main
BranchesTags
Go to file
CodeOpen more actions menu
Latest commit
History
5 Commits
5 Commits
Folders and files
NameNameLast commit message
Last commit date
benchmark
benchmark
data
data
pipeline
pipeline
.gitignore
.gitignore
LICENSE
LICENSE
README.md
README.md
config.example.py
config.example.py
requirements.txt
requirements.txt
View all files
Repository files navigation
ConceptEdit: Unlocking the Potential of Image Editing via Concept Scaling and Dense Supervision
Dataset is being uploaded.
Image-Editing Concept Pipeline
A 3-stage pipeline for generating large-scale, taxonomy-grounded
image-editing datasets:
┌────────────────────┐
│ 1. Instruction │ Sample concepts from a
input images ─▶│ Generation ├─▶ per-image JSON
│ (VLM as author) │ (+VQA test set)
└────────────────────┘
│
▼
┌────────────────────┐
│ 2. Image Edit │ Run FLUX with the
│ with FLUX ├─▶ generated instruction
└────────────────────┘
│
▼
┌────────────────────┐
│ 3. VQA Evaluator │ Score each edit, decide
│ (VLM as judge) ├─▶ keep / discard / recaption
└────────────────────┘
Two variants are shipped side-by-side:
Variant
Per-image output
Use case
Single-concept
one edit, one instruction
classic instruction-tuning data
Multi-concept
2–5 parallel edits bundled into one combined instruction
dense, multi-edit data
Repo layout
image_editing_pipeline/
├── config.example.py # copy → config.py and fill in keys
├── data/
│ ├── taxonomy_single.json # taxonomy used by single-concept generator
│ └── taxonomy_multi.json # taxonomy used by multi-concept generator
├── pipeline/
│ ├── prompt_single.py # VLM call: single-concept instruction author
│ ├── prompt_multi.py # VLM call: multi-concept instruction author
│ ├── prompt_eval.py # system/user prompts for the VQA judge
│ │
│ ├── instruct_gen.py # step 1 — single-concept
│ ├── flux_edit.py # step 2 — single-concept
│ ├── eval_metric.py # step 3 — single-concept
│ │
│ ├── multi_instruct_gen.py # step 1 — multi-concept
│ ├── multi_flux_edit.py # step 2 — multi-concept
│ └── multi_eval_metric.py # step 3 — multi-concept
├── requirements.txt
└── README.md
Setup
git clone <this repo>
cd image_editing_pipeline
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# fill in model paths / API keys
cp config.example.py config.py
$EDITOR config.py
config.py is gitignored — never commit it.
You will need:
- an OpenAI-compatible VLM endpoint (e.g. vLLM
or SGLang serving a vision-language model)
for instruction generation and evaluation;
- a local FLUX checkpoint
loadable by 🤗 diffusers;
- (optional) object-storage credentials if your source images live in object storage;
local file input is fully supported as well.
Running the pipeline
All commands are run from the repo root (so that config.py is on the
Python path).
Single-concept
# 1. Generate edit instructions
python -m pipeline.instruct_gen \
--image-dir /path/to/source_images \
--taxonomy data/taxonomy_single.json \
--save-dir /path/to/output
# 2. Run FLUX edits (pass one or more batch_<N>/ subfolders)
python -m pipeline.flux_edit /path/to/output/batch_0 /path/to/output/batch_1
# 3. VQA evaluation
python -m pipeline.eval_metric /path/to/output/batch_0 /path/to/output/batch_1
Output of each step lives next to its input:
batch_0/
├── 0_0_2.json # instruction + VQA test set
├── 0_0_2_edit.png # FLUX edit result
└── 0_0_2_vqa_result.json # judge verdict & recaption
Multi-concept
Identical commands with the multi_ prefix:
python -m pipeline.multi_instruct_gen \
--image-dir /path/to/source_images \
--taxonomy data/taxonomy_multi.json \
--save-dir /path/to/output_multi
python -m pipeline.multi_flux_edit /path/to/output_multi/batch_0
python -m pipeline.multi_eval_metric /path/to/output_multi/batch_0
multi_instruct_gen.py can also consume a JSONL of object-storage image paths via
--jsonl (one JSON object per line, with an images field). Use
--help for the full list of flags.
Per-task JSON schema
After step 1 (single)
{
"option_id": 2,
"edit_concept": {"category": "...", "sub_category": "...", "task": "...", "detail": "..."},
"instruction_en": "...",
"instruction_zh": "...",
"detailed_instruction_en": "...",
"detailed_instruction_zh": "...",
"is_chinese_text_edit": false,
"evaluation_vqa": [ /* 5 binary questions */ ],
"local_image_path": "..."
}
After step 1 (multi)
{
"selected_option_ids": [0, 2, 90],
"edit_concepts_used": [ {...}, {...}, {...} ],
"instruction_en": "...",
"detailed_instruction_en": "...",
"evaluation_vqa": [ /* N + 4 binary questions */ ],
...
}
After step 3 (both)
{
"source_json": "0_0_2.json",
"overall_vqa_score": 0.8,
"final_decision": {
"keep": true,
"recaption_prompt_en": "...", // only filled if the original instruction missed the actual change
"recaption_prompt_zh": "...",
"reason": "..."
},
"vqa_details": [ /* per-question judgment */ ]
}
Resume / fault tolerance
Every step is idempotent and resume-safe:
- instruct_gen skips images for which a JSON with the right prefix
already exists;
- flux_edit skips JSONs whose _edit.png already exists;
- eval_metric skips JSONs whose _vqa_result.json already exists.
Killing the process and re-running picks up exactly where it left off.
License
Released under the MIT License. See LICENSE.
About
开源编辑数据ConceptEdit
Resources
Readme
MIT license
Activity
Custom properties
Stars
2 stars
Watchers
0 watching
Forks
0 forks
Report repository
Releases
Packages
Contributors
Languages
AIHOT 摘要
蚂蚁集团 inclusionAI 开源 ConceptEdit,一个基于概念缩放与密集监督的图像编辑数据生成管线。该管线通过三阶段流程(VLM 生成指令、FLUX 执行编辑、VQA 评估筛选)构建大规模、基于分类法的图像编辑数据集,并提供单概念与多概念两种变体。项目采用 MIT 许可证,支持断点续跑,需 OpenAI 兼容 VLM 端点与本地 FLUX 检查点。
为什么值得关注
流水线把图像编辑数据生成拆为指令生成、FLUX 编辑、VLM 评判三步,多概念版本将多个并行编辑合并为一条指令并支持断点续跑,为构建带质检的编辑训练数据提供可复用框架。
工程化解读
从 TopoReduce 的工程视角看,这条信息属于“多模态与端侧”主题。它的价值不只在于一个新产品或新观点本身,还在于说明 AI 系统正在如何影响模型接入、智能体协作、研发流程、基础设施和团队决策。实际采用前,应结合原文确认版本、适用范围、价格和运行条件。
- 发布时间:2026-08-17;AIHOT 分类:多模态与端侧。
- AIHOT 标签:
- AIHOT 判断:流水线把图像编辑数据生成拆为指令生成、FLUX 编辑、VLM 评判三步,多概念版本将多个并行编辑合并为一条指令并支持断点续跑,为构建带质检的编辑训练数据提供可复用框架。
- AIHOT 评分:64;评分用于站内排序,不等同于独立评测结论。
TopoReduce 编辑观察
当 AI 动态进入真实生产环境,团队需要同时关注能力边界、数据来源、调用成本、权限控制和可回滚性。把单条新闻放回完整工程链路中阅读,比只看标题更有助于判断它是否适合自己的产品和工作流。