(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024027790
(43)【公開日】2024-03-01
(54)【発明の名称】推定装置、推定方法、及び、推定プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20240222BHJP
G06T 7/11 20170101ALI20240222BHJP
【FI】
G06T7/00 350C
G06T7/11
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022130890
(22)【出願日】2022-08-19
(71)【出願人】
【識別番号】508122998
【氏名又は名称】匠ソリューションズ株式会社
(74)【代理人】
【識別番号】100131428
【弁理士】
【氏名又は名称】若山 剛
(72)【発明者】
【氏名】日野 拓也
(72)【発明者】
【氏名】近藤 ひろみ
(72)【発明者】
【氏名】阿部 久市
(72)【発明者】
【氏名】安藤 弘一
(72)【発明者】
【氏名】渡邉 弘之
(72)【発明者】
【氏名】千葉 浩二
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096FA02
5L096GA19
5L096HA11
(57)【要約】 (修正有)
【課題】処理負荷を抑制することが可能な推定装置、推定方法及び推定プログラムを提供する。
【解決手段】画像情報に対して、複数の畳み込み層によって、入力される情報が有する領域の外縁から縮小された領域を有する情報を出力するCNNを用いてセマンティックセグメンテーションを行う推定装置10であって、第1CNN処理部103と、第2CNN処理部106と、を備える。第1CNN処理部は、第1分割数の第1分割領域のそれぞれに対して、画像情報のうちの、着目領域と隣接する他の第1分割領域との境界に沿って、当該着目領域を拡大した第1処理領域に対応する部分を第1CNN部に入力する。第2CNN処理部は、第2分割数の第2分割領域のそれぞれに対して、出力された第1分割数の第1CNN部情報のうちの、着目領域と隣接する他の第2分割領域との境界に沿って、当該着目領域を拡大した第2処理領域に対応する部分を第2CNN部に入力する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数の画素からなる画像領域を有する画像情報に対して、複数の畳み込み層によって、入力される情報が有する領域の外縁からX画素だけ縮小された領域を有する情報を出力するCNN(Convolutional Neural Network)を用いてセマンティックセグメンテーションを行う推定装置であって、
前記画像領域を分割することにより取得される第1分割数の第1分割領域のそれぞれに対して、前記画像情報のうちの、当該第1分割領域である着目領域と、当該着目領域に隣接する他の第1分割領域と、の境界に沿って、当該着目領域をK画素だけ拡大した第1処理領域に対応する部分を、前記CNNのうちの、少なくとも1つの畳み込み層によって、入力される情報が有する領域の外縁からY画素だけ縮小された領域を有する情報を出力する部分である第1CNN部に入力することにより第1CNN部情報を出力する第1CNN処理を実行する第1CNN処理部と、
前記画像領域を分割することにより取得される第2分割数の第2分割領域のそれぞれに対して、前記出力された第1分割数の第1CNN部情報のうちの、当該第2分割領域である着目領域と、当該着目領域に隣接する他の第2分割領域と、の境界に沿って、当該着目領域をL画素だけ拡大した第2処理領域に対応する部分を、前記CNNのうちの、前記第1CNN部に後続するとともに、少なくとも1つの畳み込み層によって、入力される情報が有する領域の外縁からZ画素だけ縮小された領域を有する情報を出力する部分である第2CNN部に入力することにより第2CNN部情報を出力する第2CNN処理を実行する第2CNN処理部と、を備え、
Xは、2以上の整数を表し、
Yは、Xよりも小さい自然数を表し、
Zは、XからYを減じた値以下の整数を表し、
Kは、Y以上であり、且つ、Xよりも小さい整数を表し、
Lは、Z以上の整数を表す、推定装置。
【請求項2】
請求項1に記載の推定装置であって、
前記第1分割数は、前記第2分割数よりも小さい、推定装置。
【請求項3】
請求項1又は請求項2に記載の推定装置であって、
前記第2CNN処理部は、前記第1分割領域に対する前記第1CNN処理の実行に続いて、当該第1分割領域と少なくとも一部が重複する第2分割領域に対する前記第2CNN処理を実行する、推定装置。
【請求項4】
請求項3に記載の推定装置であって、
前記第2CNN処理部が1番目に実行する前記第2CNN処理の対象となる第2分割領域は、前記第1CNN処理部が1番目に実行する前記第1CNN処理の対象となる第1分割領域である着目領域と、当該着目領域に隣接する他の第1分割領域と、の境界に沿って、当該着目領域をM画素だけ縮小した領域であり、
Mは、KからYを減じた値を、Zから減じた値以上の整数を表す、推定装置。
【請求項5】
請求項4に記載の推定装置であって、
前記第2CNN処理部がi(iは、2以上であるとともに前記第2分割数よりも小さい整数を表す)番目に実行する前記第2CNN処理の対象となる第2分割領域は、前記第1CNN処理部がi番目に実行する前記第1CNN処理の対象となる第1分割領域である着目領域と、当該着目領域に隣接する他の第1分割領域のうちの、前記第1CNN処理部がi+1番目に実行する前記第1CNN処理の対象となる第1分割領域と、の境界に沿って、当該着目領域をM画素だけ縮小するとともに、当該着目領域と、当該着目領域に隣接する他の第1分割領域のうちの、前記第1CNN処理部がi-1番目に実行する前記第1CNN処理の対象となる第1分割領域と、の境界に沿って、当該着目領域をM画素だけ拡大した領域である、推定装置。
【請求項6】
複数の画素からなる画像領域を有する画像情報に対して、複数の畳み込み層によって、入力される情報が有する領域の外縁からX画素だけ縮小された領域を有する情報を出力するCNN(Convolutional Neural Network)を用いてセマンティックセグメンテーションを行う推定方法であって、
前記画像領域を分割することにより取得される第1分割数の第1分割領域のそれぞれに対して、前記画像情報のうちの、当該第1分割領域である着目領域と、当該着目領域に隣接する他の第1分割領域と、の境界に沿って、当該着目領域をK画素だけ拡大した第1処理領域に対応する部分を、前記CNNのうちの、少なくとも1つの畳み込み層によって、入力される情報が有する領域の外縁からY画素だけ縮小された領域を有する情報を出力する部分である第1CNN部に入力することにより第1CNN部情報を出力する第1CNN処理を実行し、
前記画像領域を分割することにより取得される第2分割数の第2分割領域のそれぞれに対して、前記出力された第1分割数の第1CNN部情報のうちの、当該第2分割領域である着目領域と、当該着目領域に隣接する他の第2分割領域と、の境界に沿って、当該着目領域をL画素だけ拡大した第2処理領域に対応する部分を、前記CNNのうちの、前記第1CNN部に後続するとともに、少なくとも1つの畳み込み層によって、入力される情報が有する領域の外縁からZ画素だけ縮小された領域を有する情報を出力する部分である第2CNN部に入力することにより第2CNN部情報を出力する第2CNN処理を実行する、ことを含み、
Xは、2以上の整数を表し、
Yは、Xよりも小さい自然数を表し、
Zは、XからYを減じた値以下の整数を表し、
Kは、Y以上であり、且つ、Xよりも小さい整数を表し、
Lは、Z以上の整数を表す、推定方法。
【請求項7】
複数の画素からなる画像領域を有する画像情報に対して、複数の畳み込み層によって、入力される情報が有する領域の外縁からX画素だけ縮小された領域を有する情報を出力するCNN(Convolutional Neural Network)を用いてセマンティックセグメンテーションを行う推定処理をコンピュータに実行させる推定プログラムであって、
前記推定処理は、
前記画像領域を分割することにより取得される第1分割数の第1分割領域のそれぞれに対して、前記画像情報のうちの、当該第1分割領域である着目領域と、当該着目領域に隣接する他の第1分割領域と、の境界に沿って、当該着目領域をK画素だけ拡大した第1処理領域に対応する部分を、前記CNNのうちの、少なくとも1つの畳み込み層によって、入力される情報が有する領域の外縁からY画素だけ縮小された領域を有する情報を出力する部分である第1CNN部に入力することにより第1CNN部情報を出力する第1CNN処理を実行し、
前記画像領域を分割することにより取得される第2分割数の第2分割領域のそれぞれに対して、前記出力された第1分割数の第1CNN部情報のうちの、当該第2分割領域である着目領域と、当該着目領域に隣接する他の第2分割領域と、の境界に沿って、当該着目領域をL画素だけ拡大した第2処理領域に対応する部分を、前記CNNのうちの、前記第1CNN部に後続するとともに、少なくとも1つの畳み込み層によって、入力される情報が有する領域の外縁からZ画素だけ縮小された領域を有する情報を出力する部分である第2CNN部に入力することにより第2CNN部情報を出力する第2CNN処理を実行する、ことを含み、
Xは、2以上の整数を表し、
Yは、Xよりも小さい自然数を表し、
Zは、XからYを減じた値以下の整数を表し、
Kは、Y以上であり、且つ、Xよりも小さい整数を表し、
Lは、Z以上の整数を表す、推定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、推定装置、推定方法、及び、推定プログラムに関する。
【背景技術】
【0002】
複数の画素からなる画像領域を有する画像情報に対して、複数の畳み込み層を含むCNN(Convolutional Neural Network)を用いてセマンティックセグメンテーションを行う推定装置が知られている。例えば、特許文献1に記載の推定装置は、画像領域を分割することにより取得される分割数の分割領域のそれぞれに対して、画像情報のうちの、当該分割領域を含む処理領域に対応する部分を、CNNに入力することによりCNN処理を実行する。
【0003】
ところで、CNNは、複数の畳み込み層によって、入力される情報が有する領域の外縁から縮小幅の画素だけ縮小された領域を有する情報を出力する。また、セマンティックセグメンテーションにおいては、分割領域間の境界に隙間を生じさせることなく、推定結果を得る必要がある。このため、特許文献1に記載の推定装置は、分割領域を縮小幅の画素だけ拡大した領域を処理領域として用いる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、CNNに含まれる畳み込み層の数は、比較的多い。このため、縮小幅は、比較的大きくなる。従って、CNN処理の対象となる分割数の処理領域に含まれる画素の総数は、分割数が多くなるほど多くなるとともに、畳み込み層の数が多くなるほど多くなる。このように、画像領域を分割することにより取得される分割領域に対してCNN処理を実行する場合、CNN処理における演算量が過大になりやすい。この結果、処理負荷が過大になる虞があった。
【0006】
本発明の目的の一つは、処理負荷を抑制することである。
【課題を解決するための手段】
【0007】
一つの側面では、推定装置は、複数の画素からなる画像領域を有する画像情報に対して、複数の畳み込み層によって、入力される情報が有する領域の外縁からX画素だけ縮小された領域を有する情報を出力するCNN(Convolutional Neural Network)を用いてセマンティックセグメンテーションを行う。Xは、2以上の整数を表す。
【0008】
推定装置は、第1CNN処理部と、第2CNN処理部と、を備える。
第1CNN処理部は、画像領域を分割することにより取得される第1分割数の第1分割領域のそれぞれに対して、画像情報のうちの、当該第1分割領域である着目領域と、当該着目領域に隣接する他の第1分割領域と、の境界に沿って、当該着目領域をK画素だけ拡大した第1処理領域に対応する部分を、第1CNN部に入力することにより第1CNN部情報を出力する第1CNN処理を実行する。第1CNN部は、CNNのうちの、少なくとも1つの畳み込み層によって、入力される情報が有する領域の外縁からY画素だけ縮小された領域を有する情報を出力する部分である。Yは、Xよりも小さい自然数を表す。Kは、Y以上であり、且つ、Xよりも小さい整数を表す。
【0009】
第2CNN処理部は、画像領域を分割することにより取得される第2分割数の第2分割領域のそれぞれに対して、出力された第1分割数の第1CNN部情報のうちの、当該第2分割領域である着目領域と、当該着目領域に隣接する他の第2分割領域と、の境界に沿って、当該着目領域をL画素だけ拡大した第2処理領域に対応する部分を、第2CNN部に入力することにより第2CNN部情報を出力する第2CNN処理を実行する。第2CNN部は、CNNのうちの、第1CNN部に後続するとともに、少なくとも1つの畳み込み層によって、入力される情報が有する領域の外縁からZ画素だけ縮小された領域を有する情報を出力する部分である。Zは、XからYを減じた値以下の整数を表す。Lは、Z以上の整数を表す。
【0010】
他の一つの側面では、推定方法は、複数の画素からなる画像領域を有する画像情報に対して、複数の畳み込み層によって、入力される情報が有する領域の外縁からX画素だけ縮小された領域を有する情報を出力するCNN(Convolutional Neural Network)を用いてセマンティックセグメンテーションを行う。Xは、2以上の整数を表す。
【0011】
推定方法は、画像領域を分割することにより取得される第1分割数の第1分割領域のそれぞれに対して、画像情報のうちの、当該第1分割領域である着目領域と、当該着目領域に隣接する他の第1分割領域と、の境界に沿って、当該着目領域をK画素だけ拡大した第1処理領域に対応する部分を、第1CNN部に入力することにより第1CNN部情報を出力する第1CNN処理を実行することを含む。第1CNN部は、CNNのうちの、少なくとも1つの畳み込み層によって、入力される情報が有する領域の外縁からY画素だけ縮小された領域を有する情報を出力する部分である。Yは、Xよりも小さい自然数を表す。Kは、Y以上であり、且つ、Xよりも小さい整数を表す。
【0012】
推定方法は、画像領域を分割することにより取得される第2分割数の第2分割領域のそれぞれに対して、出力された第1分割数の第1CNN部情報のうちの、当該第2分割領域である着目領域と、当該着目領域に隣接する他の第2分割領域と、の境界に沿って、当該着目領域をL画素だけ拡大した第2処理領域に対応する部分を、第2CNN部に入力することにより第2CNN部情報を出力する第2CNN処理を実行することを含む。第2CNN部は、CNNのうちの、第1CNN部に後続するとともに、少なくとも1つの畳み込み層によって、入力される情報が有する領域の外縁からZ画素だけ縮小された領域を有する情報を出力する部分である。Zは、XからYを減じた値以下の整数を表す。Lは、Z以上の整数を表す。
【0013】
他の一つの側面では、推定プログラムは、複数の画素からなる画像領域を有する画像情報に対して、複数の畳み込み層によって、入力される情報が有する領域の外縁からX画素だけ縮小された領域を有する情報を出力するCNN(Convolutional Neural Network)を用いてセマンティックセグメンテーションを行う推定処理をコンピュータに実行させるプログラムである。Xは、2以上の整数を表す。
【0014】
推定処理は、画像領域を分割することにより取得される第1分割数の第1分割領域のそれぞれに対して、画像情報のうちの、当該第1分割領域である着目領域と、当該着目領域に隣接する他の第1分割領域と、の境界に沿って、当該着目領域をK画素だけ拡大した第1処理領域に対応する部分を、第1CNN部に入力することにより第1CNN部情報を出力する第1CNN処理を実行することを含む。第1CNN部は、CNNのうちの、少なくとも1つの畳み込み層によって、入力される情報が有する領域の外縁からY画素だけ縮小された領域を有する情報を出力する部分である。Yは、Xよりも小さい自然数を表す。Kは、Y以上であり、且つ、Xよりも小さい整数を表す。
【0015】
推定処理は、画像領域を分割することにより取得される第2分割数の第2分割領域のそれぞれに対して、出力された第1分割数の第1CNN部情報のうちの、当該第2分割領域である着目領域と、当該着目領域に隣接する他の第2分割領域と、の境界に沿って、当該着目領域をL画素だけ拡大した第2処理領域に対応する部分を、第2CNN部に入力することにより第2CNN部情報を出力する第2CNN処理を実行することを含む。第2CNN部は、CNNのうちの、第1CNN部に後続するとともに、少なくとも1つの畳み込み層によって、入力される情報が有する領域の外縁からZ画素だけ縮小された領域を有する情報を出力する部分である。Zは、XからYを減じた値以下の整数を表す。Lは、Z以上の整数を表す。
【発明の効果】
【0016】
処理負荷を抑制することができる。
【図面の簡単な説明】
【0017】
【
図1】第1実施形態の推定装置の構成を表すブロック図である。
【
図2】第1実施形態の推定装置が使用する、第1分割領域及び第2分割領域を概念的に表す説明図である。
【
図3】第1実施形態の推定装置が使用する、第1分割領域及び第1処理領域を概念的に表す説明図である。
【
図4】第1実施形態の推定装置が使用する、第2分割領域及び第2処理領域を概念的に表す説明図である。
【
図5】第1実施形態の推定装置が実行する第1推定処理を表すフローチャートである。
【
図6】第1実施形態の推定装置が実行する第2推定処理を表すフローチャートである。
【
図7】第1実施形態の推定装置における領域の変化を概念的に表す説明図である。
【
図8】比較例の推定装置における領域の変化を概念的に表す説明図である。
【
図9】第2実施形態の推定装置が使用する、第1分割領域及び第2分割領域を概念的に表す説明図である。
【
図10】第2実施形態の推定装置が使用する、第1分割領域及び第2処理領域を概念的に表す説明図である。
【
図11】第2実施形態の推定装置が実行する第2推定処理を表すフローチャートである。
【
図12】第3実施形態の推定装置が使用する、第1分割領域及び第2分割領域を概念的に表す説明図である。
【
図13】第3実施形態の推定装置が使用する、第1分割領域及び第2処理領域を概念的に表す説明図である。
【
図14】第3実施形態の推定装置が実行する第2推定処理を表すフローチャートである。
【
図15】各実施形態の変形例の推定装置が使用する、第1分割領域又は第2分割領域を概念的に表す説明図である。
【
図16】各実施形態の変形例の推定装置が使用する、第1分割領域又は第2分割領域を概念的に表す説明図である。
【発明を実施するための形態】
【0018】
以下、本発明の、推定装置、推定方法、及び、推定プログラムに関する各実施形態について
図1乃至
図16を参照しながら説明する。
【0019】
<第1実施形態>
(概要)
第1実施形態の推定装置は、複数の画素からなる画像領域を有する画像情報に対して、複数の畳み込み層によって、入力される情報が有する領域の外縁からX画素だけ縮小された領域を有する情報を出力するCNN(Convolutional Neural Network)を用いてセマンティックセグメンテーションを行う。Xは、2以上の整数を表す。
【0020】
推定装置は、第1CNN処理部と、第2CNN処理部と、を備える。
第1CNN処理部は、画像領域を分割することにより取得される第1分割数の第1分割領域のそれぞれに対して、画像情報のうちの、当該第1分割領域である着目領域と、当該着目領域に隣接する他の第1分割領域と、の境界に沿って、当該着目領域をK画素だけ拡大した第1処理領域に対応する部分を、第1CNN部に入力することにより第1CNN部情報を出力する第1CNN処理を実行する。第1CNN部は、CNNのうちの、少なくとも1つの畳み込み層によって、入力される情報が有する領域の外縁からY画素だけ縮小された領域を有する情報を出力する部分である。Yは、Xよりも小さい自然数を表す。Kは、Y以上であり、且つ、Xよりも小さい整数を表す。
【0021】
第2CNN処理部は、画像領域を分割することにより取得される第2分割数の第2分割領域のそれぞれに対して、出力された第1分割数の第1CNN部情報のうちの、当該第2分割領域である着目領域と、当該着目領域に隣接する他の第2分割領域と、の境界に沿って、当該着目領域をL画素だけ拡大した第2処理領域に対応する部分を、第2CNN部に入力することにより第2CNN部情報を出力する第2CNN処理を実行する。第2CNN部は、CNNのうちの、第1CNN部に後続するとともに、少なくとも1つの畳み込み層によって、入力される情報が有する領域の外縁からZ画素だけ縮小された領域を有する情報を出力する部分である。Zは、XからYを減じた値以下の整数を表す。Lは、Z以上の整数を表す。
【0022】
これによれば、第1処理領域は、CNNの全体に対する縮小幅であるXよりも小さいK画素だけ第1分割領域を拡大した領域である。従って、第1CNN処理の対象となる第1分割数の第1処理領域に含まれる画素の総数を抑制できる。これにより、画像情報のうちの、分割領域をX画素だけ拡大した処理領域に対応する部分をCNNに入力する場合よりも、第1CNN処理における演算量を抑制できる。この結果、処理負荷を抑制できる。
次に、第1実施形態の推定装置について、
図1乃至
図8を参照しながら詳細に説明する。
【0023】
(構成)
図1に表されるように、第1実施形態の推定装置10は、複数の画素からなる画像領域を有する画像情報に対して、CNNを用いてセマンティックセグメンテーションを行う。
【0024】
本例では、画像情報は、カメラによって撮影された画像を表す。なお、画像情報は、コンピュータによって生成された画像を表してもよい。本例では、画像は、静止画像である。なお、画像は、動画像であってもよい。本例では、画像領域を構成する複数の画素は、列方向において複数の画素が並ぶとともに、列方向に直交する行方向において複数の画素が並ぶように格子状の配列を有する。
【0025】
CNNは、複数の画素からなる画像領域を有する画像情報に対して、複数の畳み込み層によって、当該CNNに入力される情報が有する領域の外縁からX画素だけ縮小された領域(換言すると、出力領域)を有する情報を出力する。Xは、2以上の整数を表す。
本例では、CNNによって出力される情報は、出力領域を構成する複数の画素のそれぞれに対して、当該画素を分類する分類情報を含む。例えば、分類情報は、ラベル、クラス、タグ、又は、カテゴリを表す情報を含む。
【0026】
例えば、CNNは、FCN(Fully Convolutional Networks)、SegNet、U-Net、HRNet、PSPNet、又は、DeepLabと呼ばれるCNNである。例えば、CNNは、エンコーダー・デコーダ―構造を有していてもよい。
【0027】
本例では、CNNは、畳み込み層(換言すると、Convolution層)に加えて、Pooling層(例えば、Max Pooling層、Average Pooling層、又は、Sum Pooling層)、及び、Upsampling層(例えば、Upconvolution層、Deconvolution層、Transposed Convolution層、Nearest Neighbor Interporation層、Bilinear Interporation層、Bed of Nails層、Unpooling層、又は、Max Unpooling層)を含む。なお、CNNは、Pooling層、及び、Upsampling層の少なくとも1つを含まなくてもよい。
【0028】
畳み込み層は、当該畳み込み層に入力される情報が有する領域に対して、カーネル(換言すると、フィルタ)が適用される局所領域をストライドずつ移動させながら畳み込み演算を行う処理を含む。
Pooling層は、当該Pooling層に入力される情報が有する領域に対して、局所領域毎に当該局所領域を縮小する処理を含む。
Upsampling層は、当該Upsampling層に入力される情報が有する領域に対して、局所領域毎に当該局所領域を拡大する処理を含む。
【0029】
例えば、U個の畳み込み層を含むCNNにおいて、当該CNNに入力される情報が有する領域の外縁に対する、当該CNNから出力される情報が有する領域の外縁の縮小幅Xは、数式1により表される。Uは、2以上の整数を表す。
【数1】
【0030】
α
uは、u番目の畳み込み層に対するプーリング因子を表す。プーリング因子α
uは、CNNのうちの、u番目の畳み込み層より前の部分に含まれる、Pooling層、及び、Upsampling層に基づいて定められる係数である。プーリング因子α
uは、数式2により表される。
【数2】
【0031】
γvは、v番目のPooling層に入力される情報が有する領域の行方向における画素数(又は、列方向における画素数)に対する、v番目のPooling層から出力される情報が有する領域の行方向における画素数(又は、列方向における画素数)の比を表す。γvは、1よりも小さい。Vuは、CNNのうちの、u番目の畳み込み層より前の部分に含まれる、Pooling層の数を表す。
【0032】
θwは、w番目のUpsampling層に入力される情報が有する領域の行方向における画素数(又は、列方向における画素数)に対する、w番目のUpsampling層から出力される情報が有する領域の行方向における画素数(又は、列方向における画素数)の比を表す。θwは、1よりも大きい。Wuは、CNNのうちの、u番目の畳み込み層より前の部分に含まれる、Upsampling層の数を表す。
【0033】
β
uは、u番目の畳み込み層において、当該u番目の畳み込み層に入力される情報が有する領域の外縁に対する、当該u番目の畳み込み層から出力される情報が有する領域の外縁の縮小幅を表す。
【数3】
【0034】
κuは、u番目の畳み込み層のカーネルの行方向における画素数(又は、列方向における画素数)を表す。λuは、u番目の畳み込み層のストライドを表す。τuは、u番目の畳み込み層に入力される情報が有する領域の行方向における画素数(又は、列方向における画素数)を表す。
【0035】
なお、u番目の畳み込み層において、当該u番目の畳み込み層に入力される情報が有する領域の外縁に沿って、当該領域をω
u画素だけ拡大するパディング領域が設けられる場合、β
uは、数式3に代えて、数式4により表される。
【数4】
【0036】
推定装置10は、画像情報入力部101と、第1処理領域情報取得部102と、第1CNN処理部103と、第1CNN部情報記憶部104と、第2処理領域情報取得部105と、第2CNN処理部106と、第2CNN部情報記憶部107と、出力情報生成部108と、を備える。
【0037】
本例では、推定装置10は、FPGA(Field-Programmable Gate Array)により構成される。本例では、FPGAは、記憶装置を含む。なお、推定装置10は、FPGAに接続される外部の記憶装置を備えていてもよい。
【0038】
また、推定装置10は、FPGAに代えて、又は、FPGAに加えて、LSI(Large Scale Integration)回路、及び、プログラム可能な論理回路(例えば、PLD(Programmable Logic Device)の少なくとも1つを備えていてもよい。
【0039】
また、推定装置10は、FPGAに代えて、又は、FPGAに加えて、処理装置と、記憶装置と、を備え、記憶装置に記憶されたプログラムを処理装置が実行することにより推定装置10の機能が実現されるように構成されていてもよい。この場合、推定装置10は、コンピュータを構成する。
【0040】
例えば、処理装置は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphical Processing Unit)、又は、DSP(Digital Signal Processor)を含む。例えば、記憶装置は、RAM(Random Access Memory)、半導体メモリ、有機メモリ、HDD(Hard Disk Drive)、又は、SSD(Solid State Drive)を含む。
【0041】
画像情報入力部101は、複数の画素からなる画像領域を有する画像情報が入力される。本例では、画像情報入力部101は、推定装置10の外部から画像情報が入力される。例えば、推定装置10は、画像情報を供給する外部装置と有線又は無線により接続されてよい。また、推定装置10は、画像情報を供給する外部装置と通信可能に接続されていてもよい。
なお、画像情報入力部101は、推定装置10の記憶装置に記憶された画像情報を読み込むことにより画像情報が入力されてもよい。
【0042】
第1処理領域情報取得部102は、画像情報入力部101に入力された画像情報が有する画像領域を分割することにより取得される、第1分割数Pの第1分割領域のそれぞれに対して、第1処理領域情報を取得する。本例では、第1分割数Pは、4である。なお、第1分割数Pは、2、3、又は、5以上の整数であってもよい。
【0043】
本例では、
図2(A)に表されるように、画像領域IRを列方向において等間隔にて分割することにより、第1分割数Pの第1分割領域DR1-1~DR1-Pが取得される。
【0044】
本例では、
図3に表されるように、p番目の第1分割領域DR1-pに対する第1処理領域情報は、画像情報入力部101に入力された画像情報のうちの、p番目の第1分割領域DR1-pである着目領域と、当該着目領域に隣接する他の第1分割領域と、の境界に沿って、当該着目領域をK画素だけ拡大した第1処理領域ER1-pに対応する部分である。pは、1乃至Pの整数を表す。Kは、Y以上であり、且つ、Xよりも小さい整数を表す。Yは、後述される。本例では、Kは、Yと等しい。なお、Kは、Yよりも大きくてもよい。
【0045】
本例では、第1処理領域情報は、パディング領域情報を含む。パディング領域情報は、着目領域の外縁のうちの、当該着目領域と、当該着目領域に隣接する他の第1分割領域と、の境界以外の部分に沿って、当該着目領域をK画素だけ拡大するパディング領域において、所定のパディング値(例えば、0)を有する情報である。なお、パディング領域は、
図3において図示が省略されている。なお、第1処理領域情報は、パディング領域情報を含まなくてもよい。
【0046】
第1CNN処理部103は、第1分割数Pの第1分割領域DR1-1~DR1-Pのそれぞれに対して、第1処理領域情報取得部102によって取得された第1処理領域情報を、第1CNN部に入力することにより第1CNN部情報を出力する第1CNN処理を実行する。
【0047】
第1CNN部は、CNNのうちの、CNNの先頭(換言すると、入力側の端)から連続するとともに、U
1個の畳み込み層を含む部分である。U
1は、1以上であり、且つ、Uよりも小さい整数を表す。換言すると、第1CNN部は、CNNのうちの、U
1個の畳み込み層によって、当該第1CNN部に入力される情報が有する領域の外縁からY画素だけ縮小された領域を有する情報を出力する部分である。Yは、数式5により表される。
【数5】
【0048】
本例では、第1CNN部は、CNNのうちの、CNNに含まれる畳み込み層の数Uの半分U/2を含む前半の部分である。数式1、及び、数式5に表されるように、Yは、Xよりも小さい自然数を表す。本例では、Yは、X/2と等しい。なお、Yは、X/2と異なっていてもよい。
【0049】
第1CNN部情報記憶部104は、第1分割数Pの第1分割領域DR1-1~DR1-Pのそれぞれに対して、第1CNN処理部103によって出力される第1CNN部情報を記憶する。本例では、第1CNN部情報記憶部104は、記憶されている第1CNN部情報を、第2CNN処理部106による使用後に消去する。なお、第1CNN部情報記憶部104は、記憶されている第1CNN部情報を、第2CNN処理部106による使用後も記憶し続けてもよい。
【0050】
第2処理領域情報取得部105は、画像情報入力部101に入力された画像情報が有する画像領域を分割することにより取得される、第2分割数Qの第2分割領域のそれぞれに対して、第2処理領域情報を取得する。本例では、第2分割数Qは、第1分割数Pと等しい。なお、第2分割数Qは、第1分割数Pと異なっていてもよい。
【0051】
本例では、
図2(B)に表されるように、画像領域IRを列方向において等間隔にて分割することにより、第2分割数Qの第2分割領域DR2-1~DR2-Qが取得される。
【0052】
本例では、
図4に表されるように、q番目の第2分割領域DR2-qに対する第2処理領域情報は、第1CNN処理部103によって出力された第1分割数Pの第1CNN部情報のうちの、q番目の第2分割領域DR2-qである着目領域と、当該着目領域に隣接する他の第2分割領域と、の境界に沿って、当該着目領域をL画素だけ拡大した第2処理領域ER2-qに対応する部分である。qは、1乃至Qの整数を表す。Lは、Z以上の整数を表す。Zは、後述される。本例では、Lは、Zと等しい。なお、Lは、Zよりも大きくてもよい。
【0053】
本例では、第2処理領域情報は、パディング領域情報を含む。パディング領域情報は、着目領域の外縁のうちの、当該着目領域と、当該着目領域に隣接する他の第2分割領域と、の境界以外の部分に沿って、当該着目領域をL画素だけ拡大するパディング領域において、所定のパディング値(例えば、0)を有する情報である。なお、パディング領域は、
図4において図示が省略されている。なお、第2処理領域情報は、パディング領域情報を含まなくてもよい。
【0054】
第2CNN処理部106は、第2分割数Qの第2分割領域DR2-1~DR2-Qのそれぞれに対して、第2処理領域情報取得部105によって取得された第2処理領域情報を、第2CNN部に入力することにより第2CNN部情報を出力する第2CNN処理を実行する。
【0055】
第2CNN部は、CNNのうちの、第1CNN部に後続するとともに、U
2個の畳み込み層を含む部分である。U
2は、1以上であり、且つ、U-U
1以下である整数を表す。換言すると、第2CNN部は、CNNのうちの、第1CNN部に後続するとともに、U
2個の畳み込み層によって、当該第2CNN部に入力される情報が有する領域の外縁からZ画素だけ縮小された領域を有する情報を出力する部分である。Zは、数式6により表される。
【数6】
【0056】
本例では、U2は、U-U1と等しい。換言すると、第2CNN部は、CNNのうちの、第1CNN部に後続するとともに、CNNの末尾に至る部分である。本例では、第2CNN部は、CNNのうちの、CNNに含まれる畳み込み層の数Uの半分U/2を含む後半の部分である。数式1、数式5、及び、数式6に表されるように、Zは、XからYを減じた値以下の整数を表す。本例では、Zは、X/2と等しい。なお、Zは、X/2と異なっていてもよい。
【0057】
本例では、動作の説明において詳述のように、第2CNN処理部106は、np+1番目の第1分割領域DR1-np+1に対する第1CNN処理の実行に続いて、当該np+1番目の第1分割領域DR1-np+1と少なくとも一部が重複する、np番目の第2分割領域DR2-npに対する第2CNN処理を実行する。npは、pを表す。np+1は、p+1を表す。
【0058】
第2CNN部情報記憶部107は、第2分割数Qの第2分割領域DR2-1~DR2-Qのそれぞれに対して、第2CNN処理部106によって出力される第2CNN部情報を記憶する。
【0059】
出力情報生成部108は、第2CNN部情報記憶部107に記憶されている第2分割数Qの第2CNN部情報を連結することにより、画像情報が有する画像領域の少なくとも一部を構成する複数の画素のそれぞれに対する分類情報を含む出力情報を生成する。
推定装置10の構成の説明は、以下の推定装置10の動作の説明によって補足されてよい。
【0060】
(動作)
次に、第1実施形態の推定装置10の動作について
図5及び
図6を参照しながら説明する。
推定装置10は、
図5に表される第1推定処理を実行する。第1推定処理において、先ず、推定装置10は、第1カウンタpを「0」に設定する(
図5のステップS101)。次いで、推定装置10は、第1カウンタpが、第1分割数Pよりも小さいか否かを判定する(
図5のステップS102)。
【0061】
この時点では、第1カウンタpが「0」であるとともに、第1分割数Pが「4」である。従って、推定装置10は、「Yes」と判定し、第1カウンタpを「p+1」(この時点では、「1」)に設定する(
図5のステップS103)。次いで、推定装置10は、入力された画像情報に基づいて、p(この時点では、「1」)番目の第1処理領域情報を取得する(
図5のステップS104)。
【0062】
次いで、推定装置10は、ステップS104にて取得されたp番目の第1処理領域情報を第1CNN部に入力する(
図5のステップS105)。次いで、推定装置10は、p番目の第1処理領域情報に対する第1CNN部情報(換言すると、p番目の第1CNN部情報)が第1CNN部から出力されるまで待機する(
図5のステップS106の「No」ルート)。
【0063】
その後、p番目の第1CNN部情報が第1CNN部から出力される。この時点では、推定装置10は、ステップS106にて「Yes」と判定し、第1CNN部から出力されたp番目の第1CNN部情報を記憶する(
図5のステップS107)。
【0064】
次いで、推定装置10は、
図5のステップS102へ戻る。その後、推定装置10は、第1カウンタpが第1分割数Pと等しくなるまで、
図5のステップS102~ステップS107を繰り返し実行する。そして、推定装置10は、第1カウンタpが第1分割数Pと等しくなると、
図5のステップS102にて「No」と判定し、
図5に表される第1推定処理を終了する。
【0065】
更に、推定装置10は、
図6に表される第2推定処理を実行する。第2推定処理において、先ず、推定装置10は、第2カウンタqを「0」に設定する(
図6のステップS201)。次いで、推定装置10は、第2カウンタqが、第2分割数Qよりも小さいか否かを判定する(
図6のステップS202)。上述のように、本例では、第2分割数は、第1分割数と等しい。
【0066】
この時点では、第2カウンタqが「0」であるとともに、第2分割数Qが「4」である。従って、推定装置10は、「Yes」と判定し、第2カウンタqを「q+1」(この時点では、「1」)に設定する(
図6のステップS203)。次いで、推定装置10は、第2カウンタqが、第2分割数Qと等しいか否かを判定する(
図6のステップS204)。
【0067】
この時点では、第2カウンタqが「1」であるとともに、第2分割数Qが「4」である。従って、推定装置10は、「No」と判定し、第1推定処理において、q+1(この時点では、「2」)番目の第1CNN部情報が第1CNN部から出力されるまで待機する(
図6のステップS205の「No」ルート)。
【0068】
その後、第1推定処理において、q+1番目の第1CNN部情報が第1CNN部から出力される。この時点では、推定装置10は、ステップS205にて「Yes」と判定し、ステップS206へ進む。
なお、推定装置10は、ステップS204へ進んだ時点にて、第2カウンタqが、第2分割数Qと等しい場合、ステップS204にて「Yes」と判定し、ステップS205へ進むことなくステップS206へ進む。
【0069】
次いで、推定装置10は、第1CNN部から出力された第1CNN部情報に基づいて、q(この時点では、「1」)番目の第2処理領域情報を取得する(
図6のステップS206)。
【0070】
次いで、推定装置10は、ステップS206にて取得されたq番目の第2処理領域情報を第2CNN部に入力するとともに、記憶されている第1CNN部情報のうちの、q+1番目の第2処理領域情報に使用されない部分を消去する(
図6のステップS207)。
【0071】
このようにして、推定装置10は、q+1番目の第1分割領域に対する第1CNN処理の実行に続いて、当該q+1番目の第1分割領域と少なくとも一部が重複する、q番目の第2分割領域に対する第2CNN処理を実行する。
【0072】
次いで、推定装置10は、q番目の第2処理領域情報に対する第2CNN部情報(換言すると、q番目の第2CNN部情報)が第2CNN部から出力されるまで待機する(
図6のステップS208の「No」ルート)。
【0073】
その後、q番目の第2CNN部情報が第2CNN部から出力される。この時点では、推定装置10は、ステップS208にて「Yes」と判定し、第2CNN部から出力されたq番目の第2CNN部情報を記憶する(
図6のステップS209)。
【0074】
次いで、推定装置10は、
図6のステップS202へ戻る。その後、推定装置10は、第2カウンタqが第2分割数Qと等しくなるまで、
図6のステップS202~ステップS209を繰り返し実行する。そして、推定装置10は、第2カウンタqが第2分割数Qと等しくなると、
図6のステップS202にて「No」と判定し、ステップS210へ進む。
【0075】
次いで、推定装置10は、記憶されている第2分割数Qの第2CNN部情報を連結することにより出力情報を生成する(
図6のステップS210)。次いで、推定装置10は、
図6に表される第2推定処理を終了する。
このようにして、推定装置10は、入力された画像情報に対して、CNNを用いてセマンティックセグメンテーションを行う。
【0076】
以上、説明したように、第1実施形態の推定装置10は、複数の画素からなる画像領域を有する画像情報に対して、複数の畳み込み層によって、入力される情報が有する領域の外縁からX画素だけ縮小された領域を有する情報を出力するCNNを用いてセマンティックセグメンテーションを行う。Xは、2以上の整数を表す。
【0077】
推定装置10は、第1CNN処理部103と、第2CNN処理部106と、を備える。
第1CNN処理部103は、画像領域を分割することにより取得される第1分割数Pの第1分割領域DR1-1~DR1-Pのそれぞれに対して、画像情報のうちの、当該第1分割領域DR1-pである着目領域と、当該着目領域に隣接する他の第1分割領域と、の境界に沿って、当該着目領域をK画素だけ拡大した第1処理領域に対応する部分を、第1CNN部に入力することにより第1CNN部情報を出力する第1CNN処理を実行する。
【0078】
第1CNN部は、CNNのうちの、少なくとも1つの畳み込み層によって、入力される情報が有する領域の外縁からY画素だけ縮小された領域を有する情報を出力する部分である。Yは、Xよりも小さい自然数を表す。Kは、Y以上であり、且つ、Xよりも小さい整数を表す。
【0079】
第2CNN処理部106は、画像領域を分割することにより取得される第2分割数Qの第2分割領域DR2-1~DR2-Qのそれぞれに対して、出力された第1分割数Pの第1CNN部情報のうちの、当該第2分割領域DR2-qである着目領域と、当該着目領域に隣接する他の第2分割領域と、の境界に沿って、当該着目領域をL画素だけ拡大した第2処理領域に対応する部分を、第2CNN部に入力することにより第2CNN部情報を出力する第2CNN処理を実行する。
【0080】
第2CNN部は、CNNのうちの、第1CNN部に後続するとともに、少なくとも1つの畳み込み層によって、入力される情報が有する領域の外縁からZ画素だけ縮小された領域を有する情報を出力する部分である。Zは、XからYを減じた値以下の整数を表す。Lは、Z以上の整数を表す。
【0081】
図7は、第1実施形態の推定装置10における領域の変化を表す。
図7(A)の実線は、第1CNN部に入力される情報が有する領域を表す。本例では、この領域は、破線により表される第1分割領域をK(本例では、Kは、Yと等しい)画素だけ拡大した領域である。
図7(B)の実線は、第1CNN部から出力される情報が有する領域を表す。本例では、この領域は、第1分割領域に一致する。
【0082】
図7(C)の実線は、第2CNN部に入力される情報が有する領域を表す。本例では、この領域は、破線により表される第2分割領域(本例では、第1分割領域と一致する)をL(本例では、Lは、Zと等しい)画素だけ拡大した領域である。
図7(D)の実線は、第2CNN部から出力される情報が有する領域を表す。本例では、この領域は、第2分割領域に一致する。
【0083】
また、
図8は、比較例の推定装置(例えば、特許文献1の推定装置)における領域の変化を表す。比較例の推定装置においては、分割領域を、CNNの全体に対する縮小幅であるX画素だけ拡大した領域を有する情報がCNNに入力される。
図8(A)の実線は、CNNに入力される情報が有する領域を表す。本例では、この領域は、破線により表される分割領域をX画素だけ拡大した領域である。
図8(B)の実線は、CNNのうちの、第1CNN部から出力される情報が有する領域を表す。この領域は、CNNに入力される領域(
図8(A)の実線の領域)をY画素だけ縮小した領域である。
【0084】
図8(C)の実線は、CNNのうちの、第2CNN部に入力される情報が有する領域を表す。本例では、この領域は、
図8(B)の実線の領域と一致する。
図8(D)の実線は、CNNから出力される情報が有する領域を表す。
【0085】
このように、第1実施形態の推定装置10によれば、第1処理領域は、CNNの全体に対する縮小幅であるXよりも小さいK画素だけ第1分割領域DR1-pを拡大した領域である。従って、第1CNN処理の対象となる第1分割数Pの第1処理領域に含まれる画素の総数を抑制できる。これにより、画像情報のうちの、分割領域をX画素だけ拡大した処理領域に対応する部分をCNNに入力する場合(例えば、比較例の推定装置)と比較して、第1CNN処理における演算量を抑制できる。この結果、処理負荷を抑制できる。
【0086】
更に、第1実施形態の推定装置10において、第2CNN処理部106は、np+1番目の第1分割領域DR1-np+1に対する第1CNN処理の実行に続いて、当該np+1番目の第1分割領域DR1-np+1と少なくとも一部が重複する、np番目の第2分割領域DR2-npに対する第2CNN処理を実行する。npは、pを表す。np+1は、p+1を表す。
【0087】
これによれば、np+1番目の第1分割領域DR1-np+1に対する第1CNN処理の実行に続いて、当該np+1番目の第1分割領域DR1-np+1と少なくとも一部が重複するnp番目の第2分割領域DR2-npに対する第2CNN処理が実行される。従って、第2CNN処理に備えて第1CNN部情報を保持するためのリソース(換言すると、記憶装置の記憶容量)を抑制できる。
【0088】
<第2実施形態>
次に、第2実施形態の推定装置について説明する。第2実施形態の推定装置は、第1実施形態の推定装置に対して、第1分割数が第2分割数よりも小さい点において相違している。以下、相違点を中心として説明する。なお、第2実施形態の説明において、第1実施形態にて使用した符号と同じ符号を付したものは、同一又は略同様のものである。
【0089】
本例では、
図9(A)に表されるように、画像領域IRを列方向において等間隔にて分割することにより、第1分割数Pの第1分割領域DR1-1~DR1-Pが取得される。本例では、第1分割数Pは、4である。なお、第1分割数Pは、2、3、又は、5以上の整数であってもよい。
本例では、各第1分割領域DR1-pの列方向における画素数は、5Lである。
【0090】
また、本例では、
図9(B)に表されるように、画像領域IRを列方向において等間隔にて分割することにより、第2分割数Qの第2分割領域DR2-1~DR2-Qが取得される。第2分割数Qは、第1分割数Pよりも1だけ大きい。従って、本例では、第2分割数Qは、5である。本例では、各第2分割領域DR2-qの列方向における画素数は、4Lである。
【0091】
本例では、
図9に表されるように、1番目の第2分割領域DR2-1は、1番目の第1分割領域DR1-1である着目領域と、当該着目領域に隣接する他の第1分割領域と、の境界に沿って、当該着目領域をM(本例では、L)画素だけ縮小した領域である。Mは、KからYを減じた値を、Zから減じた値以上の整数を表す。本例では、Mは、Lと等しい。なお、Mは、Lよりも大きくてもよい。
【0092】
本例では、
図10に表されるように、1番目の第2分割領域DR2-1に対する第2処理領域情報は、第1CNN処理部103によって出力された第1分割数Pの第1CNN部情報のうちの、1番目の第1分割領域DR1-1と一致する第2処理領域ER2-1に対応する部分である。
【0093】
2番目の第2分割領域DR2-2に対する第2処理領域情報は、第1CNN処理部103によって出力された第1分割数Pの第1CNN部情報のうちの、1番目の第1分割領域DR1-1の中の末尾側の列方向における2L画素の部分と、2番目の第1分割領域DR1-2の中の先頭側の列方向における4L画素の部分と、からなる第2処理領域ER2-2に対応する部分である。
【0094】
3番目の第2分割領域DR2-3に対する第2処理領域情報は、第1CNN処理部103によって出力された第1分割数Pの第1CNN部情報のうちの、2番目の第1分割領域DR1-2の中の末尾側の列方向における3L画素の部分と、3番目の第1分割領域DR1-3の中の先頭側の列方向における3L画素の部分と、からなる第2処理領域ER2-3に対応する部分である。
【0095】
4番目の第2分割領域DR2-4に対する第2処理領域情報は、第1CNN処理部103によって出力された第1分割数Pの第1CNN部情報のうちの、3番目の第1分割領域DR1-3の中の末尾側の列方向における4L画素の部分と、4番目の第1分割領域DR1-4の中の先頭側の列方向における2L画素の部分と、からなる第2処理領域ER2-4に対応する部分である。
【0096】
5番目の第2分割領域DR2-5に対する第2処理領域情報は、第1CNN処理部103によって出力された第1分割数Pの第1CNN部情報のうちの、4番目の第1分割領域DR1-4と一致する第2処理領域ER2-5に対応する部分である。
【0097】
第2実施形態の推定装置10は、
図6の第2推定処理に代えて、
図11の第2推定処理を実行する。
図11の第2推定処理は、
図6の第2推定処理に対して、ステップS205の処理がステップS205Aの処理に置き換えられた点において相違している。
【0098】
従って、本例では、推定装置10は、ステップS204にて「No」と判定した場合、ステップS205Aに進み、第1推定処理において、q番目の第1CNN部情報が第1CNN部から出力されるまで待機する(
図11のステップS205Aの「No」ルート)。
【0099】
その後、第1推定処理において、q番目の第1CNN部情報が第1CNN部から出力されると、推定装置10は、ステップS205Aにて「Yes」と判定し、ステップS206へ進む。
【0100】
その後、推定装置10は、第1実施形態の推定装置10と同様に、ステップS206以降の処理を実行することにより、
図11に表される第2推定処理を実行する。
従って、本例では、推定装置10は、n
p番目の第1分割領域DR1-n
pに対する第1CNN処理の実行に続いて、当該n
p番目の第1分割領域DR1-n
pと少なくとも一部が重複する、n
p番目の第2分割領域DR2-n
pに対する第2CNN処理を実行する。n
pは、pを表す。
【0101】
以上、説明したように、第2実施形態の推定装置10は、第1実施形態の推定装置10と同様の構成を有するので、第1実施形態の推定装置10と同様の作用及び効果が奏される。
更に、第2実施形態の推定装置10において、第1分割数Pは、第2分割数Qよりも小さい。
【0102】
ところで、推定装置10においては、第1CNN処理の対象となる第1分割数Pの第1処理領域に含まれる画素の総数を抑制できる。従って、第1分割数Pを第2分割数Qよりも小さくしても、1つの第1分割領域に対する第1CNN処理の処理負荷が過大になることを抑制できる。そこで、第2実施形態の推定装置10においては、第1分割数Pを第2分割数Qよりも小さくする。この結果、第1分割数Pを第2分割数Qと等しくする場合と比較して、第1CNN処理の対象となる第1分割数Pの第1処理領域に含まれる画素の総数をより一層抑制できる。
【0103】
更に、第2実施形態の推定装置10において、第2CNN処理部106は、第1分割領域DR1-npに対する第1CNN処理の実行に続いて、当該第1分割領域DR1-npと少なくとも一部が重複する第2分割領域DR2-npに対する第2CNN処理を実行する。npは、pを表す。
【0104】
これによれば、np番目の第1分割領域DR1-npに対する第1CNN処理の実行に続いて、当該np番目の第1分割領域DR1-npと少なくとも一部が重複するnp番目の第2分割領域DR2-npに対する第2CNN処理が実行される。従って、第2CNN処理に備えて第1CNN部情報を保持するためのリソース(換言すると、記憶装置の記憶容量)を抑制できる。
【0105】
更に、第2実施形態の推定装置10において、第2CNN処理部106が1番目に実行する第2CNN処理の対象となる第2分割領域DR2-1は、第1CNN処理部103が1番目に実行する第1CNN処理の対象となる第1分割領域DR1-1である着目領域と、当該着目領域に隣接する他の第1分割領域と、の境界に沿って、当該着目領域をM画素だけ縮小した領域である。Mは、KからYを減じた値を、Zから減じた値以上の整数を表す。
【0106】
これによれば、1番目に第2CNN処理を実行する際に、2番目以降に実行される第1CNN処理の完了を待つことなく第2CNN処理を実行できるので、処理時間を短縮できる。
【0107】
<第3実施形態>
次に、第3実施形態の推定装置について説明する。第3実施形態の推定装置は、第1実施形態の推定装置に対して、第2分割数の第2分割領域のうちの一部において、列方向における画素数が他の第2分割領域と異なる点において相違している。以下、相違点を中心として説明する。なお、第3実施形態の説明において、第1実施形態にて使用した符号と同じ符号を付したものは、同一又は略同様のものである。
【0108】
本例では、
図12(A)に表されるように、画像領域IRを列方向において等間隔にて分割することにより、第1分割数Pの第1分割領域DR1-1~DR1-Pが取得される。本例では、第1分割数Pは、4である。なお、第1分割数Pは、2、3、又は、5以上の整数であってもよい。
本例では、各第1分割領域DR1-pの列方向における画素数は、5Lである。
【0109】
また、本例では、
図9(B)に表されるように、画像領域IRを列方向において、異なる間隔にて分割することにより、第2分割数Qの第2分割領域DR2-1~DR2-Qが取得される。第2分割数Qは、第1分割数Pと等しい。従って、本例では、第2分割数Qは、4である。なお、第2分割数Qは、第1分割数Pよりも大きくてもよい。
【0110】
本例では、1番目の第2分割領域DR2-1の列方向における画素数は、4Lである。本例では、2番目の第2分割領域DR2-2、及び、3番目の第2分割領域DR2-3の列方向における画素数は、5Lである。本例では、4番目の第2分割領域DR2-4の列方向における画素数は、6Lである。
【0111】
本例では、
図12に表されるように、1番目の第2分割領域DR2-1は、1番目の第1分割領域DR1-1である着目領域と、当該着目領域に隣接する他の第1分割領域と、の境界に沿って、当該着目領域をM(本例では、L)画素だけ縮小した領域である。Mは、KからYを減じた値を、Zから減じた値以上の整数を表す。本例では、Mは、Lと等しい。なお、Mは、Lよりも大きくてもよい。
【0112】
また、本例では、
図12に表されるように、i(iは、2以上であるとともに第2分割数Qよりも小さい整数を表す)番目の第2分割領域DR2-i(換言すると、第2CNN処理部106がi番目に実行する第2CNN処理の対象となる第2分割領域DR2-i)は、i番目の第1分割領域DR1-i(換言すると、第1CNN処理部103がi番目に実行する第1CNN処理の対象となる第1分割領域DR1-i)である着目領域と、当該着目領域に隣接する他の第1分割領域のうちの、i+1番目の第1分割領域と、の境界に沿って、当該着目領域をM(本例では、L)画素だけ縮小するとともに、当該着目領域と、当該着目領域に隣接する他の第1分割領域のうちの、i-1番目の第1分割領域と、の境界に沿って、当該着目領域をM(本例では、L)画素だけ拡大した領域である。
【0113】
また、本例では、
図12に表されるように、n
Q番目の第2分割領域DR2-n
Qは、n
Q番目の第1分割領域DR1-n
Qである着目領域と、当該着目領域と、当該着目領域に隣接する他の第1分割領域のうちの、n
Q-1番目の第1分割領域DR1-n
Q-1と、の境界に沿って、当該着目領域をM(本例では、L)画素だけ拡大した領域である。n
Qは、Qを表す。n
Q-1は、Q-1を表す。
【0114】
本例では、
図13に表されるように、1番目の第2分割領域DR2-1に対する第2処理領域情報は、第1CNN処理部103によって出力された第1分割数Pの第1CNN部情報のうちの、1番目の第1分割領域DR1-1と一致する第2処理領域ER2-1に対応する部分である。
【0115】
2番目の第2分割領域DR2-2に対する第2処理領域情報は、第1CNN処理部103によって出力された第1分割数Pの第1CNN部情報のうちの、1番目の第1分割領域DR1-1の中の末尾側の列方向における2L画素の部分と、2番目の第1分割領域DR1-2と、からなる第2処理領域ER2-2に対応する部分である。
【0116】
3番目の第2分割領域DR2-3に対する第2処理領域情報は、第1CNN処理部103によって出力された第1分割数Pの第1CNN部情報のうちの、2番目の第1分割領域DR1-2の中の末尾側の列方向における2L画素の部分と、3番目の第1分割領域DR1-3と、からなる第2処理領域ER2-3に対応する部分である。
【0117】
4番目の第2分割領域DR2-4に対する第2処理領域情報は、第1CNN処理部103によって出力された第1分割数Pの第1CNN部情報のうちの、3番目の第1分割領域DR1-3の中の末尾側の列方向における2L画素の部分と、4番目の第1分割領域DR1-4と、からなる第2処理領域ER2-4に対応する部分である。
【0118】
第3実施形態の推定装置10は、
図6の第2推定処理に代えて、
図14の第2推定処理を実行する。
図14の第2推定処理は、
図6の第2推定処理に対して、ステップS204及びステップS205の処理がステップS205Bの処理に置き換えられた点において相違している。
【0119】
従って、本例では、推定装置10は、ステップS203を実行した後、ステップS205Bに進み、第1推定処理において、q番目の第1CNN部情報が第1CNN部から出力されるまで待機する(
図14のステップS205Bの「No」ルート)。
【0120】
その後、第1推定処理において、q番目の第1CNN部情報が第1CNN部から出力されると、推定装置10は、ステップS205Bにて「Yes」と判定し、ステップS206へ進む。
【0121】
その後、推定装置10は、第1実施形態の推定装置10と同様に、ステップS206以降の処理を実行することにより、
図14に表される第2推定処理を実行する。
従って、本例では、推定装置10は、n
p番目の第1分割領域DR1-n
pに対する第1CNN処理の実行に続いて、当該n
p番目の第1分割領域DR1-n
pと少なくとも一部が重複する、n
p番目の第2分割領域DR2-n
pに対する第2CNN処理を実行する。n
pは、pを表す。
【0122】
以上、説明したように、第3実施形態の推定装置10は、第1実施形態の推定装置10と同様の構成を有するので、第1実施形態の推定装置10と同様の作用及び効果が奏される。
更に、第3実施形態の推定装置10において、第2CNN処理部106は、第1分割領域DR1-npに対する第1CNN処理の実行に続いて、当該第1分割領域DR1-npと少なくとも一部が重複する第2分割領域DR2-npに対する第2CNN処理を実行する。npは、pを表す。
【0123】
これによれば、np番目の第1分割領域DR1-npに対する第1CNN処理の実行に続いて、当該np番目の第1分割領域DR1-npと少なくとも一部が重複するnp番目の第2分割領域DR2-npに対する第2CNN処理が実行される。従って、第2CNN処理に備えて第1CNN部情報を保持するためのリソース(換言すると、記憶装置の記憶容量)を抑制できる。
【0124】
更に、第3実施形態の推定装置10において、第2CNN処理部106が1番目に実行する第2CNN処理の対象となる第2分割領域DR2-1は、第1CNN処理部103が1番目に実行する第1CNN処理の対象となる第1分割領域DR1-1である着目領域と、当該着目領域に隣接する他の第1分割領域と、の境界に沿って、当該着目領域をM画素だけ縮小した領域である。Mは、KからYを減じた値を、Zから減じた値以上の整数を表す。
【0125】
これによれば、1番目に第2CNN処理を実行する際に、2番目以降に実行される第1CNN処理の完了を待つことなく第2CNN処理を実行できるので、処理時間を短縮できる。
【0126】
更に、第3実施形態の推定装置10において、第2CNN処理部106がi(iは、2以上であるとともに第2分割数Qよりも小さい整数を表す)番目に実行する第2CNN処理の対象となる第2分割領域DR2-iは、第1CNN処理部103がi番目に実行する第1CNN処理の対象となる第1分割領域DR1-iである着目領域と、当該着目領域に隣接する他の第1分割領域のうちの、第1CNN処理部103がi+1番目に実行する第1CNN処理の対象となる第1分割領域と、の境界に沿って、当該着目領域をM画素だけ縮小するとともに、当該着目領域と、当該着目領域に隣接する他の第1分割領域のうちの、第1CNN処理部103がi-1番目に実行する第1CNN処理の対象となる第1分割領域と、の境界に沿って、当該着目領域をM画素だけ拡大した領域である。
【0127】
これによれば、i番目に第2CNN処理を実行する際に、未だ実行されていない第1CNN処理の完了を待つことなく第2CNN処理を実行できるので、処理時間を短縮できる。更に、第2CNN処理に備えて第1CNN部情報を保持するためのリソース(換言すると、記憶装置の記憶容量)を抑制できる。
【0128】
なお、本発明は、上述した実施形態に限定されない。例えば、上述した実施形態に、本発明の趣旨を逸脱しない範囲内において当業者が理解し得る様々な変更が加えられてよい。
【0129】
例えば、
図15に表されるように、第1分割領域、及び、第2分割領域の少なくとも一方は、画像領域IRを行方向において分割することにより取得されてよい。また、例えば、
図16に表されるように、第1分割領域、及び、第2分割領域の少なくとも一方は、画像領域IRを、行方向及び列方向の両方において分割することにより取得されてよい。
【0130】
ところで、上述した実施形態において、CNNが、第1CNN部及び第2CNN部からなる2つの部分に分割されるとともに、第1CNN部及び第2CNN部に対して、第1分割領域及び第2分割領域がそれぞれ設定される。なお、CNNがH個の部分に分割されるとともに、H個の部分に対して、H種類の分割領域がそれぞれ設定されてもよい。Hは、3以上の整数を表す。例えば、CNNが、第1CNN部、第2CNN部、及び、第3CNN部からなる3つの部分に分割されるとともに、第1CNN部、第2CNN部、及び、第3CNN部に対して、第1分割領域、第2分割領域、及び、第3分割領域がそれぞれ設定されてもよい。
【符号の説明】
【0131】
10 推定装置
101 画像情報入力部
102 第1処理領域情報取得部
103 第1CNN処理部
104 第1CNN部情報記憶部
105 第2処理領域情報取得部
106 第2CNN処理部
107 第2CNN部情報記憶部
108 出力情報生成部
DR1-1~DR1-P 第1分割領域
ER1-1~ER1-P 第1処理領域
DR2-1~DR2-Q 第2分割領域
ER2-1~ER2-Q 第2処理領域
IR 画像領域