中國(guó)福建網(wǎng)

當(dāng)前位置:中國(guó)福建網(wǎng) > 科技 > 正文

圖普科技:如何用TensorFlow實(shí)現(xiàn)物體檢測(cè)的像素級(jí)分類

作者: 編輯 來(lái)源:互聯(lián)網(wǎng) 發(fā)布時(shí)間:2018-04-19

┊文章閱讀:

TensorFlow 的「物體檢測(cè) API」有了一個(gè)新功能,它能根據(jù)目標(biāo)對(duì)象的像素位置來(lái)確定該對(duì)象的像素。換句話來(lái)說(shuō),TensorFlow 的物體檢測(cè)從原來(lái)的圖像級(jí)別成功上升到了像素級(jí)別。

使用 TensorFlow 的「物體檢測(cè) API」圖片中的物體進(jìn)行識(shí)別,最后的結(jié)果是圖片中一個(gè)個(gè)將不同物體框起來(lái)的方框。最近,這個(gè)「物體檢測(cè) API」有了一個(gè)新功能,它能根據(jù)目標(biāo)對(duì)象的像素位置確定該對(duì)象的像素,實(shí)現(xiàn)物體的像素分類。

云圖片

TensorFlow 的物體檢測(cè) API 模型——Mask-RCNN

實(shí)例分割

「實(shí)例分割」是物體檢測(cè)的延伸,它能讓我們?cè)谄胀ǖ奈矬w檢測(cè)的基礎(chǔ)上獲取關(guān)于該對(duì)象更加精確、全面的信息。

在什么情況下我們才需要這樣精確的信息呢?

  • 無(wú)人駕駛汽車

    為了確保安全,無(wú)人駕駛汽車需要精確定位道路上其他車輛和行人。

  • 機(jī)器人系統(tǒng)

    機(jī)器人在連接兩個(gè)部件時(shí),如果知道這兩個(gè)部件的確切位置,那么機(jī)器人的操作就會(huì)更加高效、準(zhǔn)確。

「實(shí)例分割」的方法有很多,TensorFlow 進(jìn)行「實(shí)例分割」使用的是 Mask RCNN 算法。

Mask R-CNN 算法概述

云圖片

Mask RCNN 算法架構(gòu)

在介紹 Mask RCNN 之前,我們先來(lái)認(rèn)識(shí)一下 Faster R-CNN。

Faster-RCNN 是一個(gè)用于物體檢測(cè)的算法,它被分為兩個(gè)階段:第一階段被稱為「候選區(qū)域生成網(wǎng)絡(luò)」(RPN),即生成候選物體的邊框;第二階段本質(zhì)上是 Fast R-CNN 算法,即利用 RolPool 從每個(gè)候選邊框獲取對(duì)象特征,并執(zhí)行分類和邊框回歸。這兩個(gè)階段所使用的特征可以共享,以更快地獲得圖像推算結(jié)果。

Faster R-CNN 對(duì)每個(gè)候選對(duì)象都有兩個(gè)輸出,一個(gè)是分類標(biāo)簽,另一個(gè)是對(duì)象邊框。而 Mask-RCNN 就是在 Faster R-CNN 的兩個(gè)輸出的基礎(chǔ)上,添加一個(gè)掩碼的輸出,該掩碼是一個(gè)表示對(duì)象在邊框中像素的二元掩碼。但是這個(gè)新添加的掩碼輸出與原來(lái)的分類和邊框輸出不同,它需要物體更加精細(xì)的空間布局和位置信息。因此,Mask R-CNN 需要使用「全卷積神經(jīng)網(wǎng)絡(luò)」(FCN)。

「全卷積神經(jīng)網(wǎng)絡(luò)」是「語(yǔ)義分割」中十分常見(jiàn)的算法,它利用了不同區(qū)塊的卷積和池化層,首先將一張圖片解壓至它原本大小的三十二分之一,然后在這種粒度水平下進(jìn)行預(yù)測(cè)分類,最后使用向上采樣和反卷積層將圖片還原到原來(lái)的尺寸。

因此,Mask RCNN 可以說(shuō)是將?Faster RCNN 和「全卷積神經(jīng)網(wǎng)絡(luò)」這兩個(gè)網(wǎng)絡(luò)合并起來(lái),形成的一個(gè)龐大的網(wǎng)絡(luò)架構(gòu)。

實(shí)操 Mask-RCNN

  • 圖片測(cè)試

你可以利用 TensorFlow 網(wǎng)站上的共享代碼來(lái)對(duì) Mask RCNN 進(jìn)行圖片測(cè)試。以下是測(cè)試結(jié)果:

云圖片

Mask RCNN on Kites Image
  • 視頻測(cè)試

最有意思的是用 YouTube 視頻來(lái)測(cè)試這個(gè)模型。從 YouTube 上下載幾條視頻,開(kāi)始了視頻測(cè)試。

視頻測(cè)試的主要步驟:

1. 使用 VideoFileClip 功能從視頻中提取出每個(gè)幀;

2. 使用 fl_image 功能對(duì)視頻中截取的每張圖片進(jìn)行物體檢測(cè),然后用修改后的視頻圖片替換原本的視頻圖片;

3. 最后,將修改后的視頻圖像合并成一個(gè)新的視頻。

Mask RCNN 的深入研究

下一步的探索包括:

  • 測(cè)試一個(gè)精確度更高的模型,觀察兩次測(cè)試結(jié)果的區(qū)別;

  • 使用 TensorFlow 的物體檢測(cè) API 在定制的數(shù)據(jù)集上對(duì) Mask RCNN 進(jìn)行測(cè)試。



  • 新浪新聞
  • 百度搜索
  • 搜狗搜索
  • 京東商城
  • 企業(yè)慧聰
  • 新浪科技
  • 科技訊
  • 鵪鶉蛋價(jià)格
  • 唯美圖片