基于DeepLabV3实践路面、桥梁、基建裂缝裂痕分割

news2024/11/25 7:00:30

在我前面的文章中有基于改进的模型开发的裂缝裂痕检测模型,感兴趣的话可以看下:

《基于yolov5s+bifpn实践隧道裂缝裂痕检测》

今天主要是趁着有时间基于deeplabv3来实践裂缝裂痕分割。首先来看效果图:

 为了整体直观,这里专门是开发了对应的界面,方便使用的。

完整项目截图如下所示:

 下表是对整个项目中各个文件的介绍说明:

文件名称文件说明
datasets/数据集目录
modules/模块模块
results/结果目录
utils/组件目录
weights/权重目录
guiAPP.py系统模块
inference.py推理模块
model_structure.png模型结构图
models.py模型实例化模块
splitDataset.py数据集构建模块
train.py模型训练模块
启动系统.bat双击启动系统bat脚本
执行.bat双击启动训练bat脚本

datasets目录如下所示:

 JPEGImages为原始图像数据目录。

SegmentationClass为mask图像目录。

modules为网络定义模块目录,如下所示:

 results为结果目录,如下所示:

 设置每个epoch都会存储一次最新的权重文件,方便自己随时使用。

utils目录主要是存储公共组件模块,如下所示:

 weights用于存储预训练的权重文件,这里的预训练模型来资源公开数据集训练得到。

model_structure.png是绘制出来的deeplabv3的网络结构图,如下所示:

inference.py是离线推理模块,核心实现如下所示

def singImgInfer(pic_path="test.jpg", save_path="result.jpg"):
    """
    单张图像推理
    """
    try:
        print("Loading Image From: ", pic_path)
        image = Image.open(img)
        resImg = deeplabv3.detect_image(image)
        resImg.save(save_path)
        print("Saving Image To: ", save_path)
    except Exception as e:
        print("Exception: ", e)

如果想要批处理也可以用下面的:

def batchImgsInfer(picDir="test/", saveDir="result/"):
    """
    批量图像推理
    """
    if not os.path.exists(saveDir):
        os.makedirs(saveDir)
    pic_list = os.listdir(picDir)
    print("pic_list_length: ", len(pic_list))
    for one_pic in tqdm(pic_list):
        one_path = picDir + one_pic
        print("Loading Image From: ", one_path)
        one_img = Image.open(one_path)
        one_resImg = deeplabv3.detect_image(one_img)
        one_resImg.save(saveDir + one_pic)
        print("Saving Image To: ", saveDir + one_pic)

我是在本地cpu模式下运行的推理计算,整体来看速度并不是很快大概在1s左右。

guiAPP.py模块时开发的界面模块,能够将离线推理过程以可视化的形式展示出来,实例如下:

启动界面:

 上传图像:

 分割推理:

 因为数据集没有很多,训练的epoch次数也只有100左右,所有有些效果就不是很好,如下所示:

 后期自建数据集获取到更大数据量后可以重新迭代训练,效果也会有所提升。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/4618.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

腾讯蓝鲸 API 网关如何借助 APISIX 实现产品升级与业务完善

分享嘉宾朱雷,腾讯 IEG 运维 PaaS 平台技术负责人。 蓝鲸(全名“蓝鲸智云”)是一套孵化于腾讯 IEG(互动娱乐事业群)内部,服务于多业务与各内部平台的研运一体化 PaaS。 其作用是在 CI、CD 和 CO 三个阶段&a…

Spring 概述

Spring是 Java 应用程序开发框架。 Spring 框架的目标是使 J2EE 开发变得更容易使用,通过启用基于 POJO编程模型来促进良好的编程实践。 Spring Framework Spring 基础框架是 Spring Framework ,基本上任何其他 Spring 项目都是以 Spring Framework 为…

如何进入 mysql?

目录 1. win r 2. 输入cmd点确定 3. 输入 mysql -u -t 4. 点回车出现 下面的 就代表已经进入 mysql 退出 mysql的 方法: 1. win r 2. 输入cmd点确定 3. 输入 mysql -u -t -u :代表你的用户名,如果是本地登录 则为 -uroot-p &am…

学习python第7天

Python绘制图形库turtle 1.介绍: turtle库根据一组函数指令的控制,在平面坐标系中移动,从 而它爬行的路径上绘制图形。 2.原理:turtle(海龟)由程序控制在画布上游走,走过的轨迹形成绘 制的图形&#xff0c…

子不语IPO下限定价:预计2022年全年净利润下滑,华丙如为实控人

11月10日,子不语集团有限公司(HK:02420,下称“子不语”)在港交所公布发售结果。公告显示,子不语在香港公开发售及国际配售(不含基石部分)阶段均获得超额认购,将于2022年11月11日在港…

【前端】Vue+Element UI案例:通用后台管理系统-登陆页面Login

文章目录目标代码0.路由1.结构2.校验规则3.样式总代码Login.vue效果本篇很短,因为只有一个页面。没有功能。 目标 登陆页面,路由为/login有表单验证 代码 0.路由 在router的index.js文件中的routes中添加对象: {path:/login,component:L…

SpringBoot+Mybatis+CRUD项目

一、项目要求 创建一个 SpringBoot 项目,项目名”week11_学号”;使用 Mybatis 框架,也可以时可用 MybatisPlus 框架;访问 myschool 数据库;对 student 表进行操作,向 student 插入自己的一条记录&#xff…

Linux学习-29-用户组信息相关命令

8.17 Linux groupadd命令:添加用户组 添加用户组的命令是 groupadd,命令格式如下: [rootCncLucZK ~]# groupadd [选项] 组名选项: -g GID:指定组 ID;-r:创建系统群组。-o 一般与-g选项同时使用&#xff0…

C++ opencv 图像色彩空间转换--色域捕获

1.API和相关知识 1.inRange 在opencv中,我们提取指定色彩范围的区域,采用inRange实现,这样的一块区域,学名叫做ROI(region of interest),感兴趣区域。 关于inRange的提取原理 图像中&#xff0…

这是一篇用python画3D爱心的代码

浅浅写一个最近很火的爱心代码 最近你是否也被李峋的爱心跳动代码所感动,心动不如行动,相同的代码很多,我们今天换一个玩法!构建一个三维的跳动爱心!嗯!这篇博客本着开源的思想!不是说谁对浪漫…

开放服务担心安全?vx-api-gateway值得一用

下载地址:VX-API-Gateway帮助文档 下载解压打开后 Windows 下vx-api-gateway启动 bin目录下start.bat文件 启动后访问http://localhost:5256/ VX-API客户端用于查看VX-API运行的基本信息,管理应用与API及黑名单,打开客户端的方式,在浏览器中请求http://地址:端口…

被生活、房贷车贷压得喘不过气的35岁测试工程师,拿什么来谈追求~

高龄测试员现状 我有位在深圳工作的测试员朋友分享了他的工作经历,他今年35岁,前不久被公司辞退,面对家庭,房贷,车贷的压力,让他的生活都是一片灰,离职后最让测试员感到痛心是在面试多家公司以…

Android Studio App开发之广播组件Broadcast的讲解及实战(包括收发标准、有序、静态广播实现手机震动功能 附源码)

一、收发标准广播 Android的广播机制正式借鉴了Wifi的通信原理,不必搭建专门的通路,就能在发送方与接收方之间建立连接,同时广播也是Android的四大组件之一,它用于Android各组件之间的灵活通信,与活动的区别在于以下几…

荧光素标记大鼠甲状腺滤泡上皮细胞FRTL-5,荧光素FITC标记的FRTL-5细胞,FITC-FRTL-5

产品名称:荧光素标记大鼠甲状腺滤泡上皮细胞FRTL-5,荧光素FITC标记的FRTL-5细胞 英文名称:FITC-FRTL-5 在F-12培养基中加入5%小牛血清、10mU/ml TSH、10g/ml胰岛素、5g/ml转铁蛋白、10ng/ml生长抑素、0.4ng/ml氢化可的松、10ng/…

JAVA虚拟机的性能监控

一、JDK的命令行工具 命令一:jps(虚拟机进程状况工具) jps -q //只输出LVMID,省略主类的名称(LVMID:虚拟机实例运行时候的进程号) jps -m //输出虚拟机进程启动的时传递给主类main()函数的参…

笔记本电脑数据怎么恢复?笔记本电脑数据恢复用什么工具?

随着互联网时代的发展,电脑的应用越来越广泛,已经深深融入了我们的工作乃至生活当中。其中,笔记本作为可随身携带的电脑设备,其灵活、轻便等优势一直深受大家喜爱。在日常使用过程中,我们会往笔记本里存储各式各样的数…

Springboot快速开发-书本信息管理系统(项目源码)

【我后续会发一个资源包,里面是所有代码,数据库表设计也有,大学生可以直接用,导入数据库运行,再导入后端项目和前端项目,再去网页运行就好了,效果图下面有】 1、考核要求: 数据库&am…

笔试强训第22天--(第一个只出现一次的字符 小易的升级之路)

选择 B 从头找和从尾找不都得遍历嘛 B 错了建议给自己来个大嘴巴子 C 老演员了 A 一个从头来,一个从尾来,这样才能全满嘛 A 从1开始存的 但是依然是头指针等于尾指针的时候是空,但是你不留一个空间不存数据,那满的时候也是头指针等…

HAWE油缸_哈威油缸

HAWE油缸_哈威油缸宁波秉圣主要做的型号:HSE24-20,HSE16-8,HSE12-8,HSA32-20,HSE16-16,SHA32-20,SHA40-25等。 HAWE防爆阀宁波秉圣常作的型号:EXGZ4-12-GM24,NSWP2D/M/20-G24EX,VP1Z-G24EX,NBVP16R/2-G24EX,PSL41/160-3-E1-G24EX-3m,PSV4S2/2…

期末前端web大作业——名侦探柯南网页制作 Hbuiderx制作网页 静态HTML网页单页制作 dreamweaver网页设计与制作代码 web前端期末大作业

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 ⚽精彩专栏推荐&#x1…