Johnny's Blog

Talk is cheap. Show me the code.

论文阅读Detecting Text in Natural Image with Connectionist Text Proposal Network

一个引入序列信息的文本检测方法

1. 算法核心内容        本论文提出了一个使用CNN和LSTM的文本检测算法,CNN学习深度特征,使用LSTM学习使用文本特征序列中的有用信息用于文本检测,获得不错的检测效果。算法整体流程如下文所示: 1.算法对输入图片首先使用VGG网络的前五个conv模块提取深度特征,得到大小为W*H*C的特征图; 2.对获得的特征图使用SSD中类似的3*3卷积核进行滑动卷积得到宽度为W...

如何让TensorFlow restore时step为0

restore except global step

       在使用TensorFlow训练模型时,常常需要反复修改参数进行多次训练,训练时常常需要对学习率进行衰减,比如使用tf.train.exponential_decay对初始学习率进行衰减。但是这种方法存在一个弊端:训练模型时,由于数据多少、模型大小等因素的影响,一般无法提前确定训练模型使用多大的学习率,学习率在训练多少次迭代后衰减,衰减多少。大多数时候需要“调参师”看着loss下...

CNN+RNN+CTC OCR

TensorFlow实现笔记

RNN、CTC和OCR        OCR(Optical Character Recognition,光学字符识别)它是利用光学技术和计算机技术把印在或写在纸上的文字读取出来,并转换成一种计算机能够接受、人又可以理解的格式。OCR用处很广,例如车牌识别,身份证等证件的识别,文档扫描,等等。早期的OCR技术一般使用传统的图像处理技术,比如灰度化、二值化、找轮廓、分割、识别。这些技术的应用...

论文阅读Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks

一个快速准确的人脸检测算法

1. 算法核心内容        本论文提出了一种分步、多任务(同时预测人脸和人脸关键点)的人脸检测算法,算法的整体Pipeline如下图所示:        拿到一张图片后,首先对图片进行resize到不同尺寸得到图形金字塔。然后作者设计一个全卷积神经网络P-Net(Proposal Network)用于产生人脸候选框和回归具体位置坐标的回归向量,然后使用NMS合并重合度较高的候选...

论文阅读Seeing Small Faces from Robust Anchor’s Perspective

如何解决人脸检测小脸的漏检问题

1. 问题阐述        现有的人脸检测算法基本都是受Faster-rcnn和SSD启发的基于anchor机制的检测算法,这种算法有一个很大的技术特点,那就是:使用default box和人脸之间的IOU(Intersection-over-Union)overlap评估某个人脸和default box之间的相似度,从而决定图片中某个人脸应该由哪个default box来预测其精确的位置...

FFmpeg解码视频保存图片

如何使用FFmpeg解码视频

       项目需要,这几天尝试使用FFmpeg解码视频并得到图片,包括各种格式的监控视频,经过几天的努力,终于完成了,在这里做个记录。        FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性...

在caffe中使用HDF5格式数据进行关键点检测

hdf5

       关键点检测是计算机视觉任务中常见的一个任务,比如人脸关键点检测。关键点检测是要在已知的某种图像中找到感兴趣点的二维信息,比如在人脸中找到人的五官的中间位置点的坐标信息,如下图所示:        图中获取到人脸的关键位置信息,可以进一步进行人脸对齐之类的操作。关键点检测同样可以用到别的方面,比如车牌关键点检测。车牌关键点检测的目的是从已经检测到的车辆图片中寻找车牌的关键信...

Deep Learning 之 batch normalization

batch-normalization

       一直使用的各种卷积神经网络模型一般都会使用Batch Normalization,虽然经常使用,但是我对其中的细节一直不是很清楚。最近花了点儿时间仔细看了这篇论文《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》和几篇相关的博客,在这里做一下...

Linux下非root用户安装GCC 5.4

非root用户如何安装软件

我使用的服务器上的GCC版本是4.7,但是我编译一个项目的源码需要GCC 5.3以上的版本,而我又没有root权限,而且因为别人都用着4.7的版本没有问题,不可能因为我一个人升级GCC,这种情况下有没有办法为自己单独安装一个GCC呢?答案是肯定的。只需要稍微修改一下安装的配置文件就行了。 首先需要下载新的GCC源码,我这里安装的是GCC 5.4,下载之后解压并进入目录。命令如下: wge...

Linux 命令 dos2unix

文件在不同的操作系统之间传输导致的错误

今天遇到一个奇怪的问题:运行一个很简单的shell脚本,脚本如下: /build/tools/ristretto quantize \ --model=models/SqueezeNet/train_val.prototxt \ --weights=models/SqueezeNet/squeezenet_v1.0.caffemodel \ --model_quantized=mod...