引言
計算機視覺(Computer Vision)自興起以來就非常迅速且廣泛應用于各個領域,比如我們熟悉的且每天都會使用的基于手機攝像頭的人臉識別,除此之外,它還可以在自動駕駛領域輔助汽車識別交通信號、標志和行人;在制造業輔助工業機器人監督和指導人工操作。
計算機視覺的主要目的是讓計算機能像人類一樣甚至比人類更好地看見和識別世界。計算機視覺通常使用C++、Python和MATLAB等編程語言,是增強現實(AR)的一項重要技術。目前主流的計算機視覺工具有OpenCV、Tensorflow、Gpu、YOLO、Keras等。計算機視覺其實是一個復雜多元的交叉領域,包含了很多來自數字信號處理、神經科學、圖像處理、模式識別、機器學習(ML)、機器人、人工智能(AI)等領域的概念。
本文,小編想具體介紹一下計算機視覺的工作流程。
什么是計算機視覺(Computer Vision)
一言蔽之,計算機視覺是讓計算機理解并標記圖像內容的技術領域。
舉個例子,請看下圖:
對于人類來說,你很難向從沒穿過衣服的原始人解釋什么是連衣裙或者什么是鞋。計算機視覺也是如此,如果它并沒有相關輸入,就不會理解上圖的東西都是什么。
所以,我們需要收集并標記大量關于衣服、鞋、包包的圖片,輸入進計算機“告訴”它這些圖片里的東西是什么,在經過不斷的學習和訓練后,計算機將會識別出哪個是連衣裙,哪個是鞋、哪個是包包。
計算機視覺的主要應用
計算機視覺目前應用的領域不勝枚舉,小編就挑出5個具有代表性的應用吧:
物體與行為識別
自動駕駛汽車
醫療影像分析與診斷
圖片標記
人臉識別
計算機視覺工作流程
計算機視覺工作流程其實是大多數計算機視覺應用程序將經歷的一系列步驟。許多視覺應用程序都是從獲取圖像和數據開始,然后處理數據,執行一些分析和識別步驟,最后執行一個動作的:
計算機視覺工作流程
就拿人臉識別來說吧,它也主要遵循了計算機視覺的工作流程:
人臉識別工作流程
我們可以看到,大部分計算機視覺技術應用其實都是從數據預處理開始的,其實這也是機器學習的關鍵。
數據標準化
所謂預處理圖像就是將輸入的圖像數據標準化,以便后續工作流程的順利進行。例如,假設我們創建了一個簡單的聚類算法來區分紅玫瑰和其他花朵:
我們將算法設計為計算給定圖像中紅色像素的數量,如果有足夠多的紅色像素(大于300個紅色像素)就被歸類為紅玫瑰。(這個例子里我們只提取了顏色特征)
還有一點需要注意的是,輸入圖像的大小、裁切方式都會影響算法的輸出結果,因此數據預處理非常重要!
作為數據的圖像
圖像中的每一個像素都是一個我們可以改變的數值,比如,我們可以將一個像素乘以一個標量來改變圖像亮度,我們也可以將每個像素值向右移動來改變圖像飽和度等。
將圖像視為數字網格是許多圖像處理技術的基礎。一般來說,色彩與形狀改變都是通過數學運算對圖像進行逐像素變換完成的。
訓練神經網絡
為了訓練神經網絡,我們要提供一組標記過的圖像數據,然后比較這些輸入圖像與計算機預測的輸出標簽或識別的測量值的差異以檢測算法模型的準確率。基于神經網絡的深度學習會監督它所犯的錯誤(誤差),并通過修正它發現的圖像數據間的模式與差異來實現迭代與擬合。
其中,梯度下降法是一種減少神經網絡誤差的數學方法,其中卷積神經網絡是一種特殊類型的神經網絡,通常用于計算機視覺應用,在我們往期推文里有詳細介紹~
X =輸入;a = 活化函數;W = 卷積神經網絡中的權重;J = 損失函數;Alpha = 學習率;y = 地面真值;y = 預測;k = 迭代次數
責任編輯:xj
原文標題:計算機視覺:你必須了解的圖像數據底層技術
文章出處:【微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
-
圖像數據
+關注
關注
0文章
52瀏覽量
11313 -
AI
+關注
關注
87文章
31513瀏覽量
270326 -
計算機視覺
+關注
關注
8文章
1700瀏覽量
46127
原文標題:計算機視覺:你必須了解的圖像數據底層技術
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論