Files

66 lines
1.7 KiB
Markdown

# Output Format — JSON
## Structure
The scorer outputs a JSON file with an array of results. Each entry represents one photo.
## Schema
```json
[
{
"filename": "IMG_0001.jpg",
"filepath": "/path/to/wedding-photos/IMG_0001.jpg",
"subtype": "aesthetic",
"laion_score": 7.2,
"laion_version": "v2",
"scoring_date": "2026-01-15T10:30:00Z"
}
]
```
## Fields
| Field | Type | Description |
|-------|------|-------------|
| `filename` | string | Base filename (e.g., `IMG_0001.jpg`) |
| `filepath` | string | Full absolute path to the image |
| `subtype` | string | Classifier subtype — `aesthetic` for LAION (future: `technical`, `blur`, etc.) |
| `laion_score` | float | LAION aesthetic score (0-10 scale) |
| `laion_version` | string | Version of LAION model used (e.g., `v2`) |
| `scoring_date` | string | ISO 8601 timestamp of when scoring was performed |
## Example
```json
[
{
"filename": "DSC_0421.jpg",
"filepath": "C:/wedding-photos/day1/DSC_0421.jpg",
"subtype": "aesthetic",
"laion_score": 8.1,
"laion_version": "v2",
"scoring_date": "2026-01-15T10:30:00Z"
},
{
"filename": "DSC_0422.jpg",
"filepath": "C:/wedding-photos/day1/DSC_0422.jpg",
"subtype": "aesthetic",
"laion_score": 3.4,
"laion_version": "v2",
"scoring_date": "2026-01-15T10:30:01Z"
}
]
```
## Thresholds (TBD)
Thresholds for keep/reject/review are not yet defined. Will be determined after running initial batches and reviewing score distributions.
Suggested approach:
1. Score a sample of 100-200 photos
2. Analyze the score distribution
3. Set thresholds based on the distribution (e.g., top 25% = keep, bottom 25% = reject, middle = review)
4. Adjust based on photographer feedback