現(xiàn)在位置:主頁(yè) > 科技 > 圖普科技:如何用TensorFlow實(shí)現(xiàn)物體檢測(cè)的像素級(jí)分類(lèi)

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

作者:編輯 ? 時(shí)間:2018-04-19 ? 瀏覽:人次

TensorFlow 的「物體檢測(cè) API」有了一個(gè)新功能,它能根據(jù)目標(biāo)對(duì)象的像素位置來(lái)確定該對(duì)象的像素。換句話(huà)來(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)物體的像素分類(lèi)。

云圖片

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

實(shí)例分割

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

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

  • 無(wú)人駕駛汽車(chē)

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

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

Faster R-CNN 對(duì)每個(gè)候選對(duì)象都有兩個(gè)輸出,一個(gè)是分類(lèi)標(biāo)簽,另一個(gè)是對(duì)象邊框。而 Mask-RCNN 就是在 Faster R-CNN 的兩個(gè)輸出的基礎(chǔ)上,添加一個(gè)掩碼的輸出,該掩碼是一個(gè)表示對(duì)象在邊框中像素的二元掩碼。但是這個(gè)新添加的掩碼輸出與原來(lái)的分類(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),最后使用向上采樣和反卷積層將圖片還原到原來(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è)精確度更高的模型,觀(guān)察兩次測(cè)試結(jié)果的區(qū)別;

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



轉(zhuǎn)載請(qǐng)保留原文鏈接:http://eatcooks.com/a/keji/2018/0419/7894.html上一篇:上一篇:東芝移動(dòng)硬盤(pán) 存儲(chǔ)數(shù)據(jù)安全可靠
下一篇:下一篇:沒(méi)有了