| 【発明の名称】 |
3次元形状計測装置及びそれを用いた3次元彫刻装置 |
| 【発明者】 |
【氏名】河本 明哲
|
| 【要約】 |
【課題】3次元形状計測装置において、コスト及び操作面から商用利用が容易で、かつ人物の頭髪部の3次元形状のように、背景と境界を接する3次元形状の欠落を補間可能な3次元形状の計測を実現することにある。
【解決手段】検出ヘッド102等は、バックボード201に測定対象101である人物の顔を近接させて、その3次元形状を計測する。形状演算部110は、3次元形状データにおいて、バックボード201に対応する背景データ値を有する画素からなる背景領域と、測定対象101に対応する有効データ値を有する画素からなる測定対象有効領域に囲まれ、無効データ値を有する画素からなる欠落領域を抽出し、その抽出された欠落領域を構成する画素を補間する。この結果、測定対象101である人物の頭髪部の欠落領域が復元される。 |
【特許請求の範囲】
【請求項1】 3次元形状計測機能を有する3次元計測装置であって、計測された測定対象の3次元形状を示す3次元形状データから該測定対象とその背景領域との境界を示す背景境界情報を取得する背景境界取得ユニットと、該取得された背景境界情報に基づいて、前記3次元形状データにおける前記測定対象の欠落領域を補間する補間演算ユニットと、を含むことを特徴とする3次元計測装置。 【請求項2】 3次元形状計測機能を有する3次元計測装置であって、3次元形状を計測可能な特性を有するバックボードに測定対象を近接させて、該測定対象の3次元形状を前記バックボードの3次元形状と共に計測する計測ユニットと、該計測された3次元形状を示す3次元形状データにおいて、前記バックボードに対応する背景データ値を有する画素からなる背景領域と、前記測定対象に対応する有効データ値を有する画素からなる測定対象有効領域に囲まれ、無効データ値を有する画素からなる背景境界欠落領域を抽出する背景境界欠落領域抽出ユニットと、該抽出された背景境界欠落領域を囲む前記背景領域を構成する画素と該抽出された背景境界欠落領域を囲む前記測定対象有効領域を構成する画素とから、該抽出された背景境界欠落領域を構成する画素を補間する背景境界欠落領域補間演算ユニットと、を含むことを特徴とする3次元計測装置。 【請求項3】 請求項2に記載の装置であって、前記背景境界欠落領域抽出ユニットは、前記3次元形状データにより表現される画像上の水平方向の各画素位置毎に、該画像上の上端から下方に向かって探索を行うことにより、前記3次元形状データの値が前記背景データ値から前記無効データ値に変化する画素を上部輪郭画素として抽出し、その上部輪郭画素から更に下方に向かって探索を行うことにより、前記3次元形状データの値が前記無効データ値から前記有効データ値に変化する画素を下部輪郭画素として抽出し、前記上部輪郭画素と前記下部輪郭画素が共に検出された場合に、該上部輪郭画素と該下部輪郭画素の間を所定の補間演算に基づいて補間し、その間の領域内の各画素位置毎の補間データ値を演算する、ことを特徴とする3次元計測装置。 【請求項4】 請求項2又は3の何れか1項に記載の装置であって、前記背景境界欠落領域抽出ユニットは、前記3次元形状データにより表現される画像上の垂直方向の各画素位置毎に、該画像上の左端から右方に向かって探索を行うことにより、前記3次元形状データの値が前記背景データ値から前記無効データ値に変化する画素を左部輪郭画素として抽出し、その左部輪郭画素から更に右方に向かって探索を行うことにより、前記3次元形状データの値が前記無効データ値から前記有効データ値に変化する画素を右部輪郭画素として抽出し、前記左部輪郭画素と前記右部輪郭画素が共に検出された場合に、該左部輪郭画素と該右部輪郭画素の間を所定の補間演算に基づいて補間し、その間の領域内の各画素位置毎の補間データ値を演算する、ことを特徴とする3次元計測装置。 【請求項5】 請求項2乃至4の何れか1項に記載の装置であって、前記背景境界欠落領域抽出ユニットは、前記3次元形状データにより表現される画像上の垂直方向の各画素位置毎に、該画像上の右端から左方に向かって探索を行うことにより、前記3次元形状データの値が前記背景データ値から前記無効データ値に変化する画素を右部輪郭画素として抽出し、その右部輪郭画素から更に左方に向かって探索を行うことにより、前記3次元形状データの値が前記無効データ値から前記有効データ値に変化する画素を左部輪郭画素として抽出し、前記右部輪郭画素と前記左部輪郭画素が共に検出された場合に、該右部輪郭画素と該左部輪郭画素の間を所定の補間演算に基づいて補間し、その間の領域内の各画素位置毎の補間データ値を演算する、ことを特徴とする3次元計測装置。 【請求項6】 請求項2乃至5の何れか1項に記載の装置であって、前記3次元形状データにおいて、前記測定対象に対応する有効データ値を有する画素からなる測定対象有効領域に囲まれ、無効データ値を有する画素からなる穴状欠落領域を抽出する穴状欠落領域抽出ユニットと、該抽出された穴状欠落領域を囲む前記測定対象有効領域を構成する画素から、該抽出された穴状欠落領域を構成する画素を補間する穴状欠落領域補間演算ユニットと、を更に含むことを特徴とする3次元計測装置。 【請求項7】 請求項2乃至6の何れか1項に記載の3次元形状計測装置を用いた3次元彫刻装置であって、前記背景境界欠落領域又は前記穴状欠落領域を構成する画素が補間された前記3次元形状データを入力して、該3次元形状データに基づいて彫刻ユニットを制御する制御ユニットを含む、ことを特徴とする3次元彫刻装置。 【請求項8】 3次元形状計測機能を有するコンピュータにより使用されたときにそれによって読み出されるプログラムを記録した記録媒体であって、計測された測定対象の3次元形状を示す3次元形状データから該測定対象とその背景領域との境界を示す背景境界情報を抽出する機能と、該抽出した背景境界情報に基づいて、前記3次元形状データにおける前記測定対象の欠落領域を補間する機能と、を前記コンピュータに行わせるためのプログラムを記録したコンピュータ読出し可能記録媒体。 【請求項9】 3次元形状計測機能を有するコンピュータにより使用されたときにそれによって読み出されるプログラムを記録した記録媒体であって、3次元形状を計測可能な特性を有するバックボードに測定対象を近接させて、該測定対象の3次元形状を前記バックボードの3次元形状と共に計測する機能と、該計測された3次元形状を示す3次元形状データにおいて、前記バックボードに対応する背景データ値を有する画素からなる背景領域と、前記測定対象に対応する有効データ値を有する画素からなる測定対象有効領域に囲まれ、無効データ値を有する画素からなる背景境界欠落領域を抽出する機能と、該抽出された背景境界欠落領域を囲む前記背景領域を構成する画素と該抽出された背景境界欠落領域を囲む前記測定対象有効領域を構成する画素とから、該抽出された背景境界欠落領域を構成する画素を補間する機能と、を前記コンピュータに行わせるためのプログラムを記録したコンピュータ読出し可能記録媒体。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は、測定対象を撮像して得られる画像データに基づいて3次元形状を計測する3次元形状計測技術に関する。 【0002】 【従来の技術】測定対象を撮像して得られる画像データに基づいて3次元形状を計測する3次元計測技術は、様々な産業分野での応用がなされている。 【0003】その代表的な応用分野として、測定対象である人物等を撮像して得られる画像データから演算される3次元形状データに基づいて、3次元彫刻機を制御することにより、貴金属メダル、エンブレム、又は木工品等に人物の顔形状等を彫刻可能とする3次元彫刻システムが知られている。 【0004】このような商業利用を可能とすべく、従来、種々の3次元形状計測システムが商用化されている。そのようなシステムの代表例として、レーザスリット光源から測定対象にレーザスリット光を照射し、そのときの照射角度と測定対象に対する撮像画像データとに基づいて3次元形状を演算する技術が知られている。 【0005】 【発明が解決しようとする課題】上述のような3次元形状計測システムの実現においては、その利用目的に応じて、測定対象に対応する3次元形状をいかに忠実に再現するかが重要な課題となってくる。 【0006】しかし、レーザスリット光を利用した非接触型3次元計測システムを代表とする従来の3次元計測技術においては、例えば人物の顔部分の3次元形状の計測において、頭髪部はレーザスリット光を反射しにくいため、頭髪部の3次元形状を正確に再現することが困難で、3次元形状が欠落した領域が発生しやすいという問題点を有している。 【0007】このため、従来の3次元形状計測技術を、人物の顔形状等をメダルに刻印するシステムに適用しようとした場合に、メダルに刻印された人物の顔像において、頭髪部が不自然にのっぺりしてしまい、商用営業に堪えないメダル商品等が多く製造されてしまうという問題点を有している。 【0008】人物の頭髪部の3次元形状を正確に再現することのできる3次元形状計測システムを開発することは不可能ではないが、センサの精度、光源の調整、測定時間等の点から、測定対象に多くの制限が課されたり、非常に高精度なセンサが要求されてしまう結果を招き、結局、コスト及び操作面から商用利用が困難なものになってしまうという問題点を有している。 【0009】本発明の課題は、コスト及び操作面から商用利用が容易で、かつ例えば人物の頭髪部の3次元形状のように、背景と境界を接する3次元形状の欠落を補間可能な3次元形状の計測を実現することにある。 【0010】 【課題を解決するための手段】本発明は、3次元形状計測機能を有する3次元計測装置を前提とする。この3次元形状計測機能としては、例えば左右からのレーザスリット光の照射に基づく方式、単一のレーザ光の照射に基づく方式、或いは、レーザ光は特には用いない通常の撮像手段に基づく方式等、様々な方式を適用できる。 【0011】本発明の第1の基本構成は、以下の構成を有する。まず背景境界取得ユニット(形状演算部110)は、計測された測定対象(測定対象101)の3次元形状を示す3次元形状データからその測定対象とその背景領域との境界を示す背景境界情報(上部輪郭画素の情報)を取得する。この背景境界取得ユニットは、例えばバックボードとともに計測された3次元形状から、バックボードに対応する背景データ値を有する画素からなる背景領域と、無効データ値を有する画素からなる背景境界欠落領域との境界を示す背景境界情報である上部輪郭線情報を抽出する。或いは、背景境界取得ユニットは、例えばバックボードは特には使用せずに計測された3次元形状から、測定対象に対応する有効データ値を有する画素からなる測定対象有効領域の輪郭線情報を、欠落領域にかかる輪郭線部分も含めて背景境界情報として抽出する。この場合に、欠落領域にかかる輪郭線部分は、例えば有効領域の輪郭線部分から、曲線近似等の手法によって復元され、或いは、予め蓄積されている多数の顔の輪郭線情報から選択される。 【0012】補間演算ユニット(形状演算部110)は、抽出された背景境界情報に基づいて、3次元形状データにおける測定対象の欠落領域を補間する。本発明の第2の基本構成は、以下の構成を有する。 【0013】計測ユニット(検出ヘッド102、イメージエンコーダ107、スキャナドライバ111、パーソナルコンピュータ109)は、3次元形状を計測可能な特性を有するバックボード(バックボード201)に測定対象(測定対象101)を近接させて、その測定対象の3次元形状をバックボードの3次元形状と共に計測する。 【0014】背景境界欠落領域抽出ユニット(形状演算部110)は、その計測された3次元形状を示す3次元形状データにおいて、バックボードに対応する背景データ値を有する画素からなる背景領域と、測定対象に対応する有効データ値を有する画素からなる測定対象有効領域に囲まれ、無効データ値を有する画素からなる背景境界欠落領域を抽出する。 【0015】背景境界欠落領域補間演算ユニット(形状演算部110)は、その抽出された背景境界欠落領域を囲む背景領域を構成する画素とその抽出された背景境界欠落領域を囲む測定対象有効領域を構成する画素とから、その抽出された背景境界欠落領域を構成する画素を補間する。 【0016】本発明の第3の基本構成は、上述の本発明の第2の基本構成を有する3次元形状計測装置から、背景境界欠落領域又は穴状欠落領域を構成する画素が補間された3次元形状データを入力して、その3次元形状データに基づいて彫刻ユニットを制御する制御ユニットを含む3次元彫刻装置として実現される。 【0017】上記本発明の各構成により、測定対象である人物等の横顔と背景領域との境界情報又は輪郭情報を正確に抽出することができ、その抽出された境界情報又は輪郭情報に基づいて、背景と境界を接する人物の頭髪部等の3次元形状の欠落を補間することができる。 【0018】更に具体的には、測定対象である人物等の後ろに立てられ例えばレーザスリット光を反射可能なバックボードと共に、人物の横顔等の3次元形状が計測されることによって、バックボードに対応する背景データ値を有する画素からなる背景領域と、測定対象に対応する有効データ値を有する画素からなる測定対象有効領域に囲まれ、無効データ値を有する画素からなる背景境界欠落領域を容易に抽出することが可能となり、その抽出された背景境界欠落領域を構成する画素の補間を容易に行うことができる。 【0019】このようにして補間された3次元形状データを用いることにより、3次元彫刻装置による貴金属メダル等への測定対象である人物の横顔等の3次元像の彫刻において、より自然な仕上がりを得ることができる。 【0020】なお、本発明は、コンピュータにより使用されたときに、上述の本発明の各構成によって実現される機能と同様の機能をコンピュータに行わせるためのコンピュータ読出し可能記録媒体として構成することもできる。 【0021】 【発明の実施の形態】以下、図面を参照しながら本発明の実施の形態について詳細に説明する。 <本発明の実施の形態の特徴>以下に説明する本実施の形態では、測定対象である人物の後ろに立てられレーザスリット光を反射可能なバックボードと共に、人物の横顔の3次元形状が計測されることにより、人物の横顔の輪郭情報を正確に抽出することができる。そして、その抽出された輪郭情報に基づいて、背景と境界を接する人物の頭髪部の3次元形状の欠落を補間することができる。これが、本発明に関連する大きな特徴である。 <本発明の実施の形態の構成>図1は本発明による3次元形状計測/3次元彫刻システムの実施の形態の構成図である。 【0022】3次元形状計測システムは、大きく分けて、検出ヘッド102、スキャナドライバ111、イメージエンコーダ107、及び形状演算部110を内蔵するパーソナルコンピュータ109とから構成される。 【0023】検出ヘッド102は、測定対象101の表面に斜め前方に配置されたレーザスリット光源104からレーザスリット光を走査させながら照射させ、CCDカメラ105に各走査位置毎のレーザスリット光の画像を撮像させる装置である。測定時の死角を少なくするために、回転ステージ103に載せられたレーザスリット光源104が、CCDカメラ105の両側に2台配置される。 【0024】スキャナドライバ111は、回転ステージコントローラ113とレーザコントローラ112とから構成される。回転ステージコントローラ113は、パーソナルコンピュータ109からの制御信号に基づいて、2つの回転ステージ103のそれぞれの回転動作を制御することにより、それらに載せられている2つのレーザスリット光源104によるレーザスリット光の走査動作を制御する。 【0025】レーザコントローラ112は、2つのレーザスリット光源104が照射する2つのレーザスリット光の各照射タイミングを制御する。イメージエンコーダ107は、CCDカメラ105から出力されるビデオ信号106を処理することにより、投光角度コード画像、最大輝度画像、及び最小輝度画像を合成し、それぞれの画像データを合成画像データ108としてパーソナルコンピュータ109に出力する。 【0026】パーソナルコンピュータ109は、イメージエンコーダ107及びスキャナドライバ111を制御するほか、測定終了後は、形状演算部110がイメージエンコーダ107から出力される合成画像データ108(投光角度コード化画像データ、最大輝度画像データ、及び最小輝度画像データ)に基づいて、測定対象101に対応する3次元形状を演算する。 【0027】形状演算部110が出力する形状データ115は、3次元彫刻機116に入力される。この3次元彫刻機116は、貴金属メダルに、測定対象101である人物の横顔の3次元像を彫刻する。 <バックボード201の説明>図2は、測定対象101に対する3次元形状の測定イメージを、上から見た平面図である。 【0028】本実施の形態では、測定対象101は人物の横顔である。この場合に、測定対象101は、レーザスリット光を反射可能な例えば黒色のバックボード201に寄り掛かるように位置決めされる。 【0029】検出ヘッド102は、バックボード201と共に人物の横顔に対して、前述した計測動作を実行することになる。このような計測形態によって、バックボード201の仮想平面に対する高さ情報が常に計測可能となるため、人物の横顔の輪郭情報を正確に抽出することが可能となる。そして、この抽出された輪郭情報に基づいて、後述するように、背景と境界を接する人物の頭髪部の3次元形状の欠落を補間することができるのである。 <本発明の実施の形態による3次元形状計測動作>図3及び図4は、本実施の形態の全体動作フローチャートである。 計測処理最初に、検出ヘッド102による計測処理が実行される(図3のステップ301)。 【0030】図15は、本実施の形態における3次元形状計測の原理図である。この計測処理においては、図15に示されるように、まず、検出ヘッド102内の左側に配置されるレーザスリット光源104(左側レーザスリット光源104)から測定対象101に向けてレーザスリット光が照射され、その左側レーザスリット光が測定対象101の表面全体を走査する。 【0031】各走査位置毎にCCDカメラ105によって撮像された画像は、図15に示されるように、ビデオ信号106として、モニタ装置1502に入力されその画像が表示されるほか、イメージエンコーダ107に入力する。 【0032】イメージエンコーダ107は、CCDカメラ105から出力されるビデオ信号106を処理することにより、測定対象101の各表面部分毎に、その表面部分の明るさの変化をリアルタイムにチェックし、レーザスリット光が通過することによってその表面部分が最も明るくなったタイミングを検出し、そのタイミングで回転ステージコントローラ113から入力されている回転角度信号114を取り込むことにより、各表面部分毎のレーザスリット光の投光角度θ(x,y)からなる投光角度コード画像データ1501を合成し、それを左側計測データとしてイメージエンコーダ107内の特には図示しない画像メモリに保持する。 【0033】このとき同時に、イメージエンコーダ107は、測定対象101の各表面部分毎に、その表面部分が最も明るくなったタイミングにおける明るさを記録して得られる最大輝度画像データと、その表面部分が最も暗くなったタイミングにおける明るさを記録して得られる最小輝度画像データを演算して、それらを左側計測データとしてイメージエンコーダ107内の特には図示しない画像メモリに保持する。 【0034】左側レーザスリット光源104によるレーザスリット光の走査が終わると、検出ヘッド102内の右側に配置されるレーザスリット光源104(右側レーザスリット光源104)から測定対象101に向けてレーザスリット光が上述の場合と同様に照射され、そのレーザスリット光が測定対象101の表面全体を走査することによって、イメージエンコーダ107内の画像メモリに、もう1組の投光角度コード画像データ1501、最大輝度画像データ、及び最小輝度画像データが、右側計測データとして得られる。 左右計測データの高さ画像データへの変換/合成処理上述した計測処理が終了すると、パーソナルコンピュータ109内のCPUが特には図示しないディスク装置に記憶された制御プログラムを実行する動作として実現される形状演算部110は、イメージエンコーダ107内の特には図示しない画像メモリから左側計測データを取得し、それに基づいて、左側レーザスリット光源104によるレーザスリット光の照射に対応する測定対象101の半面形状(プロフィル)を示す左側高さ画像データを演算する(図3のステップ302)。 【0035】次に、形状演算部110は、イメージエンコーダ107内の画像メモリから右側計測データを取得し、それに基づいて、右側レーザスリット光源104によるレーザスリット光の照射に対応する測定対象101の半面形状を示す右側高さ画像データを演算する(図3のステップ303)。 【0036】その後、形状演算部110は、左側高さ画像データと右側高さ画像データを合成することにより、死角の少ない形状データを算出する。まず、左側計測データから左側高さ画像データへの変換処理(図3のステップ302)の詳細について説明する。 【0037】図5は、図3のステップ302(及びステップ303)の詳細動作を示す動作フローチャート、図16及び図17はその説明図である。始めに、形状演算部110は、投光角度コード画像において、レーザスリット光が照射されなかった部分を除いて有効領域のみを抽出するマスキング処理を実行するための、マスク画像の作成処理を実行する(図5のステップ501)。 【0038】最大輝度画像から最小輝度画像を差し引くとレーザスリット光の照射による明るさを表わす差画像が得られる。これを利用して、図16(a) に示されるように、形状演算部110は、イメージエンコーダ107内の画像メモリから左側計測データに含まれる最大輝度画像データと最小輝度画像データを取得した後、画素毎に、最大輝度画像データから最小輝度画像データを差し引いて差画像データを演算し、その差画像データを2値化することにより、マスク画像を構成するマスク画像データを演算する。マスク画像データは、レーザスリット光が照射された画素において値“1”を有し、レーザスリット光が照射されなかった画素において値“0”を有する。 【0039】続いて、形状演算部110は、イメージエンコーダ107内の画像メモリから左側計測データに含まれる投光角度コード画像データ1501を取得し、それに対して、生成されたマスク画像データを用いてマスキング処理を実行する(図5のステップ502)。 【0040】具体的には形状演算部110は、画素毎に、その画素に対応するマスク画像データの値が“1”なら、その画素に対応する投光角度コード画像データ1501の値をそのまま残し、その画素に対応するマスク画像データの値が“0”なら、その画素に対応する投光角度コード画像データ1501の値を“0”とする。 【0041】上記マスキング処理の結果、図16(b) に示されるように、投光角度コード画像において、レーザスリット光が照射されなかった部分が除かれて有効領域のみが抽出される。 【0042】続いて、形状演算部110は、マスキング処理後の投光角度コード画像に対して、コードノイズ除去処理を実行する(図5のステップ503)。この処理においては、マスキングされた投光角度コード画像における投光角度の連続性が判定されることによって、図16(c) に示されるように、レーザスリット光が照射されなかったノイズ領域が除去される。 【0043】具体的には、形状演算部110は、第1のコードノイズ除去処理として、図18(a) に示される3画素×3画素からなる空間フィルタを用いたフィルタリング処理を、マスキング後の投光角度コード画像に対し実行する。より具体的には、形状演算部110は、各画素位置の投光角度コード画像データ1501に、図18(a) に示される3画素×3画素の空間フィルタの中心位置a0 を重ね合わせることにより、投光角度θ(x,y)の連続性を判定するための以下の判定処理を実行する。 【0044】即ち、形状演算部110は、各画素位置の投光角度コード画像データ1501に、図18(a) に示される3画素×3画素の空間フィルタの中心位置a0 を重ね合わせる毎に、その中心位置a0 に対応する投光角度コード画像データ1501について、上記中心位置a0 の8近傍位置a1 〜a8 のそれぞれに対応する各画素位置の投光角度コード画像データ1501との間で次式を判定する。なお、次式中のa0 及びan (1≦n≦8)は、それぞれ図18(a) に示される空間フィルタの各位置a0 及びan (1≦n≦8)に対応する画素位置の投光角度コード画像データ1501の値(投光角度θ(x,y))を示す。 【0045】 【数1】|a0 −an |≦T1 (1≦n≦8) ここで、T1 は第1の閾値レベルである。 【0046】形状演算部110は、上記判定処理の結果、数1式を満たすan に対応する投光角度コード画像の画素の数がT2 画素以上存在する場合に、上記空間フィルタの中心位置a0 に対応する投光角度コード画像データ1501をそのまま残し、そうでない場合は、上記空間フィルタの中心位置a0 に対応する投光角度コード画像データ1501を−32768の値に設定する。ここで、T2 は第2の閾値レベルである。 【0047】上記第1のコードノイズ除去処理によって、レーザスリット光が照射されなかった大部分のノイズ領域が除去される。次に形状演算部110は、第2のコードノイズ除去処理として、図18(b) に示される3画素×3画素からなる空間フィルタを用いたフィルタリング処理を、上記第1のコードノイズ除去処理後の投光角度コード画像に対し実行する。より具体的には、形状演算部110は、各画素位置の投光角度コード画像データ1501に、図18(b) に示される3画素×3画素の空間フィルタの中心位置a0 を重ね合わせることにより、孤立画素を除去するための以下の処理を実行する。 【0048】即ち、形状演算部110は、各画素位置の投光角度コード画像データ1501に、図18(b) に示される3画素×3画素の空間フィルタの中心位置a0 を重ね合わせる毎に、上記中心位置a0 の4近傍位置a1 、a3 、a5 、a7 のそれぞれに対応する各画素位置の投光角度コード画像データ1501が0以上の値を有する有効データであるか否かを判定する。 【0049】形状演算部110は、上記判定処理の結果、有効データである画素の数がT3画素以上存在する場合に、上記空間フィルタの中心位置a0 に対応する投光角度コード画像データ1501をそのまま残し、そうでない場合は、上記空間フィルタの中心位置a0 に対応する投光角度コード画像データ1501を−32768の値を有する無効データに設定する。ここでT3 は第3の閾値レベルである。 【0050】上記第2のコードノイズ除去処理によって、レーザスリット光が照射されなかったノイズ領域である孤立画素が除去される。次に、図17(d) に示されるように、左側計測データである上記第1及び第2のコードノイズ除去処理後の投光角度コード画像データ1501から左側高さ画像データへの変換処理が実行される(図5のステップ504)。 【0051】具体的には、形状演算部110は、コードノイズ除去処理後の投光角度コード画像データ1501を構成する測定対象101の各表面部分に対する左側レーザスリット光の投光角度θ(x,y)(図15参照)を用いて、次式に対応する演算処理を実行することによって、左側レーザスリット光の照射に対応する測定対象101の半面形状(プロフィル)を示す左側高さ画像データf(x,y)を計測する。 【0052】 【数2】 f(x,y)=z0 −(x0 −x)tanθ(x,y) ここで図15に示されるように、x0 はレーザスリット光源104の回転中心のx座標、z0 はCCDカメラ105の焦点と測定対象101との距離である。 【0053】以上図5のステップ501〜504の一連の処理によって示される図3のステップ302の処理によって、左側計測データから左側高さ画像データへの変換処理が実現される。左側高さ画像データは、符号付きの2バイト整数として出力され、10進値で−32768〜+32767の範囲の値を有する。この場合に、後述する欠落部分は、−32768の値を有する無効データとなる。 【0054】次に、形状演算部110は、イメージエンコーダ107内の画像メモリから右側計測データを取得し、それに含まれる最大輝度画像データ、最小輝度画像データ、及び投光角度コード画像データ1501に対して、上述の左側計測データから左側高さ画像データへの変換処理の場合と全く同様の、図5のステップ501〜504の一連の処理で示される図3のステップ303の処理を実行することにより、右側計測データから右側高さ画像データへの変換処理を実行する。 【0055】その後、図17(e) に示されるように、形状演算部110は、図3のステップ302で得られた左側高さ画像データとステップ303で得られた右側高さ画像データを合成する(図3のステップ304)。 【0056】この合成処理の目的は、左側高さ画像データと右側高さ画像データは、それぞれの画像における死角を補完し合う関係にあるため、2つの画像データの有効領域が重ね合わせられて合成されることにより、死角の少ない高さ画像データを得られるためである。 【0057】具体的には、形状演算部110は、各画素位置毎に、左側高さ画像データと右側高さ画像データを比較し、値が小さい方(高さが低い方)のデータを選択し、その結果得られる高さ画像データを出力する。 【0058】なお、形状演算部110は、各画素位置毎に、左側高さ画像データ又は右側高さ画像データの何れか一方のみが−32768の値を有する無効データである場合には、有効データを選択する。 欠落部分抽出処理図3のステップ304によって高さ画像データが合成された後に、その高さ画像データから欠落部分を抽出するための処理が実行される(図4のステップ305)。 【0059】「発明が解決しようとする課題」の項において説明したように、頭髪部はレーザスリット光を反射しにくいため、上述のようにして得られた高さ画像データのうち、頭髪部に対応する高さ画像データにおいて欠落が発生しやすい。 【0060】このような領域の検出精度を向上させることはコスト及び操作面から非現実的である。そこで、本実施の形態では、欠落部分を検出し、その部分に対して補間処理を実行することにより、見かけ上の不自然感をなくすことを可能とする。 【0061】ここで、欠落部分のようにレーザスリット光が反射しない領域は−32768の値を有する無効データとなるため、無効データを検出することにより欠落部分を抽出することができる。 【0062】ところが、測定対象101である人物の背景に何も無い場合には、背景部分のデータも無効データとなる。このため、単に無効データが検出されるだけでは、背景と境界を接する人物の頭髪部で欠落が生じた場合に、検出された無効データが欠落部分なのか背景部分なのかを判定することができない。 【0063】このため、本実施の形態においては、図2に示されるように、測定対象101である人物が、レーザスリット光を反射可能な例えば黒色のバックボード201に寄り掛かるように位置決めされ、検出ヘッド102が、バックボード201と共に人物の横顔に対して、前述した計測動作を実行する。このような計測形態により、バックボード201の仮想平面に対する高さ情報が常に計測可能となるため、人物の横顔の輪郭情報を正確に抽出することが可能となる。そして、この抽出された輪郭情報に基づいて、背景と境界を接する人物の頭髪部の3次元形状の欠落を補間することができるのである。これが本発明に関連する大きな特徴である。 【0064】図6は図4のステップ305の欠落部分抽出処理の詳細を示す動作フローチャート、図19及び図20はその処理の説明図である。まず、図19に示されるように、形状演算部110は、図3のステップ304で合成された高さ画像データのうち、高さ画像の左上隅の画素に対応する高さ画像データの値を、仮想平面に対するバックボード201の高さと仮定し、このデータ値に所定のオフセット値を加えて得られる値を、カットレベルとして抽出する(図6のステップ601)。 【0065】次に、形状演算部110は、図3のステップ304で合成された各画素毎の高さ画像データから上記カットレベルを減算し、その結果0より小さくなった高さ画像データは全て、−32768の値を有する無効データに変換するレベルカット処理を実行し、この結果得られるデータを新たな高さ画像データとする(図6のステップ602)。 【0066】上述の欠落抽出処理によって、背景部分は0の値を有する有効データとなるため、図20(a) に示されるように、測定対象101である人物の輪郭を明確に決定することができる。そして、欠落部分のみを−32768の値を有する無効データとすることができる。この場合に、背景と境界を接する人物の頭髪の輪郭部分は0の値を有する有効データとなっているため、形状演算部110は、後述する頭髪部補間処理によって、図20(b) に示されるように、0の値を有する背景領域と有効データを有する測定対象101の領域とに囲まれた無効データの値を有する領域を検出することにより、背景と境界を接する人物の頭髪部の3次元形状の欠落を補間することが可能となる。 高さノイズ除去処理形状演算部110は、図4のステップ305によって得たレベルカットされた高さ画像データに対して、高さノイズ除去処理を実行する(図4のステップ306)。この処理においては、レベルカットされた高さ画像における高さの連続性が判定されることによって、図17(f) に示されるように、孤立点画素が除去される。 【0067】具体的には、形状演算部110は、図21に示される5画素×5画素からなる空間フィルタを用いたフィルタリング処理を、レベルカットされた高さ画像データに対し実行する。より具体的には、形状演算部110は、各画素位置の高さ画像データに、図21に示される5画素×5画素の空間フィルタの中心位置a0 を重ね合わせることにより、高さの連続性を判定するための以下の判定処理を実行する。 【0068】即ち、形状演算部110は、各画素位置の高さ画像データに、図21に示される5画素×5画素の空間フィルタの中心位置a0 を重ね合わせる毎に、その中心位置a0 に対応する高さ画像データにつき、上記中心位置a0 の8近傍位置a1〜a8 のそれぞれに対応する各画素位置の高さ画像データとの間で次式を判定する。なお、次式中のa0 及びan (1≦n≦8)は、それぞれ図21に示される空間フィルタの各位置a0 及びan (1≦n≦8)に対応する画素位置の高さ画像データの値を示す。 【0069】 【数3】|a0 −an |≦T4 (1≦n≦8) ここで、T4 は第4の閾値レベルである。 【0070】形状演算部110は、上記判定処理の結果、数3式を満たすan に対応する高さ画像の画素の数がT5 画素以上存在する場合に、上記空間フィルタの中心位置a0 に対応する高さ画像データをそのまま残し、そうでない場合には、上記空間フィルタの中心位置a0 に対応する高さ画像データを−32768の値を有する無効データに設定する。ここで、T5 は第5の閾値レベルである。 頭髪部補間処理次に、形状演算部110は、図4のステップ306によって高さノイズが除去された高さ画像データに対して、頭髪部補間処理を実行する(図4のステップ307)。この処理では、形状演算部110は、図20(b) に示されるように、0の値を有する背景領域と有効データを有する測定対象101の領域とに囲まれた無効データの値を有する領域を検出し、その無効データ領域に対して補間処理を実行することにより、背景と境界を接する人物の頭髪部の3次元形状の欠落を補間する。 【0071】図7は、図4のステップ307の頭髪部補間処理を示す動作フローチャートである。形状演算部110は、上→下方向補間処理(ステップ701)、左→右方向補間処理(ステップ702)、右→左方向補間処理(ステップ703)、及び各方向補間結果の合成処理(ステップ704)の順に実行する。図8及び図9に示される動作フローチャートは、図7のステップ701、702、及び703の各方向補間処理の詳細を示す共通の動作フローチャートであって、C1、C2、C3を任意の文字列としたときに、括弧とスラッシュで囲まれた部分「(C1/C2/C3)」は、図7のステップ701の説明においては文字列「C1」と読み替え、図7のステップ702の説明においては文字列「C2」と読み替え、図7のステップ703の説明においては文字列「C3」と読み替えるものとする。 【0072】まず、図7のステップ701の上→下方向補間処理の詳細について、図8及び図9に示される動作フローチャートと、図22に示される説明図に基づいて説明する。 【0073】上→下方向補間処理では、形状演算部110(図1)は、図22(a) に示されるように、図4のステップ306により高さノイズが除去された高さ画像において、その高さ画像の水平方向の各画素位置毎に、上端から下方に向かって高さ画像データを探索し、高さ画像データが背景データ→無効データと変化する画素を上部輪郭画素とし、更に下方向に探索を続け、高さ画像データが無効データ→有効データと変化する画素を下部輪郭画素とする。そして、形状演算部110は、図22(b) に示されるように、上記高さ画像の水平方向の各画素位置毎に、上部輪郭画素と下部輪郭画素を検出した場合のみ、上部輪郭画素と下部輪郭画素の間をγ次曲線によって補間し、その領域内の各画素位置毎の補間データ値を演算する。 【0074】具体的には、図8及び図9に示される動作フローチャートにおいて、高さ画像データは、高さ画像の水平方向画素位置を指定する水平ポインタと、垂直方向画素位置を指定する垂直ポインタとによって、各画素位置に対応する高さ画像データが読み出されるように、パーソナルコンピュータ109内の特には図示しない画像メモリに2次元配列として記憶されている。なお、水平ポインタ値は左端画素に対応する値が0でそこから右方向が正方向、垂直ポインタ値は上端画素に対応する値が0でそこから下方向が正方向であるとする。 【0075】まず、形状演算部110は、水平ポインタを高さ画像の左端画素を指示する値0(図22(a) 参照)にセットする(図8のステップ801)。次に、形状演算部110は、図8のステップ802で垂直ポインタを高さ画像の上端画素を指示する値0にセットした後、図8のステップ803で無効データが出現したと判定されるか、図8のステップ805で探索画素が下端画素に達したと判定されるまで、図8のステップ804でその垂直ポインタの値を+1ずつインクリメントしながら探索画素位置を順次下方向に移動させてゆく探索処理を繰り返し実行する(図8のステップ803→804→805→803のループ処理)。 【0076】形状演算部110は、上述の探索処理ループにおける図8のステップ805で探索画素が下端画素に達したと判定した場合には、水平ポインタによって示される現在の水平方向画素位置での処理を中止し、図9のステップ815以降の次の水平方向画素位置に対する処理を実行する(図8のステップ805→図9のステップ815)。 【0077】一方、形状演算部110は、上述の探索処理ループにおける図8のステップ803で探索画素のデータが背景データ(0の値を有するデータ)から−32768の値を有する無効データに変化したことを検出すると、現在の探索画素の画素位置を上部輪郭画素(図22(b) の上部輪郭線を形成する画素)として記憶する(ステップ803→806)。 【0078】その後、形状演算部110は、図8のステップ808で探索画素が下端画素に達したと判定されるか、図8のステップ809で無効データが出現したと判定されるまで、図8のステップ807で垂直ポインタの値を+1ずつインクリメントしながら探索画素位置を更に順次下方向に移動させてゆく探索処理を繰り返し実行する(図8のステップ807→808→809→807のループ処理)。 【0079】形状演算部110は、上述の探索処理ループにおける図8のステップ808で探索画素が下端画素に達したと判定した場合には、水平ポインタによって示される現在の水平方向画素位置での処理を中止し、図9のステップ815以降の次の水平方向画素位置に対する処理を実行する(図8のステップ808→図9のステップ815)。 【0080】一方、形状演算部110は、上述の探索処理ループにおける図8のステップ809で探索画素のデータが−32768の値を有する無効データから0より大きい正の値を有する有効データに変化したことを検出すると、その有効データ画素の画素位置とデータ値を記憶する(ステップ809→810)。 【0081】続いて、形状演算部110は、垂直ポインタの値を更に+1して(図8のステップ811)、上記有効データ画素の1画素下の探索画素も有効データであるか否かを判定する(図8のステップ812)。 【0082】形状演算部110は、上記1画素下の探索画素が有効データではないと判定した場合は、図8のステップ808以降の探索処理ループに戻る(ステップ812→808)。即ち、この場合には、上記有効データ画素は孤立点であるため、ノイズとして無視される。 【0083】一方、形状演算部110は、上記1画素下の探索画素も有効データであると判定した場合は、図8のステップ810で記憶した有効データ画素と現在の探索画素とで、データ値の大きい方の画素の画素位置とデータ値を下部輪郭画素(図22(b) の下部輪郭線を形成する画素)として記憶する(図8のステップ812→図9のステップ813)。 【0084】上述のようにして現在の水平方向画素位置において、上部輪郭画素と下部輪郭画素がともに検出された場合には、形状演算部110は、上部輪郭画素と下部輪郭画素の間で、γ次曲線補間処理を実行する(図9のステップ814)。具体的には図25に示されるように、形状演算部110は、図8のステップ806で記憶された上部輪郭画素の画素位置のデータ値を所定の補間初期オフセット値にセットし、その上部輪郭画素の画素位置及びデータ値と、図8のステップ813で記憶された下部輪郭画素の画素位置及びデータ値を用いて、特には図示しない周知のγ次曲線補間計算式に基づくγ次曲線補間処理を実行することにより、その領域内の各画素の補間データ値を演算し、それぞれを各画素の画素位置と共に記憶する。 【0085】なお、上部輪郭画素のデータ値を背景データのデータ値0にしないのは、本実施の形態が実現する3次元彫刻機116(図1)による貴金属メダルへの測定対象101である人物の横顔の3次元像の彫刻において、より自然な結果が得られるためである。 【0086】但し、上部輪郭画素と下部輪郭画素の画素間隔が所定の閾値を超える場合は、補間処理は中止される。また、補間画素位置が、高さ画像データの下半分の領域にかかる場合には、頭髪部の下の顔部分での余計な補間処理を回避するために、その領域での補間データ値の演算は実行されない。 【0087】上述のようにして、形状演算部110は、現在の水平方向画素位置における補間処理が終了した後、水平ポインタの値を+1インクリメントすることにより、探索処理を実行する水平方向画素位置を1画素右に移動させる(図9のステップ815)。 【0088】続いて、形状演算部110は、新たな水平方向画素位置が高さ画像の右端画素位置を超えたか否かを判定する(図9のステップ816)。形状演算部110は、新たな水平方向画素位置が高さ画像の右端画素位置を超えていないと判定した場合には、その新たな水平方向画素位置に対して、上述した図8のステップ802以降の一連の補間処理を実行する(図9のステップ816→図8のステップ802)。 【0089】一方、形状演算部110は、新たな水平方向画素位置が高さ画像の右端画素位置を超えたと判定した場合には、図7のステップ701の上→下方向補間処理を終了する。 【0090】以上のようにして、図22(b) に示されるように、各水平方向画素位置毎に、上部輪郭画素と下部輪郭画素とが探索され、両方が検出できた場合にそれらの画素間でγ次曲線補間処理が実行される。 【0091】形状演算部110は、図7のステップ701の上→下方向補間処理を終了した後、図7のステップ702の左→右方向補間処理を実行する。左→右方向補間処理では、形状演算部110は、上述した図8及び図9に示される動作フローチャートに基づいて、図23(a) に示されるように、図4のステップ306により高さノイズが除去された高さ画像において、その高さ画像の垂直方向上半分の各画素位置毎に、左端から右方に向かって高さ画像データを探索し、高さ画像データが背景データ→無効データと変化する画素を左部輪郭画素とし、更に右方向に探索を続け、高さ画像データが無効データ→有効データと変化する画素を右部輪郭画素とする。そして、形状演算部110は、上記高さ画像の垂直方向上半分の各画素位置毎に、左部輪郭画素と右部輪郭画素を検出した場合のみ、左部輪郭画素と右部輪郭画素の間をγ次曲線によって補間し、その領域内の各画素位置毎の補間データ値を演算する。図23の例では、図23(b) に示されるように、垂直方向上半分の全ての画素位置で左部輪郭画素を検出できないため、補間処理は実行されない。 【0092】左→右方向補間処理に対する図8及び図9の動作フローチャートの基本的な制御手順は、上→下方向補間処理の場合と同様であるためその詳細な説明は省略するが、前述したように、図8及び図9の動作フローチャートにおいて、C1、C2、C3を任意の文字列としたときに、括弧とスラッシュで囲まれた部分「(C1/C2/C3)」は、左→右方向補間処理では、文字列「C2」と読み替えて実行される。 【0093】なお、左→右方向補間処理で、垂直方向上半分の各画素位置のみで上部輪郭画素と下部輪郭画素の探索処理が実行される(図9のステップ816参照)のは、常識的に前髪の頭髪部がその領域にしか存在し得ないためである。 【0094】また、図9のステップ814での実際の補間処理の実行時には、補間画素位置が、高さ画像データの右1/3の領域にかかる場合には、前髪に相当する頭髪部以外の領域での余計な補間処理を回避するために、その領域での補間データ値の演算は実行されない。 【0095】形状演算部110は、上述のようにして図7のステップ702の左→右方向補間処理を終了した後、図7のステップ703に示される右→左方向補間処理を実行する。 【0096】右→左方向補間処理では、形状演算部110は、前述した図8及び図9に示される動作フローチャートに基づいて、図24(a) に示されるように、図4のステップ306によって高さノイズが除去された高さ画像において、その高さ画像の垂直方向の各画素位置毎に、右端から左方に向かって高さ画像データを探索し、高さ画像データが背景データ→無効データと変化する画素を右部輪郭画素(図24(b) の右部輪郭線を構成する画素)とし、更に左方向に探索を続け、高さ画像データが無効データ→有効データと変化する画素を左部輪郭画素(図24(b) の左部輪郭線を構成する画素)とする。そして、形状演算部110は、上記高さ画像の垂直方向の各画素位置毎に、右部輪郭画素と左部輪郭画素を検出した場合のみ、右部輪郭画素と左部輪郭画素の間をγ次曲線によって補間し、その領域内の各画素位置毎の補間データ値を演算する。図24の例では、図24(b) に示されるようにして、垂直方向の各画素位置で補間処理が実行される。 【0097】右→左方向補間処理に対する図8及び図9の動作フローチャートの基本的な制御手順は、上→下方向補間処理の場合と同様であるためその詳細な説明は省略するが、前述したように、図8及び図9の動作フローチャートにおいて、C1、C2、C3を任意の文字列としたときに、括弧とスラッシュで囲まれた部分「(C1/C2/C3)」は、右→左方向補間処理では、文字列「C3」と読み替えて実行される。 【0098】なお、右→左方向補間処理では、左→右方向補間処理の場合とは異なり、垂直方向の上端から下端までの各画素位置で上部輪郭画素と下部輪郭画素の探索処理が実行される(図9のステップ816参照)。これは、後ろ髪の頭髪部がその領域全体で存在し得るためである。 【0099】形状演算部110は、上述のようにして図7のステップ703の右→左方向補間処理を終了した後、図7のステップ704に示される各方向補間結果の合成処理を実行する。 【0100】この処理では、形状演算部110は、高さ画像の各画素位置毎に、図7のステップ701〜703での各方向補間処理によって算出された何れか1つの補間データ値のみが存在する場合には、その補間データ値をその画素の高さ画像データとし、図7のステップ701〜703での各方向補間処理によって算出された何れか2つ以上の補間データ値が存在する場合には、それらの補間データ値の平均値をその画素の高さ画像データとし、そのようにして得られる高さ画像データを頭髪部補間処理前の高さ画像データと合成して出力する。なお、この場合に、適当な空間フィルタを用いて隣接画素間での平滑化が実行されてもよい。 【0101】以上のようにして、図4のステップ307に示される頭髪部補間処理が実行されることにより、発明が解決しようとする課題であった、背景と境界を接する人物の頭髪部の3次元形状の欠落の補間が実現される。この頭髪部補間処理による効果は、図26(a) に示される頭髪部補間処理前の高さ画像と、図26(b) に示される頭髪部補間処理後の高さ画像とを比較すると、非常に大きいものであることが理解される。 穴埋め処理続いて、形状演算部110は、図4のステップ307により頭髪部が補間された高さ画像データに対して、穴埋め処理を実行する(図4のステップ308)。この処理では、形状演算部110は、図27(a) →(f) に示されるように、0より大きい正の値の有効データを有する測定対象101の領域に囲まれた無効データの値を有する穴領域を検出し、その穴領域に対して補間処理を実行することにより、上述の頭髪部補間処理において補間されずに残った領域や、前述のコードノイズ除去処理や高さノイズ除去処理でできた無効データ領域を穴埋めする。 【0102】図10は、図4のステップ308の穴埋め処理を示す動作フローチャートである。形状演算部110は、上→下方向補間処理(ステップ1001)、左→右方向補間処理(ステップ1002)、各方向補間結果の合成処理(ステップ1003)、及び残りの処理(ステップ1004)の順に実行する。 【0103】図11及び図12に示される動作フローチャートは、図10のステップ1001及び1002の各方向補間処理の詳細を示す共通の動作フローチャートであって、C1及びC2を任意の文字列としたとき、括弧とスラッシュで囲まれた部分「(C1/C2)」は、図10のステップ1001の説明においては文字列「C1」と読み替え、図10のステップ1002の説明においては文字列「C2」と読み替えるものとする。 【0104】まず、図10のステップ1001の上→下方向補間処理の詳細について、図11及び図12に示される動作フローチャートと、図27に示される説明図に基づいて説明する。 【0105】上→下方向補間処理では、形状演算部110は、図27(a) →(b) に示されるように、図4のステップ307によって頭髪部補間処理が施された高さ画像において、その高さ画像の水平方向の各画素位置毎に、上端から下方に向かって高さ画像データを探索し、高さ画像データが有効データ→無効データと変化する境界画素である上部穴画素、更にそこから下方に無効データ→有効データと変化する境界画素である下部穴画素を探索し、上部穴画素と下部穴画素を検出した場合のみ、それらの間を直線補間し、その領域内の各画素位置毎の補間データ値を演算する。 【0106】なお、穴埋めされる領域は小さい領域である場合がほとんどであるため、穴埋め処理において実行される補間処理では、γ次曲線補間演算が実行される必要はなく、直線補間演算で十分である。 【0107】具体的には、図11及び図12に示される動作フローチャートにおいて、高さ画像データは、高さ画像の水平方向画素位置を指定する水平ポインタと、垂直方向画素位置を指定する垂直ポインタとによって、各画素位置に対応する高さ画像データが読み出されるように、パーソナルコンピュータ109内の特には図示しない画像メモリに2次元配列として記憶されている。なお、水平ポインタ値は左端画素に対応する値が0でそこから右方向が正方向、垂直ポインタ値は上端画素に対応する値が0でそこから下方向が正方向であるとする。 【0108】まず、形状演算部110は、水平ポインタを高さ画像の左端画素を指示する値0にセットする(図11のステップ1101)。次に、形状演算部110は、図11のステップ1102で垂直ポインタを高さ画像の上端画素を指示する値0にセットした後、図11のステップ1103で有効データが出現したと判定されるか、図11のステップ1105で探索画素が下端画素に達したと判定されるまで、図11のステップ1104でその垂直ポインタの値を+1ずつインクリメントしながら探索画素位置を順次下方向に移動させてゆく探索処理を繰り返し実行する(図11のステップ1103→1104→1105→1103のループ処理)。 【0109】形状演算部110は、上述の探索処理ループにおける図11のステップ1105で探索画素が下端画素に達したと判定した場合には、水平ポインタによって示される現在の水平方向画素位置での処理を中止し、図12のステップ1115以降の次の水平方向画素位置に対する処理を実行する(図11のステップ1105→図12のステップ1115)。 【0110】一方、形状演算部110は、上述の探索処理ループにおける図11のステップ1103で探索画素のデータが背景データ(0の値を有するデータ)から0より大きい正の値を有する有効データに変化したことを検出すると(図11のステップ1103の判定がYES)、図11のステップ1107で探索画素が下端画素に達したと判定されるか、図11のステップ1108で無効データが出現したと判定されるまで、図11のステップ1106で垂直ポインタの値を+1ずつインクリメントしながら探索画素位置を更に順次下方向に移動させてゆく探索処理を繰り返し実行する(図11のステップ1106→1107→1108→1106のループ処理)。 【0111】形状演算部110は、上述の探索処理ループにおける図11のステップ1107で探索画素が下端画素に達したと判定した場合には、水平ポインタによって示される現在の水平方向画素位置での処理を中止し、図12のステップ1115以降の次の水平方向画素位置に対する処理を実行する(図11のステップ1107→図12のステップ1115)。 【0112】一方、形状演算部110は、上述の探索処理ループにおける図11のステップ1108で探索画素のデータが0より大きい正の値を有する有効データから−32768の値を有する無効データに変化したことを検出すると、その直前の画素の画素位置と有効データ値を、上部穴画素として記憶する(ステップ1108→1109)。 【0113】続いて、形状演算部110は、図12のステップ1111で探索画素が下端画素に達したと判定されるか、図12のステップ1112で0より大きい正の値を有する有効データが出現したと判定されるまで、図12のステップ1110で垂直ポインタの値を+1ずつインクリメントしながら探索画素位置を更に順次下方向に移動させてゆく探索処理を繰り返し実行する(図12のステップ1110→1111→1112→1110のループ処理)。 【0114】形状演算部110は、上述の探索処理ループにおける図12のステップ1111で探索画素が下端画素に達したと判定した場合には、水平ポインタによって示される現在の水平方向画素位置での処理を中止し、図12のステップ1115以降の次の水平方向画素位置に対する処理を実行する(図12のステップ1111→1115)。 【0115】一方、形状演算部110は、上述の探索処理ループにおける図12のステップ1112で探索画素のデータが−32768の値を有する無効データから0より大きい正の値を有する有効データに変化したことを検出すると、現在の探索画素の画素位置と有効データ値を、下部穴画素として記憶する(ステップ1112→1113)。 【0116】上述のようにして現在の水平方向画素位置において、上部穴画素と下部穴画素がともに検出された場合には、形状演算部110は、図11のステップ1109で記憶された上部穴画素の画素位置及び有効データ値と図12のステップ1113で記憶された下部穴画素の画素位置及び有効データ値の間で、直線補間処理を実行することにより、その領域内の各画素の補間データ値を演算し、それぞれを各画素の画素位置と共に記憶する(図12のステップ1214)。 【0117】上述のようにして、形状演算部110は、現在の水平方向画素位置における補間処理が終了した後、水平ポインタの値を+1インクリメントすることにより、探索処理を実行する水平方向画素位置を1画素右に移動させる(図12のステップ1115)。 【0118】続いて、形状演算部110は、新たな水平方向画素位置が高さ画像の右端画素位置を超えたか否かを判定する(図12のステップ1116)。形状演算部110は、新たな水平方向画素位置が高さ画像の右端画素位置を超えていないと判定した場合には、その新たな水平方向画素位置に対して、上述した図11のステップ1102以降の一連の補間処理を実行する(図12のステップ1116→図11のステップ1102)。 【0119】一方、形状演算部110は、新たな水平方向画素位置が高さ画像の右端画素位置を超えたと判定した場合には、図10のステップ1001の上→下方向補間処理を終了する。 【0120】以上のようにして、図27(b) に示されるように、各水平方向画素位置毎に、上部穴画素と下部穴画素とが探索され、両方が検出できた場合にそれらの画素間で直線補間処理が実行される。 【0121】形状演算部110は、図10のステップ1001の上→下方向補間処理を終了した後、図10のステップ1002の左→右方向補間処理を実行する。左→右方向補間処理では、形状演算部110は、上述した図11及び図12に示される動作フローチャートに基づいて、図27(c) に示されるように、図4のステップ307により頭髪部補間処理が施された高さ画像において、その高さ画像の垂直方向の各画素位置毎に、左端から右方に向かって高さ画像データを探索し、高さ画像データが有効データ→無効データと変化する境界画素である左部穴画素、更にそこから右方に無効データ→有効データと変化する境界画素である右部穴画素を探索し、左部穴画素と右部穴画素を検出した場合のみ、それらの間を直線補間し、その領域内の各画素位置毎の補間データ値を演算する。 【0122】左→右方向補間処理に対する図11と図12の動作フローチャートの基本的な制御手順は、上→下方向補間処理の場合と同様であるためその詳細な説明は省略するが、前述したように、図11と図12の動作フローチャートにおいて、C1及びC2を任意の文字列としたときに、括弧とスラッシュで囲まれた部分「(C1/C2)」は、左→右方向補間処理では、文字列「C2」と読み替えて実行される。 【0123】以上のようにして、図27(c) に示されるように、各垂直方向画素位置毎に、左部穴画素と右部穴画素とが探索され、両方が検出できた場合にそれらの画素間で直線補間処理が実行される。 【0124】形状演算部110は、上述のようにして図10のステップ1002の左→右方向補間処理を終了した後、図10のステップ1003に示される各方向補間結果の合成処理を実行する。 【0125】この処理において、形状演算部110は、図27(d) 、(e) 、及び(f) に示されるように、高さ画像の各画素位置毎に、図10のステップ1001及び1002での各方向補間処理によって算出された両方の補間データ値が存在する場合、即ちその画素が閉じた穴の領域内の画素である場合のみ、それらの補間データ値の平均値をその画素の高さ画像データとし、そのようにして得られる高さ画像データを穴埋め処理前の高さ画像データと合成して出力する。なお、この場合に、適当な空間フィルタを用いて隣接画素間での平滑化が実行されてもよい。 【0126】一方、形状演算部110は、高さ画像の各画素位置毎に、図10のステップ1001及び1002での各方向補間処理によって算出された両方の補間データ値が存在しない場合、即ちその画素が閉じていない穴の領域内の画素である場合には、その画素はバックボード201中の誤データであるとして、その画素のデータ値を強制的に背景データ値0に変換し、そのようにして得られる高さ画像データを穴埋め処理前の高さ画像データと合成して出力する。 【0127】最後に、形状演算部110は、上述の図10のステップ1003の各方向補間結果の合成処理の結果として出力される高さ画像データにおいて、最後に残ってしまっている−32768の値を有する無効データを有する画素については、その高さ画像データの値を強制的に背景データ値0に変換し、そのようにして得られる高さ画像データを図10のステップ1003の各方向補間結果の合成処理の結果として出力される高さ画像データと合成して出力する(図10のステップ1004)。 【0128】以上のようにして、図4のステップ308に示される穴埋め処理が実行されることにより、余計な無効データ領域が穴埋めされる。 オフセット補正処理続いて、形状演算部110は、図4のステップ308により穴埋めがなされた高さ画像データに対して、オフセット補正処理を実行する(図4のステップ309)。 【0129】前述した図4のステップ305の欠落部分抽出処理では、図28(a) に示されるように、各画素毎の高さ画像データから背景の高さに対応するカットレベルが減算されることにより、高さ画像データにおいて背景部分(+所定のオフセット値)が高さ0の有効データとなるようなレベルカットが実行される。 【0130】以下に説明するオフセット補正処理では更に、図28(b) に示されるように、レーザスリット光の照射における死角部分となる、背景部分から測定対象101である人物の顔の鼻部分までの高さに相当するオフセットが補正される。 【0131】但し、図1に示される3次元彫刻機116による彫刻時には、人物形状はメダルの基部からわずかに盛り上がっている方が鼻より遠い位置の頭髪等が残されて自然な仕上がりを得られるため、実際のオフセット補正処理では、図28(c) に示されるように、(鼻の高さ−彫刻時のオフセット) のオフセット量がレベルカットされる。 【0132】図13は、図4のステップ308のオフセット補正処理の詳細を示す動作フローチャートである。まず、形状演算部110は、モニタ装置1502(図15)に、図4のステップ308により穴埋めがなされた高さ画像とカーソル線を表示させる(図13のステップ1301)。 【0133】次にオペレータが、マウス等の入力装置を用いて、モニタ装置1502上のカーソル線を、高さ画像上の鼻の頭に合わせる(図13のステップ1302)。形状演算部110は、カーソル線の位置に対応する水平ライン上の各画素の高さ画像データを順次読み込み、最初に見つかった0より大きい値を有する有効データを、鼻の頭と判定する。形状演算部110は、その鼻の頭の画素位置から右へn画素(例えば10画素)分の高さ画像データの平均値を演算し、それを鼻の高さとして算出する(図13のステップ1303)。 【0134】次にオペレータが通常モードを指定している場合は、形状演算部110は、ステップ1303で算出した鼻の高さを用い、(鼻の高さ−彫刻時のオフセット)のオフセット量を、図4のステップ308により穴埋めがなされた各画素毎の高さ画像データから減算(レベルカット)する(図13のステップ1304→1305)。 【0135】ここで、測定対象101である人物が、頭髪を後ろで束ねていたり、顔の右側(図1の検出ヘッド102と反対側)で束ねていると、それらに対応する高さ画像データがレベルカットされてしまう場合がある。 【0136】そこで、本実施の形態では、オペレータが上記通常モードのほかに特殊モードを指定できるように構成され、オペレータが特殊モードを指定している場合は、形状演算部110は、鼻の高さより低い高さを示す有効データについては、その最大値が鼻の高さになるように、それらの有効データを比例圧縮する(図13のステップ1304→1306)。 【0137】その後、形状演算部110は、鼻の高さより高い高さを示す有効データを抽出し(図13のステップ1307)、それらの有効データから、(鼻の高さ−彫刻時のオフセット) のオフセット量を減算(レベルカット)する(図13のステップ1307→1305)。 彫刻データへの変換処理最後に、形状演算部110は、図4のステップ309によりオフセット補正がなされた高さ画像データを、3次元彫刻機116(図1)が処理することのできる彫刻データに変換する(図4のステップ310)。 【0138】図14は、図4のステップ310の詳細を示す動作フローチャートである。まず、形状演算部110は、図4のステップ309によりオフセット補正がなされた256×240画素からなる高さ画像データ(各データは符号付き2バイトデータ)を、2画素×2画素の部分領域に分割し、各部分領域毎に、その部分領域に含まれる4画素分の高さ画像データの平均値を演算して出力する(図14のステップ1401)。この結果、256×240画素からなる高さ画像データが128×120個の高さ画像データに圧縮される。 【0139】次に、形状演算部110は、上記128×120個の高さ画像データにつき、その最大値が例えば114になるように正規化(比例圧縮)する(図14のステップ1402)。この114という値の例は、3次元彫刻機116による彫刻時のz軸方向(深さ方向)の分解能であり、3次元彫刻機116の性能に応じて決定される。 【0140】続いて、形状演算部110は、正規化された128×120個の高さ画像データにおいて、それが示す高さ画像の左端辺と右端辺に対応する画素の高さ画像データを0とする(図14のステップ1403)。 【0141】次に、形状演算部110は、上記128×120個の高さ画像データのそれぞれを、隣接データに対する差分を示すデータ(符号付き1バイトデータ)に変換する(図14のステップ1403)。 【0142】更に、形状演算部110は、上記128×120個の高さ差分画像データに対してチェックサムを演算し、その結果得られる1バイトのチェックサムコードを上記128×120個の高さ差分画像データに付加する(図14のステップ1405)。 【0143】最後に、形状演算部110は、上記(128×120個の高さ差分画像データ+1バイトのチェックサムコード)を、図1に示されるように、形状データ115として3次元彫刻機116に出力する。 【0144】以上のようにして、3次元彫刻機116は、特に背景と境界を接する人物の頭髪部の3次元形状の欠落が適切に補間された形状データ115に基づいて、非常に自然な3次元人物像を、貴金属メダルに彫刻することができる。 他の実施の形態上述の実施の形態は、3次元彫刻機116による貴金属メダルへの3次元人物像の彫刻を目的としたシステム構成を有しているが、本発明はこれに限られるものではなく、プラスチックエンブレムへの3次元人物像の刻印のための金型を目的としたもの、或いは、木工製品への彫刻を目的としたもの等全てに適用することが可能である。 【0145】また、本発明は、必ずしも3次元彫刻を目的としたシステムに適用される必要はなく、測定対象101を3次元計測した結果を表示又は印刷するようなシステムに適用することもできる。 【0146】また、本発明は、バックボードを使用して欠落部分の輪郭情報を抽出する技術に限られるものではなく、例えばバックボードは特には使用せずに計測された3次元形状から抽出された有効な輪郭線情報から、欠落部分にかかっている輪郭線部分を曲線近似等の手法によって復元し、或いは、予め蓄積されている多数の顔の輪郭線情報から選択する手法によって復元し、その復元された欠落部分の輪郭線の情報を用いて欠落部分を補間するように構成されてもよい。 【0147】更に、本発明が対象とする3次元形状の計測方式は、左右からのレーザスリット光の照射に基づく方式に限定されるものではなく、レーザ光に限定されるものでもない。 【0148】加えて、本発明は、欠落部分は必ずしも人物の頭髪である必要はないことは勿論である。 本実施の形態を実現するプログラムが記録された記録媒体についての補足本発明は、コンピュータにより使用されたときに、上述の本発明の実施の形態の各構成によって実現される機能と同様の機能をコンピュータに行わせるためのコンピュータ読出し可能記録媒体として構成することもできる。 【0149】この場合、例えばフロッピィディスク、CD−ROMディスク、光ディスク、リムーバブルハードディスク等の可搬型記録媒体や、ネットワーク回線経由で、本発明の実施の形態の各種機能を実現するプログラムが、コンピュータの本体内のメモリ(RAM又はハードディスク等)にロードされて、実行される。 【0150】 【発明の効果】本発明によれば、測定対象である人物等の横顔と背景領域との境界情報又は輪郭情報を正確に抽出することができ、その抽出された境界情報又は輪郭情報に基づいて、背景と境界を接する人物の頭髪部等の3次元形状の欠落を補間することが可能となる。 【0151】更に具体的には、測定対象である人物等の後ろに立てられ例えばレーザスリット光を反射可能なバックボードと共に、人物の横顔等の3次元形状が計測されることによって、バックボードに対応する背景データ値を有する画素からなる背景領域と、測定対象に対応する有効データ値を有する画素からなる測定対象有効領域に囲まれ、無効データ値を有する画素からなる背景境界欠落領域を容易に抽出することが可能となり、その抽出された背景境界欠落領域を構成する画素の補間を容易に行うことが可能となる。 【0152】このようにして補間された3次元形状データを用いることにより、3次元彫刻装置による貴金属メダル等への測定対象である人物の横顔等の3次元像の彫刻において、より自然な仕上がりを得ることが可能となる。
|
| 【出願人】 |
【識別番号】591013768 【氏名又は名称】株式会社ペティオ 【識別番号】597131406 【氏名又は名称】河本 明哲
|
| 【出願日】 |
平成9年(1997)9月30日 |
| 【代理人】 |
【弁理士】 【氏名又は名称】野村 泰久
|
| 【公開番号】 |
特開平11−108633 |
| 【公開日】 |
平成11年(1999)4月23日 |
| 【出願番号】 |
特願平9−281066 |
|