高思晗 陳萬(wàn)順 馬書(shū)香
【摘 要】TensorFlow是Google開(kāi)發(fā)的深度學(xué)習(xí)框架。本文通過(guò)在Windows系統(tǒng)下搭建環(huán)境,針對(duì)霧霾,雨雪等惡劣天氣下目標(biāo)檢測(cè)效果較差,從而結(jié)合多模態(tài)視覺(jué)角度,利用TensorFlow深度學(xué)習(xí)框架進(jìn)行多模態(tài)目標(biāo)檢測(cè),從而實(shí)現(xiàn)TensorFlow在多模態(tài)目標(biāo)檢測(cè)中的應(yīng)用。
【關(guān)鍵字】TensorFlow;深度學(xué)習(xí);多模態(tài);目標(biāo)檢測(cè)
中圖分類號(hào): TP391.41文獻(xiàn)標(biāo)識(shí)碼: A文章編號(hào): 2095-2457(2019)16-0093-002
DOI:10.19694/j.cnki.issn2095-2457.2019.16.040
Application of TensorFlow in Multi-modal Object Detection
GAO Si-han CHEN Wan-shun MA Shu-xiang
(Wuhu Institute of Technology, Wuhu Anhui 241000, China)
【Abstract】TensorFlow is an open source deep learning framework of Google company. In this article, the environment is built under the Windows system, and the object detection effect is poor for bad weather such as smog, rain and snow. Combining the multi-modal vision angle, the TensorFlow deep learning framework is used for multi-modal object detection, which realizes the application of TensorFlow in multi-modal object detection.
【Key words】TensorFlow; Deep learning; Multi-modal; Object detection
0 引言
我們正處在一個(gè)日新月異、飛速變革的時(shí)代,層出不窮的新技術(shù)每天都在沖擊和改變我們的生活。人工智能無(wú)疑是其中最受關(guān)注、也是影響最深遠(yuǎn)的技術(shù)領(lǐng)域。它為計(jì)算機(jī)插上了翅膀,演變出許多從前根本無(wú)法想象的新技術(shù)、新應(yīng)用。有關(guān)人臉識(shí)別、自動(dòng)駕駛等新技術(shù)的應(yīng)用也紛紛開(kāi)始落地[1]。
目標(biāo)檢測(cè)是計(jì)算機(jī)視覺(jué)的基本任務(wù)之一,目標(biāo)檢測(cè)是將目標(biāo)定位和目標(biāo)分類結(jié)合起來(lái),利用圖像處理技術(shù)、機(jī)器學(xué)習(xí)等多方向的知識(shí),從圖像(視頻)中定位感興趣的對(duì)象[2]。目前大多數(shù)的目標(biāo)檢測(cè)實(shí)驗(yàn)都是基于可見(jiàn)光圖像,但是在惡劣天氣下例如雨雪、霧霾以及遮擋的情況下,就可以結(jié)合熱紅外圖像進(jìn)行目標(biāo)檢測(cè)。
Tensorflow作為最新的、應(yīng)用范圍最為廣泛的深度學(xué)習(xí)開(kāi)源框架自然引起了廣泛的關(guān)注,Tensorflow雖然被谷歌開(kāi)源公布只有不到兩年的時(shí)間,但是其在工業(yè)、商業(yè)以及科學(xué)研究上的應(yīng)用量很大,使之成為時(shí)下最熱門的深度學(xué)習(xí)框架。
1 目標(biāo)檢測(cè)的研究現(xiàn)狀
傳統(tǒng)的目標(biāo)檢測(cè)有提取目標(biāo)的低層特征,訓(xùn)練SVM分類器進(jìn)行檢測(cè),首先在給定圖像上采 用不同大小的滑動(dòng)窗口對(duì)整幅圖像進(jìn)行遍歷選擇候選區(qū)域;然后對(duì)這些區(qū)域提取特征;最后使用分類器進(jìn)行分類。雖然這種方法取得了不錯(cuò)的結(jié)果,但是采用滑動(dòng)窗口進(jìn)行區(qū)域選擇時(shí)沒(méi) 有針對(duì)性導(dǎo)致時(shí)間復(fù)雜度高且窗口冗余;另外手工設(shè)計(jì)的特征沒(méi)有很好的魯棒性[3]。這類方法的準(zhǔn)確率早已被深度學(xué)習(xí)超過(guò)。隨著深度學(xué)習(xí)在目標(biāo)檢測(cè)技術(shù)上的應(yīng)用,越來(lái)越多的深度模型框架被提出。
TensorFlow 提供良好的圖像分類模型和處理接口, 可以實(shí)現(xiàn)拍照搜題、圖像自動(dòng)批注等功能,故增強(qiáng)了學(xué)習(xí)系統(tǒng)的智能化。人工智能技術(shù)是解決海量視頻資源分析的關(guān)鍵技術(shù),TensorFlow具有視頻分析的各類 API,能夠有效地實(shí)現(xiàn)視頻中的物體識(shí)別、視頻分類、視頻檢索、視頻自動(dòng)標(biāo)簽等功能。由于目前的目標(biāo)檢測(cè)應(yīng)用大部分是基于單模態(tài)環(huán)境,當(dāng)遇到雨雪,霧霾等惡劣天氣以及有遮擋的情況,很難去解決,所以本文針對(duì)傳統(tǒng)單模態(tài)目標(biāo)檢測(cè)進(jìn)行補(bǔ)充,使用谷歌提供的開(kāi)源深度學(xué)習(xí)框架結(jié)合多模態(tài)環(huán)境進(jìn)行目標(biāo)檢測(cè)。
2 Tensorflow在多模態(tài)目標(biāo)檢測(cè)中的應(yīng)用
2.1 Windows下Tensorflow平臺(tái)搭建
2015年11月Google將TensorFlow開(kāi)源,并在Github上進(jìn)行開(kāi)源,當(dāng)時(shí)只發(fā)行了Linux和MAC系統(tǒng)運(yùn)行的版本, 2016年年底Google正式發(fā)行了Windows版本(支持Python,c++等語(yǔ)言),TensorFlow 可以部署于 64 位Linux、macOS和Windows以及移動(dòng)平臺(tái)。此外, TensorFlow提供了Python、C++等API,可以實(shí)現(xiàn)多語(yǔ)言開(kāi)發(fā)。Python語(yǔ)言的簡(jiǎn)潔性和與TensorFlow的無(wú)縫結(jié)合,本文研究的目標(biāo)檢測(cè)所使用的語(yǔ)言為Python,使用的版本為Python3.5,考慮使用Tensorflow安裝的普及性我們安裝Tensorflow CPU版本。配置環(huán)境的具體步驟:
(1)首先安裝python3.5;
(2)Python安裝完成后,在開(kāi)始搜索里打開(kāi)cmd,搜索python,確認(rèn)安裝成功;
(3)升級(jí)自帶的pip版本pip3;
(4)安裝numpy、pillow、lxml、jupyter、matplotib組件;
(5)下載并安裝Tensorflow Object Detection API
(6)通過(guò)cmd命令行運(yùn)行notebook demo;
(7)運(yùn)行Tensorflow Object Detection API,測(cè)試其自帶的示例。
測(cè)試運(yùn)行結(jié)果如圖1所示。
2.2 基于Tensorflow的多模態(tài)目標(biāo)檢測(cè)實(shí)驗(yàn)
目前大多數(shù)的目標(biāo)檢測(cè)實(shí)驗(yàn)都是基于可見(jiàn)光圖像,但是在惡劣天氣下例如雨雪、霧霾以及遮擋的情況下,就可以結(jié)合熱紅外圖像進(jìn)行目標(biāo)檢測(cè)。關(guān)于TensorFlow部署在文中3.1部分已經(jīng)詳細(xì)介紹。谷歌開(kāi)源的Object Detection API提供了五種網(wǎng)絡(luò)結(jié)構(gòu)的訓(xùn)練權(quán)重,本文中采用了第一種模型ssd-mobilenet_v1_coco進(jìn)行目標(biāo)檢測(cè)。具體步驟如下。
a)訓(xùn)練數(shù)據(jù)準(zhǔn)備,手工標(biāo)記分類圖片,標(biāo)注信息會(huì)保存為xml文件,使用腳本文件將所有xml文件轉(zhuǎn)換為csv文件
b)使用腳本文件生成TFRecord文件
c)創(chuàng)建label映射文件,id需要從1開(kāi)始,class-N便是自己需要識(shí)別的物體類別名,文件后綴為.pbtxt
item{
id:1
name: 'class-1'
}
item{
id:2
name: 'class-2'
}
d)下載模型并配置文件,
e)訓(xùn)練模型
f)導(dǎo)出模型
g)使用新模型進(jìn)行實(shí)驗(yàn)
下圖為雨雪天氣,使用可見(jiàn)光相機(jī)和紅外相機(jī)拍攝的同一場(chǎng)景,可見(jiàn)TensorFlow在熱紅外圖像上對(duì)于目標(biāo)的檢測(cè)精度更高。
3 總結(jié)
TensorFlow是一個(gè)很好的深度學(xué)習(xí)框架,它的優(yōu)勢(shì)在于深度學(xué)習(xí)系統(tǒng)的構(gòu)建,相比傳統(tǒng)的目標(biāo)檢測(cè)方法效果更為理想,本文采用TensorFlow深度學(xué)習(xí)框架進(jìn)行多模態(tài)目標(biāo)檢測(cè),實(shí)驗(yàn)結(jié)果證明,結(jié)合多種模態(tài)進(jìn)行目標(biāo)檢測(cè)是可行有效的。
【參考文獻(xiàn)】
[1]李東,張貝貝.人工智能背景下的高職院校實(shí)踐教學(xué)創(chuàng)新研究[J].電腦迷,2018(07):55.
[2]方路平,何杭江,周國(guó)民.目標(biāo)檢測(cè)算法研究綜述[J].計(jì)算機(jī)工程與應(yīng)用,2018,54(13):11-18.
[3]李丹.基于深度學(xué)習(xí)的目標(biāo)檢測(cè)綜述[J].科技經(jīng)濟(jì)導(dǎo)刊,2019,27(13):1-2
[4]賀洪煜.基于Python的科技情報(bào)智能化識(shí)別檢索系統(tǒng)的研究與設(shè)計(jì)[J].科技視界,2019(11):72-74.
[5]章敏敏,徐和平,王曉潔,周夢(mèng)昀,洪淑月.谷歌TensorFlow機(jī)器學(xué)習(xí)框架及應(yīng)用[J].微型機(jī)與應(yīng)用,2017,36(10):58-60.
[6]徐胤,袁浩巍,李智.基于卷積神經(jīng)網(wǎng)絡(luò)和TensorFlow的手寫數(shù)字識(shí)別研究[J].上海電氣技術(shù),2018,39(1):31-34,61.
[7]李林,李小舜,吳少智.基于遷移學(xué)習(xí)和顯著性檢測(cè)的盲道識(shí)別[J].計(jì)算機(jī)工程與應(yīng)用,2018,54(11):8-15
[8]曹大有,胥帥.基于TensorFlow預(yù)訓(xùn)練模型快速、精準(zhǔn)的圖像分類器[J].漢江師范學(xué)院學(xué)報(bào),2017,37(3):27-32