使用YOLO11实例分割模型进行人物分割【附完整源码】

news2024/11/24 4:35:58

《博主简介》

小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。
更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~
👍感谢小伙伴们点赞、关注!

《------往期经典推荐------》

一、AI应用软件开发实战专栏【链接】

项目名称项目名称
1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】
3.【手势识别系统开发】4.【人脸面部活体检测系统开发】
5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】
7.【YOLOv8多目标识别与自动标注软件开发】8.【基于YOLOv8深度学习的行人跌倒检测系统】
9.【基于YOLOv8深度学习的PCB板缺陷检测系统】10.【基于YOLOv8深度学习的生活垃圾分类目标检测系统】
11.【基于YOLOv8深度学习的安全帽目标检测系统】12.【基于YOLOv8深度学习的120种犬类检测与识别系统】
13.【基于YOLOv8深度学习的路面坑洞检测系统】14.【基于YOLOv8深度学习的火焰烟雾检测系统】
15.【基于YOLOv8深度学习的钢材表面缺陷检测系统】16.【基于YOLOv8深度学习的舰船目标分类检测系统】
17.【基于YOLOv8深度学习的西红柿成熟度检测系统】18.【基于YOLOv8深度学习的血细胞检测与计数系统】
19.【基于YOLOv8深度学习的吸烟/抽烟行为检测系统】20.【基于YOLOv8深度学习的水稻害虫检测与识别系统】
21.【基于YOLOv8深度学习的高精度车辆行人检测与计数系统】22.【基于YOLOv8深度学习的路面标志线检测与识别系统】
23.【基于YOLOv8深度学习的智能小麦害虫检测识别系统】24.【基于YOLOv8深度学习的智能玉米害虫检测识别系统】
25.【基于YOLOv8深度学习的200种鸟类智能检测与识别系统】26.【基于YOLOv8深度学习的45种交通标志智能检测与识别系统】
27.【基于YOLOv8深度学习的人脸面部表情识别系统】28.【基于YOLOv8深度学习的苹果叶片病害智能诊断系统】
29.【基于YOLOv8深度学习的智能肺炎诊断系统】30.【基于YOLOv8深度学习的葡萄簇目标检测系统】
31.【基于YOLOv8深度学习的100种中草药智能识别系统】32.【基于YOLOv8深度学习的102种花卉智能识别系统】
33.【基于YOLOv8深度学习的100种蝴蝶智能识别系统】34.【基于YOLOv8深度学习的水稻叶片病害智能诊断系统】
35.【基于YOLOv8与ByteTrack的车辆行人多目标检测与追踪系统】36.【基于YOLOv8深度学习的智能草莓病害检测与分割系统】
37.【基于YOLOv8深度学习的复杂场景下船舶目标检测系统】38.【基于YOLOv8深度学习的农作物幼苗与杂草检测系统】
39.【基于YOLOv8深度学习的智能道路裂缝检测与分析系统】40.【基于YOLOv8深度学习的葡萄病害智能诊断与防治系统】
41.【基于YOLOv8深度学习的遥感地理空间物体检测系统】42.【基于YOLOv8深度学习的无人机视角地面物体检测系统】
43.【基于YOLOv8深度学习的木薯病害智能诊断与防治系统】44.【基于YOLOv8深度学习的野外火焰烟雾检测系统】
45.【基于YOLOv8深度学习的脑肿瘤智能检测系统】46.【基于YOLOv8深度学习的玉米叶片病害智能诊断与防治系统】
47.【基于YOLOv8深度学习的橙子病害智能诊断与防治系统】48.【基于深度学习的车辆检测追踪与流量计数系统】
49.【基于深度学习的行人检测追踪与双向流量计数系统】50.【基于深度学习的反光衣检测与预警系统】
51.【基于深度学习的危险区域人员闯入检测与报警系统】52.【基于深度学习的高密度人脸智能检测与统计系统】
53.【基于深度学习的CT扫描图像肾结石智能检测系统】54.【基于深度学习的水果智能检测系统】
55.【基于深度学习的水果质量好坏智能检测系统】56.【基于深度学习的蔬菜目标检测与识别系统】
57.【基于深度学习的非机动车驾驶员头盔检测系统】58.【基于深度学习的太阳能电池板检测与分析系统】
59.【基于深度学习的工业螺栓螺母检测】60.【基于深度学习的金属焊缝缺陷检测系统】
61.【基于深度学习的链条缺陷检测与识别系统】62.【基于深度学习的交通信号灯检测识别】
63.【基于深度学习的草莓成熟度检测与识别系统】64.【基于深度学习的水下海生物检测识别系统】
65.【基于深度学习的道路交通事故检测识别系统】

二、机器学习实战专栏【链接】,已更新31期,欢迎关注,持续更新中~~
三、深度学习【Pytorch】专栏【链接】
四、【Stable Diffusion绘画系列】专栏【链接】
五、YOLOv8改进专栏【链接】持续更新中~~
六、YOLO性能对比专栏【链接】,持续更新中~

《------正文------》

目录

  • 引言
  • 1.安装Ultralytics库
  • 2.读取测试图像
  • 3.加载模型并生成推理结果
  • 4.可视化人员分割掩码
  • 完整源码

引言

实例分割是检测和隔离图像中单个对象的关键技术,YOLO 11是执行此任务的最佳模型之一。

在本文中,您将学习如何使用YOLO 11分割模型来有效地分割图像中的人物。

我们将涵盖从设置Python环境和安装必要的库到测试图像和可视化分割结果的所有内容。

在本教程结束时,您将清楚地了解如何应用YOLO 11进行准确的人员分割。
实现效果如下:

在这里插入图片描述

1.安装Ultralytics库

在我们激活的虚拟环境中,我们需要安装ultralytics库,这将允许我们使用YOLO 11实例分割模型。

运行以下命令在您的环境中安装库:

pip install ultralytics

2.读取测试图像

读取一张测试用的图片,如下:

在这里插入图片描述

.py文件中,添加以下代码以下载镜像:

import cv2

# Load the input image using OpenCV
image = cv2.imread('test.jpg')

3.加载模型并生成推理结果

下一步是加载我们的分割模型,并在测试图像上运行推理。在本教程中,我们将使用yolo11n-seg.pt模型,但您可以使用Ultralytics YOLO 11文档中的任何模型。

一旦我们的模型被加载,我们就使用results = model(filename)对测试图像进行推理,然后创建一个空掩码进行分割。

from ultralytics import YOLO
import numpy as np

# Load the model
model = YOLO("yolo11n-seg.pt")  # load an official YOLO model

# Predict with the model
results = model(filename)  # predict on an image

# Create an empty mask for segmentation
segmentation_mask = np.zeros_like(image, dtype=np.uint8)

4.可视化人员分割掩码

最后一步是可视化由我们的模型生成的分割掩码。YOLO11模型支持同时分割多个类别,如人,自行车和汽车等。

由于我们只对person类感兴趣,它的类标签为0,因此我们只会使用这个类标签来可视化掩码。

在下面的代码中,我们对结果进行了过滤,并过滤了人物面具。然后,我们将遮罩覆盖在图像上以实现清晰的可视化,然后保存并使用matplotlib显示结果。

# Iterate over the results
for i, r in enumerate(results):
    # Iterate through the detected masks
    for j, mask in enumerate(r.masks.xy):
        # Convert the class tensor to an integer
        class_id = int(r.boxes.cls[j].item())  # Extract the class ID as an integer
        
        # Check if the detected class corresponds to 'person' (class ID 0)
        if class_id == 0:
            # Convert mask coordinates to an integer format for drawing
            mask = np.array(mask, dtype=np.int32)
            
            # Fill the segmentation mask with color
            cv2.fillPoly(segmentation_mask, [mask], (0, 255, 0))

# Combine the original image with the segmentation mask
segmentation_result = cv2.addWeighted(image, 1, segmentation_mask, 0.7, 0)

# Save the output image with segmentation
cv2.imwrite("output_segmentation.jpg", segmentation_result)

# Optionally display the image (make sure you're running in a GUI environment)
cv2.imshow("Segmentation Result", segmentation_result)
cv2.waitKey(0)
cv2.destroyAllWindows()

分割结果
在这里插入图片描述

完整源码

from ultralytics import YOLO
import cv2
import numpy as np

# Load the input image using OpenCV
image = cv2.imread('test.jpg')

# Load the model
model = YOLO("yolo11n-seg.pt")  # load an official YOLO model

# Predict with the model
results = model(filename)  # predict on an image

# Create an empty mask for segmentation
segmentation_mask = np.zeros_like(image, dtype=np.uint8)

# Iterate over the results
for i, r in enumerate(results):
    # Iterate through the detected masks
    for j, mask in enumerate(r.masks.xy):
        # Convert the class tensor to an integer
        class_id = int(r.boxes.cls[j].item())  # Extract the class ID as an integer
        
        # Check if the detected class corresponds to 'person' (class ID 0)
        if class_id == 0:
            # Convert mask coordinates to an integer format for drawing
            mask = np.array(mask, dtype=np.int32)
            
            # Fill the segmentation mask with color (e.g., white for people)
            cv2.fillPoly(segmentation_mask, [mask], (0, 255, 0))

# Combine the original image with the segmentation mask
segmentation_result = cv2.addWeighted(image, 1, segmentation_mask, 0.7, 0)

# Save the output image with segmentation
cv2.imwrite("output_segmentation.jpg", segmentation_result)

# Optionally display the image (make sure you're running in a GUI environment)
cv2.imshow("Segmentation Result", segmentation_result)
cv2.waitKey(0)
cv2.destroyAllWindows()

关注文末名片G-Z-H:【阿旭算法与机器学习】,发送【开源】可获取更多学习资源

在这里插入图片描述

好了,这篇文章就介绍到这里,喜欢的小伙伴感谢给点个赞和关注,更多精彩内容持续更新~~
关于本篇文章大家有任何建议或意见,欢迎在评论区留言交流!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开放式蓝牙耳机哪个品牌好用?五大口碑最好开放式耳机力荐!

长时间佩戴传统入耳式耳机有时可能会影响耳道健康,鉴于此,转而选择不入耳设计的开放式耳机就成了不少人的新倾向,它们有助于减少细菌滋生和耳道闷热的烦恼。为了帮助大家找到合适的选项,下面我将列举一些市面上口碑不错的开放式耳…

跨境电商怎么搭建网络环境?

跨境电商搭建网络环境是一项复杂但至关重要的任务,它涉及到多个层面的技术和服务。以下是构建高效、安全、可扩展的跨境电商网络环境的一些建议: 1. 选择合适的云服务提供商 可靠性与稳定性:选择知名且有良好口碑的云服务提供商,确…

MySql复习知识及扩展内容

DDL操作库和表 -- todo ------------操作库---------------------------------- -- 创建库 create database if not exists day10 charset utf8; create database if not exists day11 char set gbk; -- 使用库 use day10; -- 查询库 show databases ; -- 删除库 drop databas…

mybatisplus整合springboot3出错(springboot多模块开发)

1.mybatisplus版本太低或者maven导入没用如下的 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><version>3.5.5</version></dependency>2.maven导入冲突了&#xf…

千万不要再用varchar类型来存ip地址了!

对于一个ip地址&#xff0c;比如“192.168.0.110”&#xff0c;由于存在“.”号&#xff0c;所以大部分人都会用varchar类型的字段来进行存储&#xff0c;但是大家有没有想过&#xff0c;对于这样一个字符串&#xff0c;每个字符占用一个字节&#xff0c;那么就需要占用13个字节…

使用ChatGPT高级学术应用SciSpace的技术快速精准的搜索文献论文

在学术研究领域,文献综述是非常重要的一个部分。它不仅是对已有研究的梳理和总结,更是对新研究方向的探索和定位。面对浩瀚的学术文献海洋,传统的检索方法往往显得力不从心,既耗时又低效。 随着ChatGPT技术的突破,我们终于可以摆脱这一束缚,迎来一种全新的、高效的文献检…

程序员 -买房历险记

快生日了&#xff0c;自己又又 涨了一岁 买房 真不是 一件简单的事。 一. 买房 三大核心问题 1.一手/二手 房 2.哪个城市买 3.哪个地方买 我调研的是 三四线城市&#xff08;俺的老家&#xff09; 二. 买房需要 花多少&#xff08;看得到/看不到&#xff09; 比如 4000元…

SEO(搜索引擎优化)指南

SEO&#xff08;Search Engine Optimization&#xff09;是通过优化网站内容、结构和外部链接&#xff0c;提升网页在搜索引擎结果中的排名&#xff0c;从而增加网站流量的过程。SEO 涉及多个层面&#xff0c;包括技术 SEO、内容优化、外部链接建设等。以下是 SEO 的核心优化策…

HTML图形

HTML图形 1. HTML5 Canvas2.HTML5 内联 SVG3.HTML 5 Canvas vs. SVG 1. HTML5 Canvas HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。画布是一个矩形区域&#xff0c;您可以控制其每一像素。canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。 1、创建…

『网络游戏』窗口基类【06】

创建脚本&#xff1a;WindowRoot.cs 编写脚本&#xff1a; 修改脚本&#xff1a;LoginWnd.cs 修改脚本&#xff1a;LoadingWnd.cs 修改脚本&#xff1a;ResSvc.cs 修改脚本&#xff1a;LoginSys.cs 运行项目 - 功能不变 本章结束

springboot整合mybatis案例

springboot通过整合mybatis来实现数据的呈现。 一、springInitializer创建项目 注意&#xff1a;不选择也可以&#xff0c;创建项目后在pom.xml配置文件中引入依赖 <!-- mybatis起步依赖--><dependency><groupId>org.mybatis</groupId><art…

帕金森患者必看:十大忌口食物清单,守护健康从饮食做起!

一、高脂肪肉类 忌口理由&#xff1a;高脂肪肉类如肥肉、五花肉等&#xff0c;含有大量饱和脂肪&#xff0c;长期摄入会增加心血管疾病风险&#xff0c;而心血管疾病是帕金森病患者常见的并发症之一。建议选择瘦肉、鱼类等低脂高蛋白的食物。 二、腌制及加工食品 忌口理由&a…

pnpm在monorepo架构下不能引用其他模块的问题

一、研究背景 monorepo架构项目目录结构&#xff1a; - common- index.ts- ... - main- index.ts- ... - web- vue-demo- ... pnpm在monorepo架构下使用以下命令 pnpm -F main add common # or pnpm --filter main add common 并不能在main/index.ts中使用common/index.ts…

23.第二阶段x86游戏实战2-背包遍历(OD卡死解决办法,背包数量基址)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 本人写的内容纯属胡编乱造&#xff0c;全都是合成造假&#xff0c;仅仅只是为了娱乐&#xff0c;请不要…

数字教学知识库:教师备课的好帮手

在信息技术飞速发展的今天&#xff0c;教育领域正经历着前所未有的变革。其中&#xff0c;数字教学知识库的兴起&#xff0c;为教师备课提供了强有力的支持&#xff0c;成为了他们不可或缺的好帮手。本文将探讨数字教学知识库的定义、特点、构建方式以及其在教师备课中的应用&a…

html转pdf实现超清打印

jsPDFhtml2canvas实现html转pdf下载打印_pdf.addimage-CSDN博客 上篇文章中&#xff0c;已经实现了大多数场景下的打印&#xff0c;但是若是对pdf的清晰度要求较高&#xff0c;上述的方法将达不到你的要求&#xff0c;下面我将告诉大家一种超清打印&#xff0c;无缩放&#xf…

长沙近期学术会议(ICRAIC 2024)

第四届机器人、自动化与智能控制国际会议&#xff08;ICRAIC 2024&#xff09;由湖南第一师范学院主办&#xff0c;南京师范大学、山东女子学院、爱迩思出版社&#xff08;ELSP&#xff09;协办&#xff0c;会议将于12月6日至9日在湖南长沙隆重举行。ICRAIC系列会议自创办以来&…

家里养有宠物应该用哪款宠物空气净化器比较好?哪款最能吸毛?

这不是国庆节刚过吗&#xff0c;我的小猫终于是平安的度过了在农村生活的时光&#xff0c;之前还担心会不会被爸妈嫌弃&#xff0c;这下好了&#xff0c;嫌弃也过了国庆节。 但是一把猫咪带回出租房&#xff0c;由于几天不在房子里待&#xff0c;猫咪对熟悉的环境又特别激动&a…

国产长芯微CST52832高集成度低功耗的蓝牙SOC芯片完全P2P替代nRF52832成本更低,应用于智能门锁,功耗更低且系统稳定性更高

描述 CST52832是一款高集成度的低功耗蓝牙SCO芯片&#xff0c;基于低功耗蓝牙5.0协议栈。芯片内置32位 Cortex-M0 CPU、512KB Flash、138KB SRAM&#xff0c;具有国际领先的低功耗、通信距离和抗干扰性能&#xff0c;同时实现了更低成本。 特性&#xff1a; 处理器 ARM Corte…

基于springboot的家政服务管理系统(含源码+sql+视频导入教程+文档+PPT)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于springboot的家政服务管理系统1拥有三种角色 管理员&#xff1a;用户管理、服务管理、评价管理、预约管理、分配管理等 用户&#xff1a;登录注册、预约服务、取消服务、评价等 服…