TWI794414B - 用於使用深度感測器進行即時物件偵測的系統和方法 - Google Patents

用於使用深度感測器進行即時物件偵測的系統和方法 Download PDF

Info

Publication number
TWI794414B
TWI794414B TW108105640A TW108105640A TWI794414B TW I794414 B TWI794414 B TW I794414B TW 108105640 A TW108105640 A TW 108105640A TW 108105640 A TW108105640 A TW 108105640A TW I794414 B TWI794414 B TW I794414B
Authority
TW
Taiwan
Prior art keywords
depth
object detection
data
training
convolutional neural
Prior art date
Application number
TW108105640A
Other languages
English (en)
Other versions
TW201944283A (zh
Inventor
尼祿普 喬何瑞 米頓
席哈裘 慕妮
查爾斯 謝爾頓
Original Assignee
德商羅伯特博斯奇股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 德商羅伯特博斯奇股份有限公司 filed Critical 德商羅伯特博斯奇股份有限公司
Publication of TW201944283A publication Critical patent/TW201944283A/zh
Application granted granted Critical
Publication of TWI794414B publication Critical patent/TWI794414B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

本發明記載一種基於深度之物件偵測卷積神經網路。本文中所描述的該基於深度之物件偵測卷積神經網路併有一基礎網路及額外結構。該基礎網路經組態以接收經格式化為RGB影像資料之一深度影像作為輸入,並計算指示該RGB影像資料中之一物件之至少一個特徵的輸出資料。該額外結構經組態以接收該基礎網路之該輸出資料作為輸入,並計算包括該物件之該所接收深度影像中的一區域之位置的預測及該物件之一類別的預測作為輸出。併有該基於深度之物件偵測卷積神經網路的一物件偵測器件可使用一嵌入式GPU進行即時操作。

Description

用於使用深度感測器進行即時物件偵測的系統和方法
記載於此文件中的方法及系統係關於使用人工神經網路之物件偵測,且更明確而言係關於評估深度感測器資料之卷積神經網路。
〔相關申請案〕
本申請案主張於2018年2月21日申請的美國臨時申請案第62/633,202號之優先權益,其之記載內容以全文引用方式併入本文中。
除非本文中另外指示,否則於此章節中之所述材料並非本申請案中之申請專利範圍的先前技術,且不因包括於此章節中而被認為先前技術。
物件偵測係電腦視覺中之基本問題。不同於影像分類(其涉及將影像作為整體分類),物件偵測係涉及識別及定位影像內之物件的更具有挑戰性的任務。對於此問題之傳統電腦視覺方法通常偵測影像中之經預定與物件對應的特徵(諸如特定色彩、形狀、直方圖、梯度、色彩向量等),並基於此偵測將影像之區域識別為物件。然而,現代技術通常利用機器學習以便在不先驗地瞭解用以識別特定物件之特徵情況下識別及定位物件。
歸功於經分類影像之大資料集的可取用性及強大計算基礎架構之可取用性,卷積神經網路(Convolutional Neural Network;CNN)對於此問 題已達到目前先進技術結果。CNN自訓練影像自動地提取可辨別特徵並組合地使用其以識別物件。此使得CNN能夠針對大規模資料集(諸如ImageNet)顯著勝過傳統電腦視覺方法,此係因為傳統電腦視覺方法通常依賴於啟發式特徵。
若干現代物件偵測技術利用至少部分經訓練用於影像分類且爾後經微調用於偵測物件的CNN。此等技術通常需要相當大量的計算能力,用於訓練CNN及用於使用經訓練CNN來評估輸入影像兩者。另外,可減小所需要計算能力之折衷方式通常嚴重影響偵測之準確度。結果,可「即時」執行(亦即能夠評估每秒多個影像訊框)的物件偵測技術通常歸因於所需要計算能力而成本過高,太不準確以致不能提供有意義結果,或前述兩者。
已進行大量努力以增加基於CNN之物件偵測技術的準確度。在一個實例中,CNN係運用包括與深度影像配對之傳統紅色-綠色-藍色(RGB)影像的資料集來訓練。深度影像為其中每一像素之強度表示自深度感測器至所偵測表面之距離的影像。此處,「配對」意謂來自同一視角之同一目標的RGB影像及深度影像,以使得深度影像之每一像素位置直接對應於所配對RGB影像之像素位置。當訓練CNN時,深度影像充當額外資料通道,且使通常存在於RGB影像中之像素雜訊平滑。雖然此使像素雜訊平滑可增加物件偵測之準確度,但此等CNN仍需要可觀的計算能力來操作。另外,包括RGB影像及深度影像之配對的訓練資料之要求顯著增加構建此類型CNN的難度及費用。
因此,可即時操作的物件偵測技術將係有益的。展現減小計算能力需求之技術亦將係有益的。不需要複雜訓練資料之技術亦將係有益的。
一種用於構建基於深度之物件偵測卷積神經網路之方法包括在記憶體中儲存對應於卷積神經網路之資料及程式指令。資料及程式指令包括基 礎網路及額外結構。基礎網路經組態以接收RGB影像資料作為輸入,且計算指示所接收RGB影像資料中之物件之至少一個特徵的輸出資料,該基礎網路經預先訓練以使用RGB影像資料集來計算特徵偵測。額外結構經組態以接收基礎網路之輸出資料作為輸入並計算包括物件之所接收RGB影像中之區域的位置之預測及物件的類別之預測,使得物件偵測卷積神經網路經組態以接收RGB測試影像資料作為輸入並計算預測作為輸出。該方法進一步包括在記憶體中儲存用於訓練深度影像之資料集。深度影像中之每一者包括將各別深度影像之區域定位成含有訓練物件並識別訓練物件之類別的至少一個註解。該方法進一步包括藉由將訓練深度影像之資料集中的每一影像重新格式化為RGB影像而產生用於物件偵測卷積神經網路之訓練資料集。該方法進一步包括運用處理器以使用訓練資料集訓練物件偵測卷積神經網路來形成基於深度之物件偵測卷積神經網路,該基於深度之物件偵測卷積神經網路經組態以接收經格式化為RGB影像資料之深度影像作為輸入,並計算包括測試物件的所接收深度影像中之區域的位置之預測及測試物件的類別之預測作為輸出。
在一些具體實例中,記憶體包括用於訓練深度影像之資料集中的每一影像之複雜性量度,該複雜性量度指示各別影像之特徵複雜性。該處理器經組態以根據藉由升高複雜性量度來定序在該訓練資料集內之影像的課程而將該訓練資料集引入至該物件偵測卷積神經網路。
在一些具體實例中,訓練資料集經分段成第一批次及第二批次,使得第一批次之複雜性量度高於第二批次之複雜性量度。該課程包括使用該訓練資料集之該第一批次來訓練該物件偵測卷積神經網路,及接著使用該訓練資料集之該第一批次及該第二批次來訓練該物件偵測卷積神經網路。
在一些具體實例中,物件偵測卷積神經網路包括分佈在一序列層中的複數個卷積濾波器。該複數個卷積濾波器中之每一卷積濾波器經組態以 接收輸入資料並藉由對於輸入資料卷積各別權重矩陣以計算卷積輸出資料。該序列層中之每一層經組態以接收輸入資料,並計算藉由該層中之每一濾波器的輸出資料之組合所形成的輸出資料。基礎網路包括該序列層之第一子集,且額外結構包括該序列層之第二子集。
在一些具體實例中,該序列層之第二部分包括複數個特徵映射層。每一特徵映射層具有不同維度,並經組態以針對對應於特徵映射層之各別維度的尺度之特徵映射層來偵測輸入資料中的特徵。該複數個特徵映射層按下降維度之次序而配置於該序列層內。
在一些具體實例中,額外結構進一步包括後處理區塊。後處理區塊經組態以接收來自每一特徵映射層之輸出資料,自由複數個特徵映射層所偵測的特徵之中來選擇具有與特定分類之物件的相對最高對應關係的特定特徵,基於特徵之位置來計算物件之位置,及輸出物件之位置及分類。
在一些具體實例中,方法進一步包括在訓練物件偵測卷積神經網路之後,識別複數個卷積濾波器中之至少一者,其具有以下情況中之至少一者:(i)為複數個卷積濾波器中之另一者的至少部分冗餘;及(ii)對物件偵測卷積神經網路之輸出具有低於預定臨限值的影響。該方法進一步包括修改對應於基於深度之物件偵測卷積神經網路的資料及程式指令以自基於深度之物件偵測卷積神經網路中消除所識別至少一個濾波器。
在一些具體實例中,該方法進一步包括在自基於深度之物件偵測卷積神經網路中消除所識別至少一個濾波器之後,運用處理器以使用訓練資料集來訓練基於深度之物件偵測卷積神經網路。
在一些具體實例中,當訓練物件偵測卷積神經網路時,基礎網路中之序列層的第一部分內之濾波器之權重矩陣經凍結,且當訓練基於深度之物件偵測卷積神經網路時,基於深度之物件偵測卷積神經網路內的所有濾波器 之權重矩陣經解凍。
用於構建基於深度之物件偵測卷積神經網路的系統包括資料儲存器件,及可操作地連接至該資料儲存器件的至少一個處理器。資料儲存器件經組態以儲存訓練深度影像之資料集,以及對應於物件偵測卷積神經網路之資料及程式指令,該物件偵測卷積神經網路包括基礎網路及額外結構。基礎網路經組態以接收RGB影像資料作為輸入,且計算指示所接收RGB影像資料中之物件之至少一個特徵的輸出資料,該基礎網路經預先訓練以使用RGB影像資料集來計算特徵偵測。額外結構經組態以接收基礎網路之輸出資料作為輸入,並計算包括物件之所接收RGB影像中之區域的位置之預測及物件的類別之預測,使得物件偵測卷積神經網路經組態以接收RGB測試影像資料作為輸入並計算預測作為輸出。對於每一深度影像,訓練深度影像之資料集包括將各別深度影像之區域定位成含有訓練物件並識別訓練物件之類別的至少一個註解。至少一個處理器經組態以執行資料儲存器件上之複數個程式指令以(i)藉由將深度影像之資料集重新格式化為RGB影像資料而產生訓練資料集,及(ii)使用訓練資料集來訓練物件偵測卷積神經網路以便形成基於深度之物件偵測卷積神經網路。
為定位場景內之物件及識別物件之分類,物件偵測系統包括資料儲存器件、深度感測器、輸出組件,及可操作地連接至資料儲存器件、深度感測器及輸出組件的處理器。資料儲存器件儲存對應於基於深度之物件偵測卷積神經網路的資料及程式指令,該基於深度之物件偵測卷積神經網路經組態以接收經格式化為RGB影像資料之深度影像作為輸入,並計算包括測試物件的所接收深度影像中之區域的位置之預測及測試物件的類別之預測作為輸出。深度感測器經組態以感測至場景中之表面上之各種點的距離,並參考所感測距離來計算深度影像資料。處理器經組態以操作深度感測器來收集深度影像資料,將深度影像資料重新格式化為RGB影像資料,判定包括物件的深度影像資料中之 區域之位置的預測,並藉由經由基於深度之物件偵測卷積神經網路來饋入對應RGB影像資料而識別物件之分類,並經由輸出組件輸出物件之位置及分類。
在一些具體實例中,基於深度之物件偵測卷積神經網路包括基礎網路及額外結構。該基礎網路經組態以接收經格式化為RGB影像資料之深度影像作為輸入,並計算指示該RGB影像資料中之物件之至少一個特徵的輸出資料。額外結構經組態以接收基礎網路之輸出資料作為輸入並計算包括測試物件的所接收深度影像中的區域之位置的預測及測試物件之類別的預測作為輸出。
在一些具體實例中,處理器為晶片上系統,其包括中央處理單元及嵌入有中央處理單元之圖形處理單元。
在一些具體實例中,處理器經組態以操作深度感測器來收集深度影像資料,並操作輸出組件而經由輸出組件以超過每秒1訊框之速率來輸出物件之位置及分類。
在一些具體實例中,處理器經組態以判定影像資料中之複數個物件之位置的預測及每一物件的各別標識。
10:計算系統
12:外殼
14:處理器
16:記憶體
18:顯示器
20:使用者介面
22:網路通信模組
24:程式指令
26:資料
28:OD-CNN構建程式
30:影像分類CNN模型
31:影像分類CNN資料
32:訓練資料集
60:特徵偵測部分
70:分類部分
102、104、106、108、110:卷積層
112:全連接層
114:softmax輸出層
116:損失函數
200:功能組件
202:CNN模型構建器組件
204:訓練資料管理器組件
206:訓練組件
208:OD-CNN最佳化器組件
210:圖形使用者介面(GUI)組件
250:OD-CNN
252:基礎網路
500:物件偵測CNN模型
502:額外結構
504、506、508、510、512、514:特徵映射層
516:後處理區塊
700:物件偵測系統
704:OD-CNN
712:外殼
714:處理器
716:記憶體
718:深度感測器
722:網路通信模組
724:程式指令
726:資料
728:物件偵測及報告程式
740:圖案投影儀
750:反射偵測器
800:功能組件
802:深度影像收集組件
804:影像預處理組件
806:物件偵測組件
808:後處理組件
810:輸出組件
820:場景
830:輸入深度影像
850:遠端計算器件
在下文關於圖式更詳細描述用於基於深度之物件偵測卷積神經網路的方法、系統及非暫時性電腦可讀取媒體之前述態樣及其他特徵,其中:圖1展示用於構建基於深度之物件偵測卷積神經網路的計算系統之例示性具體實例之方塊圖。
圖2展示圖1之系統的功能組件之方塊圖。
圖3展示用於使用圖1之系統構建基於深度之物件偵測卷積神經網路的方法之例示性具體實例的邏輯流程圖。
圖4展示影像分類卷積神經網路之模型的例示性具體實例。
圖5展示物件偵測卷積神經網路之模型的例示性具體實例。
圖6展示用於使用多例項學習形成具有註解之影像資料的訓練資料集之方法的例示性具體實例之邏輯流程圖。
圖7展示併有基於深度之物件偵測卷積神經網路的物件偵測器件之例示性具體實例的方塊圖。
圖8展示圖7之器件的功能組件之方塊圖。
圖9展示用於操作圖7之器件的方法之例示性具體實例的邏輯流程圖。
圖10展示在說明性RGB影像旁邊的可用作圖7之器件之輸入的一組深度影像。
圖11展示描述在應用各種後訓練最佳化程序之後的各種基於深度之物件偵測卷積神經網路的層之資料的清單。
圖12展示在說明性RGB影像旁邊的一組輸入深度影像及經註解以定位並分類輸入深度影像內之物件的輸出影像。
出於促進理解本發明之原理的目的,現將參考說明於圖式中及描述於以下書面說明書中之具體實例。應理解不意欲藉此限制本發明之範疇。進一步應理解本發明包括對所說明之具體實例的任何更改及修改,且包括熟習此項技術者通常將意識到的與本發明有關的對本發明原理之進一步應用。
本文中引入利用深度卷積神經網路(CNN)的基於深度之物件偵測技術。根據本發明之基於深度之物件偵測CNN(OD-CNN)併有使用具有影像分類標籤的紅色-綠色-藍色(RGB)影像之資料集合所訓練的影像分類CNN之特徵偵測部分。併有此特徵偵測部分(在本文中稱為「基礎網路」)以 轉移關於影像中之特徵偵測的學習。基礎網路經微調用於物件偵測以形成OD-CNN,且使用具有物件標識標籤之不配對深度影像之資料集合來訓練。
經訓練OD-CNN經組態以偵測輸入不配對深度影像中之物件,及因此可在沒有任何RGB影像輸入情況下有利地操作。運用本文中所描述技術的物件偵測已顯著減小計算能力需求,且相較於習知努力在偵測物件上更為快速。特定言之,本文所記載之技術可即時及/或在不需要專用圖形處理單元(GPU)之情況下有利地操作。另外,速度上之此增加及計算能力需求上的減小在不顯著降低偵測準確度的情況下有利地達到。
用於構建OD-CNN之系統
圖1展示用於構建OD-CNN之計算系統10的例示性具體實例之方塊圖。在各種具體實例中,計算系統10進行以下各者中之一或多者:收集、註解及組織具有物件標識標籤的深度影像之訓練資料集合。在各種具體實例中,計算系統10進行以下各者中之一或多者:提取影像分類CNN之特徵偵測部分,及構建基礎網路。在各種具體實例中,計算系統10進行以下各者中之一或多者:微調基礎網路以形成OD-CNN,使用深度影像之訓練資料集合來訓練OD-CNN,及最佳化經訓練OD-CNN。
計算系統10典型地經提供於以典型方式經組態用於計算器件的外殼12、箱或類似者中。在所說明之具體實例中,計算系統10包括處理器14、記憶體16、顯示器18、使用者介面20及網路通信模組22。然而,應瞭解計算系統10之所說明具體實例僅僅為計算系統10之一個例示性具體實例,且僅表示個人電腦、膝上型電腦、伺服器或以本文所闡述之方式操作的任何其他資料處理系統的各種方式或組態中之任一者。
處理器14經組態以執行用以操作計算系統10以實現如本文所描 述之特徵、功能性、特性及/或類似者的指令。為此目的,處理器14可操作地連接至記憶體16、顯示器18、使用者介面20及網路通信模組22。處理器14通常包含可並行或以其他方式彼此協同操作的一或多個處理器。一般熟習此項技術者將認識到「處理器」包括處理資料、信號或其他資訊的任一硬體系統、硬體機構或硬體組件。因此,處理器14可包括具有中央處理單元、多個處理單元或用於達成特定功能性之專用電路的系統。
在一些具體實例中,處理器14包括經由周邊連接器件(諸如PCI高速或另一合適之周邊資料連接件)彼此連接的中央處理單元(CPU)及圖形處理單元(GPU)。GPU包括用於操縱及處理影像資料之硬體及軟體。在一些具體實例中,處理器14使用GPU中之硬體功能性以執行包括驅動器及其他軟體指令的軟體程式。
記憶體16可具有能夠儲存可藉由處理器14進行存取之資訊的任何類型之器件,諸如記憶體卡、ROM、RAM、有寫入能力之記憶體、唯讀記憶體、硬碟機、光碟、快閃記憶體,或充當資料儲存器件之各種其他電腦可讀取媒體中之任一者,如一般熟習此項技術者將認識到。記憶體16經組態以儲存供處理器14執行的程式指令24,以及資料26。程式指令24至少包括OD-CNN構建程式28,其包括實施OD-CNN之形成及訓練的至少一些指令。在至少一個具體實例中,資料26包括可用於構建基礎網路之影像分類CNN資料31,以及涉及OD-CNN經設計所用於之特定任務的訓練資料集32。在至少一些具體實例中,訓練資料集32包含未配對深度影像,其具有識別在深度影像內的物件以表示待由OD-CNN所偵測的物件之類別的標籤。
計算系統10之網路通信模組22提供允許使用各種構件與各種器件中之任一者通信的介面且可包含一或多個數據機、收發器、網路配接器或類似者。特定言之,網路通信模組22可包括允許與容納於同一或鄰近設施中的各 種本地端電腦中之任一者通信的區域網路埠。在一些具體實例中,網路通信模組22進一步包括允許經由網際網路與遠端電腦通信之廣域網路埠。替代地,計算系統10經由區域網路之獨立數據機及/或路由器與網際網路通信。在一個具體實例中,網路通信模組裝備有Wi-Fi收發器或其他無線通信器件。因此,應瞭解,與計算系統10之通信可經由有線通信或經由無線通信而發生。通信可使用各種已知通信協定中之任一者完成。
計算系統10可藉由使用者而本地端或遠端地操作。為促進本地端操作,計算系統10可包括顯示器18及使用者介面20。經由使用者介面20,使用者可存取指令(包括OD-CNN構建程式28),且可收集來自記憶體16之資料並儲存資料至記憶體16。在至少一個具體實例中,顯示器18可包括LCD顯示螢幕或類似者。在至少一個具體實例中,使用者介面20可適當地包括滑鼠或其他指標器件、鍵盤或其他小鍵盤、揚聲器及麥克風,如一般熟習此項技術者將認識到。應瞭解,顯示器18及使用者介面20可整合於外殼12上或內,或可以是可經由被配置於外殼12上的連接器(圖中未示)而操作地連接的外部器件。替代地,在一些具體實例中,使用者可自經由網路通信模組22與計算系統10通信並具有類似顯示器及使用者介面的另一計算器件來遠端地操作計算系統10。
構建及訓練OD-CNN
圖2描繪如藉由處理器14參考程式指令24所實施的計算系統10之功能組件200之例示性具體實例。功能組件可包括硬體或硬體與軟體之組合。在以下描述中,動作藉由或運用功能組件來執行的陳述意謂處理器(例如處理器14)執行對應程式指令(例如程式指令24)以執行所陳述動作。
在圖2中,區塊202為CNN模型構建器組件,區塊204為訓練資料管理器組件,區塊206為訓練組件,區塊208為OD-CNN最佳化器組件,且區 塊210為圖形使用者介面(「GUI」)組件,在下文更詳細地論述上述區塊之每一者。在計算系統10中,處理器14結合計算系統10之其他組件及元件以藉由執行被儲存於記憶體上之對應程式指令24來實施各個組件202至210之功能。如圖2中所描繪,計算系統10接收影像分類CNN資料31及訓練資料集32,並輸出經訓練以偵測輸入深度影像中之物件的OD-CNN 250。
圖3描繪用於使用計算系統10構建OD-CNN之方法300的例示具體實例之流程圖。在本文之方法的描述中,組件正執行某一任務或功能的陳述指代控制器或通用處理器(例如處理器14)執行被儲存於可操作地連接至控制器或處理器的非暫時性電腦可讀取儲存媒體(例如記憶體16)中的經程式化指令,以操縱資料或操作計算系統10中之一或多個組件以執行該任務或功能。控制器或處理器可實施有多於一個處理器及相關聯電路及組件,其中之每一者經組態以形成本文中所描述的一或多個任務或功能。應瞭解,方法操作中之一些或所有亦可藉由遠端伺服器或雲處理基礎架構來執行。另外,方法步驟可以任一可行時間次序來執行,無關於諸圖中所展示的次序或步驟所描述的次序。
在區塊302處,CNN模型構建器組件202參考影像分類CNN資料31及程式指令24來構建基礎網路。在區塊304處,CNN模型構建器組件202添加額外結構至基礎網路以形成物件偵測CNN。在區塊306處,訓練資料管理器組件204收集訓練資料樣本以形成訓練資料集32。在區塊308處,訓練資料管理器組件204將訓練資料集32處理成可用以訓練物件偵測CNN的形式。在區塊310處,訓練資料管理器組件204設定待提供至物件偵測CNN的訓練資料集32中之樣本的定序。在區塊312處,訓練組件206根據設定之定序運用訓練資料集32訓練物件偵測CNN。在區塊314處,OD-CNN最佳化器組件208最佳化物件偵測CNN。在區塊316處,OD-CNN最佳化器組件208使用訓練組件206以微調最佳化物件偵測CNN以形成OD-CNN 250。在下文更詳細論述此等操作之每一者。
藉由有利地能夠針對資料之不同模態而使用CNNS之部分而非CNN針對資料之不同模態所據以訓練,此方法300改良計算系統10之功能,且更明確而言計算系統10之處理器14的功能。方法300有利地利用程式化程序以快速且有效地收集及註解訓練資料樣本以用於訓練CNN。經由方法300所產生的OD-CNN 250展現改良之準確度及減小之計算能力成本,且可在沒有專用GPU的情況下諸如經由嵌入有CPU的GPU(如晶片上系統(SOC))進行即時操作。OD-CNN 250亦有利地經組態以偵測在各種尺度的物件
CNN模型構建器組件
CNN模型構建器組件202經組態以參考影像分類CNN資料31及程式指令24來構建用於物件偵測之CNN模型(區塊302及區塊304)。如在下文更詳細地描述,CNN模型構建器組件202藉由使用影像分類CNN資料31來構建基礎網路252(區塊302)且參考程式指令24來添加額外結構至基礎網路252(區塊304),以形成物件偵測CNN模型。如本文所使用,「基礎網路」意謂至少一個卷積神經網路層,其經組態以接收RGB影像資料作為輸入並經組態以計算用以指示所接收RGB影像資料中之物件之至少一個特徵的輸出資料。如本文所使用,被添加至基礎網路之「額外結構」意謂至少一個額外卷積神經網路層,其經組態以接收指示RGB影像資料中之物件的至少一個特徵之資料且經組態以計算用以指示RGB影像資料內的物件之定位及物件之分類的輸出資料。
構建基礎網路-區塊302
如在下文參考圖4更詳細地描述,影像分類CNN模型30包括特徵偵測部分60及分類部分70。「特徵偵測部分」為影像分類CNN之卷積層之子集,其經組態以接收影像資料作為輸入並計算用以指示所接收影像資料中的至 少一個特徵之資料作為輸出的。「分類部分」經組態以參考由特徵偵測部分所偵測之至少一個特徵以將分類應用於所接收影像資料。
在一些具體實例中,影像分類CNN資料31包括用以實施影像分類CNN之程式指令及RGB訓練資料。在此等具體實例中,構建基礎網路252包括藉由運用處理器14執行程式指令來構建影像分類CNN模型,運用RGMB影像訓練資料來訓練影像分類CNN模型以形成卷積層資料與學習參數,及提取對應於經訓練影像分類CNN之特徵偵測部分的卷積層資料及學習參數。在一些具體實例中,移除或刪除對應於CNN之分類部分的卷積層資料。在一些具體實例中,經訓練影像分類CNN用作基礎,且分類部分之卷積層經覆寫及/或替換。
在一些具體實例中,影像分類CNN資料31包括卷積層資料與學習參數以用於影像分類CNN。在此等具體實例中,構建基礎網路252包括提取對應於經訓練影像分類CNN之特徵偵測部分的卷積層資料及學習參數。在一些具體實例中,移除或刪除對應於CNN之分類部分的卷積層資料。在一些具體實例中,經訓練影像分類CNN用作基礎,且分類部分之卷積層經覆寫及/或替換。
在一些具體實例中,影像分類CNN資料31包括對應於經訓練影像分類CNN之特徵偵測部分的卷積層資料及學習參數。在此等具體實例中,影像分類CNN資料31已經呈基礎網路252之形式。
任一可接受影像分類CNN之特徵偵測部分可用以形成基礎網路252。舉例而言,具有可用以形成基礎網路之特徵偵測部分的影像分類CNN包括(但不限於)ZFNet、ThiNet及VGG網路之任何變體。出於說明如何構造影像分類CNN,以及基礎網路252之結構的目的,圖4描繪類似於VGG16網路的影像分類CNN之例示影像分類CNN模型30。
CNN及其元件被廣泛地視為機器學習模型。如本文所使用,術語「機器學習模型」指代經組態以實施基於給定輸入進行預測及提供所要輸出 的演算法、程序或數學模型的系統或程式指令之集合及/或資料。應瞭解,機器學習模型之參數並未明確地經程式化,且機器學習模型在傳統意義上並未經明確設計為遵循特定規則以便為給定輸入提供所要輸出。實際上,機器學習模型具備識別或「學習」資料中之圖案及所統計關係或結構(其經一般化以進行關於新資料輸入的預測)所藉以的訓練資料之語料庫(例如訓練資料集,上文所論述)。訓練程序之結果體現於用於包含執行各種操作或功能的機器學習模型之神經網路之各種層的複數個學習參數、核心權重及/或濾波器值中。在CNN之描述中,層或某其他組件執行某一程序/功能或經組態以執行某一程序/功能的陳述意謂處理器或控制器(例如處理器14)參考在訓練程序中學習的參數、核心權重及/或濾波器值來執行被儲存於記憶體(例如該記憶體16)中的對應程式指令以執行所陳述操作或功能。
圖4中之影像分類CNN模型30經組態以接收二維(2D)輸入影像100,諸如來自RGB影像資料集之訓練影像以及待分類之輸入RGB影像。RGB影像由像素陣列形成,藉此陣列為以列、行及層級配置的資料矩陣。每一像素包括對應於在RGB影像中之每一位置處所存在色彩的紅色、綠色及藍色之強度的各別值,且因此2D RGB影像由強度值之三維(3D)矩陣(m×n×3)表示,3個層級中之每一者分別對應於紅色、綠色及藍色值中之一者,且列(m)及行(n)對應於沿影像之長度及寬度的位置。因此,具有300像素解析度之RGB影像由300×300×3矩陣表示。
CNN為含有若干卷積層的特殊類型之前饋神經網路。卷積層接收輸入(諸如上述300×300×3矩陣),並以如下文所論述之卷積方式將一或多個濾波器應用於輸入。濾波器(亦稱作神經元或核心)為權重(亦稱作參數或濾波器值)之矩陣,藉此權重共同地對應於影像之「特徵」,亦即具有某些相對值之像素的相對配置。
在CNN中,通常在訓練程序期間學習及/或最佳化濾波器之權重。在一些具體實例中,權重係以隨機值、來自先前訓練的值或經由任何其他可接受初始化程序(諸如Xavier演算法)進行初始化。此意謂在訓練之前,CNN中之個別濾波器不對應於任何特定特徵。更確切而言,經由訓練程序,個別特徵之權重經調整直至濾波器對應於表示訓練資料之特徵為止。
一般而言,層中之濾波器具有與用於彼層之輸入一樣多的層級以使得輸入資料(此處為紅色、綠色及藍色強度值)之全部通道被考慮。濾波器之矩陣中的列及行之數目界定濾波器之「感受場」或「核心大小」,亦即以卷積方式應用至濾波器以便形成離散輸出值的輸入之離散部分。舉例而言,3×3×3濾波器應用於300×300×3輸入矩陣之離散3×3×3組塊以產生用於每一組塊的離散輸出值。層中之每一濾波器接收層之整個輸入作為輸入,並計算單一層級作為輸出。因此,具有複數個濾波器之層以逐一層中之濾波器的方式來計算輸出矩陣。
將濾波器應用於組塊包括將濾波器之權重乘以組塊中之對應值,且接著對全部結果求和以形成單一輸出值。結果,輸出值之量值充當彼特定組塊之特徵識別符。舉例而言,若組塊中之值的相對量值及配置具有與濾波器中之權重的高對應關係,則輸出值將較高,而若組塊中之值的相對量值及配置具有與權重的低對應關係,則輸出值將較低。
濾波器應用於輸入矩陣之各種組塊以使得濾波器對於整個輸入矩陣進行卷積。所得輸出值經共同地組裝於1層級輸出矩陣中,藉此輸出值與用以產生每一輸出值之組塊之定位一致地進行配置。因為輸出值之量值指示每一組塊包括對應於濾波器之特徵的機率,所以輸出矩陣為指示可能展現彼特徵的輸入矩陣中之全部位置的啟動映射。
輸出矩陣中之列及行的數目係藉由濾波器之感受場的大小及輸 入矩陣之組塊彼此重疊或彼此間隔開的程度來判定,藉此在m及n維度上在組塊之間的間隔或重疊被稱作濾波器之「步長」。對於3×3×3濾波器,步長三意謂後續組塊不重疊,且因此300×300×3矩陣輸入將導致100×100×1輸出。對於一個3×3濾波器的步長意謂兩個相鄰組塊具有兩個重疊列或行,且將導致298×298×1輸出。在一些情況下,輸入矩陣及/或濾波器係以零值像素之環繞填補以使得輸出矩陣具有特定大小。舉例而言,在應用步長1的3×3×3濾波器之前添加環繞300×300×3之1像素邊框以形成302×302×3輸入影像將導致300×300×1輸出。
如上文所提,單一卷積層可包括複數個濾波器。卷積層中之每一濾波器的輸出共同地堆疊以形成單一輸出矩陣。舉例而言,具有六十四個步長3的3×3濾波器之卷積層將取得300×300×3矩陣輸入並產生100×100×64輸出。
圖4中之影像分類CNN模型30包括五個卷積層102、104、106、108及110。應理解對於後續層,先前層之輸出充當下一層之輸入。結果,後續卷積層中所識別之特徵表示粒度層級上的減小。作為顯著簡化抽象化說明性實例,第一卷積層可識別類似梯度之簡單特徵,而第二卷積層可識別線或曲線,第三卷積層可識別用以形成邊緣或拐角的線及曲線之總成,第四卷積層可識別如邊緣及拐角之總成的形狀,等等。
在此影像分類CNN模型30中,卷積層102至110中之每一者後隨有將先前層之任何負輸出值設定成零的整流線性單元(ReLU)層(圖中未示)。使負輸出值歸零減小輸出之線性,否則可導致在多層上之梯度損失及/或過度擬合。
在一些具體實例中,卷積層100至110中之一或多者後隨有池化層(圖中未示)。池化層減少各別輸出之維度。換言之,池化層藉由應用具有經設定成濾波器之大小的步長的濾波器來減少其輸入之解析度,以使得在組塊之間不存在重疊。結果,在先前層中所偵測的離散特徵之集群(cluster)經分 組在一起,此可促進高階特徵之偵測。
各種類型的池化層係可用的,包括最大池化層及平均池化層。最大池化層僅僅返回組塊中之最大值,而非如同典型濾波器的乘以及求和組塊中之值。相對而言,平均池化層返回組塊中之值的全部之平均值。
在一些具體實例中,模型在卷積層中之一或多者之後不包括池化層,諸如藉由調整在卷積層102、104及110中之濾波器之步長以控制維度的具體實例。
影像分類CNN模型30中的第五卷積層110之輸出經提供至全連接層112。全連接層判定先前層中所偵測之特徵彼此相關聯的機率。ReLU層(圖中未示)亦應用於每一全連接層112之輸出。最後全連接層之輸出經饋入至1000筆的softmax輸出層114,其對於輸入影像100產生在1000個不同可能分類標籤上的機率分佈。換言之,softmax輸出層114產生特徵之所偵測關聯對應於上述可能分類標籤中之每一者的機率。一般而言,具有最高機率之分類標籤視為可能分類,其中機率之值視為分類的可信度。
在訓練期間,呈複數個影像(諸如運用1000個不同分類標籤中之一者所標記的RGB影像資料集之彼等影像)之形式的訓練資料經提供至影像分類CNN模型30。在訓練資料中之樣本影像經饋入至影像分類CNN模型30中之後,藉由softmax輸出層114對於彼樣本影像所產生的該等機率中之最高者被視為彼樣本影像之可能分類標籤。在藉由影像分類CNN模型30所判定的可能分類標籤與如訓練資料中所列出的樣本影像之真實分類標籤之間的失配被用以根據損失函數116調整卷積層102至110中的濾波器之權重及全連接層112之權重。
如此程序之高層級說明性描述,在可能類別影像與真實分類標記之間的損失經由CNN反向饋入。損失之反向饋入的結果指示CNN之各種濾波器中的不同權重對於損失的貢獻。藉由此程序所識別的權重係根據預定學習速 率來調整,結果是再加權濾波器經再組態以在給定同一訓練樣本情況下產生較低損失。在一些具體實例中,所識別權重藉由將每一權重乘以(1-
Figure 108105640-A0305-02-0020-32
)而調整,其中
Figure 108105640-A0305-02-0020-35
係學習速率。在一些具體實例中,自每一所識別權重減去學習速率
Figure 108105640-A0305-02-0020-41
。其他可接受調整技術亦係可用的。
一般而言,此程序每一次經實施用於單一樣本影像。換言之,各種濾波器之權重係在每一後續樣本影像經饋入至CNN中之後被調整。此程序被稱作隨機梯度下降。然而,在一些具體實例中,樣本影像之一批次經由CNN饋入以產生一批次損失,且參考該批次損失來調整權重。
藉由針對多個訓練樣本重複此程序,損失函數逐漸朝向收斂最小值減小,且濾波器逐漸學習並最佳化指示各種分類標籤之獨特特徵的權重。一般而言,學習速率相對較小,以使得無個別訓練樣本在整體上對CNN具有決定性影響。
學習速率
Figure 108105640-A0305-02-0020-38
以及影像分類CNN模型30中的各種層之數目、定序及類型,及每一層中之濾波器的數量被稱作隨模型之不同具體實例而變化的超參數。在一些具體實例中,學習速率
Figure 108105640-A0305-02-0020-43
為約0.0001至約0.001,或更特定言之為約0.0005。在一些具體實例中,學習速率
Figure 108105640-A0305-02-0020-46
在多個訓練樣本之過程內或在樣本之批次內或類似者內經修改。修改可以是逐步、線性、指數或類似者。在一些具體實例中,訓練CNN包括具有相對較高的學習速率
Figure 108105640-A0305-02-0020-47
之初始訓練回合,後隨有以具有相對較低的學習速率
Figure 108105640-A0305-02-0020-48
之微調訓練回合。過高的學習速率
Figure 108105640-A0305-02-0020-51
會引起過度擬合訓練資料,而太低的學習速率可減小收斂至用於損失函數之最小值的速率。過度擬合指代CNN對訓練資料中之排除訓練資料之任何偏差的特定樣本極其敏感,並限制CNN之一般適用性的情況。
在一些具體實例中,影像分類CNN模型30進一步包括一或多個丟棄層(圖中未示)。丟棄層將來自先前層之輸出值的隨機取樣設定成零。結 果,CNN經組態以考慮來自訓練資料之隨機變化,此可抑制CNN變得過度擬合至訓練資料。
在一些具體實例中,影像分類CNN模型30進一步包括一或多個網中網層(圖中未示)。網中網層為1×1×N濾波器,其中N為在先前層中應用之濾波器的數目。舉例而言,將網中網層應用於100×100×64輸出以將輸出層展平成100×100×1的單一層級矩陣。網中網層可減小後續卷積層之處理成本,且亦可促進高階特徵偵測。
在訓練影像分類CNN模型30之後,亦即在連續地調整CNN中之權重直至在由CNN所產生的可能分類標籤與資料集之實際標籤之間的失配收斂至穩定最小值為止之後,經訓練的卷積層102、104、106、108及110可相對於具有未知分類之輸入影像100而操作為特徵偵測器,且因此表示影像分類CNN模型30之特徵偵測部分60。經訓練的全連接層112及softmax輸出層114因此表示影像分類CNN模型30之分類部分70。如上文所論述,CNN模型構建器組件202自特徵偵測部分60形成基礎網路252。
應瞭解,所說明影像分類CNN模型30僅為例示性,且層之數目、類型及定序在不同影像分類CNN中不同。另外,雖然影像分類CNN模型30中之層經描述為按順序發生,但在一些具體實例中,兩個或多個層並行地操作。因此,特徵偵測部分中之層的數目、類型及定序,及因此基礎網路252中之層的數目、類型及定序取決於用以構建並訓練特徵偵測部分60的特定影像分類CNN而變化。
添加額外結構至基礎網路-區塊304
返回至圖3,如上文所論述,在區塊304中,處理器14經組態以執行對應於CNN模型構建器組件202之程式指令24,而添加額外結構至影像分 類CNN模型之基礎網路252以便形成物件偵測CNN模型。換言之,被添加至基礎網路252之額外結構將基礎網路252自操作為影像分類器轉換(亦即微調)成操作為物件識別器及定位器。
如上文所論述,影像分類不同於物件偵測,原因在於分類係基於特徵於影像內(作為整體)的存在及普遍,而物件偵測不僅需要對應於物件的特徵之偵測而且需要影像內之彼特徵的定位。然而,影像分類及物件偵測兩者係參考影像內之特徵而執行。因此,用於構建及訓練影像分類CNN之技術可適合於物件偵測。另外,由於區分一個物件與另一物件之特徵類似於指示影像之分類的特徵,所以來自影像分類CNN的經學習特徵偵測可經策略地利用於物件偵測。此處,藉由添加額外結構至基礎網路252,CNN模型構建器組件202使用在相對像素值與藉由影像分類CNN所學習的特徵之間的對應關係,並構建經組態用於物件偵測之CNN模型。
針對物件偵測以微調基礎網路252的任何可接受類型根據本發明可使用於諸如YOLO、較快RCNN、MULTIBOX等。圖5描繪包括經微調以用於RGB影像之單次偵測(SSD)的基礎網路252的例示性物件偵測CNN模型500。物件偵測CNN模型500包括基礎網路252及後隨在基礎網路252之後的額外結構502。
額外結構502包括複數個特徵映射層504、506、508、510、512及514,以及後處理區塊416。特徵映射層504至514經組態為以不同尺度偵測指示物件之特徵,且後處理區塊516經組態以基於所偵測特徵來識別並定位物件。在一些具體實例中,特徵映射層中之至少一者係藉由將基礎網路252之卷積層轉換成特徵映射層而形成。在一些具體實例中,特徵映射層中之至少一者係藉由將影像分類CNN之分類部分70的卷積層轉換成特徵映射層而形成。
「特徵映射層」為以卷積方式將複數個濾波器應用於輸入影像 之特徵映射的卷積神經網路層。「特徵映射」由表示輸入影像之子劃分的單元網格來形成。舉例而言,4×4尺度特徵映射將包括十六個單元之正方形網格,以使得對於300×300輸入影像,每一單元表示整體之75×75子劃分。
特徵映射層504至514中之每一者具有逐漸減少之尺度。在一些具體實例中,特徵映射層之尺度有規律地被間隔開。在所說明之具體實例中,層504具有38×38尺度,層406具有19×19尺度,層508具有10×10尺度,層410具有5×5尺度,層412具有2×2尺度,且層514具有1×1尺度。
特徵映射中之每一單元包括具有不同縱橫比之限界框的各別集合。「限界框」為界定影像內之物件之潛在定位的區域。每一限界框居中於其各別單元上,且具有由其縱橫比所界定的高度h及寬度w。對於尺度s及縱橫比a,限界框之高度h及寬度w由下式來界定:
Figure 108105640-A0305-02-0023-1
限界框之縱橫比a可包括例如1、2、3、1/2、1/3等。額外正方形限界框可由下式來界定:
Figure 108105640-A0305-02-0023-2
限界框之不同縱橫比考慮所偵測特徵之不同形狀及視角,且因此用於每一單元的具有不同縱橫比之限界框的增加之數目引起特徵偵測之準確度的增加。
額外結構502進一步包括後隨有以用於每一特徵映射層504至514的ReLU層(圖中未示)的網中網層,且進一步包括池化層及根據需求之填補(圖中未示)以達到上文所列之尺度。
在操作中,對於每一特徵映射層,處理器14經組態以將3×3濾波器之各別集合應用於特徵映射中之每一單元的每一限界框。每一限界框之濾波 器的集合包括分別計算在限界框之每一邊緣與佔據限界框的物件之預測邊緣之間的偏移的四個3×3濾波器。濾波器之集合亦包括用於待識別物件之每一類別的用以計算可信度分數c P 的各別3×3濾波器,c P 之值指示佔據限界框之物件屬於特定類別p的可能性。換言之,對於經組態以偵測物件之不同類別p的模型,用於每一限界框之濾波器的集合包括各自計算各別可信度分數c p p類別濾波器。因此,若特徵映射中之每一單元包括具有不同縱橫比之k個限界框,且特徵映射包括m×n個單元,則特徵映射層中之濾波器之總數目由下式來界定:filters layer =k×m×n×(P+4)
每一特徵映射層因此輸出一矩陣,對於特徵映射中之每一單元,該矩陣界定物件相對於如藉由偏移所界定之單元之預測定位,及指示物件之可能標識的分數c p 之集合。由於每一特徵映射層係在不同尺度,所以藉由特定特徵映射層所識別的物件為對應尺度之物件。因此,複數個特徵映射層之輸出使得能夠標識及定位在各種尺度之物件。
不同於影像分類CNN,藉此輸入逐漸地向下崩塌成單一輸出,物件偵測CNN模型500中之多個特徵映射層可組合地用作輸出。換言之,多個特徵映射層之輸出經組合以使得考慮各種定位、尺度及縱橫比的物件。因此,在此具體實例中,除了每一特徵映射層504至512的輸出充當至下一後續層之輸入,每一特徵映射層504至512之輸出亦與最後的特徵映射層514之輸出並行地被饋入至後處理區塊516。
特徵映射層504至514之輸出可包括對應於輸入影像中之同一物件的多個限界框。舉例而言,物件之部分可佔據多個限界框,且因此多個限界框具有指示物件之存在的可信度分數。在另一實例中,物件可具有由不同尺度之多個限界框所偵測之大小。後處理區塊516經組態以接收特徵映射層504至514之輸出作為輸入,判定很可能是冗餘並指代同一物件的限界框,選擇最佳 地對應於物件的限界框,並抑制其他冗餘限界框。
在一些具體實例中,在針對類別p之每一物件來選擇最佳限界框之前,後處理區塊516藉由抑制具有在預定臨限值以下的可信度分數c p 之限界框而減少要考慮的限界框之數目。具有在臨限值以下之可信度分數的框被視為不大可能含有物件或類別p之物件之部分,及因此可自最佳地對應於類別p之物件的限界框之潛在選擇中予以移除。在此具體實例中,用於可信度分數之預定臨限值為0.01。
為抑制多個限界框中之類別p的物件之此等冗餘偵測,後處理區塊516經由處理器14來參考程式指令24的之操作而執行非最大抑制程序。非最大抑制程序包括(i)自上述可信度定限抑制所剩餘的限界框中來判定藉由預定臨限值而彼此重疊的限界框之集群,及(ii)抑制每一集群中具有各別類別中之最高類別可信度分數c p 的限界框以外的全部限界框。
在此具體實例中,在限界框之間的重疊係經由Jaccard重疊(亦即IoU計算)來判定,但任何可接受重疊計算係可用的。在此具體實例中,用於Jaccard重疊之預定臨限值經設定為0.45。後處理區塊516將在非最大抑制程序中持續的限界框輸出為各別物件類別p之標識及定位。
在一些具體實例中,後處理區塊516進一步經組態以藉由可信度分數c p 對在非最大抑制程序中持續的限界框進行分級,並消除預定數目個最高可信度分數c p 以外之全部。在一些具體實例中,後處理區塊516經組態以產生輸入影像之經修改複本,其另外包括呈輸出限界框之視覺描述及/或對應於各別物件類別p之文字標籤的形式之註解。
如上文所論述,用於每一特徵映射層504至514的濾波器經組態以偵測在不同尺度之特徵。除了能夠偵測物件中之不同大小的特徵,此組態亦能夠偵測在不同尺度的物件之同一類別。舉例而言,考慮被固持在距感測器之 不同距離處的同一物件、或同一類別但具有不同大小之物件。在任一狀況下,不同尺度之相似特徵指示同一物件類別。在一些具體實例中,在不同特徵映射層504至514上使用的物件分類濾波器經全域化。
換言之,學習濾波器之共同集合被用作額外結構中之每一特徵映射層的濾波器。在一些具體實例中,濾波器之獨立集合用於每一層,且接著在訓練之後,特徵映射層504至514中之一或多者的濾波器經組合成共同濾波器之單一集合以用於每一特徵映射層504至514。特徵層中之一或多者的全域化促進在各種尺度的物件之偵測,且特定言之可促進或許不在訓練資料中所表示的尺度的物件之偵測。
訓練資料管理器組件
返回至圖3,處理器14經組態以執行對應於訓練資料管理器組件204之程式指令24,以便收集訓練資料樣本來形成訓練資料集32(區塊306),將訓練資料集32處理成可用以訓練物件偵測CNN的形式(區塊308),並設定待提供至物件偵測CNN的訓練資料集32中之樣本的定序(區塊310)。
如上文所論述,藉由CNN模型構建器組件202所形成的物件偵測CNN模型500經組態用於物件偵測。然而,物件偵測CNN模型500最初未經訓練。換言之,即使物件偵測CNN模型500內之基礎網路252包括來自影像分類CNN的經學習參數且因此經過訓練,仍可在未經訓練狀態中增加特徵映射層504至514內之濾波器。因此,在物件偵測CNN模型500可有效地作為物件分類CNN操作之前,物件偵測CNN模型500需要訓練。
然而,訓練用於物件偵測之CNN所需要的訓練資料與訓練用於物件偵測之CNN所需要的訓練資料不相同。如上文所論述,影像分類涉及整體地計算影像之分類。結果,用於影像分類之訓練資料包括影像及相關聯真實分 類。訓練影像經饋入至影像分類CNN(其產生輸出可能分類)中,且對於每一訓練影像之在輸出分類與真實分類之間的失配被用於調整CNN內之權重。相比較,物件偵測CNN不僅將單一分類應用於輸入影像。更確切而言,輸入影像可具有任何數目個不同物件類別。因此,需要具有額外資訊之訓練資料。
特定言之,用於物件偵測CNN之訓練資料需要每一訓練影像中的每一物件之基礎真實(ground truth)標識及定位。換言之,每一訓練影像需要呈環繞影像中之每一物件的基礎真實限界框之形式的註解,以及將基礎真實限界框與彼物件之物件類別鏈接的標籤。
物件偵測之許多應用係關於物件類別之特定集合。為在此情況下有效,CNN需要包括具有物件類別之所要集合之樣本的訓練資料。此外,當自不同觀看視點(例如俯視與側視與視角等)觀看時,物件可具有不同特徵。因此,有效地,訓練資料亦需要描繪待用於特定應用中的來自觀看視點之物件之所要類別。
由於有效物件偵測CNN所需要的訓練資料為高度特定,且經物件註解的RGB資料尚未廣泛可用,所以基於非RGB之CNNS的使用通常包括至少某一訓練資料收集及/或標記。因此,用於非RGB訓練資料之收集的效率及快速技術將係有益的。
收集訓練資料之樣本-區塊306
在圖3之區塊306中,處理器14經組態以執行對應於訓練資料管理器組件204的程式指令而至少部分以編程方式註解影像樣本,來形成具有用以定位樣本影像中之物件的基礎真實限界框以及識別每一物件之類別的分類標籤的訓練資料集。任何可接受的至少部分程式化註解程序係可用的。在此具體實例中,影像樣本為用以形成具有經註解深度影像之訓練資料集32的深度影 像。其他資料類型之其他影像在其他具體實例中亦係可用的。
圖6描繪使用多例項學習(MIL)用於形成具有經註解影像資料之訓練資料集的方法之例示性具體實例之流程圖。MIL為至少部分以編程方式加強經由入類使用者所輸入的訓練資料之人工註解的程序,其藉由將物件追蹤應用於至少部分經人工註解之影像串流。
在區塊602處,處理器14接收影像之經定序序列,諸如視訊檔案、關鍵訊框之序列或類似者。在此具體實例中,影像為深度影像。在區塊604處,處理器14操作顯示器18以向使用者輸出所接收序列之時間上第一的訊框。在區塊606處,處理器14經由使用者介面20運用GUI組件210以接收將第一訊框之局部區域識別為特定物件類別的使用者選擇。
在區塊608處,處理器14自所識別區域中提取複數個特徵。任何可接受提取程序係可用的,諸如經由CNN之經預先訓練特徵偵測部分、經由習知特徵偵測技術(諸如梯度、色調及形狀偵測或類似者)的特徵提取。在區塊610處,處理器14搜尋用於該複數個特徵中每一者的下一訊框的至少一部分以識別複數個潛在特徵匹配。舉例而言,在一些具體實例中,處理器14搜尋居中在對應於先前訊框中之所識別區域之位置的位置周圍的下一訊框之一部分。
在區塊612處,處理器14從複數個潛在特徵匹配中選擇其具有與自先前影像所提取之特徵集合中的相應特徵為最高匹配之一者。在區塊614處,處理器14計算在先前訊框中之相應特徵與下一訊框中之所選擇最佳匹配特徵之間的轉換,亦即位置變化。在區塊616處,處理器14將轉換應用於先前訊框中之所識別區域以計算下一訊框中之物件的經轉換區域。
在區塊618處,處理器14經由顯示器18輸出序列之下一訊框以及轉換區域至使用者。在區塊620處,處理器14(例如自使用者經由GUI組件210)接收經轉換區域對於在先前訊框與下一訊框之間的物件之運動係精確的 來自使用者的確認,或替代經轉換區域之不同局部區域。在區塊622處,方法重複區塊608至620直至已經計算出用於序列中之每一訊框的區域為止。結果,序列中之訊框中之每一者包括物件分類標籤及彼物件之對應定位。
在一些具體實例中,使用者將影像內之複數個不同局部區域識別為不同物件。在一些具體實例中,訓練資料管理器組件204經組態以並行追蹤複數個物件之運動。在一些具體實例中,處理器14形成訊框中所識別之每一物件的每一訊框之各別複本,並對於每一物件執行上述方法。
在一些具體實例中,處理器14直接自區塊618繼續進行至區塊622,除非及直至使用者停止程序以便再抽取識別區域為止。如此可顯著增加方法之速度,同時仍維持訊框之註解的相對準確度。
在一些情況下,經轉換區域不與在訊框之間的物件之運動準確相關。換言之,當在轉換區域與物件之運動之間存在至少某一發散時,使用者可指示轉換區域對於在訊框之間的物件之運動係精確的。此發散引入雜訊至用於彼物件的訓練資料之註解中。然而,此等雜訊操作類似於上文所論述之影像增強技術且實現一般化且穩固CNN的更多不同訓練資料集,而非有害的。
如上文所述,經註解影像資料係由影像訊框(諸如視訊檔案或類似者)序列形成。由於視訊檔案通常包括每秒許多訊框,所以相對短的視訊檔案能夠收集大量數目之訓練樣本。舉例而言,能夠以15 FPS取得樣本的深度感測器能夠自僅2小時深度視訊畫面收集108,000個樣本。此外,因為MIL程序以編程方式預測物件之運動的轉換區域,所以使用者可極快速處理大量樣本。
因此,上文所論述之MIL方法可用以自相對短的訊框輸入序列來快速且有效地產生大量訓練資料樣本。因此,非RGB訓練資料之低可用性不再是訓練用於物件偵測之CNN的限制因素。
將訓練資料集處理成可用於訓練物件偵測CNN之形式-區塊308
返回至圖3,在區塊308中,處理器14經組態以執行對應於訓練資料管理器組件204之程式指令而將訓練資料集32處理成可用於訓練物件偵測CNN模型500之形式。此包括(i)將影像資料處理成可饋入至物件偵測CNN模型500中的形式,及(ii)將真實物件定位及分類標籤處理成可相對於物件偵測CNN之預測結果加以解譯的形式。
i.處理訓練影像資料
前已述及,基礎網路252係使用RGB影像資料來訓練。結果,基礎網路252及因此物件偵測CNN模型500並不經調適以對RGB影像資料以外的影像資料之模態進行操作。另外,修改基於RGB之CNN以實現其他影像模態之使用的習知努力已獲得有限成功。
如上文所述,此等習知努力通常依賴於配對資料,藉此每一RGB影像與另一模態之影像配對。配對資料具有若干缺點。特定言之,收集配對資料之訓練樣本需要收集不僅RGB影像還要自同一視角所獲取的其他模態之影像。配對資料之使用亦可能需要對CNN模型進行的修改,其增加模型之複雜性及計算能力需求。此外,此等習知技術對於增加物件偵測CNN相對於僅RGB系統之準確度或減小處理物件標識之輸入影像所需要的計算能力做得極少。
下文所描述是在沒有經配對訓練資料之任何需求的情況下及在沒有對CNN模型之結構進行額外修改的情況下,實現經組態為被訓練用於運用資料之非RGB模態而操作的CNN的例示性技術。在此具體實例中,非RGB資料呈不配對深度影像形式。下文所描述亦是用於減少用於處理物件偵測之輸入影像所需要之計算能力的技術。下文進一步描述是用於改良物件偵測CNN之準確度的技術。雖然此等技術係參考深度資料而描述,但此等技術亦適用於影像資 料之其他模態,諸如超聲、紅外線、x射線等、 如上文所論述,計算系統10之記憶體16包括由具有識別深度影像內之物件的表示待由OD-CNN偵測之物件類別的標籤之不配對深度影像組成的訓練資料集32。不同於具有紅色、綠色及藍色資料通道之RGB影像,深度影像僅具一個資訊通道。因此,300像素解析度深度影像由300×300×1矩陣表示。
為能夠使用具有在三個通道RGB資料上所訓練的基礎網路252的CNN中之單一資料通道深度影像資料,處理器14經組態以執行對應於訓練資料管理器組件204之程式指令以藉由將深度資料之單一通道再生成三個相同通道,來將深度影像資料重新格式化為RGB資料。換言之,輸入深度影像之300×300×1矩陣經重新格式化為具有三個相同層級之300×300×3矩陣。所得三通道深度資料使深度影像能夠直接應用於在三個通道RGB資料上訓練的卷積層。
在一些具體實例中,處理器14進一步經組態以藉由將平滑程序應用於深度資料而將深度資料進一步重新格式化為RGB資料。一般而言,RGB資料中之每一值對應於紅光、綠光或藍光之強度在0至255範圍內。相對而言,經由深度感測器獲取之深度影像可具有高準確度及/或大潛在值範圍。在一個實例中,深度感測器取得具有512×424解析度之深度影像,具有超過2.4米之最大範圍,並精確至最接近毫米。結果,所得深度影像之單一像素值可在0至約8000之範圍,其為RGB值之範圍的約32倍。因此,藉由將深度影像資料之每一值除以因數32,訓練資料管理器組件204使深度影像資料擬合至由RGB資料使用的尺度。其他除法因數在其他具體實例中用於諸如具有其他深度值範圍的深度感測器。另外,此除法導致深度資料之某一平滑,其否則可以比物件偵測所必要的具有更多雜訊及/或在粒度上更粗。
在一些具體實例中,處理器14進一步經組態以對訓練資料集32中之深度影像執行其他操作,包括將影像調整大小至預定解析度,及執行資料 增強技術(諸如自現有樣本之修補形成新樣本、翻轉影像,及/或添加失真)。
ii.處理訓練影像資料上之標籤
如上文所論述,物件偵測CNN模型藉由判定在真實與經預測物件定位及分類之間的損失而訓練。前已述及,對於物件偵測CNN模型500,經預測輸出係依據各種特徵映射中之各種限界框的可信度分數及偏移。因此,對於物件偵測CNN模型500,在真實與經預測物件定位及分類之間的損失表達為基於在真實與經預測可信度分數之間的差之可信度損失L conf 與基於在真實與經預測偏移之間的差之位置損失L loc 之間的加權總和,亦即:
Figure 108105640-A0305-02-0032-3
其中N為匹配基礎真實框之限界框的數目,a為應用於可信度損失與位置損失之間的權重,x為標記特定經預測限界框l是否匹配特定基礎真實限界框g的指示符之集合,且c為每一物件類別之限界框l的可信度分數之集合,亦即c=[c j ,...,c P ]。若N=0,則損失經設定至零。在此具體實例中,a設定至1。經由將訓練資料集32應用於此損失函數,訓練資料集32中之註解係以與CNN模型之輸出一致的形式表達。
依據限界框表達的基礎真實限界框為具有對應於基礎真實限界框的位置之位置的限界框之集合,亦即真實限界框之集合。處理器14藉由計算來自物件偵測CNN模型500的每一特徵映射層之具有與在預定臨限值內之基礎真實限界框之Jaccard重疊的限界框,來判定用於給定基礎真實限界框的真實限界框之集合。換言之,CNN中的每一特徵映射之每一限界框經分類為正匹配特定基礎真實限界框並被添加至真實限界框之集合,或分類為負匹配並自該集合中排除。在此具體實例中,用於基礎真實限界框Jaccard重疊之預定臨限值為0.5。匹配基礎真實限界框的真實限界框之集合(i
Figure 108105640-A0305-02-0032-52
Pos)及不匹配限界框之集 合(i
Figure 108105640-A0305-02-0033-54
Neg)以用於計算可信度損失及位置損失。
在此具體實例中,可信度損失藉由對多個類別可信度c的softmax操作給出,亦即:
Figure 108105640-A0305-02-0033-5
其中
Figure 108105640-A0305-02-0033-55
為第i個真實限界框是否匹配類別p之第j個基礎真實限界框的二進位分類指示符之集合,其中
Figure 108105640-A0305-02-0033-6
且其中
Figure 108105640-A0305-02-0033-57
為對於物件類別p之第i個限界框之預測可信度分數。
在此具體實例中,位置損失藉由在經預測限界框l與基礎真實限界框g之間的平滑L1損失給出,亦即:
Figure 108105640-A0305-02-0033-8
藉此:
Figure 108105640-A0305-02-0033-9
其中真實限界框d經由其偏移而回歸以判定其中心cxcy,以及其寬度w及高度h,且其中
Figure 108105640-A0305-02-0033-59
為指示符,給定物件類別p,其取決於第i個真實限界框d匹配第j個基礎真實限界框g而為0或1。
在一些情況下,負匹配限界框之數目遠超過真實限界框之集合中的數目。過多負面實例會引起不太穩定之訓練程序及增加之訓練時間。在一些具體實例中,負匹配限界框藉由其個別可信度損失及負結果之僅僅最高部分進行分級,以使得正與負匹配之預定比率在預定臨限值以下。在此具體實例中,正與負結果之比率保持至至多3:1。
因此,經由上述操作,處理器14依據物件偵測CNN模型500之損失函數表達來自訓練資料集32之註解。應理解其他損失函數及因此註解之其他表達亦在其他具體實例中使用。
組織訓練資料-區塊310
再次參看圖3,在區塊310中,處理器14經組態以執行對應於訓練資料管理器組件204之程式指令以設定待提供至物件偵測CNN的訓練資料集32中之樣本的定序。此包括判定訓練資料集32中之不同樣本的複雜性,及按基於樣本複雜性之定序來配置訓練資料集32中之樣本。
訓練樣本在訓練期間經提供至CNN的次序可增加所得經訓練CNN之準確度。在深度神經網路中,損失函數至最小值的收斂具有高度非凸形狀。換言之,損失朝向最小值行進的路徑取決於各種訓練樣本對特定權重之特定影響而為高度非線性。結果,訓練資料之樣本經饋入至CNN中的次序可不僅影響損失函數之收斂速率,而且影響所得CNN之準確度。然而,訓練資料之大的樣本大小及在樣本與CNN中之特定權重之間的卷積關係使得判定訓練資料樣本之最佳定序的問題成為幾乎不可解決的問題。
課程學習為訓練資料被分組在一起及/或按樣本複雜性(亦稱作樣本難度)之次序被引入至CNN所藉以的技術。訓練資料樣本之分組,及群組在訓練期間經饋入至CNN中的次序被稱作課程。藉由根據課程訓練CNN,濾波 器經組態以按粒度之漸進尺度來學習特徵。結果,可學習到否則被較小粒度特徵所阻礙的精細粒度特徵。
用於樣本複雜性之各種量度係可用的。在一些具體實例中,樣本基於樣本內之信號雜訊而分級。然而,對於全部獲自同一感測器的資料集,在樣本之中的雜訊之範圍可較低。在一些具體實例中,訓練資料集中之每一樣本經由未經訓練CNN饋入,亦即在每一情況下權重經設定成相同初始化值,且每一樣本之複雜性視為彼特定樣本之損失。在一些具體實例中,樣本基於每一樣本中所含的物件之類別而分層。舉例而言,在經組態以當人行走路穿過門道時偵測人及藉由人固持之物品的應用中,歸因於人在行走期間之形狀相對於具有通常恆定形狀之固持物品的相對較高變化,人可被視為相對於物品更複雜。
基於樣本複雜性之各種類型的定序亦係可用的。在一些具體實例中,在單一訓練程序期間,樣本經配置成遞增難度之連續課程。換言之,樣本經配置有按升高難度之次序為第一的最低難度樣本。在一些具體實例中,樣本經批量配置,其中每一批次具有升高難度臨限值。訓練經多次實施,其中每一次引入更困難樣本的額外批次。在一些具體實例中,最高難度樣本集與訓練資料集隔離。訓練經兩次實施,一次不運用最高難度樣本,且一次運用完整訓練資料集。在訓練經多次執行的一些具體實例中,用於調整權重的學習速率對於每一連續訓練程序而減小以便抑制逐漸更困難樣本對學習的不當影響。
在此具體實例中,特定類別之物件(亦即人類個人)經預定相較待偵測之其他物件類別具有相對較高複雜性。因此,在此具體實例中,處理器14進一步經組態以將訓練資料集32分成包括在個人類別中之物件的一批較高複雜性樣本,及不包括在個人類別中之物件的一批較低複雜性樣本。處理器14另外經組態以參考訓練資料集32按升高複雜性之間隔的定序來設定用於物件偵測CNN模型500之訓練的課程,例如在訓練期間首先供應低複雜性批次,且接 著供應完整資料集32。
以下偽碼說明此課程之例示性具體實例,藉此訓練資料集32分成不具有個人物件之低複雜性批次D1及包括個人物件之高複雜性批次D2。
運用課程學習訓練CNN
Figure 108105640-A0305-02-0036-10
課程學習可不僅改良所得經訓練CNN之準確度,而且可減小執行訓練程序所需要的時間。
訓練組件-區塊312
在區塊312中,處理器14執行對應於訓練組件206之程式指令24,以參考依據物件偵測CNN模型500之損失函數所表達的訓練資料集32來訓練物件偵測CNN模型500中之濾波器。在此具體實例中,處理器14根據上文所 論述之偽碼而將課程應用於訓練資料集32之。應理解在其他具體實例中,訓練組件206應用不同課程或不應用課程於物件偵測CNN模型500之訓練。
前已述及,基礎網路252包括具有已經過訓練的權重之濾波器。為維持自先前訓練所轉移的學習,在一些具體實例中,訓練組件206在訓練額外結構502中之濾波器的同時凍結基礎網路252內之濾波器的權重。
在此具體實例中,特徵映射層504至514中之濾波器的權重係運用Xavier演算法初始化,且經更新用於每一訓練資料樣本,亦即根據隨機梯度下降。其他具體實例使用其他可接受下降類型。在此具體實例中,在上述課程中,當訓練僅D1樣本集時的學習速率在0.00050處初始化,且用於完整資料集32之學習速率在0.00025處初始化。在每一情況下,學習速率係對於32個樣本之每一批次運用0.9動量及0.0005權重衰減來調整。
OD-CNN最佳化器組件
在一些具體實例中,在物件偵測CNN模型500中之濾波器的訓練(諸如經由上文所論述之程序)之後,OD-CNN最佳化器組件208經組態以將後訓練最佳化應用於物件偵測CNN模型500中之濾波器(區塊314),並微調經最佳化的物件偵測CNN模型500(區塊316)。
後訓練濾波器最佳化-區塊314
在一些情況下,特定層中之若干濾波器可經調適以偵測彼此至少部分在範圍中重疊的特徵,且因此此等濾波器可彼此至少部分冗餘。在一些情況下,特定特徵對作為物件的影像之區域之最終分類具有低或可忽略影響。最佳化CNN以便解決此等冗餘及低影響濾波器可改良所得CNN之效能。
對於包括濾波器的物件偵測CNN模型500之每一層(亦即卷積 層及池化層),處理器14經組態以執行對應於OD-CNN最佳化器組件208之程式指令24以判定彼層內之濾波器子集,其表示該層整體上在預定臨限值內。換言之,處理器14判定經操作以達成類似於該層中之濾波器的完整集合之輸出的濾波器子集。處理器14進一步經組態以修剪來自該層之非代表性濾波器。藉由減小該層中之濾波器的數目,將層應用於輸入影像所需要的處理得以減小。
任何可接受濾波器後處理類型係可用的。在此具體實例中,OD-CNN最佳化器組件208包括將基於稀疏寫碼濾波器的修剪應用於包括濾波器的物件偵測CNN模型500中之每一層,及接著微調經修剪的物件偵測CNN模型500以產生OD-CNN 260。
在應用基於稀疏寫碼濾波器修剪中,處理器14將層內之每一濾波器表示為經平化單層級矩陣。在一實例中,特定層包括各具有3×3×3之尺寸的64個濾波器。每一3×3×3濾波器包括27個個別值,且因此可表達為具有27個值之單一維度向量。在每一濾波器之單一維度向量被視為矩陣之特定行的情況下,64個濾波器因此表達為單一層級27×64矩陣。
公式化表達,若每一濾波器具有B個總值,且層具有N個總濾波器,且層內之第i濾波器標示為x,則表示該層內之全部濾波器的矩陣X
Figure 108105640-A0305-02-0038-60
表達為:
Figure 108105640-A0305-02-0038-27
為建立濾波器層級稀疏性,對由以下界定的選擇矩陣之列執行L 1 正規化:Z
Figure 108105640-A0305-02-0038-62
因此,矩陣Z之非零列係藉由∥Z∥2,0給出以用於下式:
Figure 108105640-A0305-02-0038-12
其中τ為折衷參數。然而,上述約束條件內之求解歸因於對Xτ行的每 一子集進行搜尋的要求而為NP難題
上述約束條件之鬆弛係藉由下式給出:
Figure 108105640-A0305-02-0039-13
其中Z
Figure 108105640-A0305-02-0039-63
為稀疏係數矩陣,且列稀疏性正歸化(亦即,Z之多列的l 2 範數之總和)藉由下式給定:
Figure 108105640-A0305-02-0039-26
此鬆弛約束條件之最小化導致依據列的Z之稀疏解,亦即稀疏係數矩陣Z含有構成整體代表集合的非零列之群組。此最小化為凸最佳化問題。
雖然各種最佳化技術可用,但在此具體實例中,處理器14經組態以應用乘數交替方向法(Alternating Direction Method of Multipliers;ADMM)框架。使用拉格朗乘數,上述最佳化問題表達為:
Figure 108105640-A0305-02-0039-15
其中λ為與稀疏性及多樣性正規化相關聯的折衷參數。使用具有輔助變數A之ADMM導致:
Figure 108105640-A0305-02-0039-16
以主變數ZA及雙變數Λ撰寫的擴充拉格朗(具有線性及二次項)導致:
Figure 108105640-A0305-02-0039-17
針對於每一變數執行上述之導數及等化成零導致以下ADMM迭代:
Figure 108105640-A0305-02-0039-18
Λ (t+1):=Λ (t)+p(A (t+1)-Z (t+1))
相對於I 2,1 範數之最小化定義為:
Figure 108105640-A0305-02-0040-19
應用前述內容,OD-CNN最佳化器組件208遞迴地計算選擇矩陣Z之值,並選擇對應於Z之非零列的X之行。X之所選擇行形成新的矩陣Y,其中
Figure 108105640-A0305-02-0040-28
由於Y之行不包括X之置零列,所以K小於N,表示濾波器之數目的減小。Y之每一行為可未封裝以形成m×n×p濾波器的長度B之單一維度向量,以便形成K濾波器來替換給定層中之濾波器。調整折衷參數λ導致不同修剪量,其由於修剪(亦即層之輸出相對於使用未經修剪濾波器之輸出的變化)相應地導致對於層之輸出的不同影響量。折衷參數λ之較高值導致選擇矩陣Z中之更多置零列,其導致在修剪之後的較少數目之代表性濾波器,及在層之輸出上的相應較大影響。折衷參數λ之較低值導致選擇矩陣Z中之較少置零列,此導致在修剪之後的較大數目之代表性濾波器,及對層之輸出的相應較大影響。
藉由將此修剪應用於每一層,可在不顯著影響CNN之輸出的情況下所消除的濾波器之數目可以是顯著的,且因此可顯著減小運用所得CNN處理輸入影像所需的計算能力。
微調最佳化模型-區塊316
如上文所論述,運用經修剪濾波器Y以替換物件偵測CNN模型500中的每一濾波器層中之濾波器X係經組態為對物件偵測CNN模型500之輸出具有低影響。然而可存在的低影響可另外藉由物件偵測CNN模型500之進一步地端對端微調而減輕。在區塊316中,處理器14執行對應於OD-CNN最佳化器組件208及訓練組件206的程式化指令24以對經最佳化的物件偵測CNN模型500執行端對端微調。
為執行物件偵測CNN模型500之端對端微調,處理器14解凍在先前訓練程序期間所凍結的基礎網路252中之全部權重,且接著根據課程設置以經由訓練資料管理器組件204重複訓練。在一些具體實例中,用於微調訓練之學習速率與初始訓練期間的學習速率相同。在一些具體實例中,微調訓練中之學習速率相對於初始訓練期間之速率減小。
產生之OD-CNN
根據方法300所產生的OD-CNN 250經組態以識別並定位輸入影像中之物件。換言之,對於給定輸入影像,OD-CNN 250產生包括在影像中所找到的物件之分類以及影像內之彼等物件的定位的輸出資料。OD-CNN 250具有相對於習知物件偵測技術的物件偵測之高準確度,且具有相對低計算能力需要,且可在不具有專用GPU之器件上即時操作。
應理解在一些具體實例中,上文所述區塊中之一或多者經修改、經重排序或省略。舉例而言,在一些具體實例中,在不應用課程學習之情況下產生OD-CNN 250。在一些具體實例中,在各種層級修剪或在完全不修剪之情況下產生OD-CNN 250。在一些具體實例中,訓練資料集32已經呈可用於訓練物件偵測CNN之形式且不需要處理。在一些具體實例中,並不執行微調。
併有OD-CNN之物件偵測器件
圖7展示併有OD-CNN 704的物件偵測系統700之例示性具體實例的方塊圖。在各種具體實例中,物件偵測系統700執行以下各者中之一或多者:收集輸入深度影像;使用OD-CNN 704以識別及定位在輸入不配對的深度影像702內之物件;及參考輸入深度影像中之所識別及定位物件以產生輸出。
物件偵測系統700典型地經提供於以典型方式組態用於感測器器 件的外殼712、箱或類似元件中。在所說明具體實例中,物件偵測系統700包括處理器714、記憶體716、深度感測器718及網路通信模組722。然而,應瞭解物件偵測系統700之所說明具體實例僅僅為物件偵測系統700之一個例示性具體實例且僅表示併有以本文所闡述之方式操作的此器件之感測器件或系統的各種方式或組態中之任一者。
處理器714經組態以執行用以操作物件偵測系統700來實現如本文所描述之特徵、功能性、特性及/或類似者的指令。為此目的,處理器714可操作地連接至記憶體716、深度感測器718及網路通信模組722。處理器714通常包含可並行或以其他方式彼此協同操作的一或多個處理器。一般熟習此項技術者將認識到「處理器」包括處理資料、信號或其他資訊的任一硬體系統、硬體機構或硬體組件。因此,處理器714可包括具有中央處理單元、多個處理單元或用於達成特定功能性之專用電路的系統。
在此具體實例中,處理器714為整合CPU及GPU之功能性的晶片上系統(SOC)。在一些具體實例中,處理器714另外併有額外組件(諸如記憶體716及/或網路通信模組722)之功能性。在一些具體實例中,處理器714執行包括驅動器及其他軟體指令之軟體程式。
記憶體716可具有能夠儲存可藉由處理器714存取之資訊的任何類型之器件,諸如記憶體卡、ROM、RAM、有寫入能力之記憶體、唯讀記憶體、硬碟機、光碟、快閃記憶體,或充當如一般熟習此項技術者將認識到的資料儲存器件之各種其他電腦可讀取媒體中之任一者。記憶體716經組態以儲存供處理器714執行的程式指令724,以及資料726。
程式指令724至少包括物件偵測及報告程式728,其包括實施以下操作的至少一些指令:經由深度感測器718收集輸入深度影像702、經由OD-CNN 704之操作標識及定位在輸入的深度影像702內之物件,及經由網路通信模 組22將此標識及定位報告為輸出706。在一些具體實例中,程式指令724進一步包括實施以下操作的訓練資料收集程式(圖中未示):經由深度感測器718收集輸入深度影像702,及經由網路通信模組722輸出所收集的深度影像702。資料726包括OD-CNN 704,其經組態為類似於經由上文所論述之方法300所產生的OD-CNN 250。
深度感測器718為經組態用於範圍成像(亦即產生具有指示由感測器之視點至場景中之各種點的距離之像素值的深度影像資料)之感測器。各種類型的深度感測器係可用的,包括立體聲三角量測感測器、光三角量測感測器、結構化光感測器、飛行時間感測器、干涉計感測器或類似者。
在此具體實例中,深度感測器718為結構化光感測器。深度感測器718包括圖案投影儀740及反射偵測器750。圖案投影儀740經組態以將光之靜態2D圖案投影成一場景以使得圖案自場景中之表面反射。在一些具體實例中,圖案為網格或另一有規律間隔開之重複形狀。反射偵測器750經定位以便相較於圖案投影儀740具有場景之不同視角,且經組態以偵測場景中之表面上的圖案之2D反射。在一些具體實例中,圖案投影儀740及反射偵測器750分別投影及偵測特定光波長,諸如紅外光。在此具體實例中,反射偵測器750具有大約512×424像素之2D解析度。
物件偵測系統700之網路通信模組722提供允許使用各種構件與各種器件中之任一者進行通信的介面,且可包含一或多個數據機、收發器、網路配接器或類似者。特定言之,網路通信模組722可包括允許與容納於同一或鄰近設施中的各種本地端電腦中之任一者進行通信的區域網路埠。在一些具體實例中,網路通信模組722進一步包括允許經由網際網路與遠端電腦進行通信之廣域網路埠。替代地,物件偵測系統700經由區域網路之獨立數據機及/或路由器與網際網路進行通信。在一個具體實例中,網路通信模組裝備有Wi-Fi收發 器或其他無線通信器件。因此,應瞭解與物件偵測系統700之通信可經由有線通信或經由無線通信而發生。通信可使用各種已知通信協定中之任一者完成。
物件偵測系統700可藉由使用者而本地端或遠端地操作。為促進本地端操作,物件偵測系統700可包括外部控制及/或機載顯示器。在一些具體實例中,物件偵測系統700僅僅可遠端地操作。
在一些具體實例中,物件偵測系統700包括諸如經由通信網路或另一類型之連接件而協作操作的複數個獨立器件。在一些具體實例中,深度感測器718包括於第一器件中,且包括物件偵測及報告程式及OD-CNN中之一或多者的記憶體包括於遠離第一器件之第二器件上,藉此第一及第二器件經組態以經由通信鏈路彼此通信。在一些具體實例中,第一及第二器件中之一或多者為行動器件。
基於深度之物件偵測器件的操作
圖8描繪如藉由處理器714參考程式指令724所實施的物件偵測系統700之功能組件800之例示性具體實例。功能組件可包括硬體或硬體與軟體之組合。在以下描述中,描述為藉由或運用功能組件執行的動作係藉由處理器714使用物件偵測系統700之元件參考上文所論述之程式指令724來執行。
在圖8中,區塊802為深度影像收集組件,區塊804為影像預處理組件,區塊806為物件偵測組件,區塊808為後處理組件,且區塊810為輸出組件。如圖8中所描繪,物件偵測系統700觀看場景820以收集輸入深度影像830,偵測輸入深度影像830內之物件,並傳輸偵測輸出至遠端計算器件850。
圖9描繪用於操作基於深度之物件偵測系統700的方法900的例示具體實例之流程圖。在區塊902處,處理器714執行對應於深度影像收集組件802之程式指令724以操作深度感測器718來收集場景820之輸入深度影像830。 在深度感測器718為結構化光感測器之此具體實例中,處理器714比較藉由圖案投影儀740投影的圖案與如由反射偵測器750觀看的場景820上的圖案之反射。歸因於圖案投影儀740與反射偵測器750之間的觀看視點之差異,場景820內之3D表面使得經投影圖案之反射自反射偵測器750之視角看起來失真。特定言之,如由反射偵測器750觀看的圖案之幾何失真與場景820中之表面的三維形狀一致。
因此,藉由比較藉由圖案投影儀740投影之圖案與如由反射偵測器750觀看的場景820上的圖案之反射,處理器714計算指示場景820中之表面的3D形狀的資料。在此具體實例中,藉由圖案投影儀740產生的圖案之解析度及反射偵測器750之解析度實現約2.4米之最大偵測範圍,且實現約1毫米精細粒度之偵測準確度。處理器714將諸如深度影像資料之資料儲存於記憶體716中,藉此自反射偵測器750之視角的場景之子區域對應於深度影像中之個別像素。歸因於約2.4米之最大偵測範圍及約1毫米之偵測準確度,深度影像中之每一像素具有0至約8000之可能範圍。
在區塊904處,處理器714操作對應於影像預處理組件804之程式化指令224以經由類似於方法300中之區塊308的程序來將輸入深度影像830之深度影像資料重新格式化為RGB資料。在此具體實例中,重新格式化之深度影像資料包括將輸入深度影像830之512×424解析度調整大小至匹配OD-CNN 704之輸入的解析度,例如300×300。在此具體實例中,重新格式化深度影像資料進一步包括將平滑程序應用於深度影像資料以將深度影像中之像素的0-8000範圍轉換成與RGB資料處理相容的0-255之範圍。在一些具體實例中,反射偵測器750具有匹配OD-CNN 704之輸入的解析度,且因此不需要經由預處理組件之調整大小。
在區塊906處,處理器714操作對應於物件偵測組件806之程式化 指令224以將輸入深度影像830之經重新格式化資料深度影像資料饋入至OD-CNN 704中以便產生包括指示在輸入深度影像830中所找到的標識物件之資訊及指示輸入深度影像830內之此等物件的定位之資訊的物件偵測資料。由於輸入深度影像830由場景820之觀看產生,所以指示輸入深度影像830中的物件之標識及定位的資訊亦指示場景820中之物件的標識及定位。
在區塊908處,處理器714操作對應於後處理組件808之程式化指令224以自OD-CNN 704接收物件偵測資料,並參考物件偵測資料來計算輸出資料。在各種具體實例中,輸出資料包括輸入深度影像830之複本、識別及定位輸入深度影像830內之所偵測物件的註解,及詮釋資料(諸如接收輸入深度影像830所在的時間)及類似者中之一或多者。在區塊910處,處理器714傳輸輸出資料706至遠端計算器件850。
在一些具體實例中,輸出資料不包括輸入深度影像830之複本,或僅僅選擇性地包括深度影像之複本。複本影像及/或傳輸影像至遠端計算器件可以是高計算代價及/或耗時的任務。傳輸不包括或僅僅選擇性地包括影像資料之輸出資料抑制輸出資料之傳輸變成物件偵測系統700之操作中的瓶頸。
在一些具體實例中,回應於偵測到輸入深度影像830中之物件的特定類別,處理器714將影像資料選擇性地包括於輸出資料中。舉例而言,在OD-CNN經組態以偵測場景820中槍之存在的具體實例中,處理器714經組態以回應於偵測到輸入深度影像830中之槍的存在而選擇性地傳輸輸入深度影像830之經註解複本。
在另一實例中,處理器714經由網路通信模組722自遠端計算器件850接收將影像資料包括於輸出資料中的指令。舉例而言,操作遠端計算器件850之使用者可能已經請求經註解之影像,或遠端計算器件850可能已經預先程式化以發出指令。
在一些具體實例中,處理器714經組態以計算輸出資料之多個個例之間隨時間的相關性。舉例而言,在一段時間內,物件移動穿過場景820。在彼時間段內獲取的輸入深度影像830的序列導致一序列輸出資料,其中物件之同一類別係在多個位置處被識別。處理器714經組態以計算物件的同一類別之多個標識可能對應於正移動的單一物件而非多個不同物件。在一些具體實例中,處理器714,回應於移動物件之標識,後處理組件808經組態以計算物件之行進路徑、物件之速度向量、物件之可能未來路徑或類似者。
在一些具體實例中,記憶體716包括關於場景820之資訊,且處理器714經組態以參考關於場景820的資訊來計算移動物件之情況。舉例而言,在具體實例中,場景820之一部分標記為「入口」且場景820之一部分標記為「出口」。處理器714經組態以比較物件之運動及定位與入口及出口區域之位置以判定物件是否正朝向入口或出口移動,及因此經組態以追蹤及/或計數進入及/或退出場景820的物件之數目。在另一實例中,場景之一部分經標記為危險。處理器714經組態以比較物件之運動及定位與危險區域之位置以判定物件是否在危險中或正朝向危險移動,及因此經組態以傳輸包括物件在危險中或正移動至危險之指示的輸出資料。
在一些具體實例中,輸入深度影像830的資料並未饋入至OD-NN 704中,但實際上直接包括於輸出資料706中並傳輸至遠端計算器件850,例如以用作訓練資料。
此方法900藉由併有OD-CNN改良物件偵測器件之功能,以便在不使用專用GPU情況下實現即時物件偵測。此方法900亦藉由移除用於物件偵測之RGB攝影機之要求而改良物件偵測器件之功能。
不具有RGB攝影機之物件偵測器件不僅減少物件偵測器件之成本及複雜性,而且導致其他改良,諸如減小之隱私風險。用於物件偵測之許多 潛在應用係在公用或半公用空間中,在公用或半公用空間處的人們可對由攝影機進行的恆定觀測感到不舒適。另外,由於RGB影像並未被收集或儲存,所以私用或個人資訊被獲取的風險較小。特定言之,藉由物件偵測系統收集之RGB影像可包括諸如來自個人文件之文字。然而,深度影像不包括色彩,且因此表面上之文字或影像將並不可見。
實驗結果
對於以下實驗,物件偵測系統700安裝在天花板上以使得藉由器件之深度感測器718觀看的場景820包括門道。物件偵測系統700經操作以在大約1.5小時之一段時間內收集輸入深度影像830,同時通過門道的人們攜載各種物品,包括:膝上型電腦、背包、傘、電話、盒、杯及武器。
出於說明之目的,在此實例中之物件偵測系統700出於更清楚說明深度感測器718之觀看之目的包括與深度感測器718配對的RGB攝影機。然而,應理解僅僅出於說明之目的包括來自下文論述之RGB攝影機的RGB影像,然而並不表示RGB攝影機或配對資料對於物件偵測系統700之操作是必要的。圖10描繪所收集之輸入深度影像830之集合,在RGB影像旁邊展示有助於說明場景。
所收集之輸入深度影像830經提供至計算系統10以用於構建OD-CNN 704。MIL程序應用於輸入深度影像以計算影像中之物件的標識及定位。在此MIL程序中,每一註解之影像僅僅包括一個經識別及定位物件,以使得具有多個物件(亦即個人及背包)之單一訊框導致經註解以定位及識別個人的一個訓練訊框,及經註解以定位及識別背包的另一重複訊框。
含有物件之每一類別的訊框之總數目在下文列表於表1中。
Figure 108105640-A0305-02-0049-20
此等註解之訊框分成:第一集合,包括待用作以下實驗中之訓練資料的總訊框之80%;及第二集合,包括待用作測試資料之剩餘20%。
實驗1-不同基礎網路
在此實驗中,來自不同影像分類CNN之基礎網路用以構建OD-CNN。基礎網路係自以下各者中之每一者提取:(i)經預先訓練ZFNet影像分類CNN;(ii)經預先訓練ThiNet影像分類CNN;及(iii)經預先訓練VGG16影像分類CNN,其各自用以經由上文所論述之方法300構建OD-CNN。對於此實驗,上述使用訓練資料之訓練在沒有課程情況下執行,且無後訓練最佳化被執行。用於不同基礎網路之所得OD-CNN分別標記為(i)OD-ZFNet、(ii)OD-ThiNet及(iii)OD-VGG16。
測試資料經饋入至OD-CNN中之每一者中,且用於識別物件之每一類別的每一OD-CNN之準確度以及跨越全部物件類別之均值平均精度(mAP)在下文列表於表2中。
Figure 108105640-A0305-02-0049-21
自上述表2,OD-VGG16不僅展現最高mAP,而且展現針對每一物件類別之最高準確度。較大物件類別(諸如個人、背包、盒及武器)具有85%以上之高準確性,而較小物件類別(諸如杯及電話)具有40%以下之較低準確性,此可歸因於此等物件之可見特徵的較小尺度。另外,一些類別之較低準確度可起因於訓練資料中之彼等物件類別的過低表示。
實驗2-後訓練最佳化對濾波器之數目及CNN大小的影響
對於此實驗,VGG16之基礎網路用以構建三個相同物件分類CNN。其後,三個CNN中之每一者經歷後訓練最佳化之不同層級:第一層級,其不包括濾波器之修剪;第二層級,其包括相對低數量修剪(低);及第三層級,其包括相對高數量修剪(高)。第二及第三層級導致CNN之各種層中的濾波器之減小及每一CNN中之權重的總量之對應減小。包括經修剪之濾波器的層,以及各層級之權重的總數及每一所得OD-CNN之所得檔案大小係在圖11中列表。在圖11中,較高層級之修剪導致濾波器權重及檔案大小之較大減小。
實驗3-課程學習及後訓練最佳化對準確度的影響
課程學習及後訓練最佳化之影響係藉由使用來自實驗1之最佳執行基礎網路(亦即來自VGG16網路之基礎網路)及當改變課程學習之包括以及後訓練最佳化之存在及數量時重建OD-VGG16來判定。
對於此實驗,使用後訓練最佳化之三層:第一層,其不包括濾波器之修剪;第二層,其包括相對低數量修剪(低);及第三層,其包括相對高數量修剪(高)。對於此實驗,課程學習包括將訓練資料分成不包括其中註解定位及識別個人的訊框之批次D1,及包括經註解以定位及識別個人的訊框的批次D2。測試資料經饋入至OD-VGG16之每一版本中,且用於識別物件之每一 類別的每一版本之準確度以及跨越全部物件類別之均值平均精度(mAP)在下文列表於表3中。
Figure 108105640-A0305-02-0051-23
自上述內容,課程學習之應用始終升高物件偵測之準確度,但增加之量值當類別已經以相對高準確度來偵測時看來具有遞減地回應。另外,修剪看起來減小物件偵測之準確度,其中高修剪具有稍微更明顯影響。亦看起來修剪對對應於較小大小之物件的物件類別具有較高有害影響。
實驗4-課程學習及後訓練最佳化對計算能力需要的影響
上文針對實驗3所準備的OD-VGG16之每一版本經併入至具有不同處理架構之計算系統中。第一系統包括NVIDIA®GTX 1080 Ti專用GPU,具有3,584個核心之圖形卡。第二系統包括NVIDIA® Tesla K40專用GPU,具有2,880個核心之圖形卡。第三系統包括NVIDIA® Jetson TX1,具有265個核心之嵌入式GPU/CPU SOC。第四系統包括NVIDIA® Jetson TK1,具有192個核心之嵌入式GPU/CPU SOC。
測試資料經饋入至上述四個系統中之每一者的OD-VGG16之每 一版本中,但歸因於具有低總mAP而省略具有高修剪及沒有課程的版本。每一系統中之OG-VGG16之每一版本的訊框速率(以FPS計)以及每一版本之mAP及檔案大小在下文列表於表4中。
Figure 108105640-A0305-02-0052-24
此等結果說明藉由根據本發明之OD-CNN所實現的減小計算能力之改良。舉例而言,在具有3072核心之NVIDIA® TITAN X專用圖形卡上操作的具有74.3之類似mAP的習知物件偵測CNN操作在約59 FPS下。能夠在約155 FPS下操作的另一習知CNN以約52.7之mAP操作。因此,上述OD-VGG16之版本當操作於類似專用圖形卡上時相較於習知CNN為更快及更準確。然而,自上述表中,上述OD-VGG16之版本亦能夠在具有小於如上文所論述之專用圖形卡的處理核心之10%的嵌入式GPU上進行即時操作(亦即FPS>1)。
上述結果亦展示修剪導致FPS之顯著增加,及因此表示所需要計算能力的顯著減小。此外,少量修剪減小mAP小於5%,且導致大於50% FPS之增益。
實驗5-運用De-Novo測試資料測試OD-CNN
在此實驗中,在與用以收集先前實驗之資料集的門道完全分隔的不同門道處獲取六個額外測試深度影像。額外測試影像經獲取以便具有與先 前資料集中之影像相似視角。出於說明場景之目的,亦收集與測試深度影像配對的RGB影像。額外測試深度影像經饋入至根據本發明構建的OD-CNN中。圖12中列表額外測試影像、配對RGB影像及所得物件偵測及定位。自圖12,儘管特定場景係不同門道,OD-CNN仍能準確識別並定位額外測試影像中之物件。
其他應用及具體實例
應理解上文關於深度影像資料之技術、方法及器件亦適用於另一模態之影像資料,諸如x射線、紅外線、超聲波及類似者。
另外,雖然上文關於使用之特定應用(諸如安裝於門道上方的物件偵測器)論述實例、具體實例及實驗,但本文所記載之技術可應用於多種應用。舉例而言,在一個具體實例中,根據本發明之物件偵測器件安裝在汽車上以便偵測車輛之環境及/或實現車輛之輔助或自驅動操作。在另一具體實例中,根據本發明之物件偵測器件併入至基於面部特徵、身體特徵、移動圖案等識別並授權使用者的使用者鑑認系統中。在另一具體實例中,根據本發明之物件偵測器件經組態以追蹤在經界定空間內的物件之位置。在具體實例中,根據本發明之物件偵測器件經組態以偵測個人之運動及/或手勢,以便藉由執行不同運動及手勢來實現個人與計算系統的互動。在一個具體實例中,諸如行動電話之行動器件包括深度感測器並併有根據本發明之OD-CNN。
雖然已在附圖及前述實施方式中說明及詳細描述本發明,但該等附圖及實施方式之特徵應視為說明性及非限制性的。應理解僅已呈現較佳具體實例,而處於本發明之精神內的所有變化、修改及進一步應用均需要保護。
10:計算系統
12:外殼
14:處理器
16:記憶體
18:顯示器
20:使用者介面
22:網路通信模組
24:程式指令
26:資料
28:OD-CNN構建程式
31:影像分類CNN資料
32:訓練資料集

Claims (14)

  1. 一種構建基於深度之物件偵測卷積神經網路之方法,其包含:在記憶體中儲存對應於物件卷積神經網路之資料及程式指令,該物件卷積神經網路包括:基礎網路,其經組態以接收RGB影像資料作為輸入,且計算指示所接收之該RGB影像資料中之物件之至少一個特徵的輸出資料,該基礎網路在對該至少一個特徵的偵測進行計算上使用RGB影像資料集予以預先訓練;及額外結構,其經組態以接收該基礎網路之該輸出資料作為輸入,並計算包括該物件的所接收之該RGB影像中之區域的位置之預測及該物件之類別的預測,使得該物件偵測卷積神經網路經組態以接收RGB測試影像資料作為輸入,並計算該些預測作為輸出;在該記憶體中儲存用於訓練深度影像之資料集,每一訓練深度影像包括至少一個註解,其將各別深度影像之區域定位成含有訓練物件並識別該訓練物件之類別;藉由將在訓練深度影像之該資料集中的每一影像重新格式化為RGB影像,以產生用於該物件偵測卷積神經網路之訓練資料集;及運用處理器以使用該訓練資料集來訓練該物件偵測卷積神經網路,以形成基於深度之物件偵測卷積神經網路,該基於深度之物件偵測卷積神經網路經組態以接收經格式化為RGB影像資料之深度影像作為輸入,並計算包括測試物件的所接收之該深度影像中的區域之位置之預測及該測試物件之類別的預測作為輸出,其中該記憶體包括用於訓練深度影像之該資料集中的每一影像之複雜性量度,該些複雜性量度指示各別影像之特徵複雜性;且 其中該處理器經組態以根據藉由升高該些複雜性量度來定序該訓練資料集內之影像的課程,而將該訓練資料集引入至該物件偵測卷積神經網路。
  2. 如請求項1所述之方法,其中:該訓練資料集經分段成第一批次及第二批次,使得該第一批次之複雜性量度高於該第二批次之複雜性量度;且該課程包括使用該訓練資料集之該第一批次來訓練該物件偵測卷積神經網路,及接著使用該訓練資料集之該第一批次及該第二批次來訓練該物件偵測卷積神經網路。
  3. 如請求項1所述之方法,其中:該物件偵測卷積神經網路包括分佈在序列層中的複數個卷積濾波器;該複數個卷積濾波器中之每一卷積濾波器經組態以接收輸入資料,並藉由對於該輸入資料卷積各別權重矩陣來計算卷積輸出資料;該序列層中之每一層經組態以接收輸入資料,並計算藉由該層中之每一濾波器的該輸出資料之組合所形成的輸出資料;該基礎網路包括該序列層之第一子集;且該額外結構包括該序列層之第二子集。
  4. 如請求項3所述之方法,其中:該序列層之該第二部分包括複數個特徵映射層;每一特徵映射層具有不同維度,並經組態以針對對應於該特徵映射層之該各別維度的尺度之該特徵映射層來偵測該輸入資料中的特徵;且該複數個特徵映射層按下降維度之次序配置於該序列層內。
  5. 如請求項4所述之方法,其中該額外結構進一步包括經組態以執行以下操作之後處理區塊:自每一特徵映射層接收該輸出資料; 自由該複數個特徵映射層所偵測的特徵之中選擇具有與特定分類之物件的相對最高對應關係的特定特徵;基於該特徵之位置來計算該物件之位置;及輸出該物件之該位置及該分類。
  6. 如請求項3所述之方法,其進一步包含:在訓練該物件偵測卷積神經網路之後:識別該複數個卷積濾波器中之至少一個卷積濾波器,其為以下情況中之至少一者:(i)為該複數個卷積濾波器中之另一個卷積濾波器的至少部分冗餘;及(ii)對該物件偵測卷積神經網路之該輸出具有低於預定臨限值的影響;及修改對應於該基於深度之物件偵測卷積神經網路的該些資料及程式指令,以自該基於深度之物件偵測卷積神經網路消除所識別之該至少一個濾波器。
  7. 如請求項6所述之方法,其進一步包含:在自該基於深度之物件偵測卷積神經網路消除所識別之該至少一個濾波器之後,運用該處理器以使用該訓練資料集來訓練該基於深度之物件偵測卷積神經網路。
  8. 如請求項7所述之方法,其中:當訓練該物件偵測卷積神經網路時,在該基礎網路中的該序列層之該第一部分內的濾波器之該些權重矩陣經凍結;且當訓練該基於深度之物件偵測卷積神經網路時,在該基於深度之物件偵測卷積神經網路內的全部濾波器之該些權重矩陣經解凍。
  9. 一種用於構建基於深度之物件偵測卷積神經網路的系統,該系統包含: 資料儲存器件,其經組態以儲存以下各者:對應於物件偵測卷積神經網路之資料及程式指令,該物件偵測卷積神經網路包括:基礎網路,其經組態以接收RGB影像資料作為輸入,且計算指示所接收之該RGB影像資料中之物件之至少一個特徵的輸出資料,該基礎網路在對該至少一個特徵的偵測進行計算上使用RGB影像資料集予以預先訓練;及額外結構,其經組態以接收該基礎網路之該輸出資料作為輸入,並計算包括該物件的所接收之該RGB影像中之區域的位置之預測及該物件之類別的預測,使得該物件偵測卷積神經網路經組態以接收RGB測試影像資料作為輸入,並計算該些預測作為輸出;及用於訓練深度影像之資料集,每一訓練深度影像包括至少一個註解,其將各別深度影像之區域定位成含有訓練物件並識別該訓練物件之類別;及至少一個處理器,其在操作上連接至該資料儲存器件,該至少一個處理器經組態以執行該資料儲存器件上之該複數個程式指令以:藉由將深度影像之該資料集重新格式化為RGB影像資料而產生訓練資料集;及使用該訓練資料集來訓練該物件偵測卷積神經網路以便形成基於深度之物件偵測卷積神經網路,其中該資料儲存器件包括用於訓練深度影像之該資料集中的每一影像之複雜性量度,該些複雜性量度指示各別影像之特徵複雜性;且其中該至少一個處理器經組態以根據藉由升高該些複雜性量度來定序該訓練資料集內之影像的課程,而將該訓練資料集引入至該物件偵測卷積神經網 路。
  10. 一種用於定位場景內之物件並識別該物件之分類的物件偵測系統,該物件偵測系統包含:資料儲存器件,其儲存對應於基於深度之物件偵測卷積神經網路的資料及程式指令,該基於深度之物件偵測卷積神經網路經組態以接收經格式化為RGB影像資料之深度影像作為輸入,並計算包括測試物件的所接收之該深度影像中之區域的位置之預測及該測試物件之類別的預測作為輸出;深度感測器,其經組態以感測至場景中之表面上之各種點的距離,並參考所感測之該些距離來計算深度影像資料;輸出組件;及處理器,其在操作上連接至該資料儲存器件、該深度感測器及該輸出組件,且經組態以:操作該深度感測器以收集深度影像資料;將該深度影像資料重新格式化為RGB影像資料;判定包括該物件的該深度影像資料中之區域的位置之預測,並藉由經由該基於深度之物件偵測卷積神經網路來饋入對應的該RGB影像資料而識別該物件之分類;及經由該輸出組件輸出該物件之該位置及該分類,其中該資料儲存器件包括用於訓練深度影像之該資料集中的每一影像之複雜性量度,該些複雜性量度指示各別影像之特徵複雜性;且其中該處理器經組態以根據藉由升高該些複雜性量度來定序該訓練資料集內之影像的課程,而將該訓練資料集引入至該物件偵測卷積神經網路。
  11. 如請求項10所述之物件偵測系統,其中該基於深度之物件偵測卷積神經網路包括: 基礎網路,其經組態以接收經格式化為RGB影像資料之一深度影像作為輸入,並計算指示該RGB影像資料中之物件之至少一個特徵的輸出資料;及額外結構,其經組態以接收該基礎網路之該輸出資料作為輸入,並計算包括該測試物件的所接收之該深度影像中的該區域之該位置的預測及該測試物件之該類別的預測作為輸出。
  12. 如請求項10所述之物件偵測系統,其中該處理器為晶片上系統,其包括中央處理單元及嵌入有該中央處理單元之圖形處理單元。
  13. 如請求項12所述之物件偵測系統,其中該處理器經組態以操作該深度感測器來收集深度影像資料,並操作該輸出組件而經由該輸出組件以超過每秒1訊框之速率輸出該物件之該位置及該分類。
  14. 如請求項13所述之物件偵測系統,其中該處理器經組態以判定在該影像資料中之複數個物件的位置之預測及每一物件之各別標識。
TW108105640A 2018-02-21 2019-02-20 用於使用深度感測器進行即時物件偵測的系統和方法 TWI794414B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862633202P 2018-02-21 2018-02-21
US62/633,202 2018-02-21

Publications (2)

Publication Number Publication Date
TW201944283A TW201944283A (zh) 2019-11-16
TWI794414B true TWI794414B (zh) 2023-03-01

Family

ID=65685293

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108105640A TWI794414B (zh) 2018-02-21 2019-02-20 用於使用深度感測器進行即時物件偵測的系統和方法

Country Status (5)

Country Link
US (1) US11734910B2 (zh)
EP (1) EP3756129A1 (zh)
CN (1) CN111712830B (zh)
TW (1) TWI794414B (zh)
WO (1) WO2019162241A1 (zh)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200065706A1 (en) * 2018-08-24 2020-02-27 Htc Corporation Method for verifying training data, training system, and computer program product
US11657322B2 (en) * 2018-08-30 2023-05-23 Nec Corporation Method and system for scalable multi-task learning with convex clustering
JP7135750B2 (ja) * 2018-11-12 2022-09-13 富士通株式会社 学習プログラム、学習方法、学習装置、検知プログラム、検知方法及び検知装置
EP3671530A1 (en) * 2018-12-17 2020-06-24 Koninklijke Philips N.V. Device, system and method for object recognition
US11580379B1 (en) * 2019-01-29 2023-02-14 Amazon Technologies, Inc. Phased deployment of deep-learning models to customer facing APIs
US20220051413A1 (en) * 2019-03-13 2022-02-17 Nec Corporation Object tracking device, object tracking method, and recording medium
US11494616B2 (en) * 2019-05-09 2022-11-08 Shenzhen Malong Technologies Co., Ltd. Decoupling category-wise independence and relevance with self-attention for multi-label image classification
US11087494B1 (en) * 2019-05-09 2021-08-10 Zoox, Inc. Image-based depth data and localization
US11165954B1 (en) * 2019-06-19 2021-11-02 Objectvideo Labs, Llc Scene-aware custom tuned video surveillance detection system
FR3099278B1 (fr) * 2019-07-22 2023-08-04 Bull Sas Procédé de surveillance vidéo du franchissement d’une ligne par des personnes, programme d’ordinateur et dispositif correspondants
CN112306555A (zh) * 2019-07-30 2021-02-02 北京百度网讯科技有限公司 并行提取多个卷积窗中的图像数据的方法、装置、设备以及计算机可读存储介质
US20210056357A1 (en) * 2019-08-19 2021-02-25 Board Of Trustees Of Michigan State University Systems and methods for implementing flexible, input-adaptive deep learning neural networks
US11216705B2 (en) * 2019-08-21 2022-01-04 Anyvision Interactive Technologies Ltd. Object detection based on machine learning combined with physical attributes and movement patterns detection
DE102019215255A1 (de) * 2019-10-02 2021-04-08 Robert Bosch Gmbh Vorrichtung und Verfahren zum Verarbeiten von Daten eines neuronalen Netzes
JP2022550785A (ja) * 2019-10-07 2022-12-05 日本電気株式会社 視覚物体追跡方法、視覚物体追跡システム、学習方法、及び学習システム
CN110956094B (zh) * 2019-11-09 2023-12-01 北京工业大学 一种基于非对称双流网络的rgb-d多模态融合人员检测方法
US11157774B2 (en) * 2019-11-14 2021-10-26 Zoox, Inc. Depth data model training with upsampling, losses, and loss balancing
TWI712011B (zh) 2019-12-18 2020-12-01 仁寶電腦工業股份有限公司 安全警示語音提示方法
DE102020000863A1 (de) * 2019-12-19 2021-06-24 RoBoTec PTC GmbH Verfahren zum rechnergestützten Lernen eines künstlichen neuronalen Netzwerkes zur Erkennung von strukturellen Merkmalen von Objekten
TWI702536B (zh) * 2019-12-31 2020-08-21 財團法人工業技術研究院 基於適應標註的物件偵測模型的訓練方法及系統
CN111260633B (zh) * 2020-01-16 2024-05-10 平安科技(深圳)有限公司 基于全局语境的肾小球分型方法、设备、存储介质及装置
DE102020203047A1 (de) 2020-03-10 2021-09-16 Robert Bosch Gesellschaft mit beschränkter Haftung Effiziente gleichzeitige Inferenzberechnung für mehrere neuronale Netzwerke
CN111414827B (zh) * 2020-03-13 2022-02-08 四川长虹电器股份有限公司 基于稀疏编码特征的深度图像人体检测方法及系统
CN111460958B (zh) * 2020-03-26 2023-05-05 暗物智能科技(广州)有限公司 一种物体检测器构建、物体检测方法及系统
TWI808321B (zh) * 2020-05-06 2023-07-11 圓展科技股份有限公司 應用於畫面顯示的物件透明度改變方法及實物投影機
CN111489354B (zh) * 2020-05-18 2023-07-14 国网浙江省电力有限公司检修分公司 电力塔架上鸟巢的检测方法、装置、服务器及存储介质
CN111709310B (zh) * 2020-05-26 2024-02-02 重庆大学 一种基于深度学习的手势跟踪与识别方法
CN111709319A (zh) * 2020-05-28 2020-09-25 武汉工程大学 一种铁路工机具清点方法及装置
WO2021247034A1 (en) * 2020-06-05 2021-12-09 Aetherai Ip Holding Llc Object detection method and convolution neural network for the same
US11055617B1 (en) * 2020-06-30 2021-07-06 DeepCube LTD. Partial-activation of neural network based on heat-map of neural network activity
US20220057806A1 (en) * 2020-08-18 2022-02-24 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for obstacle detection using a neural network model, depth maps, and segmentation maps
CN112329535B (zh) * 2020-09-29 2023-03-24 国网四川省电力公司经济技术研究院 基于cnn的电力系统低频振荡模态特征的快速辨识方法
US11361545B1 (en) * 2020-11-20 2022-06-14 Himax Technologies Limited Monitoring device for detecting object of interest and operation method thereof
KR20220069385A (ko) * 2020-11-20 2022-05-27 한국전자기술연구원 고속 후처리가 가능한 딥러닝 장치
CN112651400B (zh) * 2020-12-31 2022-11-15 重庆西山科技股份有限公司 一种立体内窥镜辅助检测方法、系统、装置及存储介质
CN112911171B (zh) * 2021-02-04 2022-04-22 上海航天控制技术研究所 一种基于加速处理的智能光电信息处理系统及方法
CN113239962A (zh) * 2021-04-12 2021-08-10 南京速度软件技术有限公司 一种基于单个固定摄像头的交通参与者的识别方法
CN113221659B (zh) * 2021-04-13 2022-12-23 天津大学 一种基于不确定感知网络的双光车辆检测方法及装置
US11928505B2 (en) * 2021-05-12 2024-03-12 Lockheed Martin Corporation Feature extraction from perception data for pilot assistance with high workload tasks
CN113486726B (zh) * 2021-06-10 2023-08-01 广西大学 一种基于改进卷积神经网络的轨道交通障碍物检测方法
CN113836999A (zh) * 2021-08-16 2021-12-24 山东大学 基于探地雷达的隧道施工风险智能识别方法及系统
CN113837263B (zh) * 2021-09-18 2023-09-26 浙江理工大学 基于特征融合注意力模块和特征选择的手势图像分类方法
CN113888494B (zh) * 2021-09-28 2022-08-30 广州市华颉电子科技有限公司 一种汽车域控制器的人工智能接口引脚质量检测方法
CN116152690A (zh) * 2021-11-17 2023-05-23 瑞昱半导体股份有限公司 视频分类系统与方法以及神经网络训练系统与方法
CN114239560B (zh) * 2021-12-03 2024-06-07 上海人工智能创新中心 三维图像分类方法、装置、设备和计算机可读存储介质
US20230186637A1 (en) * 2021-12-10 2023-06-15 Ford Global Technologies, Llc Systems and methods for detecting deep neural network inference quality using image/data manipulation without ground truth information
CN114818880B (zh) * 2022-04-07 2024-04-09 齐鲁工业大学 一种YOLOv3铁路关键作业流程自动鉴别方法与系统
CN118097482A (zh) * 2022-11-25 2024-05-28 中国科学院深圳先进技术研究院 一种基于视频超分辨率的多目标识别方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104217214A (zh) * 2014-08-21 2014-12-17 广东顺德中山大学卡内基梅隆大学国际联合研究院 基于可配置卷积神经网络的rgb-d人物行为识别方法
CN105224942A (zh) * 2015-07-09 2016-01-06 华南农业大学 一种rgb-d图像分类方法及系统
CN106709568A (zh) * 2016-12-16 2017-05-24 北京工业大学 基于深层卷积网络的rgb‑d图像的物体检测和语义分割方法
CN107423698A (zh) * 2017-07-14 2017-12-01 华中科技大学 一种基于并联卷积神经网络的手势估计方法
WO2017220966A1 (en) * 2016-06-24 2017-12-28 Imperial College Of Science, Technology And Medicine Detecting objects in video data
CN107578436A (zh) * 2017-08-02 2018-01-12 南京邮电大学 一种基于全卷积神经网络fcn的单目图像深度估计方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102276339B1 (ko) * 2014-12-09 2021-07-12 삼성전자주식회사 Cnn의 근사화를 위한 학습 장치 및 방법
US9633282B2 (en) * 2015-07-30 2017-04-25 Xerox Corporation Cross-trained convolutional neural networks using multimodal images
US9904849B2 (en) * 2015-08-26 2018-02-27 Digitalglobe, Inc. System for simplified generation of systems for broad area geospatial object detection
EP3430427B1 (en) * 2016-03-14 2021-07-21 IMRA Europe S.A.S. Processing method of a 3d point cloud
CN106407986B (zh) * 2016-08-29 2019-07-19 电子科技大学 一种基于深度模型的合成孔径雷达图像目标识别方法
CN107194872B (zh) * 2017-05-02 2019-08-20 武汉大学 基于内容感知深度学习网络的遥感图像超分辨率重建方法
WO2019009449A1 (ko) * 2017-07-06 2019-01-10 삼성전자 주식회사 영상을 부호화/복호화 하는 방법 및 그 장치
US20190079536A1 (en) * 2017-09-13 2019-03-14 TuSimple Training and testing of a neural network system for deep odometry assisted by static scene optical flow

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104217214A (zh) * 2014-08-21 2014-12-17 广东顺德中山大学卡内基梅隆大学国际联合研究院 基于可配置卷积神经网络的rgb-d人物行为识别方法
CN105224942A (zh) * 2015-07-09 2016-01-06 华南农业大学 一种rgb-d图像分类方法及系统
WO2017220966A1 (en) * 2016-06-24 2017-12-28 Imperial College Of Science, Technology And Medicine Detecting objects in video data
CN106709568A (zh) * 2016-12-16 2017-05-24 北京工业大学 基于深层卷积网络的rgb‑d图像的物体检测和语义分割方法
CN107423698A (zh) * 2017-07-14 2017-12-01 华中科技大学 一种基于并联卷积神经网络的手势估计方法
CN107578436A (zh) * 2017-08-02 2018-01-12 南京邮电大学 一种基于全卷积神经网络fcn的单目图像深度估计方法

Also Published As

Publication number Publication date
WO2019162241A1 (en) 2019-08-29
CN111712830A (zh) 2020-09-25
US11734910B2 (en) 2023-08-22
CN111712830B (zh) 2024-02-09
TW201944283A (zh) 2019-11-16
EP3756129A1 (en) 2020-12-30
US20210089841A1 (en) 2021-03-25

Similar Documents

Publication Publication Date Title
TWI794414B (zh) 用於使用深度感測器進行即時物件偵測的系統和方法
Ghaderizadeh et al. Hyperspectral image classification using a hybrid 3D-2D convolutional neural networks
CN108416307B (zh) 一种航拍图像路面裂缝检测方法、装置及设备
CN105930868B (zh) 一种基于层次化增强学习的低分辨率机场目标检测方法
CN109977757B (zh) 一种基于混合深度回归网络的多模态的头部姿态估计方法
CN105631892B (zh) 一种基于阴影和纹理特征的航空影像建筑物损毁检测方法
CN108470354A (zh) 视频目标跟踪方法、装置和实现装置
CN107871106A (zh) 人脸检测方法和装置
CN106023257A (zh) 一种基于旋翼无人机平台的目标跟踪方法
Cheng et al. Augmented reality dynamic image recognition technology based on deep learning algorithm
CN105069478A (zh) 基于超像素张量稀疏编码的高光谱遥感地物分类方法
Alidoost et al. Knowledge based 3D building model recognition using convolutional neural networks from LiDAR and aerial imageries
Shang et al. Facilitating efficient mars terrain image classification with fuzzy-rough feature selection
CN109919246A (zh) 基于自适应特征聚类和多重损失融合的行人重识别方法
CN109740539A (zh) 基于超限学习机和融合卷积网络的3d物体识别方法
JP2019185787A (ja) 地理的地域内のコンテナのリモート決定
Tabernik et al. Towards deep compositional networks
Sun et al. Perceptual multi-channel visual feature fusion for scene categorization
Lei et al. Image Segmentation: Principles, Techniques, and Applications
Qin et al. Depth estimation by parameter transfer with a lightweight model for single still images
Bagwari et al. A comprehensive review on segmentation techniques for satellite images
Saha et al. A new line symmetry distance based automatic clustering technique: application to image segmentation
JP7225731B2 (ja) 多変数データシーケンスの画像化
CN108960005A (zh) 一种智能视觉物联网中对象视觉标签的建立及显示方法、系统
Wu et al. Detection algorithm for dense small objects in high altitude image