人工智能YOLOV2圖像識(shí)別試驗(yàn)報(bào)告材料_第1頁(yè)
人工智能YOLOV2圖像識(shí)別試驗(yàn)報(bào)告材料_第2頁(yè)
人工智能YOLOV2圖像識(shí)別試驗(yàn)報(bào)告材料_第3頁(yè)
人工智能YOLOV2圖像識(shí)別試驗(yàn)報(bào)告材料_第4頁(yè)
人工智能YOLOV2圖像識(shí)別試驗(yàn)報(bào)告材料_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第一章前言部分1.1 課程項(xiàng)目背景與意義1.1.1 課程項(xiàng)目背景視覺(jué)是各個(gè)應(yīng)用領(lǐng)域,如制造業(yè)、檢驗(yàn)、文檔分析、醫(yī)療診斷,和軍事等領(lǐng) 域中各種智能/自主系統(tǒng)中不可分割的一部分。由于它的重要性,一些先進(jìn)國(guó)家, 例如美國(guó)把對(duì)計(jì)算機(jī)視覺(jué)的研究列為對(duì)經(jīng)濟(jì)和科學(xué)有廣泛影響的科學(xué)和工程中 的重大基本問(wèn)題,即所謂的重大挑戰(zhàn)。計(jì)算機(jī)視覺(jué)的挑戰(zhàn)是要為計(jì)算機(jī)和機(jī)器人 開(kāi)發(fā)具有與人類(lèi)水平相當(dāng)?shù)囊曈X(jué)能力。機(jī)器視覺(jué)需要圖象信號(hào),紋理和顏色建模, 幾何處理和推理,以及物體建模。一個(gè)有能力的視覺(jué)系統(tǒng)應(yīng)該把所有這些處理都 緊密地集成在一起。作為一門(mén)學(xué)科,計(jì)算機(jī)視覺(jué)開(kāi)始于60年代初,但在計(jì)算機(jī)視覺(jué)的基本研究中的許多重要進(jìn)展是在

2、80年代取得的。計(jì)算機(jī)視覺(jué)與人類(lèi)視覺(jué) 密切相關(guān),對(duì)人類(lèi)視覺(jué)有一個(gè)正確的認(rèn)識(shí)將對(duì)計(jì)算機(jī)視覺(jué)的研究非常有益。計(jì)算機(jī)視覺(jué)是一門(mén)研究如何使機(jī)器“看”的科學(xué),更進(jìn)一步的說(shuō),就是是指 用攝影機(jī)和電腦代替人眼對(duì)目標(biāo)進(jìn)行識(shí)別、 跟蹤和測(cè)量等機(jī)器視覺(jué),并進(jìn)一步做 圖形處理,使電腦處理成為更適合人眼觀(guān)察或傳送給儀器檢測(cè)的圖像。作為一個(gè)科學(xué)學(xué)科,計(jì)算機(jī)視覺(jué)研究相關(guān)的理論和技術(shù),試圖建立能夠從圖像或者多維數(shù) 據(jù)中獲取信息的人工智能系統(tǒng)。這里所 指的信息指Shannon定義的,可以 用來(lái)幫助做一個(gè)“決定”的信息。因?yàn)楦兄梢钥醋魇菑母泄傩盘?hào)中提 取信息, 所以計(jì)算機(jī)視覺(jué)也可以看作是研究如何使人工系統(tǒng)從圖像或多維數(shù)據(jù)中“

3、感知” 的科學(xué)??茖W(xué)技術(shù)的發(fā)展是推動(dòng)人類(lèi)社會(huì)進(jìn)步的主要原因之一,未來(lái)社會(huì)進(jìn)一步地朝著科技化、信息化、智能化的方向前進(jìn)。在信息大爆炸的今天,充分利用這些信息將有助于社會(huì)的現(xiàn)代化建設(shè),這其中圖像信息是目前人們生活中最常見(jiàn)的信 息。利用這些圖像信息的一種重要方法就是圖像目標(biāo)定位識(shí)別技術(shù)。不管是視頻監(jiān)控領(lǐng)域還是虛擬現(xiàn)實(shí)技術(shù)等都對(duì)圖像的識(shí)別有著極大的需求。一般的圖像目標(biāo)定位識(shí)別系統(tǒng)包括圖像分割、目標(biāo)關(guān)鍵特征提取、目標(biāo)類(lèi)別分類(lèi)三個(gè)步驟。深度學(xué)習(xí)的概念源于人工神經(jīng)網(wǎng)絡(luò)的研究。含多隱層的多層感知器就是一種 深度學(xué)習(xí)結(jié)構(gòu)。深度學(xué)習(xí)通過(guò)組合低層特征形成更加抽象的高層表示屬性類(lèi)別或 特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示

4、。深度學(xué)習(xí)的概念由Hinton等人于2006年提出。基于深度置信網(wǎng)絡(luò)提出非監(jiān)督貪心逐層訓(xùn)練算法,為解決深層結(jié)構(gòu)相關(guān)的優(yōu)化難題帶來(lái)希望,隨后提出多層自動(dòng)編碼器深層結(jié)構(gòu)。 此外Lecun等人提出 的卷積神經(jīng)網(wǎng)絡(luò)是第一個(gè)真正多層結(jié)構(gòu)學(xué)習(xí)算法,它利用空間相對(duì)關(guān)系減少參數(shù) 數(shù)目以提高訓(xùn)練性能。深度學(xué)習(xí)是機(jī)器學(xué)習(xí)中的一個(gè)新的研究領(lǐng)域, 通過(guò)深度學(xué)習(xí)的方法構(gòu)建深度網(wǎng)絡(luò)來(lái)抽取特征是目前目標(biāo)和行為識(shí)別中得到關(guān)注的研究方向,引起更多計(jì)算機(jī)視覺(jué)領(lǐng)域研究者對(duì)深度學(xué)習(xí)進(jìn)行探索和討論,并推動(dòng)了目標(biāo)和行為識(shí)別的研究, 推動(dòng)了深度學(xué)習(xí)及其在目標(biāo)和行為識(shí)別中的新進(jìn)展?;谶@個(gè)發(fā)展趨勢(shì),我們小組選擇了基于回歸方法的深度學(xué)習(xí)目標(biāo)識(shí)

5、別算法 YOLO勺研究。1.1.2 課程項(xiàng)目研究的意義眾所周知,當(dāng)前是信息時(shí)代,信息的獲得、加工、處理以及應(yīng)用都有了飛躍 發(fā)展。人們認(rèn)識(shí)世界的重要知識(shí)來(lái)源就是圖像信息, 在很多場(chǎng)合,圖像所傳送的 信息比其他形式的信息更豐富、真切和具體。人眼與大腦的協(xié)作使得人們可以獲 取、處理以及理解視覺(jué)信息,人類(lèi)利用視覺(jué)感知外界環(huán)境信息的效率很高。事實(shí) 上,據(jù)一些國(guó)外學(xué)者所做的統(tǒng)計(jì),人類(lèi)所獲得外界信息有80流右是來(lái)自眼睛攝取的圖像。由此可見(jiàn),視覺(jué)作為人類(lèi)獲取外界信息的主要載體,計(jì)算機(jī)要實(shí)現(xiàn)智 能化,就必須能夠處理圖像信息。尤其是近年來(lái),以圖形、圖像、視頻等大容量 為特征的圖像數(shù)據(jù)處理廣泛應(yīng)用于醫(yī)學(xué)、交通、工業(yè)

6、自動(dòng)化等領(lǐng)域。深度學(xué)習(xí)是機(jī)器學(xué)習(xí)中一種基于對(duì)數(shù)據(jù)進(jìn)行表征學(xué)習(xí)的方法。觀(guān)測(cè)值(例如一幅圖像)可以使用多種方式來(lái)表示,如每個(gè)像素強(qiáng)度值的向量,或者更抽象地 表示成一系列邊、特定形狀的區(qū)域等。而使用某些特定的表示方法更容易從實(shí)例 中學(xué)習(xí)任務(wù)(例如,人臉識(shí)別或面部表情識(shí)別)。深度學(xué)習(xí)的好處是用非監(jiān)督式 或半監(jiān)督式的特征學(xué)習(xí)和分層特征提取高效算法來(lái)替代手工獲取特征。深度學(xué)習(xí)是機(jī)器學(xué)習(xí)研究中的一個(gè)新的領(lǐng)域, 其動(dòng)機(jī)在于建立、模擬人腦進(jìn)行分析學(xué)習(xí)的 神經(jīng)網(wǎng)絡(luò),它模仿人腦的機(jī)制來(lái)解釋數(shù)據(jù),例如圖像,聲音和文本。目標(biāo)檢測(cè)對(duì)于人來(lái)說(shuō)是再簡(jiǎn)單不過(guò)的任務(wù), 但是對(duì)于計(jì)算機(jī)來(lái)說(shuō),它看到的 是一些值為0255的數(shù)組,因而

7、很難直接得到圖像中有人或者貓這種高層語(yǔ)義概 念,也不清楚目標(biāo)出現(xiàn)在圖像中哪個(gè)區(qū)域。圖像中的目標(biāo)可能出現(xiàn)在任何位置, 目標(biāo)的形態(tài)可能存在各種各樣的變化,圖像的背景千差萬(wàn)別,這些因素導(dǎo)致目標(biāo)檢測(cè)并不是一個(gè)容易解決的任務(wù)。這次課程項(xiàng)目,正是基于視覺(jué)、深度學(xué)習(xí)、目標(biāo)識(shí)別而進(jìn)行的,是一個(gè)熱度 很高的話(huà)題?;谏疃葘W(xué)習(xí)的目標(biāo)識(shí)別研究具有重大的意義, 深度學(xué)習(xí)的目標(biāo)識(shí) 別算法對(duì)于未來(lái)能夠使用目標(biāo)檢測(cè)和圖像識(shí)別的手段運(yùn)用于物聯(lián)網(wǎng)、智能設(shè)備、 生物制藥經(jīng)濟(jì)調(diào)控等多領(lǐng)域有很大的作用。1.2 國(guó)外研究現(xiàn)狀機(jī)器學(xué)習(xí)是一門(mén)專(zhuān)門(mén)研究計(jì)算機(jī)怎樣模擬或?qū)崿F(xiàn)人類(lèi)的學(xué)習(xí)行為,以獲取新的知識(shí)或技能,重新組織已有的知識(shí)結(jié)構(gòu)使之不斷改

8、善自身的性能的學(xué)科。機(jī)器能否像人類(lèi)一樣能具有學(xué)習(xí)能力呢?1959年美國(guó)的塞繆爾(Samuel)設(shè)計(jì)了一個(gè)下棋程序,這個(gè)程序具有學(xué)習(xí)能力,它可以在不斷的對(duì)弈中改善自己的棋藝。4年后,這個(gè)程序戰(zhàn)勝了設(shè)計(jì)者本人。又過(guò)了 3年,這個(gè)程序戰(zhàn)勝了美國(guó)一個(gè)保持 8年之久的常勝不敗的冠軍。這個(gè)程序向人們展示了機(jī)器學(xué)習(xí)的能力,提出了許 多令人深思的社會(huì)問(wèn)題與哲學(xué)問(wèn)題。 深度學(xué)習(xí)最近幾年發(fā)展速度十分快,因此同 時(shí)也推動(dòng)了目標(biāo)識(shí)別技術(shù)的發(fā)展,技術(shù)的革新總是相互影響的。目標(biāo)檢測(cè)是圖像處理和計(jì)算機(jī)視覺(jué)的一個(gè)重要分支, 在理論和實(shí)踐上都有重 大意義。近年來(lái),隨著物聯(lián)網(wǎng)的高速發(fā)展與智能終端的廣泛普及, 目標(biāo)檢測(cè)技術(shù) 成了機(jī)

9、器視覺(jué)領(lǐng)域的研究熱點(diǎn),被國(guó)外學(xué)者廣泛關(guān)注。目標(biāo)檢測(cè)的研究主要包括了基于視頻圖像的目標(biāo)檢測(cè)和基于靜態(tài)圖片的目 標(biāo)檢測(cè)。本文主要討論基于靜態(tài)圖片的目標(biāo)檢測(cè)算法,即在靜態(tài)圖片中檢測(cè)并定位所設(shè)定種類(lèi)的目標(biāo)?;陟o態(tài)圖片的目標(biāo)檢測(cè)的難點(diǎn)主要在于圖片中的目標(biāo)會(huì) 因光照、視角以及目標(biāo)部等變化而產(chǎn)生變化。針對(duì)以上的難點(diǎn),國(guó)外學(xué)者進(jìn)行了很多嘗試。目前提出的方法主要分為基于形狀輪廓的目標(biāo)檢測(cè)算法和基于目標(biāo)特 征的檢測(cè)方法。計(jì)算機(jī)視覺(jué)是指用計(jì)算機(jī)實(shí)現(xiàn)人的視覺(jué)功能, 它的研究目標(biāo)就是使計(jì)算機(jī)具 有用過(guò)一幅或多幅圖像認(rèn)知周?chē)h(huán)境的能力(包括對(duì)客觀(guān)世界三維環(huán)境的感知、 識(shí)別與理解)。運(yùn)動(dòng)目標(biāo)檢測(cè)作為計(jì)算機(jī)視覺(jué)技術(shù)的一個(gè)分

10、支,就是對(duì)視場(chǎng)的運(yùn)動(dòng)目標(biāo),如人或交通工具,進(jìn)行實(shí)時(shí)的觀(guān)測(cè),并將其分類(lèi),然后分析他們的行為。 目前,國(guó)際上許多高校和研究所,如麻省理工學(xué)學(xué)院、牛津大學(xué)等都專(zhuān)門(mén)設(shè)立了 針對(duì)運(yùn)動(dòng)目標(biāo)檢測(cè)的研究組或者研究實(shí)驗(yàn)室。 美英等國(guó)家已經(jīng)研究了大量的相關(guān) 項(xiàng)目。一些著名公司和研究機(jī)構(gòu),如 舊M、Microsoft、麻省理工學(xué)院等近幾年來(lái) 投入了大量的人力物力來(lái)進(jìn)行智能監(jiān)控系統(tǒng)的研究,部分成果已經(jīng)轉(zhuǎn)化為產(chǎn)品投入了市場(chǎng)。目前在國(guó)的研究機(jī)構(gòu)中,中國(guó)科學(xué)院自動(dòng)化研究所下屬的模式識(shí)別國(guó)家重點(diǎn) 實(shí)驗(yàn)室視覺(jué)監(jiān)控研究處于領(lǐng)先地位。他們?cè)诮煌▓?chǎng)景視覺(jué)監(jiān)控、人的運(yùn)動(dòng)視覺(jué)監(jiān) 控和行為模式識(shí)別方面進(jìn)行了深入研究。另外他們也總結(jié)了英國(guó)雷

11、丁大學(xué)VIEWS的車(chē)輛交通監(jiān)控原型系統(tǒng)的研究經(jīng)驗(yàn), 在之前的理論研究的基礎(chǔ)上,自行設(shè)計(jì)并 初步實(shí)現(xiàn)了一個(gè)擁有完全自主知識(shí)產(chǎn)權(quán)的交通監(jiān)控原型系統(tǒng)vstart(Visualsurveillance star)。國(guó)其他高校如交通大學(xué)、航空航天大學(xué)也對(duì)這方面進(jìn)行了 研究。盡管這樣,目前在運(yùn)動(dòng)目標(biāo)檢測(cè)和視覺(jué)監(jiān)控這方面仍然存在著許多不足:目前國(guó)市場(chǎng)上所見(jiàn)到的大部分智能監(jiān)控產(chǎn)品來(lái)源于國(guó)外,性能和可靠性不夠,并且維護(hù)和安裝問(wèn)題需要外方全方位參加,給國(guó)家安全帶來(lái)了巨大的隱患。目標(biāo)之間 互遮擋和人體自遮擋問(wèn)題,尤其是在擁擠狀態(tài)下,多人的檢測(cè)更是難處理。1.3 本論文結(jié)構(gòu)本文是基于回歸方法的深度學(xué)習(xí)目標(biāo)識(shí)別算法 Y

12、OLO勺研究。第一章:前言。主要介紹課程項(xiàng)目背景與意義、國(guó)外研究的現(xiàn)狀,以及本論文的 結(jié)構(gòu)。第二章:使用工具介紹及安裝。包括CentOS系統(tǒng)、OpenCV:具、CUDAF發(fā)環(huán)境、 環(huán)境的搭建。第三章:YOLOJ法簡(jiǎn)介。包括YOLOJ法特點(diǎn)、核心思想和實(shí)現(xiàn)方法、以及 YOLO 的創(chuàng)新。第四章:訓(xùn)練數(shù)據(jù)采集與制作。包括訓(xùn)練數(shù)據(jù)的采集、訓(xùn)練數(shù)據(jù)的制作。第五章:訓(xùn)練配置、訓(xùn)練及測(cè)試訓(xùn)練效果。包括具體的訓(xùn)練配置、訓(xùn)練過(guò)程和測(cè) 試訓(xùn)練效果。第六章:總結(jié)。包含對(duì)本次課程項(xiàng)目實(shí)踐過(guò)程的感想與收獲,以及對(duì)未來(lái)的展望。第二章使用工具介紹及安裝2.1 CentOS 系統(tǒng)CentOS (Community ENTer

13、prise Operating System)是 Linux 發(fā)行版之一, 它是來(lái)自于Red Hat Enterprise Linux依照開(kāi)放源代碼規(guī)定釋出的源代碼所編譯而成。由于出自同樣的源代碼,因此有些要求高度穩(wěn)定性的服務(wù)器以CentOS替代商業(yè)版的Red Hat Enterprise Linux使用。兩者的不同,在于 CentOS并不 包含封閉源代碼軟件。CentOS我們有很多人叫它社區(qū)企業(yè)操作系統(tǒng),不管怎么叫它,它都是linux 的一個(gè)發(fā)行版本。CentOS并不是全新的linux發(fā)行版,在RedHat家族中有企業(yè) 版的產(chǎn)品,它是 Red Hat Enterprise Linux , C

14、entOS是 RHEL勺克隆版本,RHEL 是很多企業(yè)采用的linux發(fā)行版本,需要向RedHat付費(fèi)才可以使用,并能得到 付過(guò)費(fèi)用的服務(wù)和技術(shù)支持和版本升級(jí)。這個(gè)CentOS可以像REHL一樣的構(gòu)筑linux系統(tǒng)環(huán)境,但不需要向 RedHat付任何的費(fèi)用,同樣也得不到任何有償技 術(shù)支持和升級(jí)服務(wù)。CentOS很多特點(diǎn):CentOS就是對(duì)RedHat AS進(jìn)行改進(jìn)后發(fā)布的,各種操 作、使用和RED HA股有區(qū)別;CentOS完全免費(fèi),不存在 RED HAT AS鐳要序 列號(hào)的問(wèn)題;CentOS獨(dú)有的yum命令支持在線(xiàn)升級(jí),可以即時(shí)更新系統(tǒng),不像 RED HATJB樣需要花錢(qián)購(gòu)買(mǎi)支持服務(wù);Cen

15、tOS修正了許多RED HAT AS勺BUG基于開(kāi)源的特性,Linux環(huán)境被很多技術(shù)人員和公司使用。Linux以它的高 效性和靈活性著稱(chēng),Linux模塊化的設(shè)計(jì)結(jié)構(gòu),使得它既能在價(jià)格昂貴的工作站 上運(yùn)行,也能夠在廉價(jià)的PC機(jī)上實(shí)現(xiàn)全部的Unix特性,具有多任務(wù)、多用戶(hù)的 能力。我們這次的課程項(xiàng)目“基于深度學(xué)習(xí)的目標(biāo)識(shí)別研究” 也是在Linux環(huán)境 下完成的,因此本次項(xiàng)目實(shí)現(xiàn)使用的是 CentOS 7.0系統(tǒng)。2.2 OpenCV 工具OpenCV勺全稱(chēng)是:Open Source Computer Vision Library 。 OpenCV!一個(gè) 基于(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),可以運(yùn)

16、行在Linux、Windows和Mac OS操作系統(tǒng)上。它輕量級(jí)而且高效,由一系列C函數(shù)和少量C+類(lèi)構(gòu)成,同時(shí)提 供了 Python、Ruby MATLA繇語(yǔ)言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺(jué)方面 的很多通用算法。OpenCVt力于真實(shí)世界的實(shí)時(shí)應(yīng)用,通過(guò)優(yōu)化的C代碼的編寫(xiě)對(duì)其執(zhí)行速度帶來(lái)了可觀(guān)的提升,并且可以通過(guò)購(gòu)買(mǎi)Intel的IPP高性能多媒體函數(shù)庫(kù)得到 更快的處理速度。OpenCV是一個(gè)用于圖像處理、分析、機(jī)器視覺(jué)方面的開(kāi)源函數(shù)庫(kù)。無(wú)論是 做科學(xué)研究,還是商業(yè)應(yīng)用,OpenCV都是一個(gè)理想的工具庫(kù)。因?yàn)椋瑢?duì)于這兩 者,它完全是免費(fèi)的。該庫(kù)采用C及C+郵言編寫(xiě),該庫(kù)的所有代碼都經(jīng)過(guò)優(yōu)化,

17、 計(jì)算效率很高,因?yàn)?,它更?zhuān)注于設(shè)計(jì)成為一種用于實(shí)時(shí)系統(tǒng)的開(kāi)源庫(kù)。OpenCV采用C語(yǔ)言進(jìn)行優(yōu)化,而且,在多核機(jī)器上面,具運(yùn)行速度會(huì)更快。它的一個(gè)目 標(biāo)是提供友好的機(jī)器視覺(jué)接口函數(shù),從而使得復(fù)雜的機(jī)器視覺(jué)產(chǎn)品可以加速面 世。該庫(kù)包含了橫跨工業(yè)產(chǎn)品檢測(cè)、醫(yī)學(xué)圖像處理、安防、用戶(hù)界面、攝像頭標(biāo) 定、三維成像、機(jī)器視覺(jué)等領(lǐng)域的超過(guò) 500個(gè)接口函數(shù)。同時(shí),由于計(jì)算機(jī)視覺(jué)與機(jī)器學(xué)習(xí)密不可分,該庫(kù)也包含了比較常用的一些機(jī)器學(xué)習(xí)算法。圖像識(shí)別、機(jī)器視覺(jué)在安防領(lǐng)域有所應(yīng)用。并且在航拍圖片、街道圖片中,也要依 賴(lài)于機(jī)器視覺(jué)的攝像頭標(biāo)定、圖像融合等技術(shù)。近年來(lái),在入侵檢測(cè)、特定目標(biāo) 跟蹤、目標(biāo)檢測(cè)、人臉檢測(cè)、人

18、臉識(shí)別、人臉跟蹤等領(lǐng)域,OpenCV的應(yīng)用及其廣泛,而這些,僅僅是其應(yīng)用的冰山一角。一個(gè)典型的計(jì)算機(jī)視覺(jué)算法,應(yīng)該包含以下一些步驟:(1)數(shù)據(jù)獲取(對(duì)OpenC原說(shuō),就是圖片);(2)預(yù)處理;(3)特征提??;(4)特征選擇;(5)分類(lèi)器設(shè)計(jì)與訓(xùn)練;(6)分類(lèi)判別;而OpenCVT具對(duì)這六個(gè)部分,分別提供了 API。2.3 CUDA開(kāi)發(fā)環(huán)境隨著顯卡的發(fā)展,GPU®來(lái)越強(qiáng)大,而且GPM顯示圖像做了優(yōu)化。在計(jì)算 上已經(jīng)超越了通用的CPU如此強(qiáng)大的芯片如果只是作為顯卡就太浪費(fèi)了,因此 NVidia 推出 CUDA!算平臺(tái),CUD/®P Compute Unified Device

19、Architecture , 是NVidia利用GPU¥臺(tái)進(jìn)行通用并行計(jì)算的一種架構(gòu),該架構(gòu)使GPUfg夠解決復(fù)雜的計(jì)算問(wèn)題,它包含了 CUDA旨令集架構(gòu)(ISA)以及GPU?的并行計(jì)算引擎。 開(kāi)發(fā)人員可以利用C語(yǔ)言、OpenCL Fortran、C+等為CUDA構(gòu)編寫(xiě)程序。(1) CUDM系架構(gòu)CUDA體系架構(gòu)由兩部分組成,分別是流處理器陣列(SPA和存儲(chǔ)器系統(tǒng)。流處理陣列(SPA的結(jié)構(gòu)又分為兩層:TPC (線(xiàn)程處理器群)和 SM (流多處 理器)。GPU勺巨大計(jì)算能力來(lái)自于SPA中的大量計(jì)算單元。存儲(chǔ)器系統(tǒng)由幾個(gè)部分組成:存儲(chǔ)器控制器(MMC、固定功能的光柵操作單 元(ROP以及

20、二級(jí)紋理操作。(2) CUD軟行模型將CPU作為主機(jī)(Host),而GPU作為協(xié)處理器(Coprocessor)或者設(shè)備 (Device),從而讓GPU運(yùn)行一些能夠被高度線(xiàn)程化的程序。在這個(gè)模型中,CPlUf GPLB同工作,CPU5責(zé)進(jìn)行邏輯性強(qiáng)的事務(wù)處理和審 行計(jì)算,GPU®專(zhuān)注于執(zhí)行高度線(xiàn)程化的并行處理任務(wù)。一個(gè)完整的CUD雁序是由一系列的設(shè)備端kernel函數(shù)并行步驟和主機(jī)端的用 行處理步驟共同組成的。CUDA執(zhí)行模型如下圖:Grid (網(wǎng)格)運(yùn)行在SPA±Block (線(xiàn)程塊)運(yùn)行在 SM±Thread (線(xiàn)程)運(yùn)行在 SP上。GPUCPUCrid 1(

21、0刈Sr>rMl C。*Bl e-en建0)B18 匕 (0.判BlgK n,11 i 12 UKzfmI2BFock (1, 1)TL”中 晚,由演 ,電-lhiu4觸】1皿HrLtrail 心身露:Kernel不是一個(gè)完整的程序,而只是其中的一個(gè)關(guān)鍵并行計(jì)算步驟。Kernel以一個(gè)網(wǎng)格(Grid)的形式執(zhí)行,每個(gè)網(wǎng)格由若干個(gè)線(xiàn)程塊(block )組成,每一 個(gè)線(xiàn)程塊又由若干個(gè)線(xiàn)程(thread )組成。在CUDA的架構(gòu)下,一個(gè)程序分為兩個(gè)部份:Host端和Device端。Host端 是指在CPU上執(zhí)行的部份,而Device端則是在顯示芯片(GPU上執(zhí)行的部份。 Device端的程序又

22、稱(chēng)為"kernel"。通常Host端程序會(huì)將數(shù)據(jù)準(zhǔn)備好后,復(fù)制 到顯卡的存中,再由顯示芯片執(zhí)行Device端程序,完成后再由Host端程序?qū)?結(jié)果從顯卡的存中取回。由于 CPU存取顯卡存時(shí)只能透過(guò)PCI Express接口, 因此速度較慢,因此不能經(jīng)常進(jìn)行這類(lèi)動(dòng)作,以免降低效率。由于顯示芯片大量并行計(jì)算的特性,它處理一些問(wèn)題的方式和一般CPU是不同的。主要的特點(diǎn)包括:(1)存存取latency (等待時(shí)間)的問(wèn)題:CPU通常使用cache來(lái)減少存取主 存的次數(shù),以避免存latency 影響到執(zhí)行效率。顯示芯片則多半沒(méi)有cache (或 很?。貌⑿谢瘓?zhí)行的方式來(lái)隱藏存

23、的latency (即當(dāng)?shù)谝粋€(gè)thread需 要等待存讀取結(jié)果時(shí),則開(kāi)始執(zhí)行第二個(gè) thread ,依此類(lèi)推)。(2)分支指令的問(wèn)題:CPU通常利用分支預(yù)測(cè)等方式來(lái)減少分支指令造成的流 水線(xiàn)。顯示芯片則多半使用類(lèi)似處理存latency 的方式。不過(guò),通常顯示芯片處理分支的效率會(huì)比較差。因此,最適合利用CUDA處理的問(wèn)題,是可以大量并行化的問(wèn)題,才能有效 隱藏存的latency ,并有效利用顯示芯片上的大量執(zhí)行單元。使用CUDA時(shí),同時(shí)有上千個(gè)thread 在執(zhí)行是很正常的。因此,如果不能大量并行化的問(wèn)題,使 用CUDA就沒(méi)辦法達(dá)到最好的效率了。在這個(gè)過(guò)程中,CPU擔(dān)任的工作為控制GPIB行,調(diào)

24、度分配任務(wù),并能做一些簡(jiǎn)單的計(jì)算,而大量需要并行計(jì)算的工作 都交給 GPU實(shí)現(xiàn)。另外需 要注 意的是,由于CPU存取顯存時(shí)只能 通過(guò) PCI-Express接口,速度較慢,因此不能經(jīng)常進(jìn)行,以免降低效率。通??梢栽?程序開(kāi)始時(shí)將數(shù)據(jù)復(fù)制進(jìn) GPU顯存,然后在GPU進(jìn)行計(jì)算,直到獲得需要的數(shù) 據(jù),冉將其復(fù)制到系統(tǒng)存中。2.4環(huán)境的搭建一、項(xiàng)目源代碼下載與安裝1 .使用git把項(xiàng)目源代碼下載到本地git clone https:github./pjreddie/darknet2 .進(jìn)入項(xiàng)目目錄,編譯cd darknetmake二、項(xiàng)目目錄結(jié)構(gòu)編譯完成后,項(xiàng)目主要文件如下:darknet項(xiàng) 目目錄I

25、cfg配置文件存放目錄Idata數(shù)據(jù)存放目錄I-examplesC語(yǔ)言測(cè)試用例Iincludedarknet頭文件I-pythonPython測(cè)試用例I-scripts訓(xùn)練中用到的輔助腳本I-src項(xiàng)目源代碼I-darknet編譯后產(chǎn)生的darknet可執(zhí)行文件II-config.php模塊配置文件IIcommon.php模塊函數(shù)文件三、測(cè)試對(duì)象識(shí)別1 .下載官方提供的訓(xùn)練好的權(quán)重?cái)?shù)據(jù)wget https:pjreddie./media/files/yolo.weights2 .測(cè)試識(shí)別對(duì)象:在上述命令中,detect表示調(diào)用darknet的對(duì)象識(shí)別功能,cfg/yolo.cfg 是配置文件,

26、包含各層網(wǎng)絡(luò)的參數(shù)、要識(shí)別的物體種類(lèi)數(shù)等,yolo.weights是上一步下載的權(quán)重?cái)?shù)據(jù),data/dog.jpg是要進(jìn)行對(duì)象識(shí)別的照片,照片容如下圖:執(zhí)行命令:layerfilterssizeinputoutput0 cony323x3/1608 x 608 x 注->60S x 608 X 321 nax2x2/2608 x 608 x 32->304 x 304 x 322 conv643i3/l304 x 304 Jt 32* a 304 K 304 x 643 max2 x4conv1263x5conv641x6conv12S3x7 max2 x0canv2563x9co

27、nv1281x10conv2563x11 max2 x21112111223 13231324 2 2 2 2 o 5 5 5 _5 3 1111 xxxx X4 2 2 2 24 4S4BR-6 6 2 6 2 21 1128484836866&262252 5 5 1 112 12 2 x-xxxxx-xxx12conv5123 X3 /138X33 x 256->33X38X 51213c-onv2561 X1 /138K38 X 512->38X38x 25614conv5123 x3 /13aX33 x 256->38X38X 51215conw2561 X

28、1 /138X38 X 512 >38X38X 25616canv5123 x3 /138X39 x 256 >38X38x 51217max2 x2 /238X38 X 512->19X19m 51218canv10243 x3 /119X19 工 512->19X19X102419conv5121 X1 /119X19 X1024-A19K19X 51220c-onv10243 x3 /119XL9 X 512->19X19X1Q2421conv5121 X1 /119X工9 X1024->19X19X 51222conw10243 x3 /119X19

29、 X 512->19X19X102423conv10243工3 /119X19 X1024 >19X19X102424conv10243 x3 /119X19 X1024->19X19K102425routeie26conv641 X1 /136X38 x 512->38K38X 6同27reo rg/236X38 X 64->19X19x 25628route27 2429conv10243 x3 /119X19 ¥1380->19X19X102430canv4251工1 /119X19 X1024 >19X19x 42531 detect

30、ionLoading weights from yolo. weights. , . Dorie!datadog. jpg; Predicted in 0. 350000 seconds.dog: 82% t ruck: 65% bicyel*: 85%上圖顯示檢測(cè)過(guò)程在0.35秒完成,這是安裝完顯卡驅(qū)動(dòng)后運(yùn)行的結(jié)果,在安裝顯卡驅(qū)動(dòng)前,使用CPU!行圖像檢測(cè),花費(fèi)時(shí)間大約為 8秒。命令執(zhí)行完成后, 將會(huì)把識(shí)別結(jié)果生成到predictions.jpg, 打開(kāi)圖片如下圖所示:四、訓(xùn)練環(huán)境安裝1 .使用 YUMK裝 OpenCVsudo yum install opencv2 .安裝顯卡驅(qū)動(dòng)及其開(kāi)發(fā)

31、工具包 CUDA安裝CUDM、須要有一個(gè)Nvidia的顯卡,本機(jī)的顯卡是GTX 860M CUDAF載網(wǎng)址為:https:developer.nvidia./cuda-down10ads官方還提供了 CUD取裝過(guò)程所需的pdf文檔,仔細(xì)閱讀并按照其步驟安裝即可。此次安裝使用runfile 安裝。首先檢測(cè)本機(jī)是否有Nvidia顯卡,執(zhí)行以下命令:Ispci | grep -i nvidia有任何輸出說(shuō)明本機(jī)有 Nvidia顯卡,本機(jī)輸出結(jié)果如下:01:00.0 3D controller: NVIDIA Corporation GM107M GeForce GTX 860M (rev a2)接下

32、來(lái)查看系統(tǒng)核版本:uname -m && cat /etc/*release該命令會(huì)顯示系統(tǒng)架構(gòu)以及核版本信息,本機(jī)主要的輸出信息如下:x86_64CentOS Linux release 7.3.1611 (Core)確認(rèn)編譯器gcc已經(jīng)安裝,該命令會(huì)打印gcc的版本,如果提示找不到命令則說(shuō) 明沒(méi)有安裝gcc:gcc -version安裝Kernel-header和kernel-devel ,這兩個(gè)包的版本需要和本機(jī)的核版本一 致,安裝命令如下:sudo yum install kernel-devel-$(uname -r) kernel-headers-$(uname -

33、r)開(kāi)始安裝cuda,本次實(shí)驗(yàn)使用的是runfile 安裝。Nouveau是一個(gè)開(kāi)源的3D驅(qū) 動(dòng),安裝Nvidia驅(qū)動(dòng)之前需要先將其關(guān)閉。首先要把 Nouveau加入黑,創(chuàng)建 /etc/modprobe.d/blacklist-nouveau.conf文件并寫(xiě)入以下容:blacklist nouveauoptions nouveau modeset=0重新生成核initramfs :sudo dracut -force重新啟動(dòng)計(jì)算機(jī),在進(jìn)入登錄界面時(shí),不要登錄,按下ALT+F2進(jìn)入命令提示符模式,使用root用戶(hù)登錄,然后使用init 3命令進(jìn)入多用戶(hù)模式開(kāi)始安裝Naidia驅(qū)動(dòng)。執(zhí)行以下命令

34、開(kāi)始安裝 CUDA./cuda_8.0.61_375.26_linux-run安裝過(guò)程會(huì)提示是否安裝CUDA:具箱、CUD刷子等,此次試驗(yàn)中選擇安裝。最后將cuda加入到環(huán)境變量中、重啟,即完成安裝。將cude加入到環(huán)境變量:export PATH=/usr/local/cuda-8.0/bin$PATH:+:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64$LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH3 .安裝完成OpenCq口 CUDAf,需要修改YOLO勺Makefile文件并重新編譯。打 開(kāi) Makefi

35、le 文件,將 OPENCV=0fc為 OPENCV=1 將 GPU=0fc為 GPU=1 并執(zhí)行 make命令重新編譯。第三章YOLO算法原理3.1 YOLO算法簡(jiǎn)介基于深度學(xué)習(xí)方法的一個(gè)特點(diǎn)就是實(shí)現(xiàn)端到端的檢測(cè)。相對(duì)于其它目標(biāo)檢測(cè) 與識(shí)別方法(比如Fast R-CNN)將目標(biāo)識(shí)別任務(wù)分類(lèi)目標(biāo)區(qū)域預(yù)測(cè)和類(lèi)別預(yù)測(cè) 等多個(gè)流程,YOLO等目標(biāo)區(qū)域預(yù)測(cè)和目標(biāo)類(lèi)別預(yù)測(cè)整合于單個(gè)神經(jīng)網(wǎng)絡(luò)模型中, 實(shí)現(xiàn)在準(zhǔn)確率較高的情況下快速目標(biāo)檢測(cè)與識(shí)別,更加適合現(xiàn)場(chǎng)應(yīng)用環(huán)境。YOLO為一種新的目標(biāo)檢測(cè)方法,該方法的特點(diǎn)是實(shí)現(xiàn)快速檢測(cè)的同時(shí)還達(dá) 到較高的準(zhǔn)確率。作者將目標(biāo)檢測(cè)任務(wù)看作目標(biāo)區(qū)域預(yù)測(cè)和類(lèi)別預(yù)測(cè)的回歸問(wèn) 題

36、。該方法采用單個(gè)神經(jīng)網(wǎng)絡(luò)直接預(yù)測(cè)物品邊界和類(lèi)別概率,實(shí)現(xiàn)端到端的物品檢測(cè)。同時(shí),該方法檢測(cè)速非???,基礎(chǔ)版可以達(dá)到45幀/s的實(shí)時(shí)檢測(cè);FastYOLO 可以達(dá)到155幀/s。與當(dāng)前最好系統(tǒng)相比,YOLO目標(biāo)區(qū)域定位誤差更大,但是背景預(yù)測(cè)的假陽(yáng)性?xún)?yōu)于當(dāng)前最好的方法。人類(lèi)視覺(jué)系統(tǒng)快速且精準(zhǔn),只需看一眼即可識(shí)別圖像中物品及其位置。傳統(tǒng)目標(biāo)檢測(cè)系統(tǒng)采用 deformable parts models (DPM) 方法,通過(guò)滑動(dòng)框 方法提出目標(biāo)區(qū)域,然后采用分類(lèi)器來(lái)實(shí)現(xiàn)識(shí)別。近期的 R-CNN類(lèi)方法采用 region proposal methods , 首先生成潛在的 bounding boxes

37、, 然后采用分類(lèi)器 識(shí)另U這些 bounding boxes區(qū)域。最后通過(guò) post-processing 來(lái)去除重復(fù) bounding boxes來(lái)進(jìn)行優(yōu)化。這類(lèi)方法流程復(fù)雜,存在速度慢和訓(xùn)練困難的問(wèn)題。而YOLOJ法將目標(biāo)檢測(cè)問(wèn)題轉(zhuǎn)換為直接從圖像中提取bounding boxes和類(lèi)別概率的單個(gè)回歸問(wèn)題,只需一眼即可檢測(cè)目標(biāo)類(lèi)別和位置。3.2 YOLO方法特點(diǎn)YOLOR用單個(gè)卷積神經(jīng)網(wǎng)絡(luò)來(lái)預(yù)測(cè)多個(gè) bounding boxes和類(lèi)別概率,如圖所 示:本方法相對(duì)于傳統(tǒng)方法有如下優(yōu)點(diǎn):(1) 速度非常快。YOLOW測(cè)流程簡(jiǎn)單,速度很快。基礎(chǔ)版在 Titan X GPU 上可以達(dá)到45幀/s ;

38、快速版可以達(dá)到150幀/s。因此,YOLOT以實(shí)現(xiàn)實(shí)時(shí)檢測(cè)。(2) YOLO采用全圖信息來(lái)進(jìn)行預(yù)測(cè)。與滑動(dòng)窗口方法和region proposal-based方法不同,YOLOS訓(xùn)練和預(yù)測(cè)過(guò)程中可以利用全圖信息。 Fast R-CNN僉測(cè)方法會(huì)錯(cuò)誤的將背景中的斑塊檢測(cè)為目標(biāo),原因在于 Fast R-CNN在 檢測(cè)中無(wú)法看到全局圖像。相對(duì)于 Fast R-CNN, YOLOT景預(yù)測(cè)錯(cuò)誤率低一半。(3) YOLOT以學(xué)習(xí)到目標(biāo)的概括信息,具有一定普適性。采用自然圖片訓(xùn) 練YOLO采用藝術(shù)圖像來(lái)預(yù)測(cè)。YOLQ匕其它目標(biāo)才測(cè)方法(DPMf口 R-CNN準(zhǔn)確 率高很多。本方法有如下缺點(diǎn):(1) YOLO

39、對(duì)相互靠的很近的物體,還有很小的群體 檢測(cè)效果不好,這是 因?yàn)橐粋€(gè)網(wǎng)格中只預(yù)測(cè)了兩個(gè)框,并且只屬于一類(lèi)。(2)對(duì)測(cè)試圖像中,同一類(lèi)物體出現(xiàn)的新的不常見(jiàn)的長(zhǎng)寬比和其他情況是。 泛化能力偏弱。(3)由于損失函數(shù)的問(wèn)題,定位誤差是影響檢測(cè)效果的主要原因。尤其是 大小物體的處理上,還有待加強(qiáng)。3.3 YOLO的核心思想和實(shí)現(xiàn)方法1 .YOLO的核心思想YOLO的核心思想就是利用整圖作為網(wǎng)絡(luò)的輸入,直接在輸出層回歸boundingbox的位置和bounding box所屬的類(lèi)別。2 .YOLO的實(shí)現(xiàn)方法YOLO勺實(shí)現(xiàn)過(guò)程圖解和方法如下:Th* ImageAnd附 9 n 44S(1)將一幅圖像分成SxS

40、個(gè)網(wǎng)格(grid cell),如果某個(gè)目標(biāo)的中心落在這個(gè)網(wǎng)格中,則這個(gè)網(wǎng)格就負(fù)責(zé)預(yù)測(cè)這個(gè)目標(biāo)。(2)每個(gè)網(wǎng)格要預(yù)測(cè) B個(gè)bounding box ,每個(gè)bounding box 除了要回歸自身的位置之外,還要附帶預(yù)測(cè)一個(gè)confidence值,這個(gè)confidence代表了所預(yù)測(cè)的box中含有目標(biāo)的置信度和這個(gè)box預(yù)測(cè)的有多準(zhǔn)兩重信息,其值是這樣計(jì)算的:Pr (目標(biāo))lOUptd (其中如果有目標(biāo)落在一個(gè)grid cell里,第一項(xiàng)取1,否則取0。第二項(xiàng)是預(yù)測(cè)的bounding box和實(shí)際的groundtruth之間的IOU值)。(3)每個(gè) bounding box格還要預(yù)測(cè)一個(gè)類(lèi)別信息,

41、bounding box ,還要預(yù)測(cè)tensor。(注意:class要預(yù)測(cè)(x, y, w, h) 和confidence 共5個(gè)值,每個(gè)網(wǎng) 記為 C類(lèi)。則SxS個(gè)網(wǎng)格,每個(gè)網(wǎng)格要預(yù)測(cè) B個(gè) C 個(gè) categories。輸出就是 S x S x (5*B+C) 的一個(gè)信息是針對(duì)每個(gè)網(wǎng)格的,confidence信息是針對(duì)每個(gè)bounding box 的)舉例說(shuō)明:在PASCAL VOC,圖像輸入為448x448,取S=7, B=2, 一共有 20個(gè)類(lèi)別(C=20)。則輸出就是7x7x30的一個(gè)tensor。整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示:Con*. Loyw7舄7>64卜2 Ma寓pool La

42、yirMMCenv. Layeri Che layers UI 745123x1x10243x3k10243s3kI0243x3x1024 3<3MlCK?4ir2Cm*- Loy«r Cmw. Loyw附3 心 n償U(kuò)lxl20Manp»l Laer3x3k25<52m221x1*25,1x3x512Coft¥. LflieriI * 1 <55)4 IX4 3m3x5U i 1x1x512 3x3x1024Mgpxl l勺w 2曲2Cmh. Laer Cmh. LayerLasrsf2m2(4)在測(cè)試的時(shí)候,每個(gè)網(wǎng)格預(yù)測(cè)的class信息和bo

43、unding box 預(yù)測(cè)的confidence 信息相乘,就得至U每個(gè) bounding box 的 class-specific confidence score:Pr(class| object) Pr(object) IOU ;瞿Pr(class) IOU :瞿等式左邊第一項(xiàng)就是每個(gè)網(wǎng)格預(yù)測(cè)的類(lèi)別信息,第二三項(xiàng)就是每個(gè) bounding box預(yù)測(cè)的confidence 。這個(gè)乘積即encode 了預(yù)測(cè)的box屬于某一類(lèi) 的概率,也有該box準(zhǔn)確度的信息。(5)彳馬至U每個(gè) box的class-specific confidence score 以后,設(shè)置閾值,濾 掉得分低的boxes

44、,對(duì)保留的boxes進(jìn)行NMSt理,就得到最終的檢測(cè)結(jié)果。3.4 YOLO的實(shí)現(xiàn)細(xì)節(jié)1 .預(yù)訓(xùn)練:使用imageNet預(yù)訓(xùn)練,網(wǎng)絡(luò)結(jié)構(gòu)是前20層網(wǎng)絡(luò)加上一個(gè)平均池化層和一個(gè) 全連接層。2 .預(yù)測(cè):由于預(yù)測(cè)需要更加精細(xì)的像素,所以把輸入擴(kuò)展成 448*448,并且增加了四 個(gè)卷積層和兩個(gè)全連接層。在最后一層預(yù)測(cè)中,需要預(yù)測(cè)概率和 bounding box, 這里把bounding box的預(yù)測(cè)歸一化成0到1。3 .激活函數(shù):最后一層的激活函數(shù)使用線(xiàn)性激活函數(shù),而其他層使用leaky ReLU的激活函數(shù):if £ > 0.01/ otherwise4 .誤差傳播:誤差的計(jì)算采用簡(jiǎn)單

45、的平方和誤差函數(shù)。但是,從網(wǎng)絡(luò)結(jié)構(gòu)可以知道,預(yù)測(cè) 概率的維數(shù)比預(yù)測(cè)bounding box的維數(shù)要高,而且,在圖片多的格子是沒(méi)有物 體的,這會(huì)使得它們的confidence趨于0。它們的貢獻(xiàn)過(guò)大,會(huì)使得網(wǎng)絡(luò)無(wú)法 收斂。我們采用的一個(gè)辦法就是加權(quán),賦予不同的權(quán)值,對(duì)于預(yù)測(cè)bounding box的,而對(duì)于沒(méi)有目標(biāo)物體的格子的誤差賦予權(quán)值。 同時(shí),對(duì)于大的box的小誤差 肯定要比小box的小誤差影響更小,于是,采用對(duì)w,h,x,y取平方根的做法,因 為平方根函數(shù)的圖像隨著x的增大會(huì)變得平緩。此外,一個(gè)網(wǎng)格可能會(huì)預(yù)測(cè)多個(gè) box,希望每個(gè)box負(fù)責(zé)專(zhuān)門(mén)的目標(biāo)物體的 預(yù)測(cè)。方法是,對(duì)于一個(gè)物體的 tr

46、uth box ,看哪個(gè)bounding box的IOU更大, 就讓它負(fù)責(zé)這個(gè)box。公式為:S2 BLord匯£ 1獸環(huán)一以產(chǎn)+ (切 i0j=O+ 入3(1 £ 5Z 獸(A7 -+ ( /A -i=Qj=0 L+ £丈嘮(")1 =O j =IJS 6+ Af £ £ 喏垣(c - gj =(j=g+ £ i* £ (內(nèi)一色產(chǎn)1=0白毛。1/£既其中 "對(duì)應(yīng)格子i如果有物體,那相應(yīng)的bounding box j負(fù)責(zé)這個(gè)物體則的預(yù)測(cè)。行表示格子i中是否有物體。5 .訓(xùn)練方法:使用隨機(jī)梯度下降

47、法,以及dropout的方法。6 .4 YOLO的倉(cāng)I新YOLO#物體檢測(cè)作為回歸問(wèn)題求解。基于一個(gè)單獨(dú)的端到端網(wǎng)絡(luò),完成從原始圖像的輸入到物體位置和類(lèi)別的輸出。從網(wǎng)絡(luò)設(shè)計(jì)上,YOL0tt RCNN FastRCNNi Faster RCNN 的區(qū)別如下:(1) YOLO訓(xùn)練和檢測(cè)均是在一個(gè)單獨(dú)網(wǎng)絡(luò)中進(jìn)行。YOLOS有顯示地求取region proposal的過(guò)程。而 RCNN/Fast RCNNR用分離的模塊(獨(dú)立于網(wǎng)絡(luò)之外的selective search 方法)求取候選框(可能會(huì)包含物體的矩形區(qū)域),訓(xùn) 練過(guò)程因此也是分成多個(gè)模塊進(jìn)行。Faster RCNN使用 RPN(region p

48、roposalnetwork )卷積網(wǎng)絡(luò)替代 RCNN/FastRNN勺 selective search 模塊,將 RPN®成 到Fast RCNN檢測(cè)網(wǎng)絡(luò)中,得到一個(gè)統(tǒng)一的檢測(cè)網(wǎng)絡(luò)。盡管RPN與Fast RCNN共享卷積層,但是在模型訓(xùn)練過(guò)程中,需要反復(fù)訓(xùn)練RPNW絡(luò)和Fast RCNN絡(luò)。(2) YOLO將物體檢測(cè)作為一個(gè)回歸問(wèn)題進(jìn)行求解,輸入圖像經(jīng)過(guò)一次 inference ,便能得到圖像中所有物體的位置和其所屬類(lèi)別及相應(yīng)的置信概率。 而RCNN/FastRCNN/Faster RCNNA檢測(cè)結(jié)果分為兩部分求解:物體類(lèi)別(分類(lèi) 問(wèn)題),物體位置即bounding box (回

49、歸問(wèn)題)。RCNNFast RCNNFaster RCNNYOLOregion proposal module region proposal moduleRPNfeature extractionnetworkclssifer locatordetection networkfeature extractionc lassficationregres 5 ionYOLO networkFast RCNNI第四章 訓(xùn)練數(shù)據(jù)采集與制作4.1 訓(xùn)練數(shù)據(jù)的采集準(zhǔn)備需要訓(xùn)練的圖片:本次實(shí)驗(yàn)訓(xùn)練的是水果的識(shí)別,種類(lèi)一共 5種,分別是 WaterMelon、StrawBerry、Orange、Pineap

50、ple、Apple,每種水果圖片約 30-40,總共有 171 圖片。圖片全部從百度圖片中下載,圖片分辨率一般在400*300像素左右。將 圖片按照按照5位數(shù)字從00000遞增開(kāi)始命名,并將其全部放到一個(gè)文件夾中% OOM 打 pg MOOjpgGOOD 3 jpgGOOMjpg%OOOM.jpg00007JagOOOOSjpg MOCgjpg OQOlQJpgOOOll.jpg OOONjpgOLOU.jpg00014Jpg(KX)15jdc00016.jpg tKXJ17,jpgOOOl 8 jpgV 40001 <1 jpg)0020 加 gftOOKj 因Or-O?1 jpg00

51、024jpg00)/%pgOOO mjpgOOO27.jpg IKXJJU.jpgUL:'Jc:l.j3c00029 jpg00032,jpgOOT3 3,jpg 00034jpgOQC35,jpg 50036.jpgOGO27,jpg0Q03Sjp900fl33,jpg4.2 訓(xùn)練數(shù)據(jù)的制作1 .下載并編譯安裝Labellmg ,使用這個(gè)軟件給171水果圖片標(biāo)記對(duì)象位置和名 稱(chēng)。xml文件,每2 .標(biāo)記完成后,Labellmg將會(huì)生成一個(gè)記錄了對(duì)象名稱(chēng)和位置的圖片對(duì)應(yīng)一個(gè)xml文件,xml文件容如下。OOOfiSxmlpanriQtstjjDn verified= "noB

52、>r t I.二e=d 5t linage/ 1c de i >小二 L 修1, he 9 B9 TfM -a-p /ll- /hone /m yd Zdl l/Dst I. j pg</ pa 111source*<d 1 1 jh e;Tnlknc師 d1 - iDii c*c/5ource><5LZ&> d+n>409< 聞idth ig,t 00 </he igh t n<dcpt喧 depth>c/size>Hse grrenl©s agmen 10dA<obj©ct>

53、;nflW9rmglgn</n>二p; 浦 UnspgcifisKl" - '<t rune 尋 t 日 dl>0</1 rune at<difficylt>0</dif<bndbDJc><xmin >5 c/xm _ji><ylnih Ml、ynii3< zu 臺(tái)工 L48 jKin© ;< yirax 107- /ymao</bnaocix></cbj ect><obj®ct>ricM vata rrielorK/n=&#

54、187;e>< pc>Unspqcifi&d pnnn< t rur 匚日 t 白 d:>Bu Ji rune at ed>< ditricult>0<Zditticult<bndbD)(><xirin -05< xniin>由人Annitations|OOOOO.xml|-00001.xml|-00171.xmlImageSetsIMaintrain.txt保存了全部圖片位置的文件JPEGImagesI-OOOOO.jpgI00001.jpgI-00171.jpg labels labelsI-OOO

55、OO.txtI-00001.txt00170.txt需要訓(xùn)練的圖片水果圖片水果圖片水果圖片文件labels文件labels文件labels文件3,按照V0O據(jù)集的格式創(chuàng)建一下文件夾結(jié)構(gòu)。darknet項(xiàng)目目錄cfg配置文件存放目錄src項(xiàng)目源代碼VOCdevkit VOC數(shù)據(jù)集目錄VOC2017數(shù)據(jù)標(biāo)記年份存放xml標(biāo)記文件xml 標(biāo)記文件xml標(biāo)記文件xml標(biāo)記文件圖片相關(guān)信息文件位置信息4.YOLO不能識(shí)別xml文件,需要將其轉(zhuǎn)化成其識(shí)別的格式。使用項(xiàng)目自帶的 voc_label.py 腳本可以將xml格式轉(zhuǎn)換成 YOLO所需的label文件。打開(kāi) voc_label.py,修改數(shù)據(jù)集年份,要識(shí)別的對(duì)象種類(lèi)名稱(chēng),以及xml文件存放位 置等信息。文件容如下圖所示。該腳本同時(shí)會(huì)生成上面目錄結(jié)構(gòu)中的 train.

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論