內容簡介
這是一部從技術原理、算法和工程實踐3個維度系統講解圖像識別的著作,由阿里巴巴達摩院算法專家、阿里巴巴技術發展專家、阿里巴巴數據架構師聯合撰寫。
在知識點的選擇上,本書廣度和深度兼顧,既能讓完全沒有基礎的讀者迅速入門,又能讓有基礎的讀者深入掌握圖像識別的核心技術;在寫作方式上,本書避開了複雜的數學公式及其推導,從問題的前因後果 、創造者的思考過程,利用簡單的數學計算來做模型分析和講解,通俗易懂。更重要的是,本書不僅僅是聚焦於技術,而是將重點放在了如何用技術解決實際的業務問題。
全書一共13章:
第1-2章主要介紹了圖像識別的套用場景、工具和工作環境的搭建;
第3-6章詳細講解了圖像分類算法、機器學習、神經網路、誤差反向傳播等圖像識別的基礎技術及其原理;
第7章講解了如何利用PyTorch來實現神經網路的圖像分類,專注於實操,是從基礎向高階的過渡;
第8-12章深入講解了圖像識別的核心技術及其原理,包括卷積神經網路、目標檢測、分割、產生式模型、神經網路可視化等主題;
第13章從工程實踐的角度講解了圖像識別算法的部署模式。
作者簡介
魏溪含
愛丁堡大學人工智慧碩士,阿里巴巴達摩院算法專家,在計算機視覺、大數據領域有8年以上的算法架構和研發經驗。
在大數據領域,曾帶領團隊對阿里巴巴個性化推薦系統進行升級;計算機視覺領域,主導並攻克了光伏EL全自動瑕疵識別的世界難題,並在行為識別領域帶領團隊參賽打破世界紀錄等。
塗銘
阿里巴巴數據架構師,對大數據、自然語言處理、圖像識別、Python、Java相關技術有深入的研究,積累了豐富的實踐經驗。在工業領域曾參與了燃煤最佳化、設備故障診斷項目,正泰光伏電池片和組件EL圖像檢測項目;在自然語言處理方面,擔任導購機器人項目的架構師,主導開發機器人的語義理解、短文本相似度匹配、上下文理解,以及通過自然語言檢索產品庫,在項目中構建了NoSQL+文本檢索等大數據架構,也同時負責問答對的整理和商品屬性的提取,帶領NLP團隊構建語義解析層。
張修鵬
畢業於中南大學,阿里巴巴技術發展專家,長期從事雲計算、大數據、人工智慧與物聯網技術的商業化套用,在阿里巴巴首次將圖像識別技術引入工業,並推動圖像識別產品化、平台化,擅於整合前沿技術解決產業問題,主導多個大數據和AI為核心的數位化轉型項目成功實施,對技術和商業結合有著深刻的理解。
目錄
前言
第1章 機器視覺在行業中的套用1
1.1 機器視覺的發展背景1
1.1.1 人工智慧1
1.1.2 機器視覺2
1.2 機器視覺的主要套用場景3
1.2.1 人臉識別3
1.2.2 視頻監控分析4
1.2.3 工業瑕疵檢測5
1.2.4 圖片識別分析6
1.2.5 自動駕駛/駕駛輔助7
1.2.6 三維圖像視覺8
5.6.2 跟隨梯度(數值微分)92
5.7 基於數值微分的反向傳播98
5.8 基於測試集的評價101
5.9 本章小結104
第6章 誤差反向傳播105
6.1 激活函式層的實現105
6.1.1 ReLU反向傳播實現106
6.1.2 Sigmoid反向傳播實現106
6.2 Affine層的實現107
6.3 Softmaxwithloss層的實現108
6.4 基於數值微分和誤差反向傳播的比較109
6.5 通過反向傳播實現MNIST識別111
6.6 正則化懲罰114
6.7 本章小結115
第7章 PyTorch實現神經網路圖像分類116
7.1 PyTorch的使用116
7.1.1 Tensor116
7.1.2 Variable117
7.1.3 激活函式118
7.1.4 損失函式120
7.2 PyTorch實戰122
7.2.1 PyTorch實戰之MNIST分類122
7.2.2 PyTorch實戰之Cifar10分類125
7.3 本章小結128
第8章 卷積神經網路129
8.1 卷積神經網路基礎129
8.1.1 全連線層129
8.1.2 卷積層130
8.1.3 池化層134
8.1.4 批規範化層135
8.2 常見卷積神經網路結構135
8.2.1 AlexNet136
8.2.2 VGGNet138
8.2.3 GoogLeNet140
8.2.4 ResNet142
8.2.5 其他網路結構144
8.3 VGG16實現Cifar10分類145
8.3.1 訓練146
8.3.2 預測及評估149
8.4 本章小結152
8.5 參考文獻152
第9章 目標檢測153
9.1 定位+分類153
9.2 目標檢測155
9.2.1 R-CNN156
9.2.2 Fast R-CNN160
9.2.3 Faster R-CNN162
9.2.4 YOLO165
9.2.5 SSD166
9.3 SSD實現VOC目標檢測167
9.3.1 PASCAL VOC數據集167
9.3.2 數據準備170
9.3.3 構建模型175
9.3.4 定義Loss178
9.3.5 SSD訓練細節181
9.3.6 訓練186
9.3.7 測試189
9.4 本章小結190
9.5 參考文獻191
第10章 分割192
10.1 語義分割193
10.1.1 FCN193
10.1.2 UNet實現裂紋分割196
10.1.3 SegNet209
10.1.4 PSPNet210
10.2 實例分割211