説明

画像処理システム、ならびに、画像処理方法

【課題】簡易な操作で、商品の全周囲画像列から商品を任意の向きから見た画像を得る。
【解決手段】端末装置181の角度センサ部811は、軸周りの角度を感知する。角度送信部812は、感知された角度を画像処理装置161に送信する。画像処理装置161の角度受信部801は、端末装置181から送信された角度を受信する。角度受付部802は、受信された角度を受け付ける。補間部803は、受け付けられた角度に基づいて、商品の全周囲画像列を補間して、補間済画像を得る。画像送信部804は、補間済画像を前記端末装置に送信する。端末装置181の画像受信部813は、画像処理装置161から送信された補間済画像を受信する。モニタ表示部814は、受信された補間済画像をモニタ画面に表示する。角度送信部812は、感知された角度に1より大きい定数を乗じた値を送信することとしても良い。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理システム、端末装置、画像処理方法、端末方法、プログラム、ならびに、情報記録媒体に関し、簡易な操作で商品の全周囲画像列から商品を任意の向きから見た画像を得るものである。
【背景技術】
【0002】
物体の周囲からその物体を順に撮影して得られる複数の画像からなる全周囲画像列は、当該物体の3次元形状モデルを生成する他(たとえば、非特許文献1を参照。)、商品の外観をわかりやすく消費者に見せる等、種々の応用が可能である。
【0003】
ここで、全周囲画像は、物体を中心とする円周上で、カメラの撮影方向が当該物体を向くように移動させながら、当該物体を含む現実世界の様子を順次撮影することによって得られる。
【0004】
このため、全周囲画像の撮影には、カメラの位置や向きを上記の設定に合わせるため、特殊な器具を必要とするのが一般的であった。
【0005】
一方、近年では、安価なディジタルカメラが普及している。ディジタルカメラでは、撮影用のレンズが被写体を含む外界の光を集めてCCD(Charge Coupled Device)等の画像センサに外界の様子を結像する。
【0006】
ユーザがシャッターを押すと、その後のある短時間の間に画像センサが感知した光の強さや波長等に基づいて、電子ファイルの形式の画像が得られる。この電子ファイルが、従来の光学式カメラにおける感光済みフィルムや現像済み印画紙に相当する。
【0007】
さらに、ライブプレビュー、あるいは、ライブビューと呼ばれる技術も普及している。ライブプレビューでは、画像センサが現在検知している画像を、そのままリアルタイムで液晶ディスプレイ等の画面に表示する(たとえば、非特許文献2を参照)。すなわち、ライブプレビューでは、液晶ディスプレイ等による電子ファインダが利用されるのである。
【0008】
ライブプレビューでファインダ画面に表示される画像は、「ユーザが今、この瞬間にシャッターを押したと仮定した場合に得られるであろう画像」に相当するものである。
【0009】
したがって、ライブプレビューを利用すれば、ユーザは、撮影の前に、被写体に対する構図や露光などを確認することができる。
【先行技術文献】
【非特許文献】
【0010】
【非特許文献1】保田和隆,右田剛史,青山正人,椋木雅之,浅田尚紀,疎な全周囲画像列からの密な3次元形状モデルの生成,社団法人情報処理学会研究報告,CVIM,コンピュータビジョンとイメージメディア,2003−CVIM−138(11),73頁〜80頁,http://harp.lib.hiroshima-u.ac.jp/bitstream/harp/6507,2003年5月8日
【非特許文献2】Wikipedia,The Free Encyclopedia,Live preview,http://en.wikipedia.org/wiki/Live_preview,2010年6月15日
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、中小の商店主やオークションの個人出品者が商品を紹介するための全周囲画像を撮影したい場合には、上記のような特殊な器具を用意できない場合がほとんどである。
【0012】
また、ユーザが撮影した撮影済画像から全周囲画像列を得ることができた後には、簡易な操作で当該全周囲画像列を補間して、商品を任意の向きから見た補間画像を得たい、という要望がある。
【0013】
本発明は、上記のような課題を解決するもので、簡易な操作で商品の全周囲画像列から商品を任意の向きから見た画像を得るのに好適な画像処理システム、端末装置、画像処理方法、端末方法、プログラム、ならびに、情報記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0014】
本発明の第1の観点に係る画像処理システムは、端末装置と、画像処理装置と、を備え、
(a)前記端末装置は、
前記端末装置の所定の軸周りの角度を感知する角度センサ部、
前記感知された角度を前記画像処理装置に送信する角度送信部
を備える。
(b)前記画像処理装置は、
前記端末装置から送信された角度を受信する角度受信部、
前記受信された角度を受け付ける角度受付部、
前記受け付けられた角度に基づいて、商品の全周囲画像列を補間して、当該商品を前記受け付けられた角度から見た様子を表す補間済画像を得る補間部、
前記得られた補間済画像を前記端末装置に送信する画像送信部
を備え、
(c)前記端末装置は、
前記画像処理装置から送信された補間済画像を受信する画像受信部、
前記受信された補間済画像をモニタ画面に表示するモニタ表示部
を備える
ように構成する。
【0015】
また、本発明の画像処理システムにおいて、
前記補間部は、
前記全周囲画像列に含まれる正規化画像のうち、その回転角が前記受け付けられた角度に最も近い正規化画像を選択し、
当該選択された正規化画像を、当該回転角と、当該受け付けられた角度とに基づいてアフィン変換することにより、
前記補間画像を得る
ように構成することができる。
【0016】
また、本発明の画像処理システムにおいて、
前記補間部は、
前記商品を近似する球体の舟型多円錐図法による展開図の各舟型を、前記全周囲画像列に含まれる正規化画像のうち、その回転角が当該舟型の緯度に最も近い正規化画像から、生成して、当該球体の表面に配置し、
前記受け付けられた角度から前記球体を見た画像を生成することにより、
前記補間画像を得る
ように構成することができる。
【0017】
また、本発明の画像処理システムにおいて、
前記補間部は、
前記商品を近似する多面体の各面を、前記全周囲画像列に含まれる正規化画像のうち、その傾きが当該面の法線方向に最も近い正規化画像から、生成して、当該球体の表面に配置し、
前記受け付けられた角度から前記多面体を見た画像を生成することにより、
前記補間画像を得る
ように構成することができる。
【0018】
本発明の第2の観点に係る端末装置は、モニタ画面を有し、
端末装置の所定の軸周りの角度を感知する角度センサ部、
前記感知された角度に1より大きい定数を乗じた値を画像処理装置に送信する角度送信部、
前記画像処理装置から送信された補間済画像を受信する画像受信部、
前記受信された補間済画像を前記モニタ画面に表示するモニタ表示部
を備えるように構成する。
【0019】
本発明の第3の観点に係る画像処理方法は、端末装置と、画像処理装置と、が、実行し、
(a)前記端末装置が、
前記端末装置の所定の軸周りの角度を感知する角度センサ工程、
前記感知された角度を前記画像処理装置に送信する角度送信工程
を備え、
(b)前記画像処理装置が、
前記端末装置から送信された角度を受信する角度受信工程、
前記受信された角度を受け付ける角度受付工程、
前記受け付けられた角度に基づいて、商品の全周囲画像列を補間して、当該商品を前記受け付けられた角度から見た様子を表す補間済画像を得る補間工程、
前記得られた補間済画像を前記端末装置に送信する画像送信工程
を備え、
(c)前記端末装置が、
前記画像処理装置から送信された補間済画像を受信する画像受信工程、
前記受信された補間済画像をモニタ画面に表示するモニタ表示工程
を備えるように構成する。
【0020】
本発明の第4の観点に係る端末方法は、モニタ画面を有する端末装置が実行し、当該端末装置は、角度センサ部、角度送信部、角度受信部、モニタ表示部を備え、
前記角度センサ部が、端末装置の所定の軸周りの角度を感知する角度センサ工程、
前記角度送信部が、前記感知された角度に1より大きい定数を乗じた値を画像処理装置に送信する角度送信工程、
前記画像受信部が、前記画像処理装置から送信された補間済画像を受信する画像受信工程、
前記モニタ表示部が、前記受信された補間済画像を前記モニタ画面に表示するモニタ表示工程
を備えるように構成する。
【0021】
本発明の第5の観点に係るプログラムは、コンピュータを、
当該コンピュータの所定の軸周りの角度を感知する角度センサ部、
前記感知された角度に1より大きい定数を乗じた値を画像処理装置に送信する角度送信部、
前記画像処理装置から送信された補間済画像を受信する画像受信部、
前記受信された補間済画像をモニタ画面に表示するモニタ表示部
として機能させるように構成する。
【0022】
本発明の第6の観点に係るコンピュータ読取可能な情報記録媒体は、コンピュータを、
当該コンピュータの所定の軸周りの角度を感知する角度センサ部、
前記感知された角度に1より大きい定数を乗じた値を画像処理装置に送信する角度送信部、
前記画像処理装置から送信された補間済画像を受信する画像受信部、
前記受信された補間済画像をモニタ画面に表示するモニタ表示部
として機能させるプログラムを記録するように構成する。
【0023】
すなわち、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。
【0024】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【0025】
本発明によれば、簡易な操作で商品の全周囲画像列から商品を任意の向きから見た画像を得るのに好適な画像処理システム、端末装置、画像処理方法、端末方法、プログラム、ならびに、情報記録媒体を提供することができる。
【図面の簡単な説明】
【0026】
【図1】本発明の一つの実施形態に係る画像処理システムの概要構成を示す説明図である。
【図2】本発明の一つの実施形態に係る商品撮影装置の概要構成を説明する説明図である。
【図3】撮影済画像と、ライブプレビュー画像と、ファインダ画面に表示される画像と、の関係を示す説明図である。
【図4】撮影済画像と、ライブプレビュー画像と、ファインダ画面に表示される画像と、の関係を示す説明図である。
【図5】本発明の一つの実施形態に係る商品撮影装置にて実行される商品撮影処理の制御の流れを示すフローチャートである。
【図6】本発明の一つの実施形態に係る画像変換装置の概要構成を示す説明図である。
【図7】本実施形態に係る画像変換装置にて実行される画像変換処理の制御の流れを示すフローチャートである。
【図8】本実施形態に係る画像処理装置の各要素と、端末装置の各要素と、の関係を示す説明図である。
【図9】画像処理装置の各要素と、端末装置の各要素と、において実行される画像処理の制御の流れを示すフローチャートである。
【発明を実施するための形態】
【0027】
以下に本発明の実施形態を説明する。本実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【0028】
(1.画像処理システム)
図1は、本実施形態に係る画像処理システムの概要構成を示す説明図である。以下、本図を参照して説明する。
【0029】
本実施形態に係る画像処理システム101は、商品撮影装置121、画像変換装置141、画像処理装置161、端末装置181から構成される。
【0030】
商品撮影装置121は、商品の紹介を行おうとする商店主やオークション出品者等が、当該商品を撮影する際に使用するものである。典型的には、商品撮影装置121は、情報処理機能を有するディジタルカメラや携帯電話、スマートフォンなどにより構成されるが、USB(Universal Serial Bus)カメラが接続されたパーソナルコンピュータ等により構成することも可能である。
【0031】
撮影者は、商品撮影装置121を用いて、その商品が視野のできるだけ中央に配置され、商品と商品撮影装置121との距離ができるだけ一定であるようにする。そして、撮影者は、その商品の周りをぐるりと一周しながら、あるいは、商品自体を回転させながら、撮影を繰り返し、複数の商品画像を得る。
【0032】
画像変換装置141は、商品撮影装置121による撮影により得られた複数の商品画像を、当該商品に対する全周囲画像列に変換するものである。ここで、全周囲画像列とは、当該商品を貫通する回転軸を中心とする円周上を移動するカメラから、当該商品を向く光軸方向で、当該商品を撮影したと想定した際に得られる画像の集合体である。
【0033】
したがって、回転軸から商品を経てカメラに至る角度は一定であり、回転軸とカメラの距離も一定であり、商品とカメラの距離が一定であるような状況で撮影されたと想定した画像が全周囲画像である。
【0034】
上記のように、商品撮影装置121を利用する撮影者は、このような特殊な撮影法に熟達しているわけでもなく、特殊な器具を有しているわけでもない。そこで、本実施形態では、商品撮影装置121を利用する際に、できるだけ全周囲画像の列が得やすくなるように、種々の補助を行う。
【0035】
すなわち、撮影の際には、本実施形態では、ライブプレビュー用に、液晶ディスプレイ等の電子ファインダを利用する。電子ファインダのファインダ画面には、商品撮影装置121から見た商品の現在の様子が表示されるほか、過去に撮影済みの商品の様子も重ねて表示される。
【0036】
したがって、撮影者は、商品がどのような大きさで、どのような角度で撮影されるか、を、過去の履歴と対比しながら撮影することができる。このため、回転軸から商品を経て商品撮影装置121に至る角度や、商品と商品撮影装置121の距離をできるだけ一定とすることができるのである。
【0037】
画像変換装置141は、複数の商品画像を全周囲画像列に変換するが、本実施形態で得られる変換結果は、ある種の近似であり、非特許文献1に開示されるような複雑な計算を必要としない点にも、本実施形態の特徴がある。
【0038】
画像変換装置141は、商品画像から全周囲画像列を得るものであり、画像処理装置161は、商品の全周囲画像列を管理するものであるが、典型的には、両者は、当該商品のネット販売を行う1つのサーバ装置により構成される。
【0039】
すなわち、商店主等は、自身がディジタルカメラ等の商品撮影装置121により撮影した複数の商品画像を、サーバ装置にアップロードする。
【0040】
すると、サーバ装置は、画像変換装置141として機能して、商品画像を全周囲画像列に変換する。
【0041】
さらに、サーバ装置は、画像処理装置161として機能して、この全周囲画像列を、当該商品をネット通信販売やネットオークションで購入するかを検討しているユーザに閲覧させる。この際に、全周囲画像列をそのままユーザに提供するのではなく、ユーザの興味を惹くような適切な画像処理を行うことも、本実施形態の特徴がある。
【0042】
ウェブサーバとして機能する画像処理装置161に対して、端末装置181は、ウェブ端末として機能して、画像処理装置161に全周囲画像列の適切な提供を求める。すなわち、端末装置181は、ウェブ等のコンピュータ通信網に接続が可能なパーソナルコンピュータや携帯電話、スマートフォン等により構成される。
【0043】
全周囲画像列は、商品の周囲をぐるりと一周したときに見える様子を画像にして、これを順次並べた列である。
【0044】
本実施形態では、端末装置181から、この一周の中のどの角度のときの画像が見たいか、を、画像処理装置161に通知する。
【0045】
すると、画像処理装置161は、全周囲画像に対して適宜補間処理を施して、その角度に応じた商品の外観を表す補間画像を生成する。
【0046】
そして、画像処理装置161から補間画像が端末装置181に送信され、端末装置181のモニタ画面に当該補間画像が表示される。
【0047】
端末装置181からは、キーボードやタッチパネルを利用して、ユーザが直接角度を入力するように構成することも可能である。ただし、携帯電話やスマートフォン等には、コンパス機能やGPS(Global Positioning System)機能、加速度センサ等を用いた傾き検知機能を持つものがある。
【0048】
したがって、このような機能により得られた角度をそのまま、あるいは当該角度を定数倍したものを用いると、端末装置181の向きを変えるだけで、補間画像に表現される商品の向きを変化させることができる。このように、ユーザが簡易な操作で商品の外観をぐるりと一周観察することができる点にも、本実施形態の特徴がある。
【0049】
なお、本実施形態では、画像処理装置161と端末装置181とを別の機器により構成しているが、両者を一つのパーソナルコンピュータやスマートフォン、携帯電話等により一体に構成することとしても良い。この場合、端末装置181と画像処理装置161との情報の送信ならびに受信は、1つの機器の電子回路内における電気信号の送受によって実現される。
【0050】
たとえば、画像変換装置141を構成するウェブサーバから、スマートフォンに、商品の全周囲画像列をダウンロードする。そして、スマートフォンが画像処理装置161として機能して、その傾きに応じて、スマートフォンが全周囲画像列から補間画像を生成して、モニタ画面に表示する、というものである。
【0051】
このように、本発明に係る画像処理の各機能を、各種のサーバ・クライアント方式により分散させて実現するか、それとも一体の装置により実現するか、は、画像処理を実現するコンピュータ等の情報処理装置の用途や性能に応じて、適宜変更が可能である。
【0052】
以下、本実施形態に係る画像処理システム101の各部について、さらに詳細に説明する。
【0053】
(2.商品撮影装置)
図2は、本実施形態に係る商品撮影装置121の概要構成を説明する説明図である。以下、本図を参照して説明する。
【0054】
商品撮影装置121は、画像センサ部201、指示受付部202、保存部203、ファインダ表示部204を備える。また、傾きセンサ部205を備えるように構成しても良い。
【0055】
すなわち、画像センサ部201は、商品が配置された外界から投射された光を感知して、当該感知の結果を表す画像を出力する。
【0056】
典型的には、画像センサ部201は、CCD等の画像センサにより構成される。画像センサ部201に感知される光は、レンズや各種の絞りを経て到達したものである。
【0057】
一方、指示受付部202は、ユーザからの撮影指示を受け付ける。指示受付部202は、いわゆるシャッターボタンに相当するものである。
【0058】
さらに、保存部203は、撮影指示が受け付けられると、画像センサ部201により感知されている画像を保存する。
【0059】
保存部203は、EEPROM(Electrically Erasable Programmable Read Only Memory)などにより構成されるフラッシュメモリカードやハードディスク等の不揮発性の情報記憶媒体に、撮影された画像ファイルを記録するのが一般的である。
【0060】
そして、ファインダ表示部204は、画像センサ部201により感知されている画像をファインダ画面に表示する。
【0061】
撮影者は、ファインダ画面に表示される画像を参照しながら、商品撮影装置121の位置や向きの調整、ピント合わせや絞りの調整を行う。
【0062】
ここまでの各部の機能は、ライブプレビュー機能が塔載されたディジタルカメラと同様である。
【0063】
本実施形態では、ファインダ表示部204は、画像センサ部201により感知されている画像をファインダ画面に表示する際に、保存部203により保存された画像と合成する点に、特徴がある。
【0064】
この合成においては、過去に撮影済みの視野を表す画像と、現在撮影しようと視野を表す画像と、が、ファインダ画面に重ねられて表示される。したがって、撮影者は、両者の画像をリアルタイムで対比しながら、商品撮影装置121の位置や向きの調整を行うことができる。
【0065】
2つの画像を重ねるための合成の手法として最も単純なものは、保存部203により保存された画像(撮影済画像)を半透明にして、画像センサ部201により感知されている画像(ライブプレビュー画像)にライブプレビューの画像に重ねて合成してファインダ画面に表示する手法である。
【0066】
図3、図4は、撮影済画像と、ライブプレビュー画像と、ファインダ画面に表示される画像と、の関係を示す説明図である。以下、これらの図を参照して説明する。なお、これらの図では、半透明を表現するために、適宜点線を利用するものとする。
【0067】
図3には、商品301がほぼ中央に配置する撮影済画像311と、同じく商品301がほぼ中央に配置するライブプレビュー画像321と、が示されている。両者では、商品301の角度が微妙に異なっている。
【0068】
撮影済画像311を半透明にしてライブプレビュー画像321に重ねて合成した結果得られるファインダ画像331では、2つの商品301の画像が、ほぼ同じ大きさで重なって表示されている。したがって、現在の状態でシャッターを切れば、全周囲画像列に変換する際に、誤差を小さくすることができる。
【0069】
一方、図4では、撮影済画像311では商品301がほぼ中央に配置されているが、ライブプレビュー画像321では、商品301の位置や大きさは、撮影済画像311とは大きく異なっている。
【0070】
すると、撮影済画像311を半透明にしてライブプレビュー画像321に重ねて合成した結果得られるファインダ画像331では、2つの商品301の画像は、ほとんど重なっていない。したがって、現在の状態でシャッターを切ってライブプレビュー画像321と同じ様子を表す新たな撮影済画像311を得たとしても、全周囲画像列に変換する際に、誤差が大きくなると考えられる。
【0071】
すなわち、撮影者は、図3のように、過去に撮影した商品301の画像と、現在見えている商品301の画像と、が、できるだけ同じ大きさで、少しだけ見える角度が違うように商品撮影装置121の位置を調整してから、撮影のための指示入力を与えれば良いことになる。
【0072】
なお、撮影者が商品撮影装置121を動かしたとしても、撮影済画像311内の商品301やその背景の位置は変化しないが、ライブプレビュー画像321内の商品301やその背景の位置は、撮影者の動きに連動して変化する。
【0073】
したがって、撮影者は、ファインダ画像331のうち、どれが撮影済画像311に由来する画像であり、どれがライブプレビュー画像321に由来する画像であるか、を、容易に区別することができる。
【0074】
また、両者の区別をより一層明確にするためには、撮影済画像311に対して色彩フィルタや、輪郭線抽出フィルタを施してから、ライブプレビュー画像321に合成するという手法もある。
【0075】
この他の手法としては、撮影済画像311と、ライブプレビュー画像321とを、交互にファインダ画面に表示する形態が考えられる。上記のように、ファインダ画面に表示されている画像がライブプレビュー画像321か撮影済画像311かは、撮影者の動きにファインダ画面の表示が追随するかそれとも固定されているか、によって区別できる。
【0076】
したがって、両画像を表示する時間長は、任意に設定することができる。ただし、一般には、ライブプレビュー画像321の表示時間が、撮影済画像311の表示時間よりも長くなるように、両者の表示切り替え時間を設定する。
【0077】
合成の対象となる撮影済画像311は、当該商品301の撮影を開始した時点の画像を採用するのが一般的であるが、撮影者が適宜選択できるようにしても良い。また、直前に撮影した画像を撮影済画像311として採用して合成することも可能である。
【0078】
さて、傾きセンサ部205は、商品撮影装置121の傾きを感知し、保存部203は、撮影指示が受け付けられると、画像センサ部201により感知されている画像を傾きセンサ部により感知されている傾きに対応付けて保存する。
【0079】
商品の周囲をぐるりと一周して撮影する際には、その回転軸は、重力の方向とするのが一般的である。この場合には、傾きセンサ部205は、加速度センサにより構成することができる。これに合わせて、GPSやコンパスなどの機能により、傾きを検知することとしても良い。
【0080】
加速度センサにより、商品撮影装置121の重力方向の軸に対する傾きを検知するとともに、GPSやコンパスなどを利用して、商品撮影装置121の重力方向の軸回りの回転量を検知すれば、傾きセンサ部205で、商品撮影装置121の3軸方向の傾きをすべて検知することができる。これにより、現実世界における商品撮影装置121の姿勢を、すべて把握することができる。これらの3軸方向の傾きの情報は、後述する画像変換装置141で、撮影済画像311を正規化して全周囲画像列を得る際に参照される。
【0081】
上記のように、適切な全周囲画像を得るためには、回転軸から商品301を経て商品撮影装置121に至る角度が一定であること、すなわち、重力に対する傾きが一定であることが望ましい。
【0082】
したがって、ファインダ画像331に、補助情報として、現在検知されている商品撮影装置121の傾き、すなわち、ライブプレビュー画像321の傾きの情報と、撮影済画像311の撮影時の傾きの情報と、を表示すれば、撮影者は、できるだけ一定の角度で商品301を撮影することができ、全周囲画像列への変換の際の誤差を小さくすることができる。
【0083】
本実施形態では、図3、図4に示すように、ファインダ画像331内に、ライブプレビュー画像321の傾きを表す棒グラフ322と、撮影済画像311の傾きを表す棒グラフ312と、が、表示される。撮影者は、両棒グラフ312、322の長さが一致するようにしてから撮影を行うように心掛ければ良い。
【0084】
なお、傾きを表す手法としては、棒グラフ312、322に限らず、一致と不一致の度合を表現できる任意の図形を採用することができる。また、傾きの数値を文字情報により表示することとしても良い。
【0085】
図5は、本実施形態に係る商品撮影装置121にて実行される商品撮影処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【0086】
本処理は、商品撮影装置121を構成するディジタルカメラ等において、商品の全周囲画像列の素材となる画像の撮影を開始する旨のユーザが選択することによって開始される。
【0087】
まず、商品撮影装置121において、画像センサ部201が、商品が配置された外界から投射された光を感知して、当該感知の結果を表す画像を出力する(ステップS501)。ここで出力される画像が、ライブプレビュー画像321である。
【0088】
ついで、傾きセンサ部205が、商品撮影装置121の現在の傾きを取得する(ステップS502)。
【0089】
ついで、指示受付部202において、ユーザからの撮影指示がなされたか否かを判定する(ステップS503)。
【0090】
ユーザからの撮影指示がなされた場合(ステップS503;Yes)、保存部203が、ライブプレビュー画像321と、ステップS502において検知された傾きと、を、対応付けて保存する(ステップS504)。この後、制御はステップS501に戻る。
【0091】
一方、ユーザからの撮影指示がなされていない場合(ステップS502;No)、本処理が開始されて以降に保存部203に保存された画像、すなわち、撮影済画像311があるか否かを調べる(ステップS505)。
【0092】
撮影済画像311が存在する場合(ステップS505;Yes)、いずれかの撮影済画像311を選択する(ステップS506)。この選択は、上記のように、最初に撮影された画像としても良いし、処理の途中で適宜ユーザが変更できることとしても良いし、直前に撮影された画像としても良い。
【0093】
そして、選択された撮影済画像311を半透明にして、ライブプレビュー画像321と合成する(ステップS507)。この際には、上記のように、撮影済画像311に色彩フィルタや輪郭抽出フィルタ等を施してから合成することとしても良い。また、上記のように、時分割でいずれかの画像を選択し、当該選択された画像を合成の結果とすることとしても良い。
【0094】
さらに、選択された撮影済画像311に対応付けられる傾きと、ステップS502において取得された商品撮影装置121の現在の傾きと、を、表す棒グラフ312、322をステップS506の合成結果に描画して、ファインダ画像331を得る(ステップS508)。
【0095】
そして、ファインダ表示部204が、ファインダ画像331を、液晶ディスプレイ等により構成されるファインダ画面に表示し(ステップS509)、ステップS501に戻る。
【0096】
一方、撮影済画像が存在しない場合(ステップS505;No)、ライブプレビュー画像321にステップS502において取得された商品撮影装置121の現在の傾きを表す棒グラフ322を描画して、ファインダ画像331を得る(ステップS510)。
【0097】
そして、ファインダ表示部204が、ファインダ画像331を、液晶ディスプレイ等により構成されるファインダ画面に表示し(ステップS511)、ステップS501に戻る。
【0098】
なお、傾きセンサ部205を省略した態様では、傾きに係る処理も適宜省略される。
【0099】
本実施形態では、商品撮影装置121の重力に対する傾きを棒グラフ312、322としてファインダ画像311内に描画している。
【0100】
このように、本実施形態に係る画像撮影装置121によれば、過去に撮影した商品の画像と、現在の商品のライブプレビューの画像と、が、重ねられてファインダ画面に表示されるので、商品と画像撮影装置121との距離をできるだけ一定に保つことができる。
【0101】
また、傾きを検知する態様では、画像撮影装置121を、所定の回転軸に対してできるだけ一定の姿勢で回転するように移動させることができる。
【0102】
したがって、ユーザは、商品の全周囲画像列に高い品質で変換することができる画像を、容易に撮影することができるようになる。
【0103】
(3.画像変換装置)
上記のように、画像撮影装置121を利用すれば、商品301の回りをぐるりと一周するように、かつ、商品301に対する距離や重力の方向に対する傾きをできるだけ一定に保ちながら、画像撮影装置121を移動させ、商品301を順次撮影することができる。
【0104】
このような撮影手法によって複数の撮影済画像311が得られたら、これらを正規化して、商品301の全周囲画像列を得ることができる。この際に、本実施形態の画像変換装置141が利用される。
【0105】
ここで、商品301の全周囲画像列とは、商品301を貫通するような回転軸を想定し、この回転軸から商品301を経てカメラに至る角度を一定に保ち、商品301とカメラとの距離を一定に保ちながら、カメラを回転軸の周りで回転させ、商品301を順次撮影したと仮定したときに得られる画像の列のことである。
【0106】
したがって、画像撮影装置121により撮影された複数の撮影済画像311は、「誤差の大きな全周囲画像列」と考えることができる。画像撮影装置121においては、上記の角度や距離をできるだけ一定に保ちながら商品301を撮影する工夫がなされているが、人間による撮影では、どうしても撮影時に誤差が生じてしまうからである。
【0107】
画像変換装置141は、複数の撮影済画像311を変換して、できるだけ誤差の小さい全周囲画像列を得るものである。
【0108】
ここで、本実施形態においては、撮影対象物の3次元モデルを構築する非特許文献1とは異なり、簡易な計算によって全周囲画像列を得ることができる。以下、詳細に説明する。
【0109】
図6は、本実施形態に係る画像変換装置141の概要構成を示す説明図である。以下、本図を参照して説明する。
【0110】
本実施形態に係る画像変換装置141は、画像受付部601、変換部602を有する。
【0111】
ここで、画像受付部601は、商品をその周囲から商品撮影装置121により撮影して保存された複数の撮影済画像311を受け付ける。
【0112】
画像変換装置141がウェブサーバなどにより構成される場合には、撮影者は、自身が撮影した撮影済画像311を、インターネットなどを介してアップロードする。画像受付部601は、このアップロードを受け付けるものである。
【0113】
なお、商品撮影装置121が撮影済画像311を画像変換装置141に自動的に送信するような形態を採用しても良い。この態様では、商品撮影装置121は、撮影済画像311の保存が所定の数行われるごとに、あるいは、所定の時間撮影がされなかった場合に自動的に撮影済画像311を送信を行う。この態様は、特に、PDA(Personal Data Assistant)やスマートフォン等の携帯型コンピュータにおいて所定のプログラムを実行することにより、商品撮影装置121を実現する場合に好適である。
【0114】
また、画像撮影装置121がディジタルカメラなどにより構成され、画像変換装置141がパーソナルコンピュータなどにより構成される場合には、両者の間でメモリカードを抜挿することによって撮影済画像311を移動する。
【0115】
一方、変換部602は、受け付けられた複数の撮影済画像311を商品301の全周囲画像列に変換する。
【0116】
ここで、本実施形態の変換部602は、さらに、抽出部611、推定部612、近似部613、出力部614から構成されている。
【0117】
ここで、抽出部611は、撮影済画像311を順に2枚ずつ取得する。そして、取得された2枚の撮影済画像311から、対応する特徴点を抽出する。この際には、各種の画像認識アルゴリズムを適用することが可能である。
【0118】
対応する特徴点が得られたら、2枚の撮影済画像311内における特徴点の配置から、当該2枚の撮影済画像311を撮影したときの商品撮影装置121の位置と向きとを推定して、これら2枚の撮影済画像311のそれぞれを正規化するためのアフィン変換行列を求める。ここで用いるアフィン変換は、拡大縮小、回転、斜行変換のほか、一点透視による透視変換を含むものである。このため、行列を表現する際には、適宜同次座標を用いる。
【0119】
なお、以下では、表記を簡易にして理解を容易にするため、混乱の生じない限り、元の行列やベクトルと、同次座標とするために追加された定数の次元を増やした行列やベクトルと、を、同じ記号で表記することがある。
【0120】
そして、近似部613は、2枚の撮影済画像311のそれぞれに対して得られたアフィン変換行列に基づくアフィン変換を当該撮影済画像311に適用して、正規化する。正規化済画像は、全周囲画像列に含まれるべき画像を近似するものである。
【0121】
出力部614は、ここで得られる2枚の正規化済画像と、これらが、回転軸周りにどれだけの差角で撮影されたか、を出力する。
【0122】
以下、画像変換装置141にて実行される画像変換処理の制御の流れを、さらに詳細に説明する。
【0123】
図7は、本実施形態に係る画像変換装置141にて実行される画像変換処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【0124】
まず、画像受付部601が、商品撮影装置121により撮影して保存された複数の撮影済画像311と、各撮影済画像311に対応付けられる傾きと、を受け付ける(ステップS701)。以下、理解を容易にするため、これらの撮影済画像311がN枚であるものとし、各撮影済画像をG[0],G[1],…,G[N-1]と表記する。また、各画像G[0],G[1],…,G[N-1]を撮影したときの傾きをR[0],R[1],…,R[N-1]とする。
【0125】
なお角括弧によって表現している添字部は、以降では、Nにかかる剰余類により表現されているものとする。すなわち、添字部の整数が負であったり、N以上であった場合には、これをNで割った余りを添字の値として利用する。たとえば、傾きR[N]は、傾きR[0]と同じものを意味し、画像G[-1]は、画像R[N-1]と同じものを意味する。
【0126】
傾きR[0],R[1],…,R[N-1]は、商品撮影装置112に固定されるカメラ座標系の各座標軸の方向を決定する情報である。したがって、傾きR[0],R[1],…,R[N-1]のそれぞれの自由度は6である。
【0127】
ただし、各座標軸の方向を表す単位ベクトルを並べることによって3行3列の行列により表現するのが一般的である。
【0128】
次に、0からNまでの間で整数kを変化させて以下の処理を繰り返す(ステップS702)。
【0129】
すなわち、抽出部611が、画像G[k]と画像G[k+1]から、対応する特徴点を抽出する(ステップS703)。
【0130】
ついで、推定部612は、抽出された特徴点の組のうち、いずれか3つの組を選択する(ステップS704)。この3つの組の選択の手法は任意であるが、画像G[k]内において、選択される対応点同士の距離が離れており、画像G[k+1]内においても、選択される対応点同士の距離が離れているように選択すると、誤差を抑えることができる。商品の天辺、底辺、左辺中央、右辺中央の近傍の特徴点から、いずれか3つを選択することとしても良い。
【0131】
以下、3つの特徴点をそれぞれP,Q,Wと呼ぶこととする。画像G[k]内においてこれらの特徴点が描画されている位置をp[k],q[k],w[k]、画像G[k+1]内においてこれらの特徴点が描画されている位置をp[k+1],q[k+1],w[k+1]と表記するものとする。
【0132】
そして、推定部612は、
(1)特徴点Pの画像G[k],G[k+1]における位置p[k],p[k+1]と、
(2)特徴点Qの画像G[k],G[k+1]における位置q[k],q[k+1]と、
(3)特徴点Wの画像G[k],G[k+1]における位置w[k],w[k+1]と、
(4)画像G[k]を撮影したときの商品撮影装置121の傾きR[k]と、
(5)画像G[k+1]を撮影したときの商品撮影装置121の傾きR[k+1]と、
から、
(x)画像G[k]を撮影したときの商品撮影装置121の位置T[k]と、
(y)画像G[k+1]を撮影したときの商品撮影装置121の位置T[k+1]と、
を、推定する(ステップS705)。
【0133】
この推定のアルゴリズムの詳細を、以下に詳細に説明する。
【0134】
一般に、カメラによる撮影においては、現実の世界に固定されたワールド座標系と、カメラに固定されたカメラ座標系と、の間の座標変換を用いる。ワールド座標系とカメラ座標系とは、いずれも3つの互いに直交する座標軸を持つ。
【0135】
以下、カメラ座標系における3つの座標軸の方向ベクトルを、それぞれrx,ry,rzとおく(数1〜数3)。
【0136】
【数1】

【0137】
【数2】

【0138】
【数3】

【0139】
なお、これらの数値rx1,rx2,…,rz3は、いずれも、ワールド座標系の座標値で、ベクトルrx,ry,rzを表現したものである。
【0140】
また、ワールド座標系の原点に対するカメラ座標系の原点の位置ベクトルをTとおく(数4)。
【0141】
【数4】

【0142】
この数値t1,t2,t3も、位置ベクトルTのワールド座標系の座標値である。
【0143】
このような条件の下で、点Pのカメラ座標系における座標値を並べたベクトルpcが、以下のように表現されたとする(数5)。
【0144】
【数5】

【0145】
すると、点Pのワールド座標系における座標値を並べたベクトルpwは、以下のように表現できる(数6)。
【0146】
【数6】

【0147】
ここで、行列Rは、カメラ座標系の座標軸の方向を表現する行列である。すなわち、商品撮影装置121で撮影を行った際の、傾きセンサ部205の重力センサやコンパス等の検知結果から、この行列が得られることになる。
【0148】
さて、この式では、平行移動を加算により表現しているが、同次座標表現を用いることに、行列の乗算のみで表現することも可能である(数7)。
【0149】
【数7】

【0150】
ここで、Rtは、行列Rの転置行列を意味する。Rはユニタリ行列であるから、
R-1 = Rt
が成立する。また、0tは、3次元の横零ベクトルである。
【0151】
さて、カメラ座標系のz軸に直交して、原点から焦点距離fだけ離間した投影面を考える。この投影面に投影された結果が、撮影済画像311に相当する。そこで、この投影面に固定された2次元座標系における座標値を並べたベクトルuを、以下のように表現する(数8)。
【0152】
【数8】

【0153】
すると、点Pが投影面に投影される先は、以下のように表現できる(数9)。
【0154】
【数9】

【0155】
これを書き換える(数10)。
【0156】
【数10】

【0157】
ここで、2つのベクトルが非零の比例定数で比例関係にあることを≡と表記するものとする(数11)。
【0158】
【数11】

【0159】
ワールド座標系で座標がpwの点Pを、位置T、傾きRの商品撮影装置121で撮影すると、撮影済画像311における投影先の座標puは、以下のように表現される(数12)。
【0160】
【数12】

【0161】
ここで、Mは、3行4列の行列である。
【0162】
なお、この投影面は、理想的なピンホールカメラを想定したものであり、カメラ座標系に固定されていて、2次元座標系の第1軸は、x軸に平行であり、2次元座標系の第2軸は、y軸に平行であるものとしている。
【0163】
この条件が必ずしも満たされない一般的な投影を採用した場合には、状況に応じた行列Aを採用すれば良い。
【0164】
たとえば、投影面とカメラ座標系のz軸とが角ψをなすとき、行列Aは、適当な定数k1,k2,uc1,uc2を用いて、以下のように表現できる(数13)。
【0165】
【数13】

【0166】
たとえば魚眼レンズを利用したような場合等であっても、行列Aを適切に定めることによって、上記と同様のアフィン変換行列Mを求めることができる。
【0167】
さて、このような撮影の関係に基づいて、以下、撮影の位置T[k],T[k+1]を求める手法について説明する。これらはいずれも3要素を持つから、未知数は合計で6個である。
【0168】
そこでひとまず、撮影位置T[k]、傾きR[k]に対するアフィン変換行列をM[k]とおき、撮影位置T[k+1]、傾きR[k+1]に対するアフィン変換行列をM[k+1]とおく。すると、以下のような関係が成立する(数14)。
【0169】
【数14】

【0170】
ただし、M[k]およびM[k+1]は、3行4列の行列であるから、M[k]-1およびM[k+1]-1は、M[k]およびM[k+1]の一般化逆行列であるものとする。一般化逆行列は、「ムーア−ペンローズの擬似逆行列」と呼ばれることもある。
【0171】
さてここで、未知数の数は、撮影位置T[k],T[k+1]の座標値の6個と、各≡における左辺と右辺の比例係数の3個の、合計9つである。
【0172】
一方、行列方程式は、3次元のものが3つあるから、合計9つである。したがって、これらの連立方程式を解くことで、すべての未知数を得ることができる。
【0173】
なお、連立方程式を解く際には、記号処理に基づく数式処理によって解を得ても良いし、各種の近似解法を利用することとしても良い。たとえば、T[k],T[k+1]および比例定数に適当な初期値を与えて最急降下法により、解を求める手法である。
【0174】
このほか、特徴点の数を増やすと、連立方程式の数をさらに増やすことができる。この場合には、各連立方程式の左辺から右辺を引いた誤差の自乗和を最小化するように最尤推定をすることで、これらの未知数を得ることができる。
【0175】
このように、画像内の対応する特徴点を3つ選択することで、撮影位置T[k],T[k+1]が判明する。逆に、撮影の位置T[k],T[k+1]が判明すれば、一点透視の透視投影におけるアフィン変換行列M[k],M[k+1]が求められる。
【0176】
これらの処理を繰り返す(ステップS707)と、ステップS705(x)により、
T[0],T[1],T[2],…,T[N-1]の各推定値
が得られ、ステップS705(y)により、
T[1],T[2],…,T[N-1],T[0]の各推定値
が得られることになる。
【0177】
したがって、いずれか一方を選択する、あるいは、両者の平均を求めることによって、商品撮影装置121の位置
T[0],T[1],T[2],…,T[N-1]
を同定する(ステップS707)。
【0178】
さらに、以下の手法により、現実世界における商品301の位置Hを同定する(ステップS708)。
【0179】
すなわち、整数k = 0,1,2,…,N-1のそれぞれについて、傾きR[k]から、撮影の光軸方向を取得する。そして、撮影の位置T[k]を通り、当該光軸方向に伸びる直線を想定する。これらN本の直線は、商品301の位置H、もしくは、その近傍を通過するはずである。
【0180】
そこで、商品301の位置HとこれらN本の直線との距離の自乗和が最小化するように、最小自乗法により、商品301の位置Hを求めることができる。
【0181】
さて、上記のような商品撮影装置121を使って撮影を行った場合、同定された撮影の位置T[0],T[1],T[2],…,T[N-1]は、商品301の位置Hを貫通する中心軸のまわりに、円周状に配置されているものと考えられる。また、人間が商品の撮影を行う場合に、必ずしも真横から撮影するとは限らず、斜め上方から撮影することも多い。
【0182】
すなわち、理想的には、位置Hを頂点とする円錐の底面に、推定された撮影位置T[0],T[1],T[2],…,T[N-1]が配置されることになるはずである。また、真横から撮影した場合には、位置Hを中心とする円周上に、推定された撮影位置T[0],T[1],T[2],…,T[N-1]が配置されることになるはずである。
【0183】
しかしながら、撮影は人間が操作しているため、必ず、誤差が生じる。このため、撮影位置T[0],T[1],T[2],…,T[N-1]を正規化することにより、位置Hを中心とする正円錐の底面である正円周上に正規化位置S[0],S[1],S[2],…,S[N-1]を同定する(ステップS709)。なお、この正円錐の頂角を180度とすることによって、位置Hを中心とする正円周上に正規化位置S[0],S[1],S[2],…,S[N-1]が並ぶ場合にも対応できる。
【0184】
この同定のため、具体的には、以下のような計算を行う。
【0185】
まず、位置Hから各撮影位置T[0],T[1],T[2],…,T[N-1]が離れている距離を揃える。すなわち、整数k = 0,1,2,…,N-1のそれぞれについて、距離を揃えるためのスケール係数sc[k]と、位置
U[k] = T[k] + sc[k](T[k]-H)/|T[k]-H|
とを、sc[0],sc[1],sc[2],…,sc[N-1]をできるだけ小さくように、計算する。
【0186】
すなわち、位置U[k]は、商品301の位置Hと撮影位置T[k]を結ぶ直線上にあり、位置U[k]と撮影位置T[k]は、sc[k]だけ離間している。この際に、sc[0],sc[1],sc[2],…,sc[N-1]を最小化することを拘束条件とするのである。
【0187】
最も単純には、各撮影位置T[0],T[1],T[2],…,T[N-1]との平均距離Dを
D = Σk=0N-1 |T[k]-H|/N
により求め、
sc[k] = D - |T[k]-H|
とすれば、各|U[k]-H|は、すべて距離Dに等しくなる。
【0188】
次に、円錐の底面となる円周の中心の位置Jおよび半径rを計算する。円周の中心の位置Jは、
J = Σk=0N-1 U[k]/N
のように、位置U[k]の重心とするのが最も単純である。次に円周の半径rは、
r = Σk=0N-1 |U[k]-J|/N
のように、位置Jと各U[k]との距離の平均とするのが最も単純である。
【0189】
このようにして、商品301の位置、ならびに、当該商品301の全周囲画像列を撮影する際の円周の軌跡が定められる。この円周は、位置Hと位置Jを結ぶ直線を回転軸としている。
【0190】
そこで、次に、各k = 0,1,2,…,N-1について、撮影位置T[k]に対する円周上の位置S[k]を同定する。ここで求められる位置S[k]は、撮影位置T[k]を正規化した、仮想的な撮影位置に相当する。
【0191】
円周上のうち、撮影位置T[k]に最も近い位置をS[k]とする手法が最も単純である。
【0192】
まず、ベクトルH-Jと、ベクトルT[k]-Jと、から、ベクトルOP[k] = ((H-J)×(T[k]-J))×(H-J)を計算する。
【0193】
ベクトル(H-J×T[k]-J)は、ベクトルH-JおよびベクトルT[k]-Jの両方に直交する。
【0194】
したがって、ベクトルOP[k] = ((H-J)×(T[k]-J))×(H-J)は、ベクトルH-Jと、ベクトルT[k]-Jと、が張る平面に平行であり、ベクトルH-Jと直交する。
【0195】
すなわち、位置Jから当該円周が張る平面に対してT[k]から垂らした足へ伸びる半直線と、ベクトルOP[k]とは、同じ向きに平行に伸びるのである。
【0196】
したがって、撮影位置T[k]に最も近い円周上の点の正規化位置S[k]は、
S[k] = J + r OP[k]/|OP[k]|
により求められることになる。
【0197】
このように、正規化位置S[0],S[1],…,S[N-1]は、所定の円周上に並ぶ。そこで、この円周上で、S[0]から見て、S[0],S[1],…,S[N-1]のそれぞれが、中心Jに対して、どれだけ回転しているか、を求めることも可能である。
【0198】
すなわち、正規化位置S[0],S[1],…,S[N-1]の回転角を、それぞれθ[0],θ[1],…,θ[N-1]とする。整数k = 0,1,…,N-1に対して、θ[k]は、ベクトルS[0]-Jに対してベクトルS[k]-Jが張る角ということになる。すなわち、
cos(θ[k]) = 《S[0]-J,S[k]-J》/(|S[0]-J|・|S[k]-J|),
sin(θ[k]) = |(S[0]-J)×(S[k]-J)|/(|S[0]-J|・|S[k]-J|)
により、各回転角θ[k]を求めることができる。ここで《x,y》は、ベクトルxとベクトルyの内積である。
【0199】
なお、このようにして得られたθ[k]は、
0=θ[0]≦θ[1]≦θ[2]≦…≦θ[N-2]<2π
のように昇順に並ぶことと考えても、一般性を失わない。もしあるkにおいて
θ[k]>θ[k+1]
となって、順序が入れかわってしまっている場合には、
(a)画像G[k]、傾きR[k]撮影位置T[k]、正規化位置S[k]、回転角θ[k]と、
(b)画像G[k+1]、傾きR[k+1]撮影位置T[k+1]、正規化位置S[k+1]、回転角θ[k+1]と、
を、まとめて入れ換えれば良いからである。
【0200】
さらに、整数k = 0,1,2,…,N-1について、仮想化位置S[k]における仮想的な撮影の傾きV[k]を計算する(ステップS710)。具体的には、
仮想化位置S[k]から商品301の位置Hに向かうベクトルH-S[k]を、撮影の光軸方向(z軸)とし、
仮想化位置S[k]における円周の接線方向を撮影の左右方向(x軸)とし、
仮想化位置S[k]から円周の中心位置Jに向かうベクトルJ-S[k]の、H-S[k]に直交する成分を、撮影の上下方向(y軸)とする
のが典型的である。この2つの方向を定めることで、カメラ座標系の6つの自由度が決定される。仮想化位置S[k]における撮影の傾きV[k]も自動的に定まることになる。
【0201】
さて、上記のように、現実の空間内の位置pwに配置される点Pは、撮影位置T[k]から向きR[k]で撮影すると、以下の関係を満たす画像G[k]の位置puに投影される(数15)。
【0202】
【数15】

【0203】
ここで、この式の比例定数は、[数10]にも表示の通り、点Pのカメラ座標系におけるz軸、すなわち撮影方向の光軸の座標値pc3である。
【0204】
したがって、点Pが表面に配置された商品301を商品撮影装置121で撮影する際には、商品301と商品撮影装置121との距離
d[k] = |T[k]-H|
をpc3の近似値とすることができる(数16)。
【0205】
【数16】

【0206】
逆に、画像G[k]の位置puに投影されている点Pの現実空間内における位置pwは、以下の近似計算により求めることができる(数17)。
【0207】
【数17】

【0208】
同様に、現実世界の位置pcに配置されている点Pが、回転角θ[k]における正規化画像B[k]において、位置pu'に投影されるものとする。
【0209】
正規化画像B[k]を撮影した位置は、正円錐の底面であり、各正規化位置S[k]と頂点Hとの距離d = |S[k]-H|は、kにかかわらず一定であるから、以下のような関係が成立する(数18)。
【0210】
【数18】

【0211】
すなわち、正規化画像B[k]における位置pu'は、撮影済画像G[k]における位置puと対応付けられることになるが、この位置puは、以下のように近似することができる(数19)。
【0212】
【数19】

【0213】
したがって、正規化画像B[k]内の各位置について、
(1)撮影済画像G[k]の画素の位置を、上記の関係により求め、
(2)求められた位置の撮影済画像G[k]における画素値を取得し、
(3)当該取得された画素値を、正規化画像B[k]の当該位置の画素値として描画する
ことによって、正規化画像B[k]が得られるのである。
【0214】
このようなアルゴリズムを利用して、近似部613は、整数k = 0,1,2,…,N-1のそれぞれについて、仮想化位置S[k]から傾きV[k]で撮影した場合の現実の位置から画像内の位置への変換を行うアフィン変換行列L[k]を計算する(ステップS711)。
【0215】
その後、画像G[k]に対して、アフィン変換行列
(d/d[k])M[k]L[k]-1
による変換を施して、全周囲画像列に含まれる回転角θ[k]に対する正規化画像B[k]を得る(ステップS712)。
【0216】
このようにして、正規化画像B[0],B[1],B[2],…,B[N-1]を並べた全周囲画像列、ならびに、各正規化画像に対する回転角θ[0],θ[1],θ[2],…,θ[N-1]が得られたら、出力部614は、これらを全周囲画像列の情報として出力して(ステップS713)、本処理を終了する。
【0217】
なお、ステップS719においては、現実世界の位置から正規化画像内の位置への変換を行うアフィン変換行列(1/d)L[0],(1/d)L[1],(1/d)L[2],…,(1/d)L[N-1]も全周囲画像列の情報の一部として出力することが望ましい。
【0218】
出力された全周囲画像列、回転角、および、アフィン変換行列の情報は、サーバ装置内のハードディスクなどに蓄積されるのが一般的であるが、ここからスマートフォンや携帯電話、パーソナルコンピュータ等へダウンロードすることも可能である。
【0219】
なお、上記の説明では、商品301を頂点とする略円錐の底面の略円周上を商品撮影装置121が移動しながら、商品301を撮影することによって、撮影済画像が得られている。
【0220】
そして、撮影の結果に含まれる誤差を修正して、商品301を頂点とする正円錐の底面の正円周上を商品撮影装置121が移動しながら商品301を撮影することによって得られるであろう正規化画像を得ることとしている。
【0221】
ここで、処理を簡略化するために、商品撮影装置121が移動するのは商品301を中心とする略円周上であり、正規化画像は、商品301を中心とする正円周上から見た様子であると仮定しても良い。この手法では、拘束条件が上記の説明に比べて大幅に簡略化されるため、より一層の計算の速度向上が見込める。
【0222】
このほか、各種の最尤推定の技術を利用して、商品301の位置や円錐の形状を定めることとしても良い。
【0223】
以下では、本実施形態に係る商品撮影装置121を利用した場合に、より一層簡易な近似計算で、撮影位置T[k],T[k+1]、傾きR[k],R[k+1]、アフィン変換行列M[k],M[k+1]を求める手法について計算する。
【0224】
上記のように、(数10)から(数11)への変形においては、比例定数pc3を消去している。この比例定数pc3は、撮影方向の光軸における撮影対象の点の座標値、すなわち、カメラから撮影対象の点への奥行きを表すものである。
【0225】
一方で、本実施形態に係る商品撮影装置121を利用した場合には、撮影済画像において商品301の大きさがほぼ一定になるように撮影が行われる。したがって、商品301への奥行きは、いずれの撮影位置から見た場合であっても、ほぼ等しいと考えられる。
【0226】
すると、(数14)における比例関係「≡」は、等号「=」に置き換えることが可能となる。すると、未知数である比例定数を求める必要がなくなる。
【0227】
したがって、商品301への奥行きが等しいとして、位置p,qの2つの特徴点から、以下の連立方程式により、撮影位置T[k],T[k+1]、傾きR[k],R[k+1]、アフィン変換行列M[k],M[k+1]を求めることができる。
【0228】
【数20】

【0229】
すなわち、未知数の数は、撮影位置T[k],T[k+1]の座標値の6個であり、行列方程式は3次元のものが2つであり、合計6つであるから、撮影位置T[k],T[k+1]を計算により求めることができるのである。
【0230】
具体的な計算は、上記の形態と同様の手法を採用することができる。
【0231】
撮影位置を求めるために参照する特徴点の数が多くなれば、計算の負荷は高くなるが、計算精度は向上する。また、特徴点の数を3つ以上とすれば、各撮影位置T[k]に対する商品301の位置に特段の前提条件がなくとも、撮影位置T[k],T[k+1]、傾きR[k],R[k+1]、アフィン変換行列M[k],M[k+1]を求めることができる。
【0232】
一方で、本実施形態のように、各撮影位置T[k]に対するに対する商品301の奥行きがほぼ等しいと考えられる場合には、特徴点の数を2つとすれば、計算の負荷を低くすることができる一方で、近似を用いつつも高い精度で撮影位置T[k],T[k+1]、傾きR[k],R[k+1]、アフィン変換行列M[k],M[k+1]を求めることができる。
【0233】
(4.画像処理装置)
全周囲画像列に含まれる正規化画像B[0],B[1],B[2],…,B[N-1]は、それぞれ、商品301の周囲の回転角θ[0],θ[1],θ[2],…,θ[N-1]に対応付けられている。なお、上記のように、
0=θ[0]≦θ[1]≦θ[2]≦…≦θ[N-1]<2π
としても一般性を失わない。
【0234】
画像処理装置161は、ユーザから任意の回転角φが与えられると、当該回転角φに相当する位置から商品301を見たときの画像を、前記情報から補間して、ユーザに提示する機能を果たす。もっとも単純に補間を行う手法は、以下の通りである。
【0235】
上記のように、円錐底面における回転角φからは、円錐底面の円周上の位置S(φ)、および、そこでの撮影の傾きV(φ)を一意に求めることができる。したがって、当該位置S(φ)ならびに傾きV(φ)と、円錐の斜辺の長さdから、アフィン変換行列(1/d)L(φ)が一意に定められる。
【0236】
回転角θ[0],θ[1],θ[2],…,θ[N-1]のうち、つぎに、回転角φに最も近いものを選択する。選択された回転角がθ[k]であったとする。
【0237】
この手法では、正規化画像B[k]から、回転角φに対する補間画像B(φ)を得る。
【0238】
最も単純な手法は、正規化画像B[k]を、そのまま補間画像B(φ)とする手法である。これは、Nが十分に大きい場合(たとえば、20以上)に、計算量を抑制する意味で効果的である。
【0239】
このほか、上記のように、正規化画像B[k]に対しては、現実世界を画像に投影するためのアフィン変換行列(1/d)L[k]ならびに、その逆を行うアフィン変換行列d L[k]-1が対応付けられている。
【0240】
そこで、正規化画像B[k]に対して、アフィン変換
(1/d)L(φ)d L[k]-1 = L(φ)L[k]-1
を施すことにより、補間画像B(φ)が得られることになる。
【0241】
この手法では、1つの補間画像B(φ)を得るために、一つの正規化画像B[k]のみを利用しているが、複数の正規化画像B[k]から、1つの補間画像B(φ)を得ることも可能である。たとえば、回転角について
θ[k]≦φ<θ[k+1]
が満たされる正規化画像B[k],B[k+1]の2つについて、上記のようにアフィン変換を適用する。
【0242】
そして、B[k]にアフィン変換を適用して得られた画像の、左側(φ-θ[k])/(θ[k+1]-θ[k])を抽出し、B[k+1]にアフィン変換を適用して得られた画像の、右側(θ[k+1]-φ)/(θ[k+1]-θ[k])を抽出し、これらを左右に並べることで補間画像B(φ)とする手法である。なおここでは、φやθは、ユーザに近い側が左から右に回転するときに増加するように、向きを定めているが、逆向きにしても向きを入れ換えることで同様の手法が採用できる。
【0243】
また、2枚の正規化画像を並べるのではなく、より多くの正規化画像を並べる場合にも、上記と同様に、正規化画像を回転方向に対して垂直帯状に切断して抽出し、これらを並べることにより、補間画像B(φ)を得ることができる。
【0244】
さて、図8は、本実施形態に係る画像処理装置161の各要素と、端末装置181の各要素と、の関係を示す説明図である。図9は、画像処理装置161の各要素と、端末装置181の各要素と、において実行される画像処理の制御の流れを示すフローチャートである。以下、これらの図を参照して説明する。
【0245】
なお、上記のように、画像処理装置161と、端末装置181と、は、一体として構成することも可能であるし、別々の機器として構成することも可能である。また、各部をいずれの機器に配置するか、も、任意に変更が可能である。そこで本図では、最も典型的な態様を図示している。
【0246】
本図に示すように、本実施形態に係る画像処理装置161は、角度受信部801、角度受付部802、補間部803、画像送信部804を有する。
【0247】
一方、端末装置181は、角度センサ部811、角度送信部812、画像受信部813、モニタ表示部814を有する。
【0248】
画像処理が開始されると、画像処理装置161ではサーバ処理が、端末装置181では端末処理が、それぞれ実行される。
【0249】
まず、端末装置181において、角度センサ部811が、端末装置181の所定の軸周りの角度φを感知する(ステップS901)。
【0250】
商品撮影装置121により商品を撮影する際には、3軸の傾きを検知するのが一般的としていたが、端末装置181においては、加速度センサを1つだけ用いて、重力の方向に対する傾きを検知することとしても十分である。もちろん、3軸の傾きを検知することとしても良い。
【0251】
ついで、角度送信部812は、感知された角度φを画像処理装置161に送信する(ステップS902)。
【0252】
すると、画像処理装置161において、角度受信部801は、端末装置181から送信された角度φを受信して、角度受付部802に受け付けさせる(ステップS903)。
【0253】
そして、補間部803は、受け付けられた角度φから、上記のようなアルゴリズムに基づいて、補間画像B(φ)を得る(ステップS904)。
【0254】
さらに、画像送信部804は、得られた補間画像B(φ)を、端末装置161に送信して(ステップS905)、処理はステップS903に戻る。
【0255】
さて、端末装置181では、画像受信部813が、画像処理装置161から送信された補間画像B(φ)を受信する(ステップS906)。
【0256】
そして、モニタ表示部814が、受信された補間画像B(φ)を、モニタ画面に表示して(ステップS907)、処理はステップS901に戻る。
【0257】
このように、本実施形態では、端末装置181を傾けるだけで、その傾きに連動して、端末装置181のモニタ画面に表示される商品301も回転することになり、ユーザは、容易に商品301の全周囲の様子を見ることができる。
【0258】
なお、画像処理装置161と、端末装置181と、を、一体として構成する際には、角度センサ部811により検知された角度φが補間部803に与えられ、補間部803により得られた補間画像B(φ)がモニタ表示部814に与えられて、補間画像B(φ)がモニタ画面に表示される。すなわち、端末装置181は、角度センサ部811、補間部803、モニタ表示部814から構成されることになる。
【0259】
このほか、傾きセンサを有していない一般的なパーソナルコンピュータによって端末装置181を実現する場合には、角度センサ部811を用いて角度φを感知するのではなく、ユーザがキーボードやマウス等の入力装置を操作することによって、角度φを入力するような形態を採用しても良い。たとえば、キーボードの第1のボタンを押圧することによってφが増加し、第2のボタンを押圧することによってφが減少するような操作体系や、マウスの移動量にφの値を連動させるような操作体系を採用することができる。
【0260】
また、上記の例においては、感知された角度φをそのまま利用して、補間画像B(φ)を表示することとしている。しかしながら、1より大きい定数kを利用して、感知された角度φに対し、補間画像B(kφ)を表示することとしても良い。すなわち、角度受付部802は、受け付た角度をk倍してしまう、というものである。
【0261】
補間画像B(φ)を表示する手法では、商品301の全周囲を観察するには、ユーザは、端末装置181自体を1周、360度回転させる必要がある。
【0262】
一方、補間画像B(kφ)を表示する手法では、商品301の全周囲を観察するために必要な端末装置181の回転量は(360/k)度ですむ。
【0263】
たとえば、k=4とすれば、ユーザは、端末装置181の傾きを90度だけ変化させれば、商品301の全周囲を観察することが可能である。
【0264】
なお、角度をk倍する処理は、たとえば端末装置181において実行しても良い。たとえば、検知された角度φを角度送信部812がk倍して、角度kφを送信する、等である。
【0265】
以下では、正規化画像B[0],B[1],B[2],…,B[N-1]ならびに回転角θ[0],θ[1],θ[2],…,θ[N-1]と、与えられた回転角φと、から、補間画像B(φ)を得る他の手法について説明する。
【0266】
すなわち、商品301を球体と考えて、正規化画像B[0],B[1],B[2],…,B[N-1]から舟型多円錐図法(interrupted normal polyconic projection)による展開図を作る。そして、この展開図から球体を形成し、この球体を位置S(φ)ならびに傾きV(φ)で観察したとして、補間画像B(φ)を作るというものである。
【0267】
地球儀を作成する際の舟型多円錐図法では、経度30度ごとに地球表面を切断して12個の舟形を作る。本実施形態では、舟形はN個である。また、上記のように、θ[0] = 0を想定する。そして、
(0)正規化画像B[0]から緯度(θ[N-1]+2π)/2〜緯度2π、ならびに、緯度0〜緯度θ[1]/2の舟形を作り、
(1)正規化画像B[1]から緯度(θ[0]+θ[1])/2〜緯度(θ[1]+θ[2])/2の舟形を作り、
(2)正規化画像B[2]から緯度(θ[1]+θ[2])/2〜緯度(θ[2]+θ[3])/2の舟形を作り、…、
(k)正規化画像B[k]から緯度(θ[k-1]+θ[k])/2〜緯度(θ[k]+θ[k+1])/2の舟形を作り、…、
(N−1)正規化画像B[N-1]から緯度(θ[N-2]+θ[N-1])/2〜緯度(θ[N-1]+2π)/2の舟形を作る。
【0268】
舟形を作成する単純な方法としては、各正規化画像から、当該舟形に対応する位置をそのまま切り取る、という手法がある。この手法は、商品301の全体形状が球体に類似する場合に好適である。
【0269】
こうしてできたN個の舟形を結合することで、仮想的に略球体を形成することができる。あとは、この略球体を位置S(φ)ならびに傾きV(φ)で観察したとして、補間画像B(φ)を作るのである。
【0270】
このほか、後述する多面体近似と同様に、位置S[k]を視点位置とし、舟形を球体表面に貼り付けたものを投影面として、正規化画像B[k]を舟形に投影する手法がある。この手法では、商品301を覆う球体の表面を複数の舟形領域に分割し、各舟形領域に、正規化画像を投影することになる。
【0271】
上述の通り、商品301を仮想的な凸多面体で近似する、という手法もある。当該凸多面体の全体の商品の形状に類似するものを選択する。
【0272】
そして、当該凸多面体の表面に配置される各多角形に対して、以下のような処理を行うことにより、商品301の凸多面体モデルを形成するのである。
【0273】
まず、正規化画像B[0],B[1],B[2],…,B[N-1]のうち、生成の際の傾きV[0],V[1],V[2],…,V[N-1]が、当該多角形の法線方向に最も近い正規化画像B[k]を選択する。
【0274】
まず、正規化画像B[k]を商品301の位置に当該回転角θ[k]で仮想的に配置する。そして、位置S[k]を視点位置とし、当該多角形を投影面として、正規化画像B[k]を多面体に投影する。
【0275】
一旦このような略球体モデルや凸多面体モデルが形成された後は、これらのモデルを、さまざまな方向から見ることが可能となる。
【産業上の利用可能性】
【0276】
本発明によれば、簡易な操作で商品の全周囲画像列から商品を任意の向きから見た画像を得るのに好適な画像処理システム、端末装置、画像処理方法、端末方法、プログラム、ならびに、情報記録媒体を提供することができる。
【符号の説明】
【0277】
101 画像処理システム
121 商品撮影装置
141 画像変換装置
161 画像処理装置
181 端末装置
201 画像センサ部
202 指示受付部
203 保存部
204 ファインダ表示部
205 傾きセンサ部
301 商品
311 撮影済画像
312 撮影済画像の撮影時の傾きを表す棒グラフ
321 ライブプレビュー画像
322 現在の傾きを表す棒グラフ
331 ファインダ画像
601 画像受付部
602 変換部
611 抽出部
612 推定部
613 近似部
614 出力部
801 角度受信部
802 角度受付部
803 補間部
804 画像送信部
811 角度センサ部
812 角度送信部
813 画像受信部
814 モニタ表示部

【特許請求の範囲】
【請求項1】
端末装置と、画像処理装置と、を備える画像処理システムであって、
(a)前記端末装置は、
前記端末装置の所定の軸周りの角度を感知する角度センサ部、
前記感知された角度を前記画像処理装置に送信する角度送信部
を備え、
(b)前記画像処理装置は、
前記端末装置から送信された角度を受信する角度受信部、
前記受信された角度を受け付ける角度受付部、
前記受け付けられた角度に基づいて、商品の全周囲画像列を補間して、当該商品を前記受け付けられた角度から見た様子を表す補間済画像を得る補間部、
前記得られた補間済画像を前記端末装置に送信する画像送信部
を備え、
(c)前記端末装置は、
前記画像処理装置から送信された補間済画像を受信する画像受信部、
前記受信された補間済画像をモニタ画面に表示するモニタ表示部
を備えることを特徴とする画像処理システム。
【請求項2】
請求項1に記載の画像処理システムであって、
前記補間部は、
前記全周囲画像列に含まれる正規化画像のうち、その回転角が前記受け付けられた角度に最も近い正規化画像を選択し、
当該選択された正規化画像を、当該回転角と、当該受け付けられた角度とに基づいてアフィン変換することにより、
前記補間画像を得る
ことを特徴とする画像処理システム。
【請求項3】
請求項1に記載の画像処理システムであって、
前記補間部は、
前記商品を近似する球体の舟型多円錐図法による展開図の各舟型を、前記全周囲画像列に含まれる正規化画像のうち、その回転角が当該舟型の緯度に最も近い正規化画像から、生成して、当該球体の表面に配置し、
前記受け付けられた角度から前記球体を見た画像を生成することにより、
前記補間画像を得る
ことを特徴とする画像処理システム。
【請求項4】
請求項1に記載の画像処理システムであって、
前記補間部は、
前記商品を近似する多面体の各面を、前記全周囲画像列に含まれる正規化画像のうち、その傾きが当該面の法線方向に最も近い正規化画像から、生成して、当該球体の表面に配置し、
前記受け付けられた角度から前記多面体を見た画像を生成することにより、
前記補間画像を得る
ことを特徴とする画像処理システム。
【請求項5】
モニタ画面を有する端末装置であって、
端末装置の所定の軸周りの角度を感知する角度センサ部、
前記感知された角度に1より大きい定数を乗じた値を画像処理装置に送信する角度送信部、
前記画像処理装置から送信された補間済画像を受信する画像受信部、
前記受信された補間済画像を前記モニタ画面に表示するモニタ表示部
を備えることを特徴とする端末装置。
【請求項6】
端末装置と、画像処理装置と、が、実行する画像処理方法であって、
(a)前記端末装置が、
前記端末装置の所定の軸周りの角度を感知する角度センサ工程、
前記感知された角度を前記画像処理装置に送信する角度送信工程
を備え、
(b)前記画像処理装置が、
前記端末装置から送信された角度を受信する角度受信工程、
前記受信された角度を受け付ける角度受付工程、
前記受け付けられた角度に基づいて、商品の全周囲画像列を補間して、当該商品を前記受け付けられた角度から見た様子を表す補間済画像を得る補間工程、
前記得られた補間済画像を前記端末装置に送信する画像送信工程
を備え、
(c)前記端末装置が、
前記画像処理装置から送信された補間済画像を受信する画像受信工程、
前記受信された補間済画像をモニタ画面に表示するモニタ表示工程
を備えることを特徴とする画像処理方法。
【請求項7】
モニタ画面を有する端末装置が実行する端末方法であって、当該端末装置は、角度センサ部、角度送信部、角度受信部、モニタ表示部を備え、
前記角度センサ部が、端末装置の所定の軸周りの角度を感知する角度センサ工程、
前記角度送信部が、前記感知された角度に1より大きい定数を乗じた値を画像処理装置に送信する角度送信工程、
前記画像受信部が、前記画像処理装置から送信された補間済画像を受信する画像受信工程、
前記モニタ表示部が、前記受信された補間済画像を前記モニタ画面に表示するモニタ表示工程
を備えることを特徴とする端末方法。
【請求項8】
コンピュータを、
当該コンピュータの所定の軸周りの角度を感知する角度センサ部、
前記感知された角度に1より大きい定数を乗じた値を画像処理装置に送信する角度送信部、
前記画像処理装置から送信された補間済画像を受信する画像受信部、
前記受信された補間済画像をモニタ画面に表示するモニタ表示部
として機能させることを特徴とするプログラム。
【請求項9】
コンピュータを、
当該コンピュータの所定の軸周りの角度を感知する角度センサ部、
前記感知された角度に1より大きい定数を乗じた値を画像処理装置に送信する角度送信部、
前記画像処理装置から送信された補間済画像を受信する画像受信部、
前記受信された補間済画像をモニタ画面に表示するモニタ表示部
として機能させることを特徴とするプログラムを記録したコンピュータ読取可能な情報記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−48685(P2012−48685A)
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願番号】特願2010−192928(P2010−192928)
【出願日】平成22年8月30日(2010.8.30)
【出願人】(399037405)楽天株式会社 (416)
【Fターム(参考)】