來了解下計算機視覺的八大應用

2021-02-15 人工智慧愛好者社區

2019 第 40 篇,總第 64 篇文章

本文大約7000字,建議收藏閱讀

之前通過三篇文章簡單介紹了機器學習常用的幾種經典算法,當然也包括了目前很火的 CNNs 算法了

這些算法各有各的優缺點和適用的領域,了解熟悉它們是很有必要的,但如何應用它們還需要具體問題具體分析,而機器學習常見的應用方向,包括以下幾個:

計算機視覺(CV)

自然語言處理(NLP)

語音識別

推薦系統

廣告

等等

更詳細的可以參考之前推薦過的一個網站:

https://paperswithcode.com/sota

這個網站非常詳細劃分了 16 個大方向,包括總共 1081 個子方向。如果想進入機器學習領域,首先還是選擇一個方向領域,然後了解和熟悉該方向領域內所需要的算法,特定的解決技巧等。

當然,這篇文章主要介紹的是計算機視覺的應用,計算機視覺也算是這 16 個方向裡面最熱門也是發展最成熟的其中一個方向了。

計算機視覺可以分為以下幾大方向:

圖像分類

目標檢測

圖像分割

風格遷移

圖像重構

超解析度

圖像生成

人臉

其他

雖然這裡說的都是圖像,但其實視頻也屬於計算機視覺的研究對象,所以還有視頻分類、檢測、生成,以及追蹤,但篇幅的關係,以及目前研究工作方向也集中於圖像,暫時就不介紹視頻方面應用的內容。

每個方向會簡單介紹該方向需要解決的問題,以及推薦一些 Github 項目、論文或者是綜述文章。

因為公眾號不支持外鏈,所以文中部分連結無法直接點開,可以點擊文末「閱讀原文」,查看原文來直接跳轉連結。

1. 圖像分類(Image Classification)

圖像分類,也可以稱為圖像識別,顧名思義,就是辨別圖像是什麼,或者說圖像中的物體屬於什麼類別。

圖像分類根據不同分類標準可以劃分為很多種子方向。

比如根據類別標籤,可以劃分為:

根據分類對象,可以劃分為:

根據類別數量,還可以分為:

推薦的 Github 項目如下:

Awesome Image Classification

awesome-few-shot-learning

awesome-zero-shot-learning

論文:

ImageNet Classification With Deep Convolutional Neural Networks, 2012

Very Deep Convolutional Networks for Large-Scale Image Recognition, 2014.

Going Deeper with Convolutions, 2015.

Deep Residual Learning for Image Recognition, 2015.

Inceptionv4 && Inception-ResNetv2,2016

RexNext,2016

NasNet,2017

ShuffleNetV2,2018

SKNet,2019

文章:

常用的圖像分類數據集:

Mnist:手寫數字數據集,包含 60000 張訓練集和 10000 張測試集。

Cifar:分為 Cifar10 和 Cifar100。前者包含 60000 張圖片,總共10個類別,每類 6000 張圖片。後者是 100 個類別,每個類別 600 張圖片。類別包括貓狗鳥等動物、飛機汽車船等交通工具。

Imagenet:應該是目前最大的開源圖像數據集,包含 1500 萬張圖片,2.2 萬個類別。

2. 目標檢測(Object Detection)

目標檢測通常包含兩方面的工作,首先是找到目標,然後就是識別目標。

目標檢測可以分為單物體檢測和多物體檢測,即圖像中目標的數量,例子如下所示:

以上兩個例子是來自 VOC 2012 數據集的圖片,實際上還有更多更複雜的場景,如 MS COCO 數據集的圖片例子:

目標檢測領域,其實有很多方法,其發展史如下所示:

從上圖可以知道有幾個方法系列:

R-CNN 系列,從 R-CNN 到 Fast R-CNN、Faster R-CNN,Mask R-CNN;

YOLO 系列,從 v1 到 2018 年的 v3 版本

Github 項目:

awesome-object-detection

https://github.com/facebookresearch/Detectron

https://github.com/jwyang/faster-rcnn.pytorch

論文:

R-CNN,2013

Fast R-CNN,2015

Faster R-CNN,2015

Mask R-CNN,2017

YOLO,2015

YOLOv2,2016

YOLOv3,2018

SSD,2015

FPN,2016

文章:

常用的數據集:

3. 圖像分割(Object Segmentation)

圖像分割是基於圖像檢測的,它需要檢測到目標物體,然後把物體分割出來。

圖像分割可以分為三種:

普通分割:將不同分屬於不同物體的像素區域分開,比如前景區域和後景區域的分割;

語義分割:普通分割的基礎上,在像素級別上的分類,屬於同一類的像素都要被歸為一類,比如分割出不同類別的物體;

實例分割:語義分割的基礎上,分割出每個實例物體,比如對圖片中的多隻狗都分割出來,識別出來它們是不同的個體,不僅僅是屬於哪個類別。

一個圖形分割的例子如下所示,下圖就是一個實例分割的例子,用不同的顏色表示不同的實例。

Github:

論文:

U-Net,2015

DeepLab,2016

FCN,2016

文章:

4. 風格遷移(Style Transfer)

風格遷移是指將一個領域或者幾張圖片的風格應用到其他領域或者圖片上。比如將抽象派的風格應用到寫實派的圖片上。

一個風格遷移的例子如下, 圖 A 是原圖,後面的 B-F 五幅圖都是根據不同風格得到的結果。

一般數據集採用常用的數據集加一些著名的藝術畫作品,比如梵谷、畢卡索等。

Github:

A simple, concise tensorflow implementation of style transfer (neural style)

TensorFlow (Python API) implementation of Neural Style

TensorFlow CNN for fast style transfer

論文:

A Neural Algorithm of Artistic Style,2015

Image Style Transfer Using Convolutional Neural Networks, 2016

Deep Photo Style Transfer,2017

文章:

5. 圖像重構(Image Reconstruction)

圖像重構,也稱為圖像修復(Image Inpainting),其目的就是修復圖像中缺失的地方,比如可以用於修復一些老的有損壞的黑白照片和影片。通常會採用常用的數據集,然後人為製造圖片中需要修復的地方。

一個修復的例子如下所示,總共是四張需要修復的圖片,例子來自論文"Image Inpainting for Irregular Holes Using Partial Convolutions"。

論文:

Pixel Recurrent Neural Networks, 2016.

Image Inpainting for Irregular Holes Using Partial Convolutions, 2018.

Highly Scalable Image Reconstruction using Deep Neural Networks with Bandpass Filtering, 2018.

Generative Image Inpainting with Contextual Attention, 2018

Free-Form Image Inpainting with Gated Convolution,2018

EdgeConnect: Generative Image Inpainting with Adversarial Edge Learning,2019

Github:

Awesome-Image-Inpainting

generative_inpainting

edge-connect

文章:

6. 超解析度(Super-Resolution)

超解析度是指生成一個比原圖解析度更高、細節更清晰的任務。一個例子如下圖所示,圖例來自論文"Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network"。

通常超解析度的模型也可以用於解決圖像恢復(image restoration)和修復(inpainting),因為它們都是解決比較關聯的問題。

常用的數據集主要是採用現有的數據集,並生成解析度較低的圖片用於模型的訓練。

Github:

論文:

Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network, 2017.

Deep Laplacian Pyramid Networks for Fast and Accurate Super-Resolution, 2017.

Deep Image Prior, 2017.

ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks,2018

文章:

7. 圖像生成(Image Synthesis)

圖像生成是根據一張圖片生成修改部分區域的圖片或者是全新的圖片的任務。這個應用最近幾年快速發展,主要原因也是由於 GANs 是最近幾年非常熱門的研究方向,而圖像生成就是 GANs 的一大應用。

一個圖像生成例子如下:

Githubs:

論文:

Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks, 2015.

Conditional Image Generation with PixelCNN Decoders, 2016.

Pix2Pix--Image-to-image translation with conditional adversarial networks,2016

Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks, 2017.

bigGAN--LARGE SCALE GAN TRAINING FOR HIGH FIDELITY NATURAL IMAGE SYNTHESIS,2018

文章:

8. 人臉

人臉方面的應用,包括人臉識別、人臉檢測、人臉匹配、人臉對齊等等,這應該是計算機視覺方面最熱門也是發展最成熟的應用,而且已經比較廣泛的應用在各種安全、身份認證等,比如人臉支付、人臉解鎖。

這裡就直接推薦幾個 Github 項目、論文、文章和數據集

Github:

論文:

FaceNet: A Unified Embedding for Face Recognition and Clustering,2015

Face Recognition: From Traditional to Deep Learning Methods,2018

MSFD:Multi-Scale Receptive Field Face Detector,2018

DSFD: Dual Shot Face Detector,2018

Neural Architecture Search for Deep Face Recognition,2019

文章:

數據集:

LFW

CelebA

MS-Celeb-1M

CASIA-WebFace

FaceScrub

MegaFace

10. 其他

實際上還有其他很多方向,包括:

Show and Tell: A Neural Image Caption Generator, 2014.

AttnGAN: Fine-Grained Text to Image Generation with Attentional Generative Adversarial Networks, 2017.

Colorful Image Colorization, 2016.

Cascaded Pyramid Network for Multi-Person Pose Estimation, 2017

還有包括 3D、視頻、醫學圖像、問答、自動駕駛、追蹤等等方向,具體可以查看下面這個網站:

https://paperswithcode.com/area/computer-vision

而如果認定一個方向,想開始學習這方面的內容,首先推薦可以先查找中文方面的綜述文章或者論文,當然如果英語閱讀能力比較好的,也可以查看英文的綜述文章,通過看綜述來查看下自己需要閱讀的論文,論文推薦先看最近3-5年內的論文,太過久遠的論文,除非需要更加深入了解某個算法,否則都不太需要閱讀。

此外,就是需要結合實際項目來加深對算法的了解,通過跑下代碼,也可以更好了解某個算法具體是如何實現的。

參考

推薦閱讀

漫畫:程式設計師一時單身一時爽,一直單身...有點慘

2019年,又一個埋下伏筆的一年!

程式設計師有了孩子,老大叫玲玲,老二叫玲依,老三叫...

一個程式設計師要被打多少次臉?

親愛的,給我一個在看哈!

相關焦點

  • 計算機視覺入門大全:基礎概念、運行原理、應用案例詳解
    典型的計算機視覺任務是什麼?本文將介紹計算機視覺的基礎概念和現實應用,對任何聽說過計算機視覺但不確定它是什麼以及如何應用的人,本文是了解計算機視覺這一複雜問題的便捷途徑。你可以通讀本文,或者直接跳至某個章節。目錄什麼是計算機視覺?
  • 計算機視覺的圖像標註類型及應用
    全文共2534字,預計學習時長5分鐘計算機視覺的圖像標註種類繁多,應用也不盡相同。想知道各種標註技術的效果嗎?一起來看看它們在計算機視覺方面的應用和獨特的案例吧!圖像標註類型在深入學習計算機視覺的圖像標註用例前,首先要了解各類圖像標註的方法。一起來剖析一下最常見的圖像標註技術吧。1.
  • 計算機視覺八大任務全概述:PaddlePaddle工程師詳解熱門視覺模型
    本文轉載自 PaddlePaddle 微信公眾號編者按:來自百度的深度學習工程師,圍繞計算機視覺領域的八大任務,包括:圖像分類、目標檢測
  • 計算機視覺:你必須了解的圖像數據底層技術
    計算機視覺的主要應用 計算機視覺目前應用的領域不勝枚舉,小編就挑出5個具有代表性的應用吧: 物體與行為識別 自動駕駛汽車 醫療影像分析與診斷 圖片標記
  • 計算機視覺新手指南
    使用計算機視覺等效其準確性幾乎與人眼相同的情況下,可以在眨眼間就進行數百萬次計算。這不僅涉及到將圖片轉換為像素,還包括嘗試通過這些像素去了解圖片中的內容,接下來你將首先來了解如何從這些像素中提取信息並理解其代表的內容。那麼,讓我們了解一下機器如何去看(像人眼一樣)? A. 用數字表示顏色:在計算機科學中,每種顏色都由指定的十六進位值來表示。
  • 鳥瞰計算機視覺
    模式識別2.4人工智慧和機器學習2.5計算機圖形學3 計算機視覺應用領域1 視覺概述計算機視覺源自人類視覺,即一般所說的視覺。人工智慧則指由人類用計算機模擬、執行或再生某些與人類智能有關的功能的能力和技術。視覺功能是人類智能的一種體現,所以計算機視覺與人工智慧密切相關。計算機視覺的研究中使用了許多人工智慧技術,反過來,計算機視覺也可看作是人工智慧的一-個重要應用領域,需要藉助人工智慧的理論研究成果和系統實現經驗。
  • 《計算機視覺:算法與應用(第二版)》1206頁PDF免費分享
    《計算機視覺:算法與應用》第二版來了!作為計算機視覺的經典書籍,《計算機視覺:算法與應用》一直被作為本科生和研究生「計算機視覺」課程的理想教材。作者:Richard Szeliski博士,計算機視覺領域的大師級人物,現為Facebook研究科學家。
  • 一文全覽深度學習在計算機視覺領域的應用
    計算機視覺不是深度學習最早看到突破的領域,真正讓大家大吃一驚的顛覆傳統方法的應用領域是語音識別,做出來的公司是微軟,而不是當時如日中天的谷歌。計算機視覺應用深度學習堪稱突破的成功點是2012年ImageNet比賽,採用的模型是CNN,而不是Hinton搞的RBM和DBN之類,就是Hinton學生做出來以他命名的AlexNet。
  • 十年之後,CV經典教材《計算機視覺:算法與應用》迎來第二版,初稿開放下載
    你也在用《計算機視覺:算法與應用》入門 CV 嗎?或許你手裡的版本已經有點過時了。提到計算機視覺領域的入門書,不少人會推薦 Facebook 研究科學家 Richard Szeliski 的《計算機視覺:算法與應用》。這本書的英文版於 2010 年出版,2011 年被翻譯成中文在國內面世,成為很多人學習計算機視覺的入門教材。
  • 計算機視覺、機器視覺、圖像處理以及人工智慧技術
    不管人工智慧技術未來再經歷幾次大起大落,目前人工智慧技術給我們帶來的落地的應用還是非常讓人滿意的。人工智慧技術目前已經落地的應用,主要集中在人臉識別、城市安防、自然語言翻譯與處理、智能推薦、自動駕駛等。而在這些應用場景中,視覺技術的地位可謂是非常重要。談到視覺技術,我們一般會想到攝像頭。然而,攝像頭只是視覺技術體系中的輸入端,採集圖像或視頻信息。
  • 與計算機視覺跳一曲華爾茲
    中國已經成為計算機視覺領域研究與應用的領先國家,據估計2020年中國計算機視覺市場規模有望突破1000億。IDC定義的計算機視覺是指從單張或者連續的圖像中提取信息,分析、理解並應用信息的技術。在此定義下,下圖展示了IDC認為未來的計算機視覺技術的應用場景,從左到右,分別是最基本的物體檢測、更具體的事件檢測、更靈活的人機互動以及更複雜的信息重組、自主行為等。圖中標記綠色的是當前市場關注度、滲透率以及技術採用度相對較高的應用場景,比如靜態人臉識別、車輛識別,視頻結構化中的場景標註、圖像標註等。可以看出,當前的應用僅是冰山一角,未來的前景明顯更加廣闊。
  • 計算機視覺技術發展的下一個十年
    超越特徵工程計算機視覺技術在2010年代初發生了劇烈變化,當時我們看到了自計算機本身發明以來最大的計算機視覺革命。2012年,在ImageNet大型視覺識別挑戰賽上,一種名為AlexNet的計算機視覺算法比競爭對手提高了10%。全世界都震驚了。
  • 計算機視覺(及卷積神經網絡)簡史
    世界範圍內的計算機方面的科學家在過去的六十年一直嘗試尋找使得機器能夠在視覺數據中提取出含義,計算機視覺的歷史是非常令人著迷的,這個方面是大多數人所不了解的。在這篇文章中,我將會嘗試介紹現代計算機視覺系統是如何通過卷積神經網絡驅動的。我將會從一個二十世紀五十年代出現的,和軟體工程毫不相關的作品開始。
  • 澳洲八大計算機專業申請者科普篇
    澳洲的計算機專業近些年來成為留學國家中一個異軍突起的專業。首先,八大中開設了近些年來大熱的人工智慧,網絡安全等專業以適應高速發展的網際網路行業。其次,八大部分的計算機專業是不需要本科背景的,比較適合跨專業的學生申請,並且部分專業受澳大利亞計算機協會認證的課程,適用於想要移民的申請人。
  • 光學預處理與計算機視覺結合,UCR學者用漩渦實現混合計算機視覺系統
    機器之心報導作者:杜偉、小舟在本文中,來自加州大學河濱分校機械工程系的研究者通過應用光學漩渦證明了混合計算機視覺系統的可行性。該研究為光子學在構建通用的小腦混合神經網絡和開發用於大數據分析的實時硬體方面的作用提供了新見解。
  • 淺談計算機視覺中的圖像標註_易車網
    什麼是計算機視覺?計算機視覺被認為是機器學習和人工智慧發展的重要領域之一。簡而言之,計算機視覺是人工智慧研究領域,致力於賦予計算機看世界和視覺解釋世界的能力。更進一步的說,計算機視覺是一門研究如何使機器「看」的科學,就是是指用攝影機和電腦代替人眼對目標進行識別、跟蹤和測量等機器視覺,並進一步做圖形處理,使電腦處理成為更適合人眼觀察或傳送給儀器檢測的圖像。計算機視覺的應用非常廣泛,從自動駕駛汽車和無人機到醫療診斷技術和面部識別軟體,計算機視覺的應用是巨大的和革命性的。
  • 從學術研究到應用落地,這 6 位計算機視覺大咖在 CV 專場上都講了...
    6 月 30 日,CCF-GAIR 大會進行到第 2 天,計算機視覺專場如期舉行。本專場由兩大議題組成,分別是上午場「計算機視覺前沿與智能視頻」以及下午場「計算機視覺與醫療影像分析」。本文為計算機視覺專場上半場的精選內容。在上午場的主題演講中,港科大電子及計算機工程學系助理教授、RAM-LAB 主任劉明擔綱主持。
  • 計算機視覺如何尋找突破口?三維重建或許是一個
    ICCV由IEEE主辦,全稱為IEEE International Conference on Computer Vision,即國際計算機視覺大會。與計算機視覺模式識別會議CVPR和歐洲計算機視覺會議ECCV並稱計算機視覺三大頂級會議。
  • [CUDA OpenCV]GPU加速的計算機視覺學習資源下載
    計算機視覺是典型的計算密集型應用,長久以來OpenCV的開發都繞不開加速,降低算法複雜度、開發易於並行的算法、榨乾硬體的計算能力(利用GPU、FPGA等)在實際應用場景中非常重要。在OpenCV 3的時代,CPU指令級(SSE、AVX、NEON)、CUDA、OpenCL均被支持,甚至官方有過Halide語言(一種專門設計為利用各種硬體加速視覺算法運行的語言)嘗鮮。
  • .| 比特大陸分享算豐邊緣計算晶片BM1880在計算機視覺領域的應用
    11月8日,比特大陸受邀參加由國內專業 IT 技術社區 CSDN 主辦的 2018 AI開發者大會,不僅同到場的 AI 開發者們分享了算豐邊緣計算晶片 BM1880 在計算機視覺領域的應用,更展示了基於 BM1880 的邊緣計算開發板、USB人工智慧算力棒、人工智慧模塊等產品。