本發(fā)明涉及視覺監(jiān)控、數(shù)字圖像處理等技術(shù)領(lǐng)域,具體涉及基于時空濾波和聯(lián)合空間kmeans的手指運動檢測與定位方法。
背景技術(shù):
鋼琴(或其他鍵盤樂器)演奏者正確的指法對于靈活的演奏和詮釋音樂至關(guān)重要。良好的指法能體現(xiàn)演奏者對作曲家風格特征、作品內(nèi)容的理解和詮釋,同時能節(jié)省精力、時間,提高演奏效率。演奏指法雖有一般規(guī)律,但不同曲目指法的非固定性給初學(xué)者的指法練習(xí)和對音樂大師的指法模仿增加了難度。人工記錄指法不僅需要較高的音樂修養(yǎng),同時耗時耗力。因此,實現(xiàn)機器自動智能地識別指法成為指法研究和學(xué)習(xí)的必然趨勢。
其中,指法識別的關(guān)鍵在于運動目標檢測和運動目標定位的有機結(jié)合。
常用的運動目標檢測方法包括:背景建模法、幀差法和光流法。
1)背景建模法:假定沒有入侵物體的靜態(tài)場景具有一些常規(guī)特性,并用統(tǒng)計模型的加權(quán)和混合在一起來模擬背景模型。一旦已知背景模型,入侵物體就能通過標出場景圖像中不符合這一背景模型的部分檢測到。常用的背景建模方法包括:單高斯模型、混合高斯模型、核密度估計等。這些方法雖能夠得到比較精確的運動目標區(qū)域,但計算量相對較大,速度偏慢,對光照變化、背景變動敏感。
2)幀差法:通過相鄰幀間的時間差分來提取圖像中的運動區(qū)域。雖然幀差法運算速度較快,穩(wěn)定性較好,但是當手指運動速度較慢的時候,兩幀之間運動目標像素十分接近的重合部分無法檢測出來。
3)光流法:利用運動目標隨時間變化的光流特性進行運動檢測,雖然不需要背景建模,在無法預(yù)先獲得場景任何信息的情況下,也能檢測出獨立的運動對象。但其計算復(fù)雜,需要特殊的硬件裝置,很難滿足實時性要求,同時運動邊界、運動遮擋、多運動(其中包括透明、半透明運動)等問題也是光流法的瓶頸。
同時運動目標定位方法通常基于邊緣檢測。邊緣檢測以精確的目標輪廓表示代替簡化的定位信息,但是邊緣檢測在指法復(fù)雜或兩個及以上手指的標簽有重疊部分時,邊緣檢測會丟失大量信息,甚至將兩個運動目標判斷為一個。且因邊緣檢測只能定位無法分類造成手指無法與檢測出的輪廓正確匹配。同時邊緣檢測受背景影響較大,沒有過濾功能,噪聲點也會被檢測出來而干擾手指的定位。
因此針對演奏指法識別應(yīng)用場景下,上述運動目標檢測和定位方法存在的各種問題,例如:低速運動目標漏檢、難以分類導(dǎo)致手指無法與定位正確匹配、噪聲干擾嚴重,本發(fā)明提出基于時空濾波和聯(lián)合空間kmeans的手指運動檢測與定位方法,通過分析演奏者手指彈奏鋼琴(或其他鍵盤樂器)的視頻來實現(xiàn)演奏指法識別。本發(fā)明運動目標檢測采用時空濾波的方法,可以克服光照變化和背景變動的影響,有效避免低速運動目標的漏檢;運動目標定位使用聯(lián)合空間kmeans方法可以充分利用圖像的統(tǒng)計特性進行自適應(yīng)判決,提高定位和聚類的準確性。
技術(shù)實現(xiàn)要素:
本方法的目的在于克服現(xiàn)有運動目標檢測和定位方法應(yīng)用于演奏指法識別場景的不足,提出基于時空域濾波和聯(lián)合空間kmeans的手指運動檢測與定位方法。
為了達到以上目的,本發(fā)明所述的基于時空濾波和聯(lián)合空間kmeans的手指運動檢測與定位方法由貼標簽和拍攝視頻、運動目標檢測、運動目標定位三個模塊組成。
上述貼標簽和拍攝視頻模塊用于生成后續(xù)模塊處理的視頻文件,首先將演奏者手指貼上十種不同顏色(除黑、白外)的標簽,然后在演奏者正常彈奏鋼琴同時將演奏過程拍攝成視頻。
上述運動目標檢測模塊用于運動目標檢測,采用時空濾波的方法。首先對輸入視頻幀進行空域濾波,得到準確的運動目標區(qū)域。然后將空域濾波結(jié)果反饋指導(dǎo)時域帶通濾波結(jié)果和時域低通濾波結(jié)果在前景(手指運動)位置和后景位置進行空域重組完成動態(tài)背景更新,可以克服光照變化、攝像機抖動和背景變動的影響,有效避免手指低速運動時的運動目標漏檢。將手指運動目標檢測結(jié)果從rgb空間(色彩空間)轉(zhuǎn)換到y(tǒng)crcb、hsv空間(顏色空間)進行帶通濾波,去掉膚色和陰影,并通過前景閾值判斷,提取標簽。
目標運動檢測的具體實現(xiàn)步驟如圖2所示。
步驟1:空域濾波,包括以下步驟:
1.1搜索運動目標區(qū)域。當前輸入視頻幀與背景圖像進行空間域逐像素點比較來搜索運動目標區(qū)域。
1.2確定前景和后景。運動目標區(qū)域置為當前視頻輸入幀相應(yīng)位置的像素點,后景區(qū)域的像素點置為白(在rgb空間,白為(255,255,255))。
1.3反饋前景和后景。將前景(運動目標區(qū)域)和后景反饋用于下一幀的背景更新。
步驟2:動態(tài)背景更新,包括以下步驟:
2.1空域濾波結(jié)果反饋。將上一次空域濾波結(jié)果反饋指導(dǎo)動態(tài)背景更新。判斷當前輸入視頻幀是否為第2幀圖像。若當前輸入幀是第2幀,背景不更新,直接以第一幀圖像作為背景;若當前輸入幀非第2幀,則進行下一步操作。
2.2空域重組。時域帶通濾波結(jié)果和時域低通濾波結(jié)果在前景(手指運動)位置和后景位置進行空域重組完成背景更新。
步驟3:提取標簽,包括以下步驟:
3.1去除膚色。將rgb空間轉(zhuǎn)換至ycrcb空間,判斷坐標(cr,cb)是否在膚色橢圓模型內(nèi)。若某像素點在膚色橢圓模型內(nèi),即將該像素點置為白。
3.2去除陰影。將rgb空間轉(zhuǎn)換至hsv空間,對v分量直方圖進行帶通濾波。
3.3判斷標簽。在hsv空間,計算s分量的前景平均閾值,將提取的運動目標中s分量小于前景飽和度平均閾值的像素點置為白。
上述運動目標定位模塊用于定位運動目標,采用聯(lián)合空間kmeans方法。聯(lián)合空間kmeans不僅可以定位,而且可以分類,從而實現(xiàn)不同手指與標簽分類的正確匹配,有效避免顏色重疊、指法復(fù)雜和噪聲點干擾造成的定位錯誤。首先判斷r、g、b三個分量直方圖低通濾波后的波峰,自適應(yīng)決定聚類數(shù)目k的大小,使分類更加準確和智能。然后利用直方圖的統(tǒng)計特性自適應(yīng)初始化聚類,可以避免陷入局部最優(yōu)的情況,加快迭代收斂的速度,提高算法的效率與準確度。進行色彩空間(r、g、b)和幾何空間(x、y)聯(lián)合5維kmeans可以充分利用相同顏色像素點位置接近的先驗知識,提高了聚類和定位的準確性。并將聚類中心進行隨機擾動和模擬退火,在避免陷入局部最優(yōu)的同時盡可能提高算法穩(wěn)定性。最后對聚類結(jié)果進行分類和定位,確定每一幀畫面手指在鍵盤上的相應(yīng)位置,從而獲得演奏者的指法。
目標運動定位的具體實現(xiàn)步驟如圖3所示。
步驟1:聯(lián)合空間自適應(yīng)kmeans,包括以下步驟:
1.1統(tǒng)計r、g、b直方圖特性。將運動目標檢測結(jié)果r、g、b三個分量直方圖進行低通濾波,自適應(yīng)判斷直方圖波峰。
1.2自適應(yīng)決定聚類數(shù)目k。取r、g、b直方圖最大波峰個數(shù)來作為聯(lián)合空間kmeans的聚類數(shù)目。
1.3自適應(yīng)聚類初始化。利用r、g、b直方圖波峰位置來初始化聚類中心。
1.4迭代直至收斂。重復(fù)下列操作,直至收斂:(a)分別計算k個類的類中心。第k(1≤k≤k)類的類中心是第k類中5維觀測(r,g,b,x,y)向量的均值向量。(b)將每個觀測分配到距離最近的類中心所在的類中(用歐式距離來定義“最近”)。
步驟2:隨機擾動和模擬退火,包括以下步驟:
2.1計算每一類的5維擾動半徑。取每一類類中心距該類所有點最遠的距離作為擾動半徑rk(五維矢量,k為聚類數(shù)目)。
2.2隨機擾動。取-1~1之間的隨機數(shù)random0,將類中心進行rk*random0的擾動。將類中心擾動后的結(jié)果作為新的初始化類中心,重新進行聯(lián)合空間自適應(yīng)kmeans。計算新的目標函數(shù)與當前目標函數(shù)差值δj=j(luò)'-j。若δj<0,則接受新解作為當前解,并更新擾動半徑。所述目標函數(shù)為kmeans中的目標函數(shù)。
2.3模擬退火。將參與擾動的隨機數(shù)修正為random0*a-t,其中a為退火速度,a>1,t為退火次數(shù),繼續(xù)進行2.1和2.2的操作。
步驟3:指法識別,包括以下步驟:
3.1運動目標定位。通過聯(lián)合空間自適應(yīng)kmeans聚類中心的坐標,確定每一視頻幀手指在鍵盤上的相應(yīng)位置從而獲得指法。
3.2指法輸出。將每一視頻幀的指法統(tǒng)一保存在csv中用于后續(xù)的指法學(xué)習(xí)和研究。
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點和技術(shù)效果:
1)本發(fā)明在運動目標檢測中將空域濾波結(jié)果反饋指導(dǎo)動態(tài)背景更新,使更新的背景最接近于空域濾波輸入視頻幀的背景,相比于常用的運動目標檢測技術(shù)可以克服光照變化、攝像機抖動和背景變動的影響,有效避免了背景的退化和手指低速運動時的運動目標漏檢,利于運動目標的檢測和提取。
2)本發(fā)明在運動目標檢測中采用空域濾波的方法,通過輸入視頻幀與背景圖像進行空間域逐像素點比較來確定運動目標,相比于常用的運動目標檢測技術(shù)能夠得到更加精確的運動目標區(qū)域。
3)本發(fā)明在運動目標定位中使用聯(lián)合空間自適應(yīng)kmeans方法,將定位與自適應(yīng)聚類相結(jié)合,從而實現(xiàn)不同手指與標簽分類的正確匹配,有效避免顏色重疊、指法復(fù)雜和噪聲點干擾造成的定位錯誤。采用色彩空間(r、g、b)和幾何空間(x、y)聯(lián)合5維kmeans可以充分利用相同顏色像素點位置接近的先驗知識,提高了聚類和定位的準確性。
4)本發(fā)明在運動目標定位的聯(lián)合空間kmeans方法中,根據(jù)r、g、b三個分量直方圖低通濾波后波峰數(shù)目的最大值,自適應(yīng)決定聚類數(shù)目k的大小,使分類更加準確和智能。利用直方圖的統(tǒng)計特性自適應(yīng)初始化聚類,可以避免陷入局部最優(yōu)的情況,加快迭代收斂的速度,提高算法的效率與準確度。
綜上,本發(fā)明能夠克服現(xiàn)有運動目標檢測和定位方法應(yīng)用于演奏指法識別場景的不足,具有對光照和背景變化不敏感、計算復(fù)雜度低、收斂速度快、定位準確度高、實時性能好等優(yōu)點,同時適當?shù)丶右愿脑炜蓮V泛用于手勢識別及其它領(lǐng)域。
附圖說明
圖1為本發(fā)明所述基于時空濾波和聯(lián)合空間kmeans的手指運動檢測與定位方法的總體流程圖;
圖2為本發(fā)明所述運動目標檢測模塊的流程圖;
圖3為本發(fā)明所述運動目標定位模塊的流程圖。
具體實施方式
本發(fā)明首先將演奏者手指貼上十種不同顏色(除黑、白外)的標簽,拍攝演奏者手指彈奏鋼琴的視頻。
然后,對上述視頻做運動目標檢測處理。首先對輸入的視頻幀,用時空濾波的方法確定手指運動區(qū)域,提取標簽??沼驗V波通過輸入視頻幀與背景圖像進行空間域逐像素點比較來檢測運動目標,從而獲得比較精確的運動目標區(qū)域。然后將空域濾波結(jié)果反饋指導(dǎo)動態(tài)背景更新,使更新的背景最接近空域濾波輸入視頻幀的背景,有效避免了背景的退化,利于運動目標的檢測和提取。在ycrcb空間,皮膚信息在crcb二維平面上的投影近似成橢圓分布,通過判斷坐標(cr,cb)是否在膚色橢圓模型內(nèi),來去除手指運動目標上的膚色像素點。運動目標提取中不可避免的會帶有陰影像素點,在hsv空間,明度v表示顏色明亮的程度,越暗則v越小。陰影相對于手指運動目標的其他部分來說,明度最小,通過對v分量直方圖的帶通濾波即可去除陰影。s表示顏色的飽和度,顏色深而艷,則飽和度越高。標簽相對于手指運動目標的其他部分來說,飽和度最大,通過前景飽和度平均閾值判斷即可提取標簽。
最后,對上述視頻做運動定位處理。采用聯(lián)合空間kmeans進行手指運動目標分類與定位,從而實現(xiàn)指法識別、記錄功能。kmeans以空間中k個點為中心進行聚類,對最靠近中心的對象歸類。通過迭代的方法,逐次更新各聚類中心,誤差會不斷減少,當誤差不變的時候收斂于最優(yōu)解。在該運動目標定位中,最優(yōu)解即在10種標簽顏色r、g、b附近。因此用r、g、b三個分量直方圖低通濾波后的波峰對聚類進行自適應(yīng)初始化,可以讓kmeans的初始化中心更靠近最優(yōu)解,從而加快迭代收斂的速度,提高算法的效率,與隨機初始化kmeans的聚類可能得到局部最優(yōu)解而非整體最優(yōu)解不同,自適應(yīng)初始化可以避免陷入局部最優(yōu)的情況。同時色彩空間(r、g、b)和幾何空間(x、y)聯(lián)合5維kmeans可以充分利用相同顏色像素點位置接近的先驗知識,提高聚類和定位的準確性。模擬退火kmean算法是一種啟發(fā)式迭代算法,具有漸進收斂性,理論上已經(jīng)證明其以概率1收斂于全局最優(yōu)解。因此將聚類中心進行隨機擾動和模擬退火,在避免陷入局部最優(yōu)的同時提高算法穩(wěn)定性。
本發(fā)明將機器學(xué)習(xí)和數(shù)字信號處理等方法有機地結(jié)合在一起,基于時空濾波和聯(lián)合空間kmeans方法,實現(xiàn)手指運動的檢測和定位。下面結(jié)合具體實施步驟及附圖對本發(fā)明作進一步詳細的描述說明,但本發(fā)明的實施方式不限于此。
圖1為本發(fā)明的一種具體實施方式,主要包括貼標簽和拍攝視頻、運動目標檢測、運動目標定位三個模塊。本發(fā)明首先將演奏者手指貼上十種不同顏色(除黑、白外)的標簽,拍攝演奏者手指彈奏鋼琴的視頻。然后對輸入的視頻幀,用時空濾波的方法檢測手指運動目標區(qū)域,提取標簽,用聯(lián)合空間kmeans進行手指運動目標分類與定位,從而實現(xiàn)指法識別、記錄功能。
上述貼標簽和拍攝視頻模塊用于生成后續(xù)模塊處理的視頻文件,首先將演奏者手指貼上十種不同顏色(除黑、白外)的標簽,然后在演奏者正常彈奏鋼琴同時將演奏過程拍攝成視頻。
上述運動目標檢測模塊用于運動目標檢測,采用時空濾波的方法。首先對輸入視頻幀進行空域濾波,得到準確的運動目標區(qū)域。然后將空域濾波結(jié)果反饋指導(dǎo)時域帶通濾波結(jié)果和時域低通濾波結(jié)果在前景(手指運動)位置和后景位置進行空域重組完成動態(tài)背景更新,可以克服光照變化、攝像機抖動和背景變動的影響,有效避免手指低速運動時的運動目標漏檢。將手指運動目標檢測結(jié)果從rgb空間轉(zhuǎn)換到y(tǒng)crcb、hsv空間進行帶通濾波,去掉膚色和陰影,并通過前景閾值判斷,提取標簽。
目標運動檢測的具體實現(xiàn)步驟如圖2所示。
步驟1:空域濾波,包括以下步驟:
1.1搜索運動目標區(qū)域。當前輸入視頻幀與背景圖像進行空間域逐像素點比較來搜索運動目標區(qū)域。
1.2確定前景和后景。運動目標區(qū)域置為當前視頻輸入幀相應(yīng)位置的像素點,后景區(qū)域的像素點置為白。
1.3反饋前景和后景。將前景(運動目標區(qū)域)和后景反饋用于下一幀的背景更新。
步驟2:動態(tài)背景更新,包括以下步驟:
2.1空域濾波結(jié)果反饋。將上一次空域濾波結(jié)果反饋指導(dǎo)動態(tài)背景更新。判斷當前輸入視頻幀是否為第2幀圖像。若當前輸入幀是第2幀,背景不更新,直接以第一幀圖像作為背景;若當前輸入幀非第2幀,則進行下一步操作。
2.2空域重組。時域帶通濾波結(jié)果和時域低通濾波結(jié)果在前景(手指運動)位置和后景位置進行空域重組完成背景更新。
步驟3:提取標簽,包括以下步驟:
3.1去除膚色。將rgb空間轉(zhuǎn)換至ycrcb空間,判斷坐標(cr,cb)是否在膚色橢圓模型內(nèi)。若某像素點在膚色橢圓模型內(nèi),即將該像素點置為白。
3.2去除陰影。將rgb空間轉(zhuǎn)換至hsv空間,對v分量直方圖進行帶通濾波。
3.3判斷標簽。在hsv空間,計算s分量的前景平均閾值,將提取的運動目標中s分量小于前景飽和度平均閾值的像素點置為白。
上述運動目標定位模塊用于定位運動目標,采用聯(lián)合空間kmeans方法。聯(lián)合空間kmeans不僅可以定位,而且可以分類,從而實現(xiàn)不同手指與標簽分類的正確匹配,有效避免顏色重疊、指法復(fù)雜和噪聲點干擾造成的定位錯誤。首先判斷r、g、b三個分量直方圖低通濾波后的波峰,自適應(yīng)決定聚類數(shù)目k的大小,使分類更加準確和智能。然后利用直方圖的統(tǒng)計特性自適應(yīng)初始化聚類,可以避免陷入局部最優(yōu)的情況,加快迭代收斂的速度,提高算法的效率與準確度。進行色彩空間(r、g、b)和幾何空間(x、y)聯(lián)合5維kmeans可以充分利用相同顏色像素點位置接近的先驗知識,提高了聚類和定位的準確性。并將聚類中心進行隨機擾動和模擬退火,在避免陷入局部最優(yōu)的同時盡可能提高算法穩(wěn)定性。最后對聚類結(jié)果進行分類和定位,確定每一幀畫面手指在鍵盤上的相應(yīng)位置,從而獲得演奏者的指法。
目標運動定位的具體實現(xiàn)步驟如圖3所示。
步驟1:聯(lián)合空間自適應(yīng)kmeans,包括以下步驟:
1.1統(tǒng)計r、g、b直方圖特性。將運動目標檢測結(jié)果r、g、b三個分量直方圖進行低通濾波,自適應(yīng)判斷直方圖波峰。
1.2自適應(yīng)決定聚類數(shù)目k。取r、g、b直方圖最大的波峰個數(shù)來作為聯(lián)合空間kmeans的聚類數(shù)目。
1.3自適應(yīng)聚類初始化。利用r、g、b直方圖波峰位置來初始化聚類中心。
1.4迭代直至收斂。重復(fù)下列操作,直至收斂:(a)分別計算k個類的類中心。第k(1≤k≤k)類的類中心是第k類中5維觀測(r,g,b,x,y)向量的均值向量。(b)將每個觀測分配到距離最近的類中心所在的類中。
步驟2:隨機擾動和模擬退火,包括以下步驟:
2.1計算每一類的5維擾動半徑。取每一類類中心距該類所有點最遠的距離作為擾動半徑rk(五維矢量,k為聚類數(shù)目)。
2.2隨機擾動。取-1~1之間的隨機數(shù)random0,將類中心進行rk*random0的擾動。將類中心擾動后的結(jié)果作為新的初始化類中心,重新進行聯(lián)合空間自適應(yīng)kmeans。計算新的目標函數(shù)與當前目標函數(shù)差值δj=j(luò)'-j。若δj<0,則接受新解作為當前解,并更新擾動半徑。
2.3模擬退火。將參與擾動的隨機數(shù)修正為random0*a-t,其中a為退火速度,a>1,t為設(shè)定退火次數(shù),進行2.1和2.2的操作。
步驟3:指法識別,包括以下步驟:
3.1運動目標定位。通過聯(lián)合空間自適應(yīng)kmeans聚類中心的坐標,確定每一視頻幀手指在鍵盤上的相應(yīng)位置從而獲得指法。
3.2指法輸出。將每一視頻幀的指法統(tǒng)一保存在csv中用于后續(xù)的指法學(xué)習(xí)和研究。
如上即可較好的實現(xiàn)本發(fā)明并取得前述發(fā)明效果,本發(fā)明實例經(jīng)適當?shù)丶右愿脑炜蓮V泛用于手勢識別及其它領(lǐng)域。