社会人博士の深層学習ブログ

深層学習を使った環境音認識研究で、働きながら博士号を取得しました

【サーベイ】信号処理および深層学習を用いた音源分離手法のまとめ

はじめに

近年、深層学習を用いた様々な音源分離手法が提案されており、性能が向上することが

多数報告されています。その一方で、深層学習ベースの手法は大量のデータで学習を行う必要があるため、従来の信号処理ベースの手法を使用するべき場面も多々あると思います。

本記事では、深層学習ベースの手法だけでなく、信号処理をベースとした伝統的な手法も含めたまとめを行います。 

 

音源分離手法の全体概要

音源分離手法は、マイクロフォンの数やベースとなっている手法に応じて、大きく4つに分類することができます。

以下の表は、マイクロフォンの数(シングルorマルチ)およびベースとしている手法(信号処理ベースor深層学習ベース)ごとの代表的な手法を示しています。

以降の節で、各分類における代表的な手法を簡単に説明します。 

f:id:ys0510:20210506174606p:plain

 

シングルチャンネルマイクを対象とした信号処理手法

シングルチャンネルマイクを対象とした、信号処理ベースの手法としては、NMF(非負値行列因子分解)という手法があります。

以下の図は、NMFの概要を示します。音声データに対し、「短時間フーリエ変換により得られたスペクトログラムは負の値を取らない」という制約のもと、音源ごとの行列の掛け算に分解するという手法です。

深層学習と比べ、計算時間が早いことや大量の学習データが不要といった利点がありますが、単純な行列の掛け算で表現されているため、深層学習ベースの手法に比べると性能は低い場合が多いです。

 

f:id:ys0510:20210506174635p:plain

NMF概要(https://www.kecl.ntt.co.jp/icl/signal/sawada/mypaper/subspace2010rev.pdf

 

マルチチャンネルマイクを対象とした信号処理手法

NMF等のシングルチャンネル手法に対し、マルチチャンネルマイクを用いた信号処理手法(アレイ信号処理と呼ぶ)は、複数のマイクによって得られる空間的な情報を利用します。

具体的に、ある音源に対し、複数のマイクで集音すると、マイク感で到達時間差が生じます。この時間差を何らかの形で利用することで、音源方向を定位したり特定の方向の音源を分離します。

以下の図は、もっとも代表的なアレイ信号処理手法である、遅延和ビームフォーマの概要を示しています。音源方向によって、マイク間の音源到達時間差が生じていることがわかります。音源方向角度から算出される一定の遅延処理を加えた後、それらを合計することで、その方向からの音源だけを強調することができます。

 

f:id:ys0510:20210506175543p:plain

 

遅延和ビームフォーマ以外にもMVDRビームフォーマ、GHDSSなど、多数の手法が提案されていますが、基本的には、複数マイクを用いることによって得られる空間的な情報をどのように利用するかという点が異なります。

 

シングルチャンネルマイクを対象とした深層学習手法

深層学習ベースの手法に関しては、日々新しい手法が提案されていますので、ここでは、その概要だけを述べます。

以下の図は、深層学習ベースの音源分離手法の概要を示しています。手法ごとに異なる部分もありますが、大雑把に言うと以下の3ステップで学習を行います。

 ①特徴抽出

 ②ニューラルネットワークへの入力し、出力を得る

 ③得られた出力との損失を計算し、学習を行う

f:id:ys0510:20210506180053p:plain

以上の3点を改善することによって、性能が向上しています。

代表的な手法としては、U-Net, CRNN, Deep clustering, Conv-TasNet, Dual-path RNNなどがありますが、別途まとめようと思います。

 

マルチチャンネルマイクを対象とした深層学習手法

シングルチャンネル同様、マルチチャンネル手法も日々新しい手法が提案されていますが、基本的には、シングルチャンネルと同じです。

異なる点としては、複数マイクを用いることによって得られる、空間的な特徴をニューラルネットワークに入力します。

代表的な信号処理ベース手法である遅延和ビームフォーマでは、音源到達時間差が用いられていましたが、ニューラルネットワークでは、IPD(Inter-channel phase difference)と呼ばれる特徴量を使用することが多いです。

 

f:id:ys0510:20210506180918p:plain

 

まとめ

本記事では、深層学習ベースの手法だけでなく、信号処理をベースとした伝統的な手法も含めてまとめました。 

後日、個々の手法について、もう少し詳細にまとめようかと考えています。