JP7473076B2 - 画像処理装置、画像処理方法及び画像処理プログラム - Google Patents

画像処理装置、画像処理方法及び画像処理プログラム Download PDF

Info

Publication number
JP7473076B2
JP7473076B2 JP2023508223A JP2023508223A JP7473076B2 JP 7473076 B2 JP7473076 B2 JP 7473076B2 JP 2023508223 A JP2023508223 A JP 2023508223A JP 2023508223 A JP2023508223 A JP 2023508223A JP 7473076 B2 JP7473076 B2 JP 7473076B2
Authority
JP
Japan
Prior art keywords
image
color
unit
coordinate
background
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2023508223A
Other languages
English (en)
Other versions
JPWO2022201318A1 (ja
Inventor
弘員 柿沼
広夢 宮下
翔大 山田
秀信 長田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2022201318A1 publication Critical patent/JPWO2022201318A1/ja
Application granted granted Critical
Publication of JP7473076B2 publication Critical patent/JP7473076B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

この発明の実施形態は、画像から前景を抽出する画像処理装置、画像処理方法及び画像処理プログラムに関する。
ある画像に含まれる被写体から人物や物体だけを前景として抽出し、またそれ以外の領域を背景とする技術は、画像処理分野において広く知られている。この画像処理は、主に、対象の被写体だけが映った画像を別の画像上に重ね合わせる画像合成、重要でない画素をより小さい情報量で表す画像圧縮、などに適用されている。
この画像処理を実現する方法として、背景となるカラー画像を予め撮影し、同じ撮影範囲を同じ撮影画角で撮影したカラー画像との差分を取ることで新たに出現した被写体を前景として抽出する背景差分法がある。また、カラー画像から特定の明度や色度に該当する画素を取り除き、残った領域を前景とするキーイング法(所謂、クロマキー)が提案されている。
例えば、非特許文献1では、カラー画像と同時にセンサ画像を取得しており、センサ画像で被写体の大まかな領域を抽出することを前提としている。この手法では、前景と背景の境界部分から一定の距離内の画素を未知画素と定義し、カラー画像の周囲の画素値の比較によるクラスタリング処理を行っている。
また、特許文献1は、この非特許文献1における未知画素を2種類に分類し、画素の参照回数を削減することを提案している。この特許文献1の手法によれば、高解像度の画像に対しても高速に前景の領域を特定することができるようになる。
一方、特許文献2は、上記非特許文献1における被写体の大まかな領域を抽出する部分を、ニューラルネットワークで学習した結果のルックアップテーブルの参照によって実現することを提案している。この特許文献2の手法によれば、被写体の背景が変化しても前景として抽出され難くなる(すなわち、通常の背景差分法よりも背景変化に対する頑健性の向上を実現できる)。
宮下広夢, 竹内広大, 山口真理子, 長田秀信, 小野朗, センサとカメラを活用した高速・高精度な被写体抽出, 電子情報通信学会MVE 研究会, 2016.
日本国特許第6698057号公報 日本国特許第6715289号公報
上記非特許文献1及び上記特許文献1では、センサ画像が利用できない場合、背景差分法を利用して被写体の大まかな領域を抽出することを想定している。しかしながら、背景差分法では、時間経過で画素値が変化したある程度のまとまった領域は全て被写体として抽出されるため、特定の被写体のみに絞って抽出することができない。
また、上記特許文献2においては、前景としたい被写体の画素と、背景としたい被写体の画素と、をニューラルネットワークでの学習時の教師データとして指定できるものの、両方に共通する画素が多い場合は、矛盾が生じて前景か背景かの判別が曖昧になる問題がある。
この発明は、画像中の任意の数の被写体を前景として精緻且つ高速に抽出することが可能となる技術を提供しようとするものである。
上記課題を解決するために、この発明の一態様に係る画像処理装置は、画像記憶部と、学習部と、画像受信処理部と、推論処理部と、境界補正処理部と、画像合成処理部と、を備える。画像記憶部は、少なくとも、学習対象の複数のカラー画像と、前記複数のカラー画像に関して作成されたマスク画像と、前記複数のカラー画像と同一の解像度で、水平方向に最小画素値から最大画素値まで連続的に変化するx座標画像及び垂直方向に最小画素値から最大画素値まで連続的に変化するy座標画像を含む、前記カラー画像の内容に依存しない座標画像と、を予め保存する。学習部は、前記画像記憶部に保存されている前記複数のカラー画像、前記マスク画像及び前記座標画像を用いて深層学習を行い、深層学習モデルを生成する。画像受信処理部は、処理対象のカラー画像を受信する。推論処理部は、前記処理対象のカラー画像と、前記画像記憶部に保存された前記座標画像と、を入力として、前記学習部によって生成された前記深層学習モデルを参照して推論することで、前記処理対象のカラー画像中の少なくとも1つの被写体領域である前景を抽出して、少なくとも1つのマスク画像を生成する。境界補正処理部は、前記処理対象のカラー画像と、前記推論処理部が生成した前記マスク画像と、を入力とし、前記処理対象のカラー画像における前記少なくとも1つの前景それぞれと背景との境界領域における判定対象画素とその周辺画素との間の色及び座標の関係に基づいて、前記判定対象画素が前記前景と前記背景の何れであるかを判定して前記境界領域を補正することで、少なくとも1つの境界補正後マスク画像を生成する。画像合成処理部は、前記処理対象のカラー画像と前記境界補正処理部が生成した前記境界補正後マスク画像とを合成して、前記少なくとも1つの前景の抽出画像を生成する。
この発明の一態様によれば、画像中の任意の数の被写体を前景として精緻且つ高速に抽出することが可能となる技術を提供することができる。
図1は、この発明の一実施形態に係る画像処理装置としての画像処理部を含む画像処理システムの構成の一例を示すブロック図である。 図2は、画像処理部のハードウェア構成の一例を示す図である。 図3は、画像処理部の処理動作の一例を示すフローチャートである。 図4は、図3中の前処理の詳細の一例を示すフローチャートである。 図5は、図4中の学習処理の詳細の一例を示すフローチャートである。 図6は、カラー画像の一例を示す図である。 図7は、図1中の画像編集部における第1画像編集処理の処理動作の一例を示すフローチャートである。 図8は、画像編集部における第2画像編集処理の処理動作の一例を示すフローチャートである。 図9は、背景画像の一例を示す図である。 図10は、背景深度画像の一例を示す図である。 図11は、座標画像の一例を示す図である。 図12は、深層学習モデルの一例を示す概略図である。 図13は、図4中のLUT生成処理の一例を示すフローチャートである。 図14は、画素間の色に関するルックアップテーブルの一例を示す図である。 図15は、補正対象画素と探索画素との色に関する関係を示す模式図である。 図16は、画素間の座標に関するルックアップテーブルの一例を示す図である。 図17は、補正対象画素と探索画素との座標に関する関係を示す模式図である。 図18は、画像処理に係わる各部に対するCPUスレッドの割当の一例を示す図である。 図19は、図3中の初期化処理の詳細の一例を示すフローチャートである。 図20は、図3中の画像処理の詳細の一例を示すフローチャートである。 図21は、境界補正後のマスク画像の一例を示す図である。 図22は、抽出画像の一例を示す図である。 図23は、画像処理に係わる各画像の対応関係を示す図である。
以下、図面を参照して、この発明に係わる実施形態を説明する。
(構成例)
図1は、この発明の一実施形態に係る画像処理装置としての画像処理部100を含む画像処理システムの構成の一例を示すブロック図である。画像処理システムは、この画像処理部100と、撮像部200と、表示部300と、画像編集部400と、を備える。なお、画像処理システムは、これら各部を1つの装置や筐体として一体として構成していても良いし、複数の装置から構成しても良い。また、複数の装置が遠隔に配置され、ネットワークを経由して接続されていても良い。
撮像部200は、例えば、カラー画像を撮影するカメラを含み、撮影中の複数のフレームからなるカラーの動画像(カラー映像)を逐次、画像処理部100へ送信する。撮像部200は、カメラが撮影したカラー映像を録画し、その録画したカラー映像を再生出力可能なレコーダであっても良い。
なお、本実施形態では、撮像部200が送信するカラー画像がカラー映像である場合を例に説明するが、撮像部200が深度情報も扱える場合は、カラー映像と同時に深度映像も画像処理部100に送信しても良い。また、本実施形態では、カメラは、撮影するカラー映像の画角が固定であるものとして説明する。しかしながら、映像の画角が変化する場合でも、被写体の背景が一様で変化が見られない場合は、本実施形態の対象となる。
画像処理部100は、撮像部200から送信されてきたカラー映像から任意の数、すなわち、少なくとも1つの被写体だけを抽出するためのマスク映像を作成し、このマスク映像と元のカラー映像とを合成して抽出映像を作成し、作成した抽出映像を表示部300に送信する。
表示部300は、例えば、モニタやプロジェクタなどの表示装置を含む。表示部300は、画像処理部100から送信されてきた抽出映像を表示する。但し、表示の目的に応じて、画像処理部100からカラー映像と合成する前のマスク映像を送信することで、表示部300にマスク映像を表示するようにしても良い。
画像編集部400は、画像処理部100でのマスク映像の作成に必要な背景画像、背景深度画像及び座標画像を作成する。これらの画像の詳細については後述する。
図1に示すように、画像処理部100は、画像受信部110と、推論部120と、境界補正部130と、画像合成部140と、画像送信部150と、記憶部160と、学習部170と、LUT生成部180と、並列数管理部190と、を備える。記憶部160は、画像記憶部161と、モデル記憶部162と、LUT記憶部163と、を含む。
画像受信部110は、撮像部200からカラー映像(或いは、カラー映像と深度映像)を受信し、映像を1フレームずつカラー画像として取得する。画像受信部110は、取得した各カラー画像に対して、必要に応じて色変換を行う。画像受信部110は、カラー画像を、推論部120、境界補正部130及び画像合成部140へ出力する。
また、画像受信部110は、画像処理部100の図示しないインタフェースを通じた利用者からの指示に応じて、取得中のカラー画像(或いは、カラー画像と深度画像)をファイルとして書き出し、画像記憶部161に保存することができる。
画像記憶部161は、この画像受信部110から書き出されるカラー画像(或いはカラー画像と深度画像)を学習対象のカラー画像または処理対象のカラー画像として保存する。また、画像記憶部161は、画像編集部400にて作成される背景画像、背景深度画像及び座標画像も保存する。
学習部170は、画像記憶部161に保存されている学習対象のカラー画像を用いて深層学習を行い、深層学習モデルを生成する。この学習部170での深層学習の詳細については後述する。モデル記憶部162は、この学習部170にて学習された深層学習モデルを保存する。
LUT生成部180は、利用者の設定するルールに基づき、色と座標に関する2種類のルックアップテーブルLUT1,LUT2を事前に生成する。このルールによって、ルックアップテーブルのファイルサイズを調整することができる。但し、この調整は、画像処理部100を構成する装置のCPUやメモリ、ディスク容量などの性能に応じて行う必要がある。本実施形態では、CPU負荷を抑えつつ実時間処理を実現するため、後述する境界補正部130での境界補正時に扱う色は、256階調から32階調へ量子化し、参照する画素の座標の探索範囲は、最大64ピクセルを上限とするルールに設定している。ルックアップテーブルLUT1,LUT2の生成手法の詳細については後述する。LUT記憶部163は、このLUT生成部180にて生成されたルックアップテーブルLUT1,LUT2を保存する。
推論部120は、モデル記憶部162に保存されている深層学習モデルを読み込んだ後、画像受信部110から出力される処理対象のカラー画像と、画像記憶部161に保存されている背景画像、背景深度画像及び座標画像と、を入力画像として取得する。そして、推論部120は、深層学習モデルを参照して入力画像に対し推論処理を実行する。これにより、推論部120は、予め学習部170で学習した任意の数の前景を、任意のチャンネル数を持つマスク画像として生成することができる。すなわち、推論部120は、カラー画像中の1つのチャンネルにつき、1種類の前景がマスク画像として表現されている状態の、多チャンネル画像を生成する。なお、学習時の画像の解像度が小さい場合は、推論部120は、それに合わせて、入力されたカラー画像も縮小し、出力画像であるマスク画像は拡大して、境界補正部130に出力するものとする。
境界補正部130は、LUT記憶部163に保存されている2種類のルックアップテーブルLUT1,LUT2を読み込んだ後、画像受信部110から出力されていたカラー画像と、画像記憶部161に保存されている背景画像と、推論部120から出力されるマスク画像と、を取得して、境界補正処理を実行する。これにより、境界補正部130は、マスクの境界領域が精緻に補正されたマスク画像を生成することができる。境界補正部130は、この生成した境界補正後マスク画像を画像合成部140に出力する。
なお、境界補正部130における境界補正処理は、例えば特許文献1に記載の手法を用いることができる。すなわち、境界補正部130は、カラー画像における被写体領域である前景それぞれと背景との境界領域に対応する背景画像の判定対象画素とその周辺画素との間の色の距離及び座標の距離に基づいて、判定対象画素が前景と背景の何れであるかを判定して、境界領域を補正する。但し、特許文献1では、2画素間の色及び座標の距離を計算で求めているのに対し、本実施形態では、その距離計算部分のみを2種類のルックアップテーブルLUT1,LUT2の参照で置き換えることで、処理を高速化している。
また、推論部120から出力されるマスク画像が多チャンネルのマスク画像である場合は、境界補正部130は、マスク画像のチャンネルを分離し、1チャンネルの複数枚のマスク画像として、複数回の境界補正処理を実行しても良い。或いは、境界補正部130は、どれか1チャンネルのみを選択して、境界補正処理を1回だけ実行するようにしても良い。
画像合成部140は、境界補正部130から出力された境界補正後マスク画像によって、画像受信部110から出力されていたカラー画像をマスクすることで、前景のみが抽出された抽出画像を生成する。画像合成部140は、生成した抽出画像を画像送信部150に送信する。
なお、境界補正部130において境界補正が複数回行われ、境界補正後マスク画像が複数枚ある場合は、画像合成部140は、複数枚の抽出画像を生成するようにしても良い。或いは、画像合成部140は、複数枚の前景を合成した一枚の抽出画像を生成するようにしても良い。
また必要に応じて、画像合成部140は、合成せずにマスク画像を加工した画像も同時に出力するようにしても良い。この画像は、例えば、前景の影の表現などの用途に利用することができる。
画像送信部150は、画像合成部140から出力された抽出画像を映像の1フレームに変換し、抽出映像として表示部300に送信する。なお、画像合成部140から出力された抽出画像が複数ある場合は、画像送信部150は、複数の抽出映像として表示部300へ送信する。
並列数管理部190は、画像受信部110、推論部120、境界補正部130、画像合成部140及び画像送信部150それぞれの処理が開始される前に、各部で専有するCPUのスレッド数を事前に設定する。
図2は、画像処理部100を構成する装置のハードウェア構成の一例を示す図である。この装置は、例えば、パーソナルコンピュータなどの汎用的なコンピュータであることができる。すなわち、画像処理部100は、プロセッサ11、メモリ12、GPU(Graphics Processing Unit)13、外部記憶装置14、入力装置15、出力装置16及び通信IF装置17を備える。メモリ12、外部記憶装置14、入力装置15、出力装置16及び通信IF装置17は、バス18を介して、プロセッサ11に接続されている。
プロセッサ11は、マルチコア・マルチスレッド数のCPUを含み、複数の情報処理を並行して同時実行することができる。また、プロセッサ11は、そのようなCPUを複数備えていても良い。
メモリ12は、揮発性メモリであるRAMと、不揮発性メモリであるROMと、を含むことができる。RAMは、プロセッサ11のワークエリアとして使用され、プロセッサ11が、RAM上にロードされた画像処理部100用の画像処理プログラムを実行することにより、画像処理部100の各機能が実現される。
GPU13は、深層学習用の計算処理を高速に行うデバイスである。
外部記憶装置14は、HDD、SSDなどの随時書込み及び読出しが可能な不揮発性メモリ、などを含む。外部記憶装置14は、画像処理プログラムを初めとする各種のアプリケーションプログラムを記憶したり、プロセッサ11がそれらアプリケーションプログラムの実行中や基本制御処理などを行う過程で取得及び作成した各種データを記憶したりするために用いられる。外部記憶装置14は、例えば、画像記憶部161、モデル記憶部162及びLUT記憶部163として機能することができる。
入力装置15は、例えば、キーボードやマウス等のポインティングデバイスを含む。出力装置16は、例えば、液晶モニタを含む。また、入力装置15と出力装置16は、入力機能と表示機能とを兼ねる液晶タッチパネル等でも良い。
通信IF装置17は、例えば1つ以上の有線または無線の通信インタフェースユニットを含んでおり、撮像部200から送信されたカラー映像(或いは、カラー映像と深度映像)を受信する。有線インタフェースとしては、例えば有線LAN、USB(Universal Serial Bus)インタフェース、などが使用され、また無線インタフェースとしては、例えば4Gまたは5Gなどの携帯電話通信システム、無線LAN、Bluetooth(登録商標)などの小電力無線データ通信規格を採用したインタフェース、などが使用される。
(動作)
次に、画像処理部100の動作を説明する。
図3は、画像処理部100の処理動作の一例を示すフローチャートである。入力装置15から、利用者によって画像処理プログラムの実行が指示されると、プロセッサ11は、このフローチャートに示す動作を開始する。
プロセッサ11は、まず、画像処理に必要なデータを準備する前処理を行う(ステップS100)。この前処理の詳細については後述する。
この前処理の終了後、プロセッサ11は、入力装置15からの利用者による実際の画像処理の開始指示が入力されたか否か判断する(ステップS200)。画像処理の開始指示が入力されていないと判断した場合、プロセッサ11は、このステップS200を繰り返す。こうして、プロセッサ11は、画像処理の開始指示が入力されるのを待つ。
画像処理の開始指示があったと判断したならば(ステップS200のYES)、プロセッサ11は、並列数管理部190としての動作を実行して、画像処理における各処理にCPUスレッド数を割り当てる(ステップS300)。
さらに、プロセッサ11は、推論部120及び境界補正部13として動作するのに必要な情報を設定する初期化処理を実行する(ステップS400)。この初期化処理の詳細については後述する。
そして、プロセッサ11は、撮像部200から送信されてきたカラー画像から前景画像を抽出して表示部300に出力する画像処理を実行する(ステップS500)。この画像処理の詳細については後述する。
その後、プロセッサ11は、入力装置15からの利用者による画像処理の終了指示が入力されたか否か判断する(ステップS600)。画像処理の終了指示が入力されていないと判断した場合、プロセッサ11は、上記ステップS500に戻る。こうして、プロセッサ11は、画像処理の終了指示が入力されるまで、ステップS500の画像処理を繰り返し実行する。
そして、画像処理の終了指示があったと判断したならば(ステップS600のYES)、プロセッサ11は、このフローチャートに示す処理を終了する。
図4は、上記ステップS100の前処理の詳細の一例を示すフローチャートである。
この前処理においては、プロセッサ11は、まず、学習処理を実行して、例えば外部記憶装置14に設けたモデル記憶部162への深層学習モデルの保存を行う(ステップS110)。また、プロセッサ11は、LUT生成処理を実行して、例えば外部記憶装置14に設けたLUT記憶部163へのルックアップテーブルの保存を行う(ステップS120)。
図5は、上記ステップS110の学習処理の詳細の一例を示すフローチャートである。
この学習処理においては、プロセッサ11は、まず、画像受信部110として動作して、撮像部200からのカラー映像(或いは、カラー映像と深度映像)を受信し、カラー映像を1フレームずつ学習対象のカラー画像として取得する(ステップS111)。取得されたカラー画像は、必要に応じて色変換を行い、メモリ12に確保されたワーク領域に一時保存される。図6は、この取得して一時保存されるカラー画像IMG1の一例を示す図である。
そして、プロセッサ11は、この取得したカラー画像IMG1をファイルとして、例えば外部記憶装置14に設けた画像記憶部161に保存する(ステップS112)。
その後、プロセッサ11は、入力装置15からの利用者による学習処理の開始指示が入力されたか否か判断する(ステップS113)。学習処理の開始指示が入力されていないと判断した場合、プロセッサ11は、このステップS113を繰り返す。こうして、プロセッサ11は、学習処理の開始指示が入力されるのを待つ。
学習処理の開始指示は、学習に必要な画像の準備が整うまで保留される。この学習に必要な画像は、画像編集部400によって生成されて、例えば外部記憶装置14に設けた画像記憶部161に保存されることができる。
画像編集部400は、2種類の画像編集処理を行う。図7は、画像編集部400における第1画像編集処理の処理動作の一例を示すフローチャートであり、図8は、同じく第2画像編集処理の処理動作の一例を示すフローチャートである。画像処理部100を構成するコンピュータは、画像編集部400として動作することもできる。すなわち、入力装置15から、利用者によって画像編集プログラムの実行が指示されると、プロセッサ11は、これらのフローチャートに示す動作を開始する。
まず、図7を参照して、第1画像編集処理について説明する。
この第1画像編集処理においては、プロセッサ11は、まず、例えば外部記憶装置14に設けた画像記憶部161に保存されている複数のカラー画像IMG1を含むカラー画像群を取得する(ステップS701)。取得したカラー画像群は、メモリ12に確保したワーク領域に一時保存される。
そして、プロセッサ11は、そのカラー画像群に含まれる複数のカラー画像IMG1の中から、処理に使用する一枚または複数枚のカラー画像IMG1を選出する(ステップS702)。具体的には、選出される一枚のカラー画像IMG1は、抽出対象の被写体の映っていないカラー画像IMG1である。これは、例えば、撮影環境として被写体の映っていない環境を一時的に作り、その時に取得して例えば外部記憶装置14に設けた画像記憶部161に保存したカラー画像IMG1を選択することにより行うことができる。また、複数枚のカラー画像IMG1を選出する場合は、そのような撮影環境を作ることができない場合に、抽出対象の被写体の位置が変化している、すなわち、被写体の位置が互いに異なる複数枚のカラー画像IMG1を選出する。
プロセッサ11は、選出した一枚または複数枚のカラー画像IMG1に基づいて、画像中に抽出対象の被写体が含まれてない背景だけの画像である背景画像を生成する(ステップS703)。なお、被写体の位置が変化する複数枚のカラー画像IMG1に基づいて背景画像を生成する場合には、それら複数枚のカラー画像IMG1を合成編集することで生成することができる。図9は、背景画像IMG2の一例を示す図である。
なお、複数枚のカラー画像IMG1を合成する際、プロセッサ11は、被写体が含まれていない変化のない領域の画素として、どれか一枚のカラー画像IMG1から採用するのではなく、複数枚のカラー画像IMG1の平均値を取る。こうすることで、カメラセンサ等のノイズが削減でき、より精度の高い背景画像IMG2を作成することができる。
次に、プロセッサ11は、深度画像である背景深度画像を作成する(ステップS704)。図10は、背景深度画像IMG3の一例を示す図である。プロセッサ11は、画像受信部110が受信した映像がカラー映像のみであれば、ステップS703で生成した背景画像IMG2から、この背景深度画像IMG3を擬似的に作成する。また、カラー映像と深度映像とを受信している場合は、プロセッサ11は、例えば外部記憶装置14に設けた画像記憶部161に保存されている複数の深度画像を取得し、画像中に抽出対象の被写体が含まれてない背景の深度だけの画像を、背景深度画像IMG3として作成する。
そして、プロセッサ11は、座標画像を作成する(ステップS705)。図11は、座標画像IMG4の一例を示す図である。座標画像IMG4は、x座標画像IMG4Xとy座標画像IMG4Yを含み、カラー画像IMG1や背景画像IMG2の内容に依存せず、常に同じ画像となる。x座標画像IMG4Xは、カラー画像IMG1と同一の解像度で、水平方向に最小画素値から最大画素値まで(例えば、画像のビット深度が8ビットの場合は、0から255まで)連続的に変化する1チャンネル画像である。また、y座標画像IMG4Yは、カラー画像IMG1と同一の解像度で、垂直方向に最小画素値から最大画素値まで(例えば、画像のビット深度が8ビットの場合は、0から255まで)連続的に変化する1チャンネル画像である。
最後に、プロセッサ11は、生成した背景画像IMG2と、作成した背景深度画像IMG3及び座標画像IMG4(x座標画像IMG4X、y座標画像IMG4Y)を、例えば外部記憶装置14に設けた画像記憶部161に保存する(ステップS706)。
次に、図8を参照して、第2画像編集処理について説明する。
この第2画像編集処理においては、プロセッサ11は、まず、例えば外部記憶装置14に設けた画像記憶部161に保存されている複数のカラー画像IMG1を含むカラー画像群を取得する(ステップS711)。なお、大量の画像を学習させる場合は、撮影中のカラー映像を画像処理部100とは異なる外部装置で録画し、その映像を1フレームずつ画像に分解したものを画像記憶部161に保存しておき、このステップS711では、そこから複数のカラー画像IMG1を取得するようにしても良い。取得したカラー画像群は、メモリ12に確保したワーク領域に一時保存される。
次に、プロセッサ11は、そのカラー画像群に含まれる複数のカラー画像IMG1の中から、なるべく被写体の姿勢や位置が多様になるようなカラー画像IMG1を選出する(ステップS712)。これは、例えば、基準カラー画像に対して異なる画素値を持つ領域が多いカラー画像IMG1を選出し、次に、これを新たな基準画像として他のカラー画像IMG1を選出する、ということを繰り返せば良い。
そして、プロセッサ11は、選出したそれぞれのカラー画像IMG1に対し、対象の被写体の領域だけを前景としたマスク画像を作成する(ステップS713)。対象の被写体の領域は、例えば、カラー画像間で画素値の異なる領域である。勿論、その他の周知の手法により被写体の領域を判別して良い。
最後に、プロセッサ11は、作成したマスク画像と元のカラー画像IMG1との組み合わせを、例えば外部記憶装置14に設けた画像記憶部161に保存する(ステップS714)。
以上のようにして、画像記憶部161に、背景画像IMG2、背景深度画像IMG3、座標画像IMG4(x座標画像IMG4X、y座標画像IMG4Y)及びマスク画像とカラー画像IMG1の組み合わせが記憶されたならば、利用者により学習処理の開始指示が入力される。
すると、プロセッサ11は、上記ステップS113においてYESと判断し、学習部170として動作して、教師画像群を生成する(ステップS114)。すなわち、プロセッサ11は、例えば外部記憶装置14に設けた画像記憶部161に保存されているカラー画像IMG1とマスク画像との組み合わせと、背景画像IMG2、背景深度画像IMG3及び座標画像IMG4(x座標画像IMG4X、y座標画像IMG4Y)とを取得し、これらを1組の教師画像とする。プロセッサ11は、このような教師画像の複数組を集約して、教師画像群を生成する。
そして、プロセッサ11は、GPU13にこの教師画像群を入力して、GPU13を用いた深層学習を実施する(ステップS115)。図12は、このときの深層学習モデルの一例を示す概略図である。
なお、GPU13の性能に合わせて、プロセッサ11は、GPU13への入力画像の解像度を変更したり、畳み込みの回数を変更したり、畳み込み時に増加させるチャンネル数を変更したり、といった調整を行っても良い。特に、エンコーダ部分については、どれくらい汎化する必要があるか、どれくらい高速に推論する必要があるか、の両方を考慮して層の構成を検討することが望ましい。
最後に、プロセッサ11は、学習後のモデルを、例えば外部記憶装置14に設けたモデル記憶部162に保存して(ステップS116)、このステップS110の学習処理を終了する。
図13は、上記ステップS120のLUT生成処理の詳細の一例を示すフローチャートである。
プロセッサ11は、LUT生成部180として動作して、まず、画素値の量子化度合いを設定する(ステップS121)。この量子化は、色に関するルックアップテーブルのファイルサイズを削減することを目的として実施するものである。例えば、処理対象の画像として24ビットの画像(画素値が0から255の256階調の3チャンネル画像)を扱っている場合、量子化は、それを18ビットの画像(画素値が0から31の32階調の3チャンネル画像)に変換したり、12ビットの画像(画素値が0から15の16階調の3チャンネル画像)に変換したりする処理である。プロセッサ11は、入力装置15からの利用者の設定するルールに基づき、この量子化度合いを設定する。
次に、プロセッサ11は、境界補正時の周辺画素である探索画素の探索範囲の上限を設定する(ステップS122)。この探索範囲の上限は、前景か背景か未分類領域の判定対象画素である境界補正対象画素について、周囲何画素まで参照するかである。例えば、探索範囲を64画素や32画素に上限設定することで、座標に関するルックアップテーブルのファイルサイズを削減することができる。プロセッサ11は、入力装置15からの利用者の設定するルールに基づき、この探索範囲の上限を設定する。
そして、プロセッサ11は、これらの設定に従って、2種類のルックアップテーブル、すなわち、画素間の色に関するルックアップテーブル及び画素間の座標に関するルックアップテーブルを生成する(ステップS123)。
図14は、画素間の色に関するルックアップテーブルLUT1の一例を示す図である。このルックアップテーブルLUT1は、24ビットから18ビットに量子化した際の色に関するルックアップテーブルの例である。
図15は、判定対象画素である境界補正時の補正対象画素PISとその周辺画素である探索画素PIRとの色に関する関係を示す模式図である。画素間の色に関するルックアップテーブルLUT1は、この補正対象画素PISと探索画素PIRの全ての色の組み合わせを入力とし、その2画素間の色の距離、つまり色の差と、その距離にインデックスを付与したものを出力とするルックアップテーブルとなる。なお、RGB空間に限らず、扱う画像の色空間に合わせて、YUV空間など他の色空間としても良い。
プロセッサ11は、例えば、以下の式に示すような演算を行って、この画素間の色に関するルックアップテーブルLUT1を生成することができる。プロセッサ11は、これらの演算を、ビットシフト演算によって高速に計算することができる。
補正対象画素PISの色を(Rsrc,Gsrc,Bsrc)、探索画素PIRの色を(Rref,Gref,Bref)とすると、画素間の色の距離dcolor(例えばユークリッド距離など)は、以下のようになる。
Figure 0007473076000001
また、色のインデックスicolorは、以下の関係を持つ。
Figure 0007473076000002
データ型サイズ調整のため、画素間の色の距離dcolorは、以下のように補正して、色の距離d'colorとする。
Figure 0007473076000003
よって、画素間の色に関するルックアップテーブルLUT1は、以下のように書き表すことができる。
Figure 0007473076000004
なお、色のインデックスicolorの各要素iRs,iGs,iBs,iRr,iGr,iBrは、以下のようにして求めることができる。
Figure 0007473076000005
図16は、画素間の座標に関するルックアップテーブルLUT2の一例を示す図である。このルックアップテーブルLUT2は、探索範囲上限を64画素に設定した際の画素間の座標に関するルックアップテーブルの例である。
図17は、境界補正時の補正対象画素PISと探索画素PIRとの座標に関する関係を示す模式図である。画素間の座標に関するルックアップテーブルLUT2は、この補正対象画素PISと探索画素PIRの各座標の差分の絶対値の組み合わせを入力とし、その2画素の距離と、その距離にインデックスを付与したものを出力とするルックアップテーブルとなる。
プロセッサ11は、例えば、以下の式に示すような演算を行って、この画素間の距離に関するルックアップテーブルLUT2を生成することができる。プロセッサ11は、これらの演算を、ビットシフト演算によって高速に計算することができる。
補正対象画素PISの座標を(xsrc,ysrc)、探索画素PIRの座標を(xref,yref)とすると、画素間の座標の距離dcoord(例えばユークリッド距離など)は、以下のようになる。
Figure 0007473076000006
また、距離のインデックスicoordは、以下の関係を持つ。
Figure 0007473076000007
よって、画素間の座標に関するルックアップテーブルLUT2は、以下のように書き表すことができる。
Figure 0007473076000008
なお、座標のインデックスicoordの各要素は、以下のようにして求めることができる。
Figure 0007473076000009
以上のようにして、2種類の色に関するルックアップテーブルLUT1と座標に関するルックアップテーブルLUT2を作成したならば、プロセッサ11は、それら作成した2種類のルックアップテーブルを、例えば外部記憶装置14に設けたLUT記憶部163に保存する(ステップS124)。そして、プロセッサ11は、このステップS120のLUT生成処理を終了する。
図18は、上記ステップS300での画像処理に係わる各部に対するCPUスレッドの割当の一例を示す図である。プロセッサ11が備えるCPUのスレッド数が例えば24であるとすると、画像受信部110、推論部120、境界補正部130、画像合成部140及び画像送信部150それぞれで専有するCPUスレッドとして、この24のCPUスレッドを割り振る。ここでは、プロセッサ11は、画像受信部110、推論部120、画像合成部140及び画像送信部150のそれぞれに3つずつCPUスレッドを割り当て、境界補正部130には12のCPUスレッド数を割り当てる。例えば、境界補正部130の処理は、画素ごとに独立した並列化可能な処理であるため、プロセッサ11は、境界補正部130にできるだけ多くのスレッドを割り当て、システム全体としての処理速度が向上するようなバランスに調整している。
図19は、上記ステップS400での初期化処理の詳細の一例を示すフローチャートである。
プロセッサ11は、まず、例えば外部記憶装置14に設けた画像記憶部161に保存されている背景画像IMG2、背景深度画像IMG3及び座標画像IMG(x座標画像IMG4X、y座標画像IMG4Y)を取得する(ステップS401)。取得した各画像は、メモリ12に確保したワーク領域に一時保存される。
次に、プロセッサ11は、例えば外部記憶装置14に設けたモデル記憶部162に保存されている深層学習モデルを読み込み、メモリ12に確保したワーク領域に一時保存する(ステップS402)。
さらに、プロセッサ11は、例えば外部記憶装置14に設けたLUT記憶部163に保存されている色に関するルックアップテーブルLUT1と座標に関するルックアップテーブルLUT2とを読み込み、メモリ12に確保したワーク領域に一時保存する(ステップS403)。
以上により、推論ための準備が完了し、プロセッサ11は、この初期化処理を終了する。
図20は、上記ステップS500での画像処理の詳細の一例を示すフローチャートである。
プロセッサ11が備えるCPUは、例えば3つのCPUスレッドを使用して、まず、画像受信部110としての動作を実行する。すなわち、画像受信部110としての動作を割り当てられたCPUスレッドは、撮像部200からのカラー映像(或いは、カラー映像と深度映像)を受信し、カラー映像における1フレームのカラー画像を取得する(ステップS501)。そして、当該CPUスレッドは、取得したカラー画像に対し、必要に応じて色変換を行い、処理対象のカラー画像としてメモリ12に確保されたワーク領域に一時保存する。図6は、この取得して一時保存される処理対象のカラー画像IMG1の一例を示す図である。
この一時保存された処理対象のカラー画像IMG1に対し、プロセッサ11が備えるCPUは、例えば3つのCPUスレッドを使用して、推論部120としての動作を実行する。すなわち、推論部120としての動作を割り当てられたCPUスレッドは、上記ステップS400の処理によりメモリ12に一時保存されている、背景画像IMG2、背景深度画像IMG3及び座標画像IMG4と、図20に一点鎖線の矢印で示すように上記ステップS501の処理によりメモリ12に一時保存されているカラー画像IMG1と、を入力画像として読み出す。当該CPUスレッドは、この入力画像に対し、上記ステップS400の処理によりメモリ12に一時保存されている深層学習モデルを参照して推論処理を実行し、任意の数の前景のマスク画像を生成する(ステップS502)。そして、当該CPUスレッドは、生成したマスク画像を、メモリ12に確保されたワーク領域に一時保存して、この図20に示す画像処理の動作を終了する。その後は、当該CPUスレッドは、上記ステップS500での判断から再びこの画像処理の動作に戻り、上記ステップS501にて処理対象となる次の1フレームのカラー画像IMG1が取得されるのを待つことになる。
また、プロセッサ11が備えるCPUは、図20に破線の矢印で示すように、この一時保存されたマスク画像に対し、例えば12個のCPUスレッドを使用して、境界補正部130としての動作を実行する。すなわち、境界補正部130としての動作を割り当てられたCPUスレッドは、上記ステップS400の処理によりメモリ12に一時保存されている、背景画像IMG2及びマスク画像と、図20に一点鎖線の矢印で示すように上記ステップS501の処理によりメモリ12に一時保存されているカラー画像IMG1と、を取得する。当該CPUスレッドは、上記ステップS400の処理によりメモリ12に一時保存されている2種類のルックアップテーブルLUT1,LUT2を使用して境界補正処理を実行することで、各マスク画像の前景と背景の境界領域を精緻に補正する(ステップS503)。そして、当該CPUスレッドは、補正後の各マスク画像を補正後マスク画像として、メモリ12に確保したワーク領域に一時保存して、この図20に示す画像処理の動作を終了する。その後は、当該CPUスレッドは、上記ステップS500での判断から再びこの画像処理の動作に戻り、上記ステップS501での次の1フレームのカラー画像IMG1の取得、及び、上記ステップS502でのマスク画像の生成を待つことになる。
図21は、境界補正後マスク画像IMG5の一例を示す図である。この例は、図6に示したカラー画像IMG1を入力とした場合を示しており、カラー画像IMG1に対し、二人の人物である対象の被写体の領域だけを前景とした2つの境界補正後マスク画像IMG51及びIMG52が生成されている。
また、プロセッサ11が備えるCPUは、例えば3つのCPUスレッドを使用して、図20に破線の矢印で示すように、一時保存された任意の数の境界補正後マスク画像IMG5を用いて、画像合成部140としての動作を実行する。すなわち、画像合成部140としての動作を割り当てられたCPUスレッドは、図20に一点鎖線の矢印で示すように上記ステップS501の処理によりメモリ12に一時保存されているカラー画像IMG1を読み出す。当該CPUスレッドは、このカラー画像IMG1を上記ステップS503の処理によりメモリ12に一時保存されている任意の数の境界補正後マスク画像IMG5によってマスクすることで、前景のみが抽出された画像である任意の数の抽出画像を生成する(ステップS504)。そして、当該CPUスレッドは、生成した各抽出画像を、メモリ12に確保したワーク領域に一時保存して、この図20に示す画像処理の動作を終了する。その後は、当該CPUスレッドは、上記ステップS500での判断から再びこの画像処理の動作に戻り、上記ステップS501での次の1フレームのカラー画像IMG1の取得、及び、上記ステップS503での境界補正後マスク画像IMG5の生成を待つことになる。
図22は、抽出画像IMG6の一例を示す図である。この例は、図6に示したカラー画像IMG1を入力とした場合を示しており、カラー画像IMG1に対し、二人の人物である対象の被写体を前景として抽出した2つの抽出画像IMG61及びIMG62が生成されている。
また、プロセッサ11が備えるCPUは、図20に破線の矢印で示すように、この一時保存された任意の数の抽出画像IMG6に対し、例えば3個のCPUスレッドを使用して、画像送信部150としての動作を実行する。すなわち、画像送信部150としての動作を割り当てられたCPUスレッドは、上記ステップS504の処理によりメモリ12に一時保存されている任意の数の抽出画像IMG6を映像の1フレームに変換し、映像として表示部300に送信する(ステップS505)。そして、当該CPUスレッドは、この図20に示す画像処理の動作を終了する。その後は、当該CPUスレッドは、上記ステップS500での判断から再びこの画像処理の動作に戻り、上記ステップS504での抽出画像IMG6の生成を待つことになる。
図23は、以上の画像処理に係わる各画像の対応関係を示す図である。受信したカラー映像から取得されたカラー画像IMG1に対して深層学習モデルを参照して推論処理を行うことで、マスク画像IMG7が生成される。このマスク画像IMG7に対して2種類のルックアップテーブルLUT1,LUT2を使用して境界補正処理を行うことで、境界補正後マスク画像IMG5が生成される。この境界補正後マスク画像IMG5によってカラー画像IMG1をマスクすることによって、抽出画像IMG6が生成される。
以上に説明した一実施形態に係る画像処理装置としての画像処理部100は、少なくとも、学習対象の複数のカラー画像と、これら複数のカラー画像に関して作成されたマスク画像と、それら複数のカラー画像と同一の解像度で、水平方向に最小画素値から最大画素値まで連続的に変化するx座標画像IMG4X及び垂直方向に最小画素値から最大画素値まで連続的に変化するy座標画像IMG4Yを含む、カラー画像の内容に依存しない座標画像IMG4と、を予め画像記憶部161に保存しておくと共に、学習部170により、この画像記憶部161に保存されている複数のカラー画像、マスク画像及び座標画像IMG4を用いて深層学習を行い、深層学習モデルを生成してモデル記憶部162に保存しておく。そして、画像処理部100は、処理対象のカラー画像IMG1を画像受信処理部としての画像受信部110で受信し、推論処理部としての推論部120にて、この処理対象のカラー画像IMG1と、画像記憶部161に保存された座標画像IMG4と、を入力として、モデル記憶部162に保存されている学習部170によって生成された深層学習モデルを参照して推論することで、処理対象のカラー画像IMG1中の少なくとも1つの被写体領域である前景を抽出して、少なくとも1つのマスク画像IMG7を生成する。また、画像処理部100は、境界補正処理部としての境界補正部130にて、処理対象のカラー画像IMG1と、推論部120が生成したマスク画像IMG7と、を入力とし、処理対象のカラー画像IMG1における少なくとも1つの被写体領域である前景それぞれと背景との境界領域における判定対象画素とその周辺画素との間の色及び座標の関係に基づいて、判定対象画素が前景と背景の何れであるかを判定して境界領域を補正することで、少なくとも1つの境界補正後マスク画像IMG5を生成し、画像合成処理部としての画像合成部140にて、処理対象のカラー画像IMG1とこの境界補正部130が生成した境界補正後マスク画像IMG5とを合成して、少なくとも1つの前景の抽出画像IMG6を生成する。
このように、一実施形態に係る画像処理装置としての画像処理部100は、学習対象のカラー画像とそれに基づくマスク画像及び座標画像IMG4(x座標画像IMG4X,y座標画像IMG4Y)を入力として、セグメンテーションを行う深層学習モデルを構築し、処理対象のカラー画像IMG1について、この深層学習モデルを参照した推論処理を行うようにしているので、画像中の任意の数の被写体について、それらの領域を精緻且つ高速に抽出することができる。
また、一実施形態によれば、画像受信部110が受信する処理対象のカラー画像IMG1は、撮影画角が固定された画像であり、また、画像記憶部161が保存する学習対象の複数のカラー画像は、処理対象のカラー画像IMG1と同一の撮影範囲を同一の撮影画角により撮影した画像であって、画像処理部100の画像記憶部161はさらに、学習対象の複数のカラー画像に基づいてそれぞれ生成された、画像中に抽出対象の被写体が含まれてない背景だけの画像である背景画像IMG2と、深度画像である背景深度画像IMG3と、を予め保存する。そして、画像処理部100は、学習部170にて、学習対象の複数のカラー画像、マスク画像及び座標画像IMG4に加えて、画像記憶部161に保存されている背景画像IMG2及び背景深度画像IMG3を用いて深層学習を行う。従って、画像処理部100は、推論部120にて、処理対象のカラー画像IMG1及び座標画像IMG4に加えて、画像記憶部161に保存されている背景画像IMG2及び背景深度画像IMG3を入力として、深層学習モデルを参照して推論することで、少なくとも1つのマスク画像IMG7を生成し、境界補正部130にて、処理対象のカラー画像IMG1及びマスク画像IMG7に加えて、画像記憶部161に保存されている背景画像IMG2を入力として、境界領域に対応する背景画像IMG2の判定対象画素である補正対象画素PISとその周辺画素である探索画素PIRとの間の色及び座標の関係に基づいて境界領域を補正して、少なくとも1つの境界補正後マスク画像IMG5を生成する。
このように、一実施形態に係る画像処理装置としての画像処理部100は、カラー画像IMG1と背景画像IMG2に加え、背景深度画像IMG3及び座標画像IMG4(x座標画像IMG4X,y座標画像IMG4Y)を入力として、セグメンテーションを行う深層学習モデルを構築し、この深層学習モデルを参照した推論処理を行うので、入力の情報量が増加する分、抽出精度が向上し、画像中の任意の数の被写体について、それらの領域を、より精緻に抽出することができる。
また、一実施形態によれば、学習対象の複数のカラー画像と一緒に学習対象の複数のカラー画像に対応する複数の深度画像が撮影される場合には、画像記憶部161が保存する背景深度画像IMG3は、それら複数の深度画像から生成される画像であり、また、学習対象の複数のカラー画像と一緒に深度画像が撮影されない場合には、画像記憶部161が保存する背景深度画像IMG3は、学習対象の複数のカラー画像に基づいて生成された背景画像IMG2から擬似的に作成された画像とすることができる。
よって、学習対象のカラー画像と一緒に深度画像が取得できなくても背景深度画像IMG3を保存することができ、また、深度画像が取得できる場合には、高精度な背景深度画像IMG3を保存することができる。
また、一実施形態に係る画像処理装置としての画像処理部100は、利用者が設定するルールに基づいて、判定対象画素である補正対象画素PISとその周辺画素である探索画素PIRとの間の色及び座標の関係の判定を高速化するためのルックアップテーブルを生成しておくLUT生成部180をさらに備え、境界補正部130にて、このLUT生成部180が生成したルックアップテーブルを使用して境界領域における補正対象画素PISと探索画素PIRとの間の色及び座標の関係を取得して、判定対象画素が前景と背景の何れであるかを判定する。
よって、一実施形態によれば、境界補正における2画素間の色と座標の関係判定をルックアップテーブルを用いて行うことで、演算量を削減し高速化しているので、画像中の任意の数の被写体について、それらの領域を、より高速に抽出することが可能となる。
なお、一実施形態に係る画像処理装置としての画像処理部100は、LUT生成部180にて、判定対象画素である補正対象画素PISの色と周辺画素である探索画素PIRの色に応じて画素間の色の差つまり色の距離を出力する画素間の色に関するルックアップテーブルLUT1と、補正対象画素PISの座標と探索画素PIRの座標に応じて画素間の座標距離を出力する画素間の座標に関するルックアップテーブルLUT2と、を生成する。
よって、一実施形態によれば、境界補正における色と座標の距離計算をルックアップテーブルによって行うことで、演算量を削減し高速化しているので、画像中の任意の数の被写体について、それらの領域を精緻且つ高速に抽出することができる。
また、一実施形態に係る画像処理装置としての画像処理部100における画像受信部110、推論部120、境界補正部130、画像合成部140及び画像送信部150が、マルチスレッド数のCPUによって構成される場合、それら各部で専有するCPUのスレッド数を制御する並列数管理部190をさらに備えている。
よって、一実施形態によれば、処理部ごとに割り当てるCPUスレッド数を設定することで、処理に多くの能力を必要とする境界補正部130にできるだけ多くのスレッドを割り当てることができ、システム全体としての処理速度が向上するようなバランスに調整することかできる。
[他の実施形態]
前記一実施形態は、撮影するカラー映像の画角が固定であることを前提としたものである。しかしながら、画角が固定されたカメラで撮影したカラー画像でなくても良い。この場合は、背景情報が使用できないため、背景画像IMG2と背景深度画像IMG3を入力から除外して、深層学習モデルを構築すれば良い。
また、一実施形態では、ステップS110の学習処理を実行後にステップS120のLUT生成処理を実行するものとしたが、その順番は逆であっても良いし、CPUの別スレッドで学習処理とLUT生成処理とを並行して実行するようにしても構わない。これに限らず、図3~図5、図7、図8及び図13に示したフローチャートの各処理は、当該処理がそれ以前の処理の結果を利用しない限りは、順番を入れ替えたり、並行して処理したりするようにしても構わない。また、図20に示したフローチャートの各処理は、並行して処理するものとしたが、プロセッサ11の性能が許せば、それ以前の処理の結果を利用するように各処理を順番に行うようにしても構わない。
また、一実施形態では、画像編集部400を画像処理部100の外部に設けているが、画像処理部100に画像編集部400の機能を組み込んでも構わない。
また、各実施形態に記載した手法は、計算機(コンピュータ)に実行させることができるプログラム(ソフトウェア手段)として、例えば磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD-ROM、DVD、MO等)、半導体メモリ(ROM、RAM、フラッシュメモリ等)等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウェア手段(実行プログラムのみならずテーブル、データ構造も含む)を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウェア手段を構築し、このソフトウェア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部或いはネットワークを介して接続される機器に設けられた磁気ディスク、半導体メモリ等の記憶媒体を含むものである。
要するに、この発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組合せて実施しても良く、その場合組合せた効果が得られる。さらに、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。
11…プロセッサ
12…メモリ
13…境界補正部
14…外部記憶装置
15…入力装置
16…出力装置
17…通信IF装置
18…バス
100…画像処理部
110…画像受信部
120…推論部
130…境界補正部
140…画像合成部
150…画像送信部
160…記憶部
161…画像記憶部
162…モデル記憶部
163…LUT記憶部
170…学習部
180…LUT生成部
190…並列数管理部
200…撮像部
300…表示部
400…画像編集部
IMG1…カラー画像
IMG2…背景画像
IMG3…背景深度画像
IMG4…座標画像
IMG4X…x座標画像
IMG4Y…y座標画像
IMG5,IMG51,IMG52…境界補正後マスク画像
IMG6,IMG61,IMG62…抽出画像
IMG7…マスク画像
LUT1,LUT2…ルックアップテーブル
PIR…探索画素
PIS…補正対象画素

Claims (8)

  1. 少なくとも、学習対象の複数のカラー画像と、前記複数のカラー画像に関して作成されたマスク画像と、前記複数のカラー画像と同一の解像度で、水平方向に最小画素値から最大画素値まで連続的に変化するx座標画像及び垂直方向に最小画素値から最大画素値まで連続的に変化するy座標画像を含む、前記カラー画像の内容に依存しない座標画像と、を予め保存する画像記憶部と、
    前記画像記憶部に保存されている前記複数のカラー画像、前記マスク画像及び前記座標画像を用いて深層学習を行い、深層学習モデルを生成する学習部と、
    処理対象のカラー画像を受信する画像受信処理部と、
    前記処理対象のカラー画像と、前記画像記憶部に保存された前記座標画像と、を入力として、前記学習部によって生成された前記深層学習モデルを参照して推論することで、前記処理対象のカラー画像中の少なくとも1つの被写体領域である前景を抽出して、少なくとも1つのマスク画像を生成する推論処理部と、
    前記処理対象のカラー画像と、前記推論処理部が生成した前記マスク画像と、を入力とし、前記処理対象のカラー画像における前記少なくとも1つの前景それぞれと背景との境界領域における判定対象画素とその周辺画素との間の色及び座標の関係に基づいて、前記判定対象画素が前記前景と前記背景の何れであるかを判定して前記境界領域を補正することで、少なくとも1つの境界補正後マスク画像を生成する境界補正処理部と、
    前記処理対象のカラー画像と前記境界補正処理部が生成した前記境界補正後マスク画像とを合成して、前記少なくとも1つの前景の抽出画像を生成する画像合成処理部と、
    を具備する、画像処理装置。
  2. 前記画像受信処理部が受信する前記処理対象のカラー画像は、撮影画角が固定された画像であり、
    前記画像記憶部が保存する前記学習対象の複数のカラー画像は、前記処理対象のカラー画像と同一の撮影範囲を同一の撮影画角により撮影した画像であり、
    前記画像記憶部はさらに、前記学習対象のカラー画像に基づいてそれぞれ生成された、画像中に抽出対象の被写体が含まれてない背景だけの画像である背景画像と、深度画像である背景深度画像と、を予め保存し、
    前記学習部は、前記学習対象の複数のカラー画像、前記マスク画像及び前記座標画像に加えて、前記画像記憶部に保存されている前記背景画像及び前記背景深度画像を用いて深層学習を行い、
    前記推論処理部は、前記処理対象のカラー画像及び前記座標画像に加えて、前記画像記憶部に保存されている前記背景画像及び前記背景深度画像を入力として、前記深層学習モデルを参照して推論することで、前記少なくとも1つのマスク画像を生成し、
    前記境界補正処理部は、前記処理対象のカラー画像及び前記マスク画像に加えて、前記画像記憶部に保存されている前記背景画像を入力として、前記境界領域に対応する前記背景画像の判定対象画素とその周辺画素との間の色及び座標の関係に基づいて前記境界領域を補正して、前記少なくとも1つの境界補正後マスク画像を生成する、請求項1に記載の画像処理装置。
  3. 前記学習対象の複数のカラー画像と一緒に前記学習対象の複数のカラー画像に対応する複数の深度画像が撮影される場合、前記画像記憶部が保存する前記背景深度画像は、前記複数の深度画像から生成される画像であり、
    前記学習対象の複数のカラー画像と一緒に前記深度画像が撮影されない場合には、前記画像記憶部が保存する前記背景深度画像は、前記学習対象の複数のカラー画像に基づいて生成された前記背景画像から擬似的に作成された画像である、請求項2に記載の画像処理装置。
  4. 利用者が設定するルールに基づいて、前記判定対象画素と前記周辺画素との間の前記色及び前記座標の関係の判定を高速化するためのルックアップテーブルを生成しておくLUT生成部をさらに具備し、
    前記境界補正処理部は、前記LUT生成部が生成した前記ルックアップテーブルを使用して前記境界領域における前記判定対象画素と前記周辺画素との間の前記色及び前記座標の関係を取得して、前記判定対象画素が前記前景と前記背景の何れであるかを判定する、請求項1乃至3の何れかに記載の画像処理装置。
  5. 前記LUT生成部は、前記判定対象画素の色と前記周辺画素の色に応じて画素間の色の差を出力する画素間の色に関するルックアップテーブルと、前記判定対象画素の座標と前記周辺画素の座標に応じて画素間の座標距離を出力する画素間の座標に関するルックアップテーブルと、を生成する、請求項4に記載の画像処理装置。
  6. 前記画像受信処理部、前記推論処理部、前記境界補正処理部及び前記画像合成処理部が、マルチスレッド数のCPUによって構成される場合、各処理部で専有する前記CPUのスレッド数を制御する並列数管理部をさらに具備する、請求項1乃至5の何れかに記載の画像処理装置。
  7. プロセッサと記憶装置とを有し、画像から少なくとも一つの被写体領域である前景を抽出する画像処理装置における画像処理方法であって、
    前記プロセッサが、少なくとも、学習対象の複数のカラー画像と、前記複数のカラー画像に関して作成されたマスク画像と、前記複数のカラー画像と同一の解像度で、水平方向に最小画素値から最大画素値まで連続的に変化するx座標画像及び垂直方向に最小画素値から最大画素値まで連続的に変化するy座標画像を含む、前記カラー画像の内容に依存しない座標画像と、を予め前記記憶装置に保存させ、
    前記プロセッサが、前記保存されている前記複数のカラー画像、前記マスク画像及び前記座標画像を用いて深層学習を行い、深層学習モデルを生成して、前記記憶装置に保存させ、
    前記プロセッサが、処理対象のカラー画像を受信し、
    前記プロセッサが、前記受信した前記処理対象のカラー画像と、前記保存された前記座標画像IMG4と、を入力として、前記保存された前記深層学習モデルを参照して推論することで、前記処理対象のカラー画像中の少なくとも1つの前景を抽出して、少なくとも1つのマスク画像を生成し、
    前記プロセッサが、前記受信した前記処理対象のカラー画像と、前記生成した前記マスク画像と、を入力とし、前記処理対象のカラー画像における前記少なくとも1つの前景それぞれと背景との境界領域における判定対象画素とその周辺画素との間の色及び座標の関係に基づいて、前記判定対象画素が前記前景と前記背景の何れであるかを判定して前記境界領域を補正することで、少なくとも1つの境界補正後マスク画像を生成し、
    前記プロセッサが、前記受信した前記処理対象のカラー画像と前記生成した前記境界補正後マスク画像とを合成して、前記少なくとも1つの前景の抽出画像を生成する、
    画像処理方法。
  8. 請求項1乃至6の何れかに記載の画像処理装置の前記各部としてプロセッサを機能させる画像処理プログラム。

JP2023508223A 2021-03-23 2021-03-23 画像処理装置、画像処理方法及び画像処理プログラム Active JP7473076B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/012033 WO2022201318A1 (ja) 2021-03-23 2021-03-23 画像処理装置、画像処理方法及び画像処理プログラム

Publications (2)

Publication Number Publication Date
JPWO2022201318A1 JPWO2022201318A1 (ja) 2022-09-29
JP7473076B2 true JP7473076B2 (ja) 2024-04-23

Family

ID=83396568

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023508223A Active JP7473076B2 (ja) 2021-03-23 2021-03-23 画像処理装置、画像処理方法及び画像処理プログラム

Country Status (2)

Country Link
JP (1) JP7473076B2 (ja)
WO (1) WO2022201318A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170287137A1 (en) 2016-03-31 2017-10-05 Adobe Systems Incorporated Utilizing deep learning for boundary-aware image segmentation
JP2018129029A (ja) 2017-02-08 2018-08-16 日本電信電話株式会社 画像処理装置、画像処理方法、および画像処理プログラム
WO2019225692A1 (ja) 2018-05-24 2019-11-28 日本電信電話株式会社 映像処理装置、映像処理方法、および映像処理プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170287137A1 (en) 2016-03-31 2017-10-05 Adobe Systems Incorporated Utilizing deep learning for boundary-aware image segmentation
JP2018129029A (ja) 2017-02-08 2018-08-16 日本電信電話株式会社 画像処理装置、画像処理方法、および画像処理プログラム
WO2019225692A1 (ja) 2018-05-24 2019-11-28 日本電信電話株式会社 映像処理装置、映像処理方法、および映像処理プログラム

Also Published As

Publication number Publication date
WO2022201318A1 (ja) 2022-09-29
JPWO2022201318A1 (ja) 2022-09-29

Similar Documents

Publication Publication Date Title
CN107516319B (zh) 一种高精度简易交互式抠图方法、存储设备及终端
JP5032911B2 (ja) 画像処理装置及び画像処理方法
US8902328B2 (en) Method of selecting a subset from an image set for generating high dynamic range image
TWI518638B (zh) 用於高動態範圍影像之產生及顯現的儲存裝置、方法及系統
JP2017059235A (ja) イメージの明るさを調整する方法及び装置
US20170116765A1 (en) Methods and systems for color processing of digital images
JP2005526408A (ja) デジタル画像の自動画質向上
JP2005051407A (ja) 画像処理方法および装置
JP5703255B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP2007158824A (ja) 画像処理装置、肌色調整方法及びプログラム
JP2017022620A (ja) 情報処理装置、情報処理方法、コンピュータプログラム
CN111489322A (zh) 给静态图片加天空滤镜的方法及装置
US8908964B2 (en) Color correction for digital images
JP6160426B2 (ja) 画像処理装置及びプログラム
JP7473076B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
KR100791374B1 (ko) 색역 내에 존재하는 색상을 영상 적응적으로 조절하는 방법및 장치
CN112866667A (zh) 图像的白平衡处理方法、装置、电子设备和存储介质
WO2023056926A1 (zh) 图像处理方法、电子设备和存储介质
JP6160425B2 (ja) 画像処理装置及びプログラム
CN108269260B (zh) 动态影像去背方法、系统与计算机可读取存储装置
US12035033B2 (en) DNN assisted object detection and image optimization
JP4983682B2 (ja) オブジェクト検出方法、オブジェクト検出装置、オブジェクト検出プログラムおよび印刷装置
US20200351456A1 (en) Image processing device, image processing method, and program
JP2005311900A (ja) 画像処理装置およびその方法
JP2006268153A (ja) 画像処理装置、画像処理方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230626

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240312

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240325

R150 Certificate of patent or registration of utility model

Ref document number: 7473076

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150