给你的照片打分、评价反馈、给出改进建议或美学分析 / Aesthetic photo scorer with detailed analysis
Scanned 9/9/2026
Install to Claude Code
npx -y skills add Lord1Egypt/awesome-skill-forge --skill photo-scorer --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Photo Scorer?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/lord1egypt-photo-scorer)More formats (shields.io, HTML) on the badges page.
---
name: aesthetic-scorer
version: "1.7.0"
description: |
给你的照片打分、评价反馈、给出改进建议或美学分析 / Aesthetic photo scorer with detailed analysis
author: "WorkBuddy Community"
tags: [照片评分, 照片分析, 美学评分, 摄影评分, 图片评分, 视觉评分, photo-scoring, aesthetic-scoring, photography, image, vision, offline]
---
# Aesthetic Scorer Skill
This skill provides comprehensive aesthetic evaluation and improvement suggestions for images and photographs through a **dynamic weighted two-tier architecture**.
## Architecture Overview
**Two Evaluation Sources with Dynamic Weight:**
1. **Improved Aesthetic Predictor**: CLIP ViT-L/14 + MLP for content-level aesthetic scoring
- Understands image semantics and visual impact
- Base Weight: 45% (adjustable 45%-70% based on NIMA consensus)
2. **NIMA (Neural Image Assessment)**: MobileNet for technical quality scoring
- Provides detailed quality distribution and standard deviation
- Base Weight: 55% (adjustable 30%-55% based on NIMA consensus)
**Dynamic Weight Logic:**
- NIMA returns a standard deviation (std) indicating score distribution spread
- High std = controversial image = more weight to IAP (content-based)
- Low std = consensus = use balanced weights
### Dynamic Weight Formula
```
normalized_std = min(nima_std / 2.5, 1.0)
weight_iap = 0.45 + normalized_std * 0.25 // Range: 45% - 70%
weight_nima = 1.0 - weight_iap
// Penalty when scores diverge significantly (diff >= 2.0)
penalty = 0.05 * |IAP_score - NIMA_score|
weighted_score = weight_iap * IAP + weight_nima * NIMA - penalty
```
| Parameter | Value | Description |
|-----------|-------|-------------|
| Base IAP Weight | 45% | Balanced starting point |
| Base NIMA Weight | 55% | Balanced starting point |
| Max Adjustment | ±25% | IAP weight increases with controversy |
| IAP Weight Range | 45% - 70% | Dynamic adjustment |
| Divergence Threshold | 2.0 | Score difference triggers penalty |
| Divergence Penalty | 0.05 | Per point of difference |
**Evaluation Text Generation**:
- The detailed evaluation text (composition, color, lighting, technical quality, improvement suggestions) is generated by the AI (WorkBuddy) based on:
- The weighted scores from both models
- Visual understanding of the photo content
- Professional photography knowledge and best practices
- This provides professional-grade analysis without requiring external API calls
## Workflow
### Phase 1: Execute Both Evaluations
**Step 1: Improved Aesthetic Predictor (dynamic weight)**
1. Execute `scripts/score_improved_predictor.py <image_path>`
2. Parse output score (0-10 scale)
3. Record as `score_improved`
**Step 2: NIMA Model (dynamic weight)**
1. Execute `scripts/score_nima.py <image_path>`
2. Parse mean score AND standard deviation
3. Record as `score_nima` and `nima_std`
### Phase 2: Calculate Weighted Comprehensive Score (Dynamic)
**Step 2.1: Calculate Dynamic Weights**
- Extract NIMA's standard deviation (std_score)
- Normalize: `normalized_std = min(std_score / 2.5, 1.0)`
- Calculate weights: `weight_iap = 0.45 + normalized_std * 0.25`
**Step 2.2: Apply Penalty if Needed**
- If `|IAP - NIMA| >= 2.0`, apply penalty: `penalty = 0.05 * |IAP - NIMA|`
**Step 2.3: Calculate Final Score**
```
weighted_score = weight_iap * IAP + (1-weight_iap) * NIMA - penalty
```
**Example:**
- IAP = 6.44, NIMA = 4.52, NIMA_std = 1.87
- normalized_std = 1.87/2.5 = 0.75
- weight_iap = 0.45 + 0.75×0.25 = 0.637 (63.7%)
- weight_nima = 0.363 (36.3%)
- Score_diff = 1.92 < 2.0, penalty = 0
- Final = 0.637×6.44 + 0.363×4.52 = **5.74**
**Security Note:** All processing is 100% local - no data leaves your device
### Phase 3: Generate Evaluation at Appropriate Detail Level
**CRITICAL: Three Detail Levels Available**
Always generate the **detailed evaluation (10分)** in the background first and save it. Then present the evaluation at the requested detail level:
| Level | Name | Word Count per Photo | Description |
|-------|------|---------------------|-------------|
| 1 | 简要 | ~200字 | Concise overview, key points only |
| 3 | 中等 (默认) | ~300字 | Balanced, covers all aspects | ⭐ DEFAULT |
| 10 | 详细 | ~4000字 | Comprehensive, in-depth analysis |
**How User Requests Different Levels:**
- 默认/未指定 → 使用 3分(中等),约300字
- "详细评价" / "详细版" / "完整评价" → 使用 10分(详细),约4000字
- "简要评价" / "简洁版" / "简要说明" → 使用 1分(简要),约200字
**Important:**
- ALWAYS generate detailed evaluation (10分) in background first
- Save detailed evaluation so it can be retrieved immediately if user requests it
- Present the appropriate level based on user request (default: 3分)
- If user requests detailed evaluation after seeing summary, retrieve the saved detailed version
## Output Format by Detail Level
### Level 1: 简要 (~200字 per photo)
```markdown
## [Photo Name]
综合评分: X.XX/10 (等级: 夯/顶级/人上人/NPC/拉完了)
构图: [2-3句话]
色彩: [2-3句话]
光线: [2-3句话]
技术: [2-3句话]
建议: [3-4条关键建议]
```
### Level 3: 中等 (默认, ~300字 per photo)
```markdown
## [Photo Name]
### 综合评分: X.XX/10 (夯/顶级/人上人/NPC/拉完了)
### 综合分析
#### 构图评价
[3-4句话]
#### 色彩评价
[3-4句话]
#### 光线评价
[3-4句话]
#### 技术质量评价
[3-4句话]
### 改进建议
#### 拍摄技巧
[3条建议]
#### 后期处理
[3条建议]
#### 构图优化
[3条建议]
### 总体评价
[2-3句话]
```
### Level 10: 详细 (~4000字 per photo)
```markdown
## [Photo Name]
### 综合评分: X.XX/10 (夯/顶级/人上人/NPC/拉完了)
### 评分解读
[3-4句话]
### 综合分析
#### 构图评价
[6-10详细句话]
#### 色彩评价
[6-10详细句话]
#### 光线评价
[6-10详细句话]
#### 技术质量评价
[6-10详细句话]
### 改进建议
#### 拍摄技巧
[5-7详细条建议]
#### 后期处理
[5-7详细条建议]
#### 构图优化
[5-7详细条建议]
### 总体评价
[3-4段,每段6-8句]
```
### Multiple Photos Comparison (Level 3, ~600字 total)
```markdown
## 照片对比分析
### 照片 1: [Name]
[Level 3 evaluation as above, ~300字]
### 照片 2: [Name]
[Level 3 evaluation as above, ~300字]
## 对比总结
| 对比项 | 照片1 | 照片2 | 胜出 |
|--------|-------|-------|------|
| 综合评分 | X.XX/10 | X.XX/10 | 照片X |
| 构图 | [评级] | [评级] | 照片X |
| 色彩 | [评级] | [评级] | 照片X |
| 光线 | [评级] | [评级] | 照片X |
| 技术质量 | [评级] | [评级] | 照片X |
## 综合建议
[3-4句话]
```
## Score Interpretation Guide
### "从夯到拉" Rating System / "从夯到拉" 评分系统
| Score Range | 等级 / Level | Description / 描述 |
|-------------|-------------|-------------------|
| 9.0-10.0 | **夯 (Hāng)** | 好到没话说,顶级水平 / Exceptional, top-tier, perfect |
| 8.0-8.9 | **顶级** | 极好,专业水准 / Excellent, professional level |
| 7.0-7.9 | **人上人** | 很好,超越常人 / Very good, above average, outstanding |
| 6.0-6.9 | **NPC** | 不起眼,普普通通 / Average, unremarkable, plain |
| 0.0-5.9 | **拉完了** | 差到没法再差 / Terrible, needs major improvement |
### Traditional Rating / 传统评分
| Score Range | Level | Description |
|-------------|-------|-------------|
| 9.0-10.0 | 优秀 | Exceptional quality, professional level |
| 8.0-8.9 | 很好 | High quality with minor improvements needed |
| 7.0-7.9 | 良好 | Solid quality, above average |
| 6.0-6.9 | 一般 | Average quality, noticeable room for improvement |
| 4.0-5.9 | 较差 | Below average, significant improvements needed |
| 0.0-3.9 | 很差 | Poor quality, substantial improvements needed |
**重要说明**: 综合评分格式示例:
```
综合评分: X.XX/10 (夯)
综合评分: X.XX/10 (顶级)
综合评分: X.XX/10 (人上人)
综合评分: X.XX/10 (NPC)
综合评分: X.XX/10 (拉完了)
```
## Error Handling
If any evaluation source fails:
1. **Improved Predictor fails**: Use NIMA only
- Score: NIMA score only
- Note in report: "Improved Predictor 不可用,仅使用 NIMA 评分"
2. **NIMA fails**: Use Improved Predictor only
- Score: Improved Predictor score only
- Note in report: "NIMA 不可用,仅使用 Improved Predictor 评分"
3. **Both sources fail**: Inform user and suggest trying again later
## Script Dependencies
All scripts in `scripts/` directory must be executable:
- `score_improved_predictor.py`: Fast aesthetic scoring
- `score_nima.py`: Detailed quality analysis
- `comprehensive_score.py`: Integrated weighted scoring
## Model Paths (Local Installation)
### Default Paths (Windows)
| Model | Location |
|-------|----------|
| Improved Aesthetic Predictor (.pth) | `F:\software\skill\aesthetic-scorer\models\improved-aesthetic-predictor\sac+logos+ava1-l14-linearMSE.pth` |
| NIMA MobileNet weights (.h5) | `F:\software\skill\aesthetic-scorer\models\neural-image-assessment\weights\mobilenet_weights.h5` |
### Environment Variables (Override Default Paths)
You can override model paths by setting environment variables:
| Variable | Description | Default |
|----------|-------------|---------|
| `AESTHETIC_SCORER_MODEL_DIR` | Override IAP model directory | `F:\software\skill\aesthetic-scorer\models\improved-aesthetic-predictor` |
| `AESTHETIC_SCORER_NIMA_DIR` | Override NIMA model directory | `F:\software\skill\aesthetic-scorer\models\neural-image-assessment` |
Python runtime: `F:\software\python\python.exe` (Python 3.12)
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`
## Usage Examples
**User**: "请评价这张照片"
**Action**: Execute both evaluations, calculate weighted score, generate Level 3 evaluation (default, ~300字)
**User**: "详细评价这张照片"
**Action**: Execute both evaluations, calculate weighted score, generate Level 10 evaluation (~4000字)
**User**: "简要评价这张照片"
**Action**: Execute both evaluations, calculate weighted score, generate Level 1 evaluation (~200字)
**User**: "对比这两张照片"
**Action**: Evaluate both photos, generate Level 3 comparison (~600字 total)
**User**: [评价后] "给我看详细版"
**Action**: Retrieve the saved Level 10 evaluation and present it immediately
## Notes
- Always execute both evaluation sources when available
- Present evaluation as unified expert opinion
- Default to Level 3 (medium detail) unless user specifies otherwise
- Always generate and save Level 10 (detailed) evaluation in background
- Retrieve saved detailed evaluation when requested, don't regenerate
- Avoid repetitive references to evaluation sources
- Use natural, flowing language
- Adjust detail level based on user request
- Support both Chinese and English
- Always display "从夯到拉" rating level in the score
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!