(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-19
(45)【発行日】2024-02-28
(54)【発明の名称】画像処理装置、画像センサ、画像処理装置の制御方法
(51)【国際特許分類】
H04N 21/2343 20110101AFI20240220BHJP
H04N 21/24 20110101ALI20240220BHJP
【FI】
H04N21/2343
H04N21/24
(21)【出願番号】P 2020023190
(22)【出願日】2020-02-14
【審査請求日】2022-12-07
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】岡田 直樹
(72)【発明者】
【氏名】阿部 優作
(72)【発明者】
【氏名】中岡 象平
【審査官】松元 伸次
(56)【参考文献】
【文献】特開2006-171850(JP,A)
【文献】特開2016-072686(JP,A)
【文献】特表2020-514930(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T1/00-1/40
3/00-7/90
G06V10/00-20/90
30/418
40/16
40/20
H04N7/10
7/14-7/56
21/00-21/858
(57)【特許請求の範囲】
【請求項1】
対象物を撮影した画像を取得する画像取得部と、
前記画像取得部により取得された前記画像を用いて、前記対象物の検出、計測、認識、及び検査のうち少なくともいずれかを含む処理を実行する処理部と、
前記処理の結果を示す情報と前記対象物の画像とを含むデータを、ネットワークを介して、端末に送信する情報送信制御部と、を備える画像処理装置であって、
前記情報は、前記対象物の画像の上に重畳して表示されるものであり、
前記情報送信制御部は、前記端末の性能、前記端末の負荷状況、前記ネットワークの負荷状況、及び前記画像処理装置自身の負荷状況のうち少なくともいずれかに応じて、前記端末に送信する前記対象物の画像である送信画像の解像度を変更するとともに、変更後の解像度にあわせて前記情報を重畳する前記送信画像上の座標を調整する
ことを特徴とする画像処理装置。
【請求項2】
前記情報送信制御部は、前記端末側で前記送信画像上に前記情報を重畳する処理を行わせるために、前記送信画像と前記情報と前記情報を重畳する座標とを含むデータをネットワークを介して前記端末に送信する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記情報送信制御部は、前記送信画像上に前記情報を重畳した合成画像データを生成し、前記合成画像データをネットワークを介して前記端末に送信する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記情報送信制御部は、前記端末の性能、前記端末の負荷状況、前記ネットワークの負荷状況、及び前記画像処理装置自身の負荷状況のうち少なくともいずれかに応じて、単位時間あたりの前記送信画像の伝送回数を変更する
ことを特徴とする請求項1~3のうちいずれか1項に記載の画像処理装置。
【請求項5】
前記情報送信制御部は、前記端末の性能、前記端末の負荷状況、前記ネットワークの負荷状況、及び前記画像処理装置自身の負荷状況のうち少なくともいずれかに応じて、前記送信画像の圧縮の有無及び/又は圧縮率を変更する
ことを特徴とする請求項1~4のうちいずれか1項に記載の画像処理装置。
【請求項6】
前記情報と前記送信画像は、前記端末においてWebブラウザにより表示されるものであり、
前記情報送信制御部は、前記端末で用いられているWebブラウザの種類及び/又はバージョンに応じて、前記送信画像のフォーマットを変更する
ことを特徴とする請求項1~5のうちいずれか1項に記載の画像処理装置。
【請求項7】
前記情報送信制御部は、
前記端末の性能、前記端末の負荷状況、前記ネットワークの負荷状況、及び前記画像処理装置自身の負荷状況のうち少なくともいずれかと、
前記送信画像の解像度、単位時間あたりの前記送信画像の伝送回数、前記送信画像の圧縮の有無、及び前記送信画像の圧縮率のうち少なくともいずれかと、
を対応付けた対応テーブルに基づいて、前記端末への情報送信を制御する
ことを特徴とする請求項1~6のうちいずれか1項に記載の画像処理装置。
【請求項8】
前記情報送信制御部は、複数の対応テーブルを有しており、前記端末のユーザによって前記複数の対応テーブルのなかから選択された対応テーブルを用いて、前記端末への情報送信を制御する
ことを特徴とする請求項7に記載の画像処理装置。
【請求項9】
対象物を撮影するための撮像部と、
前記撮像部から取り込まれる画像を用いて処理を行う請求項1~6のうちいずれか1項に記載の画像処理装置と、
を備えることを特徴とする画像センサ。
【請求項10】
画像処理装置の制御方法であって、
前記画像処理装置は、対象物を撮影した画像を用いて、前記対象物の検出、計測、認識、及び検査のうち少なくともいずれかを含む処理を実行する処理部を備え、前記対象物の画像と前記対象物の画像の上に重畳して表示される前記処理の結果を示す情報とを含むデータを、ネットワークを介して、端末に送信可能であり、
前記制御方法は、
前記端末の性能、前記端末の負荷状況、前記ネットワークの負荷状況、及び前記画像処理装置自身の負荷状況のうち少なくともいずれかに応じて、前記端末に送信する前記対象物の画像である送信画像の解像度を変更するステップと、
変更後の解像度にあわせて前記情報を重畳する前記送信画像上の座標を調整するステップと、
解像度が変更された前記送信画像と、座標が調整された前記情報とを含むデータを、前記ネットワークを介して、前記端末に送信するステップと、
を有することを特徴とする画像処理装置の制御方法。
【請求項11】
請求項10に記載の画像処理装置の制御方法の各ステップを、前記画像処理装置が有するプロセッサに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、工場の製造ライン等で利用される画像センサに関する。
【背景技術】
【0002】
工場の製造ラインにおいては、カメラで撮影した画像を用いて対象物の検出、計測、認識、検査などの処理を行う画像センサが広く利用されている(特許文献1参照)。多くの画像センサはリモートアクセス機能を有しており、オペレータや管理者は、外部の操作端末からネットワーク経由で画像センサに接続し、撮影した画像やその処理結果を確認したり、画像センサの設定やメンテナンスをオンラインで行ったりできるようになっている(特許文献2参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2009-47446号公報
【文献】特開2019-175406号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
最近では、画像センサにアクセスするための操作端末として、PC(パーソナルコンピュータ)、タブレット端末、スマートフォンなど様々な種類のコンピュータが利用可能となってきている。そのため、同じ画像センサに接続される操作端末であっても、画面サイズ、解像度、処理性能、表示可能な形式などが端末ごとに相違する可能性がある。また、例えばLAN経由でアクセスする場合と遠隔地からWAN経由でアクセスする場合のように伝送路の種類や帯域も様々であり、接続している操作端末の数によって負荷状況も変わるため、画像センサと操作端末の間の伝送速度も変化する可能性がある。
【0005】
従来の画像センサは、操作端末のスペックやネットワークの伝送速度などを特に考慮せずに一定の解像度の画像を伝送していたため、操作端末によっては画像の表示(フレーム更新)に遅れが生じたり、画像の表示に失敗したりする場合があり、問題となっていた。画像センサに搭載されるカメラの高精細化により、画像のデータサイズが大きくなるほど、この問題は顕著になる。
【0006】
操作端末のスペックや伝送速度に依らずフレーム更新速度を保証するために、撮影した画像(すなわち、検出や検査等の処理に用いた画像)をそのまま操作端末へ送るのではなく、解像度変換(ダウンサンプリング)によりデータサイズを削減した画像を操作端末への送信に用いることも考えられる。しかしながら、低解像度の画像は視認性が低く、解像度変換の過程で重要な情報が欠落してしまうおそれもあるため、必要のない場合(例えば、操作端末のスペックや伝送速度が十分高い場合)にまで解像度変換を行うことは望ましくない。
【0007】
また、画像センサの処理結果の確認画面などでは、画像の上に処理結果(例えば、認識した文字・図形、計測した寸法・角度など)のグラフィックを重畳表示することが行われるが、送信用の画像を低解像度化した場合に、画像と処理結果のグラフィックの位置ずれが生じるという問題もある。なお、画像上に処理結果のグラフィックを合成した後、その合成画像を解像度変換して送信用の画像を生成すれば位置ずれの問題は生じないが、この手順を採ると、解像度変換によってグラフィックが不鮮明になり、処理結果の視認性が著しく損なわれるおそれがあるため、好ましくない。
【0008】
本発明は、上記実情に鑑みなされたものであって、画像センサにネットワークを介して接続する端末に対し、適切な品質の画像表示を行わせるための技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
本開示は、対象物を撮影した画像を取得する画像取得部と、前記画像取得部により取得された前記画像を用いて、前記対象物の検出、計測、認識、及び検査のうち少なくともいずれかを含む処理を実行する処理部と、前記処理の結果を示す情報と前記対象物の画像とを含むデータを、ネットワークを介して、端末に送信する情報送信制御部と、を備える画像処理装置であって、前記情報は、前記対象物の画像の上に重畳して表示されるものであり、前記情報送信制御部は、前記端末の性能、前記端末の負荷状況、前記ネットワークの負荷状況、及び前記画像処理装置自身の負荷状況のうち少なくともいずれかに応じて、前記端末に送信する前記対象物の画像である送信画像の解像度を変更するとともに、変更後の解像度にあわせて前記情報を重畳する前記送信画像上の座標を調整することを特徴とする画像処理装置を含む。
【0010】
この構成によれば、端末の性能、端末の負荷状況、ネットワークの負荷状況、及び画像処理装置自身の負荷状況のうち少なくともいずれかに応じて送信画像の解像度の変更が行われる。すなわち、送信画像の解像度変更が常に一律に行われるのではなく、必要な場合(例えば、低スペックの端末に送信する場合や、高負荷の状況の場合など)にその状況に応じた解像度変更が行われる。もちろん、必要でない場合は画像の解像度変更が行われなくてもよい。これにより、端末の性能や負荷状況などに応じて、フレーム更新速度と画像品質のバランスをとった適切な品質の画像表示を実現することができる。
【0011】
加えて、送信画像の解像度変更が行われた場合には、解像度変更後の送信画像と処理結果を示す情報との位置調整も図られる。これにより、送信画像の解像度によらず、画像と処理結果の重畳表示を適切に行うことができるため、どの端末を用いた場合でも処理結果の正しい表示が可能となる。
【0012】
なお、送信画像と処理結果を示す情報との合成は、端末側で実行してもよいし、画像処理装置側で実行してもよい。前者の場合、例えば、前記情報送信制御部は、前記端末側で前記送信画像上に前記情報を重畳する処理を行わせるために、前記送信画像と前記情報と前記情報を重畳する座標とを含むデータをネットワークを介して前記端末に送信してもよい。後者の場合、例えば、前記情報送信制御部は、前記送信画像上に前記情報を重畳した合成画像データを生成し、前記合成画像データをネットワークを介して前記端末に送信してもよい。
【0013】
また、前記情報送信制御部は、前記端末の性能、前記端末の負荷状況、前記ネットワークの負荷状況、及び前記画像処理装置自身の負荷状況のうち少なくともいずれかに応じて、単位時間あたりの前記送信画像の伝送回数を変更してもよい。単位時間あたりの伝送回数、すなわち、送信画像のフレーム更新速度についても、必要な場合(例えば、低スペックの端末に送信する場合や、高負荷の状況の場合など)にその状況に応じて変更することにより、フレーム更新速度と画像品質のバランスをとった適切な品質の画像表示を実現することができる。なお、送信画像の解像度変更とフレーム更新速度の変更は独立に制御可能であり、いずれか一方の変更だけを行ってもよいし、両方の変更を行ってもよい。
【0014】
前記情報送信制御部は、前記端末の性能、前記端末の負荷状況、前記ネットワークの負荷状況、及び前記画像処理装置自身の負荷状況のうち少なくともいずれかに応じて、前記送信画像の圧縮の有無及び/又は圧縮率を変更してもよい。送信画像の圧縮についても、
必要な場合(例えば、低スペックの端末に送信する場合や、高負荷の状況の場合など)にその状況に応じて圧縮の有無や圧縮率を変更することにより、フレーム更新速度と画像品質のバランスをとった適切な品質の画像表示を実現することができる。なお、送信画像の圧縮の変更は、解像度変更やフレーム更新速度の変更とは独立に制御可能であり、いずれかの変更だけを行ってもよいし、任意に組み合わせてもよい。
【0015】
前記情報と前記送信画像は、前記端末においてWebブラウザにより表示されるものであるとよい。Webブラウザを利用することで、端末用のアプリケーションプログラムの開発が不要になり開発コストの削減が可能になるだけでなく、端末へのアプリケーションプログラムのインストールが不要になる、Webブラウザを搭載したあらゆる種類のデバイスを表示用の端末として利用できる、などのメリットがある。ただし、Webブラウザの種類やバージョンによって表示可能な画像フォーマットが相違する可能性があるため、前記情報送信制御部は、前記端末で用いられているWebブラウザの種類及び/又はバージョンに応じて、前記送信画像のフォーマットを変更してもよい。
【0016】
前記情報送信制御部は、前記端末の性能、前記端末の負荷状況、前記ネットワークの負荷状況、及び前記画像処理装置自身の負荷状況のうち少なくともいずれかと、前記送信画像の解像度、単位時間あたりの前記送信画像の伝送回数、前記送信画像の圧縮の有無、及び前記送信画像の圧縮率のうち少なくともいずれかと、を対応付けた対応テーブルに基づいて、前記端末への情報送信を制御してもよい。また、前記情報送信制御部は、複数の対応テーブルを有しており、前記端末のユーザによって前記複数の対応テーブルのなかから選択された対応テーブルを用いて、前記端末への情報送信を制御してもよい。例えば、送信画像の品質(解像度)を優先する設定や、送信画像のフレーム更新速度を優先する設定など、様々な条件設定の対応テーブルを用意しておくことで、ユーザが目的や用途に応じて適切な表示に切り替えることが容易にでき、利便性が向上する。
【0017】
本開示は、対象物を撮影するための撮像部と、前記撮像部から取り込まれる画像を用いて処理を行う上記画像処理装置と、を備えることを特徴とする画像センサを含む。
【0018】
本開示は、画像処理装置の制御方法であって、前記画像処理装置は、対象物を撮影した画像を用いて、前記対象物の検出、計測、認識、及び検査のうち少なくともいずれかを含む処理を実行する処理部を備え、前記対象物の画像と前記対象物の画像の上に重畳して表示される前記処理の結果を示す情報とを含むデータを、ネットワークを介して、端末に送信可能であり、前記制御方法は、前記端末の性能、前記端末の負荷状況、前記ネットワークの負荷状況、及び前記画像処理装置自身の負荷状況のうち少なくともいずれかに応じて、前記端末に送信する前記対象物の画像である送信画像の解像度を変更するステップと、変更後の解像度にあわせて前記情報を重畳する前記送信画像上の座標を調整するステップと、解像度が変更された前記送信画像と、座標が調整された前記情報とを含むデータを、前記ネットワークを介して、前記端末に送信するステップと、を有することを特徴とする画像処理装置の制御方法を含む。
【0019】
本開示は、前記画像処理装置の制御方法の各ステップを、前記画像処理装置が有するプロセッサに実行させるためのプログラムを含む。
【0020】
本発明は、上記手段の少なくとも一部を有する画像処理装置として捉えてもよいし、対象物を撮影する撮像部と上記手段の少なくとも一部を有する画像処理装置とを備える画像センサとして捉えてもよいし、その画像センサと端末とを備える画像センサシステムとして捉えてもよい。また、本発明は、上記処理の少なくとも一部を含む画像処理装置の制御方法、画像処理方法、画像送信方法などと捉えてもよいし、または、かかる方法を実現するためのプログラムやそのプログラムを非一時的に記録した記録媒体として捉えることも
できる。なお、上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
【発明の効果】
【0021】
本発明によれば、画像センサにネットワークを介して接続する端末に対し、適切な品質の画像表示を行わせることができる。
【図面の簡単な説明】
【0022】
【
図1】
図1は、画像センサシステムの構成例を示す図である。
【
図2】
図2は、画像センサと操作端末のハードウェア構成を示す図である。
【
図3】
図3は、画像処理装置の機能構成を示す図である。
【
図4】
図4は、情報送信制御部の詳細な構成を示す図である。
【
図5】
図5は、画像センサによる処理フローの例を示す図である。
【
図6】
図6は、情報送信制御部と操作端末によるリモートアクセス機能にかかわる処理フローの例を示す図である。
【
図7】
図7は、オリジナルサイズの画像の上に処理結果を重畳した例を示す図である。
【
図8】
図8は、縮小した画像の上に処理結果をそのまま重畳したことにより位置ずれが発生した例を示す図である。
【
図9】
図9は、画像の縮小率にあわせて処理結果の重畳位置と重畳サイズを調整した例を示す図である。
【
図10】
図10は、Webブラウザの表示画面の一例を示す図である。
【
図12】
図12Aは、画面更新速度を優先した設定の対応テーブルの例を示す図であり、
図12Bは、画像品質を優先した設定の対応テーブルの例を示す図である。
【
図13】
図13は、対応テーブルの選択に用いるGUIの例を示す図である。
【発明を実施するための形態】
【0023】
以下、実施形態に係る画像センサシステムの詳細について、図面を参照しながら説明する。
【0024】
<適用例>
まず、本発明が適用される画像センサシステムの一例について説明する。
図1に示すように、画像センサシステム1は、1つ以上の画像センサ50と1つ以上の操作端末10から構成されるシステムであり、FA(ファクトリーオートメーション)において製造ラインの監視・管理・制御などに利用される。以下に例示する実施形態では、画像センサ50の設計者、画像センサ50が使用される製造ラインのライン管理者、製造ラインの現場で画像センサ50の調整や処理結果の確認などを行う現場オペレータらが、それぞれ異なる操作端末10を使用して画像センサ50にアクセスし、対象物の画像や処理結果を閲覧する場面を想定する。
【0025】
画像センサ50は、例えば工場の製造ラインなどに設置され、画像を利用したさまざまな処理に利用される装置である。画像センサ50は、視覚センサ(Vision Sensor)や視
覚システム(Vision System)などとも呼ばれる。画像センサ50が提供する処理には、
例えば、対象物の検出、計測、認識、検査などがあり、具体的には、コンベアやトレイ上の対象物の検出、対象物の画像の記録、形状の認識、エッジの検出や幅・本数の計測、面積の計測、対象物の個数計測、色特徴の取得、ラベリングやセグメンテーション、物体認識、バーコードや2次元コードの読み取り、OCR、個体識別などが挙げられる。画像センサ50は、主な構成として、撮像部(カメラ)と画像処理装置を有する。画像処理装置は、カメラの制御、当該カメラから取り込まれた画像データに対する画像処理(例えば、
前処理、特徴量抽出など)、画像処理の結果に基づく各種処理(例えば、検査、文字認識、個体識別など)、操作端末10とのデータ送受信、操作端末10から受信したデータに対する処理、操作端末10へ出力するデータの生成などを行う装置である。
【0026】
操作端末10は、画像センサ50にアクセスするために使用する外部デバイスである。操作端末の一例としては、PC、タブレット端末、スマートフォンなどが挙げられる。本実施形態の画像処理装置はWebサーバによりリモートアクセス機能を提供しており、操作端末10はWebブラウザを利用して画像センサ50(画像処理装置)が提供する情報の閲覧や各種機能の利用が可能である。操作端末10上で利用可能な各種機能はHTML(HyperText Markup Language)やJavaScriptにより実現される。したがって
、専用のアプリケーションプログラムを操作端末10にインストールする必要はなく、Webブラウザが搭載されているデバイスであれば、画像センサ50のリモートアクセス機能を利用することができる。
【0027】
このようなシステムでは、さまざまな種類の操作端末10がさまざまなネットワーク経由で画像センサ50にアクセスすることを想定する必要がある。また、汎用のデバイスを操作端末10に利用していることから、操作端末10のリソースがリモートアクセス以外の処理に割かれている可能性も想定することが好ましい。また、画像センサ50の運転中は、画像センサ本来の処理(対象物の検出、計測、認識、検査など)を優先すべきであり、リモートアクセスの処理が画像センサ本来の処理を阻害しないよう考慮することが好ましい。そこで本実施形態の画像センサ50(画像処理装置)は、操作端末10の性能、操作端末10の負荷状況、ネットワークの負荷状況、及び画像処理装置自身の負荷状況のうち少なくともいずれかに応じて、操作端末10に送る送信画像の解像度、単位時間あたりの送信画像の伝送回数(フレーム更新速度)、送信画像の圧縮の有無や圧縮率などを適応的に変更する。これにより、操作端末10の性能や、操作端末10・ネットワーク・画像処理装置の負荷状況などに応じて、フレーム更新速度と画像品質のバランスをとった適切な品質の画像表示を実現する。
【0028】
また、画像センサ50の処理結果の確認画面などでは、画像の上に処理結果(例えば、認識した文字・図形、計測した寸法・角度など)のグラフィックを重畳表示することが行われる。本実施形態の画像センサ50は、撮影した画像(つまり、検出、計測、認識、検査などの処理に用いた画像)ではなく、解像度変更した送信画像を操作端末10に送る場合には、解像度変更後の送信画像と処理結果のグラフィックの位置合わせも行う。これにより、送信画像の解像度を変更した場合でも、画像と処理結果のグラフィックの重畳表示を適切に行うことができるため、どのような種類の操作端末10を用いた場合でも処理結果の正しい表示が可能となる。
【0029】
<実施形態>
(画像センサシステムの構成)
本発明の実施形態に係る画像センサシステム1の構成例について説明する。
図2に例示するように、画像センサシステム1は、1つ以上の操作端末10と1つ以上の画像センサ50とを有し、操作端末10と画像センサ50はネットワーク40を介して互いに接続されている。
【0030】
操作端末10は、Central Processing Unit(CPU)101、Random Access Memory
(RAM)102、Hard Disk Drive(HDD)103、Graphics Processing Unit(G
PU)104、入力インタフェース105、通信インタフェース106を有する。また、GPU104、入力インタフェース105、通信インタフェース106は、モニタ20、入力装置30、ネットワーク40にそれぞれ接続されている。CPU101、RAM102、HDD103、GPU104、入力インタフェース105、通信インタフェース10
6は、バス107を介して互いに接続されている。また、画像センサ50は、画像処理装置51とカメラ(撮像部)60を有し、画像処理装置51は、CPU501、RAM502、HDD503、入力インタフェース504、通信インタフェース505を有する。入力インタフェース504は、カメラ60と接続されている。CPU501、RAM502、HDD503、入力インタフェース504、通信インタフェース505は、バス506を介して互いに接続されている。
【0031】
なお、
図2に示すハードウェア構成はあくまで一例である。例えば、HDDの代わりにSolid State Drive(SSD)など他のストレージを用いてもよい。また、画像処理装置
51にGPUを搭載してもよいし、逆に操作端末10のGPUはなくてもよい。また、タッチパネルディスプレイのように、モニタ20と入力装置30を兼ねたデバイスを用いてもよい。
【0032】
本実施形態において、操作端末10では、CPU101が、HDD103に記憶されている各種プログラムをRAM102に展開して実行することで、以下に説明する種々の処理を実行する。同様に、画像センサ50では、CPU501が、HDD503に記憶されている各種プログラムをRAM502に展開して実行することで、以下に説明する種々の処理を実行する。なお、CPU101、501の機能のうちの一部または全部が、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate
Array)などで実現されてもよいし、クラウドサーバなどの外部の装置によって提供されてもよい。
【0033】
(画像処理装置の構成)
図3は、画像センサ50の画像処理装置51の機能構成を示すブロック図である。画像処理装置51は、画像取得部510、処理部511、情報送信制御部512、記憶部513を有する。画像取得部510は、対象物を撮影した画像をカメラ60から取得する機能を有する。処理部511は、画像取得部510により取得された対象物の画像を用いて、画像センサ本来の処理である、対象物の検出、計測、認識、検査などの処理を実行する機能を有する。なお、処理部511による処理の内容や手順についてはユーザが操作端末10を利用して設定することができる。情報送信制御部512は、操作端末10への情報提供にかかわる制御を担う機能であり、例えば、処理部511による処理結果を示す情報と対象物の画像を含むデータを操作端末10に送信し、操作端末10のWebブラウザに表示させる機能などを提供する。記憶部513は、画像取得部510で取得した画像のデータや、処理部511の処理結果のデータなどを記憶するメモリである。
【0034】
図4は、情報送信制御部512の詳細な構成例を示している。情報送信制御部512は、操作端末情報取得部520、ネットワーク情報取得部521、画像センサ情報取得部522、解像度変換部523、フォーマット変換部524、重畳処理部525、伝送レート決定部526、設定記憶部527、Webサーバ528を有する。
【0035】
操作端末情報取得部520は、操作端末10に関する情報を取得する機能を有する。操作端末10に関する情報は、例えば、操作端末10を操作しているユーザ(画像センサ50にアクセスしているユーザ)の情報、操作端末10の性能(スペック)の情報、操作端末10の負荷状況の情報などを含むとよい。ネットワーク情報取得部521は、操作端末10と画像センサ50のあいだの伝送路に関する情報を取得する機能を有する。伝送路に関する情報は、例えば、伝送路の負荷状況の情報、操作端末10や画像センサ50のネットワークアドレスの情報、通信プロトコルの情報などを含むとよい。画像センサ情報取得部522は、画像センサ50(自装置)に関する情報を取得する機能を有する。画像センサ50に関する情報は、例えば、画像処理装置51の負荷状況の情報、画像センサ50の動作モード(運転中/メンテナンス中などのステイタス)の情報などを含むとよい。
【0036】
解像度変換部523は、画像の解像度変換(主にダウンサンプリング)を行う機能を有する。解像度変換のアルゴリズムは問わない。例えば、単純な間引き処理でもよいし、バイリニアやバイキュービックのような補間を用いてもよい。フォーマット変換部524は、画像のフォーマットを変更する機能を有する。例えば、フォーマット変換部524は、BMP、PNG、WebP、JPEGなどの画像フォーマットの相互変換が可能である。また、フォーマット変換部524は、画像フォーマットの変換処理とともに画像の圧縮処理を行うこともできる。WebPやJPEGのように非可逆圧縮に対応したフォーマットの場合は、圧縮率の指定も可能である。
【0037】
重畳処理部525は、操作端末10に送る送信画像の上に、処理結果を示す情報(以下「グラフィック」と呼ぶ)を重畳(オーバーレイ)するための処理を行う機能を有する。送信画像とグラフィックの合成は、操作端末10側で実行してもよいし、画像処理装置51側で実行してもよい。前者の場合は、重畳処理部525は、グラフィックデータの生成とグラフィックを重畳する位置(送信画像上の座標)を定義する重畳位置情報の生成までを行う。後者の場合は、重畳処理部525は、グラフィックデータの生成と重畳位置情報の生成を行った後、送信画像上にグラフィックを重畳した合成画像データの生成までを行う。なお、解像度変換部523によって送信画像の解像度が変更されている場合には、重畳処理部525は、送信画像の変更後の解像度にあわせて、グラフィックを重畳する位置や、グラフィックのサイズ(線画の大きさ、文字のフォントサイズなど)を調整し、送信画像とグラフィックの位置ずれが起きないようにする。
【0038】
設定記憶部527は、操作端末の性能、操作端末の負荷状況、ネットワークの負荷状況、及び画像処理装置51自身の負荷状況のうち少なくともいずれかと、送信画像の解像度、単位時間あたりの送信画像の伝送回数、送信画像の圧縮の有無、及び送信画像の圧縮率のうち少なくともいずれかと、を対応付けた対応テーブルを記憶している。対応テーブルは画像センサ50の出荷前にプリセットされていてもよいし、ユーザによって追加や変更が可能であってもよい。
【0039】
Webサーバ528は、操作端末10に対して、Webブラウザを利用した画像センサ50へのリモートアクセス機能を提供する。提供される機能としては、例えば、画像センサ50で処理した画像や処理結果の表示、画像センサ50の各種設定の確認や変更、処理フローの登録やテストなどが含まれるとよい。
【0040】
(画像センサシステムの動作)
次に、
図5および
図6を参照して、本実施形態の画像センサシステム1におけるリモートアクセス機能の動作例について説明する。
図5および
図6は、操作端末10から運転中の画像センサ50へアクセスし、画像センサ50で処理中の画像やその処理結果を操作端末10上で確認する処理の流れを示している。
【0041】
図5は、画像センサ50による処理の一例として、形状サーチと2次元コード認識のフローを示している。形状サーチは、あらかじめ登録された形状モデルとのパターンマッチングによって、対象物表面の所定の形状(図柄、マーク、凹凸など)を検出する処理である。2次元コード認識は、対象物表面に印字されている2次元コードを読み取り、2次元コードにエンコードされている情報を認識する処理である。
【0042】
ステップS100において、カメラ60が対象物を撮影し、ステップS101において、画像取得部510がカメラ60から画像を取り込む(以後、この画像を「処理対象画像」と称す)。処理対象画像は記憶部513に記憶される。そして、ステップS102において、処理部511が処理対象画像に対してパターンマッチングを行い、モデルにマッチ
する形状を検出する。検出に成功した場合は、検出位置(処理対象画像におけるx,y座標)、検出サイズ(縦横のピクセル数)、回転角度(モデルとの相対角度)などが処理結果として記憶部513に記録される。次に、ステップS103において、処理部511が処理対象画像に含まれる2次元コードを認識する。認識に成功した場合は、2次元コードの検出位置、検出サイズ、デコードされた文字列などが処理結果として記憶部513に記録される。ステップS100~S103の処理は、所定のサイクル(例えば30fps)で繰り返し実行される。
【0043】
図6は、画像センサ50の情報送信制御部512と操作端末10によるリモートアクセス機能にかかわる処理フローを示している。
【0044】
ステップS300において、ユーザが操作端末10を操作し、Webブラウザを起動する。主なWebブラウザとしては、Internet Explorer、Microsoft Edge、Mozilla Firefox、Google Chrome、Opera、Safariなどがあるが、いずれのブラウザを利用してもよい。
【0045】
ステップS301では、ユーザがWebブラウザのアドレスバーに画像センサ50(画像処理装置51)のIPアドレスを入力し、画像センサ50との接続を確立する。なお、IPアドレスを入力する代わりに、画像センサ50(画像処理装置51)に割り当てられたURLを入力するか、あらかじめWebブラウザに登録されたブックマークを選択してもよい。
【0046】
操作端末10からのアクセスを受けると、ステップS200において、操作端末情報取得部520が、操作端末10から操作端末情報を取得する。操作端末情報は、例えば、操作端末10のIPアドレス、操作端末10のホスト名、操作端末10の性能(スペック)に関する情報などを含むとよい。操作端末10の性能(スペック)とは、例えば、操作端末10のOS(オペレーションシステム)、操作端末10のWebブラウザの種類とバージョン、操作端末10の画面サイズ(画面解像度)、Webブラウザのウィンドウサイズ、GPUの有無などである。また、操作端末情報は、操作端末10の負荷状況(CPUやメモリなどのリソースの使用状況など)、操作端末10を利用しているユーザを特定するユーザ情報(ユーザアカウント、ユーザのカテゴリ(設計者/管理者/現場オペレータ)など)を含んでいてもよい。操作端末情報取得部520は、操作端末情報を、HTTPリクエストに含まれているユーザエージェントから取得してもよいし、JavaScriptなどで取得してもよい。
【0047】
ステップS201において、ネットワーク情報取得部521は、操作端末10と画像処理装置51のあいだのネットワークの負荷状況を取得する。例えば、ネットワーク情報取得部521は、操作端末10に対してコマンドを送信し、操作端末10からのレスポンスを受信するまでの時間を計測することで、ネットワークの負荷状況を判断してもよい。
【0048】
ステップS202において、画像センサ情報取得部522は、画像処理装置51自身の負荷状況を取得する。例えば、画像センサ情報取得部522は、画像処理装置51のCPUの使用率を取得し、これに基づき画像処理装置51の負荷状況を判断してもよい。
【0049】
ステップS203において、解像度変換部523は、ステップS200~S202で取得した情報と設定記憶部527の対応テーブルに基づいて、操作端末10に送る送信画像のサイズ(縮小率)を決定する。例えば、操作端末10の画面サイズやWebブラウザのウィンドウサイズが小さい場合は表示可能な画像の最大サイズも小さくなるので、画面サイズやウィンドウサイズにあわせて送信画像の縮小率を決定する。また、操作端末10の負荷が高い場合には、表示画像のレンダリングに時間がかかる可能性があるため、負荷状
況に応じて送信画像の縮小率を決定してもよい。また、ネットワークの負荷が高い場合や画像処理装置51の負荷が高い場合にも送信画像のサイズを縮小してもよい。本実施形態では、カメラ60で撮影された処理対象画像のオリジナルサイズに対し、1/1サイズ、1/2サイズ、1/3サイズ、1/4サイズ・・・のように整数分の1となるような縮小率を用いる。これにより、単純な間引き処理により画像の縮小が可能であり、解像度変換の処理時間を短縮することができる。縮小率を決定したら、解像度変換部523は、記憶部513から処理対象画像を読み込み、(必要な場合には)間引き処理を行って、送信画像を生成する。
【0050】
ステップS204において、重畳処理部525は、送信画像の解像度に基づいて処理結果の重畳位置を調整する。
図7は、オリジナルサイズの画像600の上に処理結果を示すグラフィック601、602、603を重畳した例である。グラフィック601は形状サーチの検出結果を示す枠であり、サーチ対象であるハート領域604が検出された位置及びそのサイズを示している。グラフィック602、603は2次元コード認識で読み取った2次元コード605を示す枠とデコードした文字列である。オリジナルサイズの画像600の場合は、形状サーチや2次元コード認識での検出位置の座標に検出サイズ大のグラフィック601、602を描画することで、画像600におけるハート領域604及び2次元コード605の上にグラフィック601及び602がちょうど重なる。しかし、
図8のように、処理対象画像600を縮小した送信画像610の場合には、形状サーチや2次元コード認識での検出位置や検出サイズに基づいてグラフィック601~603を描画すると、画像610とグラフィック601~603のあいだで位置ずれが生ずる。そこで、重畳処理部525は、
図9のように、送信画像610の縮小率にあわせてグラフィック611~613の重畳位置と重畳サイズを調整する。例えば、形状サーチの検出位置がx1,y1で検出サイズがw1,h1であり、送信画像610の縮小率が1/2である場合には、グラフィック611の重畳位置はx1/2,y1/2、重畳サイズはw1/2,h1/2となる。
【0051】
ステップS205において、フォーマット変換部524は、ステップS200~S202で取得した情報と設定記憶部527の対応テーブルに基づいて、操作端末10に送る送信画像の画像フォーマットを決定し、必要な場合にフォーマット変換を行う。例えば、Webブラウザごとに適した画像フォーマットがあるため、Webブラウザの種類に応じて画像フォーマットを選択してもよい。具体的には、Chromeの場合はWebP、Internet ExplorerやEdgeの場合はBMP、FireFox、Opera、Safariの場合はPNGを選択してもよい。また、ネットワークの負荷が高い場合には、送信画像のデータサイズを削減するため、圧縮ありの画像フォーマットを選択してもよい。その場合に、ネットワークの負荷が高いほど圧縮率を高めてもよい。
【0052】
ステップS206において、伝送レート決定部526は、ステップS200~S202で取得した情報と設定記憶部527の対応テーブルに基づいて、送信画像の伝送レート(単位時間あたりの画像の伝送回数)を決定する。例えば、負荷が低い(定常状態)場合には、画像センサ50の処理サイクルに同期して操作端末10のフレーム更新が行われるように伝送レートを設定し、負荷が高い場合には、伝送レートを半分にしてもよい。
【0053】
ステップS207において、Webサーバ528は、ステップS203~S205で生成した送信画像、グラフィック、及び、グラフィックを重畳する座標の情報、を含むデータを操作端末10に送信する。ステップS302において、操作端末10のWebブラウザが、受信したデータに基づいて、送信画像上にグラフィックを重畳した画面を表示する。なお、Webサーバ528から送信されるデータには、処理結果のデータ(検出位置、検出サイズ、文字列など)、検査の総合判定(OK(良)/NG(不良))などが含まれていてもよい。
【0054】
図10は、操作端末10のWebブラウザの表示画面の一例である。表示画面のメインウィンドウには送信画像70の上に処理結果を示すグラフィック71が重畳表示されており、メインウィンドウの左側には、上から順に、総合判定72、形状サーチの処理結果73、2次元コード認識の処理結果74が表示されている。また、メインウィンドウの下側には、送信画像及び処理結果の履歴75(過去のフレーム)が時系列に表示されている。この履歴表示はフィルムストリップビューとも呼ばれる。
【0055】
ステップS201~S207の処理は、ステップS206で決定された伝送レートに従ったサイクルで繰り返される。操作端末10では、このサイクルに同期してフレーム更新(送信画像70と処理結果を示すグラフィック71の更新)が行われる。ユーザはこの画面を観察することにより、画像センサ50で得られた画像とその処理結果をほぼリアルタイムに確認することができる。
【0056】
(対応テーブルの例)
図11A~
図11Eは設定記憶部527に登録されている対応テーブルの例を示している。
図11Aは、操作端末10の画面サイズと送信画像の解像度(縮小率)の対応関係が定義されたテーブルである。なお
図11Aの例では画面の物理サイズを規定しているが、物理サイズではなく画面解像度で規定してもよい。
図11Bは、操作端末10のCPU負荷と送信画像の解像度(縮小率)の対応関係が定義されたテーブルである。
図11Cは、ネットワークの負荷(応答時間)、送信画像の圧縮の有無及び圧縮率、伝送レートの対応関係が定義されたテーブルである。ネットワークの負荷が低い場合は、圧縮なしの画像を通常の伝送レートで送信し、ネットワークの負荷が高い場合は、画像を圧縮してデータサイズを小さくしたり、伝送レートを半減する。
図11Dは、ネットワークの負荷と画像処理装置51の負荷の組み合わせと、画像の解像度(縮小率)との対応関係が定義されたテーブルである。
図11Eは、Webブラウザの種類と画像フォーマットの対応関係が定義されたテーブルである。
【0057】
なお、ここに挙げた対応テーブルはあくまで一例であり、組み合わせる項目や設定値などは任意に定義することができる。少なくとも、「操作端末10のOSの種類、Webブラウザの種類及び/又はバージョン、操作端末10の画面サイズ、Webブラウザのウィンドウサイズ、GPUの有無、操作端末10のCPU使用率及び/又はメモリ使用率、ネットワークの負荷状況、画像処理装置51のCPU使用率及び/又はメモリ使用率」のうちの1つ又は複数の項目と、「送信画像の解像度(縮小率)、単位時間あたりの送信画像の伝送回数(伝送レート)、送信画像の圧縮の有無及び/又は圧縮率、送信画像のフォーマット」のうちの1つ又は複数の項目の設定値とが対応付けられたテーブルであればよい。
【0058】
設定値が異なる複数の対応テーブルを設定記憶部527に登録しておき、操作端末10のユーザが使用する対応テーブルを選択できるようにしてもよい。
図12A、
図12Bに設定値が異なる2つの対応テーブルの例を示す。
図12Aは、表示画像の品質(解像度)よりも画面更新速度を優先した設定の対応テーブルであり、
図12Bは、画面更新速度よりも表示画像の品質(解像度)を優先した設定の対応テーブルである。
図13に、対応テーブルの選択に用いるGUIの例を示す。ユーザはラジオボタン130A、130Bを押下することによって、画面更新速度優先モード(
図12Aの対応テーブルを用いるモード)と画像品質優先モード(
図12Bの対応テーブルを用いるモード)とを選択的に切り替えることができる。なお、選択可能な対応テーブルの数は2つに限られず、3つ以上の対応テーブルのなかから選択できるようにしてもよい。
【0059】
(その他)
上記実施形態は、本発明の構成例を例示的に説明するものに過ぎず、本発明に係る画像センサシステムを上記の具体的構成に限定するものではない。本発明は上記の具体的な形態には限定されることはなく、その技術的思想の範囲内で種々の変形が可能である。また、実施にあたっては、実施形態に応じた具体的構成が適宜採用され、種々の改良や変形が行われてよい。
【0060】
例えば、上記実施形態では、形状サーチの結果と2次元コード認識の結果を画像に重畳表示したが、画像センサ50の処理及び操作端末10での表示画面はこれに限られない。例えば、画像の強度分布(ホワイトバランス)を重畳表示してもよいし、RGBそれぞれの濃淡波形(ラインブライト)を重畳表示してもよいし、検査領域・検出結果(エッジなど)・OCR結果・検査結果・計測結果(例えば、寸法、面積、角度)などを重畳表示してもよい。また、上記実施形態(
図10、
図13)では運転中の画像センサ50の画面を例示したが、メンテナンス中の画像センサ50にアクセスし、画像センサ50で実行する処理の内容や手順の設定や、動作テストなどを実行することもできる。その場合も、画像センサ50から操作端末10側に画像及び処理結果の送信が行われるため、上記実施形態と同じように、操作端末10の性能・負荷状況、ネットワークや画像処理装置の負荷状況などに応じて送信画像の解像度や伝送レートを適宜制御するとよい。
【0061】
<付記1>
対象物を撮影した画像を取得する画像取得部(510)と、
前記画像取得部(510)により取得された前記画像を用いて、前記対象物の検出、計測、認識、及び検査のうち少なくともいずれかを含む処理を実行する処理部(511)と、
前記処理の結果を示す情報と前記対象物の画像とを含むデータを、ネットワークを介して、端末(10)に送信する情報送信制御部(512)と、を備える画像処理装置(51)であって、
前記情報(71)は、前記対象物の画像(70)の上に重畳して表示されるものであり、
前記情報送信制御部(512)は、前記端末(10)の性能、前記端末(10)の負荷状況、前記ネットワークの負荷状況、及び前記画像処理装置(51)自身の負荷状況のうち少なくともいずれかに応じて、前記端末(10)に送信する前記対象物の画像である送信画像の解像度を変更するとともに、変更後の解像度にあわせて前記情報を重畳する前記送信画像上の座標を調整する
ことを特徴とする画像処理装置(51)。
【0062】
<付記2>
画像処理装置(51)の制御方法であって、
前記画像処理装置(51)は、対象物を撮影した画像を用いて、前記対象物の検出、計測、認識、及び検査のうち少なくともいずれかを含む処理を実行する処理部(511)を備え、前記対象物の画像と前記対象物の画像の上に重畳して表示される前記処理の結果を示す情報とを含むデータを、ネットワークを介して、端末(10)に送信可能であり、
前記制御方法は、
前記端末(10)の性能、前記端末(10)の負荷状況、前記ネットワークの負荷状況、及び前記画像処理装置(51)自身の負荷状況のうち少なくともいずれかに応じて、前記端末(10)に送信する前記対象物の画像である送信画像の解像度を変更するステップ(S203)と、
変更後の解像度にあわせて前記情報を重畳する前記送信画像上の座標を調整するステップ(S204)と、
解像度が変更された前記送信画像と、座標が調整された前記情報とを含むデータを、前記ネットワークを介して、前記端末(10)に送信するステップ(S207)と、
を有することを特徴とする画像処理装置(51)の制御方法。
【符号の説明】
【0063】
1:画像センサシステム
10:操作端末
50:画像センサ
51:画像処理装置
60:カメラ(撮像部)