回覆列表
  • 1 # 有個蘋果

     計算機視覺領域一般不同的應用有著不同的演算法實現,我主要研究的就是計算機視覺方面的應用,主要是在影象預處理、分類、目標檢測等方面。

    1. 影象分類。影象分類是根據影象的語義資訊將不同類別影象區分開來,是計算機視覺中重要的基本問題,也是影象檢測、影象分割、物體跟蹤、行為分析等其他高層視覺任務的基礎。機器學習方面的演算法有SVM、Adaboost、決策樹以及貝葉斯分類器等;深度學習方面經典的演算法有AlexNet、VGG、GoogleNet、ResNet等網路。

    2. 目標檢測。目標檢測就是在複雜場景中檢測出我們需要的目標,又用傳統機器學習演算法實現的,也有用深度學習進行目標檢測的。傳統機器學習演算法比如利用Adaboost進行人臉檢測、SVM演算法實現行人檢測等;深度學習方面目標檢測演算法,既有基於區域建議的R-CNN、Fast R-CNN、Faster R-CNN等兩個階段的目標檢測演算法,也有Yolo、SSD等端到端的目標檢測演算法。

    3. 目標跟蹤。目標跟蹤,是指在特定場景跟蹤某一個或多個特定感興趣物件的過程。我之前做過目標跟蹤的實驗,利用的是傳統的影象處理演算法,比如光流法、粒子濾波法、卡爾曼濾波法以及KCF相關濾波演算法等。深度學習演算法中有DLT、FCNT、MD Net等網路,深度學習目標跟蹤演算法接觸的少,不是很瞭解。

    4. 語義分割。語義分割是計算機視覺中的基本任務,在語義分割中我們需要將視覺輸入分為不同的語義可解釋類別,「語義的可解釋性」即分類類別在真實世界中是有意義的,將整個影象分成一個個畫素組,然後對其進行標記和分類。傳統的影象分割演算法有基於閾值的分割演算法、基於區域的分割方法、基於邊緣的分割方法以及基於特定理論的分割方法等;現在深度學習演算法在語義分割上效果更好,比如現在最常用的全卷機神經網路演算法(FCN)。

    還有好多應用,比如人臉檢測識別,有Adaboost演算法、MTCNN網路以及FaceNet網路等;文字識別,智慧駕駛,醫學影象處理等等,分別有不同的演算法實現。

    計算機視覺程式語言的話需要根據演算法以及平臺來選擇。傳統影象處理大都用的是opencv和matlab平臺,分別用C++語言和matlab語言;深度學習框架大都是基於Python的API實現的,可以用python語言實現,比如Tensorflow、Caffe、keras以及MxNet等平臺,當然Caffe還可以用C++實現。

  • 2 # MA奔騰

    計算機視覺領域一般不同的應用有著不同的演算法實現,主要是在影象預處理、分類、目標檢測等方面。

    1. 影象分類。影象分類是根據影象的語義資訊將不同類別影象區分開來,是計算機視覺中重要的基本問題,也是影象檢測、影象分割、物體跟蹤、行為分析等其他高層視覺任務的基礎。機器學習方面的演算法有SVMAdaboost、決策樹以及貝葉斯分類器等;深度學習方面經典的演算法有AlexNet、VGG、GoogleNet、ResNet等網路。

    2. 目標檢測。目標檢測就是在複雜場景中檢測出我們需要的目標,又用傳統機器學習演算法實現的,也有用深度學習進行目標檢測的。傳統機器學習演算法比如利用Adaboost進行人臉檢測、SVM演算法實現行人檢測等;深度學習方面目標檢測演算法,既有基於區域建議的R-CNN、Fast R-CNN、Faster R-CNN等兩個階段的目標檢測演算法,也有Yolo、SSD等端到端的目標檢測演算法。

    3. 目標跟蹤。目標跟蹤,是指在特定場景跟蹤某一個或多個特定感興趣物件的過程。我之前做過目標跟蹤的實驗,利用的是傳統的影象處理演算法,比如光流法、粒子濾波法、卡爾曼濾波法以及KCF相關濾波演算法等。深度學習演算法中有DLT、FCNT、MD Net等網路,深度學習目標跟蹤演算法接觸的少,不是很瞭解。

    4. 語義分割。語義分割是計算機視覺中的基本任務,在語義分割中我們需要將視覺輸入分為不同的語義可解釋類別,「語義的可解釋性」即分類類別在真實世界中是有意義的,將整個影象分成一個個畫素組,然後對其進行標記和分類。傳統的影象分割演算法有基於閾值的分割演算法、基於區域的分割方法、基於邊緣的分割方法以及基於特定理論的分割方法等;現在深度學習演算法在語義分割上效果更好,比如現在最常用的全卷機神經網路演算法(FCN)。

  • 3 # kgzip3125

    從概念的提出到走向繁榮1956年,幾個計算機科學家相聚在達特茅斯會議(Dartmouth Conferences),提出了“人工智慧”的概念。其後,人工智慧就一直縈繞於人們的腦海之中,並在科研實驗室中慢慢孵化。之後的幾十年,人工智慧一直在兩極反轉,或被稱作人類文明耀眼未來的預言;或者被當成技術瘋子的狂想扔到垃圾堆裡。坦白說,直到2012年之前,這兩種聲音還在同時存在。過去幾年,尤其是2015年以來,人工智慧開始大爆發。很大一部分是由於GPU的廣泛應用,使得平行計算變得更快、更便宜、更有效。當然,無限拓展的儲存能力和驟然爆發的資料洪流(大資料)的組合拳,也使得影象資料、文字資料、交易資料、對映資料全面海量爆發。讓我們慢慢梳理一下計算機科學家們是如何將人工智慧從最早的一點點苗頭,發展到能夠支撐那些每天被數億使用者使用的應用的。人工智慧(Artificial Intelligence)——為機器賦予人的智慧成王(King me):能下國際跳棋的程式是早期人工智慧的一個典型應用,在二十世紀五十年代曾掀起一陣風潮。(譯者注:國際跳棋棋子到達底線位置後,可以成王,成王棋子可以向後移動)。早在1956年夏天那次會議,人工智慧的先驅們就夢想著用當時剛剛出現的計算機來構造複雜的、擁有與人類智慧同樣本質特性的機器。這就是我們現在所說的“強人工智慧”(General AI)。這個無所不能的機器,它有著我們所有的感知(甚至比人更多),我們所有的理性,可以像我們一樣思考。人們在電影裡也總是看到這樣的機器:友好的,像星球大戰中的C-3PO;邪惡的,如終結者。強人工智慧現在還只存在於電影和科幻小說中,原因不難理解,我們還沒法實現它們,至少目前還不行。我們目前能實現的,一般被稱為“弱人工智慧”(Narrow AI)。弱人工智慧是能夠與人一樣,甚至比人更好地執行特定任務的技術。例如,Pinterest上的影象分類;或者Facebook的人臉識別。這些是弱人工智慧在實踐中的例子。這些技術實現的是人類智慧的一些具體的區域性。但它們是如何實現的?這種智慧是從何而來?這就帶我們來到同心圓的裡面一層,機器學習。機器學習—— 一種實現人工智慧的方法健康食譜(Spam free diet):機器學習能夠幫你過濾電子信箱裡的(大部分)垃圾郵件。(譯者注:英文中垃圾郵件的單詞spam來源於二戰中美國曾大量援助英國的午餐肉品牌SPAM。直到六十年代,英國的農業一直沒有從二戰的損失中恢復,因而從美國大量進口了這種廉價的罐頭肉製品。據傳聞不甚好吃且充斥市場。)機器學習最基本的做法,是使用演算法來解析資料、從中學習,然後對真實世界中的事件做出決策和預測。與傳統的為解決特定任務、硬編碼的軟體程式不同,機器學習是用大量的資料來“訓練”,透過各種演算法從資料中學習如何完成任務。機器學習直接來源於早期的人工智慧領域。傳統演算法包括決策樹學習、推導邏輯規劃、聚類、強化學習和貝葉斯網路等等。眾所周知,我們還沒有實現強人工智慧。早期機器學習方法甚至都無法實現弱人工智慧。機器學習最成功的應用領域是計算機視覺,雖然也還是需要大量的手工編碼來完成工作。人們需要手工編寫分類器、邊緣檢測濾波器,以便讓程式能識別物體從哪裡開始,到哪裡結束;寫形狀檢測程式來判斷檢測物件是不是有八條邊;寫分類器來識別字母“ST-O-P”。使用以上這些手工編寫的分類器,人們總算可以開發演算法來感知影象,判斷影象是不是一個停止標誌牌。這個結果還算不錯,但並不是那種能讓人為之一振的成功。特別是遇到雲霧天,標誌牌變得不是那麼清晰可見,又或者被樹遮擋一部分,演算法就難以成功了。這就是為什麼前一段時間,計算機視覺的效能一直無法接近到人的能力。它太僵化,太容易受環境條件的干擾。隨著時間的推進,學習演算法的發展改變了一切。深度學習——一種實現機器學習的技術放貓(Herding Cats):從YouTube影片裡面尋找貓的圖片是深度學習傑出效能的首次展現。(譯者注:herdingcats是英語習語,照顧一群喜歡自由,不喜歡馴服的貓,用來形容局面混亂,任務難以完成。)人工神經網路(Artificial Neural Networks)是早期機器學習中的一個重要的演算法,歷經數十年風風雨雨。神經網路的原理是受我們大腦的生理結構——互相交叉相連的神經元啟發。但與大腦中一個神經元可以連線一定距離內的任意神經元不同,人工神經網路具有離散的層、連線和資料傳播的方向。例如,我們可以把一幅影象切分成影象塊,輸入到神經網路的第一層。在第一層的每一個神經元都把資料傳遞到第二層。第二層的神經元也是完成類似的工作,把資料傳遞到第三層,以此類推,直到最後一層,然後生成結果。每一個神經元都為它的輸入分配權重,這個權重的正確與否與其執行的任務直接相關。最終的輸出由這些權重加總來決定。我們仍以停止(Stop)標誌牌為例。將一個停止標誌牌影象的所有元素都打碎,然後用神經元進行“檢查”:八邊形的外形、救火車般的紅顏色、鮮明突出的字母、交通標誌的典型尺寸和靜止不動運動特性等等。神經網路的任務就是給出結論,它到底是不是一個停止標誌牌。神經網路會根據所有權重,給出一個經過深思熟慮的猜測——“機率向量”。這個例子裡,系統可能會給出這樣的結果:86%可能是一個停止標誌牌;7%的可能是一個限速標誌牌;5%的可能是一個風箏掛在樹上等等。然後網路結構告知神經網路,它的結論是否正確。即使是這個例子,也算是比較超前了。直到前不久,神經網路也還是為人工智慧圈所淡忘。其實在人工智慧出現的早期,神經網路就已經存在了,但神經網路對於“智慧”的貢獻微乎其微。主要問題是,即使是最基本的神經網路,也需要大量的運算。神經網路演算法的運算需求難以得到滿足。不過,還是有一些虔誠的研究團隊,以多倫多大學的Geoffrey Hinton為代表,堅持研究,實現了以超算為目標的並行演算法的執行與概念證明。但也直到GPU得到廣泛應用,這些努力才見到成效。我們回過頭來看這個停止標誌識別的例子。神經網路是調製、訓練出來的,時不時還是很容易出錯的。它最需要的,就是訓練。需要成百上千甚至幾百萬張影象來訓練,直到神經元的輸入的權值都被調製得十分精確,無論是否有霧,晴天還是雨天,每次都能得到正確的結果。只有這個時候,我們才可以說神經網路成功地自學習到一個停止標誌的樣子;或者在Facebook的應用裡,神經網路自學習了你媽媽的臉;又或者是2012年吳恩達(Andrew Ng)教授在Google實現了神經網路學習到貓的樣子等等。吳教授的突破在於,把這些神經網路從基礎上顯著地增大了。層數非常多,神經元也非常多,然後給系統輸入海量的資料,來訓練網路。在吳教授這裡,資料是一千萬YouTube影片中的影象。吳教授為深度學習(deep learning)加入了“深度”(deep)。這裡的“深度”就是說神經網路中眾多的層。現在,經過深度學習訓練的影象識別,在一些場景中甚至可以比人做得更好:從識別貓,到辨別血液中癌症的早期成分,到識別核磁共振成像中的腫瘤。Google的AlphaGo先是學會了如何下圍棋,然後與它自己下棋訓練。它訓練自己神經網路的方法,就是不斷地與自己下棋,反覆地下,永不停歇。深度學習,給人工智慧以璀璨的未來深度學習使得機器學習能夠實現眾多的應用,並拓展了人工智慧的領域範圍。深度學習摧枯拉朽般地實現了各種任務,使得似乎所有的機器輔助功能都變為可能。無人駕駛汽車,預防性醫療保健,甚至是更好的電影推薦,都近在眼前,或者即將實現。人工智慧就在現在,就在明天。有了深度學習,人工智慧甚至可以達到我們暢想的科幻小說一般。你的C-3PO我拿走了,你有你的終結者就好了。

  • 4 # 智慧產品大師

    智慧工具車:航空領域的飛機維修是一個大工程,飛機落地之後都會需要進行維修巡檢,所以很多的維修公司都會讓工人帶著工具去維修,但是很麻煩的一點是什麼,維修過程中用到的都是特異型的工具,隨便一個螺絲套頭批頭都會高達好幾百元,一把工具也是隨便幾千塊錢,而且一旦遺忘在飛機裡面,就可能帶來空難,這重事情一旦發生,對於乘客來說就是毀滅性的。

    所以產生了智慧工具車要把每一把維修的工具管理起來,大家都能做的RFID工具車確實能解決一部分的工具問題(如下影片),但是比如批頭,螺絲,套筒,根本沒有辦法貼標籤,同樣也要被管理起來,這可咋整?同行都是用一個盒子吧所有的批頭,套筒做統一管理,但是這樣管理並不合理,哪個東西被拿走依然沒法確認。所以,我們選擇用視覺識別來去識別套筒和螺絲,這樣的話,就可以不需要任何的電子標籤來去貼套筒或者批頭,所以你看到,其實我們就用了視覺識別+AI人工智慧實現了非常現實的一個問題。

  • 中秋節和大豐收的關聯?
  • 截至5月2日10時,美國確診人數來到113萬大關,特朗普終被調查了,如何評價?