自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 资源 (4)
  • 收藏
  • 关注

原创 Flash-Attention 1&2 论文理解

Flash-Attention 1&2 论文理解

2023-11-15 11:59:54 186

原创 深度探索C++对象模型-数据成员 阅读笔记

深度探索C++对象模型-数据成员 阅读笔记文章目录深度探索C++对象模型-数据成员 阅读笔记对象大小成员指针注意关于成员指针是否为其偏移量加一?多重继承与成员指针偏移虚继承与成员指针效率资料内存对齐规则对象大小#include <iostream>using namespace std;class X {};class Y : public virtual X { int y;};class Z : public virtual X {};class A : public

2022-04-04 21:01:32 1124

原创 深入探索C++对象模型-构造函数 阅读笔记

深入探索C++对象模型-构造函数 阅读笔记文章目录深入探索C++对象模型-构造函数 阅读笔记默认构造函数什么情况下编译器需要合成默认构造函数?注意拷贝构造函数什么情况下编译器需要合成拷贝构造函数?注意具名返回值(Named Return Value,NRV)优化问题注意初始化列表什么情况下必须使用初始化列表?注意默认构造函数什么情况下编译器需要合成默认构造函数?一句话:编译器只会去合成non trivial的默认构造函数。 且用户定义的默认构造函数(即使里面什么都没做)为non-trivial!

2022-04-02 19:06:08 1049

原创 深入探索C++对象模型-关于对象 阅读笔记

深入探索C++对象模型-关于对象 阅读笔记文章目录深入探索C++对象模型-关于对象 阅读笔记什么是C++对象模型C++对象模型单继承重点:多继承重点指针偏移C++多态什么是C++对象模型包含两方面C++语言层面面向对象程序设计。比如相对C语言而言,支持了封装、继承、多态等性质。这些都是C++标准规定的,但是这些特性是如何实现的呢?即第二方面;编译器底层实现模型。比如类对象的内存布局,虚函数的底层实现等。原书作者lippman参与设计了第一套C++编译器cfront。C++对象模型单继承

2022-03-31 19:26:10 1100

原创 pthread的一点总结

守护线程的定义(来自https://www.liaoxuefeng.com/wiki/1252599548343744/1306580788183074)守护线程是为其他线程服务的线程;所有非守护线程都执行完毕后,虚拟机退出;守护线程不能持有需要关闭的资源(如打开文件等)。针对JVM的,对于C++有待考证。pthread_exit()will exit the thread that calls it.In your case since the main calls i..

2020-12-20 16:56:32 372

原创 2008-ICIP - Reducing Boundary Artifacts in Image Deconvolution

相关项目地址:https://github.com/CoupeLibrary/handleoutlier文件:wrap_boundary_liu.m贾佳亚团队工作提出了新的边界处理方式,应用于基于FFT的图像去卷积解释了为何需要边界处理由于卷积操作需要一定感受野内的图像信息,边界区域的卷积结果是无效的,因此卷积后的图像比原图缩小一圈,丢失了边界像素,因此在去卷积过程中需要对输入图像做...

2020-07-12 12:03:05 571 2

原创 2011-CVPR - Blind deconvolution using a normalized sparsity measure

项目地址:https://dilipkay.wordpress.com/blind-deconvolution/图像先验:ℓ1/ℓ2\ell_1/\ell_2ℓ1​/ℓ2​(normalized version of ℓ1\ell_1ℓ1​),模糊核先验:ℓ1\ell_1ℓ1​x更新:iterative shrinkage-thresholding algorithm(ISTA)k更新:i...

2020-07-12 12:02:56 1544 1

原创 2010-ECCV - Two-phase kernel estimation for robust motion deblurring

项目地址:http://www.cse.cuhk.edu.hk/~leojia/projects/robust_deblur/index.html贾佳亚团队边缘预测与边缘选择,过滤细微结构对于模糊核估计的影响分两阶段估计模糊核,第一阶段:L2范数,第二阶段:L1范数图像先验,在估计模糊核过程中使用空间结构先验,非盲阶段时使用TV范数文章首先了图像结构如何影响模糊核结构:Salie...

2020-07-12 12:02:46 900

原创 2008-TOG - High-quality motion deblurring from a single image

项目地址:http://www.cse.cuhk.edu.hk/~leojia/projects/motion_deblurring/index.html香港中文大学 贾佳亚团队分析了振铃现象(ringing artifacts)产生的原因改进了噪声模型,保证噪声分布在空间上是随机的,非结构化的概率模型(probabilistic model)到能量最小化问题,基于MAP图像先验分为:...

2020-07-12 12:02:36 589

原创 2009-CVPR - Image deblurring and denoising using color priors

项目地址:http://neelj.com/projects/twocolordeconvolution/ 没有代码=_=微软研究院非盲去模糊基于MAP超拉普拉斯先验+颜色先验文章首先分析了Levin等人使用超拉普拉斯分布惩罚图像梯度(次线性惩罚函数),相比高斯分布更能建模自然图像0峰重尾梯度分布(the zero-peaked and heavy tailed gradient d...

2020-07-12 12:02:26 295

原创 2006-TOG - Removing camera shake from a single photograph

项目地址:https://cs.nyu.edu/~fergus/research/deblur.html假设为一致性模糊(卷积操作⊗\otimes⊗的边界条件为非周期 non-periodic):B=K⊗L+N \bf B = K\otimes L+NB=K⊗L+NIn order to estimate the latent image from such limited measure...

2020-07-12 12:02:17 425

原创 去模糊相关工作

2011-CVPR - Blur kernel estimation using the radon transformCho等人2011年提出通过检测和分析模糊图像中的阶跃边缘(step edge),构造出模糊核不同角度的Radon变换,通过逆变换恢复模糊核。该过程不涉及重复的去卷积操作来计算潜在图像,显著加快了模糊核估计过程。2012-ECCV - Blur-kernel estimati...

2020-07-12 12:01:54 1597

原创 Richardson-Lucy 非盲去模糊算法

相关论文:2011-PAMI - Richardson-Lucy Deblurring for Scenes under a Projective Motion Path空间均匀的运动模糊表示如下:B=k⊗IB=k\otimes IB=k⊗IB为模糊图像,I为清晰图像,k为模糊核。RL算法假设 P(B∣k,I)P(B|k,I)P(B∣k,I)满足Poisson分布(传送门:如何通俗理解泊...

2020-07-12 12:01:31 2622

原创 Iterative Reweighted Least Squares(IRLS)

Iterative Reweighted Least Squares (迭代重加权最小二乘)优化算法理解最近在阅读去模糊算法中,在估计模糊核过程中经常提到IRLS算法,决定好好理解一下!以下理解来自论文《Iterative Reweighted Least Squares》对于线性方程组的最优近似解问题:写成矩阵形式,Ax=b,A∈RM×N{\bf Ax=b,A\in }\mathbb...

2020-02-16 17:11:33 9800 1

原创 2012-IJCV - Non-uniform deblurring for shaken images

项目地址:https://www.di.ens.fr/willow/research/deblurring/作者:Oliver Whyte非一致性模糊针对相机转动提出新的模糊模型将新模型代替卷积模型代入两种去模糊算法框架:Fergus et al. (2006,VB) and Cho and Lee (2009,MAP)...

2020-02-12 21:16:04 775

原创 对C++函数指针的思考

在我原本的印象中,对于一个函数func,取其地址&func,和解引用*func,效果是一样的。(这个结论在大部分情况下是对的)引用一张图:但是今天我看《Boost程序库完全开发指南》中的绑定函数(bind)部分,有一句话:boost::bind 在绑定成员函数前需要加上取地址操作符&,表明这是一个成员函数指针,否则无法通过编译。这是与绑定(普通)函数的一个小小的不同。...

2019-12-23 14:56:12 178

原创 C++ 目录遍历与文件拷贝

基于Boost库,相关头文件#include <boost/algorithm/string.hpp>#include <boost/filesystem.hpp>#include <boost/xpressive/xpressive_dynamic.hpp>#include <boost/progress.hpp>using namesp...

2019-12-21 14:31:18 492

原创 fstream 示例代码

fstream 示例代码参考:C++中文件流(fstream)的使用方法及示例获取流长度,并读取。int _tmain(int argc, _TCHAR* argv[]){ using namespace std; ifstream stream("F:\\WorkSpace\\StreamDemo\\Debug\\abc.txt", ios::in); if(...

2019-10-03 20:42:33 280

原创 面试知识点总结2

决策树怎么解决回归问题?切分点选择:最小二乘法;输出值:单元内均值。示意图:假设X和Y分别为输入和输出变量,并且Y是连续变量,给定训练数据集为D={(x1,y1),(x2,y2),...,(xN,yN)}D=\left \{ (x_1,y_1 ),(x_2,y_2 ),...,(x_N,y_N) \right \}D={(x1​,y1​),(x2​,y2​),...,(xN​,yN​)...

2019-09-05 09:54:40 128

原创 面试知识点总结1

c++的行指针、列指针卷积底层的实现方式(如caffe里面的img2col)推导逻辑回归的损失函数和梯度计算sigmoid函数及其导数:h(x)=11−e−xh′(x)=h(x)⋅[1−h(x)]h(x)=\frac{1}{1-e^{-x}}\\h&#x27;(x)=h(x)\cdot[1-h(x)]h(x)=1−e−x1​h′(x)=h(x)⋅[1−h(x)]前向:zi...

2019-09-04 16:03:00 148

转载 面经:卷积层计算量

转自深度学习之(经典)卷积层计算量以及参数量总结 (考虑有无bias,乘加情况)对公式重新美化了一下。目录:经典的卷积层是如何计算的分析卷积层的计算量分析卷积层的参数量1、卷积操作如下:http://cs231n.github.io/assets/conv-demo/index.html假设卷积层的输入特征图大小为Cin×H×WC_{in} \times H \times W...

2019-08-28 10:55:30 933 2

原创 2019年面试经历

网易游戏caffe 中的卷积是怎么实现的。只答了img2col函数,将卷积操作变成矩阵乘,具体如何变 没答上来。caffe 中最常用的数据类型是什么?Blob,存储值和梯度。VGG 相比AlexNet 改进了什么?7×77\times 77×7卷积变成了3个3×33\times 33×3卷积,减少了参数量,增加了非线性。为什么不是2×22\times 22×2?没有...

2019-08-20 16:32:50 108

原创 CornerNet-Lite参数说明

db config...{'ae_threshold': 0.3, 'att_max_crops': 30, 'att_nms_ks': [3, 3, 3], 'att_ranges': [[96, 256], [32, 96], [0, 32]], #对应大中小三个尺度的范围 'att_ratios': [16, 8, 4], 'att_scales': [[1, 2, 4]], ...

2019-05-27 10:09:54 1174

原创 CornetNet

CornerNet: Detecting Objects as Paired KeypointsECCV 2018 GitHub主页概要:1.单阶段检测器,但是速度还是很慢(在改进版CornerNet-Lite 中提到);2.Anchor-Free,是第一次尝试 将目标框的检测(中心点+宽高)转换为关键点检测(左上点+右下点);3.COCO 数据集上单尺度测试精度为40.5,多尺度测试为...

2019-04-29 16:01:56 3224 1

原创 Ubuntu 16: Detecron + Caffe2 安装

先贴下官网教程推荐的环境:CUDA 8.0.61 + Cudnn 6.0(必须的,推荐官网的.run形式安装)Anaconda python=2.7 (推荐使用conda 自带的包管理,即:conda install )首先:更新或者安装 nccl库从apt-get上的库的地址:http://developer.download.nvidia.com/compute/machine-...

2018-11-01 15:32:40 387 3

原创 Conda 使用记录

conda 仓库包括 官方仓库 和 第三方仓库(比如通过conda install -c menpo 选择menpo 第三方仓库)清华大学提供并维护了conda仓库的国内镜像:清华大学开源软件镜像站使用 conda 安裝 opencvopencv2:conda install -c menpo opencv=2.4.11opencv3:conda install -c ...

2018-08-23 16:54:13 1034

转载 What is a Posterior Probability?

Posterior probability measures the likelihood that an event will occur given that a related event has already occurred. It is a modification of the original probability or the probability without furt...

2018-07-26 14:03:57 1592

原创 pycaffe之图像预处理

caffeRoot=&amp;amp;amp;quot;&amp;amp;amp;quot;import sysimport ossys.path.append(os.path.join(caffeRoot, 'python'))import caffeimg_size=256crop_size=224def prepare_image(imfile oversample=true): if oversample: inp...

2018-07-17 20:54:00 883

转载 web开发遇到的问题

inux下如何查看80端口占用情况?是被哪个进程占用?怎么终止占用进程? 查询端口是否被占用,被哪个进程占用有两种方式:1、netstat -anl | grep "80" ;2、lsof -i:80 终止进程的方式:kill pid...

2018-07-14 20:44:20 190

原创 几种优化方法的Matlab实现

题目目标函数function y=F(x, N)y=0;for i=1:(N-1) y=y+(1-x(i))^2+100*(x(i+1)-x(i)^2)^2;endend函数梯度(N维向量,注意首尾变量)function g=G(x, N)g=zeros(N,1);g(1)=2*(x(1)-1)+400*(x(1)^3-x(2)*x(1));for i=2...

2018-04-17 19:40:49 34760 4

原创 Keras 多任务实现,Multi Loss

找了好久, 终于找到了:Keras Xception Multi loss 细粒度图像分类这里只摘取关键代码:# create the base pre-trained modelinput_tensor = Input(shape=(299, 299, 3))base_model = Xception(include_top=True, weights='imagenet', i...

2018-04-11 22:16:47 23431 14

原创 Dropout 层是否有效

之前做分类的时候,Dropout 层一般加在全连接层 防止过拟合 提升模型泛化能力。而很少见到卷积层后接Drop out (原因主要是 卷积参数少,不易过拟合),今天找了些博客,特此记录。首先是一篇外文博客(他的一系列写的都很好):Dropout Regularization For Neural Networks 也有中文翻译版的:基于Keras/Python的深度学习模型Dropout正...

2018-04-09 22:00:15 7577

转载 Keras 中调用 Tensorboard

import numpy as npimport tensorflow as tffrom keras.callbacks import TensorBoardfrom keras.layers import Input, Densefrom keras.models import Modeldef write_log(callback, names, logs, batch_no)...

2018-04-08 16:11:08 2868

转载 使用conda管理python环境

转自知乎 https://zhuanlan.zhihu.com/p/22678445一、环境管理conda常用命令查看当前系统下的环境conda info -e创建新的环境# 指定python版本为2.7,注意至少需要指定python版本或者要安装的包# 自动安装python2.7最新版本conda create -n env_name python=2.7# 同时安...

2018-04-05 12:08:41 2556

原创 Anaconda3 + Tensorflow-gpu

Learning to Push the Limits of Efficient FFT-based Image Deconvolution. 首次通过tensorflow 实现了端到端的图像非盲去模糊网络(FDN,Fourier Deconvolution Network ),效果显著。 第一次配置比较顺利,只能说是运气好,当时也没记录,等到第二次换了个环境配置时出现了各种问题。这里亡羊补牢详...

2018-03-16 08:57:00 458 1

原创 Circular/Linear Convolution 与 DFT

今天在一篇论文中看到这样一句话: FFT-based deconvolution hinges on a blur model which assumes a convolution with periodic (circular) boundary conditions.Matlab 文档中详细说明了二者的区别: Linear and Circular Convolution 通常我们

2018-01-17 15:36:41 3721

原创 Python调用Matlab脚本

Matlab提供了一套Python接口,MATLAB API for Python。不过需要我们自行安装,命令行(管理员?)进入matlabroot\extern\engines\python目录中,执行python setup.py install安装过程中会有兼容性问题,我一开始使用的Matlab 2015b,只能支持到Python3.4,后来重新安装了Matlab2017a,支持了P

2018-01-09 16:15:03 3758

原创 第一天-开发环境搭建,遇到的Python问题

No module named ‘tkinter’ 问题今天主要遇到一个头疼的问题是在导入matplotlib.pyplot时出现了 No module named ‘tkinter’, 首先是以为python2与python3 在tkinter上命名区别,其实发现这些都不用我们考虑(Note Tkinter has been renamed to tkinter in Python 3. T

2018-01-06 21:56:35 577

原创 机器学习-周志华-笔记-第2章

经验误差、泛化误差、测试误差经验误差,也叫训练误差,在训练集上的误差,与之对应的是泛化误差(generalization error,在新样本上的误差)。评估一个好的模型显然是泛化误差最小。但是实际上事先并不知道新样本是什么,所以实际能做的是最小化经验误差。经验误差也不能完全决定模型的泛化误差,会存在过拟合现象。书中简单说明了过拟合现象是各种学习算法不可避免的问题,只有“减缓”。这

2017-06-29 21:25:07 2466

原创 Caffe 损失层中loss_weight 如何存储?

一个网络中如果存在多个损失层的话,需要给每个损失层加上loss_weight参数,不加的话默认为1.0。 但是loss_weight如何存储的呢?这里我是从ContrastiveLossLayer::Backward_cpu中发现的:const Dtype sign = (i == 0) ? 1 : -1;const Dtype alpha = sign * top[0]->cpu_diff()

2017-05-12 10:17:37 3063

opencv4.10+contrib4.10.rar

opencv4.10+contrib4.10版本,使用vs2019在win10系统上编译,方便大家使用。注意:只编译了64位的release 和 debug版本。

2019-10-07

caffe 反卷积 相关源码

对应的博文地址:http://blog.csdn.net/u012938704/article/details/52831532 ,已经在Ubuntu14.04上编译好,cuda7.0,未加入cudnn。

2017-01-12

Linux 命令行解析

Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。

2015-03-15

陈意云 编译原理PPT

从编译原理3(高等教育出版社)作者(陈意云)的教学网页中收集整理的原版PPT。

2015-03-15

空空如也

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

TA关注的人

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