TWI702822B - 視頻資料處理方法、裝置和儲存媒體 - Google Patents

視頻資料處理方法、裝置和儲存媒體 Download PDF

Info

Publication number
TWI702822B
TWI702822B TW108123647A TW108123647A TWI702822B TW I702822 B TWI702822 B TW I702822B TW 108123647 A TW108123647 A TW 108123647A TW 108123647 A TW108123647 A TW 108123647A TW I702822 B TWI702822 B TW I702822B
Authority
TW
Taiwan
Prior art keywords
video frame
human body
current video
point set
waistline
Prior art date
Application number
TW108123647A
Other languages
English (en)
Other versions
TW202007143A (zh
Inventor
周景錦
程培
曾毅榕
傅斌
高雨
朱曉龍
Original Assignee
大陸商騰訊科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 大陸商騰訊科技(深圳)有限公司 filed Critical 大陸商騰訊科技(深圳)有限公司
Publication of TW202007143A publication Critical patent/TW202007143A/zh
Application granted granted Critical
Publication of TWI702822B publication Critical patent/TWI702822B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20182Noise reduction or smoothing in the temporal domain; Spatio-temporal filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • General Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本發明實施例揭示了一種視頻資料處理方法、裝置和儲存媒體。本發明實施例在從視頻流中採集到當前視頻幀後,可以對當前視頻幀中的人體關鍵點的位置進行檢測,得到當前視頻幀中人體的點位集,然後,獲取歷史視頻幀中人體的點位集,並根據當前視頻幀中人體的點位集和歷史視頻幀中人體的點位集分析當前視頻幀中人體關鍵點的抖動幅度,根據抖動幅度確定所述當前視頻幀中人體的腰線位置,此後,對當前視頻幀中腰線位置以下的部分進行拉伸並輸出。該方案可以增強長腿功能的魯棒性和適應性,改善長腿效果,進而提高視頻畫面的顯示效果。

Description

視頻資料處理方法、裝置和儲存媒體
本發明涉及通訊技術領域,具體涉及一種視頻資料處理方法、裝置和儲存媒體。
隨著網路技術的發展和移動終端的普及,視頻拍攝已漸漸成為很多用戶進行社交分享和溝通交流的一種方式,與此同時,也催生了許多用於美化視頻畫面的技術,比如對視頻中的人臉進行美白、磨皮或瘦臉等。當然,除了人臉之外,也可以對視頻中的人體進行美化,比如對腿部進行拉伸(簡稱長腿),等等。
由於在視頻中,人體姿勢的變化幅度一般較大,因此,目前在對視頻中人體進行長腿時,通常需要針對每一幀圖像進行離線人工調整,不僅處理效率較低,而且無法滿足實時播放(比如視頻聊天或直播)的需求。為此,習知技術又提出了“實時長腿”的方案,具體為在獲取到視頻資料後,對視頻資料中的每一幀畫面進行整體縱向拉伸。
在對習知技術的研究和實踐過程中,本發明的發明人發現,雖然對每一幀畫面進行整體縱向拉伸可以在一定程度中起到“長腿”效果,但實際上也會導致畫面中的其他事物產生較大形變,大大影響視頻的顯示效果;而且由於人體姿勢的變化幅度一般較大(比如跳舞),因此,會出現不同幀中的長腿效果不一致、以及背景抖動幅度較大的情況,也就是說,現有方案的長腿功能的魯棒性(Robustness)和適應性較差,長腿效果並不佳,不利於提高視頻畫面的顯示效果。
本發明實施例提供一種視頻資料處理方法、裝置和儲存媒體,其可增強長腿功能的魯棒性和適應性,改善長腿效果,進而提高視頻畫面的顯示效果。
本發明實施例提供一種視頻資料處理方法,包括:
從視頻流中採集當前視頻幀,並對所述當前視頻幀中的人體關鍵點的位置進行檢測,得到當前視頻幀中人體的點位集;
獲取歷史視頻幀中人體的點位集,根據所述當前視頻幀中人體的點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度;
根據抖動幅度確定所述當前視頻幀中人體的腰線位置;以及
對當前視頻幀中腰線位置以下的人體部分進行拉伸,並輸出拉伸後的當前視頻幀。
相應的,本發明實施例還提供一種視頻資料處理裝置,包括:
檢測單元,用於從視頻流中採集當前視頻幀,並對所述當前視頻幀中的人體關鍵點的位置進行檢測,得到當前視頻幀中人體的點位集;
獲取單元,用於獲取歷史視頻幀中人體的點位集,所述歷史視頻幀為在所述視頻流中,以所述當前視頻幀為起點,過去預設時間範圍內的視頻幀;;
分析單元,用於根據所述當前視頻幀中人體的點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度;
確定單元,用於根據抖動幅度確定所述當前視頻幀中人體的腰線位置;以及
拉伸單元,用於對當前視頻幀中腰線位置以下的人體部分進行拉伸,並輸出拉伸後的當前視頻幀。
可選的,在一些實施例中,所述檢測單元,具體用於採用姿勢估計模型對所述當前視頻幀中的人體關鍵點的位置進行檢測,得到當前視頻幀中人體的點位集。
可選的,在一些實施例中,所述確定單元,具體用於根據抖動幅度確定所述當前視頻幀位於穩定態時,採用預設腰線值作為所述當前視頻幀中人體的腰線位置;以及根據抖動幅度確定所述當前視頻幀位於非穩定態時,根據當前視頻幀中人體的點位集計算所述當前視頻幀中人體的腰線位置。
可選的,在一些實施例中,所述視頻資料處理裝置還可以包括保存單元,如下:
所述保存單元,用於保存所述當前視頻幀中人體的點位集。
可選的,在一些實施例中,所述獲取單元,具體用於獲取以所述當前視頻幀為起點,過去預設時間範圍內的視頻幀,得到歷史視頻幀,確定是否保存了所述歷史視頻幀中人體的點位集,若是,則讀取所述歷史視頻幀中人體的點位集;若否,則對所述歷史視頻幀中的人體關鍵點的位置進行檢測,得到所述歷史視頻幀中人體的點位集。
可選的,在一些實施例中,所述分析單元可以包括點位獲取子單元和分析子單元,如下:
所述點位獲取子單元,用於從所述當前視頻幀中人體的點位集中獲取當前視頻幀中人體胯部的點位,以及從所述歷史視頻幀中人體的點位集中獲取歷史視頻幀中人體胯部的點位;以及
所述分析子單元,用於根據當前視頻幀中人體胯部的點位和歷史視頻幀中人體胯部的點位,分析當前視頻幀中人體關鍵點的抖動幅度。
可選的,在一些實施例中,所述分析子單元,具體用於根據當前視頻幀中人體胯部的點位計算當前視頻幀中人體的腰線;根據歷史視頻幀中人體胯部的點位計算歷史視頻幀中人體的腰線;以及計算當前視頻幀中人體的腰線與歷史視頻幀中人體的腰線的距離,得到當前視頻幀中人體關鍵點的抖動幅度。
可選的,在一些實施例中,所述確定單元,具體用於在確定抖動幅度小於預設閾值時,採用預設腰線值作為所述當前視頻幀的腰線位置;以及在確定抖動幅度大於等於預設閾值時,根據當前視頻幀中人體的點位集計算所述當前視頻幀的腰線位置。
可選的,在一些實施例中,所述確定單元,具體用於根據抖動幅度確定所述當前視頻幀位於非穩定態時,從所述當前視頻幀中人體的點位集中獲取當前視頻幀中人體胯部的點位,根據當前視頻幀中人體胯部的點位計算當前視頻幀中人體的腰線,根據計算得到的腰線確定所述當前視頻幀的腰線位置。
可選的,在一些實施例中,所述視頻資料處理裝置還可以包括平滑單元,如下:
所述平滑單元,用於採用預設點位平滑算法,根據所述歷史視頻幀中人體的點位集對所述當前視頻幀中人體的點位集進行平滑處理,得到當前視頻幀中人體的平滑後點位集;以及
所述分析單元,具體用於根據所述當前視頻幀中人體的平滑後點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度。
可選的,在一些實施例中,所述平滑單元,具體可以用於:
根據所述歷史視頻幀中人體的點位集,在時間維度上對所述當前視頻幀中人體的點位集進行平滑處理,得到時間平滑結果;
根據所述歷史視頻幀中人體的點位集,在空間維度上對所述當前視頻幀中人體的點位集進行平滑處理,得到空間平滑結果;
根據所述歷史視頻幀中人體的點位集,在信賴區間維度上對所述當前視頻幀中人體的點位集進行平滑處理,得到信賴區間平滑結果;以及
對所述時間平滑結果、空間平滑結果和信賴區間平滑結果進行加權運算,得到當前視頻幀中人體的平滑後點位集。
可選的,在一些實施例中,所述當前幀存在多個腰線位置;所述拉伸單元,具體用於從當前視頻幀的多個腰線位置中選擇位置最高的腰線位置作為目標腰線位置,對當前視頻幀中目標腰線位置以下的部分進行拉伸,並輸出拉伸後的當前視頻幀。
可選的,在一些實施例中,所述拉伸單元,具體用於根據黃金比例對當前視頻幀中目標腰線位置以下的部分進行拉伸,對拉伸後當前視頻幀中目標腰線位置部分的斜率進行平滑處理,得到結果幀,輸出所述結果幀。
此外,本發明實施例還提供一種儲存媒體,所述儲存媒體儲存有多條指令,所述指令適於處理器進行加載,以執行本發明實施例所提供的任一種視頻資料處理方法中的步驟。
本發明實施例在採集到當前視頻幀後,可以對當前視頻幀中的人體關鍵點的位置進行檢測,得到當前視頻幀中人體的點位集,然後,獲取歷史視頻幀中人體的點位集,並根據當前視頻幀中人體的點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度,根據抖動幅度確定當前視頻幀中人體的腰線位置,此後,對當前視頻幀中腰線位置以下的人體部分進行拉伸並輸出,進而實現對當前幀中人體進行實時長腿的目的;由於該方案只對腰線以下的部分進行拉伸,而且可以根據抖動幅度靈活地確定腰線,因此,可以在實現對視頻幀中人體進行實時長腿,改善長腿效果的同時,較大程度保證視頻幀中背景形變的自然平滑,大大提高了實時長腿功能的魯棒性和適應性,有利於提高視頻畫面的顯示效果。
下面將結合本發明實施例中的圖式,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,所屬技術領域具有通常知識者在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬本發明保護的範圍。
本發明實施例提供一種視頻資料處理方法、裝置和儲存媒體。
其中,該視頻資料處理裝置具體可以整合在網路設備中,該網路設備可以是終端或伺服器等設備。例如,參見第1a圖,網路設備可以從視頻流匯總採集當前視頻幀,並對該當前視頻幀中的人體關鍵點的位置進行檢測,得到當前視頻幀中人體的點位集;然後,獲取該視頻流的歷史視頻幀中人體的點位集,並根據該當前視頻幀中人體的點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度,再根據抖動幅度確定當前視頻幀位於穩定態時,採用預設固定腰線值作為該當前視頻幀的腰線位置,反之,在非穩定態時,則根據當前視頻幀中人體的點位集計算該當前視頻幀的腰線位置(即採用靈活腰線),此後,對當前視頻幀中腰線位置以下的人體部分進行拉伸,並輸出拉伸後的當前視頻幀,比如,可以根據黃金比例(即腿長為身長的0.618)對當前視頻幀中腰線位置以下的部分進行拉伸,得到結果幀,然後,輸出該結果幀,等等。
以下分別進行詳細說明。需說明的是,以下實施例的序號不作為對實施例優選順序的限定。
實施例一、
本實施例將從視頻資料處理裝置的角度進行描述,該視頻資料處理裝置具體可以整合在網路設備中,該網路設備可以是終端或伺服器等設備,其中,該終端可以包括手機、平板電腦、筆記型電腦或個人電腦(Personal Computer,PC)等。
一種視頻資料處理方法,包括:採集當前視頻幀,並對該當前視頻幀中的人體關鍵點的位置進行檢測,得到當前視頻幀中人體的點位集;獲取歷史視頻幀中人體的點位集,根據該當前視頻幀中人體的點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度;根據抖動幅度確定該當前視頻幀中人體的腰線位置;對當前視頻幀中腰線位置以下的部分進行拉伸,並輸出拉伸後的當前視頻幀。
如第1b圖所示,該視頻資料處理方法的具體流程可以如下:
101、從視頻流中採集當前視頻幀。
例如,具體可以透過本地攝像部件採集視頻圖像,得到當前視頻幀;或者,也可以透過接收其他設備,如其他終端或攝像設備發送的視頻圖像,得到當前視頻幀,等等。
102、對該當前視頻幀中的人體關鍵點的位置進行檢測,得到當前視頻幀中人體的點位集;例如,具體可以如下:
採用姿勢估計模型對該當前視頻幀中的人體關鍵點的位置進行檢測,得到當前視頻幀中人體的點位集。
其中,該姿勢估計模型可以根據實際應用的需求預先進行建立,可以由其他設備建立後提供給該視頻資料處理裝置,也可以由視頻資料處理裝置自行進行建立。例如,具體可以採集多個已標註了人體關鍵點的圖像樣本,然後,採用這些圖像樣本對預設姿勢估計初始模型進行訓練,便可得到該姿勢估計模型。其中,訓練的方式可以如下:
從這些圖像樣本中確定當前需要進行訓練的圖像樣本,然後,將該當前需要進行訓練的圖像樣本導入該姿勢估計初始模型中進行檢測,得到該當前需要進行訓練的圖像樣本的預測人體關鍵點,對該當前需要進行訓練的圖像樣本的預測人體關鍵點和標註的人體關鍵點進行收斂,以對該姿勢估計初始模型中的參數進行調整,便可以完成一次訓練,此後,可以返回執行“從這些圖像樣本中確定當前需要進行訓練的圖像樣本”的步驟,以採用另一個圖像樣本進行另一次訓練,依次類推,經過多次訓練後,便可得到訓練好的姿勢估計模型。
其中,人體關鍵點指的是可以標識出人體關鍵部位的特徵點,其具體可以根據實際應用的需求而定。比如,如第1c圖所示,該人體關鍵點可以包括如表一所示的特徵點: 表一:
Figure 108123647-A0304-0001
需說明的是,由於人體的姿勢的變化,該當前視頻幀中人體的點位集中可能會丟失某些人體關鍵點,譬如,在當人體的右手放在背後時,可能檢測不到“右手肘”、“右手腕”和“右手心”等人體關鍵點,則此時,可以沿用上一次的有效人體關鍵點,比如,若該當前視頻幀的上一幀的“右手肘”、“右手腕”和“右手心”等人體關鍵點是有效的,則可以將該當前視頻幀的上一幀的“右手肘”、“右手腕”和“右手心”等人體關鍵點作為該當前視頻幀中人體的點位集中的“右手肘”、“右手腕”和“右手心”等人體關鍵點。
可選的,在得到當前視頻幀中人體的點位集之後,還可以保存該當前視頻幀中人體的點位集,這樣,若後續需要獲取該當前視頻幀中人體的點位集時(該當前視頻幀可以作為後續視頻幀的歷史視頻幀),便可以直接讀取該保存的點位集,詳見步驟103。
103、獲取歷史視頻幀中人體的點位集,根據該當前視頻幀中人體的點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度。
其中,歷史視頻幀指的是在該視頻流中,以該當前視頻幀為起點,過去預設時間範圍內的視頻幀,比如,若當前幀為某視頻流的第三幀,則其歷史幀可以為該視頻流的第一幀和第二幀,等等。
可選的,獲取歷史視頻幀中人體的點位集的方式可以有多種,比如,可以如下:
獲取以該當前視頻幀為起點,過去預設時間範圍內的視頻幀,得到歷史視頻幀,然後,對該歷史視頻幀中的人體關鍵點的位置進行檢測,得到該歷史視頻幀中人體的點位集。
又比如,若在此之前,已保存了歷史視頻幀中人體的點位集,則此時,可以直接讀取該歷史視頻幀中人體的點位集,即步驟“獲取歷史視頻幀中人體的點位集”也可以包括:
獲取以該當前視頻幀為起點,過去預設時間範圍內的視頻幀,得到歷史視頻幀,確定是否保存了該歷史視頻幀中人體的點位集,若是,則讀取該保存的歷史視頻幀中人體的點位集;若否,則對該歷史視頻幀中的人體關鍵點的位置進行檢測,得到該歷史視頻幀中人體的點位集。
在得到歷史視頻幀中人體的點位集之後,便可以根據該當前視頻幀中人體的點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度,例如,具體可以如下:
(1)從該當前視頻幀中人體的點位集中獲取當前視頻幀中人體胯部的點位。
比如,參見表一,具體可以從該當前視頻幀中人體的點位集中獲取“右胯”人體關鍵點和“左胯”人體關鍵點,得到當前視頻幀中人體胯部的點位。
(2)從該歷史視頻幀中人體的點位集中獲取歷史視頻幀中人體胯部的點位。
比如,參見表一,具體可以從該歷史視頻幀中人體的點位集中獲取“右胯”人體關鍵點和“左胯”人體關鍵點,得到歷史視頻幀中人體胯部的點位。
(3)根據當前視頻幀中人體胯部的點位和歷史視頻幀中人體胯部的點位分析當前視頻幀中人體關鍵點的抖動幅度。例如,具體可以如下:
根據當前視頻幀中人體胯部的點位計算當前視頻幀中人體的腰線,根據歷史視頻幀中人體胯部的點位計算歷史視頻幀中人體的腰線,計算當前視頻幀中人體的腰線與歷史視頻幀中人體的腰線的距離,得到當前視頻幀中人體關鍵點的抖動幅度。
比如,具體可以計算當前視頻幀中“右胯”點(即第1c圖中8號點)和“左胯”點(即第1c圖中11號點)的平均值,得到當前視頻幀中人體的腰線;以及計算歷史視頻幀中“右胯”點(即第1c圖中8號點)和“左胯”點(即第1c圖中11號點)的平均值,得到歷史視頻幀中人體的腰線;然後,計算該當前視頻幀中人體的腰線與歷史視頻幀中人體的腰線的距離,便可得到當前視頻幀中人體關鍵點的抖動幅度。
此後,可以確定該抖動幅度是否小於預設閾值,若是,則確定該當前視頻幀位於穩定態,於是執行步驟104,若否,則確定該當前視頻幀位於非穩定態,於是執行步驟105。
其中,該預設閾值可以根據實際應用的需求進行設置,比如,可以設置上下幀腰線浮動在“10%”之內,為穩定態,而超過“10%”,則為非穩定態,當然,還可以設置當連續X1幀腰線浮動在某個幅度如“10%”之內,則確定為穩定態,而當連續X2幀腰線浮動在某個幅度如“10%”之外,則為非穩定態,等等。其中,該X1和X2也可以根據實際應用的需求而定,比如,X1可以為60幀,X2可以為100幀,等等,在此不作贅述。
可選的,由於人體劇烈運動(比如跳舞)時,上下幀之間的點位可能差距較大,可能會造成點位劇烈抖動的問題,因此,為了避免該問題,改善處理效果,在分析人體關鍵點的抖動幅度之前,還可以對這些點位進行平滑處理;即在步驟“根據該當前視頻幀中人體的點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度”之前,該視頻資料處理方法還可以包括:
採用預設點位平滑算法,根據該歷史視頻幀中人體的點位集對該當前視頻幀中人體的點位集進行平滑處理,得到當前視頻幀中人體的平滑後點位集。
則此時,步驟“根據該當前視頻幀中人體的點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度”具體可以為:根據該當前視頻幀中人體的平滑後點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度。
比如,具體可以從該當前視頻幀中人體的平滑後點位集中獲取當前視頻幀中人體胯部的點位,以及從該歷史視頻幀中人體的點位集中獲取歷史視頻幀中人體胯部的點位,然後,根據當前視頻幀中人體胯部的點位和歷史視頻幀中人體胯部的點位,分析當前視頻幀中人體關鍵點的抖動幅度,等等。
可選的,該點位平滑算法可以根據實際應用的需求進行設置,比如,具體可以從時間、空間和信賴區間(Confidence Interval)等維度對該當前視頻幀中人體的點位集進行平滑處理。即步驟“採用預設點位平滑算法,根據該歷史視頻幀中人體的點位集對該當前視頻幀中人體的點位集進行平滑處理,得到當前視頻幀中人體的平滑後點位集”可以包括:
A、根據該歷史視頻幀中人體的點位集,在時間維度上對該當前視頻幀中人體的點位集進行平滑處理,得到時間平滑結果。
例如,具體可以從該歷史視頻幀中選擇N幀(N為大於1的正整數),然後,在時間維度上,將該當前視頻幀中人體的點位集在該N幀之間進行平滑,比如,可以對該N幀的時間向量進行加權(即加權和)運算,如下:
Figure 02_image001
其中,
Figure 02_image003
為該當前視頻幀(即第i幀)的點位集中某個人體關鍵點S的時間平滑結果,
Figure 02_image005
為該N幀歷史視頻幀裡某一幀j中人體關鍵點S的時間向量,
Figure 02_image007
Figure 02_image005
的權重,離當前視頻幀越近,該權重
Figure 02_image007
越大。
B、根據該歷史視頻幀中人體的點位集,在空間維度上對該當前視頻幀中人體的點位集進行平滑處理,得到空間平滑結果。
例如,具體可以從該歷史視頻幀中選擇該當前視頻幀的上一幀,然後,將該上一幀的點位集中人體關鍵點的空間向量加上偏移量,便可得到該當前視頻幀中相應人體關鍵點的空間平滑結果;比如,對該上一幀的點位集中的右胯點加上偏移量,便可得到該當前視頻幀中右胯點的空間平滑結果,以此類推,便可得到該當前視頻幀中所有人體關鍵點(即點位集中所有點位)對應的空間平滑結果,用公式表示即為:
Figure 02_image009
其中,
Figure 02_image011
為該當前視頻幀(即第i幀)的點位集中某個人體關鍵點S的空間平滑結果,
Figure 02_image013
為該當前視頻幀的上一幀(即第i-1幀)的點位集中人體關鍵點S的空間向量,
Figure 02_image015
為該當前視頻幀中人體的點位集中人體關鍵點S的空間向量;f為偏移函數(非線性),其具有阻尼作用,透過該空間維度上的平滑處理,可以減少上下幀點位之間的差距。
C、根據該歷史視頻幀中人體的點位集,在信賴區間維度上對該當前視頻幀中人體的點位集進行平滑處理,得到信賴區間平滑結果。
例如,具體可以從該歷史視頻幀中選擇M幀(M為大於1的正整數),然後,在信賴區間維度上,將該當前視頻幀中人體的點位集在該M幀之間進行平滑,比如,可以對該M幀的信賴區間進行加權(即加權和)運算,如下:
Figure 02_image017
其中,
Figure 02_image019
為該當前視頻幀(即第i幀)的點位集中某個人體關鍵點S的信賴區間平滑結果,
Figure 02_image021
為該M幀歷史視頻幀裡的某一幀k中人體關鍵點S的信賴區間向量,
Figure 02_image023
Figure 02_image021
的權重,其可以由該需要計算權重的幀的信賴區間
Figure 02_image025
除以該M幀歷史視頻幀的信賴區間之和
Figure 02_image027
來得到,如下:
Figure 02_image029
其中,信賴區間可以在對人體關鍵點的位置進行檢測時得到,詳見步驟102。信賴區間越大,表示該人體關鍵點的所檢測出來的位置越準確。
D、對該時間平滑結果、空間平滑結果和信賴區間平滑結果進行加權(即加權和)運算,得到當前視頻幀中人體的平滑後點位集,用公式表示可以如下:
Figure 02_image031
其中,
Figure 02_image033
為當前視頻幀(即第i幀)的點位集中某個人體關鍵點S的總平滑結果,依次類推,計算出該當前視頻幀點位集中的所有人體關鍵點的總平滑結果,即可得到當前視頻幀中人體的平滑後點位集(該平滑後點位集包括了該當前視頻幀點位集中的所有人體關鍵點的總平滑結果);
Figure 02_image035
Figure 02_image037
Figure 02_image039
分別為
Figure 02_image003
Figure 02_image011
Figure 02_image019
的權重,該權重具體可以根據實際應用的需求進行設置,在此不再贅述。
104、根據抖動幅度確定該當前視頻幀中人體的腰線位置,例如,具體可以如下:
(1)根據抖動幅度確定該當前視頻幀位於穩定態時,採用預設腰線值作為該當前視頻幀的腰線位置。
其中,該預設腰線值可以根據實際應用的需求進行設置,比如,可以採用該當前幀的前複數個歷史視頻幀的平均腰線位置作為該腰線值,或者,也可以採用該當前幀的上一幀的腰線位置作為該腰線值,等等,在此不作贅述。
這是因為,人在舞蹈或輕微運動時,腰線會上下浮動,進而導致其背景拉伸區域的變化,如果每一幀都根據其實際腰線進行拉伸的話,背景形變浮動會比較大且顯得不自然。而鑒於人在舞動或輕微運動時,腰線不會變化太大,以及腰線的輕微變化對於長腿效果影響並不太明顯,所以,可以在人體比較穩定,即當前視頻幀位於穩定態時,採用一固定腰線位置,以作為候選拉伸的參考基準,來減少背景形變的浮動,使得顯得更為自然,提高處理效果。
(2)根據抖動幅度確定該當前視頻幀位於非穩定態時,根據當前視頻幀中人體的點位集計算該當前視頻幀的腰線位置。
由於該當前視頻幀位於非穩定態,因此,表明該當前視頻幀的腰線較歷史視頻幀浮動較大,如果依舊採用預設腰線值作為該當前視頻幀的腰線位置的話,可以會導致後續的拉伸不準確,影響拉伸效果,因此,此時可以根據當前視頻幀中人體的點位集計算該當前視頻幀的腰線位置,具體可以如下:
從該當前視頻幀中人體的點位集中獲取當前視頻幀中人體胯部的點位,根據當前視頻幀中人體胯部的點位計算當前視頻幀中人體的腰線,根據計算得到的腰線確定該當前視頻幀的腰線位置。
比如,具體可以從該當前視頻幀中人體的點位集中獲取當前視頻幀中人體的“右胯”點和“左胯”點,然後,計算該“右胯”點和“左胯”點的平均值,得到當前視頻幀中人體的腰線,可以直接將該腰線的位置(如坐標)作為該當前視頻幀的腰線位置,也可以按照預設策略對該腰線的位置進行微調後,作為該當前視頻幀的腰線位置。
其中,該預設策略可以根據實際應用的需求而定,在此不作贅述。
105、對當前視頻幀中腰線位置以下的人體部分進行拉伸,並輸出拉伸後的當前視頻幀。例如,具體可以如下:
根據黃金比例(即腿長為身長的0.618)對當前視頻幀中腰線位置以下的人體部分進行拉伸,得到結果幀,輸出該結果幀。
或者,也可以根據用戶的喜好或設置對當前視頻幀中腰線位置以下的人體部分進行拉伸,得到結果幀,輸出該結果幀。
由於拉伸後,在拉伸分界線(即腰線位置)上有一明顯的斜率跳變,使得背景顯示較為不自然,影響其圖像顯示效果,因此,可選的,在進行拉伸之後,還可以對該部分的斜率進行平滑處理,以消除該“跳變”,即在步驟“根據黃金比例對當前視頻幀中腰線位置以下的人體部分進行拉伸”之前,該視頻資料處理方法還可以包括:
對拉伸後當前視頻幀中腰線位置部分的斜率進行平滑處理,得到結果幀。
其中,該平滑處理的策略可以根據實際應用的需求而定,比如,可以在該腰線位置部分設置一過渡帶,比如設置一20%的過渡帶,然後,對該過渡帶內的斜率進行下調,使其拉伸交界處更加平滑柔和。
可選的,若該當前視頻幀中存在多個人體,則必然會存在多個腰線位置,那麼在拉伸時,可以從中選一腰線位置作為目標腰線位置來進行拉伸,比如,可以選擇位置最高的腰線位置來作為目標腰線位置,等等。即步驟“對當前視頻幀中腰線位置以下的人體部分進行拉伸,並輸出拉伸後的當前視頻幀”可以包括:
從當前視頻幀的多個腰線位置中選擇位置最高的腰線位置作為目標腰線位置,對當前視頻幀中目標腰線位置以下的人體部分進行拉伸,並輸出拉伸後的當前視頻幀。
比如,具體可以根據黃金比例對當前視頻幀中目標腰線位置以下的人體部分進行拉伸,並輸出拉伸後的當前視頻幀。
可選的,可以對拉伸後當前視頻幀中目標腰線位置部分的斜率進行平滑處理,然後才進行輸出。即步驟“對當前視頻幀中目標腰線位置以下的人體部分進行拉伸,並輸出拉伸後的當前視頻幀”可以包括;
根據黃金比例對當前視頻幀中目標腰線位置以下的人體部分進行拉伸,對拉伸後當前視頻幀中目標腰線位置部分的斜率進行平滑處理,得到結果幀,輸出結果幀。
其中,當當前視頻幀中存在多個人體時,其拉伸的程度可以根據實際應用的需求而定,比如,可以取該多個人體拉伸程度的均值來進行拉伸,譬如,可以根據該當前視頻幀中每個人體的腿長和身長的黃金比例,確定每個人體的最佳拉伸程度,然後,計算該當前視頻幀中所有人體的拉伸程度的均值,根據該均值對當前視頻幀中目標腰線位置以下的部分進行拉伸,等等。
需說明的是,在本發明實施例中,對腰線位置(或目標腰線位置)以下的人體部分進行拉伸可以包括只對視頻幀中腰線位置(或目標腰線位置)以下的人體圖像區域進行拉伸,也可以包括對視頻幀中腰線位置(或目標腰線位置)以下的所有圖像區域進行整體拉伸。其中,在只對人體圖像區域進行拉伸時,可以根據檢測到的人體關鍵點從視頻幀中提取出人體圖像區域,作為前景部分,並將提取後剩餘的其他部分作為背景部分,然後,對前景部分中腰線位置以下的圖像區域進行拉伸,再將拉伸後的前景部分與背景部分進行疊加,即可得到拉伸後當前視頻幀,在此不作贅述。
在執行步驟105之後,可以返回執行採集當前視頻幀的步驟(即步驟101),以對下一視頻幀進行拉伸,直至視頻採集結束,這樣,便可實現對視頻中的人體進行實時拉伸,比如對視頻中的人體進行長腿的功能。
由上可知,本實施例在採集到當前視頻幀後,可以對當前視頻幀中的人體關鍵點的位置進行檢測,得到當前視頻幀中人體的點位集,然後,獲取歷史視頻幀中人體的點位集,並根據當前視頻幀中人體的點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度,根據抖動幅度確定該當前視頻幀中人體的腰線位置,比如,在根據抖動幅度確定當前視頻幀位於穩定態時,採用預設固定腰線值作為該當前視頻幀的腰線位置,反之,在非穩定態時,則根據當前視頻幀中人體的點位集計算該當前視頻幀的腰線位置,等等,此後,便可以對當前視頻幀中腰線位置以下的人體部分進行拉伸並輸出,進而實現對當前幀中人體進行實時長腿的目的;由於該方案只對腰線以下的部分進行拉伸,而且對於抖動幅度不大的視頻幀,採用的是固定腰線,對於抖動幅度較大的視頻幀,才採用靈活的腰線,因此,可以在實現對視頻幀中人體進行實時長腿,改善長腿效果的同時,較大程度保證視頻幀中背景形變的自然平滑,大大提高了實時長腿功能的魯棒性(Robustness)和適應性,有利於提高視頻畫面的顯示效果。
實施例二、
根據前面實施例所描述的方法,以下將以該視頻資料處理裝置具體整合在網路設備中為例進行說明。
如第2a圖所示,一種視頻資料處理方法,具體流程可以如下:
201、網路設備從視頻流中採集當前視頻幀。
例如,網路設備可以透過本地攝像部件採集視頻圖像,得到當前視頻幀;或者,也可以透過接收其他設備,如其他終端或攝像設備發送的視頻圖像,得到當前視頻幀,等等。
比如,如第2f圖所示,當用戶需要對視頻進行實時長腿時,可以點擊介面中的“長腿”觸發鍵來觸發該長腿功能。
可選的,還可以透過其他介面元件如“觸發鍵”、“輸入框”或“滑桿”設置“拉伸”程度,比如,參見第2f圖,若用戶將“滑桿”調整至“65%”處,則意味著可以將當當前視頻幀中人體的腿部的長度在原來的基礎上,增加65%。
可選的,該用戶介面中還可以設置其他的介面元件,用於調用預設的其他功能函數,以實現該功能函數對應的功能。比如設置一“選擇框”,當用戶選擇該“選擇框”,則可以觸發調用預設功能函數,使得用戶在當前視頻幀所設置的“拉伸”程度,默認適用於其他的視頻幀(當然,若用戶需要對某一幀中的人體腿部的拉伸程度進行重新設置,也可以透過當前視頻幀中的用於設置“拉伸”程度的介面元件來對該默認項進行調整);而當用戶未選擇該“選擇框”時,則用戶可以靈活對視頻幀中的人體腿部的拉伸程度進行逐幀設置,比如,參見第2f圖,同樣可以透過用戶介面中的“滑桿”來進行調整,在此不作贅述。
202、網路設備採用姿勢估計模型對該當前視頻幀中的人體關鍵點的位置進行檢測,得到當前視頻幀中人體的點位集。
其中,該姿勢估計模型可以根據實際應用的需求預先進行建立,例如,具體可以採集多個已標註了人體關鍵點的圖像樣本,然後,採用這些圖像樣本對預設姿勢估計初始模型進行訓練,便可得到該姿勢估計模型,具體可參見前面的實施例,在此不作贅述。
其中,人體關鍵點指的是可以標識出人體關鍵部位的特徵點,其具體可以根據實際應用的需求而定。比如,具體可以包括如第1c圖和表一所示的22個人體關鍵點:鼻尖、脖子(華蓋穴)、右肩、右手肘、右手腕、左肩、左手肘、左手腕、右胯、右膝蓋、右腳踝、左胯、左膝蓋、左腳踝、右眼、左眼、左眼、右耳、左耳、右手心、左手心、右腳尖和左腳尖等。
例如,參見第2b圖,網路設備在採集到當前視頻幀之後,可以將該當前視頻幀導入至姿勢估計模型中進行檢測,姿勢估計模型對該當前視頻幀進行人體關鍵點位置檢測之後,可以輸出檢測到的多個人體關鍵點的位置(簡稱點位),將該多個人體關鍵點的位置添加至同一集合中,便可得到該當前視頻幀中人體的點位集。
需說明的是,由於人體的姿勢的變化,在對該當前視頻幀中的人體關鍵點的位置進行檢測時,可能會存在複數個人體關鍵點無法檢測到,譬如,在當人體的左手放在背後時,可能檢測不到“左手肘”、“左手腕”和“左手心”等人體關鍵點,則此時,可以沿用上一次的有效人體關鍵點,比如,若該當前視頻幀的上上一幀的“左手肘”、“左手腕”和“左手心”等人體關鍵點是有效的,則在可以將該當前視頻幀的上上一幀的“左手肘”、“左手腕”和“左手心”等人體關鍵點作為該當前視頻幀中人體的點位集中的“左手肘”、“左手腕”和“左手心”等人體關鍵點,以此類推,等等。
可選的,在得到當前視頻幀中人體的點位集之後,網路設備還可以保存該當前視頻幀中人體的點位集,這樣,若後續需要獲取該當前視頻幀中人體的點位集時(該當前視頻幀可以作為後續視頻幀的歷史視頻幀),便可以直接讀取該保存的點位集,詳見步驟203。
203、網路設備獲取該視頻流的歷史視頻幀中人體的點位集。
例如,網路設備可以獲取以該當前視頻幀為起點,過去預設時間範圍內的視頻幀,得到歷史視頻幀,然後,對該歷史視頻幀中的人體關鍵點的位置進行檢測,得到該歷史視頻幀中人體的點位集。
又比如,若在此之前,已保存了歷史視頻幀中人體的點位集,則此時,網路設備也可以直接讀取該歷史視頻幀中人體的點位集,即步驟“網路設備獲取歷史視頻幀中人體的點位集”也可以包括:
網路設備從該視頻流中,獲取以該當前視頻幀為起點,過去預設時間範圍內的視頻幀,得到歷史視頻幀,確定是否保存了該歷史視頻幀中人體的點位集,若是,則讀取該保存的歷史視頻幀中人體的點位集;若否,則對該歷史視頻幀中的人體關鍵點的位置進行檢測,得到該歷史視頻幀中人體的點位集。
其中,該預設時間範圍可以根據實際應用的需求而定,比如,以當前視頻幀具體為第10幀,其該預設時間範圍為5幀為例,則此時,網路設備可以獲取第5幀、第6幀、第7幀、第8幀和第9幀的視頻幀作為歷史視頻幀,然後,確定是否存在這些歷史視頻幀中人體的點位集,如果存在,則直接讀取相應的點位集,如果不存在,則對該歷史視頻幀中的人體關鍵點的位置進行檢測,比如,如果第9幀沒有保存相應的點位集,則此時需要對第9幀中的人體關鍵點的位置進行檢測,以得到第9幀的點位集,以此類推,等等。
其中,對歷史視頻幀中的人體關鍵點的位置進行檢測的方式則與對當前視頻幀中的人體關鍵點的檢測方式類似,即具體可以採用姿勢估計模型對該歷史視頻幀中的人體關鍵點的位置進行檢測,其中,該姿勢估計模型可參見步驟202中的描述,在此不作贅述。
204、網路設備採用預設點位平滑算法,根據該歷史視頻幀中人體的點位集對該當前視頻幀中人體的點位集進行平滑處理,得到當前視頻幀中人體的平滑後點位集。
可選的,該點位平滑算法可以根據實際應用的需求進行設置,比如,具體可以從時間、空間和信賴區間等維度對該當前視頻幀中人體的點位集進行平滑處理,具體可以如下:
(1)時間維度;
網路設備根據該歷史視頻幀中人體的點位集,在時間維度上對該當前視頻幀中人體的點位集進行平滑處理,得到時間平滑結果。
例如,具體可以從該歷史視頻幀中選擇N幀(N為大於1的正整數),然後,在時間維度上,將該當前視頻幀中人體的點位集在該N幀之間進行平滑,比如,可以對該N幀的時間向量進行加權(即加權和)運算,如下:
Figure 02_image001
其中,
Figure 02_image003
為該當前視頻幀(即第i幀)的點位集中某個人體關鍵點S的時間平滑結果,
Figure 02_image005
為該N幀歷史視頻幀裡某一幀j中人體關鍵點S的時間向量,
Figure 02_image007
Figure 02_image005
的權重,離當前視頻幀越近,該權重
Figure 02_image007
越大。
(2)空間維度;
網路設備根據該歷史視頻幀中人體的點位集,在空間維度上對該當前視頻幀中人體的點位集進行平滑處理,得到空間平滑結果。
例如,網路設備具體可以從該歷史視頻幀中選擇該當前視頻幀的上一幀,然後,將該上一幀的點位集中人體關鍵點的空間向量加上偏移量,便可得到該當前視頻幀中相應人體關鍵點的空間平滑結果;比如,對該上一幀的點位集中的右胯點加上偏移量,便可得到該當前視頻幀中右胯點的空間平滑結果,以此類推,便可得到該當前視頻幀中所有人體關鍵點(即點位集中所有點位)對應的空間平滑結果,用公式表示即為:
Figure 02_image009
其中,
Figure 02_image011
為該當前視頻幀(即第i幀)的點位集中某個人體關鍵點S的空間平滑結果,
Figure 02_image013
為該當前視頻幀的上一幀(即第i-1幀)的點位集中人體關鍵點S的空間向量,
Figure 02_image015
為該當前視頻幀中人體的點位集中人體關鍵點S的空間向量;f為偏移函數(非線性),其具有阻尼作用,透過該空間維度上的平滑處理,可以減少上下幀點位之間的差距。
(3)信賴區間維度;
網路設備根據該歷史視頻幀中人體的點位集,在信賴區間維度上對該當前視頻幀中人體的點位集進行平滑處理,得到信賴區間平滑結果。
例如,網路設備具體可以從該歷史視頻幀中選擇M幀(M為大於1的正整數),然後,在信賴區間維度上,將該當前視頻幀中人體的點位集在該M幀之間進行平滑,比如,可以對該M幀的信賴區間進行加權(即加權和)運算,如下:
Figure 02_image017
其中,
Figure 02_image019
為該當前視頻幀(即第i幀)的點位集中某個人體關鍵點S的信賴區間平滑結果,
Figure 02_image021
為該M幀歷史視頻幀裡的某一幀k中人體關鍵點S的信賴區間向量,
Figure 02_image023
Figure 02_image021
的權重,其可以由該需要計算權重的幀的信賴區間
Figure 02_image025
除以該M幀歷史視頻幀的信賴區間之和
Figure 02_image027
來得到,如下:
Figure 02_image029
其中,信賴區間可以在對人體關鍵點的位置進行檢測時得到,詳見步驟102。信賴區間越大,表示該人體關鍵點的所檢測出來的位置越準確。
在得到時間平滑結果、空間平滑結果和信賴區間平滑結果之後,便可以對該時間平滑結果、空間平滑結果和信賴區間平滑結果進行加權(即加權和)運算,得到當前視頻幀中人體的平滑後點位集,用公式表示可以如下:
Figure 02_image031
其中,
Figure 02_image033
為當前視頻幀(即第i幀)的點位集中某個人體關鍵點S的總平滑結果,依次類推,計算出該當前視頻幀點位集中的所有人體關鍵點的總平滑結果,即可得到當前視頻幀中人體的平滑後點位集(該平滑後點位集包括了該當前視頻幀點位集中的所有人體關鍵點的總平滑結果);
Figure 02_image035
Figure 02_image037
Figure 02_image039
分別為
Figure 02_image003
Figure 02_image011
Figure 02_image019
的權重,該權重具體可以根據實際應用的需求進行設置,在此不再贅述。
205、網路設備根據該當前視頻幀中人體的平滑後點位集和歷史視頻幀中人體的點位集分析當前視頻幀中人體關鍵點的抖動幅度。例如,參見表一,可以如下:
網路設備從該當前視頻幀中人體的點位集中獲取“右胯”人體關鍵點和“左胯”人體關鍵點,得到當前視頻幀中人體胯部的點位,以及從該歷史視頻幀中人體的點位集中獲取“右胯”人體關鍵點和“左胯”人體關鍵點,得到歷史視頻幀中人體胯部的點位,然後,根據當前視頻幀中人體胯部的點位計算當前視頻幀中人體的腰線,根據歷史視頻幀中人體胯部的點位計算歷史視頻幀中人體的腰線,計算當前視頻幀中人體的腰線與歷史視頻幀中人體的腰線的距離,得到當前視頻幀中人體關鍵點的抖動幅度。
比如,具體可以計算當前視頻幀中“右胯”點和“左胯”點的平均值,得到當前視頻幀中人體的腰線;以及計算歷史視頻幀中“右胯”點和“左胯”點的平均值,得到歷史視頻幀中人體的腰線;然後,計算該當前視頻幀中人體的腰線與歷史視頻幀中人體的腰線的距離,便可得到當前視頻幀中人體關鍵點的抖動幅度。
206、網路設備確定該抖動幅度是否小於預設閾值,若是,則確定該當前視頻幀位於穩定態,於是執行步驟207,若否,則確定該當前視頻幀位於非穩定態,於是執行步驟208。
其中,該預設閾值可以根據實際應用的需求進行設置,比如,以該預設閾值為10%為例,則此時,網路設備可以該抖動幅度(即上下幀腰線浮動)是否小於10%,若是,則定該當前視頻幀位於穩定態,於是執行步驟207,若否,比如,其上下幀浮動為20%,則可以確定該當前視頻幀位於非穩定態,於是執行步驟208。
207、網路設備根據抖動幅度確定該當前視頻幀位於穩定態時,採用預設腰線值作為該當前視頻幀的腰線位置。
其中,該預設腰線值可以根據實際應用的需求進行設置,比如,可以採用該當前幀的前複數個歷史視頻幀的平均腰線位置作為該腰線值,或者,也可以採用該當前幀的上一幀的腰線位置作為該腰線值,等等,在此不作贅述。
208、網路設備根據抖動幅度確定該當前視頻幀位於非穩定態時,根據當前視頻幀中人體的點位集計算該當前視頻幀的腰線位置,例如,具體可以如下:
從該當前視頻幀中人體的點位集中獲取當前視頻幀中人體胯部的點位,根據當前視頻幀中人體胯部的點位計算當前視頻幀中人體的腰線,根據計算得到的腰線確定該當前視頻幀的腰線位置。
比如,具體可以從該當前視頻幀中人體的點位集中獲取當前視頻幀中人體的“右胯”點和“左胯”點,然後,計算該“右胯”點和“左胯”點的平均值,得到當前視頻幀中人體的腰線,可以直接將該腰線的位置(如坐標)作為該當前視頻幀的腰線位置,也可以按照預設策略對該腰線的位置進行微調後,作為該當前視頻幀的腰線位置。
其中,該預設策略可以根據實際應用的需求而定,在此不作贅述。
209、網路設備對當前視頻幀中腰線位置以下的人體部分進行拉伸。
其中,在拉伸時,可以按照黃金比例(即腿長為身長的0.618)來進行拉伸,或者,也可以根據用戶的喜好或設置進行拉伸,比如,可以將腰線位置以下的部分拉伸為原來的1.2倍或1.5倍,等等。
可選的,若該當前視頻幀中存在多個人體,則必然會存在多個腰線位置,那麼在拉伸時,網路設備可以從中選一腰線位置作為目標腰線位置來進行拉伸,比如,可以從當前視頻幀的多個腰線位置中選擇位置最高的腰線位置作為目標腰線位置,然後,對當前視頻幀中目標腰線位置以下的人體部分進行拉伸。具體的拉伸程度可以根據實際應用的需求而定,比如,可以取該多個人體拉伸程度的均值來進行拉伸,如下:
根據該當前視頻幀中每個人體的腿長和身長的黃金比例,確定每個人體的最佳拉伸程度,然後,計算該當前視頻幀中所有人體的拉伸程度的均值,根據該均值對當前視頻幀中目標腰線位置以下的人體部分進行拉伸,等等。
可選的,由於拉伸後,在拉伸分界線(即腰線位置)上有一明顯的斜率跳變,使得背景顯示較為不自然,影響其圖像顯示效果;比如,若腰線位置為“y=0.5”,那麼,在拉伸時,將會從“y=0.5”這條線開始拉伸,假設拉伸程度為20%,則該當前視頻幀中的像素點的斜率變化可以如第2c圖所示,從第2c圖可以看到,在y=0.5有一明顯的斜率跳變,因此,為了消除該“跳變”,可選的,在進行拉伸之後,還可以對該部分的斜率進行平滑處理,即該視頻資料處理方法還可以執行步驟210。
需說明的是,在本發明實施例中,對腰線位置(或目標腰線位置)以下的人體部分進行拉伸方式可以有多種,例如,可以如下:
網路設備對視頻幀中腰線位置(或目標腰線位置)以下的人體圖像區域進行拉伸。
比如,具體可以根據檢測到的人體關鍵點從視頻幀中提取出人體圖像區域,作為前景部分,並將提取後剩餘的其他部分作為背景部分,然後,對前景部分中腰線位置以下的圖像區域進行拉伸,再將拉伸後的前景部分與背景部分進行疊加,即可得到拉伸後當前視頻幀。
可選的,為了提高簡化操作,提高處理效率,也可以不對前景和背景進行劃分,而是對視頻幀中腰線位置(或目標腰線位置)以下的所有圖像區域進行整體拉伸,在此不作贅述。
210、網路設備對拉伸後當前視頻幀中腰線位置部分的斜率進行平滑處理,得到結果幀,然後執行步驟211。
其中,該平滑處理的策略可以根據實際應用的需求而定,比如,可以在該腰線位置部分設置一過渡帶然後,對該過渡帶內的斜率進行下調,使其拉伸交界處更加平滑、以及柔和。
例如,還是以第2c圖中的例子為例,由於在y=0.5有一明顯的斜率跳變,因此,可以在y=0.5的位置設置一過渡帶,比如,設置一20%的過渡帶,然後,將該過渡帶內的斜率從1.0平滑至0.8,由第2d圖可以看到,平滑處理後的拉伸交界處相對於第2c圖中的拉伸交界處而言,顯得更加平滑柔和。
當然,該過渡帶的具體設置、以及斜率下調的幅度可以根據實際應用的需求進行靈活設置,上述的例子僅僅為示例,並不作為限定。
211、網路設備輸出結果幀。
例如,網路設備可以在終端介面上顯示該結果幀,比如,參見第2f圖中的右圖,可以顯示該拉伸了腿部之後的視頻幀,進而實現在錄製視頻時,實時長腿的功能。
可選的,如第2f圖所示,用戶可以透過調整介面上的“滑桿”,來靈活調整當前視頻幀中人體腿部的拉伸程度。
可選,用戶還可以透過預設觸發鍵,如透過按壓視頻畫面來查看拉伸前後的對比效果。比如,如第2e圖所示,該圖為拉伸前和拉伸後的當前視頻幀的對比圖,其中,左圖為拉伸前的當前視頻幀,右圖為拉伸後的當前視頻幀,可見,在對腰線位置以下的人體部分進行拉伸之後,左圖中的人體的腿長明顯大於右圖中人體的腿長。
需說明的是,在執行步驟210之後,可以返回執行採集當前視頻幀的步驟(即步驟201),以對下一視頻幀進行拉伸,直至視頻採集結束,這樣,便可實現對視頻中的人體進行實時拉伸,比如對視頻中的人體進行長腿的功能。
由上可知,本實施例在採集到當前視頻幀後,可以對當前視頻幀中的人體關鍵點的位置進行檢測,得到當前視頻幀中人體的點位集,然後,獲取歷史視頻幀中人體的點位集,根據該歷史視頻幀中人體的點位集對該當前視頻幀中人體的點位集進行平滑處理,並根據當前視頻幀中人體的平滑後點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度,在根據抖動幅度確定當前視頻幀位於穩定態時,採用預設固定腰線值作為該當前視頻幀的腰線位置,反之,在非穩定態時,則根據當前視頻幀中人體的點位集計算該當前視頻幀的腰線位置,此後,對當前視頻幀中腰線位置以下的人體部分進行拉伸並輸出,進而實現對當前幀中人體進行實時長腿的目的;由於該方案只對腰線以下的部分進行拉伸,而且對於抖動幅度不大的視頻幀,採用的是固定腰線,對於抖動幅度較大的視頻幀,才採用靈活的腰線,因此,可以在實現對視頻幀中人體進行實時長腿,改善長腿效果的同時,較大程度保證視頻幀中背景形變的自然平滑,大大提高了實時長腿功能的魯棒性和適應性,有利於提高視頻畫面的顯示效果。
此外,由於該方案在得到當前視頻幀中人體的點位集之後,還可以對該點位集進行平滑處理,因此,可以大大降低由於人體劇烈運動所導致的上下幀之間的點位差距較大的問題,可以進一步改善視頻畫面的處理效果。
實施例三、
為了更好地實施以上方法,本發明實施例還可以提供一種視頻資料處理裝置,該視頻資料處理裝置具體可以整合在網路設備中,該網路設備可以是終端或伺服器等設備。
例如,如第3a圖所示,該視頻資料處理裝置可以包括檢測單元301、獲取單元302、分析單元303、確定單元304和拉伸單元305,如下:
(1)檢測單元301;
檢測單元301,用於採集當前視頻幀,並對該當前視頻幀中的人體關鍵點的位置進行檢測,得到當前視頻幀中人體的點位集。
例如,該檢測單元301,具體可以用於採用姿勢估計模型對該當前視頻幀中的人體關鍵點的位置進行檢測,得到當前視頻幀中人體的點位集。
其中,該姿勢估計模型可以根據實際應用的需求預先進行建立,可以由其他設備建立後提供給該視頻資料處理裝置,也可以由視頻資料處理裝置自行進行建立,即可選的,該視頻資料處理裝置還可以包括建立單元,具體可以用於採集多個已標註了人體關鍵點的圖像樣本,然後,採用這些圖像樣本對預設姿勢估計初始模型進行訓練,便可得到該姿勢估計模型。其中,訓練的方式具體可參見前面的方法實施例,在此不作贅述。
其中,人體關鍵點指的是可以標識出人體關鍵部位的特徵點,其具體可以根據實際應用的需求而定,比如,具體可包括表一所示的22個人體關鍵點,詳見前面的實施例,在此不作贅述。
需說明的是,由於人體的姿勢的變化,該當前視頻幀中人體的點位集中可能會丟失某些人體關鍵點,若某些關鍵點發生了丟失(即關鍵點失效),則此時,可以沿用上一次的有效人體關鍵點。
可選的,在得到當前視頻幀中人體的點位集之後,還可以保存該當前視頻幀中人體的點位集,這樣,若後續需要獲取該當前視頻幀中人體的點位集時(該當前視頻幀可以作為後續視頻幀的歷史視頻幀),便可以直接讀取該保存的點位集;即如第3b圖所示,該視頻資料處理裝置還可以包括保存單元306,如下:
該保存單元306,用於保存該當前視頻幀中人體的點位集。
(2)獲取單元302;
獲取單元302,用於獲取歷史視頻幀中人體的點位集。
其中,歷史視頻幀指的是在該視頻流中,以該當前視頻幀為起點,過去預設時間範圍內的視頻幀。
可選的,獲取歷史視頻幀中人體的點位集的方式可以有多種,例如:
該獲取單元302,具體可以用於獲取以該當前視頻幀為起點,過去預設時間範圍內的視頻幀,得到歷史視頻幀,然後,對該歷史視頻幀中的人體關鍵點的位置進行檢測,得到該歷史視頻幀中人體的點位集。
又比如,若在此之前,已保存了歷史視頻幀中人體的點位集,則此時,可以直接讀取該歷史視頻幀中人體的點位集,即:
該獲取單元302,具體可以用於獲取以該當前視頻幀為起點,過去預設時間範圍內的視頻幀,得到歷史視頻幀,確定是否保存了該歷史視頻幀中人體的點位集,若是,則讀取該歷史視頻幀中人體的點位集;若否,則對該歷史視頻幀中的人體關鍵點的位置進行檢測,得到該歷史視頻幀中人體的點位集。
(3)分析單元303;
分析單元303,用於根據該當前視頻幀中人體的點位集和歷史視頻幀中人體的點位集分析當前視頻幀中人體關鍵點的抖動幅度。
例如,該分析單元303可以包括點位獲取子單元和分析子單元,如下:
該點位獲取子單元,用於從該當前視頻幀中人體的點位集中獲取當前視頻幀中人體胯部的點位,以及從該歷史視頻幀中人體的點位集中獲取歷史視頻幀中人體胯部的點位。
該分析子單元,用於根據當前視頻幀中人體胯部的點位和歷史視頻幀中人體胯部的點位分析當前視頻幀中人體關鍵點的抖動幅度。
例如,該分析子單元,具體可以用於根據當前視頻幀中人體胯部的點位計算當前視頻幀中人體的腰線;根據歷史視頻幀中人體胯部的點位計算歷史視頻幀中人體的腰線;計算當前視頻幀中人體的腰線與歷史視頻幀中人體的腰線的距離,得到當前視頻幀中人體關鍵點的抖動幅度。
比如,該分析子單元,具體可以用於計算當前視頻幀中“右胯”點和“左胯”點的平均值,得到當前視頻幀中人體的腰線;以及計算歷史視頻幀中“右胯”點和“左胯”點的平均值,得到歷史視頻幀中人體的腰線;然後,計算該當前視頻幀中人體的腰線與歷史視頻幀中人體的腰線的距離,便可得到當前視頻幀中人體關鍵點的抖動幅度。
(4)確定單元304;
確定單元304,用於根據抖動幅度確定所述當前視頻幀中人體的腰線位置。
例如,該確定單元304,具體可以用於根據抖動幅度確定該當前視頻幀位於穩定態時,採用預設腰線值作為該當前視頻幀的腰線位置;根據抖動幅度確定該當前視頻幀位於非穩定態時,根據當前視頻幀中人體的點位集計算該當前視頻幀的腰線位置。
譬如,該確定單元304,具體可以用於在確定抖動幅度小於預設閾值時,採用預設腰線值作為該當前視頻幀的腰線位置;在確定抖動幅度大於等於預設閾值時,根據當前視頻幀中人體的點位集計算該當前視頻幀的腰線位置。
比如,該確定單元304,具體可以用於在根據抖動幅度確定所述當前視頻幀位於非穩定態時(比如在確定抖動幅度大於等於預設閾值時),從該當前視頻幀中人體的點位集中獲取當前視頻幀中人體胯部的點位,根據當前視頻幀中人體胯部的點位計算當前視頻幀中人體的腰線,根據計算得到的腰線確定該當前視頻幀的腰線位置。
其中,該預設閾值可以根據實際應用的需求進行設置,比如,可以設置上下幀腰線浮動在“10%”之內,為穩定態,而超過“10%”,則為非穩定態,當然,還可以設置當連續X1幀腰線浮動在某個幅度如“10%”之內,則確定為穩定態,而當連續X2幀腰線浮動在某個幅度如“10%”之外,則為非穩定態,等等。其中,該X1和X2也可以根據實際應用的需求而定,比如,X1可以為60幀,X2可以為100幀,等等,在此不作贅述。
(5)拉伸單元305;
拉伸單元305,用於對當前視頻幀中腰線位置以下的人體部分進行拉伸,並輸出拉伸後的當前視頻幀。
例如,該拉伸單元305,具體可以用於根據黃金比例(即腿長為身長的0.618)對當前視頻幀中腰線位置以下的部分進行拉伸,得到結果幀,輸出該結果幀。
由於拉伸後,在拉伸分界線(即腰線位置)上有一明顯的斜率跳變,使得背景顯示較為不自然,影響其圖像顯示效果,因此,可選的,在進行拉伸之後,還可以對該部分的斜率進行平滑處理,以消除該“跳變”,即:
該拉伸單元305,具體可以用於根據黃金比例對當前視頻幀中腰線位置以下的人體部分進行拉伸,對拉伸後當前視頻幀中腰線位置部分的斜率進行平滑處理,得到結果幀,輸出該結果幀。
其中,該平滑處理的策略可以根據實際應用的需求而定,比如,可以在該腰線位置部分設置一過渡帶,比如設置一20%的過渡帶,然後,對該過渡帶內的斜率進行下調,使其拉伸交界處更加平滑和柔和。
可選的,若該當前視頻幀中存在多個人體,則必然會存在多個腰線位置,那麼在拉伸時,可以從中選一腰線位置作為目標腰線位置來進行拉伸,比如,可以選擇位置最高的腰線位置來作為目標腰線位置,等等。即:
該拉伸單元305,具體可以用於從當前視頻幀的多個腰線位置中選擇位置最高的腰線位置作為目標腰線位置,對當前視頻幀中目標腰線位置以下的人體部分進行拉伸並輸出。
例如,該拉伸單元305,具體可以用於根據黃金比例對當前視頻幀中目標腰線位置以下的部分進行拉伸,對拉伸後當前視頻幀中目標腰線位置部分的斜率進行平滑處理,得到結果幀,輸出該結果幀。
此後,拉伸單元305可以返回觸發檢測單元301執行採集當前視頻幀的步驟,以對下一視頻幀進行拉伸,直至視頻採集結束,這樣,便可實現對視頻中的人體進行實時拉伸,比如對視頻中的人體進行長腿的功能。
可選的,由於人體劇烈運動(比如跳舞)時,上下幀之間的點位可能差距較大,可能會造成點位劇烈抖動的問題,因此,為了避免該問題,改善處理效果,在分析人體關鍵點的抖動幅度之前,還可以對這些點位進行平滑處理;即如第3b圖所示,該視頻資料處理裝置還可以包括平滑單元307,如下:
該平滑單元307,用於採用預設點位平滑算法,根據該歷史視頻幀中人體的點位集對該當前視頻幀中人體的點位集進行平滑處理,得到當前視頻幀中人體的平滑後點位集。
則此時,該分析單元,具體用於根據該當前視頻幀中人體的平滑後點位集和歷史視頻幀中人體的點位集分析當前視頻幀中人體關鍵點的抖動幅度。
例如,該平滑單307元,具體可以用於:根據該歷史視頻幀中人體的點位集,在時間維度上對該當前視頻幀中人體的點位集進行平滑處理,得到時間平滑結果;根據該歷史視頻幀中人體的點位集,在空間維度上對該當前視頻幀中人體的點位集進行平滑處理,得到空間平滑結果;根據該歷史視頻幀中人體的點位集,在信賴區間維度上對該當前視頻幀中人體的點位集進行平滑處理,得到信賴區間平滑結果;對該時間平滑結果、空間平滑結果和信賴區間平滑結果進行加權運算,得到當前視頻幀中人體的平滑後點位集,具體可參見前面的方法實施例,在此不作贅述。
具體實施時,以上各個單元可以作為獨立的實體來實現,也可以進行任意組合,作為同一或複數個實體來實現,以上各個單元的具體實施可參見前面的方法實施例,在此不再贅述。
由上可知,本實施例的視頻資料處理裝置在採集到當前視頻幀後,可以由檢測單元301對當前視頻幀中的人體關鍵點的位置進行檢測,得到當前視頻幀中人體的點位集,然後,由獲取單元302獲取歷史視頻幀中人體的點位集,並由分析單元303根據當前視頻幀中人體的點位集和歷史視頻幀中人體的點位集分析當前視頻幀中人體關鍵點的抖動幅度,由確定單元304根據抖動幅度確定當前視頻幀中人體的腰線位置,比如,在根據抖動幅度確定當前視頻幀位於穩定態時,由確定單元304採用預設固定腰線值作為該當前視頻幀的腰線位置,反之,在非穩定態時,則由確定單元304根據當前視頻幀中人體的點位集計算該當前視頻幀的腰線位置,等等,此後,由拉伸單元305對當前視頻幀中腰線位置以下的人體部分進行拉伸並輸出,進而實現對當前幀中人體進行實時長腿的目的;由於該方案只對腰線以下的部分進行拉伸,而且對於抖動幅度不大的視頻幀,採用的是固定腰線,對於抖動幅度較大的視頻幀,才採用靈活的腰線,因此,可以在實現對視頻幀中人體進行實時長腿,改善長腿效果的同時,較大程度保證視頻幀中背景形變的自然平滑,大大提高了實時長腿功能的魯棒性和適應性,有利於提高視頻畫面的顯示效果。
實施例四、
本發明實施例還提供一種網路設備,具體可以為終端,也可以為伺服器,該網路設備可以整合本發明實施例所提供的任一種視頻資料處理裝置。
例如,如第4圖所示,其示出了本發明實施例所涉及的網路設備的結構示意圖,具體來講:
該網路設備可以包括一個或者一個以上處理核心的處理器401、一個或一個以上電腦可讀儲存媒體的儲存器402、電源403和輸入單元404等部件。所屬技術領域具有通常知識者可以理解,第4圖中示出的網路設備結構並不構成對網路設備的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件佈置。其中:
處理器401是該網路設備的控制中心,利用各種連接埠和線路連接整個網路設備的各個部分,透過運行或執行儲存在儲存器402內的軟體程式和/或模組,以及調用儲存在儲存器402內的資料,執行網路設備的各種功能和處理資料,從而對網路設備進行整體監控。可選的,處理器401可包括一個或多個處理核心;優選的,處理器401可整合應用處理器和調製解調處理器,其中,應用處理器主要處理操作系統、用戶介面和應用程式等,調製解調處理器主要處理無線通訊。可以理解的是,上述調製解調處理器也可以不整合到處理器401中。
儲存器402可用於儲存軟體程式以及模組,處理器401透過運行儲存在儲存器402的軟體程式以及模組,從而執行各種功能應用以及資料處理。儲存器402可主要包括儲存程式區和儲存資料區,其中,儲存程式區可儲存操作系統、至少一個功能所需的應用程式(比如聲音播放功能、圖像播放功能等)等;儲存資料區可儲存根據網路設備的使用所創建的資料等。此外,儲存器402可以包括高速隨機存取記憶體,還可以包括非揮發性儲存器,例如至少一個磁碟儲存器件、快閃記憶體器件、或其他揮發性固態儲存器件。相應地,儲存器402還可以包括儲存器控制器,以提供處理器401對儲存器402的訪問。
網路設備還包括給各個部件供電的電源403,優選的,電源403可以透過電源管理系統與處理器401邏輯相連,從而透過電源管理系統實現管理充電、放電、以及功耗管理等功能。電源403還可以包括一個或一個以上的直流或交流電源、再充電系統、電源故障檢測電路、電源轉換器或者逆變器、電源狀態指示器等任意組件。
該網路設備還可包括輸入單元404,該輸入單元404可用於接收輸入的數位或字元訊息,以及產生與用戶設置以及功能控制有關的鍵盤、滑鼠、操作桿、光學或者軌跡球訊號輸入。
儘管未示出,網路設備還可以包括顯示單元等,在此不再贅述。具體在本實施例中,網路設備中的處理器401會按照如下的指令,將一個或一個以上的應用程式的行程對應的可執行檔加載到儲存器402中,並由處理器401來運行儲存在儲存器402中的應用程式,從而實現各種功能,如下:
採集當前視頻幀,並對該當前視頻幀中的人體關鍵點的位置進行檢測,得到當前視頻幀中人體的點位集;獲取歷史視頻幀中人體的點位集,根據該當前視頻幀中人體的點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度;根據抖動幅度確定該當前視頻幀中人體的腰線位置,比如,根據抖動幅度確定該當前視頻幀位於穩定態時,採用預設腰線值作為該當前視頻幀的腰線位置;根據抖動幅度確定該當前視頻幀位於非穩定態時,根據當前視頻幀的點位集計算該當前視頻幀的腰線位置,等等;然後,對當前視頻幀中腰線位置以下的人體部分進行拉伸,並輸出拉伸後的當前視頻幀。
例如,具體可以從該當前視頻幀中人體的點位集中獲取當前視頻幀中人體胯部的點位,以及從該歷史視頻幀中人體的點位集中獲取歷史視頻幀中人體胯部的點位,然後,根據當前視頻幀中人體胯部的點位和歷史視頻幀中人體胯部的點位,分析當前視頻幀中人體關鍵點的抖動幅度,在確定該抖動幅度是否小於預設閾值,若是,則確定該當前視頻幀位於穩定態,若否,則確定該當前視頻幀位於非穩定態。
其中,該預設閾值可以根據實際應用的需求進行設置,在此不作贅述。
可選的,由於人體劇烈運動(比如跳舞)時,上下幀之間的點位可能差距較大,可能會造成點位劇烈抖動的問題,因此,為了避免該問題,改善處理效果,在分析人體關鍵點的抖動幅度之前,還可以對這些點位進行平滑處理;即處理器401還可以運行儲存在儲存器402中的應用程式,從而實現以下功能:
採用預設點位平滑算法,根據該歷史視頻幀中人體的點位集對該當前視頻幀中人體的點位集進行平滑處理,得到當前視頻幀中人體的平滑後點位集。
這樣,後續便可以根據該當前視頻幀中人體的平滑後點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度。
比如,具體可以從該當前視頻幀中人體的平滑後點位集中獲取當前視頻幀中人體胯部的點位,以及從該歷史視頻幀中人體的點位集中獲取歷史視頻幀中人體胯部的點位,然後,根據當前視頻幀中人體胯部的點位和歷史視頻幀中人體胯部的點位,分析當前視頻幀中人體關鍵點的抖動幅度,等等。
可選的,該點位平滑算法可以根據實際應用的需求進行設置,比如,具體可以從時間、空間和信賴區間等維度對該當前視頻幀中人體的點位集進行平滑處理,詳見前面的實施例,在此不再贅述。
在對當前視頻幀進行拉伸並輸出之後,可以返回執行採集當前視頻幀的操作,以對下一視頻幀進行拉伸,直至視頻採集結束,這樣,便可實現對視頻中的人體進行實時拉伸,比如對視頻中的人體進行長腿的功能。
以上各個操作的具體實施可參見前面的實施例,在此不作贅述。
由上可知,本實施例的網路設備在採集到當前視頻幀後,可以對當前視頻幀中的人體關鍵點的位置進行檢測,得到當前視頻幀中人體的點位集,然後,獲取歷史視頻幀中人體的點位集,並根據當前視頻幀中人體的點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度,在根據抖動幅度確定當前視頻幀位於穩定態時,採用預設固定腰線值作為該當前視頻幀的腰線位置,反之,在非穩定態時,則根據當前視頻幀中人體的點位集計算該當前視頻幀的腰線位置,此後,對當前視頻幀中腰線位置以下的人體部分進行拉伸並輸出,進而實現對當前幀中人體進行實時長腿的目的;由於該方案只對腰線以下的部分進行拉伸,而且對於抖動幅度不大的視頻幀,採用的是固定腰線,對於抖動幅度較大的視頻幀,才採用靈活的腰線,因此,可以在實現對視頻幀中人體進行實時長腿,改善長腿效果的同時,較大程度保證視頻幀中背景形變的自然平滑,大大提高了實時長腿功能的魯棒性和適應性,有利於提高視頻畫面的顯示效果。
實施例五、
所屬技術領域具有通常知識者可以理解,上述實施例的各種方法中的全部或部分步驟可以透過指令來完成,或透過指令控制相關的硬體來完成,該指令可以儲存於一電腦可讀儲存媒體中,並由處理器進行加載和執行。
為此,本發明實施例提供一種儲存媒體,其中儲存有多條指令,該指令能夠被處理器進行加載,以執行本發明實施例所提供的任一種視頻資料處理方法中的步驟。例如,該指令可以執行如下步驟:
從視頻流中採集當前視頻幀,並對該當前視頻幀中的人體關鍵點的位置進行檢測,得到當前視頻幀中人體的點位集;獲取歷史視頻幀中人體的點位集,根據該當前視頻幀中人體的點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度;根據抖動幅度確定該當前視頻幀中人體的腰線位置,比如,根據抖動幅度確定該當前視頻幀位於穩定態時,採用預設腰線值作為該當前視頻幀的腰線位置;根據抖動幅度確定該當前視頻幀位於非穩定態時,根據當前視頻幀中人體的點位集計算該當前視頻幀的腰線位置,等等;然後u,對當前視頻幀中腰線位置以下的人體部分進行拉伸,並輸出拉伸後的當前視頻幀。
例如,具體可以從該當前視頻幀中人體的點位集中獲取當前視頻幀中人體胯部的點位,以及從該歷史視頻幀中人體的點位集中獲取歷史視頻幀中人體胯部的點位,然後,根據當前視頻幀中人體胯部的點位和歷史視頻幀中人體胯部的點位,分析當前視頻幀中人體關鍵點的抖動幅度,在確定該抖動幅度是否小於預設閾值,若是,則確定該當前視頻幀位於穩定態,若否,則確定該當前視頻幀位於非穩定態。
其中,該預設閾值可以根據實際應用的需求進行設置,在此不作贅述。
可選的,由於人體劇烈運動(比如跳舞)時,上下幀之間的點位可能差距較大,可能會造成點位劇烈抖動的問題,因此,為了避免該問題,改善處理效果,在分析人體關鍵點的抖動幅度之前,還可以對這些點位進行平滑處理;即該指令還可以執行如下步驟:
採用預設點位平滑算法,根據該歷史視頻幀中人體的點位集對該當前視頻幀中人體的點位集進行平滑處理,得到當前視頻幀中人體的平滑後點位集。
這樣,後續便可以根據該當前視頻幀中人體的平滑後點位集和歷史視頻幀中人體的點位集分析當前視頻幀中人體關鍵點的抖動幅度。
可選的,該點位平滑算法可以根據實際應用的需求進行設置,比如,具體可以從時間、空間和信賴區間等維度對該當前視頻幀中人體的點位集進行平滑處理,詳見前面的實施例,在此不再贅述。
在對當前視頻幀進行拉伸並輸出之後,可以返回執行採集當前視頻幀的操作,以對下一視頻幀進行拉伸,直至視頻採集結束,這樣,便可實現對視頻中的人體進行實時拉伸,比如對視頻中的人體進行長腿的功能。
以上各個操作的具體實施可參見前面的實施例,在此不再贅述。
其中,該儲存媒體可以包括:唯讀記憶體(Read Only Memory,ROM)、隨機存取記憶體(Random Access Memory,RAM)、磁碟或光碟等。
由於該儲存媒體中所儲存的指令,可以執行本發明實施例所提供的任一種一種視頻資料處理方法中的步驟,因此,可以實現本發明實施例所提供的任一種視頻資料處理方法所能實現的有益效果,詳見前面的實施例,在此不再贅述。
以上對本發明實施例所提供的一種視頻資料處理方法、裝置和儲存媒體進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想;同時,對於所屬技術領域具有通常知識者,依據本發明的思想,在具體實施方式及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
0‧‧‧鼻尖 1‧‧‧脖子(華蓋穴) 2‧‧‧右肩 3‧‧‧右手肘 4‧‧‧右手腕 5‧‧‧左肩 6‧‧‧左手肘 7‧‧‧左手腕 8‧‧‧右胯 9‧‧‧右膝蓋 10‧‧‧右腳踝 11‧‧‧左胯 12‧‧‧左膝蓋 13‧‧‧左腳踝 14‧‧‧右眼 15‧‧‧左眼 16‧‧‧右耳 17‧‧‧左耳 18‧‧‧右手心 19‧‧‧左手心 20‧‧‧右腳尖 21‧‧‧左腳尖 101~105‧‧‧步驟 201~211‧‧‧步驟 301‧‧‧檢測單元 302‧‧‧獲取單元 303‧‧‧分析單元 304‧‧‧確定單元 305‧‧‧拉伸單元 306‧‧‧保存單元 307‧‧‧平滑單元 401‧‧‧處理器 402‧‧‧儲存器 403‧‧‧電源 404‧‧‧輸入單元
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的圖式作簡單地介紹,顯而易見地,下面描述中的圖式僅僅是本發明的一些實施例,對於所屬技術領域具有通常知識者來講,在不付出創造性勞動的前提下,還可以根據這些圖式獲得其他的圖式。 [第1a圖]是本發明實施例提供的視頻資料處理方法的場景示意圖; [第1b圖]是本發明實施例提供的視頻資料處理方法的流程圖; [第1c圖]是本發明實施例提供的視頻資料處理方法中人體關鍵點的示意圖; [第2a圖]是本發明實施例提供的視頻資料處理方法的另一流程圖; [第2b圖]是本發明實施例提供的視頻資料處理方法中人體關鍵點位置檢測的示意圖; [第2c圖]是本發明實施例提供的方法中拉伸區域斜率變化示意圖; [第2d圖]是本發明實施例提供的方法中平滑後的拉伸區域斜率變化示意圖; [第2e圖]是本發明實施例提供的視頻資料處理方法中拉伸前後的示例圖; [第2f圖]是本發明實施例提供的視頻資料處理方法的用戶介面示例圖; [第3a圖]是本發明實施例提供的視頻資料處理裝置的結構示意圖; [第3b圖]是本發明實施例提供的視頻資料處理裝置的另一結構示意圖; [第4圖]是本發明實施例提供的網路設備的結構示意圖。
101~105‧‧‧步驟

Claims (15)

  1. 一種視頻資料處理方法,包括:從視頻流中採集當前視頻幀,並對所述當前視頻幀中的人體關鍵點的位置進行檢測,得到當前視頻幀中人體的點位集;獲取歷史視頻幀中人體的點位集,所述歷史視頻幀為在所述視頻流中,以所述當前視頻幀為起點,過去預設時間範圍內的視頻幀;根據所述當前視頻幀中人體的點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度;根據抖動幅度確定所述當前視頻幀中人體的腰線位置;以及對當前視頻幀中腰線位置以下的人體部分進行拉伸,並輸出拉伸後的當前視頻幀,其中所述根據抖動幅度確定所述當前視頻幀中人體的腰線位置,包括:根據抖動幅度確定所述當前視頻幀位於穩定態時,採用預設腰線值作為所述當前視頻幀中人體的腰線位置;以及根據抖動幅度確定所述當前視頻幀位於非穩定態時,根據當前視頻幀中人體的點位集計算所述當前視頻幀中人體的腰線位置。
  2. 如請求項1所述之方法,其中所述對所述當前視頻幀中的人體關鍵點的位置進行檢測,得到當前視頻幀中人體的點位集,包括:採用姿勢估計模型對所述當前視頻幀中的人體關鍵點的位置進行檢測,得到當前視頻幀中人體的點位集。
  3. 如請求項1所述之方法,其中所述得到當前視頻幀中人體的點位集之後,所述方法還包括:保存所述當前視頻幀中人體的點位集。
  4. 如請求項3所述之方法,其中所述獲取歷史視頻幀中人體的點位集,包括:獲取以所述當前視頻幀為起點,過去預設時間範圍內的視頻幀,得到歷史視頻幀;確定是否保存了所述歷史視頻幀中人體的點位集;若是,則讀取所述歷史視頻幀中人體的點位集;以及若否,則對所述歷史視頻幀中的人體關鍵點的位置進行檢測,得到所述歷史視頻幀中人體的點位集。
  5. 如請求項1至4任一項所述之方法,其中所述根據所述當前視頻幀中人體的點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度,包括:從所述當前視頻幀中人體的點位集中獲取當前視頻幀中人體胯部的點位;從所述歷史視頻幀中人體的點位集中獲取歷史視頻幀中人體胯部的點位;以及根據當前視頻幀中人體胯部的點位和歷史視頻幀中人體胯部的點位,分析當前視頻幀中人體關鍵點的抖動幅度。
  6. 如請求項5所述之方法,其中所述根據當前視頻幀中人體胯部的點位和歷史視頻幀中人體胯部的點位,分析當前視頻幀中各個人體關鍵點的抖動幅度,包括:根據當前視頻幀中人體胯部的點位計算當前視頻幀中人體的腰線;根據歷史視頻幀中人體胯部的點位計算歷史視頻幀中人體的腰線;計算當前視頻幀中人體的腰線與歷史視頻幀中人體的腰線的距離,得到當前視頻幀中人體關鍵點的抖動幅度。
  7. 如請求項1至4任一項所述之方法,其中根據抖動幅度確定所述當前視頻幀是否位於穩定態,包括:確定抖動幅度是否小於預設閾值;若是,則確定所述當前視頻幀位於穩定態;以及若否,則確定所述當前視頻幀位於非穩定態。
  8. 如請求項1至4任一項所述之方法,其中所述根據當前視頻幀中人體的點位集計算所述當前視頻幀的腰線位置,包括:從所述當前視頻幀中人體的點位集中獲取當前視頻幀中人體胯部的點位;根據當前視頻幀中人體胯部的點位計算當前視頻幀中人體的腰線;以及根據計算得到的腰線確定所述當前視頻幀的腰線位置。
  9. 如請求項1至4任一項所述之方法,其中所述根據所述當前視頻幀中人體的點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度之前,所述方法還包括:採用預設點位平滑算法,根據所述歷史視頻幀中人體的點位集對所述當前視頻幀中人體的點位集進行平滑處理,得到當前視頻幀中人體的平滑後點位集;其中所述根據所述當前視頻幀中人體的點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度,包括根據所述當前視頻幀中人體的平滑後點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度。
  10. 如請求項9所述之方法,其中所述採用預設點位平滑算法,根據所述歷史視頻幀中人體的點位集對所述當前視頻幀中人體的點位集進行平滑處理,得到當前視頻幀中人體的平滑後點位集,包括:根據所述歷史視頻幀中人體的點位集,在時間維度上對所述當前視頻幀中人體的點位集進行平滑處理,得到時間平滑結果; 根據所述歷史視頻幀中人體的點位集,在空間維度上對所述當前視頻幀中人體的點位集進行平滑處理,得到空間平滑結果;根據所述歷史視頻幀中人體的點位集,在信賴區間(Confidence Interval)維度上對所述當前視頻幀中人體的點位集進行平滑處理,得到信賴區間平滑結果;以及對所述時間平滑結果、空間平滑結果和信賴區間平滑結果進行加權運算,得到當前視頻幀中人體的平滑後點位集。
  11. 如請求項1至4任一項所述之方法,其中所述當前幀存在多個腰線位置,所述對當前視頻幀中腰線位置以下的人體部分進行拉伸,並輸出拉伸後的當前視頻幀,包括:從當前視頻幀的多個腰線位置中選擇位置最高的腰線位置作為目標腰線位置;以及對當前視頻幀中目標腰線位置以下的人體部分進行拉伸,並輸出拉伸後的當前視頻幀。
  12. 如請求項11所述之方法,其中所述對當前視頻幀中目標腰線位置以下的人體部分進行拉伸,並輸出拉伸後的當前視頻幀包括:根據黃金比例對當前視頻幀中目標腰線位置以下的人體部分進行拉伸;對拉伸後當前視頻幀中目標腰線位置部分的斜率進行平滑處理,得到結果幀;以及輸出所述結果幀。
  13. 一種視頻資料處理裝置,包括:檢測單元,用於從視頻流中採集當前視頻幀,並對所述當前視頻幀中的人體關鍵點的位置進行檢測,得到當前視頻幀中人體的點位集; 獲取單元,用於獲取歷史視頻幀中人體的點位集,所述歷史視頻幀為在所述視頻流中,以所述當前視頻幀為起點,過去預設時間範圍內的視頻幀;分析單元,用於根據所述當前視頻幀中人體的點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度;確定單元,用於根據抖動幅度確定所述當前視頻幀中人體的腰線位置;以及拉伸單元,用於對當前視頻幀中腰線位置以下的人體部分進行拉伸,並輸出拉伸後的當前視頻幀,其中所述確定單元用於根據抖動幅度確定所述當前視頻幀位於穩定態時,採用預設腰線值作為所述當前視頻幀中人體的腰線位置;以及根據抖動幅度確定所述當前視頻幀位於非穩定態時,根據當前視頻幀中人體的點位集計算所述當前視頻幀中人體的腰線位置。
  14. 如請求項13所述之裝置,還包括:平滑單元,用於採用預設點位平滑算法,根據所述歷史視頻幀中人體的點位集對所述當前視頻幀中人體的點位集進行平滑處理,得到當前視頻幀中人體的平滑後點位集,其中所述分析單元用於根據所述當前視頻幀中人體的平滑後點位集和歷史視頻幀中人體的點位集,分析當前視頻幀中人體關鍵點的抖動幅度。
  15. 一種儲存媒體,所述儲存媒體儲存有多條指令,所述指令適於處理器進行加載,以執行請求項1至12任一項所述的視頻資料處理方法。
TW108123647A 2018-07-04 2019-07-04 視頻資料處理方法、裝置和儲存媒體 TWI702822B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810721857.0A CN108898118B (zh) 2018-07-04 2018-07-04 一种视频数据处理方法、装置和存储介质
CN201810721857.0 2018-07-04

Publications (2)

Publication Number Publication Date
TW202007143A TW202007143A (zh) 2020-02-01
TWI702822B true TWI702822B (zh) 2020-08-21

Family

ID=64348176

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108123647A TWI702822B (zh) 2018-07-04 2019-07-04 視頻資料處理方法、裝置和儲存媒體

Country Status (4)

Country Link
US (1) US11461876B2 (zh)
CN (1) CN108898118B (zh)
TW (1) TWI702822B (zh)
WO (1) WO2020007183A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108898118B (zh) * 2018-07-04 2023-04-18 腾讯科技(深圳)有限公司 一种视频数据处理方法、装置和存储介质
CN109583391B (zh) * 2018-12-04 2021-07-16 北京字节跳动网络技术有限公司 关键点检测方法、装置、设备及可读介质
CN109670474B (zh) * 2018-12-28 2023-07-25 广东工业大学 一种基于视频的人体姿态估计方法、装置及设备
CN110047118B (zh) * 2019-04-08 2023-06-27 腾讯科技(深圳)有限公司 视频生成方法、装置、计算机设备及存储介质
CN111985268B (zh) * 2019-05-21 2024-08-06 北京搜狗科技发展有限公司 一种人脸驱动动画的方法和装置
CN110170167B (zh) * 2019-05-28 2023-02-28 上海米哈游网络科技股份有限公司 一种画面显示方法、装置、设备及介质
CN112019868A (zh) * 2019-05-31 2020-12-01 广州虎牙信息科技有限公司 人像分割方法、装置及电子设备
CN110288554B (zh) * 2019-06-29 2022-09-16 北京字节跳动网络技术有限公司 视频美化方法、装置及电子设备
CN111028346B (zh) * 2019-12-23 2023-10-10 北京奇艺世纪科技有限公司 一种视频对象的重建方法和装置
CN111935491B (zh) * 2020-06-28 2023-04-07 百度在线网络技术(北京)有限公司 直播的特效处理方法、装置以及服务器
US11961333B2 (en) * 2020-09-03 2024-04-16 Board Of Trustees Of Michigan State University Disentangled representations for gait recognition
CN112183309B (zh) * 2020-09-25 2024-05-28 咪咕文化科技有限公司 人脸关键点处理方法、系统、终端及存储介质
CN113873175B (zh) * 2021-09-15 2024-03-15 广州繁星互娱信息科技有限公司 视频播放方法、装置和存储介质及电子设备
CN114494534B (zh) * 2022-01-25 2022-09-27 成都工业学院 基于动作点捕捉分析的帧动画自适应显示方法及系统
CN114821717B (zh) * 2022-04-20 2024-03-12 北京百度网讯科技有限公司 目标对象融合方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106034203A (zh) * 2015-03-11 2016-10-19 维科技术有限公司 拍摄终端的图像处理方法及其装置
CN107967693A (zh) * 2017-12-01 2018-04-27 北京奇虎科技有限公司 视频关键点处理方法、装置、计算设备及计算机存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9165199B2 (en) * 2007-12-21 2015-10-20 Honda Motor Co., Ltd. Controlled human pose estimation from depth image streams
US8520975B2 (en) * 2009-10-30 2013-08-27 Adobe Systems Incorporated Methods and apparatus for chatter reduction in video object segmentation using optical flow assisted gaussholding
JP5582171B2 (ja) * 2012-06-15 2014-09-03 フリュー株式会社 画像処理装置および方法、並びにプログラム
CN104750234B (zh) * 2013-12-27 2018-12-21 中芯国际集成电路制造(北京)有限公司 可穿戴智能设备及可穿戴智能设备的互动方法
CN104156912B (zh) * 2014-08-18 2018-11-06 厦门美图之家科技有限公司 一种人像增高的图像处理的方法
US9582860B2 (en) * 2015-07-24 2017-02-28 Google Inc. Temporally smooth video enhancement
JP6685094B2 (ja) * 2015-07-30 2020-04-22 加賀デバイス株式会社 画像処理装置、画像処理方法及びコンピュータプログラム
CN105516589B (zh) * 2015-12-07 2018-07-03 凌云光技术集团有限责任公司 基于人脸识别的智能曝光方法及系统
EP3408836A1 (en) * 2016-01-29 2018-12-05 Max-Planck-Gesellschaft zur Förderung der Wissenschaften e.V. Crowdshaping realistic 3d avatars with words
KR20180017978A (ko) * 2016-08-12 2018-02-21 천봉우 중환자용 바지
CN107016357B (zh) * 2017-03-23 2020-06-16 北京工业大学 一种基于时间域卷积神经网络的视频行人检测方法
CN107335192A (zh) * 2017-05-26 2017-11-10 深圳奥比中光科技有限公司 运动辅助训练方法、装置及存储装置
CN107734207B (zh) * 2017-09-28 2020-02-25 北京奇虎科技有限公司 视频对象变换处理方法、装置及计算设备
CN107704829B (zh) * 2017-10-09 2019-12-03 武汉斗鱼网络科技有限公司 一种人脸关键点追踪方法及应用和装置
CN108898118B (zh) * 2018-07-04 2023-04-18 腾讯科技(深圳)有限公司 一种视频数据处理方法、装置和存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106034203A (zh) * 2015-03-11 2016-10-19 维科技术有限公司 拍摄终端的图像处理方法及其装置
CN107967693A (zh) * 2017-12-01 2018-04-27 北京奇虎科技有限公司 视频关键点处理方法、装置、计算设备及计算机存储介质

Also Published As

Publication number Publication date
US11461876B2 (en) 2022-10-04
WO2020007183A1 (zh) 2020-01-09
US20200372613A1 (en) 2020-11-26
CN108898118B (zh) 2023-04-18
TW202007143A (zh) 2020-02-01
CN108898118A (zh) 2018-11-27

Similar Documents

Publication Publication Date Title
TWI702822B (zh) 視頻資料處理方法、裝置和儲存媒體
WO2021031915A1 (zh) 一种智能录像方法和装置
US8213678B2 (en) System and method of analyzing the movement of a user
WO2021004285A1 (zh) 人眼闭合程度的确定方法、眼睛控制方法、装置、设备和存储介质
WO2021042364A1 (zh) 拍摄图像的方法和装置
US9517383B2 (en) Method of displaying multimedia exercise content based on exercise amount and multimedia apparatus applying the same
CN109194879A (zh) 拍照方法、装置、存储介质及移动终端
CN109922266B (zh) 应用于视频拍摄的抓拍方法及系统、摄像机及存储介质
US9324158B2 (en) Image processing device for performing image processing on moving image
CN104574285B (zh) 一种自动祛除图像黑眼圈的方法
CN111601040B (zh) 摄像头控制方法、装置及电子设备
CN107835359A (zh) 一种移动终端的拍照触发方法、移动终端及存储设备
CN112988010B (zh) 图像处理方法、装置、电子设备和存储介质
BR112016010408B1 (pt) Dispositivo de usuário e meio legível por computador
CN108633249A (zh) 一种生理信号质量判断方法及装置
WO2014161109A1 (zh) 一种基于综合增益的高动态范围图像视频处理方法
WO2022135574A1 (zh) 肤色检测方法、装置、移动终端和存储介质
CN113239220A (zh) 图像推荐方法、装置、终端及可读存储介质
CN111277751A (zh) 拍照方法、装置、存储介质及电子设备
US8199978B2 (en) Method for image auto-selection and computer system thereof
CN113313009A (zh) 连拍的输出图像方法、装置、终端及可读存储介质
CN106201712B (zh) 增强现实中目标识别频率的调整方法、装置及移动终端
CN116721468A (zh) 一种基于多人姿态估计动作幅度检测的智能导播切换方法
CN111104905A (zh) 坐姿调整方法、装置、电子设备及存储介质
WO2021233051A1 (zh) 干扰提示方法和设备