SmartJavaAI开源程序是Java免费离线AI算法工具箱,支持人脸识别(人脸检测,人脸特征提取,人脸比对,人脸库查询,人脸属性检测:年龄、性别、眼睛状态、口罩、姿态,活体检测)(学习版)
SmartJavaAI开源程序是专为JAVA 开发者打造的一个功能丰富、开箱即用的 JAVA AI算法工具包,致力于帮助JAVA开发者零门槛使用各种AI算法模型,开发者无需深入了解底层实现,即可轻松在 Java 代码中调用人脸识别、目标检测、OCR 等功能。底层实现涵盖了 C++、Python 等语言的深度学习模型。后续将持续扩展更多算法,目标是构建一个“像 Hutool 一样简单易用”的 JAV
一、软件介绍
文末提供程序和源码下载
SmartJavaAI开源程序是专为JAVA 开发者打造的一个功能丰富、开箱即用的 JAVA AI算法工具包,致力于帮助JAVA开发者零门槛使用各种AI算法模型,开发者无需深入了解底层实现,即可轻松在 Java 代码中调用人脸识别、目标检测、OCR 等功能。底层实现涵盖了 C++、Python 等语言的深度学习模型。后续将持续扩展更多算法,目标是构建一个“像 Hutool 一样简单易用”的 JAVA AI 通用工具箱
二、能力展示
人脸检测
- 5点人脸关键点定位
人脸比对1:1
- 人脸对齐
人证核验
人脸比对1:N
- 人脸对齐
- 人脸注册
- 人脸库查询
- 人脸库删除
人脸属性检测
- 性别检测
- 年龄检测
- 口罩检测
- 眼睛状态检测
- 脸部姿态检测
活体检测
- 图片和视频活体检测
目标检测
三、核心亮点
针对 Java 开发者在集成智能算法时常见的两大痛点:
-
🐍 主流AI深度学习框架(PyTorch/TensorFlow)的Python生态与Java工程体系割裂
-
⚙️ 现有算法方案分散杂乱,封装不统一,使用门槛高,不易直接服务于 Java 业务开发
我们实现了:
✅ 开箱即用 - 两行代码即可调用算法
✅ 支持多种深度学习引擎 - Pytorch、Tensorflow、MXNet、ONNX Runtime
✅ 功能丰富 - 当前支持人脸识别与目标检测,未来将陆续支持 OCR、图像分类、NLP 等多个 AI 领域任务,构建全面的智能算法体系。
✅ 跨平台兼容 - 支持Windows/Linux/macOS系统(x86 & ARM架构)
四、 支持功能
已实现功能
- 人脸识别
- 人脸检测、人脸识别、人脸比对1:1、人脸比对1:N、人脸库注册、人脸库、人脸库删除
- 5点人脸关键点定位
- 人脸属性检测(性别、年龄、口罩、眼睛状态、脸部姿态)
- 人脸活体检测:图片、视频活体检测
- 目标检测
- 支持多种主流模型:兼容 YOLOv3、YOLOv5、YOLOv8、YOLOv11、YOLOv12、SSD 等目标检测算法
- 支持自定义模型加载:可无缝加载并部署用户自行训练的目标检测模型
⌛ 规划中功能
-
文字识别(OCR)
-
图像分类(Image classification)
-
万物分割 (Segment Anything)
-
实例分割(Instance Segmentation)
-
语义分割(Semantic Segmentation)
-
姿态识别(Pose Estimation)
-
动作识别(Action Recognition)
-
使用 BigGAN 的图像生成
-
图像增强
-
基于 BERT 的问答
-
语音识别(Speech Recognition)
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-all
方式引入所有模块。
五、 安装
1、环境要求
- Java 版本:JDK 8或更高版本
- 操作系统:不同模型支持的系统不一样,具体请查看文档
2、Maven
在项目的pom.xml的dependencies中加入以下内容(全部功能),也可以根据需求对每个模块单独引入:
<dependency> <groupId>cn.smartjavaai</groupId> <artifactId>smartjavaai-all</artifactId> <version>1.0.13</version> </dependency>
3、完整示例代码
本项目包含多个基于 SmartJavaAI 平台的人脸识别、活体检测及目标检测的示例代码
项目结构
src/main/java/smartai/examples/
├── face/ 人脸相关示例
│ ├── attribute/ 人脸属性检测模块
│ │ └── FaceAttributeDetDemo.java 示例:检测性别、年龄等人脸属性
│ ├── facerec/ 人脸识别模块(1:1、1:N)
│ │ ├── FaceNetDemo.java 示例:使用 FaceNet 算法做人脸识别
│ │ ├── GpuFaceDemo.java 示例:使用 GPU 加速的人脸识别
│ │ ├── LightFaceDemo.java 示例:轻量级人脸识别模型(适用于嵌入式场景)
│ │ ├── RetinaFaceDemo.java 示例:使用 RetinaFace 进行人脸检测
│ │ └── SeetaFace6Demo.java 示例:集成 SeetaFace6 的人脸识别
│ └── liveness/ 活体检测模块
│ ├── LivenessDetDemo.java 示例:基于图像进行活体检测
├── objectdetection/ 目标检测模块
│ └── ObjectDetection.java 示例:使用目标检测模型识别图像中的目标
└── ocr/ OCR文字识别模块
├── OcrDetectionDemo.java 示例:OCR通用文字检测示例
├── OcrDirectionDetDemo.java 示例:OCR方向检测示例
└── OcrRecognizeDemo.java 示例:OCR通用文字识别示例
快速开始
- 克隆本项目
- 导入 IDE(推荐 IntelliJ IDEA)
- 运行对应 demo 文件即可测试功能(确保模型文件已准备好)
模型说明
- 本示例项目配合
smartjavaai
平台使用,模型加载及使用方式已封装好。 - 支持 CPU 和 GPU 两种运行模式。
- 所有模型均可通过 Maven 或本地加载方式接入。
六、软件下载
更多推荐
所有评论(0)