国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

讓現(xiàn)實世界的情感為人工智能所用(二)

發(fā)布時間:2020-2-21 14:10    發(fā)布者:eechina
關(guān)鍵詞: 人工智能
在上一篇文章“讓現(xiàn)實世界的情感為人工智能所用(一)”中,我們介紹了本項目的背景內(nèi)容和工作流程,以及運作時所需的物料、工具和其他資源。接下來,我們要按照下文“軟件”一節(jié)中的步驟讓整個設(shè)備運作起來。

軟件


圖6:默認(rèn)的Raspbian操作系統(tǒng)提供了編輯Python腳本以適合您的項目所需的所有工具

在本節(jié)中,我們將詳細(xì)介紹本項目軟件方面的內(nèi)容。本項目已在Raspbian的Buster版本上通過測試,此為撰寫本文時的最新版本。本項目在樹莓派3B+和樹莓派4上都進行了測試。

如果您沒有任何將Raspbian OS刷入microSD存儲卡的經(jīng)驗,我們建議您使用Etcher應(yīng)用程序,該工具可通過Google搜索到;同時請按照這份教程來操作。

最后一點,如果您的樹莓派4無法啟動,則EEPROM可能已損壞。請按照這些步驟來修復(fù)該問題。

本指南余下的部分將重點介紹完成樹莓派初始設(shè)置并將其成功連接到Internet之后要采取的步驟。

安裝OpenVINO和經(jīng)過訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型

要在您自己的樹莓派上啟動并運行本項目,您最好擁有通過命令行在Linux中導(dǎo)航的經(jīng)驗。以下是我們啟動和運行英特爾OpenVINO軟件所遵循的步驟。在得到指示前,請勿安裝神經(jīng)計算棒。

$sudo mkdir -p /opt/intel/openvino
$cd ~/Downloads/
$wget –no-check-certificate https://download.01.org/opencv/2 ... an_p_2019.2.242.tgz
$sudo tar -xf l_openvino_toolkit_runtime_raspbian_p_2019.2.242.tgz
--strip 1 -C /opt/intel/openvino
$sudo apt install cmake
$source /opt/intel/openvino/bin/setupvars.sh
$echo "source /opt/intel/openvino/bin/setupvars.sh" >> ~/.bashrc

要測試是否一切正常,請打開一個新的終端,此時您應(yīng)該看到這樣的內(nèi)容:

[setupvars.sh] OpenVINO environment initialized

如果操作成功,接下來繼續(xù)在原先的終端窗口中操作。

$sudo usermod -a -G users "$(whoami)"
$sh /opt/intel/openvino/install_dependencies/install_NCS_udev_rules.sh
$sudo apt-get install -y python3-picamera
$sudo -H pip3 install imutils --upgrade
$git clone https://github.com/Mouser-Electr ... ysicalComputing.git
$cd Emotions_and_PhysicalComputing

最后,如果您使用的是OV5647攝像頭,請執(zhí)行以下操作:

$python3 main.py -wd 320 -ht 240 -numncs 2 -cm 1

或者,如果您使用的是USB攝像頭,請執(zhí)行以下操作:

$python3 main.py -wd 320 -ht 240 -numncs 2 -cm 0

接下來,讓我們更深入地研究Python文件。

項目文件

本項目GitHub存儲庫的Software文件夾中有以下源代碼文件:

●  main.py:我們需要在此Python腳本中添加特定于項目的代碼,以便獲取神經(jīng)網(wǎng)絡(luò)的輸出,并根據(jù)推斷出的情感,通過伺服電機在現(xiàn)實世界中執(zhí)行操作。
●  face-detection-retail-0004.xml:包含用于檢測為其呈現(xiàn)的圖像中是否存在人臉的神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)拓?fù)洹?br /> ●  face-detection-retail-0004.bin:包含用于檢測為其呈現(xiàn)的圖像中是否存在人臉的神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值。
●  emotions-recognition-retail-0003.xml:包含用于檢測人臉圖像所呈現(xiàn)表情的神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)拓?fù)洹?br /> ●  emotions-recognition-retail-0003.bin:包含用于檢測人臉圖像所呈現(xiàn)表情的神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值。



借助預(yù)處理程序的#include指令,可以將庫添加到項目中。此舉有利于代碼重用;除非您有非常特殊的需求,否則沒有必要自己從頭重新編寫代碼。本項目用到了下面這些庫:

●  sys:提供與解釋器進行交互所需的變量和函數(shù),例如將命令行參數(shù)傳遞給Python腳本。
●  numpy:也稱為NumPy,是一個軟件包,其中包含供腳本使用的高級數(shù)學(xué)函數(shù)。
●  os:用來訪問和操作系統(tǒng)相關(guān)的函數(shù),例如與文件系統(tǒng)和輸入/輸出相對接。
●  time:該庫提供與時間相關(guān)的函數(shù),例如從系統(tǒng)獲取日期和時間,或通過sleep()設(shè)置延遲。
●  multiprocessing:該庫提供了一種機制,用于生成可以同時運行的多個進程。
●  gpiozero:該庫提供的函數(shù)可與帶有各種執(zhí)行器和傳感器(例如伺服電機和LED)的40引腳GPIO接頭進行交互。
●  openvino.inference_engine:使Python腳本能夠與NCS2設(shè)備上的推測引擎進行交互。
●  heapq:該庫提供了堆隊列算法的一種實現(xiàn)。堆隊列是一種優(yōu)先級隊列,它實現(xiàn)了一個二叉樹,其中優(yōu)先級最低的元素始終保留在根節(jié)點位置。
●  threading:該庫提供了多線程機制,使并發(fā)線程能夠立刻運行。
●  pivideostream:該庫提供了一種與攝像頭交互的機制。
●  imutils:該庫提供了一組圖像處理函數(shù),例如旋轉(zhuǎn)、平移和調(diào)整大小。

變量和常量


main.py文件中包含多個變量,這些變量使我們能夠與NCS2設(shè)備和伺服電機進行交互。

以下為gpizero庫的伺服模型實例,每個伺服電機都有這樣的一個實例:

happyServo =Servo(12)
sadServo =Servo(13)
angreyServo= Servo(18)

這些變量用于提取由NCS2檢測到的情緒,供Python腳本中的其他方法使用:

emotion =str(object_info[7])
LABELS =["neutral", "happy", "sad", "surprise","anger"]

在main.py源文件大約333行處,需要添加本項目最重要的一段代碼:


out self.exec_net.requests[dev].outputs["prob_emotion"].flatten()
emotion =LABELS[int(np.argmax(out))]
if emotion== "happy":
    setServosHappy()
else ifemotion == "sad":
    setServosSad()
else ifemotion == "anger":
    setServosAngry()
else:
    setServosNeutral()
detection_list.extend([emotion])
self.resultsEm.put([detection_list])
self.inferred_request[dev]= 0


函數(shù)

●  setServosHappy():檢測到快樂表情時,此函數(shù)會將GPIO12上的伺服電機設(shè)置為最大位置,同時將GPIO13和GPIO18設(shè)置為最小位置。
●  setServosSad():檢測到悲傷表情時,此函數(shù)會將GPIO13上的伺服電機設(shè)置為最大位置,同時將GPIO12和GPIO18設(shè)置為最小位置。
●  setServosAngry():檢測到憤怒表情時,此函數(shù)會將GPIO18上的伺服電機設(shè)置為最大位置,同時將GPIO12和GPIO13設(shè)置為最小位置。
●  setServosNeutral():當(dāng)檢測不到人臉或者人臉上沒有表情(中性)時,此函數(shù)會將所有伺服電機設(shè)置為最小位置。

運行項目

組裝好項目并且安裝好軟件后,我們就可以把它運行起來了,這真是激動人心的時刻!

1、在終端中輸入以下命令:

$cd ~/Downloads/Emotions_and_PhysicalComputing

如果使用的是OV5647攝像頭:

$python3 main.py -wd 320 -ht 240 -numncs 2 -cm 1

或者,如果使用的是USB攝像頭:

$python3 main.py -wd 320 -ht 240 -numncs 2 -cm 0


圖7:終端和攝像頭輸出

2、屏幕上會彈出一個小窗口,顯示攝像頭的視頻輸入以及一些文本和方框。

3、確保環(huán)境光線充足,然后站在鏡頭前,擺出快樂、悲傷和憤怒的表情。

4、檢測到的面部表情類型應(yīng)顯示在屏幕上以及終端窗口中。

5、伺服器應(yīng)正常工作,并根據(jù)您所做出的表情上下移動花朵。人工智能真的實現(xiàn)了物理計算!

故障排除提示

1、首次運行伺服電機時,請在伺服電機已連接到樹莓派但尚未連接到機械組件的情況下運行代碼。萬一代碼導(dǎo)致伺服電機的移動方向與實際安裝方向相反,此舉可以確保伺服電機不會受到損壞。

2、如果您用錯了針對USB攝像頭的標(biāo)志和針對OV5647攝像頭的標(biāo)志,可能會出現(xiàn)問題。請務(wù)必對OV5647攝像頭使用-cm 1、對USB攝像頭使用-cm 0。

請確保您使用的是低壓伺服電機,并且使用樹莓派的5V引腳而非3V引腳。此外,也可以考慮配置專用于伺服電機的外部電源。請確保將接地線連接在一起。


圖8:圖中所示為滑塊機構(gòu)的設(shè)計概念,通過兩塊6英寸寬、帶有兩個反向45度切割斜面的松木塊來構(gòu)成一套簡單的滑動機構(gòu)


圖9:項目成果拼貼畫
本文地址:http://m.qingdxww.cn/thread-577834-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點宏來節(jié)省時間和空間
  • Dev Tool Bits——使用DVRT協(xié)議查看項目中的數(shù)據(jù)
  • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監(jiān)視
  • 貿(mào)澤電子(Mouser)專區(qū)
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 婷婷亚洲视频 | 精品视频一区二区三三区四区 | 欧美高清另类自拍视频在线看 | 国产精品一区二区综合 | 国产a视频 | 四虎永久在线观看 | 欧美三级视频 | 久久久黄色大片 | 欧美在线视频第一页 | 国产视频手机在线 | 亚洲免费一 | 日韩一区二区三区四区区区 | 精品国产一区二区三区19 | 麻豆精品久久久一区二区 | 非洲黑人毛片 | 家庭教师 | 免费在线观看黄色 | 老司机在线精品视频 | 久久免费视频网 | 两个人免费观看www在线 | 在线视频欧美精品 | 免费国产成人 | 国产欧美精品一区二区色综合 | 欧美日本中文 | 色婷婷五| 久久2| 成人免费无毒在线观看网站 | 天天影视欧美 | 国内精品一区二区三区 | 国产欧美日韩精品专区 | 天天操天天搞 | 女人体1963午夜免费视频 | 亚洲精品麻豆 | 国内精品亚洲 | 欧美地区一二三区 | 99久久国产综合精麻豆 | 狠狠色综合色综合网站嗯 | 国产123| 亚洲男人在线天堂 | 男女网站在线观看 | 久久五月婷 |