JP2020535569A - マシンビジョンシステム - Google Patents

マシンビジョンシステム Download PDF

Info

Publication number
JP2020535569A
JP2020535569A JP2020537871A JP2020537871A JP2020535569A JP 2020535569 A JP2020535569 A JP 2020535569A JP 2020537871 A JP2020537871 A JP 2020537871A JP 2020537871 A JP2020537871 A JP 2020537871A JP 2020535569 A JP2020535569 A JP 2020535569A
Authority
JP
Japan
Prior art keywords
machine vision
vision system
neural network
series expansion
processing means
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.)
Granted
Application number
JP2020537871A
Other languages
English (en)
Other versions
JP6912008B2 (ja
Inventor
アンドリュー バチェラー
アンドリュー バチェラー
ギャリー ジョーンズ
ギャリー ジョーンズ
良徳 佐藤
良徳 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nissan Motor Co Ltd
Original Assignee
Nissan Motor Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nissan Motor Co Ltd filed Critical Nissan Motor Co Ltd
Publication of JP2020535569A publication Critical patent/JP2020535569A/ja
Application granted granted Critical
Publication of JP6912008B2 publication Critical patent/JP6912008B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/13Differential equations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • G06Q10/06395Quality analysis or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Databases & Information Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Business, Economics & Management (AREA)
  • Algebra (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Manufacturing & Machinery (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Tourism & Hospitality (AREA)

Abstract

本発明のマシンビジョンシステムは、分類対象となる物体を示す画像データを受信する受信手段と、初期ニューラルネットワークを備えた処理手段とを有し、処理手段は、ニューラルネットワークパラメータに基づいて初期ニューラルネットワークアルゴリズムを記述する微分方程式を決定し、微分方程式の解を級数展開の形で決定し、級数展開における項数を有限個に制限することによって級数展開を有限級数展開に変換し、有限級数展開に基づいて出力分類を決定する。

Description

本発明は、マシンビジョンシステムに関し、特に車両生産用のマシンビジョンシステムに関する。本発明の態様は、マシンビジョンシステムを実現するために必要とされる計算資源を低減する方法、および、生産プロセス装置又は生産プロセスシステムを構成するためのマシンビジョン制御システム、特に、生産ライン構成装置を検査して、損傷、異物、又は、不正確に取り付けられた部品を識別して位置を特定するための生産ライン配置に関する。
マシンビジョンシステムおよび方法は、産業用途、特に自動検査、品質制御プロセス、およびロボット制御のための、画像ベースの自動検査および分析を提供するために使用される。具体的には、マシンビジョンシステムおよび方法は、システムによって取得された画像から情報を抽出するために使用される。
図1は、典型的なマシンビジョン装置10を示す。装置10は、例えば、車両のような、検査されるべき製品またはワークピース14を有する製品ライン12と、画像処理システム/ハードウェア18に接続された1つ以上の光学センサまたはカメラ16を有する光学システムとを含む。また、装置10は、製品またはワークピース14に関連する欠陥の検出など、多数の決定を行うために、取得した画像を分析するように構成されたコンピュータなどである処理手段20を含む。処理手段20は、装置10のプロセス制御システム22に信号を出力し、制御システム22は、処理手段20の決定に従って製品ライン12を構成することができる。
一般に、このような処理手段20は、取得した画像を識別し分類するためにニューラルネットワークアルゴリズム24を使用する。特に、ニューラルネットワークは、テストデータを考慮することによって、取得した画像から広範囲のアイテムを識別し分類することを学習するようにトレーニングすることができ、取得した画像から広範囲のアイテムを識別し分類できるように、特別にプログラムされる必要はない。
ニューラルネットワークは特徴抽出のために非線形処理ユニットの連結を使用する。ニューラルネットワークを、異なる状況で物体を認識するようにトレーニングすることができる。ニューラルネットワークは、典型的には、入力層と、複数の隠れ層と、出力層とを有し、各層は、複数のニューロンを含む。入力層は、各隠れ層を介して処理される入力データ、例えば、画像データを受信し、その結果、出力層のニューロンは、ニューラルネットワークによって入力画像データに割り当てられた決定された分類を示す値を割り当てられる。このタイプのデータ駆動アプローチは、画像のデータセットを収集し、機械学習を使用して、各画像を特定のカテゴリに分類またはラベル付けする分類器をトレーニングする。次いで、分類器を使用して、新しい画像、例えば、生産ライン12上のワークピース14の画像を評価することができる。
ニューラルネットワークは画像分類に特に適している。いくつかの実装では、これは、画像サンプルの各画素を第1の層の特定のニューロンに直接マッピングすることによって達成することができ、その結果、各ニューロンは、画素がオンであるかオフであるかに応じて、1または0を示す。
ニューラルネットワークとそれが解決しようとする問題に依存して、ネットワークの各層は、異なる数のニューロンを有することができ、これらは、入力データの特定の品質に関連することも、しないこともある。第1層の様々なニューロンは、次の層のニューロンに接続される。一実施形態、いわゆる全結合型ニューラルネットワークでは、特定の層の各ニューロンは、次の層の各ニューロンに接続される。
各層の各ニューロンは、前の層の各ニューロンから入力値を受け取る。これらの入力値は合計され、この合計がしきい値と比較される。その値が特定のニューロンの閾値を超えると、そのニューロンは正の値を保持し、最終層に到達するまで、そのニューロンの次の層のニューロンへの入力として使用することができる。この点で、ニューラルネットワークルーチンの出力は、最終層の値から読み取ることができる。
光学的物体認識に使用されるニューラルネットワークの一実施形態では、層内の各値は、特定の物体または物体のクラスに割り当てられる。このような実装では、ニューラルネットワークは、例えば、ネットワークがどのオブジェクトを最も可能性の高い入力オブジェクトとして計算したかを示す1つのニューロンにおける1つの大きな正の値を有する出力層で終了するように構成される。ただし、これらの接続は計算上複雑になる可能性がある。
ニューラルネットワークを実装する1つの方法は、各レベルをニューロン値の行列として扱うことである。接続強度を変換マトリックスとして実装し、各層のマトリックスを乗算する。この乗算により、前の層の各値を接続強度に従ってスケールしてから、行列乗算によって合計することができる。乗算が実行された後、次のレベルの各ニューロンの閾値を説明するために、バイアス行列が積行列に加えられる。次いで、活性化又は閾値関数、例えば双曲線正接関数が、閾値が満たされたか否かを決定するために各結果値に適用され、結果値は次の層のためのマトリックスに配置される。
各層の間の接続、したがってニューラルネットワーク全体は、一連の行列として表現することができる。これらの行列に対して適切な値を決定することがニューラルネットワークをトレーニングする問題である。ニューラルネットワークの計算およびニューラルネットワークのトレーニングは、多くの数学的計算を含む。大規模で複雑なニューラルネットワークは、大量の計算リソースを必要とする。大規模な産業用マシンビジョンシステムでは、大規模で強力なハードウェアであっても、ニューラルネットワークをトレーニングするのに数日から数週間かかることがある。
畳み込みニューラルネットワーク(CNN)は、特に画像評価および分類に適したニューラルネットワークの特定のカテゴリである。CNNは、畳み込み層、プーリング層、全結合層を含むことができる。
畳み込み層は、入力画像から特徴を抽出する。元のイメージの特長を識別するために、複数のフィーチャマップまたはフィルタを有する。各畳み込みニューロンは、それ自身の受容野についてのみデータを処理する。タイリングのような既知の方法は、入力画像の操作、例えば並進、回転、遠近歪みを可能にする。フィルタは、例えば、行列によって数学的に表すことができる。
プーリング層は、1つの層のニューロン群の出力を、次の層の単一のニューロンに結合する。これにより、各フィーチャマップの次元は小さくなるが、最も重要な情報は保持される。
前述のように、全結合層は、ある層のすべてのニューロンを別の層のすべてのニューロンに接続する。原理的には、従来の多層パーセプトロン神経回路網と同じである。
畳み込み層またはプーリング層からの出力は、入力画像の高レベルの特徴を表す。全結合層層の目的は、入力画像をトレーニングデータセットに基づいて種々のクラスに分類するためにこれらの高レベルの特徴を使用することである。
より詳細には、CNNをトレーニングするとき、ニューラルネットワークは、トレーニング画像を入力として受け取る。これは、例えば、図1の車両14の場合、ホイールボルトを備えたホイールの画像であり得る。入力画像は、畳み込み層内の順方向伝搬ステップと、1つまたは複数のプーリング層内の1つまたは複数のプーリングステップと、全結合層内の順方向伝搬ステップとを経る。これは、例えば、関心のある特徴をあるタイプのホイールボルトとして識別するなど、データベース内に有する画像の各クラスに対する出力確率を決定する。
上述のように、ニューラルネットワークへのバイアス入力も使用される。ニューラルネットワークのノードへのこれらのバイアス入力は、ノードが受信する通常の入力に加えてトレーニング可能な定数値をすべてのノードに提供する。すなわち、定数値によって活性化/閾値関数を変換できるので重要である。これは、ニューラルネットワークに高い柔軟性を提供するが、一方で、ニューラルネットワークの過剰パラメータ化を生じさせる。
ニューラルネットワークをトレーニングするとき、ランダムな重みをネットワーク中のニューロンに割り当てる。出力での誤差を計算し、次に逆伝搬法を用いてニューラルネットワークにおけるすべての重みに関する誤差を計算する。再帰的ステップにより誤差を低減するので、ネットワークは出力誤差が低減されるように各ニューロンの重みを調整することにより特定の画像を正しく分類することを学習する。
トレーニングステップは、トレーニングセットからの画像が正しく分類されるように、CNNのすべての重みおよびパラメータが最適化されることを保証する。しかし、実際には、全体的な画像分類に大きく寄与しない冗長なノードおよびパラメータが存在する場合がある。このような冗長ノードは、システムの精度には寄与しないが、依然として計算を必要とし、これは、システムが非効率的に動作することを意味し、例えば、可能なものより遅いか、または真に最適化されたシステムよりも実質的な計算機資源を必要とする。
CNNがマシンビジョンに適している主な理由の一つは、グラフィカル処理ユニット(GPU)に基づく計算資源の利用可能性である。GPUは、数百万の画像の大規模なデータベースと組み合わされるニューラルネットワークのトレーニング時間を短縮した。これは、このようなシステムをトレーニングするために必要な大量のデータを並列処理するのに有効であるためである。
上述のように、ニューラルネットワークは、逆伝搬法のような技術を介して最適化/トレーニングされ得るが、これは、ニューラルネットワークが真に最適化された形態であることを保証しない。状況によってはニューラルネットワークを実装する上で問題となる可能性がある。
トレーニング時間が減少したとしても、トレーニングされたニューラルネットワークを実際に使用する場合、大量生産される車のための産業プラントのような、実施コストが重要である産業的およびリアルタイムの現場への適用ではまだ問題がある。産業界では、可能な限り低いコストで非常に高い精度と非常に低い偽陽性率の要件が求められている。
産業プロセスへの適用のためには、マシンビジョンシステムには、日中の異なる照明条件、反射、操作者による障害、カメラのレンズ上の汚れに対処できる能力が求められ、保守や較正作業が不要であることが求められる。
マシンビジョンに基づいたアプリケーションに適したニューラルネットワークを設計する際には、決定しなければならない多数の異なるパラメータまたはハイパーパラメータがある。これらのパラメータは、例えば、層の数、層当たりのニューロンの数などを含み得る。ニューラルネットワークシステムを使用する既存のスキームは、いくつかのタスクに対して過剰にパラメータ化され得るため、既存のスキームによると長いトレーニング時間および非効率的なシステムが生成される場合がある。
さらに、いわゆる「過適合」が問題になることがある。機械学習における一般的なタスクは、目に見えないテストデータに対して信頼性の高い予測を行うことを目的として、モデルをトレーニングデータのセットに適合させることである。過適合は、観測数に対してパラメータが多すぎるなど、モデルが複雑すぎる場合に発生する。過適合したモデルは予測性能が低い。
学習アルゴリズムは、典型的には、一組の「トレーニングデータ」、すなわち所望の出力が既知である例示的な状況を用いてトレーニングされる。その目的は、このアルゴリズムが、トレーニング中に遭遇しなかった「検証データ」を与えられたときの出力の予測においても、うまく機能することにある。
過適合は、例えば、現在のタスクに対して最終的に最適であるよりも調整可能なパラメータを含むニューラルネットワークにおいて遭遇する問題である。または最適であるよりも複雑なアプローチを使用する際に遭遇する問題である。モデル曲線をデータセットにフィットさせるのは比較的簡単である。ただし、新しいデータで複雑なモデルを評価すると、パフォーマンスが非常に低下する可能性がある。言い換えると、計算されたモデルはうまく一般化しない。すなわち、トレーニングセット上の誤差は非常に小さい値となるが、新しいデータがネットワークに提示されるとき、誤差は大きくなる。別の言い方をすると、ニューラルネットワークはトレーニングで用いたデータセットをよく覚えているが、新しいデータにも適用できるよう状況を一般化することを学んでいない。
機械学習に必要なより複雑なモデルをトレーニングする場合、過適合とモデルの複雑さの間にバランスがなければならない。モデルが十分に複雑でない場合、たとえば、さまざまな方向や生産ラインのシナリオでさまざまな部品を認識するなど、手元の問題を解決するために必要なすべての有用な情報を取得するには、十分に強力ではない可能性がある。一方、モデルが非常に複雑な場合、特に利用可能なトレーニングデータの量が限られている場合、過適合のリスクがある。
オーバーパラメータ化され、複雑で、より汎用的なニューラルネットワークは、比較的大量の計算リソースを必要とし、比較的「軽量」なハードウェア、例えばラップトップのようなモバイルまたはハンドヘルドハードウェア、およびフィールドプログラマブルゲートアレイ(FPGA)によって実装するのには適していない。
従って、複雑であるが柔軟なモデルが必要とされる生産ラインのニーズを満たすことができ、かつ高速な学習及び適応性(再トレーニング)特性を有するマシンビジョンシステムが必要とされている。
このようなシステムを提供するこれまでの方法は、検証データを使用して早期に停止するなどの手法と併せて、初期過剰パラメータ化などの技法を使用することを含む。ただし、計算機資源の大きさに依存して、この方法は時間がかかることがある。
ニューラルネットワークの効率を改善する別の技術は、ニューラルネットワーク・プルーニングである。このアプローチは、最終的な出力分類に対するそれらの相対的な寄与に従ってネットワーク内のニューロンをランク付けし、次に、ネットワークから最下位のニューロンを除去して、より小さく、より高速なネットワークをもたらす。このアプローチの欠点は、不十分なランキング方法を含み、システムの精度のレベルにおける望ましくない損失をもたらす。評価、剪定、および微調整の追加段階も、計算コストが高く、実装が困難な場合がある。
本発明の目的は、先行技術に関連する1つ以上の欠点に対処することである。
本発明の一態様によれば、マシンビジョンシステムが提供される。マシンビジョンシステムは、分類対象となる物体を示す画像データを受信する受信手段を含むものであってもよい。マシンビジョンシステムは、受信した画像データが提供される入力層と、少なくとも1つの隠れ層と、出力層と、を有する初期ニューラルネットワークアルゴリズムを備え、少なくとも1つの隠れ層は、それぞれ関連する活性化関数を有する複数のニューロンを含み、受信した画像データに応じて出力分類を出力層に提供するよう構成された処理手段を含むものであってもよい。処理手段は、活性化関数に基づいて初期ニューラルネットワークアルゴリズムを記述する微分方程式を決定し、微分方程式の解を級数展開の形で決定し、級数展開における項数を有限個に制限することによって級数展開を有限級数展開に変換し、有限級数展開に基づいて出力分類を決定するものであってもよい。
複数のニューロンはまた、他の関連するニューラルネットワークパラメータを含むものであってもよい。初期ニューラルネットワークアルゴリズムを記述する微分方程式は、他の関連するニューラルネットワークパラメータに基づいてもよい。
2つのニューロンの間のそれぞれの接続は、関連するシナプス荷重を有するものであってもよい。各シナプス荷重は、物体を示す画像データおよび物体の関連する既知の分類を含むトレーニングデータのセットから、決定された出力分類と、物体の関連する既知の分類との間の誤差を低減するように調整された値を有するものであってもよい。すなわち、初期ニューラルネットワークアルゴリズムは、トレーニングされたニューラルネットワークアルゴリズムであってもよい。
処理手段は、活性化関数の各々を検査して、活性化関数が微分可能であるかどうかを判定し、微分可能ではないと判定された活性化関数を、微分可能な活性化関数、又は、微分可能な近似によって置換するものであってもよい。
1又は複数の活性化関数は正規化線形関数であり、処理手段は、正規化線形関数をシグモイド関数によって置換するものであってもよい。
1又は複数の活性化関数は最大プーリング層関数であり、処理手段は、最大プーリング層関数を要素の加重和で置換するものであってもよい。
1又は複数の活性化関数は非線形活性化関数であり、処理手段は、非線形活性化関数をChen−Fliess級数による等価システムで置換するものであってもよい。
処理手段は、出力分類を決定するため、有限級数展開を用いて受信した画像データを評価するものであってもよい。
処理手段は、有限級数展開を更新されたニューラルネットワークアルゴリズムに変換し、出力分類を決定するため、更新されたニューラルネットワークアルゴリズムを用いて受信した画像データを評価するものであってもよい。
処理手段は、微分方程式の状態空間形式を決定して級数展開を決定するものであってもよい。
処理手段は、状態空間形式から1又は複数のベクトル場を抽出して級数展開を決定するものであってもよい。
処理手段は、初期ニューラルネットワークアルゴリズムを微分可能な近似に変換し、微分可能な近似に基づいて微分方程式を決定するものであってもよい。
初期ニューラルネットワークアルゴリズムの全結合層に対して、微分可能な近似は、
xを潜在状態、uをネットワーク入力、bをバイアス、σを活性化関数のインスタンスのベクトル、h、kを初期ニューラルネットワークアルゴリズムの層(h>0)、Aを状態行列、Bを入力伝達行列であるとして、

の形式で表現されるものであってもよい。
Xを層状態行列、Uを層入力行列、Eをバイアス、Cを状態フィルタ、Dを入力畳み込みフィルタであるとして、
初期ニューラルネットワークアルゴリズムの畳み込み層に対して、微分可能な近似は、

の形式で表現されるものであってもよい。
処理手段は、微分可能な近似を微分して微分方程式を得るものであってもよい。
処理手段は、微分可能な近似を微分するために数値計算法を適用するものであってもよい。
処理手段は、Chen−Fliess級数展開を用いて級数展開に現れる1又は複数の係数を決定するものであってもよい。
処理手段は、級数展開の収束ウィンドウを決定するものであってもよい。
を特徴とするマシンビジョンシステム。
処理手段は、級数展開を生成する最小基底を算出するものであってもよい。
処理手段は、複数の時間ウィンドウごとに級数展開の係数の異なる組を決定するものであってもよい。処理手段は、所定の収束レベルが達成されるまで、決定された係数を調整して微分方程式のベクトル場パラメータを調整するものであってもよい。
処理手段は、再トレーニング処理の一部として、受信した画像データ及び関連する出力分類に基づいて、有限級数展開を更新するものであってもよい。
出力分類、すなわち、車両部品などの部品の検査結果は、データ可視化ソフトウェアにアクセス可能なサーバに送信されるものであってもよい。
本発明の一態様によれば、マシンビジョンシステムが提供される。マシンビジョンシステムは、物体を示す画像データと物体の関連する既知の分類を含むトレーニングデータを受信する受信手段を含むものであってもよい。マシンビジョンシステムは、受信した画像データが提供される入力層と、少なくとも1つの隠れ層と、出力層と、を有する初期ニューラルネットワークアルゴリズムを備え、少なくとも1つの隠れ層は、それぞれ関連する活性化関数を有する複数のニューロンを含み、ニューロンの間の接続は関連するシナプス荷重を有し、受信した画像データに基づいて初期ニューラルネットワークアルゴリズムを評価することで関連する分類を生成することが保証されるよう、シナプス荷重の値を決定するよう構成された処理手段を含むものであってもよい。処理手段は、活性化関数に基づいて初期ニューラルネットワークアルゴリズムを記述する微分方程式を決定し、微分方程式の解を級数展開の形で決定し、級数展開における項数を有限個に制限することによって級数展開を有限級数展開に変換し、有限級数展開に基づいて出力分類を決定し、シナプス荷重の値を調整して、決定した出力分類と物体の関連する既知の分類との間の誤差を減らすものであってもよい。
モデルのパラメータ/係数/重みは、線形モデルと同等の任意の適切な入力/出力方法を用いてトレーニングおよび/または再トレーニングされるものであってもよい。処理手段は、システムをトレーニングするために勾配降下法を適用するものであってもよい。処理手段は、線形系の係数を解くために、Moore Penrose擬似逆法を適用するものであってもよい。このアプローチは、級数のより多くの項を作成することによって、初期のシステムをより複雑にする可能性がある。つまり、単純化された有限級数を作成すると、より多くの項が作成されます。しかし、この方法によれば、よりコンパクトな元の級数と比較して、級数展開された際に不要な項を見つけて除去することがより簡単である。そのため、生成された級数を単純化する機会を提供し、従って元の級数またはニューラルネットワークよりも効率が改善される。
本発明の一態様によれば、生産プロセス装置又は生産プロセスシステムを構成するためのマシンビジョン制御システムが提供される。マシンビジョン制御システムは、分類対象となる物体を示す画像データを受信する受信手段を含むものであってもよい。マシンビジョン制御システムは、受信した画像データが提供される入力層と、少なくとも1つの隠れ層と、出力層と、を有する初期ニューラルネットワークアルゴリズムを備え、少なくとも1つの隠れ層は、それぞれ関連する活性化関数を有する複数のニューロンを含み、受信した画像データに応じて出力分類を出力層に提供するよう構成された処理手段を含むものであってもよい。マシンビジョン制御システムは、出力分類に応じて、生産プロセス装置又は生産プロセスシステムに制御信号を送信し、生産プロセス装置又は生産プロセスシステムのセットアップを実行する制御手段を含むものであってもよい。処理手段は、活性化関数に基づいて初期ニューラルネットワークアルゴリズムを記述する微分方程式を決定し、微分方程式の解を級数展開の形で決定し、級数展開における項数を有限個に制限することによって級数展開を有限級数展開に変換し、有限級数展開に基づいて出力分類を決定するものであってもよい。
本発明の一態様によれば、生産ライン構成装置における損傷、異物、又は、不正確に取り付けられた部品を識別して位置を特定するため、生産ライン構成装置を検査する生産ライン配置が提供される。本発明は、特に、生産ライン上の自動車に関係する。生産ライン配置は、生産ライン構成装置に関する画像データの1又は複数のセットを取得するように構成された少なくとも1つのカメラを含む光学システムを含むものであってもよい。生産ライン配置は、分類対象となる物体を示す画像データを受信する受信手段と、受信した画像データが提供される入力層と、少なくとも1つの隠れ層と、出力層と、を有する初期ニューラルネットワークアルゴリズムを備え、少なくとも1つの隠れ層は、それぞれ関連する活性化関数を有する複数のニューロンを含み、受信した画像データに応じて出力分類を出力層に提供するよう構成された処理手段と、を有するマシンビジョン制御システムを含むものであってもよい。生産ライン配置は、出力分類に応じて、自身のセットアップを実行する生産プロセス装置又は生産プロセスシステムを含むものであってもよい。処理手段は、活性化関数に基づいて初期ニューラルネットワークアルゴリズムを記述する微分方程式を決定し、微分方程式の解を級数展開の形で決定し、級数展開における項数を有限個に制限することによって級数展開を有限級数展開に変換し、有限級数展開に基づいて出力分類を決定するものであってもよい。
本発明の一態様によれば、マシンビジョンに関する方法が提供される。本方法は、分類対象となる物体を示す画像データを受信し、受信した画像データが提供される入力層と、少なくとも1つの隠れ層と、出力層と、を有する初期ニューラルネットワークアルゴリズムであって、少なくとも1つの隠れ層は、それぞれ関連する活性化関数を有する複数のニューロンを含む初期ニューラルネットワークアルゴリズムを提供するものであってもよい。本方法は、活性化関数及び関連するニューラルネットワークパラメータに基づいて初期ニューラルネットワークアルゴリズムを記述する微分方程式を決定し、微分方程式の解を級数展開の形で決定するものであってもよい。本方法は、級数展開における項数を有限個に制限することによって級数展開を有限級数展開に変換し、有限級数展開に基づいて決定される出力分類を、受信した画像データに応じて出力層に提供するものであってもよい。
本発明の一態様によれば、1又は複数のプロセッサによって実行されることにより、上述の方法を実行させる命令を格納するコンピュータプログラム製品が提供される。
本発明の一態様によれば、マシンビジョンシステムを備えるタブレット端末が提供される。
本発明の一態様は、非線形時間依存モデルをFliess/Magnus形式のべき級数を介してその双線形形式に変換し、べき級数のベクトル場から生成されるLie代数の最小基底、例えば、Phillip Hall基底(これにより、モデルに必要な係数の最小数が生成される。)を生成し、確率的勾配降下法または他の標準的な方法によってべき級数係数を学習し、トレーニングセットに対するべき級数の反復適用により、ベクトル場を学習し、べき級数を必要なモデル形式に変換するステップを実行する処理手段として表現することができる。
本発明の一態様は、マシンビジョン実施のためのニューラルネットワーク、例えば畳み込みニューラルネットワークを提供し、双線形形式に変換し、既知のデータセットをトレーニングし、誤差曲面を生成し、トレーニングが完了するまで反復するステップとして表現することができる。
本発明の一態様は、完全に微分可能であると仮定して、ニューラルネットワークについての解析的で完全に微分可能な方程式を生成し(不連続関数がある場合は、シグモイド関数や双曲線正接関数などの近似値に置き換える。)既知の入出力を定義し、Fliessシステム(これはVolterra Kernelメソッドを使用するか、必要に応じて直接展開する。)を介して双線形の形にシステムを変換し、べき級数の収束ウィンドウを決定するためにシステムをテストし(Magnus展開を使用する場合、これは先験的に計算されるものであってもよい);収束ウィンドウの最後で形式的なべき級数をリセットするために使用するベクトル場を抽出し、ベクトル場を使用して、時間ウィンドウごとにべき級数係数を計算し、標準的な方法を使用して、例えば、P Hall基底のようなべき級数を生成するための最小基底を計算し、形式べき級数の係数を時間窓ごとに学習し、学習した係数を使用してベクトル場のパラメータを調整し、収束するまで処理を繰り返し、システムが設定された動作環境で動作する場合は、ベクトル場がグローバルでなくなるように調整し、ルックアップテーブルによって記述できるようにし、必要に応じて、標準的な方法を使用してシステム全体を固定点に変換し、システムをリカレントニューラルネットワークや微分方程式などの必要な形式に変換するステップとして表現することができる。
本発明の一態様は、産業プラントプロセスを検査するためのマシンビジョンシステムを実施する方法を提供する。本方法は、複数の画像、例えば1000枚の画像を有する画像データベースを作成するものであってもよい。本方法は、画像データベース内の画像を分類すること、例えば、関心のある特徴を強調するものであってもよい。本方法は、関心のある特徴を識別するためにニューラルネットワークをトレーニングするものであってもよい。本方法は、トレーニングされたニューラルネットワークを使用して、エラーの識別および管理を管理するものであってもよい。本方法は、冗長パラメータ/ハイパーパラメータの数を減らすことによって、画像処理に使用されるニューラルネットワークを最適化するものであってもよい。本方法は、ニューラルネットワークをべき級数に変換し、冗長パラメータを識別および除去(潜在的に)するものであってもよい。当該べき級数は、画像、スポットエラーなどを評価し分類するために、マシンビジョンシステムで使用するものであってもよい。
当該べき級数は、元のニューラルネットワークの最適化されたバージョンを構築するために使用するものであってもよい。本方法は、関心のある特徴が変化するように、ニューラルネットワークおよび/または最適化されたべき級数を再トレーニングすることができる再トレーニング段階を含むものであってもよい。当該べき級数は、線形代数技法のみを使用してトレーニングすることができるべき級数であってもよい。
本発明の一態様は、任意の形式の変換器によって生成されたデジタルデータを使用して、物理的アイテム、動物、または人間における特徴または動作を識別するシステム/方法として表すことができる。システム/方法は、変換器によって生成されたデジタルデータを取得し、そこから望ましくない特徴を認識して配置することを以前に教示されたアルゴリズムを通過させる機械学習アルゴリズムを使用することができる。このアルゴリズムは、畳み込み/リカレントニューラルネットワークを採用し、完全に微分可能な形式に変換することによって生成することができる。変換器は、その入力をパーソナルコンピュータまたはフィールドプログラマブルゲートアレイ(FPGA)によって理解され得るデジタルフォーマットに変換する任意のセンサであってよい。本方法は、デジタルデータ入力、好ましくはカメラによってデジタル化された、好ましくは10atpを超える解像度の視覚データに対する評価、好ましくは人間による視覚評価のための除外基準を定義することを含んでもよい。本方法は、少なくとも10個、好ましくは少なくとも20個、より好ましくは少なくとも30個の異常発生が収集され、デジタル的に、好ましくはコンピュータのハードディスクに記憶されるまでデータを収集することを含み得る。本方法は、人間の評価データをニューラルネットワークに入力し、トレーニングアルゴリズムを実行することを含むことができる。本方法は、除外の評価のためにデジタルデータにモデルを適用することを含むことができる。視覚データは、1つまたは複数の自動車、自動車部品、および自動車工場のビデオ画像であってもよい。排除基準は、傷、し尿等から選択することができる。
本発明の態様は、以下に概説する1つ以上の利点を有する。
本発明は、リカレントニューラルネットワークを配備するために必要とされる計算能力の関連した減少を伴うリカレントニューラルネットワークのトレーニング時間の減少を提供する。本発明は、FPGAベースのハードウェア装置において、マシンビジョンニューラルネットワークアルゴリズムを提供するためのフレームワークを提供する。別の言い方をすれば、比較的迅速にトレーニングすることができ、「軽量」な実装を有するシステムが提供される。
連続ニューラルネットワークおよびリカレントニューラルネットワークは、大量のデータを必要とし、その結果、大量のパラメータ、すなわちニューラルネットワークにおける重みが生じ、非線形システムは、局所的な最小値がエラー勾配の計算などの問題を生じ得るエラー関数を計算する際に問題となる。本発明は、まずパラメータ間の線形関係を識別し、次に双線形関係を識別することによって、不要なパラメータを除去するという点で有利である。これは、重みがニューラルネットワークから除去されるという点で「ドロップアウト」に類似しているが、この場合の重みの除去の決定は、ニューラルネットワークが自然に「過剰学習」傾向にあるためではなく、アルゴリズムがそれを必要とするかどうかに基づく。
Chen−Fliessシステムは、所望の入出力画像を与えられた任意の所望の正則化技術による勾配降下のような線形代数技術のみを用いてシステムをトレーニングする能力を有する。勾配降下トレーニングは、他の方法と比較して、比較的速く、記憶が安価である。
最適化されたニューラルネットワークの利用は、ニューラルネットワークのトレーニングを改善できることを意味する。このことは、ニューラルネットワークの再トレーニング性能も改善できることを意味し、ニューラルネットワークを最適化しない同等のシステムよりもシステムを高速化し、汎用性を高める。これは、最適化/更新されたニューラルネットワークと、最終的なべき級数の両方に適用される。
不要な項、すなわち最適化プロセスで除去された項を計算する必要がないので、関心のある特徴の検出速度が向上する。
最適化されたニューラルネットワークの使用による検出に必要な計算リソースの削減は、識別/検出に必要なハードウェアのサイズの削減を意味し、例えば、小型のモバイルプラットフォームまたはFPGAで十分であり得る。特に、本発明のマシンビジョンシステムは、タブレット装置のようなハンドヘルド装置、または内蔵カメラシステムに実装することができる。つまり、高価なリソースを使用する必要がない。
本発明は、任意の非連続関数を連続関数(近似)で置き換えることによって、入力から出力へ、および出力から入力へと微分可能なニューラルネットワークを提供する。このニューラルネットワークは変換され、線形代数技法のみを用いてトレーニングできる形式的なべき級数が生成される。これには、速度と効率が向上するという利点があります。
カメラのキャリブレーションや正確な位置決めは必要ない。つまり、故障時のメンテナンスが非常に簡単になる。これは、機能していない機器を交換するだけで済むからである。カメラの視野(FOV)が生産ラインの部品、例えば車両を含むまで、表示画面を見ることによってカメラを位置決めするだけでよい。
以下に説明するアルゴリズムによって行われるように、車両の位置を特定するためのエンコーダまたは位置センサがないことに伴い、標準的な人間のオペレータが検査を行うために必要とするものを超える特別な照明は必要としない。
本発明は、光沢表面における反射を認識し、それらを意図しないアーチファクトとしてマークし、それらを検出段階から効果的に除去するようにトレーニングされているので、車両における反射を回避するための特別な要件はない。
線形代数技法のみを使用してトレーニングできるニューラルネットワークを生成することは、最終/更新ニューラルネットワークの速度および効率を向上させる。これは、線形代数技法が、ベクトルや行列のような構造を例とする、同時に操作するのに非常に適した数のグループを提供するからである。ニューラルネットワークは重みなどを行列に格納するため、線形代数を使用できるニューラルネットワーク形式を提供することで、行列演算を高速かつ簡単にすることができる。これは特に、GPUに関するトレーニングの場合に当てはまる。GPUはベクトルと行列演算を念頭に置いて作成され、データの行列全体、例えばピクセルを並列に操作できる。
本発明は、過剰にパラメータ化され、過剰に適合されたニューラルネットワークに関連する減速および効率の欠点に対処する。本発明は、ニューラルネットワーク・プルーニングのような他の最適化方法の欠点なしに効率を向上させる。
図1は、従来技術のマシンビジョンシステムを含む構成の概要を示す。 図2は、本発明の態様の一実施形態によるマシンビジョンシステムを含む構成の概要を示す図である。 図3は、システムのトレーニング段階中に動作可能な図2のマシンビジョンシステムのトレーニングモジュールを示す図である。 図4は、ニューラルネットワークを最適化された代数形式に変換するように動作可能な図2のマシンビジョンシステムの変換モジュールを示す。 図5は、図4の変換モジュールによって行われる方法のステップを示す。
図2は、本発明の一実施形態によるマシンビジョン装置100を示す。図1の従来技術の構成10に示されるものと同一の構成要素には、同一の参照番号を付してある。装置100はコンピュータの形態の処理手段200を含み、処理手段200はマシンビジョンシステム240を含み、その動作を以下に詳細に説明する。
説明した実施形態では、光学システム16は、車両14の両側に配置された、車両14を遮るもののない二つのカメラを備えた解像度1080pの四つの赤、緑、青(RGB)カメラを含む。カメラは、任意の適切な手段によって任意の適切な構造に接続される。カメラは、その視野(FOV)が車両14の可能な最大領域をカバーするように配置される。カメラは、四つの別個のCAT7イーサネット(登録商標)ケーブルおよびギガビットハブを介してコンピュータ200に接続され、このギガビットハブは、10ギガビットネットワークカードを介してコンピュータ200に接続される。パソコン、ハブ、カメラはすべてイーサネット(登録商標)ジャンボフレームを使用できるように設定される。カメラは、最高ピクセル解像度で約10フレーム/秒でイメージをキャプチャするように構成される。コンピュータ200は、EAL4+ Linux(登録商標)オペレーティングシステムを、以下に説明するアルゴリズムを実行するための適切なソフトウェアフレームワークと共に実行するように設定される。
個々のシステムにはそれぞれ、GNUプライバシー・ガード(GNUPG)によって生成された、自身を識別するための中央認証機関からの証明書が提供される。コンピュータ200は、標準のLinux(登録商標) Unified Key Setup(LUKS)暗号化ソフトウェアを用いて、そのハードディスクをフルディスク暗号化でセットアップする。さらに、以下に説明するモデルは、GNUPGとその公開暗号化キーを使用して暗号化され、キー失効証明書とともにサーバ・データベースにロードされる。起動時、処理手段200は、カメラ16に接続してシステムを初期化する。次に、完全順方向暗号化(楕円曲線Diffie−Hellmanなど)を使用した安全な接続を介して中央サーバへの接続を試み、サーバに復号化サービスを要求する。サーバは、トランスポート層セキュリティ(TLS)証明書をチェックすることによって、システムが正しく認証されているかどうか、および処理手段またはシステム200がサーバ・データベースにおいて使用可能として示されているかどうかをチェックする。次に、ビジョンシステムのGNUPGの公開キーを使用してモデルを暗号化解除する必要がある。暗号化されたモデルはサーバに送信される。このモデルは、配備されたすべてのマシンビジョンシステムの秘密鍵を保持するサーバによって解読され、管理者によって秘密鍵パスワードが入力された後、マシンビジョンシステムのランダムアクセスメモリに戻される。
動作中、システムは60秒ごとにハートビートメッセージをサーバに送信する。システムがスケジュールされたシャットダウンイベントの外にハートビートを送信できず、論理暗号接続リンクが存在しなくなった場合、サーバはシステムの暗号化キーを一時的に取り消す。サーバは、サーバ管理者に電子メールを送信して、問題の可能性を通知する。管理者のみが暗号化キーを復元して、システムを再び動作させることができる。
次に、処理手段200、特にマシンビジョンシステム240の動作を詳細に説明する。上述した従来技術のシステム24とは異なり、ここで説明するシステム240は、画像を分類し、欠陥を検出する等のために、トレーニングされたニューラルネットワークをマシンビジョン装置内の捕捉された画像に直接適用しない。代わりに、システム240は、まず、トレーニングされたニューラルネットワークを「最適化された」形態に変換し、次いで、この最適化された形態を、分類を行うために、捕捉された画像に適用する。より具体的には、トレーニングされたニューラルネットワークは最適化された代数形式に変換される。この最適化された代数的形式は、捕捉された画像を分類するために使用されてもよく、または最適化された代数的形式は、最適化されたまたは更新されたニューラルネットワーク形式に再度変換されてもよく、その後、捕捉された画像を分類するために使用される。
従って、要約すると、システム240によって実行されるステップは、
・システム240に提供される「標準」ニューラルネットワークをトレーニングすること
・トレーニングされたニューラルネットワークを最適化された代数形式または双線形形式に変換すること
・最適化された代数形式を、最適化されたニューラルネットワークへ変換すること
・マシンビジョンアレンジメント100内の捕捉された画像を分類するために、最適化された代数的形式または最適化されたニューラルネットワーク形式のいずれかを適用すること
・キャプチャされた画像の分類出力に基づいて最適化された代数形式または最適化されたニューラルネットワーク形式を再トレーニングすること
を含む。
ニューラルネットワークをトレーニングする第1のステップは、以下のように行うことができる。図3を参照すると、システム240は、トレーニングニューラルネットワーク302を備えたニューラルネットワークトレーニングモジュール300を有する。これは、マシンビジョンアプリケーションに適した任意のニューラルネットワークアーキテクチャであってもよく、例えば、畳み込みニューラルネットワーク(CNN)、リカレントニューラルネットワーク、またはいずれかもしくは両方の組み合わせを使用することができる。ニューラルネットワークは、例えば、オープンソースの機械学習ソフトウェアライブラリTensorFlowを使用して、任意の適切な方法で実装することができる。ニューラルネットワークの特定の選択は重要ではなく、学習された重みおよびバイアスを、以下に説明する生成された級数へ、および生成された級数から転送する手段としてのみ機能する。
ニューラルネットワーク302は、ランダム初期化304、すなわち、トレーニングプロセス中に調整されるべきランダムな開始値を有する重みのセットを備えている。次に、ニューラルネットワーク302には、処理手段200のデータベース306からトレーニングデータが提供される。入力トレーニングデータは、例えばカメラからのトレーニング画像のセット、または準備された画像のデータベースである。トレーニングデータのキャプチャされた画像データは既知の分類を有し、すなわち、ニューラルネットワーク302からの所望の出力分類が既知である。このトレーニングデータは、トレーニングモジュール300によって使用され、ランダム初期化304の初期重みを調整して、トレーニングデータのキャプチャされた画像を正しく分類できるようにニューラルネットワークをトレーニングする。
トレーニングデータを処理する際にニューラルネットワーク302によってネットワークの各出力ノードに割り当てられた値が、トレーニングデータの既知の「正しい」出力値と比較される。すなわち、各出力ノードに対する寄与は、加算関数308によって加算され、各出力ノードに対する誤差項は、ニューラルネットワーク302による実際の計算値をデータベース306からの「正しい」値と比較することによって計算される。これにより、各出力ノードに誤差項が生成され、誤差項に基づいて初期重みの値が修正される。これらの修正された重み310は、ニューラルネットワーク302にフィードバックされ、再び実行される。このプロセスは、計算された誤差値が閾値を下回るまで繰り返される。次いで、トレーニングモジュール300は、変換されるべきトレーニング済みニューラルネットワーク312を出力する。
図4を参照すると、システム240は、トレーニングモジュール300によって出力されたトレーニング済みニューラルネットワーク312を最適化された代数形式に変換するように構成された変換モジュール320を含む。変換モジュール320は、トレーニングされたニューラルネットワーク312および一組のルール324を受信するように構成されたプロセッサまたは処理手段を有し、これらの記憶されたルールに従って変換が行われる。変換モジュール320は、トレーニングされたニューラルネットワーク312上で所望の動作、すなわち変換を実行するのに適した任意のコンピューティングリソースとすることができる。例えば、デスクトップまたはラップトップのような任意の汎用コンピューティングデバイス、またはASIC/FPGAのような特殊ハードウェアを使用することができる。
次に、プロセッサ322は、トレーニングされたニューラルネットワーク312についての計算された代数形式326を出力する。計算された代数形式326は、検査されるべき生産ライン/ワークピース14、例えば車両の画像のクラスを処理するための最適化されたパラメータを有するトレーニングされたニューラルネットワーク312の代数表現である。
上述のように、結果として得られる代数形式326は、元のニューラルネットワークの最適化された表現であり、マシンビジョン装置100における「現状のまま」で、光学システム16からのキャプチャされた画像を分類する際に使用することができる。または、代数形式326は、最適化され訓練されたニューラルネットワークを決定するために、オリジナルのトレーニングされたニューラルネットワークのパラメータ(つまり、ウェイト、バイアス、層の数、ノードなど)が、分類の速度および効率を増加させるように最適化される際に使用することができる。
さらに、最適化された代数形式326を変換モジュール320にフィードバックして、新しいデータセット328、すなわち、光学システム16から「正しい」分類とともに取り込まれた画像に基づいて、マシンビジョンシステム240をさらにトレーニングまたは最適化することができる。
次に、図5を参照して、トレーニングされたニューラルネットワーク312を最適化された代数形式326に変換するためのプロセッサ322の動作について説明する。最適化された代数形式326は、トレーニングされたニューラルネットワーク312の近似であることに留意されたい。最適化された代数形式326は、べき級数、例えばテイラー級数の形式であり、ニューラルネットワークのトポロジーを近似するために使用することができる。
図5は、プロセッサ322によって行われる方法400のステップを示す。ステップ402において、プロセッサ322は、トレーニングモジュール300および変換のためのルール324からトレーニングされたニューラルネットワーク312を取得する。
ステップ404において、トレーニングされたニューラルネットワークは、順方向および逆方向の両方において完全に微分可能な形式に再変換される。すなわち、ニューラルネットワークは、入力から出力へ、および出力から入力へ完全に微分できるように再変換される。具体的には、ニューラルネットワーク内の各ニューロンにおける活性化関数を微分可能な関数で置き換える。
微分可能な形式に再変換するために、任意の静的な不連続関数を連続近似で除去する。
例えば、先に述べたように、ニューラルネットワーク、CNNの場合は、活性化関数の1つの形態として、1つの層のニューロン・クラスタの出力を次の層の単一ニューロンに結合するプーリング層を含む。トレーニングされたCNN312内のプーリング層は、本実施形態では連続関数で置き換えられる。特に、最大プーリング層、すなわち、入力値の最大値がその特定のニューロンの値となるプーリング層は、要素の加重和によって置き換えられる。和の中の各要素はニューロンへの入力を表し、要素の1つは、他の各要素よりも有意に大きな重みを有し、これにより、最大プーリング層における最大入力値の選択を再作成する。
例えば、トレーニングされたCNN312における別のタイプの活性化関数は、正規化線形ユニット(RLU)である。RLUの正規化線形関数は次のように定義される。

ここでuはニューロンへの入力でありyはニューロンの出力を表す。明らかに、この関数にはu=0に不連続点を有する。したがって、RLUはシグモイド関数によって置換される。シグモイド関数は、RLUとは異なり、ドメイン全体に渡って滑らかである。シグモイド関数の例には、双曲線正接関数、逆正接関数、ロジスティック関数、およびエラー関数がある。RLUをtanh関数に置き換えることもできる。この段階では、ニューラルネットワークを表す微分可能な方程式が得られる。次に、得られた方程式を微分する。
微分可能方程式に対する解は、Chen‐Fliess級数として記述できる。ここでは、最小解を用いる。最小解を見つけることで、可能な限り最もコンパクトなネットワークの表現を返すことができる。
これは、非線形活性化関数のようなニューラルネットワークにおける元の項が、それらのChen‐Fliess級数による等価システムで置き換えられることを意味する。
非線形関数をChen−Flies級数で置き換える例を次に示す。y=h(x)uで定義される一般的な非線形活性化関数の場合(ここで、yは出力、h(x)は非線形状態空間、uは関数への入力)、Chen−Fliess級数は次のように定義される。
このプロセスをさらに詳しく説明すると、ステップ404で得られたy(u)のような微分可能な関数は、ステップ406でプロセッサ322によって、uに関して微分される。一例として、1つの入力ニューロンと1つの出力ニューロンを持つニューラルネットワークの簡単な例を検討する。単一ニューロンの活性化関数は次の連続関数に置き換えられる。

ここで、wはニューロンへの各入力に関連する重み、uは入力パラメータ/関数、b は、アクティブ化関数に対する一定のバイアスである。この例では、合計はwである。
ステップ406にて、y(u)はuに関して微分されて次式を得る。

ここで左辺はネットワークの微分を表す。この式は、2階微分方程式としては、実用的には解くのが難しい。したがって、本方法では、方程式を標準的な数学的方法を使用して状態空間形式に変換し、簡単で高速に解くことが可能な1階微分方程式を得る必要がある。
バイアスがゼロに設定されている場合、すなわち、b=0である場合、上記の式を次にように状態空間形式に変換してもよい。
パラメータx、x、k、wは、パラメータ空間における状態であり、または、状態空間における座標として理解することができる。例えば、xはニューロンの出力を表し、xは入力の加重合計を表すものであってもよい。微分は、例えば、時間に関して行われる。
このステップは、単にネットワークをChen−Fliess級数に変更する上記の方法を適用できる形式に変換することである。
本方法により、状態空間形式が提供される。
この状態空間形式から、ステップ410でベクトル場を抽出して、次式を得る。
これにより、プロセッサ322は、ステップ412にて、次の生成された級数を得ることができる。

ここで、cとcはベクトル場の適用によって生成される。
上述の式は、次のように単純化される。
生成された級数が長さ1で切り捨てられる場合、評価の基礎となる活性化関数が、小さな時間間隔と小さな入力変化の下で線形化された状況に相当する。すべての時間、入力に対して有効となる、生成された級数を得るためには、上述の方法を用いて係数cとcを所定の時間間隔ごとに再計算する必要がある。級数の長さが増加すると収束領域も増加する。つまり、級数の係数を再計算する前と比較して時間の長さと入力が変更できる量が増加する。級数は、任意の長さで切り捨てることができる。
プロセッサ322において生成された級数を実現するためには、上述の方程式を連続時間から有限時間に変換する必要がある。これは、前述のChen Fliess演算子を反復和で置き換えることによって実現され、アルゴリズムが動作している状況下で必要なエラーレベルが達成される。生成された級数の積分は、周知の数学的方法を用いて合計で置き換えられる。
より一般的には、プロセッサ322によって行われる方法のステップは、以下のように記述され得る。すなわち、トレーニングされたニューラルネットワーク312は、ステップ402においてプロセッサ322によって受信され、ニューラルネットワーク312の各(隠れた)層は、全結合層または畳み込み層のいずれかであると定義される。
ニューラルネットワーク312の各全結合層について、ステップ402で、層は、微分可能な形式、具体的には次の形式に再変換される。

ここで、xは潜在状態、uはネットワーク入力、bはバイアス、σは活性化関数のインスタンスのベクトル、h、kは初期ニューラルネットワークアルゴリズムの層(h>0)、Aは状態行列、Bを入力伝達行列である。つまり、ネットワークのk+1番目の層(又は、リカレントネットワークのk+1番目の時刻)においてベクトル表現を決定するためには、前の層におけるベクトル表現であるx(k)をある非線形変換によって追加的に更新する。
同様に、ニューラルネットワーク312の各畳み込み層について、ステップ402で、層を微分可能な形態、具体的には次の形態に再変換する。

ここで、Xは層状態行列、Uは層入力行列、Eはバイアス、Cは状態フィルタ、Dは入力畳み込みフィルタである。すなわち、全結合層に使用される行列乗算は、代わりに畳み込み演算子で置き換えられる。
ステップ406では、各層を表す上述の動的システムを微分方程式に変換するように微分する。特に、このステップを実行するために数値計算法を実施することができる。本実施形態では、Runge−Kutta法を用いる。しかしながら、数値積分のタイプはシステムのサンプリングレートに依存する。例えば、いくつかの実施形態では、Simpsonの規則の形態を使用することができる。
この結果、一連の非線形、非自律的な一次常微分方程式(ODE)がニューラルネットワークの各層に対して一つずつ得られる。ニューラルネットワークの特定の層に対する微分方程式の出力は、ニューラルネットワークの次の層の微分方程式への入力である。これは、ネットワークの各層がODEの状態であるニューラルネットワーク全体を表す単一のODEとみなすことができる。具体的には、ネットワークの最初の層または最上位の層がODEへの入力であり、ネットワークの最後の層または最下位の層がODEの出力であり、その他の層は潜在的な層(隠れ層)であるとみなすことができる。
ネットワークへの入力は、空間内の座標、例えばx,y座標であると考えることができる。必要な入力の数に応じて、特に入力の数が比較的多い場合は、これを時間とともに変化する入力のより小さなサブセットに変換することができる。具体的には、時間に応じて変化するすべての入力に対応して追従して変化する関数が得られる。一般には、画像はm×nの入力を与える。しかしながら、例えば、小さな3×3行列は、代わりに画像全体、すなわち画像全体にわたってトレースされてもよい。言い換えると、m×nの入力にわたって、任意の所定の経路と速度で、入力を提供している特定の点が分かるように入力を行うものであってもよい。これは、前述のようにChen−Fliess級数を使用してステップ412で生成された級数の係数を計算する際に、項数を減らすのに役立つ。
これに先立ち、ネットワークを記述するODEの自由流れと駆動ベクトル場を定義し、分離した。ベクトル場は、時間/入力の変化によって駆動されるODEの出力の変化の方向及び大きさを与える関数とみなすことができる。初期条件から、ベクトル場の方向と値は、その周囲の小さな領域では変化しない。次に、方程式の流れが少量の時間だけ移動される場合、ベクトル場を使用して、方程式を満たすために必要な入力の方向および大きさの変化を決定することができる。次に、ベクトル場の値が再計算され、方程式がさらに短い時間だけ移動できるようになる。このプロセスを数回繰り返して、任意の入力とすべての時間について元の方程式を解く方法を得る。
最後に、ベクトル場が定義されると、上記のように、ステップ412で生成された級数の係数が計算される。
状態空間形式への変換は、微分可能形式への変換およびその後の微分の後に行われるものとして図5に示されているが、いずれかの操作が線形である場合、状態空間形式への変換は、この前にも行われ得ることが理解される。
次に、プロセッサ322は、マシンビジョン装置100内の検証データまたはリアルタイムデータに使用される、すなわち、新たに受信された画像データを分類するために使用される、計算された生成された級数または「最適化された代数形式」326を出力する。特に、マシンビジョンシステム240は、光学システム16から画像データを受け取り、生成シリーズの生成された「最適化された」パラメータを使用して、入力データを特定の出力分類に分類する。そして、この出力を生産プロセス制御システム22に送ることができる。
あるいは、計算された生成された級数は、変換モジュール320によって出力される前に、プロセッサ322によって、ニューラルネットワーク、今回は 最適化されたニューラルネットワーク326に戻される。次に、最適化されたニューラルネットワーク326を使用して、マシンビジョン装置100内の新たに受信された画像データを分類する。
最適化されたニューラルネットワーク326が新たに受信されたデータを分類した後、この分類の結果をトレーニングモジュール300にフィードバックして、最適化されたパラメータをさらに改善することができ、したがって、この構成の性能をさらに改善することができる。
添付の特許請求の範囲に定義される本発明の範囲から逸脱することなく、上述の実施形態に多くの変更を加えることができる。
説明される実施形態では、システム240に提供される(おそらく従来の方法で)ニューラルネットワークは、最適化された形態に変換される前に、まず、システム240によってトレーニングされる。しかしながら、異なる実施形態では、ニューラルネットワークは、最適な形態に変換される前にトレーニングされる必要はない。例えば、所望のニューラルネットワークが、既に成功裏にトレーニングされたモデルまたはニューラルネットワークに基づいており、このモデルをより効率的な方法で実施することが望まれる場合、これは、出発点となるニューラルネットワークである。しかしながら、モデルが好ましくない場合、すなわち、ニューラルネットワークが既にトレーニングされていない場合、生成された級数による展開を直接使用することができ、特定のモデルを定義する必要性、すなわち、初期ニューラルネットワークをトレーニングする必要性がなくなる。
説明される実施形態では、変換モジュール320は、初期の標準ニューラルネットワークをトレーニングするトレーニングモジュール300と同じシステム240の一部である。しかし、異なる実施形態では、変換モジュール320は、トレーニングモジュール300とは別のコンピューティングシステム上で動作してもよい。
本出願は、2017年9月25日に出願された英国特許出願第1715456.8号からの優先権の利益を主張し、その全内容は、本出願の明細書において参照により援用される。

Claims (26)

  1. 分類対象となる物体を示す画像データを受信する受信手段と、
    受信した前記画像データが提供される入力層と、少なくとも1つの隠れ層と、出力層と、を有する初期ニューラルネットワークアルゴリズムを備え、
    前記少なくとも1つの隠れ層は、それぞれ関連する活性化関数を有する複数のニューロンを含み、
    受信した前記画像データに応じて出力分類を前記出力層に提供するよう構成された
    処理手段と、
    を有するマシンビジョンシステムであって、
    前記処理手段は、
    前記活性化関数に基づいて前記初期ニューラルネットワークアルゴリズムを記述する微分方程式を決定し、
    前記微分方程式の解を級数展開の形で決定し、
    前記級数展開における項数を有限個に制限することによって前記級数展開を有限級数展開に変換し、
    前記有限級数展開に基づいて前記出力分類を決定すること
    を特徴とするマシンビジョンシステム。
  2. 請求項1に記載のマシンビジョンシステムであって、
    前記処理手段は、
    前記活性化関数が微分可能であるかどうかを判定し、
    微分可能ではないと判定された前記活性化関数を微分可能な近似によって置換し、
    決定された前記微分方程式は、微分可能である前記活性化関数または微分可能な前記近似に基づいて決定されること
    を特徴とするマシンビジョンシステム。
  3. 請求項2に記載のマシンビジョンシステムであって、
    1又は複数の前記活性化関数は正規化線形関数であり、
    前記処理手段は、前記正規化線形関数をシグモイド関数によって置換すること
    を特徴とするマシンビジョンシステム。
  4. 請求項2又は3に記載のマシンビジョンシステムであって、
    1又は複数の前記活性化関数は最大プーリング層関数であり、
    前記処理手段は、前記最大プーリング層関数を要素の加重和で置換すること
    を特徴とするマシンビジョンシステム。
  5. 請求項2〜4のいずれか一項に記載のマシンビジョンシステムであって、
    1又は複数の前記活性化関数は非線形活性化関数であり、
    前記処理手段は、前記非線形活性化関数をChen−Fliess級数による等価システムで置換すること
    を特徴とするマシンビジョンシステム。
  6. 請求項1〜5のいずれか一項に記載のマシンビジョンシステムであって、
    前記処理手段は、
    前記出力分類を決定するため、前記有限級数展開を用いて受信した前記画像データを評価すること
    を特徴とするマシンビジョンシステム。
  7. 請求項1〜5のいずれか一項に記載のマシンビジョンシステムであって、
    前記処理手段は、
    前記有限級数展開を更新されたニューラルネットワークアルゴリズムに変換し、
    前記出力分類を決定するため、前記更新されたニューラルネットワークアルゴリズムを用いて受信した前記画像データを評価すること
    を特徴とするマシンビジョンシステム。
  8. 請求項1〜7のいずれか一項に記載のマシンビジョンシステムであって、
    前記処理手段は、前記微分方程式の状態空間形式を決定して前記級数展開を決定すること
    を特徴とするマシンビジョンシステム。
  9. 請求項8に記載のマシンビジョンシステムであって、
    前記処理手段は、前記状態空間形式から1又は複数のベクトル場を抽出して前記級数展開を決定すること
    を特徴とするマシンビジョンシステム。
  10. 請求項1〜9のいずれか一項に記載のマシンビジョンシステムであって、
    前記処理手段は、
    前記初期ニューラルネットワークアルゴリズムを微分可能な近似に変換し、
    微分可能な前記近似に基づいて前記微分方程式を決定すること
    を特徴とするマシンビジョンシステム。
  11. 請求項10に記載のマシンビジョンシステムであって、
    前記初期ニューラルネットワークアルゴリズムの全結合層に対して、微分可能な前記近似は、
    xを潜在状態、uをネットワーク入力、bをバイアス、σを活性化関数のインスタンスのベクトル、h、kを初期ニューラルネットワークアルゴリズムの層(h>0)、Aを状態行列、Bを入力伝達行列であるとして、

    の形式で表現されること
    を特徴とするマシンビジョンシステム。
  12. 請求項10又は11に記載のマシンビジョンシステムであって、
    Xを層状態行列、Uを層入力行列、Eをバイアス、Cを状態フィルタ、Dを入力畳み込みフィルタであるとして、
    前記初期ニューラルネットワークアルゴリズムの畳み込み層に対して、微分可能な前記近似は、

    の形式で表現されること
    を特徴とするマシンビジョンシステム。
  13. 請求項10〜12のいずれか一項に記載のマシンビジョンシステムであって、
    前記処理手段は、微分可能な前記近似を微分して前記微分方程式を得ること
    を特徴とするマシンビジョンシステム。
  14. 請求項13のいずれか一項に記載のマシンビジョンシステムであって、
    前記処理手段は、微分可能な前記近似を微分するために数値計算法を適用すること
    を特徴とするマシンビジョンシステム。
  15. 請求項1〜14のいずれか一項に記載のマシンビジョンシステムであって、
    前記処理手段は、Chen−Fliess級数展開を用いて前記級数展開に現れる1又は複数の係数を決定すること
    を特徴とするマシンビジョンシステム。
  16. 請求項1〜15のいずれか一項に記載のマシンビジョンシステムであって、
    前記処理手段は、前記級数展開の収束ウィンドウを決定すること
    を特徴とするマシンビジョンシステム。
  17. 請求項1〜16のいずれか一項に記載のマシンビジョンシステムであって、
    前記処理手段は、前記級数展開を生成する最小基底を算出すること
    を特徴とするマシンビジョンシステム。
  18. 請求項1〜17のいずれか一項に記載のマシンビジョンシステムであって、
    前記処理手段は、複数の時間ウィンドウごとに前記級数展開の係数の異なる組を決定すること
    を特徴とするマシンビジョンシステム。
  19. 請求項18に記載のマシンビジョンシステムであって、
    前記処理手段は、所定の収束レベルが達成されるまで、決定された前記係数を調整して前記微分方程式のベクトル場パラメータを調整すること
    を特徴とするマシンビジョンシステム。
  20. 請求項1〜19のいずれか一項に記載のマシンビジョンシステムであって、
    前記処理手段は、再トレーニング処理の一部として、受信した前記画像データ及び関連する前記出力分類に基づいて、前記有限級数展開を更新すること
    を特徴とするマシンビジョンシステム。
  21. 物体を示す画像データと前記物体の関連する既知の分類を含むトレーニングデータを受信する受信手段と、
    受信した前記画像データが提供される入力層と、少なくとも1つの隠れ層と、出力層と、を有する初期ニューラルネットワークアルゴリズムを備え、
    前記少なくとも1つの隠れ層は、それぞれ関連する活性化関数を有する複数のニューロンを含み、
    前記ニューロンの間の接続は関連するシナプス荷重を有し、受信した前記画像データに基づいて前記初期ニューラルネットワークアルゴリズムを評価することで関連する前記分類を生成することが保証されるよう、前記シナプス荷重の値を決定するよう構成された
    処理手段と、
    を有するマシンビジョンシステムであって、
    前記処理手段は、
    前記活性化関数に基づいて前記初期ニューラルネットワークアルゴリズムを記述する微分方程式を決定し、
    前記微分方程式の解を級数展開の形で決定し、
    前記級数展開における項数を有限個に制限することによって前記級数展開を有限級数展開に変換し、
    前記有限級数展開に基づいて出力分類を決定し、
    前記シナプス荷重の値を調整して、決定した前記出力分類と前記物体の関連する既知の前記分類との間の誤差を減らすこと
    を特徴とするマシンビジョンシステム。
  22. 生産プロセス装置又は生産プロセスシステムを構成するためのマシンビジョン制御システムであって、
    前記マシンビジョン制御システムは、
    分類対象となる物体を示す画像データを受信する受信手段と、
    受信した前記画像データが提供される入力層と、少なくとも1つの隠れ層と、出力層と、を有する初期ニューラルネットワークアルゴリズムを備え、
    前記少なくとも1つの隠れ層は、それぞれ関連する活性化関数を有する複数のニューロンを含み、
    受信した前記画像データに応じて出力分類を前記出力層に提供するよう構成された
    処理手段と、
    前記出力分類に応じて、前記生産プロセス装置又は前記生産プロセスシステムに制御信号を送信し、前記生産プロセス装置又は前記生産プロセスシステムのセットアップを実行する制御手段
    を有し、
    前記処理手段は、
    前記活性化関数に基づいて前記初期ニューラルネットワークアルゴリズムを記述する微分方程式を決定し、
    前記微分方程式の解を級数展開の形で決定し、
    前記級数展開における項数を有限個に制限することによって前記級数展開を有限級数展開に変換し、
    前記有限級数展開に基づいて前記出力分類を決定すること
    を特徴とするマシンビジョン制御システム。
  23. 生産ライン構成装置における損傷、異物、又は、不正確に取り付けられた部品を識別して位置を特定するため、前記生産ライン構成装置を検査する生産ライン配置であって、
    前記生産ライン配置は、
    前記生産ライン構成装置に関する画像データの1又は複数のセットを取得するように構成された少なくとも1つのカメラを含む光学システムと、
    分類対象となる物体を示す画像データを受信する受信手段と、
    受信した前記画像データが提供される入力層と、少なくとも1つの隠れ層と、出力層と、を有する初期ニューラルネットワークアルゴリズムを備え、
    前記少なくとも1つの隠れ層は、それぞれ関連する活性化関数を有する複数のニューロンを含み、
    受信した前記画像データに応じて出力分類を前記出力層に提供するよう構成された
    処理手段と、
    を有するマシンビジョン制御システムと、
    前記出力分類に応じて、自身のセットアップを実行する生産プロセス装置又は生産プロセスシステムと、
    を有し、
    前記処理手段は、
    前記活性化関数に基づいて前記初期ニューラルネットワークアルゴリズムを記述する微分方程式を決定し、
    前記微分方程式の解を級数展開の形で決定し、
    前記級数展開における項数を有限個に制限することによって前記級数展開を有限級数展開に変換し、
    前記有限級数展開に基づいて前記出力分類を決定すること
    を特徴とする生産ライン配置。
  24. 分類対象となる物体を示す画像データを受信し、
    受信した前記画像データが提供される入力層と、少なくとも1つの隠れ層と、出力層と、を有する初期ニューラルネットワークアルゴリズムであって、前記少なくとも1つの隠れ層は、それぞれ関連する活性化関数を有する複数のニューロンを含む前記初期ニューラルネットワークアルゴリズムを提供し、
    前記活性化関数及び関連するニューラルネットワークパラメータに基づいて前記初期ニューラルネットワークアルゴリズムを記述する微分方程式を決定し、
    前記微分方程式の解を級数展開の形で決定し、
    前記級数展開における項数を有限個に制限することによって前記級数展開を有限級数展開に変換し、
    前記有限級数展開に基づいて決定される出力分類を、受信した前記画像データに応じて前記出力層に提供すること
    を特徴とする、マシンビジョンに関する方法。
  25. 1又は複数のプロセッサによって実行されることにより、請求項24に記載された、マシンビジョンに関する方法を実行させる命令を格納するコンピュータプログラム製品。
  26. 請求項1〜21のいずれか一項に記載のマシンビジョンシステムを備えるタブレット端末。

JP2020537871A 2017-09-25 2018-09-25 マシンビジョンシステム Active JP6912008B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1715456.8 2017-09-25
GB1715456.8A GB2570433A (en) 2017-09-25 2017-09-25 Machine vision system
PCT/EP2018/075953 WO2019057987A1 (en) 2017-09-25 2018-09-25 ARTIFICIAL VISION SYSTEM

Publications (2)

Publication Number Publication Date
JP2020535569A true JP2020535569A (ja) 2020-12-03
JP6912008B2 JP6912008B2 (ja) 2021-07-28

Family

ID=60244276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020537871A Active JP6912008B2 (ja) 2017-09-25 2018-09-25 マシンビジョンシステム

Country Status (6)

Country Link
US (1) US11386307B2 (ja)
EP (1) EP3688664A1 (ja)
JP (1) JP6912008B2 (ja)
CN (1) CN111465940B (ja)
GB (1) GB2570433A (ja)
WO (1) WO2019057987A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022133158A (ja) * 2021-03-01 2022-09-13 横河電機株式会社 測定データ記録装置、生成装置、システム、装置、方法およびプログラム

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190114531A1 (en) * 2017-10-13 2019-04-18 Cambia Health Solutions, Inc. Differential equations network
US11328210B2 (en) 2017-12-29 2022-05-10 Micron Technology, Inc. Self-learning in distributed architecture for enhancing artificial neural network
US10522038B2 (en) 2018-04-19 2019-12-31 Micron Technology, Inc. Systems and methods for automatically warning nearby vehicles of potential hazards
US20190332814A1 (en) * 2018-04-27 2019-10-31 Nxp B.V. High-throughput privacy-friendly hardware assisted machine learning on edge nodes
WO2020097837A1 (en) 2018-11-15 2020-05-22 Lingdong Technology (Beijing) Co.Ltd System and method for real-time supervised machine learning in on-site environment
CN109785391A (zh) * 2018-11-29 2019-05-21 昆山睿力得软件技术有限公司 一种基于视觉引导的自动搪锡系统
US11373466B2 (en) 2019-01-31 2022-06-28 Micron Technology, Inc. Data recorders of autonomous vehicles
US11410475B2 (en) 2019-01-31 2022-08-09 Micron Technology, Inc. Autonomous vehicle data recorders
EP3918428A4 (en) * 2019-02-05 2022-10-26 Urugus S.A. AUTOMATIC OPTIMIZATION OF MACHINE LEARNING ALGORITHMS IN THE PRESENCE OF TARGET RECORDS
US11900238B1 (en) * 2019-04-25 2024-02-13 Perceive Corporation Removing nodes from machine-trained network based on introduction of probabilistic noise during training
US11636334B2 (en) 2019-08-20 2023-04-25 Micron Technology, Inc. Machine learning with feature obfuscation
US11392796B2 (en) 2019-08-20 2022-07-19 Micron Technology, Inc. Feature dictionary for bandwidth enhancement
US11755884B2 (en) 2019-08-20 2023-09-12 Micron Technology, Inc. Distributed machine learning with privacy protection
JP7132196B2 (ja) * 2019-09-17 2022-09-06 株式会社東芝 処理装置および推論システム
CN111327785B (zh) * 2020-01-15 2022-04-15 郑州埃文计算机科技有限公司 一种基于对抗生成网络的图像自动构建的信息隐写通信方法
CN112415467B (zh) * 2020-11-06 2022-10-25 中国海洋大学 一种基于神经网络的单矢量潜标目标定位实现方法
CN112541574B (zh) * 2020-12-03 2022-05-17 支付宝(杭州)信息技术有限公司 保护隐私的业务预测方法及装置
CN112966433B (zh) * 2021-02-08 2022-12-23 北京大学 一种基于即时编译的神经动力学仿真方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04305785A (ja) * 1991-04-02 1992-10-28 Hitachi Ltd ニューラル・ネットワークの評価方法
JPH06301663A (ja) * 1993-04-16 1994-10-28 Meidensha Corp 直列結合型リカレントニューラルネットワークの学習方式
US20160260014A1 (en) * 2015-03-06 2016-09-08 Panasonic Intellectual Property Management Co., Ltd. Learning method and recording medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03168862A (ja) 1989-11-29 1991-07-22 Sharp Corp ニューロコンピュータ
US5497430A (en) * 1994-11-07 1996-03-05 Physical Optics Corporation Method and apparatus for image recognition using invariant feature signals
JPH09198364A (ja) * 1996-01-23 1997-07-31 Nippon Telegr & Teleph Corp <Ntt> ニューラルネット発生装置
EP2748765B1 (en) * 2011-08-25 2022-12-14 Cornell University Retinal encoder for machine vision
JP6065543B2 (ja) * 2012-06-08 2017-01-25 富士通株式会社 ニューラルネットワーク設計方法、フィッティング方法、及びプログラム
US9946970B2 (en) * 2014-11-07 2018-04-17 Microsoft Technology Licensing, Llc Neural networks for encrypted data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04305785A (ja) * 1991-04-02 1992-10-28 Hitachi Ltd ニューラル・ネットワークの評価方法
JPH06301663A (ja) * 1993-04-16 1994-10-28 Meidensha Corp 直列結合型リカレントニューラルネットワークの学習方式
US20160260014A1 (en) * 2015-03-06 2016-09-08 Panasonic Intellectual Property Management Co., Ltd. Learning method and recording medium
JP2017084320A (ja) * 2015-03-06 2017-05-18 パナソニックIpマネジメント株式会社 学習方法およびプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JONATHAN MASCI: "Steel Defect Classification with Max-Pooling Convolutional Neural Networks", WCCI 2012 IEEE WORLD CONGRESS ON COMPUTATIONAL INTELLIGENCE, JPN6021021217, 10 June 2012 (2012-06-10), ISSN: 0004524737 *
W.S. GRAY, ET AL: "Volterra series analysis and synthesis of a neural network for velocity estimation", IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, PART B (CYBERNETICS), vol. Volume 29, Issue 2, JPN6021021216, April 1999 (1999-04-01), US, pages 190 - 197, ISSN: 0004524736 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022133158A (ja) * 2021-03-01 2022-09-13 横河電機株式会社 測定データ記録装置、生成装置、システム、装置、方法およびプログラム
JP7359174B2 (ja) 2021-03-01 2023-10-11 横河電機株式会社 測定データ記録装置、生成装置、システム、装置、方法およびプログラム
US11885719B2 (en) 2021-03-01 2024-01-30 Yokogawa Electric Corporation Measurement data recording apparatus, generating apparatus, system, apparatus, method, and computer readable medium

Also Published As

Publication number Publication date
CN111465940B (zh) 2024-03-26
JP6912008B2 (ja) 2021-07-28
US11386307B2 (en) 2022-07-12
GB201715456D0 (en) 2017-11-08
EP3688664A1 (en) 2020-08-05
WO2019057987A1 (en) 2019-03-28
US20200279129A1 (en) 2020-09-03
GB2570433A (en) 2019-07-31
CN111465940A (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
JP6912008B2 (ja) マシンビジョンシステム
Xu et al. Automatic seismic damage identification of reinforced concrete columns from images by a region‐based deep convolutional neural network
US11618438B2 (en) Three-dimensional object localization for obstacle avoidance using one-shot convolutional neural network
Meijer et al. A defect classification methodology for sewer image sets with convolutional neural networks
CN106682697B (zh) 一种基于卷积神经网络的端到端物体检测方法
US11676365B2 (en) Explainable artificial intelligence (AI) based image analytic, automatic damage detection and estimation system
KR102166458B1 (ko) 인공신경망 기반의 영상 분할을 이용한 불량 검출 방법 및 불량 검출 장치
US20200311855A1 (en) Object-to-robot pose estimation from a single rgb image
Sulistijono et al. From concrete to abstract: Multilayer neural networks for disaster victims detection
CN111105030B (zh) 用于车辆感知系统的神经网络中的激活零旁路和权重剪枝
CN114341878A (zh) 信息处理装置以及具备该信息处理装置的电子设备
JP2014041476A (ja) 画像処理装置、画像処理方法及びプログラム
JP7310718B2 (ja) 路上障害物検知装置、路上障害物検知方法、及び路上障害物検知プログラム
US11410327B2 (en) Location determination apparatus, location determination method and computer program
CN112149491A (zh) 用于确定探测到的对象的信任值的方法
WO2020217371A1 (ja) 学習システム、データ生成装置、データ生成方法、及びデータ生成プログラム
Khellal et al. Pedestrian classification and detection in far infrared images
Israel et al. Factors influencing CNN performance
Konrad et al. Surface defect detection for automated inspection systems using convolutional neural networks
CN114120045A (zh) 一种基于多门控混合专家模型的目标检测方法和装置
Suzuki et al. Superpixel convolution for segmentation
CN112907575A (zh) 人脸质量评估方法、装置及电子设备
US11188792B2 (en) Defect detection using multiple models
Hou et al. Neural units with higher-order synaptic operations for robotic image processing applications
Zhang et al. Key technologies of smart factory machine vision based on efficient deep network model

Legal Events

Date Code Title Description
A529 Written submission of copy of amendment under article 34 pct

Free format text: JAPANESE INTERMEDIATE CODE: A529

Effective date: 20200325

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200325

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210511

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210608

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210621

R151 Written notification of patent or utility model registration

Ref document number: 6912008

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151