这个项目能做什么

该仓库包含一个研究演示和一个完全在浏览器中运行的人脸检测打包 Web 应用程序。所有推理均通过 TensorFlow.js 上的 face-api.js 在客户端完成;容器仅用于提供静态文件和模型权重。实时演示链接为 face.jedarden.com,且 README 注明该仓库是外部 Git 宿主机的只读镜像。 文中描述了两个主要目录。第一个目录 research/face-detection-lite 包含关于人脸检测方法(带有 Haar 级联的 Viola-Jones、HOG 结合 SVM 以及基于 CNN 的检测器)的笔记、papers/ 源代码资料集,以及一个运行 face-api.js 摄像头检测的静态页面,用户可在 Tiny Face Detector 和 SSD MobileNet v1 之间进行选择,并可选择加载关键点、表情以及年龄/性别模型。另一个文件夹 research/face-detection-pro 包含关于关键点检测的 Markdown 笔记。研究演示可通过简单的 python3 -m http.server 启动。 第二个目录 docker-app 是一个经 webpack 构建的单页应用,由 nginx 提供服务,具有两种模式。Lite 模式使用 Tiny Face Detector 绘制边界框,具有可调节的阈值,并由 requestAnimationFrame 驱动。Pro 模式使用 SSD MobileNet v1 以及 68 点关键点模型,支持 face-api.js 的七类表情识别以及年龄/性别估计,并提供关键点、轮廓、表情和人口统计信息的叠加显示。文中指出 Pro 模式更重且速度较慢。其他功能包括在存在多个摄像头时进行摄像头选择、可切换的诊断叠加层(报告 FPS、内存和耗时),以及带有兼容性检查的 TensorFlow.js WASM 后端入口点。 README 文档记录了一个多阶段 Dockerfile(Node 构建器,nginx:alpine 运行时),GHCR 上标签为 2.0.5 的镜像压缩后约为 80 MB,包含一个带有 nginx /health 端点的 Docker HEALTHCHECK,以及在 8443 端口上使用构建时自签名证书的 HTTPS(可通过在 /etc/nginx/ssl 挂载证书来替换)。快速启动指南涵盖了拉取 ghcr.io/jedarden/face-detection:2.0.5、使用 docker-compose 从源码运行以及在 3000 端口上的开发配置文件。测试部分描述了 Jest 单元测试和集成测试、Puppeteer E2E 测试、Playwright 规范以及一个安全测试文件。 版本 1.1.0 被标注为响应 npm audit 发现的依赖更新,并附有安全迁移指南;提交的 security-audit.json 被描述为 9 项发现的即时快照。README 指出未提交基准测试数据,帧率取决于宿主浏览器的后端,可通过应用内叠加层实时查看。浏览器要求支持 getUserMedia 以及 WebGL 或 WebAssembly。项目代码采用 MIT 许可,而模型权重和库在 LICENSES/ 下拥有各自的许可。README 还记录了 AI 辅助的提示词驱动开发过程以及所做的架构决策,包括选择纯 JavaScript 而非框架以及选择浏览器端推理。