1688域名网站系统做网站的地方

张小明 2026/1/7 15:24:54
1688域名网站,系统做网站的地方,关键词优化精灵,网站推广建设策略文章目录 0 前言1 项目运行效果2 设计原理3 相关技术3.1 YOLOV43.2 基于 DeepSort 算法的行人跟踪 4 最后 0 前言 #x1f525;这两年开始毕业设计和毕业答辩的要求和难度不断提升#xff0c;传统的毕设题目缺少创新和亮点#xff0c;往往达不到毕业答辩的要求#xff0c;…文章目录0 前言1 项目运行效果2 设计原理3 相关技术3.1 YOLOV43.2 基于 DeepSort 算法的行人跟踪4 最后0 前言这两年开始毕业设计和毕业答辩的要求和难度不断提升传统的毕设题目缺少创新和亮点往往达不到毕业答辩的要求这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。并且很难找到完整的毕设参考学习资料。为了大家能够顺利以及最少的精力通过毕设学长分享优质毕业设计项目提供大家参考学习今天要分享的是毕业设计 深度学习社交距离检测系统源码论文学长这里给一个题目综合评分(每项满分5分)难度系数3分工作量3分创新点4分 项目分享:见文末!1 项目运行效果视频效果毕业设计 深度学习社交距离检测系统2 设计原理安全的社交距离是公共预防传染病毒的途径之一。所以在人群密集的区域进行社交距离的安全评估是十分重要的。社交距离的测量旨在保持个体之间的物理距离和减少相互接触的人群来减缓或阻止病毒传播在抗击病毒和预防大流感中发挥重要作用。但时刻保持安全距离具有一定的难度特别是在校园工厂等场所在这种情况下开发智能摄像头等技术尤为关键。将人工智能深度学习集成至安全摄像头对行人进行社交距离评估。现阶段针对疫情防范的要求主要采用人工干预和计算机处理技术。人工干预存在人力资源要求高风险大时间成本高等等缺点。计算机处理等人工智能技术的发展对社交安全距离的安全评估具有良好的效果。通过距离分类人群的高危险和低危险距离。相关代码importargparsefromutils.datasetsimport*fromutils.utilsimport*defdetect(save_imgFalse):out,source,weights,view_img,save_txt,imgsz\ opt.output,opt.source,opt.weights,opt.view_img,opt.save_txt,opt.img_size webcamsource0orsource.startswith(rtsp)orsource.startswith(http)orsource.endswith(.txt)# Initializedevicetorch_utils.select_device(opt.device)ifos.path.exists(out):shutil.rmtree(out)# delete output folderos.makedirs(out)# make new output folderhalfdevice.type!cpu# half precision only supported on CUDA# Load modelgoogle_utils.attempt_download(weights)modeltorch.load(weights,map_locationdevice)[model].float()# load to FP32# torch.save(torch.load(weights, map_locationdevice), weights) # update model if SourceChangeWarning# model.fuse()model.to(device).eval()ifhalf:model.half()# to FP16# Second-stage classifierclassifyFalseifclassify:modelctorch_utils.load_classifier(nameresnet101,n2)# initializemodelc.load_state_dict(torch.load(weights/resnet101.pt,map_locationdevice)[model])# load weightsmodelc.to(device).eval()# Set Dataloadervid_path,vid_writerNone,Noneifwebcam:view_imgTruetorch.backends.cudnn.benchmarkTrue# set True to speed up constant image size inferencedatasetLoadStreams(source,img_sizeimgsz)else:save_imgTruedatasetLoadImages(source,img_sizeimgsz)# Get names and colorsnamesmodel.namesifhasattr(model,names)elsemodel.modules.names colors[[random.randint(0,255)for_inrange(3)]for_inrange(len(names))]# Run inferencet0time.time()imgtorch.zeros((1,3,imgsz,imgsz),devicedevice)# init img_model(img.half()ifhalfelseimg)ifdevice.type!cpuelseNone# run onceforpath,img,im0s,vid_capindataset:imgtorch.from_numpy(img).to(device)imgimg.half()ifhalfelseimg.float()# uint8 to fp16/32img/255.0# 0 - 255 to 0.0 - 1.0ifimg.ndimension()3:imgimg.unsqueeze(0)# Inferencet1torch_utils.time_synchronized()predmodel(img,augmentopt.augment)[0]# Apply NMSprednon_max_suppression(pred,opt.conf_thres,opt.iou_thres,fastTrue,classesopt.classes,agnosticopt.agnostic_nms)t2torch_utils.time_synchronized()# Apply Classifierifclassify:predapply_classifier(pred,modelc,img,im0s)# List to store bounding coordinates of peoplepeople_coords[]# Process detectionsfori,detinenumerate(pred):# detections per imageifwebcam:# batch_size 1p,s,im0path[i],%g: %i,im0s[i].copy()else:p,s,im0path,,im0s save_pathstr(Path(out)/Path(p).name)s%gx%g %img.shape[2:]# print stringgntorch.tensor(im0.shape)[[1,0,1,0]]# normalization gain whwhifdetisnotNoneandlen(det):# Rescale boxes from img_size to im0 sizedet[:,:4]scale_coords(img.shape[2:],det[:,:4],im0.shape).round()# Print resultsforcindet[:,-1].unique():n(det[:,-1]c).sum()# detections per classs%g %ss, %(n,names[int(c)])# add to string# Write resultsfor*xyxy,conf,clsindet:ifsave_txt:# Write to filexywh(xyxy2xywh(torch.tensor(xyxy).view(1,4))/gn).view(-1).tolist()# normalized xywhwithopen(save_path[:save_path.rfind(.)].txt,a)asfile:file.write((%g *5\n)%(cls,*xywh))# label formatifsave_imgorview_img:# Add bbox to imagelabel%s %.2f%(names[int(cls)],conf)iflabelisnotNone:if(label.split())[0]person:people_coords.append(xyxy)# plot_one_box(xyxy, im0, line_thickness3)plot_dots_on_people(xyxy,im0)# Plot lines connecting peopledistancing(people_coords,im0,dist_thres_lim(200,250))# Print time (inference NMS)print(%sDone. (%.3fs)%(s,t2-t1))# Stream resultsifview_img:cv2.imshow(p,im0)ifcv2.waitKey(1)ord(q):# q to quitraiseStopIteration# Save results (image with detections)ifsave_img:ifdataset.modeimages:cv2.imwrite(save_path,im0)else:ifvid_path!save_path:# new videovid_pathsave_pathifisinstance(vid_writer,cv2.VideoWriter):vid_writer.release()# release previous video writerfpsvid_cap.get(cv2.CAP_PROP_FPS)wint(vid_cap.get(cv2.CAP_PROP_FRAME_WIDTH))hint(vid_cap.get(cv2.CAP_PROP_FRAME_HEIGHT))vid_writercv2.VideoWriter(save_path,cv2.VideoWriter_fourcc(*opt.fourcc),fps,(w,h))vid_writer.write(im0)ifsave_txtorsave_img:print(Results saved to %s%os.getcwd()os.sepout)ifplatformdarwin:# MacOSos.system(open save_path)print(Done. (%.3fs)%(time.time()-t0))3 相关技术3.1 YOLOV4YOLOv4使用卷积网络 CSPDarknet-53 特征提取网络结构模型如图 2 所示。在每个 Darknet-53的残块行加上 CSP(Cross Stage Partial)结构13将基础层划分为两部分再通过跨层次结构的特征融合进行合并。并采用 FPN( feature pyramid networks)结构加强特征金字塔最后用不同层的特征的高分辨率来提取不同尺度特征图进行对象检测。最终网络输出 3 个不同尺度的特征图在三个不同尺度特征图上分别使用 3 个不同的先验框anchors进行预测识别使得远近大小目标均能得到较好的检测。YOLOv4 的先验框尺寸是经PASCALL_VOC,COCO 数据集包含的种类复杂而生成的并不一定完全适合行人。本研究旨在研究行人之间的社交距离针对行人目标检测利用聚类算法对 YOLOv4 的先验框微调首先将行人数据集F依据相似性分为i个对象即,其中每个对象都具有 m 个维度的属性。聚类算法的目的是 i 个对象依据相似性聚集到指定的 j 个类簇每个对象属于且仅属于一个其到类簇中心距离最小的类簇中心。初始化 j 个 聚 类 中 心,计算每一个对象到每一个聚类中心的欧式距离见公式之后依次比较每个对象到每个聚类中心的距离将对象分配至距离最近的簇类中心的类簇中得到个类簇聚类算法中定义了类簇的原型类簇中心就是类簇内所有对象在各个维度的均值其公式见相关代码defcheck_anchors(dataset,model,thr4.0,imgsz640):# Check anchor fit to data, recompute if necessaryprint(\nAnalyzing anchors... ,end)mmodel.module.model[-1]ifhasattr(model,module)elsemodel.model[-1]# Detect()shapesimgsz*dataset.shapes/dataset.shapes.max(1,keepdimsTrue)whtorch.tensor(np.concatenate([l[:,3:5]*sfors,linzip(shapes,dataset.labels)])).float()# whdefmetric(k):# compute metricrwh[:,None]/k[None]xtorch.min(r,1./r).min(2)[0]# ratio metricbestx.max(1)[0]# best_xreturn(best1./thr).float().mean()# best possible recallbprmetric(m.anchor_grid.clone().cpu().view(-1,2))print(Best Possible Recall (BPR) %.4f%bpr,end)ifbpr0.99:# threshold to recomputeprint(. Attempting to generate improved anchors, please wait...%bpr)nam.anchor_grid.numel()//2# number of anchorsnew_anchorskmean_anchors(dataset,nna,img_sizeimgsz,thrthr,gen1000,verboseFalse)new_bprmetric(new_anchors.reshape(-1,2))ifnew_bprbpr:# replace anchorsnew_anchorstorch.tensor(new_anchors,devicem.anchors.device).type_as(m.anchors)m.anchor_grid[:]new_anchors.clone().view_as(m.anchor_grid)# for inferencem.anchors[:]new_anchors.clone().view_as(m.anchors)/m.stride.to(m.anchors.device).view(-1,1,1)# lossprint(New anchors saved to model. Update model *.yaml to use these anchors in the future.)else:print(Original anchors better than new anchors. Proceeding with original anchors.)print()# newline3.2 基于 DeepSort 算法的行人跟踪YOLOv4中完成行人目标检测后生成边界框Bounding boxBboxBbox 含有包含最小化行人边框矩形的坐标信息本研究引入 DeepSort 算法[18]完成对行人的质点进行跟踪目的是为了在运动矢量分析时算行人安全社交距离中。首先对行人进行质点化计算。其质点计算公式如确定行人质点后利用 DeepSort 算法实现对多个目标的精确定位与跟踪其核心算法流程如图所示相关代码classTrackState: 单个轨迹的三种状态 Tentative1#不确定态Confirmed2#确定态Deleted3#删除态classTrack:def__init__(self,mean,covariance,track_id,class_id,conf,n_init,max_age,featureNone): mean:位置、速度状态分布均值向量维度(8×1) convariance:位置、速度状态分布方差矩阵维度(8×8) track_id:轨迹ID class_id:轨迹所属类别 hits:轨迹更新次数(初始化为1)即轨迹与目标连续匹配成功次数 age:轨迹连续存在的帧数(初始化为1)即轨迹出现到被删除的连续总帧数 time_since_update:轨迹距离上次更新后的连续帧数(初始化为0)即轨迹与目标连续匹配失败次数 state:轨迹状态 features:轨迹所属目标的外观语义特征轨迹匹配成功时添加当前帧的新外观语义特征 conf:轨迹所属目标的置信度得分 _n_init:轨迹状态由不确定态到确定态所需连续匹配成功的次数 _max_age:轨迹状态由不确定态到删除态所需连续匹配失败的次数 self.meanmean self.covariancecovariance self.track_idtrack_id self.class_idint(class_id)self.hits1self.age1self.time_since_update0self.stateTrackState.Tentative self.features[]iffeatureisnotNone:self.features.append(feature)#若不为None初始化外观语义特征self.confconf self._n_initn_init self._max_agemax_agedefincrement_age(self): 预测下一帧轨迹时调用 self.age1#轨迹连续存在帧数1self.time_since_update1#轨迹连续匹配失败次数1defpredict(self,kf): 预测下一帧轨迹信息 self.mean,self.covariancekf.predict(self.mean,self.covariance)#卡尔曼滤波预测下一帧轨迹的状态均值和方差self.increment_age()#调用函数age1time_since_update1defupdate(self,kf,detection,class_id,conf): 更新匹配成功的轨迹信息 self.confconf#更新置信度得分self.mean,self.covariancekf.update(self.mean,self.covariance,detection.to_xyah())#卡尔曼滤波更新轨迹的状态均值和方差self.features.append(detection.feature)#添加轨迹对应目标框的外观语义特征self.class_idclass_id.int()#更新轨迹所属类别self.hits1#轨迹匹配成功次数1self.time_since_update0#匹配成功时轨迹连续匹配失败次数归0ifself.stateTrackState.Tentativeandself.hitsself._n_init:self.stateTrackState.Confirmed#当连续匹配成功次数达标时轨迹由不确定态转为确定态defmark_missed(self): 将轨迹状态转为删除态 ifself.stateTrackState.Tentative:self.stateTrackState.Deleted#当级联匹配和IOU匹配后仍为不确定态elifself.time_since_updateself._max_age:self.stateTrackState.Deleted#当连续匹配失败次数超标 该部分还存在一些轨迹坐标转化及状态判定函数具体可参考代码来源 篇幅有限更多详细设计见设计论文4 最后项目包含内容一万四千字 完整详细设计论文 项目分享:见文末!
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

重庆企业网站推广费用wordpress程序迁移

在数字化进程飞速发展的今天,数据已成为企业最核心的资产之一。无论是科研机构的实验数据、制造业的设计图纸,还是媒体行业的高清素材,海量数据的快速、安全流转直接关系到项目进度与业务成效。然而,许多团队在日常工作中&#xf…

张小明 2025/12/29 15:42:23 网站建设

怎么自己做网站排名黑河做网站

借助集成式 IAL2 身份审核机制,让组织在防欺诈、提效率与控合规上同步升级。 在当今高度数字化的业务环境中,身份验证已不再是例行步骤,而是维系信任、合规与安全的核心支柱。无论是审批贷款、收集患者同意,还是处理任何高价值交易…

张小明 2025/12/29 15:41:49 网站建设

做网站图片显示不来学校设计方案

目录标题 ✅ 概览(一句话版本)1) dentry 的内部(数据结构与生命周期 — 很重要)struct dentry(关键字段与含义)dentry 类型生命周期(核心) 2) slab allocator(SLAB/SLUB/…

张小明 2025/12/31 1:41:08 网站建设

学习网站 现状免费网站推广

Visual C 6.0 Windows 7兼容版:经典开发环境的完美解决方案 🚀 【免费下载链接】VisualC6.0Win7适用版下载 Visual C 6.0 Win7 适用版下载 项目地址: https://gitcode.com/open-source-toolkit/548569 还在为Visual C 6.0在Windows 7系统上的兼容…

张小明 2025/12/31 1:41:06 网站建设

怎样建设凡科网站织梦怎么做双语网站

RT-DETR技术架构解析与实时目标检测应用实践 【免费下载链接】rtdetr_r101vd_coco_o365 项目地址: https://ai.gitcode.com/hf_mirrors/PekingU/rtdetr_r101vd_coco_o365 RT-DETR作为首个实时端到端目标检测Transformer模型,通过高效混合编码器和动态卷积机…

张小明 2026/1/6 20:15:54 网站建设

挪威网站后缀wordpress 页头设置

270M参数撬动边缘AI革命:Gemma 3轻量化模型如何重塑终端智能格局 【免费下载链接】gemma-3-270m-bnb-4bit 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/gemma-3-270m-bnb-4bit 导语 手机25次对话仅耗电0.75%,167MB模型文件实现专业级…

张小明 2026/1/6 18:47:16 网站建设