(57)【要約】【課題】画像認識処理の実用性を向上する。【解決手段】画像認識部１１の学習フェーズでの学習内容に基づいて、食品１０の画像データを画像認識することにより当該食品１０の加工状態を示す検査結果情報を出力する画像認識部１１と、当該設定部１２の学習フェーズでの学習内容に基づいて、画像認識部１１の学習フェーズを実行させる画像認識部１１のハイパーパラメータを設定する設定部１２と、を有し、設定部１２は、対象物に関する対象物情報、及び当該対象物のどのような状態を認識するかに関する認識内容情報に対応したハイパーパラメータを設定する。【選択図】図６
2018120373.tif 000002
【特許請求の範囲】
【請求項１】
第１の機械学習プロセスでの学習内容に基づいて、対象物の外観画像情報を画像認識することにより当該対象物の状態情報を出力する画像認識部と、
第２の機械学習プロセスでの学習内容に基づいて、前記第１の機械学習プロセスを実行させる前記画像認識部に関するハイパーパラメータを設定する設定部と、
を有することを特徴とする画像認識装置。
【請求項２】
前記設定部は、
前記対象物に関する対象物情報、及び当該対象物のどのような状態を前記状態情報として認識するかに関する認識内容情報に対応したハイパーパラメータを設定することを特徴とする請求項１記載の画像認識装置。
【請求項３】
前記対象物情報は、前記対象物の外観画像情報であることを特徴とする請求項２記載の画像認識装置。
【請求項４】
前記第２の機械学習プロセスにおいて前記設定部は、外観画像情報及び認識内容情報に対して設定すべきハイパーパラメータとの対応関係を学習することを特徴とする請求項３記載の画像認識装置。
【請求項５】
前記第２の機械学習プロセスは、対象物情報、認識内容情報、及び評価値の少なくとも１つとハイパーパラメータとを対応付けたデータセットを用いて前記設定部を機械学習させることを特徴とする請求項２乃至４のいずれか１項に記載の画像認識装置。
【請求項６】
前記設定部は、
前記第１の機械学習プロセスの進行度に応じて前記ハイパーパラメータを変更することを特徴とする請求項１乃至５のいずれか１項に記載の画像認識装置。
【請求項７】
前記第１の機械学習プロセスは深層学習であり、前記ハイパーパラメータは層数、ノード数、及び学習率の少なくとも１つを含むことを特徴とする請求項１乃至６のいずれか１項に記載の画像認識装置。
【請求項８】
第１の機械学習プロセスでの学習内容に基づいて、対象物の外観画像情報を画像認識することにより当該対象物の状態情報を出力することと、
第２の機械学習プロセスでの学習内容に基づいて、前記第１の機械学習プロセスを実行させる際のハイパーパラメータを設定することと、
を実行することを特徴とする画像認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、産業機器用の画像認識装置及び画像認識方法に関する。
【背景技術】
【０００２】
特許文献１には、機械学習によって画像認識の認識精度を高める手法が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−２１２５４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、機械学習の実行に際しては熟練した技術者の勘や経験などの技量に依存した機械学習の試行を繰り返して非効率的に行わざるを得なかった。
【０００５】
本発明はこのような問題点に鑑みてなされたものであり、画像認識処理の実用性を向上できる産業機器用の画像認識装置及び画像認識方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の一の観点によれば、第１の機械学習プロセスでの学習内容に基づいて、対象物の外観画像情報を画像認識することにより当該対象物の状態情報を出力する画像認識部と、第２の機械学習プロセスでの学習内容に基づいて、前記第１の機械学習プロセスを実行させる前記画像認識部に関するハイパーパラメータを設定する設定部と、を有する産業機器用の画像認識装置が適用される。
【０００７】
また、本発明の別の観点によれば、第１の機械学習プロセスでの学習内容に基づいて、対象物の外観画像情報を画像認識することにより当該対象物の状態情報を出力することと、第２の機械学習プロセスでの学習内容に基づいて、前記第１の機械学習プロセスを実行させる際のハイパーパラメータを設定することと、を実行する産業機器用の画像認識方法が適用される。
【発明の効果】
【０００８】
本発明によれば、画像認識処理の実用性を向上できる。
【図面の簡単な説明】
【０００９】
【図１】実施形態の画像検査システムの概略的なシステムブロック構成の一例を表す図である。
【図２】深層学習を適用した場合における画像認識部のニューラルネットワークの概略モデル構成の一例を表す図である。
【図３】深層学習を適用した場合における設定部のニューラルネットワークの概略モデル構成の一例を表す図である。
【図４】設定部の学習フェーズを説明する図である。
【図５】設定部学習用データセットを表す図である。
【図６】画像認識部の設計フェーズ、学習フェーズ、及び運用フェーズを説明する図である。
【図７】画像認識部学習用データセットを表す図である。
【図８】深層学習を適用した場合における画像認識部のニューラルネットワークの概略モデル構成の変形例を表す図である。
【図９】３次元カメラで食品の形状情報を取得する構成例を表す図である。
【図１０】２つの形状情報に基づいて検査結果情報を出力する場合における、画像認識部のニューラルネットワークのモデル概略構成の一例を表す図である。
【図１１】画像検査装置のハードウェア構成を表すシステムブロック図である。
【発明を実施するための形態】
【００１０】
以下、実施の形態について図面を参照しつつ説明する。
【００１１】
＜画像検査システムの概略構成＞
図１は、本実施形態の産業機器用の画像認識装置を備えた画像検査システムの概略的なシステムブロック構成の一例を表している。この画像検査システムは、ベルトコンベアで搬送中の加工食品を対象物として、各個体の加工状態を画像認識により検査し異常の有無で選別するシステムである。図１において、画像検査システム１は、搬送選別機２と、カメラ３と、画像検査装置４と、入力装置５と、表示装置６と、機械制御装置７とを有している。
【００１２】
搬送選別機２は、別途の加工工程で加工された食品１０をベルトコンベア２１で搬送するとともに、後述の画像検査装置４による状態検査に応じて食品１０の個体ごとに異常があるものと異常のないものとに選別する機械である。この搬送選別機２は、食品１０を搬送するベルトコンベア２１と、食品１０に対する選別動作を行う選別アクチュエータ２２とを有している。なお、本実施形態の例では、魚の切り身などの食品１０を検査の対象物とした場合を示しているが、生産ラインで取り扱われるものであれば、食品１０の代わりに工業部品や化粧品、文房具などであってもよい。
【００１３】
カメラ３は、この例では光学的に２次元ピクセル列の画像データを撮像する撮像機器である。このカメラ３は、ベルトコンベア２１の搬送方向所定位置の上方に配置されており、それぞれ搬送皿に載せられてベルトコンベア２１上で搬送される各食品個体１０の外観画像を個別に撮像可能となっている。
【００１４】
画像検査装置４（産業機器用の画像認識装置）は、上記のカメラ３で撮像した画像データを画像認識することで、食品１０の各個体の加工状態を認識し、それぞれの異常の有無を検査結果情報（状態情報）として出力する。この画像検査装置４は、画像認識部１１と設定部１２とを有している。
【００１５】
画像認識部１１は、当該画像検査装置４の主体部分であり、その運用時において入力された画像データに撮像されている食品個体１０の加工状態を画像認識し、その異常の有無を示す検査結果情報を出力する。この例における画像認識部１１は、所定の画像認識アルゴリズムに基づくプログラムによってソフトウェア的に実装される処理部であり、あらかじめ複数用意された画像認識アルゴリズムのうちから実施される画像検査の認識内容に応じて選択されたものを実装可能な汎用性を備えている。
【００１６】
設定部１２は、上記画像認識部１１の実装時に、その適用すべき画像認識アルゴリズムの種類を含むハイパーパラメータ（後述）の設定を行い、当該画像認識部１１の実装を補助する処理部である。
【００１７】
なお本実施形態の例における上記の画像認識部１１及び設定部１２の２つの処理部は、いずれも機械学習プロセスでの学習内容に基づいて処理を行うものであり、それらの処理内容や手法については後に詳述する。
【００１８】
また、上述した画像認識部１１、設定部１２等における処理等は、これらの処理の分担の例に限定されるものではなく、例えば、更に少ない数の処理部（例えば１つの処理部）で処理されてもよく、また、更に細分化された処理部により処理されてもよい。また、画像検査装置４は、後述するＣＰＵ９０１（図１１参照）が実行するプログラムによりソフトウェア的に実装されてもよいし、その一部又は全部がＡＳＩＣやＦＰＧＡ、その他の電気回路等の実際の装置によりハードウェア的に実装されてもよい。
【００１９】
入力装置５は、後述する設計フェーズ又は学習フェーズにおいて、上記画像認識部１１及び設定部１２に対し認識内容情報や学習用データセットなどの各種情報を入力する。なお、これらの説明については後に詳述する。
【００２０】
表示装置６は、例えばディスプレイなどで構成し、上記画像検査装置４が出力した検査結果情報の内容を表示する。
【００２１】
機械制御装置７は、上記画像検査装置４が出力した検査結果情報の内容に応じて、上記搬送選別機２の選別アクチュエータ２２の作動を制御する。
【００２２】
以上の構成の画像検査システム１よれば、ベルトコンベア２１で搬送される複数の加工食品に対して、カメラ３が撮像した各個体の画像データからそれぞれの加工状態における異常の有無を画像検査装置４が画像認識する。そして、その画像認識による検査結果情報に基づいて、選別アクチュエータ２２がその選別動作により異常のある個体と異常のない個体とを選別できる。
【００２３】
＜本実施形態の特徴＞
近年では、機械学習技術の発達により画像認識の精度が向上しており、対象物自体の種類はもちろんその詳細な状態までの認識が高い精度で可能となっている。このような画像認識技術を用いて、本実施形態のように食品工場などにおいて所定種類の不定形にある食品の加工状態を詳細に検査したいという要望がある。
【００２４】
しかしこれまでに画像認識に適用可能な認識アルゴリズムとその機械学習手法は数多く提案されており、画像認識する対象物の種類や目的とする画像認識の認識内容に応じて適切な画像認識アルゴリズム（プログラム）の種類を選択する必要がある。またそのような画像認識アルゴリズムでは、機械学習プロセスで通常のパラメータ（例えば深層学習における各エッジの重み係数）の調整による機械学習を行う以前に、その機械学習を実行させる対象の画像認識アルゴリズムの詳細な設計が必要である。具体的には、当該画像認識アルゴリズムの基本構成を設計する上で必要なハイパーパラメータ（例えば深層学習における層数、ノード数、学習率等）を適切に設定する必要がある。ハイパーパラメータとは、機械学習で学習を行う際に予め外部から与えられて使われるパラメータで、学習時・運用時の性能を左右するものである。
【００２５】
しかしながら、そのように対象物の種類や目的とする認識内容に応じて認識精度の高い有効な画像認識部１１を適切に実装するための普遍的な実装手法や理論は明確に確立されていない。このため、上述したように適用すべき画像認識アルゴリズムの選択も含めたハイパーパラメータの設定においては、熟練した技術者の勘や経験などの技量に依存した機械学習の試行を繰り返して非効率的に行わざるを得なかった。このため、対象物の種類や認識内容に対応して機械学習させる画像認識部１１に関するハイパーパラメータは、専門の技術者が直接工場などの作業現場に出向いて長時間かけて設定しなければならず、画像認識装置を導入する障害となっていた。
【００２６】
これに対し本実施形態の画像検査装置４では、画像認識部学習フェーズでの機械学習内容に基づいて、対象物の画像データを画像認識することにより当該対象物の状態に関する検査結果情報（状態情報）を出力する画像認識部１１に対し、設定部学習フェーズでの機械学習内容に基づいて、上記画像認識部学習フェーズを実行させる画像認識部１１に関するハイパーパラメータを設定する設定部１２と、を有している。このように画像検査装置４では、画像認識部１１に対して対象物の画像データと状態情報の対応関係を画像認識部学習フェーズで機械学習させる以前に、さらに別途上位の設定部学習フェーズで機械学習した設定部１２により画像認識部１１における適切なハイパーパラメータの設定を機械的に行わせることができる。つまり、これまで技術者の技量に依存していた画像認識ＡＩの設計自体も設定ＡＩで自動的に行わせることが可能となる。
【００２７】
これにより、対象物の種類や目的とする認識内容に応じた画像認識部１１を実装する際における人的コスト及び時間的コストを省力化できるとともに、技術者個人の技量差によらず一律に安定した認識精度を確保することができる。上記の手法について、以下に順次説明する。
【００２８】
＜画像認識部と設定部の具体的構成について＞
まず、画像認識部１１の具体的構成について、例えば画像認識アルゴリズムに深層学習（ディープラーニング）を適用した場合の例を以下に説明する。図２は、深層学習を適用した場合における画像認識部１１のニューラルネットワークの概略モデル構成の一例を示している。
【００２９】
この図２において、画像認識部１１のニューラルネットワークは、カメラ３から入力された２次元ピクセル列の画像データに対して、当該画像データに撮像されている食品１０（この例の鮭の切り身）の加工状態についての異常の有無（状態情報）を出力するよう設計されている。図示する例では、形状、大きさ、身ほぐれ、及び皮めくれの４つの検査項目（認識内容）について、それぞれの異常の有無（状態情報）を個別に２値出力する。これら検査項目の判別処理は、当該画像認識部１１の学習フェーズにおける機械学習プロセスでの学習内容に基づくものであり、すなわちこの画像認識部１１のニューラルネットワークは、画像データに含まれる食品１０の外観形状パターンと加工状態との相関を表す特徴量を学習している。
なお認識内容には上記の検査項目の他に、食品１０の位置の認識に関する情報を含んでいてもよい。
【００３０】
以上の基本仕様にあるニューラルネットワークにおいては、例えば入力層の直近をいわゆる畳み込み層とプーリング層の組み合わせである畳み込みニューラルネットワーク（特に図示せず）で構成することで柔軟なパターンの認識が可能となる。また例えば、出力層の直近をいわゆるパターン認識や最適値演算に適した全結合層（特に図示せず）で構成することも好適である。
【００３１】
なお上述したように、画像認識部１１の画像認識アルゴリズムは、図示した深層学習によるもの以外にも、例えばサポートベクトルマシンやベイジアンネットワーク等を利用した他の画像認識アルゴリズム（特に図示せず）を適用してもよい。その場合でも、入力した画像データに撮像されている対象物の状態を判別して検査結果情報として出力するという基本的な構成については同等となる。
【００３２】
上記例のような多層ニューラルネットワークで構成される深層学習では、例えば層の数や、各層におけるノード（ニューロン、ユニット）の数などのネットワーク規模を決定付けるハイパーパラメータを対象物の種類や認識内容に応じて適切に設定しなければ高い認識精度が得られない。他にも、機械学習プロセスを適切に実行するための学習率、荷重減衰係数、及び重み係数初期値などのハイパーパラメータや、認識精度に関係するミニバッチサイズ、フィルタサイズ、入力画像サイズ、及び畳み込みチャンネル数などのハイパーパラメータなどのように、深層学習を画像認識アルゴリズムとして選択した場合には特に設定すべきハイパーパラメータが多数存在する。
【００３３】
その一方で、工場などの作業現場では、検査対象の食品１０の種類や、画像認識内容である検査項目を自由に変更したい要望があり、そのたびに対応した画像認識部１１を設計し学習させる必要がある。このように新たな要求に対応した画像認識部１１を設計する際に、画像認識アルゴリズムを含めた各種ハイパーパラメータの煩雑な設定を設定部１２が機械的に実行する。本実施形態の例では、この設定部１２に対してもまた深層学習（ディープラーニング）を適用するものとし、図３にその設定部１２のニューラルネットワークの概略モデル構成の一例を示している。
【００３４】
この図３において、設定部１２のニューラルネットワークは、入力装置５から入力された２次元ピクセル列の外観画像データと認識内容（検査項目）に対して、それら認識条件に応じて良好な認識精度を期待できる各種ハイパーパラメータを出力するよう設計されている。これらハイパーパラメータの出力は、まず画像認識アルゴリズムの選択に始まり、その選択された画像認識アルゴリズムに対応して必要とされるその他のハイパーパラメータが出力される。これらの出力は、特に図示しないが、各画像認識アルゴリズム別に対応した出力ノードを用意すればよい。これらハイパーパラメータの設定処理は、当該設定部１２の学習フェーズにおける機械学習プロセスでの学習内容に基づくものであり、すなわちこの設定部１２のニューラルネットワークは、画像データに含まれる食品１０の外観形状パターン及び認識内容の情報と、ハイパーパラメータとの相関を表す特徴量を学習している。認識内容情報とは、検査対象の食品１０のどのような状態を状態情報として認識するのか、換言すると検査対象の食品１０のどのような点を検査項目とするのか、に関する情報である。
【００３５】
＜設定部の学習フェーズについて＞
次に設定部１２の学習フェーズについて説明する。上述したように、設定部１２自体もまた機械学習プロセスでの学習内容に基づく処理部であり、その取り扱いについては設計フェーズと、学習フェーズと、運用フェーズに分けられる。本実施形態の例では、設定部１２の設計フェーズ、つまり設定部１２自体に適用するアルゴリズムの選択とハイパーパラメータとして用いる項目の選定や初期設定は、当該画像検査装置４の開発時に技術者によって行われるものとする。
【００３６】
そのように設計された設定部１２が画像検査装置４上でソフトウェア的（又はハードウェア的）に実装された後、図４に示すように、入力装置５を介して入力した多数の設定部学習用データセットを用いていわゆる教師あり学習により設定部１２に学習させる。ここで用いる設定部学習用データセットは、例えば図５に示すように、対象物情報、認識内容情報、及び評価値と、ハイパーパラメータとを対応付けたデータセットである。図示する例では、対象物情報に外観画像情報（外観画像データ）が含まれている。また、評価値は、過去に対応するハイパーパラメータで画像認識部１１を設定した場合の画像認識性能に関する評価（認識精度、認識処理速度、学習速度など）を示す値である。
【００３７】
設定部１２の上記学習フェーズでは、外観画像情報と認識内容情報を入力データとし、ハイパーパラメータを出力データとした組み合わせの教師データを用いて、設定部１２のニューラルネットワークの入力層と出力層の間の関係性が成立するよう各ノードどうしをつなぐ各エッジの重み係数を調整するいわゆるバックプロパゲーション処理等により学習を行う。このバックプロパゲーション処理では、多数のデータセットのうち特に評価値の高いデータのみを抽出し、これだけを教師データに用いて各エッジの重み係数を強めるよう調整してもよい。または、全てのデータセットを教師データとし、それぞれの評価値に応じて各エッジの重み係数を強めたり弱めたりするよう調整してもよい。なお、このようなバックプロパゲーションの他にも、いわゆるオートエンコーダ、制限付きボルツマンマシン、ドロップアウト、ノイズ付加、及びスパース正則化などの公知の多様な学習手法を併用して処理精度を向上させてもよい。この設定部１２の学習フェーズが、各請求項記載の第２の機械学習プロセスに相当する。
【００３８】
＜画像認識部の設計フェーズ、学習フェーズ、運用フェーズについて＞
上述したように、画像認識部１１は機械学習プロセスでの学習内容に基づく処理部であり、その取り扱いについては設計フェーズと、学習フェーズと、運用フェーズに分けられる。
【００３９】
まず、画像認識部１１の設計フェーズでは、図６（ａ）に示すように、画像認識部１１に画像認識させたい対象物の外観画像情報と認識内容情報を入力装置５を介して設定部１２に入力し、対応するハイパーパラメータを当該設定部１２に出力させる。つまり、この画像認識部１１の設計フェーズは、設定部１２の運用フェーズでもある。そして、この出力されたハイパーパラメータに基づいて画像認識アルゴリズムを含む画像認識部１１の基本構成をソフトウェア的に（プログラムで）実装し、すなわち画像認識部１１を設計する。例えば設定部１２から出力された認識アルゴリズムが深層学習の場合には、層数、ノード数、学習率といったその他のハイパーパラメータに基づき、ニューラルネットワークの学習モデル（プログラム）が実装される。
【００４０】
次に、画像認識部１１の学習フェーズでは、図６（ｂ）に示すように、入力装置５を介して入力した多数の画像認識部学習用データセットを用いていわゆる教師あり学習により画像認識部１１に学習させる。ここで用いる画像認識部学習用データセットは、例えば図７に示すように、対象物情報と、検査結果情報（状態情報）とを対応付けたデータセットである。図示する例では、対象物情報に外観画像情報（外観画像データ）が含まれており、検査結果情報（状態情報）には検査項目に対応する異常の有無が示される。例えば上記図２に示した例のように画像認識部１１の画像認識アルゴリズムに深層学習を適用した場合には、設定部１２の場合と同様にバックプロパゲーション等の公知の多様な学習手法を併用して学習させる。
【００４１】
なお、深層学習においては学習の進行度に応じて学習率などのハイパーパラメータを適宜変更すると結果的に実装した画像認識部１１の認識精度が向上することが知られている。このため、画像認識部１１の機械学習の進行度に応じて設定部１２が適切にハイパーパラメータを変更することは有効である。この画像認識部１１の学習フェーズが、各請求項記載の第１の機械学習プロセスに相当する。
【００４２】
そして画像認識部１１の運用フェーズでは、図６（ｃ）に示すように、カメラ３で撮像した画像データそのまま画像認識部１１に入力することで、当該画像認識部１１は画像認識した結果を検査結果情報（状態情報）として出力できる。このとき、設定部１２は画像認識部１１から分離されてなんら機能しない状態となる。
【００４３】
＜本実施形態による効果＞
以上説明したように、本実施形態の画像検査システム１が備える画像検査装置４は、画像認識部１１に画像データと検査結果情報（状態情報）の対応関係を当該画像認識部１１の学習フェーズで機械学習させる以前に、さらに別途上位の学習フェーズで機械学習した設定部１２により画像認識部１１における適切なハイパーパラメータの設定を機械的に行わせることができる。つまり、これまで技術者の技量に依存していた画像認識ＡＩの設計自体も設定ＡＩで自動的に行わせることが可能となる。これにより、対象物の種類や目的とする認識内容に応じた画像認識部１１を実装する際における人的コスト及び時間的コストを削減できるとともに、技術者個人の技量差によらず一律に安定した認識精度を確保することができる。この結果、画像認識処理の実用性を向上できる。
【００４４】
また、本実施形態では特に設定部１２が、対象物に関する対象物情報、及び当該対象物のどのような状態を検査結果情報（状態情報）として認識するかに関する認識内容情報に対応したハイパーパラメータを設定する。これにより、設定部１２は、画像認識部１１に対して具体的に対象物と認識内容に対応した適切なハイパーパラメータを設定することができる。
【００４５】
また、本実施形態では特に、対象物情報は、対象物の外観画像情報であることにより、設定部１２は具体的な対象物の外観に対応してどのようなハイパーパラメータを設定すべきか機械学習できる。
【００４６】
また、本実施形態では特に、設定部１２の学習フェーズにおいて、設定部１２は外観画像情報及び認識内容情報に対して設定すべきハイパーパラメータとの対応関係を学習する。これにより設定部１２は、どのような外観の対象物に対してどのような認識内容の画像認識をすべきか具体的に機械学習できる。
【００４７】
また、本実施形態では特に、設定部１２の学習フェーズでは、対象物情報、認識内容情報、及び評価値の少なくとも１つとハイパーパラメータとを対応付けた設定部学習用データセットを用いて設定部１２を機械学習させる。これにより、設定部１２に対する具体的な学習フェーズの実行を実現できる。
【００４８】
また、本実施形態では特に、設定部１２は、画像認識部１１の学習フェーズの進行度に応じてハイパーパラメータ（主に学習率）を変更する。これにより、画像認識部１１の学習フェーズにおける学習段階に応じてハイパーパラメータを適切に変更することが可能となり、実装した画像認識部１１の認識精度をさらに向上させることができる。
【００４９】
また、本実施形態では特に、画像認識部１１の学習フェーズにおける画像認識アルゴリズムは深層学習であり、ハイパーパラメータは層数、ノード数（ユニット数、ニューロン数）、及び学習率の少なくとも１つを含む。これにより、特にハイパーパラメータの種類が多くその設定と調整が困難とされる深層学習によって画像認識部１１の学習フェーズを実行する場合に、設定部１２による設定が好適となる。また必要に応じて、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク、フィードフォワードネットワーク、及びホップフィールドネットワーク等のネットワーク構成に関する情報や、積層自己符号化器及びディープボルツマンマシン等のネットワーク構築手法に関する情報等をハイパーパラメータに含めてもよい。また機械学習プロセスの種類自体も認識アルゴリズムとしてハイパーパラメータに含まれており、他の認識アルゴリズム（例えばサポートベクトルマシンやベイズ等）やそれらの組み合わせを選択した場合には、対応する他のハイパーパラメータが設定される。
【００５０】
＜変形例＞
なお、以上説明した実施形態は、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。
【００５１】
＜変形例１：設定部の変形例について＞
上記実施形態では、設定部１２を深層学習で実装した例を示したが、これに限られず他の機械学習で設定部１２を実装してもよい。また、特に図示説明しないが、設定部１２自体の設計フェーズもまたさらに上位の設定部（特に図示せず）によって機械的に行ってもよい。また上記実施形態では画像認識部１１に４つの検査項目（認識内容）それぞれの検査結果情報を出力させていたが、これに限られない。例えば、画像認識部１１の設計フェーズ（設定部１２の運用フェーズ）においてユーザが任意に選択した検査項目にだけ対応したハイパーパラメータを、設定部１２が設定してもよい。
【００５２】
上記図２の画像認識部１１では、全ての検査項目をそれぞれ出力させるニューラルネットワークを一体化して構築していたが、これに限られない。例えば、図８に示すように、入力層に近い畳み込みニューラルネットワークを共通層としてそれから各検査項目別にニューラルネットワークを独立させてもよく、そのようなネットワーク構成を構築するようなハイパーパラメータを設定部１２が設定してもよい。
【００５３】
＜変形例２：複数のカメラで撮像した複数の画像データでパターン認識する場合＞
図９に示す例では、それぞれの撮像領域が重複する２台のカメラ４１，４２で構成されたいわゆる３次元カメラ４３を用いて１つの食品Ｆ（図示する例では鳥唐揚げ）をそれぞれ異なる撮像方向から撮像している。これにより、図１０の左側に示すように、１つの食品Ｆに対して相互に視差を有する２つの画像データ（それぞれ２次元ピクセル列）を取得することができる。
【００５４】
図１０に示す例では、画像認識部１１のニューラルネットワークが上記２つの画像データをそのまま個別に入力され、それら２つの画像データに基づいて食品Ｆの形状パターンを認識するよう設計されている。このように３次元の画像データを用いることで、特に形状や大きさが不定である食品Ｆに対して立体形状の空間認識精度が向上する。なお、カメラは撮像領域が重複すれば３つ以上用いてもよいし、画像認識部１１のニューラルネットワークにおいてそれぞれの画像データを個別の畳み込みニューラルネットワークで処理してから同一の全結合層でパターン認識してもよい。
【００５５】
＜その他の変形例＞
また特に図示しないが、対象物の画像データを取得する光学的センシング手段としてレーザースキャナ等をカメラ２（および３次元カメラ４３）の代わりに用いてもよい。この場合には、例えばレーザースキャナから投光された走査線で対象物の表面上における各点との距離を計測し、これらの距離データの集合で画像データを取得する。また、画像認識部１１は、外観部分画像の画像データではなく、例えば３Ｄ立体モデルを形状情報として取得してもよい。
【００５６】
また上記実施形態では、画像検査装置４に画像認識部１１と設定部１２を一体に備えるよう構成していたが、これに限られない。他にも、設定部１２については画像検査装置４の外部に設けられたサーバ（特に図示せず）などの専用の処理装置に設けてもよく、特にこのサーバがインターネット等の通信ネットワークを介して接続されたいわゆるクラウドサーバであってもよい。この場合、設定部の設計フェーズや学習フェーズを当該サーバ側で実行し、この設定部の運用フェーズである画像認識部設計フェーズや画像認識部学習フェーズにおいては、必要に応じて上記サーバから出力されたハイパーパラメータを画像認識部１１に適用して実装すればよい。
【００５７】
さらに、画像認識部１１についてもその設計フェーズや学習フェーズを外部のサーバ（特に図示せず）で実行してもよい。この場合、そのサーバでの機械学習プロセスの結果得られた学習内容（例えば深層学習の場合のネットワーク全体の構成や、各層単位でエッジ重み計数をまとめたテンソルブロック（行列値ブロック）など）を画像検査装置４に入力し、当該画像検査装置４がその学習内容に基づいて画像認識部１１をソフトウェア的に内部実装し、運用すればよい。
【００５８】
＜画像検査装置のハードウェア構成例＞
次に、図１１を参照しつつ、上記で説明したＣＰＵ９０１が実行するプログラムによりソフトウェア的に実装された画像認識部１１、設定部１２等による処理を実現する画像検査装置４のハードウェア構成例について説明する。
【００５９】
図１１に示すように、画像検査装置４は、例えば、ＣＰＵ９０１と、ＲＯＭ９０３と、ＲＡＭ９０５と、ＡＳＩＣ又はＦＰＧＡ等の特定の用途向けに構築された専用集積回路９０７と、入力装置９１３と、出力装置９１５と、記録装置９１７と、ドライブ９１９と、接続ポート９２１と、通信装置９２３とを有する。これらの構成は、バス９０９や入出力インターフェース９１１を介し相互に信号を伝達可能に接続されている。
【００６０】
プログラムは、例えば、ＲＯＭ９０３やＲＡＭ９０５、記録装置９１７等に記録しておくことができる。
【００６１】
また、プログラムは、例えば、フレキシブルディスクなどの磁気ディスク、各種のＣＤ・ＭＯディスク・ＤＶＤ等の光ディスク、半導体メモリ等のリムーバブルな記録媒体９２５に、一時的又は永続的に記録しておくこともできる。このような記録媒体９２５は、いわゆるパッケージソフトウエアとして提供することもできる。この場合、これらの記録媒体９２５に記録されたプログラムは、ドライブ９１９により読み出されて、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００６２】
また、プログラムは、例えば、ダウンロードサイト・他のコンピュータ・他の記録装置等（図示せず）に記録しておくこともできる。この場合、プログラムは、ＬＡＮやインターネット等のネットワークＮＷを介し転送され、通信装置９２３がこのプログラムを受信する。そして、通信装置９２３が受信したプログラムは、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００６３】
また、プログラムは、例えば、適宜の外部接続機器９２７に記録しておくこともできる。この場合、プログラムは、適宜の接続ポート９２１を介し転送され、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００６４】
そして、ＣＰＵ９０１が、上記記録装置９１７に記録されたプログラムに従い各種の処理を実行することにより、上記の画像認識部１１及び設定部１２が実現される。この際、ＣＰＵ９０１は、例えば、上記記録装置９１７からプログラムを直接読み出して実行してもよいし、ＲＡＭ９０５に一旦ロードした上で実行してもよい。更にＣＰＵ９０１は、例えば、プログラムを通信装置９２３やドライブ９１９、接続ポート９２１を介し受信する場合、受信したプログラムを記録装置９１７に記録せずに直接実行してもよい。
【００６５】
また、ＣＰＵ９０１は、必要に応じて、例えばマウス・キーボード・マイク（図示せず）等の入力装置９１３から入力する信号や情報に基づいて各種の処理を行ってもよい。
【００６６】
そして、ＣＰＵ９０１は、上記の処理を実行した結果を、例えば表示装置や音声出力装置等の出力装置９１５から出力してもよく、さらにＣＰＵ９０１は、必要に応じてこの処理結果を通信装置９２３や接続ポート９２１を介し送信してもよく、上記記録装置９１７や記録媒体９２５に記録させてもよい。
【００６７】
なお、以上の説明において、「垂直」「平行」「平面」等の記載がある場合には、当該記載は厳密な意味ではない。すなわち、それら「垂直」「平行」「平面」とは、設計上、製造上の公差、誤差が許容され、「実質的に垂直」「実質的に平行」「実質的に平面」という意味である。
【００６８】
また、以上の説明において、外観上の寸法や大きさ、形状、位置等が「同一」「同じ」「等しい」「異なる」等の記載がある場合は、当該記載は厳密な意味ではない。すなわち、それら「同一」「等しい」「異なる」とは、設計上、製造上の公差、誤差が許容され、「実質的に同一」「実質的に同じ」「実質的に等しい」「実質的に異なる」という意味である。
【００６９】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【符号の説明】
【００７０】
１            画像検査システム
２            搬送選別機
３            カメラ
４            画像検査装置（産業機器用の画像認識装置）
５            入力装置
６            表示装置
７            機械制御装置
１０，Ｆ      食品（対象物）
１１          画像認識部
１２          設定部
２１          ベルトコンベア
２２          選別アクチュエータ
【図１】
2018120373.tif 000003
【図２】
2018120373.tif 000004
【図３】
2018120373.tif 000005
【図４】
2018120373.tif 000006
【図５】
2018120373.tif 000007
【図６】
2018120373.tif 000008
【図７】
2018120373.tif 000009
【図８】
2018120373.tif 000010
【図９】
2018120373.tif 000011
【図１０】
2018120373.tif 000012
【図１１】
2018120373.tif 000013