0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用TensorFlow和树莓派进行图像识别

454398 来源:网络整理 作者:网络整理 2019-12-03 09:55 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

TensorFlow是Google的神经网络库。鉴于机器学习是当前最热门的事情,因此Google成为这项新技术的领导者就不足为奇了。

在本文中,您将学习如何在Raspberry Pi上安装TensorFlow,以及在预先训练的神经网络上运行简单的图像分类。

入门

要开始图像识别,您将需要Raspberry Pi(任何模型都可以使用)和SD带有Raspbian Stretch(9.0+)操作系统的存储卡(如果您不熟悉Raspberry Pi,请使用我们的安装指南)。

启动Pi并打开终端窗口。确保您的Pi是最新的,并检查您的Python版本。

sudo apt-get update

python --version

python3 --version

您可以在本教程中同时使用Python 2.7或Python 3.4+。此示例适用于Python3。对于Python 2.7,在整个过程中,将 Python3 替换为 Python ,并将 pip3 替换为 pip 教程。

Pip是Python的软件包管理器,通常在Linux发行版中作为标准安装。

如果没有,请按照此处的Linux安装说明进行操作。

安装TensorFlow

安装TensorFlow过去是一个令人沮丧的过程,但是最近的更新使其变得异常简单。虽然您可以在没有任何先验知识的情况下阅读本教程,但是在尝试之前,可能值得了解机器学习的基础。

在安装TensorFlow之前,请安装 Atlas 库。

sudo apt install libatlas-base-dev

完成后,通过pip3安装TensorFlow

pip3 install --user tensorflow

这将为登录用户安装TensorFlow。如果您更喜欢使用虚拟环境,请在此处修改代码以反映这一点。

测试TensorFlow

一旦安装,您就可以测试它是否与TensorFlow等效。 你好,世界!

在命令行中,使用 nano 或 vim 创建新的Python脚本(如果不是, (不确定使用哪一种,它们都有优势),并给它起一个易于记忆的名称。

sudo nano tftest.py

输入以下由Google提供的用于测试TensorFlow的代码:

import tensorflow as tf

hello = tf.constant(‘Hello, TensorFlow!’)

sess = tf.Session()

print(sess.run(hello))

如果您使用的是nano,请在出现提示时按 Ctrl + X 退出并通过键入 Y 保存文件。

从终端运行代码:

python3 tftest.py

您应该看到打印的“ Hello,TensorFlow”。

如果运行Python 3.5,您将收到几个运行时警告。 TensorFlow官方教程承认发生了这种情况,建议您忽略它。

如何使用TensorFlow和树莓派进行图像识别

它有效!现在,使用TensorFlow做一些有趣的事情。

安装图像分类器

在终端中,在您的主目录中为该项目创建一个目录,并导航至该目录。

mkdir tf1

cd tf1

TensorFlow有一个git存储库,其中包含示例模型供您试用。将存储库克隆到新目录中:

git clone https://github.com/tensorflow/models.git

您要使用图像分类示例,可以在 models/tutorials/image/imagenet 中找到该示例。强》。立即导航到该文件夹:

cd models/tutorials/image/imagenet

标准图像分类脚本与提供的熊猫图像一起运行:

要使用提供的熊猫图像运行标准图像分类器,请输入:

python3 classify_image.py

这会将熊猫图像馈送到神经网络,该神经网络返回猜测值关于图像的确定性值。

如输出图像所示,神经网络正确猜出了几乎90%的确定性。它还认为该图像可能包含一个南美番荔枝,但对这个答案并不十分自信。

使用自定义图像

熊猫图像证明TensorFlow可以工作,但这就是考虑到这是该项目提供的示例,也许不足为奇。为了进行更好的测试,您可以将自己的图像提供给神经网络进行分类。

在这种情况下,您将看到TensorFlow神经网络是否可以识别George。

遇到乔治。乔治是恐龙。要将此图像(此处以裁剪的形式提供)输入神经网络,请在运行脚本时添加参数。

python3 classify_image.py --image_file=/home/pi/george.jpg

image_file = 脚本名称允许按路径添加任何图像。让我们看看这个神经网络是怎么做的。

不错!虽然George不是三角恐龙,但与其他选项相比,神经网络将图像分类为具有高度确定性的恐龙。

TensorFlow和Raspberry Pi,准备就绪

TensorFlow的这种基本实现已经具有潜力。该对象识别发生在Pi上,不需要互联网连接即可运行。这意味着,通过添加Raspberry Pi摄像头模块和适用于Raspberry Pi的电池单元,整个项目可以变得可移植。

大多数教程只涉及主题的表面,但从未如此。比这种情况更真实。机器学习是一门令人难以置信的密集学科。

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 树莓派
    +关注

    关注

    122

    文章

    2069

    浏览量

    109700
  • tensorflow
    +关注

    关注

    13

    文章

    331

    浏览量

    61854
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    零成本钢铁侠手套!树莓+OpenCV 秒变手势遥控器!

    使用树莓和OpenCV实时扫描并存储二维码使用树莓和OpenCV实现物体与动物识别使用树莓
    的头像 发表于 08-16 16:16 882次阅读
    零成本钢铁侠手套!<b class='flag-5'>树莓</b><b class='flag-5'>派</b>+OpenCV 秒变手势遥控器!

    如何使用树莓与OpenCV实现面部和运动追踪的云台系统?

    使用树莓和OpenCV实时扫描并存储二维码使用树莓和OpenCV实现物体与动物识别使用树莓
    的头像 发表于 08-14 17:45 957次阅读
    如何使用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>与OpenCV实现面部和运动追踪的云台系统?

    如何使用树莓+OpenCV实现姿态估计和面部特征点追踪?

    使用树莓和OpenCV实时扫描并存储二维码使用树莓和OpenCV实现物体与动物识别使用树莓
    的头像 发表于 08-13 17:44 976次阅读
    如何使用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>+OpenCV实现姿态估计和面部特征点追踪?

    树莓做一个指纹识别方案,难不难?

    让我们在树莓单板计算机上解锁生物识别控制功能吧!生物识别技术利用每个人独有的、不易复制的生理或行为特征进行身份验证。地球上每个人的指纹都是
    的头像 发表于 08-09 13:14 636次阅读
    用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>做一个指纹<b class='flag-5'>识别</b>方案,难不难?

    树莓操作系统:版本、特性及设置完整指南!

    树莓操作系统是什么?树莓操作系统是由树莓基金会专为树莓
    的头像 发表于 07-28 18:26 821次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>操作系统:版本、特性及设置完整指南!

    如何在树莓 AI HAT+上进行YOLO姿态估计?

    大家好,接下来会为大家开一个树莓5和YOLO的连载专题。内容包括四个部分:在树莓5上使用YOLO进行物体和动物
    的头像 发表于 07-20 20:34 610次阅读
    如何在<b class='flag-5'>树莓</b><b class='flag-5'>派</b> AI HAT+上<b class='flag-5'>进行</b>YOLO姿态估计?

    如何在树莓 AI HAT+上进行YOLO目标检测?

    大家好,接下来会为大家开一个树莓5和YOLO的连载专题。内容包括四个部分:在树莓5上使用YOLO进行物体和动物
    的头像 发表于 07-19 08:34 1194次阅读
    如何在<b class='flag-5'>树莓</b><b class='flag-5'>派</b> AI HAT+上<b class='flag-5'>进行</b>YOLO目标检测?

    树莓5上开启YOLO姿态估计识别之旅!

    大家好,接下来会为大家开一个树莓5和YOLO的连载文章。内容包括四个部分:在树莓5上使用YOLO进行物体和动物
    的头像 发表于 07-18 15:31 1989次阅读
    在<b class='flag-5'>树莓</b><b class='flag-5'>派</b>5上开启YOLO姿态估计<b class='flag-5'>识别</b>之旅!

    树莓5上使用YOLO进行物体和动物识别-入门指南

    大家好,接下来会为大家开一个树莓5和YOLO的专题。内容包括四个部分:在树莓5上使用YOLO进行物体和动物
    的头像 发表于 07-17 17:16 1565次阅读
    在<b class='flag-5'>树莓</b><b class='flag-5'>派</b>5上使用YOLO<b class='flag-5'>进行</b>物体和动物<b class='flag-5'>识别</b>-入门指南

    树莓6 传闻:发布日期与规格!

    每当我想再为我的收藏增添一款树莓时,总会在是立即购买还是等待硬件更强大的下一代之间犹豫不决。但新树莓型号的发布往往容易被错过,尤其是在你的信息流被病毒式传播的猫咪视频占据时。因此,
    的头像 发表于 07-11 16:21 1344次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>6 传闻:发布日期与规格!

    树莓小技巧:无需键盘或显示器,如何通过WiFi设置树莓

    接入,但随着我们逐渐远离台式电脑,找到键盘和显示器变得越来越困难。一旦WiFi设置完成,就可以通过SSH连接到树莓,并从笔记本电脑或其他设备远程与树莓
    的头像 发表于 06-26 15:41 1043次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>小技巧:无需键盘或显示器,如何通过WiFi设置<b class='flag-5'>树莓</b><b class='flag-5'>派</b>?

    树莓分类器:用树莓识别不同型号的树莓

    在本教程系列的第一部分中,您将学习如何使用树莓AI摄像头来检测不同的树莓型号。本系列由DavidPlowman创建,他是树莓
    的头像 发表于 06-13 16:39 984次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>分类器:用<b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>识别</b>不同型号的<b class='flag-5'>树莓</b><b class='flag-5'>派</b>!

    树莓 Zero 打造的智能漫游车!

    使用PXFMini和树莓Zero打造您自己的自主漫游车。本项目所用组件硬件组件ErleRoboticsPXFmini×1树莓Zero×1树莓
    的头像 发表于 05-13 16:39 870次阅读
    用 <b class='flag-5'>树莓</b><b class='flag-5'>派</b> Zero 打造的智能漫游车!

    树莓派性能优化指南(第一弹):让树莓变身“小钢炮”!

    超频?如果需要让树莓跑高速计算的应用,比如视频编解码、图像识别、游戏模拟器等,当然速率越快越好。有老外网友尝试,BCM2711B0(树莓
    的头像 发表于 04-03 16:40 1618次阅读
    <b class='flag-5'>树莓</b>派性能优化指南(第一弹):让<b class='flag-5'>树莓</b><b class='flag-5'>派</b>变身“小钢炮”!

    惊了!这个“神器”让树莓秒变智能管家,图像识别+无线投屏,太秀了!

    和BalenaCloud,让树莓实现从图像识别到智能生活的华丽转身!图像分类项目:用树莓和B
    的头像 发表于 03-25 09:23 1338次阅读
    惊了!这个“神器”让<b class='flag-5'>树莓</b><b class='flag-5'>派</b>秒变智能管家,<b class='flag-5'>图像识别</b>+无线投屏,太秀了!