Skip to content

Java免费离线AI算法工具箱,支持人脸识别(人脸比对,人脸库查询(Milvus/SQLite),人脸属性检测,活体检测)、目标检测(支持 YOLO,SSD、自训练模型)、OCR文字识别、机器翻译(200+语言翻译)等功能,致力于为开发者提供开箱即用的 AI 能力,无需 Python 环境,Maven 引用即可使用。已集成 SeetaFace6、YOLOv8、PaddleOCR 等主流模型

License

Notifications You must be signed in to change notification settings

geekwenjie/SmartJavaAI

Repository files navigation

🍬Java轻量级、免费、离线AI工具箱,致力于帮助Java开发者零门槛使用AI算法模型
像Hutool一样简单易用的Java AI工具箱

👉 http://smartjavaai.cn/ 👈

star github star gitcode star


开发文档


📚简介

SmartJavaAI是专为JAVA 开发者打造的一个功能丰富、开箱即用的 JAVA AI算法工具包,致力于帮助JAVA开发者零门槛使用各种AI算法模型,开发者无需深入了解底层实现,即可轻松在 Java 代码中调用人脸识别、目标检测、OCR 等功能。底层实现涵盖了 C++、Python 等语言的深度学习模型。后续将持续扩展更多算法,目标是构建一个“像 Hutool 一样简单易用”的 JAVA AI 通用工具箱

🚀 能力展示

人脸检测

- 5点人脸关键点定位

人脸比对1:1

- 人脸对齐

人证核验

人脸比对1:N

- 人脸对齐
- 人脸注册
- 人脸库查询
- 人脸库删除

人脸属性检测

- 性别检测
- 年龄检测
- 口罩检测
- 眼睛状态检测
- 脸部姿态检测

活体检测

- 图片和视频活体检测

人脸表情识别

- 7种表情检测

目标检测

OCR文字识别

- 支持任意角度文字识别
- 支持印刷体识别
- 支持手写字识别

机器翻译

- 200多种语言互相翻译

🚀 核心亮点

针对 Java 开发者在集成智能算法时常见的两大痛点:

  • 🐍 主流AI深度学习框架(PyTorch/TensorFlow)的Python生态与Java工程体系割裂

  • ⚙️ 现有算法方案分散杂乱,封装不统一,使用门槛高,不易直接服务于 Java 业务开发

我们实现了:

开箱即用 - 两行代码即可调用算法

支持多种深度学习引擎 - Pytorch、Tensorflow、MXNet、ONNX Runtime

功能丰富 - 当前支持人脸识别与目标检测,未来将陆续支持 OCR、图像分类、NLP 等多个 AI 领域任务,构建全面的智能算法体系。

跨平台兼容 - 支持Windows/Linux/macOS系统(x86 & ARM架构)

📌 支持功能

✅ 已实现功能

  • 人脸识别
    • 人脸检测:5点人脸关键点定位
    • 人脸识别:人脸512维特征提取、人脸对齐、1:1 人脸比对、1:N 人脸识别
    • 人脸库:人脸注册、更新、查询、删除(支持向量数据库milvus/sqlite)
    • 人脸属性检测:性别、年龄、口罩、眼睛状态、脸部姿态
    • 静默活体检测:图片、视频活体检测
    • 人脸表情识别:7种表情识别
    • 人脸质量评估:亮度评估、清晰度评估、完整度评估、姿态评估、遮挡评估
  • 目标检测
    • 支持多种主流模型:兼容 YOLOv3、YOLOv5、YOLOv8、YOLOv11、YOLOv12、SSD 等目标检测算法
    • 支持自定义模型加载:可无缝加载并部署用户自行训练的目标检测模型
  • OCR文字识别
    • 支持PaddleOCR 3.0模型:集成最新PP-OCRv5模型
    • 支持任意角度识别,方向校准
    • 支持通用文字识别,通用手写字识别
  • 机器翻译
    • 集成NLLB-200模型:支持200+语言互相翻译

🌟 AI集成方式对比

方案 技术特点 优点 缺点
OpenCV 传统图像处理方案 ✅ 提供java接口
✅ 轻量级部署
✅ 社区资源丰富
❌ 基于传统算法精度低(60%-75%)
❌ 需本地安装环境
虹软SDK 商业级闭源解决方案 ✅ 开箱即用
✅ 提供完整文档和SDK
✅ 支持离线活体检测
❌ 免费版需年度授权更新
❌ 商业授权费用高
❌ 代码不可控
云API(阿里云) SaaS化云端服务 ✅ 零部署成本
✅ 支持高并发
✅ 自带模型迭代
❌ 网络延迟风险(200-800ms)
❌ 按调用量计费
❌ 有数据安全风险
Python混合调用 跨语言调用方案 ✅ 可集成PyTorch/TF等框架
✅ 支持自定义算法
✅ 识别精度高
❌ 需维护双语言环境
❌ 进程通信性能损耗(30%+)
❌ 异常处理复杂度翻倍
DJL框架 深度学习框架 ✅ 纯Java实现
✅ 支持主流深度学习框架
✅ 可加载预训练模型(99%+)
❌ 需掌握DL知识
❌ 需处理模型加载、预处理、后处理等复杂技术细节
SmartJavaAI java深度学习工具包 ✅ 支持主流深度学习框架
✅ 提供丰富、开箱即用API
✅ 上手简单,单一Jar包集成
❌要求JDK版本11及以上

🛠️包含组件

模块 介绍
smartjavaai-common 基础通用模块,封装了公共功能,供各算法模块共享使用
smartjavaai-face 人脸功能模块
smartjavaai-objectdetection 目标检测模块
smartjavaai-ocr OCR文字识别模块
smartjavaai-translate 机器翻译模块

可以根据需求对每个模块单独引入,也可以通过引入smartjavaai-all方式引入所有模块。


📦 安装

1、环境要求

  • Java 版本:JDK 8或更高版本
  • 操作系统:不同模型支持的系统不一样,具体请查看文档

2、Maven

在项目的pom.xml的dependencies中加入以下内容(全部功能),也可以根据需求对每个模块单独引入:

<dependency>
    <groupId>cn.smartjavaai</groupId>
    <artifactId>smartjavaai-all</artifactId>
    <version>1.0.19</version>
</dependency>

3、完整示例代码

示例代码

4、文档地址

开发文档

5、模型简介及下载

模型下载

人脸模块

人脸检测模型(FaceDetection、FaceLandmarkExtraction)

支持功能:

  • 人脸检测
  • 5点人脸关键点定位
模型名称 引擎 模型简介 模型开源网站
RetinaFace PyTorch 高精度人脸检测模型 Github
UltraLightFastGenericFace PyTorch 针对边缘计算设备设计的轻量人脸检测模型 Github
SeetaFace6 C++ 中科视拓最新开放的开源免费的全栈人脸识别工具包 Github

人脸识别模型(FaceRecognition)

支持功能:

  • 人脸512维特征提取
  • 人脸对齐(人脸矫正)
  • 人脸特征比对(内积[IP]、欧氏距离[L2]、余弦相似度[COSINE])
模型名称 引擎 模型简介 模型开源网站
InsightFace_IR-SE50 PyTorch (高精度)这是对 ArcFace(论文)和 InsightFace(GitHub)的 PyTorch 重新实现 Github
InsightFace_Mobilefacenet PyTorch (轻量级)这是对 ArcFace(论文)和 InsightFace(GitHub)的 PyTorch 重新实现 Github
FaceNet PyTorch 基于 PyTorch 的 Inception ResNet(V1)模型仓库 Github
ElasticFace PyTorch 基于 CVPRW2022 论文《ElasticFace: Elastic Margin Loss for Deep Face Recognition》实现的人脸识别模型 Github
SeetaFace6 C++ 中科视拓最新开放的开源免费的全栈人脸识别工具包 Github

静态活体检测(RGB)模型(Silent face-anti-spoofing、FaceLivenessDetection)

支持功能:

  • 检测图片中的人脸是否为来自认证设备端的近距离裸拍活体人脸对象(裸拍活体正面人脸是指真人未经重度PS、风格化、人工合成等后处理的含正面人脸)
模型名称 引擎 模型简介 模型开源网站
MiniVision OnnxRuntime 小视科技的静默活体检测 Github
IIC_FL(cv_manual_face-liveness_flrgb) OnnxRuntime 阿里通义工作室人脸活体检测模型-RGB 魔塔
SeetaFace6 C++ 中科视拓最新开放的开源免费的全栈人脸识别工具包 Github

人脸表情识别模型(FacialExpressionRecognition、fer)

支持功能:

  • 支持识别7种表情:neutral(中性)、happy(高兴)、sad(悲伤)、surprise(惊讶)、fear(恐惧)、disgust(厌恶)、anger(愤怒)
模型名称 引擎 模型简介 模型开源网站
DensNet121 PyTorch FaceLib的densnet121表情识别模型 Github
FrEmotion OnnxRuntime FaceRecognition-LivenessDetection-Javascript Github

人脸属性识别模型(GenderDetection、AgeDetection、EyeClosenessDetection、FacePoseEstimation)

支持功能:

  • 性别检测
  • 年龄检测
  • 闭眼检测
  • 人脸姿态检测
  • 戴口罩检测
模型名称 模型简介 模型开源网站
SeetaFace6 中科视拓最新开放的开源免费的全栈人脸识别工具包 Github

人脸质量评估模型(FaceQualityAssessment)

支持功能:

  • 亮度评估
  • 清晰度评估
  • 完整度评估
  • 姿态评估
  • 遮挡评估
模型名称 模型简介 模型开源网站
SeetaFace6 中科视拓最新开放的开源免费的全栈人脸识别工具包 Github

目标检测模型

支持功能:

  • 自训练模型推理
  • yolov3~yolov12 系列

SSD 系列

模型名称 引擎 骨干网络 输入尺寸
训练数据集
精度(mAP)
推理速度
适用场景
SSD_300_RESNET5 PyTorch ResNet‑50 300×300 COCO 中等 精度需求一般
SSD_512_RESNET50_V1_VOC PyTorch ResNet‑50 512×512 Pascal VOC 稍高 中等 精度优先、可接受略低速度的场景
SSD_512_VGG16_ATROUS_COCO MXNet VGG‑16 512×512 COCO 较高 中等 通用场景;对小目标有一定提升
SSD_300_VGG16_ATROUS_VOC MXNet VGG‑16 300×300 Pascal VOC 中等偏上 VOC 数据集同类任务;资源受限时使用
SSD_512_MOBILENET1_VOC MXNet MobileNet‑1.0 512×512 Pascal VOC 中等 嵌入式/移动端设备;算力和内存都很有限

YOLO 系列

模型名称 引擎 版本 大小(Backbone)
数据集
精度
速度
适用场景
YOLO12N OnnxRuntime v12 极轻量 COCO 极快 YOLO 系列最新版本,精度与速度进一步优化,适合高实时性要求场景
YOLO11N PyTorch v11 极轻量 COCO 中等偏上 极快 与 v8n 类似,版本更新点在兼容性与 API
YOLOV8N PyTorch v8 极轻量 COCO 中等偏上 极快 对实时性要求极高的应用
YOLOV5S PyTorch v5 小型 COCO 较高 非常快 常见通用场景,算力资源有限时优选
YOLOV5S_ONNXRUNTIME OnnxRuntime v5 小型 COCO 较高 加速(需 ONNX 支持) Windows/Linux 通用加速部署
YOLO (MXNet / 通用模型) MXNet v3 DarkNet‑53 COCO 较高 需要 MXNet 生态或复现老项目时使用

YOLOv3 变体系列

模型名称 引擎 骨干网络
数据集
输入尺寸
精度
速度
适用场景
YOLO3_DARKNET_VOC_416 MXNet DarkNet‑53 VOC 416×416 中等 VOC 任务复现;精度优先
YOLO3_DARKNET_COCO_320 MXNet DarkNet‑53 COCO 320×320 中等 COCO 小模型测试;资源受限
YOLO3_DARKNET_COCO_416 MXNet DarkNet‑53 COCO 416×416 中等 通用 COCO 部署;精度优先
YOLO3_DARKNET_COCO_608 MXNet DarkNet‑53 COCO 608×608 很高 批量离线推理;精度要求极高
YOLO3_MOBILENET_VOC_320 MXNet MobileNet‑V1 VOC 320×320 中等 非常快 嵌入式设备;VOC 小目标任务
YOLO3_MOBILENET_VOC_416 MXNet MobileNet‑V1 VOC 416×416 移动端 VOC 部署
YOLO3_MOBILENET_COCO_320 MXNet MobileNet‑V1 COCO 320×320 中等 非常快 嵌入式设备;COCO 小目标任务
YOLO3_MOBILENET_COCO_416 MXNet MobileNet‑V1 COCO 416×416 移动端 COCO 部署
YOLO3_MOBILENET_COCO_608 MXNet MobileNet‑V1 COCO 608×608 很高 中等 对精度要求较高的移动端任务

OCR 模型

支持功能:

  • 支持简体中文、繁体中文、英文、日文四种主要语言
  • 手写、竖版、拼音、生僻字
  • 方向矫正

文本检测模型

模型名称 模型简介 模型开源网站
PP-OCRv5_server_det 飞桨PaddleOCR 3.0 Github

文本识别模型

模型名称 模型简介 模型开源网站
PP-OCRv5_server_rec 飞桨PaddleOCR 3.0 Github

文本方向分类模型(cls)

模型名称 模型简介 模型开源网站
ch_ppocr_mobile_v2.0_cls 原始分类器模型,对检测到的文本行文字角度分类 Github

机器翻译模型

支持功能

  • 200多语言互相翻译
模型名称 模型简介 模型官网
NLLB-200 Meta AI 开发的一个先进的单一多语言机器翻译模型 Github

🙏 鸣谢

本项目在开发过程中借鉴或使用了以下优秀开源项目,特此致谢:

联系方式

如您在使用过程中有任何问题或建议,欢迎添加微信,与我们交流并加入用户交流群

🚀 如果这个项目对你有帮助,别忘了点个 Star ⭐!你的支持是我持续优化升级的动力! ❤️

近期更新日志

[v1.0.19] - 2025-07-06

  • 人脸模块:新增小视科技(MiniVision)活体检测模型
  • 人脸模块:新增阿里通义工作室活体检测模型
  • 人脸模块:新增 2 个表情识别模型
  • 人脸模块:新增 InsightFace 和 ElasticFace 人脸识别模型
  • 人脸模块:新增 Seetaface6 质量评估模型
  • 目标检测模块:支持更多自定义模型参数配置
  • 人脸模块:支持 Base64 编码图片输入
  • 通用功能:实现 AutoCloseable 接口,支持资源自动释放
  • OCR 模块:修复加方向矫正后无法连续识别的问题
  • 人脸模块:修复人脸更新后的缓存异常问题
  • 其他:优化部分功能与细节体验

[v1.0.17] - 2025-06-18

  • 新增机器翻译模块:支持 200+ 种语言之间的相互翻译
  • 人脸识别模块:修复批量删除人脸数据时的异常问题
  • 人脸识别模块:修复人脸检索 Top大于 1 时报异常问题

[v1.0.16] - 2025-06-09

  • 人脸模块:人脸查询支持 Milvus 和 SQLite
  • 人脸模块:FaceNet人脸模型也支持人脸注册,查询等功能
  • 人脸模块:Seetaface6 自动下载人脸库
  • 人脸模块:Seetaface6解决依赖库重复下载问题
  • 人脸模块:支持手动加载人脸库
  • 人脸模块:人脸识别相关功能支持更多参数

[v1.0.15] - 2025-05-17

  • 新增OCR文字识别模块:支持最新 PP-OCRv5
  • OCR文本识别:支持文字方向检测与自动校正

About

Java免费离线AI算法工具箱,支持人脸识别(人脸比对,人脸库查询(Milvus/SQLite),人脸属性检测,活体检测)、目标检测(支持 YOLO,SSD、自训练模型)、OCR文字识别、机器翻译(200+语言翻译)等功能,致力于为开发者提供开箱即用的 AI 能力,无需 Python 环境,Maven 引用即可使用。已集成 SeetaFace6、YOLOv8、PaddleOCR 等主流模型

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages