- 博客(194)
- 资源 (12)
- 收藏
- 关注
原创 浅入浅出TensorFlow 8 - 行人分割
一. 环境准备 本文介绍如何通过 Mask-RCNN 来实现行人检测,假设你已经对 SSD、YOLO、Faster RCNN 等框架有所了解。1. 准备 TensorFlow 环境 Tensorflow (>= 1.0.0) Numpy2. Gtihub 代码 代码下载:【Github】3. 下载CoCo数据 下载地址
2017-04-20 23:41:16 9601 19
原创 浅入浅出TensorFlow 7 - 行人检测之Faster-RCNN
一. 环境准备 本文通过 TensorFlow 实现基于 Faster-RCNN 的行人检测,网络模型基于 VGG16 or ResNet。1. 准备 TensorFlow 环境 Tensorflow (>= 1.0.0) 安装对应 python 库: sudo apt-get install cython python-opencv s
2017-04-20 22:06:49 28257 30
原创 浅入浅出TensorFlow 6 - 实现经典网络
一. 经典网络介绍 首先介绍目前比较主流的几种经典网络,AlexNet[2012]、VGG16[2014]、GoogleNet[2014]、ResNet[2015]。 这几种网络都是在 ILSVRC 比赛中脱颖而出的,越往后网络越复杂, ResNet 为152层结构,测试错误率为 3.57%。 二. AlexNet
2017-04-17 23:18:42 3740
原创 浅入浅出TensorFlow 5 - 可视化工具TensorBoard
一. TensorBoard 介绍 TensorFlow 可视化可以借助 Python 的 matplotlib 进行,也可以使用 TensorFlow 自带的 TensorBoard,推荐大家使用 TensorBoard 进行可视化,这样可以不依赖于TensorFLow 的 Python 接口。 TensorFLow 主要对网络和参数进行可视化,通过读取运行过程中
2017-04-17 23:00:29 2592
原创 浅入浅出TensorFlow 4 - 训练CIFAR数据
一. CIFAR数据集 CIFAR数据集是一个经典的数据集,提供两个版本的分类样本,CIFAR-10和CIFAR-100。 CIFAR-10 提供10类标注数据,每类6000张(32*32),其中5000张用于训练,1000张用于测试。 获取数据集的方法: git clone https://github.com/tensorflow/model
2017-04-17 22:11:40 2865 5
原创 浅入浅出TensorFlow 3 - MNIST手写体识别
MNIST 手写体识别通常是神经网络入门的一个例子,每个deep框架 都无例外。一. MNIST数据 MNISt 为 0-9的手写阿拉伯数字,提供了6万的 训练集数据(mnist.train) 和 1万的 测试集数据(mnist.test)。 下载地址:http://yann.lecun.com/exdb/mnist/index.html
2017-04-17 22:00:45 2452 1
原创 浅入浅出TensorFlow 2 - 零基础安装
对一个框架的熟悉过程是从安装开始,今天就带大家熟悉这里面的 第一道坎 - 安装。 TensorFlow 安装方式总结为:一. Pip安装步骤: 1)安装 Pip Pip是目前使用最多的Python包管理工具。通常Linux和Mac是自带Python环境的(2.X版本,附带pip),如果系统没有安装Python环境,或者你需要使用Python
2017-04-14 21:48:18 4680 2
原创 浅入浅出TensorFlow 1 - 初识TensorFlow
一. TensorFlow 的发展历程 OpenCV 可能是多数人都很熟悉的计算机视觉库,参考下图机器学习库的发展轴线。 近几年,随着深度学习技术的快速发展,诞生了 Torch、Theano、Caffe、MxNet 等一批深度学习库,而 TensorFlow 正是这些框架中的佼佼者,得益于其 优秀的架构设计理念及工程实现,以及丰富的学习资料,目前 TensorFlo
2017-04-14 21:28:06 3798
转载 Three.js进阶篇之9 - 纹理映射和UV映射
本文将详细描述如何使用Three.js给3D对象添加贴图(Texture Map,也译作纹理映射,“贴图”的翻译要更直观,而“纹理映射”更准确。)。为了能够查看在线演示效果,你需要有一个兼容WebGL的现代浏览器(最好是Chrome/FireFox/Safari/Edge/IE11+)。本文的在线演示结果和代码请点击这里:Three.js贴图实例。什么是贴图(Texture Mappi
2017-03-28 00:35:06 9780 1
转载 Three.js进阶篇之8 - Physijs物理引擎
Three.js可以通过使用Physijs库向场景中加入物理效果。这个库是基于著名的物理引擎ammo.js。Physiji1.导入库文件[html] view plain copy Physijs.scripts.worker = 'js/Physijs/physijs_worker.js'; Physijs
2017-03-28 00:25:40 4077
转载 Three.js进阶篇之7 - 3D宇宙特效
body {margin: 0;}body, html {overflow: hidden;}body, html, .canvasbox {width: 100%;height: 100%;}/* 坐标系 */.zuobiaoxi {position: absolute;display: table;right: 3px;top: 3px;font-size: 12px;z-index:
2017-03-28 00:21:28 5133
转载 Three.js进阶篇之6 - 碰撞检测
最近在试着用Three.js做一个简单的赛车游戏,里面有一个需要解决的问题是如何判断两个物体发生了碰撞,比如赛车是否碰上了障碍物或者获得了奖励物品。示例我找了一些资料,发现了两个示例程序:第一个示例、 第二个示例 。 以上两个程序都是用 THREE.Raycaster 类来解决问题的。 Raycaster类Raycaster 应该翻译为“光线投射”,顾名
2017-03-28 00:08:25 18600 2
转载 Three.js进阶篇之5 - 粒子系统
Three.js是一个伟大的开源WebGL库,WebGL允许JavaScript操作GPU,在浏览器端实现真正意义的3D。但是目前这项技术还处在发展阶段,资料极为匮乏,爱好者学习基本要通过Demo源码和Three.js本身的源码来学习。 0.简介 嗨,又见面了。这么说我们已经开始学习Three.js了,如果你还没有看过之前三篇教程,建议你先读完。如果你已经读完前面的教程了,你可能会想做一些
2017-03-28 00:02:19 1311
转载 Three.js进阶篇之4 - 着色器
“渲染”(Rendering)是即使非计算机专业的都不会觉得陌生的词,虽然在很多人说这个词的时候,并不清楚“渲染”究竟意味着什么。相反,“着色器”(Shader)很可能是大家比较陌生的词,从名字看上去似乎是用来上色的,但它具体能做什么呢?在解释着色器之前,我们先来聊聊渲染。渲染用通俗的话来说,渲染就是将模型数据在屏幕上显示出来的过程。这听起来好像很简单呢!但正如
2017-03-27 23:53:20 10239 2
转载 Three.js进阶篇之3 - 外部模型导入
Three.js有一系列导入外部文件的辅助函数,是在three.js之外的,使用前需要额外下载,在https://github.com/mrdoob/three.js/tree/master/examples/js/loaders可以找到。*.obj是最常用的模型格式,导入*.obj文件需要OBJLoader.js;导入带*.mtl材质的*.obj文件需要MTLLoader.js以及OBJ
2017-03-27 23:49:31 11494 2
转载 Three.js进阶篇之2 - 动画
动画原理在这里,我们将动态画面简称为动画(animation)。正如动画片的原理一样,动画的本质是利用了人眼的视觉暂留特性,快速地变换画面,从而产生物体在运动的假象。而对于Three.js程序而言,动画的实现也是通过在每秒中多次重绘画面实现的。为了衡量画面切换速度,引入了每秒帧数FPS(Frames Per Second)的概念,是指每秒画面重绘的次数。FPS越大,则动画效果越
2017-03-27 23:42:45 2601
转载 Three.js进阶篇之1 - 网格
在学习了几何形状和材质之后,我们就能使用他们来创建物体了。最常用的一种物体就是网格(Mesh),网格是由顶点、边、面等组成的物体;其他物体包括线段(Line)、骨骼(Bone)、粒子系统(ParticleSystem)等。创建物体需要指定几何形状和材质,其中,几何形状决定了物体的顶点位置等信息,材质决定了物体的颜色、纹理等信息。本章将介绍创建较为常用的物体:网格,然后介绍如何修改物体的属性
2017-03-27 23:38:09 1953
原创 Threes.js入门篇之9 - 全景图
全景图是一个当下非常流行的展示方式,在 VR | AR领域有广泛应用。 在三维内的 全景图 通常是根据 鼠标事件调整摄像机位置(在包围球内旋转),其基本思路一致,包围球可以通过 球面、立方体来实现,在几何上面贴上全景图纹理,一个典型的全景纹理图可能是下面这几种: 或者也有可能是多副图的形式,组成一个Cube(根据实际的方式会有所不同)。 概念
2017-03-10 23:38:28 1890
原创 Threes.js入门篇之8 - 材质与纹理
材质是指几何对应的 颜色信息,想让一个对象最终呈现出你所希望的样子,其中最重要的一个因素就是材质。 来看一下例子 “canvas_material.html” // Spheres var geometry = new THREE.SphereGeometry( 100, 14, 7 ); var textureLoader = new THREE.TextureLoa
2017-03-10 23:23:21 953
原创 Threes.js入门篇之7 - 场景光照
Three.js 支持四种光源模式,分别是 环境光、点光源、平行光 和 聚光灯。一. 环境光 Ambient Light:所有对象的整体光照模型,控制整个场景的明暗。 var ambientLight = new THREE.AmbientLight(ambiColor); // 环境光颜色 scene.add(ambientLight)
2017-03-10 23:22:05 1262
原创 Threes.js入门篇之6 - 场景漫游
THREE.js 支持两种形式的漫游,第一人称漫游(First Person) 和 飞行(Fly),可以分别参考 example 下的 “misc_fps.html” 和 “misc_controls_fly.html”。一. 第一人称漫游 例子中的效果是这样的,通过 【ASDW】控制平移,通过【←↑↓→】控制朝向(try 一下)。 漫游主要是通过 ca
2017-03-10 23:20:24 3137
原创 Threes.js入门篇之5 - 场景操纵器Trackball
Three.js 提供了很多操纵器,example下也给了一些操纵器(也叫控制器)的例子,引用 js 可以参考 examples/js/controls/TrackballControls.js 。 Trackball 是众多控制器中应用最多的样例之一,将场景对象封装到一个包围球,将鼠标操作映射为对该包围球的拖拽。 下图是 example下提供的例子:(对应代码 m
2017-03-10 23:18:10 2618
原创 Threes.js入门篇之4 - World View Projection
在三维世界,一个模型要想最终呈现到一个照片上,需要经过三次矩阵变换,这三个矩阵分别是: 模型矩阵(World) - 视图矩阵(View)- 投影矩阵(Projection)一. 模型矩阵 将 局部坐标系 下的模型坐标(相对于自身原点的坐标) 转化到 世界坐标系 下,通常称为World Matrix。 可以理解为把多个不同坐标系下的
2017-03-10 23:17:05 1223
原创 Threes.js入门篇之3 - 场景与相机
• Three.js 的场景 THREE.Scene 执行场景树管理,场景的创建只需要一句话: var scene = new THREE.Scene(); 场景常用操作包含:1.scene.add(obj); // 在场景中添加物体2.scene.remove(obj); //
2017-03-10 23:15:25 2086
原创 Threes.js入门篇之2 - Hello World
与OpenGL一样,Three.js 符合右手坐标系,X轴向右,Y轴向上,Z轴朝外: Three.js 的绘制流程可以描述为:1. 生成 渲染器 - THREE.WebGLRenderer,并绑定Canvas绘图画布2. 建立 场景管理器 - THREE.Scene,管理场景对象(场景树) 生成场景对象THREE.mesh,添加到场景管理器3. 创
2017-03-10 23:11:44 818
原创 Three.js入门篇之1 - WebGL on HTML
一. 何为WebGL? WebGL 是基于Web的 三维渲染接口,与OpenGL的不同之处在于,添加了对 JavaScript 的支持,能够为 HTML5 提供硬件加速的三维图形渲染(通过Canvas来和DOM打交道)。 WebGL 是基于 OpenGL ES 2.0 的 Javascript API。通过 HTML5 的 Canvas 来和 DOM 打交道。
2017-03-10 22:54:42 1507
原创 GB28181技术基础之8 - 中心管理CMS
一. 中心管理服务器 中心管理 CMS 是业务系统的核心,主要功能包括:用户管理、设备管理、日志管理、业务管理、认证、授权服务。用户管理:用户信息管理,用户账户增、删、改、禁/启用,设备分配等;设备管理:将系统的所有硬件设备纳入中心管理平台来进行管理和参数设置;业务管理:用户权限的分配,前端注册认证;授权服务:用户可见的系统资源是严格按照权限配置的:一个区域的设
2017-03-08 23:06:51 1714
原创 GB28181技术基础之3 - RTP
一. RTP协议 实时传输协议 RTP(Real-time Transport Protocol)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的,后在RFC3550中进行更新。 RTP 的包格式:VPXCCMPT
2017-03-08 22:54:09 4125
原创 GB28181技术基础之2 - H264与PS封包
一. H.264 视频传输离不开编码,编码过程可以理解为数据压缩过程,由于原始的视频数据太过于庞大,直接传输对带宽的占用太大,因此通过一种压缩方式来进行处理,最常用的是我们常说的H.264标准,也是安防监控领域实际的行业标准。 H.264 是属于 FPEG-4 的一种标准编解码格式,要理解 编解码原理 首先要理解 I帧 | P帧 | B帧 的概念
2017-03-08 22:53:03 8243 1
原创 GB28181技术基础之1 - SIP协议
SIP 协议,即 会话初始协议(Session Initiation Protocol),是一个应用层的 点对点协议,用于初始、管理和终止网络中的语音和视频会话,是 GB28181 的核心之一。 按照 IETFRFC2543 的定义: SIP是一个基于文本的应用层控制协议,独立于底层传输协议 TCP/UDP/SCTP,用于建立、修改和终止IP网上的双方或多方多媒体会
2017-03-08 22:49:16 17049
原创 GB28181 - 安防视频监控联网标准
GB/T28181-2011 《安全防范视频监控联网系统信息传输、交换、控制技术要求》,是由公安部针对行业接口不兼容等问题制定的 国标协议,规定了安防相关设备及平台联网所需要满足的协议规范要求,目前主要由 公安部一所进行检测和认证。 相对于欧美安防企业发起的 onvif 标准,GB28181 更加严谨,对于音视频相关 包头格式、交换、存储 都做了比较严格的规定,标准和通用性更强,目
2017-03-08 22:47:03 6525
原创 奇异值分解SVD
奇异值分解(Singular Value Decomposition)是线性代数中一种重要的矩阵分解,和 特征值分解 有一定的关联,作用都在于将矩阵分解成 多个矩阵的乘积,从而方便进行数据的拆分,实现数据的投影或者降维。 从数学的角度来看,特征值分解 和 奇异值分解 都是给一个矩阵(线性变换)找一组特殊的基。 我们 先从特征值分解层面来引入问题:●
2017-03-03 22:18:19 2047
原创 牛顿法与Hessian矩阵
牛顿法 主要有两方面的应用:1. 求方程的根;2. 求解最优化方法;一. 为什么要用牛顿法求方程的根? 问题很多,牛顿法 是什么?目前还没有讲清楚,没关系,先直观理解为 牛顿法是一种迭代求解方法(Newton童鞋定义的方法)。 假设 f(x) = 0 为待求解方程,利用传统方法求解,牛顿法求解方程的公式:f(x0+Δx) = f(x0
2017-03-03 22:13:30 37941 13
原创 深度学习之对抗网络
一. 对抗网络的由来 对抗网络 是个新词,全名叫 生成式对抗网络(Generative adversarial nets),就像深度学习一样,发明时间并不长。 Ian Goodfellow(生成对抗性网络的发明者)定义了 对抗网络; Yann LeCun(三巨头之一)在Quora上直播时表示生成对抗性网络近期人工智能最值得期待的算法之一;
2017-03-02 22:37:35 13903 1
原创 深度学习流行网络与数据集
一. 常用网络 深度学习相关的几个比较著名的网络,AlexNet、VGG、GoogleNet、ResNet。模型 AlexNet VGG GoogleNet ResNet 时间 2012 2014
2017-03-02 22:35:25 2481
ICCV2017 Person Re-Id
2017-09-06
CVPR2017 Person Re-Id
2017-09-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人