自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 操作系统学习第四天

1.银行家算法。为了避免死锁,系统在进行资源分配之前,应先计算此次分配资源的安全性,若分配不会导致系统进入不安全状态,则分配,否则等待。2.死锁检测。死锁恢复。3.IPC:进程间通信。直接通信和间接通信(有一个中转站)。操作原语:send和receive。阻塞和非阻塞。4。通信链路缓冲,队列的消息被附加到链路:0容量,有限和无限容量。5.信号。软件中断通知时间处理。注册handlers;dispatchto handlers。6.管道。% ls | more。ls把内容输出到管道的...

2020-10-30 17:52:13 135

原创 操作系统学习第三天

1.原子操作。2.critical section(临界区),互斥,死锁和饥饿。忙等待。lock.Acquire()和lock.Release()。3.临界区特点。互斥,前进,等待时间有限。4.基于硬件中断。进入临界区:禁用中断,离开临界区:开启中断。5.给予软件的解决方法:使用两个共享数据项。6.TestAndSet和Exchange操作是不可以被中断的。结合lock.Acquire()和lock.Release()可以实现多个进程对临界区的访问。可以从忙等待到无忙等待。7.给..

2020-10-29 21:45:37 138

原创 操作系统学习第二天

1.最近最久未使用算法(LRU):是对最优页面置换算法的一个近似。可以用链表实现,链首页面是最近访问的;或者使用栈。2.时钟页面置换算法:是对LRU的近似,对FIFO的一种改进。操作系统会定期对页面项中的访问位置0。因此若某页面访问位0,说明它比较久没被访问,可以被置换出去。3.二次机会法。dirty bit,最近被写操作,置为1。同时使用脏位和使用位来指导置换。二次的含义是:如果两个位同时为1,那么它有两次机会让指针经过他,让他有更多的机会留在内存中。4.最不常用算法。选择访问次数最少的那个.

2020-10-28 18:58:06 157

原创 操作系统学习第一天

1.什么是操作系统?对用户是一个控制软件,对下来说是资源管理。层次是在硬件之上,应用程序之下。操作系统分为两部分,shell和kernel,其中windows,linux的界面属于shell。kernel在shell之下。2.并发和并行的区别。前者是一段时间,后者是一个时间点。3.共享。同时访问,互斥共享。4.虚拟,多道程序设计。5.异步。6.如何学习操作系统。最好动手。最基本的要求是听课看书写作业。7.操作系统的启动。POST(加电自检),寻找显卡和执行BIOS,BIOS把boot

2020-10-27 21:43:41 105

原创 C++ primer阅读之特殊工具与技术

第十九章特殊工具与技术1.使用new时,本质上执行了三步操作。第一步是调用了operator new或operator new[]标准库函数分配内存。这部分可以自己定义。2.malloc和free函数。注意和new与delete的区别。3.dynamic_cast运算符。将基类指针或引用安全转换为派生类的指针引用。可以不包含虚函数。4.typeid运算符。5.使用RTTI:如何去判断连个对象相等(类型相同,成员取值相同)。解决方法:typeid先判断两个运算对象类型是否一致,然后再调..

2020-10-21 17:49:37 79

原创 C++ primer阅读之用于大型程序的工具

第十八章用于大型程序的工具1. throw类似return,后面的语句不再执行。2.如果一个异常没有被捕获,将终止当前程序。3.析构函数不该抛出它不能处理的异常。4.异常对象。抛出指针的对象必须存在,没有销毁。5.匹配的catch语句是最靠前的第一个匹配的,它不一定是最优的。6.catch语句中可以重新抛出异常对象,throw。7.catch(...)可以捕获所有类型异常。8.处理构造函数初始值异常的唯一方法是讲构造函数写成函数try语句块。9.noexcept异常说明.

2020-10-20 21:42:50 168 1

原创 C++ primer阅读之标准库特殊设施

第十七章 标准库特殊设施1.tuple可以看作一个快速而随意的数据结构。tuple的构造函数是explicit的,必须直接初始化。还可以make_tuple。2.访问tuple的成员,get(),如果不知道tuple准确的类型细节,可以用tuple_size和tuple_element来辅助。3.两个tuple只有具有相同数量成员才可以比较。4.bitset使得位运算使用更加容易,可以处理超过最长整形类型大小的位集合。5.regex_search只要找到一个匹配子串就会停止查找。6.

2020-10-20 19:39:31 65 1

原创 2020-10-19

第十六章 模板和泛型编程1.和面向对象编程一样,泛型编程也可以处理编写程序时不知道类型的情况。前者可以处理运行前未知的情况,后者在编译时可知。2.模板:template <typename T>,模板参数列表不可为空。类型参数T前面必须有calss或者typename.3.模板参数列表里可以有非类型模板参数,它的实参必须是常量表达式。4.模板程序应该尽量减少对实参类型的要求。5.模板的头文件通常既包括声明也包括定义。模板直到实例化的时候才能生成代码。6.在类外定义类模板的

2020-10-20 00:33:29 131

原创 C++ primer阅读之面向对象程序设计

1.三个基本概念:数据抽象,继承和动态绑定。2.使用基类地引用或指针调用一个虚函数时将发生动态绑定。3.基类通常定义一个虚析构函数,即使不执行任何操作。4.基类希望它的派生类有权访问,但是禁止其他用户访问,protected成员。5.C++新标准允许派生类显式地注明它使用某个成员函数覆盖了它继承的虚函数。override。6.派生类到基类的隐式转换。7.首先初始化基类的部分,然后按声明的顺序依次初始化派生类的成员。最好用基类的构造函数来初始化从基类继承来的成员。8.基类的静态成员

2020-10-18 20:09:08 94

原创 C++ primer阅读之重载运算与类型转换

第14章重载运算与类型转换1. 当一个重载的运算符时成员函数时,this绑定到左侧运算对象,成员运算符函数显式地参数量比运算对象地数量少一个。2.我们把运算符定义为成员函数时,它地左侧运算对象必须是所属类地对象。3.具有对称性的运算符,一般定义为普通的非成员函数。比如算术和关系运算符。4.输入输出运算符必须是非成员函数。5.类如果同时定义了算术运算符和相关的复合赋值运算符,则应用复合赋值来实现算数运算符。6.赋值运算符必须是成员函数。7.下标运算符必须是成员函数,同时需要定义常.

2020-10-18 18:01:39 72

原创 C++ primer阅读之拷贝控制

第十三章 拷贝控制1. 拷贝构造函数第一个参数必须是自身类类型的引用。否则不会成功。2.注意直接初始化和拷贝初始化的区别。3.赋值运算符,以=为例:Foo& operator=(const Foo&);通常返回一个指向其左侧运算对象的引用。4.拷贝构造和拷贝赋值区别:前者产生新对象,后者是在已有对象上赋值。5.析构函数释放对象使用的资源,并销毁对象的非static数据成员。无返回值和参数。不可被重载。6.需要析构函数的类也需要拷贝和赋值操作。合成析构函数不会delet

2020-10-18 11:44:25 73

原创 C++ primer阅读之关联容器和动态内存

第11章1. 对map,关键字是const,不可改变。set里的关键字也是不可改变的。2.map的insert操作:返回值是一个pair,first成员是一个迭代器,指向元素,second是插入成功与否。3.erase参数可以是迭代器或者key。4.对map使用下标,注意和数组使用下标的区别。5.访问元素:find,count,lower_bound和upper_bound。可以组合lower_bound和upper_bound来获得一个范围。二者组合的功能和equal_range一样。

2020-10-17 12:24:43 96

原创 C++ primer阅读之泛型算法

第十章泛型算法1.泛型算法可用于不同类型的元素和多种容器类型。2.大多数算法定义在<algorithm>,标准库还在<numeric>中定义了一组。3.迭代器算法不依赖容器,但以来元素类型的操作。4.关键概念:算法永远不会执行容器的操作,它永远不会改变底层容器的大小。5.只读算法:find, accumulate.迭代器一般用cbegin和cend. equal算法,假设第二个容器的元素至少和第一个一样多。6.写容器的算法:向目的位置迭代器写入数据的算法假..

2020-10-16 20:49:19 137

原创 C++ primer阅读之IO库和顺序容器

第八章 IO库1.IO类:ifstream和istringstream都继承自istream。普通流,文件流和string流。2.IO对象不可拷贝或赋值。只能通过引用的方式来使用,且不能加const,因为读写会改变其状态。3.刷新和写操作是两个过程,一般系统讲多个输出组合成单一的写操作。操作符endl,flush和ends可以实现刷新缓冲区,但各有不同。unitbuf和nonunitbuf了解。4.当一个fstream对象被销毁时,close会被自动调用。5. out模式打开文件会丢..

2020-10-16 13:37:18 84

原创 C++ primer阅读之语句

第四章表达式1.强制类型转换。int i,j; double s = static_cast<double>(j)/i;可以避免编译器警告。const_cast才能改变表达式的常量属性,但是执行写操作结果未定义。尽量避免强制类型转换。第五章语句1. 跳转语句:break, continue, break.2.throw,抛出异常。3.try{} catch(){}; catch负责处理代码抛出的异常。...

2020-10-14 21:42:28 102

原创 C++ primer阅读之变量与指针

第二章 变量和基本类型1. 显式访问全局变量,用操作符::2. 引用和指针是复合类型。3. 引用必须初始化;一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象;引用必须在创建时被初始化。指针可以在任何时间被初始化。引用不是对象,所以不能定义引用的引用。4. void*,任意类型的指针。只保存指向变量的地址,并不知道地址长度,因为不知道变量类型。因此也不能解引用。5. 理解复合类型的声明。变量的定义包括一个基本数据类型和一组声明符,int *p = &

2020-10-14 10:17:03 94

原创 paper reading

CVPR 2020Implicit Functions in Feature Space for 3D Shape Reconstruction and CompletionThe Virtual Tailor: Predicting Clothing in 3D as a Function of Human Pose, Shape and Garment Style

2020-03-15 23:39:19 171

原创 coding小技巧记录

# 创建空间正方体,返回坐标coords = np.mgrid[:resX, :resY, :resZ]# 快速对3D点云进行旋转平移操作pts = torch.baddbmm(trans, rot, points) # [B, 3, N]

2020-01-28 00:05:58 184

原创 2020新年的碎碎念

今天是2020年的大年初二。在全国肺炎的恐怖气息笼罩下,大家都被困在家里。昨天接到学校那边的通知,不准提前去学校,我看着之前取出来的大年初六的票非常无奈。在寒冷的南方,每天被冻得伸不开手,和实验室的远程连接也断了,让我没法进行之前的实验。这一切让我觉得自己像个废物。 我知道自己现在在一个比较焦虑的阶段。ECCV大概率是赶不上了,还有40天, 我连baseline都还没搞定,又赶上现在这个...

2020-01-26 22:39:00 253 1

原创 Keep it SMPL: Automatic Estimation of 3D Human Pose and Shape from a Single Image

ECCV16输入单张图, 先用2d pose estimator估计出2d keypoints, 再估计出SMPL的参数和, 从而得到mesh。训练时,得到的mesh重投影回2d平面, 最小化投影关节点与对应的2d estimator估计的坐标之差。此外加了一些先验约束:...

2019-08-12 22:05:14 1507 1

原创 Learning to Estimate 3D Human Pose and Shape from a Single Color Image

CVPR2018任务:从单张图估计人的3D形状(3d shape)。方法:先估计出heatmap和Silhouette, 再分别估计出代表shape和pose的参数和。输入到SMPL模型中, 得到3D shape。需要注意, 估计和的这一步是可以离线训练的, 也就是认为选择和, 得到3D shape, 将其投影到各个方向, 得到heatmap和silhouette, 这样输入...

2019-08-06 19:08:29 487

转载 pip 使用镜像下载第三方包

pip 使用镜像下载第三方包 pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名 例如: pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas 转自:https://www.cnblogs.com/cxhzy/p/...

2019-07-29 15:52:47 178

原创 Semantic Graph Convolutional Networks for 3D Human Pose Regression

CVPR19从2d坐标估计3d坐标, 这个参照17年ICCV A simple yet effective baseline for 3d human poseestimation, 它证明了在2d坐标足够精确的情况下, 是可以估计出较为精确的3d坐标的。本文结合了GCN, 加上Non-local layer。Method 2D Detections # of Epo...

2019-07-22 23:57:32 1212

原创 PoseFix: Model-agnostic General Human Pose Refinement Network

CVPR19这篇文章本质上应该是做了一个data augmentation的工作……前面有人做了统计各种pose estimation会产生的错误, 比如missing, jitte, swap等, 得到各种错误的概率分布, 那么其实很自然的想法是人工生成这些错误的姿势, 再refine网络, 这样的数据增强肯定是有用的。训练时, 输入是图像和生成的相对应的pose, 这个pos...

2019-07-18 11:21:37 390

原创 Receptive Field Block Net for Accurate and FastObject Detection

这篇文章主要是模拟人类视觉感受野的一些性质, 设计RFB结构加入SSD, 提升了速度与精度。上图是人类群体感受野的size和eccentricity(离心率,这里我理解为离心半径)的关系。 可以看到离中心越远, 感受野大小越大,=右图是一个形象的图示。因此自然地, 我们想要设计一个特征提取模块, 模拟人类感受野的这种性质。作者基于Inception设计了RFB(Receptive F...

2019-07-17 10:34:17 278

原创 Structure Inference Net: Object Detection Using Scene-Level Context and Instance-Level Relationships

CVPR18这篇文章讨论在检测人物中context的利用, 忽略context的信息是不妥的, 检测问题应该是congnitive问题和reasoning问题的结合。文章提出的方法是在检测框架中嵌入一个Graph模块,其中各个目标物体被视作node, 之间的关系是edge。通过graph来不断refine目标的状态信息。这里的baseline是faster rcnn,可以看到RPN生...

2019-07-16 21:52:14 208

原创 Parallel Feature Pyramid Network for ObjectDetection

ECCV18现在主流的一些检测方法通常使用一个网络来 生成通道数递增的特征,如SSD, 但是这样不同层语义信息差距较大, 会限制检测精度, 尤其是对小目标检测。 作者认为相较于提升深度, 提升网络的宽度更有效。首先使用SPP(spatial pyramid pooling) 来生成不同分辨率的特征, 这些特征是并行生成的,可以认为这些不同尺寸的特征之间有相似的语义信息。 然后我们resiz...

2019-07-16 11:16:04 269

原创 Scale-Transferrable Object Detection

ECCV18还是做检测中尺度变化问题。(a)是faster rcnn的做法;(b)是FPN的做法, 这个结构要小心设计, 同时计算成本上升,影响速度;(c)是SSD的做法, 底层没有利用到高层的语义信息, 对小物体检测能力有限;(d)是本文方法, 左边是DenseNet生成的一系列特征图, DenseNet每一层生成的特征分辨率相同, 利用池化层处理得到小分辨率图, 同时具...

2019-07-14 16:04:49 151

原创 Adaptive NMS: Refining Pedestrian Detection in a Crowd

这两年不少人在做NMS的优化工作。NMS是检测的后处理工作,在RCNN系列算法中,会从一张图片中找出很多个候选框(可能包含物体的矩形边框),NMS就是去除冗余矩形框的过程。具体流程如下:对于Bounding Box的列表B及其对应的置信度S,采用下面的计算方式.选择具有最大score的检测框M,将其从B集合中移除并加入到最终的检测结果D中.通常将B中剩余检测框中与M的IoU大于阈值Nt的框从B...

2019-07-14 15:12:39 1465 4

原创 Distilling & Exploring

Distilling Object Detectors with Fine-grained Feature ImitationExploring the Bounds of the Utility of Context for Object Detection两篇CVPR19文章。 没细看, 主要是关注一下他们做的方向和提出的一些结论。第一篇是Knowledge distillatio...

2019-07-14 11:24:43 149

原创 Libra R-CNN: Towards Balanced Learning for Object Detection

CVPR19, 关注目标检测训练过程的优化, 而不是网络框架的改进。我觉得这是一个方向……作者认为, 现在的检测训练中有三处不平衡:采样不平衡、 特征不平衡和目标函数不平衡:1. 采样不平衡:存在的问题和前面讲的focal loss文章解决的问题一样: easy negtive example太多, 在梯度计算中占主导位置, hard negtive example得不到良好训练。解决...

2019-07-14 10:24:43 216

原创 Assisted Excitation of Activations: A Learning Technique to Improve Object Detect

CVPR2019很简单的一篇文章,不是在网络结构设计或者loss上做改进, 而是提出一种简单的学习策略。它基于curriculum learning的思想:如果我们先学习简单的任务, 再学习复杂的任务, 我们会取得更好的效果。以YOLO为例:在YOLO的网络中加入这样的辅助激发层(AE)。 它根据ground truth的位置, 在原有特征图上激发对应位置(实质也是attenti...

2019-07-12 21:05:36 690 2

原创 Object detection with location-aware deformable convolution and backward attention filtering

CVPR19动机:对multi-scale目标检测来说, context information和high-resolution的特征是很重要的。但是context information一般是不规则分布的,高分辨率特征也往往包含一些干扰的low-level信息。 为了解决这两个问题, 文章提出两个模块: location-aware deformable convolution 和 back...

2019-07-12 15:07:41 673

原创 Single-Shot Refinement Neural Network for Object Detection

CVPV18 RefineDet这篇文章和focal loss那篇目的是一样的,试图在维持one-stage 方法速度的同时, 提升精度, 赶上甚至超过two-stage。还是分析造成one-stage和two-stage精度差距的原因。 换句话说, two-stage相较于前者的机制上有哪些优点?(1) two-stage RPN结构对class imbalance问题解决的不错, ...

2019-07-12 10:43:46 149

原创 Focal Loss for Dense Object Detection

ICCV17.我们知道, 截至17年, 目标检测的方法主要分为两大阵营:two-stage 和one-stage, 前者的代表有RCNN家族, 后者的代表有YOLO和SSD。two-stage的精度在各大数据集上垄断, 而one-stage在精度降低的基础上, 大大提升了速度。那么one-stage方法有没有可能在保持高效率的同时达到和two-stage相匹敌的精度呢?是什么原因导致目前的...

2019-07-12 09:06:22 66

原创 Feature Pyramid Networks for Object Detection

FPN, CVPR17。核心创新点是feature pyramid。传统方法应对尺度变化, 做image pyramid,这样很费时。 其实图像金字塔的作用可以用CNN前向过程中产生分辨率逐渐降低的feature pyramid来代替。这样的想法很自然, 利用feature pyramid可以共享计算, 这样增加的计算量是很小的。 前面也有人尝试这么做,见下图:(b)是一般检测模型...

2019-07-11 17:30:01 105

原创 SSD: Single Shot MultiBox Detector

ECCV2016, 紧接着CVPR16的YOLOv1出的, 在速度不低于YOLOv1的基础上, 精度提升了很多。主要的改进点:1. 多尺度检测, 这点其实在后面FPN等网络种都验证了, 多尺度的feature map检测对精度提升很关键。低分辨率的feature map检测大物体, 高分辨率的检测小物体。SSD300共用了6个feature map。2. 引入RPN的anch...

2019-07-11 16:15:52 78

原创 YOLOv3

arxiv18,文章写的很随性, 算是作者的记录性的文章吧。没有太多大的创新,主要是从别的文章里借鉴了几个好的点, 加进去,使YOLOv2的精度进一步提升, 速度下降了一些, 但还可以。YOLOv2的小物体检测问题这里也改善了不少。几个改进:1. Darknet-53 取代Darknet-19, 更深,采用残差网络思想。2. 多尺度检测, 其实YOLOv2采用了passthrough...

2019-07-11 14:19:35 93

原创 YOLOv2

CVPR17, 也叫YOLO9000本文实在YOLOv1的基础上改进,达到了'Better, Faster & Stronger'的效果。1. BetterYOLOv1 存在两个问题:a. 很多localization errors.b. low recall.怎么改进呢? 直观的想法是让网络更深, 但是这会让运行速度变慢, 不合适。因此在维持原有网络大小的情况下,...

2019-07-11 11:29:20 209

原创 YOLOv1

简单回顾一下detection方面的经典文章,希望能形成一个系统的知识树。自己也不做detection,只是希望能有所借鉴吧。YOLOv1是CVPR16的文章,在此之间以faster rcnn为代表的two-stages检测方法在精度上已经做的不错的,但是以proposal为思想的这些方法,速度上是达不到实时应用程度的。本文提出一种新的架构, 将检测问题看作统一的一个回归问题, 直接从整个图像...

2019-07-11 09:52:14 126

空空如也

空空如也

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

TA关注的人

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