自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 基于wsl的Apollo环境配置

打开docker desktop,选择右上角的settings->Resources->WSL integration,这时会识别到你的wsl名称,然后将对应的wsl开启再重启docker就可以了。第一次进入 docker 时或者 image 镜像有更新时会自动下载 apollo 所需的 image 镜像文件,下载镜像文件的过程会很长,为了更快的下载,可以对docker的源进行设置,在docker的设置里的docker engine中的设置json文件中,添加。下载完成后,会显示下面的提示。

2022-11-27 22:16:56 1078 3

原创 unix/linux笔记(二)

笔记一中从用户的角度来看Unix的话,基本操作就是用户登录,运行程序,用户推出,这样一套流程,但是,与此同时可能还有其他的用户也在登录、运行程序、退出,他们好像都工作在各自独立的空间中,但他们也可以发送即时信息来沟通。这就涉及到Unix系统的3个重要的属性通信、协作、网络访问。我们以Unix的计算器为例子。Unix的计算器bc启动计算器,输入bc即可,接着就可以输入计算表达式了,再回车就会返回结果,想退出按ctrl+D键。但是,严格意义上来讲,bc是不会做计算的。......

2022-07-21 22:05:30 265

原创 uinx/linux笔记(一)

计算机用操作系统管理所有的资源,操作系统也是程序,与普通程序一样,也运行在内存中,但它也是一个特殊的程序,内存会单独分出一部分空间来容纳操作系统,称为系统空间,其他用来容纳应用程序的叫做用户空间。操作系统也被称为内核,程序要访问设备,得到数据等都要通过内核才能进行操作。...

2022-07-19 22:31:19 449

原创 基于单应矩阵的图像拼接

首先我们看看这个方法的图像拼接的效果:依次这是我们的左图和右图,和最后拼接的效果图: 看了图片如果感兴趣的话,就可以接着往下看了。 Homography单应矩阵通常描述处于共同平面上的一些点在两种图像之间的变换关系,来以此描述了两个平面之间的映射关系。用公式表示的话就是: x` = H*x x为一张图像上的特征点位置,H为两种图像的单应矩阵,x`是同一个特征点在另一张图像上的位置。同一平面被两个处于不同位置的相机观测,或者同一个相机观测到的两个相同的,但位置不

2022-06-28 22:10:34 3544

原创 DETR训练实践以及自动预标注脚本、测试可视化脚本

目录自动预标注脚本 测试可视化脚本DETR训练自己的数据集总所周知,标注是一个体力活,而我又是一个懒人,所以我就自己写了个脚本。。。并不要求高精度,只是想体验用DETR训练自己的数据集又不想标注的人可以借鉴或使用。输入方式可以调用摄像头或者读取视频、图片三种方式来获取输入,我加了print提示,可以直接运行查看哈。输入0,1,2来选择功能分为3种,查看原图,检测可视化,图像标注,由于这次我是用我的人脸做了一个数据集,所以取名face detection。 如果选择image label,接下来是选择数据集类

2022-06-24 00:05:01 3180 30

原创 基于dlib检测和随机森林分类的驾驶员危险驾驶(人脸)检测

通过人脸识别,获取驾驶员前脸,当没有识别到前脸时,认为驾驶员没有观察前方车况,识别到前脸后,再识别出人脸的特征标识点,包括左、右眼睛,嘴巴等轮廓标识点,利用眼睛的轮廓标识点判断当前驾驶员眼睛的闭合度,连续低于设定的阈值认为当前处于闭眼状态,利用嘴巴的轮廓标识点判断当前驾驶员嘴巴的打开程度,连续高于某个阈值认为是处于打哈欠状态。基于前面获得的各种状态数据输入分类模型来获得当前是否危险驾驶和危险驾驶的严重性。.........

2022-06-15 21:17:49 879

原创 DETR源码笔记(二)

在DETR源码笔记(一)中,阅读到了main()函数的第二部分构建模型部分model, criterion, postprocessors = build_model(args)#构建model model.to(device) model_without_ddp = model if args.distributed: model = torch.nn.parallel.DistributedDataParallel(model, device_ids=[.

2022-06-07 00:58:39 5050 16

原创 Transformer理解

Attention注意力机制:Attention起源于NLP中的seq2seq模型,通常是RNN结构,对于这种结构,每一层传给下一层的向量长度是固定的,所以,当句子很长时,很难表达全部的信息,一开始的信息在后面就会容易丢掉。例如一个句子,“我喜欢吃苹果因为。。。(省略N个字)”,作为RNN的输入,希望输出回答“谁喜欢吃苹果”,当输入全部处理后,这时模型就可能已经丢掉了“我”这个信息了。这时,Attention机制的出现就很及时了,它会让我们选择性的关注一些区域,这样有限的向量常度,能让我们传递更值得

2022-05-25 23:15:39 1190

原创 DETR源码笔记(一)

源码获取:https://gitee.com/fgy120/DETR首先对DETR做个简单介绍上图即为DETR的流程pipeline,相比以前的RCNN系列、YOLO系列等,最特别的在于加入了Transformer。直接看源码,从train.py的main函数开始。if __name__ == '__main__': parser = argparse.ArgumentParser('DETR training and evaluation script', parents..

2022-05-18 00:27:33 7976 11

原创 argparse解析器

argparse是一个Python模块,用来解析命令行参数,主要有三个步骤:1、创建 ArgumentParser() 对象2、调用 add_argument() 方法添加参数3、使用 parse_args() 解析添加的参数一、创建解析器代码示例:parser = argparse.ArgumentParser('DETR training and evaluation script', parents=[get_args_parser()])def get_args_parse

2022-05-12 22:39:35 2386

原创 求10000阶乘的结果后面有多少个0详解

一、首先,以1000的阶乘为例子,想得到0,有4种情况:(1)为10的倍数,(2)个位数上n * 5能得到1个0 ,(3)个位十位数上n * 25能得到2个0,(4)个十百位数上n * 125 能得到3个0。(5) n * 625能得到4个0。其次,当为10时,也可以分开为2 * 5,100也可以分为4 * 25,300也可以分为2 * 125,所以我们主要分为5,5 * 5=25,5 * 5 * 5=125, 5 * 5 * 5 * 5=625四种情况,如何判断有几种情况喃,就看n!中最多大5

2022-02-27 17:42:33 1544 1

原创 C++中的explicit关键字使用

C++中的关键字explicit主要是用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换。类构造函数默认情况下声明为隐式的即implicit。注意:explicit关键字只能用于类内部的构造函数声明上,而不能用在类外部的函数定义(函数实现)上,它的作用是不能进行隐式转换;explicit关键字作用于单个参数的构造函数,如果构造函数有多个参数,但是从第二个参数开始,如果各参数均有默认赋值,也可以应用explicit关键字。实例代码.cpp:#i.

2021-12-20 21:35:49 232

原创 c++中一个冒号“:”的使用

c++中一个冒号“:”的使用

2021-12-20 21:32:09 4818

原创 C++ resize()函数使用

resize(int n,element),c++中序列式容器的一个共性函数,作用是改变vector中元素的数目。调整容器后的大小为n,扩容后的每个元素的值为element,默认为0。

2021-12-20 21:25:52 5569

原创 c++中的c_str()使用

​c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同.这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。注意:一定要使用strcpy()函数 等来操作方法c_str()​

2021-12-20 21:17:16 2941

原创 C++ snprintf的使用

C++ snprintf的使用int snprintf(char*str, size_t size,constchar*format, ...);设将可变参数(...),按照 format的格式 格式化成字符串,复制到 str 中,size 是要写入的字符的最大数目,超过 size 会被截断。size是限定最终生成的strt的字符数,而不是(...)的字符数,需要注意。

2021-12-20 21:07:21 4541

原创 c++ 关键字auto使用

转自https://blog.csdn.net/qq_31930499/article/details/79948906auto可以在声明变量的时候根据变量初始值的类型自动为此变量选择匹配的类型,例如: int a = 10; auto au_a = a;//自动类型推断,au_a为int类型 cout << typeid(au_a).name() << endl;typeid运算符可以输出变量的类型。程序的运行结果输出了int注..

2021-11-05 22:17:40 400

原创 C++ map与unordered_map使用和区别

转至:https://blog.csdn.net/BillCYJ/article/details/78985895https://www.cnblogs.com/langyao/p/8823092.html需要引入的头文件不同map: #include < map >unordered_map: #include < unordered_map >内部实现机理不同map: map内部实现了一个红黑树(红黑树是非严格平衡二叉搜索树,而AVL是严格平衡二叉搜索.

2021-11-05 21:57:18 152

原创 C++中‘ ‘单引号和“ “双引号的区别

#在C++中单引号表示字符,双引号表示字符串。例如 :在定义一个数组的时候string s[5]={“abc”,“def”,“ghu”,“jkl”,“iop”};定义的是一个字符串数组,这是字符串元素要用双引号。双引号是字符串型变量值,代表一个字符串。给字符串赋值时,系统会自动给字符串变量后边加上一个 “\0” 表示字符串结尾。而变量名字代表的是该字符串的起始指针。char b[5]={‘a’,‘b’,‘c’,‘d’,‘e’};定义的是一个字符数组,元素要用单引号。单引号是字符型变量值,代表 A.

2021-11-04 21:03:08 5524 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除