基于tensorflow的人臉識別簽到系統(tǒng)_第1頁
基于tensorflow的人臉識別簽到系統(tǒng)_第2頁
基于tensorflow的人臉識別簽到系統(tǒng)_第3頁
基于tensorflow的人臉識別簽到系統(tǒng)_第4頁
基于tensorflow的人臉識別簽到系統(tǒng)_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

摘要隨著機器視覺技術對人們日常生活運作越來越明顯,人臉識別技術也憑借著其便捷友好的特性出現(xiàn),并在醫(yī)療、安全和通信等鄰域都有著應用,而其中較為常用的人臉識別簽到也在各組織使用著,并且開始逐漸代替?zhèn)鹘y(tǒng)的簽到手法。為了了解人臉識別簽到技術,本項目通過運用深度學習中的TensorFlow框架來搭建卷積神經(jīng)網(wǎng)絡,將訓練好的模型實現(xiàn)對特定人臉的識別進行簽到,再添加錄入信息模塊,簽到界面模塊,出勤信息模塊這三個模塊來完成實現(xiàn)整個人臉識別簽到系統(tǒng)。我們可以通過本系統(tǒng)對成員信息的錄入,再運用錄入的數(shù)據(jù)來訓練模型進行對人臉識別簽到,最后可以在出勤信息表中了解成員出勤狀況,在整個實現(xiàn)過程中也能大致了解到人臉識別簽到的技術,這就是這個項目的意義所在。關鍵字:機器視覺技術卷積神經(jīng)網(wǎng)絡TensorFlow人臉識別AbstractWiththemachinevisiontechnologyisbecomingmoreandmoreobvioustopeople'sdailylife,facerecognitiontechnologyalsoappearswithitsconvenientandfriendlycharacteristics,andhasapplicationsinmedicaltreatment,securityandcommunication.Amongthem,themorecommonlyusedfacerecognitionsign-inisalsousedinvariousorganizations,andhasgraduallyreplacedthetraditionalsign-inmethod.Inordertounderstandthefacerecognitioncheck-intechnology,thisprojectusestheTensorFlowframeworkindepthlearningtobuildaconvolutionneuralnetwork,andthetrainedmodelisusedtorealizethecheck-inofspecificfacerecognition.Then,thethreemodulesofinputinformationmodule,check-ininterfacemoduleandattendanceinformationmoduleareaddedtocompletetherealizationofthewholeRegistrationofFacerecognitionSystem.Wecaninputmemberinformationthroughthissystem,andthenusetheinputdatatotrainthemodeltosigninforfacerecognition.Finally,wecanunderstandtheattendancestatusofmembersintheattendanceinformationtable,andwecanalsoroughlyunderstandthefacerecognitionsign-intechnologyinthewholeimplementationprocess.Thisisthesignificanceofthisproject.Keywords:MachineVisionTechnology、CNN、TensorFlow、Facerecognition目錄1. 緒論 緒論開發(fā)背景1.1.1機器視覺技術的發(fā)展從二十世紀下半葉起,人類漸漸朝著機器視覺技術發(fā)展慢慢發(fā)展前進,從而使得有關機器視覺技術的軟硬件技術在人類生活中得以廣泛使用,其中機器視覺技術中的數(shù)字圖像處理逐漸成為了當代社會信息來源的重要構建因素,其中產(chǎn)生了各種各樣的數(shù)字圖像分析與處理的需求和應用,進而對該技術的發(fā)展和革新不斷促進著,該技術廣泛應用于人機交互、智能安檢、數(shù)字圖像檢索等領域中來,但其中較為突出的還是人臉識別的領域中[1]。其中作用于實現(xiàn)人臉識別的TensorFlow框架和OpenCV圖像處理算法有著一定程度的優(yōu)勢。其中TensorFlow則作為深度學習而出現(xiàn)的一種神經(jīng)網(wǎng)絡框架,是谷歌的第二代人工智能學習系統(tǒng),由DistBelief所研發(fā),在它的名字中出現(xiàn)的張量Tenaor代表著N維數(shù)組,流Flow則代表著基于數(shù)據(jù)流圖中的計算,TensorFlow其作用就是為了使張量從圖像一端流動到另一端的計算過程,這也是它的名字TensorFlow的由來。由于TensorFlow能夠將復雜的數(shù)據(jù)結構傳輸?shù)饺斯ぴO計的智能神經(jīng)網(wǎng)絡中進行分析和處理[2],從而使得我們就能大大降低深度學習的開發(fā)難度和開發(fā)成本,從而更容易訓練出深度神經(jīng)網(wǎng)絡模型,所以TensorFlow憑借著它擅長訓練神經(jīng)網(wǎng)絡的優(yōu)勢無可厚非的成為神經(jīng)網(wǎng)絡最好使用的庫之一。而OpenCV則是一個計算機視覺庫,它可用于實時處理圖像,進行圖像和視頻等載入、保存采集的常規(guī)操作,作為一個開源的庫,能夠更好的讓人們去使用優(yōu)化[3],所以當TensorFlow和OpenCV兩者結合時,便可作用于基礎的圖像識別領域中。1.1.2日常工作簽到形式的現(xiàn)狀情況隨著機器視覺技術對社會日常運作的作用越來越明顯,人臉識別對于大家來說也并不陌生了,日常生活中的地鐵或客運站等的安檢,還有便利的支付寶人臉支付系統(tǒng),更到手機鎖屏的臉部識別解鎖,可以看出人臉識別早已慢慢融入到了人類的社會中來。它憑借著非侵略性、便捷性、友好性、非接觸性、可擴展性等優(yōu)勢得到人們的認可,也因此有著廣泛的應用前景。也正因為這些優(yōu)勢人臉識別簽到也就開始代替手動簽到從而出現(xiàn)在各種組織公司中,傳統(tǒng)的手工簽到會耗費大量時間來進行統(tǒng)計、也無法識別是否有人來假冒工作人員,而且就算是指紋或是刷卡簽到也會出現(xiàn)效率低下而不易統(tǒng)計、代替他人打卡和維護成本高等不利的情況出現(xiàn),因此人臉識別簽到就出現(xiàn)了。開發(fā)意義人臉識別的簽到系統(tǒng)是為了代替現(xiàn)代生活中手工簽到和刷卡簽到等簽到方式所出現(xiàn)的。對于傳體的簽到方式,人臉識別有著更大的優(yōu)勢和方便性,它不會像手工簽到一般需要大量的人力物力來統(tǒng)計識別所到的人員,也不會像一般的二維碼或是打卡簽到等需要外物簽到且需要排隊等待的不方便,更重要的是以上傳體的簽到方式會出現(xiàn)漏簽代簽的行為所造成組織或公司的損失,浪費人力物力,且會出現(xiàn)錯誤造成損失等不便的因素,那為什么不用更好的人臉識別來簽到呢?人臉識別簽到,不需要人工手簽,也不需要排隊等待,實時簽到等方便性,但對于人臉識別最重要的還是其對人臉識別的準確率,所以本次實驗研究更著重于人臉識別的準確率,提高準確率才能更好更準確的識別對應的人,才能減少出勤的錯誤。開發(fā)目標錄入人臉信息:調用攝像頭對人臉進行采集,并保存在對應的文件夾中。設計神經(jīng)網(wǎng)絡訓練模型:對卷積神經(jīng)網(wǎng)絡各個層次進行設計編輯,從而獲得一個準確率較高的訓練模型。輸出對錄入人臉進行識別并完成簽到:運用訓練好的模型對實時攝像中的人進行識別,成功識別后進行簽到信息的登記。系統(tǒng)UI的基本功能:錄入人臉信息,在簽到界面進行簽到,相應的簽到成功人員表和缺勤人員表。本文章節(jié)安排第一章:緒論。本章節(jié)主要介紹所做課題的開發(fā)社會中的背景,還有對其開發(fā)的意義和所要完成的目標。簡單敘述了本文要研究的主要內容。第二章:對卷積神經(jīng)網(wǎng)絡進行理論性介紹。本章節(jié)是對卷積神經(jīng)網(wǎng)絡內部結構的簡單介紹,并對時下的流行的深度學習框架TensorFlow進行分析。第三章:開發(fā)工具的安裝與神經(jīng)網(wǎng)絡搭建。主要介紹了開發(fā)所需要的工具和重點對卷積神經(jīng)網(wǎng)絡設計分析。第四章:系統(tǒng)分析。對系統(tǒng)的可行性等進行分析并對系統(tǒng)功能劃分模塊。第五章:人臉識別簽到系統(tǒng)的設計與實現(xiàn)。本章節(jié)將設計好的各個功能模塊,進而將訓練好的人臉識別模型整合在一起,使得整個系統(tǒng)設計得以完成。第六章:工作總結。本章節(jié)對整個實驗進行總結,簡述整個實驗過程并對其不足之處和能夠改進的地方進行簡單的描述。卷積神經(jīng)網(wǎng)絡理論介紹2.1人工神經(jīng)網(wǎng)絡簡介 人工神經(jīng)網(wǎng)絡(ArtificialNeuralNetwork,ANN)作為20世紀80年代來人工智能領域中所興起的研究熱點,人工神經(jīng)網(wǎng)絡主要就是模仿人類腦中的神經(jīng)元網(wǎng)絡從而構建實現(xiàn)的一個模型,即對數(shù)據(jù)信息進行提取、分析、處理,然后再將處理后的數(shù)據(jù)進行分類的一個過程,而人們把這整個過程構建成為一個模型,所以人工神經(jīng)網(wǎng)絡其實就是對各種各樣的數(shù)據(jù)進行分類識別的一種模型[4]。 人工神經(jīng)網(wǎng)絡主要的架構是由神經(jīng)元、層、網(wǎng)絡這三個部分所組成,其中作為人工神經(jīng)網(wǎng)絡中最基本的單元神經(jīng)元,它以層的方式相組成,然后每一層中的神經(jīng)元和前后層的神經(jīng)元相連接,從而分為輸入層、輸出層和隱含層,而這三層相互連接就形成一個神經(jīng)網(wǎng)絡。(1)輸入層:由輸入單元組成,接收來自外部環(huán)境所傳進來的信息,進而這些輸入單元可以接收輸入數(shù)據(jù)樣本中各種不同的特征信息。(2)隱含層:介于輸入層和輸出層之間,這層的作用是對輸入數(shù)據(jù)進行分析,其函數(shù)聯(lián)系著輸入層和輸出層的變量,使其更配適合數(shù)據(jù)。(3)輸出層:這一層是對最終結果的生成,每一個輸出單元對應著某一特定的分類,為整個網(wǎng)絡送出外部系統(tǒng)的結果值。圖2-1生物神經(jīng)元與神經(jīng)元網(wǎng)絡 進十多年來,人們對人工神經(jīng)網(wǎng)絡ANN的研究不斷深入,觸及到了各行各業(yè)的鄰域中來,其中在生物學、醫(yī)學和智能機器人等各方面的領域里,解決了大量難以解決的實際問題,從而人工神經(jīng)網(wǎng)絡表現(xiàn)出了它具有良好的智能特性,為人類社會造福。2.2卷積神經(jīng)網(wǎng)絡簡介卷積神經(jīng)網(wǎng)絡(ConvolutionalNeuralNetwork,CNN)是一種包含卷積運算且結構復雜的前饋神經(jīng)網(wǎng)絡。卷積神經(jīng)網(wǎng)絡中的人工神經(jīng)元能夠在局部覆蓋范圍內對周圍單元做出響應,因此在圖像處理方面具有優(yōu)越性。卷積神經(jīng)網(wǎng)絡作為人工神經(jīng)網(wǎng)絡中的一種,與其結構大同小異,幾乎都是有若干個卷積層和全連接層所組成,但與其它人工神經(jīng)網(wǎng)絡相比,卷積神經(jīng)網(wǎng)絡能夠更好的對圖像進行分析處理[5]。卷積神經(jīng)網(wǎng)絡CNN的主要分層結構一般包括以下四層[6]:卷積層(Convolutionallayer):在卷積神經(jīng)網(wǎng)絡中,每層的卷積層都是由多個卷積單元組成,每個卷積單元的參數(shù)通過反向傳播算法來進行自身優(yōu)化,簡單來說就是從輸入層中提取到輸入信息中的不同特征,假如整個網(wǎng)絡中存在著多層卷積層,就可以從低級特征中反復迭代出更為復雜的特征。線性整流層(RectifiedLinearUnitslayer,Relulayer):絕大多數(shù)卷積神經(jīng)網(wǎng)絡都會使用線性整流函數(shù)f(x)=max(0,x)用來作為該層的激勵函數(shù),它的作用是通過該函數(shù)增強整個神經(jīng)網(wǎng)絡的非線性特性和判斷函數(shù),而不改變卷積層本身。除了Relu函數(shù)外還有其他能增強網(wǎng)絡的非線性特性的函數(shù),例如Sigmoid函數(shù)f(x)=(1+e-x)-1、雙曲正切函數(shù)f(x)=tanh(x),f(x)=|tanh(x)|等,但是Relu函數(shù)使用更多[7],這大概是因為它在將神經(jīng)網(wǎng)絡訓練速度提升數(shù)倍的同時,而不會對模型的泛化準確度造成較大影響。池化層(PoolingLayer):在經(jīng)過多次數(shù)據(jù)集特征訓練后,會產(chǎn)生一些無用的參數(shù),從而導致訓練效率下降,這時候就需要池化來將冗余的參數(shù)去除來提高模型訓練效率。損失函數(shù)層(losslayer):該層用于確定訓練過程如何“懲罰”網(wǎng)絡中的預測結果和實際結果間的差異,它通常也是作為網(wǎng)絡結構中的最后一層[8]。圖2-2經(jīng)典CNN結構示意圖2.2.1卷積和池化卷積(Convolution)是分析數(shù)學的一種運算,其公式為:-它大致的運用就是將圖像用一塊設計好大小的模板進行卷積,使圖像中的每一個點與模板上的原點進行重合并且使其點對點相乘,最后再進行相加從而得到該點的卷積值。圖2-3卷積過程示意圖 如圖2-3所示中,最左邊的是那一副原始圖像,而中間的是模板即卷積層,最后輸出的是卷積結果。 池化(Pooling):它又被稱為欠采樣或下采樣,它主要的作用是對模型特征進行降維,壓縮數(shù)據(jù)和參數(shù)的個數(shù),進而減少訓練模型的過擬合現(xiàn)象,同時也提高了模型的容錯性。池化主要包括最大池化和平均池化[9]。圖2-4maxpooling和averagepooling的區(qū)別 由圖2-4所示可以看出最大池化和平均池化的區(qū)別,一個可以提取到特征紋理,另一個更好的來保留背景的信息。2.2.2激活函數(shù) 激活函數(shù)(activationfunction):通過激活函數(shù)可以使模型避免正確和錯誤間徘徊不定時,能更好的將模型偏向于正確的那一邊。同時它對于模型的非線性處理能力有著促進作用,而且還能加速模型收斂[10]。 常見的激活函數(shù)有以下: Sigmoid函數(shù),其公式為:f圖2-5Sigmoid函數(shù)Sigmoid函數(shù)是最早被人們所廣泛使用的函數(shù),它在分類任務輸出層中有著豐富的經(jīng)驗,所以它在對數(shù)據(jù)進行分類的情況下使用較多。在圖2-5中可以發(fā)現(xiàn),Sigmoid函數(shù)的輸入?yún)?shù)控制在區(qū)間[0,-1]中,通過其處理后數(shù)據(jù)也如同概率一般,這也是它從開始到現(xiàn)在都沒有被人們淘汰的原因。Tanh函數(shù),其公式為:tanh圖2-6Tanh函數(shù) 由圖2-6所示,Tanh函數(shù)和Sigmoid函數(shù)在數(shù)軸上所形成的圖形差不多一致,其區(qū)別就是在于Tanh函數(shù)的區(qū)間在于[-1,1]之間。Tanh函數(shù)它的中間值為0,在一定理解上可以說激活值在下層的正態(tài)分布輸入了。 Rule函數(shù),其公式為:f圖2-7Rule函數(shù) Rule函數(shù)作為現(xiàn)階段人們使用最多的函數(shù),它解決了Sigmoid函數(shù)和Tanh函數(shù)中常見的梯度消失問題,同時也是計算梯度最快的激勵函數(shù)。Rule函數(shù)能夠解決梯度消失的方法就在于它能夠將模型的梯度固定在0和1這兩個值,所以能夠解決梯度消失的問題。2.3TensorFlow框架簡介 TensorFlow作為深度學習而出現(xiàn)的一種神經(jīng)網(wǎng)絡框架,是谷歌的第二代人工智能學習系統(tǒng),由DistBelief所研發(fā),它同時也是基于python的開源框架。TensorFlow所擁有特性如下:具有高度的靈活性:只要能將計算表示成為一個數(shù)據(jù)流圖,就能使用到TensorFlow,并且在整個訓練網(wǎng)絡過程中,它可以讓工作人員看到當前網(wǎng)絡的表現(xiàn)情況??梢浦残裕核梢栽贑PU和GPU上進行運算,并且可以運行在手機移動端和臺式機等其他設備上。支持多語言:python、C++性能高度優(yōu)化:作為一個開源框架,這就意味著會有許許多多的學者對其進行優(yōu)化和完善。進行多項分析了解,毋庸置疑TensorFlow是當前卷積神經(jīng)網(wǎng)絡中最為實用的框架,它善于對深度學習模型進行分析訓練,這也是本次實驗所使用它的原因。開發(fā)工具的安裝與神經(jīng)網(wǎng)絡搭建3.1開發(fā)環(huán)境3.1.1開發(fā)工具表3-1軟件和重要庫基本信息表序號名稱版本備注1Windows10家庭中文版64位操作系統(tǒng)2JetBrainsPyCharm2017.3.6開發(fā)工具3JupyterNotebook3.6開發(fā)工具4TensorFlow1.14.0CNN框架5OpenCV-python0圖像處理工具庫6PyMySQL0.9.3PyCharm內置數(shù)據(jù)庫3.1.2硬件環(huán)境表3-2硬件信息表序號名稱配置備注1CPUIntel(R)Core(TM)i5-8300HCPU@2.30GHz2存儲4G內存+500G機械硬盤3.2開發(fā)工具安裝與環(huán)境搭建3.2.1安裝開發(fā)工具(一)PyCharm:作為JetBrains所構建的PythonIDE有著一整套實用的工具,它可以幫助用戶在用Python語言開發(fā)項目時提高效率,它有著IDE所具備的調試、項目管理、智能提示和單元測試等功能。PyCharm社區(qū)版是免費提供給開發(fā)者使用的,本次實驗使用它的最大原因是能夠用它來建立項目,這樣一來就能對整個項目的每一個文件更好的編輯與管理。安裝下載地址:/pycharm/download/#section=windows(二)JupyterNotebook:它的本質是一個Web應用程序,它是為了方便開開發(fā)人員創(chuàng)建和共享文學化程序文檔,它支持實時編碼、markdown和可視化等,可用于數(shù)據(jù)的清洗和轉換、機器學習和建立數(shù)學模型等,所以本次實驗使用Jupyter是為了方便設計對特定人臉識別的TensorFlow框架模型,我們可以在Jupyter里看得到每一步代碼的實現(xiàn)是否出錯,還能多次對比訓練出的模型的準確率,得到出所想要的模型。安裝:Windows下直接cmd中pip安裝,語句pipinstalljupyter。3.2.2搭建TensorFlow實驗環(huán)境從最基礎的卷積神經(jīng)網(wǎng)絡進行研究,在解決問題的開始,我們需要了解深度學習的基本方法,其中要重點對卷積神經(jīng)網(wǎng)絡結構中的卷積層和池化層進行研究,搭建好TensorFlow的實驗平臺并且要好好理解其工作的原理以及框架結構,這是實驗的基礎也是重中之重的要點[11]。所以本章節(jié)為對實驗平臺的搭建,以TensorFlow框架為基礎,通過其訓練模型,從而達到實驗目的,訓練出準確率較高的模型。安裝TensorFlow Pip安裝:在python中的模塊庫都可以通過使用pip進行安裝,它的安裝就類似于Linux中的命令語句,特別的方便。由于pip是依賴python做存在的,所以在windows上需要安裝python,在官網(wǎng)下下載python3后配置好環(huán)境變量即可使用pip下載安裝python的庫。本次實驗環(huán)境是基于python3的tensorflow-1.14.0版本,所以直接在windows下CMD中輸入pipinstalltensorflow==1.14.0進行pip安裝即可。圖3-1pip安裝界面 OpenCV(OpenSourceComputerVisionLibrary):OpenCV是適用于Windows、Linux等主流平臺的開源庫,它由著一系列C函數(shù)和少量C++類組成,且具有輕量級和高效性,同時提供著MATLAB、Python等語言的接口,實現(xiàn)了圖像處理和計算機視覺中許多的通用算法[12]。因為它有著出色的圖像處理能力,所以本次實驗會使用到它來對人臉圖像進行處理,它也可以運用pip進行下載安裝,本次用到的版本是OpenCV-python-0版本。 如果覺得用用命令行窗口下載比較麻煩的話,可以在PyCharm里面搜索下載,運行PyCharm“FileSettingsProjectProjectInterpreter‘+’”,在圖3-3內進行搜索所需要的庫進行InstallPackage即可下載。圖3-2PyCharm內所安裝的庫圖3-3搜索所需要的庫實驗所需重要庫表3-3重要庫基本信息表序號名稱版本作用1Numpy1.16.0存儲和處理矩陣,管理大量輸入數(shù)據(jù)2Matplotlib3.0.32D繪圖工具3PyQt55.13.0Designer界面編輯器,可以用來繪制系統(tǒng)界面4PyMySQL0.9.3Python中操作MySQL的模塊,也是作為本次實驗的數(shù)據(jù)庫5Scikit-learn0.22.1獲取數(shù)據(jù)、處理數(shù)據(jù)、特征工程、設計模型、模型評估、應用6Tensorflow1.14.0本次實驗的模型框架7Opencv-python0提供圖像處理和計算機視覺處理通用算法算法3.3卷積神經(jīng)網(wǎng)絡搭建測試3.3.1獲取人臉照片數(shù)據(jù)集 作為訓練模型基礎的數(shù)據(jù)集,越是擁有豐富數(shù)據(jù)且標簽準確則越是有助于幫助提高模型的訓練結果。想要對不同人臉識別提供更加可靠的特征和信息,用來提升模型的識別準確率,則必須要有多個以上的人提供照片,從而來豐富數(shù)據(jù)量的數(shù)據(jù)集。 (1)基本數(shù)據(jù)集獲取。首先我們先獲取最初的未經(jīng)過處理的數(shù)據(jù)集,我找來了五個人進行拍攝正面照,每人100張,共500張正面照,由于人工一張一張拍過于麻煩,我們會通過代碼調動計算機攝像頭進行拍照,并且整理好放入個人文件夾中,這一步在之后的系統(tǒng)實現(xiàn)也會用得到。 圖3-4實現(xiàn)拍攝100張照片的部分代碼 通過代碼實現(xiàn)控制攝像頭拍攝100張個人照片,如圖3-4所示:圖3-5個人文件夾中100張照片 (2)數(shù)據(jù)集預處理。每張照片大小都是640*480,由于每個人的照片存在著大量特征,在網(wǎng)絡中不斷的訓練同時又會不斷產(chǎn)生特征,進而出現(xiàn)大量冗余無用的數(shù)據(jù),降低了整個模型的準確率,所以在初期每個人照片數(shù)據(jù)中會先去除一些無用的特征,例如背景、衣服和發(fā)型等特征,而留下每個人的五官臉部數(shù)據(jù),這個時候我們需要識別每張照片中人臉的位置,會用到別人訓練好的人臉部位識別的模型(haarcascade_frontalface_default.xml),然后將其采集裁剪為大小64*64的人臉圖,最后將其灰度化轉換成灰度圖,之后可直接運用其進行模型的訓練。圖3-6裁剪人臉和人臉照片灰度化部分代碼圖3-7裁剪灰度化處理圖3-8灰度化處理后裁剪的人臉照片3.3.2搭建卷積神經(jīng)網(wǎng)絡 經(jīng)過數(shù)據(jù)的預處理后,我們就得到了可以用來訓練和測試的數(shù)據(jù)集,之后就到了最重要的這一步,搭建卷積神經(jīng)網(wǎng)絡。本次實驗的網(wǎng)絡結構為三層卷積池化層,兩層全連接層,在這基礎上我們又在輸出層增加了一層1*1*1的卷積層,為的是使輸入增加非線性的表示、加深網(wǎng)絡且提升模型的表達能力,同時基本不增加計算量[13],而且在本次實驗中為防止某些權重更新,導致過擬合現(xiàn)象出現(xiàn),從而在卷積層和全連接層中加入了隨機失效Dropout。使用的激活函數(shù)為Rule函數(shù)。 本次實驗的數(shù)據(jù)為原始像素64*64的灰度圖數(shù)據(jù)集。設置了4層Convolutionlayer,ksize分別是1*1,3*3,8*8。每層池化層都采用最大池化,大小都是1*2。每一層都使用了Dropout。具體如下表所示:表3-4卷積神經(jīng)網(wǎng)絡模型結構種類核大小輸入通道輸出通道Dropout輸入64*64卷積層11*1132卷積層23*31320.5池化層11*2232卷積層33*332640.5池化層21*2264卷積層43*364640.5池化層31*2264全連接層15120.75全連接層25120.753.3.3模型訓練與結果本次模型訓練使用的優(yōu)化神經(jīng)網(wǎng)絡API是Keras框架,在使用前還有一個前置準備工作,即使用compile對訓練過程調整一些學習條件,主要compile參數(shù)有兩個,分別是優(yōu)化器(optimizer)和損失函數(shù)(loss)。(1)優(yōu)化器:對于深度學習的目的就是不斷的對網(wǎng)絡中的參數(shù)進行調整,使得參數(shù)能夠對輸入做出各種非線性變換,從而擬合輸出,它的本質就是通過函數(shù)尋找出最優(yōu)的解法[14],因此怎樣去更新參數(shù)是作為深度學習研究中的重點,而更新這參數(shù)的算法通常被稱之為優(yōu)化器,在本次實驗中所使用的優(yōu)化器優(yōu)化算法為adam。學習率(Learningrate)作為優(yōu)化器中的一個重要參數(shù),它決定了目標函數(shù)是否可以在適當?shù)墓?jié)點上壓縮到指定范圍內的最小值。當學習率設置得偏高時,梯度可能在最小值的附近來回震蕩從而無法收斂,而當學習率設置偏低時,就會降低模型的收斂速率。對于本次實驗為了初始訓練時更快改變改變權重,所以我將學習率設置為0.01。(2)損失函數(shù):在模型訓練學習中,損失函數(shù)可以簡單明了分析出算法好壞,提供了方便性。由于本次實驗模型用的激活函數(shù)是softmax函數(shù),所以損失函數(shù)則使用了分類交叉熵函數(shù)(categoricalcross_entropy)。圖3-9優(yōu)化器和損失函數(shù)代碼設計好卷積神經(jīng)網(wǎng)絡各個層和keras框架后就開始訓練模型了,依據(jù)訓練樣本的模型輸出和樣本實際值進行模型訓練后,設置了精度閾值為0.98,,當訓練的精度大于設置的精度閾值時就會停止實驗,防止模型出現(xiàn)過擬合現(xiàn)象,導致準確度下降且浪費時間的情況。經(jīng)過多次的嘗試,選擇了每輪訓練的樣本數(shù)(batch_size)為64,迭代次數(shù)為296。表3-5卷積神經(jīng)網(wǎng)絡模型訓練batch_size3264128256Epoch8888TrainEpoch371894TestEpoch371894迭代的次數(shù)2961447232訓練完成時間75.94s63.03s67.24s57.99sTrainaccuracy0.843750.854260.500.5975Testaccuracy0.937500.953120.523440.65234圖3-10Batch_size為32、64、128、256的訓練結果圖3-11modelaccuracy折線圖 如圖3-10所示,顯而易見的看出在同等的訓練條件的情況下,batch_size大小為64的準確率比較高,而整個訓練過程也對于其他的比較平滑。圖中batch_size為128和256的折線也可以看出在迭代次數(shù)50左右時出現(xiàn)向上波動的趨勢,如果繼續(xù)迭代下去,其準確率還會有所增長,這樣完成的模型也是比較好的,但是對比其他batch_size來說,它需要耗費更多時間來訓練才能提高準確率,所以這也是不選擇128和256大小的原因,所以最終選擇batch_size大小為64的測試模型,其訓練準確率大致為0.95。 通過折線圖可以看出每條折線都有毛躁尖刺,不夠平滑,這可能是出現(xiàn)的過擬合現(xiàn)象,發(fā)生過擬合的主要原因大致有三種:數(shù)據(jù)有噪聲,其中要發(fā)生在對數(shù)據(jù)預處理開始,我們可以通過預處理對數(shù)據(jù)進行降噪,從而減少數(shù)據(jù)噪聲,但本次實驗開始就對數(shù)據(jù)進行裁剪灰度化處理,也達到降噪作用,數(shù)據(jù)集處理合理。訓練測試數(shù)據(jù)不足,解決方法很簡單,就是繼續(xù)添加大量數(shù)據(jù)再進行模型訓練,這也是本實驗主要原因,數(shù)據(jù)準備得不充足。訓練模型過度導致模型非常復雜,可以通過調整參數(shù)或是減少卷積層數(shù)來解決出現(xiàn)得這個問題。 雖然模型大致時訓練出來了,但是還是有些不足,需要提高的地方,訓練集數(shù)據(jù)的不足,卷積神經(jīng)網(wǎng)絡結構參數(shù)仍可以調整或是增加更多層次,硬件性能原因,模型訓練學習時間短暫等等。3.3.4模型測試 運用訓練完成后所生成的模型文件train-mode對導入圖片進行人臉識別并得出對應的人名。在此過程中會使用rectangle函數(shù)對導入圖像進行檢測,并在圖像臉部生成一個框框,再使用putText函數(shù)將獲取的人名打印再框邊上,這便查看預測結果,其部分代碼如下圖:圖3-12人臉識別結果處理部分代碼 運行后生成圖片result.jpg,可在當前文件下進行查看,可直觀查看結果的預測,如下圖3-12所示:圖3-13生成預測圖片result.jpg 為測試模型是否會出現(xiàn)錯誤,所以對整組圖片進行循環(huán)測試,分別進行了循環(huán)十次、五十次和一百次的測試,結果得出下表:表3-6模型識別循環(huán)次數(shù)/次1050100正確識別圖/張104795錯誤識別圖/張035圖3-14循環(huán)十次生成圖片情況圖3-15其中識別出現(xiàn)錯誤情況由各種情況可以得出訓練出的模型對人臉識別還是較為準確的,雖然出現(xiàn)極少數(shù)出錯的情況,大致可以忽略不記,其主要原因可能是單方面數(shù)據(jù)集較少的原因,因為每個人所做的預處理只有對人臉裁剪并灰度化導致數(shù)據(jù)集不足,其實可以在預處理數(shù)據(jù)后對圖片進行旋轉、平移、對稱處理等操作來對數(shù)據(jù)集的擴充,從而解決數(shù)據(jù)集不足的情況,這樣訓練出的模型也可以進一步完善,但對應整體準確率測試情況下來看,預測結果也是良好的。系統(tǒng)分析4.1系統(tǒng)需求分析4.1.1系統(tǒng)可行性分析 (1)經(jīng)濟可行性:本人臉識別簽到系統(tǒng)是我的畢業(yè)設計項目,且整個項目都是在本人筆記本電腦上通過開發(fā)工具和網(wǎng)上查找資料后所開發(fā)制作的,成本上基本為零。 (2)技術可行性分析:系統(tǒng)所使用的技術和框架都是現(xiàn)階段社會比較流行的,比如python語言、卷積神經(jīng)網(wǎng)絡、TensorFlow框架等。4.1.2可行性分析結論 人臉識別簽到系統(tǒng)的設計與開發(fā)是為了提高企業(yè)或是組織簽到的效率,它為了減少人力物力,并且能夠準確的識別簽到人員,大大方便了人們日常生活的簽到流程。從經(jīng)濟上,系統(tǒng)開發(fā)成本幾乎為零,在技術上來看,所使用的技術都是現(xiàn)階段比較流行的技術框架。所以根據(jù)上訴分析,本人臉識別簽到系統(tǒng)開發(fā)條件滿足,實施方案可行。4.2系統(tǒng)總體分析 在本次實驗研究人臉識別簽到系統(tǒng)中,從實踐生活學習的實際角度出發(fā),設計主要涵蓋以下功能模塊:錄入學生信息模塊、簽到主界面模塊、出勤信息模塊。如下圖4-1所示:圖4-1系統(tǒng)設計分析4.2.1錄入學生信息模塊 在錄入學生模塊實現(xiàn)中,我將完成以下功能,錄入學生的基本信息,并打開攝像頭拍下多張學生的正面照作為訓練的數(shù)據(jù),最后在這個模塊中可以直接進行模型的訓練,將圖像數(shù)據(jù)加入卷積神經(jīng)網(wǎng)絡中進行訓練,得出一個全新的模型,用于簽到主界面的模塊中。圖4-2錄入學生信息模塊 錄入學生信息:學號、姓名、專業(yè)、班級和正面照,學號姓名專業(yè)班級會直接錄入數(shù)據(jù)庫中,而照片將加入訓練模型作為新的數(shù)據(jù)集。 訓練模型:在已經(jīng)設計好的卷積神經(jīng)網(wǎng)絡中,將所以錄入的學生照片進行訓練,得出可行的訓練出對應人臉識別的模型,作用于后面的簽到主界面模塊中。4.2.2簽到主界面模塊 作為本系統(tǒng)最主要的模塊,我們將會在這個界面模塊中進行學生的人臉識別,在這個界面將會打開攝像頭對人臉進行一一識別,界面會將學生臉部框起來,在框框的上方會顯示學生名字,成功后會在界面下方顯示學生簽到成功并顯示學生信息,在這個界面也可以查詢到缺勤學生信息的名單,這就是簽到主界面模塊的所做到的功能。圖4-3簽到主頁面模塊識別學生信息簽到:通過所以學生照片信息訓練出的模型進行對學生人臉的識別,從而達到人臉識別簽到。 缺勤學生信息名單:這個部分將打開出勤信息模塊,查看缺勤學生的信息。4.2.3出勤信息模塊 這個出勤信息模塊是較為簡單的模塊,在簽到主界面模塊中進行學生人臉識別后,后臺將會和數(shù)據(jù)庫信息進行對比,得出缺勤學生信息的名單,從而生成這個出勤信息模塊中的出勤信息。圖4-4出勤信息模塊出勤信息表:顯示缺勤的學生信息,可以方便使用者們進行學生管理。4.3數(shù)據(jù)庫設計 本次實驗所使用到的數(shù)據(jù)庫是在PyCharm內下載的插件DBNavigator,可以在PyCharm中FileSettingsPlugins,搜索DBNavigator,進行install即可下載安裝,然后在導航欄中點擊DBNavigatorSettingsConnection添加SQL數(shù)據(jù)庫就能進入數(shù)據(jù)庫的使用操作界面。 本次所需要添加的數(shù)據(jù)庫信息如下表:表4-1數(shù)據(jù)庫表列名中文名數(shù)據(jù)類型長度備注user_id學號Int20user_name姓名Char20user_sp專業(yè)Char20user_class班級Int20state編號Char10圖4-5數(shù)據(jù)庫ER圖4.4系統(tǒng)設計總流程圖4-6系統(tǒng)設計總流程結構圖人臉識別簽到系統(tǒng)的設計與實現(xiàn)5.1界面UI設計 我們可以在PyQt5中通過代碼來編寫UI界面,也可以在QtDesigner中來對UI界面的設計,它的特點是實現(xiàn)了視覺和邏輯的分離,不用通過代碼來進行設計,而是用拖拽控件的方式來進行對UI界面的設計,能夠隨時查看控件效果可謂十分的方便,所以本次實驗的UI界面都是通過QtDesigner進行設計實現(xiàn)[15]。圖5-1QtDesigner工作臺 如圖5-1QtDesigner工作臺所示,我們可以通過拖動左邊工具欄中的控件進行對系統(tǒng)UI界面的設計。由于QtDesigner生成的是.ui文件,我們可以通過pyuic5工具進行轉換成為.py文件,從而加以使用。5.1.1主界面設計 在主界面中需要有一個標題“人臉識別簽到系統(tǒng)”來標明系統(tǒng)名稱,一旁還需要四個按鈕來進行頁面的跳轉或是打開新頁面,這四個按鈕分別是開始簽到、注冊、缺勤名單、幫助按鈕。在QtDesigner中則需要找到四個PushButton用來分別作為上訴四個按鈕,然后再用Frame來分別作為標題窗口和提示窗口,從而得到基本的主界面,如圖5-2所示:圖5-2主界面窗口設計5.1.2錄入信息界面設計 在錄入信息界面中,我們需要一個開啟攝像頭的主畫面進行對人臉照片的獲取,注冊則需要輸入到學生的學號和姓名,為了方便查看訓練的進度,可以設計一個實時進度條來得到訓練的程度,而這個界面的按鈕則有新建、拍照、注冊、模型訓練按鈕。本界面和主界面所用到的控件大致相同,需要增加的是輸入學生姓名和學號的輸入框LineEdit和進度條的ProgressBar控件,得到如圖5-3的錄入信息界面:圖5-3錄入信息界面窗口設計5.1.3識別人臉簽到界面設計 本界面和主界面的設計大致相同,就是把標題的部分變成錄入界面中的開啟攝像頭的實時獲取人臉信息的攝像流框,從而通過這個界面進行對特定人臉的識別,識別人臉界面如圖5-4所示:圖5-4識別人臉簽到界面窗口設計5.1.4出勤記錄信息界面設計出勤記錄信息界面就是個簽到表,在這個界面可以顯示缺勤成員的名單,顯示各個成員的狀態(tài),所以整個界面大致有學生學號姓名狀態(tài)作為信息內容,在QtDesigner中則用到TableWidget控件進行添加信息,整體設計如圖5-5所示:圖5-5出勤記錄信息界面設計5.2系統(tǒng)運行使用流程首先運行控制項目組所有文件的主Python文件main.py,就可以開啟人臉識別簽到系統(tǒng)。圖5-6主文件main.py部分代碼運行main.py后進入系統(tǒng)的主要界面,由于主界面、簽到界面等界面窗口的顯示是通過不斷進行頁面刷新才能顯示在出來,所有需要通過Time函數(shù)來進行循環(huán)刷新,即圖5-7中的代碼:圖5-7部分定義函數(shù)代碼主界面窗口:圖5-8系統(tǒng)主界面窗口點擊注冊按鈕即可進入注冊界面,在這個界面中我們可以對學生信息進行輸入保存到數(shù)據(jù)庫中,我們也可以直接點擊模型訓練按鈕進行訓練模型,訓練完成后可以點擊開始按鈕進行簽到測試。圖5-9注冊和訓練模型界面窗口 通過點擊缺勤名單按鈕即可對簽到或是缺勤學生信息進行查詢,也可以在簽到表界面窗口進行重置信息,從而進行下一次簽到。圖5-10簽到表界面窗口 主界面的幫助按鈕則是提示系統(tǒng)使用方法,方便其他人使用。圖5-11幫助界面窗口 簽到界面進行簽到測試,在主頁面點擊開始進行簽到:圖5-12簽到界面實時視頻結果由于簽到地點光線過暗,鏡頭識別靈敏度不高,在幾次閃爍后才顯示簽到成功,但也能識別出鏡頭內的人并顯示出姓名,表明實驗測試成功,不過還有些有待提高的地方,之后總結中會有說明。5.3系統(tǒng)識別測試 進入系統(tǒng)主界面后點擊開始進行人臉識別簽到,系統(tǒng)通過圖5-13進行識別對比數(shù)據(jù)庫姓名進行簽到是否成功,當在較暗地方、臉上有其他東西時和遮擋部分臉的情況下測試系統(tǒng)識別是否成功。圖5-13部分代碼 正常簽到情況所得到效果如下圖:圖5-14正常簽到 當如果在較暗的環(huán)境下或是背光情況下則會出現(xiàn)簽到失敗的結果,因為識別不出是誰的臉所對應的名字,臉部框上的名字會一直變化,不能識別出所對應臉部,如下圖所示:圖5-15較暗情況下簽到結果如果是當臉部有其他東西比如眼鏡或是雜物類物品的情況下,依舊臉部框上的名字會一直發(fā)生變化而顯示識別失敗,因為在錄入數(shù)據(jù)圖片時,臉上并沒有對應的物品而進行了模型訓練后,當實行開始簽到時臉部又出現(xiàn)其他物品時,則會影響到識別的準確率,雖然有的時候會識別簽到成功,但都是個別情況下,所以在簽到時,臉部盡量與錄入時照片保持一致,從而達到效果。圖5-16臉部有遮擋物時簽到結果同理可得當遮擋住部分臉時也會是顯示簽到失敗,所以對以上情況進行總結可得,簽到時盡量在較亮的地方進行簽到,簽到時不能夠擋住部分臉,而且同時想一下錄入信息時是否帶眼鏡,從而避免簽到失敗的情況出現(xiàn)??偨Y6.1工作總結 本次實驗開始的念頭是處于好奇,因為在一次小學期實驗做過貓狗識別,想到這是不同的物種,識別訓練起來會比較簡單,如果換做是不同的人呢?它是更難還是更簡單呢?所有就想到了人臉識別,再想到平時都會常見的二維碼簽到方式,就有了本次實驗的想法人臉識別簽到系統(tǒng)。 在實驗開始的時候也查閱了大量有關的機器視覺技術資料,了解認識到這種技術已經(jīng)慢慢深入到人們的社會生活中來,在醫(yī)療、安全和通信等領域都是隨處可見的,運用的又是自己所學的知識Python語言和TensorFlow框架等,這些都是現(xiàn)階段人工智能常用的技術,所以本次基于TensorFlow所實現(xiàn)的人臉識別簽到系統(tǒng)實驗對于自己來說是十分有意義的。 本次實驗的主要工作內容: 收集有關的卷積神經(jīng)網(wǎng)絡資料,讓自身對其有更深的認識,只有更好了解所用的工具才能更好的完成實驗。 在搭建實驗所需的卷積神經(jīng)網(wǎng)絡前,預先使用OpenCV視覺處理庫收集本次實驗要用到的照片數(shù)據(jù)集,再加以進行預處理轉化截取人臉五官的灰度圖。有了數(shù)據(jù)集后就開始搭建網(wǎng)絡,本次實驗的卷積神經(jīng)網(wǎng)絡結構為四層卷積層,三層最大池化層,兩層全連接層,其中第一層卷積層的塊大小為1*1,其目的是為了增加輸入的非線性表示,加深網(wǎng)絡和提升模型表達能力,最后在每一層都使用了隨機失效Dropout預防過擬合的出現(xiàn)。 本次實驗所有界面窗口UI都是使用QtDesigner工具進行設計,雖然十分簡潔普通,但是對于本次實驗來說就已經(jīng)足夠。最后用PyCharm內插件DBNavigator設置了一個簡潔的SQL數(shù)據(jù)庫進行添加重要信息。 將上訴的模型、頁面窗口和數(shù)據(jù)庫等添加在一起就實現(xiàn)了本次實驗所說的人臉識別簽到系統(tǒng),我們可以通過運行代碼打開系統(tǒng)窗口進行信息錄入、人臉識別簽到和顯示出勤信息等實用功能。 綜上所述,運用了TensorFlow框架所實現(xiàn)的人臉識別系統(tǒng)還是能夠識別出特定的人臉,還是有一定實用性的。6.2展望與不足 通過本次實驗不僅滿足了自己的好奇心,更是開闊了自己的視野,也對卷積神經(jīng)網(wǎng)絡在圖像分類上有進一步的了解,由于本人時間和知識水平的有限,本次實驗的系統(tǒng)還有一定的不足,具體有以下幾點: 因為電腦硬件原因,導致訓練模型時會出現(xiàn)出錯死機等現(xiàn)象,進而適當調整了數(shù)據(jù),對模型的準確度有著一定影響。 實驗中只使用了卷積神經(jīng)網(wǎng)絡訓練數(shù)據(jù)集特征,然而可以使用一些分類算法來進行特征提取,以此來提高模型的準確率。 界面較為普通,由于整個實驗重心都放在了模型訓練上,對于系統(tǒng)設計卻過于潦草,這是整個實驗最大的不足之處。參考文獻許志杰王晶劉穎范九倫計算機視覺核心技術現(xiàn)狀與展望[J]西安郵電學院學報2012,(06):7-14常愛玲基于卷積神經(jīng)網(wǎng)絡和PCA降維的圖像檢索方法研究[C]中國優(yōu)秀碩士學位論文全文數(shù)據(jù)庫2018-01楊榮臻基于Opencv的圖像輪廓提取的實現(xiàn)[C]四川大學錦江學院2018-8毛健趙紅東姚婧婧人工神經(jīng)網(wǎng)絡的發(fā)展及應用[J]電子設計工程2011(24):68-71周志華機器學習[M]清華大學出版社2016-01侯小培、高迎卷積神經(jīng)網(wǎng)絡CNN算法在文本分類上的應用研究[C]科技與創(chuàng)新2019曾維亮、林志賢、陳永灑基于卷積神經(jīng)網(wǎng)絡的智能冰箱果蔬圖像識別的研究[C]微型機與應用2017焦會英基于機器學習算法的視頻人數(shù)統(tǒng)計方法研究[C]中國優(yōu)秀碩士學位論文全文數(shù)據(jù)庫2018-01HackerVirus卷積神經(jīng)網(wǎng)絡中卷積層和池化層[Z]/Leo_wl/p/962982.html2018-09[10]周月鵬盧喜利基于組合激活函數(shù)的CNN應用研究[J]韶關學院學報2019,40(12):24-30[11]姜新猛基于TensorFlow的卷積神經(jīng)網(wǎng)絡的應用研究[D]華中師范博碩論文2017-5[12]唐鑒人臉識別中的圖像質量評價方法研究[C]中國優(yōu)秀碩士學位論文全文數(shù)據(jù)庫2011-06[13]ChristianSzegedy,WeiLiu,YangqingJia,PierreSermanet,ScottReed,DragomirAnguelov,DumitruErhan,VincentVanhoucke,AndrewRabinovich.Goingdeeperwithconvolutions[C]7-12June2015[14]錦小年詳解優(yōu)化器的選擇[Z]/jinxiaonian11/article/details/83141916?locationNum=3&fps=12018-10[15]薛定諤的貓QtDesigner介紹與入門[Z]/p/5b063c5745d02018-06致謝轉眼間大學四年就將要匆匆過去了,如今又是一年畢業(yè)季,當畢業(yè)論文完成的那一刻,也就意味著大學生活畫上了一個句號。回望大學四年的生活,喜怒哀樂皆有,為了解學習到新的學識而開心過,為自己不爭氣碌碌無為而憤怒過,為沒考的好成績而悲傷過等等大學里發(fā)生的事情,也算得上是一段精彩的人生吧。首先感謝的是大學期間的同學朋友,我本來算得上是個內向的人,不愿意與人交流都只是在自己默默的學習,但是正是這些同學朋友,讓我明白了一個人是走不遠的,只有互相幫助,相互解答才能學到更多的東西,最終我也慢慢的走了出來,變得開朗起來了。也感謝舍友寬容接受我的小毛病,并不厭其煩的帶我融入各個集體當中,帶著我領略不一樣的景點,學到不一樣的東西,十分的感謝大學期間的舍友、同學朋友們。其次要感謝的是我的家人,他們盡量給我最好的資源,最好的環(huán)境,一直默默的支持我,不管何時何地都與我站在一起,也正是因為他們我慢慢學會獨立,這是我第一次遠離家鄉(xiāng)來到陌生的地方學習,從一開始的慌張害怕,想到遠處的家人,我就覺得自身充滿能夠戰(zhàn)勝一切的力量,我相信我可以的,最終也沒讓家人失望過。最后重點要感謝的是我的老師們,在上大學前,我?guī)缀跏莻€電腦小白,都是憑借著興趣愛好才選了計算機專業(yè)的,所有看著其他有一定基礎的同學還有些羨慕,對自己能力也產(chǎn)生迷茫和不知所措,就在這時正好有老師們的孜孜不倦的教導,才讓我有勇氣一步一個腳印慢慢的走出來,隨著老師們一次一次的解答,自己一次一次的恍然大悟,才讓我看到學到更多有趣的知識。本次實驗也正是機器學習課程興趣所致產(chǎn)生的好奇,才有的實驗研究,在整個實驗中也滿足了自己的好奇心。在畢業(yè)設計流程一直下來,多虧在指導老師指導,讓我知道怎么撰寫開題報告等論文所需的前期工作,在完成前期工作后還耐心給我指出提綱論文大致編寫方向,讓我在寫論文時不會感到迷茫,雖然您由于個人原因離校,換了指導老師,但每個老師都是十分的負責任,監(jiān)督提示著我按時完成更改論文,才能順利實現(xiàn)畢業(yè)設計。論文的完結也就意味著大學生活告一段落了,這也算是對整個大學生活的總結,總結所學的知識并展示給大家看,雖然仍有不足之處,人生還長,我也會慢慢補足,活到老學到老。最后的最后,感恩相遇。

HYPERLINK如何選擇組裝電腦配件

如何選擇組裝的電腦配件.

第一,選擇好CPU平臺,就是INTER還是AMD,看你是要配什么樣的電腦,高端還是低端的,兩個平臺都高低的產(chǎn)品。第二,選擇主板了,主板的品牌比較多,質量,價格也不一,當你第一步卻定了,那么主板也就相應的卻定下來了,以INTER為例,只可以選擇775接口的主板(早期有478接口的,不推薦),主板的選擇主要有兩種,一是集成顯卡,二是不集成顯卡。集成顯卡的話,就可以省下顯卡的錢,但是對游戲玩家不推薦。那么當然是選擇不集成顯卡的主板了,而且最好選擇一線品牌,如華碩,技嘉等。主板里,還有個蕊片組的選擇。關于蕊片組,各個品牌的主板命名有些不一樣,主流是INTER965,945,915,VIA的KT890,還有NFORCE4,NFORCE5。等。比較難說清楚。最好是選擇INTER的蕊片組,雖然價格會稍高一些。推薦945,技術比較成熟。第三,顯卡的選擇。顯卡主要還是有兩類品牌,GEFORCE和ATI,兩個品牌有高,中,低的顯卡。顯卡選擇要看你個人喜歡了,預算充足的話,最好是買中,高端的顯卡。

第四,就是內存了,內存關系電腦的穩(wěn)定性。當然是要好一點的。買一線品牌的?,F(xiàn)在配電腦,主流是DDR667,DDR800DDR1333第五,顯示器的選擇,推薦液晶。如何選擇硬件組裝電腦這是一個老生常談的問題了,這也是一個讓高手們顯示自己硬件功底的問題,同時這還是一個讓很多新手為之焦頭爛額的問題。該怎么配?具體配什么?怎樣配才能盡量減小瓶頸?本文就將從內到外,從理論到實踐,為朋友們抽絲剝繭一一道來。

一、CPU

作為一臺電腦最關鍵的組成部分,CPU確實起著舉足輕重的作用,但體現(xiàn)一臺電腦的綜合速度,并不是僅僅依靠CPU的,常??吹胶芏嘈率謧冊谂潆娔X的時候,把CPU選的很好,但其他的東西諸如內存、主板、硬盤等都選的不太理想,好像這臺電腦速度的快慢就體現(xiàn)在CPU速度的快慢上似的。甚至很多著名的品牌機廠商,都推出過類似“P4+256M內存”的這種跛腳配置。其實對于一般的家用電腦而言,一個真正會配的高手,是不會把大量的錢花在CPU上的。家用電腦,畢竟不是做密集型科學計算用的,它講求的是多種媒體的配合工作,講求的是能一邊下載文件、一邊上網(wǎng)瀏覽網(wǎng)頁、一邊聽音樂、一邊還能打開其他的程序,在這種情況下,提升內存的容量比提升CPU的主頻對速度的影響要明顯的多?,F(xiàn)今的中國家庭用戶,很多家長對于電腦一竅不通,他們只聽說“奔四”代表著速度快,并不知道整機速度的快慢除了CPU以外,還有很多其他的因素影響著它。但在買電腦的時候,最后做決定并掏錢的人,往往都是這些啥都不懂的家長們,于是就出現(xiàn)了上面的一幕:品牌機廠商為了能有更好的銷路、兼容機裝機店的銷售人員為了能拿到更多的獎金,開始違背良心來配置出這種高主頻處理器、低容量內存的跛腳電腦。說嚴重點,這是屬于對消費者的不負責任,是一種商業(yè)欺詐行為!同樣5000元的配置,高手配出來的賽揚,比新手配出來的P4還要快很多,曾經(jīng)有一家全球著名的硬件網(wǎng)站在2003年的時候刊登過一篇關于配置家用電腦時各硬件占用總預算百分比的文章,文中很明確的提到了CPU的價錢最好不要超過總預算的10%-15%,我們雖然不能說他肯定完全正確,但至少人家是通過很多調查后得出的結論,有借鑒的理由。反觀現(xiàn)在的很多所謂的“低價奔四電腦”、“3999元買P4品牌機”之類的廣告,我想說的就是:你花了3999元,只買了一塊P4的處理器,其他的什么都沒有了!

二、內存

對于配置一臺電腦來說,內存是重頭戲,容量、速度、類型等等每一項指標都對最終的整機綜合速度起著至關重要的影響,尤其是內存的帶寬和容量。對于內存帶寬而言,很多人都認為400MHz、533MHz前端總線的賽揚四或P4,配單通道的DDR內存就足夠了,雙通道DDR內存是配合800MHz以上前端總線的P4處理器用的,其實這樣就大錯特錯了,哪怕是最老的賽揚四,都需要雙通道的DDR內存才能達到它的帶寬!也就是說,你如果選擇賽揚四1.8G,必須配合865以上的主板和至少雙通道DDR200的內存,才能滿足它的帶寬要求!稍微計算一下就可以得知:賽揚四1.8G的前端總線是400MHz,它的內存帶寬理論值是400MHz×64bit÷8=3.2G/s,但當它裝在845系列的主板上時,由于845主板的限制,即使你插上能符合它帶寬要求的DDR400內存,也只能運行在DDR266上,這時的內存所能提供的帶寬是266MHz×64bit÷8=2.1G/s,比3.2G/s要小很多,即使你通過BIOS里的內存調節(jié)選項往上調節(jié)一檔(也只能調節(jié)一檔而已),讓內存運行在DDR333下,所能提供的帶寬也僅僅是333MHz×64bit÷8=2.66G/s,離3.2G/s還是有一定的距離,而內存帶寬的降低,能非常明顯的降低整機的綜合速度,運行任何程序都能明顯的感覺出來!所以如果想滿足賽揚1.8G處理器的內存帶寬要求,你必須要為它配置865以上的主板和雙通道的內存才行!P4亦是如此。很多人也許會問:那845系列的主板是配什么處理器的呢?我想回答你的就是:845系列的主板是屬于“不能用”的主板,因為處理器永遠比主板發(fā)展的快,當初Intel造出845系列的芯片組是為了能給當時的賽揚和P4提供一個過渡的平臺,不至于讓它們成為“沒有主板配合”的處理器而已,也是為了能在低端市場分一杯羹,而現(xiàn)今865甚至9xx系列的主板橫行的時候,845系列的主板確實是屬于“不能用”的主板了,滿足不了任何一款處理器的內存帶寬,造成性能上的嚴重低下,試問這種主板你會選擇么?即使配臺2000多元的超低價電腦,也不要去選擇845系列的主板,至少需要865以上的和雙通道內存才行,因為內存帶寬是一個非常影響系統(tǒng)性能的參數(shù),倘若一味的為了省錢而配置845系列的主板,那就得不償失了。

內存的容量方面,應每個人對電腦的使用方向不同,容量的要求也是不同的,現(xiàn)在配置的家用電腦,筆者建議:如果不打游戲,或者是打打掃雷、紙牌之類的游戲,平時注重于上網(wǎng)瀏覽或者是聊天、看電影之類的應用的話,內存容量不應該低于1G;如果是偶爾打打單機游戲或者是網(wǎng)絡游戲,內存容量應該選擇在2G左右,如果是經(jīng)常打大型的游戲或是進行HDTV視頻編輯等應用,那么4G的內存是必不可少的。

三、主板

一臺電腦的穩(wěn)定性和兼容性,一大部分是看主板的,一款優(yōu)秀的主板不僅需要擁有上等的用料和優(yōu)良的做工,還需要擁有合理的走線設計,那些沒有技術實力的三、四線主板廠家生產(chǎn)的主板,多數(shù)是采用公版走線,而且用料非常差,穩(wěn)定性不堪一擊,這種類型的主板,筆者建議寧愿不買電腦也不要配這種主板,否則以后將會是個淘氣的祖宗。對于家庭用戶,主板方面一定不能省錢,預算夠的話最好能買個一線的主板品牌,如果預算實在不足,二線的主板是底線了,不要再往下選擇了,畢竟家用電腦是用來使用的,不是用來整天維修的。再談到主板的用料,筆者常常看到很多新手在配置主板的時候,貌似老鳥似的說某某品牌的主板好,某某品牌的不好,試問你知道它好在哪里么?不好在哪里么?這個就要看主板的用料了,雖然用料好的主板并不能代表一定是高檔主板,但最少能代表它的電氣性能出色。舉一個很簡單的例子吧:有A、B兩款主板,A主板的處理器供電濾波電容采用的是日系電容,B主板的處理器供電濾波電容采用的是臺系電容,那么基本上可以肯定的是:如果在電源輸出電壓的波動范圍比較大的情況下,A主板就比較能耐得住,而B主板就很容易產(chǎn)生電容鼓包、漏夜等情況。不要小看這小小的電容,筆者從一個開維修店的朋友那里得知,來維修主板的人,有80%的都是這幾個小電容損壞,究其原因,就是電源選擇的不好,導致了輸出電壓的不穩(wěn)定,久而久之最終導致這幾個小電容爆漿,并且詳細敘述了主板的品牌:“一線廠家的×碩牌主板就很少出現(xiàn)這種情況,但同樣為一線廠家的×星牌主板,經(jīng)常遇到!原因就是前者的大部分主板使用的是日系電容,而后者的大部分主板為了省錢,選用的是臺系電容!”廠家的廣告不能信,宣傳也不能信,看到一個產(chǎn)品的廣告之后,你所能相信的唯一一點就是:地球上有這么個產(chǎn)品的存在!然后其他的就統(tǒng)統(tǒng)都不能信了!網(wǎng)上有好多所謂的“評測”文章,都是槍手寫的,基本上沒有任何參考余地,只能作為一篇小說來讀,一款主板的真正性能,只有你自己使用了之后才能知道。廠家為了銷量、商家為了利潤,他們能把最最垃圾的主板宣傳為最頂級的產(chǎn)品,筆者曾經(jīng)就看到過一款四線品牌的主板廠商,在對其主流主板的廣告上說“最優(yōu)秀的設計、最精湛的工藝、最穩(wěn)定的性能”……結果一看報價:550元/塊……其他的話我也不想多說了,只想問問這家廠商:你這么垃圾的主板都用了三個“最”字,那么華碩的同芯片組主板,售價是你三倍的,應該用什么詞語來描述了??中國有一句古話:一分錢一分貨,說的非常正確!不要認為價格高的主板就是暴利產(chǎn)品,從市場經(jīng)濟學上說,暴利產(chǎn)品是不會被市場所接受的,之所以他能存活到今天,而且售價依然是這么高,肯定有他的理由,他在做工用料方面肯定比其他品牌的要好很多,成本高所以售價高,在此,筆者奉勸大家一句:買主板千萬不要憑僥幸心理,認為自己能花很少的錢買到很好的東西,只有錯買的沒有錯賣的,商家永遠都比你精明!主板上面還是老老實實的多花點錢來買個一線產(chǎn)品吧,否則以后有你吃苦的時候!

四、硬盤

現(xiàn)在的電腦,硬盤的速度當之無愧的成為了“第一大瓶頸”,無論你是再高的高手,配電腦的時候也無法消除這個瓶頸的存在,我們只有盡量的減小…再減小……。對于家用電腦的硬盤來說,容量和速度是兩個非常重要的參數(shù),容量上而言,筆者建議:如果你的電腦只是上網(wǎng)瀏覽瀏覽、偶爾打打小游戲的,那么160G的硬盤是個不錯的選擇;如果你常常下載軟件或電影,那么250G的硬盤是個不錯的選擇,如果你是個下載狂人,那么400G的硬盤比較適合你;如果你有DV或者是經(jīng)常編輯大型的視頻文件,那么400G×2比較適合你,如果你是個玩HDTV的人,那么恭喜你,400G×4也許你都不夠用。對于硬盤容量上的選擇,你不能考慮現(xiàn)在是否夠用,你應該考慮未來的1年里是否夠用,大概的公式是:現(xiàn)在需要的容量×3。也就是說,如果你現(xiàn)在感覺80G的硬盤差不多夠用了,那么你就需要買個250G的硬盤。如果你現(xiàn)在感覺120G的硬盤夠用了,那么就去買個400G的硬盤吧。硬盤另外的一個參數(shù)就是速度,受到內部傳輸率等諸多因素的限制,一塊硬盤的實際傳輸速度是不可能達到它的接口速度的,現(xiàn)在的并口硬盤基本上都是ATA133了,串口硬盤也都是150了,但民用級硬盤的實際傳輸速度最快的也還沒突破66M/s,所以跟內存相比,硬盤的速度是電腦中最大的瓶頸,那么怎么來減小這個瓶頸呢?于是人們就發(fā)明了RAID,就是磁盤陣列(當然RAID不是僅僅為了這個而發(fā)明的),用兩塊一模一樣的硬盤來組成RAID0,速度理論上能提高1倍,雖然實際上是不可能達到1倍的,但至少能非常非常明顯的感覺到了硬盤速度的提升,筆者建議:如果你買的主板是帶有RAID功能的,并且你需要保存的數(shù)據(jù)不是很重要的話,那么強烈建議你在預算允許的情況下購買兩塊硬盤來組建RAID0,這將使你能親身體會到飛機與火車的速度差別!但最好是串口的,如果是并口的話,因為并口走的是PCI總線,由于PCI總線上的設備比較多,所以速度不可能達到比較高的地步,但如果是串口的話,那么硬盤的速度提升將更加明顯!

五、顯示器

顯示器方面,筆者想澄清一個觀念:曾經(jīng)聽過非常多的人說液晶顯示器保護眼睛,因為沒有輻射和閃爍……包括很多業(yè)內人士都這么認為的,其實錯了,液晶顯示器比普通的CRT還要傷眼睛!因為傷眼睛不僅僅是輻射和閃爍,還有對比度、亮度等參數(shù),雖然液晶顯示器的輻射和閃爍比CRT要小的多,但它那要命的對比度、那要命的色澤度、還有那大于每平方米300cd的亮度,這些都會對眼睛造成很大的傷害,并且你即使將液晶顯示器的亮度和對比度調節(jié)到最低,也還是非常的刺眼。德國的一家權威機構做過一項調查:液晶顯示器用久了會使人的眼睛感覺到疲倦,甚至頭痛等癥狀,而使用相同時間的CRT顯示器,卻基本沒有這些情況出現(xiàn)?,F(xiàn)在的通過TCO03認證的CRT顯示器,其實外露的輻射已經(jīng)相當小了,基本上對人已經(jīng)沒有多大的傷害了,閃爍感也可以通過調節(jié)刷新率來降低,筆者實在是搞不懂為什么很多人非要去選擇液晶顯示器,還非要說液晶顯示器不傷眼睛??一個最差的17寸液晶顯示器的價格,能買一臺不錯的、通過TCO03標準的19寸CRT了,顯示面積也差不多大,而且CRT又比液晶更保護眼睛,液晶顯示器唯一的一個優(yōu)點就是占用空間小而已,其他的統(tǒng)統(tǒng)是缺點,為什么不選擇CRT呢??說到TCO03標準,現(xiàn)在很多的號稱是通過TCO03認證的顯示器,其實都是貼牌的,都沒有真正的通過,關于怎樣鑒別一臺TCO03的顯示器,網(wǎng)上已經(jīng)有很多文章可以搜索到,筆者在此不想過多敘述,只是提醒大家一點:一臺真正的通過TCO03認證的顯示器,外表的顏色除了白色以外,是不會有其他顏色的了,因為TCO03認證中有重要的一條就是外殼可回收性,而除了白色以外,其他的任何顏色都加了有機染料在里面,是不能作為

溫馨提示

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

評論

0/150

提交評論