JP7262689B1 - 情報処理装置、生成方法、及び生成プログラム - Google Patents

情報処理装置、生成方法、及び生成プログラム Download PDF

Info

Publication number
JP7262689B1
JP7262689B1 JP2022576495A JP2022576495A JP7262689B1 JP 7262689 B1 JP7262689 B1 JP 7262689B1 JP 2022576495 A JP2022576495 A JP 2022576495A JP 2022576495 A JP2022576495 A JP 2022576495A JP 7262689 B1 JP7262689 B1 JP 7262689B1
Authority
JP
Japan
Prior art keywords
image
background image
angle
foreground image
foreground
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
JP2022576495A
Other languages
English (en)
Other versions
JPWO2024009427A1 (ja
JPWO2024009427A5 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP7262689B1 publication Critical patent/JP7262689B1/ja
Publication of JPWO2024009427A1 publication Critical patent/JPWO2024009427A1/ja
Publication of JPWO2024009427A5 publication Critical patent/JPWO2024009427A5/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • 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/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)

Abstract

情報処理装置(100)は、角度θが対応付けられており、かつ対象物を示す前景画像、背景画像、背景画像の各ピクセルに対応する3次元座標を示す点群データ、及び背景画像が生成されたときのカメラ位置を取得する取得部(120)と、背景画像の中から、重畳位置を決定する重畳位置決定部(141)と、点群データを用いて、重畳位置を含む領域である平面を算出し、カメラ位置と重畳位置とを結ぶ直線と、算出された平面との間の角度である角度θBを算出する算出部(142)と、前景画像を背景画像に重畳する重畳部(146)と、を有する。角度θは、前景画像の元画像が生成されたときの対象物が設置された平面と、対象物を撮影する方向である撮影方向を示す直線との間の角度であり、かつ角度θBと同じ又は類似する角度である。

Description

本開示は、情報処理装置、生成方法、及び生成プログラムに関する。
学習済モデルを用いて、物体認識が行われることが知られている。学習済モデルの学習フェーズでは、大量の画像が必要である。人、車、動物などの一般的な対象物を含む画像を大量に用意することは、可能である。例えば、オープンソースを用いれば、一般的な対象物を含む画像を大量に用意することは、可能である。しかし、特定の車、設備、製品などの特定の対象物の画像を大量に用意することは、困難である。また、対象物の姿勢が変わる場合、様々な姿勢の対象物を大量に用意することは、困難である。そこで、画像を生成する技術が提案されている(特許文献1を参照)。特許文献1の情報処理装置は、複数の画像を含む3次元情報を取得し、3次元情報から認識対象を選択し、複数の画像の各々から、選択された認識対象に対応する範囲である認識対象範囲の画像を切り取ることで、複数の画像から複数の前景画像を生成し、複数の背景画像の各々に、複数の前景画像の各々を合成することで、複数の合成画像を生成する。
国際公開第2020/152763号
ところで、背景画像に前景画像を重畳する場合、制約が設けられていないため、現実的なデータが生成されない場合がある。例えば、現実的ではない角度に対象物が配置されている画像などが生成される。このような画像が学習データとして用いられた場合、学習済モデルの認識精度が低下する。
本開示の目的は、現実的なデータを生成することである。
本開示の一態様に係る情報処理装置が提供される。情報処理装置は、前景画像角度が対応付けられており、かつ対象物を示す前景画像、背景画像、前記背景画像の各ピクセルに対応する3次元座標を示す点群データ、及び前記背景画像が生成されたときのカメラ位置を取得する取得部と、前記背景画像の中から、重畳位置を決定する重畳位置決定部と、前記点群データを用いて、前記重畳位置を含む領域である平面を算出し、前記カメラ位置と前記重畳位置とを結ぶ直線と、算出された平面との間の角度である背景画像角度を算出する算出部と、ワールド座標系における前記前景画像に対応する回転行列であるカメラ姿勢と、前記ワールド座標系における前記背景画像に対応する回転行列であるカメラ姿勢とが等しくなるように、前記背景画像における撮影方向に、前記前景画像を射影変換する変換部と、前記前景画像を前記背景画像に重畳する重畳部と、を有する。前記前景画像角度は、前記前景画像の元画像が生成されたときの前記対象物が設置された平面と、前記対象物を撮影する方向である撮影方向を示す直線との間の角度であり、かつ前記背景画像角度と同じ又は類似する角度である。
本開示によれば、現実的なデータを生成することができる。
情報処理装置が有するハードウェアを示す図である。 情報処理装置の機能を示すブロック図である。 対象物の撮影方法の例(その1)を示す図である。 対象物の撮影方法の例(その2)を示す図である。 対象物の撮影方法の例(その3)を示す図である。 物体が一定方向に移動する場合の例を示す。 対象物の撮影方法の例(その4)を示す図である。 角度θの例を示す図である。 計測テーブルの例を示す図である。 前景画像生成部の機能を示すブロック図である。 画像の例(その1)を示す図である。 (A),(B)は、画像の例(その2)を示す図である。 (A),(B)は、画像の例(その3)を示す図である。 前景画像生成部が実行する処理の例を示すフローチャートである。 カメラ座標系の例を示す図である。 データ生成部の機能を示す図である。 重畳位置決定部及び算出部が実行する処理の例(その1)を示すフローチャートである。 重畳位置決定部及び算出部が実行する処理の例(その2)を示すフローチャートである。 重畳処理の例を示すフローチャート(その1)である。 重畳処理の例を示すフローチャート(その2)である。 (A),(B)は、見え方が異なる場合の例を示す図である。 物体設置位置座標系の例を示す図である。 (A),(B)は、射影変換を説明するための図(その1)である。 射影変換を説明するための図(その2)である。 スケール変換された画像の例を示す図である。 射影変換から重畳までの流れを示す図である。
以下、図面を参照しながら実施の形態を説明する。以下の実施の形態は、例にすぎず、本開示の範囲内で種々の変更が可能である。
実施の形態.
図1は、情報処理装置が有するハードウェアを示す図である。情報処理装置100は、生成方法を実行する装置である。例えば、情報処理装置100は、サーバ、PC(Personal Computer)、スマートフォンなどである。
情報処理装置100は、プロセッサ101、揮発性記憶装置102、不揮発性記憶装置103、入力装置104、及び表示装置105を有する。入力装置104及び表示装置105は、情報処理装置100の外部に存在してもよい。
プロセッサ101は、情報処理装置100全体を制御する。例えば、プロセッサ101は、CPU(Central Processing Unit)、FPGA(Field Programmable Gate Array)、GPU(Graphics Processing Unit)などである。プロセッサ101は、マルチプロセッサでもよい。また、情報処理装置100は、処理回路を有してもよい。
揮発性記憶装置102は、情報処理装置100の主記憶装置である。例えば、揮発性記憶装置102は、RAM(Random Access Memory)である。不揮発性記憶装置103は、情報処理装置100の補助記憶装置である。例えば、不揮発性記憶装置103は、HDD(Hard Disk Drive)、又はSSD(Solid State Drive)である。
入力装置104は、キーボード、タッチパネルなどである。表示装置105は、ディスプレイである。
次に、情報処理装置100が有する機能を説明する。
図2は、情報処理装置の機能を示すブロック図である。情報処理装置100は、記憶部110、取得部120、前景画像生成部130、及びデータ生成部140を有する。
記憶部110は、揮発性記憶装置102又は不揮発性記憶装置103に確保した記憶領域として実現してもよい。
取得部120、前景画像生成部130、及びデータ生成部140の一部又は全部は、処理回路によって実現してもよい。また、取得部120、前景画像生成部130、及びデータ生成部140の一部又は全部は、プロセッサ101が実行するプログラムのモジュールとして実現してもよい。例えば、プロセッサ101が実行するプログラムは、生成プログラムとも言う。例えば、生成プログラムは、記録媒体に記録されている。
記憶部110は、様々な情報を記憶する。例えば、記憶部110は、計測テーブルを記憶する。計測テーブルは、後で説明する。
取得部120は、対象物20を含む画像を取得する。例えば、取得部120は、画像をカメラから取得する。例えば、カメラは、RGB(Red Green Blue)-D(Depth)カメラである。また、カメラがRGBカメラである場合、取得部120は、RGBカメラと対象物20との間の距離を測定可能なセンサ(例えば、IMU(Inertial Measurement Unit)センサ、赤外線センサ、LiDAR(Light Detection And Ranging))と、RGBカメラとの組合せから画像を取得してもよい。
また、取得部120は、対象物20を含む画像を外部装置から取得してもよい。例えば、外部装置は、クラウドサーバである。なお、外部装置の図は、省略されている。
ここで、対象物の撮影方法の例を説明する。
図3は、対象物の撮影方法の例(その1)を示す図である。図3は、ロボットアーム10を示している。ロボットアーム10の先には、カメラ11が付いている。
例えば、ロボットアーム10の設置位置は、原点として扱われる。カメラ11が生成する画像は、当該原点のワールド座標系を用いて、処理される。
図4は、対象物の撮影方法の例(その2)を示す図である。図4は、対象物20を示している。対象物20は、ロボットアーム10が設置されている平面に設置される。図4は、対象物設置点21を示している。対象物設置点21は、当該平面に接している点であり、かつ対象物20の重心又は中心である。そのため、対象物設置点21のZ座標は、0である。なお、対象物設置点21は、撮影前に決定されてもよい。また、対象物設置点21は、カメラ11の中心点と対象物20の中心点が一致するように調整されることで、設定されてもよい。
例えば、カメラ11の内部パラメータは、カメラキャリブレーションによって得られてもよい。
次に、具体的に2つの撮影方法を説明する。まず、1つの目の撮影方法を示す。
図5は、対象物の撮影方法の例(その3)を示す図である。ロボットアーム10は、動作しながら、対象物20を様々な角度から撮影する。また、撮影タイミング、撮影範囲などは、適宜変更してもよい。
次に、2つ目の撮影方法を説明する。2つ目の撮影方法では、次のような方法を利用して撮影が行われる。
図6は、物体が一定方向に移動する場合の例を示す。図6は、ベルトコンベア30を示している。ベルトコンベア30の上には、物体31が置かれている。物体31は、一定方向に移動する。カメラ32は、平行移動する物体31を撮影する。このような撮影方法を利用して、対象物20が撮影される。具体的には、図7を用いて説明する。
図7は、対象物の撮影方法の例(その4)を示す図である。ロボットアーム10は、平行移動しながら、対象物20を撮影する。
このように、対象物20が撮影されることにより、情報処理装置100は、対象物20を含む画像を取得することができる。なお、対象物20の撮影方法は、上記の方法以外の方法でもよい。
また、取得部120は、ワールド座標系に基づくカメラ位置姿勢を取得する。カメラ位置姿勢は、外部パラメータ行列((R|T))で表される。例えば、カメラ位置姿勢は、カメラキャリブレーションを用いて算出されてもよい。
さらに、取得部120は、カメラ11を通過する直線と対象物設置点21を通過する直線との間の角度θを取得する。角度θを示す。
図8は、角度θの例を示す図である。図8は、角度θを示している。取得部120は、角度θを取得する。角度θは、次のように表現されてもよい。角度θは、画像が生成されたときの対象物20が設置された平面と、対象物20を撮影する方向である撮影方向を示す直線との間の角度である。
取得部120は、画像、カメラ位置姿勢、対象物設置点、対象物設置平面、及び角度θを計測テーブルに登録する。計測テーブルを示す。
図9は、計測テーブルの例を示す図である。計測テーブル111は、記憶部110に格納される。計測テーブル111は、対象物ID(Identifier)、計測ID,フレーム番号、画像、カメラ位置姿勢、対象物設置点、対象物設置平面、角度、及び前景画像の項目を有する。
対象物IDの項目には、対象物の識別子が登録される。計測IDの項目には、計測の識別子が登録される。フレーム番号の項目は、取得された画像に対応する番号が登録される。画像の項目には、取得された画像が登録される。カメラ位置姿勢の項目には、取得されたカメラ位置姿勢が登録される。対象物設置点の項目には、取得された対象物設置点が登録される。なお、取得された対象物設置点は、ワールド座標系における3次元座標で表される。対象物設置平面の項目には、取得された対象物設置平面が登録される。なお、取得された対象物設置平面は、式(1)により表すことができる。
Figure 0007262689000001
このように、取得された対象物設置平面は、式(1)により表すことができる。そのため、対象物設置平面の項目には、a、b、c、及びdの値が登録される。例えば、(a、b、c、d)は、(0、0、1、0)で表される。
角度の項目には、取得された角度θが登録される。前景画像の項目には、後述する前景画像が登録される。
また、計測テーブル111は、照明状況及びカメラの機種IDの項目を有してもよい。
次に、前景画像生成部130を説明する。
前景画像生成部130は、画像に基づいて、前景画像を生成する。言い換えれば、前景画像生成部130は、画像に含まれている対象物20の領域を抽出し、抽出された領域を前景画像として生成する。前景画像生成部130は、従来技術を用いて、前景画像を生成してもよい。また、前景画像生成部130は、次の方法を用いて、前景画像を生成してもよい。
図10は、前景画像生成部の機能を示すブロック図である。前景画像生成部130は、領域算出部131、マスク画像生成部132、及び前景画像生成部133を有する。
領域算出部131は、画像内の対象物20の座標sを算出する。詳細には、領域算出部131は、式(2)を用いて、座標sを算出する。なお、fは、フレーム番号である。uは、横方向のピクセル数である。vは、縦方向のピクセル数である。Kは、カメラの内部パラメータである。Kは、3×3の行列で表現される。(R|T)は、外部パラメータ行列である。(R|T)は、3×4の行列で表現される。qは、fの画像における対象物設置点21のワールド座標(X,Y,Z)の末尾に1を追加した4次元のベクトル(X,Y,Z,1)である。
Figure 0007262689000002
領域算出部131は、対象物20が含まれる矩形領域を算出する。例えば、領域算出部131は、対象物20の大きさと、対象物設置点21のワールド座標とを利用して、対象物20の座標sを囲む複数の点を算出することで、当該矩形領域を算出する。
以下、取得部120に取得された画像を例示する。また、当該矩形領域の例も示す。
図11は、画像の例(その1)を示す図である。図11は、画像40を示している。
画像40は、取得部120に取得された画像である。画像40は、対象物20を含む。
図12(A),(B)は、画像の例(その2)を示す図である。図12(A)は、対象物設置点21を示している。図12(B)は、矩形領域41を示している。
マスク画像生成部132は、当該矩形領域を用いて、マスク画像を生成する。例えば、マスク画像生成部132は、GraphCutなどのアルゴリズムを用いて、対象物20を示す領域をピクセル単位で算出し、対象物20を示す領域が除かれた画像を、マスク画像として生成する。マスク画像を例示する。
図13(A),(B)は、画像の例(その3)を示す図である。図13(A)は、マスク画像42を示している。マスク画像42は、2値化画像で表すことができる。例えば、対象物20を示す領域は、1で表される。対象物20以外の領域を示す領域は、0で表される。
前景画像生成部133は、マスク画像を用いて、前景画像を生成する。例えば、前景画像生成部133は、画像40の各ピクセルの値に、マスク画像42の各ピクセルの値を掛けることで、前景画像を生成する。例えば、図13(B)は、前景画像43を示している。
前景画像生成部133は、計測テーブル111に前景画像を登録する。
次に、前景画像生成部130が実行する処理を、フローチャートを用いて説明する。
図14は、前景画像生成部が実行する処理の例を示すフローチャートである。
(ステップS11)領域算出部131は、画像内の対象物20の座標sを算出する。
(ステップS12)領域算出部131は、矩形領域を算出する。
(ステップS13)マスク画像生成部132は、当該矩形領域を用いて、マスク画像を生成する。
(ステップS14)前景画像生成部133は、マスク画像を用いて、前景画像を生成する。前景画像は、対象物20を示す。
(ステップS15)前景画像生成部133は、計測テーブル111に前景画像を登録する。
計測テーブル111が示すように、前景画像には、角度が対応付けられる。当該角度は、前景画像角度とも言う。例えば、当該角度は、角度θである。当該角度は、前景画像の元画像が生成されたときの対象物20が設置された平面と、対象物20を撮影する方向である撮影方向を示す直線との間の角度である。
なお、図14の処理は、取得部120が取得した全ての画像に対して行われてもよい。
次に、データ生成部140を説明する。
データ生成部140は、前景画像を背景画像に重畳する。背景画像は、取得部120により取得される。例えば、取得部120は、背景画像を記憶部110から取得する。また、例えば、取得部120は、背景画像を外部装置から取得する。
背景画像には、背景画像の各ピクセルに対応する3次元座標を示す点群データが対応付けられている。よって、背景画像が取得された場合、当該点群データが取得されたと表現できる。また、取得部120は、背景画像の取得タイミングと異なるタイミングで、当該点群データを取得してもよい。3次元座標は、カメラ座標系で表される。カメラ座標系を説明する。
図15は、カメラ座標系の例を示す図である。カメラ座標系では、カメラ位置が原点とされる。カメラの撮影方向が、Z軸の正方向になる。
背景画像には、背景画像が生成されたときのカメラ位置が対応付けられている。よって、背景画像が取得された場合、当該カメラ位置が取得されたと表現できる。また、取得部120は、背景画像の取得タイミングと異なるタイミングで、当該カメラ位置を取得してもよい。当該カメラ位置は、カメラ座標系の原点なので、(0,0,0)で表される。
また、背景画像には、前景画像が背景画像に重畳される重畳位置情報が対応付けられてもよい。
次に、データ生成部140の機能を詳細に説明する。
図16は、データ生成部の機能を示す図である。データ生成部140は、重畳位置決定部141、算出部142、検索部143、選択部144、変換部145、及び重畳部146を有する。
重畳位置決定部141及び算出部142が実行する処理を、フローチャートを用いて、説明する。
図17は、重畳位置決定部及び算出部が実行する処理の例(その1)を示すフローチャートである。
(ステップS21)重畳位置決定部141は、背景画像の中から、重畳位置pを決定する。重畳位置pは、対象物設置点21に相当する位置である。重畳位置pは、3次元座標で表される。重畳位置決定部141は、ランダムに重畳位置pを決定してもよい。また、重畳位置決定部141は、重畳位置情報に基づいて、重畳位置pに決定してもよい。
(ステップS22)算出部142は、点群データを用いて、重畳位置pを含む領域(すなわち、平面P)の算出を試みる。例えば、算出部142は、点群データとRANSACアルゴリズムとを用いて、平面Pの算出を試みる。なお、平面Pは、式(1)で表すことができる。
平面Pが算出された場合、処理は、ステップS23に進む。平面Pが算出されない場合、処理は、ステップS21に進む。当該ステップS21では、重畳位置決定部141は、新たな重畳位置を決定する。
(ステップS23)算出部142は、カメラ位置と重畳位置pとを結ぶ直線と、平面Pとの間の角度θを算出する。角度θは、背景画像角度とも言う。
また、背景画像の中で重畳範囲が予め定められている場合、次の処理が実行されてもよい。
図18は、重畳位置決定部及び算出部が実行する処理の例(その2)を示すフローチャートである。
(ステップS31)取得部120は、重畳範囲を示す情報を取得する。例えば、取得部120は、重畳範囲を示す情報を記憶部110から取得する。
(ステップS32)重畳位置決定部141は、重畳範囲の中から、重畳位置pを決定する。例えば、重畳位置決定部141は、重畳範囲の中から、ランダムに重畳位置pを決定する。
(ステップS33)算出部142は、点群データを用いて、重畳位置を含む領域(すなわち、平面P)の算出を試みる。例えば、算出部142は、点群データとRANSACアルゴリズムとを用いて、平面Pの算出を試みる。
平面Pが算出された場合、処理は、ステップS34に進む。平面Pが算出されない場合、処理は、ステップS32に進む。当該ステップS32では、重畳位置決定部141は、新たな重畳位置を決定する。
(ステップS34)算出部142は、背景画像に対応付けられているカメラ位置と重畳位置pとを結ぶ直線と平面Pとの間の角度θを算出する。
次に、検索部143、選択部144、変換部145、及び重畳部146が実行する処理を、フローチャートを用いて説明する。
図19は、重畳処理の例を示すフローチャート(その1)である。図20は、重畳処理の例を示すフローチャート(その2)である。
(ステップS41)検索部143は、角度θに基づいて、計測テーブル111の中から前景画像の候補を、前景画像候補として検索する。詳細には、検索部143は、角度θに基づいて、計測テーブル111の角度の項目に対して検索を行うことで、前景画像候補を検索する。また、例えば、検索部143は、“角度θ±1°”の条件に合致する角度θに対応する前景画像を、前景画像候補として検索してもよい。これにより、角度θと同じ又は類似する角度が対応付けられている、1以上の前景画像候補が検索される。
取得部120は、検索部143の検索によって、1以上の前景画像候補(すなわち、前景画像)を取得する。また、取得部120は、1以上の前景画像候補を外部装置から取得してもよい。
(ステップS42)選択部144は、1以上の前景画像候補の中から、1つの前景画像候補を選択する。
ここで、角度が同じ又は類似している場合でも撮影方向が異なる場合、見え方が異なる。具体的に、見え方が異なる場合を示す。
図21(A),(B)は、見え方が異なる場合の例を示す図である。図21(A)は、対象物20を含む画像50を示している。図21(B)は、対象物20を含む画像51を示している。
画像50に対応する角度θと画像51に対応する角度θとは、同じ又は類似である。しかし、図21(A)と図21(B)とは、対象物20の撮影方向が異なる場合を示している。図21(A)と図21(B)とが示すように、角度が同じ又は類似している場合でも撮影方向が異なる場合、見え方が異なる。そこで、変換部145は、変換処理を行う。
まず、選択された前景画像候補は、画像Aと呼ぶ。ここで、カメラ位置姿勢は、外部パラメータ行列((R|T))で表される。画像Aに対応するカメラ姿勢は、カメラ姿勢Rとする。すなわち、カメラ姿勢Rは、画像Aに対応するカメラ位置姿勢“(R|T)”の“R”に相当する。画像Aに対応する対象物設置点は、対象物設置点pとする。画像Aに対応する対象物設置平面は、対象物設置平面Pとする。また、背景画像に対応する重畳位置pと平面Pは、既に得られている。背景画像に対応するカメラ姿勢Rは、未知の値である。
(ステップS43)変換部145は、画像Aにおける物体設置位置座標系Cの基本ベクトルを算出する。ここで、物体設置位置座標系Cを例示する。
図22は、物体設置位置座標系の例を示す図である。物体設置位置座標系Cでは、カメラと対象物設置点とを結ぶベクトルが、Z軸とされる。変換部145は、物体設置位置座標系Cにおけるカメラ姿勢Rが、物体設置位置座標系Cにおけるカメラ姿勢Rと等しくなるように、射影変換を行う。
画像Aにおける物体設置位置座標系Cの基本ベクトルの算出を詳細に説明する。ここで、カメラ位置のワールド座標は、Oとする。対象物設置点pのワールド座標は、Xとする。Oを通過する法線ベクトルと対象物設置平面Pとの交点のワールド座標は、Yとする。
物体設置位置座標系Cの基本ベクトルのX軸方向は、式(3)で表される。
Figure 0007262689000003
物体設置位置座標系Cの基本ベクトルのY軸方向は、式(4)で表される。
Figure 0007262689000004
物体設置位置座標系Cの基本ベクトルのZ軸方向は、式(5)で表される。
Figure 0007262689000005
(ステップS44)変換部145は、背景画像における物体設置位置座標系Cの基本ベクトルを算出する。ここで、カメラ座標系におけるカメラ位置は、Oとする。重畳位置pのワールド座標は、Xとする。Oを通過する法線ベクトルと平面Pとの交点のワールド座標は、Yとする。
物体設置位置座標系Cの基本ベクトルのX軸方向は、式(6)で表される。
Figure 0007262689000006
物体設置位置座標系Cの基本ベクトルのY軸方向は、式(7)で表される。
Figure 0007262689000007
物体設置位置座標系Cの基本ベクトルのZ軸方向は、式(8)で表される。
Figure 0007262689000008
画像Aにおける基本ベクトルを縦に連結することで得られる行列は、Tとする。Tは、式(9)で表される。
Figure 0007262689000009
背景画像における基本ベクトルを縦に連結することで得られる行列は、Tとする。Tは、式(10)で表される。
Figure 0007262689000010
物体設置位置座標系Cにおける画像Aのカメラ姿勢RA1は、式(11)で表される。
Figure 0007262689000011
物体設置位置座標系Cにおける背景画像のカメラ姿勢RB1は、式(12)で表される。
Figure 0007262689000012
ワールド座標系における背景画像のカメラ姿勢Rは、式(13)で表される。また、カメラ姿勢Rは、回転行列である。
Figure 0007262689000013
カメラ姿勢の変換行列TABは、式(14)で表される。
Figure 0007262689000014
(ステップS45)変換部145は、式(15)を用いて、ホモグラフィ行列HABを算出する。なお、Kは、カメラの内部パラメータ行列である。
Figure 0007262689000015
(ステップS46)変換部145は、式(16)を用いて、画像Aを射影変換する。なお、式(16)における射影変換は、ホモグラフィ変換とも言う。また、x、yは、画像Aのピクセル座標である。xnew、ynewは、射影変換後の画像Aのピクセル座標である。
Figure 0007262689000016
このように、変換部145は、背景画像における撮影方向に、画像Aを射影変換する。言い換えれば、変換部145は、背景画像を生成したカメラの撮影方向に、画像Aを射影変換する。
また、背景画像における撮影方向と画像Aにおける撮影方向とが同じである場合、ステップS43~46が行われても、画像Aは、射影変換されない。
図23(A),(B)は、射影変換を説明するための図(その1)である。図23(A)は、画像Aである画像60を示している。図23(B)は、背景画像である画像61を示している。
画像60に対応する角度θと画像61に対応する角度θは、同じである。しかし、画像60に対応する撮影方向と画像61に対応する撮影方向は、90度異なる。そのため、見え方が異なる。そこで、変換部145は、画像Aを射影変換する。
図24は、射影変換を説明するための図(その2)である。図24は、射影変換された画像Aである画像62を示している。このように、射影変換が行われることで、前景画像の見え方が、背景画像の見え方と同じになる。
ステップS46の後、処理は、ステップS51に進む。
(ステップS51)変換部145は、カメラと対象物設置平面との間の距離が画像Aと背景画像とで異なるか否かを判定する。ここで、例えば、画像Aである前景画像の元画像は、RGB-Dカメラによって生成された画像である。そのため、画像A(すなわち、前景画像)の各ピクセルには、距離が対応付けられている。また、背景画像には、背景画像の各ピクセルに対応する点群データが対応付けられている。そのため、点群データが示すZ座標によって、距離が特定される。
距離が画像Aと背景画像とで異なる場合、画像Aと背景画像とでスケールが異なることを意味する。距離が画像Aと背景画像とで異なる場合、処理は、ステップS52に進む。距離が画像Aと背景画像とで同じ場合、処理は、ステップS53に進む。
(ステップS52)変換部145は、画像Aに対してスケール変換を行う。
詳細に、スケール変換を説明する。まず、画像Aにおける距離(すなわち、撮影方向を示すベクトルと対象物設置平面Pとの交点と、カメラ位置との間の距離)は、dとする。背景画像における距離(すなわち、撮影方向を示すベクトルと平面Pとの交点と、カメラ位置との間の距離)は、dとする。また、以下の説明では、画像Aは、射影変換されたものとする。
変換部145は、アフィン変換を用いて、画像Aに対してスケール変換を行う。具体的には、変換部145は、式(17)を用いて、画像Aに対してスケール変換を行う。
Figure 0007262689000017
ここで、スケール変換された画像Aを例示する。
図25は、スケール変換された画像の例を示す図である。変換部145は、画像Aである画像62に対してスケール変換を行う。これにより、画像62に含まれている対象物20は、小さくなる。
上記では、画像Aが射影変換される場合を説明した。画像Aにおける撮影方向と背景画像における撮影方向とが同じ場合、変換部145は、画像Aを射影変換しない。また、上記では、射影変換された画像Aに対してスケール変換が行われる場合を説明した。変換部145は、射影変換されていない画像Aに対して、スケール変換を行ってもよい。
(ステップS53)選択部144は、全ての前景画像候補を選択したか否かを判定する。全ての前景画像候補を選択した場合、処理は、ステップS54に進む。全ての前景画像候補を選択していない場合、処理は、ステップS42に進む。
(ステップS54)選択部144は、1以上の前景画像候補の中から、重畳させる前景画像として最適な前景画像候補を選択する。言い換えれば、選択部144は、1以上の前景画像候補の中から画像変換による視点の変化が最も小さい画像を選択する。
ここで、回転行列Pと回転行列Qとの類似度を示す指標d(P,Q)が、導入される。指標d(P,Q)の値が小さいほど、回転行列Pと回転行列Qとが類似していることを意味する。また、指標d(P,Q)の値が小さいことは、カメラ姿勢が変化しても視点の変化が小さいことを意味する。指標d(P,Q)は、式(18)を用いて、表すことができる。
Figure 0007262689000018
指標d(P,Q)は、単位球面上に点がランダムにサンプリングされ、それぞれの点について回転行列Pによる変換を施した座標と回転行列Qによる変換を施した座標との距離が算出されることで、擬似的に算出される。
最適な前景画像候補が選択される処理では、指標d(P,Q)の“P”が、カメラ姿勢Rに置き換えられる。また、指標d(P,Q)の“Q”が、カメラ姿勢Rに置き換えられる。
選択部144は、N枚の前景画像候補が存在する場合、式(19)を用いて、最適な前景画像候補である画像iを選択する。
Figure 0007262689000019
(ステップS55)重畳部146は、選択された画像i(すなわち、前景画像)を背景画像に重畳する。詳細には、重畳部146は、前景画像を背景画像の重畳位置pに重畳する。
ここで、上記では、理解し易いように、画像Aに対して、射影変換及びスケール変換を行う場合を説明した。しかし、実際には、画像Aに含まれている対象物20を示す前景画像に対して、射影変換及びスケール変換が行われる。
射影変換から重畳までの流れを簡単に例示する。
図26は、射影変換から重畳までの流れを示す図である。図26は、前景画像70を示している。データ生成部140は、前景画像70に対して、射影変換を行う。データ生成部140は、前景画像70に対して、スケール変換を行う。言い換えれば、データ生成部140は、背景画像71のスケールに、前景画像70をスケール変換する。データ生成部140は、前景画像70を背景画像71に重畳する。これにより、合成画像が生成される。合成画像は、学習データとして用いられる。また、合成画像には、計測テーブル111に登録されている情報が対応付けられてもよい。合成画像に当該情報が対応付けられることで、学習データの絞り込みが可能である。また、合成画像に当該情報が対応付けられることで、条件の不均衡が生じている場合、条件の不均衡を是正する学習データの抽出が可能である。また、合成画像には、正解情報が対応付けられてもよい。
情報処理装置100は、背景画像に対応する角度θと同じ又は類似する角度θに対応する前景画像を、背景画像に重畳する。そのため、前景画像を背景画像に重畳することにより得られた合成画像は、現実的なデータになる。よって、情報処理装置100は、現実的なデータを生成することができる。
また、情報処理装置100は、前景画像における撮影方向と背景画像における撮影方向とが異なる場合、前景画像を射影変換する。これにより、前景画像の向きは、背景画像の撮影方向と同じになる。そして、情報処理装置100は、射影変換された前景画像を背景画像に重畳する。そのため、前景画像を背景画像に重畳することにより得られた合成画像は、より現実的なデータになる。よって、情報処理装置100は、より現実的なデータを生成することができる。
さらに、情報処理装置100は、前景画像のスケールと背景画像のスケールが異なる場合、前景画像に対してスケール変換を行う。これにより、前景画像は、背景画像と同じスケールに変換される。そして、情報処理装置100は、スケール変換された前景画像を背景画像に重畳する。そのため、前景画像を背景画像に重畳することにより得られた合成画像は、より現実的なデータになる。よって、情報処理装置100は、より現実的なデータを生成することができる。
情報処理装置100は、複数の前景画像候補の中から、重畳させる前景画像として最適な前景画像候補を選択する。そして、情報処理装置100は、選択された前景画像候補である前景画像を背景画像に重畳する。そのため、前景画像を背景画像に重畳することにより得られた合成画像は、より最適なデータになる。よって、情報処理装置100は、より最適なデータを生成することができる。
10 ロボットアーム、 11 カメラ、 20 対象物、 21 対象物設置点、 30 ベルトコンベア、 31 物体、 32 カメラ、 40 画像、 41 矩形領域、 42 マスク画像、 43 前景画像、 50 画像、 51 画像、 60 画像、 61 画像、 62 画像、 70 前景画像、 71 背景画像、 100 情報処理装置、 101 プロセッサ、 102 揮発性記憶装置、 103 不揮発性記憶装置、 104 入力装置、 105 表示装置、 110 記憶部、 111 計測テーブル、 120 取得部、 130 前景画像生成部、 131 領域算出部、 132 マスク画像生成部、 133 前景画像生成部、 140 データ生成部、 141 重畳位置決定部、 142 算出部、 143 検索部、 144 選択部、 145 変換部、 146 重畳部。

Claims (5)

  1. 前景画像角度が対応付けられており、かつ対象物を示す前景画像、背景画像、前記背景画像の各ピクセルに対応する3次元座標を示す点群データ、及び前記背景画像が生成されたときのカメラ位置を取得する取得部と、
    前記背景画像の中から、重畳位置を決定する重畳位置決定部と、
    前記点群データを用いて、前記重畳位置を含む領域である平面を算出し、前記カメラ位置と前記重畳位置とを結ぶ直線と、算出された平面との間の角度である背景画像角度を算出する算出部と、
    ワールド座標系における前記前景画像に対応する回転行列であるカメラ姿勢と、前記ワールド座標系における前記背景画像に対応する回転行列であるカメラ姿勢とが等しくなるように、前記背景画像における撮影方向に、前記前景画像を射影変換する変換部と、
    前記前景画像を前記背景画像に重畳する重畳部と、
    を有し、
    前記前景画像角度は、前記前景画像の元画像が生成されたときの前記対象物が設置された平面と、前記対象物を撮影する方向である撮影方向を示す直線との間の角度であり、かつ前記背景画像角度と同じ又は類似する角度である、
    情報処理装置。
  2. 前記変換部は、前記背景画像のスケールに、前記前景画像をスケール変換する、
    請求項1に記載の情報処理装置。
  3. 選択部をさらに有し、
    前記取得部は、前記背景画像角度と同じ又は類似する角度が対応付けられている複数の前景画像候補を取得し、
    前記選択部は、前記複数の前景画像候補の中から、重畳させる前景画像として最適な前景画像候補を選択し、
    前記背景画像に重畳される前記前景画像は、選択された前景画像候補である、
    請求項1又は2に記載の情報処理装置。
  4. 情報処理装置が、
    背景画像、前記背景画像の各ピクセルに対応する3次元座標を示す点群データ、及び前記背景画像が生成されたときのカメラ位置を取得し、
    前記背景画像の中から、重畳位置を決定し、
    前記点群データを用いて、前記重畳位置を含む領域である平面を算出し、
    前記カメラ位置と前記重畳位置とを結ぶ直線と、算出された平面との間の角度である背景画像角度を算出し、
    前記背景画像角度と同じ又は類似する角度である前景画像角度が対応付けられており、かつ対象物を示す前景画像を取得し、
    ワールド座標系における前記前景画像に対応する回転行列であるカメラ姿勢と、前記ワールド座標系における前記背景画像に対応する回転行列であるカメラ姿勢とが等しくなるように、前記背景画像における撮影方向に、前記前景画像を射影変換し、
    前記前景画像を前記背景画像に重畳し、
    前記前景画像角度は、前記前景画像の元画像が生成されたときの前記対象物が設置された平面と、前記対象物を撮影する方向である撮影方向を示す直線との間の角度である、
    生成方法。
  5. 情報処理装置に、
    背景画像、前記背景画像の各ピクセルに対応する3次元座標を示す点群データ、及び前記背景画像が生成されたときのカメラ位置を取得し、
    前記背景画像の中から、重畳位置を決定し、
    前記点群データを用いて、前記重畳位置を含む領域である平面を算出し、
    前記カメラ位置と前記重畳位置とを結ぶ直線と、算出された平面との間の角度である背景画像角度を算出し、
    前記背景画像角度と同じ又は類似する角度である前景画像角度が対応付けられており、かつ対象物を示す前景画像を取得し、
    ワールド座標系における前記前景画像に対応する回転行列であるカメラ姿勢と、前記ワールド座標系における前記背景画像に対応する回転行列であるカメラ姿勢とが等しくなるように、前記背景画像における撮影方向に、前記前景画像を射影変換し、
    前記前景画像を前記背景画像に重畳する、
    処理を実行させる生成プログラムであり、
    前記前景画像角度は、前記前景画像の元画像が生成されたときの前記対象物が設置された平面と、前記対象物を撮影する方向である撮影方向を示す直線との間の角度である、
    生成プログラム。
JP2022576495A 2022-07-06 2022-07-06 情報処理装置、生成方法、及び生成プログラム Active JP7262689B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/026814 WO2024009427A1 (ja) 2022-07-06 2022-07-06 情報処理装置、生成方法、及び生成プログラム

Publications (3)

Publication Number Publication Date
JP7262689B1 true JP7262689B1 (ja) 2023-04-21
JPWO2024009427A1 JPWO2024009427A1 (ja) 2024-01-11
JPWO2024009427A5 JPWO2024009427A5 (ja) 2024-06-11

Family

ID=86052898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022576495A Active JP7262689B1 (ja) 2022-07-06 2022-07-06 情報処理装置、生成方法、及び生成プログラム

Country Status (3)

Country Link
JP (1) JP7262689B1 (ja)
TW (1) TW202403670A (ja)
WO (1) WO2024009427A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014178957A (ja) * 2013-03-15 2014-09-25 Nec Corp 学習データ生成装置、学習データ作成システム、方法およびプログラム
JP2022029125A (ja) * 2020-08-04 2022-02-17 オムロン株式会社 分類ユニット、生成ユニット、データセット生成装置、フレーム画像分類方法、およびフレーム画像分類プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014178957A (ja) * 2013-03-15 2014-09-25 Nec Corp 学習データ生成装置、学習データ作成システム、方法およびプログラム
JP2022029125A (ja) * 2020-08-04 2022-02-17 オムロン株式会社 分類ユニット、生成ユニット、データセット生成装置、フレーム画像分類方法、およびフレーム画像分類プログラム

Also Published As

Publication number Publication date
WO2024009427A1 (ja) 2024-01-11
TW202403670A (zh) 2024-01-16
JPWO2024009427A1 (ja) 2024-01-11

Similar Documents

Publication Publication Date Title
US10334168B2 (en) Threshold determination in a RANSAC algorithm
EP3028252B1 (en) Rolling sequential bundle adjustment
JP6338595B2 (ja) モバイルデバイスベースのテキスト検出および追跡
KR100793838B1 (ko) 카메라 모션 추출장치, 이를 이용한 해상장면의 증강현실 제공 시스템 및 방법
US20160012588A1 (en) Method for Calibrating Cameras with Non-Overlapping Views
WO2013111229A1 (ja) カメラ校正装置、カメラ校正方法およびカメラ校正用プログラム
JP2014241155A (ja) 画像の少なくとも1つの特徴として記述子を提供する方法及び特徴をマッチングする方法
JP2011198349A (ja) 情報処理方法及びその装置
CN112435338B (zh) 电子地图的兴趣点的位置获取方法、装置及电子设备
JP2013050947A (ja) 物体姿勢推定方法、物体姿勢推定装置、物体推定姿勢精緻化方法、およびコンピューター可読媒体
JP5833507B2 (ja) 画像処理装置
CN113409391B (zh) 视觉定位方法及相关装置、设备和存储介质
CN113393505B (zh) 图像配准方法、视觉定位方法及相关装置、设备
Zhu et al. Robust plane-based calibration of multiple non-overlapping cameras
JP6420605B2 (ja) 画像処理装置
CN110111364A (zh) 运动检测方法、装置、电子设备及存储介质
Wan et al. Drone image stitching using local mesh-based bundle adjustment and shape-preserving transform
JP5503510B2 (ja) 姿勢推定装置および姿勢推定プログラム
JP2018173882A (ja) 情報処理装置、方法、及びプログラム
JP7192526B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP7262689B1 (ja) 情報処理装置、生成方法、及び生成プログラム
JP6304815B2 (ja) 画像処理装置ならびにその画像特徴検出方法、プログラムおよび装置
JP6154759B2 (ja) カメラパラメータ推定装置、カメラパラメータ推定方法及びカメラパラメータ推定プログラム
JP2008203991A (ja) 画像処理装置
GB2560301A (en) Methods and apparatuses for determining positions of multi-directional image capture apparatuses

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221212

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221212

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20221212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230411

R150 Certificate of patent or registration of utility model

Ref document number: 7262689

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150