论文部分内容阅读
摘 要:随着计算机技术的发展和计算机视觉原理的广泛应用,利用计算机图像处理技术对目标进行实时跟踪研究越来越热门。本文介绍如何运用Raspberry Pi实现目标检测,从Raspberry Pi系统的安装、环境配置及其TensorFlow下载与安装、软件运行环境及其代码的实现来展现基于Raspberry Pi与TensorFlow的目标检测应用。为学习Raspberry Pi上部署目标检测应用提供一个比较好的实践案例。
关键词:随着计算机技术的发展和计算机视觉原理的广泛应用,利用计算机图像处理技术对目标进行实时跟踪研究越来越热门。本文介绍如何运用Raspberry Pi实现目标检测,从Raspberry Pi系统的安装、环境配置及其TensorFlow下载与安装、软件运行环境及其代码的实现来展现基于Raspberry Pi与TensorFlow的目标检测应用。为学习Raspberry Pi上部署目标检测应用提供一个比较好的实践案例。
1Raspberry Pi简述
Raspberry Pi(中文名为“树莓派”,简写为RPi,(或者RasPi / RPI)是为学习计算机编程教育而设计),只有信用卡大小的微型电脑,其系统基于Linux。自问世以来,受众多计算机发烧友和创客的追捧,曾经一“派”难求。别看其外表“娇小”,内“心”却很强大,视频、音频等功能通通皆有,可谓是“麻雀虽小,五脏俱全”。它是一款基于ARM的微型电脑主板,以SD/MicroSD卡为内存硬盘,卡片主板周围有1/2/4个USB接口和一个10/100以太网接口(A型没有网口),可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口,以上部件全部整合在一张仅比信用卡稍大的主板上,具备所有PC的基本功能只需接通电视机和键盘,就能执行如电子表格、文字处理、玩游戏、播放高清视频等诸多功能[1]。
2 Raspberry Pi系统安装
Raspberry Pi购买回来只是一块板子,里面不带有任何系统,需要我们把系统下载安装到SD卡中插入Raspberry Pi才可以使用。教程如下。
(1)登录Raspberry Pi官网:https://www.raspberrypi.org/downloads
(2)选择下载Raspbian下的Raspbian Buster with desktop and recommended software系统。因为其带有图形界面易用性高。
(3)将下载下来的系统烧录到SD卡中
(4)将SD卡插入Raspberry Pi,通电启动。
(5)根据连接在树莓派上的显示屏的安装向导一步一步走下去就安装成功啦。
3环境配置及其TensorFlow下载与安装
3.1环境配置
在Raspberry Pi上安装TensorFlow之前,我们先要配置我们的实验环境,否则无法安装TensorFlow,从Google从TensorFlow1.9开始支持Raspberry Pi,实验环境要求为Python3.5+TensorFlow1.9,其他版本的Python可能会安装失败。而我们的Raspberry Pi上的Python默认为2.7,所以我们要将其换成Python3.5版本。教程如下:
(1)安裝Python3.5:sudo apt-get install python3.5
(2)删除原链接:sudo rm /usr/bin/python
(3)建立新的链接设置为Python3.5:sudo ln -s /usr/bin/python3.5 /usr/bin/python
(4)执行完上述步骤后,我们的环境就配置成功啦。
3.2TensorFlow下载与安装
TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。当前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索[2]。下面介绍如何在Raspberry Pi上安装TensorFlow。
(1)安装TensorFlow之前先在Raspberry Pi执行sudo apt-get update和sudo apt-get dist-upgrade命令来获取最近的软件包列表及下载软件包到Rspberry Pi与安装。
(2)在安装完TensorFlow前还要安装libatlas-base-dev软件包。执行命令:sudo apt-get install libatlas-base-dev。
(3)执行sudo pip3 install tensorflow安装,这样我们的TensorFlow就安装成功了。
4软件运行环境及其代码实现
4.1软件运行环境
前面我们按照了Python3.5和TensorFlow,但这还不满足实现目标检测的条件。因为我们目标检测是运用Object Detection API来具体实现,所以我们还要安装关于Object Detection API的相关依赖包。有关依赖包有Pillow、Lxml、Jupyte、Matplotlib、Cython。TensorFlow object detection API使用还需要Protobuf,这是一个实现Google协议缓冲区数据格式的软件包。我们也要一同安装。下面来介绍如何安装以上依赖包。
(1)Raspberry Pi支持一次安装多个依赖包,所以我们只需要执行一行命令即可。
(2)执行命令:sudo pip3 install pillow lxml jupyte matplotlib cython。
(3)安装Protobuf执行:sudo apt-get install protobuf-compiler。
实现目标检测应用所需环境及其所依赖包到这里已经全部安装好了。我们知道执行目标检测我们需要有相应的特征模型。Object Detection API提供了五种网络结构的训练权重。本文使用第一张SSD网络结构,因为相比其他网络结构,ssd_mobilennt_v1_coco它的检测速度相对较快。
4.2关键代码
我们使用Python来进行目标检测,通过模型的加载以图像作为输入运行模型来执行实际检测,绘制检测结果,显示类别与相应检测的准确率。
(1)加载模型,让我们的目标检测可以通过训练好的特征值进行对应的目标检测,从而判断目标物的类别。
(2)实时检测,我们需要使用到摄像头,摄像头拍摄到的画面为视频格式,我们需要把视频的每一帧变为一张图像作为输入对象来执行实际的检测。
(3)把我们检测到的结果作为输出对象,把该对象属于的类别,准确率以及相应位置绘制到屏幕上。
4.3目标检测应用测试
开启树莓派,连接上鼠标、键盘、显示器、摄像头。运行我们写好的Python代码,执行代码我们会在屏幕上看到摄像头所检测的画面。
5总结
一个计算机视觉,图像处理和机器视觉所共有的经典问题便是判定一组图像数据中是否包含某个特定的物体,图像特征或运动状态。通过在Raspberry Pi上部署目标检测应用可以很好的实现计算机视觉任务且过程简单易学,很适合作为Raspberry Pi与TensorFlow初学者的教程进行推广。
参考文献:
[1] 百度百科, 树莓派 [OL].
[2] 中文维基百科, TensorFlow [OL].
关键词:随着计算机技术的发展和计算机视觉原理的广泛应用,利用计算机图像处理技术对目标进行实时跟踪研究越来越热门。本文介绍如何运用Raspberry Pi实现目标检测,从Raspberry Pi系统的安装、环境配置及其TensorFlow下载与安装、软件运行环境及其代码的实现来展现基于Raspberry Pi与TensorFlow的目标检测应用。为学习Raspberry Pi上部署目标检测应用提供一个比较好的实践案例。
1Raspberry Pi简述
Raspberry Pi(中文名为“树莓派”,简写为RPi,(或者RasPi / RPI)是为学习计算机编程教育而设计),只有信用卡大小的微型电脑,其系统基于Linux。自问世以来,受众多计算机发烧友和创客的追捧,曾经一“派”难求。别看其外表“娇小”,内“心”却很强大,视频、音频等功能通通皆有,可谓是“麻雀虽小,五脏俱全”。它是一款基于ARM的微型电脑主板,以SD/MicroSD卡为内存硬盘,卡片主板周围有1/2/4个USB接口和一个10/100以太网接口(A型没有网口),可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口,以上部件全部整合在一张仅比信用卡稍大的主板上,具备所有PC的基本功能只需接通电视机和键盘,就能执行如电子表格、文字处理、玩游戏、播放高清视频等诸多功能[1]。
2 Raspberry Pi系统安装
Raspberry Pi购买回来只是一块板子,里面不带有任何系统,需要我们把系统下载安装到SD卡中插入Raspberry Pi才可以使用。教程如下。
(1)登录Raspberry Pi官网:https://www.raspberrypi.org/downloads
(2)选择下载Raspbian下的Raspbian Buster with desktop and recommended software系统。因为其带有图形界面易用性高。
(3)将下载下来的系统烧录到SD卡中
(4)将SD卡插入Raspberry Pi,通电启动。
(5)根据连接在树莓派上的显示屏的安装向导一步一步走下去就安装成功啦。
3环境配置及其TensorFlow下载与安装
3.1环境配置
在Raspberry Pi上安装TensorFlow之前,我们先要配置我们的实验环境,否则无法安装TensorFlow,从Google从TensorFlow1.9开始支持Raspberry Pi,实验环境要求为Python3.5+TensorFlow1.9,其他版本的Python可能会安装失败。而我们的Raspberry Pi上的Python默认为2.7,所以我们要将其换成Python3.5版本。教程如下:
(1)安裝Python3.5:sudo apt-get install python3.5
(2)删除原链接:sudo rm /usr/bin/python
(3)建立新的链接设置为Python3.5:sudo ln -s /usr/bin/python3.5 /usr/bin/python
(4)执行完上述步骤后,我们的环境就配置成功啦。
3.2TensorFlow下载与安装
TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。当前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索[2]。下面介绍如何在Raspberry Pi上安装TensorFlow。
(1)安装TensorFlow之前先在Raspberry Pi执行sudo apt-get update和sudo apt-get dist-upgrade命令来获取最近的软件包列表及下载软件包到Rspberry Pi与安装。
(2)在安装完TensorFlow前还要安装libatlas-base-dev软件包。执行命令:sudo apt-get install libatlas-base-dev。
(3)执行sudo pip3 install tensorflow安装,这样我们的TensorFlow就安装成功了。
4软件运行环境及其代码实现
4.1软件运行环境
前面我们按照了Python3.5和TensorFlow,但这还不满足实现目标检测的条件。因为我们目标检测是运用Object Detection API来具体实现,所以我们还要安装关于Object Detection API的相关依赖包。有关依赖包有Pillow、Lxml、Jupyte、Matplotlib、Cython。TensorFlow object detection API使用还需要Protobuf,这是一个实现Google协议缓冲区数据格式的软件包。我们也要一同安装。下面来介绍如何安装以上依赖包。
(1)Raspberry Pi支持一次安装多个依赖包,所以我们只需要执行一行命令即可。
(2)执行命令:sudo pip3 install pillow lxml jupyte matplotlib cython。
(3)安装Protobuf执行:sudo apt-get install protobuf-compiler。
实现目标检测应用所需环境及其所依赖包到这里已经全部安装好了。我们知道执行目标检测我们需要有相应的特征模型。Object Detection API提供了五种网络结构的训练权重。本文使用第一张SSD网络结构,因为相比其他网络结构,ssd_mobilennt_v1_coco它的检测速度相对较快。
4.2关键代码
我们使用Python来进行目标检测,通过模型的加载以图像作为输入运行模型来执行实际检测,绘制检测结果,显示类别与相应检测的准确率。
(1)加载模型,让我们的目标检测可以通过训练好的特征值进行对应的目标检测,从而判断目标物的类别。
(2)实时检测,我们需要使用到摄像头,摄像头拍摄到的画面为视频格式,我们需要把视频的每一帧变为一张图像作为输入对象来执行实际的检测。
(3)把我们检测到的结果作为输出对象,把该对象属于的类别,准确率以及相应位置绘制到屏幕上。
4.3目标检测应用测试
开启树莓派,连接上鼠标、键盘、显示器、摄像头。运行我们写好的Python代码,执行代码我们会在屏幕上看到摄像头所检测的画面。
5总结
一个计算机视觉,图像处理和机器视觉所共有的经典问题便是判定一组图像数据中是否包含某个特定的物体,图像特征或运动状态。通过在Raspberry Pi上部署目标检测应用可以很好的实现计算机视觉任务且过程简单易学,很适合作为Raspberry Pi与TensorFlow初学者的教程进行推广。
参考文献:
[1] 百度百科, 树莓派 [OL].
[2] 中文维基百科, TensorFlow [OL].