(57)【要約】      （修正有）【課題】現在の画像処理環境においては、ユーザ操作に対するフィードバックの提供が遅く、ユーザは操作の結果をリアルタイムで確認できない。そのため、ユーザはフィードバックを確認するたびに、操作を中断せざるを得なく、画像処理の作業時間が長引いてしまう。【解決手段】リアルタイムオブジェクト分離システム２００において、ガイダンス情報生成部２０４は、ユーザから入力された対象画像２０１における画像オブジェクトを分離するための軌道情報を取得し、当該軌道情報に基づいて、ユーザの所望の分離領域を示すガイダンス情報を生成することで、ユーザの意図に応じた分離領域をリアルタイムで提示することができ、スムーズ、かつ、継続的なオブジェクト分離手段を提供する。【選択図】図２
2020154773.tif 000002
【特許請求の範囲】
【請求項１】
画像オブジェクトを分離するための画像処理装置であって、
前記画像処理装置は、ガイダンス情報生成部を備え、
前記ガイダンス情報生成部は、
ユーザが入力した画像オブジェクトを分離するための軌道情報から、ユーザの所望の分離領域を生成する、
ことを特徴とする画像処理装置。
【請求項２】
前記ガイダンス情報生成部は、
画像における前記画像オブジェクトに対して入力されるストロークを検出し、
前記ストロークの、一定時間で入力された部分であるストロークセグメントに対応する位置情報及び方向情報を前記軌道情報として抽出する、
ことを特徴とする、請求項１に記載の画像処理装置。
【請求項３】
前記ガイダンス情報生成部は軌道変換部及びＲＮＮ特徴抽出部を更に備え、
前記軌道変換部は、
前記軌道情報に示される前記位置情報から、前記ストロークセグメントが前記画像において通過した経路を示す位置マップを計算し、
前記軌道情報に示される前記方向情報から、前記ストロークセグメントが前記画像において通過した経路の方向性を示す方向マップを計算し、
前記ＲＮＮ特徴抽出部は、
前記画像と、前記方向マップと、前記位置マップとに基づいて、前記画像における各画素に対して、前記ストロークが当該画素を通過する確率を示す意図マップを生成する、
ことを特徴とする、請求項２に記載の画像処理装置。
【請求項４】
前記ガイダンス情報生成部はガイダンス情報計算部及び修正部を更に備え、
前記ガイダンス情報計算部は、
前記画像及び前記意図マップに基づいて、前記分離領域を計算し、
前記修正部は、
前記分離領域を示す最終画像を生成し、ユーザに提示する、
ことを特徴とする、請求項３に記載の画像処理装置。
【請求項５】
前記ガイダンス情報生成部は削除検出部を更に備え、
前記削除検出部は、
第１時間に対応し、前記画像における第１領域を第１オブジェクトの領域として含む第１分離領域と、前記第１時間以降で所定時間以内の時間である第２時間に対応する第２分離領域とを比較し、
前記第２分離領域が前記第１分離領域に対して所定の逆行基準を達成すると判定した場合、
前記ガイダンス情報計算部は、
前記第１領域を前記第１オブジェクトの領域から排除した第３分離領域を生成する、
ことを特徴とする、請求項４に記載の画像処理装置。
【請求項６】
前記画像処理装置は、
ユーザインターフェースを更に備え、
前記ガイダンス情報生成部は、
軌道変換部と、ＲＮＮ特徴抽出部と、ガイダンス情報計算部と、修正部とを更に備え、
前記ユーザインターフェースを介して、画像における前記画像オブジェクトに対して入力されるストロークを検出し、
前記ストロークの、一定時間で入力された部分であるストロークセグメントに対応する位置情報及び方向情報を前記軌道情報として抽出し、
前記軌道変換部は、
前記軌道情報に示される前記位置情報から、前記ストロークセグメントが前記画像において通過した経路を示す位置マップを計算し、
前記軌道情報に示される前記方向情報から、前記ストロークセグメントが前記画像において通過した経路の方向性を示す方向マップを計算し、
前記RNN特徴抽出部は、
前記画像と、前記方向マップと、前記位置マップとに基づいて、前記画像における各画素に対して、前記ストロークが当該画素を通過する確率を示す意図マップを生成し、
前記ガイダンス情報計算部は、
前記画像及び前記意図マップに基づいて、前記分離領域を計算し、
前記修正部は、
前記画像及び前記分離領域を示す最終画像を生成し、前記ユーザインターフェースを介してユーザに提示する、
ことを特徴とする、請求項１に記載の画像処理装置。
【請求項７】
画像オブジェクトを分離するための画像処理装置によって実行される画像処理方法であって、
前記画像処理装置は、ユーザインターフェースを備え、
前記画像処理方法は、
前記ユーザインターフェースに表示された画像に対して入力されるストロークを検出する工程と、
前記ストロークの、一定時間で入力された部分であるストロークセグメントに対応する軌道情報として抽出する工程と、
前記軌道情報に基づいて、分離領域を示す最終画像を生成する工程と、
前記ユーザインターフェース上に前記最終画像を提示する工程と、
を含む画像処理方法。
【請求項８】
前記画像処理装置は、ガイダンス情報生成部を更に備え、
前記ガイダンス情報生成部は軌道変換部及びＲＮＮ特徴抽出部を更に備え、
前記軌道情報は、位置情報と、方向情報とを含み、
前記最終画像を生成する工程は、
前記軌道変換部によって、
前記軌道情報に含まれる前記位置情報から、前記ストロークセグメントが前記画像において通過した経路を示す位置マップを計算する工程と、
前記軌道情報に含まれる前記方向情報から、前記ストロークセグメントが前記画像において通過した経路の方向性を示す方向マップを計算する工程と、
前記ＲＮＮ特徴抽出部によって、
前記画像と、前記方向マップと、前記位置マップとに基づいて、前記画像における各画素に対して、前記ストロークが当該画素を通過する確率を示す意図マップを生成する工程と、
を更に含む、請求項７に記載の画像処理方法。
【請求項９】
画像オブジェクトを分離するための画像処理システムであって、
前記画像処理システムは、
画像処理装置と、クライアント端末とを備え、
前記画像処理装置と、クライアント端末とが通信ネットワークを介して接続されており、
前記画像処理装置は、ガイダンス情報生成部を備え、
前記ガイダンス情報生成部は、
前記クライアント端末から、画像と、前記画像における画像オブジェクトに対して入力されたストロークに関するストローク情報とを受信し、
前記ストローク情報に基づいて、ストロークの軌道を示す軌道情報を計算し、
前記軌道情報から、ユーザの所望の分離領域を生成し、前記クライアント端末に送信する、
ことを特徴とする画像処理システム。
【請求項１０】
前記ガイダンス情報生成部は、
前記ストローク情報に該当する前記ストロークの、一定時間で入力された部分であるストロークセグメントに対応する位置情報及び方向情報を抽出することで、前記軌道情報を計算する、
ことを特徴とする、請求項９に記載の画像処理システム。
【請求項１１】
前記ガイダンス情報生成部は軌道変換部及びＲＮＮ特徴抽出部を更に備え、
前記軌道変換部は、
前記軌道情報に示される前記位置情報から、前記ストロークセグメントが前記画像において通過した経路を示す位置マップを計算し、
前記軌道情報に示される方向位置情報から、前記ストロークセグメントが前記画像において通過した経路の方向性を示す方向マップを計算し、
前記ＲＮＮ特徴抽出部は、
前記画像と、前記方向マップと、前記位置マップとに基づいて、前記画像における各画素に対して、前記ストロークが当該画素を通過する確率を示す意図マップを生成する、
ことを特徴とする、請求項１０に記載の画像処理システム。
【請求項１２】
前記ガイダンス情報生成部は、ガイダンス情報計算部と、削除検出部とを更に備え、
前記削除検出部は、
第１時間に対応し、前記画像における第１領域を第１オブジェクトの領域として含む第１分離領域と、前記第１時間以降で所定時間以内の時間である第２時間に対応する第２分離領域とを比較し、
前記第２分離領域が前記第１分離領域に対して所定の逆行基準を達成すると判定した場合、
前記ガイダンス情報計算部は、
前記第１領域を前記第１オブジェクトの領域から排除した第３分離領域を生成する、
ことを特徴とする、請求項１１に記載の画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及び画像処理システムに関する。
【背景技術】
【０００２】
近年、ＩＴ化の進展に伴い、社会に多数のセンサーが配置され、極めて大量のデータが蓄積されている。そうした中、集積された画像データを活用する様々な方策が検討されている。特に、写真、動画、画像等の映像コンテンツが増える中、その映像におけるオブジェクトを自在に特定し、画像の背景又は他のオブジェクトから分離するニーズが高まっている。
従来、映像中のオブジェクトを分離するためには、ユーザがペン、指、マウス等のポインティングデバイスを用いて、表示画面上に表示されるオブジェクトの輪郭や他のオブジェクトとの境界線を手動で指定する手法が用いられている。
しかし、分離すべきオブジェクトの輪郭線を指などで指定する手動のオブジェクト分離手法では、ユーザの手間がかかる上、操作誤りなどで、分離結果の精度が下がってしまうことがある。そこで、オブジェクトの輪郭をなぞることなく、所望のオブジェクトを正確に指定し、ユーザの手間を省くことが求められている。
【０００３】
その中で、オブジェクト分離の操作をコンピュータが補助することでユーザの手間を省く「半自動的オブジェクト分離」（Ｓｅｍｉ−ａｕｔｏｍａｔｉｃ  Ｏｂｊｅｃｔ  Ｓｅｇｍｅｎｔａｔｉｏｎ）手段が開発されている。
例えば、国際公開番号ＷＯ２００８／０５２２２６Ａ２（特許文献１）には、「システムは、分離を修正するためのユーザの意図をモデル化するために、反復的な画像セグメントにおいてユーザによって入力されたストロークを分析する。ユーザ意図モデルでは、各ストロークの色は、ユーザによるピクセルラベルの前景または背景への変化の予想を示し、ストロークの位置は、ユーザの関心領域を示し、前のセグメンテーション境界に対するストロークの位置は、ユーザが調整しようとしているセグメンテーションエラーを示す。」技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開番号ＷＯ２００８／０５２２２６Ａ２
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の特許文献１には、ユーザが入力するストロークの色、位置、及び前回の分離領域の境界線からの相対的な距離等の情報を分析することで、ユーザの所望の分離結果を予測する画像処理装置が記載されている。
【０００６】
しかし、特許文献１では、ユーザの意図が分離したいオブジェクトを指定するためのストローク全体を用いてユーザが望む分離領域を予測している。つまり、ユーザには、オブジェクトを指定するストロークの途中では、フィードバックとなる分離領域を示すことができない。このように、ユーザへのフィードバックの提供が遅いため、ユーザは操作の結果をリアルタイムで見ることができず、フィードバックを確認するためには、オブジェクトを指定するためのストロークを中断しなければならない。
【０００７】
そこで、本発明は、ユーザの意図に応じた分離領域(「分離結果」、「分離案」ともいう)を、オブジェクトを指定するストロークの途中段階でも提示することにより、スムーズにオブジェクトの指定ができる手段を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、代表的な本発明の画像処理装置の一つは、分離したいオブジェクトを指定するためにユーザが入力した軌道情報から、ユーザの所望の分離領域情報を生成する。
【発明の効果】
【０００９】
本発明によれば、ユーザの意図に応じた分離領域をスムーズに提供することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態を実施するためのコンピュータシステムのブロック図である。
【図２】本発明に係るリアルタイムオブジェクト分離システムの構成の一例を示すブロック図である。
【図３】本発明に係るリアルタイムオブジェクト分離処理の時系列の一例を示す図である。
【図４】本発明に係るリアルタイムオブジェクト分離処理の一例を示すフローチャート図である。
【図５】本発明に係るガイダンス情報生成部の構成の一例を示す図である。
【図６】本発明に係る、位置マップ及び方向マップを計算する処理の一例を示す図である。
【図７】本発明に係る意図マップを生成する処理の一例を示す図である。
【図８】本発明に係るガイダンス情報の構成の一例を示す図である。
【図９】本発明に係る描画処理及び削除処理の一例を示す図である。
【図１０】本発明に係るリアルタイムオブジェクト分離を行うためのユーザインターフェースの一例を示す図である。
【図１１】本発明に係るリアルタイムオブジェクト分離を行うためのユーザインターフェースの一例を示す図である。
【図１２】本発明に係る本発明に係るリアルタイムオブジェクト分離訓練システムの一例を示す図である。
【図１３】本発明に係るリアルタイムオブジェクト分離訓練方法の一例を示す図である。
【図１４】本発明に係るユーザ入力シミュレーションの一例を示す図である。
【図１５】本発明に係るリアルタイムオブジェクト分離処理のタッチ操作の一例を示す図である。
【００１１】
以下、図面を参照して、本発明の実施形態について説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
（ハードウェア構成）
【００１２】
本開示の多くの態様は、コンピュータデバイスによって実行される動作のシーケンスとして説明される。また、本明細書で説明される様々な動作は、特定の回路（例えば、特定用途向け集積回路（ＡＳＩＣ））、１つ又は複数のプロセッサによって実行されるプログラム命令、又はその両方の組み合わせによって実行されてもよい。更に、本明細書に記載された動作のシーケンスは、コンピュータ命令のセットとして任意のコンピュータ可読記憶媒体に保存され、実行時に当該動作シーケンスに該当する機能をプロセッサに実行させるものであってもよい。従って、本開示の様々な態様は、多数の異なる形態で具体化されてもよく、それらのすべては本件発明の技術的範囲に含まれる。
【００１３】
本開示の実施形態の態様はニューラルネットワークに関する。一般に、「ニューラルネットワーク」とは、機械学習及びパターン認識などの機能を有する計算モデルである。ニューラルネットワークは、ローカル装置、サーバ／クライアント構成、分散型ネットワーク等、様々な動作環境に適用されてもよい。
【００１４】
次に、図１を参照して、本開示の実施形態を実施するためのコンピュータシステム３００について説明する。本明細書で開示される様々な実施形態の機構及び装置は、任意の適切なコンピューティングシステムに適用されてもよい。コンピュータシステム３００の主要コンポーネントは、１つ以上のプロセッサ３０２、メモリ３０４、端末インターフェース３１２、ストレージインタフェース３１４、Ｉ／Ｏ（入出力）デバイスインタフェース３１６、及びネットワークインターフェース３１８を含む。これらのコンポーネントは、メモリバス３０６、Ｉ／Ｏバス３０８、バスインターフェースユニット３０９、及びＩ／Ｏバスインターフェースユニット３１０を介して、相互的に接続されてもよい。
【００１５】
コンピュータシステム３００は、プロセッサ３０２と総称される１つ又は複数の汎用プログラマブル中央処理装置（ＣＰＵ）３０２Ａ及び３０２Ｂを含んでもよい。ある実施形態では、コンピュータシステム３００は複数のプロセッサを備えてもよく、また別の実施形態では、コンピュータシステム３００は単一のＣＰＵシステムであってもよい。各プロセッサ３０２は、メモリ３０４に格納された命令を実行し、オンボードキャッシュを含んでもよい。
【００１６】
ある実施形態では、メモリ３０４は、データ及びプログラムを記憶するためのランダムアクセス半導体メモリ、記憶装置、又は記憶媒体（揮発性又は不揮発性のいずれか）を含んでもよい。メモリ３０４は、本明細書で説明する機能を実施するプログラム、モジュール、及びデータ構造のすべて又は一部を格納してもよい。例えば、メモリ３０４は、オブジェクト分離アプリケーション３５０を格納していてもよい。ある実施形態では、オブジェクト分離アプリケーション３５０は、後述する機能をプロセッサ３０２上で実行する命令又は記述を含んでもよい。
【００１７】
ある実施形態では、オブジェクト分離アプリケーション３５０は、プロセッサベースのシステムの代わりに、またはプロセッサベースのシステムに加えて、半導体デバイス、チップ、論理ゲート、回路、回路カード、および/または他の物理ハードウェアデバイスを介してハードウェアで実施されてもよい。ある実施形態では、オブジェクト分離アプリケーション３５０は、命令又は記述以外のデータを含んでもよい。ある実施形態では、カメラ、センサ、または他のデータ入力デバイス（図示せず）が、バスインターフェースユニット３０９、プロセッサ３０２、またはコンピュータシステム３００の他のハードウェアと直接通信するように提供されてもよい。
【００１８】
コンピュータシステム３００は、プロセッサ３０２、メモリ３０４、表示システム３２４、及びＩ／Ｏバスインターフェースユニット３１０間の通信を行うバスインターフェースユニット３０９を含んでもよい。Ｉ／Ｏバスインターフェースユニット３１０は、様々なＩ／Ｏユニットとの間でデータを転送するためのＩ／Ｏバス３０８と連結していてもよい。Ｉ／Ｏバスインターフェースユニット３１０は、Ｉ／Ｏバス３０８を介して、Ｉ／Ｏプロセッサ（ＩＯＰ）又はＩ／Ｏアダプタ（ＩＯＡ）としても知られる複数のＩ／Ｏインタフェースユニット３１２，３１４，３１６、及び３１８と通信してもよい。
【００１９】
表示システム３２４は、表示コントローラ、表示メモリ、又はその両方を含んでもよい。表示コントローラは、ビデオ、オーディオ、又はその両方のデータを表示装置３２６に提供することができる。また、コンピュータシステム３００は、データを収集し、プロセッサ３０２に当該データを提供するように構成された1つまたは複数のセンサ等のデバイスを含んでもよい。
【００２０】
例えば、コンピュータシステム３００は、心拍数データやストレスレベルデータ等を収集するバイオメトリックセンサ、湿度データ、温度データ、圧力データ等を収集する環境センサ、及び加速度データ、運動データ等を収集するモーションセンサ等を含んでもよい。これ以外のタイプのセンサも使用可能である。表示システム３２４は、単独のディスプレイ画面、テレビ、タブレット、又は携帯型デバイスなどの表示装置３２６に接続されてもよい。
【００２１】
Ｉ／Ｏインタフェースユニットは、様々なストレージ又はＩ／Ｏデバイスと通信する機能を備える。例えば、端末インタフェースユニット３１２は、ビデオ表示装置、スピーカテレビ等のユーザ出力デバイスや、キーボード、マウス、キーパッド、タッチパッド、トラックボール、ボタン、ライトペン、又は他のポインティングデバイス等のユーザ入力デバイスのようなユーザＩ／Ｏデバイス３２０の取り付けが可能である。ユーザは、ユーザインターフェースを使用して、ユーザ入力デバイスを操作することで、ユーザＩ／Ｏデバイス３２０及びコンピュータシステム３００に対して入力データや指示を入力し、コンピュータシステム３００からの出力データを受け取ってもよい。ユーザインターフェースは例えば、ユーザＩ／Ｏデバイス３２０を介して、表示装置に表示されたり、スピーカによって再生されたり、プリンタを介して印刷されたりしてもよい。
【００２２】
ストレージインタフェース３１４は、１つ又は複数のディスクドライブや直接アクセスストレージ装置３２２（通常は磁気ディスクドライブストレージ装置であるが、単一のディスクドライブとして見えるように構成されたディスクドライブのアレイ又は他のストレージ装置であってもよい）の取り付けが可能である。ある実施形態では、ストレージ装置３２２は、任意の二次記憶装置として実装されてもよい。メモリ３０４の内容は、ストレージ装置３２２に記憶され、必要に応じてストレージ装置３２２から読み出されてもよい。Ｉ／Ｏデバイスインタフェース３１６は、プリンタ、ファックスマシン等の他のＩ／Ｏデバイスに対するインターフェースを提供してもよい。ネットワークインターフェース３１８は、コンピュータシステム３００と他のデバイスが相互的に通信できるように、通信経路を提供してもよい。この通信経路は、例えば、ネットワーク３３０であってもよい。
【００２３】
ある実施形態では、コンピュータシステム３００は、マルチユーザメインフレームコンピュータシステム、シングルユーザシステム、又はサーバコンピュータ等の、直接的ユーザインターフェースを有しない、他のコンピュータシステム（クライアント）からの要求を受信するデバイスであってもよい。他の実施形態では、コンピュータシステム３００は、デスクトップコンピュータ、携帯型コンピュータ、ノートパソコン、タブレットコンピュータ、ポケットコンピュータ、電話、スマートフォン、又は任意の他の適切な電子機器であってもよい。
【実施例１】
【００２４】
次に、本発明の実施形態について説明する。本発明は、ユーザが画像編集環境において入力するストロークの一部に含まれる軌道情報を用いることで、画像オブジェクトを正確に分離する処理に関する。
ここで、「ストローク」とは、ユーザが指、ペン、マウス等のポインティングディバイス等によって示す、画像における二つの点を繋ぐ「線」を指定する動作を意味するものである。
本発明では、ユーザが入力するストロークの一部、例えば、５ミリ秒等の一定時間で入力されるストロークセグメントの位置情報及び方向性情報を分析することにより、ユーザが画像オブジェクトをどのように分離したいかとの意図を予測し、ユーザの意図に応じた分離領域を生成することができる。
そのため、ユーザが入力するストロークに含まれる多数のストロークセグメントをリアルタイムで分析し、分離領域を継続的に提示することで、オブジェクト分離精度を向上しつつ、ユーザの操作時間を短縮する効果が得られる。
【００２５】
次に、図２を参照して、本発明に係るリアルタイムオブジェクト分離システム２００の構成について説明する。
【００２６】
図２に示されるように、本発明に係るリアルタイムオブジェクト分離システム２００は、第１分離領域を生成する画像オブジェクト分離部２０２と、ユーザインターフェース２０３と、ユーザの入力からガイダンス情報を生成するガイダンス情報生成部２０４と、ガイダンス情報に基づいて、第２分離領域を生成する修正部２０５とからなる。
【００２７】
画像オブジェクト分離部２０２は、ユーザから入力される対象画像に対して、最初のフィードバックである第１分離領域を生成する機能部である。画像オブジェクト分離部２０２は、例えばディープラーニングに基づく分離手法、グラフカット（Ｇｒａｐｈ  Ｃｕｔ）、プログレッシブカット（Ｐｒｏｇｒｅｓｓｉｖｅ  Ｃｕｔ）、クラスタリング手法、エッジ検出などの既存のオブジェクト分離アルゴリズムを用いることで第１分離領域を生成する。ここで生成される第１分離領域は、ユーザインターフェース２０３を介して、ユーザに提示される。
【００２８】
ユーザインターフェース２０３とは、例えば、画像編集プログラムにおける操作画面などの、分離システム２００とユーザの間で情報の送受信を行うためのＧＵＩである（例えば、図１０〜１１参照）。ユーザは、ユーザインターフェース２０３を介して、第１分離領域を確認し、第１分離領域に関する評価（承認するか否か）を入力したり、フィードバックとなる第２分離領域を確認したりすることができる。
例えば、第１分離領域において誤り（正しく分離されていないオブジェクト等）がある場合には、ユーザは、指、ペン、マウス等のポインティングディバイスを用いて、ユーザインターフェース２０３を介して、第１分離領域を修正するためのストロークを入力してもよい。
【００２９】
ガイダンス情報生成部２０４とは、ユーザがユーザインターフェース２０３を介して入力したストロークに含まれるストロークセグメントの軌道情報（位置情報及び方向性情報）を抽出し、当該軌道情報及び対象画像を用いて、ユーザが画像オブジェクトをどのように分離したいかを示すガイダンス情報を生成する機能部である。このガイダンス情報は、図８を参照して詳細を後述する。
なお、ここでは、ユーザが入力するストロークに関するストローク情報を分析し、当該ストロークの軌道情報を計算する処理がガイダンス情報生成部２０４によって行われる構成を説明したが、ストロークに関するストローク情報を取得したり、分析したりする処理をユーザインターフェース２０３によって行う構成も可能である。
【００３０】
修正部２０５とは、ガイダンス情報生成部２０４から入力されるガイダンス情報を用いて、ユーザの入力に基づいて修正した第２分離領域を生成する機能部である。修正部２０５は、例えば、画像処理やオブジェクト分離などに適用されたエンコーダ・デコーダーネットワークであってもよい。ガイダンス情報がガイダンス情報生成部２０４から入力されると、修正部２０５は、第２分離領域を生成し、上述したユーザインターフェース２０３を介してユーザに提示する。この第２分離領域は、ユーザが入力したストロークセグメントに基づいて予測された意図に応じて生成された分離結果である。
なお、本明細書では、修正前の分離領域と修正後の分離領域を区別するために、「第１分離領域」と「第２分離領域」等の用語を用いて本発明に係る処理を説明するが、これは、分離領域が２つに限定される趣旨ではない。実際には、ユーザが画像を編集している間、多数の分離領域がリアルタイムで生成されてもよい。
【００３１】
以上説明した、本発明に係るリアルタイムオブジェクト分離システム２００の機能部は、例えば、図１に示すオブジェクト分離アプリケーション３５０を構成するソフトウエアモジュールであってもよく、独立した専用ハードウェアデバイスであってもよい。
また、上記で説明した機能部は、同一のコンピューティング環境で実施されてもよく、分散されたコンピューティング環境で実施されてもよい。例えば、画像オブジェクト分離部２０２を遠隔のサーバに実装し、ユーザインターフェース２０３、ガイダンス情報生成部２０４、及び修正部２０５をクライアント端末等のローカルデバイスに実装する構成であってもよい。また、別の例としては、画像オブジェクト分離部２０２と、ユーザインターフェース２０３とをクライアント端末に実装し、ガイダンス情報生成部２０１と修正部２０５を遠隔のサーバに実装する構成であってもよい。
【００３２】
次に、図３を参照して、本発明に係るリアルタイムオブジェクト分離処理を時系列に基づいて説明する。
【００３３】
画像オブジェクト分離処理において、高精度な分離領域を得るためには、ユーザの操作に対する結果を視覚的に迅速にユーザにフィードバックすることが重要である。そこで、本発明に係るリアルタイムオブジェクト分離においては、ユーザの編集操作であるストロークの入力が完了する前に、そのストロークに含まれるストロークセグメントを用いて、最終的な分離領域を予測し、これを迅速にユーザへフィードバックすることを目的とする。
【００３４】
図３に示すように、上述したオブジェクト分離システムは、ユーザがストローク３６０の入力を開始した時点から一定時間（例えば５ミリ秒）が経過した時間までの期間Δｔ１で入力された、ストローク３６０の一部であるストロークセグメント３６０aを読み込む。このストロークセグメント３６０aに示される軌道情報に基づいて、後述する処理によって第１分離領域が生成され、ユーザにフィードバックされる。
【００３５】
続いて、ユーザは提示される第１分離領域に応じて、ストローク３６０の経路（位置や方向性）をストロークの途中で、当初念頭においていたストローク軌道から変更してもよい。そうすると、上述した期間Δｔ１後の処理と同様に、オブジェクト分離システムは、ストロークセグメント３６０aが終了した時点から、一定時間（例えば５ミリ秒）が経過した時間までの期間Δｔ２で入力されたストロークセグメント３６０ｂを読み込む。その後、オブジェクト分離システムは、このストロークセグメント３６０ｂの軌道情報に基づいて、第１分離領域を修正することで、更新した分離領域を示す第２分離領域を生成し、ユーザに提示する。この処理は、ストローク３６０の入力が終了するまで、あるいは、ユーザが分離領域を承認するまで、ｎ回繰り返して行われてもよい。
【００３６】
このように、ユーザがストローク３６０を入力している最中に、フィードバックとなる分離領域がリアルタイムで確認できるため、ユーザは、このフィードバックを確認しながら、ストローク３６０の経路を途中で適宜に変更し、所望の分離領域を指定し、スムーズに所望の分離結果を得ることができる。
【００３７】
次に、図４を参照して、本発明に係るリアルタイムオブジェクト分離処理について説明する。
【００３８】
まず、ステップS４０１では、画像オブジェクト分離部（例えば、図２の画像オブジェクト分離部２０２）は、対象画像（例えば、図２の対象画像２０１）の入力を受け付ける。この対象画像は、例えば、ユーザが画像編集環境で編集する対象の画像であってもよい。
【００３９】
次に、ステップS４０２では、画像オブジェクト分離部は、対象画像に対する第１分離領域を生成する。具体的には、第１分離領域を生成するとは、ディープラーニングに基づく分離手法、グラフカット（Ｇｒａｐｈ  Ｃｕｔ）、プログレッシブカット（Ｐｒｏｇｒｅｓｓｉｖｅ  Ｃｕｔ）、クラスタリング手法、エッジ検出などの既存のアルゴリズムを用いて、対象画像に写るオブジェクトを検出し、同じオブジェクトに属する画素をグループ化させることを意味する。
しかし、従来の分離手法で生成されるこの第１分離領域では、画像に写るそれぞれのオブジェクトが正しくグループ化される保証はなく、正確に分離されないオブジェクトが残る可能性が高い。そのため、第１分離領域はあくまでも暫定的な結果であり、この第１分離領域を本発明に係るオブジェクト分離方法で修正することにより、より精度の高い分離結果を得ることができる。
【００４０】
次に、ステップS４０３では、ステップS４０２で生成された第１分離領域が、ユーザインターフェース（例えば、図２のユーザインターフェース２０３）を介してユーザに提示される。ここで、ユーザは第１分離領域を確認し、それぞれの画像オブジェクトが望むように分離されているか否かを判定する。
それぞれの画像オブジェクトがユーザが望むように分離されている場合には、ユーザは第１分離領域を承認し、第１分離領域が対象画像の最終分離結果となる。その後、本処理はステップS４１０に進む（ステップS４０３：YES）。
一方、第１分離領域が、ユーザが望むように分離されていないオブジェクトを含む場合には、ユーザは第１分離領域を承認せず、本処理はステップS４０４に進む（ステップS４０３：NO）。
【００４１】
次に、ステップS４０４では、ユーザは、第１分離領域における修正したい対象オブジェクトを選択する。後述するように、この対象オブジェクトの選択は、例えば、ユーザがペン、指、マウス等のポインティングデバイスを用いて、画像編集環境の画面上に表示されている第１分離領域における対象オブジェクトをクリックしたり、座標を指定したり、対象オブジェクトに対応するインスタンスを選んだりすることで行われてもよい。
【００４２】
次に、ステップS４０５では、ユーザは、ユーザインターフェースを用いて、ステップS４０４で選択した対象オブジェクトに対して、そのオブジェクトをどのように分離したいかを示すストロークを入力する。このストロークは、例えば、分離したい画像領域を、マウスで線を引いて指定してもよく、指又はペン（スタイラス）でスワイプする動作であってもよく、分離したい画像領域を示す動作であれば特に限定されない。
【００４３】
次に、ステップS４０６では、ガイダンス情報生成部（例えば、図２のガイダンス情報生成部２０４）は、ストロークの入力が開始した時点から一定時間（例えば５ミリ秒）が経過した時間までの期間Δｔで入力された、ストロークの一部であるストロークセグメントを読み込む。
そして、ガイダンス情報生成部は、このストロークセグメントの軌道情報を抽出する。その後、ガイダンス情報生成部は、当該軌道情報及び対象画像を用いて、ユーザが画像オブジェクトをどのように分離したいかを示すガイダンス情報を生成する（詳細は図８参照）。
【００４４】
次に、ステップS４０７では、修正部（例えば、図２のガイダンス情報生成部２０４）は、ステップS４０６で生成されたガイダンス情報に基づいて、第１分離領域を修正することで、第２分離領域を生成し、ユーザインターフェースにてユーザに提示する。
【００４５】
次に、ステップS４０８では、ユーザはユーザインターフェースにて表示される分離領域を確認し、ステップS４０４で選択した対象オブジェクトが望むように分離されているか否かを判定する。
対象オブジェクトがユーザの望むように分離されていない場合、又は、他に修正したい分離領域がある場合には、ユーザはユーザインターフェースでその旨を示し、本処理はステップS４０４に戻る。
選択した対象オブジェクトがユーザが望むように分離されている場合には、ユーザは対象オブジェクトの分離領域を承認し、本処理はステップS４０９に進む。
【００４６】
次に、ステップS４０９では、ユーザは、対象画像において、他に分離領域を修正したいオブジェクトがあるか否かを判定する。対象画像において分離領域を修正したいオブジェクトが他にあると判定した場合（ステップS４０９：NO）には、本処理はステップS４０４に戻る。
対象画像において分離領域を修正したいオブジェクトが他にないと判定した場合（ステップS４０９：YES）には、本処理はステップS４１０に進む。
【００４７】
次に、ステップS４１０では、次の対象画像がある場合には、本処理はステップS４０１に戻る。また、次の対象画像がない場合には、本処理は終了する。
【００４８】
以上説明したとおり、本発明に係るリアルタイムオブジェクト分離処理では、ユーザは、自分の入力（ストローク等）をベースとして、予測された操作の結果をフィードバックとしてリアルタイムで確認できるため、オブジェクト分離精度を向上しつつ、ユーザの操作時間を短縮する効果が得られる。
【００４９】
次に、図５を参照して、本発明に係るガイダンス情報生成部２０４の構成について説明する。
【００５０】
上述したように、ガイダンス情報生成部２０４は、軌道情報を示すストローク等のようなユーザ入力５０１を受信し、当該軌道情報と、対象画像５０６と、画像オブジェクト分離部（例えば、図２の画像オブジェクト分離部２０２）によって生成された第１分離領域５０７とに基づいて、ガイダンス情報５０８を生成する。
図５に示すように、本発明に係るガイダンス情報生成部２０４は、軌道変換部５０２と、削除検出部５０３と、ＲＮＮ（Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）特徴抽出部５０４と、ガイダンス情報計算部５０５とからなる。
【００５１】
軌道変換部５０２は、ユーザ入力５０１に含まれる軌道情報を抽出し、当該軌道情報に基づいて、位置マップと方向マップを後述の処理で生成する機能部である。位置マップとは、ユーザが入力したストロークに含まれる１つのストロークセグメントの経路が対象画像において通過した画素を示す行列（マトリックス）である。
また、方向マップとは、ユーザが入力したストロークに含まれる１つのストロークセグメントの経路の方向性を示す行列である。位置マップと方向マップを、後述するＲＮＮ特徴抽出部で処理することで、ユーザが画像オブジェクトをどのように分離したいかとの意図を予測し、当該意図を示す意図マップを生成することができる。
【００５２】
削除検出部５０３は、ユーザが、以前に入力したストロークセグメントを削除し、軌道情報が異なるストロークセグメントを入力する意図を検出するための機能部である。具体的には、削除検出部５０３は、時間的に連続する複数の位置マップ（例えば、Δｔ１に対応する位置マップと、Δｔ２に対応する位置マップ）を比較し、これらの二つの位置マップのユークリッド距離での類似度を計算する。
また、削除検出部５０３は、類似度の計算で使用したそれぞれの位置マップに対応する方向マップを比較し、ストロークの経路の乖離を計算する。
これらの計算により、類似度が所定の類似度基準（例えば、８０％）以上で、方向性が実質的に逆と判定された（すなわち、逆行基準を満たす）場合には、削除検出部５０３は、ユーザが入力した直前のストロークセグメントを削除し、最後の分離結果を提示する。これにより、ユーザがストロークセグメントを削除したいとの意図が自動的に検出され、分離領域がリアルタイムで更新されるため、ユーザは操作ミス等による誤りを容易に修正することができる。
なお、削除の意図が検出されない場合には、軌道変換部５０２の出力（位置マップと方向マップ）は直接にＲＮＮ特徴抽出部５０４に進む。
【００５３】
ＲＮＮ特徴抽出部５０４は、軌道変換部５０２で生成された位置マップと方向マップに基づいて、ユーザが画像オブジェクトをどのように分離したいかの意図を予測し、当該意図を示す意図マップを生成する機能部である。
このＲＮＮ特徴抽出部５０４は、例えば、時系列データ等の順序付けられたデータにおけるパターンを認識し、その次のパターンのデータを予測するように設計された再起型モデルである。
後述する図６に示すように、ＲＮＮ特徴抽出部５０４は、ストロークに含まれるストロークセグメントに基づいて生成された位置マップと方向マップを分析することで、次のストロークセグメントの軌道情報を予測し、この予測した軌道情報を示す「意図マップ」を生成する。
【００５４】
ガイダンス情報計算部５０５は、ＲＮＮ特徴抽出部５０４で生成された意図マップ（例示せず）と、対象画像と、第１分離領域を結合することで、ガイダンス情報５０８を生成する機能部である。
ガイダンス情報５０８とは、ユーザが望むと予測される分離領域を示す情報である。上述したように、修正部（例えば、図２の修正部２０５）は、当該ガイダンス情報５０８に基づいて、ユーザの予測した意図に応じた第２分離領域を生成し、提示することで、ユーザはリアルタイムでフィードバックを確認することができる。
【００５５】
次に、図６を参照して、本発明に係る、位置マップ６０４及び方向マップ６０５を計算する処理について説明する。上述したように、位置マップ６０４及び方向マップ６０５を生成する処理は、図５の軌道変換部５０２によって行われる処理である。
【００５６】
上述したように、軌道変換部はまず、ユーザが入力したストロークに含まれるそれぞれのストロークセグメントの軌道情報６０１を抽出する。この軌道情報６０１を抽出した後、軌道変換部は、それぞれのストロークセグメントに対して、そのセグメントの位置情報を表す位置マップ６０４と、そのセグメントの方向性情報を表す方向マップ６０５とを、２次元の行列として生成する。
位置マップ６０４と方向マップ６０５は、両方ともストロークが入力された対象画像の領域６０３と同じ次元を有するため、対象画像の領域６０３におけるそれぞれの画素が、位置マップ６０４と方向マップ６０５の行列のそれぞれの要素に対応する。
【００５７】
位置マップ６０４の行列の各要素における値は、ユーザが入力したストロークセグメントの経路が、その画素を通過する確率を示す。ストロークセグメントの経路が通過した画素に対応する位置マップ６０４の要素は「１」と設定される。
また、位置マップのロバスト性を向上するためには、他の行列の要素の値は、以下の数１で示す標準偏差σを有するガウス関数によって計算される。
【数１】
2020154773.tif 000003
数１のＶＴ（ｐ）は、あるストロークセグメントＴに基づいて生成した位置マップ６０４における画素ｐの確率値であり、Ｎは、ストロークセグメントの経路が通過した画素数であり、ｄ（ｐ，ｔｎ）は、ストロークセグメントＴにおける点ｔｎと画素ｐの間のユークリッド距離である。
【００５８】
上述したように、方向マップ６０５は、ユーザが入力したストロークストロークセグメントの経路の方向性を示す行列である。ストロークセグメントの経路の終了点となる画素に対応する方向マップ６０５の要素は「１」と設定される。また、それ以外の要素は、以下の数２によって計算される。
【数２】
2020154773.tif 000004
数２のＤＴ（ｐ）は、あるストロークセグメントＴに基づいて生成した方向マップ６０５における画素ｐの値であり、ｎは、ストロークセグメントＴにおける画素ｐが、開始点から数えて何番目の画素であるかを示し、Ｎは、ストロークセグメントの経路が通過した画素数であり、Ｓｅは終了点の値である。例えば、３画素を通過したストロークセグメントＴ（すなわち、Ｎ＝３の場合）における画素ｐが、開始点から数えて２番目の画素だった場合、ｎ／Ｎは２／３となるため、ＤＴ（ｐ）は０．６７となる。
【００５９】
次に、図７を参照して、本発明に係る、意図マップ７０３を生成する処理について説明する。上述したように、意図マップ７０３を生成する処理は、図５のＲＮＮ特徴抽出部によって行われる処理である。
【００６０】
ＲＮＮ特徴抽出部は、軌道変換部５０２で生成された位置マップ及び方向マップ（ここでは、入力ｘ０７０１として示される）に基づいて、入力ｘ０７０１の元となったストロークセグメントの次に入力されるであろうストロークセグメントの経路の軌道情報を予測し、この予測した軌道情報の確率分布を意図マップ（ここでは、出力ｘ０７０３）として生成する。１つのストロークに含まれる各セグメントに対してこの処理を行うことで、それぞれ異なる期間に対応する複数の意図が生成される。
【００６１】
例えば、図７に示すように、開始点からｔ１に間に入力されたストロークセグメントｘ０、ｔ１からｔ２の間に入力されたストロークセグメントｘ１、及びｔ２からｔ３の間に入力されたストロークセグメントｘ２をそれぞれＲＮＮ特徴抽出部で処理することで、３つの意図マップｙ０、ｙ１、及びｙ２が生成される。
後述するように、これらの意図マップと、第１分離領域と、対象画像に基づいて、ユーザの意図に応じた分離領域を生成することができる。
なお、ここでは、３つの意図マップを生成する例を説明したが、本発明はこれに限定されず、少なくとも１つの意図マップがあれば、ガイダンス情報を生成することができる。
【００６２】
次に、図８を参照して、本発明のガイダンス情報７５０の構成について説明する。上述したように、ガイダンス情報７５０は、ユーザが望む分離結果を得るために、ユーザのストロークが辿るべき経路を示す情報である。
【００６３】
図８に示すように、ガイダンス情報７５０は、ストロークセグメントに基づいて生成された１つ以上の意図マップ７４２と、画像オブジェクト分離部によって生成された第１分離領域７４４と、元の対象画像７４６とに基づいて生成される。意図マップ７４２と、第１分離領域７４４と、対象画像７４６とを同一の次元（すなわち、画素の行と列が同一である状態）に変換し、重ね合わせることで、ユーザのストロークが第１分離領域７４４と比較して、対象画像７４６において通過するであろう画素が示される。
このユーザのストロークが辿ると予測される経路を示すガイダンス情報７５０用いることで、上述した修正部は、第１分離領域を修正し、ユーザの意図に応じた第２分離領域を生成することができる。
【００６４】
次に、図９を参照して、本発明に係る描画処理８１０及び削除処理８２０について説明する。
【００６５】
上記では、対象画像において、同じオブジェクトに属する画素を独立した「オブジェクトマスク」としてグループ化させることを「オブジェクト分離」と呼び、説明してきたが、実際には、オブジェクトを分離する処理は、対象オブジェクトに属する画素を同一のグループに含む「描画処理」８１０と、対象オブジェクトに属さない画素をグループから排除する「削除処理」との二つの処理からなる。
以下では、図９に示される一例を用いて、これらの処理について説明する。また、ここでは、包丁と、携帯電話と、スプレーとが部分的に重なっている対象画像を例として説明する。
【００６６】
まず、描画処理８１０について説明する。ステップＡでは、対象画像が画像オブジェクト分離部（例えば、図２の画像オブジェクト分離部２０２）によって処理された結果、第１分離領域８０１が提供されたとする。この第１分離領域８０１では、包丁のオブジェクトマスクが携帯電話のオブジェクトマスクで隠され、ユーザが望む分離結果となっていないため、ユーザは第１分離領域８０１を承認しない（図４のステップＳ４０３：ＮＯに該当）。
【００６７】
次に、ステップＢでは、ユーザは、第１分離領域８０１を修正するために、包丁のオブジェクトマスクにおいて開始点を有し、包丁のオブジェクトマスクに含みたい領域を通過するストローク８０２を入力する。
【００６８】
次に、ステップＣでは、ストローク８０２を開始した時点から一定時間（例えば５ミリ秒）が経過した時間までの期間Δｔで入力されたストロークセグメントに応じた第２分離領域８０３が生成され、ストローク８０２が開始した直後にユーザに提示される。
しかし、この第２分離領域８０３では、ユーザが包丁のオブジェクトマスクに含みたい画素がまだ全て含まれていないため、ユーザはストローク８０２を書き続ける。
【００６９】
次に、ステップＤでは、ユーザが入力したストロークセグメントに応じた第３分離領域８０４が生成され、フィードバックとしてユーザに提供される。この第３分離領域８０４では、ユーザが包丁のオブジェクトマスクに含みたい画素が全て含まれているため、ユーザは第３分離領域８０４を承認する。その後、第３分離領域８０４が最終結果（最終分離領域）として出力される。
【００７０】
次に、削除処理８２０について説明する。ステップＡでは、包丁のオブジェクトマスクが携帯電話のオブジェクトマスクに含まれている第１分離領域８２１がユーザに提供されたとする。この第１分離領域８２１では、包丁のオブジェクトマスクと携帯電話のオブジェクトマスクとが混合し、ユーザが望む分離結果となっていないため、ユーザは第１分離領域８２１を承認しない（図４のステップＳ４０３：ＮＯに該当）。
【００７１】
次に、ステップＢでは、ユーザは、包丁のオブジェクトマスクを携帯電話のオブジェクトマスクから排除する修正操作として、排除したい領域とそうでない領域の境界線に沿ったストローク８２２を第１分離領域８２１に対して入力する。
【００７２】
次に、ステップＣでは、ユーザのステップＢの入力に応じた第２分離領域８２３が生成され、ユーザに提示される。この第２分離領域８２３では、包丁のオブジェクトマスクに不要な領域が含まれている。そして、その不要な領域を削除するために、ユーザは、ステップＢで入力したストロークと逆の方向に延びるストロークを入力する。上述したように、削除検出部（例えば、図５の削除検出部５０３）は、この入力が削除処理を示していると判定し、包丁のオブジェクトマスクに含まれていた不要な領域を削除する。
【００７３】
次に、ステップＤでは、ユーザは、包丁のオブジェクトマスクに含まれていた不要な領域を削除した第３分離領域８２４がユーザに提示される。そして、ユーザは、包丁のオブジェクトマスクにおいて開始点を有し、包丁のオブジェクトマスクに含みたい領域を通過するストローク８２５を入力する。
【００７４】
次に、ステップＥでは、ユーザのステップＤの入力に応じた第４分離領域８２６が生成され、フィードバックとしてユーザに提供される。この第４分離領域では、包丁のオブジェクトマスクと、携帯電話のオブジェクトマスクがユーザの望むように分離されているため、ユーザは第４分離領域８２６を承認する。その後、第４分離領域８２６が最終分離結果として出力される。
【００７５】
なお、上記の「ストローク」及び「ストロークセグメント」は、独立した操作として説明したが、これらの入力は途中で中断することなく、１つのストロークとして継続的に入力されてもよい。
【００７６】
次に、図１０を参照して、本発明に係るリアルタイムオブジェクト分離を行うためのユーザインターフェース９００について説明する。このユーザインターフェースは、例えば、画像編集プログラムにおいて、ＲＧＢ画像やレントゲン画像等に写るオブジェクトをタギングするためのＧＵＩである。
【００７７】
図１０に示すように、ユーザインターフェース９００は、自動ウインドー９０１と、画像編集ウインドー９０２と、タギング情報ウインドー９０３と、情報編集ウインドー９０４とからなる。画像編集プログラムに対象画像が（例えば、ユーザの選択により）読み込まれる（図４のステップＳ４０１）と、上述した第１分離領域が生成され（図４のステップＳ４０２）、自動ウインドー９０１に提示される。例えば、図１０に示す対象画像は、３つの携帯電話と１つの財布が写っている、Ｘ線による撮影画像である。
【００７８】
タギング情報ウインドー９０３には、対象画像に写っているオブジェクトのインスタンスＩＤ，カテゴリー、及び座標情報が表示される。ユーザは、タギング情報ウインドー９０３で、編集したいオブジェクトのインスタンスを選択することで、選択したオブジェクトの詳細情報を情報編集ウインドー９０４で編集することができる。
例えば、情報編集ウインドー９０４では、ユーザはオブジェクトのカテゴリーを選択したり、新しいカテゴリーを定義したり、オブジェクトの画像における位置を指定するための座標情報を入力したりすることができる。
【００７９】
自動ウインドー９０１に提示される第１分離領域がユーザの所望の分離領域ではない場合（図４のステップＳ４０３：ＮＯ）、ユーザは編集の対象となるオブジェクトを選択し（図４のステップＳ４０４：ＮＯ）、オブジェクトのオブジェクトマスクを編集するためのストロークを入力する（図４のステップＳ４０５）。
例えば、ユーザが使用しているポインティングデバイスがマウスの場合、ユーザはマウスの左クリックでオブジェクトマスクを描画し、マウスの右クリックでオブジェクトマスクを削除してもよい。
【００８０】
次に、ユーザの入力に基づいて、第２分離領域が上述した処理により生成され（図４のステップＳ４０６及びＳ４０７）、画像編集ウインドー９０２に表示される。このように、ユーザは第１の分離領域を修正するためのストロークを入力しながら、その修正入力に応じたフィードバックをリアルタイムで確認できる。
【００８１】
次に、図１１を参照して、本発明に係るリアルタイムオブジェクト分離を行うためのユーザインターフェース１０００について説明する。このユーザインターフェース１０００は、例えば、画像編集プログラムにおいて、画像のレイヤー（前景や背景）を整理し、オブジェクトを分離する操作を行うためのＧＵＩである。
図１１に示すように、ユーザインターフェース１０００は、自動ウインドー１００１と、領域表示ウインドー１００３と、設定ウインドー１００６とからなる。
【００８２】
図１１に示す画像では、二人の人物のオブジェクトマスクか混合している第１分離領域１００２が自動ウインドー１００１に表示されている。この第１分離領域１００２はユーザの所望の分離領域ではないため、ユーザは混合しているオブジェクトのそれぞれを分離するためのストロークを入力する。
例えば、ユーザは設定ウインドー１００６では、前景切断１００８、背景切断１００９、及びインスタンス切断１０１０の中から、行いたい処理（この場合、インスタンス切断１０１０）と、修正ブラッシュ１００７の好みのサイズを選択した後、このブラッシュを用いてストロークを入力してもよい。
【００８３】
この入力に基づいて、第１分離領域で混合していたオブジェクトマスクが上述した処理により、二つの独立したオブジェクトマスク１００４、１００５に分離され、第２分離領域として表示される。このように、ユーザは第１の分離領域を修正するためのストロークを入力しながら、その修正入力に応じたフィードバックをリアルタイムで確認できる。
【００８４】
上述したように、本発明に係るリアルタイムオブジェクト分離システムにおける画像オブジェクト分離部（例えば、図２の画像オブジェクト分離部２０２）及び修正部（例えば、図２の修正部２０５）は、エンコーダー／デコーダーネットワーク等の機械学習可能なモデルとして実現されてもよい。従って、この画像オブジェクト分離部及び修正部を機械学習の反復訓練手法によって訓練することで、画像オブジェクトの分離精度を向上させることができる。
【００８５】
次に、図１２を参照して、本発明に係るオブジェクト分離訓練システム１１００について説明する。図１２に示す訓練システムは、図２を用いて説明したリアルタイムオブジェクト分離システムと実質的に同様であるため、同様の構成要素の説明を省略し、異なる要素を中心に説明する。
【００８６】
図１２のオブジェクト分離訓練システム１１００は、入力シミュレーション部１１０１をユーザインターフェースの代わりに有する点において、図２のオブジェクト分離システム２００と異なる。この入力シミュレーション部１１０１は、対象画像に対するユーザの入力（分離領域を修正するためのストローク）を自動的に生成する機能部である。例えば、後述する図１２に示すように、入力シミュレーション部１１０１は、対象画像におけるオブジェクトのオブジェクトマスク内に開始点を有するストロークを生成してもよい。
【００８７】
ユーザからの入力の代わりに、入力シミュレーション部１１０１によるシミュレーション情報に基づいた分離領域が、上述した処理により生成される。このシミュレーション情報に基づいた分離領域は、オブジェクト分離システムの訓練方法におけるソフトターゲット１１０３となる。ここでは、ソフトターゲットとは、現在のネットワークの分離精度を表す途中結果として用いられる情報である。ソフトターゲット１１０３を、「正しい」と定められている分離領域を示す情報である教師情報１１０２と比較することで、現在のネットワークの分離精度の、望ましい分離精度からの距離を推定することができる。この比較の結果をフィードバックとしてネットワークを反復訓練することで、画像オブジェクトの分離精度を向上させることができる。
【００８８】
次に、図１３を参照して、本発明に係るリアルタイムオブジェクト分離訓練方法１２００について説明する。
【００８９】
まず、ステップＳ１２０１では、上述した画像オブジェクト分離部（例えば、図１２の画像オブジェクト分離部）は、所定の対象画像に対する第１分離領域を生成する。次に、この第１分離領域と、上述した所望の分離領域を示す教師情報とを比較し、第１分離領域の教師情報に対する損失を計算する。この損失をフィードバックとして画像オブジェクト分離部を反復訓練することで、画像オブジェクト分離部のオブジェクト分離精度を向上させることができる。
【００９０】
次に、ステップＳ１２０２では、入力シミュレーション部（例えば、図１２の入力シミュレーション部１１０１）は、訓練済みの画像オブジェクト分離部によって生成された第１分離領域に対するユーザ入力をシミュレートする。ユーザ入力のシミュレーション処理については、図１３を参照して説明するため、ここでの説明を省略する。
【００９１】
次に、ステップＳ１２０３では、ガイダンス情報生成部（例えば、図１２の入力シミュレーション部）は、訓練済みの画像オブジェクト分離部によって生成された第１分離領域と、ステップ１２０２でシミュレートされたユーザ入力とに基づいて、上述したガイダンス情報を生成する。
【００９２】
次に、ステップＳ１２０４では、修正部（例えば、図１２の修正部）は、ステップS１２０３で生成されたガイダンス情報に基づいて第１分離領域を修正することで、訓練方法におけるソフトターゲットとなる第２分離領域を生成する。そして、ステップＳ１２０１と同様に、この第２分離領域と、上述した所望の分離領域を示す教師情報とを比較し、第２分離領域の教師情報に対する損失を計算する。この損失をフィードバックとして修正部を反復訓練することで、修正部のオブジェクト分離精度を向上させることができる。
【００９３】
次に、ステップＳ１２０５では、訓練済みの修正部により生成された第２分離領域が所定の分離精度基準を達成するか否かを判定する。この判定は、例えば、第２分離領域と所望の分離結果を示す教師情報との類似度を既存の画像類似度計算アルゴリズムで計算し、計算された類似度を所定の目標類似度基準（例えば、９０％）に比較することで行われてもよい。第２分離領域が所定の目標類似度基準を達成しない場合には、本処理はステップＳ１２０６に進む。第２分離領域が所定の目標類似度基準を達成する場合には、訓練方法は終了する。
【００９４】
第２分離領域が所定の目標類似度基準を達成しないと判定された場合には、次に、ステップＳ１２０６では、画像オブジェクト分離部は訓練済みの修正部の出力によって再訓練される（いわゆる「セグメンテーション情報蒸留」による訓練）。具体的には、訓練用の対象画像に基づいて生成された修正部の分離領域をソフトターゲットとして、画像オブジェクト分離部の分離領域を当該ソフトターゲットと、所望の分離領域を示す教師情報に対して比較することで、画像オブジェクト分離部の分離領域における損失を計算することができる。画像オブジェクト分離部による損失Ｌｓｅｇは、以下の数３によって求められる。
【数３】
2020154773.tif 000005
数３に示すように、画像オブジェクト分離部による損失Ｌｓｅｇは、画像オブジェクト分離部の分離領域の教師情報に対する損失Ｌｇｔ（ｉ，  θ）と、画像オブジェクト分離部の分離領域のソフトターゲットに対する損失Ｌｓｏｆｔの和である。ここでは、ｉは訓練用の対象画像を表し、θは訓練される対象のパラメータを表し、λは所定のバランス係数である。
【００９５】
画像オブジェクト分離部を訓練済みの修正部の出力によって再訓練することにより、画像オブジェクト分離部を微調整（Ｆｉｎｅ  Ｔｕｎｅ）することができ、分離精度を更に向上させることができる。また、再訓練された画像オブジェクト分離部の分離結果に基づいてガイダンス情報を生成し、修正部を再訓練することができる。この「セグメンテーション情報蒸留」の訓練手段は、目標の分離精度を達成するまで繰り返して行われてもよい。
【００９６】
次に、図１４を参照して、本発明に係るユーザ入力シミュレーションについて説明する。
【００９７】
上述したように、本発明に係るオブジェクト分離訓練方法において、ユーザの入力の代わりに、ユーザの入力を自動的にシミュレートする入力シミュレーション部が用いられる。これにより、本発明に係る画像オブジェクト分離部及び修正部を、ユーザの入力なしで、自動的に行うことができる。
【００９８】
まず、入力シミュレーション部は、画像オブジェクト分離部によって生成された第１分離領域を受信する。そして、入力シミュレーション部は、第１分離領域における対象オブジェクトのオブジェクトマスクと、当該オブジェクトマスクに含有又は排除したい領域との境界線付近に、ストロークの開始点１４０１をランダムに生成する。その後、入力シミュレーション部は、生成した開始点ごとに、多数のストロークセグメント１４０２を生成する。それぞれの開始点に対して生成するストロークセグメント１４０２の数、長さ、及び方向は任意に定められてもよい。このようにランダムに生成したストロークセグメント１４０２に基づいた分離結果を生成し、反復訓練を行うことで、オブジェクト分離部及び修正部の分離精度を向上させることができる。
【００９９】
次に、図１５を参照して、本発明に係るリアルタイムオブジェクト分離処理のタッチ操作について説明する。上述したように、本発明に係るリアルタイムオブジェクト分離処理におけるユーザ入力は、ペン、指、マウス等、任意のポインティングデバイスによって行われてもよい。以下では、入力手段がタッチ操作の場合について説明する。
【０１００】
入力手段がタッチ操作の場合には、ユーザは指で複数のストロークを同時に入力することができる。なお、ここでは、インスタンス分離１５０１、インスタンス結合１５０２、及び削除１５０３の三つのタッチ操作を例として説明しますが、本発明のタッチ操作は特に限定されず、他のタッチ操作も実施可能である。
【０１０１】
まず、インスタンス分離１５０１について説明する。インスタンス分離１５０１は、混合した複数のオブジェクトマスクを分離するためのタッチ操作である。インスタンス分離１５０１では、ユーザは二本の指（例えば、親指と人差し指）で、分離したいオブジェクトマスクの境界線を挟んで、それぞれの指を離れる方向に向かってスワイプすることで、混合した１つのオブジェクトマスクを２つの独立したオブジェクトマスクに分離することができる。
【０１０２】
次に、インスタンス結合１５０２について説明する。インスタンス結合１５０２は、独立した複数のオブジェクトマスクを結合させるためのタッチ操作である。インスタンス結合１５０２では、ユーザは二本の指（例えば、親指と人差し指）で、結合したいオブジェクトマスクの境界線を挟んで、それぞれの指を近づく方向に向かってスワイプすることで、独立した２つのオブジェクトマスクを１つのオブジェクトマスクに結合させることができる。
【０１０３】
次に、削除１５０３について説明する。削除１５０３は、オブジェクトマスクに含まれている不要な領域を、そのオブジェクトマスクから排除するための操作である。削除１５０３では、ユーザは、一本の指（例えば親指）で残したい領域を長押しした状態で、もう一本の指（例えば人差し指）で不要な領域をなぞることで、なぞった領域がオブジェクトマスクから削除される。
【０１０４】
なお、上述したタッチ操作は、複数のストロークが同時に入力される点において、マウスやペン等による入力と異なる。複数のストローク入力を同時に受け付けることで、マウスやペン等による入力に比べて、分離領域をより迅速に完成させることができ、また、分離精度が向上する効果が得られる。
ただし、複数のストロークが同時に入力される場合には、図６を参照して説明した位置マップ及び方向マップの生成方法が異なる。例えば、ストロークが２つ入力される場合には、いずれかのストロークが画像において経過する画素に対応する位置マップの要素は「１」と設定される。また、それ以外の要素の値は、上述した数１で計算される。そして、方向マップでは、２つのストロークの終了点に対応する要素はそれぞれ「１」と」「２」と設定され、それ以外の要素の値は、上述した数２で計算される。
【０１０５】
また、複数のストロークが同時に入力される場合には、上述した「削除検出部」の処理が異なる。例えば、ストロークが２つ入力される場合には、いずれかのストロークの経路の方向性が、直前のストロークの方向性と比較して実質的に逆であると判定された場合には、「削除」の意図が検出される。
【０１０６】
上記では、本発明に係る処理を装置、方法、又はシステム等の形態で実現する構成について説明したが、本発明はこれに限定されず、電子回路やソフトウエアプログラムとして実現されてもよい。例えば、一態様では、本発明は、画像処理装置によって実行される画像処理コンピュータプログラムであって、前記画像処理装置は、ガイダンス情報生成部を備え、前記コンピュータプログラムは、プログラム命令を含み、前記プログラム命令は、前記ガイダンス情報生成部によって、ユーザが入力した画像オブジェクトを分離するための軌道情報から、ユーザの所望の分離領域を生成する工程をプロセッサに実行させることを特徴とする画像処理コンピュータプログラムである。
【０１０７】
以上、本発明の実施の形態について説明したが、本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１０８】
２００      リアルタイムオブジェクト分離システム
２０１      対象画像
２０２      画像オブジェクト分離部
２０３      ユーザインターフェース
２０４      ガイダンス情報生成部
２０５      修正部
【図１】
2020154773.tif 000006
【図２】
2020154773.tif 000007
【図３】
2020154773.tif 000008
【図４】
2020154773.tif 000009
【図５】
2020154773.tif 000010
【図６】
2020154773.tif 000011
【図７】
2020154773.tif 000012
【図８】
2020154773.tif 000013
【図９】
2020154773.tif 000014
【図１０】
2020154773.tif 000015
【図１１】
2020154773.tif 000016
【図１２】
2020154773.tif 000017
【図１３】
2020154773.tif 000018
【図１４】
2020154773.tif 000019
【図１５】
2020154773.tif 000020