摘 要:開源軟件已成為我國信息化建設和軟件產業發展的重要技術來源,創造了顯著的經濟和社會效益。作為人工智能的重要研究方向,計算機視覺的飛速發展離不開開源軟件在該領域的持續深耕。本文將重點梳理計算機視覺相關開源軟件應用情況與典型開源軟件,為計算機視覺研發人員提供參考。
關鍵詞:計算機視覺;開源軟件;人工智能
1 引言
計算機視覺是一門研究如何使機器“看”的科學,即利用圖像傳感器和計算機代替人眼對圖像內容進行解釋,實現目標識別、跟蹤和測量等功能。根據咨詢公司發布的數據[1],2018年全球計算機視覺市場規模已超過300億元,年均增長超過20%,其中中國市場規模達到120億元。
開源軟件是指代碼創作者依據相關的開源協議,將源代碼全部或部分公開,允許用戶或開發者進行自主學習、報錯、修改、使用等活動,以共同提高軟件的質量。經過近20年發展,開源軟件已成為我國信息化建設和軟件產業發展的重要技術來源,持續推動國產軟件技術和產業創新發展,創造了顯著的經濟和社會效益。
2 計算機視覺發展概述
計算機視覺始于20世紀80年代,隨著馬爾《視覺》一書的問世,標志著計算機視覺成為了一門獨立學科。在將近四十年的發展歷程中,該學科經歷了馬爾計算視覺、主動和目的視覺[2][3]、多視幾何與分層三維重建和以神經網絡為代表的基于學習的視覺[4]四個發展階段。近四十年來計算機視覺發展過程中具有代表性的理論技術和開源軟件,如圖1所示。
傳統計算機視覺算法處理過程大致分為特征感知,圖像預處理,特征提取,特征篩選,推理預測與識別五個步驟。使用傳統方法設計特征需要開發者具備大量經驗,在設計特征基礎上還需合適的分類器算法,將兩者相互配合達到最優效果難度較大。
隨著深度學習研究熱潮持續高漲,計算機視覺領域應用深度學習方法,已成為人工智能的典型應用與研究熱點。深度學習方法主要采用端到端的解決思路,即從輸入到輸出一氣呵成。相較于傳統方法,深度學習方法具有準確性高,開發便捷等優勢,使其成為當下計算機視覺領域最為流行的開發方法。
3 計算機視覺典型應用領域
在計算機視覺作為一門學科的發展過程中,開源軟件和數據集起到了良好的推動作用。利用開源軟件,研究人員可以更加快速地更新和迭代算法。開源數據集則為研究人員提供了公平的算法測試平臺。目前,開源軟件在計算機視覺方面的典型應用領域有人臉識別、無人駕駛、視覺機器人等。
3.1 人臉識別
人臉識別是基于人的面部信息進行身份識別的一種生物識別技術。該技術利用攝像機采集含有人臉的圖像或視頻流,通過對采集的圖像進行預處理提取人臉特征,并與搜索庫中人臉樣本進行比對,進而對檢測到的人臉進行識別。
人臉識別技術已相對純熟,并已融入人們的日常生活中。如企業、住宅等門禁系統可通過人臉識別辨識來訪人員。國際民航組織要求其118個成員國家和地區必須使用電子護照,人臉識別是首推的識別模式。此外,“刷臉支付”可通過掃描消費者面部即可完成交易,極大提高支付的便捷性。
目前,與人臉識別相關的代表性開源數據集主要有PubFig、CelebA、Colorferet、MTFL、FaceDB、LFW、Youtube Faces、CASIA-FaceV5等。代表性開源軟件有sourceAFIS、OpenBR、AsmLibrary、Insightface、Im2txt和FaceNet等。
3.2無人駕駛
無人駕駛通常指汽車、飛機等交通工具依托計算機進行駕駛,無需人為操控的技術。無人駕駛技術集計算機視覺、人工智能、自動控制、體系結構等眾多技術于一體,主要通過傳感系統感知路況環境,自動規劃駕駛路線到達預定目標。其中計算機視覺主要用于路況信息的感知。
無人駕駛技術主要應用于無人駕駛汽車和無人機方面。早在20世紀80年代,國防科大就已成功研制出我國第一輛無人駕駛汽車。2015年9月,全球第一臺無人駕駛大客車在全程無人工干預的條件下成功運行,標志著我國在客車制造方面取得了重大突破;2018年4月,百度與美團正式合作計劃在雄安新區無人駕駛送餐試驗。除了無人駕駛汽車方面,我國在無人機領域發展勢頭良好,我國大疆公司的無人機產品已被廣泛應用到航拍、遙感測繪、電力巡檢、搜索救援等眾多方面。
目前,無人駕駛用到的代表性開源數據集主要有KITTI、Caltech、Daimler pedestrian、nuScenses等。代表性開源軟件有Udacity、Autoware、TensorFlow Object Detection API和Detectron等。
3.3 視覺機器人
視覺機器人[5]指具有視覺感知功能的機器人。視覺機器人可通過視覺傳感器獲取環境的二維圖像,并通過視覺處理器進行解析,進而轉換為機器人理解的符號信息,使機器人具有辨識物體,并確定物體位置的功能。
視覺機器人研究工作起步較早,現已廣泛應用在多個領域中。如工業領域中,使用計算機視覺技術進行高精度PCB定位及SMT元件放置。醫療領域,使用視覺機器人為病患進行手術。此外,對于人眼無法識別的光線范圍,可通過紅外傳感器、超聲波傳感器等獲得視覺信息等。
目前,視覺機器人廣泛使用的開源數據集主要有Commo Objects in Context(COCO)、ImageNet、MNIST、Caltech 101、Pascal VOC等。典型開源軟件有AForge.NET、OpenCV等。
4 計算機視覺領域典型開源軟件
本小節將對部分典型開源軟件予以介紹。
●OpenCV是Intel于1999年建立的,基于BSD許可的計算機視覺庫。OpenCV由一系列C函數和少量C++類構成,輕量并且高效,可以實現眾多圖像處理和計算機視覺方面的通用算法。OpenCV可運行在Linux、Android、Mac OS等操作系統上,是目前使用最廣泛的計算機視覺開源軟件庫。
●TensorFlow Object Detection API是Google于2017年基于TensorFlow平臺開發的開源目標檢測算法庫。此算法庫中提供了當前流行的Faster-RCNN和SSD框架,也可以自定義模型框架進行目標檢測任務,使得創建、訓練以及應用目標檢測模型更為便捷。
●Detectron是Facebook AI研究院于2018年公開的目標檢測平臺,涵蓋業內典型的目標檢測、圖像分割、關鍵點檢測等算法。該平臺基于Python和深度學習框架Caffe2構建,使用靈活,利用其提供的預訓練模型,研究人員可以快速試驗和評估新的想法。
●InsightFace是DeepInsight于2018年在 Mxnet上使用python編寫的基于MIT協議的人臉識別算法庫,包含人臉識別所用的經典損失函數如Softmax、Sphereface、CosineFace、ArcFace、Combined Margin和TripletLoss,在公開人臉識別數據集擁有較優的性能。
●Tesseract是Google發布的一款OCR開源庫,使用Tesseract可以方便、快捷地識別圖片中的文字內容。Tesseract支持C++、python、Java等編程語言調用,接口友好。由于其完整的功能,可以訓練的特點,在開源后備受關注。
5 未來展望
開源軟件已成為我國信息化建設和產業創新發展的重要推動力,創造了顯著的經濟和社會效益。就目前計算機視覺領域開源軟件發展現狀來看,平臺化和社區化是發展趨勢。成功的平臺和社區能夠使研究人員更容易推廣新算法,溝通效率也會有所提高。盡管我國研究人員在計算機視覺領域的研究十分活躍,但在世界范圍內的影響力仍然有限。期待我國抓住開源軟件的發展機遇實現計算機視覺等多技術領域的彎道超車。
參考文獻:
[1] 黃偉.計算機視覺技術及產業化應用態勢分析[J].信息通信技術與政策,2018(9):59-62.
[2] Yamins D. L K., DiCarlo J.J. Using goal-driven deep learning models to understand sensory cortex. Nature Neuroscience, 2016,19(3):356-365.
[3] Yamins D. L. K et al.Performance-optimized hierarchical models predict neural responses in higher visual cortex, 2014(111):8619-8624.
[4] LeCun Y et al.Deep Learning.Nature,2015(521):436-444.
[5] 李陽.機器人視覺技術的原理及應用概述[J].通訊世界,2019(2):198-199.
作者簡介:
劉亭杉,出生年月:1986年5月21日,性別:女,民族:漢,籍貫(精確到市):山東省招遠市,當前職務:工程師,當前職稱:助理工程師,學歷:博士,研究方向:計算機應用技術.