女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用簡(jiǎn)潔的語言來闡述YOLO算法

深度學(xué)習(xí)實(shí)戰(zhàn) ? 2018-01-29 15:41 ? 次閱讀

YOLO算法,英文全稱是You Only Look Once,直接谷歌英文全稱就能找到那篇論文,同時(shí)作者也在github上開源了代碼。需要說明的是這篇推文是關(guān)于yolo v1,還有一個(gè)升級(jí)版。

顧名思義,這個(gè)算法就是只看一遍圖片就能把所有的物體都識(shí)別出來,這個(gè)算法能夠做到實(shí)時(shí)的物體檢測(cè),大約能達(dá)到40幀每秒,速度是非常快的。那如何去入手這個(gè)算法呢?相信大家已經(jīng)看過不少介紹YOLO算法的文章了,所以我在這里也不打算深入去講解這個(gè)算法了,而是盡量用簡(jiǎn)潔的語言去闡述一下這個(gè)如此迷人的算法。

用簡(jiǎn)潔的語言來闡述YOLO算法

和其它推文最大的不同是,我會(huì)介紹如何從實(shí)戰(zhàn)的角度去自己去做一個(gè)數(shù)據(jù)集,如何讓電腦識(shí)別特定的一個(gè)物體。

那先來看一下我實(shí)現(xiàn)的效果是怎么樣的。首先我隨手找了我桌上的藍(lán)色水杯,收集了兩百多張自己水杯的圖片,為了減少工作量,我用水杯的數(shù)據(jù)集去替換了原來是車輛(car)的所有數(shù)據(jù)。經(jīng)過十幾個(gè)小時(shí)的訓(xùn)練之后,效果如下:

用簡(jiǎn)潔的語言來闡述YOLO算法

那怎么去實(shí)現(xiàn)呢?首先我覺得你要先“懂”這個(gè)算法,至少你要了解它是怎么實(shí)現(xiàn)的,原理是什么,輸入輸出是什么。為了學(xué)習(xí)這個(gè)算法,我也是花了大量時(shí)間去看作者的論文和代碼。我覺得論文配合代碼是一個(gè)很好的學(xué)習(xí)方式。通過代碼可以很清晰去了解它是如何去實(shí)現(xiàn)這個(gè)算法的。

這個(gè)算法的核心在于它把圖片劃分成了7*7個(gè)網(wǎng)格,注意這7*7個(gè)網(wǎng)格不是將一張圖片切割成49個(gè)小塊,而是說一個(gè)網(wǎng)格會(huì)對(duì)應(yīng)一個(gè)輸出結(jié)果。可能會(huì)覺得有點(diǎn)抽象,我們先來看圖。

比如說上面這張圖,一共有49個(gè)網(wǎng)格,每個(gè)網(wǎng)格的任務(wù)就是去判斷這個(gè)物體的中心點(diǎn)是否落在該網(wǎng)格,如果是落在自身網(wǎng)格,那好,那這個(gè)網(wǎng)格就會(huì)跟系統(tǒng)匯報(bào)。假定上圖中被標(biāo)記的紅色網(wǎng)格我們把它命名為小格,然后小格發(fā)現(xiàn)這里好像有條狗,于是乎它跟系統(tǒng)匯報(bào)說:我這里有條狗,然后系統(tǒng)問了一句:那這條狗有多寬有多高?小格好像有點(diǎn)懵,但是根據(jù)它的經(jīng)驗(yàn),小格大概能猜出來,于是回答了系統(tǒng):這條狗大概100像素寬,250像素高吧。到這里,小格的任務(wù)就基本完成了,小格只是49個(gè)網(wǎng)格之一,其它的網(wǎng)格也一樣。于是系統(tǒng)就收集了49個(gè)網(wǎng)格的意見,然后就得到了下圖。

其實(shí)在這張圖片中可以出現(xiàn)49*2=81個(gè)預(yù)測(cè)框,也就是說沒一個(gè)網(wǎng)格可以有對(duì)目標(biāo)有兩個(gè)預(yù)測(cè),因此最多可以出現(xiàn)81個(gè)預(yù)測(cè)框。可以在圖中看到,其實(shí)會(huì)出現(xiàn)很多無用框,相鄰的網(wǎng)格可能會(huì)出現(xiàn)相似的結(jié)果,以此我們可以通過極大值抑制過濾一部分的預(yù)測(cè)框。然后就可以得到下圖結(jié)果。

但是相信我,即使你已經(jīng)全部理解了上面我說的,你也不一定能一下子看懂代碼,在我閱讀代碼的時(shí)候發(fā)現(xiàn)雖然代碼不多,邏輯也比較清晰,但是有一些細(xì)節(jié)還是讓人難以理解。那我就帶大家來捋一下吧!

比較重要的代碼主要是在pasal_voc.py、config.py、yolo_net.py和train.py。加載數(shù)據(jù)的代碼在pasal_voc.py里面,代碼并不是很難,不過要注意一點(diǎn)的就是一張圖片的label其實(shí)是一個(gè)7*7*25的矩陣,一個(gè)25的向量組成是這樣的:第一位是0或1,表示是否有物體,然后接下來的四位是邊界框的信息,也就是(x,y,w,h),剩下的就是one-hot編碼表類別。而預(yù)測(cè)的結(jié)果是7*7*30的,因?yàn)橐A(yù)測(cè)兩個(gè)框。

用簡(jiǎn)潔的語言來闡述YOLO算法

還有一個(gè)比較精髓的是它損失函數(shù)的定義,它對(duì)每一個(gè)預(yù)測(cè)值都計(jì)算了均方誤差,但是懲罰程度卻是不一樣的。

用簡(jiǎn)潔的語言來闡述YOLO算法

其中λcoord = 5.0, λnoobj = 1.0,λclasses = 2.0,但是這組數(shù)字是這么得來的小編就不知道了,有可能是從大量測(cè)試中得到的一組最優(yōu)解,也可能是從數(shù)學(xué)公式推算出來的吧。其實(shí)還有很多小細(xì)節(jié),是很難描述出來的,如果要把一個(gè)小細(xì)節(jié)說明白可以就會(huì)牽扯到無數(shù)個(gè)細(xì)節(jié),所以我建議你們自己通過代碼去把細(xì)節(jié)搞懂。

在你已經(jīng)了解了代碼之后,就很容易做到文章開頭的那個(gè)效果了。那我講解一下我的思路和過程,最重要的還是要自己動(dòng)手。當(dāng)你去研究過它的數(shù)據(jù)集之后,你會(huì)發(fā)現(xiàn)這個(gè)數(shù)據(jù)集的標(biāo)注是一個(gè)xml文件,每一個(gè)圖片就對(duì)應(yīng)一個(gè)xml文件。當(dāng)你收集好數(shù)據(jù)集之后就可以去做數(shù)據(jù)集標(biāo)記了,但是最簡(jiǎn)單的xml文件的格式是要求如下的:

這個(gè)是我數(shù)據(jù)集中的標(biāo)注,也是能滿足代碼的最簡(jiǎn)單的標(biāo)注,我是自己寫了一個(gè)程序幫助我完成標(biāo)記的,但是我推薦你們可以用別人的標(biāo)注工具,因?yàn)楫吘箘e人已經(jīng)寫好了就沒有必要再去重復(fù)造車輪。

這個(gè)就是一個(gè)標(biāo)注的工具 ,但是我也沒用過,但是看描述應(yīng)該是符合要求的。做好圖片標(biāo)注之后就要考慮如何去修改它的數(shù)據(jù)集呢?難不成一張張粘貼進(jìn)去,當(dāng)然你可以這樣做,但是工作量是很大的,好吧,那就交給計(jì)算機(jī)去解決吧。我在加載數(shù)據(jù)集的時(shí)候做了一個(gè)判斷,如果一旦這張圖片里面有車,我就不加載這個(gè)數(shù)據(jù)了,指定一個(gè)路徑讓它去加載我們做好的數(shù)據(jù)集。

findcar = 0for obj in objs: cls_ind = obj.find('name').text.lower().strip() if cls_ind == 'car': findcar = 1 break

接下來就是你們思考如何去解決了。當(dāng)你解決這個(gè)問題并能訓(xùn)練的時(shí)候,如無意外你應(yīng)該能得到和我一樣的結(jié)果,祝你們好運(yùn)!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4699

    瀏覽量

    94773

原文標(biāo)題:項(xiàng)目實(shí)戰(zhàn) | YOLO算法識(shí)別特定物體

文章出處:【微信號(hào):gh_a204797f977b,微信公眾號(hào):深度學(xué)習(xí)實(shí)戰(zhàn)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    使用C語言進(jìn)行PID算法實(shí)現(xiàn)

    前文對(duì)PID算法離散化和增量式PID算法原理進(jìn)行探索,之后又使用Matlab進(jìn)行了仿真實(shí)驗(yàn),對(duì)PID三個(gè)參數(shù)又有了更深入的認(rèn)識(shí),接下來我們來使用C語言進(jìn)行PID
    發(fā)表于 09-15 09:20

    JAVA語言實(shí)現(xiàn)RSA公鑰密碼算法

    JAVA語言實(shí)現(xiàn)RSA公鑰密碼算法:本文闡述了公開密鑰密碼體制RSA算法的原理及實(shí)現(xiàn)技術(shù)。并在此基礎(chǔ)上,給出了JAVA
    發(fā)表于 02-10 10:27 ?58次下載

    C語言實(shí)現(xiàn)DES算法

    C語言實(shí)現(xiàn)DES算法 本DES算法,使用了效率很高的C完成。目前,國(guó)內(nèi)知名企業(yè)的POS終端中,單DES算法,均是采用這個(gè)函數(shù)完成。函數(shù)經(jīng)
    發(fā)表于 01-16 10:09 ?3305次閱讀

    C語言實(shí)現(xiàn)FFT算法

    C語言實(shí)現(xiàn)FFT算法 /*****************fft programe*********************/#include "typedef.h" #include "math.h" struct
    發(fā)表于 10-30 13:39 ?6458次閱讀

    如何編寫高效簡(jiǎn)潔的C語言代碼

      引言:   編寫高效簡(jiǎn)潔的C語言代碼,是許多軟件工程師追求的目標(biāo)。本文就工作中的一些體會(huì)和經(jīng)驗(yàn)做相關(guān)的闡述,不對(duì)的地方請(qǐng)各位指教。   第1招:以
    發(fā)表于 08-19 14:38 ?885次閱讀

    C語言實(shí)現(xiàn)PID算法

    PID的算法C語言程序編程實(shí)現(xiàn),可以學(xué)習(xí)一下,提高能力
    發(fā)表于 11-24 10:57 ?9次下載

    C語言經(jīng)典算法

    C語言經(jīng)典算法--助你解決算法問題C語言經(jīng)典算法
    發(fā)表于 03-23 14:30 ?28次下載

    『 RJIBI 』-基于FPGA的YOLO-V3物體識(shí)別計(jì)算套件

    1. 引言 基于RJIBI公司硬件開發(fā)套件的YOLO-V3物體識(shí)別檢測(cè)算法的相應(yīng)軟、硬件實(shí)現(xiàn)。 本文主要闡述和規(guī)定了兩大部分內(nèi)容:(1)機(jī)器學(xué)習(xí)推理框架針對(duì)在MPSOC FPGA平臺(tái)上的ARM核心
    發(fā)表于 05-19 10:22 ?1.5w次閱讀

    如何使用Zynq SoC硬件加速實(shí)現(xiàn)改進(jìn)TINY YOLO實(shí)時(shí)車輛檢測(cè)的算法

    針對(duì) TINY YOLO車輛檢測(cè)算法計(jì)算量過大,且在小型嵌入式系統(tǒng)中難以達(dá)到實(shí)時(shí)檢測(cè)要求的問題。利用小型 Zynq Soc系統(tǒng)的架構(gòu)優(yōu)勢(shì)以及 TINY YOLO的網(wǎng)絡(luò)權(quán)值中存在大量接近零的權(quán)值參
    發(fā)表于 07-06 10:58 ?28次下載
    如何使用Zynq SoC硬件加速實(shí)現(xiàn)改進(jìn)TINY <b class='flag-5'>YOLO</b>實(shí)時(shí)車輛檢測(cè)的<b class='flag-5'>算法</b>

    基于深度學(xué)習(xí)YOLO系列算法的圖像檢測(cè)

    圖像應(yīng)用算法并輸出類別和相應(yīng)的定位(YOLO系列) 1YOLO算法的提出 在圖像的識(shí)別與定位中,輸入一張圖片,要求輸出其中所包含的對(duì)象,以及每個(gè)對(duì)象的位置(包含該對(duì)象的矩形框)。 對(duì)象
    的頭像 發(fā)表于 11-27 10:15 ?3806次閱讀

    嵌入式設(shè)備的YOLO網(wǎng)絡(luò)剪枝算法

    為保證YoLO網(wǎng)絡(luò)在嵌入式設(shè)備上正常運(yùn)行,需采用剪枝算法精簡(jiǎn)濾波器以減小網(wǎng)絡(luò)存儲(chǔ)空間和計(jì)算量,而現(xiàn)有剪枝算法耗時(shí)較長(zhǎng)且剪枝精度較低。提出一種基于參數(shù)子空間和批量歸一化(BN)層縮放因子的雙準(zhǔn)則剪枝
    發(fā)表于 03-11 16:52 ?4次下載
    嵌入式設(shè)備的<b class='flag-5'>YOLO</b>網(wǎng)絡(luò)剪枝<b class='flag-5'>算法</b>

    目標(biāo)檢測(cè)—YOLO的重要性!

    YOLO是什么? 它是One-stage目標(biāo)檢測(cè)的代表,整個(gè)框架非常簡(jiǎn)單。與RCNN算法不一樣,是以不同方式處理對(duì)象檢測(cè)。 YOLO算法的最大優(yōu)點(diǎn)就是速度極快,每秒可處理45幀,也能夠
    的頭像 發(fā)表于 06-10 15:45 ?4419次閱讀

    基于YOLO算法實(shí)現(xiàn)鋼筋數(shù)量的智能盤點(diǎn)

      建筑工地在鋼筋成車來料時(shí),需要人工清點(diǎn)數(shù)量,然后才能開展后續(xù)工作,不僅效率低,而且增加運(yùn)營(yíng)成本。隨著大數(shù)據(jù)時(shí)代的到來,建筑行業(yè)希望借助智能終端設(shè)備減少勞動(dòng)力的投入,打破傳統(tǒng)的桎梏。本文利用YOLO算法實(shí)現(xiàn)鋼筋數(shù)量的智能盤點(diǎn)
    的頭像 發(fā)表于 10-18 15:39 ?1438次閱讀

    目標(biāo)檢測(cè)YOLO系列算法的發(fā)展過程

    本文中將簡(jiǎn)單總結(jié)YOLO的發(fā)展歷史,YOLO是計(jì)算機(jī)視覺領(lǐng)域中著名的模型之一,與其他的分類方法,例如R-CNN不同,R-CNN將檢測(cè)結(jié)果分為兩部分求解:物體類別(分類問題),物體位置即
    的頭像 發(fā)表于 10-27 17:45 ?1705次閱讀

    目標(biāo)檢測(cè)算法YOLO的發(fā)展史和原理

    大家或許知道,首字母縮寫YOLO在英文語境下較為流行的含義,即You Only Live Once,你只能活一次。我們今天要介紹的YOLO卻有著與前者不一樣的含義。在算法的世界中,YOLO
    的頭像 發(fā)表于 11-18 10:33 ?7674次閱讀
    目標(biāo)檢測(cè)<b class='flag-5'>算法</b><b class='flag-5'>YOLO</b>的發(fā)展史和原理