摄影照片评分Aesthetic Scorer

v1.4.9

给你的照片打分、评价反馈、给出改进建议或美学分析 / Aesthetic photo scorer with detailed analysis

0· 214·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for kooui/aesthetic-scorer.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "摄影照片评分Aesthetic Scorer" (kooui/aesthetic-scorer) from ClawHub.
Skill page: https://clawhub.ai/kooui/aesthetic-scorer
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install aesthetic-scorer

ClawHub CLI

Package manager switcher

npx clawhub@latest install aesthetic-scorer
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the included code: two local models (Improved Aesthetic Predictor using CLIP+MLP and NIMA MobileNet) are used to compute a combined score. Declared dependencies (PyTorch, transformers, TensorFlow/Keras, Pillow, numpy) are appropriate for the stated models. Environment variables in config.json (model directory overrides) are proportional to the need to locate local model files.
!
Instruction Scope
SKILL.md instructs the agent to always generate a very large ('Level 10' ~4000-word) detailed evaluation in the background for every requested image and to 'save' it for immediate retrieval. The code files do not implement text-generation or a save/load mechanism for those evaluations—the large-text generation/saving would be done by the agent runtime per the SKILL.md instructions. This is not inherently malicious, but it is a scope/persistence concern: it implies extra compute, disk usage, and persistent storage of possibly sensitive images/analysis without specifying where or how long data is stored. Also there is a minor mismatch between README (which suggests automatic downloads on first use) and the scripts that force transformers to local_files_only and error if model files are missing; you must provision model files locally before use.
Install Mechanism
There is no formal install spec in the registry entry (instruction-only install). The package contains requirements.txt and README instructions to pip-install heavy ML packages and clone model repos. That is expected given the model-based functionality, but it means you must manually install large dependencies and place model weight files in the expected local paths (defaults use Windows-style F:\ paths). No remote, untrusted download URLs or obfuscated installers were found in the package.
Credentials
The skill does not request any credentials, tokens, or unexpected environment variables. The only env variables referenced are optional overrides for local model directories (AESTHETIC_SCORER_MODEL_DIR and AESTHETIC_SCORER_NIMA_DIR), which are reasonable and proportional.
Persistence & Privilege
always:false and autonomous invocation are normal. The SKILL.md's instruction to 'ALWAYS generate' and 'save' the detailed evaluation implies persistent storage of generated evaluations (and potentially intermediate outputs). The code itself does not modify other skills or global agent settings. You should confirm where the agent will store the saved detailed evaluations and for how long, since that affects privacy and disk usage.
Assessment
This skill appears to do what it says: offline, local aesthetic scoring with two local models. Before installing, consider these practical points: (1) You must install large ML dependencies (PyTorch, TensorFlow) and provide the model weight files locally—scripts expect local model files and will error if they're missing. (2) The defaults use Windows F:\ paths; set the environment variables (AESTHETIC_SCORER_MODEL_DIR, AESTHETIC_SCORER_NIMA_DIR) to where you store models on your machine. (3) SKILL.md requires the agent to always generate and 'save' very large detailed reports in the background—ask where the agent will store these files and for how long (privacy/disk-space consideration). (4) The skill does not request credentials or perform network exfiltration per the provided code, but installing/using it requires trust in the model weights you obtain (ensure you download from reputable sources). If you need the skill to be strictly non-persistent, request or implement an explicit save location and retention policy before enabling it.

Like a lobster shell, security has layers — review code before you run it.

AIvk97468xyyj0zj69tvajgvd876n839km3aestheticvk97468xyyj0zj69tvajgvd876n839km3beautyvk97468xyyj0zj69tvajgvd876n839km3imagevk97468xyyj0zj69tvajgvd876n839km3latestvk97468xyyj0zj69tvajgvd876n839km3photovk97468xyyj0zj69tvajgvd876n839km3scorervk97468xyyj0zj69tvajgvd876n839km3visionvk97468xyyj0zj69tvajgvd876n839km3
214downloads
0stars
9versions
Updated 1mo ago
v1.4.9
MIT-0

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
ParameterValueDescription
Base IAP Weight45%Balanced starting point
Base NIMA Weight55%Balanced starting point
Max Adjustment±25%IAP weight increases with controversy
IAP Weight Range45% - 70%Dynamic adjustment
Divergence Threshold2.0Score difference triggers penalty
Divergence Penalty0.05Per 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:

LevelNameWord Count per PhotoDescription
1简要~200字Concise overview, key points only
3中等 (默认)~300字Balanced, covers all aspects
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)

## [Photo Name]

综合评分: X.XX/10 (等级: 夯/顶级/人上人/NPC/拉完了)
构图: [2-3句话]
色彩: [2-3句话]
光线: [2-3句话]
技术: [2-3句话]
建议: [3-4条关键建议]

Level 3: 中等 (默认, ~300字 per photo)

## [Photo Name]

### 综合评分: X.XX/10 (夯/顶级/人上人/NPC/拉完了)

### 综合分析

#### 构图评价
[3-4句话]

#### 色彩评价
[3-4句话]

#### 光线评价
[3-4句话]

#### 技术质量评价
[3-4句话]

### 改进建议

#### 拍摄技巧
[3条建议]

#### 后期处理
[3条建议]

#### 构图优化
[3条建议]

### 总体评价
[2-3句话]

Level 10: 详细 (~4000字 per photo)

## [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)

## 照片对比分析

### 照片 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等级 / LevelDescription / 描述
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.9NPC不起眼,普普通通 / Average, unremarkable, plain
0.0-5.9拉完了差到没法再差 / Terrible, needs major improvement

Traditional Rating / 传统评分

Score RangeLevelDescription
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)

ModelLocation
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:

VariableDescriptionDefault
AESTHETIC_SCORER_MODEL_DIROverride IAP model directoryF:\software\skill\aesthetic-scorer\models\improved-aesthetic-predictor
AESTHETIC_SCORER_NIMA_DIROverride NIMA model directoryF:\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

Comments

Loading comments...