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

上海城乡建设管理局网站买一个app软件要多少钱

上海城乡建设管理局网站,买一个app软件要多少钱,开发定制软件开发,天水 网站建设 招聘来源:投稿 作者:LSC 编辑:学姐 数据介绍 数据集共包括40000张训练图像和1000张测试图像,每张训练图像对应xml标注文件: 共包含3类:0:head, 1:helmet, 2:person。 提交格式要求,提交名为pred_r…

来源:投稿 作者:LSC
编辑:学姐

数据介绍

数据集共包括40000张训练图像和1000张测试图像,每张训练图像对应xml标注文件:

共包含3类:0:'head', 1:'helmet', 2:'person'。

提交格式要求,提交名为pred_result.txt的文件——每一行代表一个目标,每一行内容分别表示:图像名 置信度 xmin ymin xmax ymax类别

「限制只能使用paddle框架和aistudio平台运行代码」

总体思路

使用paddlex框架,模型选取ppyolov2模型。

!pip install paddleximport paddlex as pdx
from paddlex import transforms as T
## 数据增强train_transforms = T.Compose([T.MixupImage(mixup_epoch=-1), T.RandomDistort(),T.RandomExpand(im_padding_value=[123.675, 116.28, 103.53]), T.RandomCrop(),T.RandomHorizontalFlip(), T.BatchRandomResize(target_sizes=[192, 224, 256, 288, 320, 352, 384, 416, 448, 480, 512],interp='RANDOM'), T.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])eval_transforms = T.Compose([T.Resize(target_size=320, interp='CUBIC'), T.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])import osf = open("work/total.txt", "w", encoding="utf-8")
for i in os.listdir("work/helmet/train/images/"):voc = "annotations/" + i[:-3] + "xml"  f.write("images/" + i + "\t" + voc + "\n")
f.close()# 最后一行是错误格式,手动删除
f = open("work/test.txt", "w", encoding="utf-8")
for i in os.listdir("work/helmet/test/images/"):voc = "annotations/" + i[:-3] + "xml"  f.write("images/" + i + "\t" + voc + "\n")
f.close()from sklearn.utils import shufflef = open("work/total.txt", "r", encoding="utf-8")
total = f.readlines()ratio = 0.9
total = shuffle(total, random_state = 100)
train_len = int(len(total) * ratio)train = total[:train_len]
val = total[train_len:]f1 = open("work/train.txt", "w", encoding="utf-8")
for i in train:f1.write(i)
f1.close()f2 = open("work/val.txt", "w", encoding="utf-8")
for i in val:f2.write(i)
f2.close()f.close()

#手动创建label.txt

数据导入

train_dataset = pdx.datasets.VOCDetection(data_dir='work/helmet/train/',file_list='work/train.txt',label_list='work/label.txt',transforms=train_transforms,shuffle=True)test_dataset = pdx.datasets.VOCDetection(data_dir='work/helmet/test/',file_list='work/test.txt',label_list='work/label.txt',transforms=eval_transforms)eval_dataset = pdx.datasets.VOCDetection(data_dir='work/helmet/train/',file_list='work/val.txt',label_list='work/label.txt',transforms=eval_transforms)
# 在训练集上聚类生成9个anchor
anchors = train_dataset.cluster_yolo_anchor(num_anchors=9, image_size=608)
anchor_masks = [[6, 7, 8], [3, 4, 5], [0, 1, 2]]
#开始训练
num_classes = len(train_dataset.labels)
model = pdx.det.PPYOLOv2(num_classes=num_classes,backbone='ResNet101_vd_dcn',anchors=anchors,anchor_masks=anchor_masks,label_smooth=True)model.train(num_epochs=100,train_dataset=train_dataset,train_batch_size=8,eval_dataset=eval_dataset,pretrain_weights='COCO',learning_rate=0.005 / 12,warmup_steps=500,warmup_start_lr=0.0,save_interval_epochs=5,# lr_decay_epochs=[25, 75],save_dir='output1/',use_vdl=False,early_stop=True,
early_stop_patience=5)
# 使用之前最好的模型继续训练
model.train(num_epochs=100,train_dataset=train_dataset,train_batch_size=8,eval_dataset=eval_dataset,# pretrain_weights='COCO',learning_rate=0.005 / 12,warmup_steps=500,warmup_start_lr=0.0,save_interval_epochs=5,# lr_decay_epochs=[25, 75],save_dir='output2/',pretrain_weights='output1/best_model/model.pdparams',use_vdl=False,early_stop=True,
early_stop_patience=5)
# 导入最好的模型,评估模型效果
model = pdx.load_model("output1/best_model")
model.evaluate(eval_dataset, batch_size=8, metric=None, return_details=False)
# 模型推理,生成的两个文本文件就是最终提交的结果
image_dirs = 'work/helmet/test/images/'
f1 = open("work/pred_result1.txt", "w", encoding="utf-8") # 只写阈值大于0.5的
f2 = open("work/pred_result2.txt", "w", encoding="utf-8") # 全部写 
for image_name in os.listdir(image_dirs):result = model.predict(image_dirs + image_name)for i in range(len(result)):xmin, ymin = int(result[i]['bbox'][0]), int(result[i]['bbox'][1])xmax, ymax = int(xmin + result[i]['bbox'][2]), int(ymin + result[i]['bbox'][3])if result[i]['score'] >= 0.5:f1.write(image_name[:-4] + " " + str(result[i]['score']) + " " + str(xmin) + " " + str(ymin) + " " + str(xmax) + " " + str(ymax) \+ " " + str(result[i]['category_id']) + "\n")f2.write(image_name[:-4] + " " + str(result[i]['score']) + " " + str(xmin) + " " + str(ymin) + " " + str(xmax) + " " + str(ymax) \+ " " + str(result[i]['category_id']) + "\n")
f1.close()
f2.close()

最终mAP值达到62.77648。

后续可以使用PaddleDetection框架进行优化,选取其中的ppyoloplus模型或者PaddleYOLO框架中的yolov5、yolov6、yolox、yolov7模型。ppyoloplus模型优化后的效果可以达到65%以上。

关注下方《学姐带你玩AI》🚀🚀🚀

回复“all in”免费领取kaggle往期赛+新赛资料包

码字不易,欢迎大家点赞评论收藏!

http://www.yayakq.cn/news/898997/

相关文章:

  • 域名查询站长之家公司网页设计的公司
  • 购买域名之后怎么做网站知乎关键词搜索
  • 网站页面宽度消防网站模板
  • 武进网站建设代理商中天建设集团有限公司排名
  • 建设公司董事长致辞网站范文最近的新闻大事
  • 新奇网站建设wordpress换主题 无法打开
  • 最专业的医疗网站建设wordpress可以干什么
  • 昆明网站开发培训机构贵阳网站开发zu97
  • pageadmin自助建站wordpress怎么做淘客网站
  • 网站及新媒体帐号内容建设网站上传不了图片是什么原因
  • 网站域名怎么免费获取找别人做网站怎么防止后门
  • 网站建设工程师职责说明济南专业的设计网站
  • 企业网站建设方案及报价公司做网站需要什么内容
  • 杭州西湖区网站建设wordpress cx udy主题
  • 济南手机网站制作昆明小程序开发联系方式
  • 新建的网站怎么做seo优化做高档衣服的网站
  • 班级的网站设计怎么做考研网站做刷词
  • 建设网站前需考虑哪些问题wordpress 网站变慢
  • 自己怎么做网站视频赚钱网络公司 建站 官方网站
  • 网站如何设置广告江西省建设工程安全质量监督管理局网站
  • 网站建设核心系统无法运行电脑wordpress
  • 管理网站开发教程常用的网站开发语言
  • 北京代做网站北京英文网站建设的原则
  • 元芳重庆网站建设华为云免费服务器
  • 黄岩城市建设发展集团网站注册网店需要多少费用
  • 网站结构化数据班级网站开发与设计
  • 丽水网站开发网站开发过程可分为
  • 做视频网站有什么wordpress建手机版目录6
  • 国外做名片的网站搜索引擎优化理解
  • 网站建设总体方案设计龙岩几个县