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

【车道线】TwinLiteNet 复现过程全纪录

码字不易,喜欢的请点赞收藏!!!!!

论文全文翻译:【freespace】TwinLiteNet: An Efficient and Lightweight Model for Driveable Area and Lane Segmentation_莫克_Cheney的博客-CSDN博客

目录

码字不易,喜欢的请点赞收藏!!!!!

1、下载代码

2、解压缩

3、建立conda环境

 4、验证环境

5、复制环境

6、安装依赖

 7、测试

8、训练


1、下载代码

代码地址:https://github.com/chequanghuy/TwinLiteNet

2、解压缩

3、建立conda环境

我个人先建立起一个基础环境,然后复制为twinlitenet环境,大家可以直接建立环境

conda create -n baseenv python=3.8

conda activate baseenv

安装pytorch, torchvision, torchaudio等废了好大劲,传统搜索出的安装命令,不是太慢,就是安装错了,安装的cpu版本的torch,只有这一句,能够省时省力,正确安装。

 pip3 install torch==1.10.0 torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113 -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

 4、验证环境

环境安装好了,我们来验证下

import torch # 如果pytorch安装成功即可导入
print(torch.cuda.is_available()) # 查看CUDA是否可用
print(torch.cuda.device_count()) # 查看可用的CUDA数量
print(torch.version.cuda) # 查看CUDA的版本号

5、复制环境

conda create -n twinlitenet --clone baseenv

6、安装依赖

pip install -r requirements.txt -i https://pypi.douban.com/simple/

感觉对应的包没有必要和作者完全一致,能够安装上即可,自己和自己安装的版本不冲突即可

因为我们之前安装完成了torch,torchvision,所以要把它们两个删掉,另外torchtext对torch的版本有要求,要一并考虑

 7、测试

先建立结果文件夹

mkdir results

使用如下语句运行测试程序,调用的是'pretrained/best.pth'这个模型,运行的原图在images里,结果图存在results里

python test_image.py

结果示意图如下,蓝色的是可行驶区域,绿色的是车道线:

8、训练

下载数据集,后面两个标签需要科学上网

- 下载images (https://bdd-data.berkeley.edu/)

- 下载可通行区域的标签[segments](https://drive.google.com/file/d/1xy_DhUZRHR8yrZG3OwTQAHhYTnXn7URv/view?usp=sharing)

 不用科学上网的备选https://download.csdn.net/download/herocheney/88189927https://download.csdn.net/download/herocheney/88189927

- 下载车道线的标签 [lane](https://drive.google.com/file/d/1lDNTPIQj_YLNZVkksKM25CvCHuquJ8AP/view?usp=sharing).

  不用科学上网的备选https://download.csdn.net/download/herocheney/88189953https://download.csdn.net/download/herocheney/88189953

 按照如下目录链接存放:

放好数据集后,更改DataSet.py里的数据集路径,改为你自己的路径:

 conda activate twinlitenet

python train.py即可开始训练:

 

相关文章:

【车道线】TwinLiteNet 复现过程全纪录

码字不易,喜欢的请点赞收藏!!!!! 论文全文翻译:【freespace】TwinLiteNet: An Efficient and Lightweight Model for Driveable Area and Lane Segmentation_莫克_Cheney的博客-CSDN博客 目录…...

七牛云获取qn(url、bucket、access-key、secret-key)

1.注册账号 2.access-key和secret-key: 点击“密钥管理” 复制AK和SK即可 域名: bucket: 这个就是对象存储空间名字 先新建一个空间(没买需要先购买),步骤如下: 填写存储空间名字&#xff0…...

定时任务实现 - Cron表达式知识

Cron表达式 cron表达式是一个字符串,由6到7个字段组成,用空格分隔。其中前6个字段是必须的,最后一个是可选的。每个字段的含义为:秒 分 时 日 月 周 年 字符解释: 枚举:, (cron“7,9,23****?”):任意时刻…...

【java】抽象

java抽象 抽象类抽象方法抽象类和抽象方法 抽象类 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就…...

Qt应用开发(基础篇)——时间微调输入框 QDateTimeEdit、QDateEdit、QTimeEdit

一、前言 QAbstractSpinBox是全部微调输入框的父类,这是一种允许用户通过点击上下箭头按钮或输入数字来调整数值的图形用户界面控件,父类提供了当前值text、对齐方式align、只读readOnly等通用属性和方法。在上一篇数值微调输入框中有详细介绍。 QDateTi…...

日撸代码300行:第63天(集成学习之 AdaBoosting-1)

代码来自闵老师”日撸 Java 三百行(61-70天) 日撸 Java 三百行(61-70天,决策树与集成学习)_闵帆的博客-CSDN博客 学习过程中理解算法参考了:(十三)通俗易懂理解——Adaboost算法原…...

抽象父类获取子类的泛型 或接口泛型

jie通过getClass().getGenericSuperclass()或者子类的泛型 getClass().getGenericInterfaces();获取多个接口的泛型 GenericTypeResolver.resolveTypeArgument(GenericityService.class, GenericitySuper.class) 抽象父类 public abstract class GenericitySuper<T> …...

题目:2341.数组能形成多少数对

​​题目来源&#xff1a; leetcode题目&#xff0c;网址&#xff1a;2341. 数组能形成多少数对 - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1a; 使用哈希表对数组中元素及其出现次数计数后对其进行统计即可。 解题代码&#xff1a; class Solution {public …...

NB-IOT 和蜂窝通信(2/3/4/5G)的区别和特点是什么?

NB-IOT 和蜂窝通信(2/3/4/5G)的区别和特点是什么? 参考链接:https://www.sohu.com/a/221664826_472880 NB IOT是窄带物联网技术,主要解决的是低速率数据传输,可使用GSM900或DCS1800频段,在频段使用上比较灵活,可以和GSM,UMTS或LTE共存,具备优异的MCL(最小耦合损耗…...

vue3 动态导入src/page目录下的所有子文件,并自动注册所有页面组件

main.js添加一下代码&#xff1a; const importAll (modules) > {Object.keys(modules).forEach((key) > {const component key.replace(/src/, /).replace(.vue, );const componentName key.split(/).slice(-2, -1)[0] -page;app.component(componentName, modules…...

python优雅地爬虫

申明&#xff1a;仅用作学习用途&#xff0c;不提供任何的商业价值。 背景 我需要获得新闻&#xff0c;然后tts&#xff0c;在每天上班的路上可以听一下。具体的方案后期我也会做一次分享。先看我喜欢的万能的老路&#xff1a;获得html内容-> python的工具库解析&#xff0…...

mysql8查看执行sql历史日志、慢sql历史日志,配置开启sql历史日志general_log、慢sql历史日志slow_query_log

0.本博客sql总结 -- 1.查看参数 -- 1.1.sql日志和慢sql日志输出方式(TABLE/FILE)。global参数 SHOW GLOBAL VARIABLES LIKE log_output; -- 1.2.sql日志开关。global参数 SHOW GLOBAL VARIABLES LIKE general_log%; -- 1.3.慢sql日志开关。global参数 SHOW GLOBAL VARIABLE…...

vscode关闭绑定元素“xxx”隐式具有“any”类型这类错误

在ts的项目里面&#xff0c;真的经常看到any类型的报错&#xff0c;真的很烦的 所以为了眼不见心不乱&#xff0c;我决定消除这个错误提示 在tsconfig.json里面配置 "noImplicitAny": false 就可以了 {"compilerOptions": {"target": "E…...

View绘制流程-Window创建

前言&#xff1a; View绘制流程中&#xff0c;主要流程是这样的&#xff1a; 1.用户进入页面&#xff0c;首先创建和绑定Window&#xff1b; 2.首次创建以及后续vsync信号来临时&#xff0c;会请求执行刷新流程&#xff1b; 3.刷新流程完成后&#xff0c;会通知SurfaceFlin…...

Jenkins build包时虽然单元测试失败了,但是仍然可以成功build包(最终结束时build success)

1.尝试方案1&#xff1a; 尽管单元测试失败&#xff0c;Jenkins Maven仍然可以获得成功-Java 学习之路 将 -Dmaven.test.failure.ignorefalse 添加到 MAVEN_OPTS artifactoryMaven {goals "-U clean install -Dmaven.test.skipfalse -DallowSnapshotstrue -Dmaven.te…...

【vue3】基础知识点-setup语法糖

学习vue3&#xff0c;都会从基础知识点学起。了解setup函数&#xff0c;ref&#xff0c;recative&#xff0c;watch、comptued、pinia等如何使用 今天说vue3组合式api&#xff0c;setup函数 在学习过程中一开始接触到的是这样的&#xff0c;定义数据且都要通过return返回 <…...

idol!! 2023牛客暑期多校训练营6 C

登录—专业IT笔试面试备考平台_牛客网 题目大意&#xff1a;定义n!!等于与n的奇偶性相同的所有小于等于n的数的阶乘之和&#xff0c;问n!!的末尾有多少0 1<n<1e18 思路&#xff1a;因为末尾0的来源是2*5&#xff0c;而2的个数明显比5的个数多得多&#xff0c;所以末尾…...

深入理解Jdk5引入的Java泛型:类型安全与灵活性并存

深入理解Jdk5引入的Java泛型&#xff1a;类型安全与灵活性并存 ​ 在Java的中&#xff0c;有一个强大的工具&#xff0c;它可以让你在编写代码时既保持类型安全&#xff0c;又享受灵活性。**这个工具就是——泛型&#xff08;Generics&#xff09;。**本文将引导你深入了解Java…...

idea在控制台中输出文字显示乱码

VM options中加入下面这行 -Dfile.encodingutf-8...

hacksudo3 通关详解

环境配置 一开始桥接错网卡了 搞了半天 改回来就行了 信息收集 漏洞发现 扫个目录 大概看了一眼没什么有用的信息 然后对着login.php跑了一下弱口令 sqlmap 都没跑出来 那么利用点应该不在这 考虑到之前有过dirsearch字典太小扫不到东西的经历 换个gobuster扫一下 先看看g…...

OpenClaw学术研究助手:Qwen3.5-9B-AWQ-4bit解析论文图表数据

OpenClaw学术研究助手&#xff1a;Qwen3.5-9B-AWQ-4bit解析论文图表数据 1. 为什么需要自动化论文图表解析 去年冬天&#xff0c;我在整理一篇关于机器学习模型压缩的综述论文时&#xff0c;遇到了一个典型的研究痛点&#xff1a;需要从32篇相关文献的PDF中提取实验数据表格进…...

STM32首次烧录选择erase sectors导致程序跑飞

一、故障现象小批量打样回来的板子&#xff0c;烧录程序后一切正常&#xff0c;蜂鸣器响0.5s&#xff0c;LED闪烁等待握手&#xff1b;但是断电重启后蜂鸣器长鸣&#xff0c;LED不闪烁&#xff0c;无法正常运行。二、分析解决过程首先我看了一下电源&#xff0c;电压、电流都是…...

嵌入式ONPS协议栈:轻量级TCP/IP实现与优化

1. ONPS协议栈概述ONPS是一款专为资源受限的嵌入式系统设计的开源网络协议栈&#xff0c;由国内开发者完全自主开发实现。作为一名长期从事嵌入式网络开发的工程师&#xff0c;我第一次接触ONPS时就对其轻量级设计和完整的功能实现印象深刻。与常见的LwIP等协议栈相比&#xff…...

机器人双目视觉定位系统设计与开发

机器人双目视觉定位系统设计与开发 摘要 双目视觉定位技术是机器人感知环境、实现自主导航和精准操作的核心技术之一。本系统基于双目立体视觉原理,利用Matlab平台完成了从相机标定、图像采集、立体匹配到三维坐标解算的完整流程。系统采用张正友标定法获取相机内外参数,通…...

UWB定位算法避坑指南:如何避免常见错误并提升定位精度(含2025最新优化技巧)

UWB定位算法避坑指南&#xff1a;如何避免常见错误并提升定位精度&#xff08;含2025最新优化技巧&#xff09; 在工业4.0和智能物联网的浪潮中&#xff0c;超宽带&#xff08;UWB&#xff09;技术凭借其厘米级高精度定位能力&#xff0c;正在重塑智能制造、仓储物流和医疗监护…...

YouTube面临儿童AI内容监管挑战

专家呼吁YouTube停止向儿童推荐AI视频近日&#xff0c;超200名儿童发展专家及相关机构联名致信谷歌和YouTube高层&#xff0c;强烈要求YouTube及YouTube Kids停止向未成年用户展示或推荐AI生成视频。这些专家指出&#xff0c;大量所谓有“教育用途”的AI视频其实内容空洞、质量…...

别再只会上传一句话木马了!用DVWA File Upload模块,深入理解PHP文件上传漏洞的5个关键点

深入剖析PHP文件上传漏洞&#xff1a;从DVWA实战到安全防御体系构建 在Web安全领域&#xff0c;文件上传功能就像一扇没有上锁的后门——看似无害&#xff0c;实则暗藏杀机。许多开发者认为简单的扩展名检查就能高枕无忧&#xff0c;殊不知攻击者早已掌握数十种绕过技巧。DVWA的…...

9 鸿蒙页面渲染效率优化实战 | 鸿蒙开发筑基实战

9 鸿蒙页面渲染效率优化实战 | 鸿蒙开发筑基实战 作者&#xff1a;杨建宾&#xff08;华夏之光永存&#xff09; 摘要 本文聚焦鸿蒙应用页面渲染卡顿、掉帧、长列表加载缓慢等核心痛点&#xff0c;梳理页面渲染全流程的通用优化方案&#xff0c;从布局规范、组件复用、渲染管控…...

FPGA新手避坑:用Quartus Prime 23.1的FIFO IP核实现跨时钟域传输(附仿真代码)

FPGA跨时钟域传输实战&#xff1a;Quartus Prime 23.1 FIFO IP核深度解析 第一次在Quartus Prime里拖拽FIFO IP核时&#xff0c;看着满屏的参数选项&#xff0c;我对着屏幕发呆了十分钟——到底该选同步还是异步&#xff1f;深度设多少合适&#xff1f;为什么仿真时数据总对不上…...

Qwen3.5-9B-AWQ-4bit操作系统概念学习与实验指导

Qwen3.5-9B-AWQ-4bit操作系统概念学习与实验指导 1. 当AI成为你的操作系统课助教 想象一下&#xff0c;凌晨两点你正在赶操作系统课程的作业&#xff0c;突然卡在进程调度算法上。这时候如果有个随时在线的助教&#xff0c;能清晰解释概念、提供实验思路&#xff0c;甚至给出…...