扶松柏,華中科技大學計算機碩士,通信工程碩士,Python開發工程師,Android開發工程師,熱衷於移動開底層系統架構、驅動開發、AI開發的研究和具體工作,對Python人工智能的架構設計和實現原理有非常深刻的認識和理解,應用開發經驗也十分豐富。
《圖像識別技術與實戰(OpenCV+dlib+Keras+Sklearn+TensorFlow)》的特色如下:
內容豐富、案例典型:本書詳細講解Python圖像視覺識別所需要的開發技術,採用理論加實例的教學方式,通過這些典型實例實現了對知識點的橫向切入和縱向比較,從不同的方位展現一個知識點的用法,讓讀者獲得更多的實踐演練機會。
詳解圖像識別流程:本書從一開始便對圖像視覺識別的流程進行了詳細介紹,而且在講解中結合了多個實用性很強的項目案例,帶領讀者掌握Python圖像視覺識別的相關知識,以解決實際工作中的問題。
掃碼在線觀看視頻講解:本書每個二級目錄後面都放置了一個二維碼,掃描二維碼可以在線觀看視頻講解,讀者可以一邊閱讀圖書,一邊在線觀看視頻,提高學習效率,加深對書中案例的理解和應用。
圖像識別是人工智能的一個重要領域,是指利用計算機對圖像進行處理、分析和理解,以識別各種不同模式的目標和物件的技術,並能對質量不佳的圖像進行一系列的增強與重建技術手段,從而有效改善圖像質量。
隨著計算機及信息技術的迅速發展,圖像識別技術的應用逐漸擴展到多個領域,尤其是在面部及指紋識別、衛星云圖識別及臨床醫療診斷等方面都日益發揮著重要作用。此外在日常生活中,圖像識別技術的應用也十分普遍,比如車牌捕捉、商品條碼識別及手寫識別等。隨著圖像識別技術的逐漸發展並不斷完善,未來它將具有更加廣泛的應用前景。
本書的特色
1.內容全面
本書詳細講解Python圖像視覺識別所需要的開發技術,循序漸進地講解了這些技術的使用方法和技巧,幫助讀者快速步入Python數據分析的高手之列。
2.實例驅動教學
本書採用理論加實例的教學方式,通過實例實現了知識點的橫向切入和縱向比較,讓讀者有更多的實踐演練機會,並且可以用不同的方式展現一個知識點的用法,真正實現了拔高的教學效果。
3.詳細介紹圖像視覺識別的流程
本書從一開始便對圖像視覺識別的流程進行了詳細介紹,而且在講解中結合了多個實用性很強的數據分析項目案例,帶領讀者掌握Python圖像視覺識別的相關知識,以解決實際工作中的問題。
4.掃描二維碼,獲取配書學習資源
本書正文中每個二級標題後都放了一個二維碼,讀者可通過該二維碼在線觀看視頻講解,幫助讀者深入理解書中的案例,提升學習效率。此外,讀者還可以掃描下方的二維碼獲取書中案例源代碼。
5.貼心提示和注意事項提醒
本書根據需要在各章安排了很多“注意”“說明”和“技巧”等小板塊,讓讀者可以在學習過程中更輕鬆地理解相關知識點及概念,更快地掌握個別技術的應用技巧。
本書內容
本書讀者物件
軟件工程師。
Python語言初學者。
專業圖像視覺識別人員。
數據庫工程師和管理員。
研發工程師。
大學及中學教育工作者。
致謝
本書在編寫過程中,得到了清華大學出版社各位編輯的大力支持,正是各位專業人士的求實、耐心和效率,才使得本書能夠在這麼短的時間內出版。另外也十分感謝我的家人給予的巨大支持。本人水平畢竟有限,書中存在紕漏之處在所難免,真誠感謝讀者提出的寶貴意見或建議,以便修訂並使之更臻完善。
最後感謝您購買本書,希望本書能成為您編程路上的領航者,祝您閱讀快樂!
第1章 圖像識別技術基礎 1
1.1 圖像識別概述 2
1.1.1 什麼是圖像識別 2
1.1.2 圖像識別的應用 2
1.2 圖像識別原理 3
1.3 圖像識別技術 4
1.3.1 AI(人工智能) 5
1.3.2 機器學習 5
1.3.3 深度學習 6
1.3.4 基於神經網絡的圖像識別 6
1.3.5 基於非線性降維的圖像識別 7
第2章 scikit-image數字圖像處理 9
2.1 scikit-image基礎 10
2.1.1 安裝scikit-image 10
2.1.2 scikit-image中的模塊 10
2.2 顯示圖像 11
2.2.1 使用skimage讀入並顯示外部圖像 11
2.2.2 讀取並顯示外部灰度圖像 12
2.2.3 顯示內置星空圖片 13
2.2.4 讀取並保存內置星空圖片 14
2.2.5 顯示內置星空圖片的基本信息 15
2.2.6 實現內置貓圖片的紅色通道的效果 16
2.3 常見的圖像操作 17
2.3.1 對內置貓圖片進行二值化操作 17
2.3.2 對內置貓圖片進行裁剪處理 18
2.3.3 將RGB圖轉換為灰度圖 19
2.3.4 使用skimage實現繪製圖片功能 20
2.3.5 使用subplot()函數繪製多視圖窗口 20
2.3.6 使用subplots()函數繪製多視圖窗口 22
2.3.7 改變指定圖片的大小 24
2.3.8 使用函數rescale()縮放圖片 25
2.3.9 使用函數rotate()旋轉圖片 25
第3章 OpenCV圖像視覺處理 27
3.1 OpenCV基礎 28
3.1.1 OpenCV介紹 28
3.1.2 OpenCV-Python介紹 28
3.1.3 安裝OpenCV-Python 29
3.2 OpenCV-Python圖像操作 29
3.2.1 讀取並顯示圖像 29
3.2.2 保存圖像 31
3.2.3 在Matplotlib中顯示圖像 32
3.2.4 繪圖 33
3.2.5 將鼠標作為畫筆 37
3.2.6 調色板程序 38
3.2.7 基本的屬性操作 40
3.2.8 圖像的幾何變換 42
3.2.9 圖像直方圖 45
3.2.10 特徵識別:Harris(哈裡斯)角檢測 49
3.3 OpenCV-Python視頻操作 51
3.3.1 讀取視頻 51
3.3.2 播放視頻 53
3.3.3 保存視頻 54
3.3.4 改變顏色空間 55
3.3.5 視頻的背景分離 56
3.4 簡易車牌識別系統 59
3.4.1 系統介紹 59
3.4.2 通用程序 59
3.4.3 主程序 64
第4章 dlib機器學習和圖像處理算法 67
4.1 dlib介紹 68
4.2 dlib基本的人臉檢測 68
4.2.1 人臉檢測 68
4.2.2 使用命令行的人臉識別 70
4.2.3 檢測人臉關鍵點 72
4.2.4 基於CNN的人臉檢測器 74
4.2.5 在攝像頭中識別人臉 76
4.2.6 人臉識別驗證 77
4.2.7 全局優化 79
4.2.8 人臉聚類 81
4.2.9 抖動采樣和增強 82
4.2.10 人臉和姿勢采集 84
4.2.11 物體追蹤 86
4.3 SVM分類算法 87
4.3.1 二進制SVM分類器 87
4.3.2 Ranking SVM算法 89
4.3.3 Struct SVM多分類器 92
4.4 自訓練模型 95
4.4.1 訓練自己的模型 95
4.4.2 自制物件檢測器 98
第5章 face_recognition人臉識別 103
5.1 安裝face_recognition 104
5.2 實現基本的人臉檢測 104
5.2.1 輸出顯示指定人像人臉特徵 104
5.2.2 在指定照片中識別標記出人臉 107
5.2.3 識別出照片中的所有人臉 108
5.2.4 判斷在照片中是否包含某個人臉 111
5.2.5 識別出在照片中的人到底是誰 113
5.2.6 攝像頭實時識別 114
5.3 深入face_recognition人臉檢測 120
5.3.1 檢測人臉眼睛的狀態 120
5.3.2 模糊處理人臉 122
5.3.3 檢測兩個人臉是否匹配 123
5.3.4 識別視頻中的人臉 125
5.3.5 網頁版人臉識別器 127
第6章 Scikit-Learn機器學習和人臉識別 131
6.1 Scikit-Learn基礎 132
6.1.1 Scikit-Learn介紹 132
6.1.2 安裝Scikit-Learn 132
6.2 基於Scikit-Learn的常用算法 132
6.2.1 Scikit-Learn機器學習的基本流程 133
6.2.2 分類算法 134
6.2.3 聚類算法 137
6.2.4 分解算法 139
6.3 Scikit-Learn和人臉識別 144
6.3.1 SVM算法人臉識別 144
6.3.2 KNN算法人臉識別 145
6.3.3 KNN算法實時識別 151
第7章 TensorFlow機器學習和圖像識別 155
7.1 TensorFlow基礎 156
7.1.1 TensorFlow介紹 156
7.1.2 TensorFlow的優勢 156
7.1.3 安裝TensorFlow 157
7.2 創建第一個機器學習程序 160
7.2.1 在PyCharm環境實現 160
7.2.2 在Colaboratory環境實現 162
7.3 使用內置方法進行訓練和評估 164
7.3.1 第一個端到端訓練和評估示例 164
7.3.2 使用compile()訓練模型 167
7.3.3 自定義損失 169
7.3.4 自定義指標 171
7.3.5 處理不適合標準簽名的損失和指標 173
7.3.6 自動分離驗證預留集 176
7.3.7 通過tf.data數據集進行訓練和評估 177
7.3.8 使用樣本加權和類加權 181
7.4 TensorFlow圖像視覺處理 183
7.4.1 導入需要的庫 183
7.4.2 導入 Fashion MNIST 數據集 184
7.4.3 瀏覽數據 186
7.4.4 預處理數據 186
7.4.5 構建模型 188
7.4.6 編譯模型 189
7.4.7 訓練模型 189
7.4.8 使用訓練好的模型 195
第8章 國內常用的第三方人臉識別平臺 197
8.1 百度AI開放平臺 198
8.1.1 百度AI開放平臺介紹 198
8.1.2 使用百度AI之前的準備工作 198
8.1.3 基於百度AI平臺的人臉識別 203
8.2 科大訊飛AI開放平臺 207
8.2.1 科大訊飛AI開放平臺介紹 207
8.2.2 申請試用 208
8.2.3 基於科大訊飛AI的人臉識別 209
第9章 AI人臉識別簽到打卡系統(PyQt5+百度AI+OpenCV-Python+SQLite3實現) 217
9.1 需求分析 218
9.1.1 背景介紹 218
9.1.2 任務目標 218
9.2 模塊架構 219
9.3 使用Qt Designer實現主窗口界面 220
9.3.1 設計系統UI主界面 220
9.3.2 將Qt Designer文件轉換為Python文件 221
9.4 簽到打卡、用戶操作和用戶組操作 225
9.4.1 設計UI界面 226
9.4.2 創建攝像頭類 228
9.4.3 UI界面的操作處理 230
9.4.4 多線程操作和人臉識別 241
9.4.5 導出打卡簽到信息 245
9.5 調試運行 247
第10章 基於深度學習的AI人臉識別系統(Flask+ OpenCV-Python+Keras+Sklearn實現) 251
10.1 系統需求分析 252
10.1.1 系統功能分析 252
10.1.2 實現流程分析 252
10.1.3 技術分析 253
10.2 照片樣本采集 254
10.3 深度學習和訓練 256
10.3.1 原始圖像預處理 256
10.3.2 構建人臉識別模塊 258
10.4 人臉識別 263
10.5 Flask Web人臉識別接口 264
10.5.1 導入庫文件 264
10.5.2 識別上傳照片 265
10.5.3 在線識別 267
第11章 AI考勤管理系統(face-recognition+Matplotlib+ Django+Scikit-Learn+dlib實現) 269
11.1 背景介紹 270
11.2 系統需求分析 270
11.2.1 可行性分析 270
11.2.2 系統操作流程分析 270
11.2.3 系統模塊設計 271
11.3 系統配置 272
11.3.1 Django配置文件 272
11.3.2 路徑導航文件 272
11.4 用戶注冊和登錄驗證 273
11.4.1 登錄驗證 273
11.4.2 添加新用戶 275
11.4.3 設計數據模型 276
11.5 采集照片和機器學習 277
11.5.1 設置采集物件 277
11.5.2 采集照片 279
11.5.3 訓練照片模型 281
11.6 考勤打卡 283
11.6.1 上班打卡簽到 283
11.6.2 下班打卡 285
11.7 可視化考勤數據 287
11.7.1 統計最近兩周的考勤數據 288
11.7.2 查看本人指定時間範圍內的考勤統計圖 292
11.7.3 查看某員工在指定時間範圍內的考勤統計圖 298
第12章 AI小區停車計費管理系統 303
12.1 背景介紹 304
12.2 系統功能分析和模塊設計 304
12.2.1 功能分析 304
12.2.2 系統模塊設計 305
12.3 系統GUI 305
12.3.1 設置基本信息 305
12.3.2 繪製操作按鈕 306
12.3.3 繪製背景和文字 307
12.4 車牌識別和收費 308
12.4.1 登記業主的車輛信息 308
12.4.2 識別車牌 308
12.4.3 計算停車時間 309
12.4.4 識別車牌並計費 310
12.5 主程序 314
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。