本發明涉及嬰兒哭聲的分析,特別涉及嬰兒啼哭原因的辯識技術。
背景技術:
啼哭是嬰兒的第一種發音方式,也是小嬰兒與外界溝通的唯一方式。有經驗的媽媽和醫生能夠通過嬰兒哭聲了解嬰兒的情緒、需求和健康。由于現代社會出生率的下降,很多媽媽只有一個孩子,缺少相關的經驗,急需技術手段來幫助年輕的媽媽們通過哭聲來了解嬰兒的需求。
201310347807.8的中國發明專利提出了一種基于深層神經網絡的嬰兒啼哭聲辯識方法方法,該方法包括以下步驟:采集訓練用嬰兒啼哭聲數據;對所述訓練用嬰兒啼哭聲數據進行分類標注;提取每一個分類標注的訓練用嬰兒啼哭聲數據中每段音頻的梅爾域倒譜系數以生成訓練用數據文件;根據所述訓練用數據文件并采用逐層預訓練的方式得到深層神經網絡中每一層的初始權值;根據深層神經網絡中所有層的初始權值并采用BP算法獲取所述深層神經網絡的哭聲模型;采集待辯識的嬰兒啼哭聲數據,提取待辯識的嬰兒啼哭聲數據中每段音頻的梅爾域倒譜系數;根據待辯識的嬰兒啼哭聲數據中每段音頻的梅爾域倒譜系數和所述哭聲模型進行哭聲辯識。
本發明的發明人發現,上述專利中技術方案的主要的問題在于,只能給出一個啼哭原因,實際使用時,因為錄音設備的性能參差不齊,錄音者操作能力參差不齊,環境噪聲的影響等原因,導致這個啼哭原因的準確性往往遠不如宣稱的那么高。而沒有經驗的年輕媽媽在嬰兒啼哭時本就比較慌亂,如果嘗試解決這個原因之后嬰兒還在繼續啼哭,會更為慌亂,不知所措。此外,深層神經網絡的訓練計算量很大,訓練的時間比較長,對訓練用的計算機設備的要求比較高。
技術實現要素:
本發明的目的在于提供一種嬰兒哭聲的辯識方法及其系統,以較少的訓練計算量,較為準確地得到一段嬰兒啼哭音頻在多個啼哭原因上的概率分布。
為解決上述技術問題,本發明的實施方式公開了一種嬰兒哭聲的辯識方法,包括以下步驟:
a獲取嬰兒哭聲音頻的多段訓練數據,每個訓練數據對應一個已知啼哭原因;
b對每一段訓練數據進行特征提取,得到每一段訓練數據的特征參數向量;
c對所述多段訓練數據的特征參數向量進行主成分分析,得到多個主成分;
d計算每一種啼哭原因對應的訓練數據在各主成分上投影分值的均值和方差,根據該方差在所述多個主成分中選擇P個主成分,P為大于1的整數;
e獲取嬰兒哭聲音頻的待辯識數據,并在所述P個主成分上計算該待辯識數據的投影分值;
f根據該待辯識數據的投影分值和所述均值和方差計算該待辯識數據對應于各個原因的概率。
在一實施方式中,所述步驟c包括以下子步驟:
所述多段訓練數據包括N個哭聲信號樣本,對該N個哭聲信號樣本分別提取K個特征參數,其中,第n個哭聲信號提取出的K個特征參數記為特征參數向量sn=[sn1,sn2,…,snK]T;
對所述N個哭聲信號樣本,計算所述K個特征參數所對應的協方差矩陣,記為C,其中,C為K乘K的矩陣;
對所述協方差陣進行特征值分解,得到K個特征值和相應于該K個特征值的特征向量。
在一實施方式中,所述步驟d包括以下子步驟:
對所述協方差矩陣C進行特征值分解,把特征值按從大到小進行排列,得到{λ1,λ2,…,λK},從中取特征值最大的Q個特征值及其對應的特征向量,構成一個Q維的特征子空間,其中Q的值取的解,g為0.9至0.99之間的一個預設置;
在這Q個主成分中,取其中的第k個主成分,該主成分的特征值記為λk,λk對應的特征向量記為uk,計算第n個哭聲信號的特征參數向量sn在第k個特征向量上的投影分值;
求N個哭聲信號中屬于第j類哭聲原因的哭聲信號,記為Nj,的K個特征參數向量在第k個特征向量上投影分值的均值
和方差σjk
然后計算
其中
上述各式中,J表示哭聲原因的總類型個數,Xk表示哭聲信號的特征參數向量在第k個主成分的投影分值的分離度,而Yk表示哭聲信號的特征參數向量在第k個主成分的投影分值的集中度,Lk代表各個主成分在對哭聲原因的辨別能力,Lk越大意味著其辨別能力越強;
按順序對Q個主成分進行排列,選取Lk值最大的P個主成分用于后續的哭聲原因辨識,其中P取Q和M中較小的值,而h為取值在2%-0.5%之間的一個預設值。
在一實施方式中,所述步驟f中,通過以下方式計算
第j種原因的概率
在一實施方式中,還包括以下步驟:
對選定的一組訓練數據執行所述步驟a、b、c和d,得到P個主成分;
根據所得的P個主成分,對該組訓練數據中的每一個訓練數據,分別執行所述步驟e和f以得到該訓練數據對應于各個原因的概率,并計算該訓練數據所對應的概率最大原因,并將該概率最大原因與該訓練數據所對應的已知啼哭原因進行比較;
將概率最大原因與已知啼哭原因不相同的訓練數據從所述選定的一組訓練數據中剔除,將剩余的訓練數據作為新選定的一組訓練數據再次執行上述各步驟,如此循環直至滿足預定的退出條件。
在一實施方式中,在所述步驟f之后還包括以下步驟:
在移動終端上顯示概率最大的至少兩個原因。
在一實施方式中,所述啼哭原因包括以下原因中的任意兩種或更多種:
饑餓,想睡覺,不適,尿布濕。
在一實施方式中,所述特征提取的步驟中提取的特征包括以下特征的任意兩種或更多種:
平均哭聲持續時間、哭聲持續時間方差、平均哭聲能量、哭聲能量方差、基音頻率、基音頻率的平均值、基音頻率的最大值、基音頻率的最小值、基音頻率的動態范圍、基音頻率的平均變化率、第一共振峰頻率、第一共振峰頻率平均變化率、第一共振峰頻率平均值、第一共振峰頻率的最大值、第一共振峰頻率的最小值、第一共振峰頻率的動態范圍、第二共振峰頻率、第二共振峰頻率平均變化率、第二共振峰頻率平均值、第二共振峰頻率的最大值、第二共振峰頻率的最小值、第二共振峰頻率的動態范圍、Mel頻率倒譜參數、翻轉的Mel頻率倒譜參數。
在一實施方式中,在所述步驟b之前,還包括以下步驟:
對所述訓練數據中的哭聲信號進行降噪,檢測并剔取噪聲大于預定門限的數據段。
在一實施方式中,在所述步驟c之前還包括以下步驟:
對所述特征參數向量中的各特征參數進行歸一化處理。
在一實施方式中,所述步驟c之前包括以下步驟:
根據年齡段對所述多段訓練數據進行分組,得到分別對應于多個年齡段的多組訓練數據;
在所述步驟c中包括以下步驟:
對每一組訓練數據分別進行主成分分析,每一個年齡段分別得到對應的多個主成分;
在所述“在所述P個主成分上計算該待辯識數據的投影分值”的步驟中包括以下子步驟:
判斷該待辯識數據屬于哪一個年齡段,在該年齡段對應的P個主成分上計算該待辯識數據的投影分值。
本申請還公開了一種嬰兒哭聲的辯識系統,包括:
訓練數據獲取單元,用于獲取嬰兒哭聲音頻的多段訓練數據,每個訓練數據對應一個已知啼哭原因;
特征提取單元,用于對每一段訓練數據進行特征提取,得到每一段訓練數據的特征參數向量;
主成分分析單元,用于對所述多段訓練數據的特征參數向量進行主成分分析,得到多個主成分;
主成分選擇單元,用于計算每一種啼哭原因對應的訓練數據在各主成分上投影分值的均值和方差,根據該方差在所述多個主成分中選擇P個主成分,P為大于1的整數;
待辯識數據獲取單元,用于獲取嬰兒哭聲音頻的待辯識數據;
投影計算單元,用于在所述P個主成分上計算該待辯識數據的投影分值;
原因辯識單元,用于根據該待辯識數據的投影分值和所述均值和方差計算該待辯識數據對應于各個原因的概率。
在一實施方式中,還包括預處理單元,用于對所述訓練數據獲取單元獲取的訓練數據中的哭聲信號進行降噪,檢測并剔取噪聲大于預定門限的數據段,將保留下的各數據段輸出給所述特征提取單元。
在一實施方式中,還包括歸一化單元,用于對所述特征提取單元輸出的特征參數向量中的各特征參數進行歸一化處理,將處理結果輸出給所述主成分分析單元。
本發明實施方式與現有技術相比,至少具有以下區別和效果:
通過從訓練數據中提取特征參數向量以及特征參數向量的協方差矩陣,并進行主成分分析得到并選出多個主成分,依據待辯識數據的特征參數向量在各主成分上的投影分值來確定嬰兒啼哭原因的概率分布,可以較為準確地得到嬰兒啼哭原因的概率分布,容錯性較好,使缺少育兒經驗的父母較為準確地知道啼哭的可能原因,從而能夠從最大可能性開始逐一排除引起啼哭的誘因。
進一步地,在一些不利環境下(如噪聲較大的環境),自動判斷的準確性會有一定的下降,因為在終端屏幕上顯示有多種啼哭原因,所以有較好的容錯性,不會因為終端偶而的誤判而使缺少育兒經驗的父母失去方向。
進一步地,通過降噪和剔取噪聲大于預定門限的哭聲數據段,可以有效提高主成分分析的準確性。
進一步地,根據年齡段對訓練數據進行分組,以組為單位進行訓練和啼哭原因辯識,可以有效地提高啼哭原因辯識的準確度。
附圖說明
圖1是本發明第一實施方式一種嬰兒哭聲的辯識方法中訓練流程示意圖;
圖2是本發明第一實施方式一種嬰兒哭聲的辯識方法中啼哭原因辯識流程示意圖;
圖3是本發明中嬰兒哭聲的辯識方法的一個優選例的原理示意圖;
圖4是本發明第三實施方式中一種嬰兒哭聲的辨識系統的結構示意圖;
圖5是本發明一個優選例中用于嬰兒哭聲原因辨識的智能手機應用軟件系統模塊示意圖。
具體實施方式
在以下的敘述中,為了使讀者更好地理解本發明而提出了許多技術細節。但是,本領域的普通技術人員可以理解,即使沒有這些技術細節和基于以下各實施方式的種種變化和修改,也可以實現本發明各權利要求所要求保護的技術方案。
特別要說明的是,本發明所稱各種啼哭原因都是指可能性,尤其是“病理”啼哭原因并非指確認為患病,更不是指確定為患有某一種疾病,只是說明患病的可能性較大,建議到醫院檢查,以免因為嬰兒家長沒有育兒經驗而耽誤病情。
為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明的實施方式作進一步地詳細描述。
本發明第一實施方式涉及一種嬰兒哭聲的辯識方法。該方法包括訓練和辯識兩個流程。圖1是訓練流程的示意圖,即根據訓練數據訓練出P個主成分。圖2是辯識流程的示意圖,即根據訓練得到的P個主成分對待辯識數據進行啼哭原因辯識。
如圖1所示,在步驟101中,獲取嬰兒哭聲音頻的多段訓練數據,每個訓練數據對應一個已知啼哭原因。啼哭原因包括以下原因中的任意兩種或更多種:病理,饑餓,想睡覺,不適,肚子脹氣,想打隔,疼痛,害怕,煩躁,尿布濕??梢岳斫猓景l明的技術方案中啼哭原因并不限于這些。
此后進入步驟102,對訓練數據進行分組。分組的方式有多種,例如,
在一個實施例中,根據年齡段對多段訓練數據進行分組,得到分別對應于多個年齡段的多組訓練數據。根據年齡段對訓練數據進行分組,以組為單位進行訓練和啼哭原因辯識,可以有效地提高啼哭原因辯識的準確度。
在一個實施例中,以性別和年齡段對訓練數據進行分組,在辯識啼哭原因時按不同的性別和年齡段進行辯識。
在一個實施例中,以性別、種族和年齡段對訓練數據進行分組,在辯識啼哭原因時按不同的性別、種族和年齡段進行辯識。
在另一個實施方式中,也可不對訓練數據進行分組,或者說,將所有的訓練數據作為一組。
步驟102之后的各步驟,包括步驟103-107,都是在訓練數據分組的基礎上進行的,即對每一組訓練數據分別執行步驟103-107。
此后進入步驟103,對聲音信號進行預處理。優選地預處理包括對訓練數據中的哭聲信號進行降噪,檢測并剔除噪聲大于預定門限的數據段。剔除的方式有多種,例如,
在一個實施例中,如果一個訓練數據中存在噪聲大于預定門限的情況,可以剔除這個訓練數據,從而保證每一個訓練數據內部是連續錄音的。
在一個實施例中,如果一個訓練數據中存在噪聲大于預定門限的情況,可以只剔除這個訓練數據中噪聲大于預定門限的那個時段中的音頻數據,保留其它的部分。
通過降噪和剔取噪聲大于預定門限的數據段,可以有效提高主成分分析的準確性。
在另一個實施方式中,對訓練數據也可以不進行包括降噪在內的預處理。
此后進入步驟104,對每一段訓練數據進行特征提取,得到每一段訓練數據的特征參數向量。其中,要提取的特征有多個,是預先選取好的。特征參數向量即由各預先選取好特征按預定順序組成的向量。例如,要選擇的特征為4個:F0,F1,F2,Mel頻率倒譜參數,則特征參數向量為<F0,F1,F2,Mel頻率倒譜參數>。
步驟104中可提取的特征包括以下特征的任意兩種或更多種:
平均哭聲持續時間、哭聲持續時間方差、平均哭聲能量、哭聲能量方差、基音頻率、基音頻率的平均值、基音頻率的最大值、基音頻率的最小值、基音頻率的動態范圍、基音頻率的平均變化率、第一共振峰頻率、第一共振峰頻率平均變化率、第一共振峰頻率平均值、第一共振峰頻率的最大值、第一共振峰頻率的最小值、第一共振峰頻率的動態范圍、第二共振峰頻率、第二共振峰頻率平均變化率、第二共振峰頻率平均值、第二共振峰頻率的最大值、第二共振峰頻率的最小值、第二共振峰頻率的動態范圍、Mel頻率倒譜參數、翻轉的Mel頻率倒譜參數。可以理解,本發明的其它實施方式中,可提取的特征可以并不限于這些。
此后進入步驟105,對特征參數向量中的各特征參數進行歸一化處理。
在另一實施方式中,也可以不對特征參數向量中的各特征參數進行歸一化處理。
此后進入步驟106,對每一組訓練數據分別進行主成分分析,每一組訓練數據得到對應的多個主成分。例如,如果步驟102中是以年齡段為依據進行分組的,則每一個年齡段分別得到對應的多個主成分。
設一組訓練數據中包括N個哭聲信號樣本,對該N個哭聲信號樣本分別提取K個特征參數,其中,第n個哭聲信號提取出的K個特征參數記為特征參數向量sn=[sn1,sn2,…,snK]T;
對N個哭聲信號樣本,計算K個特征參數所對應的協方差矩陣,記為C,其中,C為K乘K的矩陣;
對協方差陣進行特征值分解,得到K個特征值和相應于該K個特征值的特征向量。
可以理解,在本發明的其它實施方式中還可以使用其它的主成分選擇方法。
此后進入步驟107,計算每一種啼哭原因對應的訓練數據在各主成分上投影分值的均值和方差,根據該方差在多個主成分中選擇P個主成分,P為大于1的整數。一種優選的實現方式如下:
對協方差矩陣C進行特征值分解,把特征值按從大到小進行排列,得到{λ1,λ2,…,λK},從中取特征值最大的Q個特征值及其對應的特征向量,構成一個Q維的特征子空間,其中Q的值取的解,g為0.9至0.99之間的一個預設置;
在這Q個主成分中,取其中的第k個主成分,該主成分的特征值記為λk,λk對應的特征向量記為uk,計算第n個哭聲信號的特征參數向量sn在第k個特征向量上的投影分值;
求N個哭聲信號中屬于第j類哭聲原因的哭聲信號(記為Nj)的特征參數向量在第k個特征向量上投影分值的均值
和方差σjk
然后計算
其中
上述各式中,J表示哭聲原因的總類型個數,Xk表示哭聲原因在第k個主成分分值的分離度,而Yk表示哭聲原因在第k個主成分的集中度,Lk代表各個主成分在對哭聲原因的辨別能力,Lk越大意味著其辨別能力越強;
按順序對Q個主成分進行排列,選取Lk值最大的P個主成分用于后續的哭聲原因辨識,其中P取Q和M中較小的值,而h為取值在2%-0.5%之間的一個預設值。
在本發明的其它實施方式中,還可以使用其它的概率計算方法。
至此訓練流程結束。
下面結合圖2詳細說明辯識流程。
在步驟201中,獲取嬰兒哭聲音頻的待辯識數據。一個優選的方式是利用智能手機的錄音功能實時錄取嬰兒哭聲音頻。當然也可以使用其它的設備錄音,如錄音筆,錄音機,平板電腦等等。
此后進入步驟202,在P個主成分上計算該待辯識數據的投影分值。
如果訓練數據是分組的,則需要判斷該待辯識數據屬于哪一個組,以便選擇與該組對應的P個主成分計算該待辯識數據的投影分值。例如,判斷該待辯識數據屬于哪一個年齡段,在該年齡段對應的P個主成分上計算該待辯識數據的投影分值。
此后進入步驟203,根據該待辯識數據的投影分值和均值和方差計算該待辯識數據對應于各個原因的概率。
其中Pj是該待辯識數據對應于第j種原因的概率。
此后進入步驟204,在移動終端上顯示概率最大的至少兩個原因。在一些不利環境下(如噪聲較大的環境),只為示一種原因的自動判斷的準確性會有一定的下降,因為在終端屏幕上顯示有多種啼哭原因,所以有較好的容錯性,不會因為終端偶而的誤判而使缺少育兒經驗的父母失去方向。具體有多種實現的方式,例如:
在一個實施例中,系統中共設置有6種原因,在移動終端上顯示概率最大的3個原因及其概率。
在一個實施例中,系統中共設置在8種原因,在移動終端上顯示概率大于10%的所有原因及其概率。
在一個實施例中,系統中共設置在5種原因,在移動終端上顯示所有原因的概率。
通過從訓練數據中提取特征參數向量,并進行主成分分析得到并選出多個主成分分特征向量,依據待辯識數據在各主成分上的投影分值來確定嬰兒啼哭原因的概率分布,可以較為準確地得到嬰兒啼哭原因的概率分布,容錯性較好,使缺少育兒經驗的父母較為準確地知道啼哭的可能原因,從而能夠從最大可能性開始逐一排除引起啼哭的誘因。
本發明第二實施方式涉及一種嬰兒哭聲的辯識方法,第二實施方式是第一實施方式方式的改進,主要改進之處在于,采用了循環更新的方法獲得用于辨識的主成分。本發明的發明人發現,部分訓練數據可能受特殊的背景噪聲等因素影響,導致所得到的用于辨識的主成分的有效性減弱,而采用循環更新用于辨識的主成分的方法則可有效解決這個問題。
具體的實現方法如下。
對選定的一組訓練數據執行步驟101至107,得到P個主成分;
根據所得的P個主成分,對選定的一組訓練數據中的每一個訓練數據,分別執行步驟201至203,即將每一個訓練數據分別作為步驟201中的待辯識數據,以得到該訓練數據對應于各個原因的概率,并計算該訓練數據所對應的概率最大的原因,并將該概率最大的原因與該訓練數據所對應的已知啼哭原因進行比較,如果兩者不同,則將該訓練數據從該組訓練數據中剔除。
將該組訓練數據以上述方法處理一遍后,將剩余的訓練數據作為新選定的一組訓練數據再次執行上述各步驟,如此循環直至滿足預定的退出條件。
退出條件可以有多種,例如,在某次循環后,如果沒有一個訓練數據被剔除則退出循環,又如,如果達到預定的循環次數則退出循環,再如,在某次循環后,被剔除的訓練數據的數量與剩余的訓練數據的數量之比值小于預定的門限,等等。
下面通過一個優選例來進一步說明本發明技術方案的實現方式。
圖3為該優選例的原理示意圖。
如圖3所示,其中步驟301至304為訓練過程,步驟305至309為辯識過程。
在訓練過程中,訓練數據庫中的訓練數據先在步驟301中進行數據歸類及預處理,此后進入步驟302進行特征參數提取,此后進入步驟303分亞組進行主成分分析,此后進入步驟304確定用于辨識的主成分及其參數。
在辯識過程中,待辨識哭聲數據在步驟305中發據亞組標記挑選相應主成分,所選挑選出的主成分被用于步驟308和309的計算。待辨識哭聲數據在步驟306中進行數據歸類及預處理,此后在步驟307中進行特征參數提取,此后進入步驟308計算待辨識特征參數在主成分上的投影,此后進入步驟309計算綜合概率,輸出辨識結果。
下面對圖3中涉及的各項具體內容進行詳細說明。
(1)訓練數據庫,該訓練數據庫為包含一組一歲以下的嬰兒哭聲信號及對應的嬰兒年齡性別等標記數據。每名嬰兒的數據至少包括由饑餓、疼痛、便溺、困倦這四種原因引起的哭聲(這四種原因之外的歸為其他原因),以及這些哭聲數據的標記信息,從而對該數據庫中的任意一段哭聲信號,其所對應的哭泣原因都是明確的。除哭聲數據和哭聲原因標記信息外,還包括哭泣的具體時間、所處場景(環境溫度、濕度等信息)等可選標記信息。
(2)歸類及預處理(步驟301和306):對哭聲信號進行降噪,抑制背景噪聲;采用自動檢測算法,剔除噪聲特別大的數據段,從而提高進入后續特征提取的哭聲信號的信噪比。對嬰兒的數據按年齡和性別進行亞組劃分:出生后1-15天組,15-30天組;31-60天;61-120天組,121-180天組,大于180天組;以上按年齡分組還進一步劃分為男嬰組和女嬰組。后續的主成分分析分別針對每個亞組單獨進行。
(3)特征參數提取(步驟302和307):對每一段嬰兒哭聲數據進行特征提取,提取的具體特征包括(但不限于):平均哭聲持續時間、哭聲持續時間方差、平均哭聲能量、哭聲能量方差、基音頻率(F0)、F0的平均值、F0的最大值、F0的最小值、F0的動態范圍(即F0的最大值與最小值之差)、F0的平均變化率、第一共振峰頻率(F1)、F1平均變化率、F1平均值、F1的最大值、F1的最小值、F1的動態范圍(即F1的最大值與最小值之差)、第二共振峰頻率(F2)、F2平均變化率、F2平均值、F2的最大值、F2的最小值、F2的動態范圍(即F2的最大值與最小值之差)、Mel頻率倒譜參數(MFCC)、翻轉的Mel頻率倒譜參數(IMFCC)。這些特征參數大部分是在本技術領域的現有文獻中經常出現的標準定義。下面對本發明專門定義的參數做進一步說明。嬰兒哭泣的時候聲音會表現出不同的斷續特征。一長段哭聲會包含多段連續哭聲,這里的平均哭聲持續時間定義為各段連續哭聲時長的均值。對應地,哭聲持續時間方差定義為各段連續哭聲時長的方差,平均哭聲能量定義為各段連續哭聲能量的均值,哭聲能量方差定義為各段連續哭聲能量的方差。
(4)參數歸一化處理:由于各特征參數的單位和大小各不相同,所以在進行后續的主成分分析之前需對步驟302或步驟307中得到的特征參數進行進行歸一化處理,從而使得各個特征參數在變換后都被歸一化成均值為0方差為1的參數。以第k個參數為例,計算各個哭聲信號的第k個參數,從而得到第k個參數的一個序列,計算這個序列的均值和方差,然后把這個序列減去均值后再除以方差,即得到一個歸一化的第k個參數的序列;這里計算得到的均值和方差這也在“待辨識哭聲數據”的“特征參數提取”步驟被調用,用于“待辨識哭聲數據”的特征參數的歸一化處理。
(5)主成分分析(步驟303):下述主成分分析過程是針對各特定年齡階段的單一性別的一組嬰兒的訓練組哭聲信號進行的。設該組數據中總共有N個哭聲信號樣本,對第n個哭聲信號按照步驟302中的方法提取出K個特征參數(記為sn=[sn1,sn2,…,snK]T);然后對這N個樣本,計算這K個特征參數所對應的協方差矩陣(記為C,為K乘K的矩陣),然后對協方差陣進行特征值分解得到K個特征值及其相應的特征向量。
(6)確定用于辨識的主成分及其參數(步驟304):對協方差矩陣C進行特征值分解,把特征值按從大到小進行排列,{λ1,λ2,…,λK},取Q個特征值及其對應的特征向量(也就是取特征值最大的Q個主成分)構成一個Q維的特征子空間,其中Q的值取的解。進一步,在這Q個主成分中,取其中的第k個主成分(特征值記為λk,其對應的特征向量記為uk),計算第n個哭聲信號的特征參數向量sn在第k個特征向量上的投影分值(即uk·sn),進一步求N個哭聲信號中屬于第j類哭聲原因的哭聲信號(記為Nj)在第k個特征向量上投影分值的均值
和方差σjk。然后計算
其中
上述各式中,J表示哭聲原因的總類型個數,Xk表示哭聲聲信號的特征參數向量在第k個主成分的投影分值的分離度,而Yk表示哭聲信號的特征參數向量在第k個主成分的集中度。Lk代表各個主成分在對哭聲原因的辨別能力,Lk越大意味著其辨別能力越強。按順序對Q個主成分進行排列,選取Lk值最大的P個主成分用于后續的哭聲原因辨識,其中P取Q和M中較小的值,而
步驟304中,取了能量占到98%的那些大的主成分組合納入后續的分析。這是因為,本發明的發明人發現,對于特征值過小的那些特征,在進行特征值分解的計算時,這些主成分的穩定性存在問題。只有特征值比較大的那些主成分,其特征向量在計算時具有較好的穩定性。這個處理方法是本發明的創新之一。
(7)循環更新用于辨識的主成分:步驟304“確定用于辨識的主成分及其參數”對單個亞組的所有數據進行主成分分析,得到用于辨識的主成分及相應參數。本發明的發明人發現,部分訓練數據可能受特殊的背景噪聲等因素影響,導致所得到的用于辨識的主成分的有效性減弱,本發明特別提出循環更新用于辨識的主成分的方法。
在第一輪循環中,取訓練數據集N個哭聲信號中的第n個哭聲信號sn,調用“參數歸一化處理”步驟得到的哭聲信號sn的歸一化的特征參數向量sn,然后調用步驟304“確定用于辨識的主成分及其參數”中得到的的用于該組的辨識的P個“主成分”及相應參數,計算待辯識的哭聲的特征參數向量在所選取的各個主成分方向uk上的投影分值Znk=uk·sn。然后計算綜合概率求解所得的j值即表示辨別出來的哭聲信號sn所屬的哭聲原因。把辨識出來的哭聲原因和數據庫中sn所標記的哭聲原因進行比較,如果兩者相同,則表示對sn的辨識正確,如果不同,則表示對sn的辨識錯誤。對訓練數據集中的N個哭聲數據按哭聲信號sn類似的流程進行辨識,統計第一輪循環得到辨識的總正確率(辨識正確的哭聲數除以總哭聲數N),記為A1。對于第二輪循環,把第一輪中辨識錯誤的那些訓練數據從訓練組中剔除,用剩下的數據作為新的訓練數據集,然后按照第一輪的步驟進行,得到第二輪循環的辨識總正確率A2;如此循環下去,得到第i輪循環的辨識總正確率Ai??疾霢i的變化,在Ai不再明顯上升或者到達第一個最大值時停止循環,取此次循環的主成分及相應參數作為后續步驟的辨識系統的參數,用于對待辨識哭聲信號進行辨識。本步驟“循環更新用于辨識的主成分”是優選方案,并非必須的,在圖3上沒有直接體現,在作用上可以視作替代步驟302至304,都是輸出用于辨識的主成分及其參數。
(8)計算待辨識特證參數向量在主成分上的投影分值(步驟308):對于待識別的哭聲信號,先經過步驟306“數據歸類及預處理”和步驟307“特征參數提取”,調用上述“循環更新用于辨識的主成分”中獲得的辨識系統的參數(即主成分及均值μjk和方差σjk),對待辨識的哭聲信號的特征參數進行歸一化處理得到歸一化的特征參數向量s,然后調用步驟“循環更新用于辨識的主成分”中所選取的P個主成分的參數,計算待識別的哭聲的特征參數向量在所選取的各個主成分方向uk上的投影分值Zk=uk·s。
(9)計算綜合概率(步驟309):對于步驟“循環更新用于辨識的主成分”中選取的P個主成分,計算綜合概率
求解所得的j值即表示待識別哭聲信號所屬的哭聲原因。此外,對J個哭聲原因類別分別計算得到J個Pj值,把其值按照大小從大小進行排列,則在這個排列順序中,對應的Pj值表示了“待辨識哭聲信號”所屬哭泣原因的可能性的大小。鑒于嬰兒哭泣的原因可能是綜合了多個因素,這里得到各個原因可能性的大小,可一并顯示出來供用戶參考。
本發明的各方法實施方式均可以以軟件、硬件、固件等方式實現。不管本發明是以軟件、硬件、還是固件方式實現,指令代碼都可以存儲在任何類型的計算機可訪問的存儲器中(例如永久的或者可修改的,易失性的或者非易失性的,固態的或者非固態的,固定的或者可更換的介質等等)。同樣,存儲器可以例如是可編程陣列邏輯(Programmable Array Logic,簡稱“PAL”)、隨機存取存儲器(Random Access Memory,簡稱“RAM”)、可編程只讀存儲器(Programmable Read Only Memory,簡稱“PROM”)、只讀存儲器(Read-Only Memory,簡稱“ROM”)、電可擦除可編程只讀存儲器(Electrically Erasable Programmable ROM,簡稱“EEPROM”)、磁盤、光盤、數字通用光盤(Digital Versatile Disc,簡稱“DVD”)等等。
本發明第三實施方式涉及一種嬰兒哭聲的辨識系統。圖4是該嬰兒哭聲的辨識系統的結構示意圖。該嬰兒哭聲的辨識系統包括:
訓練數據獲取單元,用于獲取嬰兒哭聲音頻的多段訓練數據,每個訓練數據對應一個已知的啼哭原因。
預處理單元,用于對訓練數據獲取單元獲取的訓練數據中的哭聲信號進行降噪,檢測并剔取噪聲大于預定門限的數據段,將保留下的各數據段輸出給特征提取單元。
特征提取單元,用于對每一段訓練數據進行特征參數提取,得到每一段訓練數據的特征參數向量。
歸一化單元,用于對特征提取單元輸出的特征參數向量中的各特征參數進行歸一化處理,將處理結果輸出給主成分分析單元。
主成分分析單元,用于對多段訓練數據的特征參數向量進行主成分分析,得到多個主成分。
主成分選擇單元,用于計算每一種啼哭原因對應的訓練數據在各主成分上投影分值的均值和方差,根據該方差在多個主成分中選擇P個主成分,P為大于1的整數。
待辨識數據獲取單元,用于獲取嬰兒哭聲音頻的待辨識數據。
投影計算單元,用于在P個主成分上計算該待辨識數據的投影分值。
原因辨識單元,用于根據該待辨識數據的投影分值和均值和方差計算該待辨識數據對應于各個原因的概率。
第一和第二實施方式是與本實施方式相對應的方法實施方式,本實施方式可與第一和第二實施方式互相配合實施。第一和第二實施方式中提到的相關技術細節在本實施方式中依然有效,為了減少重復,這里不再贅述。相應地,本實施方式中提到的相關技術細節也可應用在第一和第二實施方式中。
需要說明的是,本發明各設備實施方式中提到的各單元都是邏輯單元,在物理上,一個邏輯單元可以是一個物理單元,也可以是一個物理單元的一部分,還可以以多個物理單元的組合實現,這些邏輯單元本身的物理實現方式并不是最重要的,這些邏輯單元所實現的功能的組合才是解決本發明所提出的技術問題的關鍵。此外,為了突出本發明的創新部分,本發明上述各設備實施方式并沒有將與解決本發明所提出的技術問題關系不太密切的單元引入,這并不表明上述設備實施方式并不存在其它的單元。
本發明還基于上述嬰兒哭聲原因辨識的技術方案,實現了一套嬰兒哭聲原因辨識的智能手機應用軟件系統。該系統通過客戶端和服務器聯合工作的方式,讓嬰兒哭聲信號遠程實時傳到服務器,在服務器上完成原因辨識并即時還回辨識結果到用戶手機的客戶端,完成哭聲原因的實時顯示。該系統還通過哭聲數據積累和用戶對辨識結果的反饋,不斷對辨識模型進行更新,從而實現基于大數據的嬰兒哭聲意圖辨識,獲得更好的辨識效果。該系統包括客戶端軟件系統和服務器軟件系統,總的模塊圖如圖5。其中,客戶端軟件系統將包括“客戶端用戶模塊”、“數據傳輸模塊”、“辨識結果顯示模塊”和“用戶反饋模塊”;服務器軟件系統包括“數據傳輸模塊”、“數據分析和辨識模塊”、“數據庫管理模塊”、“數據庫”、“基于主成分分析的辨識訓練模塊”和“系統和用戶管理模塊”。各個模塊的實現和功能說明如下:
客戶端用戶模塊:該模塊包括用戶登錄、用戶信息輸入、哭聲錄音及傳輸、哭聲原因辨識結果顯示等子模塊。
數據傳輸模塊:該模塊通過網絡實現無線傳輸用戶客戶端模塊所錄制的嬰兒哭聲數據及其他嬰兒相關信息到服務器。從客戶端傳輸到服務器的數據被組織和存儲,加入原有的數據庫。該模塊還實現把辨識結果傳輸到用戶手機客戶端??蛻舳撕头掌鞫烁饔幸粋€數據傳輸模塊,兩者相互配合完成數據傳輸。
數據分析和辨識模塊:該模塊采用上述第一實施方式中的步驟202和203中描述的方法得到用于辨識的主成分及其參數,用于計算待辨識嬰兒哭聲的特征參數向量在各選取的主成分方向上的投影分值及綜合概率,得到辨識結果,并把辨識結果輸入到“辨識結果顯示”模塊。
辨識結果顯示模塊:該模塊顯示“數據分析和辨識模塊”得到的辨識結果,同時顯示該次哭泣的各種可能原因的概率。本發明中把哭聲原因歸為五類,即饑餓、疼痛、便溺、困倦、其他。計算出待辨識哭聲對于五種哭聲原因的Pj值,然后作換算:在本發明的顯示模塊提供兩種顯示形式供用戶選擇,即柱狀圖顯示模式和餅圖顯示模式,以Rj值顯示哭聲屬于第j類原因的可能性大小。需要說明的是,這里定義的Rj值是為了方便圖形顯示辨識結果,只表示該哭聲原因屬于第j類的可性的相對大小,能表明屬于各類原因的排序,并不表示屬于各類的可能性的嚴格比例。
用戶反饋模塊:用戶對嬰兒哭泣進行查看和處理后,或能確認嬰兒哭泣的原因?!坝脩舴答伳K”提供用戶對客戶端顯示出來的辨識結果進行反饋的界面,讓用戶反饋哭泣的真實原因。如用戶有反饋,則把該反饋結果通過“數據庫管理模塊”把哭聲原因標記到對應的哭聲信號。這一得到原因確認的哭聲信號將被納入后續用于更新辨識模型的訓練數據庫。
數據管理模塊:該模塊實現對數據的管理,實現對各個用戶的數據管理和對后續用于辨識器訓練更新的訓練數據庫的管理。
數據庫模塊:此模塊實現所有用戶數據及哭聲信號的的存數和組織。
基于主成分分析的辨識訓練模塊:該模塊主要調用有哭聲原因標記的哭聲信號進行主成分分析,得到辨識系統的各個參數,供“數據分析和辨識模塊”調用,實現嬰兒哭聲原因辨識。具體實現方法參見上述第一實施方式的步驟102至107。隨著更多數據的累積,該模塊定期根據新的訓練數據集進行訓練,更新用于哭聲原因辨識的主成分及相關參數。
系統和用戶管理模塊:該模塊實現對服務器系統的運行狀態的監控和管理,并用于管理用戶信息。
需要說明的是,在本專利的權利要求書和說明書中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。本專利的權利要求書和說明書中,如果提到根據某要素執行某行為,則是指至少根據該要素執行該行為的意思,其中包括了兩種情況:僅根據該要素執行該行為、和根據該要素和其它要素執行該行為。
雖然通過參照本發明的某些優選實施方式,已經對本發明進行了圖示和描述,但本領域的普通技術人員應該明白,可以在形式上和細節上對其作各種改變,而不偏離本發明的精神和范圍。