自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 OpenStreetMap地图服务器安装

在CentOS 6.7上安装OSM地图服务器。安装环境:CentOS-6.7-x86_64-minimal.iso安装PostgreSQL数据库和PostGIScurl -O https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-3.noarch.rpmsudo rpm -i

2017-09-12 16:19:22 3730 2

原创 球谐函数与光照估计

最近用到球谐函数(Spherical Harmonics),这是一种非常优雅的光照模型。关于球谐函数,具体的数学推导可以在维基百科上查到: https://en.wikipedia.org/wiki/Spherical_harmonics我主要介绍一下球谐函数在光照估计中的应用。球谐函数光照估计就是从图片中获取光照信息,从而降低光照对纹理的影响。传统的光照估计依赖于光源方向和法线方向的估计,而

2017-03-16 13:56:00 8769 3

原创 Face++ API调用

Face++提供的API接入示例代码太过复杂,http请求需要使用Multipart方式,代码居然真的自己组装了一个multipart请求体,没有充分使用轮子啊。我用轮子把这个过程简化一下,代码如下:import requestsfrom json import *http_url = "https://api-cn.faceplusplus.com/facepp/v3/detect"key =

2017-03-02 15:17:59 6401

原创 图形学笔记:光栅化图形管线

图形流水线是目前使用最为广泛的渲染方式。图形流水线图形流水线中,顶点处理将3D的顶点转换到屏幕2D空间上,光栅化寻找每个图元对应的像素生成未着色的片段(fragments),片段处理步骤将每个片段着色,最后混合每个片段生成最终显示的图像。更形象的几张图用来帮助理解,从中可以看到每一个操作的输入和输出。顶点处理在顶点处理中,主要用到的技术是坐标变换。经过多次坐标变化,物体从世界坐标系中最终变换到2D的

2017-01-15 14:18:31 3761

原创 图形学笔记:光线追踪

光线跟踪是一种经典的渲染方法。概述光线跟踪算法假设光线从眼睛出发,跟踪光线的路径,由此找到对应点的信息。光线生成投影3D场景到2D图像的转变有不同的投影方式,主要有平行投影和透视投影。其中透视投影和人眼的视觉特点一致。光线在透视投影中,光线的原点是人眼位置,方向为从眼睛到每个像素的方向。交点从眼睛发出的光线需要计算和场景中物体的交点。主要有线与球的交点,线和三角形的交点。其中线和三角形的交点比较常用

2017-01-14 17:13:29 2487

原创 图形学笔记:概述

最近在阅读《Fundamentals of Computer Graphics(Third Edition)》。本书作者是英伟达公司的Peter Shirley和康奈尔大学的Steve Marschner,兼顾了理论和实践,值得推荐。特此记录一下阅读笔记,主要内容使用 XMind绘制思维导图并加上部分说明。概述计算机图形学研究的是如何使用计算机创建和操作图像。主要研究内容为:模型,渲染,动画。本书大

2017-01-14 16:33:29 1077

原创 目标检测:Faster R-CNN

《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》论文解读本文来自Shaoqing Ren,看论文作者列表也是天团级配置,Kaiming He, Ross Girshick, and Jian Sun。概述前面的Fast R-CNN已经把特征提取、目标分类和边框回归统一到了一个框架下面,现在

2016-12-20 13:54:06 2130

原创 目标检测:Fast R-CNN

《Fast R-CNN》论文解读本文作者是Ross Girshick,和R-CNN作者一样。概述前面提到端到端的检测框架是很难实现的,那么先把除了region proposal的部分统一起来。Fast R-CNN贡献就在于把特征提取,SVM,Bounding box regression统一到一个框架里面了。Fast R-CNN先说点题外话,如何阅读一篇论文?对于深度学习方面的论文,我觉得要关注以下

2016-12-19 15:56:43 1753

原创 目标检测:SPP-net

《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》论文解读本文来自Kaiming He大神。上文说到R-CNN的最大瓶颈是2k个候选区域都要经过一次CNN,速度非常慢。Kaiming He大神最先对此作出改进,提出了SPP-net,最大的改进就是只需要将原图输入一次,就可以得到每个候选区域的特

2016-12-18 13:29:31 12811

原创 目标检测:R-CNN

《Rich feature hierarchies for accurate object detection and semantic segmentation》论文解读目标检测问题就是从图片中检测出目标的位置并判断目标的类别,比如人脸检测问题。不过人脸检测问题只是一种专门针对人脸的检测问题,而本文提出的R-CNN是通用目标检测问题,针对20类目标的检测。通用目标检测问题只需要进行适当修改就可以应

2016-12-17 23:35:16 4066

原创 人脸3D重建:Cascaded Regressor

《Cascaded Regressor based 3D Face Reconstruction from a Single Arbitrary View Image》论文解读本文来自四川大学,论文原文: https://arxiv.org/abs/1509.06161v1人脸3D重建就是从一张或多张照片中重建出人脸的3D的模型。本文提出了回归框架下的人脸3D重建,这篇文章给我的感觉就是SDM

2016-12-14 15:58:51 9036 3

原创 人脸特征点检测:VanillaCNN

《Facial Landmark Detection with Tweaked Convolutional Neural Networks》论文解读论文地址: http://www.openu.ac.il/home/hassner/projects/tcnn_landmarks/概述如我前面所说,人脸特征点检测是一个回归问题,这个问题需要关注两个方面:一是人脸特征表示,二是回归方法。这次解析的

2016-12-10 16:29:42 10579 2

原创 Caffe模型移植到MXNet

使用caffe的一大好处是有很多的预训练模型,你可以从caffe的model zoo去下载这些模型。那么怎样把caffe的模型转到MXNet中呢?一种最简单也是最有效的方法就是把caffe的模型加载出来,然后对照着模型参数,逐个复制到MXNet对应的模型参数中。这种方法简单有效,但是也是工作量比较大的一种方法。其实MXNet提供了相应的转换工具帮助我们完成这一流程,本文记录一下这种方法。下载caff

2016-12-10 16:26:52 6556 2

原创 MXNet获取特征输出

在网上下载的MXNet预训练模型常常是完整的,但是在实际应用中,我们一般只需要网络中某一层作为特征提取,这个时候就需要重建模型,使得最后输出的是特征。加载预训练模型加载模型使用model.FeedForward.load就可以了,其中模型的名字根据自己的模型做适当修改,后面的参数分别是迭代次数和batch大小,需要根据实际模型进行修改:import mxnet as mximport numpy

2016-12-02 16:41:28 10720 3

原创 MXNet编译至Android

MXNet版本更新很快,网上别人编译好的动态链接库很快就过时了,经常会出现某些方法不支持或者某个符号无法读取,这时就需要自己动手编译动态连接库so文件。这个地方无论是中文资料还是英文资料都很少

2016-11-22 20:38:14 5749 2

原创 人脸检测:MTCNN

《Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks》论文解读。本文来自于中国科学院深圳先进技术研究院,目前发表在arXiv上,是2016年4月份的文章,算是比较新的文章。 论文地址: https://kpzhang93.github.io/MTCNN_face_detectio

2016-11-19 23:01:02 50281 12

原创 人脸识别系统概述

一个人脸识别系统分为: 人脸检测,人脸特征点检测,人脸对齐,人脸认证

2016-11-18 17:16:22 6270

原创 神经网络:Residual Network

《Deep Residual Learning for Image Recognition》论文解读。本文来自于MSRA,作者是大神何凯明。概述本文提出了一种Residual learning的框架,和以前的深层模型比起来,层数要深很多。在ImageNet2015的比赛中,作者使用了152层的网络取得了第一名。随着网络结构的加深,带来了两个问题:一是vanishing/exploding gradi

2016-11-16 16:36:37 11767 1

原创 人脸检测:Viola-Jones

《Robust Real-Time Face Detection》论文解读这篇论文实现了实时的人脸检测算法,是人脸检测这一问题最重要的一篇论文之一,现在的OpenCV中人脸检测的方法就是基于这一论文。概述目标检测问题框架中有三个问题:1、如何选择待检测区域;2、如何提取目标特征;3如何判断是不是指定对象。针对这三个问题,Viola-Jones给出的答案是:滑动窗口法,Haar-like特征和Casc

2016-11-15 20:14:39 4603

原创 人脸对齐:Procrustes analysis

概述在人脸相关应用中,获得的人脸图像常常形状各异,这时就需要对人脸形状进行归一化处理。人脸对齐就是将两个不同的形状进行归一化的过程,将一个形状尽可能地贴近另一个形状。值得注意的是,在英语文献中,Face Alignment和Facial Landmark Detection常常混用,在我的系列博客里面,Facial Landmark Detection指的是人脸特征点检测,而Face Alignme

2016-11-15 11:50:04 20368 13

原创 神经网络:GoogLeNet

《Going Deeper with Convolutions》论文解读本文提出了GoogLeNet的网络结构,在ILSVRC2014取得了最好的成绩。本文和Network In Network一样,对网络中的传统卷积层进行了修改,提出了被称为Inception的结构。Motivation提高深度神经网络性能的关键在于增加深度和宽度。但是大的网络存在3个主要问题:发生过拟合,计算资源不足,稀疏的数据

2016-11-14 11:29:07 1893

原创 神经网络:Network In Network

《Network In Network》论文解读本文来自于新加坡国立大学,原文地址: https://arxiv.org/abs/1312.4400概述本文提出了一种叫Network in Network的网络结构,主要贡献有两个:一是mlpconv网络结构,一是Global average pooling结构。网络结构网络总体的结构如图所示,前面使用了3个mlpconv层,在输出的时候使用了

2016-11-13 12:00:27 953

原创 人脸验证:Lightened CNN

《A Lightened CNN for Deep Face Representation》论文解读本文来自中科院,原文地址为: https://arxiv.org/abs/1511.02683代码地址: https://github.com/AlfredXiangWu/face_verification_experiment正如前面《人脸验证:DeepID》博客所说,人脸验证任务中需要

2016-11-11 13:10:36 8826 1

原创 神经网络:AlexNet

《ImageNet Classification with Deep Convolutional Neural Networks》论文解读本文出自NIPS2012,作者是大神Alex Krizhevsky,属于多伦多大学Hinton组。概述本文提出的神经网络结构被成为AlexNet,在我最近的研究学习中发现,这一结构及其变种在很多任务中都有使用,回过头来重温一下这篇论文仍然是有必要的。归根到底,本文

2016-11-04 15:50:09 34109

原创 人脸特征点检测:SDM

《Supervised Descent Method and its Applications to Face Alignment》论文解读这篇文章发表于CVPR2013,来自于CMU。论文原文见: http://www.ri.cmu.edu/publication_view.html?pub_id=7428概述许多机器学习问题可以看做是一个非线性优化问题。所谓非线性优化问题就是约束条件或者目

2016-11-03 00:13:21 10914 2

原创 人脸验证:Joint Bayesian

《Bayesian Face Revisited: A Joint Formulation》论文解读这篇文章发表于ECCV2012,来自MSRA的孙剑组。论文原文见: http://home.ustc.edu.cn/~chendong/JointBayesian/概述经典的贝叶斯人脸识别方法是为两个人脸的差异进行建模,但是作者看到这种为差异建模的方法降低了可分性。本文将两个人脸进行联合建模,并

2016-11-03 00:05:36 10449 1

原创 人脸验证:DeepID

《Deep Learning Face Representation from Predicting 10000 Classes》论文解读本文来自香港中文大学汤晓鸥课题组。人脸验证(Face Verification)就是判断两个人脸是不是同一个人,一个常用的场景是判断身份证是不是本人。概述文章使用深度学习的方法来提取人脸高级特征(high-level features),这种特征被称为DeepID

2016-11-01 23:19:39 10682 2

原创 TensorFlow学习笔记:编程模型

1 计算图在TensorFlow中,算法都被表示成计算图(computational graphs)。计算图也叫数据流图,可以把计算图看做是一种有向图,图中的节点表示操作,图中的边代表在不同操作之间的数据流动。如图所示,左边的图表示z=x+yz=x+y。从图中可以看到,x y z是图中的三个节点,x和y分别有一个箭头指到z,在z节点的下方有一个+号,表明是一个加法操作,因此最后的输出结果就是z=x+

2016-10-08 12:49:25 10651

原创 使用TensorFlow实现TCDCN

本文使用TensorFlow实现了TCDCN网络结构,关于TCDCN可以阅读我的另一篇博客[《Facial Landmark Detection by Deep Multi-task Learning》论文解读](http://blog.csdn.net/tinyzhao/article/details/52730553)。

2016-10-07 19:32:46 4024 6

原创 OpenCV3 for Python3的安装方法

官方的OpenCV版本只支持到了Python2.X,如果要使用Python3就需要自己编译。本文将阐述如何在Windows和Ubuntu系统下安装OpenCV3 for Python3 。

2016-10-05 14:14:52 8713

原创 人脸特征点检测:TCDCN

这篇文章发表于ECCV2014,作者单位是香港中文大学汤晓鸥课题组。论文原文见: http://mmlab.ie.cuhk.edu.hk/projects/TCDCN.html概述文章提出了人脸特征点检测的新方法,使用与人脸相关的属性共同学习人脸的特征点位置。 we wish to optimize facial landmark detection together with heter

2016-10-03 23:59:38 14248 5

原创 使用Retrofit和RxJava进行轮询操作

根据前面几篇博客,已经大致明白了Retrofit和RxJava的使用。现在把这些知识结合起来,实现一个轮询操作。轮询流程轮询的过程是:现查询userId,得到userId以后上传图片,如果图片上传成功,客户端就开始轮询服务器。轮询每隔10s进行一次,总共轮询5次,如果服务器返回1或者-1则轮询截止。这个流程如下图所示:Created with Raphaël 2.1.0开始查询userId上传图片上

2016-09-30 16:20:27 7855

原创 Retrofit和RxJava结合使用

使用Retrofit的时候就不得不提到RxJava,RxJava是一个基于观察者模式的异步实现。关于RxJava的入门学习,强烈推荐《给Android开发者的RxJava详解》 https://gank.io/post/560e15be2dca930e00da1083 正如上篇博客所说,得益于Retrofit中灵活的Converter,所以Retrofit对RxJava的支持也是异常的方便

2016-09-30 16:12:34 2211

原创 使用Gson解析Retrofit返回结果

由于Retrofit默认返回的结果是ResponseBody类型,而我们实际中常常返回的是json格式字符串,此时就需要对返回结果进行解析。Retrofit也提供了灵活的json解析方式。得益于Converter 的存在, Retrofit 在入参和返回类型上表现得非常灵活,只要我们修改一下ResponseBodyConverter就可以自由地修改返回数据的类型,使用适当的解析方法。如果需要使用gs

2016-09-30 15:25:10 4853

原创 使用Retrofit上传文件

[Retrofit](https://github.com/square/retrofit)是Square公司开发的网络请求框架,其底层封装了okhttp进行实际的网络请求操作。

2016-09-27 22:12:02 1550

翻译 async with和async for

本文翻译自Python的开发者指南PEP 492。网上async with和async for的中文资料比较少,我把PEP 492中的官方陈述翻译一下。异步上下文管理器”async with”异步上下文管理器指的是在enter和exit方法处能够暂停执行的上下文管理器。为了实现这样的功能,需要加入两个新的方法:__aenter__ 和__aexit__.这两个方法都要返回一个 awaitable类型

2016-09-27 20:41:32 17028 1

原创 Python中的异步与多进程

Python自3.5以来,引入了async和await关键字,更好支持了异步IO的操作。本文以下载LFPW数据集为例,对比多进程和异步IO。

2016-09-27 20:08:45 11748

原创 RSA算法的实现

RSA算法是公钥密码学中的重要部分。关于RSA算法的原理部分,阮一峰讲的很清楚,具体可以阅读他的博客:http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.htmlhttp://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html但是,网上很多都是原理的讲解,很

2016-09-27 16:06:52 16757

原创 SurfaceView中lockCanvas返回值为null

最近在做一个安卓项目,需要使用TextureView或者SurfaceView对相机进行预览,在预览的同时又想要在屏幕上进行绘图操作。于是使用lockCanvas()获取Canvas对象,但是程序就会在运行时候报错:null reference,程序崩溃。检查一下lockCanvas返回的canvas的确是null。花了很长时间查错,终于在Android开发官网上找到了原因:http://devel

2016-09-27 16:04:31 7500 2

原创 练手项目的小问题

1.Fragment来自两个包, android.support.v4.app.Fragment和android.app.Fragment2.SlidingMenu中,如果模式为全屏,那么其中的按钮将无法点击。setTouchModeBehind(SlidingMenu.TOUCHMODE_FULLSCREEN),影响了该菜单上其他控件的焦点,使其无法点击。3.PreferenceFragment兼

2016-09-27 16:03:40 484

空空如也

空空如也

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

TA关注的人

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