(57)【要約】【課題】本発明の課題は、マーキング情報が付与された波形データ生成の適正化を図ることを目的とする。【解決手段】上記課題は、コンピュータに、波形中の所定の位置に対するマーキング情報を含む第１の波形データと、第２の波形データとを取得し、前記第１の波形データの特徴点の時間軸の値と前記第２の波形データの前記特徴点の時間軸の値との差が小さくなるように、前記第１の波形データを変換する変換関数を特定し、前記変換関数に基づいて特定される位置であって前記第２の波形データにおける前記所定の位置に対応する位置に前記マーキング情報が付与された第３の波形データを生成する、処理を実行させることを特徴とするデータ生成プログラムにより達成される。【選択図】図１１
2020195687.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
波形中の所定の位置に対するマーキング情報を含む第１の波形データと、第２の波形データとを取得し、
前記第１の波形データの特徴点の時間軸の値と前記第２の波形データの前記特徴点の時間軸の値との差が小さくなるように、前記第１の波形データを変換する変換関数を特定し、
前記変換関数に基づいて特定される位置であって前記第２の波形データにおける前記所定の位置に対応する位置に前記マーキング情報が付与された第３の波形データを生成する、
処理を実行させることを特徴とするデータ生成プログラム。
【請求項２】
前記コンピュータに、
前記変換関数に基づいて位相方向と振幅方向の一方又は両方を変化させて、前記第１の波形データを前記第２の波形データへと近付けることで、該第１の波形データと該第２の波形データとの間に１以上の第４の波形データを生成する
処理を実行させることを特徴とする請求項１記載のデータ生成プログラム。
【請求項３】
前記コンピュータに、
生成した１以上の前記第４の波形データにおける前記所定の位置に対応する位置に前記マーキング情報を付与する
処理を実行させることを特徴とする請求項２記載のデータ生成プログラム。
【請求項４】
前記コンピュータに、
生成した１以上の前記第４の波形データから選択された波形データに対して、前記所定の位置に対応する位置に前記マーキング情報を付与する
処理を実行させることを特徴とする請求項２記載のデータ生成プログラム。
【請求項５】
前記コンピュータに、
特徴点の出現パターンが繰り返される連続した波形データの異なる部分から、該出現パターンに基づいて切り出すことで、前記第１の波形データと前記第２の波形データとを取得させる
ことを特徴とする請求項１記載のデータ生成プログラム。
【請求項６】
コンピュータが、
波形中の所定の位置に対するマーキング情報を含む第１の波形データと、第２の波形データとを取得し、
前記第１の波形データの特徴点の時間軸の値と前記第２の波形データの前記特徴点の時間軸の値との差が小さくなるように、前記第１の波形データを変換する変換関数を特定し、
前記変換関数に基づいて特定される位置であって前記第２の波形データにおける前記所定の位置に対応する位置に前記マーキング情報が付与された第３の波形データを生成する、
処理を実行することを特徴とするデータ生成方法。
【請求項７】
波形中の所定の位置に対するマーキング情報を含む第１の波形データと、第２の波形データとを取得する取得部と、
前記第１の波形データの特徴点の時間軸の値と前記第２の波形データの前記特徴点の時間軸の値との差が小さくなるように、前記第１の波形データを変換する変換関数を特定する特定部と、
前記変換関数に基づいて特定される位置であって前記第２の波形データにおける前記所定の位置に対応する位置に前記マーキング情報が付与された第３の波形データを生成する生成部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ生成プログラム、データ生成方法、及び情報処理装置に関する。
【背景技術】
【０００２】
近年、ＡＩ（Artificial  Intelligence）を用いた心電図解析の技術開発が行われている。心電図は、心臓の状態を診るために重要な情報である。心電図から不整脈や興奮伝導の異常が分かる。右脚や左脚に伝導の遅れや途絶えがある場合には独特の心電波形を示す。また、狭心症や心筋梗塞を発症している場合には、心電波形のＳＴ部分やＴ波が正常波形から変化することが知られている。
【０００３】
ＡＩによる心電図解析では、アノテーションが付与されたデータを活用し、ディープラーニングにより不整脈を精度良く分類する技術等が知られている。
【先行技術文献】
【特許文献】
【０００４】
【非特許文献１】Rajpurkar  P，Hannun  AY，Haghpanahi  M，Bourn  C，Ng，AY．“Cardiologist-level  arrhythmia  detection  with  convolutional  neural  networks．”，［Online］Available：arxiv．org/pdf/1707．01836．pdf
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＡＩによる心電図解析の精度を上げるためには、不整脈等の正常でない心電図の数を十分に得ることが必要であるが、解析するうえで主要な要素となるアノテーションが付与されていない、又はアノテーションが十分でない心電図は、学習データとして利用し難いといった問題がある。
【０００６】
精度よく分類したいタイプの疾患について利用可能な学習データを十分に得られないため、心電図を用いた学習を精度良く行うことができないといった問題がある。
【０００７】
したがって、１つの側面では、マーキング情報が付与された波形データの適正化を図ることを目的とする。
【課題を解決するための手段】
【０００８】
一態様によれば、コンピュータに、波形中の所定の位置に対するマーキング情報を含む第１の波形データと、第２の波形データとを取得し、前記第１の波形データの特徴点の時間軸の値と前記第２の波形データの前記特徴点の時間軸の値との差が小さくなるように、前記第１の波形データを変換する変換関数を特定し、前記変換関数に基づいて特定される位置であって前記第２の波形データにおける前記所定の位置に対応する位置に前記マーキング情報が付与された第３の波形データを生成する、処理を実行させることを特徴とするデータ生成プログラムが提供される。
【発明の効果】
【０００９】
マーキング情報が付与された波形データの適正化を図ることができる。
【図面の簡単な説明】
【００１０】
【図１】心電図波形を説明するための図である。
【図２】本実施例におけるデータ生成装置のハードウェア構成例を示す図である。
【図３】データ生成装置の機能構成例を示す図である。
【図４】本実施例による心電図生成処理の概要を説明するための図である。
【図５】本実施例によるアノテーション推定処理の概要を説明するための図である。
【図６】本実施例で考慮される関数空間の例を説明するための図である。
【図７】アライメントの一例を示す図である。
【図８】アライメントの他例を示す図である。
【図９】図７及び図８におけるワーピング関数の例を示す図である。
【図１０】位相方向のアライメントと補間の例を示す図である。
【図１１】アノテーション推定処理の結果例を示す図である。
【図１２】アノテーションが付与された心電図データ例を示す図である。
【図１３】波形補間処理を説明するためのフローチャート図である。
【図１４】図１３のステップＳ２１８におけるアノテーション付与処理を説明するためのフローチャート図である。
【図１５】アノテーション付与処理の他の例を説明するためのフローチャート図である。
【図１６】アノテーション推定処理を説明するためのフローチャート図である。
【図１７】心電図データ内でアノテーションを付与する例を説明するための図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を図面に基づいて説明する。ＡＩによる心電図解析に十分なデータを得るために、機械学習のための教師データを疑似的に増やすための手段としてデータ拡張の技術がしばしば用いられている。データ拡張は、具体的には、少数の教師データに平行移動、回転、スケール変換、鏡映などの変換を適用することによって、擬似的に増加させる技術である。
【００１２】
心電図のデータ拡張においても、従来型の変換によるデータ拡張はある程度有効であるが、限界がある。例えば、
・同質の変換で大量に増やした教師データで学習させても，推論時の精度は一定以上あがらない。
・単純な幾何学的変換では、実際にはありえないような心電図を作ってしまう可能性がある。
【００１３】
本実施例では、ヒトの心電図として自然な波形データを生成し教師データを拡張すると共に、専門知識を有する者によって付与されたマーキングを、生成した波形データにも付与することで学習効率を向上させる技術を提供する。マーキングとは、実在する心電図に対して専門知識を有する医師などが心電図波形に対して施した、要素波形の区間、頂点のマーク等である。
【００１４】
図１は、心電図波形を説明するための図である。図１より、心電図波形は、洞結節から始まった興奮は心臓全体にひろがり、洞収縮一拍ごとに心電図上に基線１ａからの変動を示すＰ波、ＱＲＳ波、Ｔ波、Ｕ波と呼ばれる一連の波形を示す。これらの波形は、心電図の主要な要素波形である。
【００１５】
心電図が持つ性質から、作成した心電図においてこれら主要な要素波形を保つ必要がある。また、心電図におけるＰＱ間隔、ＱＴ間隔等の変化から、細胞の活動電位が集合的に伝播する現象を観ることができる。各要素波形の時間幅は、心臓疾患の一部で現れる伝播時間の異常を表している場合がある。言い換えると、実際の心電図波形における要素波形の出現開始時刻と終了時刻を、ある程度柔軟に変更してもよく、時間軸の伸び又は縮みを許容することになる。
【００１６】
一方、例えば、Ｐ波、ＱＲＳ波、Ｔ波等の要素波形が同じでＰＱ間隔又はＱＴ間隔が異なる波形を単純な幾何学的変換で生成することができない。
【００１７】
上述したような問題に対し、発明者等は、心電図の主要な要素波形を保ち、かつ、ヒトの心電図として自然な心電図波形を、実際の心電図波形から変換する手法を見出した。
【００１８】
先ず、発明者等は、Elastic  Shape  Analysis（ESA）技術を用いた。ESA技術を用いることで、
・二つの波形の時間軸を変更して、それらの形状をできるだけ滑らかに近づけるように変換できる（連続関数を得られる）。
・求めた変換を使用すれば、実在する二つの心電図波形との間を補間するように波形をいくらでも発生することが可能となる。
・教師データのアノテーションは波形上の点であるため、同じ変換を使って位置を移動させれば、作成した波形上にも同一のアノテーションを付与することができる。ここで、アノテーションとは、波形データの特定の点に対して目印を付与（マーキング）した情報ともいえる。
【００１９】
更に、本実施例では、ヒトの心電図として自然な実在し得る波形データを作成する。その目的を達成するために、
(a)  ２つのタイプの心電図データを選択する（前処理）。  
選択するタイプは、一例として、心臓の正常な状態を表す心電図と、心臓の異常な状態を表す心電図とを選択する。少なくとも１つの心電図を異常な状態の心電図とすることで、異常な状態の心電図の教師データを増やすことができると共に、正常な状態と異常な状態の境界付近の心電図データを生成することができる。この選択例に限らず、ランダムな選択でも良いし、増やしたいタイプに応じて、２つとも正常な状態の心電図としても良いし、２つとも異常な状態の心電図としてもよい。
【００２０】
先ず、
(a-1)  選択した各心電図から切り出す範囲を決める。一例として、１拍分、２拍分等の一拍の整数倍が好ましい。１拍は、Ｒ波のピークを検出し、Ｒ-Ｒ間隔もしくはその間隔をＲ-Ｒ間隔の半分ずらした範囲で定めればよい。Ｒ波の特定には、マーキングを参照するか、或いは、Ｒ波を自動検出する既存のオープンツールを用いてＲ波を検出すればよい。また、切り出す範囲は、Ｐ-Ｐ間隔を用いてもよい。
(a-2)  選択した各心電図から切り出した部分波形の横幅が心拍数として一致するように規格化し、それぞれの心電図の部分波形を心電図f1(t)及び心電図f2(t)、又は、単に、f1(t)及びf2(t)という。
【００２１】
そして、選択した２つの心電図波形との間、つまりf1(t)及びf2(t)との間を補間する波形（即ち、心電図データ）を生成する。
(b)  f1(t)とf2(t)とに対して、時間軸の伸び縮み（位相方向の変化）を施して部分波形の山や谷の位置を合致させる、又は、時間軸の値との差を小さくするアライメント処理を行って、
(c)  f1(t)とf2(t)との間を、位相方向と振幅方向とを変化させて生成した波形で補間する。
【００２２】
本実施例では、更に、波形が生成されるごとにアノテーションを付与する。
(d)  位相方向と振幅方向との変化ごとの変換を用いて、生成した波形上にアノテーションを付与する。
【００２３】
上述した処理(a)〜(d)は、以下に説明するようなハードウェア構成を有するデータ生成装置によって実現される。
【００２４】
図２は、本実施例におけるデータ生成装置のハードウェア構成例を示す図である。図２より、データ生成装置１００は、情報処理装置であって、ＣＰＵ１１と、主記憶装置１２と、補助記憶装置１３と、入力装置１４と、表示装置１５と、通信Ｉ／Ｆ１７と、ドライブ装置１８とを有し、バスＢに接続される。主記憶装置１２と、補助記憶装置１３、及びデータ生成装置１００がアクセス可能な外部記憶装置を含めて、記憶部１３０という。
【００２５】
ＣＰＵ１１は、データ生成装置１００を制御するプロセッサに相当し、記憶部１３０に格納されたプログラムを実行することで、以下に説明する本実施例に係る様々な処理を実現する。入力装置１４は、ユーザによって操作され、操作に応じてデータを入力し、表示装置１５は、ユーザーインタフェースとして様々な画面を表示する。通信Ｉ／Ｆ１７は、外部装置との通信を制御する。
【００２６】
記憶媒体１９（例えば、ＣＤ−ＲＯＭ（Compact  Disc  Read-Only  Memory）等）に記憶された本実施例に係る処理を実現するプログラムは、ドライブ装置１８を介して記憶部１３０にインストールされ、ＣＰＵ１１によって実行可能となる。
【００２７】
尚、本実施例に係るプログラムを格納する記憶媒体１９はＣＤ−ＲＯＭに限定されず、コンピュータが読み取り可能な、構造（structure）を有する１つ以上の非一時的（non-transitory）な、有形（tangible）な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤ（Digital  Versatile  Disk）ディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【００２８】
図３は、データ生成装置の機能構成例を示す図である。図３において、データ生成装置１００は、主に、心電図生成部４０と、アノテーション推定部４４と、学習部４７とを有する。心電図生成部４０と、アノテーション推定部４４と、学習部４７とは、データ生成装置１００にインストールされたプログラムが、データ生成装置１００のＣＰＵ１１に実行させる処理により実現される。記憶部１３０は、パラメータリスト５３、教師データ５７、学習結果データ５８等を記憶する。
【００２９】
心電図生成部４０は、実際の心電図データ５１を用いて、ヒトの心電図として自然な波形を生成し、教師データ５７を補間する心電図生成処理を行い、選択部４１と、波形補間部４２と、アノテーション付与部４３とを更に有する。
【００３０】
選択部４１は、教師データ５７内の複数の心電図データ５１から２つを選択し、選択した２つの心電図データ５１のそれぞれから、予め定めた間隔と拍数とで決まる範囲の波形を切り出して、波形補間部４２に通知する選択処理を行う。切り出された心電図の部分波形は、心電図f1(t)及び心電図f2(t)、又は、単に、f1(t)とf2(t)という。
【００３１】
波形補間部４２は、パラメータリスト５３に基づいて、f1(t)とf2(t)の一方の波形の位相又は振幅の１つ以上を他方の波形へと近づくように変化させた波形へと変換して補間的な心電図（補間データ５２）を生成する波形補間処理を行う。波形補間部４２は、また、補間データ５２が作成されるごとに、アノテーション付与部４３にアノテーションを付与させる。アノテーションが関連付けられた補間データ５２が教師データ５７に追加される。
【００３２】
アノテーション付与部４３は、波形補間部４２が補間データ５２を生成するごとに、波形補間部４２が用いた同様の変換により、変換元の波形に付与されていたアノテーションを、補間データ５２の波形上の対応する位置に付与するアノテーション付与処理を行う。アノテーション付与処理は、指定された補間データ５２に対してのみ行われてもよい。
【００３３】
アノテーション推定部４４は、実際の心電図データ５１のうち、アノテーションが不足している心電図データ５１に対して、アノテーションが付与されるであろう位置（波形上の座標）を推定し、アノテーションのデータを補足する。
【００３４】
学習部４７は、本実施例により得られた補間データ５２によりデータ量を増やした教師データ５７を用いて心電図から心臓の正常な状態と異常な状態とを学習する。補間データ５２が教師データ５７に加えられたことで、学習部４７は、心臓疾患の判定精度を向上させ、更には、心臓疾患の詳細な分類を可能とする。
【００３５】
教師データ５７は、ヒトから実際に心電計により得た心電図データ５１に加え、本実施例により加えられた補間データ５２を含む。複数の心電図データ５１は、アノテーションが付与されているデータと、アノテーションが付与されていないデータとを含んでもよい。また、アノテーションが付与された心電図データ５１において、データによりアノテーションが付与された要素波形はさまざまであってよい。
【００３６】
パラメータリスト５３は、２つの心電図データ５１の位相間で波形を変換させるパラメータｋの値と、振幅間で波形を変化させるパラメータｌの値の組を示す。パラメータｋ及びｌは、０以上かつ１以下の値を示す。
【００３７】
学習結果データ５８は、学習部４７が教師データ５７を利用して得られた重み情報等のデータを含む。
【００３８】
図４は、本実施例による心電図生成処理の概要を説明するための図である。図４より、心電図生成部４０によって、心電図データ５１から選択された２つの心電図データecg10及びecg20が選択される。一例として、心臓が正常な状態と異常な状態とをそれぞれ選択する。
【００３９】
図４では、心電図データecg10では、３カ所にアノテーション３ａが付与されており、心電図データecg20では、１カ所にのみアノテーション３ａが付与されている場合を例示している。心電図データecg10では、アノテーション３ａを“・”で示し、心電図データecg20では、アノテーション３ａを“×”で示している。
【００４０】
心電図生成部４０により、心電図データecg10から位相方向及び振幅方向のパラメータの組み合わせ(k，l)ごとに、心電図データecg20へと近づくように複数の波形データが生成され、補間データecg102、ecg104、ecg106等として出力されて教師データ５７に追加される。
【００４１】
本実施例では、心電図生成部４０から出力された補間データ５２にも、アノテーション３ａが付与される。この例では、心電図生成部４０によって付与されたアノテーションであることが識別し易いように、“▼”で示している。補間データ５２に対するアノテーションの付与では、アノテーション３ａの数が多い心電図データecg10に基づくようにすればよい。
【００４２】
図５は、本実施例によるアノテーション推定処理の概要を説明するための図である。図５では、心電図データ５１から選択された２つの心電図データecg10及びecg20のうち、アノテーション３ａの数が多い心電図データecg10に基づいて、心電図データecg20に対して２つのアノテーション３ａが追加された例を示している。追加されたアノテーション３ａは“▼”で示している。
【００４３】
アノテーション推定部４４は、位相方向のパラメータｋを１．０とし、心電図データecg10のアノテーション３ａの位置を、心電図データecg20の位相に対応するようにアライメントして、心電図データecg10wを得る。アノテーション推定部４４は、アライメントと同様の変換により、心電図データecg10のアノテーション３ａの位置に相当する心電図データecg10w上の位置を求めて、求めた位置にアノテーション３ａを付与する。
【００４４】
３つのアノテーション３ａの位置は、時間と振幅で特定される。アノテーション推定部４４は、心電図データecg10wの３つのアノテーション３ａの位置の時間を用いて、心電図データecg10wに対して３つのアノテーション３ａを付与する。ここで、アノテーション推定部４４は、心電図データecg10wの３つのアノテーション３ａのうち、心電図データecg20に既に存在するアノテーション３ａの位置への付与は抑止してもよい。
【００４５】
本実施例では、２つの心電図波形に対して、位相方向と振幅方向の一方又は両方を変化させる変換を行って、要素波形の時間幅の差と振幅の差の範囲で、複数の波形を生成して補間する。そのような変換を実現する関数空間について説明する。
【００４６】
図６は、本実施例で考慮される関数空間の例を説明するための図である。図６を参照しつつ、波形補間部４２、アノテーション付与部４３、アノテーション推定部４４で行われる内容について説明する。
【００４７】
＜波形補間方法＞
ESA  (Elastic  Shape  Analysis)の枠組にもとづく補間的な心電図データ（補間データ５２）の生成方法について以下に述べる。ESAではデータを表現する曲線の関数空間Fと、それを写像したSRSF  (Square-Root  Slope  Function)と呼ばれる関数の空間Qを考える。心電図の時系列データの関数を
【００４８】
【数１】
2020195687.tif 000003
これをSRSFに写像した関数を
【００４９】
【数２】
2020195687.tif 000004
とすると、これらは以下の（式１）のような関係にあり、相互に変換することが可能である。
【００５０】
【数３】
2020195687.tif 000005
【００５１】
ここで二つの心電図f1(t)及びf2(t)と、これをSRSFへ上式で写像したq1(t)及びq2(t)を考える（図６）。
【００５２】
また、ESAの枠組の下で、f1(t)を基準にf2(t)を起点とし、波形の山や谷の位置をできるだけ合致させるようなアライメント処理を実行して、その際に求められるワーピング関数をγ*(t)、逆関数をγ*-1(t)とする（図９）。ワーピング関数γ(t)とは、時間軸の伸び縮み（位相方向の変化）を表す連続関数であるが、これを上のアライメントにおいて最適化したものがγ*(t)であり、Qにおける以下の最適化問題の解として得られる。
【００５３】
【数４】
2020195687.tif 000006
【００５４】
このとき、f1(t)とf2(γ*(t))は曲線の形状がアライメントされた関係を持ち、これらに対応するQ上の点（関数）q’1及びq’2は、それぞれq1及びq2のワーピング関数γ(t)による軌道を示す二本の平行な直線[q1]及び[q2]上にあって、対向した位置を占める。
【００５５】
逆に，f2(t)を基準にf1(t)を起点とするアライメント処理も可能であり、この場合はf1(γ*-1(t))とf2(t)がアライメントされ，対応するQ上の点q’1及びq2は、やはり対向する位置を占めることになる。図７にf1(t)を基準にf2(γ*(t))を求めた例を示す。また、図８にf2(t)を基準にf1(γ*-1(t))を求めた例を示す。更に、図９にワーピング関数γ*(t)及びγ*-1(t)の例を示す。
【００５６】
関数f(t)の時間軸をワーピング関数γ(t)で伸縮させたf(γ(t))を、Qに写像した関数(q，γ)は次式のようになるが、
【００５７】
【数５】
2020195687.tif 000007
これを用いれば、図６上の点（関数）q’1及びq’2は次のように表される。
【００５８】
【数６】
2020195687.tif 000008
【００５９】
ここで、二つの実在する心電図の間で滑らかに変化するように補間的な心電図を生成することを考え、以下のような関数φ2kを定義する。
【００６０】
【数７】
2020195687.tif 000009
【００６１】
上で、φ2kは恒等関数γidと、q2をq’2に移す関数γ*をパラメータkで比例配分した関数であり、φ20はγidに一致し（φ20=γid）、φ21はγ*に一致する（φ21=γ*）。このφ2kはESAで言うワーピング関数の要件をみたしている。また、q2をφkで写した点(関数)であるq2kは，q2とq’2を両端に持つ線分上にあって、補間的な心電図f2(φ2k(t))に対応するものである。
【００６２】
次に、q1の方を動かしてq2kにアライメントさせた点をq1kとすると、q2kと対向する関係にあるq1kは，Q上の位置関係から次式のように求めることができる。
【００６３】
【数８】
2020195687.tif 000010
ここで、
【００６４】
【数９】
2020195687.tif 000011
であることから、q1kは次式のように表すことが可能である。
【００６５】
【数１０】
2020195687.tif 000012
（式３）と（式４）を比較するとq1kはq2kの表式から，ちょうどγ*をγ*-1に入れ換えて比例配分を逆比にした関係にあることがわかる。従って、q1の側から生成される補間的な心電図は、f1(φ1k(t))で表現することができる。
【００６６】
前項ではφ1k及びφ2kのようなワーピング関数を用い、心電図波形の位相方向の補間について説明した。図１０に、位相方向のアライメントと補間を実施した様子を、kを0．0、0．25、0．50、そして1．0と変化させたときのf1(φ1k(t))及びf2(φ2k(t))のふるまいによって示す。
【００６７】
以下では波形の振幅方向の補間について述べる．既に位相方向でアライメントされたf1(φ1k(t))及びf2(φ2k(t))を凸結合させた関数を次のように定義すれば、
【００６８】
【数１１】
2020195687.tif 000013
振幅方向の補間が実現される。f1(φ1k(t))とf2(φ2k(t))とはすでに位置合わせ済みであり、Ｐ波、ＱＲＳ波、及びＴ波等の特徴的な要素波形が横軸上のほぼ同じ領域に発生しているため、fk．l(t)のような単純な凸結合によっても、自然な心電図を生成することができる。
【００６９】
ここまで述べたように、適切な実在する心電図f1(t)及びf2(t)とパラメータｋ及びｌを選択（複数可）し、位相方向と振幅方向の双方で補間することによって、自然な心電図fk．l(t)を自動的かつ大量に生成することが可能になる。
【００７０】
本実施例では、波形の補間は、図６に示すq1、q2、q’1、及びq’2を頂点とする領域に制限されることで、ヒトの心臓の状態として存在しない不自然な状態を排除することができる。不自然な状態とは、異常に大きい振幅又は異常に大きな時間幅等を示す要素波形が相当する。このような要素波形を含むデータで教師データ５７を補間してしまうと、適切な学習が行われないからである。
【００７１】
＜アノテーション付与方法＞
心電図上にヒトが付加するアノテーションは、波形としての特徴点やそれを結合した区間として与えられる。従って、アノテーションは波形上の点で構成されており、波形を変換する関数が分かっていれば、同時にアノテーションの付与位置も定めることが可能である。
【００７２】
例えば、心電図f2(t)上の時刻ｔａにアノテーションとしての点があった場合、補間的な心電図fk．l(t)上では時刻φ2k(-1)(ta)に相当するため、（式５）から以下の座標点にアノテーションの位置が移動することになる。
【００７３】
【数１２】
2020195687.tif 000014
ここで、φ2k(-1)は、φ2kの逆関数である。また、縦軸方向の値は次式のように算出することができる。
【００７４】
【数１３】
2020195687.tif 000015
【００７５】
尚、ヒトが付加するアノテーションには最低限、時刻の情報が存在していれば問題なく、心電図上の点が欲しい時にその点を算出することは可能である。
【００７６】
＜アノテーション推定方法＞
上述した心電図上のアノテーション付与方法を応用すると、アノテーションの付与位置を推定できる。図７の例で説明する。心電図f2(t)上にアノテーションの点A(ta，f2(ta))があるとする。f2(t)にf1(t)を基準にしたアライメント処理を施してf’2(t)へ変形させたとすると、点AはA’(t’a，f’2(t’a))に移るが，アノテーションの移動の項で述べたようにt’aは次式
【００７７】
【数１４】
2020195687.tif 000016
で算出することができる。
【００７８】
f1(t)とf’2(t)は既に位置合わせされているので、f1(t)上でAに相当する点はA’と同じ時刻にあるf1(t)上の点B(φ21．0(-1)(ta)，f1(φ21．0(-1)(ta)))となる。ESAのアライメント処理は，データ曲線間で形状的に見て対応する点同士を推定する処理であるため、点Bがf1(t)上に推定されたアノテーションの点であると考えることができる。図１１に、この手法によってアノテーションを推定した例を示す。
【００７９】
図１１は、アノテーション推定処理の結果例を示す図である。図１１の例では、ＱＲＳ波付近を拡大したものを示している。
【００８０】
f’2(t)は、f2(t)にf1(t)を基準にしたアライメント処理を施すことで得られ、f1(t)に対して位置合わせされている。f2(t)に付与されていたアノテーションの位置Ａ１、Ａ２、及びＡ３は、それぞれ、f’2(t)上で振幅値が同一の位置Ａ’１、Ａ’２、及びＡ’３に付与される。そして、f1(t)において、f’2(t)上の位置Ａ’１、Ａ’２、及びＡ’３と時刻が同一の位置Ｂ１、Ｂ２、及びＢ３にアノテーションが付与される。f1(t)の位置Ｂ１、Ｂ２、及びＢ３のうち、既にアノテーションが存在する位置に対しては、アノテーションの付与を抑止してもよい。
【００８１】
図１２は、アノテーションが付与された心電図データ例を示す図である。図１２では、心電図f1(t)及び心電図f2(t)は、心電図データ５１から選択された２つのデータに相当し、心電図f2(t)wは、補間データ５２の１つに相当し、特に、心電図f2(t)を心電図f1(t)へとアライメントしたときのデータに相当する。
【００８２】
心電図f2(t)には、時刻ｔａの波形にアノテーションＡ３、時刻ｔｂの波形にアノテーションＡ２、そして時刻ｔｃの波形にアノテーションＡ１が付与されている。これらアノテーションＡ１〜Ａ３を心電図f1(t)に付与する。
【００８３】
心電図f2(t)wは、位相を心電図f1(t)に一致させるようにパラメータｋ＝１として、心電図f2(t)を変換して得られたデータである。心電図f2(t)のアノテーションＡ１〜Ａ３のそれぞれの位置も、位相の移動にともなって移動する。具体的には、心電図f2(t)のアノテーションＡ１、Ａ２、及びＡ３の時刻ｔａ、ｔｂ、及びｔｃは、それぞれ心電図f2(t)wの時刻ｔｄ、ｔｅ、及びｔｆに変化し、付与されたアノテーションはＡ’１、Ａ’２、及びＡ’３で示される。
【００８４】
心電図f1(t)に対して、心電図f2(t)wに付与したアノテーションＡ’１、Ａ’２、及びＡ’３と同じ時刻ｔｄ、ｔｅ、及びｔｆの位置に、アノテーションが付与され、Ｂ１、Ｂ２、及びＢ３で示される。アノテーション付与の際、心電図f1(t)に既にアノテーションが存在する時刻に対しては、アノテーションの付与を行わないようにしてもよい。
【００８５】
上述したアノテーションを付与する手順は一例に過ぎない。例えば、補間された心電図f2(t)wを介して、心電図f1(t)と心電図f2(t)とで相互に不足しているアノテーションを補うようにしてもよい。
【００８６】
図１３は、波形補間処理を説明するためのフローチャート図である。図１３より、波形補間部４２は、選択部４１からの通知に応じて、心電図f1(t)とf2(t)とを読み込み（ステップＳ２１１）、パラメータリスト５３を読み込む（ステップＳ２１２）。
【００８７】
パラメータリスト５３はパラメータｋとｌとの全ての組み合せを一覧にしたデータであり、パラメータｋは位相方向の比例配分の大きさを示し、パラメータｌは振幅方向の比例配分の大きさを示す。ｋ及びｌは、０以上かつ１以下の値であり、それぞれに対して複数の異なる値が設定される。又は、それぞれに対して繰り返し処理における増分等が、ユーザにより与えられてもよい。以下、パラメータｋとｌとの組み合せをパラメータ(k，l)という。
【００８８】
波形補間部４２は、心電図f1(t)とf2(t)とにアライメント処理を実行し、アライメントを最適化するワーピング関数γ*(t)を決定する（ステップＳ２１３）。上述した（式１．１）の最適化問題を解くことに相当する。
【００８９】
波形補間部４２は、パラメータリスト５３に未処理のパラメータ(k，l)が残っているか否かを判断する（ステップＳ２１４）。未処理のパラメータ(k，l)が残っている場合（ステップＳ２１４のＹＥＳ）、波形補間部４２は、パラメータリスト５３からパラメータ(k，l)の組を１つ取り出して、二つのワーピング関数φ2k及びφ1kを計算する（ステップＳ２１６）。即ち、上述した（式３）及び（式４）の、
【００９０】
【数１５】
2020195687.tif 000017
により求める。
【００９１】
次に、波形補間部４２は、得られた二つのワーピング関数φ2k及びφ1kを用いて、上述した（式５）の補間的な心電図の関数fk，l(t)を計算し、
【００９２】
【数１６】
2020195687.tif 000018
得られた値を記憶部１３０に保存する（ステップＳ２１７）。そして、波形補間部４２は、アノテーション付加部４３にアノテーション付与の要求を行い、アノテーション付与処理を実行する（ステップＳ２１８）。その後、波形補間部４２は、ステップＳ２１４へと戻り、上記同様の処理を繰り返す。
【００９３】
未処理のパラメータ(k，l)がない場合（ステップＳ２１４のＮＯ）、即ち、全ての組み合せを処理した場合、波形補間部４２は、すべての補間的な心電図の関数fk，l(t)の計算結果を出力する（ステップＳ２１９）。各関数fk，l(t)の計算結果は、補間データ５２として教師データ５７に追加される。
【００９４】
上述したフローチャートでは、関数計算として説明しているが、コンピュータとしてのデータ生成装置１００では、離散の関数値列をスプライン補間などで連続化して計算される。また、必要があれば結果の離散化も適宜行われる。
【００９５】
図１４は、図１３のステップＳ２１８におけるアノテーション付与処理を説明するためのフローチャート図である。図１４において、アノテーション付与部４３は、f2(t)のアノテーション時刻（ta）を取得する（ステップＳ２２４）。アノテーション時刻は、アノテーションが付与されているf2(t)の時刻を示し、複数であってもよい。複数の場合は、取得した時刻の数だけ、ステップＳ２２５及びＳ２２６を繰り返し行う。
【００９６】
アノテーション付与部４３は、アノテーション時刻taの移動先と、その時の補間的な心電図の値とを計算する（ステップＳ２２５）。移動先は、上記（式３）のφ2k(-1)(ta)により求める。また、補間的な心電図の値は、上記（式７）のfk，l(φ2k(-1)(ta))により求める。
【００９７】
アノテーション付与部４３は、座標値に対応付けてアノテーションを付与する（ステップＳ２２６）。座標値は、（φ2k(-1)(ta)，fk，l(φ2k(-1)(ta)）で特定される。アノテーション付与部４３は、すべてのアノテーション時刻を終了した場合、このアノテーション付与処理を終了する。
【００９８】
必ずしもすべての補間データ５２にアノテーションは付与されていなくてもよい場合がある。その場合には、図１３のステップＳ２１８は省略し、波形補間処理の終了後に、選択した補間データ５２にアノテーションを付与してもよい。
【００９９】
図１５は、アノテーション付与処理の他の例を説明するためのフローチャート図である。図１５において、アノテーション付与部４３は、波形補間部４２による波形補間処理の終了に応じて、心電図f1(t)とf2(t)とを読み込み（ステップＳ２２１）、パラメータリスト５３からパラメータ(k，l)の組を一つ選択する（ステップＳ２２２）。選択方法はランダムでも良いし、位相方向及び振幅方向の中間点などの予め定めた方法で選択すればよい。
【０１００】
アノテーション付与部４３は、心電図f1(t)とf2(t)とにアライメント処理を実行し、アライメントを最適化するワーピング関数γ*(t)を決定する（ステップＳ２２３）。ステップＳ２２４〜Ｓ２２６は、図１４の説明と同様であるため、ここでは省略する。
【０１０１】
図１６は、アノテーション推定処理を説明するためのフローチャート図である。図１６において、アノテーション推定部４４は、選択部４１に上述した前処理(a)を行わせた結果として心電図f1(t)とf2(t)とを読み込み（ステップＳ２３１）、パラメータkを１．０に設定する（ステップＳ２３２）。
【０１０２】
アノテーション推定部４４は、心電図f1(t)とf2(t)とにアライメント処理を実行し、アライメントを最適化するワーピング関数γ*(t)を決定する（ステップＳ２３３）。
【０１０３】
アノテーション推定部４４は、f2(t)のアノテーション時刻（ta）を取得する（ステップＳ２３４）。アノテーション時刻は、アノテーションが付与されているf2(t)の時刻を示し、複数であってもよい。複数の場合は、取得した時刻の数だけ、ステップＳ２３５及びＳ２３６を繰り返し行う。
【０１０４】
アノテーション推定部４４は、アノテーション時刻taの移動先と、その時の推定対象の心電図f1(t)の値とを計算する（ステップＳ２３５）。移動先は、上記（式３）のφ2k(-1)(ta)により求める。また、補間的な心電図の値は、上記（式７）のfk，l(φ2k(-1)(ta))により求める。
【０１０５】
アノテーション推定部４４は、座標値に対応付けてアノテーションを付与する（ステップＳ２３６）。座標値は、（φ2k(-1)(ta)，fk，l(φ2k(-1)(ta)）で特定される。アノテーション推定部４４は、すべてのアノテーション時刻を終了した場合、このアノテーション推定処理を終了する。
【０１０６】
更に、本実施例におけるアノテーション付与処理は、一つの心電図データ５１の一部にアノテーション３ａが存在する場合に、切り出す範囲を１周期として、各周期の同様の位置にアノテーション３ａを付与することも可能である。
【０１０７】
図１７は、心電図データ内でアノテーションを付与する例を説明するための図である。図１７（ａ）は、心電図データ５１を切り出す範囲ごとに部分波形を重ね合せた状態を示している。複数の部分波形に対してアライメント処理を行った状態が図１７（ｂ）に示されている。アノテーション３ａが付与されている時刻を特定し、各部分波形上で時刻が一致する位置にアノテーション３ａを付与する。
【０１０８】
図１６で説明したアノテーション推定処理に対して、アノテーション３ａが付与されている部分波形を心電図f2(t)とし、それ以外の部分波形を心電図f1(t)として与えれば、同様の処理で実現できる。この場合、医師等の専門知識を有する者によるアノテーション３ａの付与の手間を削減することができる。
【０１０９】
上述したように、本実施例では、ヒトの心電図として自然な波形データを生成し教師データを拡張すると共に、専門知識を有する者によって付与されたマーキングを、生成した波形データにも付与することで学習効率を向上させる。
【０１１０】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、主々の変形や変更が可能である。
【０１１１】
本実施例における、アノテーション３ａは、マーキング情報の一例であり、心電図の要素波形の山や谷は、波形データの特徴点の一例である。ステップＳ２３１及び選択部４１は、取得部の一例である。アノテーション推定部４４が行うステップＳ２３３は、特定部の一部である。また、アノテーション推定部４４が行うステップＳ２３４〜Ｓ２３６は、生成部の一部である。
【０１１２】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
コンピュータに、
波形中の所定の位置に対するマーキング情報を含む第１の波形データと、第２の波形データとを取得し、
前記第１の波形データの特徴点の時間軸の値と前記第２の波形データの前記特徴点の時間軸の値との差が小さくなるように、前記第１の波形データを変換する変換関数を特定し、
前記変換関数に基づいて特定される位置であって前記第２の波形データにおける前記所定の位置に対応する位置に前記マーキング情報が付与された第３の波形データを生成する、
処理を実行させることを特徴とするデータ生成プログラム。
（付記２）
前記コンピュータに、
前記変換関数に基づいて位相方向と振幅方向の一方又は両方を変化させて、前記第１の波形データを前記第２の波形データへと近付けることで、該第１の波形データと該第２の波形データとの間に１以上の第４の波形データを生成する
処理を実行させることを特徴とする付記１記載のデータ生成プログラム。
（付記３）
前記コンピュータに、
生成した１以上の前記第４の波形データにおける前記所定の位置に対応する位置に前記マーキング情報を付与する
処理を実行させることを特徴とする付記２記載のデータ生成プログラム。
（付記４）
前記コンピュータに、
生成した１以上の前記第４の波形データから選択された波形データに対して、前記所定の位置に対応する位置に前記マーキング情報を付与する
処理を実行させることを特徴とする付記２記載のデータ生成プログラム。
（付記５）
前記コンピュータに、
特徴点の出現パターンが繰り返される連続した波形データの異なる部分から、該出現パターンに基づいて切り出すことで、前記第１の波形データと前記第２の波形データとを取得させる
ことを特徴とする付記１記載のデータ生成プログラム。
（付記６）
前記第１の波形データと前記第２の波形データとは、生体の状態を表すデータであり、
前記コンピュータに、
前記第１の波形データと前記第２の波形データの一方に対して、前記生体の正常な状態のデータを選択し、他方に対して前記生体の異常な状態のデータを選択させる
ことを特徴とする付記１記載のデータ生成プログラム。
（付記７）
コンピュータが、
波形中の所定の位置に対するマーキング情報を含む第１の波形データと、第２の波形データとを取得し、
前記第１の波形データの特徴点の時間軸の値と前記第２の波形データの前記特徴点の時間軸の値との差が小さくなるように、前記第１の波形データを変換する変換関数を特定し、
前記変換関数に基づいて特定される位置であって前記第２の波形データにおける前記所定の位置に対応する位置に前記マーキング情報が付与された第３の波形データを生成する、
処理を実行することを特徴とするデータ生成方法。
（付記８）
波形中の所定の位置に対するマーキング情報を含む第１の波形データと、第２の波形データとを取得する取得部と、
前記第１の波形データの特徴点の時間軸の値と前記第２の波形データの前記特徴点の時間軸の値との差が小さくなるように、前記第１の波形データを変換する変換関数を特定する特定部と、
前記変換関数に基づいて特定される位置であって前記第２の波形データにおける前記所定の位置に対応する位置に前記マーキング情報が付与された第３の波形データを生成する生成部と、
を有することを特徴とする情報処理装置。
【符号の説明】
【０１１３】
４０          心電図生成部
４１          選択部
４２          波形補間部
４３          アノテーション付加部
４４          アノテーション推定部
４７          学習部
５１          心電図データ
５２          補間データ
５３          パラメータリスト
５７          教師データ
５８          学習結果データ
【図１】
2020195687.tif 000019
【図２】
2020195687.tif 000020
【図３】
2020195687.tif 000021
【図４】
2020195687.tif 000022
【図５】
2020195687.tif 000023
【図６】
2020195687.tif 000024
【図７】
2020195687.tif 000025
【図８】
2020195687.tif 000026
【図９】
2020195687.tif 000027
【図１０】
2020195687.tif 000028
【図１１】
2020195687.tif 000029
【図１２】
2020195687.tif 000030
【図１３】
2020195687.tif 000031
【図１４】
2020195687.tif 000032
【図１５】
2020195687.tif 000033
【図１６】
2020195687.tif 000034
【図１７】
2020195687.tif 000035