鮑辰
我對安全類問題比較關(guān)注,平時看新聞也會格外注意這類話題。有一次我看到了一份關(guān)于1—6歲兒童居家環(huán)境危險因素的評估報告,報告表明,排在前幾位的不安全因素有桌椅的尖角和尖銳邊緣,以及珠子、別針等兒童易拿到的小物件。后來我查詢了一些國內(nèi)文獻,都提到兒童在家容易誤食微小物品或被危險器具傷害。是否可以開發(fā)一個能實時巡邏并識別危險物品的裝置呢?我想到了掃地機器人,這正好是一個能夠長時間監(jiān)管地面附近空間的工具。識別危險物品需要用到圖像識別的知識和技術(shù),也正是我感興趣的領(lǐng)域。于是我打算利用掃地機器人作為平臺,開發(fā)一個能識別家中地面上常見危險物品的系統(tǒng)。
Step 1 尋找模型
確立了選題之后,我只是初步知道我要用機器學(xué)習(xí)中的深度學(xué)習(xí)去解決問題,但是具體該怎么做還不明確。因此我先查找目前是否已有人做過這方面的模型,如有的話,是否可以移用到我的課題中來。我發(fā)現(xiàn)谷歌公司的inception模型可以對我的課題原理進行初步驗證。在初始階段,我很難找到合適的開源的掃地機器人。因此我選擇了成本低而且開源的樹莓派小車,在設(shè)定的室內(nèi)場景中放置幾種危險物品,讓小車執(zhí)行巡邏任務(wù)。我對樹莓派小車采集的場景圖像進行圖像識別,統(tǒng)計正確率。根據(jù)采集到的實驗數(shù)據(jù)進行分析,我發(fā)現(xiàn)inception模型對于部分室內(nèi)危險物品的識別度較高,但仍存在對某些危險物品和室內(nèi)物品區(qū)分不明顯的情況。我印象比較深的是用它識別一個黃色老虎鉗,結(jié)果顯示60%的概率是香蕉!這讓我很無奈,覺得這個模型可能并不合適。于是,我想自己訓(xùn)練一個更好的模型。
Q:你所理解的機器學(xué)習(xí)是怎樣的概念?
A:以我自己的課題為例吧。我要讓計算機學(xué)習(xí)本課題涉及的家庭危險物品,就要自己先去網(wǎng)上找10000張圖片,其中一半是存在危險隱患的。我把危險與不危險分別標(biāo)記為1和0,然后全部“喂”給計算機,這就是訓(xùn)練集。訓(xùn)練幾萬次后,計算機會根據(jù)已有的離散點,自己擬合出一個函數(shù)。對于不在所給數(shù)據(jù)范圍內(nèi)的點,它也可以給出一個相對靠譜的答案。這樣計算機以后遇到?jīng)]有見過的圖片時,它就能判斷其是否危險了(以一個合理的概率來表示)。這就是我理解的機器學(xué)習(xí)的概念。
Step 2 卷積神經(jīng)網(wǎng)絡(luò)
我在第二階段的主要工作就是采用重新構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)的方式設(shè)計一個有針對性的模型,提升識別的準(zhǔn)確性。
卷積神經(jīng)網(wǎng)絡(luò)可以這么來理解:一張圖片被卷積處理為一個矩陣,稱為卷積核。假設(shè)我將它的步長設(shè)置為3,每隔3格都對圖像中的像素點和矩陣做一次矩陣乘法,得到一個新的矩陣,這就是一層卷積操作。卷積操作相當(dāng)于提取一些圖像的特征。比如第一層卷積操作提取出比較簡單的邊,第二層卷積操作得到的可能是一個角,再往后可能是提取出危險物品共有的一些特征,比如說比較尖銳、有金屬光澤等。
在這一個階段,我的指導(dǎo)老師給了我非常大的幫助。比如說為什么選了14層的卷積神經(jīng)網(wǎng)絡(luò)而不是15、16層?這類調(diào)參數(shù)的工作需要靠豐富的經(jīng)驗來解決,超出了我的能力范圍。卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)設(shè)計出來之后,我利用爬蟲在網(wǎng)上抓取含有關(guān)鍵詞的圖片,再人工篩選,做訓(xùn)練集。訓(xùn)練的工作量還是很大的,這個階段借用了老師的GPU(圖形處理器),幫我節(jié)省了很多時間。接下來我選了44張危險物品圖片,用新模型和inception模型做對比。對比之后發(fā)現(xiàn),新模型在準(zhǔn)確度和檢測時間上均優(yōu)于inception模型,而且減少了對inception進行人工分類的麻煩。我還使用了混合高斯模型過濾環(huán)境噪音,直接提取危險物品的特征,優(yōu)化識別的準(zhǔn)確率。
Step 3 識別未知的危險物品
家庭中可能出現(xiàn)的情況是很復(fù)雜的,針對課題涉及的異常目標(biāo)建立的模型,無法涵蓋所有情況,所以我需要進一步探究如何識別家中未知的危險物品。
我將多個分類器進行組合,形成一個分類能力更加強大的級聯(lián)分類器。家庭環(huán)境中的場景圖像需要經(jīng)過多級分類后才能被確認(rèn)為正常。只用一種特征進行判斷,準(zhǔn)確率很低,所以將三種特征結(jié)合在一起,根據(jù)投票規(guī)則判斷。比如說根據(jù)兩種特征,認(rèn)為這個物體是異常的,剩下一種特征不判定為異常,少數(shù)服從多數(shù),結(jié)果就是異常。這樣的判斷規(guī)則準(zhǔn)確率會更高。級聯(lián)分類器就是把弱的分類器串聯(lián)或并聯(lián)起來形成強的分類器,以更好地分辨計算機沒有訓(xùn)練學(xué)習(xí)過的那些危險物品,提高對家庭中的未知物品的識別率。
最后將硬件搭建在一起,家長于是可以通過預(yù)警系統(tǒng)隨時查看和接收預(yù)警信息,遇到危險情況,及時處理。
我想把這個系統(tǒng)應(yīng)用在掃地機器人上,且希望它具有很高的識別準(zhǔn)確率,但要達到這個目標(biāo),還需要做很多工作。所幸編程對我來說是一件越做越有趣的事情,以后也想在這個領(lǐng)域耕耘下去。
Q:對于剛進入高一,想要開始做課題的同學(xué),你有什么建議呢?
A:每個學(xué)校對于創(chuàng)新課題的立項、選拔有不同的標(biāo)準(zhǔn)和方式,有意向的同學(xué)要盡早關(guān)注。對于工科類課題,在剛開始的階段先不要想著去買很貴的儀器,因為當(dāng)你對一個課題沒有透徹的了解時,你可能覺得需要一些高端的儀器,但做到后面你會發(fā)現(xiàn),它們可能并不適合你的課題。初始階段最重要的是先想明白你做這個課題,到底是想要做什么,你想突出的創(chuàng)新點是什么,然后再去思考你需要什么。