999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于NAO機(jī)器人各類編程方式分析

2019-06-03 06:52:20王元杰
實(shí)驗(yàn)室研究與探索 2019年3期
關(guān)鍵詞:人臉識(shí)別指令可視化

王元杰, 林 都, 鮮 浩

(中北大學(xué)電氣與控制工程學(xué)院,太原030051)

0 引言

機(jī)器人技術(shù)是集機(jī)械、電子、控制技術(shù)、計(jì)算機(jī)、人工智能等多個(gè)學(xué)科領(lǐng)域于一身的一項(xiàng)綜合性應(yīng)用型技術(shù),是衡量一個(gè)國(guó)家科技發(fā)展水平高低的重要標(biāo)志[1]。

機(jī)器人研究中極為熱門的研究方向之一——仿人機(jī)器人,它有著類人的肢體結(jié)構(gòu)(通常具有仿人的頭部或四肢結(jié)構(gòu)),能夠在特定環(huán)境中代替人類來完成各種工作,進(jìn)一步而言,仿人機(jī)器人可以說在很多方面擴(kuò)展了人類的能力范圍。因此,仿人機(jī)器人在科研、教育、醫(yī)療等多個(gè)領(lǐng)域中得到了廣泛的應(yīng)用,各科研機(jī)構(gòu)在仿人機(jī)器人的研究中進(jìn)行了大量的科研工作,仿人機(jī)器人也成為全球各發(fā)達(dá)國(guó)家不惜投入大量人力、物力、財(cái)力去角逐的科技制高點(diǎn)[2-3]。

NAO機(jī)器人是一款仿人形機(jī)器人,是目前世界上應(yīng)用最廣泛的仿人型機(jī)器人之一[4]。

NAO機(jī)器人高58 cm,具有25個(gè)自由度(圖1),以及大量傳感器(圖2),支持遠(yuǎn)程控制,可實(shí)現(xiàn)完全編程等功能。他豐富的傳感器資源以及靈活的結(jié)構(gòu),可以完成各種復(fù)雜的操作和功能。

圖1 NAO傳感器示意圖

圖2 NAO機(jī)器人關(guān)節(jié)示意圖

同時(shí),NAO機(jī)器人也得到了公眾的肯定,在2007年,它成為機(jī)器人世界杯(RoboCup)的標(biāo)準(zhǔn)平臺(tái);在2010年,NAO機(jī)器人作為科技大使出現(xiàn)[4]在上海世博會(huì)上[5]。

將NAO機(jī)器人的技術(shù)開放給所有的高等教育項(xiàng)目,因?yàn)樗褂肔inux系統(tǒng)的嵌入式處理器,所以不僅可以使用C++,Python等語言進(jìn)行編程,也可以使用官方開發(fā)的一套可視化編譯軟件進(jìn)行編程,這就使得NAO機(jī)器人的開發(fā)有了很大的自由空間和可能性[6]。

NAO的研究范圍覆蓋了包括語音識(shí)別,視頻處理,模式識(shí)別,自閉癥治療,自動(dòng)化,喜好處理,路徑規(guī)劃等很多的方面和領(lǐng)域。這些領(lǐng)域中間,包括了一些不是以軟件編程為主要方向的研究者,NAO機(jī)器人多樣的編譯環(huán)境某種程度上給非控制和軟件方向的研究者帶來了一定的困擾[7]。

本文主要以人臉識(shí)別為例,使用最常用的可視化編程以及Python語言,具體分析各種編譯方式的優(yōu)劣,以及其在各類應(yīng)用場(chǎng)合下的實(shí)際情況。

1 背景知識(shí)介紹NAO機(jī)器人的視覺系統(tǒng)

NAO機(jī)器人通過攝像頭獲取圖像信息,處理并獲得有效的信息。在機(jī)器人的頭部,垂直安裝了兩個(gè)高清攝像頭,其參數(shù):輸出YUV422,視場(chǎng)58°,水平視場(chǎng)47.8°,垂直視場(chǎng) 34.8°,聚焦范圍 30 cm ~ ∞,聚焦類型定焦,物理分辨率VGA,QVGA,幀速30 f/s。攝像頭傳感器可捕捉清晰的VGA格式畫面,最高分辨率下可以達(dá)到30幀/s的速度。頭部水平方向可以轉(zhuǎn)動(dòng)接近239°,垂直方向可轉(zhuǎn)動(dòng)接近68°;視角范圍在水平方向約61°,垂直方向約為 34.8°(圖3),因此可以識(shí)別各類物體。NAO機(jī)器人廣為人知的人臉識(shí)別就是根據(jù)這個(gè)設(shè)計(jì)而開發(fā)的一項(xiàng)互動(dòng)功能。NAO可以學(xué)習(xí)記憶不同的人臉信息,并對(duì)其進(jìn)行識(shí)別[8-9]。

圖3 機(jī)器人攝像頭時(shí)域示意圖

2 Python語言編程實(shí)例

Python是一種高級(jí)的、解釋性的、交互式的、面向?qū)ο蟮哪_本語言,更是一門跨平臺(tái)、開源、免費(fèi)的解釋性高級(jí)動(dòng)態(tài)編程語言,是一種通用編程語言。除了可以解釋執(zhí)行之外,Python還支持將源代碼偽編譯為字節(jié)碼來優(yōu)化程序提高運(yùn)行效率并對(duì)源代碼進(jìn)行保密。Python支持命令式編程(How to do)和函數(shù)式編程(What to do)兩種方式,完全支持嗎?面向?qū)ο蟪绦蛟O(shè)計(jì),語法簡(jiǎn)潔清晰,功能強(qiáng)大且易學(xué)易用[10-11]。

Python的設(shè)計(jì)具有很強(qiáng)的可讀性,相比其他語言經(jīng)常使用英文關(guān)鍵字,以及其他語言的一些標(biāo)點(diǎn)符號(hào),它具有比其他語言更有特色的語法結(jié)構(gòu)。Python是一種解釋型語言,開發(fā)過程中沒有編譯這個(gè)環(huán)節(jié)。Python是面向?qū)ο笳Z言,它支持面向?qū)ο蟮娘L(fēng)格或代碼封裝在對(duì)象的編程技術(shù)[12]。

同時(shí),Python已經(jīng)在很多領(lǐng)域有著非常豐富的應(yīng)用,可以說是一門非常實(shí)用的編程語言。例如:Python是云計(jì)算中最流行的語言、大量?jī)?yōu)秀的Web框架,以及許多用于Python開發(fā)的科學(xué)計(jì)算和人工智能:典型庫(kù)numpy等等。而在金融工程領(lǐng)域中,Python同樣被大量使用[13]。

由于Python是一種動(dòng)態(tài)語言,語言結(jié)構(gòu)清晰簡(jiǎn)潔,庫(kù)豐富、成熟、穩(wěn)定,科學(xué)計(jì)算和統(tǒng)計(jì)分析功能強(qiáng)大,生產(chǎn)效率比 C,C++和 java要高[14]。

以人臉識(shí)別為例,寫了一個(gè)這樣一段代碼來完成——一個(gè)在看到一個(gè)人臉的時(shí)候打招呼的程序編譯。

首先構(gòu)造了一個(gè)類,命名為HumanGreeterModule,主要的任務(wù)就是設(shè)定人臉識(shí)別和進(jìn)行反饋。

其中:subscribeToEvent函數(shù)定義了對(duì)FaceDetected事件的響應(yīng),onFaceDateced函數(shù)是具體的執(zhí)行任務(wù),調(diào)用tts文件進(jìn)行文字轉(zhuǎn)語音的輸出,完成打招呼的功能。

class HumanGreeterModule(ALModule):

def__init__(self,name):

ALModule.__init__(self,name)

self.tts=ALProxy( 'ALTextToSpeech')

global memory

memory=ALProxy("ALMemory")

memory. subscribeToEvent ( " FaceDetected","

HumanGreeter","onFaceDateced")

def onFaceDateced(self,*_args):memory.subscribeToEvent

("FaceDetected","HumanGreeter")

self.tts.say("Hallo") memory.subscribeToEvent("

FaceDetected","HumanGreeter","onFaceDateced")

從這段函數(shù)中可以清晰地看到每個(gè)過程的具體步驟,調(diào)用了什么樣的資源,實(shí)現(xiàn)了什么樣的功能。

3 圖形化編程實(shí)例

圖形化編程是官方提供的一種編程方式。在專用的編譯軟件Choregraph中,以官方提供的指令盒為基礎(chǔ)進(jìn)行編程,通過連線的方式即可完成編程[15]。

Choregraphje軟件(見圖4)是一款編程軟件,可以編寫程序、與NAO鏈接、燒寫程序、與Webots鏈接可以仿真執(zhí)行程序。

圖4 Choregraph主界面

如圖5~7所示,通過軟件界面,我們可以直觀的看到機(jī)器人的姿態(tài)信息和機(jī)器人上的程序信息。

圖5 機(jī)器人視圖

圖6 機(jī)器人關(guān)節(jié)角度

同樣以人臉識(shí)別并進(jìn)行語音問候?yàn)槔褂每梢暬幊谭绞街匦逻M(jìn)行編程:首先,在指令盒庫(kù)(圖8)中找到需要的模塊,指令盒分為兩個(gè)部分,列表和備注。然后,通過圖9所示的操作,很簡(jiǎn)單的就完成了這個(gè)小程序的編寫工作。可以發(fā)現(xiàn),正好有兩個(gè)模塊發(fā)現(xiàn)人臉和語音說話,我們將其連接就可以完成操作。

圖7 機(jī)器人應(yīng)用程序列表

圖8 指令盒

圖9 圖形化編程人臉識(shí)別并問候

4 算法比較

Python和可視化編程可以說是NAO機(jī)器人初學(xué)者常用的兩種編程語言,那么又該如何選擇呢?

從結(jié)構(gòu)上,明顯可以看出,可視化編程要比Python編程更加簡(jiǎn)單。相比之下,可視化編程具有更加簡(jiǎn)單的結(jié)構(gòu)和更加清晰的流程順序,可以說是一種非常適合新手來了解機(jī)器人的一種編程方式。

但是,可視化編程的局限性同樣也很明顯,即只能使用現(xiàn)有的模塊進(jìn)行編程,同時(shí),對(duì)模塊具體實(shí)現(xiàn)過程并不是很了解。以人臉識(shí)別及問候的實(shí)例為例,如圖10所示打開人臉識(shí)別模塊可以看到,觸發(fā)的線并沒有接在起始點(diǎn)的位置,而是一個(gè)叫做Almemory的event觸點(diǎn)上,如果沒有Python的知識(shí)(見圖11),很難解釋這是一個(gè)什么樣的event。同時(shí)打開最內(nèi)層的模塊,可以看到,這些模塊最后其實(shí)還是使用Python進(jìn)行編譯的。但是,很明顯,它的指令不單單是內(nèi)部的函數(shù),還有包括外部接口的一部分內(nèi)容,因此很難對(duì)它進(jìn)行二次編譯來達(dá)到我們的目的或者提高效率。

圖10 Almemory觸點(diǎn)

圖11 人臉識(shí)別模塊內(nèi)部腳本

實(shí)際上,可視化編譯可以理解為是一些已經(jīng)編譯好的、具有較好普適性的Python程序包以一種固定形式進(jìn)行封裝和圖形化之后的產(chǎn)物。這種編譯方式更適合作為機(jī)器人啟蒙性質(zhì)的教育,或者針對(duì)沒有什么編程基礎(chǔ)的群體進(jìn)行小型實(shí)例開發(fā)的編譯環(huán)境,又或者是新手開發(fā)者用來熟悉機(jī)器人的一個(gè)平臺(tái),因?yàn)樗哂休^好的穩(wěn)定性和更加易讀的性質(zhì)。

相較于可視化編程,Python具有更大的靈活空間,可以進(jìn)行更復(fù)雜的運(yùn)算,或者控制器的設(shè)計(jì),實(shí)現(xiàn)算法等任務(wù),必須要受到已有的模塊的束縛。同時(shí),我們可以更深入地了解每個(gè)功能的具體實(shí)現(xiàn)過程,使用更合適的指令,達(dá)到更高的執(zhí)行效率。同樣,如果是針對(duì)某個(gè)方面的機(jī)器人設(shè)計(jì),例如我們需要做個(gè)算法的控制器,很難找的全部合適的指令盒供我們使用,這個(gè)時(shí)候我們只能自己進(jìn)行編譯。

當(dāng)然對(duì)于初學(xué)者來說,完全獨(dú)立編寫全部功能的指令可能并不是那么容易,在此可以使用折中的辦法,在無法完成的功能處使用官方的指令盒來實(shí)現(xiàn),指令盒不能滿足要求甚至沒有指令盒的部分,調(diào)用Python進(jìn)行編程,混合進(jìn)行編程,在choregraph中調(diào)用Python的指令盒,即可完成這樣的功能,在Python中,可以加載官方naoqi庫(kù),其中也有大量的函數(shù)可供使用,可以大幅減少編程的工作量。

5 結(jié)語

編譯環(huán)境日新月異的今天,選擇一個(gè)合適的編譯環(huán)境和編程方式對(duì)以后的開發(fā)工作有著很大的幫助。明確自己的定位,選擇一個(gè)合適的編譯環(huán)境是無疑是一個(gè)非常重要的卻很容易被忽視的步驟。總結(jié)成一句話,以機(jī)器人為輔助平臺(tái)或者非計(jì)算機(jī)類專業(yè)的開發(fā)者更適合圖形化的編譯環(huán)境,這個(gè)可以讓你更快地了解機(jī)器人,完成相應(yīng)的工作。需要完成相對(duì)復(fù)雜的任務(wù)或者有一定編程基礎(chǔ)的開發(fā)者更推薦使用python作為編譯平臺(tái)進(jìn)行程序開發(fā),這樣可以使你擁有更大的發(fā)揮空間和拓展余地。

猜你喜歡
人臉識(shí)別指令可視化
聽我指令:大催眠術(shù)
基于CiteSpace的足三里穴研究可視化分析
人臉識(shí)別 等
基于Power BI的油田注水運(yùn)行動(dòng)態(tài)分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
基于CGAL和OpenGL的海底地形三維可視化
揭開人臉識(shí)別的神秘面紗
“融評(píng)”:黨媒評(píng)論的可視化創(chuàng)新
ARINC661顯控指令快速驗(yàn)證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
基于類獨(dú)立核稀疏表示的魯棒人臉識(shí)別
主站蜘蛛池模板: 国内丰满少妇猛烈精品播| 欧美第九页| 亚洲国产午夜精华无码福利| 综合人妻久久一区二区精品| 日韩在线视频网站| 为你提供最新久久精品久久综合| 全免费a级毛片免费看不卡| 国产视频欧美| 国产微拍精品| av在线无码浏览| 亚洲美女一级毛片| 国产一级视频久久| 国产高清在线精品一区二区三区| 久久无码高潮喷水| 国产jizz| 国产在线98福利播放视频免费| 日本一本正道综合久久dvd| 亚洲欧美国产视频| 尤物成AV人片在线观看| 一级毛片免费的| 麻豆精品视频在线原创| 亚洲一区二区三区香蕉| 国产成人一区免费观看| 夜夜操狠狠操| 毛片基地视频| 亚洲成A人V欧美综合天堂| 国内丰满少妇猛烈精品播| 亚洲美女高潮久久久久久久| 99一级毛片| 国产精品免费入口视频| 久久国产毛片| 国产女人爽到高潮的免费视频| 麻豆AV网站免费进入| 国产女人18水真多毛片18精品| 国产探花在线视频| 国产成人av大片在线播放| 国产激情第一页| 精品伊人久久久香线蕉| 国产成人精品综合| 99热这里都是国产精品| 国产精品原创不卡在线| 欧美亚洲另类在线观看| 无码 在线 在线| 人妻精品全国免费视频| 蜜桃视频一区二区三区| 1769国产精品视频免费观看| 特级做a爰片毛片免费69| 国产AV毛片| 91亚洲精品第一| 91福利在线观看视频| 欧洲日本亚洲中文字幕| 欧美爱爱网| 国产拍揄自揄精品视频网站| 日韩精品欧美国产在线| 午夜福利在线观看成人| 亚洲高清在线播放| 国产精品九九视频| 国产欧美精品一区二区| 国产精品成| 色视频久久| 99这里只有精品在线| 色视频久久| 无码在线激情片| 四虎影视国产精品| 亚洲视频一区| 国产手机在线小视频免费观看| 四虎国产在线观看| 国产另类视频| 久久国产精品娇妻素人| 亚洲天堂精品在线| 欧美日韩国产精品综合| 亚洲日韩在线满18点击进入| 最新国产精品第1页| 欧美视频在线播放观看免费福利资源| 国产高潮流白浆视频| 又粗又硬又大又爽免费视频播放| AV色爱天堂网| 无码一区二区波多野结衣播放搜索| 成人精品在线观看| www.精品国产| 免费黄色国产视频| 二级特黄绝大片免费视频大片|