2024打造一流的視覺 AI 技術_第1頁
2024打造一流的視覺 AI 技術_第2頁
2024打造一流的視覺 AI 技術_第3頁
2024打造一流的視覺 AI 技術_第4頁
2024打造一流的視覺 AI 技術_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

打造一流的視覺AI技術本次分享主要分以下幾個部分:首先簡要介紹一下計算機視覺技術的相關背景,然后結合格靈深瞳的實踐,從算法研發(fā)、訓練平臺、智能數據處理、異構計算等幾個方面著重介紹如何打造一流的視覺AI技術,最后介紹格靈深瞳在相關技術落地方面的情況。計算機視覺及其相關技術計算機視覺概述計算機視覺作為人工智能領域最重要的技術方向之一,其基礎是機器學習算法,而深度學習算法無疑是當前最受歡迎的機器學習算法。隨著計算機算力的不斷增強,海量數據的增長,深度學習算法的提出使得用更大量數據訓練更深的網絡成為可能,在限定的場景下,一些圖像識別算法的準確率已經超越了人類。從應用角度,我們正處于計算機視覺應用爆炸性增長的智能時代,包括移動互聯網、自動駕駛、智慧城市、智慧醫(yī)療、機器人、增強現實、智慧工業(yè)等在內的多個方向,都取得了非常多的進步。從另外一個視角看,計算機視覺是對物理世界的數字化,是智慧物聯網時代最大入口,和大數據技術結合擁有非常廣闊的應用場景。計算機視覺技術愿景計算機視覺技術從廣義上講是讓計算機看懂世界,狹義上講就是通過豐富的視覺傳感器,理解物理世界中每個物體的位置、屬性、身份以及行為等信息。計算機視覺技術從算法方面期待:功能更加豐富:感知方面從位置檢測、屬性識別、身份識別,逐步向行為識別和關系識別(不同物體間的關系)發(fā)展;目標類別更全:分析目標從人臉、人體、車輛,拓展到商品,再拓展到其它物體;理解粒度更細:從理解圖像中包含什么物體的分類任務,到理解物體在圖中的具體位置和數目的檢測任務,進一步到理解物體的部件以及關鍵點位置的關鍵點定位技術,更進一步到理解每個像素所屬類別的語義分割任務。計算機視覺技術從產品性能角度則期待:精度更高、速度更快、成本更低、支持規(guī)模更大、功能更豐富。如何打造一流的視覺AI技術構建計算機視覺系統(tǒng)的基本流程對于一個視覺應用系統(tǒng)而言,需要先將應用系統(tǒng)劃分為不同的子模塊,比如人臉識別系統(tǒng),就包括人臉檢測、特征點定位、人臉識別等不同子模塊。對于每一個子模塊,都由輸入輸出定義、數據收集、數據標注,訓練框架選擇,算法實現,模型訓練,模型選擇,模型上線等不同步驟組成。構建計算機視覺計算系統(tǒng)主要包含下面幾個關鍵因素:核心算法研發(fā):即如何開發(fā)出更準確、更快、更多功能的算法;自動化大規(guī)模訓練框架:即如何支持更大規(guī)模集群,更加自動化地訓練算法;智能數據挖掘和標注:即如何做到高效的數據挖掘和低成本的標注;基于硬件平臺的計算優(yōu)化:即如何選擇硬件平臺,以及在硬件平臺上做性能優(yōu)化。算法研發(fā)是一個不斷迭代、精心打磨的過程,工業(yè)界和學術界最大的區(qū)別是學術界希望創(chuàng)造更多的算法,追求更多的是新穎性和創(chuàng)造性,而工業(yè)界追求的是系統(tǒng)的功能、性能、穩(wěn)定性指標,并不要求發(fā)明最新穎的算法,而是要依據業(yè)務需求和資源限制做出最好用的系統(tǒng)。在工業(yè)界進行算法改進,包括很多維度,如數據如何處理、數據規(guī)模和來源,參數設置、模型結構,還包括損失函數設計,模型加速算法等,每一個因素都可能對最終結果影響很大。還有非常重要的一點是,需要從系統(tǒng)角度去解決問題,比如設計新的系統(tǒng)處理流程,比如把問題定義為檢測問題還是識別問題。人臉識別損失函數演進以人臉識別算法為例,由于我們無法訓練一個能分類世界上所有人的分類模型,所以人臉識別最終是希望訓練一個將人臉圖像轉換為表示能力非常強的特征模型,這里面非常核心的是損失函數的設計。最早的人臉識別算法是采用了softmax損失函數,但softmax損失函數的缺陷是當類別數非常大時參數規(guī)模非常大,并且,要求每個人的樣本數比較均衡,且不能太少,很多時候無法滿足。后來出現了pair-wise形式的損失函數,這個損失函數將分類轉換為兩類問題,即同一個人以及不同人兩類,希望同一個人兩張圖片之間的距離盡可能小,而不同人兩張圖片之間的距離盡可能大,從而不會有類別太多的參數規(guī)模問題,且不對樣本數目有太多要求。后來還出現了Triplet損失函數形式,要求同一個人圖片之間的距離小于不同人圖片之間的距離。但是pair-wise和triplet損失函數的缺陷是容易受數據噪聲影響,比較難訓練,收斂也比較慢。后來大家又發(fā)現,將softmax形式做改進可以取得很好的效果,包括對特征的歸一化、權重矩陣的歸一化以及加margin等。所以,我們看到僅僅是人臉識別損失函數這樣一個技術點,就包含了非常多的選擇和迭代。在工業(yè)界,想真正做好一個算法模型,就都需要跟蹤很多工作,同時由于論文里的很多結論在大規(guī)模實際數據情況下,和論文中的結果可能會不同,所以需要結合實際數據和場景進行一一驗證。這要求我們在工業(yè)界真正想做一流的算法,不僅僅要求我們可以正確理解論文中的算法思路,還要求能夠在工業(yè)界的數據規(guī)模下正確實現,并設置正確的參數和訓練技巧,同時還需要結合實際情況去改進。對于人臉識別系統(tǒng)而言,損失函數是影響人臉模型表示的一個因素。除此之外還包括訓練數據的數據量、純度和數據分布,數據增強的方式,比如收集的數據往往數據質量比較高,為了使得模型在低分辨率數據上有好的效果,需要在訓練過程加入相應的擾動。除此之外,人臉識別的前序模塊,比如人臉檢測和特征點定位的精度也會影響識別效果。還有包括如何利用模型蒸餾等方法進行速度提升,如何利用人臉的多個部件融合進行效果提升,在視頻中,如何通過人臉質量屬性選擇最優(yōu)的人臉進行識別,如何融合多幀圖像進行處理等。對于一個人臉識別系統(tǒng)而言,上述的每一個因素都會影響最終的系統(tǒng)效率和用戶體驗,每一點都需要精細打磨。每一個智能系統(tǒng)都是由多個智能算法模型組成的,以我們針對智慧城市、智慧商業(yè)領域研發(fā)的智能視頻理解系統(tǒng)而言,包括幾百個模型。這個系統(tǒng)里面,從大的方面講,包括物體檢測、人臉識別、人體智能分析、車輛智能分析等幾個大模塊,具體到比如智能車輛分析這個子方向而言,則包括車牌識別、車型車款識別、車輛以圖搜圖(ReID)、車身顏色識別、標志物識別、未系安全帶、開車打電話等很多子模型。對于如此多的算法模型,如果每個模型都需要不斷迭代,同時要支持不同硬件平臺的不同版本,在研發(fā)人員和訓練硬件資源受限條件下,如何持續(xù)打磨核心算法是一個很大的挑戰(zhàn)。傳統(tǒng)的算法開發(fā)模式,算法工程師往往提起數據標注任務,由數據標注員標注完成數據標注,但算法工程師需要關心如何開發(fā)標注工具、如何培訓標注人員、如何轉換數據格式、如何提純標注完的數據,最后再手工方式在一臺物理機上將模型訓練出來。這種模式下,算法工程師有60%的時間都在處理和數據相關的工作,比如搜集數據、指導開發(fā)標注工具、清洗標注數據或者發(fā)起二次標注;還有20%的時間是在調參數,看訓練日志,包括處理磁盤空間不足、GPU被別人占用等意外;其實只有大約15%左右的時間在實現算法,僅有5%的時間在思考算法。同時,這個模式的缺點是數據標注成本很高,算法工程師的時間利用率很低,同時由于沒有統(tǒng)一協(xié)調,GPU或者空閑或者被大家搶占,GPU的利用率也很低。更好的一種模式是為算法研發(fā)團隊配備一個數據平臺開發(fā)團隊,專門負責算法團隊所需要的數據以及訓練平臺。也就是說,算法團隊僅僅需要提出數據的需求和要求,其它都由數據平臺團隊去完成。數據平臺團隊負責數據的收集、標注前處理、標注工具開發(fā)、標注后處理、訓練和測試數據管理等工作,其目標是為算法團隊用最高效低成本的方式提供高質量的訓練數據。同時,為了提升訓練效率,數據平臺團隊還需要負責打造統(tǒng)一的訓練平臺。這種模式下,算法工程師的工作20%花在溝通確定數據處理流程,同時由于有統(tǒng)一的訓練平臺,算法工程師只需要花費大約10%的時間在訓練調參上。那么自然就會花費更多的時間在實現算法和思考算法上。這種模式下,不僅僅算法工程師的效率得到提升,而且數據標注成本在降低,數據增長速度在提升,GPU利用率也在提高。還有一點非常重要的是,智能數據處理平臺在正常運行下,只需要標注人員進行標注,數據量就會不斷增長,不依賴算法以及開發(fā)人員的投入,這是未來任何一個智能學習系統(tǒng)需要具備的特性。構建自動化訓練管理平臺的目的是為了提升人員產出效率,節(jié)省人力,提高訓練資源的利用率。一方面對訓練數據進行統(tǒng)一管理,每臺機器都能訪問,避免在機器間拷貝;第二,對訓練代碼和參數進行管理,實現代碼、參數、環(huán)境自由在多臺機器間拷貝,省去環(huán)境搭建的時間;第三,對計算資源和任務進行管理,省去工程師關注資源空閑的時間,同時,可以在沒有空閑資源時任務排隊,省去關注時間,同時提升資源利用效率。此外,為了避免算法人員看日志的時間花費,增加模型評估和選擇,自動評估和選擇模型。對算法人員而言,可以在網頁新建任務,選擇訓練數據,確定代碼和參數,就可以開始訓練,同時可以設置幾套參數進行訓練,最終等待訓練產出的最優(yōu)模型即可。現在已經有很多優(yōu)秀的深度學習開源框架,比如tensorflow、mxnet、pytorch等。有一些創(chuàng)業(yè)公司,自己自行開發(fā)了一套自己的開源框架,但我個人認為其實沒有太大的必要。一方面,私有的框架,很難保證比開源框架更加先進,開源框架吸收了世界上最先進的思想,有很多優(yōu)秀的人會產生貢獻,創(chuàng)業(yè)公司很難有這樣的實力做得更好。此外,自己開發(fā)的框架,對于新入職員工而言有使用門檻,此外,由于很多好的算法都是在開源軟件基礎上做的,使用自己的框架也不利于進行技術交流。但是,是不是直接利用開源軟件就夠了呢?我想答案也是否定的。現在的開源框架,在大規(guī)模數據訓練方面做得還不是很好,總是會有一些特別的任務是開源軟件無法支持的。所以,基于現有開源軟件,根據自己的任務做框架改進是一個對大多數公司而言都更加合理的選擇。比如對于人臉識別任務而言,最終是一個上億類別的分類問題,如果直接采用現有框架,是無法完成這個任務的。采用softmax作為損失函數,在特征維度僅僅是128維時,最后一個權重矩陣的數據規(guī)模是幾十G,遠遠超過了現在顯卡的顯存。我們必須實現一種新的框架來完成數億類別的訓練任務。我們采用了一種“數據并行+模型并行”的方法,先將數據分配到不同的GPU上,先進行前向預測計算得到經過卷積網絡之后的特征,然后將不同卡上的特征進行匯聚。但權重矩陣在一臺機器上是無法保存下的,因此,需要把權重矩陣分配到不同的機器上進行運算這個時候就用到模型并行思路。我們知道,在并行計算中,計算是比較容易通過并行解決的,但是,通信量往往會成為瓶頸。我們設計的這個數據并行加模型并行的方式,只需要把所有樣本的特征在多機間做同步,數據量很少,所以可以得到很高的加速比。我們大家都知道數據很重要,但如何低成本、高效地獲取大量高質量數據其實是一件不那么容易的事情。最簡單處理數據的方法就是收集數據直接人工標注,但直接標注的缺陷是效率很低,比如直接標注百萬級別人臉數據,需要花費近百萬費用,如果標注數億數據,費用顯然是無法承受的。一種常見思路是選擇標注工作量小的有先驗約束的數據源,如相冊數據,每個人的相冊基本上都是來自于家人或者朋友的數據,這樣的數據,直接標注也不合理,比如隱私問題,比如人的標注準確率問題。我們實現了一套人臉自動數據標注系統(tǒng),包括如何從圖片中檢測、定位人臉,包括人臉區(qū)域割取、特征提取,包括人臉質量獲取,以及基于人臉質量做過濾,包括做子集中的聚類,以及類間去重,以及訓練人臉模型,同時,人臉模型還可以反饋重新進行人臉特征提取和聚類,不斷迭代。當然,實際系統(tǒng)要更加復雜,有非常多的參數和細節(jié)邏輯,但是,這樣的一套系統(tǒng),使得人臉識別數據標注成為一個自動化的過程,基本上不需要人工再參與,節(jié)省了大量的標注人力。類似的案例還有很多,比如可以依據車牌號碼進行車輛相關數據收集,可以只標注一輛車的屬性就可以得到同一個車牌的多輛車的結果。總之,實踐表明,在數據上花費的所有努力都是值得的,這已經成為技術驅動的創(chuàng)新型公司的核心競爭力之一。數據平臺團隊,除了準備數據和開發(fā)訓練平臺外,還可以參與算法的訓練和改進工作。很多算法,經過算法工程師的迭代之后,在算法方面已經相對確定,更多的是調參和數據相關工作。這一塊是可以由數據平臺工程師通過數據驅動的方式來改進的。比如,我們在一些任務中,就在算法工程師基本不需要參與的情況下,數據平臺工程師通過高效挖掘困難數據并標注的方式可以使算法持續(xù)改善。上述的智能數據處理和自動化訓練平臺系統(tǒng),結合起來,在我們的內部被稱為深瞳大腦項目。深瞳大腦的終極目標是希望將人工智能中人工的部門減少到最少,打造一套動態(tài)更新的“數據采集->標注->算法研發(fā)->模型訓練->產品落地->數據產生”的閉環(huán)系統(tǒng),最終僅僅在數據標注環(huán)節(jié)依賴人工,成為一套真正的基于自主學習的智能系統(tǒng)。除了算法效果、算法功能外,還需要考慮預測速度以及承載硬件的成本。最底層是芯片等硬件平臺的選擇,之上是預測框架,再之上是sdk封裝以及處理流程和分布式架構,再上層則是各種視覺應用。這其中涉及很多工作,如硬件的選擇,GPU、Arm、FPGA、DSP還有專門為深度學習設計的ASIC芯片。硬件平臺對整個計算機視覺識別系統(tǒng)非常重要,為了做一個正確的平臺選擇,需要考慮主芯片的計算能力、成本,接口支持豐富程度,以及編解碼、ISP,軟件兼容性以及平臺易用程度等。選定硬件平臺之后,首先應該從算法角度考慮如何減少計算量。比較簡單的是基于經典網絡去改變總的層數以及每層特征通道數目。進一步,可以結合各種經典網絡去設計自己的網絡,比如在嵌入式平臺上,可以參考Depth-Wise結構、ShuffleNet結構中的核心思路設計自己的新網絡。還可以基于強化學習模型搜索更優(yōu)的網絡。此外,還有一個非常重要的思路,就是如何通過模型蒸餾的方法去使得一個小網絡訓練得到接近大網絡的效果。除了算法層面外,還可以從異構計算層面利用各個平臺特性進行優(yōu)化,比如英偉達GPU平臺可以優(yōu)先考慮TensorRT以及CUDA指令進行優(yōu)化。格靈深瞳成立于2013年,公司的愿景是讓計算機理解世界,讓AI使生活更美好。我們專注于研發(fā)包括計算機視覺在內的人工智能核心算法,并把先進的人工智能科技轉化為具備低成本、大規(guī)模部署能力的產品和服務,并深度結合應用場景,為用戶提供高性能、可靠實用的智慧解決方案。在核心算法層面,我們在人臉識別、人體再識別、車輛智能分析等方向都處于行業(yè)領先水平。以人臉識別為例,在十億次誤識一次的情況下,識別率可以達到90%;在車輛的主品牌、子品牌和年款識別上,總類別數可以達到20000種;在行人再識別上,我們的線上模型在沒有針對測試數據訓練的情況下,在Market1501上面首選識別率達到98.1%,超過目前所有的公開結果。在核心引擎層面,我們打造了一套全目標視頻結構化引擎,支持人臉識別、人體識別、車輛識別以及非機動車識別,支持視頻、圖像、歷史流、歷史視頻文件等多種模式,而且性能指標非常高,普通模式下單機可以做到320路,高速模式下單機可以做到1000路。以數據、算法、訓練平臺為核心,我們構建了深瞳大腦架構,基于深瞳大腦,我們可以不斷地產出業(yè)界領先的各種算法,比如全目標抓拍算法、全目標屬性識別算法、人臉識別聚類算法、物體以圖搜圖算法、行為識別算法、即時

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論