麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

用于獲取訓練數據的方法及裝置與流程

文檔序號:12123897閱讀:286來源:國知局
用于獲取訓練數據的方法及裝置與流程

本發明涉及視頻處理技術領域,更具體地涉及一種用于獲取訓練數據的方法及裝置。



背景技術:

神經網絡,在計算機視覺領域(如人臉識別、物體檢測、自動駕駛等)起著至關重要的作用,成為這一領域的主導技術。將神經網絡投入使用前,需要使用大量帶標注的圖片作為訓練樣本訓練神經網絡。在多數情況下,訓練數據的數量和質量對神經網絡的表現有重大的影響。因此,大規模與高質量的訓練數據獲取是非常重要的。

對于以視頻流作為訓練數據的神經網絡,現有的數據獲取方法是預先錄制多段視頻,再將視頻發送給標注員進行逐幀標注。該方法主要存在以下問題:(1)為了得到足夠多的包含相關目標對象(如車輛、行人等)需要錄制大量視頻,預先錄制的視頻占用大量儲存空間;(2)在很多場景下,視頻的大部分內容是不包含相關目標對象的,處理這些空數據會占用標注員大量時間;(3)在自然場景下,受光照等影響,標注員會出現漏標注的情況;(4)標注員精準標注出單個目標需要耗費大量精力和時間。



技術實現要素:

為了解決上述問題中的至少一個而提出了本發明。根據本發明一方面,提供了一種用于獲取訓練數據的方法,所述方法包括:接收原始視頻數據;利用訓練好的第一神經網絡檢測所述原始視頻數據中的目標對象、并對檢測到的目標對象進行自動標注;以及基于經過所述自動標注的視頻數據獲取用于訓練第二神經網絡的訓練數據。

在本發明的一個實施例中,所述基于經過所述自動標注的視頻數據獲取用于訓練第二神經網絡的訓練數據的步驟包括:將經過所述自動標注的視頻數據作為所述訓練數據;或者將經過所述自動標注的視頻數據傳送至由人工標注員進行操作的平臺,以由所述人工標注員檢查和/或修正所述自動標注,并將檢查和/或修正后的視頻數據作為所述訓練數據。

在本發明的一個實施例中,所述傳送的視頻數據僅包括所述視頻數據中包括所述目標對象的幀。

在本發明的一個實施例中,所述人工標注員對所述自動標注的檢查和修正包括以下至少一項:刪除對非目標對象的自動標注;補充對遺漏的目標對象的標注;以及微調對目標對象的不精準的自動標注。

在本發明的一個實施例中,對所述第一神經網絡的訓練包括:確定需要檢測的目標對象的類別;以及選擇包含所述類別的目標對象的目標類別訓練數據來訓練所述第一神經網絡,以檢測所述原始視頻數據中的所述類別的目標對象。

在本發明的一個實施例中,所述對檢測到的目標對象進行自動標注包括:針對每個檢測到的目標對象,標注出對檢測到該目標對象的置信度。

在本發明的一個實施例中,所述方法還包括:根據所述置信度計算所述原始視頻數據中的目標對象的數量;以及基于所述數量確定是否需要更多的原始視頻數據以獲取用于訓練所述第二神經網絡的訓練數據。

在本發明的一個實施例中,根據所述置信度計算所述原始視頻數據中的目標對象的數量,包括:將所述置信度不小于預定閾值的相同類別的目標對象的數量之和作為所述類別的目標對象的數量的值;或者在計算所述目標對象的數量時將相同類別的每個目標對象的置信度的值相加作為所述類別的目標對象的數量的值。

根據本發明另一方面,提供了一種用于獲取訓練數據的裝置,所述裝置包括:接收模塊,用于接收原始視頻數據;檢測標注模塊,用于利用訓練好的第一神經網絡檢測所述原始視頻數據中的目標對象、并對檢測到的目標對象進行自動標注;以及訓練數據獲取模塊,用于基于經過所述自動標注的視頻數據獲取用于訓練第二神經網絡的訓練數據。

在本發明的一個實施例中,所述訓練數據獲取模塊進一步用于:將經過所述自動標注的視頻數據作為所述訓練數據;或者將經過所述自動標注的視頻數據傳送至由人工標注員進行操作的平臺,以由所述人工標注員檢查和/或修正所述自動標注,并將檢查和/或修正后的視頻數據作為所述訓練數據。

在本發明的一個實施例中,所述訓練數據獲取模塊傳送的視頻數據僅包括所述視頻數據中包括所述目標對象的幀。

在本發明的一個實施例中,對所述第一神經網絡的訓練包括:確定需要檢測的目標對象的類別;以及選擇包含所述類別的目標對象的目標類別訓練數據來訓練所述第一神經網絡,以檢測所述原始視頻數據中的所述類別的目標對象。

在本發明的一個實施例中,所述檢測標注模塊進一步用于:針對每個檢測到的目標對象,標注出對檢測到該目標對象的置信度。

在本發明的一個實施例中,所述裝置還包括:計算模塊,用于根據所述置信度計算所述原始視頻數據中的目標對象的數量;以及判斷模塊,用于基于所述數量確定是否需要更多的原始視頻數據以獲取用于訓練所述第二神經網絡的訓練數據。

在本發明的一個實施例中,所述計算模塊進一步用于:將所述置信度不小于預定閾值的相同類別的目標對象的數量之和作為所述類別的目標對象的數量的值;或者在計算所述目標對象的數量時將相同類別的每個目標對象的置信度的值相加作為所述類別的目標對象的數量的值。

根據本發明實施例的用于獲取訓練數據的方法及裝置基于訓練好的神經網絡對原始視頻數據中的目標對象進行自動標注,以用于獲取訓練目標神經網絡的訓練數據,不僅可省去人工標注員對原始視頻數據進行人工標注的大量時間,還能夠有效避免人工標注可能遺漏目標對象的問題,實現高效地獲取高質量的訓練數據。

附圖說明

通過結合附圖對本發明實施例進行更詳細的描述,本發明的上述以及其它目的、特征和優勢將變得更加明顯。附圖用來提供對本發明實施例的進一步理解,并且構成說明書的一部分,與本發明實施例一起用于解釋本發明,并不構成對本發明的限制。在附圖中,相同的參考標號通常代表相同部件或步驟。

圖1示出用于實現根據本發明實施例的用于獲取訓練數據的方法和裝置的示例電子設備的示意性框圖;

圖2示出根據本發明實施例的用于獲取訓練數據的方法的示意性流程圖;

圖3示出根據本發明另一實施例的用于獲取訓練數據的方法的示意性流程圖;

圖4示出根據本發明實施例的用于獲取訓練數據的裝置的示意性框圖;以及

圖5示出根據本發明實施例的用于獲取訓練數據的系統的示意性框圖。

具體實施方式

為了使得本發明的目的、技術方案和優點更為明顯,下面將參照附圖詳細描述根據本發明的示例實施例。顯然,所描述的實施例僅僅是本發明的一部分實施例,而不是本發明的全部實施例,應理解,本發明不受這里描述的示例實施例的限制。基于本發明中描述的本發明實施例,本領域技術人員在沒有付出創造性勞動的情況下所得到的所有其它實施例都應落入本發明的保護范圍之內。

首先,參照圖1來描述用于實現本發明實施例的用于獲取訓練數據的方法和裝置的示例電子設備100。

如圖1所示,電子設備100包括一個或多個處理器102、一個或多個存儲裝置104、輸入裝置106、輸出裝置108以及圖像傳感器110,這些組件通過總線系統112和/或其它形式的連接機構(未示出)互連。應當注意,圖1所示的電子設備100的組件和結構只是示例性的,而非限制性的,根據需要,所述電子設備也可以具有其他組件和結構。

所述處理器102可以是中央處理單元(CPU)或者具有數據處理能力和/或指令執行能力的其它形式的處理單元,并且可以控制所述電子設備100中的其它組件以執行期望的功能。

所述存儲裝置104可以包括一個或多個計算機程序產品,所述計算機程序產品可以包括各種形式的計算機可讀存儲介質,例如易失性存儲器和/或非易失性存儲器。所述易失性存儲器例如可以包括隨機存取存儲器(RAM)和/或高速緩沖存儲器(cache)等。所述非易失性存儲器例如可以包括只讀存儲器(ROM)、硬盤、閃存等。在所述計算機可讀存儲介質上可以存儲一個或多個計算機程序指令,處理器102可以運行所述程序指令,以實現下文所述的本發明實施例中(由處理器實現)的客戶端功能以及/或者其它期望的功能。在所述計算機可讀存儲介質中還可以存儲各種應用程序和各種數據,例如所述應用程序使用和/或產生的各種數據等。

所述輸入裝置106可以是用戶用來輸入指令的裝置,并且可以包括鍵盤、鼠標、麥克風和觸摸屏等中的一個或多個。

所述輸出裝置108可以向外部(例如用戶)輸出各種信息(例如圖像或聲音),并且可以包括顯示器、揚聲器等中的一個或多個。

所述圖像傳感器110可以拍攝用戶期望的圖像(例如照片、視頻等),并且將所拍攝的圖像存儲在所述存儲裝置104中以供其它組件使用。

示例性地,用于實現根據本發明實施例的用于獲取訓練數據的方法和裝置的示例電子設備可以被實現為諸如智能手機、平板電腦等。

下面,將參考圖2描述根據本發明實施例的用于獲取訓練數據的方法200。

在步驟S210,接收原始視頻數據。

在一個實施例中,所接收的原始視頻數據為用于訓練某目標神經網絡(在下文中將待訓練的目標神經網絡稱為第二神經網絡)的基礎數據,對該基礎數據中所包括的某類別或某多個類別的目標對象(例如人臉和/或車等等)進行標注后可獲取用于訓練目標神經網絡(例如訓練該目標神經網絡以識別該類別的目標對象)的訓練數據。

訓練目標神經網絡需要大量的基礎數據以獲取大量的有用的訓練數據,所接收的原始視頻數據所應該包括的目標對象的類別可取決于目標神經網絡的預期用途。例如,目標神經網絡的預期用途為人臉識別,則所接收的原始視頻數據應該包括的目標對象為人(或人臉)。在其他示例中,目標神經網絡也可用于其他任何可以實現的預期用途,對應地,所接收的原始視頻數據可包括相應類別的目標對象。此外,根據目標神經網絡的預期用途,所接收的原始視頻數據也可以包括不止一種類別的目標對象。

在一個示例中,所接收的原始視頻數據可以為事先錄制的包括需要的目標對象的類別的視頻流。在其他示例中,原始視頻數據也可以為來自任何源的視頻數據。此處,原始視頻數據可以為視頻數據,也可以為圖片數據。

在步驟S220,利用訓練好的第一神經網絡檢測所述原始視頻數據中的目標對象、并對檢測到的目標對象進行自動標注。

在一個實施例中,第一神經網絡為用于檢測某個類別或多個類別的目標對象而訓練好的神經網絡。此處,將其稱為第一神經網絡僅為了與上文所述的目標神經網絡(即第二神經網絡,為了與第一神經網絡區分而如此命名)相區分,不起到任何限定作用。由于第一神經網絡是為了檢測原始視頻中的目標對象以獲得訓練第二神經網絡(目標神經網絡)的訓練數據而訓練的,因此可以將第一神經網絡稱為用于獲取訓練數據的輔助型神經網絡。該輔助型的神經網絡與待訓練的目標神經網絡相比,由于是起到輔助作用,所以其性能可能劣于獲取訓練數據后將訓練的目標神經網絡。

在一個示例中,在訓練第一神經網絡時,可以先確定需要檢測的目標對象的類別(即訓練第二神經網絡所需要的訓練數據中應包括的目標對象的類別),然后選擇包含該類別的目標對象的已有目標類別訓練數據來訓練第一神經網絡,以檢測所述原始視頻數據中的所述類別的目標對象。在一個示例中,第一神經網絡的訓練過程是類敏感的。也即,在訓練時的類別給定后,第一神經網絡使用時也只能檢測識別這些類別的對象。所以,在訓練的過程中,只需要將第一神經網絡預測的類別給予明確聲明,并給定相關的目標類別訓練數據,第一神經網絡即是對這些類別敏感的神經網絡。

基于訓練好的第一神經網絡,可檢測在步驟S210中所接收的原始視頻數據中的目標對象,并對檢測到的目標對象進行自動標注。

在一個實施例中,對于原始視頻數據的每一幀,在第一神經網絡檢測到目標對象以后,可生成該目標對象的位置坐標,實現對其的自動標注。例如,可對所檢測到的目標對象添加目標定位框。示例性地,目標定位框一般為矩形框,也可為其他合適的形狀,其用于框選所希望檢測到的目標對象。一般地,目標定位框內包括被標注目標的所有部分或期望重點用于后續計算處理的局部部分。

在另一個實施例中,對檢測到的目標對象進行的自動標注還可以包括:針對每個檢測到的目標對象,標注出對檢測到該目標對象的置信度。該置信度反映了檢測到目標對象的置信程度,也反映了該目標對象作為訓練數據的質量好壞,有助于后期訓練目標神經網絡時更靈活地選擇訓練數據,以實現不同質量要求的目標神經網絡。此外,該置信度還可以用于其他的用途,該用途將在下面結合圖3所描述的實施例中進行描述。

基于第一神經網絡檢測所述原始視頻數據中的目標對象、并對所檢測到目標對象的自動標注,不僅可省去人工標注員對原始視頻數據進行人工標注的大量時間,還能夠有效避免人工標注可能遺漏樣本(例如自然場景下在暗處的目標對象)的問題。

在步驟S230,基于經過所述自動標注的視頻數據獲取用于訓練第二神經網絡的訓練數據。

在一個實施例中,基于經過所述自動標注的視頻數據獲取用于訓練第二神經網絡的訓練數據的步驟可以包括:將經過所述自動標注的視頻數據作為所述訓練數據。在該實施例中,可以將經過自動標注的視頻數據直接作為用于訓練第二神經網絡的訓練數據。如前所述,基于訓練好的第一神經網絡對原始視頻數據中的目標對象的自動標注,可省去人工標注員對原始視頻數據進行人工標注的大量時間,還能夠有效避免人工標注可能遺漏目標對象的問題,因此,可將經過自動標注的視頻數據直接作為用于訓練第二神經網絡的訓練數據,實現對訓練數據的高效獲取。

在另一個實施例中,基于經過所述自動標注的視頻數據獲取用于訓練第二神經網絡的訓練數據的步驟可以包括:將經過所述自動標注的視頻數據傳送至由人工標注員進行操作的平臺,以由所述人工標注員檢查和/或修正所述自動標注,并將檢查和/或修正后的視頻數據作為所述訓練數據。在該實施例中,將經過自動標注的視頻數據再由人工標注員檢查和/或修正,可進一步確保最終獲得的經標注的訓練數據的高質量。

在一個實施例中,人工標注員對所述自動標注的檢查和修正可以包括以下中的任意一個或多個:刪除對非目標對象的自動標注;補充對遺漏的目標對象的標注;以及微調對目標對象的不精準的自動標注。基于人工標注員對第一神經網絡對目標對象的自動標注的檢查和/或修正,可進一步提高最終獲得的經標注的訓練數據的質量,從而使訓練數據的獲取過程更加完善。

在一個示例中,可以僅將經自動標注的視頻數據中包括目標對象的幀傳送至由人工標注員進行操作的平臺(例如云平臺)。這樣可以減少傳送的數據量,提高傳送效率。此外,由于提前濾掉確定不含目標對象的幀,也減少了后續人工標注員的工作量。

在一個示例中,也可以濾除置信度小于預定閾值的目標對象,僅將經自動標注的視頻數據中包括置信度不小于所述預定閾值的目標對象的幀傳送至由人工標注員進行操作的平臺(例如云平臺)。這樣可以進一步減少傳送的數據量,提高傳送效率,也大大減少了后續人工標注員的工作量。

在另一個示例中,也可以將經自動標注的視頻數據的全部傳送至由人工標注員進行操作的平臺(例如云平臺)。這樣雖然傳送的數據量可能較上述示例多,不過可以避免出現第一神經網絡檢測某幀時遺漏掉目標對象而無法被人工標注員修正的情況。

基于上面的描述,根據本發明實施例的用于獲取訓練數據的方法基于訓練好的神經網絡對原始視頻數據中的目標對象進行自動標注,以用于獲取訓練目標神經網絡的訓練數據,不僅可省去人工標注員對原始視頻數據進行人工標注的大量時間,還能夠有效避免人工標注可能遺漏目標對象的問題,實現高效地獲取高質量的訓練數據。

示例性地,根據本發明實施例的用于獲取訓練數據的方法可以在具有存儲器和處理器的設備、裝置或者系統中實現。

根據本發明實施例的用于獲取訓練數據的方法可以部署在個人終端處,諸如智能電話、平板電腦、個人計算機等。替代地,根據本發明實施例的用于獲取訓練數據的方法還可以部署在服務器端(或云端)。替代地,根據本發明實施例的用于獲取訓練數據的方法還可以分布地部署在服務器端(或云端)和個人終端處。

在其他實施例中,根據本發明的用于獲取訓練數據的方法還可包括其他的操作,下面結合圖3進行進一步描述。

圖3示出了根據本發明另一實施例的用于獲取訓練數據的方法300的示意性流程圖。如圖3所示,用于獲取訓練數據的方法300可以包括如下步驟:

在步驟S310,接收原始視頻數據。

在步驟S320,利用訓練好的第一神經網絡檢測所述原始視頻數據中的目標對象、并對檢測到的目標對象進行自動標注。

在步驟S330,基于經過所述自動標注的視頻數據獲取用于訓練第二神經網絡的訓練數據。

此處,步驟S310、S320和S330分別與圖2中所描述的用于獲取訓練數據的方法200的步驟S210、S220和S230類似,為了簡潔,此處不再贅述。

在步驟S340,計算所述原始視頻數據中的目標對象的數量、并基于所述數量確定是否需要更多的原始視頻數據以獲取用于訓練所述第二神經網絡的訓練數據。

可基于訓練好的第一神經網絡對原始視頻數據中目標對象的檢測和/或自動標注計算所述原始視頻數據中的目標對象的數量,這樣可實時確定已獲得的視頻段中所包含的相關目標對象的樣本數量,基于該數量可確定是否需要更多的原始視頻數據以獲取用于訓練第二神經網絡的訓練數據。如果確定需要更多的原始視頻數據,則回到步驟S310;反之,如果確定不需要更多的原始視頻數據,則進程可結束。因此,基于該步驟可無需盲目大量錄制或獲取視頻,不僅能夠提高獲取訓練數據的效率,還可有效節省存儲訓練數據的存儲空間。

在一個示例中,可以基于訓練好的第一神經網絡所檢測的原始視頻數據的每一幀中的目標對象的數量直接計算原始視頻數據中目標對象的總數量。

在另一個示例中,訓練好的第一神經網絡可針對每個檢測的目標對象輸出檢測到該目標對象的置信度(如上文中關于圖2描述的實施例中所述)。置信度的值可以為一個百分數,或者為0到1之間的實數。在該示例中,可基于目標對象的置信度來計算原始視頻數據中目標對象的數量。

在一個示例中,可以設置一個預定閾值,將置信度不小于所述預定閾值的相同類別的目標對象的數量之和作為所述類別的目標對象的數量的值。例如,在計算原始視頻數據中目標對象的數量時可濾除置信度小于預定閾值的目標對象,并將置信度不小于所述預定閾值的相同類別的目標對象的數量之和作為所述類別的目標對象的數量的值。例如,當檢測到的某目標對象的置信度小于50%(或其他任何合適的值,該值根據具體需求可任意設定)時,可不將該目標對象計算到原始視頻數據中目標對象的總數目中,而將置信度大于等于50%的相同類別的目標對象的數量之和作為所述類別的目標對象的數量的值。這樣,可提高對目標對象的質量要求,有益于提高訓練數據的質量,從而提高該訓練數據所用于訓練的目標神經網絡的質量。

在另一個示例中,可以在計算原始視頻數據中目標對象的數量時將相同類別的每個目標對象的置信度的值相加作為原始視頻數據中所述類別的目標對象的數量的值。例如,所檢測到的某類別的目標對象A、B、C……的置信度分別被標注為1、0.8、0.5……,則可將該類別的目標對象的總數量計算為1+0.8+0.5+……。這樣,基于計算得出的結果,可精確地了解原始視頻數據中所包括的該類別的目標對象的狀態,從而更能準確地判斷是否需要或者還需要多少數量的原始視頻數據,以用于獲取訓練數據,提高后續收集或獲取訓練數據的效率,從而提高該訓練數據所用于訓練的目標神經網絡的訓練效率。

基于上面的描述,根據本發明實施例的用于獲取訓練數據的方法基于訓練好的神經網絡對原始視頻數據中的目標對象進行自動標注,以用于獲取訓練目標神經網絡的訓練數據,不僅可省去人工標注員對原始視頻數據進行人工標注的大量時間,還能夠有效避免人工標注可能遺漏目標對象的問題,實現高效地獲取高質量的訓練數據。此外,根據本發明實施例的用于獲取訓練數據的方法可基于訓練好的神經網絡實時計算已獲得的視頻段中所包含的相關目標對象的樣本數量,無需盲目大量錄制或獲取視頻,不僅能夠提高獲取訓練數據的效率,還可有效節省存儲訓練數據的存儲空間。

以上示例性地描述了根據本發明實施例的獲取訓練數據的方法所包括的示例性步驟流程。值得注意的是,雖然在圖3中示出了上述步驟S310到S340,但根據本發明實施例的獲取訓練數據的方法可以不包括這些步驟的全部而得以實現,例如可以不包括步驟S340。此外,根據本發明實施例的獲取訓練數據的方法也可不按照在圖3中所示出的順序執行那些步驟而得以實現,例如步驟S340可以在步驟S330之前進行。

下面結合圖4描述本發明另一方面提供的用于獲取訓練數據的裝置。圖4示出了根據本發明實施例的用于獲取訓練數據的裝置400的示意性框圖。

如圖4所示,根據本發明實施例的用于獲取訓練數據的裝置400包括接收模塊410、檢測標注模塊420以及訓練數據獲取模塊430。所述各個模塊可分別執行上文中結合圖2至圖3描述的用于獲取訓練數據的方法的各個步驟/功能。以下僅對用于獲取訓練數據的裝置400的各單元的主要功能進行描述,而省略以上已經描述過的細節內容。

接收模塊410用于接收原始視頻數據。檢測標注模塊420用于利用訓練好的第一神經網絡檢測所述原始視頻數據中的目標對象、并對檢測到的目標對象進行自動標注。訓練數據獲取模塊430用于基于經過所述自動標注的視頻數據獲取用于訓練第二神經網絡的訓練數據。接收模塊410、檢測標注模塊420以及訓練數據獲取模塊430均可以由圖1所示的電子設備中的處理器102運行存儲裝置104中存儲的程序指令來實現。

在一個實施例中,接收模塊410所接收的原始視頻數據為用于訓練某目標神經網絡(在本文中將待訓練的目標神經網絡稱為第二神經網絡)的基礎數據,對該基礎數據中所包括的某類別或某多個類別的目標對象(例如人臉和/或車等等)進行標注后可獲取用于訓練目標神經網絡(例如訓練該目標神經網絡以識別該類別的目標對象)的訓練數據。

訓練目標神經網絡需要大量的基礎數據以獲取大量的有用的訓練數據,所接收的原始視頻數據所應該包括的目標對象的類別可取決于目標神經網絡的預期用途。例如,目標神經網絡的預期用途為人臉識別,則所接收的原始視頻數據應該包括的目標對象為人(或人臉)。在其他示例中,目標神經網絡也可用于其他任何可以實現的預期用途,對應地,所接收的原始視頻數據可包括相應類別的目標對象。此外,根據目標神經網絡的預期用途,所接收的原始視頻數據也可以包括不止一種類別的目標對象。

在一個示例中,接收模塊410所接收的原始視頻數據可以為事先錄制的包括需要的目標對象類別的視頻流。在其他示例中,接收模塊410所接收的原始視頻數據也可以為來自任何源的視頻數據。此處,接收模塊410所接收的原始視頻數據可以為視頻數據,也可以為圖片數據。

檢測標注模塊420利用訓練好的第一神經網絡檢測所述原始視頻數據中的目標對象、并對檢測到的目標對象進行自動標注。

在一個實施例中,第一神經網絡為用于檢測某個類別或多個類別的目標對象而訓練好的神經網絡。此處,將其稱為第一神經網絡僅為了與本文所述的目標神經網絡(即第二神經網絡,為了與第一神經網絡區分而如此命名)相區分,不起到任何限定作用。由于第一神經網絡是為了檢測原始視頻中的目標對象以獲得訓練第二神經網絡(目標神經網絡)的訓練數據而訓練的,因此可以將第一神經網絡稱為用于獲取訓練數據的輔助型神經網絡。該輔助型的神經網絡與待訓練的目標神經網絡相比,由于是起到輔助作用,所以其性能可能劣于獲取訓練數據后將訓練的目標神經網絡。

在一個示例中,在訓練第一神經網絡時,可以先確定需要檢測的目標對象的類別(即訓練第二神經網絡所需要的訓練數據中應包括的目標對象的類別),然后選擇包含該類別的目標對象的已有目標類別訓練數據來訓練第一神經網絡,以用于由檢測標注模塊檢測所述原始視頻數據中的所述類別的目標對象。在一個示例中,第一神經網絡的訓練過程是類敏感的。也即,在訓練時的類別給定后,第一神經網絡使用時也只能檢測識別這些類別的對象。所以,在訓練的過程中,只需要將第一神經網絡預測的類別給予明確聲明,并給定相關的目標類別訓練數據,第一神經網絡即是對這些類別敏感的神經網絡。

在一個實施例中,對于原始視頻數據的每一幀,在檢測標注模塊420檢測到目標對象以后,可生成該目標對象的位置坐標,實現對其的自動標注。例如,可對所檢測到的目標對象添加目標定位框。示例性地,目標定位框一般為矩形框,也可為其他合適的形狀,其用于框選所希望檢測到的目標對象。一般地,目標定位框內包括被標注目標的所有部分或期望重點用于后續計算處理的局部部分。

在另一個實施例中,檢測標注模塊420對檢測到的目標對象進行的自動標注還可以包括:針對每個檢測到的目標對象,標注出對檢測到該目標對象的置信度。該置信度反映了檢測到目標對象的置信程度,也反映了該目標對象作為訓練數據的質量好壞,有助于后期訓練目標神經網絡時更靈活地選擇訓練數據,以實現不同質量要求的目標神經網絡。

訓練數據獲取模塊430基于經過所述自動標注的視頻數據獲取用于訓練第二神經網絡的訓練數據。

在一個實施例中,訓練數據獲取模塊430可以將經過所述自動標注的視頻數據作為所述訓練數據。在該實施例中,訓練數據獲取模塊430可以將經過自動標注的視頻數據直接作為用于訓練第二神經網絡的訓練數據。檢測標注模塊420基于訓練好的第一神經網絡對原始視頻數據中的目標對象的自動標注,可省去人工標注員對原始視頻數據進行人工標注的大量時間,還能夠有效避免人工標注可能遺漏目標對象的問題,因此,訓練數據獲取模塊430可將經過自動標注的視頻數據直接作為用于訓練第二神經網絡的訓練數據,實現對訓練數據的高效獲取。

在另一個實施例中,訓練數據獲取模塊430可以將經過所述自動標注的視頻數據傳送至由人工標注員進行操作的平臺,以由所述人工標注員檢查和/或修正所述自動標注,并將檢查和/或修正后的視頻數據作為所述訓練數據。在該實施例中,訓練數據獲取模塊430將經過自動標注的視頻數據再由人工標注員檢查和/或修正,可進一步確保最終獲得的經標注的訓練數據的高質量。

在一個實施例中,人工標注員對所述自動標注的檢查和修正可以包括以下中的任意一個或多個:刪除對非目標對象的自動標注;補充對遺漏的目標對象的標注;以及微調對目標對象的不精準的自動標注。基于人工標注員對自動標注的檢查和/或修正,可進一步提高最終獲得的經標注的訓練數據的質量,從而使訓練數據的獲取過程更加完善。

在一個示例中,訓練數據獲取模塊430可以僅將經自動標注的視頻數據中包括目標對象的幀傳送至由人工標注員進行操作的平臺(例如云平臺)。這樣可以減少傳送的數據量,提高傳送效率。此外,由于提前濾掉確定不含目標對象的幀,也減少了后續人工標注員的工作量。

在一個示例中,訓練數據獲取模塊430也可以濾除置信度小于預定閾值的目標對象,僅將經自動標注的視頻數據中包括置信度不小于所述預定閾值的目標對象的幀傳送至由人工標注員進行操作的平臺(例如云平臺)。這樣可以進一步減少傳送的數據量,提高傳送效率,也大大減少了后續人工標注員的工作量。在另一個示例中,訓練數據獲取模塊430也可以將經自動標注的視頻數據的全部傳送至由人工標注員進行操作的平臺(例如云平臺)。這樣雖然傳送的數據量可能較上述示例多,不過可以避免出現第一神經網絡檢測某幀時遺漏掉目標對象而無法被人工標注員修正的情況。

在一個實施例中,根據本發明實施例的用于獲取訓練數據的裝置400還可以包括計算模塊和判斷模塊(均未在圖4中示出),所述計算模塊計算用于所述原始視頻數據中的目標對象的數量,所述判斷模塊用于基于所述數量確定是否需要更多的原始視頻數據以獲取用于訓練所述第二神經網絡的訓練數據。

計算模塊可基于檢測標注模塊420對原始視頻數據中目標對象的檢測和/或自動標注計算所述原始視頻數據中的目標對象的數量,這樣可實時確定已獲得的視頻段中所包含的相關目標對象的樣本數量。判斷模塊基于該數量可確定是否需要更多的原始視頻數據以獲取用于訓練第二神經網絡的訓練數據。如果判斷模塊確定需要更多的原始視頻數據,則接收模塊繼續接收更多的原始視頻數據;反之,如果判斷模塊確定不需要更多的原始視頻數據,則接收模塊無需再繼續接收更多的原始視頻數據。因此,基于計算模塊和判斷模塊的操作,可無需盲目大量錄制或獲取視頻,不僅能夠提高獲取訓練數據的效率,還可有效節省存儲訓練數據的存儲空間。

在一個示例中,計算模塊可以基于訓練好的第一神經網絡所檢測的原始視頻數據的每一幀中的目標對象的數量直接計算原始視頻數據中目標對象的總數量。

在另一個示例中,檢測標注模塊420可針對每個檢測的目標對象輸出檢測到該目標對象的置信度(如上文中所述)。置信度的值可以為一個百分數,或者為0到1之間的實數。在該示例中,計算模塊可基于目標對象的置信度來計算原始視頻數據中目標對象的數量。

在一個示例中,可以設置一個預定閾值,計算模塊可以將置信度不小于所述預定閾值的相同類別的目標對象的數量之和作為所述類別的目標對象的數量的值。例如,在計算原始視頻數據中目標對象的數量時計算模塊可濾除置信度小于預定閾值的目標對象,并將置信度不小于所述預定閾值的相同類別的目標對象的數量之和作為所述類別的目標對象的數量的值。例如,當檢測到的某目標對象的置信度小于50%(或其他任何合適的值,該值根據具體需求可任意設定)時,計算模塊可不將該目標對象計算到原始視頻數據中目標對象的總數目中,而將置信度大于等于50%的相同類別的目標對象的數量之和作為所述類別的目標對象的數量的值。這樣,可提高對目標對象的質量要求,有益于提高訓練數據的質量,從而提高該訓練數據所用于訓練的目標神經網絡的質量。

在另一個示例中,計算模塊可以在計算原始視頻數據中目標對象的數量時將相同類別的每個目標對象的置信度的值相加作為原始視頻數據中所述類別的目標對象的數量的值。例如,檢測標注模塊所檢測到的某類別的目標對象A、B、C……的置信度分別標注為1、0.8、0.5……,則計算模塊可將該類別的目標對象的總數量計算為1+0.8+0.5+……。這樣,基于計算模塊計算得出的結果,可精確地了解原始視頻數據中所包括的該類別的目標對象的狀態,從而更能由判斷模塊準確地判斷是否需要或者還需要多少數量的原始視頻數據,以用于獲取訓練數據,提高后續收集或獲取訓練數據的效率,從而提高該訓練數據所用于訓練的目標神經網絡的訓練效率。

基于上面的描述,根據本發明實施例的用于獲取訓練數據的裝置基于訓練好的神經網絡對原始視頻數據中的目標對象進行自動標注,以用于獲取訓練目標神經網絡的訓練數據,不僅可省去人工標注員對原始視頻數據進行人工標注的大量時間,還能夠有效避免人工標注可能遺漏目標對象的問題,實現高效地獲取高質量的訓練數據。此外,根據本發明實施例的用于獲取訓練數據的裝置可基于訓練好的神經網絡實時計算已獲得的視頻段中所包含的相關目標對象的樣本數量,無需盲目大量錄制或獲取視頻,不僅能夠提高獲取訓練數據的效率,還可有效節省存儲訓練數據的存儲空間。

圖5示出了根據本發明實施例的用于獲取訓練數據的系統500的示意性框圖。用于獲取訓練數據的系統500包括存儲裝置510以及處理器520。

其中,存儲裝置510存儲用于實現根據本發明實施例的用于獲取訓練數據的方法中的相應步驟的程序代碼。處理器520用于運行存儲裝置510中存儲的程序代碼,以執行根據本發明實施例的用于獲取訓練數據的方法的相應步驟,并且用于實現根據本發明實施例的用于獲取訓練數據的裝置中的相應模塊。此外,用于獲取訓練數據的系統500還可以包括圖像采集裝置(未在圖5中示出),其可以用于采集原始視頻數據。當然,圖像采集裝置不是必需的,可直接接收來自其他源的原始視頻數據的輸入。

在一個實施例中,在所述程序代碼被處理器520運行時使得用于獲取訓練數據的系統500執行以下步驟:接收原始視頻數據;利用訓練好的第一神經網絡檢測所述原始視頻數據中的目標對象、并對檢測到的目標對象進行自動標注;以及基于經過所述自動標注的視頻數據獲取用于訓練第二神經網絡的訓練數據。

在一個實施例中,在所述程序代碼被處理器520運行時使得用于獲取訓練數據的系統500執行的所述基于經過所述自動標注的視頻數據獲取用于訓練第二神經網絡的訓練數據的步驟包括:將經過所述自動標注的視頻數據作為所述訓練數據;或者將經過所述自動標注的視頻數據傳送至由人工標注員進行操作的平臺,以由所述人工標注員檢查和/或修正所述自動標注,并將檢查和/或修正后的視頻數據作為所述訓練數據。

在一個實施例中,所述傳送的視頻數據僅包括所述視頻數據中包括所述目標對象的幀。

在一個實施例中,所述人工標注員對所述自動標注的檢查和修正包括以下至少一項:刪除對非目標對象的自動標注;補充對遺漏的目標對象的標注;以及微調對目標對象的不精準的自動標注。

在一個實施例中,對所述第一神經網絡的訓練包括:確定需要檢測的目標對象的類別;以及選擇包含所述類別的目標對象的目標類別訓練數據來訓練所述第一神經網絡,以檢測所述原始視頻數據中的所述類別的目標對象。

在一個實施例中,在所述程序代碼被處理器520運行時使得用于獲取訓練數據的系統500執行的所述對檢測到的目標對象進行自動標注包括:針對每個檢測到的目標對象,標注出對檢測到該目標對象的置信度。

在一個實施例中,在所述程序代碼被處理器520運行時還使得用于獲取訓練數據的系統500執行以下步驟:根據所述置信度計算所述原始視頻數據中的目標對象的數量;以及基于所述數量確定是否需要更多的原始視頻數據以獲取用于訓練所述第二神經網絡的訓練數據。

在一個實施例中,在所述程序代碼被處理器520運行時使得用于獲取訓練數據的系統500執行的根據所述置信度計算所述原始視頻數據中的目標對象的數量,包括:將所述置信度不小于預定閾值的相同類別的目標對象的數量之和作為所述類別的目標對象的數量的值;或者在計算所述目標對象的數量時將相同類別的每個目標對象的置信度的值相加作為所述類別的目標對象的數量的值。

此外,根據本發明實施例,還提供了一種存儲介質,在所述存儲介質上存儲了程序指令,在所述程序指令被計算機或處理器運行時用于執行本發明實施例的用于獲取訓練數據的方法的相應步驟,并且用于實現根據本發明實施例的用于獲取訓練數據的裝置中的相應模塊。所述存儲介質例如可以包括智能電話的存儲卡、平板電腦的存儲部件、個人計算機的硬盤、只讀存儲器(ROM)、可擦除可編程只讀存儲器(EPROM)、便攜式緊致盤只讀存儲器(CD-ROM)、USB存儲器、或者上述存儲介質的任意組合。所述計算機可讀存儲介質可以是一個或多個計算機可讀存儲介質的任意組合,例如一個計算機可讀存儲介質包含接收原始視頻數據的計算機可讀的程序代碼,另一個計算機可讀存儲介質包含檢測和自動標注目標對象的計算機可讀的程序代碼,又一個計算機可讀存儲介質包含獲取訓練數據的計算機可讀的程序代碼。

在一個實施例中,所述計算機程序指令在被計算機運行時可以實現根據本發明實施例的用于獲取訓練數據的裝置的各個功能模塊,并且/或者可以執行根據本發明實施例的用于獲取訓練數據的方法。

在一個實施例中,所述計算機程序指令在被計算機或處理器運行時使計算機或處理器執行以下步驟:接收原始視頻數據;利用訓練好的第一神經網絡檢測所述原始視頻數據中的目標對象、并對檢測到的目標對象進行自動標注;以及基于經過所述自動標注的視頻數據獲取用于訓練第二神經網絡的訓練數據。

在一個實施例中,所述計算機程序指令在被計算機或處理器運行時使計算機或處理器執行的所述基于經過所述自動標注的視頻數據獲取用于訓練第二神經網絡的訓練數據的步驟包括:將經過所述自動標注的視頻數據作為所述訓練數據;或者將經過所述自動標注的視頻數據傳送至由人工標注員進行操作的平臺,以由所述人工標注員檢查和/或修正所述自動標注,并將檢查和/或修正后的視頻數據作為所述訓練數據。

在一個實施例中,所述傳送的視頻數據僅包括所述視頻數據中包括所述目標對象的幀。

在一個實施例中,所述人工標注員對所述自動標注的檢查和修正包括以下至少一項:刪除對非目標對象的自動標注;補充對遺漏的目標對象的標注;以及微調對目標對象的不精準的自動標注。

在一個實施例中,對所述第一神經網絡的訓練包括:確定需要檢測的目標對象的類別;以及選擇包含所述類別的目標對象的目標類別訓練數據來訓練所述第一神經網絡,以檢測所述原始視頻數據中的所述類別的目標對象。

在一個實施例中,所述計算機程序指令在被計算機或處理器運行時使計算機或處理器執行的所述對檢測到的目標對象進行自動標注包括:針對每個檢測到的目標對象,標注出對檢測到該目標對象的置信度。

在一個實施例中,所述計算機程序指令在被計算機或處理器運行時還使計算機或處理器執行以下步驟:根據所述置信度計算所述原始視頻數據中的目標對象的數量;以及基于所述數量確定是否需要更多的原始視頻數據以獲取用于訓練所述第二神經網絡的訓練數據。

在一個實施例中,所述計算機程序指令在被計算機或處理器運行時使計算機或處理器執行的根據所述置信度計算所述原始視頻數據中的目標對象的數量,包括:將所述置信度不小于預定閾值的相同類別的目標對象的數量之和作為所述類別的目標對象的數量的值;或者在計算所述目標對象的數量時將相同類別的每個目標對象的置信度的值相加作為所述類別的目標對象的數量的值。

根據本發明實施例的用于獲取訓練數據的裝置中的各模塊可以通過根據本發明實施例的用于獲取訓練數據的電子設備的處理器運行在存儲器中存儲的計算機程序指令來實現,或者可以在根據本發明實施例的計算機程序產品的計算機可讀存儲介質中存儲的計算機指令被計算機運行時實現。

根據本發明實施例的用于獲取訓練數據的方法、裝置、系統以及存儲介質基于訓練好的神經網絡對原始視頻數據中的目標對象進行自動標注,以用于獲取訓練目標神經網絡的訓練數據,不僅可省去人工標注員對原始視頻數據進行人工標注的大量時間,還能夠有效避免人工標注可能遺漏目標對象的問題,實現高效地獲取高質量的訓練數據。此外,根據本發明實施例的用于獲取訓練數據的方法、裝置、系統以及存儲介質還可基于訓練好的神經網絡實時計算已獲得的視頻段中所包含的相關目標對象的樣本數量,無需盲目大量錄制或獲取視頻,不僅能夠提高獲取訓練數據的效率,還可有效節省存儲訓練數據的存儲空間。

盡管這里已經參考附圖描述了示例實施例,應理解上述示例實施例僅僅是示例性的,并且不意圖將本發明的范圍限制于此。本領域普通技術人員可以在其中進行各種改變和修改,而不偏離本發明的范圍和精神。所有這些改變和修改意在被包括在所附權利要求所要求的本發明的范圍之內。

本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。

在本申請所提供的幾個實施例中,應該理解到,所揭露的設備和方法,可以通過其它的方式實現。例如,以上所描述的設備實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個設備,或一些特征可以忽略,或不執行。

在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。

類似地,應當理解,為了精簡本發明并幫助理解各個發明方面中的一個或多個,在對本發明的示例性實施例的描述中,本發明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該本發明的方法解釋成反映如下意圖:即所要求保護的本發明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如相應的權利要求書所反映的那樣,其發明點在于可以用少于某個公開的單個實施例的所有特征的特征來解決相應的技術問題。因此,遵循具體實施方式的權利要求書由此明確地并入該具體實施方式,其中每個權利要求本身都作為本發明的單獨實施例。

本領域的技術人員可以理解,除了特征之間相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。

此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發明的范圍之內并且形成不同的實施例。例如,在權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。

本發明的各個部件實施例可以以硬件實現,或者以在一個或者多個處理器上運行的軟件模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數字信號處理器(DSP)來實現根據本發明實施例的物品分析設備中的一些模塊的一些或者全部功能。本發明還可以實現為用于執行這里所描述的方法的一部分或者全部的裝置程序(例如,計算機程序和計算機程序產品)。這樣的實現本發明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。

應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞“包含”不排除存在未列在權利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。

以上所述,僅為本發明的具體實施方式或對具體實施方式的說明,本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內。本發明的保護范圍應以權利要求的保護范圍為準。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 湾仔区| 蒲城县| 武义县| 阳谷县| 邢台县| 兴国县| 梓潼县| 定兴县| 黄龙县| 楚雄市| 芦山县| 兴国县| 青阳县| 旅游| 云南省| 吴川市| 津南区| 雅安市| 乌兰县| 柳河县| 会东县| 江口县| 襄垣县| 个旧市| 淳安县| 澳门| 湄潭县| 台山市| 马龙县| SHOW| 潮安县| 苍南县| 潞城市| 广汉市| 鲁甸县| 临洮县| 荥经县| 名山县| 博爱县| 醴陵市| 台前县|