JP2021189595A - 画像認識装置、学習装置、画像認識方法、学習方法、画像認識プログラムおよび学習プログラム - Google Patents
画像認識装置、学習装置、画像認識方法、学習方法、画像認識プログラムおよび学習プログラム Download PDFInfo
- Publication number
- JP2021189595A JP2021189595A JP2020092317A JP2020092317A JP2021189595A JP 2021189595 A JP2021189595 A JP 2021189595A JP 2020092317 A JP2020092317 A JP 2020092317A JP 2020092317 A JP2020092317 A JP 2020092317A JP 2021189595 A JP2021189595 A JP 2021189595A
- Authority
- JP
- Japan
- Prior art keywords
- threshold value
- output
- threshold
- image recognition
- image data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
【課題】撮影条件の如何に関わらず、機械学習モデルを用いて精度よく画像を認識することができるように閾値を設定する画像認識装置、学習装置、画像認識方法、学習方法、画像認識プログラムおよび学習プログラムを提供する。【解決手段】画像認識システムは、畳み込み型ニューラルネットワークである特徴抽出部に画像データを入力して画像の特徴量を抽出させ、当該特徴量を用いてデコード部にバウンディングボックスの情報とクラス情報とを出力させ、NMS部にバウンディングボックスを取捨選択させる。これと並行して、GAP部に画像得データの特徴量の平均値を算出させ、当該平均値を用いてFC層にバウンディングボックスの確信度の閾値を予測させる。確信度閾値処理部は、BB毎に確信度と閾値とを比較して、バウンディングボックスを取捨選択する。【選択図】図4
Description
本開示は、画像認識装置、学習装置、画像認識方法、学習方法、画像認識プログラムおよび学習プログラムに関し、特に、認識対象となる画像の撮影条件が変動しても、機械学習モデルを用いて精度よく画像を認識する技術に関する。
近年、セキュリティ監視における不審者の発見や、マーケティング解析における消費者の行動分析などを目的として、監視カメラで撮影した画像に含まれている人物や物体といったオブジェクトを検出する画像認識技術に対する需要が高まっている。このような技術として、機械学習モデルが注目されており、特に畳み込み型ニューラルネットワーク(CNN: Convolutional Neural Network)が有望視されている。
畳み込み型ニューラルネットワークを用いて画像認識を行う場合、例えば、学習データとして画像データを入力し、当該画像データに検出したいオブジェクトが含まれている場合には、当該オブジェクトに該当するラベルを指示する教師データを用いて機械学習を行う。このようにすれば、畳み込み型ニューラルネットワークに所望の画像データを入力することによって、ラベル毎に、画像データに含まれているオブジェクトが当該ラベルに該当する尤度を出力させることができる。
画像データに含まれているオブジェクトがどのラベルにも該当しない場合や、画像データに何もオブジェクトが含まれていない場合もあり得ることから、どのラベルに該当するオブジェクトが画像データに含まれているかを決定する際には、閾値が用いられる。すなわち、ラベル毎に尤度と閾値とを比較して、尤度が閾値を超えているラベルを正解ラベルとし、正解ラベルに該当するオブジェクトが画像データに含まれていると判定する。
正解ラベルを特定するために用いる閾値を、例えば、人手で試行錯誤しながら調整するのは、作業者の負担が多く、また、その割には十分な精度を得ることが難しい。
このような問題に対して、例えば、学習データについて、正解ラベルの尤度の度数分布と、不正解ラベルの度数分布とを求め、これらの2つの度数分布から正解ラベルと不正解ラベルとを区別するための尤度の閾値を特定する装置が提案されている(例えば、特許文献1を参照)。この装置によれば、正解ラベルを特定するために適切な閾値を、人手を煩わせることなく、自動的に特定することができる。
画像データにおけるオブジェクトの撮像状態は必ずしも一定せず、時間や季節、気象条件などといった撮影条件に左右され易い。このため、学習データについては正解ラベルを特定するのに適切な閾値であっても、画像データの撮影条件によっては必ずしも適切ではなくなって、正解ラベルを精度よく特定することができなくなることも珍しくない。
撮影条件のうち、例えば、明度については、画像データ全体の平均明度と、適切な閾値との関係を予め機械学習しておき、当該機械学習を行った機械学習モデルに、画像認識の対象となる画像データを入力して、適切な閾値を算出する技術が提案されている(例えば、特許文献2を参照)。また、画像データの平均明度に代えて、撮像時に照度センサーを用いて検出した背景照度を用いてもよい。
このようにすれば、画像データの撮影時の明度が変化しても、適切な閾値を算出することができるので、画像認識の精度を向上させることができる。
しかしながら、画像データにおけるオブジェクトの撮像状態に影響を与える撮影条件が、明るさだけに止まらないのは言うまでもなく、被写体やカメラの振動などに起因するブレや、煙や雨、雪、霧などが被ったり、遠景に人物などが多く写り込んだりする場合もある。このような場合には、画像データの平均明度だけから閾値を適切に決定することは難しい。
また、撮影条件を表すアノテーションを人手で追加したのでは、自動的に画像認識を行うメリットが大きく損なわれてしまう。アノテーションを追加する手間は、目視で画像を確認する手間よりも大して軽くはないからである。
本開示は、上述のような問題に鑑みて為されたものであって、撮影条件の如何に関わらず、機械学習モデルを用いて精度よく画像を認識することができるように閾値を設定する画像認識装置、学習装置、画像認識方法、学習方法、画像認識プログラムおよび学習プログラムを提供することを目的とする。
上記目的を達成するため、本開示の一形態に係る画像認識装置は、画像中でのオブジェクトの位置を検出する画像認識装置であって、画像中における前記オブジェクト位置を予測する位置予測手段と、前記予測位置ごとに確信度を出力する確信度出力手段と、前記確信度と比較して、当該予測位置にオブジェクトがあるか否かを判定するための閾値を予測する閾値予測手段と、前記予測位置ごとに当該確信度を前記閾値と比較して、オブジェクトがあると判定された予測位置をオブジェクト位置として選択する位置選択手段と、を備え、前記閾値予測手段は、機械学習モデルに画像データを入力して算出させた値を閾値の予測値とすることを特徴とする。
この場合において、前記閾値予測手段は、機械学習モデルに画像データを入力し、当該画像データの撮影条件のうち、少なくとも当該画像データの平均明度以外の撮影条件に応じて算出させた値を閾値の予測値としてもよい。
また、前記閾値予測手段は、予め設定した複数の閾値候補から閾値を選択してもよい。
また、前記確信度出力手段は、前記予測位置の確信度とともに、前記予測位置ごとに当該位置にあるオブジェクトのクラスの確信度を出力し、前記閾値予測手段は、オブジェクトのクラス毎に閾値を予測してもよい。
また、前記確信度出力手段は、画像データの入力を受け付ける特徴抽出部と、前記特徴抽出部の出力を入力とするデコード部と、を有する畳み込み型ニューラルネットワークに画像を入力して、前記確信度を出力させ、前記閾値予測手段は、前記前記特徴部の出力を入力とする、前記デコード部とは別の第2のニューラルネットワークに画像データを入力して前記閾値を出力させてもよい。
また、前記確信度出力手段は、畳み込み型ニューラルネットワークに画像を入力して、前記確信度を出力させ、前記閾値予測手段は、前記畳み込み型ニューラルネットワークとは別のニューラルネットワークに画像データを入力して前記閾値を出力させてもよい。
また、本開示の一形態に係る学習装置は、本開示の一形態に係る画像認識装置の前記畳み込み型ニューラルネットワーク並びに第2のニューラルネットワークに用いる学習パラメーターを生成する学習装置であって、前記畳み込み型ニューラルネットワークに、画像データを入力して、前記予測位置を出力させる予測位置出力手段と、前記第2のニューラルネットワークに、前記画像データを入力して、前記閾値を出力させる閾値出力手段と、予測位置出力手段が出力した予測位置を独立変数とする第1の損失関数と、前記閾値出力手段が出力した閾値を独立変数とする第2の損失関数と、を用いて、誤差逆伝搬法によって前記学習パラメーターを更新することを特徴とする。
また、前記第2の損失関数は、前記閾値出力手段が出力した閾値と、教師データとして用意された閾値の正解と、差を自乗する関数であってもよい。
また、前記第2の損失関数は、所定の再現率を満たすことを条件として、適合率を最大化する閾値を正解として用いて誤差を算出してもよい。
また、前記第2の損失関数は、所定の適合率を満たすことを条件として、再現率を最大化する閾値を正解として用いて誤差を算出してもよい。
また、前記第2の損失関数は、F値を最大にする閾値を正解として用いて誤差を算出してもよい。
また、前記予測位置出力手段並びに前記閾値出力手段はどちらも、前記画像データとして、互いに閾値の正解が異なる複数の画像データを入力してもよい。
また、前記複数の画像データは、少なくとも明度以外の撮影条件が互いに異なっている画像データを含んでいてもよい。
また、本開示の一形態に係る画像認識方法は、画像中でのオブジェクトの位置を検出する画像認識方法であって、画像中における前記オブジェクト位置を予測する位置予測ステップと、前記予測位置ごとに確信度を出力する確信度出力ステップと、前記確信度と比較して、当該予測位置にオブジェクトがあるか否かを判定するための閾値を予測する閾値予測ステップと、前記予測位置ごとに当該確信度を前記閾値と比較して、オブジェクトがあると判定された予測位置をオブジェクト位置として選択する位置選択ステップと、を含み、前記閾値予測ステップは、機械学習モデルに画像データを入力して算出させた値を閾値の予測値とすることを特徴とする。
また、本開示の一形態に係る学習方法は、本開示の一形態に係る画像認識装置の前記畳み込み型ニューラルネットワーク並びに第2のニューラルネットワークに用いる学習パラメーターを生成する学習方法であって、前記畳み込み型ニューラルネットワークに、画像データを入力して、前記予測位置を出力させる予測位置出力ステップと、前記第2のニューラルネットワークに、前記画像データを入力して、前記閾値を出力させる閾値出力ステップと、前記予測位置出力ステップで出力した予測位置を独立変数とする第1の損失関数と、前記閾値出力ステップで出力した閾値を独立変数とする第2の損失関数と、を用いて、誤差逆伝搬法によって前記学習パラメーターを更新する更新ステップと、を含むことを特徴とする。
また、本開示の一形態に係る画像認識プログラムは、コンピューターに画像中でのオブジェクトの位置を検出させる画像認識プログラムであって、画像中における前記オブジェクト位置を予測する位置予測ステップと、前記予測位置ごとに確信度を出力する確信度出力ステップと、前記確信度と比較して、当該予測位置にオブジェクトがあるか否かを判定するための閾値を予測する閾値予測ステップと、前記予測位置ごとに当該確信度を前記閾値と比較して、オブジェクトがあると判定された予測位置をオブジェクト位置として選択する位置選択ステップと、をコンピューターに実行させ、前記閾値予測ステップは、機械学習モデルに画像データを入力して算出させた値を閾値の予測値とさせることを特徴とする。
また、本開示の一形態に係る学習プログラムは、本開示の一形態に係る画像認識装置の前記畳み込み型ニューラルネットワーク並びに第2のニューラルネットワークに用いる学習パラメーターをコンピューターに生成させる学習プログラムであって、前記畳み込み型ニューラルネットワークに、画像データを入力して、前記予測位置を出力させる予測位置出力ステップと、前記第2のニューラルネットワークに、前記画像データを入力して、前記閾値を出力させる閾値出力ステップと、前記予測位置出力ステップで出力した予測位置を独立変数とする第1の損失関数と、前記閾値出力ステップで出力した閾値を独立変数とする第2の損失関数と、を用いて、誤差逆伝搬法によって前記学習パラメーターを更新する更新ステップと、をコンピューターに実行させることを特徴とする。
このようにすれば、撮影する環境や物体の条件(明暗、ブレ有無、煙有無、雨・雪・霧有無、遠方に映る人(小さい人)が多い、等)といった撮影条件を検出するために専用のセンサーを追加しなくても、また、撮影条件を示すアノテーションを加えなくても、機械学習モデルを用いて撮影条件に応じた適切な閾値を予測するので、撮影条件が変化しても、人手を煩わせることなく、オブジェクト位置を精度よく特定することができる。
以下、本開示に係る画像認識装置、学習装置、画像認識方法、学習方法、画像認識プログラムおよび学習プログラムの実施の形態について、図面を参照しながら説明する。
[1]画像認識システムの構成
まず、本実施の形態に係る画像認識システムの構成について説明する。
[1]画像認識システムの構成
まず、本実施の形態に係る画像認識システムの構成について説明する。
図1に示すように、画像認識システム1は、画像認識装置100、ストレージ101および撮影装置102を通信ネットワーク103にて接続したものである。撮影装置102は撮影によって画像データを生成する。撮影装置102が生成した画像データはストレージ101に格納される。
画像認識装置100はいわゆるコンピューターであって、畳み込み型ニューラルネットワークを用いた画像認識プログラムが搭載されている。画像認識装置100は、ストレージ101から画像データを読み出して畳み込み型ニューラルネットワークに入力し、画像に含まれているオブジェクトを囲んでいると予測したバウンディングボックス(BB: Bounding Box)と、当該オブジェクトが何であるかを表すラベルとともに出力する。画像認識装置100は、ストレージ101から画像データと教師データを読み出して、畳み込み型ニューラルネットワークに機械学習を行わせる。教師データは、当該画像データに含まれているオブジェクトのBB、確信度およびラベルである。
図2に示すように、画像認識装置100は、CPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203等を備えている。CPU201は、画像認識装置100に電源が投入される等してリセットされると、ROM202からブートプログラムを読み出して起動し、RAM203を作業用記憶領域として、HDD(Hard Disk Drive)204から読み出した画像認識プログラム205やOS(Operating System)206といったプログラムを実行する
NIC(Network Interface Card)207は、通信ネットワーク103を経由してストレージ101や撮影装置102と通信するための処理を実行する。これによって、ストレージ101から画像データを読み出して、画像認識プログラム205による畳み込み型ニューラルネットワークを用いた画像認識を行った後、認識結果をストレージ101に格納することができる。また、画像認識プログラム205の畳み込み型ニューラルネットワークに機械学習をさせる際には、ストレージ101から画像データおよび教師データが読み出される。
[2]画像認識プログラム205
次に、画像認識装置100が実行する画像認識プログラム205について説明する。
NIC(Network Interface Card)207は、通信ネットワーク103を経由してストレージ101や撮影装置102と通信するための処理を実行する。これによって、ストレージ101から画像データを読み出して、画像認識プログラム205による畳み込み型ニューラルネットワークを用いた画像認識を行った後、認識結果をストレージ101に格納することができる。また、画像認識プログラム205の畳み込み型ニューラルネットワークに機械学習をさせる際には、ストレージ101から画像データおよび教師データが読み出される。
[2]画像認識プログラム205
次に、画像認識装置100が実行する画像認識プログラム205について説明する。
図3に示すように、画像認識プログラム205は、画像データ301を確信度処理部302に入力する。確信度処理部302は畳み込み型ニューラルネットワークとNMS(Non-Maximum Suppression)アルゴリズムとを組み合わせたものである。畳み込み型ニューラルネットワークは、特徴抽出部311、デコード部312、GAP(Global Average Pooling)321およびFC層(Fully Connected)322を備えている。
特徴抽出部311は、畳み込み層とプーリング層を交互に積層した構成を備えている。特徴抽出部311は、画像データを入力されると特徴量を抽出する。特徴抽出部311が抽出した特徴量は、デコード部312とGAP部321とにそれぞれ入力される。
デコード部312は、特徴抽出部311から特徴量を受け付けると、オブジェクトを囲んでいると予測したバウンディングボックス303ごとに、位置(x座標およびy座標)、大きさ(幅と高さ)および確信度(バウンディングボックスがオブジェクトを囲んでいるか)を出力するとともに、当該バウンディングボックス303に囲まれているオブジェクトのクラス情報(当該オブジェクトが何か)を出力する。
NMS部313は、デコード部312が出力したバウンディングボックス303どうしでIoU(Intersection over Union)を算出し、IoUが所定の閾値よりも大きい場合には、一方のバウンディングボックス303を採用して、他方のバウンディングボックス303を破棄する。従って、NMS部313が出力するバウンディングボックス303どうしはIoUが所定の閾値よりも小さいので、互いに異なるオブジェクトを囲んでいる可能性が高くなる。
一方、GAP部321は、特徴抽出部311が出力した特徴量の平均値をチャネル毎に算出して出力する。FC層322は、GAP部321が出力した平均値から閾値306を算出する。
確信度閾値処理部304は、NMS部が出力したバウンディングボックス303ごとに確信度を閾値306と比較して、確信度が閾値306を超えるバウンディングボックス303を取捨選択する。これによって、最終的なバウンディングボックス303が確定する。
図4は、画像認識プログラム205に従って画像認識装置100が実行する処理を表すフローチャートである。画像認識処理を実行する際には、画像認識装置100は、図4に示すように、画像認識の対象となる画像データを特徴抽出部311に入力し(S401)、特徴抽出部311が出力した特徴量をデコード部312に入力して、オブジェクトを囲んでいると予測したバウンディングボックス303の情報ならびにクラス情報を出力させる(S402)。更に、NMS部313にて、デコード部312が出力したバウンディングボックス303どうしのIoUとIoUの閾値とを比較して、オブジェクト毎に当該オブジェクトを囲んでいると思われるバウンディングボックス303を取捨する。
また、特徴抽出部311が出力した特徴量の平均値をGAP部321で求め(S404)、当該平均値を用いてFC層322で閾値を算出する(S405)。最後に、確信度閾値処理部304にて、バウンディングボックス303毎に確信度と閾値とを比較して、確信度が閾値を超えているバウンディングボックス303を選択する(S406)。
[3]機械学習時の動作
次に、機械学習時における画像認識装置100の動作について説明する。
[3]機械学習時の動作
次に、機械学習時における画像認識装置100の動作について説明する。
図5は、機械学習時におけるデータの流れを表しており、図6は、機械学習時における画像認識装置100の動作を表すフローチャートである。
機械学習を実行する際には、画像認識装置100は、まず、学習回数を表す作業用の変数の値を0に初期化する(S601)。次に、ストレージ101から機械学習用の画像データを読み出して、特徴抽出部311に入力し、特徴量を出力させる(S602)。当該特徴量をデコード部312に入力して、オブジェクトを囲んでいると予測したバウンディングボックス303毎に位置、大きさおよび確信度を出力させるとともに、クラスの情報を出力させる(S603)。
画像認識装置100は、ストレージ101からバウンディングボックスおよびクラス情報の正解(教師データ)を読み出して(S604)、両者をオブジェクト検出用の損失関数f1に代入して第1の損失を算出する(S605)。
例えば、YOLO(You Only Look Once)を用いて、画像をS×S個のブリッドに分割し、グリッド毎にB個のバウンディングボックス303を予測して、第1の損失を算出する場合には、オブジェクト検出用の損失関数f1として次式(1)のような損失関数を用いてもよい。
λcoordはバウンディングボックス303の回帰損失に対する重みであり、λnoobjはグリッド内にオブジェクト(GT: Ground Truth)が存在しない場合に対する重みである。1obj ijはグリッド内にオブジェクト(GT)が存在する場合に値1をとり、グリッド内にオブジェクト(GT)が存在しない場合には値0をとる。逆に、1noobj ijはグリッド内にオブジェクト(GT)が存在しない場合に値1をとり、グリッド内にオブジェクト(GT)が存在する場合には値0をとる。
また、x、yはバウンディングボックス303の位置を表す座標値であり、w、hはバウンディングボックス303の幅と高さである。Cは、当該バウンディングボックス303に囲まれているオブジェクトが存在する否かを示す確信度である。p(c)はバウンディングボックス303に囲まれているオブジェクトがクラスcに分類されているか否かを示す確信度である。なお、記号「^」はGTの値を示している。
式(1)の第1項と第2項との和は、バウンディングボックス303の予測位置精度を高める損失関数である。第3項と第4項との和は、オブジェクトが存在するか否かの確信度を高める損失関数である。また、第5項はオブジェクトのクラス分類の確信度を高める損失関数である。
さて、図5、6に戻って、画像認識装置100は、GAP部321にて、特徴出部311が出力した特徴量の平均値を算出し(S606)、FC層322にて、GAP部321が算出した平均値から閾値を算出する(S607)とともに、ストレージ101から閾値の正解(教師データ)を読み出して(S608)、両者を閾値予測用の損失関数f2に代入して第2の損失を算出する(S609)。
閾値予測用の損失関数f2としては、例えば、式(2)のような損失関数を用いてもよい。
(予測閾値 − 正解閾値)2 …(2)
ここで、予測閾値はFC層322が出力した閾値である。
ここで、予測閾値はFC層322が出力した閾値である。
正解閾値は、例えば、当該学習用の画像データについてデコード部312が出力したバウンディングボックス303について、再現率が所定値を超える範囲内で適合率が最大となる閾値としてもよい。ここで、再現率とは、画像に含まれているオブジェクト全体に対する、デコード部312が出力したバウンディングボックス303に囲まれているオブジェクトの割合をいう。また、適合率とは、デコード部312が出力したバウンディングボックス303全体に対する、オブジェクトを囲んでいるバウンディングボックス303の割合である。
このような正解閾値を用いて機械学習を実行すれば、オブジェクトの検出漏れを抑制することができる。例えば、画像認識装置100を用いて、防犯カメラで撮影した画像を認識する場合に、不審者や侵入者などの検出漏れを抑制することができるので、高い防犯性能を達成することができる。
また、正解閾値は、当該学習用の画像データについてCNN+NMS302が出力したバウンディングボックス303について、適合率が所定値を超える範囲内で再現率が最大となる閾値としてもよい。このような正解閾値を用いて機械学習を実行すれば、オブジェクトの誤検出を抑制することができる。例えば、画像認識装置100をマーケティング解析に利用する場合には、消費者行動の誤検出を抑制して、解析精度を向上させることができる。
更に、バウンディングボックス303の検出漏れと誤検出とをともに最小限に抑制したい場合には、次式(3)で定義するF値が最大になる閾値を正解閾値にしてもよい。
次に、損失関数を用いて損失を算出する(S610)。損失関数は、第1の損失と第2の損失とを独立変数とする関数であって、例えば、第1の損失と第2の損失との重み付き和であってもよい。その後、損失を用いて誤差逆伝播法による機械学習を実行する(S611)。
誤差伝播法による機械学習を実行した後、学習回数と予め設定した回数(閾値)とを比較して、学習回数が設定回数よりも少ない場合には(S612:YES)、学習回数を1回だけ増加させた後(S613)、ステップS602へ進んで、上記の処理を繰り返す。学習回数が設定した回数に到達した場合には(S612:NO)、機械学習によって生成した学習パラメーターをストレージ101に保存して(S614)、機械学習を終了する。
なお、学習用の画像データは、撮影条件の違いに応じて、互いに閾値の正解が異なっている複数の画像データが含まれている。撮影条件とは、例えば、明るさや、被写体やカメラの振動などに起因するブレ、煙や雨、雪、霧などが被ったり、遠景に人物などが多く写り込んでいるか等であり、これら以外の撮影条件の下で撮影された画像データが含まれていてもよい。
また、画像データを加工することによって、さまざまな撮影条件を模擬した学習用の画像データを生成してもよい。特に、平均明度以外の撮影条件で撮影された画像データにおいて精度よく物体を検出するためには、撮影条件のうち平均明度以外の撮影条件が互いに異なっている複数の画像データを学習用の画像データとするのが望ましい。
また、撮影条件のうち平均明度以外の撮影条件が互いに異なっている複数の画像データには、平均明度についても互いに異なっている画像データが含まれていてもよい。言い換えると、少なくとも平均明度以外の撮影条件が互いに異なっている複数の画像データを学習用の画像データとして、撮影条件に応じた閾値を出力する機械学習を進めるのが望ましい。
このような画像データを学習用に用いて、上述のように機械学習を行えば、撮影条件などから影響を受けた画像であっても、少なくとも平均明度以外の撮影条件に応じて閾値を適切に設定することができるので、精度よくオブジェクトの位置を検出することができる。
[4]変形例
以上、本開示を実施の形態に基づいて説明してきたが、本開示が上述の実施の形態に限定されないのは勿論であり、以下のような変形例を実施することができる。
(4−1)上記実施の形態においては、FC層322がバウンディングボックス303の確信度の閾値を出力する場合を例にとって説明したが、本開示がこれに限定されないのは言うまでもなく、これに代えて次のようにしてもよい。
[4]変形例
以上、本開示を実施の形態に基づいて説明してきたが、本開示が上述の実施の形態に限定されないのは勿論であり、以下のような変形例を実施することができる。
(4−1)上記実施の形態においては、FC層322がバウンディングボックス303の確信度の閾値を出力する場合を例にとって説明したが、本開示がこれに限定されないのは言うまでもなく、これに代えて次のようにしてもよい。
例えば、図7に示すように、FC層322の後段にSoftmax部701を設けて、閾値が0.1から0.9までの0.1刻みの値のどれであるかの確信度(確率)702を出力し、最も確信度が高い閾値を採用してもよい。Softmax部701は、FC層322の出力を受け付けると、0.1から0.9までの閾値の確信度の合計が1になるように、各閾値の確信度を算出する。
このようにすれば、画像認識装置100が出力する閾値が1や0といった外れ値を取らなくなるので、機械学習を安定化することができる。なお、閾値の候補の個数が9個に限定されないのは言うまでもなく、他の個数であってもよいし、候補となる閾値の間隔は等間隔でなくてもよい。
(4−2)上記実施の形態においては、バウンディングボックス303に囲まれるオブジェクトのクラスが異なっていても共通の閾値を用いる場合を例にとって説明したが、本開示がこれに限定されないのは言うまでもなく、これに代えて次のようにしてもよい。
(4−2)上記実施の形態においては、バウンディングボックス303に囲まれるオブジェクトのクラスが異なっていても共通の閾値を用いる場合を例にとって説明したが、本開示がこれに限定されないのは言うまでもなく、これに代えて次のようにしてもよい。
例えば、図8に示すように、FC層322によって、オブジェクトのクラス毎に閾値306´を出力してもよい。この場合には、確信度閾値処理部304は、NMS部が出力したバウンディングボックス303ごとに、当該バウンディングボックス303に囲まれているオブジェクトのクラスに対応する閾値306´を、当該バウンディングボックス303の確信度と比較して、バウンディングボックス303を取捨選択すればよい。
このようにすれば、撮影条件の変化による影響の出方や影響の程度がオブジェクトのクラスによって異なっているような場合に、オブジェクトのクラスごとに適切な閾値306´を採用して、オブジェクトを囲んでいるバウンディングボックス303を精度よく特定することができる。
例えば、夜間に撮影した画像では、車両はライトを点灯することによって背景とのコントラストが高くなるのに対して、人物は背景とのコントラストが低くなる傾向がある。このような場合には車両と人物とで閾値を異ならせることによって、同じ画像に含まれている車両と人物との両方を精度よく検出することができる。
(4−3)上記実施の形態においては、共通の特徴抽出部311をオブジェクトの検出と閾値の予測との両方に共用する場合を例にとって説明したが、本開示がこれに限定されないのは言うまでもなく、これに代えて次のようにしてもよい。
(4−3)上記実施の形態においては、共通の特徴抽出部311をオブジェクトの検出と閾値の予測との両方に共用する場合を例にとって説明したが、本開示がこれに限定されないのは言うまでもなく、これに代えて次のようにしてもよい。
すなわち、オブジェクト検出用の特徴抽出部311と、閾値予測用の特徴抽出部311´とを別々に設けてもよい。特徴抽出部311として畳み込み型ニューラルネットワークを採用した場合、畳み込み層の層数が多いほど画像認識装置100の処理負荷が高くなり、処理に時間を要するようになる。一方、画像認識装置100の処理負荷を軽減し、処理時間を短縮することを目的として、畳み込み層の層数を少なくし過ぎると、オブジェクト検出と閾値予測との両方に有効な特徴を画像から抽出することが難しくなる。
このような問題に対して、オブジェクト検出用の特徴抽出部311と、閾値予測用の特徴抽出部311´とを別々に設ければ、画像認識装置100の処理負荷を軽減し、処理時間を短縮しながら、オブジェクト検出と閾値予測との両方を精度よく実行することができる。
また、この場合において、畳み込み層の層数は、オブジェクト検出用の特徴抽出部311と閾値予測用の特徴抽出部311´とで異なっていてもよい。畳み込み型ニューラルネットワークの使用目的に応じて、畳み込み層の層数を最適化すれば、画像認識装置100の処理負荷の軽減や、処理時間の短縮と、オブジェクト検出や閾値予測の精度向上とをよりよく両立させることができる。
(4−4)機械学習の初期においては、オブジェクトの検出精度が低いため、オブジェクトを囲んでいるバウンディングボックス303であるTP(True Positive)が1つも無い場合があり得る。一方、バウンディングボックス303の確信度の閾値を予測するための機械学習を進めるためにはTPとなるバウンディングボックス303が必要となる。このため、機械学習の初期においては、閾値予測のための機械学習がなかなか進まない恐れがある。
(4−4)機械学習の初期においては、オブジェクトの検出精度が低いため、オブジェクトを囲んでいるバウンディングボックス303であるTP(True Positive)が1つも無い場合があり得る。一方、バウンディングボックス303の確信度の閾値を予測するための機械学習を進めるためにはTPとなるバウンディングボックス303が必要となる。このため、機械学習の初期においては、閾値予測のための機械学習がなかなか進まない恐れがある。
このような問題に対して、閾値予測のための機械学習に先立って、オブジェクト検出のための機械学習を進めておき、TPとなるバウンディングボックス303をある程度高い確度で検出することができるようになってから、閾値予測のための機械学習を行ってもよい。このようにすれば、閾値予測の機械学習を効率よく進めることができる。
なお、オブジェクト検出のための学習については従来技術を採用すれば、実行することができる。また、閾値予測の機械学習を行う場合の閾値の初期値には任意の値を用いることができる。
(4−5)機械学習に使用する画像データの枚数は多い方が望ましい。このためには、検出させたいオブジェクトが含まれていない画像データも機械学習に使用できると好都合である。例えば、図10に示すように、画像1000に、検出させたいオブジェクトを含んでいる正解のバウンディングボックス(以下、単に「正解」という。)1001〜1004である3つのGTがある場合に、画像認識装置100がバウンディングボックス303の候補(以下、単に「候補」という。)1011〜1014を検出したとする。
(4−5)機械学習に使用する画像データの枚数は多い方が望ましい。このためには、検出させたいオブジェクトが含まれていない画像データも機械学習に使用できると好都合である。例えば、図10に示すように、画像1000に、検出させたいオブジェクトを含んでいる正解のバウンディングボックス(以下、単に「正解」という。)1001〜1004である3つのGTがある場合に、画像認識装置100がバウンディングボックス303の候補(以下、単に「候補」という。)1011〜1014を検出したとする。
候補1011と正解1001とはIoUが75%で、候補1011のクラスは正解1001のクラスと同じ「人物」である。このような場合に、IoUの閾値が30%に設定されていると、候補1011はTPと判定される。同様に、候補1012と正解1002とはIoUが40%で閾値30%を超えており、候補1012のクラスもまた正解1002のクラスと同じ「人物」であるので、候補1012はTPと判定される。
一方、候補1013と正解1003とはIoUが60%で閾値30%を超えているが、候補1012のクラス「人物」は正解1002のクラス「車両」と異なっているので、候補1012はFP(False Positive)と判定される。候補1014は、どの正解ともIoUが閾値30%を超えていないので、FPと判定される。正解1004は、どの候補ともIoUが閾値30%を超えていないという意味においてTPが存在しないので、FN(False Negative)と判定される。
機械学習用の画像データによってはGTまたはTPが存在しない場合がある。このような場合には、適合率や再現率を適切に計算することができなくなるので、閾値予測に関する機械学習が進み難くなる恐れがある。
このような問題に対して、GTまたはTPが存在しない場合には、正解閾値を算出することなく、予め設定した値(例えば、0.5。)を用いればよい。このようにすれば、GTまたはTPが存在しないために、正解閾値を算出することができない場合であっても、閾値予測のための機械学習を進めることができる。
(4−6)上記実施の形態においては、画像認識装置100を用いてオブジェクト検出や閾値予測のための機械学習を行う場合を例にとって説明したが、本開示がこれに限定されないのは言うまでもなく、これに代えて次のようにしてもよい。例えば、機械学習を行うために、画像認識装置100とは別の装置を用意しておき、当該別の装置で機械学習を行って生成した学習パラメーターをストレージ101に保存してもよい。このようにしても、画像認識装置100にストレージ101から学習パラメーターを読み出させることによって画像認識を実行させることができる。
(4−7)上記実施の形態においては、損失を算出する方法として、第1の損失と第2の損失との輪を算出する場合を例にとって説明したが、本開示がこれに限定されないのは言うまでもなく、これに代えて次のようにしてもよい。すなわち、第1の損失と第2の損失とを独立変数とし、損失を従属変数とする関数であれば、単純和を算出する関数以外の関数を用いてもよい。損失を算出するための関数の如何に関係なく、本開示の効果を得ることができる。
(4−6)上記実施の形態においては、画像認識装置100を用いてオブジェクト検出や閾値予測のための機械学習を行う場合を例にとって説明したが、本開示がこれに限定されないのは言うまでもなく、これに代えて次のようにしてもよい。例えば、機械学習を行うために、画像認識装置100とは別の装置を用意しておき、当該別の装置で機械学習を行って生成した学習パラメーターをストレージ101に保存してもよい。このようにしても、画像認識装置100にストレージ101から学習パラメーターを読み出させることによって画像認識を実行させることができる。
(4−7)上記実施の形態においては、損失を算出する方法として、第1の損失と第2の損失との輪を算出する場合を例にとって説明したが、本開示がこれに限定されないのは言うまでもなく、これに代えて次のようにしてもよい。すなわち、第1の損失と第2の損失とを独立変数とし、損失を従属変数とする関数であれば、単純和を算出する関数以外の関数を用いてもよい。損失を算出するための関数の如何に関係なく、本開示の効果を得ることができる。
本開示に係る画像認識装置、学習装置、画像認識方法、学習方法、画像認識プログラムおよび学習プログラムは、認識対象となる画像の撮影条件が変動しても、機械学習モデルを用いて精度よく画像を認識する技術として有用である。
1………画像認識システム
100…画像認識装置
101…ストレージ
102…撮影装置
205…画像認識プログラム
303…バウンディングボックス
306…閾値
311…特徴抽出部
312…デコード部
313…NMS部
321…GAP部
322…FC層
100…画像認識装置
101…ストレージ
102…撮影装置
205…画像認識プログラム
303…バウンディングボックス
306…閾値
311…特徴抽出部
312…デコード部
313…NMS部
321…GAP部
322…FC層
Claims (17)
- 画像中でのオブジェクトの位置を検出する画像認識装置であって、
画像中における前記オブジェクト位置を予測する位置予測手段と、
前記予測位置ごとに確信度を出力する確信度出力手段と、
前記確信度と比較して、当該予測位置にオブジェクトがあるか否かを判定するための閾値を予測する閾値予測手段と、
前記予測位置ごとに当該確信度を前記閾値と比較して、オブジェクトがあると判定された予測位置をオブジェクト位置として選択する位置選択手段と、を備え、
前記閾値予測手段は、機械学習モデルに画像データを入力して算出させた値を閾値の予測値とする
ことを特徴とする画像認識装置。 - 前記閾値予測手段は、機械学習モデルに画像データを入力し、当該画像データの撮影条件のうち、少なくとも当該画像データの平均明度以外の撮影条件に応じて算出させた値を閾値の予測値とする
ことを特徴とする請求項1に記載の画像認識装置。 - 前記閾値予測手段は、予め設定した複数の閾値候補から閾値を選択する
ことを特徴とする請求項1に記載の画像認識装置。 - 前記確信度出力手段は、前記予測位置の確信度とともに、前記予測位置ごとに当該位置にあるオブジェクトのクラスの確信度を出力し、
前記閾値予測手段は、オブジェクトのクラス毎に閾値を予測する
ことを特徴とする請求項1に記載の画像認識装置。 - 前記確信度出力手段は、画像データの入力を受け付ける特徴抽出部と、前記特徴抽出部の出力を入力とするデコード部と、を有する畳み込み型ニューラルネットワークに画像を入力して、前記確信度を出力させ、
前記閾値予測手段は、前記前記特徴部の出力を入力とする、前記デコード部とは別の第2のニューラルネットワークに画像データを入力して前記閾値を出力させる
ことを特徴とする請求項1から4のいずれかに記載の画像認識装置。 - 前記確信度出力手段は、畳み込み型ニューラルネットワークに画像を入力して、前記確信度を出力させ、
前記閾値予測手段は、前記畳み込み型ニューラルネットワークとは別のニューラルネットワークに画像データを入力して前記閾値を出力させる
ことを特徴とする請求項1から4のいずれかに記載の画像認識装置。 - 請求項5に記載の画像認識装置の前記畳み込み型ニューラルネットワーク並びに第2のニューラルネットワークに用いる学習パラメーターを生成する学習装置であって、
前記畳み込み型ニューラルネットワークに、画像データを入力して、前記予測位置を出力させる予測位置出力手段と、
前記第2のニューラルネットワークに、前記画像データを入力して、前記閾値を出力させる閾値出力手段と、
前記予測位置出力手段が出力した予測位置を独立変数とする第1の損失関数と、前記閾値出力手段が出力した閾値を独立変数とする第2の損失関数と、を用いて、誤差逆伝搬法によって前記学習パラメーターを更新する更新手段と、を備える
ことを特徴とする学習装置。 - 前記第2の損失関数は、前記閾値出力手段が出力した閾値と、教師データとして用意された閾値の正解と、差を自乗する関数である
ことを特徴とする請求項7に記載の学習装置。 - 前記第2の損失関数は、所定の再現率を満たすことを条件として、適合率を最大化する閾値を正解として用いて誤差を算出する
ことを特徴とする請求項7または8に記載の学習装置。 - 前記第2の損失関数は、所定の適合率を満たすことを条件として、再現率を最大化する閾値を正解として用いて誤差を算出する
ことを特徴とする請求項7または8に記載の学習装置。 - 前記第2の損失関数は、F値を最大にする閾値を正解として用いて誤差を算出する
ことを特徴とする請求項7または8に記載の学習装置。 - 前記予測位置出力手段並びに前記閾値出力手段はどちらも、前記画像データとして、互いに閾値の正解が異なる複数の画像データを入力する
ことを特徴とする請求項7から11の何れかに記載の学習装置。 - 前記複数の画像データは、少なくとも明度以外の撮影条件が互いに異なっている画像データを含んでいる
ことを特徴とする請求項12に記載の学習装置。 - 画像中でのオブジェクトの位置を検出する画像認識方法であって、
画像中における前記オブジェクト位置を予測する位置予測ステップと、
前記予測位置ごとに確信度を出力する確信度出力ステップと、
前記確信度と比較して、当該予測位置にオブジェクトがあるか否かを判定するための閾値を予測する閾値予測ステップと、
前記予測位置ごとに当該確信度を前記閾値と比較して、オブジェクトがあると判定された予測位置をオブジェクト位置として選択する位置選択ステップと、を含み、
前記閾値予測ステップは、機械学習モデルに画像データを入力して算出させた値を閾値の予測値とする
ことを特徴とする画像認識方法。 - 請求項5に記載の画像認識装置の前記畳み込み型ニューラルネットワーク並びに第2のニューラルネットワークに用いる学習パラメーターを生成する学習方法であって、
前記畳み込み型ニューラルネットワークに、画像データを入力して、前記予測位置を出力させる予測位置出力ステップと、
前記第2のニューラルネットワークに、前記画像データを入力して、前記閾値を出力させる閾値出力ステップと、
前記予測位置出力ステップで出力した予測位置を独立変数とする第1の損失関数と、前記閾値出力ステップで出力した閾値を独立変数とする第2の損失関数と、を用いて、誤差逆伝搬法によって前記学習パラメーターを更新する更新ステップと、を含む
ことを特徴とする学習方法。 - コンピューターに画像中でのオブジェクトの位置を検出させる画像認識プログラムであって、
画像中における前記オブジェクト位置を予測する位置予測ステップと、
前記予測位置ごとに確信度を出力する確信度出力ステップと、
前記確信度と比較して、当該予測位置にオブジェクトがあるか否かを判定するための閾値を予測する閾値予測ステップと、
前記予測位置ごとに当該確信度を前記閾値と比較して、オブジェクトがあると判定された予測位置をオブジェクト位置として選択する位置選択ステップと、をコンピューターに実行させ、
前記閾値予測ステップは、機械学習モデルに画像データを入力して算出させた値を閾値の予測値とさせる
ことを特徴とする画像認識プログラム。 - 請求項5に記載の画像認識装置の前記畳み込み型ニューラルネットワーク並びに第2のニューラルネットワークに用いる学習パラメーターをコンピューターに生成させる学習プログラムであって、
前記畳み込み型ニューラルネットワークに、画像データを入力して、前記予測位置を出力させる予測位置出力ステップと、
前記第2のニューラルネットワークに、前記画像データを入力して、前記閾値を出力させる閾値出力ステップと、
前記予測位置出力ステップで出力した予測位置を独立変数とする第1の損失関数と、前記閾値出力ステップで出力した閾値を独立変数とする第2の損失関数と、を用いて、誤差逆伝搬法によって前記学習パラメーターを更新する更新ステップと、をコンピューターに実行させる
ことを特徴とする学習プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020092317A JP2021189595A (ja) | 2020-05-27 | 2020-05-27 | 画像認識装置、学習装置、画像認識方法、学習方法、画像認識プログラムおよび学習プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020092317A JP2021189595A (ja) | 2020-05-27 | 2020-05-27 | 画像認識装置、学習装置、画像認識方法、学習方法、画像認識プログラムおよび学習プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021189595A true JP2021189595A (ja) | 2021-12-13 |
Family
ID=78849760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020092317A Pending JP2021189595A (ja) | 2020-05-27 | 2020-05-27 | 画像認識装置、学習装置、画像認識方法、学習方法、画像認識プログラムおよび学習プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021189595A (ja) |
-
2020
- 2020-05-27 JP JP2020092317A patent/JP2021189595A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112052787B (zh) | 基于人工智能的目标检测方法、装置及电子设备 | |
US10242289B2 (en) | Method for analysing media content | |
US11107222B2 (en) | Video object tracking | |
CN113780466B (zh) | 模型迭代优化方法、装置、电子设备和可读存储介质 | |
US11893798B2 (en) | Method, system and computer readable medium of deriving crowd information | |
CN112749726B (zh) | 目标检测模型的训练方法、装置、计算机设备和存储介质 | |
WO2016179808A1 (en) | An apparatus and a method for face parts and face detection | |
CN112001375B (zh) | 一种火焰检测方法、装置、电子设备及存储介质 | |
CN111652181B (zh) | 目标跟踪方法、装置及电子设备 | |
CN116912796A (zh) | 一种基于新型动态级联YOLOv8的自动驾驶目标识别方法及装置 | |
WO2019188053A1 (en) | Method, system and computer readable medium for integration and automatic switching of crowd estimation techniques | |
JP7384217B2 (ja) | 学習装置、学習方法、及び、プログラム | |
CN110490058B (zh) | 行人检测模型的训练方法、装置、系统和计算机可读介质 | |
CN112001983A (zh) | 生成遮挡图像的方法、装置、计算机设备和存储介质 | |
JP2019117556A (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN111435457B (zh) | 对传感器获取的采集进行分类的方法 | |
CN117371511A (zh) | 图像分类模型的训练方法、装置、设备及存储介质 | |
US20230260259A1 (en) | Method and device for training a neural network | |
KR102198224B1 (ko) | 공간 데이터를 기초로 한 인공신경망을 이용한 비정상 데이터 구분 장치 | |
JP2021189595A (ja) | 画像認識装置、学習装置、画像認識方法、学習方法、画像認識プログラムおよび学習プログラム | |
JP5241687B2 (ja) | 物体検出装置及び物体検出プログラム | |
CN115511920A (zh) | 一种基于DeepSort和DeepEMD的检测跟踪方法和系统 | |
WO2021130856A1 (ja) | 物体識別装置、物体識別方法、学習装置、学習方法、及び、記録媒体 | |
JP7365261B2 (ja) | コンピュータシステムおよびプログラム | |
US20230073357A1 (en) | Information processing apparatus, machine learning model, information processing method, and storage medium |