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

成都网站建设网络网站建设怎样找客户

成都网站建设网络,网站建设怎样找客户,网页设计师需要掌握的领域,seo优化关键词分类PiDiNet 是一种用于边缘检测的算法#xff0c;它提出了一种简单、轻量级但有效的架构。PiDiNet 采用了新 颖的像素差卷积#xff0c;将传统的边缘检测算子集成到现代 CNN 中流行的卷积运算中#xff0c;以增强任务性能。 在 BSDS500、NYUD 和 Multicue 上进行了大量的实验…PiDiNet 是一种用于边缘检测的算法它提出了一种简单、轻量级但有效的架构。PiDiNet 采用了新 颖的像素差卷积将传统的边缘检测算子集成到现代 CNN 中流行的卷积运算中以增强任务性能。 在 BSDS500、NYUD 和 Multicue 上进行了大量的实验以证明其有效性、高训练和推理效率。 目录 一、源码包二、数据集准备三、训练3.1 训练和测试命令3.1 模型保存 四、测试4.1 测试结果4.1.1 测试场景14.1.2 测试场景24.1.3 测试场景3 4.2 检测边缘与原图融合4.2.1 融合代码4.2.2 融合结果展示4.2.1 场景14.2.2 场景2 五、模型优化5.1 修改通道数和空洞率5.2 裁剪卷积层 六、推理速度总结 一、源码包 我自己在官网源码包的基础上改过一些代码我提供的源码包中新增了网络裁剪优化CPU推理测试代码边缘检测图与原图融合等代码也包含了训练集推荐学者下载我提供的源码包使用。 官网地址PidiNet 我提供的源码包下载链接网盘链接提取码kmxb 论文地址论文 我提供的源码包解压后的样子如下 二、数据集准备 增强的数据集有BSD 500、PASCAL VOC和NYUD下载链接见下直接将链接复制到迅雷里面下载速度很快。在我提供的源码包中有BSD 500数据集位于目录pidinet\path\to中如下 有自己制作好数据集的直接导入使用。 BSD 500数据集下载链接 http://mftp.mmcheng.net/liuyun/rcf/data/HED-BSDS.tar.gz PASCAL VOC数据集下载链接 http://mftp.mmcheng.net/liuyun/rcf/data/PASCAL.tar.gz NYUD数据集下载链接 http://mftp.mmcheng.net/liuyun/rcf/data/NYUD.tar.gz三、训练 有多种可以选择官网提供的如下 其中效果最好的是table7_pidinet最轻量化的是table5_pidinet-tiny-l学者根据自己需求选择模型大小上图像的各个模型权重文件在源码包中trained_models文件夹下可以直接用这些权重文件测试。 3.1 训练和测试命令 下面是各个模型对应的训练和测试命令 ############### Table 5, Baseline # train, or generate maps without conversion (uncomment the --evaluate) python main.py --model pidinet --config baseline --sa --dil --resume --iter-size 24 -j 4 --gpu 0 --epochs 20 --lr 0.005 --lr-type multistep --lr-steps 10-16 --wd 1e-4 --savedir /path/to/table5_baseline --datadir /path/to/BSDS500 --dataset BSDS #--evaluate /path/to/table5_baseline.pth# generate maps (no need to convert because baseline is already a vanilla cnn) python main.py --model pidinet --config baseline --sa --dil -j 4 --gpu 0 --savedir /path/to/table5_baseline --datadir /path/to/BSDS500 --dataset BSDS --evaluate /path/to/table5_baseline.pth# 101 FPS python throughput.py --model pidinet --config baseline --sa --dil -j 1 --gpu 0 --datadir /path/to/BSDS500 --dataset BSDS############### Table 5, PiDiNet # train, or generate maps without conversion (uncomment the --evaluate) python main.py --model pidinet --config carv4 --sa --dil --resume --iter-size 24 -j 4 --gpu 0 --epochs 20 --lr 0.005 --lr-type multistep --lr-steps 10-16 --wd 1e-4 --savedir /path/to/table5_pidinet --datadir /path/to/BSDS500 --dataset BSDS #--evaluate /path/to/table5_pidinet.pth# generate maps with converted pidinet python main.py --model pidinet_converted --config carv4 --sa --dil -j 4 --gpu 0 --savedir /path/to/table5_pidinet --datadir /path/to/BSDS500 --dataset BSDS --evaluate /path/to/table5_pidinet.pth --evaluate-converted# 96 FPS python throughput.py --model pidinet_converted --config carv4 --sa --dil -j 1 --gpu 0 --datadir /path/to/BSDS500 --dataset BSDS############### Table 5, PiDiNet-L # train, or generate maps without conversion (uncomment the --evaluate) python main.py --model pidinet --config carv4 --resume --iter-size 24 -j 4 --gpu 0 --epochs 20 --lr 0.005 --lr-type multistep --lr-steps 10-16 --wd 1e-4 --savedir /path/to/table5_pidinet-l --datadir /path/to/BSDS500 --dataset BSDS #--evaluate /path/to/table5_pidinet-l.pth# generate maps with converted pidinet python main.py --model pidinet_converted --config carv4 -j 4 --gpu 0 --savedir /path/to/table5_pidinet-l --datadir /path/to/BSDS500 --dataset BSDS --evaluate /path/to/table5_pidinet-l.pth --evaluate-converted# 135 FPS python throughput.py --model pidinet_converted --config carv4 -j 1 --gpu 0 --datadir /path/to/BSDS500 --dataset BSDS############### Table 5, PiDiNet-small # train, or generate maps without conversion (uncomment the --evaluate) python main.py --model pidinet_small --config carv4 --sa --dil --resume --iter-size 24 -j 4 --gpu 0 --epochs 20 --lr 0.005 --lr-type multistep --lr-steps 10-16 --wd 1e-4 --savedir /path/to/table5_pidinet-small --datadir /path/to/BSDS500 --dataset BSDS #--evaluate /path/to/table5_pidinet-small.pth# generate maps with converted pidinet python main.py --model pidinet_small_converted --config carv4 --sa --dil -j 4 --gpu 0 --savedir /path/to/table5_pidinet-small --datadir /path/to/BSDS500 --dataset BSDS --evaluate /path/to/table5_pidinet-small.pth --evaluate-converted# 161 FPS python throughput.py --model pidinet_small_converted --sa --dil --config carv4 -j 1 --gpu 0 --datadir /path/to/BSDS500 --dataset BSDS############### Table 5, PiDiNet-small-l # train, or generate maps without conversion (uncomment the --evaluate) python main.py --model pidinet_small --config carv4 --resume --iter-size 24 -j 4 --gpu 0 --epochs 20 --lr 0.005 --lr-type multistep --lr-steps 10-16 --wd 1e-4 --savedir /path/to/table5_pidinet-small-l --datadir /path/to/BSDS500 --dataset BSDS #--evaluate /path/to/table5_pidinet-small-l.pth# generate maps with converted pidinet python main.py --model pidinet_small_converted --config carv4 -j 4 --gpu 0 --savedir /path/to/table5_pidinet-small-l --datadir /path/to/BSDS500 --dataset BSDS --evaluate /path/to/table5_pidinet-small-l.pth --evaluate-converted# 225 FPS python throughput.py --model pidinet_small_converted --config carv4 -j 2 --gpu 0 --datadir /path/to/BSDS500 --dataset BSDS############### Table 5, PiDiNet-tiny # train, or generate maps without conversion (uncomment the --evaluate) python main.py --model pidinet_tiny --config carv4 --sa --dil --resume --iter-size 24 -j 4 --gpu 0 --epochs 20 --lr 0.005 --lr-type multistep --lr-steps 10-16 --wd 1e-4 --savedir /path/to/table5_pidinet-tiny --datadir /path/to/BSDS500 --dataset BSDS #--evaluate /path/to/table5_pidinet-tiny.pth# generate maps with converted pidinet python main.py --model pidinet_tiny_converted --config carv4 --sa --dil -j 4 --gpu 0 --savedir /path/to/table5_pidinet-tiny --datadir /path/to/BSDS500 --dataset BSDS --evaluate /path/to/table5_pidinet-tiny.pth --evaluate-converted# 182 FPS python throughput.py --model pidinet_tiny_converted --sa --dil --config carv4 -j 2 --gpu 0 --datadir /path/to/BSDS500 --dataset BSDS############### Table 5, PiDiNet-tiny-l # train, or generate maps without conversion (uncomment the --evaluate) python main.py --model pidinet_tiny --config carv4 --resume --iter-size 24 -j 4 --gpu 0 --epochs 20 --lr 0.005 --lr-type multistep --lr-steps 10-16 --wd 1e-4 --savedir /path/to/table5_pidinet-tiny-l --datadir /path/to/BSDS500 --dataset BSDS #--evaluate /path/to/table5_pidinet-tiny-l.pth# generate maps with converted pidinet python main.py --model pidinet_tiny_converted --config carv4 -j 4 --gpu 0 --savedir /path/to/table5_pidinet-tiny-l --datadir /path/to/BSDS500 --dataset BSDS --evaluate /path/to/table5_pidinet-tiny-l.pth --evaluate-converted# 253 FPS python throughput.py --model pidinet_tiny_converted --config carv4 -j 2 --gpu 0 --datadir /path/to/BSDS500 --dataset BSDS############### Table 6, PiDiNet # train, or generate maps without conversion (uncomment the --evaluate) python main.py --model pidinet --config carv4 --sa --dil --resume --iter-size 24 -j 4 --gpu 0 --epochs 14 --lr 0.005 --lr-type multistep --lr-steps 8-12 --wd 1e-4 --savedir /path/to/table6_pidinet --datadir /path/to/NYUD --dataset NYUD-image --lmbda 1.3 #--evaluate /path/to/table6_pidinet.pth# generate maps with converted pidinet python main.py --model pidinet_converted --config carv4 --sa --dil -j 4 --gpu 0 --savedir /path/to/table6_pidinet --datadir /path/to/NYUD --dataset NYUD-image --lmbda 1.3 --evaluate /path/to/table6_pidinet.pth --evaluate-converted# 66 FPS python throughput.py --model pidinet_converted --sa --dil --config carv4 -j 1 --gpu 0 --datadir /path/to/NYUD --dataset NYUD-image############### Table 7, PiDiNet # train, or generate maps without conversion (uncomment the --evaluate) python main.py --model pidinet --config carv4 --sa --dil --resume --iter-size 24 -j 4 --gpu 0 --epochs 14 --lr 0.005 --lr-type multistep --lr-steps 8-12 --wd 1e-4 --savedir /path/to/table7_pidinet --datadir /path/to/Multicue/multicue_v2 --dataset Multicue-boundary-1 #--evaluate /path/to/table7_pidinet.pth# generate maps with converted pidinet python main.py --model pidinet_converted --config carv4 --sa --dil -j 4 --gpu 0 --savedir /path/to/table7_pidinet --datadir /path/to/Multicue/multicue_v2 --dataset Multicue-boundary-1 --evaluate /path/to/table7_pidinet.pth --evaluate-converted# 17 FPS python throughput.py --model pidinet_converted --sa --dil --config carv4 -j 1 --gpu 0 --datadir /path/to/Multicue/multicue_v2 --dataset Multicue-boundary-1各个模型的定义在代码中的位置如下 实际训练使用只需要将修改训练命令中模型保存路径–savedir数据集路径–dataset 具体使用如下在终端输入命令下面就是训练过程 3.1 模型保存 训练好的模型会自动保存指定路径下 四、测试 各个模型对应的测试命令见上面3.1。 在我提供的源码包中单独区分了GPU测试脚本和CPU测试脚本如下 使 用测试命令时要修改读入测试集的路径–datadir保存测试结果的路径–savedir训练好的模型权重路径–evaluate。其它的参数可以根据情况调整。 GPU测试命令例子如下 python main_GPU.py --model pidinet_converted --config carv4 --sa --dil -j 4 --gpu 0 --savedir ./path/to/savedir_table7_pidinet --datadir ./path/to/custom_images --dataset Custom --evaluate ./trained_models/table5_baseline.pth --evaluate-convertedCPU测试命令例子如下 python main_CPU.py --model pidinet_tiny_converted_small5 --config carv4 --sa --dil -j 4 --savedir ./results/pidinet_tiny_small5_Crop --datadir ./path/to/custom_images --dataset Custom --evaluate ./path/to/Train_Models/pidinet_tiny_small5_Crop/save_models/checkpoint_008.pth --evaluate-converted下面是终端中输入命令实际测试的过程 最终的测试结果会自动保存在–savedir指定的路径中如下 4.1 测试结果 4.1.1 测试场景1 4.1.2 测试场景2 4.1.3 测试场景3 4.2 检测边缘与原图融合 融合方法是先单独在Y通道上对原图和边缘图进行叠加融合最后用融合后的Y通道和原图图的CrCb合并再转为BGR图像。用这样的融合方法得到的图像比较自然色彩信息不会丢失。 4.2.1 融合代码 # 此方法可行在Y通道上将图像的细节融合后再与CrCb色彩通道合并颜色import cv2 import numpy as np# 读取原始图像image cv2.imread(path/to/DenoiseImages/23.jpg, cv2.IMREAD_COLOR) # 原图image_edge cv2.imread(results/Table_pidinet_tiny_l/eval_results/imgs_epoch_019/23.png) # 边缘图像# 转YCrCb图像 image_YCrCb cv2.cvtColor(image,cv2.COLOR_BGR2YCrCb) image_edge_YCrCb cv2.cvtColor(image_edge,cv2.COLOR_BGR2YCrCb)# 拆分YCRCb图像各个通道image_y,image_cr,image_cb cv2.split(image_YCrCb)image_edge_y,image_edge_cr,image_edge_cb cv2.split(image_edge_YCrCb)# 将边缘图像转换为彩色图像 # edge_image_color cv2.cvtColor(image_edge, cv2.COLOR_GRAY2BGR)# 将边缘图像叠加到原始图像上 enhanced_image_y cv2.addWeighted(image_y, 0.9, image_edge_y, 0.1, 0)# 合同通道 fusion_YCrCb cv2.merge((enhanced_image_y,image_cr,image_cb))# YCrCb转BGR fusion_BGR cv2.cvtColor(fusion_YCrCb,cv2.COLOR_YCrCb2BGR)cv2.imwrite(results/DenoiseImagesTable_pidinet_tiny_l/23.bmp,fusion_BGR)# fusion_RGB cv2.cvtColor(fusion_YCrCb,cv2.COLOR_YCrCb2RGB)# 显示增强后的图像 cv2.imshow(original,image) cv2.imshow(image_edge,image_edge) cv2.imshow(image_y,image_y) cv2.imshow(image_edge_y,image_edge_y) cv2.imshow(enhanced_image_y,enhanced_image_y) cv2.imshow(Fusion Image, fusion_BGR) cv2.waitKey(0) cv2.destroyAllWindows()4.2.2 融合结果展示 4.2.1 场景1 4.2.2 场景2 五、模型优化 官网已经提供了多种模型但是在CPU上还是远远不够所以我的优化主要是针对速度。 5.1 修改通道数和空洞率 我最小的通道数为5空洞率为2。其它值也可以设置检测效果会有影响。 5.2 裁剪卷积层 我裁剪网络结构的部分如下图红框所示裁剪代码脚本为源码包中的pidinet_Crop.py文件。 对应的源码里面将block_3部分和block_4部分删除同时forword里面也要对应修改如下 通过这种方法能够提升一定速度但是检测效果差了很多。 六、推理速度 我自己测试的图像分辨率为480*360电脑处理器12th Gen Intel® Core™ i7-12700H 2.30 GHz。 官网table7_pidinet模型大小为2.73M。 CPU推理速度450ms/fpsGPU推理速度4ms/fps。 官网table5-pidinet-tiny-l模型大小为304K。CPU推理速度143.6ms/fpsGPU推理速度2ms/fps。 模型优化裁剪通道数为5空洞率为2模型大小为178K。 CPU推理速度81ms/fps。 模型优化卷积层裁剪部分如下图红框所示通道数为5空洞率为2模型大小为65.06K。CPU推理速度72.25ms/fps。 总结 以上就是边缘检测算法PidiNet网络训练自己数据集并优化推理测试的详细图文教程该网络架构都是采用轻量化的模块集成确实快但依然有优化空间有更深入研究的学者欢迎一起探讨。 总结不易多多支持谢谢
http://www.hkea.cn/news/14587651/

相关文章:

  • 昆明做网站哪家便宜一级a做爰片2202网站
  • 深圳网站定制建设重庆比较好的软件开发培训学校
  • 天津住房城乡建设厅官方网站牛牛襄阳网站建设
  • 做系统去哪个网站好多模室内设计网站
  • 自己做视频网站有点卡e福州怎么代缴医保
  • 首都航空公司官方网站科技公司php网站模版
  • 提高网站的权重的最佳方法西安今天出大事
  • 信阳网站推广公司个人视频网站应该怎么做
  • 郑州做订货网站外贸seo关键词
  • 协作网站是什么wampserver搭建网站
  • ps做网站浏览器预览wordpress 微信
  • 麻涌企业网站建设wordpress 暗箱
  • centos wordpress建站各大网站创始人
  • 有哪些好的做兼职的网站公司管理系统有哪些
  • 做IT的需要别人打开网站吗哪个设计网站做兼职好
  • 广州网站建设熊掌号旅游网站设计完整代码
  • 网站漂浮广告代码太原做网站公司5大建站服务
  • 网站建设公司宣传范文网站建设文档
  • 吉林省建设工程质监站网站专门做卫生间效果图的网站
  • 珠海在线网站建设网站备案要关闭吗
  • 做平台网站多少钱wordpress博客转发
  • 快速学习网站建设服务器上的网站不能访问
  • 网站中使用特殊字体手机端网站开发 免费
  • wordpress设置先登录再进入杭州网站建设优化案例
  • 原创网站设计费用网站 跑马灯图片怎么做
  • 网站建设合作流程图装饰公司起名字寓意好的字
  • 淄博 做网站网站模板在线制作
  • 中国建设银行招聘信息网站6线上营销推广方式都有哪些
  • 微信公众号网站制作策划书范文案例
  • 取消教育网站前置审批建筑网站登陆页面