TWI915501B - 用於整體視訊理解的視訊模型的自適應使用 - Google Patents
用於整體視訊理解的視訊模型的自適應使用Info
- Publication number
- TWI915501B TWI915501B TW111103976A TW111103976A TWI915501B TW I915501 B TWI915501 B TW I915501B TW 111103976 A TW111103976 A TW 111103976A TW 111103976 A TW111103976 A TW 111103976A TW I915501 B TWI915501 B TW I915501B
- Authority
- TW
- Taiwan
- Prior art keywords
- video
- model
- machine learning
- features
- learning model
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/0895—Weakly supervised learning, e.g. semi-supervised or self-supervised learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/7715—Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/87—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using selection of the recognition techniques, e.g. of a classifier in a multiple classifier system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
- G10L25/51—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
- G10L25/57—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for processing of video signals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
- Studio Devices (AREA)
Abstract
提供了用於執行整體視訊理解的系統和技術。例如,程序可以包括獲得第一視訊並使用機器學習模型決策引擎從機器學習模型的集合中決定第一機器學習模型以用於處理第一視訊的至少一部分。可以基於第一視訊的至少一部分的一或多個特性來決定第一機器學習模型。程序可以包括使用第一機器學習模型處理第一視訊的至少一部分。
Description
本案大體上係關於用於理解視訊內容的模型。在一些示例中,本案的各態樣係關於用於基於視訊內容的特性來選擇機器學習模型的系統和技術。
許多機器學習模型可用於對視訊資料(或圖像訊框序列)中包含的資訊進行分析和分類。為了獲得對視訊資料中包含的資訊的整體理解,應該跨諸如動作、屬性、事件、物件、場景等的各種類別來理解視訊資料。經過訓練以偵測動作的機器學習模型(例如,三維 (3D) 迴旋神經網路 (CNN)、光流神經網路等)在應用於包含很少動作的視訊資料時可能會是過度計算密集的。另一方面,非常適合於偵測靜態視訊場景中的物件的計算高效的機器學習模型可能無法充分偵測包含明顯運動的視訊中的動作。在一些情況下,期望具有一種機器學習模型,其能夠以儘可能高效的方式跨多個類別對視訊執行整體理解。
在一些示例中,描述了用於在視訊處理模型之間自適應地選擇以進行整體視訊理解的系統和技術。根據至少一個說明性示例,提供了一種處理視訊資料的方法。該方法包括:獲取第一視訊;使用機器學習模型決策引擎從機器學習模型的集合中決定第一機器學習模型,該第一機器學習模型是基於第一視訊的至少一部分的一或多個特性決定的;及使用第一機器學習模型處理第一視訊的至少一部分。
在另一示例中,提供了一種用於處理視訊資料的裝置,其包括被配置為儲存至少一個視訊或視訊的一部分的記憶體以及耦合到該記憶體的(例如,實施在電路中的)一或多個處理器。該一或多個處理器被配置為並且可以:獲取第一視訊;使用機器學習模型決策引擎從機器學習模型的集合中決定第一機器學習模型,該第一機器學習模型是基於第一視訊的至少一部分的一或多個特性決定的;及使用第一機器學習模型處理第一視訊的至少一部分。
在另一示例中,提供了一種其上儲存有指令的非暫時性電腦可讀取媒體,該等指令在由一或多個處理器執行時使一或多個處理器:獲取第一視訊;使用機器學習模型決策引擎從機器學習模型的集合中決定第一機器學習模型,該第一機器學習模型是基於第一視訊的至少一部分的一或多個特性決定的;及使用第一機器學習模型處理第一視訊的至少一部分。
在另一示例中,提供了一種用於處理視訊資料的裝置。該裝置包括:用於獲取第一視訊的構件;用於使用機器學習模型決策引擎從機器學習模型的集合中決定第一機器學習模型的構件,該第一機器學習模型是基於第一視訊的至少一部分的一或多個特性決定的;及用於使用第一機器學習模型處理第一視訊的至少一部分的構件。
在一些態樣中,上述方法、裝置和電腦可讀取媒體還包括基於使用第一機器學習模型處理第一視訊的至少一部分來決定第一視訊的至少一部分的類。
在一些態樣中,上述方法、裝置和電腦可讀取媒體還包括使用第一機器學習模型從第一視訊的至少一部分中提取第一一或多個特徵;使用第一補充模型處理第一一或多個特徵;及基於使用第一補充模型處理第一一或多個特徵,決定第一視訊的至少一部分的第一類。在一些情況下,第一補充模型包括神經網路。在一些情況下,第一補充模型包括一維迴旋神經網路。在這種情況下,第一一或多個特徵包括基於第一視訊的至少一部分的第一訊框的第一特徵向量和基於第一視訊的至少一部分的第二訊框的第二特徵向量。在這種情況下,第一補充模型至少從第一特徵向量和第二特徵向量產生第一視訊的至少一部分的時間資訊。在一些情況下,第一補充模型包括多層感知器。在一些情況下,第一補充模型包括圖迴旋網路。
在一些態樣中,上述方法、裝置和電腦可讀取媒體還包括使用機器學習模型決策引擎從機器學習模型的集合中決定第二機器學習模型,該第二機器學習模型是基於第一視訊的至少另一部分的一或多個特性決定的;及使用第二機器學習模型處理第一視訊的至少另一部分。在一些情況下,第二機器學習模型包括神經網路。
在一些態樣中,上述方法、裝置和電腦可讀取媒體還包括使用第二機器學習模型從第一視訊的至少另一部分提取第二一或多個特徵;使用第二補充模型處理第二一或多個特徵;及基於使用第二補充模型處理第二一或多個特徵,決定第一視訊的至少另一部分的第二類。
在一些情況下,第一機器學習模型包括神經網路。在一些態樣中,第一機器學習模型包括二維迴旋神經網路。在一些情況下,二維迴旋神經網路在二維空間維度中從第一視訊的至少一部分中提取第一一或多個特徵。
在一些態樣中,第一機器學習模型包括三維(3D)CNN。在一些情況下,3D CNN在兩個空間維度和時間維度從第一視訊的至少一部分中提取第一一或多個特徵。
在一些態樣中,上述方法、裝置和電腦可讀取媒體還包括獲取第二視訊;使用機器學習模型決策引擎從機器學習模型的集合中決定第二機器學習模型,第二機器學習模型是基於第二視訊的至少一部分的一或多個特性決定的;使用第二機器學習模型處理第二視訊的至少一部分。
在一些態樣中,機器學習模型決策引擎與第一機器學習模型共享共用神經網路。在一些態樣,上述方法、裝置和電腦可讀取媒體還包括與從該機器學習模型的集合中決定第一機器學習模型以用於處理第一視訊的至少一部分並行地使用第一機器學習模型從第一視訊的至少一部分中提取第一一或多個特徵。
在一些態樣中,第一視訊的至少一部分的一或多個特性包括空間和時間特性。
在一些態樣中,第一視訊的至少一部分的一或多個特性包括音訊特性。
在一些態樣中,一或多個上述裝置可以包括如下或作為如下的一部分:行動設備(例如,行動電話或所謂的「智慧型電話」或其他行動設備)、可穿戴設備、擴展現實設備(例如,虛擬實境(VR)設備、增強現實(AR)設備或混合現實(MR)設備)、交通工具(例如,交通工具的計算設備)、個人電腦、膝上型電腦電腦、伺服器電腦或其他設備。在一些態樣中,一種裝置包括用於擷取一或多個圖像的一或多個相機。在一些態樣中,該裝置還包括用於顯示一或多個圖像、通知及/或其他可顯示資料的顯示器。在一些態樣中,該裝置可以包括一或多個感測器,其可以用於決定該裝置的位置及/或姿勢、該裝置的狀態及/或用於其他目的。
本概述不是旨在標識所要求保護的標的的關鍵或基本特徵,也不是旨在孤立地用於決定所要求保護的標的的範圍。應當經由參考本專利的整個說明書的適當部分、任何或所有附圖以及每個請求項來理解該標的。
在參考以下說明書、請求項和附圖時,前述內容以及其他特徵和實施例將變得更加顯而易見。
下文提供了本案內容的某些態樣和實施例。如對於本領域技藝人士將顯而易見的,這些態樣和實施例中的一些態樣和實施例可以被獨立地應用,以及它們中的一些態樣和實施例可以相結合地應用。在下文的描述中,出於解釋的目的,闡述了特定細節以便提供對本案的實施例的全面的理解。然而,將顯而易見的是,可以在沒有這些特定細節的情況下實踐各個實施例。附圖和描述不旨在是限制性的。
隨後的描述僅提供了示例性實施例,以及不旨在限制本案內容的範圍、適用性或配置。而是,對示例性實施例的隨後描述將向本領域技藝人士提供用於實施示例性實施例的可行描述。應當理解的是,在不背離如在所附的請求項中闡述的本案的精神和範圍的情況下,可以對元素的功能和排列做出各種改變。
機器學習模型可用於處理及/或分析視訊資料。在許多情況下,使用機器深度學習系統進行視訊理解可能具有挑戰性。例如,視訊資料包括大量相互關聯的資訊類別,例如物件、動作、事件、屬性、概念和場景。這些類別可以高度互連,這可能使機器學習模型難以執行某些功能。例如,機器學習模型可能無法在不辨識物件的情況下執行動作分類,因為動作通常涉及物件。例如,機器學習模型可用於區分彈鋼琴和彈吉他。播放的運動會根據物件的類型而變化(例如,彈奏吉他與敲擊鋼琴鍵),表明動作和物件是相互關聯的。對於任何特定視訊,與視訊相關聯的一或多個類別對於理解視訊內容可能比其他更重要。在一個示例中,在圖示靜態場景的視訊中,辨識物件可能比偵測動作更重要。在另一示例中,在用跟隨動作的運動相機描述體育賽事的視訊中,辨識動作以及辨識隨著它們移動的物件可能同樣重要。
機器學習模型可以具有在機器學習模型將處理的視訊資料集中存在的重要類別的先驗知識。基於先驗知識,可以專門設計機器學習模型以有效地處理該資料集。例如,可以使用這種先驗知識最佳化在兩個空間維度和時間維度上分析視訊的三維(3D)迴旋神經網路(CNN),以降低計算成本,同時偵測在具有動態內容的各種類型視訊(例如,體育比賽、音樂會等的視訊)中的動作。然而,經由3D CNN處理描述靜態場景的視訊可能會產生顯著的計算成本(例如,大量的浮點運算 (FLOP)),這在給定內容的情況下可能是不必要的。該附加計算成本可以作為3D迴旋網路同時在多個訊框上執行某些功能(例如,迴旋)的結果而產生,該附加計算成本在場景中的物件在訊框之間不移動時可能不需要。
二維(2D) CNN可以基於單個視訊訊框辨識視訊中的物件,而不是同時跨多個訊框執行功能,因此可以更有效地辨識一或多個視訊訊框中的物件。然而,因為2D CNN不會對在不同時間處擷取的多個訊框進行操作,因此2D CNN不會返回指示場景中的物件如何隨時間移動的任何時間資訊。例如,2D CNN本身可能不太適合偵測(例如,跨多個視訊訊框發生的)動作。
可以使用各種方法來克服2D CNN僅產生單個訊框的空間資訊的限制。在一個示例中,一維(1D)迴旋可用作2D CNN的補充模型。1D迴旋可用於從由2D CNN跨連續訊框產生的特徵產生時間資訊。在另一示例中,具有前向跳躍的非局部神經網路可用於跨非連續訊框偵測由2D CNN產生的特徵之間的時間關係。在另一示例中,圖迴旋網路可以用作2D CNN的補充模型。圖迴旋網路可用於基於由2D CNN產生的空間特徵產生視訊中的概念之間的關係。
如果對於特定視訊資料集已知最重要的類別,則設計專門迎合特定類別的機器學習模型(例如,神經網路)可能是有效的。然而,為了分析包括具有不同特性並在其中包含不同類別資訊的各種視訊的視訊資料集,依賴單個模型可能會導致過多的計算工作量(例如,其中模型執行試圖偵測在取樣視訊中不存在的類別的計算),準確度差(例如,其中模型不太適合偵測取樣視訊中存在的一或多個資訊類別)或兩者。當遇到不適合模型的新資料集時(例如,因為沒有訓練模型來理解新資料集中的內容類別型),可以開發有針對性的新模型來解決由新資料集呈現的新問題。然而,開發新模型的成本可能很高,因為必須不斷開發新模型。開發新模型可能實際上也無法解決整體視訊理解問題,例如當新開發的模型旨在解決狹隘問題或理解包含不同類別或資訊類別的視訊時。
下面的表1圖示以均值平均精度(mAP)為單位表示的五種不同視訊理解模型的相對效能。表1中的內容提供了示出為視訊選擇一個模型而不是另一個模型的結果的示例。在表1中,針對動作、屬性、概念、事件、物件和場景的類別,圖示5種不同機器學習模型(模型1-5)的mAP值。在一些示例中,機器學習模型可以應用特定的歸納偏置(inductive bias),這可以是經由限制模型的搜索空間來限制模型功能的先驗假設。在表1中,每個類別中具有最高mAP的一或多個模型(例如,模型2和模型4對於類別「事件」具有相似的值)帶有底線。如圖所示,在所有類別中沒有單個模型具有最高的準確度。結果,表1中的任何一個模型對包含包括多個相關類別的視訊資料的視訊資料集的固定應用將不會實現針對該視訊資料集的最佳準確度。
表1
| 模型 | 平均 | 動作 | 屬性 | 概念 | 事件 | 物件 | 場景 | 歸納偏置 |
| 1 | 39.6 | 50.1 | 33.8 | 26.5 | 39.2 | 33.1 | 55.2 | - |
| 2 | 51.5 | 51.1 | 44.0 | 51.8 | 57.3 | 51.3 | 53.5 | 非局部注意力 |
| 3 | 52.0 | 51.8 | 45.7 | 51.9 | 56.1 | 53.2 | 53.4 | 1D轉換 |
| 4 | 52.2 | 51.8 | 45.3 | 52.2 | 57.4 | 52.4 | 54.0 | 圖表轉換 |
| 5 | 46.7 | 63.5 | 35.3 | 44.8 | 50.3 | 42.7 | 43.4 | 3D轉換 |
在一個說明性示例中,第一模型是如2020年Ali Diba等人在「Large scale holistic video understanding(大規模整體視訊理解)」中描述的HATNet,其全部內容經由引用併入本文並用於所有目的。在另一個說明性示例中,作為第一階段的第二、第三和第四模型共享共用的2D CNN,它建立在例如2016年Kaiming He等人在「Deep residual learning for image recognition(用於圖像辨識的深度殘差學習)」中描述的Resnet-50神經網路架構上,其全部內容經由引用併入本文並用於所有目的。Resnet-50 2D CNN產生空間特徵。對於第二、第三和第四模型中的每一個,空間特徵由補充模型進一步處理。對於第二模型,非局部補充模型應用於由2D CNN產生的特徵。對於第三模型,1D迴旋可以應用於由2D CNN產生的特徵,以從在多個訊框上評估的(由2D CNN產生的)空間特徵產生時間資訊。1D迴旋可以應用於由2D CNN跨多個訊框產生的特徵,以產生有關時間維度(隨時間)的特徵的時間資訊。對於第四模型,圖迴旋可以應用於由2D CNN產生的特徵。圖迴旋的應用可以引起產生從由2D CNN產生的空間特徵到神經網路被訓練來分類的可用類別的關係資訊。在一個說明性示例中,第五模型可以是使用2019年Christoph Feichtenhofer等人在「Slowfast networks for video recognition(用於視訊辨識的Slowfast網路)」中描述的Slowfast模型的3D CNN。
本文描述了用於執行整體視訊理解的系統、裝置、程序(也稱為方法)和電腦可讀取媒體(統稱為「系統和技術」)。如本文所使用的,整體視訊理解是指跨越視訊中包含的許多相互關聯的資料類別來理解視訊的內容。在一些示例中,在本文中將系統和技術描述為理解、分析及/或分類視訊。然而,本文描述為理解、分析及/或分類視訊的系統和技術可以應用於任何訊框或圖像序列。
如下面更詳細地描述的,整體視訊理解系統可以包括一或多個模型決策引擎(其可以是機器學習模型或機器學習系統)、特徵提取機器學習模型(或機器學習系統)和補充機器學習模型(或機器學習系統)。可以訓練一或多個模型決策引擎來對輸入視訊資料進行分類,用於(例如,基於與可用於選擇的補充模型結合的特徵提取模型的計算效率和準確度的組合)決定使用哪些特徵提取模型來處理特定視訊或視訊的一部分。在一個說明性示例中,可以訓練模型決策引擎來選擇最準確的模型,同時將每個視訊或視訊的一部分的平均計算量保持在 40 千兆FLOP(GFLOP)以下。視訊的一部分可以包括視訊片段(例如,如下所述的視訊片段
)。在(訓練一或多個模型決策引擎之後)推斷期間,模型決策引擎的分類輸出可用於決定神經網路中的哪個或哪些特徵提取模型將用於處理輸入視訊或視訊部分。在一些情況下,也可以訓練模型決策引擎來學習與輸入視訊或輸入視訊的訊框相關的特徵。在一些示例中,可以使用視訊訊框和標籤作為訓練資料,例如使用一或多個監督或半監督訓練技術,來訓練模型決策引擎。在(例如已經訓練模型決策引擎來提取特徵之後的)推斷期間,模型決策引擎可以決定,在一些情況下,其在分類程序期間其產生的特徵將被提供給補充模型並且隨後用於對輸入視訊進行分類,而不需要使用任何其他可用的特徵提取模型。
在一些示例中,模型決策引擎是神經網路或多個神經網路架構的組合。在一些示例中,模型決策引擎是2D CNN或任何其他合適的羽量級神經網路架構。如前述,2D CNN是羽量級的,因為它可以基於單個視訊訊框辨識視訊中的物件,而不是跨多個訊框同時執行功能(例如,迴旋)。針對模型決策引擎使用羽量級神經網路架構可以降低在整體視訊理解系統中利用模型決策引擎引入的計算複雜度。由於能夠針對一些輸入視訊選擇羽量級特徵產生模型的計算節省,(例如,經由使用羽量級神經網路架構來)將包括模型決策引擎的計算成本保持為最小可以引起計算效率的整體提高。在一個說明性示例中,模型決策引擎的神經網路包括諸如2019年Mark Sandler等人在「MobileNetV2:Inverted Residuals and Linear Bottlenecks(MobileNetV2:倒置殘差和線性瓶頸)」中描述的MobileNetV2神經網路架構,其全部內容經由引用併入本文並用於所有目的。在另一個說明性示例中,模型決策引擎的神經網路包括諸如2016年Kaiming He等人在「Deep Residual Learning for Image Recognition(用於圖像辨識的深度殘差學習)」中所描述的Resnet-50神經網路架構,其全部內容經由引用併入本文並用於所有目的。
在一些示例中,如下所述,可以在端到端的程序中一起訓練模型決策引擎與特徵提取模型和任何補充模型。在一些示例中,如下所述,可以在三階段程序的最後階段中訓練模型決策引擎。例如,三階段程序可以包括第一步:訓練特徵提取模型,直到達到一定的準確度水平;第二步:使用來自具有凍結權重(例如,其中經訓練的特徵提取模型的權重不會改變)的經訓練的特徵提取模型的特徵訓練補充模型;及第三步:使用經訓練的特徵提取模型和具有凍結權重的補充模型訓練模型決策引擎。在一些情況下,決策引擎使用帶有偽標籤的監督學習進行訓練,這些偽標籤告訴決策引擎哪個模型最準確。在訓練迭代期間,決策引擎嘗試最大化選擇最準確模型的準確度,其中基於所決定的損失在每次迭代中調整參數(例如,權重、偏置等)。
在一個說明性示例中,如下文更詳細描述的,三階段程序的第二步可以包括使用交叉熵損失(表示為
)或二元交叉熵損失(表示為
)來訓練模型決策引擎,第三步可以包括用如下損失來訓練模型決策引擎:
,其中
是交叉熵(CE)損失(或Softmax損失),
是均勻損失,
是FLOP損失。BCE損失(
)訓練決策引擎來最大化基於二元交叉熵獲得正確分類的準確度。FLOP損失(
)訓練決策引擎來更頻繁地選擇有效模型,因為最小化將被使用的預期(例如,訓練資料的平均值)FLOP是有益的。可以基於來自決策引擎的決策
計算將被使用的FLOP。貝塔(β)參數控制或調整準確度和(例如,經由FLOP測量的)計算效率或複雜度之間的折衷。例如,如果β被設置為0,則結果是決策引擎將學習使用最準確的模型。將β參數設置為高值(例如,接近1,例如0.75、0.80、0.85等)將引起決策引擎選擇計算成本最低的模型。均勻損失(
)可用於確保模型決策引擎並不總是選擇提供某種折衷的相同模型。阿爾法(α)參數用於調整均勻損失。最佳平衡的一個示例是選擇平均低於40 GFLOPS的最準確模型。
本文描述的系統和技術可以經由在一或多個機器學習模型之間自適應地選擇用於處理視訊資料的模型來提供更準確和有效的整體視訊理解。例如,如前述,許多視訊理解系統應用單個固定機器學習模型來分析所有視訊,而不管特定輸入視訊中包括的資料類別是否非常適合該固定機器學習模型的分析。經由在多個不同的機器學習模型之間進行自適應選擇來基於被分析的特定視訊或視訊的一部分的特性執行視訊理解,系統和技術可以由非常適合於特定視訊或其部分的特性(例如,視訊或其部分中包含的資料類別)的模型分析每個視訊或視訊的一部分。此外,經由避免計算昂貴模型的不必要的計算,這些不必要的計算對於視訊或其部分中不存在的類別是較佳的,可以為其他操作節省執行視訊理解技術的設備的計算和功率資源。
儘管本文描述了用於將視訊分類為特定類(例如,彈鋼琴、兒童踢足球等)的示例,但本文描述的整體視訊理解系統和技術可用於產生未具體列出的其他類。在一些示例中,本文描述的整體視訊理解系統和技術可用於決定其他類別和類中的人或物件的活動,例如坐在電腦前面的桌子旁的人、拿著行動設備的人、工廠環境中的機器人設備,及/或任何其他動作、事件、屬性、概念及/或場景。
下面將參考附圖討論本文描述的技術的各個態樣。圖1是示出整體視訊理解系統100的示例的方塊圖。整體視訊理解系統100包括用於處理視訊資料(例如,一或多個視訊)和偵測或辨識資訊類別(例如,物件、動作、事件、屬性、概念及/或場景)的各種元件。如圖所示,整體視訊理解系統100的元件包括視訊擷取器102、儲存裝置104、模型決策引擎106、特徵提取模型108、補充模型110、以及輸出分類器112。
整體視訊理解系統可以包括行動或固定電話手機(例如,智慧電話、蜂巢式電話等)、(例如,與交通工具計算系統通訊的)伺服器電腦、交通工具(例如,交通工具的駕駛員監控系統 (DMS))、桌上型電腦、膝上型電腦或筆記型電腦、平板電腦、機上盒、電視機、照相機、顯示裝置、數位媒體播放機、視訊串流設備或任何其他合適的電子設備或作為其一部分。在一些示例中,整體視訊理解系統100可以包括一或多個無線收發器(或單獨的無線接收器和發送器),用於諸如蜂巢網路通訊、802.11 Wi-Fi通訊、無線區域網路(WLAN)通訊、藍芽或其他短距離通訊、它們的任何組合及/或其他通訊的無線通訊。在一些實施方式中,整體視訊理解系統100的元件(例如,視訊擷取器102、儲存裝置104、模型決策引擎106、特徵提取模型108、補充模型110和輸出分類器112)可以是相同計算設備的一部分。在一些實施方式中,整體視訊理解系統100的元件可以是兩個或更多個獨立計算設備的一部分。在一些情況下,整體視訊理解系統100可以實施為圖12所示的計算系統1200的一部分。
雖然整體視訊理解系統100被示出為包括某些元件,但一般技藝人士將理解整體視訊理解系統100可以包括比圖1所示的元件更多或更少的組件。在一些情況下,整體視訊理解系統100的附加元件可以包括軟體、硬體或軟體和硬體的一或多個組合。例如,在一些情況下,整體視訊理解系統100可以包括一或多個感測器(例如,一或多個照相機、慣性測量單元(IMU)、雷達、光偵測和測距(LIDAR)感測器、音訊感測器等)、一或多個顯示裝置、一或多個其他處理引擎、一或多個其他硬體元件及/或圖1中未示出的一或多個其他軟體及/或硬體元件。在一些實施方式中,整體視訊理解系統100的附加元件可以包括電子電路或其他電子硬體及/或可以使用電子電路或其他電子硬體來實施,該電子電路或其他電子硬體可以包括一或多個可程式設計電子電路(例如,數位訊號處理器(DSP)、微處理器、微控制器、圖形處理單元 (GPU)、中央處理單元 (CPU)、它們的任何組合及/或其他合適的電子電路)及/或可以包括電腦軟體、韌體或任何組合及/或使用電腦軟體、韌體或任何組合來實施,以執行本文描述的各種操作。軟體及/或韌體可以包括儲存在電腦可讀取儲存媒體上並可由實施整體視訊理解系統100的電子設備的一或多個處理器執行的一或多個指令。
視訊擷取器102可以從儲存裝置104中擷取訊框(例如,視訊訊框、圖像等)。儲存裝置104可以包括任何合適類型的儲存裝置(例如,在下面圖12中關於儲存裝置1230描述的任何類型的儲存裝置)。由視訊擷取器102擷取的視訊可以包括訊框序列。例如,訊框序列可以包括一組連續擷取的圖像或其他訊框序列。在一個說明性示例中,訊框可以包括紅-綠-藍(RGB)圖像,亮度、色度-藍色、色度-紅色(YCbCr或Y’CbCr)圖像、單色圖像及/或任何其他合適類型的圖像。在一些情況下,由視訊擷取器102擷取到的視訊還可以從儲存裝置104接收音訊分量。
在一些態樣中,視訊擷取器102可以將從儲存裝置104擷取到的視訊分割成均勻間隔的部分或片段(例如,每個片段可以包括相同數量的訊框)。下面描述視訊片段
的示例。在一些示例中,視訊擷取器還可以將音訊資料分割為單獨的音訊段,使得音訊資料和與視訊的一部分的對應訊框序列相關聯的時間相匹配。在一些態樣中,視訊可以作為視訊部分或片段被儲存或在儲存裝置104內,並且視訊擷取器可以從儲存裝置104擷取片段,而不是擷取整個視訊。在一些態樣中,視訊擷取器102可以從儲存裝置104擷取完整視訊。在這種態樣中, 完整視訊可以在整體視訊理解系統100內的其他地方(例如,在被輸入到模型決策引擎106之前)被劃分成部分或片段。在一些態樣中,這些部分可以包括視訊訊框的子集,例如兩個訊框、三個訊框、五個訊框或任何合適數量的訊框。在一些示例中,這些部分可以是重疊的(例如,這些部分可以從訊框序列中彼此共享共用的訊框)。在其中每個視訊部分包括三個訊框的一個說明性示例中,第一視訊的第一部分可以包括視訊的第一、第二和第三訊框,而第一視訊的第二部分可以包括視訊的第二、第三和第四訊框。
由視訊擷取器102擷取到的訊框可以作為輸入被提供給模型決策引擎106。在一些示例中,擷取到的視訊的訊框可以具有比模型決策引擎106的輸入層(未示出)的尺寸更大的尺寸。在這種情況下,具有較大尺寸的每個輸入訊框可以被標準化為與模型決策引擎106被配置來處理的輸入尺寸或解析度相匹配的解析度。例如,模型決策引擎106(或整體視訊理解系統100的其他元件)可以經由對每個訊框進行降低取樣或下縮放來將具有較大尺寸的每個訊框標準化為模型決策引擎106的輸入尺寸或解析度。在一個說明性示例中,可以經由將擷取到的視訊訊框的最小尺寸調整為224並提取中心裁剪(例如,視訊訊框的中心部分)來調整視訊部分的大小,以匹配(模型決策引擎106被配置來處理的)224×224的輸入解析度。在一些示例中,經降低取樣、下縮放或以其他方式調整大小的訊框可以被儲存在儲存裝置104中,以供整體視訊理解系統100的後續階段使用。
在一些示例中,可以訓練模型決策引擎106來決定來自特徵提取模型108的集合的哪個或多個模型用於處理輸入視訊或輸入視訊的一部分。在一些情況下,可以訓練模型決策引擎106來基於與可用於由模型決策引擎106選擇的補充模型110結合的特徵提取模型108的計算效率和準確度的組合來決定使用哪個或哪些模型。例如,可以訓練模型決策引擎106來在(來自特徵提取模型108及/或補充模型110的)第一機器學習模型和第二機器學習模型之間進行選擇以用於處理輸入視訊。在一些示例中,可以訓練模型決策引擎106來決定使用哪「N」個特徵提取模型108的集合來用於處理輸入視訊,其中「N」是大於或等於一的整數。可以使特徵提取模型108的數量包括與給定應用所需要的機器學習模型一樣多的機器學習模型。一些示例特徵提取模型108可以包括2D CNN、3D CNN、音訊處理模型、光流網路以及可以用於處理視訊資料的任何其他神經網路架構。在一些示例中,模型決策引擎106可以包括分類神經網路,其經過訓練能夠對等於特徵提取模型108數量的N個輸出類進行分類。例如,模型決策引擎106可以處理視訊資料並且可以基於處理視訊資料來決定N個類的概率。模型決策引擎106可以(從特徵提取模型108)選擇與N個類中具有最高概率值的類相關聯的給定模型。在一些示例中,模型決策引擎106的神經網路可以包括從輸入視訊訊框產生一或多個特徵向量的內部層和將一或多個特徵向量的特徵組合成N個類的全連接層。下面提供訓練模型決策引擎106的示例。
在(一旦已經訓練了模型決策引擎106的)推斷期間,模型決策引擎106可以從視訊擷取器102及/或從儲存裝置104接收表示輸入視訊或視訊部分的一或多個視訊訊框。在一些示例中,表示由模型決策引擎106從視訊擷取器102及/或儲存裝置104接收的輸入視訊或視訊部分的一或多個視訊訊框是如前述的輸入視訊的部分。在一些示例中,模型決策引擎106可以產生輸入視訊或視訊部分的類(例如,在N個類中具有最高概率的類)。在一些情況下,模型決策引擎106可以連續處理輸入視訊或視訊部分的每一訊框,以產生每個輸入視訊、視訊部分或視訊訊框的類。在一些實施方式中,模型決策引擎106可以(例如,經由對來自多個連續訊框的特徵進行平均並使用多層感知器(MLP)、全連接層或其他神經網路元件處理該已平均的特徵以產生類)從輸入視訊或視訊部分的多個連續訊框產生類。
在一些示例中,由模型決策引擎產生的類可以用於決定將特徵提取模型108中的哪個特徵提取模型用於進一步處理輸入視訊(例如,整個輸入視訊)。在一些示例中,類可以用於決定特徵提取模型108中的哪個特徵提取模型用於進一步處理輸入視訊的一部分(例如,輸入視訊的一或多個訊框),其中視訊的每個部分可以從視訊的其他部分接收獨立的類。作為示例,視訊的前90訊框可以包含靜態場景,並且動作可以在視訊的最後150訊框期間的視訊中開始。在此類示例中,模型決策引擎106可以(基於由模型決策引擎106決定的一或多個類)決定使用2D CNN來處理前90訊框,並且可以決定使用3D CNN來處理最後150訊框。在一些示例中,由模型決策引擎106輸出的類可以被儲存在儲存裝置104中。
在一些示例中,除了產生類之外,模型決策引擎106還可以基於輸入視訊或視訊部分產生特徵。例如,模型決策引擎106可以包括從輸入視訊產生特徵的2D CNN。隨後特徵可以被輸入到模型決策引擎106的層(例如,全連接層或其他層)中以產生(例如,指示如前述應該使用哪個特徵提取模型108來處理輸入視訊或其部分的)類。在一些示例中,在模型決策引擎106內產生的特徵也可以被儲存在儲存裝置104中。由模型決策引擎106產生的特徵可以由一或多個補充模型110用作輸入以進行附加的處理,或者可以被直接用於在輸出分類器112處對視訊進行分類。在一些示例中,由模型決策引擎106產生的特徵可以被儲存在儲存裝置104中。
可以訓練特徵提取模型108來學習與輸入視訊或視訊部分相關聯的特徵。在一些示例中,特徵提取模型108可以包括模型決策引擎106可以從其中選擇的至少兩個特徵提取模型。在一些示例中,特徵提取模型108可以各自具有不同的神經網路主幹,其使用不同的神經網路架構從視訊資料中提取特徵。例如,來自特徵提取模型108的一個特徵提取模型可以包括2D CNN,其可以被訓練來從各個視訊訊框(或不是視訊的一部分的圖像)中提取空間特徵。來自特徵提取模型108的另一個特徵提取模型可以包括3D CNN,其可以被訓練來從訊框序列中提取空間和時間特徵。在一些示例中,可以訓練3D CNN經由對包括三個訊框、五個訊框或任何其他數量的訊框的視訊的一部分執行迴旋來產生空間和時間特徵,這在針對由3D CNN產生的特徵的時間解析度和計算成本之間提供了期望的折衷。在一些情況下,來自特徵提取模型108的另一個特徵提取模型可以是音訊模型,其可以被訓練來從與輸入視訊相關聯的音訊資訊中提取特徵。來自特徵提取模型108的另一個特徵提取模型可以包括光流模型,其可以被訓練來跨多個視訊訊框偵測物件或特徵(例如,邊緣、形狀)的運動。在一些示例中,來自特徵提取模型108的兩個或更多個特徵提取模型可以使用類似的模態(modality)(例如,2D CNN、3D CNN或其他CNN)但具有不同的架構來操作。不同的架構可能具有不同的計算成本。例如,特徵提取模型108中的兩個都可以包括2D CNN架構,其中第一個2D CNN相對於第二個2D CNN在產生空間特徵中具有較低的準確度,但也具有較低的計算成本。特徵提取模型108可用於提取隨後可用於對輸入視訊進行分類的特徵。下面提供訓練特徵提取模型108的示例。
在(一旦已經訓練了特徵提取模型108的)推斷期間,(例如,由模型決策引擎106選擇的)選擇的特徵提取模型108可以從視訊擷取器102、儲存裝置104及/或模型決策引擎106接收一或多個訊框。如前述,可以基於由模型決策引擎106產生的類來啟動選擇的特徵提取模型108。在一些示例中,模型決策引擎106可以(例如,經由發送指令選擇的特徵提取模型108開始的命令或信號)直接啟動選擇的特徵提取模型108。在一些示例中,特徵提取模型108可以(例如,直接從模型決策引擎106、從儲存裝置104等)擷取從模型決策引擎106輸出的類。由選擇的特徵提取模型108提取的特徵可以作為輸入被提供給補充模型110。
根據由模型決策引擎106選擇的模型類型,選擇的特徵提取模型108可以連續處理一或多個訊框中的每一訊框(例如,一次一訊框),或同時處理多個訊框。例如,當從特徵提取模型108中選擇2D CNN時,2D CNN可以(例如,基於單獨處理每個訊框)從該訊框中提取空間特徵。在另一示例中,當從特徵提取模型108中選擇3D CNN時,3D CNN可以(例如,基於同時處理多個訊框)從多個連續訊框中提取空間和時間特徵。在一些情況下,選擇2D CNN可以是有利的。例如,與3D CNN或其他模型相比,2D CNN可以具有(例如,經由使用模型產生特徵所需的浮點運算(FLOP)的數量來衡量的)相對較低計算成本。在一些示例中,2D CNN和3D CNN之間的計算成本比率可以是由3D CNN同時處理的視訊訊框的數量K的函數,其中K可以等於3D CNN核心在時間維度上的深度。在一些情況下,選擇3D CNN可以是有利的。例如,3D CNN可以為理解特定視訊或視訊的一部分中的動作提供較強的時間偏置。在一個示例中,當正在分析的視訊或視訊的一部分圖示(例如,來自壁掛式照相機的)靜態場景並且場景中幾乎沒有運動或沒有運動時,模型決策引擎106可以選擇2D CNN。在此類示例中,模型決策引擎106可以決定視訊的特性(例如,靜態場景)使得2D CNN應該用於該視訊。在另一示例中,當正在分析的視訊或視訊的一部分描述動態場景(例如,由靜態或移動照相機拍攝的包括移動的物件的場景,例如體育賽事)時,模型決策引擎106可以選擇3D CNN。在此類示例中,模型決策引擎106可以決定視訊的特性(例如,場景內的移動)使得2D CNN應該用於該視訊。相對於一次只能從一個訊框中提取特徵的2D CNN,3D CNN經由從跨多個訊框的視訊資料中同時提取特徵來偵測動作的能力可以產生對視訊內容更準確的理解。
在一些情況下,來自特徵提取模型108中的特徵提取模型的輸出可以包括表示從每個訊框或從訊框序列提取的特徵的特徵向量(或其他特徵表示)。在一些情況下,可以從一個輸入訊框中提取單個特徵向量,其中(例如,對於每訊框產生空間特徵的2D CNN)該特徵向量表示輸入訊框的特徵。從輸入訊框中提取的特徵(例如,被表示為特徵向量)提供了訊框的表示,包括輸入訊框中包含的資訊。在一些情況下,可以從多個輸入訊框中提取單個特徵向量,其中(例如,對於在多個訊框上產生空間和時間特徵的3D CNN或光流網路)該特徵向量包含與多個輸入訊框的特徵相關的所有資訊。在一個說明性示例中,由特徵提取模型每訊框或針對多個訊框產生的特徵向量可以是1x2048向量(指示特徵向量是長度為2048個值的一維特徵向量)。在一些示例中,儲存裝置104可用於(例如,經由儲存為每個訊框或訊框組提取的特徵向量)儲存由特徵提取模型108從輸入視訊或視訊部分提取的特徵。在一些情況下,可以使用除特徵向量之外的特徵表示,諸如張量或其他表示。
可以訓練補充模型110來利用可以用於對視訊進行分類的附加資訊補充由特徵提取模型108提取的特徵。在(例如訓練了補充模型110之後的)推斷期間,補充模型110可以接收由特徵提取模型108輸出的特徵並且可以提供進一步的處理。在一些示例中,可以在特徵提取模型108和補充模型110之間包括全連接層(未示出)。在一個示例中,如前述,利用2D CNN的特徵提取模型可以在它產生的特徵中具有較強空間偏置,但可能不包含跨多個訊框的任何時間資訊,因為2D CNN一次僅對單個視訊訊框進行操作。在一些示例中,可以將來自補充模型110的補充模型應用於由2D CNN為多個訊框產生的特徵,以便產生跨多個訊框的時間資訊。在一個示例中,補充模型可以包括1D迴旋神經網路,其可以應用於由(從特徵提取模型108中選擇的)2D CNN為多個訊框產生的特徵以產生多個訊框的時間資訊。在下面關於圖2A至圖2D描述了1D迴旋網路的說明性示例(作為補充模型的示例)。
圖2A至圖2C圖示可以被用作補充模型110的示例迴旋操作,該補充模型110應用於由圖1的整體視訊理解系統100中的特徵提取模型108產生的特徵。圖2A至圖2C圖示組合特徵向量,包括組合特徵向量210(在圖2A中)、組合特徵向量212(在圖2B中)和組合特徵向量214(在圖2C中)。如上面關於圖1所描述的,包括來自由2D CNN特徵提取模型輸出的五個連續訊框的五個1x2048特徵向量的組合。所得的組合特徵向量210、212 和 214每個具有5x2048的尺寸(指示每個組合特徵向量 210、212 和 214包括來自從2D CNN輸出的五個連續訊框的特徵)。在圖2A至圖2C所示的示例中,在組合特徵向量210、212和214之每一者立方體(無論是黑色還是白色)表示組合特徵向量的一個值。在圖2A至圖2D的組合特徵向量210、212、214和216的立方體中的黑色陰影示出可應用於組合特徵向量的不同迴旋濾波器(其中迴旋濾波器隨時間在資料中移動)。在圖2A所示的示例中,選擇的迴旋濾波器211是跨越時間維度中的所有五個值和(在箭頭221指示的方向上)跨越三個通道的5x3核心。在圖2A所示的示例中,核心沿(如箭頭221所示的)通道維度移動以執行迴旋。
在圖2B所示的示例中,選擇的迴旋濾波器213是跨越時間維度中的三個值和通道維度中的一個值的3x1核心。3x1核心沿(如通道維度中的箭頭223和時間維度中的箭頭225所示的)時間維度和通道維度兩者移動。在一些情況下,3x1核心首先在時間維度中對於每個通道每次移動時間維度中的一個「列」(對應於一個步幅值(stride value))以為第一個通道產生三個新迴旋輸出值。在一些情況下,3x1核心然後移動到組合特徵向量的通道維度中的下一個「行」(對應於一個步幅值)。然後,3x1核心可以重複在時間維度上移動的三個迴旋,從而為第二個通道產生三個附加的新迴旋輸出值。在一些示例中,可以對通道維度之每一者「行」重複該程序以產生3x2048迴旋輸出。在一些情況下,可以使用附加的神經網路層從3x2048迴旋輸出產生1x2048輸出。在一個說明性示例中,可以將沿著通道維度每次移動一個「行」(對應於一個步幅值)的附加迴旋(例如,使用3x1核心)應用於3x2048迴旋輸出以產生1x2048組合特徵向量。在圖2B中示出的迴旋濾波器可以被認為是2D迴旋,因為核心沿時間和通道維度移動。
在圖2C的示例中,選擇的迴旋濾波器215是3x2048濾波器核心,其跨越時間維度中的三個值和通道維度中的所有2048個值。第一3x2048核心沿著(如箭頭227所示的)時間維度移動,例如每次一個立方體,每次兩個立方體,等等。在一個說明性示例中,第一3x2048核心基於3x2048特徵在第一位置中的迴旋建立第一迴旋輸出值。在此類示例中,第一3x2048核心 可以在時間維度上每次移動一個「列」,並為總共3x1的迴旋輸出值產生兩個附加值。在此類示例中,可以使用2047個附加的3x2048核心重複該程序,以產生3x2048組合迴旋輸出向量。在一些示例中,附加神經網路層(例如,迴旋層)可用於從3x2048迴旋輸出產生1x2048輸出。在一些實施方式中,圖2C中描述的迴旋濾波器215可以用於從在資料的時間維度中存在的組合特徵向量214擷取重複出現的模式。在圖2C中示出的迴旋可以被認為是1D迴旋,因為每個核心僅沿時間維度移動。
圖2D示出在圖2A中示出的1D迴旋的輸出的示例。(如組合特徵向量210中的黑色立方體所示的)迴旋濾波器211可用於產生1x2048維度的新特徵向量216。如圖所示,新特徵向量216的(如黑色立方體217所示的)第一個元素是基於應用到組合特徵向量210(在時間維度上)的前三個「行」的5x3迴旋濾波器核心產生的。類似地,新特徵向量216的第二個元素可以經由使5x3迴旋濾波器(例如,沿著箭頭221的方向)前進一行並將迴旋應用於組合特徵向量210的各個元素來產生。隨著濾波器核心在(如箭頭221所示的)通道維度上移動,新特徵向量216的每個後續元素可以基於應用5x3迴旋濾波器來產生。所得到的新特徵向量216可以具有1x2048的維度,如前述,其中新特徵向量216的每個元素表示應用於組合特徵向量210的迴旋濾波器的結果。經由使用該技術組合來自多個訊框的特徵,可以產生關於特徵的時間資訊,儘管原始特徵是從沒有任何時間資訊的單獨訊框中提取的。這種技術提供了包含時間資訊的優點,以便更全面地理解輸入視訊,而不會產生執行三維迴旋的全部計算成本。
應該理解的是,儘管根據從2D CNN輸出的組合特徵向量來描述以上關於圖2A至圖2D的示例,但是圖2A至圖2D中描述的迴旋濾波器可以應用於任何特徵向量,而不管它起源於什麼類型的神經網路。此外,雖然圖2A至圖2C中的示例示出具有5x2048維度的組合特徵向量,但是一般技藝人士將理解所描述的濾波器可以應用於具有不同維度的特徵向量。例如,僅表示三訊框特徵資料的組合特徵向量可以具有3x2048的維度。在另一示例中,表示5訊框特徵資料的組合特徵向量可能具有較少的特徵,例如1024個特徵,並且在這種情況下,組合特徵向量可以具有5x1024的維度。
返回圖1,可以提供附加補充模型110以進一步處理如前述來自特徵提取模型108的特徵。在一些示例中,應用於由特徵提取模型108產生的特徵的(來自補充模型110的)補充模型可以不應用附加歸納偏置到特徵提取模型108的輸出。例如,如上關於圖2D所述,當視訊不包含運動(例如,靜態場景)或包含不足以從3D CNN增加的計算工作中受益的少量運動時,(從補充模型110中選擇的)1D迴旋補充模型可用於基於由(來自特徵提取模型108的)2D CNN特徵提取模型提取的視訊的特性產生視訊的時間資訊。作為示例,當輸入視訊包含例如來自指向固定位置(在要分析的場景內在該固定位置可能會有偶爾移動的物件或人)的IP照相機的場景的靜態場景時,可以選擇1D迴旋補充模型。這種方法可以減少計算工作量,因為可以從由2D CNN提取的視訊訊框的空間特徵中處理時間資訊,而不是直接(例如,使用3D CNN)從視訊訊框中同時提取空間和時間資訊,這可能需要處理大量更多的資料。
補充模型的另一示例是非局部模型(也稱為注意模型或非局部注意模型)。非局部模型可以經由將來自每個視訊訊框的特徵與來自視訊訊框的集合中的一或多個其他視訊訊框(例如,每隔一個視訊訊框)的特徵進行比較,從由2D CNN特徵提取模型提取的特徵中提取時間資訊。例如,對於五個視訊訊框的集合,可以將第一訊框特徵分別與第二、第三、第四和第五訊框中的每一個的特徵進行比較,以決定在相距較遠的訊框(例如,第一和第五訊框、第一和第四訊框、第二和第五訊框、第二和第四訊框等)中事件或動作是否相關。對於大量訊框,由非局部補充模型比較的次數可能會變大。非局部模型的益處是它可以偵測由僅分析來自緊密分組訊框(例如,連續訊框)的資訊的模型無法偵測到的關係。例如,與1D迴旋補充模型相比,非局部模型的歸納偏置不一定假設相關動作將在時間上分組在一起。經由嘗試決定視訊中的這些類型的非局部關係,整體視訊理解系統100可以基於分析跨視訊內更寬範圍(例如,跨在時間上分離的更多個訊框)的特性的能力而變得更加整體。其中非局部補充模型110可能有用的說明性示例是多米諾骨牌倒下的視訊,其中多米諾骨牌在第一訊框中倒下的影響可能直到大量訊框之後才會在最終的多米諾骨牌上看到。第一個和最後一個多米諾骨牌倒下之間的關係可能無法被由1D迴旋補充的3D CNN或2D CNN偵測到,但可以被以非局部模型補充的2D CNN偵測到。
可以應用於由2D CNN特徵提取模型108提取的特徵的另一示例補充模型是圖迴旋網路。在一些示例中,圖迴旋網路可以用作(補充模型110的)補充模型以將來自(來自特徵提取模型108的)特徵提取模型的特徵與利用將由分類器112應用的最終分類器的知識的某些概念相關。在一些示例中,圖迴旋網路將概念或關係偏置應用於它接收的特徵。在一個示例中,圖迴旋網路可能能夠基於由特徵提取模型產生的特徵(例如,球、兒童、草等)的存在來推斷分類「兒童踢足球」適用於視訊或視訊部分。在一些實施方式中,這可以經由將特徵與概念及/或輸出分類器或類相關來完成。在一些情況下,補充模型可以不對由特徵提取模型產生的特徵應用任何附加歸納偏置。例如,補充模型可以用於將由特徵提取模型產生的特徵連接到輸出分類器112被訓練來分類的類之一的目的。在其中來自特徵提取模型108的特徵提取模型是3D CNN的一個說明性示例中,補充模型110可以是多層感知器(MLP)或全連接層。例如,模型決策引擎106可以基於包含大量運動的視訊或視訊部分(例如,其中相機也在運動中的體育賽事的視訊)從具有MLP補充模型110的特徵提取模型108中選擇3D CNN。在一些示例中,補充模型110的輸出可以被儲存在儲存裝置104中。
可以訓練輸出分類器112來用一或多個類對輸入視訊或視訊部分(或與輸入視訊或視訊部分相關聯的特徵)進行分類。包括示例視訊和類標籤的訓練資料集可以用於訓練輸出分類器112,例如使用關於圖10和圖11描述的技術。在(例如已經了訓練輸出分類器112之後的)推斷期間,輸出分類器112可以接收來自補充模型110的輸出並且可以使用該輸出來對輸入視訊或視訊部分進行分類。示例類可以包括「彈鋼琴」、「孩子踢足球」以及輸出分類器112被訓練來分類的任何其他類。
在一些情況下,可以在單個端到端訓練序列中訓練包括模型決策引擎106、特徵提取模型108、補充模型110和輸出分類器112的系統。在端到端訓練序列的一個實施方式中,Gumbel Softmax層(也稱為Gumbel層)可以促進端到端訓練。Gumbel層可以允許模型決策引擎106做出離散決策,同時仍然是可區分(differentiable)的,使得可以執行反向傳播訓練程序。在一些示例中,可以執行反向傳播訓練程序來調整每個神經網路(例如,模型決策引擎106、特徵提取模型108、補充模型110和輸出分類器112)的節點的權重(並且在一些情況下為其他參數,諸如偏置)。如關於圖10更詳細地描述的,反向傳播可以包括前向傳遞、損失函數、後向傳遞和權重更新。可以針對每次訓練迭代(例如,針對來自訓練集的每批資料或針對整個訓練資料集)執行前向傳遞、損失函數、反向傳遞和參數更新。可以針對訓練資料的每個集合的一定次數迭代重複反向傳播程序,直到準確地調整模型決策引擎106、特徵提取模型108、補充模型110和輸出分類器112的參數的權重。在一些示例中,端到端訓練程序中使用的損失函數可以包括交叉熵(CE)損失、二元交叉熵(BCE)損失、FLOP損失、均勻損失、它們的任意組合或任何其他合適的損失函數。在一些示例中,在端到端訓練程序中使用的損失函數可以包括多個損失函數的加權組合(例如,具有不同權重的BCE損失和FLOP損失的組合)。
在一些情況下,可能難以使用端到端訓練程序利用整個整體視訊理解系統100來訓練模型決策引擎106。例如,模型決策引擎106可以基於特徵提取模型 108、補充模型 110 和分類器 112 的過去統計資料預測選擇哪個模型,並且這些模型在每次訓練迭代期間作為訓練的端到端性質的結果而改變。在一些示例中,不是訓練端到端的整體視訊理解系統100,而是可以利用三階段的訓練程序。例如,在三階段訓練程序的第一階段,可以訓練特徵提取模型108。與上述端到端訓練程序類似,可以執行反向傳播訓練程序來調整每個特徵提取模型108的節點的權重(並且在一些情況下為其他參數,例如偏置)。損失函數可以用於分析特徵提取模型108的輸出中相對於已知輸出或基本事實(例如,基於與訓練資料相關的基本事實標籤)的誤差。在一個說明性示例中,可以使用交叉熵損失函數。在一些情況下可以使用其他損失函數。在訓練特徵提取模型108之後,可以固定(或「凍結」)特徵提取模型108的權重(並且在一些情況下為其他參數,例如偏置)。
在一些示例中,可以在三階段訓練程序的第二階段使用由經訓練的特徵提取模型108提取的特徵來訓練補充模型110。在一些情況下,可以使用類似於針對特徵提取模型108所描述的程序的反向傳播訓練程序來訓練補充模型。在訓練之後,可以固定或凍結補充模型110的權重(並且在一些情況下為其他參數,例如偏置)。在一些示例中,在訓練特徵提取模型108和補充模型110之後,可以在三階段訓練程序的最後階段中訓練模型決策引擎106。在一些情況下,在三階段訓練程序期間,可以訓練模型決策引擎106來學習應該選擇固定模型的集合(例如,特徵提取模型108和補充模型110)中的哪個或哪些模型來處理輸入視訊或視訊部分。在一些示例中,相同的資料集可用於三階段訓練程序的所有三個訓練階段。參考圖3的描述提供了訓練整體視訊理解系統的附加細節,包括可用於訓練模型決策引擎106的示例損失函數。
圖3是示出整體視訊理解系統300的另一示例的圖。如圖所示,整體視訊理解系統300的元件包括模型決策引擎306、視訊處理模型313A、313B至313M和分類器312。圖3的整體視訊理解系統300的一或多個元件可以與圖1的整體視訊理解系統100的類似元件類似並且執行與之類似的操作。例如,模型決策引擎306和分類器312可以與圖1的模型決策引擎106和輸出分類器112相似並且執行與之相似的操作。視訊處理模型313A、313B至313M是圖1的特徵提取模型108的示例。
在一些示例中,可以訓練模型決策引擎306來從視訊處理模型313A、313B至313M中決定哪個或哪些模型用於處理輸入視訊302或視訊部分(如下所述的視訊片段
)。在一些情況下,可以訓練模型決策引擎306來基於在處理輸入視訊302中視訊處理模型313A、313B至313M的計算效率和準確度的組合來決定要使用哪個或哪些模型。在一些示例中,模型決策引擎306可以包括分類神經網路,其被訓練來分類等於視訊處理模型313A、313B至313M的數量的N個類。例如,模型決策引擎306可以處理視訊資料並且可以基於處理視訊資料來決定N個類的概率。模型決策引擎306可以(從視訊處理模型313A、313B至313M中)選擇與N個類中具有最高概率值的類相關聯的視訊處理模型。在一些示例中,模型決策引擎306的神經網路可以包括從輸入視訊302或視訊部分產生一或多個特徵向量的內部層。在一些情況下,模型決策引擎306的神經網路可以進一步包括將一或多個特徵向量的特徵組合成N個類的全連接層。
在(訓練模型決策引擎306之後的)推斷期間,模型決策引擎306可以決定視訊處理模型313A、313B至313M中的哪個或哪些用於處理輸入視訊302或視訊部分。返回參考圖1,在一些實施方式中,模型決策引擎306可以從視訊擷取器102及/或從儲存裝置104接收輸入視訊302或視訊部分。在一些示例中,輸入視訊可以被分解成J個大小相等的部分vij。返回參考圖1,在一些情況下,視訊處理模型313A、313B至313M可以各自包括(來自特徵提取模型108的)一個特徵提取模型和(來自補充模型110的)對應補充模型。如前述,基於處理輸入視訊302或視訊部分,模型決策引擎306可以產生表示視訊處理模型313A、313B至313M中的每一個可用模型(例如,基於準確度和計算量的組合)將產生針對特定輸入視訊302或視訊部分的最佳輸出的概率的類(例如,N個類)。在一些示例中,模型決策引擎306可以選擇單個視訊處理模型(例如,與N個類中具有最高概率的類相關聯的視訊處理模型)來處理輸入視訊302或視訊部分。在一些情況下,由模型決策引擎306產生的類可以是獨熱(one-hot)表示,其中選擇的模型的值為1,非選擇的模型的值為0。在一個說明性示例中,對於包括兩個視訊處理模型的整體視訊理解系統300,分類向量[1 0]可以指示模型決策引擎306已經從視訊處理模型313A、313B至313M中選擇第一視訊處理模型來處理輸入視訊302或視訊部分vij。
在一些示例中,模型決策引擎306可以從視訊處理模型313A、313B至313M中選擇兩個或更多個視訊處理模型來處理輸入視訊302。例如,當從視訊處理模型313A、313B至313M中沒有明確的最佳選擇模型時,模型決策引擎306可以選擇兩個或更多個視訊處理模型來處理輸入視訊302或視訊部分。在一些示例中,可以在分類器312對輸入視訊302或視訊部分進行最終分類之前組合從視訊處理模型313A、313B至313M中選擇的兩個或更多個視訊處理模型的輸出。在一個說明性示例中,兩個選擇的模型的輸出可以經由平均來組合。在一些情況下,分類器312可以接收來自視訊處理模型313A、313B至313M的選擇的視訊處理模型的輸出(或者來自兩個或更多個選擇的視訊處理模型的組合輸出)。使用該輸出,分類器312可以對輸入視訊302或視訊部分進行分類。示例類包括「彈鋼琴」、「孩子踢足球」、「做三明治」和「聽古典音樂」。參考圖1,儲存裝置104可用於儲存由從視訊處理模型313A、313B至313M中的選擇的視訊處理模型(或多個模型)從視訊302的訊框中提取的特徵。
在用於圖3的整體視訊理解系統300的訓練程序的一個說明性示例中,包含V個視訊的資料集D可用於訓練程序。對於資料集D,
(可對應於圖3中的輸入視訊302)表示來自視訊V(其中視訊表示為
V)的J個均勻間隔(並且可能重疊)的視訊片段。視訊片段
被用作可以由整體視訊理解系統300處理的輸入視訊302的部分(例如,包括一部分的每個視訊片段
)的示例。術語
表示可供由模型決策引擎306選擇的神經網路(例如,圖3中的視訊處理模型313A、313B至313M)。對於特定的視訊片段
,(來自視訊處理模型313A、313B至313M的)選擇的神經網路可以提供預測
=
(
)。在一些情況下,每個單獨的神經網路
可以用交叉熵(CE)損失來單獨訓練,如下:
其中
是期望值,在資料集D上針對所有片段
和相關標籤
迭代地評估損失函數。在一些情況下,二元交叉熵 (BCE)損失函數可用於訓練每個單獨的神經網路
。在一些態樣中,BCE損失函數可用於訓練神經網路
以將多個類標籤應用於單個視訊。
在一個說明性示例中,可以使用具有1e-4的初始學習率的Adam最佳化器訓練所有模型
十個時期(epoch)。一個時期是整個資料集穿過給定模型的一次傳遞。在此類示例中,模型
可以分別在時期2和時期7處下調為1e-5和1e-6。在一個說明性示例中,在如前述重新調整輸入視訊302的最小尺寸到224並提取中心裁剪之後,視訊片段
的輸入解析度為224x224。在說明性示例中,在訓練期間,每個視訊處理模型313A至313M可以以包括具有(p=0.5)的丟棄層和特定資料集的類的線性層的分類層結束。
如前述,在三階段訓練程序中,可以在第一階段單獨訓練特徵提取模型108。一旦訓練單獨的特徵提取模型108,可以在第二階段使用具有固定或凍結權重的經訓練的特徵提取模型108來訓練補充模型110。返回圖3,在一些示例中,視訊處理模型313A、313B至313M可以合併如圖1中所述的特徵提取模型108和補充模型110兩者。在此類示例中,第一訓練階段可以應用於特徵提取模型,並且第二訓練階段可以使用上述交叉熵損失來應用於併入視訊處理模型313中的補充模型。在第三階段中,可以訓練模型決策引擎306來預測將哪個神經網路(例如,視訊處理模型313A、313B至313M中的哪個)應用於特定視訊片段。模型決策引擎306在數學上可以用函數
表示。在一些實施方式中,模型決策引擎306選擇使用哪個模型來處理視訊或視訊部分,其中決策引擎306的選擇可以由
定義。來自決策引擎306(例如選擇的模型m)的選擇
的預測
可以被表示為:
其中
是指示符函數,
是模型m的輸出類。
可以經由運行資料集D的視訊片段
經由神經網路
來推斷模型決策引擎306的基本事實標籤
。可以經由以下交叉熵(CE)損失函數(也稱為Softmax損失)來評估模型決策引擎306的準確度:
在一些示例中,對於具有最大負交叉熵的(從神經網路
中選擇的)神經網路,
返回具有值為1的獨熱表示。
除了上面的CE損失
之外,可以應用附加損失函數來最佳化模型決策引擎306的決策。例如,還可以使用均勻損失項。均勻損失項迫使模型決策在總數M個可用神經網路(例如,圖3的視訊處理模型 313A、313B至313M)中平均選擇每個神經網路
如下所示的相同次數:
最後,可以使用解決整個系統效率的損失函數,其中可以最佳化由FLOP總數表示的計算工作量。這種損失函數(稱為FLOP損失)的一個示例如下:
組合上述三個損失函數的整體損失函數可用於訓練模型決策引擎106。整體損失函數在數學上可如下表示:
其中α和β是可用於調整整體損失函數
的權重。例如,增加β可以增加FLOP損失在整體損失函數中的影響的程度,而將β設置為零將導致整體損失函數損失函數忽略FLOP損失。
圖4是示出整體視訊理解系統400的示例的圖。如圖所示,整體視訊理解系統400的元件包括模型決策引擎406、特徵提取模型408、補充模型410和分類器412。在圖4的示例中,特徵提取模型包括特徵提取部分429(其在某些情況下可以是模型決策引擎406的一部分)、第一特徵提取模型431和第二特徵提取模型433。補充模型410包括第一補充模型435 、第二補充模型437和第三補充模型439。由模型決策引擎306處理的輸入視訊402可以是(例如,從圖1的視訊擷取器102及/或儲存裝置104擷取的)完整視訊或視訊部分。
圖4的整體視訊理解系統400的一或多個元件可以與圖1的整體視訊理解系統100及/或本文描述的整體視訊理解系統的任何其他示例的類似元件類似並且執行與之類似的操作。例如,補充模型410和分類器412可以與圖1的補充模型110和輸出分類器112類似並且執行與之類似的操作。除了如下面描述的,圖4的特徵提取模型408可以與圖1的整體視訊理解系統的類似元件類似並且執行與之類似的部分。
與上述類似,可以訓練模型決策引擎406來決定來自特徵提取模型408的哪個特徵提取模型用於處理輸入視訊402或視訊部分。還可以訓練模型決策引擎406來從輸入視訊402或視訊部分中提取特徵。在(例如已訓練模型決策引擎406之後的)推斷期間,模型決策引擎可以從輸入視訊402或視訊部分提取特徵作為分類程序中的一個步驟,該步驟決定來自特徵提取模型408的哪個特徵提取模型用於處理輸入視訊402或視訊部分。在一些示例中,當與來自特徵提取模型408的其他模型的特徵相比時,模型決策引擎406可以決定由來自特徵提取模型408的給定模型產生的特徵提供最佳期望結果(例如,準確度和計算工作的最佳組合)。如前述,在一些實施方式中,特徵提取部分429可以是模型決策引擎406的一部分並且可以被認為是特徵提取模型408之一。如圖4所示,包括模型決策引擎406的特徵提取部分429的每個特徵提取模型408可以與如上面關於圖1描述的補充模型410相關聯。
在整體視訊理解系統400的一個說明性示例中,模型決策引擎406包括MobilenetV2神經網路,模型431包括Resnet-50神經網路,並且模型433包括Slowfast神經網路。在此類說明性示例中,補充模型435和補充模型437可以各自包括1D迴旋網路(例如,如上文關於圖2A和圖2D描述的1D迴旋網路)。繼續相同的示例,補充模型439可以包括MLP。MobileNetV2和Resnet-50網路是從單個視訊訊框中提取空間特徵的2D CNN。來自MobileNetV2和Resnet-50網路的空間特徵可以用來自補充1D迴旋網路的時間資訊進行補充。Slowfast網路包括3D CNN,它在多個視訊訊框的3D迴旋中提取包括空間和時間資訊兩者的特徵。在此類示例中,MobileNetV2網路(模型決策引擎406)可以是最小計算密集的,Resnet-50網路(模型431)可以比MobileNetV2更加計算密集,但低於Slowfast,以及Slowfast(模型433)可以是最大計算密集的。上面關於圖1描述了在其中模型決策引擎406可以選擇每個可用特徵提取模型(例如,特徵提取部分429以及第一和第二特徵提取模型431和433)的情況的示例(例如,基於輸入視訊402或其部分中的內容的類型)。
圖5是示出整體視訊理解系統500的圖。如圖所示,整體視訊理解系統500的元件包括模型決策引擎506、特徵提取模型508、補充模型510、組合器511和分類器512。圖5的整體視訊理解系統500的一或多個元件可以與圖1的整體視訊理解系統100及/或本文描述的整體視訊理解系統的任何其他示例的類似元件類似並且執行與之類似的操作。例如,特徵提取模型508、補充模型510和分類器512可以與圖1的特徵提取模型108、補充模型110和輸出分類器112類似並且執行與之類似的操作。輸入視訊502可以由模型決策引擎506處理。參考圖1,作為示例,可以從視訊擷取器102或儲存裝置104中擷取輸入視訊502。如圖4所示,示例整體視訊理解系統400包括特徵提取模型408和補充模型410之間的一對一(1:1)關係。圖5的整體視訊理解系統500示出其中特徵提取模型508的每個特徵提取模型可以與補充模型510具有一對多(1:多)或多對多(多:多)關係的配置。
在一些示例中,可以訓練模型決策引擎506來決定哪個或哪些特徵提取模型508將用於處理輸入視訊502或視訊部分。還可以訓練模型決策引擎506來決定補充模型510中的哪個補充模型應用於由(從特徵提取模型508中選擇的)(多個)特徵提取模型產生的特徵以實現目標。目標的一個示例是實現效率和準確度之間的最佳平衡。在一些示例中,(來自特徵提取模型508的)選擇的特徵提取模型與(來自補充模型510的)選擇的補充模型的每個配對可以類似於圖3的視訊處理模型313A、313B至313M之一。
可以使用上述三步訓練程序來訓練整體視訊理解系統500。例如,如前述,可以在訓練特徵提取模型508和補充模型510之後(在訓練之後具有固定或凍結的權重)的第三步中訓練模型決策引擎506。在(例如已訓練了模型決策引擎506之後的)推斷期間,模型決策引擎506可以基於輸入視訊502或輸入視訊502的一部分(例如,輸入視訊502的片段
)決定,來自特徵提取模型508的哪個或哪些特徵提取模型以及來自補充模型510的哪個或哪些補充模型將用於處理輸入視訊502或視訊部分。
在一些實施方式中,模型決策引擎506可以輸出類,其允許選擇與來自補充模型510的一或多個補充模型配對的單個特徵提取模型508。在一個示例中,模型決策引擎可以選擇O個(其中O是一或多個、兩個或更多個或其他數量的)補充模型來處理來自特徵提取模型508的特徵提取模型的輸出。在此類示例中,來自補充模型510的O個補充模型中的每一個補充模型可以接收由來自特徵提取模型508的選擇的特徵提取模型提取的特徵。O個補充模型之每一者補充模型可以處理特徵並且可以產生輸出,從而從O個補充模型得到O個總輸出(例如,特徵向量)。在一些示例中,組合器511可以接收O個輸出並且可以將O個輸出組合成單個輸出(例如,單個特徵向量)。在一個說明性示例中,組合器511可以對O個輸出進行平均以將O個輸出組合成單個輸出,該單個輸出可以被提供給分類器512用於對輸入視訊502或視訊部分進行分類。在一個說明性示例中,組合器511可以連接O個輸出以將O個輸出組合成單個輸出,然後該單個輸出可以被提供給分類器512用於對輸入視訊502或視訊部分進行分類。
圖5突出了其中模型決策引擎506從特徵提取模型508中選擇單個特徵提取模型(例如,特徵提取模型541)的說明性情況。來自選擇的特徵提取模型541的特徵由來自補充模型510的兩個選擇的補充模型(例如、補充模型543和補充模型545)接收。此外,在此類說明性示例中,選擇的補充模型543的輸出547和選擇的補充模型545的輸出549由組合器511接收。如前述,組合器511可以(例如,經由對與輸出547和549相關聯的特徵向量的值求平均,經由將與輸出547相關聯的特徵向量的值和與輸出549相關聯的特徵向量的值級聯,或者以其他方式組合輸出547和549)來組合兩個輸出547和549 。
在一些示例中,模型決策引擎506可以輸出單熱分類(例如,選擇與單個補充模型510配對的單個特徵提取模型508)用於處理輸入視訊502。在一些實施方式中,當僅來自補充模型510的一個補充模型產生輸出時,組合器511可以將輸出直接(不改變輸出)傳遞給分類器512進行分類。
圖6是示出整體視訊理解系統600的另一示例的圖。如圖所示,整體視訊理解系統600的元件包括模型決策引擎606、特徵提取模型、補充模型610、組合器611、分類器612和第二補充模型決策引擎651。如圖所示,特徵提取模型包括第一特徵提取模型608A和第二特徵提取模型608B。補充模型610包括第一補充模型653、第二補充模型655、第三補充模型657和第四補充模型659。圖6的整體視訊理解系統600的一或多個元件可以與圖1的整體視訊理解系統100及/或本文描述的整體視訊理解系統的任何其他示例的類似元件類似並且執行與之類似的操作。例如,模型決策引擎606、特徵提取模型608A和608B、補充模型610和分類器612可以與圖1的特徵提取模型108、補充模型110和輸出分類器112類似並且執行與之類似的操作。在一些情況下,圖6的整體視訊理解系統600的組合器611可以與圖5的整體視訊理解系統500的組合器511類似並且執行與之類似的操作。
輸入視訊602可以由模型決策引擎606處理。參考圖1作為示例,可以從視訊擷取器102或儲存裝置104擷取輸入視訊602或視訊部分。圖6引入了第二模型決策引擎651的概念,其可以設置在特徵提取模型608A和608B與補充模型610之間。如圖所示,第二模型決策引擎651可以從第一特徵提取模型608A接收特徵。可以訓練第二模型決策引擎651來決定來自與第一特徵提取模型608A耦合的補充模型610(例如,補充模型653、655和657)中的哪個(哪些)補充模型用於處理由第一特徵提取模型608A產生的特徵。在一些情況下,模型決策引擎651可被訓練來基於計算效率和準確度的期望組合來決定補充模型653、655和657中的哪一個用於進一步處理第一特徵提取模型608A的特徵。
在(已經訓練了第二模型決策引擎651之後的)推斷期間,第二模型決策引擎651可以基於模型決策引擎606的決策從第一特徵提取模型608A接收特徵。在一個示例中,基於從第一特徵提取模型608A接收的特徵的特性,第二模型決策引擎651可決定補充模型653、655及/或657中的哪一或多個應當用於進一步處理來自第一特徵提取模型608A的特徵。在一些示例中,第二模型決策引擎651可以選擇補充模型653、655及/或657中的兩個或更多個。在一個說明性示例中,第二模型決策引擎651可選擇補充模型653和655。在此類示例中,選擇的的補充模型653和655每個都可以接收由第一特徵提取模型608A從輸入視訊602提取的特徵,處理所接收的特徵,並將各自的輸出提供給組合器611。組合器611可以(例如,經由平均輸出、連接輸出或以其他方式組合輸出)組合來自補充模型653和655的所接收的輸出。組合器611可以將所組合的輸出傳遞給分類器612,用於對視訊或視訊部分進行分類。
在其中模型決策引擎606選擇第二特徵提取模型608B以從輸入視訊602或視訊部分提取特徵的另一示例中,模型決策引擎651可以不對輸入視訊602或視訊部分執行動作。在此類示例中,由第二特徵提取模型608B產生的特徵可以被輸出到補充模型659用於進一步處理。補充模型659可以將其輸出提供給組合器611。組合器611然後可以將輸出轉發給分類器612,用於對輸入視訊602或視訊部分進行分類。
本領域技藝人士應當理解,利用第二模型決策引擎651的原理不限於兩個特徵提取模型608A和608B的具體拓撲,其中三個補充模型653、655、657被配置為接收來自第一特徵提取模型608A的輸入並且一個補充模型659被耦合來接收來自第二特徵提取模型608B的輸入。任何其他合適的配置可以與模型決策引擎651結合使用。例如,在一些情況下,第二模型決策引擎651可用於任何配置中,其中具有至少兩個補充模型,其可用於處理由特徵提取模型608A和608B之一產生的特徵。在一些實例中,在特徵提取模型608A和608B中的多於一個耦合到兩個或更多個補充模型610的情況下,可以使用多個第二模型決策引擎651。
圖7是示出整體視訊理解系統700的替代配置的圖。如圖所示,整體視訊理解系統700的元件包括特徵提取模型、補充模型710、組合器711和分類器712。特徵提取模型包括第一特徵提取模型708A和第二特徵提取模型708B。補充模型710包括第一補充模型753、第二補充模型755、第三補充模型757和第四補充模型759。圖7的整體視訊理解系統700的元件可以與圖6的整體視訊理解系統600及/或本文描述的整體視訊理解系統的任何其他示例的相似元件類似並且執行與之類似的操作。例如,整體視訊理解系統700的每個元件可以與圖6的對應元件類似並且執行與之類似的操作。圖7的整體視訊理解系統700不包括模型決策引擎(例如,模型決策引擎606)或第二模型決策引擎(例如,第二模型決策引擎651),而不利用可用的特徵提取模型708A和708B兩者以及相應的補充模型753、755、757和759處理輸入視訊702或視訊部分。
輸入視訊702可以由第一特徵提取模型708A和第二特徵提取模型708B處理。參考圖1作為示例,可以從視訊擷取器102或儲存裝置104中擷取輸入視訊702。補充模型753、755和757可以處理由第一特徵提取模型708A輸出的特徵(例如,一或多個特徵向量)。補充模型759可以處理由第一特徵提取模型708B輸出的一或多個特徵(例如,特徵向量)。在圖7的示例中,組合器711(例如,經由平均、連接等來)組合補充模型753、755、757和759的所有輸出並將所組合的輸出提供給分類器712。分類器712可以基於來自組合器711的輸出(例如,所組合的特徵向量)對輸入視訊702或視訊部分進行分類。
在圖7的配置中,與輸入視訊的特性無關地發生對經由所有可用路徑(例如,經由所有特徵提取模型和所有補充模型710)的輸入視訊702進行處理。與將單個固定模型應用於輸入視訊702相比,圖7中示出的整體視訊理解系統700在某種意義上是整體的,可以應用多個特徵提取模型(例如,特徵提取模型708A和特徵提取模型708B)和多個補充模型710(其每個都可以應用如上面關於圖1所描述的不同歸納偏置)。
下面的表2圖示比較兩種配置的實驗結果,該兩種配置利用了上面表1中所示並在下文中描述的四種模型2-5。表2相對於對來自多個模型的結果進行平均的策略比較了使用模型決策引擎在模型之間進行選擇的潛在效能(以mAP來衡量)。例如,表2的第一行圖示針對類似於圖7的整體視訊理解系統700的配置的實驗結果。它同時處理穿過所有四個模型2-5的輸入視訊。圖7的組合器711對四個模型2-5的輸出進行平均。在實驗中,所組合的輸出由圖7的分類器712進行分類。
表2
| 模型 | 平均 | 動作 | 屬性 | 概念 | 事件 | 物件 | 場景 |
| 平均 | 55.1 | 63.6 | 46.0 | 53.5 | 58.5 | 54.3 | 54.3 |
| 模型決策引擎 | 57.0 | 62.4 | 47.8 | 56.4 | 61.3 | 57.2 | 56.9 |
表2的第二行圖示用於基於關於哪個(哪些)模型提供最佳準確度的實驗資料來選擇用於處理每個輸入視訊或視訊部分的最佳模型或模型的子集的實驗結果。表2的第二行中的值是經由針對每個輸入視訊或視訊部分選擇在第1行中平均的一或多個模型而獲得的。如表2的第二行所示,平均準確度和跨各個類別(例如,動作、概念、事件、物件和場景)的準確度相對於第一行所示的平均值有所提高。表2圖示利用如本案中描述的模型決策引擎(例如,圖1中的模型決策引擎106)可以相對於挑選所有模型並對結果進行平均的方法提高準確度。
圖8圖示與僅利用固定模型的方法相比以及與在處理路徑(例如,每個路徑可以表示特徵提取模型和補充模型的配對)之間隨機選擇的方法相比,使用參考圖6的模型決策引擎606的整體視訊理解系統600的相對效能的實驗圖。針對實驗結果的mAP繪製在垂直軸上,並且以每個片段的GFLOP衡量的計算工作量繪製在水平軸上。在與圖8中的圖相關聯的實驗中,使用MobileNetV2實施模型決策引擎106。在實驗中,本文描述的每個配置都使用相同的視訊資料集進行測試。使用Resnet-50實施的2D CNN被用作第一特徵提取模型608A。設置第二模型決策引擎651為將所有三個補充模型653、655和657應用於第一特徵提取模型608A的輸出。例如,每當模型決策引擎106選擇第一特徵提取模型608A來處理視訊(或視訊的一部分,諸如視訊片段
)時,由特徵提取模型608A產生的特徵經由所有三個補充模型653、655和657來處理。組合器611(例如,經由對來自補充模型的特徵進行平均、連接或以其他方式組合)來組合來自三個補充模型的輸出。組合器611將所組合的輸出提供給分類器612用於分類。在實驗中,在時間維度上進行的1D迴旋(如關於圖2A和圖2B所描述的)用於補充模型653,非局部時間模型用於補充模型655,並且圖形迴旋用於補充模型657。使用Slowfast模型實施的3D CNN用於第二特徵提取模型608B,並且MLP用作補充模型659。在實驗中,每當模型決策引擎606選擇第二特徵提取模型608B來處理視訊(或視訊的一部分)時,第二特徵提取模型608B的特徵被輸入到補充模型659中,組合器611不執行任何操作(因為僅單個結果被傳遞到其輸入),並且補充模型659的輸出被分類器612分類。
圖8的圖中的資料點836A和836G圖示使用模型決策引擎106來在第一特徵提取模型608A和第二特徵提取模型608B之間進行選擇的結果。例如,資料點836A表示模型決策引擎606總是選擇第一特徵提取模型608A的結果,資料點836G表示模型決策引擎106總是選擇第二特徵提取模型608B的結果。一組資料點836A、836B、836C、836D、836E、836F和836G分別表示根據比例[0.0, 0.1, 0.3, 0.5, 0.7, 0.9, 1.0]在第一特徵提取模型608A和第二特徵提取模型608B之間隨機選擇的結果,其中0.0表示總是選擇第一特徵提取模型608A,而1.0表示總是選擇第二特徵提取模型608B。如圖所示,針對資料點830的mAP超過資料點836A和836G兩者,表明使用模型決策引擎106與僅使用第一特徵提取模型608A或第二特徵提取模型608B相比提高了準確度。基於提高的平均準確度,圖8中的圖圖示模型決策引擎106基於視訊的視覺或時間特徵來挑選模型。
如前述,本文描述的整體視訊理解系統(例如,整體視訊理解系統100、300、400、500及/或600)和相關技術可以允許系統在視訊處理機器學習模型中自適應地選擇以有效和準確地跨多個類別(例如,動作、屬性、事件、物件和場景)對視訊內容進行分類。例如,使用整體視訊理解系統100,包含靜態場景的第一視訊部分可以由2D CNN分析以提取空間特徵來用於從第一視訊部分偵測場景中的物件,並且包含運動事件的第二視訊部分可以由3D CNN分析以提取空間和時間特徵,來用於從第二視訊部分偵測物件和與這些物件相關聯的動作。經由利用模型決策引擎106來(從特徵提取模型108)選擇適合於相關視訊部分的特性(例如,相關視訊部分的資訊類型、運動等)並且比其它可用特徵提取模型108更小計算密集的特徵提取模型,可以為其它操作節省系統(例如,計算系統)的計算和功率資源。除了節省系統的計算和功率資源之外,包括具有不同歸納偏置的各種補充模型110可以經由提供專門用於辨識更廣泛類別的模型來使整體視訊理解系統100更整體。相比之下,當被分析的視訊包含最佳化固定模型來偵測其的資料類別時,包括用於所有輸入視訊的固定模型的系統可以很好地執行,但是當被分析的視訊包含不同類別的資訊時,可能會失去準確性及/或花費不必要的計算工作量。
圖9是根據一些示例示出使用整體視訊理解系統處理視訊的程序900的示例的流程圖。在方塊902處,程序900包括獲得第一視訊。在一些示例中,程序900可以從儲存裝置獲得第一視訊。在一個說明性示例中,儲存裝置包括圖1所示的儲存裝置104及/或圖12所示的儲存裝置1230。
在方塊904處,程序900包括使用機器學習模型決策引擎從機器學習模型的集合中決定第一機器學習模型(例如,以用於處理第一視訊的至少一部分)。可以基於第一視訊的至少一部分的一或多個特性來決定第一機器學習模型。在一個說明性示例中,模型決策引擎包括圖1所示的模型決策引擎106。在一些示例中,模型決策引擎包括神經網路(例如,MobileNetV2神經網路及/或Resnet-50神經網路)。在一個說明性示例中,機器學習模型的集合包括圖1所示的特徵提取模型108。在另一個說明性示例中,機器學習模型的集合包括如圖3所示的模型313A、313B至313M。
在一些示例中,第一機器學習模型包括如前述的迴旋神經網路(CNN)。例如,在一些示例中,CNN包括二維CNN(例如,MobileNetV2或Resnet-50)、三維CNN(例如,Slowfast)或其他 CNN。在一些情況下,第一機器學習模型可以包括第一類型的CNN,其不同於在機器學習模型的集合中的至少一些其他機器學習模型中包括的CNN。在一些示例中,第一視訊的至少一部分的一或多個特性包括空間、時間及/或音訊特性。
在方塊906處,程序900包括使用第一機器學習模型處理第一視訊的至少一部分。如本文所述,處理第一視訊的至少一部分可以包括從第一視訊的至少一部分提取特徵,使用一或多個補充模型處理特徵,以及對第一視訊的至少一部分進行分類,以及其他處理。
在一些示例中,程序900可以包括基於使用第一機器學習模型處理第一視訊的至少一部分來決定第一視訊的至少一部分的類。在一些示例中,在分類期間決定的類可以包括踢足球、拉小提琴、聽音樂等。在一個說明性示例中,圖1中所示的輸出分類器112決定分類。在一些示例中,如前述,程序900包括決定標識包括在第一視訊的至少一部分中的多個類的類。
在一些示例中,程序900包括使用第一機器學習模型從第一視訊的至少一部分中提取第一一或多個特徵。在一些情況下,第一機器學習模型包括神經網路,諸如二維(2D)CNN。在這種情況下,2D CNN可以在兩個空間維度中從第一視訊的至少一部分提取第一一或多個特徵。在一些實施方式中,第一機器學習模型包括3D CNN。在此類實施方式中,3D CNN可以在兩個空間維度和時間維度中從視訊的至少一部分中提取第一一或多個特徵。
程序900可以包括使用第一補充模型處理由第一機器學習模型從第一視訊的至少一部分提取的第一一或多個特徵。在一個說明性示例中,第一補充模型包括在圖1所示的補充模型110中包括的補充模型。在一些情況下,第一補充模型包括神經網路,例如一維(1D)CNN。例如,當第一補充模型包括1D CNN時,第一一或多個特徵可以包括基於第一視訊的至少一部分的第一訊框的第一特徵向量和基於第一視訊的至少一部分的第二訊框的第二特徵向量。在這種情況下,1D CNN可以至少從第一特徵向量和第二特徵向量產生第一視訊的至少一部分的時間資訊。在一個說明性示例中,1D CNN執行圖2D所示並上面描述的迴旋。在一些情況下,第一補充模型包括多層感知器。在一些實施方式中,第一補充模型包括圖迴旋網路。在一些情況下,第一補充模型包括非局部模型。在一些示例中,程序900包括基於使用第一補充模型處理第一一或多個特徵來決定第一視訊的至少一部分的第一類。
在一些示例中,程序900包括使用機器學習模型決策引擎來從機器學習模型的集合中決定第二機器學習模型(例如,以用於處理第一視訊的至少另一部分)。第二機器學習模型可以基於第一視訊的至少另一部分的一或多個特性來決定。在一些情況下,程序900包括使用第二機器學習模型處理第一視訊的至少另一部分。在一個態樣中,第二機器學習模型可以包括與第一機器學習模型的一或多個神經網路(例如,CNN)不同的神經網路(例如,CNN)。在一些情況下,程序900包括使用第二機器學習模型從第一視訊的至少另一部分提取第二一或多個特徵。程序900可以包括使用第二補充模型處理經由第二機器學習模式從第一視訊的至少另一部分提取的第二一或多個特徵。在一些示例中,程序900可以基於來自第二補充模型的一或多個特徵決定第一視訊的至少另一部分的第二類。
在一些示例中,程序900可以獲得第二視訊。程序900可以決定第二機器學習模型(例如,以用於處理第二視訊的至少一部分)。可以基於第二視訊的至少一部分的一或多個特性來決定第二機器學習模型。在一些示例中,程序900可以從儲存裝置獲得第二視訊。在一個說明性示例中,儲存裝置包括圖1所示的儲存裝置104及/或圖12所示的儲存裝置1230。程序900可以使用第二機器學習模型來處理第二視訊的至少一部分。
在一些示例中,程序900包括與從機器學習模型的集合中決定用於處理第一視訊的至少一部分的第一機器學習模型並行地使用第一機器學習模型從第一視訊的至少一部分提取第一一或多個特徵。在一些情況下,機器學習模型決策引擎與第一機器學習模型共享共用神經網路。在一個說明性示例中,與第一機器學習模型共享共用神經網路的模型決策引擎可以包括如圖4所示的模型決策引擎406和特徵提取元件429。
在一些示例中,本文描述的程序(例如,程序900及/或本文描述的其他程序)可以由計算設備或裝置來執行。在一個示例中,一或多個程序可以由圖1的整體視訊理解系統100來執行。在另一示例中,一或多個程序可以由圖12所示的計算系統1200來執行。例如,具有圖12所示的計算系統1200的計算設備可以包括整體視訊理解系統100的元件並且可以實施圖9的程序900及/或本文描述的其他程序的操作。
計算設備可以包括任何合適的設備,諸如行動設備(例如,行動電話)、桌上型計算設備、平板計算設備、可穿戴設備(例如,VR頭戴耳機、AR頭戴耳機、AR眼鏡、聯網手錶或智慧手錶或其他可穿戴設備)、交通工具或交通工具的計算設備(例如,交通工具的駕駛員監控系統(DMS))、伺服器電腦、機器人設備、電視及/或具有執行本文描述的程序(包括程序900及/或本文描述的其他程序)的資源能力的任何其他計算設備。在一些情況下,計算設備或裝置可以包括各種元件,諸如一或多個輸入裝置、一或多個輸出設備、一或多個處理器、一或多個微處理器、一或多個微型電腦、一或多個照相機、一或多個感測器及/或被配置為實現本文描述的程序步驟的其他元件。在一些示例中,計算設備可以包括顯示器、被配置為發送及/或接收資料的網路介面、它們的任何組合、及/或其他組件。網路介面可以被配置為通訊及/或接收基於網際網路協定(IP)的資料或其他類型的資料。
計算設備的元件可以被實施在電路中。例如,元件可以包括電子電路或其他電子硬體及/或可以使用電子電路或其他電子硬體來實施,該電子電路或其他電子硬體可以包括一或多個可程式設計電子電路(例如,微處理器、圖形處理單元(GPU)、數位訊號處理器(DSP)、中央處理單元(CPU)及/或其他合適的電子電路),及/或可以包括電腦軟體、韌體或它們的任何組合及/或使用電腦軟體、韌體或它們的任何組合來實施,以執行本文描述的各種操作。
程序900被示出為邏輯流程圖,其動作表示可以在硬體、電腦指令或其組合中實施的操作序列。在電腦指令的上下文中,動作表示儲存在一或多個電腦可讀取儲存媒體上的電腦可執行指令,該等指令在由一或多個處理器執行時執行所述操作。大體上,電腦可執行指令包括執行特定功能或實施特定資料類型的常式、程式、物件、元件、資料結構等。描述操作的順序不是旨在被解釋為限制,並且任何數量的所描述操作可以以任何順序及/或並行組合來實施程序。
此外,本文描述的程序900及/或其他程序可以在配置有可執行指令的一或多個電腦系統的控制下執行並且可以實施為經由硬體或其組合在一或多個處理器上共同執行的代碼(例如,可執行指令、一或多個電腦程式,或一或多個應用)。如前述,代碼可以例如以包括可由一或多個處理器執行的複數個指令的電腦程式的形式被儲存在電腦可讀或機器可讀儲存媒體上。電腦可讀或機器可讀儲存媒體可以是非暫時性的。
如前述,本案的各個態樣可以使用機器學習模型或系統。圖10是可用於實施上述整體視訊理解系統的深度學習神經網路1000的說明性示例。輸入層1020包括輸入資料。在一個說明性示例中,輸入層1020可以包括表示輸入視訊訊框的圖元的資料。神經網路1000包括多個隱藏層1022a、1022b至1022n。隱藏層1022a、1022b至1022n包括「n」個隱藏層,其中「n」是大於或等於1的整數。可以使隱藏層的數量包括對於給定應用所需的層一樣多的層。神經網路1000還包括輸出層1021,其提供由隱藏層1022a、1022b至1022n執行的處理產生的輸出。在一個說明性示例中,輸出層1021可以為輸入視訊訊框中的物件提供類。類可以包括標識活動類型的類(例如,踢足球、彈鋼琴、聽彈鋼琴、彈吉他等)。
神經網路1000是互連節點的多層神經網路。每個節點可以代表一條資訊。與節點相關的資訊在不同層之間共享,並且每個層在處理資訊時保留資訊。在一些情況下,神經網路1000可以包括前饋網路,在這種情況下,沒有回饋連接,其中網路的輸出被回饋回其自身。在一些情況下,神經網路1000可以包括循環神經網路,其可以具有允許在讀入輸入時跨節點傳送資訊的循環。
可以經由各個層之間的節點到節點互連來在節點之間交換資訊。輸入層1020的節點可以啟動第一隱藏層1022a中的節點的集合。例如,如圖所示,輸入層1020的每個輸入節點連接到第一隱藏層1022a的每個節點。第一隱藏層1022a的節點可以經由對輸入節點資訊應用啟動函數來變換每個輸入節點的資訊。然後,從變換匯出的資訊可以被傳遞到下一個隱藏層1022b的節點並且可以啟動該節點,該下一個隱藏層1022b可以執行它們自己的指定功能。示例函數包括迴旋、升取樣、資料變換及/或任何其他合適的函數。然後隱藏層1022b的輸出可以啟動下一個隱藏層的節點,以此類推。最後一個隱藏層1022n的輸出可以啟動輸出層1021的一或多個節點,在該節點處提供輸出。在一些情況下,雖然神經網路1000中的節點(例如,節點1026)被示為具有多個輸出線,但節點具有單個輸出並且被示為從節點輸出的所有線表示相同的輸出值。
在一些情況下,每個節點或節點之間的互連可以具有權重,該權重是從神經網路1000的訓練中匯出的參數的集合。一旦訓練神經網路1000,它可以被稱為經訓練的神經網路網路,其可用於對一或多個活動進行分類。例如,節點之間的互連可以表示關於互連節點進行學習的一條資訊。互連可以具有(例如,基於訓練資料集)可調整的數位權重,允許神經網路1000適應輸入並且能夠隨著越來越多的資料被處理而進行學習。
預訓練神經網路1000來使用不同的隱藏層1022a、1022b至1022n處理來自輸入層1020中的資料的特徵,以便經由輸出層1021提供輸出。在神經網路1000用於在訊框中辨識駕駛員執行的活動的示例中,可以使用包括如前述的訊框和標籤的訓練資料來訓練神經網路1000。例如,可以將訓練訊框輸入到網路中,其中每個訓練訊框都具有(用於特徵提取機器學習系統的)指示訊框中的特徵的標籤或指示每個訊框中的活動的類的標籤。在出於說明目的使用物件分類的一個示例中,訓練訊框可以包括數位2的圖像,在這個情況下,用於圖像的標籤可以是[0 0 1 0 0 0 0 0 0 0]。
在一些情況下,神經網路1000可以使用稱為反向傳播的訓練程序來調整節點的權重。如前述,反向傳播程序可以包括前向傳遞、損失函數、反向傳遞和權重更新。在一次訓練迭代中執行前向傳遞、損失函數、反向傳遞和參數更新。對於訓練圖像的每個集合,該程序可以重複一定次數的迭代,直到神經網路1000被訓練得足夠好,使得準確地調整層的權重。
對於在訊框中辨識物件的示例,前向傳遞可以包括使訓練訊框穿過神經網路1000。在訓練神經網路1000之前,權重最初是隨機化的。作為說明性示例,訊框可以包括表示圖像圖元的數位陣列。陣列之每一者數字包括從0到255的值,其描述在陣列中該位置處的圖元強度。在一個示例中,該陣列可以包括28x28x3的數位陣列,具有28行和28列的圖元和3個顏色分量(例如,紅色、綠色和藍色,或亮度和兩個色度分量,等等)。
如前述,對於神經網路1000的第一次訓練迭代,由於在初始化時隨機選擇權重,因此輸出將可能包括不優先於任何特定類的值。例如,如果輸出是具有物件包括不同類的概率的向量,則不同類中的每一個類的概率值可能相等或至少非常相似(例如,對於十個可能的類,每個類可能具有概率值0.1)。使用初始權重,神經網路1000無法決定低級特徵,並且因此無法準確地決定物件的類可能是什麼。損失函數可用於分析輸出中的錯誤。可以使用任何合適的損失函式定義,例如交叉熵損失。損失函數的另一示例包括均方誤差(MSE),定義為
。損失可以被設置為等於
的值。
對於第一訓練圖像,損失(或誤差)將很高,因為實際值將與預測輸出大不相同。訓練的目標在於最小化損失量,使預測輸出與訓練標籤相同。神經網路1000可以經由決定哪些輸入(權重)對網路的損失貢獻最大來執行反向傳遞,並且可以調整權重以使損失減少並最終最小化。可以計算損失相對於權重的導數(表示為dL/dW,其中W是特定層的權重)以決定對網路損失貢獻最大的權重。在計算出導數之後,可以經由更新濾波器的所有權重來執行權重更新。例如,可以更新權重,以便它們在梯度的相反方向上變化。權重更新可以表示為
,其中w表示權重,w
i表示初始權重,η表示學習率。學習率可以被設置為任何合適的值,其中高學習率包括較大的權重更新,而較低的值指示較小的權重更新。
神經網路1000可以包括任何合適的深度網路。一個示例包括迴旋神經網路(CNN),它包括輸入層和輸出層,在輸入層和輸出層之間具有多個隱藏層。CNN的隱藏層包括一系列迴旋層、非線性層、(用於降低取樣的)池化層和全連接層。神經網路1000可以包括除CNN之外的任何其他深度網路,例如自動編碼器、深度置信網路(DBN)、循環神經網路(RNN)等。
圖11是迴旋神經網路(CNN)1100的說明性示例。CNN 1100的輸入層1120包括表示圖像或訊框的資料。例如,資料可以包括代表圖像圖元的數位陣列,其中陣列之每一者數字包括從0到255的值,其描述在陣列中該位置處的圖元強度。使用上面的前述示例,該陣列可以包括28x28x3的數位陣列,具有28行和28列的圖元和3個顏色分量(例如,紅色、綠色和藍色,或亮度和兩個色度分量,等等)。圖像可以穿過迴旋隱藏層1122a、可選的非線性啟動層、池化隱藏層1122b和全連接隱藏層1122c以在輸出層1124處獲得輸出。雖然每個隱藏層中只有一個被示出在圖11中,但是一般技藝人士將理解,多個迴旋隱藏層、非線性層、池化隱藏層及/或全連接層可以被包括在CNN 1100中。如前述,輸出可以指示單個類的物件或可以包括最能描述圖像中物件的類的概率。
CNN 1100的第一層是迴旋隱藏層1122a。迴旋隱藏層1122a分析輸入層1120的圖像資料。迴旋隱藏層1122a的每個節點連接到輸入圖像的節點(圖元)區域,被稱為感受野(receptive field)。迴旋隱藏層1122a可以被認為是一或多個濾波器(每個濾波器對應於不同的啟動或特徵映射),濾波器的每個迴旋迭代是迴旋隱藏層1122a的節點或神經元。例如,濾波器在每次迴旋迭代時覆蓋的輸入圖像的區域將是濾波器的感受野。在一個說明性示例中,如果輸入圖像包括28×28的陣列,並且每個濾波器(和相應的感受野)是5×5的陣列,則在迴旋隱藏層 1122a中將有24×24個節點。節點和該節點的感受野之間的每個連接都會學習權重,並且在一些情況下,還會學習整體偏置,使得每個節點學習分析其在輸入圖像中的特定局部感受野。隱藏層1122a的每個節點將具有相同的權重和偏置(稱為共享權重和共享偏置)。例如,濾波器具有權重(數位)陣列和與輸入相同的深度。對於視訊訊框示例,濾波器(根據輸入圖像的三個顏色分量)將具有為3的深度。濾波器陣列的說明性示例大小是5x5x3,對應於節點的感受野的大小。
迴旋隱藏層1122a的迴旋性質是由於迴旋層的每個節點被應用於其對應的感受野。例如,迴旋隱藏層1122a的濾波器可以從輸入圖像陣列的左上角開始並且可以圍繞輸入圖像進行迴旋。如前述,濾波器的每次迴旋迭代可以被認為是迴旋隱藏層1122a的節點或神經元。在每次迴旋迭代時,濾波器的值乘以圖像的相應數量的原始圖元值(例如,5x5濾波器陣列乘以輸入圖像陣列左上角的5x5陣列的輸入圖元值)。來自每次迴旋迭代的乘法可以加在一起以獲得針對該迭代或節點的總和。接下來根據迴旋隱藏層1122a中的下一個節點的感受野在輸入圖像中的下一個位置處繼續該程序。例如,濾波器可以移動一個步長(稱為步幅)到下一個感受野。步幅可以被設置為1或其他合適的量。例如,如果步幅被設置為1,則濾波器將在每次迴旋迭代時向右移動1個圖元。在輸入量(input volume)的每個唯一位置處處理濾波器產生表示針對該位置的濾波器結果的數位,從而產生為迴旋隱藏層1122a的每個節點決定的總和值。
從輸入層到迴旋隱藏層1122a的映射被稱為啟動映射(或特徵映射)。啟動映射包括針對每個節點的值,該值表示在輸入量的每個位置處的濾波器結果。啟動映射可以包括陣列,該陣列包括從濾波器在輸入量上的每次迭代產生的各種總和值。例如,如果將5x5濾波器應用到28x28輸入圖像的每個圖元(步幅為1),則啟動映射將包括24x24陣列。迴旋隱藏層1122a可以包括多個啟動映射以便標識圖像中的多個特徵。如圖11所示的示例包括三個啟動映射。使用三個啟動映射,迴旋隱藏層1122a可以偵測三種不同的特徵,其中可跨整體圖像偵測每個特徵。
在一些示例中,可以在迴旋隱藏層1122a之後應用非線性隱藏層。非線性層可用於將非線性引入已經計算線性運算的系統。非線性層的一個說明性示例是整流線性單元(ReLU)層。ReLU層可以將函數f(x)=max(0,x)應用於輸入量中的所有值,這會將所有負啟動變為0。因此,ReLU可以增加CNN 1100的非線性特性,而不影響迴旋隱藏層1122a的感受野。
可以在迴旋隱藏層1122a之後(並且在使用非線性隱藏層時在非線性隱藏層之後)應用池化隱藏層1122b。池化隱藏層1122b用於簡化來自迴旋隱藏層1122a的輸出中的資訊。例如,池化隱藏層1122b可以獲取來自迴旋隱藏層1122a的每個啟動映射輸出,並使用池化函數產生已壓縮啟動映射(或特徵映射)。最大池化是由池化隱藏層執行的函數的一個示例。池化隱藏層1122a使用其他形式的池化函數,諸如平均池化、L2範數池化或其他合適的池化函數。池化函數(例如,最大池化濾波器、L2範數濾波器或其他合適的池化濾波器)被應用於在迴旋隱藏層1122a中包含的每個啟動映射。在圖11所示的示例中,三個池化濾波器用於迴旋隱藏層1122a中的三個啟動映射。
在一些示例中,可以經由將具有步幅(例如,等於濾波器的維度,例如步幅為2)的(例如,具有2x2大小的)最大池化濾波器應用到來自迴旋隱藏層1122a的啟動映射輸出來使用最大池化。最大池化濾波器的輸出包括濾波器所迴旋的每個子區域中的最大數量。使用2x2濾波器作為示例,池化層之每一者單元可以匯總上一層中的2×2節點區域(每個節點是啟動映射中的一個值)。例如,啟動映射中的四個值(節點)將在濾波器的每次迭代時由2x2最大池化濾波器來分析,其中四個值中的最大值被輸出作為「最大」值。如果這種最大池化濾波器被應用於來自具有24×24個節點維度的迴旋隱藏層1122a的啟動濾波器,則來自池化隱藏層1122b的輸出將是12×12個節點的陣列。
在一些示例中,還可以使用L2範數池化濾波器。L2範數池化濾波器包括計算啟動映射的2×2區域(或其他合適區域)中值的平方和的平方根(而不像在最大池化中那樣計算最大值),並使用該計算值作為輸出。
直觀地,池化函數(例如,最大池化、L2範數池化或其他池化函數)決定是否在圖像區域中的任何地方找到給定特徵,並丟棄確切的位置資訊。這可以在不影響特徵偵測結果的情況下完成,因為一旦找到特徵,該特徵的確切位置就不如其相對於其他特徵的大致位置重要。最大池化(以及其他池化方法)提供的好處是具有更少池化特徵,從而減少了CNN 1100的後續層中所需的參數數量。
網路中的連接的最後的層是全連接層,它將池化隱藏層1122b之每一者節點連接到輸出層1124之每一者輸出節點。使用上面的示例,輸入層包括對輸入圖像的圖元強度進行編碼的28x28個節點,迴旋隱藏層1122a基於將(針對濾波器的)5×5局部感受野應用於三個啟動映射包括3×24×24個隱藏特徵節點,以及池化隱藏層1122b基於將最大池化濾波器應用於跨三個特徵映射中的每一個特徵映射的2×2區域包括3×12×12隱藏特徵節點的層。擴展這個示例,輸出層1124可以包括十個輸出節點。在此類示例中,3×12×12池化隱藏層1122b的每個節點連接到輸出層1124的每個節點。
全連接層1122c可以獲得先前池化隱藏層1122b的輸出(其應該表示高級特徵的啟動映射)並決定與特定類最相關的特徵。例如,全連接層1122c層可以決定與特定類最密切相關的高級特徵,並且可以包括針對高級特徵的權重(節點)。可以計算全連接層1122c和池化隱藏層1122b的權重之間的乘積以獲得不同類的概率。例如,如果CNN 1100正被用於預測視訊訊框中的物件是人,則高值將出現在表示人的高級特徵的啟動映射中(例如,兩條腿出現,臉出現在物件的頂部,兩隻眼睛出現在臉的左上部和右上部,鼻子出現在臉的中間,嘴出現在臉的底部,及/或人共有的其他特徵)。
在一些示例中,來自輸出層1124的輸出可以包括M維向量(在先前示例中,M=10)。M指示CNN 1100在對圖像中的物件進行分類時必須從中選擇的類的數量。也可以提供其他示例輸出。M維向量之每一者數位都可以表示物件屬於某一類的概率。在一個說明性示例中,如果表示十個不同類物件的10維輸出向量是[0 0 0.05 0.8 0 0.15 0 0 0 0],則該向量指示該圖像是第三類物件(例如,狗)的概率為5%,該圖像是第四類物件(例如,人)的概率為80%,以及該圖像是第六類物件(例如,袋鼠)的概率為15%。類的概率可以被認為是物件是該類的一部分的置信水平。
圖12是示出用於實施本技術的某些態樣的系統的示例的圖。具體地,圖12示出計算系統1200的示例,其可以是例如構成內部計算系統的任何計算設備、遠端計算系統、照相機或其任何元件,在其中系統的元件使用連接1205相互通訊。連接1205可以是使用匯流排的實體連接,或者是諸如在晶片組架構中到處理器1210的直接連接。連接1205也可以是虛擬連接、網路連接或邏輯連接。
在一些實施例中,計算系統1200是分散式系統,在其中本案中描述的功能可以分佈在資料中心、多個資料中心、同級點網路等內。在一些實施例中,所描述的系統中的一或多個元件表示許多此類元件,每個元件執行針對該元件描述的部分或全部功能。在一些實施例中,元件可以是實體設備或虛擬裝置。
示例系統1200包括至少一個處理單元(CPU或處理器)1210和連接1205,該連接1205將包括系統記憶體1215(諸如唯讀記憶體(ROM)1220和隨機存取記憶體(RAM)1225)的各種系統元件耦合到處理器1210。計算系統1200可以包括高速記憶體的快取記憶體1212,該高速記憶體與處理器1210直接連接、靠近處理器1210或整合為處理器1210的一部分。
處理器1210可以包括任何通用處理器和硬體服務或軟體服務,諸如儲存在儲存裝置1230中的服務1232、1234和1236,其被配置為控制處理器1210以及其中軟體指令被納入實際處理器設計的專用處理器。處理器1210本質上可以是完全獨立的計算系統,包含多個核心或處理器、匯流排、記憶體控制器、快取記憶體等。多核心處理器可以是對稱的或不對稱的。
為了實現使用者互動,計算系統1200包括輸入裝置1245,其可以表示任意數量的輸入機制,諸如用於語音的麥克風、用於手勢或圖形輸入的觸敏螢幕、鍵盤、滑鼠、運動輸入、語音等。計算系統1200還可以包括輸出設備1235,其可以是多個輸出機制中的一或多個。在一些情況下,多模式系統可以使使用者能夠提供多種類型的輸入/輸出以與計算系統1200通訊。計算系統1200可以包括通訊介面1240,其大體上可以支配和管理使用者輸入和系統輸出。通訊介面可以使用有線及/或無線收發器來執行或促進接收及/或發送有線及/或無線通訊,包括由音訊插孔/插頭、麥克風插孔/插頭、通用序列匯流排(USB)埠/插頭、Apple® Lightning®埠/插頭、乙太網路埠/插頭、光纖埠/插頭、專用有線埠/插頭、BLUETOOTH®無線信號傳輸、BLUETOOTH®低能量(BLE)無線信號傳輸、IBEACON®無線信號傳輸、射頻辨識(RFID)無線信號傳輸、近場通訊(NFC)無線信號傳輸、專用短程通訊(DSRC)無線信號傳輸、802.11 Wi-Fi無線信號傳輸、無線區域網路(WLAN)信號傳輸、可見光通訊(VLC)、全球互通微波存取(WiMAX)、紅外(IR)通訊無線信號傳輸、公用交換電話網(PSTN)信號傳輸、整合式服務數位網路(ISDN)信號傳輸、3G/4G/5G/LTE蜂巢資料網路無線信號傳輸、自組織網路信號傳輸、無線電波信號傳輸、微波信號傳輸、紅外信號傳輸、可見光信號傳輸、紫外線光信號傳輸,沿電磁頻譜的無線信號傳輸,或其某種組合構成的那些通訊介面。通訊介面1240還可以包括一或多個全球導航衛星系統(GNSS)接收器或收發器,其用於基於從與一或多個GNSS相關聯的一或多個衛星接收一或多個信號來決定計算系統1200的位置。GNSS系統包括但不限於基於美國的全球定位系統(GPS)、基於俄羅斯的全球導航衛星系統 (GLONASS)、基於中國的北斗導航衛星系統(BDS)和基於歐洲的伽利略GNSS。對在任何特定硬體設定上的操作沒有限制,並且因此這裡的基本特徵可以很容易地被替換為改進的硬體或韌體配置,因為它們正在被開發。
儲存裝置1230可以是非揮發性及/或非暫時性及/或電腦可讀記憶體設備,並且可以是可以儲存可由電腦存取的資料的硬碟或其他類型電腦可讀取媒體,諸如磁帶盒、快閃記憶卡、固態記憶體設備、數位多功能磁片、盒式磁帶、軟碟、柔性盤、硬碟、磁帶、磁條/條帶、任何其他磁儲存媒體、快閃記憶體、憶阻器記憶體、任何其他固態記憶體、光碟唯讀記憶體(CD-ROM)光碟、可讀寫光碟(CD)光碟、數位視訊光碟(DVD)光碟、藍光光碟(BDD)光碟、全息光碟、另一種光學媒體、安全數位(SD)卡、微安全數位(microSD)卡、Memory Stick®(記憶棒®)卡、智慧卡晶片、EMV晶片、用戶身份模組(SIM)卡、迷你/微/奈米/微微SIM卡、另一種積體電路(IC)晶片/卡、隨機存取記憶體(RAM)、靜態RAM(SRAM)、動態RAM(DRAM)、唯讀記憶體(ROM)、可程式設計唯讀記憶體(PROM)、可抹除可程式設計唯讀記憶體(EPROM)、電子可抹除可程式設計唯讀記憶體(EEPROM)、快閃記憶體EPROM(FLASHEPROM)、 高速緩衝記憶體(L1/L2/L3/L4/L5/L#)、電阻隨機存取記憶體(RRAM/ReRAM)、相變儲存器(PCM)、自旋轉移矩RAM(STT-RAM)、另一種記憶體晶片或盒及/或其組合。
儲存裝置1230可以包括軟體服務、伺服器、服務等,其在由處理器1210執行定義這種軟體的代碼時使系統執行功能。在一些實施例中,執行特定功能的硬體服務可以包括儲存在電腦可讀取媒體中的軟體元件,其與必要的硬體元件(諸如處理器2610、連接2605、輸出設備2635等)連接以實現功能。
如本文所使用的,術語「電腦可讀取媒體」包括但不限於可攜式或非可攜式儲存裝置、光學儲存裝置、以及能夠儲存、包含或攜帶指令及/或資料的各種其它媒體。電腦可讀取媒體可以包括資料可以被儲存在其中並且不包括以下各項的非暫時性媒體:無線地或者在有線連接上傳播的載波及/或暫時性電子信號。非暫時性媒體的示例可以包括但不限於:磁碟或磁帶、諸如壓縮光碟(CD)或數位多功能光碟(DVD)之類的光學儲存媒體、快閃記憶體、記憶體或記憶體設備。電腦可讀取媒體可以具有被儲存在其上的代碼及/或機器可執行指令,代碼及/或機器可執行指令可以表示程序、函數、副程式、程式、常式、子常式、模組、套裝軟體、軟體組件、或者指令、資料結構或程式語句的任何組合。程式碼片段可以經由傳遞及/或接收資訊、資料、引數、參數或記憶體內容,來耦合到另一程式碼片段或硬體電路。可以經由包括記憶體共享、訊息傳遞、符記傳遞、網路傳輸等的任何適當的手段來傳遞、轉發或發送資訊、引數、參數、資料等。
在一些實施例中,電腦可讀儲存裝置、媒體和記憶體可以包括包含位元串流等的電纜或無線信號。然而,當提及時,非暫時性電腦可讀取儲存媒體明確地排除諸如能量、載波信號、電磁波和信號本身之類的媒體。
在以上描述中提供了具體細節以提供對本文提供的實施例和示例的透徹理解。然而,本領域一般技藝人士將理解的是,可以在沒有這些具體細節的情況下實施這些實施例。為瞭解釋清楚,在一些情況下,本文的技術可以被呈現為包括包含如下的功能方塊的單獨的功能方塊,這些功能方塊包括設備、設備元件、以軟體體現的方法中的步驟或常式、或者硬體和軟體的組合。除了在各圖中所示及/或本文描述的元件之外,還可以使用額外的元件。例如,電路、系統、網路、程序和其它元件可以以方塊圖形式被示為元件,以便不會在不必要的細節上模糊這些實施例。在其它情況下,公知的電路、程序、演算法、結構和技術可能被示為不具有不必要的細節,以便避免模糊這些實施例。
上文可能將各個實施例描述為程序或方法,該程序或方法被圖示為流程圖、流程示意圖、資料流圖、結構圖或方塊圖。雖然流程圖可以將操作描述為順序的程序,但是這些操作中的許多操作可以並行或同時執行。另外,可以重新排列操作的次序。程序在其操作完成後被終止,但是可能具有未被包括在圖中的額外步驟。程序可以對應於方法、函數、步驟、子常式、副程式等。當程序對應於函數時,其終止可以對應於該函數返回到調用函數或主函數。
根據上述示例的程序和方法可以使用電腦可執行指令來實施,電腦可執行指令被儲存在電腦可讀取媒體中或者以其它方式可從電腦可讀取媒體得到。此類指令可以包括例如指令或資料,指令或資料使得通用電腦、專用電腦或處理設備執行或者以其它方式將其配置為執行特定功能或特定的一組功能。可以經由網路存取所使用的電腦資源的部分。電腦可執行指令可以是例如二進位檔案、諸如組合語言之類的中間格式指令、韌體、原始程式碼等。可以用於儲存指令、所使用的資訊及/或在根據所描述的示例的方法期間建立的資訊的電腦可讀取媒體的示例包括磁碟或光碟、快閃記憶體、設置有非揮發性記憶體的USB設備、網路儲存裝置等。
實施根據這些揭露內容的程序和方法的設備可以包括硬體、軟體、韌體、仲介軟體、微代碼、硬體描述語言或其任何組合,並且可以採用多種外形尺寸中的任何一種。當用軟體、韌體、仲介軟體或微代碼來實施時,用於執行必要任務的程式碼或程式碼片段(例如,電腦程式產品)可以被儲存在電腦可讀或機器可讀取媒體中。處理器可以執行必要任務。外形尺寸的典型示例包括膝上型電腦、智慧型電話、行動電話、平板設備或其它小型外形尺寸的個人電腦、個人數位助理、機架式設備、獨立設備等。本文描述的功能還可以體現在週邊設備或外掛程式卡中。經由另外的示例,此處描述的功能還可以在單個設備中執行的不同晶片或不同程序之間的電路板上實施。
指令、用於傳送此類指令的媒體、用於執行它們的計算資源以及用於支援此類計算資源的其它結構是用於提供在本案內容中描述的功能的示例構件。
在前面的描述中,參考本案的特定實施例描述了本案的各態樣中,但是本領域技藝人士將認識到,本案不限於此。因此,儘管本文已經詳細描述了本案的說明性實施例,但是應理解的是,可以以其它方式不同地體現和採用本發明構思,並且所附的示例旨在被解釋為包括此類變型,除了由現有技術限制的變型。可以單獨地或共同地使用上述應用的各個特徵和態樣。此外,在不脫離本說明書的更寬泛的精神和範圍的情況下,實施例可以在除了本文描述的環境和應用之外的任何數量的環境和應用中使用。因此,說明書和附圖被認為是說明性的而不是限制性的。為了說明的目的,以特定次序描述了方法。應當明白的是,在替代實施例中,可以以與所描述的次序不同的次序來執行所述方法。
本領域一般技藝人士將明白的是,在不脫離本說明書的範圍的情況下,本文中使用的小於(「<」)和大於(「>」)符號或術語可以分別用小於或等於(「≦」)以及大於或等於(「≧」)符號來替換。
在將元件描述為「被配置為」執行某些操作的情況下,這種配置可以例如經由以下方式來完成:將電路或其它硬體設計為執行該操作,將可程式設計電路(例如,微處理器或其它適當的電路)程式設計為執行該操作,或其任何組合。
短語「耦合到」代表直接或間接地實體連接到另一元件的任何元件、及/或直接或間接地與另一元件通訊的任何元件(例如,經由有線或無線連接及/或其它適當的通訊介面而連接到另一元件)。
列舉集合中的「至少一個」及/或集合中的「一或多個」的請求項語言或其它語言指示該集合中的一個成員或者該集合中的多個成員(以任何組合)滿足該示例。例如,記載「A和B中的至少一個」的示例語言意指A、B、或者A和B。在另一示例中,記載「A、B和C中的至少一個」的示例語言意指A、B、C、或者A和B、或者A和C、或者B和C、或者A和B和C。語言集合中的「至少一個」及/或集合中的「一或多個」並不將該集合限制為在該集合中列出的項目。例如,記載「A和B中的至少一個」的示例語言可以意指A、B或者A和B,並且可以另外包括未在A和B的集合中列出的項目。結合本文揭露的實施例描述的各種說明性的邏輯區塊、模組、電路和演算法步驟可以被實施為電子硬體、電腦軟體、韌體或其組合。為了清楚地說明硬體和軟體的這種可互換性,上面已經對各種說明性的元件、方塊、模組、電路和步驟圍繞其功能進行了整體描述。至於這種功能被實施為硬體還是軟體取決於特定的應用和被施加在整個系統上的設計約束。技藝人士可以針對每種特定應用以不同的方式來實施所描述的功能,但是這種實施決策不應當被解釋為導致脫離本案的範圍。
本文描述的技術還可以用電子硬體、電腦軟體、韌體或其任何組合來實施。此類技術可以在各種設備中的任何一種中實施,諸如通用電腦、無線通訊設備手機或具有多種用途(包括在無線通訊設備手機和其它設備中的應用)的積體電路設備。被描述為模組或元件的任何特徵都可以在整合邏輯裝置中一起實施,或者分別作為個別但是可交互動操作的邏輯裝置來實施。如果用軟體來實施,則所述技術可以至少部分地由電腦可讀取資料儲存媒體來實現,電腦可讀取資料儲存媒體包括程式碼,程式碼包括在被執行時執行上述方法、演算法及/或操作中的一或多個方法的指令。電腦可讀取資料儲存媒體可以形成電腦程式產品的一部分,電腦程式產品可以包括包裝材料。電腦可讀取媒體可以包括記憶體或資料儲存媒體,諸如隨機存取記憶體(RAM)(諸如同步動態隨機存取記憶體(SDRAM))、唯讀記憶體(ROM)、非揮發性隨機存取記憶體(NVRAM)、電子可抹除可程式設計唯讀記憶體(EEPROM)、快閃記憶體、磁或光資料儲存媒體等。附加地或替代地,所述技術可以至少部分地由以指令或資料結構的形式攜帶或傳送程式碼並且可以由電腦存取、讀取及/或執行的電腦可讀通訊媒體(諸如傳播的信號或波)來實現。
程式碼可以由處理器執行,處理器可以包括一或多個處理器,諸如一或多個數位訊號處理器(DSP)、通用微處理器、專用積體電路(ASIC)、現場可程式設計邏輯陣列(FPGA)或其它等效的整合或個別邏輯電路。此類處理器可以被配置為執行在本案內容中描述的任何技術。通用處理器可以是微處理器,但是在替代方式中,處理器可以是任何一般的處理器、控制器、微控制器或狀態機。處理器也可以被實施為計算設備的組合,例如,DSP和微處理器的組合、複數個微處理器、一或多個微處理器與DSP核的結合、或任何其它此類配置。因此,如本文所使用的術語「處理器」可以代表任何前述結構、前述結構的任何組合、或適於實施本文描述的技術的任何其它結構或裝置。
本案的說明性態樣包括:
態樣1:一種處理視訊資料的方法,該方法包括:獲取第一視訊;使用機器學習模型決策引擎從機器學習模型的集合中決定第一機器學習模型(例如,以用於處理第一視訊的至少一部分),第一機器學習模型是基於第一視訊的至少一部分的一或多個特性決定的;及使用第一機器學習模型處理第一視訊的至少一部分。
態樣2:如態樣1之方法,還包括:基於使用第一機器學習模型處理第一視訊的至少一部分來決定第一視訊的至少一部分的類。
態樣3:如態樣1或2中任一項所述的方法,還包括:使用第一機器學習模型從第一視訊的至少一部分中提取第一一或多個特徵;使用第一補充模型處理第一一或多個特徵;及基於使用第一補充模型處理第一一或多個特徵,決定第一視訊的至少一部分的第一類。
態樣4:如態樣3中任一項所述的方法,其中:第一補充模型包括一維迴旋神經網路;第一一或多個特徵包括基於第一視訊的至少一部分的第一訊框的第一特徵向量和基於第一視訊的至少一部分的第二訊框的第二特徵向量;及第一補充模型至少從第一特徵向量和第二特徵向量產生第一視訊的至少一部分的時間資訊。
態樣5:如態樣3或4中任一項所述的方法,其中第一補充模型包括多層感知器。
態樣6:如態樣3至5中任一項所述的方法,其中第一補充模型包括圖迴旋網路。
態樣7:如態樣3至6中任一項所述的方法,其中第一補充模型包括非局部模型。
態樣8:如態樣1至7中任一項所述的方法,還包括:使用機器學習模型決策引擎從機器學習模型的集合中決定第二機器學習模型,第二機器學習模型是基於第一視訊的至少另一部分的一或多個特性決定的;及使用第二機器學習模型處理第一視訊的至少另一部分。
態樣9:如態樣8之方法,還包括:使用第二機器學習模型從第一視訊的至少另一部分提取第二一或多個特徵;使用第二補充模型處理第二一或多個特徵;及基於使用第二補充模型處理第二一或多個特徵,決定第一視訊的至少另一部分的第二類。
態樣10:如態樣1至9中任一項所述的方法,其中第一機器學習模型包括二維CNN。
態樣11:如態樣10之方法,其中2D CNN在兩個空間維度中從第一視訊的至少一部分提取第一一或多個特徵。
態樣12:如態樣1至11中任一項所述的方法,其中第一機器學習模型包括三維(3D)CNN。
態樣13:如態樣12之方法,其中3D CNN在兩個空間維度和時間維度中從第一視訊的至少一部分提取第一一或多個特徵。
態樣14:如態樣1至13中任一項所述的方法,還包括:獲取第二視訊;使用機器學習模型決策引擎從機器學習模型的集合中決定第二機器學習模型,第二機器學習模型是基於第二視訊的至少一部分的一或多個特性決定的;使用第二機器學習模型處理第二視訊的至少一部分。
態樣15:如態樣1至14中任一項所述的方法,還包括:與從該機器學習模型的集合中決定用於處理第一視訊的至少一部分的第一機器學習模型並行地使用第一機器學習模型從第一視訊的至少一部分中提取第一一或多個特徵。在一些情況下,機器學習模型決策引擎與第一機器學習模型共享共用神經網路。
態樣16:如態樣1至15中任一項所述的方法,其中第一視訊的至少一部分的一或多個特性包括空間和時間特性。
態樣17:如態樣1至16中任一項所述的方法,其中第一視訊的至少一部分的一或多個特性包括音訊特性。
態樣18:一種用於處理視訊資料的裝置,包括:記憶體;一或多個處理器,其耦合到記憶體,一或多個處理器被配置為:獲取第一視訊;使用機器學習模型決策引擎從機器學習模型的集合中決定第一機器學習模型(例如,以用於處理第一視訊的至少一部分),第一機器學習模型是基於第一視訊的至少一部分的一或多個特性決定的;及使用第一機器學習模型處理第一視訊的至少一部分。
態樣19:如態樣18之裝置,其中一或多個處理器被配置為:基於使用第一機器學習模型處理第一視訊的至少一部分來決定第一視訊的至少一部分的類。
態樣20:如態樣19或20中任一項所述的裝置,其中一或多個處理器被配置為:使用第一機器學習模型從第一視訊的至少一部分中提取第一一或多個特徵;使用第一補充模型處理第一一或多個特徵;及基於使用第一補充模型處理第一一或多個特徵,決定第一視訊的至少一部分的第一類。
態樣21:如態樣20之裝置,其中:第一補充模型包括一維迴旋神經網路;第一一或多個特徵包括基於第一視訊的至少一部分的第一訊框的第一特徵向量和基於第一視訊的至少一部分的第二訊框的第二特徵向量;及第一補充模型至少從第一特徵向量和第二特徵向量產生第一視訊的至少一部分的時間資訊。
態樣22:如態樣20或21中任一項所述的裝置,其中第一補充模型包括多層感知器。
態樣23:如態樣20至22中任一項所述的裝置,其中第一補充模型包括圖迴旋網路。
態樣24:如態樣20至23中任一項所述的裝置,其中第一補充模型包括非局部模型。
態樣25:如態樣18至24中任一項所述的裝置,其中一或多個處理器被配置為:使用機器學習模型決策引擎從機器學習模型的集合中決定第二機器學習模型,第二機器學習模型是基於第一視訊的至少另一部分的一或多個特性決定的;及使用第二機器學習模型處理第一視訊的至少另一部分。
態樣26:如態樣25之裝置,其中一或多個處理器被配置為:使用第二機器學習模型從第一視訊的至少另一部分提取第二一或多個特徵;使用第二補充模型處理第二一或多個特徵;及基於使用第二補充模型處理第二一或多個特徵,決定第一視訊的至少另一部分的第二類。
態樣27:如態樣18至26中任一項所述的裝置,其中第一機器學習模型包括二維CNN。
態樣28:如態樣27之裝置,其中2D CNN在兩個空間維度中從第一視訊的至少一部分提取第一一或多個特徵。
態樣29:如態樣18至28中任一項所述的裝置,其中第一機器學習模型包括三維(3D)CNN。
態樣30:如態樣29之裝置,其中3D CNN在兩個空間維度和時間維度中從第一視訊的至少一部分提取第一一或多個特徵。
態樣31:如態樣18至30中任一項所述的裝置,其中一或多個處理器被配置為:獲取第二視訊;使用機器學習模型決策引擎從機器學習模型的集合中決定第二機器學習模型,第二機器學習模型是基於第二視訊的至少一部分的一或多個特性決定的;及使用第二機器學習模型處理第二視訊的至少一部分。
態樣32:如態樣18至31中任一項所述的裝置,其中機器學習模型決策引擎與第一機器學習模型共享共用神經網路,並且其中一或多個處理器被配置為:與從該機器學習模型的集合中決定用於處理第一視訊的至少一部分的第一機器學習模型並行地使用第一機器學習模型從第一視訊的至少一部分中提取第一一或多個特徵。
態樣33:如態樣18至32中任一項所述的裝置,其中第一視訊的至少一部分的一或多個特性包括空間和時間特性。
態樣34:如態樣18至33中任一項所述的裝置,其中第一視訊的至少一部分的一或多個特性包括音訊特性。
態樣35:一種其上儲存有指令的非暫時性電腦可讀取儲存媒體,該等指令在由一或多個處理器執行時使一或多個處理器執行態樣1至34之任何操作。
態樣36:一種裝置,包括用於執行態樣1至34的任何操作的構件。
100:整體視訊理解系統
102:視訊擷取器
104:儲存裝置
106:模型決策引擎
108:特徵提取模型
110:補充模型
112:輸出分類器
210:組合特徵向量
211:選擇的迴旋濾波器
212:組合特徵向量
213:選擇的迴旋濾波器
214:組合特徵向量
215:選擇的迴旋濾波器
216:新特徵向量
217:黑色立方體
221:箭頭
223:箭頭
225:箭頭
227:箭頭
300:整體視訊理解系統
302:處理輸入視訊
306:模型決策引擎
312:分類器
313:視訊處理模型
313A:視訊處理模型
313B:視訊處理模型
313M:視訊處理模型
400:整體視訊理解系統
402:輸入視訊
406:模型決策引擎
408:特徵提取模型
410:補充模型
412:分類器
429:特徵提取部分
431:第一特徵提取模型
433:第二特徵提取模型
435:第一補充模型
437:第二補充模型
439:第三補充模型
500:整體視訊理解系統
502:輸入視訊
506:模型決策引擎
508:特徵提取模型
510:補充模型
511:組合器
512:分類器
541:特徵提取模型
543:補充模型
545:補充模型
547:輸出
549:輸出
600:整體視訊理解系統
602:輸入視訊
606:模型決策引擎
608A:特徵提取模型
608B:特徵提取模型
610:補充模型
611:組合器
612:分類器
651:模型決策引擎
653:補充模型
655:補充模型
657:補充模型
659:補充模型
700:整體視訊理解系統
702:輸入視訊
708A:第一特徵提取模型
708B:第二特徵提取模型
710:補充模型
711:組合器
712:分類器
753:第一補充模型
755:第二補充模型
757:第三補充模型
759:第四補充模型
830:資料點
836A:資料點
836B:資料點
836C:資料點
836D:資料點
836E:資料點
836F:資料點
836G:資料點
900:程序
902:方塊
904:方塊
906:方塊
1000:深度學習神經網路
1020:輸入層
1021:輸出層
1022a:隱藏層
1022b:隱藏層
1022c:隱藏層
1022n:隱藏層
1026:節點
1200:計算系統
1205:連接
1210:處理器
1212:快取記憶體
1215:系統記憶體
1220:唯讀記憶體(ROM)
1225:隨機存取記憶體(RAM)
1230:儲存裝置
1232:服務
1234:服務
1235:服務
1236:服務
1240:通訊介面
1245:輸入裝置
下面參考附圖詳細地描述本案的示例性實施例:
圖1是根據一些示例示出示例整體視訊理解系統的方塊圖;
圖2A至圖2D是根據一些示例示出一維迴旋濾波器的示例操作的圖;
圖3是根據一些示例示出整體視訊理解系統的示例的方塊圖;
圖4是根據一些示例示出整體視訊理解系統的另一示例的方塊圖;
圖5是根據一些示例示出整體視訊理解系統的另一示例的方塊圖;
圖6是根據一些示例示出整體視訊理解系統的另一示例的方塊圖;
圖7是根據一些示例示出整體視訊理解系統的另一示例的方塊圖;
圖8是根據一些示例示出示例整體視訊理解系統的效能的曲線圖;
圖9是根據一些示例示出用於處理視訊資料的程序的示例的流程圖;
圖10是根據一些示例示出深度學習網路的示例的方塊圖;
圖11是根據一些示例示出迴旋神經網路的示例的方塊圖;和
圖12是示出用於實施本文描述的某些態樣的計算系統的示例的圖。
國內寄存資訊(請依寄存機構、日期、號碼順序註記)
無
國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記)
無
100:整體視訊理解系統
102:視訊擷取器
104:儲存裝置
106:模型決策引擎
108:特徵提取模型
110:補充模型
112:輸出分類器
Claims (30)
- 一種用於處理視訊資料的裝置,包括: 一記憶體; 一或多個處理器,其耦合到該記憶體,該一或多個處理器被配置為: 獲取一第一視訊; 使用一機器學習模型決策引擎,基於該第一視訊的至少一部分,提取第一複數個特徵; 基於該第一複數個特徵,使用該機器學習模型決策引擎從包括至少一第一機器學習模型及一第二機器學習模型的一機器學習模型集合中決定該第一機器學習模型,該第一機器學習模型具有不同於該第二機器學習模型的神經網路架構,該第一機器學習模型是基於該第一複數個特徵的一或多個特性決定的; 使用該第一機器學習模型,基於該第一視訊的至少該部分,提取第二複數個特徵,其中該第二複數個特徵包括從該第一視訊的該部分的一第一訊框提取的一第一特徵,以及從該第一視訊的該部分的一第二訊框提取的一第二特徵,其中該第二訊框不同於該第一訊框;及 處理該第二複數個特徵。
- 如請求項1所述之裝置,其中該一或多個處理器被配置為: 基於處理該第二複數個特徵來決定該第一視訊的至少該部分的一類。
- 如請求項1所述之裝置,其中該一或多個處理器被配置為: 使用一第一補充模型處理該第二複數個特徵;及 基於使用該第一補充模型處理該第二複數個特徵,決定該第一視訊的至少該部分的一第一類。
- 如請求項3所述之裝置,其中 該第一補充模型包括一一維迴旋神經網路(CNN); 該第二複數個特徵包括基於該第一視訊的至少該部分的一第一訊框的一第一特徵向量和基於該第一視訊的至少該部分的一第二訊框的一第二特徵向量;及 該第一補充模型至少從該第一特徵向量和該第二特徵向量產生該第一視訊的至少該部分的時間資訊。
- 如請求項3所述之裝置,其中該第一補充模型包括一多層感知器。
- 如請求項3所述之裝置,其中該第一補充模型包括一圖迴旋網路。
- 如請求項3所述之裝置,其中該第一補充模型包括一非局部模型。
- 如請求項1所述之裝置,其中該一或多個處理器被配置為: 使用該機器學習模型決策引擎,基於該第一視訊的至少另一部分,提取第三複數個特徵; 基於該第三複數個特徵,使用該機器學習模型決策引擎從該機器學習模型集合中決定該第二機器學習模型,該第二機器學習模型是基於該第三複數個特徵的一或多個特性決定的; 使用該第二機器學習模型,基於該第一視訊的該至少另一部分,提取第四複數個特徵;及 處理該第四複數個特徵。
- 如請求項8所述之裝置,其中該一或多個處理器被配置為: 使用一補充模型處理該第四複數個特徵;及 基於使用該第二補充模型處理該第四複數個特徵,決定該第一視訊的該至少另一部分的一第二類。
- 如請求項1所述之裝置,其中該第一機器學習模型包括一二維(2D) CNN。
- 如請求項10所述之裝置,其中該2D CNN在兩個空間維度中從該第一視訊的至少該部分提取第一一或多個特徵。
- 如請求項1所述之裝置,其中該第一機器學習模型包括一三維(3D) CNN。
- 如請求項12所述之裝置,其中該3D CNN在兩個空間維度和時間維度中從該第一視訊的至少該部分提取第一一或多個特徵。
- 如請求項1所述之裝置,其中該一或多個處理器被配置為: 獲取一第二視訊; 使用該機器學習模型決策引擎,基於該第二視訊的至少一部分,提取第三複數個特徵; 基於該第三複數個特徵,使用該機器學習模型決策引擎從該機器學習模型集合中決定一第二機器學習模型,該第三機器學習模型具有不同於該第一機器學習模型及該第二機器學習模型的架構,該第三機器學習模型是基於該第三複數個特徵的一或多個特性決定的; 使用該第三機器學習模型,基於該第二視訊的至少該部分,提取第四複數個特徵;及 處理該第四複數個特徵。
- 如請求項1所述之裝置,其中該機器學習模型決策引擎與該第一機器學習模型共享共用神經網路架構,並且其中該一或多個處理器被配置為: 與從該機器學習模型集合中決定用於處理該第一視訊的至少該部分的該第一機器學習模型並行地使用該第一機器學習模型從該第一視訊的至少該部分中提取該第二複數個特徵。
- 如請求項1所述之裝置,其中該第一複數個特徵的一或多個特性包括空間和時間特性。
- 如請求項1所述之裝置,其中該第一視訊的至少該部分的一或多個特性包括音訊特性。
- 一種處理視訊資料的方法,該方法包括以下步驟: 獲取一第一視訊; 使用一機器學習模型決策引擎,基於該第一視訊的至少一部分,提取第一複數個特徵; 基於該第一複數個特徵,使用該機器學習模型決策引擎從包括至少一第一機器學習模型及一第二機器學習模型的一機器學習模型的集合中決定該第一機器學習模型,該第一機器學習模型具有不同於該第二機器學習模型的神經網路架構,該第一機器學習模型是基於該第一複數個特徵的一或多個特性決定的; 使用該第一機器學習模型,基於該第一視訊的至少該部分,提取第二複數個特徵,其中該第二複數個特徵包括從該第一視訊的該部分的一第一訊框提取的一第一特徵,以及從該第一視訊的該部分的一第二訊框提取的一第二特徵,其中該第二訊框不同於該第一訊框;及 處理該第二複數個特徵。
- 如請求項18所述之方法,還包括以下步驟:基於處理該第二複數個特徵來決定該第一視訊的至少該部分的一類。
- 如請求項18所述之方法,還包括以下步驟: 使用一第一補充模型處理該第二複數個特徵;及 基於使用該第一補充模型處理該第二複數個特徵,決定該第一視訊的至少該部分的一第一類。
- 如請求項20所述之方法,其中: 該第一補充模型包括一一維CNN; 該第二複數個特徵包括基於該第一視訊的一第一訊框的一第一特徵向量和基於該第一視訊的一第二訊框的一第二特徵向量;及 該第一補充模型至少從該第一特徵向量和該第二特徵向量產生該第一視訊的至少該部分的時間資訊。
- 如請求項18所述之方法,還包括以下步驟: 使用該機器學習模型決策引擎,基於該第一視訊的至少另一部分,提取第三複數個特徵; 基於該第三複數個特徵,使用該機器學習模型決策引擎從該機器學習模型集合中決定該第二機器學習模型,該第二機器學習模型是基於該第三複數個特徵的一或多個特性決定的; 使用該第二機器學習模型,基於該第一視訊的該至少另一部分,提取第四複數個特徵;及 處理該第四複數個特徵。
- 如請求項22所述之方法,還包括以下步驟: 使用一補充模型處理該第四複數個特徵;及 基於使用該補充模型處理該第四複數個特徵,決定該第一視訊的該至少另一部分的一第二類。
- 如請求項18所述之方法,還包括以下步驟:與從該機器學習模型的集合中決定用於處理該第一視訊的至少該部分的該第一機器學習模型並行地使用該第一機器學習模型從該第一視訊的至少該部分中提取該第二複數個特徵,其中該機器學習模型決策引擎與該第一機器學習模型共享共用神經網路架構。
- 如請求項18所述之方法,其中該第一機器學習模型包括一2D CNN。
- 如請求項25所述之方法,其中該2D CNN在兩個空間維度中從該第一視訊的至少該部分提取第一一或多個特徵。
- 如請求項18所述之方法,其中該第一機器學習模型包括一3D CNN。
- 如請求項18所述之方法,還包括以下步驟: 獲取一第二視訊; 使用該機器學習模型決策引擎,基於該第二視訊的至少一部分,提取第三複數個特徵; 基於該第三複數個特徵,使用該機器學習模型決策引擎從該機器學習模型集合中決定一第二機器學習模型,該第三機器學習模型具有不同於該第一機器學習模型及該第二機器學習模型的架構,該第三機器學習模型是基於該第三複數個特徵的一或多個特性決定的; 使用該第三機器學習模型,基於該第二視訊的至少該部分,提取第四複數個特徵;及 處理該第四複數個特徵。
- 如請求項18所述之方法,其中該第一複數個特徵的一或多個特性包括空間和時間特性。
- 如請求項18所述之方法,其中該第一複數個特徵的一或多個特性包括音訊特性。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/219,460 US11842540B2 (en) | 2021-03-31 | 2021-03-31 | Adaptive use of video models for holistic video understanding |
| US17/219,460 | 2021-03-31 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202240451A TW202240451A (zh) | 2022-10-16 |
| TWI915501B true TWI915501B (zh) | 2026-02-21 |
Family
ID=80447671
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW111103976A TWI915501B (zh) | 2021-03-31 | 2022-01-28 | 用於整體視訊理解的視訊模型的自適應使用 |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US11842540B2 (zh) |
| EP (1) | EP4315273A1 (zh) |
| JP (1) | JP2024511932A (zh) |
| KR (1) | KR20230163382A (zh) |
| CN (1) | CN116997938B (zh) |
| BR (1) | BR112023019163A2 (zh) |
| TW (1) | TWI915501B (zh) |
| WO (1) | WO2022211891A1 (zh) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12249134B2 (en) * | 2020-04-17 | 2025-03-11 | Roxy Corp. | Visualization method, program for the same, visualization device, and discrimination device having the same |
| JP6800453B1 (ja) * | 2020-05-07 | 2020-12-16 | 株式会社 情報システムエンジニアリング | 情報処理装置及び情報処理方法 |
| CN116710972A (zh) * | 2020-11-20 | 2023-09-05 | 直观外科手术操作公司 | 用于外科手术识别的系统和方法 |
| US20220414482A1 (en) * | 2021-06-29 | 2022-12-29 | Sap Se | Visual question answering with knowledge graphs |
| CN114282059B (zh) * | 2021-08-24 | 2025-01-10 | 腾讯科技(深圳)有限公司 | 视频检索的方法、装置、设备及存储介质 |
| US20240397043A1 (en) * | 2021-09-29 | 2024-11-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Efficient transmission of decoding information |
| TWI800034B (zh) * | 2021-10-14 | 2023-04-21 | 財團法人工業技術研究院 | 基於多模態資料進行辨識的方法、電子裝置及電腦可讀儲存媒體 |
| US20240211802A1 (en) * | 2022-12-22 | 2024-06-27 | Lumana Inc. | Hybrid machine learning architecture for visual content processing and uses thereof |
| KR102749990B1 (ko) | 2023-02-16 | 2025-01-03 | 쿠팡 주식회사 | 영상 컨텐츠에 대응하는 태그 정보를 생성하기 위한 방법 및 전자 장치 |
| US20250086956A1 (en) * | 2023-09-13 | 2025-03-13 | Qualcomm Incorporated | Multi-view convolutional neural networks for video processing |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200202167A1 (en) | 2018-12-20 | 2020-06-25 | Here Global B.V. | Dynamically loaded neural network models |
| US20200234411A1 (en) | 2017-04-07 | 2020-07-23 | Intel Corporation | Methods and systems using camera devices for deep channel and convolutional neural network images and formats |
| TW202032400A (zh) | 2019-02-26 | 2020-09-01 | 大陸商騰訊科技(深圳)有限公司 | 圖像融合的方法、模型訓練的方法以及相關裝置 |
| TW202044196A (zh) | 2019-05-22 | 2020-12-01 | 南韓商三星電子股份有限公司 | 影像處理裝置以及其影像處理方法 |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102982351A (zh) * | 2012-11-15 | 2013-03-20 | 河北省电力公司电力科学研究院 | 基于bp神经网络的瓷绝缘子振动声学检测数据分类方法 |
| KR20180057409A (ko) | 2016-11-22 | 2018-05-30 | 박진수 | 오디오 신호 기반의 영상 분류 방법 및 영상 분류 장치 |
| US11568325B2 (en) * | 2017-05-16 | 2023-01-31 | Sony Interactive Entertainment Inc. | Learning apparatus, estimation apparatus, learning method, and program |
| JP2019079114A (ja) * | 2017-10-20 | 2019-05-23 | キヤノン株式会社 | 画像処理装置、画像処理方法およびプログラム |
| JP7190842B2 (ja) * | 2017-11-02 | 2022-12-16 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法及びプログラム |
| US10796152B2 (en) * | 2018-09-21 | 2020-10-06 | Ancestry.Com Operations Inc. | Ventral-dorsal neural networks: object detection via selective attention |
| SG11202103499PA (en) * | 2018-10-15 | 2021-05-28 | Asanuma Holdings Co Ltd | Event management system |
| CN109871828B (zh) * | 2019-03-15 | 2022-12-02 | 京东方科技集团股份有限公司 | 视频识别方法和识别装置、存储介质 |
| CN111046232B (zh) * | 2019-11-30 | 2024-06-14 | 北京达佳互联信息技术有限公司 | 一种视频分类方法、装置及系统 |
| US11663815B2 (en) * | 2020-03-27 | 2023-05-30 | Infosys Limited | System and method for inspection of heat recovery steam generator |
| CN111967346A (zh) * | 2020-07-28 | 2020-11-20 | 北京大米科技有限公司 | 一种视频数据处理的方法、装置及电子设备 |
| CN111708913B (zh) * | 2020-08-19 | 2021-01-08 | 腾讯科技(深圳)有限公司 | 一种标签生成方法、设备及计算机可读存储介质 |
-
2021
- 2021-03-31 US US17/219,460 patent/US11842540B2/en active Active
-
2022
- 2022-01-27 EP EP22704215.7A patent/EP4315273A1/en active Pending
- 2022-01-27 CN CN202280022436.3A patent/CN116997938B/zh active Active
- 2022-01-27 KR KR1020237031370A patent/KR20230163382A/ko active Pending
- 2022-01-27 JP JP2023552087A patent/JP2024511932A/ja active Pending
- 2022-01-27 WO PCT/US2022/014137 patent/WO2022211891A1/en not_active Ceased
- 2022-01-27 BR BR112023019163A patent/BR112023019163A2/pt unknown
- 2022-01-28 TW TW111103976A patent/TWI915501B/zh active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200234411A1 (en) | 2017-04-07 | 2020-07-23 | Intel Corporation | Methods and systems using camera devices for deep channel and convolutional neural network images and formats |
| US20200202167A1 (en) | 2018-12-20 | 2020-06-25 | Here Global B.V. | Dynamically loaded neural network models |
| TW202032400A (zh) | 2019-02-26 | 2020-09-01 | 大陸商騰訊科技(深圳)有限公司 | 圖像融合的方法、模型訓練的方法以及相關裝置 |
| TW202044196A (zh) | 2019-05-22 | 2020-12-01 | 南韓商三星電子股份有限公司 | 影像處理裝置以及其影像處理方法 |
Non-Patent Citations (5)
| Title |
|---|
| 網路文獻 Ali Javidani等2人 Learning Representative Temporal Features for Action Recognition arXiv 2018/02/19 https://arxiv.org/abs/1802.06724v1 |
| 網路文獻 Haiman Tian等2人 MCA-NN: Multiple Correspondence Analysis Based Neural Network for Disaster Information Detection BigMM 2017/07/03 https://ieeexplore.ieee.org/document/7966759 |
| 網路文獻 Xiaolong Wang等4人 Non-local Neural Networks CVPR 2018/04/13 https://openaccess.thecvf.com/content_cvpr_2018/html/Wang_Non-Local_Neural_Networks_CVPR_2018_paper.html |
| 網路文獻 Yudong Jiang等4人 Comprehensive Video Understanding: Video summarization with content-based video recommender design ICCVW 2020/03/05 https://ieeexplore.ieee.org/document/9022179 |
| 網路文獻 Zijian Kuang等2人 Improved Actor Relation Graph based Group Activity Recognition arXiv 2020/12/29 https://arxiv.org/abs/2010.12968 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4315273A1 (en) | 2024-02-07 |
| CN116997938B (zh) | 2026-04-07 |
| US11842540B2 (en) | 2023-12-12 |
| JP2024511932A (ja) | 2024-03-18 |
| KR20230163382A (ko) | 2023-11-30 |
| TW202240451A (zh) | 2022-10-16 |
| CN116997938A (zh) | 2023-11-03 |
| WO2022211891A1 (en) | 2022-10-06 |
| BR112023019163A2 (pt) | 2023-10-17 |
| US20220318553A1 (en) | 2022-10-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN116997938B (zh) | 用于整体视频理解的视频模型的自适应使用 | |
| CN116235209B (zh) | 稀疏光流估计 | |
| KR102725963B1 (ko) | 조밀한 추정을 위한 상관적 특성화를 이용한 체적 샘플링 | |
| US12602942B2 (en) | Model fine-tuning for automated augmented reality descriptions | |
| US12585888B2 (en) | Automatically generating descriptions of augmented reality effects | |
| CN107851191A (zh) | 用于图像中的对象检测的基于上下文的先验 | |
| US12236614B2 (en) | Scene segmentation and object tracking | |
| TW202441464A (zh) | 生成語意地加標籤的三維模型 | |
| WO2024249060A1 (en) | Text-to-image diffusion model rearchitecture | |
| US20250232451A1 (en) | Detecting moving objects | |
| US20250356671A1 (en) | Personalized open-vocabulary semantic segmentation for images | |
| WO2024002534A1 (en) | Method and system of selecting one or more images for human labelling | |
| US12154550B2 (en) | Electronic apparatus and control method thererof | |
| WO2026081068A1 (en) | Audio-driven three-dimensional (3d) facial animation | |
| US20260099683A1 (en) | Memory-efficient draft machine learning model | |
| WO2025239984A1 (en) | Personalized open-vocabulary semantic segmentation | |
| Zou et al. | MCC-YOLO: An Improved Underwater Object Detection Algorithm Based on YOLO11 | |
| Fadhil et al. | Smartphone-based object recognition application for educational engagement | |
| WO2025260799A1 (zh) | 视频生成方法和相关装置 | |
| TW202601562A (zh) | 將調適器用於參數高效變換器模型 | |
| CN121816586A (zh) | 用于机器学习系统的多任务门控 | |
| WO2026059646A1 (en) | Hybrid forward-backward model training | |
| WO2024177851A1 (en) | Dynamic temporal fusion for video recognition | |
| CN115497020A (zh) | 一种目标检测方法、装置及设备 |