Aesthetics
Image Aesthetics Toolkit - includes Fisher Vector implementation, AVA (Image Aesthetic Visual Analysis) dataset and fast multi-threaded downloader
Install / Use
/learn @ylogx/AestheticsREADME
Aesthetics
Image Aesthetics Definition
Image aesthetic evaluation aims to classify photos into high quality or low quality from the perspective of human.
High Quality Image | Low Quality Image
:------------------------------------:|:-------------------------------------:
| 
Image Aesthetics drills down to a classification problem:
- Low Quality Image <img alt="Bad Image" src="https://i.imgur.com/1do94BE.png" height=30/>
- High Quality Image <img alt="Good Image" src="https://i.imgur.com/ZGiqssA.png" height=30/>
A commonly used dataset for image aesthetics is AVA (Image Aesthetic Visual Analysis) dataset
This repo provides following tools to help in image aesthetics problem:
- Fisher Vector implementation
- AVA dataset and fast multi-threaded downloader
Fisher Vector
Fisher Vector is a technique for generating features for images, which can be used by discriminative models like SVM. You can use fisher vectors for usecases like image classification (ImageNet), image aesthetics.
<!-- Describe Patches by their deviation from Universal Generative Mixture Model. -->Flow
- We create local descriptors using SIFT for each image in the training set
- We fit a Gausian Mixture Model (GMM) on descriptors for all images in training set.
- Using this global GMM we generate features for each image

Spatial Pooling
Spatial pooling is a technique to save the spatial information of the image while generating features. This is very important in image aesthetics because the look and feel of the image are highly dependent on the aspect ratio, placement of the objects in the image.
Following image should clarify the importance of spatial pooling:

For spatial pooling, the fisher vector paper recommends splitting the image into 4 patches:
- Full image patch
- 3 horizontal sliced patches of the image
To generate the fisher vector of the image, as shown in the flowchart above, we concat the fisher vectors of the 4 individual patches of the image.
AVA Downloader
./download.py --help
./download.py ava
This is a WIP
<!--# Downloaded dataset--> <!--ECCV 2016:--> <!--* [Dataset Link (2 GB)](dataset_link)--> <!--* [Dataset 256x256 size cropped preview (132 MB)](dataset_preview_link)--> <!--[dataset_link]: https://drive.google.com/open?id=0BxeylfSgpk1MN1hUNHk1bDhYRTA--> <!--[dataset_preview_link]: https://drive.google.com/open?id=0BxeylfSgpk1MU2RsVXo3bEJWM2c-->Related Skills
healthcheck
342.0kHost security hardening and risk-tolerance configuration for OpenClaw deployments
imsg
342.0kiMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.
node-connect
342.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
xurl
342.0kA CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.
