An open API service indexing awesome lists of open source software.

https://github.com/nuraj250/traceback-reverse-image-finder

TraceBack helps you instantly find the source of any image, detect edits or crops, and identify AI-generated or fake imagesβ€”all with one click.
https://github.com/nuraj250/traceback-reverse-image-finder

ai-image-detection computer-vision deep-learning flask image-recognition opencv perceptual-hashing react reverse-image-search

Last synced: 29 days ago
JSON representation

TraceBack helps you instantly find the source of any image, detect edits or crops, and identify AI-generated or fake imagesβ€”all with one click.

Awesome Lists containing this project

README

          

# πŸ•΅οΈβ€β™‚οΈ TraceBack – Reverse Image Finder

TraceBack is a full-stack web application built with **React** and **Flask** that allows you to:

- Upload an image via drag & drop or file picker
- Detect and compare it with existing images
- See visual similarity scores
- Analyze if it's AI-generated using DeepFace
- Export results to CSV or PDF

---

## πŸš€ Features

- πŸ” Reverse image lookup using OpenCV feature matching (ORB)
- 🧬 Perceptual hashing for fast comparisons
- πŸ€– AI image detection using DeepFace
- πŸ“Š Visual similarity indicators
- πŸ“ Drag and drop upload
- πŸ“€ Export results (CSV / PDF)

---

## πŸ–ΌοΈ Preview

### πŸ”Ό Upload Image
![Upload](docs/screenshot-upload.jpeg)

### πŸ“Š Matched Results
![Results](docs/screenshot-results.jpeg)

---

## 🧱 Tech Stack

| Frontend | Backend |
|----------|---------|
| React + Axios | Flask |
| HTML5 Drag-and-Drop | OpenCV (ORB) |
| FileSaver.js, jsPDF | DeepFace + Pillow + ImageHash |

---

## πŸ› οΈ Installation

### 1. Clone the repo

```bash
git clone https://github.com/Nuraj250/traceback.git
cd traceback
```

---

### 2. Setup Backend (Flask)

```bash
cd backend
python -m venv venv
source venv/bin/activate # or venv\Scripts\activate on Windows
pip install -r requirements.txt
python app.py
```

> Flask runs on: `http://localhost:5000`

Make sure you have test images in `backend/static/database/`.

---

### 3. Setup Frontend (React)

```bash
cd ../frontend
npm install
npm start
```

> React runs on: `http://localhost:3000`

---

## πŸ“‚ Folder Structure

```
traceback/
β”œβ”€β”€ backend/
β”‚ β”œβ”€β”€ app.py
β”‚ β”œβ”€β”€ static/uploads/
β”‚ β”œβ”€β”€ static/database/
β”‚ β”œβ”€β”€ utils/image_search.py
β”œβ”€β”€ frontend/
β”‚ β”œβ”€β”€ src/App.jsx
β”‚ β”œβ”€β”€ src/components/ResultCard.jsx
β”‚ β”œβ”€β”€ public/
β”‚ └── docs/
β”‚ β”œβ”€β”€ screenshot-upload.png
β”‚ └── screenshot-results.png
β”œβ”€β”€ README.md
```

---

## πŸ“€ Exports

- πŸ“„ Click β€œExport CSV” to download results in `.csv`
- 🧾 Click β€œExport PDF” for a clean printable report

---

## πŸ’‘ Future Ideas

- Image hosting (Cloudinary / S3)
- Save user history
- Real-time similarity percentage tuning
- Mobile UI optimization

---

## πŸ“œ License

MIT Β© [Nuraj](https://github.com/Nuraj250)
```