版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
基于深度學(xué)習(xí)的人臉表情識別系統(tǒng)隨著社會的進步和經(jīng)濟的發(fā)展,人工智能已經(jīng)開始應(yīng)用于各種各樣的場景,最典型的應(yīng)用就是機器人的應(yīng)用。人機交互的設(shè)計已經(jīng)越來越成熟,而機器確想法就不應(yīng)僅體現(xiàn)在語言上,還應(yīng)該在其他方對模型搭建過程和結(jié)果分析,會將所用的知識點進際的模型搭建。本文的模型搭建最終使用2012年ILSVRC的冠軍AlexNet實現(xiàn),且會對關(guān)鍵詞:表情識別、卷積神經(jīng)網(wǎng)絡(luò)、知識歸納、數(shù)學(xué)推導(dǎo)、AlFacialexpressionrecognitionsystembWiththeprogressofsocietyandthedevelopmentofeconomy,artificibeenappliedinavarietyofscenarios,themosttypicalapplicationistheapplicationofrobots.naturalneuralnetworkandthecomathematicalderivation,analyusedintheknowledgepointsindetailsummarizedmakepeoplebetterunderstandandreatheactualmodelissetup.ThemodelbuildinginthispathechampionofILSVRCin2012,andthemodelwiwillalsoputforwardtheimprovementofthemodelbyusingVGGnetwork,ResNet,GoogLeNetandothermethodswithmorelayersofneuralnetworks.Keywords:Facialexpressionrecognition;convolutionalneuralnetwork;Knowledgeofinduction;Mathematicaldeduction;AlexNet;1.1人臉表情識別的目的和現(xiàn)實意義 11.2人臉表情識別技術(shù)國內(nèi)外現(xiàn)狀 11.3環(huán)境的搭建 2 2 3 32深度學(xué)習(xí)的基本原理 32.2自然神經(jīng)網(wǎng)絡(luò)的基本原理 32.3卷積神經(jīng)網(wǎng)絡(luò)的基本原理 5 5 52.3.3激活函數(shù)與學(xué)習(xí)率 52.3.4學(xué)習(xí)率 62.3.5感受野和卷積核 62.3.6卷積層和池化層 7 82.3.8全連接層 82.3.9特征歸一化 92.3.10損失函數(shù)與優(yōu)化器 92.3.11dropout(正則化) 2.3.12BatchNormalization 2.3.15trainingloss與validationloss的關(guān)系 3基于卷積神經(jīng)網(wǎng)絡(luò)的人臉表情識別 3.2數(shù)據(jù)的預(yù)處理 3.3圖片的轉(zhuǎn)換 3.4搭建模型 3.5直接用.csv文件中的數(shù)據(jù)進行模型搭建與訓(xùn)練 3.6最終模型展示 3.7結(jié)果分析 3.8改進過程分析 21 參考文獻23致謝24附錄251學(xué)習(xí)和深度學(xué)習(xí)的發(fā)展,為了解決各種問題演化出了各種神經(jīng)網(wǎng)絡(luò)如:自然神經(jīng)網(wǎng)絡(luò)、1.1人臉表情識別的目的和現(xiàn)實意義堆的關(guān)鍵詞,讓機器人準(zhǔn)確的抓取人們語言總體的7%,肢體語言及其他方式占總體的百分之38%,通過人臉表情進行信息傳達(dá)的方式高達(dá)55%。在生活中,可以從一個人的表情分析出一個人此時此刻的心理狀態(tài),哲這說明如果能用一個模型進行人臉表情的識別和分析就能對人們此時此刻的心情狀態(tài)進行準(zhǔn)確的分析,這對機器人分析出人的情感的幫助遠(yuǎn)1.2人臉表情識別技術(shù)國內(nèi)外現(xiàn)狀早在19世紀(jì),達(dá)爾文就發(fā)表過一篇文章《論人類和動物的表情》,表面了表情的在國外已經(jīng)較為成熟,因為在幾年前就舉辦了關(guān)于表情識別的比賽,比如2013年的進行模型的搭建與訓(xùn)練,另一部分就是人臉的檢測。人測,靜態(tài)檢測要對圖片進行處理對人臉進行掃描和識別,運用各種算法進行特征提??;2動態(tài)監(jiān)測要通過特定的攝像頭進行動態(tài)人臉到3D模型的算法,傳給模型的過程中也需要進行類似靜態(tài)檢測的過程對人臉進行掃描和識別。人臉識別是深度學(xué)習(xí)和機器視覺的一個交互學(xué)科和熱點,本文不作著重解釋。對于其他特征提取這里也介紹幾個現(xiàn)階段國內(nèi)外熱門的人臉表情識別方法:1.Gabor變換:通過不同的卷積核頻率對圖像進行多頻率的分析,可以有效的提取不同空間位置中不同細(xì)節(jié)程度的特征,經(jīng)常與支持向量機一起使用。在空間域中有較好的分辨能力且有明顯的方向選擇性。但如果是低維度的特征會出現(xiàn)2.支持向量機:是一種人類識別的分類器,常與Gabor濾波器一起使用,但是當(dāng)3.光流法:將運動圖像用函數(shù)表示,根據(jù)圖像強度守恒通過求解方程計算運動參數(shù)??梢苑从橙四槺砬樽兓膶嶋H規(guī)律,并且受外界的影響較小,尤其是光照的變化對識別率不會產(chǎn)生太大的變化。但是因為計算4.隱馬爾模型:由觀察的面部表情序列模型計算面部表情序列的概率,選用最佳準(zhǔn)則來決定狀態(tài)的轉(zhuǎn)移,得到相應(yīng)的模型參數(shù)。采用隱馬爾模型的識別準(zhǔn)確率較高,但是對前期的面部表情序列模型要求較高,對表情識別算法的準(zhǔn)確率也1.3環(huán)境的搭建要想項目順利進行,環(huán)境的搭建是必不可少的一步。首先需要明確想要的工作環(huán)使用Linux系統(tǒng),以為企業(yè)的項目一般都會用Linux系統(tǒng)進行,提前熟悉有助于以后就第一步是安裝python3.6.3(3.6版本的python對代碼和各種源碼包的兼容性更強)應(yīng)的敘述,然后才會進行下一行程序的轉(zhuǎn)譯,就3第二步是安裝Anaconda3,Anaconda3是Python的發(fā)行版本,集成了python和常見的軟件庫,比如numpy、pandas等,因為集成了很多軟件庫所以文件比較大。這里要注意一點每一個軟件庫都是分版本的,比如你在網(wǎng)上找的一個項目想驗證一下,但是可能因為numpy的版本不匹配導(dǎo)致代碼編譯失敗,這時可用Anaconda自帶的虛擬環(huán)境進行軟件庫指定安裝,用conda指定版本安裝。第三步是安裝jupyternotebook,jupyterNotebook也可以稱為Pythonnotebook。是一個交互式筆記本,可以在運行代碼時像word操作一樣可以做大量解釋說明。它就是一個網(wǎng)頁程序,可以理解為運用瀏覽器編寫Python文件,一般可用于機器學(xué)習(xí)、數(shù)據(jù)清理和轉(zhuǎn)換和統(tǒng)計建模等。jupyterNotebook可以直接用Anaconda自帶的虛擬環(huán)境用pipjupyternotebook指令就可以直接安裝使用。2.1引言在深度學(xué)習(xí)真正發(fā)展前,具有淺層網(wǎng)絡(luò)和深層網(wǎng)絡(luò)的劃分,將機器學(xué)習(xí)分為兩個階段:第一階段的機器學(xué)習(xí)運用了Backpropagation,也就是BP算法。當(dāng)時也是機器學(xué)習(xí)比較熱門的時期,提出了很多不同的神經(jīng)網(wǎng)絡(luò)模型,比如支持向量機(SVM)、最大熵法(LR);第二個階段就是在2006年,機器學(xué)習(xí)的專家Hinton提出使用多層神經(jīng)網(wǎng)絡(luò)進行模型搭建,使深度學(xué)習(xí)更快的發(fā)展。2.2自然神經(jīng)網(wǎng)絡(luò)的基本原理把自然神經(jīng)網(wǎng)絡(luò)用科學(xué)領(lǐng)域的理論進行表述分析,就是一種模仿生物神經(jīng)網(wǎng)絡(luò),比如動物的中樞神經(jīng)系統(tǒng),特別是大腦的結(jié)構(gòu)和功能的模型,用于對函數(shù)進行近似地計算。4輸入層隱藏層隱藏層輸出層圖2.1自然神經(jīng)網(wǎng)絡(luò)示意圖他幾個節(jié)點。接收并處理來自一個層的輸入,以絡(luò)的第一層為輸入層,最后一層為輸出層,輸入層和輸出層之間的每一層都為隱藏層。神經(jīng)網(wǎng)絡(luò)中他們代表著兩個重要的參數(shù):節(jié)點和邊緣的空白部分在神經(jīng)網(wǎng)絡(luò)中的權(quán)重就很低,而蘋果進行數(shù)據(jù)迭代時,將數(shù)據(jù)傳送到網(wǎng)絡(luò)后經(jīng)過響應(yīng)得到相應(yīng)誤差相乘,從而獲得權(quán)重的梯度,將梯度乘于k后加到原來的權(quán)重上。然后不斷地進2.3卷積神經(jīng)網(wǎng)絡(luò)的基本原理52.3.1引言提到圖像處理就必定會提及卷積神經(jīng)網(wǎng)絡(luò),因為圖像都是有一個一個的像素點組成,大的圖片會有成千上個像素點,而卷積神經(jīng)網(wǎng)絡(luò)能運用卷積核對圖像進行批量處理并且提到圖像處理就必定會提及卷積神經(jīng)網(wǎng)絡(luò),因為圖像都是有一個一個的像素點組成,大的圖片會有成千上個像素點,而卷積神經(jīng)網(wǎng)絡(luò)能運用卷積核對圖像進行批量處理并且神經(jīng)元的輸入值等于權(quán)值相乘再加上一個偏置,使用激活函數(shù)并不是用來激活神經(jīng)元,而是為了使神經(jīng)網(wǎng)絡(luò)具備分層的非線性能力,使網(wǎng)絡(luò)能解決更多的的問題。激活函數(shù)用于對輸入進行非線性變換,將其映射到輸出,主要的激活函數(shù)有:1.Sigmoid:Sigmoid是一個將實值輸入壓縮到【0,1】的區(qū)間,因為函數(shù)圖像與指數(shù)函數(shù)相近,在物理意義上比其他激活函數(shù)更接近生物神經(jīng)元,所以使用范圍比較廣,主要用于二分類的輸出層。但是Sigmoid具有飽和性,進入飽和區(qū)后會導(dǎo)致梯度變得非常小,會產(chǎn)生梯度消失的現(xiàn)象。它的公式如下:X圖2.2Sigmoid與Tanh的變化曲線2.Tanh:Tanh(Hyperbolictangentfunction)中文名叫雙曲正切函數(shù),是將一個輸入6壓縮到【-1,1】的區(qū)間,函數(shù)圖像比較平滑且具有單調(diào)性。但是tanh與Sigmoid一樣具有飽和性,進入飽和區(qū)后會造成梯度消失。它的公式如下:3.Relu:(rectifiedlinearunit)是近代深度學(xué)習(xí)和機器學(xué)習(xí)中最常用的激活函數(shù)。但是它的有缺點也很明顯,它的缺點是:當(dāng)輸入值為負(fù)數(shù)時,其導(dǎo)數(shù)的結(jié)果始終為0,此時神經(jīng)元不能更新參數(shù),相對于生物結(jié)構(gòu)就是神經(jīng)元已經(jīng)死去,這種現(xiàn)象被稱為“DeadNeuron”;但它的優(yōu)點是:在梯度下降的過程中收斂速度更快,在模型搭建過程中參數(shù)(LeakyRelu)、隨機relu函數(shù)(RRelu)。2.3.4學(xué)習(xí)率總結(jié)完激活函數(shù)后就要總結(jié)一下學(xué)習(xí)率:在神經(jīng)網(wǎng)絡(luò)中需要不斷地對權(quán)值進行優(yōu)化,當(dāng)采用梯度下降法時會有一個初始解,然后在初始值確定一個方向?qū)?shù)進行移動,移動的步長由自己定義,使初始解在不斷優(yōu)化的過程中更靠近預(yù)測的目標(biāo)值。而在移動的過程中步長太大會導(dǎo)致可能跨過最優(yōu)解,步長太小會使迭代次數(shù)增加,需要更多成本,因此步長的調(diào)制就很重要,而學(xué)習(xí)率就是運用于對步長的調(diào)整。例如學(xué)習(xí)率為0.01時,每次調(diào)整的步長為0.01梯度。2.3.5感受野和卷積核卷積神經(jīng)網(wǎng)絡(luò)是受哺乳動物視覺的啟發(fā),將視覺皮層包含著一系列組合在一起的細(xì)腿稱為感受野,他們是小而敏感的視覺區(qū)域。這些細(xì)胞在輸入空間上充當(dāng)局部的過濾器,適合用來處理具有局部相關(guān)性的圖像。通俗的定義感受野就是每一層卷積網(wǎng)絡(luò)輸出的特征圖上的像素點在輸入中映射的區(qū)域。圖2.3卷積過程示意圖7在圖中可以清楚的明白感受野的概念,圖中3×3的矩陣就是卷積核。一張N×N的圖像要對他進行處理分析就要進行線性的濾波,可以用一個矩陣對圖像進行處理,輸出的每個像素點為感受野像素和濾波器矩陣相應(yīng)元素的乘積和。移動的距離為步長,一般都為1,而卷積核的大小一般都為3×3或5×5,奇數(shù)的卷積核才具有半徑的概念。而卷積核中所有元素之和應(yīng)該等于1,這是為了使圖片經(jīng)過卷積后亮度保持不變,當(dāng)元素和大于1時卷積后圖像會變得比原圖更亮,反之小于1時圖片會變暗。對于卷積后每個像素值的大小超過255則直接截斷到0或255。這里說明一下普通的黑白色圖中每個像素點只有一個通道,0-255代表灰度值,而彩圖像的每個像素點具有三個通道用來確定像素點RGB值,同樣一張255×255的圖片,卷積處理黑白圖只需要處理255×255的像素點,而處理彩色圖片需要處理255×255×3的像素點。2.3.6卷積層和池化層卷積神經(jīng)網(wǎng)絡(luò)分為輸入層、輸出層和隱藏層,而隱藏層又分為卷積層和池化層。卷積層就是由若干個卷積核構(gòu)成,每個卷積核的元素都是通過BP算法不斷優(yōu)化得到。卷積是為了提取輸圖像的特征,卷積層數(shù)較少的神經(jīng)網(wǎng)絡(luò)只能從圖像中提取簡易的特征參數(shù),只有多層的卷積網(wǎng)絡(luò)才能從低級特征中提取出更復(fù)雜的特征參數(shù)。卷積的過程也是一個數(shù)學(xué)計算的過程,在數(shù)學(xué)中有嚴(yán)謹(jǐn)?shù)耐茖?dǎo)和計算。假設(shè)有矩陣A?x?和B?xz,那么B卷積A的結(jié)果就是讓B在矩陣A上滑動。換言之,,就是B與A的所有2×2連續(xù)子矩陣做對于元素積之和的運算。得到結(jié)果,矩陣B就是上文提到的卷積核或濾波器,矩陣C稱為得到的特征圖,過程可以定義為窄卷積。如果卷積前先對矩陣A預(yù)先進行填充后進行計算的過程稱為寬卷積。經(jīng)過多次卷積后的輸出特征圖有可能會因為特征向量出現(xiàn)過擬合現(xiàn)象。在深度學(xué)習(xí)存在過擬合的概念,總結(jié)一下就是指在最終訓(xùn)練出的模型會對訓(xùn)練數(shù)據(jù)完美的匹配,這種模型在實際使用中可能準(zhǔn)確率很低,只能對訓(xùn)練數(shù)據(jù)表現(xiàn)出高的準(zhǔn)確率。為了解決過擬合問題可以運用池化層對參數(shù)進行優(yōu)化。池化層一般在卷積層的后面添加,用于壓縮參數(shù)。主要作用表現(xiàn)在兩個方面:一個是保持原圖的主要特征,例如有一個8×8的圖片,里面有個數(shù)字,可能偏左或者偏右,用2×2的filters將他池化后會變成4×4的圖片,原圖的主要特征還會映射在同樣的位置。而另一個作用是特征降維,如果一幅圖像很大,則需要將冗余的信息去掉并且把主要特征提取出來,這就是特征降維,也是池化最主要的作用。池化的過程也可以用矩陣大致表示出來,假設(shè)矩陣C為6×4的矩陣,池化窗口為2×2,則按照池化窗口大小將矩陣C分割成6塊不相交的2×2小矩陣,對每個塊中的所有元素做求和平均操作,稱為平均池化,取最大值則稱為最大池化。假如8則平均池化的結(jié)果最大池化的結(jié)果由于池化也稱為下采樣,用S=down(C)表示,為了使池化層具有可學(xué)習(xí)性,一般令:S=βdown(C)+b其中β和b為標(biāo)量參數(shù)。圖片經(jīng)過不斷的卷積會變得越來越小,需要提取主要的特征就需要多層的卷積,為了不影響與后面全連接層的數(shù)據(jù)交換,引入填充的概念??梢栽诿看尉矸e后對特征圖進行0填充或1填充。顧名思義就是在卷積后的特征圖周圍全部填上0或者1,使卷積后的特征圖與原圖的大小保持不變。2.3.8全連接層全連接層是將之前卷積池化得到的全部特征參數(shù)通過權(quán)值矩陣重新組裝,因為用到了全部的特征參數(shù)所以叫做全連接層。卷積將圖像的特征提取出來后,全連接層會將特征進行統(tǒng)一分析歸類。舉個例子,假如圖片中有一只貓,卷積層可以將圖片中的貓的各個特征提取出來,相對于其他動物來說比如貓的眼睛比狗的眼睛小,貓的皮毛相對于其他動物的不同,對比了很多個特征以后發(fā)現(xiàn)它有貓的眼睛,貓的皮毛和尾巴,然后經(jīng)過全連接層進行分類得到幾個不同的動物,經(jīng)過比較得出貓的權(quán)值最大從而判斷圖片中的動物為貓。全連接層還有個作用,假設(shè)兩張不同的圖片中都有一只貓,只是貓在圖片中的位置不一樣,但是經(jīng)過卷積池化后,經(jīng)過計算后得到的特征圖是一樣的,但可能因為特征位置的不同導(dǎo)致分類結(jié)果不一樣,運用全連接層就能解決這個問題。但是因為空間結(jié)構(gòu)的忽略,導(dǎo)致全連接層不適用于在空間位置上找特點物品的模型,所以要解決非線性的問題需用兩次以上的全連接。但是全連接層的數(shù)據(jù)量很大,約占整個神經(jīng)網(wǎng)絡(luò)的70%以上,所以一般都只用2或者3層。2.3.9特征歸一化在深度學(xué)習(xí)中,不同的特征向量具有不同的量綱,會影響到數(shù)據(jù)的分析結(jié)果,為了消除量綱的影響,需要對數(shù)據(jù)進行標(biāo)準(zhǔn)化處理。原數(shù)據(jù)經(jīng)過標(biāo)準(zhǔn)化后,特征指標(biāo)會處于同一數(shù)量級,可以綜合對比評價。歸一化的目的就是將預(yù)處理的數(shù)據(jù)限定在一定的區(qū)間內(nèi),從而消除奇異樣本數(shù)據(jù)導(dǎo)致的不良影響。常用的歸一化的方法有兩種:Min-MaxNormalization(最大最小標(biāo)準(zhǔn)化)和Z-score標(biāo)準(zhǔn)化方法。最大最小標(biāo)準(zhǔn)化是將結(jié)果映射到0和1之間,適用于數(shù)據(jù)比較集中的情況,當(dāng)涉及距離度量和協(xié)方差時不適用,用后一種方法處理數(shù)據(jù)后會使數(shù)據(jù)符合標(biāo)準(zhǔn)正態(tài)分9布。這種方法可以處理距離度量和協(xié)方差的數(shù)據(jù)2.3.10損失函數(shù)與優(yōu)化器好了,只需要把頭文件加進去然后調(diào)用函數(shù)名,數(shù)和優(yōu)化器:損失函數(shù)又稱為目標(biāo)函數(shù),用于計算預(yù)測圖2.4損失函數(shù)分析圖是要經(jīng)過不斷的迭代使w接近真實值。圖中的豎線分別是三次迭代后預(yù)測的Y與真實Y方差等不同的公式計算,這就是損失函數(shù)的衡量決策函數(shù)的好壞,然后用所有的訓(xùn)練樣本評價決策函數(shù)的風(fēng)險。假設(shè)風(fēng)險函數(shù)R(θ)是在已知的訓(xùn)練樣本(經(jīng)驗數(shù)據(jù))上計算得到,表達(dá)式為,需要找到一個值(θ),使風(fēng)險函數(shù)最小。常見的損失函數(shù)有0-1損失函數(shù),平方損失函數(shù)L(y,y)=(y-1,f(x,θ)相對于真實類別的似然函數(shù),常用最小化處理,最小化負(fù)對數(shù)似然損失函數(shù)優(yōu)化器的學(xué)習(xí)率在上文有提到這里不細(xì)說,動量在本文調(diào)參中不涉及,在實際應(yīng)用2.3.11dropout(正則化)Dropout的作用是在CNN最后的全連接層進行數(shù)據(jù)的隨即丟棄,值得注意的是暫時性的丟棄,在第二次的全連接層可能會被再次暫時丟棄也有可能被按照label進行分類,dropout的使用也是為了防止CNN網(wǎng)絡(luò)的過擬合。我看過一篇論文專門分析dropout,講解的很深有很精確的公式驗證和說明,其中有個例子可以很生動的說明dropout的過程:在自然界中,進行有性繁殖的動物的后代會從父母雙方各繼承一半的基因,有性繁殖會將基于不斷地拆分重組,從而破壞了大段基于的聯(lián)合適應(yīng)性。但是為什么在物競天擇的世界里自然大部分中大型動物都是有性繁殖呢?因為有性繁殖不僅僅可以將優(yōu)秀的基于傳遞給下一代,還可以降低基因之間的聯(lián)合適應(yīng)性,從而使復(fù)雜的一大段基因聯(lián)合適應(yīng)性轉(zhuǎn)化成成一段段小基因的聯(lián)合適應(yīng)性。就像軍隊作戰(zhàn)時,50個人互相配合進行任務(wù)和五個人一組分成十組進行分組行動進行任務(wù)的效果會有很多區(qū)別,后者的成功的機會會更大。所以dropout也能達(dá)到同樣的效果,它使神經(jīng)元和隨機挑選出的其他神經(jīng)元工作,減弱了神經(jīng)元之間節(jié)點的適應(yīng)性,增強了泛化能力。圖2.5正則化過程示意圖BatchNormalization簡稱BN算法,是對輸入進行歸一化后給到激活函數(shù)的,解決了輸入發(fā)生偏移的影響。運用算法后可以加快訓(xùn)練速度,增大學(xué)習(xí)率。采用BN算法后可以不使用池化層,因為參數(shù)歸一化后分布變得明顯,經(jīng)過一個激活函數(shù)以后,神經(jīng)元會自動削弱或者去除一些神經(jīng)元,就不用再對其進行dropout處理。舉個例子:10000個樣本,batch_size為100,則需要迭代10次,此時算訓(xùn)練完一次整個樣本,用epoch表示。例如樣本為10000,batch_size為100,epoch為5就意味3基于卷積神經(jīng)網(wǎng)絡(luò)的人臉表情識別總結(jié)完自然神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)中基礎(chǔ)的概念和知識點后,將在這一小節(jié)進行用卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)的AlexNet進行模型搭建和分析。3.2數(shù)據(jù)的預(yù)處理在進行模型搭建前,數(shù)據(jù)的處理是最繁瑣也是最重要的,因為只要你懂得神經(jīng)網(wǎng)絡(luò)的各種原理,在模型搭建好后可以由計算機自己計算分析,不需要人為的干涉它。但是計算機處理的數(shù)據(jù)需要人為得給它,而且不能有臟數(shù)據(jù)等,所以對數(shù)據(jù)的預(yù)處理很重要。本設(shè)計用的數(shù)據(jù)是kaggle的fer2013數(shù)據(jù)集,數(shù)據(jù)集不是一張張圖片而是將數(shù)據(jù)保存到csv文件中,所以可以運用panda的函數(shù)進行數(shù)據(jù)讀取也可以直接轉(zhuǎn)換成圖片識別。數(shù)據(jù)集中分為訓(xùn)練集、測試集和驗證集。文件中的label由0-7組成,分別代表著:0(憤具有28708張圖片,測試集具有3589張圖片,驗證集具有3589張圖片,圖片大小都為3.3圖片的轉(zhuǎn)換首先將文件轉(zhuǎn)化為.csv格式,這樣才能用python對數(shù)據(jù)進行批量處理。需要根據(jù)label分成三個.csv文件,分別代表訓(xùn)練集、測試集和驗證機,用database_path加文件路徑獲取文件內(nèi)的數(shù)據(jù)。這里需要提一下因為用的是有監(jiān)督學(xué)習(xí)。機器學(xué)習(xí)分為有監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí),有監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)的區(qū)別在于訓(xùn)練數(shù)據(jù)中有沒有帶有標(biāo)簽 (label),大部分的卷積神經(jīng)網(wǎng)絡(luò)都是采用有監(jiān)督的學(xué)習(xí),事先為每組數(shù)據(jù)每張圖片打上標(biāo)簽,分好類型然后讓機器學(xué)習(xí);無監(jiān)督學(xué)習(xí)的數(shù)據(jù)不含有l(wèi)abel,適用于增強學(xué)習(xí)等其他神經(jīng)網(wǎng)絡(luò)。因為帶有標(biāo)簽,需要把label給到中間變量然后刪去再將數(shù)據(jù)進行轉(zhuǎn)化變成圖片。K_train*train.frop(lohels["1aheLtest-test,dropilabe1s=!*labe1"7,axis-t)64205圖3.1去除label的過程展示然后將去掉標(biāo)簽后的數(shù)據(jù)打開,然后根據(jù)每一個像素點的灰度值轉(zhuǎn)化為48×48的圖片。pixel=np.asarray([float(p)forpinpixel.split()]).reshape(48,48)圖3.2轉(zhuǎn)化成圖片的過程展示名稱文件夾文件夾文件夾大小 α用戶>海>datasets>test>0圖3.3轉(zhuǎn)化后效果展示3.4搭建模型首先定義圖像的長和寬,目的是告訴網(wǎng)絡(luò)輸入圖像矩陣的大小(48×48×1),確認(rèn)圖像的通道分量,便于搭建網(wǎng)絡(luò)結(jié)構(gòu)。ifK.image_data_format()='channels_first':input_shape=(1,img_wiinput_shape=(img_width,img_height,1)圖3.4模型搭建示意圖1然后開始定義網(wǎng)絡(luò)結(jié)構(gòu),首先先建立一個model,然后開始添加卷積層、激活函數(shù)、池化層。mode1.add(Conv2D(32,(5,5),padding='same',input_shape=input_shape,activation='relu'))mode1.add(Conv2D(32,(4,4),padding='same',activatmode1.add(MaxPoo12D(pool_size=(3,3),strides=(model.add(Conv2D(64,(5,5),padding='same',activatiomodel.add(MaxPool2D(pool_size=(3,3),stridesmodel.add(Flatten))mode1.add(Dense(2048,activation='圖3.5模型搭建示意圖2搭建的原始模型中第一層卷積層用的是32個5×5的卷積核進行原始圖像的特征提取,沒有寫步長默認(rèn)為1,采用0填充,使用relu做激活函數(shù),然后再之后構(gòu)建一個kernelsize為3*3的池化層,步長為2。第三層用32個4×4的卷積核進行第二次卷積,采用0填充,使用relu做激活函數(shù)。為3*3的池化層,步長為2;第五層為64個5×5的卷積核進行第三次卷積,第六層構(gòu)建一個kernelsize為3*3的池化層,步長為2。然后添加全連接層,需要先將featuremap轉(zhuǎn)成n*1的一維網(wǎng)絡(luò)。第一層全連接層長度為2048,激活函數(shù)為relu,然后正則化百分之40的特征參數(shù)。再構(gòu)建第二層的全連接層,長度為2048,激活函數(shù)為relu,正則化百分之40的特征參數(shù)。然后添加一層BatchNormalization,最后將全連接層的特征參數(shù)按label分為7類,激活函數(shù)采用然后就是選擇優(yōu)化器和損失函數(shù),優(yōu)化器選擇的是SGD(隨機梯度下降)也叫增量梯度下率為0.005,損失函數(shù)用的是categorical_crossentropy。這時模型搭建完畢,可以用訓(xùn)練數(shù)據(jù)進行模型訓(xùn)練了。先對圖片集進行讀取,然后設(shè)置epochs和batch_size,train_data_dir=r"D:\\input\\datasets\\train"validation_data_dir=r"D:\\in_=ImageDataGenerator(rescale=1./255,she=ImageDataGenerator(r=ImageDataGenerator(rescale=1./255,shebatch_size=batch_size,batch_size=batch_size,圖3.6模型搭建示意圖33.5直接用.csv文件中的數(shù)據(jù)進行模型搭建與訓(xùn)練直接使用.csv文件的話需要先檢查訓(xùn)練數(shù)據(jù)是否有空值,這會對訓(xùn)練過程產(chǎn)生巨大的影響,因為少了一個像素點的值,后面的像素點就會往前移一個,整個圖片就會糊了,這里要注意0不等于空值,可以用rain.isnull().anyO.describe()命令實現(xiàn)。3.6最終模型展示=1硫,,1mde;,mdgConc2ie,amutnte11,l?,aTtwtim'relu,Narnel.hitialiaar'Dearnf'.uyut,AtapFtnrut,aham)mdeLadtCmv22,omrLir-,N),sstiriarr'rrln,anddtraar',knnelInitisdel,a#Cmr,wrteLwn,41.tiratianr'reli',paatinga',komeLIRrTialitartn,posl')imde1,addHesfso22(1,T,trmdeLadli0mnt3int,(3.2),stuntvar'tnla'.tadtinp'uam,tetne]imitialirer-'nesartal')Met圖3.7最終模型展示max_pooling2d_13(MaxPooling(None,23,20max_pooling2d_14(MaxPooling(None,11.10max_pooling2d_15(MaxPooling(None,5,0000Non-trainableparam圖3.8最終模型各層網(wǎng)絡(luò)參數(shù)展示tn:5]mode1.cotptleloptinlzer-aptimlter,loss-'catrerir3.7結(jié)果分析經(jīng)過50次訓(xùn)練后,準(zhǔn)確率來到了57.65%,從第一次訓(xùn)練后的24.94%提升了32.71%,從效果上看模型還算成果,但是根據(jù)模型的實際情況分析。首先可以先看看trainingloss和validationloss的曲線圖,用plt庫就可以實現(xiàn)繪畫。根據(jù)2.3.14的結(jié)論可以看出,最終搭建的模型還是處于過擬合的狀態(tài)。這個最終模型是經(jīng)過多次改良后得到的,原本搭建的CNN模型因為dropout隨機丟棄的數(shù)據(jù)不多,沒有應(yīng)用BatchNormalization,過擬合的程度更加嚴(yán)重,即使在算法上已經(jīng)采用了隨機梯度下降法,在每一層卷積層后添加了池化層,在優(yōu)化器和損失函數(shù)上更換了四五個組合,但是最終擬合程度較好的還是SGD(優(yōu)化器)和categorical_crossentropy(損失函數(shù))。圖3.10Trainingloss與validationloss函數(shù)圖像再來看看混淆矩陣:從矩陣中可以看出fer2013數(shù)據(jù)集中l(wèi)abel1(厭惡)的數(shù)據(jù)較少,對角線的數(shù)據(jù)占總體數(shù)據(jù)越大越好,模型準(zhǔn)確率在60%左右,所以混淆矩陣整體分布還算均勻,label3(開心)的訓(xùn)練效果較好。圖3.11混淆矩陣示意圖最大,從圖中可以看出模型準(zhǔn)確率還算不錯,有可能是數(shù)據(jù)集的問題,導(dǎo)致模型準(zhǔn)度達(dá)再用驗證集val中的label1驗證一次模型準(zhǔn)確率,計算出的準(zhǔn)確率為99.89%,對于此模型中因為厭惡的數(shù)據(jù)集較多,擬合程度較好,雖然出現(xiàn)輕微過擬合現(xiàn)象,但用來驗:10.99892sbt.:圖3.12模型驗證示意圖3.8改進過程分析在最初模型建好后,就發(fā)現(xiàn)了模型過擬合的問題,事實證明在神經(jīng)網(wǎng)絡(luò)的搭建過程中,尤其是卷積神經(jīng)網(wǎng)絡(luò)對圖像處理的應(yīng)用,解決過擬合問題是最主要的問題。我問過導(dǎo)師在這種情況下應(yīng)該怎么解決:第一種就是將CNN模型中的參數(shù)減少,但是因為本身采用的是AlexNet的架構(gòu),卷積層、池化層和全連接層的層數(shù)相對于其他CNN模型中已經(jīng)算少了,就只能改動其他參數(shù)的方法進行改良。在優(yōu)化器的選擇挑選了SGD、RMSprop、Adam,損失函數(shù)選擇了categorical_crossentropy和binary_crossentropy,通categorical_crossentropy適合二分類問題,如果選擇這個損失函數(shù)的精準(zhǔn)率更高反而是個更大的問題。最終還更改了dropout的數(shù)據(jù)、學(xué)習(xí)率、用了BN算法,最后準(zhǔn)確率達(dá)到接近58%。老師還提了個方法就是增大數(shù)據(jù)集,但是這個方法涉及的問題很多,首先就味著對計算機的算力要求更高。如果要徹底解決這個問題用后一VGG網(wǎng)絡(luò)就是重復(fù)重復(fù)使用3x3卷積和2x2池化增加網(wǎng)絡(luò)深度,在2014年的ILSVRC比賽中,VGG在Top-5中取得了92.3%的正確率(top5表示只要概率向量中最大的前五名里有分類正確的則為正確)。輸入的圖片為224*224*3,具有13個卷積層和3個全連接層,所以也叫VGG16網(wǎng)絡(luò)。VGG還有另一種版本叫VGG19,多增加了3ResNet的核心思想是殘差模塊和深度繼承了LeNet以及AlexNet的一些框架結(jié)構(gòu),增加了卷積池化層數(shù)。雖然深度只有22層,但在相對情況比較AlexNet和VGG的參數(shù)會少很多,因此在內(nèi)存或計算資源有限GoogLeNet和ResNet都采用了模塊化的結(jié)構(gòu)(Inception結(jié)構(gòu)),方便增添和修改。不難看出,VGG網(wǎng)絡(luò)、ResNet、Go搭建效果會更好。當(dāng)然對樣本的選擇也有要求,輸入的大小至少224*224*3,48*48*1的數(shù)據(jù)集用AlexNet會比較合適,參數(shù)優(yōu)化也會更人臉表情識別在未來的人機交互中必定是一個熱門的技術(shù)點,雖然己經(jīng)有很多不同結(jié)構(gòu)的模型,并且取得了不錯的識別效果,但是使模型變得更精準(zhǔn)、算法更優(yōu)化、實現(xiàn)方式更簡易一直是人們在努力實現(xiàn)的目標(biāo)。作為一名初學(xué)者。通過三個月的學(xué)習(xí),在機器學(xué)習(xí)與深度學(xué)習(xí)也只能算是勉強入門。在楊老師和幾位線上授課的老師的教導(dǎo)下,我也順利用所學(xué)知識搭建出一個人臉表情識別模型,雖然準(zhǔn)確率只在60%,且有一定的過擬合現(xiàn)象,但是這也代表著三個月的學(xué)習(xí)成果,在一次次的調(diào)參和優(yōu)化中,我明白了深度學(xué)習(xí)基礎(chǔ)知識的重要性。調(diào)參不是盲目的調(diào)超參數(shù),而要懂得對數(shù)據(jù)進行分析,要對算法有一定的了解才能更好的選擇。在訓(xùn)練數(shù)據(jù)不夠多的前提不能選擇大的神經(jīng)網(wǎng)絡(luò),盡可能選擇能消除過擬合的函數(shù)和算法。每搭建一層網(wǎng)絡(luò),給一個函數(shù)時都應(yīng)該問自己一句為什么這么做,是不是有更好的選擇??偠灾舜萎厴I(yè)設(shè)計也算順利完成,希望在未來能有更好的算法,更完善的數(shù)據(jù)能搭建出更好的模型,也希望本文能幫助更多初學(xué)者理解和完成人臉表情識別。參考文獻[1]施徐敢.基于深度學(xué)習(xí)的人臉表情識別[D],浙江:浙江理工大學(xué),2015-03-08,12。[2]呂亞丹.基于深度學(xué)習(xí)的人臉表情識別[D],天津:天津大學(xué),2014-15-01,18.themeasurementoffacialactionConsulting,PaloAlto,1978,32-35[4]CootesTF,Taylapplication[J].ComputerVisionandImageUndersta[5]趙艷.基于深度學(xué)習(xí)的表情識別研究[D],重慶:重慶郵電大學(xué),2016-04-03,22-24.Models[C].BMVC,Nottingham,1999,173-182.manifoldlearning[J].PatternRecognition,2009,42(7):1340-1350.Gabor-wavelets-basedFacialexprNaral998,454-459.[10]李江.基于深度學(xué)習(xí)的人臉表情識別研究與實現(xiàn)[D],四川:西南科技大學(xué),2017-05-01,師的心血和汗水,在我的畢業(yè)設(shè)計期間,楊聚慶老師為我論文的指導(dǎo)有著啟蒙的意義,我的二稿和一稿無論在內(nèi)容還是格式方面都有翻天覆地的變化。我做畢業(yè)設(shè)計的每個階段,從選題到查閱資料,論文提綱的確定,中期論文的修改,后期論文格式調(diào)整等各個環(huán)節(jié)中都給予了我悉心的指導(dǎo)。這幾個月以來,楊聚慶老師不僅在學(xué)業(yè)上給我以精心指導(dǎo),同時還在思想上給予我以無微不至的關(guān)懷,在此謹(jǐn)向楊老師致以誠摯的謝意和崇高的敬意。同時,本篇畢業(yè)論文的寫作也得到了何飛、韓燁、王健等老師的熱情幫助。感謝在整個畢業(yè)設(shè)計期間和我密切合作的老師,和曾經(jīng)在各個方面給予過我?guī)椭幕锇閭?。在此,我再一次真誠地向幫助過我的老師和同學(xué)表示感謝!附錄附錄1附錄2database_path=r'D:\inpdatasets_path=r'.\datasets’csv_file=os.path.train_csv=os.path.join(datasets_path,val_csv=os.path.join(datasets_path,test_csv=os.path.join(datasets_path,'test.csv')trn=[row[:-1]forrowinrowsifrow[-1]=='Training']lineterminator='\n').wrival=[row[:-l]forrowinrowsifrow[-1]=='PublicTest']lineterminator='\n').writst=[row[:-1]forrowinrowsifrow[-1]=='PrivateTest']lineterminator='\n').writrain_csv=os.path.join(datasets_path,val_csv=os.path.join(datasets_path,'val.csv')test_csv=os.path.join(datasets_pathtrain_set=os.path.joinval_set=os.path.jointest_set=os.path.join(datasetspath,'test')ifnotos.path.exists(save_path):pixel=np.asarray([float(p)forpinpixel.split()]).rifnotos.path.exists(subfolder)image_name=os.path.join(s附錄3fromkeras.preprocessing.imageimportImageDataGeneratorfromkeras.layersimportConv2D,MaxPooling2D,MaxPool2Dfromkeras.layersimportActivation,Dropout,Flatten,Densefromkeras.applications.imagenet_utilsimportpreprocess_iimportpandasaspdfromkeras.preprocessing.imageimportImageDataGeneratorfromkeras.layers.normalizationimpsns.set(style='white',coX_train=train.drop(labels=["label"],axis=1)X_test=test.drop(labels=["labX_train=X_train/255.0X_train=X_train.valuesX_test=X_test.values.reshape(-1,48,48,1)Y_train=to_categorical(Y_train,num_classes=7)Y_test=to_categorical(Y_test,num_classes=7)g=plt.imshow(X_train[0]model.add(Conv2D(32,kernel_size=(1,1),activation='relu',ker='he_normal',input_shapemodel.add(MaxPool2D((3,3),strmodel.add(MaxPool2D((3,3),strmodel.add(MaxPool2D((3,3),strmodel.add(BatchNormapile(optimizer=optimilearning_rate_reduction=ReduceLR0nPlateau(monitor='val_acc',patience=3,ax[0].plot(history.history['loss'],color='b',label="Trainingloss")ax[0].plot(history.history['val_loslegend=ax[0].legend(loc='besax[1].plot(history.history['accuracy'ax[1].plot(history.history['val_accuracy']defplot_confusion_matrix(cm,classes,#plt.xticks(tick_marks,classes,rotplt.yticks(tick_marks,cifnormalize:cm=cm.astype('float')/cm.thresh=cm.max()/2.color="white"ifcm[i,j]>threshplt.ylabel('Truelabeldefdisplay_errors(errors_index,img_errors,pred_errors,obs_errors):fig,ax=plt.subplots(nrows,ax[row,col].imshow((img_errors[eformat(prederrors[error],true_prob_errors=np.diagonal(np.take(Y_pred_errors,Y_true_errors,most_important_errors=sorted_dela_errors[-9:]display_errors(most_important_errors,X_val_errfromsklearn.metricsimportroc_cfpr[i],tpr[i],_=roc_curveroc_auc[i]=auc(fpr[i]plt.plot([0,1],[0,1],’k--',lwplt.xlabel('FalsePositiveRate')plt.ylabel(TruePositiveRate')plt.title(SomeextensionofReceiveroperatingcharactplt.legend(loc="lowerriplt.show()電腦快捷知識大全編輯本段一、常見用法F1顯示當(dāng)前程序或者windows的幫助內(nèi)容。F2當(dāng)你選中一個文件的話,這意味著“重命名”F3當(dāng)你在桌面上的時候是打開“查找:所有文件”對話框F10或ALT激活當(dāng)前程序的菜單欄DELETE刪除被選擇的選擇項目,如果是文件,將被放入回收站SHIFT+DELETE刪除被選擇的選擇項目,如果是文件,將被直接刪除而不是放入回收站CTRL+N新建一個新的文件復(fù)制被選擇的項目到剪貼板粘貼剪貼板中的內(nèi)容到當(dāng)前位置撤銷上一步的操作重做上一步被撤銷的操作Windows鍵+SHIFT+M重新將恢復(fù)上一項操作前窗口的大小和位置打開資源管理器打開“查找:所有文件”對話框打開“運行”對話框Windows鍵+CTRL+F打開“查找:計算機”對話框SHIFT+F10或鼠標(biāo)右擊打開當(dāng)前活動項目的快捷菜單SHIFT在放入CD的時候按下不放,可以跳過自動播放CD。在打開word的時候按下不放,可以跳過自啟動的宏打開程序最左上角的菜單窗口在窗口和全屏幕狀態(tài)間切換PRINTSCREEN將當(dāng)前屏幕以圖象方式拷貝到剪貼板將當(dāng)前活動程序窗口以圖象方式拷貝到剪貼板CTRL+F4關(guān)閉當(dāng)前應(yīng)用程序中的當(dāng)前文本(如word中)CTRL+F6切換到當(dāng)前應(yīng)用程序中的下一個文本(加shift可以跳到前一個窗口)顯示前一頁(前進鍵)顯示后一頁(后退鍵)在頁面上的各框架中切換(加shift反向)F5刷新激活程序中的菜單欄F10執(zhí)行菜單上相應(yīng)的命令A(yù)LT+菜單上帶下劃線的字母關(guān)閉多文檔界面程序中的當(dāng)關(guān)閉當(dāng)前窗口或退出程序ALT+F4顯示所選對話框項目的幫助Fl顯示當(dāng)前窗口的系統(tǒng)菜單ALT+空格鍵顯示所選項目的快捷菜單SHIFT+F10顯示多文檔界面程序的系統(tǒng)切換到上次使用的窗口或者切換到另一個窗口ALT+TAB編輯本段二、使用“Windows資源管理器”的快捷鍵目的快捷鍵如果當(dāng)前選擇展開了,要折疊或者選擇父文件夾左箭頭如果當(dāng)前選擇折疊了,要展開或者選擇第一個子文件夾右箭頭在左右窗格間切換F6編輯本段可以使用Microsoft自然鍵盤或含有Windows徽標(biāo)鍵的其他任何兼容鍵盤的顯示“系統(tǒng)屬性”對話框撤消最小化所有窗口SHIFT+WINDOWS+M編輯本段四、“我的電腦”和“資源管理器”的快捷鍵關(guān)閉所選文件夾及其所有父文件夾按住SHIFT鍵再單擊“關(guān)閉按鈕(僅適用于“我的電腦”)編輯本段五、使用對話框中的快捷鍵目的快捷鍵取消當(dāng)前任務(wù)ESC如果當(dāng)前控件是個按鈕,要單擊該按鈕或者如果當(dāng)前控件是個復(fù)選框,要選擇或清除該復(fù)選框或者如果當(dāng)前控件是個選項按鈕,要單擊該選項空格鍵單擊相應(yīng)的命令A(yù)LT+帶下劃線的字母在選項上向后移動SHIFT+TAB在選項卡上向后移動CTRL+SHIFT+TAB在選項上向前移動TAB如果在“另存為”或“打開”對話框中選擇了某文件夾,在“另存為”或“打開”對話框中打開“保存到”或“查閱”F4刷新“另存為”或“打開”對話框F5編輯本段六、桌面、我的電腦和“資源管理器”快捷鍵選擇項目時,可以使用以下快捷鍵。插入光盤時不用“自動播放”“回收站”顯示“查找:所有文件”F3刷新窗口的內(nèi)容F5重命名項目F2選擇所有項目CTRL+A兼容鍵編輯本段七、Microsoft放大程序的快捷鍵這里運用Windows徽標(biāo)鍵和其他鍵的組合??旖萱I目的將屏幕復(fù)制到剪貼板(包括鼠標(biāo)光標(biāo))Windows徽標(biāo)+SCROLLLOCK將屏幕復(fù)制到剪貼板(不包括鼠標(biāo)光標(biāo))Windows徽標(biāo)+向上箭頭增加放大率Windows徽標(biāo)+向下箭頭減小放大率編輯本段八、使用輔助選項快捷鍵目的快捷鍵切換粘滯鍵開關(guān)SHIFT鍵五次Alt+S快速回復(fù)Alt+C關(guān)閉當(dāng)前窗口Alt+H打開聊天記錄Alt+T更改消息模式Ait+J打開聊天紀(jì)錄Ctrl+A全選當(dāng)前對話框里的內(nèi)容Ctrl+FQQ里直接顯示字體設(shè)置工具條Ctrl+J輸入框里回車(跟回車一個效果)Ctrl+M輸入框里回車(跟回車一個效果)Ctrl+L對輸入框里當(dāng)前行的文字左對齊Ctrl+R對輸入框里當(dāng)前行的文字右對齊Ctrl+E對輸入框里當(dāng)前行的文字居中Ctrl+V在qq對話框里實行粘貼Ctrl+Z清空/恢復(fù)輸入框里的文字Ctrl+回車快速回復(fù)這個可能是聊QQ時最常用到的了Ctrl+Alt+Z快速提取消息最常用的快捷鍵F5刷新DELETECTRL+C復(fù)制CTRL+XCTRL+A全選CTRL+ZALT+F4關(guān)閉CTRL+YCTRL+F5強制刷新CTRL+W刪除剪切撤銷恢復(fù)關(guān)閉TAB改變焦點CTRL+F查找CTRL+空格--中英文輸入切換CTRL+Shift輸入法切換CTRL+ESC--開始菜單Alt+1保存當(dāng)前表單A1t+2保存為通用表單Alt+A展開收藏夾列表資源管理器數(shù)字鍵盤的減號(-)折疊所選的文件夾數(shù)字鍵盤的加號(+)顯示所選文件夾的內(nèi)容數(shù)字鍵盤的星號(*)顯示所選文件夾的所有子文件夾向左鍵當(dāng)前所選項處于展開狀態(tài)時折疊該項,或選定其父文件夾向右鍵當(dāng)前所選項處于折疊狀態(tài)時展開該項,或選定第一個子文件夾自然鍵盤【窗口】顯示或隱藏“開始”菜單【窗口】+F1幫助【窗口】+R打開“運行”【窗口】+E打開“我的電腦”【窗口】+F搜索文件或文件夾【窗口】+U打開“工具管理器”【窗口】+TAB在打開的項目之間切換按SHIFT五次切換粘滯鍵的開和關(guān)按“開始”—“運行”,或按WIN鍵+R,在『運行』窗口中輸入:(按英文字符順序排列)%temp%打開臨時文件夾.C:\DocumentsandSettings\用戶名所在文件夾...-我的電腦appwize.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報參考:教育家精神引領(lǐng)高校思政課教師職業(yè)素養(yǎng)評價體系建構(gòu)研究
- 二零二五版鋁合金建筑模板采購協(xié)議書4篇
- 商場內(nèi)品牌專賣店裝修許可協(xié)議(2025年)2篇
- 2025年度苗木種植與林業(yè)產(chǎn)業(yè)發(fā)展合作合同4篇
- 二手房合作投資合同模板2024版B版
- 二零二五年度人工智能教育培訓(xùn)合同補充協(xié)議6篇
- 二零二五年度旅行社與航空公司合作協(xié)議書3篇
- 2025年度品牌跨界合作與品牌授權(quán)合作協(xié)議4篇
- 二零二五版?zhèn)€人貸款居間中介服務(wù)協(xié)議書6篇
- 2025年度個人房產(chǎn)抵押借款合同規(guī)范文本8篇
- 【寒假預(yù)習(xí)】專題04 閱讀理解 20篇 集訓(xùn)-2025年人教版(PEP)六年級英語下冊寒假提前學(xué)(含答案)
- 2024年智能監(jiān)獄安防監(jiān)控工程合同3篇
- 2024年度窯爐施工協(xié)議詳例細(xì)則版B版
- 幼兒園籃球課培訓(xùn)
- 【企業(yè)盈利能力探析的國內(nèi)外文獻綜述2400字】
- 統(tǒng)編版(2024新版)七年級《道德與法治》上冊第一單元《少年有夢》單元測試卷(含答案)
- 100道20以內(nèi)的口算題共20份
- 高三完形填空專項訓(xùn)練單選(部分答案)
- 護理查房高鉀血癥
- 項目監(jiān)理策劃方案匯報
- 《職業(yè)培訓(xùn)師的培訓(xùn)》課件
評論
0/150
提交評論