[0063] 通過上述公開實施例可以看出,在建立處理線程時,建立的處理線程的數(shù)量,與待處理視頻集的數(shù)量是相對應(yīng)的。一般來說,處理線程的數(shù)量可以與待處理視頻集的數(shù)量相同,即獲取了N個待處理視頻集,則建立N個處理線程。在一種可能的實現(xiàn)方式中,處理線程的數(shù)量也可以與待處理視頻集的數(shù)量不同,舉例來說,在一個示例中,可能獲取了M個待處理視頻集,但是當(dāng)前可以用于進行視頻處理的資源(簡稱為當(dāng)前視頻處理資源)較小,難以支持M個處理線程同時處理待處理視頻集,此時,則可以根據(jù)當(dāng)前視頻處理資源的實際情況,來建立N個(N
[0064] 需要注意的是,為了確保每個處理線程可以穩(wěn)定地對待處理視頻集進行處理,因此,無論N與待處理視頻集的數(shù)量相同還是不同,每個處理線程所包括的處理資源,均不大于當(dāng)前視頻處理資源。
[0065] 通過上述公開實施例可以看出,在建立處理線程時,除了考慮待處理視頻集的數(shù)量以外,還可以考慮當(dāng)前視頻處理資源,通過上述過程,既可以實現(xiàn)多個處理線程對多個待處理視頻集的并行處理,提升視頻處理效率,又可以減小視頻處理資源不足情況的發(fā)生,提升視頻處理的穩(wěn)定性。
[0066] 在一種可能的實現(xiàn)方式中,建立N個處理線程的方式可以為:通過分布式框架,建立N個處理線程,其中,每個處理線程包括批量視頻管理子線程和至少一個單視頻處理子線程。
[0067] 通過上述公開實施例可以看出,在一種可能的實現(xiàn)方式中,可以通過分布式框架來建立N個處理線程,具體采用何種分布式框架,可以根據(jù)實際情況靈活決定。在一種可能的實現(xiàn)方式中,可以通過Kubernetes分布式框架來建立處理線程,Kubernetes是一個分布式系統(tǒng)
支撐平臺,可以實現(xiàn)資源管理的自動化,以及跨多個
數(shù)據(jù)中心的資源利用。
[0068] 在一個示例中,通過Kubernetes分布式框架來建立N個處理線程時,可以自動根據(jù)當(dāng)前視頻處理資源的剩余情況,在每一個處理線程中,分別創(chuàng)建并啟動一個批量視頻管理子線程(Master)以及至少一個單視頻處理子線程(Worker),其中,Worker的數(shù)量可以根據(jù)實際情況靈活決定,Master可以對每個Worker進行統(tǒng)籌管理和控制。在一個示例中,Worker可以是服務(wù)器中的顯卡或GPU,在這種情況下,Worker的數(shù)量可以根據(jù)服務(wù)器中顯卡或GPU的實際數(shù)量來決定。上述公開實施例中已經(jīng)提出,當(dāng)前視頻處理資源較小時,處理線程的數(shù)量N可以小于待處理視頻集的數(shù)量M,此時,Kubernetes可以進入排隊狀態(tài),排隊狀態(tài)中待處理視頻集可以根據(jù)預(yù)先設(shè)置的優(yōu)先級順序自動按序等待,當(dāng)某一處理線程完成處理后,可以關(guān)閉該線程的Master和Worker,并釋放其資源,然后Kubernetes控制自動開啟下一個待處理視頻集,建立與該待處理視頻集對應(yīng)的處理線程所包括的Master和Worker,從而實現(xiàn)對該待處理視頻集的處理。
[0069] 通過分布式框架(如Kubernetes)來建立N個處理線程,可以實現(xiàn)視頻處理的高并發(fā)、高擴展和負載均衡的需求;同時,由于每個處理線程包括批量視頻管理子線程和至少一個單視頻處理子線程,可以進一步在每個處理線程中,通過兩類子線程的配合,對待處理視頻集實現(xiàn)進一步的并行處理,從而更加提升視頻處理的效率和穩(wěn)定性。
[0070] 具體地,當(dāng)N個處理線程并行工作的情況下,每個處理線程具體的工作方式可以根據(jù)實際情況靈活決定。在一種可能的實現(xiàn)方式中,通過處理線程,對待處理視頻集進行處理,可以包括:
[0071] 步驟S131,根據(jù)待處理視頻集,通過批量視頻管理子線程,獲取處理線程的處理資源。
[0072] 步驟S132,通過批量視頻管理子線程,將處理資源分配于至少一個單視頻處理子線程。
[0073] 步驟S133,通過批量視頻管理子線程,將待處理視頻集分配至每個單視頻處理子線程中,得到每個單視頻處理子線程對應(yīng)的待處理視頻子集。
[0074] 步驟S134,通過每個單視頻處理子線程,對待處理視頻子集進行第二并行處理,得到每個待處理視頻子集的處理結(jié)果,作為待處理視頻集的處理結(jié)果。
[0075] 上述公開實施例已經(jīng)提出,在一種可能的實現(xiàn)方式中,批量視頻管理子線程Master可以對相應(yīng)的多個單視頻處理子線程Worker進行批量的管理和控制,因此,在通過處理線程對待處理視頻集進行處理的情況下,可以通過Master控制Worker來執(zhí)行相應(yīng)的處理操作。
[0076] 具體地,Master可以用來將待處理視頻集的分配和資源分配至每個Worker,從而讓每個Worker來處理相應(yīng)的視頻。在一個示例中,Master可以通過步驟S131,來根據(jù)待處理視頻集所需的處理資源,來向分布式框架如Kubernetes來
請求相應(yīng)的處理資源,并通過步驟S132,將通過請求獲取的處理資源,分配到每個Worker中。每個Worker分配到的資源可以相同,也可以不同,根據(jù)實際情況靈活決定即可。
[0077] 另外,上述公開實施例中還提到,待處理視頻集中可以包含有對多個視頻的處理需求,而Worker的數(shù)量也可以為多個,因此,在一個示例中,Master還可以通過步驟S133,來將待處理視頻集劃分到每個Worker中,具體如何劃分,是平均劃分、隨機劃分還是根據(jù)預(yù)設(shè)需求靈活劃分,其實現(xiàn)形式在本公開實施例中不做限制。通過上述過程,每個Worker可以確定需要處理的待處理視頻子集,每個待處理視頻子集可以包含有對多個視頻的處理需求,也可以僅包含對一個視頻的處理需求,在本公開實施例中同樣不做數(shù)量和實現(xiàn)方式的限制,多個Worker之間可以相互不干擾的各自處理的待處理視頻子集。
[0078] 在通過上述各步驟完成Master對Worker的資源與待處理視頻集分配后,可以通過步驟S134,來通過多個Worker實現(xiàn)對多個待處理視頻子集的并行處理,從而將這些多個Worker得到的處理結(jié)果,共同作為該處理線程對待處理視頻集的處理結(jié)果。
[0079] 需要注意的是,上述公開實施例中提到的“第一并行處理”和“第二并行處理”中的“第一”和“第二”,僅用于區(qū)分并行處理的對象不同,在本公開實施例中,第一并行處理用于表明的是對多個待處理視頻集進行并行處理,而第二并行處理用于表明的是對多個待處理視頻子集進行并行處理,而不限制并行處理的實現(xiàn)方式相同還是不同。
[0080] 除此之外,Master還可以通過每個Worker反饋的消息,來監(jiān)控每個Worker的視頻處理進度和狀態(tài),還可以在Worker處理待處理視頻子集失敗或中斷的情況下,或是在一段時間沒接收到Worker反饋的消息的情況下,回收Worker中包含的待處理視頻子集,并交由其他Worker進行處理。
[0081] 通過上述過程,可以利用每個處理線程中包含的批量視頻管理子線程和單視頻處理子線程,共同實現(xiàn)對視頻的進一步批量處理,從而更加提升視頻的處理效率和速度。
[0082] 進一步地,每個Worker如何處理被分配的待處理視頻子集,其實現(xiàn)形式也可以靈活決定。在一種可能的實現(xiàn)方式中,通過單視頻處理子線程,對待處理視頻子集進行處理,可以包括:
[0083] 步驟S1341,根據(jù)待處理視頻子集包括的待處理視頻地址,獲取待處理視頻。
[0084] 步驟S1342,將待處理視頻根據(jù)時間進行劃分,得到至少一個待處理幀序列。
[0085] 步驟S1343,對每個待處理幀序列進行第三并行處理,得到每個待處理幀序列的處理結(jié)果,作為待處理視頻子集的處理結(jié)果。
[0086] 上述公開實施例已經(jīng)提出,待處理視頻集中可以包含有待處理視頻地址,因此,根據(jù)待處理視頻集分配的待處理視頻子集中,可以包含有當(dāng)前Worker需要處理的視頻的地址,因此,Worker可以通過步驟S1341,來獲取到待處理視頻。
[0087] 在獲取了待處理視頻后,Worker可以開始對待處理視頻進行處理,在一種可能的實現(xiàn)方式中,Worker可以直接處理待處理視頻,來識別其中的目標對象或是分析視頻內(nèi)容等。在一種可能的實現(xiàn)方式中,為了進一步提升對視頻的處理效率,Worker還可以通過步驟S1342,來對待處理視頻在時域上進行分片,即按照待處理視頻的時間順序,將其分割成多段視頻幀序列,作為待處理幀序列。其中,分割的方式在本公開實施例中不做限制,分割得到的待處理幀序列的數(shù)量可以根據(jù)待處理視頻的長度以及每個被分割后的待處理幀序列的長度來靈活決定,在一種可能的實現(xiàn)方式中,可以控制每個分割后得到的待處理幀序列的時間長度在一定的時間
閾值內(nèi),這一時間閾值可以靈活設(shè)定,在一個示例中,可以設(shè)定待處理幀序列的時間長度不低于2分鐘,且不超過當(dāng)前Worker所支持的最大解碼路數(shù),也不超過當(dāng)前視頻處理過程中可以處理的最大分析時間長度。
[0088] 在得到了至少一個待處理幀序列后,可以通過步驟S1343,來在Worker中,對每個待處理幀序列進行第三并行處理,與上述公開實施例中的描述相同,此處的“第三”僅用于區(qū)分并行處理的對象,即表明同時對多個待處理幀序列進行并行處理。在本公開實施例中,具體如何對每個待處理幀序列進行處理,其處理方式可以根據(jù)待處理視頻集的處理類型靈活決定,在一個示例中,當(dāng)處理類型為對視頻進行行人識別時,對待處理幀序列進行處理的方式可以為根據(jù)待處理幀序列進行行人檢測,如基于神經(jīng)網(wǎng)絡(luò)的行人檢測等,在一個示例中,當(dāng)處理類型為對視頻進行車輛識別時,對待處理幀序列進行處理的方式可以為根據(jù)待處理幀序列進行車牌號碼識別等等。這樣,可以將對每個待處理幀序列進行處理得到的處理結(jié)果,共同作為對待處理視頻子集的處理結(jié)果。
[0089] 通過上述過程,可以在對每個待處理視頻子集進行處理時,進一步的利用時間劃分得到多個待處理幀序列,從而同時對多個待處理幀序列進行處理得到處理結(jié)果,進一步的將視頻處理的過程并行化,從而充分提升了視頻處理效率和速度,也充分利用了視頻處理資源,提升了資源利用率。
[0090] 通過上述公開實施例的步驟S1341可以看出,可以根據(jù)待處理視頻子集包括的地址來獲取待處理視頻,上述公開實施例中提到過,待處理視頻的類型不同,因此其地址形式也可能存在不同,因此,步驟S1341的實現(xiàn)方式也可能存在變化,在一種可能的實現(xiàn)方式中,步驟S1341可以包括:
[0091] 在待處理視頻為超文本傳輸協(xié)議HTTP類型視頻的情況下,根據(jù)待處理視頻子集包括的HTTP文件鏈接地址,下載待處理視頻;和/或,在待處理視頻為實時流傳輸協(xié)議RTSP類型視頻的情況下,根據(jù)待處理視頻子集包括的RTSP視頻源地址,下載待處理視頻;和/或,在待處理視頻為錄像視頻流類型的情況下,根據(jù)待處理視頻子集包括的待處理視頻地址,將待處理視頻轉(zhuǎn)換為RTSP類型視頻,下載RTSP類型視頻。
[0092] 通過上述公開實施例可以看出,在待處理視頻為HTTP類型或是RTSP類型的情況下,可以根據(jù)其對應(yīng)的視頻地址的鏈接形式,來對應(yīng)下載該待處理視頻;而在待處理視頻為錄像視頻流的情況下,由于直接通過視頻地址下載該類視頻,可能需要開發(fā)獨立的協(xié)議來進行對接和取流,因此可以考慮利用視頻處理裝置中的一些組件,如視頻接入的服務(wù)組件等,來將錄像視頻流類型的視頻轉(zhuǎn)發(fā)為RTSP類型的視頻,從而下載RTSP類型的視頻,實現(xiàn)待處理視頻的獲取。
[0093] 進一步地,當(dāng)待處理視頻存在其他類型時,也可以根據(jù)這些視頻的類型靈活設(shè)置視頻的獲取或下載方式,在此不一一列舉。通過上述過程,當(dāng)待處理視頻子集對應(yīng)的待處理視頻存在多種類型時,可以對不同類型的視頻采取對應(yīng)的手段進行獲取,從而提升視頻獲取的效率和便捷程度,繼而提升視頻處理的效率和穩(wěn)定性。
[0094] 在一種可能的實現(xiàn)方式中,本公開實施例提出的視頻處理方法,還可以包括:
[0095] 步驟S14,將每個待處理視頻集的處理結(jié)果存儲于存儲設(shè)備中,其中,存儲設(shè)備包括分布式文件存儲系統(tǒng)。
[0096] 通過上述各公開實施例得到各待處理視頻集的處理結(jié)果后,為了便于對這些處理結(jié)果進行分析和調(diào)用,可以考慮將這些處理結(jié)果存儲到存儲設(shè)備中。存儲設(shè)備的實現(xiàn)方式可以靈活設(shè)定,不局限于下述各公開實施例,在一種可能的實現(xiàn)方式中,可以考慮將處理結(jié)果存儲到本地,即存儲到進行視頻處理的裝置的存儲空間內(nèi)。在一種可能的實現(xiàn)方式中,由于處理結(jié)果為針對視頻的處理結(jié)果,數(shù)據(jù)量一般較大,因此也可以考慮將處理結(jié)果存儲到適合存儲較
大數(shù)據(jù)的分布式文件存儲系統(tǒng)中,分布式文件存儲系統(tǒng)的實現(xiàn)形式不受限制,在一個示例中,分布式文件存儲系統(tǒng)可以是HDFS存儲系統(tǒng)。
[0097] 進一步地,將處理結(jié)果存儲到HDFS存儲系統(tǒng)時,可以通過httpfs接口或RPC接口將處理結(jié)果傳輸至HDFS存儲系統(tǒng),而存儲完成后,還可以將處理結(jié)果在HDFS存儲系統(tǒng)中的存儲地址,以URL形式返回到上述公開實施例中提到的HTTP接口或是HTTPS接口處,來便于查詢處理結(jié)果的
位置。
[0098] 通過將處理結(jié)果存儲于存儲設(shè)備中,如分布式文件存儲系統(tǒng)等,可以便于獲取和查找處理結(jié)果,從而便于根據(jù)處理結(jié)果進行二次分析,提升視頻處理方法的應(yīng)用靈活性。
[0099] 上述公開實施例中已經(jīng)提出,對視頻處理時,建立的待處理視頻集類型可以靈活決定,即處理視頻的方式可以靈活決定,因此,隨著處理視頻方式的不同,產(chǎn)生的處理結(jié)果也會相應(yīng)的發(fā)生變化。在一種可能的實現(xiàn)方式中,處理結(jié)果可以包括:
[0100] 目標識別結(jié)果、與目標識別結(jié)果對應(yīng)的視頻幀圖像、目標特征值、目標屬性以及與目標識別結(jié)果對應(yīng)的視頻幀圖像的拍攝時間中的一個或多個;其中,目標識別結(jié)果包括人臉識別結(jié)果、行人識別結(jié)果以及車輛識別結(jié)果中的一個或多個。
[0101] 通過上述公開實施例可以看出,本公開實施例中提出的視頻處理方法,可以用于對視頻進行人臉、機動車、非機動車、行人、人臉+人體聯(lián)合檢索等多種形式的識別與檢索,應(yīng)用范圍廣,同時,得到的處理結(jié)果的形式也十分多樣化,便于根據(jù)不同形式的處理結(jié)果進行進一步的分析和調(diào)查,滿足多場景的視頻處理需求。
[0102] 圖2示出根據(jù)本公開實施例的視頻處理裝置的框圖。如圖2所示,視頻處理裝置20包括:
[0103] 獲取模塊21,用于獲取至少一個待處理視頻集;
[0104] 處理線程建立模塊22,用于根據(jù)待處理視頻集的數(shù)量,建立至少一個與待處理視頻集對應(yīng)的處理線程;
[0105] 并行處理模塊23,用于通過每個處理線程,對每個待處理視頻集進行第一并行處理,分別得到每個待處理視頻集的處理結(jié)果。
[0106] 在一種可能的實現(xiàn)方式中,獲取模塊用于:通過預(yù)設(shè)接口,獲取至少一個待處理視頻集;其中,每個待處理視頻集包括:待處理視頻數(shù)量、待處理視頻地址以及處理類型中的一個或多個。
[0107] 在一種可能的實現(xiàn)方式中,處理線程建立模塊用于:根據(jù)待處理視頻集的數(shù)量,通過分布式框架建立至少一個與待處理視頻集對應(yīng)的處理線程,每個處理線程包括的處理資源,不大于當(dāng)前視頻處理資源;其中每個處理線程包括批量視頻管理子線程和至少一個單視頻處理子線程。
[0108] 在一種可能的實現(xiàn)方式中,并行處理模塊用于:根據(jù)待處理視頻集,通過批量視頻管理子線程,獲取處理線程的處理資源;通過批量視頻管理子線程,將處理資源分配于至少一個單視頻處理子線程;通過批量視頻管理子線程,將待處理視頻集分配至每個單視頻處理子線程中,得到每個單視頻處理子線程對應(yīng)的待處理視頻子集;通過每個單視頻處理子線程,對待處理視頻子集進行第二并行處理,得到每個待處理視頻子集的處理結(jié)果,作為待處理視頻集的處理結(jié)果。
[0109] 在一種可能的實現(xiàn)方式中,并行處理模塊進一步用于:根據(jù)待處理視頻子集包括的待處理視頻地址,獲取待處理視頻;將待處理視頻根據(jù)時間進行劃分,得到至少一個待處理幀序列;對每個待處理幀序列進行第三并行處理,得到每個待處理幀序列的處理結(jié)果,作為待處理視頻子集的處理結(jié)果。
[0110] 在一種可能的實現(xiàn)方式中,并行處理模塊進一步用于:在待處理視頻為超文本傳輸協(xié)議HTTP類型視頻的情況下,根據(jù)待處理視頻子集包括的HTTP文件鏈接地址,下載待處理視頻;和/或,在待處理視頻為實時流傳輸協(xié)議RTSP類型視頻的情況下,根據(jù)待處理視頻子集包括的RTSP視頻源地址,下載待處理視頻;和/或,在待處理視頻為錄像視頻流類型的情況下,根據(jù)待處理視頻子集包括的待處理視頻地址,將待處理視頻轉(zhuǎn)換為RTSP類型視頻,下載RTSP類型視頻。
[0111] 在一種可能的實現(xiàn)方式中,裝置還包括存儲模塊,存儲模塊用于:將每個待處理視頻集的處理結(jié)果存儲于存儲設(shè)備中,其中,存儲設(shè)備包括分布式文件存儲系統(tǒng)。
[0112] 在一種可能的實現(xiàn)方式中,處理結(jié)果包括:目標識別結(jié)果、與目標識別結(jié)果對應(yīng)的視頻幀圖像、目標特征值、目標屬性以及與目標識別結(jié)果對應(yīng)的視頻幀圖像的拍攝時間中的一個或多個;其中,目標識別結(jié)果包括人臉識別結(jié)果、行人識別結(jié)果以及車輛識別結(jié)果中的一個或多個。
[0113] 應(yīng)用場景示例
[0114] 在智能安防領(lǐng)域中,公安刑偵等部門為了快速破案或?qū)σ延邪讣^程的快速還原,除了需要對公安聯(lián)網(wǎng)內(nèi)的實時監(jiān)控視頻進行分析檢索外,還需要對歷史錄像視頻、其他非公安網(wǎng)離線視頻進行分析并與現(xiàn)有目標庫或
時空庫進行比對分析。
[0115] 圖3示出了根據(jù)本公開一應(yīng)用示例的示意圖,如圖所示,本公開實施例提出了一種視頻處理方法,應(yīng)用于視頻處理系統(tǒng)中,其具體過程如圖所示,主要包括有:
[0116] 基于HTTP協(xié)議的離線視頻分析任務(wù)接口服務(wù),批量離線視頻分析是通過HTTPS接口以任務(wù)的方式創(chuàng)建并執(zhí)行的,包括離線分析任務(wù)的新建、列表查詢、單個任務(wù)信息查詢、取消任務(wù)、刪除任務(wù)等功能接口,在視頻處理時,可通過HTTPS接口創(chuàng)建多個任務(wù),每個任務(wù)中可支持多個離線視頻源,以此實現(xiàn)對大量視頻文件的批量分析處理,其中離線視頻源支持HTTP類型的文件鏈接地址和RTSP類型的視頻源地址,GB28181錄像流會通過視頻處理系統(tǒng)中其它模塊將其轉(zhuǎn)發(fā)為RTSP流供此處
訪問,另外,每個任務(wù)需選擇一種目標類型進行分析。
[0117] 基于Kubernetes分布式框架的多任務(wù)調(diào)度及管理服務(wù),批量離線視頻分析時,視頻處理系統(tǒng)可以自動根據(jù)當(dāng)前集群資源剩余情況創(chuàng)建對應(yīng)數(shù)量的批量任務(wù)管理服務(wù)(Master)和單任務(wù)分析服務(wù)(Worker),并啟動Master和Worker,并利用環(huán)境變量,在Master和Worker之間傳遞參數(shù)。當(dāng)視頻處理系統(tǒng)資源不足時,任務(wù)將自動進入排隊狀態(tài),排隊狀態(tài)中的任務(wù)會根據(jù)其預(yù)先設(shè)置的優(yōu)先級自動按序等待。待某個任務(wù)分析完成后,Master和Worker服務(wù)將被關(guān)閉并釋放資源,隨后會自動開啟下一個任務(wù)。該實現(xiàn)過程基于Kubernetes分布式框架,可滿足批量分析任務(wù)中的高并發(fā)、高擴展以及負載均衡等需求。
[0118] 批量任務(wù)管理服務(wù)Master,Master服務(wù)在啟動后會通過環(huán)境變量獲取對應(yīng)任務(wù)的配置信息,根據(jù)該任務(wù)中的批量視頻源信息向Kubernetes
申請相應(yīng)的資源,以保證視頻處理系統(tǒng)能啟動Worker服務(wù)來做具體的視頻分析,然后Master可以持續(xù)維護該任務(wù)信息,動態(tài)更新任務(wù)中每一個視頻源的分析進度和狀態(tài),自動回收無效的視頻源等。
[0119] 單任務(wù)分析服務(wù)Worker,Worker服務(wù)在啟動后會通過環(huán)境變量獲取Master地址信息,并通過RPC接口向Master請求當(dāng)前任務(wù)中的某個視頻源地址,并開始下載、分析以及結(jié)果上傳。
[0120] 其中,視頻下載時,可以針對HTTP或RTSP類型的視頻源,使用不同的下載方式將視頻文件下載到本地緩存,并實時反饋下載進度以及異常狀態(tài)。
[0121] 視頻分析時,可以對已下載的本地緩存文件進行按時間分片,最小分片不低于2分鐘,最大分片數(shù)不超過視頻處理系統(tǒng)當(dāng)前GPU支持的最大解碼路數(shù)以及
算法最大分析數(shù)。對分片后的多段視頻流采用并行處理機制,異步的啟動算法進行分析。同時會根據(jù)預(yù)先設(shè)置的目標類型分析出不同類型的結(jié)構(gòu)化數(shù)據(jù)。
[0122] 結(jié)果上傳時,每個分片產(chǎn)生的所有目標的結(jié)果數(shù)據(jù)會寫入本地文件,該結(jié)果數(shù)據(jù)包括目標抓圖、對應(yīng)的視頻截圖、目標特征值、目標屬性詳細信息、抓拍時間等信息。通過httpfs接口或RPC接口將該文件上傳至HDFS存儲系統(tǒng)中,并以HTTPS的URL形式返回結(jié)果地址到接口層,供用戶查詢使用。
[0123] 通過上述公開應(yīng)用示例,可以將所需的離線視頻初步
整理后創(chuàng)建批量離線視頻分析任務(wù),通過分布式的批量管理方案,動態(tài)調(diào)度批量任務(wù),合理充分利用系統(tǒng)資源,以多分片并行分析的方式高效快速的完成視頻分析任務(wù),并返回分析結(jié)果?;诜植际脚侩x線分析技術(shù),具有高擴展性,對公安行業(yè)的案件追蹤,線索分析,歷史檔案排查等具有重要意義;批量任務(wù)動態(tài)調(diào)度,創(chuàng)建任務(wù)時根據(jù)系統(tǒng)資源靈活分配,并支持排隊機制,同時任務(wù)處理完自動釋放系統(tǒng)資源,避免資源浪費;離線視頻分片并行分析,充分利用系統(tǒng)資源,達到
加速分析效果。簡化了刑偵工作難度,提高案件偵查效率。
[0124] 本公開應(yīng)用示例中提出的視頻處理方法,除了可以應(yīng)用于公安行業(yè)的視頻分析以外,也可以應(yīng)用于其他對批量視頻具有分析需求的行業(yè)中,如城市服務(wù)行業(yè),視頻
網(wǎng)站行業(yè)等等,不局限于上述應(yīng)用示例。
[0125] 可以理解,本公開提及的上述各個方法實施例,在不違背原理邏輯的情況下,均可以彼此相互結(jié)合形成結(jié)合后的實施例,限于篇幅,本公開不再贅述。
[0126] 本領(lǐng)域技術(shù)人員可以理解,在具體實施方式的上述方法中,各步驟的撰寫順序并不意味著嚴格的執(zhí)行順序而對實施過程構(gòu)成任何限定,各步驟的具體執(zhí)行順序應(yīng)當(dāng)以其功能和可能的內(nèi)在邏輯確定。
[0127] 本公開實施例還提出一種計算機可讀存儲介質(zhì),其上存儲有計算機程序指令,所述計算機程序指令被處理器執(zhí)行時實現(xiàn)上述方法。計算機可讀存儲介質(zhì)可以是易失性計算機可讀存儲介質(zhì)或非易失性計算機可讀存儲介質(zhì)。
[0128] 本公開實施例還提出一種電子設(shè)備,包括:處理器;用于存儲處理器可執(zhí)行指令的存儲器;其中,所述處理器被配置為上述方法。
[0129] 在實際應(yīng)用中,上述存儲器可以是易失性存儲器(volatile?memory),例如RAM;或者
非易失性存儲器(non-volatile?memory),例如ROM,快閃存儲器(flash?memory),
硬盤(Hard?Disk?Drive,HDD)或固態(tài)硬盤(Solid-State?Drive,SSD);或者上述種類的存儲器的組合,并向處理器提供指令和數(shù)據(jù)。
[0130] 上述處理器可以為ASIC、DSP、DSPD、PLD、FPGA、CPU、
控制器、
微控制器、
微處理器中的至少一種??梢岳斫獾?,對于不同的設(shè)備,用于實現(xiàn)上述處理器功能的電子器件還可以為其它,本公開實施例不作具體限定。
[0131] 電子設(shè)備可以被提供為終端、服務(wù)器或其它形態(tài)的設(shè)備。
[0132] 基于前述實施例相同的技術(shù)構(gòu)思,本公開實施例還提供了一種計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)上述方法。
[0133] 圖4是根據(jù)本公開實施例的一種電子設(shè)備800的框圖。例如,電子設(shè)備800可以是
移動電話,計算機,數(shù)字廣播終端,消息收發(fā)設(shè)備,游戲控制臺,平板設(shè)備,醫(yī)療設(shè)備,健身設(shè)備,
個人數(shù)字助理等終端。
[0134] 參照圖4,電子設(shè)備800可以包括以下一個或多個組件:處理組件802,存儲器804,電源組件806,多媒體組件808,音頻組件810,輸入/輸出(I/O)的接口812,
傳感器組件814,以及通信組件816。
[0135] 處理組件802通??刂齐娮釉O(shè)備800的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機操作和記錄操作相關(guān)聯(lián)的操作。處理組件802可以包括一個或多個處理器820來執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件802可以包括一個或多個模塊,便于處理組件802和其他組件之間的交互。例如,處理組件802可以包括多媒
體模塊,以方便多媒體組件808和處理組件802之間的交互。
[0136] 存儲器804被配置為存儲各種類型的數(shù)據(jù)以支持在電子設(shè)備800的操作。這些數(shù)據(jù)的示例包括用于在電子設(shè)備800上操作的任何應(yīng)用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話簿數(shù)據(jù),消息,圖片,視頻等。存儲器804可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實現(xiàn),如靜態(tài)
隨機存取存儲器(SRAM),電可擦除可編程
只讀存儲器(EEPROM),可擦除可編程只讀存儲器(EPROM),可編程只讀存儲器(PROM),只讀存儲器(ROM),磁存儲器,快閃存儲器,磁盤或光盤。
[0137] 電源組件806為電子設(shè)備800的各種組件提供電
力。電源組件806可以包括電源管理系統(tǒng),一個或多個電源,及其他與為電子設(shè)備800生成、管理和分配電力相關(guān)聯(lián)的組件。
[0138] 多媒體組件808包括在所述電子設(shè)備800和用戶之間的提供一個輸出接口的屏幕。在一些實施例中,屏幕可以包括
液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板,屏幕可以被實現(xiàn)為
觸摸屏,以接收來自用戶的輸入
信號。觸摸面板包括一個或多個觸摸傳感器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸傳感器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關(guān)的持續(xù)時間和壓力。在一些實施例中,多媒體組件808包括一個前置攝像頭和/或后置攝像頭。當(dāng)電子設(shè)備800處于操作模式,如拍攝模式或視頻模式時,前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個前置攝像頭和后置攝像頭可以是一個固定的
光學(xué)透鏡系統(tǒng)或具有焦距和光學(xué)變焦能力。
[0139] 音頻組件810被配置為輸出和/或輸入
音頻信號。例如,音頻組件810包括一個麥克
風(fēng)(MIC),當(dāng)電子設(shè)備800處于操作模式,如呼叫模式、記錄模式和
語音識別模式時,麥克風(fēng)被配置為接收外部音頻信號。所接收的音頻信號可以被進一步存儲在存儲器804或經(jīng)由通信組件816發(fā)送。在一些實施例中,音頻組件810還包括一個揚聲器,用于輸出音頻信號。
[0140] I/O接口812為處理組件802和外圍接口模塊之間提供接口,上述外圍接口模塊可以是
鍵盤,點擊輪,按鈕等。這些按鈕可包括但不限于:主頁按鈕、音量按鈕、啟動按鈕和
鎖定按鈕。
[0141] 傳感器組件814包括一個或多個傳感器,用于為電子設(shè)備800提供各個方面的狀態(tài)評估。例如,傳感器組件814可以檢測到電子設(shè)備800的打開/關(guān)閉狀態(tài),組件的相對
定位,例如所述組件為電子設(shè)備800的顯示器和小鍵盤,傳感器組件814還可以檢測電子設(shè)備800或電子設(shè)備800一個組件的位置改變,用戶與電子設(shè)備800
接觸的存在或不存在,電子設(shè)備800方位或加速/減速和電子設(shè)備800的
溫度變化。傳感器組件814可以包括
接近傳感器,被配置用來在沒有任何的物理接觸時檢測附近物體的存在。傳感器組件814還可以包括光傳感器,如CMOS或CCD圖像傳感器,用于在成像應(yīng)用中使用。在一些實施例中,該傳感器組件814還可以包括加速度傳感器,
陀螺儀傳感器,
磁傳感器,
壓力傳感器或溫度傳感器。
[0142] 通信組件816被配置為便于電子設(shè)備800和其他設(shè)備之間有線或無線方式的通信。電子設(shè)備800可以接入基于通信標準的無線網(wǎng)絡(luò),如WiFi,2G或3G,或它們的組合。在一個示例性實施例中,通信組件816經(jīng)由廣播信道接收來自外部廣播管理系統(tǒng)的
廣播信號或廣播相關(guān)人員信息。在一個示例性實施例中,所述通信組件816還包括
近場通信(NFC)模塊,以促進短程通信。例如,在NFC模塊可基于
射頻識別(RFID)技術(shù),紅外數(shù)據(jù)協(xié)會(IrDA)技術(shù),超寬帶(UWB)技術(shù),藍牙(BT)技術(shù)和其他技術(shù)來實現(xiàn)。
[0143] 在示例性實施例中,電子設(shè)備800可以被一個或多個應(yīng)用
專用集成電路(ASIC)、
數(shù)字信號處理器(DSP)、數(shù)字
信號處理設(shè)備(DSPD)、
可編程邏輯器件(PLD)、
現(xiàn)場可編程門陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實現(xiàn),用于執(zhí)行上述方法。
[0144] 在示例性實施例中,還提供了一種非易失性計算機可讀存儲介質(zhì),例如包括計算機程序指令的存儲器804,上述計算機程序指令可由電子設(shè)備800的處理器820執(zhí)行以完成上述方法。
[0145] 圖5是根據(jù)本公開實施例的一種電子設(shè)備1900的框圖。例如,電子設(shè)備1900可以被提供為一服務(wù)器。參照圖5,電子設(shè)備1900包括處理組件1922,其進一步包括一個或多個處理器,以及由存儲器1932所代表的存儲器資源,用于存儲可由處理組件1922的執(zhí)行的指令,例如應(yīng)用程序。存儲器1932中存儲的應(yīng)用程序可以包括一個或一個以上的每一個對應(yīng)于一組指令的模塊。此外,處理組件1922被配置為執(zhí)行指令,以執(zhí)行上述方法。
[0146] 電子設(shè)備1900還可以包括一個電源組件1926被配置為執(zhí)行電子設(shè)備1900的電源管理,一個有線或無線網(wǎng)絡(luò)接口1950被配置為將電子設(shè)備1900連接到網(wǎng)絡(luò),和一個輸入輸出(I/O)接口1958。電子設(shè)備1900可以操作基于存儲在存儲器1932的
操作系統(tǒng),例如Windows?ServerTM,Mac?OS?XTM,UnixTM,LinuxTM,F(xiàn)reeBSDTM或類似。
[0147] 在示例性實施例中,還提供了一種非易失性計算機可讀存儲介質(zhì),例如包括計算機程序指令的存儲器1932,上述計算機程序指令可由電子設(shè)備1900的處理組件1922執(zhí)行以完成上述方法。
[0148] 本公開可以是系統(tǒng)、方法和/或計算機程序產(chǎn)品。計算機程序產(chǎn)品可以包括計算機可讀存儲介質(zhì),其上載有用于使處理器實現(xiàn)本公開的各個方面的計算機可讀程序指令。
[0149] 計算機可讀存儲介質(zhì)可以是可以保持和存儲由指令執(zhí)行設(shè)備使用的指令的有形設(shè)備。計算機可讀存儲介質(zhì)例如可以是――但不限于――電存儲設(shè)備、磁存儲設(shè)備、光存儲設(shè)備、電磁存儲設(shè)備、
半導(dǎo)體存儲設(shè)備或者上述的任意合適的組合。計算機可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:便攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPROM或閃存)、靜態(tài)隨機存取存儲器(SRAM)、便攜式壓縮盤只讀存儲器(CD-ROM)、數(shù)字多功能盤(DVD)、記憶棒、
軟盤、機械編碼設(shè)備、例如其上存儲有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu)、以及上述的任意合適的組合。這里所使用的計算機可讀存儲介質(zhì)不被解釋為瞬時信號本身,諸如
無線電波或者其他自由傳播的
電磁波、通過
波導(dǎo)或其他傳輸媒介傳播的電磁波(例如,通過光纖
電纜的光脈沖)、或者通過電線傳輸?shù)?a href='/zhuanli/list-16478-1.html' target='_blank'>
電信號。
[0150] 這里所描述的計算機可讀程序指令可以從計算機可讀存儲介質(zhì)下載到各個計算/處理設(shè)備,或者通過網(wǎng)絡(luò)、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無線網(wǎng)下載到外部計算機或外部存儲設(shè)備。網(wǎng)絡(luò)可以包括
銅傳輸電纜、光纖傳輸、無線傳輸、路由器、
防火墻、交換機、網(wǎng)關(guān)計算機和/或邊緣服務(wù)器。每個計算/處理設(shè)備中的網(wǎng)絡(luò)適配卡或者網(wǎng)絡(luò)接口從網(wǎng)絡(luò)接收計算機可讀程序指令,并轉(zhuǎn)發(fā)該計算機可讀程序指令,以供存儲在各個計算/處理設(shè)備中的計算機可讀存儲介質(zhì)中。
[0151] 用于執(zhí)行本公開操作的計算機程序指令可以是匯編指令、指令集架構(gòu)(ISA)指令、機器指令、機器相關(guān)指令、微代碼、
固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者以一種或多種編程語言的任意組合編寫的源代碼或目標代碼,所述編程語言包括面向?qū)ο蟮木幊陶Z言—諸如Smalltalk、C++等,以及常規(guī)的過程式編程語言—諸如“C”語言或類似的編程語言。計算機可讀程序指令可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的
軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務(wù)器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網(wǎng)絡(luò)—包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。在一些實施例中,通過利用計算機可讀程序指令的狀態(tài)人員信息來個性化定制
電子電路,例如可編程
邏輯電路、現(xiàn)場可編程門陣列(FPGA)或可編程邏輯陣列(PLA),該電子電路可以執(zhí)行計算機可讀程序指令,從而實現(xiàn)本公開的各個方面。
[0152] 這里參照根據(jù)本公開實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖和/或框圖描述了本公開的各個方面。應(yīng)當(dāng)理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機可讀程序指令實現(xiàn)。
[0153] 這些計算機可讀程序指令可以提供給通用計算機、專用計算機或其它可編程
數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,使得這些指令在通過計算機或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。也可以把這些計算機可讀程序指令存儲在計算機可讀存儲介質(zhì)中,這些指令使得計算機、可編程數(shù)據(jù)處理裝置和/或其他設(shè)備以特定方式工作,從而,存儲有指令的計算機可讀介質(zhì)則包括一個制造品,其包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的各個方面的指令。
[0154] 也可以把計算機可讀程序指令加載到計算機、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計算機、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計算機實現(xiàn)的過程,從而使得在計算機、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上執(zhí)行的指令實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作。
[0155] 附圖中的流程圖和框圖顯示了根據(jù)本公開的多個實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實現(xiàn)中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于
硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
[0156] 以上已經(jīng)描述了本公開的各實施例,上述說明是示例性的,并非窮盡性的,并且也不限于所披露的各實施例。在不偏離所說明的各實施例的范圍和精神的情況下,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說許多
修改和變更都是顯而易見的。本文中所用術(shù)語的選擇,旨在最好地解釋各實施例的原理、實際應(yīng)用或?qū)κ袌鲋械募夹g(shù)改進,或者使本技術(shù)領(lǐng)域的其它普通技術(shù)人員能理解本文披露的各實施例。