(57)【特許請求の範囲】
【請求項１】
ロボットの座標系とカメラシステムの座標系との間の変換を決定するためにプロセッサに実行させるシステムの作動方法であって、前記ロボットは、それに載置される前記カメラシステムを有する可動アームを含み、前記ロボットの座標系は、前記可動アームの位置を定義し、前記カメラシステムの座標系は、前記カメラシステムの視野内の目標の位置を定義し、前記方法は、
前記目標が、個々の画像取り込み場所で前記カメラシステムの前記視野内にあり、かつ、前記可動アームが、前記目標の周りを回転し、該目標に対して一方の画像取り込み場所からもう一方の画像取り込み場所に平行移動するように、前記目標の周りで、前記可動アームを複数の画像取り込み場所に位置付けるステップと、
前記個々の画像取り込み場所で、前記カメラシステムを使用して前記目標の１組の画像を取り込み、前記ロボットの座標系で前記可動アームの位置を記録するステップと、
前記カメラシステムの座標系で、前記１組の画像の中で識別される前記目標の１組の較正特徴の座標を決定するステップと、
前記個々の画像取り込み場所での前記可動アームの前記位置および前記１組の較正特徴の前記座標に基づいて、前記ロボットの座標系と前記カメラシステムの座標系との間の前記変換を決定するステップと、
を含む、方法。
【請求項２】
請求項１に記載の方法において、前記可動アームを前記目標の周りで位置付ける前記ステップ、前記目標の前記１組の画像を取り込む前記ステップ、前記可動アームの前記位置を記録する前記ステップ、前記１組の較正特徴の前記座標を決定する前記ステップ、および前記ロボットの座標系と前記カメラシステムの座標系との間の変換を決定する前記ステップは、自動的に行われる、方法。
【請求項３】
請求項１に記載の方法において、前記可動アームは、それに載置される毛嚢ユニット採取ツール、毛嚢ユニット植付ツール、または双方を有し、前記ロボットは、毛嚢ユニットを採取し、毛嚢ユニットを植付する、または双方を行うように構成され、前記方法がさらに、
前記カメラシステムの座標系で、身体表面の画像の中の毛嚢ユニットの場所を識別するステップと、
前記カメラシステムの座標系での前記毛嚢ユニットの前記場所に基づいて、前記ロボットの座標系で、前記毛嚢ユニットの場所を決定し、前記ロボットの座標系と前記カメラシステムの座標系との間の前記変換を決定するステップと、
前記毛嚢ユニット採取または植付ツールを使用して前記毛嚢ユニットを採取または植付することができるように、前記ロボットの座標系での前記毛嚢ユニットの前記場所に基づいて、前記毛嚢ユニットに隣接して前記可動アームを位置付けるステップと、を含む、方法。
【請求項４】
請求項１に記載の方法において、前記目標の位置は、固定され、前記ロボットの座標系と前記カメラシステムの座標系との間の前記変換を決定する前記ステップは、前記ロボットの座標系と前記カメラシステムの座標系との間の前記変換のための値を反復的に選択し、（Ａ）前記変換のための前記選択された値、前記可動アームの位置、および一方の画像取り込み場所での較正特徴の座標の積と、（Ｂ）前記変換のための前記選択された値、前記可動アームの位置、およびもう一方の画像取り込み場所での対応する前記較正特徴の座標の積とを比較して、（Ａ）と（Ｂ）との間の差を最小化する、前記変換のための値を決定することを含む、方法。
【請求項５】
請求項１に記載の方法において、前記ロボットの座標系と前記カメラシステムの座標系との間の前記変換は、変換マトリクスＴを含み、前記変換を決定する前記ステップは、量
【数５】
0005688825.tif 000038
を少なくとも最小化する変換マトリクスＴを見出すことを含み、式中、ｉおよびｊは、個々の画像取り込み場所の異なるインスタンスに対応し、ｉは、２からｍの範囲の値を有し、ｊは、１から（ｉ−１）の範囲の値を有し、ｋは、前記１組の較正特徴の中の個々の較正特徴に対応し、１からｎの範囲の値を有し、Ｒｉは、個々の画像取り込み場所ｉでの前記可動アームの前記位置であり、ｖｉｋは、前記カメラシステムの座標系で決定される、ｉ番目の前記画像取り込み場所でのｋ番目の前記較正特徴の座標であり、Ｒｊは、個々画像取り込み場所ｊでの前記可動アームの前記位置であり、ｖｊｋは、前記カメラシステムの座標系で決定される、ｊ番目の前記画像取り込み場所でのｋ番目の前記較正特徴の座標である、方法。
【請求項６】
請求項５に記載の方法において、前記可動アームの前記位置は、
【数６】
0005688825.tif 000039
の形態のロボット位置変換マトリクスＲを含み、サブマトリクス
【数７】
0005688825.tif 000040
は、前記可動アームの配向を基準配向と関連付ける、正規直交回転を表し、サブマトリクス
【数８】
0005688825.tif 000041
は、前記可動アームの前記位置と基準位置との間のオフセットを表し、
前記個々の較正特徴の座標は、
【数９】
0005688825.tif 000042
の形態の配列を含み、
前記変換マトリクスＴは、
【数１０】
0005688825.tif 000043
の形態のマトリクスを含み、サブマトリクス
【数１１】
0005688825.tif 000044
は、前記ロボットの座標系と前記カメラシステムの座標系との間の回転関係を表し、３つの回転オフセットα、β、およびγから導き出され、サブマトリクス
【数１２】
0005688825.tif 000045
は、前記ロボットの座標系と前記カメラシステムの座標系との間の平行移動オフセットｘ、ｙ、およびｚを表す、方法。
【請求項７】
請求項１に記載の方法において、前記ロボットの座標系と前記カメラシステムの座標系との間の前記変換は、最急降下最適化アルゴリズム、シミュレーテッドアニーリングアルゴリズム、または最適適合アルゴリズムのうちの１つ以上を含む、最適化アルゴリズムを使用して決定される、方法。
【請求項８】
請求項１に記載の方法において、前記個々の画像取り込み場所は、前記目標と一致する中心点を有する球面の表面上に存在する、方法。
【請求項９】
請求項１に記載の方法において、前記可動アームは、一方の画像取り込み場所からもう一方の画像取り込み場所に、前記目標に対して半径方向に移動する、方法。
【請求項１０】
請求項１に記載の方法において、前記カメラシステムは、前記可動アームに載置される第１および第２のステレオカメラ対のそれぞれを備え、前記第１のステレオカメラ対は、第１の視野の画像を取得するように合焦および構成され、前記第２のステレオカメラ対は、前記第１の視野よりも大幅に狭い、第２の視野の画像を取得するように合焦および構成され、前記第１および第２の視野は、少なくとも部分的に重なり、前記ロボットの座標系と前記カメラシステムの座標系との間の前記変換を決定する前記ステップは、最適化アルゴリズムを使用して、前記第１のステレオカメラ対の第１の変換を決定し、最適化アルゴリズムを使用して、前記第２のステレオカメラ対の第２の変換を決定することを含み、さらに、
前記第１のステレオカメラ対の座標系での座標を前記第２のステレオカメラ対の座標系にマップする、変換マトリクスＱを決定することを含む、方法。
【請求項１１】
ロボットの座標系とカメラの座標系との間の変換を決定するためのシステムであって、
それに載置されるカメラシステムを有する可動アームを備える、ロボットであって、前記ロボットの座標系が、前記可動アームの位置を定義し、前記カメラシステムの座標系が、前記カメラシステムの視野内の目標の位置を定義する、ロボットと、
ａ）前記目標が、前記個々の画像取り込み場所で前記カメラシステムの前記視野内にあるように、前記可動アームを、前記目標の周りで１つ以上の個々の画像取り込み場所に位置付け、ｂ）前記可動アームを、一方の個々の画像取り込み場所からもう一方の個々の画像取り込み場所に移動させるための手段と、
前記個々の画像取り込み場所で、前記目標の１組の画像を取り込むための手段と、
前記ロボットの座標系で、前記個々の画像取り込み場所で前記可動アームの位置を記録するための手段と、
前記カメラシステムの座標系で、前記目標の１組の較正特徴の座標を決定するための手段と、
前記個々の画像取り込み場所での前記可動アームの前記位置および前記１組の較正特徴の前記座標に基づいて、前記ロボットの座標系と前記カメラシステムの座標系との間の変換を決定するための手段と、
を備える、システム。
【請求項１２】
請求項１１に記載のシステムがさらに、毛嚢ユニット採取ツールもしくは毛嚢ユニット植付ツール、または双方を備える、システム。
【請求項１３】
ロボットの座標系で、前記ロボットのアームから伸びるツールの場所を特定するためにプロセッサに実行させるシステムの作動方法であって、前記方法が、
画像データから、カメラシステムの座標系で、前記ツールの場所を決定するステップと、
請求項１〜１０の何れか１項に従って決定される変換を使用して、前記カメラシステムの座標系から前記ロボットの座標系に前記ツールの前記場所を変換させるステップと、
を含む、方法。
【請求項１４】
請求項１３に記載の方法がさらに、画像データを取り込むステップを含み、前記画像データは、１対の画像を含み、前記決定するステップは、前記画像データから、前記カメラシステムの視野内の前記ツールの側部に対応する、第１および第２の外周側壁エッジセグメントを検出するステップと、前記検出された第１および第２の外周側壁エッジセグメント間の平均に基づいて、中心線を計算するステップと、前記カメラシステムの座標系で、前記中心線に沿って、前記ツールの遠位端部の位置の場所を特定するステップとを含む、方法。
【請求項１５】
請求項１４に記載の方法において、前記中心線は、前記第１および第２の外周側壁エッジセグメント間に形成される角度を二等分する、方法。
【請求項１６】
請求項１４に記載の方法において、前記検出するステップは、第１および第２の組のデータ遷移を確立するために、前記画像データの個々の横列での第１および第２のデータ遷移の場所を特定するステップと、前記第１および第２の組のデータ遷移のそれぞれから回帰を行うことによって、前記第１および第２の外周側壁エッジセグメントを計算するステップとを含み、前記場所を特定するステップは、前記遠位端部のデータ遷移の場所が、前記カメラシステムの座標系で、前記遠位端部の前記空間位置を表すように、前記中心線に沿った前記画像データの中の遠位端部のデータ遷移の場所を特定するステップを含む、方法。
【請求項１７】
請求項１６に記載の方法において、前記第１および第２のデータ遷移は、前記画像データのコントラスト、強度、色、または輝度の遷移のうちの１つ以上を含む、方法。
【請求項１８】
請求項１６に記載の方法において、前記検出するステップはさらに、前記遠位端部が、前記画像データ内の固有の値として表されるように、前記画像データを処理するステップを含む、方法。
【請求項１９】
請求項１６に記載の方法において、前記検出するステップはさらに、前記遠位端部が、第１の固有の色によって表され、背景特徴が、第２の固有の色によって表されるように、前記画像データを２値化するステップを含む、方法。
【請求項２０】
請求項１６に記載の方法において、前記データ遷移は、グレースケールエッジ点を含む、方法。
【請求項２１】
請求項１６に記載の方法において、前記回帰は、第１および第２の組のデータ遷移のそれぞれを接続する最良適合アルゴリズム、および／または第１および第２の組のデータ遷移のそれぞれを接続する最小二乗適合を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、ロボットシステム等の自動化システムに関し、より具体的には、画像誘導ロボットシステムのカメラシステムを較正するためのシステムおよび方法に関する。
【背景技術】
【０００２】
それに載置されるツール、検査ユニット、または他のデバイスを有する可動ロボットアームを含むロボットシステム等のロボットシステムは、概して、一方の場所からもう一方の場所にロボットアームを位置付けるための、誘導システムを含む。画像誘導ロボットシステムは、概して、処理された画像に少なくとも部分的に基づいてロボットアームを位置付け、該画像は、ある応用において、１つ以上のカメラによって取得され得る。画像誘導ロボットシステムを正確に位置付けるのを補助するために、較正を行うことが望ましくなり得る。そのような較正手順の例は、例えば、Ｂｏｄｄｕｌｕｒｉ他の米国特許出願公開第２００７／０１０６３０６号の図４を参照して説明される。
【発明の概要】
【０００３】
一実施形態では、第１のカメラシステムの座標系と第２のカメラシステムの座標系との間のマッピングを決定するための方法が提供され、第１および第２のカメラシステムは、少なくとも部分的に重なる視野を有し、第１および第２のカメラシステムは、固定された空間関係を有する。本方法は、１つ以上のプロセッサを使用して、第１および第２のカメラシステムの座標系の双方で、第１および第２のカメラシステムからの対応する対の画像に見出される１組の特徴（例えば、１つ以上の特徴）の座標を決定し、それによって、第１のカメラシステムの座標系での第１の組の特徴の座標、および第２のカメラシステムの座標系での対応する第２の組の座標をもたらすことと、同じ１つ以上のプロセッサの１つまたは異なるプロセッサの使用によって、第１および第２の組の特徴の座標に基づいて、第１および第２のカメラシステムの座標系間のマッピングを決定することと、を含む。本方法は、第１および第２のカメラシステムの座標系間の座標を変換するように、後で使用するために、マッピングをメモリに記憶し得る。いくつかの実施形態において、本方法は、第１および第２のカメラシステムのそれぞれから、いくつかの対応する画像を、随意に取り込み、受け取り、または受け付け得る。
【０００４】
別の実施形態では、１つ以上のプロセッサを備えるシステムが提供され、該システムは、第１の組の画像の中の１組の特徴について、第１のカメラシステムの座標系で座標を決定し、それによって、第１のカメラシステムの座標系で第１の組の特徴の座標をもたらし、第２の組の画像の中の１組の特徴について、第２のカメラシステムの座標系で座標を決定し、第２の組の画像の中の特徴は、第１の組の画像の中の第１の組の特徴に対応し、それによって、第２のカメラシステムの座標系で第２の組の特徴の座標をもたらし、第１および第２の組の特徴の座標に基づいて、第１および第２のカメラシステムの座標系間の変換を計算するように構成される。本システムは、第１および第２のカメラシステムの座標系間の座標を変換するように、後で使用するために、マッピングをメモリに記憶し得る。単一のプロセッサが、列挙された全ての操作を行い得る。いくつかの実施形態において、システムはまた、第１の視野を有し、第１の組の画像を取り込むように構成される、第１のカメラシステム、および第２の視野を有し、第１の組の画像に対応する第２の組の画像を取り込むように構成される、第２のカメラシステムも含み、第１および第２のカメラシステムは、互いに対して固定された場所に位置付けられ、第１および第２の視野は、少なくとも部分的に重なる。
【０００５】
さらに別の実施形態において、第１および第２のカメラシステムのそれぞれは、ステレオ対のカメラを備える。さらに別の実施形態において、第１および第２のカメラシステムは、それらの視野のサイズが異なる。さらに別の実施形態において、第１および第２のカメラシステムは、ロボットシステム、例えば毛髪採取および／または植付のためのロボットシステムの一部であり得る、ロボットアームに載置される。さらに別の実施形態において、画像は、ほぼ同時に取り込まれ、受け取られ、または受け付けられ得る。さらに別の実施形態において、特徴は、チェッカーボードコーナー、ドットパターン、または重心から成る群の１つ以上から選択され得る、較正特徴である。
【０００６】
さらに別の実施形態において、第１および第２のカメラシステムのそれぞれからの対応する画像の数は、ｍであり、第１のカメラシステムからのｊ番目の画像および第２のカメラシステムからのｊ番目の画像は、ｊ＝１．．．ｍにおいて、互いに対応し、各画像においてその座標が決定される特徴の数は、ｎであり、第１のカメラシステムの座標系で決定される第１の組の座標は、｛ｖ１ｊｋ｝であり、第２のカメラシステムの座標系で決定される第２の組の座標は、｛ｖ２ｊｋ｝であり、ここで、ｊは、画像１．．．ｍの中のｊ番目の画像の指標であり、ｋは、特徴１．．．ｎの中のｋ番目の特徴の指標である。いくつかの実施形態では、ｍ≧１、およびｎ≧１、およびｍｎ≧６である。一実施形態によれば、ｍ＝４８およびｎ＝６である。
【０００７】
さらに別の実施形態において、マッピングは、第２の座標系から第１の座標系に座標を変換する、変換マトリクスＱであり、マッピングを見出すステップは、量
【数１】
0005688825.tif 000002
を少なくともほぼ最小化するマトリクスＱを見出すことを含み、式中、ｄは、距離関数であり、よって、
【数２】
0005688825.tif 000003
であり、ここで、ｖ１およびｖ２は、それぞれ、第１および第２のカメラシステム座標系での座標のベクトルである。加えて、いくつかの実施形態において、Ｑは、４×４マトリクスであり、座標のベクトルは、次のような形態である
【数３】
0005688825.tif 000004
。さらに、いくつかの実施形態において、距離関数ｄは、
【数４】
0005688825.tif 000005
である。さらに、変換マトリクスＱを見出すことは、最適化手法を使用することを含み得る。
【０００８】
さらに別の実施形態では、第１のカメラシステムの座標系と第２のカメラの座標系との間のマッピングを決定するための装置が提供される。第１および第２のカメラシステムは、少なくとも部分的に重なる視野を有し、第１および第２のカメラシステムは、固定された空間関係を有する。本装置は、第１および第２のカメラシステムの座標系の双方で、第１および第２のカメラシステムからの対応する対の画像で見出される１組の特徴の座標を決定し、それによって、第１のカメラシステムの座標系での第１の組の特徴の座標、および第２のカメラシステムの座標系での対応する第２の組の座標をもたらすための手段と、第１および第２の組の特徴の座標に基づいて、第１および第２のカメラシステムの座標系間のマッピングを決定するための手段と、を備える。いくつかの実施形態において、本装置はさらに、第１および第２のカメラシステムのそれぞれから、いくつかの対応する画像を取り込むための手段を備える。
【０００９】
別の実施形態では、ロボットの座標系とカメラシステムの座標系との間の変換を決定するための方法が提供され、ロボットは、それに載置されるカメラシステムを有する可動アームを含み、ロボットの座標系は、可動アームの位置を定義し、カメラシステムの座標系は、カメラシステムの視野内の目標の位置を定義する。本方法は、目標が、個々の画像取り込み場所でカメラシステムの視野内にあり、かつ、可動アームが、目標の周りを回転し、該目標に対して一方の画像取り込み場所からもう一方の画像取り込み場所に平行移動するように、目標の周りで、可動アームを複数の画像取り込み場所に位置付けることと、個々の画像取り込み場所で、カメラシステムを使用して目標の１組の画像を取り込み、ロボットの座標系で可動アームの位置を記録することと、カメラシステムの座標系で、１組の画像の中で識別される目標の１組の較正特徴の座標を決定することと、個々の画像取り込み場所での可動アームの位置および１組の較正特徴の座標に基づいて、ロボットの座標系とカメラシステムの座標系との間の変換を決定することと、を含む。
【００１０】
ロボットの座標系とカメラシステムの座標系との間の変換を決定するための方法のいくつかの実施形態において、可動アームを目標の周りで位置付けるステップ、目標の１組の画像の組を取り込むステップ、可動アームの位置を記録するステップ、１組の較正特徴の座標を決定するステップ、およびロボットの座標系とカメラシステムの座標系との間の変換を決定するステップは、自動的に行われる。さらに別の実施形態において、可動アームは、それに載置される毛嚢ユニット採取ツール、毛嚢ユニット植付ツール、または双方を有し、ロボットは、毛嚢ユニットを採取し、毛嚢ユニットを植付する、または双方を行うように構成される。
【００１１】
本方法のさらに別の実施形態ではさらに、カメラシステムの座標系で、身体表面の画像の中の毛嚢ユニットの場所を識別することと、カメラシステムの座標系の毛嚢ユニットの場所に基づいて、ロボットの座標系で、毛嚢ユニットの場所を決定し、ロボットの座標系とカメラシステムの座標系との間の変換を決定することと、毛嚢ユニット採取または植付ツールを使用して毛嚢ユニットを採取または植付することができるように、ロボットの座標系での毛嚢ユニットの場所に基づいて、毛嚢ユニットに隣接して可動アームを位置付けることと、を含む。
【００１２】
別の実施形態では、システムが提供される。本システムは、可動アームの位置を定義する座標系を有する可動アームと、可動アームに載置されるカメラシステムであって、１組の画像等の１つ以上の画像を取り込むように構成され、カメラシステムの視野内の目標の位置を定義する座標系を有する、カメラシステムと、可動アームに動作可能に連結されるコントローラであって、目標が、個々の画像取り込み場所でカメラシステムの視野内にあり、かつ、可動アームが、目標の周りを回転し、該目標に対して一方の画像取り込み場所からもう一方の画像取り込み場所に平行移動するように、目標の周りで、可動アームを複数の画像取り込み場所に位置付けるように構成される、コントローラと、を備える。本システムはさらに、メモリと、カメラシステム、コントローラ、およびメモリに動作可能に連結されるプロセッサとを備える。プロセッサは、個々の画像取り込み場所で、カメラシステムに、カメラシステムを使用して目標の１組の画像を取り込ませ、個々の画像取り込み場所で、カメラシステムの座標系で１組の画像の中で識別される目標の１組の較正特徴の座標を決定させるように構成される。プロセッサはさらに、可動アームの座標系で可動アームの位置をメモリに記憶し、個々の画像取り込み場所での可動アームの位置および１組の較正特徴の座標に基づいて、可動アームの座標系とカメラシステムの座標系との間の変換を決定するように構成される。ある実施形態において、プロセッサは、可動アームの座標系で可動アームの位置を決定するために、個々の画像取り込み場所で、コントローラに質問し得、プロセッサは、個々の画像取り込み場所で、カメラシステムの座標系で１組の画像の中で識別される目標の１組の較正特徴の座標を決定するために、カメラシステムに問い合わせ得る。さらに、コントローラは、目標の周りで可動アームを位置付け得、プロセッサは、ユーザの介入を伴わずに自動的に、カメラシステムに、目標の１組の画像を取り込ませ、１組の較正特徴の座標を決定させ、可動アームの位置を記憶させ、また、可動アームの座標系とカメラシステムの座標系との間の変換を決定させ得る。
【００１３】
システムのさらに別の実施形態において、可動アームは、それに載置される毛嚢ユニット採取ツール、毛嚢ユニット植付ツール、または双方を有し、システムは、毛嚢ユニットを採取し、毛嚢ユニットを植付する、または双方を行うように構成されるロボットシステムを備える。いくつかの実施形態において、プロセッサはさらに、カメラシステムに、身体表面の画像を取り込ませ、カメラシステムの座標系で、身体表面の画像の中の毛嚢ユニットの場所を識別させ、可動アームの座標系で、カメラシステムの座標系での毛嚢ユニットの場所に基づいて、毛嚢ユニットの場所を決定させ、可動アームの座標系とカメラシステムの座標系との間の変換を決定させ、また、コントローラに、毛嚢ユニット採取または植付ツールを使用して毛嚢ユニットを採取または植付することができるように、毛嚢ユニットの場所に基づいて、可動アームの座標系で、毛嚢ユニットに隣接して可動アームを位置付けさせるように構成される。
【００１４】
さらに別の実施形態において、目標の位置は、固定され、可動アームの座標系とカメラシステムの座標系との間の変換は、可動アームの座標系とカメラシステムの座標系との間の変換のための値を反復的に選択し、（Ａ）変換のための選択された値、可動アームの位置、および一方の画像取り込み場所での較正特徴の座標の積と、（Ｂ）変換のための選択された値、可動アームの位置、およびもう一方の画像取り込み場所での対応する較正特徴の座標の積とを比較して、（Ａ）と（Ｂ）との間の差を最小化する、変換のための値を決定することによって（例えば、プロセッサによって）決定される。
【００１５】
さらに別の実施形態において、可動アームの座標系とカメラシステムの座標系との間の変換は、変換マトリクスＴを含み、変換は、量
【数５】
0005688825.tif 000006
を少なくともほぼ最小化する変換マトリクスＴを見出すことによって、（例えば、プロセッサによって）決定され、式中、ｉおよびｊは、個々の画像取り込み場所の異なるインスタンスに対応し、ｉは、２からｍの範囲の値を有し、ｊは、１から（ｉ−１）の範囲の値を有し、ｋは、１組の較正特徴の中の個々の較正特徴に対応し、１からｎの範囲の値を有し、Ｒｉは、個々の画像取り込み場所ｉでの可動アームの位置であり、ｖｉｋは、カメラシステムの座標系で決定される、ｉ番目の画像取り込み場所でのｋ番目の較正特徴の座標であり、Ｒｊは、個々の画像取り込み場所ｊでの可動アームの位置であり、ｖｊｋは、カメラシステムの座標系で決定される、ｊ番目の画像取り込み場所でのｋ番目の較正特徴の座標である。
【００１６】
特定の実施形態において、可動アームの位置は、
【数６】
0005688825.tif 000007
の形態の可動アーム位置変換マトリクスＲを含み得、式中、サブマトリクス
【数７】
0005688825.tif 000008
は、可動アームの配向を基準配向と関連付ける、正規直交回転を表し、サブマトリクス
【数８】
0005688825.tif 000009
は、可動アームの位置と基準位置との間のオフセットを表し、個々の較正特徴の座標は、
【数９】
0005688825.tif 000010
の形態の配列を含み得、変換マトリクスＴは、
【数１０】
0005688825.tif 000011
の形態のマトリクスを含み得、サブマトリクス
【数１１】
0005688825.tif 000012
は、可動アームの座標系とカメラシステムの座標系との間の回転関係を表し、３つの回転オフセットα、β、γから導き出され、サブマトリクス
【数１２】
0005688825.tif 000013
は、可動アームの座標系とカメラシステムの座標系との間の平行移動オフセットｘ、ｙ、およびｚを表す。
【００１７】
変換マトリクスＴは、６つの独立した値を含み得、そのうちの３つは、平行移動オフセットｘ、ｙ、およびｚであり、他の３つは、回転オフセットα、β、およびγであり、６つの独立した値は、最適化アルゴリズムを使用して決定される。さらに別の実施形態において、ロボットの座標系とカメラシステムの座標系との間の変換は、例えば最急降下最適化アルゴリズム、および／またはシミュレーテッドアニーリングアルゴリズム、および／または最適適合アルゴリズムを含む、最適化アルゴリズムを使用して、（例えば、プロセッサによって）決定される。個々の画像取り込み場所は、目標とほぼ一致する中心点を有する球体の表面上にほぼ存在し得、可動アームは、一方の画像取り込み場所からもう一方の画像取り込み場所に、目標に対して半径方向に移動し得る。
【００１８】
一実施形態において、カメラシステムは、可動アームに載置される第１および第２のステレオカメラ対のそれぞれを備える、第１のステレオカメラ対は、第１の視野の画像を取得するように合焦および構成され、第２のステレオカメラ対は、第１の視野よりも大幅に狭い、第２の視野の画像を取得するように合焦および構成され、第１および第２の視野は、少なくとも部分的に重なり、可動アームの座標系とカメラシステムの座標系との間の変換は、最適化アルゴリズムを使用して、第１のステレオカメラ対の第１の変換を決定し、最適化アルゴリズムを使用して、第２のステレオカメラ対の第２の変換を決定することによって、（例えば、プロセッサによって）決定される。さらに、第１のステレオカメラ対の座標系での座標を第２のステレオカメラ対の座標系にマップする、変換マトリクスＱが、（例えば、プロセッサによって）決定され得る。
【００１９】
別の実施形態では、ロボットの座標系とカメラシステムの座標系との間の変換を決定するためのシステムが提供され、ロボットは、それに載置されるカメラシステムを有する可動アームを含み、ロボットの座標系は、可動アームの位置を定義し、カメラシステムの座標系は、カメラシステムの視野内の目標の位置を定義する。本システムは、目標が、個々の画像取り込み場所でカメラシステムの視野内にあり、かつ、可動アームが、目標の周りを回転し、該目標に対して一方の画像取り込み場所からもう一方の画像取り込み場所に平行移動するように、目標の周りで、可動アームを複数の画像取り込み場所に位置付けるための手段と、個々の画像取り込み場所で、カメラシステムを使用して目標の１組の画像を取り込むための手段と、ロボットの座標系で、可動アームの位置を記録するための手段と、カメラシステムの座標系で、１組の画像の組の中で識別される目標の１組の較正特徴の座標を決定するための手段と、個々の画像取り込み場所での可動アームの位置および１組の較正特徴の座標に基づいて、ロボットの座標系とカメラシステムの座標系との間の変換を決定するための手段と、を備える。
【００２０】
別の実施形態では、そこに記憶される命令を有するコンピュータが読み出し可能な媒体が提供される。本命令は、目標が、個々の画像取り込み場所で可動アームに載置されるカメラシステムの視野内にあり、かつ、可動アームが、目標の周りを回転し、該目標に対して一方の画像取り込み場所からもう一方の画像取り込み場所に平行移動するように、ロボットの可動アームを複数の画像取り込み場所付近に位置付けさせるための命令と、カメラシステムに、個々の画像取り込み場所で目標の１組の画像を取り込ませるための命令と、ロボットの座標系で、可動アームの位置を記録するための命令と、カメラシステムの座標系で、１組の画像の中で識別される目標の１組の較正特徴の座標を決定するための命令と、個々の画像取り込み場所での可動アームの位置および１組の較正特徴の座標に基づいて、ロボットの座標系とカメラシステムの座標系との間の変換を決定するための命令と、を含む。
【００２１】
別の実施形態では、ロボットの座標系で、ロボットのアームから伸びるツールの場所を特定するための方法が提供される。本方法は、画像データから、カメラシステムの座標系で、ツールの場所を決定することと、所定の変換を使用して、カメラシステムの座標系からロボットの座標系にツールの場所を変換させることと、を含む。
【００２２】
いくつかの実施形態において、本方法は、画像データを取り込むことを含む。さらに別の実施形態において、画像データは、１組の画像を含み、決定ステップは、画像データから、カメラシステムの視野内のツールの側部に対応する、第１および第２の外周側壁エッジセグメントを検出することと、検出された第１および第２の外周側壁エッジセグメント間の平均に基づいて、中心線を計算することと、カメラシステムの座標系で、中心線に沿って、ツールの遠位端部の位置の場所を特定することと、を含む。いくつかの実施形態において、中心線は、第１および第２の外周側壁エッジセグメント間に形成される角度を二等分する。特定の実施形態において、ツールは、毛嚢採取を行うための針またはパンチを備え得る。
【００２３】
特定の実施形態において、検出ステップは、第１および第２の組のデータ遷移を確立するために、画像データの個々の横列での第１および第２のデータ遷移の場所を特定することと、第１および第２の組のデータ遷移のそれぞれから回帰を行うことによって、第１および第２の外周側壁エッジセグメントを計算することと、を含み、場所を特定するステップは、中心線に沿った画像データの中の遠位端部のデータ遷移の場所を特定し、よって、遠位端部のデータ遷移の場所が、カメラシステムの座標系で、遠位端部の空間位置を表す。
【００２４】
異なる実施形態では、単一の針、パンチ、もしくはカニューレを含む種々のツール、または種々の構成のツールアセンブリが使用され得る。いくつかの実施形態において、第１および第２のデータ遷移は、画像データのコントラスト、強度、色、または輝度の遷移のうちの１つ以上を含み得、検出ステップはさらに、ツールの遠位端部が、画像データ内の固有の値、例えば画像データ内の固有の色として表されるように、画像データを処理することを含み得る。いくつかの実施形態において、検出ステップはさらに、遠位端部が、第１の固有の色によって表され、背景特徴が、第２の固有の色によって表されるように、画像データを２値化することを含み得る。いくつかの実施形態において、回帰は、第１および第２の組のデータ遷移のそれぞれをほぼ接続する、最良適合アルゴリズムまたは最小二乗適合を含む。
【００２５】
別の実施形態では、ロボットの座標系で、ロボットのアームから伸びるツールの場所を特定するように構成される、システムが提供される。本システムは、画像データから、カメラシステムの座標系で、ツールの場所を決定し、所定の変換を使用して、カメラシステムの座標系からロボットの座標系にツールの場所を変換させるように構成される、１つ以上のプロセッサを備え得る。
【００２６】
いくつかの実施形態において、本システムは、座標系を有するカメラシステムを含み、カメラシステムは、画像データを取り込むように構成される。さらに別の実施形態において、画像データは、１対の画像含み、１つ以上のプロセッサはさらに、画像データから、カメラシステムの視野内のツールの側部に対応する、第１および第２の外周側壁エッジセグメントを検出し、検出された第１および第２の外周側壁エッジセグメント間の平均に基づいて、中心線を計算し、そして、カメラシステムの座標系で、中心線に沿って、ツールの遠位端部の空間位置の場所を特定することによって場所を決定するように構成される。いくつかの実施形態において、中心線は、第１および第２の外周側壁エッジセグメント間に形成される角度を二等分する。
【００２７】
いくつかの実施形態において、１つ以上のプロセッサはさらに、第１および第２の組のデータ遷移を確立するために、画像データの個々の横列で、第１および第２のデータ遷移の場所を特定し、第１および第２の組のデータ遷移のそれぞれから回帰を行うことによって、第１および第２の外周側壁エッジセグメントを計算することによって、ツールの第１および第２の外周側壁エッジセグメントを検出し、また、遠位端部のデータ遷移の場所が、カメラシステムの座標系で、遠位端部の空間位置を表すように、中心線に沿った画像データの中の遠位端部のデータ遷移の場所を特定することによって、ツールの遠位端部の位置の場所を特定するように構成される。
【００２８】
いくつかの実施形態において、１つ以上のプロセッサはさらに、第１および第２の組のデータ遷移から、所定の閾値を超える第１および第２の初期外周側壁エッジセグメントのそれぞれからの距離を有する、第１または第２のデータ遷移を除外することによって、ツールの第１および第２の外周側壁エッジセグメントを検出するように構成され得る。ある実施形態において、１つ以上のプロセッサはさらに、第１および第２の組のデータ遷移のそれぞれから回帰を行うことによって、第１および第２の外周側壁エッジセグメントを再計算するように構成され得、遠位端部のデータ遷移は、採取パンチ等のツールを（例えば、ほぼ所定の皮膚表面距離で）異なる位置まで伸ばす、または縮めるときに、該ツールの遠位端部に対応する。
【００２９】
別の実施形態では、ロボットの座標系で、ロボットのアームから伸びるツールの場所を特定するためのシステムが提供される。本システムは、画像データから、カメラシステムの座標系で、ツールの場所を決定するための手段と、所定の変換を使用して、カメラシステムの座標系からロボットの座標系にツールの場所を変換させるための手段とを備える。システムはまた、画像データを取り込むための手段も含み得る。
【００３０】
別の実施形態では、カメラシステムのカメラの相対位置および倍率を識別するための方法が提供される。本方法は、個々のカメラが少なくとも１つの基準点を観察し得るように、基準点を持つプラカードをカメラシステムの視野の中に配置することと、カメラシステムの個々のカメラから基準点を表す画像データを受け取ることと、画像データの中の基準点の表現に基づいて個々のカメラを特徴付けることとを含む。
【図面の簡単な説明】
【００３１】
【図１】図１は、一実施形態による、目標とする場所にエンドエフェクタツールアセンブリを位置付けおよび配向するための可動アームを含む、画像誘導ロボットシステムの図である。
【図２】図２は、図１の可動アームに固定され、アームおよび取り付けられたエンドエフェクタツールアセンブリの運動を誘導するための複数の視野から画像データを取り込むために使用される、第１および第２のステレオカメラ対を示す拡大図である。
【図３】図３は、一実施形態による、毛嚢ユニットの採取、受容部位の切開、および移植辺の配置のためのエンドエフェクタツールの断面図である。
【図４Ａ】図４Ａは、操作可能なシステムの構成要素、およびツールフレームと固定されたワールド原点フレームとの間の関係を図示する、画像誘導ロボットシステムの図である。
【図４Ｂ】図４Ｂは、第１および第２のカメラシステムの座標系とロボットの座標系との間の関係を図示する、ブロック図である。
【図５】図５は、一実施形態による、ロボット毛髪移植機械の一部として実現され得る、機械視覚サブシステムのブロック図である。
【図６】図６は、別の実施形態による、ロボット毛髪移植機械の一部として実現され得る、機械視覚サブシステムのブロック図である。
【図７】図７Ａ−７Ｃは、種々の例示的な較正特徴を図示する図である。
【図８】図８は、一実施形態による、ロボットの座標系とカメラの座標系との間の変換を決定するための方法のフロー図である。
【図９】図９は、毛髪摘出／植付手順中に、エンドエフェクタツールアセンブリを位置付けるために、図８で図示される方法によって決定される変換を使用するための方法の実施例のフロー図である。
【図１０Ａ】図１０Ａは、一実施形態による、カメラシステム間の座標変換を決定するための方法のフローチャートである。
【図１０Ｂ】図１０Ｂは、第１および第２のカメラシステム間の座標変換、第１のカメラシステムの座標系とロボットの座標系との間の座標変換、および第２のカメラシステムの座標系とロボットの座標系との間の座標変換を図示する図である。
【図１１】図１１は、一実施形態による、カメラシステム間で座標を変換するための方法のフローチャートである。
【図１２】図１２は、例えば複数のカメラシステムを有し、機械視覚動作を使用する画像誘導ロボットシステムを使用して場所を特定され得る特徴を図示する、エンドエフェクタツールアセンブリの実施例の図である。
【図１３】図１３は、機械視覚動作を使用して、場所まで伸ばした、エンドエフェクタの針先端部の画像である。
【図１４】図１４は、一実施形態による、ロボットの座標系でエンドエフェクタツールの場所を特定するための方法のフロー図である。
【図１５】図１５は、一実施形態による、ツール、例えば図１２で示されるツールの特徴を検出し、場所を特定することによって、カメラの座標系でエンドエフェクタツールの場所を決定するための方法のフロー図である。
【図１６】図１６は、一実施形態による、データ遷移の場所を特定し、回帰を計算することによって、カメラの座標系で、エンドエフェクタツールの側壁エッジセグメントを検出するための方法のフロー図である。
【図１７】図１７Ａ及び１７Ｂは、それぞれ、伸ばしたエンドエフェクタツールの未処理画像および２値化画像である。
【図１８】図１８Ａ及び１８Ｂは、それぞれ、縮めたエンドエフェクタツールの未処理画像および２値化画像である。
【図１９】図１９は、エンドエフェクタツールの側壁エッジセグメントを検出するための、別の方法のフロー図である。
【図２０】図２０は、一実施形態による、伸ばした、および縮めた状態でのツールの画像データを使用することによって、エンドエフェクタツールの遠位端部の場所を特定するための、方法のフロー図である。
【図２１】図２１Ａ及び２１Ｂは、複数のカメラの相対位置および倍率を識別するための特徴を持つプラカードの図である。
【図２２】図２２は、複数のカメラの相対位置および倍率を識別するための、カメラシステムの視野の中に位置付けられるプラカードの斜視図である。
【図２３】図２３は、一実施形態による、カメラの倍率を識別するための、システムの図である。
【図２４】図２４は、一実施形態による、カメラの相対位置を識別するための、システムの図である。
【図２５】図２５は、別の実施形態による、カメラの相対位置を識別するための、システムの図である。
【図２６】図２６は、一実施形態による、カメラシステムにおける複数のカメラの相対位置および倍率を識別し、構成するための、ソフトウェアシステムの画面ショットである。
【発明を実施するための形態】
【００３２】
上で列挙した図面を参照して、この本項は、特定の実施形態、ならびにそれらの詳細な構造および操作を説明する。本明細書で説明される実施形態は、単なる例示の目的で記載されており、限定するものではない。当業者は、本明細書の教示に照らして、例えば、他の実施形態が可能であること、本明細書で説明される例示的な実施形態に変更を行うことができ、また、説明される実施形態を構成する構成要素、部品、またはステップの均等物があり得ることを認識するであろう。
【００３３】
明確さおよび簡潔さのために、ある実施形態の構成要素またはステップのある態様は、過度の詳細を伴わずに表されており、そのような詳細は、本明細書の教示に照らして当業者に明らかになるであろうし、および／またはそのような詳細は、実施形態のより関連する態様の理解を不明瞭にするであろう。
【００３４】
本明細書で説明される方法または手順における１つ以上のステップは、人手による入力を必要とするいくつかの部分を伴って、自動化または自律化され得る。自動化システムは、オンスイッチを起動させる、または操作をスケジュールする等のいくつかのオペレータ相互作用、または手持ち式ツールが使用されるが、システムのいくつかの機構が機能を実行するために自律的に、例えば人間の入力を伴わずに機能するシステムを含み得る。本明細書で説明される自動化システムのいくつかはまた、ロボット的に支援され得るか、またはコンピュータ／ソフトウェア／機械の命令で制御され得る。
【００３５】
当業者が本開示に照らして認識するように、ある実施形態は、以下のうちのいくつかまたは全てを含む利点を達成することが可能であり得る。（１）ロボットシステムの可動アームに載置される複数のカメラ対の場所を、ロボットシステム上の載置点に関連付けるカメラ較正を自動的に計算する、システムおよび方法を提供すること、（２）ロボットシステムが、目標の場所の上側に１つ以上のカメラ対を正確に位置付けることを可能にする、システムおよび方法を提供すること、（３）ロボットアームに対してカメラシステムを較正するために、および／またはその較正を検証するために、ロボットアームの位置を自動的に移動させる、システムおよび方法を提供すること、（４）いかなる大幅なユーザ相互作用も伴わずに１回のボタン押下での較正を可能にする、システムおよび方法を提供すること（例えば、ロボットツールが、十分な程度の精度で製造され／組み立てられていれば、３次元多重視野視覚システムが、予め定義された大まかなロボットの場所に基づいて、いかなる大幅なユーザ相互作用も伴わずに１回のボタン押下で較正することができる）、（５）産業用ロボットを含む種々の応用例において、地点を較正する、および／または示すための多くの処理時間を節約する、システムおよび方法を提供すること、（６）複数のカメラ対について共通の座標系を使用する、システムおよび方法を提供すること、（７）複数対のステレオカメラの使用を単純化する、システムおよび方法を提供すること、（８）ロボットフランジから、取り囲む組織から毛嚢を切開するために使用されるパンチの先端部等のツール先端部までのオフセットを自動的に計算する、システムおよび方法を提供すること、および（９）ロボットシステムが、そのツール先端部の周りで正確に位置決めすること、および回転することを可能にする、システムおよび方法を提供すること。
【００３６】
図１は、エンドエフェクタツールアセンブリ１２０を身体表面上の目標場所に位置付け、配向するためのプログラム可能な可動アーム１１０を含む、例示的な画像誘導ロボットシステム１００を示す。ロボットアームは、６つの自由度（ｘ、ｙ、ｚ、α、β、およびγ）で、遠位端部プレートまたは「ロボットフランジ」（例えば、図４Ａのフランジ４４６を参照されたい）の運動を正確に制御することを容易にする。高度な繰り返し性および精度（例えば、２０ミクロンまで）による遠位端部プレートの運動は、可動アーム１１０のアーム関節１１２のそれぞれに位置する、複数対のモーターおよびエンコーダによって可能になる。可動アーム１１０の近位基部１１４は、テーブル面１６０に載置され得る。
【００３７】
種々のエンドエフェクタツールアセンブリが、人間または動物の患者に対して種々の手順を行うために、遠位端部プレートに取り付けられ得る。例えば、いくつかのエンドエフェクタの実施形態は、取り付けられるツール（例えば、針）またはツールアセンブリを患者の所望の場所に迅速かつ正確に位置付けるためにロボットアームの能力を利用する、診断または治療的医療手順を行い得る。加えて、種々のエンドエフェクタアセンブリは、それら自体が、移動する制御可能な部品を含み得る。１つの例（図示せず）において、エンドエフェクタツールアセンブリは、真皮を通して、正確に目標を定めて反復的に注射液を送達するために使用される、往復針を含む。図１および図２に示される実施例において、エンドエフェクタツールアセンブリ１２０は、人間の頭皮上の毛嚢（または毛嚢ユニット）を採取および植付するように設計された、３つの部分から成るツールを含む。エンドエフェクタツールアセンブリ１２０の実施例の追加的な詳細は、図３に関して説明される。
【００３８】
アーム１１０の運動は、可動アーム１１０の遠位端部に載置され得る１つ以上のカメラシステム１４０によって取得される画像データから導き出される制御信号に応じて、システムコントローラ（例えば、図４Ａのロボットコントローラ４３０を参照されたい）によって管理される。１つ以上のカメラシステム１４０が、可動アーム１１０に直接的に取り付けもしくは連結され得るか、またはエンドエフェクタツールアセンブリに取り付けられ得、それが、可動アーム１１０に直接的または間接的に取り付けられる。カメラシステム１４０は、単一のカメラ、１対のステレオカメラ１５０、または２対以上のステレオカメラを備え得る。好ましい実施形態によれば、異なる（例えば、より広い、およびより狭い）視野を取り込むために、２対のステレオカメラ２１０および２２０（図２）が使用される。下の説明は、毛髪移植手順を参照して行われる。当業者には、本明細書で説明されるシステムおよび方法が、種々の医療用および工業用アプリケーションを含む、他のタイプのシステムおよびアプリケーションに同様に適用されることが理解されるであろう。
【００３９】
ステレオカメラ対２１０および２２０は、ロボットシステム１００が、切開のために毛髪を識別および追跡することを可能にする、位置および配向情報を提供する。例えば、ステレオカメラ対２１０は、毛嚢の詳細な視野を提供する（例えば、詳細な視野は、切開のために個々の毛嚢の場所を特定し、追跡するために使用され得る）、比較的高倍率のカメラを含み得るが、ステレオカメラ対２２０は、基準点（例えば、図２６の基準点２６２２を参照されたい）を追跡し、採取間隔および方向を計画するために使用される採取領域の概要を提供する、比較的低倍率のカメラを含む。一実施形態によれば、ステレオカメラ対２１０は、約２．５ｃｍの対角視野を伴う左右の高倍率カメラを備え、ステレオカメラ対２２０は、約５ｃｍの対角視野を伴う左右の低倍率カメラを備える。各ステレオカメラ対２１０および２２０は、頭皮領域の左右の視野を提供し、これらは、個々の毛嚢の３次元位置および配向を決定するために使用される。なおさらなる実施形態では、第１の（例えば、広い）視野を取り込むために単一のカメラが使用され得、第２の（例えば、狭い）視野を取り込むために第２のカメラが使用され得る。
【００４０】
毛髪移植は、概して、３つのステップ、すなわち、毛嚢ユニットの採取、受容部位の切開、および移植片の配置を含む。いくつかの状況において、手術の効率は、これらの機能が単一のツールで達成される場合に高めることができる。図３は、いくつかの実施形態において利用され得る３つの機能を達成するための３つの部分から成る、ツール３００の実施例を示す。図３の実施例で示される３つの同軸要素は、受容部位の切開を行うために使用される鋭利なベベル切断を伴う、外側カニューレ（「穿刺針」）３１０、外側針の内側を移動するように位置付けられ得、また、ドナー移植辺の周囲を切開するために使用される、第２のカニューレ（「コアリング針」）３２０、および第２のカニューレ３２０の内側を移動するように位置付けられ得、また、受容部位で適切な深さに移植片を位置付けるために使用される、閉塞具３３０である。採取の場合は、第２のカニューレ３２０が、取り囲む組織から毛嚢ユニットを分離するための所望の深さまで進行しながら、（例えば、回転によって、または素早い突き刺しによって）組織を切断し得る。次いで、あるときには真空の援助によって、移植片がこのカニューレ３２０内に取り込まれ、引き出される。受容部位切開の場合は、外側カニューレ３１０が、組織の中へ進行し、所望の方向および深さによって所望の場所で切開を行うために使用される。閉塞具３３０は、カニューレ３１０が縮められる間、所望の深さで移植片を保持するために使用され得る。独立した採取および植付針／パンチを含む種々の異なるツールが、種々の実施形態において使用され、採取および／または植付の異なる方法を適用し得ることを理解されたい。
【００４１】
図４Ａは、毛嚢ユニットを採取および／または頭皮等の身体表面の中へ植付するためのロボットシステム４００の実施例を図示する。システム４００は、採取または植付ツール４１０が連結される可動アーム４０５を含む。ツール４１０は、図１〜図３を参照して説明されるエンドエフェクタツールアセンブリ１２０に類似するまたは同一のツールを含み得る。ツール４１０は、好ましくは、可動アーム４０５の遠位端部プレートまたはフランジ４４６に載置されるが、図４Ａでは、ロボットフレームの相対配向または座標系４４８を図示するために、可動アーム４０５から取り外されて図示される。ツール４１０の動作先端部の複数の方向での微細な運動を可能にするために、種々のモーターおよび他の運動デバイスが組み込まれ得る。ロボットシステム４００はさらに、カメラシステムまたは画像取得デバイス４１５（例えば、図１および図２を参照して説明されるカメラシステム１４０、２１０、および２２０に類似するまたは同一のカメラシステム）を含み、それは、固定位置で載置されるか、または可動アーム４０５または他の制御可能な運動デバイスに（直接的または間接的に）連結され得る。ツール４１０の動作先端部は、身体表面４２０の上に位置付けられて示されており、この場合では、その上に毛嚢を有する患者の頭皮の一部である。
【００４２】
ロボットシステム４００は、カメラシステム４１５、ロボットコントローラ４３０、およびメモリ４３５に動作可能に連結されるように構成される、プロセッサ４２５を含む。プロセッサ４２５は、カメラシステム４１５から得られた画像を処理するための、画像プロセッサ４２６を備える。画像プロセッサ４２６は、別個のデバイスであり得、またはプロセッサ４２５の一部として組み込まれ得る。カメラシステム４１５によって取得される画像データは、画像プロセッサ４２６、プロセッサ４２５、または双方を介して処理され、プロセッサ４２５は、アーム４０５の運動を指令するための制御信号をロボットコントローラ４３０に提供する。具体的には、画像は、所望の倍率（例えば、一実施形態において、６倍〜１０倍の範囲）およびデューティサイクル（例えば、一実施形態において、３０ヘルツ）で、カメラシステム４１５から取得される。取得した画像は、対象となる物体の位置（複数可）および配向（複数可）を識別するために、メモリ４３５に記憶されるソフトウェアで実現される画像セグメント化手法を使用してデジタル化される。Ｂｏｄｄｕｌｕｒｉ他の米国特許出願公開第２００７／０１０６３０６号は、参照によりその全体が本明細書に組み込まれ、１つ以上のカメラによって取得される処理された画像に少なくとも部分的に基づいて可動アームを位置付ける、（例えば、毛嚢ユニットを採取または植付するための）自動化システムのさらなる詳細を説明する。
【００４３】
プロセッサ４２５は、例えばコントローラ４３０を通して作用する、可動アーム４０５およびツール４１０を含む、ロボットシステムの種々の運動デバイスに指示する。コントローラ４３０は、可動アーム４０５に動作可能に連結され得、また、カメラシステム４１５によって取得される画像またはデータに基づく動きを含む、アーム４０５の動きを制御するように構成され得る。あるいは、コントローラ４３０は、プロセッサ４２５の一部として組み込まれ得、よって、カメラシステム４１５によって取得される画像またはデータに基づくものを含む、アセンブリの全ての種々のツール、可動アーム４０５、および任意の他の可動部品の全ての運動の全ての処理および制御が、１箇所に集約される。
【００４４】
可動アーム４０５は、１つ以上のモーターと関連付けさせた６つの回転軸４４０〜４４５（例えば、１つのモーターが、１つの軸または複数の軸の周りで回転を生じさせ得るか、または複数のモーターが互いに機能して単一の軸の周りで回転を生じさせ得る）と、およびエンコーダとを含む。可動アーム４０５は、６つよりも少ないまたは多い回転軸を含み得る。プロセッサ４２５から受け取られる命令に応じて、コントローラ４３０は、１つ以上のモーターに、ツール４１０を所望の位置および配向に協働的に移動させる、１つ以上の制御信号を生成する。換言すれば、コントローラ４３０は、可動アーム４０５の回転軸４４０〜４４５のうちの１つ以上の周りでの該可動アームの回転を調整して、それに載置されるツール４１０を有する遠位端部プレートまたはフランジ４４６を、任意のワールド原点フレームまたは座標系４４７に対して所望の位置（ｘ、ｙ、ｚ、α、β、およびγ）に移動させる。
【００４５】
オイラー角α、β、およびγは、ヨー、ピッチ、およびロールに概念が類似しており、ワールド原点フレーム４４７に対する回転の組み合わせとして、任意のフレームまたは座標系の空間的配向を表すのを容易にする。例えば、図４Ａは、フランジ４４６に対して直角のｚ軸を伴うフランジ４４６の中心点でｘ、ｙ、ｚ座標原点を有する、ロボットフレームまたは座標系４４８を図示する。図４Ａで図示されるワールド原点フレーム４４７は、載置面に対して直角のｚ軸（例えば、ワールド原点フレーム４４７のｚ軸は、「真上」を指す）を伴う可動アーム４０５の基部の中心点に、ｘ、ｙ、ｚ座標原点を有する。図４において、ワールド原点フレーム４４７は、可動アーム４０５の基部の中心点に図示されているが、ワールド原点フレーム４４７は、任意の固定場所に位置し得る。ワールド原点フレーム４４７に対するロボットフレーム４４８の配向を説明するために、ワールド原点フレーム４４７およびロボットフレーム４４８のｘ−ｙ座標面の交差点として、交点線が定義され得る。換言すれば、交点線は、ワールド原点フレーム４４７およびロボットフレーム４４８のｚ軸に対して垂直な線である。よって、角度αは、ワールド原点フレーム４４７のｘ軸と交点線との間の角度として定義することができ、角度βは、ワールド原点フレーム４４７およびロボットフレーム４４８のｚ軸間の角度として定義することができ、そして、角度γは、交点線とロボットフレーム４４８のｘ軸との間の角度として定義することができる。
【００４６】
一実施形態によれば、ワールド原点フレーム４４７に対する、図４で図示されるロボットフレーム４４８等の、可動アーム４０５の位置は、式１で示される形態のロボット位置変換マトリクスＲによって与えられる。ロボット位置変換マトリクスＲは、ワールド原点フレーム４４７からロボットフレーム４４８に伸びる矢印によって、図４Ａで概念的に図示される。
【数１３】
0005688825.tif 000014
式１
【００４７】
式１において、左上の３×３の回転サブマトリクス（例えば、サブマトリクスｒ００からｒ２２まで）は、所与の位置（例えば、図４Ａで図示されるロボットフレーム４４８）での可動アーム４０５の配向を、ワールド原点フレーム４４７等の基準配向と関連付ける、正規直交回転を表し、最右の縦列の最初の３つの要素（例えば、サブマトリクスｘ、ｙ、ｚ）は、可動アーム４０５の位置と基準位置との間の３次元オフセットを表す。回転サブマトリクス（例えば、要素ｒ００からｒ２２まで）の各要素の値は、それぞれ、ｚ軸、ｙ軸およびｚ軸の周りでのα、βおよびγの回転等によるオイラー角α、β、およびγから導き出される。換言すれば、回転サブマトリクスの３つの要素（例えば、角度α、β、およびγ）だけが独立しており、回転サブマトリクスの要素ｒ００からｒ２２は、角度α、β、およびγの種々のサインおよびコサインから確立され、これは、当業者に知られている。オイラー角α、β、およびγから回転サブマトリクスを生成することに関するさらなる詳細は、Ｒｉｃｈａｒｄ  Ｐａｕｌ，ＭＩＴ  Ｐｒｅｓｓ，１９８１による「Ｒｏｂｏｔ  Ｍａｎｉｐｕｌａｔｏｒｓ：Ｍａｔｈｅｍａｔｉｃｓ，Ｐｒｏｇｒａｍｍｉｎｇ  ａｎｄ  Ｃｏｎｔｒｏｌ」からの第１章「Ｈｏｍｏｇｅｎｅｏｕｓ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎｓ」で見出すことができ、参照によりその全体が本明細書に組み込まれる。コントローラ４３０は、好ましくは、可動アーム４０５（例えば、図４Ａで図示されるロボットフレーム４４８）の現在位置を、メモリ４３５等のコントローラメモリまたは別のメモリに記憶する。したがって、プロセッサ４２５は、ロボット位置変換マトリクスＲによって定義されるように、可動アーム４０５の現在位置を決定するために、ルックアップを行い得る（例えば、コントローラ４３０またはメモリ４３５に質問または問い合わせ得る）。
【００４８】
ロボットシステム４００はさらに、モニタ４５０、キーボード４５５、およびマウス４６０等の、任意の数の入力または出力デバイスを含み得る。身体表面４２０の拡大画像４５２は、撮像ディスプレイまたはモニタ４５０上に示される。加えて、システム４００は、毛嚢の採取および／または植付において、または、毛髪治療計画において有用な他のツール、デバイス、および構成要素を含み得る。システムの種々の部品は、オペレータが、必要に応じて、状態を監視し、命令を提供することを可能にする。例えば、システム４００はさらに、画像データを受け取るように適合されるインターフェース（図示せず）を備え得る。プロセッサ４２５は、インターフェースを介してカメラシステム４１５と相互作用し得る。インターフェースは、ハードウェアポート、ケーブル、リード、および他のデータ伝送手段を含み得、またはコンピュータプログラムを備え得る。
【００４９】
図４Ａで図示されるカメラシステム４１５のいくつかの限定的でない例としては、任意の市販のカメラ等の、１つ以上のカメラが挙げられる。例示的な画像取得デバイスまたは撮像デバイスは、例えば、可動アーム４０５によって、または任意の他の機構もしくは手段によって保持され得る。当然、種々の画像取得デバイスまたは複数のデバイスの組み合わせが、本明細書で説明される実施例のいずれかとともに使用することができる。例えば、３Ｄ視野は、複数のカメラを使用すること、またはレーザー距離計等の外部センサと対にした単一のカメラを使用することが挙げられるが、それらに限定されない、複数の方法で達成することができる。使用するカメラは、異なるサイズ、色／グレースケール、可視光／ＩＲ、またはＵＶ等の種々の組み合わせであり得る。カメラシステム４１５は、好ましくは、静止画像を撮影するデバイスを備えるが、カメラシステム４１５はまた、リアルタイムの撮像が可能なデバイス（例えば、連続的にリアルタイムまたはビデオで情報をストリーミングすることが可能なウェブカム）も有し得、および／またはカメラシステム４１５はまた、ビデオ録画能力（例えば、カムコーダー）も有し得る。ステレオまたは多重視野デバイスは、本開示において有用であるが、そのような幾何学形状または構成を利用する必要はなく、本開示は、そのように限定されない。同様に、カメラシステム４１５は、デジタルまたはアナログであり得る。例えば、カメラシステム４１５は、初期画像を取得するアナログＴＶカメラとすることができ、該画像は次いで、本開示の方法でのさらなる使用のために、（例えば、民生フレームグラバのようなアナログ−デジタルデバイスを介して）デジタル画像に処理される。カメラシステム４１５は、撮像動作を制御するために、および画像データを処理するために、プロセッサ４２５に連結され得る。
【００５０】
プロセッサ４２５は、好ましくは、例えばコンピュータに組み込まれ得る、データ処理デバイスとして動作する。プロセッサ４２５は、中央処理ユニットまたは並列プロセッサ、入力／出力インターフェース、プログラムを伴うメモリを含み得、ここで、全ての構成要素は、バスによって接続され得る。さらに、コンピュータは、入力デバイス、ディスプレイを含み得、また、１つ以上の二次記憶デバイスも含み得る。バスは、コンピュータに内蔵され得、また、キーボードまたは入力デバイスを受け取るためのアダプタを含み得、または外部接続部を含み得る。
【００５１】
プロセッサ４２５は、図８、図９、図１０Ａ、図１１、図１４、図１５、図１６、図１９、および図２０の方法８００、９００、１０００、１１００、１４００、１５００、１６００、１９００、および２０００の１つ以上等の、所定の操作および方法を含むように構成され得る、プログラムを実行し得る。プロセッサ４２５は、所定の操作を行うためのプログラムを含む少なくとも１つの一連のコード命令がその中に記憶され得る、メモリ４３５にアクセスし得る。メモリ４３５およびプログラムは、コンピュータ内に位置し得るか、またはその外部に位置し得る。一例であり、限定するものではないが、好適な画像プロセッサ４２６は、１つ以上のプロセッサまたは他のタイプのデバイスを含む、デジタル処理システムであり得る。例えば、プロセッサおよび／または画像プロセッサは、コントローラまたは任意のタイプのパーソナルコンピュータ（ＰＣ）であり得る。あるいは、プロセッサは、特定用途向け集積回路（ＡＳＩＣ）またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）を備え得る。当業者には、本開示とともに使用するプロセッサまたは画像プロセッサが、種々の画像処理手法、例えばセグメント化、エッジ検出、物体認識、および選択を行うようにプログラムおよび構成されることが理解されるであろう。これらの手法は、一般に知られており、したがって、ここでは別に説明されない。
【００５２】
本明細書で説明される方法は、種々の汎用または特定用途のコンピュータシステム上に実現され得る。特定の実施形態において、本出願の方法は、特異的に構成されたパーソナルコンピュータまたはワークステーション上に実現され得る。他の実施形態において、本方法は、ネットワークに接続されるものを含む、汎用ワークステーション上に実現され得る。代替的に、または加えて、本開示の方法は、少なくとも部分的に、ネットワークデバイスまたは汎用コンピューティングデバイスのためのカード上に実現され得る。プロセッサ４２５および／または画像プロセッサ４２６はまた、当技術分野で一般に知られているメモリ、記憶デバイス、および他の構成要素も含み得、したがって、それらは、ここで詳細に説明される必要はない。画像プロセッサ４２６は、毛髪を採取、植付、または移植するためのシステムが挙げられるが、それらに限定されない、種々の人手による、部分的に自動化された、および完全に自動化された（ロボットを含む）、毛髪移植システムおよびデバイスと併せて使用することができる。
【００５３】
撮像表示デバイス４５０は、随意にタッチ画面であり得る高解像度コンピュータ用モニタを備え得る。撮像ディスプレイは、ビデオまたは静止画像等の画像を読み出すことを可能にし、ならびに毛嚢ユニットおよびその一部を可視化することを可能にし得る。あるいは、撮像表示デバイス４５０は、タブレット、ポケットＰＣ、および他のプラズマ画面を含む、他のタッチセンサ式デバイスとすることができる。タッチ画面は、画像表示デバイスを通して直接的に、毛髪移植手順のパラメータを修正するために使用され得る。
【００５４】
本開示と一致する方法、装置、およびシステムは、コンピュータに送るために提供され得るインターフェースのクリック可能なアイコン、メニューの中の選択ボタン、ダイアログボックス、またはロールダウンウィンドウを含む、変更インターフェースまたはユーザ変更インターフェースを提供することによって実行され得る。別の実施形態によれば、撮像表示デバイス４５０は、選択を、例えばディスプレイ自体の上で直接入力するための、選択ウィンドウおよびスタイラスまたはキーボードを表示し得る。一実施形態によれば、コマンドは、プログラム可能なスタイラス、キーボード、マウス、音声処理システム、レーザポインタ、タッチ画面、リモート制御デバイス、または他の入力機構を通して、変更インターフェースを介して入力され得る。あるいは、変更インターフェースは、ハードウェアの専用部分を含み得る。いくつかの実施形態において、変更インターフェースを通して行われる選択または調整は、プロセッサ、例えばコンピュータプロセッサ上で実行され得るコード命令によって実行され得る。
【００５５】
図４Ｂは、第１および第２のカメラシステムの座標系とロボットの座標系との間の関係を図示する、ブロック図である。図４Ｂにおいて、カメラシステム４１５は、２対のステレオカメラ４７０および４８０を備え、これらは、異なる（例えば、より広いおよびより狭い）視野を取り込むために使用され得る。例えば、ステレオカメラ対４７０は、比較的高倍率を有する第１のカメラ４７１および第２のカメラ４７２を含み得、ステレオカメラ対４８０は、比較的低倍率を有する第１のカメラ４８１および第２のカメラ４８２を含み得る。第１のカメラ４７１の光軸４７３および第２のカメラ４７２の光軸４７４、ならびに第１のカメラ４８１の光軸４８３および第２のカメラ４８２の光軸４８４は、好ましくは、並列に取り付けられるまたは維持されるのではなく、僅かに接するか、互いに向かって（例えば、約１０度）傾斜する。第１のカメラ４７１および第２のカメラ４７２は、好ましくは、ステレオカメラ対４７０の視野内の物体の３次元位置を決定するのを容易にするために、共通の軸（例えば、水平軸のｘ軸または垂直軸のｙ軸）を有するように整列される。同様に、第１のカメラ４８１および第２のカメラ４８２は、好ましくは、共通のｘ軸またはｙ軸を有するように整列される。
【００５６】
ステレオカメラ対の視野内の物体の３次元位置は、例えば、それぞれのカメラフレームの中の物体（例えば、左側の画像および右側の座標）のｘ位置のオフセットとｙ位置のオフセットとの間の差を比較することによって決定される。例えば、ステレオカメラ対（例えば、ステレオカメラ対４７０または４８０の１つ）が点４９０の画像を撮影した後に、カメラ対の座標系での点４９０の３次元場所は、カメラ対の第１のカメラおよび第２のカメラ（例えば、「左手」カメラおよび「右手」カメラ）によって取り込まれる画像の中の点４９０の２次元場所から計算される。換言すれば、それぞれのカメラ画像が水平に（または垂直に）整列されるので、同じ物体は、２つの画像の同じ水平走査線（または垂直走査線）で現れるはずである。さらに、カメラレンズに対する、撮像されている物体の深度は、既知の範囲内（例えば、それぞれのカメラの焦点距離によって確立される）にあるので、第１の画像の中の選択された物体（例えば、毛嚢）は、どちらの「対」が可能な範囲の計算された深度を有するかを決定するために、（例えば、同じ走査線の）第２の画像の中の可能な候補物体と対にしたときの物体の有効深度を計算することによって、第２の画像の中でそれ自体に一致させることができる（それによって、画像を互いに整列させる）。ステレオカメラ対によって取り込まれる物体の３次元の場所を決定することに関するさらなる詳細は、Ｏ’Ｒｅｉｌｌｙ，２００８によって出版された、Ｇｒａｒｙ  ＢｒａｄｓｋｉおよびＡｄｒｉａｎ  Ｋａｅｈｌｅｒによる、第１２章「Ｌｅａｒｎｉｎｇ  ＯｐｅｎＣＶ：Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ｗｉｔｈ  ｔｈｅ  ＯｐｅｎＣＶ  Ｌｉｂｒａｒｙ」で見出すことができ、参照によりその全体が本明細書に組み込まれる。
【００５７】
ステレオカメラ対４７０または４８０は、好ましくは、それらの関係が互いに固定されるように、例えば、ロボットツールフランジ４４６（概念的に、物理マウント４７５、４７６、４８５、および４８６によって図示される）に、強固に載置または取り付けられる。他の実施形態において、カメラは、他の場所、例えばロボットアーム上のどこか別の場所に取り付けられ得るか、またはシステムの外部の３Ｄ空間に固定され得る。カメラ対４７０の視野内の物体の座標は、（例えば、図４Ａの１つ以上のプロセッサ４２５もしくは４２６、または図５および図６のプロセッサ５５０、６１０、６２０、および６５０を介して）カメラ対４７０と関連付けられるカメラフレームまたは座標系４７７で決定され、報告される。同様に、カメラ対４８０の視野内の物体の座標は、カメラ対４８０と関連付けられるカメラフレームまたは座標系４８７で決定され、報告される。一実施形態によれば、座標系４７７のｚ軸は、光軸４７３と４７４との間の角度を二等分し、座標系４７７のｙ軸は、カメラ４７１および４７２のレンズの中心の間に伸びる。同様に、座標系４８７のｚ軸は、光軸４８３と４８４との間の角度を二等分し、座標系４８７のｙ軸は、カメラ４８１および４８２のレンズの中心の間に伸びる。
【００５８】
一実施形態によれば、位置４９０の座標は、式２で示される形態の配列ｖで、カメラ対によって報告される。カメラ対またはカメラ対と関連付けられるプロセッサは、好ましくは、点４９０の座標をメモリ４３５等のメモリに記憶する。したがって、プロセッサ４２５は、点４９０（または別の物体）の座標を決定するために、ルックアップを行い得る（例えば、カメラ対４７０もしくは４８０、またはメモリ４３５に質問または問い合わせ得る）。点４９０は、図７Ａ〜７Ｃに関して図示される較正特徴のうちの１つ等の、個々の較正特徴を表し得る。
【数１４】
0005688825.tif 000015
式２
【００５９】
患者の皮膚表面から伸びる毛嚢等の別の物体に対して、ツールフランジ４４６（例えば、針）に固定される物体を正確に位置付けおよび配向するのを補助するために、カメラ対４７０のカメラの座標系４７７とロボットの座標系４４８との間の変換、およびカメラ対４８０のカメラの座標系４８７とロボットの座標系４４８との間の変換を較正または決定することが望ましくなり得、それは、図８に関してさらに詳細に説明される。ロボットの座標系とカメラシステムの座標系との間の変換を決定することは、移動ロボット、医療用ロボット、および産業用ロボットを含む、多種多様な応用例において有用であり得る。加えて、カメラの座標系４７７と４８７との間のマッピングを較正または決定することが望ましくなり得、それは、図１０Ａに関してさらに詳細に説明される。複数のカメラシステムが共通の座標を報告することを可能にするマッピングを決定することは、移動ロボットおよび監視等の、複数のカメラシステムが使用される任意の環境で有用であり得る。さらに、ツールフランジ４４６とツール先端部との間のオフセットを較正または決定することが望ましくなり得、それは、図１４〜図１６および図１９〜図２０に関してさらに詳細に説明される。３次元でツール先端部の場所を自動的に計算することは、ツール先端部の正確な場所および回転が所望される任意の環境で有用であり得る。
【００６０】
ロボットの座標系４４８とカメラの座標系４７７および４８７との間の変換を決定した後には、カメラの座標系４７７または４８７で決定したときの物体の座標に基づいて、カメラ対４７０、４８０、または双方の視野内の物体に対して、可動アーム４０５を正確に位置付けることが可能である。換言すれば、カメラ対４７０または４８０を使用して毛嚢の画像を取り込んだ後に、プロセッサ４２５は、可動アーム４０５に対する毛嚢の位置を決定することができ、また、コントローラ４３０に、アーム４０５を所望の位置および配向に移動させる（例えば、針先端部を回転させて、針を毛嚢と整列させて、針がシャフトを下って毛嚢を採取する）命令を生成することができる。
【００６１】
カメラの座標系４７７と４８７との間のマッピングを決定した後には、カメラ対４８０の視野内の第２の物体の位置に対する、カメラ対４７０の視野内の第１の物体の位置を決定することが可能である。例えば、ステレオカメラ対４８０（比較的低倍率を有する）が、基準点または作業領域を取り囲む他の目標の画像を取り込み、ステレオカメラ対４７０（比較的高倍率を有する）が、毛嚢自体の画像を取り込む場合は、（例えば、患者の頭皮全体にわたる経路を計画するのを補助するために）基準点に対する毛嚢の位置を決定することが可能である。基準点は、患者の皮膚上に配置される皮膚テンショナデバイス上に位置し得るが（例えば、図２６の基準点２６２２を参照されたい）、基準点は、皮膚上に配置される別の毛嚢、瘢痕、人工的な模様（例えば、ドット）、または別の自然または人工的な目印で構成され得る。
【００６２】
図５は、一実施形態による、機械視覚サブシステム５００のブロック図である。機械視覚サブシステム５００は、ロボットシステム４００（図４Ａおよび４Ｂ）等のロボット毛髪移植機械のような、より大きいシステムの一部であり得る。機械視覚サブシステム５００は、複数のカメラシステムを備える。そのような２つのカメラシステム５１０および５２０は、図５で図示される。各カメラシステム５１０および５２０は、好ましくは、ステレオ対のカメラであるが、そのようにする必要はない。カメラシステム５１０および５２０は、図１で図示されるロボットアーム１１０または図４Ａで示される毛髪移植用の可動アーム４０５等の、ロボットアーム上にあり得る。しかしながら、機械視覚サブシステム５００は、異なる応用例に使用される別のシステムの一部であり得る。機械視覚サブシステム５００は、図示されないさらなるカメラシステムを備え得る。
【００６３】
カメラシステム５１０および５２０は、互いに固定された場所を有し、よって、一方のカメラシステムをもう一方のカメラシステムと関連付ける変換は固定される。図１および図４Ａで図示されるロボットアーム１１０および４０５がこれに当てはまる。概して、毛髪移植に利用されるロボットアームがこれに当てはまる。ロボットアームが移動するにつれて、カメラシステム５１０および５２０は、基本的にそれらの固定された位置関係を維持しながら、ともに移動する。本明細書で使用されるとき、「固定された」という用語は、カメラシステム５１０および５２０の位置関係を修正するために、カメラシステムのランダムな振動および僅かなずれ等の、何らかの僅かな相対運動を許容する。この僅かな相対運動が、有用なカメラシステム間の変換を決定し、利用することができるように十分小さければ、カメラシステムは、十分に「固定される」。概して、カメラの画素サイズ等のある小さい測定値未満の変動は、変換が決定されるときに平均化することができるより大きいランダムな変動と同様に、重要ではない。
【００６４】
カメラシステム５１０および５２０は、それぞれの視野５３０および５４０を有する。図５で図示されるように、一方のカメラは、もう一方のカメラよりも大きい視野を有し得、カメラシステム５１０の視野５３０は、カメラシステム５２０の視野５４０よりも広い。視野５３０および５４０は、完全に、または部分的に重なり、よって、双方のカメラシステムによって「視認される」場所がある。カメラシステム５１０および５２０は、異なる解像度を有し得る。例えば、カメラシステム５１０は、カメラシステム５２０よりも低い解像度を有し得る。毛髪移植の応用例では、より低い解像度およびより広い視野を伴うカメラシステム５１０を、ロボットツールを頭皮の大まかな領域に誘導するために使用することができ、その一方で、より高い解像度およびより狭い視野を伴うカメラシステム５２０を、ロボットツールを、毛髪摘出のための特定の毛嚢および植付のための正確な場所に誘導するために使用することができる。
【００６５】
機械視覚サブシステム５００はまた、カメラシステム５１０および５２０から画像データを受け取り、そのデータを処理する、プロセッサ５５０も備える。プロセッサ５００によって行われる処理は、一方のカメラシステム座標系での座標をもう一方のカメラシステムの座標に変換し、その変換がどのようなものであるべきか、または任意の他の画像処理を決定することを含む。プロセッサ５５０は、任意のタイプのプロセッサ、例えば汎用マイクロプロセッサまたはデジタル信号プロセッサ（ＤＳＰ）等であり得る。機械視覚サブシステム５００はまた、プロセッサ５５０によって実行されるプログラム、および／またはプロセッサ５５０によって処理もしくは生成されるデータを記憶するための、１つ以上のメモリ（図示せず）も備え得る。
【００６６】
視野５３０および５４０が少なくとも部分的に重なるので、重なる部分の物体および場所は、双方のカメラシステムによって撮像することができる。カメラシステム５１０および５２０が、共通の特徴を含むそれぞれの画像を生成し（異なる視点、尺度、解像度等によるものであっても、同じものを視認する）、カメラシステム５１０および５２０が、それぞれの画像が取り込まれた時間の間で、特徴に対して大幅に移動しなかったときに、それぞれの画像は、「対応する」と言われる。この状況における大幅な移動とは、画素サイズ等の小さい測定値を超えるもの、および位置の差が計算で使用される複数の画像データによって平均化されないほど十分に大きいものの双方である。第１のカメラシステム５１０および第２のカメラシステム５２０からの対応する画像は、同時またはほぼ同時に撮影することができるが、そのようにする必要はない。ここで使用される「対応する特徴」は、対応する画像の中の同じ特徴を指す。異なるカメラシステムからの対応する特徴は、概して、各カメラシステム自体の固有の位置、指示方向、尺度、ズーム、および／または解像度のため、各カメラシステムで異なるローカル座標を有することになる。
【００６７】
図６は、別の実施形態による、機械視覚サブシステム６００のブロック図である。機械視覚サブシステム６００は、ロボットシステム４００（図４Ａおよび４Ｂ）等のロボット毛髪移植機械のような、より大きいシステムの一部であり得る。図６の機械視覚サブシステム６００は、機械視覚サブシステム６００がさらに、カメラシステム５１０と関連付けられるプロセッサ６１０およびカメラシステム５２０と関連付けられるプロセッサ６２０を含むことを除いて、図５の機械視覚サブシステム５００に類似する。プロセッサ６１０および６２０は、それぞれ、カメラシステム５１０および５２０に統合され得るか、または、それらは別々であり得る。プロセッサ６１０および６２０は、単一のプロセッサ５５０が図５の機械視覚サブシステム５００で行う処理のいくつかを行い得る。プロセッサ６５０は、機械視覚サブシステム６００の中央処理装置であり、カメラ固有のプロセッサ６１０および６２０によって行われない他の処理を行い得る。例えば、プロセッサ６１０および６２０のそれぞれは、関連するカメラシステムのローカル座標系での特徴のローカル座標を生成し得る一方で、中央処理装置６５０は、それらの２つのローカル座標系間で、またはローカルカメラシステムの座標系とロボットの座標系等の別の座標系との間で変換する。
【００６８】
図７Ａ〜７Ｃは、カメラの座標系をロボットの座標系に較正し、一方のカメラの座標系をもう一方のカメラの座標系に較正するときに使用され得る、種々の例示的な較正特徴を図示する図である。図７Ａは、４８個の内部隅部７１０を有する７×９のパターンを含む、チェッカーボード較正目標７００を図示する。内部隅部７１０は、個々の較正特徴（例えば、内部隅部７１０のうちの１つは、図４Ｂで図示される点４９０を表し得る）を定義し、好ましくは、互いに所定の距離だけ離間される。一実施形態によれば、チェッカーボード較正目標７００は、クロムオンガラスの目標を備える。他の実施形態によるチェッカーボード較正目標は、さらなるまたはより少ない内部隅部を含み得る。図７Ｂおよび７Ｃは、ドット重心較正目標７２０および７４０を図示する。ドット重心較正目標７２０は、３０個のドット重心７３０を含み、それらは、個々の較正特徴を定義し、好ましくは、互いに所定の距離だけ離間される。同様に、ドット重心較正目標７４０は、６つのドット重心７５０を含み、それらは、個々の較正特徴を定義し、好ましくは、互いに所定の距離だけ離間される。他の実施形態によるドット重心較正目標は、さらなるまたはより少ないドット重心を含み得る。
【００６９】
図８は、一実施形態による、ロボットの座標系とカメラの座標系との間の変換を決定するための方法８００のフロー図である。患者の皮膚表面から伸びる毛嚢等の別の物体に対して、ツールフランジ４４６に固定された採取または植付ツール４１０（図４Ａ）等の物体を正確に位置付けおよび配向するのを補助するために、方法８００を使用して、ロボットの座標系４４８（図４Ｂ）とカメラの座標系４７７および４８７のうちの１つ以上との間の位置および回転オフセットを較正し得、それによって、該オフセットを補償するための情報を生成し得る。初期事項として、較正目標７００、７２０、および７４０（図７Ａ〜７Ｃ）等のうちの１つの目標が、較正特徴が合焦範囲内にあるように、カメラシステム４１５（図４Ｂ）等のカメラシステムの視野内に位置付けられる。これは、目標を視野内に配置することによって、または目標が視野内に入るまでカメラシステムを移動させることによって達成され得る。カメラシステムは、単一のカメラ、１対のステレオカメラ、または２対以上のステレオカメラ（例えば、図４Ｂで図示されるカメラ対４７０および４８０の１つ以上の）を備え得る。
【００７０】
ステップ８１０で、ロボットの可動アーム（例えば、図１の可動アーム１１０または図４Ａの可動アーム４０５）は、目標が、個々の画像取り込み場所で、目標がカメラシステムの視野内に入る（および、好ましくは、合焦する）ように、目標の周りで、複数の画像取り込み場所に位置付けられる。可動アームは、好ましくは、一方の画像取り込み場所からもう一方の画像取り込み場所に、目標の周りを回転させ、該目標に対して平行移動させる。例えば、個々の画像取り込み場所は、目標とほぼ一致する中心点を有する球体の表面上にほぼ存在し得る。換言すれば、可動アームは、球体の中心に位置付けられる目標を見ながら、球体の表面に沿って回転する。目標に対して可動アームを平行移動させることに加えて、目標の周囲でロボットアームを回転させることは、システムが、カメラシステムの座標系での小さい動きをロボットの座標系での小さい動きに変換する、変換を決定することを可能にする。個々の画像取り込み場所は、球体または半球体のランダムな点上に存在し得るが、画像取り込み場所は、半球のあるセクタに限られ得る。例えば、カメラシステムの軸が、目標（例えば、チェッカーボード較正目標７００）に対して直角の位置から始まると仮定すると、可動アームは、各方向において、約４５度まで回転し得る。特定の実施形態において、可動アームは、一方の画像取り込み場所から（例えば、目標により近い、または目標からより離れた）もう一方の画像取り込み場所まで、目標に対して半径方向に移動する。ステップ８１０で、可動アームは、任意の数の画像取り込み場所に位置付けられ得るが、方法８００は、好ましくは、３〜６つの画像取り込み場所を使用して実現される。一実施形態によれば、画像取り込み場所は、予め定められ、メモリ（例えば、図４Ａのメモリ４３５）に記憶される。
【００７１】
個々の画像取り込み場所で、方法８００は、カメラシステムを使用して目標の１組の画像（例えば、１つ以上の画像）を取り込み、ロボットの座標系（例えば、図４Ａおよび４Ｂの座標系４４８）で、可動アームの位置を記録する（ステップ８２０）。例えば、個々の画像取り込み場所で、プロセッサ４２５（図４Ａ）等のプロセッサは、カメラシステムに、可動アーム４０５の現在位置を決定するために、目標の１つ以上の画像を取り込み、ルックアップを行う（例えば、コントローラ４３０またはメモリ４３５に質問または問い合わせる）ように指示し得る。特定の実施形態では、ロボットアームの複数の位置、目標の複数の場所、またはロボットアームの複数の位置および目標の複数の場所の双方での複数の画像が記録される。例えば、較正は、ロボットの可動アームを固定したままにして較正プレートを回転、移動、および／もしくは傾斜させるか、較正プレートを固定したままにしてロボットの可動アームを再位置付け／配向するか、または較正プレートを回転、移動、および／もしくは傾斜させてロボットの可動アームを再位置付け／配向することによって行われ得る。個々の画像取り込み場所での可動アームの位置（および／または較正プレート／目標の位置）は、好適なデータ構造でその画像取り込み場所で取り込まれる画像（複数可）と関連付けられ、メモリ４３５等のメモリに記憶され得、よって、後で、個々の画像取り込み場所での画像（複数可）および可動アームの位置（および／または較正プレートの位置）にアクセスして、処理することができる。
【００７２】
ステップ８３０で、目標の１組の較正特徴の座標が、カメラシステムの座標系（例えば、図４Ｂの座標系４７７または４８７）で決定される。方法８００によって利用される１組の較正特徴は、図７Ａおよび７Ｂを参照して説明される内部チェッカーボード隅部７１０またはドット重心７３０および７５０等の、較正特徴であり得る。一実施形態によれば、ステップ８３０は、１組の画像の中の目標の１組の較正特徴を識別し、該１組の中の較正特徴の３次元場所を計算することを含む。較正特徴の３次元場所は、図４Ｂを参照して説明されるようなステレオカメラ対の第１および第２のカメラによって取り込まれる画像の中の較正特徴の２次元場所から計算され得る。別の実施形態によれば、１組の較正特徴の座標は、ステップ８３０で、ルックアップ機能を実行することによって決定される。例えば、画像を取り込んだ後に、カメラシステムまたはカメラシステムと関連付けられるプロセッサは、較正特徴の座標を自動的に計算し、メモリ４３５等のメモリに記憶し得る。したがって、プロセッサ４２５は、較正特徴の座標を決定するために、ルックアップを行い得る（例えば、カメラシステム４１５またはメモリ４３５に質問または問い合わせ得る）。任意の数の較正特徴が目標に含まれ得るが、提供される実施例において、方法８００は、好ましくは、２〜４８個の較正特徴を使用して実現される。
【００７３】
ステップ８３０で、較正特徴の座標が決定された後に、ステップ８４０で、個々の画像取り込み場所での可動アームの位置（および／または目標の位置）および１組の較正特徴の座標に基づいて、ロボットの座標系（例えば、図４Ａおよび４Ｂの座標系４４８）とカメラの座標系（例えば、図４Ｂの座標系４７７または４８７）との間の変換または関係が決定される。例えば、変換は、各画像取り込み場所での可動アームの位置および１組の較正特徴の座標を、他の画像取り込み場所のそれぞれでの可動アームの位置および１組の較正特徴の座標と比較することによって決定され得る。
【００７４】
一実施形態によれば、目標の位置が固定され、ステップ８４０は、ロボットの座標系とカメラシステムの座標系との間の変換のための値を反復的に選択し、（Ａ）変換のための選択された値、可動アームの位置、および一方の画像取り込み場所での較正特徴の座標の積と、（Ｂ）変換のための選択された値、可動アームの位置、およびもう一方の画像取り込み場所での対応する較正特徴の座標の積とを比較して、（Ａ）と（Ｂ）との間の差を最小化する、変換のための値を決定することを含む。
【００７５】
ロボットの座標系とカメラの座標系との間の変換は、Ｔで表すことができる変換マトリクスの形態を取り得、これは、式３に従って、ロボットの座標系からカメラの座標系に座標を変換し、その逆もまた同じである。
【数１５】
0005688825.tif 000016
式３
【００７６】
Ｔを見出すための１つの手法は、量
【数１６】
0005688825.tif 000017
を最小化することであり、式中、ｉおよびｊは、個々の画像取り込み場所の異なるインスタンスに対応し、ｉは、２からｍの範囲の値を有し、ｊは、１から（ｉ−１）の範囲の値を有し、ｋは、１組の較正特徴の中の個々の較正特徴に対応し、１からｎの範囲の値を有し、Ｒｉは、個々の画像取り込み場所ｉでの可動アームの位置であり、ｖｉｋは、カメラシステムの座標系で決定される、ｉ番目の画像取り込み場所でのｋ番目の較正特徴の座標であり、Ｒｊは、個々画像取り込み場所ｊでの可動アームの位置であり、ｖｊｋは、カメラシステムの座標系で決定される、ｊ番目の画像取り込み場所でのｋ番目の較正特徴の座標である。上で論じたように、方法８００は、任意の数ｍ個の画像取り込み場所、および任意の数ｎ個の較正特徴を使用して実現され得る。一実施形態によれば、方法８００は、３〜６つの画像取り込み場所および２〜４８個の較正特徴を使用して実現される。
【００７７】
目標が固定される（例えば、目標は、一方の画像取り込み場所からもう一方の画像取り込み場所に大幅に移動しない）ので、較正特徴の場所が、一方の画像取り込み場所から異なる画像取り込み場所で比較され、アームを移動させたときに、この量
【数１７】
0005688825.tif 000018
はゼロになるか、限りなくゼロに近くなるはずである。換言すれば、Ｔは、量
【数１８】
0005688825.tif 000019
を最小化するために選択される。
【００７８】
式３はまた、
【数１９】
0005688825.tif 000020
としても表され得、式中、ｊ≠ｉである。ある実施形態において、ｊはｉに等しくなり得、その場合、事実上同じ画像がそれ自体と比較され、量
【数２０】
0005688825.tif 000021
は、ゼロになるはずである。画像をそれ自体と比較することは、下で説明される最適化アルゴリズムを駆動することを補助しないので、計算リソースを節約することを補助するために、ｊ＝ｉである計算をスキップすることが望ましくなり得る。さらに、この関数
【数２１】
0005688825.tif 000022
は、任意の距離関数または測定を含み得る。
【００７９】
一実施形態によれば、可動アームの位置は、上の式１で表される形態のロボット位置変換マトリクスＲを含み、ここで、左上の３×３の回転サブマトリクス（例えば、サブマトリクスｒ００からｒ２２まで）は、個々の画像取り込み場所での可動アームの配向を、ワールド原点フレーム４４７（図４Ａ）等の基準配向と関連付ける、正規直交回転を表し、サブマトリクスｘ、ｙ、ｚは、可動アームの位置と基準位置との間の３次元オフセットを表す。個々の較正特徴の座標は、上の式２で示される形態の配列ｖを含み得る。
【００８０】
変換マトリクスＴは、例えば、式４で示される形態のマトリクス等の、４×４マトリクスを含み得、ここで、左上の３×３の回転サブマトリクス（例えば、サブマトリクスｒ００からｒ２２まで）は、ロボットの座標系とカメラシステムの座標系との間の回転関係を表し、上で式１を参照して上で説明したように、３つの回転オフセットα、β、およびγから導き出され、サブマトリクスｘ、ｙ、ｚは、ロボットの座標系とカメラシステムの座標系との間の平行移動オフセットｘ、ｙ、およびｚを表す。換言すれば、変換マトリクスＴは、ロボットの座標系とカメラシステムの座標系との間の回転関係および平行移動関係（例えば、カメラシステムの視野の動きがロボットの座標系の動きにどのように関連するか）を指定する。
【数２２】
0005688825.tif 000023
式４
【００８１】
式４で示される変換マトリクスＴは、６つの独立した値を含み、そのうちの３つは、平行移動オフセットｘ、ｙ、およびｚであり、他の３つは、回転オフセットα、β、およびγである。変換マトリクスＴの回転オフセットα、β、およびγ、ならびに平行移動オフセットｘ、ｙ、およびｚの値は、好ましくは、最急降下最適化アルゴリズム、シミュレーテッドアニーリングアルゴリズム、または最適適合アルゴリズム等の、好適な最小化手順または最適化アルゴリズムを使用して決定される。最適化アルゴリズムは、１組の利用可能な選択肢から６つの独立した値のそれぞれについて好適な値を決定するのを補助する。方法８００のステップ８１０〜８３０は、最適化アルゴリズムを駆動して変換マトリクスＴを計算するために、データを生成する。ステップ８１０で、目標に対して可動アームを平行移動させることに加えて、目標の周囲で可動アームを回転させることは、式３を解くこと、およびカメラシステムの座標系とロボットの座標系との間の関係を定義することを可能にする、豊富なデータを提供するのを補助する。
【００８２】
方法８００は、複数のカメラシステムの座標系とロボットの座標系と間の変換を決定するために使用され得る。例えば、方法８００は、ロボットの座標系４４８（図４Ｂ）とカメラ対４７０のカメラの座標系４７７との間の回転関係および平行移動関係を指定する、第１の変換Ｔ１、およびロボットの座標系４４８とカメラ対４８０のカメラの座標系４８７との間の回転関係および平行移動関係を指定する、第２の変換Ｔ２を決定し得る。変換マトリクスＴ１は、ロボットの座標系４４８からカメラの座標系４７７に伸びる矢印によって、図１０Ｂで概念的に図示される。同様に、変換マトリクスＴ２は、ロボットの座標系４４８からカメラの座標系４８７に伸びる矢印によって、図１０Ｂで概念的に図示される。ステップ８１０〜８４０のうちの１つ以上は、第１の変換Ｔ１および第２の変換Ｔ２を決定するために繰り返され得る。例えば、ステップ８１０、８２０、および８３０は、データを生成して最適化アルゴリズムを駆動するために同時に行われ得、ステップ８４０は、変換マトリクスＴ１およびＴ２を計算するために２回繰り返され得る。さらに別の変形例として、ステップ８４０は、さらなるデータを採集して、反復アルゴリズムを使用することによって変換をさらに精緻化するために、ステップ８１０および８２０にループバックすることができ、そのうちの１つの反復は、それぞれステップ８４０の通過中に完了され、よって、各反復は、連続的に解をより近似させる。このようにして使用することができる反復アルゴリズムの例としては、再帰的最小二乗法（ＲＬＳ）、最小平均二乗法（ＬＭＳ）、および勾配降下が挙げられる。
【００８３】
ステップ８４０で、いかなる形態であっても、変換が決定された後に、方法８００は随意に、後で使用するために、その変換をメモリ４３５等のメモリに記憶し得る。代替として、または加えて、方法８００は、変換を所望の場所に伝送し得、またはそれをディスプレイ４５０等の好適な表示デバイス上に表示し得る。さらに、システムが複数のカメラシステムを含む場合、方法８００はさらに、カメラの座標系間のマッピングを決定し得、それは、図１０Ａに関してさらに詳細に説明される。一実施形態によれば、方法８００は、ツールまたはツール先端部を較正点に接触させることとは無関係に（例えば、ロボットアームをホームポジションおよび配向から、ツールまたはツール先端部が較正点と接触する位置に移動させることを伴わずに）行われる。
【００８４】
ステップ８１０〜８４０のうちの１つ以上は、ユーザの介入を伴わずに、自動的に行われ得る。さらに、方法８００およびそのステップは、種々の構造を使用して実現され得る。例えば、位置決めステップ８１０は、１つ以上の、プロセッサ４２５（図４Ａ）、コントローラ４３０、ならびに可動アーム４０５のそれぞれのアーム関節に位置するモーターおよびエンコーダを使用して行われ得る。ステップ８２０で１組の画像を取り込むことは、カメラシステム４１５等のカメラシステムを使用して行うことができ、ステップ８２０で可動アームの位置を記録することは、プロセッサ４２５、コントローラ４３０、およびメモリ４３５のうちの１つ以上を使用して行われ得る。座標決定ステップ８３０および変換決定ステップ８４０は、プロセッサ４２５または画像プロセッサ４２６等の１つ以上のプロセッサを使用して行われ得る。ステップ８１０〜８４０は、任意の順序で、または並行して（例えば、同時に）行われ得る。さらに、ステップ８１０〜８４０のうちの１つ以上は、省略され得、および／または他のステップと置き換えられ得る。例えば、ステップ８１０および８２０は、方法８００が、既存の取り込まれた１組の画像および記録された場所から「〜の座標を決定すること」（例えば、ステップ８３０）によって開始し得るように、独立して別々に行われ得る。いくつかの実施形態において、個々の画像取り込み場所での較正プレート／目標の位置（および／または可動アームの位置）および画像取り込み場所で取り込まれた画像（複数可）は、受け取られ、受け付けられ、またはアクセスされ得る（例えば、メモリ４３５等のメモリからアクセスされ得る）。可動アームの位置（および／または較正プレート／目標の位置）および画像取り込み場所で取り込まれた画像（複数可）が受け取られ、受け付けられ、またはアクセスされた後に、方法８００は、座標決定ステップ８３０および変換決定ステップ８４０を行い得る。
【００８５】
１つ以上の変換（例えば、変換マトリクスＴ１およびＴ２）が方法８００または別の好適な方法によって決定された後には、ロボットの座標系とカメラシステムの座標系との間で座標を容易に変換するために、変換を利用することができる。１つのそのような変換は、図９で図示され、図９は、毛髪摘出／植付手順中にエンドエフェクタツールアセンブリを位置付けるために、図８で図示される方法によって決定される変換を使用するための、方法９００のフロー図である。随意のステップ９１０で、方法９００は、座標系を有するカメラシステムを使用して、身体表面の１つ以上の画像を取り込み得る。特定の実施形態において、方法９００は、例えば、（カメラシステムによって既に取り込まれた）身体表面の画像の中の、カメラシステムの座標系での１つ以上の対象となる特徴の座標を識別することによって、ステップ９２０から開始し得る。そのような取り込まれた画像は、例えば、メモリから事前に、または同時に受け取られ得、または受け付けられ得、またはアクセスされ得る。対象となる特徴は、例えば、毛嚢または毛髪移植片のための植付部位であり得る。一実施形態によれば、ステップ９２０は、画像の中の対象となる特徴を識別し、対象となる特徴の３次元場所を計算すること含む。対象となる特徴の３次元場所は、図４Ｂを参照して説明されるようなステレオカメラ対の第１および第２のカメラによって取り込まれた画像の中の対象となる特徴の２次元場所から計算され得る。別の実施形態によれば、対象となる特徴の座標は、ステップ９２０で、対象となる特徴の座標を決定するために、ルックアップ機能を実行する（例えば、図４Ａのカメラシステム４１５またはメモリ４３５に質問または問い合わせる）ことによって決定される。
【００８６】
方法９００はまた、ステップ９３０で、方法８００によって（例えば、メモリ４３５のルックアップを行うことによって）決定される変換（例えば、変換マトリクスＴ１およびＴ２のうちの１つ）を取り出し、カメラシステムの座標系からロボットの座標系に、対象となる特徴の座標を変換し得る。カメラシステムの座標系からロボットの座標系に、対象となる特徴の座標を変換することは、式５によって決定され得、ここで、Ｔは、変換マトリクス（例えば、方法８００によって決定される）であり、ｖＣは、カメラシステムの座標系で決定される対象となる特徴の座標であり、ｖＲは、ロボットフランジ４４６に対するロボットの座標系での対象となる特徴の座標である。
【数２３】
0005688825.tif 000024
式５
【００８７】
ステップ９４０で、可動アームは、対象となる特徴に隣接して位置付けられる。例えば、ロボットの座標系での対象となる特徴の座標に基づいて、プロセッサ４２５は、コントローラ４３０に、アーム４０５を対象となる特徴に対して所望の位置および配向に移動させる命令を生成することができる。対象となる特徴が毛嚢である場合、プロセッサ４２５は、コントローラ４３０に、可動アームに載置された採取ツールを毛嚢ユニットに対して回転および位置付けさせ、よって、採取ツールがそのような毛嚢ユニットを採取することができる命令を生成することができる。方法９００のステップは、示されるものと異なる順序で、または順次ではなく同時に行われ得ることに留意されたい。
【００８８】
図１０Ａは、一実施形態による、２つのカメラシステム間の座標変換またはマッピングを決定するための方法１０００のフローチャートである。結果として生じる座標変換は、図１１を参照して下で説明するように、第１のカメラシステムの座標系での座標を、第２のカメラシステムの座標系に変換するために使用することができ、または、その逆が可能である。方法１０００は、その変換を決定するためのプロセスである。第１および第２のカメラシステムは、例えば、図５または図６で図示されるカメラシステム５１０および５２０であり得る。第１および第２のカメラシステムは、それらが対応する特徴の対応する画像を生成することができるように、少なくとも部分的に重なる視野を有する。第１および第２のカメラシステムは、それぞれステレオ対のカメラであり得、それらの視野のサイズが異なり得、および／または毛髪の採取または植付に使用されるもの等の、ロボットアームに載置され得る。
【００８９】
随意のステップ１０１０および１０２０で、方法１０００は、カメラシステムのそれぞれから、画像を取り込み得る。特定の実施形態において、画像は、例えば上の図８および図９で述べられるように、受け取られ、アクセスされ、または受け付けられ得る。ステップ１０１５および１０２５で、方法１０００は、画像の中の対応する特徴のローカル座標を決定する。それらの対応する特徴の異なる座標を使用して、方法１０００は、カメラシステムの座標系間のマッピングを決定し（ステップ１０３０）、そのマッピングをメモリに記憶する（ステップ１０４０）。ステップ１０１５、１０２５、および１０３０は、図５または図６で図示されるプロセッサ等の１つ以上のプロセッサによって行われる。方法１０００によって利用される特徴は、上の図７Ａ〜７Ｃ等を参照して、この文書の中の他の部分で説明されるように、チェッカーボード隅部またはドット重心等の較正特徴であり得る。
【００９０】
ここで、方法１０００の各ステップが、さらに詳細に説明される。随意のステップ１０１０で、方法１０００は、第１のカメラシステムを使用して、１つ以上の画像を取り込み得る。特定の実施形態では、方法１０００が、第１のカメラシステムによって取り込まれる画像から第１のカメラシステムの座標系で特徴の座標を決定し得る（ステップ１０１５）ように、１つ以上の画像が、上で説明されるように、受け取られ、アクセスされ、受け付けられ得る。随意のステップ１０２０で、方法１０００はまた、第２のカメラシステムを使用して、１つ以上の画像を取り込み得る。特定の実施形態では、方法１０００が、第２のカメラシステムによって取り込まれる画像から第２のカメラシステムの座標系で特徴の座標を決定し得る（ステップ１０２５）ように、１つ以上の画像が、受け取られ、アクセスされ、受け付けられ得る。ステップ１０１０、１０１５、１０２０、および１０２５は、示されるように、並行して行われ得る。実際に、ステップ１０１０および１０２０は、対応する画像をもたらすように、同時またはほぼ同時に行われ得る。あるいは、ステップ１０１０、１０１５、１０２０、および１０２５は、対応する特徴を有する対応する画像をもたらす、任意の実現可能な順序で順次行われ得る。それらのステップの目的は、第１および第２のカメラシステムから対応する画像の対に見出される対応する特徴の座標の組を生成することである。換言すれば、それらのステップは、第１のカメラシステムの座標系での第１の組の特徴の座標、および第２のカメラシステムの座標系での対応する第２の組の座標をもたらす。
【００９１】
画像、それらの画像の特徴、および各座標系でのそれらの特徴の座標を指す、数学的表記を利用することが可能であり、洞察に満ちる。記号ｖ１およびｖ２は、それぞれ、第１および第２のカメラシステムの座標系で座標を表すために使用することができる。ｖ１およびｖ２のそれぞれは、例えば、式２で指定されるような形態の座標のベクトルであり得、それは、ステレオ対のカメラであるカメラシステムによって生成されるような、３次元座標を表すための有用な形態である。より少ない次元を有する形態を含む、ｖ１およびｖ２の座標の他の形態も使用することができる。
【００９２】
画像および特徴を指定するためにさらなる指標を使用することができる。例えば、次の指標ｊを、画像を指定するために使用することができ、ここで、第１および第２のカメラシステムのそれぞれからの対応する画像の数は、ｍであり、第１のカメラシステムからのｊ番目の画像および第２のカメラシステムからのｊ番目画像は、ｊ＝１．．．ｍにおいて、互いに対応する。さらに、次の指標ｋを、画像の特徴を指定するために使用することができ、ここで、各画像においてその座標が決定される特徴の数はｎである。この表記によれば、第１のカメラシステムの座標系で決定される第１の組の特徴の座標は、｛ｖ１ｊｋ｝であり、第２のカメラシステムの座標系で決定される第２の組の特徴の座標は、｛ｖ２ｊｋ｝であり、ここで、ｊは、画像１．．．ｍの中のｊ番目の画像の指標であり、ｋは、ｊ番目の画像の中の特徴１．．．ｎの中のｋ番目の特徴の指標である。
【００９３】
方法１０００は、ｍ≧１、およびｎ≧１、およびｍｎ≧６の任意の値について使用可能である。換言すれば、方法１０００は、画像と画像１つあたりの特徴との積が少なくとも６であれば、各カメラシステムからの僅かに単一の画像および最小で２つの異なる特徴で機能する。さらなる特徴および／または画像は、方法１０００をより正確にするさらなるデータを生成する。一実施形態では、ｍ＝４８およびｎ＝６で、２８８対の特徴の座標をもたらす。
【００９４】
方法１０００のステップ１０３０は、第１および第２の組の特徴の座標（例えば、｛ｖ１ｊｋ｝および｛ｖ２ｊｋ｝）に基づいて、一方のカメラシステムの座標系からもう一方のカメラシステムの座標系へのマッピングまたは変換を決定する。マッピングまたは変換は、Ｑで表すことができる、変換マトリクスの形態を取り得、以下のように、第２の座標系（例えば、図４Ｂおよび図１０Ｂで図示される座標系４８７）から第１の座標系（例えば、図４Ｂおよび図１０Ｂで図示される座標系４７７）に座標を変換する。
【数２４】
0005688825.tif 000025
式６
【００９５】
Ｑを見出すための１つの手法は、数量
【数２５】
0005688825.tif 000026
を最小化することであり、式中、ｄは、Ｌ２ノルム距離関数ｄ＝
【数２６】
0005688825.tif 000027
またはｄ＝
【数２７】
0005688825.tif 000028
等の、距離関数である。あるいは、Ｑを見出すために、任意の最適化手法が使用され得る。さらに別の変形例として、ステップ１０３０は、さらなるデータを採集して、反復アルゴリズムを使用することによってマッピングをさらに精緻化するために、ステップ１０１０および１０２０をループバックすることができ、そのうちの１つの反復は、それぞれステップ１０３０の通過中に完了し、よって、各反復は、連続的に解をより近似させる。このようにして使用することができる反復アルゴリズムの例としては、再帰的最小二乗法（ＲＬＳ）、最小平均二乗法（ＬＭＳ）、および勾配降下が挙げられる。
【００９６】
ステップ１０３０によって、いかなる形態であっても、マッピングまたは変換が決定されると、方法１０００は随意に、後で使用するために、そのマッピングをメモリに記憶することができる（ステップ１０４０）。あるいは、方法１０００は、例えば、代わりに、マッピングを所望の場所に伝送し得、またはそれを好適な表示デバイス上に表示し得る。
【００９７】
方法１０００およびそのステップは、種々の構造を使用して実現することができる。例えば、画像取り込みステップ１０１０および１０２０は、図５または図６で示されるカメラシステム５１０および５２０等のカメラシステムを使用して行うことができ、座標決定ステップ１０１５および１０２５は、図５のプロセッサ５５０または図６のプロセッサ６１０および６２０等の１つ以上のプロセッサを使用して行うことができ、マッピング決定ステップ１０３０は、図５のプロセッサ５５０または図６のプロセッサ６５０等のプロセッサを使用して行うことができる。
【００９８】
第２の座標系（例えば、座標系４８７）から第１の座標系（例えば、座標系４７７）に座標をマッピングする、座標変換マトリクスＱは、座標系４７７から座標系４８７に伸びる矢印によって、図１０Ｂで概念的に図示される。図１０Ｂは、図１０Ｂが座標変換マトリクスＱ、Ｔ１、およびＴ２を概念的に図示することを除いて、図４Ｂにかなり類似する。図１０Ｂにおいて、ステレオカメラ対４７０は、図１０Ａを参照して説明される第１のカメラシステムの実施例である。同様に、図１０Ｂで図示されるステレオカメラ対４８０は、図１０Ａを参照して説明される第２のカメラシステムの実施例である。図１０Ｂにおいて、ロボットの座標系４４８からカメラの座標系４７７に伸びる矢印は、変換マトリクスＴ１を概念的に図示し、それは、カメラ対４７０のカメラの座標系４７７とロボットの座標系４４８との間の回転関係および平行移動関係を指定する。同様に、図１０Ｂにおいて、ロボットの座標系４４８からカメラの座標系４８７に伸びる矢印は、変換マトリクスＴ２を概念的に図示し、それは、カメラ対４８０のカメラの座標系４８７とロボットの座標系４４８との間の回転関係および平行移動関係を指定する。
【００９９】
カメラの座標系４７７および４８７が一致していないので、ステレオカメラ対４７０および４８０によって観察および報告される特徴は、互いに異なる座標ｖ１およびｖ２を有することになる。カメラ対４７０および４８０の双方によって返される座標が、動作上の許容範囲内で同一になる（例えば、カメラ対４７０によって返される点４９０の座標が、カメラ対４８０によって返される点４９０の座標と同じまたはほぼ同じ座標を有する）ことが望ましくなり得る。これは、視野特徴
【数２８】
0005688825.tif 000029
の場所に関する式を、修正式
【数２９】
0005688825.tif 000030
と置き換えることによって達成することができ、ここで、Ｑは、ステレオカメラ対４８０によって返される視野座標を、ステレオカメラ対４７０によって返される同じ座標にマップする変換である。例えば、どの毛嚢を採取するのかを計画する自動化アルゴリズムは、グローバル座標系（例えば、皮膚テンショナデバイスの位置および配向に対するグローバル座標系）を使用して、グリッドの中の全ての毛嚢を追跡し得る。各毛嚢は、より高倍率のカメラ座標系を使用して、見出され、追跡され、そしてグローバル座標系に加えられ得る。座標変換マトリクスＱが（例えば、方法１０００を使用して）計算された後に、カメラ対４８０のカメラの座標系４８７とロボットの座標系４４８との間のロボット−カメラ変換が、
【数３０】
0005688825.tif 000031
として計算され得、第２のカメラ対４８０によって返される座標が、
【数３１】
0005688825.tif 000032
として報告され得る。カメラ対４８０によって報告される視野特徴の座標を調整するために変換マトリクスＱを使用することによって、カメラ対４７０および４８０によって報告される対象となる特徴の座標は、同じまたはほぼ同じになるはずである。例えば、目標の場所は、カメラ対２（例えば、低倍率のカメラ対）を使用して見出され得、そして、
【数３２】
0005688825.tif 000033
を使用してカメラ対１（例えば、高倍率のカメラ対）の座標系に変換され得、それは、例えば、採取のために毛嚢に対してロボットアームを配向するために、カメラ対１が毛嚢の場所を特定することを可能にし得る。別の例として、カメラ対１（例えば、高倍率のカメラ対）が採取された部位の場所を報告する場合、カメラ対２（例えば、低倍率のカメラ対）は、
【数３３】
0005688825.tif 000034
を使用してその採取された部位を見出し得る。
【０１００】
３つの座標変換マトリクスＱ、Ｔ１、およびＴ２のうちの２つが既知である（例えば、方法８００、１０００、または双方を使用して計算される）場合、２つの既知の変換から第３の変換を決定することが可能であり得る。例えば、変換マトリクスＱが方法１０００を使用して計算され、変換マトリクスＴ２が方法８００を使用して計算される場合、変換マトリクスＴ１（またはＴ１の近似値）を、
【数３４】
0005688825.tif 000035
として計算することができる。２つの既知の変換から第３の変換を決定することは、計算リソースを節約するのを補助し得る。例えば、Ｑ−１およびＴ２からＴ１を導き出すことは、変換マトリクスＴ１を計算するために最適化アルゴリズムを使用しなければならないことを回避するのを補助し得る。
【０１０１】
方法１０００または別の好適な方法によってマッピング（例えば、変換マトリクスＱ）が決定された後に、そのマッピングは、第１および第２のカメラシステムの座標系間の変換を容易にするために利用することができる。１つのそのような変換は、図１１で図示され、図１１は、一実施形態による、２つの異なるカメラシステム間で座標を変換するための方法１１００のフローチャートである。随意のステップ１１１０で、方法１１００は、１つの座標系を有するカメラシステムを使用して、１つ以上の画像を取り込み得る。特定の実施形態において、１つ以上の画像は、方法１１００が、その座標系（例えば、ｖ２）での画像から対象となる特徴の座標にアクセスする（ステップ１１２０）ように、図８、図９、および図１０を参照して説明されるものに類似する様式で、受け取られ、アクセスされ、または受け付けられ得る。対象となる特徴は、毛嚢または毛髪移植片の植付部位であり得る。２次元カメラシステムの場合、座標を決定することは、画素数に基づく基準からのＸおよびＹのオフセットを決定することと同程度に単純であり得る。ステレオ対のカメラの場合、３次元座標を決定するための手法は、当技術分野でよく知られている。方法１１００はまた、方法１０００等によって決定されるマッピング（例えば、Ｑ）を取り出し（ステップ１１３０）、その座標をローカルカメラシステムの座標系から別のカメラシステムの座標系に変換する（ステップ１１４０）（例えば、
【数３５】
0005688825.tif 000036
）。方法１１００は、次に、所望に応じて、変換された座標（例えば、ｖ２）を利用する。方法１１００のステップは、示されるものと異なる順序で、または順次ではなく同時に行われ得ることに留意されたい。例えば、マッピング取り出しステップ１１３０は、図１１で示されるよりも早い任意のときに行われ得る。
【０１０２】
図１２は、例示的な針アセンブリ１２００の図であり、該針アセンブリは、例えば毛髪採取手順で使用するための、エンドエフェクタアセンブリの一部（例えば、図４Ａを参照して説明されるツール４１０を参照されたい）として、ロボットアーム（例えば、それぞれ、図１および図４Ａを参照して説明されるロボットアーム１１０または４０５を参照されたい）に取り付けられ得る。図１２で示され、下で説明されるように、針アセンブリ１２００上の種々の特徴は、ツール場所較正ルーチンの一部としての機械視覚動作によって場所を特定され得る。ある構成において、針アセンブリ１２００は、外側針（「パンチ」）１２１０と、同軸内側針１２２０とを含み得る。針１２２０は、一般的に、比較的鋭利な遠位先端部１２８０を伴う円筒状である。この針は、パンチ１２１０の管腔内に適合するようにサイズ決定される。パンチ１２１０は、湾曲肩部１２７０を通して側壁１２２２および１２２４を伴うより狭い円筒遠位部分に遷移する側部１２５２および１２５４を伴う、主円筒部分１２５０を含み得る。パンチ１２１０も、遠位先端部１２４０を含む。実質的に平行な側部を有するように図示されているが、任意の形状の針またはパンチ、例えば遠位端部に向かって先細になる針またはパンチが利用され得ることが明らかになるであろう。針アセンブリ１２００は、中心線１２９０によって表される平行移動の運動軸に沿って伸ばされ得るか、または縮められ得る。加えて、針１２２０は、パンチ１２１０内部で中心線１２９０に沿って伸ばされ、縮められ得る。例えば、図１３は、パンチ１２１０がカメラの視野内に入っていないが、例えば皮膚面に対応する位置まで伸ばした針１２２０を表す、カメラシステム（例えば、図４Ａを参照して説明されるカメラシステム４１５を参照されたい）からの例示的な画像１３００を示す。
【０１０３】
図１４は、ツール場所較正方法１４００の実施例を表す、フロー図を示す。図８〜図１１の説明に類似しており、ステップ１４１０は、随意である。方法１４００は、カメラシステム４１５等のカメラシステムで画像データを取り込むステップを含み得、または本方法は、例えば既存の画像データから、ツール先端部の場所を決定することを含み得る。ある実施形態において、画像データは、上で説明したように受け取られ、アクセスされ、または受け付けられ得る。画像データは、エンドエフェクタツールを表し得、データは、上で論じられるステレオカメラ対４７０または４８０からの１対の画像を含み得る。一実施形態によれば、画像データは、針アセンブリ１２００の少なくともある一部を表し得、またはツールアセンブリの単一のパンチ構成が使用される場合は、単一の針もしくはパンチを表し得る。
【０１０４】
方法１４００は、カメラシステムの座標系でのツール先端部の場所を決定することを含む、ステップ１４２０を継続する。例示的なステレオカメラ対４７０において、ツール先端部１２８０（例えば、針１２２０の先端部１２８０、またはパンチ１２１０の先端部１２４０）の場所は、座標系４７７の範囲内で決定される。図１２に関して上で述べたように、カメラシステムは他の可視特徴の場所を特定し得、先端部１２８０等のツール先端部は、機械視覚方法を使用して場所を特定され得るツール特徴の１つの例に過ぎない。決定された場所は、ステレオカメラの画像内で場所を特定される点（例えば、点４９０を参照されたい）の１対の２次元場所から、標準的な（上で説明される）プロセスに従って取得される、３次元座標を含み得る。
【０１０５】
カメラシステムの座標系でのツール場所が決定されると、方法１４００は、カメラシステムの座標系からロボットの座標系（例えば、図４Ａおよび４Ｂの座標系４４８）にツール場所を変換させることを含む、ステップ１４６０を継続する。正確なツール場所較正により、変換させた場所は、ツール、例えば針アセンブリ１２００が採取動作を行い得るように、プロセッサ４２５が、ロボットアーム４０５にエンドエフェクタツールアセンブリ４１０を移動させるように指示することによって使用される、ロボットフランジ４４６からのオフセットを決定するために使用され得る。一実施形態によれば、変換は、次のように計算することができる。
【数３６】
0005688825.tif 000037
式７
ここで、ｔｃａｍは、決定されたツール場所であり、Ｔは、カメラの変換マトリクス（例えば、式３に従って決定されるロボットの座標系とカメラの座標系との間の変換）であり、ｔｒｏｂは、ロボットツールフランジ４４６に関するツール場所である。
【０１０６】
方法１４００およびそのステップは、種々の構造を使用して実現され得る。例えば、画像取り込みステップ１４１０は、カメラシステム４１５等のカメラシステムを使用して行うことができ、場所決定ステップ１４２０および変換ステップ１４６０は、プロセッサ４２５または画像プロセッサ４２６等の１つ以上のプロセッサを使用して行われ得る。ステップ１４１０、１４２０、および１４６０は、任意の順序で、または並行して（例えば、同時に）行われ得る。
【０１０７】
図１５は、方法１４００（図１４）のステップ１４２０を実行するための例示的な方法１５００を表す、フロー図を示す。ステップ１５２１は、画像データから、カメラシステムの視野内のツールの側部に対応する、第１および第２の外周側壁エッジセグメントを検出することを含む。例示的な針アセンブリ１２００（図１２）では、例えば、側部１２５２および１２５４が線セグメントとして検出されて表され得、ならびに／または側部１２２２および１２２４が線セグメントとして検出されて表され得る。
【０１０８】
次に、ステップ１５２６は、検出された第１および第２の外周側壁エッジセグメント間の平均に基づいて、中央線を計算することを含む。例示的な針アセンブリ１２００において、中心線１２９０は、側部１２５２と１２５４との間の平均距離として計算され得る。
【０１０９】
ステップ１５２８は、カメラシステムの座標系で、中心線に沿って、ツールの遠位端部の空間位置の場所を特定することを含む。例示的な針アセンブリ１２００において、針１２２０およびパンチ１２１０は、ほぼ真っ直ぐである。したがって、中心線１２９０が正確に計算されると、針１２２０の先端部１２８０またはパンチ１２１０の先端部１２４０は、概して、中心線１２９０に沿って、例えば側部１２２２と１２２４との間または１２５２と１２５４との間に位置する。例えば、先端部１２４０等のツール先端部は、中心線１２９０に沿った画像データ、例えば図１６に関して下で論じられるデータ遷移点の変化によって場所を特定され得る。代替の方法（図示せず）において、針アセンブリ１２００を表すデータについて質量中心または重心が決定され得、質量中心から最も遠くに位置する点が、ツール先端部に対応し得る。
【０１１０】
方法１５００およびそのステップは、種々の構造を使用して実現され得る。例えば、ステップ１５２１、１５２６、および１５２８は、プロセッサ４２５または画像プロセッサ４２６等の１つ以上のプロセッサを使用して行われ得る。ステップ１５２１、１５２６、および１５２８は、任意の順序で、または並行して（例えば、同時に）行われ得る。
【０１１１】
図１６は、方法１５００（図１５）のステップ１５２１を実行するための例示的な方法１６００を表す、フロー図を示す。ステップ１６２２は、第１および第２の組のデータ遷移を確立するために、画像データの個々の横列での第１および第２のデータ遷移の場所を特定することを含む。例えば、図１７Ａおよび１７Ｂは、それぞれ、グレースケール形式１７１０および２値化形式１７２０でのパンチ１２１０の画像１７００を示す。図１７Ａで示される一実施形態によれば、データ遷移は、デジタル画像１７００の画素横列に沿った明色から暗色への遷移として識別され得る。デジタル画像１７００は、画素強度のマトリクスとして表され得、その場合、データ遷移は、マトリクスの横列に沿ったデータ値の変動によって識別され得る。方法１６００およびそのステップは、種々の構造を使用して実現され得る。例えば、ステップ１６２２および１６２３は、プロセッサ４２５または画像プロセッサ４２６等の１つ以上のプロセッサを使用して行われ得る。ステップ１６２２および１６２３は、任意の順序で、または並行して（例えば、同時に）行われ得る。
【０１１２】
データ遷移の場所を特定するために、画像１７００の中の画素の横列をトラバースして、ツールの両側部に対応する第１および第２の検出された遷移の場所を特定し得る。第１および第２の遷移は、第１および第２の組の遷移のそれぞれで記録され得る。画像データの解像度に応じて、画像全体の横列毎にトラバースされ得る。しかしながら、いくつかの実施形態において、いくつかの横列をスキップすることは、本方法の正確さを高め得る。例えば、湾曲肩部１２７０を表すデータ遷移は、側部１２５２および１２５４と実質的に平行ではなく、したがって、これらのデータ遷移を記録することは、計算された中心線１２９０に沿ったツール先端部１２４０の場所を決定する際の誤りを潜在的に増加させる。結果的に、横列のサブセットは、中間の横列をスキップすることによってトラバースされ得、または、側部１２５２および１２５４（または側部１２２２および１２２４）を表す遷移を有することが知られている画像のサブ領域、例えば画像１７００の下半分がトラバースされ得る。
【０１１３】
図１７Ｂの実施例で示されるように、データ遷移は、画像データを前処理することによって、よりはっきりと異なり得る。一例において、ツールの画像は、２値化、例えば白黒に変換され得るか、または２つの色に変換され得、第１の色は、閾値未満（または以下）の全ての画素値を表し、もう１つの色値は、閾値を超える全ての画素値を表す。好適な閾値を決定することは、陰影効果、照明、反射率、および（図１８Ａおよび１８Ｂに関して下で論じられる）遠近歪みの量に依存する。結果的に、画像の前処理は随意であり、データ遷移の場所を特定するために、グレースケールエッジ検出が使用され得る。別の例において、データ遷移位置は、セグメント化によって最初に決定され、次いで、エッジ検出手法が利用され得る。エッジが見出される位置の場所を特定するために、各横列について、例えば小さい範囲において、最初にセグメント化されたデータ遷移位置の周囲で検索を行うことができる。その後、勾配に基づく検出器、ソーベル演算子等の、エッジ検出演算子を適用することができる
【０１１４】
ステップ１６２３は、第１の組のデータ遷移からの第１の回帰、および第２の組のデータ遷移からの第２の回帰を行うことによって、第１および第２の外周側壁エッジセグメントを計算することを含む。種々の評価方法が、最小二乗推定法等の回帰を計算するために使用され得る。
【０１１５】
回帰計算は、種々の理由から、互いに正確に整列し得ない、または実際の外周側壁と整列し得ない、個々の検出されたデータ遷移に基づく、適合された線セグメントを提供するのを補助する。例えば、カメラ４７０がエンドエフェクタツールアセンブリ４１０に固定されるときに、カメラの光路は、針アセンブリ１２００の平行移動の運動軸と正確に共線であり得ない。結果的に、カメラ４７０の視野の中の針アセンブリ１２００には、かなりの量の遠近歪みまたはぼやけがあり得る。換言すれば、針アセンブリ１２００の中心線１２９０は、カメラの光路に正確に平行になり得ず、その結果、ツール（例えば、パンチ１２４０）の先端部は、カメラのｚ軸において、針アセンブリ１２００の対向端部よりもさらに遠くに離れる。実際に、先端部１２４０または１２８０のｚ軸距離は、いくつかの高倍率のカメラレンズの焦点深度を超え得る。したがって、任意の所与の瞬間に、例えば主円筒部分１２５０の比較的小さい部分だけしかはっきりと合焦し得ない。それは、結果としてぼやけ得、図１８Ａで示されるような明〜暗の遷移を検出することがより困難になり得る。加えて、パンチ１２１０は、鮮明に検出可能な隅部を伴う平坦面ではない。図１７Ｂで示されるように、例えば、エンドエフェクタツールの可視部分または湾曲肩部１２７０を表す任意のデータ遷移は、長手方向軸と実質的に平行ではなく、潜在的に、ツール先端部１２４０の場所を特定するための中心線１２９０を計算する際に誤りを誘導し得る。したがって、パンチ１２１０のエッジ１２５２および１２５４（または１２２２および１２２４）を近似するために、回帰算出が使用され得る。
【０１１６】
いくつかの実施形態において、パンチ１２１０等のツールは、カメラ軸から傾き得、パンチ１２１０の長さに沿って均一でない、主円筒部分１２５０の遠近歪みをもたらす。例えば、図１８Ａおよび１８Ｂでは、遠近歪みのため、画像１８１０の底部近くのパンチ、および対応する前処理された画像１８２０の観察可能な直径は、湾曲肩部１２７０による観察可能な直径よりも数画素だけ幅が広い。結果的に、不均一な歪みまたは鮮明な合焦の不足のため、方法１５００（図１５）のステップ１５２１からの検出側壁エッジセグメントは、収束し、最終的に交差する。したがって、中心線を計算するステップ１５２６は、いくつかの実施形態において、２つの収束する側壁線セグメントによって形成される角度の二等分線を識別することを含み得る。
【０１１７】
図１９は、方法１５００（図１５）のステップ１５２１を実行するための別の例示的な方法１９００を表す、フロー図を示す。一般に、方法１９００は、外れ値データ遷移を識別し、次いで、除去するために、２ステッププロセスを使用する。ステップ１９２２およびステップ１９２３は、それぞれ、方法１６００（図１６）のステップ１６２２およびステップ１６２３に対応し、計算された回帰は、側壁１２２２、１２２４または１２５２、１２５４の初期近似としての役割を果たす。
【０１１８】
側壁エッジセグメントについて初期回帰計算を使用して、ステップ１９２４は、第１および第２の組のデータ遷移から、所定の閾値を超える第１および第２の初期外周側壁エッジセグメントのそれぞれからの距離を有する第１または第２のデータ遷移を除外する、例えば、データ遷移の組から外れ値を識別して、除去する。ステップ１９２５は、第１および第２の組のデータ遷移のそれぞれから回帰を行うことによって、第１および第２の外周側壁エッジセグメントを再計算することを含む。再計算された回帰は、中心線１２９０、およびツール先端部１２８０を表す計算された中心線１２９０に沿ったデータ遷移点の計算を潜在的に歪める外れ値データ遷移を除外するので、再計算は、ツール場所較正の精度を高め得る。方法１９００およびそのステップは、種々の構造を使用して実現され得る。例えば、ステップ１９２２、１９２３、１９２４、および１９２５は、プロセッサ４２５または画像プロセッサ４２６等の１つ以上のプロセッサを使用して行われ得る。ステップ１９２２、１９２３、１９２４、および１９２５は、任意の順序で、または並行して（例えば、同時に）行われ得る。
【０１１９】
針アセンブリをその運動軸に沿って伸ばすことによって、より多数の合焦したデータ遷移が、主円筒１２５０の側部１２５２および１２５４に沿って取得され得、それによって、外周側壁エッジセグメントの近似が改善される。針アセンブリは、次いで、先端部１２４０の場所を決定するために、縮められ、はっきり合焦する範囲内に導かれ得る。別の実施形態において、ツールが伸ばされたままであるが、ツールの先端部の合焦が改善されるように、カメラの焦点が変化し得る。図２０は、伸ばした、および縮めた状態でのツールの画像データを使用して、エンドエフェクタツールの遠位端部の場所を特定するための、例示的な方法２０００のフロー図である。上の実施例を参照すると、随意のステップ２０１０で、方法２０００は、伸ばしたツールを表す、例えば、採取または植付手順中に、皮膚面、例えば患者の皮膚によって形成される面を２ミリ超えて伸ばした採取パンチを表す、画像データを取得し得る。ある実施形態において、画像データは、受け取られ、アクセスされ、または受け付けら得る。ステップ２０２１は、方法１５００（図１５）のステップ１５２１に類似する、側壁エッジセグメントを検出すること含む。同様に、ステップ２０２６は、ステップ１５２６に対応する。ステップ２０２７は、縮めた状態のツール、例えば皮膚面の上側または面上の点に伸ばした採取パンチ１２１０を表す画像データを取り込むことを含む。ステップ２０２８は、ツール先端部の場所を特定することを含み、ステップ１５２８に対応する。ステップ２０６０は、ステップ１４６０に関して上で説明されるように、ツール先端部の場所を変換させることを含む。
【０１２０】
方法２０００およびそのステップは、種々の構造を使用して実現され得る。例えば、画像取り込みステップ２０１０は、カメラシステム４１５等のカメラシステムを使用して行うことができ、ステップ２０２１、２０２６、２０２７、２０２８、および２０６０は、プロセッサ４２５または画像プロセッサ４２６等の１つ以上のプロセッサを使用して行われ得る。ステップ２０１０、２０２１、２０２６、２０２７、２０２８、および２０６０は、任意の順序で、または並行して（例えば、同時に）行われ得る。
【０１２１】
上述したツール場所較正方法１４００、１５００、１６００、１９００、または２０００のいずれかは、随意の２値化もしくは他の好適な前処理手法、随意の角度二等分線の場所の特定、データ遷移の数を制限する、例えば画素横列もしくは画像の領域をスキップすることによって検索空間を削減するための随意の手法、または随意の種々の焦点深度での複数の画像取り込みを利用し得る。
【０１２２】
図２１Ａおよび２１Ｂは、相対位置および複数のカメラの倍率を識別するための特徴を持つ、プラカード２１１０および２１２０を表す図である。ユーザは、カメラシステムの視野の中にプラカードを配置し、プラカードを表す個々のカメラからの画像データを観察し、そして、観察した画像データに基づいて、個々のカメラをシステムの物理的構成と関連付け得る。プラカードおよび取得された画像データは、カメラ制御システムを構成する方法を容易にし得、該方法は、個々のカメラから整理番号（または他の識別用表示）を人手によって記録し、その情報をロボット制御システムの構成ソフトウェアに入力することに代わるものとして行われ得る。カメラからカメラの整理番号を人手によって取得することは、場所および整理番号ラベルのサイズのため、困難であり得る。さらに、いくつかのカメラブロックは、どちらのカメラが高倍率もしくは低倍率なのか、またはどちらのカメラが左側または右側なのかを示すラベルを有しない。さらに、カメラシステムの左側および右側の定義は、該定義がカメラシステムに対する人の位置に依存するので、混同し得る。
【０１２３】
図２１Ａおよび２１Ｂで示されるように、一実施形態によれば、プラカード２１１０および２１２０には、２つの基準点−カードの両側に１つずつ−が印刷され得る。プラカード２１１０は、左側の長方形の基準点２１１６と、右側の円形の基準点２１１８とを含む。プラカード２１２０は、両側部に２つの長方形の基準点２１２６および２１２８を含む。基準点の数および形状は、幾分任意的なものである。ただし、個々の基準点の配向および一般的形状は、機械視覚動作によって識別できるものとする。下で論じられるように、基準点の対２１１６、２１１８または２１２６、２１２８は、種々の光学特性に基づいて識別され得、よって、構成システムは、低倍率カメラと高倍率カメラとを区別すること、ならびに左側のカメラと右側のカメラとを区別することができる。チェッカーボード較正目標７００（図７Ａ）またはドット重心較正目標７２０および７４０（図７Ｂおよび７Ｃ）は、カメラ識別のために使用され得る。別の実施形態において、基準点２１１６、２１１８または２１２６、２１２８は、単一の較正ユニットまたはカート（図示せず）の一部として、目標７００、７２０、７４０とともに印刷され得る。
【０１２４】
図２２は、図２１Ａで示されるプラカード２１１０の斜視図であり、複数のカメラの相対位置および倍率を識別するために、図４Ａに関して説明されるカメラシステム４７０等のカメラシステムの視野の中に位置付けられる。プラカード２１１０は、一実施形態によれば、基準点２１１６および２１１８がカメラシステム４７０の視野の中で横方向に現れるように位置付けられる。スタンドアロンのプロセスとして、下で論じられるカメラ識別ルーチンは、ロボットアームの動きに依存しないが、自動的な動きも使用され得る。製造中に、アセンブリマウント上のエンドエフェクタで、プラカード２１１０が、好適なスタンド２２８０上に配置され、所定の位置に移動される。スタンド２２８０は、自由な形態で位置付けられ得、またはスタンド２２８０は、プラカード２１１０のより整合性のある画像を提供するのを補助するために、ツールのアセンブリマウント（図示せず）に取り付けることができる。プラカードが位置付けられると、適切な照明が適用される。照明は、ツール上の内蔵ＬＥＤ照明を使用して達成することができ、または、基準点は、透明の基板上に印刷し、背面照明することができる。ユーザまたはプロセッサが、プラカード２１１０の画像取り込みおよびプロセッサ上で実行するソフトウェアを起動するか、または専用の機械視覚ハードウェアが、下で説明される手法に従って、カメラの位置および倍率を識別する。
【０１２５】
図２３は、カメラシステムの個々のカメラの倍率を識別するための、例示的なシステム２３００を示す。例示的なシステム２３００は、プロセッサ２３１０と、少なくとも２つのカメラシステム２３２０および２３３０とを含む。例示的なシステム２３００において、左側のカメラシステム２３２０は、低倍率カメラシステムに対応し、右側のカメラシステム２３３０は、高倍率カメラシステムに対応する。カメラシステム２３２０および２３３０は、それぞれが単一のカメラを有し得るか、またはそれぞれがステレオカメラシステムを含み得る。カメラシステム２３２０および２３３０は、プラカード２１１０がカメラシステム２３２０および２３３０の視野２３６０および２３７０の中に配置されるときに、プラカード２１１０を表す画像２３４０および２３５０のそれぞれを取得するように構成される。一実施形態において、基準点２１１６および２１１８は、全体が視野２３６０および２３７０内にあり、プラカード２１１０のサイズおよび間隔、ならびに各基準点２１１６および２１１８の領域が予め定められる。プラカード２１１０上の各基準点２１１６および２１１８の領域が予め定められるので、取得された画像２３４０または２３５０の中の基準点２３４６、２３４８または２３５６、２３５８の領域が閾値を超える場合は、対応するカメラシステム２３２０または２３３０が高倍率カメラであると決定される。別の実施形態において、画像２３４０および２３５０は、互いに比較され得る。例えば、画像２３４０の中の基準点２３４６の領域は、画像２３５０の中の基準点２３５６の領域よりも大きい。このように、カメラ２３３０がより大きい領域を有する基準点２３５６を生じたので、プロセッサ２３１０は、カメラシステム２３３０を高倍率カメラとして適切に識別し得る。
【０１２６】
図２４および図２５は、それぞれ、視野および遠近歪みの差を使用してエンドエフェクタの両側のカメラを識別するためのシステムを示す。図２４で示される例示的なシステム２４００において、カメラシステム２４２０および２４３０は、画像２４４０および２４５０のそれぞれを生成するための高倍率カメラである。プラカード２１１０は、カメラシステム２４２０および２４３０の前方に配置され、よって、視野２４６０の中で、基準点２１１６は見えるが、基準点２１１６は見えない。これとは逆に、視野２４７０の中で、基準点２１１８は見えるが、基準点２１１８は見えない。故に、基準点２１１６および２１１８が、慣性モーメント、循環性、周辺長さ、または他の特性等の、独特の特性を有するように形成されると、画像２４４０および２４５０は、全体が重ならず、プロセッサ２３１０がカメラシステム２４２０および２４３０の物理的配設を決定し得るように十分に異なる。例えば、画像２４４０は、基準点２１１６を表す長方形の基準点２４４６を含み、画像２４５０は、基準点２１１８を表す円形の基準点２４５８を含む。換言すれば、内側に傾けた左側の高倍率カメラ２４２０は、右側の基準点２１１６だけを視認することができる一方で、内側に傾けた右側の高倍率カメラ２４３０は、左側の基準点２１１８だけを視認することができる。
【０１２７】
図２５で示される別の例示的なシステム２５００において、カメラシステム２５２０および２５３０は、互いに平行ではなく、若干内側に傾けられており、よって、遠近歪みが基準点の幾何学形状に影響を及ぼす。プラカード２１２０は、図２１Ｂに関して説明されるように、両側に長方形状の基準点２１２６および２１２８を含む。カメラシステム２５２０および２５３０の焦点面がプラカード２１２０に対して垂直でないので、画像２５４０および２５５０のそれぞれの中の一方の基準点は、もう一方の基準点よりも合焦点に若干近く、画像２５４０および２５５０の中の基準点間の領域に差を生じさせる。基準点の形状のピンホールカメラ歪みも、同様に異なり得、２つの側部の輪郭形状を変化させる。例えば、基準点２５４６は、基準点２５４８よりも若干小さく見える一方で、基準点２５５６は、基準点２５５８よりも若干大きく見える。加えて、基準点２５４６および２５４８は、左に歪む一方で、基準点２５５６および２５５８は、ピンホールド歪みのため、右に歪む。遠近歪みはまた、所定の形状の基準点に関する歪みの量を特徴付けることによって、個々のカメラのレンズの合焦を決定するために使用され得る。さらに、画像２５４０の中の基準点２５４６および２５４８の場所は、システム２４００に関して説明されるように、視野２５６０および２５７０における差の結果として他の画像２５５０と比較すると、ずれ得る（図示せず）。
【０１２８】
図２６は、上で説明されるカメラ識別ルーチンを検証し、識別情報をシステム構成ＸＭＬファイル２６１０に書き込むための、ソフトウェアアプリケーションの画面ショット２６００を示す。ＸＭＬファイル２６１０は、位置、倍率、レンズの合焦、または技術者がカメラの種々の態様を追跡することを可能にする、他の構成パラメータを含み得る。識別データは、最初に、システム初期化中に書き込むか、またはカメラ再構成中に上書きすることができる。自動化識別ルーチンの検証は、図２６で示されるように行われ得る。基準点２６２２（図４Ｂを参照して説明される）を含む帯状部２６２０は、低倍率カメラでは見えるが、高倍率カメラではそのより狭い視野のため見えず、また、針アセンブリ１２００の角度は、左右のカメラについて異なる方向に傾けられる。
【０１２９】
実施形態は、種々のプログラミング言語で開発されたコンピュータソフトウェアを使用して実現され得る。実施形態は、本明細書で説明されるプロセスまたは方法を行うようにコンピュータ（または他の電子デバイス）をプログラムするために使用され得る、（圧縮形態または非圧縮形態で）命令をそこに記憶させた、非一時的な機械が読み出し可能な記憶媒体を含む、コンピュータプログラム製品として提供され得る。機械が読み出し可能な記憶媒体としては、ハードドライブ、フロッピーディスク、光ディスク、ＣＤ−ＲＯＭ、ＤＶＤ、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、磁気もしくは光カード、固体メモリデバイス、または電子命令を記憶するのに好適な他のタイプの媒体／機械が読み出し可能な媒体が挙げられ得るが、それらに限定されない。さらに、実施形態はまた、（圧縮形態または非圧縮形態で）一時的な機械が読み出し可能な信号を含む、コンピュータプログラム製品としても提供され得る。機械が読み出し可能な信号の例としては、搬送波を使用して変調されるかどうかに関わらず、インターネットまたは他のネットワークを通してダウンロードされる信号を含む、コンピュータプログラムをホストまたは実行するコンピュータシステムまたは機械がアクセスするように構成することができる信号が挙げられるが、それらに限定されない。例えば、ソフトウェアの配信は、ＣＤ−ＲＯＭを介して、またはインターネットダウンロードを介してなされ得る。
【０１３０】
本明細書で説明される方法およびシステムを実行するソフトウェアプログラムは、所望の操作を実行するための１組の命令を含む、別々のプログラムコードを含み得、またはある操作のそのようなサブ操作を行う、複数のモジュールを含み得、または該操作を提供するより大きいプログラムの単一のモジュールの一部であり得る。モジュール構造は、その中のモジュールならびに／またはモジュール内の特徴を追加する、削除する、更新する、および／もしくは修正することを容易にする。プログラムは、固有の識別子情報および／または追加的な情報を受け取り得、また、例えば、固有の識別子情報および／または追加的な情報と関連付けられるデータを有する記憶デバイスにアクセスし得る。
【０１３１】
上で使用される用語および説明は、単なる実例として記載されており、限定することを意味するものではない。当業者は、本開示の基礎を成す原則を逸脱することなく、上で説明した実施形態の詳細に数多くの変形を行うことができることを認識するであろう。したがって、本発明の範囲は、以下の特許請求の範囲およびそれらの均等物だけによって決定されるべきである。
【図１】
0005688825.tif 000046
【図２】
0005688825.tif 000047
【図３】
0005688825.tif 000048
【図４Ａ】
0005688825.tif 000049
【図４Ｂ】
0005688825.tif 000050
【図５】
0005688825.tif 000051
【図６】
0005688825.tif 000052
【図７】
0005688825.tif 000053
【図８】
0005688825.tif 000054
【図９】
0005688825.tif 000055
【図１０Ａ】
0005688825.tif 000056
【図１０Ｂ】
0005688825.tif 000057
【図１１】
0005688825.tif 000058
【図１２】
0005688825.tif 000059
【図１３】
0005688825.tif 000060
【図１４】
0005688825.tif 000061
【図１５】
0005688825.tif 000062
【図１６】
0005688825.tif 000063
【図１７】
0005688825.tif 000064
【図１８】
0005688825.tif 000065
【図１９】
0005688825.tif 000066
【図２０】
0005688825.tif 000067
【図２１】
0005688825.tif 000068
【図２２】
0005688825.tif 000069
【図２３】
0005688825.tif 000070
【図２４】
0005688825.tif 000071
【図２５】
0005688825.tif 000072
【図２６】
0005688825.tif 000073