- 博客(42)
- 资源 (1)
- 收藏
- 关注
原创 设计模式-迭代器模式
在软件构建过程中,集合对象内部结构常常变化各异。但对于这些集合对象,我们希望在不暴露器内部结构的同时,可以让外部客户代码透明的访问其中包含元素,同时这种透明遍历也为哦那个一种算法在多种集合对象行进行操作提供了可能。提示:以下是本篇文章正文内容,下面案例可供参考提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
2023-12-24 18:46:36 408
原创 设计模式-组合模式
软件在某些情况下客户代码过多依赖对象容器复杂的内部实现结构,对象容器内部实现结构的变化将引起客户代码的频繁变化。需要将客户代码和复杂的对象容器结构解耦,让对象容器自己来实现自身复杂的结构。提示:以下是本篇文章正文内容,下面案例可供参考将对象组合成树形结构以表示部分-整体的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性(稳定)。
2023-12-24 18:14:58 406
原创 设计模式-状态模式
在组件构建过程中,某些对象的状态经常面临变化,如何对这些对象的变化进行有效的管理,同时又维持高层模块的稳定,需要使用状态模式State模式将所有与一个特定状态相关的行为都放入一个state子类对象中,再对象切换的过程时,切换相应的对象;但同时维持State的接口,这样实现了具体操作和状态转换之间的解耦;如果State对象没有实例变量,那么各个上下文可以公用一个state对象来节省开销;
2023-12-10 19:57:12 318
原创 设计模式-代理模式
在面向对象系统中,由于有些对象的某种原因(对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用方或者系统带来许多麻烦。提示:以下是本篇文章正文内容,下面案例可供参考为其他对象提供一种代理以控制(隔离,使用接口)对这个对象的访问增加一层间接层是软件系统中许多复杂问题的一种常见解决方法,在面向对象系统中,直接使用类对象带来很多问题,作为间接层proxy对象便是解决这个问题的常用手段。
2023-12-10 16:22:02 418
原创 设计模式-门面模式(Facade)
在组件构建过程中,某些接口之间直接依赖会带来很多问题,甚至无法直接实现。采用一层间接接口,来隔离本来互相紧密关联的接口。典型模式1) Facade2) Proxy为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,接口使得这个子系统更加容易使用。
2023-12-10 15:48:10 228
原创 设计模式-单件模式
面向对象很好的解决了抽象问题,但必不可少的要付出一定的代价。在软件系统中,经常有一些特殊的类,必须保证他们在系统中质询才一个实例,才能保证他们逻辑的正确性以及良好的效率。提示:以下是本篇文章正文内容,下面案例可供参考。
2023-12-03 19:34:23 43
原创 设计模式-构建器
软件系统中,有时候面临着一个复杂对象的创建工作,其通常由各个部分的子对象用一定算法构成。这个对象的各个部分面临着剧烈的变化,但是将他们组合在一起的算法却相对稳定。有点类似模板方法模式,整个构建的流程是稳定,但是构建的每一步是不一样的。提示:以下是本篇文章正文内容,下面案例可供参考。
2023-12-03 16:40:20 42
原创 设计模式-原型模式
软件系统中,经常面临着某些结构复杂的对象的创建工作,由于需求变化,这些对象经常会非常剧烈的变化,但是他们却拥有比较稳定一致的接口。此时,工厂模式已经不适用了,因为Pipeline也会变化,因为工厂基类的虚接口也会变化,甚至很难提取出来工厂基类。提示:以下是本篇文章正文内容,下面案例可供参考。
2023-12-03 16:01:05 55
原创 PointPainting
问题:多模态数据提供了互补信息,一般来说要比单模态好。然而,令人惊讶的是,Lidar-only的方法在一些主要的benchmark上甚至超与了多模态融合的方法。这个是不是意味者lidar在3D目标的感知上已经冗余了视觉呢?作者对比了图像和点云之间的信息差异,还是很明显的看出来,图像要比激光给出了更多的语义信息。作者就怀疑,是不是之前的融合方式存在问题。将点云投影到BEV下和图像进行融合,代表作MV3D、AVOD。点云转BEV的方法点云转BEV之后,仍然与前视的视角存在差异,可能会存在融合问题。
2023-09-02 16:12:09 129
原创 <论文阅读> M2BEV Multi-Camera Joint 3D Detection and Segmentation with Unified Bird’s-Eye View Represen
0. 为什么要读这篇论文首先,作者本人并不是这个领域的科研工作者,只能说是自动驾驶领域的一个工程师,我更希望我做的每一件事情,读的每一篇文章都在帮我解决一个问题或者一个疑惑。那么,谈一下为什么要读这篇文章,自动驾驶视觉感知领域算法开发这个领域可谓是日新月异,越来越多的事物可以被感知到,更多的摄像头参与到了感知算法中,从一开始的1V(前视)到5V,再到8V,从1M像素到2M再到现在8M的摄像头,甚至还有双目和RGBD的参与。全方位的视觉感知,直接就加重了自动驾驶硬件的负担,不说AI算力的问题,单单读取这些
2022-04-18 11:13:18 4934 3
原创 octovis加载八叉树地图出现段错误
《视觉SLAM十四讲》ch12 八叉树地图八叉树地图生成都没有什么问题,结果octovis加载地图出现问题,怀疑是Qt的问题,依赖包可能安装有问题。系统是ubuntu20.04确认了安装,没有问题,这就很奇怪,是不是要换一个版本的Qt,这个依赖在安装之前没有检查版本么?参考了一下这位作者的建议16.04 Octovis问题解决,但发现在20.04里面,已经没有文中的两个依赖库了。16.04的同学可以继续参考这位大佬的建议。还是觉得应该是qt5和qt4之间区别的问题,准备安装个qt4的依赖试一下
2022-03-31 11:39:04 3346 1
原创 《视觉SLAM十四讲》 CH12 SegmentationFault
问题dense_mapping.cpp中出现了以下问题,在极线搜索函数中,计算参考帧的P 向量出现了疑似溢出的问题,怀疑是哪里维度不对神奇的是我发现在debug模式下,不是每次都会出现问题,思来想去,可能和代码优化有关,把CMakeLists.txt的优化项从3改成0,这样就不会有优化了,看起来应该是跑通了。结果如下:...
2022-03-30 16:58:04 1083 5
原创 ERFNet网络的演化
**1. Resnet网络3. ERFNet整体网络参考链接:https://www.cnblogs.com/xiangs/p/12939622.html
2021-12-10 13:22:18 3506
原创 深度图像识别系列笔记-13.WIDER FACE数据集
1.数据源下载地址:http://mmlab.ie.cuhk.edu.hk/projects/WIDERFace/莫名跳到另一个地址了,也没啥问题SSD模型数据格式封装1) VOC数据集格式-Caffe架构2) LMDB格式数据、TFRecorder数据格式2. CaffeSSD数据构造流程生成VOC格式数据集(图片+XML标注信息文件)修改CAFFE SSD数据打包脚本相关路径配置运行CAFFE SSD数据 打包脚本 ...
2021-07-26 22:34:04 374
原创 深度图像识别系列笔记-12.人脸识别业务场景
1. 人脸检测问题姿态和表情的变化不同人的外观差异光照、遮挡的影响不同视角不同大小、位置2. 人脸标注方法矩形框的标注方法:该标注方法很难给出一个恰到好处的矩形框椭圆标注:人脸天然呈现椭圆形,采用椭圆形来标注能够对侧脸和转动后的面部进行描述3. 评价指标检测率:检测出人脸的概率,每一个标记只允许有一个检测与之相对应误报率:错误检测的概率,重复检测被视为错误检测ROC曲线和PR曲线如何判断检测框是否正确?通过IOU比率 S(di,dj)=area(di)⋂area(l
2021-07-26 19:54:16 266
原创 深度图像识别系列笔记-11. SSD算法优化及拓展
DSSDSSD算法对于小目标不够鲁邦,主要原因是浅层feature map的表征能力不够强。DSSD增加了上下文信息,且用了更好的基础主干网络(ResNet)和 Deconvolution层,skip链接来给浅层feature map更好表征能力DSODDSOD可以从0开始训练,不需要预训练模型,而且效果可以和fine-tune的模型媲美SDD+ DenseNet = DSOD核心思想在于从零开始训练一个目标检测网络- 设计原则1) 基于候选区域提取的方法无法从零开始训练、不收敛
2021-07-26 14:49:49 441
原创 深度图像识别系列笔记-10. Prior Box Layer
1. Prior Box layerm*n个cell每个cell上生成固定scale和aspect ratio的box1) 假设一个feature map有m*n个cell, 每个cell对应k个default box, 每个default box预测c个类别的score和4个offset(坐标)(c+4) km*n个输出2. 参数定义Scale: Sk=Smin+Smax−Sminm−1∗(k−1),k∈[1,m] S_k = S_{min}+ \frac{S_{max} - S
2021-07-25 22:11:27 154
原创 深度图像识别系列笔记-9.SSD系列算法原理介绍
1. SSD原理介绍Single Shot Multibox Detector( one-stage)1)weili 在ECCV2016提出2)直接回归目标类别和位置3)不同尺度的特征图上进行预测4)端到端的训练5)图像分辨率比较低,也能保障训练精度主干网络: VGG Net多尺度Feature Map预测Default bounding boxes的类别分数、偏移量2. 主干网络介绍VGG、ResNet、MobileNets等各种卷积神经网络,作为SDD网络输入将VGG最后
2021-07-25 21:23:21 601 1
原创 深度图像识别系列笔记-7.One-stage基本流程
1. 基本介绍使用CNN卷积特征直接回归物体的类别概率和位置坐标值准确度低、速度相对two-stage快2. One-Stage基本流程#mermaid-svg-QHXgrgHpKPfTiK5a .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-QHXgrgHpKPfTiK5a .label text
2021-07-24 16:28:28 598 1
原创 深度图像识别系列笔记-5.基于TwoStage的目标检测算法
1. Two-Stage基本介绍CNN卷积特征2014年R.G提出的R-CNN到 faster RCNN端到端的目标检测(RPN网络)准确度高,速度相对one stage慢2. Two-stage基本流程3.常见算法RCNN 2014Fast RCNNFaster RCNNFaster RCNN变种...
2021-07-18 21:37:53 118 1
原创 深度图像识别系列笔记-4.常见传统目标检测算法
1. Viola-Jones(人脸检测)Haar特征提取(差分方法)Adaboost算法训练人脸分类器滑动窗口进行检测(大小和步长影响识别速度)2. HOG+SVM(行人检测,OpenCV实现)提取HOG特征(纹理特征)1) 灰度话 Gamma换换2)计算梯度Map3)图像划分成小的cell,同级每个cell梯度直方图4)多个cell组成一个block,特征归一化5) 多个block串联,并训练SVM分类器利用滑动窗口提取目标区域,进行分类判断NMS输出检测结果
2021-07-18 15:10:31 548 1
原创 深度图像识别系列笔记-3.传统目标检测算法综述
1.传统目标检测算法的基本流程2. 特征提取方法2.1 基于底层特征基于颜色的方法基于文理的方法基于形状的方法基于语意的方法2.2 基于中层特征通过机器学习或特征挖掘之后提取出来的特征PCA特征LDA学习后的特征2.3 基于高层次的特征进一步抽象成语意特征,例如什么样的眼睛,什么风格的帽子3. 分类器对候选区域提取出来的特征进行分类对于单分类问题,只需要区分当前窗口中目标和背景对于多分类问题,首先需要区分当前窗口中是否是背景,如果不是背景,需要对目标再进行分类
2021-07-18 11:21:04 864 1
原创 深度图像识别系列笔记-2.目标检测方法
目标检测方法历史演变传统目标检测方法流程传统检测比较代表性的方法:Viola-Jones : 人脸检测HOG+SVM :行人检测DPM : 基于HOG特征,增加额外策略增加检测精度,目前非深度学习中最优检测算法深度学习目标检测方法One-Stage(YOLO和SSD)Two-Stage (Faster RCNN 系列)...
2021-07-11 22:21:49 429
原创 深度图像识别系列笔记-1.目标检测问题定义
1. 目标检测定义目标检测就是在图片中对可变数量的目标进行查找和分类-目标种类于数量问题-目标尺度问题尺度变化越大,目标检测难度越大-外在环境干扰问题光照变化、遮挡、图像质量一般使用的网络会是一个多任务的网络,会给出目标的位置和分类2. 目标检测VS目标分割目标检测:需要给出目标的分类和位置目标分割:需要找到当前目标所占的区域Sematic segmentation: 语义分割Instance segmentation:实例分割...
2021-07-11 21:28:54 273
原创 遗传算法总章
1. 学习遗传算法背景在解决问题和学习知识方面,用5W方法论能很好的帮你梳理相关逻辑。之前学习某个算法,其实就是看到某个论文或者某个帖子说解决某个问题可以用这个算法,所以如获珍宝,赶紧下载相关资料和论文去研究,甚至更简单点可能就直接copy一下代码,然后修改一下就用了。很少去探究为什么要用,算法本质是什么,算法内的核心算子和原理也说不清,别人问起来说都用过,详细去说的时候就搞不清楚,这大概就是俗称的”调包侠”吧。前段时间面试了一些同学,发现十之八九也是这种状态,和同事感叹良多,决心先改变自己。这段时间正好
2021-07-11 15:51:11 131
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人