使用 YOLO 进行目标检测:如何提取人物图像

利用yolov5进行目标检测,并将检测到的目标裁剪出来 写在前面:关于yolov5的调试运行在这里不做过多赘述,有关yolov5的调试运行请看: 本文章主要讲解的是裁剪。需求:识别图片中的人物并将其裁剪出来如果只需识别人物的话,那么只需在yolov5中设定参数即可,例如使用命令行运行时: 即为将参数设置为只识别人。此外需要将检测到的目标裁剪出来还需要目标的中心点坐标以及目标的宽高,因此需要保存目标的信息。实现人物检测并保存检测到的目标信息,运行命令为: 在保存目标信息的tx文件中,例如下图:0 0.682078 0.495935 0.613014 0.99187 阅读详情

YOLO(You Only Look Once)是一种流行的用于对象检测的开源神经网络模型。在这篇文章中,我们将解释如何使用 YOLO 提取一堆人(或至少一个人)的图像。

首先,我们需要安装 YOLO 库和依赖项。为此,我们将使用 pip 包管理器并安装以下库:

pip install numpy
pip install opencv-python
pip install tensorflow
pip install keras

接下来我们从官网下载预训练好的YOLO权重和配置文件。这些文件可以在https://pjreddie.com/darknet/yolo/找到。

一旦我们有了权重和配置文件,我们就可以使用它们对我们的图像执行对象检测。

以下是如何使用 YOLO 检测图像中人物的示例:

import cv2
import numpy as np

# Load YOLO model
net = cv2.dnn.readNet("./yolov3.weights", "./darknet/cfg/yolov3.cfg")

# Define input image
image = cv2.imread("image.jpg")

# Get image dimensions
(height, width) = image.shape[:2]

# Define the neural network input
blob = cv2.dnn.blobFromImage(image, 1 / 255.0, (416, 416), swapRB=True, crop=False)
net.setInput(blob)

# Perform forward propagation
output_layer_name = net.getUnconnectedOutLayersNames()
output_layers = net.forward(output_layer_name)

# Initialize list of detected people
people = []

# Loop over the output layers
for output in output_layers:
    # Loop over the detections
    for detection in output:
        # Extract the class ID and confidence of the current detection
        scores = detection[5:]
        class_id = np.argmax(scores)
        confidence = scores[class_id]

        # Only keep detections with a high confidence
        if class_id == 0 and confidence > 0.5:
            # Object detected
            center_x = int(detection[0] * width)
            center_y = int(detection[1] * height)
            w = int(detection[2] * width)
            h = int(detection[3] * height)

            # Rectangle coordinates
            x = int(center_x - w / 2)
            y = int(center_y - h / 2)

            # Add the detection to the list of people
            people.append((x, y, w, h))

# Draw bounding boxes around the people
for (x, y, w, h) in people:
    cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)

# Show the image
cv2.imshow("Image", image)
cv2.waitKey(0)

在这个例子中,我们首先使用cv2.dnn.readNet方法加载 YOLO 模型。然后,我们定义输入图像并获取其尺寸。

接下来,我们通过从图像创建一个斑点并对其像素值进行归一化来定义神经网络输入。

最后,我们执行前向传播并在输出层上循环,以提取检测并提取人周围的边界框坐标(我们的兴趣在于人检测)。

然后我们可以使用cv2.rectangle方法在原始图像上的人周围绘制边界框。

运行此代码后,你应该能够看到检测到的任何人周围都带有边界框。

d0fb462d8d94b1b8c1e613a07d2762b9.jpeg

YOLO 对象检测 | 来源(https://unsplash.com/photos/kY8m5uDIW7Y)

如果你想去除重复的矩形,你可以使用 NMS,例如:

cv2.dnn.NMSBoxes(boxes, confidences, score_threshold=0.5, nms_threshold=0.4)

此外,可以为每个检测到的矩形添加一个标题:

cv2.putText(image, label, (x, y + 30), font, 2, color, 3)

输出是:

78d58bab1630a8faa92f52f34cb27119.jpeg

YOLO 对象检测(带标签的对象)| 来源(https://unsplash.com/photos/kY8m5uDIW7Y)

现在你可以轻松地计算图像中的人数。

☆ END ☆

如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「uncle_pn」,欢迎添加小编微信「 woshicver」,每日朋友圈更新一篇高质量博文。

扫描二维码添加小编↓

67ab0ca2abe832357c42ce3ee0bdc3bc.jpeg

yolov5图像分割做人物抠像 yolov5的6.2版本新推出的图像分割模型来做人物抠像,速度很快效果也不错! 阅读详情

相关推荐

目标检测YOLO算法(用Python实现目标检测

最近在听Andrew Ng讲解目标检测的视频,包括目标定位,特征点检测,卷积的滑动窗口的实现,Bounding Box预测,交并比,非极大值抑制,AnchorBoxes,YOLO算法以及候选区域,并通过查阅相关的资料,对以上内容有了初步的理解,趁热打铁,总结如下。 一、目标定位(Object Localization) 图片分类:图片分类问题已经不陌生了,例如,输入一张图片到多层卷积神经网络,它会输出一个特征向量,并反馈给softmax单元来预测图片的类型。 定位分类问题:不仅要用...

NSSWTT的博客 2万+

基于yolo5的图像行人轨迹搜索(完整代码)

基于yolo5的图像行人轨迹搜索(完整代码)

机器学习深度学习业余选手 665

yolo目标检测项目

修改voc_annotation.py里面的参数。修改voc_annotation.py中的classes_path,使其对应cls_classes.txt,并运行voc_annotation.py。修改voc_annotation.py里面的annotation_mode=2,运行voc_annotation.py生成根目录下的2007_train.txt和2007_val.txt。基于课上的yolov4代码,使用自己标注的数据集进行训练,得到训练好的模型,使用测试图片对结果进行检测展示。

m0_70697874的博客 1058

Keras深度学习实战(15)——从零开始实现YOLO目标检测

YOLO 是基于锚框的经典目标检测算法,能够实现快速检测的同时具有较高的准确率,其将目标检测任务看作目标区域预测和类别预测的回归问题,实现端到端的目标检测。本文首先介绍了 YOLO 模型的核心思想与目标检测流程,然后使用 Keras 从零开始实现了一个基于 YOLO目标检测模型。......

盼小辉丶的博客 1万+

yolo 分辨男女

git链接 python yolo.py

luoganttcc的博客 2651

YoLov5实战】记录一次不太成功的实战,足球场人物识别

实战项目参考: yolov5实战 我是从打标签开始,一步一步的做的。 起因是想自己做点什么,而且觉得要从打标签这种比较“无聊乏味”的工作开始,对yolov5的整个流程好有个完整的认识。 想法来源: 之前看过一则新闻,AI摄像误认裁判光头为足球 想一想觉得很有趣,如果识别技术不是单纯的追踪足球,而是改为类似“综合考虑球员密度和足球位置”这样的设计会不会更好? 譬如:球场22个人,确定在一个确定的摄像机画面大小范围内,把摄像机角度调整为足球位置和球员数量都最佳的位置。这样就把问题变成了一个足球位置和球员密度的双

zakahan的博客 4976

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

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

阿旭的博客 6380

PySide6集成yolo v8实现图片人物检测、视频人物检测以及摄像头人物检测

本篇博客介绍Python YOLO目标检测, 并在PySide6应用里集成YOLO v8实现图片人物检测、视频人物检测以及摄像头人物检测。

琅嬛福地 2259

目标检测】你想知道的手势识别都在这里 【YOLO】网络

基于YOLO+ResNet50的手势识别 (一)项目背景以及系统环境 本文所使用深度学习框架为pytorch-gpu-1.7.1版本,python3.7版本,需要在特定的系统环境中运行。本文搭建实验所需要的系统环境如下所示。 1.1 项目背景 ​ 近年来,计算机视觉技术蓬勃发展,为生产和生活带来了巨大的变革。像是刷脸支付、无人驾驶等已经上市或即将走向成熟的技术,极大便利了我们的日常生活。但是我们观察到,目前市场上尚未出现一款完善的针对会议演示控制的计算机视觉产品。同时,由于新冠疫情的影响,加深了人们对于

面向生活编程 2万+

基于yolov5只进行人物目标检测

本项目背景是使用一个usb摄像头模组,在一定距离下检测人,并判断人是否进入设定的区域中。因此,需要一种目标检测模型,我们选择yolov5作为检测网络,把原来包含80类的coco数据集提取出包含人物图像,重新训练一次。

yuleaf_csdn的博客 1880

利用红外-可见光图像数据集OTCBVS打通图像融合、目标检测和目标跟踪

利用红外-可见光图像数据集OTCBVS打通图像融合、目标检测和目标跟踪

weixin_41029027的博客 1万+

YOLO人物肖像发型分类目标检测数据集

YOLO人物肖像发型分类目标检测数据集是一个专注于人物面部特征识别的专用数据集,其名称和类别设定表明该数据集适用于需要对人物发型进行分类与定位的场景。从名称可推断,该数据集可能用于智能安防、个性化推荐、虚拟试妆或形象设计等应用场景。在这些场景中,准确识别并分类不同发型有助于提升用户体验或优化自动化处理流程。数据集的设计目标在于为基于YOLO系列模型的目标检测任务提供高质量的标注样本,以支持相关算法的训练与验证。

guo_xiao_xiao_的博客 378

YOLO11-LSCD-LQE:自然景观与人物识别目标检测系统构建与应用_1

本文介绍了YOLO11-LSCD-LQE目标检测系统,该系统针对自然景观和人物识别任务进行了优化。系统基于YOLOv11架构,结合轻量级结构检测(LSCD)和量化评估(LQE)技术,在保持高精度的同时提升了推理速度。文章详细阐述了系统架构设计、核心算法实现、数据集构建、模型训练优化等关键技术环节。实验结果表明,该系统在COCO数据集上达到55.3% mAP和65FPS的性能,在复杂场景下表现优异。系统可广泛应用于智能安防、旅游导览等领域,并提供了完整的开源实现。

Katecat99663的博客 899

YOLO原理是什么?一文搞懂YOLO目标检测算法

YOLO(You Only Look Once)是一种高效的目标检测算法,通过将图像划分为网格并一次性预测边界框和类别,实现快速准确的检测。其核心思想是将检测视为回归问题,相比传统方法更高效。YOLO具有端到端训练、全局感知和实时性强等优势,已发展出多个优化版本(如YOLOv3-v8),广泛应用于安防、自动驾驶等领域。YOLO的创新改变了目标检测范式,成为计算机视觉领域的重要技术。

OpenCVtuxiang的博客 2268

YOLO系列】目标检测简介

目标检测计算机视觉领域中的一项重要任务,主要是在图像或视频中确定特定目标的位置和类别。目标检测算法不仅要识别图像中的对象属于哪个类别,还要确定它们在图像中的具体位置,通常以边界框(bounding box)的形式表示。在实际应用中,可以根据具体的需求和场景选择合适的模型。同时,随着技术的不断发展,也出现了一些结合了两者优点的混合模型,为目标检测提供了更多的选择。目前目标检测算法主要分为两类:One-Stage(一阶段)和Two-Stage(两阶段)模型。

qq_51366016的博客 2824

目标检测图像分类的区别

图像分类解决的是整张图片是什么类别的问题,它只关心图片中主要物体的类别。目标检测解决的是图片中有哪些物体,物体在哪里的问题,它同时关心物体的类别和它们的位置。

m0_57236802的博客 1900

YOLO人物发型[刺猬头]目标检测数据集

YOLO人物发型[刺猬头]目标检测数据集聚焦于特定发型特征的识别与定位,其名称和类别指向明确,表明该数据集主要用于检测具有“刺猬头”特征的人脸图像。从名称推测,该数据集可能应用于时尚产业、美发行业或个性化形象分析等领域,尤其适合用于开发能够识别特定发型风格的智能系统。尽管图片数量较少,但其针对性强,为研究特定发型在计算机视觉中的表现提供了有价值的样本基础。该数据集包含37张图像,涵盖单一类别——“刺猬头”,即发型呈现出短而蓬松、顶部突出的特征。

guo_xiao_xiao_的博客 235

YOLO人物肖像发型特征目标检测数据集

YOLO人物肖像发型特征目标检测数据集聚焦于人物面部特征的识别与定位,尤其针对发型这一具有显著视觉差异的属性。从名称可推断,该数据集适用于需要精准识别和分类人物发型的计算机视觉任务,如智能美妆推荐、虚拟试妆系统、影视角色设计辅助等场景。其核心价值在于为基于YOLO系列模型的目标检测算法提供专门针对发型特征的训练素材,能够有效提升模型在特定应用场景下的检测精度和泛化能力。

guo_xiao_xiao_的博客 203
上一篇: 使用 Python 进行面部和眼睛检测
下一篇: 使用 YOLO 进行自定义对象检测
woshicver
博客等级 码龄6年 1838粉丝 · 624原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值