(57)【要約】【課題】  画像の識別に適した映像信号を、状況に応じて生成することができる画像処理装置を提供する。【解決手段】  撮像手段の出力から生成された映像信号を取得し、映像信号の被写体に含まれる物体の解析を行う解析手段と、映像信号に含まれる画素数が変化するように、撮像素子の駆動を制御する制御手段を有する画像処理装置であって、物体と撮像手段との距離に応じて、映像信号に含まれる画素数が変化するように、撮像素子の駆動を制御する。【選択図】  図２
2019176424.tif 000002
【特許請求の範囲】
【請求項１】
撮像手段の出力から生成された映像信号を取得し、前記映像信号の被写体に含まれる物体の解析を行う解析手段と、
前記映像信号に含まれる画素数が変化するように、前記撮像手段の駆動を制御する制御手段を有し、
前記制御手段は、前記物体と前記撮像手段との距離が第１の値である場合よりも、前記物体と前記撮像手段との距離が前記第１の値よりも小さい第２の値である場合のほうが、前記映像信号に含まれる画素数が少なくなるように、前記撮像手段の駆動を制御することを特徴とする画像処理装置。
【請求項２】
前記第１の値は閾値以上の値、かつ、前記第２の値は前記閾値未満の値であって、
前記制御手段は、前記物体と前記撮像手段との距離が前記閾値以上であれば、前記撮像手段の全画素を読み出すように前記撮像手段の駆動を制御し、前記物体と前記撮像手段との距離が前記閾値未満であれば、前記撮像手段の画素を加算あるいは間引いて読み出すように前記撮像手段の駆動を制御することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記制御手段は、前記物体と前記撮像手段との距離が前記閾値未満であれば、前記閾値以上である場合よりも、前記映像信号のフレームレートが高くなるように、前記撮像手段の駆動を制御することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記制御手段は、前記映像信号の被写体に含まれる物体の、前記映像信号における占有画素数に基づいて、前記物体と前記撮像手段との距離を判断することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記物体と前記撮像手段との距離を求める測距手段を有することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項６】
撮像手段の出力から生成された映像信号を取得し、前記映像信号の被写体に含まれる物体の解析を行う解析手段と、
前記映像信号に含まれる画素数が変化するように、前記撮像手段の駆動を制御する制御手段を有し、
前記制御手段は、前記映像信号における前記物体のサイズが第１の値である場合よりも、前記映像信号における前記物体のサイズが前記第１の値よりも大きい第２の値である場合のほうが、前記撮像手段から出力される映像信号に含まれる画素数が少なくなるように、前記撮像手段の駆動を制御することを特徴とする画像処理装置。
【請求項７】
前記第１の値は閾値未満の値、かつ、前記第２の値は前記閾値以上の値であって、
前記制御手段は、前記映像信号における前記物体のサイズが前記閾値未満であれば、前記撮像手段の全画素を読み出すように前記撮像手段の駆動を制御し、前記映像信号における前記物体のサイズが前記閾値以上であれば、前記撮像手段の画素を加算あるいは間引いて読み出すように前記撮像手段の駆動を制御することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記制御手段は、前記映像信号における前記物体のサイズが前記閾値以上であれば、前記映像信号における前記物体のサイズが前記閾値未満である場合よりも、前記撮像手段から出力される前記映像信号のフレームレートが高くなるように、前記撮像手段の駆動を制御することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記制御手段は、前記映像信号における前記物体の占有画素数に基づいて、前記物体のサイズを判断することを特徴とする請求項６乃至８のいずれかに記載の画像処理装置。
【請求項１０】
前記解析手段は、前記映像信号からエッジの情報を抽出し、抽出した前記エッジの情報に基づいて前記映像信号の被写体に含まれる物体の解析を行うことを特徴とする請求項１乃至９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記解析手段は、抽出した前記エッジの情報に基づいて前記物体を識別することを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記解析手段で解析された前記映像信号の被写体に含まれる物体を把持する把持手段を有することを特徴とする請求項１乃至１１のいずれか１項に記載の画像処理装置。
【請求項１３】
前記撮像手段が前記把持手段に固定されていることを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
撮像手段と、
前記撮像手段の出力から生成される映像信号に含まれる画素数が変化するように、前記撮像手段の駆動を制御する制御手段を有し、
前記制御手段は、前記映像信号の被写体に含まれる物体と前記撮像手段との距離が第１の値である場合よりも、前記物体と前記撮像手段との距離が前記第１の値よりも小さい第２の値である場合のほうが、前記映像信号に含まれる画素数が少なくなるように、前記撮像手段の駆動を制御することを特徴とする撮像装置。
【請求項１５】
撮像手段と、
前記撮像手段の出力から生成される映像信号に含まれる画素数が変化するように、前記撮像手段の駆動を制御する制御手段を有し、
前記制御手段は、前記映像信号において、前記映像信号の被写体に含まれる物体のサイズが第１の値である場合よりも、前記映像信号における前記物体のサイズが前記第１の値よりも大きい第２の値である場合のほうが、前記映像信号に含まれる画素数が少なくなるように、前記撮像手段の駆動を制御することを特徴とする撮像装置。
【請求項１６】
撮像手段の出力から生成された映像信号を取得し、前記映像信号の被写体に含まれる物体の解析を行う解析工程と、
前記映像信号に含まれる画素数が変化するように、前記撮像手段の駆動を制御する制御工程を有し、
前記制御工程では、前記物体と前記撮像手段との距離が第１の値である場合よりも、前記物体と前記撮像手段との距離が前記第１の値よりも小さい第２の値である場合のほうが、前記映像信号に含まれる画素数が少なくなるように、前記撮像手段の駆動を制御することを特徴とする画像処理装置の制御方法。
【請求項１７】
撮像手段の出力から生成された映像信号を取得し、前記映像信号の被写体に含まれる物体の解析を行う解析工程と、
前記映像信号に含まれる画素数が変化するように、前記撮像手段の駆動を制御する制御工程を有し、
前記制御工程では、前記映像信号における前記物体のサイズが第１の値である場合よりも、前記映像信号における前記物体のサイズが前記第１の値よりも大きい第２の値である場合のほうが、前記映像信号に含まれる画素数が少なくなるように、前記撮像手段の駆動を制御することを特徴とする画像処理装置の制御方法。
【請求項１８】
撮像手段の出力から生成される映像信号に含まれる画素数が変化するように、前記撮像手段の駆動を制御する制御工程を有し、
前記制御工程では、前記映像信号の被写体に含まれる物体と前記撮像手段との距離が第１の値である場合よりも、前記物体と前記撮像手段との距離が前記第１の値よりも小さい第２の値である場合のほうが、前記映像信号に含まれる画素数が少なくなるように、前記撮像手段の駆動を制御することを特徴とする撮像装置の制御方法。
【請求項１９】
撮像手段の出力から生成される映像信号に含まれる画素数が変化するように、前記撮像手段の駆動を制御する制御工程を有し、
前記制御工程では、前記映像信号において、前記映像信号の被写体に含まれる物体のサイズが第１の値である場合よりも、前記映像信号における前記物体のサイズが前記第１の値よりも大きい第２の値である場合のほうが、前記映像信号に含まれる画素数が少なくなるように、前記撮像手段の駆動を制御することを特徴とする撮像装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は映像信号を生成する撮像手段の読み出しの制御に関する。
【背景技術】
【０００２】
工場では生産ラインの自動化を進めるため、部品の組み立てに必要な物体を把持し、所望の位置に移動させる機能を備えたロボットアームが導入されている。ロボットアームが物体を把持するためには、把持する対象となる物体の位置や向きの情報を正しく把握する必要がある。物体の位置情報を得る一つの例として、ロボットアームに備え付けられたカメラによって生成された映像信号を解析する方法があげられる。
【０００３】
従来、画像処理を用いて物体の位置を検出する方法として、パターンマッチング処理が知られている。パターンマッチング処理では、映像信号にソーベル（Ｓｏｂｅｌ）フィルタやキャニー（Ｃａｎｎｙ）フィルタ等を適用し、物体の形状に関する特徴であるエッジ情報を抽出する。そして、抽出したエッジ情報を、予め用意した対象の物体のモデルデータと比較し、その類似度に基づいて物体を識別し、物体を把持する（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−０８１２６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
映像信号の解像度が低すぎると、映像信号内に含まれる細かなエッジが潰れてしまうため、物体の識別を正しく行えないケースがある。
【０００６】
反対に、映像信号の解像度が高すぎても、物体の識別を正しく行えないケースがある。エッジ情報は、映像信号内の近傍の画素間の信号レベルの差に応じた値となる。そのため、物体がなだらかに変化する形状を有する場合は、映像信号の解像度が高すぎると、近傍の画素間の信号レベルの差が小さく、エッジとして認識できなくなる可能性がある。さらに、映像信号の解像度が高いとデータ量も大きくなるため、物体を識別するための演算処理に時間を要してしまう。
【０００７】
そこで、本発明は、画像の識別に適した映像信号を、状況に応じて生成することができる装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本願請求項１に係る画像処理装置は、撮像手段の出力から生成された映像信号を取得し、映像信号の被写体に含まれる物体の解析を行う解析手段と、撮像手段から出力される映像信号に含まれる画素数が変化するように、撮像手段の駆動を制御する制御手段を有し、制御手段は、物体と撮像手段との距離が第１の値である場合よりも、物体と撮像手段との距離が第１の値よりも小さい第２の値である場合のほうが、撮像手段から出力される映像信号に含まれる画素数が少なくなるように、撮像手段の駆動を制御することを特徴とする。
【０００９】
また、上記課題を解決するため、本願請求項６に係る画像処理装置は、撮像手段の出力から生成された映像信号を取得し、映像信号の被写体に含まれる物体の解析を行う解析手段と、撮像手段から出力される映像信号に含まれる画素数が変化するように、撮像手段の駆動を制御する制御手段を有し、制御手段は、映像信号における物体のサイズが第１の値である場合よりも、映像信号における物体のサイズが第１の値よりも大きい第２の値である場合のほうが、撮像手段から出力される映像信号に含まれる画素数が少なくなるように、撮像手段の駆動を制御することを特徴とする。
【００１０】
また、上記課題を解決するため、本願請求項１４に係る撮像装置は、撮像手段と、撮像手段の出力に応じた映像信号に含まれる画素数が変化するように、撮像手段の駆動を制御する制御手段を有し、制御手段は、映像信号の被写体に含まれる物体と撮像手段との距離が第１の値である場合よりも、物体と撮像手段との距離が第１の値よりも小さい第２の値である場合のほうが、撮像手段から出力される映像信号に含まれる画素数が少なくなるように、撮像手段の駆動を制御することを特徴とする。
【００１１】
また、上記課題を解決するため、本願請求項１５に係る撮像装置は、撮像手段と、撮像手段の出力に応じた映像信号に含まれる画素数が変化するように、撮像手段の駆動を制御する制御手段を有し、制御手段は、映像信号において、映像信号の被写体に含まれる物体のサイズが第１の値である場合よりも、映像信号における物体のサイズが第１の値よりも大きい第２の値である場合のほうが、撮像手段から出力される映像信号に含まれる画素数が少なくなるように、撮像手段の駆動を制御することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、画像の識別に適した映像信号を、状況に応じて生成することができる装置を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態に係る撮像装置とロボットアームの構成を示す図である。
【図２】発明の第１の実施形態に係る撮像装置とロボットアームのシステムブロック図である。
【図３】映像信号に含まれる物体のサイズを説明するための図である。
【図４】発明の第１の実施形態に係る撮像装置の動作を示すフローチャートである。
【図５】本発明の第３の実施形態に係る撮像装置とロボットアームの構成を示す図である。
【図６】発明の第３の実施形態に係る撮像装置とロボットアームのシステムブロック図である。
【図７】発明の第３の実施形態に係る撮像装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら本発明の好適な実施形態について説明を行う。
【００１５】
（第１の実施形態）
図１は、本発明の第１の実施形態に係る撮像装置とロボットアームの構成を示す図である。撮像装置１００はロボットアーム１０１に固定され、ロボットアーム１０１との間で各種の制御信号、画像処理の演算結果、および、位置情報などを通信している。撮像装置１００は静止画の映像信号を撮像するカメラでも、動画の映像信号を撮像するビデオカメラでもよい。ロボットアーム１０１には、物体を把持および開放するハンド機構１０１ａが備えられている。ハンド機構１０１ａは対象となる物体１１０を把持する機能を持つ。
【００１６】
図２は、発明の第１の実施形態に係る撮像装置１００とロボットアーム１０１のシステムブロック図である。撮像装置１００は、レンズ２００、撮像素子２０１、映像信号処理回路２０２を備えており、映像信号処理回路２０２はエッジ抽出回路２０３、パターンマッチング処理回路２０４、および、撮像素子の制御回路２０５を含む。
【００１７】
撮像素子２０１はＣＭＯＳセンサやＣＣＤで構成され、レンズ２００を介して入射された被写体の像を電気信号に変換して映像信号として出力する。この撮像素子２０１は、撮像素子の制御回路２０５からの制御信号によって各画素の信号を読み出すための駆動設定を変更する。
【００１８】
具体的には、水平もしくは垂直方向に、所望の数の画素の信号を加算して読み出すことで、出力する映像信号の画素数を変更する機能である。撮像素子２０１から出力された映像信号は、映像信号処理回路２０２に入力される。撮像素子２０１と映像信号処理回路２０２の伝送帯域は決められているため、撮像素子２０１の全ての画素の信号を読み出そうとすると、伝送帯域によってフレームレートが制限され、フレームレートが下がってしまう。しかしながら、例えば撮像素子２０１の読み出し駆動を変更することで、撮像素子２０１から出力される１フレームあたりの映像信号の容量を減らせば、フレームレートを上げることができる。
【００１９】
映像信号処理回路２０２内のエッジ抽出回路２０３は、入力された映像信号に対して、対象となる物体１１０のエッジ情報の抽出処理を行う。ここではソーベル（Ｓｏｂｅｌ）フィルタやキャニー（Ｃａｎｎｙ）フィルタ等を用いてエッジ情報を抽出する。
【００２０】
抽出されたエッジ情報はパターンマッチング処理回路２０４に送られる。パターンマッチング処理回路２０４は、入力されたエッジ情報と、予め、識別対象となる物体ごとに記憶しておいたエッジ情報のモデルデータとの間で、パターンマッチング処理を実行する。
【００２１】
パターンマッチング処理は公知の方法を用いればよい。サイズおよび位置を変えながら、各フレームのエッジ情報から複数の領域を切り出して、モデルデータとの間の類似度を求めればよい。エッジ情報を複数の角度で回転させる、あるいは、複数の向きに対応するモデルデータを用意しておけば、様々な姿勢の物体を識別することができる。
【００２２】
パターンマッチング処理回路２０４は、パターンマッチング処理の結果に基づいて、対象となる物体１１０の姿勢、位置、および、占有画素数を検出し、検出した結果を示す情報をロボットアーム１０１に送る。
【００２３】
撮像装置１００から送られてきた情報は、ロボットアーム１０１の位置算出回路２０６に入力される。位置算出回路２０６は撮像装置１００から送られてきた情報に基づき、物体１１０の姿勢、位置などの情報と、ロボットアームの各アームの制御位置の情報から、ハンド機構１０１ａと物体１１０までの距離情報を算出する。算出された結果はロボットの制御回路２０７に送られ、ロボットの制御回路２０７では距離情報をもとにハンド機構１０１ａを対象となる物体１１０に近づけるための制御を行う。
【００２４】
さらに、撮像素子の制御回路２０５は、映像信号における物体１１０の占有画素数の情報に応じて、物体１１０の占有画素数が好適な数となるように撮像素子２０１の駆動制御を行う。この撮像素子の制御回路２０５は、撮像素子２０１の駆動回路であってもよいし、撮像素子２０１の駆動回路に対して制御信号を送信する回路であってもよい。
【００２５】
図３は映像信号に含まれる対象となる物体１１０のサイズを説明するための図である。図３（ａ）および（ｂ）は映像信号に含まれる物体１１０を示す図であり、図３（ｂ）のほうが図３（ａ）よりも、ハンド機構１０１ａから物体１１０までの距離が近い。ロボットアーム１０１は三次元的に移動することが可能であるため、ハンド機構１０１ａから物体１１０までの距離が変化する。図３（ａ）のようにハンド機構１０１ａから物体１１０までの距離が離れているときは、物体１１０のエッジに重畳する画素が少ない。一方で、図３（ｂ）のようにハンド機構１０１ａから物体１１０までの距離が近いときは、物体１１０のエッジに重畳する画素が多くなる。
【００２６】
エッジの抽出は上述したようにソーベル（Ｓｏｂｅｌ）フィルタやキャニー（Ｃａｎｎｙ）フィルタなど、基本的に画素間の輝度差を検出し、輝度差が多いところをエッジとして抽出する。図３（ａ）のように物体１１０のエッジに重畳する画素が少ないと、エッジが潰れてしまったり、エッジの形状を正しく検出できなかったりする可能性がある。反対に、図３（ｂ）のように物体１１０のエッジに重畳する画素が多いと、従来技術で説明したように、物体１１０のエッジがなだらかであると、近傍の画素間の信号レベルの差が小さく、エッジとして認識できなくなる可能性がある。
【００２７】
すなわち、精度よく物体のエッジを検出するためには、映像信号に含まれる物体のサイズ（占有画素数）を最適にする必要がある。ただし、全画素の信号を読み出して映像信号に変換してから、映像信号の間引や加算平均などの処理を行っていては演算に時間がかかり、ロボットアームの制御も遅くなってしまう。そのため、映像信号を生成する前に、撮像素子２０１において画素の間引き読み出しや加算読み出しを実施したほうが処理を速くすることができる。
【００２８】
図４は実施形態に係る撮像装置の動作を示すフローチャートであり、ロボットアーム１０１が物体１１０を把持するまでの動作を例にして各フローについて説明していく。図４において、ステップをＳと示している。
【００２９】
まず、ステップ４０１において、撮像素子の制御回路２０５は撮像素子の駆動をデフォルトの読み出し方法に設定する。本実施形態では、デフォルトの読み出し方法として撮像素子２０１の全画素を読み出す方法を設定するが、これに限られるわけではなく、加算読み出しや間引き読み出しとしてもよい。
【００３０】
ステップ４０２において、撮像装置１００は撮像を行って撮像素子２０１から蓄積電荷に応じた信号が生成され、この信号をＡ／Ｄ変換して映像信号を生成する。
【００３１】
ステップ４０３において、エッジ抽出回路２０３は映像信号を取得し、この映像信号に対して対象となる物体１１０のエッジ抽出処理をおこない、抽出された結果から物体１１０のエッジ情報としてのエッジ画像を作成する。
【００３２】
ステップ４０４において、パターンマッチング処理回路２０４は、作成したエッジ画像と予め記憶しておいた物体１１０のエッジ画像のモデルデータとの間で上述したパターンマッチング処理を実行する。
【００３３】
ステップ４０５において、パターンマッチング処理によって得られた類似度が低く、物体１１０とモデルデータに対応する物体とが一致しないと判断された場合は、ステップ４０２に戻る。これは、識別対象となる物体がそもそも置かれていない場合や、識別対象外の別の物体が置かれてしまっている場合が相当する。なお、複数回連続して物体１１０とモデルデータに対応する物体とが一致しないと判断された場合は、エラーであることをユーザに放置してこのフローチャートを終了するようにしてもよい。反対に、物体１１０とモデルデータに対応する物体とが一致すると判断された場合は、ステップ４０６に進む。
【００３４】
ステップ４０６において、物体１１０のエッジ画像から物体１１０の姿勢、位置、および、形状の情報を算出する。
【００３５】
また、ステップ４０７において、物体１１０の映像信号上の占有画素数を算出する。なお、物体１１０のサイズが同じであっても、撮像素子２０１の駆動方法が変わることによって映像信号の画素数も変化するため、これに応じて物体１１０の映像信号上の占有画素数も変化する。
【００３６】
ステップ４０８において、位置算出回路２０６は、ステップ４０６および４０７で得られた情報を受け取り、これらの情報と各アーム１０１の制御情報に基に、ハンド機構１０１ａと物体１１０の距離情報を算出する。ステップ４０７で得られた物体１１０の占有画素数と撮像素子２０１から出力される映像信号の画素数から、物体１１０の映像信号上のサイズを測定する。測定したサイズと、予め記憶された物体１１０のサイズの情報を比較することで、ハンド機構１０１ａと物体１１０までの相対的な距離情報を算出することができる。
【００３７】
ステップ４０９において、位置算出回路２０６は、ステップ４０８で得られた距離情報に基づいて、ロボットの制御回路２０７に、ハンド機構１０１ａを対象に近づけるようにロボットアーム１０１の駆動制御を行わせる。もし、ステップ４０５のパターンマッチング処理によって位置や姿勢について十分に精度の高い結果が得られていれば、ハンド機構１０１ａによる物体１１０の把持まで行う。
【００３８】
ステップ４１０において、ハンド機構１０１ａが対象となる物体１１０を把持していればこのフローチャートを終了し、まだ把持する前の段階であればステップ４１１に進む。
【００３９】
ステップ４１１において、撮像素子の制御回路２０５は、撮像素子２０１の駆動設定とステップ４０８で算出した距離情報が対応しているかを判断し、対応していなければ撮像素子２０１の駆動設定の変更が必要と判断する。例えば、ハンド機構１０１ａと物体１１０の距離が閾値未満であれば、撮像素子２０１の駆動設定として間引き読み出しや加算読み出しが対応し、閾値以上であれば、撮像素子２０１の駆動設定として全画素読み出しが対応する。あるいは、ステップ４０８で算出した距離情報に応じて、撮像素子２０１から出力される映像信号に含まれる画素数が段階的に変化するように、撮像素子２０１の読み出し方法を変更するようにしても構わない。
【００４０】
ステップ４１１で撮像素子２０１の駆動変更が必要であると判断されると、ステップ４１２において、撮像素子の制御回路２０５は、ハンド機構１０１ａと物体１１０の距離情報に応じた読み出し方法となるように、撮像素子２０１の駆動設定を変更する。そして、ステップ４０２の処理に戻り、同様の処理を繰り返す。
【００４１】
上述したように、撮像装置１００と対象となる物体１１０の距離が近すぎると、かえってエッジを精度よく検出することができなくなる。そこで、本実施形態では撮像装置１００と物体１１０の距離が閾値未満である場合には、撮像素子２０１から出力する画素数を減らすことで、エッジの検出精度を向上させるとともに、画素数を減らすことでフレームレートの高速化を実現する。フレームレートを高速化することで、ハンド機構１０１ａが物体１１０に近づいたときの画像の解析頻度を上げることができ、より正確に物体１１０を把持することができるようになる。
【００４２】
なお、ここでは映像信号処理回路２０２が撮像装置１００の内部に設けられている例を挙げたが、これらの一部あるいは全ての回路はロボットアーム１０１や外部のサーバに設けられていても良い。これらの回路が外部のサーバに設けられている場合には、撮像素子２０１で生成された映像信号をサーバに送信し、サーバ内のパターンマッチング処理回路２０４で得られた結果をロボットアーム１０１に送信すればよい。また、これらの回路は、ＡＳＩＣ（特定用途向け集積回路）のようなハードウェアで構成されてもよいし、不図示のＣＰＵによって実行されてもよい。ＣＰＵが実行する場合には、予め用意された、エッジエッジ抽出およびパターンマッチングの機能を実現するためのコードが記載されたプログラムを読み、このプログラムに記載されたコードに従って処理すればよい。
【００４３】
また、本実施形態では、ステップ４１１において距離情報に基づいて撮像素子２０１の駆動設定の変更が必要かを判断したが、これらに限られるものではない。例えば、物体のモデルデータと、その物体の形状を考慮した占有画素数の情報を関連付けて予め記憶しておく。そして、ステップ４０７で得られた占有画素数が、モデルデータに関連付けられた占有画素数に対して所定の範囲内に収まっていない場合に、撮像素子２０１の駆動設定の変更が必要と判断するようにしてもよい。
【００４４】
以上説明したように、映像信号における物体１１０の占有画素数がエッジ抽出をするために好適なサイズとなるように、撮像素子２０１の駆動設定を制御することで、物体１１０の形状を精度良く検出することが可能となる。さらに、エッジの検出精度を低下させない範囲で読み出す画素数を減らすことで、物体の形状の検出処理に要する時間を短縮することが可能となり、物体１１０を撮像するフレームレートを上げることが可能となる。
【００４５】
（第２の実施形態）
第１の実施形態では、ステップ４０２で生成した映像信号から抽出された物体１１０の占有画素数に基づいて、撮像素子２０１の駆動設定を制御していた。この方法は、撮像装置１００の撮像間隔が短く（フレームレートが高く）、次に撮像を行うまでの間のロボットアーム１０１の移動量が小さい場合には有効である。
【００４６】
しかしながら、撮像装置１００の撮像間隔が長いと、次に撮像を行うときには、対象となる物体１１０に対する撮像装置１００の位置が大きく変化しており、映像信号における物体１１０の見え方が大きく変わってしまう可能性がある。すると、ステップ４１１で撮像素子の駆動設定を変更する必要はないと判断しても、次の撮像で得られた映像信号において、映像信号における物体１１０の占有画素数が形状の識別のために好適な数になっているとは限らない。
【００４７】
そこで、本実施形態では、図４のステップ４１２において、ステップ４０７で得られた物体１１０の占有画素数の情報に加えて、ステップ４０９におけるロボットアームの駆動量から予測した撮像装置１００と物体１１０の距離を予測する。そして、これらの情報から、現状の撮像素子２０１の駆動設定の状況下での、次の撮像時における物体１１０の占有画素数を推定し、これが好適な占有画素数となるように撮像素子２０１の駆動設定を変更する。
【００４８】
以上説明したように、本実施形態においても、映像信号における物体１１０の占有画素数がエッジ抽出をするために好適なサイズとなるように、撮像素子２０１の駆動設定を制御することで、物体１１０の形状を精度良く検出することが可能となる。さらに、エッジの検出精度を低下させない範囲で読み出す画素数を減らすことができるため、物体の形状の検出処理に要する時間を短縮することが可能となり、物体１１０を撮像するフレームレートを上げることが可能となる。
【００４９】
（第３の実施形態）
図５は、本発明の第３の実施形態に係る撮像装置とロボットアームの構成を示す図である。本実施形態では、図１の撮像装置１００の代わりに撮像装置１２０を設け、ロボットアーム１０１が把持する対象である物体１１０に照明を当てている照明装置１０２が設けられている点で、第１の実施形態と異なる。
【００５０】
照明装置１０２が物体１１０を照明することで、屋内であっても、撮像装置１００はエッジの抽出に好適な映像信号を得ることができる。また、照明で物体１１０を明るく照らすことで、撮像素子２０１の露光時間を短くし、ブレおよびノイズの少ない画像を得ることができる。
【００５１】
しかしながら、ロボットアーム１０１が物体１１０を把持しようとして物体１１０に近づくことで、ロボットアーム１０１が照明装置１０２と物体１１０の間に入り込み、物体１１０が陰になってしまい、エッジの抽出精度が低下してしまうおそれがある。
【００５２】
そこで、本実施形態の撮像装置１２０は、物体１１０が陰になってしまった場合でも、物体１１０の形状を精度よく検出できる映像信号を生成できるようにするために、撮像素子２０１の駆動設定を制御する。
【００５３】
図６は、第３の実施形態に係る撮像装置１２０とロボットアーム１０１のシステムブロック図である。図２のブロックと同じ符号が付与されたブロックは、図２のブロックと同様のものである。本実施形態の撮像装置１２０は映像信号処理回路２１２を有しており、この映像信号処理回路２１２は、撮像素子２０１とエッジ抽出回路２０３との間に、輝度検出回路２１１を設けている。
【００５４】
この輝度検出回路２１１は、撮像素子２０１から出力された映像信号から物体１１０の輝度を検出し、その結果を撮像素子の制御回路２０５に送るとともに、映像信号をエッジ抽出回路２０３に送る。
【００５５】
図７は、本実施形態に係る撮像装置の動作を示すフローチャートである。図７において、図４と同じ処理には、図４のステップと同じステップの番号を割り当てている。
【００５６】
まず、ステップ４０１において、撮像素子の制御回路２０５は撮像素子の駆動をデフォルトの読み出し方法に設定する。本実施形態では、デフォルトの読み出し方法として撮像素子２０１の全画素を読み出す方法を設定するが、これに限られるわけではなく、加算読み出しや間引き読み出しとしてもよい。
【００５７】
ステップ５０１において、撮像素子の駆動設定が、後述するフレーム加算読み出し駆動であればステップ５０２に進み、フレーム加算読み出し駆動でなければステップ４０２に進む。
【００５８】
ステップ５０２において、ロボットアーム１０１が動いているかどうかを判断する。フレーム加算読み出し駆動の場合、ロボットアーム１０１が動いているとフレーム毎に画像データが変化してしまうため、ステップ５０２でロボットアーム１０１が静止するまでループを繰り返す。ロボットアーム１０１が静止したらステップ４０２に進む。
【００５９】
ステップ４０２において、撮像装置１００は撮像を行って撮像素子２０１から蓄積電荷に応じた信号が生成され、この信号をＡ／Ｄ変換して映像信号を生成する。そしてステップ５０３に進む。
【００６０】
ステップ５０３において、輝度検出回路２１１は映像信号から、映像信号全体もしくは物体１１０に相当する領域の輝度を算出し、ステップ４０３に進む。
【００６１】
ステップ４０３乃至ステップ４１１は、第１の実施形態と同様である。
【００６２】
ステップ４１１において、撮像素子の制御回路２０５は、撮像素子の駆動変更が可能ではないと判断した場合には、撮像素子の駆動設定を変更せずにステップ４０２に戻る。これに対し、撮像素子の制御回路２０５は、撮像素子の駆動変更が可能ではないと判断した場合には、ステップ５０４に進む。
【００６３】
ステップ５０４において、撮像素子の制御回路２０５は、ステップ５０３で算出した物体１１０の輝度が、第１の閾値ＴＨ１より小さくなければステップ５０５に進み、第１の閾値ＴＨ１より小さければステップ５０６に進む。
【００６４】
ステップ５０５において、撮像素子の制御回路２０５は、撮像素子２０１の駆動設定を間引き読み出しに設定し、占有画素数がモデルデータに関連付けられた占有画素数の範囲に収まるように、間引き量を設定する。もし、占有画素数がモデルデータに関連付けられた占有画素数の範囲に収まるために全画素から読み出す必要であれば、全画素読み出しを設定する。そして、ステップ５０１に戻る。
【００６５】
ステップＳ５０６において、撮像素子の制御回路２０５は、ステップ５０３で算出した物体１１０の輝度を、第１の閾値ＴＨ１より小さい第２の閾値ＴＨ２と比較する。物体１１０の輝度が第２の閾値ＴＨ２よりも小さければステップ５０７に進み、第２の閾値ＴＨ２より小さくなければステップ５０８に進む。
【００６６】
ステップ５０７において、撮像素子の制御回路２０５は、撮像素子２０１の駆動設定を加算読み出しに設定し、占有画素数がモデルデータに関連付けられた占有画素数の範囲に収まるように、加算して読み出すライン数を設定する。加算読み出しを行うことで、間引き読み出しをする場合に比べて映像信号の輝度レベルが向上し、エッジの検出精度を向上することができる。全画素読み出しをすると映像信号の輝度レベルを上げることができないため、ここでは物体１１０が小さくとも全画素読み出しは設定されない。そして、ステップ５０１に戻る。
【００６７】
ステップ５０８において、撮像素子の制御回路２０５は、撮像素子２０１の駆動設定をフレーム加算読み出しに設定する。占有画素数がモデルデータに関連付けられた占有画素数の範囲に収まるように、加算して読み出すライン数を設定するとともに、読み出した複数フレームの映像信号を単純加算して合成する。こうすることで、単に加算読み出しをした場合よりも、さらに輝度レベルが向上した映像信号を生成する。そして、ステップ５０１に戻る。
【００６８】
以上説明したように、本実施形態においても、映像信号における物体１１０の占有画素数がエッジ抽出をするために好適なサイズとなるように、撮像素子２０１の駆動設定を制御することで、物体１１０の形状を精度良く検出することが可能となる。さらに、対象となる物体の輝度レベルが低い場合にはフレーム加算を行うことで、エッジの検出精度を向上することが可能となる。
【００６９】
なお、いずれの実施形態においても、ロボットアームを例にあげて説明を行ったが、撮像装置１００と物体１１０の距離が変化する状況下であれば、本発明を適用することができる。例えば、撮像装置１００はハンド機構１０１ａを備えたアームとは別のアームに設けられていても良いし、撮像装置１００が物体１１０の上方向に物体１１０から離れて固定されており、物体１１０を乗せたステージが上下移動する構成としてもよい。あるいは、撮像装置１００と物体１１０の距離は変わらずとも、撮像装置１００が光学的なズーム機構を有していれば、このズーム倍率に応じて、図３に示すように映像信号における物体の占有画素数が変化するので、本発明を適用することができる。
【００７０】
さらに、上記実施形態では、映像信号における物体１１０の占有画素数に基づいて、ハンド機構１０１ａと物体１１０までの相対的な距離情報を算出したが、これに限られるものではない。撮像装置のＡＦ機能を利用したり、撮像装置とは別に設けた測距装置を用いたり、ロボットアームを水平方向から撮像する別のカメラを用いたりして、ハンド機構１０１ａと物体１１０までの相対的な距離情報を算出するようにしてもよい。
【００７１】
（その他の実施形態）
さらに、本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又はコンピュータ読み取り可能な記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータの１以上のプロセッサがプログラムを実行することでも実現できる。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００７２】
上述の実施形態は本発明の理解を助けることを目的とした具体例に過ぎず、いかなる意味においても本発明を上述の実施形態に限定する意図はない。特許請求の範囲に規定される範囲に含まれる全ての実施形態は本発明に包含される。
【符号の説明】
【００７３】
１００、１２０  撮像装置
１０１  ロボットアーム
１０１ａ  ハンド機構
１０２  照明装置
２００  レンズ
２０１  撮像素子
２０２、２１２  映像信号処理回路
２０３  エッジ抽出回路
２０４  パターンマッチング処理回路
２０５  撮像素子の制御回路
２０６  位置算出回路
２０７  ロボットの制御回路
２１１  輝度検出回路
【図１】
2019176424.tif 000003
【図２】
2019176424.tif 000004
【図３】
2019176424.tif 000005
【図４】
2019176424.tif 000006
【図５】
2019176424.tif 000007
【図６】
2019176424.tif 000008
【図７】
2019176424.tif 000009