JP7396202B2 - Generation program, generation method, and information processing device - Google Patents
Generation program, generation method, and information processing device Download PDFInfo
- Publication number
- JP7396202B2 JP7396202B2 JP2020092813A JP2020092813A JP7396202B2 JP 7396202 B2 JP7396202 B2 JP 7396202B2 JP 2020092813 A JP2020092813 A JP 2020092813A JP 2020092813 A JP2020092813 A JP 2020092813A JP 7396202 B2 JP7396202 B2 JP 7396202B2
- Authority
- JP
- Japan
- Prior art keywords
- viewpoint
- pixel
- image
- depth
- subject
- 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
Links
Images
Landscapes
- Image Processing (AREA)
Description
本発明は、生成プログラム、生成方法、および情報処理装置に関する。 The present invention relates to a generation program, a generation method, and an information processing device.
例えば、製造、仕分け、およびその他の分野において部品および製品などを検査したり、形状を判定したりすることが行われている。こうした検査および判定などの処理は、処理対象の数や種類が膨大となることがあり、人手で行うことが難しいことがある。そのため、画像解析により処理する試みが成されている。 For example, parts and products are inspected and shapes are determined in manufacturing, sorting, and other fields. Processing such as inspection and determination may be difficult to perform manually because the number and types of objects to be processed may be enormous. Therefore, attempts have been made to process it by image analysis.
また、撮影装置で被写体を撮影する際に、例えば、障害物などに起因して被写体を好ましい向きから撮影できないことがある。例えば、この様な場合に、撮影装置で撮影した被写体が写る画像を、利用において好ましい向きから見た被写体が写る画像に変換する画像再投影の技術が利用されている。画像再投影の技術として、例えば、テクスチャマッピングおよび投影テクスチャマッピングなどの技術が知られている。 Further, when photographing a subject with a photographing device, it may not be possible to photograph the subject from a preferred direction due to, for example, an obstacle. For example, in such cases, an image reprojection technique is used to convert an image of a subject photographed by a photographing device into an image of the subject viewed from a preferred orientation for use. As techniques for image reprojection, techniques such as texture mapping and projected texture mapping are known, for example.
また、画像変換に関連する技術が知られている(例えば、特許文献1)。 Furthermore, techniques related to image conversion are known (for example, Patent Document 1).
しかしながら、例えば、テクスチャマッピングおよび投影テクスチャマッピングなどの技術を用いて画像再投影を行う場合、被写体の3次元形状モデルを生成するため、計算負荷が高くなることがある。そのため、例えば、部品および製品の検査および判定などの現場のように、大量の撮影画像を処理する場合、これらの技術で処理することが難しいことがある。 However, when reprojecting an image using techniques such as texture mapping and projection texture mapping, a three-dimensional shape model of the subject is generated, which may increase the calculation load. Therefore, when processing a large number of captured images, such as in the case of inspection and judgment of parts and products, for example, it may be difficult to process using these techniques.
1つの側面では、本発明は、被写体が写る撮影画像から、その被写体が別の向きで写る画像を生成する処理にかかる負荷を低減することを目的とする。 In one aspect, an object of the present invention is to reduce the load required for processing to generate an image in which the subject is shown in a different direction from a captured image in which the subject is shown.
本発明の一つの態様の生成プログラムは、各画素が被写体の深度を示す深度情報と対応づけられている撮影画像の撮影に用いられた撮影装置の光学中心と、撮影画像が投影される撮影投影面と、視点と、視点から被写体を写した視点画像が投影される視点投影面とを、仮想空間上に配置し、視点から視点投影面上に配置した視点画像の処理対象画素に向けて延ばした視線と、光学中心から撮影投影面上に配置した撮影画像の画素に向けて延ばした投射線との交差位置と、撮影画像の画素と対応する深度情報が示す被写体の深度とに基づいて、視点画像の処理対象画素と対応する画素値を、撮影画像の画素のうちから取得し、処理対象画素に対して取得した画素値を用いて視点画像を生成する、処理をコンピュータに実行させる。 A generation program according to one aspect of the present invention includes the optical center of the photographing device used to photograph the photographed image, in which each pixel is associated with depth information indicating the depth of the subject, and the photographic projection onto which the photographed image is projected. A plane, a viewpoint, and a viewpoint projection surface onto which a viewpoint image of the subject is projected from the viewpoint are arranged in virtual space, and the viewpoint image placed on the viewpoint projection surface is extended from the viewpoint toward the processing target pixel. Based on the intersection position of the line of sight and the projection line extending from the optical center toward the pixels of the photographed image placed on the photographic projection plane, and the depth of the subject indicated by the depth information corresponding to the pixels of the photographed image, A computer is caused to execute a process of acquiring a pixel value corresponding to a processing target pixel of a viewpoint image from among the pixels of the photographed image, and generating a viewpoint image using the acquired pixel value for the processing target pixel.
被写体が写る撮影画像から、その被写体が別の向きで写る画像を生成する処理にかかる負荷を低減できる。 It is possible to reduce the load required for processing to generate an image of the subject in a different orientation from a photographed image of the subject.
以下、図面を参照しながら、本発明のいくつかの実施形態について説明する。なお、複数の図面において対応する要素には同一の符号を付す。 Hereinafter, some embodiments of the present invention will be described with reference to the drawings. Note that the same reference numerals are given to corresponding elements in a plurality of drawings.
図1は、実施形態が利用される例示的な撮影システム100を示す図である。撮影システム100は、例えば、情報処理装置101、撮影装置102、設置台105などを含む。設置台105は、例えば、被写体110が設置される台であり、一例ではベルトコンベアなどの製造ラインであってよい。設置台105には、例えば、部品、製品、製造物、および成形物などの撮影対象物106が設置される。撮影装置102は、設置台105に設置された撮影対象物106を撮影する。
FIG. 1 is a diagram illustrating an
情報処理装置101は、例えば、撮影装置102と有線または無線で通信接続されている。情報処理装置101は、例えば、パーソナルコンピュータ(PC)、モバイルPC、タブレット端末、または、ネットワークを介して撮影装置102と接続されるサーバコンピュータなどの画像処理機能を備えるコンピュータであってよい。
The
撮影装置102は、例えば、RGB-Dカメラおよびステレオカメラなどの撮影画像と、その撮影画像の画素と対応する深度の情報を取得可能な撮影装置であってよい。一例では、撮影装置102は、深度画像を撮影する。撮影装置102は、例えば、被写体110が写る画像を撮影する。被写体110は、例えば、画像に写り込む物体であってよい。図1の例では、設置台105および撮影対象物106が撮影画像に被写体110として写っていてよい。撮影対象物106は、例えば、部品、製品、製造物、および成形物などである。撮影装置102は、例えば、撮影した被写体110が写る撮影画像および深度画像を情報処理装置101に送信する。
The photographing
なお、図1では、例えば、製造、仕分け、およびその他の分野における部品および製品の検査および判定などの現場での実施形態の利用を例示しているが、実施形態はこれに限定されるものではない。実施形態は、被写体110が写る撮影画像を、その被写体110を別の向きから見た画像に変換する処理が行われる様々な状況で利用することが可能である。
Note that although FIG. 1 illustrates the use of the embodiment in the field, for example, for inspection and determination of parts and products in manufacturing, sorting, and other fields, the embodiment is not limited thereto. do not have. The embodiment can be used in various situations in which processing is performed to convert a photographed image in which the
なお、図1に示すように、例えば、RGB-Dカメラなどの撮影装置102で撮影を行う場合、その撮影画像と対応する深度画像も得られる。そのため、深度画像の深度の情報を用いて3次元形状モデルを生成することができる。そして、生成した3次元形状モデルに撮影画像のテクスチャを貼り付けて回転させることで、様々な視点から被写体110を撮影した撮影画像を得ることができる。しかしながら、3次元形状モデルは、大量のポリゴンを処理して生成されるため処理負荷が高く、高速に処理を行ったり、大量の撮影画像を処理したりする用途では利用が難しいことがある。そのため、被写体が写る撮影画像から、その被写体が別の向きで写る画像を生成する画像変換にかかる処理負荷を低減できる更なる技術の提供が望まれている。
Note that, as shown in FIG. 1, when a photograph is taken using the
以下で述べる実施形態では、撮影画像の画素と、撮影画像に基づいて生成を行う別の視点から被写体110を写した画像の画素とを、投射線および視線の光線追跡により特定する。なお、撮影画像に基づいて生成を行う別の視点から被写体110を写した画像を、以下では、視点画像と呼ぶことがある。また、投射線は、例えば、撮影画像の撮影に用いられた撮影装置の光学中心から撮影画像の画素に向かう直線で表される。視線は、例えば、視点から視点画像の画素に向かう直線で表される。実施形態によれば、被写体110の3次元形状モデルを生成しなくても、視点画像を生成することができるため、視点画像の生成にかかる処理負荷を低減することができる。
In the embodiment described below, pixels of a photographed image and pixels of an image of the
なお、実施形態において視点画像の生成に用いる撮影画像は、予め前処理を実行して鏡面反射光の成分が除去された拡散反射光の画像であってよい。撮影画像の鏡面反射光の成分は、光源の影響を受ける成分であるため、視点が変わると変化し得る。そのため、例えば、視点画像における被写体110の色味などをその後の処理で用いる場合には、視点画像の生成に用いる撮影画像から予め除去しておくことは好ましい。しかしながら、実施形態はこれに限定されるものではない。例えば、視点画像を被写体110の輪郭や形状の外観検査に用いる場合には、鏡面反射光の成分が含まれていてもエッジの形状を抽出することが可能であるため、鏡面反射光の成分の除去は実行されなくてもよい。以下、実施形態を更に詳細に説明する。
Note that in the embodiment, the photographed image used to generate the viewpoint image may be an image of diffuse reflected light in which a specular reflected light component is removed by performing preprocessing in advance. The specularly reflected light component of the photographed image is a component that is affected by the light source, so it can change when the viewpoint changes. Therefore, for example, if the color of the
図2は、実施形態に係る情報処理装置101のブロック構成を例示する図である。情報処理装置101は、例えば、制御部201、記憶部202、通信部203、および表示装置204を含む。制御部201は、情報処理装置101の各部を制御してよい。制御部201は、例えば、配置部211、取得部212、および生成部213などを含み、またその他の機能部を含んでもよい。記憶部202は、例えば、後述する動作フローを実行するためのプログラム、およびプログラムの実行で参照する情報などを記憶している。通信部203は、例えば、制御部201の指示に従って他の装置と通信する。通信部203は、例えば、制御部201の指示に従って撮影装置102と通信し、撮影装置102から被写体110の写る撮影画像を取得してよい。表示装置204は、例えば、制御部201の指示に従って、表示画面に情報を表示する。これらの各部の詳細および記憶部202に格納されている情報の詳細については後述する。
FIG. 2 is a diagram illustrating a block configuration of the
図3から図5は、実施形態に係る撮影画像からの視点画像の生成の流れを例示する図である。なお、以下の説明において、図面が3次元の仮想空間内での物体の配置を示している場合、軸の方向を表す矢印を付している。例えば、図3では、図面の縦方向にZ軸、図面の横方向にX軸、および図面の奥行方向にY軸がとられている。なお、実施形態に係る仮想空間の軸の方向はこれに限定されるものではなく、空間内の座標を指定することができれば、軸は任意の方向にとられてよい。 3 to 5 are diagrams illustrating the flow of generating a viewpoint image from a photographed image according to the embodiment. In the following description, when a drawing shows the arrangement of objects in a three-dimensional virtual space, an arrow indicating the direction of the axis is attached. For example, in FIG. 3, the Z axis is in the vertical direction of the drawing, the X axis is in the horizontal direction of the drawing, and the Y axis is in the depth direction of the drawing. Note that the direction of the axis of the virtual space according to the embodiment is not limited to this, and the axis may be taken in any direction as long as the coordinates in the space can be specified.
図3に示すように、撮影画像からの視点画像の生成処理において、制御部201は、仮想空間に撮影装置102の光学中心301を配置する。また、制御部201は、光学中心301から光軸302の前方の焦点距離の位置に、光軸に対して垂直に撮影画像の投影面として撮影投影面303を配置する。なお、撮影投影面303に投影される投影像に重ね合わせて撮影装置102で撮影した撮影画像および深度画像を配置することができる。この場合、撮影画像および深度画像の画像中心は、例えば、光軸302上にある。更に、制御部201は、撮影投影面303に対して平行に3次元平面305を配置する。なお、図3において、光学中心301から延びる破線は撮影視野を表している。
As shown in FIG. 3, in the process of generating a viewpoint image from a photographed image, the
また、撮影投影面303に配置した深度画像の深度の情報は、被写体110の位置を表している。図3には、深度画像の画素ごとの深度の情報に基づいて、被写体110として設置台105および撮影対象物106の位置が破線で示されている。被写体110は、例えば、光学中心301から撮影投影面303上に配置した深度画像の画素307に向かって延ばした直線上の画素307の深度情報で示される深度の位置にある。なお、撮影投影面303上に配置した撮影画像および深度画像の画素に向かう直線を、画素の深度情報で示される深度まで延ばした矢印を、以下では、例えば、投射線308と呼ぶ。
Furthermore, the depth information of the depth image placed on the
続いて、制御部201は、3次元平面305に対して光学中心301のある側の半空間の任意の位置に視点310を配置する。制御部201は、視点310の前方に、視点310に透視投影する際の投影面として視点投影面311を配置する。なお、図3において視点310から延びる破線は視点視野を表している。
Subsequently, the
この場合に、実施形態では制御部201は、視点310の位置から視点投影面311上に投影される被写体110の視点画像を生成する処理を実行する。なお、以下では、視点310から視点投影面311上に配置された視点画像の或る画素312に向かって延びる直線を、例えば、視線313と呼ぶ。
In this case, in the embodiment, the
続いて、制御部201は、視線313と交わる投射線308のうちから、視線313と投射線308との交差位置の深度と、投射線308が撮影投影面303上で通る画素の深度情報が示す被写体110の深度との深度差が最小となる投射線308を特定する。例えば、図4には、投射線308aから投射線308cの3つの投射線308が示されている。ここで、投射線308cは、視線313と交差していないため排除される。一方、投射線308aおよび投射線308bは、視線313と交差している。また、投射線308aは、視線313と点401の位置で交差しており、投射線308aが撮影投影面303上で通る深度画像の画素412の深度情報は点402の位置における被写体110の深度を示している。投射線308aでは、視線313との交差位置(図4の点401)の深度と、投射線308aが撮影投影面303上で通る画素412の深度情報が示す被写体(図4の点402)までの深度との深度差は大きい。一方、投射線308bでは、視線313との交差位置(図4の点403)の深度と、投射線308bが撮影投影面303上で通る画素413の深度情報が示す被写体110の深度とがほぼ同じ深度であり、深度差が小さい。そのため、制御部201は、深度差が最小となる投射線308として投射線308bを特定してよい。
Next, the
なお、例えば、投射線308が通る撮影投影面303上の撮影画像の画素と、視線313が通る視点投影面311上の視点画像の画素とが被写体の同じ領域を写しているとする。この場合、投射線308と視線313との交差位置の深度と、投射線308が通る撮影投影面303上の深度画像の画素の深度情報が示す被写体110の深度とはおおよそ一致する。そのため、深度差が最小となり、所定の誤差範囲(例えば、5mm以下)内に小さくなる投射線308を特定することで、制御部201は、視線313が通る視点投影面311上の画素と同じ被写体110を写す撮影投影面303上の画素を特定することができる。
Note that, for example, it is assumed that the pixels of the photographed image on the
なお、深度差は、一例では、撮影投影面303と並行な3次元平面305からの視線313と投射線308との交差位置までの深度と、3次元平面305からの被写体110までの深度との差分から求めることができる。3次元平面305からの被写体110までの深度は、例えば、3次元平面305を撮影投影面303上に配置した場合、撮影投影面303上の深度画像の画素の深度情報が示す深度から焦点距離を差し引くことで求めることができる。
Note that the depth difference is, for example, the depth between the depth from the three-
そして、制御部201は、例えば、図5に示すように、特定した投射線308が通る撮影投影面303上の画素413の画素値を、視線313が通る視点投影面311上の画素312の画素値として用いることができる。
Then, for example, as shown in FIG. 5, the
更に、制御部201は、視点投影面311上の視点画像の全ての画素について、同様に撮影投影面303上の撮影画像に対応する画素があれば、その画素から画素値を取得することができる。それによって、制御部201は、視点310の位置から見た視点画像を生成することができる。
Furthermore, for all pixels of the viewpoint image on the
また、以上で述べた撮影画像からの視点画像の生成処理では、例えば、被写体110の3次元形状モデルを生成しなくても、視点画像を生成することが可能である。そのため、処理負荷を抑えて視点画像を生成することができ、高速な処理が求められる状況、および大量の画像を処理する状況で、視点画像を得ることが可能になる。 Further, in the process of generating a viewpoint image from a photographed image described above, for example, it is possible to generate a viewpoint image without generating a three-dimensional shape model of the subject 110. Therefore, a viewpoint image can be generated with a reduced processing load, and a viewpoint image can be obtained in situations where high-speed processing is required and in situations where a large amount of images are to be processed.
続いて、実施形態に係る視点画像における死角領域の識別について説明する。 Next, identification of a blind spot area in a viewpoint image according to an embodiment will be described.
(死角領域の識別)
例えば、撮影画像において、手前にある別の被写体110により隠されて見えなかった領域が、視点を動かした結果、見えるようになることがある。この場合に、撮影画像において見えていない視点画像上の領域を、例えば、死角領域と呼ぶ。死角領域は、撮影画像においてその領域が死角となっており、画像情報が撮れていないため、描画できない視点画像の領域を表わしている。
(Identification of blind spot area)
For example, in a captured image, an area that was hidden by another subject 110 in the foreground may become visible as a result of moving the viewpoint. In this case, an area on the viewpoint image that is not visible in the captured image is called a blind spot area, for example. The blind spot area represents an area of the viewpoint image that cannot be drawn because the area is a blind spot in the captured image and no image information has been captured.
図6は、実施形態に係る死角領域の特定について例示する図である。例えば、図6(a)に示すように、投射線308が通る撮影投影面303上の画素の深度情報が示す深度よりも深い位置で、投射線308と視線313とが交差することがある。この場合、視線313が通る画素に写るはずの被写体110の領域が、撮影画像においては死角となっており、その部分の画像情報が取得できていないことを表している。
FIG. 6 is a diagram illustrating identification of a blind spot area according to the embodiment. For example, as shown in FIG. 6A, the
例えば、図6(a)の例では、視線313aは被写体110の点603の位置を指しており、視点310から撮影を行った場合に得られる視点画像には、点603の位置の被写体110が写る。しかしながら、この点603の部分は光学中心301から撮影した撮影画像では被写体110の裏に隠れて死角となっている。そのため、撮影画像には点603の位置の画像情報が含まれていない。この場合、視点画像においては点603の位置などの死角領域の画像は生成されなくてよい。また、この場合に、制御部201は、視点画像において死角領域に所定の無効を表す色を設定するなど、死角領域が識別可能に表示されるようにしてよい。それにより、視点画像を見たユーザは、死角領域には撮影画像には写っていない何かが写っていることを知ることができる。
For example, in the example of FIG. 6A, the line of
なお、死角領域の識別では、制御部201は、まず、視線313と投射線308との交差位置の深度と、投射線308が通る撮影投影面303上の画素の深度情報が示す被写体110の深度との深度差が最小になる投射線308を特定する。図6の例では、点601を指す投射線308が特定されたとする。この場合、制御部201は、視線313と投射線308との交差位置(例えば、点602)と、投射線308が撮影投影面303上で通る画素の深度情報が示す被写体110の位置(例えば、点601)とが所定の条件を満たして離れているか否かを判定する。そして、交差位置(例えば、点602)と、深度情報が示す被写体110の位置(例えば、点601)とが所定の条件を満たして離れている場合に、視線313が視点投影面311上で通る視点画像の画素を死角領域と判定してよい。
Note that in identifying the blind spot area, the
所定の条件は、例えば、視線313と投射線308との交差位置(例えば、点602)と、投射線308が撮影投影面303上で通る画素の深度情報が示す被写体110の位置(例えば、点601)との距離が所定の距離以上であることである。別な例では、所定の条件は、視線313と投射線308との交差位置(例えば、点602)の深度と、投射線308が撮影投影面303上で通る画素の深度情報が示す深度(例えば、点601の深度)との差が所定の長さ以上であることであってよい。なお、図6(b)は、図6(a)の一部を拡大した図である。図6(b)に示すように、深度差は、距離差の深度方向の成分を表している。投射線308が、撮影投影面303と平行な面となす角度θが鋭角に近づくと、深度差は小さくなってしまう。そのため、より高精度に死角領域を判定する場合、距離差を用いることが好ましい。
The predetermined conditions include, for example, the intersection position of the line of
続いて、実施形態に係る視点画像における遮蔽領域の識別について説明する。 Next, identification of a shielding area in a viewpoint image according to an embodiment will be described.
(遮蔽領域の識別)
例えば、撮影画像において見えている領域が、視点を動かした結果、手前に別の被写体110が被り見えなくなることがある。このように、撮影画像において見えているのに視点画像において見えなくなる視点画像の領域を、例えば、遮蔽領域と呼ぶ。
(Identification of shielded area)
For example, as a result of moving the viewpoint, an area that is visible in the photographed image may be obscured by another subject 110 in the foreground. In this way, a region of the viewpoint image that is visible in the photographed image but becomes invisible in the viewpoint image is called, for example, a shielding region.
図7は、実施形態に係る遮蔽領域について例示する図である。例えば、図7に示すように、1つの視線313が、複数の投射線308と被写体110上で交差することがある。図7では、視線313は、投射線308aと被写体110上の点701の位置で交差しており、投射線308bと被写体110上の点702の位置で交差している。
FIG. 7 is a diagram illustrating the shielding area according to the embodiment. For example, as shown in FIG. 7, one line of
しかしながら、点701の位置は、視点310からは被写体110の裏に隠れて見えない。そのため、視線313が通る視点投影面311上の視点画像の画素の値には、投射線308bが通る撮影投影面303上の撮影画像の画素の画素値を用いることが正しい。このように視線313が、複数の投射線308と被写体110上で交差することがある。この場合に、制御部201は、例えば、より視点310に近い側で交差する投射線308が選択されるように、視線313と対応する投射線308を特定してよい。それにより、視点310の位置から見た視点画像を正しく生成することができる。
However, the position of the
例えば、以上で述べたように、撮影画像から視点画像を生成することができる。以下、実施形態に係る視点画像の生成処理の動作フローを説明する。 For example, as described above, a viewpoint image can be generated from a captured image. The operation flow of the viewpoint image generation process according to the embodiment will be described below.
図8は、実施形態に係る視点画像の生成処理の動作フローを例示する図である。例えば、制御部201は、深度情報を有する撮影画像に対する視点変換の実行指示が入力されると、図8の動作フローを開始してよい。深度情報を有する撮影画像は、例えば、RGB-Dカメラで撮影された一組の撮影画像と深度画像であってよい。別の例では、深度情報を有する撮影画像は、ステレオカメラで撮影された画像であってもよい。以下、深度情報を有する撮影画像が、一組の撮影画像と深度画像である場合を例に説明を行う。
FIG. 8 is a diagram illustrating an operational flow of viewpoint image generation processing according to the embodiment. For example, the
ステップ801(以降、ステップを“S”と記載し、例えば、S801と表記する)において制御部201は、仮想空間上に撮影装置102の透視投影モデルを配置する。例えば、制御部201は、図3で述べたように、深度情報を有する撮影画像の撮影に用いられた撮影装置102のカメラパラメータを取得し、仮想空間上に光学中心301、光軸302、撮影投影面303などの透視投影モデルを配置してよい。カメラパラメータは、例えば、予め記憶部202に記憶されていてよい。
In step 801 (hereinafter, step will be abbreviated as "S", for example, S801), the
S802において制御部201は、例えば、撮影投影面303上に撮影画像および深度画像を配置する。
In S802, the
S803において制御部201は、例えば、仮想空間上に視点310と視点画像を投影する視点投影面311を配置し、また、撮影投影面303に平行に3次元平面305を配置する。3次元平面305は、一例では、撮影投影面303と重なるように配置されてよい。
In S803, the
S804において制御部201は、視点投影面311上に生成する視点画像の画素のうちから1つの画素を処理対象画素として選択する。
In S804, the
S805において制御部201は、視点310から視点画像の選択した処理対象画素を通る視線313と対応する投射線308を特定する。制御部201は、例えば、図4および図5を参照して述べたように、投射線308が通る画素の深度情報が示す被写体110の深度と、投射線308と視線313との交差位置の深度との深度差が最小となる投射線308を特定してよい。なお、例示的な投射線308の特定処理の動作フローを、図9を参照して後述する。
In S805, the
S806において制御部201は、図6を参照して述べたように、視点画像の処理対象画素が死角領域であるか否かを判定する。例えば、制御部201は、深度差が最小となる投射線308と対応する撮影画像の画素の深度が示す位置と、深度差が最小となる投射線308と視線313との交差位置とが所定の条件を満たして離れている場合に、処理対象画素が死角領域であると判定してよい。
In S806, the
S806において処理対象画素が死角領域である場合(S806がYES)、フローはS809に進む。S809において制御部201は、視点画像において処理対象画素を死角領域に設定し、フローはS810に進む。
If the pixel to be processed is a blind spot area in S806 (YES in S806), the flow advances to S809. In S809, the
一方、S806において処理対象画素が死角領域でない場合(S806がNO)、フローはS807に進む。S807において制御部201は、特定した深度差が最小となる投射線308が通る撮影投影面303上の撮影画像の画素から画素値を取得する。
On the other hand, if the pixel to be processed is not a blind spot area in S806 (NO in S806), the flow advances to S807. In S807, the
S808において制御部201は、取得した画素値を、視点画像の処理対象画素に設定し、フローはS810に進む。
In S808, the
S810において制御部201は、視点画像の全ての画素を処理したか否かを判定する。未処理の画素が視点画像にまだ含まれている場合、フローはS804に戻り、未処理の画素を処理対象画素として選択して処理を繰り返す。一方、S810において視点画像の全ての画素の処理が完了している場合、フローはS811に進む。
In S810, the
S811において制御部201は、視点画像の画素に対して設定した画素値および死角領域の情報に基づいて、視点画像を生成する。
In S811, the
S812において制御部201は、視点画像を出力し、本動作フローは終了する。制御部201は、例えば、視点画像の画像データを記憶部202に保存してもよいし、別な例では、ディスプレイなどの表示装置204に視点画像を表示させてもよい。
In S812, the
また、例えば、表示装置204に視点画像を表示させる場合に、制御部201は、視点画像のうちの死角領域を所定の表示形式で表示させることで、識別可能に表示させてよい。それにより、視点画像を見たユーザは、死角領域には視点の位置から見た場合に見えるようになった、撮影画像には写っていない何かが写っていることを知ることができる。
Further, for example, when displaying a viewpoint image on the
以上で述べたように、図8の動作フローによれば、深度情報を有する撮影画像に写る被写体110を任意の視点から見た視点画像を生成することができる。 As described above, according to the operation flow shown in FIG. 8, it is possible to generate a viewpoint image in which the subject 110 appearing in the photographed image having depth information is viewed from an arbitrary viewpoint.
また、図8の動作フローで述べたように、実施形態では、撮影画像と視点画像の透視投影モデルを仮想空間上に配置し、光線追跡により視点画像の画素と対応する撮影画像の画素を特定している。そのため、例えば、被写体の3次元形状モデルを生成しなくても、視点画像を生成することができる。 In addition, as described in the operation flow of FIG. 8, in the embodiment, a perspective projection model of the photographed image and the viewpoint image is placed in the virtual space, and the pixels of the photographed image that correspond to the pixels of the viewpoint image are identified by ray tracing. are doing. Therefore, for example, a viewpoint image can be generated without generating a three-dimensional shape model of the subject.
例えば、イメージベーストレンダリングの技術としてテクスチャマッピングおよび投影テクスチャマッピングなどの技術が知られている。これらのテクスチャマッピングおよび投影テクスチャマッピングでは、被写体の3次元形状モデルを生成するため、メモリの使用量が多く、また、計算量も多くなる。上述の実施形態では、3次元形状モデルを生成しなくても視点画像を生成できるため、視点画像の生成にかかるメモリ使用量を低減することができる。また、視点画像を高速に生成することが可能である。 For example, techniques such as texture mapping and projected texture mapping are known as image-based rendering techniques. These texture mappings and projected texture mappings generate a three-dimensional shape model of the subject, and therefore use a large amount of memory and also require a large amount of calculation. In the above-described embodiment, since a viewpoint image can be generated without generating a three-dimensional shape model, it is possible to reduce the amount of memory used for generating a viewpoint image. Furthermore, it is possible to generate viewpoint images at high speed.
また、上述の実施形態では、仮想空間上で撮影時の実際の空間と同じスケールで演算を行っており、例えば、投影座標系での計算や正規化を行わなくてもよいため、実空間の長さの単位で厳密に視点を変換した視点画像を生成することができる。 In addition, in the above embodiment, calculations are performed in the virtual space at the same scale as the actual space at the time of shooting, and for example, there is no need to perform calculations or normalization in the projected coordinate system. It is possible to generate a viewpoint image in which the viewpoint is strictly converted in units of length.
また、例えば、画像変換の技術としてホモグラフィ変換が知られている。ホモグラフィ変換では、変換後に別の被写体110で遮蔽されて見えなくなるはずの領域が、変換後の画像に表示されてしまうことがある。上述の実施形態によれば、例えば図7を参照して例示したように、視点の変換後に別の被写体で遮蔽されて見えなくなる遮蔽領域を指す投射線308は選択されないため、遮蔽領域の遮蔽を視点画像で正しく表現することができる。
Further, for example, homography conversion is known as an image conversion technique. In homography conversion, an area that should be hidden by another subject 110 and become invisible after conversion may end up being displayed in the converted image. According to the above-described embodiment, as illustrated with reference to FIG. 7, for example, the
なお、上述の実施形態では、光学中心301、光軸302、撮影投影面303、視点310、視点投影面311などの立体配置を規定し、これらが規定した立体配置に配置されているものとして演算を行っている。換言すると、これらの光学中心301、光軸302、撮影投影面303、視点310、視点投影面311は、実際にポリゴンなどとして仮想空間上に配置しなくても演算を行うことができる。また、上述の実施形態では、3次元平面305をポリゴンとして仮想空間上に配置している。3次元平面305をポリゴンとして仮想空間に配置することで、GPU(Graphics Processing Unit)のピクセルシェーダに透視投影結果のピクセルを渡して高速に処理することが可能になる。しかしながら、3次元平面305のポリゴンは、一例では、仮想空間上に配置されなくてもよい。
In the above embodiment, the three-dimensional arrangement of the
従って、実施形態によれば被写体が写る撮影画像から、その被写体が別の向きで写る視点画像を生成する処理の負荷を低減することができる。 Therefore, according to the embodiment, it is possible to reduce the processing load of generating a viewpoint image in which the subject is seen in a different direction from a photographed image in which the subject is seen.
続いて、実施形態に係る視線313と対応する投射線308の特定処理を例示する。図9は、実施形態に係る視線313と対応する投射線308の特定処理の動作フローを例示する図である。また、図10は、実施形態に係る視線313と対応する投射線308の特定処理の流れを例示する図である。例えば、制御部201は、図8のS805に進むと、図9の動作フローを開始してよい。
Next, a process for specifying the
S901において制御部201は、例えば、視点投影面311上に配置した視点画像から選択した処理対象画素312を通る視点310からの3次元平面305へのベクトル1001を求める(図10(a)の(1))。なお、以下、このベクトルを視線ベクトル1001と呼ぶことがある。
In S901, the
S902において制御部201は、例えば、視線ベクトル1001と3次元平面305との交点を求める。
In S902, the
S903において制御部201は、例えば、3次元平面305と平行に所定の深度に層1002を配置する(図10(a)の(2))。なお、所定の深度は、例えば、撮影画像に写る最前面の被写体110よりも浅い深度に層1002が配置されるように設定されてよい。
In S903, the
S904において制御部201は、例えば、視線313と層1002との交点1003を求める(図10(a)の(3))。
In S904, the
S905において制御部201は、例えば、交点1003へと向かう光学中心301からの投射線ベクトル1004を求める(図10(a)の(4))。
In S905, the
S906において制御部201は、例えば、投射線ベクトル1004と撮影投影面303との交点を求め、交点の位置にある深度画像の画素307を特定する(図10(a)の(5))。例えば、制御部201は、光学中心301、焦点距離、および投射線ベクトル1004に基づいて撮影投影面303との交点を求め、交点の位置にある深度画像の画素307を特定してよい。
In S906, the
S907において制御部201は、例えば、深度画像から特定した画素307の深度情報から被写体110の深度を特定する(図10(a)の(6))。なお、図10(a)の(6)の例では、画素307の深度情報から特定した被写体110の深度として、3次元平面305からの被写体110の深度が示されている。3次元平面305からの被写体110の深度は、例えば、画素307の深度情報が示す深度から焦点距離を引くことで求めることができる。
In S907, the
S908において制御部201は、例えば、画素307の深度情報から特定した被写体110の深度と、視線ベクトル1001と投射線ベクトル1004との交差位置となる層1002の深度との深度方向の配置が反転したか否かを判定する。
In S908, the
例えば、図10(a)では、層1002の初期の配置において、画素307の深度情報から特定した被写体110の深度よりも、視線ベクトル1001と投射線ベクトル1004との交差位置となる層1002の深度の方が浅くなっている。この場合、S908の処理では、画素307の深度情報から特定した被写体110の深度よりも、層1002の深度の方が深くなった場合に、被写体110の深度と、層1002の深度方向の配置が反転したと判定してよい。被写体110の深度と、層1002の深度方向の配置が反転していない場合、制御部201は、S908においてNOと判定し、フローはS909に進む。
For example, in FIG. 10A, in the initial arrangement of the
S909において制御部201は、画素307の深度情報が示す被写体110の深度のある方向に、層1002を所定の移動量で移動させてフローはS904に戻り、処理を繰り返す。例えば、制御部201は、図10(b)の(7)に示すように、層1002の位置を移動させて、画素307が示す被写体110の深度の或る方向に層1002を近づけてよい。これにより、制御部201は、層1002の位置を徐々に変更して、画素307の深度情報が示す被写体110の深度と近い深度で、視線ベクトル1001と投射線ベクトル1004とが交差する層1002を探索することができる。
In S909, the
また、S908において、例えば、被写体110の深度と、層1002の深度方向の配置が反転した場合、制御部201は、YESと判定し、フローはS910に進む。S910において制御部201は、層1002の移動量と移動方向を所定回数変更済みであるか否かを判定する。
Further, in S908, for example, if the depth of the subject 110 and the arrangement of the
S910において層1002の移動量と移動方向を所定回数変更済みでない場合(S910がNO)、フローはS911に進む。S911において制御部201は、層1002の移動方向を逆方向に反転させて、かつ、移動量を1/2~1/10など所定の割合で小さく変更し、フローはS909に戻る。例えば、制御部201は、図10(c)の(8)に示すように、層1002の移動方向を逆方向に反転させて、移動量を小さくし、探索を継続してよい。それにより、画素307の深度情報が示す被写体110の深度と近い深度で、視線ベクトル1001と投射線ベクトル1004とが交差する層1002を更に細かく探索することができる。
If the amount and direction of movement of the
また、S910において層1002の移動量と移動方向を所定回数変更済みである場合(S910がYES)、フローはS912に進む。S912において制御部201は、最終的な層1002と視線ベクトル1001との交点に向けて延ばした投射線ベクトル1004を視線313と対応する投射線308として特定し、本動作フローは終了し、フローはS806に進む。
Further, if the amount and direction of movement of the
以上で述べたように、図9の動作フローによれば、投射線308が通る深度画像の画素が示す被写体110の深度と、投射線308と視線313との交差位置の深度との深度差が最小となる投射線308を特定することができる。なお、深度差が最小となる投射線308とは、一例では、光学中心301から撮影画像の画素に下した投射線のうちで深度差が最小となる投射線308であってよい。別の例では、深度差が最小となる投射線308とは、探索された投射線308の中で深度差が最小となる投射線308であってもよい。
As described above, according to the operation flow of FIG. 9, the depth difference between the depth of the subject 110 indicated by the pixels of the depth image through which the
なお、S910における所定回数は、回数が多ければ、画素307の深度情報が示す被写体110の深度と近い深度で、視線ベクトル1001と投射線ベクトル1004とが交差する層1002の探索精度が向上する。一方で、回数が多くなると、計算量が多くなり、処理速度の低下を招く。そのため、所定回数は、実施形態を適用する状況に応じて好ましい値に設定されてよい。例えば、所定回数は、2回~5回に設定されていてよく、一例では、3回に設定されていてよい。
Note that if the predetermined number of times in S910 is large, the search accuracy for the
また、図9の動作フローでは、3次元平面305との平行に配置される層1002の初期の深度は、被写体110よりも浅い深度となるように設定されていてよい。それにより、例えば、図7を参照して述べたように、視線313と被写体110上で交差する複数の投射線308が存在する場合にも、より浅い深度で視線313と交差する投射線308を特定することができる。それにより、撮影画像において見えていた領域が視点を移動した視点画像において、手前に別の被写体110が被さり見えなくなる場合にも、その遮蔽を視点画像において正しく表現することができる。
Further, in the operation flow of FIG. 9, the initial depth of the
また、図9の処理に示すように、視点310から光学中心301に向けて光輸送経路を逆追跡することで、最小限の光線のみを対象に計算を行うことができる。例えば、視点画像において用いられていない撮影画像上の画素については処理対象から省くことができる。また、視線313と交差する投射線308のみを対象として探索を行うことができる。そのため、計算量を削減することができる。
Further, as shown in the process of FIG. 9, by tracing the light transport path back from the
図11は、実施形態に係る撮影画像と視点画像とを例示する図である。図11では、中央に撮影画像1101が示されている。また、撮影画像1101の上下左右には、それぞれ光軸上に注視点を固定した上で光学中心を原点とするカメラ座標系のx軸またはy軸の方向に視点を移動させた場合の視点画像1102が示されている。視点画像1102には、死角領域1105が含まれており、撮影画像1101には写っていない被写体110の領域が死角領域1105として表示されている。
FIG. 11 is a diagram illustrating a photographed image and a viewpoint image according to the embodiment. In FIG. 11, a captured
また、実施形態によれば、図11に示すように、様々な視点310から見た視点画像1102を生成することができる。そして、様々な視点310から見た視点画像1102を、被写体110として写る部品、製品、製造物、および成形物などの形状並びに色味の検査、判定、および識別に利用することができる。
Further, according to the embodiment, as shown in FIG. 11,
また、例えば、障害物などの存在により、撮影装置102の設置位置に制約があり、被写体110の位置認識および形状認識などの処理に入力するのに適した角度から被写体110を撮影できないことがある。実施形態によれば、撮影画像を様々な視点310から見た視点画像に変換できるため、撮影装置102の設置位置に制約がある場合にも、例えば、位置認識および形状認識などの処理に入力するのに適した視点画像を生成することができる。
Furthermore, for example, due to the presence of an obstacle, there are restrictions on the installation position of the photographing
なお、図11に示すように、1か所から撮影された深度情報を有する撮影画像1101を用いて視点の移動を行い視点画像1102の生成を行うと、被写体110の凹凸などに起因して視点画像1102に死角領域が含まれてしまうことがある。この様な死角領域は、別の方向から撮影された死角領域が写る撮影画像を用いて被写体110を写した画素に置き換えることができる。以下、複数の位置から撮影された撮影画像を用いた視点画像の生成について説明する。
Note that, as shown in FIG. 11, when a
図12は、実施形態に係る複数の位置から撮影された撮影画像を用いた視点画像の生成について例示する図である。図12において、第1の光学中心301aから撮影投影面303aの像を撮影した画像を第1の撮影画像とする。また、第2の光学中心301bから撮影投影面303b上の像を撮影した画像を第2の撮影画像とする。なお、第1の撮影画像および第2の撮影画像は、いずれも画素が深度情報と対応づけられている。そして、第1の撮影画像と第2の撮影画像とを用いて視点310から被写体110を見た場合の視点画像を生成する例を以下に述べる。
FIG. 12 is a diagram illustrating generation of a viewpoint image using captured images captured from a plurality of positions according to the embodiment. In FIG. 12, an image obtained by photographing an image of the
図12において、例えば、点1211は、第1の光学中心301aからは手前にある被写体110で隠されて死角となっており、見ることができない。そのため、第1の光学中心301aから撮影した第1の撮影画像には、点1211における被写体110の画素値を表す情報は含まれていない。一方、第2の光学中心301bからは点1211は見えており、第2の光学中心301bから撮影した第2の撮影画像には、点1211における被写体110の画素値を表す情報が含まれている。そのため、視点310から見た視点画像を生成する際に、第1の撮影画像だけを用いた場合には死角領域となってしまう画素の画素値を、第2の撮影画像から補うことが可能である。
In FIG. 12, for example, a
例えば、制御部201は、異なる2つの位置から撮影された2つの撮影画像のそれぞれから視点画像を得る。そして、得られた2つの視点画像のうちの一方で死角領域となっている画素が、他方の視点画像で画素値を有するとする。この場合、制御部201は、その画素の画素値として他方の視点画像から得た画素値を用いるように2つの視点画像を合成して視点画像を生成してよい。それにより、死角領域を減らした視点画像を生成することができる。なお、このように複数の視点画像を合成して得られる視点画像を、以下では、合成視点画像と呼ぶことがある。
For example, the
また、例えば、異なる2つの位置から撮影された2つの撮影画像のそれぞれから得た視点画像の両方が、或る画素に対して画素値を有することもある。図13は、この場合を例示しており、被写体110の点1311の位置は、第1の光学中心301aと第2の光学中心301bの双方から見えている。この場合、制御部201は、投射線308と、視線313との成す角がより小さい角度で撮影された撮影画像から画素値を取得してよい。例えば、図13の例では、投射線308aと、視線313との成す角度θ1よりも、投射線308bと、視線313との成す角度θ2の方が小さい。そのため、制御部201は、投射線308bが通る第2の撮影画像上の画素1301から、視線が通る視点画像上の画素1303の画素値を取得して、合成視点画像において用いてよい。それにより、視線313と近しい方向から視点画像を撮影している撮影画像から画素値を取得することができる。そのため、生成される合成視点画像の色味などの精度の向上を図ることができる。
Furthermore, for example, both viewpoint images obtained from two photographed images taken from two different positions may have a pixel value for a certain pixel. FIG. 13 illustrates this case, and the position of the
また、制御部201は、例えば、異なる2つの位置から撮影された2つの撮影画像のそれぞれから得たいずれの視点画像においても死角領域に設定されている画素については、合成視点画像においてその画素を死角領域に設定してよい。
In addition, for example, for a pixel that is set in a blind spot area in each of the viewpoint images obtained from two captured images taken from two different positions, the
以上で述べたように、異なる位置から撮影された複数の撮影画像を用いることで、死角領域の画素値を補って合成視点画像を生成することができる。なお、図13の例では、2つの撮影位置から撮影した撮影画像を用いる例が示されているが、実施形態はこれに限定されるものではなく、3以上の撮影位置から撮影された撮影画像を用いて1つの視点画像が生成されてもよい。 As described above, by using a plurality of captured images captured from different positions, it is possible to generate a composite viewpoint image by supplementing the pixel values in the blind spot area. Note that although the example in FIG. 13 shows an example in which photographed images photographed from two photographing positions are used, the embodiment is not limited to this, and photographed images photographed from three or more photographing positions are used. One viewpoint image may be generated using .
また、或る撮影位置から撮影した際に死角となってしまう領域が写るように別の撮影位置から撮影することで、死角領域の画素の画素値を効率的に補うことのできる撮影画像を得ることができる。 In addition, by shooting from another shooting position so that the area that becomes a blind spot when shooting from a certain shooting position is captured, a captured image can be obtained that can efficiently compensate for the pixel values of pixels in the blind spot area. be able to.
図14は、実施形態に係る異なる2つの位置から撮影された撮影画像に基づく視点画像の生成処理の動作フローを例示する図である。例えば、制御部201は、視点画像の生成指示が入力されると、図14の動作フローを開始してよい。
FIG. 14 is a diagram illustrating an operational flow of viewpoint image generation processing based on captured images captured from two different positions according to the embodiment. For example, the
S1401において制御部201は、例えば、複数の撮影位置から撮影された深度情報を有する撮影画像のそれぞれから視点画像を生成する。なお、制御部201は、例えば、図8および図9の動作フローで例示した処理により、深度情報を有する撮影画像から視点画像を生成してよい。
In S1401, the
S1402において制御部201は、撮影位置ごとに生成された複数の視点画像を重ね合わせる。
In S1402, the
S1403において制御部201は、重ね合わせた視点画像内の各画素について、画素値が1つの視点画像のみで得られている画素については、得られている画素値を設定してよい。例えば、2つの撮影位置で撮影した2つの撮影画像のそれぞれから生成された視点画像において、一方の視点画像においては死角領域と設定されている画素が、他方の視点画像において画素値を有するとする。この場合、制御部201は、その画素の画素値として、他方の視点画像における画素値を用いるように合成視点画像を生成してよい。
In S1403, the
S1404において制御部201は、重ね合わせた視点画像内の各画素について、画素値が複数の視点画像で得られている画素については、視線313との成す角が最小の投射線308と対応する画素から得られた画素値を、合成視点画像の画素に設定する。それにより、視線313と近しい方向から撮影された撮影画像から画素値を取得することができる。
In S1404, for each pixel in the superimposed viewpoint images, the
S1405において制御部201は、死角領域を設定する。例えば、制御部201は、重ね合わせた複数の視点画像の全てにおいて死角領域と設定されている画素については、合成視点画像においても死角領域に設定してよい。
In S1405, the
S1406において制御部201は、S1403からS1405の処理で設定した画素の値に基づいて、複数の視点画像を合成し、複数の撮影画像に基づく合成視点画像を生成する。
In S1406, the
S1407において制御部201は、複数の撮影画像に基づく視点画像を出力し、本動作フローは終了する。制御部201は、例えば、視点画像の画像データを記憶部202に保存してもよいし、別な例では、ディスプレイなどの表示装置204に視点画像を表示させてもよい。
In S1407, the
以上で述べたように、図14の動作フローによれば、複数の撮影画像に基づいて視点画像を生成することで、死角領域を補って視点画像を生成することができる。 As described above, according to the operation flow shown in FIG. 14, by generating a viewpoint image based on a plurality of captured images, it is possible to generate a viewpoint image while compensating for a blind spot area.
以上において、実施形態を例示したが、実施形態はこれに限定されるものではない。例えば、上述の動作フローは例示であり、実施形態はこれに限定されるものではない。可能な場合には、動作フローは、処理の順番を変更して実行されてもよく、別に更なる処理を含んでもよく、または、一部の処理が省略されてもよい。 Although the embodiments have been illustrated above, the embodiments are not limited thereto. For example, the above-described operational flow is an example, and the embodiments are not limited thereto. If possible, the operational flow may be executed by changing the order of processing, may include additional processing, or may omit some processing.
また、上述の実施形態では、視線313と対応する投射線308を、深度画像の画素が示す被写体110の深度と、投射線308と視線313との交差位置の深度との深度差に基づいて特定する例を述べている。しかしながら、実施形態はこれに限定されるものではない。別の実施形態では、制御部201は、深度画像の画素が示す被写体110の深度に基づく位置と、投射線308と視線313との交差位置との距離が最小になるように投射線308を特定してもよい。
Furthermore, in the embodiment described above, the
また、上述の実施形態では、情報処理装置101が、視点画像の生成を行う例を述べているが実施形態はこれに限定されるものではない。例えば、別の実施形態では、クライアント‐サーバシステムなどを用いて、上述の処理を複数の装置で分担して実行してもよい。
Further, in the above-described embodiment, an example is described in which the
なお、上述の実施形態において制御部201は、例えば、S801~S803の処理では配置部211として動作する。また、制御部201は、例えば、S807の処理では取得部212として動作する。制御部201は、例えば、S811の処理では生成部213として動作する。
Note that in the above-described embodiment, the
図15は、実施形態に係る情報処理装置101を実現するためのコンピュータ1500のハードウェア構成を例示する図である。図15の情報処理装置101を実現するためのハードウェア構成は、例えば、プロセッサ1501、メモリ1502、記憶装置1503、読取装置1504、通信インタフェース1506、および入出力インタフェース1507を備える。なお、プロセッサ1501、メモリ1502、記憶装置1503、読取装置1504、通信インタフェース1506、入出力インタフェース1507は、例えば、バス1508を介して互いに接続されている。
FIG. 15 is a diagram illustrating a hardware configuration of a
プロセッサ1501は、例えば、シングルプロセッサであっても、マルチプロセッサやマルチコアであってもよい。プロセッサ1501は、メモリ1502を利用して例えば上述の動作フローの手順を記述したプログラムを実行することにより、上述した制御部201の一部または全部の機能を提供する。例えば、情報処理装置101のプロセッサ1501は、記憶装置1503に格納されているプログラムを読み出して実行することで、配置部211、取得部212、および生成部213として動作する。
The
メモリ1502は、例えば半導体メモリであり、RAM領域およびROM領域を含んでいてよい。記憶装置1503は、例えばハードディスク、フラッシュメモリ等の半導体メモリ、または外部記憶装置である。なお、RAMは、Random Access Memoryの略称である。また、ROMは、Read Only Memoryの略称である。
読取装置1504は、プロセッサ1501の指示に従って着脱可能記憶媒体1505にアクセスする。着脱可能記憶媒体1505は、例えば、半導体デバイス、磁気的作用により情報が入出力される媒体、光学的作用により情報が入出力される媒体などにより実現される。なお、半導体デバイスは、例えば、USB(Universal Serial Bus)メモリである。また、磁気的作用により情報が入出力される媒体は、例えば、磁気ディスクである。光学的作用により情報が入出力される媒体は、例えば、CD-ROM、DVD、Blu-ray Disc等(Blu-rayは登録商標)である。CDは、Compact Discの略称である。DVDは、Digital Versatile Diskの略称である。
記憶部202は、例えばメモリ1502、記憶装置1503、および着脱可能記憶媒体1505を含んでいる。例えば、情報処理装置101の記憶装置1503には、例えば、上述の動作フローの処理を記述したプログラムおよび処理の実行で参照する情報が格納されていてよい。
The
通信インタフェース1506は、プロセッサ1501の指示に従って、他の装置と通信する。例えば、通信インタフェース1506は、有線または無線通信で撮影装置102から撮影画像および深度画像などの撮影データを受信してよい。通信インタフェース1506は、例えば、上述の通信部203の一例である。
入出力インタフェース1507は、例えば、入力装置および出力装置との間のインタフェースであってよい。入力装置は、例えばユーザからの指示を受け付けるキーボード、マウス、タッチパネルなどのデバイスである。出力装置は、例えばスピーカなどの音声装置である。また、入出力インタフェース1507は、例えば、上述の表示装置204と接続されていてよい。
Input/
実施形態に係る各プログラムは、例えば、下記の形態で情報処理装置101に提供される。
(1)記憶装置1503に予めインストールされている。
(2)着脱可能記憶媒体1505により提供される。
(3)プログラムサーバなどのサーバから提供される。
Each program according to the embodiment is provided to the
(1) Installed in the
(2) Provided by a removable storage medium 1505.
(3) Provided by a server such as a program server.
なお、図15を参照して述べた情報処理装置101を実現するためのコンピュータ1500のハードウェア構成は、例示であり、実施形態はこれに限定されるものではない。例えば、上述の構成の一部が、削除されてもよく、また、新たな構成が追加されてもよい。また、別の実施形態では、例えば、上述の情報処理装置101の一部または全部の機能がFPGA、SoC、ASIC、およびPLDなどによるハードウェアとして実装されてもよい。なお、FPGAは、Field Programmable Gate Arrayの略称である。SoCは、System-on-a-chipの略称である。ASICは、Application Specific Integrated Circuitの略称である。PLDは、Programmable Logic Deviceの略称である。例えば、上述の視点画像の生成処理が、ハードウェアとして実装されてもよい。また、この視点画像の生成処理を実行するハードウェアは、例えば、撮影装置102に搭載されるなど、撮影装置102と統合されていてもよい。
Note that the hardware configuration of the
以上において、いくつかの実施形態が説明される。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態および代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨および範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態が実施され得ることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して、または実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。 Above, several embodiments are described. However, the embodiments are not limited to the embodiments described above, but should be understood to include various modifications and alternative forms of the embodiments described above. For example, it will be understood that the various embodiments can be embodied by changing the components without departing from the spirit and scope thereof. Furthermore, it will be understood that various embodiments can be implemented by appropriately combining the plurality of components disclosed in the embodiments described above. Furthermore, various embodiments may be implemented by deleting some components from all the components shown in the embodiments or adding some components to the components shown in the embodiments. It will be understood by those skilled in the art.
100 撮影システム
101 情報処理装置
102 撮影装置
105 設置台
106 撮影対象物
110 被写体
201 制御部
202 記憶部
203 通信部
204 表示装置
211 配置部
212 取得部
213 生成部
301 光学中心
302 光軸
303 撮影投影面
305 3次元平面
308 投射線
310 視点
311 視点投影面
313 視線
1500 コンピュータ
1501 プロセッサ
1502 メモリ
1503 記憶装置
1504 読取装置
1505 着脱可能記憶媒体
1506 通信インタフェース
1507 入出力インタフェース
1508 バス
Claims (8)
前記視点から前記視点投影面上に配置した前記視点画像の処理対象画素に向けて延ばした視線と、前記光学中心から前記撮影投影面上に配置した前記撮影画像の画素に向けて延ばした投射線との交差位置と、前記撮影画像の画素と対応する前記深度情報が示す前記被写体の深度とに基づいて、前記視点画像の前記処理対象画素と対応する画素値を、前記撮影画像の画素のうちから取得し、
前記処理対象画素に対して取得した画素値を用いて前記視点画像を生成する、
処理をコンピュータに実行させる生成プログラム。 The optical center of the photographing device used to photograph the photographed image, in which each pixel is associated with depth information indicating the depth of the subject, the photographic projection plane on which the photographed image is projected, the viewpoint, and the A viewpoint projection plane onto which a viewpoint image depicting the subject is projected is arranged in virtual space,
A line of sight extending from the viewpoint toward a pixel to be processed of the viewpoint image arranged on the viewpoint projection surface, and a projection line extending from the optical center toward a pixel of the photographed image arranged on the photographic projection surface. and the depth of the subject indicated by the depth information corresponding to the pixels of the photographed image, the pixel value corresponding to the processing target pixel of the viewpoint image is determined from among the pixels of the photographed image. retrieved from
generating the viewpoint image using the pixel value acquired for the processing target pixel;
A generation program that causes a computer to perform a process.
各画素が前記被写体の深度を示す前記深度情報と対応づけられている第2の撮影画像に基づいて、前記視点から前記被写体を写した第2の視点画像を生成し、
前記視点画像と前記第2の視点画像とのいずれか一方の視点画像で前記処理対象画素が前記死角領域に設定されている場合、他方の視点画像の画素値を前記処理対象画素の画素値として用いる、処理を含む請求項3に記載の生成プログラム。 The generating process further includes:
Generating a second viewpoint image of the subject from the viewpoint based on a second captured image in which each pixel is associated with the depth information indicating the depth of the subject;
When the processing target pixel is set in the blind spot area in either the viewpoint image or the second viewpoint image, the pixel value of the other viewpoint image is set as the pixel value of the processing target pixel. 4. The generation program according to claim 3, comprising a process for using.
各画素が前記被写体の深度を示す前記深度情報と対応づけられている第2の撮影画像に基づいて、前記視点から前記被写体を写した第2の視点画像を生成し、
前記視点画像と前記第2の視点画像との両方の視点画像が前記処理対象画素で画素値を有する場合、前記両方の視点画像の前記処理対象画素での画素値のうち、前記視点から前記処理対象画素に向けて延ばした前記視線との成す角がより小さい投射線と対応する画素から取得された画素値を、前記処理対象画素の画素値に設定する、処理を含む請求項1から4のいずれか1項に記載の生成プログラム。 The generating process further includes:
Generating a second viewpoint image of the subject from the viewpoint based on a second captured image in which each pixel is associated with the depth information indicating the depth of the subject;
When both the viewpoint images and the second viewpoint image have pixel values at the processing target pixels, the pixel values at the processing target pixels of both viewpoint images are determined by the processing from the viewpoint. 5. The method according to claim 1, further comprising a process of setting a pixel value obtained from a pixel corresponding to a projection line extending toward the target pixel and forming a smaller angle with the line of sight as the pixel value of the target pixel. The generation program according to any one of the items.
前記視点から前記視点投影面上に配置した前記視点画像の処理対象画素に向けて延ばした視線と、前記光学中心から前記撮影投影面上に配置した前記撮影画像の画素に向けて延ばした投射線との交差位置と、前記撮影画像の画素と対応する前記深度情報が示す前記被写体の深度とに基づいて、前記視点画像の前記処理対象画素と対応する画素値を、前記撮影画像の画素のうちから取得し、
前記処理対象画素に対して取得した画素値を用いて前記視点画像を生成する、
ことを含む、コンピュータが実行する生成方法。 The optical center of the photographing device used to photograph the photographed image in which each pixel is associated with depth information indicating the depth of the subject, the photographic projection plane on which the photographed image is projected, the viewpoint, and the A viewpoint projection plane onto which a viewpoint image depicting the subject is projected is arranged in virtual space,
A line of sight extending from the viewpoint toward a pixel to be processed of the viewpoint image arranged on the viewpoint projection surface, and a projection line extending from the optical center toward a pixel of the photographed image arranged on the photographic projection surface. and the depth of the subject indicated by the depth information corresponding to the pixels of the photographed image, the pixel value corresponding to the processing target pixel of the viewpoint image is determined from among the pixels of the photographed image. retrieved from
generating the viewpoint image using the pixel value acquired for the processing target pixel;
computer-implemented generation methods, including
前記視点から前記視点投影面上に配置した前記視点画像の処理対象画素に向けて延ばした視線と、前記光学中心から前記撮影投影面上に配置した前記撮影画像の画素に向けて延ばした投射線との交差位置と、前記撮影画像の画素と対応する前記深度情報が示す前記被写体の深度とに基づいて、前記視点画像の前記処理対象画素と対応する画素値を、前記撮影画像の画素のうちから取得する取得部と、
前記処理対象画素に対して取得した画素値を用いて前記視点画像を生成する生成部と、
を含む、情報処理装置。
The optical center of the photographing device used to photograph the photographed image, in which each pixel is associated with depth information indicating the depth of the subject, the photographic projection plane on which the photographed image is projected, the viewpoint, and the an arrangement unit that arranges, in virtual space, a viewpoint projection surface onto which a viewpoint image depicting the subject is projected;
A line of sight extending from the viewpoint toward a pixel to be processed of the viewpoint image arranged on the viewpoint projection surface, and a projection line extending from the optical center toward a pixel of the photographed image arranged on the photographic projection surface. and the depth of the subject indicated by the depth information corresponding to the pixels of the photographed image, the pixel value corresponding to the processing target pixel of the viewpoint image is determined from among the pixels of the photographed image. an acquisition unit that acquires from
a generation unit that generates the viewpoint image using the pixel value acquired for the processing target pixel;
Information processing equipment, including.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020092813A JP7396202B2 (en) | 2020-05-28 | 2020-05-28 | Generation program, generation method, and information processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020092813A JP7396202B2 (en) | 2020-05-28 | 2020-05-28 | Generation program, generation method, and information processing device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2021189629A JP2021189629A (en) | 2021-12-13 |
| JP7396202B2 true JP7396202B2 (en) | 2023-12-12 |
Family
ID=78850304
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020092813A Active JP7396202B2 (en) | 2020-05-28 | 2020-05-28 | Generation program, generation method, and information processing device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7396202B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7715095B2 (en) * | 2022-08-01 | 2025-07-30 | トヨタ自動車株式会社 | Information processing method and information processing device |
| EP4410214A1 (en) * | 2023-02-06 | 2024-08-07 | Koninklijke Philips N.V. | Three-dimensional imaging of a subject on a subject support |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009116532A (en) | 2007-11-05 | 2009-05-28 | Nippon Telegr & Teleph Corp <Ntt> | Virtual viewpoint image generation method and virtual viewpoint image generation apparatus |
| JP2014155069A (en) | 2013-02-08 | 2014-08-25 | Nippon Telegr & Teleph Corp <Ntt> | Image generating apparatus, image generating method, and program |
| JP2017073710A (en) | 2015-10-08 | 2017-04-13 | 日本放送協会 | Element image group generation device and program therefor |
| WO2019193696A1 (en) | 2018-04-04 | 2019-10-10 | 株式会社ソニー・インタラクティブエンタテインメント | Reference image generation device, display image generation device, reference image generation method, and display image generation method |
-
2020
- 2020-05-28 JP JP2020092813A patent/JP7396202B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009116532A (en) | 2007-11-05 | 2009-05-28 | Nippon Telegr & Teleph Corp <Ntt> | Virtual viewpoint image generation method and virtual viewpoint image generation apparatus |
| JP2014155069A (en) | 2013-02-08 | 2014-08-25 | Nippon Telegr & Teleph Corp <Ntt> | Image generating apparatus, image generating method, and program |
| JP2017073710A (en) | 2015-10-08 | 2017-04-13 | 日本放送協会 | Element image group generation device and program therefor |
| WO2019193696A1 (en) | 2018-04-04 | 2019-10-10 | 株式会社ソニー・インタラクティブエンタテインメント | Reference image generation device, display image generation device, reference image generation method, and display image generation method |
Non-Patent Citations (4)
| Title |
|---|
| フレーム間のテクスチャの整合性を考慮した視点依存テクスチャマッピング,情報処理学会 研究報告 コンピュータビジョンとイメージメディア(CVIM) 2017-CVIM-206 [online],2017年03月02日,p.1-8 |
| 複数の奥行マップを用いた仮想視点画像の生成 View Generation for a Virtual Camera Using the Multiple Depth Maps,電子情報通信学会論文誌 (J84-D-II) 第5号 THE TRANSACTIONS OF THE INSTITUTE OF ELECTRONICS,INFORMATION AND COMMUNICATION ENGINEERS D-II,2001年05月01日,p.805-811 |
| 視点位置に依存して変形する三次元メッシュモデルを利用した自由視点画像生成における違和感の低減 Reduction of Unnatural Feeling in Free-viewpoint Rendering Using View-Dependent Deformable 3-D Mesh Model,電子情報通信学会技術研究報告 Vol.109 No.471 IEICE Technical Report,2010年03月08日,p.437-442 |
| 視点位置に応じて変形する3次元メッシュモデルを用いた全方位動画像からの自由視点画像生成 Novel View Genetation from Omni-Directional Videos Using Viewpoint-Dependent Deformable 3-D Mesh Model,情報処理学会研究報告 Vol.2009 No.29 IPSJ SIG Technical Reports,2009年03月06日,p.127-132 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2021189629A (en) | 2021-12-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9117267B2 (en) | Systems and methods for marking images for three-dimensional image generation | |
| EP3035292B1 (en) | 3d rendering method and apparatus | |
| US8848201B1 (en) | Multi-modal three-dimensional scanning of objects | |
| US20120242795A1 (en) | Digital 3d camera using periodic illumination | |
| US10210618B1 (en) | Object image masking using depth cameras or three-dimensional (3D) models | |
| US10825217B2 (en) | Image bounding shape using 3D environment representation | |
| US20220277512A1 (en) | Generation apparatus, generation method, system, and storage medium | |
| Miknis et al. | Near real-time point cloud processing using the PCL | |
| Meerits et al. | Real-time diminished reality for dynamic scenes | |
| Starck et al. | The multiple-camera 3-d production studio | |
| CN110276791B (en) | Parameter-configurable depth camera simulation method | |
| US9171393B2 (en) | Three-dimensional texture reprojection | |
| US12051168B2 (en) | Avatar generation based on driving views | |
| TW202014993A (en) | Information processing device, program, and information processing method | |
| JP7396202B2 (en) | Generation program, generation method, and information processing device | |
| Ishihara et al. | Integrating both parallax and latency compensation into video see-through head-mounted display | |
| CN113068017B (en) | Enhanced video throughput for real-world scenarios | |
| US9734579B1 (en) | Three-dimensional models visual differential | |
| KR102956380B1 (en) | Apparatus and method for processing instance segmentation for 3 dimensional data using video tracking | |
| Glumova et al. | Investigation of algorithms for generating surfaces of 3D models based on an unstructured point cloud | |
| Kolivand et al. | Livephantom: Retrieving virtual world light data to real environments | |
| Killpack et al. | Visualization of 3D images from multiple texel images created from fused LADAR/digital imagery | |
| Karthikeyan et al. | Development and performance evaluation of stereo and structured light reconstruction systems for dimensional metrology application using augmented reality and distance metrics | |
| Killpack et al. | Dynamic visualization of three-dimensional images from multiple texel images created from fused ladar/digital imagery | |
| Zuo et al. | Radial stereo imaging system for three-dimensional reconstruction |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20210826 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230209 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230922 |
|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20231024 |
|
| 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: 20231031 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231113 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7396202 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |