JP7447042B2 - 画像処理装置、方法及びプログラム - Google Patents

画像処理装置、方法及びプログラム Download PDF

Info

Publication number
JP7447042B2
JP7447042B2 JP2021043145A JP2021043145A JP7447042B2 JP 7447042 B2 JP7447042 B2 JP 7447042B2 JP 2021043145 A JP2021043145 A JP 2021043145A JP 2021043145 A JP2021043145 A JP 2021043145A JP 7447042 B2 JP7447042 B2 JP 7447042B2
Authority
JP
Japan
Prior art keywords
blur
image
map
statistical model
uncertainty
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
Application number
JP2021043145A
Other languages
English (en)
Other versions
JP2022142891A (ja
Inventor
智也 鶴山
晃仁 関
直 三島
正子 柏木
徳裕 中村
あいら 堀田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2021043145A priority Critical patent/JP7447042B2/ja
Priority to US17/447,273 priority patent/US11868430B2/en
Priority to CN202111190986.XA priority patent/CN115115529A/zh
Publication of JP2022142891A publication Critical patent/JP2022142891A/ja
Application granted granted Critical
Publication of JP7447042B2 publication Critical patent/JP7447042B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/73Deblurring; Sharpening
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/529Depth or shape recovery from texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/571Depth or shape recovery from multiple images from focus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image quality inspection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)

Description

本発明の実施形態は、画像処理装置、方法及びプログラムに関する。
一般的に、被写体までの距離を取得するために、2つの撮像装置(カメラ)やステレオカメラ(複眼のカメラ)で撮像された画像を用いることが知られていたが、近年では、1つの撮像装置(単眼のカメラ)で撮像された画像から被写体までの距離を推定する技術が開示されている。
このように推定された被写体までの距離は、撮像装置で撮像された画像に含まれる被写体の立体構造を把握するために有用である。
しかしながら、上記したように1つの撮像装置で撮像された画像から被写体までの距離を推定する場合、当該画像によっては当該距離を正確に推定することができない領域が存在し、被写体の立体構造を適切に把握することができない場合がある。
一方、距離を推定することができない領域に含まれる被写体までの距離については、LiDAR等の距離測定装置を用いて補間することが考えられるが、当該距離測定装置を用意するためにはコストがかかる。また、距離測定装置は設置体積が大きいため、撮像装置と組み合わせて用いることは容易ではない。
特開2020-123114号公報
M.Kashiwagi et al., "Deep Depth From Aberration Map", Proceedings of the IEEEE International Conference on Computer Vision, 2019
そこで、本発明が解決しようとする課題は、画像中の被写体の立体構造を把握することが可能な画像処理装置、方法及びプログラムを提供することにある。
実施形態に係る画像処理装置は、第1格納手段と、第2格納手段と、第1取得手段と、第2取得手段と、生成手段と、補間手段とを具備する。前記第1格納手段は、第1光学系の収差の影響を受けた第1画像に生じる、当該第1画像中の被写体までの距離に応じて非線形に変化するぼけを学習することによって生成された第1統計モデルを格納する。前記第2格納手段は、予め用意されている疎なぼけマップ及び当該疎なぼけマップに対応する密なぼけマップを学習することによって生成される第2統計モデルを格納する。前記第1取得手段は、第2光学系の収差の影響を受けた第2画像を取得する。前記第2取得手段は、前記取得された第2画像を前記第1統計モデルに入力することによって当該第1統計モデルから出力される当該第2画像に生じるぼけを示すぼけ値及び当該ぼけ値に対する不確実性の度合いを示す不確実度を取得する。前記生成手段は、前記取得されたぼけ値及び不確実度に基づいて第1ぼけマップを生成する。前記補間手段は、前記第1ぼけマップに対してぼけ値を補間した第2ぼけマップを取得する。前記第1統計モデルは、当該第1統計モデルに入力される第2画像を構成する少なくとも1つの画素を含む所定の領域毎にぼけ値及び不確実度を出力するように生成されている。前記第1ぼけマップは、前記不確実度が閾値未満であるぼけ値を当該ぼけ値が出力された画素に割り当てた疎なぼけマップに相当する。前記第2ぼけマップは、前記第1ぼけマップの前記閾値以上である不確実度が出力された画素にぼけ値を補間した密なぼけマップに相当する。前記補間手段は、前記第1ぼけマップを前記第2統計モデルに入力することによって当該第2統計モデルから出力される第2ぼけマップを取得する。前記第2統計モデルによって学習される疎なぼけマップは、当該第2統計モデルによって学習される密なぼけマップの一部の領域をマスクすることによって生成される。前記第2統計モデルによって学習される密なぼけマップは、被写体までの距離を測定可能な距離測定装置によって測定された距離から変換されたぼけ値に基づいて生成される。
第1実施形態に係る画像処理装置を含む画像処理システムの構成の一例を示す図。 画像処理装置のシステム構成の一例を示す図。 第1統計モデルの概要について説明するための図。 単レンズを用いた場合における被写体までの距離と色収差により画像に生じるぼけとの関係性を示す図。 色消しレンズを用いた場合における被写体までの距離と色収差により画像に生じるぼけとの関係性を示す図。 撮像装置の光学系に備えられている絞り機構の開口部の大きさとPSF形状との関係性を示す図。 各チャンネルの画像に生じるPSF形状の一例を示す図。 各チャンネルの画像に生じるPSF形状の別の例を示す図。 画像中の各位置に生じるPSF形状の一例を示す図。 レンズの種別に応じたPSF形状の位置依存性について具体的に説明するための図。 PSF形状の非線形性と絞り機構の開口部の形状との関係を表す図。 画像からぼけを推定する第1方式を説明するための図。 第1方式において第1統計モデルに入力される情報の一例を示す図。 画像からぼけを推定する第2方式を説明するための図。 第2方式において第1統計モデルに入力される情報の一例を示す図。 画像からぼけを推定する第3方式を説明するための図。 画像に生じるぼけと当該画像中の被写体までの距離との相関について具体的に説明するための図。 画像処理装置の処理手順の一例を示すフローチャート。 第1統計モデルの学習処理の一例を説明するための図。 第1統計モデルの学習処理の処理手順の一例を示すフローチャート。 第2統計モデルの学習処理の一例を説明するための図。 第2統計モデルの学習処理の処理手順の一例を示すフローチャート。 第2実施形態に係る画像処理装置を含む画像処理システムの構成の一例を示す図。 画像処理装置の処理手順の一例を示すフローチャート。 高信頼ぼけ領域及び補間ぼけ領域の一例を示す図。 解析範囲外領域について説明するための図。 第3実施形態に係る画像処理装置を含む画像処理システムの構成の一例を示す図。 画像処理装置の処理手順の一例を示すフローチャート。 第2ぼけマップ、高信頼ぼけ領域及び補間ぼけ領域が表示された画面の一例を示す図。 第2ぼけマップ、高信頼ぼけ領域及び補間ぼけ領域が表示された画面の他の例を示す図。 第4実施形態に係る画像処理装置を含む画像処理システムの構成の一例を示す図。 画像処理装置の処理手順の一例を示すフローチャート。 測距装置を含む移動体の機能構成の一例を示す図。 移動体が自動車である場合について説明するための図。 移動体がドローンである場合について説明するための図。 移動体が自立型の移動ロボットである場合について説明するための図。 移動体がロボットアームである場合について説明するための図。
以下、図面を参照して、各実施形態について説明する。
(第1実施形態)
まず、第1実施形態について説明する。図1は、本実施形態に係る画像処理装置を含む画像処理システムの構成の一例を示す。図1に示す画像処理システム1は、画像を撮像し、当該撮像された画像を用いて当該画像中の被写体の立体構造を把握するような用途に用いられる。
図1に示すように、画像処理システム1は、撮像装置2及び画像処理装置3を備える。本実施形態においては、画像処理システム1が別個の装置である撮像装置2及び画像処理装置3を備えているものとして説明するが、当該画像処理システム1は、撮像装置2が撮像部として機能し、画像処理装置3が画像処理部として機能する1つの装置として実現されていてもよい。画像処理システム1が別個の装置である撮像装置2及び画像処理装置3を備える構成の場合には、例えばデジタルカメラ等を撮像装置2として用い、パーソナルコンピュータ、スマートフォンまたはタブレットコンピュータ等を画像処理装置3として用いることができる。この場合、画像処理装置3は、例えばクラウドコンピューティングサービスを実行するサーバ装置として動作するものであってもよい。一方、画像処理システム1が1つの装置として実現されている場合には、デジタルカメラ、スマートフォン及びタブレットコンピュータ等を当該画像処理システム1として用いることができる。
撮像装置2は、各種画像を撮像するために用いられる。撮像装置2は、レンズ21とイメージセンサ22とを備える。レンズ21及びイメージセンサ22は、撮像装置2の光学系(単眼カメラ)に相当する。また、本実施形態において、レンズ21は、当該レンズ21の位置を調整することによりピント位置(合焦距離)を制御するための機構及びレンズ駆動回路等と、撮像装置2の光学系に取り込まれる光の量(入光量)を調節するための開口部を有する絞り機構及び絞り制御回路等と、当該レンズ21に関する情報及びその他のパラメータ等を予め保持しているメモリ(図示せず)が搭載される制御回路等とともにレンズユニットを構成する。
また、本実施形態において、撮像装置2は、レンズ21(レンズユニット)を手動で他のレンズに交換可能に構成されていてもよい。この場合、ユーザは、例えば標準レンズ、望遠レンズ及び広角レンズ等の複数の種別のレンズのうちの1つを撮像装置2に装着して用いることができる。なお、レンズを交換した場合には、焦点距離やF値(絞り値)が変わり、撮像装置2において用いられるレンズに応じた画像を撮像することができる。
本実施形態において、焦点距離とは、レンズから、当該レンズに対して平行に光が入射したときに当該光が収束する位置までの距離をいう。また、F値とは、絞り機構に応じて撮像装置2に取り込まれる光の量を数値化したものである。なお、F値は、値が小さくなるにつれて、撮像装置2に取り込まれる光の量が多くなる(つまり、開口部の大きさが大きくなる)ことを示す。
レンズ21には、被写体で反射した光が入射する。レンズ21に入射した光は、レンズ21を透過する。レンズ21を透過した光は、イメージセンサ22に到達し、当該イメージセンサ22によって受光(検出)される。イメージセンサ22は、受光した光を電気信号に変換(光電変換)することによって、複数の画素から構成される画像を生成する。
なお、イメージセンサ22は、例えばCCD(Charge Coupled Device)イメージセンサ及びCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等により実現される。イメージセンサ22は、例えば赤色(R)の波長帯域の光を検出する第1センサ(Rセンサ)221、緑色(G)の波長帯域の光を検出する第2センサ(Gセンサ)222及び青色(B)の波長帯域の光を検出するセンサ(Bセンサ)223を含む。イメージセンサ22は、第1~第3センサ221~223により対応する波長帯域の光を受光して、各波長帯域(色成分)に対応するセンサ画像(R画像、G画像及びB画像)を生成することができる。すなわち、撮像装置2によって撮像される画像はカラー画像(RGB画像)であり、当該画像にはR画像、G画像及びB画像が含まれる。
なお、本実施形態においてはイメージセンサ22が第1~第3センサ221~223を含むものとして説明するが、イメージセンサ22は、第1~第3センサ221~223のうちの少なくとも1つを含むように構成されていればよい。また、イメージセンサ22は、第1~第3センサ221~223に代えて、例えばモノクロ画像を生成するためのセンサを含むように構成されていてもよい。
本実施形態においてレンズ21を透過した光に基づいて生成された画像は、光学系(に含まれるレンズ21)の収差の影響を受けた画像であり、当該収差により生じるぼけを含む。なお、画像に生じるぼけの詳細については後述する。
画像処理装置3は、機能構成として、第1格納部31、画像取得部32、マップ生成部33、補間処理部34、第2格納部35及び表示処理部36を含む。
第1格納部31には、被写体までの距離を撮像装置2によって撮像された画像から取得するために用いられる統計情報(以下、第1統計モデルと表記)が格納されている。第1統計モデルは、上記した光学系の収差の影響を受けた画像(第1画像)に生じる、当該画像中の被写体までの距離に応じて非線形に変化するぼけを学習することによって生成されている。
なお、第1統計モデルは、例えばニューラルネットワークまたはランダムフォレスト等の既知の様々な機械学習のアルゴリズムを適用して生成することができるものとする。また、本実施形態において適用可能なニューラルネットワークには、例えば畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)、全結合ニューラルネットワーク及び再帰型ニューラルネットワーク等が含まれていてもよい。
画像取得部32は、上記した撮像装置2によって撮像された画像(第2画像)を、当該撮像装置2(イメージセンサ22)から取得する。
ここで、詳細については後述するが、上記した第1格納部31に格納されている第1統計モデルは、入力された画像に含まれる被写体までの距離に応じて当該画像に生じるぼけを示すぼけ値を推定(予測)するとともに、当該ぼけ値の不確実性の度合いを示す不確実度を算出するように構築されているものとする。換言すれば、第1統計モデルに画像が入力された場合には、当該画像に応じたぼけ値及び不確実度が当該第1統計モデルから出力される。
マップ生成部33は、画像取得部32によって取得された画像を第1格納部31に格納されている第1統計モデルに入力することによって当該第1統計モデルから出力される当該画像に生じるぼけを示すぼけ値及び当該ぼけ値に対する不確実度を取得する。マップ生成部33は、取得されたぼけ値及び不確実度に基づいてぼけマップを生成する。
補間処理部34は、マップ生成部33によって生成されたぼけマップに対してぼけ値を補間したぼけマップを取得する。
第2格納部35には、マップ生成部33によって生成されたぼけマップに対してぼけ値を補間するために用いられる統計情報(以下、第2統計モデルと表記)が格納されている。なお、第2統計モデルは、上記した第1統計モデルと同様に、例えばニューラルネットワークまたはランダムフォレスト等の既知の様々な機械学習のアルゴリズムを適用して生成することができるものとする。
表示処理部36は、補間処理部34によって取得されたぼけマップ(ぼけ値が補間されたぼけマップ)を表示する。
図2は、図1に示す画像処理装置3のシステム構成の一例を示す。図2に示すように、画像処理装置3は、CPU301、不揮発性メモリ302、RAM303、通信デバイス304、入力デバイス305及び表示デバイス306等を備える。また、画像処理装置3は、CPU301、不揮発性メモリ302、RAM303、通信デバイス304、入力デバイス305及び表示デバイス306を相互に接続するバス307を有する。
CPU301は、画像処理装置3内の様々なコンポーネントの動作を制御するためのプロセッサである。CPU301は、単一のプロセッサであってもよいし、複数のプロセッサで構成されていてもよい。CPU301は、不揮発性メモリ302からRAM303にロードされる様々なプログラムを実行する。これらプログラムは、オペレーティングシステム(OS)や様々なアプリケーションプログラムを含む。アプリケーションプログラムは、画像処理プログラム303Aを含む。
不揮発性メモリ302は、補助記憶装置として用いられる記憶媒体である。RAM303は、主記憶装置として用いられる記憶媒体である。図2においては不揮発性メモリ302及びRAM303のみが示されているが、画像処理装置3は、例えばHDD(Hard Disk Drive)及びSSD(Solid State Drive)等の他の記憶装置を備えていてもよい。
なお、本実施形態において、図1に示す第1格納部31及び第2格納部35は、例えば不揮発性メモリ302または他の記憶装置等によって実現される。
また、本実施形態において、図1に示す画像取得部32、マップ生成部33、補間処理部34及び表示処理部36の一部または全ては、CPU301(つまり、画像処理装置3のコンピュータ)に画像処理プログラム303Aを実行させること、すなわち、ソフトウェアによって実現されるものとする。この画像処理プログラム303Aは、コンピュータ読み取り可能な記憶媒体に格納して頒布されてもよいし、ネットワークを通じて画像処理装置3にダウンロードされてもよい。なお、これらの各部32~34及び36の一部または全ては、IC(Integrated Circuit)等のハードウェアによって実現されてもよいし、ソフトウェア及びハードウェアの組み合わせによって実現されてもよい。
通信デバイス304は、有線通信または無線通信を実行するように構成されたデバイスである。通信デバイス304は、ネットワークを介した外部機器との通信等を実行する。この外部機器には、撮像装置2が含まれる。この場合、画像処理装置3は、通信デバイス304を介して、撮像装置2から画像を受信する。
入力デバイス305は、例えばマウスまたはキーボード等を含む。表示デバイス306は、例えば液晶ディスプレイ(LCD:Liquid Crystal Display)等を含む。なお、入力デバイス305及び表示デバイス306は、例えばタッチスクリーンディスプレイのように一体として構成されていてもよい。
次に、図3を参照して、本実施形態における第1統計モデルの概要について説明する。本実施形態においては、上記したように光学系(レンズ21)の収差の影響を受けた画像が撮像装置2(イメージセンサ22)によって生成され、当該画像が第1格納部31に格納されている第1統計モデルに入力される。
本実施形態における第1統計モデルによれば、上記したように入力された画像中の被写体までの距離に応じて当該画像に生じるぼけを示すぼけ値(ぼけ情報)が推定され、当該ぼけ値が出力される。
更に、本実施形態における第1統計モデルによれば、上記したように画像に生じるぼけを示すぼけ値に対する不確実度が算出され、当該不確実度が出力される。第1統計モデルは、例えばベイズ推論を用いることにより予測(ぼけ値)の不確実性を出力するように学習することができる。また、第1統計モデルがランダムフォレストで構成される場合には、バリアンス(予測値のばらつき誤差)を使用してもよい。なお、不確実度の算出手法は、特定の手法に限定されず、既知の様々な手法を適用することができる。
本実施形態においては、上記したように第1統計モデルから出力されるぼけ値及び不確実度に基づいてぼけマップが生成される。
ここで、本実施形態において撮像装置2によって撮像された画像には、上記したように当該撮像装置2の光学系の収差(レンズ収差)に起因するぼけが生じている。以下、撮像装置2によって撮像された画像に生じるぼけについて説明する。まず、撮像装置2の光学系の収差に起因するぼけのうち、色収差について説明する。
図4は、被写体までの距離と色収差により画像に生じるぼけとの関係性について示している。以下の説明では、撮像装置2においてピントが合う位置をピント位置と称する。
収差のあるレンズ21を透過する際の光の屈折率は波長帯域毎に異なるため、例えば被写体の位置がピント位置からずれているような場合には、各波長帯域の光が1点に集まらず異なった点に到達する。これが画像上で色収差(ぼけ)として現れる。
図4の上段は、撮像装置2(イメージセンサ22)に対する被写体の位置がピント位置よりも遠い(つまり、被写体の位置がピント位置よりも奥にある)場合を示している。
この場合、赤色の波長帯域の光401に関しては、イメージセンサ22(第1センサ221)において比較的小さいぼけbを含む画像が生成される。一方、青色の波長帯域の光402に関しては、イメージセンサ22(第3センサ223)において比較的大きいぼけbを含む画像が生成される。なお、緑色の波長帯域の光403に関しては、ぼけbとぼけbとの中間の大きさのぼけを含む画像が生成される。したがって、このような被写体の位置がピント位置よりも遠い状態で撮像された画像においては、当該画像中の被写体の外側に青色のぼけが観察される。
一方、図4の下段は、撮像装置2(イメージセンサ22)に対する被写体の位置がピント位置よりも近い(つまり、被写体の位置がピント位置よりも手前にある)場合を示している。
この場合、赤色の波長帯域の光401に関しては、イメージセンサ22(第1センサ221)において比較的大きいぼけbを含む画像が生成される。一方、青色の波長帯域の光402に関しては、イメージセンサ22(第3センサ223)において比較的小さいぼけbを含む画像が生成される。なお、緑色の波長帯域の光403に関しては、ぼけbとぼけbとの中間の大きさのぼけを含む画像が生成される。したがって、このような被写体の位置がピント位置よりも近い状態で撮像された画像においては、当該画像中の被写体の外側に赤色のぼけが観察される。
ここで、図4はレンズ21が単純な単レンズの例を示しているが、一般的に、撮像装置2においては、例えば色収差補正が施されたレンズ(以下、色消しレンズと表記)が用いられる場合がある。なお、色消しレンズとは、低分散の凸レンズと高分散の凹レンズを組み合わせたレンズであり、色収差を補正するレンズとして最もレンズ枚数が少ないレンズである。
図5は、レンズ21として上記した色消しレンズを用いた場合における被写体までの距離と色収差により画像に生じるぼけとの関係性を示している。色消しレンズにおいては青色の波長と赤色の波長の焦点位置を揃える設計がされているが、色収差は完全には除去することができない。このため、被写体の位置がピント位置よりも遠い場合には図5の上段に示すように緑色のぼけが発生し、被写体の位置がピント位置よりも近い場合には図5の下段に示すように紫色のぼけが発生する。
なお、図4及び図5の中段は、撮像装置2(イメージセンサ22)に対する被写体の位置とピント位置とが一致している場合を示している。この場合には、イメージセンサ22(第1~第3センサ221~223)においてぼけの少ない画像が生成される。
ここで、撮像装置2の光学系(レンズユニット)には上記したように絞り機構が備えられているが、当該撮像装置2によって撮像された画像に生じるぼけの形状は、当該絞り機構の開口部の大きさによっても異なる。なお、ぼけの形状は、PSF(Point Spread Function)形状と称され、点光源が撮像されたときに生じる光の拡散分布を示している。
図6の上段は、焦点距離が50mmのレンズを用いた撮像装置2(の光学系)においてピント位置を1500mm、F値(絞り)をF1.8とした場合に当該撮像装置2によって撮像された画像の中央部に生じるPSF形状を、被写体の位置が撮像装置2から近い順に左から示している。図6の下段は、焦点距離が50mmのレンズを用いた撮像装置2(の光学系)においてピント位置を1500mm、F値(絞り)をF4とした場合に当該撮像装置2によって撮像された画像の中央部に生じるPSF形状を、被写体の位置が撮像装置2から近い順に左から示している。なお、図6の上段及び下段の中央は、被写体の位置がピント位置と一致している場合のPSF形状を示している。
図6の上段及び下段の対応する位置に示されているPSF形状は撮像装置2に対する被写体の位置が同一である場合のPSF形状であるが、当該被写体の位置が同一である場合であっても、上段のPSF形状(F値をF1.8として撮像した画像に生じるPSF形状)と下段のPSF形状(F値をF4として撮像した画像に生じるPSF形状)とでは形状が異なっている。
更に、図6の最も左側のPSF形状と最も右側のPSF形状に示すように、例えば被写体の位置からピント位置までの距離が同程度である場合であっても、当該被写体の位置がピント位置よりも近い場合と当該被写体の位置がピント位置よりも遠い場合とで、PSF形状が異なっている。
なお、上記したように絞り機構の開口部の大きさや撮像装置2に対する被写体の位置に応じてPSF形状が異なる現象は、各チャンネル(RGB画像、R画像、G画像及びB画像)においても同様に生じる。図7は、焦点距離が50mmのレンズを用いた撮像装置2においてピント位置を1500mm、F値をF1.8とした場合に当該撮像装置2によって撮像された各チャンネルの画像に生じるPSF形状を、被写体の位置がピント位置よりも近い(手前にある)場合と被写体の位置がピント位置よりも遠い(奥にある)場合とに分けて示している。図8は、焦点距離が50mmのレンズを用いた撮像装置2においてピント位置を1500mm、F値をF4とした場合に当該撮像装置2によって撮像された各チャンネルの画像に生じるPSF形状を、被写体の位置がピント位置よりも近い場合と被写体の位置がピント位置よりも遠い場合とに分けて示している。
更に、撮像装置2によって撮像された画像に生じるPSF形状は、当該画像中の位置によっても異なる。
図9の上段は、焦点距離が50mmのレンズを用いた撮像装置2においてピント位置を1500mm、F値をF1.8とした場合に当該撮像装置2によって撮像された画像中の各位置に生じるPSF形状を、被写体の位置がピント位置よりも近い場合と被写体の位置がピント位置よりも遠い場合とに分けて示している。
図9の中段は、焦点距離が50mmのレンズを用いた撮像装置2においてピント位置を1500mm、F値をF4とした場合に当該撮像装置2によって撮像された画像中の各位置に生じるPSF形状を、被写体の位置がピント位置よりも近い場合と被写体の位置がピント位置よりも遠い場合とに分けて示している。
図9の上段及び中段に示すように、撮像装置2によって撮像された画像の端部近傍(特に、左上等の角部近傍)においては、例えば画像中央付近に位置するPSF形状とは異なるPSF形状を観察することができる。
また、図9の下段は、焦点距離が105mmのレンズを用いた撮像装置2においてピント位置を1500mm、F値をF4とした場合に当該撮像装置2によって撮像された画像中の各位置に生じるPSF形状を、被写体の位置がピント位置よりも近い場合と被写体の位置がピント位置よりも遠い場合とに分けて示している。
上記した図9の上段及び中段は同一のレンズを用いて撮像された画像に生じるPSF形状を示しているが、図9の下段に示すように、焦点距離が異なるレンズを用いた場合には当該レンズに応じた異なるPSF形状(図9の上段及び中段とは異なるPSF形状)が観察される。
次に、図10を参照して、上記した撮像装置2の光学系に用いるレンズの種別に応じたPSF形状(レンズの収差)の位置依存性について具体的に説明する。図10は、焦点距離が異なる複数のレンズの各々を用いて撮像された画像の中央付近(画面中央)及び端部付近(画面端)に生じるPSF形状を、被写体の位置がピント位置よりも近い場合と被写体の位置がピント位置よりも遠い場合とに分けて示している。
図10に示すように、画像の中央付近に生じるPSF形状は、レンズの種別が異なる場合であっても概ね円形で同一であるが、画像の端部付近に生じるPSF形状は、画像の中央付近に生じるPSF形状と異なる形状を有し、かつ、レンズの種別に応じてそれぞれ特性(特徴)が異なる。なお、上記した図5において説明した被写体の位置がピント位置よりも近い場合にはPSFのふち付近に紫色のぼけが発生し、被写体の位置がピント位置よりも遠い場合にはPSFのふち付近に緑色のぼけが発生する点については、レンズの種別が異なる場合であっても共通している。
また、図10においては、焦点距離が50mmのレンズに関しては2つの例(#1及び#2)が示されているが、これは、焦点距離が50mmで同一であるが、レンズの製造元が異なる(つまり、異なる製品である)ことを示している。焦点距離が85mmのレンズについても同様である。
上記したように本実施形態における被写体までの距離に応じて非線形に変化するぼけには、上記した図4及び図5において説明した撮像装置2の光学系の色収差により生じるぼけ、図6~図8において説明した撮像装置2の光学系に取り込まれる光の量を調節する絞り機構の開口部の大きさ(つまり、F値)に応じて生じるぼけ、図9及び図10において説明した撮像装置2によって撮像された画像中の位置に応じて変化するぼけ等が含まれる。
なお、PSF形状は、絞り機構の開口部の形状によっても異なる。ここで、図11は、PSF形状の非線形性(非対称性)と絞り機構の開口部の形状との関係を表している。上記したPSF形状の非線形性は、絞り機構の開口部の形状替えに外の場合に生じやすい。特に、PSF形状の非線形性は、開口部の形状が奇数角形、或いはイメージセンサ22の水平または垂直軸に対して非対称に配置された偶数角形の場合により生じやすい。
本実施形態に係る画像処理装置3(画像処理システム1)においては、上記した画像に生じるぼけ(色、サイズ及び形状)が被写体までの距離に関する物理的な手掛かりとなる点に着目して生成された第1統計モデルを用いて当該画像に生じるぼけを示すぼけ値が推定(予測)される。なお、本実施形態において第1統計モデルによって推定される(つまり、当該第1統計モデルから出力される)ぼけ値とは、画像に生じるぼけの色、サイズ及び形状を含むぼけ量を表すスカラー量である
以下、本実施形態において第1統計モデルによって画像からぼけ(を示すぼけ値)を推定する方式の一例について説明する。ここでは、第1~第3方式について説明する。
まず、図12を参照して、第1方式について説明する。第1方式においては、画像501から局所領域(画像パッチ)501aが抽出される。
この場合、例えば画像501の全領域をマトリクス状に分割し、当該分割後の部分領域を局所領域501aとして順次抽出するようにしてもよいし、画像501を認識して、被写体(像)が検出された領域を網羅するように局所領域501aを抽出するようにしてもよい。また、局所領域501aは、他の局所領域501aとの間で一部がオーバーラップしていてもよい。
次に、抽出された局所領域501a毎に、当該局所領域501aに関する情報(画像501の情報)が第1統計モデルに入力されることによって、当該局所領域501a中の被写体までの距離に応じて生じるぼけを示すぼけ値が推定される。
このように局所領域501aに関する情報が入力された第1統計モデルは、当該局所領域501aを構成する画素毎にぼけ値502を推定する。
ここで、例えば特定の画素が第1局所領域501a及び第2局所領域501aの両方に属する(つまり、第1局所領域501a及び第2局所領域501aとの間で当該画素を含む領域がオーバーラップしている)場合、当該画素が第1局所領域501aに属するものとして推定されたぼけ値と、当該画素が第2局所領域501aに属するものとして推定されたぼけ値とでは異なる場合がある。
このため、例えば上記したように一部がオーバーラップする複数の局所領域501aが抽出されている場合、当該複数の局所領域501aがオーバーラップしている領域を構成する画素のぼけ値は、例えば当該オーバーラップしている一方の局所領域501aの一部の領域(画素)について推定されたぼけ値と他方の局所領域501aの一部の領域(画素)について推定された距離との平均値としてもよい。また、一部がオーバーラップする3以上の局所領域501aの一部の領域毎に推定された距離による多数決で決定されてもよい。
図13は、上記した第1方式において第1統計モデルに入力される局所領域501aに関する情報の一例を示す。
図13に示すように、第1統計モデルには、画像501から抽出された局所領域501aの勾配データが入力される。局所領域501aの勾配データは、画像501に含まれるR画像、G画像及びB画像の各々から生成され、R画像の勾配データ、G画像の勾配データ及びB画像の勾配データを含む。
なお、勾配データは、各画素と当該画素に隣接する画素との画素値の差分(差分値)を示す。例えば、局所領域501aがn画素(X軸方向)×m画素(Y軸方向)の矩形領域として抽出される場合、当該局所領域501a内の各画素について算出した例えば右隣の画素との差分値をn行×m列のマトリクス状に配置した勾配データが生成される。
第1統計モデルは、R画像の勾配データと、G画像の勾配データと、B画像の勾配データとを用いて、当該各画像に生じているぼけを示すぼけ値を推定する。図13においてはR画像、G画像及びB画像の各々の勾配データが第1統計モデルに入力される場合について示しているが、画像501(RGB画像)の勾配データが第1統計モデルに入力される構成であってもよい。
次に、図14を参照して、第2方式について説明する。第2方式においては、第1方式における局所領域501aに関する情報として、当該局所領域(画像パッチ)501a毎の勾配データ及び画像501における当該局所領域501aの位置情報が統計モデルに入力される。
位置情報501bは、例えば局所領域501aの中心点を示すものであってもよいし、左上辺等の予め定められた一辺を示すものであってもよい。また、位置情報501bとして、局所領域501aを構成する画素それぞれの画像501上での位置情報を用いてもよい。
上記したように位置情報501bを更に第1統計モデルに入力することで、例えばレンズ21の中心部を透過する光によって結像された被写体像のぼけと、当該レンズ21の端部を透過する光によって結像された被写体像のぼけとの間の差異を考慮したぼけ値502を推定することができる。
つまり、この第2方式によれば、画像上の位置との相関に基づいて画像501からぼけ値を推定することができる。
図15は、上記した第2方式において第1統計モデルに入力される局所領域501aに関する情報の一例を示す。
例えばn画素(X軸方向)×m画素(Y軸方向)の矩形領域が局所領域501aとして抽出される場合、当該局所領域501aの例えば中心点に対応する画像501上のX座標値(X座標データ)と、当該局所領域501aの例えば中心点に対応する画像501上のY座標値(Y座標データ)とが取得される。
第2方式においては、このように取得されたX座標データ及びY座標データが、上記したR画像、G画像及びB画像の勾配データとともに、第1統計モデルに入力される。
更に、図16を参照して、第3方式について説明する。第3方式においては、上記した第1方式及び第2方式のような画像501からの局所領域501aの抽出は行われない。第3方式においては、例えば画像501の全領域に関する情報(R画像、G画像及びB画像の勾配データ)が第1統計モデルに入力される。
局所領域501a毎にぼけ値502を推定する第1方式及び第2方式と比較して、第3方式は、第1統計モデルによる推定の不確実性が高くなる可能性があるが、当該推定にかかる処理の負荷を軽減することができる。
以下の説明においては、上記した第1~第3方式において第1統計モデルに入力される情報を、便宜的に画像に関する情報と称する。
ここでは画素毎にぼけ値が推定されるものとして説明したが、当該ぼけ値は、少なくとも1つの画素を含む所定の領域毎に推定されても構わない。
また、上記したように第1統計モデルにおいて画素毎にぼけ値が推定される(つまり、画素毎にぼけ値が出力される)場合、当該第1統計モデルは、上記した不確実性についても同様に画素毎に算出(出力)するものとする。
以下、図17を参照して、本実施形態における画像に生じるぼけと当該画像中の被写体までの距離との相関について具体的に説明する。
図17においては、被写体がピント位置よりも近い(手前にある)場合に生じるぼけのサイズをX軸上においてマイナスの値で示し、被写体がピント位置よりも遠い(奥にある)
場合に生じるぼけのサイズをX軸上においてプラスの値で示している。つまり、図17においては、ぼけの色及びサイズを正負の値で示している。
図17においては、被写体の位置がピント位置よりも近い場合及び被写体の位置がピント位置よりも遠い場合のいずれの場合においても、被写体がピント位置から離れるほど、ぼけのサイズ(ピクセル)の絶対値が大きくなることが示されている。
図17に示す例では、画像を撮像した光学系におけるピント位置が約1500mmである場合を想定している。この場合、例えば約-4.8ピクセルのぼけは光学系から約1000mmの距離に対応し、0ピクセルのぼけは光学系から1500mmの距離に対応し、薬4.8ピクセルのぼけは光学系から約750mmの距離に対応する。
ここでは、便宜的に、ぼけのサイズ(ピクセル)をX軸上に示す場合について説明したが、上記した図6~10において説明したように、画像に生じるぼけの形状(PSF形状)についても、当該被写体がピント位置よりも近い場合と当該被写体がピント位置よりも遠い場合とで異なるし、画像中の位置によっても異なる。このため、図17においてX軸上に示す値(つまり、ぼけ値)は、実際には当該ぼけの形状(PSF形状)を反映した値である。
上記した被写体までの距離とぼけの色、サイズ及び形状とは例えば図17の線分d1によって示されるような相関があるため、距離を推定することと、ぼけの色、サイズ及び形状(を示すぼけ値)を推定することとは同義である。
なお、例えば第1統計モデルに直接的に距離を推定させる構成も考えられるが、第1統計モデルにぼけ値を推定させる構成の方が、光学系におけるピント位置(合焦距離)を変更したような場合であっても同一の第1統計モデルを用いることが可能であり、汎用性が高いといえる。
次に、図18のフローチャートを参照して、本実施形態に係る画像処理装置3の処理手順の一例について説明する。
まず、撮像装置2(イメージセンサ22)は、被写体を撮像することによって当該被写体を含む画像(以下、撮像画像と表記)を生成する。この撮像画像は、上記したように撮像装置2の光学系(レンズ21)の収差の影響を受けた画像である。
画像処理装置3に含まれる画像取得部32は、上記した撮像画像を撮像装置2から取得する(ステップS1)。なお、撮像画像は、USBケーブルまたはLANケーブル等を用いた有線通信を実行することによって撮像装置2から取得(受信)されてもよいし、Bluetooth(登録商標)またはWifi(登録商標)に基づく無線通信を実行することによって撮像装置2から取得(受信)されてもよい。
次に、マップ生成部33は、ステップS1において取得された撮像画像に関する情報を、第1格納部31に格納されている第1統計モデルに入力する(ステップS2)。
撮像画像からぼけ値を推定する方式として上記した第1方式が適用される場合には、撮像画像に関する情報として、当該撮像画像の局所領域毎に、R画像、G画像及びB画像の勾配データが第1統計モデルに入力される。
撮像画像からぼけ値を推定する方式として上記した第2方式が適用される場合には、撮像画像に関する情報として、撮像画像の局所領域毎に、R画像、G画像及びB画像の勾配データと当該局所領域の撮像画像上における位置情報とが第1統計モデルに入力される。
撮像画像からぼけ値を推定する方式として上記した第3方式が適用される場合には、撮像画像に関する情報として、当該撮像画像の全領域分のR画像、G画像及びB画像の勾配データが統計モデルに入力される。
なお、本実施形態においてはR画像、G画像及びB画像の勾配データが第1統計モデルに入力されるものとして説明するが、上記した撮像画像に生じるぼけの形状(PSF形状)の観点からぼけ値を推定する場合には、R画像、G画像及びB画像の勾配データのうちの少なくとも1つの勾配データが第1統計モデルに入力されればよい。一方、色収差により撮像画像に生じるぼけの色及びサイズの観点からぼけ値を推定する場合には、R画像、G画像及びB画像の勾配データのうちの少なくとも2つの勾配データが第1統計モデルに入力されればよい。
ステップS2の処理が実行されると、第1統計モデルにおいて、画素毎のぼけ値が推定されるとともに、当該ぼけ値に対する不確実度が算出される。このように推定されたぼけ値及び算出された不確実度は、第1統計モデルから出力され、マップ生成部33によって取得される(ステップS3)。
次に、マップ生成部33は、ステップS3において取得されたぼけ値及び不確実度に基づいてぼけマップ(以下、第1ぼけマップと表記)を生成する(ステップS4)。
なお、本実施形態にけるぼけマップとは、光学系の収差の影響を受けた画像に生じるぼけの分布を表すマップ形式の情報である。ぼけマップは、撮像画像を構成する画素の各々に、当該画素について出力されたぼけ値を割り当てることによって生成される。すなわち、本実施形態におけるぼけマップは、撮像画像と同一の数の画素から構成される画像データに相当する。この場合、ぼけマップを構成する画素の各々に割り当てられたぼけ値を当該画素の画素値として用いることによって、当該ぼけマップを構成する画素の各々は、当該画素に割り当てられたぼけ値を当該ぼけ値に応じた色で表現することができる。
ここで、マップ生成部33は、ステップS3において取得されたぼけ値(撮像画像を構成する画素毎に第1統計モデルによって推定されたぼけ値)に基づいてぼけマップ(以下、初期ぼけマップと表記)を生成することができる。上記したように画像に生じるぼけ(を示すぼけ値)と当該画像中の被写体までの距離とに相関があり、当該ぼけを推定することと当該距離を推定することとが同義であるものとすると、上記したように画素毎に推定されたぼけ値が当該画素の各々に割り当てられた初期ぼけマップは、被写体の立体構造を把握するために有用な情報であるといえる。
しかしながら、上記したように画素毎に推定されたぼけ値の中には不確実度が高い(つまり、信頼性が低い)ぼけ値が含まれており、このようなぼけ値を用いて生成されたぼけマップでは、被写体の立体構造を誤って把握させる可能性がある。なお、本実施形態において被写体までの距離の物理的な手掛かりとなる非線形なぼけは画像中のエッジ部分で強く表れるが、例えば淡色のテーブルのようなテクスチャレスな領域においては当該ぼけを推定(検出)することが困難であり、不確実性が高く算出される。
このため、マップ生成部33は、ステップS3において取得された撮像画像を構成する画素毎のぼけ値のうち不確実度が閾値未満であるぼけ値を用いて(つまり、不確実度が閾値以上であるぼけ値を破棄して)第1ぼけマップを生成するものとする。
この場合、マップ生成部33は、上記した初期ぼけマップを生成するとともに、当該ステップS3において取得された撮像画像を構成する画素毎の不確実度を用いて不確実性マップを生成する。なお、不確実性マップは、撮像画像を構成する画素毎に推定されたぼけ値に対する不確実度の分布を表すマップ形式の情報(画像)であり、当該不確実度を当該不確実度が算出された画素に割り当てることによって生成される。
マップ生成部33は、生成された不確実性マップ上の不確実性が閾値以上である画素から構成される領域を特定し、当該特定された領域に対応する初期ぼけマップの領域をマスクすることによって、第1ぼけマップを生成することができる。換言すれば、第1ぼけマップは、不確実性マップを一定の閾値で2値化してマスクを生成し、当該マスクを初期ぼけマップに適用することで生成される。
上記した第1ぼけマップは、高信頼度(つまり、不確実度が閾値未満)のぼけ値を用いて生成されたぼけマップ(高信頼ぼけマップ)であるため、上記した初期ぼけマップのように被写体の立体構造を誤って把握させる可能性を低減させることができる。
しかしながら、第1ぼけマップにおいては例えばテクスチャレスな被写体に対応する領域を構成する画素について推定されたぼけ値を破棄している(つまり、不確実度が閾値以上であるぼけ値を外れ値や異常値として扱っている)ため、当該第1ぼけマップは、不確実度が閾値未満であるぼけ値のみを画素に割り当てた疎なぼけマップであるといえる。このような第1ぼけマップ(疎なぼけマップ)では、被写体の立体構造(3次元構造)を部分的にしか表現することができず、当該立体構造を適切に把握することができない場合がある。本実施形態に係る画像処理システム1は例えば工場や工事現場等で配管点検または設備劣化点検を行う場合やロボット等が把持対象を把握するような場合に利用することが考えられるが、このような被写体(対象)の立体構造を正確に把握する必要がある用途で上記した第1ぼけマップを用いることは困難である。
そこで、補間処理部34は、上記したステップS4において生成された第1ぼけマップに対してぼけ値(不確実度が閾値以上であり、破棄されたぼけ値)を補間する処理(補間処理)を実行する(ステップS5)。なお、ステップS5における補間処理には、第2格納部35に格納されている第2統計モデルが用いられる。
第2統計モデルは、例えば第1ぼけマップのような疎なぼけマップが入力された場合に、当該疎なぼけマップに対してぼけ値を補間した密なぼけマップを出力するように、疎なぼけマップ及び密なぼけマップ(を含む学習用のデータセット)を学習することによって生成されているものとする。なお、疎なぼけマップと密なぼけマップとの対応関係は、例えばエンコーダ・デコーダ構造を有するニューラルネットワークや畳み込みネットワーク等によって表現可能である。
この場合、補間処理部34は、ステップS4において生成された第1ぼけマップを第2統計モデルに入力することによって当該第2統計モデルから出力されるぼけマップ(以下、第2ぼけマップと表記)を取得する。なお、第2ぼけマップは、上記した第1ぼけマップを構成する複数の画素のうち、閾値以上である不確実度が出力(算出)された画素にぼけ値を補間した密なぼけマップに相当する。
ステップS5の処理が実行されると、表示処理部36は、当該ステップS5の処理が実行されることによって取得された第2ぼけマップ(つまり、密なぼけマップ)を例えば表示デバイス306に表示する(ステップS6)。ここでは第2ぼけマップが表示デバイス306に表示されるものとして説明したが、当該第2ぼけマップは、例えば画像処理装置3(または画像処理システム1)の外部に出力(送信)されても構わない。
なお、本実施形態においては、上記したように第1及び第2統計モデルを用いる構成であるが、当該第1及び第2統計モデルは、学習処理を実行することによって生成される。
以下、第1及び第2統計モデルを生成するための学習処理(以下、単に統計モデルの学習処理と表記)について簡単に説明する。
まず、図19を参照して、第1統計モデルの学習処理の一例について説明する。ここでは、撮像装置2によって撮像された画像を用いた第1統計モデルの学習処理について説明するが、当該第1統計モデルの学習処理は、例えば例えば撮像装置2の光学系と同様の光学系を有する他のデバイス(カメラ等)によって撮像された画像を用いて行われてもよい。
以下の説明では、第1統計モデルの学習処理に用いる画像を、便宜的に、学習用画像と称する。
上記した図12を参照して説明した第1方式、図14を参照して説明した第2方式、図16を参照して説明した第3方式のいずれの方式を用いる場合においても、第1統計モデルの学習処理は、基本的に、学習用画像に関する情報を第1統計モデルに入力し、当該第1統計モデルによって推定されたぼけ値と正解値との誤差を当該第1統計モデルにフィードバックすることによって行われる。なお、フィードバックとは、誤差が減少するように統計モデル(ここでは、第1統計モデル)のパラメータ(例えば、重み係数)を更新することをいう。
上記した画像からぼけ値を推定する方式として第1方式が適用される場合には、第1統計モデルの学習処理時においても、学習用画像から抽出された局所領域(画像パッチ)毎に、当該局所領域に関する情報(勾配データ)が第1統計モデルに入力され、当該第1統計モデルによって各局所領域内の各画素のぼけ値が推定される。このように推定されたぼけ値と正解値とが比較されることによって得られる誤差が、第1統計モデルにフィードバックされる。
同様に、画像からぼけ値を推定する方式として第2方式が適用される場合には、第1統計モデルの学習処理時においても、学習用画像から抽出された局所領域(画像パッチ)毎に、当該局所領域に関する情報として勾配データ及び位置情報が第1統計モデルに入力され、当該第1統計モデルによって各局所領域内の各画素のぼけ値が推定される。このように推定されたぼけ値と正解値とが比較されることによって得られる誤差が、第1統計モデルにフィードバックされる。
また、画像から距離を推定する方式として第3方式が適用される場合には、第1統計モデルの学習処理時においても、学習用画像の全領域に関する情報(勾配データ)が一括して第1統計モデルに入力され、当該第1統計モデルによって当該学習用画像内の各画素のぼけ値が推定される。このように推定されたぼけ値と正解値とが比較されることによって得られる誤差が、第1統計モデルにフィードバックされる。
なお、上記したように学習用画像に関する情報が第1統計モデルに入力された場合には、上記した図3において説明した場合と同様に、ぼけ値に対する不確実度が算出されるものとする。この場合の第1統計モデルの学習処理においては、ぼけ値と正解値との誤差を不確実度の二乗で除算した誤差をフィードバックするものとする。この場合、不確実度を無限大とした際には誤差がゼロとなるため、不確実度の二乗をペナルティとして誤差に加算するものとする。
上記した第1統計モデルの学習処理によれば、ぼけ値と正解値との誤差を不確実度で補正した値が減少するように第1統計モデルのパラメータ(例えば、重み係数)が更新される。
ここで、例えば第1統計モデルにより推定されたぼけ値と正解値との誤差がない一方で、不確実度が高い場合、当該ぼけ値は偶然に推定された可能性があると推測することができる。この場合には、ぼけ値(正解値)の学習が不足していることを認識することができる。
このように第1統計モデルにより算出される不確実度を用いた場合には、学習の偏りを減少させることも可能である。
なお、本実施形態における第1統計モデルは、例えばピント位置を固定した状態で撮像装置2から被写体までの距離を変化させながら撮像された学習用画像(つまり、被写体までの距離が既知な学習用画像)を用いた学習処理が繰り返し実行されることによって生成される。また、1つのピント位置についての学習処理が完了した場合には、他のピント位置についても同様に学習処理を実行することによって、より精度の高い第1統計モデルを生成することができる。
なお、本実施形態における第1統計モデルの学習時に用いられる正解値は、上記したように学習用画像が撮像された際の被写体までの実際の距離から変換されたぼけ値(つまり、当該実際の距離に対応するぼけの色、サイズ及び形状を示すぼけ値)であるものとする。
次に、図20のフローチャートを参照して、第1統計モデルの学習処理の処理手順の一例について説明する。なお、図20に示す処理は、例えば画像処理装置3において実行されてもよいし、他の装置等において実行されてもよい。
まず、予め用意された学習用画像に関する情報が第1統計モデルに入力される(ステップS11)。この学習用画像は、例えば撮像装置2に備えられるレンズ21を透過した光に基づいてイメージセンサ22によって生成された画像であって、撮像装置2の光学系(レンズ21)の収差の影響を受けた画像である。具体的には、学習用画像には、図4~図10において説明した被写体までの距離に応じて非線形に変化するぼけが生じている。
なお、第1統計モデルの学習処理においては、画像処理装置3において取得(推定)可能な距離の下限値(手前)から上限値(奥)まで極力細かい粒度で被写体を各距離で撮像した学習用画像が予め用意されているものとする。また、学習用画像としては、被写体が異なる様々な画像を用意しておくことが好ましい。
ステップS11の処理については図18に示すステップS2の処理と同様であるため、ここではその詳しい説明を省略する。
第1統計モデルに対して学習用画像に関する情報が入力されると、当該第1統計モデルによって、ぼけ値が推定される(ステップS12)。
また、ステップS12の処理が実行されると、第1統計モデルは、当該ステップS12において推定されたぼけ値に対する不確実度を算出する(ステップS13)。
ステップS12において推定されたぼけ値は、学習用画像の撮像時に得られている正解値と比較される(ステップS14)。
ステップS14における比較結果(誤差)は、ステップS13において算出された不確実度を用いて補正され、第1統計モデルにフィードバックされる(ステップS15)。これにより、第1統計モデルにおいては、誤差が減少するようにパラメータが更新される(つまり、被写体までの距離に応じて学習用画像に生じているぼけが学習される)。
上記した図20に示す処理が学習用画像毎に繰り返し実行されることによって、推定精度の高い第1統計モデルが生成される。このように生成された第1統計モデルは、画像処理装置3に含まれる第1格納部31に格納される。
次に、図21を参照して、第2統計モデルの学習処理の一例について説明する。上記した第1統計モデルの学習処理は被写体までの距離が既知な学習用画像及び当該学習用画像に生じるぼけを示すぼけ値(正解値)を用いて実行されるが、第2統計モデルの学習処理は、疎なぼけマップ及び当該疎なぼけマップに対応する密なぼけマップ(正解値)を用いて実行される。
具体的には、第2統計モデルの学習処理は、疎なぼけマップを第2統計モデルに入力し、当該第2統計モデルによって推定された密なぼけマップ(疎なぼけマップに対してぼけ値が補間されたぼけマップ)と正解値との誤差を当該第2統計モデルにフィードバックすることによって行われる。なお、フィードバックとは、上記したように誤差が減少するように統計モデル(ここでは、第2統計モデル)のパラメータ(例えば、重み係数)を更新することをいう。
なお、第2統計モデルの学習処理に用いられる疎なぼけマップは、例えば予め用意されている密なぼけマップの一部の領域をマスクすることで生成することができる。
また、密なぼけマップは、例えば上記した第1統計モデルによって推定された信頼度の高いぼけ値(例えばテクスチャレスな被写体を含まない画像を第1統計モデルに入力することによって当該第1統計モデルから出力された不確実性が閾値未満のぼけ値から生成されたぼけマップ)を利用することができるが、例えば被写体までの実際の距離から変換されたぼけ値から生成されたぼけマップであってもよい。被写体までの実際の距離は、例えば2つの撮像装置2(の光学系)から構成されるステレオカメラを用いたステレオ測距により測定することができる。また、被写体までの実際の距離は、例えばLiDAR等の他の距離測定装置を用いて測定されてもよい。
なお、上記した距離からぼけ値への変換は、例えば撮像装置2の光学系の各種パラメータ(例えば、焦点距離、絞り値、ピント位置等)を用いて行うことができる。
また、疎なぼけマップは、上記したように生成される密なぼけマップの一部の領域をマスクすることによって生成することが可能であるが、例えばステレオカメラやLiDAR等を用いて測定された疎な距離から変換されたぼけ値に基づいて生成されてもよい。
次に、図22のフローチャートを参照して、第2統計モデルの学習処理の処理手順の一例について説明する。なお、図22に示す処理は、例えば画像処理装置3において実行されてもよいし、他の装置等において実行されてもよい。
まず、予め用意された疎なぼけマップが第2統計モデルに入力される(ステップS21)。
第2統計モデルに対して疎なぼけマップが入力されると、当該第2統計モデルによって、密なぼけマップが推定される(ステップS22)。
ステップS22において推定された密なぼけマップは、ステップS1において第2統計モデルに入力された疎なぼけマップに対応する密なぼけマップ(つまり、正解値)と比較される(ステップS23)。この場合、ステップS22において推定された密なぼけマップを構成する画素に割り当てられているぼけ値(つまり、第2統計モデルによって補間されたぼけ値)の各々が、正解値である密なぼけマップの対応する画素に割り当てられるぼけ値と比較される。
ステップS23における比較結果(誤差)は、第2統計モデルにフィードバックされる(ステップS24)。これにより、第2統計モデルにおいては、誤差が減少するようにパラメータが更新される(つまり、疎なぼけマップ及び当該疎なぼけマップに対応する密なぼけマップが学習される)。
上記した図22に示す処理が疎なぼけマップ及び密なぼけマップの組(つまり、学習用のデータセット)毎に繰り返し実行されることによって、推定精度の高い第2統計モデルが生成される。このように生成された第2統計モデルは、画像処理装置3に含まれる第2格納部35に格納される。
上記したように本実施形態においては、光学系の収差の影響を受けた学習用画像(第1画像)に生じる、当該画像中の被写体までの距離に応じて非線形に変化するぼけを学習することによって生成された第1統計モデルを第1格納部31に予め格納しておき、当該光学系の収差を受けた撮像画像(第2画像)が取得された場合に、当該撮像画像を第1統計モデルに入力することによって当該第1統計モデルから出力されるぼけ値及び当該ぼけ値に対する不確実性の度合いを示す不確実度が取得される。また、本実施形態においては、取得されたぼけ値及び不確実度に基づいて生成された第1ぼけマップに対してぼけ値を補間した第2ぼけマップが取得される。
ここで、第1統計モデルは撮像画像を構成する画素(または少なくとも1つの画素を含む所定の領域)毎にぼけ値及び不確実度を出力するように生成されており、上記した第1ぼけマップは、不確実度が閾値未満であるぼけ値を当該ぼけ値が出力された画素に割り当てた疎なぼけマップに相当する。一方、第2ぼけマップは、第1ぼけマップの閾値以上である不確実度が出力された画素にぼけ値を補間した密なぼけマップに相当する。
本実施形態においては、上記した構成により、第1ぼけマップ(疎なぼけマップ)では適切に把握することができない被写体の立体構造(3次元構造)を、第2ぼけマップ(密なぼけマップ)において適切に把握することが可能となる。
なお、本実施形態において、第2ぼけマップは、疎なぼけマップ及び当該疎なぼけマップに対応する密なぼけマップを学習することによって生成される第2統計モデルを用いて取得することができる。
この第2統計モデルの学習処理において用いられる疎なぼけマップは、当該第2統計モデルの学習処理において用いられる密なぼけマップの一部の領域をマスクすることによって生成可能であるため、比較的容易に用意することが可能である。
また、第2統計モデルの学習処理において用いられる密なぼけマップは被写体までの距離を測定可能な距離測定装置によって測定された距離から変換されたぼけ値に基づいて生成可能であるが、例えば第1統計モデルから出力されるぼけ値を利用する等、他の手法によって用意されても構わない。
なお、本実施形態における第1及び第2統計モデルが例えばニューラルネットワークで構成される場合には、各種深層学習技術を使用して推定精度の高い当該第1及び第2統計モデルを構築することができる。
また、第1及び第2統計モデルがランダムフォレストで構成される場合には、ニューラルネットワークに対してパラメータ数が増加するものの、出力結果(推定結果)の説明性を向上させることができる。
本実施形態における第1及び第2統計モデルは、例えばニューラルネットワークまたはランダムフォレストであるものとして説明したが、他のアルゴリズムが適用されたものであってもよい。
また、本実施形態においては、第2統計モデルを用いて第1ぼけマップに対してぼけ値を補間するものとして説明したが、例えば閾値未満である不確実度が出力(算出)された画素について出力(推定)されたぼけ値を当該閾値以上である不確実度が出力された近傍の画素に割り当てるような手法によって第1ぼけマップに対してぼけ値が補間されてもよい。すなわち、本実施形態は、第1統計モデルから出力された不確実度が閾値以上であるぼけ値が第1ぼけマップに対して補間される構成であればよい。
更に、本実施形態においては、撮像装置2によって撮像された1つの撮像画像から第2ぼけマップを取得(表示)する構成を想定しているが、例えば同一の被写体を複数の姿勢から撮像した時系列画像の各々から得られる信頼度の高い領域(不確実度が閾値未満であるぼけ値)を組み合わせることによって、より正確な立体構造(3次元構造)を把握することが可能な第2ぼけマップを得ることができる可能性がある。また、時系列画像に対する平滑化(時系列方向への平滑化)等を適用した場合には、例えば長距離の被写体を対象とした際に生じ得る陽炎等の大気の影響を排除することが可能である。
また、本実施形態においては、画素毎に取得されたぼけ値のうち不確実度が閾値以上であるぼけ値に基づいて第1マップを生成するものとして主に説明したが、例えば画像処理装置3における処理を高速化するために、複数の画素(つまり、所定の領域)毎にぼけ値を取得する(つまり、所定のぼけ値を間引いて処理する)ことによって第1ぼけマップを生成するようにしてもよい。本実施形態は、このような間引いた結果として得られる疎なぼけマップ(第1ぼけマップ)に対してぼけ値を補間する場合に適用されても構わない。
(第2実施形態)
次に、第2実施形態について説明する。なお、本実施形態においては、前述した第1実施形態と同様の部分についての説明を省略し、当該第1実施形態と異なる部分について主に説明する。
図23は、本実施形態に係る画像処理装置を含む画像処理システムの構成の一例を示す。図23においては、前述した図1と同一の部分には同一参照符号を付してその詳しい説明を省略し、当該図1とは異なる部分について説明する。
図23に示すように、本実施形態に係る画像処理装置3は、図1に示す各部31~36に加えて領域抽出部37を更に含む点で、前述した第1実施形態とは異なる。
なお、本実施形態に係る画像処理装置3は前述した図2に示すハードウェア構成を有し、領域抽出部37の一部または全ては、CPU301(つまり、画像処理装置3のコンピュータ)に画像処理プログラム303Aを実行させること、すなわち、ソフトウェアによって実現されるものとする。また、領域抽出部37の一部または全ては、IC等のハードウェアによって実現されてもよいし、ソフトウェア及びハードウェアの組み合わせによって実現されてもよい。
領域抽出部37は、前述した不確実性マップを参照し、マップ生成部33によって取得された不確実度が閾値未満である領域(以下、高信頼ぼけ領域と表記)及び当該不確実が閾値以上である領域(以下、補間ぼけ領域と表記)を抽出する。
領域抽出部37によって抽出された高信頼ぼけ領域及び補間ぼけ領域は、表示処理部36によって第2ぼけマップ上に表示される。
次に、図24のフローチャートを参照して、本実施形態に係る画像処理装置3の処理手順の一例について説明する。
まず、前述した図18に示すステップS1~S5の処理に相当するステップS31~S35の処理が実行される。
次に、領域抽出部37は、上記した高信頼ぼけ領域及び補間ぼけ領域を抽出する(ステップS36)。なお、ステップS32の処理が実行された場合、撮像画像を構成する画素毎の不確実度が第1統計モデルから出力されるが、高信頼ぼけ領域は、当該不確実度が閾値未満であるぼけ値が出力された画素を含む領域に相当する。一方、補間ぼけ領域は、不確実度が閾値以上であるぼけ値が出力された画素(つまり、外れ値または異常値としてぼけ値が破棄された画素)を含む領域に相当する。換言すれば、補間ぼけ領域は、ステップS35の処理が実行されることによってぼけ値が補間された領域である。
高信頼ぼけ領域及び補間ぼけ領域は、例えば不確実性マップを閾値で2値化することによって抽出可能である。なお、ステップS36においては、例えば不確実性マップ中のカーネル領域内の平均値や中央値を使用し、ノイズを除去しながら高信頼ぼけ領域を抽出するような手法(例えば、ガウシアンフィルタやメディアンフィルタ等の画像フィルタ)が適用されてもよい。
ステップS36の処理が実行されると、表示処理部36は、ステップS35の処理が実行されることによって取得された第2ぼけマップとともに、ステップS36において抽出された高信頼ぼけ領域及び補間ぼけ領域を表示する(ステップS37)。
図25は、ステップS37において表示された高信頼ぼけ領域及び補間ぼけ領域の一例を示している。
図25において、領域601は高信頼ぼけ領域を示し、領域602は補間ぼけ領域を示している。高信頼ぼけ領域601は、当該高信頼ぼけ領域に割り当てられた色(つまり、高信頼ぼけ領域を可視化する表示色)で表示される。一方、補間ぼけ領域602は、当該補間ぼけ領域に割り当てられた色(つまり、補間ぼけ領域を可視化する表示色)で表示される。なお、高信頼ぼけ領域を可視化する表示色は、補間ぼけ領域を可視化する表示色とは異なる色である。
なお、本実施形態においては、上記した高信頼ぼけ領域601及び補間ぼけ領域602は、それぞれ例えば透過性を有する色(透過色)で描画され、第2ぼけマップ(密なぼけマップ)と重畳させて表示されるものとする。
このような構成によれば、第2ぼけマップ上の高信頼ぼけ領域601及び補間ぼけ領域602(つまり、第1統計モデルから出力されたぼけ値が割り当てられた領域及び第2統計モデルによってぼけ値が補完された領域)を容易に把握することができる。
ここでは高信頼ぼけ領域601及び補間ぼけ領域602が透過色で表示されるものとして説明したが、当該高信頼ぼけ領域601及び補間ぼけ領域602は、透過性を有しない色(例えば、単色)で塗りつぶしたような態様で表示されてもよい。この場合は、高信頼ぼけ領域601及び補間ぼけ領域602は、第2ぼけマップと並べて表示するようにしてもよい。
すなわち、本実施形態においては、高信頼ぼけ領域601及び補間ぼけ領域602を第2ぼけマップと対比可能な態様で表示すればよい。
また、高信頼ぼけ領域601及び補間ぼけ領域602は、第2ぼけマップだけではなく、例えば撮像画像等と組み合わせて表示されてもよい。
更に、ここでは高信頼ぼけ領域601及び補間ぼけ領域602が異なる色で描画(表現)されるものとして説明したが、当該高信頼ぼけ領域601及び補間ぼけ領域602は、互いに区別可能な態様で表示されればよい。具体的には、高信頼ぼけ領域601及び補間ぼけ領域602は、例えば濃淡の異なる同一の色で表現されてもよいし、異なる間隔のドットを施すことによって表現されてもよい。更に、高信頼ぼけ領域601及び補間ぼけ領域602の境界部分に加工を施す(境界線を所定の色で描く)ことにより、当該各領域601及び602を区別可能に表現してもよい。
上記したように本実施形態においては、不確実度が閾値未満である高信頼ぼけ領域(第1領域)及び不確実度が閾値以上である補間ぼけ領域(第2領域)を抽出し、当該抽出された高信頼ぼけ領域及び補間ぼけ領域は第2ぼけマップ(密なぼけマップ)上で表示される。
本実施形態においては、このような構成により、ユーザは信頼度が高い領域とぼけ値が補間された領域とを視認することができ、被写体の立体構造(3次元構造)の把握が容易となる。
なお、前述したように被写体までの距離に関する物理的な手掛かりとなる非線形なぼけはピント位置(合焦距離)から当該被写体までの距離に応じて変化するが、第1統計モデルの学習処理においては、当該ぼけのサイズ(半径)に上限が設定される場合が多い。具体的には、例えば10ピクセル四方の矩形領域(一辺を10ピクセルとする矩形領域)をぼけとみなして第1統計モデルを学習させるような場合が考えられる。このような第1統計モデルの場合、ぼけの半径が5ピクセルを超えるような位置(つまり、ピント位置を基準とした一定の距離範囲から外れた位置)に存在する被写体については、ぼけ値を推定することができない。
この場合、図26に示すように、上記した高信頼ぼけ領域601及び補間ぼけ領域602に加えて、ぼけ値を推定することができない領域(解析範囲外領域)を更に表示するようにしてもよい。図26に示す例では、ピント位置を基準とした一定の距離範囲以上に近い位置に被写体が存在する近距離領域603a及びピント位置を基準とした一定の距離範囲以上に遠い位置に被写体が存在する遠距離領域603bが解析範囲外領域として表示されている。
なお、解析範囲外領域(近距離領域603a及び遠距離領域603b)は、高信頼ぼけ領域601及び補間ぼけ領域602と区別可能な態様(例えば、異なる色等)で表示されていればよい。
また、上記し解析範囲外領域においては不確実度が閾値未満である領域(つまり、高信頼度ぼけ領域)が存在しないため、当該解析範囲外領域にぼけ値を補間しようとすると、誤ったぼけ値が補間される可能性が高い。このため、解析範囲外領域が存在する場合、当該解析範囲外領域は上記した補間処理の対象からは除外されるものとする。この場合、補間ぼけ領域602にのみぼけ値が補間され、解析範囲外領域にはぼけ値が補間されていない第2ぼけマップがステップS35において取得されることになる。なお、解析範囲外領域は、ぼけ値を推定することができない領域であるため、例えば第1統計モデルによって判別可能である。
上記したように高信頼ぼけ領域及び補間ぼけ領域に加えて解析範囲外領域を表示する構成によれば、ユーザは、解析範囲外領域が存在することを把握し、立体構造を把握しやすい(つまり、解析範囲外領域が縮小されるような)撮像画像が撮像されるように、例えばピント位置、絞り(開口部の大きさ)または被写体の位置(撮像装置2からの距離)等を調整することが可能となる。
(第3実施形態)
次に、第3実施形態について説明する。なお、本実施形態においては、前述した第1及び第2実施形態と同様の部分についての説明を省略し、当該第1及び第2実施形態と異なる部分について主に説明する。
図27は、本実施形態に係る画像処理装置を含む画像処理システムの構成の一例を示す。図27においては、前述した図1及び図23と同一の部分には同一参照符号を付してその詳しい説明を省略し、当該図1及び図23とは異なる部分について説明する。
図27に示すように、本実施形態に係る画像処理装置3は、図23に示す各部31~37に加えて閾値変更部38を更に含む点で、前述した第2実施形態とは異なる。
なお、本実施形態に係る画像処理装置3は前述した図2に示すハードウェア構成を有し、閾値変更部38の一部または全ては、CPU301(つまり、画像処理装置3のコンピュータ)に画像処理プログラム303Aを実行させること、すなわち、ソフトウェアによって実現されるものとする。また、閾値変更部38の一部または全ては、IC等のハードウェアによって実現されてもよいし、ソフトウェア及びハードウェアの組み合わせによって実現されてもよい。
閾値変更部38は、前述した第2実施形態において説明したように第2ぼけマップ、高信頼ぼけ領域及び補間ぼけ領域を参照したユーザの操作に応じて、不確実度に対する閾値(以下、不確実性閾値と表記)を変更する。
閾値変更部38によって不確実性閾値が変更された場合、マップ生成部33及び領域抽出部37は、当該不確実性閾値に従って再度処理を実行する。
次に、図28のフローチャートを参照して、本実施形態に係る画像処理装置3の処理手順の一例について説明する。
まず、前述した図24に示すステップS31~S37の処理に相当するステップS41~S47の処理が実行される。
ここで、前述した第2実施形態においては単に第2ぼけマップ上に高信頼ぼけ領域及び補間ぼけ領域を表示するものとして説明したが、本実施形態においては、当該第2ぼけマップ、高信頼度ぼけ領域及び補間ぼけ領域が表示された画面上で、ユーザは例えば入力デバイス305を用いて不確実性閾値を変更する操作を行うことができるものとする。
図29は、第2ぼけマップ、高信頼ぼけ領域及び補間ぼけ領域が表示された画面(以下、単に表示画面と表記)の一例を示す。図29に示す表示画面700においては、前述した第2実施形態と同様に、第2ぼけマップ上に高信頼ぼけ領域601及び補間ぼけ領域602が表示されている。
本実施形態における表示画面700(高信頼ぼけ領域601及び補間ぼけ領域602が表示されている領域の近傍)には、更にスライドバー701が設けられている。また、スライドバー701上には、当該スライドバー701に沿うようにスライド(移動)させることが可能なスライダー702が配置されている。ユーザは、スライドバー701上でスライダー702をスライドさせることにより、表示画面700上で不確実性閾値を変更する操作(以下、閾値変更操作と表記)を行うことができる。
なお、図29に示す例では、スライドバー701の右端は不確実性閾値の上限値に対応し、当該スライドバー701の左端は不確実性閾値の下限値に対応している。表示画面700が表示された時点では、スライダー702は、現在の不確実性閾値(つまり、ステップS44及びS46の処理において用いられた閾値)に対応する位置に配置されている。ユーザは、スライダー702を右方向にスライドさせた場合には閾値を上げることを指示することができ、当該スライダー702を左方向にスライドさせた場合には閾値を下げることを指示することができる。
再び図28に戻ると、閾値変更部38は、上記した表示画面700(スライダー702)に対してユーザによる閾値変更操作が行われたか否かを判定する(ステップS48)。
閾値変更操作が行われたと判定された場合(ステップS48のYES)、閾値変更部38は、当該閾値変更操作に応じて不確実性閾値を変更する(ステップS49)。上記したように閾値変更操作としてスライダー702をスライドさせる操作が行われた場合、閾値変更部38は、当該スライドされたスライダー702の位置に応じた値に不確実性閾値を変更する。
ステップS49の処理が実行されると、ステップS44に戻って処理が繰り返される。具体的には、ステップS44においては、不確実性マップをステップS49において変更された不確実性閾値で2値化してマスクを生成し、当該マスクを初期ぼけマップに適用することによって、第1ぼけマップが再度生成される。この場合、ステップS44において再度生成された第1ぼけマップを用いてステップS45の処理が実行される。また、ステップS46においては、ステップS49において変更された不確実性閾値に基づいて高信頼ぼけ領域及び補間ぼけ領域が抽出される。このようにステップS44~S46の処理が再度実行された後に、ステップS47の処理が更に実行される。
なお、図29に示す表示画面700においてスライダー702を左にスライドさせる閾値変更操作が行われ、上記したステップS44~S47の処理が再度実行された場合、当該表示画面700は、図30に示す表示画面710に遷移する。
スライダー702を左にスライドさせる閾値変更操作が行われた場合、不確実性閾値は下がるように変更されるため、表示画面710においては、図29に示す表示画面700に表示される高信頼ぼけ領域601及び補間ぼけ領域602と比較して、高信頼ぼけ領域601の範囲(つまり、不確実度が閾値未満となる領域の面積)が小さくなり、補間ぼけ領域602の範囲(つまり、不確実度が閾値以上となる領域の面積)が大きくなっている。
なお、閾値変更操作が行われていないと判定された場合(ステップS48のNO)、図28に示す処理は終了される。
上記したように本実施形態においては、ユーザによる操作(閾値変更操作)に応じて不確実性閾値(不確実度に対する閾値)が変更された場合、不確実度が当該変更された不確実性閾値未満であるぼけ値に基づいて第1ぼけマップが再度生成され、当該不確実度が当該変更された不確実性閾値未満である高信頼ぼけ領域及び当該不確実度が当該変更された不確実性閾値以上である補間ぼけ領域が再度抽出される。
画像処理システム1(画像処理装置3)を使用するユーザは直感的に不確実性閾値が有する意味を理解することは困難であるが、本実施形態に係る構成により不確実性閾値の変化(つまり、高信頼ぼけ領域及び補間ぼけ領域の変化)を可視化することで、ユーザは、所望の第2ぼけマップを得ることができるように当該不確実性閾値を調整することができる。
具体的には、例えばテーブルや壁面のようなテクスチャレスな被写体に対応する領域が高信頼ぼけ領域に含まれている場合には、ユーザは、不確実性閾値が高すぎると判断し、当該不確実性閾値を下げる閾値変更操作を行うことができる。一方、補間ぼけ領域の範囲が大きすぎる場合には、ユーザは、不確実性閾値を上げる閾値変更操作を行い、補完ぼけ領域の範囲を縮小することができる。これによれば、高信頼ぼけ領域及び補間ぼけ領域が適切な範囲となるようにユーザが調整することが可能であるため、より適切な第2ぼけマップを取得することが期待できる。
なお、本実施形態においては、図29等において説明したようにスライダー702を用いた閾値変更操作が行われるものとして説明したが、当該閾値変更操作を行うためのユーザインタフェース(UI)は、本実施形態において説明したものに限られない。具体的には、例えばドロップダウンリストにおいて変更後の不確実性閾値を選択するような閾値変更操作が行われてもよいし、数値入力ボックスに変更後の不確実性閾値(数値)を直接入力するような閾値変更操作が行われても構わない。
(第4実施形態)
次に、第4実施形態について説明する。なお、本実施形態においては、前述した第1実施形態と同様の部分についての説明を省略し、当該第1実施形態と異なる部分について主に説明する。
図31は、本実施形態に係る画像処理装置を含む画像処理システムの構成の一例を示す。図31においては、前述した図1と同一の部分には同一参照符号を付してその詳しい説明を省略し、当該図1とは異なる部分について説明する。
図31に示すように、本実施形態に係る画像処理装置3は、図1に示す各部31~36に加えてぼけ-距離変換部39を含む点で、前述した第1実施形態とは異なる。
なお、本実施形態に係る画像処理装置3は前述した図2に示すハードウェア構成を有し、ぼけ-距離変換部39の一部または全ては、CPU301(つまり、画像処理装置3のコンピュータ)に画像処理プログラム303Aを実行させること、すなわち、ソフトウェアによって実現されるものとする。また、ぼけ-距離変換部39の一部または全ては、IC等のハードウェアによって実現されてもよいし、ソフトウェア及びハードウェアの組み合わせによって実現されてもよい。
ぼけ-距離変換部39は、第2ぼけマップ(密なぼけマップ)を構成する画素の各々に割り当てられているぼけ値を距離(当該ぼけ値によって示されるぼけが生じている画像中の被写体までの距離)に変換する。
ぼけ-距離変換部39によってぼけ値から変換された距離は、例えば距離マップ(密な距離マップ)として表示処理部36によって表示される。
次に、図32のフローチャートを参照して、本実施形態に係る画像処理装置3の処理手順の一例について説明する。
まず、前述した図18に示すステップS1~S5の処理に相当するステップS51~S55の処理が実行される。
ここで、ステップS55の処理が実行されることによって取得される第2ぼけマップは、前述したように被写体の立体構造を把握するための有用な情報であるが、当該被写体までの距離を把握することはできない。
そこで、ぼけ-距離変換部39は、ステップS55の処理が実行されることによって取得された第2ぼけマップを構成する各画素に割り当てられているぼけ値を被写体(撮像画像に含まれる被写体)までの距離に変換する(ステップS56)。
なお、ぼけ値bと距離zとの対応関係は、以下の式(1)によって示される。
Figure 0007447042000001
式(1)におけるfは、撮像装置2(つまり、撮像画像を撮像した光学系)の焦点距離を表している。vは、撮像画像が撮像された際のレンズ21とイメージセンサ22との距離を表している。pは、撮像画像における画素ピッチを表している。Fは、絞り値(F値)を表している。
上記した式(1)によれば、上記した焦点距離f、レンズ21とイメージセンサ22との距離v、及び絞り値F(つまり、カメラパラメータ)と、画素ピッチpとが事前に把握されていれば、第2ぼけマップを構成する各画素に割り当てられているぼけ値bを距離zに変換する(つまり、ぼけ値bから距離zを算出する)ことができる。
上記したステップS56の処理が実行された場合、ぼけ-距離変換部39は、画素毎の距離を取得することができる。
なお、上記したように距離は幾何情報(カメラパラメータ)を用いて算出可能であるが、例えば撮像装置2の光学系が複数のレンズで構成されるような場合であっても、光学系全体としての幾何情報を用いることにより、距離を算出することができる。
また、例えば市販のレンズを使用した撮像装置2においては、詳細な幾何情報を得る(幾何構造を計測する)ことが困難な場合がある。このような場合には、式(1)には示されていないぼけスケール補正係数を調整することで、ぼけと距離との対応関係を正しく反映(調整)することができる。このぼけスケール補正係数は、距離が既知な被写体または距離測定装置(レーザー測距装置等)によって距離が測定された被写体を含む画像(撮像装置2によって撮像された画像)に生じるぼけを示すぼけ値と当該距離との組み合わせ(対応関係)を複数利用することによって算出することができる。ぼけスケール補正係数は、誤差最小化等の最適化手法を用いて算出されてもよい。なお、上記したレンズ21とイメージセンサ22との距離v(つまり、ピント位置)は基本的に固定されているが、上記したぼけスケール補正係数と同様に当該距離vを調整してもよい。
更に、幾何情報、ぼけ値及び距離の対応関係をニューラルネットワーク等に学習させることで、ぼけ値を距離に変換可能な統計モデルを構築しておいても構わない。
表示処理部36は、ステップS56においてぼけ値から変換された距離を表示する(ステップS57)。ステップS56においては画素毎にぼけ値が距離に変換されるため、ステップS57においては、例えば第2ぼけマップ(密なぼけマップ)を構成する画素の各々に対してぼけ値から変換された距離を割り当てることによって生成される距離マップ(密な距離マップ)表示することができる。距離マップにおいては、例えば距離に応じた色が各画素において表現されるため、ユーザは直感的に被写体までの距離を把握することができる。
なお、ステップS57においては、距離マップの形式ではなく、特定の被写体に対応する画素(つまり、当該被写体を包含する領域を構成する画素)に割り当てられているぼけ値から変換された距離が当該被写体までの距離として表示されてもよい。また、ステップS56においてぼけ値から変換された距離は、例えば画像処理装置3(画像処理システム1)の外部に出力(送信)され、他の処理に利用されても構わない。
上記したように本実施形態においては、第2ぼけマップを構成する各画素に割り当てられているぼけ値を距離に変換する構成により、ユーザは、被写体の立体構造だけでなく、当該被写体までの距離を把握することが可能となる。
なお、本実施形態においては前述した第1実施形態で説明した画像処理装置3にぼけ-距離変換部39が更に追加されるものとして説明したが、本実施形態は、前述した第2及び第3実施形態と組み合わせて実現されてもよい。すなわち、前述した第2及び第3実施形態で説明した画像処理装置3にぼけ-距離変換部39が追加される構成とすることも可能である。
(応用例)
以下、例えば前述した第4実施形態のように被写体までの距離を取得(測定)することができる画像処理システム1が適用される応用例について説明する。
ここでは、便宜的に、画像処理システム1が図31に示す撮像装置2に相当する撮像部、画像処理装置3に相当する画像処理部を備える1つの装置(以下、測距装置と表記)として実現されている場合について説明する。以下の図面においては、測距装置1が撮像部2及び画像処理部3を備えるものとして説明する。
なお、画像処理システム1が適用される環境によっては、前述した第1~第3実施形態において説明した画像処理システム(測距装置)1が適用されても構わない。
図33は、測距装置1が組み込まれている移動体800の機能構成の一例を示す。移動体800は、例えば自動運転機能を有する自動車、無人航空機、自立型の移動ロボット等として実現され得る。無人航空機は、人が乗ることができない飛行機、回転翼航空機、滑空機、飛行船であって、遠隔操作または自動操縦により飛行させることができるものであり、例えばドローン(マルチコプター)、ラジコン機、農薬散布用ヘリコプター等を含む。自立型の移動ロボットは、無人搬送車(AGV:Automated Guided Vehicle)のような移動ロボット、床を掃除するための掃除ロボット、来場者に各種案内を行うコミュニケーションロボット等を含む。移動体800には、ロボット本体が移動するものだけでなく、ロボットアームのような、ロボットの一部分を移動または回転させるような駆動機構を有する産業用ロボット等も含まれる。
図33に示すように、移動体800は、例えば測距装置1と制御信号生成部801と駆動機構802とを有する。測距装置1は、例えば撮像部2が移動体800またはその一部分の進行方向の被写体を撮像することができるように設置される。
図34に示すように、移動体800が自動車800Aである場合、測距装置1は、前方を撮像するいわゆるフロントカメラとして設置される。なお、測距装置1は、バック時に後方を撮像するいわゆるリアカメラとして設置されてもよい。また、フロントカメラ及びリアカメラとして複数の測距装置1が設置されてもよい。更に、測距装置1は、いわゆるドライブレコーダーとしての機能を兼ねて設置されるものであってもよい。すなわち、測距装置1は録画機器であってもよい。
図35は、移動体800がドローン800Bである場合の例を示す。ドローン800Bは、駆動機構802に相当するドローン本体811と4つのプロペラ部812~815とを備える。各プロペラ部812~815は、プロペラとモータとを有する。モータの駆動がプロペラに伝達されることによって、当該プロペラが回転し、その回転による揚力によってドローン800Bが浮上する。ドローン本体811の例えば下部には、測距装置1が搭載されている。
また、図36は、移動体800が自立型の移動ロボット800Cである場合の例を示す。移動ロボット800Cの下部には、駆動機構802に相当する、モータや車輪等を含む動力部821が設けられている。動力部821は、モータの回転数や車輪の向きを制御する。移動ロボット800Cは、モータの駆動が伝達されることによって、路面または床面に設置する車輪が回転し、当該車輪の向きが制御されることにより任意の方向に移動することができる。図36に示す例では、測距装置1は、例えば撮像部2が人型の移動ロボット800Cの前方を撮像するように、当該移動ロボット800Cの頭部に設置されている。なお、測距装置1は、移動ロボット800Cの後方や左右を撮像するように設置されてもよいし、複数の方位を撮像するように複数設置されてもよい。また、センサ等を搭載するためのスペースが少ない小型ロボットに測距装置1を設けて、自己位置、姿勢及び被写体の位置を推定することにより、デッドレコニングを行うこともできる。
なお、図37に示すように移動体800がロボットアーム800Dであり、当該ロボットアーム800Dの一部分の移動及び回転を制御する場合には、測距装置1は、当該ロボットアーム800Dの先端等に設置されてもよい。この場合、測距装置1に備えられる撮像部2によってロボットアーム800Dで把持される物体が撮像され、画像処理部3は、ロボットアーム800Dが把持しようとする物体までの距離を推定することができる。これにより、ロボットアーム800Dにおいて、物体の正確な把持動作を行うことができる。
制御信号生成部801は、測距装置1(画像処理部3)から出力される被写体までの距離を示す距離情報に基づいて駆動機構802を制御するための制御信号を出力する。駆動機構802は、制御信号生成部801から出力される制御信号により、移動体800または当該移動体800の一部分を駆動する。駆動機構802は、例えば移動体800または当該移動体800の一部分の移動、回転、加速、減速、推力(揚力)の加減、進行方向の転換、通常運転モードと自動運転モード(衝突回避モード)との切り替え及びエアバッグ等の安全装置の作動のうちの少なくとも1つを行う。駆動機構802は、例えば被写体までの距離が閾値未満である場合に、移動、回転、加速、推力(揚力)の加減、物体に近寄る方向への方向転換及び自動運転モード(衝突回避モード)から通常運転モードへの切り替えのうちの少なくとも1つを行ってもよい。
なお、図34に示す自動車800Aの駆動機構802は、例えばタイヤである。図35に示すドローン800Bの駆動機構802は、例えばプロペラである。図36に示す移動ロボット800Cの駆動機構802は、例えば脚部である。図37に示すロボットアーム800Dの駆動機構802は、例えば測距装置1が設けられた先端を支持する支持部である。
移動体800は、測距装置1から出力された被写体までの距離に関する情報(距離情報)が入力されるスピーカやディスプレイを更に備えていてもよい。このスピーカやディスプレイは、測距装置1と有線または無線で接続されており、被写体までの距離に関する音声または画像を出力するように構成されている。更に、移動体800は、測距装置1から出力された被写体までの距離に関する情報が入力され、例えば被写体までの距離に応じて点灯及び消灯することができる発光部を有していてもよい。
また、例えば移動体800がドローン800Bである場合においては、上空から、地図(物体の3次元形状)の作成、ビルや地形の構造調査、ひび割れや電線破断等の点検等が行われる際に、撮像部2が対象を撮像した画像を取得し、被写体までの距離が閾値以上であるか否かを判定する。制御信号生成部801は、この判定結果に基づいて、点検対象との距離が一定になるようにドローン800Bの推力を制御するための制御信号を生成する。ここで、推力には揚力も含まれるものとする。駆動機構802がこの制御信号に基づいてドローン800Bを動作させることにより、当該ドローン800Bを点検対象に対して平行して飛行させることができる。移動体800が監視用のドローンである場合、監視対象の物体との距離を一定に保つようにドローンの推力を制御するための制御信号を生成してもよい。
なお、移動体800(例えば、ドローン800B)が各種インフラストラクチャー(以下、単にインフラと表記)の保守点検等に用いられる場合には、当該インフラにおけるひび割れ箇所または錆が発生している箇所等を含む補修が必要な箇所(以下、補修箇所と表記)の画像を撮像部2で撮像することによって、当該補修箇所までの距離を得ることができる。この場合、補修箇所までの距離を利用することによって画像から当該補修箇所のサイズを算出することが可能である。これによれば、例えばインフラ全体を表すマップ上に補修箇所を表示することによって、当該インフラの保守点検者に補修箇所を認識させることができる。また、補修箇所のサイズを事前に保守点検者に伝えておくことは、円滑な補修作業を実施するためにも有用である。
また、ドローン800Bの飛行時に、撮像部2が地面方向を撮像した画像を取得し、地面との距離が閾値以上であるか否かを判定する。制御信号生成部801は、この判定結果に基づいて地面からの高さが指定された高さになるようにドローン800Bの推力を制御するための制御信号を生成する。駆動機構802がこの制御信号に基づいてドローン800Bを動作させることにより、当該ドローン800Bを指定された高さで飛行させることができる。ドローン800Bが農薬散布用ドローンであれば、このようにドローン800Bの地面からの高さを一定に保つことで、農薬を均等に散布しやすくなる。
また、移動体800が自動車800Aまたはドローン800Bである場合、自動車800Aの連隊走行やドローン800Bの連携飛行時に、撮像部2が前方の自動車や周囲のドローンを撮像し、当該自動車やドローンまでの距離が閾値以上であるか否かを判定する。制御信号生成部801は、この判定結果に基づいて、前方の自動車や周囲のドローンとの距離が一定になるように、自動車800Aの速度やドローン800Bの推力を制御するための制御信号を生成する。駆動機構802がこの制御信号に基づいて自動車800Aやドローン800Bを動作させることにより、自動車800Aの連隊走行やドローン800Bの連携飛行を容易に行うことができる。
更に、移動体800が自動車800Aである場合、自動車800Aのドライバーが閾値を設定(変更)することができるように、ユーザインタフェースを介してドライバーの指示を受理可能な構成としてもよい。これにより、ドライバーが好む車間距離で自動車800Aを走行させるようなことができる。また、前方の自動車との安全な車間距離を保つために、自動車800Aの速度に応じて閾値を変化させてもよい。安全な車間距離は、自動車800Aの速度によって異なる。そこで、自動車800Aの速度が速いほど閾値を大きく(長く)設定することができる。
また、移動体800が自動車800Aである場合には、進行方向の所定の距離を閾値に設定しておき、当該閾値の手前に物体が表れた際にブレーキを作動させるまたはエアバッグ等の安全装置を作動させる制御信号を生成するようにしてもよい。この場合、自動ブレーキやエアバッグ等の安全装置が駆動機構802に設けられる。
以上述べた少なくとも1つの実施形態によれば、被写体の立体構造を把握することが可能な画像処理装置、方法及びプログラムを提供することができる。
また、各実施形態に記載された様々な機能の各々は、回路(処理回路)によって実現されてもよい。処理回路の例には、中央処理装置(CPU)のような、プログラムされたプロセッサが含まれる。このプロセッサは、メモリに格納されたコンピュータプログラム(命令群)を実行することによって、記載された機能それぞれを実行する。このプロセッサは、電気回路を含むマイクロプロセッサであってもよい。処理回路の例には、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、マイクロコントローラ、コントローラ、他の電気回路部品も含まれる。本実施形態に記載されたCPU以外の他のコンポーネントの各々もまた処理回路によって実現されてもよい。
また、各実施形態の各種処理はコンピュータプログラムによって実現することができるため、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムをコンピュータにインストールして実行するだけで、各実施形態と同様の効果を容易に実現することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1…画像処理システム、2…撮像装置(撮像部)、3…画像処理装置(画像処理部)、21…レンズ、22…イメージセンサ、31…第1格納部、32…画像取得部、33…マップ生成部、34…補間処理部、35…第2格納部、36…表示処理部、37…領域抽出部、38…閾値変更部、39…ぼけ-距離変換部、221…第1センサ、222…第2センサ、223…第3センサ、301…CPU、302…不揮発性メモリ、303…RAM、303A…画像処理プログラム、304…通信デバイス、305…入力デバイス、306…表示デバイス、307…バス。

Claims (8)

  1. 第1光学系の収差の影響を受けた第1画像に生じる、当該第1画像中の被写体までの距離に応じて非線形に変化するぼけを学習することによって生成された第1統計モデルを格納する第1格納手段と、
    予め用意されている疎なぼけマップ及び当該疎なぼけマップに対応する密なぼけマップを学習することによって生成される第2統計モデルを格納する第2格納手段と、
    第2光学系の収差の影響を受けた第2画像を取得する第1取得手段と、
    前記取得された第2画像を前記第1統計モデルに入力することによって当該第1統計モデルから出力される当該第2画像に生じるぼけを示すぼけ値及び当該ぼけ値に対する不確実性の度合いを示す不確実度を取得する第2取得手段と、
    前記取得されたぼけ値及び不確実度に基づいて第1ぼけマップを生成する生成手段と、
    前記第1ぼけマップに対してぼけ値を補間した第2ぼけマップを取得する補間手段と
    を具備し、
    前記第1統計モデルは、当該第1統計モデルに入力される第2画像を構成する少なくとも1つの画素を含む所定の領域毎にぼけ値及び不確実度を出力するように生成されており、
    前記第1ぼけマップは、前記不確実度が閾値未満であるぼけ値を当該ぼけ値が出力された画素に割り当てた疎なぼけマップに相当し、
    前記第2ぼけマップは、前記第1ぼけマップの前記閾値以上である不確実度が出力された画素にぼけ値を補間した密なぼけマップに相当し、
    前記補間手段は、前記第1ぼけマップを前記第2統計モデルに入力することによって当該第2統計モデルから出力される第2ぼけマップを取得し、
    前記第2統計モデルによって学習される疎なぼけマップは、当該第2統計モデルによって学習される密なぼけマップの一部の領域をマスクすることによって生成され、
    前記第2統計モデルによって学習される密なぼけマップは、被写体までの距離を測定可能な距離測定装置によって測定された距離から変換されたぼけ値に基づいて生成される
    画像処理装置。
  2. 前記第2ぼけマップにおいて各画素に割り当てられているぼけ値を前記第2画像に含まれる被写体までの距離に変換する変換手段を更に具備する請求項記載の画像処理装置。
  3. 前記第2ぼけマップを表示する表示処理手段を更に具備する請求項1記載の画像処理装置。
  4. 第1光学系の収差の影響を受けた第1画像に生じる、当該第1画像中の被写体までの距離に応じて非線形に変化するぼけを学習することによって生成された第1統計モデルを格納する第1格納手段と、
    第2光学系の収差の影響を受けた第2画像を取得する第1取得手段と、
    前記取得された第2画像を前記第1統計モデルに入力することによって当該第1統計モデルから出力される当該第2画像に生じるぼけを示すぼけ値及び当該ぼけ値に対する不確実性の度合いを示す不確実度を取得する第2取得手段と、
    前記取得されたぼけ値及び不確実度に基づいて第1ぼけマップを生成する生成手段と、
    前記第1ぼけマップに対してぼけ値を補間した第2ぼけマップを取得する補間手段と、
    前記第2ぼけマップを表示する表示処理手段と
    を具備し、
    前記取得された不確実度が閾値未満である第1領域及び前記不確実度が前記閾値以上である第2領域を抽出する抽出手段を更に具備し、
    前記表示処理手段は、前記第2ぼけマップ上で前記第1及び第2領域を表示する
    像処理装置。
  5. ユーザによる操作に応じて前記閾値を変更する変更手段を更に具備し、
    前記生成手段は、前記不確実度が前記変更された閾値未満であるぼけ値に基づいて第1ぼけマップを再度生成し、
    前記抽出手段は、前記取得された不確実度が前記変更された閾値未満である第1領域及び前記不確実度が当該閾値以上である第2領域を再度抽出する
    請求項記載の画像処理装置。
  6. 前記第1統計モデルは、ニューラルネットワークまたはランダムフォレストである請求項1~のいずれか一項に記載の画像処理装置。
  7. 第1光学系の収差の影響を受けた第1画像に生じる、当該第1画像中の被写体までの距離に応じて非線形に変化するぼけを学習することによって生成された第1統計モデルを格納する第1格納手段と、予め用意されている疎なぼけマップ及び当該疎なぼけマップに対応する密なぼけマップを学習することによって生成される第2統計モデルを格納する第2格納手段とを有する画像処理装置が実行する方法であって、
    第2光学系の収差の影響を受けた第2画像を取得するステップと、
    前記取得された第2画像を前記第1統計モデルに入力することによって当該第1統計モデルから出力される当該第2画像に生じるぼけを示すぼけ値及び当該ぼけ値に対する不確実性の度合いを示す不確実度を取得するステップと、
    前記取得されたぼけ値及び不確実度に基づいて第1ぼけマップを生成するステップと、
    前記第1ぼけマップに対してぼけ値を補間した第2ぼけマップを取得するステップと
    を具備し、
    前記第1統計モデルは、当該第1統計モデルに入力される第2画像を構成する少なくとも1つの画素を含む所定の領域毎にぼけ値及び不確実度を出力するように生成されており、
    前記第1ぼけマップは、前記不確実度が閾値未満であるぼけ値を当該ぼけ値が出力された画素に割り当てた疎なぼけマップに相当し、
    前記第2ぼけマップは、前記第1ぼけマップの前記閾値以上である不確実度が出力された画素にぼけ値を補間した密なぼけマップに相当し、
    前記第2ぼけマップを取得するステップは、前記第1ぼけマップを前記第2統計モデルに入力することによって当該第2統計モデルから出力される第2ぼけマップを取得するステップを含み、
    前記第2統計モデルによって学習される疎なぼけマップは、当該第2統計モデルによって学習される密なぼけマップの一部の領域をマスクすることによって生成され、
    前記第2統計モデルによって学習される密なぼけマップは、被写体までの距離を測定可能な距離測定装置によって測定された距離から変換されたぼけ値に基づいて生成される
    方法。
  8. 第1光学系の収差の影響を受けた第1画像に生じる、当該第1画像中の被写体までの距離に応じて非線形に変化するぼけを学習することによって生成された第1統計モデルを格納する第1格納手段と、予め用意されている疎なぼけマップ及び当該疎なぼけマップに対応する密なぼけマップを学習することによって生成される第2統計モデルを格納する第2格納手段とを有する画像処理装置のコンピュータによって実行されるプログラムであって、
    前記コンピュータに、
    第2光学系の収差の影響を受けた第2画像を取得するステップと、
    前記取得された第2画像を前記第1統計モデルに入力することによって当該第1統計モデルから出力される当該第2画像に生じるぼけを示すぼけ値及び当該ぼけ値に対する不確実性の度合いを示す不確実度を取得するステップと、
    前記取得されたぼけ値及び不確実度に基づいて第1ぼけマップを生成するステップと、
    前記第1ぼけマップに対してぼけ値を補間した第2ぼけマップを取得するステップと
    を実行させ
    前記第1統計モデルは、当該第1統計モデルに入力される第2画像を構成する少なくとも1つの画素を含む所定の領域毎にぼけ値及び不確実度を出力するように生成されており、
    前記第1ぼけマップは、前記不確実度が閾値未満であるぼけ値を当該ぼけ値が出力された画素に割り当てた疎なぼけマップに相当し、
    前記第2ぼけマップは、前記第1ぼけマップの前記閾値以上である不確実度が出力された画素にぼけ値を補間した密なぼけマップに相当し、
    前記第2ぼけマップを取得するステップは、前記第1ぼけマップを前記第2統計モデルに入力することによって当該第2統計モデルから出力される第2ぼけマップを取得するステップを含み、
    前記第2統計モデルによって学習される疎なぼけマップは、当該第2統計モデルによって学習される密なぼけマップの一部の領域をマスクすることによって生成され、
    前記第2統計モデルによって学習される密なぼけマップは、被写体までの距離を測定可能な距離測定装置によって測定された距離から変換されたぼけ値に基づいて生成される
    プログラム。
JP2021043145A 2021-03-17 2021-03-17 画像処理装置、方法及びプログラム Active JP7447042B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021043145A JP7447042B2 (ja) 2021-03-17 2021-03-17 画像処理装置、方法及びプログラム
US17/447,273 US11868430B2 (en) 2021-03-17 2021-09-09 Image processing device, method, and storage medium
CN202111190986.XA CN115115529A (zh) 2021-03-17 2021-10-13 图像处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021043145A JP7447042B2 (ja) 2021-03-17 2021-03-17 画像処理装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2022142891A JP2022142891A (ja) 2022-10-03
JP7447042B2 true JP7447042B2 (ja) 2024-03-11

Family

ID=83283643

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021043145A Active JP7447042B2 (ja) 2021-03-17 2021-03-17 画像処理装置、方法及びプログラム

Country Status (3)

Country Link
US (1) US11868430B2 (ja)
JP (1) JP7447042B2 (ja)
CN (1) CN115115529A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020148483A (ja) 2019-03-11 2020-09-17 株式会社東芝 画像処理装置、測距装置、方法及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6320075B2 (ja) * 2014-02-19 2018-05-09 キヤノン株式会社 画像処理装置およびその制御方法
JP6573354B2 (ja) * 2014-11-28 2019-09-11 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
GB2553782B (en) 2016-09-12 2021-10-20 Niantic Inc Predicting depth from image data using a statistical model
JP6846310B2 (ja) 2017-08-18 2021-03-24 日本電信電話株式会社 距離測定装置、データ変換装置、距離測定方法、及びプログラム
JP2019215489A (ja) * 2018-06-14 2019-12-19 オリンパス株式会社 撮像装置および焦点調節方法
JP6971934B2 (ja) 2018-08-10 2021-11-24 株式会社東芝 画像処理装置
JP7074090B2 (ja) 2019-01-30 2022-05-24 日本電信電話株式会社 深度超解像装置、深度超解像方法、及びプログラム
US10776673B2 (en) 2019-01-31 2020-09-15 StradVision, Inc. Learning method and learning device for sensor fusion to integrate information acquired by radar capable of distance estimation and information acquired by camera to thereby improve neural network for supporting autonomous driving, and testing method and testing device using the same
US10977525B2 (en) 2019-03-29 2021-04-13 Fuji Xerox Co., Ltd. Indoor localization using real-time context fusion of visual information from static and dynamic cameras

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020148483A (ja) 2019-03-11 2020-09-17 株式会社東芝 画像処理装置、測距装置、方法及びプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Fangchang Ma; Sertac Karaman,Sparse-to-Dense: Depth Prediction from Sparse Depth Samples and a Single Image,2018 IEEE International Conference on Robotics and Automation (ICRA),2018年05月21日,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8460184
今井 拓司,東芝が単眼カメラの収差からステレオ並み距離画像レンズの色収差などから深層学習で形状推定,NIKKEI Robotics,日本,2020年02月10日,第56号

Also Published As

Publication number Publication date
US11868430B2 (en) 2024-01-09
CN115115529A (zh) 2022-09-27
JP2022142891A (ja) 2022-10-03
US20220300757A1 (en) 2022-09-22

Similar Documents

Publication Publication Date Title
JP7051740B2 (ja) 画像処理装置、測距装置、方法及びプログラム
US11748898B2 (en) Methods and system for infrared tracking
US20210250490A1 (en) Systems and methods for multi-target tracking and autofocusing based on deep machine learning and laser radar
JP6878219B2 (ja) 画像処理装置および測距装置
JP7123884B2 (ja) 撮像装置、方法及びプログラム
US11100662B2 (en) Image processing apparatus, ranging apparatus and processing apparatus
JP7170609B2 (ja) 画像処理装置、測距装置、方法及びプログラム
WO2020150904A1 (en) Neural network based obstacle detection for mobile platforms, and associated systems and methods
JP6971933B2 (ja) 画像処理装置及び撮像装置
JP7467368B2 (ja) 画像処理装置、測距装置、方法及びプログラム
CN109885091B (zh) 一种无人机自主飞行控制方法及系统
JP7447042B2 (ja) 画像処理装置、方法及びプログラム
US20230141542A1 (en) Image processing device, method, and storage medium
US20230126635A1 (en) Ranging device, image processing device and method

Legal Events

Date Code Title Description
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: 20231010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231207

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: 20240130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240228

R151 Written notification of patent or utility model registration

Ref document number: 7447042

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151