青岛网站建设案例新加坡域名注册网站

张小明 2025/12/25 6:33:51
青岛网站建设案例,新加坡域名注册网站,互联网产品推广方案范文,郑州seo网站管理文章目录 0 简介1 车型数据集及训练2 车型检测识别3 实现效果最后 0 简介 今天学长向大家分享一个毕业设计项目 毕业设计 深度学习车型检测算法(源码分享) 项目运行效果#xff1a; 毕业设计 深度学习车型检测算法#x1f9ff; 项目分享:见文末! 1 车型数据集及训练 ** …文章目录0 简介1 车型数据集及训练2 车型检测识别3 实现效果最后0 简介今天学长向大家分享一个毕业设计项目毕业设计 深度学习车型检测算法(源码分享)项目运行效果毕业设计 深度学习车型检测算法 项目分享:见文末!1 车型数据集及训练** YOLOv5模型简介**本文借助YOLOv5实现对不同大小车辆的类型进行识别YOLOv5的调用、训练和预测都十分方便并且它为不同的设备需求和不同的应用场景提供了大小和参数数量不同的网络。YOLOv5模型是一个在COCO数据集上预训练的物体检测架构和模型系列它是YOLO系列的一个延伸能够很好的用来进行车型的特征提取其网络结构共分为input、backbone、neck和head四个模块yolov5对yolov4网络的优点在于在input端使用了Mosaic数据增强、自适应锚框计算、自适应图片缩放在backbone端使用了Focus结构与CSP结构在neck端添加了FPNPAN结构在head端改进了训练时的损失函数使用GIOU_Loss以及预测框筛选的DIOU_nms。除了模型结构yolov5使用Pytorch框架对用户非常友好代码易读模型训练快速能够直接对图像视频进行推理能直接部署到手机应用端预测速度非常快。1主干部分使用了Focus网络结构具体操作是在一张图片中每隔一个像素拿到一个值这个时候获得了四个独立的特征层然后将四个独立的特征层进行堆叠此时宽高信息就集中到了通道信息输入通道扩充了四倍。该结构在YoloV5第5版之前有所应用最新版本中未使用。2数据增强Mosaic数据增强、Mosaic利用了四张图片进行拼接实现数据中增强优点是可以丰富检测物体的背景且在BN计算的时候可以计算四张图片的数据。3多正样本匹配在之前的Yolo系列里面在训练时每一个真实框对应一个正样本即在训练时每一个真实框仅由一个先验框负责预测。YoloV5中为了加快模型的训练效率增加了正样本的数量在训练时每一个真实框可以由多个先验框负责预测。车型识别数据集这里我们使用的车型数据集其中训练集包含1488张图片验证集包含507张图片测试集包含31张图片共计2026张图片。部分图片和标注情况如下图所示。每张图像均提供了图像类标记信息图像中车型的bounding box车型的关键part信息以及车型的属性信息数据集并解压后得到如下的图片该数据集分为7类分别有小型车中型车大型车小型卡车大型卡车油罐车特种车。​Chinese_name {tiny-car: 小型车, mid-car: 中型车, big-car: 大型车, small-truck: 小型卡车, big-truck: 大型卡车, oil-truck: 油罐车, special-car: 特种车}我们分析一下数据集的组成结构第4类也就是小型卡车的的图片最多并且x,y坐标主要集中在0.50.5的位置。这里我们开始训练和测试自己的数据集在cmd终端中运行train.py进行训练以下是训练过程中的结果截图。在深度学习中我们通常通过损失函数下降的曲线来观察模型训练的情况。而YOLOv5训练时主要包含三个方面的损失矩形框损失(box_loss)、置信度损失obj_loss和分类损失(cls_loss)在训练结束后我们也可以在logs目录下找到生成对若干训练过程统计图。下图为博主训练车型类识别的模型训练曲线图。一般我们会接触到两个指标分别是召回率recall和精度precision两个指标p和r都是简单地从一个角度来判断模型的好坏均是介于0到1之间的数值其中接近于1表示模型的性能越好接近于0表示模型的性能越差为了综合评价目标检测的性能一般采用均值平均密度map来进一步评估模型的好坏。我们通过设定不同的置信度的阈值可以得到在模型在不同的阈值下所计算出的p值和r值一般情况下p值和r值是负相关的绘制出来可以得到如下图所示的曲线其中曲线的面积我们称AP目标检测以PR-curve为例你可以看到我们的模型在验证集上的均值平均准确率为0.992。2 车型检测识别在训练完成后得到最佳模型接下来我们将帧图像输入到这个网络进行预测从而得到预测结果预测方法testVideo.py部分的代码如下所示​def predict(img): img torch.from_numpy(img).to(device) img img.half() if half else img.float() img / 255.0 if img.ndimension() 3: img img.unsqueeze(0) t1 time_synchronized() pred model(img, augmentFalse)[0] pred non_max_suppression(pred, opt.conf_thres, opt.iou_thres, classesopt.classes, agnosticopt.agnostic_nms) t2 time_synchronized() InferNms round((t2 - t1), 2) return pred, InferNms​def plot_one_box(img, x, colorNone, labelNone, line_thicknessNone): # Plots one bounding box on image img tl line_thickness or round(0.002 * (img.shape[0] img.shape[1]) / 2) 1 # line/font thickness color color or [random.randint(0, 255) for _ in range(3)] c1, c2 (int(x[0]), int(x[1])), (int(x[2]), int(x[3])) cv2.rectangle(img, c1, c2, color, thicknesstl, lineTypecv2.LINE_AA) if label: tf max(tl - 1, 1) # font thickness t_size cv2.getTextSize(label, 0, fontScaletl / 3, thicknesstf)[0] c2 c1[0] t_size[0], c1[1] - t_size[1] - 3 cv2.rectangle(img, c1, c2, color, -1, cv2.LINE_AA) # filled cv2.putText(img, label, (c1[0], c1[1] - 2), 0, tl / 3, [225, 255, 255], thicknesstf, lineTypecv2.LINE_AA)执行得到的结果如下图所示图中车型的种类和置信度值都标注出来了预测速度较快。基于此模型我们可以将其设计成一个带有界面的系统在界面上选择图片、视频或摄像头然后调用模型进行检测。​if __name__ __main__: # video_path 0 video_path ./UI_rec/test_/test.mp4 # 初始化视频流 vs cv2.VideoCapture(video_path) (W, H) (None, None) frameIndex 0 # 视频帧数 try: prop cv2.CAP_PROP_FRAME_COUNT total int(vs.get(prop)) # print([INFO] 视频总帧数{}.format(total)) # 若读取失败报错退出 except: print([INFO] could not determine # of frames in video) print([INFO] no approx. completion time can be provided) total -1 fourcc cv2.VideoWriter_fourcc(*XVID) ret, frame vs.read() vw frame.shape[1] vh frame.shape[0] print([INFO] 视频尺寸{} * {}.format(vw, vh)) output_video cv2.VideoWriter(./results.avi, fourcc, 20.0, (vw, vh)) # 处理后的视频对象 # 遍历视频帧进行检测 while True: # 从视频文件中逐帧读取画面 (grabbed, image) vs.read() # 若grabbed为空表示视频到达最后一帧退出 if not grabbed: print([INFO] 运行结束...) output_video.release() vs.release() exit() # 获取画面长宽 if W is None or H is None: (H, W) image.shape[:2] image cv2.resize(image, (850, 500)) img0 image.copy() img letterbox(img0, new_shapeimgsz)[0] img np.stack(img, 0) img img[:, :, ::-1].transpose(2, 0, 1) # BGR to RGB, to 3x416x416 img np.ascontiguousarray(img) pred, useTime predict(img) det pred[0] p, s, im0 None, , img0 if det is not None and len(det): # 如果有检测信息则进入 det[:, :4] scale_coords(img.shape[1:], det[:, :4], im0.shape).round() # 把图像缩放至im0的尺寸 number_i 0 # 类别预编号 detInfo [] for *xyxy, conf, cls in reversed(det): # 遍历检测信息 c1, c2 (int(xyxy[0]), int(xyxy[1])), (int(xyxy[2]), int(xyxy[3])) # 将检测信息添加到字典中 detInfo.append([names[int(cls)], [c1[0], c1[1], c2[0], c2[1]], %.2f % conf]) number_i 1 # 编号数1 label %s %.2f % (names[int(cls)], conf) # 画出检测到的目标物 plot_one_box(image, xyxy, labellabel, colorcolors[int(cls)]) # 实时显示检测画面 cv2.imshow(Stream, image) image cv2.resize(image, (vw, vh)) output_video.write(image) # 保存标记后的视频 if cv2.waitKey(1) 0xFF ord(q): break # print(FPS:{}.format(int(0.6/(end-start)))) frameIndex 13 实现效果项目运行效果毕业设计 深度学习车型检测算法最后 项目分享:见文末!
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

坂田网站建设费用明细蚌埠企业网站建设

PySlowFast视频理解模型TensorRT终极部署方案 【免费下载链接】SlowFast PySlowFast: video understanding codebase from FAIR for reproducing state-of-the-art video models. 项目地址: https://gitcode.com/gh_mirrors/sl/SlowFast 在智能安防监控、体育赛事分析和…

张小明 2025/12/25 6:32:50 网站建设

游戏点卡平台网站开发无货源网店现在还挣钱吗

在 Spring Cloud 微服务架构中, 熔断(Circuit Breaker) 和 降级(Fallback / Degradation) 是保障系统高可用、防止雪崩的核心机制。 熔断:当下及服务不可用时,暂时不调用下级服务,并…

张小明 2025/12/25 6:29:45 网站建设

网站的建设需要多少钱厦门市建设局网站文件

2025电商视觉革命:Fusion LoRA让产品图15分钟融入专业场景的AI神器 【免费下载链接】Fusion_lora 项目地址: https://ai.gitcode.com/hf_mirrors/dx8152/Fusion_lora 导语 还在为产品图与场景融合的透视错位、光影冲突烦恼?阿里通义千问团队推出…

张小明 2025/12/25 6:28:43 网站建设

江苏省建设工程施工安全网站深圳企业贷款

还在为找素材而抓狂吗?🤔 每次建模都要在无数网站间反复横跳,下载解压导入一套流程下来,创作灵感早就跑光了!今天我要给你安利一个神器——BlenderKit,让你在Blender内部就能直接调用数万款高质量3D资产&am…

张小明 2025/12/25 6:27:42 网站建设

iis不能新建网站网页可视化编辑

第一章:Q#与Python异常传递的隐藏规则在混合编程环境中,Q# 与 Python 的协同执行越来越常见,尤其是在量子算法开发中。然而,两者之间的异常传递机制并非透明,存在一些未被充分文档化的隐性规则,开发者若忽视…

张小明 2025/12/25 6:26:40 网站建设

苏州前几天网站建设腾讯云做网站教程

第一章:Open-AutoGLM 使用教程Open-AutoGLM 是一个开源的自动化大语言模型调用框架,旨在简化与 GLM 系列模型的交互流程。通过该工具,开发者可以快速实现文本生成、指令解析、多轮对话管理等功能,适用于智能客服、自动化报告生成等…

张小明 2025/12/25 6:25:38 网站建设