BezierLaneNet

BezierLaneNet

前段时间读了PolyLaneNet的论文,发现论文中的思路跟我当时做的一些工作很类似,感觉手头上的工作可以跟车道线检测这个任务进行结合,于是有了现在的BezierLaneNet。但是我自己并不是专门做车道线检测的,所以只花了一个周末的时间,写了一份小代码进行探索性的试验,初步验证了想法的可行性,因此这个模型也只能当作一个基线模型。

PolyLaneNet使用了多项式建模车道线,对于每一张输入图片,模型输出条多项式表示的候选车道线以及地平线的垂直高度,每一条车道线的表示由多项式系数,垂直偏移量以及置信度构成,其中,区间为多项式的定义域,对于同一张输入图片,地平线的垂直高度是共享的。

BezierLaneNet使用了贝塞尔曲线建模车道线,对于每一张输入图片,模型输出条贝塞尔曲线表示的候选车道线,每一条车道线的表示由贝塞尔曲线的控制点以及置信度构成。

PolyLaneNet vs BezierLaneNet

  1. 都直接设定了的值;
  2. 每条车道线都有置信度
  3. 贝塞尔曲线的表示方式更加简洁(只需要控制点),其中,第一个控制点和最后一个控制点分别对应了曲线的起点和终点,正好也分别对应了车道线的起点和终点,不需要额外的参数;
  4. 若使用贝塞尔曲线标注车道线数据,标记数据可以直接用来训练BezierLaneNet;
  5. 若使用贝塞尔曲线标注车道线数据,BeizerLaneNet可以对数据进行预标记,标注员可以通过调整贝塞尔曲线的控制点进行曲线修正,起到辅助标记的作用。

贝塞尔曲线背景知识

网上有不少介绍贝塞尔曲线的文章,这里不再赘述,只给出维基百科的词条链接,以及构造一条三次贝塞尔曲线的演示动画图:

动画中的取值范围为。值得注意的是,当时,对应曲线起点,当时,对应曲线终点。随着变化到,从起点到终点的轨迹描绘出一条曲线。对于每一个都有对应的轨迹点与之对应:

Read More

工具整理

  1. Typora编辑器:

    描述:MarkDown编辑器

    官网:https://typora.io/

  2. Mathpix Snip:

    描述:数学公式转LaTex的OCR工具

    官网:https://mathpix.com/

  3. Snipaste:

    描述:截图工具

    官网:https://www.snipaste.com/

  4. draw.io:

    描述:在线绘图工具

    官网:https://app.diagrams.net/

  5. Inkscape:

    描述:矢量绘图软件

    官网:https://inkscape.org/

  6. XMind:

    描述:思维导图软件

    官网:https://www.xmind.net/

  7. Honeyview:

    描述:图片查看器

    官网:https://cn.bandisoft.com/honeyview/

  8. PotPlayer:

    描述:视频播放器

    官网:https://potplayer.daum.net/

    Read More

Git学习笔记

[toc]

Git Book Notes

Link to the book: https://git-scm.com/book/en/v2

Chapter 1 Getting Started

1.1. Three Main States

  • ==committed==–means that the data is safely stored in your local database.
  • ==modified==–means that you have changed the file but have not committed it to your database yet.
  • ==staged==–means that you have marked a modified file in its current version to go into your next commit snapshot.

Working tree, staging area, and Git directory.

The basic Git workflow goes something like this:

  1. You modify files in your working tree.
  2. You selectively stage just those changes you want to be part of your next commit, which adds only those changes to the staging area.
  3. You do a commit, which takes the files as they are in the staging area and stores that snapshot permanently to your Git directory.

If a particular version of a file is in the Git directory, it’s considered committed. If it has been modified and was added to the staging area, it is staged. And if it was changed since it was checked out but has not been staged, it is modified.

Read More

DVC学习笔记

[toc]

DVC学习笔记

1、使用流程

  1. DVC的安装:https://dvc.org/doc/install
  2. 刚开始使用DVC管理数据需要先做初始化
  3. 如果需要远程存储做备份,需要先配置远程仓库。
  4. 添加文件到DVC仓库,DVC会生成对应的.dvc文件,这些文件必须使用Git进行管理;如果同一份数据已经被修改,需要将该文件重新添加到DVC仓库,但是记得在添加后用dvc gc进行垃圾回收以减少存储空间的浪费。==注意==:垃圾回收必须配置远程仓库,每个版本的数据必须push到远程存储,不然将导致文件丢失。
  5. 不推荐手动添加代码生成的数据到DVC仓库,建议使用dvc run,见这里这里。如果正处于调参和Debug等快速迭代阶段,需要使用dvc run --no-commit命令,避免DVC将调试中期的文件自动添加到DVC仓库造成存储浪费。当参数或代码调试好了之后,再手动用dvc commit命令提交数据文件到DVC仓库。
  6. 建议将脚本写成shell脚本,这样子命令行参数变化时,dvc repro命令可以侦测到变化,从而自动运行复现步骤。另外,dvc run命令需要将主脚本(如:main.py)的所有依赖(例如所有命令行参数)包含进去。
  7. 在调参和调试代码阶段,使用dvc repro --no-commit命令,当参数或代码调试好了之后,再手动用dvc commit命令提交数据文件到DVC仓库。
  8. 配合Git做版本控制。
  9. 指标的计算需要在代码中实现,并写入到指定文件中,并将指标文件放入dvc run-o参数中。
  10. 避免保存无意义的权重文件,否则将浪费大量存储空间。

2、DVC初始化

1
2
3
4
# 创建Git仓库,用于管理代码和DVC元文件
git init
# 创建DVC仓库,生成DVC元文件和目录文件
dvc init

执行上述命令后,当前目录下将会创建如下文件:

1
2
# 将DVC元文件提交至Git的本地仓库
git commit -m "initialize DVC"

Read More

Latex学习笔记

[toc]

Latex学习笔记

Latex文档语法

教程地址https://www.overleaf.com/learn/latex/Learn_LaTeX_in_30_minutes

class

文档基本元素:

1
2
3
4
5
6
% 文档类型通过\documentclass{}进行设置
\documentclass{article}

% 文档主体
\begin{document}
\end{document}

写论文的话,可以从期刊官网下载模板,在模板的基础上进行修改,添加自己的内容。

preamble

指的是\begin{document}之前的所有内容,用于指定文档字符编码、导入使用的包等等。

1
2
3
4
5
% 12pt是指字体大小,a4paper是指纸张大小
\documentclass[12pt, a4paper]{article}

% 指定文档编码
\usepackage[utf8]{inputenc}

标题、作者、日期

preamble中添加。文章标题不能有下划线。

1
2
3
4
5
6
\documentclass[12pt, a4paper]{article}
\usepackage[utf8]{inputenc}

\title{Hello World}
\author{movic \thanks{funded by the movic studio}}
\date{April 2020}

显示标题信息,在body中添加\maketitle

1
2
3
\begin{document}
\maketitle
\end{document}

Read More

hexo维护和使用笔记

[toc]

Hexo个人博客小站维护和使用笔记

才想起自己很久前搭的这个小破站,当时没有写下安装和使用的笔记,导致现在连博客都不知道怎么发了。今天重新回忆一下当时安装和使用的流程,并整理成笔记,方便日后查阅。

一、 Hexo的安装

Hexo的安装需要先安装Node.jsGit,具体安装步骤参考:https://hexo.io/zh-cn/docs/。安装过程算是比较简单。

二、建站

建站教程参考链接:https://hexo.io/zh-cn/docs/setup

安装 Hexo 完成后,执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。

1
2
3
$ hexo init <folder>
$ cd <folder>
$ npm install

文件目录结构:

scaffolds:模板文件夹,新建文章时,Hexo会根据模板来建立.md文件。

source:存放用户资源的地方,除了_posts文件夹之外,开头命名为_(下划线)的文件/文件夹和隐藏文件将会被忽略。

themes:主题文件夹。

Read More

我的个人小站

小站用来记录一些比较琐碎的东西,比如小工具,小经验等等。。本站内容仅代表个人观点,请保持独立思考,若有分歧,请以相关教科书为准!

小站使用Hexo搭建,看了许多花里胡哨的模板,都不是特别喜欢,于是乎选择了自带的landscape模板,后续有喜欢的再更换。

个人兴趣:数学, 深度学习机器人航模DIY。。