《基于深度學(xué)習(xí)的圖像處理與實踐》循序漸進、深入淺出地講解了基于深度學(xué)習(xí)的圖像處理的核心知識,并通過具體實例演示了開發(fā)深度學(xué)習(xí)圖像處理程序的方法和流程。全書共 14 章,分別講解了圖像識別技術(shù)基礎(chǔ),scikit-image數(shù)字圖像處理,OpenCV 圖像視覺處理,dlib機器學(xué)習(xí)和圖像處理,face_recognition人臉識別,采樣、變換和卷積處理,圖像增強,圖像特征提取,圖像分割,目標檢測,圖像分類,國內(nèi)常用的第三方人臉識別平臺,斗轉(zhuǎn)星移換圖系統(tǒng),智能OCR文本檢測識別系統(tǒng)等內(nèi)容。本書語言簡潔而不失技術(shù)深度,內(nèi)容全面。
《基于深度學(xué)習(xí)的圖像處理與實踐》適用于已經(jīng)了解了Python語言基礎(chǔ)語法,想進一步學(xué)習(xí)機器學(xué)習(xí)、深度學(xué)習(xí)、計算機視覺與圖像處理技術(shù)的讀者,還可以作為大專院校相關(guān)專業(yè)的師生用書和培訓(xùn)機構(gòu)的專業(yè)性教材。
圖像處理作為人工智能領(lǐng)域的重要分支,正在給我們的世界帶來翻天覆地的變化。而在深度學(xué)習(xí)的引領(lǐng)下,圖像處理技術(shù)正迎來全面升級!
《基于深度學(xué)習(xí)的圖像處理與實踐》將帶您進入圖像視覺技術(shù)的精彩世界,從基本概念一直深入到高級應(yīng)用,涵蓋了圖像處理、圖像增強、目標檢測、人臉識別等多個方面。無論是初學(xué)者,還是有一定基礎(chǔ)的讀者,都可以通過本書逐步掌握圖像處理與分析的核心技術(shù)。讓您不僅能夠掌握基本原理,更能夠運用于實際項目中。
《基于深度學(xué)習(xí)的圖像處理與實踐》還為讀者提供了豐富的學(xué)習(xí)資源,主要有視頻講解、PPT課件,以及書中案例源代碼,可通過掃描書中二維碼獲取。
當(dāng)我們回顧人類歷史的發(fā)展歷程時會發(fā)現(xiàn),圖像一直是信息傳遞和交流的重要媒介之一。從古代的壁畫和雕刻,到現(xiàn)代的攝影、電影和數(shù)字圖像,圖像在記錄時代變遷、傳遞情感、展示美好瞬間和實現(xiàn)創(chuàng)意方面都扮演著不可或缺的角色。然而,隨著科技的進步,我們邁入了一個全新的數(shù)字時代,圖像的處理和分析也變得日益重要。本書將帶領(lǐng)讀者進入智能圖像處理技術(shù)的精彩世界,從基本概念到高級應(yīng)用,覆蓋了圖像處理、圖像增強、目標檢測、人臉識別等多個方面。無論是計算機視覺領(lǐng)域的初學(xué)者還是有一定基礎(chǔ)的讀者,都可以通過本書逐步掌握圖像處理與分析的核心技能。
本書特色
本書通過深入的內(nèi)容講解、豐富的案例和實用的教程,為讀者提供了一個深入了解圖像處理和光學(xué)字符識別(OCR)技術(shù),并將其應(yīng)用于實際項目的機會。無論是計算機視覺領(lǐng)域的初學(xué)者還是有經(jīng)驗的開發(fā)者,都可以從本書中獲得有價值的知識和經(jīng)驗。本書的主要特色如下。
1. 廣泛涵蓋計算機視覺領(lǐng)域
本書涵蓋了計算機視覺領(lǐng)域不同方向的兩個關(guān)鍵主題,即圖像處理和OCR,這使讀者能夠獲得多個領(lǐng)域的實際應(yīng)用知識。
2. 深入而實用的內(nèi)容
本書的每個章節(jié)都深入探討了具體技術(shù)的背景、原理和實現(xiàn)方式,使讀者不僅了解理論,還能夠親自動手實現(xiàn)這些技術(shù)。這種實踐性的內(nèi)容有助于讀者將知識應(yīng)用于實際項目。
3. 豐富的案例和示例
本書的每章都有豐富的案例和示例,這些案例和示例都是從實際項目中抽取的,涵蓋了不同層面的技術(shù)細節(jié)和應(yīng)用場景,能幫助讀者更好地理解和應(yīng)用所學(xué)內(nèi)容。
4. 結(jié)合多種技術(shù)棧
本書不拘泥于單一技術(shù)棧,而是結(jié)合了多種流行的工具和框架,如Python、PyTorch、TensorFlow、OpenCV等,讓讀者能夠在實際項目中根據(jù)需求選擇合適的工具。
5. 詳細的步驟和教程
本書的每個章節(jié)都提供了詳細的步驟和教程,從環(huán)境搭建到模型訓(xùn)練再到應(yīng)用開發(fā),讀者可以一步步地跟隨指導(dǎo)完成項目。
6. 涵蓋了最新技術(shù)
本書反映了最新的技術(shù)演進趨勢,如深度學(xué)習(xí)在圖像處理和OCR中的應(yīng)用,以及移動端應(yīng)用的開發(fā)等,使讀者能夠跟上領(lǐng)域內(nèi)的最新發(fā)展趨勢。
7. 強調(diào)實際問題解決
本書的重點是如何解決實際問題,每個章節(jié)都圍繞實際應(yīng)用場景展開討論,幫助讀者更好地理解如何將技術(shù)應(yīng)用于解決實際問題。
8. 提供線上技術(shù)支持
本書正文的每一個二級標題右側(cè)都有一個二維碼,讀者可通過掃描二維碼觀看視頻講解。除了線上視頻講解以外,本書還為讀者提供了全書案例源代碼和PPT課件,讀者可掃描下方二維碼獲取。
此外,本書還提供在線技術(shù)支持,如果讀者在學(xué)習(xí)中遇到問題,可以向我們的售后團隊求助,求助方式見PPT。
本書適合誰看
軟件工程師。
人工智能開發(fā)工程師。
機器學(xué)習(xí)和深度學(xué)習(xí)開發(fā)人員。
計算機視覺開發(fā)人員。
致謝
本書在編寫過程中,得到了清華大學(xué)出版社各位專業(yè)編輯的大力支持,正是各位專業(yè)人士的求實、認真,才使得本書出版。另外,也十分感謝我的家人給予的巨大支持。由于本人水平有限,書中難免存在紕漏之處,懇請讀者提出寶貴的意見或建議,以便更正修訂。
最后感謝您購買本書,希望本書能成為您編程路上的領(lǐng)航者,祝您閱讀愉快!
編 者
王卓,華中科技大學(xué)計算機碩士。從事深度學(xué)習(xí)相關(guān)工作,擅長前沿人工智能算法的原理分析和應(yīng)用落地,擅長計算機視覺、自然語言處理等方向的技術(shù), 先后參與并負責(zé)了多個深度學(xué)習(xí)算法在不同場景的業(yè)務(wù)落地。目前主要負責(zé)電商場景下預(yù)訓(xùn)練語言模型的研發(fā)以及輿情風(fēng)險的智能識別與治理。
第1章 圖像識別技術(shù)基礎(chǔ) 1
1.1 圖像識別概述 2
1.1.1 什么是圖像識別 2
1.1.2 圖像識別的發(fā)展階段 2
1.1.3 圖像識別的應(yīng)用 3
1.2 圖像識別的過程 4
1.3 圖像識別技術(shù) 4
1.3.1 人工智能 5
1.3.2 機器學(xué)習(xí) 5
1.3.3 深度學(xué)習(xí) 6
1.3.4 基于神經(jīng)網(wǎng)絡(luò)的圖像識別 6
1.3.5 基于非線性降維的圖像識別 7
第2章 scikit-image數(shù)字圖像處理 9
2.1 scikit-image基礎(chǔ) 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 讀取并顯示內(nèi)置星空圖片 13
2.2.4 讀取并保存內(nèi)置星空圖片 14
2.3 常見的圖像操作 14
2.3.1 對內(nèi)置圖片進行二值化操作 15
2.3.2 對內(nèi)置圖片進行裁剪處理 16
2.3.3 將RGB圖轉(zhuǎn)換為灰度圖 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()旋轉(zhuǎn)圖片 22
第3章 OpenCV圖像視覺處理 25
3.1 OpenCV基礎(chǔ) 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 調(diào)色板程序 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機器學(xué)習(xí)和圖像處理 49
4.1 dlib介紹 50
4.2 dlib基本的人臉檢測 50
4.2.1 人臉檢測 50
4.2.2 使用命令行進行人臉識別 52
4.2.3 檢測人臉關(guān)鍵點 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 自訓(xùn)練模型 75
4.4.1 訓(xùn)練自己的模型 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 自適應(yīng)直方圖均衡化 138
7.1.3 對比度拉伸 140
7.1.4 非線性對比度增強 142
7.2 銳化 144
7.2.1 銳化濾波 145
7.2.2 高頻強調(diào)濾波 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 調(diào)整色調(diào)和飽和度 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 預(yù)處理后的輪廓特征 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 基于深度學(xué)習(xí)的分割 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的訓(xùn)練、驗證和預(yù)測 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 基于特征提取和機器學(xué)習(xí)的圖像分類 250
11.2.1 圖像分類的基本流程 250
11.2.2 基于scikit-learn機器學(xué)習(xí)的圖像分類 251
11.2.3 分類算法 254
11.2.4 聚類算法 257
11.3 基于卷積神經(jīng)網(wǎng)絡(luò)的圖像分類 259
11.3.1 卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu) 259
11.3.2 第一個卷積神經(jīng)網(wǎng)絡(luò)程序 262
11.3.3 使用卷積神經(jīng)網(wǎng)絡(luò)進行圖像分類 267
11.4 基于遷移學(xué)習(xí)的圖像分類 279
11.4.1 遷移學(xué)習(xí)介紹 279
11.4.2 基于遷移學(xué)習(xí)的圖片分類器 280
11.5 基于循環(huán)神經(jīng)網(wǎng)絡(luò)的圖像分類 284
11.5.1 循環(huán)神經(jīng)網(wǎng)絡(luò)介紹 284
11.5.2 實戰(zhàn)演練 285
11.6 基于卷積循環(huán)神經(jīng)網(wǎng)絡(luò)的圖像分類 286
11.6.1 卷積循環(huán)神經(jīng)網(wǎng)絡(luò)介紹 286
11.6.2 CRNN圖像識別器 287
第12章 國內(nèi)常用的第三方人臉識別平臺 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章 斗轉(zhuǎn)星移換圖系統(tǒng) 311
13.1 背景介紹 312
13.1.1 CycleGAN的作用 312
13.1.2 CycleGAN的原理 312
13.2 系統(tǒng)模塊架構(gòu) 313
13.3 設(shè)置數(shù)據(jù)集 313
13.4 訓(xùn)練數(shù)據(jù) 315
13.4.1 加載圖像 315
13.4.2 輔助功能 316
13.4.3 生成對抗網(wǎng)絡(luò)模型 319
13.4.4 訓(xùn)練CycleGAN模型 322
13.5 圖像轉(zhuǎn)換 326
13.6 調(diào)試運行 328
第14章 智能OCR文本檢測識別系統(tǒng) 333
14.1 OCR系統(tǒng)介紹 334
14.1.1 OCR的基本原理和方式 334
14.1.2 深度學(xué)習(xí)對OCR的影響 335
14.1.3 與OCR相關(guān)的深度學(xué)習(xí)技術(shù) 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 配置應(yīng)用程序 338
14.4.3 導(dǎo)入模型 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 調(diào)試運行 354