← all repositories
yunxiaoshi/Neural-IMage-Assessment

Teaching machines to judge your vacation photos

A PyTorch reimplementation of Google's NIMA model that predicts how humans will rate image aesthetics—useful for auto-curating or ranking photos without a human in the loop.

585 stars Python Computer VisionML Frameworks
Neural-IMage-Assessment
Velocity · 7d
+0.2
★ / day
Trend
steady
star history

What it does

Neural IMage Assessment (NIMA) scores photos on a 1–10 aesthetic scale by learning from 255,000+ human-rated images in the AVA dataset. This repo provides training and inference code, plus pretrained weights that hit ~0.069 EMD on validation. Feed it an image; get back a mean score and standard deviation that approximates human opinion distribution.

The interesting bit

The model doesn’t just spit out a single number—it predicts a full score distribution, which matters more than you’d think. The author also notes an emergent quirk: the model is contrast-hungry, consistently boosting scores for punchier images. That’s either a bug for faithful aesthetic simulation or a feature for auto-enhancement pipelines.

Key highlights

  • VGG-16 backbone with ImageNet pretraining; MobileNet and Inception-v2 slots are wired but untested
  • Curated CSV splits provided (train/val/test) with corrupted images already scrubbed
  • Early stopping baked in; training snapshot shows convergence trajectory at epoch 34
  • Pretrained weights available (~0.069 EMD, author notes it’s “not fully converged” due to resource limits)
  • Includes explicit failure-case analysis—model struggles at aesthetic extremes (very high or very low ratings)

Caveats

  • Learning rate differs from the original paper; author couldn’t get convergence with Google’s stated parameters
  • “Not much hyper-param tuning” per the README—results are likely suboptimal
  • Requires AVA dataset download and manual setup; no turnkey demo

Verdict

Worth a look if you’re building photo ranking, auto-curation, or enhancement tools and need a pretrained aesthetic prior. Skip if you need production-grade robustness out of the box—the author is upfront that this is a research reimplementation with rough edges.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.