首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

实时手势识别学习笔记0-环境搭建

为了完(ying)成(fu)HCI的项目,报了两位大佬的大腿,打算借此机会学习一下手势识别。

第0篇当然是进行环境搭建了~(因为可以凑出来一篇内容)

好了来看一下项目概要和环境要求:

项目概要

这次的项目是我HCI课程的项目的一部分,主要目的是通过一个摄像头实现实时的手势识别

为什么只写项目的一部分呢?因为项目除了手势识别还要干什么还没想好(逃

有可能是实现一个小游戏吧

咳咳说远了,回到我们的主题

既然是使用摄像头的手势识别,肯定要基于低分辨率(毕竟现在主流的电脑摄像头基本上都是1到2MP的),并且是2D的图像,那么就会想到采用OpenCV来进行录制。

其次,为了进行训练,当然要采用主流的(至少是我很喜欢使用的)Tensorflow框架。

项目环境

既然上面都说到了主要利用到的包,那么就列一下:

OpenCV,版本2.4.13.6,是CV2的最新版(截止时间为2018年5月1日,下同)

Python,版本3.6.5(采用了Anaconda 3 x64发行版,便于管理更多需要的包)

Tensorflow-GPU,版本1.8.0

其他可能用到的包(直接使用Anaconda管理)

因为我的项目还没有完成,我不太确定是否还会增加别的包,就目前来看,使用Anaconda来管理下面的包都是没有问题并且非常方便的(Anaconda是不是考虑给我发点钱?)

Numpy,版本1.14.3

NumPy是Python语言的一个扩充程式库。支援高阶大量的维度阵列与矩阵运算,此外也针对阵列运算提供大量的数学函数函式库。NumPy的前身Numeric最早是由Jim Hugunin与其它协作者共同开发,2005年,Travis Oliphant在Numeric中结合了另一个同性质的程式库Numarray的特色,并加入了其它扩充功能而开发了NumPy。NumPy为开放原始码并且由许多协作者共同维护开发。

注:介绍引用自维基百科,本人不对从其引用的内容的准确性作任何保证,侵删,下同。

Matplotlib,版本2.2.2

matplotlib 是Python编程语言及其数值数学扩展包 NumPy的可视化操作界面。它为利用通用的图形用户界面工具包,如Tkinter, wxPython, Qt或GTK+向应用程序嵌入式绘图提供了应用程序接口(API)。此外,matplotlib还有一个基于图像处理库(如开放图形库OpenGL)的pylab接口,其设计与MATLAB非常类似–尽管并不怎么好用。SciPy就是用matplotlib进行图形绘制。matplotlib最初由John D. Hunter撰写,它拥有一个活跃的开发社区,并且根据BSD样式许可证分发。 在John D. Hunter2012年去世前不久,迈克尔Droettboom被提名为matplotlib的主要开发者。截至到2015年10月30日,matplotlib 1.5.x支持Python 2.7到3.5版本。 Matplotlib 1.2是matplotlib的第一个版本,支持Python 3.x. Matplotlib 1.4是matplotlib支持Python 2.6的最后一个版本。

环境安装

Python (Anaconda)

Anaconda 是一种Python语言的免费增值开源发行版,用于进行大规模数据处理, 预测分析, 和科学计算, 致力于简化包的管理和部署。 Anaconda使用软件包管理系统Conda进行包管理。

Anaconda 的使用非常简单,只需要安装后就可以使用对应的环境。直接从https://www.anaconda.com下载需要的发行版,使用GUI安装即可。本文及其系列均采用Anaconda 3 x64作为默认的Python环境。

Tensorflow

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。TensorFlow最初由Google Brain团队开发,用于Google的研究和生产,于2015年11月9日在Apache 2.0开源许可证下发布。

由于我的训练用计算机使用了nVidia GTX 1080 8GB显卡,所以可以采用使用GPU进行计算的Tensorflow框架,使用GPU的好处是速度会快很多(根据我以往经验判断大致可以比CPU版本快两个数量级)。

1. 安装CUDA (限GPU版)

使用GPU版的Tensorflow需要计算机安装有一张以上的nVidia的GPU,并且Compute Capability不低于3.0(可以通过https://developer.nvidia.com/cuda-gpus查看GPU是否符合要求)。

可以看到我的GTX1080的Compute Capability 是6.1,可以使用CUDA和GPU版Tensorflow。

然后安装CUDA9.0。从https://developer.nvidia.com/cuda-90-download-archive下载CUDA 9.0(9.1版本不太确定能否兼容)。安装后在命令行输入

(注意-V要大写)检查是否安装了CUDA。

根据这个提示信息可以知道我这里已经安装好了9.1.85的CUDA(我的电脑上9.0和9.1是共存的),所以CUDA已经安装完成了。

2. 安装cuDNN(仅限GPU版)

安装完CUDA后还需要安装cuDNN。

访问https://developer.nvidia.com/cudnn后注册nVidia Developer帐号,然后下载对应CUDA版本的cuDNN,将下载解压后的cuda文件夹中的内容放到

对应文件夹下即可。

3. 安装Tensorflow(使用pip)

因为安装了Anaconda,所以这一步就很简单了。

打开Anaconda命令行(在开始菜单Anaconda文件夹下),输入:

即可开始安装。

如果提示更新pip,请根据提示进行操作。在安装过程中有可能需要为pip指定参数

安装完成后,在命令行下输入

进入python环境,然后执行下面的代码测试tensorflow的安装情况:

如果你看到类似的输出:

和:

那么Tensorflow就已经安装完毕了。

OpenCV

起初我打算直接使用Anaconda安装OpenCV,但是没有找到很好的方法,因为Anaconda3默认会安装OpenCV3。所以使用了下面的方法:

访问https://opencv.org/releases.html,下载2.4.13.6下的Win pack,解压后找到cv2.pyd,解压到Anaconda安装目录的

下,然后进入Anaconda命令行并进入python环境,输入

如果没有报错,则OpenCV安装成功。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180508G04LA700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券