(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-08
(45)【発行日】2024-08-19
(54)【発明の名称】不良箇所検出装置、不良箇所検出方法、およびコンピュータプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20240809BHJP
【FI】
G06T7/00 600
G06T7/00 350B
(21)【出願番号】P 2020210449
(22)【出願日】2020-12-18
【審査請求日】2023-03-20
(73)【特許権者】
【識別番号】000003609
【氏名又は名称】株式会社豊田中央研究所
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100160691
【氏名又は名称】田邊 淳也
(74)【代理人】
【識別番号】100157277
【氏名又は名称】板倉 幸恵
(74)【代理人】
【識別番号】100182718
【氏名又は名称】木崎 誠司
(72)【発明者】
【氏名】鈴木 有也
(72)【発明者】
【氏名】横山 明久
(72)【発明者】
【氏名】田口 勝也
【審査官】長谷川 素直
(56)【参考文献】
【文献】特表2022-538468(JP,A)
【文献】特開2020-197875(JP,A)
【文献】特開2004-080709(JP,A)
【文献】特開2020-187735(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
H04N 7/18
(57)【特許請求の範囲】
【請求項1】
不良箇所検出装置であって、
被検出対象の画像を取得
し、取得された画像を用いて画像上の像の位置ずれを修正したオルソ画像を作成する画像取得部と
、
前記
オルソ画像を画像認識することで、前記被検出対象における不良箇所の有無を判定する判定部と、
前記
オルソ画像内の前記不良箇所の位置を抽出する抽出部と、
前記
オルソ画像において、前記抽出部により抽出された前記位置の画素に対してマスク処理を行うマスク部と、
を備え、
前記判定部による判定と、前記抽出部による抽出と、前記マスク部による前記マスク処理とは、前記判定部により前記不良箇所が無いと判定されるまで繰り返し実行される、不良箇所検出装置。
【請求項2】
請求項1に記載の不良箇所検出装置であって、
前記抽出部は、前記判定部により前記不良箇所と判定された最大の根拠となる位置に加えて、前記位置を含む前記不良箇所の範囲を抽出し、
前記マスク部は、前記範囲の画素におけるアルファチャンネルに所定の値を代入する、不良箇所検出装置。
【請求項3】
請求項2に記載の不良箇所検出装置であって、
前記マスク部は、大きさと形状との少なくとも一方が異なる複数の画素の集合を組み合わせて前記範囲を覆うようにオブジェクトを配置する、不良箇所検出装置。
【請求項4】
請求項3に記載の不良箇所検出装置であって、
前記マスク部は、前記オブジェクトの色相を、前記不良箇所として判定されないように予め設定された色相に変更する、不良箇所検出装置。
【請求項5】
請求項1から請求項4のいずれか一項に記載の不良箇所検出装置であって、さらに、
前記判定部が前記不良箇所の有無の判定に用いる学習モデルを作成する学習部を備え、
前記学習部は、前
記オルソ画像から抽出された複数の部分画像を用いて深層学習を行うことで、前記学習モデルを作成する、不良箇所検出装置。
【請求項6】
不良箇所検出方法であって、
被検出対象の画像を取得
し、取得された画像を用いて画像上の像の位置ずれを修正したオルソ画像を作成する画像取得工程と
、
前記
オルソ画像を画像認識することで、前記被検出対象における不良箇所の有無を判定する判定工程と、
前記
オルソ画像内の前記不良箇所の位置を抽出する抽出工程と、
前記
オルソ画像において、前記抽出
工程により抽出された前記位置の画素に対してマスク処理を行うマスク工程と、
を備え、
前記判定工程による判定と、前記抽出工程による抽出と、前記マスク工程による前記マスク処理とは、前記判定工程により前記不良箇所が無いと判定されるまで繰り返し実行される、不良箇所検出方法。
【請求項7】
コンピュータプログラムであって、
被検出対象の画像を取得
し、取得された画像を用いて画像上の像の位置ずれを修正したオルソ画像を作成する画像取得機能と
、
前記
オルソ画像を画像認識することで、前記被検出対象における不良箇所の有無を判定する判定機能と、
前記
オルソ画像内の前記不良箇所の位置を抽出する抽出機能と、
前記
オルソ画像において、前記抽出機能により抽出された前記位置の画素に対してマスク処理を行うマスク機能と、
をコンピュータに実現させ、
前記判定機能による判定と、前記抽出機能による抽出と、前記マスク機能による前記マスク処理とは、前記判定機能により前記不良箇所が無いと判定されるまで繰り返し実行される、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、不良箇所検出装置、不良箇所検出方法、およびコンピュータプログラムに関する。
【背景技術】
【0002】
被検出対象の画像の中から、不良箇所として定義された部分の存在有無を判定する技術が知られている(例えば、特許文献1参照)。特許文献1に記載された検出装置は、被検出対象である樹脂組成フィルムを撮影した一枚の画像を複数の画像に分割し、分割画像のそれぞれから、不良箇所として定義された気泡を検出している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、例えば地図生成の技術分野において、複数の車両に搭載された車載カメラにより撮影された、複数の道路画像を用いて地図を生成したいという要望がある。ここで、各車載カメラにより撮影された道路画像には、例えば、建物等の影の写り込みや、他車両等の写り込み、画像が不鮮明な箇所といった、地図生成のための使用に適さない箇所(すなわち、不良箇所)が存在する。したがって、撮影された道路画像から、このような不良箇所の位置を抽出して、抽出された不良箇所以外の道路画像を利用して(換言すれば、抽出された不良箇所の道路画像を用いずに)地図を生成することで、高精度の地図生成を可能としたいという要望があった。この点、特許文献1に記載の技術では、分割画像内に所定の大きさ以上の気泡が検出されると、撮影された樹脂組成フィルムを不良と判定しているが、不良箇所の位置までは特定していない。すなわち、特許文献1に記載の技術では、不良箇所の有無を判定できるに留まり、不良箇所の位置を特定することについては何ら考慮されていないという課題があった。なお、このような課題は、地図生成の技術分野にかかわらず、複数の画像から1つの画像を作成する技術の全般に共通する課題であった。
【0005】
本発明は、上述した課題を解決するためになされたものであり、画像内の不良箇所の位置を同定して、不良箇所を抽出することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、上述の課題を解決するためになされたものであり、以下の形態として実現できる。不良箇所検出装置であって、被検出対象の画像を取得し、取得された画像を用いて画像上の像の位置ずれを修正したオルソ画像を作成する画像取得部と、前記オルソ画像を画像認識することで、前記被検出対象における不良箇所の有無を判定する判定部と、前記オルソ画像内の前記不良箇所の位置を抽出する抽出部と、前記オルソ画像において、前記抽出部により抽出された前記位置の画素に対してマスク処理を行うマスク部と、を備え、前記判定部による判定と、前記抽出部による抽出と、前記マスク部による前記マスク処理とは、前記判定部により前記不良箇所が無いと判定されるまで繰り返し実行される、不良箇所検出装置。そのほか、本発明は、以下の形態としても実現可能である。
【0007】
(1)本発明の一形態によれば、不良箇所検出装置が提供される。この不良箇所検出装置は、被検出対象の画像を取得する画像取得部と、取得された前記画像を画像認識することで、前記被検出対象における不良箇所の有無を判定する判定部と、前記画像内の前記不良箇所の位置を抽出する抽出部と、前記画像において、前記抽出部により抽出された前記位置の画素に対してマスク処理を行うマスク部と、を備え、前記判定部による判定と、前記抽出部による抽出と、前記マスク部によるマスクとは、前記判定部により前記不良箇所が無いと判定されるまで繰り返し実行される。
【0008】
この構成によれば、抽出部は、画像内の不良箇所の位置を抽出し、マスク部は、抽出された位置に対して不良箇所の画素に対してマスク処理を行う。このようにして生成された画像は、不良箇所を含まない(換言すれば、不良箇所がマスクされた)被検出対象の画像である。このような画像を、例えば地図画像の生成等に用いることにより、被検出対象の複数の画像を利用した精度の高い画像を作成できる。また、判定部による判定と、抽出部による抽出と、マスク部によるマスク処理とを繰り返し実行することにより、画像内の被検出対象における不良箇所に対して、繰り返しのマスク処理が行われる。すなわち、一度のマスク処理ではなく、複数回のマスク処理により、不良箇所がマスクされる。これにより、抽出部により不良箇所で無い箇所が誤って抽出されることが抑制される。換言すれば、画像内の被検出対象における不良箇所の位置が同定されて、不良箇所のみができるだけ抽出される。
【0009】
(2)上記態様の不良箇所検出装置において、前記抽出部は、前記判定部により前記不良箇所と判定された最大の根拠となる位置に加えて、前記位置を含む前記不良箇所の範囲を抽出し、前記マスク部は、の画素におけるアルファチャンネルに所定の値を代入してもよい。
この構成によれば、不良箇所と判定された最大の根拠となる位置に加えて、当該位置を含む周囲も同時に抽出部により抽出される。これにより、最大の根拠となる位置のみが抽出される場合と比較して、判定部の判定と、抽出部の抽出と、マスク部によるマスク処理の回数を少なくできる。この結果、本構成の不良箇所検出装置は、不良箇所の抽出を迅速に行うことができる。また、マスク部は、不良箇所の画素におけるアルファチャンネルに所定の値を代入することで、不良箇所の不透明度を0(ゼロ)とし、または、不良箇所以外の箇所と比較して不透明度を十分に低くすることで、簡単にマスクできる。
【0010】
(3)上記態様の不良箇所検出装置において、前記マスク部は、大きさと形状との少なくとも一方が異なる画素の集合を組み合わせて前記範囲を覆うようにオブジェクトを配置してもよい。
この構成によれば、マスク部は、大きさと形状との少なくとも一方が異なる複数のオブジェクトを組み合わせて用いるため、一度で不良箇所の範囲をマスクする場合と比較して、不良箇所としてオブジェクトが配置される範囲を小さくできる。
【0011】
(4)上記態様の不良箇所検出装置において、前記マスク部は、前記オブジェクトの色相を、前記不良箇所として判定されないように予め設定された色相に変更してもよい。
この構成によれば、マスク部は、不良箇所が存在しないと予め設定されている色相のオブジェクトで不良箇所をマスクできる。そのため、マスク後に繰り返し行われる判定部による判定および抽出部による抽出で、マスクされた不良箇所の部分が、新たな不良箇所として抽出されるおそれを抑制できる。
【0012】
(5)上記態様の不良箇所検出装置において、さらに、前記判定部が前記不良箇所の有無の判定に用いる学習モデルを作成する学習部を備え、前記学習部は、前記被検出対象のオルソ画像から抽出された複数の部分画像を用いて深層学習を行うことで、前記学習モデルを作成してもよい。
この構成によれば、深層学習によって得られた学習モデルを用いて判定部による不良箇所の有無が判定されるため、判定の精度が向上する。
【0013】
なお、本発明は、種々の態様で実現することが可能であり、例えば、不良箇所検出装置、地図生成装置、学習装置、および地図生成システムおよびこれらの装置を備える車両、および不良箇所検出方法、地図生成方法、これら装置や方法を実行するためのコンピュータプログラム、このコンピュータプログラムを配布するためのサーバ装置、コンピュータプログラムを記憶した一時的でない記憶媒体等の形態で実現することができる。
【図面の簡単な説明】
【0014】
【
図1】本発明の実施形態としての地図生成装置(不良箇所検出装置)を備える地図生成システムの概略ブロック図である。
【
図4】ヒートマップ生成を用いた不良箇所の抽出についての説明図である。
【
図5】ヒートマップ生成を用いた不良箇所の抽出についての説明図である。
【
図8】抽出部の処理およびマスク部のマスク処理についての説明図である。
【
図9】抽出部の処理およびマスク部のマスク処理についての説明図である。
【
図10】抽出部の処理およびマスク部のマスク処理についての説明図である。
【
図11】抽出部の処理およびマスク部のマスク処理についての説明図である。
【
図12】抽出部の処理およびマスク部のマスク処理についての説明図である。
【
図13】抽出部の処理およびマスク部のマスク処理についての説明図である。
【
図14】抽出部の処理およびマスク部のマスク処理についての説明図である。
【
図15】本実施形態における不良箇所の抽出処理のフローチャートである。
【発明を実施するための形態】
【0015】
<第1実施形態>
図1は、本発明の実施形態としての地図生成装置(不良箇所検出装置)20を備える地図生成システム100の概略ブロック図である。地図生成システム100は、走行中の複数の車両10に搭載された車載カメラ11の複数の撮影画像を用いて、オルソ画像の1枚の道路地図を生成する。
図1に示されるように、地図生成システム100は、車両10の前方下側を撮影する車載カメラ11を有する車両10と、車載カメラ11の撮影画像を車両10から取得して地図を生成する地図生成装置(不良箇所検出装置)20と、を備えている。なお、
図1では、車両10が1台しか図示されていないが、地図生成システム100は、複数の車両10を備えている。
【0016】
車両10は、
図1に図示されていない通信部の無線通信機能を用いて、車載カメラ11の複数の撮影画像を地図生成装置20へと送信する。車載カメラ11の撮影画像には、車両10が通過した被検出対象である道路などの画像が写っている。そのため、地図生成装置20に送信される撮影画像は、走行中の車両10が通過した道路を含む部分画像である。車載カメラ11の撮影画像には、例えば、建物等の影の写り込みや、他車両等の写り込み、画像が不鮮明な箇所といった、地図生成のための使用に適さない箇所(以降「不良箇所」と呼ぶ)が存在する。車両10は、このような不良箇所を含んだ撮影画像を地図生成装置20に送信する。
【0017】
本実施形態の地図生成装置20は、パーソナルコンピュータ(Personal Computer)である。地図生成装置20は、後述する処理によって、車載カメラ11の撮影画像中の、不良箇所の有無を判定し、不良箇所の位置を抽出し、不良箇所をマスクする。
図1に示されるように、地図生成装置20は、ユーザの各種操作を受け付ける入力部60と、各種画像を表示するモニタおよび音声を出力するスピーカで構成される出力部70と、無線通信を介して複数の車両10から車載カメラ11の撮影画像を受信する通信部50と、CPU(Central Processing Unit)30と、ROM(Read Only Memory)21と、RAM(Random Access Memory)22と、各種情報を記憶する記憶部40と、を備えている。
【0018】
本実施形態の入力部60は、キーボードと、マウスと、音声入力を受け付けるマイクとにより構成されている。記憶部40は、ハードディスクドライブ(HDD:Hard Disk Drive)などで構成されている。記憶部40は、車両10から送信された複数の撮影画像を保存する画像データベース(画像DB)41と、地図生成装置20が生成した地図を保存する地図データベース(地
図DB)42と、後述する学習モデルを保存するモデルデータベース(モデルDB)43と、を備えている。
【0019】
CPU30は、ROM21に格納されているコンピュータプログラムをRAM22に展開する。これにより、CPU30は、被検出対象が写っている撮影画像を取得する画像取得部31と、画像内の被検出対象における不良箇所の有無を判定する判定部32と、画像内の不良箇所の位置を抽出する抽出部33と、抽出された不良箇所の位置に対してマスク処理を行うマスク部34と、学習用データから学習モデルを作成する学習部35と、地図を生成する地図生成部36として機能する。
【0020】
画像取得部31は、通信部50を介して、複数の車両10の車載カメラ11が撮影した複数の撮影画像を取得する。撮影画像は、オルソ画像と異なり、車載カメラ11のレンズの中心から対象物までの距離の違いにより、画像上の像に位置ずれが生じている。本実施形態の画像取得部31は、撮影画像を用いて、撮影画像上における位置ずれを修正したオルソ画像を作成する。
【0021】
学習部35は、判定部32が不良箇所の有無の判定に用いる学習モデルを作成する。学習部35は、予め用意された1つの道路の全体オルソ画像が、複数の画像に分割された分割画像を、学習用データとした深層学習により、学習モデルを作成する。ここで、学習用データとなる各分割画像は、1つの道路の全体オルソ画像を、車両10の軌跡に沿って分割した画像である。
【0022】
図2および
図3は、学習部35が実行する学習処理の説明図である。
図2には、学習用データとしての道路の全体オルソ画像の一部が示されている。
図2に示されるように、学習部35は、車両10の軌跡に沿って複数に分割された分割画像IM1~IM3のそれぞれを用いて学習処理を行う。
【0023】
図3には、学習部35が実行する学習処理のフローチャートが示されている。
図3に示されるように、学習処理フローでは、学習部35は、初めに、学習用データを取得する(ステップS11)。学習用データは、学習モデルを訓練するための訓練データセットと、訓練した学習モデルを評価する検証データセットとを含んでいる。取得される学習用データは、記憶部40に予め記憶されていてもよいし、入力部60が受け付けた入力により与えられてもよい。
【0024】
学習部35は、学習用データを取得すると、訓練データセットを用いて学習モデルを訓練する(ステップS12)。本実施形態の学習部35は、「0」のラベルを付された不良箇所が含まれる画像と、「1」のラベルが付された不良箇所が含まれない画像とを、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)により学習することにより、学習モデルを訓練する。
【0025】
学習部35は、訓練によって得られた学習モデルを用いた不良箇所の有無判定が良いか否かを判定する(ステップS13)。学習部35は、訓練された学習モデルに検証データを入力することで、訓練によって得られた学習モデルを判定する。学習モデルは、分割されたオルソ画像に不良箇所が有る場合には0.5以上の数値を出力し、不良箇所がない場合には0.5未満の数値を出力するように訓練されている。学習部35は、は、検証データセットに含まれる複数の分割されたオルソ画像が学習モデルによって正しく判定された結果、予め設定された閾値(0.5)以上の判定性能が得られるかを判定する。学習部35は、閾値未満の判定性能だった場合には(ステップS14:NO)、ステップS12以降の処理を繰り返す。学習部35は、閾値以上の判定性能だった場合には(ステップS14:YES)、訓練した生成モデルを作成してモデルDBに保存して、学習処理フローを終了する。
【0026】
判定部32は、画像取得部31により取得された撮影画像が修正したオルソ画像を画像認識し、学習部35により作成された学習モデルを用いて、オルソ画像に写っている被検出対象における不良箇所の有無を判定する。判定部32により不良箇所が無いと判定されたオルソ画像は、地図生成部36により生成される地図の元データとして地
図DB42に保存される。判定部32により不良箇所が有ると判定されたオルソ画像は、抽出部33により不良箇所の位置が抽出される。
【0027】
本実施形態の抽出部33は、Score-CAM(Class Acitevation Mapping)のヒートマップ生成の技術を用いて、判定部32により不良箇所と判定された最大の根拠となる位置と、当該位置を含む不良箇所の範囲を抽出する。
【0028】
図4および
図5は、ヒートマップ生成を用いた不良箇所の抽出についての説明図である。
図4には、ある時点で車載カメラ11により撮影された撮影画像が修正されたオルソ画像IM11が示されている。
図4に示されるオルソ画像IM11には、不良箇所として鮮明に道路を撮影できていない不良領域(不良箇所)RG1が含まれている。そのため、判定部32は、オルソ画像IM11について、「0」(<閾値0.5)の数値を出力し、不良箇所を含んでいると判定する。
【0029】
抽出部33は、ヒートマップ生成の技術を用いることにより、
図5に示されるヒートマップMP11を生成する。ヒートマップMP11では、ハッチングの濃さによってスコアの高さが示されている。スコアが高いほど、不良箇所と判定された根拠になる。すなわち、スコアが最も高い位置が、判定部32により不良箇所と判定された最大の根拠となる位置である。ヒートマップMP11では、第1領域RG11のスコアが最も高く、次に第2領域RG12のスコアが高く、次に第3領域RG13のスコアが高い。このように、抽出部33は、不良箇所の位置および範囲として、第1領域RG11,第2領域RG12,第3領域RG13を抽出する。
【0030】
マスク部34は、抽出部33により抽出された不良箇所の内の所定の範囲に対して、不良箇所の画素に対してマスク処理を行う。
図6および
図7は、マスク部34によるマスク処理の説明図である。マスク部34は、マスク対象の画素(すなわち、不良箇所の画素)のアルファチャンネルに対して所定の値を入力することで、マスク処理を行う。アルファチャンネルとは、色表現データとは別に設けられた補助データであって、画素の不透明度を表すアルファ値を格納するデータ領域である。アルファチャンネルに入力する所定の値として、本実施形態では、「透明」を表す0(ゼロ)を用いる。しかし、0に代えて、不良箇所以外の箇所と比較して不透明度が十分に低くなる任意の値が用いられてもよい。この結果、
図6に示されるオルソ画像IM11では、不良領域RG1の内の一部を含むマスク領域MR12には、マスク部34により、アルファチャンネルに0が代入される。なお、本実施形態のマスク部34は、抽出部33により抽出された不良箇所の内、第2領域RG12(
図5)のスコア以上の範囲に対してマスク処理を行う。
【0031】
本実施形態のマスク部34は、
図6に示されるように、マスク領域MR12に対してアルファチャンネルに0を代入し、
図7に示されるように、代入後にマスク領域MR12を黒のオブジェクトに置換する。本実施形態のマスク部34は、アルファチャンネルに0が代入された領域MR12を、黒色のオブジェクトに置換する。本実施形態では、被検出対象の道路以外の領域は黒であり、黒の領域には不良箇所が存在しないことが学習済みである。そのため、マスク部34は、領域MR12を黒に置換した。
【0032】
マスク領域MR12が黒色に置換された
図7のオルソ画像IM12は、黒色に置換されたマスク領域MR12以外の道路において、判定部32により不良箇所の有無が判定される。判定部32は、
図7に示されるオルソ画像IM12について、「0」(<閾値0.5)の数値を出力し、不良箇所を含んでいると判定する。なお、代入後のマスク領域MR12に黒色のオブジェクトを置換する処理も、上述したアルファチャンネルを所定の値(例えば0)にする処理と同様に、「マスク処理」と呼ぶ。
【0033】
図8から
図14までの各図は、繰り返し行われる抽出部33の処理およびマスク部34のマスク処理についての説明図である。抽出部33は、不良箇所を含んでいると判定されたマスク処理後のオルソ画像IM12(
図7)に対して、
図8に示されるヒートマップMP12を生成する。ヒートマップMP12では、スコアの高い順に、第1領域RG21、第2領域RG22、第3領域RG23が不良箇所として抽出部33により抽出されている。
【0034】
図9には、
図7に示されるオルソ画像IM12に対して、抽出部33により抽出された第2領域RG12(
図5)と第2領域RG22(
図8)とを合わせた範囲であるマスク領域MR12,MR22に、アルファチャンネルに0が代入されたオルソ画像IM12が示されている。
図9に示されるように、マスク領域MR12とマスク領域MR22との大きさ、位置、および範囲は異なっている。換言すると、マスク部34は、大きさ及び形状の異なるマスク領域MR12とマスク領域MR22とを組み合わせて、抽出した不良箇所の範囲のアルファチャンネルに0を代入している。
【0035】
抽出部33は、
図9に示されるオルソ画像IM12において、アルファチャンネルに0が代入されたマスク領域MR12,MR22を黒色で置換した
図10に示されるオルソ画像IM13を作成する。
図10に示されるオルソ画像IM13は、判定部32により、黒色に置換されたマスク領域MR12,MR22以外において不良箇所が有るか否かが判定される。本実施形態では、判定部32は、オルソ画像IM13について、「0.3」(<閾値0.5)の数値を出力し、不良箇所を含んでいると判定する。
【0036】
抽出部33は、不良箇所が有ると判定されたマスク処理後のオルソ画像IM13(
図10)に対して、
図11に示されるヒートマップMP13を生成する。ヒートマップMP13では、スコアの高い順に、第1領域RG31、第2領域RG32、第3領域RG33が不良箇所として抽出部33により抽出されている。
【0037】
図12には、
図10に示されるオルソ画像IM13に対して、抽出部33により抽出された第2領域RG12(
図5)および第2領域RG22(
図8)に加えて、第2領域RG32(
図11)を合わせた範囲のアルファチャンネルに0が代入されたオルソ画像IM13が示されている。マスク部34は、
図12に示されるオルソ画像IM13において、アルファチャンネルに0が代入されたマスク領域MR12,MR22,MR32を黒色に置換した
図13に示されるオルソ画像IM14を作成する。
【0038】
図13に示されるオルソ画像IM14は、黒色に置換されたマスク領域MR12,MR22,MR32以外において、判定部32により不良箇所の有無が判定される。本実施形態では、判定部32は、オルソ画像IM14について、「1.0」(≧閾値0.5)の数値を出力し、不良箇所を含んでいないと判定する。この場合に、判定部32は、オルソ画像IM14からマスク領域MR12,MR22,MR23を除いた、
図14のハッチングで示される部分のオルソ画像IM15を、道路地図として生成されるデータの一画像として、地
図DB42に保存する。このように、本実施形態では、判定部32により不良箇所が無いと判定されるまで、判定部32による不良箇所の有無の判定と、抽出部33による不良箇所の抽出と、マスク部34によるマスク処理とが、繰り返し実行される。
【0039】
図1に示される地図生成部36は、マスク部34により地
図DB42に保存されたマスク処理後の複数のオルソ画像を組み合わせることにより、道路地図としての全体オルソ画像を作成する。地図生成部36は、マスク部34により不良箇所としてマスク処理された部分を、同じ地点を撮影している他の車両の撮影画像から修正されたオルソ画像により補完することで、道路地図を生成する。
【0040】
図15は、本実施形態における不良箇所検出処理のフローチャートである。
図15に示されるように、不良箇所検出フローでは、初めに、画像取得部31が、車両10から車載カメラ11が撮影した複数の撮影画像を取得する(ステップS21)。画像取得部31は、撮影画像を用いて位置ずれを修正したオルソ画像を作成する。
【0041】
判定部32は、画像取得部31により修正されたオルソ画像に学習モデルを用いて、オルソ画像に写っている被検出対象(例えば道路)における不良箇所の有無を判定する(ステップS22)。不良箇所が有ると判定された場合には(ステップS23:YES)、抽出部33は、ヒートマップ生成(
図5)の技術を用いて、オルソ画像内の被検出対象における不良箇所の位置および範囲を抽出する(ステップS24)。
【0042】
マスク部34は、抽出部33により抽出された不良箇所にマスク処理を行う(ステップS25)。マスク部34は、
図6および
図7に示されるように、抽出部33により抽出された不良箇所の範囲に対して、アルファチャンネルに0を代入する。その後、マスク部34は、アルファチャンネルに0が代入されたマスク領域MR12に黒色のオブジェクトを配置し、マスク処理後のオルソ画像を作成する。その後、作成されたオルソ画像を対象として、ステップS22以降の処理が繰り返される。
【0043】
ステップS22,S23の処理において、判定部32は、オルソ画像内の被検出対象における不良箇所が無いと判定した場合には(ステップS23:NO)、当該オルソ画像を画像DB41に保存する(ステップS26)。
【0044】
次に、判定部32は、不良箇所を判定する他の撮影画像があり、不良箇所検出フローを継続するか否かを判定する(ステップS27)。判定対象の撮影画像があり、不良箇所抽出フローを継続すると判定された場合には(ステップS27:YES)、画像取得部31は、判定対象である撮影画像を取得し(ステップS21)、ステップS22以降の処理が繰り返される。不良箇所検出フローを継続しないと判定された場合には(ステップS27:NO)、不良箇所検出フローを終了する。その後、地図生成部36は、ステップS26の処理において画像DB41に保存された複数のオルソ画像を用いて、1枚の全体オルソ画像を作成する。
【0045】
以上説明したように、本実施形態の地図生成装置20の判定部32は、画像内の被検出対象である道路における不良箇所の有無を判定する。抽出部33は、画像内の不良箇所の位置を抽出する。マスク部34は、抽出部33により抽出された不良箇所の位置に対して、例えば
図6に示されるように、不良箇所の画素に対してマスク処理を行う。また、本実施形態では、判定部32により不良箇所が無いと判定されるまで、判定部32による不良箇所の有無の判定と、抽出部33による不良箇所の抽出と、マスク部34によるマスク処理とは、繰り返し実行される。そのため、本実施形態の地図生成装置20では、画像内の被検出対象における不良箇所に対して、繰り返しのマスク処理が行われる。すなわち、一度のマスク処理ではなく、複数回のマスク処理により、不良箇所がマスクされる。これにより、抽出部により不良箇所で無い箇所が誤って抽出されることが抑制される。換言すれば、画像内の被検出対象における不良箇所の位置が同定されて、不良箇所のみができるだけ抽出される。この結果、不良箇所の抽出後である不良で無い箇所の被検出対象を含む画像を用いることにより、例えば、正しい道路地図などの精度の高い画像を作成できる。
【0046】
また、本実施形態の抽出部33は、ヒートマップ生成の技術を用いて、判定部32により不良箇所と判定された最大の根拠となる位置と、当該位置を含む不良箇所の範囲を抽出する。すなわち、本実施形態では、不良箇所と判定された最大の根拠となる位置に加えて、当該位置を含む周囲の範囲も同時に抽出される。これにより、最大の根拠となる位置のみが抽出される場合と比較して、判定部32の判定と、抽出部33の抽出と、マスク部34によるマスク処理との繰り返し回数を少なくできる。この結果、本実施形態の地図生成装置20は、不良箇所の抽出を迅速に行うことができる。また、マスク部34は、不良箇所の画素におけるアルファチャンネルに所定の値(上記実施形態では、0)を代入することで、不良箇所の不透明度を0とできる。また、マスク部34は、アルファチャンネルに、不良箇所以外の箇所と比較して不透明度を十分に低くするような値を入力することで、不良箇所の不透明度を低下させてもよい。このようにしてマスク部34は、不良箇所を簡単にマスクできる。
【0047】
また、本実施形態のマスク部34は、
図9に示されるように、大きさ及び形状の異なるマスク領域MR12とマスク領域MR22とを組み合わせて、抽出した不良箇所の範囲におけるアルファチャンネルに0を代入した後に、黒のオブジェクトを配置している。すなわち、本実施形態では、判定部32の判定と、抽出部33の抽出と、マスク部34によるマスク処理とが繰り返されることにより、不良箇所の範囲を徐々に広くしていく。これにより、一度で不良箇所の範囲をマスクする場合と比較して、不良箇所としてオブジェクトが配置される範囲が小さくなる。この結果、本実施形態の地図生成装置20は、不良箇所でない箇所を誤って抽出することをさらに抑制できる。
【0048】
また、本実施形態のマスク部34は、
図6に示されるマスク領域MR12を、
図7に示されるように、不良箇所が存在しないことが学習済みの色相である黒のオブジェクトに置換する。すなわち、マスク部34は、不良箇所ではない色でマスク領域MR12を置換する。そのため、マスク処理後に繰り返し行われる判定部32による判定および抽出部33による抽出で、マスク処理されたマスク領域MR12が不良箇所として抽出されるおそれを抑制できる。
【0049】
また、本実施形態の学習部35は、予め用意された複数の道路のオルソ画像を含む訓練データセットを用いて深層学習を行うことにより、判定部32が不良箇所の有無の判定に用いる学習モデルを作成する。すなわち、深層学習によって得られた学習モデルを用いて判定部32による不良箇所が判定されるため、判定の精度が向上する。
【0050】
<上記実施形態の変形例>
本発明は上記の実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0051】
上記実施形態の地図生成装置20は、画像内の被検出対象の不良箇所を検出する不良箇所検出装置の一例であったが、不良箇所検出装置については、上記実施形態が備える構成等に限られずに種々変形可能である。例えば、変形例の不良箇所検出装置は、地図生成システム100の構成ではなく、1つの装置として独立していてもよく、地図を生成する機能を有していなくてもよい。マスク部34は、不良箇所の画素に対するマスク処理として、当該画素のアルファチャンネルに所定の値である0を代入していたが、これ以外の方法が採用されてもよく、周知の技術を適用できる。
【0052】
不良箇所が検出される被検出対象は道路以外でもよい。また、不良箇所が抽出される画像は、オルソ画像に限られず、車載カメラ11の撮影画像そのものであってもよい。この場合に、画像取得部31は、取得した撮影画像からオルソ画像を作成しなくてもよい。上記実施形態では、学習モデルの作成に、予め用意された検証データセットと訓練データセットとを含む学習用データが用いられたが、他のデータが用いられてもよい。例えば、学習部35は、所定の地域の車載カメラ11の撮影画像を用いて学習モデルを作成し、所定の地域と異なる地域の撮影画像に対して、作成した学習モデルを用いてもよい。
【0053】
上記実施形態の抽出部33は、Score-CAM[1]のヒートマップ生成の技術を用いて不良箇所を抽出したが、ヒートマップを用いない他の方法を用いて不良箇所を抽出してもよい。抽出部33は、Grad-CAM[2]の技術を用いてもよいし、ヒートマップ生成以外の技術を用いてもよい。
【0054】
マスク部34によるマスク処理は、抽出部33により抽出された不良箇所と判定された位置のアルファチャンネルに0を代入した後に、当該位置を含む周りの範囲を黒のオブジェクトで置換したが、他の方法が用いられてもよい。マスク部34は、アルファチャンネルに0を代入した後に、その後の黒のオブジェクトの置換の処理を行わなくてもよい。また、マスク部34は、不良箇所と判定された範囲のアルファチャンネルに0を代入する代わりに、黒のオブジェクトを配置して、その後に任意に設定された、不良箇所が存在しないことが学習済みである異なる色相に置換してもよい。
【0055】
マスク部34は、繰り返しのマスク処理において、同スコアのマスク領域MR12(
図6)とマスク領域MR22(
図9)とに対して黒色のオブジェクトを配置したが、マスク領域の設定については種々変形可能である。例えば、マスク部34は、1回目のマスク処理と、2回目のマスク処理とで、アルファチャンネルに0を代入する範囲のスコアを変更してもよい。例えば、マスク部34は、判定部32により各オルソ画像に対して出力される数値の大きさ(0~1)に応じて、アルファチャンネルに0を代入する際の基準となるスコアを変更してもよい。また、マスク部34は、繰り返されるマスク処理において、アルファチャンネルに0を代入する範囲の大きさ及び形状を常に一定に設定してもよい。
【0056】
上記実施形態において、ハードウェアによって実現されるとした構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されるとした構成の一部をハードウェアに置き換えるようにしてもよい。本発明は上記の実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能である。
【0057】
以上、実施形態、変形例に基づき本態様について説明してきたが、上記した態様の実施の形態は、本態様の理解を容易にするためのものであり、本態様を限定するものではない。本態様は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本態様にはその等価物が含まれる。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することができる。
【符号の説明】
【0058】
10…車両
11…車載カメラ
20…地図生成装置(不良箇所検出装置)
21…ROM
22…RAM
30…CPU
31…画像取得部
32…判定部
33…抽出部
34…マスク部
35…学習部
36…地図生成部
40…記憶部
50…通信部
60…入力部
70…出力部
100…地図生成システム
41…画像DB
42…地
図DB
43…モデルDB
IM1~IM3…分割画像
IM11~IM15…オルソ画像
MP11~MP13…ヒートマップ
MR12,MR22…マスク領域
RG1…不良領域(不良箇所)
RG11,RG21,RG31…第1領域
RG12,RG22,RG32…第2領域
RG13,RG23,RG33…第3領域