(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024141867
(43)【公開日】2024-10-10
(54)【発明の名称】データ処理システム、データ処理方法およびデータ処理プログラム
(51)【国際特許分類】
G06T 5/70 20240101AFI20241003BHJP
G06T 7/00 20170101ALI20241003BHJP
G06V 10/774 20220101ALI20241003BHJP
G06V 10/30 20220101ALI20241003BHJP
【FI】
G06T5/00 705
G06T7/00 350B
G06V10/774
G06V10/30
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023053721
(22)【出願日】2023-03-29
(71)【出願人】
【識別番号】000243881
【氏名又は名称】名古屋電機工業株式会社
(74)【代理人】
【識別番号】110000660
【氏名又は名称】Knowledge Partners弁理士法人
(72)【発明者】
【氏名】渡辺 辰巳
【テーマコード(参考)】
5B057
5L096
【Fターム(参考)】
5B057BA02
5B057CA12
5B057CA16
5B057CB12
5B057CB16
5B057CE02
5B057CE08
5B057DA20
5B057DB02
5B057DC40
5L096CA02
5L096DA03
5L096EA05
5L096GA08
5L096GA51
5L096KA04
(57)【要約】
【課題】付着物を除去した後の画像に基づく物体検出精度を向上させる技術の提供。
【解決手段】カメラによって撮影された撮影画像を取得する撮影画像取得部と、前記カメラによって撮影された画像を入力して前記カメラのレンズに対する付着物を除去した除去後画像を出力するように機械学習された機械学習モデルであって、前記付着物を含む汚れ画像を前記機械学習モデルに入力して出力された前記除去後画像と前記付着物を含まない画像との差を小さくするとともに、前記汚れ画像を前記機械学習モデルに入力して出力された前記除去後画像に含まれる物体の検出結果と、前記汚れ画像に含まれる物体を示す正解値との差も小さくする方向に機械学習された前記機械学習モデルに対して、前記撮影画像を入力し、前記除去後画像を出力する付着物除去部と、を備えるデータ処理システムを構成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
カメラによって撮影された撮影画像を取得する撮影画像取得部と、
前記カメラによって撮影された画像を入力して前記カメラのレンズに対する付着物を除去した除去後画像を出力するように機械学習された機械学習モデルであって、前記付着物を含む汚れ画像を前記機械学習モデルに入力して出力された前記除去後画像と前記付着物を含まない画像との差を小さくするとともに、前記汚れ画像を前記機械学習モデルに入力して出力された前記除去後画像に含まれる物体の検出結果と、前記汚れ画像に含まれる物体を示す正解値との差も小さくする方向に機械学習された前記機械学習モデルに対して、前記撮影画像を入力し、前記除去後画像を出力する付着物除去部と、
を備えるデータ処理システム。
【請求項2】
予め用意された更新用画像と、前記更新用画像に含まれる物体を示す正解値と、前記撮影画像を前記機械学習モデルに入力して出力された前記除去後画像と前記撮影画像との差分によって得られた付着物画像を前記更新用画像に付加した仮想汚れ画像と、の組合せによって生成された更新用教師データに基づいて、
前記仮想汚れ画像を前記機械学習モデルに入力して出力された前記除去後画像に含まれる物体の検出結果と、前記更新用画像に含まれる物体を示す正解値と、の差が小さくなるように前記機械学習モデルの追加学習を行う機械学習部をさらに備える、
請求項1に記載のデータ処理システム。
【請求項3】
前記機械学習部は、前記撮影画像に含まれる前記付着物の量が第1閾値以上であり、かつ、第2閾値より少ない(但し第1閾値<第2閾値)場合に前記追加学習を行い、
前記付着物の量が前記第2閾値以上である場合に、警告部に警告を出力させる、警告制御部をさらに備える、
請求項2に記載のデータ処理システム。
【請求項4】
前記付着物の量は、前記撮影画像と前記除去後画像との差分に基づいて取得される、
請求項3に記載のデータ処理システム。
【請求項5】
前記付着物の量は、所定の時刻に撮影された前記撮影画像と予め用意された基準の前記撮影画像との差分に基づいて取得される、
請求項3に記載のデータ処理システム。
【請求項6】
前記除去後画像を入力して前記除去後画像に含まれる物体を検出するように機械学習された物体検出モデルに対して、前記除去後画像を入力し、物体の検出結果を出力する物体検出部をさらに備え、
前記機械学習部は、前記仮想汚れ画像を前記機械学習モデルに入力して出力された前記除去後画像に含まれる物体の検出結果と、前記更新用画像に含まれる物体を示す正解値と、の差が小さくなるように前記物体検出モデルの追加学習を行う、
請求項2に記載のデータ処理システム。
【請求項7】
前記除去後画像を、表示部に表示させる表示制御部をさらに備える、
請求項1または請求項2に記載のデータ処理システム。
【請求項8】
前記除去後画像に含まれる前記物体を検出する物体検出部と、
検出された前記物体を表示部に表示させる表示制御部と、をさらに備える、
請求項1または請求項2に記載のデータ処理システム。
【請求項9】
カメラによって撮影された撮影画像を取得する撮影画像取得工程と、
前記カメラによって撮影された画像を入力して前記カメラのレンズに対する付着物を除去した除去後画像を出力するように機械学習された機械学習モデルであって、前記付着物を含む汚れ画像を前記機械学習モデルに入力して出力された前記除去後画像と前記付着物を含まない画像との差を小さくするとともに、前記汚れ画像を前記機械学習モデルに入力して出力された前記除去後画像に含まれる物体の検出結果と、前記汚れ画像に含まれる物体を示す正解値との差も小さくする方向に機械学習された前記機械学習モデルに対して、前記撮影画像を入力し、前記除去後画像を出力する付着物除去工程と、
を含むデータ処理方法。
【請求項10】
コンピュータを、
カメラによって撮影された撮影画像を取得する撮影画像取得部、
前記カメラによって撮影された画像を入力して前記カメラのレンズに対する付着物を除去した除去後画像を出力するように機械学習された機械学習モデルであって、前記付着物を含む汚れ画像を前記機械学習モデルに入力して出力された前記除去後画像と前記付着物を含まない画像との差を小さくするとともに、前記汚れ画像を前記機械学習モデルに入力して出力された前記除去後画像に含まれる物体の検出結果と、前記汚れ画像に含まれる物体を示す正解値との差も小さくする方向に機械学習された前記機械学習モデルに対して、前記撮影画像を入力し、前記除去後画像を出力する付着物除去部、
として機能させるデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理システム、データ処理方法およびデータ処理プログラムに関する。
【背景技術】
【0002】
監視等に用いられるカメラのレンズに汚れ等が付着していると、監視等の精度が低下してしまう。特許文献1においては、レンズの汚れやくもり等による欠陥が画像に生じているか否かを識別モデルによって判定し、欠陥ありの撮影データを検知する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の技術においては、画質の劣化を自動的に解消することができない。さらに、画質の劣化を解消した後に、撮影された物体について解析するためには、画像内の物体が高精度に検出できるように画質の劣化が解消されている必要がある。従来、物体の検出精度まで考慮した画質劣化の解消技術が存在しなかった。
本発明は、前記課題にかんがみてなされたもので、付着物を除去した後の画像に基づく物体検出精度を向上させることを目的とする。
【課題を解決するための手段】
【0005】
上述の目的を達成するため、データ処理システムは、カメラによって撮影された撮影画像を取得する撮影画像取得部と、前記カメラによって撮影された画像を入力して前記カメラのレンズに対する付着物を除去した除去後画像を出力するように機械学習された機械学習モデルであって、前記付着物を含む汚れ画像を前記機械学習モデルに入力して出力された前記除去後画像と前記付着物を含まない画像との差を小さくするとともに、前記汚れ画像を前記機械学習モデルに入力して出力された前記除去後画像に含まれる物体の検出結果と、前記汚れ画像に含まれる物体を示す正解値との差も小さくする方向に機械学習された前記機械学習モデルに対して、前記撮影画像を入力し、前記除去後画像を出力する付着物除去部と、を備える。
【0006】
すなわち、データ処理システムにおいては、カメラによって撮影された画像からレンズに対する付着物を除去した画像を生成する機械学習モデルが、機械学習によって予め生成される。そして、当該機械学習モデルは、付着物を含む汚れ画像を機械学習モデルに入力して出力された除去後画像に含まれる物体の検出結果と、汚れ画像に含まれる物体を示す正解値と、の差が小さくなるように学習される。従って、カメラによって撮影された撮影画像を機械学習モデルに入力すると、付着物が除去された除去後画像を生成することができるとともに、当該除去後画像は物体検出精度が高くなるように生成される。このため、除去後画像に基づく物体検出を行った場合に、高精度に物体検出を行うことができる。
【図面の簡単な説明】
【0007】
【
図2】生成モデルと識別モデルを説明する図である。
【
図4】物体検出の例と正解値との関係を説明する図である。
【
図7】付着物の量を特定する処理を説明する図である。
【
図8】機械学習モデル更新処理のフローチャートである。
【
図9】更新用教師データを説明するための図である。
【
図12】物体検出モデル更新処理のフローチャートである。
【
図13】物体検出の例と正解値との関係を説明する図である。
【発明を実施するための形態】
【0008】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)データ処理システムの構成:
(2)管理者端末の構成:
(3)画像生成処理:
(4)機械学習モデル更新処理:
(5)他の実施形態:
【0009】
(1)データ処理システムの構成:
図1はデータ処理システムの構成を示すブロック図である。本実施形態において、データ処理システムは、画像解析システム10と管理者端末100とを含む。画像解析システム10はカメラ40を備えており、カメラ40によって撮影対象を撮影できる位置に画像解析システム10が設置される。画像解析システム10は、カメラ40によって撮影された撮影画像を解析し、各種の解析処理を行う。解析処理には、撮影画像からレンズに対する付着物を除去した除去後画像を生成する処理や、除去後画像から物体を検出する処理等が含まれる。
【0010】
カメラ40による撮影対象は、種々の対象であって良く、画像解析システム10は複数個存在してもよい。本実施形態においては、撮影対象が道路であり、複数の撮影対象のそれぞれをカメラ40で撮影可能な複数の位置のそれぞれに画像解析システム10が設置される。
図1においては、一台の画像解析システム10が図示されているが、実際には、複数個の画像解析システム10が稼働しており、他の画像解析システム10の図示は省略されている。管理者端末100は、複数個存在していても良いが、本実施形態においては一台の管理者端末100が利用される態様が想定されている。
【0011】
画像解析システム10は、制御部20,記憶媒体30,カメラ40,通信部50を備えている。制御部20は、図示しないCPU,RAM,ROM等を備えており、記憶媒体30等に記録された各種プログラムを実行することができる。通信部50は、管理者端末100と通信を行う装置である。通信の態様は限定されず、有線通信や、無線通信を利用可能である。制御部20は、通信部50を介して、管理者端末100に対して各種の情報を送信することが可能であり、また、管理者端末100から各種の情報を受信することが可能である。
【0012】
カメラ40は、視野内の風景をレンズによって撮像素子に結像する装置である。制御部20は、カメラ40を制御し、カメラ40によって撮影された撮影画像を取得することができる。また、制御部20は、撮影画像に含まれる物体、例えば、車、自転車、歩行者、建物、樹木等を検出することができる。本実施形態において、カメラ40は屋外に設置されている。従って、画像解析システム10の運用過程において、雨や雪、泥等がレンズに付着し得る。レンズに対して付着物が付着した状態で撮影画像が取得されると、撮影画像には当該付着物の像が含まれるため、本来予定している視野内の風景や物体の一部が撮影されていない状態になり得る。
【0013】
そこで、本実施形態において制御部20は、画像解析プログラム21を実行し、当該付着物を除去し、除去後の画像に基づいて物体検出を行う。このような処理を実行するため、画像解析プログラム21は、撮影画像取得部21a、付着物除去部21b、物体検出部21c、表示制御部21d、警告制御部21eの各機能を備えている。撮影画像取得部21aは、カメラ40によって撮影された撮影画像を取得する機能を制御部20に実行させる。本実施形態において、制御部20は、撮影画像取得部21aの機能により、既定のフレームレートでカメラ40から出力される撮影画像を取得し、撮影画像データ30aとして記憶媒体30に記憶させる。
【0014】
付着物除去部21bは、機械学習モデル30bに対して、撮影画像を入力し、付着物を除去した除去後画像を出力する機能を制御部20に実行させる。機械学習モデル30bは、カメラ40によって撮影された画像を入力し、カメラ40のレンズに対する付着物を除去した画像を出力するように機械学習されたモデルである。具体的には、機械学習モデル30bは、入力される画像データの画素毎の階調値を入力値とし、生成される画像の画像データの画素毎の階調値を出力値とした場合における両データの対応関係を導出する式を示す情報である。
【0015】
本実施形態において、機械学習モデル30bは、画像解析システム10の稼働前に予め管理者端末100にて作成され、記憶媒体30に記憶される。さらに本実施形態においては、予め作成された機械学習モデル30bに対して追加の機械学習が行われ、運用過程において機械学習モデル30bが更新され得る。機械学習モデル30bの作成および更新については後述するが、本実施形態においては、除去後画像に基づく物体の検出精度が高くなるように機械学習される。本実施形態において、制御部20は、既定のフレームレートでカメラ40から出力される撮影画像のそれぞれを機械学習モデル30bに入力し、それぞれの撮影画像から付着物を除去した除去後画像を生成する。生成された除去後画像は、除去後画像データ30cとして記憶媒体30に記憶される。
【0016】
物体検出部21cは、物体検出モデル30dに対して、除去後画像を入力し、物体の検出結果を出力する機能を制御部20に実行させる。物体検出モデル30dは、付着物除去部21bの機能によって生成された除去後画像を入力し、除去後画像に含まれる物体を検出するように機械学習されたモデルである。具体的には、物体検出モデル30dは、入力される除去後画像の画素毎の階調値を入力値とし、物体の像を囲む矩形の枠である検出ボックスの位置と、当該検出ボックス内に撮影された物体の種類を示すクラスの信頼度を出力するように機械学習されたモデルである。
【0017】
本実施形態において、物体検出モデル30dは、画像解析システム10の稼働前に予め管理者端末100にて作成され、記憶媒体30に記憶される。物体検出モデル30dは、各種の公知の手法で機械学習されたモデルであって良い。本実施形態において、制御部20は、除去後画像データ30cのそれぞれに対して物体検出モデル30dによる物体検出を行い、物体検出結果を検出データ30eとして記憶媒体30に記憶させる。
【0018】
表示制御部21dは、除去後画像を、表示部に表示させる機能を制御部20に実行させる。本実施形態において、表示部は、管理者端末100に備えられている。そこで、制御部20は、通信部50を制御し、画像解析システム10の識別情報を対応づけた除去後画像データ30cを管理者端末100に送信する。管理者端末100が除去後画像データ30cを受信すると、管理者端末100は、管理者端末100が備える表示部400を制御し、画像解析システム10の識別情報とともに、除去後画像を表示させる。
【0019】
この結果、管理者端末100の利用者は、画像解析システム10のカメラ40で撮影された画像を視認することができる。カメラ40のレンズに付着物が付着していたとしても、当該付着物は機械学習モデル30bによって除去される。従って、レンズに対する付着物が撮影画像に与える影響を低減させた状態で画像を利用者に提供することができる。利用者は、付着物による影響が低減した状態の画像に基づいて、渋滞の有無など、種々の判断をすることができる。また、画像による解析(例えば、車両の数の計測など)が行われる場合であっても、付着物による影響が低減した状態の画像に基づいて画像を解析することができる。
【0020】
本実施形態において表示制御部21dは、検出された物体を表示部に表示させる機能も備えている。制御部20は、通信部50を制御し、画像解析システム10の識別情報を対応づけた検出データ30eを管理者端末100に送信する。管理者端末100が検出データ30eを受信すると、管理者端末100は、管理者端末100が備える表示部400を制御し、画像解析システム10の識別情報とともに、検出された物体を示す情報を表示させる。
【0021】
この結果、管理者端末100の利用者は、画像解析システム10のカメラ40で撮影された物体を認識することができる。カメラ40のレンズに付着物が付着していたとしても、当該付着物は、物体の検出精度が向上するように機械学習された機械学習モデル30bによって除去される。従って、レンズに対する付着物が物体検出に与える影響を低減させた状態で除去された画像に基づく物体検出結果を利用者に提供することができる。利用者は、物体検出結果に基づいて、渋滞の有無など、種々の解析を実行することができる。
【0022】
警告制御部21eは、撮影画像における付着物の量を取得し、付着物の量に基づいて、警告部に警告を出力させる機能を制御部20に実行させる。本実施形態において、付着物の量は、撮影画像と除去後画像との差分に基づいて取得される。すなわち、除去後画像は、付着物が除去された後の画像であるため、除去後画像が撮影画像と比較して大きく変化しているほど、元の撮影画像に付着物の像が含まれている量が多いと推定することができる。そこで、制御部20は、撮影画像と除去後画像とを比較し、両者の差が大きいほど大きくなる数値を、指標として取得する。指標は、種々の手法で取得されて良く、詳細な例は後述する。制御部20は、指標の大きさに基づいて、付着物の量を取得し、付着物の量が予め決められた基準(後述する第2閾値)以上である場合に、カメラ40のレンズへの付着物の量が警告対象の量であると見なす。
【0023】
付着物の量が警告対象の量であると見なされた場合、制御部20は、通信部50を制御し、レンズへの付着物の量が警告対象の量であることを示す情報に対して、画像解析システム10の識別情報を対応づけて管理者端末100に送信する。管理者端末100がこれらの情報を受信すると、管理者端末100は、管理者端末100が備える表示部400を制御し、画像解析システム10の識別情報とともに、カメラ40のレンズへの付着物の量が警告対象の量であることの警告を表示させる。本実施形態においては、表示部400が警告部として機能する。むろん、警告の態様は表示に限定されず、音等による警告が行われてもよい。
【0024】
当該警告の結果、管理者端末100の利用者は、カメラ40のレンズへの付着物の量が警告対象の量であることを認識することができる。従って、利用者は、識別情報が示す画像解析システム10において、カメラ40のメンテナンスが必要であると認識することができる。カメラ40のメンテナンスが必要である場合、種々の態様でメンテナンスが行われてよい。例えば、管理者端末100の利用者が、画像解析システム10の識別番号をメンテナンス担当者に連絡し、メンテナンス担当者がカメラ40のレンズの掃除や、交換等を行う態様が挙げられる。この態様以外にも、例えば、管理者端末100の利用者が、画像解析システム10の識別番号をメンテナンス業者に対して通知し、メンテナンス業者がカメラ40のレンズの掃除や、交換等を行う態様が挙げられる。むろん、メンテナンス担当者等への通知は、管理者端末100から自動的に実施されてもよい。
【0025】
以上の構成によれば、カメラ40のレンズに過度の量の付着物が付着したとしても、メンテナンス対象を容易に特定し、メンテナンスを行うことができる。また、カメラ40のレンズに過度の量の付着物が付着していない場合、例えば、機械学習モデル30bによる処理によって充分に付着物を除去することができる場合に、無用なメンテナンスが行われることを防止することができる。従って、メンテナンスのために複数の画像解析システム10を定期的に巡回するなどの無駄を削減または低減することができる。
【0026】
さらに、以上の構成によれば、カメラ40のレンズに付着物が付着していたとしても除去され、除去された後の画像に基づいて物体検出が行われ、管理者端末100に送信される。このため、利用者は、カメラ40で撮影された物体を認識することができる。そして、本実施形態において、機械学習モデル30bは、除去後画像に基づいて物体検出部21cによって物体検出を行ったときの物体の検出精度が高くなるように機械学習が行われて生成される。従って、本実施形態によれば、利用者は、高精度に検出された検出結果に基づいて解析等を行うことができる。
【0027】
(2)管理者端末の構成:
次に、管理者端末100の構成を説明する。管理者端末100は、制御部200,記憶媒体300,表示部400,通信部500を備えている。表示部400は、画像を表示するディスプレイ装置である。通信部500は、画像解析システム10と通信を行う装置である。
【0028】
制御部200は、図示しないCPU,RAM,ROM,GPU(Graphics Processing Unit)等を備えており、記憶媒体300等に記録された各種プログラムを実行することができる。本実施形態において制御部200は、機械学習モデル30bの生成や画像解析システム10による解析結果の出力を行うための管理プログラム210を実行可能である。管理プログラム210が実行されると、制御部20は、機械学習部210a、物体検出部210b、出力制御部210cとして機能する。
【0029】
機械学習部210aは、ニューラルネットワークを形成する訓練モデルを最適化する機械学習処理を制御部200に実行させる。本実施形態において、学習対象は機械学習モデル30bであり、物体検出モデル30dは、予め用意された汎用的な機械学習モデルである。機械学習モデル30bは、種々の態様であってよいが、本実施形態においては、pix2pixと呼ばれるモデルを機械学習することが想定されている。
【0030】
図2は、本実施形態における機械学習モデルを模式的に示す図である。本実施形態においては、生成モデルGと識別モデルDとが訓練モデルとして用意され、敵対的に競わせて交互に学習させる。生成モデルGは、画像を入力して、他の画像を生成するモデルである。ここでは、生成モデルGに入力される画像を入力画像Ii、生成モデルGから出力される画像を生成画像Igと呼ぶ。機械学習の際、入力画像Iiと当該入力画像Iiから生成された生成画像Igとはペアとされる。また、入力画像Iiは複数個用意される。従って、各入力画像Iiのそれぞれに対して、ペアとなる生成画像Igが存在する。
図2の中央上部においては、入力画像Iiと生成画像Igとがペアになっていることを矢印で示している。なお、入力画像Iiは、汚れ画像の一例である。
【0031】
識別モデルDには、2つの画像ペアが入力される。入力される画像ペアは、入力画像Iiと生成画像Igとのペアであるか、または、教師データ300aによって対応づけられた2つの画像のペアである。教師データ300aは、付着物Rを含み得る入力画像Iiと当該付着物Rが含まれないターゲット画像Itとのペアが複数組用意されることによって定義される。本実施形態において、教師データ300aに含まれる入力画像Iiは機械学習の際に生成モデルGに入力される画像でもある。当該入力画像Iiは、付着物がレンズに付着していることがあり得る状態でカメラ40によって撮影された撮影画像Ipでもある。
【0032】
一方、ターゲット画像Itは、付着物Rが含まれない画像であり、ペアとなる撮影画像Ipと同じ環境下で、付着物Rがレンズに付着していない状態でカメラ40によって撮影された画像である。教師データ300aにおいても、入力画像Iiとターゲット画像Itとのペアは複数組用意される。
図2の中央下部には、教師データ300aにおいて、入力画像Iiとターゲット画像Itとが対応づけられている様子が矢印によって示されている。教師データ300aは、種々の手法で生成されて良い。例えば、実際に付着物がレンズに付着している状態と、付着していない状態とで撮影された画像が複数個用意されても良い。また、付着物がレンズに付着していない状態で撮影された画像に対して、ノイズ等が付与されることによって、付着物がレンズに付着している状態で撮影された画像が仮想的に生成されても良い。また、付着物がレンズに付着していない状態で撮影された画像を入力し、付着物を付加した画像を出力する機械学習モデルが予め生成され、当該機械学習モデルに基づいて画像が生成されても良い。いずれにしても、ターゲット画像Itは、入力画像Iiに含まれ得る付着物が除去された状態である。
【0033】
以上のように教師データ300aによって入力画像Iiに対応するターゲット画像Itが定義されていることを利用して、識別モデルDは、入力された前記2つの画像ペアが、教師データ300aに含まれる組合せであるか否かを識別するように学習される。すなわち、入力される画像ペアが入力画像Iiとターゲット画像Itである場合、正解ラベルがreal(真)と定義され、入力される画像ペアが入力画像Iiと生成画像Igとのペアである場合、正解ラベルがfake(偽)と定義される。
【0034】
そして、識別モデルDは、正解ラベルとして用意されたreal(真)とfake(偽)を使って、入力された画像ペアが、入力画像Iiとターゲット画像Itのペア(正解ラベルが真)の場合には、出力される識別信号の値がreal(真)を示す値に近くなるように学習される。また、入力された画像ペアが、入力画像Iiと生成画像Igのペア(正解ラベルが偽)の場合には、出力される識別信号の値がfake(偽)を示す値に近くなるように学習される。
【0035】
さらに、生成モデルGは、入力画像Iiと生成画像Igのペアが識別モデルDに入力された場合に、出力される識別信号の値がreal(真)を示す値に近くなる(生成画像Igがターゲット画像Itと誤解される)ように学習される。すなわち、入力画像Iiとしての撮影画像Ipが生成モデルGに入力された場合に生成される生成画像Igが、ターゲット画像Itと区別できないほど、生成画像Igがターゲット画像Itに近づくように学習が行われる。ターゲット画像Itは、撮影画像Ipの付着物が除去された状態の画像であるため、生成画像Igとターゲット画像Itとが区別できないように学習された場合には、生成画像Igは付着物が除去された除去後画像Ieであると言える。
【0036】
本実施形態においては、生成モデルGを学習する際、さらに、生成モデルGによって生成された除去後画像Ieに基づく物体の検出精度が高くなるように機械学習される。すなわち、生成画像Igに含まれる物体の検出結果と、入力画像に含まれる物体を示す正解値と、の差が小さくなるように機械学習が行われる。機械学習が完了し、生成画像Igとターゲット画像Itとが区別できない状態になると、生成画像Igは付着物が除去された除去後画像Ieであると言えるため、生成モデルGによって生成された除去後画像Ieに基づく物体の検出精度が高くなるように機械学習されることになる。
【0037】
以上のような機械学習を行うため、教師データ300aは、機械学習が行われる前に予め用意される。教師データ300aは、上述のように、複数の組の入力画像Iiとターゲット画像Itとのペアを含むが、本実施形態においては、さらに、物体検出精度が高くなるように除去後画像Ieを生成するための情報として、物体検出の正解値も含まれている。
【0038】
正解値は、ターゲット画像Itに含まれる物体の画像内での位置および物体の種類であるクラスを示す情報である。正解値のフォーマットは種々のフォーマットで良いが、本実施形態においては、物体を囲む正解ボックスの位置とクラスを示す情報によって正解値が構成されている。
図2においては、ターゲット画像It内の正解ボックスBtが破線で示されている。矩形の位置は、例えば、対角の位置にある2個の頂点の座標等で表現可能である。クラスは、例えば、車、自転車、歩行者、建物、樹木等の検出対象の種類に対応付けられた数値等で表現可能である。
【0039】
以上のような教師データ300aが用意されると、当該教師データ300aを利用して機械学習を行うことができる。
図3は機械学習処理を示すフローチャートである。本実施形態において、機械学習処理は、画像解析システム10の運用が開始される前に予め実行される。
【0040】
機械学習処理が開始されると、制御部200は、機械学習部210aの機能により、サイクルをカウントするための変数Cycleを0に初期化し、学習条件を設定する(ステップS100)。ここで、学習条件は、学習のために必要な各種の設定を含み、例えば、生成モデルGの訓練モデルと、識別モデルDの訓練モデルの定義、すなわち、モデルを示すフィルタや活性化関数、損失関数、可変パラメーターの初期値等の設定を含む。また、教師データ300aから抽出される訓練データ、テストデータの数等の設定、扱われる画像サイズの設定、Cycleと比較される閾値等を含む。
【0041】
次に、制御部200は、機械学習部210aの機能により、教師データ300aを取得する(ステップS105)。次に、制御部200は、機械学習部210aの機能により、生成モデルGによって生成画像Igを出力する(ステップS110)。すなわち、制御部200は、教師データ300aを参照して入力画像Iiを取得し、現時点における生成モデルGに対して入力して生成画像Igを取得する。
【0042】
次に、制御部200は、物体検出部210bの機能により、物体検出を行う(ステップS115)。物体検出部210bの機能は、物体検出部21cの機能と同一である。当該同一の機能を実現するため、記憶媒体300には、予め画像解析システム10と同一の物体検出モデル30dが保存されている。
図4は、物体検出の例を説明する図である。本実施形態における例では、画像内に予め設定されたデフォルトボックスのそれぞれに対応付けられた物体検出結果が出力される。検出結果を示す情報は検出データ30eとして記憶媒体300に保存される。
図4に示す例においては、図の最上段に生成画像Igの例を示し、生成画像Igに重なるように16個のデフォルトボックスが設定されている。
【0043】
物体検出部210bの機能によって物体検出が行われると、デフォルトボックスのそれぞれに含まれる物体についての物体検出結果が出力される。出力フォーマットは限定されないが、本例においては、デフォルトボックスと、検出された物体の像を囲む矩形の枠である検出ボックスと、当該検出ボックス内に撮影された物体の種類を示すクラスの信頼度が出力される。
図4においては、実線でデフォルトボックスを示し、一点鎖線で検出ボックスを示している。
【0044】
検出結果を示す情報のフォーマットは限定されないが、例えば、
図4におけるデフォルトボックスDB1を例にすると、デフォルトボックスDB1は、重心座標と、ボックスの横幅および高さを示す情報で表現される。検出ボックスB1も重心座標と、ボックスの横幅および高さを示す情報で表現されるが、検出ボックスB1については、デフォルトボックスDB1の重心座標と検出ボックスB1の重心座標との差分、デフォルトボックスDB1の横幅と検出ボックスB1の横幅との差分、デフォルトボックスDB1の高さと検出ボックスB1の高さとの差分によって表現される。クラスの信頼度は、検出された物体が車、自転車、歩行者、建物、樹木等である可能性が高いほど大きくなるような値で表現される。従って、クラスの信頼度の最大値が基準値以上である場合、当該クラスの物体が検出されたと推定することができる。なお、デフォルトボックスの大きさおよび数は
図4に示す例に限定されず、より多くても良いし、少なくても良いし、大きさの異なるデフォルトボックスが併用されても良い。
【0045】
本実施形態において制御部200は、生成画像Igに対して物体検出を行う。また、ターゲット画像Itに含まれる物体の正解値は、教師データ300aに定義されている。従って、生成画像Igに対する物体検出の結果と、ターゲット画像Itに含まれる物体の正解値と、を対比すれば、生成画像Igに基づく物体検出の正確性を評価することができる。
【0046】
図4においては、下段にターゲット画像Itの正解値に対応した正解ボックスを破線で例示している。例えば、生成画像Igの検出ボックスB1と正解ボックスBtとを対比すれば、検出ボックスB1による検出結果が正解値とどの程度近いか評価することができる。生成画像Igとターゲット画像Itとが区別できないように生成モデルGが学習された場合、生成画像Igは除去後画像Ieであると言えるため、生成画像Igに基づく物体検出の正確性が向上するように学習すれば、除去後画像Ieに基づく物体検出の正確性が向上するように生成モデルGが学習される。
【0047】
次に、制御部200は、機械学習部210aの機能により、ターゲット画像Itと生成画像Igとに基づいて画像評価に関する損失l_lossを取得する(ステップS120)。当該損失は、例えば、公知のDCGAN(Deep Convolutional Generative Adversarial Networks)と同様の手法で取得可能であり、生成画像Igとターゲット画像Itとの差を示していればよい。
【0048】
次に、制御部200は、機械学習部210aの機能により、物体検出結果から検出結果の精度に関する損失E_loss1を取得する(ステップS125)。すなわち、制御部200は、ステップS115における物体検出結果を正解値と比較する指標を取得し、損失E_loss1を定義する。
【0049】
損失は種々の態様で定義されて良いが、例えば、正解値と物体検出結果との間での位置精度とクラス推定精度を評価する指標を取得することで損失を定義することができる。本実施形態においては、当該評価のために、IoU(Intersection over Union)が取得される。
図5A、
図5Bは、IoUを説明するための図である。
図5A、
図5Bにおいては、正解ボックスBtを破線で示し、検出ボックスSBを一点鎖線で示している。
【0050】
図5Aにおいては、正解ボックスBtと検出ボックスSBとが重複する重複部分をグレーで着色して示し、
図5Bにおいては、正解ボックスBtと検出ボックスSBとの少なくとも一方に含まれる部分である結合部分をグレーで着色して示している。IoUは、重複部分の面積/結合部分の面積で定義される。IoUが大きければ物体検出の精度が高いと推定されるが、IoUが小さければ物体検出の精度は低いと推定される。
【0051】
ここでは、IoUが閾値(例えば0.5)以上である場合にその検出ボックスをポジティブボックスと呼び、IoUが閾値より小さい場合にその検出ボックスをネガティブボックスと呼ぶ。制御部200は、各デフォルトボックスについて得られた検出ボックスのそれぞれについて、正解ボックスBtと比較してIoUを取得する。
【0052】
さらに、制御部200は、ポジティブボックスを対象として、正解値が示す正解ボックスBtの位置と、検出ボックスSBの位置との誤差を算出し、誤差を誤差出力制御関数等の活性化関数に代入することにより、位置精度を評価する損失とする。さらに、制御部200は、ポジティブボックスとネガティブボックスとを対象として、正解値が示すクラスと、検出ボックスSBに対応するクラスの信頼度との誤差を、例えば、交差エントロピー等で評価することでクラス推定精度を評価する損失とする。これらの損失には、所定の係数が乗じられ、また、規格化が行われる。制御部200は、教師データ300aの中の訓練データから得られた生成画像Igの全てにおいて、上述のIoUの取得と、IoUに基づく損失の取得を行って、損失の和をE_loss1として取得する。
【0053】
次に、制御部200は、機械学習部210aの機能により、合成損失を取得する(ステップS130)。すなわち、制御部200は、ステップS120,S125で取得した損失の和を取得する。次に、制御部200は、機械学習部210aの機能により、合成損失に基づいてパラメーター調整を行う(ステップS135)。当該パラメーター調整のアルゴリズムは、公知のアルゴリズムを用いることが可能である。なお、この際、公知のアルゴリズムによって識別モデルDの機械学習も進められる。すなわち、制御部200は、生成モデルGと識別モデルDとの一方を固定し他方の機械学習を行い、さらに、学習後のパラメーターで他方を固定し、一方を機械学習する。なお、本実施形態において、損失E_loss1は、生成モデルGを機械学習する際に用いられるが、むろん、識別モデルDを機械学習する際に、損失E_loss1が用いられても良い。さらに、ステップS130で合成損失を算出する際に、S120,125で取得した値の重み付け加算和に所定のオフセット値をつけてもよい。
【0054】
次に、制御部200は、合成損失が予め決められた閾値より小さいか否かを判定し(ステップS140)、合成損失が閾値より小さいと判定されない場合、制御部200は、変数Cycleをインクリメントする(ステップS145)。そして、制御部200は、変数Cycleが最大値以上であるか否かを判定し(ステップS150)、変数Cycleが最大値以上であると判定されない場合、ステップS105以降の処理を繰り返す。
【0055】
一方、ステップS140において合成損失が予め決められた閾値より小さいと判定された場合、または、ステップS150において変数Cycleが最大値以上であると判定された場合、制御部200は、機械学習モデル30bを記録する(ステップS155)。すなわち、制御部200は、訓練後の生成モデルGを機械学習モデル30bとして記憶媒体300に保存する。さらに、当該機械学習モデル30bは、画像解析システム10に送信され、記憶媒体30にも保存される。なお、ステップS155における機械学習モデル30bの保存前に、テストデータによる学習終了の判定が行われてもよい。予定通りに学習が進まなかった場合、学習条件を変えるなどして再度機械学習が行われてもよい。
【0056】
以上の処理によれば、生成モデルGを機械学習する際に、物体検出の結果が正解値に近づくように学習される。従って、付着物を含む汚れ画像を機械学習モデル30bに入力して出力された除去後画像Ieに含まれる物体の検出結果と、汚れ画像に含まれる物体を示す正解値と、の差が小さくなるように機械学習される。この結果、高精度に物体検出を実行できるように生成モデルGを生成することができる。
【0057】
(3)画像生成処理:
次に、画像解析システム10において実行される画像生成処理を
図6に示すフローチャートに基づいて説明する。画像生成処理は、機械学習モデル30bが記憶媒体30に記録された後に実行される。また、画像生成処理は、カメラ40の視野内に撮影対象が位置するように画像解析システム10が設置された状態で実行される。本実施形態において、画像生成処理は、カメラ40による撮影周期で繰り返し実行される。
【0058】
画像生成処理が開始されると、制御部20は、撮影画像取得部21aの機能により、撮影画像を取得する(ステップS200)。すなわち、制御部20は、カメラ40から出力される撮影画像を示す撮影画像データ30aを記憶媒体30に記憶させる。次に、制御部20は、付着物除去部21bの機能により、撮影画像を機械学習モデルに入力する(ステップS205)。すなわち、制御部20は、機械学習モデル30bに対して、撮影画像データ30aが示す撮影画像Ipを入力する。次に、制御部20は、付着物除去部21bの機能により、除去後画像を取得する(ステップS210)。すなわち、制御部20は、機械学習モデル30bから出力された生成画像Igを除去後画像Ieとみなし、当該除去後画像Ieを示す除去後画像データ30cを記憶媒体30に記憶させる。
【0059】
次に、制御部20は、物体検出部21cの機能により、除去後画像Ieに含まれる物体検出を行う(ステップS215)。すなわち、制御部20は、除去後画像Ieを物体検出モデル30dに入力し、物体検出結果を示す検出データ30eを生成し、記憶媒体30に記憶させる。
【0060】
次に、制御部20は、表示制御部21dの機能により、除去後画像Ieおよび物体検出結果の表示制御を行う(ステップS220)。すなわち、制御部20は、通信部50を制御し、除去後画像データ30cおよび検出データ30eに画像解析システム10の識別情報を対応付け、管理者端末100に送信する。管理者端末100の制御部200は、出力制御部210cを備えており、当該出力制御部210cの機能により、通信部500を制御し、除去後画像データ30cおよび検出データ30eを受信して記憶媒体300に記憶させる。さらに、制御部200は、出力制御部210cの機能により、表示部400を制御し、除去後画像データ30cが示す除去後画像Ieに、画像解析システム10の識別情報を対応づけて表示させる。以上の構成によれば、管理者は、付着物が除去された除去後画像Ieを視認することができる。また、制御部200は、出力制御部210cの機能により、表示部400を制御し、検出データ30eが示す物体検出の結果に、画像解析システム10の識別情報を対応づけて表示させる。以上の構成によれば、管理者は、カメラ40で撮影された物体を認識することができる。
【0061】
ステップS215が実行されると、制御部20は、警告制御部21eの機能により、撮影画像と除去後画像の差分を取得する(ステップS225)。本実施形態において、撮影画像と除去後画像とは同一のサイズおよび同一の形状の画像である。そこで、制御部20は、撮影画像データ30aと、除去後画像データ30cとを参照し、同一座標の画素同士で階調値の差分を取得する処理を、各画素について実施する。本実施形態において、撮影画像と除去後画像とは、赤、青、緑の3チャネルからなる画像であるため、差分を取得する処理は各画素について実施され、その総和が各画素の差分を示す値とされる。この構成は一例であり、各種の態様で画素毎の差分を示す値が取得されても良い。例えば、赤、青、緑のそれぞれのチャネルの差分に対して重み付け係数を乗じて加えた値が、画素毎の差分を示す値とされても良い。
【0062】
画素毎の差分が取得されると、制御部20は、警告制御部21eの機能により、差分が既定値以上である画素の割合を取得する(ステップS230)。すなわち、制御部20は、差分を示す値が既定値以上である画素の像を付着物の像であると見なし、当該画素が全画像に占める割合で付着物の量を評価する。
図7においては、撮影画像Ipから機械学習モデル30bによって生成された除去後画像Ieと、撮影画像Ipと、の差分が閾値以上である画素をグレーに着色した画像Idを模式的に示している。画像Idにおいて、差分が閾値より小さい(0に近い)部分は白に着色されている。
図7に示すように、レンズへの付着物が除去された除去後画像Ieが生成されると、撮影画像Ipと除去後画像Ieとの差分は、付着物が存在しない部位で0に近くなり、付着物が存在する部位で大きくなる。
【0063】
そこで、制御部20は、付着物の像であると見なされた画素の数を計測し、全画素数で除することによって、付着物が画像に占める割合を取得する。付着物が画像に占める割合は、付着物の量に対応しているため、本実施形態においては、撮影画像と除去後画像の差分に基づいて、レンズに付着した付着物の量を評価していることになる。以上の構成によれば、カメラ40のレンズに付着した付着物の量を、容易に、かつ、客観的に、自動的に判定することが可能である。
【0064】
次に、制御部20は、警告制御部21eの機能により、ステップS230で取得された割合が第1閾値以上であるか否か判定し(ステップS235)、割合が第1閾値以上であると判定された場合、さらに、割合が第2閾値以上であるか否か判定する(ステップS240)。本実施形態においては、第1閾値および第1閾値より大きい第2閾値が予め定義されている。第2閾値は、カメラ40のメンテナンスが必要なほど付着物がレンズに付着していることを特定するための閾値である。第1閾値は、カメラ40のレンズに付着物が付着しているため、機械学習モデル30bを更新した方が好ましいことを判定するための閾値である。
【0065】
ステップS235において、割合が第1閾値以上であると判定されない場合、制御部20は、画像生成処理を終了する。ステップS235において割合が第1閾値以上であると判定され、ステップS240において割合が第2閾値以上であると判定されない場合、制御部20は、通信部50を介して、管理者端末100に機械学習モデル更新処理の実行開始指示を出力する。制御部200が、通信部500を介して当該実行開始指示を受信すると、制御部200は、機械学習部210aの機能により、機械学習モデル更新処理を実行する(ステップS245)。当該機械学習モデル更新処理は後述する。
【0066】
ステップS235において割合が第1閾値以上であると判定され、ステップS240において割合が第2閾値以上であると判定された場合、制御部20は、カメラ40のレンズに対する付着物の量が警告対象の量であると見なし、警告の出力制御を実行する(ステップS250)。具体的には、制御部20は、警告制御部21eの機能により、通信部50を制御し、付着物の量が警告対象の量であることを示す情報に対して、画像解析システム10の識別情報を対応づけて管理者端末100に送信する。管理者端末100の制御部200は、出力制御部210cの機能により、通信部500を制御し、これらの情報を受信して記憶媒体300に記憶させる。さらに、制御部200は、出力制御部210cの機能により、表示部400を制御し、画像解析システム10の識別情報とともに、当該識別情報の画像解析システム10において、レンズへの付着物の量が警告対象を超えていることを示す警告情報を表示させる。管理者は、当該警告に応じて識別情報が示す画像解析システム10におけるカメラ40のメンテナンス、すなわち、レンズの装置等を行う。なお、メンテナンス前に機械学習モデル30bの更新が行われていた場合、メンテナンス後に機械学習モデル30bを更新前のモデルに戻しても良い。
【0067】
(4)機械学習モデル更新処理:
図8は、機械学習モデル更新処理のフローチャートである。機械学習モデル更新処理は、
図3に示す機械学習処理と類似の処理であり、一部が異なっている。また、機械学習モデル更新処理に用いられる教師データは、教師データ300aではなく、更新用教師データ300bである。機械学習モデル更新処理においては、
図3に示すステップS105の変わりにステップS107が実行され、当該ステップS107において更新用教師データ300bが生成される。
【0068】
図9は、更新用教師データ300bを説明するための図である。更新用教師データ300bは、予め用意された更新用画像Irと、更新用画像Irに含まれる物体を示す正解値と、仮想汚れ画像Ivと、の組合せを示す情報である。なお、ここで、仮想汚れ画像Ivは、更新用画像Irに対して仮想的な付着物を付した画像である。本実施形態においては、カメラ40に実際に付着している付着物を示す付着物画像Iuが生成され、当該付着物画像Iuが更新用画像Irに付加されることで仮想的に汚れを再現した仮想汚れ画像Ivが生成される。このため、本実施形態においては、撮影画像Ipを機械学習モデル30bに入力して出力された除去後画像Ieと、撮影画像Ipと、の差分によって得られた付着物画像Iuが更新用画像Irに付加されて、仮想汚れ画像Ivが生成される。
【0069】
更新用画像Irは、付着物Rが含まれない画像である。当該更新用画像Irは、教師データ300aにおけるターゲット画像Itと共通であっても良いし、一部共通であっても良いし、異なっていてもよい。但し、複数の更新用画像Irのそれぞれは、少なくとも、被写体として含まれる物体が異なっている。
また、更新用画像Irは、カメラ40に付着物がない(または、ほぼない)状態でカメラ40によって撮影された複数の画像である。また、本実施形態において、更新用画像Irに含まれる物体は予め特定され、正解値として定義されている。当該正解値を定義するためのフォーマットは、教師データ300aと共通で良い。
図9においては、正解値が教師データ300aと同様に矩形の正解ボックスBtによって定義されることが示されている。
【0070】
更新用教師データ300bは、生成モデルGおよび識別モデルDについて追加の機械学習を行うためのモデルである。このため、教師データ300aと同様に、更新用画像Irに対して仮想汚れ画像Ivがペアにされる。
【0071】
このような更新用教師データ300bを生成するために、本実施形態に係る画像解析システム10の制御部20は、通信部50を介して、予め決められたタイミングで撮影画像データ30aを管理者端末100に送信する。管理者端末100の制御部200は、通信部500を介して当該撮影画像データ30aを取得し、記憶媒体300に保存する。画像解析システム10の運用開始後には、画像解析システム10から管理者端末100に対して順次撮影画像データ30aが送信され、記憶媒体300に保存されていく。各撮影画像データ30aは同一のカメラ40によって撮影された画像であるが、付着物の量や位置等が異なり得る。
【0072】
画像解析システム10の運用開始前には、複数の更新用画像Irと、各更新用画像Irに含まれる物体の正解値と、を示す情報が予め生成され、更新用教師データ300bの一部として管理者端末100に保存された状態となっている。
【0073】
以上の各情報が記憶媒体300に保存された状態でステップS107が実行されると、制御部200は、更新用教師データ300bを生成する。すなわち、撮影画像データ30aに基づいて、付着物画像Iuを生成し、更新用画像Irに付加して仮想汚れ画像Ivを生成する。具体的には、制御部200は、撮影画像データ30aが示す撮影画像Ipのそれぞれを機械学習モデル30bに入力し、除去後画像Ieを生成する。
【0074】
さらに、制御部200は、撮影画像Ipと除去後画像Ieとの差分を取得する。制御部200は、当該差分が閾値以上である画素を付着物が撮影された画素であると見なす。そして、当該付着物が撮影された画素に付着物の画素であることを示す付着物フラグを対応付け、付着物が撮影された画素以外の画素に付着物以外の画素であることを示す非付着物フラグを付して付着物画像Iuを生成する。当該除去後画像Ieの生成と付着物画像Iuの生成は、複数の撮影画像Ipのそれぞれについて実施される。以上の処理により、カメラ40に付着した付着物を示す複数の付着物画像Iuが得られる。
【0075】
さらに、制御部200は、複数の更新用画像Irのそれぞれに付着物画像Iuが示す付着物を付加することで、仮想汚れ画像Ivを生成する。具体的には、制御部200は、非付着物フラグが対応付けられた画素の階調値を、更新用画像Irの画素における階調値とする。また、制御部200は、付着物フラグが対応付けられた画素の階調値を、付着物を示す階調値とする。付着物を示す階調値は、予め決められた階調値(例えば、グレーを示す階調値)であっても良いし、付着物フラグが対応付けられた画素における撮影画像Ipの階調値であっても良く、種々の値であって良い。
【0076】
仮想汚れ画像Ivが生成されると、生成された仮想汚れ画像Ivは元の更新用画像Irとペアにされる。以上の結果、更新用画像Irと、当該更新用画像Irに含まれる物体を示す正解値と、当該更新用画像Irとペアになる仮想汚れ画像Ivと、からなる更新用教師データ300bが生成される。
【0077】
機械学習モデル更新処理においてステップS107が実行されると、ステップS110以降の処理が実行されるが、当該処理は
図3に示す機械学習処理とほぼ同様である。但し、機械学習モデル更新処理において参照される教師データは更新用教師データ300bであるため、制御部200は、更新用画像Irをターゲット画像Itとする。また、生成画像Igは、更新用画像Irが更新中の機械学習モデル30bに入力されて生成された画像である。そして、ステップS155において制御部200は、訓練中の生成モデルGによって既存の機械学習モデル30bを更新する。すなわち、制御部200は、記憶媒体300に記憶された機械学習モデル30bを更新する。さらに、制御部200は、通信部500を介して機械学習モデル30bを画像解析システム10に送信し、記憶媒体30に記憶された機械学習モデル30bを更新させる。
【0078】
以上の処理によれば、カメラ40のレンズに対する付着物の量が第1閾値を超え、運用開始時点よりも付着物が増えたことに起因して当初の機械学習モデル30bによる付着物の除去率、物体検出の精度が一時的に低下したとしても、機械学習モデル30bが更新されるため、付着物の除去率、物体検出の精度を回復させることができる。従って、機械学習モデル30bが更新されない構成と比較して、カメラ40のメンテナンス作業を削減することが可能である。
【0079】
(5)他の実施形態:
以上の実施形態は本発明を実施するための一例であり、他にも種々の実施形態を採用可能である。例えば、画像解析システム10や管理者端末100は、複数の装置によって実現されても良い。また、機械学習は、画像解析システム10で実施されてもよいし、他の装置、例えば、クラウドサーバや持ち運び可能な端末等で実施されてもよい。画像解析システム10においても機械学習が実行可能であれば、例えば、画像解析システム10が設置された各現場で撮影された撮影画像を利用した追加学習が可能である。
【0080】
持ち運び可能な端末で機械学習が可能である場合、当該端末を管理者端末100とし、任意の場所で機械学習を行うことができる。従って、画像解析システム10が設置された現場やその付近において、機械学習を行うことが可能であり、学習した機械学習モデル30bをリムーバブルメモリや有線通信、無線通信等の任意の手段によって画像解析システム10に転送し、機械学習モデル30bを更新することができる。この構成であれば、画像解析システム10が、管理者端末100等のコンピュータと遠隔通信可能に接続されていない状態であっても、機械学習モデル30bを更新し、更新後の機械学習モデル30bによって付着物を除去した除去後画像を生成することができる。むろん、この構成においては、管理者端末100が存在しても良いし、存在しなくても良い。
【0081】
さらに、画像解析システム10が表示部を備えており、画像解析システム10において除去後画像が表示されても良い。また、画像解析システム10が警告部を備えており、画像解析システム10において警告が実施されても良い。
【0082】
さらに、撮影画像取得部21a、付着物除去部21b、物体検出部21c、表示制御部21d、警告制御部21eの少なくとも一部が複数の装置に分かれて存在してもよい。また、機械学習部210a、物体検出部210b、出力制御部210cの少なくとも一部が複数の装置に分かれて存在しても良い。むろん、上述の実施形態の一部の構成が省略されてもよいし、処理の順序が変動または省略されてもよい。
【0083】
撮影画像取得部は、カメラによって撮影された撮影画像を取得することができればよい。従って、カメラは、画像解析システム10に備えられていても良いし、画像解析システム10の外部に設置されたカメラで撮影された撮影画像が取得されても良い。撮影画像は、カメラによって撮影された画像であれば良く、撮影された画像自体が機械学習モデルに入力されても良いし、撮影された画像に対して種々の処理が行われた画像が機械学習モデルに入力されてもよい。当該種々の処理は限定されず、例えば、コントラストや明るさの調整や、トリミング、回転、拡大、縮小、ノイズ除去などの処理を想定可能である。
【0084】
付着物除去部は、機械学習モデルに対して、撮影画像を入力し、付着物を除去した除去後画像を出力することができればよい。ここで、付着物の除去は、機械学習モデルによって実施されるため、撮影画像に基づいて、付着物がない場合にカメラによって撮影される可能性が高い画像が得られれば、除去が行われたと言える。すなわち、付着物の除去は、付着物が無い状態での画像が厳密に得られるとは限られず、撮影画像に含まれる付着物の少なくとも一部が除去された状態に近づいていれば良い。
【0085】
付着物が除去された後には、付着物が存在しなければ撮影されている可能性が高い物体の像が存在することが好ましい。従って、付着物によって一部が隠された物体が再現できるように、機械学習が行われることが好ましい。このため、機械学習の教師データには、検出対象となる物体を含む画像が含まれることが好ましい。例えば、カメラによって道路を含む画像を撮影するのであれば、道路等の静止物を含む画像に加え、視野内に写り得る移動体、例えば、車や自転車、歩行者や建物などを含む画像も教師データに含まれることが好ましい。
【0086】
さらに、付着物が除去された後の除去後画像は、物体の検出に用いられるため、機械学習モデルは、除去後画像に基づく物体の検出精度が高くなるように機械学習されれば良い。この際、除去後画像と付着物を含まない画像との差を小さくするとともに、除去後画像に含まれる物体の検出結果と、汚れ画像に含まれる物体を示す正解値との差が小さくなるように機械学習される。差を小さくすると言う意味は、機械学習アルゴリズムとして差が小さいモデルに修正していくように設計されていると言う意味であり、学習処理の繰り返しの過程で一時的に差が大きくなることを妨げない。このような学習の手法は、上述の実施形態のような手法に限定されない。例えば、損失の定義方法は一例であり、各種の手法を採用可能である。また、物体検出のための態様も上述の実施形態のような手法に限定されず、種々の態様を採用可能である。
【0087】
付着物は、レンズに付着し、被写体を遮り得る各種の物体であり、種類は限定されない。例えば、雨や雪、泥、石、レンズに付着した水が揮発した後の残存物等が付着物等となり得る。被写体を遮り得る物体、例えば、霧や靄などが機械学習モデルで除去されても良い。
【0088】
機械学習モデルは、カメラによって撮影された画像を入力してカメラのレンズに対する付着物を除去した画像を出力するように機械学習されたモデルであり、かつ、物体検出結果が正解値に近づくように機械学習されたモデルであれば良い。入力および出力のフォーマットは限定されず、各種の態様の画像が入力され、出力されて良い。すなわち、カメラで撮影された撮影画像自体、撮影画像に対して処理を行った画像のいずれが入力されても良い。入力される画像と出力される画像のフォーマットは同一であってもよいし、異なっていてもよい。
【0089】
機械学習モデルは、撮影画像を除去後画像に変換するモデルであれば良く、上述の構成以外にも種々の構成を採用可能である。すなわち、機械学習モデルは、DCGANの各種態様やそれらの派生の態様、conditional GAN等で得られる画像-画像変換モデルであってもよい。
【0090】
機械学習の態様は限定されず、例えばニューラルネットワークを構成する層の数やノードの数、活性化関数の種類、損失関数の種類、勾配降下法の種類、勾配降下法の最適化アルゴリズムの種類、ミニバッチ学習の有無やバッチの数、学習率、初期値、過学習抑制手法の種類や有無、畳み込み層の有無、畳み込み演算におけるフィルタのサイズ、フィルタの種類、パディングやストライドの種類、プーリング層の種類や有無、全結合層の有無、再帰的な構造の有無など、種々の要素を適宜選択して機械学習が行われればよい。むろん、他の機械学習、例えば、サポートベクターマシンやクラスタリング、強化学習等によって学習が行われてもよい。さらに、モデルの構造(例えば、層の数や層毎のノードの数等)が自動的に最適化される機械学習が行われてもよい。各種パラメーターの態様としても、各種の態様を採用可能である。例えば、識別モデルDから出力される識別信号の範囲は0~1に限定されず、0~100等の範囲であっても良い。
【0091】
また、上述の実施形態において識別モデルDの出力は1個の出力であるが、識別モデルDの態様はこの態様に限定されない。例えば、識別モデルDから2個の出力が得られるようにモデルを定義し、一方において偽の確度を表す値を出力し、他方において真の確度を表す値を出力する構成としても良い。この場合、識別モデルDおよび生成モデルGの学習時には、2出力からなるベクトルと、対応するターゲットベクトル間の差分量を逆伝搬し、上述の実施形態と同じように学習が実行される。
【0092】
警告制御部は、付着物の量に基づいて警告部に警告を出力させることができればよい。すなわち、警告制御部は、警告対象となる量の付着物がカメラのレンズに付着している場合に、その旨を利用者に警告することができればよい。撮影画像と除去後画像との比較は、上述の実施形態のような画素毎の階調値の差分を取得することによって実施される構成に限定されない。すなわち、当該階調値の差分に替えて、または当該階調値の差分に加えて、各種の比較が行われてよい。例えば、画像の各種の特徴量の比較やヒストグラムの比較、コントラスト、明るさの比較等が行われてもよい。また、各画像の一部は比較され、残りの部分は比較されない構成等が採用されてもよい。例えば、道路を含む画像であれば、道路および道路を含む部分において撮影画像と除去後画像とが比較され、空等の残りの部分は比較されない構成であっても良い。
【0093】
付着物の量は、画像の比較に基づいて取得されれば良い。付着物の量は、各種の指標によって評価されて良い。従って、上述の実施形態のように、差分が閾値以上の画素が全画素に対して占める割合によって付着物の量が評価される構成以外にも、種々の構成が採用されてよい。例えば、差分の大きさの累積値に基づいて付着物の量が評価されても良いし、差分等によって比較対象の画像同士で異なっている部分が特定され、当該部分のうち、面積の小さい部分がノイズとして除去されても良い。また、差分等によって比較対象の画像同士が異なっている部分の形状に基づいて、連続する付着物の形状が再現されて付着物の量が評価されても良い。
【0094】
警告を出力させるか否かは、付着物の量に基づいて決められれば良く、付着物の量に応じて警告が実施されてもよい。例えば、付着物の量が多いほど、段階的または連続的に警告の強度が強くなっても良い。さらに、警告部は、画像解析システム10に備えられていても良いし、上述の実施形態のように、画像解析システム10の外部の装置に備えられていても良い。いずれにしても、警告制御部は、当該警告部に、警告を出力させることができればよい。
【0095】
さらに、付着物の量を評価するために比較される画像は、上述の実施形態のように撮影画像と除去後画像とである構成に限定されない。例えば、比較対象の画像は、所定の時刻に撮影された撮影画像と予め用意された基準の撮影画像であってもよい。ここで、基準の撮影画像は、付着物の増加の程度を評価するための基準となる画像であれば良く、例えば、画像解析システム10が設置された後、初めて所定の時刻になった際にカメラ40にて撮影された撮影画像等が挙げられる。
【0096】
所定の時刻は、被写体が少ないと推定される時刻であれば良く、例えば、撮影画像が道路を含む場合、交通量が少ない日時が想定され、撮影画像が駐車場を含む場合、駐車量が少ない日時が想定される。このような日時としては、例えば、休日に比較的空いている道路、駐車場等における休日の早朝等が挙げられる。いずれにしても、所定の時刻によって撮影された撮影画像に含まれる車両等の物体は、基準の撮影画像と大差ないことが推定される。このため、所定の時刻に撮影された撮影画像と基準の撮影画像との差分を取得すれば、得られた差分が主に付着物からなると推定することができる。
【0097】
そこで、このような比較が行われるように構成しても良い。この構成は、上述の実施形態の一部を変更することによって実現可能である。具体的には、
図6に示す画像生成処理を
図10のように修正することによって実現可能である。
図10においては、
図6と同一の処理を
図6と同一の符号で示し、
図6と異なる処理を
図6と異なる符号で示している。具体的には、
図10に示す画像生成処理は、
図6に示す画像生成処理にステップS202,S203が追加された処理となっている。また、基準の撮影画像は、予め記憶媒体30に保存されている(不図示)。
【0098】
ステップS202において、制御部20は、警告制御部21eの機能により、図示しない計時回路に基づいて現在時刻を特定し、現在時刻が所定の時刻であるか否か判定する。ステップS202において、現在時刻が所定の時刻であると判定されない場合、制御部20は、
図6に示す処理と同様に、ステップS205以降の処理を実行する。
【0099】
一方、ステップ202において、現在時刻が所定の時刻であると判定された場合、制御部20は、警告制御部21eの機能により、所定の時刻で撮影した撮影画像と基準の撮影画像の差分を取得する(ステップS203)。すなわち、制御部20は、撮影画像データ30aを参照し、ステップS200で撮影した撮影画像の中から所定の時刻で撮影した撮影画像(または、所定の時刻に最も近い時刻に撮影した撮影画像)を取得する。また、制御部20は、記憶媒体30に保存された基準の撮影画像を取得する。そして、所定の時刻で撮影した撮影画像と、基準の撮影画像とを参照し、同一座標の画素同士で階調値の差分を取得する処理を、各画素について実施する。
【0100】
画素毎の差分が取得されると、制御部20は、警告制御部21eの機能により、ステップS230以降の処理を実行する。但し、ステップS203を経てステップS230が実行される場合、ステップS203によって取得された差分に基づいて、差分が既定値以上である画素の割合が取得される。以上の処理によれば、除去後画像Ieに依存せずにカメラ40に対する付着物の量を評価することができる。従って、除去後画像Ieによる付着物の除去精度が低下したとしても、カメラ40に対する付着物の量を評価することができる。このため、除去後画像Ieによる付着物の除去精度が低下したとしても、付着物の量を正確に評価し、機械学習モデルの更新タイミングや警告の出力タイミングを決定することができる。
【0101】
さらに、機械学習部においては、物体検出モデル30dの追加学習を行ってもよい。物体検出モデル30dの追加学習を行うタイミングは、機械学習モデル30bと同一であっても良いし、異なっていてもよい。
図11は、機械学習モデル30bと同一のタイミングで物体検出モデル30dの追加学習を行う処理を示すフローチャートである。この構成は、上述の実施形態と同様の構成において、
図6に示す画像生成処理を
図11に示すように修正することで実現可能である。
図11においては、
図6に示す画像生成処理のステップS245の後に、ステップS247の物体検出モデル更新処理が追加されている。
【0102】
図12は、物体検出モデル更新処理を示すフローチャートである。
図12に示す例においては、ステップS247の物体検出モデル更新処理の前に、ステップS245において機械学習モデル更新処理が実行されている。従って、物体検出モデル更新処理の開始前においては、更新用教師データ300bとして、更新用画像Irおよび仮想汚れ画像Ivが既に生成された状態となっている。また、更新用教師データ300bには、更新用画像Irに含まれる物体の正解値も含まれている。
【0103】
この状態において物体検出モデル更新処理が開始されると、制御部200は、機械学習部210aの機能により、サイクルをカウントするための変数Cycleを0に初期化し、学習条件を設定する(ステップS300)。当該処理は、
図3のステップS100と同様である。
【0104】
次に、制御部200は、物体検出部210bの機能により、更新用画像Irおよび仮想汚れ画像Ivの除去後画像Ieに対して物体検出を行う(ステップS305)。具体的には、制御部200は、更新用教師データ300bを参照し、更新用画像Irおよび仮想汚れ画像Ivを取得する。また、制御部200は、仮想汚れ画像Ivを機械学習モデル30bに入力し、除去後画像Ieを生成する。さらに、制御部200は、更新用画像Irおよび仮想汚れ画像Ivの除去後画像Ieを現時点における物体検出モデル30dに入力して、それぞれの物体検出の結果を取得する。
【0105】
次に、制御部200は、機械学習部210aの機能により、物体検出の結果から検出結果の精度に関する損失E_loss0とE_loss1を取得する(ステップS310)。すなわち、制御部200は、ステップS305における物体検出結果を正解値と比較する指標を取得し、損失E_loss0とE_loss1を定義する。
【0106】
図13は、ある更新用画像Irを例にしてステップS305の物体検出を説明するための図である。本実施形態では、仮想汚れ画像Ivの除去後画像Ieと、更新用画像Irと、のそれぞれに対して物体検出を行う。
図13の上段には、仮想汚れ画像Ivの除去後画像Ieに対する物体検出結果が例示されている。すなわち、
図13の上段に示す除去後画像Ieにおいては、デフォルトボックスDB1と当該デフォルトボックスDB1に対応した検出ボックスB1が太い実線および一点鎖線で例示されている。
【0107】
更新用画像Irに含まれる物体の正解値は、更新用教師データ300bに定義されている。従って、仮想汚れ画像Ivの除去後画像Ieに対する物体検出の結果と、更新用画像Irに含まれる物体の正解値と、を対比すれば、仮想汚れ画像Ivの除去後画像Ieに基づく物体検出の正確性を評価することができる。
【0108】
図13においては、中段に更新用画像Irの正解値に対応した正解ボックスを破線で例示している。例えば、仮想汚れ画像Ivの除去後画像Ieの検出ボックスB1と正解ボックスBtとを対比すれば、検出ボックスB1による検出結果が正解値とどの程度近いか評価することができる。従って、仮想汚れ画像Ivの除去後画像Ieに対する物体検出結果と、正解値とを用いると、除去後画像Ieを物体検出モデル30dに入力した場合の物体検出の精度を評価することができる。このため、当該評価を損失に組み込むことで、除去後画像Ieの物体検出の精度が向上するように物体検出モデル30dの追加学習を行うことが可能になる。
【0109】
また、
図13の下段には、更新用画像Irに対する物体検出結果が例示されている。すなわち、
図13の下段に示す更新用画像Irにおいては、デフォルトボックスDB1と当該デフォルトボックスDB1に対応した検出ボックスB2が太い実線および一点鎖線で例示されている。更新用画像Irの検出ボックスB2と正解ボックスBtとを対比すれば、検出ボックスB2による検出結果が正解値とどの程度近いか評価することができる。従って、更新用画像Irに対する物体検出結果と、正解値とを用いると、更新用画像Irを物体検出モデル30dに入力した場合の物体検出の精度を評価することができる。このため、当該評価を損失に組み込むことで、汚れていない画像である更新用画像Irの物体検出の精度が向上するように物体検出モデル30dの追加学習を行うことが可能になる。
【0110】
損失は種々の態様で定義されて良いが、例えば、正解値と物体検出結果との間での位置精度とクラス推定精度を評価する指標を取得することで損失を定義することができ、上述のステップS125と同様の処理により、E_loss0およびE_loss1を取得する。ここでも、制御部200は、更新用教師データ300bに含まれる更新用画像Irの全てについて、E_loss0およびE_loss1を取得する。
【0111】
次に、制御部200は、機械学習部210aの機能により、合成損失を取得する(ステップS315)。すなわち、制御部200は、E_loss0とE_loss1の和を取得する。むろん、和を取得する際には、各種の大きさ調整や規格化が行われてよい。次に、制御部200は、機械学習部210aの機能により、合成損失に基づいてパラメーター調整を行う(ステップS320)。当該パラメーター調整のアルゴリズムは、公知のアルゴリズムを用いることが可能である。例えば、SSD(Single Shot Multibox Detector)やYOLO(You Only Look Once)等のアルゴリズムを用いることが可能である。
【0112】
次に、制御部200は、合成損失が予め決められた閾値より小さいか否かを判定し(ステップS325)、合成損失が閾値より小さいと判定されない場合、制御部200は、変数Cycleをインクリメントする(ステップS330)。そして、制御部200は、変数Cycleが最大値以上であるか否かを判定し(ステップS335)、変数Cycleが最大値以上であると判定されない場合、ステップS305以降の処理を繰り返す。
【0113】
一方、ステップS325において合成損失が予め決められた閾値より小さいと判定された場合、または、ステップS335において変数Cycleが最大値以上であると判定された場合、制御部200は、物体検出モデル30dを記録する(ステップS340)。すなわち、制御部200は、訓練後の物体検出モデル30dを記憶媒体300に保存する。また、物体検出モデル30dは、画像解析システム10に送信され、記憶媒体30にも保存される。なお、ステップS340における物体検出モデル30dの保存前に、テストデータによる学習終了の判定が行われてもよい。予定通りに学習が進まなかった場合、学習条件を変えるなどして再度機械学習が行われてもよい。
【0114】
以上の処理によれば、仮想汚れ画像Ivの除去後画像Ieに基づいて物体検出を行った結果と、更新用画像Irに基づいて物体検出を行った結果と、の双方が正解値に近づくように(差が小さくなるように)学習される。従って、高精度に物体検出を実行できるように物体検出モデル30dを生成することができる。
【0115】
なお、上述の更新用教師データ300bにおいて、更新用画像Irと当該更新用画像Irに含まれる物体の正解値は、予め用意されるが、画像解析システム10の運用過程において更新用画像Irが生成されても良い。例えば、カメラ40によって撮影された撮影画像を更新用画像Irとし、当該撮影画像を物体検出モデル30dに入力して得られた物体検出の結果を正解値とする構成が採用されてもよい。この構成において、撮影画像は、付着物が少ない状態で撮影されることが好ましい。例えば、画像解析システム10を設置した直後やカメラ40に対するメンテナンス(レンズの掃除等)が行われた直後の所定期間内に撮影された撮影画像に基づいて更新用画像Irおよび正解値が生成されても良い。この構成によれば、更新用教師データ300bを生成するための労力を低減することができる。さらに、機械学習モデル30bおよび物体検出モデル30dの追加学習は、更新用教師データ300bと教師データ300aとに基づいて実施されてもよい。
【0116】
なお、物体検出モデル30dや機械学習モデル30bが追加学習された際、元の物体検出モデル30dや機械学習モデル30bを上書きするように更新されても良いし、元の物体検出モデル30dや機械学習モデル30bとは別に更新後のモデルが保存されても良い。後者においては、利用者のニーズやモデルの精度に応じて元のモデルと更新後のモデルとを使い分けることが可能である。
【0117】
表示制御部は、除去後画像を、表示部に表示させることができればよく、除去後画像以外の各種情報を表示部に表示させても良い。例えば、表示制御部は、除去後画像と画像解析システム10の設置位置とを対応づけて表示部に表示させても良い。また、表示制御部は、除去後画像における各種の処理の結果、例えば、除去後画像の解析結果(道路の渋滞度等)と除去後画像とを対応づけて表示部に表示させても良い。
【0118】
さらに、除去後画像に含まれる物体を検出する物体検出部を備える構成において、表示制御部は、検出された物体を表示部に表示させてもよい。この場合の表示態様も特定の態様に限定されず、種々の態様であってよい。例えば、検出された物体の信頼度等が表示されても良い。
【0119】
さらに、本発明のように、機械学習モデルによって画像から付着物の像を除去する手法は、プログラムや方法としても適用可能である。また、以上のようなシステム、プログラム、方法は、単独の装置として実現される場合や、複数の装置によって実現される場合が想定可能であり、各種の態様を含むものである。また、一部がソフトウェアであり一部がハードウェアであったりするなど、適宜、変更可能である。さらに、システムを制御するプログラムの記録媒体としても発明は成立する。むろん、そのソフトウェアの記録媒体は、磁気記録媒体であってもよいし半導体メモリであってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。
【符号の説明】
【0120】
10…画像解析システム、20…制御部、21…画像解析プログラム、21a…撮影画像取得部、21b…付着物除去部、21c…物体検出部、21d…表示制御部、21e…警告制御部、30…記憶媒体、30a…撮影画像データ、30b…機械学習モデル、30c…除去後画像データ、30d…物体検出モデル、30e…検出データ、40…カメラ、50…通信部、100…管理者端末、200…制御部、210…管理プログラム、210a…機械学習部、210b…物体検出部、210c…出力制御部、300…記憶媒体、300a…教師データ、300b…更新用教師データ、400…表示部、500…通信部