[go: up one dir, main page]

JP6376887B2 - 3dスキャナ、3dスキャン方法、コンピュータプログラム、記録媒体 - Google Patents

3dスキャナ、3dスキャン方法、コンピュータプログラム、記録媒体 Download PDF

Info

Publication number
JP6376887B2
JP6376887B2 JP2014162942A JP2014162942A JP6376887B2 JP 6376887 B2 JP6376887 B2 JP 6376887B2 JP 2014162942 A JP2014162942 A JP 2014162942A JP 2014162942 A JP2014162942 A JP 2014162942A JP 6376887 B2 JP6376887 B2 JP 6376887B2
Authority
JP
Japan
Prior art keywords
mount
stage
image
cpu
photographing
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
JP2014162942A
Other languages
English (en)
Other versions
JP2016038338A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2014162942A priority Critical patent/JP6376887B2/ja
Priority to US14/819,238 priority patent/US9392263B2/en
Publication of JP2016038338A publication Critical patent/JP2016038338A/ja
Application granted granted Critical
Publication of JP6376887B2 publication Critical patent/JP6376887B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00278Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a printing apparatus, e.g. a laser beam printer
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1215Improving printing performance achieving increased printing speed, i.e. reducing the time between printing start and printing end
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/1219Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to consumables, e.g. ink, toner, paper
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1256User feedback, e.g. print preview, test print, proofing, pre-flight checks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/257Colour aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/296Synchronisation thereof; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/254Image signal generators using stereoscopic image cameras in combination with electromagnetic radiation sources for illuminating objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0077Colour aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0096Synchronisation or controlling aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Description

本発明は、スキャンの対象となる対象物の立体形状を非接触で測定する3Dスキャナに関する。
3Dスキャナは、対象物を複数の方向から光学的に測定した結果を貼り合わせることで3Dモデルを構築する。しかし対象物の表面に特徴が無い場合、対象物を測定した結果の貼り合わせ位置や角度を特定することができず、正確な3Dモデルを構築することが困難である。そのために、対象物の位置や向きが特定できる仕組みを併用することで、貼り合わせ位置や角度を算出することが行われている。その際には、対象物が正確な位置に配置され、必要な方向から測定されることが、3Dモデルを正確かつ効率的に構築するために重要である。
特許文献1では、対象物の位置を正確に特定するために、既知の二次元プレートを有する走査テンプレート部材上に対象物を配置してスキャンする。カメラで撮像した映像に含まれる2次元テンプレートと対象物との位置関係から対象物の位置を正確に把握して、3Dモデルの構築精度を高めることができる。特許文献2では、ハンディタイプの3Dスキャナを用い、ユーザがどの方向に3Dスキャナを移動させるかを指示する技術が開示される。
特表2007−508557号公報 特開2002−74347号公報
据え置き型の3Dスキャナは、ユーザが対象物を適切に配置、移動、回転することで正確な3Dスキャンを行う。対象物の最適なスキャン位置や向きをユーザが一意に把握するための指標がスキャン時に対象物が配置されるステージ上にあれば、ユーザは迅速に対象物を適切な位置に配置できる。従来は、例えばパーソナルコンピュータの表示画面に対象物の位置や向きを指示する指示画面を表示し、ユーザがこの指示画面に応じて手探りで適切な位置を探している。これは、ユーザにストレスを感じさせることになり、迅速な3Dスキャン処理を妨げることになる。
本発明は、上記の問題を解決するために、対象物を適切な位置に迅速に配置することができる据え置き型の3Dスキャナを提供することを主たる課題とする。
上記課題を解決する本発明の3Dスキャナは、スキャンの対象となる対象物が配置されるステージと、スキャン時に前記ステージの上に置かれ、その上に前記対象物が配置される台紙と、前記ステージに画像を表示する表示手段と、前記ステージを撮影する撮影手段と、前記撮影手段で撮影された前記対象物の映像に基づいて当該対象物の3Dモデルデータを生成するとともに、前記撮影手段で撮影された前記対象物及び前記台紙の映像に基づいて、前記表示手段により、前記台紙を移動する方向を指示する画像を前記ステージに表示する制御手段と、を備えることを特徴とする。
本発明によれば、台紙の上に対象物を配置して3Dスキャンを行い、台紙を移動する方向を指示する画像を表示する。ユーザは台紙を移動する方向を指示する画像を頼りに、台紙を移動させることで、対象物を適切な位置に迅速に配置することができる。
3Dスキャン装置の構成例示図。 コントローラのハードウェア構成図。 3Dスキャン処理を表すフローチャート。 対象物検知処理を表すフローチャート。 概形取得処理を表すフローチャート。 台紙サイズの算出処理を表すフローチャート。 イメージ生成処理を表すフローチャート。 (a)は対象物の深度画像、(b)は輝度差の大きな色の説明図。 (a)〜(d)は候補色の説明図。 指標の説明図。 折り曲げ位置線の説明図。 印刷前の確認処理を表すフローチャート。 台紙用イメージの表示例示図。 台紙の例示図。 台紙検知処理を表すフローチャート。 対処物検知処理を表すフローチャート 対象物測定処理を表すフローチャート。 カメラ位置を原点とした座標系の説明図。 (a)、(b)はガイド及びグラフの例示図。 対象物と3Dモデルとの関係例示図。 (a)、(b)は3Dモデルの例示図。 3Dモデル確認処理を表すフローチャート。 3Dモデルの確認を行う際の説明図。
以下、図面を参照して実施の形態を詳細に説明する。
(構成)
図1は本実施形態の3Dスキャン装置の構成例示図である。3Dスキャナ1は、3Dスキャン時にスキャンの対象となる対象物Oが配置されるステージSを備え、ステージSの上方にプロジェクタ108と赤外線エミッタ109aを内蔵したカメラ109とが設置される。プロジェクタ108は、ステージS上に画像を投影するように配置される。カメラ109は、ステージS上の対象物Oを含むステージS全体を撮影するように配置される。赤外線エミッタ109aは、ステージS上を赤外線で照射可能に配置される。3Dスキャナ1は、この他に、プリンタ112を備える。
カメラ109は、撮影した映像をRGB輝度情報を含むデジタル信号に変換する。また、カメラ109は、3Dスキャンを行う際に赤外線エミッタ109aにより赤外線を照射し、その反射光を撮影する。赤外線の照射時刻と反射光の撮影時刻とから、カメラ109と対象物Oとの距離が算出可能である。プロジェクタ108は、ユーザに通知する必要のある情報をステージS上に投影して表示する。プリンタ112は、紙媒体への印刷を行う。特に、本実施形態では、プリンタ112は、対象物Oのスキャン時の位置決めを行うための台紙Mに、位置決めのための様々な情報を印刷する。台紙Mは、スキャン時にステージS上に置かれ、その上に対象物Oが配置される。3Dスキャナ1の各部は、コンピュータの一種であるコントローラ100により動作が制御される。
図2は、コントローラ100のハードウェア構成図である。コントローラ100は、プロジェクタ108、カメラ109、及びプリンタ112に接続され、LAN等のネットワーク9000を介して他の装置と通信可能である。コントローラ100は、内部バス113を備え、内部バス113により、メモリコントローラ103、I/Oコントローラ105、及びエンジンコントローラ106間でデータの送受信が可能である。
I/Oコントローラ105は、HDD(Hard Disk Drive)107、LANポート111、カメラ109、及びプロジェクタ108と、内部バス113を介して接続される他のハードウェアとの間で、データの送受信を制御する。LANポート111は、ネットワーク9000を介して接続されるパーソナルコンピュータ等の他の装置との通信インタフェースである。LANポート111は、ネットワーク9000を介して受信したデータをI/Oコントローラ105に入力し、I/Oコントローラ105から受信したデータを、ネットワーク9000を介して他の装置に送信する。HDD107は、ブートローダプログラム及び3Dスキャナ1を制御するための制御プログラム等のコンピュータプログラムを記録するコンピュータ読み取り可能な記録媒体である。また、HDD107は、対象物Oのスキャンの結果得られる3Dモデルを表す3Dモデルデータを格納する。エンジンコントローラ106は、紙媒体への印刷処理を行うためにプリンタ112とのデータの送受信を行い、プリンタ112の動作を制御する。
メモリコントローラ103は、メインメモリ104に対するメモリアクセス全般を制御する。メモリコントローラ103には、内部バス113を介さずに、CPU(Central Processing Unit)101、グラフィックコントローラ102、及びメインメモリ104が接続される。
メインメモリ104は揮発性メモリであり、高速アクセスが可能である。そのためにメインメモリ104には、プログラムの実行時にHDD107から読み出されたプログラムが展開され、また、一時的に使用するデータが格納される。CPU101は、3Dスキャナ1の電源投入時にHDD107からブートローダプログラムを読み出して実行し、3Dスキャナ1の制御プログラムを読み出してメインメモリ104に展開する。CPU101は、メインメモリ104に展開した3Dスキャナ1の制御プログラムを実行することで、3Dスキャナ1全体の処理を制御するように機能する。
CPU101は、3Dスキャナ制御プログラムを実行することで、グラフィックコントローラ102の動作を制御する。グラフィックコントローラ102は、プロジェクタ108による画像の表示を制御する。CPU101は、3Dスキャナ1の制御プログラムを実行することでカメラ109の動作を制御して、カメラ109に内蔵された赤外線エミッタ109aによる赤外線照射を行い、その反射光をカメラ109で撮影する。CPU101は、カメラ109で撮影された映像に基づいて3Dモデルデータを生成する。
CPU101は、カメラ109で撮影された映像により、人(ユーザ)のジェスチャを解釈することもできる。例えばプロジェクタ108によりステージSに投影された画像に対するユーザのジェスチャをカメラ109が撮影すると、CPU101は、その映像に基づいてユーザのジェスチャを解釈する。CPU101は、解釈したユーザのジェスチャに応じて処理を行う。このように、プロジェクタ108により投影される画像とカメラ109で撮影した映像とにより、ユーザインタフェースを構築することができる。
CPU101は、3Dスキャナ1の制御プログラムを実行することで、エンジンコントローラ106の動作を制御し、プリンタ112に印刷処理を行わせる。これにより、CPU101は、台紙Mに対象物Oを適切に配置するための情報を印刷することができる。また、CPU101は、LANポート111を経由して、他の装置との通信を行う。
このような構成の3Dスキャナ1は、以下のような処理により対象物Oの3Dスキャンを行い、3Dモデルデータを生成する。
(3Dスキャン処理)
図3は、3Dスキャナ1による対象物Oの3Dスキャン処理を表すフローチャートである。
CPU101は、カメラ109で撮影した映像に基づいて3Dスキャンの対象となる対象物OがステージS上に配置されたことを検知する(S301)。CPU101は、この際に、ユーザによりスキャンの設定を受け付ける。具体的にCPU101は、対象物Oを3Dスキャンするか、或いは2Dスキャンするかの設定を受け付ける。なお、この時点で台紙Mは印刷されておらず、対象物OはステージS上に直接置かれる。
CPU101は、3Dスキャンが設定された場合(S302:3D)、対象物Oの概形を取得する(S303)。CPU101は、カメラ109で撮影した映像に基づいて対象物Oの概形を取得する。CPU101は、対象物Oの概形に基づいて台紙Mのサイズを算出する(S304)。台紙Mのサイズの算出後にCPU101は、台紙Mに形成するイメージを生成する(S305)。台紙Mに形成するイメージは、位置決めのための様々な情報を含み、ユーザに3Dスキャン時の対象物Oの配置を指示する。CPU101は、生成したイメージをプロジェクタ108によりステージS上にプレビュー表示する(S306)。これによりCPU101は、ユーザにイメージの確認を促す。ユーザによるイメージの確認が終了すると、CPU101は、プリンタ112による印刷処理を行う(S307)。これにより、イメージが印刷された台紙Mが生成される。
ユーザは、イメージが印刷された台紙MをステージS上に配置する。CPU101は、カメラ109で撮影した映像に基づいて、台紙MがステージS上に配置されたことを検知する(S308)。台紙MがステージS上に配置されると、CPU101は、カメラ109で撮影した映像に基づいて、台紙M上に対象物Oが配置されたことを検知する(S309)。
対象物Oが配置されたことを検知したCPU101は、カメラ109で撮影した映像に基づいて、対象物Oの形状の測定処理を行う(S310)。これにより対象物Oが3Dスキャンされる。CPU101は、対象物Oの形状を測定した結果得られる3Dモデルを、プロジェクタ108によりステージS上に表示する。ユーザは、この表示により3Dモデルを確認する。ユーザは、3Dモデルの確認の結果、再スキャンの必要があれば「再スキャン」の指示を行い、再スキャンの必要がなければ「終了」の指示を行う。CPU101は、再スキャンが指示されれば(S312:再スキャン)、ステップS310の処理に戻って、再度、対象物Oの測定を行う。ステップS310〜S312の処理は、ユーザが「終了」を指示するまで繰り返し行われる。CPU101は、終了が指示されれば(S312:終了)、ユーザにより確認された3Dモデルの3DモデルデータをHDD107に格納して(S313)、処理を終了する。
なお、ステップS301で2Dスキャンが設定された場合(S302:2D)、CPU101は、カメラ109で撮影されたRGBの映像を取得する(S314)。CPU101は、取得したRGBの映像を2Dモデルデータに変換してHDD107に格納し、処理を終了する。
以下、図3の各処理の詳細について説明する。
図4は、図3のステップS301の対象物検知処理を表すフローチャートである。
CPU101は、カメラ109が赤外線撮影により取得した映像に基づいてステージS上の対象物Oを検知する。カメラ109は、赤外線エミッタ109aにより赤外線でステージS上を照射する。カメラ109は、赤外線を照射したままステージS上を撮影することで、赤外線撮影による映像を取得する。
そのためにCPU101は、まず、カメラ109が撮影した赤外線撮影による映像に基づいて、ステージS上の深度画像を取得する(S401)。深度画像の取得技術は、Microsoft社のKinect(登録商標)やPrimeSense社のCarmine(登録商標)を始め数多くの製品により実用化されており、広く知られた技術であるために詳細な説明は省略する。
CPU101は、深度画像により、ステージS内の領域とステージS外の領域との境界であるステージSの端部に立体物があるか否かを判断する(S402)。ユーザがステージS上に対象物Oを配置する場合、対象物Oを配置するユーザの手がステージS上に一旦侵入する。そのためにCPU101は、ユーザの手(立体物)がステージSの境界部分にある場合(S402:存在する)、対象物OのステージS上への配置が終了していないと判断して、再度、深度画像を取得する。
ステージSの境界部分に立体物がない場合(S402:存在しない)、CPU101は、深度画像により、ステージS内の中央部に立体物があるか否かを判断する(S403)。例えば、図1に示すようにステージS上に対象物Oだけが配置された状態で、CPU101は、ステージS内の中央部に立体物があると判断する。ステージS上に立体物が無い場合(S403:存在しない)、CPU101は、対象物OのステージS上への配置が終了していないと判断して、再度、深度画像を取得する。
ステージSの中央部に立体物がある場合(S403:存在する)、CPU101は、プロジェクタ108により、ステージS上に「3Dスキャン」と「2Dスキャン」とのいずれかをユーザに選択させる選択画面を表示する(S404)。ユーザは、選択画面に応じて、ジェスチャにより「3Dスキャン」と「2Dスキャン」とのいずれかを選択することができる。CPU101は、ユーザのジェスチャにより入力を受け付ける(S405)。これにより3Dスキャナ1に「3Dスキャン」又は「2Dスキャン」が設定される。CPU101は、図3のステップS302において、この設定に応じた判断を行う。
ユーザのジェスチャによる入力は、例えばカメラ109で撮影した映像により認識される。CPU101は、例えば、選択画面内の「3Dスキャン」と「2Dスキャン」との表示領域と、撮影したユーザの指の位置とから、ユーザの選択を受け付ける。また、その他に前出のKinect(登録商標)で得た深度画像から行う方法や、既知の指先検出技術を用いる方法等がある。以上のようにして、CPU101は、ステージSに対象物Oが配置されたことを検知し、3Dスキャン或いは2Dスキャンの設定を受け付けることができる。
図5は、図3のステップS303の対象物Oの概形取得処理を表すフローチャートである。CPU101は、対象物Oの3Dスキャンが指示されている場合、カメラ109が赤外線撮影により取得して映像に基づいて、ステージS上の深度画像を取得する(S701)。深度画像の取得は、図4のステップS401と同様の処理によりに行われる。深度画像を取得したCPU101は、カメラ109の赤外線エミッタ109aによる赤外線の照射を中止して、カメラ109に可視光による通常の撮影を行わせる。これによりCPU101は、ステージSのRGB輝度情報からなるRGB映像を取得する(S702)。
CPU101は、深度画像からカメラ109の撮影領域内の対象物Oの存在領域を算出することで、対象物Oの形状を測定する(S703)。CPU101は、測定した対象物Oの形状に基づいて、RGB映像から対象物Oの存在領域の画像を切り出して処理を終了する(S704)。切り出した画像が対象物Oの概形となる。
図6は、図3のステップS304の台紙Mのサイズを算出する処理を表すフローチャートである。
CPU101は、図3のステップS303の処理で取得した対象物Oの概形から、対象物OをステージS上に投影した場合の領域を算出する(S801)。CPU101は、算出した領域の外接矩形を算出する(S802)。CPU101は、算出した外接矩形よりも各辺が所定の長さ(例えば5[cm])大きい矩形を算出する(S803)。CPU101は、算出した矩形の収まる最小定型用紙サイズを算出して、これを台紙Mのサイズとして台紙Mの属性情報に記憶する(S804)。台紙Mの属性情報は、メインメモリ104に記憶される。表1は、台紙Mの属性情報の例示図である。
台紙Mの属性情報には、台紙Mのサイズの他に、紙種、後述する位置マーカA〜Dの位置、指標1、2の位置、及び黒で着色する領域、が記憶される。表1では、台紙Mのサイズとして「A4」が記憶される。位置マーカA〜D及び指標1、2は、3Dスキャン時に台紙MがステージS上に配置される位置の目印となる目標画像である。台紙Mのサイズを外接矩形よりも大きくするために、これらの目標画像を、台紙M上の対象物Oが配置される領域に重ならないように印刷することができる。
図7は、図3のステップS305の台紙Mに印刷するイメージを生成する処理を表すフローチャートである。この処理では、CPU101が、まず、台紙Mの対象物Oが配置される領域に適用する色を決める。図8は、対象物Oに対する深度画像、輝度差の大きな色の説明図である。図8(a)は、対象物Oに対する深度画像を表す。深度画像は、ノイズが多く、正確なエッジの検出には不向きである。そのために、深度画像のみから3Dモデルを作成しても、正確なモデルを生成することが困難である。RGB映像は、ノイズが少なく、輝度差が十分に得られる状況であれば正確なエッジの検出が可能である。対象物Oの3D形状を深度画像から算出し、エッジをRGB映像から算出することで、深度画像のみから3Dモデルを算出する場合よりも正確な3Dモデルの生成が可能である。そのために、RGB映像からエッジが算出しやすくなるように、台紙Mの対象物Oが配置される領域に、対象物Oとの輝度差が大きな色を適用する。
CPU101は、図3のステップS303で取得した対象物Oの概形をグレイ画像に変換する(S1001)。上記の通り、対象物Oのエッジを検出しやすくするために、ステージSと対象物Oが接する部分の輝度差を大きくすることが望ましい。そのために、ステージSから所定高さ以内の対象物Oの領域のみを抽出して、これをグレイ画像に変換するようにしてもよい。
CPU101は、グレイ画像変換後に、対象物Oの外周を複数の領域に分割する(S1002)。CPU101は、分割した各領域に含まれる対象物Oを構成する画素の平均値により、領域毎にグレイ濃度値を算出する(S1003)。カメラ109の取り付け位置によっては、ステージS上でRGB映像を取得できずにグレイ画像が得られない領域が発生する。CPU101は、そのような領域に対して隣接する領域のグレイ濃度値を用いて処理を行う。
CPU101は、領域毎にグレイ濃度を判断する(S1004)。グレイ濃度が20[%]未満の領域であれば(S1004:20%未満)、CPU101は、対象物Oの色が明るい色であるので、台紙Mの該領域の候補色を黒色にする(S1005)。グレイ濃度が20[%]以上80[%]未満の領域であれば(S1004:20〜80%)、CPU101は、対象物Oの色が中間色であるので、台紙Mの該領域の候補色を白色又は黒色にする(S1006)。対象物Oが中間色であるために、台紙Mの該領域の色は白色、黒色のいずれであっても、対象物Oのエッジは検出可能である。グレイ濃度が80[%]以上の領域であれば(S1004:80%以上)、CPU101は、対象物Oの色が暗い色であるので、台紙Mの該領域の候補色を白色にする(S1007)。図8(b)は、対象物Oに対する輝度差の大きな色を表す。対象物Oが全面白色であれば、対象物Oの外周がどの領域もグレイ濃度値が20[%]未満であるために、候補色は黒色になる。
図9は、対象物Oの外周に明暗が混在する場合の候補色の説明図である。図9(a)に示すように、対象物Oの外周に明暗が混在すると、対象物Oの外周の領域によって輝度差の大きな候補色が異なる。この場合、台紙Mの候補色が、対象物Oの外周の領域によって、白色、黒色、白及び黒のいずれでもよい、の三種類に分かれる。本実施形態では、白及び黒のいずれでもよい領域の候補色をなるべく白色とする。これは、台紙Mに印刷する際のプリンタのトナー消費量を抑制するためである。従って、図9(a)の場合には、図9(b)に示すように、白色を優先して候補色が決められる。その結果、台紙Mには、図9(c)に示すパタンが印刷される。このようなパタンが印刷された台紙Mに対象物Oを配置する際には、対象物Oの向きを指示する必要がある。図9(d)は、プロジェクタ108により対象物Oの向きをガイドする場合を表す。
なお、対象物Oの明暗が更に細かく分かれている場合、白色を優先して候補色を決定すると台紙Mに印刷されるパタンが細かく分割されてしまうことがある。この場合、プロジェクタ108により対象物Oの配置をガイドしても細かい調整が必要となり、ユーザにとってのストレスとなる。そのために、白色を優先して候補色を決める場合であっても、候補色が黒色の領域で挟まれた領域の候補色を黒色にする。これにより、対象物Oの配置を細かく調整する必要がなくなり、ユーザのストレスが軽減される。
そのためにCPU101は、対象物Oの外周を分割したすべての領域の候補色を決めると(S1008:Y)、候補色が黒色の領域に挟まれた領域を抽出して、該領域の候補色を黒色に設定する(S1009)。残りの領域で、候補色が白色と黒色とのいずれでもよい場合には、白色に設定する(S1010)。各領域の候補色が決定すると、CPU101は、各領域に設定した候補色による台紙用のイメージを作成する(S1011)。
CPU101は、作成した台紙用のイメージに、指標、位置マーカ、十字線、折り曲げ位置線等の目標画像を付加する(S1012)。指標は、台紙Mの所定の辺の近傍に青色の三角形、当該辺に対向する辺の近傍に赤色の三角形により設けられる。3Dスキャナ1は、台紙Mの回転方向をプロジェクタ108によりユーザに通知するが、指標は、ユーザが台紙Mを回転させる際の目印となる。図10は、指標の説明図である。図10(a)は、台紙Mに印刷された赤色と青色の三角形の指標300、301を表す。台紙MをステージSに載せる際に、プロジェクタ108は赤色と青色のガイドを表示する。ユーザは赤色の指標300を赤色のガイドにあわせ、青色の指標301を青色のガイドにあわせることで、台紙Mの位置合わせを行えばよいことが直感的にわかる。指標は、色で分けた三角形の他に、図10(b)に示す十字に交わる実線と矢印の組み合わせであってもよい。この場合、プロジェクタ108で十字に交わる実線と矢印のガイドが表示されれば、ユーザは十字の傾きをあわせることで台紙Mの位置合わせを行えばよいことが直感的にわかる。
位置マーカは、台紙Mの各頂点の近傍に設けられる位置合わせのための目標画像である。正確な3Dモデルを構築するためには、3Dスキャナ1がステージS上の台紙Mの位置を正確に把握する必要がある。位置マーカは、台紙Mの位置を簡易且つ確実に把握するために台紙Mに印刷される。十字線は、台紙Mの中心に設けられる。十字線は、ユーザに対象物Oを置く位置を指示する目標画像である。なお、ユーザが対象物Oを置く位置が明確になればよいので、台紙Mに、十字線ではなく、対象物Oの概形を表示するようにしてもよい。折り曲げ位置線は、位置マーカの外側に設けられる。ユーザは、台紙Mを回転させる際に、台紙Mを折り曲げ位置線で折り曲げることで、台紙Mを把持して容易に回転させることができる。図11は、折り曲げ位置線の説明図である。図11(a)に示すように位置マーカ302の外側を折ると問題は生じないが、図11(b)に示すように位置マーカ302の内側を折ると、3Dスキャナ1は、位置マーカ302の位置を検出できなくなり台紙Mの位置を正確に把握できなくなる。そのために折り曲げ位置線303は、図11(c)に示すように位置マーカ302の外側に設けられる。
CPU101は、表1に示す台紙Mの属性情報に、位置マーカ302の位置座標、指標300、301の座標、形状、回転角、領域の色情報を登録して処理を終了する(S1013)。このようにして台紙Mに形成するイメージが生成される。
図12は、図3のステップS306の印刷前のイメージの確認処理を表すフローチャートである。CPU101は、台紙Mに印刷するイメージをプリンタ112により印刷する前に、ユーザにイメージを確認させる。そのためにCPU101は、プロジェクタ108により、台紙Mの属性情報に基づいて、台紙Mに印刷するイメージをステージSに表示する(S1401)。また、CPU101は、プロジェクタ108により、ステージSにユーザによる台紙用のイメージの確認結果を受け付けるための選択肢を表示する(S1402)。選択肢には「OK」と「変更」とがある。「OK」は、台紙Mに印刷を行う場合に選択され、「変更」は台紙Mに手動で修正を行う場合に選択される。図13は、このような台紙用のイメージの表示例示図である。図13(a)では、ステージS上に台紙用のイメージとともに選択肢が重畳表示される。
CPU101は、カメラ109が撮影した映像によりユーザのジェスチャ入力を受け付ける(S1403)。CPU101は、受け付けたジェスチャ入力が「OK」を選択するものであれば(S1404:OK)、印刷前のイメージの確認処理を終了する。CPU101は、受け付けたジェスチャ入力が「変更」を選択するものであれば(S1404:変更)、ユーザのジェスチャ入力を受け付ける(S1405)。ユーザは、「変更」の選択の後に、ステージSに表示されたイメージに対して、ピンチ操作やタップ操作等のジェスチャ入力を行う。
ジェスチャ入力がピンチアウト操作であれば(S1406:ピンチアウト)、CPU101は、表1の属性情報の「サイズ」を大きくする。つまり台紙Mのサイズを大きくする(S1407)。ジェスチャ入力がピンチイン操作であれば(S1406:ピンチイン)、CPU101は、表1の属性情報の「サイズ」を小さくする。つまり台紙Mのサイズを小さくする(S1408)。ジェスチャ入力がタップ操作であれば(S1406:タップ)、CPU101は、台紙用のイメージのユーザに指示された領域の色を反転する(S1409)。これらのジェスチャ入力に応じて、属性情報が変更される。これらのジェスチャ入力に応じた処理を行ったCPU101は、再度、台紙用のイメージをプロジェクタ108によりステージSに表示して、ステップS1401以降の処理を繰り返す。
3Dスキャナ1は、深度画像から測定した対象物の形状(図5のステップS703参照)と、対象物Oの概形(図5のステップS704参照)とから、台紙Mのサイズ及び台紙用のイメージを決定する。しかし、カメラ109と対象物Oとの位置関係によっては、対象物Oのカメラ109から隠れる側の面の映像は取得できない。そのために、対象物Oのカメラ109から隠れる側の面の形状や色によっては、適切な台紙Mのサイズ及び台紙用のイメージが得られない可能性がある。そのために、本実施形態では、印刷前にユーザにイメージの確認を行わせ、台紙Mのサイズやイメージの修正を可能としている。
例えば、ユーザが、3Dスキャナ1が決定した台紙Mのサイズを大きくする際に、図13(b)のように台紙Mのプレビューに対してピンチアウトを行うことで、台紙Mのサイズを一回り大きいものに変更することができる。また、台紙用イメージの色が適切ではない場合に、その領域をタップすることで、図13(c)のように台紙用のイメージの色を反転させることができる。
台紙用のイメージの確認が終了すると、CPU101は、プリンタ112により印刷処理を行う(図3のステップS307参照)。印刷処理を開始するとCPU101は、台紙Mの属性情報に基づいて、プリンタ112に給紙を行わせる。表1の属性情報の例では、台紙MとなるA4サイズの普通紙が給紙される。CPU101は、属性情報に基づいて、プリンタ112に、位置マーカA〜位置マーカD、指標1、指標2、黒で着色する領域を印刷させる。また、CPU101は、プリンタ112に十字線を台紙Mの中心に印刷させ、折る曲げ位置線を位置マーカA〜位置マーカDのそれぞれ外側に、台紙Mの端と45度の角度をなすように印刷させる。
図14は、印刷された台紙Mの例示図である。台紙Mは、A4サイズであり、四隅に位置マーカ302及び折り曲げ位置線303が印刷される。台紙Mは、対象物Oが配置される位置を示す十字線304、対象物Oを置いた際に対象物Oのエッジを検出しやすいように対象物Oに対して輝度差の大きな色が適用された領域305、及びガイドに合わせるための青色と赤色の指標300、301が印刷される。
図15は、図3のステップS308の台紙Mの検知処理を表すフローチャートである。ユーザは、図3のステップS307で属性情報に基づいたイメージが印刷された台紙MをステージS上に配置する。
CPU101は、台紙Mの属性情報から位置マーカ302の座標情報を読み出す(S1901)。CPU101は、カメラ109で可視光による通常の撮影を行うことで、ステージS上のRGB映像を取得する(S1902)。CPU101は、RGB映像に含まれる位置マーカ302に応じて、台紙Mの位置を取得する(S1903)。CPU101は、取得した台紙Mの位置により、台紙MがステージS上に存在するか否かを判断する(S1904)。台紙MがステージS上に存在しない場合(S1904:N)、CPU101は、再度、カメラ109によりRGB映像を取得して、台紙MがステージS上に存在するかを判断する。台紙MがステージS上に存在すると(S1904:Y)、CPU101は、プロジェクタ108により、台紙M上に対象物Oの配置位置を表示する(S1905)。
このように、ユーザがステージS上に台紙Mを置くと、対象物Oを置く位置を示すガイドが台紙M上に重畳表示される。そのためにユーザは、対象物Oを置くべき位置を容易かつ確実に把握することができる。図9(a)に示すような明暗が混在する対象物Oの場合、ユーザが台紙M上に対象物Oを置く向きを容易に把握できるように、図9(d)に示すように、対象物Oの外観を合わせて表示するようにしてもよい。
図16は、図3のステップS309の対象物検知処理を表すフローチャートである。ユーザは、台紙M上の配置位置の表示に応じて対象物Oを台紙M上に配置する。
CPU101は、カメラ109が台紙M上を赤外線撮影した映像に基づいて、台紙M上の深度画像を取得する(S2101)。深度画像の取得は、図4のステップS401の同様の処理により行われる。CPU101は、取得した深度画像に基づいて、台紙M上に立体物が存在するか否かを判断する(S2102)。CPU101は、台紙M上に立体物が存在すると判断するまで、深度画像の取得を繰り返す。台紙M上に立体物が存在すると(S2102:Y)、CPU101は、台紙Mの回転履歴情報の全方向のパラメータを「0」にリセットして処理を終了する(S2103)。回転履歴情報は、台紙Mが回転したことを検出する度に、その方向(角度)に応じてパラメータが変化するテーブルである。回転履歴情報は、メインメモリ104に記憶される。
このように、ユーザがステージS上に台紙Mを置き、その上に対象物Oを置くことで、対象物Oの測定(3Dスキャン)が開始される。本実施形態では、台紙M上に立体物の存在を確認するステップS2102の処理により対象物Oの測定が開始されるが、ユーザからの指示に応じて3Dスキャンを開始するようにしてもよい。
図17は、図3のステップS310の対象物Oの測定処理を表すフローチャートである。3Dスキャナ1は、対象物OがステージS上の台紙Mの上に配置されたことを検知すると、対象物Oの測定を開始する。
CPU101は、カメラ109で可視光による通常の撮影を行うことで、ステージS上のRGB映像を取得する(S2301)。CPU101は、取得したRGB映像に含まれる位置マーカ302を検出し、カメラ109の位置を原点として台紙Mの位置を算出する(S2302)。図18は、カメラ109の位置を原点とした座標系の説明図である。この座標系は、ステージSの直交する二辺の方向をx軸、y軸とし、ステージSの法線方向をz軸としている。CPU101は、算出した台紙Mの位置に基づいて、原点と台紙Mの中心とを結ぶ線と、台紙Mの向いている方向との、z軸方向からみた角度を算出して、台紙Mの回転履歴情報の当該方向(角度)のパラメータを「1」に更新する(S2303)。原点と台紙Mの中心とを結ぶ線は、例えばRGB映像の中心と、RGB映像内の台紙Mの中心とを結ぶ線である。台紙Mの向いている方向は、例えばRGB映像に含まれる指標300、301を結ぶ線で表される。回転履歴情報は、算出された角度のパラメータが「1」になるテーブルである。例えば、ユーザが台紙MをステージS上で反時計回りに半回転させた場合、回転履歴情報は、回転時に算出される角度に応じて表2に示すようになる。表2に示す通り、台紙MがステージS上で反時計回りに半回転すると、回転履歴情報は、「0」度〜「180」度のパラメータが「1」に設定される。それ以外の角度のパラメータは「0」のままである。
CPU101は、回転履歴情報を更新すると、台紙Mの属性情報(表1参照)から指標300、301の座標、形、回転角、色情報等の情報を読み出す(S2304)。CPU101は、読み出した指標300、301の情報に基づき、カメラ109の位置を原点とした指標300、301の位置、向きを算出する(S2305)。ステップS2301〜S2305の処理により、3Dスキャナ1は、ステージS上の台紙Mの正確な位置と向きとを把握することができる。
CPU101は、ユーザからの再スキャンの指示の有無を判断する(S2306)。再スキャンの指示は、ユーザが対象物Oのスキャンが正確に行われていないと判断したときに、後続の処理の際に行われる。そのために対象物Oの測定処理を開始して最初にこのステップの処理を行うときには、再スキャンの指示は行われていない。再スキャンの指示が有る場合(S2306:Y)、CPU101は、ユーザが指定する方向と、現在の台紙Mの向いている方向との角度差を算出する(S2307)。再スキャンの指示が無い場合(S2306:N)、CPU101は、台紙Mの回転履歴情報から、まだカメラ109側に向けていない台紙Mの方向を取得する(S2308)。CPU101は、例えば回転履歴情報のパラメータが「0」の方向を取得する。CPU101は、取得した台紙Mの方向と現在の台紙Mの向いている方向との角度差を算出する(S2309)。
ステップS2307、S2309の角度差の算出後、CPU101は、プロジェクタ108により、台紙Mを回転させる方向を指示するガイドを表示する(S2310)。CPU101は、算出した角度差に基づいて台紙Mを回転させる方向を特定し、台紙Mに印刷された各指標と同色で、各指標の近傍にガイドを表示する。回転方向の指示後に、CPU101は、台紙Mの回転履歴情報から、まだカメラ109側に向けていない台紙Mの方向を取得して、この方向を円状のグラフとしてプロジェクタ108で表示する(S2311)。図19は、ガイド及びグラフの例示図である。3Dスキャナ1は、ステップS2305までの処理によりステージS上の台紙Mの正確な位置と向きとを把握しているために、台紙Mの属性情報により台紙Mの位置と各指標300、301との位置関係を正確に把握することができる。これにより、図19(a)では、台紙Mを回転させる方向を表すガイド191、192や円状のグラフ193を、台紙Mに印刷されている指標300、301に対して、最適な位置に表示することが可能である。
ガイド191、192やグラフ193を表示した後にCPU101は、対象物Oの深度画像を取得する。深度画像の取得は、図4のステップS401と同様の処理により行われる。CPU101は、取得した深度画像に基づいて、カメラ109の位置を原点とする、対象物Oの3Dモデルを構成する3D点群の位置を算出する(S2312)。CPU101は、カメラ109の位置を原点とする3D点群の位置と、カメラ109の位置を原点とする台紙Mの位置とから、台紙Mの位置を原点とする相対座標系における3D点群の位置を算出する(S2313)。
図20は、対象物Oと3Dモデルとの関係例示図である。図20では、対象物Oが三角錐である。図20の座標系は、台紙Mの所定の位置を原点としている。三角錐である対象物Oの測定を行うと、3D点群として4つの頂点C001〜C004の位置が測定される。測定された4つの頂点C001〜C004の位置を表す位置情報は、表3に示すように固有の識別情報(座標ID)が割り当てられ、例えば、メートル単位系の座標値として3Dモデルデータの座標情報として記録される。
CPU101は、算出した対象物Oの3D点群の位置を表す位置情報をHDD107に格納する。対象物Oを構成するすべての3D点群の位置情報をHDD107に格納するまで、CPU101は、順次、算出した位置情報を追加してHDD107に格納する(S2314)。図19(a)に示す例では、それまでに測定した3D点群の位置情報から、図21(a)に示す3Dモデルが構築できる。しかし、この時点では対象物Oのカメラ109から隠れる側の面の撮影が行われず、対象物Oの測定ができていないために、3Dモデルは不完全である。なお、図21(a)の実線で表現される部分は、実際には図8(a)に示すような点の集合で表現されたものであるが、未測定の部分の把握を容易にするために、実線で表している。
CPU101は、位置情報を格納した後に、台紙Mの回転履歴情報を確認して、すべての方向(角度)のパラメータがすべて「1」であるか否かを判断する(S2315)。パラメータがすべて「1」であれば(S2315:Y)、CPU101は、対象物測定処理を終了する。1つでも「0」のパラメータが残っていれば(S2315:N)、CPU101は、ステップS2302以降の処理をパラメータがすべて「1」になるまで繰り返す。
ユーザが台紙Mを回転させることで、ガイド191、192及びグラフ193の表示は、図19(b)に示すように変化する。ユーザが、表示されたガイド191、192及びグラフ193に基づいて台紙Mを回転させると、その回転角に応じて台紙Mの回転履歴情報のパラメータが「1」に更新される。台紙Mが一周することで、すべてのパラメータが「1」になる。台紙Mが一周することで、対象物Oのカメラ109から隠れる側の面の測定が行われ、すべての3D点群の位置情報である3Dモデルデータが完成する。台紙Mを一周するまでに測定した3D点群の位置情報に基づいて、図21(b)に示すような3Dモデルが構築される。
図22は、図3のステップS311の3Dモデル確認処理を表すフローチャートである。対象物Oの測定が終了したCPU101は、対象物Oの3Dモデルを構成する3D点群の位置情報に対して平面抽出処理を行う(S3101)。3D点群に対する平面抽出処理は、例えば、RANSAC(RANdom SAmple Consensus)を用いた平面推定技術により行うことができる。例えば、図20に示すような三角錐の対象物Oに対して表3に示す座標情報が測定される。これに対して平面抽出処理を行うと図20の平面F001〜F004が抽出される。CPU101は、平面抽出処理により抽出した平面を3Dモデルデータの面情報に追加する(S3102)。CPU101は、すべての3D点群に対して平面抽出処理を行う。表3の3D点群の位置情報に対して平面抽出処理を行うと、表4に示す面情報が生成される。面情報は、面を定義する3D点群の座標IDにより構成される。
すべての3D点群に対する平面抽出処理が終了すると(S3103:Y)、CPU101は、プロジェクタ108により、ステージS上に終了ボタンを表示する(S3104)。CPU101は、3Dモデルデータの面情報を2D平面にレンダリングして、プロジェクタ108によりプレビュー画像を表示する(S3105)。3Dモデルデータの2D平面へのレンダリングは、例えば射影変換により行われる。プレビュー画像を表示したCPU101は、ユーザによるジェスチャ入力を受け付ける(S3106)。
CPU101は、受け付けたジェスチャ入力によりユーザの操作を判別する(S3107)。ユーザの操作が終了を指示していれば、(S3107:終了)、CPU101は、3Dモデル確認処理を終了する。ユーザの操作がドラッグ操作であれば(S3107:ドラッグ)、CPU101は、ユーザがプレビュー画像を回転させようとしていると見なし、3Dモデルデータを2D平面に射影変換する際の回転パラメータを変更する(S3108)。CPU101は、回転パラメータの変更後に、再度、プレビュー画像を表示する。ユーザの操作がピンチ操作であれば(S3107:ピンチ)、CPU101は、ユーザがプレビュー画像を拡大又は縮小させようとしていると見なし、3Dモデルデータを2D平面に射影変換する際の拡大縮小パラメータを変更する(S3109)。CPU101は、拡大縮小パラメータの変更後に、再度、プレビュー画像を表示する。ユーザの操作がタップ操作であれば(S3107:タップ)、CPU101は、タップ操作されたときのプレビュー画像の回転パラメータを、カメラ109に対する対象物Oの向き情報に変換して、ユーザの指定方向として保持し(S3110)、処理を終了する。タップ操作の場合、ユーザは、3Dスキャナ1に再スキャンを指示する。
図23は、ユーザが3Dモデルの確認を行う際の説明図である。ユーザがプレビュー画像上で正常に3Dスキャンされていないと判断した部分をタッチすると、タッチされた領域がスキャンできる方向を示すガイド291、292が表示される。ユーザがこのガイド291、292に従って台紙Mを回転させることで、正常に3Dスキャンが行われていない部分の再スキャンが行われる。これにより、3Dモデルを補正することが、より正確な3Dモデルを実現できる。
図17のステップS2310、S2311の処理によりガイド191、192やグラフ193が表示される(図19参照)。しかし、ステージS上の特定の位置に台紙Mを移動させるようにユーザに指示する際には、台紙Mを移動させるべき位置が一意に定まるように指示する方が、ユーザが指示を把握しやすい。
そこで、指標300、301を動かすべき位置に、指標300、301の形状が適合するガイド画像を表示する。この場合、CPU101は、図17のステップS2307、S2309で算出した角度差に基づく、指標300、301を動かすべき位置に、台紙Mに印刷された各指標300、301と同じ色で同じ形状の図形をプロジェクタ108により表示する。ユーザは、台紙Mに印刷された指標300、301が表示された図形に重なるように台紙Mを回転することで、容易に最適な位置に対象物Oを配置できる。
例えば、台紙Mに赤い三角形の指標300と青い三角形の指標301とが印刷されていれば(図10(a)参照)、CPU101は、各指標300、301を移動させる位置に、赤い三角形の枠線と青い三角形の枠線とを表示する。これによりユーザは、台紙Mを移動させるべき位置を一意に把握することができ、指標300、301の三角形とガイドの三角形の同じ色とが重なるように台紙Mを動かすだけよい。そのために、容易かつ確実に台紙Mを移動させることができる。
また、台紙Mを移動させる位置に、台紙Mの形状が適合するようなガイド画像を表示するようにしてもよい。CPU101は、算出した角度差に基づく台紙Mを動かすべき位置に、台紙Mと同じ形状の図形をプロジェクタ108により表示する。ユーザは、台紙Mを図形に重なるように回転する。例えば、CPU101は、台紙Mを移動させるべき位置に四角形の枠線を表示する。これによりユーザは、台紙Mを移動させるべき位置を一意に把握することができ、ガイドの四角形の枠線に重なるように台紙Mを動かすだけでよい。そのために、容易かつ確実に台紙Mを移動させることができる。
1…3Dスキャナ、100…コントローラ、108…プロジェクタ、109…カメラ、112…プリンタ、M…台紙、O…対象物、S…ステージ、

Claims (17)

  1. スキャンの対象となる対象物が配置されるステージと、
    スキャン時に前記ステージの上に置かれ、その上に前記対象物が配置される台紙と、
    前記ステージに画像を表示する表示手段と、
    前記ステージを撮影する撮影手段と、
    前記撮影手段で撮影された前記対象物の映像に基づいて当該対象物の3Dモデルデータを生成するとともに、前記撮影手段で撮影された前記対象物及び前記台紙の映像に基づいて、前記表示手段により、前記台紙を移動する方向を指示する画像を前記ステージに表示する制御手段と、を備えることを特徴とする、
    3Dスキャナ。
  2. 前記制御手段は、前記対象物の前記撮影手段に撮影されていない側の面を撮影するための前記台紙の回転方向を、前記表示手段により前記ステージに表示することを特徴とする、
    請求項1記載の3Dスキャナ。
  3. 前記台紙は、前記ステージの上に置かれたときの位置の目印となる目標画像が印刷されており、
    前記制御手段は、前記台紙を移動する方向を、前記目標画像の移動する方向により表すことを特徴とする、
    請求項1又は2記載の3Dスキャナ。
  4. 前記台紙に前記目標画像を印刷する印刷手段を備えており、
    前記制御手段は、前記撮影手段で前記台紙を置かずに撮影される前記対象物の映像から前記対象物の概形を取得し、この概形に基づいて前記台紙のサイズ及び前記台紙に印刷する前記目標画像を決定し、前記印刷手段に、決定したサイズの紙に前記目標画像を印刷させることを特徴とする、
    請求項3記載の3Dスキャナ。
  5. 前記制御手段は、前記印刷手段により、前記台紙に、前記台紙を移動させる際の目印となる目標画像と、前記ステージに置く位置の位置合わせのための目標画像と、前記位置合わせのための画像よりも外側に設けられる前記台紙の折り曲げ位置を表す目標画像と、スキャン時に前記対象物を配置する位置を指示する目標画像とを印刷させることを特徴とする、
    請求項4記載の3Dスキャナ。
  6. 前記制御手段は、前記印刷手段により、前記台紙に、前記対象物の概形に基づいて、スキャン時に前記対象物を置いた際に前記対象物に対して輝度差が大きくなるように白色又は黒色が適用される領域を設けることを特徴とする、
    請求項5記載の3Dスキャナ。
  7. 前記台紙のサイズ、前記台紙に印刷する目標画像の位置、前記領域の色を含む前記台紙の属性情報を記憶する記憶手段を備え、
    前記制御手段は、前記属性情報に応じたイメージを前記台紙に印刷する前に前記表示手段により表示し、前記撮影手段により撮影されたユーザの前記イメージに対するジェスチャに応じて前記属性情報を変更することを特徴とする、
    請求項6記載の3Dスキャナ。
  8. 前記制御手段は、前記撮影手段が撮影した映像から前記ステージに前記台紙が置かれたことを検知し、
    前記表示手段は、前記制御手段が前記ステージの上に前記台紙が置かれたことを検知すると、前記対象物を置く位置を前記台紙の上に表示することを特徴とする、
    請求項1〜7のいずれか1項記載の3Dスキャナ。
  9. 前記ステージの上の前記対象物の向きに応じてパラメータが変化する回転履歴情報を記憶する第2の記憶手段を備えており、
    前記制御手段は、前記撮影手段が撮影した映像から前記台紙の上に前記対象物が配置されたことを検知して、前記回転履歴情報をリセットすることを特徴とする、
    請求項1〜8のいずれか1項記載の3Dスキャナ。
  10. 前記制御手段は、前記対象物が前記台紙の上に配置されたことを検知すると、前記撮影手段が撮影した映像から前記台紙の向きを算出して、前記回転履歴情報の該算出した向きのパラメータを更新することを特徴とする、
    請求項9記載の3Dスキャナ。
  11. 前記制御手段は、前記表示手段により、前記回転履歴情報に基づいて、前記対象物の前記撮影手段に撮影されていない側の面が前記撮影手段で撮影されるように前記台紙を移動する方向を指示する画像を前記ステージに表示することを特徴とする、
    請求項10記載の3Dスキャナ。
  12. 前記制御手段は、前記回転履歴情報のパラメータがすべて更新されるまで、前記撮影手段で撮影された前記対象物の映像に基づいて当該対象物の3Dモデルデータを生成することを特徴とする、
    請求項10又は11記載の3Dスキャナ。
  13. 前記制御手段は、前記表示手段により前記3Dモデルデータに基づいて前記対象物の3Dモデルのプレビュー画像を表示し、前記撮影手段により撮影されたユーザの前記プレビュー画像に対するジェスチャに応じて前記プレビュー画像の表示を変更することを特徴とする、
    請求項12記載の3Dスキャナ。
  14. 前記制御手段は、前記撮影手段により撮影されたユーザの前記プレビュー画像に対するジェスチャにより指示された位置を撮影するために前記台紙を移動する方向を指示する画像を前記表示手段により前記ステージに表示することを特徴とする、
    請求項13記載の3Dスキャナ。
  15. スキャンの対象となる対象物が配置されるステージと、スキャン時に前記ステージの上に置かれる台紙と、前記ステージに画像を表示する表示手段と、前記ステージを撮影する撮影手段と、を備えた装置により実行される方法であって、
    前記撮影手段で撮影された映像により、前記台紙が前記ステージの上に置かれ、さらにその上に前記対象物が配置されたことを検知し、
    前記対象物が配置されたことを検知した後に前記撮影手段で撮影された前記対象物及び前記台紙の映像に基づいて、前記表示手段により、前記台紙を移動する方向を指示する画像を前記ステージに表示し、
    前記対象物をすべての方向から前記撮影手段で撮影した映像に基づいて当該対象物の3Dモデルデータを生成することを特徴とする、
    3Dスキャン方法。
  16. スキャンの対象となる対象物が配置されるステージと、スキャン時に前記ステージの上に置かれ、その上に前記対象物が配置される台紙と、前記ステージに画像を表示する表示手段と、前記ステージを撮影する撮影手段と、を備えたコンピュータを、
    前記撮影手段で撮影された前記対象物の映像に基づいて当該対象物の3Dモデルデータを生成するとともに、前記撮影手段で撮影された前記対象物及び前記台紙の映像に基づいて、前記表示手段により、前記台紙を移動する方向を指示する画像を前記ステージに表示する制御手段
    として機能させるコンピュータプログラム。
  17. 請求項16記載のコンピュータプログラムを記録するコンピュータ読み取り可能な記録媒体。
JP2014162942A 2014-08-08 2014-08-08 3dスキャナ、3dスキャン方法、コンピュータプログラム、記録媒体 Active JP6376887B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014162942A JP6376887B2 (ja) 2014-08-08 2014-08-08 3dスキャナ、3dスキャン方法、コンピュータプログラム、記録媒体
US14/819,238 US9392263B2 (en) 2014-08-08 2015-08-05 3D scanner, 3D scan method, computer program, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014162942A JP6376887B2 (ja) 2014-08-08 2014-08-08 3dスキャナ、3dスキャン方法、コンピュータプログラム、記録媒体

Publications (2)

Publication Number Publication Date
JP2016038338A JP2016038338A (ja) 2016-03-22
JP6376887B2 true JP6376887B2 (ja) 2018-08-22

Family

ID=55268424

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014162942A Active JP6376887B2 (ja) 2014-08-08 2014-08-08 3dスキャナ、3dスキャン方法、コンピュータプログラム、記録媒体

Country Status (2)

Country Link
US (1) US9392263B2 (ja)
JP (1) JP6376887B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017126254A1 (ja) * 2016-01-21 2017-07-27 日本電気株式会社 情報処理装置、情報処理方法、及び、プログラム
US11176651B2 (en) * 2017-10-18 2021-11-16 Anthony C. Liberatori, Jr. Computer-controlled 3D analysis of collectible objects
CN109766622B (zh) * 2019-01-03 2023-05-02 中国联合网络通信集团有限公司 对象整理方法及装置、存储介质
WO2021021585A1 (en) 2019-07-29 2021-02-04 Ocelot Laboratories Llc Object scanning for subsequent object detection
WO2022036261A1 (en) * 2020-08-13 2022-02-17 Opsis Health, Inc. Object-recognition training
EP4113057A1 (en) * 2021-06-29 2023-01-04 Medit Corp. Method of setting scan region
CN113446961A (zh) * 2021-07-03 2021-09-28 詹镇远 一种视觉扫描三维粘合面确定加工轨迹的方法和设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57144405A (en) * 1981-02-28 1982-09-07 Matsushita Electric Works Ltd Inspecting device for product shape
US5894529A (en) * 1997-10-28 1999-04-13 Ting; Jack Desk-top three-dimensional object scanner
JP2002074347A (ja) 2000-08-31 2002-03-15 Minolta Co Ltd 情報取得システム
GB0324179D0 (en) 2003-10-15 2003-11-19 Isis Innovation Device for scanning three-dimensional objects
CA2605347A1 (en) * 2005-04-25 2006-11-02 Yappa Corporation 3d image generation and display system
EP2162864A1 (en) * 2007-05-31 2010-03-17 Depth Analysis Pty.Ltd. Systems and methods for applying a 3d scan of a physical target object to a virtual environment
JP2009020614A (ja) * 2007-07-10 2009-01-29 Ritsumeikan 複合現実感システムに用いるマーカユニット、複合現実感システム、マーカユニット作成支援システム、及び、マーカユニット作成支援プログラム
US20090067706A1 (en) * 2007-09-12 2009-03-12 Artec Ventures System and Method for Multiframe Surface Measurement of the Shape of Objects
JP2010256253A (ja) * 2009-04-27 2010-11-11 Topcon Corp 三次元計測用画像撮影装置及びその方法
JP4821934B1 (ja) * 2011-04-14 2011-11-24 株式会社安川電機 3次元形状計測装置およびロボットシステム
US9292963B2 (en) * 2011-09-28 2016-03-22 Qualcomm Incorporated Three-dimensional object model determination using a beacon
US11109835B2 (en) * 2011-12-18 2021-09-07 Metritrack Llc Three dimensional mapping display system for diagnostic ultrasound machines
US10036631B2 (en) * 2012-05-01 2018-07-31 Texas Department Of Transportation System and method for measuring three-dimensional surface features
KR101358631B1 (ko) * 2012-06-01 2014-02-04 주식회사 디오에프연구소 카메라와 프로젝터가 스테이지 수평 회전축 회전유동부와 결합된 2축 모션부를 갖춘 치과용 데스크탑 3차원 스캐너
CN104424662B (zh) * 2013-08-23 2017-07-28 三纬国际立体列印科技股份有限公司 立体扫描装置
US20150138320A1 (en) * 2013-11-21 2015-05-21 Antoine El Daher High Accuracy Automated 3D Scanner With Efficient Scanning Pattern
TWI510052B (zh) * 2013-12-13 2015-11-21 Xyzprinting Inc 掃描裝置
JP6289254B2 (ja) * 2014-05-02 2018-03-07 キヤノン株式会社 画像処理装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
JP2016038338A (ja) 2016-03-22
US9392263B2 (en) 2016-07-12
US20160044300A1 (en) 2016-02-11

Similar Documents

Publication Publication Date Title
JP6376887B2 (ja) 3dスキャナ、3dスキャン方法、コンピュータプログラム、記録媒体
US7079679B2 (en) Image processing apparatus
JP6089722B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
US9665168B2 (en) Image processing apparatus, information processing method, and program
JP5778967B2 (ja) 情報処理プログラム、情報処理方法、情報処理装置および情報処理システム
CN101170627A (zh) 具有图像校正功能的扫描设备
JP6584076B2 (ja) 情報処理装置、情報処理方法、コンピュータプログラム
JP5975281B2 (ja) 画像処理装置及びプログラム
JP2016038820A (ja) 画像処理装置および制御プログラム
JP2012105145A (ja) 画像処理装置、画像処理方法、及び、プログラム
US9924066B2 (en) Image processing apparatus, information processing method, and program
US9979858B2 (en) Image processing apparatus, image processing method and program
JP6098784B2 (ja) 画像処理装置及びプログラム
JP2015170907A (ja) スキャナシステム、スキャナシステムのデータ処理方法、及びプログラム
CN106373154B (zh) 图像处理装置及图像处理方法
JP2016218893A (ja) 入力操作検出装置、画像表示装置、プロジェクタ装置、プロジェクタシステム、及び入力操作検出方法
JP2015198406A (ja) 画像読取装置、方法およびプログラム
JP7183020B2 (ja) 画像処理装置、画像処理方法、及びプログラム
TWI569173B (zh) 物件數位影像呈現技術
CN109426425B (zh) 信息处理装置、图像形成装置以及存储介质
JP2018207342A (ja) 画像読取装置、その制御方法、並びにプログラム
JP2019016843A (ja) 原稿読取装置、原稿読取装置の制御方法、及びプログラム
JP2017060007A (ja) 画像処理装置、制御方法およびプログラム
JP6203070B2 (ja) スキャンシステムおよびその制御方法、並びにプログラム
JP2018191094A (ja) 原稿読取装置、原稿読取装置の制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180530

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180724

R151 Written notification of patent or utility model registration

Ref document number: 6376887

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151