会员   密码 您忘记密码了吗?
1,580,216 本书已上架      购物流程 | 常见问题 | 联系我们 | 关于我们 | 用户协议

有店 App


当前分类

商品分类

当前位置: 首页 > 简体书 > 深入理解計算機視覺:在邊緣端構建高效的目標檢測應用
深入理解計算機視覺:在邊緣端構建高效的目標檢測應用
上一张
下一张
prev next

深入理解計算機視覺:在邊緣端構建高效的目標檢測應用

作者: 張晨然
出版社: 電子工業出版社
出版日期: 2023-06-01
商品库存: 点击查询库存
以上库存为海外库存属流动性。
可选择“空运”或“海运”配送,空运费每件商品是RM14。
配送时间:空运约8~12个工作天,海运约30个工作天。
(以上预计配送时间不包括出版社库存不足需调货及尚未出版的新品)
定价:   NT894.00
市场价格: RM160.72
本店售价: RM143.04
购买数量:
collect Add to cart Add booking
详细介绍 商品属性 商品标记
內容簡介

《深入理解計算機視覺:在邊緣端構建高效的目標檢測應用》按實戰專案研發的先後順序,介紹了目標檢測神經網路從研發到運營的全生命週期。首先介紹了目標檢測場景下的圖片標注方法和資料格式,以及與之密切相關的特徵融合網路和預測網路;介紹了資料“後處理”所涉及的 NMS 演算法及其變種,在此基礎上,讀者只需結合各式各樣的骨幹網路就可以搭建完整的一階段目標檢測神經網路模型。接下來介紹了神經網路的動態模式和靜態模式兩種訓練方法,以及訓練過程中的資料監控和異常處理。最後以亞馬遜雲和谷歌 Coral 開發板為例,介紹了神經網路的雲端部署和邊緣端部署。其中,對於邊緣端部署,本書還詳細介紹了神經網路量化模型的基礎原理和模型編譯邏輯,這對將神經網路轉化為可獨立交付的產品至關重要。

《深入理解計算機視覺:在邊緣端構建高效的目標檢測應用》還結合智慧交通、智慧後勤、自動駕駛等項目,介紹了計算機視覺資料增強技術和神經網路性能評估原理,以及邊緣計算閘道、邊緣計算系統、自動駕駛資料的計算原理和 PointNet++等多個三維目標檢測神經網路,説明讀者快速將計算機視覺技術運用到實際生產中。

《深入理解計算機視覺:在邊緣端構建高效的目標檢測應用》實用性非常強,既適合對計算機視覺具有一定瞭解的高等院校本科生、研究生及具有轉型意願的軟體工程師入門學習,又適合計算機視覺工程項目研發和運營人員參考閱讀。對深度學習關鍵演算法和骨幹網路設計等基礎知識感興趣的讀者還可以閱讀本書作者編寫的《深入理解計算機視覺:關鍵演算法解析和深度神經網路設計》一書。
 


作者介紹

張晨然

作者本科畢業于天津大學通信工程專業,碩士研究生階段就讀于廈門大學,主攻嵌入式系統和數位信號底層演算法,具備扎實的理論基礎。

作者先後就職于中國電信集團公司和福建省電子資訊(集團)有限責任公司,目前擔任福建省人工智慧學會的理事和企業工作委員會的主任,同時也擔任谷歌開發者社區、亞馬遜開發者生態的福州區域負責人,長期從事機器視覺和自然語言基礎技術的研究,積累了豐富的人工智慧專案經驗,致力於推動深度學習在交通、工業、民生、建築等領域的應用落地。作者于2017年獲得高級工程師職稱,擁有多項發明專利。
 


目錄

第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