【深智書摘】只要解說夠詳盡,好的案例不需要多!讓您快速上手電腦視覺

【深智書摘】只要解說夠詳盡,好的案例不需要多!讓您快速上手電腦視覺

更新於 發佈於 閱讀時間約 5 分鐘
常常聽到影像處理、Python、OpenCV等技術,最近又在流行機器學習、深度學習、CNN、人工神經網路,常常不知從何開始學習,如果有一本書能把這些知識從頭到尾講清楚有多好,再加上如果有最常用的案例實作,一定可以完整將這個現在最賺錢行業的領域變成一技之長。

【本書特色】

  • 數位影像、Python、OpenCV基礎
  • 影像加密與解密,數位浮水印、物體計數
  • 缺陷檢測、手勢辨識、答題卡辨識、隱身術、以圖搜圖
  • 手寫數字辨識、車牌辨識、指紋辨識
  • 色彩空間處理、邏輯運算、ROI(感興趣區域)
  • 計算影像輪廓、特徵值提取、比對、距離計算
  • KNN實現字元(手寫數字、英文字母)辨識
  • 求解數獨影像、SVM數字辨識
  • 行人檢測(第19章)K平均值聚類實現藝術畫
  • 影像分類、物件辨識(YOLO演算法、SSD演算法)
  • 語義分割、實例分割、風格遷移、姿勢辨識
  • 人臉檢測、人臉辨識、勾勒五官輪廓、人臉對齊
  • 表情辨識、駕駛員疲勞檢測、易容術、年齡和性別辨識

【豐富案例】

  本書透過案例來介紹相關基礎知識,儘量避免將案例作為一個孤立的問題來看待,更多地考慮基礎知識之間的銜接、組合、應用場景等,儘量以簡單明瞭的方式實現一個問題,以更進一步地幫讀者弄清問題的核心和演算法。

  本書由案例來介紹所有和影像(包括基礎演算法、機器學習、深度學習)相關技術。在基礎部分,包括了影像安全(影像加密、影像關鍵部位打碼、隱身術)、影像辨識(答題卡辨識、手勢辨識、車牌辨識、指紋辨識、手寫數字辨識)、物體計數、影像檢索、缺陷檢測等。在機器學習部分,則實作了KNN實現字元(手寫數字、英文字母)辨識、數獨影像求解(KNN)、SVM手寫數字辨識、行人檢測、藝術畫(K平均值聚類)等。在深度學習方面,包括了影像分類、物件辨識(YOLO演算法、SSD演算法)、語義分割、實例分割、風格遷移、姿勢辨識等。另外在最流行的人臉辨識相關方面,則提供了人臉檢測、人臉辨識、勾勒五官輪廓、人臉對齊、表情辨識、駕駛員疲勞檢測、易容術、性別和年齡辨識等。

【案例參考】

資訊隱藏

影像特徵是影像處理非常關鍵的步驟,通常會根據影像特徵來完成影像處理。本節將透過影像像素值的奇偶性來實現影像資訊隱藏。資訊隱藏範例如下圖所示,將數字1影像隱藏到影像中。

資訊隱藏範例

資訊隱藏範例

RGB通道拆分

RGB 影像是由R 通道、G 通道、B 通道三個通道組成的。需要注意的是,OpenCV 中的通道是按照B 通道→G 通道→R 通道的循序儲存的。在影像處理過程中,可以根據需要對通道進行拆分和合併。

RGB通道拆分執行結果

RGB通道拆分執行結果

馬賽克

透過遮罩方式、ROI 方式實現對臉部的馬賽克及解馬賽克。

臉部加/解馬賽克過程

臉部加/解馬賽克過程

手勢辨識

  • 手勢辨識的範圍很廣泛,在不同場景下,有不同類型的手勢需要辨識,例如:
  • 辨識手勢所表示的數值。
  • 辨識手勢在特定遊戲中的含義,如「石頭、剪刀、布」等。
  • 辨識手勢在遊戲中表示的動作,如前進、跳躍、後退等。
  • 辨識特定手勢的含義,如表示"OK"的手勢、表示勝利的手勢等。
手勢辨識示意圖

手勢辨識示意圖

此章節主要討論手勢在表示0~5 六個數值時的辨識問題。在辨識時,將手勢圖中凹陷區域(稱為凸缺陷)的個數作為辨識的重要依據。手勢表示數值的示意圖如下圖所示。

--

  在面對複雜的基礎知識時,有經驗的學習者會根據已有基礎知識繪製一幅與該基礎知識有關的圖,從而進一步理解該基礎知識。能夠更加清晰、直觀、細緻地將基礎知識的全域、結構、關係、流程、脈絡等訊息本體現出來。本書算是這幾年來,將所有相關領域綜合整理的一本全書,相信對有志在人工智慧的讀者來說,是最重要的一本參考書籍。

深智數位出版:〈Python+OpenCV——機器學習+深度學習40大電腦視覺案例入門到實戰〉

深智數位出版:〈Python+OpenCV——機器學習+深度學習40大電腦視覺案例入門到實戰〉

本文取自深智數位出版之〈Python+OpenCV——機器學習+深度學習40大電腦視覺案例入門到實戰〉

天瓏:https://reurl.cc/4Q42GD

博客來:https://reurl.cc/RvjaEr

深智數位:https://deepmind.com.tw

avatar-img
深智數位的沙龍
9會員
25內容數
留言
avatar-img
留言分享你的想法!
深智數位的沙龍 的其他內容
在機器學習中,我們的目標是找到一種能夠最好地描述數據的模型。例如,在迴歸問題中,我們希望找到一種函數,該函數能以一種對我們的目標變數(例如:銷售量、股票價格等) 的最佳估計的方式,描述輸入特徵(例如:廣告支出、市場狀況等)。
  在程式設計中,變數(Variable)是一個代表內存位置的符號,用於存儲和操作數據。它是一個內存單元,可以存儲各種類型的數據,例如整數、浮點數、字符串等。變數的值可以在程式執行時改變,並在需要時被讀取。 變數是暫時存放資料用的,可以將變數想像成是一個箱子,箱子裡面可以是空的,
新手在使用ChatGPT 時,對於ChatGPT的回答普遍印象是廢話連篇,而這通常是因為沒有給出足夠清晰的指示所導致,以下將介紹3個讓你跟ChatGPT溝通更有效的提示技巧,幫助讀者快速掌握提升回答品質的秘訣!
在機器學習中,我們的目標是找到一種能夠最好地描述數據的模型。例如,在迴歸問題中,我們希望找到一種函數,該函數能以一種對我們的目標變數(例如:銷售量、股票價格等) 的最佳估計的方式,描述輸入特徵(例如:廣告支出、市場狀況等)。
  在程式設計中,變數(Variable)是一個代表內存位置的符號,用於存儲和操作數據。它是一個內存單元,可以存儲各種類型的數據,例如整數、浮點數、字符串等。變數的值可以在程式執行時改變,並在需要時被讀取。 變數是暫時存放資料用的,可以將變數想像成是一個箱子,箱子裡面可以是空的,
新手在使用ChatGPT 時,對於ChatGPT的回答普遍印象是廢話連篇,而這通常是因為沒有給出足夠清晰的指示所導致,以下將介紹3個讓你跟ChatGPT溝通更有效的提示技巧,幫助讀者快速掌握提升回答品質的秘訣!