0Aman1/IntelliVision
GitHub: 0Aman1/IntelliVision
一款 AI 驱动的图像取证与安全分析平台,整合目标检测、OCR、篡改检测等多维能力,实现单图片深度解读。
Stars: 0 | Forks: 0
# IntelliVision
**AI 驱动的图像分析,支持多视角解读。**
单进程、同步、单体后端。无队列、无任务存储、无轮询。
## 项目概述
IntelliVision 通过单一的请求/响应流程分析上传的图像:
1. 通过 `POST /api/v1/analyze` **上传**图像。
2. **后端**在进程内运行完整流水线:
- **共享视觉:** 目标检测 (YOLO)、OCR (EasyOCR/Tesseract)、场景分类、元数据。
- **Agent 视角:** 风险、人群密度、异常、安全警报。
- **侦探视角:** ELA、克隆检测、取证线索、篡改评估。
- **用户视角:** 摘要、标题、关键点、说明。
3. **响应**在同一个 HTTP 响应中返回完整的 JSON 结果。
无 `task_id`、无轮询、无 Celery、无 Redis、无用于任务的 PostgreSQL。
## 架构 (单体)
```
┌─────────────┐ POST /api/v1/analyze ┌──────────────────────────────────┐
│ Browser │ ────────────────────────────► │ FastAPI (single process) │
│ (React) │ multipart/form-data │ • Save image │
└─────────────┘ │ • run_shared_vision │
▲ │ • run_agent_view │
│ │ • run_detective_view │
│ Full JSON result │ • run_user_view │
└─────────────────────────────────────│ • Delete temp file │
│ • Return response │
└──────────────────────────────────┘
```
- **单一后端进程:** 一个 uvicorn 进程运行 API 和所有 AI 逻辑。
- **同步:** 请求阻塞直到分析完成;响应包含完整结果。
- **无状态:** 无任务数据库;无 Redis/Celery。
## 核心能力
- **目标检测** (YOLOv8)
- **OCR** (EasyOCR, Tesseract 后备)
- **场景分类** (桩模块;可扩展)
- **元数据** (EXIF/时间戳)
- **Agent 视角** (风险、人群、警报、观察)
- **侦探视角** (ELA、克隆检测、取证线索、篡改)
- **用户视角** (摘要、BLIP 标题、关键点、说明)
## 文件夹结构
```
IntelliVision/
├── backend/
│ ├── main.py # Entry: from app.main import app (for uvicorn main:app)
│ ├── requirements.txt
│ ├── app/
│ │ ├── main.py # FastAPI app, CORS, router
│ │ ├── core/
│ │ │ └── constants.py # UPLOAD_DIR, allowed types, max size
│ │ ├── utils/
│ │ │ └── image_utils.py # validate_image, generate_safe_filename
│ │ ├── api/v1/
│ │ │ ├── router.py # Mounts health + analyze
│ │ │ └── routes/
│ │ │ ├── health.py # GET /health
│ │ │ └── analyze.py # POST /analyze (sync pipeline)
│ │ └── ai/
│ │ ├── shared/ # run_shared_vision (YOLO, OCR, scene, metadata)
│ │ ├── agent_view/ # run_agent_view
│ │ ├── detective_view/ # run_detective_view
│ │ └── user_view/ # run_user_view
│ └── uploads/ # Temp uploads (created at runtime)
├── frontend/
│ ├── package.json
│ ├── vite.config.js
│ ├── index.html
│ └── src/
│ ├── main.jsx
│ ├── App.jsx # Upload → POST analyze → display result
│ ├── App.css
│ └── index.css
└── README.md
```
## 技术栈
| 层级 | 技术 |
|----------|------------|
| 后端 | Python 3.11+, FastAPI, Uvicorn |
| AI | PyTorch, Ultralytics (YOLO), EasyOCR, Tesseract, Transformers (BLIP), OpenCV, Pillow, NumPy, SciPy |
| 前端 | React 18, Vite, Axios, Lucide React |
| 配置 | Pydantic (环境变量), 代码中的常量 |
## 如何运行
### 后端
使用 **Python 3.11**(spaCy/Pydantic 尚未完全兼容 Python 3.14+)。本仓库提供了一个使用 3.11 创建的 `venv311`;可以直接使用或自行创建:
```
# 从项目根目录(例如 intellivision-forensics)
python -m venv venv311 --python=python3.11 # or: py -3.11 -m venv venv311
venv311\Scripts\activate # Windows
# source venv311/bin/activate # Linux/macOS
pip install -r requirements.txt
uvicorn backend.main:app --reload --host 0.0.0.0 --port 8000
```
- API: http://localhost:8000
- 文档: http://localhost:8000/docs
### 前端
```
cd IntelliVision/frontend
npm install
npm run dev
```
- 应用: http://localhost:3000 (或 Vite 显示的端口)。
- 确保后端运行在 8000 端口,以便前端可以调用 `/api/v1/analyze`。
### 快速测试
1. 启动后端,然后启动前端。
2. 在浏览器中打开应用,上传图像 (JPEG/PNG/WebP, 最大 10MB)。
3. 点击 **Analyze Image**。等待请求完成(无轮询)。
4. 在 Overview、Objects、Text、Scenes、Perspectives 和 Forensics 标签页查看结果。
## 未来扩展
- **可选的速率限制**(如需要,例如内存或 Redis)。
- **ResNet/ViT 场景分类器**以替换桩模块。
- 检测对象之间的**关系分析**。
- **可选的结果缓存**(例如通过图像哈希)以避免对同一图像重新运行流水线。
- **Docker** 单镜像部署(后端使用一个容器,无需用于任务的 worker/Redis/Postgres)。
**版本:** 1.0.0
**架构:** 单体、同步、单进程。
标签:AV绕过, ELA, FastAPI, Naabu, OCR, Python, React, Syscalls, YOLO, 人工智能, 元数据分析, 光学字符识别, 克隆检测, 内容安全, 凭据扫描, 单体系架构, 图像分析, 图像取证, 图像鉴权, 场景分类, 对象检测, 异常检测, 情报分析, 数字取证, 无后门, 深度伪造检测, 用户模式Hook绕过, 篡改检测, 系统调用监控, 网络安全, 网络诊断, 自动化攻击, 自动化脚本, 计算机视觉, 逆向工具, 错误级别分析, 隐写术, 隐私保护