目前使用騰訊所改寫的MTCNN detector做人臉偵測,其框架使用的是NCNN,但現階段我們是使用tensorflow or caffe 框架來訓練model,所以勢必要使用轉換程式將tensorflow or caffe轉為NCNN格式讓MTCNN detector使用,目前我們的環境如下圖所示,使用tensorflow 框架來訓練model,但必須先轉換為caffe 框架再轉為NCNN框架,為何要這麼麻煩呢?原因是tensorflow是現階段做深度學習最熱門的工具,但騰訊目前並無支援tensorflow直接轉NCNN(據說前陣子官方有提供,但bug太多,所以就停止支援,但未來若再提供,一定會更方便),所以一定要先有中繼轉換再轉為NCNN,本篇就是教學如何建立出轉檔程式,並且成功生出NCNN格式的model。
目前分類:AI (6)
- Jul 31 Wed 2019 09:35
How to use protoc tool to transform ncnn format model from caffe format model
- Jul 16 Tue 2019 18:32
編譯tensorflow c/c++ api 函式庫(二)
- Jul 16 Tue 2019 10:24
編譯tensorflow c/c++ api 函式庫(一)
為了編譯支援tensorflow 框架的Face detector的AP,其中使用到tensorflow c/c++ api,所以需要下載原始碼編譯出libtensorflow.so檔來使用,接下來就是介紹整個編譯環境的過程。
1. 簡介:
- Jul 14 Sun 2019 17:03
如何將tensorflow 框架的model轉為ncnn 框架的model
1. 甚麼是深度學習框架:
現在深度學習很熱門,為了要方便做出適合優秀的深度學習模型,各大社群或廠商紛紛堆出了許多方便建立深度學習模型的工具,作一個簡單的比喻,一套深度學習框架就是這個品牌的一套積木,各個元件就是某個模型或演算法的一部分,你可以自己設計如何使用積木去堆砌符合你資料集的積木。好處是你不必重複造輪子,模型也就是積木,是給你的,你可以直接組裝,但不同的組裝方式,也就是不同的資料集則取決於你,現在有Caffe、tensorflow ncnn 等等的工具可以使用,其中ncnn是中國騰訊所出的框架,在mtcnn 人臉偵測的ap,就是使用ncnn的格式。
- Jun 28 Fri 2019 10:08
編譯 ncnn library 的ARM NEON版本
在嵌入式平台中進行一些複雜算法的開發,一定需要用到指令及來進行加速,目前在嵌入式平台上做多使用的晶片就是ARM,這次我們要將mtcnn的人臉偵測AP porting到 ARM的開發平台上,針對執行的速度的進行優化的動作。
在mtcnn 人臉偵測AP分為兩個部分,一是執行演算法的library,即是ncnn library,在此源碼裡有提供ARM NEON功能來獲得較高的效能,需要用define的方式開啟,但開啟後還是會有下列幾個錯誤現象發生,需要一一處理。
- Jun 11 Tue 2019 14:14
Yolo V3 bounding boxes回歸原理學習
- YoloV3的核心思想
YoloV3的核心思想就是利用整張圖做為網路的輸入,直接在輸出層回歸bounding box(邊界框)的位置及其所屬類別。YoloV3規劃了三層名叫”yolo”來當作物件偵測層,其層產生的feature map即是用來回算bounding box的資訊,若要了解如何回推物件的最佳bounding box前,須了解何謂anchor box及YoloV3檢測思路。