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

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

Info

Publication number
JP2016119041A
JP2016119041A JP2015112829A JP2015112829A JP2016119041A JP 2016119041 A JP2016119041 A JP 2016119041A JP 2015112829 A JP2015112829 A JP 2015112829A JP 2015112829 A JP2015112829 A JP 2015112829A JP 2016119041 A JP2016119041 A JP 2016119041A
Authority
JP
Japan
Prior art keywords
pixel
data
plane
respect
pixels
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.)
Pending
Application number
JP2015112829A
Other languages
English (en)
Inventor
紘之 長野
Hiroyuki Nagano
紘之 長野
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2016119041A publication Critical patent/JP2016119041A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

【課題】 欠損画素の補間精度を向上させることができるシステムや方法を提供する。【解決手段】 このシステムは、コンピュータグラフィックスにおける三次元形状の物体を二次元平面に展開したデータに画素を割り当てる画素割当部31と、そのデータにおいて画素が割り当てられていない欠損画素であるか否かを判断する判断部32と、欠損画素の周辺に存在する複数の周辺画素の各々を含む各平面または各接平面に対する法線方向の基準線に対する角度と、欠損画素を含む平面または接平面に対する法線方向の基準線に対する角度との角度差に基づき、複数の周辺画像のうちの少なくとも2つの周辺画素を選択する画素選択部33と、選択された少なくとも2つの周辺画素に基づき、欠損画素のデータ補間を行うデータ補間部34とを含む。【選択図】 図5

Description

本発明は、コンピュータグラフィックス分野における三次元形状の物体の表面に着色や画像を貼り付ける画像処理システム、画像処理装置、画像処理方法、その方法をコンピュータに実行させるためのプログラムおよび記録媒体に関する。
コンピュータグラフィックスの分野では、テクスチャマッピングと呼ばれる、三次元形状の物体の表面に着色や画像を貼り付けて質感を与える手法が用いられている。この手法では、一般的に、三次元形状の物体を二次元平面に展開し、展開した展開図に対して着色や画像の貼り付けを行っている。
三次元形状の物体は、光の当たる角度や観測する角度によって表面での反射特性が異なり、その見え方が変わってくる。そこで、物体表面の反射特性を表す双方向反射率分布関数(BRDF)や双方向テクスチャ関数(BTF)を用いて、三次元形状の物体の見え方を忠実に再現する方法が提案されている(例えば、特許文献1参照)。
このBRDFやBTFを用いて描画する場合でも、三次元形状の物体を二次元平面に展開してから処理するのが一般的である。この二次元平面に展開する際、形状に歪みが生じる。すると、この歪みの影響により、画素が割り当てられていない欠損箇所、すなわち欠損画素が発生する。また、展開された二次元平面と貼り付ける画像の解像度が違う場合も欠損画素が発生する。
展開された二次元平面に画像を貼り付けた後に発生するこのような欠損画素に対し、欠損画素の周辺に割り当てられた周辺画素を用いて、欠損画素のデータ補間を行うことができる。
しかしながら、三次元形状における角部等に欠損画素があると、角部等によって反射特性が大きく変化した周辺画素も使用してデータ補間が行われるため、その補間精度が低くなるという問題があった。
そこで、本発明では、欠損画素の補間精度を向上させることを目的としている。
本発明は、上記課題に鑑みなされたものであり、コンピュータグラフィックスにおける三次元形状の物体を二次元平面に展開したデータに画素を割り当てる画素割当部と、そのデータにおいて画素が割り当てられていない欠損画素であるか否かを判断する判断部と、判断部によって判断された欠損画素の周辺に存在する複数の周辺画素の各々を含む各平面または各接平面に対する法線方向の基準線に対する角度と、欠損画素を含む平面または接平面に対する法線方向の基準線に対する角度との角度差に基づき、複数の周辺画像のうちの少なくとも2つの周辺画素を選択する画素選択部と、その画素選択部により選択された少なくとも2つの周辺画素に基づき、欠損画素のデータ補間を行うデータ補間部とを含む、画像処理システムが提供される。
本発明によれば、欠損画素のデータ補間精度を向上させることができる。
本実施形態の画像処理装置の構成例を示した図。 三次元形状の物体の例を示した斜視図。 三次元形状の物体を二次元平面に展開した展開図。 三次元形状の物体で見た欠損画素と周辺画素との位置関係を示した図。 画像処理装置の第1の実施形態を示した機能ブロック図。 画像処理装置が行う欠損画素のデータ補間処理の第1の実施形態を示したフローチャート。 欠損画素を含む平面に垂直な法線と、周辺画素を含む平面に垂直な法線とにより形成される角度について説明する図。 球体に一方向から平行な光を照射した場合のイメージ図。 球体の地点Aを拡大して示した図。 球体の地点Aを中心として平面に展開し、拡大して示した図。 画像処理装置の第2の実施形態を示した機能ブロック図。 画像処理装置が行う欠損画素のデータ補間処理の第2の実施形態を示したフローチャート。 画像の法線と光が画素へ入射する方向の角度差について説明する図。 鏡面反射について説明する図。 画像処理装置が行う欠損画素のデータ補間処理の第3の実施形態を示したフローチャート。
図1は、本実施形態の画像処理装置の構成例を示した図である。画像処理装置10は、コンピュータグラフィックス分野における三次元形状の物体の表面に着色したり、画像を貼り付けたりして質感を与えるテクスチャマッピングを実施することができる装置である。この画像処理装置10は、ハードウェアとして、CPU11、ROM12、RAM13、HDD14、入出力I/F15、表示装置16、入力装置17を含んで構成される。CPU11、ROM12、RAM13、HDD14および入出力I/F15は、バス18に接続され、バス18を介して互いに情報のやりとりを行う。表示装置16および入力装置17は、入出力I/F15に接続され、入出力I/F15を介してCPU11等と情報のやりとりを行う。
CPU11は、画像処理装置10全体の制御を行う。ROM12は、読み出し専用の不揮発性メモリであり、ブートプログラムやファームウェア等を格納する。ブートプログラムは、画像処理装置10を起動させるためのプログラムであり、ファームウェアは、HDD14等のハードウェアを制御するためのプログラムである。RAM13は、データを高速に読み書きすることが可能な揮発性メモリで、CPU11がデータを処理する際の作業領域として使用される。HDD14は、データの読み書きが可能な不揮発性の記憶媒体で、OSや各種の制御プログラム、アプリケーションプログラム等を格納する。アプリケーションプログラムには、上記のテクスチャマッピングを実施するためのプログラムも含まれる。
入出力I/F15は、バス18と表示装置16および入力装置17とを接続し、CPU11等と表示装置16や入力装置17との間で行われる情報のやりとりを制御する。ここでは、画像処理装置10が入出力I/F15のみを備える構成を例示しているが、外部記憶装置と接続するための外部記憶I/Fや、ネットワークと接続するためのネットワークI/F等を備えていてもよい。表示装置16は、ユーザが画像処理装置10の状態を確認したり、処理内容を表示したりするための視覚的ユーザインタフェースである。
表示装置16としては、CRT(Cathode Ray Tube)や液晶ディスプレイ(LCD)等を用いることができる。入力装置17は、ユーザが画像処理装置10に対してデータの入力を行うユーザインタフェースであり、キーボードやマウス等を用いることができる。なお、表示装置16および入力装置17の両方の機能を備えるタッチパネルを用いることも可能である。入力装置17は、データを音声にて入力する装置であってもよく、マイク等の音声入力装置を用いることもできる。
画像処理装置10は、これらのハードウェアを備える装置であればいかなる装置であってもよい。画像処理装置10としては、例えば、PC、サーバ、スマートフォン、タブレット端末、MFP(Multi-Function Peripheral)、プロジェクタ、電子黒板、デジタルカメラ、ビデオカメラ、テレビ、ゲーム機等を用いることができる。
なお、テクスチャマッピングを実施することができれば、1つの機器に限定されるものではなく、2以上の機器から構成されていてもよい。2以上の機器により構成する場合、1つの機器の場合も含めて、画像処理システムとして提供することができる。それら2以上の機器は、直接ケーブル等で接続されていてもよいし、ネットワークを介して接続されていてもよい。ネットワークは、有線、無線のいずれのネットワークであってもよく、2以上のネットワークを介して接続されていてもよい。また、画像処理装置10は、PC等の機器に限られるものではなく、ICチップ等の電子回路であってもよく、2以上の電子回路から構成されていてもよい。
テクスチャマッピングは、コンピュータグラフィックスにおける三次元形状の物体の表面に着色や画像を貼り付けて質感を与える手法で、例えば、二次元の写真データをマッピングすることにより画像を貼り付ける。具体的には、三次元形状の物体を二次元平面に展開し、その展開したデータである展開図を作成する。その展開図に、二次元の写真データをマッピングする。三次元形状の物体を二次元平面に展開する方法としては、これまでに知られたいかなる方法でも使用することができる。例えば、二次元平面展開アルゴリズムを使用することができる。二次元平面展開アルゴリズムとしては、三次元形状の物体の三次元メッシュに切れ目を入れ、二次元平面に展開するLSCM(Least Square Conformal Map)やABF(Angle Based Flattening)++等を使用することができる。なお、これらの展開アルゴリズムを使用することで、二次元平面に展開する際の形状の歪みを少なくすることができる。
展開図への写真データのマッピングは、展開図の二次元座標と、写真データの二次元座標とを対応させ、展開図の二次元座標に対応する写真データの二次元座標にある画素を割り当てることにより行われる。展開図に割り当てるデータは、これに限られるものではないが、上記のBRDFやBTFにより算出される反射特性データやRGB画像データ等とすることができる。マッピング後においては、二次元平面への展開時に歪みが生じ、また、展開図と写真とが同じ解像度とは限らないことから、画素が割り当てられていない欠損画素が発生する。
地球という三次元形状の物体を例に挙げて説明すると、角度を保ち、二次元平面へ展開する場合、メルカトル図法で見られるように、高緯度ほど実際の面積より大きくなる。面積を正しく表現しようとすると、モルワイデ図法で見られるように、高緯度ほど形がゆがむ。また、中心からの距離や方位を正しく表現しようとすると、正距方位図法で見られるように、中心からの距離が遠い部分ほど形のゆがみが大きくなる。このように、三次元形状の物体を二次元平面に展開する際、形、面積、角度等をすべて正確に表すことができないため、形状に歪みが生じる。
このように形状に歪みが生じると、展開図の二次元座標と写真データの二次元座標のすべてを対応させ、すべての写真データの画素を割り当てることはできない。このため、割り当てる画素がない座標の部分が欠損画素として発生することになる。
写真撮影において撮影する角度が変わると、見える部分と隠れる部分、形、面積等が変わってくる。それが歪みとなって現れ、展開図の二次元座標と写真データの二次元座標とが対応しない部分が発生する。この部分も欠損画素となることから、写真撮影の角度による歪みも、欠損画素が発生する要因となる。なお、これらは、欠損画素が発生する一例を挙げたものである。
このようにして発生した欠損画素に対してデータ補間を行う方法について、図2〜図4を参照して説明する。図2は、三次元形状の物体の一例としての立方体の斜視図である。この例では、立方体の6つの面のうち、上面1、側面3、4が見えている。図3は、図2に示す立方体を二次元平面に展開した展開図である。展開図に付した番号は、図2に示す立方体の各面に付した番号に対応している。
例えば、図3に示す面3の角部に黒く塗り潰された欠損画素20があるものとする。従来の単純なデータ補間方法であれば、欠損画素20に隣接する斜線で示す4つの隣接画素21〜24に割り当てられたデータを用いてデータ補間を行う。欠損画素20と4つの隣接画素21〜24の三次元形状に戻した場合の位置関係を、図4に示す。
隣接画素22〜24は、欠損画素20と同じ面3上に存在するが、隣接画素21は、欠損画素20とは異なる面1上に存在している。面が異なると、物体によっては表面の色や材質が大きく違い、同じ色や材質であっても光の当たり方で、見え方が大きく異なる場合がある。この場合、隣接画素21は、隣接画素22〜24とは大きく異なるデータが割り当てられることになる。このように大きく異なるデータを使用してデータ補間を行うと、想定される結果とは大きく異なり、その補間精度が低くなってしまう。
このため、異なる面上にある画素は、隣接画素であっても採用しないようにすることができれば、補間精度を向上させることができる。そこで、欠損画素20を含む平面、欠損画素20の周辺に存在する複数の周辺画素の各々を含む各平面に対する法線方向の基準線に対する角度を用い、その角度差に基づき、補間に使用する周辺画素を選択するようにする。そして、選択した周辺画素に基づき、欠損画素20のデータ補間を行うようにする。これにより、適切な周辺画素のみを使用してデータ補間を行うことができ、その補間精度を向上させることができる。
図3に示す例では、隣接画素22〜24を含む平面と欠損画素20を含む平面は同じ平面で、それらの法線は平行である。このため、基準線に対する隣接画素22〜24の法線方向の角度も、欠損画素20の法線方向の角度も同じ角度で、その角度差は、0°である。一方、隣接画素21の法線方向の角度は、欠損画素20の法線方向の角度と90°異なっている。この90°異なり、補間精度を低下させる隣接画素を採用しないようにするため、例えばその間の角度を閾値として設け、その閾値以下である場合にその隣接画素を選択するように設定する。これにより、隣接画素22〜24のみを選択し、隣接画素22〜24を使用してデータ補間を行うことができる。
これを実現するための画像処理装置10の機能ブロック図を、図5に例示する。画像処理装置10に入力されるデータは、コンピュータグラフィックスにおける三次元物体の形状データである三次元形状データと、貼り付ける写真の写真データと、三次元形状データと写真データの座標対応マップの3種類である。三次元形状データは、三次元形状を表現するための頂点、辺、法線の情報からなり、例えばobjファイルフォーマット形式のデータとすることができる。このフォーマットは、多くの三次元モデリング、レンダリングソフトウェアに対応した形式である。これは一例であり、その他のフォーマット形式のデータであってもよい。
写真データは、三次元形状の物体を撮影して得られたデータで、例えばjpegフォーマット形式のデータとすることができる。このデータも、このjpegフォーマット形式に限定されるものではなく、その他のフォーマット形式のデータであってもよい。また、写真データは、一枚のデータであってもよいし、様々な方向から撮影した複数枚のデータであってもよい。
座標対応マップは、三次元形状データにおいて三次元形状を表す頂点の座標(XYZ座標)と、写真データにおいて写真内の任意の位置の座標(xy座標)との対応を示すマップである。このマップは、展開図に写真データをマッピングする際に使用される。ここでは、マップとしての例を挙げたが、これに限られるものではなく、XYZ座標とxy座標との関係を列挙した情報であってもよいし、座標変換行列等であってもよい。
画像処理装置10は、三次元形状データと、座標対応マップとを受け付け、三次元形状の物体を二次元平面に展開する二次元平面展開処理部30を備える。二次元平面展開処理部30は、上記のLSCM展開アルゴリズムやABF++展開アルゴリズムを使用して展開を行う。二次元平面展開処理部30は、展開した展開図と、座標対応マップとを出力する。
画像処理装置10は、画素割当部31を備え、二次元平面展開処理部30から出力された展開図および座標対応マップと、入力された写真データとを受け付ける。画素割当部31は、座標対応マップを使用して、展開図に写真データの各画素を割り当て、写真データの各画素が割り当てられた展開図を出力する。画素割当部31は、展開図の二次元座標と、写真データの二次元座標とを対応させ、展開図の二次元座標に対応する写真データの二次元座標にある画素を割り当てる。
画像処理装置10は、判断部32を備え、入力された三次元形状データと、二次元平面展開処理部30から出力された座標対応マップと、画素割当部31から出力された写真データが割り当てられた展開図とを受け付ける。判断部32は、受け付けた展開図から欠損画素20であるか否かを判断し、欠損画素20を検出する。
画像処理装置10は、画素選択部33を備え、三次元形状データおよび座標対応マップを参照して、検出した欠損画素20の周辺に存在する複数の周辺画素のうちの少なくとも2つの周辺画素を選択する。欠損画素20に隣接する隣接画素を選択することが望ましいが、欠損画素20が2以上連続している場合、その欠損画素20に隣接する隣接画素も欠損画素となるので、割り当てられたデータをもつ周辺画素を選択するようにしている。
画素選択部33は、まず、三次元形状データおよび座標対応マップを使用して複数の周辺画素の法線の情報を取得し、各周辺画素の法線方向の基準線に対する角度と、欠損画素20の法線方向の基準線に対する角度とを算出する。基準線は、例えば、欠損画素20の法線方向と平行な線を用いることができる。基準線が欠損画素20の法線方向と平行な線である場合、欠損画素20の法線方向の角度は0°となる。また、周辺画素の法線方向も、基準線と平行であれば、その角度は0°となる。10°ほど傾いていれば、その角度は10°となる。画素選択部33は、それらの角度を比較し、角度差を求める。そして、画素選択部33は、求めた角度差が予め設定された閾値以下であるかどうかを判断し、その閾値以下の周辺画素を選択する。
欠損画素20、各周辺画素の法線は、その欠損画素20および各周辺画素が平面上にあれば、欠損画素を含む平面に垂直な線、各周辺画素を含む各平面に垂直な線である。これに対し、欠損画素20、各周辺画素が曲面上にある場合は、欠損画素20における接平面、各周辺画素における各接平面に垂直な線である。
周辺画素は、欠損画素20に隣接する隣接画素のほか、その隣接画素のさらに隣の画素であってもよいし、そのさらに隣の画素であってもよい。しかしながら、欠損画素20からあまり離れ過ぎると、補間精度が低下するため、画素選択部33は、欠損画素20からの距離も考慮して、複数の周辺画素のうちの少なくとも2つの周辺画素を選択することができる。この距離は、写真データが割り当てられた展開図から算出することができ、この距離にも閾値を設け、閾値以下の周辺画素を選択することができる。画素選択部33は、周辺画素を選択した後、その情報と、写真データが割り当てられた展開図とを出力する。
画像処理装置10は、データ補間部34を備え、画素選択部33から出力された情報と、写真データが割り当てられた展開図とを受け付ける。データ補間部34は、画素選択部33が出力した情報に含まれる周辺画素の情報と、写真データが割り当てられた展開図とを参照し、その周辺画素に割り当てられたデータを用いてデータ補間を行う。
データ補間方法は、例えば、周辺画素として欠損画素20に隣接する隣接画素22〜24のデータを平均し、その平均値で補間する方法や、周辺画素の距離に応じて重み付けした平均値で補間する方法等を用いることができる。これらの方法は一例であり、適切にデータ補間を行うことができれば、その他のいかなる方法でも採用することができる。
データ補間部34は、すべての欠損画素20につき、画素選択部33が選択した周辺画素を用い、データ補間を行う。そして、データ補間部34は、すべての欠損画素20がデータ補間された展開図を出力する。
欠損画素20がデータ補間された展開図は、二次元平面に展開されたのと反対の操作により三次元形状へと戻され、これにより、テクスチャマッピングが終了する。
画像処理装置10により実施される欠損画素のデータ補間処理の詳細について、図6を参照して説明する。ステップ600からこの処理を開始し、ステップ605では、写真データが貼り付けられた展開図の画素を1つずつ参照し、それが欠損画素20かどうかを判断する。欠損画素20かどうかは、例えば、写真データを割り当てる際、初期値を0に設定しておくことで、写真データが割り当てられた画素は、0以外の数字となるので、その画素が0かどうかにより判断することができる。これ以外に、写真データが割り当てられたか否かの情報を別途持ち、その情報により判断することも可能である。なお、これらは一例であり、欠損画素20かどうかを判断できれば、いかなる方法でも採用することができる。
ステップ605において欠損画素20である場合は、ステップ610へ進み、欠損画素20でない場合は、ステップ640へ進む。ステップ610では、三次元形状データの法線情報と、欠損画素20の二次元平面座標と、座標対応マップとから欠損画素20の法線情報を取得する。具体的には、まず、欠損画素20の二次元平面座標と、座標対応マップとを用い、三次元形状のどこの位置に対応するかを特定する。そして、三次元形状データの特定した位置における法線情報を三次元形状データから取得する。
ステップ615では、欠損画素20に隣接する隣接画素についても同様の方法により法線情報を取得する。ここでは、周辺画素として隣接画素を採用するものとして説明する。隣接画素は、欠損画素20に隣接する上下左右の4つの画素とすることができる。また、隣接画素は、上記の4つに限らず、その斜め方向に隣接する4つの画素を含め、計8つの画素を隣接画素とすることも可能である。ステップ620では、取得した欠損画素20の法線と取得した隣接画素の法線の所定の基準線に対する角度を算出する。そして、それらの角度差が閾値以下かどうかを判断する。
ここで、欠損画素20とそれに隣接する隣接画素の法線の角度について、図7を参照してさらに詳細に説明する。データ補間を行う際、隣接画素を使用するが、その隣接画素がある場所が問題となる。表面形状が広く平らな面をもち、欠損画素20も、隣接画素も同じ面上にある場合、それらの法線は、平行になる。同じ面では、欠損画素20においても、隣接画素においても、光の入射角度および反射角度が同じであるため、反射率等の反射特性は同じと考えられる。
図7(a)に示すように、欠損画素を含む面40に対する法線41と、隣接画素を含む面42に対する法線43とが平行ではない場合、法線41と法線43とが一点で交わり、これが角度差θとなる。このような場合、各面で反射特性が変わる。しかしながら、角度差θが小さい場合、欠損画素20と隣接画素において反射特性の相違は小さい。これに対し、図7(b)に示すように、その角度差θが約90°といったように大きい場合、面40と面42は異なる方向に向いており、欠損画素20と隣接画素における反射特性の相違は大きくなる。
反射特性の相違が小さくても、相違があることに変わりないことから、その角度差が0°より大きい場合は、その隣接画素をデータ補間用の周辺画素として採用しないようにすることができる。しかしながら、三次元物体を構成する面は、広く平らな面とは限らず、曲面である場合も多い。曲面は、法線方向が少しずつ変わる画素の連結により構築されるので、どの隣接画素との間でも、上記角度差は0°にはならない。すると、いずれの隣接画素も採用することができず、データ補間を行うことができなくなってしまう。
そこで、一定の閾値を設け、その閾値以下の角度差であれば、その隣接画素を採用することができるようにすることができる。閾値は、いかなる角度差であってもよいが、反射特性にほとんど影響が出ない範囲、例えば3°以内等とすることができる。ここでは3°を例示したが、これに限られるものではなく、2°や5°、10°等であってもよい。閾値は、事前に固定値として設定しておくこともできるし、三次元物体の形状や材質等からユーザが任意に設定することもできる。
再び図6を参照して、ステップ625では、閾値以下と判断された隣接画素を、データ補間用の隣接画素として登録する。登録は、例えばRAM13にその隣接画素の情報を記憶することにより行われる。ステップ630では、その隣接画素が最後の隣接画素かを判断する。最後でない場合、ステップ615へ戻り、まだ角度差が閾値以下であるかを判断していない隣接画素の法線情報を取得する。最後である場合は、ステップ635へ進み、閾値以下と判断された隣接画素のデータのみを使用し、欠損画素20に割り当てるデータをデータ補間して算出する。そして、その算出したデータを欠損画素20に割り当てる。
ステップ640では、すべての画素につき、欠損画素20か否かを判断し、欠損画素20である場合にデータ補間を行ったかどうかを判断する。すなわち、データ補間を行った画素あるいは欠損画素20かどうかを判断し、欠損画素20でないと判断された画素が最終の画素かどうかを判断する。最終でない場合は、ステップ605へ戻り、次の画素につき、欠損画素20かどうかを判断する。これに対し、最終である場合は、ステップ645へ進み、データ補間処理を終了する。
これまでの例では、2つの法線の所定の基準線に対する角度の角度差が閾値以下かどうかを判断し、それに応じてデータ補間用の周辺画素として採用するかどうかを判断した。しかしながら、それのみでは、欠損画素20と隣接画素との間で色が切り替わる場合や、その間が異なる材質のつなぎ目である場合、角度差が閾値以下であっても、その隣接画素を使用すると、補間精度が低下してしまう。そこで、角度差に加え、欠損画素20と隣接画素との画素値の差にも閾値を設け、一定の閾値を超える場合、その隣接画素は採用しないようにすることができる。
したがって、図5に示す画素選択部33は、欠損画素20の画素値と周辺画素の画素値との差が予め設定された閾値以下であるかどうかを判断し、角度差が閾値以下であることに加え、画素値の差が閾値以下の周辺画素を選択する。欠損画素20の画素値および周辺画素の画素値は、座標対応マップおよび写真データが割り当てられた展開図を用い、三次元形状データから取得することができる。この閾値も、事前に固定値として設定しておくこともできるし、三次元物体の形状や材質等からユーザが任意に設定することもできる。
以上に説明してきたように、補間精度が低下する不適切な周辺画素は採用せず、適切な周辺画素のみを使用してデータ補間を行うことで、欠損画素20のデータ補間精度を向上させることができる。
これまでに説明してきたデータ補間では、光源の状態によっては補間精度を向上させることができない場合がある。その例を、図8〜図10を参照して説明する。図8は、三次元形状の物体(三次元物体)の一例である球体に一方向から平行な光を照射した場合のイメージ図である。図8に示す球体50の頂部の地点A、手前側の側部中央の地点B、底部の地点C、地点Bの裏側の側部中央の地点Fを結んで出来る円を境界とし、光源51がない側(光源反対側)は影になり、光源反対側の面には光が照射されない。
図9は、図8に示す球体50の地点Aを拡大して示した図である。球体50も、最小構成のサイズまで拡大すると、図9に示すような微小な角度差をもった線から構成される。このため、地点Aを中心として光源反対側が欠損画素52であった場合、それに隣接する光源側の画素が周辺画素53となる。上記で説明した閾値で判断すると、欠損画素52と周辺画素53の所定の基準線に対する法線の角度差は閾値より小さいため、その周辺画素53は選択されることになる。ちなみに、この角度差は、所定の基準線を欠損画素52の法線もしくは周辺画素53の法線とすれば、欠損画素52の法線と周辺画素53の法線とにより形成される角度と同じである。
図10は、球体50の地点Aを中心として平面に展開し、それを拡大して示した図である。詳細には、地図で採用される経線を曲げ、高緯度ほど経線の幅を狭めた擬円筒図法で展開した球体50の展開図の地点A付近を拡大して示した図である。ここでは、擬円筒図法としてモルワイデ図法を使用している。図10(a)中、白抜きされた矩形部分が、光が照射された画素を示し、黒塗りされた矩形部分が、光が照射されない画素を示し、格子状の線で示された矩形部分が、欠損画素52を示している。
図10(a)に示す例では、欠損画素52は光が照射されない画素であるため、欠損画素52に隣接する周辺画素54〜56と同様、黒塗りされた矩形部分として示されなければならない。しかしながら、欠損画素52に隣接する、光が照射された周辺画素53も上記のように選択されるため、この周辺画素53も考慮してデータ補間されることなる。すると、図10(b)に示すようなグレーの画素として示され、データ補間して得られる画像が不自然なものとなる。これでは、補間精度を向上させることはできない。
そこで、図11に示すように、画像処理装置10は、三次元形状データ、座標対応マップ、写真データに加えて、光の方向に関する情報(光方向データ)を入力として受け付ける。そして、判断部32が、その光方向データも使用して、データ補間用の周辺画素として採用するかどうかを判断する。
光方向データは、三次元物体に対して、どの角度で光が当たっているかを示す情報である。この情報を算出する方法としては、例えば、入射した光がほぼ完全に反射するクローム球を用い、クローム球に写った光源を撮影し、得られた画像から光源の位置と方向ベクトルとを算出する方法を用いることができる。方向ベクトルは、三次元物体と光源とを繋ぐ直線が延びる方向を指し示すベクトルである。
この方法を実施するために、クローム球、1以上の撮像装置、画像から光源の位置や方向ベクトルを算出する計算処理装置を用い、画像処理装置10は、計算処理装置から光源の位置等の情報を取得することができる。なお、計算処理装置を用いることなく、画像処理装置10が撮像装置から画像を取得し、その画像から光源の位置等を算出してもよい。この方法は一例であるので、これまでに知られたいかなる方法でも使用して、光源の位置および方向ベクトルを算出することができる。
光方向データも使用した欠損画素のデータ補間処理の詳細について、図12を参照して説明する。ステップ1200からこの処理を開始し、ステップ1205では、写真データが貼り付けられた展開図の画素を1つずつ参照し、それが欠損画素52かどうかを判断する。欠損画素52かどうかは、上記と同様にして判断することができる。
ステップ1205において欠損画素52である場合、ステップ1210へ進み、欠損画素52でない場合は、ステップ1245へ進む。ステップ1210では、三次元形状データの法線情報と、欠損画素52の二次元平面座標と、座標対応マップとから欠損画素52の法線情報を取得する。具体的には、欠損画素52の二次元平面座標と、座標対応マップとを用い、三次元形状のどこの位置に対応するかを特定する。そして、三次元形状データの特定した位置における法線情報を三次元形状データから取得する。また、上記の方法等により、光方向データも取得する。
ステップ1215では、欠損画素52に隣接する隣接画素についても同様の方法により法線情報等を取得する。ここでも、周辺画素として隣接画素を採用するものとして説明する。隣接画素は、欠損画素52に隣接する上下左右の4つの画素とすることができる。また、隣接画素は、上記の4つに限らず、その斜め方向に隣接する4つの画素を含め、計8つの画素を隣接画素とすることも可能である。ステップ1220では、取得した欠損画素52の法線と取得した隣接画素の法線とにより形成される角度を、それぞれの基準線に対する角度の角度差として算出する。そして、その角度差が閾値以下かどうかを判断する。欠損画素52の法線とそれに隣接する隣接画素の法線とから得られる角度差については既に説明したので、ここではその説明を省略する。
ステップ1220において角度差が閾値以下である場合、ステップ1225へ進み、閾値を超える場合、ステップ1235へ進む。ステップ1225では、欠損画素52と隣接画素の光の当たり方の条件が同じかどうかを判断する。すなわち、欠損画素52と隣接画素の各々につき、法線と光が入射する方向(方向ベクトル)の所定の基準線に対する角度をそれぞれ求め、それら2つの角度から角度差を求める。角度差は、簡単には法線と光の入射方向とにより形成される角度として求めることができる。欠損画素52と隣接画素の各々につき求めた角度差を比較し、比較結果に基づき判断する。
図13を参照して、法線と入射光の方向から得られる角度差について説明する。図13(a)に示すように、画素は、物体表面60の画像を構成し、画素の法線は、物体表面60の法線と同じ方向で、矢線61で示される。物体表面60へ光の入射方向と、その法線とにより形成される角度αが鋭角、すなわち90°未満である場合、その表面は光が当たっている状態である。
これに対し、図13(b)に示すように光の入射方向と法線とにより形成される角度が90°である場合、その表面は光が当たっていない状態となる。また、図13(c)に示すように光の入射方向と法線とにより形成される角度が鈍角、すなわち90°を超える場合も、その表面は光が当たっていない状態となる。
物体表面60に光が当たっているか否かで、見え方が異なるため、比較する対象の2つの画素がいずれも法線に対して光の入射角度が90°未満もしくは90°または90°を超える場合、条件が同じと判断することができる。2つの画素のいずれもが90°未満であれば、どちらの画素にも光が当たっている状態となり、いずれもが90°もしくは90°を超える場合、どちらの画素にも光が当たっていない状態になり、見え方がほぼ同じものになるからである。
2つの画素の一方が90°未満で、他方が90°もしくは90°を超える場合、一方には光が当たり、他方には光が当たらない状態になるので、その見え方が異なるものになる。このため、このような場合には、条件が異なると判断することができる。
再び図12を参照して、ステップ1225において条件が同じと判断した場合、ステップ1230へ進み、条件が異なると判断した場合、ステップ1235へ進む。ステップ1230では、隣接画素を、欠損画素52の補間用の隣接画素候補として登録する。ステップ1235では、欠損画素52の補間用の隣接画素として採用するか否かの判断を行う最後の隣接画素かどうかを判断する。
ステップ1235において最後の隣接画素でないと判断した場合、ステップ1215へ戻り、次の隣接画素に対して、ステップ1215からステップ1235までの処理を繰り返す。一方、最後の隣接画素と判断した場合、ステップ1240へ進み、登録した隣接画素のデータのみを使用し、欠損画素52に割り当てるデータを、データ補間して算出する。そして、その算出したデータを欠損画素52に割り当てる。
ステップ1245では、すべての画素につき、欠損画素52か否かを判断し、欠損画素52である場合にデータ補間を行ったかどうかを判断する。すなわち、データ補間を行った画素あるいは欠損画素52かどうかを判断し、欠損画素52でないと判断された画素が最終の画素かどうかを判断する。最終でない場合は、ステップ1205へ戻り、次の画素につき、欠損画素52かどうかを判断する。これに対し、最終である場合は、ステップ1250へ進み、データ補間処理を終了する。
これまで、光の入射方向を考慮して選択する隣接画素を判断し、適切な隣接画素のみを使用して欠損画素52のデータ補間を行う例について説明してきた。この例では、光が当たっているか否かのみを考慮したが、三次元物体が、鏡面反射(正反射)が強い物体であるとき、光が当たっているか否かという条件のみでは、高い精度で補間することができない場合が発生する。
図14を参照して説明すると、光源70からの光は、欠損画素52がある面71と、隣接画素がある面72との両方に入射し、両方の面71、72には光が当たっており、それら法線により形成される角度は小さい。このため、上記の例では、隣接画素は、欠損画素52の補間用の隣接画素候補として採用される。入射光73が様々な方向に反射する拡散反射の強い物体、例えば艶のない物体であれば、各面71、72で見え方は変わらない。しかしながら、入射光73が別の一方向に反射する鏡面反射の強い物体の場合、図14に示すように反射光74、75の方向が各面71、72で異なるため、見え方は大きく変わってしまう。
そこで、鏡面反射が強い物体である場合、欠損画素52から光が反射する方向の所定の基準線に対する角度と、その隣接画素から光が反射する方向の該基準線に対する角度との角度差に基づき、補間用画素として採用するか判断することができる。具体的には、その角度差が、見え方に違いが出ない許容範囲内の角度であるか否かにより判断することができる。許容範囲内の角度は、ユーザが任意に設定することができ、自分が見て違いが分からない角度の範囲を設定することができる。そのほか、ユーザが三次元物体を見て、拡散反射が強い物体か、鏡面反射が強い物体かを判断し、光の反射方向の角度差を判定条件として用いるか否かを切り替える方法を採用することもできる。この切り替えは、三次元物体に応じて設定された条件に従って、別途設けられる切替部により実施することができる。
切替部は、光の反射方向の角度差を判定条件として用いるか否かを切り替えることに限られるものではなく、光の入射方向の角度差、すなわち光が当たっているかどうかという判定条件を用いるか否かを切り替えてもよい。また、切替部は、その2つの両方を切り替えることができるようになっていてもよい。
反射光の方向を考慮した欠損画素のデータ補間処理の詳細について、図15を参照して説明する。ステップ1500からこの処理を開始し、ステップ1505では、写真データが貼り付けられた展開図の画素を1つずつ参照し、それが欠損画素52かどうかを判断する。欠損画素52かどうかは、上記と同様にして判断することができる。
ステップ1505において欠損画素52である場合、ステップ1510へ進み、欠損画素52でない場合は、ステップ1550へ進む。ステップ1510では、三次元形状データの法線情報と、欠損画素52の二次元平面座標と、座標対応マップとから欠損画素52の法線情報を取得する。具体的には、欠損画素52の二次元平面座標と、座標対応マップとを用い、三次元形状のどこの位置に対応するかを特定する。そして、三次元形状データの特定した位置における法線情報を三次元形状データから取得する。また、上記の方法により、光方向データも取得する。
ステップ1515では、欠損画素52に隣接する隣接画素についても同様の方法により法線情報等を取得する。ここでも、周辺画素として隣接画素を採用するものとして説明する。隣接画素は、欠損画素52に隣接する上下左右の4つの画素とすることができる。また、隣接画素は、上記の4つに限らず、その斜め方向に隣接する4つの画素を含め、計8つの画素を隣接画素とすることも可能である。ステップ1520では、取得した欠損画素52の法線と取得した隣接画素の法線とにより形成される角度を、それぞれの所定の基準線に対する角度の角度差として算出する。そして、その角度差が閾値以下かどうかを判断する。欠損画素52の法線とそれに隣接する隣接画素の法線とから得られる角度差については既に説明したので、ここではその説明を省略する。
ステップ1520において角度差が閾値以下である場合、ステップ1525へ進み、閾値を超える場合、ステップ1540へ進む。ステップ1525では、欠損画素52と隣接画素の光の当たり方の条件が同じかどうかを判断する。すなわち、欠損画素52および隣接画素の法線と光の入射方向とにより形成される角度を、各画素の角度差として求め、それらの角度差を比較し、比較結果に基づき判断する。
ステップ1525において条件が同じと判断した場合、ステップ1530へ進み、条件が異なると判断した場合、ステップ1540へ進む。ステップ1530では、欠損画素52および隣接画素からの光の反射方向が同じかどうかを判断する。ステップ1530において同じと判断した場合はステップ1535へ進み、異なると判断した場合はステップ1540へ進む。光の反射方向は、鏡面反射の場合、画素の法線とその画素への光の入射方向とにより形成される角度と、画素の法線とその画素からの光の反射方向とにより形成される角度とが等しいことから、法線および光の入射方向から求めることができる。
ステップ1535では、隣接画素を、欠損画素52の補間用の隣接画素候補として登録する。ステップ1540では、欠損画素52の補間用の隣接画素として採用するか否かの判断を行う最後の隣接画素かどうかを判断する。
ステップ1540において最後の隣接画素でないと判断した場合、ステップ1515へ戻り、次の隣接画素に対して、ステップ1515からステップ1540までの処理を繰り返す。一方、最後の隣接画素と判断した場合、ステップ1545へ進み、登録した隣接画素のデータのみを使用し、欠損画素52に割り当てるデータを、データ補間して算出する。そして、その算出したデータを欠損画素52に割り当てる。
ステップ1550では、すべての画素につき、欠損画素52か否かを判断し、欠損画素52である場合にデータ補間を行ったかどうかを判断する。すなわち、データ補間を行った画素あるいは欠損画素52かどうかを判断し、欠損画素52でないと判断された画素が最終の画素かどうかを判断する。最終でない場合は、ステップ1505へ戻り、次の画素につき、欠損画素52かどうかを判断する。これに対し、最終である場合は、ステップ1555へ進み、データ補間処理を終了する。
これまでに説明してきた例では、三次元形状物体の表面に割り当てるデータを写真データとしたが、BRDFやBTF等の反射率を三次元形状物体の表面に割り当てる際に、このような光の反射方向を考慮した方法を利用することができる。したがって、光の入射方向や反射方向を考慮し、高い精度で欠損画素52を補間することが可能となる。また、反射方向を考慮するか否かはユーザの判断で実施することができるため、処理ステップを一部省略し、処理を簡略化することも可能となる。
これまで本発明を、画像処理装置、画像処理システム、画像処理方法およびプログラムとして上述した実施の形態をもって説明してきたが、本発明は上述した実施の形態に限定されるものではない。本発明は、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。したがって、本発明は、上記のプログラムが記録された記録媒体や、そのプログラムを、ネットワークを介して提供するサーバ装置等も提供することができるものである。
10…画像処理装置、11…CPU、12…ROM、13…RAM、14…HDD、15…入出力I/F、16…表示装置、17…入力装置、18…バス、20…欠損画素、21〜24…隣接画素、30…二次元平面展開処理部、31…画素割当部、32…判断部、33…画素選択部、34…データ補間部、40、42…面、41、43…法線、50…球体、51…光源、52…欠損画素、53〜56…周辺画素、60…物体表面、61…矢線、70…光源、71、72…面、73…入射光、74、75…反射光
特開2013−257664号公報

Claims (13)

  1. コンピュータグラフィックスにおける三次元形状の物体を二次元平面に展開したデータに画素を割り当てる画素割当部と、
    前記データにおいて前記画素が割り当てられていない欠損画素であるか否かを判断する判断部と、
    前記判断部によって判断された欠損画素の周辺に存在する複数の周辺画素の各々を含む各平面または各接平面に対する法線方向の基準線に対する角度と、前記欠損画素を含む平面または接平面に対する法線方向の基準線に対する角度との角度差に基づき、前記複数の周辺画素のうちの少なくとも2つの周辺画素を選択する画素選択部と、
    前記画素選択部により選択された前記少なくとも2つの周辺画素に基づき、前記欠損画素のデータ補間を行うデータ補間部とを含む、画像処理システム。
  2. 前記画素選択部は、前記角度差が第1閾値以下であるか否かを判断し、前記第1閾値以下である前記少なくとも2つの周辺画素を選択する、請求項1に記載の画像処理システム。
  3. 前記画素選択部は、前記欠損画素の画素値と各前記周辺画素の画素値との差が第2閾値以下であるか否かを判断し、前記角度差が前記第1閾値以下で、かつ前記画素値の差が前記第2閾値以下である前記少なくとも2つの周辺画素を選択する、請求項2に記載の画像処理システム。
  4. 前記画素選択部は、さらに、光源から光が前記欠損画素を含む平面または接平面に入射する方向の基準線に対する角度と該欠損画素を含む平面または接平面に対する法線方向の基準線に対する角度との角度差と、前記光源から光が各前記周辺画素を含む各平面または各接平面に入射する方向の基準線に対する角度と該各周辺画素を含む各平面または各接平面に対する法線方向の基準線に対する角度との角度差とに基づき、前記複数の周辺画素のうちの少なくとも2つの周辺画素を選択する、請求項1〜3のいずれか1項に記載の画像処理システム。
  5. 前記画素選択部は、さらに、前記欠損画素を含む平面または接平面から光が反射する方向の基準線に対する角度と、各前記周辺画素を含む各平面または各接平面から光が反射する方向の基準線に対する角度との角度差に基づき、前記複数の周辺画素のうちの少なくとも2つの周辺画素を選択する、請求項1〜4のいずれか1項に記載の画像処理システム。
  6. 前記三次元形状の物体に応じて設定された条件に従って、前記欠損画素を含む平面または接平面から光が反射する方向の基準線に対する角度と、各前記周辺画素を含む各平面または各接平面から光が反射する方向の基準線に対する角度との角度差を使用するか否かを切り替える切替部を含む、請求項5に記載の画像処理システム。
  7. 前記三次元形状の物体を前記二次元平面に展開する二次元平面展開処理部をさらに含む、請求項1〜6のいずれか1項に記載の画像処理システム。
  8. 前記データに割り当てるデータは、双方向テクスチャ関数もしくは双方向反射率分布関数により算出される反射特性データまたはRGB画像データである、請求項1〜7のいずれか1項に記載の画像処理システム。
  9. 前記二次元平面展開処理部は、LSCM展開アルゴリズムまたはABF++展開アルゴリズムを使用して、前記二次元平面に展開する、請求項7に記載の画像処理システム。
  10. コンピュータグラフィックスにおける三次元形状の物体を二次元平面に展開したデータに画素を割り当てる画素割当部と、
    前記データにおいて前記画素が割り当てられていない欠損画素であるか否かを判断する判断部と、
    前記判断部によって判断された欠損画素の周辺に存在する複数の周辺画素の各々を含む各平面または各接平面に対する法線方向の基準線に対する角度と、前記欠損画素を含む平面または接平面に対する法線方向の基準線に対する角度との角度差に基づき、前記複数の周辺画素のうちの少なくとも2つの周辺画素を選択する画素選択部と、
    前記画素選択部により選択された前記少なくとも2つの周辺画素に基づき、前記欠損画素のデータ補間を行うデータ補間部とを含む、画像処理装置。
  11. コンピュータグラフィックスにおける三次元形状の物体を二次元平面に展開したデータに画素を割り当てるステップと、
    前記データにおいて前記画素が割り当てられていない欠損画素であるか否かを判断するステップと、
    前記判断するステップで判断された欠損画素の周辺に存在する複数の周辺画素の各々を含む各平面または各接平面に対する法線方向の基準線に対する角度と、前記欠損画素を含む平面または接平面に対する法線方向の基準線に対する角度との角度差に基づき、前記複数の周辺画素のうちの少なくとも2つの周辺画素を選択するステップと、
    前記選択するステップで選択された前記少なくとも2つの周辺画素に基づき、前記欠損画素のデータ補間を行うステップとを含む、画像処理方法。
  12. 請求項11に記載の画像処理方法をコンピュータに実行させるためのプログラム。
  13. 請求項12に記載のプログラムが記録された記録媒体。
JP2015112829A 2014-12-17 2015-06-03 画像処理システム、画像処理装置、画像処理方法、プログラムおよび記録媒体 Pending JP2016119041A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014255101 2014-12-17
JP2014255101 2014-12-17

Publications (1)

Publication Number Publication Date
JP2016119041A true JP2016119041A (ja) 2016-06-30

Family

ID=56244353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015112829A Pending JP2016119041A (ja) 2014-12-17 2015-06-03 画像処理システム、画像処理装置、画像処理方法、プログラムおよび記録媒体

Country Status (1)

Country Link
JP (1) JP2016119041A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113686897A (zh) * 2021-08-05 2021-11-23 江苏维普光电科技有限公司 一种掩模表面颗粒缺陷检测方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113686897A (zh) * 2021-08-05 2021-11-23 江苏维普光电科技有限公司 一种掩模表面颗粒缺陷检测方法
CN113686897B (zh) * 2021-08-05 2023-11-03 江苏维普光电科技有限公司 一种掩模表面颗粒缺陷检测方法

Similar Documents

Publication Publication Date Title
CN109242961B (zh) 一种脸部建模方法、装置、电子设备和计算机可读介质
JP7007348B2 (ja) 画像処理装置
TWI764959B (zh) 用於產生光強度影像之裝置與方法
JP2017534935A (ja) レーザスキャンデータの画像レンダリング
US10893259B2 (en) Apparatus and method for generating a tiled three-dimensional image representation of a scene
US8854392B2 (en) Circular scratch shader
CN111369659A (zh) 一种基于三维模型的纹理映射方法、装置及设备
TWI810818B (zh) 提供三維模型的電腦實施方法與系統及其相關之儲存媒體
CN113643414A (zh) 一种三维图像生成方法、装置、电子设备及存储介质
US20180253886A1 (en) Texturing of a three-dimensional (3d) model by uv map in-painting
JP3629243B2 (ja) モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法
JP6851089B2 (ja) 適応的三次元空間生成方法及びそのシステム
TW202040515A (zh) 用於產生光強度影像之設備及方法
JP2016119041A (ja) 画像処理システム、画像処理装置、画像処理方法、プログラムおよび記録媒体
JP4764963B2 (ja) 画像処理装置
JP2016072691A (ja) 画像処理装置及びその制御方法、プログラム
JP5865092B2 (ja) 画像処理装置、画像処理方法及びプログラム
KR20230013099A (ko) 실시간 깊이 맵을 사용한 지오메트리 인식 증강 현실 효과
JP2020166652A (ja) 画像処理装置、画像処理方法及びプログラム
JP5321385B2 (ja) 画像処理プログラムおよびコンピュータ読み取り可能な記録媒体
JP2004227095A (ja) テクスチャマップ作成方法、テクスチャマップ作成用プログラムおよびテクスチャマップ作成装置
JP2023107547A (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
CN114882162A (zh) 纹理图像的贴图方法、装置、电子设备和可读存储介质
CN117058287A (zh) 基于神经辐射场的三维模型贴图方法、系统、存储介质及终端
CN113888394A (zh) 图像变形方法、装置及电子设备