• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      采用樹莓派4B識別新疆蘋果品種的人工智能案例

      2022-03-21 20:32:31郭釗汝徐金郭恒言張?zhí)t張澤宇孟曉艷
      計算機(jī)時代 2022年3期
      關(guān)鍵詞:樹莓派卷積神經(jīng)網(wǎng)絡(luò)人工智能

      郭釗汝 徐金 郭恒言 張?zhí)t 張澤宇 孟曉艷

      摘? 要: 介紹在樹莓派4B開發(fā)板上使用經(jīng)新疆蘋果品種數(shù)據(jù)集訓(xùn)練的Keras模型實時識別蘋果的過程。采用卷積神經(jīng)網(wǎng)絡(luò)理論,將新疆蘋果品種數(shù)據(jù)集在MobileNetV2網(wǎng)絡(luò)模型上深度學(xué)習(xí)訓(xùn)練得到模型文件,并運(yùn)行在鋪設(shè)了TensorFlow框架和OpenCV計算機(jī)視覺庫的樹莓派開發(fā)板上,樹莓派4B通過調(diào)用攝像頭實時識別新疆蘋果品種。著重介紹樹莓派4B的環(huán)境搭建和實時識別過程,為Keras模型和嵌入式計算機(jī)——樹莓派相結(jié)合提供探究角度,促進(jìn)人工智能在硬件方面的實踐與應(yīng)用。

      關(guān)鍵詞: 樹莓派; 卷積神經(jīng)網(wǎng)絡(luò); 人工智能; Keras模型; TensorFlow; 環(huán)境搭建

      中圖分類號:TP311? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A? ? ?文章編號:1006-8228(2022)03-32-04

      Abstract: The real-time apple recognition process of using Xinjiang apple variety data set trained Keras model on Raspberry Pi 4B development board is introduced. Using Convolutional Neural Network theory, the model file is obtained by deep learning the Xinjiang apple variety data set on the MobileNetV2 network model, and runs it on the Raspberry Pi board installed with TensorFlow framework and OpenCV computer vision library. The Raspberry Pi 4B recognizes the Xinjiang apple varieties in real-time by calling the camera on it. This paper focuses on the environment construction and real-time recognition process of the Raspberry Pi 4B, provides an exploration angle for the combination of the Keras model and the embedded computer, the Raspberry Pi, which promotes the practice and application of artificial intelligence in hardware.

      Key words: Raspberry Pi; Convolutional Neural Network; artificial intelligence; Keras model; TensorFlow; environment construction

      0 引言

      自從著名的AlexNet贏得2012年圖像網(wǎng)絡(luò)大規(guī)模視覺識別大賽圖像分類冠軍之后,卷積神經(jīng)網(wǎng)絡(luò)就無處不在。在現(xiàn)實生活中,機(jī)器人、增強(qiáng)現(xiàn)實等應(yīng)用不斷普及,許多應(yīng)用需要借助于資源受限的邊緣設(shè)備實時完成。2017年,谷歌人工智能團(tuán)隊提出適合移動和嵌入式視覺應(yīng)用的MobileNet網(wǎng)絡(luò)模型,該模型用深度可分卷積(Depthwise Separable Convolution)代替了傳統(tǒng)標(biāo)準(zhǔn)機(jī)架(Standard Convolution),從而減少運(yùn)算量。2019年,谷歌人工智能團(tuán)隊對MobileNetV1做出進(jìn)一步改進(jìn),提出MobileNetV2網(wǎng)絡(luò)模型[1]。

      新疆是瓜果之鄉(xiāng),常見的栽培蘋果品種有10余種,2019年,新疆農(nóng)業(yè)大學(xué)計算機(jī)與信息工程學(xué)院采購紅富士、青香蕉、黃元帥蘋果各三十多公斤,采集圖像7932幅,制作新疆蘋果品種數(shù)據(jù)集,將該數(shù)據(jù)集在MobileNetV2網(wǎng)絡(luò)模型結(jié)構(gòu)上訓(xùn)練得到Keras模型。為進(jìn)一步促進(jìn)軟硬件相結(jié)合的人工智能課程,將訓(xùn)練模型運(yùn)行于嵌入式設(shè)備樹莓派上,帶領(lǐng)學(xué)生體驗完整的圖像識別案例。

      2018年教育部印發(fā)的“高等學(xué)校人工智能創(chuàng)新行動計劃”指出要加強(qiáng)高等院校對人工智能創(chuàng)新教育的力度[2-4]。新疆農(nóng)業(yè)大學(xué)計算機(jī)與信息工程學(xué)院響應(yīng)國家重要發(fā)展戰(zhàn)略的號召,與教育環(huán)境實際相結(jié)合,推出一系列相關(guān)課程,促進(jìn)學(xué)科發(fā)展和人才培養(yǎng),以適應(yīng)新一輪的科技革命和產(chǎn)業(yè)變革的人才需求[5]。

      1 卷積神經(jīng)網(wǎng)絡(luò)與MobileNetV2網(wǎng)絡(luò)

      卷積神經(jīng)網(wǎng)絡(luò)(CNN)是多層感知機(jī)(MLP)的變種,由生物學(xué)家休博爾和維瑟爾在早期關(guān)于貓視覺皮層的研究發(fā)展而來。CNN由紐約大學(xué)的Yann Lecun于1998年提出,其本質(zhì)是一個多層感知機(jī),成功的原因是采用了局部連接和權(quán)值共享的方式:一方面減少了權(quán)值的數(shù)量使得網(wǎng)絡(luò)易于優(yōu)化,另一方面降低了模型的復(fù)雜度,也就是減小了過擬合的風(fēng)險。該優(yōu)點在網(wǎng)絡(luò)的輸入是圖像時,表現(xiàn)的更為明顯,使得圖像可以直接作為網(wǎng)絡(luò)的輸入,避免了傳統(tǒng)識別算法中復(fù)雜的特征提取和數(shù)據(jù)重建過程,在二維圖像的處理過程中有很大的優(yōu)勢。

      MobileNetV2網(wǎng)絡(luò)模型做出了4點改進(jìn)(如圖1)[1]:

      ⑴ 在MobileNetV1的深度可分卷積之前增加了一個擴(kuò)維卷積層。

      卷積神經(jīng)網(wǎng)絡(luò)中的Inception模塊是在普通卷積和深度可分卷積操作(深度卷積后逐點卷積)之間的一種中間狀態(tài)。故深度可分卷積可以理解為最大數(shù)量tower的Inception模塊,即在輸入的每個通道獨立執(zhí)行空間卷積,然后進(jìn)行逐點卷積,即1×1卷積,將深度卷積的通道輸出映射到新的通道空間[6]。

      ⑵ 取消了MobileNetV1逐點卷積層之后的Relu激勵層,使之變?yōu)榫€性瓶頸層。

      由于逐深卷積層沒有改變通道數(shù)的能力,MobileNetV2在逐深卷積層前增加了一個逐點卷積層,用來升維。而線性瓶頸層就是去掉第二個逐點卷積的激活函數(shù),棄用ReLU6激勵,并在輸出端進(jìn)行降維,以期待激活函數(shù)在高維空間能夠有效地增加非線性。

      ⑶ 增加了后激勵等維短路連接,形成了所謂的反向殘差模塊。

      MobileNetV2反向殘差模塊實際是一種等維殘差模塊,也就是X1和X2的通道維和空間維相同,故快捷短路不需要卷積調(diào)整,直接和干路逐元素相加。

      ⑷ 網(wǎng)絡(luò)由28層變?yōu)?3層。

      2 樹莓派環(huán)境搭建

      2012年3月,為計算機(jī)編程教育而設(shè)計的樹莓派由英國劍橋大學(xué)埃本·阿普頓(Eben Epton)正式發(fā)售,是只有信用卡大小的微型電腦,其系統(tǒng)基于Linux。Python語言是樹莓派的主要編程語言,除此之外,還支持Java、C、Perl等多種編程語言。

      樹莓派支持的主流操作系統(tǒng)多達(dá)十余種,樹莓派官方網(wǎng)站推薦安裝的系統(tǒng)軟件為Raspbian,在官網(wǎng)下載樹莓派系統(tǒng)鏡像,借助燒錄輔助工具balenaEtcher(燒錄成功率高)和格式化后的SD卡或U盤即可完成系統(tǒng)燒錄。

      啟動樹莓派并連接無線網(wǎng)絡(luò),初次連接網(wǎng)絡(luò)選擇中國上海地區(qū),否則可能會出現(xiàn)網(wǎng)絡(luò)連接異常。接下來按照下列命令在樹莓派中鋪設(shè)新疆蘋果品種識別環(huán)境,主要包含:Python3.7、TensorFlow2.0.0、OpenCV4.1.0、Keras2.3.1和安裝虛擬環(huán)境等操作。

      ⑴ Python3.7

      ① 更新樹莓派系統(tǒng)(遇到[Y/n]時,輸入Y,回車):

      sudo apt-get update

      sudo apt-get upgrade

      ② 安裝python依賴環(huán)境:

      sudo apt-get install build-essential libsqlite-dev sqlite3

      bzip2 libz2 -dev

      ③ 下載python3.7版本源碼并解壓。

      wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz

      tar zxvf Python-3.7.1.tgz

      ④ 編譯安裝python

      cd python-3.7.1

      sudo ./configure

      sudo make install

      ⑤ 檢查安裝

      ls -al /usr/local/bin/python*

      (返回python版本,則安裝成功)

      ⑥ 軟件源更新并升級安裝包

      sudo apt-get update

      sudo apt-get upgrade

      sudo apt-get install python3-pip python3-dev

      ⑵ 安裝虛擬環(huán)境

      ① 新建虛擬環(huán)境,安裝虛擬環(huán)境管理包。

      sudo apt-get install virtualenv -y

      ② 建立虛擬環(huán)境(#‘/usr/bin/python3.7是python所在路徑,一般是這個目錄,CNN是虛擬環(huán)境的名字。)

      virtualenv -p /usr/bin/python3.7 CNN

      ③ 開啟虛擬環(huán)境

      source /home/pi/CNN/bin/activate

      ④ 驗證虛擬環(huán)境

      python --version

      ⑤ 退出虛擬環(huán)境

      deactivate

      ⑶ 開啟CNN虛擬環(huán)境,安裝TensorFlow2.0.0

      提前下載好tensorflow-2.0.0-cp37-none-linux_armv7l并拷貝到樹莓派/home/pi目錄下。

      ① 安裝必要的依賴項:

      sudo apt-get install -y libhdf5-dev libc-ares-

      dev libeigen3-dev cython gcc gfortran

      openmpi-bin libopenmpi-dev libatlas-base-dev

      ② 安裝依賴包:

      pip install keras_applications==1.0.8

      pip install keras_preprocessing==1.1.0

      pip install h5py==2.9.0

      pip install -U six wheel mock

      ③ 安裝TensorFlow2.0.0:

      cd /home/pi

      pip install tensorflow-2.0.0-cp37-none-linux

      _armv7l.whl

      ④ 測試安裝結(jié)果:

      python

      import tensorflow as tf

      (不報錯則表示安裝成功?。?/p>

      ⑷ 開啟CNN虛擬環(huán)境,安裝OpenCV4.1.0和Keras2.3.1

      ① 安裝OpenCV所依賴的各種工具和圖像視頻庫:

      sudo apt-get install build-essential cmake git pkg-config

      sudo apt-get install libjpeg8-dev? libtiff5-dev libjasper-

      dev libpng12-dev

      ② 視頻I/O包、gtk2.0包及gui界面:

      sudo apt-get install libavcodec-dev libavformat-dev

      libswscale-dev libv4l-dev

      sudo apt-get install libgtk2.0-dev libatlas-base-dev

      gfortran? libqtgui4

      ③ 安裝相關(guān)依賴軟件包:

      sudo apt-get install python3-pyqt5

      sudo apt-get install libqt4-test? libhdf5-dev

      sudo pip3 install pillow lxml jupyter matplotlib cython

      ④ 安裝OpenCV:

      pip3 install opencv-python

      pip3 install opencv-contrib-python==4.1.0.25

      sudo apt-get install protobuf-compiler

      ⑤ 測試OpenCV:

      import cv2

      cv2.__version__

      (返回4.1.0,則安裝成功!)

      ⑥ 安裝keras 2.3.1:

      pip install keras==2.3.1 -i https://pypi.douban.com/simple

      ⑸ 測試樹莓派的攝像頭

      ① 用nano編輯器打開modules文件

      sudo nano /etc/modules

      #在文件末尾添加:bcm2835-v4l2

      (然后Ctrl+s保存 Ctrl+x退出)

      ② 連接攝像頭

      vcgencmd get_camera

      ③ 捕捉圖片、命名為image

      raspistill -o image.jpg

      (此時,攝像頭打開捕捉圖片,圖片存儲在/pi/home路徑。)

      3 新疆蘋果品種識別

      將訓(xùn)練好的Keras模型(MobileNet V2_TL.h5)拷貝在樹莓派/pi/home路徑下,利用Raspbian自帶的Python集成開發(fā)環(huán)境Thonny Python IDE,編寫并運(yùn)行Python程序。實時識別界面如圖2所示。

      樹莓派進(jìn)入實時識別界面后,點擊鍵盤上s鍵,保存當(dāng)前圖像,進(jìn)行識別并顯示識別結(jié)果??蛇B續(xù)多次對圖像進(jìn)行實時識別,點擊鍵盤上的q鍵,退出實時識別界面。

      樹莓派實時識別核心代碼:

      model=tf.keras.models.load_model("/home/pi/

      MobileNetV2_TL.h5")

      cap=cv2.VideoCapture(0)

      num= ''

      while True:

      ret, frame=cap.read()

      font=cv2.FONT_HERSHEY_SIMPLEX

      k=cv2.waitKey(1)

      if k==ord('s'):

      cv2.imwrite('temp.png', frame)

      x=img_pre()

      classes=model.predict_classes(x)[0]

      if classes==0:

      num="hongfushi"

      elif classes==1:

      num="qingxiangjiao"

      elif classes==2:

      num="huangyuanshuai"

      print(num)

      print(classes)

      elif k==ord('q'):

      break

      4 結(jié)束語

      此案例融合卷積神經(jīng)網(wǎng)絡(luò)理論將樹莓派的深度學(xué)習(xí)環(huán)境配置完成后,構(gòu)建一個Python腳本,它可以從磁盤加載Keras模型訪問樹莓派相機(jī)模塊、USB網(wǎng)絡(luò)攝像頭,應(yīng)用深度學(xué)習(xí)來實現(xiàn)實時識別新疆蘋果品種。

      人工智能技術(shù)作為計算機(jī)學(xué)科的一個重要分支,發(fā)展迅速。將體積小、價格低、可編程的樹莓派與人工智能相結(jié)合應(yīng)用于課堂,將大大激發(fā)學(xué)生的學(xué)習(xí)興趣,具有一定的使用和教學(xué)價值,作為一個范例希望給人工智能愛好者提供研究思路,將樹莓派玩轉(zhuǎn)起來,開發(fā)出更多有趣實用的應(yīng)用。

      但此系統(tǒng)識別精確度有待提升,需要不斷地調(diào)整,以期待達(dá)到更高的識別率。

      參考文獻(xiàn)(References):

      [1] 張?zhí)t著.卷積神經(jīng)網(wǎng)絡(luò)與圖像分類[M].未出版

      [2] 夏小娜,戚萬學(xué),禹繼國,等.學(xué)習(xí)分析視角下的課程群體協(xié)作行為——以“高級軟件工程”課程為例[J].現(xiàn)代教育技術(shù),2018.28(9):48-54

      [3] 王婷婷,任友群.人工智能時代的人才戰(zhàn)略——《高等學(xué)校人工智能創(chuàng)新行動計劃》解讀之三[J].遠(yuǎn)程教育雜志,2018,36(5):54-61

      [4] 張永梅,杜治蓉,馬禮.人工智能技術(shù)課程實踐教學(xué)改革[J].計算機(jī)時代,2021(2):83-85

      [5] 袁廣林.人工智能時代高等教育變革[J].國家教育行政學(xué)院學(xué)報,2019(8):11-17

      [6] 李慧穎,李薇,邢艷芳,等.基于TensorFlow的人臉識別系統(tǒng)設(shè)計[J].計算機(jī)時代,2020(9):61-63

      猜你喜歡
      樹莓派卷積神經(jīng)網(wǎng)絡(luò)人工智能
      2019:人工智能
      商界(2019年12期)2019-01-03 06:59:05
      人工智能與就業(yè)
      數(shù)讀人工智能
      小康(2017年16期)2017-06-07 09:00:59
      基于深度卷積神經(jīng)網(wǎng)絡(luò)的物體識別算法
      智能安全防盜探測小車
      一種基于樹莓派的門禁系統(tǒng)快速構(gòu)建方法
      深度學(xué)習(xí)算法應(yīng)用于巖石圖像處理的可行性研究
      基于深度卷積網(wǎng)絡(luò)的人臉年齡分析算法與實現(xiàn)
      軟件工程(2016年8期)2016-10-25 15:47:34
      下一幕,人工智能!
      基于卷積神經(jīng)網(wǎng)絡(luò)的樹葉識別的算法的研究
      新密市| 东莞市| 巴林右旗| 白银市| 大厂| 登封市| 安多县| 中方县| 巴林右旗| 林口县| 德安县| 宣威市| 霸州市| 鹤山市| 织金县| 长阳| 庆安县| 万安县| 甘孜县| 大新县| 英德市| 绥芬河市| 哈密市| 托克逊县| 苗栗县| 高雄市| 湟源县| 类乌齐县| 六盘水市| 曲阜市| 教育| 旺苍县| 义马市| 昭通市| 满城县| 邛崃市| 青龙| 芮城县| 漳平市| 南充市| 蕲春县|