(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-06
(45)【発行日】2024-06-14
(54)【発明の名称】教師データ生成システム、教師データ生成方法及びプログラム
(51)【国際特許分類】
G06V 10/22 20220101AFI20240607BHJP
G06V 10/74 20220101ALI20240607BHJP
【FI】
G06V10/22
G06V10/74
(21)【出願番号】P 2022100042
(22)【出願日】2022-06-22
(62)【分割の表示】P 2020129126の分割
【原出願日】2020-07-30
【審査請求日】2022-07-12
【審判番号】
【審判請求日】2023-10-13
(73)【特許権者】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100095407
【氏名又は名称】木村 満
(72)【発明者】
【氏名】宮本 直知
【合議体】
【審判長】千葉 輝久
【審判官】樫本 剛
【審判官】高橋 宣博
(56)【参考文献】
【文献】国際公開第2019/189661(WO,A1)
【文献】特開2020-95005(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/60
G06T 1/00
G06T 7/00 - 7/90
G06V 10/00 - 10/98
(57)【特許請求の範囲】
【請求項1】
撮像により動画データを取得可能な教師データ生成システムであって、
前記動画データが、発光色が時系列的に変化するように設定された発光体が所定のマーカ部
として取り付けられた移動体を撮像することにより取得
された特定動画データ
であるか否かを、輝度値が所定値以上の画素が存在するか否かに基づいて判定する判定手段と、
前記判定手段により前記動画データが前記特定動画データであると判定された場合に、前記移動体を対象にした画像からなる教師データであって前記
発光体が前記画像から消去された教師データを
前記特定動画データに基づいて生成する生成手段
と、
を備え、
前記生成手段は、前記
発光体の検出
画像サイズに基づいて前記動画データから前記教師データとして抽出すべき画像範囲の大きさを決定するとともに前記
発光体の検出
画像位置に基づいて前記大きさで抽出する画像範囲の位置を決定し、且つ、前記画像における前記
発光体に対応する
画像領域の色を所定色に加工することにより前記
発光体を前記画像から消去する、
ことを特徴とする教師データ生成システム。
【請求項2】
前記マーカ部は、前記発光色の時系列的変化により前記移動体の識別情報を発信するように設定されており、
前記生成手段は、前記教師データを生成する場合には前記識別情報を分類IDとして前記教師データに対応付ける、
ことを特徴とする請求項1に記載の教師データ生成システム。
【請求項3】
前記所定色は前記移動体の背景に対応する色である、
ことを特徴とする請求項
1または2に記載の教師データ生成システム。
【請求項4】
撮像により動画データを取得可能な教師データ生成システムが実行する教師データ生成方法であって、
前記動画データが、発光色が時系列的に変化するように設定された発光体が所定のマーカ部として取り付けられた移動体を撮像することにより取得された特定動画データであるか否かを、輝度値が所定値以上の画素が存在するか否かに基づいて判定する判定処理と、
前記判定処理で前記動画データが前記特定動画データであると判定された場合に、前記移動体を対象にした画像からなる教師データであって前記発光体が前記画像から消去された教師データを前記特定動画データに基づいて生成する生成処理と、
を含み、
前記生成処理は、前記発光体の検出画像サイズに基づいて前記動画データから前記教師データとして抽出すべき画像範囲の大きさを決定するとともに前記発光体の検出画像位置に基づいて前記大きさで抽出する画像範囲の位置を決定し、且つ、前記画像における前記発光体に対応する画像領域の色を所定色に加工することにより前記発光体を前記画像から消去する、
ことを特徴とする教師データ生成方法。
【請求項5】
撮像により動画データを取得可能な教師データ生成システムのコンピュータを、
前記動画データが、発光色が時系列的に変化するように設定された発光体が所定のマーカ部
として取り付けられた移動体を撮像することにより取得
された特定動画データ
であるか否かを、輝度値が所定値以上の画素が存在するか否かに基づいて判定する判定手段、
前記判定手段により前記動画データが前記特定動画データであると判定された場合に、前記移動体を対象にした画像からなる教師データであって前記
発光体が前記画像から消去された教師データを
前記特定動画データに基づいて生成する
生成手段、
として機能させ、
前記生成
手段は、前記
発光体の検出
画像サイズに基づいて前記動画データから前記教師データとして抽出すべき画像範囲の大きさを決定するとともに前記
発光体の検出
画像位置に基づいて前記大きさで抽出する画像範囲の位置を決定し、且つ、前記画像における前記
発光体に対応する
画像領域の色を所定色に加工することにより前記
発光体を前記画像から消去する、
ことを特徴とする
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、教師データ生成システム、教師データ生成方法及びプログラムに関する。
【背景技術】
【0002】
近年、機械学習の技術の発展に伴い、当該機械学習に用いるアノテーション(画像の教師データ)の生成が行われている。例えば、教師データとして用いる対象物の特定部分の画像を指定する作業の一例としては、手動操作による医用画像のアノテーション作業がある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら上述の技術では、教師データの生成に必要な画像の選別は作業者の手動操作に頼るところが多く、手間がかかっていた。
【0005】
本願発明は、上記問題点に鑑みてなされたもので、教師データとして用いる画像の登録を効率良く行うことを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明に係る教師データ生成システムは、撮像により動画データを取得可能な教師データ生成システムであって、前記動画データが、発光色が時系列的に変化するように設定された発光体が所定のマーカ部として取り付けられた移動体を撮像することにより取得された特定動画データであるか否かを、輝度値が所定値以上の画素が存在するか否かに基づいて判定する判定手段と、前記判定手段により前記動画データが前記特定動画データであると判定された場合に、前記移動体を対象にした画像からなる教師データであって前記発光体が前記画像から消去された教師データを前記特定動画データに基づいて生成する生成手段と、を備え、前記生成手段は、前記発光体の検出画像サイズに基づいて前記動画データから前記教師データとして抽出すべき画像範囲の大きさを決定するとともに前記発光体の検出画像位置に基づいて前記大きさで抽出する画像範囲の位置を決定し、且つ、前記画像における前記発光体に対応する画像領域の色を所定色に加工することにより前記発光体を前記画像から消去する、ことを特徴とする。
【0007】
上記目的を達成するため、本発明に係る教師データ生成方法は、撮像により動画データを取得可能な教師データ生成システムが実行する教師データ生成方法であって、前記動画データが、発光色が時系列的に変化するように設定された発光体が所定のマーカ部として取り付けられた移動体を撮像することにより取得された特定動画データであるか否かを、輝度値が所定値以上の画素が存在するか否かに基づいて判定する判定処理と、前記判定処理で前記動画データが前記特定動画データであると判定された場合に、前記移動体を対象にした画像からなる教師データであって前記発光体が前記画像から消去された教師データを前記特定動画データに基づいて生成する生成処理と、を含み、前記生成処理は、前記発光体の検出画像サイズに基づいて前記動画データから前記教師データとして抽出すべき画像範囲の大きさを決定するとともに前記発光体の検出画像位置に基づいて前記大きさで抽出する画像範囲の位置を決定し、且つ、前記画像における前記発光体に対応する画像領域の色を所定色に加工することにより前記発光体を前記画像から消去する、ことを特徴とする。
【0008】
上記目的を達成するため、本発明に係るプログラムは、撮像により動画データを取得可能な教師データ生成システムのコンピュータを、前記動画データが、発光色が時系列的に変化するように設定された発光体が所定のマーカ部として取り付けられた移動体を撮像することにより取得された特定動画データであるか否かを、輝度値が所定値以上の画素が存在するか否かに基づいて判定する判定手段、前記判定手段により前記動画データが前記特定動画データであると判定された場合に、前記移動体を対象にした画像からなる教師データであって前記発光体が前記画像から消去された教師データを前記特定動画データに基づいて生成する生成手段、として機能させ、前記生成手段は、前記発光体の検出画像サイズに基づいて前記動画データから前記教師データとして抽出すべき画像範囲の大きさを決定するとともに前記発光体の検出画像位置に基づいて前記大きさで抽出する画像範囲の位置を決定し、且つ、前記画像における前記発光体に対応する画像領域の色を所定色に加工することにより前記発光体を前記画像から消去する、ことを特徴とする。
【発明の効果】
【0009】
本発明によれば、教師データとして用いる画像の登録を効率良く行うことができる。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施形態に係る可視光通信システムの構成の一例を示す図である。
【
図2】同実施形態に係るフォークリフトの構成の一例を示す図である。
【
図3】同実施形態に係るカメラとサーバとデータベースとの構成の一例を示す図である。
【
図4】同実施形態に係る撮像画像データの一例を示す図である。
【
図5】(a)は同実施形態に係るマーカの画像領域とフォークリフトの画像領域の一例を示す図であり、(b)は(a)と比較してマーカの画像領域が小さい場合を示す図である。
【
図6】同実施形態に係る領域データの一例を示す図である。
【
図7】同実施形態に係る教師データの一例を示す図である。
【
図8】(a)は同実施形態に係るフォークリフトの画像領域の一例を示す図であり、(b)は(a)においてマーカの画像領域の色を変更したフォークリフトの画像領域の一例を示す図である。
【
図9】同実施形態に係る教師データ生成処理の一例を示すフローチャートである。
【
図10】同実施形態に係るマーカの画像領域の色変更処理の一例を示すフローチャートである。
【
図11】本発明の他の実施形態に係る教師データ生成処理の一例を示すフローチャートである。
【
図12】同実施形態に係る警報通知処理の一例を示すフローチャートである。
【
図13】(a)はフォークリフトの画像領域の他の例を示す図であり、(b)は(a)と比較してフォークリフトの画像領域が小さい場合の図である。
【
図14】(a)は、フォークリフトの画像領域の他の例を示す図であり、(b)は(a)と比較してマーカの画像領域が画像の上にある場合を示す図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して、本発明の実施形態に係る可視光通信システムを説明する。
【0012】
図1は、可視光通信システムの構成の一例を示す図である。
図1に示すように、可視光通信システム1が適用される空間Sには、棚400a、400bが設置されており、フォークリフト100a、100b(以下、フォークリフト100a、100bのそれぞれを限定しない場合には、適宜「フォークリフト100」と称する)と、カメラ200a、200b、200c、200d(以下、カメラ200a、200b、200c、200dのそれぞれを限定しない場合には、適宜「カメラ200」と称する)と、ハブ210と、サーバ300と、データベース500とが含まれる。
【0013】
フォークリフト100aは、LED(Light Emitting Diode)であるマーカ(発光体)102aを含み、フォークリフト100bは、マーカ102bを含む(以下、マーカ102a、102bのそれぞれを限定しない場合には、適宜「マーカ102」と称する)。サーバ300は、ハブ210を介してカメラ200を接続する。また、図示しないネットワークLAN(Local Area Network)を介してデータベース500に接続される。
【0014】
本実施形態において、フォークリフト100に取り付けられたマーカ102は、送信対象の情報であるフォークリフト100の識別情報を含む通信データに対応して発光色を時系列に変化させ、可視光通信により送信する。本実施形態において識別情報は、フォークリフト100がフォークリフトであることを示す分類IDである。なお、識別情報は、分類IDの他にフォークリフト100を一意に特定する情報である車両番号等を含んでいてもよい。
【0015】
一方、カメラ200は、空間S全体の撮像を行う。サーバ300は、カメラ200の撮像により得られた空間S全体の画像から、可視光通信により、画像におけるマーカ102の位置(2次元位置)や空間Sにおけるマーカ102の位置(3次元位置)を取得し、更にマーカ102の時系列的に変化する発光の内容を復調し、フォークリフト100から通信データを取得する。また、本実施形態において、サーバ300は、機械学習において画像内のフォークリフト100の画像領域を識別する際に用いる教師データを生成する。
【0016】
図2は、フォークリフト100の構成の一例を示す図である。
図2に示すように、フォークリフト100は、マーカ102、制御部103、メモリ104、通信部110、駆動部112、及び、電池150を含む。
【0017】
制御部103は、例えばCPU(Central Processing Unit)によって構成される。制御部103は、メモリ104に記憶されたプログラムに従ってソフトウェア処理を実行することにより、フォークリフト100が具備する各種機能を制御する。
【0018】
メモリ104は、例えばRAM(Random Access Memory)やROM(Read Only Memory)である。メモリ104は、フォークリフト100における制御等に用いられる各種情報(プログラム等)を記憶する。
【0019】
通信部110は、例えばLANカードである。通信部110は、サーバ300等との間で無線通信を行う。電池150は、フォークリフト100の作動に必要な電力を各部に供給する。
【0020】
制御部103は、メモリ104に記憶されたフォークリフト100の識別情報を読み出す。
【0021】
制御部103内には発光制御部124が構成される。発光制御部124は、通信データである識別情報に対応して発光色を時系列に変化させる発光パターンを決定する。
【0022】
更に、発光制御部124は、発光パターンの情報を駆動部112へ出力する。駆動部112は、発光制御部124からの発光パターンの情報に応じて、マーカ102が発する光の色相を時間的に変化させるための駆動信号を生成する。マーカ102は、駆動部112から出力される駆動信号に応じて、時間的に色相が変化する光を発する。例えば、発光色は3原色であり、可視光通信における色変調に用いる波長帯の色である赤(R)、緑(G)、青(B)の何れかである。
【0023】
図3は、カメラ200とサーバ300とデータベース500との構成の一例を示す図である。
図3に示すように、カメラ200とサーバ300とはハブ210を介して接続され、データベース500とはネットワークLANを介して接続される。カメラ200は、撮像部202及びレンズ203を含む。サーバ300は、制御部302、画像処理部304、メモリ305、操作部306、表示部307及び通信部308を含む。データベース500は、撮像データ記憶部501、領域データ記憶部502及び教師データ記憶部503を備える。
【0024】
カメラ200内のレンズ203は、ズームレンズ等により構成される。レンズ203は、サーバ300内の操作部306からのズーム制御操作、及び、制御部302による合焦制御により移動する。レンズ203の移動によって撮像部202が撮像する撮像画角や光学像が制御される。
【0025】
撮像部202は、規則的に二次元配列された複数の受光素子により、撮像面を含む受光面が構成される。受光素子は、例えば、CCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)等の撮像デバイスである。撮像部202は、レンズ203を介して入光された光学像を、サーバ300内の制御部302からの制御信号に基づいて所定範囲の撮像画角で撮像(受光)し、その撮像画角内の画像信号をデジタルデータに変換してフレームを生成する。また、撮像部202は、撮像とフレームの生成とを時間的に連続して行い、連続するフレームのデジタルデータを画像処理部304に出力する。
【0026】
画像処理部304は、制御部302からの制御信号に基づいて、撮像部202から出力されたフレームのデジタルデータに対し歪曲補正、色味調整、及び、ノイズ除去を行い、制御部302へ出力する。
【0027】
制御部302は、例えばCPU等のプロセッサによって構成される。制御部302は、メモリ305に記憶されたプログラムに従ってソフトウェア処理を実行することにより、後述する
図9~
図12に示す処理を行う等、サーバ300が具備する各種機能を制御する。
【0028】
メモリ305は、例えばRAMやROMである。メモリ305は、サーバ300における制御等に用いられる各種情報(プログラム等)を記憶する。
【0029】
操作部306は、テンキーやファンクションキー等によって構成され、ユーザの操作内容を入力するために用いられるインタフェースである。表示部307は、例えば、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、EL(Electro Luminescence)ディスプレイ等によって構成される。表示部307は、制御部302から出力された画像信号に従って画像を表示する。通信部308は、例えばLANカードである。通信部308は、外部の通信装置との間で通信を行う。
【0030】
制御部302には、登録部332、画像領域範囲特定部334、移動検出部336、色変更部338、画像領域比較部340及び通知部342が構成される。
【0031】
登録部332は、カメラ200内の撮像部202が出力する複数のフレームのデジタルデータ(画像データ)のそれぞれについて、当該画像データの識別情報である画像IDを付加して撮像画像データを生成する。
【0032】
図4は、撮像画像データの一例を示す図である。画像IDは、対応する画像データを出力したカメラ200、換言すれば、対応する画像を撮像したカメラの識別情報であるカメラIDと、カメラ200による撮像日時とにより構成される。
【0033】
なお、画像ID、カメラID、及び、撮影日時の各情報は、撮影画像データの画像データと共にプロファイルデータとして格納されているが、画像データと対応付けられた独立したデータとして設定されていてもよい。
【0034】
再び、
図3に戻って説明する。登録部332は、生成した撮像画像データをデータベース500内の撮像画像データ記憶部501に登録する。
【0035】
画像領域範囲特定部334は、撮像部202が出力する複数のフレームのデジタルデータそれぞれについて、当該フレームを構成する各画素の輝度値を取得する。次に、画像領域範囲特定部334は、フレームにおいて輝度値が所定値以上である画素の位置をマーカ102の位置であるとみなす。更に、画像領域範囲特定部334は、フレーム内のマーカ102の位置における発光色の変化の復号処理を行い、マーカ102が送信した通信データに含まれる分類IDを取得する。以下の処理は、分類ID毎にそれぞれ行われる。
【0036】
画像領域範囲特定部334は、撮像画像データ記憶部501から撮像画像データを読み出し、当該撮像画像データに含まれる画像データに対応する撮像画像内にマーカ102の画像領域が含まれるか否かを判定する。具体的には、画像領域範囲特定部334は、撮像画像内に輝度値が所定値以上である画素が存在する場合、マーカ102の画像領域が含まれると判定する。
【0037】
マーカ102の画像領域が含まれる場合、画像領域範囲特定部334は、撮像画像データに含まれる画像データに対応する撮像画像において、フォークリフト100の画像が存在すると判断される画像領域の範囲を特定する。具体的には、画像領域範囲特定部334は、撮像画像内におけるマーカ102の画像領域の位置を中心に、上下方向おいてはマーカ102の像がやや上に、左右方向においてはマーカ102の像が中心に来るように、また、マーカ102の画像領域の大きさに比例してそのサイズが大きくなるように、且つ、フォークリフト100の画像が概ねその範囲に収まるように、予め設定された範囲(第1の画像範囲)をフォークリフト100の画像領域の範囲として特定する。
【0038】
この際、画像領域範囲特定部334は、マーカ102の画像領域の大きさを判別する。画像領域範囲特定部334は、マーカ102の画像領域が大きいほど撮像画像内におけるフォークリフト100の画像領域が大きくなるように、フォークリフト100の画像領域の範囲を特定する。なお、このフォークリフト100の画像領域は、撮像画像からのフォークリフト100の画像の検出処理や画像認識を行うことなく特定される。つまり、マーカ102の撮像画像における位置と大きさに基づいて、このマーカ102を備えるフォークリフト100画像の撮像画像内の位置や範囲を推定し、その推定結果に基づいて特定する。
【0039】
図5(a)及び
図5(b)は、マーカ102の画像領域とフォークリフト100の画像領域の一例を示す図である。
図5(a)の撮像画像600aと、
図5(b)の撮像画像600bとを比較すると、
図5(a)におけるマーカ102aの画像領域602aは
図5(b)におけるマーカ102aの画像領域602bよりも大きい。このため、
図5(a)におけるフォークリフト100aの画像領域604aは、
図5(b)におけるフォークリフト100bの画像領域604bよりも大きくなる。
【0040】
このように画像領域範囲特定部334は、識別情報であるマーカ102の像の大きさに比例して、特定する画像領域の大きさを変えるよう制御する。
【0041】
再び、
図3に戻って説明する。フォークリフト100の画像領域の範囲を特定した後、画像領域範囲特定部334は、フォークリフト100の画像領域を特定する情報である領域データを生成する。
【0042】
図6は、領域データの一例を示す図である。
図6に示す領域データ512は、対応するフォークリフト100の画像領域を含む撮像画像の画像IDと、フォークリフト100の画像領域を特定するための画像領域データとを含む。画像領域データは、撮像画像におけるフォークリフト100の画像領域の左上の座標、水平方向であるX方向の長さ、及び、垂直方向であるY方向の長さを示す。なお、
図6に示す画像領域データは、フォークリフト100の画像領域が矩形の場合の例である。フォークリフト100の画像領域の形状に応じて画像領域データの形式は異なったものとなる。
【0043】
再び、
図3に戻って説明する。登録部332は、画像領域範囲特定部334によって生成された領域データを撮影画像データと対応付けてデータベース500内の領域データ記憶部502に登録する。
【0044】
次に、画像領域範囲特定部334は、生成した領域データに対応する教師データを生成する。
図7は、教師データの一例を示す図である。
図7に示すように、教師データ513は、分類IDとフォークリフト100の画像領域に対応する画像データ(フォークリフト領域画像データ)とにより構成される。
【0045】
教師データを生成する際、画像領域範囲特定部334は、上述した処理によって取得した通信データに含まれる分類IDを取得する。次に、画像領域範囲特定部334は、分類IDに対応する領域データ内の画像IDを含む撮像画像データを撮像画像データ記憶部501から読み出す。更に、画像領域範囲特定部334は、読み出した撮像画像データ内の画像データから、生成した領域データ内の画像領域データによって特定される範囲を切り出し、フォークリフト領域画像データとして分類IDに付加する。
【0046】
再び、
図3に戻って説明する。登録部332は、画像領域範囲特定部334によって生成された教師データをデータベース500内の教師データ記憶部503に登録する。
【0047】
教師データが生成、登録された後、制御部302内の色変更部338は、教師データ内のフォークリフト領域画像データに対応する画像において、マーカ102の画像領域の色を、当該マーカ102の周辺の色に変更する。色変更部338は、上述と同様、輝度値が所定値以上である画素をマーカ102の画像領域として特定することができる。マーカ102の画像領域の色が変更されることにより、例えば、
図8(a)に示すフォークリフト100の画像領域604aは、マーカ102aの画像領域の色が変更されることにより、
図8(b)に示すフォークリフト100の画像領域614aとなる。このようにマーカ102の像を消去することで教師データとして汎用性の高いフォークリフト100の画像領域のデータが生成される。
【0048】
以下、フローチャートを参照しつつ、サーバ300が行う処理を説明する。
【0049】
図9は、教師データ生成処理の一例を示すフローチャートである。サーバ300の制御部302内の画像領域範囲特定部334は、教師データの生成処理が未実行である撮像画像データが撮像画像データ記憶部501に登録されているか否かを判定する(ステップS101)。教師データの生成処理が未実行である撮像画像データが登録されていない、すなわち、撮像画像データ記憶部501に登録されている撮像画像データ全てから教師データが生成されていると判定した場合には(ステップS101;NO)、教師データ生成処理に係る一連の動作が終了する。
【0050】
一方、教師データの生成処理が未実行である撮像画像データが登録されていると判定した場合(ステップS101;YES)、画像領域範囲特定部334は、その教師データの生成処理が未実行である撮像画像データを撮像画像データ記憶部501から読み出す(ステップS102)。次に、画像領域範囲特定部334は、読み出した撮像画像データに含まれる画像データに対応する撮像画像内にマーカ102の画像領域が含まれるか否かを判定する(ステップS103)。撮像画像内にマーカ102の画像領域が含まれないと判定した場合には(ステップS103;NO)、当該撮像画像データには、教師データの対象となる画像領域が含まれていないと判定し、再びステップS101以降の動作が繰り返される。
【0051】
一方、撮像画像内にマーカ102の画像領域が含まれると判定した場合(ステップS103;YES)、画像領域範囲特定部334は、撮像画像において、教師データとして用いるフォークリフト100の画像領域の範囲を特定する(ステップS104)。次に、画像領域範囲特定部334は、撮像画像内においてフォークリフト100の画像領域を特定する情報である領域データを生成する。登録部332は、画像領域範囲特定部334によって撮像画像から抽出され生成された領域データをデータベース500内の領域データ記憶部502に登録する(ステップS105)。
【0052】
次に、画像領域範囲特定部334は、生成した領域データに対応する教師データを生成する。登録部332は、画像領域範囲特定部334によって生成された教師データをデータベース500内の教師データ記憶部503に登録する(ステップS106)。
【0053】
図10は、マーカの画像領域の色変更処理の一例を示すフローチャートである。サーバ300の制御部302内の色変更部338は、教師データ記憶部503に登録されている教師データにおいて、マーカの画像領域が存在するものが登録されているか否かを判定する(ステップS201)。教師データ記憶部503にマーカの画像領域が存在する教師データが登録されていないと判定した場合には(ステップS201;NO)、一連の動作が終了する。
【0054】
一方、教師データ記憶部503にマーカの画像領域が存在する教師データが登録されていると判定した場合(ステップS201;YES)、色変更部338は、教師データ内のフォークリフト領域画像データに対応する画像において、マーカ102の画像領域の色を、当該マーカ102の周辺の色に変更する(ステップS202)。
【0055】
このように、本実施形態では、サーバ300は、カメラ200の撮像によって得られる画像データに対応する撮像画像におけるマーカ102の画像領域を特定し、撮像画像からの検出処理や画像認識を行うことなくフォークリフト100の位置や範囲を特定する。つまり、マーカ102の撮像画像における位置と大きさに基づいて、このマーカ102を備えるフォークリフト100画像の撮像画像内の位置や範囲を推定し、その推定結果に基づいて特定する。更に、サーバ300は、フォークリフト100の画像領域を特定する情報を教師データとして生成し登録する。これにより、教師データの生成に際し撮影環境や作業者によるばらつきを防止し、また、必要な画像の選別を手動操作に頼る必要がなく、教師データとして用いる画像の登録を効率良く行うことができる。
【0056】
また、サーバ300は、マーカ102の画像領域が大きいほど、フォークリフト100の画像領域が大きくなるように、フォークリフト100の画像領域の範囲を特定する。これにより、マーカ102の画像領域が大きいほど、フォークリフト100の画像領域は大きくなるとみなしうることを利用した的確なフォークリフト100の画像領域の範囲の特定が可能となる。
【0057】
また、サーバ300は、教師データにおけるフォークリフト領域画像データに対応する画像において、マーカ102の画像領域の色を、当該マーカ102の周辺の色に変更する。これにより、通常はフォークリフト100にマーカ102が取り付けられていないことを考慮し、マーカ102のない状態を擬製した汎用性の高い教師データの生成が可能となる。
【0058】
また、サーバ300は、分類ID毎に画像データをまとめて教師データとして生成する。このため、機械学習においては、分類IDの単位で対象物の特定しやすくすることができる。
【0059】
次に、他の実施形態について説明する。本実施形態においては、
図3に示すサーバ300の制御部302内の登録部332は、上述と同様、カメラ200内の撮像部202が出力する複数のフレームのデジタルデータ(画像データ)のそれぞれについて、当該画像データの識別情報である画像IDを付加して撮像画像データを生成し、データベース500内の撮像画像データ記憶部501に登録する。
【0060】
画像領域範囲特定部334は、上述と同様、複数のカメラ200のそれぞれからの撮像画像に対応する画像データを解析することにより、各画像データにおいて輝度値が所定値以上である画素の位置をマーカ102の位置であるとみなす。更に、画像領域範囲特定部334は、フレーム内のマーカ102の位置における発光色の変化の復号処理を行い、マーカ102が送信した通信データに含まれる分類IDを取得する。以下の処理は、分類ID毎に行われる。
【0061】
次に、画像領域範囲特定部334は、少なくとも2つのカメラ200内の撮像部202が出力するフレームのデジタルデータ(画像データ)に対応する撮像画像データに基づいて、フォークリフト100の空間Sにおける3次元位置を特定する。
【0062】
具体的には、画像領域範囲特定部334は、少なくとも2つのカメラ200の撮像によって得られた同一の撮像日時に対応する撮像画像データを撮像画像データ記憶部501から読み出す。次に、画像領域範囲特定部334は、読み出した撮像画像データ内の画像データを解析し、輝度値が所定値以上であり、且つ、同一の発光態様を示すものをマーカ102として特定する。
【0063】
更に、画像領域範囲特定部334は、読み出した各撮像画像データ内の画像データに対応する画像内のマーカ102の位置(2次元位置)、各カメラ200の設置位置、及び、各カメラ200の撮像範囲等の情報を用いて、例えば、特開2020-95005号公報に記載された技術により、マーカ102の空間Sにおける3次元位置を特定する。
【0064】
次に、制御部302内の移動検出部336は、時間的に連続するマーカ102の空間Sにおける3次元位置の変化の態様を特定し、例えば、その特定された変化の態様からマーカ102を備えたフォークリフト100の挙動において所定のスケジュールに沿った動作から外れた、例えば急減速又は急停止したか否かを判定する。例えば、移動検出部336は、所定の時間周期でマーカ102の空間Sにおける3次元位置を特定し、その3次元位置の変化が急激に小さくなった場合には、フォークリフト100の挙動において急減速又は急停止したと判定する。
【0065】
フォークリフト100の挙動において急減速又は急停止した場合、移動検出部336は、その急減速又は急停止が発生した時間を特定する。急減速又は急停止が発生した時間は、対応する撮像画像データ内の撮像日時により特定可能である。
【0066】
次に、画像領域範囲特定部334は、急減速又は急停止が発生した時間を含む所定時間内を撮像日時として含み、且つ、上述したマーカ102の空間Sにおける3次元位置の特定に用いた撮像画像データと同一のカメラIDを含む撮像画像データを撮像画像データ記憶部501から読み出す。
【0067】
更に、画像領域範囲特定部334は、読み出した撮像画像データ内の画像データを解析し、輝度値が所定値以上であり、且つ、同一の発光態様を示すものをマーカ102の画像領域として特定する。
【0068】
マーカ102の画像領域が含まれる場合、画像領域範囲特定部334は、撮像画像データに含まれる画像データに対応する撮像画像において、教師データとして用いる、フォークリフト100の画像領域の範囲を特定する。具体的には、画像領域範囲特定部334は、上述と同様、撮像画像内におけるマーカ102の画像領域の大きさを判別する。更に、画像領域範囲特定部334は、マーカ102の画像領域が大きいほど、撮像画像内におけるフォークリフト100の画像領域は大きくなるとみなし、マーカ102の画像領域が大きいほど、フォークリフト100の画像領域が大きくなるように、フォークリフト100の画像領域の範囲を特定する。
【0069】
フォークリフト100の画像領域の範囲を特定した後は、画像領域範囲特定部334は、上述と同様に、急減速又は急停止が発生した時間を含む所定時間内における、フォークリフト100の画像領域を特定する情報である領域データを生成する。登録部332は、画像領域範囲特定部334によって生成された、急減速又は急停止が発生した時間を含む所定時間内における領域データをデータベース500内の領域データ記憶部502に登録する。
【0070】
次に、画像領域範囲特定部334は、上述と同様に、急減速又は急停止が発生した時間を含む所定時間内における教師データを生成する。登録部332は、画像領域範囲特定部334によって生成された、急減速又は急停止が発生した時間を含む所定時間内における教師データをデータベース500内の教師データ記憶部503に登録する。
【0071】
教師データが生成、登録された後、あるいは、教師データの生成、登録と並行して、フォークリフト100急減速又は急停止が発生した際の警報通知の処理が行われる。
【0072】
具体的には、制御部302内の画像領域比較部340は、カメラ200からの画像データを取得、解析し、輝度値が所定値以上である画素をマーカ102の画像領域として特定する。次に、画像領域比較部340は、特定したマーカ102の画像領域の周辺の画像領域を特定する。
【0073】
更に、画像領域比較部340は、特定したマーカ102の画像領域の周辺の画像領域の画像と、教師データ記憶部503に登録されている、急減速又は急停止が発生した時間を含む所定時間内における教師データ内のフォークリフト領域画像データに対応する画像とを比較し、双方の画像が同一又は近似するか否かを判定する。双方の画像が同一又は近似する場合、制御部302内の通知部342は、表示部307に警報の表示を行う等、報知処理を行う。
【0074】
以下、フローチャートを参照しつつ、サーバ300が行う処理を説明する。
【0075】
図11は、本実施形態における教師データ生成処理の一例を示すフローチャートである。サーバ300の制御部302内の画像領域範囲特定部334は、少なくとも2つのカメラ200内の撮像部202が出力するフレームのデジタルデータ(画像データ)に対応する撮像画像データに基づいて、フォークリフト100の空間Sにおける3次元位置を特定する(ステップS301)。
【0076】
次に、移動検出部336は、時系列において連続するマーカ102の空間Sにおける3次元位置の変化の態様を特定し、フォークリフト100の挙動において、急減速又は急停止が発生したか否かを判定する(ステップS302)。急減速及び急停止の何れも発生していないと判定した場合には(ステップS302;NO)、フォークリフト100の空間Sにおける3次元位置の特定(ステップS301)以降の動作が繰り返される。
【0077】
一方、フォークリフト100の急減速又は急停止が発生したと判定した場合(ステップS302;YES)、移動検出部336は、その急減速又は急停止が発生した時間を特定する(ステップS303)。
【0078】
次に、画像領域範囲特定部334は、急減速又は急停止が発生した時間を含む所定時間内の撮像画像におけるフォークリフト100の画像領域の範囲を特定する(ステップS304)。
【0079】
次に、画像領域範囲特定部334は、急減速又は急停止が発生した時間を含む所定時間内における、空間S内において急減速又は急停止が発生した領域を特定する領域データを生成する。登録部332は、急減速又は急停止が発生した時間を含む所定時間内における領域データをデータベース500内の領域データ記憶部502に登録する(ステップS305)。
次に、画像領域範囲特定部334は、急減速又は急停止が発生した時間を含む所定時間内における教師データを生成する。登録部332は、急減速又は急停止が発生した時間を含む所定時間内における教師データをデータベース500内の教師データ記憶部503に登録する(ステップS306)。その後は、システムが停止するまで、フォークリフト100の空間Sにおける3次元位置の特定(ステップS301)以降の動作が繰り返される。
【0080】
図12は、警報通知処理の一例を示すフローチャートである。制御部302内の画像領域比較部340は、カメラ200からの画像データを取得する(ステップS401)。
【0081】
次に、画像領域比較部340は、マーカ102の画像領域の周辺の画像領域を特定する(ステップS402)。
【0082】
更に、画像領域比較部340は、特定したマーカ102の画像領域の周辺の画像領域の画像と、教師データ記憶部503に登録されている、急減速又は急停止が発生した時間を含む所定時間内における教師データ内のフォークリフト領域画像データに対応する画像とを比較し、双方の画像が同一又は近似するか否かを判定する(ステップS403)。双方の画像が同一でも近似でもないと判定した場合には(ステップS403;NO)、画像データの取得(ステップS401)以降の動作が繰り返される。
【0083】
一方、双方の画像が同一又は近似すると判定した場合(ステップS403;YES)、通知部342は、報知処理を行う(ステップS404)。その後は、システムが停止するまで、画像データの取得(ステップS401)以降の動作が繰り返される。
【0084】
このように、本実施形態では、サーバ300は、マーカ102の移動を検出し、フォークリフト100の急減速又は急停止が発生した場合には、急減速又は急停止が発生した時間を含む所定時間内におけるフォークリフト100の画像領域の範囲を特定し、教師データを生成する。更に、サーバ300は、新たな撮像画像と急減速又は急停止が発生した時間を含む所定時間内における教師データ内の画像データに対応する画像とを比較して、一致又は近似すると判定した場合には所定の報知処理を行う。これにより、フォークリフト100の急減速又は急停止という異常が発生した場合に特化した教師データを用いた報知が可能となる。
【0085】
なお、本発明は、上記実施形態の説明及び図面によって限定されるものではなく、上記実施形態及び図面に適宜変更等を加えることは可能である。
【0086】
上述した実施形態では、
図5(a)及び
図5(b)に示すように、マーカ102の画像領域が大きいほど、フォークリフト100の画像領域が大きくなるように、フォークリフト100の画像領域の範囲を特定した。しかしながら、フォークリフト100の画像領域の範囲の特定はこれに限定されない。
【0087】
例えば、1台のフォークリフト100に対し複数のマーカ102が予め定められた間隔で取り付けられている場合には、画像上のマーカ102の間の距離が長いほど、フォークリフト100がカメラ200の近くに存在するとみなして、フォークリフト100の画像領域の範囲を大きくするようにしてもよい。
【0088】
例えば、
図13(a)及び
図13(b)で説明すると、フォークリフト100には2つのマーカ102a、102cが距離L(不図示)で取り付けられているとする。
図13(a)の撮像画像600cにおいて、マーカ102a、102cの画像上の距離がL1であることから、フォークリフト100の画像領域621aが設定される。これと比較し、
図13(b)の撮像画像600dにおいては、マーカ102a、102cの画像上の距離が
図13(a)のL1より距離が短いL2であることから、フォークリフト100の画像領域621bが画像領域621aよりも小さく設定されている。
【0089】
また、例えば、カメラ200は通常高い位置に取り付けられ、撮像方向が下方であることを考慮し、画像上のマーカ102の位置が下であるほど、フォークリフト100がカメラ200の近くに存在するとみなして、フォークリフト100の画像領域の範囲を大きくするようにしてもよい。
【0090】
例えば、
図14(a)の撮像画像600eでは、マーカ102aの画像における位置に基づき、フォークリフト100の画像領域631aが設定される。これと比較し、
図14(b)の撮像画像600dにおいては、マーカ102aの画像の位置が、
図14(a)におけるマーカ102aの画像の位置よりも上にあることから、フォークリフト100の画像領域631bは、画像領域631aよりも小さく設定されている。
【0091】
また、上述した実施形態では、分類IDはフォークリフトであることを示す情報としたが、これに限定されず、分類IDには製造メーカの情報、荷物の有無、荷物を特定する情報であってもよい。この場合も、分類ID毎に処理が行われ、分類ID毎に教師データが生成される。
【0092】
また、上述した実施形態における撮像画像データと領域データとを紐付けて教師データとしてもよい。
【0093】
また、予めフォークリフト100の急減速又は急停止が発生した場合に教師データが生成された後、再度フォークリフト100の急減速又は急停止が発生した場合には、その教師データとの同一又は近似した場合に報知処理が行われるようにした。しかし、これに限定されず、その位置では通常発生しえないフォークリフトの挙動、例えば急発進や急加速、急旋回等といった3次元位置の態様の変化も教師データとして生成してもよい。また、その後、フォークリフト100の撮像画像と同一又は近似した場合には異常を示すものとして報知処理が行われるようにしてもよい。
【0094】
また、上述した実施形態では、可視光である赤、緑、青の光を通信に用いる場合について説明したが、他の色の可視光を用いてもよい。また、情報が輝度の時間方向の変化のみによって変調される可視光通信においても本発明を適用することができる。
【0095】
また、フォークリフト100の画像領域の範囲を特定するための識別情報として用いるものはマーカ102に限定されない。例えば、表示装置を構成するLCD、PDP、ELディスプレイ等の一部に光源が構成されていてもよい。さらには、マーカ102に代えて、フォークリフト100の画像領域の範囲を色または形、或いはバーコードのような幾何学模様で特定した物(紙媒体、シール、プレート等)をフォークリフト100におけるカメラ200から視認・撮影可能な位置(例えばトップやサイド部分)に設置するようにしても良い。
【0096】
また、サーバ300は、カメラ200が内装されたものであってもよい。
【0097】
また、上記実施形態において、実行されるプログラムは、取り外して持ち運び可能なハードディスク、フレキシブルディスク、CD-ROM(Compact Disc - Read Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto - Optical disc)等のコンピュータで読み取り可能な記録媒体に格納して配布し、そのプログラムをインストールすることにより、上述の処理を実行するシステムを構成することとしてもよい。
【0098】
また、プログラムをインターネット等のネットワーク上の所定のサーバが有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、ダウンロード等するようにしてもよい。
【0099】
なお、上述の機能を、OS(Operating System)が分担して実現する場合又はOSとアプリケーションとの協働により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、ダウンロード等してもよい。
【0100】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【0101】
(付記1)
コンピュータが実行する画像処理方法であって、
撮像画像から、前記撮像画像における識別情報の画像領域を含む、前記識別情報の画像領域に基づいて設定された画像領域の範囲を特定し、
前記特定された、前記識別情報の画像領域に基づいて設定された画像領域の範囲を機械学習用の教師データとして記憶手段に登録することを特徴とする画像処理方法。
【0102】
(付記2)
前記識別情報の大きさに基づいて、前記識別情報の画像領域に基づいて設定された画像領域の範囲を特定することを特徴とする付記1に記載の画像処理方法。
【0103】
(付記3)
前記識別情報の画像領域が複数含まれる場合、前記撮像画像における前記識別情報の距離に基づいて、前記識別情報の画像領域に基づいて設定された画像領域の範囲を特定することを特徴とする付記1に記載の画像処理方法。
【0104】
(付記4)
前記撮像画像における前記識別情報の位置に基づいて、前記識別情報の画像領域に基づいて設定された画像領域の範囲を特定することを特徴とする付記1に記載の画像処理方法。
【0105】
(付記5)
前記撮像画像は、時系列において連続して撮像された複数の画像であり、
前記複数の画像における前記識別情報の移動を検出し、
前記検出された前記識別情報の移動の内容が所定の条件を満たす時の前記識別情報の画像領域に基づいて設定された画像領域の範囲を特定することを特徴とする付記1~4の何れか1つに記載の画像処理方法。
【0106】
(付記6)
前記特定された、前記識別情報の画像領域に基づいて設定された画像領域の範囲に含まれる前記識別情報を、前記識別情報の周辺の色に変更することを更に含むことを特徴とする付記1~5の何れか1つに記載の画像処理方法。
【0107】
(付記7)
前記識別情報の画像領域に基づいて設定された画像領域の範囲には対象物の像が含まれ、前記識別情報は前記対象物の像に対応する対象物の分類を定義する情報であることを特徴とする付記1~6の何れか1つに記載の画像処理方法。
【0108】
(付記8)
前記特定された、前記識別情報の画像領域に基づいて設定された画像領域の範囲と、前記記憶手段に前記教師データとして登録されている、前記識別情報の画像領域に基づいて設定された画像領域の範囲とを比較し、
比較結果に基づいて、通知手段に対し所定の通知を行わせることを特徴とする付記1~7の何れか1つに記載の画像処理方法。
【0109】
(付記9)
前記記憶手段に登録されている前記教師データは、前記識別情報の移動の内容が所定の挙動である場合の前記識別情報の画像領域に基づいて設定された画像領域の範囲を含み、
前記所定の通知とは、前記識別情報の移動の内容が所定の挙動であることに関連する通知であることを特徴とする付記8に記載の画像処理方法。
【0110】
(付記10)
前記識別情報の画像領域に基づいて設定された画像領域の範囲は、前記識別情報を有する対象物の像を含む範囲であることを特徴とする付記1~9の何れか1つに記載の画像処理方法。
【0111】
(付記11)
更に前記識別情報を前記記憶手段に登録することを特徴とする付記1~10の何れか1つに記載の画像処理方法。
【0112】
(付記12)
前記識別情報は、発光手段による発光像により形成されることを特徴とする付記1~11の何れか1つに記載の画像処理方法。
【0113】
(付記13)
前記発光手段は、前記識別情報が定義付けられた発光色で発光することを特徴とする付記12に記載の画像処理方法。
【0114】
(付記14)
前記発光手段は、前記識別情報が定義付けられた変更パターンで色を変えて発光することを特徴とする付記12に記載の画像処理方法。
【0115】
(付記15)
コンピュータを、
撮像画像から、前記撮像画像における識別情報の画像領域を含む、前記識別情報の画像領域に基づいて設定された画像領域の範囲を特定する特定手段、
前記特定手段により特定された、前記識別情報の画像領域に基づいて設定された画像領域の範囲を機械学習用の教師データとして記憶手段に登録する登録手段、
として機能させることを特徴とするプログラム。
【0116】
(付記16)
撮像画像から、前記撮像画像における識別情報の画像領域を含む、前記識別情報の画像領域に基づいて設定された画像領域の範囲を特定する特定手段と、
前記特定手段により特定された、前記識別情報の画像領域に基づいて設定された画像領域の範囲を機械学習用の教師データとして記憶手段に登録する登録手段と、
を備えることを特徴とする画像処理装置。
【符号の説明】
【0117】
1…可視光通信システム、100、100a、100b…フォークリフト、102、102a、102b、102c…マーカ、103、302…制御部、104、305…メモリ、110、308…通信部、112…駆動部、124…発光制御部、150…電池、200、200a、200b、200c、200d…カメラ、202…撮像部、203…レンズ、210…ハブ、300…サーバ、304…画像処理部、306…操作部、307…表示部、332…登録部、334…画像領域範囲特定部、336…移動検出部、338…色変更部、340…画像領域比較部、342…通知部、400a、400b…棚、500…データベース、501…撮像画像データ記憶部、502…領域データ記憶部、503…教師データ記憶部、511…撮像画像データ、512…領域データ、513…教師データ、600a、600b、600c、600d、600e、600f…撮像画像、602a、602b…マーカの画像領域、604a、604b、614a、621a、621b、631a、631b…フォークリフトの画像領域、L1、L2…マーカ間距離、S…空間