開始使用tensorflow和raspberry pi進行影象識別

想掌握影象識別嗎?多虧了Tensorflow和覆盆子皮,你可以馬上開始。...

TensorFlow是谷歌的神經網絡庫。鑑於機器學習是目前最熱門的事情,谷歌在這項新技術中處於領先地位也不足為奇。

image-recognition-raspi-tensorflow

在本文中,您將學習如何在Raspberry Pi上安裝TensorFlow,並在預先訓練的神經網絡上運行簡單的圖像分類。

入門

要開始使用圖像識別,您需要一個Raspberry Pi(任何型號都可以)和一個帶有Raspbian Stretch(9.0+)操作系統的SD卡(如果您是Raspberry Pi的新手,請使用我們的安裝指南)。

啟動Pi並打開終端窗口。確保Pi是最新的,並檢查Python版本。

sudo apt-get updatepython --versionpython3 --version

在本教程中,您可以同時使用python2.7或python3.4+。這個例子是針對python3的。對於Python2.7,在本教程中用Python替換Python3,用pip替換pip3。

Pip是Python的包管理器,通常作為標準安裝在Linux發行版上。

如果您發現沒有,請按照本文中的install for Linux說明進行安裝。

安裝tensorflow

安裝TensorFlow過去是一個非常令人沮喪的過程,但是最近的更新使它變得非常簡單。雖然您可以在沒有任何先前知識的情況下遵循本教程,但在嘗試之前,可能需要了解機器學習的基本知識。

在安裝TensorFlow之前,請先安裝Atlas庫。

sudo apt install libatlas-base-dev

完成後,通過pip3安裝TensorFlow

pip3 install --user tensorflow

這將為登錄用戶安裝TensorFlow。如果您喜歡使用虛擬環境,請在此處修改代碼以反映這一點。

測試張量流

一旦安裝好,您就可以測試它是否與TensorFlow相當於一個Hello,world!

從命令行使用nano或vim創建一個新的Python腳本(如果您不確定要使用哪一個,它們都有優點),並將其命名為易於記住的名稱。

sudo nano tftest.py

輸入此代碼,由Google提供,用於測試TensorFlow:

import tensorflow as tfhello = tf.c***tant('Hello, TensorFlow!')sess = tf.Session()print(sess.run(hello))

如果您使用的是nano,請按Ctrl+X退出,並在提示時鍵入Y保存文件。

從終端運行代碼:

python3 tftest.py

你應該看到“你好,TensorFlow”打印出來。

如果您運行的是python3.5,則會收到幾個運行時警告。官方的TensorFlow教程承認會發生這種情況,建議您忽略它。

TensorFlow and Python3.5 - Ignorable error

真管用!現在做一些有趣的關於張量流的事情。

安裝圖像分類器

在終端中,在主目錄中為項目創建一個目錄並導航到其中。

mkdir tf1cd tf1

TensorFlow有一個git存儲庫,其中有一些示例模型可供嘗試。將存儲庫克隆到新目錄:

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

您希望使用圖像分類示例,可以在模型/教程/圖像/imagenet中找到。立即導航到該文件夾:

cd models/tutorials/image/imagenet

標準圖像分類腳本與提供的熊貓圖像一起運行:

Tiny TensorFlow Panda

要使用提供的panda圖像運行標準圖像分類器,請輸入:

python3 classify_image.py

這將熊貓的圖像輸入到神經網絡中,神經網絡返回對圖像內容的猜測,並給出其確定程度的值。

TensorFlow Panda Classifying Output

如輸出圖像所示,神經網絡猜測正確,幾乎有90%的把握。它還認為圖片中可能包含一個奶油凍蘋果,但它對這個答案不是很有信心。

使用自定義圖像

熊貓圖片證明了TensorFlow的工作原理,但考慮到該項目提供的例子,這也許並不奇怪。為了更好的測試,你可以把自己的圖像交給神經網絡進行分類。

在本例中,您將看到TensorFlow神經網絡是否可以識別George。

George the Dinosaur

見見喬治。喬治是一隻恐龍。要將此圖像(此處以裁剪形式提供)輸入神經網絡,請在運行腳本時添加參數。

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

image_ufile=在腳本名稱之後允許按路徑添加任何圖像。讓我們看看這個神經網絡是怎麼做的。

TensorFlow Dinosaur Classification Output

不錯!雖然喬治不是一隻三角龍,但與其他選項相比,神經網絡將這張圖片歸類為恐龍,具有高度的確定性。

張量流和覆盆子皮,準備好了

TensorFlow的這個基本實現已經有了潛力。這種物體識別是在Pi上進行的,不需要連接internet就可以正常工作。這意味著,隨著一個覆盆子Pi相機模塊和覆盆子Pi合適的電池單元,整個項目可以變得便攜。

大多數教程只觸及一個主題的表面,但它從來沒有比在這種情況下更真實。機器學習是一門極其密集的學科。

讓你的知識更進一步的一種方法是參加專門的課程。同時,用這些TensorFlow項目來實踐機器學習和Raspberry Pi,你可以自己嘗試。

  • 發表於 2021-03-18 14:49
  • 閱讀 ( 55 )
  • 分類:DIY

你可能感興趣的文章

如何在linux中設定raspberry pi

它可以作為媒體中心,機器人的大腦,網路伺服器,甚至是數碼相框。小樹莓皮似乎知道很少的限制。。。你甚至可以在上面執行舊的Windows遊戲而不需要模擬! ...

  • 發佈於 2021-03-13 11:04
  • 閲讀 ( 45 )

使用raspberry pi觸控式螢幕的10個專案

與其將Raspberry Pi**電視,或透過SSH連線(或透過VNC或RDP進行遠端桌面連線),您可能會選擇購買Raspberry Pi觸控式螢幕顯示器。 ...

  • 發佈於 2021-03-14 20:42
  • 閲讀 ( 50 )

5種使用raspberry pi相機模組進行延時攝影的方法

樹莓圓周率的輕,緊湊的特性意味著,當與流行的相機模組和行動式電池配對,它可以作為一個祕密相機使用。考慮到這一點,我最近拍攝了五個驚人的延時影片。你也可以。 ...

  • 發佈於 2021-03-15 07:42
  • 閲讀 ( 43 )

如何從usb啟動raspberry pi 3

樹莓圓周率是一個偉大的,多功能的一塊工具包,專案的多樣性,如經營一個媒體中心作為廣播電臺使用的能力。但它有一個明顯的缺陷:無法從USB啟動。 ...

  • 發佈於 2021-03-17 12:42
  • 閲讀 ( 101 )

透過引導分割槽破解樹莓pi的6種方法

用覆盆子皮是非常有趣的。有這麼多專案要選,50美元的電腦會讓你忙上幾個月。但是建立樹莓皮皮可能會很費時。 ...

  • 發佈於 2021-03-18 17:12
  • 閲讀 ( 49 )

如何在raspberry pi上安裝android

儘管Raspberry-Pi有很多作業系統可用,但您可能更願意使用基於Linux的作業系統。但缺少觸控式螢幕支援又如何呢? ...

  • 發佈於 2021-03-18 23:47
  • 閲讀 ( 56 )

用emby把你的raspberry pi變成一個媒體伺服器

尋找一個智慧,易於使用的Raspberry Pi媒體伺服器解決方案與客戶端應用程式的良好選擇?也許你看了Plex或Kodi,但發現它們似乎不對。如果是這樣的話,值得一試。 ...

  • 發佈於 2021-03-19 08:43
  • 閲讀 ( 63 )

如何將raspberry pi設定為windows瘦客戶端

想在你的樹莓皮上執行Windows嗎? ...

  • 發佈於 2021-03-21 09:29
  • 閲讀 ( 54 )

如何在raspberry pi上安裝作業系統

你的Raspberry Pi沒有預裝作業系統。 ...

  • 發佈於 2021-03-21 13:44
  • 閲讀 ( 51 )

谷歌珊瑚開發板比樹莓皮好嗎?

...發板是一個SBC,帶有谷歌定製的Mendel作業系統,設計用於TensorFlow Lite神經網路。它還具有全面的通用輸入/輸出(GPIO)引腳。考慮到它的外觀和大小,您可能認為這是另一個覆盆子皮克隆,但有一些重要的區別。 ...

  • 發佈於 2021-03-21 16:34
  • 閲讀 ( 68 )