JP7246943B2 - 画像処理方法、画像処理装置、画像処理システム、撮像装置、プログラム、および、記憶媒体 - Google Patents

画像処理方法、画像処理装置、画像処理システム、撮像装置、プログラム、および、記憶媒体 Download PDF

Info

Publication number
JP7246943B2
JP7246943B2 JP2019010512A JP2019010512A JP7246943B2 JP 7246943 B2 JP7246943 B2 JP 7246943B2 JP 2019010512 A JP2019010512 A JP 2019010512A JP 2019010512 A JP2019010512 A JP 2019010512A JP 7246943 B2 JP7246943 B2 JP 7246943B2
Authority
JP
Japan
Prior art keywords
map
normal map
image processing
normal
learning
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
JP2019010512A
Other languages
English (en)
Other versions
JP2020119333A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2019010512A priority Critical patent/JP7246943B2/ja
Publication of JP2020119333A publication Critical patent/JP2020119333A/ja
Application granted granted Critical
Publication of JP7246943B2 publication Critical patent/JP7246943B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)

Description

本発明は、被写体の法線情報を取得する画像処理方法、画像処理装置、画像処理システム、撮像装置、プログラム、および、記憶媒体に関する。
デジタルカメラ等の撮像装置で被写体を撮像して得られた撮影画像から、被写体の形状情報として面法線の情報(以下、法線情報という)を取得する方法が知られている。法線情報を取得する方法としては、シェイプフロムシェーディング法や、照度差ステレオ法がある。シェイプフロムシェーディング法では、1枚の撮影画像から法線情報を推定できるが、対象物体の反射率が一様であることや被写体の形状がなめらかに変化すること等の仮定を必要とする。照度差ステレオ法は、被写体の面法線と光源方向に基づいた反射特性を仮定し、複数の光源位置での被写体の輝度情報と仮定した反射特性とから法線情報を推定する方法である。複数の光源位置で撮像した撮影画像を用いることでシェイプフロムシェーディング法よりも少ない仮定の下で法線情報を推定できる。仮定される被写体の反射特性としてはランバートの余弦則に従うランバート反射モデルが用いられることが多い。
一般に、物体での反射には、鏡面反射と拡散反射がある。鏡面反射は、物体表面での正反射であり、物体表面(界面)においてフレネルの式に従うフレネル反射である。拡散反射は、被写体の表面を透過した後に物体内部で散乱されて光が返ってくる反射である。鏡面反射した光は上述のランバートの余弦則では表せず、撮像装置で観測される被写体からの反射光に鏡面反射光が含まれていると、シェイプフロムシェーディング法や照度差ステレオ法では法線情報を正確に推定できない。光源からの光が当たらない陰影部においても仮定した反射モデルからのずれが生じ、法線情報を正確に推定できない。また、表面の粗い被写体や半透明体などでは拡散反射成分もランバートの余弦則からずれを生じる。さらに、相互反射が生じている場合および拡散反射成分が観測されない金属体や透明体などにおいても、法線情報を正確に推定できない。
特許文献1には、4つ以上の光源を使用して得られた複数の法線候補から、鏡面反射成分の影響を除いて高精度に法線情報を求める方法が開示されている。また、非特許文献1には、畳み込みニューラルネットワークを応用して1枚の撮影画像から法線情報を推定する方法が開示されている。
特開2010-122158号公報
しかしながら、特許文献1に開示された方法では、鏡面反射成分の影響を受ける撮影画像が複数ある場合において法線情報を推定できない。また、陰影部が生じた場合、ランバートの余弦則からずれた反射特性を持つ被写体の場合、相互反射が生じた場合、および拡散反射成分が観測されない被写体の場合等においても法線情報を推定できない。非特許文献1に開示された方法では、法線情報を推定できないことによる破綻部は生じにくいが、照度差ステレオ法等で高精度に取得された法線マップに対して推定精度が低い。
本発明は、反射特性や形状の制約がない一般的な被写体において、高精度に法線情報を推定可能な画像処理方法、画像処理装置、画像処理システム、撮像装置、画像処理プログラム、および、記憶媒体を提供することを目的とする。
本発明の一側面としての画像処理方法は、被写体空間の第1の法線マップと参照データとを入力データとして取得する第1工程と、あらかじめ学習された学習情報を取得する第2工程と、入力データと学習情報とに基づいて、第2の法線マップを推定する第3工程と、を有し、第1の法線マップは、照度差ステレオ法またはシェイプフロムシェーディング法を用いて取得された法線マップ、および距離マップを用いて取得された法線マップのいずれかであり、参照データは、被写体空間を撮影した撮影画像を含み、第3工程では、Nを2以上の整数、nを1からNまでの整数とした場合、入力データに対して、学習情報に基づく第nの線型変換、および第nの非線型変換を、nが1からNになるまで順に実行して中間データを生成する工程と、中間データに対して、学習情報に基づく第N+1の線型変換を実行する工程と、が実行されることで第2の法線マップが推定されることを特徴とする。
本発明の他の側面としての画像処理方法は、被写体空間の第1の法線マップと参照データとを入力データとして取得する第1工程と、あらかじめ学習された学習情報を取得する第2工程と、入力データと学習情報とに基づいて、第2の法線マップを推定する第3工程と、を有し、参照データは、被写体の特性に基づいて被写体空間を撮影した撮影画像の各領域をラベル付けしたラベルマップ、第1の法線マップに含まれる法線情報の信頼度を表す信頼度マップ、および距離マップのうち少なくとも1つを含み、第3工程では、Nを2以上の整数、nを1からNまでの整数とした場合、入力データに対して、学習情報に基づく第nの線型変換、および第nの非線型変換を、nが1からNになるまで順に実行して中間データを生成する工程と、中間データに対して、学習情報に基づく第N+1の線型変換を実行する工程と、が実行されることで第2の法線マップが推定されることを特徴とする。
本発明によれば、反射特性や形状の制約がない一般的な被写体において、高精度に法線情報を推定可能な画像処理方法、画像処理装置、画像処理システム、撮像装置、画像処理プログラム、および、記憶媒体を提供することができる。
実施例1の撮像装置の外観図である。 実施例1の撮像装置のブロック図である。 実施例1の第2の法線マップの推定処理を示すフローチャートである。 ディープラーニングの1つであるCNN(Convolutional Neural Network)のネットワーク構造を示す図である(実施例1,2)。 実施例1の学習情報の学習を示すフローチャートである。 実施例2の画像処理システムの外観図である。 実施例2の画像処理システムのブロック図である。 実施例2の第2の法線マップの推定処理を示すフローチャートである。
以下、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。各図において、同一の部材については同一の参照番号を付し、重複する説明は省略する。
本発明では、破綻部や精度が十分でない領域を有する第1の法線マップに基づいて、ディープラーニング(深層学習とも呼ばれる)を用いて、第1の法線マップを改善した第2の法線マップを推定する。法線マップとは、被写体空間の法線情報を画像として並べたマップであり、法線情報とは、法線方向ベクトルや、法線を表す各自由度を指す。ディープラーニングの入力として、第1の法線マップに加えて撮影画像、ラベルマップ、信頼度マップ、または距離マップのうち少なくとも1つを入力し、これらのデータを参照することで第2の法線マップを推定する。第1の法線マップと、撮影画像、ラベルマップ、信頼度マップ、または距離マップのうち少なくとも1つからなる入力データを用いて、対応関係をディープラーニングによって学習することで、高精度に法線情報を推定可能である。
本実施例では、本発明の画像処理方法を撮像装置100に適用した場合について説明する。図1は、撮像装置100の外観図である。図2は、撮像装置100のブロック図である。
撮像装置100は、被写体空間の像を撮影画像として取得する撮像部101を有する。撮像部101は、被写体空間から入射する光を集光する結像光学系101a、および複数の画素を有する撮像素子101bを有する。撮像素子101bは、例えば、CCD(Charge Coupled Device)センサや、CMOS(Complementary Metal-Oxide Semiconductor)センサなどである。画像処理部102は、被写体空間の第1の法線マップの部分領域を取得し、撮影画像の対応する領域と合わせた入力データに対して、法線情報(第2の法線マップ)の推定を行う。画像処理部102は、学習部102a、推定部102b、および取得部102cを有する。第2の法線マップの推定の際には、記憶部103に記憶された学習情報が呼び出されて使用される。推定された第2の法線マップは、液晶ディスプレイなどの表示部104に表示、または記録媒体105に保存される。第2の法線マップの代わりに、第2の法線マップに基づいて生成された画像(例えば、レンダリング画像)を表示部104に表示、または記録媒体105に保存してもよい。ただし、第1の法線マップ、撮影画像、または入力データを記録媒体105に保存し、任意のタイミングで第2の法線マップの推定を行ってもよい。光源110は、撮像時に選択的に点灯し、撮像部101が複数の異なる光源環境下で撮影を行うことを可能とする。本実施例では、光源110は、撮像装置100と一体的に構成されているが、撮像装置100とは異なる外部装置であってもよい。システムコントローラ106は、上述した一連の制御を行う。
以下、図3を参照して、画像処理部102により実行される第2の法線マップの推定について説明する。図3は、第2の法線マップの推定処理を示すフローチャートである。
ステップS101では、取得部102cは、異なる光源環境下で被写体を撮影した複数の撮影画像と学習情報を取得する。学習情報とは、後述する入力データに対して、推定された第2の法線マップを結び付けるためにあらかじめ学習された情報である。
ステップS102では、取得部102cは、入力データとして、第1の法線マップの部分領域、および異なる光源下で被写体を撮影した複数の撮影画像の部分領域を取得する。本実施例では、第1の法線マップとして、あらかじめ取得部102cによって、異なる光源環境下で被写体を撮影した複数の撮影画像から、照度差ステレオ法で取得されたものを用いる。また、複数の撮影画像のそれぞれから取得される領域は、画像上の同一位置となるように選択されている。なお、複数の撮影画像のそれぞれに対して、電子的な手振れ補正処理等の位置ずらし処理を行ってもよい。また、入力データとして、全ての撮影画像を用いる必要はなく、1枚の撮影画像を用いてもよいし、照度差ステレオ法に用いた撮影画像とは異なる撮影画像を用いてもよい。第2の法線マップの推定は、入力データを単位として部分領域ごとに行われる。部分領域は、各撮影画像の一部の領域であればよく、撮影画像全体であってもよい。また、第1の法線マップを取得する方法は照度差ステレオ法に限定されず、シェイプフロムシェーディング法や視差画像から取得した被写体空間の距離マップに基づいて取得してもよい。この場合、ステップS101では、第1の法線マップの取得方法および入力データに必要な撮影画像を取得すればよく、所定の光源を用いて撮影しても環境光のみで撮影してもよく、1枚の撮影画像のみ取得しても視差画像を取得してもよい。なお、第1の法線マップは、あらかじめ記録媒体105に保存されていてもよい。第1の法線マップを記録媒体105から取得する場合、ステップS101では入力データに必要な撮影画像のみを取得すればよい。
ステップS103では、推定部102bは、学習情報を用いて入力データから部分法線情報を推定する。ステップS103では、多層のニューラルネットワークを用いて入力データの処理を行う。以下、図4を参照して、ステップS103で行われる推定の詳細について説明する。
図4は、ディープラーニングの1つであるCNN(Convolutional Neural Network)のネットワーク構造を示している。ただし、多層のニューラルネットワークであれば、CNN以外の方法(例えばDBN(Deep Belief Network)など)を用いても構わない。
CNNは、複数の層構造になっており、各層で学習情報に基づく線型変換、および非線型変換が実行される。非線型変換は、学習情報に基づいていてもよいし、学習情報に基づいていなくてもよい。ここで、nを1からNまでの整数とする場合、n番目の層を第n層、第n層における線型変換と非線型変換をそれぞれ、第nの線型変換と第nの非線型変換と呼称する。ただし、Nは、2以上の整数である。入力データ201は、第1層で複数のフィルタ202それぞれとのコンボリューション(複数の線型関数による第1の線型変換)をとられる。その後、活性化関数(Activation Function,図4ではAF)と呼ばれる非線型関数で変換(第1の非線型変換)される。また、入力データ201が複数枚描画されているのは、複数のチャンネルを有しているためである。本実施例では、入力データが第1の法線マップのチャンネル数に加えて、入力データに用いる撮影画像1枚ごとにRGB(Red,Green,Blue)の3チャンネルを有している。第1の法線マップのチャンネル数は、法線情報の表現方法によって異なる。法線ベクトルの3次元の成分を各チャンネルに割り当てれば3チャンネルであり、法線ベクトルの方向を2つの角度で表現すれば2チャンネルである。また、入力データがRGBのチャンネルを有していても、各色で個別にCNNへ入力しても構わない。
フィルタ202は、複数存在し、それぞれと入力データ201とのコンボリューションを個別に算出する。フィルタ202の係数は、学習情報から決定される。学習情報はフィルタ係数そのものでもよいし、フィルタを所定の関数でフィッティングした際の係数でもよい。フィルタ202それぞれのチャンネル数は、入力データ201と一致し、3次元フィルタとなる(3次元目がチャンネル数を表す)。また、コンボリューションの結果に対して、学習情報から決定される定数(負もとり得る)を加算してもよい。
活性化関数f(x)の例として、以下の式(1)から(3)が挙げられる。
Figure 0007246943000001
式(1)はシグモイド関数、式(2)はハイパボリックタンジェント関数、式(3)はReLU(Rectified Linear Unit)と呼ばれる。式(3)中のmaxは、引数のうち最大値を出力するMAX関数を表す。式(1)から(3)は、全て単調増加関数である。また、活性化関数としてMaxoutを使用してもよい。Maxoutは、第nの線型変換の出力である複数の画像のうち、各画素で最大値である信号値を出力するMAX関数である。
第1の線型変換、および第1の非線型変換を施された入力データを、第1変換入力データ203と呼称する。第1変換入力データ203の各チャンネル成分は、入力データ201とフィルタ202それぞれのコンボリューションから生成される。そのため、第1変換入力データ203のチャンネル数は、フィルタ202の数と同じになる。
第2層では、第1変換入力データ203に対して、第1層と同様に学習情報から決定される複数のフィルタ204とのコンボリューション(第2の線型変換)と、活性化関数による非線型変換(第2の非線型変換)が行われる。第2層で使用されるフィルタ204は通常、第1層で使用されるフィルタ202と同一ではない。フィルタのサイズや数も一致しなくてもよい。ただし、フィルタ204のチャンネル数と第1変換入力データ203のチャンネル数は一致する。同様の演算を第N層まで繰り返すことで、中間データ210が得られる。最後に、第N+1層で中間データ210とフィルタ211のコンボリューションと定数の加算(第N+1の線型変換)から、入力データ201に対する第2の法線マップを推定した部分法線情報212が得られる。フィルタ211と定数も、学習情報から決定される。部分法線情報212のチャンネル数は、法線情報の表現方法によって異なり、第1の法線マップのチャンネル数に等しい。したがって、フィルタ211の数は部分法線情報212のチャンネル数と同じになる。部分法線情報212の各チャンネルの成分は、中間データ210とフィルタ211それぞれとのコンボリューションを含む演算から求められる。なお、入力データ201と部分法線情報212のサイズは一致しなくてよい。コンボリューション時、入力データ201の外側にはデータが存在しないため、データの存在する領域のみで演算すると、コンボリューション結果はサイズが小さくなる。ただし、周期境界条件などを設けることで、サイズを保つこともできる。なお、本実施例では、第mの線型変換(m=1~N+1)のそれぞれに関する各フィルタの係数は、全て異なっている。
ディープラーニングが高い性能を発揮できる理由は、非線型変換を多層構造によって何度も行うことで、高い非線型性が得られるためである。仮に、非線型変換を担う活性化関数が存在せず、線型変換のみでネットワークが構成されていた場合、いくら多層にしてもそれと等価な単層の線型変換が存在するため、多層構造にする意味がない。ディープラーニングは、より多層にする方が強い非線型を得られるため、高い性能が出やすいと言われている。一般に、少なくとも3層以上を有する場合がディープラーニングと呼ばれている。このように構成されたディープラーニングを用いることで、破綻部を低減した法線情報(第2の法線マップ)を推定できる。
ステップS104では、推定部102bは、撮影画像のうち既定の領域に対して、第2の法線マップの推定が完了したかどうかを判定する。既定の領域全てに対して、部分法線情報が生成されていれば、ステップS105に進む。そうでなければ、ステップS102に戻り、法線情報が推定されていない入力データを取得する。
ステップS105では、推定部102bは、第2の法線マップを出力する。第2の法線マップは、生成された部分法線情報を合成することで生成される。入力データが画像領域の全体である場合、部分法線情報をそのまま第2の法線マップとすればよい。
以上の処理によって、第1の法線マップから撮影画像を参照して第2の法線マップを推定することができる。
なお、第1の法線マップを取得する際に視差画像を用いなかった場合でも、視点の異なる複数の撮影画像を入力し、第2の法線マップを得るようにしてもよい。視点によっても光の反射角が変化することから被写体の反射特性の影響も変化する。同一の被写体に対して異なる光の反射を受けた撮影画像を複数入力することで、推定精度を向上することができる。
以下、図5を参照して、学習情報の学習について説明する。図5は、学習情報の学習を示すフローチャートである。学習は、第2の法線マップを推定する前であれば、学習部102aで行なってもよいし、撮像装置100とは別の演算装置で行なってもよい。本実施例では、学習部102aで学習を実行する場合について説明する。
ステップS201では、学習部102aは、一対以上の学習データを取得する。一対の学習データとは、第1の法線マップと撮影画像とを含む学習用入力データと、同一の被写体の第1の法線マップより高精度な学習用法線マップである。ここで、第1の法線マップは取得方法によって異なるものの、低解像度であったり取得方法ごとの苦手とする条件によって生じた破綻部(低精度または取得できていない部分)が存在したりする。本実施例では、第1の法線マップをより高精度な第2の法線マップに補正するための推定処理を行う。したがって、学習データにおいては第1の法線マップが破綻する条件や破綻による影響を推定時とそろえる必要がある。そのため、学習時に用いる第1の法線マップは推定時に用いる第1の法線マップと同様に取得したデータであり、学習時に用いる撮影画像は推定時に用いる撮影画像と枚数、撮影条件を対応させることが望ましい。学習データとして用いる高精度な法線情報(学習用法線マップ)として、第1の法線マップに比べて精度が高く破綻部のない法線情報を用いる必要がある。この法線情報の精度によって、推定される第2の法線マップの精度が変わる。
学習データとして用いる高精度な法線情報には、様々な形状、法線ベクトルを持つ被写体、および様々な反射特性の被写体が含まれていることが望ましい。例えば、学習データに光沢のある被写体がない場合、同様の反射特性を持つ被写体での第1の法線マップ、撮影画像、後述する参照データ、および第2の法線マップを用いた学習データが存在しない。そのため、同様の被写体に対する法線情報推定の効果が充分に得られない可能性がある。
学習データを用意する方法として、シミュレーションを利用してもよいし、実測した情報を使用してもよい。シミュレーションを行う場合、反射特性を付与した3Dモデルに対して、CGレンダリングを行うことで撮影画像に相当する画像を生成し、生成された画像から取得部102cと同等の取得方法に基づいて、第1の法線マップを取得すればよい。3Dモデルが既知のため、学習用法線マップは既知である。
実測した情報を使用する場合、形状が既知の被写体(法線情報が既知の被写体)を撮影し、取得部102cと同等の取得方法に基づいて第1の法線マップに相当する法線情報を取得すればよい。これにより、正確な法線情報を得られる。この場合も、学習用法線マップは既知である。
また、形状が未知の被写体に対しても、異なる方法を用いることで取得した法線情報(第2の法線マップ)を用いて、学習させてもよい。例として、レーザー測距によって形状を取得したり、構造化照明で照明した画像から形状を取得したり、鏡面反射の反射方向と光源の入射方向から形状を取得したり、接触式の計測機器で形状を取得したりする方法が挙げられる。被写体のサイズ、形状、および反射特性といった条件に応じて適切な取得方法を選択することで、一般の被写体に対して第1の法線マップよりも高精度に法線情報を取得することができる。
ここで、第1の法線マップの破綻しやすい条件について説明する。まず、照度差ステレオ法について説明する。照度差ステレオ法によって法線を取得する場合、異なる光源環境下で撮影した際の輝度の変化から法線方向が取得される。照度差ステレオ法として、一般の反射特性に対応したものもあるが、撮影枚数や計算負荷が増えるため、多くの場合はランバートモデルに従う拡散反射を仮定している。したがって、鏡面反射が観測される場合には誤った法線が取得される。また、入射光が遮蔽される影部や入射光が当たらない陰部、他の物体からの反射光が入射する相互反射による輝度の変化によっても法線が破綻しやすい。表面の粗い被写体や内部散乱の強い半透明体においてはランバートモデルから外れた反射特性を示し、光沢のある金属体やグラスのような透明体では拡散反射が観測されないため、これらの被写体においても法線が破綻しやすい。また、環境光が強い場合には、光源からの入射光による寄与が相対的に小さくなり、取得精度が低下する。シェイプフロムシェーディング法においてもランバートモデルが仮定されることが多く、同様の被写体で破綻が生じやすい。また、法線の連続的な変化を仮定した場合、細かい凹凸形状が反映されない場合がある。
距離マップから法線情報を取得する場合、遠近の被写体に対する境界部で距離が不連続的に変化すると誤った法線情報が推定される。法線情報は、距離情報の微分に相当するため、距離マップのノイズにも強く影響される。また、距離マップの取得方法によって距離マップ自体に破綻がある場合もあり、この場合も法線情報が破綻する。例えば、多視点画像から視点間の相関をもとに距離を取得する場合、視点ごとに見えの異なる鏡面反射体や透明体、オクルージョン、位置ごとに輝度変化の少ないテクスチャの少ない被写体や、周期的な構造を持つ被写体などによって距離が破綻しやすい。Time of flight法によって距離を取得する場合、光が返ってこない鏡面反射体や透明体で距離が取得できなかったり、低反射物体や外光の強い環境下でノイズによって取得精度が低下したりする。
ステップS202では、学習部102aは、学習データから複数の学習ペアを取得する。学習ペアは、学習用入力データと学習用部分法線情報とからなる。学習用入力データは、第1の法線マップと撮影画像から取得される。学習用入力データのサイズは、ステップS102で取得された入力データと同じである。学習用部分法線情報は、学習用法線マップから、領域の中心が学習用入力データと同じ被写体位置になるように取得される。学習用部分法線情報のサイズは、ステップS103で生成された部分法線情報と同じである。
ステップS203では、学習部102aは、複数の学習ペアから、学習情報を学習によって取得する。学習では、第2の法線マップの推定と同じネットワーク構造を使用する。本実施例では、図4のネットワーク構造に対して学習用入力データが入力され、その出力結果と学習用部分法線情報の誤差が算出される。法線情報の誤差は、各成分の差分をとってもよいし、学習用部分法線情報の法線ベクトルと出力結果の法線ベクトルの内積を1から引いた値としてもよい。誤差が最小化されるように、例えば、誤差逆伝播法(Backpropagation)などを用いて、第1層から第N+1層で用いる各フィルタの係数や加算する定数(学習情報)を更新、最適化する。各フィルタと定数の初期値は、例えば、乱数から決定すればよい。また、各層ごとに初期値を事前学習するAuto Encoderなどのプレトレーニングを行なってもよい。
学習ペアを全てネットワーク構造に入力し、それら全ての情報を使って学習情報を更新する方法をバッチ学習と呼ぶ。バッチ学習では、学習ペアの数が増えるにつれて、計算負荷が膨大になってしまう。また、学習情報の更新に1つの学習ペアのみを使用し、更新ごとに異なる学習ペアを使用する学習方法をオンライン学習と呼ぶ。オンライン学習では、学習ペアが増えても計算量は増大しないが、1つの学習ペアに存在するノイズの影響を大きく受けてしまう。そのため、これら2つの方法の中間に位置するミニバッチ法を用いて学習することが望ましい。ミニバッチ法では、全学習ペアの中からいくつかのペアを抽出し、それらを用いて学習情報の更新が行われる。次の更新では、異なる学習ペアを抽出して使用する。これを繰り返すことで、バッチ学習とオンライン学習の欠点を小さくすることができ、高い推定効果を得やすくなる。
ステップS204では、学習部102aは、学習された学習情報を出力する。本実施例では、出力された学習情報は記憶部103に記憶される。
以上の処理によって、反射特性や形状の制約がない一般的な被写体において、高精度に法線情報を推定可能な学習情報を学習することができる。
また、以上の処理に加えて、CNNの性能を向上させる工夫を併用してもよい。例えば、ロバスト性の向上のためネットワークの各層において、ドロップアウト(Dropout)やダウンサンプリングであるプーリング(pooling)を行なってもよい。
また、本実施例では、撮影画像の部分領域から入力データを取得したが、撮影画像に任意の画像処理を行った後の画像から取得してもよい。例えば、撮影画像から鏡面反射の影響を受けない拡散反射画像を生成し、拡散反射画像から入力データを取得してもよい。これにより、反射特性の異なる被写体においても鏡面反射を除いた成分に絞って学習および推定ができ、推定精度を向上することができる。
以上説明した構成により、反射特性や形状の制約がない一般的な被写体において、高精度に法線情報を推定することができる。
本実施例では、本発明の画像処理方法を画像処理システム500に適用した場合について説明する。図6は、画像処理システム500の外観図である。図7(a)は、画像処理システム500のブロック図である。
画像処理システム500は、撮影画像を得る撮像装置300、第2の法線マップを推定する画像処理装置301、および学習を行うサーバー305を有する。本実施例では、第2の法線マップを推定する際の参照データとして、第1の実施例で用いた撮影画像ではなく、ラベルマップ、信頼度マップ、または距離マップのうち少なくとも1つを用いる。これにより、高精度な法線情報の推定を可能とする。
撮像装置300の基本構成は、第2の法線マップの推定と学習情報の学習を行う画像処理部を除いて、実施例1の撮像装置100と同様である。撮像装置300で撮影された撮影画像は、画像処理装置301内の記憶部302に記憶される。画像処理装置301は、ネットワーク304と有線または無線で接続されており、同様にネットワーク304に接続されたサーバー305にアクセスする。サーバー305は、取得部311により取得された第1の法線マップ、および参照データから第2の法線マップを推定するための学習情報を学習する学習部307と、学習情報を記憶する記憶部306とを有する。推定部303は、記憶部306から学習情報を取得し、第2の法線マップを推定する。第2の法線マップは、表示装置308、記録媒体309、および出力装置310のうち少なくとも1つに出力される。第2の法線マップの代わりに、第2の法線マップに基づいて生成された画像(例えば、レンダリング画像)が出力されてもよい。
表示装置308は、例えば、液晶ディスプレイやプロジェクタなどである。ユーザーは、表示装置308を介して、処理途中の法線情報を確認しながら作業を行うことができる。記録媒体309は、例えば、半導体メモリ、ハードディスク、およびネットワーク上のサーバー等である。出力装置310は、例えば、プリンタなどである。画像処理装置301は、必要に応じて現像処理やその他の画像処理を行う機能を有していてよい。
以下、図8を参照して、画像処理装置301により実行される第2の法線マップの推定について説明する。図8は、第2の法線マップの推定処理を示すフローチャートである。
ステップS301では、推定部303は、記憶部302から撮影画像を取得する。
ステップS302では、推定部303は、第1の法線マップと参照データを取得する。第1の法線マップは、取得部311によってあらかじめ取得されている。参照データは、本実施例では、ラベルマップ、信頼度マップ、および距離マップのうち少なくとも1つである。なお、実施例1と同様に、撮影画像を参照データとして用いてもよい。第1の法線マップおよび距離マップは、実施例1で説明したによって取得すればよい。ラベルマップとは、被写体の特性に基づいて撮影画像の各領域をラベル付けした分布である。被写体の特性とは、例えば、透過・反射特性を指し、被写体の材質ごとにラベル付けをすることで、その被写体がどのような透過・反射特性を有しているかが分かる。また、鏡面反射領域、相互反射領域、または影領域など第1の法線マップを取得する際に破綻の原因となる領域を取得してラベル付けしてもよい。信頼度マップとは、第1の法線マップの各位置において、法線情報がどの程度信頼できるかを示した分布である。信頼度マップは、例えば、第1の法線マップが照度差ステレオ法により取得されている場合、第1の法線マップおよびランバートモデルから推測される輝度値と実際の輝度値との差分量などから生成することができる。
ステップS303では、推定部303は、参照データに基づいて、使用するネットワーク構造と学習情報、入力データのサイズ、および推定を実行する領域を決定する。本実施例では、推定部303は、図4を用いて説明したCNNを使用して法線情報を推定する。また、本実施例では、参照データに応じて個別に学習させた学習情報を用いるため、ネットワーク構造および入力データのサイズも学習時に使用したものと同じになる。取得した参照データに応じた学習情報を用いることで、より高精度に第2の法線マップを推定することができる。
参照データとしてラベルマップを用いる場合、第1の法線マップで破綻が生じやすい領域がその種類に応じてラベル付けされ、破綻が生じにくい領域についてもラベル付けされている。例えば、金属体や透明体など反射特性の異なる被写体ごとにラベル付けされている場合、被写体の種類ごとに学習した学習情報を使用する。これにより、より精度の高い推定が可能となる。使用するネットワーク構造と学習情報、および入力データのサイズは学習時の条件によって決まる。また、推定を実行する領域を破綻が生じやすい領域としてラベル付けされた領域に限ってもよく、これによって推定を高速に実行できる。
参照データとして信頼度マップを用いる場合、第1の法線マップで破綻が生じている可能性の度合いが信頼度によって表されている。そこで、例えば、信頼度が低いほど入力データのサイズを大きくすればよい。また、信頼度が高い領域を含むように入力データのサイズを決定してもよい。これにより、より精度の高い推定が可能となる。また、推定を実行する領域を信頼度が所定の閾値より低い領域に限ってもよく、これによって推定を高速に実行できる。
次に、参照データとして距離マップを用いる場合、距離によって第1の法線マップの取得精度が変わる場合がある。例えば、撮像装置300の光源を順次点灯して照度差ステレオ法によって法線を取得する場合、光源が撮像装置300に固定されているため、距離が遠いほど各光源を点灯して撮影した複数の撮影画像間で光源方向の差が小さくなり輝度の変化が出にくくなる。輝度の変化が出にくいほど法線取得精度が低下するため、距離マップが法線の信頼度に対応する。したがって、距離マップに応じて入力データのサイズを変えてもよい。また、距離マップが不連続に変化する点では、遠近の被写体の境界領域であり、距離マップから法線マップを取得する際に誤った法線を算出しやすい。したがって、境界領域では、境界領域のデータを用いて学習した学習情報を用いてもよいし、境界領域に限って推定を実行してもよい。
ネットワーク構造は、各層で使用するフィルタのサイズだけでなく、1つの層で使用されるフィルタの数や層数なども含む。
学習情報は参照データに応じて学習されており、対応した学習情報が使用される。これにより、より精度の高い推定が可能となる。
ステップS304では、推定部303は、第1の法線マップと参照データとから入力データを取得する。
ステップS305では、推定部303は、学習情報から部分法線情報を生成する。
ステップS306では、推定部303は、既定の領域を推定し終えたかどうかを判定する。既定の領域を推定し終えた場合、ステップS307に進み、そうでない場合、ステップS304に戻る。
ステップS307では、推定部303は、第2の法線マップを出力する。
なお、ステップ304をステップS302およびステップS303の前に実行してもよい。その場合、ステップS302およびステップS303では、ステップ304で取得した部分領域に対して第1の法線マップと参照データを取得して、対応する学習情報などを取得する。
以下、学習部307により実行される学習情報の学習に関して説明する。本実施例では、参照データごとに異なる学習情報を学習する。学習方法は、図5のフローチャートに従う。
まず、学習データをシミュレーション(CGレンダリング)によって生成する場合について説明する。例えば、所定の反射特性に設定して法線情報からレンダリング画像を生成し、レンダリング画像から第1の法線マップを取得することで、反射特性に対応した一対の学習データを得る。類似する複数の反射特性を1つのラベルとして対応付ける場合には、類似する反射特性それぞれにおいて学習データを得ることが望ましい。学習データに対してステップS201からS204を実行し、その後、異なる反射特性の被写体に対して同様の手順を繰り返す。信頼度マップや距離マップを参照データとして使用する場合も被写体領域の特性別に同様の手順で学習すればよい。
また、形状が既知の実被写体を用いて学習データを生成する場合について説明する。この場合、既知の形状を持つ被写体に対して推定時に用いる第1の法線マップおよび参照データを取得することで学習データを得る。被写体の距離によって学習情報を変える場合、被写体の距離を変えながら撮影画像、第1の法線マップ、および参照データを取得すればよい。被写体の反射特性が既知の場合、異なる反射特性の被写体に変えながら学習データを取得すればよい。厳密に反射特性が既知でなくとも、材質を変えながら学習データを取得すればよい。この場合、信頼度マップは事前に取得することが困難であるため、第1の法線マップと同時に信頼度マップを取得し、様々な信頼度の被写体空間について学習データを取得する必要がある。そして、同じ分類にあたる学習データごとにステップS201からS204を実行して学習情報を生成する。
なお、本実施例では、本発明を適用可能な画像処理システムの一例として図7(a)に示される画像処理システム500について説明したが、本発明はこれに限定されない。例えば、図7(b)に示されるように、サーバー401が図7(a)の画像処理装置301およびサーバー305の機能を有していてもよい。この場合、サーバー401は、撮像装置、スマートフォン、タブレット端末、およびパソコン(PC)などの画像出力装置から出力された撮影画像を、ネットワーク402を介して取得し、取得した撮影画像に対して本発明の画像処理方法を実行する。
以上説明した構成により、反射特性や形状の制約がない一般的な被写体において、高精度に法線情報を推定することができる。
(その他の実施例)
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
各実施例によれば、反射特性や形状の制約がない一般的な被写体において、精度よく法線情報を推定可能な画像処理装置、撮像装置、画像処理方法、画像処理プログラム、および、記憶媒体を提供することができる。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
201 入力データ
210 中間データ

Claims (19)

  1. 被写体空間の第1の法線マップと参照データとを入力データとして取得する第1工程と、
    あらかじめ学習された学習情報を取得する第2工程と、
    前記入力データと前記学習情報とに基づいて、第2の法線マップを推定する第3工程と、を有し、
    前記第1の法線マップは、照度差ステレオ法またはシェイプフロムシェーディング法を用いて取得された法線マップ、および距離マップを用いて取得された法線マップのいずれかであり、
    前記参照データは、前記被写体空間を撮影した撮影画像を含み、
    前記第3工程では、Nを2以上の整数、nを1からNまでの整数とした場合、前記入力データに対して、前記学習情報に基づく第nの線型変換、および第nの非線型変換を、nが1からNになるまで順に実行して中間データを生成する工程と、前記中間データに対して、前記学習情報に基づく第N+1の線型変換を実行する工程と、が実行されることで前記第2の法線マップが推定されることを特徴とする画像処理方法。
  2. 前記撮影画像は、前記被写体空間を異なる複数の光源環境下で撮影した複数の画像であることを特徴とする請求項1に記載の画像処理方法。
  3. 前記第1工程では、前記第1の法線マップの部分領域と前記参照データの部分領域とが前記入力データとして取得され、
    前記入力データは、前記複数の画像のそれぞれから抽出した同一位置の部分領域を含むことを特徴とする請求項2に記載の画像処理方法。
  4. 前記参照データは、被写体の特性に基づいて前記撮影画像の各領域をラベル付けしたラベルマップ、前記第1の法線マップに含まれる法線情報の信頼度を表す信頼度マップ、および距離マップのうち少なくとも1つを含むことを特徴とする請求項1から3のいずれか1項に記載の画像処理方法。
  5. 被写体空間の第1の法線マップと参照データとを入力データとして取得する第1工程と、
    あらかじめ学習された学習情報を取得する第2工程と、
    前記入力データと前記学習情報とに基づいて、第2の法線マップを推定する第3工程と、を有し、
    前記参照データは、被写体の特性に基づいて前記被写体空間を撮影した撮影画像の各領域をラベル付けしたラベルマップ、前記第1の法線マップに含まれる法線情報の信頼度を表す信頼度マップ、および距離マップのうち少なくとも1つを含み、
    前記第3工程では、Nを2以上の整数、nを1からNまでの整数とした場合、前記入力データに対して、前記学習情報に基づく第nの線型変換、および第nの非線型変換を、nが1からNになるまで順に実行して中間データを生成する工程と、前記中間データに対して、前記学習情報に基づく第N+1の線型変換を実行する工程と、が実行されることで前記第2の法線マップが推定されることを特徴とする画像処理方法。
  6. 前記第1工程では、前記第1の法線マップの部分領域と前記参照データの部分領域とが入力データとして取得され、
    前記部分領域は、前記ラベルマップ、前記信頼度マップ、および前記距離マップのうち少なくとも1つに基づいて抽出されることを特徴とする請求項4または5に記載の画像処理方法。
  7. 前記部分領域は、前記ラベルマップのうち前記第1の法線マップにおいて精度が低くなる被写体を表すラベルの領域、または前記信頼度マップの信頼度が低い領域であることを特徴とする請求項6に記載の画像処理方法。
  8. 前記学習情報は、前記被写体空間とは異なる被写体空間に関する第1の法線マップおよび参照データを含む学習用入力データと、前記学習用入力データに対応する第1の法線マップとは異なる学習用法線マップに基づいて学習された情報であり、
    前記学習用入力データは、前記第1の法線マップにおいて精度が低くなる被写体を含むことを特徴とする請求項1から7のいずれか1項に記載の画像処理方法。
  9. 前記学習用入力データは、鏡面反射する被写体、表面の粗い被写体、金属体、透明体および半透明体のうち少なくとも1つを含むことを特徴とする請求項8に記載の画像処理方法。
  10. 前記線型変換に対応する前記学習情報は、前記参照データに基づいて決定されることを特徴とする請求項1から9のいずれか1項に記載の画像処理方法。
  11. 前記線型変換に用いられるフィルタのサイズは、前記参照データに基づいて決定されることを特徴とする請求項10に記載の画像処理方法。
  12. 前記第1の法線マップは、照度差ステレオ法またはシェイプフロムシェーディング法に基づいて取得された法線マップであることを特徴とする請求項1から11のいずれか1項に記載の画像処理方法。
  13. 被写体空間の第1の法線マップと参照データとを入力データとして取得するとともに、あらかじめ学習された学習情報を取得する取得部と、
    前記入力データと前記学習情報とに基づいて、第2の法線マップを推定する推定部と、を有し、
    前記第1の法線マップは、照度差ステレオ法またはシェイプフロムシェーディング法を用いて取得された法線マップ、および距離マップを用いて取得された法線マップのいずれかであり、
    前記参照データは、前記被写体空間を撮影した撮影画像を含み、
    前記推定部は、Nを2以上の整数、nを1からNまでの整数とした場合、前記入力データに対して、前記学習情報に基づく第nの線型変換、および第nの非線型変換を、nが1からNになるまで順に実行して中間データを生成する工程と、前記中間データに対して、前記学習情報に基づく第N+1の線型変換を実行する工程と、を実行することで前記第2の法線マップを推定することを特徴とする画像処理装置。
  14. 被写体空間の第1の法線マップと参照データとを入力データとして取得するとともに、あらかじめ学習された学習情報を取得する取得部と、
    前記入力データと前記学習情報とに基づいて、第2の法線マップを推定する推定部と、を有し、
    前記参照データは、被写体の特性に基づいて前記被写体空間を撮影した撮影画像の各領域をラベル付けしたラベルマップ、前記第1の法線マップに含まれる法線情報の信頼度を表す信頼度マップ、および距離マップのうち少なくとも1つを含み、
    前記推定部は、Nを2以上の整数、nを1からNまでの整数とした場合、前記入力データに対して、前記学習情報に基づく第nの線型変換、および第nの非線型変換を、nが1からNになるまで順に実行して中間データを生成する工程と、前記中間データに対して、前記学習情報に基づく第N+1の線型変換を実行する工程と、を実行することで前記第2の法線マップを推定することを特徴とする画像処理装置。
  15. 前記学習情報を記憶する記憶部を更に有することを特徴とする請求項13または14に記載の画像処理装置。
  16. 請求項13から15のいずれか1項に記載の画像処理装置と、
    被写体空間を撮影した撮影画像を前記画像処理装置に出力する画像出力装置と、を有することを特徴とする画像処理システム。
  17. 被写体空間の像を撮影画像として取得する撮像部と、
    前記撮影画像に対して請求項1から12のいずれか1項に記載の画像処理方法を実行する画像処理部と、を有することを特徴とする撮像装置。
  18. 請求項1から12のいずれか1項に記載の画像処理方法をコンピュータに実行させるためのプログラム。
  19. 請求項18に記載のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
JP2019010512A 2019-01-24 2019-01-24 画像処理方法、画像処理装置、画像処理システム、撮像装置、プログラム、および、記憶媒体 Active JP7246943B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019010512A JP7246943B2 (ja) 2019-01-24 2019-01-24 画像処理方法、画像処理装置、画像処理システム、撮像装置、プログラム、および、記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019010512A JP7246943B2 (ja) 2019-01-24 2019-01-24 画像処理方法、画像処理装置、画像処理システム、撮像装置、プログラム、および、記憶媒体

Publications (2)

Publication Number Publication Date
JP2020119333A JP2020119333A (ja) 2020-08-06
JP7246943B2 true JP7246943B2 (ja) 2023-03-28

Family

ID=71890902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019010512A Active JP7246943B2 (ja) 2019-01-24 2019-01-24 画像処理方法、画像処理装置、画像処理システム、撮像装置、プログラム、および、記憶媒体

Country Status (1)

Country Link
JP (1) JP7246943B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022124026A1 (ja) * 2020-12-08 2022-06-16 ソニーグループ株式会社 学習済モデルの生成方法および情報処理装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017102637A (ja) 2015-12-01 2017-06-08 キヤノン株式会社 処理装置、処理システム、撮像装置、処理方法、プログラム、および記録媒体

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6198312B2 (ja) * 2013-09-30 2017-09-20 Jukiオートメーションシステムズ株式会社 3次元測定装置、3次元測定方法および基板の製造方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017102637A (ja) 2015-12-01 2017-06-08 キヤノン株式会社 処理装置、処理システム、撮像装置、処理方法、プログラム、および記録媒体

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
David Eigen, 外1名,"Predicting Depth, Surface Normals and Semantic Labels with a Common Multi-scale Convolutional Architecture",2015 IEEE International Conference on Computer Vision (ICCV),米国,IEEE,2015年12月13日,p.2650-2658
Xiaojuan Qi, 外4名,"GeoNet: Geometric Neural Network for Joint Depth and Surface Normal Estimation",2018 IEEE/CVF Conference on COmputer Vision and Pattern Recognition,米国,IEEE,2018年06月23日,p.283-291
福谷俊行, 外2名,"物体の明度と法線ベクトルの関係学習による3次元形状復元",情報処理学会研究報告,日本,社団法人情報処理学会,2008年03月10日,第2008巻, 第27号,p.549-556

Also Published As

Publication number Publication date
JP2020119333A (ja) 2020-08-06

Similar Documents

Publication Publication Date Title
JP7282810B2 (ja) 視線追跡方法およびシステム
CN110799991B (zh) 用于使用卷积图像变换执行同时定位和映射的方法和系统
US10008005B2 (en) Measurement system and method for measuring multi-dimensions
US20190050681A1 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
US11663691B2 (en) Method and apparatus for restoring image
US7711182B2 (en) Method and system for sensing 3D shapes of objects with specular and hybrid specular-diffuse surfaces
US9344690B2 (en) Image demosaicing
CN110969670B (zh) 基于显著特征的多光谱相机动态立体标定方法
US20220375045A1 (en) Learning-Based Lens Flare Removal
JPH10124658A (ja) 神経回路網を利用したカメラの映像歪補正方法
JP2014178265A (ja) 校正装置、方法及びプログラム
CN113689578B (zh) 一种人体数据集生成方法及装置
CN107240126B (zh) 阵列图像的校准方法
JP2020197774A (ja) 画像処理方法、画像処理装置、撮像装置、画像処理プログラム、および、記憶媒体
CN113643414A (zh) 一种三维图像生成方法、装置、电子设备及存储介质
JP7246943B2 (ja) 画像処理方法、画像処理装置、画像処理システム、撮像装置、プログラム、および、記憶媒体
JP2019074777A (ja) 画像処理方法、画像処理装置、および撮像装置
US11790550B2 (en) Learnable cost volume for determining pixel correspondence
JP2017134561A (ja) 画像処理装置、撮像装置および画像処理プログラム
JP7286268B2 (ja) 画像処理方法、画像処理装置、撮像装置、画像処理プログラム、および、記憶媒体
JP7146461B2 (ja) 画像処理方法、画像処理装置、撮像装置、プログラム、および、記憶媒体
JP6822086B2 (ja) シミュレーション装置、シミュレーション方法およびシミュレーションプログラム
US11636578B1 (en) Partial image completion
CN112330726B (zh) 一种图像处理方法及装置
CN110619677A (zh) 三维流场内粒子重构方法及装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230117

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: 20230214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230315

R151 Written notification of patent or utility model registration

Ref document number: 7246943

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151