(57)【要約】【課題】再学習又は追加学習により識別器の識別性能が悪化してしまった場合でも、識別器を利用した判定の信頼性が損なわれてしまうのを防止する。【解決手段】本発明の一側面に係る検査装置は、再学習又は追加学習前の第１識別器と、再学習又は追加学習後の第２識別器との両方を保持する。第２識別器の第２判定基準の数値範囲は、第１識別器の第１判定基準の数値範囲よりも狭く設定される。そして、当該検査装置は、第２識別器の第２出力値が第２判定基準を満たす場合には、当該第２識別器の第２出力値に基づいて製品の良否を判定する。一方、第２識別器の第２出力値が第２判定基準を満たさない場合には、当該検査装置は、第１識別器の第１出力値に基づいて製品の良否を判定する。【選択図】図１
2019159820.tif 000002
【特許請求の範囲】
【請求項１】
製品の良否を検査する検査装置であって、
検査の対象となる前記製品の写る対象画像データを取得するデータ取得部と、
前記製品の良否を学習するための画像データで構成された第１学習データを利用した機械学習により構築された第１識別器、並びに前記第１学習データ及び前記製品の良否を学習するための追加の画像データで構成された第２学習データを利用した機械学習により構築された第２識別器を利用して、取得した前記対象画像データに写る前記製品の良否を判定する判定部と、
前記製品の良否を判定した結果を出力する出力部と、
を備え、
前記第１識別器に前記対象画像データを入力することで前記第１識別器から得られる第１出力値には、前記製品の良否を判定するための数値範囲が第１判定基準として設定されており、
前記第２識別器に前記対象画像データを入力することで前記第２識別器から得られる第２出力値には、前記製品の良否を判定するための数値範囲が第２判定基準として設定されており、
前記第２判定基準の数値範囲は、前記第１判定基準の数値範囲よりも狭く設定されており、
前記判定部は、
前記第２識別器に前記対象画像データを入力することで、前記第２識別器から前記第２出力値を取得し、
取得した前記第２出力値が前記第２判定基準の数値範囲に含まれる場合には、前記第２出力値に基づいて、前記製品の良否を判定し、
取得した前記第２出力値が前記第２判定基準の数値範囲に含まれない場合には、前記第１識別器に前記対象画像データを入力することで、前記第１識別器から前記第１出力値を取得し、取得した前記第１出力値に基づいて、前記製品の良否を判定する、
検査装置。
【請求項２】
前記第１識別器の前記第１出力値及び前記第２識別器の前記第２出力値はそれぞれ、値が大きいほど前記製品に欠陥があることを示し、値が小さいほど前記製品は良品であることを示し、
前記第１判定基準の数値範囲は、第１閾値以上の範囲及び第１閾値未満の範囲により構成されており、
前記第２判定基準の数値範囲は、第２閾値以上の範囲、及び当該第２閾値よりも小さい第３閾値以下の範囲により構成されており、
前記判定部は、
前記第２識別器から取得した前記第２出力値が前記第２閾値よりも大きい場合には、前記第２出力値が前記第２判定基準の数値範囲に含まれるとして、前記製品には欠陥があると判定し、
前記第２識別器から取得した前記第２出力値が前記第３閾値よりも小さい場合には、前記第２出力値が前記第２判定基準の数値範囲に含まれるとして、前記製品は良品であると判定し、
前記第２識別器から取得した前記第２出力値が、前記第２閾値よりも小さく、第３閾値よりも大きい場合には、前記第２出力値は前記第２判定基準の数値範囲に含まれないとして、前記第１識別器に前記対象画像データを入力することで、前記第１識別器から前記第１出力値を取得し、
取得した第１出力値が前記第１閾値よりも大きい場合には、前記製品には欠陥があると判定し、
取得した第１出力値が前記第１閾値よりも小さい場合には、前記製品は良品であると判定する、
請求項１に記載の検査装置。
【請求項３】
前記第１識別器の前記第１出力値及び前記第２識別器の前記第２出力値はそれぞれ、値が大きいほど前記製品は良品であることを示し、値が小さいほど前記製品には欠陥があることを示し、
前記第１判定基準の数値範囲は、第１閾値以上の範囲及び第１閾値未満の範囲により構成されており、
前記第２判定基準の数値範囲は、第２閾値以上の範囲、及び当該第２閾値よりも小さい第３閾値以下の範囲により構成されており、
前記判定部は、
前記第２識別器から取得した前記第２出力値が前記第２閾値よりも大きい場合には、前記第２出力値が前記第２判定基準の数値範囲に含まれるとして、前記製品は良品であると判定し、
前記第２識別器から取得した前記第２出力値が前記第３閾値よりも小さい場合には、前記第２出力値が前記第２判定基準の数値範囲に含まれるとして、前記製品には欠陥があると判定し、
前記第２識別器から取得した前記第２出力値が、前記第２閾値よりも小さく、第３閾値よりも大きい場合には、前記第２出力値は前記第２判定基準の数値範囲に含まれないとして、前記第１識別器に前記対象画像データを入力することで、前記第１識別器から前記第１出力値を取得し、
取得した第１出力値が前記第１閾値よりも大きい場合には、前記製品は良品であると判定し、
取得した第１出力値が前記第１閾値よりも小さい場合には、前記製品には欠陥があると判定する、
請求項１に記載の検査装置。
【請求項４】
前記第１識別器の前記第１出力値及び前記第２識別器の前記第２出力値はそれぞれ、前記製品に欠陥がある確率を示し、
前記第１判定基準の数値範囲は、第１閾値以上の範囲及び第１閾値未満の範囲により構成されており、
前記第２判定基準の数値範囲は、第２閾値以上の範囲により構成されており、
前記判定部は、
前記第２識別器から取得した前記第２出力値が前記第２閾値よりも大きい場合には、前記第２出力値が前記第２判定基準の数値範囲に含まれるとして、前記製品には欠陥があると判定し、
前記第２識別器から取得した前記第２出力値が前記第２閾値よりも小さい場合には、前記第２出力値は前記第２判定基準の数値範囲に含まれないとして、前記第１識別器に前記対象画像データを入力することで、前記第１識別器から前記第１出力値を取得し、
取得した第１出力値が前記第１閾値よりも大きい場合には、前記製品には欠陥があると判定する、
請求項１に記載の検査装置。
【請求項５】
前記第１識別器の前記第１出力値及び前記第２識別器の前記第２出力値はそれぞれ、前記製品が良品である確率を示し、
前記第１判定基準の数値範囲は、第１閾値以上の範囲及び第１閾値未満の範囲により構成されており、
前記第２判定基準の数値範囲は、第２閾値以上の範囲により構成されており、
前記判定部は、
前記第２識別器から取得した前記第２出力値が前記第２閾値よりも大きい場合には、前記第２出力値が前記第２判定基準の数値範囲に含まれるとして、前記製品は良品であると判定し、
前記第２識別器から取得した前記第２出力値が前記第２閾値よりも小さい場合には、前記第２出力値は前記第２判定基準の数値範囲に含まれないとして、前記第１識別器に前記対象画像データを入力することで、前記第１識別器から前記第１出力値を取得し、
取得した第１出力値が前記第１閾値よりも大きい場合には、前記製品は良品であると判定する、
請求項１に記載の検査装置。
【請求項６】
状態を識別する対象となる被写体の写る対象画像データを取得するデータ取得部と、
前記被写体の状態を識別する学習を行うための画像データで構成された第１学習データを利用した機械学習により構築された第１識別器、並びに前記第１学習データ及び前記被写体の状態を識別する学習を行うための追加の画像データで構成された第２学習データを利用した機械学習により構築された第２識別器を利用して、取得した前記対象画像データに写る前記被写体の状態を判定する判定部と、
前記被写体の状態を判定した結果を出力する出力部と、
を備え、
前記第１識別器に前記対象画像データを入力することで前記第１識別器から得られる第１出力値には、前記被写体の状態を判定するための数値範囲が第１判定基準として設定されており、
前記第２識別器に前記対象画像データを入力することで前記第２識別器から得られる第２出力値には、前記被写体の状態を判定するための数値範囲が第２判定基準として設定されており、
前記第２判定基準の数値範囲は、前記第１判定基準の数値範囲よりも狭く設定されており、
前記判定部は、
前記第２識別器に前記対象画像データを入力することで、前記第２識別器から前記第２出力値を取得し、
取得した前記第２出力値が前記第２判定基準の数値範囲に含まれる場合には、前記第２出力値に基づいて、前記被写体の状態を判定し、
取得した前記第２出力値が前記第２判定基準の数値範囲に含まれない場合には、前記第１識別器に前記対象画像データを入力することで、前記第１識別器から前記第１出力値を取得し、取得した前記第１出力値に基づいて、前記被写体の状態を判定する、
画像識別装置。
【請求項７】
識別する対象となる特徴を含む対象データを取得するデータ取得部と、
前記特徴を識別する学習を行うためのデータで構成された第１学習データを利用した機械学習により構築された第１識別器、並びに前記第１学習データ及び前記特徴を識別する学習を行うための追加のデータで構成された第２学習データを利用した機械学習により構築された第２識別器を利用して、取得した前記対象データに表れる前記特徴を判定する判定部と、
前記特徴を判定した結果を出力する出力部と、
を備え、
前記第１識別器に前記対象データを入力することで前記第１識別器から得られる第１出力値には、前記特徴を判定するための数値範囲が第１判定基準として設定されており、
前記第２識別器に前記対象データを入力することで前記第２識別器から得られる第２出力値には、前記特徴を判定するための数値範囲が第２判定基準として設定されており、
前記第２判定基準の数値範囲は、前記第１判定基準の数値範囲よりも狭く設定されており、
前記判定部は、
前記第２識別器に前記対象データを入力することで、前記第２識別器から前記第２出力値を取得し、
取得した前記第２出力値が前記第２判定基準の数値範囲に含まれる場合には、前記第２出力値に基づいて、前記特徴を判定し、
取得した前記第２出力値が前記第２判定基準の数値範囲に含まれない場合には、前記第１識別器に前記対象データを入力することで、前記第１識別器から前記第１出力値を取得し、取得した前記第１出力値に基づいて、前記特徴を判定する、
識別装置。
【請求項８】
前記第１識別器の前記第１出力値及び前記第２識別器の前記第２出力値はそれぞれ、値が大きいほど前記対象データには前記特徴として第１特徴が表れていることを示し、値が小さいほど前記対象データには前記特徴として第２特徴が表れていることを示し、
前記第１判定基準の数値範囲は、第１閾値以上の範囲及び第１閾値未満の範囲により構成されており、
前記第２判定基準の数値範囲は、第２閾値以上の範囲、及び当該第２閾値よりも小さい第３閾値以下の範囲により構成されており、
前記判定部は、
前記第２識別器から取得した前記第２出力値が前記第２閾値よりも大きい場合には、前記第２出力値が前記第２判定基準の数値範囲に含まれるとして、前記対象データには前記第１特徴が表れていると判定し、
前記第２識別器から取得した前記第２出力値が前記第３閾値よりも小さい場合には、前記第２出力値が前記第２判定基準の数値範囲に含まれるとして、前記対象データには前記第２特徴が表れていると判定し、
前記第２識別器から取得した前記第２出力値が、前記第２閾値よりも小さく、第３閾値よりも大きい場合には、前記第２出力値は前記第２判定基準の数値範囲に含まれないとして、前記第１識別器に前記対象データを入力することで、前記第１識別器から前記第１出力値を取得し、
取得した第１出力値が前記第１閾値よりも大きい場合には、前記対象データには前記第１特徴が表れていると判定し、
取得した第１出力値が前記第１閾値よりも小さい場合には、前記対象データには前記第２特徴が表れていると判定する、
請求項７に記載の識別装置。
【請求項９】
前記第１識別器の前記第１出力値及び前記第２識別器の前記第２出力値はそれぞれ、前記対象データに所定の特徴が表れている確率を示し、
前記第１判定基準の数値範囲は、第１閾値以上の範囲及び第１閾値未満の範囲により構成されており、
前記第２判定基準の数値範囲は、第２閾値以上の範囲により構成されており、
前記判定部は、
前記第２識別器から取得した前記第２出力値が前記第２閾値よりも大きい場合には、前記第２出力値が前記第２判定基準の数値範囲に含まれるとして、前記対象データには前記所定の特徴が表れていると判定し、
前記第２識別器から取得した前記第２出力値が前記第２閾値よりも小さい場合には、前記第２出力値は前記第２判定基準の数値範囲に含まれないとして、前記第１識別器に前記対象データを入力することで、前記第１識別器から前記第１出力値を取得し、
取得した第１出力値が前記第１閾値よりも大きい場合には、前記対象データには前記所定の特徴が表れていると判定する、
請求項７に記載の識別装置。
【請求項１０】
製品の良否を検査する検査方法であって、
コンピュータが、
検査の対象となる前記製品の写る対象画像データを取得する第１ステップと、
前記製品の良否を学習するための画像データで構成された第１学習データを利用した機械学習により構築された第１識別器、並びに前記第１学習データ及び前記製品の良否を学習するための追加の画像データで構成された第２学習データを利用した機械学習により構築された第２識別器を利用して、取得した前記対象画像データに写る前記製品の良否を判定する第２ステップと、
前記製品の良否を判定した結果を出力する第３ステップと、
を実行し、
前記第１識別器に前記対象画像データを入力することで前記第１識別器から得られる第１出力値には、前記製品の良否を判定するための数値範囲が第１判定基準として設定されており、
前記第２識別器に前記対象画像データを入力することで前記第２識別器から得られる第２出力値には、前記製品の良否を判定するための数値範囲が第２判定基準として設定されており、
前記第２判定基準の数値範囲は、前記第１判定基準の数値範囲よりも狭く設定されており、
前記第２ステップでは、前記コンピュータは、
前記第２識別器に前記対象画像データを入力することで、前記第２識別器から前記第２出力値を取得し、
取得した前記第２出力値が前記第２判定基準の数値範囲に含まれる場合には、前記第２出力値に基づいて、前記製品の良否を判定し、
取得した前記第２出力値が前記第２判定基準の数値範囲に含まれない場合には、前記第１識別器に前記対象画像データを入力することで、前記第１識別器から前記第１出力値を取得し、取得した前記第１出力値に基づいて、前記製品の良否を判定する、
検査方法。
【請求項１１】
製品の良否を検査するための検査プログラムであって、
コンピュータに、
検査の対象となる前記製品の写る対象画像データを取得する第１ステップと、
前記製品の良否を学習するための画像データで構成された第１学習データを利用した機械学習により構築された第１識別器、並びに前記第１学習データ及び前記製品の良否を学習するための追加の画像データで構成された第２学習データを利用した機械学習により構築された第２識別器を利用して、取得した前記対象画像データに写る前記製品の良否を判定する第２ステップと、
前記製品の良否を判定した結果を出力する第３ステップと、
を実行させ、
前記第１識別器に前記対象画像データを入力することで前記第１識別器から得られる第１出力値には、前記製品の良否を判定するための数値範囲が第１判定基準として設定されており、
前記第２識別器に前記対象画像データを入力することで前記第２識別器から得られる第２出力値には、前記製品の良否を判定するための数値範囲が第２判定基準として設定されており、
前記第２判定基準の数値範囲は、前記第１判定基準の数値範囲よりも狭く設定されており、
前記第２ステップでは、前記コンピュータに、
前記第２識別器に前記対象画像データを入力することで、前記第２識別器から前記第２出力値を取得させ、
取得した前記第２出力値が前記第２判定基準の数値範囲に含まれる場合には、前記第２出力値に基づいて、前記製品の良否を判定させ、
取得した前記第２出力値が前記第２判定基準の数値範囲に含まれない場合には、前記第１識別器に前記対象画像データを入力することで、前記第１識別器から前記第１出力値を取得させ、取得した前記第１出力値に基づいて、前記製品の良否を判定させる、
検査プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検査装置、画像識別装置、識別装置、検査方法、及び検査プログラムに関する。
【背景技術】
【０００２】
従来、生産ライン等の製品を製造する場面では、製造される製品を撮影装置により撮影し、得られた画像データに基づいて製品の良否を検査する技術が利用されている。例えば、特許文献１では、学習済みの第１のニューラルネットワークに基づいて画像に写る検査対象物が正常であるか異常であるかを判定し、検査対象物が異常であると判定した場合に、学習済みの第２のニューラルネットワークに基づいて当該異常の種類を分類する検査装置が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−０２６９８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本件発明者は、特許文献１のような学習済みのニューラルネットワーク等の識別器を利用して、画像データから製品の良否を判定する従来の技術には次のような問題点があることを見出した。すなわち、識別器は、事前に収集した画像データに写る製品の良否を識別するように構築されるため、新たな種類の欠陥が発生する等の未知のケースには対応することができない。そこで、未知のケースに対応するために、この未知のケースの写る追加の画像データを収集し、収集した追加の画像データにより識別器の再学習又は追加学習を実施する。これにより、更新された識別器は、追加の画像データにより学習した未知のケースに対応することができるようになる。
【０００５】
しかしながら、学習する画像データの件数が増えると、特殊なケースの識別を学習したこと等の影響を受けて、識別器の識別性能がかえって悪化する可能性がある。例えば、ニューラルネットワーク等のＡＩ技術を識別器に利用した場合には、学習データの件数が増えると、過学習が起きてしまい、識別器の識別性能が悪化してしまうことがある。従来の技術では、再学習又は追加学習により識別器の識別性能が悪化してしまった場合に、この識別器による製品の良否判定の信頼性が損なわれてしまうという問題点があることを本件発明者は見出した。
【０００６】
なお、この問題点は、製品の良否を判定する場面に特有のものではない。画像データから被写体の何らかの状態を識別する場面、画像データ以外のデータから何らかの特徴を識別する場面等、再学習又は追加学習により識別器を更新するあらゆる場面で同様の問題点が生じ得る。すなわち、収集した追加のデータにより識別器の再学習又は追加学習を実施することで、更新された識別器は、追加のデータにより学習した未知のケースに対応することができるようになる。しかしながら、学習するデータの件数が増えると、対象のデータに表れる特徴を識別器により識別する性能が悪化してしまう可能性がある。
【０００７】
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、再学習又は追加学習により識別器の識別性能が悪化してしまった場合でも、識別器を利用した判定の信頼性が損なわれてしまうのを防止する技術を提供することである。
【課題を解決するための手段】
【０００８】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【０００９】
すなわち、本発明の一側面に係る検査装置は、製品の良否を検査する検査装置であって、検査の対象となる前記製品の写る対象画像データを取得するデータ取得部と、前記製品の良否を学習するための画像データで構成された第１学習データを利用した機械学習により構築された第１識別器、並びに前記第１学習データ及び前記製品の良否を学習するための追加の画像データで構成された第２学習データを利用した機械学習により構築された第２識別器を利用して、取得した前記対象画像データに写る前記製品の良否を判定する判定部と、前記製品の良否を判定した結果を出力する出力部と、を備え、前記第１識別器に前記対象画像データを入力することで前記第１識別器から得られる第１出力値には、前記製品の良否を判定するための数値範囲が第１判定基準として設定されており、前記第２識別器に前記対象画像データを入力することで前記第２識別器から得られる第２出力値には、前記製品の良否を判定するための数値範囲が第２判定基準として設定されており、前記第２判定基準の数値範囲は、前記第１判定基準の数値範囲よりも狭く設定されており、前記判定部は、前記第２識別器に前記対象画像データを入力することで、前記第２識別器から前記第２出力値を取得し、取得した前記第２出力値が前記第２判定基準の数値範囲に含まれる場合には、前記第２出力値に基づいて、前記製品の良否を判定し、取得した前記第２出力値が前記第２判定基準の数値範囲に含まれない場合には、前記第１識別器に前記対象画像データを入力することで、前記第１識別器から前記第１出力値を取得し、取得した前記第１出力値に基づいて、前記製品の良否を判定する。
【００１０】
学習済みの識別器を利用した製品の検査では、製品の写る対象画像データを識別器に入力することで当該識別器から得られる出力値と閾値とを比較することにより、当該製品の良否を判定する。過学習による識別性能の悪化は、閾値の境界付近で良否の判定を誤る可能性が高くなることに起因する。
【００１１】
そこで、当該構成に係る検査装置は、再学習又は追加学習前の第１識別器と、再学習又は追加学習後の第２識別器との両方を保持する。第２識別器の第２判定基準の数値範囲は、第１識別器の第１判定基準の数値範囲よりも狭く設定される。つまり、第２判定基準の数値範囲には、第２識別器による良否の判定を行わない範囲が設けられる。そして、当該検査装置は、第２識別器の第２出力値が第２判定基準の数値範囲に含まれる場合には、当該第２識別器の第２出力値に基づいて製品の良否を判定する。一方、第２識別器の第２出力値が第２判定基準の数値範囲に含まれない場合には、当該検査装置は、第１識別器の第１出力値に基づいて製品の良否を判定する。
【００１２】
すなわち、当該構成に係る検査装置は、第２識別器の第２出力値が良否の識別結果を明確に示している場合には、第２識別器を信頼して製品の良否を判定し、そうでない場合には、第２識別器を利用せずに第１識別器により製品の良否を判定する。これにより、過学習による識別性能の悪化が生じ得る閾値の境界付近の範囲において、第２識別器を利用せずに第１識別器を利用することで、再学習又は追加学習前の判定結果を保証し、再学習又は追加学習による判定結果の変動を抑制することができる。したがって、当該構成によれば、再学習又は追加学習により識別器の識別性能が悪化してしまった場合でも、識別器を利用した良否判定の信頼性が損なわれてしまうのを防止することができる。
【００１３】
なお、「製品」は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。「製品」は、例えば、電子部品、自動車部品等の製造ラインで搬送される物であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等である。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等である。「良否の判定」は、製品に欠陥があるか否かを単に判定することであってもよいし、製品に欠陥がある否かを判定することに加えて、その欠陥の種類を識別することを含んでもよい。欠陥は、例えば、傷、汚れ、クラック、打痕、埃、バリ、色ムラ等である。「識別器」は、例えば、ニューラルネットワーク、サポートベクタマシン、自己組織化マップ、強化学習モデル等の、機械学習により所定の推論を行う能力を獲得可能な学習モデルにより構成されてよい。「再学習」は、識別器の機械学習に利用した元の学習データ（第１学習データ）を用いた機械学習を再度行うことである。また、「追加学習」は、新たな学習データを用いた機械学習により、識別器の更新を行うことである。「再学習又は追加学習」には、これらの機械学習により識別器の更新を行うことの他、新たな識別器を構築することが含まれてよい。
【００１４】
上記一側面に係る検査装置において、前記第１識別器の前記第１出力値及び前記第２識別器の前記第２出力値はそれぞれ、値が大きいほど前記製品に欠陥があることを示し、値が小さいほど前記製品は良品であることを示してもよく、前記第１判定基準の数値範囲は、第１閾値以上の範囲及び第１閾値未満の範囲により構成されていてもよく、前記第２判定基準の数値範囲は、第２閾値以上の範囲、及び当該第２閾値よりも小さい第３閾値以下の範囲により構成されていてもよく、前記判定部は、前記第２識別器から取得した前記第２出力値が前記第２閾値よりも大きい場合には、前記第２出力値が前記第２判定基準の数値範囲に含まれるとして、前記製品には欠陥があると判定してもよく、前記第２識別器から取得した前記第２出力値が前記第３閾値よりも小さい場合には、前記第２出力値が前記第２判定基準の数値範囲に含まれるとして、前記製品は良品であると判定してもよく、前記第２識別器から取得した前記第２出力値が、前記第２閾値よりも小さく、第３閾値よりも大きい場合には、前記第２出力値は前記第２判定基準の数値範囲に含まれないとして、前記第１識別器に前記対象画像データを入力することで、前記第１識別器から前記第１出力値を取得してもよく、取得した第１出力値が前記第１閾値よりも大きい場合には、前記製品には欠陥があると判定してもよく、取得した第１出力値が前記第１閾値よりも小さい場合には、前記製品は良品であると判定してもよい。当該構成によれば、再学習又は追加学習により識別器の識別性能が悪化してしまった場合でも、識別器を利用した良否判定の信頼性が損なわれてしまうのを適切に防止することができる。
【００１５】
上記一側面に係る検査装置において、前記第１識別器の前記第１出力値及び前記第２識別器の前記第２出力値はそれぞれ、値が大きいほど前記製品は良品であることを示し、値が小さいほど前記製品には欠陥があることを示してもよく、前記第１判定基準の数値範囲は、第１閾値以上の範囲及び第１閾値未満の範囲により構成されていてもよく、前記第２判定基準の数値範囲は、第２閾値以上の範囲、及び当該第２閾値よりも小さい第３閾値以下の範囲により構成されていてもよく、前記判定部は、前記第２識別器から取得した前記第２出力値が前記第２閾値よりも大きい場合には、前記第２出力値が前記第２判定基準の数値範囲に含まれるとして、前記製品は良品であると判定してもよく、前記第２識別器から取得した前記第２出力値が前記第３閾値よりも小さい場合には、前記第２出力値が前記第２判定基準の数値範囲に含まれるとして、前記製品には欠陥があると判定してもよく、前記第２識別器から取得した前記第２出力値が、前記第２閾値よりも小さく、第３閾値よりも大きい場合には、前記第２出力値は前記第２判定基準の数値範囲に含まれないとして、前記第１識別器に前記対象画像データを入力することで、前記第１識別器から前記第１出力値を取得してもよく、取得した第１出力値が前記第１閾値よりも大きい場合には、前記製品は良品であると判定してもよく、取得した第１出力値が前記第１閾値よりも小さい場合には、前記製品には欠陥があると判定してもよい。当該構成によれば、再学習又は追加学習により識別器の識別性能が悪化してしまった場合でも、識別器を利用した良否判定の信頼性が損なわれてしまうのを適切に防止することができる。
【００１６】
上記一側面に係る検査装置において、前記第１識別器の前記第１出力値及び前記第２識別器の前記第２出力値はそれぞれ、前記製品に欠陥がある確率を示してもよく、前記第１判定基準の数値範囲は、第１閾値以上の範囲及び第１閾値未満の範囲により構成されていてもよく、前記第２判定基準の数値範囲は、第２閾値以上の範囲により構成されていてもよく、前記判定部は、前記第２識別器から取得した前記第２出力値が前記第２閾値よりも大きい場合には、前記第２出力値が前記第２判定基準の数値範囲に含まれるとして、前記製品には欠陥があると判定してもよく、前記第２識別器から取得した前記第２出力値が前記第２閾値よりも小さい場合には、前記第２出力値は前記第２判定基準の数値範囲に含まれないとして、前記第１識別器に前記対象画像データを入力することで、前記第１識別器から前記第１出力値を取得してもよく、取得した第１出力値が前記第１閾値よりも大きい場合には、前記製品には欠陥があると判定してもよい。当該構成によれば、再学習又は追加学習により識別器の識別性能が悪化してしまった場合でも、識別器を利用した良否判定の信頼性が損なわれてしまうのを適切に防止することができる。
【００１７】
上記一側面に係る検査装置において、前記第１識別器の前記第１出力値及び前記第２識別器の前記第２出力値はそれぞれ、前記製品が良品である確率を示してもよく、前記第１判定基準の数値範囲は、第１閾値以上の範囲及び第１閾値未満の範囲により構成されていてもよく、前記第２判定基準の数値範囲は、第２閾値以上の範囲により構成されていてもよく、前記判定部は、前記第２識別器から取得した前記第２出力値が前記第２閾値よりも大きい場合には、前記第２出力値が前記第２判定基準の数値範囲に含まれるとして、前記製品は良品であると判定してもよく、前記第２識別器から取得した前記第２出力値が前記第２閾値よりも小さい場合には、前記第２出力値は前記第２判定基準の数値範囲に含まれないとして、前記第１識別器に前記対象画像データを入力することで、前記第１識別器から前記第１出力値を取得してもよく、取得した第１出力値が前記第１閾値よりも大きい場合には、前記製品は良品であると判定してもよい。当該構成によれば、再学習又は追加学習により識別器の識別性能が悪化してしまった場合でも、識別器を利用した良否判定の信頼性が損なわれてしまうのを適切に防止することができる。
【００１８】
また、上記各形態に係る検査装置は、製品の写る画像データ以外の画像データから何らかの特徴を判定する場面、画像データ以外の他のデータを含むデータから何らかの特徴を判定する場面等の、再学習又は追加学習により識別器を更新するあらゆる場面に適用可能に変更されてよい。
【００１９】
例えば、本発明の一側面に係る画像識別装置は、状態を識別する対象となる被写体の写る対象画像データを取得するデータ取得部と、前記被写体の状態を識別する学習を行うための画像データで構成された第１学習データを利用した機械学習により構築された第１識別器、並びに前記第１学習データ及び前記被写体の状態を識別する学習を行うための追加の画像データで構成された第２学習データを利用した機械学習により構築された第２識別器を利用して、取得した前記対象画像データに写る前記被写体の状態を判定する判定部と、前記被写体の状態を判定した結果を出力する出力部と、を備え、前記第１識別器に前記対象画像データを入力することで前記第１識別器から得られる第１出力値には、前記被写体の状態を判定するための数値範囲が第１判定基準として設定されており、前記第２識別器に前記対象画像データを入力することで前記第２識別器から得られる第２出力値には、前記被写体の状態を判定するための数値範囲が第２判定基準として設定されており、前記第２判定基準の数値範囲は、前記第１判定基準の数値範囲よりも狭く設定されており、前記判定部は、前記第２識別器に前記対象画像データを入力することで、前記第２識別器から前記第２出力値を取得し、取得した前記第２出力値が前記第２判定基準の数値範囲に含まれる場合には、前記第２出力値に基づいて、前記被写体の状態を判定し、取得した前記第２出力値が前記第２判定基準の数値範囲に含まれない場合には、前記第１識別器に前記対象画像データを入力することで、前記第１識別器から前記第１出力値を取得し、取得した前記第１出力値に基づいて、前記被写体の状態を判定する。
【００２０】
なお、「被写体」及び識別の対象となる被写体の「状態」はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。「被写体」は、例えば、対象者の顔、対象者の身体、作業対象のワーク等であってよい。また、被写体が対象者の顔である場合、識別の対象となる状態は、例えば、表情の種別、顔のパーツの状態等であってよい。被写体が対象者の身体である場合には、識別の対象となる状態は、例えば、身体のポーズ等であってよい。被写体が作業対象のワークである場合、識別の対象となる状態は、例えば、ワークの位置、姿勢等であってよい。
【００２１】
また、例えば、本発明の一側面に係る識別装置は、識別する対象となる特徴を含む対象データを取得するデータ取得部と、前記特徴を識別する学習を行うためのデータで構成された第１学習データを利用した機械学習により構築された第１識別器、並びに前記第１学習データ及び前記特徴を識別する学習を行うための追加のデータで構成された第２学習データを利用した機械学習により構築された第２識別器を利用して、取得した前記対象データに表れる前記特徴を判定する判定部と、前記特徴を判定した結果を出力する出力部と、を備え、前記第１識別器に前記対象データを入力することで前記第１識別器から得られる第１出力値には、前記特徴を判定するための数値範囲が第１判定基準として設定されており、前記第２識別器に前記対象データを入力することで前記第２識別器から得られる第２出力値には、前記特徴を判定するための数値範囲が第２判定基準として設定されており、前記第２判定基準の数値範囲は、前記第１判定基準の数値範囲よりも狭く設定されており、前記判定部は、前記第２識別器に前記対象データを入力することで、前記第２識別器から前記第２出力値を取得し、取得した前記第２出力値が前記第２判定基準の数値範囲に含まれる場合には、前記第２出力値に基づいて、前記特徴を判定し、取得した前記第２出力値が前記第２判定基準の数値範囲に含まれない場合には、前記第１識別器に前記対象データを入力することで、前記第１識別器から前記第１出力値を取得し、取得した前記第１出力値に基づいて、前記特徴を判定する。
【００２２】
なお、「データ」は、識別器による解析の対象となり得るあらゆる種類のデータを含んでもよく、例えば、画像データの他、音データ（音声データ）、数値データ、テキストデータ等であってよい。「特徴」は、データから識別可能なあらゆる特徴を含んでもよい。「データ」が音データである場合、「特徴」は、例えば、特定の音（例えば、機械の異音）が含まれているか否か等であってよい。また、「データ」が、血圧、活動量等の生体データに関する数値データ又はテキストデータである場合、「特徴」は、例えば、対象者の状態等であってよい。また、「データ」が、機械の駆動量等の数値データ又はテキストデータである場合、「特徴」は、例えば、機械の状態等であってよい。
【００２３】
上記一側面に係る識別装置において、前記第１識別器の前記第１出力値及び前記第２識別器の前記第２出力値はそれぞれ、値が大きいほど前記対象データには前記特徴として第１特徴が表れていることを示し、値が小さいほど前記対象データには前記特徴として第２特徴が表れていることを示してもよく、前記第１判定基準の数値範囲は、第１閾値以上の範囲及び第１閾値未満の範囲により構成されていてもよく、前記第２判定基準の数値範囲は、第２閾値以上の範囲、及び当該第２閾値よりも小さい第３閾値以下の範囲により構成されていてもよく、前記判定部は、前記第２識別器から取得した前記第２出力値が前記第２閾値よりも大きい場合には、前記第２出力値が前記第２判定基準の数値範囲に含まれるとして、前記対象データには前記第１特徴が表れていると判定してもよく、前記第２識別器から取得した前記第２出力値が前記第３閾値よりも小さい場合には、前記第２出力値が前記第２判定基準の数値範囲に含まれるとして、前記対象データには前記第２特徴が表れていると判定してもよく、前記第２識別器から取得した前記第２出力値が、前記第２閾値よりも小さく、第３閾値よりも大きい場合には、前記第２出力値は前記第２判定基準の数値範囲に含まれないとして、前記第１識別器に前記対象データを入力することで、前記第１識別器から前記第１出力値を取得してもよく、取得した第１出力値が前記第１閾値よりも大きい場合には、前記対象データには前記第１特徴が表れていると判定してもよく、取得した第１出力値が前記第１閾値よりも小さい場合には、前記対象データには前記第２特徴が表れていると判定してもよい。
【００２４】
上記一側面に係る識別装置において、前記第１識別器の前記第１出力値及び前記第２識別器の前記第２出力値はそれぞれ、前記対象データに所定の特徴が表れている確率を示してもよく、前記第１判定基準の数値範囲は、第１閾値以上の範囲及び第１閾値未満の範囲により構成されていてもよく、前記第２判定基準の数値範囲は、第２閾値以上の範囲により構成されていてもよく、前記判定部は、前記第２識別器から取得した前記第２出力値が前記第２閾値よりも大きい場合には、前記第２出力値が前記第２判定基準の数値範囲に含まれるとして、前記対象データには前記所定の特徴が表れていると判定してもよく、前記第２識別器から取得した前記第２出力値が前記第２閾値よりも小さい場合には、前記第２出力値は前記第２判定基準の数値範囲に含まれないとして、前記第１識別器に前記対象データを入力することで、前記第１識別器から前記第１出力値を取得してもよく、取得した第１出力値が前記第１閾値よりも大きい場合には、前記対象データには前記所定の特徴が表れていると判定してもよい。
【００２５】
なお、上記各形態に係る検査装置、画像識別装置及び識別装置それぞれの別の態様として、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。
【００２６】
例えば、本発明の一側面に係る検査方法は、製品の良否を検査する情報処理方法であって、コンピュータが、検査の対象となる前記製品の写る対象画像データを取得する第１ステップと、前記製品の良否を学習するための画像データで構成された第１学習データを利用した機械学習により構築された第１識別器、並びに前記第１学習データ及び前記製品の良否を学習するための追加の画像データで構成された第２学習データを利用した機械学習により構築された第２識別器を利用して、取得した前記対象画像データに写る前記製品の良否を判定する第２ステップと、前記製品の良否を判定した結果を出力する第３ステップと、を実行し、前記第１識別器に前記対象画像データを入力することで前記第１識別器から得られる第１出力値には、前記製品の良否を判定するための数値範囲が第１判定基準として設定されており、前記第２識別器に前記対象画像データを入力することで前記第２識別器から得られる第２出力値には、前記製品の良否を判定するための数値範囲が第２判定基準として設定されており、前記第２判定基準の数値範囲は、前記第１判定基準の数値範囲よりも狭く設定されており、前記第２ステップでは、前記コンピュータは、前記第２識別器に前記対象画像データを入力することで、前記第２識別器から前記第２出力値を取得し、取得した前記第２出力値が前記第２判定基準の数値範囲に含まれる場合には、前記第２出力値に基づいて、前記製品の良否を判定し、取得した前記第２出力値が前記第２判定基準の数値範囲に含まれない場合には、前記第１識別器に前記対象画像データを入力することで、前記第１識別器から前記第１出力値を取得し、取得した前記第１出力値に基づいて、前記製品の良否を判定する、情報処理方法である。
【００２７】
また、例えば、本発明の一側面に係る検査プログラムは、製品の良否を検査するためのプログラムであって、コンピュータに、検査の対象となる前記製品の写る対象画像データを取得する第１ステップと、前記製品の良否を学習するための画像データで構成された第１学習データを利用した機械学習により構築された第１識別器、並びに前記第１学習データ及び前記製品の良否を学習するための追加の画像データで構成された第２学習データを利用した機械学習により構築された第２識別器を利用して、取得した前記対象画像データに写る前記製品の良否を判定する第２ステップと、前記製品の良否を判定した結果を出力する第３ステップと、を実行させ、前記第１識別器に前記対象画像データを入力することで前記第１識別器から得られる第１出力値には、前記製品の良否を判定するための数値範囲が第１判定基準として設定されており、前記第２識別器に前記対象画像データを入力することで前記第２識別器から得られる第２出力値には、前記製品の良否を判定するための数値範囲が第２判定基準として設定されており、前記第２判定基準の数値範囲は、前記第１判定基準の数値範囲よりも狭く設定されており、前記第２ステップでは、前記コンピュータに、前記第２識別器に前記対象画像データを入力することで、前記第２識別器から前記第２出力値を取得させ、取得した前記第２出力値が前記第２判定基準の数値範囲に含まれる場合には、前記第２出力値に基づいて、前記製品の良否を判定させ、取得した前記第２出力値が前記第２判定基準の数値範囲に含まれない場合には、前記第１識別器に前記対象画像データを入力することで、前記第１識別器から前記第１出力値を取得させ、取得した前記第１出力値に基づいて、前記製品の良否を判定させる、プログラムである。
【００２８】
また、例えば、本発明の一側面に係る画像識別方法は、コンピュータが、状態を識別する対象となる被写体の写る対象画像データを取得する第１ステップと、前記被写体の状態を識別する学習を行うための画像データで構成された第１学習データを利用した機械学習により構築された第１識別器、並びに前記第１学習データ及び前記被写体の状態を識別する学習を行うための追加の画像データで構成された第２学習データを利用した機械学習により構築された第２識別器を利用して、取得した前記対象画像データに写る前記被写体の状態を判定する第２ステップと、前記被写体の状態を判定した結果を出力する第３ステップと、を実行し、前記第１識別器に前記対象画像データを入力することで前記第１識別器から得られる第１出力値には、前記被写体の状態を判定するための数値範囲が第１判定基準として設定されており、前記第２識別器に前記対象画像データを入力することで前記第２識別器から得られる第２出力値には、前記被写体の状態を判定するための数値範囲が第２判定基準として設定されており、前記第２判定基準の数値範囲は、前記第１判定基準の数値範囲よりも狭く設定されており、前記第２ステップでは、前記コンピュータは、前記第２識別器に前記対象画像データを入力することで、前記第２識別器から前記第２出力値を取得し、取得した前記第２出力値が前記第２判定基準の数値範囲に含まれる場合には、前記第２出力値に基づいて、前記被写体の状態を判定し、取得した前記第２出力値が前記第２判定基準の数値範囲に含まれない場合には、前記第１識別器に前記対象画像データを入力することで、前記第１識別器から前記第１出力値を取得し、取得した前記第１出力値に基づいて、前記被写体の状態を判定する、情報処理方法である。
【００２９】
また、例えば、本発明の一側面に係る画像識別プログラムは、コンピュータに、状態を識別する対象となる被写体の写る対象画像データを取得する第１ステップと、前記被写体の状態を識別する学習を行うための画像データで構成された第１学習データを利用した機械学習により構築された第１識別器、並びに前記第１学習データ及び前記被写体の状態を識別する学習を行うための追加の画像データで構成された第２学習データを利用した機械学習により構築された第２識別器を利用して、取得した前記対象画像データに写る前記被写体の状態を判定する第２ステップと、前記被写体の状態を判定した結果を出力する第３ステップと、を実行させ、前記第１識別器に前記対象画像データを入力することで前記第１識別器から得られる第１出力値には、前記被写体の状態を判定するための数値範囲が第１判定基準として設定されており、前記第２識別器に前記対象画像データを入力することで前記第２識別器から得られる第２出力値には、前記被写体の状態を判定するための数値範囲が第２判定基準として設定されており、前記第２判定基準の数値範囲は、前記第１判定基準の数値範囲よりも狭く設定されており、前記第２ステップでは、前記コンピュータに、前記第２識別器に前記対象画像データを入力することで、前記第２識別器から前記第２出力値を取得させ、取得した前記第２出力値が前記第２判定基準の数値範囲に含まれる場合には、前記第２出力値に基づいて、前記被写体の状態を判定させ、取得した前記第２出力値が前記第２判定基準の数値範囲に含まれない場合には、前記第１識別器に前記対象画像データを入力することで、前記第１識別器から前記第１出力値を取得させ、取得した前記第１出力値に基づいて、前記被写体の状態を判定させる、ためのプログラムである。
【００３０】
また、例えば、本発明の一側面に係る識別方法は、コンピュータが、識別する対象となる特徴を含む対象データを取得する第１ステップと、前記特徴を識別する学習を行うためのデータで構成された第１学習データを利用した機械学習により構築された第１識別器、並びに前記第１学習データ及び前記特徴を識別する学習を行うための追加のデータで構成された第２学習データを利用した機械学習により構築された第２識別器を利用して、取得した前記対象データに表れる前記特徴を判定する第２ステップと、前記特徴を判定した結果を出力する第３ステップと、を実行し、前記第１識別器に前記対象データを入力することで前記第１識別器から得られる第１出力値には、前記特徴を判定するための数値範囲が第１判定基準として設定されており、前記第２識別器に前記対象データを入力することで前記第２識別器から得られる第２出力値には、前記特徴を判定するための数値範囲が第２判定基準として設定されており、前記第２判定基準の数値範囲は、前記第１判定基準の数値範囲よりも狭く設定されており、前記第２ステップでは、前記コンピュータは、前記第２識別器に前記対象データを入力することで、前記第２識別器から前記第２出力値を取得し、取得した前記第２出力値が前記第２判定基準の数値範囲に含まれる場合には、前記第２出力値に基づいて、前記特徴を判定し、取得した前記第２出力値が前記第２判定基準の数値範囲に含まれない場合には、前記第１識別器に前記対象データを入力することで、前記第１識別器から前記第１出力値を取得し、取得した前記第１出力値に基づいて、前記特徴を判定する、情報処理方法である。
【００３１】
また、例えば、本発明の一側面に係る識別プログラムは、コンピュータに、識別する対象となる特徴を含む対象データを取得する第１ステップと、前記特徴を識別する学習を行うためのデータで構成された第１学習データを利用した機械学習により構築された第１識別器、並びに前記第１学習データ及び前記特徴を識別する学習を行うための追加のデータで構成された第２学習データを利用した機械学習により構築された第２識別器を利用して、取得した前記対象データに表れる前記特徴を判定する第２ステップと、前記特徴を判定した結果を出力する第３ステップと、を実行させ、前記第１識別器に前記対象データを入力することで前記第１識別器から得られる第１出力値には、前記特徴を判定するための数値範囲が第１判定基準として設定されており、前記第２識別器に前記対象データを入力することで前記第２識別器から得られる第２出力値には、前記特徴を判定するための数値範囲が第２判定基準として設定されており、前記第２判定基準の数値範囲は、前記第１判定基準の数値範囲よりも狭く設定されており、前記第２ステップでは、前記コンピュータに、前記第２識別器に前記対象データを入力することで、前記第２識別器から前記第２出力値を取得させ、取得した前記第２出力値が前記第２判定基準の数値範囲に含まれる場合には、前記第２出力値に基づいて、前記特徴を判定させ、取得した前記第２出力値が前記第２判定基準の数値範囲に含まれない場合には、前記第１識別器に前記対象データを入力することで、前記第１識別器から前記第１出力値を取得させ、取得した前記第１出力値に基づいて、前記特徴を判定させる、ためのプログラムである。
【発明の効果】
【００３２】
本発明によれば、再学習又は追加学習により識別器の識別性能が悪化してしまった場合でも、識別器を利用した判定の信頼性が損なわれてしまうのを防止する技術を提供することができる。
【図面の簡単な説明】
【００３３】
【図１】図１は、本発明が適用される場面の一例を模式的に例示する。
【図２】図２は、実施の形態に係る検査装置のハードウェア構成の一例を模式的に例示する。
【図３】図３は、実施の形態に係る学習装置のハードウェア構成の一例を模式的に例示する。
【図４】図４は、実施の形態に係る検査装置のソフトウェア構成の一例を模式的に例示する。
【図５】図５は、各識別器の判定基準の一例を例示する。
【図６】図６は、実施の形態に係る学習装置のソフトウェア構成の一例を模式的に例示する。
【図７】図７は、実施の形態に係る検査装置の処理手順の一例を例示する。
【図８】図８は、実施の形態に係る学習装置の処理手順の一例を例示する。
【図９】図９は、各識別器の判定基準のその他の例を例示する。
【図１０】図１０は、他の形態に係る識別装置のハードウェア構成の一例を模式的に例示する。
【図１１】図１１は、他の形態に係る識別装置のソフトウェア構成の一例を模式的に例示する。
【図１２】図１２は、他の形態に係る識別装置のハードウェア構成の一例を模式的に例示する。
【図１３】図１３は、他の形態に係る識別装置のソフトウェア構成の一例を模式的に例示する。
【発明を実施するための形態】
【００３４】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【００３５】
§１  適用例
まず、本発明の基本的な構成の一例について説明する。再学習又は追加学習により識別器を更新した場合、次のような問題が生じ得る。すなわち、収集した追加のデータにより識別器の再学習又は追加学習を実施することで、更新された識別器は、追加のデータにより学習した未知のケースに対する識別を実施することができるようになる。しかしながら、学習するデータの件数が増えると、過学習等が生じてしまうことにより、対象のデータに表れる特徴を識別器により識別する性能が悪化してしまう可能性がある。
【００３６】
そこで、本発明の一例では、対象データに表れる特徴の判定を行うために、再学習又は追加学習前の第１識別器と、再学習又は追加学習後の第２識別器との両方を保持する。第２識別器の第２判定基準の数値範囲は、第１識別器の第１判定基準の数値範囲よりも狭く設定される。つまり、第２判定基準の数値範囲には、第２識別器による特徴の識別を行わない範囲が設けられる。そして、本発明の一例では、第２識別器の第２出力値が第２判定基準の数値範囲に含まれる場合には、当該第２識別器の第２出力値に基づいて、対象データに表れる特徴を判定する。一方、第２識別器の第２出力値が第２判定基準の数値範囲に含まれない場合には、第１識別器の第１出力値に基づいて、対象データに表れる特徴を判定する。
【００３７】
したがって、本発明の一例では、第２識別器の第２出力値が特徴の識別結果を明確に示している場合には、第２識別器を信頼して特徴の判定を行い、そうでない場合には、第２識別器を利用せずに第１識別器により特徴の判定を行うようにすることができる。これにより、過学習による識別性能の悪化が生じ得る閾値の境界付近の範囲において、第２識別器を利用せずに第１識別器を利用することで、再学習又は追加学習前の判定結果を保証し、再学習又は追加学習による判定結果の変動を抑制することができる。したがって、本発明の一例によれば、再学習又は追加学習により識別器の識別性能が悪化してしまった場合でも、識別器を利用した判定の信頼性が損なわれてしまうのを防止することができる。
【００３８】
次に、図１を用いて、本発明が適用される場面の一例について説明する。図１は、本発明を製品Ｒの外観検査に適用した場面の一例を模式的に例示する。ただし、本発明の適用範囲は、以下で例示する外観検査の例に限られる訳ではない。本発明は、再学習又は追加学習により識別器を更新するあらゆる場面に適用可能である。
【００３９】
図１に示されるとおり、本実施形態に係る検査装置１は、製品Ｒの良否を検査するように構成されたコンピュータである。具体的には、検査装置１は、検査の対象となる製品Ｒの写る対象画像データ１２１を取得する。本実施形態では、検査装置１は、カメラ３１に接続されており、このカメラ３１により製品Ｒを撮影することで、対象画像データ１２１を取得する。
【００４０】
次に、検査装置１は、再学習又は追加学習前の第１識別器５及び再学習又は追加学習後の第２識別器６を利用して、取得した対象画像データ１２１に写る製品Ｒの良否を判定する。なお、再学習又は追加学習「前」及び「後」は、第１識別器５及び第２識別器６の間の相対的な関係を示しているに過ぎない。第１識別器５は、第２識別器６以外の他の識別器との関係では、再学習又は追加学習後の識別器であってもよい。また、第２識別器６は、第１識別器５以外の他の識別器との関係では、再学習又は追加学習前の識別器であってもよい。
【００４１】
ここで、第１識別器５に対象画像データ１２１を入力することで第１識別器５から得られる第１出力値には、製品Ｒの良否を判定するための数値範囲が第１判定基準として設定されている。また、第２識別器６に対象画像データ１２１を入力することで第２識別器６から得られる第２出力値には、製品Ｒの良否を判定するための数値範囲が第２判定基準として設定されている。そして、第２判定基準の数値範囲は、第１判定基準の数値範囲よりも狭く設定されている。
【００４２】
本実施形態では、第２判定基準の数値範囲は、第２識別器６の出力に対して、製品Ｒは良品である（すなわち、欠陥がない）と判定する数値範囲、及び製品Ｒには欠陥がある（つまり、製品Ｒが不良品（欠陥品）である）と判定する数値範囲により構成される。また、第１判定基準の数値範囲は、第１識別器５の出力に対して、製品Ｒは良品であると判定する数値範囲、及び製品Ｒには欠陥があると判定する数値範囲により構成される。本実施形態では、第２判定基準の数値範囲は、例えば、第２識別器６を利用した判定が第１識別器５を利用した判定よりも厳しくなるように、第１判定基準の数値範囲よりも狭く設定される。
【００４３】
これにより、検査装置１は、第２識別器６に対象画像データ１２１を入力することで、第２識別器６から第２出力値を取得する。そして、取得した第２出力値が第２判定基準の数値範囲に含まれている場合には、検査装置１は、第２識別器６による良否の判定を採用する、すなわち、第２出力値に基づいて、製品Ｒの良否を判定する。一方、取得した第２出力値が第２判定基準の数値範囲に含まれていない場合には、検査装置１は、第２識別器６による良否の判定を採用せず、第１識別器５に対象画像データ１２１を入力することで、第１識別器５から第１出力値を取得する。そして、検査装置１は、第１識別器５から取得した第１出力値に基づいて、製品Ｒの良否を判定する。製品Ｒの良否を判定した後、検査装置１は、その結果を出力する。
【００４４】
一方、本実施形態に係る学習装置２は、検査装置１で利用する第１識別器５及び第２識別器６を構築するコンピュータである。具体的には、学習装置２は、製品の良否を学習するための画像データ２２２で構成された第１学習データ２２１を利用した機械学習を実施することで、製品の良否を判定する能力を習得した学習済みの第１識別器５を構築する。また、学習装置２は、第１学習データ２２１及び製品の良否を学習するための追加の画像データ２２７で構成された第２学習データ２２６を利用した機械学習を実施することで、製品の良否を判定する能力を習得した学習済みの第２識別器６を構築する。
【００４５】
これにより、学習装置２は、検査装置１で利用する第１識別器５及び第２識別器６を構築することができる。検査装置１は、例えば、ネットワークを介して、学習装置２により構築された学習済みの第１識別器５及び第２識別器６を取得することができる。なお、ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
【００４６】
以上のとおり、本実施形態に係る検査装置１では、第２識別器６による判定結果を採用するか否かを定める第２判定基準の数値範囲が、第１判定基準の数値範囲よりも狭く設定されている。これにより、第２識別器６を利用した良否の判定が第１識別器５を利用した良否の判定よりも厳しく行われる。すなわち、本実施形態に係る検査装置１は、第２識別器６の第２出力値が良否の識別結果を明確に示している場合には、第２識別器６により製品Ｒの良否を判定し、そうでない場合には、第２識別器６による判定結果を採用せずに第１識別器５により製品Ｒの良否を判定する。
【００４７】
これにより、過学習による識別性能の悪化が生じ得る閾値の境界付近の範囲において、第２識別器６を利用せずに第１識別器５を利用することで、再学習又は追加学習前の判定結果を保証し、再学習又は追加学習による判定結果の変動を抑制することができる。したがって、本実施形態によれば、再学習又は追加学習により第２識別器６の識別性能が第１識別器５よりも悪化してしまった場合でも、良否判定の信頼性が損なわれてしまうのを防止することができる。
【００４８】
なお、外観検査の対象となる製品Ｒは、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。製品Ｒは、例えば、電子部品、自動車部品等の製造ラインで搬送される物であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等である。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等である。また、良否の判定は、製品Ｒに欠陥があるか否かを単に判定することであってもよいし、製品Ｒに欠陥がある否かを判定することに加えて、その欠陥の種類を識別することを含んでもよい。欠陥は、例えば、傷、汚れ、クラック、打痕、埃、バリ、色ムラ等である。
【００４９】
§２  構成例
［ハードウェア構成］
＜検査装置＞
次に、図２を用いて、本実施形態に係る検査装置１のハードウェア構成の一例について説明する。図２は、本実施形態に係る検査装置１のハードウェア構成の一例を模式的に例示する。
【００５０】
図２に示されるとおり、本実施形態に係る検査装置１は、制御部１１、記憶部１２、通信インタフェース１３、外部インタフェース１４、入力装置１５、出力装置１６、及びドライブ１７が電気的に接続されたコンピュータである。なお、図２では、通信インタフェース及び外部インタフェースをそれぞれ「通信Ｉ／Ｆ」及び「外部Ｉ／Ｆ」と記載している。
【００５１】
制御部１１は、ハードウェアプロセッサであるＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部１２は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部１２は、検査プログラム８１、第１学習結果データ２２４、第２学習結果データ２２９等の各種情報を記憶する。
【００５２】
検査プログラム８１は、第１識別器５及び第２識別器６を利用して、対象画像データ１２１に写る製品Ｒの良否を判定する後述する情報処理（図７）を検査装置１に実行させるためのプログラムであり、当該情報処理の一連の命令を含む。第１学習結果データ２２４は、学習済みの第１識別器５の設定を行うためのデータである。第２学習結果データ２２９は、学習済みの第２識別器６の設定を行うためのデータである。詳細は後述する。
【００５３】
通信インタフェース１３は、例えば、有線ＬＡＮ（Local Area Network）モジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。検査装置１は、この通信インタフェース１３を利用することで、ネットワークを介したデータ通信を他の情報処理装置（例えば、学習装置２）と行うことができる。
【００５４】
外部インタフェース１４は、例えば、ＵＳＢ（Universal Serial Bus）ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース１４の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、検査装置１は、外部インタフェース１４を介して、カメラ３１に接続される。
【００５５】
カメラ３１は、製品Ｒを撮影することで、対象画像データ１２１を取得するのに利用される。カメラ３１の種類及び配置場所は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。カメラ３１には、例えば、デジタルカメラ、ビデオカメラ等の公知のカメラが利用されてよい。カメラ３１は、製品Ｒが搬送される生産ラインの近傍に配置されてよい。なお、カメラ３１が通信インタフェースを備える場合、検査装置１は、外部インタフェース１４ではなく、通信インタフェース１３を介して、カメラ３１に接続されてもよい。
【００５６】
入力装置１５は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置１６は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置１５及び出力装置１６を利用することで、検査装置１を操作することができる。
【００５７】
ドライブ１７は、例えば、ＣＤドライブ、ＤＶＤドライブ等であり、記憶媒体９１に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ１７の種類は、記憶媒体９１の種類に応じて適宜選択されてよい。上記検査プログラム８１、第１学習結果データ２２４、及び第２学習結果データ２２９の少なくともいずれかは、この記憶媒体９１に記憶されていてもよい。
【００５８】
記憶媒体９１は、コンピュータその他装置、機械等が、記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。検査装置１は、この記憶媒体９１から、上記検査プログラム８１、第１学習結果データ２２４、及び第２学習結果データ２２９の少なくともいずれかを取得してもよい。
【００５９】
ここで、図２では、記憶媒体９１の一例として、ＣＤ、ＤＶＤ等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体９１の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
【００６０】
なお、検査装置１の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部１１は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、ＦＰＧＡ（field-programmable gate array）、ＤＳＰ（digital signal processor）等で構成されてよい。記憶部１２は、制御部１１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。通信インタフェース１３、外部インタフェース１４、入力装置１５、出力装置１６及びドライブ１７の少なくともいずれかは省略されてもよい。検査装置１は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、検査装置１は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のデスクトップＰＣ（Personal Computer）、ノートＰＣ、タブレットＰＣ、スマートフォンを含む携帯電話等であってもよい。
【００６１】
＜学習装置＞
次に、図３を用いて、本実施形態に係る学習装置２のハードウェア構成の一例について説明する。図３は、本実施形態に係る学習装置２のハードウェア構成の一例を模式的に例示する。
【００６２】
図３に示されるとおり、本実施形態に係る学習装置２は、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、及びドライブ２６が電気的に接続されたコンピュータである。なお、図３では、図２と同様に、通信インタフェースを「通信Ｉ／Ｆ」と記載している。
【００６３】
学習装置２の制御部２１〜ドライブ２６はそれぞれ、上記検査装置１の制御部１１〜通信インタフェース１３及び入力装置１５〜ドライブ１７それぞれと同様に構成されてよい。すなわち、制御部２１は、ハードウェアプロセッサであるＣＰＵ、ＲＡＭ、ＲＯＭ等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部２２は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。記憶部２２は、学習プログラム８２、製品の良否を学習するための画像データ２２２、製品の良否を学習するための追加の画像データ２２７、第１学習結果データ２２４、第２学習結果データ２２９等の各種情報を記憶する。
【００６４】
学習プログラム８２は、第１識別器５及び第２識別器６それぞれを構築する後述の機械学習の情報処理（図８）を学習装置２に実行させ、その結果として第１学習結果データ２２４及び第２学習結果データ２２９を生成させるためのプログラムである。学習プログラム８２は、その情報処理の一連の命令を含む。画像データ２２２は、第１識別器５の機械学習に利用される第１学習データ２２１を構成する。第１学習データ２２１及び追加の画像データ２２７は、第２識別器６の機械学習に利用される第２学習データ２２６を構成する。詳細は後述する。
【００６５】
通信インタフェース２３は、例えば、有線ＬＡＮモジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。学習装置２は、この通信インタフェース２３を利用することで、ネットワークを介したデータ通信を他の情報処理装置（例えば、検査装置１）と行うことができる。
【００６６】
入力装置２４は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置２５は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置２４及び出力装置２５を利用することで、学習装置２を操作することができる。
【００６７】
ドライブ２６は、例えば、ＣＤドライブ、ＤＶＤドライブ等であり、記憶媒体９２に記憶されたプログラムを読み込むためのドライブ装置である。上記学習プログラム８２、画像データ２２２、及び追加の画像データ２２７のうちの少なくともいずれかは、記憶媒体９２に記憶されていてもよい。また、学習装置２は、記憶媒体９２から、上記学習プログラム８２、画像データ２２２、及び追加の画像データ２２７のうちの少なくともいずれかを取得してもよい。
【００６８】
なお、学習装置２の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部２１は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、ＦＰＧＡ、ＤＳＰ等で構成されてよい。記憶部２２は、制御部２１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。通信インタフェース２３、入力装置２４、出力装置２５及びドライブ２６の少なくともいずれかは省略されてもよい。学習装置２は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、学習装置２は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のＰＣ等であってもよい。
【００６９】
［ソフトウェア構成］
＜検査装置＞
次に、図４を用いて、本実施形態に係る検査装置１のソフトウェア構成の一例について説明する。図４は、本実施形態に係る検査装置１のソフトウェア構成の一例を模式的に例示する。
【００７０】
検査装置１の制御部１１は、記憶部１２に記憶された検査プログラム８１をＲＡＭに展開する。そして、制御部１１は、ＲＡＭに展開された検査プログラム８１をＣＰＵにより解釈及び実行して、各構成要素を制御する。これにより、図４に示されるとおり、本実施形態に係る検査装置１は、データ取得部１１１、判定部１１２、及び出力部１１３をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部１１（ＣＰＵ）により実現される。
【００７１】
データ取得部１１１は、検査の対象となる製品Ｒの写る対象画像データ１２１を取得する。本実施形態では、データ取得部１１１は、カメラ３１により製品Ｒを撮影することで、対象画像データ１２１を取得する。判定部１１２は、第１識別器５及び第２識別器６を含んでいる。判定部１１２は、第１識別器５及び第２識別器６を利用して、取得した対象画像データ１２１に写る製品Ｒの良否を判定する。出力部１１３は、製品Ｒの良否を判定した結果を出力する。
【００７２】
ここで、図５を更に用いて、第１識別器５及び第２識別器６それぞれに設定される判定基準について説明する。図５は、本実施形態に係る各識別器（５、６）に設定される各判定基準を模式的に例示する。本実施形態では、第１識別器５に対象画像データ１２１を入力することで第１識別器５から得られる第１出力値に対して、製品Ｒの良否を判定するための数値範囲が第１判定基準として設定される。また、第２識別器６に対象画像データ１２１を入力することで第２識別器６から得られる第２出力値に対して、製品Ｒの良否を判定するための数値範囲が第２判定基準として設定される。第２識別器６による良否の判定の結果を採用しない範囲を設けるため、第２判定基準の数値範囲は、第１判定基準の数値範囲よりも狭く設定される。
【００７３】
本実施形態に係る判定部１１２は、対象画像データ１２１を第２識別器６に入力することで、製品Ｒの良否を判定した結果に対応する第２出力値を第２識別器６から取得する。そして、取得した第２出力値が第２判定基準の数値範囲に含まれている場合には、判定部１１２は、第２識別器６による良否の判定を採用する、すなわち、第２出力値に基づいて、製品Ｒの良否を判定する。一方、取得した第２出力値が第２判定基準の数値範囲に含まれていない場合には、判定部１１２は、第２識別器６による良否の判定を採用せず、第１識別器５に対象画像データ１２１を入力することで、第１識別器５から第１出力値を取得する。そして、判定部１１２は、第１識別器５から取得した第１出力値に基づいて、製品Ｒの良否を判定する。
【００７４】
具体的に、図５で例示される本実施形態では、第１識別器５の第１出力値及び第２識別器６の第２出力値はそれぞれ、値が大きいほど製品Ｒに欠陥があることを示し、値が小さいほど製品Ｒは良品である（すなわち、欠陥がない）ことを示している。第１判定基準の数値範囲は、第１閾値以上の範囲及び第１閾値未満の範囲により構成される。一方、第２判定基準の数値範囲は、第２閾値以上の範囲、及び当該第２閾値よりも小さい第３閾値以下の範囲により構成される。
【００７５】
そこで、本実施形態では、判定部１１２は、対象画像データ１２１を第２識別器６に入力することで、製品Ｒの良否を判定した結果に対応する第２出力値を第２識別器６から取得する。次に、判定部１１２は、第２出力値と第２閾値とを比較する。そして、第２識別器６から取得した第２出力値が第２閾値より大きい場合には、判定部１１２は、第２判定基準の数値範囲に第２出力値が含まれるとして、製品Ｒには欠陥があると判定する。また、判定部１１２は、第２出力値と第３閾値とを比較する。そして、第２識別器６から取得した第２出力値が第３閾値よりも小さい場合には、第２判定基準の数値範囲に第２出力値が含まれるとして、判定部１１２は、製品Ｒは良品であると判定する。
【００７６】
一方、第２識別器６から取得した第２出力値が、第２閾値よりも小さく、第３閾値よりも大きい場合には、第２判定基準の数値範囲に第２出力値は含まれないとして、判定部１１２は、対象画像データ１２１を第１識別器５に入力することで、製品Ｒの良否を判定した結果である第１出力値を第１識別器５から取得する。次に、判定部１１２は、第１出力値と第１閾値とを比較する。そして、取得した第１出力値が第１閾値よりも大きい場合には、判定部１１２は、製品Ｒには欠陥があると判定する。他方、取得した第１出力値が第１閾値よりも小さい場合には、判定部１１２は、製品Ｒは良品であると判定する。
【００７７】
すなわち、本実施形態では、第２閾値以上の範囲及び第３閾値以下の範囲では、第２識別器６による良否の判定結果を採用し、第３閾値と第２閾値との間の範囲では、第２識別器６による良否の判定結果を採用しないようにする。これにより、判定部１１２は、第２識別器６を利用した良否の判定を、第１識別器５を利用した良否の判定よりも厳しく行う。つまり、判定部１１２は、第２識別器６の第２出力値が良否の識別結果を明確に示している場合には、第２識別器６を信頼して製品Ｒの良否を判定し、そうでない場合には、第２識別器６による判定結果を採用せずに第１識別器５により製品Ｒの良否を判定する。
【００７８】
なお、図５の例では、第１閾値は、第２閾値と第３閾値との間の値である。すなわち、第２閾値は、第１閾値よりも大きな値に設定され、第３閾値は、第１閾値よりも小さい値に設定されている。第１識別器５の機械学習に利用した画像データ２２２を第１識別器５に入力することで得られる第１出力値と画像データ２２２を第２識別器６に入力することで得られる第２出力値とがほぼ一致することが保証されている場合には、各閾値は、このような関係に設定されるのが好ましい。これにより、第２識別器６を利用した良否の判定の基準を、第１識別器５を利用した良否の判定の基準よりも厳しく設定することができる。ただし、各閾値の関係は、このような例に限定されなくてもよい。例えば、第１閾値は、第２閾値又は第３閾値と一致していてもよい。また、第１閾値は、第２閾値よりも大きくてもよいし、第３閾値よりも小さくてもよい。各閾値は、適宜決定されてよい。
【００７９】
（識別器）
次に、各識別器（５、６）の構成について説明する。図４に示されるとおり、第１識別器５は、ニューラルネットワークにより構成される。具体的には、第１識別器５は、いわゆる深層学習に用いられる多層構造のニューラルネットワークにより構成されており、入力層５１、中間層（隠れ層）５２、及び出力層５３を備えている。
【００８０】
なお、図４の例では、第１識別器５を構成するニューラルネットワークは、１層の中間層５２を備えており、入力層５１の出力が中間層５２に入力され、中間層５２の出力が出力層５３に入力されている。しかしながら、中間層５２の数は、１層に限られなくてもよい。第１識別器５は、２層以上の中間層５２を備えてもよい。
【００８１】
各層５１〜５３は、１又は複数のニューロンを備えている。例えば、入力層５１のニューロンの数は、対象画像データ１２１に応じて設定されてよい。中間層５２のニューロンの数は、実施の形態に応じて適宜設定されてよい。また、出力層５３のニューロンの数は、良否の判定結果の出力形式に応じて設定されてよい。具体例として、入力層５１のニューロンの数は、対象画像データ１２１の画素数に応じて設定されてよい。この場合、入力層５１の各ニューロンには、対象画像データ１２１の対応する各画素の画素値が入力されてよい。
【００８２】
隣接する層のニューロン同士は適宜結合され、各結合には重み（結合荷重）が設定されている。図４の例では、各ニューロンは、隣接する層の全てのニューロンと結合されている。しかしながら、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
【００８３】
各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。判定部１１２は、第１識別器５の入力層５１に対象画像データ１２１を入力し、ニューラルネットワークの演算処理として、各層に含まれる各ニューロンの発火判定を入力側から順に行う。これにより、判定部１１２は、入力した対象画像データ１２１に写る製品Ｒの良否を判定した結果に対応する第１出力値を出力層５３から取得することができる。
【００８４】
また、図４に示されるとおり、第２識別器６も、第１識別器５と同様に、ニューラルネットワークにより構成されている。第２識別器６は、第１識別器５と同様に構成されてよい。すなわち、入力層６１、中間層（隠れ層）６２、及び出力層６３は、第１識別器５の各層５１〜５３と同様に構成されてよい。ただし、第２識別器６のニューラルネットワークの構造は、第１識別器５と一致していなくてもよい。例えば、第２識別器６を構成するニューラルネットワークの層の数、各層におけるニューロンの個数、及びニューロン同士の結合関係は、第１識別器５を構成するニューラルネットワークと異なっていてもよい。
【００８５】
判定部１１２は、第２識別器６の入力層６１に対象画像データ１２１を入力し、ニューラルネットワークの演算処理として、各層に含まれる各ニューロンの発火判定を入力側から順に行う。これにより、判定部１１２は、入力した対象画像データ１２１に写る製品Ｒの良否を判定した結果に対応する第２出力値を出力層６３から取得することができる。
【００８６】
なお、第１識別器５（ニューラルネットワーク）の構成（例えば、各ネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数）、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報は、第１学習結果データ２２４に含まれている。同様に、第２識別器６（ニューラルネットワーク）の構成（例えば、各ネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数）、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報は、第２学習結果データ２２９に含まれている。判定部１１２は、第１学習結果データ２２４を参照して第１識別器５の設定を行い、第２学習結果データ２２９を参照して第２識別器６の設定を行う。
【００８７】
＜学習装置＞
次に、図６を用いて、本実施形態に係る学習装置２のソフトウェア構成の一例について説明する。図６は、本実施形態に係る学習装置２のソフトウェア構成の一例を模式的に例示する。
【００８８】
学習装置２の制御部２１は、記憶部２２に記憶された学習プログラム８２をＲＡＭに展開する。そして、制御部２１は、ＲＡＭに展開された学習プログラム８２をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図６に示されるとおり、本実施形態に係る学習装置２は、学習データ取得部２１１、及び学習処理部２１２をソフトウェアモジュールとして備えるコンピュータとして構成される。すなわち、本実施形態では、各ソフトウェアモジュールは、制御部２１（ＣＰＵ）により実現される。
【００８９】
学習データ取得部２１１は、製品の良否を学習するための画像データ２２２で構成された第１学習データ２２１を取得する。学習処理部２１２は、取得した第１学習データ２２１を利用した機械学習を実施することで、製品の良否を判定する能力を習得した学習済みの第１識別器５を構築する。
【００９０】
また、学習データ取得部２１１は、第１学習データ２２１と、製品の良否を学習するための追加の画像データ２２７とで構成された第２学習データ２２６を取得する。学習処理部２１２は、取得した第２学習データ２２６を利用した機械学習を実施することで、製品の良否を判定する能力を習得した学習済みの第２識別器６を構築する。すなわち、第２識別器６は、第１識別器５との関係で、再学習又は追加学習後の識別器である。
【００９１】
本実施形態では、各識別器（５、６）の学習モデルは、ニューラルネットワークにより構成されている。そのため、画像データ２２２には、画像データ２２２に写る製品の良否の判定に対する正解を示す正解データ２２３が付与されている。追加の画像データ２２７には、追加の画像データ２２７に写る製品の良否の判定に対する正解を示す正解データ２２８が付与されている。すなわち、第１学習データ２２１は、それぞれ画像データ２２２及び正解データ２２３の組み合わせを含む複数件のデータセットにより構成される。また、第２学習データ２２６は、それぞれ追加の画像データ２２７及び正解データ２２８の組み合わせを含む複数件のデータセット並びに第１学習データ２２１により構成される。
【００９２】
学習処理部２１２は、第１学習データ２２１に含まれる各件のデータセットについて、画像データ２２２を入力層５１に入力すると、入力した画像データ２２２に関連付けられた正解データ２２３に対応する出力値を出力層５３から出力するように第１識別器５の機械学習を行う。これにより、学習処理部２１２は、製品の良否を判定する能力を習得した学習済みの第１識別器５を構築する。そして、学習処理部２１２は、学習済みの第１識別器５の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第１学習結果データ２２４として記憶部２２に格納する。
【００９３】
また、学習処理部２１２は、第２学習データ２２６に含まれる各件のデータセットについて、画像データ（２２２、２２７）を入力層６１に入力すると、入力した画像データ（２２２、２２７）に関連付けられた正解データ（２２３、２２８）に対応する出力値を出力層６３から出力するように第２識別器６の機械学習を行う。これにより、学習処理部２１２は、製品の良否を判定する能力を習得した学習済みの第２識別器６を構築する。そして、学習処理部２１２は、学習済みの第２識別器６の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第２学習結果データ２２９として記憶部２２に格納する。
【００９４】
＜その他＞
検査装置１及び学習装置２の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、検査装置１及び学習装置２の各ソフトウェアモジュールがいずれも汎用のＣＰＵによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、１又は複数の専用のプロセッサにより実現されてもよい。また、検査装置１及び学習装置２それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
【００９５】
§３  動作例
［検査装置］
次に、図７を用いて、本実施形態に係る検査装置１の動作例について説明する。図７は、本実施形態に係る検査装置１の処理手順の一例を例示するフローチャートである。以下で説明する処理手順は、本発明の検査方法の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【００９６】
（ステップＳ１０１）
ステップＳ１０１では、制御部１１は、データ取得部１１１として動作し、検査の対象となる製品Ｒの写る対象画像データ１２１を取得する。本実施形態では、検査装置１は、外部インタフェース１４を介してカメラ３１に接続されている。そのため、制御部１１は、対象画像データ１２１をカメラ３１から取得する。この対象画像データ１２１は、動画像データであってもよいし、静止画像データであってもよい。この対象画像データ１２１を取得すると、制御部１１は、次のステップＳ１０２に処理を進める。
【００９７】
ただし、対象画像データ１２１を取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、検査装置１とは異なる他の情報処理装置が、カメラ３１に接続されていてもよい。この場合、検査装置１は、他の情報処理装置から対象画像データ１２１の送信を受け付けることで、対象画像データ１２１を取得してもよい。
【００９８】
（ステップＳ１０２〜Ｓ１０８）
ステップＳ１０２〜Ｓ１０８では、制御部１１は、判定部１１２として動作し、第１識別器５及び第２識別器６を利用して、対象画像データ１２１に写る製品Ｒの良否を判定する。
【００９９】
上記のとおり、本実施形態では、第１識別器５に対象画像データ１２１を入力することで第１識別器５から得られる第１出力値に対して、製品Ｒの良否を判定するための数値範囲が第１判定基準として設定されている。また、第２識別器６に対象画像データ１２１を入力することで第２識別器６から得られる第２出力値に対して、製品Ｒの良否を判定するための数値範囲が第２判定基準として設定されている。第２識別器６による良否の判定の結果を採用しない範囲を設けるため、第２判定基準の数値範囲は、第１判定基準の数値範囲よりも狭く設定されている。
【０１００】
具体的には、第１識別器５の第１出力値及び第２識別器６の第２出力値はそれぞれ、値が大きいほど製品Ｒに欠陥があることを示し、値が小さいほど製品Ｒは良品である（すなわち、欠陥がない）ことを示している。第１判定基準の数値範囲は、第１閾値以上の範囲及び第１閾値未満の範囲により構成されている。一方、第２判定基準の数値範囲は、第２閾値以上の範囲、及び当該第２閾値よりも小さい第３閾値以下の範囲により構成されている。
【０１０１】
（Ａ）ステップＳ１０２
そこで、ステップＳ１０２では、制御部１１は、取得した対象画像データ１２１を第２識別器６に入力して、当該第２識別器６の演算処理を実行する。これにより、制御部１１は、対象画像データ１２１に写る製品Ｒの良否を判定した結果に対応する第２出力値を第２識別器６から取得する。
【０１０２】
詳細には、制御部１１は、第２学習結果データ２２９を参照して、学習済みの第２識別器６の設定を行う。続いて、制御部１１は、対象画像データ１２１を第２識別器６の入力層６１に入力し、入力側から順に各層６１〜６３に含まれる各ニューロンの発火判定を行う。これにより、制御部１１は、第２識別器６の出力層６３から第２出力値を取得する。第２出力値を取得すると、制御部１１は、次のステップＳ１０３に処理を進める。
【０１０３】
（Ｂ）ステップＳ１０３及びＳ１０４
ステップＳ１０３では、制御部１１は、第２出力値と第２閾値とを比較することで、第２出力値が第２閾値よりも大きいか否かを判定する。第２出力値が第２閾値よりも大きいと判定した場合には、制御部１１は、第２判定基準の数値範囲に第２出力値が含まれるとして、次のステップＳ１０４に処理を進めて、製品Ｒには欠陥があると判定する。
【０１０４】
この良否の判定は、上記のとおり、製品Ｒに欠陥があるか否かを単に判定することであってもよいし、製品Ｒに欠陥がある否かを判定することに加えて、その欠陥の種類を識別することを含んでもよい。欠陥は、例えば、傷、汚れ、クラック、打痕、埃、バリ、色ムラ等である。欠陥の種類を識別する方法は、実施の形態に応じて適宜決定されてよい。例えば、第２識別器６は、それぞれ欠陥の種類に対応する複数の第２出力値を出力するように構成されてよい。この場合、複数の第２出力値のうちから第２閾値よりも大きい第２出力値を特定することで、制御部１１は、製品Ｒに存在する欠陥の種類を識別することができる。なお、各第２閾値（各第３閾値）は、各第２出力値に応じて適宜設定されてよい。また、各第２閾値（各第３閾値）は、他の第２閾値（他の第３閾値）と一致していてもよいし、他の第２閾値（他の第３閾値）と異なっていてもよい。後述するステップＳ１０６及びＳ１０８における良否の判定についても同様である。製品Ｒには欠陥があると判定した後、制御部１１は、次のステップＳ１０９に処理を進める。
【０１０５】
一方、第２識別器６から取得した第２出力値が第２閾値よりも小さいと判定した場合には、制御部１１は、次のステップＳ１０５に処理を進める。なお、第２出力値と第２閾値とが等しいケースの取り扱いは、実施の形態に応じて適宜決定されてよい。すなわち、第２出力値と第２閾値とが等しいケースは、第２出力値が第２閾値よりも大きいケース及び第２出力値が第２閾値よりも小さいケースのいずれに含まれてもよい。
【０１０６】
（Ｃ）ステップＳ１０５及びＳ１０６
ステップＳ１０５では、制御部１１は、第２出力値と第３閾値とを比較することで、第２出力値が第３閾値よりも小さいか否かを判定する。第２出力値が第３閾値よりも小さいと判定した場合には、制御部１１は、第２判定基準の数値範囲に第２出力値が含まれるとして、次のステップＳ１０６に処理を進めて、製品Ｒは良品であると判定する。製品Ｒは良品であると判定した後、制御部１１は、次のステップＳ１０９に処理を進める。
【０１０７】
一方、第２識別器６から取得した第２出力値が第３閾値よりも大きいと判定した場合には、制御部１１は、次のステップＳ１０７に処理を進める。なお、上記ステップＳ１０３と同様に、第２出力値と第３閾値とが等しいケースの取り扱いは、実施の形態に応じて適宜決定されてよい。すなわち、第２出力値と第３閾値とが等しいケースは、第２出力値が第３閾値よりも小さいケース及び第２出力値が第３閾値よりも大きいケースのいずれに含まれてもよい。
【０１０８】
（Ｄ）ステップＳ１０７及びＳ１０８
第２識別器６から取得した第２出力値が、第２閾値よりも小さく、第３閾値よりも大きいと判定した場合に、制御部１１は、第２判定基準の数値範囲に第２出力値は含まれないとして、ステップＳ１０７及びＳ１０８の処理を実行する。
【０１０９】
ステップＳ１０７では、制御部１１は、取得した対象画像データ１２１を第１識別器５に入力して、当該第１識別器５の演算処理を実行する。これにより、制御部１１は、対象画像データ１２１に写る製品Ｒの良否を判定した結果に対応する第１出力値を第１識別器５から取得する。
【０１１０】
詳細には、制御部１１は、第１学習結果データ２２４を参照して、学習済みの第１識別器５の設定を行う。続いて、制御部１１は、対象画像データ１２１を第１識別器５の入力層５１に入力し、入力側から順に各層５１〜５３に含まれる各ニューロンの発火判定を行う。これにより、制御部１１は、第１識別器５の出力層５３から第１出力値を取得する。第１出力値を取得すると、制御部１１は、次のステップＳ１０８に処理を進める。
【０１１１】
ステップＳ１０８では、制御部１１は、第１出力値と第１閾値とを比較することで、取得した第１出力値が第１閾値よりも大きいか否かを判定する。取得した第１出力値が第１閾値よりも大きいと判定した場合には、制御部１１は、製品Ｒには欠陥があると判定する。他方、取得した第１出力値が第１閾値よりも小さいと判定した場合には、制御部１１は、製品Ｒは良品であると判定する。これらにより、製品Ｒの良否を判定した後、制御部１１は、次のステップＳ１０９に処理を進める。
【０１１２】
なお、第１出力値と第１閾値とが等しいケースの取り扱いは、実施の形態に応じて適宜決定されてよい。すなわち、第１出力値と第１閾値とが等しいケースは、第１出力値が第１閾値よりも大きいケース及び第１出力値が第１閾値よりも小さいケースのいずれに含まれてもよい。
【０１１３】
また、上記のとおり、この良否の判定も、ステップＳ１０４及びＳ１０６と同様に、製品Ｒに欠陥があるか否かを単に判定することであってもよいし、製品Ｒに欠陥がある否かを判定することに加えて、その欠陥の種類を識別することを含んでもよい。欠陥の種類を識別する方法は、実施の形態に応じて適宜決定されてよい。例えば、第１識別器５は、第２識別器６と同様に、それぞれ欠陥の種類に対応する複数の第１出力値を出力するように構成されてよい。この場合、複数の第１出力値のうちから第１閾値よりも大きい第１出力値を特定することで、制御部１１は、製品Ｒに存在する欠陥の種類を識別することができる。なお、各第１閾値は、各第１出力値に応じて適宜設定されてよい。また、各第１閾値は、他の第１閾値と一致していてもよいし、他の第１閾値と異なっていてもよい。
【０１１４】
以上により、制御部１１は、対象画像データ１２１を第２識別器６に入力することで、製品Ｒの良否を判定した結果に対応する第２出力値を第２識別器６から取得する（ステップＳ１０２）。そして、取得した第２出力値が第２判定基準の数値範囲に含まれている場合には、制御部１１は、第２識別器６による良否の判定を採用する、すなわち、第２出力値に基づいて、製品Ｒの良否を判定する（ステップＳ１０３〜Ｓ１０６）。一方、取得した第２出力値が第２判定基準の数値範囲に含まれていない場合には、制御部１１は、第２識別器６による良否の判定を採用せず、第１識別器５に対象画像データ１２１を入力することで、第１識別器５から第１出力値を取得する（ステップＳ１０７）。そして、制御部１１は、第１識別器５から取得した第１出力値に基づいて、製品Ｒの良否を判定する（ステップＳ１０８）。
【０１１５】
（ステップＳ１０９）
ステップＳ１０９では、制御部１１は、出力部１１３として動作し、製品Ｒの良否を判定した結果を出力する。
【０１１６】
製品Ｒの良否を判定した結果の出力形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部１１は、製品Ｒの良否を判定した結果をそのまま出力装置１６に出力してもよい。また、例えば、ステップＳ１０４又はＳ１０８において、製品Ｒに欠陥があると判定した場合、制御部１１は、欠陥を発見したことを知らせるための警告を本ステップＳ１０９の出力処理として行ってもよい。警告の送信先は、出力装置１６であってもよいし、管理者の携帯端末等の他の情報処理装置であってもよい。また、例えば、製品Ｒの搬送を行う製造ラインに検査装置１が接続されている場合、製品Ｒに欠陥があると判定したときに、制御部１１は、欠陥のある製品Ｒを欠陥のない製品とは異なる経路で搬送する指令を製造ラインに送信する処理を本ステップＳ１０９の出力処理として行ってもよい。
【０１１７】
製品Ｒの良否を判定した結果の出力処理が完了すると、制御部１１は、本動作例に係る処理を終了する。なお、制御部１１は、製造ライン上を搬送される製品Ｒがカメラ３１の撮影範囲に入る度に、ステップＳ１０１〜Ｓ１０９の一連の処理を実行してもよい。これにより、検査装置１は、製造ライン上を搬送される製品Ｒの外観検査を行うことができる。
【０１１８】
［学習装置］
次に、図８を用いて、本実施形態に係る学習装置２の動作例について説明する。図８は、本実施形態に係る学習装置２の処理手順の一例を例示するフローチャートである。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。なお、学習装置２は、利用する学習データが異なる点を除き、同様の処理手順により、第１識別器５及び第２識別器６を構築することができる。以下では、まず、第１識別器５を構築する際の処理手順について説明する。
【０１１９】
（I）第１識別器の構築
（ステップＳ２０１）
ステップＳ２０１では、制御部２１は、学習データ取得部２１１として動作し、製品の良否を学習するための画像データ２２２で構成された第１学習データ２２１を取得する。本実施形態では、第１識別器５の学習モデルがニューラルネットワークにより構成されているため、制御部２１は、それぞれ画像データ２２２及び正解データ２２３の組み合わせを含む複数件のデータセットにより構成された第１学習データ２２１を取得する。
【０１２０】
第１学習データ２２１を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、カメラを用意し、検査対象となる製品Ｒと同種の製品であって、欠陥のある製品（不良品）及び欠陥のない製品（良品）それぞれを、用意したカメラにより様々な条件で撮影することで、良否の表れた製品の写る画像データ２２２を取得することができる。そして、得られた画像データ２２２に対して、その画像データ２２２に写る製品に表れた良否（正解）を示す正解データ２２３を組み合わせることで、学習用のデータセットを作成することができる。正解データ２２３の具体的な内容は、値が大きいほど製品に欠陥があることを示し、値が小さいほど製品は良品である（すなわち、欠陥がない）ことを示すように適宜決定されてよい。この学習用のデータセットの作成を繰り返すことで、複数件のデータセットで構成された第１学習データ２２１を作成することができる。
【０１２１】
この第１学習データ２２１の作成は、学習装置２により行われてもよい。この場合、制御部２１は、オペレータによる入力装置２４の操作に応じて、第１学習データ２２１を作成してもよい。また、制御部２１は、学習プログラム８２の処理により、第１学習データ２２１を自動的に作成してもよい。この作成処理を実行することで、本ステップＳ２０１では、制御部２１は、第１学習データ２２１を取得することができる。
【０１２２】
あるいは、第１学習データ２２１の作成は、学習装置２以外の他の情報処理装置により行われてもよい。他の情報処理装置では、第１学習データ２２１は、オペレータにより手動で作成されてもよいし、プログラムの処理により自動的に作成されてもよい。この場合、本ステップＳ２０１では、制御部２１は、ネットワーク、記憶媒体９２等を介して、他の情報処理装置により作成された第１学習データ２２１を取得してもよい。
【０１２３】
第１学習データ２２１を構成するデータセットの件数は、特に限定されなくてもよく、例えば、第１識別器５の機械学習を実施可能な程度に適宜決定されてよい。これにより、第１学習データ２２１を取得すると、制御部２１は、次のステップＳ２０２に処理を進める。
【０１２４】
（ステップＳ２０２）
ステップＳ２０２では、制御部２１は、学習処理部２１２として動作し、ステップＳ２０１で取得した第１学習データ２２１を利用した機械学習を実行することで、製品の良否を判定する能力を習得した学習済みの第１識別器５を構築する。本実施形態では、制御部２１は、第１学習データ２２１を構成する各件のデータセットを用いて、画像データ２２２を入力層５１に入力すると、正解データ２２３に対応する出力値を出力層５３から出力するようにニューラルネットワークの機械学習を実施する。
【０１２５】
具体的には、まず、制御部２１は、学習処理を行う対象となるニューラルネットワーク（学習前の第１識別器５）を用意する。用意するニューラルネットワークの構成、各ニューロン間の結合の重みの初期値、各ニューロンの閾値の初期値等の各パラメータは、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。他の識別器の再学習又は追加学習を行うことで第１識別器５を構成する場合、制御部２１は、他の識別器の学習結果データに基づいて、学習前のニューラルネットワークを用意してもよい。
【０１２６】
次に、制御部２１は、ステップＳ２０１で取得した第１学習データ２２１の各件のデータセットに含まれる画像データ２２２を入力データとして用い、正解データ２２３を教師データとして用いて、ニューラルネットワークの学習処理を実行する。このニューラルネットワークの学習処理には、確率的勾配降下法等が用いられてよい。
【０１２７】
例えば、制御部２１は、画像データ２２２を入力層５１に入力し、入力側から順に各層５１〜５３に含まれる各ニューロンの発火判定を行う。これにより、制御部２１は、出力層５３から出力値を得る。次に、制御部２１は、出力層５３から得た出力値と正解データ２２３により示される正解に対応する値との誤差を算出する。続いて、制御部２１は、誤差逆伝搬（Back propagation）法により、算出した出力値の誤差を用いて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。そして、制御部２１は、算出した各誤差に基づいて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。
【０１２８】
第１学習データ２２１を構成する各件のデータセットについて、画像データ２２２を入力層５１に入力することにより出力層５３から得られる出力値が、入力した画像データ２２２に関連付けられた正解データ２２３により示される正解に対応する値と一致するまで、制御部２１は、この一連の処理を繰り返す。これにより、制御部２１は、画像データ２２２を入力すると、正解データ２２３により示される正解に対応する出力値を出力する学習済みのニューラルネットワーク（すなわち、第１識別器５）を構築することができる。第１識別器５の学習処理が完了すると、制御部２１は、次のステップＳ２０３に処理を進める。
【０１２９】
（ステップＳ２０３）
ステップＳ２０３では、制御部２１は、学習処理部２１２として動作し、機械学習により構築された第１識別器５の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第１学習結果データ２２４として記憶部２２に格納する。これにより、制御部２１は、本動作例に係る処理を終了する。
【０１３０】
（II）第２識別器の構築
次に、第２識別器６を構築する際の処理手順について説明する。学習装置２は、利用する学習データが第１識別器５と異なる点を除き、第１識別器５と同様に第２識別器６を構築することができる。
【０１３１】
（ステップＳ２０１）
すなわち、ステップＳ２０１では、制御部２１は、学習データ取得部２１１として動作し、第１学習データ２２１及び製品の良否を学習するための追加の画像データ２２７で構成された第２学習データ２２６を取得する。本実施形態では、第２識別器６の学習モデルがニューラルネットワークにより構成されているため、制御部２１は、それぞれ追加の画像データ２２７及び正解データ２２８の組み合わせを含む複数件のデータセット並びに第１学習データ２２１により構成された第２学習データ２２６を取得する。
【０１３２】
第２学習データ２２６の追加の画像データ２２７及び正解データ２２８は、上記第１学習データ２２１と同様の方法により取得されてよい。制御部２１は、上記データセットの作成処理を実行することで、第２学習データ２２６を取得することができる。あるいは、第２学習データ２２６が他の情報処理装置により作成される場合、制御部２１は、ネットワーク、記憶媒体９２等を介して、他の情報処理装置により作成された第２学習データ２２６を取得することができる。第２学習データ２２６を取得すると、制御部２１は、次のステップＳ２０２に処理を進める。
【０１３３】
（ステップＳ２０２）
ステップＳ２０２では、制御部２１は、学習処理部２１２として動作し、ステップＳ２０２で取得した第２学習データ２２６を利用した機械学習を実行することで、製品の良否を判定する能力を習得した学習済みの第２識別器６を構築する。制御部２１は、第２学習データ２２６を構成する各件のデータセットを用いて、画像データ（２２２、２２７）を入力層６１に入力すると、正解データ（２２３、２２８）に対応する出力値を出力層６３から出力するようにニューラルネットワークの機械学習を実施する。
【０１３４】
このとき、用意するニューラルネットワーク（学習前の第２識別器６）の構成、各ニューロン間の結合の重みの初期値、各ニューロンの閾値の初期値等の各パラメータは、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、第１識別器５の再学習又は追加学習を行う場合、制御部２１は、第１学習結果データ２２４に基づいて、学習前のニューラルネットワークを用意してもよい。
【０１３５】
次に、制御部２１は、ステップＳ２０１で取得した第２学習データ２２６の各件のデータセットに含まれる画像データ（２２２、２２７）を入力データとして用い、正解データ（２２３、２２８）を教師データとして用いて、ニューラルネットワークの上記学習処理を実行する。なお、第１学習結果データ２２４に基づいて用意した学習前のニューラルネットワークに対して追加学習のみを行う場合、制御部２１は、第１学習データ２２１（画像データ２２２及び正解データ２２３）の機械学習を省略してもよい。これにより、制御部２１は、画像データ（２２２、２２７）を入力すると、入力した画像データ（２２２、２２７）に関連付けられた正解データ（２２３、２２８）により示される正解に対応する出力値を出力する学習済みのニューラルネットワーク（すなわち、第２識別器６）を構築することができる。第２識別器６の学習処理が完了すると、制御部２１は、次のステップＳ２０３に処理を進める。
【０１３６】
（ステップＳ２０３）
ステップＳ２０３では、制御部２１は、学習処理部２１２として動作し、機械学習により構築された第２識別器６の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を第２学習結果データ２２９として記憶部２２に格納する。これにより、制御部２１は、本動作例に係る処理を終了する。
【０１３７】
（III）その他
なお、制御部２１は、上記ステップＳ２０３の処理が完了した後、作成した第１学習結果データ２２４及び第２学習結果データ２２９を検査装置１に転送してもよい。また、例えば、制御部２１は、作成した第１学習結果データ２２４及び第２学習結果データ２２９をＮＡＳ（Network Attached Storage）等のデータサーバに保管してもよい。この場合、検査装置１は、第１学習結果データ２２４及び第２学習結果データ２２９をこのデータサーバから取得してもよい。また、第１学習結果データ２２４及び第２学習結果データ２２９は、検査装置１に予め組み込まれていてもよい。
【０１３８】
［特徴］
以上のとおり、本実施形態に係る学習装置２は、ステップＳ２０１〜Ｓ２０３の一連の処理により、第１学習データ２２１を利用した機械学習を実行することで、第１識別器５を構築する。これに対して、学習装置２は、第１学習データ２２１及び追加の画像データ２２７により構成される第２学習データ２２６を利用した機械学習を実行することで、第２識別器６を構築する。この第２識別器６の構築の過程で、第１学習データ２２１には含まれていない未知のケースを追加の画像データ２２７として用意することで、学習装置２は、製品Ｒの良否の判定が第１識別器５では不能なケースに対して対応可能な第２識別器６を構築することができる。これにより、検査装置１では、第１識別器５では良否の判定が不能なケースについて、第２識別器６を利用することで、製品Ｒの良否を判定することができるようになる。
【０１３９】
加えて、本実施形態に係る検査装置１では、第２識別器６による判定結果を採用するか否かを定める第２判定基準の数値範囲が、第１判定基準の数値範囲よりも狭く設定されている。これによって、本実施形態に係る検査装置１は、第２識別器６から得られる第２出力値が良否の識別結果を明確に示している場合には、ステップＳ１０４及びＳ１０６により、第２出力値に基づいて製品Ｒの良否を判定することができる。一方、そうでない場合には、検査装置１は、第２識別器による判定結果を採用せずに、ステップＳ１０７及びＳ１０８により、第１識別器５から得られる第１出力値に基づいて製品Ｒの良否を判定することができる。
【０１４０】
これにより、過学習による識別性能の悪化が生じ得る閾値の境界付近の範囲において、再学習又は追加学習前の判定結果を保証し、再学習又は追加学習による判定結果の変動を抑制することができる。特に、本実施形態では、第２閾値を第１閾値よりも大きな値に設定し、第３閾値を第１閾値よりも小さな値に設定することで、過学習による識別性能の悪化が生じ得る閾値の境界付近の範囲において、再学習又は追加学習前の判定結果を適切に保証することができる。したがって、本実施形態によれば、再学習又は追加学習により第２識別器６の識別性能が第１識別器５よりも悪化してしまった場合でも、良否判定の信頼性が損なわれてしまうのを防止することができる。
【０１４１】
§４  変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【０１４２】
＜４．１＞
上記実施形態では、各識別器（５、６）は、多層構造の全結合ニューラルネットワークにより構成されている。しかしながら、各識別器（５、６）の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、各識別器（５、６）は、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク等により構成されてよい。
【０１４３】
＜４．２＞
上記実施形態では、各識別器（５、６）の学習モデルとして、ニューラルネットワークを採用している。しかしながら、各識別器（５、６）の学習モデルは、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。各識別器（５、６）の学習モデルとして、例えば、サポートベクタマシン、自己組織化マップ、強化学習により機械学習を行う学習モデル等が採用されてよい。なお、機械学習として教師あり学習を採用しない場合には、各学習データ（２２１、２２６）において、各正解データ（２２３、２２８）は省略されてもよい。
【０１４４】
＜４．３＞
上記実施形態では、各学習結果データ（２２４、２２９）は、ニューラルネットワークの構成を示す情報を含んでいる。しかしながら、各学習結果データ（２２４、２２９）の構成は、このような例に限定されなくてもよく、学習済みの各識別器（５、６）の設定に利用可能であれば、実施の形態に応じて適宜決定されてよい。例えば、利用するニューラルネットワークの構成が各装置で共通化されている場合には、各学習結果データ（２２４、２２９）は、ニューラルネットワークの構成を示す情報を含んでいなくてもよい。
【０１４５】
＜４．４＞
上記実施形態ではステップＳ１０３及びＳ１０５により、第２識別器６による判定結果を採用しないと判定した場合に限り、制御部１１は、ステップＳ１０７により、第１識別器５の演算処理を実行して、第１識別器５による良否の判定結果に対応する第１出力値を取得している。しかしながら、検査装置１の処理手順は、このような例に限定されなくてもよい。制御部１１は、第２識別器６による判定結果を採用するか否かに関わらず、第１識別器５の演算処理を実行して、第１識別器５による良否の判定結果に対応する第１出力値を取得してもよい。
【０１４６】
＜４．５＞
上記実施形態では、第１識別器５から得られる第１出力値及び第２識別器６から得られる第２出力値はそれぞれ、値が大きいほど製品Ｒに欠陥があることを示し、値が小さいほど製品Ｒは良品であることを示している。しかしながら、第１出力値及び第２出力値と製品Ｒの良否との対応関係は、このような例に限定されなくてもよい。
【０１４７】
例えば、第１識別器５から得られる第１出力値及び第２識別器６から得られる第２出力値はそれぞれ、値が大きいほど製品Ｒは良品であることを示し、値が小さいほど製品Ｒには欠陥があることを示すように設定されてよい。この場合、上記実施形態と同様に、第１判定基準の数値範囲は、第１閾値以上の範囲及び第１閾値未満の範囲により構成されてよく、第２判定基準の数値範囲は、第２閾値以上の範囲、及び当該第２閾値よりも小さい第３閾値以下の範囲により構成されてよい。
【０１４８】
検査装置１の制御部１１は、ステップＳ１０３において、第２識別器６から取得した第２出力値が第２閾値よりも大きいと判定した場合に、第２出力値が第２判定基準の数値範囲に含まれるとして、ステップＳ１０４において、製品Ｒは良品であると判定してもよい。また、制御部１１は、ステップＳ１０５において、第２識別器６から取得した第２出力値が第３閾値よりも小さいと判定した場合に、第２出力値が第２判定基準の数値範囲に含まれるとして、ステップＳ１０６において、製品Ｒには欠陥があると判定してもよい。
【０１４９】
一方、第２識別器６から取得した第２出力値が、第２閾値よりも小さく、第３閾値よりも大きいと判定した場合には、制御部１１は、第２出力値は第２判定基準の数値範囲に含まれないとして、上記ステップＳ１０７の処理を実行し、第１識別器５から第１出力値を取得してもよい。そして、制御部１１は、ステップＳ１０８において、第１出力値と第１閾値とを比較することで、第１出力値が第１閾値よりも大きいか否かを判定してもよい。取得した第１出力値が第１閾値よりも大きいと判定した場合に、制御部１１は、製品Ｒは良品であると判定してもよい。他方、取得した第１出力値が第１閾値よりも小さいと判定した場合には、制御部１１は、製品Ｒには欠陥があると判定してもよい。
【０１５０】
＜４．６＞
上記実施形態及び＜４．５＞の変形例では、第１識別器５から得られる第１出力値及び第２識別器６から得られる第２出力値はそれぞれ、値の大小に応じて欠陥の有無を表している。しかしながら、第１出力値及び第２出力値の形式は、このような例に限定されなくてもよい。
【０１５１】
例えば、図９に例示されるとおり、第１識別器５から得られる第１出力値及び第２識別器６から得られる第２出力値はそれぞれ、製品Ｒに欠陥がある確率（欠陥率）又は製品Ｒが良品である確率（良品率）を示してもよい。図９は、各識別器（５、６）の判定基準のその他の例を例示する。図９の例では、第１判定基準の数値範囲は、第１閾値以上の範囲及び第１閾値未満の範囲により構成されている。これに対して、第２判定基準の数値範囲は、第２閾値以上の範囲により構成されている。
【０１５２】
なお、図９の例では、第２閾値は、第１閾値よりも大きな値に設定されている。第１識別器５の機械学習に利用した画像データ２２２を第１識別器５に入力することで得られる第１出力値と画像データ２２２を第２識別器６に入力することで得られる第２出力値とがほぼ一致することが保証されている場合には、各閾値は、このような関係に設定されるのが好ましい。ただし、各閾値の関係は、このような例に限定されなくてもよい。例えば、第１閾値と第２閾値とは一致していてもよいし、第２閾値は、第１閾値よりも小さくてもよい。各閾値は、適宜決定されてよい。
【０１５３】
第１識別器５から得られる第１出力値及び第２識別器６から得られる第２出力値はそれぞれ製品Ｒに欠陥がある確率を示している場合、制御部１１は、上記ステップＳ１０３〜Ｓ１０６の処理に代えて、次のように製品Ｒの良否を判定する。すなわち、制御部１１は、第２識別器６から取得した第２出力値と第２閾値とを比較することで、第２出力値が第２閾値よりも大きいか否かを判定する。第２出力値が第２閾値よりも大きいと判定した場合には、制御部１１は、第２出力値は第２判定基準の数値範囲に含まれるとして、製品Ｒには欠陥があると判定し、次のステップＳ１０９に処理を進める。
【０１５４】
一方、第２出力値が第２閾値よりも小さいと判定した場合には、制御部１１は、第２出力値は第２判定基準の数値範囲に含まれないとして、ステップＳ１０７に処理を進める。ステップＳ１０７では、制御部１１は、上記のとおり、対象画像データ１２１を第１識別器５に入力することで、第１識別器５から第１出力値を取得する。そして、ステップＳ１０８では、制御部１１は、取得した第１出力値と第１閾値とを比較し、取得した第１出力値が第１閾値よりも大きいか否かを判定する。第１出力値が第１閾値よりも大きいと判定した場合、制御部１１は、製品Ｒには欠陥があると判定する。他方、第１出力値が第１閾値よりも小さいと判定した場合、制御部１１は、製品Ｒは良品であると判定してもよいし、製品Ｒの良否は不明であると判定してもよい。これにより、製品Ｒの良否の判定が完了すると、制御部１１は、次のステップＳ１０９に処理を進める。
【０１５５】
なお、第２出力値と第２閾値とが等しいケース及び第１出力値と第１閾値とが等しいケースの取り扱いはそれぞれ、実施の形態に応じて適宜決定されてよい。すなわち、第２出力値と第２閾値とが等しいケースは、第２出力値が第２閾値よりも大きいケース及び第２出力値が第２閾値よりも小さいケースのいずれに含まれてもよい。また、第１出力値と第１閾値とが等しいケースは、第１出力値が第１閾値よりも大きいケース及び第１出力値が第１閾値よりも小さいケースのいずれに含まれてもよい。
【０１５６】
また、第１識別器５から得られる第１出力値及び第２識別器６から得られる第２出力値はそれぞれ製品Ｒが良品である確率を示している場合も、制御部１１は、上記と同様に、製品Ｒの良否を判定することができる。すなわち、第２識別器６から取得した第２出力値が第２閾値よりも大きいと判定した場合に、制御部１１は、第２出力値が第２判定基準の数値範囲に含まれるとして、製品Ｒは良品であると判定する。一方、第２出力値が第２閾値よりも小さいと判定した場合には、制御部１１は、第２出力値は第２判定基準の数値範囲に含まれないとして、対象画像データ１２１を第１識別器５に入力することで、第１識別器５から第１出力値を取得する。そして、取得した第１出力値が第１閾値よりも大きいと判定した場合には、制御部１１は、製品Ｒは良品であると判定する。他方、取得した第１出力値が第１閾値よりも小さいと判定した場合には、制御部１１は、製品Ｒには欠陥があると判定してもよいし、製品Ｒの良否は不明であると判定してもよい。
【０１５７】
なお、各識別器（５、６）は、複数の出力値を出力するように構成されてもよい。この場合、各識別器（５、６）から出力される複数の出力値のうち、製品Ｒが良品である確率をいずれかの出力値が示し、製品Ｒに欠陥がある（又は、製品Ｒに特定の欠陥がある）確率をその他の出力値が示してもよい。この場合も、上記と同様に、制御部１１は、各識別器（５、６）の各出力値に基づいて、製品Ｒの良否を判定することができる。
【０１５８】
＜４．７＞
上記実施形態では、製品Ｒの外観検査を行う場面に本発明を適用した例を示している。しかしながら、本発明の適用範囲は、このような外観検査の場面に限られなくてもよい。本発明は、画像データから何らかの特徴、すなわち、被写体の状態を判定する場面に広く適用可能である。
【０１５９】
図１０及び図１１は、本変形例に係る画像識別装置１Ａのハードウェア構成及びソフトウェア構成の一例を模式的に例示する。処理対象となるデータが、製品の写る画像データから何らかの被写体の写る画像データに置き換わる点を除き、本変形例に係る画像識別装置１Ａは、上記検査装置１と同様に構成されてよい。すなわち、図１０及び図１１に示されるとおり、画像識別装置１Ａのハードウェア構成及びソフトウェア構成はそれぞれ、上記検査装置１のハードウェア構成及びソフトウェア構成それぞれと同じであってよい。
【０１６０】
本変形例において、被写体、及び識別の対象となる被写体の状態はそれぞれ、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。被写体は、例えば、対象者の顔、対象者の身体、作業対象のワーク等であってもよい。また、被写体が対象者の顔である場合、識別の対象となる状態は、例えば、表情の種別、顔のパーツの状態、その顔を所有する個人等であってもよい。顔を所有する個人の識別は、顔認証を実施するために行われてよい。被写体が対象者の身体である場合には、識別の対象となる状態は、例えば、身体のポーズ等であってもよい。被写体が作業対象のワークである場合、識別の対象となる状態は、例えば、ワークの位置、姿勢等であってもよい。
【０１６１】
具体的に、図１０に示されるとおり、画像識別装置１Ａの記憶部１２は、画像識別プログラム８１Ａ、第１学習結果データ２２４Ａ、第２学習結果データ２２９Ａ等の各種情報を記憶する。画像識別プログラム８１Ａは、上記検査装置１と同様の処理手順により、被写体の状態を判定する情報処理を画像識別装置１Ａに実行させるためのプログラムであり、当該情報処理の一連の命令を含む。第１学習結果データ２２４Ａは、学習済みの第１識別器５Ａの設定を行うためのデータである。第２学習結果データ２２９Ａは、学習済みの第２識別器６Ａの設定を行うためのデータである。
【０１６２】
第１識別器５Ａは、被写体の状態を識別する学習を行うための画像データで構成された第１学習データを利用した機械学習により構築される。第２識別器６Ａは、被写体の状態を識別する学習を行うための追加の画像データ及び第１学習データで構成された第２学習データを利用した機械学習により構築される。各識別器（５Ａ、６Ａ）は、対象の画像データに写る被写体の状態を識別する能力を習得するように構築される。各識別器（５Ａ、６Ａ）の機械学習は、上記学習装置２により、上記実施形態と同様に実行されてよい。被写体が対象者の顔である場合、第１識別器５Ａは、例えば、顔の写る画像データ及び画像データに写る顔の状態の識別に対する正解を示す正解データで構成された第１学習データを利用した機械学習により構築される。また、第２識別器６Ａは、例えば、顔の写る追加の画像データ及び追加の画像データに写る顔の状態の識別に対する正解を示す正解データ並びに第１学習データで構成された第２学習データを利用した機械学習により構築される。
【０１６３】
なお、画像識別装置１Ａは、上記実施形態と同様に、外部インタフェース１４を介してカメラ３１に接続されている。カメラ３１は、状態を判定する対象となる被写体を撮影可能な場所に適宜配置される。例えば、被写体が対象者の顔又は身体である場合、カメラ３１は、被写体となる対象者の存在し得る場所に配置されてよい。また、例えば、被写体が作業対象のワークである場合、カメラ３１は、ワークの存在し得る場所に向けて配置されてよい。
【０１６４】
また、図１１に示されるとおり、画像識別装置１Ａは、制御部１１により画像識別プログラム８１Ａを実行することで、データ取得部１１１、判定部１１２、及び出力部１１３をソフトウェアモジュールとして備えるコンピュータとして動作する。データ取得部１１１は、状態を識別する対象となる被写体の写る対象画像データ１２１Ａを取得する。判定部１１２は、第１識別器５Ａ及び第２識別器６Ａを含んでおり、第１識別器５Ａ及び第２識別器６Ａを利用して、取得した対象画像データ１２１Ａに写る被写体の状態を判定する。出力部１１３は、被写体の状態を判定した結果を出力する。
【０１６５】
上記実施形態と同様に、本変形例においても、第１識別器５Ａに対象画像データ１２１Ａを入力することで当該第１識別器５Ａから得られる第１出力値には、被写体の状態を判定するための数値範囲が第１判定基準として設定される。また、第２識別器６Ａに対象画像データ１２１Ａを入力することで第２識別器６Ａから得られる第２出力値には、被写体の状態を判定するための数値範囲が第２判定基準として設定される。そして、第２判定基準の数値範囲は、第１判定基準の数値範囲よりも狭く設定される。
【０１６６】
そこで、判定部１１２は、第２識別器６Ａに対象画像データ１２１Ａを入力することで、第２識別器６Ａから第２出力値を取得する。取得した第２出力値が第２判定基準の数値範囲に含まれる場合には、判定部１１２は、第２出力値に基づいて、被写体の状態を判定する。一方、取得した第２出力値が第２判定基準の数値範囲に含まれない場合には、判定部１１２は、第１識別器５Ａに対象画像データ１２１Ａを入力することで、第１識別器５Ａから第１出力値を取得する。そして、判定部１１２は、取得した第１出力値に基づいて、被写体の状態を判定する。
【０１６７】
本変形例に係る画像識別装置１Ａは、上記検査装置１とほぼ同様の処理手順により、被写体の状態を判定することができる。
【０１６８】
具体的には、ステップＳ１０１では、制御部１１は、データ取得部１１１として動作し、状態を判定する対象となる被写体の写る対象画像データ１２１Ａを取得する。
【０１６９】
次のステップＳ１０２〜Ｓ１０８では、制御部１１は、判定部１１２として動作し、第１識別器５Ａ及び第２識別器６Ａを利用して、被写体の状態を判定する。本変形例において、第１識別器５Ａの第１出力値及び第２識別器６Ａの第２出力値はそれぞれ、値が大きいほど被写体が第１状態であることを示し、値が小さいほど被写体が第２状態であることを示してもよい。これに応じて、第１判定基準の数値範囲は、第１閾値以上の範囲及び第１閾値未満の範囲により構成されてよい。また、第２判定基準の数値範囲は、第２閾値以上の範囲、及び当該第２閾値よりも小さい第３閾値以下の範囲により構成されてよい。
【０１７０】
なお、第１状態及び第２状態は、実施の形態に応じて適宜決定されてよい。例えば、被写体が対象者の顔である場合には、第１状態は、特定の表情である（例えば、笑顔である）ことに対応し、第２状態は、特定の表情ではないことに対応していてもよい。その他の例についても同様である。
【０１７１】
ステップＳ１０２では、制御部１１は、第２学習結果データ２２９Ａを参照して、学習済みの第２識別器６Ａの設定を行う。続いて、制御部１１は、対象画像データ１２１Ａを第２識別器６Ａに入力し、当該第２識別器６Ａの演算処理を実行する。これにより、制御部１１は、対象画像データ１２１Ａに写る被写体の状態を判定した結果に対応する第２出力値を第２識別器６Ａから取得する。
【０１７２】
ステップＳ１０３では、制御部１１は、第２出力値と第２閾値とを比較することで、第２出力値が第２閾値よりも大きいか否かを判定する。第２出力値が第２閾値よりも大きいと判定した場合には、制御部１１は、第２判定基準の数値範囲に第２出力値が含まれるとして、次のステップＳ１０４に処理を進めて、対象画像データ１２１Ａに写る被写体は第１状態であると判定する。一方、第２出力値が第２閾値よりも小さいと判定した場合には、制御部１１は、次のステップＳ１０５に処理を進める。第２出力値と第２閾値とが等しいケースの取り扱いは、実施の形態に応じて適宜選択されてよい。
【０１７３】
ステップＳ１０５では、制御部１１は、第２出力値と第３閾値とを比較することで、第２出力値が第３閾値よりも小さいか否かを判定する。第２出力値が第３閾値よりも小さいと判定した場合には、制御部１１は、第２判定基準の数値範囲に第２出力値が含まれるとして、次のステップＳ１０６に処理を進めて、対象画像データ１２１Ａに写る被写体は第２状態であると判定する。一方、第２出力値が第３閾値よりも大きいと判定した場合には、制御部１１は、次のステップＳ１０７に処理を進める。なお、第２出力値と第３閾値とが等しいケースの取り扱いは、実施の形態に応じて適宜決定されてよい。
【０１７４】
第２識別器６Ａから取得した第２出力値が、第２閾値よりも小さく、第３閾値よりも大きいと判定した場合に、制御部１１は、第２判定基準の数値範囲に第２出力値は含まれないとして、ステップＳ１０７及びＳ１０８の処理を実行する。ステップＳ１０７では、制御部１１は、第１学習結果データ２２４Ａを参照して、学習済みの第１識別器５Ａの設定を行う。続いて、制御部１１は、対象画像データ１２１Ａを第１識別器５Ａに入力し、当該第１識別器５Ａの演算処理を実行する。これにより、制御部１１は、対象画像データ１２１Ａに写る被写体の状態を判定した結果に対応する第１出力値を第１識別器５Ａから取得する。
【０１７５】
ステップＳ１０８では、制御部１１は、第１出力値と第１閾値とを比較することで、取得した第１出力値が第１閾値よりも大きいか否かを判定する。取得した第１出力値が第１閾値よりも大きいと判定した場合には、制御部１１は、対象画像データ１２１Ａに写る被写体は第１状態であると判定する。他方、取得した第１出力値が第１閾値よりも小さいと判定した場合には、制御部１１は、対象画像データ１２１Ａに写る被写体は第２状態であると判定する。なお、第１出力値と第１閾値とが等しいケースの取り扱いは、実施の形態に応じて適宜決定されてよい。
【０１７６】
ステップＳ１０９では、制御部１１は、出力部１１３として動作し、被写体の状態を判定した結果を出力する。被写体の状態を判定した結果の出力形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部１１は、被写体の状態を判定した結果をそのまま出力装置１６に出力してもよい。また、例えば、被写体の状態を判定した結果に応じて所定の出力処理が対応付けられていてもよい。具体例として、被写体の状態として対象者の表情の種別を判定するケースでは、対象者の顔が笑顔ではない（第２状態である）と判定したときに、制御部１１は、対象者の関連者の携帯端末にそのことを通知する電子メールの送信を当該出力処理として行ってもよい。
【０１７７】
以上により、本変形例では、再学習又は追加学習により第２識別器６Ａの識別性能が第１識別器５Ａよりも悪化してしまった場合でも、被写体の状態を判定する処理の信頼性が損なわれてしまうのを防止することができる。
【０１７８】
なお、本変形例において、上記＜４．６＞と同様に、第１識別器５Ａの第１出力値及び第２識別器６Ａの第２出力値はそれぞれ、対象画像データ１２１Ａに写る被写体が所定の状態である確率を示してもよい。これに応じて、第１判定基準の数値範囲は、第１閾値以上の範囲及び第１閾値未満の範囲により構成されてよく、第２判定基準の数値範囲は、第２閾値以上の範囲により構成されてよい。
【０１７９】
この場合、画像識別装置１Ａの制御部１１は、上記ステップＳ１０３〜Ｓ１０６の処理に代えて、第２識別器６Ａから取得した第２出力値と第２閾値とを比較することで、第２出力値が第２閾値よりも大きいか否かを判定してもよい。そして、第２出力値が第２閾値よりも大きいと判定した場合には、制御部１１は、第２出力値は第２判定基準の数値範囲に含まれるとして、対象画像データ１２１Ａに写る被写体は所定の状態であると判定してもよい。一方、第２出力値が第２閾値よりも小さいと判定した場合には、制御部１１は、第２出力値は第２判定基準の数値範囲に含まれないとして、ステップＳ１０７に処理を進めてもよい。第２出力値と第２閾値とが等しいケースの取り扱いは、実施の形態に応じて適宜選択されてよい。
【０１８０】
ステップＳ１０７では、制御部１１は、対象画像データ１２１Ａを第１識別器５Ａに入力することで、第１識別器５Ａから第１出力値を取得してもよい。そして、ステップＳ１０８では、制御部１１は、取得した第１出力値と第１閾値とを比較し、取得した第１出力値が第１閾値よりも大きいか否かを判定してもよい。第１出力値が第１閾値よりも大きいと判定した場合、制御部１１は、対象画像データ１２１Ａに写る被写体は所定の状態であると判定してもよい。他方、第１出力値が第１閾値よりも小さいと判定した場合、制御部１１は、対象画像データ１２１Ａに写る被写体は所定の状態ではないと判定してもよいし、当該被写体の状態は不明であると判定してもよい。第１出力値と第１閾値とが等しいケースの取り扱いは、実施の形態に応じて適宜選択されてよい。
【０１８１】
＜４．８＞
上記実施形態及び変形例では、画像データから何らかの特徴（被写体の状態）を判定する場面に本発明を提供した例を示している。しかしながら、本発明の適用可能な範囲は、このような画像データから特徴を判定する場面に限られなくてもよい。本発明は、画像データ以外のデータ又は複数種類のデータから何らかの特徴を識別する場面に広く適用可能である。
【０１８２】
図１２及び図１３は、本変形例に係る識別装置１Ｂのハードウェア構成及びソフトウェア構成の一例を模式的に例示する。処理対象となるデータが、製品の写る画像データから何らかの特徴を含む他種のデータに置き換わる点を除き、本変形例に係る識別装置１Ｂは、上記検査装置１と同様に構成されてよい。すなわち、図１２及び図１３に示されるとおり、識別装置１Ｂのハードウェア構成及びソフトウェア構成はそれぞれ、上記検査装置１のハードウェア構成及びソフトウェア構成それぞれと同じであってよい。
【０１８３】
具体的に、図１２に示されるとおり、識別装置１Ｂの記憶部１２は、識別プログラム８１Ｂ、第１学習結果データ２２４Ｂ、第２学習結果データ２２９Ｂ等の各種情報を記憶する。識別プログラム８１Ｂは、上記検査装置１と同様の処理手順により、データの特徴を判定する情報処理を識別装置１Ｂに実行させるためのプログラムであり、当該情報処理の一連の命令を含む。第１学習結果データ２２４Ｂは、学習済みの第１識別器５Ｂの設定を行うためのデータである。第２学習結果データ２２９Ｂは、学習済みの第２識別器６Ｂの設定を行うためのデータである。
【０１８４】
本変形例において、処理対象となるデータは、識別器による解析の対象となり得るあらゆる種類のデータを含んでもよく、例えば、画像データの他、音データ（音声データ）、数値データ、テキストデータ等であってよい。また、対象のデータから識別される特徴は、データから識別可能なあらゆる特徴を含んでもよい。対象のデータが音データである場合、識別される特徴は、例えば、特定の音（例えば、機械の異音）が含まれているか否か等であってもよい。対象のデータが、活動量等の生体データに関する数値データ又はテキストデータである場合、識別される特徴は、例えば、対象者の状態（例えば、健康であるか否か）等であってもよい。対象のデータが、機械の駆動量等の数値データ又はテキストデータである場合、識別される特徴は、例えば、機械の状態（例えば、機械が所定の状態にあるか否か）等であってもよい。
【０１８５】
第１識別器５Ｂは、特徴を識別する学習を行うためのデータで構成された第１学習データを利用した機械学習により構築される。第２識別器６Ｂは、第１学習データ及び特徴を識別する学習を行うための追加のデータで構成された第２学習データを利用した機械学習により構築される。各識別器（５Ｂ、６Ｂ）は、対象のデータに含まれる特徴を識別する能力を習得するように構築される。各識別器（５Ｂ、６Ｂ）の機械学習は、上記学習装置２により、上記実施形態と同様に実行されてよい。処理対象のデータが音データである場合、第１識別器５Ｂは、例えば、音データ及び音データに含まれる特徴の識別に対する正解を示す正解データで構成された第１学習データを利用した機械学習により構築される。また、第２識別器６Ｂは、例えば、追加の音データ及び追加の音データに含まれる特徴の識別に対する正解を示す正解データ並びに第１学習データで構成された第２学習データを利用した機械学習により構築される。
【０１８６】
なお、本変形例では、識別装置１Ｂは、外部インタフェース１４を介して、計測装置３１Ｂと接続されている。計測装置３１Ｂは、対象のデータを取得可能に適宜構成される。計測装置３１Ｂの種類は、処理対象のデータに応じて適宜決定されてよい。処理対象のデータが音データである場合、計測装置３１Ｂは、例えば、マイクロフォン等である。処理対象のデータが生体データである場合、計測装置３１Ｂは、例えば、活動量計、血圧計等の、生体情報を計測可能に構成された装置である。また、処理対象のデータが、機械の駆動量等の数値データ又はテキストデータである場合、計測装置３１Ｂは、例えば、エンコーダ等の対象の物理量を測定可能に構成された装置である。計測装置３１Ｂの配置は、実施の形態に応じて適宜決定されてよい。
【０１８７】
また、図１３に示されるとおり、識別装置１Ｂは、制御部１１により識別プログラム８１Ｂを実行することで、データ取得部１１１、判定部１１２、及び出力部１１３をソフトウェアモジュールとして備えるコンピュータとして動作する。データ取得部１１１は、識別する対象となる特徴を含む対象データ１２１Ｂを取得する。判定部１１２は、第１識別器５Ｂ及び第２識別器６Ｂを含んでおり、第１識別器５Ｂ及び第２識別器６Ｂを利用して、取得した対象データ１２１Ｂに表れる特徴を判定する。出力部１１３は、被写体の状態を判定した結果を出力する。
【０１８８】
上記実施形態と同様に、本変形例においても、第１識別器５Ｂに対象データ１２１Ｂを入力することで当該第１識別器５Ｂから得られる第１出力値には、特徴を判定するための数値範囲が第１判定基準として設定される。また、第２識別器６Ｂに対象データ１２１Ｂを入力することで第２識別器６Ｂから得られる第２出力値には、状態を判定するための数値範囲が第２判定基準として設定される。そして、第２判定基準の数値範囲は、第１判定基準の数値範囲よりも狭く設定される。
【０１８９】
そこで、判定部１１２は、第２識別器６Ｂに対象データ１２１Ｂを入力することで、第２識別器６Ｂから第２出力値を取得する。取得した第２出力値が第２判定基準の数値範囲に含まれる場合には、判定部１１２は、第２出力値に基づいて、対象データ１２１Ｂに表れる特徴を判定する。一方、取得した第２出力値が第２判定基準の数値範囲に含まれない場合には、判定部１１２は、第１識別器５Ｂに対象データ１２１Ｂを入力することで、第１識別器５Ｂから第１出力値を取得する。そして、判定部１１２は、取得した第１出力値に基づいて、対象データ１２１Ｂに表れる特徴を判定する。
【０１９０】
本変形例に係る識別装置１Ｂは、上記検査装置１とほぼ同様の処理手順により、対象データ１２１Ｂに表れる特徴を判定することができる。
【０１９１】
具体的には、ステップＳ１０１では、制御部１１は、データ取得部１１１として動作し、判定する対象となる特徴を含む対象データ１２１Ｂを取得する。本変形例では、制御部１１は、外部インタフェース１４を介して計測装置３１Ｂから対象データ１２１Ｂを取得する。ただし、対象データ１２１Ｂを取得する経路は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
【０１９２】
次のステップＳ１０２〜Ｓ１０８では、制御部１１は、判定部１１２として動作し、第１識別器５Ｂ及び第２識別器６Ｂを利用して、対象データ１２１Ｂに表れる特徴を判定する。本変形例において、第１識別器５Ｂの第１出力値及び第２識別器６Ｂの第２出力値はそれぞれ、値が大きいほど対象データ１２１Ｂには第１特徴が表れていることを示し、値が小さいほど対象データ１２１Ｂには第２特徴が表れていることを示してもよい。これに応じて、第１判定基準の数値範囲は、第１閾値以上の範囲及び第１閾値未満の範囲により構成されてよい。また、第２判定基準の数値範囲は、第２閾値以上の範囲、及び当該第２閾値よりも小さい第３閾値以下の範囲により構成されてよい。
【０１９３】
なお、第１特徴及び第２特徴は、実施の形態に応じて適宜決定されてよい。例えば、対象データ１２１Ｂが音データである場合、第１特徴は、機械の異音が含まれていることに対応し、第２特徴は、機械の異音が含まれていないことに対応していてもよい。同様に、例えば、対象データ１２１Ｂが生体データに関する数値データ又はテキストデータである場合、第１特徴は、対象者が健康であることに対応し、第２特徴は、対象者に異常があることに対応していてもよい。その他の例についても同様である。
【０１９４】
ステップＳ１０２では、制御部１１は、第２学習結果データ２２９Ｂを参照して、学習済みの第２識別器６Ｂの設定を行う。続いて、制御部１１は、対象データ１２１Ｂを第２識別器６Ｂに入力し、当該第２識別器６Ｂの演算処理を実行する。これにより、制御部１１は、対象データ１２１Ｂに表れる特徴を判定した結果に対応する第２出力値を第２識別器６Ｂから取得する。
【０１９５】
ステップＳ１０３では、制御部１１は、第２出力値と第２閾値とを比較することで、第２出力値が第２閾値よりも大きいか否かを判定する。第２出力値が第２閾値よりも大きいと判定した場合には、制御部１１は、第２判定基準の数値範囲に第２出力値が含まれるとして、次のステップＳ１０４に処理を進めて、対象データ１２１Ｂには第１特徴が表れていると判定する。一方、第２出力値が第２閾値よりも小さいと判定した場合には、制御部１１は、次のステップＳ１０５に処理を進める。第２出力値と第２閾値とが等しいケースの取り扱いは、実施の形態に応じて適宜選択されてよい。
【０１９６】
ステップＳ１０５では、制御部１１は、第２出力値と第３閾値とを比較することで、第２出力値が第３閾値よりも小さいか否かを判定する。第２出力値が第３閾値よりも小さいと判定した場合には、制御部１１は、第２判定基準の数値範囲に第２出力値が含まれるとして、次のステップＳ１０６に処理を進めて、対象データ１２１Ｂには第２特徴が表れていると判定する。一方、第２出力値が第３閾値よりも大きいと判定した場合には、制御部１１は、次のステップＳ１０７に処理を進める。なお、第２出力値と第３閾値とが等しいケースの取り扱いは、実施の形態に応じて適宜決定されてよい。
【０１９７】
第２識別器６Ｂから取得した第２出力値が、第２閾値よりも小さく、第３閾値よりも大きいと判定した場合に、制御部１１は、第２判定基準の数値範囲に第２出力値は含まれないとして、ステップＳ１０７及びＳ１０８の処理を実行する。ステップＳ１０７では、制御部１１は、第１学習結果データ２２４Ｂを参照して、学習済みの第１識別器５Ｂの設定を行う。続いて、制御部１１は、対象データ１２１Ｂを第１識別器５Ｂに入力し、当該第１識別器５Ｂの演算処理を実行する。これにより、制御部１１は、対象データ１２１Ｂに表れる特徴を判定した結果に対応する第１出力値を第１識別器５Ｂから取得する。
【０１９８】
ステップＳ１０８では、制御部１１は、第１出力値と第１閾値とを比較することで、取得した第１出力値が第１閾値よりも大きいか否かを判定する。取得した第１出力値が第１閾値よりも大きいと判定した場合には、制御部１１は、対象データ１２１Ｂには第１特徴が表れていると判定する。他方、取得した第１出力値が第１閾値よりも小さいと判定した場合には、制御部１１は、対象データ１２１Ｂには第２特徴が表れていると判定する。なお、第１出力値と第１閾値とが等しいケースの取り扱いは、実施の形態に応じて適宜決定されてよい。
【０１９９】
ステップＳ１０９では、制御部１１は、出力部１１３として動作し、対象データ１２１Ｂに含まれる特徴を判定した結果を出力する。判定した結果の出力形式は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、制御部１１は、対象データ１２１Ｂに含まれる特徴を判定した結果をそのまま出力装置１６に出力してもよい。また、例えば、制御部１１は、判定結果に応じて所定の出力処理を実行してもよい。具体例として、対象データ１２１Ｂが音データであり、音データの特徴として機械の異音が含まれるか否かを判定するケースでは、対象データ１２１Ｂに機械の異音が含まれると判定したときに、制御部１１は、その機械の管理者の携帯端末にそのことを警告する電子メールの送信を当該出力処理として行ってもよい。
【０２００】
以上により、本変形例では、再学習又は追加学習により第２識別器６Ｂの識別性能が第１識別器５Ｂよりも悪化してしまった場合でも、対象のデータに表れる特徴を判定する処理の信頼性が損なわれてしまうのを防止することができる。
【０２０１】
なお、本変形例において、上記＜４．６＞と同様に、第１識別器５Ｂの第１出力値及び第２識別器６Ｂの第２出力値はそれぞれ、対象データ１２１Ｂに所定の特徴が表れている確率を示してもよい。これに応じて、第１判定基準の数値範囲は、第１閾値以上の範囲及び第１閾値未満の範囲により構成されてよく、第２判定基準の数値範囲は、第２閾値以上の範囲により構成されてよい。
【０２０２】
この場合、識別装置１Ｂの制御部１１は上記ステップＳ１０３〜Ｓ１０６の処理に代えて、第２識別器６Ｂから取得した第２出力値と第２閾値とを比較することで、第２出力値が第２閾値よりも大きいか否かを判定してもよい。そして、第２出力値が第２閾値よりも大きいと判定した場合には、制御部１１は、第２出力値は第２判定基準の数値範囲に含まれるとして、対象データ１２１Ｂには所定の特徴が表れていると判定してもよい。一方、第２出力値が第２閾値よりも小さいと判定した場合には、制御部１１は、第２出力値は第２判定基準の数値範囲に含まれないとして、ステップＳ１０７に処理を進めてもよい。第２出力値と第２閾値とが等しいケースの取り扱いは、実施の形態に応じて適宜選択されてよい。
【０２０３】
ステップＳ１０７では、制御部１１は、対象データ１２１Ｂを第１識別器５Ｂに入力することで、第１識別器５Ｂから第１出力値を取得してもよい。そして、ステップＳ１０８では、制御部１１は、取得した第１出力値と第１閾値とを比較し、取得した第１出力値が第１閾値よりも大きいか否かを判定してもよい。第１出力値が第１閾値よりも大きいと判定した場合、制御部１１は、対象データ１２１Ｂには所定の特徴が表れていると判定してもよい。他方、第１出力値が第１閾値よりも小さいと判定した場合、制御部１１は、対象データ１２１Ｂには所定の特徴が表れていないと判定してもよいし、対象データ１２１Ｂに所定の特徴が表れているか否か不明であると判定してもよい。第１出力値と第１閾値とが等しいケースの取り扱いは、実施の形態に応じて適宜選択されてよい。
【符号の説明】
【０２０４】
１…検査装置、
１１…制御部、１２…記憶部、１３…通信インタフェース、
１４…外部インタフェース、
１５…入力装置、１６…出力装置、１７…ドライブ、
８１…検査プログラム、９１…記憶媒体、
１１１…データ取得部、１１２…判定部、１１３…出力部、
１２１…対象画像データ、
２…学習装置、
２１…制御部、２２…記憶部、２３…通信インタフェース、
２４…入力装置、２５…出力装置、２６…ドライブ、
８２…学習プログラム、９２…記憶媒体、
２１１…学習データ取得部、２１２…学習処理部、
２２１…第１学習データ、
２２２…画像データ、２２３…正解データ、
２２４…第１学習結果データ、
２２６…第２学習データ、
２２７…追加の画像データ、２２８…正解データ、
２２９…第２学習結果データ、
３１…カメラ、
５…第１識別器、
５１…入力層、５２…中間層（隠れ層）、５３…出力層、
６…第２識別器、
６１…入力層、６２…中間層（隠れ層）、６３…出力層
【図１】
2019159820.tif 000003
【図２】
2019159820.tif 000004
【図３】
2019159820.tif 000005
【図４】
2019159820.tif 000006
【図５】
2019159820.tif 000007
【図６】
2019159820.tif 000008
【図７】
2019159820.tif 000009
【図８】
2019159820.tif 000010
【図９】
2019159820.tif 000011
【図１０】
2019159820.tif 000012
【図１１】
2019159820.tif 000013
【図１２】
2019159820.tif 000014
【図１３】
2019159820.tif 000015