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