Java深度学习算法库,支持人脸识别(检测、人证核验、特征提取、注册、查询) 致力于为开发者提供开箱即用的 AI 能力
Java深度学习算法库,支持人脸识别(检测、人证核验、特征提取、注册、查询)、目标检测(支持 SSD、YOLO 等多种模型),致力于为开发者提供开箱即用的 AI 能力,无需 Python 环境,Maven 引用即可使用。目前已集成 RetinaFace、SeetaFace6、YOLOv8 等主流模型。
专为Java 开发者打造的一个功能丰富、开箱即用的 Java 算法工具包,致力于帮助Java开发者高效集成各类智能算法。SmartJavaAI通过对多种主流算法的统一封装,开发者无需深入了解底层实现,即可轻松在 Java 代码中调用人脸识别、目标检测、OCR 等功能。目前已支持部分人脸识别与目标检测算法,底层实现涵盖了 C++、Python 等语言的深度学习模型。后续将持续扩展更多算法,最终将构建一个面向 Java 开发者的通用智能工具库。
核心亮点针对 Java 开发者在集成智能算法时常见的两大痛点: 我们实现了: ✅ 开箱即用 - 两行代码即可调用算法 ✅ 支持多种深度学习引擎 - Pytorch、Tensorflow、MXNet、ONNX Runtime ✅ 功能丰富 - 当前支持人脸识别与目标检测,未来将陆续支持 OCR、图像分类、NLP 等多个 AI 领域任务,构建全面的智能算法体系。 ✅ 跨平台兼容 - 支持Windows/Linux/macOS系统(x86 & ARM架构) AI集成方式对比[td]方案 | 技术特点 | 优点 | 缺点 | OpenCV | 传统图像处理方案 | ✅ 提供java接口
✅ 轻量级部署
✅ 社区资源丰富 | ❌ 基于传统算法精度低(60%-75%)
❌ 需本地安装环境 | 虹软SDK | 商业级闭源解决方案 | ✅ 开箱即用
✅ 提供完整文档和SDK
✅ 支持离线活体检测 | ❌ 免费版需年度授权更新
❌ 商业授权费用高
❌ 代码不可控 | 云API(阿里云) | SaaS化云端服务 | ✅ 零部署成本
✅ 支持高并发
✅ 自带模型迭代 | ❌ 网络延迟风险(200-800ms)
❌ 按调用量计费
❌ 有数据安全风险 | Python混合调用 | 跨语言调用方案 | ✅ 可集成PyTorch/TF等框架
✅ 支持自定义算法
✅ 识别精度高 | ❌ 需维护双语言环境
❌ 进程通信性能损耗(30%+)
❌ 异常处理复杂度翻倍 | DJL框架 | 深度学习框架 | ✅ 纯Java实现
✅ 支持主流深度学习框架
✅ 可加载预训练模型(99%+) | ❌ 需掌握DL知识
❌ 需处理模型加载、预处理、后处理等复杂技术细节 | SmartJavaAI | java深度学习工具包 | ✅ 支持主流深度学习框架
✅ 提供丰富、开箱即用API
✅ 上手简单,单一Jar包集成 | ❌要求JDK版本11及以上 | 支持功能✅ 已实现功能- 人脸检测
人脸检测、人脸识别、人脸比对1:1、人脸比对1:N、人脸库注册、人脸库、人脸库删除 - 目标检测 支持通用目标检测,能够识别图像中的多种物体类别,返回物体位置与类别信息
包含组件[td]模块 | 介绍 | common | 基础通用模块,封装了公共功能,供各算法模块共享使用 | face | 人脸功能模块 | objectdetection | 目标检测模块 | seetaface6-lib | seetaface6人脸算法JNI接口封装 |
可以根据需求对每个模块单独引入,也可以通过引入-all方式引入所有模块。
安装1、环境要求- Java 版本:JDK 11或更高版本
- 操作系统:不同模型支持的系统不一样,具体请查看文档
2、Maven在项目的pom.xml的dependencies中加入以下内容(全部功能),也可以根据需求对每个模块单独引入: - <dependency>
- <groupId>ink.numberone</groupId>
- <artifactId>smartjavaai-all</artifactId>
- <version>1.0.8</version>
- </dependency>
复制代码 3、人脸检测运行流程
(1)人脸模型下载(使用人脸相关功能)(附件中包含)如果在有网环境下使用,不需要下载模型(SeetaFace6模型除外) [td]模型名称 | 下载地址 | 文件大小 | 适用场景 | 兼容系统 | retinaface | 下载 | 110MB | 高精度人脸检测 | Windows/Linux/MacOS | ultralightfastgenericface | 下载 | 1.7MB | 高速人脸检测 | Windows/Linux/MacOS | seetaface6 | 下载 | 288MB | 人脸检测、人脸比对、人脸库注册、人脸库查询 | Windows | facenet | 下载 | 104MB | 人脸特征提取、人脸比对 | Windows/Linux/MacOS |
(2)人脸库下载(使用人脸库相关功能:人脸注册、人脸查询)(附件中包含) 目前仅SeetaFace6人脸算法支持人脸库注册,查询等功能,所以只有使用SeetaFace6模型时才需要下载face.db,face.db 是 一个SQLite 数据库,程序启动并使用相关功能时会自动操作该数据库,用于存储人脸特征数据及其对应的唯一标识 Key,支持后续的人脸注册、查询和比对等操作。 下载链接: https://pan.baidu.com/s/1DzE1rDkFnjEXQbIasIdFrA?pwd=1234 提取码: 1234 (3)下载示例代码(附件中包含)(4)离线使用方法 程序首次运行时,会自动下载所需的底层依赖库到默认的缓存路径。不同操作系统的默认缓存路径如下: {user}需要替换成您当前登录的用户名 依赖库及缓存目录
windowsC:/Users/{user}/.djl.ai
linux/root/.djl.ai
macos/Users/{user}/.djl.ai对于需要在离线环境中使用的情况,可以在联网环境中运行程序一次,确保所需的依赖库已下载。然后,将上述缓存目录复制到离线环境中相同的路径下,即可实现离线使用。 请注意,SeetaFace6 默认支持离线使用,无需上述操作即可在离线环境中运行。 5、运行设备默认将使用CPU运行模型,如果需要使用GPU,需要在创建模型接口中手动指定运行设备 GPU中运行需要满足如下条件: (1)安装CUDA v12.4及cuDNN v8.9.7 (2)将缓存目录加入到环境变量中,并删除其他cuda环境变量 提取码下载:
|