Steve-Mr/EmojiFace

Identify faces in an image and replace them with emojis.

FaceMoji 的功能

FaceMoji(也称为 EmojiFace)是一个小型 Android/Web 应用,检测图片中的人脸,并在每个面部区域覆盖一个表情符号(或应用模糊效果)。所有图像处理均在本地完成——不会上传到服务器。

工作原理

  • 应用使用预训练的 YOLOv8‑face 模型(来自 derronqi/yolov8-face 项目)来定位图像中的面部。
  • 一旦检测到面部矩形,应用会执行以下操作之一:
    • 在该区域绘制选定的表情符号,或
    • 应用多种模糊样式之一(高斯模糊、像素化、半色调类似效果)。
  • 用户可以手动添加、移动或删除表情符号和模糊区域,并可导入自定义的表情符号风格字体文件。

可运行的平台

平台 获取方式 说明
Web (PWA) 点击 README 中的 Deploy with Vercel 按钮,或按照 web/README.md 中的说明操作。该网站完全在浏览器中运行,不远程存储任何数据。 支持桌面和移动浏览器;可作为渐进式 Web 应用(PWA)安装。
Android 从 GitHub 发布页面下载最新版本(两种 APK 风格):
default – 正常应用图标(可在设置中隐藏)。
icon‑disabled – 默认图标隐藏,专为“分享到应用”使用而设计。
两个 APK 均已签名,可手动安装。隐藏图标版本在仅通过 Android 分享菜单启动应用时非常有用。

主要功能

  1. 自动人脸检测 → 默认表情符号覆盖或模糊处理。
  2. 手动编辑 – 添加、移动或删除表情符号 / 模糊区域。
  3. 多种模糊样式 – 高斯模糊、像素化、自定义半色调类似效果。
  4. 图标隐藏模式 – 仅通过图像分享意图运行应用。
  5. 自定义表情符号字体 – 导入自己的表情符号风格字体以更改覆盖外观。

限制与注意事项

  • 人脸检测模型是 离线 的,在设备上运行,但不如云服务稳健——在某些图像中可能漏检或误检人脸。
  • Web 版本由贡献者(Jules / Vibe Coding)快速搭建;代码质量和稳定性无法保证。
  • 应用以“原样提供”,无任何保证

如何贡献 / 自行构建

  • 仓库包含一个 web 文件夹,其内部有独立的 README 用于部署说明。
  • Android 源代码可使用 Android Studio 编译;两种 APK 风格在 Gradle 配置中定义。
  • 人脸检测模型来自外部 derronqi/yolov8-face 项目,因此更新模型只需替换应用使用的 .pt 文件即可。

致谢

  • 表情符号图标改编自 Freepik 上的 Carnival Masks Pack
  • 人脸检测依赖于 derronqi/yolov8-face 提供的 YOLOv8‑face 模型。

TL;DR – FaceMoji 是一款以隐私为先的 Android/Web 工具,使用设备端的 YOLOv8 人脸检测器将人脸替换为表情符号或模糊处理,支持可选的手动编辑和仅通过分享启动的隐藏图标模式。

相关

  • 项目
  • Dispatch
  • 项目
  • 项目
  • 项目