Author Archive

BAT專家解讀:如何選出最合適的深度學習框架?

隨着深度學習關注度和勢頭上升,深度學習被越來越多的企業和組織的生產實踐結合起來。這時,無論是對於深度學習相關專業的初學者,還是已經在企業和組織中從事工業場景應用和研發的開發者來說,選擇一個適合自己,適合業務場景需求的深度學習框架顯得尤為重要。

計算機視覺 – Computer Vision | CV

一文看懂計算機視覺-Computer Vision

計算機視覺(Computer Vision)是人工智能領域的一個重要分支。它的目的是:看懂圖片里的內容。

本文將介紹計算機視覺的基本概念、實現原理、8 個任務和 4 個生活中常見的應用場景。

計算機視覺為什麼重要?

人的大腦皮層, 有差不多 70% 都是在處理視覺信息。 是人類獲取信息最主要的渠道,沒有之一。

在網絡世界,照片和視頻(圖像的集合)也正在發生爆炸式的增長!

下圖是網絡上新增數據的佔比趨勢圖。灰色是結構化數據,藍色是非結構化數據(大部分都是圖像和視頻)。可以很明顯的發現,圖片和視頻正在以指數級的速度在增長。

圖片和視頻數據在飛速增長

而在計算機視覺出現之前,圖像對於計算機來說是黑盒的狀態。

一張圖片對於機器只是一個文件。機器並不知道圖片里的內容到底是什麼,只知道這張圖片是什麼尺寸,多少MB,什麼格式的。

CV之前,機器智能看到文件屬性,看不懂圖片內容

如果計算機、人工智能想要在現實世界發揮重要作用,就必須看懂圖片!這就是計算機視覺要解決的問題。

 

什麼是計算機視覺 – CV?

計算機視覺是人工智能的一個重要分支,它要解決的問題就是:看懂圖像里的內容

比如:

  • 圖片里的寵物是貓還是狗?
  • 圖片里的人是老張還是老王?
  • 這張照片里,桌子上放了哪些物品?

CV讓機器可以看懂圖片里的內容

 

計算機視覺的原理是什麼?

目前主流的基於深度學習的機器視覺方法,其原理跟人類大腦工作的原理比較相似。

人類的視覺原理如下:從原始信號攝入開始(瞳孔攝入像素 Pixels),接着做初步處理(大腦皮層某些細胞發現邊緣和方向),然後抽象(大腦判定,眼前的物體的形狀,是圓形的),然後進一步抽象(大腦進一步判定該物體是只氣球)。

人類大腦看圖的原理

機器的方法也是類似:構造多層的神經網絡,較低層的識別初級的圖像特徵,若干底層特徵組成更上一層特徵,最終通過多個層級的組合,最終在頂層做出分類。

CV的原理和人類視覺的原理類似

 

計算機視覺的2大挑戰

對於人類來說看懂圖片是一件很簡單的事情,但是對於機器來說這是一個非常難的事情,說 2 個典型的難點:

特徵難以提取

同一隻貓在不同的角度,不同的光線,不同的動作下。像素差異是非常大的。就算是同一張照片,旋轉90度後,其像素差異也非常大!

所以圖片里的內容相似甚至相同,但是在像素層面,其變化會非常大。這對於特徵提取是一大挑戰。

需要計算的數據量巨大

手機上隨便拍一張照片就是1000*2000像素的。每個像素 RGB 3個參數,一共有1000 X 2000 X 3=6,000,000。隨便一張照片就要處理 600萬 個參數,再算算現在越來越流行的 4K 視頻。就知道這個計算量級有多恐怖了。

計算機視覺的2大挑戰

CNN 解決了上面的兩大難題

CNN 屬於深度學習的範疇,它很好的解決了上面所說的2大難點:

  1. CNN 可以有效的提取圖像里的特徵
  2. CNN 可以將海量的數據(不影響特徵提取的前提下)進行有效的降維,大大減少了對算力的要求

CNN 的具體原理這裡不做具體說明,感興趣的可以看看《一文看懂卷積神經網絡-CNN(基本原理+獨特價值+實際應用)

 

計算機視覺的 8 大任務

CV的8大任務

圖像分類

圖像分類是計算機視覺中重要的基礎問題。後面提到的其他任務也是以它為基礎的。

舉幾個典型的例子:人臉識別、圖片鑒黃、相冊根據人物自動分類等。

圖像分類

目標檢測

目標檢測任務的目標是給定一張圖像或是一個視頻幀,讓計算機找出其中所有目標的位置,並給出每個目標的具體類別。

目標檢測

語義分割

它將整個圖像分成像素組,然後對像素組進行標記和分類。語義分割試圖在語義上理解圖像中每個像素是什麼(人、車、狗、樹…)。

如下圖,除了識別人、道路、汽車、樹木等之外,我們還必須確定每個物體的邊界。

語義分割

實例分割

除了語義分割之外,實例分割將不同類型的實例進行分類,比如用 5 種不同顏色來標記 5 輛汽車。我們會看到多個重疊物體和不同背景的複雜景象,我們不僅需要將這些不同的對象進行分類,而且還要確定對象的邊界、差異和彼此之間的關係!

實例分割

視頻分類

與圖像分類不同的是,分類的對象不再是靜止的圖像,而是一個由多幀圖像構成的、包含語音數據、包含運動信息等的視頻對象,因此理解視頻需要獲得更多的上下文信息,不僅要理解每幀圖像是什麼、包含什麼,還需要結合不同幀,知道上下文的關聯信息。

視頻分類

人體關鍵點檢測

體關鍵點檢測,通過人體關鍵節點的組合和追蹤來識別人的運動和行為,對於描述人體姿態,預測人體行為至關重要。

在 Xbox 中就有利用到這個技術。

人體關鍵點檢測

場景文字識別

很多照片中都有一些文字信息,這對理解圖像有重要的作用。

場景文字識別是在圖像背景複雜、分辨率低下、字體多樣、分佈隨意等情況下,將圖像信息轉化為文字序列的過程。

停車場、收費站的車牌識別就是典型的應用場景。

場景文字識別

目標跟蹤

目標跟蹤,是指在特定場景跟蹤某一個或多個特定感興趣對象的過程。傳統的應用就是視頻和真實世界的交互,在檢測到初始對象之後進行觀察。

無人駕駛里就會用到這個技術。

目標跟蹤

 

CV 在日常生活中的應用場景

計算機視覺的應用場景非常廣泛,下面列舉幾個生活中常見的應用場景。

  1. 門禁、支付寶上的人臉識別
  2. 停車場、收費站的車牌識別
  3. 上傳圖片或視頻到網站時的風險識別
  4. 抖音上的各種道具(需要先識別出人臉的位置)

計算機視覺在日常生活中的應用場景

這裡需要說明一下,條形碼和二維碼的掃描不算是計算機視覺。

這種對圖像的識別,還是基於固定規則的,並不需要處理複雜的圖像,完全用不到 AI 技術。

 

百度百科+維基百科

百度百科版本

計算機視覺是一門研究如何使機器「看」的科學,更進一步的說,就是是指用攝影機和電腦代替人眼對目標進行識別、跟蹤和測量等機器視覺,並進一步做圖形處理,使電腦處理成為更適合人眼觀察或傳送給儀器檢測的圖像。作為一個科學學科,計算機視覺研究相關的理論和技術,試圖建立能夠從圖像或者多維數據中獲取『信息』的人工智能系統。這裡所 指的信息指Shannon定義的,可以用來幫助做一個「決定」的信息。因為感知可以看作是從感官信號中提 取信息,所以計算機視覺也可以看作是研究如何使人工系統從圖像或多維數據中「感知」的科學。

查看詳情

維基百科版本

計算機視覺是一個跨學科的科學領域,涉及如何製作計算機以從數字圖像或視頻中獲得高層次的理解。從工程的角度來看,它尋求自動化人類視覺系統可以完成的任務。

計算機視覺任務包括用於獲取,處理,分析和理解數字圖像的方法,以及從現實世界中提取高維數據以便例如以決策的形式產生數字或符號信息。

在這種情況下理解意味着將視覺圖像(視網膜的輸入)轉換為可以與其他思維過程交互並引出適當行動的世界描述。這種圖像理解可以看作是利用幾何學,物理學,統計學和學習理論構建的模型從圖像數據中解開符號信息。

作為一門科學學科,計算機視覺關注從圖像中提取信息的人工系統背後的理論。圖像數據可以採用多種形式,例如視頻序列,來自多個相機的視圖或來自醫學掃描儀的多維數據。作為一門技術學科,計算機視覺試圖將其理論和模型應用於計算機視覺系統的構建。 計算機視覺的子域包括場景重建,事件檢測,視頻跟蹤,對象識別,3D姿態估計,學習,索引,運動估計和圖像恢復。

查看詳情

 

應用類文章(1)

深度長文:中文分詞的十年回顧

本文回顧了中文分詞在2007-2017十年間的技術進展,尤其是自深度學習滲透到自然語言處理以來的主要工作。我們的基本結論是,中文分詞的監督機器學習方法在從非神經網絡方法到神經網絡方法的遷移中尚未展示出明顯的技術優勢。中文分詞的機器學習模型的構建,依然需要平衡考慮已知詞和未登錄詞的識別問題。

判別式模型(Discriminative model)

百度百科版本

在機器學習領域判別模型是一種對未知數據 y 與已知數據 x 之間關係進行建模的方法。判別模型是一種基於概率理論的方法。已知輸入變量 x ,判別模型通過構建條件概率分佈 P(y|x) 預測 y 。

查看詳情

 

維基百科版本

判別模型,也稱為條件模型,是一類用於統計分類的模型,尤其是在有監督的 機器學習中。判別分類器試圖通過僅依賴於觀察到的數據進行建模,同時學習如何從給定的統計數據進行分類。監督學習中使用的方法可以分為判別模型或生成模型。與生成模型相比,判別模型對分佈的假設較少,但在很大程度上取決於數據的質量。

例如,給定一組狗和兔子的標記圖片,辨別模型將新的未標記圖片與最相似的標記圖片匹配,然後給出標籤類,狗或兔子。然而,生成將開發一個模型,應該能夠從他們所做的假設輸出類標籤到未標記的圖片,就像所有兔子都有紅眼。典型的判別學習方法包括邏輯回歸(LR),支持向量機(SVM) ),條件隨機場(CRF)(在無向圖上指定)等。典型的生成模型方法包含樸素貝葉斯,高斯混合模型等。

查看詳情

 

產生式模型(Generative model)

百度百科版本

在概率統計理論中, 生成模型是指能夠隨機生成觀測數據的模型,尤其是在給定某些隱含參數的條件下。它給觀測值和標註數據序列指定一個聯合概率分佈。在機器學習中,生成模型可以用來直接對數據建模(例如根據某個變量的概率密度函數進行數據採樣),也可以用來建立變量間的條件概率分佈。條件概率分佈可以由生成模型根據貝葉斯定理形成。

查看詳情

 

維基百科版本

在統計分類中,包括機器學習,兩種主要方法被稱為生成方法和判別方法。這些計算分類器採用不同的方法,統計建模的程度不同。術語不一致,但可以區分三種主要類型,遵循Jebara(2004):

  • 給定一個可觀察到的變量 X和目標變量 ÿ,一個生成模型是一個統計模型的的聯合概率分佈上X  ×  ÿ
{\displaystyle P(X,Y)}
  • 判別模型是的模型條件概率的目標ÿ,給定的觀察X,象徵性地;
{\ displaystyle P(Y | X = x)}
  • 不使用概率模型計算的分類器也被寬泛地稱為「判別性」。

最後兩個類之間的區別並不一致; Jebara(2004)將這三個類別稱為生成學習條件學習歧視性學習,但Ng&Jordan(2002)僅區分兩個類別,稱為生成分類器(聯合分佈)和判別分類器(條件分佈或沒有分配),沒有區分後兩類。類似地,基於生成模型的分類器生成分類器,而基於判別模型的分類器是判別分類器,儘管該術語也指不基於模型的分類器。每個標準例子都是線性分類器,它們是:生成分類器:樸素貝葉斯分類器和線性判別分析 ; 判別模型:邏輯回歸 ; 非模型分類器:感知器和支持向量機。

查看詳情