(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-19
(45)【発行日】2024-08-27
(54)【発明の名称】ディープラーニングベースのリアルタイム工程監視システム及びその方法
(51)【国際特許分類】
H04N 7/18 20060101AFI20240820BHJP
G06T 7/00 20170101ALI20240820BHJP
G06V 10/82 20220101ALI20240820BHJP
G06V 20/52 20220101ALI20240820BHJP
G05B 19/418 20060101ALI20240820BHJP
【FI】
H04N7/18 D
G06T7/00 350C
G06T7/00 610
G06V10/82
G06V20/52
G05B19/418 Z
(21)【出願番号】P 2023504076
(86)(22)【出願日】2021-08-20
(86)【国際出願番号】 KR2021011162
(87)【国際公開番号】W WO2022039575
(87)【国際公開日】2022-02-24
【審査請求日】2023-02-21
(32)【優先日】2020-08-21
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】10-2021-0110188
(32)【優先日】2021-08-20
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】523020017
【氏名又は名称】リアルタイムテック カンパニー,リミテッド
【氏名又は名称原語表記】REALTIMETECH CO., LTD.
【住所又は居所原語表記】2nd Floor, 283, Baeul 1-ro, Yuseong-gu, Daejeon 34036 Republic of Korea
(74)【代理人】
【識別番号】110002251
【氏名又は名称】弁理士法人眞久特許事務所
(72)【発明者】
【氏名】パーク,ジョンファン
(72)【発明者】
【氏名】ジン,ホンソク
(72)【発明者】
【氏名】ジン,ソンイル
【審査官】秦野 孝一郎
(56)【参考文献】
【文献】国際公開第2020/178945(WO,A1)
【文献】特開2019-204155(JP,A)
【文献】国際公開第2019/220609(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/18
G06T 7/00-7/90
G06V 10/00-20/90
G05B 19/418
(57)【特許請求の範囲】
【請求項1】
工程中に認識する客体を移動客体、状態客体及びベクター客体に区分して登録し、ディープラーニングベースで学習する学習装置;及び
前記学習装置によって学習されたモデルに基づいた工程の進行中に獲得されたリアルタイム映像から、前記移動客体、前記状態客体及び前記ベクター客体に対するフィーチャーを検出し、抽出される各フィーチャーの集合から設定されたリアルタイムフィーチャーパターンを既に格納された工程フィーチャーパターンと比較することによって工程を分類し、前記工程及び前記客体に対する異常を検出し、前記工程の進行状態を監視する監視装置;を含
み、
前記監視装置は、
工程を進行する装備に設置される複数のカメラを含む映像獲得部;
前記工程に含まれた客体を前記移動客体、前記状態客体及び前記ベクター客体に区分し、リアルタイム映像から客体のフィーチャーを検出する客体検出部;
検出された前記客体のフィーチャーをフレーム単位で分析することによって前記リアルタイムフィーチャーパターンを検出し、これを前記工程フィーチャーパターンと比較し、類似度によって工程を分類する工程分類部;及び
前記リアルタイムフィーチャーパターンと前記客体のフィーチャーから異常を検出する異常検出部;を含む、工程監視システム。
【請求項2】
前記客体検出部は、前記移動客体に対して、映像をフレーム単位で分析することによって第1時間のフレームと第2時間のフレームとの差を獲得し、各フレームに含まれた前記客体の変化を検出し、膨張及び増殖演算を通じて後処理することを特徴とする、請求項
1に記載の工程監視システム。
【請求項3】
前記客体検出部は、後処理されたフレームに対して外郭線検出及びグルーピング(Grouping)を行い、グルーピングを通じて生成された各ボックス(Box)に対して重複したボックスを削除又は統合し、ボックスを拡張する過程を行い、各イメージの形状をAIイメージ分類神経網を用いて判断し、前記移動客体に対するフィーチャーを抽出することを特徴とする、請求項
2に記載の工程監視システム。
【請求項4】
前記工程分類部は、前記リアルタイムフィーチャーパターンと前記工程フィーチャーパターンとを比較することによって類似度を分析し、類似度が最も高い工程フィーチャーパターンで工程を分類することを特徴とする、請求項
1に記載の工程監視システム。
【請求項5】
前記工程分類部は、前記工程フィーチャーパターンと前記リアルタイムフィーチャーパターンに対して、分岐(Branch)方式でパターンを分析することによってマッチング作業を行うことを特徴とする、請求項
4に記載の工程監視システム。
【請求項6】
前記工程分類部は、工程の分類中に、複数の工程フィーチャーパターンを予めスライディングさせて並列処理し、各フレームごとに抽出される前記リアルタイムフィーチャーパターンを前記複数の工程フィーチャーパターンと全て比較することを特徴とする、請求項
4に記載の工程監視システム。
【請求項7】
前記工程分類部は、タイムスタンプtでのフレームからフィーチャーを検出した前記移動客体、前記状態客体、及びベクター客体に対するそれぞれのフィーチャーセットを設定し、既に設定された工程フィーチャーセットと、リアルタイムで獲得されるリアルタイムフィーチャーセットとを比較することによって損失関数を演算し、
複数のフレームに対する各フレームのフィーチャーセットの比較によって得られる損失関数を通じて損失値を算出し、前記複数のフレームに対するタイムスタンプの数による時系列損失関数を通じて損失値を算出することを特徴とする、請求項
1に記載の工程監視システム。
【請求項8】
前記工程分類部は、前記映像の各フレーム別に新しい分岐を設定し、各分岐の前記リアルタイムフィーチャーパターンと前記工程フィーチャーパターンとを比較することによって損失値を演算し、損失値によって類似度を判断することを特徴とする、請求項
1に記載の工程監視システム。
【請求項9】
前記工程分類部は、第1時間乃至第2時間の範囲で、第1リアルタイムフィーチャーパターンと第1工程フィーチャーパターンとを比較することによって演算される損失値が、既に設定されたしきい値より低い場合、前記第1時間乃至前記第2時間の分岐で前記第1リアルタイムフィーチャーパターンと前記第1工程フィーチャーパターンとが類似すると判断することを特徴とする、請求項
1に記載の工程監視システム。
【請求項10】
前記工程分類部は、工程の開始と終了時点に対するデータに基づいて、前記工程フィーチャーパターンに対する開始検査区間と終了検査区間を設定し、リアルタイム映像の分岐別の前記リアルタイムフィーチャーパターンと損失検査を行い、
前記開始検査区間又は前記終了検査区間に対する各フィーチャーセットと、前記リアルタイムフィーチャーパターンのフィーチャーセットとの間で演算される損失値が第2しきい値より小さい場合、工程が開始又は終了すると判断することを特徴とする、請求項
1に記載の工程監視システム。
【請求項11】
前記異常検出部は、工程の分類時、前記工程フィーチャーパターンと前記リアルタイムフィーチャーパターンに対して損失関数を通じて算出される損失値に基づいて工程の異常を検出することを特徴とする、請求項
1に記載の工程監視システム。
【請求項12】
前記異常検出部は、複数の客体に対応して抽出された複数のフィーチャーを既に格納されたデータと比較することによって損失値を算出し、前記複数の客体に対する損失値の大きさと時間による変化、前記損失値が一定値以上の状態に維持される時間によっていずれか一つの客体に対する異常を検出することを特徴とする、請求項
1に記載の工程監視システム。
【請求項13】
前記異常検出部は、複数の客体のうちいずれか一つに異常があると判断された場合にも、前記リアルタイムフィーチャーパターンと前記工程フィーチャーパターンとの類似度が一定値以下である場合は、異常判断から除外することを特徴とする、請求項
12に記載の工程監視システム。
【請求項14】
工程の試験運営を通じて、工程中に認識する客体を移動客体、状態客体及びベクター客体に区分して登録し、ディープラーニングベースで学習する段階;
学習されたデータに基づいて、工程の進行中に獲得されたリアルタイム映像から前記移動客体、前記状態客体及び前記ベクター客体に対するフィーチャーを検出する段階;
抽出される各フィーチャーの集合から設定されたリアルタイムフィーチャーパターンを既に格納された工程フィーチャーパターンと比較し、工程を分類する段階;
前記客体に対する前記フィーチャーと工程の進行状態を判断し、異常を検出する段階;及び
前記工程の進行状態に対するデータを格納する段階;を含
み、
前記工程を分類する段階は、
前記リアルタイムフィーチャーパターンと、前記工程フィーチャーパターンとを比較することによって類似度を分析し、類似度が最も高い工程フィーチャーパターンで工程を分類することを特徴とする、工程監視システムの動作方法。
【請求項15】
前記フィーチャーを検出する段階は、
前記リアルタイム映像のフレーム間の客体探知結果をトラッキング(Tracking)を通じてマッピングし、前記移動客体を追跡及び探知する段階;
前記リアルタイム映像をフレーム単位で分析し、第1時間のフレームと第2時間のフレームとの差を獲得し、各フレームに含まれた前記客体の変化を検出し、膨張及び増殖演算を通じて後処理する段階;
後処理されたフレームに対して外郭線検出及びグルーピング(Grouping)を行う段階;
グルーピングを通じて生成された各ボックス(Box)に対して重複したボックスを削除又は統合し、ボックスを拡張する段階;及び
前記ボックスの各イメージの形状をAIイメージ分類神経網を用いて判断し、前記移動客体に対するフィーチャーを抽出する段階;をさらに含む、請求項
14に記載の工程監視システムの動作方法。
【請求項16】
前記工程を分類する段階は、
前記リアルタイム映像のタイムスタンプtでのフレームからフィーチャーを検出した前記移動客体、前記状態客体、及びベクター客体に対するそれぞれのフィーチャーセットを設定する段階;
既に設定された工程フィーチャーセットと、リアルタイムで獲得されるフィーチャーセットとを比較することによって損失関数を演算する段階;及び
複数のフレームに対して各フレームのフィーチャーセットの比較によって得られる損失関数と、前記複数のフレームに対するタイムスタンプの数による時系列損失関数を演算する段階;をさらに含む、請求項
14に記載の工程監視システムの動作方法。
【請求項17】
前記工程を分類する段階は、工程の開始と終了時点に対するデータに基づいて、前記工程フィーチャーパターンに対する開始検査区間と終了検査区間を設定する段階;
前記リアルタイム映像の分岐別の前記リアルタイムフィーチャーパターンと損失検査を行う段階;及び
前記開始検査区間又は前記終了検査区間に対する各フィーチャーセットと、前記リアルタイムフィーチャーパターンのフィーチャーセットとの間で演算される損失値が第2しきい値より小さい場合、工程が開始又は終了すると判断する段階;をさらに含む、請求項
14に記載の工程監視システムの動作方法。
【請求項18】
前記異常を検出する段階は、
複数の客体に対応して抽出された複数のフィーチャーを既に格納されたデータと比較することによって各損失値を算出し、前記複数の客体に対する損失値の大きさと時間による変化、前記損失値が一定値以上の状態に維持される時間によっていずれか一つの客体に対する異常を検出する段階;及び
複数の客体のうちいずれか一つに異常があると判断された場合にも、前記リアルタイムフィーチャーパターンと前記工程フィーチャーパターンとの類似度が一定値以下である場合は、異常判断から除外する段階;をさらに含む、請求項
14に記載の工程監視システムの動作方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、生産工程の進行過程を映像を通じてリアルタイムで監視することによって、客体の検出を通じて進行状態を確認し、異常を検出するディープラーニングベースのリアルタイム工程監視システム及びその方法に関する。
【背景技術】
【0002】
映像を用いて特定の地域や特定の対象を監視する技術は、保安システムのみならず、道路状況の確認又は生産設備などの多様な分野に適用されており、生産工程に導入されることによって工程の進行過程をモニタリングし、工程進行中の対象物の状態を確認するのに活用されている。
【0003】
大韓民国登録特許10-2277162号は、産業ロボット監視装置及びその装置の駆動方法に関するものであって、産業ロボットの指定された作業を行うにおいて、カメラを通じてロボットを撮影し、撮影された映像を分析することによって、ロボットの動きに対する異常を検出する。
【0004】
しかし、このような方式は、ロボットの動きが異なる場合、それに対する異常を検出することはできるが、工程の段階を分類するのではないので、工程内で同一の作業が繰り返される場合、該当の映像がどの工程に該当するのかを確認できないという問題を有する。
【0005】
また、工程全般を監視し、各工程を区分するためには、大規模の映像ストリームをリアルタイムで処理しなければならないが、映像処理に多くのリソースが消耗されるので適用に困難がある。
【0006】
それによって、固定されたカメラを通じて持続的に獲得される映像を用いて工程過程を監視するにおいて、ストリーミング映像に対する処理性能及び正確度を改善し、工程を効果的に監視する方案が必要である。
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は、上記のような必要性によって創出されたものであって、映像認識技術を用いて工程の進行をリアルタイムで監視し、映像から抽出される客体の状態を用いて異常を検出するディープラーニングベースのリアルタイム工程監視システム及びその方法を提供することを目的とする。
【0008】
また、本発明は、抽出される客体のパターンを用いて工程を分類することによって、進行中の工程に対する誤差推移と異常発生を感知するディープラーニングベースのリアルタイム工程監視システム及びその方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記の目的を達成するために、本発明に係るディープラーニングベースのリアルタイム工程監視システムは、工程中に認識する客体を移動客体、状態客体及びベクター客体に区分して登録し、ディープラーニングベースで学習する学習装置;及び前記学習装置によって学習されたモデルに基づいた工程の進行中に獲得されたリアルタイム映像から、前記移動客体、前記状態客体及び前記ベクター客体に対するフィーチャーを検出し、抽出される各フィーチャーの集合から設定されたリアルタイムフィーチャーパターンを、既に格納された工程フィーチャーパターンと比較することによって工程を分類し、前記工程及び前記客体に対する異常を検出することによって前記工程の進行状態を監視する監視装置;を含む。
【0010】
前記監視装置は、工程を進行する装備に設置される複数のカメラを含む映像獲得部;前記工程に含まれた客体を前記移動客体、前記状態客体及び前記ベクター客体に区分し、リアルタイム映像から客体のフィーチャーを検出する客体検出部;検出された前記客体のフィーチャーをフレーム単位で分析することによって前記リアルタイムフィーチャーパターンを検出し、これを前記工程フィーチャーパターンと比較し、類似度によって工程を分類する工程分類部;及び前記リアルタイムフィーチャーパターンと前記客体のフィーチャーから異常を検出する異常検出部;を含む。
【0011】
前記客体検出部は、前記移動客体に対して、映像をフレーム単位で分析することによって第1時間のフレームと第2時間のフレームとの差を獲得し、各フレームに含まれた前記客体の変化を検出し、膨張及び増殖演算を通じて後処理することを特徴とする。
【0012】
前記客体検出部は、後処理されたフレームに対して外郭線検出及びグルーピング(Grouping)を行い、グルーピングを通じて生成された各ボックス(Box)に対して重複したボックスを削除又は統合し、ボックスを拡張する過程を行い、各イメージの形状をAIイメージ分類神経網を用いて判断し、前記移動客体に対するフィーチャーを抽出することを特徴とする。
【0013】
前記工程分類部は、前記リアルタイムフィーチャーパターンと前記工程フィーチャーパターンとを比較することによって類似度を分析し、類似度が最も高い工程フィーチャーパターンで工程を分類することを特徴とする。
【0014】
前記工程分類部は、前記工程フィーチャーパターンと前記リアルタイムフィーチャーパターンに対して、分岐(Branch)方式でパターンを分析することによってマッチング作業を行い、工程の分類中に、複数の工程フィーチャーパターンを予めスライディングさせて並列処理し、各フレームごとに抽出される前記リアルタイムフィーチャーパターンを前記複数の工程フィーチャーパターンと全て比較することを特徴とする。
【0015】
前記工程分類部は、タイムスタンプtでのフレームからフィーチャーを検出した前記移動客体、前記状態客体、及びベクター客体に対するそれぞれのフィーチャーセットを設定し、既に設定された工程フィーチャーセットと、リアルタイムで獲得されるリアルタイムフィーチャーセットとを比較することによって損失関数を演算し、複数のフレームに対する各フレームのフィーチャーセットの比較によって得られた損失関数を通じて損失値を算出し、前記複数のフレームに対するタイムスタンプの数による時系列損失関数を通じて損失値を算出することを特徴とする。
【0016】
前記工程分類部は、工程の開始と終了時点に対するデータに基づいて、前記工程フィーチャーパターンに対する開始検査区間と終了検査区間を設定し、リアルタイム映像の分岐別の前記リアルタイムフィーチャーパターンと損失検査を行い、前記開始検査区間又は前記終了検査区間に対する各フィーチャーセットと、前記リアルタイムフィーチャーパターンのフィーチャーセットとの間で演算される損失値が第2しきい値より小さい場合、工程が開始又は終了すると判断することを特徴とする。
【0017】
前記異常検出部は、複数の客体に対応して抽出された複数のフィーチャーを既に格納されたデータと比較することによって損失値を算出し、前記複数の客体に対する損失値の大きさと時間による変化、及び前記損失値が一定値以上の状態に維持される時間によって、いずれか一つの客体に対する異常を検出することを特徴とする。
【0018】
前記異常検出部は、複数の客体のうちいずれか一つに異常があると判断された場合にも、前記リアルタイムフィーチャーパターンと前記工程フィーチャーパターンとの類似度が一定値以下である場合は、異常判断から除外することを特徴とする。
【0019】
本発明のディープラーニングベースのリアルタイム工程監視システムの動作方法は、工程の試験運営を通じて、工程中に認識する客体を移動客体、状態客体及びベクター客体に区分して登録し、ディープラーニングベースで学習する段階;学習されたデータに基づいて、工程の進行中に獲得されたリアルタイム映像から前記移動客体、前記状態客体及び前記ベクター客体に対するフィーチャーを検出する段階;抽出される各フィーチャーの集合から設定されたリアルタイムフィーチャーパターンを既に格納された工程フィーチャーパターンと比較し、工程を分類する段階;前記客体に対する前記フィーチャーと工程の進行状態を判断し、異常を検出する段階;及び前記工程の進行状態に対するデータを格納する段階;を含む。
【0020】
前記フィーチャーを検出する段階は、前記リアルタイム映像のフレーム間の客体探知結果をトラッキング(Tracking)を通じてマッピングし、前記移動客体を追跡及び探知する段階;前記リアルタイム映像をフレーム単位で分析することによって第1時間のフレームと第2時間のフレームとの差を獲得し、各フレームに含まれた前記客体の変化を検出し、膨張及び増殖演算を通じて後処理する段階;後処理されたフレームに対して外郭線検出及びグルーピング(Grouping)を行う段階;グルーピングを通じて生成された各ボックス(Box)に対して重複したボックスを削除又は統合し、ボックスを拡張する段階;及び前記ボックスの各イメージの形状をAIイメージ分類神経網を用いて判断し、前記移動客体に対するフィーチャーを抽出する段階;をさらに含む。
【0021】
前記工程を分類する段階は、前記リアルタイム映像のタイムスタンプtでのフレームからフィーチャーを検出した前記移動客体、前記状態客体、及びベクター客体に対するそれぞれのフィーチャーセットを設定する段階;既に設定された工程フィーチャーセットと、リアルタイムで獲得されるフィーチャーセットとを比較することによって損失関数を演算する段階;及び複数のフレームに対する各フレームのフィーチャーセットの比較によって得られた損失関数と、前記複数のフレームに対するタイムスタンプの数による時系列損失関数を演算する段階;をさらに含む。
【0022】
前記工程を分類する段階は、工程の開始と終了時点に対するデータに基づいて、前記工程フィーチャーパターンに対する開始検査区間と終了検査区間を設定する段階;前記リアルタイム映像の分岐別の前記リアルタイムフィーチャーパターンと損失検査を行う段階;及び前記開始検査区間又は前記終了検査区間に対する各フィーチャーセットと、前記リアルタイムフィーチャーパターンのフィーチャーセットとの間で演算される損失値が第2しきい値より小さい場合、工程が開始又は終了すると判断する段階;をさらに含む。
【0023】
前記異常を検出する段階は、複数の客体に対応して抽出された複数のフィーチャーを既に格納されたデータと比較することによって各損失値を算出し、前記複数の客体に対する損失値の大きさと時間による変化、及び前記損失値が一定値以上の状態に維持される時間によっていずれか一つの客体に対する異常を検出する段階;及び複数の客体のうちいずれか一つに異常があると判断された場合にも、前記リアルタイムフィーチャーパターンと前記工程フィーチャーパターンとの類似度が一定値以下である場合は、異常判断から除外する段階;をさらに含む。
【発明の効果】
【0024】
一側面によると、本発明に係るディープラーニングベースのリアルタイム工程監視システム及びその方法は、リアルタイム映像を分析することによって客体を検出し、検出される客体の時系列的変化のパターンを抽出し、類似度分析を通じて実際に進行される工程を分類し、工程の異常を検出し、工程の変化推移を確認することができる。
【0025】
本発明は、工程の進行を制御する装備と通信しない場合にも、カメラを通じて獲得される映像に基づいて工程を分類し、異常を検出することができる。
【0026】
本発明は、工程別の客体の状態を分析し、客体の異常を容易に検出することができる。
【0027】
本発明は、少ないリソースを用いてリアルタイムで映像を処理することによって工程を監視することができ、監視及び異常感知による性能を向上させるという効果を有する。
【図面の簡単な説明】
【0028】
【
図1】本発明の一実施例に係るディープラーニングベースのリアルタイム工程監視システムの構成を簡略に示した図である。
【
図2】
図1の工程監視装置の構成を簡略に示した図である。
【
図3】本発明の一実施例に係るディープラーニングベースのリアルタイム工程監視システムの動作方法を示したフローチャートである。
【
図4】本発明の一実施例に係るディープラーニングベースのリアルタイム工程監視システムの客体検出を説明するための参照図である。
【
図5】本発明の一実施例に係るディープラーニングベースのリアルタイム工程監視システムの工程分類過程を説明するための参照図である。
【
図6】
図5の工程分類過程でのフィーチャーセットの損失関数を説明するための参照図である。
【
図7】
図5の工程分類過程でフレーム単位で映像を処理する方法を説明するための参照図である。
【
図8】
図5の工程分類過程でパターンをマッチングする方法を説明するための参照図である。
【
図9】本発明の一実施例に係るディープラーニングベースのリアルタイム工程監視システムの工程の開始と終了を判断する方法を説明するための参照図である。
【
図10】本発明の一実施例に係るディープラーニングベースのリアルタイム工程監視システムの時間による客体別の損失値の変化を示したグラフである。
【発明を実施するための形態】
【0029】
以下、添付の各図面を参照して本発明を説明する。
【0030】
この過程で図面に示した各線の厚さや構成要素の大きさなどは、説明の明瞭性と便宜上、誇張して図示する場合がある。また、後述する各用語は、本発明での機能を考慮して定義された用語であって、これは、ユーザー及び運用者の意図又は慣例によって変わり得る。そのため、これらの用語は、本明細書全般にわたった内容に基づいて定義すべきであろう。
【0031】
図1は、本発明の一実施例に係るディープラーニングベースのリアルタイム工程監視システムの構成を簡略に示した図である。
【0032】
図1に示したように、本発明の工程監視システム100は、監視装置30、学習装置20、及びデータベース(DB)40を含む。
【0033】
工程監視システム100は、工程設備などに設置される複数のカメラ50を通じて製造又は生産工程の進行状況を撮影し、これを監視装置30又は学習装置20に伝送する。
【0034】
工程監視システム100は、製造又は生産工程を制御する工程制御装置(図示せず)と連結されない場合にも、映像を通じて工程の進行過程を確認することができ、撮影した映像を分析することによって工程の進行状態をモニタリングし、客体の異常又は工程進行による異常を検出する。
【0035】
学習装置20、監視装置30及びデータベース(DB)40は、相互通信しながら工程に対するデータを共有し、データをデータベース(DB)40に格納して管理する。
【0036】
工程監視システム100は、学習装置20、監視装置30及びデータベース(DB)40が一つの装置として統合されてもよく、又は一つの装置が複数に分離されてもよい。
【0037】
学習装置20は、工程の進行中に検出する客体を事前登録し、装備の工程映像を通じて客体を認識できるように客体の検出のための学習データを生成し、ディープラーニングベースで学習を行い、学習結果である学習モデルをデータベース(DB)40に格納する。
【0038】
学習装置20は、工程中に客体の位置と工程別の客体の状態に対する情報を登録し、複数の映像を通じてこれを学習する。また、学習装置20は、工程に対する映像に基づいて、工程別に客体に対するパターンを抽出し、これをデータベース(DB)40に格納する。
【0039】
客体は、工程中に認識する対象として、例えば、ノズル、バルブ、ゲートなどであって、生産又は製造される対象によって変更され得る。
【0040】
学習装置20は、フィーチャーを抽出する対象である客体を移動客体、状態客体、及びベクター客体に区分して登録する。
【0041】
移動客体は、ノズル、ロボットアームのように動く客体で、状態客体は、ゲート、信号灯、バルブのように状態が変わる客体で、ベクター客体は、液体流、レーザー、客体の枠などである。
【0042】
学習装置20は、工程を構成する多くの客体を上記のように3つの種類に区分し、各客体を区分するための識別ID、基本位置(識別位置)などの各基本情報を登録する。
【0043】
学習装置20は、移動客体に対して客体の位置と大きさを入力し、状態客体に対して最初のフレームの客体の位置と大きさを入力し、客体による状態の種類を入力する。また、学習装置20は、ベクター客体に対して、開始点と終了点に対する情報を入力する。
【0044】
学習装置20は、学習のために装備が試験稼働されると、試験稼働中に獲得される映像を記録し、映像から登録された客体に対してデータ生成とモデル学習を進行する。
【0045】
学習装置20は、工程に対する映像から、時間によって変化する客体の動作に基づいて工程別に工程フィーチャーパターンを検出して登録する。
【0046】
学習装置20は、一つの装備で行われる複数の工程に対するパターンを登録することができ、また、複数の装備で連携して動作する工程の段階に対するパターンを登録することができる。
【0047】
学習装置20は、移動客体、状態客体、及びベクター客体に対してそれぞれ異なる人工知能学習モデルを適用することができる。
【0048】
監視装置30は、学習装置20を通じてデータベース(DB)40に格納されたデータに基づいて、工程の進行中に撮影される映像から客体に対するフィーチャーを検出することによって工程を分類し、工程が正常に進行されるかどうかを判断する。
【0049】
監視装置30は、工程に対するパターンを抽出し、これを既に登録されたパターンと比較し、工程フィーチャーパターンと、リアルタイムで感知されるリアルタイムフィーチャーパターンとの類似度を分析することによって現在進行中の工程がどの工程であるのかを確認し、工程を分類し、工程の進行状態を判断する。
【0050】
監視装置30は、類似度の分析結果によって最も高い類似度でマッチングされる工程として現在進行中の工程を分類する。
【0051】
監視装置30は、抽出された情報と既に登録されたデータとを比較し、客体の異常を検出する。
【0052】
監視装置30は、客体に対するフィーチャーを抽出し、これを既に登録されたデータと比較することによって客体の状態を判断し、リアルタイムフィーチャーパターンと客体の形状、大きさ、位置、客体の状態などに基づいて異常を検出する。
【0053】
監視装置30は、類似度と損失の程度を比較し、損失値に対応して異常を検出する。
【0054】
また、監視装置30は、工程中に検出された客体に対する、フィーチャー情報と類似度の分析結果に基づいて工程や客体に対する変化推移を記録し、異常発生の有無に対するデータを生成し、これをデータベース(DB)40に格納する。
【0055】
学習装置20及び監視装置30は、少なくとも一つのプロセッサ(processor)を含み、データを格納するメモリ又は格納手段を備える。
【0056】
データベース(DB)40は、学習装置20によって登録される客体に対する情報を客体の種類によって移動客体データ、状態客体データ、及びベクター客体データに区分して格納し、それぞれの学習モデルを格納する。
【0057】
データベース(DB)40は、各工程の進行過程に対する工程フィーチャーパターンを格納する。
【0058】
データベース(DB)40は、工程の開始から終了までのデータ、工程又は客体に対する異常検出データ、及び工程の変化に対する分析データを格納する。
【0059】
また、データベース(DB)40は、大容量格納手段を含み、大容量格納手段に格納されるデータに対するインデックスを生成し、データを管理するためのプロセッサと、学習装置20及び監視装置30とデータを送受信するための通信手段とを備える。
【0060】
工程監視システム100は、監視装置30の工程監視結果に対するレポートを生成し、これを外部のサーバー(図示せず)又は登録された端末(図示せず)に伝送することができる。また、工程監視システム100は、異常の検出時に警告を出力し、異常検出によるアラームを端末に伝送することができる。
【0061】
図2は、
図1の工程監視装置の構成を簡略に示した図である。
【0062】
図2に示したように、監視装置30は、映像獲得部170、映像処理部120、客体検出部130、工程分類部140、異常検出部150、記録管理部160、データ部183、通信部182、入出力部181、及び動作の全般を制御する制御部110を含む。
【0063】
映像獲得部170は、複数のカメラ171、172を含む。
【0064】
映像獲得部170は、第1カメラ171及び第2カメラ172を含み、カメラの数は、図面に示されたものに限定されなく、カメラが設置される装備の数によって増加し得る。映像獲得部170の複数のカメラは、装備又は工程単位でそれぞれ設置されてもよく、指定位置に固定されて設置される。
【0065】
第1カメラ171は、RGB映像を撮影するカメラであって、場合によって、第2カメラ172としては、熱画像カメラ又は赤外線カメラが使用されてもよい。
【0066】
映像処理部120は、映像獲得部170から入力される映像を一定のフォーマットに変換する。映像処理部120は、映像に含まれたノイズを除去し、映像を前処理する。映像処理部120は、映像をフレーム単位に分離して処理する。
【0067】
客体検出部130は、フレーム単位で映像に含まれた客体のフィーチャーを検出する。客体検出部130は、データベース(DB)40に格納された学習モデルと客体情報に基づいて移動客体、状態客体、及びベクター客体に対して客体のフィーチャーを抽出し、これを客体別に区分する。
【0068】
工程分類部140は、客体検出部130によって抽出された客体のフィーチャーに基づいて、複数のフレームでのフィーチャーの変化に対するパターンを抽出する。
【0069】
工程分類部140は、既に登録されたパターンと抽出されたパターンとを比較することによって類似度を算出し、これに基づいて現在進行中の工程がどの工程であるのかを判断することによって工程を分類する。また、工程分類部140は、工程の開始と終了を区分する。
【0070】
異常検出部150は、パターンの類似度に基づいて判断された工程の段階が正常に行われるかどうかを判断し、工程の異常を検出する。
【0071】
また、異常検出部150は、検出された客体のフィーチャーを登録されたデータと比較し、フィーチャーの類似度と損失値によって客体の異常を検出する。
【0072】
異常検出部150は、異常の検出時、制御部110に異常感知信号を印加する。
【0073】
記録管理部160は、工程の開始から終了までの進行過程に対するデータを格納し、異常検出部150によって異常を検出するとき、別途に異常検出データを格納する。
【0074】
制御部110は、通信部182を通じて学習装置20及びデータベース(DB)40とデータを共有する。制御部110は、入出力部181を介して入力されるデータを登録し、工程の進行状態を入出力部181を介して出力する。
【0075】
制御部110は、異常検出信号に対応して入出力部181を介して警告を出力し、通信部182を介して指定された端末又はサーバーに異常検出に対するデータを伝送する。
【0076】
入出力部181は、ボタン、スイッチ、タッチパッドなどの入力手段と、ディスプレイ、スピーカー、及びランプのうち少なくとも一つで構成される出力手段とを含む。
【0077】
データ部183には、通信部182を介して送受信されるデータが格納され、入出力部181を介して入力及び出力されるデータが格納される。
【0078】
データ部183は、映像獲得部170を介して入力される映像データ、検出された客体のフィーチャー、及び工程フィーチャーパターンに対するデータを格納し、異常の検出時に検出された異常、及び異常が発生した工程又は客体に対するデータを格納する。
【0079】
データ部183は、データを格納する格納手段であって、フラッシュメモリ、HDD、SSDなどの格納手段を含むことができ、移動式メモリ装置に連結されてもよい。
【0080】
通信部182は、複数の通信モジュールを含み、有線又は無線でデータを送受信する。
【0081】
通信部182は、制御部110の制御命令に対応してデータベース(DB)40から受信されるデータをデータ部183に格納し、記録管理部によって生成されたデータをデータベース(DB)40に伝送する。
【0082】
図3は、本発明の一実施例に係るディープラーニングベースのリアルタイム工程監視システムの動作方法を示したフローチャートである。
【0083】
図3に示したように、工程監視システムは、工程の試験稼働中に学習装置20を通じて工程の客体を登録して学習し、監視装置30を通じて実際に運営される工程を映像に基づいて監視し、進行状態と異常を検出する。
【0084】
学習装置20は、工程で認識する客体を種類によって区分して登録する(S310)。
【0085】
学習装置20は、認識する客体の種類によってそれぞれ異なる方式で学習モデルを生成して学習する(S320)。
【0086】
学習装置20は、学習データと学習モデルをデータベース(DB)40に格納する。
【0087】
監視装置30は、工程が開始されると(S330)、複数のカメラ50、170を通じて工程進行に対する映像を撮影する(S340)。
【0088】
監視装置30は、学習モデルを用いてリアルタイム映像から客体のフィーチャーを検出する(S350)。監視装置30は、映像に含まれた客体を移動客体、状態客体、及びベクター客体に区分し、フィーチャーを検出する。
【0089】
監視装置30は、映像をフレーム単位で分析し、フレーム別に抽出されるフィーチャーに対するフィーチャーセットを設定し、リアルタイムフィーチャーパターンを検出する(S360)。
【0090】
監視装置30は、リアルタイム映像のリアルタイムフィーチャーパターンと既に分類された工程フィーチャーパターンとを比較し、類似度を分析する(S370)。
【0091】
監視装置30は、リアルタイムフィーチャーパターンと工程フィーチャーパターンをフレーム単位で相互マッチングし、類似度と損失程度によって現在遂行中の工程を判断し、工程を分類する(S380)。
【0092】
監視装置30は、映像から検出された客体のフィーチャーを既に登録されたデータと比較することによって異常を検出し、また、リアルタイムフィーチャーパターンと工程フィーチャーパターンとを比較し、その差の趨勢によって工程の進行に対する異常を検出する(S390)。
【0093】
監視装置30は、異常の検出時、異常検出に対するデータを生成して格納し、異常検出に対する警告を出力する(S400)。
【0094】
監視装置30は、工程が正常に終了した場合、工程の変化推移を分析して記録し(S410)、工程に対するデータをデータベース(DB)40に格納する(S420)。
【0095】
図4は、本発明の一実施例に係るディープラーニングベースのリアルタイム工程監視システムの客体検出を説明するための参照図である。
【0096】
客体検出部130は、映像処理部120によって前処理されたデータから客体に対するフィーチャーを検出する。
【0097】
客体検出部130は、移動客体、状態客体、及びベクター客体をそれぞれ検出する。客体検出部130は、映像を処理し、客体を検出する処理性能及び正確度を改善するために客体によって異なる方式を使用することができる。
【0098】
客体検出部130は、検出された移動客体のフィーチャーに対して、その位置と形状の種類を移動客体の移動開始位置と形状の種類が含まれた基本データと比較し、探知された客体がどの移動客体であるのかをマッピングする。
【0099】
また、客体検出部130は、映像のフレーム間の客体探知結果をトラッキング(Tracking)を通じてマッピングし、移動客体を追跡及び探知する。
【0100】
客体検出部130は、検出対象フレームfnに対して変化基準時間m以前のフレームf(n-m)に対してそれぞれノイズ除去及び正規化過程を行う。
【0101】
客体検出部130は、前処理されたn時間のフレームpre(fn)とm以前のフレームpre(f(n-m))の二つのフレームの差を獲得し、その差(cn)を二進化する。客体検出部130は、pre(fn)からpre(f(n-m))を減算した値が設定値より大きい場合は1、その他の場合は0に差(cn)を二進化する。
【0102】
客体検出部130は、フレーム間の差(cn)に対する膨張及び増殖演算を通じて後処理する。
【0103】
図4の(a)に示したように、客体検出部130は、後処理されたフレームpost(c
n)に対して外郭線検出及びグルーピング(Grouping)を行い、グルーピングを通じて生成された各ボックス(Box)に対して重複したボックスを削除又は統合し、ボックスを拡張する過程を行う。例えば、NMS(Non Maximum Suppression)及びパディング(Padding)過程を行うことができる。
【0104】
図4の(b)に示したように、客体検出部130は、各ボックス(Box)b0、b1、b2を用いて原本イメージをクロップ(Crop)し、各イメージの形状をAIイメージ分類神経網を用いて判断した後、結果を導出する。例えば、ノズル、アーム、ディスペンサーなどに対する形状を区分して判断する。
【0105】
客体検出部130は、AIイメージ分類(Image Classification)神経網に基づいて生成されたボックスから移動客体に対するフィーチャーを抽出する。
【0106】
AIイメージ分類(Image Classification)神経網は、客体探知(Object Detection)神経網より処理性能が速く、イメージ分類正確度も高く、学習データも比較的少なく要求されるので、処理負荷が減少する。
【0107】
また、客体検出部130は、AIイメージ分類神経網を用いて状態客体を検出する。
【0108】
客体検出部130は、AI線分感知神経網を用いてベクター客体を検出する。ベクター客体を検出するために、客体検出部130は、コンピュータービジョンを用いたノイズ抑制前処理及び二進外郭線検出を通じて線分化する。
【0109】
図5は、本発明の一実施例に係るディープラーニングベースのリアルタイム工程監視システムの工程分類過程を説明するための参照図である。
【0110】
図5に示したように、工程分類部140は、映像に基づいて自動的に工程を分類する。
【0111】
工程分類部140は、映像の毎フレームごとにフィーチャー検出過程をリアルタイムで行い、検出過程を通じて獲得したリアルタイムフィーチャーパターンと既に分類された工程の工程フィーチャーパターンとを比較し、類似度を分析する。
【0112】
工程分類部140は、フィーチャーパターンに対して、分岐(Branch)方式でパターンを分析し、マッチング作業を行う。
【0113】
工程分類部140は、抽出されたリアルタイムフィーチャーパターンに対する分析の結果、類似度が最も高い工程フィーチャーパターンで工程を分類する。
【0114】
工程分類部140は、工程分類過程で、毎フレームごとに分類されていた工程の全てのパターンを対象にして比較し、既に分類された各パターンを予めスライディングさせて並列処理する。
【0115】
それによって、工程分類部140は、多くのリソースが要求される工程分類過程で並列処理を通じてリソースを処理することによって性能を改善する。
【0116】
工程分類部140は、既に分類された各工程の開始と終了を基準にして工程分類を自動的に行うことができる。
【0117】
図6は、
図5の工程分類過程でフィーチャーセットの損失関数を説明するための参照図である。
【0118】
図6に示したように、工程分類部140は、客体に対するフィーチャーを抽出し、工程を分類する。
【0119】
例えば、工程分類部140は、客体検出部130によって工程中に客体を移動したり、客体を加工するロボットアーム、回転体などの移動客体のフィーチャーが抽出されると、フィーチャーセット又はリアルタイムフィーチャーパターンを検出し、類似度によって工程を分類する。
【0120】
工程分類部140は、映像から抽出された複数のフィーチャーのうち、移動客体(Moving Object)に対する各フィーチャーを一つの集合として構成し、移動客体フィーチャーセット(MO set)を設定する。
【0121】
また、工程分類部140は、映像から抽出された複数のフィーチャーのうち、状態客体(Status Object)とベクター客体(Vector Object)に対する各フィーチャーで構成される状態客体フィーチャーセット(SO set)とベクター客体フィーチャーセット(VO set)をそれぞれ設定する。
【0122】
工程分類部140は、細部因子であって、各移動客体(MO)に対するバウンディングボックス(Bounding Box)の座標(Coordinate)、幅(Width)、及び高さ(Height)をフィーチャーとして使用する。
【0123】
移動客体(MO)の状態(State)が定義された集合は、次の数式1の通りである。
【0124】
【0125】
但し、(x,y)は、ターゲットバウンディングボックスの左側上端の基準座標で、wは、ターゲットバウンディングボックスの幅で、hは高さである。
【0126】
工程分類部140は、状態客体(Status Object、SO)に対して状態客体が有し得る状態(State)に対して定義し、その個数をkとし、次の数式2のように状態客体(SO)を定義する集合を設定することができる。
【0127】
【0128】
kは、上述したように、一つの状態客体が有し得る値の個数であって、例えば、ゲートの場合、kは、「開放」、「閉鎖」、「未知」などの3として定義することができる。
【0129】
また、工程分類部140は、ベクター客体(Vector Object、VO)に対して、水流、レーザーなどの方向を有する線形の客体として定義することができる。
【0130】
工程分類部140は、客体が保有し得る点の係数(Coefficient)をVとし、開始点と到着点を含むV+2個の均等な中間点を定め、これをフィーチャーとして使用する。
【0131】
その結果、ベクター客体(VO)の状態(State)が定義された集合は、次の数式3の通りである。
【0132】
【0133】
このように定義された移動客体の集合、状態客体の集合、及びベクター客体の集合を損失関数に用いて客体間の差を算出することができる。
【0134】
工程分類部140は、第1客体と第2客体を損失関数を用いて比較することができ、また、第1客体の第1データと第1客体の第2データを損失関数を用いて比較することができる。
【0135】
工程分類部140は、上述した移動客体の状態(MOState)に対して、損失関数を次の数式4のように定義することができる。
【0136】
【0137】
但し、εcoordとεshapeは、各フィーチャーに対するペナルティを付与する定数で、Bは、移動客体の数で、ハット(hat、^)が表示された属性は、既に分類され、データベース(DB)に格納されたデータを示す。
【0138】
上記の数式4において、w、hの場合、同一の客体であるにもかかわらず、観察される角度によって客体のバウンディングボックス(Bounding Box)が変わり得るので、位置に対するペナルティより少ないペナルティを課すために平方根を適用する。
【0139】
状態客体の状態(SOState)の場合、損失関数を次の数式5のように定義することができる。
【0140】
【0141】
但し、Sは、状態客体(SO)の数である。
【0142】
ベクター客体の状態(VOState)の場合、損失関数を次の数式6のように定義することができる。
【0143】
【0144】
ベクター客体の各点のうち開始点と到着点に対する正確度を強調するために、開始点と到着点に対するペナルティを他の点の2倍に設定する。
【0145】
工程分類部140は、工程の進行中に、映像獲得部170を通じてリアルタイムで獲得される映像をモニタリングする過程で、リアルタイムモニタリング状況に対する損失関数を定義する。
【0146】
例えば、工程分類部140は、タイムスタンプtでデータベースに格納された第1移動客体に対する第1移動客体フィーチャーセット(MO set)81aと、リアルタイムで抽出された第1移動客体に対する第2移動客体フィーチャーセット(MO set)91aとを損失関数を用いて比較し、比較の結果を工程分類の基準として用いる。
【0147】
このとき、異常検出部150は、損失関数の結果値を通じて移動客体に対する差を算出し、工程の異常を検出する。
【0148】
データベース(DB)40は、各工程別のタイムスタンプtでのフレームからフィーチャーを検出した移動客体フィーチャー、状態客体フィーチャー、及びベクター客体フィーチャーを格納している。
【0149】
データベース(DB)40は、このような各移動客体フィーチャーの集合として設定された移動客体フィーチャーセット、各状態客体フィーチャーの集合として設定された状態客体フィーチャーセット、及び各ベクター客体フィーチャーの集合として設定されたベクター客体フィーチャーセットを格納する。
【0150】
また、データベース(DB)40は、タイムスタンプ別に移動客体フィーチャーセット、状態客体フィーチャーセット、及びベクター客体フィーチャーセットを含む工程フィーチャーセットを格納する。
【0151】
工程分類部140は、リアルタイムモニタリングでタイムスタンプtでのフレームからフィーチャーを検出する場合、客体別に移動客体フィーチャー、状態客体フィーチャー、及びベクター客体フィーチャーを獲得し、各フィーチャーの集合として移動客体フィーチャーセット、状態客体フィーチャーセット、及びベクター客体フィーチャーセットをそれぞれ設定する。
【0152】
また、工程分類部140は、タイムスタンプ別にリアルタイムで設定される移動客体フィーチャーセット、状態客体フィーチャーセット、及びベクター客体フィーチャーセットを含み、リアルタイムフィーチャーセットを設定する。
【0153】
工程分類部140は、タイムスタンプtでのMO set 81a、SO set、及びVO setを含む第1工程フィーチャーセット81と、タイムスタンプtでのMO set 91a、SO set、及びVO setを含む第1リアルタイムフィーチャーセット91との間の損失値を算出する。
【0154】
工程分類部140は、タイムスタンプtでのMO set 81a、SO set、及びVO setを含む第1工程フィーチャーセット81と、タイムスタンプtでのMO set 91a、SO set、及びVO setを含む第1リアルタイムフィーチャーセット91との間の損失値を算出する。
【0155】
また、工程分類部140は、タイムスタンプt+1での第2工程フィーチャーセット82と第2リアルタイムフィーチャーセット92との間の損失値を算出し、タイムスタンプt+2での第3工程フィーチャーセット83と第3リアルタイムフィーチャーセット93との間の損失値を算出する。タイムスタンプtでの工程フィーチャーセットと、リアルタイムフレームから抽出されたリアルタイムフィーチャーセットとの間の損失値は、次の数式7のように定義することができる。
【0156】
【0157】
但し、εMO、εSO、εVOは、移動客体(MO)、状態個体(SO)、及びベクター客体(VO)の影響を均等化するのに使用される係数である。
【0158】
工程分類部140は、リアルタイムモニタリング時、tフレームから抽出されたリアルタイムフィーチャーセット81と工程フィーチャーセット91との間の損失関数LOSSframe(t)を計算し、これを、tフレームがt時点での特定工程のフレームと類似するかどうかに対する尺度として活用することができる。
【0159】
また、工程分類部140は、タイムスタンプsからeまでの(e-s)個のタイムスタンプに対して、各リアルタイムフレームの各リアルタイムフィーチャーセット90と、データベース(DB)40に格納されている各工程フィーチャーセット80との間の損失値を演算し、これらを全て合算した後、タイムスタンプの数で割る過程を、次の数式8のように時系列損失関数として定義することができる。
【0160】
【0161】
工程分類部140は、時系列損失関数を用いたリアルタイムモニタリング時、特定の範囲(s~e)がどの工程及び範囲と最も類似するのかを判断することができる。
【0162】
工程分類部140は、タイムスタンプsからeまでの(e-s)個のタイムスタンプに対して、各リアルタイムフレームの各リアルタイムフィーチャーセット90からリアルタイムフィーチャーパターンを設定し、これを、データベース(DB)40に格納されている各工程フィーチャーセット80で構成される工程フィーチャーパターンと比較する。
【0163】
図7は、
図5の工程分類過程でフレーム単位で映像を処理する方法を説明するための参照図である。
【0164】
図7に示したように、工程分類部140は、工程フィーチャーパターンPnを、リアルタイム映像フレームから抽出されたリアルタイムフィーチャーパターンと比較するパターンマッチングに使用する。
【0165】
工程分類部140は、既存に分類されていた各工程フィーチャーパターンPnと、リアルタイム映像内から抽出された各リアルタイムフィーチャーパターンとの間のパターンマッチング作業を進行する。このとき、リアルタイム映像の各フレームFn別に新しい分岐Bnが開始され、該当の開始フレーム以降に入ってくる各フレームFn、Fn+1、…、Fn+mは、一つの分岐を構成する。
【0166】
工程分類部140は、上記のような方法で構成される各分岐Bnを、既存に分類された各工程フィーチャーパターンPnのそれぞれと比較し、損失値の算出によって類似度を演算し、工程を分類する。
【0167】
図8は、
図5の工程分類過程でパターンをマッチングする方法を説明するための参照図である。
【0168】
図8に示したように、工程分類部140は、上述したフレーム別の各分岐のリアルタイムフィーチャーパターンを各工程フィーチャーパターンと比較し、マッチング作業を行う。
【0169】
工程分類部140は、各分岐のフレーム別のリアルタイムフィーチャーセットと、タイムスタンプを基準にして該当する工程フィーチャーパターンの工程フィーチャーセットとの間の損失値の計算を通じて類似度の比較を行い、損失値は、LOSSframe(t,p,b)で算出することができる。
【0170】
LOSSframe(t)結果値は、工程(p)に対する分岐(Branch)bの各フィーチャーセットと、上述した数式7のフィーチャーセットとの間の損失関数の定義として決定される。
【0171】
工程分類部140は、分岐別の時系列損失関数を次の数式9によって算出することができる。
【0172】
【0173】
数式9のLOSStime(s,e,p,b)は、分岐bの時間sから時間eまでの範囲に対する分岐別の時系列損失関数である。
【0174】
工程分類部140は、損失計算の結果がしきい値(Threshold)より小さいと、タイムスタンプ[s,e]区間に該当する工程pの工程フィーチャーパターンと、タイムスタンプt(s≦t≦e)までの分岐bのリアルタイムフィーチャーパターンとが類似すると判断する。
【0175】
図9は、本発明の一実施例に係るディープラーニングベースのリアルタイム工程監視システムの工程の開始と終了を判断する方法を説明するための参照図である。
【0176】
図9に示したように、工程分類部140は、工程の開始と終了を判断する。
【0177】
工程分類部140は、工程フィーチャーパターンで開始検査区間(SR)と終了検査区間(ER)を選択し、リアルタイム映像の分岐別のリアルタイムフィーチャーパターンと損失検査を進行する。
【0178】
工程分類部140は、工程開始及び終了検査時、工程P1の開始検査区間又は終了検査区間に該当する各フィーチャーセット(FT1-FT3)(FT9、FT10)と、リアルタイムフレームから検出された各フィーチャーセットとの損失値を演算し、損失値がT(しきい値)より小さくなる時点を工程開始又は終了として判断する。
【0179】
開始検査と終了検査に用いられる[s,e]と[s',e']は、次の数式10のように計算する。
【0180】
【0181】
SR(Start Range)は、工程開始検査区間で、SRP(Start Range Proportion)は、工程時間に対する開始検査区間の比率(SR=t(Pn)*SRP)で、ER(End Range)は、工程終了検査区間で、ERP(End Range Proportion)は、工程時間に対する終了検査区間の比率(ER=t(Pn)*ERP)で、tは、タイムスタンプを求める時間関数で、t(Pn)は、n番目の分類工程(Pn)の全体の工程時間である。
【0182】
工程分類部140は、該当の分岐の損失値が特定のしきい値(threshold)を逸脱すると、データベースに格納された各工程と合わないと見なし、該当の時点の分岐を削除し、リソース及び性能の効率性のためにマッチング作業が追加的に進行されないようにする。
【0183】
また、工程分類部140は、正確な工程開始と終了時点を判断するために、損失値の計算時、しきい値(Threshold)比較のみならず、損失値が最小になる時点を探す作業を追加的に行う。工程分類部140は、しきい値より小さい損失値を有する時点を探したとしても、直ぐ工程の開始と終了と判断するのではなく、その後の損失値が最小になる地域最小値(Local Minimum)を探す方法で進めることができる。
【0184】
早い時点に工程開始時点を設定する場合、フレームでの類似度の比較結果の誤差が大きくなるという問題が発生し得るが、工程分類部140は、このような過程を通じて工程の開始時点と終了時点を設定することによって、類似度の比較結果の誤差が大きくなるという問題を解消することができる。
【0185】
図10は、本発明の一実施例に係るディープラーニングベースのリアルタイム工程監視システムの時間による客体別の損失値の変化を示したグラフである。
【0186】
図10に示したように、異常検出部150は、上述した工程分類部140の工程分類過程で該当の工程が正常に行われるかどうかを判断する。
【0187】
異常検出部150は、工程の分類時、工程フィーチャーパターンとリアルタイムフィーチャーパターンとを比較し、損失関数を通じて算出される損失値に基づいて異常を検出する。
【0188】
また、異常検出部150は、客体検出部130の客体に対するフィーチャーの検出時、検出された客体のフィーチャーが工程の客体状態に対応するかどうかを損失関数の結果値によって判断し、異常を検出する。
【0189】
異常検出部150は、複数の客体に対する損失値に基づいて、特定の客体の異常を判断することができる。
【0190】
異常検出部150は、一つの客体の損失値が一定値以上高く表れる場合、損失値が高く表れる時間によって異常を判断する。
【0191】
異常検出部150は、客体の損失値が一定値以上高く表れたとき、損失値が高く表れる時間が設定時間以上である場合は、異常であると判断する。異常検出部150は、客体の損失値が一定値以上高く表れたときにも、設定時間内に一定値以下に減少すると、異常判断から除外する。
【0192】
異常検出部150は、一つの客体の損失値が高く表れた場合にも、他の客体の損失値が類似する値として表れる場合、異常判断から除外する。また、異常検出部150は、一つの客体の損失値が大きく表れたときにも、比較する工程フィーチャーパターンとの類似度が一定値以下に低い場合は、異常判断から除外する。
【0193】
例えば、平均損失に対するしきい値が0.4である場合、異常検出部150は、第2客体L2のように、他の客体の平均損失値の変化と異なる形態に変化し、t2からt4とt5との間の時間までしきい値以上の状態が維持されると、異常であると検出する。
【0194】
このとき、異常検出部150は、現在比較する工程との類似度が所定値以下に低い場合は、異常判断から除外する。
【0195】
記録管理部160は、検出された異常を視覚的に確認できるようにデータを提供する。
【0196】
記録管理部160は、工程分類過程を通じて一つの工程が終了すると、全ての単一の客体から出たフィーチャーの損失値を格納し、全体の工程での変化する推移を分析し、そのデータを視覚化する。
【0197】
記録管理部160は、工程の進行過程に対するデータを格納し、客体検出部130のフィーチャーパターン、工程分類部140の分類工程、及び異常検出部150の異常検出データをデータ部183に格納し、時間の経過による変化推移を分析し、データを格納する。
【0198】
また、記録管理部160は、データベース40から既に設定されたデータ、既に測定されたデータを呼び出してリアルタイムデータと比較し、工程が完了すると、完了した工程に対するデータがデータベース(DB)40に格納されるようにする。
【0199】
制御部110は、生成されたデータを入出力部181を介して出力することができる。また、制御部110は、通信部182を介して外部のサーバー又は指定された端末に工程監視による結果データを伝送することができる。
【産業上の利用可能性】
【0200】
したがって、本発明は、リアルタイム映像を通じて工程の進行状態を感知しながら工程の進行が正常であるかどうかを判断し、客体の異常有無を検出することができる。
【0201】
本発明は、図面に示した実施例を参考にして説明したが、これは、例示的なものに過ぎなく、当該技術の属する技術分野で通常の知識を有する者であれば、これから多様な変形及び均等な他の実施例が可能であるという点を理解するだろう。よって、本発明の真の技術的保護範囲は、下記の特許請求の範囲によって定められるべきであろう。