PyTorch 自動駕駛視覺感知算法實戰
劉斯坦
- 出版商: 機械工業
- 出版日期: 2024-01-01
- 售價: $714
- 貴賓價: 9.5 折 $678
- 語言: 簡體中文
- 頁數: 264
- 裝訂: 平裝
- ISBN: 7111740270
- ISBN-13: 9787111740278
-
相關分類:
DeepLearning、自駕車
立即出貨
買這商品的人也買了...
-
$648$616 -
$709深入理解電腦視覺:關鍵算法解析與深度神經網絡設計
-
$454$427 -
$760PyTorch 電腦視覺實戰:目標偵測、影像處理與深度學習
-
$980$774 -
$720$569 -
$556$523 -
$1,280$1,011 -
$760$593 -
$505$475 -
$880$695 -
$880$695 -
$474$450 -
$539$512 -
$660$515 -
$594$564 -
$474$450 -
$534$507 -
$850$671 -
$1,800$1,422 -
$780$616 -
$690$545 -
$680$537 -
$599$473 -
$480$379
商品描述
本書全面介紹了自動駕駛系統中深度學習視覺感知的相關知識,包括深度神經網絡和深度捲積神經網絡的基本理論,
深入講解了自動駕駛中常用的目標檢測、語義、實例分割和單目深度估計四種視覺感知任務。
本書對自動駕駛工程實踐中很重要但經常被忽略的知識進行了全面總結,包括多任務模型的損失平衡、
Ubuntu操作系統、Anaconda和Docker等環境配置工具、C++開發環境搭建、
神經網絡壓縮、模型導出和量化、TensorRT推理引擎等和部署相關的技術。
本書各個任務都由PyTorch實現,模型部署的代碼則提供C++實現,並附帶一個中等規模的自動駕駛數據集用於示例。
所有代碼都公開在Github公開源碼倉庫上,很多代碼可以直接用於生產環境,且提供了商業友好的代碼許可證。
作者簡介
劉斯坦,本科畢業於上海交通大學,碩士畢業於德國慕尼黑工業大學。深度學習資深工程師,從事無人駕駛智慧感知系統的研發工作。相關領域從業超過十年,負責無人駕駛系統中多個神經網絡模型在量產車的落地。對深度學習的各個領域不但有著全景式的理解,也具備從數學理論到部署產品線的知識縱深。
目錄大綱
前言
第1章 捲積神經網絡的理論基礎
1.1神經網絡回顧
1.1.1神經網絡模型
1.1.2神經網絡的訓練——反向傳播算法
1.1.3神經網絡的擬合能力和泛化能力
1.2什麽是捲積神經網絡
1.2.1什麽是捲積運算
1.2.2通道(Channel)和三維捲積
1.2.3為什麽需要深度網絡
1.2.4什麽是批次(Batch)
1.3捲積神經網絡的組成細節
1.3.1捲積神經網絡的輸入層
1.3.2神經網絡的輸出層
1.3.3捲積層和轉置捲積層
1.3.4激活層
1.3.5歸一化層
1.3.6上採樣層和下採樣層
1.3.7池化層
1.3.8跳躍、空間註意力等特殊的連接方式
1.3.9構建一個復雜的捲積神經網絡
1.4捲積神經網絡的訓練
1.4.1常用損失函數
1.4.2常用的正則化方法
1.4.3常用的優化器
1.4.4常用的訓練學習率調整方法
第2章 深度學習開發環境及常用工具庫
2.1硬件和操作系統
2.1.1顯卡
2.1.2操作系統
2.2Python開發環境管理
2.2.1Anaconda虛擬環境的管理
2.2.2Python的包管理器pip
2.3常用的Python包
2.3.1NumPy——Python科學計算庫
2.3.2OpenCV——Python圖像處理庫
2.4GPU加速的深度學習和科學計算庫PyTorch
2.4.1GPU加速的科學計算功能
2.4.2PyTorch的自動求導功能
2.4.3PyTorch的優化器
2.4.4PyTorch的數據加載
2.4.5用PyTorch搭建神經網絡
2.4.6常用的輔助工具
2.4.7搭建一個神經網絡並進行訓練
第3章 神經網絡的特徵編碼器——主乾網絡
3.1什麽是神經網絡的主乾網絡
3.1.1神經網絡的元結構
3.1.2神經網絡的主乾網絡及有監督預訓練
3.1.3主乾網絡的自監督預訓練
3.2流行的主乾網絡
3.2.1簡單直白的主乾網絡——類VGG網絡
3.2.2最流行的主乾網絡——ResNet系列網絡
3.2.3速度更快的輕量級主乾網絡——MobileNet系列
3.2.4自由縮放的主乾網絡——RegNet系列
3.3使用TorchVision模型庫提供的主乾網絡
3.3.1構建和加載模型
3.3.2修改主乾網絡獲取多尺度特徵圖
3.3.3不同主乾網絡和預訓練模型的訓練對比
第4章 目標檢測網絡——識別車輛
4.1目標檢測基本概念
4.1.1Anchor
4.1.2NMS
4.1.3目標檢測網絡的類別
4.2以Faster RCNN為代表的兩階段檢測方法
4.2.1RPN網絡
4.2.2ROI網絡
4.2.3使用TorchVision模型庫中的Faster RCNN
4.3以Yolo為代表的一階段檢測方法
4.3.1YoloV3的整體結構
4.3.2Yolo的訓練
4.3.3類Yolo的一階段檢測網絡
4.4以CenterNet為代表的Anchor-Free方法
4.4.1CenterNet的整體結構
4.4.2用高斯模糊和Focal Loss訓練CenterNet
4.4.3YoloX網絡
4.5Yolo的PyTorch實現
4.5.1樣本選擇算法的實現
4.5.2Yolo層的實現
4.5.3構造損失函數
4.5.4NMS的實現
第5章 語義分割與實例分割——逐像素分類
5.1語義分割
5.1.1語義分割的網絡構架和損失函數
5.1.2評價語義分割質量的指標
5.1.3使用OHEM和類別權重解決樣本不均衡問題
5.1.4語義分割的關鍵——信息融合
5.2使用PyTorch訓練一個語義分割模型
5.2.1語義分割的數據加載
5.2.2加載Lite R-ASPP語義分割模型進行訓練
5.2.3計算混淆矩陣
5.2.4計算mIoU
5.3實例分割——分辨行人和車輛
5.3.1以Mask-RCNN為代表的兩階段實例分割方法
5.3.2以SOLO為代表的單階段實例分割方法
5.3.3基於CondInst的半監督實例分割方法BoxInst
5.4安裝及使用OpenMMLab——以MMDetection為例
5.4.1安裝和配置MMDetection
5.4.2MMDetection介紹
5.4.3SOLO代碼解析
第6章 單目深度估計——重建三維世界
6.1電腦三維視覺基礎知識
6.1.1相機模型
6.1.2什麽是深度圖
6.1.3相機運動模型
6.2單目深度估計的網絡構架
6.2.1深度圖預測網絡
6.2.2基於相對視差的深度圖輸出編碼
6.2.3基於有序回歸的深度圖輸出編碼
6.2.4相機運動估計網絡
6.3無監督學習的機制
6.3.1無監督學習系統構架
6.3.2將深度圖反投影為點雲的PyTorch實現
6.3.3從相鄰幀採集RGB值並重投影的PyTorch實現
6.3.4無監督單目深度推斷的損失函數
6.4可能存在的問題及解決方案
6.4.1用圖像梯度圖解決邊緣模糊問題
6.4.2用圖像一致性掩膜解決移動物體問題
6.4.3用速度損失解決尺度問題
第7章 通過控制網絡結構提高速度和精度
7.1使用多任務網絡構架提高速度和精度
7.1.1多任務網絡的設計
7.1.2多任務網絡的任務平衡問題
7.2用PyTorch搭建一個語義分割和目標檢測雙任務網絡
7.2.1多任務數據加載
7.2.2多任務網絡的搭建
7.2.3多任務損失的平衡
7.3壓縮神經網絡提高推理速度
7.3.1什麽是神經網絡壓縮
7.3.2幾種常見的通道剪枝方法
7.3.3在訓練中使用L1正則化壓縮權重
7.3.4使用可微通道加權進行通道剪枝
7.3.5網絡壓縮的流程
7.4用PyTorch實現可微網絡壓縮
7.4.1用PyTorch構造可微通道選擇層
7.4.2利用通道選擇層確定壓縮方案
7.4.3對PyTorch模型進行壓縮並對比運行速度
第8章 導出和部署神經網絡模型
8.1配置開發環境
8.1.1Docker的使用
8.1.2配置C 開發環境
8.2使用LibTorch部署PyTorch模型
8.2.1導出TorchScript模型
8.2.2將LibTorch加入CMake項目
8.2.3將輸入圖像轉換為Tensor
8.2.4加載TorchScript模型並進行推理
8.3用TensorRT部署模型