Background
The image detector in backend/app/detection/image/detector.py documents four methods (FFT/frequency analysis, artifact detection, metadata forensics, and a CNN classifier). The first three are implemented as statistical heuristics; the CNN classifier is marked as future ('Trained binary classifier (future)') and is not wired in.
Goal
Train (or fine-tune) a lightweight binary real-vs-AI image classifier and integrate it behind the existing detector interface, fused with the current heuristics.
Suggested approach
- Use a compact backbone exportable to ONNX so inference stays CPU-friendly and dependency-light.
- Combine the CNN score with the existing FFT/artifact/metadata signals into the final confidence, rather than replacing them.
- Keep the result explainable: report the CNN's contribution in the evidence card.
Acceptance criteria
- Inference path covered by tests with the model stubbed (CI stays offline/fast).
- Heuristic-only behavior preserved when the model is absent.
- A short doc/section on obtaining or training the model.
Self-contained and well-scoped for someone interested in vision models + provenance. Comment here to coordinate.
Background
The image detector in
backend/app/detection/image/detector.pydocuments four methods (FFT/frequency analysis, artifact detection, metadata forensics, and a CNN classifier). The first three are implemented as statistical heuristics; the CNN classifier is marked as future ('Trained binary classifier (future)') and is not wired in.Goal
Train (or fine-tune) a lightweight binary real-vs-AI image classifier and integrate it behind the existing detector interface, fused with the current heuristics.
Suggested approach
Acceptance criteria
Self-contained and well-scoped for someone interested in vision models + provenance. Comment here to coordinate.