image_l_class / README.md
jiangchengchengNLP's picture
更新readme2
c5e03dd
# Image Quality Classification - EfficientNet-B0
基于 EfficientNet-B0 的图片内容分级模型,支持 L1-L4 四级分类。
## 分类标准
| 等级 | 说明 | 示例 |
|------|------|------|
| **L1** | 轻度性感内容 | 正常身材+性感内衣/衣物遮挡下体,姿势正常无性暗示 |
| **L2** | 中度性感内容 | 夸张身材+衣着性感/较少,姿势有较强性暗示 |
| **L3** | 重度性感内容 | 裸露(半裸/全裸),私密部位暴露 |
| **L4** | 色情内容 | 明确性行为/性交内容 |
详细分级标准见 [数据准备文档](https://huggingface.co/jiangchengchengNLP/image_l_class_efficient/blob/main/docs/数据准备.md)
## 模型性能
### 基准测试
| 项目 | 值 |
|------|-----|
| 模型 | 0.onnx |
| 架构 | EfficientNet-B0 |
| 大小 | 14.2 MB |
| 精度 | FP32 |
| 设备 | CPU |
### 推理速度
| 指标 | 值 |
|------|-----|
| Mean | 82.04 ms |
| Median | 96.23 ms |
| P99 | 188.17 ms |
| Min | 11.72 ms |
| Max | 209.72 ms |
| FPS | 12 |
### 分类精度
| 等级 | 准确率 |
|------|--------|
| Overall | 82.50% (n=1400) |
| L1 | 87.47% |
| L2 | 73.31% |
| L3 | 84.87% |
| L4 | 82.93% |
## 使用方式
### ONNX Runtime 推理
```python
import onnxruntime as ort
import numpy as np
from PIL import Image
from torchvision import transforms
# 加载模型
session = ort.InferenceSession("0.onnx")
input_name = session.get_inputs()[0].name
# 图像预处理
transform = transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406],
std=[0.229, 0.224, 0.225]),
])
img = Image.open("image.jpg").convert("RGB")
input_tensor = transform(img).unsqueeze(0).numpy()
# 推理
outputs = session.run(None, {input_name: input_tensor})[0]
pred_id = np.argmax(outputs, axis=1)[0]
class_names = ["L1", "L2", "L3", "L4"]
print(f"预测等级: {class_names[pred_id]}")
```
### 命令行推理
```bash
python inference.py --model 0.onnx --image /path/to/image.jpg
```
## 权重文件
| 文件名 | 大小 | 说明 |
|--------|------|------|
| 0.onnx | 14.2 MB | FP32 ONNX 模型(最佳权重) |
## 训练
训练代码位于 [image_L_class_train](https://github.com/jiangchengchengNLP/image_L_class_train),基于 EfficientNet-B0 + timm 训练框架。
### 训练数据
- 来源:Civitai 图片分级标注
- 分级:L1-L4 四类
- 数据量:约 6000 张
## 部署建议
- **CPU 推理**: ONNX Runtime 直接部署,单张约 80ms
- **GPU 推理**: 可用 TensorRT 优化,速度提升 5-10 倍
- **INT8 量化**: 可进一步压缩体积至 ~5MB,速度提升 2-3 倍