本發明涉及圖像處理技術領域,更具體地涉及一種目標對象遮擋檢測方法及裝置。
背景技術:
對于圖像中某對象的識別而言,圖像中所存在的對該對象的遮擋是一個嚴重的干擾因素,例如人臉識別時人臉上的口罩、眼鏡、劉海、帽子、紋飾等會對人臉造成遮擋。另一方面,在一些應用中,如監控視頻中的人臉識別中,會出現通過遮擋而有意干擾、對抗識別的情況。這些都將會嚴重影響識別的精度和穩定性。
由于遮擋的方式和類型的多種多樣、難以窮盡,如果對每一個遮擋種類訓練一個分類器,會使得工作量巨大,并嚴重受到數據量的約束。因此,需要一種能夠檢測圖像中的對象是否存在遮擋的技術或系統。
技術實現要素:
為了解決上述問題而提出了本發明。根據本發明一方面,提供了一種目標對象遮擋檢測方法,所述目標對象遮擋檢測方法包括:接收輸入圖像;利用訓練好的神經網絡檢測所述輸入圖像中的目標對象、并輸出所述目標對象的熱力圖;以及基于所述熱力圖檢測所述目標對象是否存在遮擋。
在本發明的一個實施例中,所述訓練好的神經網絡為全卷積神經網絡。
在本發明的一個實施例中,所述全卷積神經網絡基于將訓練好的卷積神經網絡的全連接層替換為卷積層而生成。
在本發明的一個實施例中,所述卷積層為1×1卷積層。
在本發明的一個實施例中,所述全卷積神經網絡還包括上采樣層。
在本發明的一個實施例中,所述上采樣層的數目取決于所述輸出的熱力圖的期望分辨率。
在本發明的一個實施例中,所述目標對象遮擋檢測方法還包括:在輸出所述熱力圖后,對所述熱力圖中的目標對象進行標注;并且所述對目標對象是否存在遮擋的檢測是基于經所述標注后的熱力圖。
在本發明的一個實施例中,所述基于所述熱力圖檢測所述目標對象是否存在遮擋的步驟包括:檢測所述熱力圖中的目標對象的形狀是否符合所述目標對象的類別的對象的形狀;以及當所述熱力圖中的目標對象的形狀符合所述目標對象的類別的對象的形狀時,確定所述目標對象不存在遮擋,反之,則確定所述目標對象存在遮擋。
在本發明的一個實施例中,所述基于所述熱力圖檢測所述目標對象是否存在遮擋的步驟包括:檢測所述熱力圖中的目標對象的區域是否為連通區域;以及當檢測到所述熱力圖中的目標對象的區域為連通區域時,確定所述目標對象不存在遮擋,反之,則確定所述目標對象存在遮擋。
在本發明的一個實施例中,所述目標對象遮擋檢測方法還包括:當檢測到所述熱力圖中的目標對象存在遮擋時,確定遮擋區域。
根據本發明另一方面,提供了一種目標對象遮擋檢測裝置,所述目標對象遮擋檢測裝置包括:接收模塊,用于接收輸入圖像;熱力圖輸出模塊,用于利用訓練好的神經網絡檢測所述輸入圖像中的目標對象、并輸出所述目標對象的熱力圖;以及遮擋檢測模塊,用于基于所述熱力圖檢測所述目標對象是否存在遮擋。
在本發明的一個實施例中,所述訓練好的神經網絡為全卷積神經網絡。
在本發明的一個實施例中,所述全卷積神經網絡基于將訓練好的卷積神經網絡的全連接層替換為卷積層而生成。
在本發明的一個實施例中,所述卷積層為1×1卷積層。
在本發明的一個實施例中,所述全卷積神經網絡還包括上采樣層。
在本發明的一個實施例中,所述上采樣層的數目取決于所述輸出的熱力圖的期望分辨率。
在本發明的一個實施例中,所述目標對象遮擋檢測裝置還包括:自動標注模塊,用于對所述熱力圖中的目標對象進行標注;并且所述遮擋檢測模塊還用于基于經所述標注后的熱力圖檢測所述目標對象是否存在遮擋。
在本發明的一個實施例中,所述遮擋檢測模塊還用于:檢測所述熱力圖中的目標對象的形狀是否符合所述目標對象的類別的對象的形狀;以及當所述熱力圖中的目標對象的形狀符合所述目標對象的類別的對象的形狀時,確定所述目標對象不存在遮擋,反之,則確定所述目標對象存在遮擋。
在本發明的一個實施例中,所述遮擋檢測模塊還用于:檢測所述熱力圖中的目標對象的區域是否為連通區域;以及當檢測到所述熱力圖中的目標對象的區域為連通區域時,確定所述目標對象不存在遮擋,反之,則確定所述目標對象存在遮擋。
在本發明的一個實施例中,所述遮擋檢測模塊還用于:當檢測到所述熱力圖中的目標對象存在遮擋時,確定遮擋區域。
根據本發明實施例的目標對象遮擋檢測方法及裝置基于訓練好的神經網絡將輸入圖像中的目標對象轉換為熱力圖,并通過熱力圖檢測目標對象是否存在遮擋,可有效降低對目標對象的識別難度,提升識別精度和穩定性。
附圖說明
通過結合附圖對本發明實施例進行更詳細的描述,本發明的上述以及其它目的、特征和優勢將變得更加明顯。附圖用來提供對本發明實施例的進一步理解,并且構成說明書的一部分,與本發明實施例一起用于解釋本發明,并不構成對本發明的限制。在附圖中,相同的參考標號通常代表相同部件或步驟。
圖1示出用于實現根據本發明實施例的目標對象遮擋檢測方法和裝置的示例電子設備的示意性框圖;
圖2示出根據本發明實施例的目標對象遮擋檢測方法的示意性流程圖;
圖3A和圖3B分別示出根據本發明實施例的卷積神經網絡和全卷積神經網絡的示意性結構圖;
圖4A和圖4B分別示出輸入圖像的示例以及輸出的相對應的熱力圖的示例;
圖5示出根據本發明實施例的目標對象遮擋檢測裝置的示意性框圖;以及
圖6示出根據本發明實施例的目標對象遮擋檢測系統的示意性框圖。
具體實施方式
為了使得本發明的目的、技術方案和優點更為明顯,下面將參照附圖詳細描述根據本發明的示例實施例。顯然,所描述的實施例僅僅是本發明的一部分實施例,而不是本發明的全部實施例,應理解,本發明不受這里描述的示例實施例的限制。基于本發明中描述的本發明實施例,本領域技術人員在沒有付出創造性勞動的情況下所得到的所有其它實施例都應落入本發明的保護范圍之內。
首先,參照圖1來描述用于實現本發明實施例的目標對象遮擋檢測方法和裝置的示例電子設備100。
如圖1所示,電子設備100包括一個或多個處理器102、一個或多個存儲裝置104、輸入裝置106、輸出裝置108以及圖像傳感器110,這些組件通過總線系統112和/或其它形式的連接機構(未示出)互連。應當注意,圖1所示的電子設備100的組件和結構只是示例性的,而非限制性的,根據需要,所述電子設備也可以具有其他組件和結構。
所述處理器102可以是中央處理單元(CPU)或者具有數據處理能力和/或指令執行能力的其它形式的處理單元,并且可以控制所述電子設備100中的其它組件以執行期望的功能。
所述存儲裝置104可以包括一個或多個計算機程序產品,所述計算機程序產品可以包括各種形式的計算機可讀存儲介質,例如易失性存儲器和/或非易失性存儲器。所述易失性存儲器例如可以包括隨機存取存儲器(RAM)和/或高速緩沖存儲器(cache)等。所述非易失性存儲器例如可以包括只讀存儲器(ROM)、硬盤、閃存等。在所述計算機可讀存儲介質上可以存儲一個或多個計算機程序指令,處理器102可以運行所述程序指令,以實現下文所述的本發明實施例中(由處理器實現)的客戶端功能以及/或者其它期望的功能。在所述計算機可讀存儲介質中還可以存儲各種應用程序和各種數據,例如所述應用程序使用和/或產生的各種數據等。
所述輸入裝置106可以是用戶用來輸入指令的裝置,并且可以包括鍵盤、鼠標、麥克風和觸摸屏等中的一個或多個。
所述輸出裝置108可以向外部(例如用戶)輸出各種信息(例如圖像或聲音),并且可以包括顯示器、揚聲器等中的一個或多個。
所述圖像傳感器110可以拍攝用戶期望的圖像(例如照片、視頻等),并且將所拍攝的圖像存儲在所述存儲裝置104中以供其它組件使用。圖像采集裝置110可以是攝像頭。應當理解,圖像采集裝置110僅是示例,電子設備100可以不包括圖像采集裝置110。在這種情況下,可以利用其他圖像采集裝置采集待識別圖像,并將采集的待識別圖像發送給電子設備100。
示例性地,用于實現根據本發明實施例的目標對象遮擋檢測方法和裝置的示例電子設備可以被實現為諸如智能手機、平板電腦等。
下面,將參考圖2描述根據本發明實施例的目標對象遮擋檢測方法200。
在步驟S210,接收輸入圖像。
在一個實施例中,所接收的輸入圖像可以為包括待識別的目標對象的圖像。目標對象可以為任意一種類別或多種類別的對象(如人臉、動物、各種物體等)。在對輸入圖像中的目標對象進行識別之前,先進行根據本發明實施例的目標對象遮擋檢測方法,以確定待識別的目標對象是否存在遮擋,然后再對其進行識別,可降低識別難度,提高識別精度。
在一個示例中,所接收的輸入圖像可以為實時采集的圖像。在其他示例中,所接收的輸入圖像也可以為來自任何源的圖像。此處,所接收的輸入圖像可以為視頻數據,也可以為圖片數據。
在步驟S220,利用訓練好的神經網絡檢測所述輸入圖像中的目標對象、并輸出所述目標對象的熱力圖。
在一個實施例中,可以基于訓練好的作為一般分類器的卷積神經網絡來生成在步驟S220所利用的輸出熱力圖的神經網絡。
在該實施例中,可以基于待識別的目標對象的類別確定要進行遮擋檢測的目標對象的類別,然后首先利用該類別對象的識別數據集訓練得到一個能識別該類別的目標對象的分類器,再基于該分類器生成輸出熱力圖的神經網絡。
例如,可以首先訓練一個能識別該類別的目標對象的卷積神經網絡。圖3A示出了根據本發明實施例的卷積神經網絡300A的示意性結構圖。如圖3A所示,能識別某個類別或某多個類別的目標對象的卷積神經網絡300A可以包括卷積層、池化層和全連接層。輸入圖像輸入卷積神經網絡300A后可以得到分類結果,如圖3A所示。
然后,基于該訓練好的卷積神經網絡,可以將該卷積神經網絡(例如如圖3A所示的卷積神經網絡300A)的全連接層替換為卷積層來生成全卷積神經網絡,該全卷積神經網絡經過訓練后可以作為在步驟S220所利用的輸出熱力圖的神經網絡。如圖3B示出根據本發明實施例的全卷積神經網絡300B的示意性結構圖。如圖3B所示,全卷積神經網絡300B可以包括卷積層和池化層。輸入圖像輸入全卷積神經網絡300B后可以得到熱力圖,如圖3B所示。
在一個示例中,替換卷積神經網絡300A的全連接層的卷積層可以為1×1卷積層。使用1×1卷積層可以在實現期望功能的情況下相對減小運算量,可以提高運算速度。在其他示例中,替換卷積神經網絡300A的全連接層的卷積層也可以為任意其他合適尺度的卷積層。
繼續參考圖3B,全卷積神經網絡300B還可以包括上采樣層,上采樣層可以提高輸出的熱力圖的分辨率,以更好地基于熱力圖檢測目標對象是否存在遮擋。在一個示例中,上采樣層的數目可以取決于輸出的熱力圖的期望分辨率。在其他示例中,也可以考慮其他因素綜合設置上采樣層的數目。
在上述示例中,訓練卷積神經網絡300A的步驟可以稱為預訓練階段,在該階段訓練能夠識別目標對象的類別的普通分類器;訓練全卷積神經網絡300B的步驟可以稱為微調階段,在該階段基于卷積神經網絡300A而生成全卷積神經網絡300B,并通過訓練而使該全卷積神經網絡300B成為在步驟S220所利用的輸出熱力圖的神經網絡。全卷積神經網絡300B可以看作是從卷積神經網絡300A中提取出嵌入映射后接上熱力圖輸出層而構成的新的神經網絡。
上述示例示例性地描述了在步驟S220所利用的輸出熱力圖的神經網絡的訓練過程,本領域普通技術人員可以理解,雖然在圖3A和圖3B中示出了訓練時所使用的卷積神經網絡以及訓練后所得到的全卷積神經網絡的示意性結構圖,但其僅是示例性的,它們還可以為其他任意合適的結構。此外,在步驟S220所利用的輸出熱力圖的神經網絡也可直接訓練生成,而不需要通過先訓練一般分類器后來生成。
基于訓練好的神經網絡(例如如圖3B所示的全卷積神經網絡300B),可以對輸入圖像中的目標對象進行檢測并輸出相應的熱力圖,如圖4A和4B所示的。圖4A示出了輸入圖像的示例,假定待檢測的目標對象為人臉,則經過上述訓練好的神經網絡(例如如圖3B所示的全卷積神經網絡300B),可輸出相對應的熱力圖,如圖4B所示,在熱力圖中示出了熱力圖形式的目標對象(即人臉),從該圖可以看出有遮擋的人臉(例如圖4B中最左側的人臉熱力圖)與無遮擋的人臉明顯不同。
下面返回參考圖2繼續描述根據本發明實施例的目標對象遮擋檢測方法200的步驟。
在步驟S230,基于所述熱力圖檢測所述目標對象是否存在遮擋。
在一個實施例中,基于熱力圖檢測目標對象是否存在遮擋的步驟可以包括:檢測熱力圖中的目標對象的形狀是否符合該目標對象的類別的對象的形狀;以及當熱力圖中的目標對象的形狀符合該目標對象的類別的對象的形狀時,確定目標對象不存在遮擋,反之,則確定目標對象存在遮擋。在該實施例中,“形狀”可以理解為由邊界所構成的面(即,邊界構成的區域)而非邊界本身。
例如,當對人臉進行遮擋檢測時,如果人臉上有較長的劉海、或戴有墨鏡(例如圖4A中最左側的人臉)等,則熱力圖上的人臉區域上面將出現“黑洞”(例如如圖4B最左側的人臉所示)或其他形式的遮擋區域,通過檢測其形狀,可判定是否存在遮擋。
在另一個實施例中,可檢測熱力圖中的目標對象的區域是否為連通區域,當目標對象存在遮擋時,其可能不再是完整的連通區域,而是被遮擋物從中“截斷”,從而在熱力圖中的目標對象的區域中出現黑色區域(如圖4B中最左側的人臉區域中的黑色區域所示),因此也可基于熱力圖中的目標對象的區域是否為連通區域來判定目標對象是否存在遮擋。
在其他示例中,也可以通過任何其他合適的方式來基于熱力圖檢測目標對象是否存在遮擋。
進一步地,在一個實施例中,可以在輸出熱力圖后,先對熱力圖中的目標對象進行標注(例如如圖4B中所示的對目標對象的框選),然后基于經標注后的熱力圖檢測遮擋。這樣做可以將相距較近的目標對象隔離開來,也可將因距鏡頭較遠而在圖像中顯示較小的目標對象也清楚地框選出來,避免遺漏或遮擋檢測出現誤差,實現更精確地遮擋檢測,提高檢測結果的可靠性。在一個示例中,可以采用神經網絡來實現對目標對象的標注。在另一個示例中,也可以采用合適的算法實現對目標對象的標注。在其他示例中,還可以采用任何其他合適的方法實現對目標對象的標注。
在又一個實施例中,在檢測到熱力圖中的目標對象存在遮擋時,可以進一步確定遮擋區域。例如,可以將遮擋區域分割出來,以確定對目標對象的遮擋位置,從而為后續的對目標對象的識別提供更可靠的依據。在實時應用的場景中,也可以為待識別的目標對象(例如待識別的人)提供提示作為參考,告知其重新調整待識別的位置或者去掉遮擋物,提高識別的效率和準確度。
基于上面的描述,根據本發明實施例的目標對象遮擋檢測方法基于訓練好的神經網絡將輸入圖像中的目標對象轉換為熱力圖,并通過熱力圖檢測目標對象是否存在遮擋,可有效降低對目標對象的識別難度,提升識別精度和穩定性。
示例性地,根據本發明實施例的目標對象遮擋檢測方法可以在具有存儲器和處理器的設備、裝置或者系統中實現。
此外,根據本發明實施例的目標對象遮擋檢測方法處理速度快、模型體積小,可以方便地部署到智能手機、平板電腦、個人計算機等移動設備上。替代地,根據本發明實施例的目標對象遮擋檢測方法還可以部署在服務器端(或云端)。替代地,根據本發明實施例的目標對象遮擋檢測方法還可以分布地部署在服務器端(或云端)和個人終端處。
下面結合圖5描述本發明另一方面提供的目標對象遮擋檢測裝置。圖5示出了根據本發明實施例的目標對象遮擋檢測裝置500的示意性框圖。
如圖5所示,根據本發明實施例的目標對象遮擋檢測裝置500包括接收模塊510、熱力圖輸出模塊520以及遮擋檢測模塊530。所述各個模塊可分別執行上文中結合圖2描述的目標對象遮擋檢測方法的各個步驟/功能。以下僅對目標對象遮擋檢測裝置500的各模塊的主要功能進行描述,而省略以上已經描述過的細節內容。
接收模塊510用于接收輸入圖像。熱力圖輸出模塊520用于利用訓練好的神經網絡檢測所述輸入圖像中的目標對象、并輸出所述目標對象的熱力圖。遮擋檢測模塊530用于基于所述熱力圖檢測所述目標對象是否存在遮擋。接收模塊510、熱力圖輸出模塊520以及遮擋檢測模塊530均可以由圖1所示的電子設備中的處理器102運行存儲裝置104中存儲的程序指令來實現。
在一個實施例中,接收模塊510所接收的輸入圖像可以為包括待識別的目標對象的圖像。目標對象可以為任意一種類別或多種類別的對象(如人臉、動物、各種物體等)。在對輸入圖像中的目標對象進行識別之前,先對其進行遮擋檢測,然后再對其進行識別,可降低識別難度,提高識別精度。
在一個示例中,接收模塊510所接收的輸入圖像可以為實時采集的圖像。在其他示例中,接收模塊510所接收的輸入圖像也可以為來自任何源的圖像。此處,接收模塊510所接收的輸入圖像可以為視頻數據,也可以為圖片數據。
在一個實施例中,熱力圖輸出模塊520所利用的神經網絡為全卷積神經網絡(如圖3B所示的全卷積神經網絡300B)。示例性地,該全卷積神經網絡可以基于將訓練好的卷積神經網絡(如圖3A所示的卷積神經網絡300A)的全連接層替換為卷積層而生成。熱力圖輸出模塊520所利用的神經網絡的訓練可以參照上述結合圖3A和圖3B所描述的過程,為了簡潔,此處不再贅述。
在一個示例中,熱力圖輸出模塊520所利用的神經網絡還可以包括上采樣層,上采樣層可以提高輸出的熱力圖的分辨率,以更好地由遮擋檢測模塊530基于熱力圖檢測目標對象是否存在遮擋。在一個示例中,上采樣層的數目可以取決于輸出的熱力圖的期望分辨率。在其他示例中,上采樣層的數目也可以考慮其他因素而綜合設置。
在一個實施例中,遮擋檢測模塊530基于熱力圖檢測目標對象是否存在遮擋的步驟可以包括:檢測熱力圖中的目標對象的形狀是否符合該目標對象的類別的對象的形狀;以及當熱力圖中的目標對象的形狀符合該目標對象的類別的對象的形狀時,確定目標對象不存在遮擋,反之,則確定目標對象存在遮擋。在該實施例中,“形狀”可以理解為由邊界所構成的面(即,邊界構成的區域)而非邊界本身。
在另一個實施例中,遮擋檢測模塊530也可用于檢測熱力圖中的目標對象的區域是否為連通區域,當目標對象存在遮擋時,其可能不再是完整的連通區域,而是被遮擋物從中“截斷”,從而在熱力圖中的目標對象的區域中出現黑色區域(如圖4B中最左側的人臉區域中的黑色區域所示),因此遮擋檢測模塊530也可用于基于目標對象的區域是否為連通區域來判定目標對象是否存在遮擋。
在一個實施例中,目標對象遮擋檢測裝置500還可以包括自動標注模塊(未在圖5中示出),用于對熱力圖輸出模塊520所輸出的熱力圖中的目標對象進行標注(例如如圖4B中所示的對目標對象的框選)。并且,遮擋檢測模塊530還可以用于基于經所述自動標注模塊標注后的熱力圖檢測目標對象是否存在遮擋。基于自動標注模塊的標注,可以將相距較近的目標對象隔離開來,也可將因距鏡頭較遠而在圖像中顯示較小的目標對象也清楚地框選出來,避免遺漏或遮擋檢測出現誤差,實現更精確地遮擋檢測,提高檢測結果的可靠性。
在又一個實施例中,遮擋檢測模塊530還可以用于在檢測到熱力圖中的目標對象存在遮擋時,進一步確定遮擋區域。例如,遮擋檢測模塊530可以將遮擋區域分割出來,以確定對目標對象的遮擋位置,從而為后續的對目標對象的識別提供更可靠的依據。在實時應用的場景中,遮擋檢測模塊530所確定的遮擋區域也可以為待識別的目標對象(例如待識別的人)提供提示作為參考,告知其重新調整待識別的位置或者去掉遮擋物,提高識別的效率和準確度。
基于上面的描述,根據本發明實施例的目標對象遮擋檢測裝置基于訓練好的神經網絡將輸入圖像中的目標對象轉換為熱力圖,并通過熱力圖檢測目標對象是否存在遮擋,可有效降低對目標對象的識別難度,提升識別精度和穩定性。
圖6示出了根據本發明實施例的目標對象遮擋檢測系統600的示意性框圖。目標對象遮擋檢測系統600包括存儲裝置610以及處理器620。
其中,存儲裝置610存儲用于實現根據本發明實施例的目標對象遮擋檢測方法中的相應步驟的程序代碼。處理器620用于運行存儲裝置610中存儲的程序代碼,以執行根據本發明實施例的目標對象遮擋檢測方法的相應步驟,并且用于實現根據本發明實施例的目標對象遮擋檢測裝置中的相應模塊。此外,目標對象遮擋檢測系統600還可以包括圖像采集裝置(未在圖6中示出),其可以用于采集輸入圖像。當然,圖像采集裝置不是必需的,可直接接收來自其他源的輸入圖像的輸入。
在一個實施例中,在所述程序代碼被處理器620運行時使得目標對象遮擋檢測系統600執行以下步驟:接收輸入圖像;利用訓練好的神經網絡檢測所述輸入圖像中的目標對象、并輸出所述目標對象的熱力圖;以及基于所述熱力圖檢測所述目標對象是否存在遮擋。
在一個實施例中,所述訓練好的神經網絡為全卷積神經網絡。
在一個實施例中,所述全卷積神經網絡基于將訓練好的卷積神經網絡的全連接層替換為卷積層而生成。
在一個實施例中,所述卷積層為1×1卷積層。
在一個實施例中,所述全卷積神經網絡還包括上采樣層。
在一個實施例中,所述上采樣層的數目取決于所述輸出的熱力圖的期望分辨率。
在一個實施例中,在所述程序代碼被處理器620運行時還使得目標對象遮擋檢測系統600執行以下步驟:在輸出所述熱力圖后,對所述熱力圖中的目標對象進行標注;并且在所述程序代碼被處理器620運行時使得目標對象遮擋檢測系統600執行的所述對目標對象是否存在遮擋的檢測是基于經所述標注后的熱力圖。
在一個實施例中,在所述程序代碼被處理器620運行時使得目標對象遮擋檢測系統600執行的基于所述熱力圖檢測所述目標對象是否存在遮擋的步驟包括:檢測所述熱力圖中的目標對象的形狀是否符合所述目標對象的類別的對象的形狀;以及當所述熱力圖中的目標對象的形狀符合所述目標對象的類別的對象的形狀時,確定所述目標對象不存在遮擋,反之,則確定所述目標對象存在遮擋。
在一個實施例中,在所述程序代碼被處理器620運行時使得目標對象遮擋檢測系統600執行的基于所述熱力圖檢測所述目標對象是否存在遮擋的步驟包括:檢測所述熱力圖中的目標對象的區域是否為連通區域;以及當檢測到所述熱力圖中的目標對象的區域為連通區域時,確定所述目標對象不存在遮擋,反之,則確定所述目標對象存在遮擋。
在一個實施例中,在所述程序代碼被處理器620運行時還使得目標對象遮擋檢測系統600執行以下步驟:當檢測到所述熱力圖中的目標對象存在遮擋時,確定遮擋區域。
此外,根據本發明實施例,還提供了一種存儲介質,在所述存儲介質上存儲了程序指令,在所述程序指令被計算機或處理器運行時用于執行本發明實施例的目標對象遮擋檢測方法的相應步驟,并且用于實現根據本發明實施例的目標對象遮擋檢測裝置中的相應模塊。所述存儲介質例如可以包括智能電話的存儲卡、平板電腦的存儲部件、個人計算機的硬盤、只讀存儲器(ROM)、可擦除可編程只讀存儲器(EPROM)、便攜式緊致盤只讀存儲器(CD-ROM)、USB存儲器、或者上述存儲介質的任意組合。所述計算機可讀存儲介質可以是一個或多個計算機可讀存儲介質的任意組合,例如一個計算機可讀存儲介質包含接收輸入圖像的計算機可讀的程序代碼,另一個計算機可讀存儲介質包含檢測目標對象并輸出熱力圖的計算機可讀的程序代碼,又一個計算機可讀存儲介質包含檢測遮擋的計算機可讀的程序代碼。
在一個實施例中,所述計算機程序指令在被計算機運行時可以實現根據本發明實施例的目標對象遮擋檢測裝置的各個功能模塊,并且/或者可以執行根據本發明實施例的目標對象遮擋檢測方法。
在一個實施例中,所述計算機程序指令在被計算機或處理器運行時使計算機或處理器執行以下步驟:接收輸入圖像;利用訓練好的神經網絡檢測所述輸入圖像中的目標對象、并輸出所述目標對象的熱力圖;以及基于所述熱力圖檢測所述目標對象是否存在遮擋。
在一個實施例中,所述訓練好的神經網絡為全卷積神經網絡。
在一個實施例中,所述全卷積神經網絡基于將訓練好的卷積神經網絡的全連接層替換為卷積層而生成。
在一個實施例中,所述卷積層為1×1卷積層。
在一個實施例中,所述全卷積神經網絡還包括上采樣層。
在一個實施例中,所述上采樣層的數目取決于所述輸出的熱力圖的期望分辨率。
在一個實施例中,所述計算機程序指令在被計算機或處理器運行時使計算機或處理器執行以下步驟:在輸出所述熱力圖后,對所述熱力圖中的目標對象進行標注;并且所述計算機程序指令在被計算機或處理器運行時使計算機或處理器執行的所述對目標對象是否存在遮擋的檢測是基于經所述標注后的熱力圖。
在一個實施例中,所述計算機程序指令在被計算機或處理器運行時使計算機或處理器執行的基于所述熱力圖檢測所述目標對象是否存在遮擋的步驟包括:檢測所述熱力圖中的目標對象的形狀是否符合所述目標對象的類別的對象的形狀;以及當所述熱力圖中的目標對象的形狀符合所述目標對象的類別的對象的形狀時,確定所述目標對象不存在遮擋,反之,則確定所述目標對象存在遮擋。
在一個實施例中,所述計算機程序指令在被計算機或處理器運行時使計算機或處理器執行的基于所述熱力圖檢測所述目標對象是否存在遮擋的步驟包括:檢測所述熱力圖中的目標對象的區域是否為連通區域;以及當檢測到所述熱力圖中的目標對象的區域為連通區域時,確定所述目標對象不存在遮擋,反之,則確定所述目標對象存在遮擋。
在一個實施例中,所述計算機程序指令在被計算機或處理器運行時使計算機或處理器執行以下步驟:當檢測到所述熱力圖中的目標對象存在遮擋時,確定遮擋區域。
根據本發明實施例的目標對象遮擋檢測裝置中的各模塊可以通過根據本發明實施例的目標對象遮擋檢測的電子設備的處理器運行在存儲器中存儲的計算機程序指令來實現,或者可以在根據本發明實施例的計算機程序產品的計算機可讀存儲介質中存儲的計算機指令被計算機運行時實現。
根據本發明實施例的目標對象遮擋檢測方法、裝置、系統以及存儲介質基于訓練好的神經網絡將輸入圖像中的目標對象轉換為熱力圖,并通過熱力圖檢測目標對象是否存在遮擋,可有效降低對目標對象的識別難度,提升識別精度和穩定性。
盡管這里已經參考附圖描述了示例實施例,應理解上述示例實施例僅僅是示例性的,并且不意圖將本發明的范圍限制于此。本領域普通技術人員可以在其中進行各種改變和修改,而不偏離本發明的范圍和精神。所有這些改變和修改意在被包括在所附權利要求所要求的本發明的范圍之內。
本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。
在本申請所提供的幾個實施例中,應該理解到,所揭露的設備和方法,可以通過其它的方式實現。例如,以上所描述的設備實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個設備,或一些特征可以忽略,或不執行。
在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
類似地,應當理解,為了精簡本發明并幫助理解各個發明方面中的一個或多個,在對本發明的示例性實施例的描述中,本發明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該本發明的方法解釋成反映如下意圖:即所要求保護的本發明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如相應的權利要求書所反映的那樣,其發明點在于可以用少于某個公開的單個實施例的所有特征的特征來解決相應的技術問題。因此,遵循具體實施方式的權利要求書由此明確地并入該具體實施方式,其中每個權利要求本身都作為本發明的單獨實施例。
本領域的技術人員可以理解,除了特征之間相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發明的范圍之內并且形成不同的實施例。例如,在權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
本發明的各個部件實施例可以以硬件實現,或者以在一個或者多個處理器上運行的軟件模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數字信號處理器(DSP)來實現根據本發明實施例的物品分析設備中的一些模塊的一些或者全部功能。本發明還可以實現為用于執行這里所描述的方法的一部分或者全部的裝置程序(例如,計算機程序和計算機程序產品)。這樣的實現本發明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞“包含”不排除存在未列在權利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
以上所述,僅為本發明的具體實施方式或對具體實施方式的說明,本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內。本發明的保護范圍應以權利要求的保護范圍為準。