説明

ミシン

【課題】刺繍枠の移動手段の座標系と、撮像手段の座標系との対応が的確にとれたミシンを提供すること。
【解決手段】被加工物を保持部材に保持させた状態で、パラメータ算出処理が実行される。パラメータ算出処理では、加工データが取得される(S10)。加工データに従って、保持部材が移動され(S30)、保持部材に保持された被加工物に複数の特徴点が形成される(S40)。複数の特徴点が形成された被加工物が撮像される(S70)。被加工物の画像から、複数の特徴点が抽出され、特徴点座標が算出される(S80)。S85で取得された基準座標と、特徴点座標とが対応付けられる(S90)。対応付けの結果に基づいて、移動手段の座標系と撮像手段の座標系とを対応づけるパラメータが算出される(S100)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ミシンに関するものであり、詳細には、撮像手段を備えたミシンに関するものである。
【背景技術】
【0002】
従来、撮像手段を備えたミシンが種々提案されている。例えば、特許文献1に記載のミシンは、撮像手段によって撮影された画像に基づき、基線上に基線の種類に応じた縫目が形成される。具体的には、加工布に描かれた基線が撮像手段によって撮像される。得られた撮像画像が解析され、加工布上の基線の位置と種類とが特定される。特定された基線の位置に刺繍枠が移動され、基線の種類に応じた縫目が基線の位置に形成される。
【0003】
一般的に、カメラで撮像された画像が解析され、撮像対象物の位置(座標)が取得される装置では、画像が解析される前に、カメラキャリブレーションが行われる。カメラキャリブレーションとは、内部パラメータと、外部パラメータとを算出することである。内部パラメータは、焦点距離や主点座標等のカメラ自身の構成によって決定される。外部パラメータは、カメラの撮像方向等のカメラの設置状態によって決定される。カメラキャリブレーションによって算出されたパラメータを用いることによって、三次元座標上の点(現実の撮像対象物)が二次元座標(撮像画像)上に投影されるべき位置を知ることができる。カメラキャリブレーション(パラメータの算出)の方法については、様々な研究が行われており、例えば、特許文献2に記載の視覚センサの自動キャリブレーション装置が提案されている。上記特許文献1においても、加工布に描かれた基線の位置や太さを正確に特定するためには、撮像手段のキャリブレーションが不可欠である。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−289653号公報
【特許文献2】特許第3138080号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来のミシンでは、撮像手段のキャリブレーションが的確に行われた場合であっても、刺繍枠を移動させる移動手段の座標系と、撮像手段の座標系との対応が的確にとれない場合がある。例えば、刺繍枠の装着不備等によって、移動手段の座標系の二次元座標軸が、撮像手段の座標系の二次元座標軸に対し、傾いてしまう場合がある。このような場合には、例えば、特許文献1に記載のミシンのように、撮像手段によって撮像された画像から、加工布に描かれた基線の位置が特定されても、基線が描かれた位置に刺繍枠を移動させることができない。したがって、ユーザがミシンを使用して、撮像手段で撮像された画像から特定した位置に縫目を形成させる場合に、所望の縫製結果が得られないという問題点があった。
【0006】
本発明は、上述の問題点を解決するためになされたものであり、刺繍枠の移動手段の座標系と、撮像手段の座標系との対応が的確にとれたミシンを提供することを目的とする。
【課題を解決するための手段】
【0007】
請求項1に係るミシンは、被加工物を保持する保持部材と、前記保持部材を移動させる移動手段と、前記被加工物に複数の特徴点を形成することを指示する加工データを取得する加工データ取得手段と、前記加工データ取得手段によって取得された前記加工データに従って、前記移動手段によって前記保持部材を移動させ、前記保持部材に保持された前記被加工物に前記複数の特徴点を形成させる特徴点形成手段と、ミシンベッド上を撮像可能な位置に配置されるとともに、前記複数の特徴点が形成された前記被加工物を撮像する撮像手段と、前記撮像手段によって撮像された前記被加工物の画像から、前記複数の特徴点を抽出し、抽出された前記複数の特徴点のそれぞれについて、二次元座標を特徴点座標として算出する特徴点座標算出手段と、予め計測された前記複数の特徴点の三次元座標である基準座標を取得する基準座標取得手段と、前記基準座標取得手段によって取得された前記基準座標と、前記特徴点座標算出手段によって算出された前記特徴点座標とを対応付ける対応付け手段と、前記対応付け手段による対応付けの結果に基づいて、前記移動手段の座標系と前記撮像手段の座標系とを対応づけるパラメータを算出するパラメータ算出手段とを備えている。
【0008】
請求項2に係るミシンは、請求項1に記載の発明の構成に加え、下端部に縫針を装着した針棒を、前記加工データに従って上下方向に駆動させる針棒駆動手段を備え、前記特徴点形成手段は、前記加工データ取得手段によって取得された前記加工データに従って、前記移動手段によって前記保持部材を移動させるとともに、前記針棒駆動手段を駆動させて、前記縫針によって前記被加工物に複数の貫通孔を前記複数の特徴点として形成させる。
【0009】
請求項3に係るミシンは、請求項1又は2に記載の発明の構成に加え、前記被加工物は白い紙である。
【0010】
請求項4に係るミシンは、請求項1から3のいずれかに記載の発明の構成に加え、前記複数の特徴点は、前記撮像手段の撮像可能範囲内の前記被加工物に規則的に配列される。
【0011】
請求項5に係るミシンは、請求項1から4のいずれかに記載の発明の構成に加え、前記パラメータ算出手段によって算出された前記パラメータを用いて、前記撮像手段によって撮像された画像を加工する画像加工手段を備えている。
【0012】
請求項6に係るミシンは、請求項1から5のいずれかに記載の発明の構成に加え、前記パラメータ算出手段によって算出された前記パラメータを用いて、前記撮像手段によって撮像された画像上の三次元座標を算出する三次元座標算出手段を備えている。
【0013】
請求項7に係るミシンは、請求項1から6のいずれかに記載の発明の構成に加え、前記パラメータ算出手段によって算出された前記パラメータを用いて、三次元座標で示された点の座標を二次元座標系に投影した点の座標を算出する二次元座標算出手段を備えている。
【発明の効果】
【0014】
請求項1に係るミシンでは、移動手段の座標系と撮像手段の座標系とを対応づけるパラメータを算出する。得られたパラメータを用いて、移動手段の座標系と撮像手段の座標系とを対応づけることによって、例えば、撮像手段によって撮像された画像(以下、「撮像画像」と言う。)に基づき特定した位置に縫目が形成されるように、保持部材を移動させることができる。したがって、ユーザがミシンを使用して、保持部材内の指示した位置に縫目を形成させたい場合に、所望の縫製結果が得られる。また、パラメータを算出するための特徴点は、特徴点形成手段によって被加工物に形成される。したがって、パラメータの算出に際しては、特徴点形成手段と被加工物とを用意するのみでよく、簡単にパラメータを算出することができる。
【0015】
また、請求項2に係るミシンでは、縫針によって被加工物に形成した貫通孔を特徴点とする。即ち、特徴点は、移動手段によって保持部材が移動された位置における針落ち点を示す。このため、請求項1に記載の発明の効果に加え、移動手段の座標系と撮像手段の座標系とを対応づけるパラメータを精度良く算出することができる。また、パラメータを算出するための特徴点は、縫針によって形成される。したがって、パラメータの算出に際しては、ユーザは被加工物を用意するのみでよく、ミシンにパラメータを算出させるための準備が簡単である。
【0016】
また、請求項3に係るミシンでは、被加工物が白い紙であるので、特徴点とのコントラストをとりやすい。したがって、請求項3に係るミシンは、請求項1又は2に記載の発明の効果に加え、被加工物に形成された特徴点を精度良く抽出することができる。
【0017】
また、請求項4に係るミシンは、請求項1から3のいずれかに記載の発明の効果に加え、被加工物に規則的な位置に形成された特徴点から、移動手段の座標系と撮像手段の座標系とを対応づけるパラメータを精度良く算出することができる。
【0018】
また、請求項5に係るミシンは、移動手段の座標系と撮像手段の座標系とを対応づけるパラメータを用いて、撮像画像を加工する。したがって、請求項5に係るミシンは、請求項1から4のいずれかに記載の発明の効果に加え、移動手段の座標系と撮像手段の座標系との対応がとれた画像を作成させることができる。これによって、請求項5に係るミシンは、例えば、加工布等の被加工物を撮像した撮像画像に基づき特定された位置に、縫目を形成させるための保持部材の移動量を容易に決定させることができる。
【0019】
また、請求項6に係るミシンは、請求項1から5のいずれかに記載の発明の効果に加え、撮像手段に固有の特性や撮像手段の設置状態の影響を排除して、撮像画像上の点を三次元座標系の点に変換させることができる。請求項6に係るミシンは、取得された三次元座標を用いて、例えば、撮像画像の点の位置を把握したり、撮像画像の2点間の距離を把握したりすることができる。
【0020】
また、請求項7に係るミシンは、請求項1から6のいずれかに記載の発明の効果に加え、撮像手段に固有の特性や撮像手段の設置状態の影響を排除して、三次元座標系の点を二次元座標系の座標に変換させることができる。請求項7に係るミシンは、取得された二次元座標を用いて、例えば、撮像画像上の所定の領域を特定したり、撮像画像上の所定の点を特定したりすることができる。
【図面の簡単な説明】
【0021】
【図1】ミシン1の斜視図である。
【図2】縫針7の近傍をミシン1の左側からみた図である。
【図3】刺繍枠32に平面図である。
【図4】ミシン1の電気的構成を示すブロック図である。
【図5】RAM63の記憶エリアの説明図である。
【図6】二次元座標記憶エリア632の説明図である。
【図7】EEPROM64の記憶エリアの説明図である。
【図8】基準座標記憶エリア641の説明図である。
【図9】加工データが指示する特徴点の座標の説明図である。
【図10】パラメータ算出処理のフローチャートである。
【図11】特徴点301が形成された被加工物34の平面図である。
【図12】刺繍模様形成処理のフローチャートである。
【図13】図12の刺繍模様形成処理で実行される、開始点取得処理のフローチャートである。
【図14】図13の開始点取得処理で実行される、二次元座標算出処理のフローチャートである。
【図15】図13の開始点取得処理で実行される、三次元座標算出処理のフローチャートである。
【図16】変形例の開始点取得処理のフローチャートである。
【図17】図16の開始点取得処理で実行される、画像加工処理のフローチャートである。
【発明を実施するための形態】
【0022】
以下、本発明の第1及び第2の実施形態について、図面を参照して順に説明する。なお、これらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成、各種処理のフローチャート等は、それのみに限定する趣旨ではなく、単なる説明例である。
【0023】
まず、図1から図4を参照して、第1及び第2の実施形態に共通するミシン1の物理的構成及び電気的構成について説明する。図1において、矢印Xの方向を右方向、その反対方向を左方向、矢印Yの方向を前方向、その反対方向を後方向と言う。図1に示すように、ミシン1は、ミシンベッド2と、脚柱部3と、アーム部4とを備えている。ミシンベッド2は、左右方向に長く伸びている。脚柱部3は、ミシンベッド2の右端部から上方へ立設されている。アーム部4は、脚柱部3の上端から左方へ延びている。アーム部4の左先端部には、頭部5がある。脚柱部3の正面には、表面にタッチパネル16を備えた液晶ディスプレイ(以下、「LCD」と言う。)10が設けられている。LCD10には、縫製模様や縫製条件の入力キー等が表示される。LCD10に表示された入力キー等の位置に対応したタッチパネル16の箇所を、指や専用のタッチペンを用いて押圧操作すること(以下、この操作を「パネル操作」と言う。)によって、ユーザは縫製模様や縫製条件等を選択できる。
【0024】
ミシンベッド2の内部には、送り歯前後動機構(図示せず)と、送り歯上下動機構(図示せず)と、送り量調整用パルスモータ78(図4参照)と、釜(図示せず)とが収納されている。送り歯前後動機構及び送り歯上下動機構は、送り歯(図示せず)を駆動させる。送り量調整用パルスモータ78は、送り歯による加工布(図示せず)の送り量を調整する。釜は下糸(図示せず)が巻回されたボビン(図示せず)を収納する。ミシンベッド2の左端には、刺繍装置30を装着されている。刺繍装置30を使用しない場合には、ミシンベッド2の左端に補助テーブル(図示せず)が装着される。刺繍装置30がミシンベッド2の左端に装着されると、刺繍装置30は、ミシン1に電気的に接続された状態となる。刺繍装置30の詳細については後述する。
【0025】
脚柱部3とアーム部4との内部には、ミシンモータ79(図4参照)と、主軸(図示せず)と、針棒6(図2参照)と、針棒上下動機構(図示せず)と、針振り機構(図示せず)とが収納されている。図2に示すように、針棒6の下端部には、縫針7が装着される。針棒上下動機構は、ミシンモータ79を駆動源として針棒6を上下動させる。針振り機構は、針振り用パルスモータ77(図4参照)を駆動源として針棒6を左右方向に揺動させる。図2に示すように、針棒6の後ろ側には、上下方向に伸びる押え棒45がある。押え棒45の下端部には、押えホルダ46が固定されている。押えホルダ46には、加工布(図示せず)を押さえる押え足47が装着されている。
【0026】
アーム部4には、開閉カバー21が取り付けられている。開閉カバー21は、アーム部4の長手方向に設けられ、アーム部4の上後端部に左右方向向きの軸回りに開閉可能に軸支されている。開閉カバー21を開けた状態の、アーム部4の上部中央近傍には、糸収容部23が設けられている。糸収容部23は、ミシン1に糸を供給する糸駒20を収容するための凹部である。糸収容部23の脚柱部3側の内壁面には、頭部5に向かって突出する糸立棒22が設けられている。糸駒20は、糸駒20が備える挿入孔(図示せず)が糸立棒22に挿入されて装着される。図示しないが、糸駒20の糸は、上糸として、頭部5に設けられた複数の糸掛部を経由して、針棒6に装着された縫針7(図2参照)に供給される。糸掛部として、例えば、糸調子器、糸取バネ、天秤が挙げられる。糸調子器及び糸取バネは、糸張力を調整する。天秤は、上下に往復駆動して上糸を引き上げる。
【0027】
ミシン1の右側面には、プーリ(図示せず)が設けられている。プーリは、手動で主軸を回転させ、針棒6を上下動させる。頭部5及びアーム部4の正面には、正面カバー59が設けられている。正面カバー59には、縫製開始・停止スイッチ41,速度調整摘み43,及びその他の操作スイッチが設けられている。縫製開始・停止スイッチ41は、縫製の開始及び停止を指示するスイッチである。ミシン1の停止中に縫製開始・停止スイッチ41が押圧されるとミシン1の運転が開始され、ミシン1の運転中に縫製開始・停止スイッチ41が押圧されるとミシン1の運転が停止される。速度調整摘み43は、主軸(図示せず)の回転速度を調整する。正面カバー59の内部であって、縫針7からみて右斜め上方の位置には、イメージセンサ50(図2参照)が設置されている。イメージセンサ50の詳細については後述する。
【0028】
次に、図2を参照して、イメージセンサ50について説明する。イメージセンサ50は、周知のCMOSイメージセンサであり、ミシンベッド2及びミシンベッド2上に設けられる針板80を撮像可能な位置に取り付けられる。本実施形態では、イメージセンサ50は、ミシン1のフレーム(図示せず)に取り付けられた支持フレーム51に取り付けられている。
【0029】
次に、図1及び図3を参照して、刺繍装置30について説明する。刺繍装置30は、キャリッジ(図示せず)と、キャリッジカバー33と、前後移動機構(図示せず)と、左右移動機構(図示せず)と、刺繍枠32とを備える。キャリッジは、刺繍枠32を着脱可能に保持する。キャリッジの右方には、刺繍枠32が装着される凹溝部(図示せず)が設けられている。凹溝部は、キャリッジの長手方向に沿って伸長している。キャリッジカバー33は、概略、前後方向に長い直方体状の形状を有し、キャリッジを収容する。キャリッジカバー33の内部には、前後移動機構(図示せず)が設けられている。前後移動機構は、Y軸モータ82(図4参照)を駆動源として、刺繍枠32が装着されたキャリッジを前後方向に移動させる。左右移動機構は、刺繍装置30の本体内に設けられている。左右移動機構は、X軸モータ81(図4参照)を駆動源として、刺繍枠32が装着されたキャリッジと、前後移動機構と、キャリッジカバー33とを左右方向に移動させる。Y軸モータ82及びX軸モータ81に対する駆動指令は、後述するCPU61(図4参照)によって出力される。
【0030】
図3を参照して、刺繍枠32について説明する。刺繍枠32は、ガイド321と、外枠322と、内枠323と、調整ネジ324とを備える。ガイド321は、平面視略長方形の形状を有する。ガイド321の下面の略中央には、長手方向に沿って伸長する突出部(図示せず)が設けられている。突出部を、刺繍装置30のキャリッジ(図示せず)に設けられた凹溝部(図示せず)に係合させて取り付けることによって、刺繍枠32はキャリッジに装着される。刺繍枠32はキャリッジに装着された状態では、キャリッジに設けられている弾性付勢バネ(図示せず)によって、突出部は凹溝部に押圧される方向に付勢される。このため、刺繍枠32とキャリッジとは、確実に嵌合した状態となり、刺繍枠32はキャリッジと一体的に移動する。外枠322の内側には、外周形状が外枠322の内周形状と略同形状に形成された内枠323が嵌め込まれる。外枠322と内枠323との間には、加工布等の被加工物34が挟まれる。外枠322に設けられた調整ネジ324が締められることによって、被加工物34は刺繍枠32に保持される。内枠323の内側には、矩形の縫製領域325が設定されている。刺繍模様は、縫製領域325内に形成される。なお、刺繍枠32は図1に示すサイズのものだけでなく、図示はしないが様々なサイズの刺繍枠が用意されている。
【0031】
次に、図4を参照して、ミシン1の主な電気的構成について説明する。図4に示すように、ミシン1は、CPU61と、ROM62と、RAM63と、EEPROM64と、外部アクセスRAM68と、入力インターフェイス65と、出力インターフェイス66とを備え、これらはバス67によって相互に接続されている。
【0032】
CPU61は、ミシン1の主制御を司り、ROM62等に記憶されたプログラムに従って、各種演算及び処理を実行する。ROM62は、刺繍データ記憶エリア及びプログラム記憶エリアを含む複数の記憶エリアを備える。刺繍データ記憶エリアには、ミシン1で刺繍を行う際に使用される刺繍データが記憶される。プログラム記憶エリアには、CPU61によって実行されるパラメータ算出プログラムと、刺繍模様形成プログラムとを含む複数のプログラムが記憶されている。RAM63は、任意に読み書き可能な記憶素子である。RAM63の記憶エリアについては後述する。EEPROM64は、読み書き可能な記憶素子であり、プログラム記憶エリアに記憶されている各種プログラムが実行される際に使用される各種パラメータが記憶されている。EEPROM64の記憶エリアについては後述する。外部アクセスRAM68には、カードスロット17が接続されている。カードスロット17は、メモリカード18と接続可能である。カードスロット17とメモリカード18とを接続すれば、メモリカード18の情報の読み取りや書き込みを行うことができる。
【0033】
入力インターフェイス65には、縫製開始・停止スイッチ41と、速度調整摘み43と、タッチパネル16と、イメージセンサ50とが接続されている。出力インターフェイス66には、駆動回路70〜75が接続されている。駆動回路70は、針振り用パルスモータ77を駆動させる。針振り用パルスモータ77は、針振り機構(図示せず)の駆動源である。駆動回路71は、送り量調整用パルスモータ78を駆動させる。駆動回路72は、ミシンモータ79を駆動させる。ミシンモータ79は、主軸(図示せず)の駆動源である。駆動回路73は、X軸モータ81を駆動させる。駆動回路74は、Y軸モータ82を駆動させる。駆動回路75はLCD10を駆動させる。入力インターフェイス65及び出力インターフェイス66には、図示しない他の構成要素が適宜接続される。
【0034】
次に、図5を参照して、RAM63の記憶エリアについて説明する。図5に示すように、RAM63は、撮像画像記憶エリア631と、二次元座標記憶エリア632と、その他の記憶エリア633とを備える。撮像画像記憶エリア631には、撮像画像が記憶される。図6に示すように、二次元座標記憶エリア632には、後述するパラメータ算出処理で撮像画像から抽出された複数の特徴点について、特徴点を区別するための番号と、イメージセンサ50で撮像された画像の座標系200(以下、「画像座標系200」と言う。)の二次元座標(u,v)とが対応付けられて記憶される。なお、画像座標系200は、撮像画像に設定される仮想的な座標系であり、図2では画像座標系200を模式的に示している。撮像画像から抽出される特徴点については、後述する。その他の記憶エリア633には、CPU61が演算処理した演算結果等が記憶される。
【0035】
図7を参照して、EEPROM64の記憶エリアについて説明する。EEPROM64は、基準座標記憶エリア641と、内部パラメータ記憶エリア642と、外部パラメータ記憶エリア643と、移動条件記憶エリア644とを備えている。基準座標記憶エリア641には、ワールド座標系100における特徴点の既知の三次元座標が基準座標として記憶されている。ワールド座標系100は、空間全体を示す座標系であり、対象物の重心等の影響を受けることのない座標系である。一般に、ワールド座標系100は、空間内での物体の位置を示したり、異なる物体に対する座標を比較したりする際に用いられる。第1及び第2の実施形態では、以下のようにワールド座標系100が設定されている。図1に示すように、刺繍枠32に挟まれた被加工物34の上面をXY平面とする。ワールド座標系100では、ミシン1の左右方向にX軸が、前後方向にY軸が、上下方向にZ軸がそれぞれ設定されている。ワールド座標系100の原点(X,Y,Z)=(0,0,0)は、針落ち点とする。針落ち点とは、縫針7が被加工物34の上にある状態から針棒6を下方向に移動させた際に、縫針7が被加工物34に刺さる点である。
【0036】
図8を参照して、EEPROM64に設けられている基準座標記憶エリア641について詳細に説明する。図8に示すように、基準座標記憶エリア641には、番号と、加工データと、基準座標とがそれぞれ対応付けられて記憶されている。番号は、特徴点を区別するためのIDである。基準座標記憶エリア641の番号は、二次元座標記憶エリア632の番号と対応する。加工データは、番号に対応する特徴点の位置を指示するデータである。加工データに従って、刺繍枠32を移動させる際の、X軸モータ81及びY軸モータ82の駆動量が決定される。加工データは、例えば、ワールド座標系100(図1参照)で示される。基準座標は、例えば、後述する刺繍装置30の座標系300(図3参照)(以下、「刺繍座標系300」と言う。)と画像座標系200とがそれぞれ校正された状態で、後述するパラメータ算出処理が実行され、算出される。刺繍座標系300については、後述する。基準座標は、ワールド座標系100の三次元座標(Xw,Yw,Zw)である。基準座標は、後述するパラメータ算出処理で実行される、撮像画像に基づき算出された特徴点の座標と比較する処理において用いられる。
【0037】
次に、図8及び図9を参照して、基準座標記憶エリア641に記憶されている加工データについて説明する。図9では、加工データによって指示される特徴点が形成される位置が、点101で示されている。ワールド座標系100のX軸103,Y軸102の交点である原点110は、イメージセンサ50の撮像可能範囲104の中央に位置している。なお、原点110は、撮像可能範囲104の中央位置以外の位置としてもよい。点101は、刺繍枠32を後述する刺繍座標系300の原点の位置に移動させた状態における撮像可能範囲104内に、特徴点の密度(単位面積当たりの特徴点の数)がほぼ均一になるように、規則的に配置されている。より具体的には、本実施形態では、点101は、17×17マスの格子の頂点の位置に配置されている。
【0038】
引き続き図7を参照して、EEPROM64の記憶エリアについて説明する。内部パラメータ記憶エリア642には、撮像された画像及び特徴点の三次元座標から算出された内部パラメータが記憶される。内部パラメータは、イメージセンサ50の特性に基づいて生じる焦点距離と、主点座標のずれと、撮像した画像の歪みとをそれぞれ補正するためのパラメータである。内部パラメータ記憶エリア642には、内部パラメータとして、X軸焦点距離と、Y軸焦点距離と、X軸主点座標と、Y軸主点座標と、第一歪み係数と、第二歪み係数とが記憶される。X軸焦点距離は、イメージセンサ50のX軸方向の焦点距離のずれを示す。Y軸焦点距離は、Y軸方向の焦点距離のずれを示す。X軸主点座標は、イメージセンサ50のX軸方向の主点のずれを示す。Y軸主点座標は、Y軸方向の主点のずれを示す。第一歪み係数と第二歪み係数とはそれぞれ、イメージセンサ50のレンズの傾きによる歪みを示す。内部パラメータは、例えば、ミシン1が撮像画像を正規化画像に変換する際に用いられる。正規化画像は、正規化カメラで撮像した画像である。正規化カメラとは、光学中心からスクリーン面までの距離が単位長であるようなカメラである。
【0039】
外部パラメータ記憶エリア643には、撮像画像及び特徴点の三次元座標から算出された外部パラメータが記憶される。外部パラメータは、ワールド座標系100に対するイメージセンサ50の設置状態(位置及び向き)を示すパラメータである。つまり、外部パラメータとは、画像座標系200と、ワールド座標系100とのずれを示すパラメータである。外部パラメータ記憶エリア643には、外部パラメータとして、X軸回転ベクトルと、Y軸回転ベクトルと、Z軸回転ベクトルと、X軸並進ベクトルと、Y軸並進ベクトルと、Z軸並進ベクトルとが記憶される。X軸回転ベクトルは、画像座標系200のワールド座標系100に対するX軸周りの回転を示し、Y軸回転ベクトルは、Y軸周りの回転を示し、Z軸回転ベクトルは、Z軸周りの回転を示す。X軸回転ベクトルと、Y軸回転ベクトルと、Z軸回転ベクトルとは、ワールド座標系100から画像座標系200へ変換する転換行列や、画像座標系200からワールド座標系100へ変換する転換行列を決定する際に使用される。X軸並進ベクトルはワールド座標系100に対する画像座標系200のX軸方向のずれを示し、Y軸並進ベクトルはY軸方向のずれを示し,Z軸並進ベクトルはZ軸方向のずれを示す。X軸並進ベクトルと、Y軸並進ベクトルと、Z軸並進ベクトルとは、ミシン1がワールド座標系100から画像座標系200へ変換する並進ベクトルや、画像座標系200からワールド座標系100へ変換する並進ベクトルを決定する際に使用される。
【0040】
移動条件記憶エリア644には、刺繍枠32の移動条件として、加工データ及び刺繍データ等のデータ(以下、「指示データ」と言う。)が指示する刺繍枠32の移動量と、X軸モータ81及びY軸モータ82(図4参照)の駆動量との対応関係が記憶されている。また、移動条件記憶エリア644には、刺繍座標系300の原点の座標が刺繍枠32の種類毎に記憶されている。移動条件は、指示データに従い刺繍枠32を移動させる処理に用いられる。刺繍座標系300は、指示データによって指示される移動量と、指示データに従って刺繍枠32を移動させた場合の実際の刺繍枠32の移動量とに基づき定められる座標系である。すなわち、刺繍座標系300は、刺繍枠32を移動させるX軸モータ81及びY軸モータ82の座標系である。刺繍座標系300は、ミシン1の左右方向がX軸方向であり、ミシン1の前後方向がY軸方向である。本実施形態では、刺繍座標系300は、刺繍枠32の縫製領域の中心が、針落ち点と一致する位置を原点(X,Y,Z)=(0,0,0)としている。なお、本実施形態の刺繍装置30は、刺繍枠32をZ方向(ミシン1の上下方向)には移動させないので、加工布等の被加工物34の厚みが無視できる範囲であれば、被加工物34の上面をZ=0としている。
【0041】
次に、図10のフローチャートを参照して、第1の実施形態のパラメータ算出処理について説明する。パラメータ算出処理では、画像座標系200と、刺繍座標系300とを対応付けるパラメータが算出される。第1の実施形態では、パラメータ算出処理において、被加工物34に形成された刺繍座標系300の座標を有する特徴点(貫通孔)を用いて、イメージセンサ50の内部パラメータ及び外部パラメータが算出される。図10に示すパラメータ算出処理は、ROM62に記憶されたパラメータ算出プログラムに従って、CPU61が実行する。パラメータ算出処理は、ユーザによって「パラメータ算出」の実施の指示が入力された際に実行される。実施の指示は、例えば、パネル操作によって入力される。また例えば、ミシン1がパラメータ算出を実行させる専用のボタンを備える場合には、ユーザによって専用ボタンが押下されることによって実施の指示が入力される。
【0042】
図10に示すように、第1の実施形態のパラメータ算出処理では、まず、パラメータ算出処理を実行させる準備が完了したか否かが判断される(S5)。第1の実施形態では、パラメータ算出処理を実行させるにあたって、縫針7に糸(図示せず)がセットされている場合には、ユーザは、糸を取り外す。また、ユーザは刺繍枠32に被加工物34として白い紙を挟み、刺繍枠32を刺繍装置30に装着する。準備が完了したか否かは、例えば、パネル操作によって入力された指示に基づき判断される。準備が完了していない場合には(S5:No)、準備が完了するまで待機され、準備が完了した場合には(S5:Yes)、基準座標記憶エリア641に記憶された番号及び加工データが取得され、取得された加工データがRAM63に記憶される(S10)。
【0043】
次に、S10で取得された加工データのうち、番号iの加工データが読み出される(S20)。iの初期値は1であり、S20が繰り返し実行される際にインクリメントされる。次に、駆動回路73,74に駆動指示が出力され、S20で読み出された加工データによって指示される位置に刺繍枠32が移動される(S30)。S30において、縫針7は被加工物34の上にある。次に、駆動回路72に駆動指示が出力され、ミシンモータ79が駆動される。これによって、針棒6が上下に移動され、縫針7によって被加工物34に、特徴点として貫通孔が形成される(S40)。次に、S10で取得された加工データが、S20においてすべて読み出されたか否かが判断される(S50)。読み出されていない加工データがある場合には(S50:No)、インクリメントされたiがRAM63に記憶され、処理はS20に戻る。すべての加工データが読み出された場合には(S50:Yes)、駆動回路73,74に駆動指示が出力され、刺繍枠32が刺繍座標系300の原点の位置に移動される(S60)。S60において、縫針7は被加工物34の上にある。S10において、図9に示す位置に特徴点が形成されることを指示する加工データが取得された場合、被加工物34には図11に示す324個の特徴点301が形成される。刺繍枠32が刺繍座標系300の原点の位置にある場合、特徴点301はイメージセンサ50の撮像可能範囲104の内側にある。特徴点301は、特徴点の密度(単位面積当たりの特徴点の数)がほぼ均一になるように、規則的に配置されている。より具体的には、本実施形態では、特徴点301は、17×17マスの格子の頂点の位置に配置されている。
【0044】
次に、イメージセンサ50によって、特徴点301が形成された被加工物34が撮像され、撮像画像記憶エリア631に撮像画像が記憶される(S70)。図11に示す例では、撮像画像には、撮像可能範囲104の内側にある324個の特徴点301が写っている。次に、S70で撮像した撮像画像から特徴点301が抽出され、特徴点301の画像座標系200の二次元座標が特徴点座標として二次元座標記憶エリア632に記憶される(S80)。S80では、公知技術に基づいて撮像画像から特徴点が抽出される。例えば、撮像画像は、ハフ変換が施され、ハフ変換画像が作成される。次に、ハフ変換画像に対して非極大抑制処理が行われ、ハフ変換画像の局所的に(マスク内で)明るい点が抽出される。次に、抽出された明るい点のうち、所定の閾値よりも明るい点のみを抽出する閾値処理が行われ、特徴点が抽出される。なお、貫通孔の中心が特徴点として抽出され、特徴点座標が算出される。
【0045】
次に、基準座標記憶エリア641に記憶されている基準座標が取得され、基準座標がRAM63に記憶される(S85)。次に、S80で算出された特徴点座標と、特徴点の番号とが対応付けられて、対応関係が二次元座標記憶エリア632に記憶される(S90)。特徴点の座標と、特徴点の番号との対応関係は、例えば、以下のように決定される。刺繍座標系300と画像座標系200(図2参照)とがそれぞれ校正された状態で、後述するパラメータ算出処理が実行され、算出された特徴点301の2次元座標が予め算出される。算出された二次元座標は、特徴点番号と対応付けられて、所定の記憶エリアに記憶されているものとする。所定の記憶エリアに記憶された既知の二次元座標と、S80で算出された特徴点座標とが比較され、S85で取得された番号nの既知の二次元座標に最も近い特徴点座標を有する特徴点301を、番号nと対応付ける特徴点とする。特徴点座標は、特徴点の番号によって、基準座標と対応付けられることになる。
【0046】
次に、パラメータが算出され、算出されたパラメータはEEPROM64の内部パラメータ記憶エリア642及び外部パラメータ記憶エリア643に記憶される(S100)。パラメータは、周知のカメラキャリブレーションのパラメータの算出方法を用いて算出される。パラメータの算出方法では、三次元座標が既知である特徴点を含む対象物(被加工物)が撮像され、撮像画像における特徴点の二次元座標が算出される。特徴点の既知の三次元座標と、算出された二次元座標とに基づいて射影行列が求められ、射影行列からパラメータが算出される。パラメータの算出方法については、公知の技術(例えば、特許第3138080号公報)が適宜用いられればよい。S100の次に、パラメータ算出処理は終了する。
【0047】
以上のようにして、第1の実施形態のパラメータ算出処理が実行される。なお、被加工物34を保持する刺繍枠32は、本発明の保持部材に相当する。駆動回路73,74に出力された駆動指示に基づき、刺繍枠32を移動させるX軸モータ81及びY軸モータ82は、本発明の移動手段として機能する。図10のパラメータ算出処理において、加工データを取得する(S10)CPU61は、本発明の加工データ取得手段として機能する。加工データを記憶するEEPROM64は、加工データ記憶手段に相当する。下端部に縫針7が装着された針棒6を、加工データに従って上下方向に駆動させるミシンモータ79は、本発明の針棒駆動手段として機能する。S10で取得された加工データに従って、駆動回路72〜74に駆動指示を出力し、刺繍枠32を移動させるとともに(S30)、針棒6を上下方向に駆動させる(S40)CPU61は、本発明の特徴点形成手段として機能する。イメージセンサ50は、本発明の撮像手段に相当する。パラメータ算出処理のS80において、撮像画像から、複数の特徴点を抽出し、二次元座標を特徴点座標として算出する(S80)CPU61は、本発明の特徴点座標算出手段として機能する。パラメータ算出処理のS85において、基準座標を取得するCPU61は、本発明の基準座標取得手段として機能する。基準座標を記憶するEEPROM64は、基準座標記憶手段に相当する。S85で取得された基準座標と、S80によって算出された特徴点座標とを対応付けるCPU61は、本発明の対応付け手段として機能する。S90の結果に基づいて、刺繍座標系300と画像座標系200とを対応づけるパラメータを算出する(S100)CPU61は、本発明のパラメータ算出手段として機能する。刺繍座標系300は、本発明の移動手段の座標系に対応する。画像座標系200は、本発明の撮像手段の座標系に相当する。
【0048】
第1の実施形態のパラメータ算出処理では、刺繍座標系300と画像座標系200とを対応付けるパラメータとして、内部パラメータ及び外部パラメータを算出することができる。得られたパラメータによって、刺繍座標系300に基づき画像座標系200が設定される。すなわち、刺繍座標系300がワールド座標系100となる。また第1の実施形態では、白い紙を被加工物34とし、縫針7で被加工物34にあけた貫通孔を特徴点301としている。したがって、パラメータの算出に際しては、ユーザは被加工物34である白い紙を用意するのみでよく、ミシン1にパラメータを算出させる準備が簡単である。ミシン1は、白い紙を被加工物34としているので、白い紙は特徴点が形成されていない領域と特徴点との明暗の差が比較的大きい。したがって、パラメータ算出処理のS80において、特徴点が形成されていない領域と特徴点とで明暗の差が少ない場合に比べ、特徴点を精度良く抽出することができる。また、白い紙は汎用品であるため、ユーザは被加工物を容易に準備することができる。また、図11に示すように、特徴点301は、刺繍枠32を原点の位置に移動させた状態における撮像可能範囲104内に規則的に形成されている。したがって、特徴点301が撮像可能範囲104内の一部の領域に偏って形成されている場合に比べ、刺繍座標系300と画像座標系200とを対応づけるパラメータを精度良く算出することができる。なお、ミシン1では、撮像手段として小型且つ安価なCMOSセンサを使用したため、撮像手段をミシンに設置するスペースが小さくて済むとともに、撮影機器のコストを低く抑えることが可能となる。
【0049】
次に、第1の実施形態のパラメータ算出処理によって算出されたパラメータ(以下、「第1のパラメータ」と言う。)の使用例について説明する。第1のパラメータは、例えば、二次元座標算出処理と、三次元座標算出処理と、画像加工処理とに使用される。二次元座標算出処理は、ワールド座標系100の点の三次元座標を画像座標系200の撮像画像平面に投影した点の二次元座標に変換する処理である。三次元座標算出処理は、画像座標系200の撮像画像上の点の二次元座標をワールド座標系100の点の三次元座標に変換する処理である。画像加工処理は、イメージセンサ50で撮像された画像を加工する処理である。刺繍模様形成処理を例に、二次元座標算出処理と、三次元座標算出処理と、画像加工処理とを説明する。刺繍模様形成処理では、加工布等の被加工物上のユーザが指定する位置を開始点として刺繍模様が形成される。図12に示す刺繍模様形成処理は、ユーザによって「刺繍模様形成」の指示が入力された際に、ROM62に記憶された刺繍模様形成プログラムに従って、CPU61が実行する。
【0050】
以下の説明において、画像座標系200の撮像画像上の点pの二次元座標をm(u,v)とし、画像座標系200の点pの三次元座標をM(X,Y,Z)とする。そして、点pがワールド座標系100に変換された点を点Pとし、点Pのワールド座標系100の三次元座標をM(X,Y,Z)とする。内部パラメータ記憶エリア642に記憶されている内部パラメータについて、X軸焦点距離をfx,Y軸焦点距離をfy,X軸主点座標をcx,Y軸主点座標をcy,第一歪み係数をk,第二歪み係数をkとする。外部パラメータ記憶エリア643に記憶されている外部パラメータについて、X軸回転ベクトルをr,Y軸回転ベクトルをr,Z軸回転ベクトルをr,X軸並進ベクトルをt,Y軸並進ベクトルをt,Z軸並進ベクトルをtとする。「Rw」を外部パラメータ(X軸回転ベクトルr,Y軸回転ベクトルr,Z軸回転ベクトルr)に基づいて決定される3×3の回転行列とし、「t」を外部パラメータ(X軸並進ベクトルt,Y軸並進ベクトルt,Z軸並進ベクトルt)に基づいて決定される3×1の並進ベクトルとする。
【0051】
図12に示すように、刺繍模様形成処理では、まず、ROM62等の記憶エリアが参照され、刺繍データが取得されRAM63に記憶される(S110)。S110では、ユーザがパネル操作によって選択した刺繍模様の刺繍データが取得される。次に、開始点取得処理が実行される(S120)。開始点取得処理では、S110で取得した刺繍模様に従い刺繍模様の縫製を開始する位置が開始点として取得され、開始点のワールド座標系100の3次元座標がRAM63に記憶される。開始点取得処理の詳細は後述する。次に、S120で開始点が取得されたか否かが判断される(S130)。開始点が取得されていない場合には(S130:No)、エラーが報知され(S160)、刺繍模様形成処理は終了する。開始点が取得された場合には(S130:Yes)、駆動回路73,74に駆動指示が出力され、S120で取得された開始点が針落ち点となる位置に、刺繍枠32が移動される(S140)。次に、S110で取得した刺繍データに基づき、刺繍模様が形成される(S150)。S150では、S140で移動された位置において、刺繍模様の形成が開始される。刺繍模様を形成する処理は、通常の刺繍模様の縫製と同様である。次に、刺繍模様形成処理は終了する。
【0052】
次に、刺繍模様形成処理で実行される開始点取得処理について、図13を参照して説明する。第1の実施形態の開始点取得処理では、刺繍枠32に挟まれた被加工物34に描かれた所定のマーク(例えば、×印等)を検出し、所定のマークが描かれた位置を開始点とする。ユーザが、刺繍模様形成処理を実行させる前に、被加工物34の開始点にチャコペン等で印を付けることが前提となる。
【0053】
図13に示すように、開始点取得処理ではまず、n番目の位置に刺繍枠32が移動される(S210)。S210の処理は、刺繍枠32の縫製領域をm回に分けて撮像するための処理である。nは、1からmまでの整数が順に設定される。次に、被加工物34が撮像され、撮像画像がRAM63に記憶される(S220)。次に、二次元座標算出処理が実行される(S230)。二次元座標算出処理では、縫製領域325の境界線のワールド座標系100の三次元座標が、画像座標系200の二次元座標に変換される。S230の処理は、S220で取得された撮像画像内の縫製領域を特定するために実行される。特定された縫製領域内において、開始点を指示するマークが検出される検出処理が実行される。二次元座標算出処理の詳細を、図14を参照して説明する。
【0054】
図14に示す二次元座標算出処理では、EEPROM64に記憶されている刺繍枠32の縫製領域325の境界をなす点のワールド座標系100の三次元座標が、点Pとして順次読み出され以下の処理が実行される。まず、ワールド座標系100の点Pの三次元座標M(X,Y,Z)に基づき、点Pが画像座標系200の点pに変換された場合の三次元座標M(X,Y,Z)が算出され、三次元座標M(X,Y,Z)がRAM63に記憶される(S310)。三次元座標M(X,Y,Z)は、「M=R×M+t」によって算出される。次に、S310で算出された画像座標系200の点pの三次元座標に基づき、画像座標系200の正規化画像上の点pの二次元座標(x',y')が算出され、二次元座標(x',y')がRAM63に記憶される(S320)。画像座標系200の正規化画像上の点pの二次元座標は、「x'=X/Z」と、「y'=Y/Z」とによって算出される。
【0055】
次に、画像座標系200の正規化画像上の点pの二次元座標(x',y')に基づき、点pの正規化カメラに対してイメージセンサ50のレンズの歪みが加味された二次元座標(x",y")が算出される(S330)。二次元座標(x",y")の算出には、内部パラメータである第一歪み係数k及び第二歪み係数kが用いられる。具体的には、二次元座標(x",y")は、式「x"=x'×(1+k×r+k×r)」と、「y"=y'×(1+k×r+k×r)」とによって算出される。なお、「r=x'+y'」である。次に、画像座標系200の点pの撮像画像上の二次元座標(u,v)が算出され、二次元座標(u,v)がRAM63に記憶される(S340)。二次元座標(u,v)の算出には、二次元座標(x",y")と、内部パラメータであるX軸焦点距離fxと、Y軸焦点距離fyと、X軸主点座標cxと、Y軸主点座標cyとが用いられる。具体的には、式「u=fx×x"+cx」と、「v=fy×y"+cy」とによって算出される。以上の処理が、刺繍枠32の縫製領域325の境界線上の点を対象として実行され、縫製領域325の境界線の画像座標系200の二次元座標が得られる。次に、二次元座標算出処理は終了する。
【0056】
引き続き図13を参照して開始点取得処理の説明をする。S230の次に、S220で撮像した画像のうち、S230で求めた縫製領域325内に、開始点を指示するマークがあるか否かが判断される(S240)。開始点がない場合には(S240:No)、縫製領域325の全範囲を撮像したか否かが判断される(S260)。全範囲が撮像されていない場合には(S260:No)、nがインクリメントされ、処理はS210に戻る。S240において、開始点がある場合には(S240:Yes)、三次元座標算出処理が実行される(S250)。三次元座標算出処理では、撮像画像上のマーク(開始点)の位置を点pとし、点pがワールド座標系100の点Pに変換された場合の三次元座標M(X,Y,Z)が算出される。三次元座標算出処理の詳細を、図15を参照して説明する。
【0057】
図15に示すように、三次元座標算出処理ではまず、画像座標系200の撮像画像上の点pの二次元座標(u,v)から、画像座標系200の正規化画像上の点pの二次元座標(x",y")が算出され、二次元座標(x",y")がRAM63に記憶される(S410)。二次元座標(x",y")は、「x"=(u−cx)/fx」と、「y"=(v−cy)/fy」とによって算出される。S210において算出される二次元座標(x",y")は、内部パラメータであるX軸焦点距離fxと、Y軸焦点距離fyと、X軸主点座標cxと、Y軸主点座標cyとが加味された座標である。次に、点pの二次元座標(x",y")に基づき、レンズの歪みが取り除かれた正規化画像上の点pの二次元座標(x',y')が算出され、二次元座標(x',y')はRAM63に記憶される(S420)。二次元座標(x',y')の算出には、内部パラメータである第一歪み係数k及び第二歪み係数kが用いられる。具体的には、式「x'=x"−x"×(1+k×r+k×r)」と、「y'=y"−y"×(1+k×r+k×r)」とによって算出される。
【0058】
次に、S420で算出された二次元座標(x',y')に基づき、画像座標系200の点pの三次元座標M(X,Y,Z)が算出され、三次元座標M(X,Y,Z)はRAM63に記憶される(S430)。三次元座標M(X,Y,Z)は以下の関係式を用いて算出される。X,Yは、「X=x'×Z」と、「Y=y'×Z」との関係が成り立つ。また、画像座標系200の三次元座標M(X,Y,Z)と、ワールド座標系100の三次元座標M(X,Y,Z)との間には、「M=R(M−t)」の関係が成り立つ。なお、RはRの転置行列である。ワールド座標系100のXY平面は刺繍枠32に挟まれた被加工物34の上面に設定されているので、ミシン1は、Z=0とし、「X=x'×Z」と、「Y=y'×Z」と、「M=R(M−t)」とを連立で解く。これによって、Zが算出され、X,Yが算出される。次に、画像座標系200の点pの三次元座標M(X,Y,Z)に基づき、点pがワールド座標系100の点Pに変換された場合の三次元座標M(X,Y,Z)が算出され、M(X,Y,Z)がRAM63に記憶される(S440)。ワールド座標系100の三次元座標M(X,Y,Z)は、「M=R(M−t)」によって算出される。次に、三次元座標算出処理は終了する。
【0059】
引き続き図13を参照して開始点取得処理の説明をする。S260において、全範囲が撮像された場合(S260:Yes)、又はS250の次に、開始点取得処理は終了する。
【0060】
以上のようにして、刺繍模様形成処理を実行するミシン1は、第1のパラメータを用いて、ユーザが被加工物34に描いたマークの位置を開始点として、刺繍模様を形成させる。なお、図13の開始点取得処理のS230において、ワールド座標系100の三次元座標で示された縫製領域の境界線上の点Pに基づき、点Pが画像座標系200の点pに変換された場合の二次元座標を算出するCPU61は、本発明の二次元座標算出手段として機能する。開始点取得処理のS250において、画像座標系200の撮像画像上の点pの二次元座標に基づき、点pがワールド座標系100の点Pに変換された場合の三次元座標を算出するCPU61は、本発明の三次元座標算出手段として機能する。
【0061】
刺繍模様形成処理では、開始点取得処理のS240において、第1のパラメータを用いて算出された画像座標系200の点pの二次元座標に基づき、撮像画像上の縫製領域325が特定される。ミシン1は、第1のパラメータを用いてイメージセンサ50の校正を行っているので、イメージセンサ50の固有の特性や、イメージセンサ50の設置状態の影響を考慮して、画像座標系200の点pの二次元座標を算出することができる。刺繍座標系300に基づき画像座標系200が設定されているので、ミシン1は、撮像画像上の縫製領域325を正確に特定することができる。さらに、図13のS240において、特定された縫製領域内の画素を対象として、開始点を指示するマークの検出処理が実行される。したがって、ミシン1は、撮像画像のすべての画素を対象として、上記検出処理が実行される場合に比べ、効率的にマークを検出することができる。
【0062】
また、刺繍模様形成処理では、図13の開始点取得処理のS250において、画像座標系200の撮像画像上の点の二次元座標をワールド座標系100の点の三次元座標に変換することができる。第1のパラメータは、イメージセンサ50の校正に用いるパラメータとしての機能を有している。したがって、ミシン1は、イメージセンサ50に固有の特性やイメージセンサ50の設置状態の影響を排除して、撮像された画像上の点を現実の三次元座標系(ワールド座標系100)の点として算出ことができる。第1の実施形態では、刺繍座標系300がワールド座標系100となるように、第1のパラメータが算出される。したがって、ミシン1は、三次元座標算出処理において算出された三次元座標を用いて、刺繍枠32に的確な移動指示を出すことができる。すなわち、ミシン1は、加工布等の被加工物34にユーザによって描かれたマークの位置が針落ち点となるように、刺繍枠32を的確に移動させることができる。
【0063】
第1の実施形態では、ユーザが被加工物34に描いたマークの位置を開始点としていたが、他の方法によって開始点が取得されてもよい。例えば、ミシン1は、被加工物を撮像した撮像画像をLCD10に表示させ、ユーザがパネル操作によって指定した撮像画像上の点を開始点として取得してもよい。変形例の開始点取得処理を、図16を参照して説明する。
【0064】
図16に示すように、変形例の開始点取得処理ではまず、刺繍枠32に挟まれた被加工物34が撮像される(S205)。次に、視点移動の指示があるか否かが判断される(S215)。視点移動の指示は、撮像画像を任意の視点から見た仮想画像に変換して、LCD10に表示させることを指示する。図2に示すように、イメージセンサ50は、針板80を上部から撮像する位置に取り付けられている。つまり、針板80に対して、上(Z軸のマイナス方向)に視点がある。視点移動の指示は、この視点を、例えば針板80の右斜め上に変更し、右斜め上から被加工物34が撮像された視点変更画像に撮像画像を加工することを指示する。視点移動の指示は、例えば、変更後の視点とともに、パネル操作によって入力される。視点移動の指示がある場合には(S215:Yes)、画像加工処理が実行される(S225)。画像加工処理では、イメージセンサ50によって撮像された撮像画像を加工し、S215で指示された視点からの仮想画像に変換する処理が実行される。画像加工処理の詳細を、図17を参照して説明する。
【0065】
画像加工処理の説明において、移動させた視点の座標系(図示せず)(以下、「移動視点座標系」と言う。)の点p'の三次元座標をMcm(Xcm,Ycm,Zcm)とする。移動視点座標系の視点変更画像上の点p'の二次元座標を(ucm,vcm)とする。ワールド座標系の点Pの三次元座標M(X,Y,Z)を移動視点座標系の点p'の三次元座標Mcm(Xcm,Ycm,Zcm)に変換する際には、Rw2(3×3の回転行列),tw2(3×1の並進ベクトル)が用いられる。これらの行列式は、移動先の視点がワールド座標系100のどの点に該当するかに基づいて決定される。移動視点座標系の三次元座標Mcm(Xcm,Ycm,Zcm)を、画像座標系200の三次元座標M(X,Y,Z)に変換する行列式を、R21(3×3の回転行列),t21(3×1の並進ベクトル)とする。
【0066】
図17に示すように、画像加工処理ではまず、行列式R21,t21が算出され、行列式R21,t21がRAM63に記憶される(S510)。Rと、Rw2と、R21と、tと、tw2と、t21とには、次の関係が成り立つ。「M=R×M+t(ワールド座標系100から画像座標系200へ)」と、「Mcm=Rw2×M+tw2(ワールド座標系100から移動視点座標系へ)」と、「M=R21×Mcm+t21(移動視点座標系から画像座標系200へ)」とである。これらの式から、「R21=R×Rw2」と、「t21=−R×Rw2×tw2+t」とが得られる。Rと、Rw2と、tとtw2とはすでに算出された固定値であるので、R21,t21は一意的に決定される。
【0067】
次に、視点変更画像上の点p'の二次元座標(ucm,vcm)に基づき、点p'が撮像画像上の点pに変換された場合の二次元座標(u,v)が算出され、二次元座標(ucm,vcm)と二次元座標(u,v)との対応がRAM63に記憶される(S520)。S520の処理は、視点変更画像のすべての画素について実施され、撮像画像の画素(u,v)と、視点変更画像の画素(ucm,vcm)との対応関係がRAM63に記憶される。具体的には、まず、視点変更画像上の点p'の二次元座標(ucm,vcm)に基づき、移動視点座標系の正規化画像上の点p'の二次元座標(x",y")が算出される。二次元座標(x",y")の算出には、内部パラメータであるX軸焦点距離fxと、Y軸焦点距離fyと、X軸主点座標cxと、Y軸主点座標cyとが用いられる。具体的には、二次元座標(x",y")は、「x"=(ucm−cx)/fx」と、「y"=(vcm−cy)/fy」とによって算出される。次に、移動視点座標系の正規化画像上の点p'の二次元座標(x",y")にレンズの歪みを加味した二次元座標(x',y')が算出され、二次元座標(x',y')がRAM63に記憶される。二次元座標(x',y')の算出には、内部パラメータである第一歪み係数k及び第二歪み係数kが用いられる。具体的には、二次元座標(x',y')は、「x'=x"−x"×(1+k×r+k×r)」と、「y'=y"−y"×(1+k×r+k×r)」とによって算出される。なお、「r=x'+y'」である。
【0068】
次に、移動視点座標系の正規化画像上の点p'の二次元座標(x',y')から移動視点座標系の点p'の三次元座標Mcm(Xcm,Ycm,Zcm)が算出され、三次元座標Mcm(Xcm,Ycm,Zcm)がRAM63に記憶される。三次元座標Mcm(Xcm,Ycm,Zcm)は、次の関係式を用いて算出される。Xcm,Ycmについて、「Xcm=x'×Zcm」,「Ycm=y'×Zcm」である。さらに、ミシンベッド2の上面をワールド座標系100のXY平面としているので、「Mcm=Rw2×M+tw2」においてZ=0とする。そして、連立方程式の解が算出されることによって、移動視点座標系の点p'の三次元座標Mcm(Xcm,Ycm,Zcm)が算出される。
【0069】
次に、移動視点座標系の点p'の三次元座標Mcm(Xcm,Ycm,Zcm)に基づき、点p'が画像座標系200の点pに変換された場合の三次元座標M(X,Y,Z)が算出され、三次元座標M(X,Y,Z)がRAM63に記憶される。三次元座標M(X,Y,Z)は、式「M=R21×Mcm+t21」にMcm(Xcm,Ycm,Zcm)が代入され算出される。次に、画像座標系200の点pの三次元座標M(X,Y,Z)に基づき、画像座標系200の正規化画像上の点pの二次元座標(x',y')が算出され、三次元座標Mcm(Xcm,Ycm,Zcm)はRAM63に記憶される。二次元座標(x',y')は、「x'=x/z」と、「y'=y/z」とによって算出される。次に、レンズの歪みが加味された二次元座標(x",y")が算出され、二次元座標(x",y")はRAM63に記憶される。二次元座標(x",y")は、「x"=x'×(1+k×r+k×r)」と、「y"=y'×(1+k×r+k×r)」とによって算出される。なお、「r=x'+y'」である。次に、画像座標系200の正規化画像上の点pの二次元座標(x",y")に基づき、画像座標系200の撮像画像上の点pの二次元座標(u,v)が算出され、二次元座標(u,v)はRAM63に記憶される。二次元座標(u,v)は、「u=fx×x"+cx」と、「v=fy×y"+cy」とによって算出される。
【0070】
次に、RAM63に記憶された、撮像画像の画素(u,v)と、視点変更画像の画素(ucm,vcm)との対応関係に基づき、撮像画像から視点変更画像が作成され、作成された視点変更画像がRAM63に記憶される(S530)。次に、画像加工処理は終了する。
【0071】
引き続き、図16を参照して変形例の開始点取得処理について説明する。S215において、視点移動の指示がない場合(S215:No)、又はS225の次に、S205で撮像された撮像画像又はS225で作成された視点変更画像がLCD10に表示される(S235)。次に、開始点を指定する指示があるか否かが判断される(S245)。LCD10に表示された撮像画像又は視点変更画像上の点が、パネル操作によって選択された場合に、開始点を指定する指示があると判断される。指示がない場合には指示があるまで待機される(S245:No)。指示がある場合には(S245:Yes)、三次元座標算出処理が実行される(S250)。三次元座標算出処理では、S245で指示された開始点のワールド座標系100の三次元座標が算出される。S235で視点変更画像が表示された場合には、S225で求められた撮像画像の画素(u,v)と、視点変更画像の画素(ucm,vcm)との対応関係に基づき、画像座標系200の二次元座標を特定した後、三次元座標算出処理が実行される。三次元座標算出処理は、第1の実施形態と同様であるので説明を省略する。次に、開始点取得処理は終了する。
【0072】
以上のように、変形例の開始点取得処理が実行される。変形例の開始点取得処理のS225において、第1のパラメータを用いて、撮像画像を加工して視点変更画像を作成するCPU61は、本発明の画像加工手段として機能する。
【0073】
ミシン1は、第1のパラメータを用いて、イメージセンサ50で撮像された画像を加工し、視点変更画像を作成することができる。画像加工処理では、撮像画像に基づき、イメージセンサ50に固有の特性やイメージセンサ50の設置状態の影響を排除した視点変更画像が作成される。ミシン1が、視点変更画像上の点の三次元座標を求める際には、撮像画像の画素と、視点変更画像の画素との対応関係に基づき、画像座標系200の二次元座標を特定した後、三次元座標算出処理が実行される。三次元座標算出処理では、第1のパラメータを用いて、ワールド座標系100(刺繍座標系300)の三次元座標が算出される。したがって、ミシン1は、変形例の開始点取得処理によって算出されたワールド座標系100の三次元座標に基づき、刺繍枠32をユーザが指示した位置に移動させることができる。
【0074】
ところで、第1の実施形態のパラメータ算出処理では、ミシン1は、刺繍座標系300をワールド座標系100とする第1のパラメータを算出していた。しかし、例えば、移動条件記憶エリア644に記憶されている移動条件が適切に設定されていない等の場合には、刺繍枠32は、指示データによって指示される量だけ移動しない。より具体的には、加工データによって、刺繍枠32を(X,Y)=(5,0)移動させることが指示されても、実際には、刺繍枠32が(X,Y)=(4.5,0)移動される場合がある。このような場合、刺繍座標系300に基づき画像座標系200が設定されると、例えば、撮像画像上の2点間の現実の距離が的確に算出されないという問題が生じる。このような場合、例えば、第2の実施形態のように、刺繍座標系300とワールド座標系100とはそれぞれ別に設定されていてもよい。
【0075】
第2の実施形態では、画像座標系200とワールド座標系100とを対応付ける処理は、公知の校正処理に従って別途実行される。一方、画像座標系200と刺繍座標系300とを対応付ける第2のパラメータは、第1の実施形態の実施形態と同様な処理によって算出される。第2のパラメータは、第1のパラメータと同様に算出されるが、画像座標系200又はワールド座標系100の座標を刺繍座標系300の座標に変換する処理にのみ用いられる。すなわち、第2のパラメータは、画像座標系200の座標をワールド座標系100の座標に変換する処理、及びワールド座標系100の座標を画像座標系200の座標に変換する処理には用いられない。例えば、ワールド座標系100の座標で示された加工データによって、刺繍枠32を所定量移動させることが指示されている場合に、ミシン1は、第2のパラメータを用いて、加工データを一旦刺繍座標系300のデータに変換させる。そして、ミシン1は、刺繍座標系300に変換された加工データに基づき、刺繍枠32を移動させる。このようにすれば、移動条件記憶エリア644に記憶されている移動条件が適切に設定されていない場合にも、ミシン1は、刺繍枠32をユーザが意図する位置に移動させることができる。第2の実施形態において、第2のパラメータを算出するCPU61は、本発明のパラメータ算出手段として機能する。
【0076】
なお、本発明の刺繍データ作成装置は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加えてもよい。例えば、以下の(A)〜(I)の変形を適宜加えてもよい。
【0077】
(A)ミシン1が備える撮像手段は、CCDカメラであってもよいし、他の撮像素子であってもよい。撮像手段としてのイメージセンサ50は、ミシンベッド2上を撮像可能であればよく、その取り付け位置は、適宜変更可能である。
【0078】
(B)特徴点が形成される被加工物は、白色の紙の他、例えば、白色以外の色の紙であってもよい。また例えば、特徴点が形成される被加工物は、樹脂や加工布であってもよい。
【0079】
(C)被加工物に形成される特徴点301は、上記実施形態で例示した縫針7によって形成される貫通孔に限定されない。例えば、被加工物に形成される特徴点は、マーカーで描いた点であってもよい。この場合、マーカーは、針棒6の下端に固定される。マーカーの上下方向の取り付け位置は、針棒6が最下端に移動したときに、マーカーのペン先が被加工物に接触する位置とする。このようにすれば、ミシン1は針棒6を上下動させることによって、針落ち点に対応した特徴点を描くことができる。特徴点を精度良く抽出する観点から、マーカーの色は、被加工物とのコントラストがある色が好ましい。他の例では、被加工物に形成される特徴点は、縫目であってもよい。被加工物を刺繍模様を形成する加工布と同じ種類の加工布とし、特徴点を、刺繍模様を形成するのに用いる糸で形成された縫目とした場合、変形例のミシンは、布の厚さや縮み量と考慮してパラメータを求めることができる。また、特徴点として被加工物に貫通孔を形成させる場合、被加工物が撮像される際に、被加工物の下部に、被加工物との明暗の差が比較的大きいシート状の部材を配置してもよい。このようにすれば、撮像画像には、貫通孔が形成されている部分にはシート状の部材が写る。このため、撮像画像中の被加工物と貫通孔との明暗の差を大きくすることができる。
【0080】
(D)上記実施形態では、特徴点301はイメージセンサ50の撮像可能範囲104内に規則的に形成されていた。しかし、特徴点の配列は、適宜変更可能である。特徴点が撮像可能範囲内に規則的に配置される他の例としては、例えば、特徴点は撮像可能範囲104内に、放射線状に配置されていてもよい。また例えば、特徴点301は、不規則に形成されていてもよい。ただし、パラメータを精度良く算出する観点から、特徴点301は、図10のS60において刺繍枠32を移動させた状態の撮像可能範囲内に、5つ以上設けられることが好ましい。
【0081】
(E)ミシン1は、第2のパラメータを用いて、刺繍座標系300を校正してもよい。具体的には、ミシン1は、第2のパラメータを用い、刺繍座標系300がワールド座標系100と一致するように、移動条件記憶エリア644に記憶されている移動条件を修正してもよい。このようにした場合には、第1の実施形態と同様に、刺繍座標系300に基づき画像座標系200が設定されることになる。したがって、変形例(E)のミシン1は、刺繍枠32をユーザが意図した位置に移動させることができる。
【0082】
(F)第1又は第2のパラメータを算出する手順については、適宜変更可能である。例えば、ミシン1は、図10のS80において、ハフ変換を用いて特徴点の抽出を実行していたが、他の手法を用いて特徴点を抽出してもよい。ミシン1は、図10のS90において、既知の二次元座標とS80で算出した二次元座標とを用いて、特徴点座標と、基準座標とを対応付けていたが、他の方法を用いてもよい。例えば、ミシン1は、形状が互いに異なる特徴点(例えば、丸と四角など)を複数形成する場合には、特徴点の形状に応じて特徴点座標と基準座標とを対応付ける処理を実行してもよい。既知の二次元座標及び基準座標はパラメータ算出処理が実行される前に決定されていればよく、既知の二次元座標及び基準座標の算出方法は適宜変更可能である。
【0083】
(G)刺繍座標系と画像座標系とは、パラメータ算出処理によって算出されたパラメータによって対応付けられていればよく、各座標系の設定方法は適宜変更可能である。例えば、ミシン1の上下方向の上側がZ軸のプラスとなるように、刺繍座標系が設定されてもよい。
【0084】
(H)刺繍装置30は、移動手段としてX軸モータ81及びY軸モータ82を備えていたが、いずれかであってもよい。また、刺繍装置30は、X軸モータ81及びY軸モータ82の少なくともいずれかに加え、Z軸方向に刺繍枠32を移動させるZ軸モータを備えていてもよい。また、刺繍装置30は、保持部材として刺繍枠32を備えていたが、他の保持部材を備えてもよい。
【0085】
(I)第1又は第2のパラメータの利用する処理として、二次元座標算出処理と、三次元座標算出処理と、画像加工処理とを例示したが、その他の処理にパラメータが用いられてもよい。また、二次元座標算出処理と、三次元座標算出処理と、画像加工処理とのそれぞれは、必要に応じて処理を簡略化したり、公知の他の技術を利用したりして実行されてもよい。
【符号の説明】
【0086】
1 ミシン
30 刺繍装置
32 刺繍枠
34 被加工物
50 イメージセンサ
61 CPU
79 ミシンモータ
81 X軸モータ
82 Y軸モータ
104 撮像可能範囲
200 画像座標系
300 刺繍座標系
301 特徴点

【特許請求の範囲】
【請求項1】
被加工物を保持する保持部材と、
前記保持部材を移動させる移動手段と、
前記被加工物に複数の特徴点を形成することを指示する加工データを取得する加工データ取得手段と、
前記加工データ取得手段によって取得された前記加工データに従って、前記移動手段によって前記保持部材を移動させ、前記保持部材に保持された前記被加工物に前記複数の特徴点を形成させる特徴点形成手段と、
ミシンベッド上を撮像可能な位置に配置されるとともに、前記複数の特徴点が形成された前記被加工物を撮像する撮像手段と、
前記撮像手段によって撮像された前記被加工物の画像から、前記複数の特徴点を抽出し、抽出された前記複数の特徴点のそれぞれについて、二次元座標を特徴点座標として算出する特徴点座標算出手段と、
予め計測された前記複数の特徴点の三次元座標である基準座標を取得する基準座標取得手段と、
前記基準座標取得手段によって取得された前記基準座標と、前記特徴点座標算出手段によって算出された前記特徴点座標とを対応付ける対応付け手段と、
前記対応付け手段による対応付けの結果に基づいて、前記移動手段の座標系と前記撮像手段の座標系とを対応づけるパラメータを算出するパラメータ算出手段と
を備えることを特徴とするミシン。
【請求項2】
下端部に縫針を装着した針棒を、前記加工データに従って上下方向に駆動させる針棒駆動手段を備え、
前記特徴点形成手段は、
前記加工データ取得手段によって取得された前記加工データに従って、前記移動手段によって前記保持部材を移動させるとともに、前記針棒駆動手段を駆動させて、
前記縫針によって前記被加工物に複数の貫通孔を前記複数の特徴点として形成させることを特徴とする請求項1に記載のミシン。
【請求項3】
前記被加工物は白い紙であることを特徴とする請求項1又は2に記載のミシン。
【請求項4】
前記複数の特徴点は、前記撮像手段の撮像可能範囲内の前記被加工物に規則的に配列されることを特徴とする請求項1から3のいずれかに記載のミシン。
【請求項5】
前記パラメータ算出手段によって算出された前記パラメータを用いて、前記撮像手段によって撮像された画像を加工する画像加工手段を備えたことを特徴とする請求項1から4のいずれかに記載のミシン。
【請求項6】
前記パラメータ算出手段によって算出された前記パラメータを用いて、前記撮像手段によって撮像された画像上の三次元座標を算出する三次元座標算出手段を備えたことを特徴とする請求項1から5のいずれかに記載のミシン。
【請求項7】
前記パラメータ算出手段によって算出された前記パラメータを用いて、三次元座標で示された点の座標を二次元座標系に投影した点の座標を算出する二次元座標算出手段を備えたことを特徴とする請求項1から6のいずれかに記載のミシン。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2011−5180(P2011−5180A)
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願番号】特願2009−154023(P2009−154023)
【出願日】平成21年6月29日(2009.6.29)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】