自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

风骚的小柴犬

本博客只是个人的一些心得体会,不涉及商用,有不对的,请大家多多指教。

  • 博客(37)
  • 资源 (6)
  • 收藏
  • 关注

原创 【OCR技术系列之四】基于深度学习的文字识别

上一篇提到文字数据集的合成,现在我们手头上已经得到了3755个汉字(一级字库)的印刷体图像数据集,我们可以利用它们进行接下来的3755个汉字的识别系统的搭建。用深度学习做文字识别,用的网络当然是CNN,那具体使用哪个经典网络?VGG?RESNET?还是其他?我想了下,越深的网络训练得到的模型应该会更好,但是想到训练的难度以及以后线上部署时预测的速度,我觉得首先建立一个比较浅的网络(基于LeNe...

2019-05-15 10:11:00 314 2

原创 CTPN网络理解

本文主要对常用的文本检测模型算法进行总结及分析,有的模型笔者切实run过,有的是通过论文及相关代码的分析,如有错误,请不吝指正。一下进行各个模型的详细解析CTPN 详解代码链接:https://github.com/xiaofengShi/CHINESE-OCRCTPN是目前应用非常广泛的印刷体文本检测模型算法。CTPN由fasterrcnn改进而来,可以看下二者的异同网络结构...

2022-11-07 16:27:39 688

原创 Leetcode刷题日记(2020.8.5):编辑距离(最全面的讲解)

题目如下:

2020-08-05 21:33:00 162

原创 Python程序打包成.exe(史上最全面讲解)

前言  也许我们不一定是专业的程序员,但是我们仍然可以通过代码提高我们的效率,尽量少加班,多陪陪媳妇。再不行,让代码替我们干着重复的工作,我们有节省出来的时间打游戏不好嘛,是吧,哈哈哈。  但是呢,我们开发的脚本一般都会用到一些第三方包,可能别人也需要用到我们的脚本,如果我们将我们的xx.py文件发给他,他是不能直接用的,他还需要安装python解释器,甚至还要安装我们用的那些第三方...

2020-07-25 10:25:00 44340 13

原创 机制解决torchvision下载国外数据集mnist没有进度条的解决方案

我试着使用torchvison下载mnist数据集,但是由于是外国的站点,相信不只是mnist数据集,其他的数据集也可能遇到下载不了或者下载速度很慢的情况。cifar10/100也可以按照这样的方法进行下载但是呢,很多人已经从外国的网站下载过了,你再下载它们共享的资源就可以下载成功,接下来你可以手工的把下载好的数据集放到恰当的位置。你可能以为是万事大吉了,但是它会报错:RuntimeE...

2020-07-24 11:23:00 571

原创 Leetcode刷题日记(2020.07.19):两数相加II

题目:思路分析:让求两个数相加是个经典的问题。让我们复习一下小学的求加法:把两个加数的个位数字对齐;从两个加数的个位开始相加,如果相加结果大于10则只保留减去10的数字,并记录是否为进位。两个加数的前面一位数字相加,加上进位,重复步骤2.所以,我们需要三个变量:加数a当前的数字s1,加数b当前的数字s2,进位carry.计算过程是:从两个数字的末尾数...

2020-07-19 16:07:00 119

原创 Leetcode刷题日记-程序员面试经典(2020.7.15):珠玑妙算

题目描述如下:分析如下:a.建立两个字典,存放solution和guess颜色出现的个数b.因为题目中说“猜中”不能算入“伪猜中”,因此“猜中”的优先级更高c.先计算猜中的次数,对应的字典-1d.再计算伪猜中的次数,对应的字典-1e.最后返回结果即可代码如下: 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3...

2020-07-15 10:02:00 316

原创 Leetcode刷题日记(2020.7.13)程序员面试经典:消失的两个数字

题目描述如下:分析如下:此题目乍一看挺难的没有思路,其实很简单,他要找消失的两个数字,那么也及时其实原数组应该是在现有输入数组的基础上加上两个数字,此时range()函数就可以上场了,但是很多人说,你这样会有重复哎,咋办呢,直接使用set()去重复即可。代码如下: 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*-...

2020-07-13 10:47:00 153

原创 Leetcode刷题日记-程序员面试经典(2020.6.23):化栈为队

题目描述:思路整理:此题为简单题,没啥说的,我们直接用两个栈,一个输入栈,一个输出栈即可来实现代码:#!/usr/bin/env python# -*- coding: utf-8 -*-"""# @Time : 2020/6/24 9:20 # @Author : ZFJ# @File : 化栈为队.py # @Software: PyCharm"...

2020-06-24 09:46:00 217

原创 Leetcode刷题日记-剑指Offer(2020.6.19):从尾到头打印链表

题目描述如下:思路描述:这是一道简单的链表题目,我开始用了头插法,但是时间开销过大,因此进行了优化,分为以下几种方法给大家讲解方法一:使用头插法,我们可以直接使用列表的插入方法,每次插入数据,只插入在首位代码如下: 1 # -*- coding: utf-8 -*- 2 """ 3 @time: 2020/6/19 9:14 4 @author: ZFJ ...

2020-06-19 14:15:00 144

原创 Leetcode刷题日记(2020.6.11):旋转矩阵

题目如下:分析如下:本题其实就是将矩阵进行旋转,因为我主要是研究CV的,所以对于这种坐标的转换很熟悉,看到后,我就用了自己常用的方法:首先我们将矩阵进行上下交换,接着再将得到的新矩阵按照对脚线进行交换机可代码如下: 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 """ 4 # @Time :...

2020-06-11 09:39:00 200

原创 Leetcode刷题日记(2020.6.10):求和路径

题目如下:思路:首先说下,这是典型的二叉树的题目,用递归便能解决算法流程:1.首先进行安全检查,如果空树,那么直接返回02.首先我们从根节点出发,去遍历这个根节点下所有满足条件的路径数目,每次到达一个节点,将传入的参数sum减去root的val,这是一个递归。然后我们需要遍历所有的根节点,那么又需要一个递归去遍历。两层递归。代码如下: 1 #!/usr/bin/env...

2020-06-10 10:18:00 211

原创 Leetcode刷题日记(2020.6.9):最小值

题目如下:分析:本题说实话,没什么特殊的技巧,有的只是细节首先假如我们用暴力枚举两个数组中的所有数对,然后再计算绝对值最小的差值,肯定超时;那么我想了下,我们可以先分别对两个数组按照从小到大的顺序进行排序,然后再使用双指针的方法来计算算法流程:1.初始时,我们设置i=0,j=0分别指向两个数组中的第一个元素;2.然后我们计算a[i]-b[j]的绝对值,如果比当前的最小值...

2020-06-09 10:26:00 234

原创 Leetcode刷题日记(2020.06.05):翻转单词顺序

题目如下:分析:本体涉及到多个空格当成一个空格,因此我立刻想到了Python中的split()函数,在这里首先普及下split()和split(' ')两个函数的区别: 1 s1 = "we are family"#中间一个空格 2 s2 = "we are family"#中间两个空格 3 s3 = "we are family"#中间三个空格...

2020-06-05 15:30:00 152

原创 Leetcode刷题日记(2020.06.03):最长连续递增序列

题目描述如下:这是一道简单题目,思路如下:我们只需要判断后一个元素是否大于前一个元素,如果是的,我们的计数器+1;如果不是,那么我们在计数器和最大长度这个变量上进行取值分析,并且重置计数器为1。代码如下: 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 """ 4 # @Time : 2020/6/3 9:33 ...

2020-06-03 10:02:00 102

原创 Leetcode刷题日记(2020.06.02):面试题53-II.0~n-1中缺失的数字

题目难度:简单题目描述:一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。实例如下:这道题我自己开始的分析:我将其分为三种情况进行考虑:a.当数组缺失的是数值0,即为第一个元素缺失;b.当数组中缺少中间值;c.当数组中缺少最大值,即最末位的元素代码如...

2020-06-02 11:05:00 563

原创 CV热门面试题总结1

题目1:如何应对图像光照变化大?1、直方图均衡化2、对比度拉伸,或者调节3、若受光源影响,使得图片整体色彩往一方面移动,用白平衡算法进行修正,使其发黄、发蓝、发红的照片更加趋于自然光下的图像4、若是过爆或者过暗,可是设计阈值函数,不用全局阈值,对特定区域进行特定阈值分割。5、若是太暗,可以采用对数变化,对数图像增强是图像增强的一种常见方法,其公式为:S = c log (r+1...

2020-01-06 21:20:00 255

原创 Leetcode刷题笔记(Python 找出所有相加之和为n的k个组合,组合中只允许含有1-9的正整数,并且每种组合中不存在重复的数字。)...

eg:输入:k=3,n=9 输出:[[1,2,6],[1,3,5],[2,3,4]] 输入:k=2,n=5 输出:[[1,4][2,3]] 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 """ 4 # @Time : 2019/12/19 21:11 5 6 # ...

2019-12-19 21:39:00 2105

原创 opencv-python图像二值化函数cv2.threshold函数详解及参数cv2.THRESH_OTSU使用

cv2.threshold()函数的作用是将一幅灰度图二值化,基本用法如下:#ret:暂时就认为是设定的thresh阈值,mask:二值化的图像ret,mask = cv2.threshold(img2gray,175,255,cv2.THRESH_BINARY)plt.imshow(mask,cmap='gray')上面代码的作用是,将灰度图img2gray中灰度值小于...

2019-12-12 10:46:00 9833 6

原创 2019年目标检测论文汇总

object-detection[TOC]This is a list of awesome articles about object detection. If you want to read the paper according to time, you can refer toDate.R-CNNFast R-CNNFaster R-CNNMask R-CNN...

2019-12-12 10:12:00 2115

原创 图像亮度自适应调整(Python版)

本篇博客主要给大家介绍的是对一篇论文中的亮度自适应算法的复现,感兴趣的同学可以进行尝试。在视频和图像的采集过程中,由于受到地物环境复杂、物品之间相互遮挡以及环境光照条件多变等因素的影响,经常会导致场景的光照不均匀,主要表现为图像中亮的区域光线足够或者过强,而暗的区域照度不足,导致一些重要的细节信息无法凸显甚至被掩盖掉,严重影响了图像的视觉效果和应用价值,因此开展光照不均匀图像的校正研究,消除不均...

2019-07-26 15:20:07 11107 7

原创 Python3探索正则表达式

前言正则表达式就是从字符串中发现规律,并通过“抽象”的符号表达出来。打个比方,对于2,5,10,17,26,37这样的数字序列,如何计算第7个值,肯定要先找该序列的规律,然后用n2+1这个表达式来描述其规律,进而得到第7个值为50。对于需要匹配的字符串来说,同样把发现规律作为第一步,本文主要使用正则表达式完成字符串的查询匹配、替换匹配和分割匹配。常用的正则符号在进入字符串的匹配之前,先来了解...

2019-07-19 16:42:35 136

原创 Python2到Python3的坑(不断更新)

1.在Python2中有long()到Python3取消了。(遇到时间为:2019.07.19)2.Python2和Python3中range()函数的用法不一致,在Python2中,输出的是list类型,而Python3中输出的是range类型。常遇到的报错如下: ‘range’ object does not support item assignment,此时我们需要做的便是进行list的...

2019-07-19 11:50:57 206

原创 将博客搬至CSDN

暂时搬迁到CSDN

2019-07-17 10:17:00 47

原创 准确率、召回率和综合评价指标

最近在准备比赛,由于比赛涉及到准确率,召回率和综合评价指标,虽然以前都看过,但是突然间忘了,显得很是尴尬,所以写篇博客来帮自己做一下笔记。1.基本概念准确率和召回率这两个通常是此消彼长的(trade off),很难兼得。很多时候用参数来控制,通过修改参数则能得出一个准确率和召回率的曲线(ROC),这条曲线与x和y轴围成的面积就是AUC(ROC Area)。AUC可以综合衡量一个预测模型的...

2019-07-16 16:04:00 267

原创 Python中容易忽视的知识点

今天坐在实验室,觉得有点无聊,想了下,很久没写博客了,就来写一点,正好遇到了一个有意思的小问题,分享给大家。首先我们通过一个小的实验来看一下内容:不管是 Python2 还是 Python3 环境下,只要你是在 CPython 的交互式命令行 REPL 中执行,结果没什么不同。我们知道 is 比较的是两个对象的内存地址是否一样( id 函数返回一个和对象的内存地址相关的值),言外之...

2019-07-05 10:52:00 73

原创 Windows中安装Pytorch和Torch

近年来,深度学习框架如雨后春笋般的涌现出来,如TensorFlow、caffe、caffe2、PyTorch、Keras、Theano、Torch等,对于从事计算机视觉/机器学习/图像处理方面的研究者或者教育者提高了更高的要求。其中Pytorch是Torch的升级版,其有非常优秀的前端和灵活性,相比TensorFlow不用重复造轮子,易于Debug调试,极大的提高开发效率,使得其在其他框架中脱颖...

2019-05-15 17:00:00 109

原创 字体风格迁移,卷积神经网络打败艺术字,生成最美汉字

曾几何时,小学的我们上机课时最喜欢摆弄的就是 word 的艺术字,丑陋的效果并不能阻挡我们在每个角落塞进七彩的字体.......“七彩”的艺术字但是时代不同了,我们现在已经有了各种先进的 PS 软件,我们已经可以做出这样的艺术字:各种PS艺术字我想看到这里,很多人都觉得做一个设计师是多么的不容易,我感觉也是,那么我们能够更进一步,从而解放设计师的双手吗?(我用双手,成就你的...

2019-05-13 17:05:00 668 2

原创 【OCR技术系列之三】大批量生成文字训练集

到周末了,终于可以继续可以静下心写一写OCR方面的东西。上次谈到文字的切割,今天打算总结一下我们怎么得到用于训练的文字数据集。如果是想训练一个手写体识别的模型,用一些前人收集好的手写文字集就好了,比如中科院的这些数据集。但是如果我们只是想要训练一个专门用于识别印刷汉字的模型,那么我们就需要各种印刷字体的训练集,那怎么获取呢?借助强大的图像库,自己生成就行了!先捋一捋思路,生成文字集需要什么步骤...

2019-05-12 23:15:00 258 1

原创 【OCR技术系列之二】文字定位于切割

要做文字识别,第一步要考虑的就是怎么将每一个字符从图片中切割下来,然后才可以送入我们设计好的模型进行字符识别。现在就以下面这张图片为例,说一说最一般的字符切割的步骤是哪些。当然,我们实际上要识别的图片很可能没上面那张图片如此整洁,很可能是倾斜的,或者是带噪声的,又或者这张图片是用手机拍下来下来的,变得歪歪扭扭,所以需要进行图片预处理,把文本位置矫正,把噪声去除,然后才可以进行进一步的字符分...

2019-04-24 16:04:00 237

原创 卷积神经网络CNN总结

从神经网络到卷积神经网络(CNN)我们知道神经网络的结构是这样的:那卷积神经网络跟它是什么关系呢?其实卷积神经网络依旧是层级网络,只是层的功能和形式做了变化,可以说是传统神经网络的一个改进。比如下图中就多了许多传统神经网络没有的层次。卷积神经网络的层级结构 • 数据输入层/ Input layer  • 卷积计算层/ CONV layer  • ReLU激励层 / R...

2019-04-24 15:40:00 241

原创 【OCR系列之一】字符识别技术总览

最近入坑研究OCR,看了比较多关于OCR的资料,对OCR的前世今生也有了一个比较清晰的了解。所以想写一篇关于OCR技术的综述,对OCR相关的知识点都好好总结一遍,以加深个人理解。什么是OCR?  OCR英文全称是Optical Character Recognition,中文叫做光学字符识别。它是利用光学技术和计算机技术把印在或写在纸上的文字读取出来,并转换成一种计算机能够接受、人又可以理...

2019-04-24 15:24:00 214

原创 隐马尔可夫模型(HMM)及Viterbi算法

HMM简介  对于算法爱好者来说,隐马尔可夫模型的大名那是如雷贯耳。那么,这个模型到底长什么样?具体的原理又是什么呢?有什么具体的应用场景呢?本文将会解答这些疑惑。  本文将通过具体形象的例子来引入该模型,并深入探究隐马尔可夫模型及Viterbi算法,希望能对大家有所启发。  隐马尔可夫模型(HMM,hidden Markov model)是可用于标注问题的统计学模型,描述由隐藏的马尔可夫链随...

2019-04-23 13:16:00 203

原创 机器学习-线性回归

线性回归-y=wx+b在正式探讨之前呢,我想说说我对“回归”一词的理解:回归,这是统计学的术语,他是用来表示变量之间的某种数量上的依存关系,正是基于此引出了回归方程和回归系数。是不是觉得觉得说的很抽象,当我看到别人跟我这么一本正经的讲解时,我甚至都想扇他,经过我的资料查找和理解后,我认为回归是这个意思:用观察使得认知接近真值的过程,回归本源。其实联系生活实际,就很好理解:​在我们认知(测量)...

2019-04-04 17:29:00 293

原创 机器学习-朴素贝叶斯

朴素贝叶斯的概念朴素贝叶斯分类(Naive Bayes Classifier)是一种简单而容易理解的分类方法,看起来很Naive,但用起来却很有效。其原理就是贝叶斯定理,从数据中得到新的信息,然后对先验概率进行更新,从而得到后验概率。就好比说我们判断一个人的品质好坏,对于陌生人我们对他的判断是五五开,如果说他做了一件好事,那么这个新的信息使我们判断他是好人的概率增加了。朴素贝叶斯分类的优势...

2019-04-03 10:59:00 207

原创 机器学习-贝叶斯网络

贝叶斯网络的概念把某个研究系统中涉及的随机变量,根据是否条件独立绘制在一个有向图中,就形成了贝叶斯网络。贝叶斯网络(Bayesian network),又称信念网络(Belief Network),或有向无环图模型。是一种概率图模型,根据概率图的拓扑结构,考察一组随机变量X1,X2…XnX1,X2…Xn及其n组条件概率分布的性质。也就是说它用网络结构代表领域的基本因果知识。  贝叶斯网...

2019-04-02 09:36:00 352

原创 机器学习系列(一)--术语篇

机器学习的术语:机器学习正是这样一门学科,它致力于研究如何通过计算的手段,利用经验来改善系统自身的性能.在计算机系统中,“经验”通常以“数据”形式存在,因此,机器学习所研究的主要内容,是关于在计算机上从数据中产生“模 型”(model)的算法,即“学习算法”(learning algorithm).有了学习算法,我们把经验数据提供给它,它就能基于这些数据产生模型;在面对新的情况时(例 如看到一...

2019-04-01 17:16:00 513

基于二维伽马函数的光照不均匀的图像自适应校正算法.py

使用Python3实现了图片的亮度的自适应调整的算法,解决了图片亮度不一的问题。

2019-07-26

OCR文字识别

实现语言是Python3,调用了腾讯的接口实现了简单的文字识别,也就是腾讯库中有的那些文字,基本都可以识别,对于印刷体的识别率高达98%,而手写体规范的有85左右,因为没有做预处理。

2019-07-19

Python3爬虫汇总

自学爬虫的过程中,写了很多的代码,从最开始的慢慢抓包分析,到后来的使用框架进行爬虫,这些全都是自己实现的,需要的请自己下载。

2019-07-19

Python3实现进程与线程的编程

使用Python3模拟了进程和线程的整体流程,让大家知道整个的关系,从而知道细节,也加强了动手能力

2019-07-19

飞机大战.zip

使用Python3完成蟒蛇书上关于飞机大战的项目,自己写了一下,稍微改进了一点,需要的请自行下载

2019-07-19

照片左右页合并.zip

当你需要进行资料扫描时,我们可以先全体扫描左边,在全体扫描右边,本程序,便实现了,扫描完后的照片的左右页的合并,从而极大的减轻你后期的工作量。

2019-07-19

空空如也

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

TA关注的人

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