自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 【caffe】编译相关

在一个新的服务器上编译caffe,总是会遇到,在以前的服务器可以编译通过,为什么新的服务器就编译不过了呢?因为环境变了,如果不是自己负责服务器,我们就应该学会根据服务器的环境配置,灵活的去调整Makefile的相关项:这个Makefile.config相关注释比较全面,可以在需要时,进行查阅:https://blog.csdn.net/jiajunlee/article/details...

2019-04-08 11:41:50 100

原创 【FDDB】人脸检测评测总结

1. FDDB:Face Detection Data Set and Benchmark。参考网址:http://vis-www.cs.umass.edu/fddb/ http://vis-www.cs.umass.edu/fddb/results.html(含评测相关代码) https://blog.csdn.ne...

2019-04-02 16:00:48 560 1

原创 ISP算法:自动白平衡(AWB)

1. 为什么要做白平衡?人类视觉系统具有颜色恒常性特点,一次人类对物体观察不受光源影响。但是Sensor在不同光线下,物体呈现的颜色不同,在晴朗天空下会偏蓝,在烛光下会偏红。如图:2.什么是自动白平衡?为了消除光源对于图像传感器成像的影响,模拟人类视觉系统的颜色恒常性。保证在任何场景下看到的白色是真正的白色。3. 如何做自动白平衡?只要乘以一个对角矩阵,便可以进行白平衡...

2018-08-24 10:52:27 9032 1

原创 ISP算法:Bayer数据

Bayer感光阵列示意图:、图中的rggb排列的Bayer图,是最常见的一种raw图。如果给你一张Bayer图,应该如何读出来图像中的数据呢?import rawpyimport imageioimport osimport configoutput_folder = os.path.join(config.input_folder, 'compresse...

2018-08-23 14:42:12 2395 1

原创 【caffe】vgg16的官方网络协议很特别

vgg16的网络协议里面的层是layers,而我们常见的是layer。由于不是常见的layer,使用时难免会遇到一些问题。为了规避不必要的问题,我们把layers改写成layer。下面的两个协议分别是修改前后的协议:(仔细观察两者的差别)name: "VGG_ILSVRC_16_layers"layers { name: "data" type: DATA include { ...

2018-06-06 19:10:36 324

原创 【caffe】SGD模式调参概念理解

1、SGD概念理解?2、caffe设置SGD的方法是什么?对应的公式是什么?

2018-06-05 19:48:42 1138

原创 【caffe】如何计算模型相关参数量

1. 常见卷积层的参数量计算方法?这个ppt比较形象的说明了卷

2018-06-05 18:50:53 996

原创 【Caffe】默认打印出来的日志可以告诉我们些什么?

I0328 19:29:51.803539 2532 caffe.cpp:217] Using GPUs 0 //1. 运行模式:cpu或者gpuI0328 19:29:51.833237 2532 caffe.cpp:222] GPU 0: TITAN X (Pascal)I0328 19:29:54.729840 2532 solver.cpp:48] Initializing s...

2018-05-31 16:21:30 362

原创 【caffe】resnet网络的理解

1. resnet是什么?可见,残差就是说后面的层是由前面的层加上一组值得到的,这组值就是所谓的残

2018-05-30 18:51:53 1537

原创 【caffe】【遇到的问题】卷积参数group的使用

问题:mobilenetV1是基于tensorflow实现的,现在我需要将depthwise separable convolution利用caffe实现,应该怎么办呢?解决方法:使用卷积参数group实现。group对输入输出对应分组,默认为1,也就是说默认输出输入的所有通道各为一组。输出一个通道由输入所有通道进行卷积运算。如果我们把卷积group等于输入通道,输出通道等于输入通道便轻松实现了d...

2018-05-24 19:06:51 3352 4

原创 【caffe】测试模型默认迭代次数为50个batch

当你训练好一个模型,利用caffe.exe进行测试时,你会发现不管你的batch_size设置的数值是多少,都只会测50个batch,这是由于/tools/caffe.cpp默认的数值为50,需要你从外部输入。caffe.cpp外部传入参数,如下图所示:假设你现在要测试50K幅图,你的网络协议里面设置的batchsize是50,那么你要设置的iterations:1000。通过如下命令进行测试:...

2018-05-23 15:25:45 1178

原创 【Linux】vim编辑文档常用使用项

vim编辑具有三种模式:一般模式、编辑模式、命令模式。一般模式可以通过:/?转化到命令模式。一般模式下的常用快捷键:命令模式下的命令操作:

2018-05-06 23:14:14 112

原创 【caffe】【特殊层】RoiPooling层

1.  RoiPooling层是对Caffe层的扩展,目的:把ROI区域归一化到相同尺寸大小,以便于后面的全连接层处理。2. 部分网络协议:layer { name: "conv5" type: "Convolution" bottom: "conv4" top: "conv5" param { lr_mult: 1.0 } param { lr_mult: 2.0 }...

2018-04-28 18:02:34 937

原创 【辅助脚本】caffemodel参数的读取与分析

# -*- coding: utf-8 -*-"""Author: FengFunction: read and analyze caffemodel paramsData: 2018/04/25"""import numpy as npimport sys import osnp.set_printoptions(threshold='nan') # 全部打印输出,不要出现省...

2018-04-25 18:47:57 777

原创 【caffe】计算pooling层和convolution层输出图像大小

参考:https://blog.csdn.net/qq_27009517/article/details/79440262pooling层和convolution层的计算方法一样。1. 没有pad,计算方法如下:w_out = ceil((w_in-k+1)/s)2. 有pad,计算方式如下:w_out = ceil(w_in/s)w_out:输出图像宽度;w_in:输入图像宽度;k:核大小;s:...

2018-04-19 17:06:57 3217 1

原创 【Caffe】网络协议可视化分析工具

工具网址:https://dgschwend.github.io/netscope/#/editor工具说明:https://dgschwend.github.io/netscope/quickstart.htmlNetscope CNN Analyzer:卷积神经网络结构基于web的可视化分析工具。只支持Caffe的prototxt格式。以AlextNet为例:AlextNet的网络结构如下:n...

2018-04-17 16:33:38 712 1

原创 【辅助脚本】caffe的训练与测试

#-*- coding: utf-8 -*-"""Author: Feng JinliFunction: train and test caffe modelDate: 04/13/2018 """import caffeimport os# GPU or CPUcaffe.set_device(0)caffe.set_mode_gpu()# Parse solver an...

2018-04-13 19:13:57 302

原创 【辅助脚本】删除训练过程生成的无用model

#-*-coding:utf-8-*-"""Author: Feng JinliFunction: Remove useless caffemodel.Date: 04/13/2018"""import osroot_path = "/home/fengjl/06_tools/caffeFaceV1.0/caffeFaceV1.0/examples/mnist/"file_nam...

2018-04-13 14:27:32 149

原创 【Caffe】Caffe框架初识

Caffe框架作者:贾扬清caffe框架参考:http://caffe.berkeleyvision.org/caffe源码下载:https://github.com/BVLC/caffecaffe上手参考:http://suanfazu.com/t/caffe/281MakeFile文件内容梳理参考:http://blog.csdn.net/thystar/article/details/508...

2018-03-01 15:12:41 478

原创 ISP : 灯箱光源(笔记)

标准光源是指模拟各种环境光线下的人造光源,让生产工厂或实验室非现场也能获得与这些特定环境下的光源基本一致的照明效果。标准光源通常安装在标准光源箱内,主要用于检测物品的颜色偏差。人造的标准光源主要有如下10种类型:模拟蓝天日光——D65光源 色温:6500KD65--国际标准人工日光(Artificial Daylight) 色温:6500K 功率:18W模拟北方平均太阳光——D75光源 色温:75...

2018-02-28 10:56:13 499

原创 ISP算法:图像质量评价

图像质量有两个基本方面:<1> 观者感受;<2>满足客户需求的技术方法和设计。图像质量参数:锐度、噪声程度、色彩准确度等等。图像质量评价方法,分为两种:主观评价方法:设计实验,由观测者对样本集图像质量进行评价;客观评价方法:采用算法对图像质量做出评价。主观评价费时、费力,且标准难以量化;客观评价算法难以和主观感受一致。...

2018-02-12 11:59:33 866

原创 ISP算法:宽动态HDR

动态范围(Dynamic Range):在很多领域来表示某个变量的最大值和最小值的比值。在数字图像处理领域里,动态范围也被称为图像对比度,表示图像可以显示范围内,像素最大亮度值和最小亮度值的比值。高动态范围图像(High Dynamic Range Image):可以反映真实场景中高动态范围亮度信息图像。高动态技术:能自动调整图像动态范围的一种技术。该技术是一种利用计算机高速运算产生高

2018-02-06 16:44:09 6494

原创 ISP算法:镜头阴影矫正

镜头阴影矫正(Lens Shading Correction)是为了解决由于lens的光学特性,由于镜头对于光学折射不均匀导致的镜头周围出现阴影的情况。lens shading分为两种luma shading(亮度阴影)和color shading(色彩偏差)。luma shading:由于Lens的光学特性,Sensor影像区的边缘区域接收的光强比中心小,所造成的中心和四角亮度不一致

2018-02-01 13:49:20 3274 1

原创 ISP算法:黑电平矫正

黑电平:图像数据为0时,对应的信号电平。黑电平矫正:由于暗电流的影响,导致没有光线照射,传感器传出的图像数据不为0。(暗电流:物理器件不可能是绝对理想的,由于杂质、受热等影响,即使没有光照射到像素,像素值也会产生电荷,这些电荷产生暗电流。)需要注意:除了暗电流的原因之外,需要矫正还有一个原因:CMOS传感器采集的信息经过一系列转换生成原始RAW格式数据。以8bit数据为例,单个pixel的

2018-02-01 11:28:21 2374

转载 【tensorflow】tensorflow安装(环境CPU+Windows)

安装参考网址:http://blog.csdn.net/Bear_Kai/article/details/78162144?locationNum=8&fps=1已验证可行!

2018-01-31 15:00:47 209

原创 ISP算法:gamma矫正

Gamma矫正:在视频系统,线性光Intensity通过Gamma校正转换为非线性的视频信号,通常在摄像过程内完成。矫正原因:起初人们发现,CRT显示器使用电子显像管,控制电流大小显示屏幕上的亮度,电流和亮度之间存在非线性关系,其中gamma值是CRT显示器的伽马值:成像显示设备,输入能量和图片颜色是成线性的。这就导致显示器显示的图像和实际图像不一致,因此引入了gamma矫正:

2018-01-31 11:30:31 4432 1

原创 windows环境下利用protobuf生成caffe.pb.h&caffe.pb.cc

1. protobuf下载:下载地址:https://github.com/google/protobuf/tags找到你需要的版本,进行下载,高版本的caffe会报错,我使用的是2.6.1。2. 解压下载到的红框文件,将protoc.exe拷贝到caffe.proto所在文件夹,编写一个.bat文件,内容如下:protoc.exe caffe.proto --cpp_ou

2017-12-28 16:42:49 1527

原创 py-faster-rcnn测试流程解读

测试必备条件:训练环境 + 训练好的模型 + 已标定的测试数据。

2017-11-28 16:14:58 223

原创 常用Linux命令记录(持续更新)

1. 如何查看显卡:方法一:方法二:2. 删除文件夹下的所有文件资料:rm -rf  文件夹路径   (该命令将会删除文件夹以及文件夹下的所有文件资料)3. 删除文件的命令:rm -f 文件路径(删除对应文件,无提示)4. 如何完成文件夹或文件的重命名:5. 查找含有某个字符串的文件:参数说明:第一个红框内参数:被查找的文件所在文件夹路径第二个红框内参数:被查找字符串6. Linux的vi环境下如...

2017-11-02 13:00:20 350

原创 python与python模块numpy安装

1.  应用环境:win7_64位+Python2.7.62. Python安装过程参考:https://www.python.org/downloads/http://jingyan.baidu.com/article/7908e85c78c743af491ad261.html3. 模块numpy的安装:3.1 numpy库下载:需要注意的是,我们的系统是64

2017-02-28 20:22:29 3069 1

原创 利用SSE求取水平与垂直梯度图(笔记)

目的:利用sse求取图像的垂直和水平梯度图,加快求梯度图的运算速度代码实现:#include "stdio.h"#include "opencv2\\opencv.hpp"#include "sse.h"using namespace std;using namespace cv;int main(){ //[1] 读取图像,并把图像转化成灰度图 Mat img = i

2017-02-21 18:09:17 742 2

原创 excel常用功能记录(不断更新)

1. 在一个单元格里如何实现换行操作?使用快捷键:ALT+Enter。

2017-02-09 13:36:08 731

原创 将图像进行分块(笔记)

以下代码实现了将图像分成4*4块,然后进行操作:int main(){ char* imgPath = "..\\img2.jpg"; //[1] 获取图片数据,并转化成灰度图 Mat img = imread(imgPath); if (NULL == img.data) { printf("read img error!\n"); exit(1); } Mat

2017-01-22 11:01:46 5290

原创 文件的保存读取方法(笔记)

1.  引言:C语言把文件看作一个字符(字节)的序列,即由一个个字符(字节)的数据顺序组成。根据数据组织形式,可分为ASCII文件和二进制文件。ASCII文件又称为文本(text)文件,它的每个字节放一个ASCII代码,代表一个字符。二进制文件是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。怎样保存和读取文件中的数据流呢?学会这些I/O函数即可,如下:2. 代码示例

2016-10-19 18:38:58 393

原创 error LNK2005: ___xc_a already defined in msvcrt.lib(cinitexe.obj)

问题:原因:使用的某些外部静态库编译时使用的标准库和当前工程使用的标准库的冲突了解决方法:忽略冲突的内部静态库:

2016-09-23 11:09:50 1822

原创 模板滤波实现(笔记)

#include "stdio.h"#include "opencv2/opencv.hpp"using namespace std;using namespace cv;/** pGrayImg:灰度图像数据 pFilterImg:滤波结果图像数据 pTemplate:模板数据 nImgH:图像高度 nImgW:图像宽度 nTempH:模板高度 nTempW:模板宽度

2016-09-19 17:19:06 1380

原创 C++:获取当前执行文件的路径方法(笔记)

代码示例:#include "Windows.h"int main(){ char ExePath[MAX_PATH]; GetModuleFileName(NULL, ExePath, MAX_PATH); printf(ExePath); printf("\n"); return 0;}参考:http://baike.baidu.com/link?url=mHDJv--

2016-09-13 15:47:30 3698

原创 硬盘安装知识小结

1.一般的硬盘可以设置的设置方式:一个硬盘区会被分成一个主分区和一个扩展区;扩展区又被分成多个逻辑区。一般是这样的,但是一般以下四种方式都是支持的:2 主分区、扩展区、逻辑区、活动区的概念:http://www.pc6.com/infoview/Article_53651.html3 我安装了一个3T的内存,遇到的问题与解决的方法?问题一:分区方式的选择

2016-09-06 15:05:31 314

原创 DebugView使用笔记

1. 什么是DebugView?它是Sysinternals公司的系列调试工具。可以捕获程序中由TRACE()和OutputDebugString输出的信息。2. C++需要完成哪些工作呢?将打印的信息用OutputDebugString输出,示例:#include "stdio.h"using namespace std;#define UseDebugView

2016-09-02 18:14:15 2804

原创 线程锁笔记

前言:使用多线程时,必须学会对临界区加锁。所谓临界区是一种轻量级的机制,在某一时间内只允许一个线程执行特定的代码段。这样的话,在使用多线程的时候,必须提出一种保护机制来控制临界区的访问,这种保护机制就是锁。C++对临界区加锁方法:CRITICAL_SECTION g_cs; //临界区声明InitializeCriticalSection(&g_cs); //初始化锁E

2016-09-02 12:01:21 286

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