3 IT_BOY__

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 6w+

python中opencv 与 PIL读图区别,以及与Numpy转换

之前在图片预处理上就遇到过opencv和PIL,很纠结PIL读取的图片不好在opencv上使用,或者是opencv读取的图片不好在PIL上使用,以及它们如何转换为numpy类型。现在有时间,做个小实验总结一下附上代码import numpy as npimport cv2from PIL import Imageimport matplotlib.pyplot as pltimg_cv2 = cv2.imread("jena.jfif")img_PIL = Image.open("jena.j

2020-06-02 23:10:05

Pytorch官方微调Mask-RCNN遇到的坑

官网地址已经成功做好了这个实验,但是不得不吐槽一下官方的说明书,做实验的前提不交代好,尤其是这句话:In references/detection/, we have a number of helper functions to simplify training and evaluating detection models. Here, we will use references/detection/engine.py, references/detection/utils.py and ref

2020-05-27 12:09:29

对pytorch中optimizer.zero_grad()理解

刚接触pytorch不久,就遇到这种问题,既然要计算梯度(pytorch用loss.backward()计算各参数的梯度loss.grad),那为什么要先将上个epoch的梯度重置为0再去计算呢?其主要原因是:在torch.autograd中,上个epoch计算Variable中的grad成员也会自动变成Variable,也就是说,Variable变多了,但是这些Variable是不需要的,所以将其重置为0,让它不起作用。这样的话,下一次求的梯度就是之前Variable对应的梯度了。官方解释:We t

2020-05-25 08:39:46

pytorch 卷积 分组卷积 及其深度卷积

转载申明:https://blog.csdn.net/lyl771857509/article/details/84109695先来看看pytorch二维卷积的操作API现在继续讲讲几个卷积是如何操作的。一. 普通卷积torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)普通卷积时group默认为1 dilation=1(这里先暂时

2020-05-14 15:29:47

RPN遇到的坑

RPN的作用在于较为准确的选择前300个推荐框,前2篇论(RCNN,Fast-RCNN)用的是Selective Search方法, 贪婪地合并基于低层次特征的像素,产生2000个推荐框,效率低。本文主要讲解RPN网络层及其损失函数,遇到过的坑和疑惑的地方在这里记录一下,便于今后回顾。涉及到的内容过多,请参考:Faster-RCNN论文地址1、RPN模型要点1:在每个滑动窗口的中心(经过...

2020-05-08 17:24:17

Tensorflow2.0实例化 Model 的两种方式

1、在“函数式API”中,从“输入层”开始,当前层的输入层是前一层的输出层,最后用输入层和输出层创建模型:inputs = tf.keras.Input(shape=(28,28,1))x = Conv2D(32,3,activation='relu')(inputs)x = Flatten()(x)x = Dense(128,activation='relu')(x)outputs =...

2020-04-10 12:18:34

成功解决tensorflow2.0在VS-Code代码自动提示功能

目前tensorfow2.0稳定版还不能自动提示,网上说是tensorflow懒惰加载依赖引起的,先不管这些了。使用tensorflow-2.0.0-beta(测试版),其中的API跟稳定版基本一致,应该可以满足大部分需求,如果不行的话,可以将编写的代码放到tensorflow-2.0稳定版本运行,这也是一个不错的选择。不多说了,附上具体解决方法。1、pip install tensorflow...

2020-04-08 10:07:30

最长公共子串和最长公共子序列(仅讨论2个字符串)

最长公共子串必须是连续的,而最长公共子序列可以不连续,只要顺序一致就行。例如 s1=abcdef,s2=acdsse,最长公共子串是cd,最长公共子序列是acde,这里简单点,只讨论最大子串或子序列的长度。1、最长公共子串如果按照普通方法求的话,时间复杂度非常高,这里使用动态规划的思想,就是要找出最优子结构,最优子结构之间的联系,构建递推公式,一步步求好小问题,大问题则迎刃可解。最优子结构是,...

2020-03-19 16:49:50

Cmake opencv 和 contrib遇到的问题

简述:最近需要用到opencv的高级算法库,比如目标跟踪、特征提取等。这些高级算法库都封装在一个单独的模块contrib。opencv官方下载的window下的exe文件,双击安装后的opencv文件是已经编译好的文件,这里面是不包含contrib模块的。所以,我们需要自己编译一个带有contrib模块的opencv库。准备编译工具Cmake,opencv和contrib源代码。Cmake链接(...

2020-03-02 09:51:21

LeetCode 33. Search in Rotated Sorted Array

Description:Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.(i.e., [0,1,2,4,5,6,7] might become [4,5,6,7,0,1,2]).You are given a target value to search....

2020-02-18 15:11:46

LeetCode 31. Next Permutation

Description:Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.If such arrangement is not possible, it must rearrange it as the lowest...

2020-02-16 19:23:52

使用EmguCV集成的Tesseract-OCR进行光学字符识别

开源代码:https://github.com/tesseract-ocr/tesseract简述:之前是惠普开发的,并在2005年开源出来,2006年,谷歌接手维护。在光学字符识别上算是一个不错的算法,而且还是开源的。EmguCV集成了该算法,资源文件需要去官网下载,下载速度挺慢的,有需要可在下方链接进行下载:调用的核心代码:tess = new Tesseract("Tessdata",...

2019-12-02 13:30:23

使用tensorflow实现BP神经网络

前言:前一篇博客使用numpy实现了BP神经网络,梯度求解和参数的更新都需要自己来编程实现,一不小心就会搞错。然而,每一层的实现都有一个固定的套路,激活函数也就这么几个,有没有更好的框架来实现呢?额谷歌团队开发了一个深度学习框架tensorflow,将一些繁琐的东西封装好了供我们使用。tensorflow在工业界和学术界都使用广泛,所以,我们有必要学习使用tensorflow,今天小试牛刀,用t...

2019-11-01 17:12:35

使用Numpy实现BP神经网络

前言BP神经网络是深度神经网络的基础,由于深度神经网络过于复杂,不便于理解其中参数更新的过程,所以我们一般会用3层网络来理解这个过程。BP网络由输入层,隐藏层和输出层组成。一次正向传播输出结果,算出损失值,然后一次反向传播,求出各层之间连接的权重和偏置的梯度,通过梯度下降法(或者其他方法)更新参数,从而完成一次loss的最小优化。重复正,反向传播的过程,直到loss不再减小(或者说减少的很小,可...

2019-11-01 16:35:08

逻辑回归之原理分析与实践

一、简述上一篇博客写到线性回归,它是一个线性拟合的过程,而逻辑回归是一个通过线性分类的过程,逻辑回归可以用于多分类,其实就是在分割好的区域再次线性分割,从而实现多分类,一般用在二分类的模型中。二、数学原理三、编程测试沙发婚纱发件方三房...

2019-09-30 16:36:01

线性回归之原理分析与实践

1、环境:Pycharm2017.2,Win7,python3.62、损失函数一般用均方误差来表示,对损失函数进行微分,可以得到梯度,使用梯度下降法不断迭代,可以将参数调整为最佳(前提条件是损失函数为凸函数,并且学习率比较合适)。使用公式: w = w - 梯度*学习率https://www.jianshu.com/p/f5570f21e5behttps://blog.csdn.net/n...

2019-09-27 16:04:20

卷积层与全连接层权重(参数)个数的计算

环境:Pycharm2017.2,tensorflow 2.0.0b0,Win7感想:最近在研究卷积神经网络的构建和训练,权重(参数)是一个非常重要的概念,卷积层会用多个不同的卷积核,每个卷积核有m*n个权重,用来提取和强化图像的特征,主要利用了图像的局部相关性。全连接层,顾名思义,每一层的每个神经元都与上一层的每个神经元连接起来,每条连接都有一个权重和偏置来进行传递。构建卷积网络如下:im...

2019-09-05 10:01:36

文本倾斜校正的两种方法(Python-OpenCv)

一、通过minAreaRect方法获得斜率参考资料:【1】http://www.360doc.com/content/17/0225/20/28294195_631980376.shtml【2】https://blog.csdn.net/qq_24237837/article/details/77850496主要步骤:1、输入图片2、灰度化3、图像取非4、二值化5、获得有文本区域...

2019-06-26 17:18:15

ImageAI目标检测和resnet50_coco_best_v2.0.1.h5模型文件

最近在学习使用ImageAI库中的目标检测库,有个模型文件官网下载速度让人捉急,动不动就0kb/s,在这里共享一下这个模型文件(resnet50_coco_best_v2.0.1.h5),供大家学习使用。资源链接:链接:https://pan.baidu.com/s/1MMwCXRODROFRXwx8k1Ki0g提取码:epnr参考博客:【1】https://blog.csdn.net/...

2019-06-21 17:09:19

基于OpenCVSharp的人脸识别系统

一、概述因为OpenCv对UI兼容不是很好,C#可以很好地写UI,有2个框架可供选择:1、EmguCv;2、OpenCvSharp。OpenCvSharp是一个日本人开发的开源项目,里面封装的类和方法和OpenCv非常相似,且底层协议用的是BSD,对商业友好,OpenCvSharp的下载量已经超过了EmguCv,之前用了EmguCv,现在改用OpenCvSharp来做OpenCv的程序开发。人脸...

2019-06-13 15:24:48

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。