回覆列表
  • 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++實現。

    我現在實現傳統影象處理演算法的話用的是C++語言,深度學習演算法在TensorFlow/Keras框架上用Python語言實現。

  • 中秋節和大豐收的關聯?
  • 么妹住在十三寨原唱?