1
本文作者: AI研習(xí)社-譯站 | 2018-09-11 11:29 |
雷鋒網(wǎng)按:本文為 AI 研習(xí)社編譯的技術(shù)博客,原標(biāo)題 How to easily Detect Objects with Deep Learning on Raspberry Pi,作者為 Sarthak Jain。
翻譯 | 小哥哥 狒狒 校對(duì) | 老趙 整理 | 凡江
這個(gè)現(xiàn)實(shí)世界造成了很多挑戰(zhàn),比如數(shù)據(jù)有限、只有微型的計(jì)算機(jī)硬件(像手機(jī)、樹(shù)莓派)所造成的無(wú)法運(yùn)行復(fù)雜深度學(xué)習(xí)模型等。這篇文章演示了如何使用樹(shù)莓派來(lái)進(jìn)行目標(biāo)檢測(cè)。就像路上行駛的汽車(chē),冰箱里的橘子,文件上的簽名和太空中的特斯拉。
免責(zé)聲明:我正在建設(shè) nanonets.com 來(lái)幫助使用很少的數(shù)據(jù)和沒(méi)有計(jì)算機(jī)硬件的情況下構(gòu)建機(jī)器學(xué)習(xí)模型。
如果你很迫切,請(qǐng)直接下拉到這篇文章的底部進(jìn)入Github的倉(cāng)庫(kù)。
在孟買(mǎi)的公路上檢測(cè)車(chē)輛
為什么是目標(biāo)檢測(cè)?為什么是樹(shù)莓派?
樹(shù)莓派是一款靈活的計(jì)算機(jī)硬件,它以1500萬(wàn)臺(tái)的銷(xiāo)量已經(jīng)吸引了一代消費(fèi)者的心,并且黑客們也在樹(shù)莓派上構(gòu)建了很多很酷的項(xiàng)目??紤]到深度學(xué)習(xí)和樹(shù)莓派相機(jī)的的流行,我們認(rèn)為如果能在樹(shù)莓派上使用深度學(xué)習(xí)來(lái)檢測(cè)任意的物體那就非常棒了。
現(xiàn)在你可以檢測(cè)到你的自拍照里的照片炸彈,有人進(jìn)入到Harambe的籠子里,哪里有辣椒醬或者亞馬遜的快遞員進(jìn)入到你的房子里。
什么是目標(biāo)檢測(cè)?
2000萬(wàn)年的進(jìn)化使得人類(lèi)的視覺(jué)系統(tǒng)有了相當(dāng)高的進(jìn)化。人腦有30%的神經(jīng)元負(fù)責(zé)處理視覺(jué)信息(相對(duì)比只有8%處理觸覺(jué)和3%處理聽(tīng)覺(jué))。與機(jī)器相比,人類(lèi)有兩個(gè)主要的優(yōu)勢(shì)。一是立體視覺(jué),二是訓(xùn)練數(shù)據(jù)集的供應(yīng)幾乎是無(wú)限的(一個(gè)五歲的嬰兒可以大約在30fps的采樣間隔獲得2.7B的圖像數(shù)據(jù))。
為了模仿人類(lèi)水平的表現(xiàn),科學(xué)家將視覺(jué)感知任務(wù)分解為四個(gè)不同的類(lèi)別。
1. 分類(lèi),為圖像指定一個(gè)標(biāo)簽。
2. 定位,對(duì)特定的標(biāo)簽指定一個(gè)邊框。
3. 物體檢測(cè),在圖像中繪制多個(gè)邊框。
4. 圖像分割,得到物體在圖像中的精確位置區(qū)域。
物體檢測(cè)對(duì)于很多應(yīng)用已經(jīng)足夠好(圖像分割是更精確的結(jié)果,它受到了創(chuàng)建訓(xùn)練數(shù)據(jù)復(fù)雜性的影響。相比于畫(huà)邊框它通?;ㄙM(fèi)人類(lèi)標(biāo)注者12倍的時(shí)間去分割圖像。)此外,在檢測(cè)物體之后,可以將物體在邊框中單獨(dú)分割出來(lái)。
使用物體檢測(cè):
目標(biāo)檢測(cè)具有重要的現(xiàn)實(shí)意義,已經(jīng)在各行各業(yè)得到了廣泛應(yīng)用。下面列舉了一些例子:
我怎樣使用物體檢測(cè)解決自己的問(wèn)題?
物體檢測(cè)可以用于解決各種各樣的問(wèn)題。這些是一個(gè)概括的分類(lèi):
1. 物體是不是出現(xiàn)在我的圖像中?比如在我的房子有一個(gè)入侵者。
2. 在圖像中的一個(gè)物體在哪個(gè)位置?比如一個(gè)汽車(chē)試圖在世界各地導(dǎo)航時(shí),知道物體的位置就很重要。
3. 圖像中有多少個(gè)物體?物體檢測(cè)是計(jì)算物體數(shù)目最有效的方法之一。比如倉(cāng)庫(kù)的貨架上有多少個(gè)盒子。
4. 圖像中有哪些不同類(lèi)型的物體?比如動(dòng)物園的哪些區(qū)域有哪些動(dòng)物?
5. 物體的尺寸有多大?特別是使用靜態(tài)的相機(jī),很容易計(jì)算出物體的大小。比如芒果的大小是多少。
6. 物體之間是如何相互作用的?比如在足球場(chǎng)上的隊(duì)形是如何影響比賽結(jié)果的?
7. 物體在不同時(shí)間的位置(跟蹤一個(gè)物體)?比如跟蹤一個(gè)像火車(chē)一樣的物體并且計(jì)算它的速度。
在 20 行代碼內(nèi)完成物體檢測(cè)
YOLO算法的可視化
有多種用于物體檢測(cè)的模型或結(jié)構(gòu)。每一個(gè)都在速度、尺寸和精確度之間權(quán)衡。我們選擇了最流行的一個(gè):YOLO(You only look once),并且展示它如何以20行代碼(忽略注釋?zhuān)┻M(jìn)行工作。
注意:這是偽代碼,不是一個(gè)可直接工作的實(shí)例。它有一個(gè)非常標(biāo)準(zhǔn)的CNN構(gòu)成的黑箱,如下圖所示:
你可以閱讀(YOLO)全文:https://pjreddie.com/media/files/papers/yolo_1.pdf
YOLO中使用卷積神經(jīng)網(wǎng)絡(luò)的體系結(jié)構(gòu)代碼小于20行,如下:
如何建立目標(biāo)檢測(cè)的深度學(xué)習(xí)模型?
深度學(xué)習(xí)的工作流程有6個(gè)基本步驟,分為了三個(gè)部分:
1. 收集訓(xùn)練集
2. 訓(xùn)練模型
3. 預(yù)測(cè)新圖像
第1階段 — 收集訓(xùn)練數(shù)據(jù)
步驟1. 收集圖像(每個(gè)對(duì)象至少100張)
......
想要繼續(xù)閱讀,請(qǐng)移步至我們的AI研習(xí)社社區(qū):http://www.gair.link/page/TextTranslation/904
更多精彩內(nèi)容盡在 AI 研習(xí)社。
不同領(lǐng)域包括計(jì)算機(jī)視覺(jué),語(yǔ)音語(yǔ)義,區(qū)塊鏈,自動(dòng)駕駛,數(shù)據(jù)挖掘,智能控制,編程語(yǔ)言等每日更新。
雷鋒網(wǎng)(公眾號(hào):雷鋒網(wǎng))
點(diǎn)擊文末【閱讀原文】即可觀看更多精彩內(nèi)容:
基于 OpenCV(C++/Python) 使用深度學(xué)習(xí) 進(jìn)行人類(lèi)姿態(tài)檢測(cè)
如何在 Azure 上使用 Horovod 框架進(jìn)行物體檢測(cè)的分布式深度學(xué)習(xí)
基于 OpenCV 使用 YOLOv3 進(jìn)行深度學(xué)習(xí)中的物體檢測(cè)
亞馬遜、谷歌、微軟等各家公司人臉識(shí)別對(duì)比
斯坦福CS231n李飛飛計(jì)算機(jī)視覺(jué)經(jīng)典課程(中英雙語(yǔ)字幕+作業(yè)講解+實(shí)戰(zhàn)分享)
等你來(lái)譯:
你能在 10 分鐘之內(nèi)解決人物檢測(cè)的問(wèn)題嗎?
如何使用 OpenCV 編寫(xiě)基于 Node.js 命令行界面 和 神經(jīng)網(wǎng)絡(luò)模型的圖像分類(lèi)
深度學(xué)習(xí)來(lái)自監(jiān)督的方法
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。