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