使用树莓派摄像头实现对象实时识别(1)—— Windows端配置


1.0 什么是树莓派

树莓派(英语:Raspberry Pi),是一款基于Linux的单片机计算机。它由英国的树莓派基金会所开发,目的是以低价硬件及自由软件促进学校的基本计算机科学教育。

树莓派配备一枚博通(Broadcom)出产的ARM架构700MHz BCM2835处理器,256MB内存(B型已升级到512MB内存),使用SD卡当作存储媒体,且拥有一个Ethernet、两个USB接口、以及HDMI(支持声音输出)和RCA端子输出支持。树莓派面积只有一张信用卡大小,体积大概是一个火柴盒大小,可以运行像《雷神之锤III竞技场》的游戏和进行1080p影片的播放。操作系统采用开源的Linux系统:Debian、ArchLinux,自带的Iceweasel、KOffice等软件,能够满足基本的网络浏览、文字处理以及计算机学习的需要。分A、B两种型号,售价分别是A型25美元、B型35美元。

树莓派基金会提供了基于ARM架构的Debian、Arch Linux和Fedora等的发行版供大众下载,还计划提供支持Python作为主要编程语言。

树莓派基金会于2016年2月发布了树莓派3,较前一代树莓派2,树莓派3的处理器升级为了64位的博通BCM2837,新增了Wi-Fi无线网络及蓝牙功能,而售价仍然是35美元。

而根据 RPi FAQ的数据,LAN9512 的工作温度范围在 0°C 到 70°C,BCM2835 的工作温度范围在 -40°C 到 85°C。

2019年6月底,树莓派基金会于发布了树莓派4,处理器升级为1.5GHz的博通BCM2711(四核Cortex-A72),增大了板载内存容量,为1/2/4GB,蓝牙升级为5.0,拥有2个USB2.0接口,2个USB3.0接口,电源也采用了较新的USB-C接口,售价依照1GB机种卖35美元,2GB机种卖45美元,4GB机种卖55美元。

2.0 实现对象识别的方法思路

为了实现使用树莓派摄像头对对象目标进行实时识别,大概的思路如下:

  1. 使用基于Tensorflow的图像识别API,在Windows端训练好模型。
  2. 配置树莓派,使其具备运行训练好的模型的能力。
  3. 将Windows端的模型移植到树莓派上,运行推断实例。

3.0 Windows端配置

3.1 下载安装最新版本的Python3

可以去到Python的官网https://www.python.org/downloads/下载最新版本Python 3,目前的最新版本是3.7.4

图片

下载完后,按照提示一步步在Windows上完成安装。

3.2 安装PyCharm社区版

PyCharm是JetBrains旗下的一款流行的Python IDE,最新的社区版是2019.1,官网提供免费下载。

图片

3.3 配置PyCharm开发环境

选择合适的项目目录,设置好开发环境,指定编译器路径为安装好的Python3.7

图片

3.4 在PyCharm中安装所需组件

选择文件→设置→项目编译器,点击右边的+号安装以下组件:

numpy

openv-python

pandas

Pillows

matplotlib

tensoflow (务必安装1.13.1版,最新的1.14.0版有兼容性问题)

图片

PyCharm会自动安装所需的依赖包。

3.5 配置TensorFlow运行环境

3.5.1 选择合适的位置建立Tensorflow文件夹,如C:\Tensorflow

3.5.2 去到Tensorflow的Github的模型主页https://github.com/tensorflow/models,点击Clone or download,下载所有模型并解压到上述的路径。

图片

3.5.3 下载并编译Protobuf

Protobuf的作用是将中性的.proto文件,编译成相应的编程语言如C++, Java, Python等。去到Google Protobuf主页https://github.com/google/protobuf,点击Release

下载3.4.0 windows版本 protoc-3.4.0-win32.zip,并加压到TensorFlow同一目录。

图片

去到\TensorFlow\models\research\object_detection\protos快速查看一下.proto文件,它们将被编译成对应的Python文件。

图片

在Windows命令行中cd 到C:\TensorFlow\models\research,并输入以下命令行:“C:\protoc-3.4.0-win32\bin\protoc.exe” object_detection/protos/*.proto –python_out=.” 将所有proto文件编译为py文件。

图片

3.6 配置TensoFlow和Python系统目录

3.6.1 打开系统环境设置,添加环境变量 PYTHONPATH如下图所示:

图片
图片

3.6.2 编辑Path环境变量,在末尾添加%PYTHONPHTH%如下图

图片

至此,Windows端的配置工作已全部完成,接下来是进行图像识别功能的测试。