OpenCV4 中的非典型深度學習模型

公衆號

本文轉自 | OpenCV 學堂

** 引言 ·**

前面給大家分別彙總了 OpenCV 中支持的圖像分類與對象檢測模型,視覺視覺任務除了分類與檢測還有很多其他任務,這裏我們就來 OpenCV 中支持的非分類與檢測的視覺模型彙總一下。注意一點,彙總支持的模型都是 OpenCV4.4 Github 上已經提供的,事實上除了官方的提供的模型,讀者還可以自己探索更多非官方模型支持。這裏的彙總模型主要來自 OpenCV 社區官方測試過的。

語義分割網絡

OpenCV4 DNN 支持的語義分割網絡 FCN 與 ENet、ResNet101_DUC_HDC 等三個語義分割模型。

FCN

其中 FCN 主要是基於 VGG16~VGG19 作爲基礎網絡,速度很慢,該網絡是在 2015 年時候提出,是早期很典型的圖像語義分割網絡,不是一個對稱的卷積反捲積分割網絡,在編碼階段網絡過長,解碼網絡很少,結果堪憂!網絡結構如下:

分別支持不同分辨率的上採樣。

論文下載地址:

https://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Long_Fully_Convolutional_Networks_2015_CVPR_paper.pdf

ENet

ENet 是一種實時語義分割網絡,在 2016 年提出的,關於 ENet 語義分割網絡,我其實之前寫過一篇文章,詳細介紹過,這裏就不再囉嗦了,直接看這個鏈接即可:

詳解 ENet | CPU 可以實時的道路分割網絡

論文下載地址:

https://arxiv.org/pdf/1606.02147.pdf

ResNet101_DUC_HDC

該模型在編碼網絡中基於殘差網絡與混合空洞卷積(HDC-Hybrid Dilated Convolution),在解碼階段採用密集上採樣卷積(DUC-Dense Upsampling Convolution),最終實現了像素級別的圖像語義分割網絡。網絡模型結構如下:

該論文在 2017 發表,論文地址如下:

https://arxiv.org/pdf/1702.08502.pdf

姿態評估

OpenCV DNN 支持的姿態評估是基於 OpenPose 網絡實現的身體與手部姿態評估,OpenPose 是一個開源的姿態評估項目支持 2D 與 3D 模型的姿態評估,提供了 C++/Python 的 API 調用接口。模型可以從它 github 地址獲得

https://github.com/CMU-Perceptual-Computing-Lab/openpose

相關的模型主要來自它們的系列論文, 姿態評估的基本原理與流程如下:

完整的姿態評估流程入上圖,首先預測熱圖與 PAF,然後進行匹配與解析,最終得到輸出的姿態評估結果。相關的論文地址如下

https://arxiv.org/pdf/1812.08008v2.pdf
https://arxiv.org/pdf/1611.08050.pdf

圖像處理

OpenCV 中圖像處理網絡支持圖像色彩遷移、圖像風格遷移、邊緣檢測。

色彩遷移:

其中灰度圖像轉換彩色圖像的模型結構如下:

其中有個重要的輸入特徵點是要把 RGB 彩色圖像轉換爲 LAB 通道圖像,然後對 AB 輸入,最後結果重新加上 L 分量。代碼在這裏

http://richzhang.github.io/colorization/

風格遷移

風格遷移網絡主要是來自於 2016 李飛飛等提出感知損失的圖像風格遷移與超分辨率論文實現的,網絡結構如下:

github 地址如下:

https://github.com/jcjohnson/fast-neural-style

邊緣檢測

OpenCV 中傳統的圖像邊緣檢測算法是 Canny,現在 OpenCV 支持基於深度學習的邊緣檢測算法 HED,它與 Canny 算法的邊緣提取效果對比如下:

該論文是在 2015 年提出的,模型結構如下:

作者選擇了 VGGNet 作爲特徵提取與基礎網絡。

論文地址:

https://arxiv.org/pdf/1504.06375.pdf

人臉識別

人臉識別來自 OpenFace,OpenFace 是一種典型的移動端實時的人臉識別模型,跟它相似的還有 LightCNN 模型。OpenFace 是基於 facenet 的 Inception 網絡作爲 backbone 網絡訓練生存的 torch 網絡模型,然後基於 SVM 實現了分類推理,完整的 OpenFace 項目結構如下:

其中預處理階段的人臉對齊示意圖如下:

關於 FaceNet 的人臉識別論文

https://arxiv.org/pdf/1503.03832.pdf

OpenCV DNN 支持的 8 位的量化之後的人臉識別模型,最終輸出的向量是 128 維的,模型下載可以從 Github 地址:

https://github.com/cmusatyalab/openface

場景文字檢測

場景文字檢測來自 2017 年曠視科技提出的 EAST 場景文字檢測模型,相關的模型結構如下:

最終輸出的文本區域解析後處理如下:

最常見的是解析位 RBOX,即帶角度的旋轉矩形(最小外接矩形)。

論文地址如下:

https://arxiv.org/pdf/1704.03155.pdf

最後總結一下,上述網絡均支持在 OpenCV4.4 版本上直接推理運行,或者自定義數據學習之後的在 OpenCV4 DNN 部署,推理調用。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/gKthnouSwgX3FFXKTu_iQw