《基于深度學習的圖像處理與實踐》循序漸進、深入淺出地講解了基于深度學習的圖像處理的核心知識,并通過具體實例演示了開發(fā)深度學習圖像處理程序的方法和流程。全書共 14 章,分別講解了圖像識別技術基礎,scikit-image數(shù)字圖像處理,OpenCV 圖像視覺處理,dlib機器學習和圖像處理,face_recognition人臉識別,采樣、變換和卷積處理,圖像增強,圖像特征提取,圖像分割,目標檢測,圖像分類,國內常用的第三方人臉識別平臺,斗轉星移換圖系統(tǒng),智能OCR文本檢測識別系統(tǒng)等內容。本書語言簡潔而不失技術深度,內容全面。
《基于深度學習的圖像處理與實踐》適用于已經(jīng)了解了Python語言基礎語法,想進一步學習機器學習、深度學習、計算機視覺與圖像處理技術的讀者,還可以作為大專院校相關專業(yè)的師生用書和培訓機構的專業(yè)性教材。
圖像處理作為人工智能領域的重要分支,正在給我們的世界帶來翻天覆地的變化。而在深度學習的引領下,圖像處理技術正迎來全面升級!
《基于深度學習的圖像處理與實踐》將帶您進入圖像視覺技術的精彩世界,從基本概念一直深入到高級應用,涵蓋了圖像處理、圖像增強、目標檢測、人臉識別等多個方面。無論是初學者,還是有一定基礎的讀者,都可以通過本書逐步掌握圖像處理與分析的核心技術。讓您不僅能夠掌握基本原理,更能夠運用于實際項目中。
《基于深度學習的圖像處理與實踐》還為讀者提供了豐富的學習資源,主要有視頻講解、PPT課件,以及書中案例源代碼,可通過掃描書中二維碼獲取。
當我們回顧人類歷史的發(fā)展歷程時會發(fā)現(xiàn),圖像一直是信息傳遞和交流的重要媒介之一。從古代的壁畫和雕刻,到現(xiàn)代的攝影、電影和數(shù)字圖像,圖像在記錄時代變遷、傳遞情感、展示美好瞬間和實現(xiàn)創(chuàng)意方面都扮演著不可或缺的角色。然而,隨著科技的進步,我們邁入了一個全新的數(shù)字時代,圖像的處理和分析也變得日益重要。本書將帶領讀者進入智能圖像處理技術的精彩世界,從基本概念到高級應用,覆蓋了圖像處理、圖像增強、目標檢測、人臉識別等多個方面。無論是計算機視覺領域的初學者還是有一定基礎的讀者,都可以通過本書逐步掌握圖像處理與分析的核心技能。
本書特色
本書通過深入的內容講解、豐富的案例和實用的教程,為讀者提供了一個深入了解圖像處理和光學字符識別(OCR)技術,并將其應用于實際項目的機會。無論是計算機視覺領域的初學者還是有經(jīng)驗的開發(fā)者,都可以從本書中獲得有價值的知識和經(jīng)驗。本書的主要特色如下。
1. 廣泛涵蓋計算機視覺領域
本書涵蓋了計算機視覺領域不同方向的兩個關鍵主題,即圖像處理和OCR,這使讀者能夠獲得多個領域的實際應用知識。
2. 深入而實用的內容
本書的每個章節(jié)都深入探討了具體技術的背景、原理和實現(xiàn)方式,使讀者不僅了解理論,還能夠親自動手實現(xiàn)這些技術。這種實踐性的內容有助于讀者將知識應用于實際項目。
3. 豐富的案例和示例
本書的每章都有豐富的案例和示例,這些案例和示例都是從實際項目中抽取的,涵蓋了不同層面的技術細節(jié)和應用場景,能幫助讀者更好地理解和應用所學內容。
4. 結合多種技術棧
本書不拘泥于單一技術棧,而是結合了多種流行的工具和框架,如Python、PyTorch、TensorFlow、OpenCV等,讓讀者能夠在實際項目中根據(jù)需求選擇合適的工具。
5. 詳細的步驟和教程
本書的每個章節(jié)都提供了詳細的步驟和教程,從環(huán)境搭建到模型訓練再到應用開發(fā),讀者可以一步步地跟隨指導完成項目。
6. 涵蓋了最新技術
本書反映了最新的技術演進趨勢,如深度學習在圖像處理和OCR中的應用,以及移動端應用的開發(fā)等,使讀者能夠跟上領域內的最新發(fā)展趨勢。
7. 強調實際問題解決
本書的重點是如何解決實際問題,每個章節(jié)都圍繞實際應用場景展開討論,幫助讀者更好地理解如何將技術應用于解決實際問題。
8. 提供線上技術支持
本書正文的每一個二級標題右側都有一個二維碼,讀者可通過掃描二維碼觀看視頻講解。除了線上視頻講解以外,本書還為讀者提供了全書案例源代碼和PPT課件,讀者可掃描下方二維碼獲取。
此外,本書還提供在線技術支持,如果讀者在學習中遇到問題,可以向我們的售后團隊求助,求助方式見PPT。
本書適合誰看
軟件工程師。
人工智能開發(fā)工程師。
機器學習和深度學習開發(fā)人員。
計算機視覺開發(fā)人員。
致謝
本書在編寫過程中,得到了清華大學出版社各位專業(yè)編輯的大力支持,正是各位專業(yè)人士的求實、認真,才使得本書出版。另外,也十分感謝我的家人給予的巨大支持。由于本人水平有限,書中難免存在紕漏之處,懇請讀者提出寶貴的意見或建議,以便更正修訂。
最后感謝您購買本書,希望本書能成為您編程路上的領航者,祝您閱讀愉快!
編 者
王卓,華中科技大學計算機碩士。從事深度學習相關工作,擅長前沿人工智能算法的原理分析和應用落地,擅長計算機視覺、自然語言處理等方向的技術, 先后參與并負責了多個深度學習算法在不同場景的業(yè)務落地。目前主要負責電商場景下預訓練語言模型的研發(fā)以及輿情風險的智能識別與治理。
第1章 圖像識別技術基礎 1
1.1 圖像識別概述 2
1.1.1 什么是圖像識別 2
1.1.2 圖像識別的發(fā)展階段 2
1.1.3 圖像識別的應用 3
1.2 圖像識別的過程 4
1.3 圖像識別技術 4
1.3.1 人工智能 5
1.3.2 機器學習 5
1.3.3 深度學習 6
1.3.4 基于神經(jīng)網(wǎng)絡的圖像識別 6
1.3.5 基于非線性降維的圖像識別 7
第2章 scikit-image數(shù)字圖像處理 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.3 常見的圖像操作 14
2.3.1 對內置圖片進行二值化操作 15
2.3.2 對內置圖片進行裁剪處理 16
2.3.3 將RGB圖轉換為灰度圖 17
2.3.4 使用skimage實現(xiàn)繪制圖片功能 18
2.3.5 使用subplot()函數(shù)繪制多視圖窗口 19
2.3.6 改變指定圖片的大小 21
2.3.7 使用函數(shù)rescale()縮放圖片 22
2.3.8 使用函數(shù)rotate()旋轉圖片 22
第3章 OpenCV圖像視覺處理 25
3.1 OpenCV基礎 26
3.1.1 OpenCV和OpenCV-Python介紹 26
3.1.2 安裝OpenCV-Python 26
3.2 OpenCV-Python圖像操作 27
3.2.1 讀取并顯示圖像 27
3.2.2 保存圖像 29
3.2.3 在Matplotlib中顯示圖像 30
3.2.4 繪圖 31
3.2.5 將鼠標作為畫筆 34
3.2.6 調色板程序 36
3.2.7 基本的屬性操作 37
3.3 OpenCV-Python視頻操作 40
3.3.1 讀取視頻 40
3.3.2 播放視頻 41
3.3.3 保存視頻 42
3.3.4 改變顏色空間 43
3.3.5 視頻的背景分離 45
第4章 dlib機器學習和圖像處理 49
4.1 dlib介紹 50
4.2 dlib基本的人臉檢測 50
4.2.1 人臉檢測 50
4.2.2 使用命令行進行人臉識別 52
4.2.3 檢測人臉關鍵點 54
4.2.4 基于CNN的人臉檢測器 56
4.2.5 在攝像頭中識別人臉 58
4.2.6 人臉識別驗證 59
4.2.7 全局優(yōu)化 60
4.2.8 人臉聚類 62
4.2.9 抖動采樣和增強 64
4.2.10 人臉和姿勢采集 65
4.2.11 物體追蹤 66
4.3 SVM分類算法 67
4.3.1 二進制SVM分類器 68
4.3.2 Ranking SVM算法 69
4.3.3 Struct SVM多分類器 72
4.4 自訓練模型 75
4.4.1 訓練自己的模型 75
4.4.2 自制對象檢測器 78
第5章 face_recognition人臉識別 83
5.1 安裝face_recognition 84
5.2 實現(xiàn)基本的人臉檢測 84
5.2.1 輸出顯示指定人像人臉特征 84
5.2.2 在指定照片中識別標記出人臉 86
5.2.3 識別出照片中的所有人臉 88
5.2.4 判斷照片中是否包含某個人 91
5.2.5 識別出照片中的人是誰 92
5.2.6 攝像頭實時識別 93
5.3 深入face_recognition人臉檢測 98
5.3.1 檢測用戶眼睛的狀態(tài) 99
5.3.2 模糊處理人臉 101
5.3.3 檢測兩個人臉是否匹配 102
5.3.4 識別視頻中的人臉 103
5.3.5 網(wǎng)頁版人臉識別器 106
第6章 采樣、變換和卷積處理 109
6.1 采樣 110
6.1.1 最近鄰插值采樣 110
6.1.2 雙線性插值 112
6.1.3 雙立方插值 116
6.1.4 Lanczos插值 118
6.2 離散傅里葉變換 119
6.2.1 為什么使用DFT 119
6.2.2 用庫NumPy實現(xiàn)DFT 120
6.2.3 用庫SciPy實現(xiàn)DFT 121
6.2.4 用快速傅里葉變換算法計算DFT 122
6.3 卷積 124
6.3.1 為什么需要卷積圖像 124
6.3.2 使用庫SciPy中的函數(shù)
convolve2d()進行卷積 124
6.3.3 使用庫SciPy中的函數(shù)ndimage.convolve()進行卷積 126
6.4 頻域濾波 128
6.4.1 什么是濾波器 128
6.4.2 高通濾波器 128
6.4.3 低通濾波器 130
6.4.4 DoG 帶通濾波器 130
6.4.5 帶阻濾波器 132
第7章 圖像增強 135
7.1 對比度增強 136
7.1.1 直方圖均衡化 136
7.1.2 自適應直方圖均衡化 138
7.1.3 對比度拉伸 140
7.1.4 非線性對比度增強 142
7.2 銳化 144
7.2.1 銳化濾波 145
7.2.2 高頻強調濾波 148
7.2.3 基于梯度的銳化 152
7.3 減少噪聲 156
7.3.1 均值濾波器 156
7.3.2 中值濾波器 158
7.3.3 高斯濾波器 158
7.3.4 雙邊濾波器 159
7.3.5 小波降噪 160
7.4 色彩平衡 161
7.4.1 白平衡 161
7.4.2 顏色校正 163
7.4.3 調整色調和飽和度 164
7.5 超分辨率 165
7.6 去除運動模糊 167
7.6.1 邊緣 167
7.6.2 逆濾波 169
7.6.3 統(tǒng)計方法 170
7.6.4 盲去卷積 171
第8章 圖像特征提取 173
8.1 圖像特征提取方法 174
8.2 顏色特征 174
8.2.1 顏色直方圖 174
8.2.2 其他顏色特征提取方法 176
8.3 紋理特征 178
8.3.1 灰度共生矩陣 178
8.3.2 方向梯度直方圖 180
8.3.3 尺度不變特征變換 181
8.3.4 小波變換 182
8.4 形狀特征 184
8.4.1 邊界描述子 184
8.4.2 預處理后的輪廓特征 188
8.4.3 模型擬合方法 190
8.4.4 形狀上的變換 193
8.5 基于LoG、DoG和DoH的斑點檢測器 196
8.5.1 LoG濾波器 197
8.5.2 DoG濾波器 198
8.5.3 DoH算法 200
第9章 圖像分割 203
9.1 圖像分割的重要性 204
9.2 基于閾值的分割 204
9.2.1 灰度閾值分割 205
9.2.2 彩色閾值分割 206
9.3 基于邊緣的分割 207
9.3.1 Canny邊緣檢測 207
9.3.2 邊緣連接方法 208
9.4 基于區(qū)域的分割 209
9.4.1 區(qū)域生長算法 209
9.4.2 圖割算法 212
9.4.3 基于聚類的分割算法 213
9.5 基于圖論的分割 215
9.5.1 圖割算法 215
9.5.2 最小生成樹算法 215
9.6 基于深度學習的分割 217
9.6.1 FCN 217
9.6.2 U-Net 219
9.6.3 DeepLab 220
9.6.4 Mask R-CNN 220
第10章 目標檢測 223
10.1 目標檢測概述 224
10.1.1 目標檢測的步驟 224
10.1.2 目標檢測的方法 224
10.2 YOLO v5 225
10.2.1 YOLO v5的改進 225
10.2.2 基于YOLO v5的訓練、驗證和預測 226
10.3 語義分割 242
10.3.1 什么是語義分割 242
10.3.2 DeepLab語義分割 244
10.4 SSD目標檢測 245
10.4.1 攝像頭目標檢測 246
10.4.2 基于圖像的目標檢測 247
第11章 圖像分類 249
11.1 圖像分類介紹 250
11.2 基于特征提取和機器學習的圖像分類 250
11.2.1 圖像分類的基本流程 250
11.2.2 基于scikit-learn機器學習的圖像分類 251
11.2.3 分類算法 254
11.2.4 聚類算法 257
11.3 基于卷積神經(jīng)網(wǎng)絡的圖像分類 259
11.3.1 卷積神經(jīng)網(wǎng)絡的基本結構 259
11.3.2 第一個卷積神經(jīng)網(wǎng)絡程序 262
11.3.3 使用卷積神經(jīng)網(wǎng)絡進行圖像分類 267
11.4 基于遷移學習的圖像分類 279
11.4.1 遷移學習介紹 279
11.4.2 基于遷移學習的圖片分類器 280
11.5 基于循環(huán)神經(jīng)網(wǎng)絡的圖像分類 284
11.5.1 循環(huán)神經(jīng)網(wǎng)絡介紹 284
11.5.2 實戰(zhàn)演練 285
11.6 基于卷積循環(huán)神經(jīng)網(wǎng)絡的圖像分類 286
11.6.1 卷積循環(huán)神經(jīng)網(wǎng)絡介紹 286
11.6.2 CRNN圖像識別器 287
第12章 國內常用的第三方人臉識別平臺 291
12.1 百度AI開放平臺 292
12.1.1 百度AI開放平臺介紹 292
12.1.2 使用百度AI之前的準備工作 292
12.1.3 基于百度AI平臺的人臉識別 296
12.2 科大訊飛AI開放平臺 301
12.2.1 科大訊飛AI開放平臺介紹 301
12.2.2 申請試用 301
12.2.3 基于科大訊飛AI的人臉識別 302
第13章 斗轉星移換圖系統(tǒng) 311
13.1 背景介紹 312
13.1.1 CycleGAN的作用 312
13.1.2 CycleGAN的原理 312
13.2 系統(tǒng)模塊架構 313
13.3 設置數(shù)據(jù)集 313
13.4 訓練數(shù)據(jù) 315
13.4.1 加載圖像 315
13.4.2 輔助功能 316
13.4.3 生成對抗網(wǎng)絡模型 319
13.4.4 訓練CycleGAN模型 322
13.5 圖像轉換 326
13.6 調試運行 328
第14章 智能OCR文本檢測識別系統(tǒng) 333
14.1 OCR系統(tǒng)介紹 334
14.1.1 OCR的基本原理和方式 334
14.1.2 深度學習對OCR的影響 335
14.1.3 與OCR相關的深度學習技術 335
14.2 OCR項目介紹 336
14.3 準備模型 337
14.3.1 文本檢測模型 337
14.3.2 文本識別模型 337
14.4 創(chuàng)建工程 337
14.4.1 工程配置 338
14.4.2 配置應用程序 338
14.4.3 導入模型 338
14.5 具體實現(xiàn) 339
14.5.1 頁面布局 339
14.5.2 實現(xiàn)主Activity 339
14.5.3 圖像操作 343
14.5.4 運行OCR模型 347
14.6 調試運行 354