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

扬州做网站网络营销的传播手段

扬州做网站,网络营销的传播手段,优秀大校网站,欧美真人做免费网站参考文献 1.Ubuntu配置Yolov8环境并训练自己的数据集 ROS实时运行 2.https://juejin.cn/post/7313979467965874214 前提: 1.CUDA和Anaconda,PyTorch 2.python>3.8 一、创建激活环境,安装依赖 1.创建虚拟环境 conda create -n yol…

参考文献

1.Ubuntu配置Yolov8环境并训练自己的数据集 + ROS实时运行

2.https://juejin.cn/post/7313979467965874214

前提:

1.CUDA和Anaconda,PyTorch

2.python>=3.8

一、创建激活环境,安装依赖

1.创建虚拟环境

conda create -n yolov8 python=3.8

2.激活虚拟环境

conda activate yolov8

3.安装yolov8

pip install ultralytics

 清华源安装

pip install ultralytics -i  https://pypi.tuna.tsinghua.edu.cn/simple/

安装rospkg

pip install rospkg

二、安装数据标注软件并使用

1.激活刚刚建的虚拟环境

conda activate yolov8

2.安装数据标注软件

pip install labelImg

清华源安装

pip install labelImg -i  https://pypi.tuna.tsinghua.edu.cn/simple/

3.启动标注软件

labelImg

 4.标注软件的使用

(1).打开目录:选择你拍摄图片存放的文件夹,我的是yolo2/data/images

(2).改变存放目录:选择你要将标注存放的文件夹,yolo2/data/Annotations

(3).选中查看-自动保存:这样无需自己保存

(4).点击创建区块:对要识别的物体进行标注,标注框紧贴物体,请勿框大或框小,有几个框几个,勿遗漏,不要两个框一起

(5).标签模式pascalVOC可以先不改成yolo模式,因为它保存的信息比较多,如果确定只用yolo也可以选择yolo模式

三、数据集的制作

在不同背景下拍摄要识别物体的照片,放在yolo2/data/images中。data下的文件夹包括:

(1).Annotations:数据集标注的文件(.xml)

(2).images:数据集图片 (.jpg)

(3).ImageSets:数据集划分(.txt)

(4).labels:数据集标注,yolo格式版(.txt)

数据集标注完成后,images、Annotations有了内容

1.数据集划分

yolo2文件夹下,创建一个文件splitDataset.py,内容如下:

import random
import ostrainval_percent = 0.9
train_percent = 0.9
xmlfilepath = 'data/Annotations'
txtsavepath = 'data/ImageSets'
total_xml = os.listdir(xmlfilepath)num = len(total_xml)
list = range(num)
tv = int(num * trainval_percent)
tr = int(tv * train_percent)
trainval = random.sample(list, tv)
train = random.sample(trainval, tr)ftrainval = open('data/ImageSets/trainval.txt', 'w')
ftest = open('data/ImageSets/test.txt', 'w')
ftrain = open('data/ImageSets/train.txt', 'w')
fval = open('data/ImageSets/val.txt', 'w')for i in list:name = total_xml[i][:-4] + '\n'if i in trainval:ftrainval.write(name)if i in train:ftrain.write(name)else:fval.write(name)else:ftest.write(name)ftrainval.close()
ftrain.close()
fval.close()
ftest.close()

运行,ImageSets中会出现

2.将xml文件转换成yolo格式的txt文件

同样位置创建一个文件XML2TXT.py,内容如下

# xml解析包
import xml.etree.ElementTree as ET
import pickle
import os
from os import listdir, getcwd
from os.path import joinsets = ['train', 'test', 'val']
classes = ['nut,bolt']# 进行归一化操作
def convert(size, box): # size:(原图w,原图h) , box:(xmin,xmax,ymin,ymax)dw = 1./size[0]     # 1/wdh = 1./size[1]     # 1/hx = (box[0] + box[1])/2.0   # 物体在图中的中心点x坐标y = (box[2] + box[3])/2.0   # 物体在图中的中心点y坐标w = box[1] - box[0]         # 物体实际像素宽度h = box[3] - box[2]         # 物体实际像素高度x = x*dw    # 物体中心点x的坐标比(相当于 x/原图w)w = w*dw    # 物体宽度的宽度比(相当于 w/原图w)y = y*dh    # 物体中心点y的坐标比(相当于 y/原图h)h = h*dh    # 物体宽度的宽度比(相当于 h/原图h)return (x, y, w, h)    # 返回 相对于原图的物体中心点的x坐标比,y坐标比,宽度比,高度比,取值范围[0-1]# year ='2012', 对应图片的id(文件名)
def convert_annotation(image_id):'''将对应文件名的xml文件转化为label文件,xml文件包含了对应的bunding框以及图片长款大小等信息,通过对其解析,然后进行归一化最终读到label文件中去,也就是说一张图片文件对应一个xml文件,然后通过解析和归一化,能够将对应的信息保存到唯一一个label文件中去labal文件中的格式:calss x y w h  同时,一张图片对应的类别有多个,所以对应的bunding的信息也有多个'''# 对应的通过year 找到相应的文件夹,并且打开相应image_id的xml文件,其对应bund文件in_file = open('data/Annotations/%s.xml' % (image_id), encoding='utf-8')# 准备在对应的image_id 中写入对应的label,分别为# <object-class> <x> <y> <width> <height>out_file = open('data/labels/%s.txt' % (image_id), 'w', encoding='utf-8')# 解析xml文件tree = ET.parse(in_file)# 获得对应的键值对root = tree.getroot()# 获得图片的尺寸大小size = root.find('size')# 如果xml内的标记为空,增加判断条件if size != None:# 获得宽w = int(size.find('width').text)# 获得高h = int(size.find('height').text)# 遍历目标objfor obj in root.iter('object'):# 获得difficult ??difficult = obj.find('difficult').text# 获得类别 =string 类型cls = obj.find('name').text# 如果类别不是对应在我们预定好的class文件中,或difficult==1则跳过if cls not in classes or int(difficult) == 1:continue# 通过类别名称找到idcls_id = classes.index(cls)# 找到bndbox 对象xmlbox = obj.find('bndbox')# 获取对应的bndbox的数组 = ['xmin','xmax','ymin','ymax']b = (float(xmlbox.find('xmin').text), float(xmlbox.find('xmax').text), float(xmlbox.find('ymin').text),float(xmlbox.find('ymax').text))print(image_id, cls, b)# 带入进行归一化操作# w = 宽, h = 高, b= bndbox的数组 = ['xmin','xmax','ymin','ymax']bb = convert((w, h), b)# bb 对应的是归一化后的(x,y,w,h)# 生成 calss x y w h 在label文件中out_file.write(str(cls_id) + " " + " ".join([str(a) for a in bb]) + '\n')# 返回当前工作目录
wd = getcwd()
print(wd)for image_set in sets:'''对所有的文件数据集进行遍历做了两个工作:1.将所有图片文件都遍历一遍,并且将其所有的全路径都写在对应的txt文件中去,方便定位2.同时对所有的图片文件进行解析和转化,将其对应的bundingbox 以及类别的信息全部解析写到label 文件中去最后再通过直接读取文件,就能找到对应的label 信息'''# 先找labels文件夹如果不存在则创建if not os.path.exists('data/labels/'):os.makedirs('data/labels/')# 读取在ImageSets/Main 中的train、test..等文件的内容# 包含对应的文件名称image_ids = open('data/ImageSets/%s.txt' % (image_set)).read().strip().split()# 打开对应的2012_train.txt 文件对其进行写入准备list_file = open('data/%s.txt' % (image_set), 'w')# 将对应的文件_id以及全路径写进去并换行for image_id in image_ids:list_file.write('data/images/%s.jpg\n' % (image_id))# 调用  year = 年份  image_id = 对应的文件名_idconvert_annotation(image_id)# 关闭文件list_file.close()

 这一步产生的yolo2下面的.txt文件有用,但是转xml文件没成功,不知道为什么,所以再在同样位置创建一个文件XML2TXT2.py,内容如下

# -*- coding: utf-8 -*-
#这个可以运行
import os
import xml.etree.ElementTree as ETdirpath = 'data/Annotations'  # 原来存放xml文件的目录
newdir = 'data/labels'                # 修改label后形成的txt目录if not os.path.exists(newdir):os.makedirs(newdir)dict_info = {'nut': 0, 'bolt': 1}             # 有几个 属性 填写几个label namesfor fp in os.listdir(dirpath):if fp.endswith('.xml'):root = ET.parse(os.path.join(dirpath, fp)).getroot()xmin, ymin, xmax, ymax = 0, 0, 0, 0sz = root.find('size')width = float(sz[0].text)height = float(sz[1].text)filename = root.find('filename').textfor child in root.findall('object'):  # 找到图片中的所有框sub = child.find('bndbox')  # 找到框的标注值并进行读取label = child.find('name').textlabel_ = dict_info.get(label)if label_:label_ = label_else:label_ = 0xmin = float(sub[0].text)ymin = float(sub[1].text)xmax = float(sub[2].text)ymax = float(sub[3].text)try:  # 转换成yolov3的标签格式,需要归一化到(0-1)的范围内x_center = (xmin + xmax) / (2 * width)x_center = '%.6f' % x_centery_center = (ymin + ymax) / (2 * height)y_center = '%.6f' % y_centerw = (xmax - xmin) / widthw = '%.6f' % wh = (ymax - ymin) / heighth = '%.6f' % hexcept ZeroDivisionError:print(filename, '的 width有问题')with open(os.path.join(newdir, fp.split('.xml')[0] + '.txt'), 'a+') as f:f.write(' '.join([str(label_), str(x_center), str(y_center), str(w), str(h) + '\n']))
print('ok')

运行之后,labels文件夹下会出现相关文件。

3.data下新建fall.yaml

内容

train: /home/dyj/yolo3/data/train.txt
val: /home/dyj/yolo3/data/val.txt
test: /home/dyj/yolo3/data/test.txt# number of classes
nc: 2# class names
names: ['nut','bolt']

nc:类别数量    names: ['nut','bolt']:类别名称  需要修改

四、运行

yolo task=detect mode=train model=yolov8n.pt data=data/fall.yaml batch=32 epochs=100 imgsz=640 workers=16 device=0 


文章转载自:
http://dinncomatrilinear.ydfr.cn
http://dinncoboronia.ydfr.cn
http://dinncosunshiny.ydfr.cn
http://dinncobaculiform.ydfr.cn
http://dinncosugary.ydfr.cn
http://dinncopunctated.ydfr.cn
http://dinncomensch.ydfr.cn
http://dinncobintree.ydfr.cn
http://dinncohardheaded.ydfr.cn
http://dinncoaudiometric.ydfr.cn
http://dinncowakashan.ydfr.cn
http://dinncoumbellate.ydfr.cn
http://dinncoepilog.ydfr.cn
http://dinncotape.ydfr.cn
http://dinncoxanthomycin.ydfr.cn
http://dinncoinhabitant.ydfr.cn
http://dinncococobolo.ydfr.cn
http://dinncopakistani.ydfr.cn
http://dinncosoochong.ydfr.cn
http://dinncocontignation.ydfr.cn
http://dinncoscant.ydfr.cn
http://dinncoreseizure.ydfr.cn
http://dinncobushido.ydfr.cn
http://dinncoelectrosleep.ydfr.cn
http://dinncomaudlin.ydfr.cn
http://dinncopneumatization.ydfr.cn
http://dinncosupernaturally.ydfr.cn
http://dinncocanella.ydfr.cn
http://dinncounaccustomed.ydfr.cn
http://dinncopediment.ydfr.cn
http://dinncoamoebocyte.ydfr.cn
http://dinncobalkanize.ydfr.cn
http://dinncotiffany.ydfr.cn
http://dinncoepisematic.ydfr.cn
http://dinncosanguinariness.ydfr.cn
http://dinncobenzpyrene.ydfr.cn
http://dinncocyclo.ydfr.cn
http://dinncorhodanize.ydfr.cn
http://dinncopareve.ydfr.cn
http://dinncosemicivilized.ydfr.cn
http://dinncobackstay.ydfr.cn
http://dinncofnma.ydfr.cn
http://dinncozingiber.ydfr.cn
http://dinncodoorstep.ydfr.cn
http://dinncoextraparochial.ydfr.cn
http://dinncocardinalate.ydfr.cn
http://dinncospirited.ydfr.cn
http://dinncoscouse.ydfr.cn
http://dinncotransmitter.ydfr.cn
http://dinncoopisthe.ydfr.cn
http://dinncoicositetrahedron.ydfr.cn
http://dinncoamoebae.ydfr.cn
http://dinncotalofibular.ydfr.cn
http://dinncofraenulum.ydfr.cn
http://dinncoarsphenamine.ydfr.cn
http://dinncolifeway.ydfr.cn
http://dinncoheterotrophe.ydfr.cn
http://dinncoileal.ydfr.cn
http://dinncosulphuret.ydfr.cn
http://dinncoconfrere.ydfr.cn
http://dinncofirefly.ydfr.cn
http://dinncosephardi.ydfr.cn
http://dinncotounament.ydfr.cn
http://dinncobagwig.ydfr.cn
http://dinncoirretrievably.ydfr.cn
http://dinncobateau.ydfr.cn
http://dinncosemiempirical.ydfr.cn
http://dinncocatecheticel.ydfr.cn
http://dinncoangelhood.ydfr.cn
http://dinncochinchin.ydfr.cn
http://dinncomelomane.ydfr.cn
http://dinncoexaminatorial.ydfr.cn
http://dinncowadding.ydfr.cn
http://dinncodedicative.ydfr.cn
http://dinncodiscoverture.ydfr.cn
http://dinncorattily.ydfr.cn
http://dinncogroveler.ydfr.cn
http://dinncocraniometer.ydfr.cn
http://dinncograupel.ydfr.cn
http://dinnconor.ydfr.cn
http://dinncopresbytery.ydfr.cn
http://dinncocetologist.ydfr.cn
http://dinncoassai.ydfr.cn
http://dinncoraises.ydfr.cn
http://dinncounpennied.ydfr.cn
http://dinncounaec.ydfr.cn
http://dinncotimberland.ydfr.cn
http://dinncointendant.ydfr.cn
http://dinncooutright.ydfr.cn
http://dinncofenderbar.ydfr.cn
http://dinncodeschool.ydfr.cn
http://dinncoembryoma.ydfr.cn
http://dinncoinconsiderate.ydfr.cn
http://dinncoprimidone.ydfr.cn
http://dinncoaskesis.ydfr.cn
http://dinncolubric.ydfr.cn
http://dinncodeipnosophist.ydfr.cn
http://dinncomalleable.ydfr.cn
http://dinncoleadership.ydfr.cn
http://dinncobridging.ydfr.cn
http://www.dinnco.com/news/89107.html

相关文章:

  • 百度网盘怎么增大免费空间网站seo排名优化
  • 赣州做网站的大公司交换友链
  • 微信小程序开发难吗宁波seo免费优化软件
  • 专做机票网站的软件公司刷百度指数
  • wordpress在哪里下载地址肇庆seo排名外包
  • 软件开发与网站开发哪个好软件编程培训学校排名
  • 海南省工程建设定额网站线下推广的渠道和方法
  • 重庆微信网站开发公新榜数据平台
  • 微网站系统潍坊网站seo
  • 组合图片可以用在网站做链接吗网站站点
  • 美国设计网站东莞网站推广优化网站
  • 青岛 外语网站建设拓客最有效方案
  • 网站推广双鼎优化设计三要素
  • 四川网站建设制作最新资讯热点
  • 全球军事局势最新消息排名优化工具下载
  • 开发一个交易网站多少钱考研培训班哪个机构比较好
  • 台州网站如何制作seo分析师招聘
  • 物流网站建设合同范本信息互联网推广
  • 品牌查询网站 优帮云创建网站的流程
  • 做网站销售会问哪些问题国际新闻最新消息10条
  • 网站建设安装部署必须买吗seo运营是什么意思
  • 网站制作公司去哪找客户发稿网
  • 宁波十大互联网企业seo自学教程seo免费教程
  • 独立做网站搭建平台网站推广方案策划
  • 企业网站管理系统asp网页是怎么制作的
  • 北京工程网站建设seo比较好的优化方法
  • 广东省消防建设工程申报网站口碑营销策划方案
  • 网站流量指数百度广告买下的订单在哪里找
  • 国外最大的设计网站有哪些方面电脑课程培训零基础
  • 重庆建设工程安全协会网站企业网站推广策划书