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

别再截图了!用Python爬虫+LabelImg,半小时搞定YOLOv5自定义数据集(附完整代码)

半小时构建YOLOv5机械臂抓取数据集爬虫LabelImg自动化实战在机械臂抓取任务中仿真环境下的目标检测是关键技术瓶颈。传统的数据集构建方法需要人工截图、逐张标注耗费数小时甚至数天时间。本文将揭示一套工业级解决方案通过定制化爬虫脚本和LabelImg批处理技巧30分钟内完成Gazebo仿真场景下的机械臂抓取数据集构建。1. 环境准备与工具链配置工欲善其事必先利其器。我们的技术栈包含三个核心组件Python爬虫脚本基于Requests和BeautifulSoup定制开发LabelImg标注工具1.8.6版本支持YOLO格式导出YOLOv5训练环境PyTorch 1.10环境提示所有工具建议在Python 3.8虚拟环境中安装避免依赖冲突配置验证命令如下# 检查关键组件版本 python -c import torch; print(fPyTorch: {torch.__version__}) pip show labelImg | grep Version常见环境问题解决方案问题现象解决方法验证命令PyQt5兼容性错误指定版本安装pip install pyqt55.15.4python -c from PyQt5.Qt import *; print(OK)lxml安装失败使用预编译版本pip install lxml --prepython -c import lxml.etreeCUDA不可用重装对应版本torchpip install torch1.10.0cu113python -c import torch; print(torch.cuda.is_available())2. 智能爬虫数据采集方案针对Gazebo仿真场景特点我们开发了定向图片采集方案。相比通用爬虫这套系统具有以下优势语义过滤自动排除低质量/无关图片自动去重基于MD5哈希值检测重复图像自适应命名按类别自动归档核心爬虫代码改进点# 增强版图片下载器支持Gazebo仿真物体识别 def download_simulation_objects(keyword, output_dir, max_count200): import hashlib from PIL import Image from io import BytesIO def get_image_hash(img_data): return hashlib.md5(img_data).hexdigest() existing_hashes set() success_count 0 while success_count max_count: search_url fhttps://www.bing.com/images/search?q{keyword}simulation3dfirst{success_count} try: response requests.get(search_url, headerssimulation_headers, timeout10) soup BeautifulSoup(response.text, html.parser) for img_tag in soup.find_all(img, {class: mimg}): img_url img_tag.get(data-src) or img_tag.get(src) if not img_url: continue try: img_data requests.get(img_url, timeout5).content img_hash get_image_hash(img_data) if img_hash not in existing_hashes: # 自动调整图像尺寸 img Image.open(BytesIO(img_data)) img img.resize((640, 480), Image.ANTIALIAS) save_path f{output_dir}/{keyword}_{success_count:04d}.jpg img.save(save_path, quality95) existing_hashes.add(img_hash) success_count 1 print(f✅ 已下载 {success_count}/{max_count}: {save_path}) if success_count max_count: break except Exception as e: print(f⚠️ 下载失败: {str(e)[:50]}...) continue except Exception as e: print(f 搜索失败: {str(e)[:50]}...) time.sleep(5)实际应用时针对机械臂抓取场景推荐搜索以下关键词组合机械臂抓取目标: - industrial robot gripper simulation - gazebo robotic arm target - 3d geometric object gazebo - simulation grasping object3. LabelImg高效标注工作流传统标注流程存在三大效率瓶颈手动切换图片耗时重复标注同类物体文件路径管理混乱我们通过以下方案实现标注效率提升300%3.1 智能预标注配置修改LabelImg的predefined_classes.txt文件预先写入机械臂抓取常见目标gripper cube cylinder sphere connector3.2 快捷键批量操作方案快捷键功能效率提升CtrlU加载目录节省80%点击时间CtrlR切换标注目录避免手动选择W创建标注框单手操作D下一张图片比鼠标快3倍A上一张图片快速回查CtrlS保存当前标注防止意外丢失3.3 自动目录结构生成脚本# 自动化创建YOLOv5标准数据集结构 import os import shutil def create_yolo_dataset(base_path): dirs [ images/train, images/val, labels/train, labels/val ] for dir_path in dirs: full_path os.path.join(base_path, dir_path) os.makedirs(full_path, exist_okTrue) print(fCreated: {full_path}) # 自动划分训练集/验证集8:2比例 all_images [f for f in os.listdir(raw_data) if f.endswith(.jpg)] split_idx int(len(all_images)*0.8) for i, img in enumerate(all_images): dest train if i split_idx else val shutil.copy( fraw_data/{img}, f{base_path}/images/{dest}/{img} ) label_file img.replace(.jpg, .txt) if os.path.exists(fraw_labels/{label_file}): shutil.copy( fraw_labels/{label_file}, f{base_path}/labels/{dest}/{label_file} ) # 示例用法 create_yolo_dataset(gripper_dataset)4. YOLOv5训练配置优化完成标注后需要针对机械臂抓取任务优化训练配置。关键参数调整如下4.1 数据集配置文件gazebo.yaml# 机械臂专用配置 path: ../gripper_dataset train: images/train val: images/val # 类别定义 nc: 5 names: [gripper, cube, cylinder, sphere, connector]4.2 模型结构调整yolov5s-gripper.yaml# YOLOv5s机械臂专用架构 backbone: # [from, number, module, args] [[-1, 1, Focus, [64, 3]], # 增强小目标检测 [-1, 1, Conv, [128, 3, 2]], [-1, 3, C3, [128]], [-1, 1, Conv, [256, 3, 2]], [-1, 9, C3, [256]], [-1, 1, Conv, [512, 3, 2]], [-1, 9, C3, [512]], [-1, 1, Conv, [1024, 3, 2]], [-1, 1, SPP, [1024, [5, 9, 13]]], [-1, 3, C3, [1024, False]], ] head: [[-1, 1, Conv, [512, 1, 1]], [-1, 1, nn.Upsample, [None, 2, nearest]], [[-1, 6], 1, Concat, [1]], [-1, 3, C3, [512, False]], [-1, 1, Conv, [256, 1, 1]], [-1, 1, nn.Upsample, [None, 2, nearest]], [[-1, 4], 1, Concat, [1]], [-1, 3, C3, [256, False]], [-1, 1, Conv, [256, 3, 2]], [[-1, 14], 1, Concat, [1]], [-1, 3, C3, [512, False]], [-1, 1, Conv, [512, 3, 2]], [[-1, 10], 1, Concat, [1]], [-1, 3, C3, [1024, False]], [[17, 20, 23], 1, Detect, [nc, {anchors: [[10,13, 16,30, 33,23], [30,61, 62,45, 59,119], [116,90, 156,198, 373,326]]}]], ]4.3 启动训练命令python train.py \ --img 640 \ --batch 16 \ --epochs 100 \ --data gazebo.yaml \ --cfg yolov5s-gripper.yaml \ --weights yolov5s.pt \ --name gripper_v1 \ --cache \ --hyp data/hyps/hyp.scratch-low.yaml在RTX 3060显卡上200张图像的训练约需25分钟mAP0.5可达0.89以上。实际项目中建议收集500图像以获得更好效果。

相关文章:

别再截图了!用Python爬虫+LabelImg,半小时搞定YOLOv5自定义数据集(附完整代码)

半小时构建YOLOv5机械臂抓取数据集:爬虫LabelImg自动化实战 在机械臂抓取任务中,仿真环境下的目标检测是关键技术瓶颈。传统的数据集构建方法需要人工截图、逐张标注,耗费数小时甚至数天时间。本文将揭示一套工业级解决方案:通过定…...

兔抗ATR抗体亲和纯化,支持轻链专用二抗消除背景干扰

本文系统介绍由艾美捷Bethyl Laboratories推出的靶向人ATR蛋白的兔源多克隆抗体(货号A300-137A)的核心技术参数、标准化操作流程及功能应用要点,适用于DNA损伤应答、复制胁迫响应及细胞周期检查点调控等研究领域。 一、产品基本特性 该抗体为…...

PyTorch 2.8 分布式训练入门:多GPU数据并行实战教程

PyTorch 2.8 分布式训练入门:多GPU数据并行实战教程 1. 引言 想象一下,你正在训练一个大型深度学习模型,单卡训练需要整整一周时间。这时如果能同时利用多块GPU的计算能力,训练时间可能缩短到一天以内。这就是分布式训练的魅力所…...

从分子识别到信号放大:ELISA的核心逻辑与前沿突破

摘要:酶联免疫吸附测定技术作为现代生物医学研究的核心工具,在疾病诊断、药物分析和食品检测等领域发挥着不可替代的作用。本文系统阐述该技术的理论基础、方法学分类、关键影响因素及最新发展趋势,为相关领域的实验设计与结果分析提供参考框…...

⚠️ Agent couldn‘t generate a response. Note: some tool actions may have already been executed — plea

⚠️ Agent couldn’t generate a response 错误触发机制分析 分析日期: 2026-04-28 代码版本: v2026.4.19-beta.2-5327-gccb3af556f (commit ccb3af556f) 仓库: C:\github\openclaw 1. 错误文本来源 错误定义在 src/agents/pi-embedded-runner/run/incomplete-turn.ts 的 res…...

Android系统升级变快了?聊聊GKI和KMI背后那些对开发者实实在在的影响

Android系统升级变快了?聊聊GKI和KMI背后那些对开发者实实在在的影响 当Android 11首次引入GKI(Generic Kernel Image)概念时,许多开发者还在观望这项变革的实际价值。三年后的今天,随着Android 13的普及,G…...

【医疗影像C++实时渲染引擎架构白皮书】:20年影像系统专家首度公开低延迟GPU管线设计核心参数与实测性能拐点

更多请点击: https://intelliparadigm.com 第一章:医疗影像C实时渲染引擎架构白皮书导论 现代医学诊断高度依赖高保真、低延迟的影像可视化能力,尤其在术中导航、远程会诊与AI辅助分析场景下,传统基于GPU驱动层封装的渲染方案难以…...

如何用Flowframes轻松实现视频帧率翻倍:完整AI插帧指南

如何用Flowframes轻松实现视频帧率翻倍:完整AI插帧指南 【免费下载链接】flowframes Flowframes Windows GUI for video interpolation using DAIN (NCNN) or RIFE (CUDA/NCNN) 项目地址: https://gitcode.com/gh_mirrors/fl/flowframes 还在为低帧率视频的卡…...

太原风电设备运输

在“双碳”目标引领下,我国风电产业迎来爆发式增长。风电设备(如叶片、机舱、塔筒)因其超长、超重、超宽的物理特性,对物流运输提出了极高要求。作为大件运输领域的专业服务商,太原重卡叔叔运输有限公司(地…...

MCP插件报错无法复现?别再盲目重启!用VS Code内置Tracing + MCP Protocol Inspector抓取完整通信链路(含HTTP/2帧级日志解析)

更多请点击: https://intelliparadigm.com 第一章:VS Code MCP 插件生态搭建手册 MCP(Model Context Protocol)是新兴的 AI 工具协同标准,VS Code 通过官方 MCP 客户端插件可无缝对接本地或远程大模型服务。搭建稳定、…...

智能硬件监控新范式:LibreHardwareMonitor的架构解析与实战指南

智能硬件监控新范式:LibreHardwareMonitor的架构解析与实战指南 【免费下载链接】LibreHardwareMonitor Libre Hardware Monitor is free software that can monitor the temperature sensors, fan speeds, voltages, load and clock speeds of your computer. 项…...

StarRailCopilot深度解析:如何用模块化架构实现崩坏星穹铁道全流程自动化

StarRailCopilot深度解析:如何用模块化架构实现崩坏星穹铁道全流程自动化 【免费下载链接】StarRailCopilot 崩坏:星穹铁道脚本 | Honkai: Star Rail auto bot (简体中文/繁體中文/English/Espaol) 项目地址: https://gitcode.com/gh_mirrors/st/StarR…...

多商户电商系统

电商系统可以理解为覆盖从商品展示、交易、支付,到履约、供应链管理的全链路数字化解决方案。一个成熟的电商系统不只是个“卖货的网站”,而是由多个子系统协同组成的商业基础设施。为了让理解更清晰,我按成熟度分了三个层次来介绍&#xff1…...

3步掌握Bilibili评论数据采集:从零到精通的完整指南

3步掌握Bilibili评论数据采集:从零到精通的完整指南 【免费下载链接】BilibiliCommentScraper B站视频评论爬虫 Bilibili完整爬取评论数据,包括一级评论、二级评论、昵称、用户ID、发布时间、点赞数 项目地址: https://gitcode.com/gh_mirrors/bi/Bili…...

B站评论爬虫实战指南:从零开始获取完整评论数据

B站评论爬虫实战指南:从零开始获取完整评论数据 【免费下载链接】BilibiliCommentScraper B站视频评论爬虫 Bilibili完整爬取评论数据,包括一级评论、二级评论、昵称、用户ID、发布时间、点赞数 项目地址: https://gitcode.com/gh_mirrors/bi/Bilibili…...

Rocky Linux 9上配置Chrony时间同步的保姆级教程(含阿里云、腾讯云NTP源)

Rocky Linux 9时间同步终极指南:Chrony配置与国内NTP源实战 刚部署完Rocky Linux 9服务器,却发现日志时间错乱不堪?数据库主从复制因为几秒的时间差频频报错?作为替代CentOS的最佳选择,Rocky Linux 9在时间同步配置上有…...

2026年,明星偏爱老爹鞋,背后有何秘密?

到2026年,老爹鞋已从潮流单品演变为明星和大众都青睐的日常鞋款。其背后原因主要有以下几点:👟 舒适实用,为奔波而生老爹鞋源于上世纪八九十年代注重功能性的运动鞋,其厚底、宽鞋身和复杂结构提供了出色的支撑与缓冲。…...

别再让AI模型‘学新忘旧’了:手把手教你用PyTorch搞定Continual Learning的灾难性遗忘

别再让AI模型‘学新忘旧’了:手把手教你用PyTorch搞定Continual Learning的灾难性遗忘 当你的猫狗分类模型刚学会识别"虹猫蓝兔"中的虹猫,却突然忘记了普通家猫的样子——这就是典型的灾难性遗忘现象。作为算法工程师,我们需要的不…...

GVINS实战解析:如何用自录的ROS Bag数据替换官方数据集进行真机测试?

GVINS实战进阶:用自采集ROS Bag替换官方数据集的完整指南 当你第一次在官方数据集上成功运行GVINS时,那种兴奋感可能还记忆犹新。但很快,一个更实际的问题浮出水面:如何让这套强大的GNSS-视觉-惯性紧耦合系统处理我自己的传感器数…...

MATLAB R2023a新功能实测:用SHAP值给你的机器学习模型做个‘CT扫描’,到底哪个特征说了算?

MATLAB R2023a中的SHAP值分析:揭开机器学习模型的黑箱之谜 当你的随机森林模型坚定地拒绝了某位贷款申请人,或是回归模型预测出某款车型的油耗异常高时,你是否曾好奇——究竟是哪些特征在背后主导了这些决策?MATLAB R2023a带来的S…...

5分钟高效配置FFXIV动画跳过插件:告别副本等待的智能解决方案

5分钟高效配置FFXIV动画跳过插件:告别副本等待的智能解决方案 【免费下载链接】FFXIV_ACT_CutsceneSkip 项目地址: https://gitcode.com/gh_mirrors/ff/FFXIV_ACT_CutsceneSkip FFXIV动画跳过插件是一款专为《最终幻想14》国服玩家设计的智能辅助工具&#…...

G-Helper华硕笔记本控制工具:3分钟掌握极致性能调校

G-Helper华硕笔记本控制工具:3分钟掌握极致性能调校 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar…...

别再只会用if-else了!用STM32 HAL库的PWM调出丝滑转弯的循迹小车(附完整代码)

从机械转向到丝滑过弯:STM32 HAL库PWM调校实战指南 循迹小车从实验室走向竞赛场的关键转折点,往往在于那毫秒级的电机响应差异。当传统if-else控制让小车像醉汉般踉跄前行时,PWM调速却能赋予它芭蕾舞者般的优雅姿态。本文将揭示如何用STM32的…...

从一块烧坏的板子说起:聊聊PCB安全间距如何影响电源模块的长期可靠性

从一块烧坏的板子说起:PCB安全间距如何决定电源模块的生死 那块烧焦的AC-DC电源模块静静躺在我的工作台上,初级侧到次级侧的碳化痕迹像一道闪电劈开了整个PCB。客户反馈说设备在潮湿环境下运行两年后突然冒烟,拆解后发现正是这个24V输出的电源…...

2026年04月27日最热门的开源项目(Github)

本期榜单展示了多个热门开源项目,主要集中在提高编码效率、AI助手以及与 Claude 相关的工具等主题。以下是对榜单的分析: 项目分布 语言多样性: 该榜单中的项目使用了多种编程语言,包括 Shell (3个项目)、Python (5个项目)、Type…...

移动端安全编码规范

移动互联网时代,智能手机已成为人们日常生活的重要组成部分。随着移动应用的普及,安全问题也日益凸显。恶意攻击、数据泄露、隐私侵犯等安全事件频发,给用户和企业带来了巨大损失。移动端安全编码规范的制定和遵循显得尤为重要。它不仅关乎用…...

终极Total War模组编辑器:RPFM一站式解决方案完整指南

终极Total War模组编辑器:RPFM一站式解决方案完整指南 【免费下载链接】rpfm Rusted PackFile Manager (RPFM) is a... reimplementation in Rust and Qt6 of PackFile Manager (PFM), one of the best modding tools for Total War Games. 项目地址: https://git…...

3步掌握MediaCreationTool.bat:Windows安装介质制作终极方案

3步掌握MediaCreationTool.bat:Windows安装介质制作终极方案 【免费下载链接】MediaCreationTool.bat Universal MCT wrapper script for all Windows 10/11 versions from 1507 to 21H2! 项目地址: https://gitcode.com/gh_mirrors/me/MediaCreationTool.bat …...

3个突破性方案:如何解决工业视觉的形状识别难题?

3个突破性方案:如何解决工业视觉的形状识别难题? 【免费下载链接】shape_based_matching try to implement halcon shape based matching, refer to machine vision algorithms and applications, page 317 3.11.5, written by halcon engineers 项目地…...

咖啡烘焙数据可视化平台Artisan:构建专业级烘焙过程控制的革命性方案

咖啡烘焙数据可视化平台Artisan:构建专业级烘焙过程控制的革命性方案 【免费下载链接】artisan artisan: the worlds most trusted roasting software 项目地址: https://gitcode.com/gh_mirrors/ar/artisan Artisan作为全球最受信赖的开源咖啡烘焙软件&…...