特許第6800938号(P6800938)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許6800938画像処理装置、画像処理方法及びプログラム
<>
  • 特許6800938-画像処理装置、画像処理方法及びプログラム 図000003
  • 特許6800938-画像処理装置、画像処理方法及びプログラム 図000004
  • 特許6800938-画像処理装置、画像処理方法及びプログラム 図000005
  • 特許6800938-画像処理装置、画像処理方法及びプログラム 図000006
  • 特許6800938-画像処理装置、画像処理方法及びプログラム 図000007
  • 特許6800938-画像処理装置、画像処理方法及びプログラム 図000008
  • 特許6800938-画像処理装置、画像処理方法及びプログラム 図000009
  • 特許6800938-画像処理装置、画像処理方法及びプログラム 図000010
  • 特許6800938-画像処理装置、画像処理方法及びプログラム 図000011
  • 特許6800938-画像処理装置、画像処理方法及びプログラム 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6800938
(24)【登録日】2020年11月27日
(45)【発行日】2020年12月16日
(54)【発明の名称】画像処理装置、画像処理方法及びプログラム
(51)【国際特許分類】
   G06T 5/50 20060101AFI20201207BHJP
   G06T 15/80 20110101ALI20201207BHJP
【FI】
   G06T5/50
   G06T15/80
【請求項の数】16
【全頁数】15
(21)【出願番号】特願2018-204380(P2018-204380)
(22)【出願日】2018年10月30日
(65)【公開番号】特開2020-71613(P2020-71613A)
(43)【公開日】2020年5月7日
【審査請求日】2019年9月4日
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100124442
【弁理士】
【氏名又は名称】黒岩 創吾
(72)【発明者】
【氏名】池本 祥
【審査官】 千葉 久博
(56)【参考文献】
【文献】 特開2018−141653(JP,A)
【文献】 特開2014−206875(JP,A)
【文献】 特開2003−203220(JP,A)
【文献】 池本祥, 外4名,“観測スケールを考慮したメタリック塗装の表面下法線分布解析”,情報処理学会研究報告,日本,情報処理学会,2015年10月30日,第2015−CG−161巻, 第15号,p.1-9
【文献】 池本祥, 外2名,“表面下の微粒子構造を考慮した多重法線反射モデルの提案”,情報処理学会研究報告,日本,情報処理学会,2014年 5月 8日,第2014−CVIM−192巻, 第19号,p.1-7
(58)【調査した分野】(Int.Cl.,DB名)
G06T 5/50
G06T 15/80
(57)【特許請求の範囲】
【請求項1】
撮像の位置と物体に光を照射する光源の位置とに応じた複数の幾何条件において前記物体を撮像して得られる複数の画像の解像度を変換する画像処理装置であって、
前記複数の画像の各画素位置において画素値と幾何条件との対応関係に表れる画素値のピークの数が1つとなる解像度を決定する決定手段と、
前記複数の画像の解像度を、前記決定された解像度に変換する変換手段と、
を有することを特徴とする画像処理装置。
【請求項2】
前記変換手段によって解像度が変換された前記複数の画像においては、所定の閾値以上の数の画素位置において、前記ピークの数が1つとなることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記変換手段によって解像度が変換された前記複数の画像に基づいて、前記物体の反射特性を表す反射特性データを生成する生成手段をさらに有することを特徴とする請求項1又は請求項2に記載の画像処理装置。
【請求項4】
前記複数の画像において前記ピークの数が1つ以下であるか否かを判定する判定手段をさらに有し
前記生成手段は、前記判定手段による判定の結果に基づいて、前記反射特性データを出力することを特徴とする請求項に記載の画像処理装置。
【請求項5】
前記判定手段は、前記複数の画像に基づいて前記ピークの数を算出し、算出した前記ピークの数に基づいて、前記複数の画像において前記ピークの数が1つ以下であるか否かを判定することを特徴とする請求項に記載の画像処理装置。
【請求項6】
前記判定手段は、最大値フィルタを用いたフィルタ処理によって、前記ピークの数を算出することを特徴とする請求項に記載の画像処理装置。
【請求項7】
前記決定手段は、ユーザの指示に基づいて、前記解像度を決定することを特徴とする請求項1乃至請求項6のいずれか一項に記載の画像処理装置。
【請求項8】
前記変換手段は、前記複数の画像の解像度を、前記決定された解像度に下げることを特徴とする請求項1乃至請求項7のいずれか一項に記載の画像処理装置。
【請求項9】
前記変換手段は、画像における領域に含まれる画素の画素値を平均化することによって、前記複数の画像の解像度を局所的に下げることを特徴とする請求項に記載の画像処理装置。
【請求項10】
前記変換手段は、前記ピークの数と、前記ピークの方向と、に基づいて、画像において、画素値を平均化する対象の領域を特定することを特徴とする請求項に記載の画像処理装置。
【請求項11】
前記変換手段は、前記ピークの数と、前記ピークの方向と、反射強度と、に基づいて、画像において画素値を平均化する対象の領域を特定することを特徴とする請求項10に記載の画像処理装置。
【請求項12】
前記生成手段は、前記変換手段によって解像度が変換された前記複数の画像の画素値に反射モデルをフィッティングすることによって、前記反射特性データを生成することを特徴とする請求項に記載の画像処理装置。
【請求項13】
前記物体の表面から撮像装置の方向を表す観測ベクトルと、前記物体の表面から光源の方向を表す光源ベクトルと、前記光源が照射する光の強度を表す照明強度と、を取得する取得手段をさらに有し、
前記生成手段は、さらに、前記観測ベクトルと、前記光源ベクトルと、前記照明強度と、に基づいて、前記反射特性データ生成することを特徴とする請求項に記載の画像処理装置。
【請求項14】
前記物体は、表面に金属フレークを含む物体であることを特徴とする請求項1乃至請求項13のいずれか一項に記載の画像処理装置。
【請求項15】
コンピュータを請求項1乃至請求項14のいずれか一項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項16】
撮像の位置と物体に光を照射する光源の位置とに応じた複数の幾何条件において前記物体を撮像して得られる複数の画像の解像度を変換する画像処理方法であって、
前記複数の画像の各画素位置において画素値と幾何条件との対応関係に表れる画素値のピークの数が1つとなる解像度を決定する決定ステップと、
前記複数の画像の解像度を、前記決定された解像度に変換する変換ステップと、
を有することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体の反射特性を得るための画像処理技術に関する。
【背景技術】
【0002】
物体の質感を再現するため、物体における反射光のふるまいを反射特性として取得する技術が知られている。特許文献1は、光源方向又は観測方向を変えながらの撮像によって得られた複数の画像データを用いることによって、物体の反射特性を取得する技術を開示している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−203220号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
撮像の条件や物体の反射特性によっては、撮像画像の1画素に対応する光量が小さい場合がある。この場合、撮像画像における各画素の画素値に対するノイズの割合が高くなる。特許文献1のような従来技術においては、ノイズの影響を大きく受けた画素値を有する撮像画像を基に、物体の反射特性を高精度に取得することができない場合があった。
【0005】
そこで本発明は、ノイズを含む画像を基に、高精度に物体の反射特性を取得するための画像処理を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明に係る画像処理装置は、撮像の位置と物体に光を照射する光源の位置とに応じた複数の幾何条件において前記物体を撮像して得られる複数の画像の解像度を変換する画像処理装置であって、前記複数の画像の各画素位置において画素値と幾何条件との対応関係に表れる画素値のピークの数が1つとなる解像度を決定する決定手段と、前記複数の画像の解像度を、前記決定された解像度に変換する変換手段と、を有することを特徴とする。
【発明の効果】
【0007】
本発明により、ノイズを含む画像を基に、高精度に物体の反射特性を取得することができる。
【図面の簡単な説明】
【0008】
図1】画像処理装置のハードウェア構成を示すブロック図
図2】画像処理装置の機能構成を示すブロック図
図3】画像処理装置が実行する処理を示すフローチャート
図4】画像の解像度と反射特性との関係を説明するための図
図5】画像処理装置の機能構成を示すブロック図
図6】画像処理装置が実行する処理を示すフローチャート
図7】反射強度のピークの数を算出する処理を示すフローチャート
図8】反射強度のピークの数を算出する処理を説明するための図
図9】画像処理装置が実行する処理を示すフローチャート
図10】画像処理装置が実行する処理を示すフローチャート
【発明を実施するための形態】
【0009】
[第1実施形態]
まず、撮像画像の解像度とノイズとの関係について説明する。物体を撮像する際の解像度が高い場合、同じ物体をより低い解像度で撮像する場合よりも撮像画像の1画素に対応する物体表面上の領域が小さい。このため、物体を撮像する際の解像度が高い場合、同じ物体をより低い解像度で撮像する場合よりも1画素における受光量は小さくなりやすい。デジタルな撮像画像において、1画素における受光量を画素値に変換する際には、撮像時の条件に応じたノイズを含む画素値に変換される。このため、物体を撮像する際の解像度が高い場合、同じ物体をより低い解像度で撮像する場合よりも画素値におけるノイズの割合が相対的に大きくなる。よって、解像度が高い撮像画像を基に算出された反射特性は、ノイズの影響を大きく受けた精度の低い反射特性となってしまう。そこで、本実施形態においては、撮像画像の解像度を低下させることによって、撮像画像を基に算出する反射特性に対するノイズの影響を抑制する。
【0010】
<画像処理装置のハードウェア構成>
本実施形態における画像処理装置のハードウェア構成について、図1を参照して説明する。図1は、画像処理装置1のハードウェア構成を示すブロック図である。画像処理装置1は、例えばコンピュータであり、CPU101、ROM102、RAM103を備える。また、画像処理装置1は、VC(ビデオカード)104、汎用I/F(インターフェース)105、SATA(シリアルATA)I/F106、NIC(ネットワークインターフェースカード)107を備える。CPU101は、RAM103をワークメモリとして、ROM102、HDD(ハードディスクドライブ)113などに格納されたOS(オペレーティングシステム)や各種プログラムを実行する。また、CPU101は、システムバス108を介して各構成を制御する。尚、後述するフローチャートによる処理は、ROM102やHDD113などに格納されたプログラムコードがRAM103に展開され、CPU101によって実行される。VC104には、ディスプレイ115が接続される。汎用I/F105には、シリアルバス109を介して、マウスやキーボードなどの入力デバイス110や撮像装置111が接続される。SATAI/F106には、シリアルバス112を介して、HDD113や各種記録メディアの読み書きを行う汎用ドライブ114が接続される。NIC107は、外部装置との間で情報の入力及び出力を行う。CPU101は、HDD113や汎用ドライブ114にマウントされた各種記録メディアを各種データの格納場所として使用する。CPU101は、プログラムによって提供されるGUI(グラフィカルユーザインターフェース)をディスプレイ115に表示し、入力デバイス110を介して受け付けるユーザ指示などの入力を受信する。
【0011】
<画像処理装置の機能構成>
図2は、画像処理装置1の機能構成を示すブロック図である。画像処理装置1は、CPU101がROM102に格納されたプログラムをRAM103をワークメモリとして実行することによって、図2に示す機能構成として機能する。尚、以下に示す処理の全てがCPU101によって実行される必要はなく、処理の一部または全てがCPU101以外の一つまたは複数の処理回路によって行われるように画像処理装置1が構成されていてもよい。
【0012】
画像処理装置1は、画像データ取得部201、幾何条件データ取得部202、解像度取得部203、解像度変換部204、反射特性データ生成部205を有する。画像データ取得部201は、物体を撮像することによって得られた画像データを取得する。本実施形態における画像データ取得部201は、光源及び撮像装置111の位置及び向きを変化させながら物体を撮像することによって得られる複数の画像データをHDD113等の記憶装置から取得する。画像データが表す画像の画素値をI(x,y)とする。ここで、nは撮像画像の識別番号であり、c枚の撮像画像に対して1〜cの番号が割り当てられる。尚、本実施形態における画像データはグレースケール画像データであり、画素値はR値、G値、B値から公知の方法によって算出される輝度値である。また、画像データには、メタデータとして、画像データが表す画像の解像度が記録されている。
【0013】
幾何条件データ取得部202は、光源による光の照射及び撮像装置111による受光の幾何条件を表す幾何条件データを取得する。幾何条件は光源及び撮像装置111の位置及び向きによって決まる。具体的に、幾何条件データ取得部202は、幾何条件データとして、物体の表面から撮像装置111の方向を表す観測ベクトル、物体の表面から光源の方向を表す光源ベクトル、光源が照射する光の強度を表す照明強度を各撮像画像について取得する。ここで、n番の撮像画像に対応する観測ベクトルをv、n番の撮像画像に対応する光源ベクトルをl、n番の撮像画像に対応する照明強度をsとする。解像度取得部203は、ユーザによって指定された解像度を取得する。
【0014】
解像度変換部204は、解像度取得部203が取得した解像度に基づいて、画像データ取得部201が取得した画像データが表す画像の解像度を変換する。反射特性データ生成部205は、解像度が変換された画像を表す画像データと、幾何条件データと、に基づいて、物体の反射特性を表す反射特性データを生成する。
【0015】
<画像処理装置が実行する処理>
図3は、画像処理装置1が実行する処理のフローチャートである。以下、図3を用いて画像処理装置1が実行する処理の詳細を説明する。尚、下記処理は、ユーザからの処理を開始する指示を受け付けることによって開始する。以下、各ステップ(工程)は符号の前にSをつけて表す。
【0016】
S301において、画像データ取得部201は、複数の画像データを取得する。また、幾何条件データ取得部202は、複数の画像データに対応する観測ベクトルv、光源ベクトルl、照明強度sを取得する。また、解像度取得部203は、ユーザによって指定された解像度を取得する。本実施形態における解像度取得部203は、UIを介してユーザにより入力された解像度を取得するが、HDD113等の記憶装置に記憶された解像度を取得してもよい。ここで取得される解像度は画像の解像度を下げるために用いられる解像度であるため、画像データ取得部201が取得する画像データが表す画像の解像度よりも低い値とする。一方で、画像の解像度を下げすぎると算出すべき反射特性が高精度に得られなくなってしまうため、ノイズの抑制を行いつつ反射特性を高精度に算出できる解像度を物体の形状などから予め特定しておく必要がある。例えば、物体の表面における法線の方向を基に、1画素に対応する領域に複数の反射強度のピークが含まれないような解像度を算出することが考えられる。
【0017】
S302において、解像度変換部204は、画像データが表す画像の解像度Aと、解像度取得部203が取得した解像度Bと、を取得する。S303において、解像度変換部204は、解像度Aと解像度Bとに基づいて、複数の画像データが表す画像それぞれの解像度を変換する。具体的に、解像度変換部204は、画像の縦の画素数と横の画素数とがB/Aの倍率をかけた値となるように、公知のバイキュービック補間法を用いて画像の解像度を下げる。例えば、B/A=1/4であった場合、解像度変換によって、縦100画素×横100画素の画像は縦25画素×横25画素の画像となる。尚、解像度変換の方法は、バイキュービック補間法に限られず、公知のバイリニア補間法など他の方法であってもよい。
【0018】
S304において、反射特性データ生成部205は、解像度が変換された画像を表す画像データと、幾何条件データと、に基づいて、物体の反射特性を表す反射特性データを生成する。具体的に、反射特性データ生成部205は、画像の画素値に対して反射モデルをフィッティングすることにより、反射特性パラメータを算出する。ここで、フィッティングを行う反射モデルをf(p,v,l)とする場合、式(1)により反射特性パラメータp(x,y)を算出する。
【0019】
【数1】
【0020】
ここで、pは、反射モデルf(p,v,l)が有するパラメータ群を表すベクトルであり、本実施形態において用いる反射モデルは、平均、分散、スケールの3つのパラメータを有するガウス関数によって表される反射モデルである。argmin(Z)は、Zを最小にするパラメータpを返す関数である。尚、反射特性パラメータの算出は、全ての画素位置(x,y)に対して実行される。
【0021】
反射特性データ生成部205は、算出した反射特性パラメータp(x,y)を、反射特性データにおける画素位置(x,y)の画素に保持させる。ここで、反射特性データは、各画素に反射特性パラメータを保持するデータである。尚、1つの反射特性データの各画素に複数のパラメータを保持させてもよいし、平均データ、分散データ、スケールデータのように、それぞれのパラメータを各画素に保持するデータを生成してもよい。反射特性データ生成部205は、生成した反射特性データを、HDD113などの記憶装置に出力する。尚、反射特性データの出力先は記憶装置に限らず、反射特性データに基づいて処理を行う他の装置などであってもよい。
【0022】
<第1実施形態の効果>
以上説明したように、本実施形態における画像処理装置は、撮像の位置と物体に光を照射する光源の位置とに応じた複数の幾何条件において物体を撮像することによって得られた複数の画像データを取得する。複数の画像データが表す各画像における物体上の同一の位置に対応する、画素値の幾何条件に応じた変化において画素値のピークの数が1つ以下となるように、複数の画像データが表す各画像の解像度を下げる。解像度が下げられた各画像を表す複数の画像データに基づいて、物体の反射特性を表す反射特性データを生成する。よって、画像の解像度を下げる処理により、ノイズ低減のための平滑化処理と同等の効果が得られる。したがって、物体の反射特性を取得する際のノイズの影響を抑制することができる。また、画像の解像度を下げることにより、画像データのデータ量を減らすことができるため、処理にかかるコストを削減することができる。
【0023】
[第2実施形態]
第1実施形態においては、ユーザによって指定された解像度に基づいて、反射特性を算出するために用いる撮像画像の解像度を変換した。一方で、画像の解像度を下げすぎると算出すべき反射特性が高精度に得られなくなってしまう物体がある。例えば、金属フレークを含む塗料を用いてメタリック塗装された表面を有する物体や、表面に凹凸を付与するように加工が施された金属などが該当する。図4に、メタリック塗装された物体を撮像することによって得られた画像の解像度と、画像に基づいて算出される反射特性と、の関係を示す。
【0024】
図4(a)のように、画像の解像度が高く、物体において1画素に対応する領域が小さい場合、画素値がノイズの影響を受けやすい。このノイズの影響によって、反射特性を高精度に算出することができない。図4(b)のように、画像の解像度が低く、1画素に対応する領域に異なる方向を向いた複数のフレークが含まれる場合、その領域に含まれる各フレークの向きに応じた方向に反射強度のピークが現れる。反射特性を算出する際には、第1実施形態のように、光の入射方向に対して正反射の方向において最も高い反射率を有する単峰性(反射率のピークが1つ)の関数を画素値に近似させる。このため、反射特性を算出する際に、図4(b)のように複数のピークが1画素において観測されていると、画素値が反射モデルの形にあてはまらず、算出結果に誤差が生じてしまう。したがって、図4(c)に示すように、1画素において複数のピークが観測されない解像度まで画像の解像度を下げてから、反射特性を算出することが望ましい。
【0025】
そこで、本実施形態においては、物体の反射特性に基づいて画像の解像度をどこまで下げるべきかを特定し、1画素において複数のピークが観測されないように解像度が下げられた画像に基づいて物体の反射特性を算出する。尚、本実施形態における画像処理装置のハードウェア構成は第1実施形態のものと同様であるため、説明を省略する。以下において、本実施形態と第1実施形態とで異なる部分を主に説明する。尚、同一の構成については、同じ符号を付して説明する。
【0026】
<画像処理装置の機能構成>
図5は、画像処理装置1の機能構成を示すブロック図である。画像処理装置1は、画像データ保持部501、幾何条件データ保持部502、反射特性データ生成部503、反射特性データ保持部504、判定部505、解像度変換部506を有する。画像データ保持部501は、光源及び撮像装置111の位置及び向きを変化させながら物体を撮像することによって得られる複数の画像データ、及び、解像度変換部506によって解像度が変換された画像を表す画像データを保持するための保持部である。幾何条件データ保持部502は、光源による光の照射及び撮像装置111による受光の幾何条件を表す幾何条件データを保持するための保持部である。反射特性データ生成部503は、複数の画像データと、幾何条件データと、に基づいて、物体の反射特性を表す反射特性データを生成する。反射特性データ保持部504は、反射特性データ生成部503によって生成された反射特性データを保持するための保持部である。判定部505は、複数の画像データと、幾何条件データと、反射特性データと、に基づいて、画像の解像度を下げるべきか否かを判定する。解像度変換部506は、画像データが表す画像の解像度を下げる。
【0027】
<画像処理装置が実行する処理>
図6は、画像処理装置1が実行する処理のフローチャートである。以下、図6を用いて画像処理装置1が実行する処理の詳細を説明する。尚、下記処理は、ユーザからの処理を開始する指示を受け付けることによって開始する。
【0028】
S601において、反射特性データ生成部503は、画像データ保持部501から、複数の画像データを取得する。また、反射特性データ生成部503は、幾何条件データ保持部502から、観測ベクトル、光源ベクトル、照明強度を各撮像画像について取得する。S602において、反射特性データ生成部503は、複数の画像データと幾何条件データとに基づいて、反射特性データを生成する。反射特性データの生成方法は、第1実施形態のS304と同じであるため説明を省略する。反射特性データ生成部503は、生成した反射特性データを反射特性データ保持部504に出力する。尚、本実施形態においては、複数の反射特性データを生成する場合があるため、反射特性データ生成部503は、反射特性データに番号を付けて反射特性データ保持部504に出力する。本ステップにおいて反射特性データ保持部504に出力する反射特性データはN番目であるとする。
【0029】
S603において、判定部505は、複数の画像データと幾何条件データとに基づいて、ピーク数算出用データを生成する。具体的に、判定部505は、各画素位置(x,y)について、各画素に画素値I(φ,θ)を記録した画像を表す画像データを生成する。ここで生成する画像データは、横方向をφ軸、縦方向をθ軸とした画像データであり、φは観測ベクトルの方位角、θは観測ベクトルの天頂角を表している。判定部505は、ある画素位置(x,y)について、複数の画像データから複数の画素値I(x,y)を取得する。さらに、判定部505は、取得した複数の画素値I(x,y)それぞれに対応する観測ベクトルの方位角φ及び天頂角θを参照することによって、取得した複数の画素値I(x,y)をピーク数算出用データの画素にそれぞれ記録する。このピーク数算出用データの生成処理を、全ての画素位置(x,y)に対して行う。生成したピーク数算出用データの一例を図8(a)に示す。図8(a)に示すピーク数算出用データは、画素位置が(x,y)の、ある1画素に対応するピーク数算出用データである。
【0030】
S604において、判定部505は、各画素位置(x,y)について、観測された反射強度のピークの数を算出する。反射強度のピークの数は、ピーク数算出用データの局所的な領域における画素値の最大値に対応しているため、判定部505は、ピーク数算出用データに基づいて反射強度のピークの数を算出する。図7は、観測された反射強度のピークの数を算出する処理を示すフローチャートである。以下、図7を用いてS604における反射強度のピークの数を算出する処理について説明する。
【0031】
S6041において、判定部505は、注目画素(x,y)に対応するピーク数算出用データに対して、最大値フィルタを畳み込む。最大値フィルタのフィルタサイズは、S602において生成された反射特性データが表す分散の値に基づいて決定する。分散の値は正反射光の広がりの度合いを表す値であるため、どの範囲の値を1つの反射強度のピークとしてみなすことができるかを特定することができる。例えば、分散の値が大きい場合は、最大値フィルタのフィルタサイズを大きくする。フィルタサイズを3×3画素とした場合のフィルタ処理結果を図8(b)に示し、フィルタサイズを5×5画素とした場合のフィルタ処理結果を図8(c)に示す。フィルタサイズを3×3画素とした場合には、太枠で囲われた画素値が200の画素と180の画素とが2つのピークとして検出されるが、フィルタサイズを5×5画素とした場合には、太枠で囲われた画素値が200の画素1つがピークとして検出される。フィルタサイズに応じて、算出されるピークの数が変わることがわかる。尚、最大値フィルタのフィルタサイズは予め決められた値であってもよい。また、ピーク数算出用データにおいて複数のピークの角度が近い場合に、その複数のピークを1つのピークとしてみなす処理を追加してもよい。図8(d)に、図8(a)の画像の解像度を下げた結果を示し、図8(e)に、図8(d)の画像にフィルタサイズが3×3画素の最大値フィルタを畳み込んだ結果を示す。解像度の変換により、算出されるピークの数が1つになることがわかる。
【0032】
S6042において、判定部505は、ピーク数算出用データにおいて、S6041の処理前と処理後とで画素値が変わらない画素の画素位置(φ,θ)を特定する。S6043において、判定部505は、S6042において特定した画素位置(φ,θ)の画素のうち、画素値が所定の閾値以上である画素の画素位置(φ,θ)を特定する。S6043において用いる閾値は、ノイズの影響などによる微弱な画素値のピークを反射強度のピークとしてカウントしないために予め決められた閾値である。S6044において、判定部505は、S6043において特定した画素位置(φ,θ)の数を、反射強度のピークの数としてカウントする。
【0033】
S6045において、判定部505は、全ての画素位置(x,y)に対して、反射強度のピークの数を算出したか否かを判定する。全ての画素位置(x,y)に対して反射強度のピークの数を算出した場合は、S604の処理を終了してS605に進む。全ての画素位置(x,y)に対して反射強度のピークの数を算出していない場合は、注目画素の画素位置(x,y)を更新してS6041に戻る。
【0034】
S605において、判定部505は、反射強度のピークの数が1つとなる画素位置(x,y)の数が所定の閾値以上であるか否かを判定する。本実施形態において、S605において用いる所定の閾値は、画像の全画素の数とする。反射強度のピークの数が1つとなる画素位置(x,y)の数が所定の閾値以上である場合は、S606に進む。反射強度のピークの数が1つとなる画素位置(x,y)の数が所定の閾値未満である場合は、S607に進む。
【0035】
S606において、解像度変換部506は、公知の方法により画像の解像度を下げて、解像度変換後の画像データを画像データ保持部501に出力し、処理をS601に戻す。S607において、判定部505は、反射特性データ保持部504に保持されているN−1番目の反射特性データをHDD113などの記憶装置に出力する。Nが1である場合は、1番目の反射特性データを出力する。
【0036】
<第2実施形態の効果>
以上説明したように、本実施形態における画像処理装置は、画像の各画素に対応する反射強度のピークの数に基づいて、反射特性を高精度に算出するために撮像画像の解像度をどの程度まで下げられるかを決定する。これにより、物体の反射特性を取得する際のノイズの影響を抑制することができ、高精度に物体の反射特性を取得することができる。
【0037】
[第3実施形態]
第2実施形態においては、画像の各画素に対応する反射強度のピークの数に基づいて画像の解像度を下げるか否かを判定し、判定結果に応じて画像全体の解像度を下げた。本実施形態においては、画像の各画素に対応する反射強度のピークの数及び方向に基づいて、画像の領域ごとに画素値を平均化することにより局所的に解像度を下げる。尚、本実施形態における画像処理装置のハードウェア構成及び機能構成は第2実施形態のものと同様であるため、説明を省略する。以下において、本実施形態と第2実施形態とで異なる部分を主に説明する。尚、同一の構成については、同じ符号を付して説明する。
【0038】
<画像処理装置が実行する処理>
図9は、画像処理装置1が実行する処理のフローチャートである。以下、図9を用いて画像処理装置1が実行する処理の詳細を説明する。尚、下記処理は、ユーザからの処理を開始する指示を受け付けることによって開始する。S901〜S903の処理は、第2実施形態におけるS601〜S603の処理と同じであるため説明を省略する。
【0039】
S904において、判定部505は、各画素位置(x,y)について、観測された反射強度のピークの数を算出する。ピークの数の算出方法は第2実施形態と同様である。さらに、判定部505は、各画素位置(x,y)の画素にピークの数を記録したピーク数マップを生成する。S905において、判定部505は、ピーク算出用データとピーク数マップとに基づいて、各画素位置(x,y)の画素に反射強度のピークの方向(φ、θ)を記録したピーク方向マップを生成する。尚、ピーク数が複数の画素位置はピーク方向を取得せずに、ピーク方向マップにおける画素値を(−1,−1)とする。
【0040】
S906において、判定部505は、ピーク数マップに基づいて、ピークの数が1つとなる画素位置(x,y)が1つ以上あるか否かを判定する。ピークの数が1つとなる画素位置(x,y)が1つ以上ある場合は、S907に進む。ピークの数が1つとなる画素位置(x,y)が1つもない場合は、S909に進む。
【0041】
S907において、解像度変換部506は、ピーク数マップにおいて、ピークの数が1つである画素が隣接する領域を連結領域として特定する。さらに、解像度変換部506は、ピーク方向マップにおいて、ピークの方向が同じである画素が隣接する領域を連結領域として特定する。尚、ピーク方向マップにおいて、1つの連結領域に含まれる画素はピークの方向が必ずしも完全に一致する必要はなく、反射特性データが表す分散の値に応じて決まる範囲内を同じピーク方向としてみなしてもよい。さらに、解像度変換部506は、ピーク数マップにおいて特定した連結領域とピーク方向マップにおいて特定した連結領域との共通する連結領域を特定する。つまり、ここで特定する連結領域それぞれは、ピークの数が1つ、かつ、ピークの方向が同じである画素から成る。連結領域にはそれぞれラベルを付ける。
【0042】
S908において、解像度変換部506は、S907において特定した連結領域に対応する撮像画像の領域において画素値を平均化する。つまり、同じ方向に1つの反射強度のピークを有する画素が隣接する領域において、その領域に含まれる画素の画素値を平均値に変換する。画素値を平均化した画像を表す画像データを画像データ保持部501に出力し、処理をS901に戻す。S909において、判定部505は、反射特性データ保持部504に保持されているN−1番目の反射特性データをHDD113などの記憶装置に出力する。Nが1である場合は、1番目の反射特性データを出力する。
【0043】
<第3実施形態の効果>
以上説明したように、本実施形態における画像処理装置は、画像の各画素に対応する反射強度のピークの数及び方向に基づいて、画像の領域ごとに画素値を平均化することにより局所的に解像度を下げる。これにより、物体の反射特性を取得する際のノイズの影響を抑制することができ、高精度に物体の反射特性を取得することができる。
【0044】
[第4実施形態]
第3実施形態においては、画像の各画素に対応する反射強度のピークの数及び方向に基づいて連結領域を特定し、連結領域ごとに画素値を平均化することにより局所的に解像度を下げた。本実施形態においては、画像の各画素に対応する反射強度のピークの数、反射強度のピークの方向、反射強度の3つに基づいて連結領域を特定する。尚、本実施形態における画像処理装置のハードウェア構成及び機能構成は第3実施形態のものと同様であるため、説明を省略する。以下において、本実施形態と第3実施形態とで異なる部分を主に説明する。尚、同一の構成については、同じ符号を付して説明する。
【0045】
<画像処理装置が実行する処理>
図10は、画像処理装置1が実行する処理のフローチャートである。以下、図10を用いて画像処理装置1が実行する処理の詳細を説明する。尚、下記処理は、ユーザからの処理を開始する指示を受け付けることによって開始する。S1001〜S1005の処理は、第実施形態におけるS901〜S905の処理と同じであるため説明を省略する。
【0046】
S1006において、判定部505は、反射特性データに基づいて、各画素位置(x,y)の画素に反射強度のピークにおける反射強度を記録した反射強度マップを生成する。S1007において、判定部505は、ピーク数マップに基づいて、ピークの数が1つとなる画素位置(x,y)が1つ以上あるか否かを判定する。ピークの数が1つとなる画素位置(x,y)が1つ以上ある場合は、S1008に進む。ピークの数が1つとなる画素位置(x,y)が1つもない場合は、S1010に進む。
【0047】
S1008において、解像度変換部506は、ピーク数マップにおいて、ピークの数が1つである画素が隣接する領域を連結領域として特定する。さらに、解像度変換部506は、ピーク方向マップにおいて、ピークの方向が同じである画素が隣接する領域を連結領域として特定する。さらに、解像度変換部506は、反射強度マップにおいて、ピークの反射強度が同じである画素が隣接する領域を連結領域として特定する。尚、反射強度マップにおいて、1つの連結領域に含まれる画素は反射強度が必ずしも完全に一致する必要はなく、予め決められた閾値よりも反射強度の差が小さい画素を反射強度が同じ画素としてみなしてもよい。さらに、解像度変換部506は、ピーク数マップにおいて特定した連結領域と、ピーク方向マップにおいて特定した連結領域と、反射強度マップにおいて特定した連結領域と、の共通する連結領域を特定する。つまり、ここで特定する連結領域それぞれは、ピークの数が1つ、かつ、ピークの方向が同じ、かつ、ピークの反射強度が同じである画素から成る。連結領域にはそれぞれラベルを付ける。
【0048】
S1009において、解像度変換部506は、S1008において特定した連結領域に対応する撮像画像の領域において画素値を平均化する。つまり、同じ方向に同じ反射強度の1つのピークを有する画素が隣接する領域において、その領域に含まれる画素の画素値を平均値に変換する。画素値を平均化した画像を表す画像データを画像データ保持部501に出力し、処理をS1001に戻す。S1010において、判定部505は、反射特性データ保持部504に保持されているN−1番目の反射特性データをHDD113などの記憶装置に出力する。Nが1である場合は、1番目の反射特性データを出力する。
【0049】
<第4実施形態の効果>
以上説明したように、本実施形態における画像処理装置は、画像の各画素に対応する反射強度のピークの数、反射強度のピークの方向、反射強度に基づいて、画像の領域ごとに画素値を平均化することにより局所的に解像度を下げる。これにより、物体の反射特性を取得する際のノイズの影響を抑制することができ、高精度に物体の反射特性を取得することができる。
【0050】
[その他の実施形態]
上述した実施形態においては、反射特性の算出に用いる反射モデルを、ガウス関数によって表される反射モデルとしたが、Torrance−SparrowモデルやPhongモデルなどの他の反射モデルを用いて反射特性の算出を行ってもよい。
【0051】
上述した実施形態においては、画像処理により画像の解像度を変換したが、異なる解像度において再度撮像を行った画像を取得することによって画像の解像度を変換してもよい。
【0052】
上述した実施形態においては、ピークの数が2つ以上になるまで画像の解像度を下げたが、解像度の下げ方は上記一例に限定されない。例えば、画像を複数の解像度に下げ、それぞれの解像度の画像に対するピークの数の判定を並行して行う。判定の結果、反射特性を算出するために用いるべき画像の解像度を特定し、特定した解像度の画像に基づいて生成された反射特性データを出力してもよい。 第1実施形態においては、ユーザによって直接指定された解像度に画像の解像度を変換したが、ユーザによって指定される情報と解像度とが対応付けられたルックアップテーブルを用いて解像度を取得し、取得した解像度に画像の解像度を変換してもよい。ユーザによって指定される情報には、例えば、対象とする物体の素材に関する情報や、塗装などの表面加工に関する情報など、物体の反射特性に影響を与える要因に関する情報が考えられる。
【0053】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0054】
1 画像処理装置
201 画像データ取得部
204 解像度変換部
205 反射特性データ生成部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10