1. 程式人生 > >《用Python構建機器學習》——第十章:計算機視覺-模式識別 讀後小結

《用Python構建機器學習》——第十章:計算機視覺-模式識別 讀後小結

本文是《Building Machine Learning Systems with Python》第十章的筆記。亞馬遜英文版連結(話說亞馬遜現在圖書的介紹影象做得很贊啊!)

這本書和圖靈出版的《機器學習實戰》一書有點類似。《機器學習實戰》那本書是非常建議購買一本的,如果這本書出版了,也建議購買一本。這裡將閱讀第十章的一些心得記錄下來。

首先,關於第十章《Computer Vision: Pattern Recognition》。這一章有點名不符實,本章一半篇幅在介紹影象的基本處理,這一部分有點充數的感覺。

另外,本章使用了我以前沒聽過的Mahotas影象處理庫。關於這個庫的介紹可參見:介紹

Github官網文件

我其實不清楚為什麼作者使用這個庫而不用OpenCV。比如,Mahotas遠沒有OpenCV功能強大,從目前已有的資訊來看,Mahotas已有的優點,OpenCV都具有。另外,更重要的一點,根據國外友人的測試,OpenCV的速度遠遠快於其他常見的Python上的影象處理庫,OpenCV比Mahotas快20-30倍,地址在這(自備梯子)。當然,不排除我對OpenCV先入為主的一些看法。

其實,上面一段是調侃的。。。因為後來我發現Mahotas軟體包的作者就是本書的作者之一——Luis Pedro Coelho,這就不難理解為什麼本書使用這個以前我沒聽過的庫了。(仰天長笑,我還以為我out了。。。)

言歸正傳。本章的佈局為:

10.1 Introducing image processing
10.2 Loading and displaying images
10.3 Basic image processing
Thresholding
Gaussian blurring
Filtering for different effects
Adding salt and pepper noise
Putting the center in focus
10.4 Pattern recognition
10.5 Computing features from images
10.6 Writing your own features
10.7 Classifying a harder dataset
10.8 Local feature representations

標題號是我自己加上去的,為了方便下文的說明。10.4之前的內容,除了Putting the center in focus的內容沒有介紹外,其他都能在我的《

OpenCV-Python教程》中找到。

10.4是模式識別,但這裡有些誤導。他用Tip來提示作者:“模式識別就是影象分類。由於歷史原因,曾經將影象分類稱為影象分類。但有關模式識別的應用和方法不只侷限於影象方面。”根據機械工業出版社的《模式識別》一書,模式識別是將物件進行分類,這些物件包括影象、訊號波形或者任何可測量且需要分類的物件。所以建議讀者在記住知識點時,不要只看Tip的標題,還要看其說明。^_^。

10.5和10.6介紹計算特徵影象以及如何自己編寫特徵。Sobel運算元Laplacian運算元Canny運算元都是計算影象特徵的。影象特徵並沒有統一的定義,但可以看一下維基百科的詞條,這個詞條是介紹特徵提取,可以作為參考。

10.7是對10.8的鋪墊,而10.8這介紹用Mahotas包中的函式應用SURF演算法,並用K均值對不同結果進行了精度評價。有空我寫一篇OpenCV-Python關於SURF的文章。

個人觀點,這一章對計算機視覺的機器學習方面做了初步的介紹,並且宣傳了作者自己的Mahotas函式包。讀者要想在計算機視覺充分利用機器學習,還需要進一步的學習。

友情提示:尊重版權,請勿索要電子版,謝謝。