TWI734349B - 神經網路影像辨識系統及其使用的神經網路建置系統及方法 - Google Patents
神經網路影像辨識系統及其使用的神經網路建置系統及方法 Download PDFInfo
- Publication number
- TWI734349B TWI734349B TW109101742A TW109101742A TWI734349B TW I734349 B TWI734349 B TW I734349B TW 109101742 A TW109101742 A TW 109101742A TW 109101742 A TW109101742 A TW 109101742A TW I734349 B TWI734349 B TW I734349B
- Authority
- TW
- Taiwan
- Prior art keywords
- neural network
- program
- graphic
- layer
- command graphic
- Prior art date
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本發明提出的神經網路影像辨識系統包括拍攝裝置、影像辨識裝置及神經網路建置系統。其中,影像辨識裝置用以辨識拍攝裝置所拍攝的待辨識影像,而影像辨識裝置用於辨識影像的神經網路影像辨識程式則可由神經網路建置系統根據使用者的需求自行建置而成。
Description
本發明是有關於一種神經網路系統,特別是有關於一種神經網路影像辨識系統及其使用的神經網路建置系統及方法。
由於處理器技術的高度成熟,使用者只需要撰寫好適當的軟體程式,就可以利用處理器運作軟體程式而輕鬆達到將操作自動化的效果。然而,在要達到能夠撰寫適當的軟體程式並驅動處理器進行操作自動化之前,使用者必須先熟悉適用於驅動此處理器的程式語言,這個學習過程相當程度地延長了剛開始使用的人員實際完成一份工作時所需耗費的時間。以神經網路的訓練來說,當產品要提供使用者客製功能的時候,受限於使用者可能並不理解產品中使用的程式語言,所以最終也只能允許使用者在各種先前設定好的參數中進行調整,並沒有辦法真正達到由使用者在產品中建置新功能的效果。
有鑑於此,本發明提供一種神經網路影像辨識系統及其使用的神經網路建置系統及方法,其提供簡單的使用介面以幫助使用者能輕鬆完成神經網路的建置。
從一個角度來看,本發明提供一種神經網路影像辨識系統,其包括一個拍攝裝置,一個影像辨識裝置以及一個神經網路建置系統。其中,拍攝裝置適於拍攝待辨識影像;影像辨識裝置電性耦接至拍攝裝置並從拍攝裝置取得待辨識影像,且影像辨識裝置執行神經網路影像辨識程式以辨識此待辨識影像而獲得辨識結果。神經網路建置系統包括一個輸入單元、一個顯示單元以及一個控制單元;顯示單元適於提供可以顯示多個指令圖形標籤的畫面;輸入單元適於由使用者輸入控制操作以點選指令圖形標籤以組成指令圖形標籤組合序列;控制單元提供與多個神經網路層相關的多個程式組且每一個指令圖形標籤對應到一個程式組。其中,神經網路建置系統以與指令圖形標籤組合序列的內容相同的順序來組合與這些指令圖形標籤對應的程式組以產生上述的神經網路影像辨識程式,而且神經網路建置系統在此神經網路影像辨識程式進行編譯之前檢查指令圖形標籤組合序列是否符合一或多個預設規則。
在一個實施例中,上述的控制操作更包括設定指令圖形標籤所對應的功能內容圖形中的參數欄位以藉此設定對應的程式組所使用的參數。
在一個實施例中,上述的一或多個預設規則用於檢查指令圖形標籤組合序列中的指令圖形標籤所對應的程式組的搭配關係是否適當。
在一個實施例中,上述的指令圖形標籤包括輸入層指令圖形標籤、扁平層指令圖形標籤、以及輸出層指令圖形標籤;輸入層指令圖形標籤對應到輸入層程式組,扁平層指令圖形標籤對應到扁平層程式組,輸出層指令圖形標籤對應到輸出層程式組,其中,輸入層程式組適於執行神經網路影像辨識程式的輸入層,扁平層程式組適於執行神
經網路影像辨識程式的扁平層,輸出層程式組適於執行神經網路影像辨識程式的輸出層,而且上述的預設規則包括:如果輸入層指令圖形標籤的輸入張量維度超過輸出層指令圖形標籤的輸出張量維度,則指令圖形標籤組合序列中必須至少有一個扁平層指令圖形標籤的功能內容圖形。
在一個實施例中,上述的指令圖形標籤包括輸入層指令圖形標籤、扁平層指令圖形標籤以及全連接層指令圖形標籤;輸入層指令圖形標籤對應到輸入層程式組,扁平層指令圖形標籤對應到扁平層程式組,全連接層指令圖形標籤對應到全連接層程式組,其中,輸入層程式組適於執行神經網路影像辨識程式的輸入層,扁平層程式組適於執行神經網路影像辨識程式的扁平層,全連接層程式組適於執行神經網路影像辨識程式的全連接層,而且上述的預設規則包括:如果輸入層指令圖形標籤的輸入張量維度超過1,則全連接階層指令圖形標籤的功能內容圖形必須排列在扁平層指令圖形標籤的功能內容圖形之後。
在一個實施例中,在控制操作指示調整指令圖形標籤組合序列的內容的方式違反預設規則時,神經網路建置系統產生一警示信號並將指令圖形標籤組合序列的內容回復為執行違反預設規則的控制操作之前的內容。
在一個實施例中,當神經網路建置系統完成預設規則的檢查後,神經網路影像辨識系統將神經網路影像辨識程式傳送至外部伺服器進行編譯,並將包含想要辨識的目標物件的現有影像傳送至外部伺服器以訓練神經網路影像辨識程式,其中,外部伺服器提供不包含目標物件的對照影像以訓練神經網路影像辨識程式,並在訓練完成後將神經
網路影像辨識程式傳送回神經網路影像辨識系統以辨識待辨識影像是否包含目標物件。
從另一個角度來看,本發明提出一種神經網路建置系統,其包括一個輸入單元、一個顯示單元以及一個控制單元,顯示單元適於提供可以顯示多個指令圖形標籤的畫面;輸入單元適於由使用者輸入控制操作以點選指令圖形標籤而組成指令圖形標籤組合序列;控制單元提供與多個神經網路層相關的多個程式組且每一個指令圖形標籤對應到一個程式組。其中,神經網路建置系統以與指令圖形標籤組合序列的內容相同的順序來組合與這些指令圖形標籤對應的程式組以產生一個神經網路程式,而且神經網路建置系統在神經網路程式進行編譯之前檢查指令圖形標籤組合序列是否符合一或多個預設規則。
從另一個角度來看,本發明提出一種神經網路建置方法,其包括下列步驟:根據使用者點選的在畫面顯示的多個指令圖形標籤組成一指令圖形標籤組合序列;以與此指令圖形標籤組合序列的內容相同的順序來組合與這些指令圖形標籤對應的多個程式組以產生神經網路程式;以及在此神經網路程式進行編譯之前檢查指令圖形標籤組合序列是否符合一或多個預設規則。
在一個實施例中,此神經網路建置方法更根據使用者設定的指令圖形標籤對應的功能內容圖形中的參數欄位以設定對應的程式組所使用的參數。
在一個實施例中,上述的指令圖形標籤包括輸入層指令圖形標籤、扁平層指令圖形標籤、以及輸出層指令圖形標籤;輸入層指令圖形標籤對應到輸入層程式組,扁平層指令圖形標籤對應到扁平層程式組,輸出層指令圖形標籤對應到輸出層程式組,其中,輸入層程式組
適於執行神經網路影像辨識程式的輸入層,扁平層程式組適於執行神經網路影像辨識程式的扁平層,輸出層程式組適於執行神經網路影像辨識程式的輸出層,而且上述的預設規則包括:如果輸入層指令圖形標籤的輸入張量維度超過輸出層指令圖形標籤的輸出張量維度,則指令圖形標籤組合序列中必須至少有一個扁平層指令圖形標籤的功能內容圖形。
在一個實施例中,上述的指令圖形標籤包括輸入層指令圖形標籤、扁平層指令圖形標籤以及全連接層指令圖形標籤;輸入層指令圖形標籤對應到輸入層程式組,扁平層指令圖形標籤對應到扁平層程式組,全連接層指令圖形標籤對應到全連接層程式組,其中,輸入層程式組適於執行神經網路影像辨識程式的輸入層,扁平層程式組適於執行神經網路影像辨識程式的扁平層,全連接層程式組適於執行神經網路影像辨識程式的全連接層,而且上述的預設規則包括:如果輸入層指令圖形標籤的輸入張量維度超過1,則全連接階層指令圖形標籤的功能內容圖形必須排列在扁平層指令圖形標籤的功能內容圖形之後。
在一個實施例中,此神經網路建置方法更在使用者指示調整指令圖形標籤組合序列的內容的方式違反預設規則時,產生警示信號並將指令圖形標籤組合序列的內容回復為違反預設規則之前的內容。
根據上述內容,在採用本發明所提供的技術的時候,當要產出一個神經網路程式的時候,使用者只要組合指令圖形標籤而不需要實際利用程式語言來進行撰寫就可以產生出對應的神經網路程式。
10:神經網路影像辨識系統
12:拍攝裝置
14:影像辨識裝置
16:神經網路建置系統
18:資料傳輸裝置
20:畫面
22:指令顯示區域
24:指令組合區域
28:指令圖形標籤組合序列
160:輸入單元
162:控制單元
164:顯示單元
220:指令圖形標籤1
222:指令圖形標籤2
224:指令圖形標籤3
226:指令圖形標籤4
240:序列成員1
242:序列成員2
244:序列成員3
246:序列成員4
248:序列成員5
S502~S508:本發明一實施例的施行步驟
IMG:待辨識影像
圖1為根據本發明一實施例的神經網路影像辨識系統的方塊圖。
圖2A~2E為根據本發明一實施例的神經網路建置系統的顯示單元所提供的畫面的示意圖。
圖3A為根據本發明一實施例的指令圖形標籤組合序列的內容的示意圖。
圖3B為由圖3A所示的指令圖形標籤組合序列的內容轉換而成的神經網路程式。
圖4A為根據本發明一實施例的指令圖形標籤組合序列的內容的示意圖。
圖4B為由圖4A所示的指令圖形標籤組合序列的內容轉換而成的神經網路程式。
圖5為根據本發明一實施例的神經網路建置方法的流程圖。
請參照圖1,其為根據本發明一實施例的神經網路影像辨識系統的方塊圖。在本實施例中,神經網路影像辨識系統10包括了拍攝裝置12、影像辨識裝置14、神經網路建置系統16、資料傳輸裝置18以及儲存裝置(未繪示)。拍攝裝置12例如是任何類型的相機,適於拍攝各類物件,並將所拍攝到的內容生成為對應的待辨識影像IMG。影像辨識裝置14例如是中央處理單元(Central Processing Unit,CPU)、圖形處理單元(Graphics Processing Unit,GPU),或是其他可程式化之一般用途或特殊用途的微處理器(Microprocessor)、可程式化邏輯裝置(Programmable Logic Device,PLD)或其他類似裝置或這些裝置的組合,但不限於此。影像辨識裝置14電性耦接至拍攝裝置12並從拍攝裝
置12取得其生成的待辨識影像IMG。拍攝裝置12與影像辨識裝置14間可以是通過有線或無線方式耦接。在一實施例中,拍攝裝置12可以是另外具有自己的處理器與儲存裝置等而與影像辨識裝置14間通過無線方式(例如是Wi-Fi)耦接。在取得待辨識影像IMG之後,影像辨識裝置14可以載入並執行儲存裝置中儲存的神經網路影像辨識程式以對待辨識影像IMG進行影像辨識的操作,並利用任合適和的方式來報告進行影像辨識操作後所得的辨識結果。資料傳輸裝置18電性耦接至影像辨識裝置14,並可以採用任何有線或無線方式與外部的雲端伺服器(Cloud server)或邊緣伺服器(Edge server)等傳送或接收資料,其例如是通用序列匯流排(Universal Serial Bus,USB)、乙太網路(Ethernet)、藍芽(Bluetooth,BT)、無線相容認證(Wireless fidelity,Wi-Fi)等傳輸介面,本實施例並不限定。儲存裝置例如是任何型態的固定式或可移動式隨機存取記憶體(Random Access Memory,RAM)、唯讀記憶體(read-only memory,ROM)、快閃記憶體(flash memory)、硬碟或類似元件或上述元件的組合而用以儲存可由影像辨識裝置14執行的程式。
隨著使用的場合不同,使用者對於影像辨識裝置14執行的神經網路影像辨識程式的精確度或辨識速度的要求也極有可能產生變化。在現有的技術中,當想要改變神經網路影像辨識程式的精確度或辨識速度的時候,使用者必須透過製造商才可能取得相應的神經網路影像辨識程式。一旦製造商沒有提供具有適當精確度或辨識速度的神經網路影像辨識程式,使用者可能就只好捨棄原有的硬體而改用其它的影像辨識系統並因此造成時間及金錢的浪費。
為了改善現有的技術,在本實施例所提供的神經網路影像辨識系統10中還同時設置了一個神經網路建置系統16。如圖1所示,神經網路建置系統16包括了一個輸入單元160、一個控制單元162以及一個顯示單元164。其中,輸入單元160適於由使用者輸入控制操作(例如是點選或拖曳等)以產生與此控制操作相對應的控制資料,輸入單元160例如是鍵盤、滑鼠或觸控裝置等任何類型的輸入裝置;顯示單元164適於提供能夠顯示多個指令圖形標籤的畫面,例如是液晶顯示器(Liquid Crystal Display)、有機發光二極體(Organic Light-Emitting Diode)等任何類型的顯示器;控制單元162耦接至輸入單元160、顯示單元164以及影像辨識裝置14,其提供與指令圖形標籤一對一對應的程式組,並在所接收到的控制資料指示調整畫面中根據前述指令圖形標籤而得的一個指令圖形標籤組合序列的內容的時候,根據所接收到的控制資料而調整此指令圖形標籤組合序列的內容。在一些實施例中,控制單元162可以是硬體或軟體,例如可以是可執行程式的微處理器或微控制器(Microcontroller),或者可以是儲存於儲存裝置並可由影像辨識裝置14執行的程式。
為了能夠通過神經網路影像辨識系統10對待辨識影像IMG進行影像辨識的操作,使用者可以先從現有影像中框選出一個或多個想要辨識的目標物件(例如是現有影像中的蘋果或椅子等),再通過神經網路建置系統16建置適當的神經網路程式,並將上述包含想要辨識的目標物件的現有影像輸入該神經網路以訓練該神經網路,使訓練完成的該神經網路之後能夠辨識出待辨識影像IMG中是否包含該目標物件。由於神經網路的訓練需要大量運算資源,在一實施例中,可以是神經網路影像辨識系統10建置神經網路程式後,再通過資料傳輸裝置
18將神經網路程式以及包含想要辨識的目標物件的現有影像傳送至外部的雲端伺服器或邊緣伺服器等遠端進行訓練,待其訓練完成後再將訓練完成的該神經網路程式通過資料傳輸裝置18傳送回神經網路影像辨識系統10以進行影像辨識。在一些實施例中,包含想要辨識的目標物件的現有影像可以是由拍攝裝置12所拍攝的,也可以是通過資料傳輸裝置18從網路上或是外部資料庫中下載的。在一些實施例中,雲端伺服器或邊緣伺服器進行訓練之前,可以對包含想要辨識的目標物件的現有影像進行多種影像處理,包含裁剪、縮放或旋轉等,也可以自動提供對照用的不包含想要辨識的目標物件的對照影像以訓練該神經網路。在另一實施例中,神經網路的訓練也可以是由本地端的神經網路影像辨識系統10進行。雖然本發明主要針對用於影像辨識的神經網路的建置進行描述,但本領域技術人員可以理解,只要採取不同的神經網路架構與辨識資料,神經網路建置系統16也可應用於建置聲音辨識或機器翻譯等的神經網路。
為了使本領域的技術人員能更容易理解上述技術的內容,請同時參照圖2A~圖2E,其中,圖2A~圖2E分別為根據本發明一實施例的神經網路建置系統16的顯示單元164所提供的畫面的示意圖。如圖2A~圖2E所示,顯示單元164所提供的畫面20可以包括兩個區域,其中一個區域為指令顯示區域22,另一個區域則是指令組合區域24。在圖2A中,神經網路建置系統16在經過初始化之後開始運作,所以此時在畫面20的指令顯示區域22中顯示了可供使用者選用的指令圖形標籤1 220、指令圖形標籤2 222、指令圖形標籤3 224及指令圖形標籤4 226,而指令組合區域24在一開始的時候則呈現為空白狀態。
在要撰寫一個神經網路影像辨識程式的時候,使用者可以利用組合指令圖形標籤的方式來進行相關的撰寫工作。一旦使用者點選了顯示於指令顯示區域22中的任何一個指令圖形標籤,與被點選的指令圖形標籤相對應的功能內容圖形就會被顯示在指令組合區域24之中。如圖2B所示,假設使用者點選了指令圖形標籤3 224,那麼與指令圖形標籤3 224相對應的功能內容圖形,包含功能描述、待輸入參數等,就會被顯示在指令組合區域24之中而成為序列成員1 240的內容。
藉由多次點選指令圖形標籤,與所點選的指令圖形標籤相對應的功能內容圖形就會被依序排列在指令組合區域24之中。如圖2C所示,假設使用者依序點選了指令圖形標籤3 224、指令圖形標籤2 222以及兩次的指令圖形標籤4 226,則與這些指令圖形標籤相對應的功能內容圖形就會被依序顯示在指令組合區域24中,亦即,與指令圖形標籤3 224相對應的功能內容圖形會成為序列成員1 240的內容,與指令圖形標籤2 222相對應的功能內容圖形會成為序列成員2 242的內容,而與指令圖形標籤4 226相對應的功能內容圖形則會成為序列成員3 244以及序列成員4 246的內容。由這些序列成員所組成的集合就成為了先前提到的指令圖形標籤組合序列28。
在一個特定的實施例中,使用者最新點選的指令圖形標籤對應的功能內容圖形可以被設定為新增在指令圖形標籤組合序列的最末端;當要將最新點選的指令圖形標籤新增在指令圖形標籤組合序列的其它位置的時候,使用者可以先點選某一個特定的序列成員後再點選要新增的指令圖形標籤,如此即可使點選的指令圖形標籤對應的功能內容圖形被新增在所選定的序列成員之前。例如,假設使用者在圖2C所示的狀況下先點選了序列成員4 246,此時序列成員4 246會被以不同的方
式特別呈現出來(如圖2D所示);在這之後,假設使用者點選了指令圖形標籤1 220,則與指令圖形標籤1 220相對應的功能內容圖形就會被插入到序列成員4 246的上方並成為序列成員5 248的內容,如圖2E所示。
其中,功能內容圖形中呈現的文字依照需求還可以調整為其它文字,例如:繁體中文或簡體中文,以符號表示的位置可供使用者填入必要的參數的欄位,而在符號旁邊的向下箭頭符號(↓)則表示可以採用選單的方式以供使用者選擇其輸入值的欄位。這些參數或者選單都可以由使用者透過輸入單元160進行輸入,且其輸入的內容將會被轉化為對應的控制資料並傳送至控制單元162以供後續建置神經網路程式時使用。
在本實施例中,輸入層指令圖形標籤在控制單元162中對應到輸入層(Input Layer)程式組,全連接層指令圖形標籤在控制單元162中對應到全連接層(Dense Layer)程式組,扁平層指令圖形標籤在控制單元162中對應到扁平層(Flatten Layer)程式組,卷積層指令圖形標籤在控制單元162中對應到卷積層(Convolution Layer)程式組,最大值池化層指令圖形標籤在控制單元162中對應到最大值池化層(Maxpooling Layer)程式組,捨棄層指令圖形標籤在控制單元162中對應到捨棄層(Dropout Layer)程式組,以及輸出層指令圖形標籤在控制單元162中對應到輸出層(Output Layer)程式組。其中,輸入層程式組適於執行神經網路的輸入層,輸入層是神經網路的第一層,用於接收特定的張量尺寸的輸入資料,其中該張量尺寸由對應功能內容圖形中設定,在用於影像辨識的本實施例中其輸入張量維度預設為3且第三維度上的尺寸預設為3以對應影像的RGB資料,但在其他應用的實施例中可視需要設為其他值;全連接層程式組適於執行神經網路的全連接層,全連接層具有對其輸入資料進行分類的功能,並可於對應功能內容圖形中設定其輸出的張量尺寸(相當於將其輸入資料分為幾類)以及用選單選擇所要使用的激活函數(Activation function),例如是線性整流函數(Rectified Linear Unit,ReLU)或是Sigmoid函數等;扁平層程式組適於執行神經網路的扁平層,扁平層不需填入參數,其用於將張量維度超過1的輸入資料展平為張量維度為1的輸出資料;卷積層程式組適於執行神經網路的卷積層,卷積層具有由其輸入資料分出多個特徵圖的功能,並可於對應功能內容圖形中設定輸出為幾個特徵分類、卷積核(Kernel)的尺寸、用選單選擇輸入與輸出的尺寸是否維持一致(即是否做填充,Padding)以及用選單選擇所要使用的激活函數;
最大值池化層程式組適於執行神經網路的最大值池化層,用於輸出輸入資料的特定尺寸的各子矩陣的各元素的最大值,其中該尺寸由對應功能內容圖形中設定;捨棄層程式組適於執行神經網路的捨棄層,用於將輸入資料中特定比例的資料隨機設為零,其中該比例由對應功能內容圖形中設定;輸出層程式組適於執行神經網路的輸出層,輸出層是神經網路的最後一層,並可於對應功能內容圖形中設定輸出結果的分類數目(相當於輸出的張量尺寸)以及用選單選擇所要使用的激活函數。指令圖形標籤以及相對應的神經網路層的種類並不以此為限,也可以包含將輸入資料重新調整為特定尺寸的重整層(Reshape Layer)、覆蓋特定輸入資料的覆蓋層(Masking Layer)等。
接下來,一旦使用者完成了指令圖形標籤的選擇組合並要求產生對應程式內容,這個產生對應程式內容的要求就會被轉化為對應的控制資料並控制著控制單元162以與現有的指令圖形標籤組合序列的內容相同的順序來組合與這些指令圖形標籤對應的程式組,以藉此產生一個神經網路程式(例如,但不限於,以Python程式語言撰寫的神經網路程式)。在另一實施例中,也可以是當使用者逐一點選指令圖形標籤的同時,控制單元162即同步依序組合與這些指令圖形標籤對應的程式組,以逐步產生一個神經網路程式。
以常用的物件導向程式語言Python為例,使用者可以藉由依次點選輸入層指令圖形標籤、扁平層指令圖形標籤、全連接層指令圖形標籤、全連接層指令圖形標籤以及輸出層指令圖形標籤,並且在對應功能內容圖形輸入或選擇參數的欄位中填入想要的參數,如此便可獲得如圖3A所示的指令圖形標籤組合序列。接著,使用者可以要求將圖3A所示的指令圖形標籤組合序列轉換成神經網路程式,於是控制單元162
就會根據指令圖形標籤組合序列的內容而將對應的程式組(依序分別是輸入層程式組、扁平層程式組、全連接層程式組、全連接層程式組以及輸出層程式組)加以組合並獲得如圖3B所示的神經網路程式。
在另一個實施例中,同樣以常用的物件導向程式Python為例,在使用者藉由點選指令圖形標籤而產生依次由輸入層指令圖形標籤、連續的兩個卷積層指令圖形標籤、最大值池化層指令圖形標籤、捨棄層指令圖形標籤、扁平層指令圖形標籤、全連接層指令圖形標籤、捨棄層指令圖形標籤及輸出層指令圖形標籤等指令圖形標籤所對應的功能內容圖形,並且輸入適當的參數值之後,使用者就可以在畫面的指令組合區域中看到如圖4A所示的指令圖形標籤組合序列。這個指令圖形標籤組合序列可以被轉換為如圖4B所示的神經網路程式。
根據上述,使用者只需要知道自己想要使用神經網路中的哪一些層來組成進行神經網路影像辨識的程式,就可以簡單的藉由依次點選各指令圖形標籤及輸入必要的參數而產生對應的神經網路程式。由於使用者只需要組合指令圖形標籤而不需要實際利用程式語言撰寫程式,可以避免程式撰寫上的錯誤,例如打字錯誤或是程式語法(Syntax)上的錯誤。如果在撰寫程式時出現了這些錯誤,必須要等到編譯器(Compiler)編譯程式語言時才能被發現,然後又必須修改再重新編譯。編譯器將程式語言寫成的程式原始碼轉換成能夠執行的低階機器語言的程式(執行檔)時,會對程式原始碼進行詞法分析(Lexical Analysis)、語法分析(Syntax Analysis)、語意分析(Semantic Analysis)等以驗證程式是否符合類型系統(Type System)。因此,如果能利用指令圖形標籤來事先避免上述程式撰寫上的錯誤,將可以提升程式編譯的效率並避免運算資源的浪費。
更進一步的,控制單元162還可以依據事先設定好的一或多個預設規則來檢查使用者輸入的調整指令圖形標籤組合序列內容的控制資料是否能產生正確的神經網路程式。這些預設規則用於檢查該指令圖形標籤組合序列對應的神經網路程式中各神經網路層彼此的搭配關係是否適當,包括各神經網路層的先後順序、各神經網路層彼此的輸入與輸出的尺寸或維度是否能正確銜接等。這些預設規則可以包括但不限制為:(1)輸入層指令圖形標籤對應的功能內容圖形必須排列為指令圖形標籤組合序列的第一個,且輸入層指令圖形標籤對應的功能內容圖形只有一個;(2)輸出層指令圖形標籤對應的功能內容圖形必須排列為指令圖形標籤組合序列的最後一個,且輸出層指令圖形標籤對應的功能內容圖形只有一個;(3)如果輸入層指令圖形標籤的輸入張量維度超過輸出層指令圖形標籤的輸出張量維度,則指令圖形標籤組合序列中必須至少有一個扁平層指令圖形標籤對應的功能內容圖形;(4)如果輸入層指令圖形標籤的輸入張量維度超過1,則全連接層指令圖形標籤對應的功能內容圖形必須排列在扁平層指令圖形標籤對應的功能內容圖形之後;以及(5)卷積層指令圖形標籤對應的功能內容圖形及最大值池化層指令圖形標籤對應的功能內容圖形不可排列在扁平層指令圖形標籤對應的功能內容圖形之後。
在一實施例中,一旦使用者所輸入的控制資料對於指令圖形標籤組合序列的內容的改變違反了任何一項上述的預設規則,控制單元162可以藉由產生一個警示信號(例如警示音或者在畫面上顯示錯誤信息等)來告訴使用者此次控制資料指示的調整指令圖形標籤組合序列的內容的方式是錯誤的。除此之外,在一實施例中,控制單元162還可以自動控制顯示單元164將畫面中的指令圖形標籤組合序列的內容回復
為執行此次違反預設規則的控制資料之前的內容。例如,假如先前在圖2E所新增的序列成員5 248的加入方式違反了預設規則,那麼控制單元162就可以將指令圖形標籤組合序列的內容回復為圖2D或圖2C所示的內容。在另一實施例中,也可以是當使用者完成全部的指令圖形標籤組合序列後,再通知(例如通過輸入單元160)控制單元162檢查其是否符合上述的預設規則。上述預設規則的檢查可以是在根據指令圖形標籤組合序列產生對應神經網路程式之前或是之後進行。通過上述指令圖形標籤的預設規則的檢查,可以在神經網路程式送到編譯器進行編譯之前修正更多可能的程式錯誤,以更進一步提升程式編譯的效率。
當完成指令圖形標籤組合序列以及預設規則的檢查後,在一實施例中,使用者可以如前所述要求將指令圖形標籤組合序列轉換成對應的神經網路程式,並將神經網路程式進行編譯與上述的訓練。在一實施例中,神經網路程式的編譯與訓練可以是由神經網路影像辨識系統10進行。在另一實施例中,可以通過資料傳輸裝置18將神經網路程式傳送至外部的雲端伺服器或邊緣伺服器等進行編譯與訓練,待其訓練完成後再將訓練完成的神經網路程式通過資料傳輸裝置18傳送回神經網路影像辨識系統10。在又一實施例中,神經網路程式的編譯與訓練也可以是在不同系統進行,例如神經網路程式的編譯由神經網路影像辨識系統10進行,而神經網路程式的訓練由外部的雲端伺服器或邊緣伺服器等進行,或者是反過來。使用者可以通過輸入單元160設定神經網路程式訓練的相關參數,例如訓練的目標準確度與訓練的時間等。
圖5是依照本發明一實施例所繪示的神經網路建置方法的流程圖。本實施例的方法適用於上述神經網路建置系統16。在步驟S502中,
神經網路建置系統16在畫面顯示多個指令圖形標籤以供使用者組合,其中各指令圖形標籤分別對應到不同的神經網路層程式組,神經網路建置系統16並根據使用者的指令圖形標籤組合序列產生神經網路程式。在步驟S504中,神經網路建置系統16在神經網路程式送到編譯器進行編譯之前檢查指令圖形標籤組合序列是否符合一或多個預設規則。如前所述,在另一實施例中也可以是在預設規則的檢查之後再根據指令圖形標籤組合序列產生對應的神經網路程式。若指令圖形標籤組合序列違反至少一個預設規則(步驟S504:否),則產生警示信號(步驟S506),以提醒使用者修改指令圖形標籤組合序列,或由神經網路建置系統16自動修改指令圖形標籤組合序列,以符合預設規則。在一實施例中,使用者修改後或神經網路建置系統16自動修改後,可以再次檢查修改後的指令圖形標籤組合序列是否符合一或多個預設規則。若指令圖形標籤組合序列符合所有預設規則(步驟S504:是),且使用者要求將指令圖形標籤組合序列對應的神經網路程式進行編譯,則將神經網路程式送到編譯器進行編譯(步驟S508),其中神經網路程式的編譯可以是在本地端(例如神經網路影像辨識系統10)進行或是傳送至遠端(例如外部的雲端伺服器或邊緣伺服器等)進行。神經網路程式完成編譯後,可以進一步在本地端或是遠端進行神經網路程式的訓練。
綜合上述,藉由使用本發明所提供的技術,當要產出一個神經網路程式的時候,使用者只要組合指令圖形標籤而不需要實際利用程式語言來進行撰寫就可以產生出對應的神經網路程式,所以使用者可以不需要學習程式語言的具體撰寫方法,降低自製神經網路程式的門
檻。進一步的,本發明還可以初步排除不合預設規則的指令圖形標籤組合序列,因此還可以減少程式編譯時出現問題的機率。
10:神經網路影像辨識系統
12:拍攝裝置
14:影像辨識裝置
16:神經網路建置系統
18:資料傳輸裝置
160:輸入單元
162:控制單元
164:顯示單元
IMG:待辨識影像
Claims (16)
- 一種神經網路影像辨識系統,其特徵在於包括:一拍攝裝置,適於拍攝一待辨識影像;一影像辨識裝置,電性耦接至該拍攝裝置並從該拍攝裝置取得該待辨識影像,該影像辨識裝置執行一神經網路影像辨識程式以辨識該待辨識影像而獲得一辨識結果;以及一神經網路建置系統,包括:一顯示單元,提供一畫面,該畫面顯示多個指令圖形標籤;一輸入單元,適於由使用者輸入控制操作以點選該些指令圖形標籤以組成一指令圖形標籤組合序列;以及一控制單元,提供與多個神經網路層相關的多個程式組且每一個該些指令圖形標籤對應到一個該些程式組,其中,該神經網路建置系統以與該指令圖形標籤組合序列的內容相同的順序來組合與該些指令圖形標籤對應的該些程式組以產生該神經網路影像辨識程式,其中,該神經網路建置系統在該神經網路影像辨識程式進行編譯之前檢查該指令圖形標籤組合序列是否符合一或多個預設規則;其中,該些指令圖形標籤包括一輸入層指令圖形標籤、一扁平層指令圖形標籤以及一輸出層指令圖形標籤,該輸入層指令圖形標籤對應到輸入層程式組,該扁平層指令圖形標籤對應到扁平層程式組,以及該輸出層指令圖形標籤對應到輸出層程式組,其中,該輸入層程式組適於執行該神經網路影像辨識程式的輸入層,該扁平層程式組適於執行該神經網路影像辨識程式的扁平層,該輸出層程式組適於執行該神經網路影像辨識程式的輸出層; 其中,該一或多個預設規則包括:如果該輸入層指令圖形標籤的輸入張量維度超過該輸出層指令圖形標籤的輸出張量維度,則該指令圖形標籤組合序列中必須至少有一個該扁平層指令圖形標籤的該功能內容圖形。
- 如請求項1所述的神經網路影像辨識系統,其中該控制操作更包括設定該指令圖形標籤對應的功能內容圖形中的參數欄位以設定對應的該程式組所使用的參數。
- 如請求項1所述的神經網路影像辨識系統,其中該一或多個預設規則用於檢查該指令圖形標籤組合序列中該些指令圖形標籤對應到的該些程式組的搭配關係是否適當。
- 如請求項1所述的神經網路影像辨識系統,其中該些指令圖形標籤更包括一全連接層指令圖形標籤,該全連接層指令圖形標籤對應到全連接層程式組,該全連接層程式組適於執行該神經網路影像辨識程式的全連接層,其中,該一或多個預設規則包括:如果輸入層指令圖形標籤的輸入張量維度超過1,則該全連接層指令圖形標籤的該功能內容圖形必須排列在該扁平層指令圖形標籤的該功能內容圖形之後。
- 如請求項1所述的神經網路影像辨識系統,其中,在該控制操作指示調整該指令圖形標籤組合序列的內容的方式違反該一或多個預設規則時,該神經網路建置系統產生一警示信號,並將該指令圖形標籤組合序列的內容回復為執行違反該一或多個預設規則的該控制操作之前的內容。
- 如請求項1所述的神經網路影像辨識系統,其中,當該神經網路建置系統完成該一或多個預設規則的檢查後,該神經網路影像辨識系統將該神經網路影像辨識程式傳送至外部伺服器進行編譯,並將包含想要辨識的目標物件的現有影像傳送至該外部伺服器以訓練該神經網路影像辨識程式,其中該外部伺服器提供不包含該目標物件的對照影像以訓練該神經網路影像辨識程式,並在訓練完成後將該神經網路影像辨識程式傳送回該神經網路影像辨識系統以辨識該待辨識影像是否包含該目標物件。
- 一種神經網路建置系統,其特徵在於包括:一顯示單元,提供一畫面,該畫面顯示多個指令圖形標籤;一輸入單元,適於由使用者輸入控制操作以點選該些指令圖形標籤以組成一指令圖形標籤組合序列;以及一控制單元,提供與多個神經網路層相關的多個程式組且每一個該些指令圖形標籤對應到一個該些程式組,其中,該神經網路建置系統以與該指令圖形標籤組合序列的內容相同的順序來組合與該些指令圖形標籤對應的該些程式組以產生一神經網路程式,其中,該神經網路建置系統在該神經網路程式進行編譯之前檢查該指令圖形標籤組合序列是否符合一或多個預設規則;其中,該些指令圖形標籤包括一輸入層指令圖形標籤、一扁平層指令圖形標籤以及一輸出層指令圖形標籤,該輸入層指令圖形標籤對應到輸入層程式組,該扁平層指令圖形標籤對應到扁平層程式組,以及該輸出層指令圖形標籤對應到輸出層程式組,其中,該輸入層程式組適於執行該神經網路程式 的輸入層,該扁平層程式組適於執行該神經網路程式的扁平層,該輸出層程式組適於執行該神經網路程式的輸出層;其中,該一或多個預設規則包括:如果該輸入層指令圖形標籤的輸入張量維度超過該輸出層指令圖形標籤的輸出張量維度,則該指令圖形標籤組合序列中必須至少有一個該扁平層指令圖形標籤的該功能內容圖形。
- 如請求項7所述的神經網路建置系統,其中該控制操作更包括設定該指令圖形標籤對應的功能內容圖形中的參數欄位以設定對應的該程式組所使用的參數。
- 如請求項7所述的神經網路建置系統,其中該一或多個預設規則用於檢查該指令圖形標籤組合序列中該些指令圖形標籤對應到的該些程式組的搭配關係是否適當。
- 如請求項7所述的神經網路建置系統,其中該些指令圖形標籤更包括一全連接層指令圖形標籤,該全連接層指令圖形標籤對應到全連接層程式組,該全連接層程式組適於執行該神經網路程式的全連接層,其中,該一或多個預設規則包括:如果輸入層指令圖形標籤的輸入張量維度超過1,則該全連接層指令圖形標籤的該功能內容圖形必須排列在該扁平層指令圖形標籤的該功能內容圖形之後。
- 如請求項7所述的神經網路建置系統,其中,在該控制操作指示調整該指令圖形標籤組合序列的內容的方式違反該一或多個預設規則時,該神經 網路建置系統產生一警示信號,並將該指令圖形標籤組合序列的內容回復為執行違反該一或多個預設規則的該控制操作之前的內容。
- 一種神經網路建置方法,適於在一神經網路建置系統中被執行,其特徵在於包括:該神經網路建置系統根據使用者點選的在畫面顯示的多個指令圖形標籤組成一指令圖形標籤組合序列;該神經網路建置系統以與該指令圖形標籤組合序列的內容相同的順序來組合與該些指令圖形標籤對應的多個程式組以產生一神經網路程式;以及該神經網路建置系統在該神經網路程式進行編譯之前檢查該指令圖形標籤組合序列是否符合一或多個預設規則;其中,該些指令圖形標籤包括一輸入層指令圖形標籤、一扁平層指令圖形標籤以及一輸出層指令圖形標籤,該輸入層指令圖形標籤對應到輸入層程式組,該扁平層指令圖形標籤對應到扁平層程式組,以及該輸出層指令圖形標籤對應到輸出層程式組,其中,該輸入層程式組適於執行該神經網路程式的輸入層,該扁平層程式組適於執行該神經網路程式的扁平層,該輸出層程式組適於執行該神經網路程式的輸出層;其中,該一或多個預設規則包括:如果該輸入層指令圖形標籤的輸入張量維度超過該輸出層指令圖形標籤的輸出張量維度,則該指令圖形標籤組合序列中必須至少有一個該扁平層指令圖形標籤的該功能內容圖形。
- 如請求項12所述的神經網路建置方法,更包括:該神經網路建置系統根據使用者設定的該指令圖形標籤對應的功能內容圖形中的參數欄位以設定對應的該程式組所使用的參數。
- 如請求項12所述的神經網路建置方法,其中該一或多個預設規則用於檢查該指令圖形標籤組合序列中的該些指令圖形標籤對應到的該些程式組的搭配關係是否適當。
- 如請求項12所述的神經網路建置方法,其中該些指令圖形標籤更包括一全連接層指令圖形標籤,該全連接層指令圖形標籤對應到全連接層程式組,該全連接層程式組適於執行該神經網路程式的全連接層,其中,該一或多個預設規則包括:如果輸入層指令圖形標籤的輸入張量維度超過1,則該全連接層指令圖形標籤的該功能內容圖形必須排列在該扁平層指令圖形標籤的該功能內容圖形之後。
- 如請求項12所述的神經網路建置方法,更包括:該神經網路建置系統在使用者指示調整該指令圖形標籤組合序列的內容的方式違反該一或多個預設規則時,產生警示信號並將該指令圖形標籤組合序列的內容回復為違反該一或多個預設規則之前的內容。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/865,471 US11556801B2 (en) | 2019-08-19 | 2020-05-04 | Neural network image identification system, neural network building system and method |
CN202010472436.6A CN111612138B (zh) | 2019-08-19 | 2020-05-29 | 神经网络影像辨识系统、神经网络建置系统及方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962888588P | 2019-08-19 | 2019-08-19 | |
US62/888,588 | 2019-08-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202109366A TW202109366A (zh) | 2021-03-01 |
TWI734349B true TWI734349B (zh) | 2021-07-21 |
Family
ID=72177896
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109200748U TWM597478U (zh) | 2019-08-19 | 2020-01-17 | 神經網路影像辨識系統及其使用的神經網路建置系統 |
TW109101742A TWI734349B (zh) | 2019-08-19 | 2020-01-17 | 神經網路影像辨識系統及其使用的神經網路建置系統及方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109200748U TWM597478U (zh) | 2019-08-19 | 2020-01-17 | 神經網路影像辨識系統及其使用的神經網路建置系統 |
Country Status (1)
Country | Link |
---|---|
TW (2) | TWM597478U (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12008740B2 (en) | 2020-08-12 | 2024-06-11 | Niantic, Inc. | Feature matching using features extracted from perspective corrected image |
TWI805485B (zh) * | 2021-12-20 | 2023-06-11 | 財團法人工業技術研究院 | 影像辨識的方法及其電子裝置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120030655A1 (en) * | 2010-07-29 | 2012-02-02 | De Castillo Alejandro | Generating and Modifying Textual Code Interfaces from Graphical Programs |
CN105511860A (zh) * | 2015-11-30 | 2016-04-20 | 大连文森特软件科技有限公司 | 在线图形化编程系统 |
CN105930855A (zh) * | 2016-05-19 | 2016-09-07 | 华南理工大学 | 一种基于深度卷积神经网的车辆检测方法 |
TW201926130A (zh) * | 2017-11-21 | 2019-07-01 | 香港商阿里巴巴集團服務有限公司 | 識別車輛受損部件的方法、裝置、伺服器、客戶端及系統 |
-
2020
- 2020-01-17 TW TW109200748U patent/TWM597478U/zh unknown
- 2020-01-17 TW TW109101742A patent/TWI734349B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120030655A1 (en) * | 2010-07-29 | 2012-02-02 | De Castillo Alejandro | Generating and Modifying Textual Code Interfaces from Graphical Programs |
CN105511860A (zh) * | 2015-11-30 | 2016-04-20 | 大连文森特软件科技有限公司 | 在线图形化编程系统 |
CN105930855A (zh) * | 2016-05-19 | 2016-09-07 | 华南理工大学 | 一种基于深度卷积神经网的车辆检测方法 |
TW201926130A (zh) * | 2017-11-21 | 2019-07-01 | 香港商阿里巴巴集團服務有限公司 | 識別車輛受損部件的方法、裝置、伺服器、客戶端及系統 |
Also Published As
Publication number | Publication date |
---|---|
TWM597478U (zh) | 2020-06-21 |
TW202109366A (zh) | 2021-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11210569B2 (en) | Method, apparatus, server, and user terminal for constructing data processing model | |
US10395141B2 (en) | Weight initialization for machine learning models | |
EP3011442B1 (en) | Method and apparatus for customized software development kit (sdk) generation | |
US12032906B2 (en) | Method, apparatus and device for quality control and storage medium | |
US10782966B2 (en) | Artificially intelligent self-learning software operating program | |
TWI734349B (zh) | 神經網路影像辨識系統及其使用的神經網路建置系統及方法 | |
WO2017159638A1 (ja) | 能力付与データ生成装置 | |
CN112507090B (zh) | 用于输出信息的方法、装置、设备和存储介质 | |
CN111612138B (zh) | 神经网络影像辨识系统、神经网络建置系统及方法 | |
US20240249719A1 (en) | Automated assistant control of external applications lacking automated assistant application programming interface functionality | |
US9342487B2 (en) | Method for layout of speech bubbles associated with characters in an image | |
CN109891437A (zh) | 使用神经网络处理文本序列 | |
Rahmadi et al. | Visual recognition of graphical user interface components using deep learning technique | |
US20220277221A1 (en) | System and method for improving machine learning training data quality | |
TWI694377B (zh) | 行動原生應用程式開發平台 | |
US9501264B2 (en) | User corrections in translation | |
US20220156040A1 (en) | Methods, systems, and apparatus for providing composite graphical assistant interfaces for controlling connected devices | |
KR20120062168A (ko) | 부분 궤적 인식 장치 및 방법 | |
CN114064010A (zh) | 前端代码生成方法、装置、系统及存储介质 | |
US20200126517A1 (en) | Image adjustment method, apparatus, device and computer readable storage medium | |
WO2020174250A2 (en) | System and techniques for intelligent network design | |
US12039431B1 (en) | Systems and methods for interacting with a multimodal machine learning model | |
JP2020119409A5 (ja) | プログラム、情報処理システムとその制御方法装置及びプログラム処理方法 | |
JP6398456B2 (ja) | ソフトウェア生成装置 | |
JP2018132838A (ja) | 情報処理装置および情報処理装置用プログラム |