面向視頻的全新AI架構 —— 阿里云智能視覺技術全解

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

我們都知道,AI技術正在以可見的速度被應用于各行各業,然而絕大部分業務場景想應用AI技術,都需要算法工程師根據自身業務的標注數據,來進行單獨訓練,才能打磨出合適的AI模型。如此一來,如何以最低的門檻和成本,實現AI技術落地變成了行業急需解決的問題。

市場上的AI服務非常多,但是在視覺領域,通用的AI服務主要是基于圖像的架構來做的,視頻時代已經到來,基于圖像的AI架構是否還能被廣泛應用?阿里云視頻云團隊專注于視頻領域,所以在針對視頻的AI處理方面也有獨特的思考和實踐。3月27日下午,第51期阿里云產品發布會-智能視覺產品隆重發布,阿里云高級計算專場周源針對圖像和視頻的AI處理有什么不同?團隊是如何基于視頻構建全新的AI架構?針對AI大量的數據、訓練效果不夠好、時間與成本消耗大等痛點,他們如何解決等以上問題做了悉數解答。

一、市場上通用的圖像架構是怎樣的?

市場上大部分AI的服務,輸入的都是圖像,也就是圖片文件,是基于圖片進行處理。在業界,圖像的算法比較成熟,數量也較多,從大類來看有圖像分類、檢測、識別、分割等等。大部分AI服務的架構也是基本類似,一般包含圖像算法層、引擎框架層、資源管理層、硬件基礎層,之后基于各自的業務領域知識,構建一個面向特定領域的AI推理服務,然后通過API提供對外的訪問。

1240

二、挑戰:視頻與圖像的不同

隨著現在視頻(直播、點播、短視頻)的越來越廣泛應用,內容從原先的圖像分析升級到視頻分析。因為復用已有的技術以及架構的改造成本等等因素,一般的AI服務一般會保持現有的框架,不同是把視頻轉換成圖像來進行處理。一般做法是按照固定的時間間隔采樣截取視頻的圖像信息,這樣整個服務架構不需要做任何改動,只是在最上面一層增加了視頻幀截取和結果匯聚的服務。

1240

當然,這個架構在視頻時代就會存在很多問題:

1. 時效性差

因為增加了視頻截幀和結果匯聚這樣的中間操作,所以處理時間長;視頻下載下來,處理后圖片再上傳,網絡傳輸也會導致時效性變差;舉個例子,在相同畫質下,使用一張張圖片組成的視頻,和H.264編碼的視頻,大小的比是10:1,圖片是10倍于視頻的存儲量。

2. 穩定性

視頻截幀一般會采用開源的FFmpeg,如果遇到問題需要解決,比較依賴于開源社區。比如格式和編碼的兼容性、直播、點播中遇到數據異常、時間戳不準、定制協議、分辨率切換、卡死等。

3. 復雜性高

把視頻轉換成批量的圖片,就需要對這些臨時的圖片進行管理,另外還涉及順序處理、異步操作、網絡抖動等問題,需要關注的非核心業務功能就要求非常多,導致業務系統整體的復雜性變高。

4. 信息丟失

截幀是一種采樣,會引起信息丟失,丟失的信息中很有可能包含了關鍵圖像。另外,截幀的處理是對沒有時間信息的圖像結果的簡單累加,效果也不理想。

既然有這么多問題,基于視頻的AI計算該怎么做呢?

三、阿里云解決方案:面向視頻的新架構

周源所在的阿里云視頻云團隊,具有多年音視頻編解碼、媒體處理相關技術經驗,他們推出的面向視頻的新架構是:把視頻作為第一類對象(First-Class Object)來看待。把視頻解碼、時間域分析、智能匯聚、音頻處理等引入到系統里面來,把視頻處理和AI計算有機結合,以面向視頻的方式,在視頻處理的同時完成AI計算,精簡的流程能夠大幅度縮短處理時間,從時間維度提升分析效果,并能簡化業務架構,讓用戶聚焦在核心業務的發展上。為用戶提供高效穩定、簡單易用、功能豐富的視頻AI服務。

1240

新架構具有以下幾個特點:

1. 時效性高

相較于之前多余的截幀、上傳等一系列操作,新方案不產生臨時圖片,同時能減輕存儲的帶寬和空間需求。能充分利用視頻的并行分片機制,大幅度縮短整體處理時間。

2. 復雜性低

面向視頻的架構,視頻處理和AI計算集成在一起,簡化了對圖片的處理過程,進而簡化整個處理邏輯,降低復雜度。

3. 穩定性高

阿里云視頻云團隊是具有10多年豐富視頻處理經驗的專業團隊,兼容性、運維各種問題都不需要用戶考慮。

4. 效果更佳

對離散的圖像結果按照時間的關系進行更合理的匯聚,獲得更優的效果。

四、AI應用的痛點和解法

周源團隊自研的新架構很好的解決了圖像AI架構時效性差、穩定性差、復雜度高、效果不佳的問題。然而在AI的應用上,開發者也會關注到一些其他問題,比如:

  1. 目前,分類算法有ResNet、Inception、VGG等等,識別算法有FasterRCNN、SSD、YOLO等等,物體檢測、人臉識別算法也有很多,那么如何選擇最適合自己的呢?
  2. 針對自身業務標注數據,需要大量人力投入,同時真實數據少,采集十分困難,通常需要花費非常多的視覺才能夠收集足夠多的數據,怎么辦?
  3. 每次模型訓練時間長、反饋慢,訓練好的模型更是需要復雜的上線流程,整體業務反饋太慢,怎么辦?

智能視覺產品針對關鍵的數據和時間問題,給出了如下解法:

1. 選擇最合適的算法

基于阿里巴巴在視頻和AI領域的長期積累,已經幫大家選擇好了算法,現在推出的是分類和識別,之后將推出更多算法。

2. 遷移學習——少量數據快速訓練

遷移學習的基本原理是,根據自然圖像中的基礎邊緣、色塊、紋理的規律來歸納物體特征,并且通過在淺層網絡中復用這些基礎特征,來減少標注數據,能以更快的時間、更高的質量生成業務場景相關數據,大幅度減少數據需求,進一步減少計算量,達到縮短新模型訓練時間的效果,使業務迭代更快。

1240

3. 數據增廣——少量數據更優效果

在深度學習層面,在其他條件相同的情況下,數據越多訓練效果是越好的。這就產生了一個問題,更好的效果一定需要更多的數據,這需要花費大量的人力去標注。

智能視覺采用數據增廣策略,增加數據的多樣性,加強模型泛化能力,對圖像進行旋轉、斜切、仿射變換、對比度調整、色度變化、水平鏡像等變換,增加數據量的同時保持增廣數據的真實性,實現了少量數據情況下效果增強10-15%的訓練效果,同時有效降低標注數據的人力和時間成本。

1240

智能視覺可以幫助零算法基礎的用戶,快速訓練自己領域的定制化模型,僅需要少量標注數據,完成快速的模型生成、增強的場景效果,并將訓練模型轉換成高可用、彈性可擴展的視頻AI服務,讓用戶能夠以最低的成本實現AI技術的落地。

1240

目前智能視覺已經支持圖像分類、物體檢測、直播識別等AI能力,可應用在視頻監控、互聯網短視頻內容識別歸類、新零售物件統計、工業質檢、農業養殖、醫療診斷等場景。

?



本文作者:樰籬

原文鏈接

本文為云棲社區原創內容,未經允許不得轉載。

轉載于:https://my.oschina.net/u/3827390/blog/3031392

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/536579.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/536579.shtml
英文地址,請注明出處:http://en.pswp.cn/news/536579.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

c語言鞏固,鞏固一下C語言中的指針

寫了幾段代碼,再鞏固一下C語言知識。我的記憶方法跟文章中的不一樣。*是取值符號,&取地址符號,()限定子表達式的符號,[]是按索引取數組乘員的符號。優先級方面()>[]>*,&。對于int *(*p(int))[3]; 。我是這么分析的:…

c語言程序設計課程設計學生信息管理系統,C語言程序設計課程設計報告----學生信息管理系統.doc...

河南理工大學計算機學院《C語言程序設計》課程設計報告題目: 學生信息管理系統專業: 計算機科學與技術班級: 計算機XX班學號: 311009033232姓名: *****日期:2012年3月21日1.2意義熟悉C語言程序的編程環境、…

【轉】利用python的KMeans和PCA包實現聚類算法

轉自:https://www.cnblogs.com/yjd_hycf_space/p/7094005.html 題目: 通過給出的駕駛員行為數據(trip.csv),對駕駛員不同時段的駕駛類型進行聚類,聚成普通駕駛類型,激進類型和超冷靜型3類 。 利用Python的s…

c 語言str.size,C/C++ strlen(str)和str.length()和str.size()的區別

strlen(str)和str.length()和str.size()都可以求字符串長度,返回字符串中字符的長度,不包括‘/0’。其中str.length()和str.size()是同義詞,返回同樣的值。strlen(str)是用于求字符數組的長度,其參數是char*。#include #include using namesp…

想跑次高頻策略?快來看看Numpy處理真格量化tick數據的技巧

使用澎博真格量化時,很多用戶希望用numpy處理tick數據,包括tick數據的留存和運算。 這里有一些技巧。 因為tick數據量比較大,為了降低系統的運算負擔,我們不應該在內存里保存大量tick數據。 比如我們只想保存過去10個tick。 可以在…

if語句寫階躍函數C語言,C語言第四章分支語句.ppt

C語言第四章分支語句.ppt例: 輸入三個實數,按從小到大的順序輸出。 main( ) {float a,b,c,t; scanf(“%f,%f,%f ”,&a,&b,&c); if (a>b) { ta; ab; bt; } if (a>c) { ta; ac; ct; } if (b>c) { tb; bc; ct; } printf(“%5.2f,%5.2f…

日本顯示屏巨頭JDI不敵業務壓力,宣布接受中方注資...

本次10億美元的融資金額中,其中7.2億美元據傳來自中國絲綢之路基金。 最初,在液晶領域日本企業一直都占據著主要市場,如夏普、NEC、東芝等。后來隨著韓國三星、LG的強勢進入,日本企業的生存空間開始被搶占,現如今中國…

c語言中 d 1是啥意思,空開D/C是什么意思?終于有人把它說清楚了!

原標題:空開D/C是什么意思?終于有人把它說清楚了!空氣開關是每個人家里必用的東西,但是你到五金店一看,大大小小的開關插座多了去,讓人眼花繚亂。怎么選呢?空開有各種字母型號,這些字…

微信小程序開發 | 官方問答精選

2019獨角獸企業重金招聘Python工程師標準>>> SF問答精選《七》 多組件顯示與隱藏如何實現、function中的...SF問答精選《六》canvas不顯示問題SF問答精選《五》菜單內容左右聯動、生命周期函數SF問答精選《四》eslint 配置使用 co function;apache 反向代…

36歲自學C語言,C語言的數據類型

在C語言中,數據類型可以分為:基本數據類型,構造數據類型,指針類型,空類型四大類。基本數據類型基本數據類型最主要的特點是,其值不可以再分解為其他類型。也就是說,基本數據類型是自我說明。構造…

清北學堂培訓2019.4.4

第一次培訓,心情有點激動(盡管沒了清明節),還見到了各地的dalao們,十分開森 Day 1(李昊dalao) 上午篇 上午呢,主要講了關于高精,快速冪,膜模意義下的運算&…

國二c語言作弊用u盤,計算機等級考試可以插u盤嗎(全國計算機等級考試報名系統官網)...

:不可以 會有嘀嘀嘀的報警聲的:我以前考時不讓帶的,人家讓你不能用優盤的話電腦會控制沒法用的。:首先肯定回你,不可以帶優盤或者其他作弊設備。很多計算機二級考點會把主機箱鎖死,根本插不了優盤。在你進入…

「SCOI2011」棘手的操作

傳送門 Description 有\(N\)個節點,標號從\(1\)到\(N\),這\(N\)個節點一開始相互不連通。第$ i\(個節點的初始權值為\)a_i$ ,接下來有如下一些操作: U x y 加一條邊,連接第 \(x\) 個節點和第\(y\) 個節點。 A1 x v 將…

swft c 語言 數組,如何在swift中實現數組的深拷貝

在Objective-C中如果想將一個數組賦值給另外一個數組,同時想讓兩個數組之間相互獨立(即改變其中的一個數組,不影響另外的一個),有很多的辦法,比如我們可以直接copy,用類方法創建新數組。這樣得到的數組和原來的數組就是兩個完全獨…

tomcat CATALINA_HOME與CATALINA_BASE的區別

區別 https://blog.csdn.net/cfydaniel/article/details/41351927 Tomcat啟動分析(我們為什么要配置CATALINA_HOME環境變量) http://www.cnblogs.com/heshan664754022/archive/2013/03/27/2984357.html轉載于:https://www.cnblogs.com/Andrew520/p/10664921.html

android 廣告欄效果,實現android廣告欄效果

public classBannerLayout extendsRelativeLayout {privateViewPager mViewPager; // 輪播容器// 指示器(圓點)容器privateLinearLayout indicatorContainer;privateDrawable unSelectedDrawable;privateDrawable selectedDrawable;private intWHAT_AUTO_PLAY 1000;private boo…

自我練習

<!doctype html><html><head><meta charset"utf-8"><title>無標題文檔</title><link rel"icon" href"../HTMLWork/day03/psb.ico.ico" type"img/*"></head><body> <a na…

android studio按鈕槽函數,AndroidStudio按鈕Button退出程序

AndroidStudio 3.1.41.創建一個新的項目&#xff0c;項目名稱為Button&#xff0c;界面為activity_button.xml2.打開activity_button.xml3.點擊HelloWorld標簽&#xff0c;按Delete刪除4.左側組件欄選擇Common - Button5.將Button組件拖到界面上&#xff0c;大概中間的位置6.右…

cobbler介紹與部署

cobbler介紹 Cobbler是一個Linux系統安裝的服務&#xff0c;可以通過網絡啟動(PXE)的方式來快速安裝、重裝物理服務器和虛擬機&#xff0c;同時還可以管理DHCP&#xff0c;DNS等。 Cobbler可以使用命令行方式管理&#xff0c;也提供了基于Web的界面管理工具(cobbler-web)&#…

android wifi視頻監控軟件,WiFi環境下Android智能視頻監控系統研究與實現

摘要&#xff1a;在互聯網飛速發展和移動互聯網強勢崛起的時代,科技產品服務于普通生活是新興行業必然的發展趨勢;監控系統是物聯網時代各個領域必然爭取的可控制系統。隨著無線技術和移動終端設備的高歌猛進,移動終端智能無線視頻監控系統成為時下監控領域發展的熱點方向。無線…