(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024066707
(43)【公開日】2024-05-16
(54)【発明の名称】制御プログラム,制御方法及び情報処理装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20240509BHJP
G06T 7/174 20170101ALI20240509BHJP
【FI】
G06T7/00 350B
G06T7/174
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022176313
(22)【出願日】2022-11-02
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110003649
【氏名又は名称】弁理士法人真田特許事務所
(74)【代理人】
【識別番号】100189201
【弁理士】
【氏名又は名称】横田 功
(72)【発明者】
【氏名】河東 孝
(72)【発明者】
【氏名】鈴木 彼方
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096CA05
5L096DA01
5L096EA03
5L096EA35
5L096FA05
5L096FA62
5L096FA64
5L096FA69
5L096HA01
5L096JA11
5L096KA04
5L096MA03
(57)【要約】
【課題】高解像度の不可視光画像の取得時間を短縮する。
【解決手段】制御プログラムは、所定の撮像範囲2を撮像装置21で撮像した第1画像211と、前記撮像範囲2を前記撮像装置21よりも解像度の低い不可視光撮像装置22で撮像した第1不可視光画像221とを取得し、前記第1画像211と前記第1不可視光画像221とを入力として、前記第1不可視光画像211よりも解像度の高い第2不可視光画像を、機械学習モデル30を用いて生成し、前記第2不可視光画像に含まれる複数のピクセルのそれぞれについての不確実性を示す指標に基づいて、前記撮像範囲2の中から、不可視光画像の取得対象領域20を決定し、前記不可視光撮像装置22の光学拡大制御により、前記第1不可視光画像221における前記取得対象領域20の解像度よりも高い解像度で前記取得対象領域20を撮像した第3不可視光画像223を取得する、処理をコンピュータに実行させる。
【選択図】
図4
【特許請求の範囲】
【請求項1】
所定の撮像範囲を撮像装置で撮像した第1画像と、前記撮像範囲を前記撮像装置よりも解像度の低い不可視光撮像装置で撮像した第1不可視光画像とを取得し、
前記第1画像と前記第1不可視光画像とを入力として、前記第1不可視光画像よりも解像度の高い第2不可視光画像を、機械学習モデルを用いて生成し、
前記第2不可視光画像に含まれる複数のピクセルのそれぞれについての不確実性を示す指標に基づいて、前記撮像範囲の中から、不可視光画像の取得対象領域を決定し、
前記不可視光撮像装置の光学拡大制御により、前記第1不可視光画像における前記取得対象領域の解像度よりも高い解像度で前記取得対象領域を撮像した第3不可視光画像を取得する、
処理をコンピュータに実行させる、制御プログラム。
【請求項2】
前記取得対象領域を決定する処理は、複数の前記指標のうちの、前記取得対象領域の範囲内のピクセルについての指標の合計値が最大となる領域を、前記取得対象領域として決定する処理を含む、
請求項1に記載の制御プログラム。
【請求項3】
前記取得対象領域を決定する処理は、前記不可視光撮像装置の光学拡大制御に関する所定のコストと、前記指標の合計値とに基づき、所定時間内に前記不可視光撮像装置により撮像可能な1以上の前記取得対象領域を決定する処理を含む、
請求項2に記載の制御プログラム。
【請求項4】
前記第2不可視光画像に含まれる前記取得対象領域の部分画像と、前記第3不可視光画像との差が最小となるように前記機械学習モデルを訓練する、
処理を前記コンピュータに実行させる、請求項1~請求項3のいずれか1項に記載の制御プログラム。
【請求項5】
前記第2不可視光画像に含まれる前記取得対象領域の部分画像を前記第3不可視光画像に置換して得られる第4不可視光画像を、前記機械学習モデルの推論結果として出力する、
処理を前記コンピュータに実行させる、請求項1~請求項3のいずれか1項に記載の制御プログラム。
【請求項6】
前記撮像装置は、可視光画像を撮像する可視光撮像装置であり、
前記不可視光撮像装置は、赤外線画像を撮像する赤外光撮像装置である、
請求項1~請求項3のいずれか1項に記載の制御プログラム。
【請求項7】
所定の撮像範囲を撮像装置で撮像した第1画像と、前記撮像範囲を前記撮像装置よりも解像度の低い不可視光撮像装置で撮像した第1不可視光画像とを取得し、
前記第1画像と前記第1不可視光画像とを入力として、前記第1不可視光画像よりも解像度の高い第2不可視光画像を、機械学習モデルを用いて生成し、
前記第2不可視光画像に含まれる複数のピクセルのそれぞれについての不確実性を示す指標に基づいて、前記撮像範囲の中から、不可視光画像の取得対象領域を決定し、
前記不可視光撮像装置の光学拡大制御により、前記第1不可視光画像における前記取得対象領域の解像度よりも高い解像度で前記取得対象領域を撮像した第3不可視光画像を取得する、
処理をコンピュータが実行する、制御方法。
【請求項8】
所定の撮像範囲を撮像装置で撮像した第1画像と、前記撮像範囲を前記撮像装置よりも解像度の低い不可視光撮像装置で撮像した第1不可視光画像とを取得し、
前記第1画像と前記第1不可視光画像とを入力として、前記第1不可視光画像よりも解像度の高い第2不可視光画像を、機械学習モデルを用いて生成し、
前記第2不可視光画像に含まれる複数のピクセルのそれぞれについての不確実性を示す指標に基づいて、前記撮像範囲の中から、不可視光画像の取得対象領域を決定し、
前記不可視光撮像装置の光学拡大制御により、前記第1不可視光画像における前記取得対象領域の解像度よりも高い解像度で前記取得対象領域を撮像した第3不可視光画像を取得する、
制御部を備える、情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御プログラム,制御方法及び情報処理装置に関する。
【背景技術】
【0002】
機械学習において、学習にラベル付きデータを用いる教師有り学習が製品の分類問題等に応用されることがある。
【0003】
ラベル付きデータは、物体を含む撮像範囲を撮像して得られた画像に、当該物体の分類(クラス)を示す正解ラベルが付与されたデータである。画像への正解ラベルの付与は通常は人手で行なわれるため、ラベル付きデータはラベル無しデータに比べて収集コストが大きくなる。
【0004】
また、安価な低解像度のカメラを用いて複数枚の拡大画像を撮像し、これらの複数枚の拡大画像を合成することで高解像度の画像を取得する、パノラマ合成技術が知られている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】米国特許出願公開第2015/0055886号明細書
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述したラベル付きデータに用いる画像として、より高解像度な画像を取得したい場合がある。
【0007】
例えば、サーモカメラは、通常の可視光カメラと比較して、一般に高価格であるが解像度は低い。そこで、高解像度な熱画像を取得するために、例えば、パノラマ合成技術により、サーモカメラにより複数枚の低解像度の熱画像を撮像し、これらを合成して高解像度の熱画像を取得することが考えられる。
【0008】
しかし、パノラマ合成技術では、画像の枚数が増加するほど合計の撮像時間が増加する。従って、撮像対象が経時変化する場合、撮像時間が増加することで、撮像対象を正確に撮像した高解像度の熱画像が取得できない場合がある。高解像度の正確な熱画像が取得できないことで、ラベル付きの熱画像を訓練データとして用いて訓練する機械学習モデルの精度が低下する可能性がある。
【0009】
なお、上述した不都合は、サーモカメラにより熱画像を撮像する場合に限定されるものではなく、不可視光撮像装置により種々の不可視光画像を撮像する場合においても同様に生じ得る。
【0010】
1つの側面では、本発明は、高解像度の不可視光画像の取得時間を短縮することを目的の1つとする。
【課題を解決するための手段】
【0011】
1つの側面では、制御プログラムは、コンピュータに以下の処理を実行させる。前記処理は、所定の撮像範囲を撮像装置で撮像した第1画像と、前記撮像範囲を前記撮像装置よりも解像度の低い不可視光撮像装置で撮像した第1不可視光画像とを取得してよい。また、前記処理は、前記第1画像と前記第1不可視光画像とを入力として、前記第1不可視光画像よりも解像度の高い第2不可視光画像を、機械学習モデルを用いて生成してよい。さらに、前記処理は、前記第2不可視光画像に含まれる複数のピクセルのそれぞれについての不確実性を示す指標に基づいて、前記撮像範囲の中から、不可視光画像の取得対象領域を決定してよい。また、前記処理は、前記不可視光撮像装置の光学拡大制御により、前記第1不可視光画像における前記取得対象領域の解像度よりも高い解像度で前記取得対象領域を撮像した第3不可視光画像を取得してよい。
【発明の効果】
【0012】
1つの側面では、本発明は、高解像度の不可視光画像の取得時間を短縮することができる。
【図面の簡単な説明】
【0013】
【
図2】一実施形態に係る手法を簡単に説明するための図である。
【
図4】一実施形態に係るシステムの構成例を示す図である。
【
図5】一実施形態に係るサーバのソフトウェア構成例を示すブロック図である。
【
図6】訓練部によるモデルの訓練手法の一例を説明するための図である。
【
図7】ピクセルのクラス確率とエントロピーとの関係の一例を示す図である。
【
図8】エントロピーマップと拡大領域との一例を示す図である。
【
図9】拡大領域決定部による複数の拡大領域の決定手法の一例を説明するための図である。
【
図10】一実施形態に係るシステムの訓練フェーズにおける動作例を説明するフローチャートである。
【
図11】拡大領域決定部による拡大領域の決定処理の動作例を説明するフローチャートである。
【
図12】一実施形態に係るシステムの推論フェーズにおける動作例を説明するフローチャートである。
【
図13】一実施形態に係るコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形又は技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の説明で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
【0015】
〔A〕一実施形態の説明
図1は、画像の解像度を説明するための図である。
図1では、可視光画像211及び熱画像221の一例を示す。
【0016】
可視光画像211は、可視光カメラ21により、所定の撮像範囲2を撮像して得られる第1画像の一例である。可視光カメラ21は、撮像装置(可視光撮像装置)の一例である。
【0017】
熱画像221は、サーモカメラ22により、所定の撮像範囲2を撮像して得られる不可視光画像又は第1不可視光画像の一例である。熱画像221は、赤外線画像と称されてもよい。サーモカメラ22は、不可視光撮像装置,熱画像撮像装置又は赤外光撮像装置の一例である。
【0018】
なお、
図1の例では、熱画像221に物体3が含まれている。物体3は、例えば加熱又は冷却されたことで他の物体と温度が異なっており、熱画像221において他の物体と区別可能に描画(表示)されている。
【0019】
以下の説明では、不可視光が赤外光(赤外線)である場合を例に挙げて説明するが、これに限定されるものではなく、不可視光として、紫外光(紫外線)等の種々の光(光線)が用いられてもよい。
【0020】
図1に示す例では、熱画像221の解像度は、可視光画像211の解像度よりも低い。このような前提において、高解像度の熱画像を取得したい場合、例えば、機械学習モデルの訓練に用いるラベル付きデータとして高解像度な熱画像を取得したい場合を想定する。
【0021】
高解像度の熱画像を取得するには、高価(高性能,高解像度)なサーモカメラ22を利用すればよいが、導入コスト,運用コストが増加する。
【0022】
例えば、上述したパノラマ合成技術を用いて、撮像範囲の一部を拡大した熱画像を安価(低性能,低解像度)なサーモカメラ22により複数枚撮像し、これらを合成することで、解像度の高い熱画像を取得することも考えられるが、取得時間が増加する。高解像度の熱画像の取得時間の増加は、撮像対象が経時変化する場合、正確な熱画像の取得ができず、機械学習モデルの精度低下を引き起こす可能性がある。
【0023】
そこで、一実施形態では、安価(低性能,低解像度)な不可視光撮像装置を利用しつつ、高解像度の不可視光画像(一例として、熱画像)の取得時間を短縮する手法を説明する。
【0024】
図2は、一実施形態に係る手法を簡単に説明するための図である。
図2に示すように、一実施形態では、高解像度の可視光画像211を高解像度の熱画像(以下、「高解像度熱画像」と表記する場合がある)222に変換する機械学習モデル30の訓練を行なうことで、高解像度熱画像222を短時間で生成できるようにする。
【0025】
高解像度熱画像222は、熱画像221よりも解像度の高い第2不可視光画像の一例である。「機械学習モデル」は、「学習器」又は単に「モデル」と称されてもよい。
【0026】
一実施形態では、可視光画像211から高解像度熱画像222への変換に不足する情報を補うために、低解像度の熱画像221が使用される。
【0027】
また、一実施形態では、モデル30の訓練に用いる教師データ(高解像度の熱画像)を生成するために、低解像度の拡大熱画像223が使用される。拡大熱画像223は、第3不可視光画像の一例である。
【0028】
図3は、拡大熱画像223の一例を示す図である。
図3に示すように、一実施形態では、サーモカメラ22は、光学ズーム(光学拡大)の機能により、撮像範囲2の中の一部の拡大領域20の熱画像を、拡大熱画像223として撮像する。拡大領域20は、拡大熱画像223(熱画像)の取得対象領域の一例である。
【0029】
なお、熱画像221と拡大熱画像223とは、撮像した範囲が撮像範囲2と拡大範囲20とで異なる他は、画像サイズ,解像度ともに同一である。すなわち、拡大熱画像223は、熱画像221と同様に低解像度の画像である。
【0030】
図2に例示するように、モデル30の訓練フェーズでは、可視光画像211と熱画像221とを入力されたモデル30から、熱画像221よりも高解像度の熱画像222が出力される。
【0031】
そして、高解像度熱画像222に含まれる複数のピクセルのそれぞれについての不確実性を示す指標に基づいて、撮像範囲2の中から拡大領域20が決定される。また、サーモカメラ22の光学拡大制御により、熱画像221に含まれる拡大領域20の解像度よりも高い解像度で拡大領域20を撮像した拡大熱画像223が取得される。
【0032】
このように、一実施形態に係る手法によれば、高解像度の可視光カメラ21と、安価な低解像度のサーモカメラ22とを用いて、高解像度熱画像222を出力するモデル30の訓練に利用される拡大熱画像223を取得することができる。
【0033】
拡大熱画像223を用いて訓練されたモデル30を利用することで、安価(低性能,低解像度)なサーモカメラ22を用いつつ、高解像度熱画像222の取得時間を短縮することができる。
【0034】
また、不確実性を示す指標に基づき拡大領域20が決定されることで、モデル30の出力が不確実な部分(ピクセル)、換言すれば、損失が大きい部分について、拡大熱画像223を教師データとして用いた訓練を行なうことができる。従って、効率的なモデル30の訓練を実現できる。
【0035】
なお、拡大熱画像223の撮像を可能とするために、一実施形態に係るサーモカメラ22は、光学ズームの機能を備えた撮像装置であってよい。例えば、サーモカメラ22は、サーモカメラ22のレンズの焦点距離を変化させることで、撮像する範囲を撮像範囲2から拡大領域20に光学的に拡大させる拡大/望遠機能を有してよい。
【0036】
或いは、サーモカメラ22の他に、サーモカメラ22よりも拡大領域20側に設置された他のサーモカメラが備えられてもよく、拡大熱画像223が当該他のサーモカメラにより撮像されてもよい。この場合、サーモカメラ22においては、光学ズームの機能が省略されてもよい。当該他のサーモカメラの性能,解像度は、サーモカメラ22と同程度であってもよいし、異なってもよい。
【0037】
〔B〕一実施形態に係るシステムの構成例
図4は、一実施形態に係るシステム1の構成例を示す図である。システム1は、機械学習モデル30の訓練を実行する機械学習システムの一例である。以下、一実施形態に係る機械学習モデル30は、高解像度の可視光画像211を高解像度の熱画像222に変換するものとする。
【0038】
一実施形態では、撮像範囲2に含まれる物体3が、瓶,缶,ペットボトル等の資源ゴミであるものとする。例えば、一実施形態に係る手法により訓練されたモデル30から出力される高解像度熱画像222は、これらの資源ゴミを適切に分別するための機械学習モデル(図示省略)の訓練に利用される、訓練データとして用いられてよい。
【0039】
図4に示すように、システム1は、例示的に、サーバ10,可視光カメラ21,サーモカメラ22,及び搬送帯23を備えてよい。
【0040】
サーバ10は、モデル30の訓練を行なうとともに、可視光カメラ21及びサーモカメラ22の少なくとも1つの制御を通じて、モデル30の訓練に用いる訓練データを収集する。サーバ10による処理の詳細は後述する。
【0041】
搬送帯23は、物体3を搬送する。搬送帯23は、例えば、ロボット又は作業者により投入(図示省略)された物体3を搬送してよい。搬送帯23としては、例えば、ベルトコンベヤー,チェーンコンベヤー,ローラコンベヤー等の種々のコンベヤーが挙げられる。
【0042】
可視光カメラ21は、撮像範囲2を撮像して得た可視光画像211をサーバ10に出力する。サーモカメラ22は、撮像範囲2を撮像して得た熱画像221をサーバ10に出力する。また、サーモカメラ22は、サーバ10からの制御に応じて視野(撮像範囲2)の中の一部(拡大領域20)を光学ズームによって拡大して撮像し、拡大領域20の拡大熱画像223をサーバ10に出力する。
【0043】
可視光カメラ21及びサーモカメラ22は、互いに類似する(好ましくは同一の)角度により、撮像範囲2を撮像するように設置されてよい。換言すれば、画像211及び221間で、物体3間の配置関係,各物体3の大きさ,位置が互いに類似するように(好ましくは同一となるように)、可視光カメラ21及びサーモカメラ22が設置されてよい。
【0044】
一実施形態では、撮像範囲2は、搬送帯23上の一部の領域であってよい。搬送帯23上を物体3が搬送される場合、搬送帯23上の位置によっては物体3間の配置関係が変わらないため、可視光カメラ21の撮像範囲2とサーモカメラ22の撮像範囲2とは、互いに異なる範囲であってもよい。例えば、可視光カメラ21の撮像範囲2とサーモカメラ22の撮像範囲2とのそれぞれは、搬送帯23の搬送方向に対して水平方向(並行)に互いに離間した範囲であってもよい。
【0045】
〔C〕ソフトウェア構成例
図5は、一実施形態に係るサーバ10のソフトウェア構成例を示すブロック図である。サーバ10は、モデル30の訓練(及びモデル30を用いた推論)と、訓練データの生成並びに更新とを実行する情報処理装置又はコンピュータの一例である。
【0046】
図5に示すように、サーバ10は、例示的に、メモリ部11,取得部12,訓練部13,拡大領域決定部14,及び出力部15を備えてよい。また、サーバ10は、推論部16を備えてもよい。取得部12,訓練部13,拡大領域決定部14,出力部15,及び推論部16は、制御部17の一例である。
【0047】
メモリ部11は、記憶領域の一例であり、サーバ10が利用する種々のデータを記憶する。メモリ部11は、例えば、サーバ10の後述するメモリ40c及び記憶部40d(
図13参照)のうちの一方又は双方が有する記憶領域により実現されてもよい。
【0048】
図5に示すように、メモリ部11は、例示的に、機械学習モデル30,複数の可視光画像211,複数の熱画像221,複数の高解像度熱画像222,複数の拡大熱画像223,複数の合成熱画像224,及びエントロピーマップ11aを記憶可能であってよい。
【0049】
以下、便宜上、メモリ部11が格納する情報をテーブル形式で表記するが、これに限定されるものではなく、メモリ部11が格納する情報のうちの少なくとも1つは、DB(Database)又は配列等の種々の形式であってもよい。
【0050】
取得部12は、サーバ10で利用される種々の情報を取得する。例えば、取得部12は、可視光カメラ21から複数の可視光画像211を、サーモカメラ22から複数の熱画像221並びに複数の拡大熱画像223を、それぞれ取得し、メモリ部11に格納してよい。
【0051】
訓練部13は、訓練フェーズにおいて、可視光画像211と、熱画像221と、拡大熱画像223とを含むデータセットを複数含む訓練データ11bを利用した機械学習モデル30の訓練(再訓練,機械学習処理)を行なう。例えば、訓練部13は、可視光画像211と熱画像221とをモデル30に入力して、拡大熱画像223を教師データとして用いる教師有り学習又は半教師有り学習を実行する。
【0052】
図6は、訓練部13によるモデル30の訓練手法の一例を説明するための図である。
図6に示すように、モデル30は、例えば、エンコーダ31及びデコーダ32を含んでよい。
【0053】
図6に例示するように、訓練部13は、可視光画像(
図6では「v」と表記)211及び熱画像(
図6では「r」と表記)221をエンコーダ31に入力して、デコーダ32から高解像度熱画像(
図6では「rh’」と表記)222を取得する。また、デコーダ32は、高解像度熱画像222に含まれるピクセルごとに、サーモカメラ22の分解能に合わせた出力レンジをクラスとしたクラス確率を出力する。
【0054】
訓練部13は、マスク処理P1(
図6では「masking」と表記)により、高解像度熱画像222に含まれる拡大領域20をマスクし、高解像度熱画像222における当該マスク部分の画像を部分画像(
図6では「rs’」と表記)222aとして出力する。部分画像222aは、高解像度熱画像222のうちの拡大領域20部分のみが切り出された画像であってもよいし、高解像度熱画像222のうちの、拡大領域20の範囲外を比較対象外とした(例えば単色で塗り潰した)画像であってもよい。拡大領域20は、拡大領域決定部14による拡大領域決定処理において決定される。
【0055】
サーモカメラ22では、当該拡大領域20の拡大熱画像(
図6では「rh」と表記)223が撮像される。訓練部13は、例えば、描画処理P2(
図6では「drawing」と表記)により、拡大熱画像223に基づき比較用拡大熱画像(
図6では「rs」と表記)223aを生成してよい。
【0056】
比較用拡大熱画像223aは、拡大熱画像223を部分画像222aと比較するための画像である。描画処理P2では、拡大熱画像223を部分画像222aと比較可能な状態にするための処理が行なわれてよい。一例として、訓練部13は、描画処理P2において、画像の形式,属性等を変更又は加工してもよい。
【0057】
他の例として、部分画像222aが、高解像度熱画像222のうちの拡大領域20の範囲外を比較対象外とした画像である場合、訓練部13は、撮像範囲2の中の拡大領域20の位置に拡大熱画像223を配置させた比較用拡大熱画像223aを生成してもよい。例えば、訓練部13は、拡大熱画像223の周囲に比較対象外とするための対象外領域を形成することで、比較用拡大熱画像223aを生成してよい。対象外領域は、部分画像222aに対して行なわれた処理と同様の処理、例えば単色で塗り潰す処理、等が行なわれた領域であってよい。
【0058】
また、他の例として、訓練部13は、部分画像222aが複数箇所の拡大領域20を含んでおり、拡大熱画像223が複数枚撮影された場合に、描画処理P2において、複数枚の拡大熱画像223を合成した比較用拡大熱画像223aを生成してもよい。
【0059】
訓練部13は、部分画像222aと比較用拡大熱画像223aとを比較し、比較結果に基づき、モデル30(エンコーダ31及びデコーダ32)のニューラルネットワークのパラメータを更新(最適化)することで、モデル30の訓練を行なってよい。例えば、訓練部13は、部分画像222aと比較用拡大熱画像223aとの差が最小になるように、パラメータを更新してよい。パラメータの更新では、例えば、勾配降下法等の種々の最適化アルゴリズムが用いられてよい。
【0060】
訓練部13は、1枚の高解像度熱画像222について、互いに異なる複数の拡大領域20が決定された場合、複数の拡大領域20の各々の部分を1枚の撮像範囲2の画像に描画した、1枚の部分画像222aを生成してよい。この場合、訓練部13は、サーモカメラ22により複数の拡大領域20を撮像して得られた複数の拡大熱画像223の各々を1枚の撮像範囲2の画像に描画した、1枚の比較用拡大熱画像223aを生成してよい。或いは、訓練部13は、撮像された拡大熱画像223ごとに、部分画像222a及び比較用拡大熱画像223aを生成してもよい。
【0061】
なお、訓練部13は、部分画像222a及び比較用拡大熱画像223aをメモリ部11等の記憶領域に格納してもよい。
【0062】
拡大領域決定部14は、高解像度熱画像222に対して拡大領域決定処理を実行することで、1以上の拡大領域20を決定する。例えば、拡大領域決定部14は、高解像度熱画像222のうち、モデル30の出力が不確実な部分を拡大領域20として決定してよい。
【0063】
ここで、上述したように、モデル30は、高解像度熱画像222に含まれるピクセルごとにクラス確率を出力する。
【0064】
図7は、ピクセルpのクラス確率とエントロピーとの関係の一例を示す図である。
図7の例では、サーモカメラ22の分解能に応じた出力レンジ(
図7の例では4段階)のクラスごとに、高解像度熱画像222に含まれる或るピクセルpの値がそのクラスである確率を棒グラフの高さで示す。
【0065】
図7に例示するように、符号A1で示すピクセルp1において、クラス2のクラス確率は、最も高く、クラス0,1,3の各クラス確率の倍以上である。一方、符号A2で示すピクセルp2では、クラス0,1,2,3のクラス確率がいずれも同程度である。
図7の例では、ピクセルp1の値がクラス2であることの確実性は高く、ピクセルp2の値がクラス2であることの確実性は低いといえる。
【0066】
なお、
図7の例において、クラス数が4の場合のエントロピーの取り得る範囲は、単位をビット(logの底を2)とした場合、0~2の範囲となる。例えば、ピクセルp2のようにクラス確率が同程度の場合、エントロピーは2に近い値(
図7の例では1.9)になり、ピクセルp1のエントロピー(
図7の例では1.5)よりも高い。
【0067】
このように、クラス確率の分布から、モデル30の出力が不確実な部分の特定が可能である。そこで、拡大領域決定部14は、モデル30から出力されるクラス確率から、各ピクセルの不確実性を示す指標(不確実性指標)を算出する。
【0068】
当該指標(スコア)としては、例えば、クラスの確実性が高いほど低くなり、クラスの確実性が低いほど高くなるエントロピーが挙げられる。
図7の例では、ピクセルp1のエントロピー(Ep)は1.5と比較的低く、ピクセルp2のエントロピー(Ep)は1.9と比較的高い。高解像度熱画像222のうちの、エントロピーが高いピクセルは、モデル30の出力が不確実な部分である、換言すれば、損失が大きいといえる。
【0069】
なお、拡大領域20を決定する段階では、教師データとなる拡大熱画像223が取得されていないため、実際の損失を算出できないが、仮に拡大熱画像223が取得できたときの損失を推定することは可能である。
【0070】
例えば、拡大領域決定部14は、モデル30の出力を各クラスの入手確率と見做すことで、モデル30の出力のエントロピーを、損失の期待値(期待損失)として推定してもよい。
【0071】
また、拡大領域決定部14は、モデル30の出力のうちの、最大値を持つクラス(
図7の例ではクラス2)が実際のクラス(正解のクラス)であったときの損失を、最小損失として推定してもよい。
【0072】
一実施形態では、拡大領域決定部14が期待損失としてエントロピーを算出する場合を説明する。例えば、損失の大きいデータほどモデル30の訓練に与える影響が大きいため、拡大領域決定部14は、高解像度熱画像222のうちのエントロピーが高い(期待損失が大きい)領域を拡大領域20として決定することで、効率的なモデル30の訓練を実現する。
【0073】
拡大領域決定部14は、例えば、複数のピクセルの各々のエントロピーを、高解像度熱画像222における各ピクセルの配置に応じて並べたエントロピーマップ11aを生成し、エントロピーマップ11aに基づき拡大領域20を決定してよい。
【0074】
図8は、エントロピーマップ11aと拡大領域20との一例を示す図である。
図8の例では、エントロピーの値が記載された1つの枠が1つのピクセルに対応する。
【0075】
例えば、拡大領域決定部14は、複数のエントロピーのうちの、拡大領域20の範囲内のピクセルについてのエントロピーの合計値が最大となる領域を、拡大領域20として決定してよい。一例として、拡大領域決定部14は、サーモカメラ22の光学ズーム制御に関する所定のコストと、エントロピーの合計値とに基づき、所定時間内にサーモカメラ22により撮像可能な1以上の拡大領域20を決定してよい。
【0076】
所定のコストは、例えば、サーモカメラ22の光学ズームの制御にかかる時間(拡大撮像時間)であってよい。拡大撮像時間は、例えば、焦点距離の変更,サーモカメラ22の撮影角度の変更等の機械的な駆動時間や、サーモカメラ22が拡大領域20を撮像する撮像時間を含んでよい。
【0077】
所定時間は、例えば、1枚の高解像度熱画像222につき許容される拡大熱画像223の撮像にかかる時間であってよい。所定のコスト(既定のコスト)及び所定時間(既定時間)の一方又は双方は、例えば、管理者等により予め決定されてもよい。
【0078】
例えば、拡大領域決定部14は、エントロピーマップ11aに基づき、所定のコストの制約下で所定時間以内に撮像可能な拡大範囲(ピクセルの組み合わせ)のうちの、エントロピーの合計値が最大となる拡大範囲を決定してよい。
【0079】
また、拡大領域決定部14は、現在のサーモカメラ22の撮像対象位置から、決定した拡大範囲への移動経路を算出してよい。
【0080】
撮像対象位置とは、例えば、サーモカメラ22の撮影角度又は向きの基準点となる位置であり、一例として、サーモカメラ22により撮像された場合に撮像画像の中心点となるピクセルの位置であってよい。
【0081】
図8に例示するように、サーモカメラ22により撮像可能な拡大範囲、すなわち、光学ズームにより撮像される範囲は、破線で囲う網掛けのピクセルの組み合わせ(
図8の例では3×3)の範囲である。拡大領域決定部14は、拡大範囲内のピクセルのエントロピーの合計値が最大値となるような拡大範囲を、拡大領域20として特定してよい。
図8の例では、点線で示す撮像対象位置20aのピクセルを中心とした拡大領域20-1が特定される。
【0082】
また、拡大領域決定部14は、所定のコストの制約下で所定時間内に2回以上の拡大熱画像223の撮像が可能である場合、撮像対象位置20aから所定時間内に光学ズームの制御が可能な範囲内で、他の拡大領域20を決定してよい。
図8には、点線で示す撮像対象位置20bのピクセルを中心とした拡大領域20-2が特定される例を示す。
【0083】
図9は、拡大領域決定部14による複数の拡大領域20の決定手法の一例を説明するための図である。
図9の符号B1には、1回目に決定された拡大領域20-1と、当該拡大領域20-1から所定時間内に移動可能な移動可能範囲2aとを示す。なお、拡大領域決定部14は、撮像対象位置20aがサーモカメラ22の初期位置である場合には、後述する符号B2及びB3の処理を省略して、当該初期位置を中心とする拡大範囲を1回目の拡大領域20-1に決定してもよい。
【0084】
図9の符号B2に例示するように、拡大領域決定部14は、移動可能範囲2aの中で、各ピクセルを中心として追加で拡大熱画像223を撮像した場合の、各ピクセルのエントロピー(スコア)の合計値を算出してよい。例えば、拡大領域決定部14は、移動可能範囲2a内の各セル(ピクセル)について、セルを中心とした拡大範囲内のエントロピーの合計値を当該セルに加算することで、スコアの合計値を算出してよい。
【0085】
図9の符号B3に例示するように、拡大領域決定部14は、算出した合計値が最大(
図9の符号B2の例では80)となるピクセルを撮像対象位置20bとして特定し、撮像対象位置20bを中心とした拡大領域20-2を決定してよい。
【0086】
拡大領域決定部14は、決定した撮像対象位置20a及び20bの情報を、サーモカメラ22による拡大熱画像223の撮像のための移動経路の起点及び終点の情報として利用し、サーモカメラ22を制御してよい。
【0087】
拡大領域決定部14は、1以上の拡大領域20を決定すると、決定した拡大領域20を、決定した移動経路に従って撮像するようにサーモカメラ22を制御してよい。サーモカメラ22により撮像された拡大熱画像223は、取得部12を介して訓練部13に出力されてよい。また、拡大領域決定部14は、決定した拡大領域20をマスク処理P1に利用するために訓練部13に通知してよい。
【0088】
なお、拡大領域決定部14は、1枚の高解像度熱画像222について3回目以降の拡大熱画像223の撮像を行なう場合、
図9の撮像対象位置20bを起点とした移動可能範囲を特定してよい。そして、拡大領域決定部14は、当該移動可能範囲の中で、上述した
図9の符号B2及びB3に例示する手法により、拡大領域20及び移動経路を決定してよい。
【0089】
また、拡大領域決定部14は、1枚の高解像度熱画像222について2回目以降の拡大熱画像223の撮像を行なう場合であって、例えば撮像範囲2を物体3が移動する場合、物体3の移動速度と、所定のコストとに基づき、拡大領域20を決定してもよい。例えば、拡大領域決定部14は、エントロピーマップ11a内の各エントロピーを、高解像度熱画像222内での物体3の移動方向に移動させながら、拡大領域20を決定してもよい。
【0090】
以上のように、訓練部13及び拡大領域決定部14によれば、高解像度熱画像222に含まれる複数のピクセルのそれぞれについての不確実性を示す指標に基づいて、撮像範囲2の中から拡大領域20が決定される。そして、サーモカメラ22の光学ズーム制御により、熱画像221における拡大領域20の解像度よりも高い解像度で拡大領域20を撮像した拡大熱画像223が取得される。
【0091】
これにより、不確実性を示す指標に基づく、例えば損失が最大となる拡大領域20の拡大熱画像223を取得できるので、高解像度熱画像222を出力するモデル30の訓練に効果的な教師データを取得できる。従って、拡大熱画像223を用いて訓練されたモデル30を利用すれば、安価(低性能,低解像度)なサーモカメラ22を用いつつ、高解像度熱画像222の取得時間を短縮することができる。
【0092】
なお、上述した訓練部13及び拡大領域決定部14による処理の全体の処理時間のうち、サーモカメラ22の拡大撮像時間が支配的である。従って、拡大熱画像223の撮像回数が多いほど、モデル30の訓練に効果的な教師データを取得できる可能性は高まるが、高解像度熱画像222の取得時間は増加し得る。
【0093】
一実施形態に係る手法によれば、移動可能範囲2a内で不確実性を示す指標の大きい拡大範囲ほど優先的に拡大領域20として選択されるため、拡大熱画像223の撮像回数が少ない場合であっても、モデル30の訓練に効果的な教師データを効率的に収集できる。従って、一実施形態に係る手法によれば、撮像可能時間,サーモカメラ22の性能(解像度,拡大撮像時間)等の種々の制約の中で、最適な高解像度熱画像222を取得できるとともに、取得時間を短縮することが可能である。
【0094】
出力部15は、出力データを出力する。出力データとしては、例えば、モデル30,可視光画像211,熱画像221,高解像度熱画像222,拡大熱画像223,後述する合成熱画像224,エントロピーマップ11a等のうちの少なくともいずれか1種類のデータが挙げられる。また、出力データには、推論フェーズにおいて、訓練済みのモデル30に入力データ(例えば訓練フェーズで使用した可視光画像211,熱画像221とは異なる可視光画像)を入力して得られる推論結果が含まれてもよい。
【0095】
出力部15は、出力データの「出力」において、例えば、出力データを図示しない他のコンピュータに送信(提供)してもよいし、出力データをメモリ部11に蓄積して、サーバ10又は他のコンピュータから取得可能に管理してもよい。或いは、出力部15は、出力データの「出力」において、出力データを示す情報をサーバ10又は管理者端末等の出力装置に画面出力してもよく、その他の種々の態様により出力データを出力してよい。管理者端末は、サーバ10の管理者又はユーザが利用するコンピュータの一例である。
【0096】
推論部16は、推論フェーズにおいて、訓練部13による訓練済みのモデル30を用いて、推論処理を行なう。例えば、推論部16は、モデル30に推論処理の対象データである可視光画像及び熱画像(図示省略)を入力し、モデル30から出力された推論結果である高解像度熱画像222をメモリ部11に格納してよい。
【0097】
また、推論フェーズにおいても、訓練部13及び拡大領域決定部14は、モデル30から出力された高解像度熱画像222に基づき、拡大熱画像223(或いは比較用拡大熱画像223a)を生成してもよい。
【0098】
推論部16は、高解像度熱画像222に含まれる拡大領域20の部分画像222aを拡大熱画像223(或いは比較用拡大熱画像223a)に置換することで合成熱画像224を生成し、メモリ部11に格納してよい。合成熱画像224は、第4不可視光画像の一例である。
【0099】
このように、高解像度熱画像222に代えて、合成熱画像224を推論結果とすることで、モデル30による推論で得られた画像の少なくとも一部を、実際に高解像度で撮像された拡大熱画像223により補完することができる。従って、高解像度熱画像222を推論結果とするよりも高品質な(正確な)教師データを生成することができる。
【0100】
以上の処理により、サーバ10では、訓練フェーズにおいて、可視光画像211,熱画像221,拡大熱画像223を含む訓練データ11bを用いた機械学習により、高解像度熱画像222を出力するモデル30が更新される。そして、推論フェーズにおいて、可視光画像及び熱画像が訓練済みのモデル30に入力され、モデル30から高解像度熱画像222又は合成熱画像224が推論結果として出力される。
【0101】
これにより、例えば、ラベル付きデータとして熱画像が用いられる場合において、安価なサーモカメラ22を利用しつつ、ラベル付きデータを低解像度の熱画像から高解像度の熱画像にアップサンプリングすることができる。従って、例えば、当該ラベル付きデータを用いて、分類,物体検出,セグメンテーション等のAI(Artificial Intelligence)タスクを実行する機械学習モデルを訓練することで、低コストでAIタスクの精度を向上させることができる。
【0102】
〔D〕動作例
次に、一実施形態に係るシステム1の動作例を説明する。
図10は、一実施形態に係るシステム1の訓練フェーズにおける動作例を説明するフローチャートである。
図11は、拡大領域決定部14による拡大領域20の決定処理の動作例を説明するフローチャートである。
図12は、一実施形態に係るシステム1の推論フェーズにおける動作例を説明するフローチャートである。
【0103】
〔D-1〕訓練フェーズの動作例
図10に例示するように、訓練フェーズにおいて、訓練部13は、モデル30を初期化する。また、拡大領域決定部14は、エントロピーマップ11aを初期化する(ステップS1)。
【0104】
訓練部13は、可視光カメラ21により撮像された撮像範囲2の可視光画像211と、サーモカメラ22により撮像された撮像範囲2の熱画像221とを取得する(ステップS2)。
【0105】
訓練部13は、可視光画像211,熱画像221をモデル30に入力し、高解像度熱画像222を取得する(ステップS3)。
【0106】
拡大領域決定部14は、高解像度熱画像222のクラス確率に基づきエントロピーマップ11aを更新し、高解像度熱画像222のうちの拡大領域20を決定する(ステップS4)。
【0107】
拡大領域決定部14は、サーモカメラ22を制御し、サーモカメラ22により撮像された拡大領域20の拡大熱画像223を取得する(ステップS5)。
【0108】
訓練部13は、高解像度熱画像222から拡大領域20の部分画像222aを取得する(ステップS6)。なお、ステップS5及びS6の処理は、逆順であってもよいし、少なくとも一部が並行して実行されてもよい。
【0109】
訓練部13は、部分画像222aと拡大熱画像223(或いは比較用拡大熱画像223a)との差分を小さくするようにモデル30を更新する(ステップS7)。
【0110】
訓練部13は、モデル30が既定の性能に到達したか否かを判定する(ステップS8)。到達していないと判定された場合(ステップS8でNO)、処理がステップS2に移行し、訓練フェーズが再度実行される。
【0111】
モデル30が既定の性能に到達したと判定された場合(ステップS8でYES)、処理が終了する。
【0112】
次に、
図10のステップS4における拡大領域決定部14による拡大領域20の決定処理の動作例を説明する。
【0113】
図11に例示するように、拡大領域決定部14は、所定時間内に拡大熱画像223を撮像可能な撮像可能回数Nを特定する(ステップS11)。一例として、撮像可能回数Nは、下記式(1)を満たす最大のNとして算出されてもよい。なお、下記式(1)において、αは0以上の定数である。拡大撮像時間は、サーモカメラ22による拡大領域20の撮像にかかる時間(例えば機械的な駆動時間及び撮像時間)である。
N≦(所定時間-α)/拡大撮像時間 (1)
【0114】
拡大領域決定部14は、サーモカメラ22の初期位置c0(例えば
図9の撮像対象位置20a)を中心とする拡大範囲を、1回目の拡大領域20に決定する(ステップS12)。
【0115】
拡大領域決定部14は、Nが1よりも大きいか否かを判定する(ステップS13)。Nが1以下(実際にはN=1)であると判定した場合(ステップS13でNO)、処理がステップS21に移行する。
【0116】
Nが1よりも大きいと判定した場合(ステップS13でYES)、拡大領域決定部14は、変数nに1をセットする(ステップS14)。
【0117】
拡大領域決定部14は、エントロピーマップ11aを参照し、サーモカメラ22の前回位置c(n-1)からの移動可能範囲2aでスコアを未計算のセル(ピクセル)を1つ選択する(ステップS15)。
【0118】
拡大領域決定部14は、選択したセルを中心とする拡大範囲内のエントロピーの合計値を、選択したセルのスコアに設定する(ステップS16)。
【0119】
拡大領域決定部14は、移動可能範囲2a内の全てのセルを選択したか否かを判定する(ステップS17)。未選択のセルがあると判定した場合(ステップS17でNO)、処理がステップS15に移行する。
【0120】
移動可能範囲2a内の全てのセルを選択したと判定した場合(ステップS17でYES)、拡大領域決定部14は、算出したスコアが最大のセルの位置cnを中心とする拡大範囲を、n回目の拡大領域20に決定する(ステップS18)。
【0121】
拡大領域決定部14は、nをインクリメントし(ステップS19)、N=nか否かを判定する(ステップS20)。N=nではないと判定した場合(ステップS20でNO)、処理がステップS15に移行する。
【0122】
N=nであると判定した場合(ステップS20でYES)、拡大領域決定部14は、1~N回の拡大領域20の情報(例えば、セルc0~c(n-1)の位置を示す情報)を出力し(ステップS21)、処理が終了する。1~N回の拡大領域20の情報は、拡大領域決定部14によるサーモカメラ22の制御における移動経路(
図10のステップS5)、及び、訓練部13による部分画像222aの生成(
図10のステップS6)に用いられてよい。
【0123】
なお、サーバ10は、例えば、はじめに複数の拡大領域20の撮像計画(移動経路)を決定した後、1以上の高解像度熱画像222について、撮像計画に従って複数の拡大熱画像223を撮像してもよい。
【0124】
〔D-2〕推論フェーズの動作例
図12に例示するように、推論フェーズにおいて、拡大領域決定部14は、エントロピーマップ11aを初期化する(ステップS31)。
【0125】
推論部16は、推論対象のデータとして、可視光カメラ21により撮像された撮像範囲2の可視光画像と、サーモカメラ22により撮像された撮像範囲2の熱画像とを取得する(ステップS32)。
【0126】
推論部16は、可視光画像,熱画像を訓練済みのモデル30に入力し、高解像度熱画像222を取得する(ステップS33)。
【0127】
拡大領域決定部14は、高解像度熱画像222のクラス確率に基づきエントロピーマップ11aを更新し、高解像度熱画像222のうちの拡大領域20を決定する(ステップS34)。ステップS34の処理は、
図11に例示する処理により実行されてよい。
【0128】
拡大領域決定部14は、サーモカメラ22を制御し、サーモカメラ22により撮像された拡大領域20の拡大熱画像223を取得する(ステップS35)。
【0129】
推論部16は、高解像度熱画像222における拡大領域20の部分画像222aを拡大熱画像223に置き換えた合成熱画像224を生成する(ステップS36)。
【0130】
推論部16は、推論結果として、高解像度熱画像222と合成熱画像224とのうちの少なくとも一方を出力し(ステップS37)、処理が終了する。なお、ステップS31,S34~S36の処理は省略(スキップ)されてもよい。
【0131】
〔E〕ハードウェア構成例
一実施形態に係るサーバ10は、仮想サーバ(VM;Virtual Machine)であってもよいし、物理サーバであってもよい。また、サーバ10の機能は、1台のコンピュータにより実現されてもよいし、2台以上のコンピュータにより実現されてもよい。
【0132】
以下、サーバ10の機能を実現するコンピュータ40のHW(Hardware)構成例を説明する。
【0133】
図13は、一実施形態に係るコンピュータ40のハードウェア構成例を示すブロック図である。サーバ10の機能を実現するHWリソースとして、複数のコンピュータが用いられる場合は、各コンピュータが
図13に例示するHW構成を備えてよい。
【0134】
図13に示すように、コンピュータ40は、HW構成として、例示的に、プロセッサ40a,グラフィック処理装置40b,メモリ40c,記憶部40d,IF(Interface)部40e,IO(Input / Output)部40f,及び読取部40gを備えてよい。
【0135】
プロセッサ40aは、種々の制御や演算を行なう演算処理装置の一例である。プロセッサ40aは、コンピュータ40内の各ブロックとバス40jで相互に通信可能に接続されてよい。なお、プロセッサ40aは、複数のプロセッサを含むマルチプロセッサであってもよいし、複数のプロセッサコアを有するマルチコアプロセッサであってもよく、或いは、マルチコアプロセッサを複数有する構成であってもよい。
【0136】
プロセッサ40aとしては、例えば、CPU,MPU,APU,DSP,ASIC,FPGA等の集積回路(IC;integrated circuit)が挙げられる。なお、プロセッサ40aとして、これらの集積回路の2以上の組み合わせが用いられてもよい。CPUはCentral Processing Unitの略称であり、MPUはMicro Processing Unitの略称である。APUはAccelerated Processing Unitの略称である。DSPはDigital Signal Processorの略称であり、ASICはApplication Specific ICの略称であり、FPGAはField-Programmable Gate Arrayの略称である。
【0137】
グラフィック処理装置40bは、IO部40fのうちのモニタ等の出力装置に対する画面表示制御を行なう。また、グラフィック処理装置40bは、機械学習モデル30を利用した機械学習処理及び推論処理を実行するアクセラレータとしての構成を有してよい。グラフィック処理装置40bとしては、種々の演算処理装置、例えば、GPU(Graphics Processing Unit),APU,DSP,ASIC又はFPGA等の集積回路(IC)が挙げられる。
【0138】
図5に例示する訓練部13は、グラフィック処理装置40bに、可視光画像211,熱画像221を入力データとし、拡大熱画像223を教師データとしたモデル30の機械学習処理を実行させ、モデル30から高解像度熱画像222を取得してよい。また、推論部16は、グラフィック処理装置40bに、推論用の可視光画像,熱画像を入力データとしたモデル30の推論処理を実行させ、モデル30から推論結果を取得してよい。
【0139】
メモリ40cは、種々のデータやプログラム等の情報を格納するHWの一例である。メモリ40cとしては、例えばDRAM(Dynamic Random Access Memory)等の揮発性メモリ、及び、PM(Persistent Memory)等の不揮発性メモリ、の一方又は双方が挙げられる。
【0140】
記憶部40dは、種々のデータやプログラム等の情報を格納するHWの一例である。記憶部40dとしては、HDD(Hard Disk Drive)等の磁気ディスク装置,SSD(Solid State Drive)等の半導体ドライブ装置,不揮発性メモリ等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ,SCM(Storage Class Memory),ROM(Read Only Memory)等が挙げられる。
【0141】
サーバ10が各種データを保持する記憶領域、例えば
図5に示すメモリ部11としては、メモリ40c及び記憶部40dの一方又は双方の記憶領域が用いられてよい。
【0142】
記憶部40dは、コンピュータ40の各種機能の全部若しくは一部を実現するプログラム40h(制御プログラム)を格納してよい。
【0143】
例えば、サーバ10のコンピュータ40において、プロセッサ40aが、記憶部40dに格納されたプログラム40hをメモリ40cに展開して実行することにより、
図5に示す制御部17(例えばブロック12~16)としての機能を実現できる。
【0144】
IF部40eは、コンピュータ40と他のコンピュータとの間の接続及び通信の制御等を行なう通信IFの一例である。例えば、IF部40eは、イーサネット(登録商標)等のLAN、或いは、FC(Fibre Channel)等の光通信等に準拠したアダプタを含んでよい。当該アダプタは、無線及び有線の一方又は双方の通信方式に対応してよい。
【0145】
例えば、サーバ10は、IF部40e及びネットワーク(図示省略)を介して、データの通信(一例として、管理者端末等への出力データの送信)を行なってもよい。また、サーバ10は、IF部40e及びネットワーク(図示省略)を介して、可視光カメラ21及びサーモカメラ22からの撮像画像の取得,可視光カメラ21及びサーモカメラ22の制御(サーモカメラ22の光学拡大制御を含む)等を行ってもよい。なお、プログラム40hは、当該通信IFを介して、ネットワークからコンピュータ40にダウンロードされ、記憶部40dに格納されてもよい。
【0146】
IO部40fは、入力装置、及び、出力装置、の一方又は双方を含んでよい。入力装置としては、例えば、キーボード、マウス、タッチパネル等が挙げられる。出力装置としては、例えば、モニタ、プロジェクタ、プリンタ等が挙げられる。また、IO部40fは、入力装置及び出力装置が一体となったタッチパネル等を含んでもよい。出力装置は、グラフィック処理装置40bに接続されてよい。
【0147】
読取部40gは、記録媒体40iに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部40gは、記録媒体40iを接続可能又は挿入可能な接続端子又は装置を含んでよい。読取部40gとしては、例えば、USB(Universal Serial Bus)等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、SDカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体40iにはプログラム40hが格納されてもよく、読取部40gが記録媒体40iからプログラム40hを読み出して記憶部40dに格納してもよい。
【0148】
記録媒体40iとしては、例示的に、磁気/光ディスクやフラッシュメモリ等の非一時的なコンピュータ読取可能な記録媒体が挙げられる。磁気/光ディスクとしては、例示的に、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク、HVD(Holographic Versatile Disc)等が挙げられる。フラッシュメモリとしては、例示的に、USBメモリやSDカード等の半導体メモリが挙げられる。
【0149】
上述したコンピュータ40のHW構成は例示である。従って、コンピュータ40内でのHWの増減(例えば任意のブロックの追加や削除)、分割、任意の組み合わせでの統合、又は、バスの追加若しくは削除等は適宜行なわれてもよい。
【0150】
〔F〕その他
上述した実施形態に係る技術は、以下のように変形、変更して実施することができる。
【0151】
例えば、
図5に示すサーバ10が備える取得部12,訓練部13,拡大領域決定部14,出力部15,及び推論部16は、併合してもよく、それぞれ分割してもよい。
【0152】
また、例えば、
図5に示すサーバ10は、複数の装置がネットワークを介して互いに連携することにより、各処理機能を実現する構成であってもよい。一例として、取得部12及び出力部15はWebサーバ及びアプリケーションサーバ、訓練部13,拡大領域決定部14及び推論部16はアプリケーションサーバ、メモリ部11はDBサーバ、等であってもよい。この場合、Webサーバ、アプリケーションサーバ及びDBサーバが、ネットワークを介して互いに連携することにより、サーバ10としての処理機能を実現してもよい。
【0153】
また、例えば、一実施形態では、不可視光撮像装置として、サーモカメラ22が用いられる場合を例に挙げたが、これに限定されるものではない。不可視光撮像装置としては、例えば、可視光カメラと異なる撮像方式を用いるX線撮像装置や、超音波撮像装置などを用いることができる。また例えば、不可視光撮像装置としては、所定の処理が施された物体3と他の物体とを区別できる態様で撮像して所定の撮像画像を出力する、種々の撮像装置が用いられてもよい。この場合、モデル30は、可視光画像211と、撮像装置により撮像された画像とを入力として、撮像装置により撮像された画像を高解像度とした画像を出力するように訓練されてよい。
【0154】
所定の処理とは、例えば、物体3の形状を維持又は形状変化を最小限に抑えた状態で、物体3に何らかの物理的又は化学的な変化を与える処理であってよい。このような処理としては、例えば、物体3の表面に所定の液体又は粉末を付着させる(例えば塗布する)処理,物体3に紫外線等の光線を照射する処理、等が挙げられる。
【0155】
所定の撮像画像とは、例えば、所定の処理により物体3に与えられた物理的又は化学的な変化を可視化した画像であってよい。例えば、所定の撮像画像は、物体3の表面に付着した所定の液体又は粉末や、照射された光線による物体3の表面の変化等を、物体4とは異なる態様で表示した画像であってもよい。撮像装置は、例えば、このような物理的又は化学的な変化を検出可能な撮像装置であってもよい。
【0156】
〔G〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
【0157】
(付記1)
所定の撮像範囲を撮像装置で撮像した第1画像と、前記撮像範囲を前記撮像装置よりも解像度の低い不可視光撮像装置で撮像した第1不可視光画像とを取得し、
前記第1画像と前記第1不可視光画像とを入力として、前記第1不可視光画像よりも解像度の高い第2不可視光画像を、機械学習モデルを用いて生成し、
前記第2不可視光画像に含まれる複数のピクセルのそれぞれについての不確実性を示す指標に基づいて、前記撮像範囲の中から、不可視光画像の取得対象領域を決定し、
前記不可視光撮像装置の光学拡大制御により、前記第1不可視光画像における前記取得対象領域の解像度よりも高い解像度で前記取得対象領域を撮像した第3不可視光画像を取得する、
処理をコンピュータに実行させる、制御プログラム。
【0158】
(付記2)
前記取得対象領域を決定する処理は、複数の前記指標のうちの、前記取得対象領域の範囲内のピクセルについての指標の合計値が最大となる領域を、前記取得対象領域として決定する処理を含む、
付記1に記載の制御プログラム。
【0159】
(付記3)
前記取得対象領域を決定する処理は、前記不可視光撮像装置の光学拡大制御に関する所定のコストと、前記指標の合計値とに基づき、所定時間内に前記不可視光撮像装置により撮像可能な1以上の前記取得対象領域を決定する処理を含む、
付記2に記載の制御プログラム。
【0160】
(付記4)
前記第2不可視光画像に含まれる前記取得対象領域の部分画像と、前記第3不可視光画像との差が最小となるように前記機械学習モデルを訓練する、
処理を前記コンピュータに実行させる、付記1~付記3のいずれか1項に記載の制御プログラム。
【0161】
(付記5)
前記第2不可視光画像に含まれる前記取得対象領域の部分画像を前記第3不可視光画像に置換して得られる第4不可視光画像を、前記機械学習モデルの推論結果として出力する、
処理を前記コンピュータに実行させる、付記1~付記4のいずれか1項に記載の制御プログラム。
【0162】
(付記6)
前記撮像装置は、可視光画像を撮像する可視光撮像装置であり、
前記不可視光撮像装置は、赤外線画像を撮像する赤外光撮像装置である、
付記1~付記5のいずれか1項に記載の制御プログラム。
【0163】
(付記7)
所定の撮像範囲を撮像装置で撮像した第1画像と、前記撮像範囲を前記撮像装置よりも解像度の低い不可視光撮像装置で撮像した第1不可視光画像とを取得し、
前記第1画像と前記第1不可視光画像とを入力として、前記第1不可視光画像よりも解像度の高い第2不可視光画像を、機械学習モデルを用いて生成し、
前記第2不可視光画像に含まれる複数のピクセルのそれぞれについての不確実性を示す指標に基づいて、前記撮像範囲の中から、不可視光画像の取得対象領域を決定し、
前記不可視光撮像装置の光学拡大制御により、前記第1不可視光画像における前記取得対象領域の解像度よりも高い解像度で前記取得対象領域を撮像した第3不可視光画像を取得する、
処理をコンピュータが実行する、制御方法。
【0164】
(付記8)
前記取得対象領域を決定する処理は、複数の前記指標のうちの、前記取得対象領域の範囲内のピクセルについての指標の合計値が最大となる領域を、前記取得対象領域として決定する処理を含む、
付記7に記載の制御方法。
【0165】
(付記9)
前記取得対象領域を決定する処理は、前記不可視光撮像装置の光学拡大制御に関する所定のコストと、前記指標の合計値とに基づき、所定時間内に前記不可視光撮像装置により撮像可能な1以上の前記取得対象領域を決定する処理を含む、
付記8に記載の制御方法。
【0166】
(付記10)
前記第2不可視光画像に含まれる前記取得対象領域の部分画像と、前記第3不可視光画像との差が最小となるように前記機械学習モデルを訓練する、
処理を前記コンピュータが実行する、付記7~付記9のいずれか1項に記載の制御方法。
【0167】
(付記11)
前記第2不可視光画像に含まれる前記取得対象領域の部分画像を前記第3不可視光画像に置換して得られる第4不可視光画像を、前記機械学習モデルの推論結果として出力する、
処理を前記コンピュータが実行する、付記7~付記10のいずれか1項に記載の制御方法。
【0168】
(付記12)
前記撮像装置は、可視光画像を撮像する可視光撮像装置であり、
前記不可視光撮像装置は、赤外線画像を撮像する赤外光撮像装置である、
付記7~付記11のいずれか1項に記載の制御方法。
【0169】
(付記13)
所定の撮像範囲を撮像装置で撮像した第1画像と、前記撮像範囲を前記撮像装置よりも解像度の低い不可視光撮像装置で撮像した第1不可視光画像とを取得し、
前記第1画像と前記第1不可視光画像とを入力として、前記第1不可視光画像よりも解像度の高い第2不可視光画像を、機械学習モデルを用いて生成し、
前記第2不可視光画像に含まれる複数のピクセルのそれぞれについての不確実性を示す指標に基づいて、前記撮像範囲の中から、不可視光画像の取得対象領域を決定し、
前記不可視光撮像装置の光学拡大制御により、前記第1不可視光画像における前記取得対象領域の解像度よりも高い解像度で前記取得対象領域を撮像した第3不可視光画像を取得する、
制御部を備える、情報処理装置。
【0170】
(付記14)
前記制御部は、前記取得対象領域を決定する処理において、複数の前記指標のうちの、前記取得対象領域の範囲内のピクセルについての指標の合計値が最大となる領域を、前記取得対象領域として決定する、
付記13に記載の情報処理装置。
【0171】
(付記15)
前記制御部は、前記取得対象領域を決定する処理において、前記不可視光撮像装置の光学拡大制御に関する所定のコストと、前記指標の合計値とに基づき、所定時間内に前記不可視光撮像装置により撮像可能な1以上の前記取得対象領域を決定する、
付記14に記載の情報処理装置。
【0172】
(付記16)
前記制御部は、前記第2不可視光画像に含まれる前記取得対象領域の部分画像と、前記第3不可視光画像との差が最小となるように前記機械学習モデルを訓練する、
付記13~付記15のいずれか1項に記載の情報処理装置。
【0173】
(付記17)
前記制御部は、前記第2不可視光画像に含まれる前記取得対象領域の部分画像を前記第3不可視光画像に置換して得られる第4不可視光画像を、前記機械学習モデルの推論結果として出力する、
付記13~付記16のいずれか1項に記載の情報処理装置。
【0174】
(付記18)
前記撮像装置は、可視光画像を撮像する可視光撮像装置であり、
前記不可視光撮像装置は、赤外線画像を撮像する赤外光撮像装置である、
付記13~付記17のいずれか1項に記載の情報処理装置。
【符号の説明】
【0175】
1 システム
10 サーバ
11 メモリ部
11a エントロピーマップ
11b 訓練データ
12 取得部
13 訓練部
14 拡大領域決定部
15 出力部
16 推論部
17 制御部
2 撮像範囲
2a 移動可能範囲
20,20-1,20-2 拡大領域
20a,20b 撮像対象位置
21 可視光カメラ
211 可視光画像
22 サーモカメラ
221 熱画像
222 高解像度熱画像
222a 部分画像
223 拡大熱画像
223a 比較用拡大熱画像
224 合成熱画像
23 搬送帯
3 物体
30 機械学習モデル
31 エンコーダ
32 デコーダ
40 コンピュータ