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

刚做的网站在百度上搜不到郑州做网站推广价格

刚做的网站在百度上搜不到,郑州做网站推广价格,wordpress古腾堡编辑器如何使用,官方网站查询 优帮云文章目录 一、情况介绍二、思路情况二、代码展示三、感受 一、情况介绍 前几天也是参加了研究生数学建模竞赛#xff08;也就是华为杯#xff09;#xff0c;也是和本校的两个数学学院的朋友在网上组的队伍。昨天#xff08;9.25#xff09;通宵干完论文#xff08;一条… 文章目录 一、情况介绍二、思路情况二、代码展示三、感受 一、情况介绍 前几天也是参加了研究生数学建模竞赛也就是华为杯也是和本校的两个数学学院的朋友在网上组的队伍。昨天9.25通宵干完论文一条烂命就是干我们选择的是E题题目内容简单点就是高速公路上可能会堵车对堵车情况进行预测并且启动应急车道舒缓交通压力通过的是4个监测点的视频。 emmm这次比赛我想法是队长担任模型我是负责出图、做软件知道我的人应该清楚我本科就是软件结果比赛第二天下午的时候论文进展几乎为0我就清楚了这个队伍没有一个适合的模型然后我就上了当一次“不正规”的模型至于为什么不正规我下面会讲不过也是圆梦了我本科的一个想法就是软件转模型当一次模型 二、思路情况 这里我就不展示我的摘要了哈哈哈哈当然我的摘要也是被指导老师夸奖了。 这里我说下思路情况 对于第一问第一小问首先就是数据获取和队友讨论下确定了三个参数车流量、车速、车流密度。原本是想继续加的但是实在想不到什么比较好的参数嗯花了2天时间数据才处理完成中间磕磕绊绊出的数据都不符合实际最后准备造的时候发现出的数据正常了然后出成折线图对各个时间段的各参数的情况进行分析。比如什么时段到什么时段车速多少、车密度和之前对比怎么样。第二小问首先使用肘部法则确定聚类数我看下图确定为5之后使用k-means聚类聚5类最后按照数据使用ARIMA时间序列模型预测5分钟的数据。第三小问使用交叉验证验证有效性。 对于第二问先说下对于这题重点是提供理论依据想了下又需要第一问产生关联所以就是介绍了基于时间序列预测结果的逻辑回归模型并且都是二分类问题把理论依据给说明了 对于第三问第一小问就是首先用k-means聚类两类之后使用逻辑回归两者进行对比。第二小问量化的话我们使用了混淆矩阵放入k-means作为真实值逻辑回归作为预测值带入混淆矩阵。 对于第四问我乍一看再一分析我以为是最优化问题有目标函数也有约束条件。但是约束条件太空洞了。没有什么预算之类的反正我没想到怎么搞最后是确定预测精度随着时间的变化确定安装视频监控点的位置。 二、代码展示 对于问题一,使用yolov5算法对视频数据进行检测 import torch import cv2 import numpy as np import matplotlib.pyplot as plt import os import pandas as pd from scipy.spatial import distance import warnings# 忽略特定的FutureWarning warnings.filterwarnings(ignore, categoryFutureWarning)# 加载YOLOv5模型 model torch.hub.load(ultralytics/yolov5, yolov5s, pretrainedTrue)# 定义观测区域的长度单位公里假设为50米 observation_length 0.05 # 50米等于0.05公里# 初始化OpenCV的多目标追踪器 tracker cv2.legacy.MultiTracker_create()# 追踪车辆的结构 class Vehicle:def __init__(self, bbox, tracker):self.bbox bbox # 车辆的检测框self.tracker tracker # 对应的追踪器self.positions [] # 存储每帧车辆中心的位置def add_position(self, center):self.positions.append(center)def calculate_speed(self, fps):# 如果追踪到的点少于2个无法计算速度if len(self.positions) 2:return 0# 计算速度根据前后位置和时间差prev_center self.positions[-2]current_center self.positions[-1]pixel_distance distance.euclidean(prev_center, current_center)speed (pixel_distance / 1000) * fps / observation_length # km/hreturn speed# 初始化车辆列表 vehicles []def process_video_yolov5(video_path):cap cv2.VideoCapture(video_path)if not cap.isOpened():print(f无法打开视频文件 {video_path})returnfps int(cap.get(cv2.CAP_PROP_FPS)) # 获取视频帧率frame_count 0vehicle_count_per_25_frames [] # 每25帧的车辆总数speed_per_25_frames [] # 每25帧通过蓝线的车辆平均速度density_per_25_frames [] # 每25帧的车辆密度蓝线以下车辆数total_vehicle_count 0# 获取视频帧的宽度和高度用于绘制蓝线frame_width int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))frame_height int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))blue_line_y int(frame_height * 0.25) # 在视频四分之一处画一根水平蓝线while True:ret, frame cap.read()if not ret:break# 每25帧重新检测一次车辆并更新跟踪器if frame_count % 25 0:# 使用YOLOv5进行车辆检测results model(frame)detections results.xyxy[0].cpu().numpy() # [x1, y1, x2, y2, conf, cls]# 清空旧的跟踪器并添加新检测到的车辆vehicles.clear()for *box, conf, cls in detections:if int(cls) in [2, 3, 5, 7]: # 汽车, 卡车等车辆类x1, y1, x2, y2 map(int, box)bbox (x1, y1, x2 - x1, y2 - y1) # 计算检测框tracker cv2.TrackerCSRT_create() # 使用CSRT追踪器tracker.init(frame, bbox)vehicle Vehicle(bbox, tracker)vehicles.append(vehicle)total_vehicle_count 1else:# 更新车辆的追踪位置for vehicle in vehicles:success, bbox vehicle.tracker.update(frame)if success:# 计算中心点并保存x, y, w, h map(int, bbox)center_x, center_y (x x w) // 2, (y y h) // 2vehicle.add_position((center_x, center_y))# 绘制蓝线cv2.line(frame, (0, blue_line_y), (frame_width, blue_line_y), (255, 0, 0), 2)frame_count 1# 每25帧计算一次车辆数量、通过蓝线的车辆平均速度和车辆密度if frame_count % 25 0:# 统计当前帧的车辆数current_vehicle_count len(vehicles)vehicle_count_per_25_frames.append(current_vehicle_count)# 计算每辆车的平均速度speeds [vehicle.calculate_speed(fps) for vehicle in vehicles]avg_speed np.mean(speeds) if speeds else 0speed_per_25_frames.append(avg_speed)# 计算蓝线以下的车辆密度vehicles_below_line sum(1 for vehicle in vehicles if vehicle.bbox[1] blue_line_y)density_per_25_frames.append(vehicles_below_line)print(f每25帧车辆总数: {current_vehicle_count}, 平均速度: {avg_speed} km/h, 蓝线以下车辆数: {vehicles_below_line})# 显示结果cv2.imshow(Vehicle Detection with YOLOv5, frame)# 按 q 键退出if cv2.waitKey(1) 0xFF ord(q):breakcap.release()cv2.destroyAllWindows()print(f视频 {video_path} 处理完成车辆总数: {total_vehicle_count})return vehicle_count_per_25_frames, speed_per_25_frames, density_per_25_frames# 绘制并保存车流密度、流量、速度的折线图到桌面并生成Excel文件 def save_to_excel_and_plot(vehicle_counts, speed_counts, density_counts):time_points list(range(1, len(vehicle_counts) 1)) # X轴为每25帧的时间点# 创建DataFramedf pd.DataFrame({Time (every 25 frames): time_points,Vehicle Count (Flow): vehicle_counts,Average Speed (km/h): speed_counts,Vehicle Density (below blue line): density_counts # 添加蓝线以下车辆密度列})# 获取桌面路径desktop_path os.path.join(os.path.join(os.environ[USERPROFILE]), Desktop) # Windowssave_dir desktop_pathif not os.path.exists(save_dir):os.makedirs(save_dir)# 保存Excel文件excel_path os.path.join(save_dir, vehicle_data_with_density.xlsx)df.to_excel(excel_path, indexFalse)print(f数据已保存到 {excel_path})# 绘制折线图plt.figure(figsize(10, 6))# 绘制车辆流量plt.plot(time_points, vehicle_counts, markero, linestyle-, colorb, labelVehicle Count)# 绘制平均速度plt.plot(time_points, speed_counts, markers, linestyle-, colorg, labelAverage Speed)# 绘制蓝线以下车辆密度plt.plot(time_points, density_counts, marker^, linestyle-, colorr, labelVehicle Density (below blue line))plt.title(Vehicle Data over Time (every 25 frames))plt.xlabel(Time (every 25 frames))plt.ylabel(Value)plt.grid(True)plt.legend()# 保存图表到桌面save_path os.path.join(save_dir, vehicle_data_with_density_plot.png)plt.savefig(save_path)print(f图表已保存到 {save_path})plt.show()# 处理视频 video_paths [20240501_20240501135236_20240501160912_135235.mp4] for video_path in video_paths:vehicle_counts, speed_counts, density_counts process_video_yolov5(video_path)save_to_excel_and_plot(vehicle_counts, speed_counts, density_counts) 下面这个代码是对于之前的物体识别进行的初稿出的效果很好看 import torch import cv2 import numpy as np# 加载YOLOv5模型 model torch.hub.load(ultralytics/yolov5, yolov5s, pretrainedTrue)def process_video_yolov5(video_path):cap cv2.VideoCapture(video_path)if not cap.isOpened():print(f无法打开视频文件 {video_path})returnvehicle_count 0while True:ret, frame cap.read()if not ret:break# 使用YOLOv5进行检测results model(frame)# 解析检测结果results.pandas().xyxy 返回检测结果的 DataFramedetections results.xyxy[0].cpu().numpy() # [x1, y1, x2, y2, conf, cls]for *box, conf, cls in detections:# 检测类别ID2: 汽车, 3: 摩托车, 5: 公共汽车, 7: 卡车if int(cls) in [2, 3, 5, 7]:x1, y1, x2, y2 map(int, box)vehicle_count 1# 在图像上绘制检测框cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 255, 0), 2)# 显示结果cv2.imshow(Vehicle Detection with YOLOv5, frame)# 按 q 键退出if cv2.waitKey(1) 0xFF ord(q):breakcap.release()cv2.destroyAllWindows()print(f视频 {video_path} 处理完成车辆总数: {vehicle_count})# 处理视频 video_paths [20240501_20240501135236_20240501160912_135235.mp4] for video_path in video_paths:process_video_yolov5(video_path)两者结合就是下面这个 三、感受 比赛真的是很锻炼人的能力但是也是收获颇丰。 首先就是遇到两个很好很好的朋友zxzlsy两个队友哈哈哈哈哈感觉比完赛感觉我们都认识三年了一样很熟了。 其次就是我安装完成了torch、pycharm、以及虚拟环境的概念的、库的安装这一点真的很关键因为我也在想我发论文准备看着机器视觉的方向发展而且我之前的深度之眼的专栏也是到了安装anacoda、pycharm、cuda原来我的电脑nvidia本来就有、ptorch之后就卡住了因为感觉分不清他们几个怕安装错了 然后我队友也是帮我安装好类似公式编辑器的东西还有一个公式识别的网站两个搭配起来真的超级好用。 还有就是论文写作也是相应的锻炼了自己论文写作能力把也是完成了本科想当模型的梦想。哈哈哈哈哈不想当模型的软件不是好软件。也是写了数学建模方向的第一次的摘要写的也是十分的充实很开心的被认可了。唯一的遗憾就是流程图、图啥的几乎是没有的时间太少了 最后chatgpt真是神器需要什么样的代码跟他说就行报了什么错问他就行提出问题让他给出模型给他数据也能按照你的要求进行相应的处理出图、分析很牛逼。
http://www.w-s-a.com/news/179603/

相关文章:

  • 广州哪家做网站还可以黑龙江省建设厅网站的电话
  • 青海省高等级公路建设管局网站国内做led灯网站有
  • 做网站成功建设银行网站网址
  • 自动生成网站上海十大活动策划公司
  • 企业网站建设源码HTML论述市场营销对网站设计的影响
  • 网站设计常见问题建设工程网上质检备案网站
  • 网站怎样优化文章关键词建设网站需要钱吗
  • 加强网站建设和管理的通知重庆网站推广产品
  • 网站建设术语解释百度发布信息的免费平台
  • 情公司做的网站seo与网站优化 pdf
  • 做一个购物网站多少钱江阴市住房和城乡建设局网站
  • 网站建设都包括哪些ps怎么做网站首页和超链接
  • 怎样低成本做网站推广编辑网站教程
  • 邯郸网站建设信息网站开发报价人天
  • 王店镇建设中心小学网站酷玛网站建设
  • 网站需求方案wordpress博客主题推荐
  • 网站安全证书过期怎么办那个视频网站最好最全网址
  • 外贸上哪个网站开发客户建行个人网上银行登录入口
  • 空间除了可以做网站还能干什么qq钓鱼网站
  • 网站 技术企业网站用免费程序
  • 做网站的中文名字汕尾网站开发
  • 网站推广效果推广网站推荐
  • 腾讯企业网站建设网络推广比较经典和常用的方法有
  • 四川成都网站网页设计上海外贸网站制作公司
  • wordpress模板首页图片锦州网站做优化
  • 哔哩哔哩网站建设分析有哪些做网站好的公司
  • 福建建设执业中心网站沧州网络推广外包公司
  • 做网站怎么改关键词营销网站建设818gx
  • 广撒网网站怎么进行网络营销
  • 中职计算机网站建设教学计划电商网站如何避免客户信息泄露