预购商品
书目分类
特别推荐
第1篇 一階段目標檢測神經網路的結構設計 第1章 目標檢測的競賽和數據集 2 1.1 計算機視覺坐標系的約定和概念 2 1.1.1 圖像的坐標系約定 2 1.1.2 矩形框的描述方法約定 3 1.2 PASCAL VOC競賽和數據集 6 1.2.1 PASCAL VOC競賽任務和數據集簡介 6 1.2.2 PASCAL VOC2007數據集探索 8 1.3 MS COCO挑戰賽和數據集 14 1.3.1 MS COCO挑戰賽的競賽任務 14 1.3.2 MS COCO數據集簡介 17 1.4 目標檢測標注的解析和統計 18 1.4.1 XML檔的格式 18 1.4.2 XML檔解析和數據均衡性統計 20 第2章 目標檢測神經網路綜述 24 2.1 幾個著名的目標檢測神經網路 24 2.1.1 R-CNN家族神經網路簡介 25 2.1.2 YOLO和SSD神經網路簡介 28 2.1.3 CenterNet神經網路簡介 30 2.1.4 U-Net神經網路簡介 31 2.2 目標檢測神經網路分類和高階API資源 32 2.3 矩形框的交並比評價指標和實現 34 第3章 一階段目標檢測神經網路的特徵融合和中段網路 40 3.1 一階段目標檢測神經網路的整體結構 40 3.2 一階段目標檢測神經網路的若干中段網路介紹 41 3.2.1 單向融合的中段網路 41 3.2.2 簡單雙向融合的中段網路 43 3.2.3 複雜雙向融合的中段網路 45 3.3 不同融合方案中段網路的關係和應用 46 3.4 YOLO的多尺度特徵融合中段網路案例 47 3.4.1 YOLOV3的中段網路及實現 48 3.4.2 YOLOV4的中段網路PANet及實現 52 3.4.3 YOLOV3-tiny和YOLOV4-tiny版本的中段網路及實現 58 3.5 神經網路輸出的解碼 62 3.5.1 融合特徵圖的幾何含義 62 3.5.2 矩形框中心點座標的解碼 65 3.5.3 矩形框寬度和高度的解碼 67 3.5.4 前背景概率和分類概率的解碼 69 3.5.5 矩形框角點座標和解碼函數整體輸出 70 第4章 一階段目標檢測神經網路典型案例——YOLO解析 73 4.1 YOLO家族目標檢測神經網路簡介 73 4.2 先驗錨框和YOLO神經網路的檢測思路 74 4.2.1 用人為設定方式找到的先驗錨框 74 4.2.2 用聚類回歸方式找到的先驗錨框 76 4.2.3 YOLO的先驗錨框編號 79 4.2.4 YOLO的XYSCALE和縮放比參數 81 4.3 建立YOLO神經網路 82 4.3.1 根據選擇確定YOLO神經網路參數 83 4.3.2 建立骨幹網路、中段網路和預測網路 84 4.3.3 加上解碼網路後建立完整的YOLO模型 86 4.4 YOLO神經網路的遷移學習和權重載入 89 4.4.1 骨幹網路關鍵層的起止編號 89 4.4.2 中段網路和預測網路關鍵層的起止編號 93 4.4.3 YOLO模型的權重載入 100 4.5 原版YOLO模型的預測 107 4.5.1 原版YOLO模型的建立和參數載入 107 4.5.2 神經網路的輸入/輸出數據重組 108 4.6 NMS演算法的原理和預測結果視覺化 111 4.6.1 傳統NMS演算法原理 112 4.6.2 NMS演算法的變種 116 4.6.3 預測結果的篩選和視覺化 121 4.7 YOLO模型的多個衍生變種簡介 124 4.8 YOLO模型的發展與展望 127 第2篇 YOLO神經網路的損失函數和訓練 第5章 將數據資源製作成標準TFRecord數據集檔 130 5.1 數據資源的載入 130 5.2 數據資源的解析和提取 135 5.3 TFRecord數據集文件的製作 139 5.4 單樣本的example物件製作 139 5.5 遍歷全部樣本製作完整數據集 144 5.6 從數據集提取樣本進行核對 145 第6章 數據集的後續處理 150 6.1 數據集的載入和打包 150 6.1.1 數據集的載入和矩陣化 150 6.1.2 圖像矩陣尺寸的標準化 153 6.1.3 真實矩形框標注矩陣尺寸的標準化 158 6.1.4 數據集的打包處理 159 6.2 將原始數據集打包為可計算數據集 163 6.2.1 計算真實矩形框與先驗錨框的匹配度排名 164 6.2.2 找到真實矩形框所對應的網格下的先驗錨框 169 6.2.3 可計算數據集測試 177 第7章 一階段目標檢測的損失函數的設計和實現 181 7.1 損失函數框架和輸入數據的合理性判別 182 7.2 真實數據和預測數據的對應和分解 184 7.3 預測矩形框的前背景歸類和權重分配 188 7.4 預測矩形框的誤差度量 192 7.4.1 用中心點表示的位置誤差 192 7.4.2 用寬度和高度表示的位置誤差 192 7.4.3 用通用交並比表示的矩形框誤差 194 7.4.4 用距離交並比表示的矩形框誤差 198 7.4.5 用完整交並比表示的矩形框誤差 200 7.4.6 用交並比量化矩形框預測誤差的實踐 206 7.5 前景和背景的預測誤差 208 7.5.1 前景誤差和背景誤差的定義 208 7.5.2 樣本均衡原理和Focal-Loss應用 209 7.6 分類預測誤差 212 7.7 總誤差的合併和數值合理性確認 213 第8章 YOLO神經網路的訓練 217 8.1 數據集和模型準備 217 8.1.1 參數配置 217 8.1.2 數據集預處理 220 8.1.3 模型參數載入和凍結 223 8.2 動態模式訓練 225 8.2.1 監控指標的設計和日誌存儲 225 8.2.2 動態模式下神經網路的訓練和調試 230 8.3 訓練中非法數值的監控和調試 237 8.3.1 發現和監控非法數值計算結果 237 8.3.2 計算結果出現非法數值的原因和對策 240 8.4 靜態模式訓練和TensorBoard監控 244 第3篇 目標檢測神經網路的雲端和邊緣端部署 第9章 一階段目標檢測神經網路的雲端訓練和部署 250 9.1 一階段目標檢測神經網路的推理模型設計 250 9.1.1 一階段目標檢測神經網路的推理形態 250 9.1.2 推理場景下的數據重組網路 251 9.1.3 構造推理場景下的YOLO模型函數 254 9.1.4 構造和測試YOLO推理模型 255 9.2 目標檢測推理模型的雲端部署 256 9.2.1 亞馬遜EC2雲計算實例選型 257 9.2.2 使用雲端伺服器部署模型並回應推理請求 257 9.3 在亞馬遜SageMakerStudio上訓練雲計算模型 259 第10章 神經網路的INT8全整數量化原理 262 10.1 神經網路量化模型的基本概念 262 10.1.1 神經網路量化模型速覽和視覺化 262 10.1.2 浮點數值的量化存儲和計算原理 268 10.2 神經網路量化模型的製作和分析 273 10.2.1 運算元的映射和合併 273 10.2.2 量化參數搜索和代表數據集 276 10.2.3 TFLite量化模型的運算元和張量分析 279 10.3 量化性能分析和量化模型的逐層調試 289 10.3.1 量化信噪比分析原理 289 10.3.2 量化模型的單層誤差調試 294 10.3.3 量化模型的誤差累積調試 296 10.4 不支持運算元的替換技巧 300 10.4.1 大動態範圍非線性運算元替換原理 301 10.4.2 大動態範圍非線性運算元替換效果 303 第11章 以YOLO和Edge TPU為例的邊緣計算實戰 305 11.1 TensorFlow模型的量化 307 11.1.1 量化感知訓練獲得INT8整型模型 308 11.1.2 訓練後量化獲得INT8整型模型 313 11.2 神經網路模型的編譯 315 11.2.1 模型編譯的工作原理 315 11.2.2 在Edge TPU上部署模型的注意事項 318 11.3 YOLO目標檢測模型的量化和編譯 321 11.3.1 YOLO變種版本選擇和骨幹網路修改 321 11.3.2 針對硬體限制進行解碼網路的修改 322 11.3.3 預測矩陣的匯總重組 325 11.3.4 YOLO推理模型的建立 327 11.3.5 YOLO模型的量化 329 11.3.6 量化模型的測試和信噪比分析 331 11.4 YOLO量化模型的編譯和邊緣端部署 337 11.4.1 量化模型轉換為編譯模型 337 11.4.2 編寫邊緣端編譯模型推理代碼 341 第4篇 個性化數據增強和目標檢測神經網路性能測試 第12章 個性化目標檢測數據集處理 346 12.1 農村公路占道數據的目標檢測應用 346 12.1.1 專案數據背景 346 12.1.2 數據的預處理 347 12.2 數據的增強 350 12.2.1 數據增強技術的概念和效果 350 12.2.2 基於空間變換的數據增強方法 351 12.2.3 基於顏色空間的數據增強方法 354 12.2.4 其他圖像數據的增強手法 357 12.2.5 圖像數據集的增強工具和探索工具 360 12.3 使用Albumentations進行數據增強 361 12.3.1 Albumentations的安裝和使用 361 12.3.2 幾何數據增強管道的配置 362 12.3.3 使用數據管道處理並保存數據 364 12.3.4 圖元數據增強管道的配置 366 12.3.5 增強數據集的運用 367 第13章 模型性能的定量測試和決策閾值選擇 368 13.1 神經網路性能量化的基本概念 368 13.1.1 神經網路預測的混淆矩陣 368 13.1.2 神經網路量化評估和P-R曲線 369 13.1.3 多分類目標檢測場景和平均精確率均值 371 13.1.4 F分數評估方法 372 13.2 餐盤識別神經網路性能測試案例 373 13.2.1 專案背景 373 13.2.2 提取全部真實數據和預測結果 375 13.2.3 模擬不同決策閾值下的精確率和召回率 378 第14章 使用邊緣計算閘道進行多路攝像頭目標檢測 385 14.1 邊緣計算閘道的整體結構 385 14.1.1 核心TPU組件 385 14.1.2 計算卡和模組 386 14.1.3 下位機的作業系統 387 14.1.4 下位機的開發環境簡介 388 14.2 開發環境準備 392 14.2.1 上位機安裝Docker 392 14.2.2 上位機裝載鏡像和SDK開發包 393 14.2.3 神經網路工具鏈和主要用途 397 14.2.4 針對TensorFlow模型的編譯方法 398 14.3 浮點32位元模型部署的全流程 399 14.3.1 訓練主機將Keras模型轉換為單pb模型檔 399 14.3.2 上位機將單pb模型檔編譯為bmodel模型檔 400 14.3.3 下位機讀取和探索bmodel模型檔 402 14.3.4 下位機使用bmodel模型檔進行推理 406 14.4 邊緣端全整數量化模型部署 410 14.4.1 在上位機Docker內製作代表數據集 410 14.4.2 在上位機Docker內生成fp32umodel模型檔 412 14.4.3 手動增加fp32umodel模型檔的輸入層映射運算元 414 14.4.4 對fp32umodel模型檔進行優化 415 14.4.5 在上位機Docker內將fp32umodel模型檔編譯為int8umodel模型檔 416 14.4.6 umodel模型檔的調試技巧 418 14.5 模型的編譯和部署 419 14.5.1 上位機將int8umodel模型檔編譯為bmodel模型檔 419 14.5.2 全整數量化int8bmodel模型檔的邊緣端推導和測試 422 14.5.3 編譯模型在邊緣計算閘道上的性能測試 423 第15章 邊緣計算開發系統和RK3588 427 15.1 RK3588邊緣推理開發系統結構 427 15.1.1 開發板和核心晶片架構 427 15.1.2 開發板作業系統和調試環境 429 15.2 開發工具鏈和神經網路模型部署 431 15.2.1 上位機開發環境配置 431 15.2.2 上位機的模型轉換 433 15.2.3 下位機使用編譯模型進行推理 439 15.2.4 RK3588的運算元調試技巧 443 第5篇 三維計算機視覺與自動駕駛 第16章 三維目標檢測和自動駕駛 448 16.1 自動駕駛數據集簡介 448 16.2 KITTI數據集計算原理 450 16.3 自動駕駛的點雲特徵提取 461 附錄A 官方代碼引用說明 469 附錄B 本書運行環境搭建說明 471 附錄C TensorFlow矩陣基本操作 473 參考文獻 474
張晨然 作者本科畢業于天津大學通信工程專業,碩士研究生階段就讀于廈門大學,主攻嵌入式系統和數位信號底層演算法,具備扎實的理論基礎。 作者先後就職于中國電信集團公司和福建省電子資訊(集團)有限責任公司,目前擔任福建省人工智慧學會的理事和企業工作委員會的主任,同時也擔任谷歌開發者社區、亞馬遜開發者生態的福州區域負責人,長期從事機器視覺和自然語言基礎技術的研究,積累了豐富的人工智慧專案經驗,致力於推動深度學習在交通、工業、民生、建築等領域的應用落地。作者于2017年獲得高級工程師職稱,擁有多項發明專利。
客服公告
热门活动
订阅电子报