OpenCV深度學習應用與性能優化實踐( 簡體 字) | |
作者:吳至文 郭葉軍 宗煒 李鵬 趙娟 | 類別:1. -> 教材 -> 數位影像處理 2. -> 程式設計 -> 深度學習 |
出版社:機械工業 | 3dWoo書號: 52982 詢問書籍請說出此書號! 有庫存 NT售價: 445 元 |
出版日:6/1/2020 | |
頁數:281 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787111656463 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
序一
序二 序三 序四 前言 第1章OpenCV和深度學習 1 1.1 OpenCV處理流程 1 1.1.1 OpenCV庫 1 1.1.2 OpenCV深度學習應用的典型流程 3 1.2 機器學習的數學視角 5 1.2.1 機器學習和非機器學習 5 1.2.2 從人工神經網路到深度學習 8 1.2.3 破除神秘——神經網路是如何訓練的 11 1.3 OpenCV深度學習模組 16 1.3.1 主要特性 16 1.3.2 OpenCV DNN圖像分類舉例(Python) 17 1.4 本章小結 19 第2章OpenCV深度學習模組解析 20 2.1 深度學習模組分層架構總覽 20 2.2 語言綁定和測試層 21 2.2.1 深度學習模組的Python語言綁定 21 2.2.2 深度學習模組的正確性測試和性能測試 23 2.3 API層 30 2.3.1 Layer 類及如何定制一個新的層類型 30 2.3.2 Net 類 32 2.3.3 常用函數 35 2.4 DNN引擎層 37 2.4.1 模型導入 37 2.4.2 推理引擎資料物件管理 43 2.4.3 推理引擎重點層解釋 47 2.4.4 層的合併優化 62 2.5 引擎加速層 66 2.5.1 深度學習模組支援的運算目標設備 67 2.5.2 深度學習模組支援的加速後端 68 2.5.3 加速方式的選擇 69 2.6 本章小結 70 第3章平行計算與GPU架構 71 3.1 平行計算淺談 71 3.2 Intel GPU架構及其在平行計算中的應用 74 3.2.1 Intel GPU的計算架構 74 3.2.2 兩種不同的SIMD使用思路——AOS和SOA 82 3.2.3 cl_intel_subgroups 在 Intel GPU 上的參考實現 89 3.3 本章小結 100 第4章基於Vulkan的加速實現 101 4.1 初識Vulkan 101 4.2 使用Vulkan加速 102 4.3 Vulkan後端加速過程解析 104 4.3.1 資料物件初始化 105 4.3.2 後端運算節點初始化 108 4.3.3 調用後端運算節點進行前向運算 111 4.3.4 Vulkan後端庫 113 4.4 本章小結 119 第5章基於OpenCL的加速實現 120 5.1 OpenCL簡介 120 5.2 如何使用OpenCL加速 125 5.3 OpenCL加速詳解 128 5.3.1 OpenCL API封裝 129 5.3.2 DNN模組的卷積層實現詳解 132 5.3.3 ocl4dnn庫的卷積運算類詳解 134 5.3.4 卷積核函數auto-tuning機制解析 138 5.4 本章小結 143 第6章CPU及協力廠商庫加速的實現 144 6.1 原生CPU加速實現 144 6.1.1 基於多執行緒技術的加速 147 6.1.2 基於並行指令的加速 153 6.2 Halide後端的實現 157 6.2.1 Halide介紹 158 6.2.2 如何啟用Halide 163 6.2.3 Halide後端的實現原理 165 6.3 Intel推理引擎後端的實現 171 6.3.1 Intel推理引擎介紹 171 6.3.2 如何啟用推理引擎後端 172 6.3.3 Intel推理引擎後端的實現原理 176 6.4 本章小結 185 第7章視覺化工具與性能優化 186 7.1 Netscope:基於Web的Caffe網路視覺化工具 186 7.2 TensorBoard:助力TensorFlow程式的理解和調試 188 7.2.1 圖的視覺化 188 7.2.2 數據的視覺化 191 7.2.3 調試的視覺化 197 7.3 VTune:Intel 平臺的性能調優 199 7.3.1 系統性能查看工具 200 7.3.2 Intel VTune 功能介紹 202 7.3.3 VTune 程式性能優化實例 211 7.4 程式優化流程總結和建議 213 7.5 本章小結 215 第8章支付級人臉識別專案開發實戰 216 8.1 活體檢測的概念與方法 216 8.2 支付級人臉識別專案流程 218 8.3 基於OpenCV的支付級人臉識別項目具體實現 220 8.3.1 數據準備 222 8.3.2 活體檢測模型訓練 230 8.3.3 支付級人臉識別系統實現 238 8.4 本章小結 244 第9章深度學習模組不同場景下的應用實踐 245 9.1 圖像分類 245 9.1.1 圖像分類經典網路結構 245 9.1.2 GoogLeNet 247 9.1.3 圖像分類程式源碼分析 249 9.1.4 圖像分類程式運行結果 255 9.2 目標檢測 256 9.2.1 SSD演算法解析 256 9.2.2 目標檢測程式源碼分析 257 9.2.3 目標檢測程式運行結果 260 9.3 語義分割 261 9.3.1 FCN模型 262 9.3.2 語義分割程式源碼分析 263 9.3.3 語義分割程式運行結果 267 9.4 視覺風格變換 268 9.4.1 視覺風格變換模型 268 9.4.2 視覺風格變換程式源碼分析 269 9.4.3 視覺風格變換程式運行結果 271 9.5 本章小結 273 附錄AOpenCV的編譯安裝及patch開發流程 274 附錄Bintel_gpu_frequency工具的安裝和使用 280 Intel音視頻團隊與阿里巴巴圖像處理專家聯合撰寫,知名專家聯袂推薦,深入解析OpenCV DNN 模塊、基于GPU/CPU的加速實現、性能優化技巧與可視化工具,以及人臉活體檢測(完整案例)與主流識別項目解析。
第1~2章介紹了OpenCV編譯、運行,深度學習模塊(Open DNN)的架構、實現原理,以及深度學習的數學基礎與如何快速上手。 第3~5章主要介紹了OpenCV的GPU加速原理,涵蓋必要的并行計算知識、Intel GPU硬件結構,以及OpenCL和Vulkan加速實現,是性能優化工作的核心。 第6章介紹了CPU的硬件知識,以及深度學習模塊的CPU加速方法,重點講解了指令集SIMD加速,討論了Halide后端加速、OpenVINO(Intel推理引擎)加速。 第7章介紹了常用的深度神經網絡可視化工具——TensorBoard(適用于TensorFlow網絡格式),Netscope(適用于Caffe網絡格式),針對Intel硬件平臺的性能調優工具VTune,以及高階程序優化的思路和方法。 第8~9章重點講解實踐細節,包括用深度學習方法處理計算機視覺的基本問題,以及一個完整的人臉活體檢測項目與主流識別項目解析。 |