/install aesthetic-scorer
\r \r
Aesthetic Scorer Skill\r
\r This skill provides comprehensive aesthetic evaluation and improvement suggestions for images and photographs through a dynamic weighted two-tier architecture.\r \r
Architecture Overview\r
\r Two Evaluation Sources with Dynamic Weight:\r \r
- Improved Aesthetic Predictor: CLIP ViT-L/14 + MLP for content-level aesthetic scoring\r
- Understands image semantics and visual impact\r
- Base Weight: 45% (adjustable 45%-70% based on NIMA consensus)\r \r
- NIMA (Neural Image Assessment): MobileNet for technical quality scoring\r
- Provides detailed quality distribution and standard deviation\r
- Base Weight: 55% (adjustable 30%-55% based on NIMA consensus)\r \r Dynamic Weight Logic:\r
- NIMA returns a standard deviation (std) indicating score distribution spread\r
- High std = controversial image = more weight to IAP (content-based)\r
- Low std = consensus = use balanced weights\r \r
Dynamic Weight Formula\r
\r
normalized_std = min(nima_std / 2.5, 1.0)\r
weight_iap = 0.45 + normalized_std * 0.25 // Range: 45% - 70%\r
weight_nima = 1.0 - weight_iap\r
\r
// Penalty when scores diverge significantly (diff >= 2.0)\r
penalty = 0.05 * |IAP_score - NIMA_score|\r
\r
weighted_score = weight_iap * IAP + weight_nima * NIMA - penalty\r
```\r
\r
| Parameter | Value | Description |\r
|-----------|-------|-------------|\r
| Base IAP Weight | 45% | Balanced starting point |\r
| Base NIMA Weight | 55% | Balanced starting point |\r
| Max Adjustment | ±25% | IAP weight increases with controversy |\r
| IAP Weight Range | 45% - 70% | Dynamic adjustment |\r
| Divergence Threshold | 2.0 | Score difference triggers penalty |\r
| Divergence Penalty | 0.05 | Per point of difference |\r
\r
**Evaluation Text Generation**:\r
- The detailed evaluation text (composition, color, lighting, technical quality, improvement suggestions) is generated by the AI (WorkBuddy) based on:\r
- The weighted scores from both models\r
- Visual understanding of the photo content\r
- Professional photography knowledge and best practices\r
- This provides professional-grade analysis without requiring external API calls\r
\r
## Workflow\r
\r
### Phase 1: Execute Both Evaluations\r
\r
**Step 1: Improved Aesthetic Predictor (dynamic weight)**\r
1. Execute `scripts/score_improved_predictor.py \x3Cimage_path>`\r
2. Parse output score (0-10 scale)\r
3. Record as `score_improved`\r
\r
**Step 2: NIMA Model (dynamic weight)**\r
1. Execute `scripts/score_nima.py \x3Cimage_path>`\r
2. Parse mean score AND standard deviation\r
3. Record as `score_nima` and `nima_std`\r
\r
### Phase 2: Calculate Weighted Comprehensive Score (Dynamic)\r
\r
**Step 2.1: Calculate Dynamic Weights**\r
- Extract NIMA's standard deviation (std_score)\r
- Normalize: `normalized_std = min(std_score / 2.5, 1.0)`\r
- Calculate weights: `weight_iap = 0.45 + normalized_std * 0.25`\r
\r
**Step 2.2: Apply Penalty if Needed**\r
- If `|IAP - NIMA| >= 2.0`, apply penalty: `penalty = 0.05 * |IAP - NIMA|`\r
\r
**Step 2.3: Calculate Final Score**\r
```\r
weighted_score = weight_iap * IAP + (1-weight_iap) * NIMA - penalty\r
```\r
\r
**Example:**\r
- IAP = 6.44, NIMA = 4.52, NIMA_std = 1.87\r
- normalized_std = 1.87/2.5 = 0.75\r
- weight_iap = 0.45 + 0.75×0.25 = 0.637 (63.7%)\r
- weight_nima = 0.363 (36.3%)\r
- Score_diff = 1.92 \x3C 2.0, penalty = 0\r
- Final = 0.637×6.44 + 0.363×4.52 = **5.74**\r
\r
**Security Note:** All processing is 100% local - no data leaves your device\r
\r
### Phase 3: Generate Evaluation at Appropriate Detail Level\r
\r
**CRITICAL: Three Detail Levels Available**\r
\r
Always generate the **detailed evaluation (10分)** in the background first and save it. Then present the evaluation at the requested detail level:\r
\r
| Level | Name | Word Count per Photo | Description |\r
|-------|------|---------------------|-------------|\r
| 1 | 简要 | ~200字 | Concise overview, key points only |\r
| 3 | 中等 (默认) | ~300字 | Balanced, covers all aspects | ⭐ DEFAULT |\r
| 10 | 详细 | ~4000字 | Comprehensive, in-depth analysis |\r
\r
**How User Requests Different Levels:**\r
- 默认/未指定 → 使用 3分(中等),约300字\r
- "详细评价" / "详细版" / "完整评价" → 使用 10分(详细),约4000字\r
- "简要评价" / "简洁版" / "简要说明" → 使用 1分(简要),约200字\r
\r
**Important:**\r
- ALWAYS generate detailed evaluation (10分) in background first\r
- Save detailed evaluation so it can be retrieved immediately if user requests it\r
- Present the appropriate level based on user request (default: 3分)\r
- If user requests detailed evaluation after seeing summary, retrieve the saved detailed version\r
\r
## Output Format by Detail Level\r
\r
### Level 1: 简要 (~200字 per photo)\r
\r
```markdown\r
## [Photo Name]\r
\r
综合评分: X.XX/10 (等级: 夯/顶级/人上人/NPC/拉完了)\r
构图: [2-3句话]\r
色彩: [2-3句话]\r
光线: [2-3句话]\r
技术: [2-3句话]\r
建议: [3-4条关键建议]\r
```\r
\r
### Level 3: 中等 (默认, ~300字 per photo)\r
\r
```markdown\r
## [Photo Name]\r
\r
### 综合评分: X.XX/10 (夯/顶级/人上人/NPC/拉完了)\r
\r
### 综合分析\r
\r
#### 构图评价\r
[3-4句话]\r
\r
#### 色彩评价\r
[3-4句话]\r
\r
#### 光线评价\r
[3-4句话]\r
\r
#### 技术质量评价\r
[3-4句话]\r
\r
### 改进建议\r
\r
#### 拍摄技巧\r
[3条建议]\r
\r
#### 后期处理\r
[3条建议]\r
\r
#### 构图优化\r
[3条建议]\r
\r
### 总体评价\r
[2-3句话]\r
```\r
\r
### Level 10: 详细 (~4000字 per photo)\r
\r
```markdown\r
## [Photo Name]\r
\r
### 综合评分: X.XX/10 (夯/顶级/人上人/NPC/拉完了)\r
\r
### 评分解读\r
[3-4句话]\r
\r
### 综合分析\r
\r
#### 构图评价\r
[6-10详细句话]\r
\r
#### 色彩评价\r
[6-10详细句话]\r
\r
#### 光线评价\r
[6-10详细句话]\r
\r
#### 技术质量评价\r
[6-10详细句话]\r
\r
### 改进建议\r
\r
#### 拍摄技巧\r
[5-7详细条建议]\r
\r
#### 后期处理\r
[5-7详细条建议]\r
\r
#### 构图优化\r
[5-7详细条建议]\r
\r
### 总体评价\r
[3-4段,每段6-8句]\r
```\r
\r
### Multiple Photos Comparison (Level 3, ~600字 total)\r
\r
```markdown\r
## 照片对比分析\r
\r
### 照片 1: [Name]\r
[Level 3 evaluation as above, ~300字]\r
\r
### 照片 2: [Name]\r
[Level 3 evaluation as above, ~300字]\r
\r
## 对比总结\r
\r
| 对比项 | 照片1 | 照片2 | 胜出 |\r
|--------|-------|-------|------|\r
| 综合评分 | X.XX/10 | X.XX/10 | 照片X |\r
| 构图 | [评级] | [评级] | 照片X |\r
| 色彩 | [评级] | [评级] | 照片X |\r
| 光线 | [评级] | [评级] | 照片X |\r
| 技术质量 | [评级] | [评级] | 照片X |\r
\r
## 综合建议\r
[3-4句话]\r
```\r
\r
## Score Interpretation Guide\r
\r
### "从夯到拉" Rating System / "从夯到拉" 评分系统\r
\r
| Score Range | 等级 / Level | Description / 描述 |\r
|-------------|-------------|-------------------|\r
| 9.0-10.0 | **夯 (Hāng)** | 好到没话说,顶级水平 / Exceptional, top-tier, perfect |\r
| 8.0-8.9 | **顶级** | 极好,专业水准 / Excellent, professional level |\r
| 7.0-7.9 | **人上人** | 很好,超越常人 / Very good, above average, outstanding |\r
| 6.0-6.9 | **NPC** | 不起眼,普普通通 / Average, unremarkable, plain |\r
| 0.0-5.9 | **拉完了** | 差到没法再差 / Terrible, needs major improvement |\r
\r
### Traditional Rating / 传统评分\r
\r
| Score Range | Level | Description |\r
|-------------|-------|-------------|\r
| 9.0-10.0 | 优秀 | Exceptional quality, professional level |\r
| 8.0-8.9 | 很好 | High quality with minor improvements needed |\r
| 7.0-7.9 | 良好 | Solid quality, above average |\r
| 6.0-6.9 | 一般 | Average quality, noticeable room for improvement |\r
| 4.0-5.9 | 较差 | Below average, significant improvements needed |\r
| 0.0-3.9 | 很差 | Poor quality, substantial improvements needed |\r
\r
**重要说明**: 综合评分格式示例:\r
```\r
综合评分: X.XX/10 (夯)\r
综合评分: X.XX/10 (顶级)\r
综合评分: X.XX/10 (人上人)\r
综合评分: X.XX/10 (NPC)\r
综合评分: X.XX/10 (拉完了)\r
```\r
\r
## Error Handling\r
\r
If any evaluation source fails:\r
\r
1. **Improved Predictor fails**: Use NIMA only\r
- Score: NIMA score only\r
- Note in report: "Improved Predictor 不可用,仅使用 NIMA 评分"\r
\r
2. **NIMA fails**: Use Improved Predictor only\r
- Score: Improved Predictor score only\r
- Note in report: "NIMA 不可用,仅使用 Improved Predictor 评分"\r
\r
3. **Both sources fail**: Inform user and suggest trying again later\r
\r
## Script Dependencies\r
\r
All scripts in `scripts/` directory must be executable:\r
\r
- `score_improved_predictor.py`: Fast aesthetic scoring\r
- `score_nima.py`: Detailed quality analysis\r
- `comprehensive_score.py`: Integrated weighted scoring\r
\r
## Model Paths (Local Installation)\r
\r
### Default Paths (Windows)\r
| Model | Location |\r
|-------|----------|\r
| Improved Aesthetic Predictor (.pth) | `F:\software\skill\aesthetic-scorer\models\improved-aesthetic-predictor\sac+logos+ava1-l14-linearMSE.pth` |\r
| NIMA MobileNet weights (.h5) | `F:\software\skill\aesthetic-scorer\models\
eural-image-assessment\weights\mobilenet_weights.h5` |\r
\r
### Environment Variables (Override Default Paths)\r
You can override model paths by setting environment variables:\r
\r
| Variable | Description | Default |\r
|----------|-------------|---------|\r
| `AESTHETIC_SCORER_MODEL_DIR` | Override IAP model directory | `F:\software\skill\aesthetic-scorer\models\improved-aesthetic-predictor` |\r
| `AESTHETIC_SCORER_NIMA_DIR` | Override NIMA model directory | `F:\software\skill\aesthetic-scorer\models\
eural-image-assessment` |\r
\r
Python runtime: `F:\software\python\python.exe` (Python 3.12)\r
\r
Required packages (install via `pip install -r requirements.txt`): `torch>=2.0.0`, `torchvision>=0.15.0`, `transformers>=4.30.0`, `tensorflow>=2.12.0`, `tf_keras>=2.12.0`, `pillow>=10.0.0`, `numpy>=1.23.0`\r
\r
## Usage Examples\r
\r
**User**: "请评价这张照片"\r
**Action**: Execute both evaluations, calculate weighted score, generate Level 3 evaluation (default, ~300字)\r
\r
**User**: "详细评价这张照片"\r
**Action**: Execute both evaluations, calculate weighted score, generate Level 10 evaluation (~4000字)\r
\r
**User**: "简要评价这张照片"\r
**Action**: Execute both evaluations, calculate weighted score, generate Level 1 evaluation (~200字)\r
\r
**User**: "对比这两张照片"\r
**Action**: Evaluate both photos, generate Level 3 comparison (~600字 total)\r
\r
**User**: [评价后] "给我看详细版"\r
**Action**: Retrieve the saved Level 10 evaluation and present it immediately\r
\r
## Notes\r
\r
- Always execute both evaluation sources when available\r
- Present evaluation as unified expert opinion\r
- Default to Level 3 (medium detail) unless user specifies otherwise\r
- Always generate and save Level 10 (detailed) evaluation in background\r
- Retrieve saved detailed evaluation when requested, don't regenerate\r
- Avoid repetitive references to evaluation sources\r
- Use natural, flowing language\r
- Adjust detail level based on user request\r
- Support both Chinese and English\r
- Always display "从夯到拉" rating level in the score\r
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install aesthetic-scorer - After installation, invoke the skill by name or use
/aesthetic-scorer - Provide required inputs per the skill's parameter spec and get structured output
What is 摄影照片评分Aesthetic Scorer?
给你的照片打分、评价反馈、给出改进建议或美学分析 / Aesthetic photo scorer with detailed analysis. It is an AI Agent Skill for Claude Code / OpenClaw, with 221 downloads so far.
How do I install 摄影照片评分Aesthetic Scorer?
Run "/install aesthetic-scorer" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is 摄影照片评分Aesthetic Scorer free?
Yes, 摄影照片评分Aesthetic Scorer is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does 摄影照片评分Aesthetic Scorer support?
摄影照片评分Aesthetic Scorer is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created 摄影照片评分Aesthetic Scorer?
It is built and maintained by kooui (@kooui); the current version is v1.4.9.