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

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

    关注

    116

    文章

    1698

    浏览量

    105514
  • tensorflow
    +关注

    关注

    13

    文章

    328

    浏览量

    60494
收藏 人收藏

    评论

    相关推荐

    AI图像识别摄像机

    随着科技的迅猛发展,人工智能(AI)在各个领域的应用越来越广泛,其中图像识别技术尤为引人注目。AI图像识别摄像机作为这一技术的重要应用之一,正在逐步改变我们的生活和工作方式。什么是AI图像识别摄像机
    的头像 发表于 11-08 10:38 152次阅读
    AI<b class='flag-5'>图像识别</b>摄像机

    图像检测和图像识别的原理、方法及应用场景

    图像检测和图像识别是计算机视觉领域的两个重要概念,它们在许多应用场景中发挥着关键作用。 1. 定义 1.1 图像检测 图像检测(Object Detection)是指在
    的头像 发表于 07-16 11:19 3242次阅读

    图像识别算法都有哪些方法

    图像识别算法是计算机视觉领域的核心任务之一,它涉及到从图像中提取特征并进行分类、识别和分析的过程。随着深度学习技术的不断发展,图像识别算法已
    的头像 发表于 07-16 11:14 5096次阅读

    图像识别算法的提升有哪些

    方法。 数据增强 数据增强是提高图像识别算法性能的一种有效方法。通过对训练数据进行变换和扩展,可以增加数据的多样性,提高模型的泛化能力。常见的数据增强方法包括: 2.1 旋转、缩放、平移和翻转 通过对图像
    的头像 发表于 07-16 11:12 589次阅读

    图像识别算法的优缺点有哪些

    图像识别算法是一种利用计算机视觉技术对图像进行分析和理解的方法,它在许多领域都有广泛的应用,如自动驾驶、医疗诊断、安全监控等。然而,图像识别算法也存在一些优缺点。 一、
    的头像 发表于 07-16 11:09 1331次阅读

    图像识别算法的核心技术是什么

    图像识别算法是计算机视觉领域的一个重要研究方向,其目标是使计算机能够像人类一样理解和识别图像中的内容。图像识别算法的核心技术包括以下几个方面: 特征提取 特征提取是
    的头像 发表于 07-16 11:02 568次阅读

    图像识别技术包括自然语言处理吗

    计算机视觉技术对图像进行处理、分析和理解,从而实现对图像中的目标、场景、行为等信息的识别和理解。图像识别技术包括
    的头像 发表于 07-16 10:54 626次阅读

    图像识别技术在医疗领域的应用

    一、引言 图像识别技术是一种利用计算机视觉技术对图像进行分析和处理的技术。随着计算机技术、人工智能技术、大数据技术等的发展,图像识别技术在各个领域的应用越来越广泛。在医疗领域,
    的头像 发表于 07-16 10:48 729次阅读

    图像识别技术的原理是什么

    图像识别技术是一种利用计算机视觉和机器学习技术对图像进行分析和理解的技术。它可以帮助计算机识别和理解图像中的对象、场景和活动。
    的头像 发表于 07-16 10:46 826次阅读

    图像识别属于人工智能吗

    属于。图像识别是人工智能(Artificial Intelligence, AI)领域的一个重要分支。 一、图像识别概述 1.1 定义 图像识别是指利用计算机技术对图像中的内容
    的头像 发表于 07-16 10:44 941次阅读

    如何利用CNN实现图像识别

    卷积神经网络(CNN)是深度学习领域中一种特别适用于图像识别任务的神经网络结构。它通过模拟人类视觉系统的处理方式,利用卷积、池化等操作,自动提取图像中的特征,进而实现高效的图像识别。本文将从CNN的基本原理、构建过程、训练策略以
    的头像 发表于 07-03 16:16 1108次阅读

    图像检测和图像识别的区别是什么

    图像检测和图像识别是计算机视觉领域的两个重要研究方向,它们在许多应用场景中都有着广泛的应用。尽管它们在某些方面有相似之处,但它们之间还是存在一些明显的区别。本文将从多个角度对图像检测和图像识别
    的头像 发表于 07-03 14:41 790次阅读

    图像识别技术原理 图像识别技术的应用领域

    图像识别技术是一种通过计算机对图像进行分析和理解的技术。它借助计算机视觉、模式识别、人工智能等相关技术,通过对图像
    的头像 发表于 02-02 11:01 2257次阅读

    基于TensorFlow和Keras的图像识别

    TensorFlow和Keras最常见的用途之一是图像识别/分类。通过本文,您将了解如何使用Keras达到这一目的。定义如果您不了解图像识别的基本概念,将很难完全理解本文的内容。因此在正文开始之前
    的头像 发表于 01-13 08:27 768次阅读
    基于<b class='flag-5'>TensorFlow</b>和Keras的<b class='flag-5'>图像识别</b>

    如何使用Python进行图像识别的自动学习自动训练?

    如何使用Python进行图像识别的自动学习自动训练? 使用Python进行图像识别的自动学习和自动训练需要掌握一些重要的概念和技术。在本文中,我们将介绍如何使用Python中的一些常用
    的头像 发表于 01-12 16:06 535次阅读