笔记
文章平均质量分 77
snoopy_21
这个作者很懒,什么都没留下…
展开
-
einops可视化理解
最近在看vit_pytorch代码,看到里面有很多地方用到einops来对tensor操作,本实验结合这篇博客内容和自己一些尝试。代码colab链接import einopsimport matplotlib.pyplot as pltimport numpy as np读取一个文件夹下图片生成一个batchfrom PIL import Imageimport osimages = [np.array(Image.open('./images/'+file_name).resiz.原创 2021-05-16 11:53:18 · 548 阅读 · 0 评论 -
【代码解读】Transformer: attention-is-all-you-need-pytorch
学习transformer时对GitHub上项目:attention-is-all-you-need-pytorch进行了部分中文注释,主要集中在以下几个文件。注释后完整代码:attention-is-all-you-need-pytorch,结合这篇文章一起理解。Models.py''' Define the Transformer model '''import torchimport torch.nn as nnimport numpy as npfrom transformer.Lay原创 2021-05-12 23:26:17 · 1320 阅读 · 0 评论 -
笔记:ML-LHY-GAN
视频pdf1. introductionBasic Idea of GAN注意上面最后一行是加号算法大致:随机初始化Generator参数。迭代第k次(k1=1k_1 = 1k1=1):从真实图片中采样m笔数据:{x1,x2,…,xm}\left\{x^{1}, x^{2}, \ldots, x^{m}\right\}{x1,x2,…,xm},标签为真从某个分布中随机采样m笔噪音数据:{z1,z2,…,zm}\left\{z^{1}, z^{2}, \ldots, z^{m.原创 2021-02-25 22:34:25 · 214 阅读 · 0 评论 -
笔记:ML-LHY: ELMO, BERT, GPT
Embeddings from Language Model (ELMO),做的是Contextualized Word EmbeddingBidirectional Encoder Representations from Transformers (BERT),其实就是Encoder of Transformer,训练方法,以及应用示例:Sentiment analysis, Document Classification, Slot filling, Natural Language Infere.原创 2021-01-18 00:06:46 · 236 阅读 · 0 评论 -
笔记:ML-LHY: Transformer / Self-attention
Sequence用RNN很难并行训练/推理,计算b4b^4b4时必须先计算b1,b2,b3b^1,b^2,b^3b1,b2,b3。考虑用CNN,虽然可以做到并行训练/推理,但是需要叠很多层,才能包含长序列。而使用Self-Attention,可以取得RNN,并且是可以并行计算。Self-Attention使用Self-Attention Layer,bib^ibi包含了所有输入信息,同时b1,b2,b3,b4b^1, b^2, b^3, b^4b1,b2,b3,b4可以同时计算。Atten原创 2021-01-17 15:21:20 · 203 阅读 · 1 评论 -
笔记:ML-LHY: Recursive Structure
简单介绍RNN更通用的一个递归结构Recursive Structure,在Sentiment Analysis 情感分析上应用。pdf 视频Recurrent Structure and Recursive StructureSentiment Analysis 情感分析上面fff都是同一个Function(hidden layer参数一样),循环网络可以看成是递归网络的特例。Recursive Modelf函数需要设计成这样:即输入2个词需要相乘,但是xTWxx^TWxxTW.原创 2021-01-17 11:17:55 · 184 阅读 · 0 评论 -
笔记:ML-LHY: Attention-based Model / Conditional Generation by RNN & Attention
本节课主要介绍介绍Attention基础,Attention在Memory上2个位置应用:1.Attention on Sensory Information(包括在sequence:Translation,Speech Recognition,Caption Generation,Question Answering和image上示例)2.Attention on Memory(介绍Neural Turing Machine和Stack RNN)pdf 视频AttentionAttent.原创 2021-01-16 12:50:30 · 269 阅读 · 0 评论 -
多视图几何:相机内外参数
世界坐标系(word):Xw,Yw,ZwX_w, Y_w, Z_wXw,Yw,Zw摄像机坐标系(camera):Xc,Yc,ZcX_c, Y_c, Z_cXc,Yc,Zc图像坐标系(image):x,yx, yx,y像素坐标系(pixel):u,vu, vu,v光轴(optical axis):ZcZ_cZc为相机的光轴——通过投影中心并且垂直于像平面的直线主点(principal point):光轴与像平面的交点被称为像主点word to camera设某点在world中的坐.原创 2021-01-12 23:45:49 · 460 阅读 · 0 评论 -
离散余弦变换推导(DCT、IDCT)
待填参考详解离散余弦变换(DCT)原创 2021-01-05 23:13:56 · 1760 阅读 · 1 评论 -
离散傅立叶变换推导(DF、IDFT)
mazonex离散傅立叶变换视频笔记需要先了解傅里叶变换周期为2π2\pi2π的函数的复数形式展开(傅里叶级数)在上一篇文章中part4中提到周期T=2LT=2LT=2L函数的复数形式展开为:f(t)=∑n=−∞∞Cneinωt(1.1)\begin{aligned}f(t) &=\sum_{n=-\infty}^{\infty} C_{n} e^{i n \omega t}\end{aligned}\tag{1.1}f(t)=n=−∞∑∞Cneinωt(1.1)其中,.原创 2021-01-05 22:19:03 · 2061 阅读 · 0 评论 -
傅里叶变换推导(FT、IFT)
part1: 三角函数的正交性三角函数系{0,1,sinx,cosx,sin2x,cos2x,⋯ ,sinnx,cosnx}\{0,1, \sin x, \cos x, \sin 2x, \cos 2 x, \cdots ,\sin nx, \cos nx \}{0,1,sinx,cosx,sin2x,cos2x,⋯,sinnx,cosnx}其中,0=sin0x0=\sin 0x0=sin0x,1=cos0x1=\cos 0x1=cos0x,n=0,1,2⋯n = 0,1,2\cdot原创 2021-01-03 13:49:04 · 4261 阅读 · 0 评论 -
论文笔记:AtlantaNet(ECCV 2020)
本文方法基于Atlanta假设,其只要求墙垂直于地面。布局预测和房间高度估计都是基于天花板和地板的2个透视图。预测布局使用RNN,并且利用一个基于专家知识的自定义训练策略。本文重点是支持复杂布局,墙角很多甚至是曲面墙角。Introduction以往方法:LayoutNet、DulaNet、HorizonNet,需要Manhattan假设进行费时的预处理和后处理。Atlanta假设不需要墙与墙互相垂直。布局预测和房间高度估计都是基于天花板和地板的2个透视图。预测布局使用RNN,并且利用一个基于专家.原创 2020-12-27 00:59:13 · 489 阅读 · 2 评论 -
论文笔记:Revisiting Single Image Depth Estimation: Toward Higher Resolution Maps with ...(WACV2019)
以往方法往往深度预测损失了分辨率或者在边界存在扭曲和模糊问题。本文提出2个改进:1. 不同尺度下提取特征的策略 2. 使用3个损失,分别是深度、梯度、法向量c:当前最好模型,存在物体形状扭曲、小物体缺失、马赛克Introduction早期:比如Eigen提出的,直接cnn预测,分辨率很低目前:上投影(up-projection)上采样方法CRF结合CNN,端到端学习联合多任务学习近期:扩张卷积(dilated convolution)本文模型结构:4个模块:E:encoder和.原创 2020-12-20 23:57:02 · 1993 阅读 · 10 评论 -
论文笔记:Joint 3D Layout and Depth Prediction from a Single Indoor Panorama Image(ECCV 2020)
本文利用布局深度图(layout depth map)将深度估计和布局预测相结合。在2个任务上都取得了进步。Introduction布局预测:利用边、角、2D的透视图(比如天花板视图),或者假设房间布局时矩形,或者假设Manhattan布局。深度估计:利用法线、平面???、语义线索。但是,上面方法只考虑了几何假设,而忽略了布局和深度信息的互补特征。本文利用中间层:layout depth map(只包含墙、天花板、地板),移除了房间内物体,上图c。互补性:对于布局预测,深度信息的使用减少杂.原创 2020-12-16 22:34:18 · 672 阅读 · 1 评论 -
论文笔记:SphereNet(ECCV 2018)
SphereNet是适应全景图的卷积方式(学习框架),他通过扭曲卷积核元素的位置来抵消全景图的扭曲。SphereNet可以将透视图训练得到到的模型迁移在全景图上。 核心思想和EquiConvs类似。改进采样方式,使用球面平均采样避免在全景图上靠近极点的地方过采样。Introduction为什么要提出SphereNet?全景图正常是投影在球面的,此时不会扭曲。当时显示设备是2D,所以要把一个球面图像投影2D平面就需要做等距投影(equirectangular projection),此时这个图像称.原创 2020-12-09 23:29:59 · 1670 阅读 · 4 评论 -
论文笔记:Corners for layout: End-to-end layout recovery from 360 images(CFL EquiConvs)(RAL 2020)
本文方法侧重2点改进:1.以往方法依赖假设,比如房间限制是个box或者是manhattan布局,通用性被限制2.实时性,以往方法可能无法满足机器人导航和AR/VR需求使用EquiConvs(本文重点),一种直接应用在球面投影图像上以解决扭曲问题项目地址INTRODUCTION布局估计应用场景:AR/VR、机器人导航、房地产。Manhattan假设或者布局简化box-shaped layouts,不能很好拟合丰富的室内布局。传统相机视野受限,所以要使用FOV=360的全局相机,但是全景图.原创 2020-12-06 14:32:07 · 799 阅读 · 5 评论 -
论文笔记 :Geometric Reasoning for Single Image Structure Recovery David(Orientation Map算法)(CVPR 2009)
恢复室内布局,传统方法主要分为3个步骤:线段检测和估计消失点、生成布局假设、对假设进行打分,方向图可以作为布局打分重要部分。墙角分为3类:凸角convex(+)corners.凹角concave(-)corners.遮挡角occluding(>)corners.所有房间布局可由这3种基本类别进行组合。进一步根据消失点划分3个区域(视角不同),每个区域只有凸角、凹角、遮挡角1、遮挡角2,这4种类型的墙角所以在进行线段检测和消失点估计后,先寻找一对平行线段(在3D空间,在透视图中是交于同原创 2020-12-05 15:39:26 · 468 阅读 · 0 评论 -
论文笔记:GEOMETRIC CONTEXT AND ORIENTATION MAP COMBINATION FOR INDOOR CORRIDOR MODELING USING A SINGLE I
GEOMETRIC CONTEXT AND ORIENTATION MAP COMBINATION FOR INDOOR CORRIDOR MODELING USING A SINGLE IMAGE(International Archives of the Photogrammetry, Remote Sensing & Spatial Information Sciences 2016)传统方法恢复房间布局,本文侧重对走廊图片进行布局恢复,主要分以下步骤:消失点估计,基于消失点的布局生成,布原创 2020-12-02 23:26:12 · 349 阅读 · 0 评论 -
数字图像处理:霍夫变换(Hough Transform)
直线检测图像空间的直线可以在霍夫空间中表示为一个点,同样的,图像空间的点可以在霍夫空间表示为一条直线。而图像空间多个点在霍夫空间就表示为多条直线。观察上图发现,如果在图像空间中的点共线,那么在霍夫空间中对应的直线将相交,交点即为图像空间中直线的斜率kkk和截距qqq。当在图像空间中存在多个直线时,那么在霍夫空间就会有多个交点。采用投票方法计算交点得票(处理误差可使用NMS),当得票大于给定阈值,则认为在图像空间中检测到直线。但是使用斜距式表示直线存在缺点:当直线存在xxx轴时,斜率∞\i原创 2020-11-29 00:09:28 · 2855 阅读 · 0 评论 -
论文笔记:DuLa-Net(CVPR 2019)
DuLa-Net: A Dual-Projection Network for Estimating Room Layouts from a Single RGB Panorama (CVPR 2019)pdf下载 项目地址使用等距全景图和透视天花板图,各自一个encode-decoder分支,提出新颖的2分支特征融合方法。对于多角度复杂布局的房间效果较好。主要贡献提出在2个视图上进行2分支端到端学习,最后2分支进行特征融合。NN直接输出二维平面图的概率图。后处理比较少。引入Realt原创 2020-12-09 23:44:19 · 904 阅读 · 1 评论 -
论文笔记:IndoorNet(2020)
IndoorNet: Generating Indoor Layouts from a Single Panorama Image(2020)pdf下载本文以全景图和曼哈顿线共同作为输入,构建一个端到端的模型。输出2个预测,分别是墙角和上下墙线。Related Work从图片恢复布局有以下区分:图片数量透视或全景图房间形状(4个墙角的矩形、多余4个墙角的复杂形状)几何学的使用最近开始使用FCNN取代传统使用几何方法。RoomNet首次实现透视图恢复房间结构功能。PanoCon原创 2020-12-09 23:42:36 · 378 阅读 · 0 评论 -
论文笔记:LayoutNet(CVPR 2018)
LayoutNet: Reconstructing the 3D Room Layout From a Single RGB Image(CVPR 2018)pdf下载 项目地址(原) 项目地址(pytorch)LayoutNet是直接在全景图上预测房间布局具有代表性的模型,模型结构和RoomNet类似,但是基于消失点对齐改进了准确度。将结构和Manhattan布局对齐。LayoutNet能够预测盒形布局和更普通的布局(比如L形)Contributions提出通用的从RGB图像恢复Manha原创 2020-12-09 23:43:55 · 1429 阅读 · 0 评论 -
论文笔记:PanoContext(ECCV 2014)
PanoContext: A Whole-room 3D Context Model for Panoramic Scene Understanding(ECCV 2014)pdf下载 项目地址PanoContext构建了一个模型,输入是全景图,输出是房间的3D bbox,此外它还能输出房间内主要物体的3D bbox,以及它们的语义类别。FOV=360的全景图的上下文特征信息(主要是位置信息)对于物体检测其效果不逊于物体的外观特征信息。然而正常相机拍摄图片FOV<60,导致上下文信息不足。另外,原创 2020-11-17 22:40:02 · 823 阅读 · 0 评论 -
论文笔记:全景图恢复房间结构(Room Layout Estimation From A Panorama Image)
DuLa-Net: A Dual-Projection Network for Estimating Room Layouts from a Single RGB Panorama (CVPR 2019)[pdf下载] (https://openaccess.thecvf.com/content_CVPR_2019/papers/Yang_DuLa-Net_A_Dual-Projection_Network_for_Estimating_Room_Layouts_From_a_CVPR_2019_pap原创 2020-11-10 11:21:42 · 1768 阅读 · 0 评论 -
笔记:ML-LHY: 李宏毅 (Hung-yi Lee) Machine Learning (2017,Spring) 总结
ML-LHY-1 Regression机器学习最简单的入门算法就是线性回归了,从这里出发开始学习机器学习本节课主要介绍使用梯度下降方法求解线性回归机器学习解决方法建模常规分为3个步骤:1.确定目标函数,其中带有未知参数θ\thetaθ2.如何表达参数θ\thetaθ对模型影像,即损失函数的确定,在参数θ\thetaθ确定的目标函数下与真实值的差异3.找到最符合数据的目标函数的参数θ\thetaθ,例如使用:梯度下降梯度下降概念和原理,正则化防止过拟合pdf 视频ML-LHY-2 Wh原创 2020-10-31 17:35:00 · 993 阅读 · 0 评论 -
笔记:ML-LHY-15: Unsupervised Learning - Neighbor Embedding
介绍了3中非线性降维方法LLE基于相邻点的关系,然后在低维空间保持这种关系Laplacian Eigenmaps基于图结构的关系,然后在低维空间保持这种关系t-SNE基于分布的关系,然后在低维空间保持这种关系,巧妙利用不同相似度函数实现拉开不同类视频 pdfManifold Learning非线性降维在之前的Unsupervised Learning - Linear Methods说到PCA是没法做非线性变换的,比如下面:通过降维,可以使用欧氏距离计算距离。比如左边在高维空间蓝色点和红.原创 2020-10-14 23:39:54 · 195 阅读 · 0 评论 -
笔记:ML-LHY-23: Deep Reinforcement Learning
Scenario of Reinforcement Learning强化学习大致流程强化学习:输入:Observation(State)Actor/Policy 产生Action输出:Action (改变环境)环境反馈 RewardPolicy-based Approach参照机器学习3个步骤:Step 1: define a set of function (Neural network as Actor)输入:图像 最后转向量或者矩阵输入输出:对应输入的action使用原创 2020-10-30 23:31:41 · 245 阅读 · 0 评论 -
笔记:ML-LHY-22: Ensemble
Framework of Ensemble简单来说,Ensemble就是组合多种不同的模型进行学习的方式。Bagging简单的model:大的Bias,小的Variance复杂的model:小的Bias,大的Variance组合的情况下,Error rate随着model的复杂度下降然后又升高。有多个复杂的model进行平均,就能达到小的bias和小的variance。bagging要做的就是这个事情。步骤:对原来训练数据进行放回采用,比如上面采样4次,有可能一笔数据在多个子集合用到原创 2020-10-25 21:55:45 · 344 阅读 · 0 评论 -
笔记:ML-LHY-20: Support Vector Machine (SVM)
下面先来说下 Hinge Loss 是什么。Binary Classification对于经典的而分类问题,之前已经提到可以使用逻辑回归解决,之前label使用0和1标记。现在label用-1和1来标记。同样,分3步骤:设计模型 Function set(Model) 损失函数 找最好的模型(训练)• Step 1: Function set (Model)理想的模型输出:g(x)=f(x)>0 Output =+1f(x)<0 Output&n.原创 2020-10-25 13:22:19 · 213 阅读 · 0 评论 -
笔记:ML-LHY-19: Transfer Learning
Transfer Learning迁移学习定义要做的是存在不直接相干数据,期望帮助当前任务。比如当前分类是cat和dog,有以下2中不直接相干数据:同领域,不同任务不同领域,同任务为什么要进行迁移学习,其目的就是当前任务直接相关的数据太少了,我们期望在其他不直接相关的数据上学习,而不直接相关的数据是大量的。然后在不直接相关的数据上充分学习,在使用当前任务少量数据迁移。OverviewTarget Data 是当前任务相关数据Source Data 是和当前任务不直接相关数据Mode原创 2020-10-21 22:46:06 · 263 阅读 · 0 评论 -
笔记:ML-LHY-17/18: Unsupervised Learning - Deep Generative Model
主要介绍无监督学习中的生成模型。传统利用RNN的Pixel RNN经典的Auto-Decoder和VAE(变分自动编码器),以及解释在概率上的VAE做法,和存NN的联系最近比较流行的GAN视频1 视频2 pdfPixel RNN训练一个RNN:看到第1个pixel就输出第2个推理pixel。看到第1、第2个pixel就输出第3个推理pixel。看到第1、第2个、第3个pixel就输出第4个推理pixel。…比如有一张真实的图:如果遮挡一部分,然后输入Pixel RNN:得.原创 2020-10-18 19:13:48 · 458 阅读 · 0 评论 -
笔记:ML-LHY-16: Unsupervised Learning - Auto-encoder
更详细介绍了Auto-encoderAuto-encoder在文本与图像的应用CNN上的Auto-encoder视频 pdfAuto-encoder既有Encoder和Decoder就可以互相学习组成Auto-encoderPCAPCA也存在类似结构,c是低维输出,所以也称为Bottleneck layer。Hidden layer的输出就是Encoder的输出。Deep Auto-encoder受限玻尔兹曼机(RBM)初始化(和多层感知机的区别就是有无使用RBM初始化然后进行G.原创 2020-10-17 18:14:18 · 229 阅读 · 0 评论 -
笔记:ML-LHY-14: Unsupervised Learning - Word Embedding
Word EmbeddingCount based这种方法和LSA类似:如果wiw_iwi和wjw_jwj经常成对出现,那么用一个向量表示的V(wi)V(w_i)V(wi)和V(wj)V(w_j)V(wj)内积的值就会比较大。所以和LSA类似,可以用GD求隐含向量表示。Prediction based这个方法思想很巧妙,利用文章中句子的词语顺序作为标签,训练一个神经网络,大致训练过程如下:那么这个网络我们并不是要网络的输出,而是用第一个隐藏层的输出作为一个词语的隐含向量表示:原创 2020-10-13 00:17:57 · 270 阅读 · 0 评论 -
笔记:ML-LHY-13:Unsupervised Learning - Linear Methods
Unsupervised Learning无监督学习有2种原创 2020-10-08 21:38:07 · 198 阅读 · 0 评论 -
笔记:ML-LHY-12:Semi-supervised
这节课主要介绍半监督机器学习方法,首先解释为什么半监督有用,在概率分布的生成式模型中使用半监督算法(EM算法)以及self-training和他们对比剩下一半介绍两种正则方法,Entropy-based Regularization和Smoothness Assumption,前者基于信息论稳定理论,后者基于图结构连通介绍监督学习:{(xr,y^r)}r=1R\left\{\left(x^{r}, \hat{y}^{r}\right)\right\}_{r=1}^{R}{(xr,y^r).原创 2020-10-06 23:25:32 · 186 阅读 · 0 评论 -
【随记】TensorFlow 2.x GPU错误:CUDNN_STATUS_INTERNAL_ERROR解决
(DirectionDetection) jzg@kanfangai-MS-7B89:~/projects/DirectionDetection$ python train_direction.py Using TensorFlow backend.2020-09-21 09:31:26.721591: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnv原创 2020-09-22 00:31:02 · 817 阅读 · 0 评论 -
论文笔记:SSD: Single Shot MultiBox Detector
一、基本信息标题:SSD: Single Shot MultiBox Detector时间:2016引用格式:Liu, Wei, et al. “Ssd: Single shot multibox detector.” European conference on computer vision. Springer, Cham, 2016.二、研究背景相比Faster RCNN有明显的速度优势,相比YOLO又有明显的mAP优势(不过已经被YOLO v2 超越)。SSD的速度比Faster R原创 2020-09-04 01:38:46 · 1594 阅读 · 0 评论 -
论文笔记:YOLOv3: An Incremental Improvement(yolo v3)
一、基本信息标题:YOLOv3: An Incremental Improvement时间:2018引用格式:Redmon, Joseph, and Ali Farhadi. “Yolov3: An incremental improvement.” arXiv preprint arXiv:1804.02767 (2018).二、研究背景YOLOv1:提出和R-CNN不同的方式,去掉检测Proposal步骤,利用网格划分粗略位置,然后使用回归预测进行微调。虽然速度很快,但是每个网格只有2个bb原创 2020-08-30 23:33:08 · 2598 阅读 · 0 评论 -
【温故知新】信息熵、交叉熵、相对熵(KL散度)
本文仅用于笔记记录,转载于知乎回答:如何通俗的解释交叉熵与相对熵?题目1:爸爸拿来一个箱子,跟小明说:里面有橙、紫、蓝及青四种颜色的小球任意个,各颜色小球的占比不清楚,现在我从中拿出一个小球,你猜我手中的小球是什么颜色?为了使被罚时间最短,小明发挥出最强王者的智商,瞬间就想到了以最小的代价猜出答案,简称策略1,小明的想法是这样的。在这种情况下,小明什么信息都不知道,只能认为四种颜色的小球出现的概率是一样的。所以,根据策略1,1/4概率是橙色球,小明需要猜两次,1/4是紫色球,小明需要猜两次,其余.原创 2020-08-30 15:29:55 · 744 阅读 · 1 评论 -
论文笔记:YOLO9000: Better, Faster, Stronger(yolo v2)
一、基本信息标题:YOLO9000: Better, Faster, Stronger时间:2016引用格式:Redmon, Joseph, and Ali Farhadi. “YOLO9000: better, faster, stronger.” Proceedings of the IEEE conference on computer vision and pattern recognition. 2017.二、研究背景三、创新点四、实验结果五、结论与思考作者结论总结思考参考原创 2020-08-27 23:18:39 · 923 阅读 · 0 评论