PrivacyLens2 是一个面向图片隐私保护的项目,目标是在移动端对敏感信息进行检测与打码处理。
当前仓库同时包含两部分:
- Android 客户端(主路径,支持本地离线处理)
- Python FastAPI 后端(可选,用于 API 调试/服务化部署)
- 文本隐私检测:手机号、身份证、邮箱、银行卡等(OCR + 规则匹配)
- 视觉隐私检测:人脸检测(ML Kit)
- 语义匹配:ONNX Runtime 加载 SBERT,用于视觉工具语义判断
- 图片打码:根据命中区域生成马赛克
- Android: Kotlin, Jetpack Compose, ML Kit, ONNX Runtime Android
- Backend: FastAPI, Uvicorn, PaddleOCR, OpenCV
PrivacyLens2/
├─ app/ # Android 客户端
├─ backend/ # Python 后端
│ ├─ app/routers/ # intent / ocr / processing API
│ ├─ scripts/ # SBERT 下载、导出、验证脚本
│ └─ requirements.txt
├─ docs/
│ ├─ api-docs.md
│ ├─ Update-logs.md
│ └─ WORKFLOW_SUMMARY.md
├─ build.gradle.kts
└─ settings.gradle.kts
- Android Studio(建议最新稳定版)
- JDK 11+
- Android SDK(minSdk 24, targetSdk 36)
- Python 3.10+
- pip
git clone https://github.com/Mr-J-Forest/PrivacyLens.git
cd PrivacyLens- 用 Android Studio 打开项目根目录。
- 等待 Gradle 同步完成。
- 连接模拟器或真机。
- 运行
app模块。
命令行构建(Windows):
gradlew.bat assembleDebug命令行构建(macOS/Linux):
./gradlew assembleDebugAndroid 本地语义匹配依赖以下资源:
app/src/main/assets/sbert/model.onnxapp/src/main/assets/sbert/vocab.txt
可在开发机使用后端脚本导出:
cd backend
python scripts/export_sbert_onnx.py导出后确认资源已放入 app/src/main/assets/sbert/。
cd backend
pip install -r requirements.txt
python main.py默认监听:http://127.0.0.1:8000
POST /api/v1/parse-intent:自然语言意图拆解POST /api/v1/ocr:OCR 识别POST /api/v1/process-image:隐私检测与打码
详细文档见 docs/api-docs.md。
- Android 端语义匹配无效
- 先检查
app/src/main/assets/sbert/下是否存在model.onnx与vocab.txt。
- 后端启动失败
- 确认 Python 版本与依赖安装完成:
pip install -r backend/requirements.txt。
- Gradle 构建失败
- 检查本地 JDK 与 Android SDK 版本;必要时执行
gradlew.bat clean后重试。
- 项目流程总结:
docs/WORKFLOW_SUMMARY.md - API 说明:
docs/api-docs.md - 更新日志:
docs/Update-logs.md
如需开源发布,请在仓库中补充明确的 LICENSE 文件。