(57)【要約】【課題】情報処理装置，重畳表示プログラム，重畳表示方法に関し、設計データの稜線の抽出効率を向上させ、重畳表示技術の適用対象を拡大する。【解決手段】物体の撮像画像に基づき、物体の稜線に相当する第一直線群を抽出する（Ａ１）。物体の設計データと第一外部パラメータ（視点位置，視線方向）とに基づき、第一投影画像を生成する（Ａ３）。第一投影画像に基づき、物体の稜線に相当する第二直線群を抽出する（Ａ４）。第一外部パラメータに基づき、第二直線群を三次元の第三直線群に変換する（Ａ５）。第一直線群と第三直線群との対応関係に基づき、撮像画像と同等の視点位置及び視線方向となる第二外部パラメータを算出する（Ａ１２）。設計データと第二外部パラメータとに基づき、第二投影画像を撮像画像に重ねてレンダリングする（Ａ１３）。【選択図】図８
2019159375.tif 000002
【特許請求の範囲】
【請求項１】
物体の撮像画像に基づき、前記物体の稜線に相当する第一直線群を抽出する第一抽出部と、
前記物体の立体形状を規定するデータと前記物体を透視投影する際の視点位置及び視線方向を表す第一外部パラメータとに基づき、前記物体の第一投影画像を生成する生成部と、
前記第一投影画像に基づき、前記稜線に相当する第二直線群を抽出する第二抽出部と、
前記第一外部パラメータに基づき、前記第二直線群を三次元の第三直線群に変換する三次元変換部と、
前記第一直線群と前記第三直線群との対応関係に基づき、前記撮像画像の撮像位置及び撮像方向と同等の視点位置及び視線方向を表す第二外部パラメータを算出する算出部と、
前記データと前記第二外部パラメータとに基づき、前記物体の第二投影画像を前記撮像画像に重ねてレンダリングする重畳表示部とを備える
ことを特徴とする、情報処理装置。
【請求項２】
前記第一直線群と前記第三直線群とを選択可能な状態で表示装置に表示させる稜線表示部と、
ユーザーの選択操作に基づき、前記第一直線群と前記第三直線群との対応関係を取得する取得部とを備える
ことを特徴とする、請求項１記載の情報処理装置。
【請求項３】
前記第一外部パラメータを変更する変更部を備え、
前記生成部が、前記第一外部パラメータが変更されるたびに前記第一投影画像を更新する
ことを特徴とする、請求項１または２記載の情報処理装置。
【請求項４】
前記変更部が、前記第一外部パラメータをユーザーに入力させる機能を有する
ことを特徴とする、請求項３記載の情報処理装置。
【請求項５】
前記物体の第一投影画像または前記第一外部パラメータに応じた前記物体の立体形状を表示するデータ表示部を備える
ことを特徴とする、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記生成部が、少なくとも法線画像，深度画像，濃淡画像のいずれかで前記第一投影画像を生成する
ことを特徴とする、請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記第三直線群に含まれる直線について、前記物体の表面から離隔している部位を前記第三直線群から除外する分割部を備える
ことを特徴とする、請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
前記分割部が、前記第三直線群に含まれる直線を複数の点に分割し、前記物体までの距離が所定距離以上となる前記点を除去するとともに、残存した前記点を再結合させる
ことを特徴とする、請求項７記載の情報処理装置。
【請求項９】
物体の撮像画像に基づき、前記物体の稜線に相当する第一直線群を抽出し、
前記物体の立体形状を規定するデータと前記物体を透視投影する際の視点位置及び視線方向を表す第一外部パラメータとに基づき、前記物体の第一投影画像を生成し、
前記第一投影画像に基づき、前記稜線に相当する第二直線群を抽出し、
前記第一外部パラメータに基づき、前記第二直線群を三次元の第三直線群に変換し、
前記第一直線群と前記第三直線群との対応関係に基づき、前記撮像画像の撮像位置及び撮像方向と同等の視点位置及び視線方向を表す第二外部パラメータを算出し、
前記データと前記第二外部パラメータとに基づき、前記物体の第二投影画像を前記撮像画像に重ねてレンダリングする
処理をコンピュータに実行させる、重畳表示プログラム。
【請求項１０】
物体の撮像画像に基づき、前記物体の稜線に相当する第一直線群を抽出し、
前記物体の立体形状を規定するデータと前記物体を透視投影する際の視点位置及び視線方向を表す第一外部パラメータとに基づき、前記物体の第一投影画像を生成し、
前記第一投影画像に基づき、前記稜線に相当する第二直線群を抽出し、
前記第一外部パラメータに基づき、前記第二直線群を三次元の第三直線群に変換し、
前記第一直線群と前記第三直線群との対応関係に基づき、前記撮像画像の撮像位置及び撮像方向と同等の視点位置及び視線方向を表す第二外部パラメータを算出し、
前記データと前記第二外部パラメータとに基づき、前記物体の第二投影画像を前記撮像画像に重ねてレンダリングする
ことを特徴とする、重畳表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体の設計データから描画される透視投影画像のCG（Computer Graphics）と実際の撮像画像とを重畳表示するための情報処理装置，プログラム，方法に関する。
【背景技術】
【０００２】
近年、製造分野の製品検査において、AR（Augmented Reality）技術を利用した表示技術が提案されている。すなわち、製造物（物体）の撮像画像とその製造物の設計データからレンダリングされる透視投影画像とを重ね合わせて表示し、製造物の実物と設計図との差異を把握しやすくする技術である。このような技術の一例としては、撮像画像にエッジ検出処理を施すことでエッジ線を抽出するとともに設計データの稜線を抽出し、これらの二者の対応関係を作業者が入力することによって、エッジ線に稜線が重なるCGを生成する手法が挙げられる。撮像画像と透視投影画像とが精度よく重なり合うように表示することで、製品検査の精度や作業効率が改善されうる（特許文献１〜３参照）。
【０００３】
撮像画像に対して正確に重なる透視投影画像を描画するためには、描画対象の設計データだけでなく、その描画対象に対するカメラの相対的な位置姿勢（すなわち、透視投影の視点位置及び視線方向）の情報を考慮に入れることが好ましい。このような情報は、カメラの内部構造によって規定される焦点距離，センサーサイズなどの「内部パラメータ」とは対照的に「外部パラメータ」と呼ばれる。外部パラメータは、例えばユーザーが撮像画像を参照しながら手動で設定してもよいし、あらかじめ設定された複数の外部パラメータ群の中から、撮像画像に似た透視投影画像が描画されるものをユーザーに選択させてもよい。
【０００４】
一方、撮像画像に含まれる直線要素（エッジ線）と被写体の設計データに含まれる直線要素（稜線）とを対応付けることによって、撮像画像と同等の外部パラメータを推定する手法も提案されている（非特許文献１参照）。外部パラメータの推定精度を高めることで、設計データ上の三次元座標が撮像画像のどこの座標に透視変換（マッピング）されるかを計算することができ、撮像画像と透視投影画像との重畳精度を向上させることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2017-091078号公報
【特許文献２】特開2007-207251号公報
【特許文献３】特開平06-168341号公報
【非特許文献】
【０００６】
【非特許文献１】Lilian Zhang, Chi Xu, Kok-Meng Lee, Reinhard Koch, "Robust and Efficient Pose Estimation from Line Correspondences", Asian Conference on Computer Vision, Computer Vision - ACCV 2012, Springer, p.217-230, (2013)
【発明の概要】
【発明が解決しようとする課題】
【０００７】
設計データ内の稜線は、設計データに含まれる線分情報（ポリライン情報，ポリゴン情報）の中から、三次元CAD（Computer-Aided Design）モデルの外形特徴を表す線分が検索されて抽出される。しかし、三次元CADモデルの外形に曲面〔平面以外の面だけでなく、複数の微小な平面を連結した擬似的な曲面を含む〕が設けられている場合には、適切な稜線を抽出することが難しい。例えば、設計データ内にフィレット（丸み，ラウンド）付きのエッジが設けられている場合、局所的には曲率が一定の曲面（あるいは、曲率が緩やかに変化している曲面）でエッジが形成されることになり、その中から特定の部位を稜線として抽出することが困難である。設計データ内の曲面がパラメトリック曲面で定義されている場合にも、同様の課題が生じうる。また、たとえ外形に曲面のない三次元CADモデルであっても、その設計データに含まれるポリゴン数が増加するにつれて、稜線の抽出にかかる演算時間が長引いてしまう。例えば、数百万ポリゴンの設計データから稜線を抽出するのに数分〜数十分の時間がかかることがあり、演算効率を改善することが望ましい。
【０００８】
一つの側面では、設計データ内の稜線の抽出効率を向上させるとともに、重畳表示の精度を向上させることを目的とする。
【課題を解決するための手段】
【０００９】
一つの実施形態において、情報処理装置は、第一抽出部，生成部，第二抽出部，三次元変換部，算出部，重畳表示部を有する。前記第一抽出部は、物体の撮像画像に基づき、前記物体の稜線に相当する第一直線群を抽出する。前記生成部は、前記物体の立体形状を規定するデータと前記物体を透視投影する際の視点位置及び視線方向を表す第一外部パラメータとに基づき、前記物体の第一投影画像を生成する。前記第二抽出部は、前記第一投影画像に基づき、前記稜線に相当する第二直線群を抽出する。前記三次元変換部は、前記第一外部パラメータに基づき、前記第二直線群を三次元の第三直線群に変換する。前記算出部は、前記第一直線群と前記第三直線群との対応関係に基づき、前記撮像画像の撮像位置及び撮像方向と同等の視点位置及び視線方向を表す第二外部パラメータを算出する。前記重畳表示部は、前記データと前記第二外部パラメータとに基づき、前記物体の第二投影画像を前記撮像画像に重ねてレンダリングする。
【発明の効果】
【００１０】
一つの側面では、設計データの稜線の抽出効率を向上させることができ、重畳表示の精度を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】（Ａ）は製造物のカメラ画像例、（Ｂ）は製造物の設計データの透視投影画像例、（Ｃ）は（Ａ）及び（Ｂ）の重畳画像例である。（Ｄ）は（Ｃ）とは別角度から描画した設計データの透視投影画像例、（Ｅ）は（Ａ）及び（Ｄ）の重畳画像例である。
【図２】情報処理装置のハードウェア構成を示す図である。
【図３】重畳表示プログラムのソフトウェア構成を示す図である。
【図４】表示装置の表示画面例（直線ペアの入力）である。
【図５】（Ａ）は設計データの透視投影画像例、（Ｂ）〜（Ｄ）は法線画像例，深度画像例，濃淡画像例である。（Ｅ），（Ｆ）は第二直線群，第三直線群を示す図である。
【図６】（Ａ）〜（Ｅ）は、第三直線群の分割及び再結合を説明するための図である。
【図７】表示装置の表示画面例（重畳表示）である。
【図８】重畳表示方法の流れを例示するフローチャートである。
【発明を実施するための形態】
【００１２】
［１．概要］
以下、図面を参照して実施形態としての情報処理装置１，情報処理装置１で実行される重畳表示プログラム，重畳表示方法を説明する。本件の装置，プログラム，方法は、製造物の撮像画像５０（実際に撮像されたカメラ画像）とその製造物の設計データから描画される透視投影画像のCGとを精度よく重ね合わせて表示する重畳表示機能を提供する。図１（Ａ）は前者の撮像画像５０の例であり、図１（Ｂ）は後者の透視投影画像例である。これらを精度よく重ね合わせることで、図１（Ｃ）に示すような重畳画像となる。したがって、ユーザーは前者と後者との差異を目視で迅速に発見することが容易となり、製品検査の精度や作業効率が改善される。
【００１３】
一方、図１（Ｄ）は、図１（Ｂ）とは異なる視点位置及び視線方向で同一の設計データから生成された透視投影画像である。図１（Ｄ）の視点位置及び視線方向は、図１（Ａ）のカメラ位置姿勢に一致しないため、これらを重ね合わせたとしても図１（Ｅ）に示すように、ずれた重畳画像となる。したがって、製品検査の精度や作業効率を改善するためには、撮像画像５０に精度よく重ね合わせることのできる透視投影画像を生成することが好ましく、撮像画像５０と同等の外部パラメータを正確に把握することが肝要である。
【００１４】
［２．ハードウェア構成］
図２は、上記の重畳表示を実施する情報処理装置１（コンピュータ）及びこれに接続される周辺機器を説明するためのブロック図である。情報処理装置１には、カメラ２，ストレージ３，入力機器４，表示装置５が接続される。接続形態は有線接続でも無線接続でもよく、図示しないネットワークを介して接続されるものとしてもよい。情報処理装置１がノートパソコンやスマートフォン，タブレット端末などである場合には、その情報処理装置１に内蔵されるカメラ２，ストレージ３，入力機器４，表示装置５などを用いてもよい。
【００１５】
カメラ２は、CCD（Charge-Coupled Device）やCMOS（Complementary Metal Oxide Semiconductor）などのイメージセンサを内蔵したディジタルカメラ（撮像装置）やイメージスキャナ，ビデオカメラなどであり、被写体である製造物の撮像画像５０を取得するものである。カメラ２で取得された撮像画像５０の情報は、情報処理装置１に入力される。なお、ここでいう撮像画像５０には、例えばシャッターボタンの操作によって、一枚の独立した静止画像として撮影された画像だけでなく、動画中の一コマに相当する画像も含まれる。
【００１６】
ストレージ３は、製造物の立体形状を規定する三次元CADモデルの設計データを記憶するものであり、例えばハードディスクドライブ（HDD）やソリッドステートドライブ（SSD），不揮発性メモリ，リムーバブルメディアなどの記憶装置である。製造物の三次元CADモデルには、その製造物の立体形状を規定するための頂点情報，辺情報（線情報），面情報などが含まれる。また、ストレージ３には、設計データだけでなく、カメラ２で取得された撮像画像５０の情報を記憶させておくことも可能である。すなわち、あらかじめ撮像画像５０をストレージ３に保存しておき、その撮像画像５０を用いて重畳表示を実施してもよい。この場合、カメラ２は省略可能となる。
【００１７】
入力機器４は、情報処理装置１の入力デバイスであり、例えばキーボード，マウス，トラックパッドなどである。また、入力機器４には、表示装置５の表面に取り付けられるパネル型タッチセンサー（タッチパネル）が含まれる。表示装置５は情報処理装置１の出力デバイスであり、例えば液晶ディスプレイ（Liquid Crystal Display，LCD）や有機ELディスプレイ（Organic Electro-Luminescence Display，OELD）である。
【００１８】
情報処理装置１には、プロセッサ４１（中央処理装置），メモリ４２（メインメモリ，主記憶装置），補助記憶装置４３，インタフェース装置４４，記録媒体ドライブ４５などが内蔵され、内部バス４６を介して互いに通信可能に接続される。プロセッサ４１は、制御ユニット（制御回路）や演算ユニット（演算回路），キャッシュメモリ（レジスタ群）などを内蔵する中央処理装置である。また、メモリ４２は、プログラムや作業中の各種データが格納される記憶装置であり、例えばROM（Read Only Memory），RAM（Random Access Memory）がこれに含まれる。補助記憶装置４３は、メモリ４２よりも長期的に保持される各種データやファームウェアが格納されるメモリ装置であり、例えばフラッシュメモリやEEPROMなどの不揮発性メモリがこれに含まれる。
【００１９】
インタフェース装置４４は、情報処理装置１と外部との間の入出力（Input and Output；I/O）を司るものである。情報処理装置１は、インタフェース装置４４を介して、カメラ２，ストレージ３，入力機器４，表示装置５などに接続される。また、記録媒体ドライブ４５は、光ディスクや半導体メモリ（Universal Serial Bus規格に準拠したポータブルフラッシュドライブ）などの記録媒体４７（リムーバブルメディア）に記録，保存された情報を読み取る機能を持った読取装置（または読取・書込装置）である。情報処理装置１で実行されるプログラムは、メモリ４２内に記録，保存してもよいし、補助記憶装置４３や記録媒体４７に記録，保存してもよい。
【００２０】
［３．ソフトウェア構成］
図３は、情報処理装置１で実行される重畳表示プログラム６の機能的構成を示すブロック図である。重畳表示プログラム６には、カメラ画像処理部１０，設計データ処理部２０，重畳処理部３０が設けられる。カメラ画像処理部１０は、カメラ２で撮像された製造物の撮像画像５０に関する処理を担当し、設計データ処理部２０は製造物の設計データから生成される透視投影画像に関する処理を担当するものである。また、重畳処理部３０は、前者の撮像画像５０と後者の透視投影画像との重畳表示処理を担当するものである。
【００２１】
これらの各要素は、重畳表示プログラム６の機能を便宜的に分類して示したものであり、個々の要素を独立したプログラムとして記述してもよいし、これらの機能を兼ね備えた複合プログラムとして記述してもよい。重畳表示プログラム６は、メモリ４２内や補助記憶装置４３の内部に記録，保存される。あるいは、記録媒体４７上に重畳表示プログラム６が記録，保存され、その記録媒体４７に書き込まれている重畳表示プログラム６が記録媒体ドライブ４５を介して情報処理装置１に読み込まれて実行される。
【００２２】
［３−１．カメラ画像処理部］
カメラ画像処理部１０には、制御部１１，画像記憶部１２，画像表示部１３，第一抽出部１４が設けられる。制御部１１は、カメラ２の撮影状態を制御して製造物の撮像画像５０を取得するものである。画像記憶部１２は、撮像画像５０のデータを一時的に保存するものである。なお、ストレージ３に保存されている撮像画像５０の情報を用いる場合には、その情報（写真データ）を撮像画像５０のデータの代わりに画像記憶部１２に一時的に記憶させてもよい。以下これらの総称として単に「撮像画像５０」との名称を用いる。
【００２３】
画像表示部１３は、画像記憶部１２が記憶している撮像画像５０のデータに基づき、その撮像画像５０を表示装置５に表示させるものである。画像表示部１３による表示は、重畳表示が意図されたものではなく、撮像画像５０をユーザーに確認させることが意図されている。ここでは、少なくとも撮像画像５０に写った製造物の状態がユーザーに把握される程度のサイズ，位置で、表示装置５に撮像画像５０が表示される。撮像画像５０が表示されている表示装置５の画面を図４（図中左側）に例示する。
【００２４】
第一抽出部１４は、撮像画像５０に基づいて、製造物の稜線に相当する第一直線群５４を抽出するものである。第一直線群５４とは、撮像画像５０中の平面座標系で定義される直線（二次元平面内の直線）の集合である。第一直線群５４は、例えば撮像画像５０に公知のエッジ検出処理（Sobel処理，Laplacian処理，Canny処理など）を施してエッジ画像を生成した後に、公知の直線検出処理（Hough変換や確率的Hough変換など）を施すことで抽出可能である。ここで抽出された第一直線群５４の情報は、重畳処理部３０に伝達される。
【００２５】
［３−２．設計データ処理部］
設計データ処理部２０には、読み込み部２１，生成部２２，データ表示部２３，変更部２４，第二抽出部２５，三次元変換部２６，分割部２７，二次元変換部２８が設けられる。読み込み部２１は、ストレージ３に保存されている設計データの情報を取得するものである。生成部２２は、製造物の設計データと第一外部パラメータとに基づいて、製造物の第一投影画像５１を生成するものである。第一外部パラメータとは、製造物を透視投影する際の視点位置及び視線方向を表す外部パラメータの一つである。第一外部パラメータの初期値はあらかじめ設定されているが、その値は後述する通り変更可能とされる。ここでいう第一投影画像５１は、図５（Ａ）に示すように、隠れ線が消去されたポリゴンの透視投影図であってもよいし、ワイヤーフレームのみで表現された透視投影図であってもよい。
【００２６】
また、生成部２２は、法線画像，深度画像，濃淡画像のそれぞれで生成された第一投影画像５１を併せて生成する機能を持つ。これらの法線画像，深度画像，濃淡画像は、例えばスキャンライン法（走査法）を用いて生成してもよいし、レイトレーシング法やレイキャスティング法を用いて生成（計算）してもよい。図５（Ｂ）〜（Ｄ）はそれぞれ、第一投影画像５１の法線画像，深度画像，濃淡画像の描画例である。法線画像とは、被写体（製造物）の表面における法線ベクトルのx,y,z座標の値に赤(Red)，緑(Green)，青(Blue)の各原色を対応させることによって着色された画像である。深度画像とは、視点位置からの距離に応じて着色された画像である。濃淡画像とは、単色の多階調画像である。
【００２７】
データ表示部２３は、生成部２２で生成された第一投影画像５１を表示装置５に表示させるものである。本実施形態のデータ表示部２３は、各種の第一投影画像５１のうち、図５（Ａ）に示すような透視投影図を表示装置５に表示させる。この透視投影図の代わりに、図５（Ｂ）〜（Ｄ）に示すような法線画像，深度画像，濃淡画像を表示装置５に表示させてもよい。データ表示部２３による表示は、画像表示部１３による表示と同様に重畳表示が意図されたものではなく、透視投影図をユーザーに確認させることが意図されている。この透視投影図が表示されている表示装置５の画面を図４（図中右側）に例示する。
【００２８】
変更部２４は、生成部２２で第一投影画像５１を生成する際に参照される第一外部パラメータを変更するものである。変更部２４は、あらかじめ設定された規則に基づいて、あるいはユーザーの入力操作に基づいて、第一外部パラメータを変更する。本実施形態の変更部２４は、ユーザーによる第一外部パラメータの入力・変更を可能とするUI（User Interface）を提供する。例えば、マウスやキーボード操作で第一投影画像５１の視点位置及び視線方向をユーザーが直感的に変更できるようにする。
【００２９】
図４中のマウスポインタ５３は、第一投影画像５１の位置やスケール（拡縮率），回転方向，回転量などを変更するためのマウス入力が可能であることを示している。例えば、第一投影画像５１をマウスでドラッグする（左クリックしたままマウスポインタ５３の位置を移動させる）ことで表示位置が変更され、第一投影画像５１の上で右クリックした状態で上下方向にドラッグすることでスケールが変更されるものとする。また、第一投影画像５１以外の余白部分においてマウスを右クリックした状態で上下方向にドラッグすることで第一投影画像５１が上下方向に回転し、マウスを右クリックした状態で左右方向にドラッグすることで第一投影画像５１が左右方向に回転するものとする。ここで変更された第一外部パラメータの値は、生成部２２で生成される第一投影画像５１にリアルタイムに反映される。
【００３０】
第二抽出部２５は、生成部２２で生成された第一投影画像５１に基づき、製造物の立体形状の稜線に相当する第二直線群５５を抽出するものである。第二直線群５５とは、第一投影画像５１中の平面座標系で定義される直線（二次元平面内の直線）の集合である。第二直線群５５は、例えば第一投影画像５１に公知のエッジ検出処理（Sobel処理，Laplacian処理，Canny処理など）を施してエッジ画像を生成した後に、公知の直線検出処理（Hough変換や確率的Hough変換など）を施すことで抽出可能である。図５（Ｅ）は、図５（Ｂ）に示す法線画像から抽出された第二直線群５５を示す図である。
【００３１】
本実施形態の第二直線群５５は、生成部２２で生成された第一投影画像５１のうち、少なくとも法線画像，深度画像，濃淡画像のいずれかを用いて第二直線群５５を抽出する。なお、濃淡画像に関しては、レンダリング時の照明位置に依存してエッジの検出できない部位（エッジの検出精度が著しく低下する部位）が生じうる。そのため、濃淡画像を用いる場合には他の画像（法線画像または深度画像）を併用して第二直線群５５を抽出することが好ましい。法線画像，深度画像に関しても同様であり、単独の画像を用いるよりは複数の画像を併用することが好ましい。法線画像，深度画像，濃淡画像の三画像を併用することで、第二直線群５５の抽出精度が著しく向上する。
【００３２】
なお、第二直線群５５は、第一抽出部１４に第一投影画像５１を入力することでも抽出することが可能である。したがって、第一抽出部１４，第二抽出部２５のいずれか一方を省略し、残りの一方に二つの機能を集約させてもよい。あるいは、第一抽出部１４と第二抽出部２５との両方を設けることで、第一直線群５４の抽出と第二直線群５５の抽出とを同時に並行して処理できるようにしてもよい。
【００３３】
三次元変換部２６は、第一外部パラメータに基づき、第二直線群５５を三次元の第三直線群５６に変換するものである。第二直線群５５（二次元）から第三直線群５６（三次元）への変換は、例えば第一外部パラメータを用いた逆投影処理で実現することができる。本実施形態の三次元変換部２６は、第二直線群５５に含まれるそれぞれの直線について、その直線上に位置する二つの点を設定する。また、第一投影画像５１中の平面座標系における各点の座標（二次元座標）と各点の深度情報と第一外部パラメータとから各点の三次元座標を算出し、三次元の直線を特定する。このような演算をそれぞれの直線で繰り返すことによって、複数の三次元直線を含む第三直線群５６の情報が得られる。
【００３４】
なお、第二直線群５５から第三直線群５６への変換に際し、第二直線群５５に含まれる二次元直線上の複数の点（二次元）を逆投影変換により三次元の点に変換し、それらを繋いだ線分の形状変化率に基づいて直線を分割しながら第三直線群５６を求めてもよい。線分の形状変化率を参照することで、曲線状の稜線を複数の直線に分けて（折れ線として）認識することが容易となる。
【００３５】
分割部２７は、第三直線群５６に含まれる直線のうち、実際の製造物の表面から離隔している部位（実際の製造物の稜線に相当しない部位）を第三直線群５６から除去するものである。ここでは、例えば第二抽出部２５での誤抽出に由来する不適切な部位が第三直線群５６から除外される。図６（Ａ）に示すように、頂面と側面との境界をなす一辺に凹みが形成された立方体状の製造物について、矢印方向を視線方向とした場合について説明する。立方体の頂面及び凹みの底面のそれぞれの法線方向は、ほぼ同一であるものとする。図６（Ｂ）に示す第一投影画像５１（法線画像）では、実際よりも凹みの形状が小さく見えるようになる。これにより、実際には凹みを介して二分されている稜線が、一本の直線６１として誤抽出されうる。
【００３６】
このような課題を踏まえて、分割部２７は、第三直線群５６に含まれる直線を複数の点６２（または線分）に分割し、それぞれの点６２の近傍に設計データが存在するか否かを判定する。設計データが近傍に存在しない場合にはその点６２を除去し、存在する場合にはその点６２を残存させる。このとき、点６２から設計データまでの距離が所定距離以上である場合に「設計データが近傍に存在しない」と判断する。これにより、図６（Ｄ）に示すように、凹みに対応する部位の点６２が削除される。その後、残存した複数の点６２の連続性を評価することで直線に再結合させる。図６（Ｅ）中の直線６３は、削除された部分よりも右側に位置していた点６２を再結合したものに相当し、直線６４は、左側に位置していた点６２を再結合したものに相当する。このような操作を繰り返すことで、設計データのモデル形状に従った複数の三次元直線を取得することができる。
【００３７】
二次元変換部２８は、分割部２７で不適切な部位が除去された第三直線群５６を再度、二次元直線群に投影変換するものである。この二次元直線群は、表示装置５に表示するために二次元化されたものであり、実質的には第三直線群５６と同じものである。ここでは、第一外部パラメータに基づいて第三直線群５６が二次元直線群に変換される。ここで算出された二次元直線群の情報は、重畳処理部３０に伝達される。
【００３８】
［３−３．重畳処理部］
重畳処理部３０には、稜線表示部３１，取得部３２，算出部３３，重畳表示部３４が設けられる。稜線表示部３１は、第一直線群５４と第三直線群５６とを選択可能な状態で表示装置５に表示させるものである。本実施形態では、第三直線群５６と実質的に同一な情報である二次元直線群が表示装置５に表示される。例えば図４に示すように、第一直線群５４は撮像画像５０の上に重ねて表示され、第三直線群５６（二次元直線群）は第一投影画像５１の上に重ねて表示される。これにより、撮像画像５０における稜線と第一投影画像５１における稜線とが強調され、ユーザーが対応関係を選択しやすくなる。
【００３９】
取得部３２は、ユーザーの選択操作に基づき、第一直線群５４と第三直線群５６との対応関係を取得するものである。取得部３２は、第一直線群５４に含まれる直線が、第三直線群５６に含まれるどの直線に対応するものであるか（どれが直線ペアであるか）をユーザーが入力することのできるUIを提供する。例えば、図４中のマウスポインタを第一直線群５４内のいずれかの直線上に移動させて左クリックし、その後、対応する第三直線群５６内のいずれかの直線上にマウスポインタを移動させて左クリックすることで、一組の直線ペアの関係が特定されるものとする。本実施形態の取得部３２は、設計データ上の三次元座標が撮像画像５０のどこの座標に透視変換されるかを把握するために、少なくとも四組以上の対応関係を取得する。少なくとも四組の対応関係を特定することで上記の透視変換の計算が可能となる。ここで取得された対応関係の情報は、算出部３３に伝達される。
【００４０】
算出部３３は、取得部３２で取得された対応関係に基づき、撮像画像５０の撮像位置及び撮像方向と同等の視点位置及び視線方向を表す第二外部パラメータを算出するものである。設計データ及び第二外部パラメータに基づく透視投影画像は、撮像画像５０に一致する画像となる。したがって、第二外部パラメータを算出することで、設計データ上の三次元座標が撮像画像５０のどこの座標に透視変換されるかを精度よく把握できるようになる。ここで算出された第二外部パラメータの情報は、重畳表示部３４に伝達される。
【００４１】
重畳表示部３４は、設計データ及び第二外部パラメータに基づき、製造物の第二投影画像５２を生成するとともに、これを撮像画像５０に重ねてレンダリングするものである。上記の通り、撮像画像５０の撮像位置及び撮像方向と同等の視点位置及び視線方向を把握することで、撮像画像５０に一致する透視投影画像が生成可能となる。図７は、撮像画像５０とこれに重畳された第二投影画像５２とを例示する図である。このような重畳表示により、ユーザーは撮像画像５０と第二投影画像５２との差異を目視で迅速に発見することが容易となり、製品検査の精度や作業効率が改善される。
【００４２】
［４．フローチャート］
図８は、重畳表示プログラム６における重畳表示方法の手順を例示するフローチャートである。まず、カメラ画像処理部１０において、製造物の稜線に相当する第一直線群５４が撮像画像５０に基づいて抽出される（ステップＡ１）。一方、設計データ処理部２０では、第一外部パラメータの初期値が読み込まれるとともに（ステップＡ２）、その第一外部パラメータと設計データとに基づき、第一投影画像５１が生成される（ステップＡ３）。本実施形態では、図５（Ａ）〜（Ｄ）に示すように、複数の第一投影画像５１が生成される。これらの第一投影画像５１のうち、図５（Ａ）に示すポリゴンの透視投影図は、ユーザーによる第一外部パラメータの入力・変更を補助するために表示される。
【００４３】
第一投影画像５１のうち、図５（Ｂ）〜（Ｄ）に示す法線画像，深度画像，濃淡画像は、第二直線群５５の抽出に用いられる。すなわち、製造物の稜線に相当する第二直線群５５が第一投影画像５１に基づいて抽出される（ステップＡ４）。その後、第一外部パラメータを用いた逆投影処理により、二次元の第二直線群５５が三次元の第三直線群５６に変換される（ステップＡ５）。これにより、設計データ上の稜線に相当する三次元の直線が把握される。
【００４４】
また、第三直線群５６に含まれる直線のうち、製造物の表面から離隔している部位は、第三直線群５６から除外され、残存した部位は再結合される（ステップＡ６）。これにより、第二抽出部２５での誤抽出に由来する不適切な部位が第三直線群５６から取り除かれ、第三直線群５６の抽出精度が向上する。その後、不適切な部位が除去された第三直線群５６が二次元直線群に投影変換され（ステップＡ７）、第一直線群５４と第三直線群５６とが選択可能な状態で表示装置５に表示され（ステップＡ８）、ユーザーによる入力が受け付けられる状態となる（ステップＡ９）。ユーザーは、第一直線群５４と第三直線群５６とを見比べながら、第一外部パラメータの変更や、第一直線群５４と第三直線群５６との対応関係の選択を実施することが可能となる。
【００４５】
続いて、第一外部パラメータがユーザーによって変更されたか否かが判定される（ステップＡ１０）。この条件が成立するとフローがステップＡ３まで戻り、第一投影画像５１が再生成される。これにより、視点位置や視線方向が異なる第一投影画像５１が描画されることになり、これに応じて第二直線群５５や第三直線群５６も再計算される。また、第一直線群５４と第三直線群５６との対応関係について、少なくとも四組の対応関係がユーザーに選択されたか否かが判定される（ステップＡ１１）。
【００４６】
この条件が不成立の場合にはフローがステップＡ３まで戻る。一方、この条件が成立すると、第二外部パラメータが算出され（ステップＡ１２）、設計データと第二外部パラメータとに基づいて第二投影画像５２が描画される（ステップＡ１３）。このとき、第二投影画像５２の視点位置及び視線方向は、撮像画像５０の撮像位置及び撮像方向と同等となる。したがって、第二投影画像５２は撮像画像５０に対してほぼ一致した状態で重畳表示される。
【００４７】
［５．作用，効果］
（１）上述の実施形態では、設計データに基づいて第一投影画像５１を生成し、第一投影画像５１から稜線に相当する第二直線群５５を抽出するとともに三次元の第三直線群５６に変換している。このような処理を実施することで、設計データ内の稜線の抽出効率を向上させることができる。例えば、既存の手法では稜線として検出できないようなフィレット（丸み，ラウンド）付きのエッジにおいても、稜線を抽出することが可能となる。したがって、重畳表示の精度を向上させることができる。
【００４８】
また、撮像画像５０内の直線部分（二次元）と設計データ内の稜線部分（三次元）との対応関係を適切に特定することができるようになる。つまり、既存の技術では稜線の抽出が困難だった物体に対しても重畳表示を可能とすることができ、重畳表示技術の適用対象を拡大することができる。さらに、設計データに含まれるポリゴン数が多い場合であっても、二次元の第一投影画像５１から第二直線群５５を抽出するための演算負荷は、三次元の稜線抽出のための演算負荷と比較して小さい。したがって、既存の手法と比較して、演算時間を短縮することができ、演算効率を改善することができる。
【００４９】
（２）上述の実施形態では、図４に示すように、第一直線群５４と第三直線群５６とを選択可能な状態で表示した上でユーザーに対応関係（ペア）を選択させている。このような手法を採用することで、直線群同士の適切な対応関係を取得することが容易となり、第二外部パラメータの推定精度を向上させることができる。また、直感的にわかりやすいユーザーフレンドリーなUIを提供することができ、利便性を向上させることができるとともに、製品検査の精度や作業効率を高めることができる。
【００５０】
（３）上述の実施形態では、第一外部パラメータが変更されるたびに第一投影画像５１が更新され、その都度、第三直線群５６が更新される。これにより、第一投影画像５１を回転させながら第一直線群５４と第三直線群５６との対応関係を確認することができ、利便性を向上させることができるとともに、製品検査の精度や作業効率を高めることができる。
【００５１】
（４）特に、上述の実施形態では第一投影画像５１の第一外部パラメータをユーザーが入力できるようになっている。これにより、第一直線群５４と第三直線群５６との対応関係を特定しやすくすることができる。例えば、撮像画像５０に精度良く重畳する視点位置・視線方向で第一投影画像５１を表示した状態において、選択したい直線が他の直線の近傍に位置している場合に、その直線を上手に選択できないことが考えられる。このような場合であっても、ユーザーは第一投影画像５１をわずかに回転させて、所望の直線を選択しやすくすることができる。したがって、利便性を向上させることができるとともに、製品検査の精度や作業効率を高めることができる。
【００５２】
（５）上述の実施形態では、図４に示すように、第三直線群５６だけでなく第一外部パラメータに応じた製造物の立体形状が表示される。これにより、第一外部パラメータが変更された結果（第一投影画像５１がどのような見え方になるのか）をユーザーにわかりやすく示すことができ、視点位置及び視線方向を精度よく変更させることができる。また、第三直線群５６が抽出される元になった形状をユーザーにわかりやすく表示することができ、視点位置及び視線方向を精度よく変更させることができる。
【００５３】
（６）上述の実施形態では、図５（Ｂ）〜（Ｄ）に示すように、少なくとも法線画像，深度画像，濃淡画像のいずれかで第一投影画像５１が生成される。これにより、簡素な演算構成で迅速かつ精度良く第二直線群５５を抽出することができ、延いては第三直線群５６の抽出精度を向上させることができる。
【００５４】
（７）上述の実施形態では、第三直線群５６に含まれる直線について、製造物の表面から離隔している部位が第三直線群５６から除外される。これにより、第三直線群５６に含まれる直線がデータ上の立体形状に沿った形状となり、第一直線群５４と第三直線群５６との対応関係を正しく選択することができる。
【００５５】
（８）上述の実施形態では、第三直線群５６に含まれる直線が複数の点に分割され、物体までの距離が所定距離以上となる点が除去されるとともに、残存した点が再結合される。これにより、図６（Ｅ）に示すように、設計データのモデル形状に従った複数の三次元直線を取得することができ、第三直線群５６の抽出精度をさらに向上させることができる。
【００５６】
［５．変形例］
本実施形態はあくまでも例示に過ぎず、上記の実施形態で明示しない種々の変形や技術の適用を排除する意図はない。すなわち、上記の実施形態をその趣旨を逸脱しない範囲で種々変形して（例えば、実施形態や変形例を組み合わせることによって）実施することが可能である。
【００５７】
例えば、上述の実施形態では、ユーザーが設定した第一外部パラメータに基づいて第二直線群５５や第三直線群５６を抽出する制御について詳述したが、第一外部パラメータの設定や選択を自動化してもよい。例えば、ユーザーに第一外部パラメータの初期値を設定してもらい、その後は第一外部パラメータの値を相違させた複数の外部パラメータを自動生成し、ユーザーに提示することが考えられる。この場合、自動生成された複数の外部パラメータのそれぞれについて法線画像，深度画像，濃淡画像を生成し、第二直線群５５を抽出してもよい。第一外部パラメータの設定を自動化することで、ユーザーの作業負荷を軽減することができる。
【００５８】
また、上述の実施形態におけるデータ表示部２３は、各種の第一投影画像５１のうち、図５（Ａ）に示すような透視投影図を表示装置５に表示させているが、これに加えて（あるいは代えて）法線画像，深度画像，濃淡画像などを表示装置５に表示させてもよい。すなわち、データ表示部２３は、物体の第一投影画像５１または第一外部パラメータに応じた物体の立体形状を表示するものであればよい。
【００５９】
［６．付記］
上記の変形例を含む実施形態に関し、以下の付記を開示する。
（付記１〜８：情報処理装置）
（付記１）
物体の撮像画像に基づき、前記物体の稜線に相当する第一直線群を抽出する第一抽出部と、
前記物体の立体形状を規定するデータと前記物体を透視投影する際の視点位置及び視線方向を表す第一外部パラメータとに基づき、前記物体の第一投影画像を生成する生成部と、
前記第一投影画像に基づき、前記稜線に相当する第二直線群を抽出する第二抽出部と、
前記第一外部パラメータに基づき、前記第二直線群を三次元の第三直線群に変換する三次元変換部と、
前記第一直線群と前記第三直線群との対応関係に基づき、前記撮像画像の撮像位置及び撮像方向と同等の視点位置及び視線方向を表す第二外部パラメータを算出する算出部と、
前記データと前記第二外部パラメータとに基づき、前記物体の第二投影画像を前記撮像画像に重ねてレンダリングする重畳表示部とを備える
ことを特徴とする、情報処理装置。
【００６０】
（付記２）
前記第一直線群と前記第三直線群とを選択可能な状態で表示装置に表示させる稜線表示部と、
ユーザーの選択操作に基づき、前記第一直線群と前記第三直線群との対応関係を取得する取得部とを備える
ことを特徴とする、付記１記載の情報処理装置。
【００６１】
（付記３）
前記第一外部パラメータを変更する変更部を備え、
前記生成部が、前記第一外部パラメータが変更されるたびに前記第一投影画像を更新する
ことを特徴とする、付記１または２記載の情報処理装置。
【００６２】
（付記４）
前記変更部が、前記第一外部パラメータをユーザーに入力させる機能を有する
ことを特徴とする、付記３記載の情報処理装置。
【００６３】
（付記５）
前記物体の第一投影画像または前記第一外部パラメータに応じた前記物体の立体形状を表示するデータ表示部を備える
ことを特徴とする、付記１〜４のいずれか１項に記載の情報処理装置。
【００６４】
（付記６）
前記生成部が、少なくとも法線画像，深度画像，濃淡画像のいずれかで前記第一投影画像を生成する
ことを特徴とする、付記１〜５のいずれか１項に記載の情報処理装置。
【００６５】
（付記７）
前記第三直線群に含まれる直線について、前記物体の表面から離隔している部位を前記第三直線群から除外する分割部を備える
ことを特徴とする、付記１〜６のいずれか１項に記載の情報処理装置。
【００６６】
（付記８）
前記分割部が、前記第三直線群に含まれる直線を複数の線分に分割し、前記立体形状までの距離が所定距離以上となる前記線分を除去するとともに、残存した前記線分を再結合させる
ことを特徴とする、付記７記載の情報処理装置。
【００６７】
（付記９〜１６：重畳表示プログラム）
（付記９）
物体の撮像画像に基づき、前記物体の稜線に相当する第一直線群を抽出し、
前記物体の立体形状を規定するデータと前記物体を透視投影する際の視点位置及び視線方向を表す第一外部パラメータとに基づき、前記物体の第一投影画像を生成し、
前記第一投影画像に基づき、前記稜線に相当する第二直線群を抽出し、
前記第一外部パラメータに基づき、前記第二直線群を三次元の第三直線群に変換し、
前記第一直線群と前記第三直線群との対応関係に基づき、前記撮像画像の撮像位置及び撮像方向と同等の視点位置及び視線方向を表す第二外部パラメータを算出し、
前記データと前記第二外部パラメータとに基づき、前記物体の第二投影画像を前記撮像画像に重ねてレンダリングする
処理をコンピュータに実行させる、重畳表示プログラム。
【００６８】
（付記１０）
前記第一直線群と前記第三直線群とを選択可能な状態で表示装置に表示させ、
ユーザーの選択操作に基づき、前記第一直線群と前記第三直線群との対応関係を取得する
処理をコンピュータに実行させる、付記９記載の重畳表示プログラム。
【００６９】
（付記１１）
前記第一外部パラメータを変更し、
前記第一外部パラメータが変更されるたびに前記第一投影画像を更新する
処理をコンピュータに実行させる、付記９または１０記載の重畳表示プログラム。
【００７０】
（付記１２）
前記第一外部パラメータをユーザーに入力させる
処理をコンピュータに実行させる、付記１１記載の重畳表示プログラム。
【００７１】
（付記１３）
前記物体の第一投影画像または前記第一外部パラメータに応じた前記物体の立体形状を表示する
処理をコンピュータに実行させる、付記９〜１２のいずれか１項に記載の重畳表示プログラム。
【００７２】
（付記１４）
少なくとも法線画像，深度画像，濃淡画像のいずれかで前記第一投影画像を生成する
処理をコンピュータに実行させる、付記９〜１３のいずれか１項に記載の重畳表示プログラム。
【００７３】
（付記１５）
前記第三直線群に含まれる直線について、前記物体の表面から離隔している部位を前記第三直線群から除外する
処理をコンピュータに実行させる、付記９〜１４のいずれか１項に記載の重畳表示プログラム。
【００７４】
（付記１６）
前記第三直線群に含まれる直線を複数の線分に分割し、前記立体形状までの距離が所定距離以上となる前記線分を除去するとともに、残存した前記線分を再結合させる
処理をコンピュータに実行させる、付記１５記載の重畳表示プログラム。
【００７５】
（付記１７〜２４：重畳表示方法）
（付記１７）
物体の撮像画像に基づき、前記物体の稜線に相当する第一直線群を抽出し、
前記物体の立体形状を規定するデータと前記物体を透視投影する際の視点位置及び視線方向を表す第一外部パラメータとに基づき、前記物体の第一投影画像を生成し、
前記第一投影画像に基づき、前記稜線に相当する第二直線群を抽出し、
前記第一外部パラメータに基づき、前記第二直線群を三次元の第三直線群に変換し、
前記第一直線群と前記第三直線群との対応関係に基づき、前記撮像画像の撮像位置及び撮像方向と同等の視点位置及び視線方向を表す第二外部パラメータを算出し、
前記データと前記第二外部パラメータとに基づき、前記物体の第二投影画像を前記撮像画像に重ねてレンダリングする
ことを特徴とする、重畳表示方法。
【００７６】
（付記１８）
前記第一直線群と前記第三直線群とを選択可能な状態で表示装置に表示させ、
ユーザーの選択操作に基づき、前記第一直線群と前記第三直線群との対応関係を取得する
ことを特徴とする、付記１７記載の重畳表示方法。
【００７７】
（付記１９）
前記第一外部パラメータを変更し、
前記第一外部パラメータが変更されるたびに前記第一投影画像を更新する
ことを特徴とする、付記１７または１８記載の重畳表示方法。
【００７８】
（付記２０）
前記第一外部パラメータをユーザーに入力させる
ことを特徴とする、付記１９記載の重畳表示方法。
【００７９】
（付記２１）
前記物体の第一投影画像または前記第一外部パラメータに応じた前記物体の立体形状を表示する
ことを特徴とする、付記１７〜２０のいずれか１項に記載の重畳表示方法。
【００８０】
（付記２２）
少なくとも法線画像，深度画像，濃淡画像のいずれかで前記第一投影画像を生成する
ことを特徴とする、付記１７〜２１のいずれか１項に記載の重畳表示方法。
【００８１】
（付記２３）
前記第三直線群に含まれる直線について、前記物体の表面から離隔している部位を前記第三直線群から除外する
ことを特徴とする、付記１７〜２２のいずれか１項に記載の重畳表示方法。
【００８２】
（付記２４）
前記第三直線群に含まれる直線を複数の線分に分割し、前記立体形状までの距離が所定距離以上となる前記線分を除去するとともに、残存した前記線分を再結合させる
ことを特徴とする、付記２３記載の重畳表示方法。
【符号の説明】
【００８３】
１  情報処理装置（コンピューター）
２  カメラ
３  ストレージ
４  入力機器
５  表示装置
６  重畳表示プログラム
１０  カメラ画像処理部
１１  制御部
１２  画像記憶部
１３  画像表示部
１４  第一抽出部
２０  設計データ処理部
２１  読み込み部
２２  生成部
２３  データ表示部
２４  変更部
２５  第二抽出部
２６  三次元変換部
２７  分割部
２８  二次元変換部
３０  重畳処理部
３１  稜線表示部
３２  取得部
３３  算出部
３４  重畳表示部
５０  撮像画像
５１  第一投影画像
５２  第二投影画像
５４  第一直線群
５５  第二直線群
５６  第三直線群
【図１】
2019159375.tif 000003
【図２】
2019159375.tif 000004
【図３】
2019159375.tif 000005
【図４】
2019159375.tif 000006
【図５】
2019159375.tif 000007
【図６】
2019159375.tif 000008
【図７】
2019159375.tif 000009
【図８】
2019159375.tif 000010