電子數據取證

林曉東(Xiaodong Lin) 譯 陳晶,郭永健,張俊,何琨 等

買這商品的人也買了...

商品描述

本書主要介紹計算機取證的相關概念和實踐,
目的是幫助讀者通過完成各種實踐練習,獲得收集和保存數字證據的實踐經驗。
本書共21章,每一章都集中於一個特定的取證主題,
且由兩個部分組成:背景知識和實踐練習。
本書以經驗為導向,包含了20個以探究為基礎的實踐練習,
以幫助讀者更好地理解數字取證概念和學習數字取證調查技術。
本書適用於正在學習數字取證相關課程或從事數字取證研究的本科生和研究生。
它還適用於數字取證從業者、IT安全分析師、IT安全行業的安全工程師,
特別是負責數字調查和事件處理的IT專業人士或在這些相關領域工作的研究人員。

作者簡介

林曉東(Xiaodong Lin)

北京郵電大學信息工程專業博士,滑鐵盧大學電子與計算機工程專業博士。
他目前是加拿大圭爾夫大學計算機科學學院副教授,
主要研究方向為無線通信與網絡安全、計算機取證、軟件安全、應用密碼學。
在過去的幾年裡,他的研究重點是保護車載自組網(VANET)。
他因在車輛通信安全和隱私保護方面的貢獻而被提升為IEEE會士。
此外,他一直在研究數字取證,並在數字取證領域的研究會議
DFRWS USA 2018上介紹了Android應用程序自動取證分析方面的工作。
他是多個國際期刊的副主編,曾擔任IEEE、愛思唯爾和施普林格期刊的許多特刊的客座編輯,
還擔任IEEE/ACM會議的研討會主席或分會主席。
他曾任IEEE通信協會(ComSoc)通信與信息安全技術委員會(CISTC)主席。
他也是一名認證信息系統安全專家(CISSP)。

目錄大綱


前言
編程基礎篇
第1章 ROS入門必#備知識  2
1.1 ROS簡介  2
1.1.1 ROS的性能特色  2
1.1.2 ROS的發行版本  3
1.1.3 ROS的學習方法  3
1.2 ROS開發環境的搭建  3
1.2.1 ROS的安裝  4
1.2.2 ROS文件的組織方式  4
1.2.3 ROS網絡通信配置  5
1.2.4 集成開發工具  5
1.3 ROS系統架構  5
1.3.1 從計算圖視角理解ROS架構  6
1.3.2 從文件系統視角理解ROS架構  7
1.3.3 從開源社區視角理解ROS架構  8
1.4 ROS調試工具  8
1.4.1 命令行工具  9
1.4.2 可視化工具  9
1.5 ROS節點通信  10
1.5.1 話題通信方式  12
1.5.2 服務通信方式  15
1.5.3 動作通信方式  19
1.6 ROS的其他重要概念  25
1.7 ROS 2.0展望  28
1.8 本章小結  28

第2章 C++編程範式  29
2.1 C++工程的組織結構  29
2.1.1 C++工程的一般組織結構  29
2.1.2 C++工程在機器人中的組織結構  29
2.2 C++代碼的編譯方法  30
2.2.1 使用g++編譯代碼  31
2.2.2 使用make編譯代碼  32
2.2.3 使用CMake編譯代碼  32
2.3 C++編程風格指南  33
2.4 本章小結  34

第3章 OpenCV圖像處理  35
3.1 認識圖像數據  35
3.1.1 獲取圖像數據  35
3.1.2 訪問圖像數據  36
3.2 圖像濾波  37
3.2.1 線性濾波  37
3.2.2 非線性濾波  38
3.2.3 形態學濾波  39
3.3 圖像變換  40
3.3.1 射影變換  40
3.3.2 霍夫變換  42
3.3.3 邊緣檢測  42
3.3.4 直方圖均衡  43
3.4 圖像特徵點提取  44
3.4.1 SIFT特徵點  44
3.4.2 SURF特徵點  50
3.4.3 ORB特徵點  52
3.5 本章小結  54

硬件基礎篇
第4章 機器人傳感器  56
4.1 慣性測量單元  56
4.1.1 工作原理  56
4.1.2 原始數據採集  60
4.1.3 參數標定  65
4.1.4 數據濾波  73
4.1.5 姿態融合  75
4.2 激光雷達  91
4.2.1 工作原理  92
4.2.2 性能參數  94
4.2.3 數據處理  96
4.3 相機  100
4.3.1 單目相機  101
4.3.2 雙目相機  107
4.3.3 RGB-D相機  109
4.4 帶編碼器的減速電機  111
4.4.1 電機  111
4.4.2 電機驅動電路  112
4.4.3 電機控制主板  113
4.4.4 輪式里程計  117
4.5 本章小結  118

第5章 機器人主機  119
5.1 X86與ARM主機對比  119
5.2 ARM主機樹莓派3B+  120
5.2.1 安裝Ubuntu MATE 18.04  120
5.2.2 安裝ROS melodic  122
5.2.3 裝機軟件與系統設置  122
5.3 ARM主機RK3399  127
5.4 ARM主機Jetson-tx2  128
5.5 分佈式架構主機  129
5.5.1 ROS網絡通信  130
5.5.2 機器人程序的遠程開發  130
5.6 本章小結  131

第6章 機器人底盤  132
6.1 底盤運動學模型  132
6.1.1 兩輪差速模型  132
6.1.2 四輪差速模型  136
6.1.3 阿克曼模型  140
6.1.4 全向模型  144
6.1.5 其他模型  148
6.2 底盤性能指標  148
6.2.1 載重能力  148
6.2.2 動力性能  148
6.2.3 控制精度  150
6.2.4 里程計精度  150
6.3 典型機器人底盤搭建  151
6.3.1 底盤運動學模型選擇  152
6.3.2 傳感器選擇  152
6.3.3 主機選擇  153
6.4 本章小結  155
SLAM篇

第7章 SLAM中的數學基礎  158
7.1 SLAM發展簡史  158
7.1.1 數據關聯、收斂和一致性  160
7.1.2 SLAM的基本理論  161
7.2 SLAM中的概率理論  163
7.2.1 狀態估計問題  164
7.2.2 概率運動模型  166
7.2.3 概率觀測模型  171
7.2.4 概率圖模型  173
7.3 估計理論  182
7.3.1 估計量的性質  182
7.3.2 估計量的構建  183
7.3.3 各估計量對比  190
7.4 基於貝葉斯網絡的狀態估計  193
7.4.1 貝葉斯估計  194
7.4.2 參數化實現  196
7.4.3 非參數化實現  202
7.5 基於因子圖的狀態估計  206
7.5.1 非線性#小二乘估計  206
7.5.2 直接求解方法  206
7.5.3 優化方法  208
7.5.4 各優化方法對比  218
7.5.5 常用優化工具  219
7.6 典型SLAM算法  221
7.7 本章小結  221

第8章 激光SLAM系統  223
8.1 Gmapping算法  223
8.1.1 原理分析  223
8.1.2 源碼解讀  228
8.1.3 安裝與運行  233
8.2 Cartographer算法  240
8.2.1 原理分析  240
8.2.2 源碼解讀  247
8.2.3 安裝與運行  258
8.3 LOAM算法  266
8.3.1 原理分析  266
8.3.2 源碼解讀  267
8.3.3 安裝與運行  270
8.4 本章小結  270

第9章 視覺SLAM系統  272
9.1 ORB-SLAM2算法  274
9.1.1 原理分析  274
9.1.2 源碼解讀  310
9.1.3 安裝與運行  319
9.1.4 拓展  327
9.2 LSD-SLAM算法  329
9.2.1 原理分析  329
9.2.2 源碼解讀  334
9.2.3 安裝與運行  337
9.3 SVO算法  338
9.3.1 原理分析  338
9.3.2 源碼解讀  341
9.4 本章小結  341

第10章 其他SLAM系統  344
10.1 RTABMAP算法  344
10.1.1 原理分析  344
10.1.2 源碼解讀  351
10.1.3 安裝與運行  357
10.2 VINS算法  362
10.2.1 原理分析  364
10.2.2 源碼解讀  373
10.2.3 安裝與運行  376
10.3 機器學習與SLAM  379
10.3.1 機器學習  379
10.3.2 CNN-SLAM算法  411
10.3.3 DeepVO算法  413
10.4 本章小結  414

自主導航篇
第11章 自主導航中的數學基礎  418
11.1 自主導航  418
11.2 環境感知  420
11.2.1 實時定位  420
11.2.2 環境建模  421
11.2.3 語義理解  422
11.3 路徑規劃  422
11.3.1 常見的路徑規划算法  423
11.3.2 帶約束的路徑規划算法  430
11.3.3 覆蓋的路徑規划算法  434
11.4 運動控制  435
11.4.1 基於PID的運動控制  437
11.4.2 基於MPC的運動控制  438
11.4.3 基於強化學習的運動控制  441
11.5 強化學習與自主導航  442
11.5.1 強化學習  443
11.5.2 基於強化學習的自主導航  465
11.6 本章小結  467

第12章 典型自主導航系統  470
12.1 ros-navigation導航系統  470
12.1.1 原理分析  470
12.1.2 源碼解讀  475
12.1.3 安裝與運行  479
12.1.4 路徑規劃改進  492
12.1.5 環境探索  496
12.2 riskrrt導航系統  498
12.3 autoware導航系統  499
12.4 導航系統面臨的一些挑戰  500
12.5 本章小結  500

第13章 機器人SLAM導航綜合實戰  502
13.1 運行機器人上的傳感器  502
13.1.1 運行底盤的ROS驅動  503
13.1.2 運行激光雷達的ROS驅動  503
13.1.3 運行IMU的ROS驅動  504
13.1.4 運行相機的ROS驅動  504
13.1.5 運行底盤的urdf模型  505
13.1.6 傳感器一鍵啟動  506
13.2 運行SLAM建圖功能  506
13.2.1 運行激光SLAM建圖功能  507
13.2.2 運行視覺SLAM建圖功能  508
13.2.3 運行激光與視覺聯合建圖功能  508
13.3 運行自主導航  509
13.4 基於自主導航的應用  510
13.5 本章小結  511
附錄A Linux與SLAM性能優化的探討  512
附錄B 習題  523