YOLOv12本地部署教程——42%速度提升,让高效目标检测触手可及

YOLOv12 是“你只看一次”(You Only Look Once, YOLO)系列的最新版本,于 2025 年 2 月发布。它引入了注意力机制,提升了检测精度,同时保持了高效的实时性能。在保持速度的同时,显著提升了检测精度。例如,YOLOv12-N 在 T4 GPU 上的推理延迟为 1.64 毫秒,平均精度(mAP)达到 40.6%,相比 YOLOv10-N 和 YOLOv11-N 分别提升了 2.1% 和 1.2%

1741228236413_20250306101338.png

YOLOv12 作为 YOLO 系列的最新迭代,首次将注意力机制深度融入单阶段检测框架,通过三大关键技术实现性能飞跃:

  • 区域注意力模块(A2):通过特征图分块与重塑操作,将全局注意力的计算复杂度从二次方降至线性,同时保留大感受野,兼顾效率与精度。

  • 残差高效层聚合网络(R-ELAN):引入块级残差连接与动态缩放技术,解决传统ELAN的梯度阻塞问题,提升训练稳定性与特征融合能力。

  • 极简架构设计:移除位置编码、降低MLP扩展比、减少堆叠块深度,结合FlashAttention优化内存访问效率,推理速度较YOLOv9提升42%。

在性能方面更是全面碾压前代模型,在 MS COCO 基准测试中,YOLOv12展现出显著优势:

  • 小型模型(YOLOv12-N):以40.6% mAP超越YOLOv10-N(38.5%),延迟仅1.64毫秒/图像。

  • 中型模型(YOLOv12-S):48.0% mAP,较YOLOv8-S提升3.0%,计算量降低至21.4G FLOPs。

  • 跨任务兼容性:支持实例分割、姿态估计等扩展任务,在复杂场景(如遮挡、低光照)中检测精度提升15%以上。

与基于 Transformer 的 RT-DETR 相比,YOLOv12-S 快42%、仅需36%计算资源,在实时性与部署成本上占据绝对优势。

接下来就为大家奉上详细的 YOLOv12 本地部署教程,手把手教你如何将模型部署到你的项目中,轻松享受高性能AI带来的便利。

二、部署流程

环境推荐配置

系统:Ubuntu22.04,

显卡:4090,

显存:24G,cuda11.8

1. 基础环境

查看系统是否有Miniconda3的虚拟环境

conda -V

如果输入命令没有显示Conda版本号,则需要安装。

1733121521985_image.png

2.更新系统命令

输入下列命令将系统更新及系统下载

apt-get update && apt-get install ffmpeg libsm6 libxext6  -y

1733121540798_image.png

3.创建虚拟环境

创建名称为“yolov12”的虚拟环境并激活

conda create -n yolov12 python=3.11 -y
conda activate yolov12

1741228987875_20250224102029.png

4.下载模型

输入下列命令下载yolov12模型同时进入项目中

git clone https://gitclone.com/github.com/sunsmarterjie/yolov12.git 
cd yolov12/

1741229001963_20250224102138.png

5.下载模型依赖包

输入下列命令:

pip install -r requirements.txt

1741229257788_20250306104714.png


出现报错,重新使用命令下载包同时换源加速:

wget https://github.com/Dao-AILab/flash-attention/releases/download/v2.7.3/flash_attn-2.7.3+cu11torch2.2cxx11abiFALSE-cp311-cp311-linux_x86_64.whl

1741229869835_20250224101700.png

pip install -r requirements.txt  -i https://pypi.tuna.tsinghua.edu.cn/simple

1741229398884_20250224102518.png

继续下载其他依赖包

pip install -e .

1741229462635_20250224112924.png

三、网页演示

在本地运行Gradio应用程序,使用下列命令运行项目呈现模型的成功界面

python app.py

1741229154861_20250224113202.png

打开网址:

1741228669675_20250306101322.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/982762.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot3—场景整合:AOT

一、AOT与JIT AOT:Ahead-of-Time(提前编译):程序执行前,全部被编译成机器码 JIT:Just in Time(即时编译): 程序边编译,边运行; 编译:源代码&am…

*VulnHub-FristiLeaks:1.3暴力解法、细节解法,主打软硬都吃,隧道搭建、寻找exp、提权、只要你想没有做不到的姿势

*VulnHub-FristiLeaks:1.3暴力解法、细节解法,主打软硬都吃,隧道搭建、寻找exp、提权、只要你想没有做不到的姿势 一、信息收集 1、扫靶机ip 经典第一步,扫一下靶机ip arp-scan -l 扫描同网段 nmap -sP 192.168.122.0/242、指纹扫描、端口…

20242817李臻《Linux⾼级编程实践》第二周

一、AI对学习内容的总结 第2章 Linux编程环境总结 1. GCC编译器 GCC(GNU Compiler Collection)是GNU项目的一部分,支持多种编程语言,包括C、C、Java、Fortran、Ada等。编译过程:GCC将源程序转换为可执行程序的过程包…

vue3 组合式API:插槽

一、内容与出口 1、<slot> 元素是一个插槽出口 (slot outlet)&#xff0c;标示了父元素提供的插槽内容 (slot content) 将在哪里被渲染。插槽内容可以是任意合法的模板内容&#xff0c;不局限于文本&#xff0c;可以是多个元素&#xff0c;甚至是组件 // 插槽内容可以是…

【音视频】ffplay播放控制

一、ffplay播放控制 1.1、ffplay打开视频 比如我当前目录下现在有一个1.mp4的视频&#xff0c;可以使用下面的命令用ffplay打开并播放它 ffplay 1.mp4输入后回车即可打开相应的视频 1.2 ffplay播放控制 使用q、ESC退出播放按f、双击切换全屏状态按m切换为静音按9减少音量&a…

K8S高可用集群-小白学习之二进制部署(ansible+shell)

一.K8S高可用集群配置概述 序言:本文从一个小白的视角进行K8S的研究和部署,采用二进制的方式是为了更清楚了分解部署流程及了解这个集群是怎么运作的,加上ansible+shell是方便在这个过程中,遇到了问题,我们可以不断的快速重复部署来测试和研究问题的所在点,本文的架构图…

K8S学习之基础十六:k8s中Deployment更新策略

滚动更新 滚动更新是一种自动化程度较高的发布方式、用户体验比较平滑、是目前成熟型技术组织采用的主流发布方式&#xff0c;一次滚动发布一般有若干发布批次组成&#xff0c;每批的数量一般都是可配置的&#xff0c;可通过发布模板定义&#xff0c;例如第一批10%&#xff0c…

dify + ollama + deepseek-r1+ stable-diffusion 构建绘画智能体

故事背景 stable-diffusion 集成进 dify 后&#xff0c;我们搭建一个小智能体&#xff0c;验证下文生图功能 业务流程 #mermaid-svg-6nSwwp69eMizP6bt {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-6nSwwp69eMiz…

如何使用 LLM 生成的术语自动在搜索应用程序上构建 autocomplete 功能

作者&#xff1a;来自 Elastic Michael Supangkat 了解如何在 Elastic Cloud 中&#xff0c;通过使用 LLM 生成的词汇&#xff0c;为搜索应用增强自动补全功能&#xff0c;实现更智能、更动态的搜索建议。 自动补全是搜索应用中的一项关键功能&#xff0c;它通过在用户输入时实…

AI学习有感

和前辈聊天&#xff0c;谈到了现在的ai技术&#xff0c;这里对那天的谈话进行总结&#xff1a; AI是无状态的 我们在使用ai时有时候会有一个错觉&#xff0c;认为和ai聊天久了&#xff0c;ai就会像人与人之间交流一样&#xff0c;会保留一种对聊天对象的认知状态&#xff0c;这…

Java 8 Stream API 详解

目录 引言 一、Stream 简介 1.1 什么是 Stream&#xff1f; 1.2 Stream 与集合的区别 1.3 Stream 的操作分类 二、Stream 的创建 2.1 从集合创建 2.2 从数组创建 2.3 使用 Stream.of 创建 2.4 使用 Stream.generate 或 Stream.iterate 创建 三、Stream 的常…

Ubuntu20.04本地配置IsaacLab 4.2.0的G1训练环境(一)

Ubuntu20.04本地配置IsaacLab的G1训练环境&#xff08;一&#xff09; 配置Omniverse环境配置IsaacSim配置IsaacLab 写在前面&#xff0c;如果Ubuntu剩余空间低于60G&#xff0c;则空间不足&#xff0c;除非你不需要资产包。但资产包中却包含了G1模型、Go2模型等机器人模型和代…

从厨电模范到数字先锋,看永洪科技如何助力方太集团开启数字新征程

在数字化洪流席卷全球的宏大背景下&#xff0c;企业转型升级的紧迫性与重要性日益凸显&#xff0c;成为驱动行业进步的关键引擎。在这一波澜壮阔的转型浪潮中&#xff0c;方太集团——厨电领域的璀璨明珠&#xff0c;以其前瞻性的战略视野和不懈的创新精神&#xff0c;携手数据…

蓝桥杯4T平台(串口打印电压值)

知识点&#xff1a;串口(单片机发送数据)按键ADC 题目 配置 代码 adc.c uint16_t getadc2(void) {uint16_t adc0;HAL_ADC_Start(&hadc2);adcHAL_ADC_GetValue(&hadc2);return adc; } adc.h uint16_t getadc2(void); main.c #include "lcd.h" #include…

[Computer Vision]实验七:图像检索

目录 一、实验内容 二、实验过程 2.1 准备数据集 2.2 SIFT特征提取 2.3 学习“视觉词典”&#xff08;vision vocabulary&#xff09; 2.4 建立图像索引并保存到数据库中 2.5 用一幅图像查询 三、实验小结 一、实验内容 实现基于颜色直方图、bag of word等方法的以图搜…

利用 ArcGIS Pro 快速统计省域各市道路长度的实操指南

在地理信息分析与处理的工作中&#xff0c;ArcGIS Pro 是一款功能强大的 GIS 软件&#xff0c;它能够帮助我们高效地完成各种复杂的空间数据分析任务。 现在&#xff0c;就让我们一起深入学习如何借助 ArcGIS Pro 来统计省下面各市的道路长度&#xff0c;这一技能在城市规划、…

关于后端接口的返回值问题

1、后端接口中&#xff0c;get请求能返回给前端一个整数么&#xff1f; 问题说明&#xff1a; 解释&#xff1a; 在 Spring MVC 项目中&#xff0c;GET 请求的后端接口可以返回一个整数给前端。因为我们在controller层中&#xff0c;设置了RestController注解&#xff0c;这表明…

React Native 实现滑一点点内容区块指示器也滑一点点

效果图如上&#xff0c;内容滑一点点&#xff0c;指示器也按比例话一点点&#xff0c;列表宽度跟数据有关。 实现思路如下&#xff1a; 1.监听列表滑动事件&#xff0c;获取列表横向滑动距离&#xff0c;假设为A&#xff1b; 2.获取列表的宽度&#xff0c;及列表可滑动的宽度…

Cursor + IDEA 双开极速交互

相信很多开发者朋友应该和我一样吧&#xff0c;都是Cursor和IDEA双开的开发模式:在Cursor中快速编写和生成代码&#xff0c;然后在IDEA中进行调试和优化 在这个双开模式的开发过程中&#xff0c;我就遇到一个说大不大说小不小的问题&#xff1a; 得在两个编辑器之间来回切换查…

JS一些小知识点

一、|| 运算符 plain this.ctx.body { type: type || 0, // ||在此处用法用于默认值填充&#xff0c;判断是否传参或该值是否存在&#xff0c;如果不存在就使用||后买你的值作为默认值 code: code || 0, msg: msg || SUCCESS, data: data || {}, ...others }; 二、trim() 方…