日期:2020.05.01~2020.05.02^_^ 發表在 痞客邦 留言(0) 人氣(345)
^_^ 發表在 痞客邦 留言(0) 人氣(137)
3. 編譯tensorflow
a. 下載源碼並且配置
$ git clone https://github.com/tensorflow/tensorflow
$ cd tensorflow
$ configure
^_^ 發表在 痞客邦 留言(0) 人氣(884)
為了編譯支援tensorflow 框架的Face detector的AP,其中使用到tensorflow c/c++ api,所以需要下載原始碼編譯出libtensorflow.so檔來使用,接下來就是介紹整個編譯環境的過程。1. 簡介:
tensorflow提供了python, c/c++的API,我們現在的應用用到c/c++版本,所以需要編譯出library來使用,在編譯library時,必需使用bazel及protobuf及eigen工具,應將其工具準備好。
FaceDetector AP 源碼: https://github.com/OAID/FaceDetection ^_^ 發表在 痞客邦 留言(0) 人氣(296)
在嵌入式平台中進行一些複雜算法的開發,一定需要用到指令及來進行加速,目前在嵌入式平台上做多使用的晶片就是ARM,這次我們要將mtcnn的人臉偵測AP porting到 ARM的開發平台上,針對執行的速度的進行優化的動作。
在mtcnn 人臉偵測AP分為兩個部分,一是執行演算法的library,即是ncnn library,在此源碼裡有提供ARM NEON功能來獲得較高的效能,需要用define的方式開啟,但開啟後還是會有下列幾個錯誤現象發生,需要一一處理。
^_^ 發表在 痞客邦 留言(0) 人氣(228)
1. 前置作業在進行建立cross compiler的環境前,或許您的電腦缺少了相關套件,請依下面的指示將套件安裝完畢,再進行建立cross compiler的環境
a. 建立cross compile path到環境變數PATH = <YOUR_ARM_TOOLCHAIN_PATH>:$PATH
使用修改.bashrc來設定環境變數,
此修改只需關掉Terminal再開啟後,就都會被設定EX: .bashrc的路徑是在"/home/au0110/.bashrc"在檔案最後面加入export PATH=/share/sunplus_20190523/sunplus/crossgcc/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf/bin:$PATH^_^ 發表在 痞客邦 留言(0) 人氣(139)
YoloV3的核心思想YoloV3的核心思想就是利用整張圖做為網路的輸入,直接在輸出層回歸bounding box(邊界框)的位置及其所屬類別。YoloV3規劃了三層名叫”yolo”來當作物件偵測層,其層產生的feature map即是用來回算bounding box的資訊,若要了解如何回推物件的最佳bounding box前,須了解何謂anchor box及YoloV3檢測思路。 YoloV3實現的方法將原始影像利用捲積神經網路的滑動視窗演算法,將圖片分成SxS個網格(grid cell)來偵測物件所在,如果某個物件的中心點落在此網格內,則這網格負責預測這個物件。YoloV3裡,使用移動步伐(stride)的方式,將圖片縮小至1/32、1/16、1/8不同大小來偵測大中小物件,以輸入照片原始大小為416x416為例,則會產生13x13、16x26、52x52的網格,分別位於第82、第94、第106層,其網格內容存放的資訊是預測資訊(邊界框的坐標、類別標籤等)。 錨點框(Anchor box)Anchor box是一種先驗知識,是在訓練階段產生的數值,在測試階段,可透過anchor box的長寬及網路預測的數值產生物件的bounding box,在yoloV3裡,因為每個cell都帶有預測3 個邊界框,每個邊界框都搭配一個Anchor box來修正成最後正確的邊界,所以每層yolo的每個cell都有三分anchor box。透過下三張圖,可以看到第82、94、106層的anchor box的配置,mask代表此層要拿第幾組anchor box,classes代表有幾種物件要判斷。其anchor box的數值並非是座標位置,是anchor box的大小(pixel value),代表長跟寬。Yolo輸出層解釋前一段落有提到每個cell都帶有預測3 個邊界框數量,根據YOLO 的論文,這些B 邊界框中的每一個都可能專門用於檢測某種對象。每個邊界框都有5+C 個屬性,分別描述每個邊界框的中心坐標、維度、objectness 分數和C 類置信度。分別是x, y, w, h, confidence,(x, y)表示box中心相對於grid cell的位移,而w, h為b-box長寬,confidence即為IOU (between predicted box and any ground truth box)。其邊界框結構如下:每個cell分別有三個預測框數量所以此yolo層的feature map數量為S x S x B x (5 + classes) 邊界框預測結果使用yolo層的預測結果(bounding box)加上anchor box來正確框出物件位置,公式轉換如下:pw / ph : anchor box長寬
tx / ty / tw / th: 網路預測四個值
cx / cy: 某個cell距離物件的top left corner距離如上圖,透過公式,找出藍色框框,其籃框是最符合物件大小的。
^_^ 發表在 痞客邦 留言(0) 人氣(4,245)