在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

用簡潔的語言來闡述YOLO算法

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

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

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

用簡潔的語言來闡述YOLO算法

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

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

用簡潔的語言來闡述YOLO算法

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

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

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

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

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

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

用簡潔的語言來闡述YOLO算法

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

用簡潔的語言來闡述YOLO算法

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

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

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

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

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

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

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

    關(guān)注

    23

    文章

    4622

    瀏覽量

    93098

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

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

收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

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

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

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

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

    如何編寫高效簡潔的C語言代碼

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

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

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

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

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

    『 RJIBI 』-基于FPGA的YOLO-V3物體識別計算套件

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

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

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

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

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

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

    為保證YoLO網(wǎng)絡(luò)在嵌入式設(shè)備上正常運行,需采用剪枝算法精簡濾波器以減小網(wǎng)絡(luò)存儲空間和計算量,而現(xiàn)有剪枝算法耗時較長且剪枝精度較低。提出一種基于參數(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)檢測—YOLO的重要性!

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

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

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

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

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

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

    大家或許知道,首字母縮寫YOLO在英文語境下較為流行的含義,即You Only Live Once,你只能活一次。我們今天要介紹的YOLO卻有著與前者不一樣的含義。在算法的世界中,YOLO
    的頭像 發(fā)表于 11-18 10:33 ?6088次閱讀
    目標(biāo)檢測<b class='flag-5'>算法</b><b class='flag-5'>YOLO</b>的發(fā)展史和原理
    主站蜘蛛池模板: 天天干中文字幕| 精品影视网站入口| 国模吧新入口| 国产精品免费拍拍拍| ts人妖在线| 午夜欧美精品久久久久久久久| 91色多多| 天天干天天操天天玩| 久久综合爱| 欧美性区| 天堂8在线天堂资源在线| 在线观看网址你懂得| 亚洲韩国在线一卡二卡| 色视频一区| 玖玖在线| 成人久久久| 手机在线播放视频| 1024你懂的在线播放欧日韩| 亚洲一区二区三区在线视频| 中文字幕在线播放第一页| 色狠狠综合| 国内精品久久久久影院薰衣草| 97午夜影院| 久久天天| 亚洲一区亚洲二区| 性色成人网| 看免费一级片| 一级一级一片免费高清| 狠狠ri| 亚洲美女黄视频| 亚洲精品在线不卡| 欧美a色爱欧美综合v| 一本高清在线| 国产美女亚洲精品久久久久久| 日本口工福利漫画无遮挡| 四虎最新入口| 国产精品激情综合久久| 免费欧美黄色| 日本一区二区三区免费看| 色骚网| aaa大片|