JP2014155069A - Image generating apparatus, image generating method, and program - Google Patents
Image generating apparatus, image generating method, and program Download PDFInfo
- Publication number
- JP2014155069A JP2014155069A JP2013023796A JP2013023796A JP2014155069A JP 2014155069 A JP2014155069 A JP 2014155069A JP 2013023796 A JP2013023796 A JP 2013023796A JP 2013023796 A JP2013023796 A JP 2013023796A JP 2014155069 A JP2014155069 A JP 2014155069A
- Authority
- JP
- Japan
- Prior art keywords
- image
- pixel
- depth
- unit
- value
- 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.)
- Granted
Links
Landscapes
- Image Processing (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
Description
本発明は、参照画像から任意の視点における画像を生成する技術に関する。 The present invention relates to a technique for generating an image at an arbitrary viewpoint from a reference image.
近年、映像メディアの分野では高臨場化及びパーソナライズ化の流れが急速に進んでいる。高い臨場感を提供可能な三次元映像は、映画、テレビ及びゲーム機等の幅広い分野で普及している。それに加え、解像度がフルHDの4倍もある4K映像や、スーパーハイビジョン映像など、映像の大画面化も進んでいる。また、ネットワークを介したビデオオンデマンドサービスの普及は著しい。このことから、映像のパーソナライズ化が進んでいることがわかる。 In recent years, in the field of video media, the trend toward higher realization and personalization is rapidly progressing. 3D images that can provide a high sense of realism are widespread in a wide range of fields such as movies, televisions, and game machines. In addition, the screen size of 4K video, which is four times the resolution of full HD, and super high-definition video is also increasing. In addition, the spread of video-on-demand services via networks is remarkable. This shows that the personalization of video is progressing.
このような背景の中、高臨場とパーソナライズ化を更に加速させる新しい映像メディアの一つとして、自由視点映像がある。自由視点映像は、所望の視点からの映像を視聴することが可能となる新しい映像メディアである。自由視点映像は、例えば以下のような処理によって生成される。まず、複数の予め撮影された画像(以下、「参照画像」という。)に対して、参照画像間の1画素ずつの画素対応を求める。次に、撮影シーンの三次元形状を復元する奥行き推定を行う。そして、所望の仮想視点位置に参照画像の画素を投影し映像を合成する。 In such a background, free viewpoint video is one of the new video media that further accelerates high reality and personalization. Free viewpoint video is a new video media that enables users to view video from a desired viewpoint. The free viewpoint video is generated by the following process, for example. First, for each of a plurality of pre-captured images (hereinafter referred to as “reference images”), a pixel correspondence for each pixel between the reference images is obtained. Next, depth estimation for restoring the three-dimensional shape of the shooting scene is performed. Then, the pixels of the reference image are projected onto the desired virtual viewpoint position to synthesize the video.
奥行き推定手法は、実カメラ依存型奥行き推定(非特許文献1参照)と、仮想視点依存型奥行き推定(非特許文献2参照)とに分ける事が出来る。
実カメラ依存型奥行き推定は、各カメラ画像の画素ごとの奥行きを推定し、仮想視点へと画素を投影する手法である。実カメラ依存型奥行き推定では、実カメラの一つの画素には一つの奥行きが推定される。そのため二重投影と呼ばれる問題が発生しない。
The depth estimation method can be divided into real camera-dependent depth estimation (see Non-Patent Document 1) and virtual viewpoint-dependent depth estimation (see Non-Patent Document 2).
Real camera-dependent depth estimation is a technique for estimating the depth of each pixel of each camera image and projecting the pixel to a virtual viewpoint. In the real camera-dependent depth estimation, one depth is estimated for one pixel of the real camera. Therefore, a problem called double projection does not occur.
一方、仮想視点依存型奥行き推定は、仮想視点から観測できる空間領域のみの奥行きを推定し、仮想視点画像を合成する。仮想視点依存型奥行き推定では、仮想視点の全ての画素に対して処理が行われる。そのため、仮想視点への画素投影時に仮想視点画像上にホールと呼ばれる輝度値不明の画素が発生しにくいというメリットがある。 On the other hand, the virtual viewpoint-dependent depth estimation estimates the depth of only the spatial region that can be observed from the virtual viewpoint, and synthesizes the virtual viewpoint image. In virtual viewpoint-dependent depth estimation, processing is performed on all pixels of the virtual viewpoint. Therefore, there is an advantage that a pixel with an unknown luminance value called a hole is hardly generated on the virtual viewpoint image when the pixel is projected onto the virtual viewpoint.
しかしながら、実カメラ依存型奥行き推定では、実カメラの画素と仮想視点の画素とが1対1対応ではないために、仮想視点への画素投影時にホールが発生してしまうことがある。また、仮想視点依存型奥行き推定では、実カメラにおける各画素は複数の奥行きを持つことが許容されるため、二重投影の状態が発生する頻度が上昇してしまう。そのため、奥行き推定の精度が低下してしまう。 However, in the real camera-dependent depth estimation, since a pixel of the real camera and a pixel of the virtual viewpoint do not have a one-to-one correspondence, a hole may be generated when the pixel is projected onto the virtual viewpoint. In addition, in the virtual viewpoint-dependent depth estimation, each pixel in the real camera is allowed to have a plurality of depths, and thus the frequency of occurrence of a double projection state increases. For this reason, the accuracy of depth estimation is reduced.
上記事情に鑑み、本発明は、参照画像から任意の視点における画像を生成する際に、ホールの発生及び二重投影の発生を抑制する技術の提供を目的としている。 In view of the above circumstances, an object of the present invention is to provide a technique for suppressing the generation of holes and the occurrence of double projection when generating an image at an arbitrary viewpoint from a reference image.
本発明の一態様は、予め生成された複数の参照画像を用いて仮想視点の画像を生成する画像生成装置であって、設定された仮想視点の画像平面に平行な複数の探索レイヤを設定する探索レイヤ設定部と、前記探索レイヤ設定部によって設定された探索レイヤに基づいて、前記参照画像の各画素における奥行き値を推定する奥行き推定部と、前記奥行き推定部によって推定された奥行き値に基づいて、前記仮想視点の画像を生成する画像生成部と、を備える画像生成装置である。 One aspect of the present invention is an image generation device that generates a virtual viewpoint image using a plurality of reference images generated in advance, and sets a plurality of search layers parallel to the set virtual viewpoint image plane. Based on a search layer setting unit, a depth estimation unit that estimates a depth value in each pixel of the reference image based on the search layer set by the search layer setting unit, and a depth value estimated by the depth estimation unit An image generation unit that generates an image of the virtual viewpoint.
本発明の一態様は、上記の画像生成装置であって、前記奥行き推定部は、投影元の参照画像の画素値と投影先の参照画像の画素値との差のうち、所定の閾値よりも小さい値の差の累積値を前記探索レイヤ毎に算出し、前記累積値が最も小さい探索レイヤに基づいて前記奥行き値を推定する。 One aspect of the present invention is the above-described image generation device, wherein the depth estimation unit is configured to be greater than a predetermined threshold among differences between a pixel value of a projection source reference image and a pixel value of a projection destination reference image. A cumulative value of small difference values is calculated for each search layer, and the depth value is estimated based on the search layer having the smallest cumulative value.
本発明の一態様は、上記の画像生成装置であって、前記参照画像は、複数の画素を含む複数のセグメントに分割されており、前記画像生成部は、前記セグメントの境界領域の画素値には相対的に低い重み付けを与え、前記境界領域以外の画素値には相対的に高い重み付けを与えることによって前記画像を生成する。 One aspect of the present invention is the above-described image generation device, wherein the reference image is divided into a plurality of segments including a plurality of pixels, and the image generation unit uses pixel values of boundary regions of the segments. Gives a relatively low weighting and generates a higher weighting for pixel values outside the border region.
本発明の一態様は、予め生成された複数の参照画像を用いて仮想視点の画像を生成する画像生成方法であって、設定された仮想視点の画像平面に平行な複数の探索レイヤを設定する探索レイヤ設定ステップと、前記探索レイヤ設定ステップにおいて設定された探索レイヤに基づいて、前記参照画像の各画素における奥行き値を推定する奥行き推定ステップと、前記奥行き推定ステップにおいて推定された奥行き値に基づいて、前記仮想視点の画像を生成する画像生成ステップと、を有する画像生成方法である。 One aspect of the present invention is an image generation method for generating a virtual viewpoint image using a plurality of reference images generated in advance, and sets a plurality of search layers parallel to the set virtual viewpoint image plane. Based on the search layer setting step, the depth estimation step for estimating the depth value in each pixel of the reference image based on the search layer set in the search layer setting step, and the depth value estimated in the depth estimation step An image generation step of generating an image of the virtual viewpoint.
本発明の一態様は、上記の画像生成装置としてコンピュータを動作させるためのプログラムである。 One embodiment of the present invention is a program for operating a computer as the above-described image generation apparatus.
本発明により、参照画像から任意の視点における画像を生成する際に、ホールの発生及び二重投影の発生を抑制することが可能となる。 According to the present invention, it is possible to suppress the generation of holes and the occurrence of double projection when generating an image at an arbitrary viewpoint from a reference image.
図1は、仮想視点画像生成システム1のシステム構成を表すシステム構成図である。仮想視点画像生成システム1は、一つの撮影シーンを撮影することによって予め生成された画像(以下、「参照画像」という。)を複数用いることによって、任意の視点(以下、「仮想視点」という。)からそのシーンを見た画像(以下、「仮想視点画像」という。)を生成する。複数の参照画像の組み合わせを、「多視点画像群」という。 FIG. 1 is a system configuration diagram illustrating a system configuration of the virtual viewpoint image generation system 1. The virtual viewpoint image generation system 1 uses an arbitrary viewpoint (hereinafter referred to as “virtual viewpoint”) by using a plurality of images (hereinafter referred to as “reference images”) generated in advance by capturing a single shooting scene. ) To view the scene (hereinafter referred to as “virtual viewpoint image”). A combination of a plurality of reference images is referred to as a “multi-viewpoint image group”.
仮想視点画像生成システム1は、前処理装置200及び画像生成装置300を備える。前処理装置200は、仮想視点画像を生成するために必要となる前処理を行う。画像生成装置300は、前処理装置200によって行われた前処理の結果を用いることによって、複数の参照画像から仮想視点画像を生成する。 The virtual viewpoint image generation system 1 includes a preprocessing device 200 and an image generation device 300. The preprocessing device 200 performs preprocessing necessary to generate a virtual viewpoint image. The image generation device 300 generates a virtual viewpoint image from a plurality of reference images by using the result of the preprocessing performed by the preprocessing device 200.
以下、各装置の構成について説明する。
前処理装置200は、は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、前処理プログラムを実行する。前処理プログラムの実行によって、前処理装置200は、画像入力部201、画像蓄積部202、カメラパラメータ取得部203、カメラパラメータ蓄積部204、領域分割部205、セグメント情報蓄積部206を備える装置として機能する。なお、前処理装置200の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されても良い。前処理プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。前処理プログラムは、電気通信回線を介して送受信されても良い。
Hereinafter, the configuration of each apparatus will be described.
The preprocessing device 200 includes a CPU (Central Processing Unit), a memory, an auxiliary storage device, and the like connected by a bus, and executes a preprocessing program. By executing the preprocessing program, the preprocessing device 200 functions as a device including an image input unit 201, an image storage unit 202, a camera parameter acquisition unit 203, a camera parameter storage unit 204, a region division unit 205, and a segment information storage unit 206. To do. Note that all or part of each function of the preprocessing device 200 may be realized using hardware such as an application specific integrated circuit (ASIC), a programmable logic device (PLD), or a field programmable gate array (FPGA). . The preprocessing program may be recorded on a computer-readable recording medium. The computer-readable recording medium is, for example, a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, or a storage device such as a hard disk built in the computer system. The preprocessing program may be transmitted / received via a telecommunication line.
画像入力部201は、前処理装置200に対して入力される多視点画像群のデータを受け付ける。画像入力部201は、例えばCD−ROMやUSBメモリ(Universal Serial Bus Memory)等の記録媒体に記録された多視点画像群のデータを読み出しても良い。また、画像入力部201は、スチルカメラやビデオカメラによって撮像された多視点画像群を、カメラから受信しても良い。また、前処理装置200がスチルカメラやビデオカメラ若しくはカメラを備えた情報処理装置に内蔵されている場合は、画像入力部201は撮像された画像又は撮像前の画像を多視点画像群としてバスから受信しても良い。また、画像入力部201は、ネットワークを介して他の情報処理装置から多視点画像群のデータを受信しても良い。画像入力部201は、多視点画像群のデータの入力を受けることが可能な構成であれば、さらに異なる態様で構成されても良い。 The image input unit 201 receives multi-viewpoint image group data input to the preprocessing device 200. The image input unit 201 may read data of a multi-viewpoint image group recorded on a recording medium such as a CD-ROM or a USB memory (Universal Serial Bus Memory). The image input unit 201 may receive a multi-viewpoint image group captured by a still camera or a video camera from the camera. Further, when the preprocessing device 200 is built in a still camera, a video camera, or an information processing device including a camera, the image input unit 201 uses the captured image or the image before imaging as a multi-viewpoint image group from the bus. You may receive it. Further, the image input unit 201 may receive multi-viewpoint image group data from another information processing apparatus via a network. The image input unit 201 may be configured in a different manner as long as it can receive data of the multi-viewpoint image group.
画像蓄積部202は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。画像蓄積部202は、画像入力部201によって入力された多視点画像群のデータを記憶する。 The image storage unit 202 is configured using a storage device such as a magnetic hard disk device or a semiconductor storage device. The image storage unit 202 stores data of the multi-viewpoint image group input by the image input unit 201.
カメラパラメータ取得部203は、多視点画像群に含まれる各参照画像が撮影された際のカメラパラメータを取得する。カメラパラメータ取得部203は、例えばCD−ROMやUSBメモリ等の記録媒体に記録されたカメラパラメータのデータを読み出しても良い。また、カメラパラメータ取得部203は、各参照画像を撮影したスチルカメラやビデオカメラからカメラパラメータを受信しても良い。また、前処理装置200がスチルカメラやビデオカメラ若しくはカメラを備えた情報処理装置に内蔵されている場合は、カメラパラメータ取得部203は、各参照画像が撮影された時点のカメラパラメータを取得しても良い。また、カメラパラメータ取得部203は、ネットワークを介して他の情報処理装置からカメラパラメータのデータを受信しても良い。カメラパラメータ取得部203は、カメラキャリブレーション手法のひとつであるStructure from Motion手法によってカメラパラメータを取得しても良い。カメラパラメータ取得部203は、多視点画像群のカメラパラメータを取得可能な構成であれば、さらに異なる態様で構成されても良い。 The camera parameter acquisition unit 203 acquires camera parameters when each reference image included in the multi-viewpoint image group is captured. The camera parameter acquisition unit 203 may read camera parameter data recorded on a recording medium such as a CD-ROM or a USB memory. The camera parameter acquisition unit 203 may receive camera parameters from a still camera or a video camera that has captured each reference image. When the pre-processing device 200 is built in an information processing device including a still camera, a video camera, or a camera, the camera parameter acquisition unit 203 acquires camera parameters at the time when each reference image is captured. Also good. The camera parameter acquisition unit 203 may receive camera parameter data from another information processing apparatus via a network. The camera parameter acquisition unit 203 may acquire camera parameters by a Structure from Motion method, which is one of camera calibration methods. The camera parameter acquisition unit 203 may be configured in a different manner as long as it can acquire the camera parameters of the multi-viewpoint image group.
カメラパラメータ蓄積部204は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。カメラパラメータ蓄積部204は、カメラパラメータ取得部203によって取得されたカメラパラメータのデータを記憶する。 The camera parameter storage unit 204 is configured using a storage device such as a magnetic hard disk device or a semiconductor storage device. The camera parameter storage unit 204 stores the camera parameter data acquired by the camera parameter acquisition unit 203.
領域分割部205は、多視点画像群に含まれる各参照画像を、複数の部分領域(以下、「セグメント」という。)に分割する。 The area dividing unit 205 divides each reference image included in the multi-viewpoint image group into a plurality of partial areas (hereinafter referred to as “segments”).
セグメント情報蓄積部206は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。セグメント情報蓄積部206は、領域分割部205によって生成された各セグメントを表す情報(以下「セグメント情報」という。)を記憶する。セグメント情報は、例えば各セグメントの領域を表す情報(例えば各頂点の座標及び並び順)である。 The segment information storage unit 206 is configured using a storage device such as a magnetic hard disk device or a semiconductor storage device. The segment information storage unit 206 stores information representing each segment generated by the area dividing unit 205 (hereinafter referred to as “segment information”). The segment information is, for example, information indicating the area of each segment (for example, the coordinates and arrangement order of each vertex).
前処理装置200の各蓄積部に記憶されたデータは、画像生成装置300の処理において使用される。画像生成装置300は、必要に応じて前処理装置200の各蓄積部にアクセス可能に構成されても良いし、前処理装置200の各蓄積部に蓄積されたデータを取得して記憶しても良い。 Data stored in each storage unit of the pre-processing device 200 is used in the processing of the image generation device 300. The image generation device 300 may be configured to be accessible to each storage unit of the preprocessing device 200 as necessary, or may acquire and store data stored in each storage unit of the preprocessing device 200. good.
画像生成装置300は、バスで接続されたCPUやメモリや補助記憶装置などを備え、画像生成プログラムを実行する。画像生成プログラムの実行によって、画像生成装置300は、仮想視点情報取得部301、探索レイヤ設定部302、奥行き推定部303、奥行き評価部304、再推定部305、画像生成部306を備える装置として機能する。なお、画像生成装置300の各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されても良い。画像生成プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。画像生成プログラムは、電気通信回線を介して送受信されても良い。 The image generation device 300 includes a CPU, a memory, an auxiliary storage device, and the like connected by a bus, and executes an image generation program. By executing the image generation program, the image generation apparatus 300 functions as an apparatus including a virtual viewpoint information acquisition unit 301, a search layer setting unit 302, a depth estimation unit 303, a depth evaluation unit 304, a re-estimation unit 305, and an image generation unit 306. To do. Note that all or some of the functions of the image generation apparatus 300 may be realized using hardware such as an ASIC, PLD, or FPGA. The image generation program may be recorded on a computer-readable recording medium. The computer-readable recording medium is, for example, a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, or a storage device such as a hard disk built in the computer system. The image generation program may be transmitted / received via a telecommunication line.
仮想視点情報取得部301は、画像生成装置300が生成する仮想視点画像の視点(仮想視点)に関する情報(以下、「仮想視点情報」という。)を取得する。仮想視点情報は、仮想視点位置の空間座標と、視線方向のベクトルとを表す。仮想視点情報取得部301は、例えば何らかのアプリケーションによって指定された仮想視点情報を取得しても良い。仮想視点情報取得部301は、キーボードやポインティングデバイス等の入力装置を介してユーザによって指定された仮想視点情報を取得しても良い。仮想視点情報取得部301は、他の情報処理装置から仮想視点情報を表すデータを受信することによって仮想視点情報を取得しても良い。仮想視点情報取得部301は、仮想視点情報を取得可能な構成であれば、さらに異なる態様で構成されても良い。 The virtual viewpoint information acquisition unit 301 acquires information on the viewpoint (virtual viewpoint) of the virtual viewpoint image generated by the image generation apparatus 300 (hereinafter referred to as “virtual viewpoint information”). The virtual viewpoint information represents spatial coordinates of the virtual viewpoint position and a vector in the line-of-sight direction. The virtual viewpoint information acquisition unit 301 may acquire virtual viewpoint information designated by some application, for example. The virtual viewpoint information acquisition unit 301 may acquire virtual viewpoint information designated by the user via an input device such as a keyboard or a pointing device. The virtual viewpoint information acquisition unit 301 may acquire virtual viewpoint information by receiving data representing virtual viewpoint information from another information processing apparatus. The virtual viewpoint information acquisition unit 301 may be configured in a different manner as long as the virtual viewpoint information can be acquired.
探索レイヤ設定部302は、仮想視点情報取得部301によって取得された仮想視点情報に応じて、複数の探索レイヤを設定する。具体的には以下のとおりである。探索レイヤ設定部302は、仮想視点情報に基づいて仮想視点位置に応じた画像平面(以下、「仮想画像平面」という。)を設定する。探索レイヤ設定部302は、探索レイヤ同士の距離を離して、仮想画像平面に平行に複数の探索レイヤを設定する。例えば、探索レイヤ設定部302は、仮想視点位置からそれぞれd1〜d4だけ離れた点を中心とした仮想画像平面に平行なレイヤを設定する。 The search layer setting unit 302 sets a plurality of search layers according to the virtual viewpoint information acquired by the virtual viewpoint information acquisition unit 301. Specifically, it is as follows. The search layer setting unit 302 sets an image plane corresponding to the virtual viewpoint position (hereinafter referred to as “virtual image plane”) based on the virtual viewpoint information. The search layer setting unit 302 sets a plurality of search layers in parallel with the virtual image plane while separating the distances between the search layers. For example, the search layer setting unit 302 sets a layer parallel to the virtual image plane centered on points that are separated from the virtual viewpoint position by d1 to d4, respectively.
奥行き推定部303は、探索レイヤ設定部302によって設定された探索レイヤに基づいて、多視点画像群に含まれる各参照画像のセグメント毎に奥行き値を推定する。奥行き推定部303によって推定される奥行き値は、仮想視点位置からの距離を表す。 The depth estimation unit 303 estimates the depth value for each segment of each reference image included in the multi-viewpoint image group based on the search layer set by the search layer setting unit 302. The depth value estimated by the depth estimation unit 303 represents the distance from the virtual viewpoint position.
奥行き評価部304は、奥行き推定部303によって推定された各参照画像の各セグメントの奥行き値に基づいて、各セグメントの奥行き値を仮想画像平面に投影する。奥行き評価部304は、仮想画像平面の画素のうち複数の奥行き値が投影された画素において、投影された奥行き値を評価する。複数の奥行き値の分散が大きい場合には、奥行き評価部304は、投影された奥行き値を破棄する。一方、複数の奥行き値の分散が小さい場合には、奥行き評価部304は、投影された複数の奥行き値に基づいて一つの奥行き値(平均値等の統計値)の推定値を決定する。なお、奥行き評価部304は、例えば予め設定されている閾値よりも分散が大きいか否かに基づいて処理を行っても良い。 The depth evaluation unit 304 projects the depth value of each segment on the virtual image plane based on the depth value of each segment of each reference image estimated by the depth estimation unit 303. The depth evaluation unit 304 evaluates the projected depth value in a pixel on which a plurality of depth values are projected among the pixels on the virtual image plane. When the variance of the plurality of depth values is large, the depth evaluation unit 304 discards the projected depth value. On the other hand, when the variance of the plurality of depth values is small, the depth evaluation unit 304 determines an estimated value of one depth value (statistical value such as an average value) based on the projected depth values. Note that the depth evaluation unit 304 may perform processing based on, for example, whether or not the variance is greater than a preset threshold value.
再推定部305は、奥行き評価部304によって奥行き値が破棄された画素について、奥行き推定部303とは異なる手法を用いることによって奥行き値を推定する。再推定部305は、例えば通常のブロックマッチングや、仮想視点依存型奥行き推定を用いることによって奥行き値を推定する。 The re-estimation unit 305 estimates the depth value by using a method different from the depth estimation unit 303 for the pixels whose depth values are discarded by the depth evaluation unit 304. The re-estimation unit 305 estimates the depth value by using, for example, normal block matching or virtual viewpoint-dependent depth estimation.
画像生成部306は、奥行き評価部304及び再推定部305による推定結果に基づいて、多視点画像群の各参照画像の各セグメントを仮想画像平面に投影する。画像生成部306は、投影されたセグメントの画素値に基づいて、仮想画像平面の各画素の画素値を決定する。この処理によって、画像生成部306は仮想視点画像を生成する。画像生成部306は、生成された仮想視点画像を出力する。 The image generation unit 306 projects each segment of each reference image of the multi-viewpoint image group on the virtual image plane based on the estimation results by the depth evaluation unit 304 and the re-estimation unit 305. The image generation unit 306 determines the pixel value of each pixel on the virtual image plane based on the pixel value of the projected segment. By this processing, the image generation unit 306 generates a virtual viewpoint image. The image generation unit 306 outputs the generated virtual viewpoint image.
図2は、領域分割部205によって行われる領域分割処理の具体例を示す図である。図2(A)は、領域分割処理における初期状態を表す図である。図2(B)は、領域分割処理の結果を示す図である。図2に示される例では、領域分割部205は、K−means法を用いることによって領域を分割する。 FIG. 2 is a diagram illustrating a specific example of the area dividing process performed by the area dividing unit 205. FIG. 2A is a diagram illustrating an initial state in the area division processing. FIG. 2B is a diagram illustrating a result of the area division process. In the example illustrated in FIG. 2, the region dividing unit 205 divides a region by using a K-means method.
まず、領域分割部205は、画像80を所定の大きさの部分領域に分割することによって、初期状態を作る。例えば、領域分割部205は、画像80を10ピクセル×10ピクセルの格子状に分割することによって、初期状態を作る。 First, the region dividing unit 205 creates an initial state by dividing the image 80 into partial regions of a predetermined size. For example, the region dividing unit 205 creates an initial state by dividing the image 80 into a 10 pixel × 10 pixel grid.
領域分割部205は、各領域(セグメント)の重心位置(Xg,Yg)と、セグメントに属している画素の平均RGB輝度値(Rave,Gave,Bave)とを用いて、E値を算出する。E値は、各画素(x,y)の輝度値(R,G,B)に応じて、以下の式(1)に基づいて算出される。
領域分割部205は、領域分割の対象となっている参照画像の全ての画素において、セグメント毎にE値を算出する。すなわち、領域分割部205は、一つの参照画像において、画素数×セグメント数の数だけE値を算出する。領域分割部205は、画素毎に、最も小さいE値が算出されたセグメントを探す。領域分割部205は、処理対象となっている画素が、探し出されたセグメントに属するとみなす。領域分割部205は、このような処理を複数回繰り返すことによって、セグメントを決定する。なお、式(1)において、αは画素の座標位置に関する重み付け係数である。αは、例えば1より大きい値をとる。αは1に等しくても良い。 The area dividing unit 205 calculates an E value for each segment in all the pixels of the reference image that is the object of area division. That is, the region dividing unit 205 calculates E values for the number of pixels × number of segments in one reference image. The area dividing unit 205 searches for a segment for which the smallest E value is calculated for each pixel. The area dividing unit 205 regards the pixel to be processed as belonging to the found segment. The area dividing unit 205 determines a segment by repeating such processing a plurality of times. In Expression (1), α is a weighting coefficient related to the coordinate position of the pixel. α takes a value larger than 1, for example. α may be equal to 1.
図3は、探索レイヤの具体例を示す図である。図3において、複数のカメラ10(10−1〜10−4)は、それぞれ参照画像を撮像する際に用いられたカメラの位置を表す。カメラ10−1によって撮影された参照画像は、画像平面20−1に撮影シーンの映像を投影することによって生成された画像である。同様に、カメラ10−2〜10−4によって撮影された参照画像は、それぞれ画像平面20−2〜20−4に撮影シーンの映像を投影することによって生成された画像である。 FIG. 3 is a diagram illustrating a specific example of the search layer. In FIG. 3, a plurality of cameras 10 (10-1 to 10-4) represent the positions of the cameras used when capturing a reference image. The reference image photographed by the camera 10-1 is an image generated by projecting the image of the photographing scene on the image plane 20-1. Similarly, the reference images photographed by the cameras 10-2 to 10-4 are images generated by projecting the images of the photographing scenes on the image planes 20-2 to 20-4, respectively.
仮想カメラ10−vは、仮想視点位置に配置された仮想のカメラである。仮想画像平面20−vは、仮想カメラ10−vの視点位置から視線方向に向けて配置された画像平面である。複数の探索レイヤ30(30−1〜30−4)は、仮想画像平面20−vに平行に配置される。各探索レイヤ30の大きさは、仮想カメラ10−vの視野に応じて決定される。そのため、各探索レイヤ30の大きさは、仮想カメラ10−vの視点位置から離れるほど大きくなる。探索レイヤ30−1〜30−4と仮想カメラ10−vの視点位置との距離は、それぞれd1〜d4である。 The virtual camera 10-v is a virtual camera arranged at the virtual viewpoint position. The virtual image plane 20-v is an image plane arranged from the viewpoint position of the virtual camera 10-v toward the viewing direction. The plurality of search layers 30 (30-1 to 30-4) are arranged in parallel to the virtual image plane 20-v. The size of each search layer 30 is determined according to the field of view of the virtual camera 10-v. Therefore, the size of each search layer 30 increases as the distance from the viewpoint position of the virtual camera 10-v increases. The distances between the search layers 30-1 to 30-4 and the viewpoint position of the virtual camera 10-v are d1 to d4, respectively.
図4は、奥行き推定部303の処理の具体例を示す図である。奥行き推定部303は、カメラ10−2(投影元カメラ)の画像平面20−2(投影元画像平面)に位置する画素40(投影元画素)を、この画素40に写っている物体が探索レイヤ30−1上に存在したと仮定して、カメラ10−3(投影先カメラ)の画像平面20−3(投影先画像平面)に投影する。具体的には、奥行き推定部303は、視点位置11−2と画素40とを結ぶ直線(視線)と探索レイヤ30−1との交点141の三次元座標を算出する。そして、奥行き推定部303は、交点141と視点位置11−3とを結ぶ直線(視線)と画像平面20−3との交点となる画素(以下、「投影先画素」という。)41−3の画像平面座標(x31,y31)を算出する。 FIG. 4 is a diagram illustrating a specific example of the processing of the depth estimation unit 303. The depth estimation unit 303 selects a pixel 40 (projection source pixel) located on the image plane 20-2 (projection source image plane) of the camera 10-2 (projection source camera), and an object reflected in the pixel 40 is a search layer. Assuming that it exists on 30-1, the image is projected onto the image plane 20-3 (projection destination image plane) of the camera 10-3 (projection destination camera). Specifically, the depth estimation unit 303 calculates the three-dimensional coordinates of the intersection 141 between the straight line (line of sight) connecting the viewpoint position 11-2 and the pixel 40 and the search layer 30-1. The depth estimation unit 303 then establishes a pixel (hereinafter referred to as “projection destination pixel”) 41-3 that is an intersection of a straight line (line of sight) connecting the intersection 141 and the viewpoint position 11-3 and the image plane 20-3. Image plane coordinates (x31, y31) are calculated.
次に、奥行き推定部303は、投影元カメラ10−2の画像平面20−2に位置する投影元画素40を、この画素に写っている物体が探索レイヤ30−2上に存在したと仮定して、投影先カメラ10−3の画像平面20−3に投影する。具体的には、奥行き推定部303は、視点位置11−2と画素40とを結ぶ直線(視線)と探索レイヤ30−2との交点142の三次元座標を算出する。そして、奥行き推定部303は、交点142と視点位置11−3とを結ぶ直線(視線)と画像平面20−3との交点となる投影先画素42−3の画像平面座標(x32,y32)を算出する。 Next, the depth estimation unit 303 assumes that the projection source pixel 40 located on the image plane 20-2 of the projection source camera 10-2 is present on the search layer 30-2. Then, the image is projected onto the image plane 20-3 of the projection destination camera 10-3. Specifically, the depth estimation unit 303 calculates the three-dimensional coordinates of the intersection 142 between the straight line (line of sight) connecting the viewpoint position 11-2 and the pixel 40 and the search layer 30-2. Then, the depth estimation unit 303 calculates the image plane coordinates (x32, y32) of the projection destination pixel 42-3 that is the intersection of the straight line (line of sight) connecting the intersection 142 and the viewpoint position 11-3 and the image plane 20-3. calculate.
図5は、奥行き推定部303の処理の具体例を示す図である。図5は、図4に示された状態を上から見下ろした図である。奥行き推定部303は、投影元画素40について、同様の処理を全ての探索レイヤ30(30−1〜30−4)に対して実行する。この処理によって、投影元画素40に写っている物体が各探索レイヤ30上の点(141〜144)に存在したと仮定された場合の画像平面20−3への投影が行われる。その結果、画像平面20−3に対応する投影先画素(41−3〜44−3)が、探索レイヤの数と同数取得される。奥行き推定部303は、投影先画素のうち、投影先となった画像平面20−3の枠からはみ出ているものを破棄する。図5の具体例では、奥行き推定部303は、投影先画素44−3を破棄する。 FIG. 5 is a diagram illustrating a specific example of the processing of the depth estimation unit 303. FIG. 5 is a view of the state shown in FIG. 4 as viewed from above. The depth estimation unit 303 performs the same process on all the search layers 30 (30-1 to 30-4) for the projection source pixel 40. By this processing, the projection onto the image plane 20-3 is performed when it is assumed that the object shown in the projection source pixel 40 exists at the points (141 to 144) on each search layer 30. As a result, the same number of projection destination pixels (41-3 to 44-3) corresponding to the image plane 20-3 as the number of search layers are acquired. The depth estimation unit 303 discards the projection destination pixels that are outside the frame of the image plane 20-3 that is the projection destination. In the specific example of FIG. 5, the depth estimation unit 303 discards the projection destination pixel 44-3.
次に、奥行き推定部303は、投影元画素40に関する上述した処理を、全てのカメラに対して行う。全てのカメラとは、多視点画像群に含まれる参照画像のカメラ全てを意味する。
図6は、図5の処理を全てのカメラ10(10−1,10−3,10−4)に対して実行した結果を表す図である。奥行き推定部303は、投影元画素40に写っている物体が各探索レイヤ30上の点(141〜144)に存在したと仮定された場合の画像平面20−1(カメラ10−1の画像平面)への投影を行った結果、投影先画素41−1〜44−1の画像平面座標を得る。また、奥行き推定部303は、投影元画素40に写っている物体が各探索レイヤ30上の点(141〜144)に存在したと仮定された場合の画像平面20−4(カメラ10−4の画像平面)への投影を行った結果、投影先画素41−4〜43−4の画像平面座標を得る。
Next, the depth estimation unit 303 performs the above-described processing on the projection source pixel 40 for all the cameras. All cameras mean all cameras of reference images included in the multi-viewpoint image group.
FIG. 6 is a diagram illustrating a result of executing the process of FIG. 5 for all the cameras 10 (10-1, 10-3, 10-4). The depth estimation unit 303 uses the image plane 20-1 (the image plane of the camera 10-1) when it is assumed that an object shown in the projection source pixel 40 exists at points (141 to 144) on each search layer 30. As a result of the projection to (), the image plane coordinates of the projection destination pixels 41-1 to 44-1 are obtained. In addition, the depth estimation unit 303 determines the image plane 20-4 (of the camera 10-4) when it is assumed that the object shown in the projection source pixel 40 exists at the points (141 to 144) on each search layer 30. As a result of the projection onto the (image plane), the image plane coordinates of the projection destination pixels 41-4 to 43-4 are obtained.
奥行き推定部303は、投影元画素40に写っている物体が各探索レイヤ30−1上の点141に存在したと仮定された場合の各投影先画素(41−1,41−3,41−4)の画素値と、投影元画素40の画素値との差の合計値(以下、「第一差分値」という。)を算出する。奥行き推定部303は、処理対象となっているセグメントSに属している全ての画素に対して上述した処理を行うことによって、各投影元画素40の第一差分値を算出する。奥行き推定部303は、処理対象となっているセグメントSに属している全ての画素の第一差分値の合計値を、処理対象となっているセグメントSのマッチングコストMとして算出する。セグメントSのマッチングコストMは、例えば以下のような式(2)を用いて算出されても良い。
式(2)において、mは投影元カメラ10を表し、Sは処理対象となっているセグメントを表し、dは画素40に写っている物体が存在すると仮定されている探索レイヤ30の奥行き値を表し、pは投影元画素40を表し、nは投影先カメラ10を表す。I(m,p)は、カメラmの画素pの画素値を表す。p’(n,d)は、投影元カメラmの画素40が奥行き値dの探索レイヤ30に基づいて投影先カメラnの画像平面に投影された場合の投影先画素を表す。 In Expression (2), m represents the projection source camera 10, S represents the segment to be processed, and d represents the depth value of the search layer 30 that is assumed to be present in the pixel 40. P represents the projection source pixel 40, and n represents the projection destination camera 10. I (m, p) represents the pixel value of the pixel p of the camera m. p ′ (n, d) represents a projection destination pixel when the pixel 40 of the projection source camera m is projected on the image plane of the projection destination camera n based on the search layer 30 of the depth value d.
奥行き推定部303は、全ての探索レイヤ30について、マッチングコストMを算出する。そして、奥行き推定部303は、マッチングコストMが最も小さい探索レイヤ30に対応する奥行き値を、セグメントSの奥行き値の推定値Dとして決定する。数式で表すと式(3)の通りである。
奥行き推定部303は、上述した処理を、処理対象となっている参照画像の全てのセグメントに対して実行する。さらに、奥行き推定部303は、上述した処理を、多視点画像群に含まれる全ての参照画像に対して実行する。以上の処理により、多視点画像群に含まれる全ての参照画像の全てのセグメントについて奥行き値の推定値が得られる。 The depth estimation unit 303 performs the above-described processing on all segments of the reference image that is the processing target. Furthermore, the depth estimation unit 303 performs the above-described processing on all reference images included in the multi-viewpoint image group. Through the above processing, an estimated depth value is obtained for all segments of all reference images included in the multi-viewpoint image group.
図7は、奥行き評価部304の処理の具体例を示す図である。奥行き評価部304は、奥行き推定部303によって得られた奥行き値に基づいて、多視点画像群に含まれる各参照画像の各セグメントを仮想画像平面に投影する。投影後のセグメントに含まれる各画素には、投影元のセグメントの奥行き値が与えられる。この処理によって、仮想画像平面の一つの画素に対して1又は複数の奥行き値が与えられる。 FIG. 7 is a diagram illustrating a specific example of the processing of the depth evaluation unit 304. The depth evaluation unit 304 projects each segment of each reference image included in the multi-viewpoint image group on the virtual image plane based on the depth value obtained by the depth estimation unit 303. The depth value of the projection source segment is given to each pixel included in the segment after projection. By this processing, one or a plurality of depth values are given to one pixel of the virtual image plane.
奥行き評価部304は、全ての参照画像及び全てのセグメントについて投影処理が終了すると、仮想画像平面の各画素のうち複数の奥行き値が与えられた画素について、与えられた複数の奥行き値の分散の大小を評価する。奥行き値の分散が所定の閾値よりも小さい場合、奥行き評価部304は、処理対象となっている画素に与えられた奥行き値の推定値が正しいと判定する。一方、奥行き値の分散が所定の閾値よりも大きい場合、奥行き評価部304は、処理対象となっている画素に与えられた奥行き値の推定値が誤っていると判定し、推定値を破棄する。この場合、上述したように、再推定部305がブロックマッチング等の手法を用いて奥行き値を推定する。 When the projection processing is completed for all the reference images and all the segments, the depth evaluation unit 304 distributes the given depth values for the pixels to which the plurality of depth values are given among the pixels on the virtual image plane. Evaluate big and small. When the variance of the depth values is smaller than the predetermined threshold, the depth evaluation unit 304 determines that the estimated depth value given to the pixel to be processed is correct. On the other hand, when the variance of the depth values is greater than the predetermined threshold, the depth evaluation unit 304 determines that the estimated depth value given to the pixel being processed is incorrect, and discards the estimated value. . In this case, as described above, the re-estimation unit 305 estimates the depth value using a technique such as block matching.
画像生成部306は、仮想画像平面の各画素について、奥行き評価部304によって与えられた奥行き値に基づいて、多視点画像群に含まれる各参照画像の各セグメントを仮想画像平面に投影する。また、画像生成部306は、再推定部305によって奥行き値が推定された画素については、再推定部305によって与えられた奥行き値に基づいて仮想画像平面に投影する。画像生成部306は、仮想画像平面の各画素の画素値を、投影元画素の画素値に基づいて決定する。例えば、画像生成部306は、仮想画像平面の一つの画素に対して複数の投影元画素が投影された場合、投影元画素の画素値の統計値(例えば平均値)を画素値として決定する。 For each pixel in the virtual image plane, the image generation unit 306 projects each segment of each reference image included in the multi-viewpoint image group on the virtual image plane based on the depth value given by the depth evaluation unit 304. In addition, the image generation unit 306 projects the pixel whose depth value is estimated by the re-estimation unit 305 on the virtual image plane based on the depth value given by the re-estimation unit 305. The image generation unit 306 determines the pixel value of each pixel on the virtual image plane based on the pixel value of the projection source pixel. For example, when a plurality of projection source pixels are projected onto one pixel on the virtual image plane, the image generation unit 306 determines a statistical value (for example, an average value) of pixel values of the projection source pixels as a pixel value.
図8は、領域分割部205の処理の流れの具体例を表すフローチャートである。まず、領域分割部205が、画像蓄積部202に記憶されている多視点画像群の中から処理対象となる参照画像を入力する(ステップS101)。以下、領域分割部205によって入力された参照画像を入力画像という。 FIG. 8 is a flowchart showing a specific example of the processing flow of the area dividing unit 205. First, the region dividing unit 205 inputs a reference image to be processed from the multi-viewpoint image group stored in the image storage unit 202 (step S101). Hereinafter, the reference image input by the region dividing unit 205 is referred to as an input image.
領域分割部205は、入力画像を所定の条件で格子状に分割し、初期状態を作る(ステップS102)。次に、領域分割部205は、画素pがセグメントsに属した場合のE値を算出する(ステップS103)。領域分割部205は、画素pについて、全てのセグメントsに対するE値が算出されるまでステップS103の処理を繰り返し実行する(ステップS104−NO)。画素pについて、全てのセグメントsに対するE値が算出されると(ステップS104−YES)、領域分割部205は次の処理を実行する。領域分割部205は、E値が最も小さいセグメントsを、画素pが属するセグメントとして選択する(ステップS105)。領域分割部205は、ステップS103〜S105の処理を、入力画像の全ての画素について実行する(ステップS106−NO)。 The area dividing unit 205 divides the input image into a grid pattern under a predetermined condition to create an initial state (step S102). Next, the region dividing unit 205 calculates an E value when the pixel p belongs to the segment s (step S103). The area dividing unit 205 repeatedly executes the process of step S103 until the E values for all the segments s are calculated for the pixel p (step S104—NO). When the E values for all the segments s are calculated for the pixel p (step S104—YES), the area dividing unit 205 executes the following process. The area dividing unit 205 selects the segment s having the smallest E value as the segment to which the pixel p belongs (step S105). The area dividing unit 205 executes the processes of steps S103 to S105 for all the pixels of the input image (NO in step S106).
入力画像の全ての画素についてセグメントの選択が完了すると、領域分割部205は、終了条件が満たされているか否か判定する(ステップS107)。終了条件とは、例えばステップS103〜S106の処理の繰り返し回数が所定の回数に至ったことであっても良いし、全ての画素pのセグメントに変化が生じなかった事であっても良いし、画素毎に算出された最小のE値のうち最大のものが閾値よりも小さいことであっても良いし、他の条件であっても良い。終了条件が満たされると、領域分割部205は入力画像に対する領域分割処理を終了する。 When the segment selection is completed for all the pixels of the input image, the region dividing unit 205 determines whether or not the end condition is satisfied (step S107). The end condition may be, for example, that the number of repetitions of the processing of steps S103 to S106 has reached a predetermined number, or that no change has occurred in the segments of all pixels p, The maximum value among the minimum E values calculated for each pixel may be smaller than the threshold value, or may be other conditions. When the end condition is satisfied, the area dividing unit 205 ends the area dividing process for the input image.
図9は、画像生成装置300の処理の流れの具体例を表すフローチャートである。まず、仮想視点情報取得部301が仮想視点情報を取得する(ステップS201)。次に、探索レイヤ設定部302が、取得された仮想視点情報に基づいて探索レイヤを設定する(ステップS202)。次に、設定された探索レイヤに基づいて、奥行き推定部303が奥行き値推定処理を行う(ステップS203)。次に、奥行き評価部304が、仮想画像平面の各画素の奥行き値の分散を算出する(ステップS204)。次に、再推定部305が、分散が閾値よりも大きい画素の奥行き値を再推定する(ステップS205)。いいかえると、再推定部305は、分散が閾値よりも大きいがその奥行き値を、奥行き推定部303とは異なる方法を用いて推定する。そして、画像生成部306が、奥行き推定部303及び再推定部305によって推定された奥行き値に基づいて画像を生成する(ステップS206)。 FIG. 9 is a flowchart illustrating a specific example of the processing flow of the image generation apparatus 300. First, the virtual viewpoint information acquisition unit 301 acquires virtual viewpoint information (step S201). Next, the search layer setting unit 302 sets a search layer based on the acquired virtual viewpoint information (step S202). Next, based on the set search layer, the depth estimation unit 303 performs a depth value estimation process (step S203). Next, the depth evaluation unit 304 calculates the variance of the depth value of each pixel on the virtual image plane (step S204). Next, the re-estimation unit 305 re-estimates the depth value of the pixel whose variance is greater than the threshold (step S205). In other words, the re-estimation unit 305 estimates the depth value using a method different from that of the depth estimation unit 303 although the variance is larger than the threshold value. Then, the image generation unit 306 generates an image based on the depth value estimated by the depth estimation unit 303 and the re-estimation unit 305 (step S206).
図10は、奥行き値推定処理の流れの具体例を表すフローチャートである。まず、奥行き推定部303は、処理の対象となる画像(カメラmによって撮影された画像)、セグメントS、画素p、探索レイヤ(奥行き値d)を選択する。奥行き推定部303は、選択された条件に基づいて、投影先画像平面(カメラnの画像平面)における投影先画素p’の位置を算出する(ステップS301)。奥行き推定部303は、投影元の画素pの画素値と投影先の画素p’の画素値との差を算出する。奥行き推定部303は、前述した差の値を、投影先カメラn毎に算出し、その累積値を第一差分値として取得する(ステップS302)。 FIG. 10 is a flowchart showing a specific example of the flow of depth value estimation processing. First, the depth estimation unit 303 selects an image to be processed (an image captured by the camera m), a segment S, a pixel p, and a search layer (depth value d). The depth estimation unit 303 calculates the position of the projection destination pixel p ′ on the projection destination image plane (image plane of the camera n) based on the selected condition (step S301). The depth estimation unit 303 calculates the difference between the pixel value of the projection source pixel p and the pixel value of the projection destination pixel p ′. The depth estimation unit 303 calculates the above-described difference value for each projection destination camera n, and acquires the accumulated value as the first difference value (step S302).
奥行き推定部303は、処理対象となっているセグメントSに属する全ての画素pについて、第一差分値を取得する(ステップS303)。奥行き推定部303は、処理対象となっているセグメントSの全ての第一差分値を合計することによって、セグメントSのマッチングコストMを算出する(ステップS304)。マッチングコストMは、処理の対象となる画像(カメラmによって撮影された画像)、セグメントS、探索レイヤ(奥行き値d)の組み合わせ毎に算出される。 The depth estimation unit 303 acquires the first difference value for all the pixels p belonging to the segment S to be processed (step S303). The depth estimation unit 303 calculates the matching cost M of the segment S by adding up all the first difference values of the segment S to be processed (step S304). The matching cost M is calculated for each combination of an image to be processed (image taken by the camera m), a segment S, and a search layer (depth value d).
奥行き推定部303は、処理の対象となる画像(カメラmによって撮影された画像)、セグメントSの組み合わせに対する全ての探索レイヤについてマッチングコストMが算出されると、最小のマッチングコストMの探索レイヤの奥行き値dを、処理対象となっているセグメントSの奥行き値の推定値として決定する(ステップS306)。以上の処理を、処理対象となっている画像の全てのセグメントSについて実行し、さらに全ての画像に対して実行する(ステップS307及びS308)。以上の処理によって、全ての画像の全てのセグメントについて、奥行き値の推定値が取得される。 When the matching cost M is calculated for all search layers for the combination of the image to be processed (image taken by the camera m) and the segment S, the depth estimation unit 303 calculates the search layer with the minimum matching cost M. The depth value d is determined as an estimated value of the depth value of the segment S to be processed (step S306). The above processing is executed for all the segments S of the image to be processed, and further executed for all the images (steps S307 and S308). Through the above processing, estimated depth values are obtained for all segments of all images.
このように構成された仮想視点画像生成システム1によれば、多視点画像群から任意の視点(仮想視点)における画像を生成する際に、ホールの発生及び二重投影の発生を抑制することが可能となる。詳細は以下のとおりである。 According to the virtual viewpoint image generation system 1 configured in this way, when generating an image at an arbitrary viewpoint (virtual viewpoint) from a multi-viewpoint image group, the generation of holes and the occurrence of double projection can be suppressed. It becomes possible. Details are as follows.
画像生成装置300では、仮想視点の光軸上に平面中心を持ち、仮想画像平面に平行な探索レイヤが設定される。画像生成装置300は、このような探索レイヤを用いて、各参照画像の各セグメントに対してセグメントマッチングによる奥行推定を行う。これにより、一つのセグメントに対して一つの奥行き値が推定される。言い換えれば、一つのセグメントに対して複数の奥行き値が推定されることがない。そのため、二重投影を防ぐ事が出来る。さらに、上述したように仮想画像平面に対して平行な探索レイヤが用いられることにより、仮想画像平面の画素間隔に依存したサンプリングを行う事が出来る。そのため、ホールの発生を抑制する事が出来る。 In the image generation device 300, a search layer having a plane center on the optical axis of the virtual viewpoint and parallel to the virtual image plane is set. The image generation apparatus 300 performs depth estimation by segment matching for each segment of each reference image using such a search layer. Thereby, one depth value is estimated for one segment. In other words, multiple depth values are not estimated for one segment. Therefore, double projection can be prevented. Furthermore, as described above, by using a search layer parallel to the virtual image plane, it is possible to perform sampling depending on the pixel interval of the virtual image plane. Therefore, the generation of holes can be suppressed.
<変形例>
(奥行き推定部の変形例)
奥行き推定部303の変形例における処理について説明する。
奥行き推定部303は、投影元の画素の画素値と投影先の画素の画素値との差が閾値よりも大きい場合、算出された差をマッチングコストMに対して加算しないように構成されても良い。数式で表すと、以下の式(4)のように表せる。
(Modification of depth estimation unit)
The process in the modification of the depth estimation part 303 is demonstrated.
The depth estimation unit 303 may be configured not to add the calculated difference to the matching cost M when the difference between the pixel value of the projection source pixel and the pixel value of the projection destination pixel is larger than the threshold value. good. When expressed by a mathematical formula, it can be expressed as the following formula (4).
式(4)において、aは1又は0の値をとる。投影元の画素の画素値と投影先の画素の画素値との差が閾値よりも大きい場合、a=0である。一方、投影元の画素の画素値と投影先の画素の画素値との差が閾値よりも小さい場合、a=1である。Cは、aの合計値である。このような処理を行う事により、遮蔽(オクルージョン)による誤推定を低減する事が可能となる。 In the formula (4), a takes a value of 1 or 0. When the difference between the pixel value of the projection source pixel and the pixel value of the projection destination pixel is larger than the threshold value, a = 0. On the other hand, when the difference between the pixel value of the projection source pixel and the pixel value of the projection destination pixel is smaller than the threshold value, a = 1. C is the total value of a. By performing such processing, it is possible to reduce erroneous estimation due to occlusion.
図11は、奥行き推定部303の変形例における処理の具体例を示す図である。カメラ10−2、カメラ10−3及びカメラ10−4からは、奥行きd3に位置する物体92上の点143を見ることができる。そのため、投影元画像平面上の画素40には、物体92上の点143の色が画素値として与えられている。一方、カメラ10−1からは、奥行きd2に位置する物体91によって遮られてしまうため、物体92上の点143を見ることができない。そのため、カメラ10−1に対応する投影先画素43−1には、物体91の色が画素値として与えられている。 FIG. 11 is a diagram illustrating a specific example of processing in a modification of the depth estimation unit 303. From the camera 10-2, the camera 10-3, and the camera 10-4, a point 143 on the object 92 located at the depth d3 can be seen. Therefore, the color of the point 143 on the object 92 is given to the pixel 40 on the projection source image plane as the pixel value. On the other hand, since the camera 10-1 is blocked by the object 91 located at the depth d2, the point 143 on the object 92 cannot be seen. Therefore, the color of the object 91 is given as a pixel value to the projection destination pixel 43-1 corresponding to the camera 10-1.
このような状態で、投影元の画素40の画素値(物体92の色)と、投影先の画素43−1の画素値(物体91)との差を算出すると、投影元の画素40の奥行きd3が正しい値であるとしても、大きな差が算出されてしまう。そのため、マッチングコストMの値が大きくなってしまい、正しい奥行き推定値が破棄されてしまう虞が生じる。 When the difference between the pixel value of the projection source pixel 40 (color of the object 92) and the pixel value of the projection destination pixel 43-1 (object 91) is calculated in this state, the depth of the projection source pixel 40 is calculated. Even if d3 is a correct value, a large difference is calculated. For this reason, the value of the matching cost M is increased, and there is a possibility that the correct depth estimation value is discarded.
一方、上述したような処理を行う事によって、投影元の画素40の画素値(物体92の色)と、投影先の画素43−1の画素値(物体91)との差がマッチングコストMに加算されない。そのため、マッチングコストMの値が不当に大きくなることを防ぎ、正しい奥行き推定値が破棄されることを抑制できる。 On the other hand, by performing the processing as described above, the difference between the pixel value of the projection source pixel 40 (the color of the object 92) and the pixel value of the projection destination pixel 43-1 (the object 91) becomes the matching cost M. Not added. For this reason, the value of the matching cost M can be prevented from becoming unduly large, and the correct depth estimation value can be prevented from being discarded.
(画像生成部の変形例)
図12は、画像生成部306における課題の概略を示す図である。図12(A)及び(B)は、多視点画像群に含まれる画像の一部を示す図である。セグメントAよりも視点に近い位置に前景物体が存在する。図12(A)に示されるように、前景物体よりも十分に離れて位置するセグメントAでは、前景物体の色が影響していない。一方、図12(B)に示されるように、前景物体の近くに位置する(接して位置する)セグメントBでは、前景物体の色がにじんでしまう。
(Modification of image generation unit)
FIG. 12 is a diagram illustrating an outline of a problem in the image generation unit 306. 12A and 12B are diagrams illustrating a part of images included in the multi-viewpoint image group. A foreground object exists at a position closer to the viewpoint than segment A. As shown in FIG. 12A, the color of the foreground object is not affected in the segment A that is located sufficiently away from the foreground object. On the other hand, as shown in FIG. 12B, the color of the foreground object is blurred in the segment B located near (in contact with) the foreground object.
図12(C)は、仮想視点画像の具体例を示す図である。仮想視点画像において、セグメントBは、前景物体から離れているにもかかわらず、前景物体の色がにじんだ状態となっている。そのため、不自然な画像が生成されてしまっている。そこで、画像生成部306の変形例では、このような問題を解消する。以下、画像生成部306の変形例における処理を説明する。 FIG. 12C is a diagram illustrating a specific example of the virtual viewpoint image. In the virtual viewpoint image, the segment B is in a state in which the color of the foreground object is blurred despite being separated from the foreground object. For this reason, an unnatural image has been generated. Therefore, such a problem is solved in the modification of the image generation unit 306. Hereinafter, the process in the modification of the image generation part 306 is demonstrated.
画像生成部306は、セグメントに含まれる画素のうち、境界領域に属する画素と属さない画素とで異なる処理を行う。境界領域とは、セグメントの領域のうち、境界部分に近い領域である。例えば、セグメントの境界に一部でも接している画素が境界領域の画素として定義されても良い。また、近傍8画素に境界が位置する画素が境界領域の画素として定義されても良い。 The image generation unit 306 performs different processing for the pixels included in the segment and the pixels that do not belong to the boundary region. The boundary area is an area close to the boundary portion among the segment areas. For example, a pixel that is at least partially in contact with a segment boundary may be defined as a pixel in the boundary region. Further, a pixel whose boundary is located in the vicinity of eight pixels may be defined as a pixel in the boundary region.
画像生成部306は、境界領域に属する画素に対しては相対的に低い重みを与える。一方、セグメントに含まれる画素のうち、非境界領域に属する画素に対しては相対的に高い重みを与える。すなわち、境界領域の画素値は、非境界領域の画素値に比べて、最終的に生成される画素値に与える影響が小さい。そのため、生成される画像において、他の物体の色があまりにじんでいない部分の色に近い画素値が得られる。
このような処理は、例えばセグメントに含まれる画素の重心位置を中心とするガウス重みをつけることによって行われても良い。これにより多重像の発生を防ぎながら仮想視点画像を生成することが可能となる。数式で表すと、以下の式(5)のように表せる。式(5)において、Iは仮想視点vの画素pの輝度値を表す。
Such processing may be performed, for example, by assigning a Gaussian weight centered on the barycentric position of the pixels included in the segment. This makes it possible to generate a virtual viewpoint image while preventing the occurrence of multiple images. When expressed by a mathematical formula, it can be expressed as the following formula (5). In Expression (5), I represents the luminance value of the pixel p at the virtual viewpoint v.
(その他の変形例)
画像生成装置300は、複数のセグメントに分割されていない画像を用いて仮想視点画像を生成しても良い。言い換えれば、1つのセグメントが1つの画素に一致する状態で処理が行われても良い。
前処理装置200と画像生成装置300とは、一体の装置として構成されても良い。
(Other variations)
The image generation apparatus 300 may generate a virtual viewpoint image using an image that is not divided into a plurality of segments. In other words, processing may be performed in a state where one segment matches one pixel.
The preprocessing device 200 and the image generation device 300 may be configured as an integrated device.
前処理装置200は、機能が複数の装置に跨がって構成されても良い。画像生成装置300も同様に、機能が複数の装置に跨がって構成されても良い。例えば、画像生成装置300の機能のうち仮想視点情報取得部301が端末装置に実装され、残る機能がサーバに実装されても良い。この場合、サーバは、仮想視点画像のデータを端末装置に送信する。端末装置は、サーバから受信した仮想視点画像を表示する。 The preprocessing device 200 may be configured so that the function extends over a plurality of devices. Similarly, the image generation device 300 may be configured to have a function across a plurality of devices. For example, the virtual viewpoint information acquisition unit 301 among the functions of the image generation apparatus 300 may be mounted on the terminal device, and the remaining functions may be mounted on the server. In this case, the server transmits the virtual viewpoint image data to the terminal device. The terminal device displays the virtual viewpoint image received from the server.
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。 The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes designs and the like that do not depart from the gist of the present invention.
1…仮想視点画像生成システム, 200…前処理装置, 201…画像入力部, 202…画像蓄積部, 203…カメラパラメータ取得部, 204…カメラパラメータ蓄積部, 205…領域分割部, 206…セグメント情報蓄積部, 300…画像生成装置, 301…仮想視点情報取得部, 302…探索レイヤ設定部, 303…奥行き推定部, 304…奥行き評価部, 305…再推定部, 306…画像生成部 DESCRIPTION OF SYMBOLS 1 ... Virtual viewpoint image generation system, 200 ... Pre-processing apparatus, 201 ... Image input part, 202 ... Image storage part, 203 ... Camera parameter acquisition part, 204 ... Camera parameter storage part, 205 ... Area division part, 206 ... Segment information Accumulation unit, 300 ... image generation device, 301 ... virtual viewpoint information acquisition unit, 302 ... search layer setting unit, 303 ... depth estimation unit, 304 ... depth evaluation unit, 305 ... re-estimation unit, 306 ... image generation unit
Claims (5)
設定された仮想視点の画像平面に平行な複数の探索レイヤを設定する探索レイヤ設定部と、
前記探索レイヤ設定部によって設定された探索レイヤに基づいて、前記参照画像の各画素における奥行き値を推定する奥行き推定部と、
前記奥行き推定部によって推定された奥行き値に基づいて、前記仮想視点の画像を生成する画像生成部と、
を備える画像生成装置。 An image generation device that generates an image of a virtual viewpoint using a plurality of reference images generated in advance,
A search layer setting unit for setting a plurality of search layers parallel to the image plane of the set virtual viewpoint;
A depth estimation unit that estimates a depth value in each pixel of the reference image based on the search layer set by the search layer setting unit;
An image generation unit configured to generate an image of the virtual viewpoint based on the depth value estimated by the depth estimation unit;
An image generation apparatus comprising:
前記画像生成部は、前記セグメントの境界領域の画素値には相対的に低い重み付けを与え、前記境界領域以外の画素値には相対的に高い重み付けを与えることによって前記画像を生成する、請求項1又は2に記載の画像生成装置。 The reference image is divided into a plurality of segments including a plurality of pixels,
The image generation unit generates the image by giving a relatively low weighting to pixel values in a boundary region of the segment and giving a relatively high weighting to pixel values outside the boundary region. The image generating apparatus according to 1 or 2.
設定された仮想視点の画像平面に平行な複数の探索レイヤを設定する探索レイヤ設定ステップと、
前記探索レイヤ設定ステップにおいて設定された探索レイヤに基づいて、前記参照画像の各画素における奥行き値を推定する奥行き推定ステップと、
前記奥行き推定ステップにおいて推定された奥行き値に基づいて、前記仮想視点の画像を生成する画像生成ステップと、
を有する画像生成方法。 An image generation method for generating an image of a virtual viewpoint using a plurality of reference images generated in advance,
A search layer setting step for setting a plurality of search layers parallel to the image plane of the set virtual viewpoint;
A depth estimation step of estimating a depth value in each pixel of the reference image based on the search layer set in the search layer setting step;
An image generation step of generating an image of the virtual viewpoint based on the depth value estimated in the depth estimation step;
An image generation method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013023796A JP5970387B2 (en) | 2013-02-08 | 2013-02-08 | Image generating apparatus, image generating method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013023796A JP5970387B2 (en) | 2013-02-08 | 2013-02-08 | Image generating apparatus, image generating method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014155069A true JP2014155069A (en) | 2014-08-25 |
JP5970387B2 JP5970387B2 (en) | 2016-08-17 |
Family
ID=51576531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013023796A Expired - Fee Related JP5970387B2 (en) | 2013-02-08 | 2013-02-08 | Image generating apparatus, image generating method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5970387B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180073020A (en) * | 2016-12-22 | 2018-07-02 | 전자부품연구원 | Hole Filling Method for Arbitrary View Image |
JP7396202B2 (en) | 2020-05-28 | 2023-12-12 | 富士通株式会社 | Generation program, generation method, and information processing device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003187243A (en) * | 2001-12-20 | 2003-07-04 | Matsushita Electric Ind Co Ltd | Display method and its device |
WO2004114224A1 (en) * | 2003-06-20 | 2004-12-29 | Nippon Telegraph And Telephone Corporation | Virtual visual point image generating method and 3-d image display method and device |
-
2013
- 2013-02-08 JP JP2013023796A patent/JP5970387B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003187243A (en) * | 2001-12-20 | 2003-07-04 | Matsushita Electric Ind Co Ltd | Display method and its device |
WO2004114224A1 (en) * | 2003-06-20 | 2004-12-29 | Nippon Telegraph And Telephone Corporation | Virtual visual point image generating method and 3-d image display method and device |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180073020A (en) * | 2016-12-22 | 2018-07-02 | 전자부품연구원 | Hole Filling Method for Arbitrary View Image |
KR101993961B1 (en) * | 2016-12-22 | 2019-07-01 | 전자부품연구원 | Hole Filling Method for Arbitrary View Image |
JP7396202B2 (en) | 2020-05-28 | 2023-12-12 | 富士通株式会社 | Generation program, generation method, and information processing device |
Also Published As
Publication number | Publication date |
---|---|
JP5970387B2 (en) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10789765B2 (en) | Three-dimensional reconstruction method | |
US8928736B2 (en) | Three-dimensional modeling apparatus, three-dimensional modeling method and computer-readable recording medium storing three-dimensional modeling program | |
US10559095B2 (en) | Image processing apparatus, image processing method, and medium | |
US20190132529A1 (en) | Image processing apparatus and image processing method | |
US11250619B2 (en) | Image processing apparatus and method | |
US11076140B2 (en) | Information processing apparatus and method of controlling the same | |
JP5068732B2 (en) | 3D shape generator | |
JP6894707B2 (en) | Information processing device and its control method, program | |
JP5755571B2 (en) | Virtual viewpoint image generation device, virtual viewpoint image generation method, control program, recording medium, and stereoscopic display device | |
JP2013031154A (en) | Image processing device, image processing method, image capturing device, and program | |
CN109495733B (en) | Three-dimensional image reconstruction method, device and non-transitory computer readable storage medium thereof | |
US20180367709A1 (en) | Image processing apparatus, object shape estimation method, and storage medium | |
JP2022522504A (en) | Image depth map processing | |
US20220383589A1 (en) | Image processing apparatus, image processing method, method for generating learned model, and storage medium | |
JP5970387B2 (en) | Image generating apparatus, image generating method, and program | |
JP2018032938A (en) | Image processing apparatus, image processing method and program | |
JP2020087005A (en) | Image processor, image generation method and program | |
JP7195785B2 (en) | Apparatus, method and program for generating 3D shape data | |
CN109923854B (en) | Image processing apparatus, image processing method, and recording medium | |
JP2017199285A (en) | Information processor, information processing method, program | |
US11856284B2 (en) | Method of controlling a portable device and a portable device | |
JP2018129026A (en) | Determination device, image processing apparatus, determination method, and determination program | |
JP6200316B2 (en) | Image generation method, image generation apparatus, and image generation program | |
JP2017215706A (en) | Video synthesis method, video acquisition device, video synthesis system, and computer program | |
KR102492163B1 (en) | Method and Apparatus for Synthesis of Light field using Variable Layered Depth Image |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150218 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160119 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160316 |
|
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: 20160705 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160711 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5970387 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |