自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Single Image Haze Removal Using Dark Channel Prior 论文阅读与代码实现

He 提出暗通道去雾方法进行了详细的描述,该方法以大气散射模型为基础,利用暗通道先验原理求出全球大气光成分A和透射率t。先使用了软抠图对透射率图进行优化,但是运算时间过长。后来使用引导滤波精细化透射率图,缩短了一部分运算时间。暗通道先验:在绝大多数非天空的局部区域里,某一些像素总会有至少一个RGB颜色通道具有很低的值。换言之,该区域光强度的最小值是个很小的数,值接近于0。实际生活中造成...

2018-10-24 17:10:24 4593

原创 node-gyp在windows安装出错解决方案

这个错误信息是由node-gyp在尝试找到Python 2.x版本时产生的,因为node-gyp需要Python 2.x来构建一些本地的C++扩展。修改yarn.lock文件里registry.nlark.com 改为。: 如果设置环境变量后仍然有问题,你可以在构建命令中手动指定。即使改了编译器版本和路径,它还是找不到指定的路径或文件。首先需要安装Python 2.x版本,配置环境变量。可以看到msbuild_path的路径为报错的路径。在你的项目目录中创建或编辑。你可以通过这样找到:按住。

2024-06-19 09:22:33 366

原创 给定一个数,如何求它的平方根(不能使用内置函数,如sqrt()函数)

牛顿法:在实数域和复数域上近似求解方程的方法。多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x) = 0的根。设r是f(x) = 0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y = f(x)的切线L,L的方程为y = f(x0)+f'(x0)(x-x0),求出L与x...

2019-09-09 21:03:32 1253

原创 PI-撒币算法

首先构造一个单位正方形和一个四分之一圆,然后假设你有一堆硬币你开始随机对上述构造的正方形,撒币!!!!!当然这个硬币可能在圆里,也可能在圆外只要你的硬币够多,那么你的硬币将构成1/4圆。通过计数其中落入内切圆的硬币的个数,有:如果一共投入a个硬币,其中有b个落入圆中,则只要硬币均匀,假定圆周的半径为r,则:你撒币撒得越多,那么pi就越准确。所以以上算法就是蒙...

2019-09-08 22:00:11 947

原创 Python计算AUC

如题:n = int(input())labels = []prob = []for i in range(n): a = input().split() labels.append(int(a[0])) prob.append(float(a[1]))def calAUC(prob, labels): f = list(zip(prob, labe...

2019-09-04 20:43:08 1967

原创 Caffe-SSD-MobileNetV1

一.配置caffe-ssdgithub 地址: https://github.com/weiliu89/caffe 利用以下命令:下载caffe-ssd(自行改名)git clone https://github.com/chuanqi305/ssd.gitcd caffegit checkout ssd由于MobileNet多了relu6_layer、ConvolutionDe...

2019-08-01 15:37:01 849

原创 Caffe-MobileNet-SSD

solve_train.prototxt 中的训练超参数含义:训练的网络文件train_net: "example/MobileNetSSD_train.prototxt" 测试的网络文件test_net: "example/MobileNetSSD_test.prototxt"要与test layer中的batch_size结合起来理解。数据中测试样本总数为67300,一...

2019-07-25 11:43:32 389

原创 编译caffe-ssd出现问题

为了跑caffe-mobilenetV2。首先下载:git clone https://github.com/weiliu89/caffe.git记得勾选ssd,不要选中master。如果下载下来发现caffe/data没有VOC0712,那么运行:cd caffegit checkout ssd如果失败的话,选中ssd,下载zip格式文件。接下来常规的操作:修改Ma...

2019-07-23 15:11:44 319

原创 Ubuntu16.04下修该caffe支持的python版本(python3.5.2)

1.更改Makefile.config文件的配置如下,该配置默认python2.7,把2.7注释掉,3.5解注释#PYTHON_INCLUDE := /usr/include/python2.7 \# /usr/lib/python2.7/dist-packages/numpy/core/include# Anaconda Python distribution is quite po...

2019-07-19 14:38:22 1408

原创 Ubuntu16.04下安装Opencv3.2.0

1.下载opencv3.2.0安装包,进入官网:http://opencv.org/releases.html,选择 3.2.0 版本的 source , 下载 opencv-3.2.0.zip。2.安装opencv需要的一些库,能安装的尽量都安装上:sudo apt-get install build-essential sudo apt-get install cmake...

2019-07-18 19:07:47 3662 3

原创 Ubuntu16.04下安装Caffe

1.在安装caffe之前先安装一下依赖库:sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compilersudo apt-get install --no-install-recommends libboost-all-d...

2019-07-17 19:10:19 913

原创 Ubuntu16.04安装NVIDIA驱动+CUDA9.0+CUDNN7.5.1

1.NVIDIA显卡驱动安装先到英伟达官网上下载与你的显卡对应的显卡驱动。下载链接:https://www.nvidia.cn/Download/index.aspx?lang=cn下载之后是某一个.run的文件:NVIDIA-Linux-x86_64-430.14.run查看是否有NVIDIA的显卡:lspci | grep -i nvidiauname -m &amp...

2019-07-17 19:06:30 434

原创 SqueezeNet学习笔记

论文地址:SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model sizePytorch代码地址:https://github.com/DeepScale/SqueezeNetIntroduction&Motivationsqueezenet:旨在保证网络模型的精度的同时,...

2019-07-16 15:18:44 1222

原创 tensorrt5 错误

错误一:>>> import tensorrtTraceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python3.5/dist-packages/tensorrt/__init__.py", line 1, i...

2019-07-15 18:00:46 1167 2

原创 在Ubuntu16.04更换cudnn版本

官网下载指定的 cudnn版本,选择 cuDNN Library for Linux删除系统原来的的cudnnsudo rm -rf /usr/local/cuda/include/cudnn.hsudo rm -rf /usr/local/cuda/lib64/libcudnn*解压下载的文件tar zxvf cudnn-9.0-linux-x64-v7.5.0.56.tgz...

2019-07-15 15:49:33 1091

原创 FSAF-Feature Selective Anchor-Free Module for Single-Shot Object Detection

background在single-stage模型中,通常定义一系列不同宽高比的、稠密的、均匀分布的anchor-box,这些anchor-box会根据其不同的尺寸大小和不同的feature map联系起来。以FPN为结构的检测器中,anchor-box分配到对应的 ground-truth 方式如下:将FPN 上所有feature map的所有 anchor-box 与图像中的 gr...

2019-07-05 15:06:44 395

原创 YoloV3:An Incremental Improvement 学习笔记

yolov3相较于v1有了较大的改进,和v2的改进则较小。不明白可以移步下面的链接。yolov1:YOLOv1学习笔记yolov2:YOLOv2学习笔记我们主要对比v2和v3的差别。 Batch Normalization Anchor Boxes Dimension Clusters Direct location prediction Fi...

2019-06-23 23:09:47 750

原创 Windows下安装Pytorch出错

1.在官网:https://pytorch.org/get-started/locally/找到适合你环境的版本2.安装成功,但是运行可能会出错。我刚开始是用pip装的,出错,所以改用conda安装3.安装:conda install -c peterjc123 vc vs2017_runtime4.在运行以下demo:成功!...

2019-06-02 18:21:42 1619 1

原创 MobileNet

MobileNet v1标准模型MobileNet的主要工作是用depthwise sparable convolutions(深度级可分离卷积)替代过去的standard convolutions(标准卷积)来解决卷积网络的计算效率和参数量的问题。MobileNets模型基于是depthwise sparable convolutions(深度级可分离卷积),它可以将标准卷积分解成一个深...

2019-05-26 20:30:55 392

转载 YOLOv2学习笔记

YOLOv2改进1.Batch NormalizationBN(批量归一化)层简单讲就是对网络的每一层的输入都做了归一化,这样网络就不需要每层都去学数据的分布,收敛会快点。作者在YOLOv2中为每个卷积层都添加了BN层,由于BN可以规范模型,所以加入BN后就把dropout去掉了,实验证明添加了BN层可以提高2%的mAP。2.High Resolution Classifie...

2019-05-26 20:30:23 1939

原创 Focal Loss

Background现在的object detection主要分为两大类:two-stage detecor,以Faster-RCNN为代表,需要region proposal net来提取proposal,接着对提取出的proposal进行分类和精确坐标回归。这类算法可以达到很高的准确率,但因为需要单独对每个proposal进行分类/回归,速度较慢。 one-stage detecto...

2019-05-26 20:29:46 1447

原创 OpenCV-Python-(9)-边缘检测

算法概述:主流的边缘检测方法为:Canny边缘检测。其主要步骤为:对图像进行降噪,常用高斯平滑 计算图像的梯度 对可能的边缘集合进行非极大值抑制 双阈值过滤筛选算法细节:图像降噪:梯度算子可以用于增强图像,本质上是通过增强边缘轮廓来实现的,也就是说是可以检测到边缘的。但是它们容易受噪声的影响。第一步就是想到要先去除噪声,因为噪声就是灰度变化很大的地方,所以容易被识别为伪...

2019-05-08 16:37:41 1114

原创 form NMS to Soft-NMS

NMS:原理同一个目标会被多个建议框包围,这时需要非极大值抑制操作去除得分较低的候选框以减少重叠框。对2000×20维矩阵中每列按从大到小排序; 从每列最大的得分建议框开始,分别与该列后面的得分建议框进行IoU计算,若IoU>阈值(0.3~0.5),则剔除得分较小的建议框,否则认为图像中存在多个同一类物体; 从每列次大的得分建议框开始,重复步骤2; 重复步骤3直到遍历完...

2019-05-06 20:44:55 216

原创 ShellSort

算法描述:希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。希尔排序是基于插入排序的以下两点性质而提出改进方法的:插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率 但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位。希尔排序最关键的是选择步长,希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排...

2019-05-02 22:18:14 88

原创 InsertSort

算法描述:稳定的排序方法从第一个元素开始,该元素可以认为已经被排序 取出下一个元素,在已经排序的元素序列中从后向前扫描 如果该元素(已排序)大于新元素,将该元素移到下一位置 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置 将新元素插入到该位置后 重复步骤2~5代码实现:def insert_sort(lst): for i in range(1,len...

2019-05-02 17:29:11 734

原创 SelectSort

算法描述:在待排序列中找到最小(大)元素,存放到待排序列的起始位置再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。重复第二步,直到所有元素均排序完毕。冒泡排序是和相邻元素两两相比,选择排序是与所有未排序的元素相比。选择排序的进阶版就是:堆排序代码实现:第1趟,在待排序记录r1 ~ r[n]中选出最小的记录,将它与r1交换;第2趟,在待排序记录r...

2019-04-30 21:51:38 645

原创 BubbleSort

算法描述:比较相邻的元素。如果第一个比第二个大,就交换这两个元素。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。代码实现:def bubble_sort(lst): #一级遍历 for i in...

2019-04-30 21:16:38 169

原创 QuickSort

算法描述:冒泡排序的一种改进,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另外一部分记录的关键字小, 则分别这两部分记录继续进行排序,以达到整个序列有序。整个排序过程可以递归进行。代码实现:一趟快速排序的具体做法是:设两个指针,初值分别指为ow和high,设置枢轴记录的关键字为piovtkey 用子表的第一个记录lst[low]做枢轴记录 先从hig...

2019-04-30 20:37:40 1177

原创 MergeSort

算法描述:归并排序算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列。基本过程:假设初始序列含有n个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到n/2个长度为2或1的有序子序列,再两两归并,最终得到一个长度为n的有序序列为止,这称为2路归并排序。代码实现:def merge_s...

2019-04-30 17:01:42 164

原创 HeapSort

堆的定义:n个关键字序列K[1....n]称为堆,当且仅当改序列满足:第一种为:小根堆:每个结点的值都小于或等于左右孩子结点第二种为:大根堆:每个结点的值都大于或等于左右孩子结点堆是一种完全二叉树。完全二叉树是 一种除了最后一层之外的其他每一层都被完全填充,并且所有结点都保持向左对齐的树,向左对齐指的是:堆排序:堆排序的关键是构造初始堆。对初始序列构建堆,...

2019-04-29 23:31:06 4581

原创 Python-BinaryTree

前中后序三种遍历方法对于左右结点的遍历顺序都是一样的(先左后右),唯一不同的就是根节点的出现位置。中序遍历:先左再根后右递归实现:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# ...

2019-04-25 16:01:10 1157

原创 From GMM to GrabCut

GMM-Gaussian mixture model什么是高斯混合模型?任何一个曲线,我们都可以用若干个高斯曲线来无限逼近它,这就是高斯混合模型的基本思想。高斯混合模型也​被视为一种聚类方法,是机器学习中对“无标签数据”进行训练得到的分类结果。其分类结果由概率表示,概率大者,则认为属于这一类。在二维的情况下,任何一个曲线都可以用若干个组合起来的高斯函数​来逼近。 在三维的情况下,任何...

2019-04-23 21:41:14 866 1

原创 Mask R-CNN 学习笔记

Mask R-CNN是一个实例分割(Instance segmentation)算法。实例分割(Instance segmentation)和图像分类、目标检测、语义分割(Semantic segmentation)的区别与联系如下:算法的框架:由上图可以额看到:MaskR-CNN的网络结构是FasterR-CNN的扩展。 MaskR-CNN在有效检测目标的同时输出高质量的实...

2019-04-22 21:56:11 833

原创 From FCN to U-net

Fully Convolutional NetworksFCN与CNN的区别:简单的来说,FCN把于CNN最后的全连接层换成卷积层,使用反卷积上采样恢复原图大小,最后逐个像素计算softmax分类的损失,输出的是一张已经Label好的图片。CNN:通常CNN网络在卷积层之后会接上若干个全连接层, 将卷积层产生的特征图(feature map)映射成一个固定长度的特征向量。以Ale...

2019-04-16 22:21:21 1111 2

原创 Faster R-CNN 学习笔记

算法发展:R-CNN:把2000个建议框,分别送入网络Fast-RCNN:把图片送入网络中,再把2000个建议框映射到网络训练出来的feature map上Faster-RCNN:利用RPN选取300建议框,加入ROI层,ROI pooling层能实现训练和测试的显著加速,并提高检测的正确率。算法框架:算法流程:输入图片(224x224x3) 整张图输入CN...

2019-04-15 15:25:43 723

原创 神经网络损失函数

sotfmax损失1.softmax分类器:softmax函数:其输入值是一个向量(图像),向量中元素为任意实数的评分值(中的),函数对其进行压缩,输出一个向量,其中每个元素值在0到1之间,且所有元素之和为1。softmax相当于是对输入做了一个归一化处理,其结果相当于输入图像被分到每个标签的概率分布。该函数是单调增函数,即输入值越大,输出也就越大,输入图像属于该标签的概率就越大。假设...

2019-04-10 16:25:34 5730

原创 Batch Normalization

机器学习领域有个很重要的假设:IID独立同分布假设,就是假设训练数据和测试数据是满足相同分布的,这是通过训练数据获得的模型能够在测试集获得好的效果的一个基本保障。那BatchNorm的作用是什么呢?BatchNorm就是在深度神经网络训练过程中使得每一层神经网络的输入保持相同分布。梯度消失或者收敛速度慢原因:深层神经网络在做非线性变换前的激活输入值(y=Wx+b,x是输入)随着网...

2019-04-09 16:14:23 192 1

翻译 mAP-Mean Average Precision

reference:https://github.com/rafaelpadilla/Object-Detection-Metrics计算mAP的github:https://github.com/Cartucho/mAP基础概念1.IoU就是交并比,衡量bounding-box和ground Truth的重合程度。2.TP、TN、FP、FNTrue positives...

2019-04-08 21:06:33 1072

原创 SSD-学习笔记

Reference:https://blog.csdn.net/jy001227801/article/details/80388192 https://blog.csdn.net/a8039974/article/details/77592395SSD具有如下主要特点:从YOLO中继承了将detection转化为regression的思路,同时一...

2019-04-03 22:01:46 772

原创 YOLOv1学习笔记

reference:https://zhuanlan.zhihu.com/p/32525231https://blog.csdn.net/tangwei2014/article/details/50915317与R-CNN网络的区别:比较流行的算法可以分为两类:一类是基于Region Proposal的R-CNN系算法(R-CNN,Fast R-CNN, Faster R-CN...

2019-04-01 21:45:35 722

空空如也

空空如也

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

TA关注的人

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