孟田宇 趙勝男 王禹霖 王妍 李娜
【摘要】近年來(lái),Python因編程簡(jiǎn)潔、功能性強(qiáng)大迅速興起,部分高校也紛紛增加了“人工智能”這類的選修課程。通過(guò)系統(tǒng)的學(xué)習(xí)Python語(yǔ)言,并應(yīng)用在樹(shù)莓派上進(jìn)行編程,可以實(shí)現(xiàn)人臉識(shí)別、物體識(shí)別、人工智能等熱門領(lǐng)域的應(yīng)用。通過(guò)將所學(xué)知識(shí)學(xué)以致用的應(yīng)用在一些課外活動(dòng)及競(jìng)賽中,制作符合時(shí)代發(fā)展方向的實(shí)用性軟、硬件作品,并與省內(nèi)、乃至全國(guó)的頂尖人才進(jìn)行交流、比拼,是大學(xué)生課外生活的重要組成部分。積極參加課外活動(dòng)及競(jìng)賽可以有效的鍛煉大學(xué)生思維模式,將課上所學(xué)知識(shí)靈活運(yùn)用,更好的理解相關(guān)知識(shí)點(diǎn)。本文通過(guò)兩類成型作品作為示例講述。
【關(guān)鍵詞】Python;人工智能;課外活動(dòng)及競(jìng)賽
Python語(yǔ)言作為時(shí)下最熱門的一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,不僅具有豐富且強(qiáng)大的庫(kù),例如:可以處理大量矩陣的任務(wù)的Numpy科學(xué)計(jì)算庫(kù)等。還可以應(yīng)用在Web開(kāi)發(fā)、網(wǎng)絡(luò)爬蟲(chóng)、計(jì)算與數(shù)據(jù)分析、人工智能、自動(dòng)化運(yùn)維、云計(jì)算、網(wǎng)絡(luò)編程、游戲開(kāi)發(fā)八大領(lǐng)域。除此之外,Python還可以建立GUI界面,完成上位機(jī)數(shù)據(jù)發(fā)送與接收等工作??梢?jiàn),Python語(yǔ)言的強(qiáng)大之處!
1. 軟、硬件結(jié)合作品
針對(duì)熱門的垃圾分類等環(huán)保問(wèn)題,把握課外實(shí)驗(yàn)活動(dòng)、競(jìng)賽最新動(dòng)向。通過(guò)對(duì)Python語(yǔ)言所編寫(xiě)樹(shù)莓派3B+的開(kāi)發(fā),制作了一款家用型——智能分類垃圾桶。該作品可以實(shí)現(xiàn)放入垃圾后自動(dòng)識(shí)別垃圾種類及名稱,并針對(duì)種類進(jìn)行排放的功能。該作品實(shí)現(xiàn)垃圾分類具體軟件設(shè)計(jì)流程圖如圖1所示。
垃圾桶外部由五塊亞克力板搭成,即簡(jiǎn)約大氣,又符合現(xiàn)代審美。四周分別裝有簡(jiǎn)易垃圾袋,對(duì)識(shí)別后的垃圾種類進(jìn)行放置,并在頂端裝有超聲波測(cè)距模塊,對(duì)垃圾袋垃圾的滿溢程度進(jìn)行監(jiān)測(cè),當(dāng)出現(xiàn)垃圾過(guò)滿情況時(shí),會(huì)有報(bào)警來(lái)提示用戶更換垃圾袋。
垃圾桶內(nèi)部有一塊較小的亞克力板作為檢測(cè)物體的放置平面,平面下由兩個(gè)SG80舵機(jī)連接。當(dāng)被檢測(cè)物體放置好后,攝像頭會(huì)對(duì)物體進(jìn)行監(jiān)測(cè),并驅(qū)動(dòng)舵機(jī)進(jìn)行旋轉(zhuǎn),將被檢測(cè)物體滑落至相應(yīng)種類的垃圾袋中。
主要實(shí)現(xiàn)功能如下:
1.1 語(yǔ)音識(shí)別
遠(yuǎn)程語(yǔ)音控制啟動(dòng)。垃圾桶在閑時(shí)會(huì)自動(dòng)待機(jī),并實(shí)時(shí)檢測(cè)周圍語(yǔ)音,當(dāng)有人說(shuō)出“垃小圾”時(shí),雙麥語(yǔ)音模塊會(huì)通過(guò)驅(qū)動(dòng)PWM模塊產(chǎn)生脈沖,使垃圾桶前行至語(yǔ)音處。
智能對(duì)話系統(tǒng)。為打造垃圾桶的智能性,雙麥語(yǔ)音模塊調(diào)用Google提供的語(yǔ)音數(shù)據(jù)庫(kù),通過(guò)調(diào)用,實(shí)現(xiàn)常規(guī)語(yǔ)音交流。
1.2 避障模塊
在垃圾桶前行過(guò)程中,會(huì)出現(xiàn)各種碰撞物體的情況。為避免碰撞,在垃圾桶周圍加裝了四個(gè)超聲波測(cè)距模塊,當(dāng)模塊檢測(cè)距離小于10厘米時(shí),立刻轉(zhuǎn)向。
1.3 物體識(shí)別
作為垃圾桶的核心功能,識(shí)別模塊使用了OpenCV與TensorFlow來(lái)實(shí)現(xiàn)實(shí)時(shí)的物體檢測(cè),檢測(cè)時(shí)間僅0.2~0.3s。
2. 軟件編程作品
考慮到垃圾桶的普及情況,通過(guò)對(duì)JAVA語(yǔ)言的學(xué)習(xí)制作了一款微信小程序——垃圾分類小助手。使用微信開(kāi)發(fā)者工具對(duì)小程序的頁(yè)面布局、層次架構(gòu)進(jìn)行代碼編寫(xiě),實(shí)現(xiàn)隨時(shí)隨地使用,蘋(píng)果、安卓平臺(tái)通用的實(shí)用性軟件作品。
小程序首界面遵循交互性原則,可實(shí)現(xiàn)點(diǎn)擊圖標(biāo)按鈕跳轉(zhuǎn)到相應(yīng)頁(yè)面的功能。首界面整體自上而下呈線性布局,既符合了傳統(tǒng)視覺(jué)瀏覽方式,又不失美觀、實(shí)用。
2.1 具體功能如下:
①通過(guò)點(diǎn)擊中部的導(dǎo)航欄“分類查詢”按鈕可以跳轉(zhuǎn)進(jìn)入到進(jìn)入搜索界面,搜索界面在下部分會(huì)有詳細(xì)介紹。
②通過(guò)點(diǎn)擊中部的導(dǎo)航欄“位置定位”按鈕可以進(jìn)入定位界面,定位界面在下部分會(huì)有詳細(xì)介紹。
③通過(guò)點(diǎn)擊中部導(dǎo)航欄的“其他垃圾”等按鈕可以跳轉(zhuǎn)到相應(yīng)的垃圾具體介紹界面,包括該類垃圾的所有名稱以及該類垃圾的處理方式等等。
為防止隨地亂扔垃圾的現(xiàn)象,小程序在分頁(yè)增加了位置界面,可點(diǎn)擊底部導(dǎo)航欄進(jìn)入。位置界面通過(guò)調(diào)用騰訊地圖API,可實(shí)時(shí)查看到周圍垃圾桶位置,通過(guò)引導(dǎo)用戶,將垃圾扔入到附近的垃圾投放點(diǎn)。
小程序的搜索界面作為本作品最重要的組成部分,是整個(gè)小程序的核心。整體布局條理清晰,由三部分組成,簡(jiǎn)單明了,易操作。背景以綠色為主,迎合了垃圾分類主題,底部的識(shí)別按鈕實(shí)現(xiàn)了語(yǔ)音識(shí)別功能以及圖片識(shí)別功能,簡(jiǎn)單化操作,使整個(gè)作品更加智能化,符合時(shí)代發(fā)展方向。
2.2 搜索界面具體功能如下:
2.2.1 文字輸入查找
在搜索界面頂端的搜索框內(nèi)輸入垃圾名稱,即可彈出相應(yīng)的垃圾類別,點(diǎn)擊說(shuō)明框圖可進(jìn)入具體界面。
2.2.2 語(yǔ)音輸入查找
語(yǔ)音識(shí)別可長(zhǎng)按搜索界面下端的語(yǔ)音按鈕,通過(guò)調(diào)用微信端自帶的語(yǔ)音識(shí)別模塊進(jìn)行識(shí)別,將語(yǔ)音上傳到后臺(tái)進(jìn)行轉(zhuǎn)碼,再回傳到手機(jī)小程序上,可實(shí)現(xiàn)語(yǔ)音識(shí)別功能。
2.2.3 圖片輸入查找
圖片識(shí)別可長(zhǎng)按搜索界面下端的相機(jī)按鈕,通過(guò)調(diào)用百度圖表識(shí)別API,對(duì)識(shí)別的用戶圖片進(jìn)行轉(zhuǎn)碼,并會(huì)傳到小程序端進(jìn)行匹配檢測(cè),可實(shí)現(xiàn)圖片識(shí)別功能。
3. 結(jié)論
通過(guò)學(xué)習(xí)課程內(nèi)的Python語(yǔ)言,并擴(kuò)展用于樹(shù)莓派3B+代碼的編寫(xiě)上,真正的做到了學(xué)以致用的目的。課程外的大創(chuàng)競(jìng)賽及大創(chuàng)活動(dòng)不僅豐富了大學(xué)生的課余生活,更加鞏固了課堂上學(xué)習(xí)的知識(shí),學(xué)以致用。
在參加課外競(jìng)賽及活動(dòng)中,不僅需要將作品實(shí)現(xiàn)出來(lái),更需要將設(shè)計(jì)思路、重點(diǎn)、難點(diǎn)清晰地表達(dá)出來(lái),如何用自己表達(dá)的語(yǔ)言將腦中思路直觀的表達(dá)出來(lái)是在大學(xué)生日常學(xué)習(xí)中所接觸不到的,也是最為寶貴的。所以,積極參加課外的競(jìng)賽及活動(dòng),不僅將書(shū)本的知識(shí)靈活運(yùn)用,更鍛煉了大學(xué)生的思維方式、溝通交流等能力。
參考文獻(xiàn):
[1]廖建新.移動(dòng)智能網(wǎng)技術(shù)的研發(fā)現(xiàn)狀及未來(lái)發(fā)展[J].電子學(xué)報(bào),2003,31(11):1725-1731.
[2]Wong V.and Leung V.Location management for next generation personal communication [7] networks [J]. IEEE Network,2000,14(10):18–24.
作者簡(jiǎn)介:孟田宇(1999.1-)男,遼寧海城人,沈陽(yáng)工學(xué)院,學(xué)生。李娜(通訊作者)1981年11月出生,遼寧法庫(kù)人,碩士,副教授,研究方向:圖像處理和分析。