這個yolo-fastest演算法滿足所有平台的需要。不論是pytorch,還是tensorflow,又或者是keras和caffe,可以說是全平台通用。
此外,作者還推出了超輕yolo的「加大版」,同樣只需要3.5mb,就能實現比yolov3更好的目標檢測效果。
那麼,這麼輕的網路,檢測效果怎麼樣?
1.3mb的超輕yolo
下圖是乙隻快速跑動的動物,可以看見,演算法**這只動物為雞(chicken)的概率是95%。
不僅在動物檢測上,對於人的檢測效果也不錯。
從圖中可見,正面人物的**概率都超過了90%,即使是接近側面的人臉,系統也能準確**出來,只是概率會偏小,接近50%。
此外也能看見,yolo不僅能檢測行人和動物,類似於餐桌和瓶子這樣的目標物體也能檢測出來。
當然,桌上還有其他的瓶子,不過沒有檢測出來。
而這樣的檢測效果,只需要1.3mb大小的yolo-fastest模型,相比於3.0mb的mobilenet-yolov3,引數少了65%,速度還要快上45%。
如果硬體要求沒那麼高,相比之下,還是精度更重要的話,這裡的yolo-fastest-xl會更加適合。
這個「加大版」yolo-fastest演算法是乙個3.5mb的演算法模型,map要高上不少,達到了68.8%。
整體來說,yolo-fastest是個犧牲一定精度(大約5%的map)、大幅提公升速度的目標檢測模型。
結合最強移動端輕量級神經網路食用
之所以這麼小,也是因為這個yolo-fastest搭配了號稱當前最強的移動端輕量級神經網路efficientnet-lite。
這是個比mobilenet更輕的神經網路,但影象分類的效果還不錯。
△ efficientnet-lite架構
不過,這樣的壓縮會犧牲一定的精度,相比於yolov3,yolo-fastest模型的map只有60.8%。
但對於一些容量有限的硬體來說,已經足夠適用了。
那麼,究竟為什麼要在目標檢測演算法中選擇yolo呢?
yolo:快速目標檢測
目標檢測演算法yolo的核心,在於它模型體積小、運算速度快。
與r-cnn系列(fast r-cnn、faster r-cnn等)的演算法相比,yolo的精度上不了臺,但它的速度卻是槓槓的。
檢測速度,從先驗框(下圖中五彩斑斕的框架)變換的頻次就能看出來。
之所以追求速度,是因為作為安防、自動駕駛領域的核心演算法,目標檢測講究實時。
如果安防要過幾秒鐘才能檢測出竊賊的存在、或是自動駕駛汽車對路障的感知非常緩慢,那麼後果可能會不堪設想。
此後誕生出來的ssd演算法,有點像r-cnn和yolo演算法的折中。但對於某些儲存體積有限的硬體來說,依舊只有yolo才能「裝得進去」。
而只有230mflops(每秒執行230萬次浮點運算)的yolo-fastest模型,又給算力不足的硬體提供了機會,使得它有機會在更小的機器上執行。
如果感興趣的話,可以一同戳下方傳送門檢視這個目標檢測演算法。
傳送門
1.3mb超輕yolo:
比ssd效果更好的mobilenet-yolo:
更多 linux諮詢請檢視www.linuxprobe.com
api平台通用簽名機制
通用api平台需要對每乙個訪問請求進行身份驗證。借鑑阿里雲的sdk。排序請求字串 對所有的請求引數,按照引數名稱的字典順序進行排序 構造用於計算簽名的字串 stringtosign get或者post 編碼後的引數計算簽名 按照 base64 編碼規則,把步驟 3 得到的 hmac 值編碼成字串,即...
讓看雲平台文章與其他平台通用
一 為什麼選擇看雲 二 如何與其他平台互通 三 參考資料 我選擇看雲,出於以下幾個原因 這說起來可能不算怎麼特別重要 強大的功能,但是我發現其他平台或者工具竟然都不提供這樣的功能,汗。這個也比較好用,這樣我可以方便定製縮排 樣式,很喜歡。看起來就像一本書,結構清晰,支援搜尋。基於以上原因,決定為看雲...
通用服務平台之位址分發
位址分發其實先於 服務被客戶端所鏈結,這是由位址分發功能所決定。位址分發是整個通用平台唯一對客戶端發布服務資料的服務,其功用也是為客戶端提供所需的服務資料。客戶端 位址分發 或其他業務服務關係示意圖如下 位址分發示意圖 如上圖可知客戶端在無任何服務端資料時,首先從位址分發獲取服務資料,之後才能根據獲...