TWI738009B - 物件偵測系統及物件偵測方法 - Google Patents
物件偵測系統及物件偵測方法 Download PDFInfo
- Publication number
- TWI738009B TWI738009B TW108121565A TW108121565A TWI738009B TW I738009 B TWI738009 B TW I738009B TW 108121565 A TW108121565 A TW 108121565A TW 108121565 A TW108121565 A TW 108121565A TW I738009 B TWI738009 B TW I738009B
- Authority
- TW
- Taiwan
- Prior art keywords
- object detection
- output
- layer
- convolutional
- level
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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
- G06V10/44—Local 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/443—Local 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/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
物件偵測系統,包含影像擷取裝置、記憶體及處理器。影像擷取裝置用以擷取影像。記憶體儲存對應推論引擎的指令,推論引擎配適於具多重階層的卷積神經網路結構,其包含第一及第二階層與物件偵測層。處理器用以執行指令以:降低第二階層的複數卷積層的網路寬度;根據調整後的卷積神經網路結構運行推論引擎,使第一階層接收影像為初始輸入;輸入第一階層根據初始輸入產生的第一輸出至第二階層以及物件偵測層;輸入第二階層根據第一輸出產生的第二輸出至物件偵測層;以及物件偵測層根據第一輸出及第二輸出產生最終輸出以對影像進行物件偵測。
Description
本案涉及一種物件偵測系統及物件偵測方法,尤為一種基於卷積神經網路結構的物件偵測系統及物件偵測方法。
眾所皆知地,類神經網路(Neural Network)需要大量的資料運算。在先前技術中,可於資料中心(Data Center)的電腦內配置額外的影像處理器(GPU)或其他種類的加速裝置,例如現場可程式化邏輯閘陣列(FPGA)。然後,邊緣裝置(Edge Device)可藉由透過網路通訊技術(例如:Wi-Fi、Ethernet)與資料中心的電腦通訊耦接,並將影像傳輸至資料中心。資料中心的電腦可根據類神經網路進行運算,再將結果傳輸回邊緣裝置。在此種系統配置下,邊緣裝置獲取運算結果的速度不佳,難以滿足各種應用程序的需求。
為了解決前述問題,本案提出下列的實施態樣,使物件偵測程序能較佳地運作於邊緣裝置上。
本案的一實施態樣係關於一種物件偵測系統。該物件偵測系
統至少包含一影像擷取裝置、一記憶體以及一處理器,該記憶體以及該影像擷取裝置耦接於該處理器。該影像擷取裝置用以擷取一影像。該記憶體用以儲存儲存對應於一推論引擎的至少一指令,該推論引擎配適於具有多重階層的一卷積神經網路結構,該卷積神經網路結構的該多重階層包含接收一初始輸入的一第一階層、連接於該第一階層的一第二階層以及連接於該第二階層的一物件偵測層,其中該第一階層的複數第一卷積層對應一第一網路寬度且該第二階層的複數第二卷積層對應一第二網路寬度。該處理器用以自該記憶體存取並執行該至少一指令以執行以下步驟:調整該卷積神經網路結構以降低該些第二卷積層的該第二網路寬度;根據調整後的該卷積神經網路結構運行該推論引擎,使該第一階層接收該影像,其中該影像為該初始輸入;該第一階層根據該初始輸入產生一第一輸出,並將該第一輸出輸入該第二階層以及該物件偵測層;該第二階層根據該第一輸出產生一第二輸出,並將該第二輸出輸入該物件偵測層;以及該物件偵測層根據該第一輸出以及該第二輸出產生一最終輸出以對該影像進行物件偵測。
本案的另一實施態樣係關於一種物件偵測方法。該物件偵測方法由一處理器所執行。該物件偵測方法至少包含以下步驟:存取對應於一推論引擎的至少一指令,其中該推論引擎配適於具有多重階層的一卷積神經網路結構,該卷積神經網路結構的該多重階層包含接收一初始輸入的一第一階層、連接於該第一階層的一第二階層以及連接於該第二階層的一物件偵測層,其中該第一階層的複數第一卷積層對應一第一網路寬度且該第二階層的複數第二卷積層對應一第二網路寬度;調整該卷積神經網路結構以降低該些第二卷積層的該第二網路寬度;根據調整後的該卷積神經網路結構運行該推論引擎,使該第一階層接收一影像,其
中該影像為該初始輸入;該第一階層根據該初始輸入產生一第一輸出,並將該第一輸出輸入該第二階層以及該物件偵測層;該第二階層根據該第一輸出產生一第二輸出,並將該第二輸出輸入該物件偵測層;以及該物件偵測層的根據該第一輸出以及該第二輸出產生一最終輸出以對該影像進行物件偵測。
因此,根據本案的前述實施態樣,本案至少提供一種物件偵測系統以及物件偵測方法,可在運算速度提升的前提下維持偵測準確率。
100:物件偵測系統
110:記憶體
120:處理器
130:影像擷取裝置
200:物件偵測方法
S201~S205:步驟流程
N:卷積神經網路結構
SC1~SC6:階層
SC7:物件偵測層
INP:初始輸入
OP1~OP6:輸出
C1~C15:卷積層
參照後續段落中的實施方式以及下列圖式,當可更佳地理解本發明的內容:第1圖係基於本案一些實施例所繪示的物件偵測系統的示意圖;第2圖係基於本案一些實施例所繪示的物件偵測方法的流程圖;第3圖係基於本案一些實施例所繪示的卷積神經網路結構的示意圖;第4圖係基於本案一些實施例所繪示的卷積神經網路結構的部分示意圖;第5圖係為基於本案一些實施例所繪示的卷積神經網路結構的部分示意圖;以及第6圖係為基於本案一些實施例所繪示的卷積神經網路結構的部分示意圖。
以下將以圖式及詳細敘述清楚說明本案之精神,任何所屬技
術領域中具有通常知識者在瞭解本案之實施例後,當可由本案所教示之技術,加以改變及修飾,其並不脫離本案之精神與範圍。
關於本文中所使用之『包含』、『包括』、『具有』、『含有』等等,均為開放性的用語,意指包含但不限於。
關於本文中所使用之用詞(terms),除有特別註明外,通常具有每個用詞使用在此領域中、在本案之內容中與特殊內容中的平常意義。某些用以描述本案之用詞將於下或在此說明書的別處討論,以提供本領域技術人員在有關本案之描述上額外的引導。
請參照第1圖,其係為基於本案一些實施例所繪示的物件偵測系統的示意圖。如第1圖所示,在一些實施例中,物件偵測系統100包含記憶體110以及處理器120,記憶體110電性/通訊耦接於處理器120。在又一些實施例中,物件偵測系統100更包含一影像擷取裝置130,影像擷取裝置130電性/通訊耦接於處理器120。
在一些實施例中,物件偵測系統100當中的記憶體110、處理器120以及影像擷取裝置130可共同設置於一處以構成可獨立運作的邊緣裝置(Edge Device)。在一些實施例中,物件偵測系統100的影像擷取裝置130主要用以擷取影像(或連續的影像串流),使處理器120可根據記憶體中所儲存的指令以處理影像擷取裝置130所擷取之影像,以實現物件偵測系統100之功能。
應理解,本案所稱的「電性耦接」或「通訊耦接」可為實體或非實體之耦接。例如,在一些實施例中,處理器120可以藉由無線通訊技術耦接至記憶體110,藉此兩者可進行雙向的訊息交換。在一些實施例中,記憶體110以及處理器120可以藉由實體線路耦接,藉此兩者亦可進行雙向的訊息交換。前述實施例皆可稱作「電性耦接」或「通訊
耦接」。
在一些實施例中,記憶體110可為包含但不限於快閃(flash)記憶體、硬碟(HDD)、固態硬碟(SSD)、動態隨機存取記憶體(DRAM)或靜態隨機存取記憶體(SRAM)當中的一者或其組合。在一些實施例中,作為一種非暫態電腦可讀取媒體,記憶體110更可儲存至少一電腦可讀取指令,至少一電腦可讀取指令可供處理器120存取,處理器120可執行至少一電腦可讀取指令以運行一應用程序,藉以實現物件偵測系統100之功能。
在一些實施例中,處理器120可包含但不限於單一處理器或多個微處理器之集成,例如,中央處理器(CPU)、繪圖處理器(GPU)或特殊應用電路(ASIC)等。承前所述,在一些實施例中,處理器120可用以自記憶體110存取並執行至少一電腦可讀取指令,藉以運行應用程序,進而實現物件偵測系統100之功能。
在一些實施例中,影像擷取裝置130可包含但不限於一般用途光學攝影機、紅外線攝影機、深度攝影機或可調式攝影機等。在一些實施例中,影像擷取裝置130係為可單獨運作之裝置,其可獨自擷取並儲存影像串流。在一些實施例中,影像擷取裝置130可擷取影像串流,並將影像串流儲存至記憶體110。在一些實施例中,影像擷取裝置130可擷取影像串流,由處理器120處理後儲存至記憶體110。
為了更佳地理解本案,由處理器120運行的應用程序之內容將於下面段落中詳細解釋。
請參照第2圖,其係為基於本案一些實施例所繪示的物件偵測方法的流程圖。如第2圖所示,在一些實施例中,物件偵測方法200由第1圖的物件偵測系統100的處理器120所實施。為了更佳地理解下面
實施例,請一併參照第1圖之實施例,以理解物件偵測系統100當中各單元的運作。
詳細而言,第2圖所示的物件偵測方法200即為第1圖之實施例所述的應用程序,其係由處理器120自記憶體110讀取並執行至少一電腦可讀取指令以運作。在一些實施例中,物件偵測方法200的詳細步驟如下所示。
S201:存取對應於推論引擎的至少一指令,其中推論引擎配適於具有多重階層的卷積神經網路結構,卷積神經網路結構的多重階層包含第一階層、連接於第一階層的第二階層以及連接於第二階層的物件偵測層,其中第一階層的複數第一卷積層對應第一網路寬度且第二階層的複數第二卷積層對應第二網路寬度。
在一些實施例中,處理器120可執行至少一電腦可讀取指令以運行基於一卷積神經網路結構(Convolutional Neural Network Architecture)的一推論引擎(Inference Engine)。在一些實施例中,推論引擎係為一種物件偵測程序,其功能為對影像中的特定物件進行物件偵測。
為了更佳地理解,請參照第3圖。第3圖係為基於本案一些實施例所繪示的卷積神經網路結構的示意圖。第3圖繪示了具有多重階層(Multi-Scale)的卷積神經網路結構N。在一些實施例中,卷積神經網路結構N至少具有階層SC1~SC6以及物件偵測層SC7。應注意的是,本案的卷積神經網路結構並不以此為限。
在一些實施例中,階層SC1~SC6可各自包含複數運算層,例如:卷積層(Convolution Layers)。在一些實施例中,階層SC1~SC6亦可根據需求選擇性地包含池化層(Pooling Layers)或激勵函數
(Activation Function)。
在一些實施例中,每個卷積層可根據具有特定形狀(Shape)的過濾器(Filter)對其輸入值進行卷積運算,卷積運算產生的結果即為卷積層的輸出值。應注意的是,各卷積層的過濾器形狀可理解為藉由不同的特徵萃取(Feature Extract)方式對此層的輸入值進行運算。應理解,階層SC1~SC6包含的卷積層可具有相同/不同的過濾器形狀,使每個卷積層具有相同/不同的網路寬度(Width)。卷積神經網路結構N的設計者可根據需求決定各卷積層的過濾器形狀,以控制各卷積層的網路寬度。
如第3圖所示,在一些實施例中,階層SC1可用以接收初始輸入INP。初始輸入INP經階層SC1進行卷積運算後產生輸出值OP1。輸出值OP1將被輸入至階層SC2,以作為階層SC2的輸入值。輸出值OP1經階層SC2進行卷積運算後產生輸出值OP2。輸出值OP2將被輸入至階層SC3,以作為階層SC3的輸入值。關於其餘輸出值OP3~OP6的產生方式皆同上所述,於此不再贅述。
在一些實施例中,初始輸入INP可為關聯於一影像的資訊,其中所述的影像的資訊可以包含三原色值、深度資訊以及非可見光值。
在一些實施例中,影像的尺寸為224*224*3,各數值分別用以表示影像的長、寬以及通道(Channel)數,其中影像的長及寬可表示影像的解析度(Resolution),影像的通道數係對應於影像的特徵值,例如為影像的三原色(Red,Green,Blue值。於本實施例中,後續將以網路寬度來代表影像的特徵值。若階層SC1的第一個卷積層使用的過濾器形狀為3*3*3*64,此卷積層的網路寬度為64,影像經此卷積層進行卷積運算後獲得的輸出值尺寸為112*112*64。由此可見,經由卷積層對
輸入值進行卷積運算後,輸出值的前兩數值降低(即,解析度降低),但寬度增加。亦即,若將階層SC1~SC6依序產生的輸出值OP1~OP6理解為影像,輸出值OP1~OP6的解析度依序遞減,輸出值OP6具有最小的解析度。
在一些實施例中,根據卷積神經網路結構N當中各卷積層對應的相同/不同網路寬度,各卷積層的輸出值尺寸可相同/不同。如第3圖所示,階層SC1~SC6當中各卷積層的網路寬度大致呈遞增排列(例如:3、32、64、128、256、512、1024、...等),且階層SC1~SC6中包含某些連續卷積層可具有相同的網路寬度(例如:依序為3、32、32、64、64、128、128、128、128、256、256、...等)。亦即,階層SC1的卷積層的網路寬度小於階層SC2當中的卷積層的網路寬度,階層SC2當中的卷積層的網路寬度小於階層SC3的卷積層的網路寬度。其餘階層的網路寬度可依此類推,於此不再贅述。
應注意的是,如第3圖所示,階層SC1~SC5各自產生的輸出OP1~OP5除了直接輸入至下一階層外,亦直接輸入至物件偵測層SC7。因此,第3圖的卷積神經網路結構N係為一種單次多框偵測器(Single Shot Multi-Box Detector,SSD)。在一些實施例中,如第3圖所示的卷積神經網路結構N可藉由MobileNet框架或Resnext框架實施,但本案並不以此為限。
S202:調整卷積神經網路結構以降低第二卷積層的第二網路寬度。
應理解,利用卷積神經網路結構N進行物件偵測的實驗結果顯示,若將卷積神經網路結構N整體的網路寬度降低,可有效地提升物件偵測的運算速度。然而,實驗結果亦顯示,若卷積神經網路結構N的
整體網路寬度降低,將導致偵測準確率(Accuracy)降低。
實驗結果又顯示,當卷積神經網路結構N被使用於偵測影像當中相對尺寸較小的物件時,卷積神經網路結構N中的淺階層(即較靠近初始輸入的階層)的網路寬度對於偵測準確率將產生較大的影響。例如,當第3圖所示的卷積神經網路結構N被使用於偵測影像當中尺寸相對較小的物件時,階層SC1的網路寬度對於整體偵測準確率產生的影響最大。應注意的是,此處所述的某物件的尺寸『相對較小』,係指此物件於影像中佔據的比例(例如:像素數比例)與其他物件於影像中佔據的比例相比具有較低的數值。
為了更佳地理解本案,請參閱第4圖。第4圖係為基於本案一些實施例所繪示的卷積神經網路結構的部分示意圖。在一些實施例中,卷積神經網路結構N的階層SC1可包含複數具有不同網路寬度的卷積層C1~C7,卷積神經網路結構N的階層SC2~SC6可包含卷積層C8~C15。應注意的是,第4圖所示出的卷積層C1~C15並非卷積神經網路結構N的全部卷積層,階層SC1~SC6還可包含具有不同網路寬度的複數卷積層,惟此圖中已省略該些卷積層。
如第4圖所示,在一些實施例中,階層SC1當中的卷積層C1~C2的網路寬度為32,卷積層C3~C7的網路寬度為128。應理解,卷積層C2與卷積層C3之間可能有若干網路寬度為64的卷積層被省略。在一些實施例中,階層SC2~SC6當中的卷積層C8~C9的網路寬度為256,卷積層C10~C11的網路寬度為512,卷積層C12~C15的網路寬度為1024。應理解,卷積層C9與卷積層C10之間可能有若干網路寬度為256、512的卷積層被省略。由此可見,卷積神經網路結構N的網路寬度沿著階層SC1~SC6的方向逐漸增加。承前所述,卷積神經網路結
構N係為單次多框偵測器,卷積層C7係為階層SC1的最後一個運算層,因此,其輸出值同時被輸入至階層SC2的第一個卷積層C8及物件偵測層SC7。
在一些實施例中,處理器120可根據至少兩種策略來調整階層SC1~SC6當中的複數卷積層對應的網路寬度,以求在較高的運算速度下增加小物件的偵測強度,進而提高整體的偵測準確率。
第一策略:整體性地減少階層SC2~SC6當中各卷積層的網路寬度,但維持階層SC1的網路寬度。為了更佳地理解本案,請參閱第5圖,其係為基於本案一些實施例所繪示的卷積神經網路結構的部分示意圖。
如第5圖所示,在一些實施例中,相較於第4圖之實施例,處理器120維持卷積層C1~C2的網路寬度為32,維持卷積層C3~C7的網路寬度為128,並降低卷積層C8~C9的網路寬度為128,降低卷積層C10~C11的網路寬度為256,降低卷積層C12~C15的網路寬度為512。大致而言,相較於第4圖之實施例,卷積神經網路結構N當中階層SC2~SC6的網路寬度減半,階層SC1的網路寬度則維持。
第二策略:整體性地減少階層SC1~SC6當中各卷積層的網路寬度,但以串連方式(Concat)增加階層SC1的輸出值的網路寬度。為了更佳地理解本案,請參閱第6圖,其係為基於本案一些實施例所繪示的卷積神經網路結構的部分示意圖。
如第6圖所示,相較於第4圖之實施例,處理器120整體性地降低階層SC1~SC6的網路寬度,但增加階層SC1當中至少一卷積層的網路寬度。在一些實施例中,處理器120可降低卷積層C1~C2的網路寬度為16,降低卷積層C3~C6的網路寬度為64,並以卷積層C3~C6的輸
出值的累加值作為卷積層C7的輸出值,因此,卷積層C7的網路寬度被改變為256(即64+64+64+64),並降低卷積層C8~C9的網路寬度為128,降低卷積層C10~C11的網路寬度為256,降低卷積層C12~C15的網路寬度為512。相較於第4圖之實施例,卷積神經網路結構N當中的階層SC1~SC6的網路寬度整體減半,僅階層SC1當中的卷積層C7的網路寬度顯著增加。
在一些實施例中,處理器120可根據前述兩種策略中的至少一種來調整卷積神經網路結構N的階層SC1~SC6,使階層SC2~SC6的網路寬度減少,但階層SC1當中至少有一卷積層(例如:輸出至物件偵測層SC7的卷積層C7)的網路寬度大於階層SC2~SC6中的其他卷積層。
S203:根據調整後的卷積神經網路結構運行推論引擎,使第一階層接收影像作為初始輸入。
在一些實施例中,物件偵測系統100的處理器120可執行至少一電腦可讀取指令以運行基於調整後的卷積神經網路結構N的推論引擎,推論引擎可用以對影像擷取裝置130所擷取的影像進行物件偵測。承前所述,如第3圖所示,當推論引擎運行時,影像擷取裝置130所擷取的影像可作為初始輸入INP,由卷積神經網路結構N的階層SC1所接收。
S204:第一階層根據初始輸入產生第一輸出並輸入至第二階層以及物件偵測層,第二階層根據第一輸出產生第二輸出並輸入物件偵測層。
在一些實施例中,當推論引擎運行時,卷積神經網路結構N的階層SC1接收初始輸入INP,由階層SC1中的各卷積層進行卷積運算。如第5、6圖所示,初始輸入INP將被輸入至卷積層C1,其輸出值
再依序地經由卷積層C2~C15進行卷積運算。如第4圖所示,階層SC1產生的輸出OP1除了直接被輸入階層SC2外,亦直接被輸入至物件偵測層SC7。同樣地,階層SC2~SC5產生的輸出OP2~OP5除了直接被輸入下一階層外,亦直接被輸入至物件偵測層SC7。
詳細而言,若將階層SC1視為一第一階層,並將階層SC2視為一第二階層。階層SC1(即第一階層)根據初始輸入INP運算而產生輸出OP1,輸出OP1將被輸入階層SC2及物件偵測層SC7。階層SC2(即第二階層)則根據輸出OP1運算而產生輸出OP2,輸出OP2將被輸入階層SC3及物件偵測層SC7。同理地,階層SC3~SC6中的每一階層皆係根據上一階層的輸出運算而產生其自身階層的輸出,且此輸出將被輸入至下一階層及物件偵測層SC7,其運算方式可依此類推。
S205:物件偵測層根據第一輸出以及第二輸出產生最終輸出,以根據最終輸出對影像進行物件偵測。
在一些實施例中,卷積神經網路結構N的物件偵測層SC7包含至少一全連接層(Fully-Connected Layer)。應理解,物件偵測層SC7主要用以接收階層SC1~SC6的輸出值OP1~OP6,並根據輸出值OP1~OP6運算,以產生對應的物件偵測結果。
應理解,使用調整後的卷積神經網路結構N運行的推論引擎具有較高的運算速度,且其物件偵測準確率得以提升/維持。實驗顯示處理器120根據調整前的卷積神經網路結構N及調整後的卷積神經網路結構N運行推論引擎的對比結果如下:根據調整前的卷積神經網路結構N運行推論引擎時,處理時間為276毫秒(ms),偵測準確率為63%;根據以第一策略調整的卷積神經網路結構N運行推論引擎時,處理時間為170毫秒,偵測準確率為70%;根據以第二策略調整的卷積神經網路結
構N運行推論引擎時,處理時間為149毫秒,偵測準確率為63%。由實驗結果可見,以調整後的卷積神經網路結構N運行推論引擎,其運算速度顯著提升,且偵測準確率大致高於調整前的卷積神經網路結構N。
在一些實施例中,物件偵測系統100的影像擷取裝置130可持續擷取影像以產生一影像串流。當處理器120運行推論引擎時,影像串流的每一幀可連續地作為初始輸入INP被輸入卷積神經網路結構N,由階層SC1~SC6中的運算層所接收,並由物件偵測層SC7產生對應的物件偵測結果。藉此,物件偵測系統100可實現於影像串流中『追蹤』特定物件的功能。
應理解,在前述實施例中,本案的物件偵測系統100具有多個功能方塊或模組。領域中人應當理解,在一些實施例中,優選地,該些功能方塊或模組可藉由特定電路(包含在一或多個處理器以及編碼指令下操作的專用電路或通用電路)以實現。一般而言,特定電路可包含電晶體或其他電路元件,以前述實施例中的方式配置,使特定電路可根據本案所述的功能以及操作運行。進一步地,特定電路當中的功能方塊或模組間的協作程序可由特定編譯器(compiler)所實現,例如,暫存器傳送語言(Register Transfer Language,RTL)編譯器。然而,本案並不以此為限。
由前述本案實施方式可知,本案實施例藉由提供一種物件偵測系統、方法以及非暫態電腦可讀取媒體,可有效地運行於邊緣裝置上。藉由調整後的卷積神經網路結構運行推論引擎,邊緣裝置可獨立地對影像中的特定物件進行偵測及追蹤,並在增加運算速度的前提下維持偵測準確率。
雖然本案以實施例揭露如上,然其並非用以限定本案,任何
熟習此技藝者,在不脫離本案之精神和範圍內,當可作各種之更動與潤飾,因此本案之保護範圍當視後附之申請專利範圍所界定者為準。
100‧‧‧物件偵測系統
110‧‧‧記憶體
120‧‧‧處理器
130‧‧‧影像擷取裝置
Claims (11)
- 一種物件偵測系統,包含:一影像擷取裝置,用以擷取一影像;一記憶體,用以儲存對應於一推論引擎的至少一指令,該推論引擎配適於具有多重階層的一卷積神經網路結構,該卷積神經網路結構的該多重階層包含接收一初始輸入的一第一階層、連接於該第一階層的一第二階層以及連接於該第二階層的一物件偵測層,其中該第一階層的複數第一卷積層對應一第一網路寬度且該第二階層的複數第二卷積層對應一第二網路寬度;以及一處理器,耦接於該記憶體以及該影像擷取裝置,該處理器用以自該記憶體存取並執行該至少一指令以:調整該卷積神經網路結構以降低該些第二卷積層的該第二網路寬度;根據調整後的該卷積神經網路結構運行該推論引擎,使該第一階層接收該初始輸入,其中該初始輸入為該影像之資訊;該第一階層根據該初始輸入產生一第一輸出,並將該第一輸出輸入該第二階層以及該物件偵測層;該第二階層根據該第一輸出產生一第二輸出,並將該第二輸出輸入該物件偵測層;以及該物件偵測層根據該第一輸出以及該第二輸出產生一最終輸出以對該影像進行物件偵測。
- 如請求項1所述之物件偵測系統,其中該卷積神經網路結構的該多重階層更包含介於該第二階層以及該物件偵測層之間的 一第三階層,該第三階層根據該第二階層的該第二輸出產生一第三輸出,並將該第三輸出輸入該物件偵測層,使該物件偵測層根據該第一輸出、該第二輸出以及該第三輸出產生該最終輸出。
- 如請求項1所述之物件偵測系統,其中該處理器調整該卷積神經網路結構以降低該些第二卷積層的該第二網路寬度係為減半該第二網路寬度。
- 如請求項1所述之物件偵測系統,該處理器更用以自該記憶體存取並執行該至少一指令以:調整該卷積神經網路結構以降低該些第一卷積層的該第一網路寬度;以及由該些第一卷積層中的一最後卷積層產生該第一輸出,其中該第一輸出係為該些第一卷積層中的至少二者的一串連輸出,該些第一卷積層中的該至少二者依序連接於該最後卷積層之前。
- 如請求項4所述之物件偵測系統,其中該處理器調整該卷積神經網路結構以降低該第一網路寬度係指減半該第一網路寬度。
- 如請求項4所述之物件偵測系統,其中該些第一卷積層中的該至少二者的數量為四。
- 如請求項1所述之物件偵測系統,其中該第一輸出的一第一解析度大於該第二輸出的一第二解析度。
- 如請求項1所述之物件偵測系統,其中該卷積神經網路結構係為一種單次多框偵測器。
- 如請求項1所述之物件偵測系統,其中該影像之資訊包含三原色值、深度資訊以及非可見光值。
- 一種物件偵測方法,由一處理器所執行,包含:存取對應於一推論引擎的至少一指令,其中該推論引擎配適於具有多重階層的一卷積神經網路結構,該卷積神經網路結構的該多重階層包含接收一初始輸入的一第一階層、連接於該第一階層的一第二階層以及連接於該第二階層的一物件偵測層,其中該第一階層的複數第一卷積層對應一第一網路寬度且該第二階層的複數第二卷積層對應一第二網路寬度;調整該卷積神經網路結構以降低該些第二卷積層的該第二網路寬度;根據調整後的該卷積神經網路結構運行該推論引擎,使該第一階層接收該初始輸入,其中該初始輸入為一影像之資訊;該第一階層根據該初始輸入產生一第一輸出,並將該第一輸出輸入該第二階層以及該物件偵測層;該第二階層根據該第一輸出產生一第二輸出,並將該第二輸出輸入該物件偵測層;以及該物件偵測層根據該第一輸出以及該第二輸出產生一最終輸出以對該影像進行物件偵測。
- 如請求項10所述之物件偵測方法,更包含:調整該卷積神經網路結構以降低該些第一卷積層的該第一網路寬度;以及由該些第一卷積層中的一最後卷積層產生該第一輸出,其中該第一輸出係為該些第一卷積層中的至少二者的一串連輸出,該些第一卷積層中的該至少二者依序連接於該最後卷積層之前。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108121565A TWI738009B (zh) | 2019-06-20 | 2019-06-20 | 物件偵測系統及物件偵測方法 |
CN202010353848.8A CN112115760B (zh) | 2019-06-20 | 2020-04-29 | 物件检测系统及物件检测方法 |
US16/898,552 US11195083B2 (en) | 2019-06-20 | 2020-06-11 | Object detection system and object detection method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108121565A TWI738009B (zh) | 2019-06-20 | 2019-06-20 | 物件偵測系統及物件偵測方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202101370A TW202101370A (zh) | 2021-01-01 |
TWI738009B true TWI738009B (zh) | 2021-09-01 |
Family
ID=73799313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108121565A TWI738009B (zh) | 2019-06-20 | 2019-06-20 | 物件偵測系統及物件偵測方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11195083B2 (zh) |
CN (1) | CN112115760B (zh) |
TW (1) | TWI738009B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11694341B2 (en) * | 2019-12-23 | 2023-07-04 | Texas Instmments Incorporated | Cascaded architecture for disparity and motion prediction with block matching and convolutional neural network (CNN) |
US12079695B2 (en) * | 2020-10-01 | 2024-09-03 | Google Llc | Scale-permuted machine learning architecture |
CN114386578B (zh) * | 2022-01-12 | 2024-09-24 | 西安石油大学 | 一种海思无npu硬件上实现的卷积神经网络方法 |
CN117612231B (zh) * | 2023-11-22 | 2024-06-25 | 中化现代农业有限公司 | 人脸检测方法、装置、电子设备和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170011279A1 (en) * | 2015-07-07 | 2017-01-12 | Xerox Corporation | Latent embeddings for word images and their semantics |
US20170103299A1 (en) * | 2015-10-07 | 2017-04-13 | Altera Corporation | Method and Apparatus for Implementing Layers on a Convolutional Neural Network Accelerator |
CN107342810A (zh) * | 2017-07-03 | 2017-11-10 | 北京邮电大学 | 基于卷积神经网络的深度学习智能眼图分析方法 |
CN107527031A (zh) * | 2017-08-22 | 2017-12-29 | 电子科技大学 | 一种基于ssd的室内目标检测方法 |
US20180189595A1 (en) * | 2016-10-10 | 2018-07-05 | Gyrfalcon Technology Inc. | Implementation Of MobileNet In A CNN Based Digital Integrated Circuit |
TW201830340A (zh) * | 2016-12-19 | 2018-08-16 | 美商克萊譚克公司 | 使用經預測之度量影像之度量配方產生 |
TW201833819A (zh) * | 2016-12-07 | 2018-09-16 | 美商克萊譚克公司 | 用於以迴旋神經網路為基礎之缺陷檢測之資料擴增 |
TW201921315A (zh) * | 2016-07-01 | 2019-06-01 | 美商谷歌有限責任公司 | 用於具二維執行道陣列及二維位移暫存器之影像處理器之區塊操作 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9858496B2 (en) * | 2016-01-20 | 2018-01-02 | Microsoft Technology Licensing, Llc | Object detection and classification in images |
TWI576261B (zh) * | 2016-05-13 | 2017-04-01 | 和碩聯合科技股份有限公司 | 接收影像的方法、提供影像的方法、電子裝置及交通工具 |
US9940534B1 (en) * | 2016-10-10 | 2018-04-10 | Gyrfalcon Technology, Inc. | Digital integrated circuit for extracting features out of an input image based on cellular neural networks |
JP6964234B2 (ja) * | 2016-11-09 | 2021-11-10 | パナソニックIpマネジメント株式会社 | 情報処理方法、情報処理装置およびプログラム |
US11157814B2 (en) * | 2016-11-15 | 2021-10-26 | Google Llc | Efficient convolutional neural networks and techniques to reduce associated computational costs |
US11379688B2 (en) * | 2017-03-16 | 2022-07-05 | Packsize Llc | Systems and methods for keypoint detection with convolutional neural networks |
CN107066995A (zh) * | 2017-05-25 | 2017-08-18 | 中国矿业大学 | 一种基于卷积神经网络的遥感图像桥梁检测方法 |
CN109214238B (zh) * | 2017-06-30 | 2022-06-28 | 阿波罗智能技术(北京)有限公司 | 多目标跟踪方法、装置、设备及存储介质 |
US10902252B2 (en) * | 2017-07-17 | 2021-01-26 | Open Text Corporation | Systems and methods for image based content capture and extraction utilizing deep learning neural network and bounding box detection training techniques |
CN109300166B (zh) * | 2017-07-25 | 2023-04-25 | 同方威视技术股份有限公司 | 重建ct图像的方法和设备以及存储介质 |
US10679351B2 (en) * | 2017-08-18 | 2020-06-09 | Samsung Electronics Co., Ltd. | System and method for semantic segmentation of images |
JP2019047839A (ja) * | 2017-09-07 | 2019-03-28 | キヤノン株式会社 | 画像処理装置、位置合わせ方法及びプログラム |
CN108537824B (zh) | 2018-03-15 | 2021-07-16 | 上海交通大学 | 基于交替反卷积与卷积的特征图增强的网络结构优化方法 |
CN108520219B (zh) | 2018-03-30 | 2020-05-12 | 台州智必安科技有限责任公司 | 一种卷积神经网络特征融合的多尺度快速人脸检测方法 |
-
2019
- 2019-06-20 TW TW108121565A patent/TWI738009B/zh active
-
2020
- 2020-04-29 CN CN202010353848.8A patent/CN112115760B/zh active Active
- 2020-06-11 US US16/898,552 patent/US11195083B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170011279A1 (en) * | 2015-07-07 | 2017-01-12 | Xerox Corporation | Latent embeddings for word images and their semantics |
US20170103299A1 (en) * | 2015-10-07 | 2017-04-13 | Altera Corporation | Method and Apparatus for Implementing Layers on a Convolutional Neural Network Accelerator |
TW201921315A (zh) * | 2016-07-01 | 2019-06-01 | 美商谷歌有限責任公司 | 用於具二維執行道陣列及二維位移暫存器之影像處理器之區塊操作 |
US20180189595A1 (en) * | 2016-10-10 | 2018-07-05 | Gyrfalcon Technology Inc. | Implementation Of MobileNet In A CNN Based Digital Integrated Circuit |
TW201833819A (zh) * | 2016-12-07 | 2018-09-16 | 美商克萊譚克公司 | 用於以迴旋神經網路為基礎之缺陷檢測之資料擴增 |
TW201830340A (zh) * | 2016-12-19 | 2018-08-16 | 美商克萊譚克公司 | 使用經預測之度量影像之度量配方產生 |
CN107342810A (zh) * | 2017-07-03 | 2017-11-10 | 北京邮电大学 | 基于卷积神经网络的深度学习智能眼图分析方法 |
CN107527031A (zh) * | 2017-08-22 | 2017-12-29 | 电子科技大学 | 一种基于ssd的室内目标检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112115760A (zh) | 2020-12-22 |
US11195083B2 (en) | 2021-12-07 |
TW202101370A (zh) | 2021-01-01 |
CN112115760B (zh) | 2024-02-13 |
US20200401871A1 (en) | 2020-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI738009B (zh) | 物件偵測系統及物件偵測方法 | |
US11151361B2 (en) | Dynamic emotion recognition in unconstrained scenarios | |
US10708525B2 (en) | Systems and methods for processing low light images | |
CN110276767A (zh) | 图像处理方法和装置、电子设备、计算机可读存储介质 | |
KR102338372B1 (ko) | 영상으로부터 객체를 분할하는 방법 및 장치 | |
US20210133920A1 (en) | Method and apparatus for restoring image | |
CN108564549A (zh) | 一种基于多尺度稠密连接网络的图像去雾方法 | |
CN113034358A (zh) | 一种超分辨率图像处理方法以及相关装置 | |
CN103258332A (zh) | 一种抗光照变化的运动目标检测方法 | |
CN108875482B (zh) | 物体检测方法和装置、神经网络训练方法和装置 | |
US20200342285A1 (en) | Data processing using a neural network system | |
KR20180109658A (ko) | 영상 처리 방법과 장치 | |
CN111242181B (zh) | 基于图像语义和细节的rgb-d显著性物体检测器 | |
TW201928877A (zh) | 估測圖像中的深度的方法 | |
CN116310693A (zh) | 基于边缘特征融合和高阶空间交互的伪装目标检测方法 | |
US11734557B2 (en) | Neural network with frozen nodes | |
Ma et al. | Layn: Lightweight multi-scale attention yolov8 network for small object detection | |
KR20230150273A (ko) | 얼굴 표정 인식 | |
US11514312B2 (en) | Computer vision optimisation for small value changes | |
CN109543684B (zh) | 基于全卷积神经网络的即时目标追踪检测方法及系统 | |
Sun et al. | Mixed context networks for semantic segmentation | |
CN116245765A (zh) | 基于增强型深度扩张卷积神经网络的图像去噪方法及系统 | |
Mutaqin et al. | Increase dehazing process using fast guided filter on the dark channel prior | |
CN113055666A (zh) | 一种视频质量评估方法及装置 | |
Shimoda et al. | Demonstration of object detection for event-driven cameras on FPGAs and GPUs |