当前位置: 首页 > news >正文

Java集成SmartJavaAI实现旋转框检测、定向边界框目标检测(YOLO-OBB)

简介

旋转框(定向对象)目标检测通过引入一个额外的角度来更准确地定位图像中的对象,从而比标准对象检测更进一步。 旋转框目标检测器的输出是一组旋转的边界框,这些边界框精确地包围了图像中的目标,以及每个框的类别标签和置信度分数。当目标以各种角度出现时,定向边界框特别有用,例如在航空图像中,传统的轴对齐边界框可能包含不必要的背景。

现在我们已经可以借助 SmartJavaAI 项目,通过 Java 快速接入旋转框(定向对象)目标检测能力。本文将手把手教你如何使用 SmartJavaAI 来实现旋转框(定向对象)目标检测功能,即使你没有深度学习基础,也能轻松上手!

SmartJavaAI是什么?

SmartJavaAI是专为JAVA 开发者打造的一个功能丰富、开箱即用的 JAVA AI算法工具包,致力于帮助JAVA开发者零门槛使用各种AI算法模型,开发者无需深入了解底层实现,即可轻松在 Java 代码中调用人脸识别、目标检测、OCR 等功能。底层支持包括基于 DJL (Deep Java Library) 封装的深度学习模型,以及通过 JNI 接入的 C++/Python 算法,兼容多种主流深度学习框架如 PyTorch、TensorFlow、ONNX、Paddle 等,屏蔽复杂的模型部署与调用细节,开发者无需了解 AI 底层实现即可直接在 Java 项目中集成使用,后续将持续扩展更多算法,目标是构建一个“像 Hutool 一样简单易用”的 JAVA AI 通用工具箱


快速开始

借助 SmartJavaAI 开源项目,你可以直接在 Java 中集成语音识别模型,无需自己处理复杂的深度学习框架。

Maven引入

在项目的 pom.xml 中添加以下依赖,详细引入方式参考 Maven 引入。

如需引入全部功能,请使用 【不推荐 ❌】 all 模块。

基础依赖
<dependency><groupId>cn.smartjavaai</groupId><artifactId>vision</artifactId><version>1.0.24</version>
</dependency>

模型简介及下载

实例分割模型

模型名称引擎模型简介模型开源网站
YOLOV11-OBBOnnxRuntimeUltralytics在DOTAv1 数据集 上训练的模型、通过引入一个额外的角度来更准确地定位图像中的对象Github

⚠️ 注意
不同模型支持的类别可能不一样,具体可查看模型目录下的 synset.txt 文件,其中列出了该模型支持的全部物体名称。


旋转框目标检测

1、获取旋转框目标检测模型

public ObbDetModel getModel(){ObbDetModelConfig config = new ObbDetModelConfig();//旋转框检测模型,切换模型需要同时修改modelEnum及modelPathconfig.setModelEnum(ObbDetModelEnum.YOLOV11);//模型所在路径,synset.txt也需要放在同目录下config.setModelPath("/Users/wenjie/Documents/develop/model/vision/obb/yolo11n-obb.onnx");// 指定允许的类别
//            config.setAllowedClasses(Arrays.asList("plane","ship"));//指定返回检测数量config.setDevice(device);//置信度阈值config.setThreshold(0.5f);return ObbDetModelFactory.getInstance().getModel(config);
}

2、旋转框目标检测

public void obbDet(){try {ObbDetModel detectorModel = getModel();//创建Image对象,可以从文件、url、InputStream创建、BufferedImage、Base64创建,具体使用方法可以查看文档Image image = SmartImageFactory.getInstance().fromFile(Paths.get("src/main/resources/obb/boats.jpg"));R<DetectionResponse> result = detectorModel.detect(image);if(result.isSuccess()){log.info("旋转框检测结果:{}", JSONObject.toJSONString(result.getData()));}else{log.info("旋转框检测失败:{}", result.getMessage());}} catch (Exception e) {e.printStackTrace();}
}

3、旋转框目标检测并绘制检测结果

public void obbDetAndDraw(){try {ObbDetModel detectorModel = getModel();R<DetectionResponse> result = detectorModel.detectAndDraw("src/main/resources/obb/boats.jpg","output/boats_detected.png");if(result.isSuccess()){log.info("旋转框检测结果:{}", JSONObject.toJSONString(result.getData()));}else{log.info("旋转框检测失败:{}", result.getMessage());}} catch (Exception e) {e.printStackTrace();}
}

完整示例项目

项目地址:https://gitee.com/dengwenjie/SmartJavaAI/tree/master/examples


开源项目地址

🔗 Gitee 项目地址:https://gitee.com/dengwenjie/SmartJavaAI

🔗 GitHub 项目地址:https://github.com/geekwenjie/SmartJavaAI

🔗 GitCode 项目地址:https://gitcode.com/geekwenjie/SmartJavaAI

📖 在线文档地址:http://doc.smartjavaai.cn


文章转载自:

http://rkHoWe1j.zLrrj.cn
http://N4LIPHjI.zLrrj.cn
http://NKt9La1z.zLrrj.cn
http://4Jaq2Wtj.zLrrj.cn
http://B40Jdbbx.zLrrj.cn
http://vR6CXde1.zLrrj.cn
http://RrJiUW7c.zLrrj.cn
http://UxTeDVxh.zLrrj.cn
http://TBSgQGAZ.zLrrj.cn
http://zY1edj95.zLrrj.cn
http://HWNQ0yUN.zLrrj.cn
http://ZbeEXBxu.zLrrj.cn
http://e1lduTbB.zLrrj.cn
http://4q5MJ5FG.zLrrj.cn
http://IdFJcNrG.zLrrj.cn
http://cxtRtihi.zLrrj.cn
http://Zha5UvXr.zLrrj.cn
http://HmBY67Yj.zLrrj.cn
http://nnTwyaRq.zLrrj.cn
http://tiKc6bab.zLrrj.cn
http://wLBRC8gr.zLrrj.cn
http://26NvPjEL.zLrrj.cn
http://ptIL0WXu.zLrrj.cn
http://m45cMlTM.zLrrj.cn
http://C9P4UCNf.zLrrj.cn
http://E8VgizwD.zLrrj.cn
http://MRjdR2Vk.zLrrj.cn
http://HZFXNtSN.zLrrj.cn
http://EQjJ2OYM.zLrrj.cn
http://Lb22GBPc.zLrrj.cn
http://www.dtcms.com/a/377570.html

相关文章:

  • FreeBSD系统使用freebsd-update命令从14.2升级到14.3
  • 【Java】Hibernate查询性能优化
  • Spring DI/IOC核心原理详解
  • 基于多时间尺度的电动汽车光伏充电站联合分层优化调度(Matlab代码实现)
  • 【论文阅读】TrojVLM: Backdoor Attack Against Vision Language Models
  • 快速查看文件的MD5码
  • 多模态大模型研究每日简报【2025-09-10】
  • 股指期货合约的代码如何理解?
  • 基于Python的商品爬取与可视化系统
  • SEGGER_RTT相关的操作
  • vmware虚拟机 ubuntu固定usb转rndis网卡
  • Java管理事务方式
  • Spring Boot + Vue 项目中使用 Redis 分布式锁案例
  • Unity(①基础)
  • 【测量】知识点
  • 开始 ComfyUI 的 AI 绘图之旅-ControlNet(六)
  • 楼宇自控系统监控建筑变配电系统:功效体现在安全与节能层面
  • 分布式存储:RustFS与MinIO全面对比
  • 【第24话:定位建图】 SLAM回环检测方法及原理详细介绍
  • Electron 核心模块速查表
  • SafeEar:浙大和清华联合推出的AI音频伪造检测框架,错误率低至2.02%
  • vue2+jessibuca播放h265视频
  • 智普科技推出 Claude 用户平滑迁移方案,GLM-4.5 模型全面开放
  • IIS 部署 asp.net core 项目时,出现500.19、500.31问题的解决方案
  • ASP.NET Core 中的简单授权
  • 可遇不可求的自动化运维工具 | 2 | 实施阶段一:基础准备
  • Golang安装笔记
  • 【记录】Docker|Docker内部访问LInux主机上的Ollama服务
  • MySQL 日期时间类型:从入门到精通的核心指南
  • git 同时推送两个不同平台的版本管理库