(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-08
(45)【発行日】2025-01-17
(54)【発明の名称】画像処理方法、画像処理システムおよびプログラム
(51)【国際特許分類】
G06T 3/00 20240101AFI20250109BHJP
G10G 3/04 20060101ALI20250109BHJP
【FI】
G06T3/00
G10G3/04
(21)【出願番号】P 2021051180
(22)【出願日】2021-03-25
【審査請求日】2024-01-25
(73)【特許権者】
【識別番号】000004075
【氏名又は名称】ヤマハ株式会社
(74)【代理人】
【識別番号】110003177
【氏名又は名称】弁理士法人旺知国際特許事務所
(72)【発明者】
【氏名】前澤 陽
【審査官】山田 辰美
(56)【参考文献】
【文献】特開2020-46500(JP,A)
【文献】特開2007-256411(JP,A)
【文献】中国特許出願公開第112184835(CN,A)
【文献】石川 聡祐 Sosuke Ishikawa,ウェブカメラを用いた鍵盤楽器における指先追跡 Recognition of Fingertip Movements of Keyboard Instrument by Web Camera,電気学会研究会資料 The Papers of Technical Meeting on "Innovative Industrial System",IEE Japan,日本,一般社団法人電気学会 The Institute of Electrical Engineers of Japan(IEEJ),2013年08月09日,p.11-p.16
(58)【調査した分野】(Int.Cl.,DB名)
G10G 3/04
G06T 3/00
(57)【特許請求の範囲】
【請求項1】
楽器の画像と当該楽器を演奏する利用者の複数の手指の画像とを含む演奏画像における前記楽器の画像が、参照楽器を表す参照画像に近付くように、前記演奏画像の座標を射影変換する変換行列を生成し、
前記変換行列を利用して前記演奏画像の射影変換を実行する
コンピュータシステムにより実現される画像処理方法。
【請求項2】
鍵盤楽器の鍵盤の画像と当該鍵盤楽器を演奏する利用者の複数の手指の画像とを含む演奏画像における前記鍵盤の画像が、参照楽器を表す参照画像に近付くように、前記演奏画像を射影変換する変換行列を生成し、
前記変換行列を利用して前記演奏画像の射影変換を実行する
コンピュータシステムにより実現される画像処理方法。
【請求項3】
前記変換行列の生成においては、
前記変換行列の初期値である初期行列を設定し、
前記変換行列の生成においては、前記参照画像と前記演奏画像における前記鍵盤の画像との間の拡張相関係数が増加するように、前記初期行列を反復的に更新する
請求項2の画像処理方法。
【請求項4】
前記初期行列の設定においては、
前記演奏画像における鍵盤の画像のうち前記利用者からの指示に応じた目標領域を、前記参照画像のうち特定の音高に対応する領域に射影変換するための行列を、前記初期行列として設定する
請求項3の画像処理方法。
【請求項5】
前記初期行列の設定においては、
前記演奏画像のうち前記利用者が操作装置に対する操作で指定した領域を前記目標領域として、前記初期行列を設定する
請求項4の画像処理方法。
【請求項6】
前記初期行列の設定においては、
前記利用者が前記鍵盤楽器により演奏した音高を指定する演奏データと、前記演奏画像において前記利用者が前記音高を演奏した手指の位置を表す指位置データとを取得し、
前記指位置データが表す手指の位置が、前記参照画像のうち前記演奏データが指定する音高に対応する部分に近付くように、前記初期行列を設定する
請求項4の画像処理方法。
【請求項7】
楽器の画像と当該楽器を演奏する利用者の複数の手指の画像とを含む演奏画像における前記楽器の画像が、参照画像に含まれる参照楽器の画像に近付くように、前記演奏画像を射影変換する変換行列を生成する行列生成部と、
前記変換行列を利用して前記演奏画像の射影変換を実行する射影変換部と
を具備する画像処理システム。
【請求項8】
楽器の画像と当該楽器を演奏する利用者の複数の手指の画像とを含む演奏画像における前記楽器の画像が、参照画像に含まれる参照楽器の画像に近付くように、前記演奏画像を射影変換する変換行列を生成する行列生成部、および、
前記変換行列を利用して前記演奏画像の射影変換を実行する射影変換部
としてコンピュータシステムを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、利用者による演奏を解析する技術に関する。
【背景技術】
【0002】
例えば鍵盤楽器等の楽器を演奏する利用者を撮影装置により撮影した画像を解析する各種の技術が従来から提案されている。例えば特許文献1には、利用者による鍵盤楽器の演奏を撮影した画像を解析することで当該演奏に係る楽曲の楽譜を生成する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、鍵盤楽器の鍵盤に対する撮影装置の撮影条件は、撮影毎に相違する可能性がある。以上の事情を考慮して、本開示のひとつの態様は、利用者が演奏する楽器を特定の撮影条件で撮影した画像を生成することを目的とする。
【課題を解決するための手段】
【0005】
以上の課題を解決するために、本開示のひとつの態様に係る画像処理方法は、楽器の画像と当該楽器を演奏する利用者の複数の手指の画像とを含む演奏画像における前記楽器の画像が、参照楽器を表す参照画像に近付くように、前記演奏画像の座標を射影変換する変換行列を生成し、前記変換行列を利用して前記演奏画像の射影変換を実行する。
【0006】
本開示のひとつの態様に係る画像処理システムは、楽器の画像と当該楽器を演奏する利用者の複数の手指の画像とを含む演奏画像における前記楽器の画像が、参照画像に含まれる参照楽器の画像に近付くように、前記演奏画像を射影変換する変換行列を生成する行列生成部と、前記変換行列を利用して前記演奏画像の射影変換を実行する射影変換部とを具備する。
【0007】
本開示のひとつの態様に係るプログラムは、楽器の画像と当該楽器を演奏する利用者の複数の手指の画像とを含む演奏画像における前記楽器の画像が、参照画像に含まれる参照楽器の画像に近付くように、前記演奏画像を射影変換する変換行列を生成する行列生成部、および、前記変換行列を利用して前記演奏画像の射影変換を実行する射影変換部、としてコンピュータシステムを機能させる。
【図面の簡単な説明】
【0008】
【
図1】第1実施形態に係る演奏解析システムの構成を例示するブロック図である。
【
図3】演奏解析システムの機能的な構成を例示するブロック図である。
【
図9】推定モデルを確立する機械学習の説明図である。
【
図16】第2実施形態における演奏解析システムの構成を例示するブロック図である。
【
図17】第2実施形態における制御データの模式図である。
【
図18】第2実施形態における演奏解析処理のフローチャートである。
【
図19】第3実施形態における演奏解析処理のフローチャートである。
【
図20】第4実施形態における初期設定処理のフローチャートである。
【
図21】第5実施形態における演奏解析システムの構成を例示するブロック図である。
【
図22】第6実施形態における画像処理システムの機能的な構成を例示するブロック図である。
【
図23】第6実施形態における第1画像処理のフローチャートである。
【
図24】第7実施形態における画像処理システムの機能的な構成を例示するブロック図である。
【
図25】第7実施形態における第2画像処理のフローチャートである。
【発明を実施するための形態】
【0009】
1:第1実施形態
図1は、第1実施形態に係る演奏解析システム100の構成を例示するブロック図である。演奏解析システム100には、鍵盤楽器200が有線または無線により接続される。鍵盤楽器200は、複数(N個)の鍵21が配列された鍵盤22を具備する電子楽器である。鍵盤22の複数の鍵21の各々は、相異なる音高n(n=1~N)に対応する。利用者(すなわち演奏者)は、自身の左手および右手により鍵盤楽器200の所望の鍵21を順次に操作する。鍵盤楽器200は、利用者による演奏を表す演奏データPを演奏解析システム100に供給する。演奏データPは、利用者が順次に演奏する複数の音符の各々について当該音符の音高nを指定する時系列データである。例えば、演奏データPは、例えばMIDI(Musical Instrument Digital Interface)規格に準拠した形式のデータである。
【0010】
演奏解析システム100は、利用者による鍵盤楽器200の演奏を解析するコンピュータシステムである。具体的には、演奏解析システム100は、利用者の運指を解析する。運指は、鍵盤楽器200の演奏において利用者が左手および右手の各手指を使用する方法(すなわち指使い)である。すなわち、利用者が鍵盤楽器200の各鍵21を何れの手指により操作するかという情報が、利用者の運指として解析される。
【0011】
演奏解析システム100は、制御装置11と記憶装置12と操作装置13と表示装置14と撮影装置15とを具備する。演奏解析システム100は、例えばスマートフォンまたはタブレット端末等の可搬型の情報装置、またはパーソナルコンピュータ等の可搬型または据置型の情報装置により実現される。なお、演奏解析システム100は、単体の装置として実現されるほか、相互に別体で構成された複数の装置でも実現される。また、演奏解析システム100は、鍵盤楽器200に搭載されてもよい。
【0012】
制御装置11は、演奏解析システム100の各要素を制御する単数または複数のプロセッサで構成される。例えば、制御装置11は、CPU(Central Processing Unit)、SPU(Sound Processing Unit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、またはASIC(Application Specific Integrated Circuit)等の1種類以上のプロセッサにより構成される。
【0013】
記憶装置12は、制御装置11が実行するプログラムと、制御装置11が使用する各種のデータとを記憶する単数または複数のメモリである。記憶装置12は、例えば磁気記録媒体もしくは半導体記録媒体等の公知の記録媒体、または、複数種の記録媒体の組合せで構成される。なお、演奏解析システム100に対して着脱される可搬型の記録媒体、または例えばインターネット等の通信網を介して制御装置11が書込または読出を実行可能な記録媒体(例えばクラウドストレージ)を、記憶装置12として利用してもよい。
【0014】
操作装置13は、利用者からの指示を受付ける入力機器である。操作装置13は、例えば、利用者が操作する操作子、または、利用者による接触を検知するタッチパネルである。なお、演奏解析システム100とは別体の操作装置13(例えばマウスまたはキーボード)を、演奏解析システム100に対して有線または無線により接続してもよい。
【0015】
表示装置14は、制御装置11による制御のもとで画像を表示する。例えば液晶表示パネルまたは有機EL(Electroluminescence)パネル等の各種の表示パネルが表示装置14として利用される。なお、演奏解析システム100とは別体の表示装置14を、演奏解析システム100に対して有線または無線により接続してもよい。
【0016】
撮影装置15は、被写体の撮影により画像データD1の時系列を生成する画像入力機器である。画像データD1の時系列は、動画を表す動画データである。例えば、撮影装置15は、撮影レンズ等の光学系と、光学系からの入射光を受光する撮像素子と、撮像素子による受光量に応じた画像データD1を生成する処理回路とを具備する。なお、演奏解析システム100とは別体の撮影装置15を演奏解析システム100に対して有線または無線により接続してもよい。
【0017】
利用者は、演奏解析システム100の提供者から推奨された撮影条件が実現されるように、鍵盤楽器200に対する撮影装置15の位置または角度を調整する。具体的には、撮影装置15は、鍵盤楽器200の上方に設置され、鍵盤楽器200の鍵盤22と利用者の左手および右手とを撮影する。したがって、
図2に例示される通り、鍵盤楽器200の鍵盤22の画像(以下「鍵盤画像」という)g1と利用者の左手および右手の画像(以下「手指画像」という)g2とを含む演奏画像G1を表す画像データD1の時系列が、撮影装置15により生成される。すなわち、利用者が鍵盤楽器200を演奏する動画を表す動画データが、当該演奏に並行して生成される。なお、撮影装置15による撮影条件は、例えば撮影範囲または撮影方向である。撮影範囲は、撮影装置15が撮影する範囲(画角)である。撮影方向は、鍵盤楽器200に対する撮影装置15の方向である。
【0018】
図3は、演奏解析システム100の機能的な構成を例示するブロック図である。制御装置11は、記憶装置12に記憶されたプログラムを実行することで、演奏解析部30および表示制御部40として機能する。演奏解析部30は、演奏データPおよび画像データD1の解析により、利用者の運指を表す運指データQを生成する。運指データQは、鍵盤楽器200の複数の鍵21の各々が利用者の複数の手指のうち何れの手指により操作されたかを指定する。具体的には、運指データQは、利用者が操作した鍵21に対応する音高nと、利用者が当該鍵21の操作に使用した手指の番号(以下「指番号」という)kとを指定する。音高nは、例えばMIDI規格におけるノート番号である。指番号kは、利用者の左手および右手の各手指に付与された番号である。
【0019】
表示制御部40は、各種の画像を表示装置14に表示させる。例えば、表示制御部40は、演奏解析部30による解析の結果を表す画像(以下「解析画面」という)61を表示装置14に表示させる。
図4は、解析画面61の模式図である。解析画面61は、横方向の時間軸と縦方向の音高軸とが設定された座標平面に複数の音符画像611が配置された画像である。音符画像611は利用者が演奏した音符毎に表示される。音高軸の方向における音符画像611の位置は、当該音符画像611が表す音符の音高nに応じて設定される。時間軸の方向における音符画像611の位置および全長は、当該音符画像611が表す音符の発音期間に応じて設定される。
【0020】
各音符の音符画像611には、運指データQが当該音符について指定する指番号kに対応する符号(以下「運指符号」という)612が配置される。運指符号612の文字「L」は左手を意味し、運指符号612の文字「R」は右手を意味する。また、運指符号612の数字は各手指を意味する。具体的には、運指符号612の数字「1」は親指を意味し、数字「2」は人差指を意味し、数字「3」は中指を意味し、数字「4」は薬指を意味し、数字「5」は小指を意味する。したがって、例えば運指符号612「R2」は右手の人差指を意味し、運指符号612「L4」は左手の薬指を意味する。音符画像611および運指符号612は、右手と左手とについて相異なる態様(例えば色相または階調)で表示される。表示制御部40は、運指データQを利用して
図4の解析画面61を表示装置14に表示させる。
【0021】
なお、解析画面61内の複数の音符画像611のうち、指番号kの推定結果の信頼性が低い音符については、通常の音符画像611とは相違する態様(例えば破線状の枠線)で音符画像611が表示され、かつ、指番号kの推定結果が無効であることを意味する特定の符号「??」が表示される。
【0022】
図3に例示される通り、演奏解析部30は、指位置データ生成部31と運指データ生成部32とを具備する。指位置データ生成部31は、演奏画像G1の解析により指位置データFを生成する。指位置データFは、利用者の左手の各手指の位置と右手の各手指の位置とを表すデータである。以上の通り、第1実施形態においては、利用者の各手指の位置が左手と右手とに区別されるから、利用者の左手と右手とを区別した運指を推定できる。他方、運指データ生成部32は、演奏データPと指位置データFとを利用して運指データQを生成する。指位置データFおよび運指データQは、時間軸上の単位期間毎に生成される。各単位期間は、所定長の期間(フレーム)である。
【0023】
A:指位置データ生成部31
指位置データ生成部31は、画像抽出部311と行列生成部312と指位置推定部313と射影変換部314とを具備する。
【0024】
[指位置推定部313]
指位置推定部313は、画像データD1が表す演奏画像G1の解析により利用者の左手および右手の各手指の位置c[h,f]を推定する。各手指の位置c[h,f]は、演奏画像G1に設定されるx-y座標系における各指先の位置である。位置c[h,f]は、演奏画像G1のx-y座標系におけるx軸上の座標x[h,f]とy軸上の座標y[h,f]との組合せ(x[h,f],y[h,f])で表現される。x軸の正方向は、鍵盤22の右方向(低音から高音に向かう方向)に相当し、x軸の負方向は、鍵盤22の左方向(高音から低音に向かう方向)に相当する。記号hは、左手および右手の何れかを示す変数である(h=1,2)。具体的には、変数hの数値「1」は左手を意味し、変数hの数値「2」は右手を意味する。変数fは、左手および右手の各々における各手指の番号(f=1~5)である。変数fの数値「1」は親指を意味し、数値「2」は人差指を意味し、数値「3」は中指を意味し、数値「4」は薬指を意味し、数値「5」は小指を意味する。したがって、例えば
図2に例示された位置c[1,2]は、左手(h=1)の人差指(f=2)の指先の位置であり、位置c[2,4]は、右手(h=2)の薬指(f=4)の指先の位置である。
【0025】
図5は、指位置推定部313が利用者の各手指の位置を推定する処理(以下「指位置推定処理」という)の具体的な手順を例示するフローチャートである。指位置推定処理は、画像解析処理Sa1と左右判定処理Sa2と補間処理Sa3とを含む。
【0026】
画像解析処理Sa1は、利用者の左手および右手の一方(以下「第1手」という)における各手指の位置c[h,f]と、利用者の左手および右手の他方(以下「第2手」という)における各手指の位置c[h,f]とを、演奏画像G1の解析により推定する処理である。具体的には、指位置推定部313は、画像の解析により利用者の骨格または関節を推定する画像認識処理により、第1手の各手指の位置c[h,1]~c[h,5]と第2手の各手指の位置c[h,1]~c[h,5]とを推定する。画像解析処理Sa1には、例えばMediaPipeまたはOpenPose等の公知の画像認識処理が利用される。なお、演奏画像G1から指先が検出されない場合、x軸上における当該指先の座標x[h,f]は「0」等の無効値に設定される。
【0027】
画像解析処理Sa1においては、利用者の第1手の各手指の位置c[h,1]~c[h,5]と第2手の各手指の位置c[h,1]~c[h,5]とは推定されるが、第1手および第2手の各々が利用者の左手および右手の何れに該当するのかまでは特定できない。また、鍵盤楽器200の演奏においては、利用者の右腕と左腕とが交差する場合があるため、画像解析処理Sa1により推定された各位置c[h,f]の座標x[h,f]のみから左手/右手を確定することは適切でない。なお、利用者の両腕および胴体を含む部分を撮影装置15により撮影すれば、利用者の両肩および両腕の座標から、利用者の左手/右手を演奏画像G1から推定できる。しかし、撮影装置15により広範囲を撮影する必要があるという問題、および、画像解析処理Sa1の処理負荷が増大するという問題がある。
【0028】
以上の事情を考慮して、第1実施形態の指位置推定部313は、第1手および第2手の各々が利用者の左手および右手の何れに該当するのかを判定する
図5の左右判定処理Sa2を実行する。すなわち、指位置推定部313は、第1手および第2手の各々の手指の位置c[h,f]における変数hを、左手を意味する数値「1」および右手を意味する数値「2」の何れかに確定する。
【0029】
鍵盤楽器200を演奏する状態では、左手および右手の双方の甲が鉛直方向の上方に位置するから、撮影装置15が撮影する演奏画像G1は、利用者の左手および右手の双方の甲の画像を含む。したがって、演奏画像G1内の左手においては、親指の位置c[h,1]が小指の位置c[h,5]よりも右方に位置し、演奏画像G1内の右手においては、親指の位置c[h,1]が小指の位置c[h,5]よりも左方に位置する。以上の事情を考慮して、指位置推定部313は、左右判定処理Sa2において、第1手および第2手のうち、親指の位置c[h,1]が小指の位置c[h,5]よりも右方(x軸の正方向)に位置する手を左手(h=1)と判定する。他方、指位置推定部313は、第1手および第2手のうち、親指の位置c[h,1]が小指の位置c[h,5]よりも左方(x軸の負方向)に位置する手を右手と判定する。
【0030】
図6は、左右判定処理Sa2の具体的な手順を例示するフローチャートである。指位置推定部313は、第1手および第2手の各々について判定指標γ[h]を算定する(Sa21)。判定指標γ[h]は、例えば以下の数式(1)により算定される。
【数1】
数式(1)の記号μ[h]は、第1手および第2手の各々における5本の手指の座標x[h,1]~x[h,5]の平均値(例えば単純平均)である。数式(1)から理解される通り、親指から小指にかけて座標x[h,f]が減少する場合(左手)には判定指標γ[h]が負数となり、親指から小指にかけて座標x[h,f]が増加する場合(右手)には判定指標γ[h]が正数となる。そこで、指位置推定部313は、第1手および第2手のうち判定指標γ[h]が負数である手を左手と判定し、変数hを数値「1」に設定する(Sa22)。また、指位置推定部313は、第1手および第2手のうち判定指標γ[h]が正数である手を右手と判定し、変数hを数値「2」に設定する(Sa23)。以上に説明した左右判定処理Sa2によれば、親指の位置と小指の位置との関係を利用した簡便な処理により、利用者の各手指の位置c[h,f]を右手と左手とに区別できる。
【0031】
画像解析処理Sa1および左右判定処理Sa2により、利用者の各手指の位置c[h,f]が、単位期間毎に推定される。しかし、演奏画像G1に存在するノイズ等の種々の事情により、位置c[h,f]が適正に推定されない場合がある。そこで、指位置推定部313は、特定の単位期間(以下「欠落期間」という)において位置c[h,f]が欠落した場合に、当該欠落期間の前後の単位期間における位置c[h,f]を利用した補間処理Sa3により、欠落期間における位置c[h,f]を算定する。例えば、時間軸上で連続する3個の単位期間のうち中央の単位期間(欠落期間)において位置c[h,f]が欠落した場合、欠落期間の直前の単位期間における位置c[h,f]と直後の単位期間における位置c[h,f]との平均が、欠落期間における位置c[h,f]として算定される。
【0032】
[画像抽出部311]
前述の通り、演奏画像G1は、鍵盤画像g1と手指画像g2とを含む。
図3の画像抽出部311は、
図7に例示される通り、演奏画像G1のうち特定の領域(以下「特定領域」という)Bを抽出する。特定領域Bは、演奏画像G1のうち鍵盤画像g1と手指画像g2とを含む領域である。手指画像g2は、利用者の身体の少なくとも一部の画像に相当する。
【0033】
図8は、画像抽出部311が演奏画像G1から特定領域Bを抽出する処理(以下「画像抽出処理」という)の具体的な手順を例示するフローチャートである。画像抽出処理は、領域推定処理Sb1と領域抽出処理Sb2とを含む。
【0034】
領域推定処理Sb1は、画像データD1が表す演奏画像G1について特定領域Bを推定する処理である。具体的には、画像抽出部311は、領域推定処理Sb1により、特定領域Bを表す画像処理マスクMを画像データD1から生成する。画像処理マスクMは、
図7に例示される通り、演奏画像G1と同等のサイズのマスクであり、演奏画像G1の相異なる画素に対応する複数の要素で構成される。具体的には、画像処理マスクMは、演奏画像G1の特定領域Bに対応する領域内の各要素が数値「1」に設定され、特定領域B以外の領域内の各要素が数値「0」に設定されたバイナリマスクである。制御装置11が領域推定処理Sb1を実行することで、演奏画像G1の特定領域Bを推定する要素(領域推定部)が実現される。
【0035】
図3に例示される通り、画像抽出部311による画像処理マスクMの生成には推定モデル51が利用される。すなわち、画像抽出部311は、演奏画像G1を表す画像データD1を推定モデル51に入力することで画像処理マスクMを生成する。推定モデル51は、画像データD1と画像処理マスクMとの関係を機械学習により学習した統計モデルである。推定モデル51は、例えば深層ニューラルネットワーク(DNN:Deep Neural Network)で構成される。例えば、畳込ニューラルネットワーク(CNN:Convolutional Neural Network)または再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)等の任意の形式の深層ニューラルネットワークが推定モデル51として利用される。複数種の深層ニューラルネットワークの組合せで推定モデル51が構成されてもよい。また、長短期記憶(LSTM:Long Short-Term Memory)等の付加的な要素が推定モデル51に搭載されてもよい。
【0036】
図9は、推定モデル51を確立する機械学習の説明図である。例えば演奏解析システム100とは別体の機械学習システム900による機械学習で推定モデル51が確立され、当該推定モデル51が演奏解析システム100に提供される。機械学習システム900は、例えばインターネット等の通信網を介して演奏解析システム100と通信可能なサーバシステムである。機械学習システム900から通信網を介して演奏解析システム100に推定モデル51が送信される。
【0037】
推定モデル51の機械学習には複数の学習データTが利用される。複数の学習データTの各々は、学習用の画像データDtと学習用の画像処理マスクMtとの組合せで構成される。画像データDtは、鍵盤楽器の鍵盤画像g1と当該鍵盤楽器の周囲の画像とを含む既知画像を表す。鍵盤楽器の機種および撮影条件(例えば撮影範囲および撮影方向)は、画像データDt毎に相違する。すなわち、複数種の鍵盤楽器の各々を相異なる撮影条件により撮影することで画像データDtが事前に用意される。なお、公知の画像合成技術により画像データDtが用意されてもよい。各学習データTの画像処理マスクMtは、当該学習データTの画像データDtが表す既知画像のうち特定領域Bを表すマスクである。具体的には、画像処理マスクMtのうち特定領域Bに対応する領域内の要素は数値「1」に設定され、特定領域B以外の領域内の要素は数値「0」に設定される。すなわち、画像処理マスクMtは、画像データDtの入力に対して推定モデル51が出力すべき正解を意味する。
【0038】
機械学習システム900は、各学習データTの画像データDtを入力したときに初期的または暫定的なモデル(以下「暫定モデル」という)51aが出力する画像処理マスクMと、当該学習データTの画像処理マスクMとの誤差を表す誤差関数を算定する。そして、機械学習システム900は、誤差関数が低減されるように暫定モデル51aの複数の変数を更新する。複数の学習データTの各々について以上の処理が反復された時点の暫定モデル51aが、推定モデル51として確定される。したがって、推定モデル51は、複数の学習データTにおける画像データDtと画像処理マスクMtとの間に潜在する関係のもとで、未知の画像データD1に対して統計的に妥当な画像処理マスクMを出力する。すなわち、推定モデル51は、画像データDtと画像処理マスクMtとの関係を学習した学習済モデルである。
【0039】
以上の通り、第1実施形態においては、機械学習済の推定モデル51に演奏画像G1の画像データD1を入力することで、特定領域Bを表す画像処理マスクMが生成される。したがって、未知の多様な演奏画像G1について特定領域Bを高精度に特定できる。
【0040】
図8の領域抽出処理Sb2は、画像データD1が表す演奏画像G1のうち特定領域Bを抽出する処理である。具体的には、領域抽出処理Sb2は、演奏画像G1のうち特定領域以外の領域を選択的に除去することで特定領域Bを相対的に強調する画像処理である。第1実施形態の画像抽出部311は、画像処理マスクMを画像データD1(演奏画像G1)に適用することで画像データD2を生成する。具体的には、画像抽出部311は、演奏画像G1における各画素の画素値に対して、画像処理マスクMのうち当該画素に対応する要素を乗算する。領域抽出処理Sb2により、
図7に例示される通り、演奏画像G1のうち特定領域B以外の領域が除去された画像(以下「演奏画像G2」という)を表す画像データD2が生成される。すなわち、画像データD2が表す演奏画像G2は、演奏画像G1のうち鍵盤画像g1と手指画像g2とが抽出された画像である。制御装置11が領域抽出処理Sb2を実行することで、演奏画像G1の特定領域Bを抽出する要素(領域抽出部)が実現される。
【0041】
[射影変換部314]
指位置推定処理により推定された各手指の位置c[h,f]は、演奏画像G1に設定されたx-y座標系における座標である。撮影装置15による鍵盤楽器200の撮影条件は、鍵盤楽器200の使用環境等の各種の事情に応じて相違し得る。例えば、
図2に例示した理想的な撮影条件と比較して撮影範囲が広過ぎる(または狭過ぎる)場合または撮影方向が鉛直方向に対して傾斜する場合が想定される。各位置c[h,f]における座標x[h,f]および座標y[h,f]の数値は、撮影装置15による演奏画像G1の撮影条件に依存する。そこで、第1実施形態の射影変換部314は、演奏画像G1に関する各手指の位置c[h,f]を、撮影装置15による撮影条件に実質的に依存しないX-Y座標系における位置C[h,f]に変換(image registration)する。指位置データ生成部31が生成する指位置データFは、射影変換部314による変換後の位置C[h,f]を表すデータである。すなわち、指位置データFは、利用者の左手の各手指の位置C[1,1]~C[1,5]と、利用者の右手の各手指の位置C[2,1]~C[2,5]とを指定する。
【0042】
X-Y座標系は、
図10に例示される通り、所定の画像(以下「参照画像」という)Grefに設定される。参照画像Grefは、標準的な鍵盤楽器の鍵盤(以下「参照楽器」という)を標準的な撮影条件で撮影した画像である。なお、参照画像Grefは、実在の鍵盤を撮影した画像に限定されない。例えば公知の画像合成技術により合成された画像が参照画像Grefとして利用されてもよい。参照画像Grefを表す画像データ(以下「参照データ」という)Drefと、当該参照画像Grefに関する補助データAとが、記憶装置12に記憶される。
【0043】
補助データAは、参照画像Gref内において参照楽器の各鍵21が存在する領域(以下「単位領域」という)Rnと、当該鍵21に対応する音高nとの組合せを指定するデータである。すなわち、補助データAは、参照画像Grefのうち各音高nに対応する単位領域Rnを定義するデータとも換言される。
【0044】
x-y座標系の位置c[h,f]からX-Y座標系の位置C[h,f]への変換には、以下の数式(2)で表現される通り、変換行列Wを利用した射影変換が利用される。数式(2)の記号Xは、X-Y座標系におけるX軸上の座標を意味し、記号YはY軸上の座標を意味する。また、記号sは、x-y座標系とX-Y座標系との間で縮尺(スケール)を整合させるための調整値である。
【数2】
【0045】
[行列生成部312]
図3の行列生成部312は、射影変換部314が射影変換に適用する数式(2)の変換行列Wを生成する。
図11は、行列生成部312が変換行列Wを生成する処理(以下「行列生成処理」という)の具体的な手順を例示するフローチャートである。第1実施形態の行列生成処理は、画像抽出処理による処理後の演奏画像G2(画像データD2)を処理対象として実行される。以上の構成によれば、特定領域B以外の領域も含む演奏画像G1の全体を処理対象として行列生成処理が実行される構成と比較して、鍵盤画像g1を参照画像Grefに高精度に近似させる適切な変換行列Wを生成できる。
【0046】
行列生成処理は、初期設定処理Sc1と行列更新処理Sc2とを含む。初期設定処理Sc1は、変換行列Wの初期値である初期行列W0を設定する処理である。初期設定処理Sc1の詳細については後述する。
【0047】
行列更新処理Sc2は、初期行列W0を反復的に更新することで変換行列Wを生成する処理である。すなわち、射影変換部314は、演奏画像G2の鍵盤画像g1が、変換行列Wを利用した射影変換により参照画像Grefに近付くように、初期行列W0を反復的に更新することで、変換行列Wを生成する。例えば、参照画像Grefにおける特定の地点のX軸上の座標X/sが、鍵盤画像g1のうち当該地点に対応する地点のx軸上の座標xに近似または一致し、かつ、参照画像Grefにおける特定の地点のY軸上の座標Y/sが、鍵盤画像g1のうち当該地点に対応する地点のy軸上の座標yに近似または一致するように、変換行列Wが生成される。すなわち、鍵盤画像g1のうち特定の音高に対応する鍵21の座標が、変換行列Wを適用した射影変換により、参照画像Grefのうち当該音高に対応する鍵21の座標に変換されるように、変換行列Wが生成される。以上に例示した行列更新処理Sc2を制御装置11が実行することで、変換行列Wを生成する要素(行列生成部312)が実現される。
【0048】
ところで、行列更新処理Sc2としては、例えばSIFT(Scale-Invariant Feature Transform)等の画像特徴量が参照画像Grefと鍵盤画像g1との間で近付くように変換行列Wを更新する処理が想定される。しかし、鍵盤画像g1においては、複数の鍵21が同様に配列されたパターンが反復されるから、画像特徴量を利用した形態では変換行列Wを適切に推定できない可能性がある。
【0049】
以上の事情を考慮して、第1実施形態の行列生成部312は、行列更新処理Sc2において、参照画像Grefと鍵盤画像g1との間の拡張相関係数(ECC:Enhanced Correlation Coefficient)が増加(理想的には最大化)するように初期行列W0を反復的に更新する。以上の形態によれば、画像特徴量を利用した前述の形態と比較して、鍵盤画像g1を参照画像Grefに高精度に近似させ得る適切な変換行列Wを生成できる。拡張相関係数を利用した変換行列Wの生成については、Georgios D. Evangelidis and Emmanouil Z. Psarakis, "Parametric Image Alignment Using Enhanced Correlation Coefficient Maximization", IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 30, NO. 10, October 2008、にも開示されている。なお、前述の通り、鍵盤画像g1の変換に利用される変換行列Wの生成には拡張相関係数が好適であるが、前述のSIFT等の画像特徴量が参照画像Grefと鍵盤画像g1との間で近付くように変換行列Wを生成してもよい。
【0050】
図3の射影変換部314は、射影変換処理を実行する。射影変換処理は、行列生成処理により生成された変換行列Wを利用した演奏画像G1の射影変換である。射影変換処理により、演奏画像G1は、参照画像Grefと同等の撮影条件のもとで撮影された画像(以下「変換画像」という)に変換される。例えば、変換画像のうち音高nの鍵21に対応する領域は、参照画像Grefにおける当該音高nの単位領域Rnに実質的に一致する。また、変換画像のx-y座標系は、参照画像GrefのX-Y座標系に実質的に一致する。以上に説明した射影変換処理において、射影変換部314は、前述の数式(2)で表現される通り、各手指の位置c[h,f]を、X-Y座標系の位置C[h,f]に変換する。以上に例示した射影変換処理を制御装置11が実行することで、演奏画像G1の射影変換を実行する要素(射影変換部314)が実現される。
【0051】
表示制御部40は、射影変換処理により生成された変換画像を表示装置14に表示させる。例えば、表示制御部40は、変換画像と参照画像Grefと相互に重複させた状態で表示装置14に表示させる。前述の通り、変換画像のうち各音高nの鍵21に対応する領域と、参照画像Grefのうち当該音高nに対応する単位領域Rnとは、相互に重複する。
【0052】
以上の通り、第1実施形態においては、演奏画像G1の鍵盤画像g1が参照画像Grefに近付くように変換行列Wが生成され、変換行列Wを利用した射影変換処理が演奏画像G1に対して実行される。したがって、利用者が演奏する鍵盤楽器200の演奏画像G1を、参照画像Grefにおける参照楽器の撮影条件に対応する変換画像に変換できる。
【0053】
図12は、初期設定処理Sc1の具体的な手順を例示するフローチャートである。初期設定処理Sc1が開始されると、射影変換部314は、
図13に例示される設定画面62を表示装置14に表示させる(Sc11)。設定画面62は、撮影装置15が撮影する演奏画像G1と、利用者に対する指示622とを含む。指示622は、演奏画像G1内の鍵盤画像g1のうち1個以上の特定の音高(以下「目標音高」という)nに対応する領域(以下「目標領域」という)621を選択する旨のメッセージである。利用者は、設定画面62を視認しながら操作装置13を操作することで、演奏画像G1のうち、目標音高nに対応する目標領域621を選択する。射影変換部314は、利用者による目標領域621の選択を受付ける(Sc12)。
【0054】
射影変換部314は、参照データDrefが表す参照画像Grefのうち補助データAが目標音高nについて指定する1個以上の単位領域Rnを特定する(Sc13)。そして、射影変換部314は、演奏画像G1の目標領域621を、参照画像Grefから特定された1個以上の単位領域Rnに射影変換するための行列を、初期行列W0として算定する(Sc14)。以上の説明から理解される通り、第1実施形態の初期設定処理Sc1は、鍵盤画像g1のうち利用者から指示された目標領域621が、初期行列W0を利用した射影変換により、参照画像Grefのうち目標音高nに対応する単位領域Rnに近付くように、初期行列W0を設定する処理である。
【0055】
行列更新処理Sc2により適切な変換行列Wを生成するには、初期行列W0の設定が重要である。行列更新処理Sc2に拡張相関係数を利用する形態においては特に、初期行列W0の適否が最終的な変換行列Wの適否に影響し易いという傾向がある。第1実施形態においては、演奏画像G1のうち利用者からの指示に応じた目標領域621が、参照画像Grefのうち目標音高nに対応する単位領域Rnに近付くように、初期行列W0が設定される。したがって、鍵盤画像g1を参照画像Grefに高精度に近似させ得る適切な変換行列Wを生成できる。また、第1実施形態においては、演奏画像G1のうち利用者が操作装置13に対する操作で指定した領域が目標領域621として初期行列W0の設定に利用される。したがって、例えば演奏画像G1のうち目標音高nに対応する領域を演算処理により推定する形態と比較して、処理負荷を低減しながら適切な初期行列W0を生成できる。なお、以上の説明においては演奏画像G1を対象として初期設定処理Sc1を実行したが、演奏画像G2について初期設定処理Sc1が実行されてもよい。
【0056】
B:運指データ生成部32
図3の運指データ生成部32は、前述の通り、鍵盤楽器200が生成する演奏データPと指位置データ生成部31が生成する指位置データFとを利用して運指データQを生成する。運指データQの生成は、単位期間毎に実行される。第1実施形態の運指データ生成部32は、確率算定部321と運指推定部322とを具備する。なお、以上の説明においては、利用者の1個の手指を変数hと変数fとの組合せで表現したが、以下の説明においては、利用者の1個の手指を指番号k(k=1~10)で表現する。したがって、指位置データFが各手指について指定する位置C[h,f]は、以下の説明では位置C[k]と表記される。
【0057】
[確率算定部321]
確率算定部321は、演奏データPにより指定された音高nが各指番号kの手指により演奏された確率pを、指番号k毎に算定する。確率pは、指番号kの手指が音高nの鍵21を操作した確度の指標(尤度)である。確率算定部321は、指番号kの手指の位置C[k]が音高nの単位領域Rn内に存在するか否かに応じて確率pを算定する。確率pは、時間軸上の単位期間毎に算定される。具体的には、演奏データPが音高nを指定する場合、確率算定部321は、以下に例示する数式(3)の演算により、確率p(C[k]|ηk=n)を算定する。
【数3】
【0058】
確率p(C[k]|ηk=n)における条件「ηk=n」は、指番号kの手指が音高nを演奏しているという条件を意味する。すなわち、確率p(C[k]|ηk=n)は、指番号kの手指が音高nを演奏している状況のもとで当該手指について位置C[k]が観測される確率を意味する。
【0059】
数式(3)の記号I(C[k]∈Rn)は、位置C[k]が単位領域Rn内に存在する場合に数値「1」に設定され、位置C[k]が単位領域Rn外に存在する場合に数値「0」に設定される指示関数である。記号|Rn|は、単位領域Rnの面積を意味する。また、記号ν(0,σ2E)は、観測ノイズを意味し、平均0および分散σ2の正規分布で表現される。記号Eは2行2列の単位行列である。記号*は観測ノイズν(0,σ2E)の畳込を意味する。
【0060】
以上の説明から理解される通り、確率算定部321が算定する確率p(C[k]|ηk=n)は、演奏データPにより指定される音高nが指番号kの手指により演奏されるという条件のもとで、当該手指の位置が、指位置データFが当該手指について指定する位置C[k]である確度である。したがって、確率p(C[k]|ηk=n)は、指番号kの手指の位置C[k]が演奏状態の単位領域Rn内にある場合に極大となり、当該位置C[k]が単位領域Rnから離間するほど減少する。
【0061】
他方、演奏データPが何れの音高nも指定しない場合、すなわち、利用者がN個の鍵21の何れも操作していない場合、確率算定部321は、各手指の確率p(C[k]|ηk=0)を以下の数式(4)により算定する。
【数4】
数式(4)の記号|R|は、参照画像GrefにおけるN個の単位領域R1~RNの総面積を意味する。数式(4)から理解される通り、利用者が何れの鍵21も操作していない状態では、確率p(C[k]|ηk=0)は、全部の指番号kについて共通の数値(1/|R|)に設定される。
【0062】
以上の通り、演奏データPが音高nを指定する期間内においては、相異なる手指に対応する複数の確率p(C[k]|ηk=n)が、時間軸上の単位期間毎に算定される。他方、演奏データPが音高nを指定しない期間内の各単位期間においては、相異なる手指に対応する複数の確率p(C[k]|ηk=0)が、充分に小さい固定値(1/|R|)に設定される。
【0063】
[運指推定部322]
運指推定部322は、利用者の運指を推定する。具体的には、運指推定部322は、各手指の確率p(C[k]|ηk=n)から、演奏データPにより指定される音高nを演奏した手指(指番号k)を推定する。運指推定部322による指番号kの推定(運指データQの生成)は、各手指の確率p(C[k]|ηk=n)の算定毎(すなわち単位期間毎)に実行される。具体的には、運指推定部322は、相異なる手指に対応する複数の確率p(C[k]|ηk=n)のうち最大値に対応する指番号kを特定する。そして、運指推定部322は、演奏データPが指定する音高nと、確率p(C[k]|ηk=n)から特定した指番号kとを指定する運指データQを生成する。
【0064】
なお、演奏データPが音高nを指定する期間内において、複数の確率p(C[k]|ηk=n)のうちの最大値が所定の閾値を下回る場合には、運指を推定した結果の信頼性が低いことを意味する。そこで、運指推定部322は、複数の確率p(C[k]|ηk=n)の最大値が閾値を下回る単位期間においては、指番号kを、推定結果の無効を意味する無効値に設定する。指番号kが無効値に設定された音符について、表示制御部40は、
図4の例示の通り、通常の音符画像611とは相違する態様で音符画像611を表示し、指番号kの推定結果が無効であることを意味する符号「??」を表示する。運指データ生成部32の構成および動作は以上の通りである。
【0065】
図14は、演奏解析部30が実行する処理(以下「演奏解析処理」という)の具体的な手順を例示するフローチャートである。例えば操作装置13に対する利用者からの指示を契機として演奏解析処理が開始される。
【0066】
演奏解析処理が開始されると、制御装置11(画像抽出部311)は、
図8の画像抽出処理を実行する(S11)。すなわち、制御装置11は、演奏画像G1のうち鍵盤画像g1と手指画像g2とを含む特定領域Bを抽出することで演奏画像G2を生成する。画像抽出処理は、前述の通り、領域推定処理Sb1と領域抽出処理Sb2とを含む。
【0067】
画像抽出処理を実行すると、制御装置11(行列生成部312)は、
図11の行列生成処理を実行する(S12)。すなわち、制御装置11は、参照画像Grefと鍵盤画像g1との間の拡張相関係数が増加するように初期行列W0を反復的に更新することで、変換行列Wを生成する。行列生成処理は、前述の通り、初期設定処理Sc1と行列更新処理Sc2とを含む。
【0068】
変換行列Wが生成されると、制御装置11は、以下に例示する処理(S13~S18)を単位期間毎に反復する。まず、制御装置11(指位置推定部313)は、
図5の指位置推定処理を実行する(S13)。すなわち、制御装置11は、演奏画像G1の解析により利用者の左手および右手の各手指の位置c[h,f]を推定する。指位置推定処理は、前述の通り、画像解析処理Sa1と左右判定処理Sa2と補間処理Sa3とを含む。
【0069】
制御装置11(射影変換部314)は、射影変換処理を実行する(S14)。すなわち、制御装置11は、変換行列Wを利用した演奏画像G1の射影変換により変換画像を生成する。射影変換処理において、制御装置11は、利用者の各手指の位置c[h,f]を、X-Y座標系における位置C[h,f]に変換し、各手指の位置C[h,f]を表す指位置データFを生成する。
【0070】
以上の処理により指位置データFを生成すると、制御装置11(確率算定部321)は、確率算定処理を実行する(S15)。すなわち、制御装置11は、演奏データPが指定する音高nが各指番号kの手指により演奏された確率p(C[k]|ηk=n)を算定する。そして、制御装置11(運指推定部322)は、運指推定処理を実行する(S16)。すなわち、制御装置11は、音高nを演奏した手指の指番号kを各手指の確率p(C[k]|ηk=n)から推定し、音高nと指番号kとを指定する運指データQを生成する。
【0071】
以上の処理により運指データQを生成すると、制御装置11(表示制御部40)は、運指データQに応じて解析画面61を更新する(S17)。また、制御装置11は、所定の終了条件が成立したか否かを判定する(S18)。例えば操作装置13に対する操作で利用者から演奏解析処理の終了が指示された場合に、制御装置11は終了条件が成立したと判定する。終了条件が成立しない場合(S18:NO)、制御装置11は、直後の単位期間について、指位置推定処理以降の処理(S13~S18)を反復する。他方、終了条件が成立した場合(S18:YES)、制御装置11は、演奏解析処理を終了する。
【0072】
以上に説明した通り、第1実施形態においては、演奏画像G1の解析により生成される指位置データFと、利用者による演奏を表す演奏データPとを利用して、運指データQが生成される。したがって、演奏データPのみから運指を推定する構成と比較して運指を高精度に推定できる。
【0073】
また、第1実施形態においては、鍵盤画像g1を参照画像Grefに近付ける射影変換のための変換行列Wを利用して、指位置推定処理により推定された各手指の位置c[h,f]が変換される。すなわち、参照画像Grefを基準とした各手指の位置C[h,f]が推定される。したがって、各手指の位置c[h,f]を、参照画像Grefを基準とした位置に変換しない構成と比較して、運指を高精度に推定できる。
【0074】
第1実施形態においては、演奏画像G1のうち鍵盤画像g1を含む特定領域Bが抽出される。したがって、前述の通り、鍵盤画像g1を参照画像Grefに高精度に近似させ得る適切な変換行列Wを生成できる。また、特定領域Bの抽出により、演奏画像G1の利便性を向上させることが可能である。第1実施形態においては特に、演奏画像G1のうち鍵盤画像g1と手指画像g2とを含む特定領域Bが抽出される。したがって、鍵盤楽器200の鍵盤22の様子と利用者の手指の様子とを効率的に視認可能な演奏画像G2を生成できる。
【0075】
2:第2実施形態
第2実施形態を説明する。なお、以下に例示する各形態において機能が第1実施形態と同様である要素については、第1実施形態の説明で使用したのと同様の符号を流用して各々の詳細な説明を適宜に省略する。
【0076】
第1実施形態においては、指番号kの手指の位置C[k]が音高nの単位領域Rn内に存在するか否かに応じて確率p(C[k]|ηk=n)が算定される。単位領域Rn内に1本の手指のみが存在することを前提とすれば、第1実施形態においても運指を高精度に推定できる。ただし、鍵盤楽器200の実際の演奏においては、1個の単位領域Rn内に複数の手指の位置C[k]が存在する場合が想定される。
【0077】
例えば、
図15に例示される通り、利用者が左手の中指で1個の鍵21を操作した状態で、当該左手の人差指を鉛直方向の上方に移動させた場合、演奏画像G1においては、左手の中指と人差指とが相互に重複する。すなわち、左手の中指の位置C[k]と人差指の位置C[k]とが1個の単位領域Rn内に存在する。また、利用者が1本の指で鍵21を操作した状態で当該手指の上方または下方に他の他指を通過させる演奏方法(指くぐり)においては、複数の手指が相互に重複する場合がある。以上のように複数の手指が1個の単位領域Rn内において相互に重複する場合には、第1実施形態の方法では、運指を高精度に推定できない可能性がある。第2実施形態は、以上の課題を解決するための形態である。具体的には、第2実施形態においては、複数の手指の位置関係と各手指の位置の時間的な変動(ばらつき)とが、運指の推定に加味される。
【0078】
図16は、第2実施形態における演奏解析システム100の機能的な構成を例示するブロック図である。第2実施形態の演奏解析システム100は、第1実施形態と同様の要素に制御データ生成部323を追加した構成である。
【0079】
制御データ生成部323は、相異なる音高nに対応するN個の制御データZ[1]~Z[N]を生成する。
図17は、任意の1個の音高nに対応する制御データZ[n]の模式図である。制御データZ[n]は、音高nの単位領域Rnに対する各手指の相対的な位置(以下「相対位置」という)C'[k]の特徴を表すベクトルデータである。相対位置C'[k]は、指位置データFが表す位置C[k]を単位領域Rnに対する相対的な位置に変換した情報である。
【0080】
1個の音高nに対応する制御データZ[n]は、当該音高nを含むほか、複数の手指の各々について、位置平均Za[n,k]と位置分散Zb[n,k]と速度平均Zc[n,k]と速度分散Zd[n,k]とを含む。位置平均Za[n,k]は、現在の単位期間を含む所定長の期間(以下「観測期間」という)内における相対位置C'[k]の平均である。観測期間は、例えば、現在の単位期間を末尾として時間軸上で前方に配列する複数の単位期間に相当する期間である。位置分散Zb[n,k]は、観測期間内における相対位置C'[k]の分散である。速度平均Zc[n,k]は、観測期間内において相対位置C'[k]が変化する速度(すなわち変化率)の平均である。速度分散Zd[n,k]は、観測期間内において相対位置C'[k]が変化する速度の分散である。
【0081】
以上の通り、制御データZ[n]は、複数の手指の各々について相対位置C'[k]に関する情報(Za[n,k],Zb[n,k].Zc[n,k],Zd[n,k])を含む。したがって、制御データZ[n]は、利用者の複数の手指の位置関係が反映されたデータである。また、制御データZ[n]は、複数の手指の各々について相対位置C'[k]の変動に関する情報(Zb[n,k],Zd[n,k])を含む。したがって、制御データZ[n]は、各手指の位置の時間的な変動が反映されたデータである。
【0082】
第2実施形態の確率算定部321による確率算定処理には、相異なる手指について事前に用意された複数の推定モデル52[k](52[1]~52[10])が利用される。各手指の推定モデル52[k]は、制御データZ[n]と当該手指に関する確率p[k]との関係を学習した学習済モデルである。確率p[k]は、演奏データPが指定する音高nを指番号kの手指が演奏した確度の指標(確率)である。確率算定部321は、複数の手指の各々について、N個の制御データZ[1]~Z[N]を当該手指の推定モデル52[k]に入力することで確率p[k]を算定する。
【0083】
任意の1個の指番号kに対応する推定モデル52[k]は、以下の数式(5)で表現されるロジスティック回帰モデルである。
【数5】
【0084】
数式(5)の変数βkおよび変数ωk,nは、機械学習システム900による機械学習で設定される。すなわち、機械学習システム900による機械学習で各推定モデル52[k]が確立され、各推定モデル52[k]が演奏解析システム100に提供される。例えば、各推定モデル52[k]の変数βkおよび変数ωk,nが、機械学習システム900から演奏解析システム100に送信される。
【0085】
押鍵状態にある手指の上方に位置する手指、または、押鍵状態にある手指の上方または下方を移動する手指は、押鍵状態にある手指と比較して移動し易いという傾向がある。以上の傾向を考慮すると、推定モデル52[k]は、相対位置C'[k]の変化率が高い手指について確率p[k]が小さい数値となるように、制御データZ[n]と確率p[k]との関係を学習する。確率算定部321は、複数の推定モデル52[k]の各々に制御データZ[n]を入力することで、相異なる手指に関する複数の確率p[k]を単位期間毎に算定する。
【0086】
運指推定部322は、複数の確率p[k]を適用した運指推定処理により、利用者の運指を推定する。具体的には、運指推定部322は、演奏データPが指定する音高nを演奏した手指(指番号k)を、各手指の確率p[k]から推定する。運指推定部322による指番号kの推定(運指データQの生成)は、各手指の確率p[k]の算定毎(すなわち単位期間毎)に実行される。具体的には、運指推定部322は、相異なる手指に対応する複数の確率p[k]のうち最大値に対応する指番号kを特定する。そして、運指推定部322は、演奏データPが指定する音高nと、確率p[k]から特定した指番号kとを指定する運指データQを生成する。
【0087】
図18は、第2実施形態における演奏解析処理の具体的な手順を例示するフローチャートである。第2実施形態の演奏解析処理においては、第1実施形態と同様の処理に制御データZ[n]の生成(S19)が追加される。具体的には、制御装置11(制御データ生成部323)は、指位置データ生成部31が生成する指位置データF(すなわち各手指の位置C[h,f])から、相異なる音高nに対応するN個の制御データZ[1]~Z[N]を生成する。
【0088】
制御装置11(確率算定部321)は、各推定モデル52[k]にN個の制御データZ[1]~Z[N]を入力する確率算定処理により、指番号kに対応する確率p[k]を算定する(S15)。また、制御装置11(運指推定部322)は、複数の確率p[k]を適用した運指推定処理により、利用者の運指を推定する(S16)。運指データ生成部32以外の要素の動作(S11~S14,S17~S18)は第1実施形態と同様である。
【0089】
第2実施形態においても第1実施形態と同様の効果が実現される。また、第2実施形態において推定モデル52[k]に入力される制御データZ[k]は、各手指の相対位置C'[k]の平均Za[n,k]および分散Zb[n,k]と、相対位置C'[k]の変化率の平均Zc[n,k]および分散Zd[n,k]とを含む。したがって、例えば指くぐり等に起因して複数の手指が相互に重複する状態でも、利用者の運指を高精度に推定できる。
【0090】
なお、以上の説明においては、推定モデル52[k]としてロジスティック回帰モデルを例示したが、推定モデル52[k]の種類は以上の例示に限定されない。例えば、多層パーセプトロン等の統計モデルを推定モデル52[k]として利用してもよい。また、畳込ニューラルネットワークまたは再帰型ニューラルネットワーク等の深層ニューラルネットワークを推定モデル52[k]として利用してもよい。複数種の統計モデルの組合せを推定モデル52[k]として利用してもよい。以上に例示した各種の推定モデル52[k]は、制御データZ[n]と確率p[k]との関係を学習した学習済モデルとして包括的に表現される。
【0091】
3:第3実施形態
図19は、第3実施形態における演奏解析処理の具体的な手順を例示するフローチャートである。画像抽出処理および行列生成処理を実行すると、制御装置11は、演奏データPを参照することで、利用者による鍵盤楽器200の演奏の有無を判定する(S21)。具体的には、制御装置11は、鍵盤楽器200の複数の鍵21の何れかが操作されているか否かを判定する。
【0092】
鍵盤楽器200が演奏されている場合(S21:YES)、制御装置11は、第1実施形態と同様に、指位置データFの生成(S13~S14)と運指データQの生成(S15~S16)と解析画面61の更新(S17)とを実行する。他方、鍵盤楽器200が演奏されていない場合(S21:NO)、制御装置11は処理をステップS18に移行する。すなわち、指位置データFの生成(S13~14)と運指データQの生成(S15~S16)と解析画面61の更新(S17)とは実行されない。
【0093】
第3実施形態においても第1実施形態と同様の効果が実現される。また、第3実施形態においては、鍵盤楽器200が演奏されていない場合には、指位置データFおよび運指データQの生成が停止される。したがって、鍵盤楽器200の演奏の有無に関わらず指位置データFの生成が継続される構成と比較して、運指データQの生成に必要な処理負荷を低減できる。なお、第3実施形態は第2実施形態にも適用される。
【0094】
4:第4実施形態
第4実施形態は、前述の各形態における初期設定処理Sc1を変更した形態である。
図20は、第4実施形態の制御装置11(行列生成部312)が実行する初期設定処理Sc1の具体的な手順を例示するフローチャートである。
【0095】
初期設定処理Sc1が開始されると、利用者は、鍵盤楽器200の複数の鍵21のうち所望の音高(以下「特定音高」という)nに対応する鍵21を、特定の手指(以下「特定手指」という)により操作する。特定手指は、例えば表示装置14による表示または鍵盤楽器200の取扱説明書等により利用者に通知された手指(例えば右手の人差指)である。利用者による演奏の結果、特定音高nを指定する演奏データPが鍵盤楽器200から演奏解析システム100に供給される。制御装置11は、鍵盤楽器200から演奏データPを取得することで利用者による特定音高nの演奏を認識する(Sc15)。制御装置11は、参照画像GrefのN個の単位領域R1~RNのうち特定音高nに対応する単位領域Rnを特定する(Sc16)。
【0096】
他方、指位置データ生成部31は、指位置推定処理により指位置データFを生成する。指位置データFは、利用者が特定音高nの演奏に使用した特定手指の位置C[h,f]を含む。制御装置11は、指位置データFを取得することで、特定手指の位置C[h,f]を特定する(Sc17)。
【0097】
制御装置11は、特定音高nに対応する単位領域Rnと、指位置データFが表す特定手指の位置C[h,f]とを利用して、初期行列W0を設定する(Sc18)。すなわち、制御装置11は、指位置データFが表す特定手指の位置C[h,f]が、参照画像Grefのうち特定音高nの単位領域Rnに近付くように、初期行列W0を設定する。具体的には、特定手指の位置C[h,f]を単位領域Rnの中心に射影変換するための行列が、初期行列W0として設定される。
【0098】
第4実施形態においても第1実施形態と同様の効果が実現される。また、第4実施形態においては、利用者が所望の特定音高nを特定手指で演奏すると、演奏画像G1における特定手指の位置c[h,f]が、参照画像Grefのうち特定音高nに対応する部分(単位領域Rn)に近付くように、初期行列W0が設定される。利用者は所望の音高nを演奏すればよいから、例えば利用者が操作装置13の操作により目標領域621を選択する必要がある第1実施形態と比較して、初期行列W0の設定に必要な利用者の作業の負荷が軽減される。他方、利用者が目標領域621を指定する第1実施形態によれば、利用者の手指の位置C[h,f]の推定が不要であるから、第2実施形態と比較して、推定誤差の影響を低減しながら適切な初期行列W0を設定できる。なお、第4実施形態は、第2実施形態または第3実施形態にも同様に適用される。
【0099】
なお、第4実施形態においては利用者が1個の特定音高nを演奏する場合を想定したが、複数の特定音高nを利用者が特定手指により演奏してもよい。制御装置11は、複数の特定音高nの各々について、当該特定音高nの演奏時における特定手指の位置C[h,f]と、当該特定音高nの単位領域Rnとが近付くように、初期行列W0を設定する。
【0100】
5:第5実施形態
図21は、第5実施形態における演奏解析システム100の機能的な構成を例示するブロック図である。第5実施形態の演奏解析システム100は、収音装置16を具備する。収音装置16は、利用者による演奏で鍵盤楽器200から再生される音響を収音することで音響信号Vを生成する。音響信号Vは、鍵盤楽器200が再生する音響の波形を表す時間領域のオーディオ信号である。なお、演奏解析システム100とは別体の収音装置16を、演奏解析システム100に対して有線または無線により接続してもよい。なお、音響信号Vを構成するサンプルの時系列を「演奏データP」と解釈してもよい。
【0101】
演奏解析システム100の制御装置11は、記憶装置12に記憶されたプログラムを実行することで演奏解析部30として機能する。演奏解析部30は、収音装置16から供給される音響信号Vと撮影装置15から供給される画像データD1とを利用して運指データQを生成する。運指データQは、第1実施形態と同様に、利用者が操作した鍵21に対応する音高nと、利用者が当該鍵21の操作に使用した手指の指番号kとを指定する。第1実施形態においては音高nが演奏データPにより指定されるが、第5実施形態の音響信号Vは音高nを直接的に指定する信号ではない。そこで、演奏解析部30は、音響信号Vおよび画像データD1を利用して音高nと指番号kとを同時に推定する。
【0102】
音高nおよび指番号kの推定のために、潜在変数wt,n,kを想定する。記号tは時刻を示す変数である。時間軸上の1個の単位期間が変数tにより指示されてもよい。また、第5実施形態における指番号kは、相異なる手指に対応する10個の数値(k=1~10)と所定の無効値(k=0)とを含む11通り数値の何れかに設定される。
【0103】
音高nと指番号kとの組合せ毎に潜在変数wt,n,kが用意される。潜在変数wt,n,kは、「0」および「1」の2値の何れかに設定されるone-hot表現のための変数である。潜在変数wt,n,kの数値「1」は、音高nが指番号kの手指により演奏されていることを意味し、潜在変数wt,n,kの数値「0」は、何れの手指も演奏に使用されていないことを意味する。
【0104】
また、事後確率Ut,nと確率πt,n,kとを想定する。事後確率Ut,nは、音響信号Vが観測された条件のもとで時刻tにおいて音高nが発音されている事後確率である。したがって、確率(1-Ut,n)は、音響信号Vが観測された条件のもとで潜在変数wt,n,0が数値「1」である確率(何れの音高nも演奏されていない確率)に相当する。事後確率Ut,nは、音響信号Vと事後確率Ut,nとの関係を学習した公知の推定モデルにより推定される。推定モデルは、自動採譜用の学習済モデルである。例えば畳込ニューラルネットワークまたは再帰型ニューラルネットワーク等の深層ニューラルネットワークが、事後確率Ut,nを推定するための推定モデルとして利用される。確率πt,n,kは、音高nが演奏されている状態において当該音高nが指番号kの手指により演奏されている確率である。
【0105】
音響信号Vと確率π
t,n,kとが観測されたときの潜在変数w
t,n,kの確率p(w|V,π)は、以下の数式(6)で表現される。
【数6】
数式(6)における右辺の第1項は、何れの音高nも発音されていない確率を意味し、第2項は、音高nが発音されている場合に当該音高nが指番号kの手指により演奏されている確率を意味する。
【0106】
また、潜在変数w
t,n,kが観測されたときに演奏画像G1から位置C[k]が観測される確率p(C[k]|w)は、以下の数式(7)で表現される。
【数7】
数式(7)における確率p(C[k]|σ
2,Rn)は、前掲の数式(3)または数式(4)で表現される確率である。
【0107】
また、確率π
t,n,kの事前分布としては、以下の数式(8)で表現される対称ディリクレ分布(Dir)を想定する。
【数8】
数式(8)の記号αは、対称ディリクレ分布の形状を規定する変数である。
【0108】
以上の前提において、潜在変数wt,n,kの事後確率p(z|V,π,C[k])を最大化する最大事後確率推定(MAP:Maximum A Posteriori)を実行することで、音高nの有無と指番号kとを同時に推定できる。しかし、事後確率p(z|V,π,C[k])の確率分布の推定は困難であるため、第5実施形態においては平均場近似(変分ベイズ推定)を検討する。
【0109】
具体的には、以下の数式(9)のように因子分解される分布のうち事後確率p(z|V,π,C[k])の確率分布に最も近似する分布が特定される。例えば、事後確率p(z|V,π,C[k])とのKL(Kullback-Leibler)距離が最小となる分布が特定される。
【数9】
【0110】
具体的には、演奏解析部30は、以下の数式(10)および数式(11)の演算を反復する。
【数10】
【数11】
数式(10)の記号cは、複数の指番号kにわたる確率分布ρ
t,n,kの合計が「1」となるように当該確率分布ρ
t,n,kを正規化する係数である。また、記号〈 〉は、期待値を意味する。
【0111】
具体的には、演奏解析部30は、時間軸上の1個の時刻tについて、音高nと指番号kとの全通りの組合せについて数式(10)および数式(11)の演算を反復する。演奏解析部30は、所定の回数にわたり数式(10)および数式(11)の演算を反復した時点の数式(10)の演算結果を、潜在変数wt,n,kの確率分布ρt,n,kとして確定する。時間軸上の時刻t毎に確率分布ρt,n,kが算定される。
【0112】
ところで、時間軸上の時刻t毎に個別に算定された確率分布ρt,n,kから、音高nおよび指番号kを時刻t毎に算定する形態では、利用者が1個の音符を演奏する期間内において前後の時刻tで指番号kが変化する場合、または、音高nが継続する期間が過度に短くなる場合がある。そこで、第5実施形態の演奏解析部30は、確率分布ρt,n,kを適用したHMM(Hidden Markov Model)を利用して、音高nと指番号kとの組合せ(すなわち運指データQ)の時系列を生成する。
【0113】
具体的には、運指推定用のHMMは、音高nの発音(押鍵)および消音の各々に対応する潜在状態と、相異なる指番号kに対応する複数の潜在状態とで構成される。状態遷移としては、(1)自己遷移、(2)無音→任意の指番号k、および(3)任意の指番号k→無音、の3種類のみが許容され、他の状態遷移に係る遷移確率は「0」に設定される。以上の条件は、1個の音符が発音される期間内において指番号kを変化させないための制約条件である。また、数式(10)および数式(11)の演算により算定された確率分布ρt,n,kの期待値が、HMMの各潜在状態に関する観測確率として設定される。演奏解析部30は、以上に説明したHMMを利用し、例えばビタビアルゴリズム等の動的計画法により状態系列を推定する。演奏解析部30は、状態系列を推定した結果に応じて運指データQの時系列を生成する。
【0114】
第5実施形態によれば、音響信号Vと画像データD1とを利用して運指データQが生成される。すなわち、演奏データPを取得できない状況でも運指データQを生成できる。また、第5実施形態においては、音響信号Vおよび画像データD1を利用して音高nと指番号kとが同時に推定されるから、音高nおよび指番号kの各々を個別に推定する形態と比較して処理負荷を軽減しながら高精度に運指を推定できる。なお、第5実施形態は第2実施形態から第4実施形態にも適用される。
【0115】
6:第6実施形態
前述の各形態において例示した通り、射影変換部314は、演奏画像G1から変換画像を生成する。すなわち、射影変換部314は、演奏画像G1の撮影条件を変化させる。第6実施形態は、演奏画像G1の撮影条件を変化させる以上の機能を利用した画像処理システム700である。なお、第1実施形態から第5実施形態の演奏解析システム100も、射影変換部314による演奏画像G1の処理に着目すれば、画像処理システム700と表現される。なお、第6実施形態においては、利用者の運指の推定は必須ではない。
【0116】
図22は、第6実施形態における画像処理システム700の機能的な構成を例示するブロック図である。画像処理システム700は、第1実施形態の演奏解析システム100と同様に、制御装置11と記憶装置12と操作装置13と表示装置14と撮影装置15とを具備する。撮影装置15は、第1実施形態と同様に、特定の撮影条件のもとで鍵盤楽器200を撮影することで、演奏画像G1を表す画像データD1の時系列を生成する。
【0117】
記憶装置12は、複数の参照データDrefを記憶する。複数の参照データDrefの各々は、標準的な鍵盤楽器の鍵盤である参照楽器を撮影した参照画像Grefを表す。参照楽器の撮影条件は、参照画像Gref毎(参照データDref毎)に相違する。具体的には、例えば撮影範囲または撮影方向のうち1以上の条件が、参照画像Gref毎に相違する。また、記憶装置12は、参照データDref毎に補助データAを記憶する。
【0118】
制御装置11は、記憶装置12に記憶されたプログラムを実行することで、行列生成部312と射影変換部314と表示制御部40とを実現する。行列生成部312は、複数の参照データDrefの何れかを選択的に利用して変換行列Wを生成する。射影変換部314は、変換行列Wを利用した射影変換により、演奏画像G1の画像データD1から変換画像G3の画像データD3を生成する。表示制御部40は、画像データD3が表す変換画像G3を表示装置14に表示させる。
【0119】
図23は、第6実施形態の制御装置11が実行する処理(以下「第1画像処理」という)の具体的な手順を例示するフローチャートである。例えば操作装置13に対する利用者からの指示を契機として第1画像処理が開始される。
【0120】
利用者は、操作装置13を操作することで、相異なる参照画像Grefに対応する複数の撮影条件の何れかを選択する。制御装置11(行列生成部312)は、撮影条件の選択を利用者から受付けたか否かを判定する(S31)。撮影条件の選択を受付けた場合(S31:YES)、制御装置11(行列生成部312)は、記憶装置12に記憶された複数の参照データDrefのうち、利用者が選択した撮影条件に対応する参照データDref(以下「選択参照データDref」という)を取得する(S32)。利用者による撮影条件の選択は、相異なる撮影条件に対応する複数の参照画像Gref(参照データDref)の何れかを選択する動作に相当する。
【0121】
制御装置11(行列生成部312)は、選択参照データDrefを利用して、第1実施形態と同様の行列生成処理を実行する(S33)。具体的には、制御装置11は、選択参照データDrefを利用した初期設定処理Sc1により初期行列W0を設定する。また、制御装置11は、演奏画像G1の鍵盤画像g1が選択参照データDrefの参照画像Grefに近付くように初期行列W0を反復的に更新する行列更新処理Sc2により、変換行列Wを生成する。他方、撮影条件の選択を受付けない場合(S31:NO)、参照データDrefの選択(S32)および行列生成処理(S33)は実行されない。
【0122】
制御装置11(射影変換部314)は、変換行列Wを利用した射影変換処理を演奏画像G1に対して実行することで変換画像G3を生成する(S34)。射影変換処理は、第1実施形態と同様である。射影変換処理の結果、変換画像G3を表す画像データD3が生成される。具体的には、選択参照データDrefの参照画像Grefと同等の撮影条件に対応する変換画像G3が演奏画像G1から生成される。すなわち、変換画像G3は、演奏画像G1の撮影条件を参照画像Grefと同等の撮影条件に変換した画像である。以上の説明から理解される通り、第6実施形態によれば、利用者が選択した撮影条件に対応する変換画像G3が生成される。
【0123】
制御装置11(表示制御部40)は、射影変換処理により生成された変換画像G3を表示装置14に表示させる(S35)。制御装置11は、終了条件が成立したか否かを判定する(S36)。例えば操作装置13に対する操作で利用者から第1画像処理の終了が指示された場合に、制御装置11は終了条件が成立したと判定する。終了条件が成立しない場合(S36:NO)、制御装置11は、処理をステップS31に移行する。すなわち、撮影条件の選択の受付(S31:YES)を条件とした変換行列Wの生成(S32~S33)と、変換画像G3の生成および表示(S34~S35)とが実行される。他方、終了条件が成立した場合(S36:YES)、制御装置11は、第1画像処理を終了する。
【0124】
以上の通り、第6実施形態においては、演奏画像G1における鍵盤画像g1が参照画像Grefに近付くように変換行列Wが生成され、当該変換行列Wを利用した射影変換処理が演奏画像G1に対して実行される。したがって、利用者が演奏する鍵盤楽器200の演奏画像G1を、参照画像Grefにおける参照楽器の撮影条件に対応する変換画像G3に変換できる。
【0125】
また、第6実施形態においては、撮影条件が相違する複数の参照データDrefの何れかが選択的に行列生成処理に利用される。したがって、特定の撮影条件のもとで撮影された演奏画像G1から、多様な撮影条件に対応する変換画像G3を生成できる。第6実施形態では特に、複数の参照データDrefのうち利用者が選択した撮影条件に対応する参照データDrefが行列生成処理に利用されるから、利用者の所望の撮影条件に対応する変換画像G3を生成できる。以上のように演奏画像G1の撮影条件を変化させることで、多様な用途に利用可能な変換画像G3を生成できる。例えば、音楽教習の指導者が自身の演奏を撮影した複数の演奏画像G1の各々について第6実施形態の第1画像処理を実行することで、撮影条件が統一された複数の変換画像G3を、例えば音楽教習の教材として生成できる。
【0126】
7:第7実施形態
前述の各形態において例示した通り、画像抽出部311は、演奏画像G1のうち鍵盤画像g1と手指画像g2とを含む特定領域Bを抽出する。第7実施形態は、演奏画像G1の特定領域Bを抽出する以上の機能を利用した画像処理システム700である。なお、第1実施形態から第5実施形態の演奏解析システム100も、画像抽出部311による演奏画像G1の処理に着目すれば、画像処理システム700と表現される。なお、第7実施形態においては、利用者の運指の推定は必須ではない。
【0127】
図24は、第7実施形態における画像処理システム700の機能的な構成を例示するブロック図である。画像処理システム700は、第1実施形態の演奏解析システム100と同様に、制御装置11と記憶装置12と操作装置13と表示装置14と撮影装置15とを具備する。撮影装置15は、特定の撮影条件のもとで鍵盤楽器200を撮影することで、演奏画像G1を表す画像データD1の時系列を生成する。演奏画像G1は、前述の各形態と同様に、鍵盤画像g1と手指画像g2とを含む。
【0128】
制御装置11は、記憶装置12に記憶されたプログラムを実行することで、画像抽出部311および表示制御部40として機能する。画像抽出部311は、演奏画像G1のうち一部の領域を抽出した演奏画像G2を表す画像データD2を生成する。具体的には、画像抽出部311は、第1実施形態と同様に、画像処理マスクMを生成する領域推定処理Sb1と、画像処理マスクMを演奏画像G1に適用する領域抽出処理Sb2とを実行する。表示制御部40は、画像データD2が表す演奏画像G2を表示装置14に表示させる。
【0129】
第1実施形態においては単体の推定モデル51を例示した。第7実施形態において領域推定処理Sb1に利用される推定モデル51は、第1モデル511および第2モデル512を含む。第1モデル511および第2モデル512の各々は、畳込ニューラルネットワークまたは再帰型ニューラルネットワーク等の深層ニューラルネットワークで構成される。
【0130】
第1モデル511は、演奏画像G1のうち第1領域を表す第1マスクを生成するための統計モデルである。第1領域は、演奏画像G1のうち鍵盤画像g1を含む領域である。手指画像g2は第1領域に含まれない。第1マスクは、例えば、第1領域内の各要素が数値「1」に設定され、第1領域以外の領域内の各要素が数値「0」に設定されたバイナリマスクである。画像抽出部311は、演奏画像G1を表す画像データD1を第1モデル511に入力することで第1マスクを生成する。すなわち、第1モデル511は、画像データD1と第1マスク(第1領域)との関係を機械学習により学習した学習済モデルである。
【0131】
第2モデル512は、演奏画像G1のうち第2領域を表す第2マスクを生成するための統計モデルである。第2領域は、演奏画像G1のうち手指画像g2を含む領域である。鍵盤画像g1は第2領域に含まれない。第2マスクは、例えば、第2領域内の各要素が数値「1」に設定され、第2領域以外の領域内の各要素が数値「0」に設定されたバイナリマスクである。画像抽出部311は、演奏画像G1を表す画像データD1を第2モデル512に入力することで第2マスクを生成する。すなわち、第2モデル512は、画像データD1と第2マスク(第2領域)との関係を機械学習により学習した学習済モデルである。
【0132】
図25は、第7実施形態の制御装置11が実行する処理(以下「第2画像処理」という)の具体的な手順を例示するフローチャートである。例えば操作装置13に対する利用者からの指示を契機として第2画像処理が開始される。
【0133】
第2画像処理が開始されると、制御装置11(画像抽出部311)は、領域推定処理Sb1を実行する(S41~S43)。第7実施形態の領域推定処理Sb1は、第1推定処理(S41)と第2推定処理(S42)と領域合成処理(S43)とを含む。
【0134】
第1推定処理は、演奏画像G1の第1領域を推定する処理である。具体的には、制御装置11は、演奏画像G1を表す画像データD1を第1モデル511に入力することで、第1領域を表す第1マスクを生成する(S41)。第2推定処理は、演奏画像G2の第2領域を推定する処理である。具体的には、制御装置11は、演奏画像G1を表す画像データD1を第2モデル512に入力することで、第2領域を表す第2マスクを生成する(S42)。
【0135】
領域合成処理は、第1領域と第2領域とを含む特定領域Bを表す画像処理マスクMを生成する処理である。具体的には、画像処理マスクMが表す特定領域Bは、第1領域と第2領域との和に相当する。すなわち、制御装置11は、第1マスクと第2マスクとを合成することで画像処理マスクMを生成する(S43)。以上の説明から理解される通り、画像処理マスクMは、第1実施形態と同様に、演奏画像G1のうち鍵盤画像g1と手指画像g2とを含む特定領域Bを抽出するためのバイナリマスクである。
【0136】
制御装置11(画像抽出部311)は、領域推定処理Sb1で生成された画像処理マスクMを利用して第1実施形態と同様の領域抽出処理Sb2を実行する(S44)。すなわち、制御装置11は、画像データD1が表す演奏画像G1のうち特定領域Bを画像処理マスクMにより抽出することで、演奏画像G2を表す画像データD2を生成する。
【0137】
制御装置11(表示制御部40)は、領域抽出処理Sb2により生成された演奏画像G2を表示装置14に表示させる(S45)。制御装置11は、終了条件が成立したか否かを判定する(S46)。例えば操作装置13に対する操作で利用者から第2画像処理の終了が指示された場合に、制御装置11は終了条件が成立したと判定する。終了条件が成立しない場合(S46:NO)、制御装置11は、処理をステップS41に移行する。すなわち、領域推定処理Sb1(S41~S43)と、領域抽出処理Sb2(S44)と、演奏画像G2の表示(S45)とが実行される。他方、終了条件が成立した場合(S46:YES)、制御装置11は、第2画像処理を終了する。
【0138】
第7実施形態においては、第1実施形態と同様に、演奏画像G1のうち鍵盤画像g1を含む特定領域Bが抽出される。したがって、演奏画像G1の利便性を向上させることが可能である。第7実施形態においては特に、演奏画像G1のうち鍵盤画像g1と手指画像g2とを含む特定領域Bが抽出される。したがって、鍵盤楽器200の鍵盤22の様子と利用者の手指の様子とを効率的に視認可能な演奏画像G2を生成できる。
【0139】
また、第7実施形態によれば、演奏画像G1のうち鍵盤画像g1を含む第1領域が第1モデル511により推定され、演奏画像G1のうち手指画像g2を含む第2領域が第2モデル512により推定される。したがって、鍵盤画像g1と手指画像g2との双方を一括的に抽出する単体の推定モデル51を利用する構成と比較して、鍵盤画像g1と手指画像g2とを含む特定領域Bを高精度に抽出できる。また、第1モデル511および第2モデル512の各々が個別の機械学習により確立されるから、第1モデル511および第2モデル512の機械学習に関する処理負荷が軽減される。
【0140】
なお、画像抽出部311が第1モードと第2モードとを切替可能な構成も想定される。第1モードは、演奏画像G1から鍵盤画像g1および手指画像g2の双方を抽出する動作モードである。すなわち、第1モードにおいて、画像抽出部311は、第1推定処理および第2推定処理の双方を実行する。したがって、第7実施形態と同様に、特定領域Bを表す画像処理マスクMが生成される。すなわち、第1モードにおいては、鍵盤画像g1および手指画像g2の双方を含む特定領域Bが演奏画像G1から抽出される。
【0141】
第2モードは、演奏画像G1から鍵盤画像g1を抽出する動作モードである。すなわち、第2モードにおいて、画像抽出部311は、第1推定処理を実行する一方で第2推定処理を実行しない。すなわち、第1推定処理により生成される第1マスクが、領域抽出処理Sb2に適用される画像処理マスクMとして確定される。したがって、第2モードにおいては、鍵盤画像g1が演奏画像G1から抽出される。
【0142】
以上の通り、第1モードと第2モードとを切替可能な形態によれば、演奏画像G1からの抽出対象を簡便に切替えることが可能である。なお、以上の説明においては、画像抽出部311が第2モードにおいて第1推定処理を実行したが、第2モードにおいて、画像抽出部311が、第2推定処理を実行する一方で第1推定処理を実行しない形態も想定される。以上の形態においては、手指画像g2が演奏画像G1から抽出される。以上の例示から理解される通り、第2モードは、第1推定処理および第2推定処理の一方が実行される動作モードとして表現される。
【0143】
8:変形例
以上に例示した各態様に付加される具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2以上の態様を、相互に矛盾しない範囲で適宜に併合してもよい。
【0144】
(1)前述の各形態においては、画像抽出処理(
図8)による処理後の演奏画像G2を処理対象として行列生成処理を実行したが、撮影装置15が撮影する演奏画像G1を処理対象として行列生成処理が実行されてもよい。すなわち、演奏画像G1から演奏画像G2を生成する画像抽出処理(画像抽出部311)は省略されてもよい。
【0145】
前述の各形態においては、演奏画像G1を利用した指位置推定処理を例示したが、画像抽出処理による処理後の演奏画像G2を利用して指位置推定処理が実行されてもよい。すなわち、演奏画像G2の解析により利用者の各手指の位置C[h,f]が推定されてもよい。また、前述の各形態においては、演奏画像G1を対象として射影変換処理を実行したが、画像抽出処理による処理後の演奏画像G2を対象として射影変換処理が実行されてもよい。すなわち、演奏画像G2に対する射影変換により変換画像が生成されてもよい。
【0146】
(2)前述の各形態においては、利用者の各手指の位置c[h,f]を射影変換処理によりX-Y座標系の位置C[h,f]に変換したが、各手指の位置c[h,f]を表す指位置データFが生成されてもよい。すなわち、位置c[h,f]を位置C[h,f]に変換する射影変換処理(射影変換部314)は省略されてもよい。
【0147】
(3)第1実施形態から第5実施形態においては、演奏解析処理の開始の直後に生成される変換行列Wが、以降の処理において継続的に利用される形態を例示したが、演奏解析処理の実行中の適切な時点において変換行列Wが更新されてもよい。例えば、鍵盤楽器200に対する撮影装置15の位置が変化した場合に、変換行列Wを更新する形態が想定される。具体的には、演奏画像G1の解析により撮影装置15の位置の変化(以下「位置変化」という)が検出された場合、または、撮影装置15の位置変化が利用者から指示された場合に、変換行列Wが更新される。
【0148】
具体的には、行列生成部312は、撮影装置15の位置変化(ズレ)を表す変換行列δを生成する。例えば、位置変化後の演奏画像G(G1,G2)内の座標(x,y)について、以下の数式(12)で表現される関係を想定する。
【数12】
【0149】
行列生成部312は、位置変化後の特定の地点のx座標から数式(12)で算定される座標x'/εが、位置変化前における演奏画像Gのうち当該地点に対応する地点のx座標に近似または一致し、かつ、位置変換後の特定の地点のy座標から数式(12)で算定される座標y'/εが、位置変化前における演奏画像Gのうち当該地点に対応する地点のy座標に近似または一致するように、変換行列δを生成する。そして、行列生成部312は、位置変化前の変換行列Wと位置変化を表す変換行列δとの積Wδを初期行列W0として生成し、当該初期行列W0を行列更新処理Sc2により更新することで変換行列Wを生成する。
【0150】
以上の構成においては、位置変化前に算定された変換行列Wと位置変化を表す変換行列δとを利用して、位置変化後の変換行列Wが生成される。したがって、行列生成処理の負荷を軽減しながら、各手指の位置C[h,f]を高精度に特定可能な変換行列Wを生成できる。なお、以上の説明においては第1実施形態から第5実施形態を想定したが、第6実施形態においても同様に、第1画像処理の実行中の適切な時点において変換行列Wが更新されてもよい。
【0151】
(4)前述の各形態においては、鍵盤22を具備する鍵盤楽器200を例示したが、本開示が適用される楽器の種類は任意である。例えば、弦楽器,管楽器または打楽器等、利用者が手動で操作可能な任意の楽器について、前述の各形態は同様に適用される。楽器の典型例は、利用者が片手または両手の手指により演奏する種類の楽器である。
【0152】
(5)例えばスマートフォンまたはタブレット端末等の情報装置と通信するサーバ装置により演奏解析システム100が実現されてもよい。例えば、情報装置に接続された鍵盤楽器200が生成する演奏データPと、当該情報装置に搭載または接続された撮影装置15が生成する画像データD1とが、情報装置から演奏解析システム100に送信される。演奏解析システム100は、情報装置から受信した演奏データPおよび画像データD1に対して演奏解析処理を実行することで運指データQを生成し、当該運指データQを情報装置に送信する。また、第6実施形態または第7実施形態に例示した画像処理システム700も同様に、情報装置と通信するサーバ装置により実現されてよい。
【0153】
(6)第1実施形態から第5実施形態に係る演奏解析システム100、または第6実施形態から第7実施形態に係る画像処理システム700の機能は、前述の通り、制御装置11を構成する単数または複数のプロセッサと、記憶装置12に記憶されたプログラムとの協働により実現される。本開示に係るプログラムは、コンピュータが読取可能な記録媒体に格納された形態で提供されてコンピュータにインストールされ得る。記録媒体は、例えば非一過性(non-transitory)の記録媒体であり、CD-ROM等の光学式記録媒体(光ディスク)が好例であるが、半導体記録媒体または磁気記録媒体等の公知の任意の形式の記録媒体も包含される。なお、非一過性の記録媒体とは、一過性の伝搬信号(transitory, propagating signal)を除く任意の記録媒体を含み、揮発性の記録媒体も除外されない。また、配信装置が通信網を介してプログラムを配信する構成では、当該配信装置においてプログラムを記憶する記憶装置12が、前述の非一過性の記録媒体に相当する。
【0154】
9:付記
以上に例示した形態から、例えば以下の構成が把握される。
【0155】
本開示のひとつの態様(態様1)に係る画像処理方法は、楽器の画像と当該楽器を演奏する利用者の複数の手指の画像とを含む演奏画像における前記楽器の画像が、参照楽器を表す参照画像に近付くように、前記演奏画像の座標を射影変換する変換行列を生成し、前記変換行列を利用して前記演奏画像の射影変換を実行する。以上の態様においては、演奏画像における楽器の画像が参照画像に近付くように変換行列が生成され、当該変換行列を利用した射影変換が演奏画像に対して実行される。したがって、利用者が演奏する楽器の演奏画像を、参照画像における参照楽器の撮影条件に対応する画像に変換できる。
【0156】
本開示のひとつの態様(態様2)に係る画像処理方法は、鍵盤楽器の鍵盤の画像と当該鍵盤楽器を演奏する利用者の複数の手指の画像とを含む演奏画像における前記鍵盤の画像が、参照楽器を表す参照画像に近付くように、前記演奏画像を射影変換する変換行列を生成し、前記変換行列を利用して前記演奏画像の射影変換を実行する。以上の態様においては、演奏画像における鍵盤の画像が参照画像に近付くように変換行列が生成され、当該変換行列を利用した射影変換が演奏画像に対して実行される。したがって、利用者が演奏する鍵盤楽器の演奏画像を、参照画像における参照楽器の撮影条件に対応する画像に変換できる。
【0157】
態様2の具体例(態様3)において、前記変換行列の生成においては、前記変換行列の初期値である初期行列を設定し、前記変換行列の生成においては、前記参照画像と前記演奏画像における前記鍵盤の画像との間の拡張相関係数が増加するように、前記初期行列を反復的に更新する。鍵盤の画像においては、複数の鍵が同様に配列されたパターンが反復されるから、例えばSIFT(Scale-Invariant Feature Transform)等の画像特徴量を利用する形態では、変換行列を適切に推定できない可能性がある。拡張相関係数(ECC:Enhanced Correlation Coefficient)が増加するように初期行列を反復的に更新する形態によれば、同種のパターンの反復を含む画像を対象とした場合でも、変換行列を適切に推定できるという利点がある。
【0158】
態様3の具体例(態様4)において、前記初期行列の設定においては、前記演奏画像における鍵盤の画像のうち前記利用者からの指示に応じた目標領域を、前記参照画像のうち特定の音高に対応する領域に射影変換するための行列を、前記初期行列として設定する。拡張相関係数が増加するように初期行列を反復的に更新する処理においては、初期行列の適否が最終的な変換行列の適否に影響し易いという傾向がある。利用者からの指示に応じた目標領域に応じて初期行列を設定する構成によれば。鍵盤の画像を参照画像に高精度に近似させ得る適切な変換行列を生成できる。
【0159】
態様4の具体例(態様5)において、前記初期行列の設定においては、前記演奏画像のうち前記利用者が操作装置に対する操作で指定した領域を前記目標領域として、前記初期行列を設定する。以上の態様において、利用者は、演奏画像のうち利用者が操作装置に対する操作で指定した領域が目標領域として初期行列の設定に利用される。したがって、例えば演奏画像のうち特定の音高に対応する領域を演算処理により推定する形態と比較して、処理負荷を低減しながら適切な初期行列を設定できる。
【0160】
態様4の具体例(態様6)において、前記初期行列の設定においては、前記利用者が前記鍵盤楽器により演奏した音高を指定する演奏データと、前記演奏画像において前記利用者が前記音高を演奏した手指の位置を表す指位置データとを取得し、前記指位置データが表す手指の位置が、前記参照画像のうち前記演奏データが指定する音高に対応する部分に近付くように、前記初期行列を設定する。以上の態様においては、利用者が所望の音高を特定の手指で演奏すると、演奏画像における当該手指の位置が、参照画像のうち当該音高に対応する部分に近付くように、初期行列が設定される。以上の構成によれば、利用者は所望の音高を演奏すればよいから、初期行列の設定に必要な利用者の作業の負荷が軽減される。
【0161】
本開示のひとつの態様(態様7)に係る画像処理システムは、楽器の画像と当該楽器を演奏する利用者の複数の手指の画像とを含む演奏画像における前記楽器の画像が、参照画像に含まれる参照楽器の画像に近付くように、前記演奏画像を射影変換する変換行列を生成する行列生成部と、前記変換行列を利用して前記演奏画像の射影変換を実行する射影変換部とを具備する。
【0162】
本開示のひとつの態様(態様8)に係るプログラムは、楽器の画像と当該楽器を演奏する利用者の複数の手指の画像とを含む演奏画像における前記楽器の画像が、参照画像に含まれる参照楽器の画像に近付くように、前記演奏画像を射影変換する変換行列を生成する行列生成部、および、前記変換行列を利用して前記演奏画像の射影変換を実行する射影変換部、としてコンピュータシステムを機能させる。
【符号の説明】
【0163】
100…演奏解析システム、11…制御装置、12…記憶装置、13…操作装置、14…表示装置、15…撮影装置、200…鍵盤楽器、21…鍵、22…鍵盤、30…演奏解析部、31…指位置データ生成部、311…画像抽出部、312…行列生成部、313…指位置推定部、314…射影変換部、32…運指データ生成部、321…確率算定部、322…運指推定部、323…制御データ生成部、40…表示制御部、51…推定モデル、51a…暫定モデル、52[k]…推定モデル、700…画像処理システム。