基于 FLUX.1-Fill-dev 和 SAM2 的智能图像修复工具,支持物体移除、智能分割等功能。
以下是物体移除的示例结果(左:原图+mask,右:移除后结果):
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
更多示例结果请查看 results_example 目录
RemoveAnythingSimplify/
├── src/ # 核心源代码
│ ├── data/ # 数据处理模块
│ ├── pipelines/ # 推理管道
│ ├── optimizer/ # 优化器
│ └── infer.py # 推理脚本
├── comfyui_workflow/ # ComfyUI 工作流
├── infer/ # 推理示例脚本
├── api_server.py # 物体移除 API 服务
├── sam2_api_server.py # SAM2 分割 API 服务
└── train_lora_flux_kontext.py # LoRA 训练脚本
pip install -r api_requirements.txt
bash start_api_server.sh
# 或直接运行
python api_server.py
bash start_sam2_server.sh
# 或直接运行
python sam2_api_server.py
FLUX.1-Fill-dev - 图像修复基础模型
FLUX.1-Redux-dev - 图像编码模型
SAM2 Checkpoints - 图像分割模型
2p9q下载后将 pytorch_lora_weights.safetensors 放置到 ./models/lora/ 目录下。
import requests
import base64
# 读取图像并转换为 base64
with open("image.jpg", "rb") as f:
image_b64 = base64.b64encode(f.read()).decode()
with open("mask.png", "rb") as f:
mask_b64 = base64.b64encode(f.read()).decode()
# 调用 API
response = requests.post("http://localhost:8000/api/remove", json={
"image": image_b64,
"mask": mask_b64,
"size": 512,
"num_inference_steps": 20
})
result = response.json()
# 点击分割
response = requests.post("http://localhost:8002/api/predict", json={
"image": image_b64,
"points": [
{"x": 100, "y": 200, "label": 1} # 1=前景, 0=背景
]
})
result = response.json()
mask_b64 = result["mask"]
使用自定义数据训练 LoRA:
accelerate launch src/train_bucket.py \
--train_json_path $TRAIN_JSON_PATH \
--val_json_path $VAL_JSON_PATH \
--output_dir $OUTPUT_DIR \
--aspect_ratio_buckets $aspect_ratio_buckets \
--flux_fill_id $FLUX_FILL_ID \
--flux_redux_id $FLUX_REDUX_ID \
--learning_rate $LEARNING_RATE \
--train_batch_size $TRAIN_BATCH_SIZE \
--max_train_steps $MAX_TRAIN_STEPS \
--gradient_accumulation_steps $GRADIENT_ACCUMULATION_STEPS \
--validation_steps $VALIDATION_STEPS \
--checkpointing_steps $CHECKPOINT_STEPS \
--use_lora $USE_LORA \
--lora_r $LORA_R \
--lora_alpha $LORA_ALPHA \
--lora_dropout $LORA_DROPOUT \
--target_modules $TARGET_MODULES \
--mixed_precision bf16 \
--enable_xformers_memory_efficient_attention \
--gradient_checkpointing
使用 Nunchaku 量化模型以提升推理速度:
bash infer_quant.sh
详细说明请参考:T5_QUANTIZATION_GUIDE.md
支持通过 ComfyUI 进行可视化操作,详见 comfyui_workflow 目录。
请遵守各模型的原始许可证:
110 followers · starred Dec 2025
基于 FLUX.1-Fill-dev 和 SAM2 的智能图像修复工具,支持物体移除、智能分割等功能。
以下是物体移除的示例结果(左:原图+mask,右:移除后结果):
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
更多示例结果请查看 results_example 目录
RemoveAnythingSimplify/
├── src/ # 核心源代码
│ ├── data/ # 数据处理模块
│ ├── pipelines/ # 推理管道
│ ├── optimizer/ # 优化器
│ └── infer.py # 推理脚本
├── comfyui_workflow/ # ComfyUI 工作流
├── infer/ # 推理示例脚本
├── api_server.py # 物体移除 API 服务
├── sam2_api_server.py # SAM2 分割 API 服务
└── train_lora_flux_kontext.py # LoRA 训练脚本
pip install -r api_requirements.txt
bash start_api_server.sh
# 或直接运行
python api_server.py
bash start_sam2_server.sh
# 或直接运行
python sam2_api_server.py
FLUX.1-Fill-dev - 图像修复基础模型
FLUX.1-Redux-dev - 图像编码模型
SAM2 Checkpoints - 图像分割模型
2p9q下载后将 pytorch_lora_weights.safetensors 放置到 ./models/lora/ 目录下。
import requests
import base64
# 读取图像并转换为 base64
with open("image.jpg", "rb") as f:
image_b64 = base64.b64encode(f.read()).decode()
with open("mask.png", "rb") as f:
mask_b64 = base64.b64encode(f.read()).decode()
# 调用 API
response = requests.post("http://localhost:8000/api/remove", json={
"image": image_b64,
"mask": mask_b64,
"size": 512,
"num_inference_steps": 20
})
result = response.json()
# 点击分割
response = requests.post("http://localhost:8002/api/predict", json={
"image": image_b64,
"points": [
{"x": 100, "y": 200, "label": 1} # 1=前景, 0=背景
]
})
result = response.json()
mask_b64 = result["mask"]
使用自定义数据训练 LoRA:
accelerate launch src/train_bucket.py \
--train_json_path $TRAIN_JSON_PATH \
--val_json_path $VAL_JSON_PATH \
--output_dir $OUTPUT_DIR \
--aspect_ratio_buckets $aspect_ratio_buckets \
--flux_fill_id $FLUX_FILL_ID \
--flux_redux_id $FLUX_REDUX_ID \
--learning_rate $LEARNING_RATE \
--train_batch_size $TRAIN_BATCH_SIZE \
--max_train_steps $MAX_TRAIN_STEPS \
--gradient_accumulation_steps $GRADIENT_ACCUMULATION_STEPS \
--validation_steps $VALIDATION_STEPS \
--checkpointing_steps $CHECKPOINT_STEPS \
--use_lora $USE_LORA \
--lora_r $LORA_R \
--lora_alpha $LORA_ALPHA \
--lora_dropout $LORA_DROPOUT \
--target_modules $TARGET_MODULES \
--mixed_precision bf16 \
--enable_xformers_memory_efficient_attention \
--gradient_checkpointing
使用 Nunchaku 量化模型以提升推理速度:
bash infer_quant.sh
详细说明请参考:T5_QUANTIZATION_GUIDE.md
支持通过 ComfyUI 进行可视化操作,详见 comfyui_workflow 目录。
请遵守各模型的原始许可证:
110 followers · starred Dec 2025