本技術(shù)涉及視頻圖像,特別是一種應用于視頻直播中的人臉關(guān)鍵點檢測方法、裝置、直播系統(tǒng)、電子設備及計算機可讀存儲介質(zhì)。
背景技術(shù):
1、隨著網(wǎng)絡技術(shù)發(fā)展,網(wǎng)絡直播已經(jīng)得到大部分網(wǎng)絡用戶的使用,其中網(wǎng)絡直播以其內(nèi)容和形式的直觀性、即時性和互動性,在促進靈活就業(yè)、促進經(jīng)濟社會發(fā)展、豐富人民群眾精神文化生活等方面發(fā)揮了重要作用,主播可以在直播中更好地展現(xiàn)自己才藝才華,從而為更多主播實現(xiàn)了自我價值。
2、在視頻直播過程中,為了實現(xiàn)各種美顏、美妝功能時,需要對人臉關(guān)鍵點進行檢測,目前主流的人臉關(guān)鍵點檢測方法,通常是先將人臉檢測出來,然后再進行人臉關(guān)鍵點的檢測,即串行執(zhí)行人臉檢測、人臉關(guān)鍵點檢測兩個步驟,這種技術(shù)方案存在實時性較差、計算開銷大的問題,為了減少計算開銷,有些技術(shù)方案中會加入人臉跟蹤算法以實時跟蹤人臉,可以降低一部分人臉檢測的計算開銷,但由于人臉檢測/跟蹤與人臉關(guān)鍵點檢測是串行執(zhí)行的,依然無法解決使用人臉檢測時的幀耗時偏高、容易丟幀的問題,特別是在多人直播場景下,幀耗時和丟幀將變得愈發(fā)明顯,嚴重影響了視頻直播效果。
技術(shù)實現(xiàn)思路
1、基于此,有必要提供一種人臉關(guān)鍵點檢測方法、裝置、直播系統(tǒng)、電子設備及計算機可讀存儲介質(zhì),可以降低幀耗時和丟幀。
2、一種人臉關(guān)鍵點檢測方法,包括:
3、從直播視頻流中提取當前視頻幀;
4、將當前視頻幀分別傳遞到人臉檢測跟蹤線程和人臉關(guān)鍵點檢測線程;其中,所述人臉檢測跟蹤線程運行人臉檢測算法和人臉跟蹤算法,所述人臉關(guān)鍵點檢測線程運行人臉關(guān)鍵點檢測算法;
5、通過所述人臉檢測跟蹤線程識別當前視頻幀的人臉框并更新到人臉框緩存中,并同步通過所述人臉關(guān)鍵點檢測線程實時讀取人臉框緩存中的人臉框并進行人臉關(guān)鍵點檢測。
6、在一個實施例中,所述通過所述人臉檢測跟蹤線程識別當前視頻幀的人臉框并更新到人臉框緩存中,包括:
7、當達到人臉檢測條件時,利用人臉檢測跟蹤線程運行的人臉檢測算法識別當前視頻幀的人臉框并更新到人臉框緩存中;
8、當未達到人臉檢測條件時,利用人臉檢測跟蹤線程運行的人臉跟蹤算法識別當前視頻幀的人臉框并更新到人臉框緩存中。
9、在一個實施例中,所述通過所述人臉檢測跟蹤線程識別當前視頻幀的人臉框并更新到人臉框緩存中,包括:
10、按照設定的幀間隔從當前視頻幀中讀取一個目標視頻幀,將所述目標視頻幀設為人臉檢測幀以及將其他視頻幀設為人臉跟蹤幀;
11、調(diào)用人臉檢測跟蹤線程運行的人臉檢測算法依次識別當前視頻幀的人臉框,并更新到人臉框緩存中;以及調(diào)用人臉檢測跟蹤線程運行的人臉跟蹤算法依次識別當前視頻幀的人臉框,并更新到人臉框緩存中。
12、在一個實施例中,所述調(diào)用人臉檢測跟蹤線程運行的人臉檢測算法識別當前視頻幀的人臉框,包括:
13、調(diào)用人臉檢測跟蹤線程運行的人臉檢測算法并通過深度學習模型對當前視頻幀進行推理得到人臉框;
14、所述調(diào)用人臉檢測跟蹤線程運行的人臉跟蹤算法識別當前視頻幀的人臉框,包括:
15、調(diào)用人臉檢測跟蹤線程運行的人臉跟蹤算法并通過上一幀視頻幀所識別的人臉關(guān)鍵點對當前視頻幀進行估算得到人臉框。
16、在一個實施例中,按照設定的幀間隔從當前視頻幀中讀取一個目標視頻幀,包括:
17、當畫面中存在人臉時,則按照設定的幀間隔從當前視頻幀中讀取目標視頻幀;
18、當畫面中不存在人臉或者人臉數(shù)減少時,則降低所述幀間隔以在短時間內(nèi)增加讀取目標視頻幀的密度。
19、在一個實施例中,所述通過所述人臉關(guān)鍵點檢測線程實時讀取人臉框緩存中的人臉框并進行人臉關(guān)鍵點檢測,包括:
20、當人臉框緩存中存在人臉框時,通過所述人臉關(guān)鍵點檢測線程依次從人臉框緩存中讀取人臉框;
21、根據(jù)所述人臉框利用人臉關(guān)鍵點檢測線程運行的人臉關(guān)鍵點檢測算法從當前視頻幀中檢測出人臉關(guān)鍵點。
22、在一個實施例中,所述根據(jù)所述人臉框利用人臉關(guān)鍵點檢測線程運行的人臉關(guān)鍵點檢測算法從當前視頻幀中檢測出人臉關(guān)鍵點,包括:
23、對于各個人臉框,利用人臉關(guān)鍵點檢測線程運行的人臉關(guān)鍵點檢測算法并行對當前視頻幀進行推理得到相應的人臉關(guān)鍵點;
24、對所述人臉關(guān)鍵點進行篩選并去除置信度低的人臉關(guān)鍵點得到當前視頻幀的人臉關(guān)鍵點信息。
25、在一個實施例中,通過所述人臉關(guān)鍵點檢測線程實時讀取人臉框緩存中的人臉框并進行人臉關(guān)鍵點檢測,包括:
26、若當前視頻幀存在多個人臉框時,根據(jù)人臉框的屬性參數(shù)并利用評估函數(shù)計算各個人臉框重要性優(yōu)先級;
27、當人臉框為高優(yōu)先級時,使用高精度的人臉關(guān)鍵點檢測模型對人臉框進行人臉關(guān)鍵點檢測;
28、當人臉框為低優(yōu)先級時,使用低精度的人臉關(guān)鍵點檢測模型對人臉框進行人臉關(guān)鍵點檢測。
29、在一個實施例中,所述的人臉關(guān)鍵點檢測方法,還包括:
30、當人臉檢測跟蹤線程識別的當前視頻幀的人臉框數(shù)量超過設定數(shù)量閾值時,根據(jù)各個人臉框重要性優(yōu)先級將低優(yōu)先級的人臉框進行丟棄。
31、在一個實施例中,通過所述人臉關(guān)鍵點檢測線程實時讀取人臉框緩存中的人臉框并進行人臉關(guān)鍵點檢測,包括:
32、通過所述人臉關(guān)鍵點檢測線程實時讀取人臉框緩存中的人臉框;
33、若當前視頻幀存在多個人臉框時,計算各個人臉框的人臉重要性參數(shù),并根據(jù)人臉重要性參數(shù)計算各個人臉框進行人臉關(guān)鍵點檢測的時間最大值;
34、當對任一人臉框的人臉關(guān)鍵點檢測的處理時間超出其時間最大值時,將該人臉框丟棄,并采用上一幀視頻幀所檢測的人臉關(guān)鍵點信息。
35、一種人臉關(guān)鍵點檢測裝置,包括:
36、提取模塊,用于從直播視頻流中提取當前視頻幀;
37、傳遞模塊,用于將當前視頻幀分別傳遞到人臉檢測跟蹤線程和人臉關(guān)鍵點檢測線程;其中,所述人臉檢測跟蹤線程運行人臉檢測算法和人臉跟蹤算法,所述人臉關(guān)鍵點檢測線程運行人臉關(guān)鍵點檢測算法;
38、檢測模塊,用于通過所述人臉檢測跟蹤線程識別當前視頻幀的人臉框并更新到人臉框緩存中,并同步通過所述人臉關(guān)鍵點檢測線程實時讀取人臉框緩存中的人臉框并進行人臉關(guān)鍵點檢測。
39、一種直播系統(tǒng),包括:主播端、觀眾端以及直播服務器;其中,所述主播端和觀眾端分別通過通信網(wǎng)絡連接至所述直播服務器;
40、所述主播端,用于接入直播間的主播以及采集主播直播視頻流上傳至直播服務器;
41、所述直播服務器,用于將主播的直播視頻流轉(zhuǎn)發(fā)至觀眾端,以及利用所述的人臉關(guān)鍵點檢測方法來檢測直播視頻流中的人臉關(guān)鍵點;
42、所述觀眾端,用于接入直播間的觀眾用戶,接收所述主播直播視頻流進行播放。
43、一種電子設備,該電子設備,其包括:
44、一個或多個處理器;
45、存儲器;
46、一個或多個應用程序,其中所述一個或多個應用程序被存儲在所述存儲器中并被配置為由所述一個或多個處理器執(zhí)行,所述一個或多個程序配置用于執(zhí)行所述的人臉關(guān)鍵點檢測方法的步驟。
47、一種計算機可讀存儲介質(zhì),所述存儲介質(zhì)存儲有至少一條指令、至少一段程序、代碼集或指令集,所述至少一條指令、所述至少一段程序、所述代碼集或指令集由所述處理器加載并執(zhí)行所述的人臉關(guān)鍵點檢測方法的步驟。
48、本技術(shù)的技術(shù)方案,從直播視頻流中提取當前視頻幀分別傳遞到人臉檢測跟蹤線程和人臉關(guān)鍵點檢測線程,人臉檢測跟蹤線程運行人臉檢測算法和人臉跟蹤算法,識別當前視頻幀的人臉框并更新到人臉框緩存中,人臉關(guān)鍵點檢測線程運行人臉關(guān)鍵點檢測算法,同步實時讀取人臉框緩存中的人臉框并進行人臉關(guān)鍵點檢測;該技術(shù)方案,利用兩個異步的線程并行執(zhí)行,可以降低幀耗時,避免丟幀問題,特別是在多人團播場景下,依然能夠流暢進行實時人臉關(guān)鍵點檢測,極大提升了視頻直播效果。