基于深度學(xué)習(xí)LSTM模型的寵物分類方法設(shè)計(jì)_第1頁
基于深度學(xué)習(xí)LSTM模型的寵物分類方法設(shè)計(jì)_第2頁
基于深度學(xué)習(xí)LSTM模型的寵物分類方法設(shè)計(jì)_第3頁
基于深度學(xué)習(xí)LSTM模型的寵物分類方法設(shè)計(jì)_第4頁
基于深度學(xué)習(xí)LSTM模型的寵物分類方法設(shè)計(jì)_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

目錄

1引言............................................................................................................................1

1.1項(xiàng)目背景.........................................................................................................1

1.2算法原理.........................................................................................................1

1.2.1動(dòng)物識(shí)別方法概況..............................................................................1

1.3常用的網(wǎng)絡(luò)模型.............................................................................................2

1.4開發(fā)環(huán)境與工具.............................................................................................2

1.4.1Python簡(jiǎn)介..........................................................................................2

1.4.2Tensorflow簡(jiǎn)介..................................................................................3

1.4.3Python第三方庫簡(jiǎn)介..........................................................................3

2什么是卷積神經(jīng)網(wǎng)絡(luò)?............................................................................................4

2.1什么是神經(jīng)網(wǎng)絡(luò)?.........................................................................................4

2.2什么是卷積?.................................................................................................5

2.3準(zhǔn)備工作.........................................................................................................7

2.4keras................................................................................................................7

2.5Conv2D..............................................................................................................7

2.6MaxPooling2D................................................................................................8

3數(shù)據(jù)采集....................................................................................................................8

3.1數(shù)據(jù)集需求分析.............................................................................................8

3.2數(shù)據(jù)集獲取分析...........................................................................................11

3.3編程實(shí)現(xiàn)......................................................................................................11

4數(shù)據(jù)集處理..............................................................................................................12

4.1數(shù)據(jù)預(yù)處理....................................................................................................13

4.2數(shù)據(jù)增強(qiáng)........................................................................................................14

5基于卷積神經(jīng)網(wǎng)絡(luò)的貓狗識(shí)別..............................................................................15

5.1導(dǎo)入必要庫...................................................................................................15

5.2模型定義.......................................................................................................15

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

5.3實(shí)例化模型并訓(xùn)練.......................................................................................16

5.4獲取驗(yàn)證的圖片...........................................................................................16

5.5進(jìn)行驗(yàn)證.......................................................................................................17

5.6顯示預(yù)測(cè)結(jié)果...............................................................................................17

5.7作品展示...................................................18

6小結(jié)..........................................................................................................................19

參考資料.....................................................................................................................20

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

基于深度學(xué)習(xí)LSTM模型的寵物分類方法設(shè)計(jì)

1引言

目前,由于計(jì)算機(jī)能力和相關(guān)理論的發(fā)展獲得了重大突破,基于深度學(xué)習(xí)

的圖像檢測(cè)與識(shí)別技術(shù)已經(jīng)廣泛應(yīng)用到人們的生產(chǎn)生活中。我將深度學(xué)習(xí)的技

術(shù)應(yīng)用到寵物圖像識(shí)別中,優(yōu)化了傳統(tǒng)的識(shí)別方法,形成對(duì)寵物圖像更為準(zhǔn)確

的識(shí)別,為實(shí)現(xiàn)高效的寵物圖像識(shí)別提供了可能。不同于傳統(tǒng)的寵物識(shí)別,基

于深度學(xué)習(xí)的動(dòng)物識(shí)別技能捕獲到寵物更加細(xì)致的信息,對(duì)動(dòng)物進(jìn)行更加準(zhǔn)確

的識(shí)別和研究更有利了。所以,對(duì)基于深度學(xué)習(xí)的動(dòng)物識(shí)別和研究,能夠更好

的幫助社會(huì)飼養(yǎng)者和政府全面有效的對(duì)寵物進(jìn)行保護(hù)和監(jiān)督,這也正是保護(hù)和

識(shí)別動(dòng)物的關(guān)鍵,對(duì)于現(xiàn)代社會(huì)的發(fā)展起到非常大的作用。

1.1項(xiàng)目背景

作為人類,我們很輕松就能識(shí)別出貓,狗。為什么我們知道呢?因?yàn)閺男?/p>

我們的爸媽,我們的老師,周圍的所有人都指著狗對(duì)我們說它是狗,指著貓對(duì)

我們說它是貓。換句話來說,是別人教我們的,所以我們現(xiàn)在才能識(shí)別出貓

狗。而對(duì)于計(jì)算機(jī)呢?沒有人教它,這些豐富多彩的圖片在它眼里,無非都是

一個(gè)個(gè)像素點(diǎn)構(gòu)成的數(shù)字矩陣。該怎么讓他識(shí)別出來呢?這就是今天所用的卷

積神經(jīng)網(wǎng)絡(luò)。

1.2算法原理

1.2.1動(dòng)物識(shí)別方法概況

基于人工特征的動(dòng)物識(shí)別方法主要通過人工對(duì)動(dòng)物圖像中具有辨識(shí)度的特

征信息進(jìn)行提取,并通過特征比對(duì)的方式就能對(duì)動(dòng)物所屬的類別進(jìn)行識(shí)別判

斷。

在深度學(xué)習(xí)技術(shù)普及以前,數(shù)字圖像處理技術(shù)和傳統(tǒng)機(jī)器學(xué)習(xí)技術(shù),一直

都是研究的熱點(diǎn)。傳統(tǒng)的數(shù)字圖像處理技術(shù)有模塊分割、降低噪聲點(diǎn)、邊緣檢

測(cè)等。古板的機(jī)器學(xué)習(xí)技術(shù)svm、隨機(jī)森林算法、神經(jīng)網(wǎng)絡(luò)算法等。

1

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

深度學(xué)習(xí)技術(shù)是通過計(jì)算機(jī)模擬人類大腦的分層表達(dá)結(jié)構(gòu)來建立網(wǎng)絡(luò)模

型,從原始數(shù)據(jù)集中對(duì)相關(guān)信息一層層的提取。在這之后通過建立相應(yīng)的神經(jīng)

網(wǎng)絡(luò)對(duì)數(shù)據(jù)進(jìn)行學(xué)習(xí)和分析,從而提高對(duì)目標(biāo)預(yù)測(cè)和識(shí)別的準(zhǔn)確率。當(dāng)代社

會(huì),深度學(xué)習(xí)技術(shù)已經(jīng)相對(duì)成熟,在對(duì)目標(biāo)進(jìn)行特征提取方面,卷積神經(jīng)網(wǎng)絡(luò)

技術(shù)逐漸取代了傳統(tǒng)的圖像處理技術(shù),并且在人類的生產(chǎn)生活中得到了廣泛應(yīng)

用,這為研究野生動(dòng)物更高效的識(shí)別方法奠定了基礎(chǔ)。

1.3常用的網(wǎng)絡(luò)模型

圖像識(shí)別是指對(duì)原始圖像進(jìn)行整體分析來達(dá)到預(yù)測(cè)原始圖像所屬類別的技

術(shù)。計(jì)算機(jī)視覺領(lǐng)域中對(duì)圖像識(shí)別技術(shù)進(jìn)行了優(yōu)化,與此同時(shí),深度學(xué)習(xí)技術(shù)

也對(duì)圖像識(shí)別領(lǐng)域展開了突破。至今為止在圖像識(shí)別范疇內(nèi),科研人員開始使

用深度學(xué)習(xí)的技術(shù),并通過在實(shí)際應(yīng)用中發(fā)現(xiàn),基于深度學(xué)習(xí)的識(shí)別技術(shù)比傳

統(tǒng)的識(shí)別技術(shù)效果更好,而且還更具有優(yōu)勢(shì)。

1.4開發(fā)環(huán)境與工具

1.4.1Python簡(jiǎn)介

Python是由GuidoRossum于1989年誕生。

2005-2012年,Google大量應(yīng)用python,引起廣泛關(guān)注,促進(jìn)了python

的發(fā)展。

2012年云計(jì)算興起,其中最主要的OpenStack框架由python開發(fā),使得

python火了一把。2014年AI興起,AI中大量關(guān)鍵算法都是由python開發(fā),

因?yàn)閜ython中有一個(gè)很全面的第三方庫,這個(gè)第三方庫特別適合做算法,加

上入門低、開發(fā)效率高,這樣又進(jìn)一步促使python的火爆。

2017年python走進(jìn)大眾視野(指非IT人士),走進(jìn)學(xué)科教育。

如今已經(jīng)發(fā)展成一門廣泛使用的高級(jí)編程語言。它可應(yīng)用于網(wǎng)絡(luò)爬蟲、機(jī)

器學(xué)習(xí)、數(shù)據(jù)分析和可視化等多種領(lǐng)域。它的特點(diǎn)是開源(免費(fèi))、豐富的

庫、簡(jiǎn)單易學(xué)、支持跨平臺(tái)而且可移植性強(qiáng)。

2

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

1.4.2Tensorflow簡(jiǎn)介

TensorFlow是一個(gè)采用數(shù)據(jù)流圖(dataflowgraphs),用于數(shù)值計(jì)算

的開源軟件庫。TensorFlow最初由Google大腦小組(隸屬于Google機(jī)器智

能研究機(jī)構(gòu))的研究員和工程師們開發(fā)出來,用于機(jī)器學(xué)習(xí)和深度神經(jīng)網(wǎng)絡(luò)方

面的研究,但這個(gè)系統(tǒng)的通用性使其也可廣泛用于其他計(jì)算領(lǐng)域。它是谷歌基

于DistBelief進(jìn)行研發(fā)的第二代人工智能學(xué)習(xí)系統(tǒng)。

1.4.3Python第三方庫簡(jiǎn)介

Keras:一種高級(jí)的深度學(xué)習(xí)API,是構(gòu)建和訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型的選擇

框架之一。Keras是基于Python編寫的,并且能夠使用多種深度學(xué)習(xí)庫

作為后端,比如TensorFlow、MicrosoftCNTK和Theano等。它被廣

泛用于深度學(xué)習(xí)

使用Keras,你可以使得構(gòu)建和訓(xùn)練深度學(xué)習(xí)模型更加容易,使你能夠

將精力更集中放在模型的創(chuàng)新上,而在細(xì)節(jié)上無需花費(fèi)太多時(shí)間。Keras的

主要特性包括:

簡(jiǎn)單易用:提供了直觀的API來定義和訓(xùn)練深度學(xué)習(xí)模型,使得編寫

代碼變得異常方便。

易于擴(kuò)展:是一個(gè)模塊化的深度學(xué)習(xí)庫,在各個(gè)層面上都能夠定制化,同

時(shí),也提供了許多自定義層的API。

內(nèi)置許多常見的深度學(xué)習(xí)模型和算法,并且可以直接使用。如果你需要實(shí)

現(xiàn)自己的模型,也可以在Keras上實(shí)現(xiàn)并集成到自己的應(yīng)用中。

兼容多種后端:除了TensorFlow作為默認(rèn)后端,Keras也可以使用

其他的深度學(xué)習(xí)庫作為后端,包括Theano和MicrosoftCNTK等。

總之,Keras包含了許多內(nèi)置的常用深度學(xué)習(xí)算法和模型,是優(yōu)秀的深

度學(xué)習(xí)API。

Sys:Python標(biāo)準(zhǔn)庫中的一個(gè)模塊,用于提供與Python解釋器和運(yùn)

行時(shí)環(huán)境系統(tǒng)交互的變量和函數(shù)。sys模塊的功能類似于操作系統(tǒng)提供的一

些API,主要包括以下幾個(gè)方面:

模塊和路徑相關(guān)操作:sys模塊提供了一些函數(shù)來管理Python模塊

和包的導(dǎo)入、搜索路徑或者模塊緩存,如sys.path、sys.modules等

3

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

解釋器和運(yùn)行時(shí)環(huán)境信息:sys模塊可以讀取、輸出解釋器和運(yùn)行時(shí)環(huán)

境的信息,例如Python版本、平臺(tái)信息、操作系統(tǒng)、環(huán)境變量等,如

sys.version、sys.platform、sys.argv等。

標(biāo)準(zhǔn)輸入輸出和錯(cuò)誤:sys模塊提供了三個(gè)IO流對(duì)象sys.stdin、

sys.stdout和sys.stderr來實(shí)現(xiàn)標(biāo)準(zhǔn)輸入、輸出、錯(cuò)誤輸出的操作,并

可以通過sys.stdin.read()、sys.stdin.readline()等方法實(shí)現(xiàn)從標(biāo)準(zhǔn)輸

入流中讀取數(shù)據(jù)。

進(jìn)程相關(guān)操作:sys模塊提供了一些函數(shù)來查看和修改Python解釋

器以及與運(yùn)行時(shí)環(huán)境相關(guān)的進(jìn)程屬性或進(jìn)程信息,如sys.exit()可以退出

Python解釋器,sys.getsizeof()可以檢查對(duì)象的大小,

sys.getrefcount()可以得到對(duì)象的引用計(jì)數(shù)等。

總之,通過sys模塊,我們可以實(shí)現(xiàn)Python與解釋器和運(yùn)行時(shí)環(huán)

境系統(tǒng)之間的交互和通信,從而實(shí)現(xiàn)高效的Python應(yīng)用程序開發(fā)。

pyecharts:繪圖。

matplotlib:繪圖庫,主要是偏向于二維繪圖包括折線圖、條形圖、扇形

圖、散點(diǎn)圖、直方圖等等。

pylab:設(shè)置畫圖能顯示中文。

2什么是卷積神經(jīng)網(wǎng)絡(luò)?

2.1什么是神經(jīng)網(wǎng)絡(luò)?

神經(jīng)網(wǎng)絡(luò)由大量的神經(jīng)元相互連接而成。每個(gè)神經(jīng)元接受線性組合的輸入

后,最開始只是簡(jiǎn)單的線性加權(quán),后來給每個(gè)神經(jīng)元加上了非線性的激活函

數(shù),從而進(jìn)行非線性變換后輸出。每?jī)蓚€(gè)神經(jīng)元之間的連接代表加權(quán)值,稱之

為權(quán)重(weight)。不同的權(quán)重和激活函數(shù),則會(huì)導(dǎo)致神經(jīng)網(wǎng)絡(luò)不同的輸出。

舉個(gè)手寫識(shí)別的例子,給定一個(gè)未知數(shù)字,讓神經(jīng)網(wǎng)絡(luò)識(shí)別是什么數(shù)字。此時(shí)

的神經(jīng)網(wǎng)絡(luò)的輸入由一組被輸入圖像的像素所激活的輸入神經(jīng)元所定義。在通

4

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

過非線性激活函數(shù)進(jìn)行非線性變換后,神經(jīng)元被激活然后被傳遞到其他神經(jīng)

元。重復(fù)這一過程,直到最后一個(gè)輸出神經(jīng)元被激活。從而識(shí)別當(dāng)前數(shù)字是什

么字。神經(jīng)網(wǎng)絡(luò)的每個(gè)神經(jīng)元如下。

基本wx+b的形式,其中x1、x2表示輸入向量w1、w2為權(quán)重,幾個(gè)輸

入則意味著有幾個(gè)權(quán)重,即每個(gè)輸入都被賦予一個(gè)權(quán)重b為偏置biasg(z)

為激活函數(shù)a為輸出。事實(shí)上,上述簡(jiǎn)單模型可以追溯到20世紀(jì)50/60年代

的感知器,可以把感知器理解為一個(gè)根據(jù)不同因素、以及各個(gè)因素的重要性程

度而做決策的模型。舉個(gè)例子,這周末北京有一草莓音樂節(jié),那去不去呢?

決定你是否去有二個(gè)因素,這二個(gè)因素可以對(duì)應(yīng)二個(gè)輸入,分別用x1、x2表

示。此外,這二個(gè)因素對(duì)做決策的影響程度不一樣,各自的影響程度用權(quán)重

w1、w2表示。一般來說,音樂節(jié)的演唱嘉賓會(huì)非常影響你去不去,唱得好的前

提下即便沒人陪同都可忍受,但如果唱得不好還不如你上臺(tái)唱呢。所以,我

們可以如下表示:x1:是否有喜歡的演唱嘉賓。x1=1你喜歡這些嘉賓,x1

=0你不喜歡這些嘉賓。嘉賓因素的權(quán)重w1=7x2:是否有人陪你同去。x2

=1有人陪你同去,x2=0沒人陪你同去。是否有人陪同的權(quán)重w2=3。這

樣,咱們的決策模型便建立起來了:g(z)=g(w1x1+w2x2+b),g表示激

活函數(shù),這里的b可以理解成為更好達(dá)到目標(biāo)而做調(diào)整的偏置項(xiàng)。一開始為

了簡(jiǎn)單,人們把激活函數(shù)定義成一個(gè)線性函數(shù),即對(duì)于結(jié)果做一個(gè)線性變化,

比如一個(gè)簡(jiǎn)單的線性激活函數(shù)是g(z)=z,輸出都是輸入的線性變換。后來實(shí)

際應(yīng)用中發(fā)現(xiàn),線性激活函數(shù)太過局限,于是引入了非線性激活函數(shù)。

神經(jīng)網(wǎng)絡(luò)是類似于人腦神經(jīng)元的一種東西。學(xué)過生物的我們都知道,神經(jīng)

元彼此之間相互聯(lián)系,傳入一個(gè)信號(hào)后,可以在神經(jīng)元之間不斷傳遞,最終促

使肌體做出反應(yīng),比如被針扎了之后會(huì)馬上縮手。你也可以籠統(tǒng)的認(rèn)為神經(jīng)網(wǎng)

絡(luò)就是一個(gè)函數(shù),傳入一個(gè)或多個(gè)參數(shù)后,經(jīng)過一系列變換,輸出一個(gè)或多個(gè)

參數(shù)。最簡(jiǎn)單的以y=x+1為例,傳入一個(gè)值就能輸出一個(gè)值,當(dāng)傳入x=2的時(shí)

候輸出3,x=3的時(shí)候輸出4。不過,真正的神經(jīng)網(wǎng)絡(luò)要復(fù)雜的多。這里以BP

神經(jīng)網(wǎng)絡(luò)為例:

2.2什么是卷積?

卷積圖關(guān)系如圖2-1卷積圖

5

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖2-1卷積圖

首先,給出卷積的公式:

?

?(?)??(?)=?(?)?(?―?)??

∫0

圖2-2卷積公式

積看出來了,f(t)和g(t)的積,那卷在哪里呢?筆者認(rèn)為,卷在兩個(gè)

方面:

第一卷是如果將f(t)和g(t)的圖像放在同一垂直面上,對(duì)應(yīng)點(diǎn)之間

的連線是相互交織在一起的,如果將g函數(shù)翻轉(zhuǎn)一下。

圖2-3翻轉(zhuǎn)圖

第二卷是g函數(shù)不等于卷積核,g函數(shù)要旋轉(zhuǎn)180度之后才是卷積核。

6

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

2.3準(zhǔn)備工作

1.對(duì)圖像的識(shí)別是層層抽象的。

2.人工神經(jīng)元及神經(jīng)網(wǎng)絡(luò)模擬了大腦的神經(jīng)元及其連接。

3.計(jì)算機(jī)看到的圖片是一個(gè)個(gè)代表明暗的數(shù)字。彩色圖片是由RGB三色組

成的。

4.神經(jīng)網(wǎng)絡(luò)需要訓(xùn)練來得到最佳的模型參數(shù)。

5.卷積神經(jīng)網(wǎng)絡(luò)主要的設(shè)計(jì)思想是更好的利用圖片的性質(zhì)。

圖片的模式比圖片小的多

圖片中的模式出現(xiàn)在圖像的不同區(qū)域

縮放不影響圖片中的物體

6.卷積層就是在圖片中掃描特征。

7.最大池化層就是在縮放圖片,減少參數(shù)。

8.多次的卷積和池化后,再經(jīng)過flatten連接一個(gè)全連接層。

2.4keras

圖2-4keras引用

1.keras是一個(gè)用python編寫的高級(jí)神經(jīng)網(wǎng)絡(luò)APL

2.sequential模型

keras.Sequential()建立函數(shù)

model.add()添加層

model.fit()訓(xùn)練模型

2.5Conv2D

圖2-5conv2D代碼調(diào)用圖

7

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

1.filters:過濾器個(gè)數(shù),又為卷積核的個(gè)數(shù)。

2.kernel_size:代表卷積核的尺寸,可以是一個(gè)整數(shù),代表卷積核的

height=width,也可以是tuple類型如(1,2)代表卷積核的height=1,

width=2。

3.strides:代表卷積核的步距默認(rèn)為1,和kernel_size一樣輸入可以是int類型,

也可以是tuple類型,這里注意,若為tuple類型即第一個(gè)int用于高度尺寸,第二個(gè)int用

于寬度尺寸;。

4.padding:"valid"或者"same",大小寫敏感,用于邊緣處理部分。

2.6MaxPooling2D

圖2-6MaxPooling2D調(diào)用圖

1.pool_size:池化核的尺寸,默認(rèn)為為2*2。

2.strides:當(dāng)?shù)扔贜one時(shí),移動(dòng)步長(zhǎng)的意思,那么默認(rèn)值是池化核尺

寸。

3.padding:是否填充。

3數(shù)據(jù)采集

3.1數(shù)據(jù)集需求分析

我們這里是以貓狗作為對(duì)象也是生活中最常見的兩種寵物。這里需要大量

的貓狗圖片各種各樣的需要提升準(zhǔn)確度。

8

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖3-1貓的數(shù)據(jù)集

圖3-2貓的數(shù)據(jù)集

9

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖3-3狗的數(shù)據(jù)集

圖3-4狗的數(shù)據(jù)集

10

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

3.2數(shù)據(jù)集獲取分析

數(shù)據(jù)需要大量的貓與狗的圖片,需要不同種類的??梢匀aggle找一下

自己需要的圖片然后下載。

貓狗數(shù)據(jù)集在kaggle平臺(tái)上比較著名的數(shù)據(jù)集,如果需要貓狗數(shù)據(jù)集,

可以去kaggle上下載,該數(shù)據(jù)集分為train和test兩部分。在本次訓(xùn)練中,

我使用的是tf2.0教程提供的數(shù)據(jù)集,該數(shù)據(jù)集是精簡(jiǎn)數(shù)據(jù)集,其中train數(shù)

據(jù)集部分各包含1000張貓和狗的圖像。

圖3-5數(shù)據(jù)集獲取途徑

3.3編程實(shí)現(xiàn)

本次共使用了100張貓跟100張狗的圖片,訓(xùn)練集里面分別放80張,測(cè)

試集里面放20張。在代碼里面運(yùn)用了列表來一次性把圖片寫入到相應(yīng)的貓狗

文件中。

11

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖3-6編程代碼

4數(shù)據(jù)集處理

先在pytharm里面編寫一段批量更改文件名字的代碼,然后再創(chuàng)建相對(duì)應(yīng)

的文件名然后導(dǎo)入貓狗數(shù)據(jù)。

圖4-1批量修改文件名

12

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖4-2把貓狗導(dǎo)入到新建的文件

4.1數(shù)據(jù)預(yù)處理

1.讀取圖片文件。

2.將JPEG內(nèi)容解碼為RBG像素網(wǎng)格。將這些轉(zhuǎn)換為浮點(diǎn)張量。

3.因?yàn)樯窠?jīng)網(wǎng)絡(luò)更喜歡處理較小的輸入值,所以將像素值(介于0和255

之間)重新縮放到[0,1]區(qū)間。

Keras有一個(gè)帶有圖像處理輔助工具的模塊,位于

keras.preprocessing.image。它包含類ImageDataGenerator,它能快速設(shè)置

Python生成器,生成器可以自動(dòng)將磁盤上的圖像文件轉(zhuǎn)換為預(yù)處理的張量批

次。

圖4-3數(shù)據(jù)預(yù)處理

13

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

4.2數(shù)據(jù)增強(qiáng)

由于我使用的數(shù)據(jù)集是比較小的數(shù)據(jù)集,所以訓(xùn)練量可能不夠,我們可以

通過

1.選裝圖像;

2.改變圖像的對(duì)比度;

3裁剪,亮度等來改變?cè)黾游覀儓D像的數(shù)量。

對(duì)于神經(jīng)網(wǎng)絡(luò)而言,處理的是圖像的像素,當(dāng)我們改變圖像的方向,亮度

等條件后,圖像矩陣的數(shù)值就會(huì)發(fā)生相應(yīng)的變化,對(duì)于神經(jīng)網(wǎng)絡(luò)而言,就是一

張新的圖像。所以,通過改變圖像的方向,對(duì)比度等因素可以打打提高數(shù)據(jù)集

的數(shù)量。

圖4-4增強(qiáng)后的圖像

14

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

5基于卷積神經(jīng)網(wǎng)絡(luò)的貓狗識(shí)別

5.1導(dǎo)入必要庫

圖5-1導(dǎo)入庫

5.2模型定義

圖5-2模型定義

首先創(chuàng)建一個(gè)Sequential模型

添加一個(gè)卷積層,第一個(gè)參數(shù)是卷積核的數(shù)量,第二個(gè)是卷積核的規(guī)格,

為3*3的,第三個(gè)參數(shù)是激活函數(shù)類型,第四個(gè)是邊緣的處理,第五個(gè)因?yàn)榈?/p>

一層即為卷積層,要定義輸入圖片的規(guī)格為200*200,3,說明是彩色圖片。

再添加一個(gè)池化層,(2,2)說明每2*2化作一個(gè)窗格。

再添加一個(gè)Flatten層,將池化后的結(jié)果展開;

15

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

再添加一個(gè)全連接層,第一個(gè)參數(shù)是神經(jīng)元個(gè)數(shù),第二個(gè)參數(shù)是激活函數(shù)

的類型;

最后再添加一個(gè)全連接層輸出結(jié)果,最后用隨機(jī)梯度編譯模型。

5.3實(shí)例化模型并訓(xùn)練

圖5-3實(shí)例化模型并訓(xùn)練

5.4獲取驗(yàn)證的圖片

圖5-4獲取驗(yàn)證的圖片

16

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

5.5進(jìn)行驗(yàn)證

圖5-5進(jìn)行驗(yàn)證

array_im=array_im[np.newaxis,:]

上一行的array_im是一個(gè)三維數(shù)組,不符合運(yùn)行規(guī)范,這里要將其轉(zhuǎn)化

為四位數(shù)組,否則會(huì)報(bào)錯(cuò)!

5.6顯示預(yù)測(cè)結(jié)果

圖5-6顯示預(yù)測(cè)結(jié)果

17

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

5.7作品展示

通過代碼編程還有數(shù)據(jù)增強(qiáng),數(shù)據(jù)集處理等步驟后實(shí)現(xiàn)貓狗分類。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論