(57)【要約】      （修正有）【課題】ＦＵＮを利用してＣＮＮの性能を向上させるための学習方法を提供する。【解決手段】入力イメージが獲得されると、入力イメージに所定の演算を適用してダウンサンプリングイメージを獲得するようにし、ダウンサンプリングイメージが獲得されると、ダウンサンプリングイメージにコンボリューション演算を適用して特徴マップを各々獲得するようにし、対応するフィルタブロックから特定特徴マップを受信し、以前のアップ−サンプリングブロックから他の所定特徴マップを受信し、特定特徴マップを所定特徴マップとサイズが同一にリスケーリングした後、特定特徴マップとリスケーリング済み所定特徴マップに一定の演算を遂行して所定アップ−サンプリングブロックの特徴マップを生成するようにし、アプリケーションブロックからアプリケーション特定出力を獲得してバックプロパゲーションプロセスを遂行する。【選択図】図４
2019067407.tif 000002
【特許請求の範囲】
【請求項１】
（ｉ）入力イメージのサイズを減らすダウンサンプリングブロック、（ｉｉ）少なくとも一回のコンボリューション演算を遂行して各々の第１−１ないし第１−Ｋ特徴マップを各々獲得する各々の第１−１ないし第１−Ｋフィルタブロック（ｉｉｉ）前記各々の第１−１ないし第１−Ｋフィルタブロックと各々連動し、第２−ｋないし第２−１特徴マップを生成する各々の第２−Ｋないし２−１アップサンプリングブロック、（ｉｖ）前記第２−Ｋないし前記第２−１特徴マップの少なくとも一部を利用してアプリケーション−特定出力（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｏｕｔｐｕｔ）を生成するためのアプリケーションブロック、及び（ｖ）前記アプリケーションブロックで生成された前記アプリケーション−特定出力値とＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）を参照してロスを獲得するアプリケーション−特定ロスブロック（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｌｏｓｓ  ｂｌｏｃｋ）を含む学習装置に含まれた特徴アップサンプリングネットワーク（ＦＵＮ）を利用してＣＮＮの性能を向上させるための学習方法において、
（ａ）前記学習装置は、前記入力イメージが入力されると、前記ダウンサンプリングブロックをもって前記入力されたイメージに所定の演算を遂行して前記入力されたイメージのサイズを減らしたダウンサンプリングイメージを獲得するようにする段階；
（ｂ）前記学習装置は、前記ダウンサンプリングイメージが獲得されると、前記各々の第１−１ないし第１−Ｋフィルタブロックをもって前記ダウンサンプリングイメージに対して前記少なくとも一回のコンボリューション演算を遂行して前記各々の第１−１ないし１−Ｋ特徴マップを各々獲得するようにする段階；
（ｃ）前記学習装置は、（Ｉ）第２−１アップサンプリングブロックをもって（ｉ）前記ダウンサンプリングブロックから前記ダウンサンプリングイメージを受信して（ｉｉ）前記第２−２アップサンプリングブロックから前記第２−２特徴マップを受信した後、前記２−２特徴マップのサイズを前記ダウンサンプリングイメージと同一にリスケーリングし、（ｉｉｉ）前記ダウンサンプリングイメージと第２−２リスケーリング済み特徴マップに所定の演算を遂行して、前記第２−１特徴マップを獲得するようにし、（ＩＩ）Ｍが１より大きいか同じ整数である場合、前記第（２−（Ｍ＋１））アップサンプリングブロックをもって、（ｉ）前記第１−Ｍフィルタブロックから出力された前記第１−Ｍ特徴マップを受信し、（ｉｉ）前記第２−（Ｍ＋２）アップサンプリングブロックから出力された前記第２−（Ｍ＋２）特徴マップを受信した後、前記２−（Ｍ＋２）特徴マップのサイズを前記第１−Ｍ特徴マップと同一にリスケーリングし、（ｉｉｉ）前記第（１−Ｍ）特徴マップと前記（２−（Ｍ＋２））リスケーリング済み特徴マップに所定の演算を遂行して、前記（２−（Ｍ＋１））特徴マップを生成することで、前記第２−Ｋないし第２−２特徴マップを獲得するようにする段階；
（ｄ）前記学習装置は、（ｉ）前記アプリケーションブロックをもって、前記第２−Ｋないし第２−１特徴マップの少なくとも一部に対してアプリケーション−特定演算を適用して前記アプリケーション−特定出力を獲得するようにし、（ｉｉ）前記アプリケーション−特定ロスブロックをもって、前記アプリケーション−特定出力値とＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）を参照して前記ロスを獲得するようにして、第１バックプロパゲーションプロセスに前記ロスを利用することで前記アプリケーションブロック、前記第２−Ｋないし前記第２−１アップサンプリングブロック及び前記第１−１ないし前記第１−Ｋフィルタブロックのうち少なくとも一部のパラメータを調節する段階；
を含むことを特徴とする方法。
【請求項２】
前記学習装置は（ｖｉ）その各々のサイズが前記第２−１ないし前記第２−Ｋ特徴マップのサイズ各々に対応し、前記ダウン−サンプリングブロックを経ずに前記入力イメージに一つ以上のコンボリューション演算を適用して獲得した第Ｔ−１ないし第のＴ−Ｋ特徴マップを各々生成する第Ｔ−１ないし第のＴ−Ｋフィルタブロックを含むティーチャエンコーディングレイヤ（ｔｅａｃｈｅｒ  ｅｎｃｏｄｉｎｇ  ｌａｙｅｒ）、及び（ｖｉｉ）リグレッションロスブロック（ｒｅｇｒｅｓｓｉｏｎ  ｌｏｓｓ  ｂｌｏｃｋ）をさらに含み、
前記方法は、
（ｅ）前記学習装置が、前記リグレッションロスブロックをもって、前記各々の第２−１ないし前記２−ｋ特徴マップと前記各々の第Ｔ−１ないし第Ｔ−ｋ特徴マップを利用してリグレッションロスを生成するようにし、第２バックプロパゲーションプロセスに前記リグレッションロスを利用することで、前記第１−１ないし前記第１−ｋフィルタブロック及び前記第２−１ないし第２−ｋアップサンプリングブロックのうち少なくとも一部のパラメータを調節する段階；をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記ティーチャエンコーディングレイヤの前記第Ｔ−１ないし第Ｔ−ｋフィルタブロックは事前学習過程を通じて得た固定されたパラメータを利用することを特徴とする請求項２に記載の方法。
【請求項４】
前記（ｃ）段階で、
前記学習装置は、Ｍが１以上（Ｋ−２）以下の整数である場合、前記（２−（Ｍ＋１））アップサンプリングブロックをもって（ｉ）前記第１−Ｍ特徴マップに対して前記第２−（Ｍ＋１）アップサンプリングブロック内の第１フィルタを用いたコンボリューション演算を遂行してチャネルが変更された第１−Ｍ調整特徴マップを求めるプロセス、（ｉｉ）前記第２−（Ｍ＋２）アップサンプリングブロックから伝達された前記第２−（Ｍ＋２）特徴マップに対して前記第２−（Ｍ＋１）アップサンプリングブロック内の第２フィルタを用いたコンボリューション演算を遂行してチャネルが変更された第２−（Ｍ＋２）調整特徴マップを獲得した後、前記第２−（Ｍ＋２）調整特徴マップに対してアップサンプリング演算を遂行して前記第２−（Ｍ＋２）リスケーリング済み特徴マップを獲得し、（ｉｉｉ）前記第１−Ｍ調整特徴マップと前記第２−（Ｍ＋２）リスケーリング済み特徴マップを演算して、前記第２−（Ｍ＋１）特徴マップを生成し、（ｉｖ）第２−（Ｍ＋１）アップサンプリングブロックから獲得した第２−（Ｍ＋１）特徴マップを第２−Ｍアップサンプリングブロックに伝達するプロセスを遂行することで、前記第２−（Ｋ−１）ないし前記第２−２特徴マップを獲得するようにすることを特徴とする請求項１に記載の方法。
【請求項５】
前記（ｃ）段階で、
前記学習装置は、前記第２−１アップサンプリングブロックをもって、（ｉ）前記ダウンサンプリングイメージに対して前記第２−１アップサンプリングブロック内の前記第１フィルタを用いたコンボリューション演算を遂行して前記ダウンサンプリングイメージのチャネル数が変更された調整特徴マップを求め、（ｉｉ）前記第（２−２）特徴マップに対して前記第２−１アップサンプリングブロック内の第２フィルタを用いたコンボリューション演算を遂行してチャネル数が変更された第２−２調整特徴マップを求めた後、前記第２−２調整特徴マップに対してサイズを増やすアップサンプリング演算を遂行して第２−２リスケーリング済み特徴マップを求め、（ｉｉｉ）前記ダウンサンプリングイメージの調整特徴マップと前記第２−２リスケーリング済み特徴マップを演算して、前記第（２−１）特徴マップを生成するようにすることを特徴とする請求項４に記載の方法。
【請求項６】
前記（ｃ）段階で、
前記学習装置は、前記第（２−Ｋ）アップサンプリングブロックをもって（ｉ）前記第１−（Ｋ−１）特徴マップに対して前記第２−Ｋアップサンプリングブロック内の第１フィルタを用いたコンボリューション演算を遂行してチャネル数が変更された第１−（Ｋ−１）調整特徴マップを求め、（ｉｉ）前記第１−Ｋ特徴マップに対してアップサンプリング演算を遂行して第１−Ｋリスケーリング済み特徴マップを求め、（ｉｉｉ）前記第１−（Ｋ−１）調整特徴マップと前記第１−Ｋリスケーリング済み特徴マップを演算して前記（２−Ｋ）特徴マップを生成し、（ｉｖ）第２−Ｋアップサンプリングブロックから獲得した前記（２−Ｋ）特徴マップを第２−（Ｋ−１）アップサンプリングブロックに伝達するようにするプロセスを遂行することで、前記２−Ｋ特徴マップを獲得するようにすることを特徴とする請求項４に記載の方法。
【請求項７】
前記第２−（Ｍ＋１）アップサンプリングブロック内の第１フィルタを用いたコンボリューション演算は前記第１−Ｍ特徴マップのチャネル数を前記第２−（Ｍ＋２）調整特徴マップのチャネル数と同一に調整するための演算であり、
前記第２−１アップサンプリングブロック内の第１フィルタを用いたコンボリューション演算は前記ダウンサンプリングイメージのチャネル数を前記第２−２調整特徴マップのチャネル数と同一に変更するための演算であることを特徴とする請求項４に記載の方法。
【請求項８】
前記（ｂ）段階で、
前記学習装置は、前記ダウンサンプリングブロックから獲得した前記ダウンサンプリングイメージにコンボリューション演算を遂行して生成された第１−１特徴マップを前記第１−１フィルタブロックから獲得した後、第１−Ｍフィルタブロックから獲得した第１−Ｍ特徴マップにコンボリューション演算を遂行して生成された第１−（Ｍ＋１）特徴マップを第１−（Ｍ＋１）フィルタブロックから獲得し、Ｍは２から（Ｋ−１）までの整数であることを特徴とする請求項１に記載の方法。
【請求項９】
アプリケーション−特定出力を獲得するためのテスト装置内に含まれた特徴アップサンプリングネットワーク（ＦＵＮ）を備えたＣＮＮを利用して入力イメージとしてのｔｅｓｔ  ｉｍａｇｅに対する演算を適用するためのテスト方法において、
（ａ）（ｉ）学習イメージのサイズを減らすダウンサンプリングブロック、（ｉｉ）コンボリューション演算を少なくとも一回遂行して各々の第１−１ないし第１−Ｋ特徴マップを獲得する各々の第１−１ないし第１−Ｋフィルタブロック；（ｉｉｉ）前記各々の第１−１ないし第１−Ｋフィルタブロックと各々連動する第２−Ｋないし２−１アップサンプリングブロック；（ｉｖ）前記第２−Ｋないし前記第２−１特徴マップの少なくとも一部を利用してアプリケーション−特定出力（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｏｕｔｐｕｔ）を生成するためのアプリケーションブロック、及び（ｖ）前記アプリケーションブロックで生成された前記アプリケーション−特定出力値とＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）を参照してロスを獲得するアプリケーション−特定ロスブロック（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｌｏｓｓ  ｂｌｏｃｋ）を含む学習装置を利用して、（１）ダウンサンプリングブロックをもって前記学習イメージが獲得されると、前記学習イメージに既設定された演算を加えることで学習用ダウンサンプリングイメージを獲得するようにするプロセス；（２）前記学習用ダウンサンプリングイメージが獲得されると、前記各々の第１−１ないし第１−Ｋフィルタブロックをもって前記学習用ダウンサンプリングイメージに対して前記少なくとも一回のコンボリューション演算を遂行して前記各々の学習用第１−１ないし１−Ｋ特徴マップを各々獲得するプロセス；（３）（Ｉ）第２−１アップサンプリングブロックをもって（ｉ）前記ダウンサンプリングブロックから前記ダウンサンプリングイメージを受信して（ｉｉ）前記第２−２アップサンプリングブロックから前記第２−２特徴マップを受信した後、前記２−２特徴マップのサイズを前記ダウンサンプリングイメージと同一にリスケーリングし、（ｉｉｉ）ダウンサンプリングイメージと第２−２リスケーリング済み特徴マップに所定の演算を遂行して、前記第２−１特徴マップを獲得し、（ＩＩ）Ｍが１より大きいか同じ整数である場合、前記第（２−（Ｍ＋１））アップサンプリングブロックをもって、（ｉ）前記第１−Ｍフィルタブロックから出力された前記第１−Ｍ特徴マップを受信し、（ｉｉ）前記第２−（Ｍ＋２）アップサンプリングブロックから出力された前記第２−（Ｍ＋２）特徴マップを受信した後、前記２−（Ｍ＋２）特徴マップのサイズを前記第１−Ｍ特徴マップと同一にリスケーリングし、（ｉｉｉ）前記第（１−Ｍ）特徴マップと前記（２−（Ｍ＋２））リスケーリング済み特徴マップに所定の演算を遂行して、前記（２−（Ｍ＋１））特徴マップを生成することで、前記第２−Ｋないし第２−２特徴マップを獲得するプロセス；（４）（ｉ）前記アプリケーションブロックをもって、前記学習用第２−Ｋないし第２−１特徴マップの少なくとも一部に対してアプリケーション−特定演算を適用して前記アプリケーション−特定出力を獲得するようにし、（ｉｉ）前記アプリケーション−特定ロスブロックをもって、前記アプリケーション−特定出力値とＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）を参照して前記ロスを獲得するようにして、バックプロパゲーションプロセスに前記ロスを利用することで前記アプリ��ーションブロック、前記第２−Ｋないし前記第２−１アップサンプリングブロック及び前記第１−１ないし前記第１−Ｋフィルタブロックのうち少なくとも一部のパラメータを調節するプロセス；を遂行した状態で、前記テストイメージを獲得する段階；
（ｂ）前記テスト装置が、前記テストイメージが入力されると、前記ダウンサンプリングブロックをもって前記テストイメージに所定の演算を遂行して前記テストイメージのサイズを減らしたテスト用ダウンサンプリングイメージを獲得するようにする段階；
（ｃ）前記テスト装置は、前記テスト用ダウンサンプリングイメージが獲得されると、前記各々の第１−１ないし第１−Ｋフィルタブロックをもって前記テスト用ダウンサンプリングイメージに対して前記少なくとも一回のコンボリューション演算を遂行して前記各々のテスト用第１−１ないし１−Ｋ特徴マップを各々獲得するようにする段階；
（ｄ）前記テスト装置は、（Ｉ）第２−１アップサンプリングブロックをもって（ｉ）前記ダウンサンプリングブロックから前記テスト用ダウンサンプリングイメージを受信して（ｉｉ）前記第２−２アップサンプリングブロックから前記テスト用第２−２特徴マップを受信した後、前記テスト用２−２特徴マップのサイズを前記テスト用ダウンサンプリングイメージと同一にリスケーリングし、（ｉｉｉ）前記テスト用ダウンサンプリングイメージとテスト用第２−２リスケーリング済み特徴マップに所定の演算を遂行して、前記テスト用第２−１特徴マップを獲得し、（ＩＩ）Ｍが１より大きいか同じ整数である場合、前記第（２−（Ｍ＋１））アップサンプリングブロックをもって、（ｉ）前記第１−Ｍフィルタブロックから出力された前記テスト用第１−Ｍ特徴マップを受信し、（ｉｉ）前記第２−（Ｍ＋２）アップサンプリングブロックから出力された前記テスト用第２−（Ｍ＋２）特徴マップを受信した後、前記テスト用２−（Ｍ＋２）特徴マップのサイズを前記テスト用第１−Ｍ特徴マップと同一にリスケーリングし、（ｉｉｉ）前記テスト用第（１−Ｍ）特徴マップと前記テスト用（２−（Ｍ＋２））リスケーリング済み特徴マップに所定の演算を遂行して、前記テスト用（２−（Ｍ＋１））特徴マップを生成することで、前記テスト用第２−Ｋないし第２−２特徴マップを獲得する段階；及び
（ｅ）前記テスト装置が、前記アプリケーションブロックをもって、前記テスト用第２−Ｋないし第２−１特徴マップの少なくとも一部に対してアプリケーション−特定演算を適用して前記アプリケーション−特定出力を獲得するようにする段階；
を含むことを特徴とする方法。
【請求項１０】
前記（ｄ）段階で、
前記テスト装置は、Ｍが１以上（Ｋ−２）以下の整数である場合、前記（２−（Ｍ＋１））アップサンプリングブロックをもって（ｉ）前記テスト用第１−Ｍ特徴マップに対して前記第２−（Ｍ＋１）アップサンプリングブロック内の第１フィルタを用いたコンボリューション演算を遂行してチャネルが変更されたテスト用第１−Ｍ調整特徴マップを求めるプロセス、（ｉｉ）前記第２−（Ｍ＋２）アップサンプリングブロックから伝達された前記テスト用第２−（Ｍ＋２）特徴マップに対して前記第２−（Ｍ＋１）アップサンプリングブロック内の第２フィルタを用いたコンボリューション演算を遂行してチャネルが変更されたテスト用第２−（Ｍ＋２）調整特徴マップを獲得した後、前記テスト用第２−（Ｍ＋２）調整特徴マップに対してアップサンプリング演算を遂行して前記テスト用第２−（Ｍ＋２）リスケーリング済み特徴マップを獲得し、（ｉｉｉ）前記テスト用第１−Ｍ調整特徴マップと前記テスト用第２−（Ｍ＋２）リスケーリング済み特徴マップを演算して、前記テスト用第２−（Ｍ＋１）特徴マップを生成し、（ｉｖ）第２−（Ｍ＋１）アップサンプリングブロックから獲得したテスト用第２−（Ｍ＋１）特徴マップを第２−Ｍアップサンプリングブロックに伝達するプロセスを遂行することで、前記テスト用第２−（Ｋ−１）ないし前記第２−２特徴マップを獲得するようにすることを特徴とする請求項９に記載の方法。
【請求項１１】
前記（ｄ）段階で、
前記テスト装置は、前記第２−１アップサンプリングブロックをもって、（ｉ）前記テスト用ダウンサンプリングイメージに対して前記第２−１アップサンプリングブロック内の前記第１フィルタを用いたコンボリューション演算を遂行して前記テスト用ダウンサンプリングイメージのチャネル数が変更された調整特徴マップを求め、（ｉｉ）前記テスト用第（２−２）特徴マップに対して前記第２−１アップサンプリングブロック内の第２フィルタを用いたコンボリューション演算を遂行してチャネル数が変更されたテスト用第２−２調整特徴マップを求めた後、前記テスト用第２−２調整特徴マップに対してサイズを増やすアップサンプリング演算を遂行してテスト用第２−２リスケーリング済み特徴マップを求め、（ｉｉｉ）前記テスト用ダウンサンプリングイメージの調整特徴マップと前記テスト用第２−２リスケーリング済み特徴マップを演算して、前記テスト用第（２−１）特徴マップを生成するようにすることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記（ｄ）段階で、
前記テスト装置は、前記第（２−Ｋ）アップサンプリングブロックをもって（ｉ）前記テスト用第１−（Ｋ−１）特徴マップに対して前記第２−Ｋアップサンプリングブロック内の第１フィルタを用いたコンボリューション演算を遂行してチャネル数が変更されたテスト用第１−（Ｋ−１）調整特徴マップを求め、（ｉｉ）前記テスト用第１−Ｋ特徴マップに対してアップサンプリング演算を遂行してテスト用第１−Ｋリスケーリング済み特徴マップを求め、（ｉｉｉ）前記テスト用第１−（Ｋ−１）調整特徴マップと前記テスト用第１−Ｋリスケーリング済み特徴マップを演算して前記テスト用（２−Ｋ）特徴マップを生成し、（ｉｖ）第２−Ｋアップサンプリングブロックから獲得した前記テスト用（２−Ｋ）特徴マップを第２−（Ｋ−１）アップサンプリングブロックに伝達するようにするプロセスを遂行することで、前記テスト用２−Ｋ特徴マップを獲得するようにすることを特徴とする請求項１０に記載の方法。
【請求項１３】
（ｉ）入力イメージとしての学習イメージのサイズを減らすダウンサンプリングブロック、（ｉｉ）少なくとも一回のコンボリューション演算を遂行して各々の第１−１ないし第１−Ｋ特徴マップを各々獲得する各々の第１−１ないし第１−Ｋフィルタブロック（ｉｉｉ）前記各々の第１−１ないし第１−Ｋフィルタブロックと各々連動し、第２−ｋないし第２−１特徴マップを生成する各々の第２−Ｋないし２−１アップサンプリングブロック、（ｉｖ）前記第２−Ｋないし前記第２−１特徴マップの少なくとも一部を利用してアプリケーション−特定出力（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｏｕｔｐｕｔ）を生成するためのアプリケーションブロック、及び（ｖ）前記アプリケーションブロックで生成された前記アプリケーション−特定出力値とＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）を参照してロスを獲得するアプリケーション−特定ロスブロック（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｌｏｓｓ  ｂｌｏｃｋ）を含み、特徴アップサンプリングネットワーク（ＦＵＮ）を利用してＣＮＮの性能を向上させるための学習装置において、
前記学習イメージを受信するための通信部；
（１）前記学習イメージが入力されると、前記ダウンサンプリングブロックをもって前記入力されたイメージに所定の演算を遂行して前記入力されたイメージのサイズを減らしたダウンサンプリングイメージを獲得するようにするプロセス；（２）前記ダウンサンプリングイメージが獲得されると、前記各々の第１−１ないし第１−Ｋフィルタブロックをもって前記ダウンサンプリングイメージに対して前記少なくとも一回のコンボリューション演算を遂行して前記各々の第１−１ないし１−Ｋ特徴マップを各々獲得するようにするプロセス；（３）（Ｉ）第２−１アップサンプリングブロックをもって（ｉ）前記ダウンサンプリングブロックから前記ダウンサンプリングイメージを受信して（ｉｉ）前記第２−２アップサンプリングブロックから前記第２−２特徴マップを受信した後、前記２−２特徴マップのサイズを前記ダウンサンプリングイメージと同一にリスケーリングし、（ｉｉｉ）前記ダウンサンプリングイメージと第２−２リスケーリング済み特徴マップに所定の演算を遂行して、前記第２−１特徴マップを獲得するようにし、（ＩＩ）Ｍが１より大きいか同じ整数である場合、前記第（２−（Ｍ＋１））アップサンプリングブロックをもって、（ｉ）前記第１−Ｍフィルタブロックから出力された前記第１−Ｍ特徴マップを受信し、（ｉｉ）前記第２−（Ｍ＋２）アップサンプリングブロックから出力された前記第２−（Ｍ＋２）特徴マップを受信した後、前記２−（Ｍ＋２）特徴マップのサイズを前記第１−Ｍ特徴マップと同一にリスケーリングし、（ｉｉｉ）前記第（１−Ｍ）特徴マップと前記（２−（Ｍ＋２））リスケーリング済み特徴マップに所定の演算を遂行して、前記（２−（Ｍ＋１））特徴マップを生成することで、前記第２−Ｋないし第２−２特徴マップを獲得するようにするプロセス；（４）（ｉ）前記アプリケーションブロックをもって、前記第２−Ｋないし第２−１特徴マップの少なくとも一部に対してアプリケーション−特定演算を適用して前記アプリケーション−特定出力を獲得するようにし、（ｉｉ）前記アプリケーション−特定ロスブロックをもって、前記アプリケーション−特定出力値とＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）を参照して前記ロスを獲得するようにして、第１バックプロパゲーションプロセスに前記ロスを利用することで前記アプリケーションブロック、前記第２−Ｋないし前記第２−１アップサンプリングブロック及び前記第１−１ないし前記第１−Ｋフィルタブロックのうち少なくとも一部のパラメータを調節するプロセス；を遂行するプロセッサ；
を含むことを特徴とする装置。
【請求項１４】
前記学習装置は（ｖｉ）その各々のサイズが前記第２−１ないし前記第２−Ｋ特徴マップのサイズ各々に対応し、前記ダウン−サンプリングブロックを経ずに前記入力イメージに一つ以上のコンボリューション演算を適用して獲得した第Ｔ−１ないし第のＴ−Ｋ特徴マップを各々生成する第Ｔ−１ないし第のＴ−Ｋフィルタブロックを含むティーチャエンコーディングレイヤ（ｔｅａｃｈｅｒ  ｅｎｃｏｄｉｎｇ  ｌａｙｅｒ）、及び（ｖｉｉ）リグレッションロスブロック（ｒｅｇｒｅｓｓｉｏｎ  ｌｏｓｓ  ｂｌｏｃｋ）をさらに含み、
前記プロセッサは、（５）前記リグレッションロスブロックをもって、前記各々の第２−１ないし前記２−ｋ特徴マップと前記各々の第Ｔ−１ないし第Ｔ−ｋ特徴マップを利用してリグレッションロスを生成するようにし、第２バックプロパゲーションプロセスに前記リグレッションロスを利用することで、前記第１−１ないし前記第１−ｋフィルタブロック及び前記第２−１ないし第２−ｋアップサンプリングブロックのうち少なくとも一部のパラメータを調節するプロセス；をさらに遂行することを特徴とする請求項１３に記載の装置。
【請求項１５】
前記ティーチャエンコーディングレイヤの前記第Ｔ−１ないし第Ｔ−ｋフィルタブロックは事前学習過程を通じて得た固定されたパラメータを利用することを特徴とする請求項１４に記載の装置。
【請求項１６】
前記（３）プロセスで、
前記プロセッサは、Ｍが１以上（Ｋ−２）以下の整数である場合、前記（２−（Ｍ＋１））アップサンプリングブロックをもって（ｉ）前記第１−Ｍ特徴マップに対して前記第２−（Ｍ＋１）アップサンプリングブロック内の第１フィルタを用いたコンボリューション演算を遂行してチャネルが変更された第１−Ｍ調整特徴マップを求めるプロセス、（ｉｉ）前記第２−（Ｍ＋２）アップサンプリングブロックから伝達された前記第２−（Ｍ＋２）特徴マップに対して前記第２−（Ｍ＋１）アップサンプリングブロック内の第２フィルタを用いたコンボリューション演算を遂行してチャネルが変更された第２−（Ｍ＋２）調整特徴マップを獲得した後、前記第２−（Ｍ＋２）調整特徴マップに対してアップサンプリング演算を遂行して前記第２−（Ｍ＋２）リスケーリング済み特徴マップを獲得し、（ｉｉｉ）前記第１−Ｍ調整特徴マップと前記第２−（Ｍ＋２）リスケーリング済み特徴マップを演算して、前記第２−（Ｍ＋１）特徴マップを生成して、（ｉｖ）第２−（Ｍ＋１）アップサンプリングブロックから獲得した第２−（Ｍ＋１）特徴マップを第２−Ｍアップサンプリングブロックに伝達するプロセスを遂行することで、前記第２−（Ｋ−１）ないし前記第２−２特徴マップを獲得するようにすることを特徴とする請求項１３に記載の装置。
【請求項１７】
前記（３）プロセスで、
前記プロセッサは、前記第２−１アップサンプリングブロックをもって、（ｉ）前記ダウンサンプリングイメージに対して前記第２−１アップサンプリングブロック内の前記第１フィルタを用いたコンボリューション演算を遂行して前記ダウンサンプリングイメージのチャネル数が変更された調整特徴マップを求め、（ｉｉ）前記第（２−２）特徴マップに対して前記第２−１アップサンプリングブロック内の第２フィルタを用いたコンボリューション演算を遂行してチャネル数が変更された第２−２調整特徴マップを求めた後、前記第２−２調整特徴マップに対してサイズを増やすアップサンプリング演算を遂行して第２−２リスケーリング済み特徴マップを求め、（ｉｉｉ）前記ダウンサンプリングイメージの調整特徴マップと前記第２−２リスケーリング済み特徴マップを演算して、前記第（２−１）特徴マップを生成するようにすることを特徴とする請求項１６に記載の装置。
【請求項１８】
前記（３）プロセスで、
前記プロセッサは、前記第（２−Ｋ）アップサンプリングブロックをもって（ｉ）前記第１−（Ｋ−１）特徴マップに対して前記第２−Ｋアップサンプリングブロック内の第１フィルタを用いたコンボリューション演算を遂行してチャネル数が変更された第１−（Ｋ−１）調整特徴マップを求め、（ｉｉ）前記第１−Ｋ特徴マップに対してアップサンプリング演算を遂行して第１−Ｋリスケーリング済み特徴マップを求め、（ｉｉｉ）前記第１−（Ｋ−１）調整特徴マップと前記第１−Ｋリスケーリング済み特徴マップを演算して前記（２−Ｋ）特徴マップを生成し、（ｉｖ）第２−Ｋアップサンプリングブロックから獲得した前記（２−Ｋ）特徴マップを第２−（Ｋ−１）アップサンプリングブロックに伝達するようにするプロセスを遂行することで、前記２−Ｋ特徴マップを獲得するようにすることを特徴とする請求項１６に記載の装置。
【請求項１９】
前記第２−（Ｍ＋１）アップサンプリングブロック内の第１フィルタを用いたコンボリューション演算は前記第１−Ｍ特徴マップのチャネル数を前記第２−（Ｍ＋２）調整特徴マップのチャネル数と同一に調整するための演算であり、
前記第２−１アップサンプリングブロック内の第１フィルタを用いたコンボリューション演算は前記ダウンサンプリングイメージのチャネル数を前記第２−２調整特徴マップのチャネル数と同一に変更するための演算であることを特徴とする請求項１６に記載の装置。
【請求項２０】
前記（２）プロセスで、
前記プロセッサは、前記ダウンサンプリングブロックから獲得した前記ダウンサンプリングイメージにコンボリューション演算を遂行して生成された第１−１特徴マップを前記第１−１フィルタブロックから獲得した後、第１−Ｍフィルタブロックから獲得した第１−Ｍ特徴マップにコンボリューション演算を遂行して生成された第１−（Ｍ＋１）特徴マップを第１−（Ｍ＋１）フィルタブロックから獲得し、Ｍは２から（Ｋ−１）までの整数であることを特徴とする請求項１３に記載の装置。
【請求項２１】
アプリケーション−特定出力を獲得するために、特徴アップサンプリングネットワーク（ＦＵＮ）を備えたＣＮＮを利用して入力イメージとしてのｔｅｓｔ  ｉｍａｇｅに対する演算を適用するためのテスト装置において、
（ｉ）学習イメージのサイズを減らすダウンサンプリングブロック、（ｉｉ）コンボリューション演算を少なくとも一回遂行して各々の第１−１ないし第１−Ｋ特徴マップを獲得する各々の第１−１ないし第１−Ｋフィルタブロック；（ｉｉｉ）前記各々の第１−１ないし第１−Ｋフィルタブロックと各々連動する第２−Ｋないし２−１アップサンプリングブロック；（ｉｖ）前記第２−Ｋないし前記第２−１特徴マップの少なくとも一部を利用してアプリケーション−特定出力（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｏｕｔｐｕｔ）を生成するためのアプリケーションブロック、及び（ｖ）前記アプリケーションブロックで生成された前記アプリケーション−特定出力値とＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）を参照してロスを計算するアプリケーション−特定ロスブロック（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｌｏｓｓ  ｂｌｏｃｋ）を含む学習装置を利用して、（１）ダウンサンプリングブロックをもって前記学習イメージが獲得されると前記学習イメージに既設定された演算を加えることで学習用ダウンサンプリングイメージを獲得するようにするプロセス；（２）前記学習用ダウンサンプリングイメージが獲得されると、前記各々の第１−１ないし第１−Ｋフィルタブロックをもって前記学習用ダウンサンプリングイメージに対して前記少なくとも一回のコンボリューション演算を遂行して前記各々の学習用第１−１ないし１−Ｋ特徴マップを各々獲得するプロセス；（３）（Ｉ）第２−１アップサンプリングブロックをもって（ｉ）前記ダウンサンプリングブロックから前記ダウンサンプリングイメージを受信して（ｉｉ）前記第２−２アップサンプリングブロックから前記第２−２特徴マップを受信した後、前記２−２特徴マップのサイズを前記ダウンサンプリングイメージと同一にリスケーリングし、（ｉｉｉ）ダウンサンプリングイメージと第２−２リスケーリング済み特徴マップに所定の演算を遂行して、前記第２−１特徴マップを獲得し、（ＩＩ）Ｍが１より大きいか同じ整数である場合、前記第（２−（Ｍ＋１））アップサンプリングブロックをもって、（ｉ）前記第１−Ｍフィルタブロックから出力された前記第１−Ｍ特徴マップを受信し、（ｉｉ）前記第２−（Ｍ＋２）アップサンプリングブロックから出力された前記第２−（Ｍ＋２）特徴マップを受信した後、前記２−（Ｍ＋２）特徴マップのサイズを前記第１−Ｍ特徴マップと同一にリスケーリングし、（ｉｉｉ）前記第（１−Ｍ）特徴マップと前記（２−（Ｍ＋２））リスケーリング済み特徴マップに所定の演算を遂行して、前記（２−（Ｍ＋１））特徴マップを生成することで、前記第２−Ｋないし第２−２特徴マップを獲得するプロセス；（４）（ｉ）前記アプリケーションブロックをもって、前記学習用第２−Ｋないし第２−１特徴マップの少なくとも一部に対してアプリケーション−特定演算を適用して前記アプリケーション−特定出力を獲得するようにし、（ｉｉ）前記アプリケーション−特定ロスブロックをもって、前記アプリケーション−特定出力値とＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）を参照して前記ロスを獲得するようにして、バックプロパゲーションプロセスに前記ロスを利用することで前記アプリケーショ��ブロック、前記第２−Ｋないし前記第２−１アップサンプリングブロック及び前記第１−１ないし前記第１−Ｋフィルタブロックのうち少なくとも一部のパラメータを調節するプロセス；を遂行した状態で、前記テストイメージを獲得するための通信部；
（１）前記テストイメージが入力されると、前記ダウンサンプリングブロックをもって前記テストイメージに所定の演算を遂行して前記テストイメージのサイズを減らしたテスト用ダウンサンプリングイメージを獲得するようにするプロセス；（２）前記テスト用ダウンサンプリングイメージが獲得されると、前記各々の第１−１ないし第１−Ｋフィルタブロックをもって前記テスト用ダウンサンプリングイメージに対して前記少なくとも一回のコンボリューション演算を遂行して前記各々のテスト用第１−１ないし１−Ｋ特徴マップを各々獲得するようにするプロセス；（３）（Ｉ）第２−１アップサンプリングブロックをもって（ｉ）前記ダウンサンプリングブロックから前記テスト用ダウンサンプリングイメージを受信して（ｉｉ）前記第２−２アップサンプリングブロックから前記テスト用第２−２特徴マップを受信した後、前記テスト用２−２特徴マップのサイズを前記テスト用ダウンサンプリングイメージと同一にリスケーリングし、（ｉｉｉ）前記テスト用ダウンサンプリングイメージとテスト用第２−２リスケーリング済み特徴マップに所定の演算を遂行して、前記テスト用第２−１特徴マップを獲得して、（ＩＩ）Ｍが１より大きいか同じ整数である場合、前記第（２−（Ｍ＋１））アップサンプリングブロックをもって、（ｉ）前記第１−Ｍフィルタブロックから出力された前記テスト用第１−Ｍ特徴マップを受信し、（ｉｉ）前記第２−（Ｍ＋２）アップサンプリングブロックから出力された前記テスト用第２−（Ｍ＋２）特徴マップを受信した後、前記テスト用２−（Ｍ＋２）特徴マップのサイズを前記テスト用第１−Ｍ特徴マップと同一にリスケーリングし、（ｉｉｉ）前記テスト用第（１−Ｍ）特徴マップと前記テスト用（２−（Ｍ＋２））リスケーリング済み特徴マップに所定の演算を遂行して、前記テスト用（２−（Ｍ＋１））特徴マップを生成することで、前記テスト用第２−Ｋないし第２−２特徴マップを獲得するプロセス；及び（４）前記アプリケーションブロックをもって、前記テスト用第２−Ｋないし第２−１特徴マップの少なくとも一部に対してアプリケーション−特定演算を適用して前記アプリケーション−特定出力を獲得するようにするプロセス；を遂行するプロセッサ；
を含むことを特徴とする装置。
【請求項２２】
前記（３）プロセスで、
前記プロセッサは、Ｍが１以上（Ｋ−２）以下の整数である場合、前記（２−（Ｍ＋１））アップサンプリングブロックをもって（ｉ）前記テスト用第１−Ｍ特徴マップに対して前記第２−（Ｍ＋１）アップサンプリングブロック内の第１フィルタを用いたコンボリューション演算を遂行してチャネルが変更されたテスト用第１−Ｍ調整特徴マップを求めるプロセス、（ｉｉ）前記第２−（Ｍ＋２）アップサンプリングブロックから伝達された前記テスト用第２−（Ｍ＋２）特徴マップに対して前記第２−（Ｍ＋１）アップサンプリングブロック内の第２フィルタを用いたコンボリューション演算を遂行してチャネルが変更されたテスト用第２−（Ｍ＋２）調整特徴マップを獲得した後、前記テスト用第２−（Ｍ＋２）調整特徴マップに対してアップサンプリング演算を遂行して前記テスト用第２−（Ｍ＋２）リスケーリング済み特徴マップを獲得し、（ｉｉｉ）前記テスト用第１−Ｍ調整特徴マップと前記テスト用第２−（Ｍ＋２）リスケーリング済み特徴マップを演算して、前記テスト用第２−（Ｍ＋１）特徴マップを生成し、（ｉｖ）第２−（Ｍ＋１）アップサンプリングブロックから獲得したテスト用第２−（Ｍ＋１）特徴マップを第２−Ｍアップサンプリングブロックに伝達するプロセスを遂行することで、前記テスト用第２−（Ｋ−１）ないし前記第２−２特徴マップを獲得するようにすることを特徴とする請求項２１に記載の装置。
【請求項２３】
前記（３）プロセスで、
前記プロセッサは、前記第２−１アップサンプリングブロックをもって、（ｉ）前記テスト用ダウンサンプリングイメージに対して前記第２−１アップサンプリングブロック内の前記第１フィルタを用いたコンボリューション演算を遂行して前記テスト用ダウンサンプリングイメージのチャネル数が変更された調整特徴マップを求め、（ｉｉ）前記テスト用第（２−２）特徴マップに対して前記第２−１アップサンプリングブロック内の第２フィルタを用いたコンボリューション演算を遂行してチャネル数が変更されたテスト用第２−２調整特徴マップを求めた後、前記テスト用第２−２調整特徴マップに対してサイズを増やすアップサンプリング演算を遂行してテスト用第２−２リスケーリング済み特徴マップを求め、（ｉｉｉ）前記テスト用ダウンサンプリングイメージの調整特徴マップと前記テスト用第２−２リスケーリング済み特徴マップを演算して、前記テスト用第（２−１）特徴マップを生成するようにすることを特徴とする請求項２２に記載の装置。
【請求項２４】
前記（３）プロセスで、
前記プロセッサは、前記第（２−Ｋ）アップサンプリングブロックをもって（ｉ）前記テスト用第１−（Ｋ−１）特徴マップに対して前記第２−Ｋアップサンプリングブロック内の第１フィルタを用いたコンボリューション演算を遂行してチャネル数が変更されたテスト用第１−（Ｋ−１）調整特徴マップを求め、（ｉｉ）前記テスト用第１−Ｋ特徴マップに対してアップサンプリング演算を遂行してテスト用第１−Ｋリスケーリング済み特徴マップを求め、（ｉｉｉ）前記テスト用第１−（Ｋ−１）調整特徴マップと前記テスト用第１−Ｋリスケーリング済み特徴マップを演算して前記テスト用（２−Ｋ）特徴マップを生成し、（ｉｖ）第２−Ｋアップサンプリングブロックから獲得した前記テスト用（２−Ｋ）特徴マップを第２−（Ｋ−１）アップサンプリングブロックに伝達するようにするプロセスを遂行することで、前記テスト用２−Ｋ特徴マップを獲得するようにすることを特徴とする請求項２２に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＦＵＮ（ｆｅａｔｕｒｅ  ｕｐｓａｍｐｌｉｎｇ  ｎｅｔｗｏｒｋｓ）を用いてＣＮＮの性能を向上させるための学習方法及び学習装置、そしてこれを利用した、テスト方法及びテスト装置に関する。より詳細には、（ｉ）入力イメージのサイズを減らすダウンサンプリングブロック、（ｉｉ）少なくとも一回のコンボリューション演算を遂行して各々の第１−１ないし第１−Ｋ特徴マップを各々獲得する各々の第１−１ないし第１−Ｋフィルタブロック（ｉｉｉ）前記各々の第１−１ないし第１−Ｋフィルタブロックと各々連動し、第２−ｋないし第２−１特徴マップを生成する各々の第２−Ｋないし２−１アップサンプリングブロック、（ｉｖ）前記第２−Ｋないし前記第２−１特徴マップの少なくとも一部を利用してアプリケーション−特定出力（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｏｕｔｐｕｔ）を生成するためのアプリケーションブロック、及び（ｖ）前記アプリケーションブロックで生成された前記アプリケーション−特定出力値とＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）を参照してロスを獲得するアプリケーション−特定ロスブロック（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｌｏｓｓ  ｂｌｏｃｋ）を含む学習装置に含まれた特徴アップサンプリングネットワーク（ＦＵＮ）を利用してＣＮＮの性能を向上させるための学習方法において、（ａ）前記学習装置は、前記入力イメージが入力されると、前記ダウンサンプリングブロックをもって前記入力されたイメージにそのサイズを減らすための所定の演算を遂行して前記入力されたイメージのサイズを減らしたダウンサンプリングイメージを獲得するようにする段階；（ｂ）前記学習装置は、前記ダウンサンプリングイメージが獲得されると、前記各々の第１−１ないし第１−Ｋフィルタブロックをもって前記ダウンサンプリングイメージに対して前記少なくとも一回のコンボリューション演算を遂行して前記各々の第１−１ないし１−Ｋ特徴マップを各々獲得するようにする段階；（ｃ）前記学習装置は、（Ｉ）第２−１アップサンプリングブロックをもって（ｉ）前記ダウンサンプリングブロックから前記ダウンサンプリングイメージを受信して（ｉｉ）前記第２−２アップサンプリングブロックから前記第２−２特徴マップを受信した後、前記２−２特徴マップのサイズを前記ダウンサンプリングイメージと同一にリスケーリングし、（ｉｉｉ）前記ダウンサンプリングイメージと第２−２リスケーリング済み特徴マップに所定の演算を遂行して、前記第２−１特徴マップを獲得するようにし、（ＩＩ）Ｍが１より大きいか同じ整数である場合、前記第（２−（Ｍ＋１））アップサンプリングブロックをもって、（ｉ）前記第１−Ｍフィルタブロックから出力された前記第１−Ｍ特徴マップを受信し、（ｉｉ）前記第２−（Ｍ＋２）アップサンプリングブロックから出力された前記第２−（Ｍ＋２）特徴マップを受信した後、前記２−（Ｍ＋２）特徴マップのサイズを前記第１−Ｍ特徴マップと同一にリスケーリングし、（ｉｉｉ）前記第（１−Ｍ）特徴マップと前記（２−（Ｍ＋２））リスケーリング済み特徴マップに所定の演算を遂行して、前記（２−（Ｍ＋１））特徴マップを生成することで、前記第２−Ｋないし第２−２特徴マップを獲得するようにする段階；（ｄ）前記学習装置は、（ｉ）前記アプリケーションブロックをもって、前記第２−Ｋないし第２−１特徴マップの少なくとも一部に対してアプリケーション−特定演算を適用して前記アプリケーション−特定出力を獲得するようにし、（ｉｉ）前記アプリケーション−特定ロスブロックをもって、前記アプリケーション−特定出力値とＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）を参照して前記ロスを獲得するようにして、第１バックプロパゲーションプロセスに前記ロスを利用することで前記アプリケーションブロック、前記第２−Ｋないし前記第２−１アップサンプリングブロック及び前記第１−１ないし前記第１−Ｋフィルタブロックのうち少なくとも一部のパラメータを調節する段階；を含む学習方法及び学習装置、そしてこれを利用した、テスト方法及びテスト装置に関する。
【背景技術】
【０００２】
ディープコンボリューションニューラルネットワーク（Ｄｅｅｐ  Ｃｏｎｖｏｌｕｔｉｏｎ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ；ディープＣＮＮ）はディープラーニング分野で起きた驚くべき発展の核心である。ＣＮＮは文字認識問題を解くために９０年代に既に使用されていたが、現在のように広く使用されるようになったのは最近の研究結果のおかげである。このようなディープＣＮＮは２０１２年ＩｍａｇｅＮｅｔイメージ分類コンテストで他の競争相手に勝って優勝を収めた。そうして、コンボリューションニューラルネットワークはＭａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ分野で非常に有用なツールとなった。
【０００３】
図１は一般的なＣＮＮモデルの学習装置を示す。
【０００４】
図１を参照すれば、ＣＮＮモデル学習装置１００はフィーチャーコンピュテーションブロック１０１、アプリケーションブロック１０２及びアプリケーションロスブロック１０３から構成される。
【０００５】
フィーチャーコンピュテーションブロック１０１はイメージが入力された時、コンボリューションブロック及びその他の多様なブロック、例えばＣＲｅＬＵなどのアクティベーションレイヤ、ＦＰＮ（Ｆｅａｔｕｒｅ  Ｐｙｒａｍｉｄ  Ｎｅｔｗｏｒｋｓ）ブロックなどの組み合わせを通じて入力イメージから多様な特徴マップを生成する機能をする。
【０００６】
アプリケーションブロック１０２は生成された特徴マップを利用して当該アプリケーションに合った所望の出力を生成する機能をする。例えば、アプリケーションがイメージセグメンテーションのためのものである場合、イメージの各画素毎にその種類（例えば、人、自動車、背景、前景などの区分）を出力するようになり、アプリケーションがオブジェクトディテクションである場合、イメージ内での物体の種類と位置、サイズ情報を出力する機能をする。そして、アプリケーションロスブロック１０３はアプリケーションブロック１０２から出力された結果値とＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）を比較してロスを計算する機能をする。そして、学習装置は計算されたロスを利用したバックプロパゲーションプロセスを通じて最適のパラメータを求める。
【０００７】
そして、学習装置１００は最適のパラメータが定められてから、アプリケーションロスブロック１０３を除去して実際のイメージテスト装置として使用される。
【０００８】
図２Ａは入力イメージのサイズと演算量の関係を示したグラフであり、図２Ｂは入力イメージのサイズと検出正確度の関係を示したグラフである。
【０００９】
図２Ａ及び図２Ｂに示されたとおり、学習装置やテスト装置に含まれるＣＮＮモジュールの演算量は入力イメージサイズと比例し、イメージ検出の正確度も入力イメージサイズに比例する。
【００１０】
この時、ＣＮＮ演算装置でＣＮＮ演算を速くする方法は入力イメージを減らすことだが、入力イメージを減らすようになれば、演算量が減ってＣＮＮ演算が速くなる長所はあるが、図２Ｂに示されたとおり、オブジェクトディテクション正確度は低下する問題点が発生する。併せて、他のアプリケーションブロック利用時にも入力イメージが減るようになれば、アプリケーション結果値の正確度が落ちる問題点が発生する。
【００１１】
図３は従来技術にかかるＦＰＮ（Ｆｅａｔｕｒｅ  Ｐｙｒａｍｉｄ  Ｎｅｔｗｏｒｋｓ）の構成を備えた従来のＣＮＮを利用した特徴マップ生成過程を示したフローチャートである。
【００１２】
図３を参照すれば、従来のＣＮＮモデルのフィーチャーコンピュテーションブロック１０１はコンボリューション演算のため多数のコンボリューションブロック、即ち、第１−１フィルタブロック、第１−２フィルタブロック、第１−３フィルタブロック、…、第１−Ｋフィルタブロックを含む。そして、図３に示されたとおり、第１−１ないし第１−Ｋフィルタブロックは多数のコンボリューションレイヤとＲｅＬＵレイヤなどのアクティベーションレイヤが交互に任意の数だけ反復される構造からなっており、コンボリューション演算と非線形演算を反復して遂行する。
【００１３】
そして、第１−１フィルタブロックは入力イメージから第１−１特徴マップを生成し、第１−２フィルタブロックは第１−１特徴マップから第１−２特徴マップを生成して、第１−３フィルタブロックは第１−２特徴マップから第１−３特徴マップを生成し、第１−４フィルタブロックは第１−３特徴マップから第１−４特徴マップを生成する方式で多数のフィルタブロックが順次特徴マップを生成する。
【００１４】
各第１−１フィルタブロックないし第１−Ｋフィルタブロックは入力されたイメージのサイズを減らしてチャネルを増加させるため、第１−１フィルタブロックにサイズがＷ×Ｈ×３（各々横サイズ、縦サイズ、チャネルサイズを意味する）であるイメージが入力されると、第１−１特徴マップはＷ／２×Ｈ／２×Ｃのサイズを有し、第１−２特徴マップはＷ／４×Ｈ／４×２Ｃ、第１−３特徴マップはＷ／８×Ｈ／８×４Ｃ、第１−４特徴マップはＷ／１６×Ｈ／１６×８Ｃ、…、のサイズを有する。かかるコンボリューションブロック（第１−１フィルタブロックないし第１−Ｋフィルタブロック）は多様なサイズの特徴マップを作り出す。この時、１番目の因子、例えば、Ｗ、Ｗ／２、Ｗ／４は入力イメージのｗｉｄｔｈ（幅）を示し、２番目の因子、例えば、Ｈ、Ｈ／２、Ｈ／４は入力イメージのｈｅｉｇｈｔ（高さ）を示し、３番目の因子、例えば、３、Ｃ、２Ｃはそのチャネル数を示す。
【００１５】
再び図３を参照すれば、そして多数のＦＰＮ（Ｆｅａｔｕｒｅ  Ｐｙｒａｍｉｄ  Ｎｅｔｗｏｒｋｓ）ブロック（第１ＦＰＮないし第（Ｋ−１）ＦＰＮ）がコンボリューションブロック（第１−１フィルタブロックないし第１−Ｋフィルタブロック）の演算方向と反対方向に連結される。各ＦＰＮブロックはその対応する各フィルタブロックから伝達された特徴マップのチャネルを変更するための１×１コンボリューションフィルタ、隣接する以前のＦＰＮブロックから伝達された特徴マップのサイズを２倍増加させるためのアップサンプリング部、そして１×１コンボリューションフィルタの出力とアップサンプリング部の出力を合算して出力する合算部を含む。前記アップサンプリング部は以前のＦＰＮブロックから伝達された特徴マップのサイズを対応するフィルタブロックから伝達された特徴マップのサイズに合わせるようにサイズを増加させる機能をする。
【００１６】
図３で第４ＦＰＮはＷ／１６×Ｈ／１６×８Ｃサイズの第１−４特徴マップを第１−４フィルタブロックから伝達されてそのサイズを変化させずに第１−４特徴マップのチャネル数を８ＣからＤに変換する。また、第４ＦＰＮはＷ／３２×Ｈ／３２×Ｄサイズの第Ｐ−５特徴マップを第５ＦＰＮブロックから伝達されて第Ｐ−５特徴マップをＷ／１６×Ｈ／１６×Ｄにサイズ変換する。それから、これらを結合してＷ／１６×Ｈ／１６×Ｄの第Ｐ−４特徴マップを生成して第３ＦＰＮに出力する。第３ＦＰＮはＷ／８×Ｈ／８×４Ｃサイズの第１−３特徴マップを第１−３フィルタブロックから伝達されてＷ／８×Ｈ／８×Ｄにチャネル変換し、Ｗ／１６×Ｈ／１６×Ｄサイズの第Ｐ−４特徴マップを第４ＦＰＮから伝達されてＷ／８×Ｈ／８×Ｄにサイズ変換した後、これらを結合してＷ／８×Ｈ／８×Ｄの第Ｐ−３特徴マップを生成して第２ＦＰＮに出力する。第２ＦＰＮはＷ／４×Ｈ／４×２Ｃサイズの第１−２特徴マップを第１−２フィルタブロックから伝達されてＷ／４×Ｈ／４×Ｄにチャネル変換し、Ｗ／８×Ｈ／８×Ｄサイズの第Ｐ−３特徴マップを第３ＦＰＮから伝達されてＷ／４×Ｈ／４×Ｄにサイズ変換した後、これらを結合してＷ／４×Ｈ／４×Ｄの第Ｐ−２特徴マップを生成して第１ＦＰＮに出力する。第１ＦＰＮはＷ／２×Ｈ／２×Ｃサイズの第１−１特徴マップを第１−１フィルタブロックから伝達されてＷ／２×Ｈ／２×Ｄにチャネル変換し、Ｗ／４×Ｈ／４×Ｄサイズの第Ｐ−２特徴マップを第２ＦＰＮから伝達されてＷ／２×Ｈ／２×Ｄにサイズ変換した後、これらを結合してＷ／２×Ｈ／２×Ｄの第Ｐ−１特徴マップを生成して出力する。しかし、かかるＦＰＮ方式は演算量が相当なので、多様なアプリケーションブロック１０２に適用し難い点があった。
【００１７】
従って、本発明ではＣＮＮ演算速度も増加させながらオブジェクトディテクション正確度などアプリケーション結果物の正確度は維持させることができる新しい特徴マップ生成方法を提供しようとする。
【発明の概要】
【発明が解決しようとする課題】
【００１８】
本発明はＣＮＮ装置で演算速度を増加させることができる方法を提供することを目的とする。
【００１９】
また、本発明はＣＮＮ装置で演算速度増加と共にアプリケーション結果物の正確度が低下しない方法を提供することを目的とする。
【課題を解決するための手段】
【００２０】
本発明の一態様によれば、（ｉ）入力イメージのサイズを減らすダウンサンプリングブロック、（ｉｉ）少なくとも一回のコンボリューション演算を遂行して各々の第１−１ないし第１−Ｋ特徴マップを各々獲得する各々の第１−１ないし第１−Ｋフィルタブロック（ｉｉｉ）前記各々の第１−１ないし第１−Ｋフィルタブロックと各々連動し、第２−ｋないし第２−１特徴マップを生成する各々の第２−Ｋないし２−１アップサンプリングブロック、（ｉｖ）前記第２−Ｋないし前記第２−１特徴マップの少なくとも一部を利用してアプリケーション−特定出力（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｏｕｔｐｕｔ）を生成するためのアプリケーションブロック、及び（ｖ）前記アプリケーションブロックで生成された前記アプリケーション−特定出力値とＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）を参照してロスを獲得するアプリケーション−特定ロスブロック（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｌｏｓｓ  ｂｌｏｃｋ）を含む学習装置に含まれた特徴アップサンプリングネットワーク（ＦＵＮ）を利用してＣＮＮの性能を向上させるための学習方法は、（ａ）前記学習装置は、前記入力イメージが入力されると、前記ダウンサンプリングブロックをもって前記入力されたイメージにそのサイズを減らすための所定の演算を遂行して前記入力されたイメージのサイズを減らしたダウンサンプリングイメージを獲得するようにする段階；（ｂ）前記学習装置は、前記ダウンサンプリングイメージが獲得されると、前記各々の第１−１ないし第１−Ｋフィルタブロックをもって前記ダウンサンプリングイメージに対して前記少なくとも一回のコンボリューション演算を遂行して前記各々の第１−１ないし１−Ｋ特徴マップを各々獲得するようにする段階；（ｃ）前記学習装置は、（Ｉ）第２−１アップサンプリングブロックをもって（ｉ）前記ダウンサンプリングブロックから前記ダウンサンプリングイメージを受信して（ｉｉ）前記第２−２アップサンプリングブロックから前記第２−２特徴マップを受信した後、前記２−２特徴マップのサイズを前記ダウンサンプリングイメージと同一にリスケーリングし、（ｉｉｉ）前記ダウンサンプリングイメージと第２−２リスケーリング済み特徴マップに所定の演算を遂行して、前記第２−１特徴マップを獲得するようにし、（ＩＩ）Ｍが１より大きいか同じ整数である場合、前記第（２−（Ｍ＋１））アップサンプリングブロックをもって、（ｉ）前記第１−Ｍフィルタブロックから出力された前記第１−Ｍ特徴マップを受信し、（ｉｉ）前記第２−（Ｍ＋２）アップサンプリングブロックから出力された前記第２−（Ｍ＋２）特徴マップを受信した後、前記２−（Ｍ＋２）特徴マップのサイズを前記第１−Ｍ特徴マップと同一にリスケーリングし、（ｉｉｉ）前記第（１−Ｍ）特徴マップと前記（２−（Ｍ＋２））リスケーリング済み特徴マップに所定の演算を遂行して、前記（２−（Ｍ＋１））特徴マップを生成することで、前記第２−Ｋないし第２−２特徴マップを獲得するようにする段階；（ｄ）前記学習装置は、（ｉ）前記アプリケーションブロックをもって、前記第２−Ｋないし第２−１特徴マップの少なくとも一部に対してアプリケーション−特定演算を適���して前記アプリケーション−特定出力を獲得するようにし、（ｉｉ）前記アプリケーション−特定ロスブロックをもって、前記アプリケーション−特定出力値とＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）を参照して前記ロスを獲得するようにして、第１バックプロパゲーションプロセスに前記ロスを利用することで前記アプリケーションブロック、前記第２−Ｋないし前記第２−１アップサンプリングブロック及び前記第１−１ないし前記第１−Ｋフィルタブロックのうち少なくとも一部のパラメータを調節する段階；を含むことを特徴とする方法が提供される。
【００２１】
一例として、前記学習装置は（ｖｉ）その各々のサイズが前記第２−１ないし前記第２−Ｋ特徴マップのサイズ各々に対応し、前記ダウン−サンプリングブロックを経ずに前記入力イメージに一つ以上のコンボリューション演算を適用して獲得した第Ｔ−１ないし第のＴ−Ｋ特徴マップを各々生成する第Ｔ−１ないし第のＴ−Ｋフィルタブロックを含むティーチャエンコーディングレイヤ（ｔｅａｃｈｅｒ  ｅｎｃｏｄｉｎｇ  ｌａｙｅｒ）、及び（ｖｉｉ）リグレッションロスブロック（ｒｅｇｒｅｓｓｉｏｎ  ｌｏｓｓ  ｂｌｏｃｋ）をさらに含み、前記方法は、（ｅ）前記学習装置が、前記リグレッションロスブロックをもって、前記各々の第２−１ないし前記２−ｋ特徴マップと前記各々の第Ｔ−１ないし第Ｔ−ｋ特徴マップを利用してリグレッションロスを生成するようにし、第２バックプロパゲーションプロセスに前記リグレッションロスを利用することで、前記第１−１ないし前記第１−ｋフィルタブロック及び前記第２−１ないし第２−ｋアップサンプリングブロックのうち少なくとも一部のパラメータを調節する段階；をさらに含むことを特徴とする方法が提供される。
【００２２】
一例として、前記ティーチャエンコーディングレイヤの前記第Ｔ−１ないし第Ｔ−ｋフィルタブロックは事前学習過程を通じて得た固定されたパラメータを利用することを特徴とする方法が提供される。
【００２３】
一例として、前記（ｃ）段階で、前記学習装置は、Ｍが１以上（Ｋ−２）以下の整数である場合、前記（２−（Ｍ＋１））アップサンプリングブロックをもって（ｉ）前記第１−Ｍ特徴マップに対して前記第２−（Ｍ＋１）アップサンプリングブロック内の第１フィルタを用いたコンボリューション演算を遂行してチャネルが変更された第１−Ｍ調整特徴マップを求めるプロセス、（ｉｉ）前記第２−（Ｍ＋２）アップサンプリングブロックから伝達された前記第２−（Ｍ＋２）特徴マップに対して前記第２−（Ｍ＋１）アップサンプリングブロック内の第２フィルタを用いたコンボリューション演算を遂行してチャネルが変更された第２−（Ｍ＋２）調整特徴マップを獲得した後、前記第２−（Ｍ＋２）調整特徴マップに対してアップサンプリング演算を遂行して前記第２−（Ｍ＋２）リスケーリング済み特徴マップを獲得し、（ｉｉｉ）前記第１−Ｍ調整特徴マップと前記第２−（Ｍ＋２）リスケーリング済み特徴マップを演算して、前記第２−（Ｍ＋１）特徴マップを生成し、（ｉｖ）第２−（Ｍ＋１）アップサンプリングブロックから獲得した第２−（Ｍ＋１）特徴マップを第２−Ｍアップサンプリングブロックに伝達するプロセスを遂行することで、前記第２−（Ｋ−１）ないし前記第２−２特徴マップを獲得するようにすることを特徴とする方法が提供される。
【００２４】
一例として、前記（ｃ）段階で、前記学習装置は、前記第２−１アップサンプリングブロックをもって、（ｉ）前記ダウンサンプリングイメージに対して前記第２−１アップサンプリングブロック内の前記第１フィルタを用いたコンボリューション演算を遂行して前記ダウンサンプリングイメージのチャネル数が変更された調整特徴マップを求め、（ｉｉ）前記第（２−２）特徴マップに対して前記第２−１アップサンプリングブロック内の第２フィルタを用いたコンボリューション演算を遂行してチャネル数が変更された第２−２調整特徴マップを求めた後、前記第２−２調整特徴マップに対してサイズを増やすアップサンプリング演算を遂行して第２−２リスケーリング済み特徴マップを求め、（ｉｉｉ）前記ダウンサンプリングイメージの調整特徴マップと前記第２−２リスケーリング済み特徴マップを演算して、前記第（２−１）特徴マップを生成するようにすることを特徴とする方法が提供される。
【００２５】
一例として、前記（ｃ）段階で、前記学習装置は、前記第（２−Ｋ）アップサンプリングブロックをもって（ｉ）前記第１−（Ｋ−１）特徴マップに対して前記第２−Ｋアップサンプリングブロック内の第１フィルタを用いたコンボリューション演算を遂行してチャネル数が変更された第１−（Ｋ−１）調整特徴マップを求め、（ｉｉ）前記第１−Ｋ特徴マップに対してアップサンプリング演算を遂行して第１−Ｋリスケーリング済み特徴マップを求め、（ｉｉｉ）前記第１−（Ｋ−１）調整特徴マップと前記第１−Ｋリスケーリング済み特徴マップを演算して前記（２−Ｋ）特徴マップを生成し、（ｉｖ）第２−Ｋアップサンプリングブロックから獲得した前記（２−Ｋ）特徴マップを第２−（Ｋ−１）アップサンプリングブロックに伝達するようにするプロセスを遂行することで、前記２−Ｋ特徴マップを獲得するようにすることを特徴とする方法が提供される。
【００２６】
一例として、前記第２−（Ｍ＋１）アップサンプリングブロック内の第１フィルタを用いたコンボリューション演算は前記第１−Ｍ特徴マップのチャネル数を前記第２−（Ｍ＋２）調整特徴マップのチャネル数と同一に調整するための演算であり、前記第２−１アップサンプリングブロック内の第１フィルタを用いたコンボリューション演算は前記ダウンサンプリングイメージのチャネル数を前記第２−２調整特徴マップのチャネル数と同一に変更するための演算であることを特徴とする方法が提供される。
【００２７】
一例として、前記（ｂ）段階で、前記学習装置は、前記ダウンサンプリングブロックから獲得した前記ダウンサンプリングイメージにコンボリューション演算を遂行して生成された第１−１特徴マップを前記第１−１フィルタブロックから獲得した後、第１−Ｍフィルタブロックから獲得した第１−Ｍ特徴マップにコンボリューション演算を遂行して生成された第１−（Ｍ＋１）特徴マップを第１−（Ｍ＋１）フィルタブロックから獲得し、Ｍは２から（Ｋ−１）までの整数であることを特徴とする方法が提供される。
【００２８】
本発明の他の態様によれば、アプリケーション−特定出力を獲得するためのテスト装置内に含まれた特徴アップサンプリングネットワーク（ＦＵＮ）を備えたＣＮＮを利用して入力イメージとしてのｔｅｓｔ  ｉｍａｇｅに対する演算を適用するためのテスト方法は、（ａ）（ｉ）学習イメージのサイズを減らすダウンサンプリングブロック、（ｉｉ）コンボリューション演算を少なくとも一回遂行して各々の第１−１ないし第１−Ｋ特徴マップを獲得する各々の第１−１ないし第１−Ｋフィルタブロック；（ｉｉｉ）前記各々の第１−１ないし第１−Ｋフィルタブロックと各々連動する第２−Ｋないし２−１アップサンプリングブロック；（ｉｖ）前記第２−Ｋないし前記第２−１特徴マップの少なくとも一部を利用してアプリケーション−特定出力（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｏｕｔｐｕｔ）を生成するためのアプリケーションブロック、及び（ｖ）前記アプリケーションブロックで生成された前記アプリケーション−特定出力値とＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）を参照してロスを獲得するアプリケーション−特定ロスブロック（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｌｏｓｓ  ｂｌｏｃｋ）を含む学習装置を利用して、（１）ダウンサンプリングブロックをもって前記学習イメージが獲得されると、そのサイズを減らすために前記学習イメージに既設定された演算を加えることで学習用ダウンサンプリングイメージを獲得するようにするプロセス；（２）前記学習用ダウンサンプリングイメージが獲得されると、前記各々の第１−１ないし第１−Ｋフィルタブロックをもって前記学習用ダウンサンプリングイメージに対して前記少なくとも一回のコンボリューション演算を遂行して前記各々の学習用第１−１ないし１−Ｋ特徴マップを各々獲得するプロセス；（３）（Ｉ）第２−１アップサンプリングブロックをもって（ｉ）前記ダウンサンプリングブロックから前記ダウンサンプリングイメージを受信して（ｉｉ）前記第２−２アップサンプリングブロックから前記第２−２特徴マップを受信した後、前記２−２特徴マップのサイズを前記ダウンサンプリングイメージと同一にリスケーリングし、（ｉｉｉ）ダウンサンプリングイメージと第２−２リスケーリング済み特徴マップに所定の演算を遂行して、前記第２−１特徴マップを獲得し、（ＩＩ）Ｍが１より大きいか同じ整数である場合、前記第（２−（Ｍ＋１））アップサンプリングブロックをもって、（ｉ）前記第１−Ｍフィルタブロックから出力された前記第１−Ｍ特徴マップを受信し、（ｉｉ）前記第２−（Ｍ＋２）アップサンプリングブロックから出力された前記第２−（Ｍ＋２）特徴マップを受信した後、前記２−（Ｍ＋２）特徴マップのサイズを前記第１−Ｍ特徴マップと同一にリスケーリングし、（ｉｉｉ）前記第（１−Ｍ）特徴マップと前記（２−（Ｍ＋２））リスケーリング済み特徴マップに所定の演算を遂行して、前記（２−（Ｍ＋１））特徴マップを生成することで、前記第２−Ｋないし第２−２特徴マップを獲得するプロセス；（４）（ｉ）前記アプリケーションブロックをもって、前記学習用第２−Ｋないし第２−１特徴マップの少なくとも一部に対してアプリケーション−特定演算を適用して前記アプリケー��ョン−特定出力を獲得するようにし、（ｉｉ）前記アプリケーション−特定ロスブロックをもって、前記アプリケーション−特定出力値とＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）を参照して前記ロスを獲得するようにして、バックプロパゲーションプロセスに前記ロスを利用することで前記アプリケーションブロック、前記第２−Ｋないし前記第２−１アップサンプリングブロック及び前記第１−１ないし前記第１−Ｋフィルタブロックのうち少なくとも一部のパラメータを調節するプロセス；を遂行した状態で、前記テストイメージを獲得する段階；（ｂ）前記テスト装置が、前記テストイメージが入力されると、前記ダウンサンプリングブロックをもって前記テストイメージにそのサイズを減らすための所定の演算を遂行して前記テストイメージのサイズを減らしたテスト用ダウンサンプリングイメージを獲得するようにする段階；（ｃ）前記テスト装置は、前記テスト用ダウンサンプリングイメージが獲得されると、前記各々の第１−１ないし第１−Ｋフィルタブロックをもって前記テスト用ダウンサンプリングイメージに対して前記少なくとも一回のコンボリューション演算を遂行して前記各々のテスト用第１−１ないし１−Ｋ特徴マップを各々獲得するようにする段階；（ｄ）前記テスト装置は、（Ｉ）第２−１アップサンプリングブロックをもって（ｉ）前記ダウンサンプリングブロックから前記テスト用ダウンサンプリングイメージを受信して（ｉｉ）前記第２−２アップサンプリングブロックから前記テスト用第２−２特徴マップを受信した後、前記テスト用２−２特徴マップのサイズを前記テスト用ダウンサンプリングイメージと同一にリスケーリングし、（ｉｉｉ）前記テスト用ダウンサンプリングイメージとテスト用第２−２リスケーリング済み特徴マップに所定の演算を遂行して、前記テスト用第２−１特徴マップを獲得し、（ＩＩ）Ｍが１より大きいか同じ整数である場合、前記第（２−（Ｍ＋１））アップサンプリングブロックをもって、（ｉ）前記第１−Ｍフィルタブロックから出力された前記テスト用第１−Ｍ特徴マップを受信し、（ｉｉ）前記第２−（Ｍ＋２）アップサンプリングブロックから出力された前記テスト用第２−（Ｍ＋２）特徴マップを受信した後、前記テスト用２−（Ｍ＋２）特徴マップのサイズを前記テスト用第１−Ｍ特徴マップと同一にリスケーリングし、（ｉｉｉ）前記テスト用第（１−Ｍ）特徴マップと前記テスト用（２−（Ｍ＋２））リスケーリング済み特徴マップに所定の演算を遂行して、前記テスト用（２−（Ｍ＋１））特徴マップを生成することで、前記テスト用第２−Ｋないし第２−２特徴マップを獲得する段階；及び（ｅ）前記テスト装置が、前記アプリケーションブロックをもって、前記テスト用第２−Ｋないし第２−１特徴マップの少なくとも一部に対してアプリケーション−特定演算を適用して前記アプリケーション−特定出力を獲得するようにする段階；を含むことを特徴とする方法が提供される。
【００２９】
一例として、前記（ｄ）段階で、前記テスト装置は、Ｍが１以上（Ｋ−２）以下の整数である場合、前記（２−（Ｍ＋１））アップサンプリングブロックをもって（ｉ）前記テスト用第１−Ｍ特徴マップに対して前記第２−（Ｍ＋１）アップサンプリングブロック内の第１フィルタを用いたコンボリューション演算を遂行してチャネルが変更されたテスト用第１−Ｍ調整特徴マップを求めるプロセス、（ｉｉ）前記第２−（Ｍ＋２）アップサンプリングブロックから伝達された前記テスト用第２−（Ｍ＋２）特徴マップに対して前記第２−（Ｍ＋１）アップサンプリングブロック内の第２フィルタを用いたコンボリューション演算を遂行してチャネルが変更されたテスト用第２−（Ｍ＋２）調整特徴マップを獲得した後、前記テスト用第２−（Ｍ＋２）調整特徴マップに対してアップサンプリング演算を遂行して前記テスト用第２−（Ｍ＋２）リスケーリング済み特徴マップを獲得し、（ｉｉｉ）前記テスト用第１−Ｍ調整特徴マップと前記テスト用第２−（Ｍ＋２）リスケーリング済み特徴マップを演算して、前記テスト用第２−（Ｍ＋１）特徴マップを生成し、（ｉｖ）第２−（Ｍ＋１）アップサンプリングブロックから獲得したテスト用第２−（Ｍ＋１）特徴マップを第２−Ｍアップサンプリングブロックに伝達するプロセスを遂行することで、前記テスト用第２−（Ｋ−１）ないし前記第２−２特徴マップを獲得するようにすることを特徴とする方法が提供される。
【００３０】
一例として、前記（ｄ）段階で、前記テスト装置は、前記第２−１アップサンプリングブロックをもって、（ｉ）前記テスト用ダウンサンプリングイメージに対して前記第２−１アップサンプリングブロック内の前記第１フィルタを用いたコンボリューション演算を遂行して前記テスト用ダウンサンプリングイメージのチャネル数が変更された調整特徴マップを求め、（ｉｉ）前記テスト用第（２−２）特徴マップに対して前記第２−１アップサンプリングブロック内の第２フィルタを用いたコンボリューション演算を遂行してチャネル数が変更されたテスト用第２−２調整特徴マップを求めた後、前記テスト用第２−２調整特徴マップに対してサイズを増やすアップサンプリング演算を遂行してテスト用第２−２リスケーリング済み特徴マップを求め、（ｉｉｉ）前記テスト用ダウンサンプリングイメージの調整特徴マップと前記テスト用第２−２リスケーリング済み特徴マップを演算して、前記テスト用第（２−１）特徴マップを生成するようにすることを特徴とする方法が提供される。
【００３１】
一例として、前記（ｄ）段階で、前記テスト装置は、前記第（２−Ｋ）アップサンプリングブロックをもって（ｉ）前記テスト用第１−（Ｋ−１）特徴マップに対して前記第２−Ｋアップサンプリングブロック内の第１フィルタを用いたコンボリューション演算を遂行してチャネル数が変更されたテスト用第１−（Ｋ−１）調整特徴マップを求め、（ｉｉ）前記テスト用第１−Ｋ特徴マップに対してアップサンプリング演算を遂行してテスト用第１−Ｋリスケーリング済み特徴マップを求め、（ｉｉｉ）前記テスト用第１−（Ｋ−１）調整特徴マップと前記テスト用第１−Ｋリスケーリング済み特徴マップを演算して前記テスト用（２−Ｋ）特徴マップを生成し、（ｉｖ）第２−Ｋアップサンプリングブロックから獲得した前記テスト用（２−Ｋ）特徴マップを第２−（Ｋ−１）アップサンプリングブロックに伝達するようにするプロセスを遂行することで、前記テスト用２−Ｋ特徴マップを獲得するようにすることを特徴とする方法が提供される。
【００３２】
本発明のまた他の態様によれば、（ｉ）入力イメージとしての学習イメージのサイズを減らすダウンサンプリングブロック、（ｉｉ）少なくとも一回のコンボリューション演算を遂行して各々の第１−１ないし第１−Ｋ特徴マップを各々獲得する各々の第１−１ないし第１−Ｋフィルタブロック（ｉｉｉ）前記各々の第１−１ないし第１−Ｋフィルタブロックと各々連動し、第２−ｋないし第２−１特徴マップを生成する各々の第２−Ｋないし２−１アップサンプリングブロック、（ｉｖ）前記第２−Ｋないし前記第２−１特徴マップの少なくとも一部を利用してアプリケーション−特定出力（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｏｕｔｐｕｔ）を生成するためのアプリケーションブロック、及び（ｖ）前記アプリケーションブロックで生成された前記アプリケーション−特定出力値とＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）を参照してロスを獲得するアプリケーション−特定ロスブロック（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｌｏｓｓ  ｂｌｏｃｋ）を含み、特徴アップサンプリングネットワーク（ＦＵＮ）を利用してＣＮＮの性能を向上させるための学習装置は、前記学習イメージを受信するための通信部；（１）前記学習イメージが入力されると、前記ダウンサンプリングブロックをもって前記入力されたイメージにそのサイズを減らすための所定の演算を遂行して前記入力されたイメージのサイズを減らしたダウンサンプリングイメージを獲得するようにするプロセス；（２）前記ダウンサンプリングイメージが獲得されると、前記各々の第１−１ないし第１−Ｋフィルタブロックをもって前記ダウンサンプリングイメージに対して前記少なくとも一回のコンボリューション演算を遂行して前記各々の第１−１ないし１−Ｋ特徴マップを各々獲得するようにするプロセス；（３）（Ｉ）第２−１アップサンプリングブロックをもって（ｉ）前記ダウンサンプリングブロックから前記ダウンサンプリングイメージを受信して（ｉｉ）前記第２−２アップサンプリングブロックから前記第２−２特徴マップを受信した後、前記２−２特徴マップのサイズを前記ダウンサンプリングイメージと同一にリスケーリングし、（ｉｉｉ）前記ダウンサンプリングイメージと第２−２リスケーリング済み特徴マップに所定の演算を遂行して、前記第２−１特徴マップを獲得するようにし、（ＩＩ）Ｍが１より大きいか同じ整数である場合、前記第（２−（Ｍ＋１））アップサンプリングブロックをもって、（ｉ）前記第１−Ｍフィルタブロックから出力された前記第１−Ｍ特徴マップを受信し、（ｉｉ）前記第２−（Ｍ＋２）アップサンプリングブロックから出力された前記第２−（Ｍ＋２）特徴マップを受信した後、前記２−（Ｍ＋２）特徴マップのサイズを前記第１−Ｍ特徴マップと同一にリスケーリングし、（ｉｉｉ）前記第（１−Ｍ）特徴マップと前記（２−（Ｍ＋２））リスケーリング済み特徴マップに所定の演算を遂行して、前記（２−（Ｍ＋１））特徴マップを生成することで、前記第２−Ｋないし第２−２特徴マップを獲得するようにするプロセス；（４）（ｉ）前記アプリケーションブロックをもって、前記第２−Ｋないし第２−１特徴マップの少なくとも一部に対してアプリケーション−特定演算を適用���て前記アプリケーション−特定出力を獲得するようにし、（ｉｉ）前記アプリケーション−特定ロスブロックをもって、前記アプリケーション−特定出力値とＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）を参照して前記ロスを獲得するようにして、第１バックプロパゲーションプロセスに前記ロスを利用することで前記アプリケーションブロック、前記第２−Ｋないし前記第２−１アップサンプリングブロック及び前記第１−１ないし前記第１−Ｋフィルタブロックのうち少なくとも一部のパラメータを調節するプロセス；を遂行するプロセッサ；を含むことを特徴とする装置が提供される。
【００３３】
一例として、前記学習装置は（ｖｉ）その各々のサイズが前記第２−１ないし前記第２−Ｋ特徴マップのサイズ各々に対応し、前記ダウン−サンプリングブロックを経ずに前記入力イメージに一つ以上のコンボリューション演算を適用して獲得した第Ｔ−１ないし第のＴ−Ｋ特徴マップを各々生成する第Ｔ−１ないし第のＴ−Ｋフィルタブロックを含むティーチャエンコーディングレイヤ（ｔｅａｃｈｅｒ  ｅｎｃｏｄｉｎｇ  ｌａｙｅｒ）、及び（ｖｉｉ）リグレッションロスブロック（ｒｅｇｒｅｓｓｉｏｎ  ｌｏｓｓ  ｂｌｏｃｋ）をさらに含み、前記プロセッサは、（５）前記リグレッションロスブロックをもって、前記各々の第２−１ないし前記２−ｋ特徴マップと前記各々の第Ｔ−１ないし第Ｔ−ｋ特徴マップを利用してリグレッションロスを生成するようにし、第２バックプロパゲーションプロセスに前記リグレッションロスを利用することで、前記第１−１ないし前記第１−ｋフィルタブロック及び前記第２−１ないし第２−ｋアップサンプリングブロックのうち少なくとも一部のパラメータを調節するプロセス；をさらに遂行することを特徴とする装置が提供される。
【００３４】
一例として、前記ティーチャエンコーディングレイヤの前記第Ｔ−１ないし第Ｔ−ｋフィルタブロックは事前学習過程を通じて得た固定されたパラメータを利用することを特徴とする装置が提供される。
【００３５】
一例として、前記（３）プロセスで、前記プロセッサは、Ｍが１以上（Ｋ−２）以下の整数である場合、前記（２−（Ｍ＋１））アップサンプリングブロックをもって（ｉ）前記第１−Ｍ特徴マップに対して前記第２−（Ｍ＋１）アップサンプリングブロック内の第１フィルタを用いたコンボリューション演算を遂行してチャネルが変更された第１−Ｍ調整特徴マップを求めるプロセス、（ｉｉ）前記第２−（Ｍ＋２）アップサンプリングブロックから伝達された前記第２−（Ｍ＋２）特徴マップに対して前記第２−（Ｍ＋１）アップサンプリングブロック内の第２フィルタを用いたコンボリューション演算を遂行してチャネルが変更された第２−（Ｍ＋２）調整特徴マップを獲得した後、前記第２−（Ｍ＋２）調整特徴マップに対してアップサンプリング演算を遂行して前記第２−（Ｍ＋２）リスケーリング済み特徴マップを獲得し、（ｉｉｉ）前記第１−Ｍ調整特徴マップと前記第２−（Ｍ＋２）リスケーリング済み特徴マップを演算して、前記第２−（Ｍ＋１）特徴マップを生成して、（ｉｖ）第２−（Ｍ＋１）アップサンプリングブロックから獲得した第２−（Ｍ＋１）特徴マップを第２−Ｍアップサンプリングブロックに伝達するプロセスを遂行することで、前記第２−（Ｋ−１）ないし前記第２−２特徴マップを獲得するようにすることを特徴とする装置が提供される。
【００３６】
一例として、前記（３）プロセスで、前記プロセッサは、前記第２−１アップサンプリングブロックをもって、（ｉ）前記ダウンサンプリングイメージに対して前記第２−１アップサンプリングブロック内の前記第１フィルタを用いたコンボリューション演算を遂行して前記ダウンサンプリングイメージのチャネル数が変更された調整特徴マップを求め、（ｉｉ）前記第（２−２）特徴マップに対して前記第２−１アップサンプリングブロック内の第２フィルタを用いたコンボリューション演算を遂行してチャネル数が変更された第２−２調整特徴マップを求めた後、前記第２−２調整特徴マップに対してサイズを増やすアップサンプリング演算を遂行して第２−２リスケーリング済み特徴マップを求め、（ｉｉｉ）前記ダウンサンプリングイメージの調整特徴マップと前記第２−２リスケーリング済み特徴マップを演算して、前記第（２−１）特徴マップを生成するようにすることを特徴とする装置が提供される。
【００３７】
一例として、前記（３）プロセスで、前記プロセッサは、前記第（２−Ｋ）アップサンプリングブロックをもって（ｉ）前記第１−（Ｋ−１）特徴マップに対して前記第２−Ｋアップサンプリングブロック内の第１フィルタを用いたコンボリューション演算を遂行してチャネル数が変更された第１−（Ｋ−１）調整特徴マップを求め、（ｉｉ）前記第１−Ｋ特徴マップに対してアップサンプリング演算を遂行して第１−Ｋリスケーリング済み特徴マップを求め、（ｉｉｉ）前記第１−（Ｋ−１）調整特徴マップと前記第１−Ｋリスケーリング済み特徴マップを演算して前記（２−Ｋ）特徴マップを生成し、（ｉｖ）第２−Ｋアップサンプリングブロックから獲得した前記（２−Ｋ）特徴マップを第２−（Ｋ−１）アップサンプリングブロックに伝達するようにするプロセスを遂行することで、前記２−Ｋ特徴マップを獲得するようにすることを特徴とする装置が提供される。
【００３８】
一例として、前記第２−（Ｍ＋１）アップサンプリングブロック内の第１フィルタを用いたコンボリューション演算は前記第１−Ｍ特徴マップのチャネル数を前記第２−（Ｍ＋２）調整特徴マップのチャネル数と同一に調整するための演算であり、前記第２−１アップサンプリングブロック内の第１フィルタを用いたコンボリューション演算は前記ダウンサンプリングイメージのチャネル数を前記第２−２調整特徴マップのチャネル数と同一に変更するための演算であることを特徴とする装置が提供される。
【００３９】
一例として、前記（２）プロセスで、前記プロセッサは、前記ダウンサンプリングブロックから獲得した前記ダウンサンプリングイメージにコンボリューション演算を遂行して生成された第１−１特徴マップを前記第１−１フィルタブロックから獲得した後、第１−Ｍフィルタブロックから獲得した第１−Ｍ特徴マップにコンボリューション演算を遂行して生成された第１−（Ｍ＋１）特徴マップを第１−（Ｍ＋１）フィルタブロックから獲得し、Ｍは２から（Ｋ−１）までの整数であることを特徴とする装置が提供される。
【００４０】
本発明のまた他の態様によれば、アプリケーション−特定出力を獲得するために、特徴アップサンプリングネットワーク（ＦＵＮ）を備えたＣＮＮを利用して入力イメージとしてのｔｅｓｔ  ｉｍａｇｅに対する演算を適用するためのテスト装置は、（ｉ）学習イメージのサイズを減らすダウンサンプリングブロック、（ｉｉ）コンボリューション演算を少なくとも一回遂行して各々の第１−１ないし第１−Ｋ特徴マップを獲得する各々の第１−１ないし第１−Ｋフィルタブロック；（ｉｉｉ）前記各々の第１−１ないし第１−Ｋフィルタブロックと各々連動する第２−Ｋないし２−１アップサンプリングブロック；（ｉｖ）前記第２−Ｋないし前記第２−１特徴マップの少なくとも一部を利用してアプリケーション−特定出力（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｏｕｔｐｕｔ）を生成するためのアプリケーションブロック、及び（ｖ）前記アプリケーションブロックで生成された前記アプリケーション−特定出力値とＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）を参照してロスを計算するアプリケーション−特定ロスブロック（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｌｏｓｓ  ｂｌｏｃｋ）を含む学習装置を利用して、（１）ダウンサンプリングブロックをもって前記学習イメージが獲得されるとそのサイズを減らすために前記学習イメージに既設定された演算を加えることで学習用ダウンサンプリングイメージを獲得するようにするプロセス；（２）前記学習用ダウンサンプリングイメージが獲得されると、前記各々の第１−１ないし第１−Ｋフィルタブロックをもって前記学習用ダウンサンプリングイメージに対して前記少なくとも一回のコンボリューション演算を遂行して前記各々の学習用第１−１ないし１−Ｋ特徴マップを各々獲得するプロセス；（３）（Ｉ）第２−１アップサンプリングブロックをもって（ｉ）前記ダウンサンプリングブロックから前記ダウンサンプリングイメージを受信して（ｉｉ）前記第２−２アップサンプリングブロックから前記第２−２特徴マップを受信した後、前記２−２特徴マップのサイズを前記ダウンサンプリングイメージと同一にリスケーリングし、（ｉｉｉ）ダウンサンプリングイメージと第２−２リスケーリング済み特徴マップに所定の演算を遂行して、前記第２−１特徴マップを獲得し、（ＩＩ）Ｍが１より大きいか同じ整数である場合、前記第（２−（Ｍ＋１））アップサンプリングブロックをもって、（ｉ）前記第１−Ｍフィルタブロックから出力された前記第１−Ｍ特徴マップを受信し、（ｉｉ）前記第２−（Ｍ＋２）アップサンプリングブロックから出力された前記第２−（Ｍ＋２）特徴マップを受信した後、前記２−（Ｍ＋２）特徴マップのサイズを前記第１−Ｍ特徴マップと同一にリスケーリングし、（ｉｉｉ）前記第（１−Ｍ）特徴マップと前記（２−（Ｍ＋２））リスケーリング済み特徴マップに所定の演算を遂行して、前記（２−（Ｍ＋１））特徴マップを生成することで、前記第２−Ｋないし第２−２特徴マップを獲得するプロセス；（４）（ｉ）前記アプリケーションブロックをもって、前記学習用第２−Ｋないし第２−１特徴マップの少なくとも一部に対してアプリケーション−特定演算を適用して前記アプリケーション−特定出力を獲得す��ようにし、（ｉｉ）前記アプリケーション−特定ロスブロックをもって、前記アプリケーション−特定出力値とＧＴ（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ）を参照して前記ロスを獲得するようにして、バックプロパゲーションプロセスに前記ロスを利用することで前記アプリケーションブロック、前記第２−Ｋないし前記第２−１アップサンプリングブロック及び前記第１−１ないし前記第１−Ｋフィルタブロックのうち少なくとも一部のパラメータを調節するプロセス；を遂行した状態で、前記テストイメージを獲得するための通信部；（１）前記テストイメージが入力されると、前記ダウンサンプリングブロックをもって前記テストイメージにそのサイズを減らすための所定の演算を遂行して前記テストイメージのサイズを減らしたテスト用ダウンサンプリングイメージを獲得するようにするプロセス；（２）前記テスト用ダウンサンプリングイメージが獲得されると、前記各々の第１−１ないし第１−Ｋフィルタブロックをもって前記テスト用ダウンサンプリングイメージに対して前記少なくとも一回のコンボリューション演算を遂行して前記各々のテスト用第１−１ないし１−Ｋ特徴マップを各々獲得するようにするプロセス；（３）（Ｉ）第２−１アップサンプリングブロックをもって（ｉ）前記ダウンサンプリングブロックから前記テスト用ダウンサンプリングイメージを受信して（ｉｉ）前記第２−２アップサンプリングブロックから前記テスト用第２−２特徴マップを受信した後、前記テスト用２−２特徴マップのサイズを前記テスト用ダウンサンプリングイメージと同一にリスケーリングし、（ｉｉｉ）前記テスト用ダウンサンプリングイメージとテスト用第２−２リスケーリング済み特徴マップに所定の演算を遂行して、前記テスト用第２−１特徴マップを獲得して、（ＩＩ）Ｍが１より大きいか同じ整数である場合、前記第（２−（Ｍ＋１））アップサンプリングブロックをもって、（ｉ）前記第１−Ｍフィルタブロックから出力された前記テスト用第１−Ｍ特徴マップを受信し、（ｉｉ）前記第２−（Ｍ＋２）アップサンプリングブロックから出力された前記テスト用第２−（Ｍ＋２）特徴マップを受信した後、前記テスト用２−（Ｍ＋２）特徴マップのサイズを前記テスト用第１−Ｍ特徴マップと同一にリスケーリングし、（ｉｉｉ）前記テスト用第（１−Ｍ）特徴マップと前記テスト用（２−（Ｍ＋２））リスケーリング済み特徴マップに所定の演算を遂行して、前記テスト用（２−（Ｍ＋１））特徴マップを生成することで、前記テスト用第２−Ｋないし第２−２特徴マップを獲得するプロセス；及び（４）前記アプリケーションブロックをもって、前記テスト用第２−Ｋないし第２−１特徴マップの少なくとも一部に対してアプリケーション−特定演算を適用して前記アプリケーション−特定出力を獲得するようにするプロセス；を遂行するプロセッサ；を含むことを特徴とする装置が提供される。
【００４１】
一例として、前記（３）プロセスで、前記プロセッサは、Ｍが１以上（Ｋ−２）以下の整数である場合、前記（２−（Ｍ＋１））アップサンプリングブロックをもって（ｉ）前記テスト用第１−Ｍ特徴マップに対して前記第２−（Ｍ＋１）アップサンプリングブロック内の第１フィルタを用いたコンボリューション演算を遂行してチャネルが変更されたテスト用第１−Ｍ調整特徴マップを求めるプロセス、（ｉｉ）前記第２−（Ｍ＋２）アップサンプリングブロックから伝達された前記テスト用第２−（Ｍ＋２）特徴マップに対して前記第２−（Ｍ＋１）アップサンプリングブロック内の第２フィルタを用いたコンボリューション演算を遂行してチャネルが変更されたテスト用第２−（Ｍ＋２）調整特徴マップを獲得した後、前記テスト用第２−（Ｍ＋２）調整特徴マップに対してアップサンプリング演算を遂行して前記テスト用第２−（Ｍ＋２）リスケーリング済み特徴マップを獲得し、（ｉｉｉ）前記テスト用第１−Ｍ調整特徴マップと前記テスト用第２−（Ｍ＋２）リスケーリング済み特徴マップを演算して、前記テスト用第２−（Ｍ＋１）特徴マップを生成し、（ｉｖ）第２−（Ｍ＋１）アップサンプリングブロックから獲得したテスト用第２−（Ｍ＋１）特徴マップを第２−Ｍアップサンプリングブロックに伝達するプロセスを遂行することで、前記テスト用第２−（Ｋ−１）ないし前記第２−２特徴マップを獲得するようにすることを特徴とする装置が提供される。
【００４２】
一例として、前記（３）プロセスで、前記プロセッサは、前記第２−１アップサンプリングブロックをもって、（ｉ）前記テスト用ダウンサンプリングイメージに対して前記第２−１アップサンプリングブロック内の前記第１フィルタを用いたコンボリューション演算を遂行して前記テスト用ダウンサンプリングイメージのチャネル数が変更された調整特徴マップを求め、（ｉｉ）前記テスト用第（２−２）特徴マップに対して前記第２−１アップサンプリングブロック内の第２フィルタを用いたコンボリューション演算を遂行してチャネル数が変更されたテスト用第２−２調整特徴マップを求めた後、前記テスト用第２−２調整特徴マップに対してサイズを増やすアップサンプリング演算を遂行してテスト用第２−２リスケーリング済み特徴マップを求め、（ｉｉｉ）前記テスト用ダウンサンプリングイメージの調整特徴マップと前記テスト用第２−２リスケーリング済み特徴マップを演算して、前記テスト用第（２−１）特徴マップを生成するようにすることを特徴とする装置が提供される。
【００４３】
一例として、前記（３）プロセスで、前記プロセッサは、前記第（２−Ｋ）アップサンプリングブロックをもって（ｉ）前記テスト用第１−（Ｋ−１）特徴マップに対して前記第２−Ｋアップサンプリングブロック内の第１フィルタを用いたコンボリューション演算を遂行してチャネル数が変更されたテスト用第１−（Ｋ−１）調整特徴マップを求め、（ｉｉ）前記テスト用第１−Ｋ特徴マップに対してアップサンプリング演算を遂行してテスト用第１−Ｋリスケーリング済み特徴マップを求め、（ｉｉｉ）前記テスト用第１−（Ｋ−１）調整特徴マップと前記テスト用第１−Ｋリスケーリング済み特徴マップを演算して前記テスト用（２−Ｋ）特徴マップを生成し、（ｉｖ）第２−Ｋアップサンプリングブロックから獲得した前記テスト用（２−Ｋ）特徴マップを第２−（Ｋ−１）アップサンプリングブロックに伝達するようにするプロセスを遂行することで、前記テスト用２−Ｋ特徴マップを獲得するようにすることを特徴とする装置が提供される。
【発明の効果】
【００４４】
本発明によれば、入力イメージのサイズをダウンサンプリングした後、コンボリューション演算過程を遂行してイメージのサイズが小さくなるにつれてＣＮＮ演算量が減る効果がある。
【００４５】
また、本発明はアプリケーションブロックの結果物の正確度が下落することなくＣＮＮ演算速度が速くなる効果がある。
【００４６】
また、本発明によればアップサンプリングブロックで演算される特徴マップのチャネル数が既存に比べて顕著に減るにつれてＣＮＮ演算量が減ってＣＮＮ演算速度が増加する。
【００４７】
また、本発明によればアプリケーションロスブロックで求めたＬｏｓｓとリグレッションロスブロックで求めた追加的なリグレッションロスを通じて学習を遂行するため、さらに効率的な学習が可能である。
【図面の簡単な説明】
【００４８】
【図１】図１は、一般的なＣＮＮモデルの学習装置を示す。
【図２Ａ】図２Ａは、は入力イメージのサイズと演算量の関係を示したグラフである。
【図２Ｂ】図２Ｂは、入力イメージのサイズと検出正確度の関係を示したグラフである。
【図３】図３は、従来技術にかかるＦＰＮ（Ｆｅａｔｕｒｅ  Ｐｙｒａｍｉｄ  Ｎｅｔｗｏｒｋｓ）の構成を備えた従来のＣＮＮを利用した特徴マップ生成過程を示したフローチャートである。
【図４】図４は、本発明の一実施例にかかるＦＵＮを含む構成を備えたＣＮＮを利用して特徴マップを生成する過程を示したフローチャートである。
【図５】図５は、本発明の一実施例にかかるアップサンプリングブロックとこれの例示的な演算方法を示す。
【図６Ａ】図６Ａは、本発明の一実施例にかかるＦＵＮを含むように構成されたＣＮＮを適用した学習装置の構成図を示す。
【図６Ｂ】図６Ｂは、本発明の一実施例にかかるＦＵＮを含むように構成されたＣＮＮを適用した学習装置の構成図を示す。
【図７】図７は、本発明の一実施例にかかる物体を検出するための装置の構成図を示す。
【発明を実施するための形態】
【００４９】
後述する本発明に対する詳細な説明は、本発明が実施され得る特定の実施例を例示として示す添付図面を参照する。これらの実施例は当業者が本発明を実施することができるように充分詳細に説明される。本発明の多様な実施例は相互異なるが、相互排他的である必要はないことを理解されたい。例えば、ここに記載されている特定の形状、構造及び特性は一実施例にかかる本発明の精神及び範囲を逸脱せずに他の実施例で具現され得る。また、各々の開示された実施例内の個別構成要素の位置または配置は本発明の精神及び範囲を逸脱せずに変更され得ることを理解されたい。従って、後述する詳細な説明は限定的な意味で捉えようとするものではなく、本発明の範囲は、適切に説明されると、その請求項が主張することと均等なすべての範囲と、併せて添付された請求項によってのみ限定される。図面で類似する参照符号はいくつかの側面にかけて同一か類似する機能を指称する。
【００５０】
以下、本発明が属する技術分野で通常の知識を有する者が本発明を容易に実施することができるようにするために、本発明の好ましい実施例について添付の図面を参照して詳細に説明することとする。
【００５１】
図４は本発明の一実施例にかかるＦＵＮを含む構成を備えたＣＮＮを利用して特徴マップを生成する過程を示したフローチャートである。
【００５２】
本発明にかかるＦＵＮ（Ｆｅａｔｕｒｅ  Ｕｐｓａｍｐｌｉｎｇ  Ｎｅｔｗｏｒｋｓ）を利用したＣＮＮ装置のフィーチャーコンピュテーションブロック４００は図３に示されたＦＰＮを利用したＣＮＮ装置と異なり入力イメージを多数個のフィルタブロック、即ちコンボリューションフィルタに入力する前にイメージのサイズを減らすダウンサンプリングブロック４０１を含む。
【００５３】
前記ダウンサンプリングブロック４０１は入力イメージのサイズを減らしたダウンサンプリングイメージを生成する機能を遂行する。万一入力イメージがＷ×Ｈ×３のサイズを有するなら、ダウンサンプリングブロック４０１から出力されたダウンサンプリングイメージ（Ｄ＿ＩＭＡＧＥ）はＷ／２×Ｈ／２×３のサイズを有し得る。図４ではダウンサンプリングブロック４０１が入力イメージのサイズを縦横各々１／２ずつ減らす例を示したが、ダウンサンプリングブロック４０１で減らす比率は多様であり得る。
【００５４】
一方、本発明にかかるＣＮＮモデルも層毎に連結された多数のコンボリューションブロック、即ち、第１−１フィルタブロック（４１０＿１）、第１−２フィルタブロック（４１０＿２）、第１−３フィルタブロック（４１０＿３）、…、第１−Ｋフィルタブロック（４１０＿Ｋ）を含む。
【００５５】
具体的に、第１−１ないし第１−Ｋフィルタブロック各々は多数のコンボリューションレイヤとＲｅＬＵレイヤなどのアクティベーションレイヤが交互に任意の数だけ反復される構造からなっており、コンボリューション演算と非線形演算を反復して遂行され得る。
【００５６】
図４を参照すれば、第１−１フィルタブロック（４１０＿１）は入力イメージから第１−１特徴マップ（１−１ＦＥＡＴ）を形成し、第１−２フィルタブロック（４１０＿２）は第１−１特徴マップから第１−２特徴マップ（１−２ＦＥＡＴ）を形成して、第１−３フィルタブロック（４１０＿３）は第１−２特徴マップから第１−３特徴マップ（１−３ＦＥＡＴ）を形成する。かかる過程は最後のフィルタブロックまで続き、図４の例では、最後のフィルタブロック、即ち、第１−４フィルタブロック（４１０＿４）が第１−３特徴マップから第１−４特徴マップ（１−４ＦＥＡＴ）を形成する。
【００５７】
しかし、各第１−１フィルタブロックないし第１−Ｋフィルタブロックは既に一回ダウンサンプリングされたイメージを入力されてこれを順次コンボリューション演算して入力されたイメージのサイズを減らしてチャネルを増加させて特徴マップを生成するため、第１−１フィルタブロック（４１０＿１）にはサイズがＷ×Ｈ×３である入力イメージの代わりに、サイズがＷ／２×Ｈ／２×３であるダウンサンプリングイメージが入力される。これに伴い、第１−１フィルタブロック（４１０＿１）はサイズがＷ／２×Ｈ／２×３ダウンサンプリングイメージを入力されてサイズがＷ／４×Ｈ／４×Ｃである第１−１特徴マップを生成して出力して、第１−２フィルタブロック（４１０＿２）はサイズがＷ／４×Ｈ／４×Ｃである第１−１特徴マップを入力されてサイズがＷ／８×Ｈ／８×２Ｃである第１−２特徴マップを生成して出力する。かかる過程は残りの各々のフィルタブロックで継続して遂行されて特徴マップのうち最小のサイズと最大のチャネル数を有する最終特徴マップが生成されるまで続く。即ち、第１−３フィルタブロック（４１０＿３）はサイズがＷ／８×Ｈ／８×２Ｃである第１−２特徴マップを入力されてサイズがＷ／１６×Ｈ／１６×４Ｃである第１−３特徴マップを生成して出力して、第１−４フィルタブロック（４１０＿４）はサイズがＷ／１６×Ｈ／１６×４Ｃである第１−３特徴マップを入力されてサイズがＷ／３２×Ｈ／３２×８Ｃである第１−４特徴マップを生成して出力して、かかる方式で第１−５フィルタブロック（４１０＿５）ないし第１−Ｋフィルタブロック（４１０＿Ｋ）は第１−５特徴マップないし第１−Ｋ特徴マップを形成して出力する。
【００５８】
図３に示されたフィーチャーコンピュテーションブロック１０１と比較して図４に示された本発明にかかるフィーチャーコンピュテーションブロック４００は同一のイメージが入力された時、サイズが減った特徴マップに対して演算を遂行するため、演算量を大きく減らすことができる。即ち、各々のフィルタブロック、即ち、第１−１ないし第１−ｋフィルタブロックが図３に示されたフィルタブロックと比較してサイズが半分である特徴マップにコンボリューション演算を遂行するため、全体コンボリューションブロックに必要な演算量が減り、これに伴い全体コンボリューションブロックの性能が向上され得る。
【００５９】
再び図４を参照すれば、本発明にかかるフィーチャーコンピュテーションブロック４００はＦＵＮ（Ｆｅａｔｕｒｅ  Ｕｐｓａｍｐｌｉｎｇ  Ｎｅｔｗｏｒｋｓ）というブロック（以下、アップサンプリングブロックという）を利用して各々の特徴マップを各々の該当される本来のサイズに戻し得る。
【００６０】
具体的に、図４では第１ＦＵＮブロック（または、第２−１アップサンプリングブロック；４２０＿１）ないし第Ｋ  ＦＵＮブロック（または、第２−Ｋアップサンプリングブロック；４２０＿Ｋ）各々は第１−１フィルタブロックないし第１−Ｋフィルタブロックのうち対応するフィルタブロックと連動されて前記第１−１フィルタブロック（４１０＿１）から始まり第１−Ｋフィルタブロック（４１０＿Ｋ）に進行される演算方向と反対方向への演算、即ち、第Ｋ  ＦＵＮブロック（４２０＿Ｋ）から第１ＦＵＮブロック（４２０＿１）への方向に演算を遂行する。
【００６１】
各々のアップサンプリングブロック、即ち、第２−１アップサンプリングブロック（４２０＿１）ないし第２−Ｋアップサンプリングブロック（４２０＿Ｋ）は各々第１入力特徴マップのチャネルを変更するための第１フィルタ（４２０＿１＿Ａ）、即ち、１×１コンボリューションフィルタを含み、第２入力特徴マップのチャネルを変更するための第２フィルタ（４２０＿１＿Ｂ）、即ち、１×１コンボリューションフィルタを含み、そして第２フィルタ（４２０＿１＿Ｂ）の出力のサイズをアップサンプリングするためのスケール−アップブロック（４２０＿１＿Ｃ）、そして第１フィルタ（４２０＿１＿Ａ）の出力とスケール−アップブロック（４２０＿１＿Ｃ）の出力を結合して出力する合算ブロック（４２０＿１＿Ｄ）を含む。
【００６２】
例えば、第２−１アップサンプリングブロック（４２０＿１）内の第１フィルタ（４２０＿１＿Ａ）はダウンサンプリングイメージ（Ｄ＿Ｉｍａｇｅ）に対してコンボリューション演算を遂行してダウンサンプリングイメージのチャネル変更特徴マップ（または、調整特徴マップ）（Ｄ＿Ｉｍａｇｅ＿Ａ）を求めるプロセスを遂行して、第２−１アップサンプリングブロック内の第２フィルタ（４２０＿１＿Ｂ）は第２−２アップサンプリングブロック（４２０＿２）から伝達された第２−２特徴マップ（２−２ＦＥＡＴ）に対してコンボリューション演算を遂行して第２−２チャネル変更特徴マップ（調整特徴マップ）（２−２ＦＥＡＴ＿Ａ）を求めるプロセスを遂行し、第２−１アップサンプリングブロック内のスケール−アップブロック（４２０＿１＿Ｃ）は前記第２−２チャネル変更特徴マップ（２−２ＦＥＡＴ＿Ａ）に対してサイズを増やすアップサンプリング演算を遂行して第２−２リスケーリング済み特徴マップ（２−２ＦＥＡＴ＿Ｂ）を求めるプロセスを遂行し、第２−アップサンプリングブロック内の合算ブロック（４２０＿１＿Ｄ）は前記ダウンサンプリングイメージのチャネル変更特徴マップ（調整特徴マップ）（Ｄ＿Ｉｍａｇｅ＿Ａ）と前記第２−２リスケーリング済み特徴マップ（２−２ＦＥＡＴ＿Ｂ）を演算して第２−１特徴マップ（２−１ＦＥＡＴ）を生成して出力するプロセスを遂行する。
【００６３】
この時、第２−１アップサンプリングブロック内のスケール−アップブロック（４２０＿１＿Ｃ）はダウンサンプリングブロック４０１のダウンサンプリング比率を参照して前記第２−２チャネル変更特徴マップ（以下‘調整特徴マップ’と指称する）（２−２ＦＥＡＴ＿Ａ）に対するアップサンプリング比率を定め、定められたアップサンプリング比率に応じて第２−２リスケーリング済み特徴マップ（２−２ＦＥＡＴ＿Ｂ）を生成し得る。
【００６４】
そして、Ｍが１以上Ｋ−２以下の整数である場合、第２−（Ｍ＋１）アップサンプリングブロック（４２０＿（Ｍ＋１））内の第１フィルタ（４２０＿（Ｍ＋１）＿Ａ）は第１−Ｍフィルタブロックから伝達された第１−Ｍ特徴マップ（１−ＭＦＥＡＴ）に対してコンボリューション演算を遂行して第１−Ｍ特徴マップのチャネル変更特徴マップ（第１−Ｍ調整特徴マップ；１−Ｍ  ＦＥＡＴ＿Ａ）を求めるプロセスを遂行して、第２−（Ｍ＋１）アップサンプリングブロック（４２０＿（Ｍ＋１））内の第２フィルタ（４２０＿（Ｍ＋１）＿Ｂ）は第２−（Ｍ＋２）アップサンプリングブロック（４２０＿（Ｍ＋２））から伝達された第２−（Ｍ＋２）特徴マップ（２−（Ｍ＋２）ＦＥＡＴ）に対してコンボリューション演算を遂行して第２−（Ｍ＋２）調整特徴マップ（２−（Ｍ＋２）ＦＥＡＴ＿Ａ）を求めるプロセスを遂行する。それから、第２−（Ｍ＋１）アップサンプリングブロック（４２０＿（Ｍ＋１））内のスケール−アップブロック（４２０＿（Ｍ＋１）＿Ｃ）は前記第２−（Ｍ＋２）調整特徴マップ（２−（Ｍ＋２）ＦＥＡＴ＿Ａ）に対してサイズを前記第１−Ｍ調整特徴マップ（１−Ｍ  ＦＥＡＴ＿Ａ）のサイズに合うように増やすアップサンプリング演算を遂行して第２−（Ｍ＋２）リスケーリング済み特徴マップ（２−（Ｍ＋２）ＦＥＡＴ＿Ｂ）を求めるプロセスを遂行する。そして、第２−（Ｍ＋１）アップサンプリングブロック内の合算ブロック（４２０＿（Ｍ＋１）＿Ｄ）は前記第１−Ｍ調整特徴マップ（１−Ｍ  ＦＥＡＴ＿Ａ）と前記第２−（Ｍ＋２）リスケーリング済み特徴マップ（２−（Ｍ＋２）ＦＥＡＴ＿Ｂ）に所定の演算、即ち合算（ｓｕｍｍｉｎｇ−ｕｐ）演算を遂行して第２−（Ｍ＋１）特徴マップ（２−（Ｍ＋１）ＦＥＡＴ）を生成して出力するプロセスを遂行する。かかる方式で各々の第２−Ｋないし第２−２特徴マップを獲得する。
【００６５】
そして、上述した境界条件の一つとして、第２−１アップサンプリングブロック（４２０＿１）は前記ダウン−サンプリングブロック４０１からダウン−サンプリングイメージ（Ｄ＿ＩＭＡＧＥ）が伝達され、第２−２アップサンプリングブロック（４２０＿２）から第２−２特徴マップ（２−２ＦＥＡＴ）が伝達されて、第２−２調整特徴マップ（２−２ＦＥＡＴ＿Ａ）のサイズをダウン−サンプリングイメージ（Ｄ＿ＩＭＡＧＥ＿Ａ）の調整特徴マップのサイズと合うようにリスケーリングし、両特徴マップ、即ち２−２ＦＥＡＴ＿Ａ及びＤ＿ＩＡＭＧＥ＿Ａに所定の演算を適用して第２−１特徴マップ（２−１ＦＥＡＴ）を生成する。
【００６６】
他の境界条件として、第２−Ｋアップサンプリングブロック（４２０＿Ｋ）内の第１フィルタ（４２０＿Ｋ＿Ａ）は第１−（Ｋ−１）フィルタブロックから伝達された第１−（Ｋ−１）特徴マップ（１−（Ｋ−１）ＦＥＡＴ）に対してコンボリューション演算を遂行して第１−（Ｋ−１）特徴マップのチャネル変更特徴マップ（第１−（Ｋ−１）調整特徴マップ；１−（Ｋ−１）ＦＥＡＴ＿Ａ）を求めるプロセスを遂行する。第２−Ｋアップサンプリングブロック（４２０＿Ｋ）内の第２フィルタ（４２０＿Ｋ＿Ｂ）は第１−Ｋフィルタブロック（４１０＿Ｋ）から伝達された第１−Ｋ特徴マップ（１−Ｋ  ＦＥＡＴ）に対してコンボリューション演算を遂行して第１−Ｋ調整特徴マップ（１−Ｋ  ＦＥＡＴ＿Ａ）を求めるプロセスを遂行する。それから、第２−Ｋアップサンプリングブロック（４２０＿Ｋ）内のスケール−アップブロック（４２０＿Ｋ＿Ｃ）は前記第１−Ｋ調整特徴マップ（１−Ｋ  ＦＥＡＴ＿Ａ）に対してサイズを増やすアップサンプリング演算を遂行して第１−Ｋリスケーリング済み特徴マップ（１−Ｋ  ＦＥＡＴ＿Ｂ）を求めるプロセスを遂行する。そして、第２−Ｋアップサンプリングブロック内の合算ブロック（４２０＿Ｋ＿Ｄ）は前記第１−（Ｋ−１）調整特徴マップ（１−（Ｋ−１）ＦＥＡＴ＿Ａ）と前記第１−Ｋリスケーリング済み特徴マップ（１−Ｋ  ＦＥＡＴ＿Ｂ）を演算して第２−Ｋ特徴マップ（２−Ｋ  ＦＥＡＴ）を生成して出力するプロセスを遂行する。
【００６７】
一方、第１−（Ｋ−１）特徴マップ（１−（Ｋ−１）ＦＥＡＴ）と第１−Ｋ特徴マップ（１−Ｋ  ＦＥＡＴ）のチャネル数が２倍差であれば、第２−Ｋアップサンプリングブロック（４２０＿Ｋ）内の第２フィルタ（４２０＿Ｋ＿Ｂ）の演算は省略され得る。この場合には、第２−Ｋアップサンプリングブロック（４２０＿Ｋ）は第１−Ｋ特徴マップ（１−Ｋ  ＦＥＡＴ）に対するチャネル変更のため第２フィルタ（４２０＿Ｋ＿Ｂ）を含まず、第２−Ｋアップサンプリングブロック（４２０＿Ｋ）内のスケール−アップブロック（４２０＿Ｋ＿Ｃ）が前記第１−Ｋ特徴マップ（１−Ｋ  ＦＥＡＴ）に対して直ちにサイズを増やすアップサンプリング演算を直接遂行して第１−Ｋリスケーリング済み特徴マップ（１−Ｋ  ＦＥＡＴ＿Ｂ）を求めるプロセスを遂行する。そして、第２−Ｋアップサンプリングブロック内の合算ブロック（４２０＿Ｋ＿Ｄ）は前記第１−（Ｋ−１）調整特徴マップ（１−（Ｋ−１）ＦＥＡＴ＿Ａ）と前記第１−Ｋリスケーリング済み特徴マップ（１−Ｋ  ＦＥＡＴ＿Ｂ）に所定の演算、即ち、合算（ｓｕｍｍｉｎｇ−ｕｐ）演算を遂行して第２−Ｋ特徴マップ（２−Ｋ  ＦＥＡＴ）を生成して出力するプロセスを遂行する。
【００６８】
図５は本発明の一実施例にかかるアップサンプリングブロックとこれの例示的な演算方法を示す。
【００６９】
図５のアップサンプリングブロックは第２−（Ｍ＋１）アップサンプリングブロックの例を示す。図５を参照すれば、１−Ｍ特徴マップ（１−Ｍ  ＦＥＡＴ）が第２−（Ｍ＋１）アップサンプリングブロック（４２０＿（Ｍ＋１））内の第１フィルタ（４２０＿（Ｍ＋１）＿Ａ）を通過すると、１−Ｍ特徴マップ（１−Ｍ  ＦＥＡＴ）のチャネルは２倍増加して１−Ｍ特徴マップ（１−Ｍ  ＦＥＡＴ）とサイズは同一だが、チャネルは２倍である第１−Ｍ調整特徴マップ（１−Ｍ  ＦＥＡＴ＿Ａ）が生成される。
【００７０】
そして、第２−（Ｍ＋２）特徴マップ（２−（Ｍ＋２）ＦＥＡＴ）が第２−（Ｍ＋１）アップサンプリングブロック（４２０＿（Ｍ＋１））内の第２フィルタ（４２０＿（Ｍ＋１）＿Ｂ）を通過すると、チャネルは１／２倍減少して第２−（Ｍ＋２）特徴マップ（２−（Ｍ＋２）ＦＥＡＴ）とサイズは同一だが、チャネルは１／２倍である第２−（Ｍ＋２）調整特徴マップ（２−（Ｍ＋２）ＦＥＡＴ＿Ａ）が生成される。
【００７１】
また、第２−（Ｍ＋２）調整特徴マップ（２−（Ｍ＋２）ＦＥＡＴ＿Ａ）が第２−（Ｍ＋１）アップサンプリングブロック（４２０＿（Ｍ＋１））内のスケール−アップブロック（４２０＿（Ｍ＋１）＿Ｃ）を通過すると、サイズが２倍増加して第２−（Ｍ＋２）調整特徴マップ（２−（Ｍ＋２）ＦＥＡＴ＿Ａ）とチャネルは同一だが、サイズは２倍である第２−（Ｍ＋２）リスケーリング済み特徴マップ（２−（Ｍ＋２）ＦＥＡＴ＿Ｂ）が形成される。
【００７２】
そして、第１−Ｍ調整特徴マップ（１−Ｍ  ＦＥＡＴ＿Ａ）と第２−（Ｍ＋２）リスケーリング済み特徴マップ（２−（Ｍ＋２）ＦＥＡＴ＿Ｂ）はサイズとチャネルが同一であるため、第２−（Ｍ＋１）アップサンプリングブロック内の合算ブロック（４２０＿（Ｍ＋１）＿Ｄ）で所定の演算、即ち合算され得る。このように所定の演算（即ち、合算）された結果は第２−（Ｍ＋１）特徴マップ（２−（Ｍ＋１）ＦＥＡＴ）となる。
【００７３】
即ち、前記第２−（Ｍ＋１）アップサンプリングブロック内の第１フィルタ（４２０＿（Ｍ＋１）＿Ａ）を用いたコンボリューション演算と第２−（Ｍ＋１）アップサンプリングブロック（４２０＿（Ｍ＋１））内の第２フィルタ（４２０＿（Ｍ＋１）＿Ｂ）を用いたコンボリューション演算は第１−Ｍ特徴マップ（１−Ｍ  ＦＥＡＴ）のチャネル数と第２−（Ｍ＋２）特徴マップ（２−（Ｍ＋２）ＦＥＡＴ）のチャネル数を同一に変更するためのものである。一例として、図５に示された第２−（Ｍ＋１）アップサンプリングブロック内の第１フィルタ（４２０＿（Ｍ＋１）＿Ａ）は第１−Ｍ特徴マップ（１−Ｍ  ＦＥＡＴ）のチャネル数は２倍増加させ、図５に示された第２−（Ｍ＋１）アップサンプリングブロック内の第２フィルタ（４２０＿（Ｍ＋１）＿Ｂ）は第２−（Ｍ＋２）特徴マップ（２−（Ｍ＋２）ＦＥＡＴ）のチャネル数は１／２倍減少させて互いに同一のチャネル数にする。
【００７４】
そして、第２−（Ｍ＋１）アップサンプリングブロック（４２０＿（Ｍ＋１））内のスケール−アップブロック（４２０＿（Ｍ＋１）＿Ｃ）は第１−Ｍ特徴マップ（１−Ｍ  ＦＥＡＴ）のサイズと第２−（Ｍ＋２）特徴マップ（２−（Ｍ＋２）ＦＥＡＴ）のサイズを同一に変更するためのものである。一例として、前記スケール−アップブロックは第２−（Ｍ＋２）調整特徴マップ（２−（Ｍ＋２）ＦＥＡＴ＿Ａ）のサイズを第１−Ｍ特徴マップ（１−Ｍ  ＦＥＡＴ）のサイズと同一にするため２倍増加させる役割を遂行する。しかし、増加比率はこれに限定されない。これはダウンサンプリングイメージ（Ｄ＿Ｉｍａｇｅ）が入力される第２−１アップサンプリングブロック（４２０＿１）と１−Ｋ特徴マップ（１−Ｋ  ＦＥＡＴ）が入力される第２−Ｋアップサンプリングブロック（４２０＿Ｋ）にも同一に適用される。
【００７５】
図４に示された一実施例で、第２−４アップサンプリングブロック（ＦＵＮ４；４２０＿４）はサイズとチャネル数がＷ／１６×Ｈ／１６×４Ｃである第１−３特徴マップが伝達されてサイズとチャネル数がＷ／１６×Ｈ／１６×８Ｃに変換して第１−３特徴マップのサイズは維持したままチャネル数を４Ｃから８Ｃに変換する。また、第２−４アップサンプリングブロック（ＦＵＮ４；４２０＿４）はサイズとチャネル数がＷ／３２×Ｈ／３２×１６Ｃである第２−５特徴マップ（２−５ＦＥＡＴ）が伝達されてＷ／１６×Ｈ／１６×８Ｃにチャネルとサイズを変換した後、第２−５リスケーリング済み特徴マップと第１−３調整特徴マップを結合してＷ／１６×Ｈ／１６×８Ｃの第２−４特徴マップ（２−４ＦＥＡＴ）を生成して出力する。同様に、第２−３アップサンプリングブロック（ＦＵＮ３；４２０＿３）及び第２−２アップサンプリングブロック（ＦＵＮ２；４２０＿２）も上で説明した同一の過程を遂行して、第２−２特徴マップまで生成してこれを第２−１アップサンプリングブロック（ＦＵＮ１；４２０＿１）に伝達する。第２−１アップサンプリングブロック（ＦＵＮ１；４２０＿１）はサイズとチャネル数がＷ／２×Ｈ／２×３であるダウンサンプリングイメージ（Ｄ＿Ｉｍａｇｅ）が伝達されてサイズは維持したままチャネル数を３からＣに変更したＷ／２×Ｈ／２×Ｃに変換する。
【００７６】
そして、第２−１アップサンプリングブロック（ＦＵＮ１；４２０＿１）はサイズとチャネル数がＷ／４×Ｈ／４×２Ｃである第２−２特徴マップ（２−２ＦＥＡＴ）が伝達されてＷ／２×Ｈ／２×Ｃにチャネルとサイズを変換する。それから、第２−１アップサンプリングブロック（ＦＵＮ１；４２０＿１）は前記第２−２リスケーリング済み特徴マップと前記ダウン−サンプリングイメージの調整特徴マップに所定の演算、即ち、合算（ｓｕｍｍｉｎｇ−ｕｐ）演算をしてサイズとチャネル数がＷ／２×Ｈ／２×Ｃである第２−１特徴マップ（２−１ＦＥＡＴ）を生成して出力する。
【００７７】
一方、図３に示された従来のＦＰＮブロックを含むＣＮＮ装置ではＦＰＮブロックが各々のＦＰＮブロックによって生成された特徴マップ各々のチャネル数を維持して最終特徴マップまでチャネル数が同一に維持される（未図示）。即ち、各々の第１ＦＰＮないし第（Ｋ−１）ＦＰＮに入力される２個の特徴マップのうち直前のＦＰＮから入力される特徴マップのチャネル数は、最もチャネル数が多い特徴マップ（１−Ｋ特徴マップ）のチャネル数と同一のＤ個であり、各々の第１ＦＰＮないし第（Ｋ−１）ＦＰＮで生成して出力する特徴マップのチャネル数もＤ個であることを確認することができる。
【００７８】
これに比べて、図４に示されたＦＵＮ（アップサンプリングブロック）を含んだＣＮＮ装置では、ＦＵＮブロックが各ＦＵＮブロックによって生成された特徴マップ各々のチャネル数をこれらに対応する入力特徴マップのチャネル数の半分に減らす。サイズに対しては、各々のＦＰＮブロックによって生成された各特徴マップは各々のＦＵＮブロックによって生成された特徴マップと同一のサイズを有する。例えば、各第２−Ｋアップサンプリングブロックないし第２−１アップサンプリングブロックに入力される各特徴マップのチャネル数は、最もチャネル数が多い特徴マップ（１−Ｋ特徴マップ）のチャネル数であるＤよりも１／２倍ずつ漸次小さくなる。例えば、第２−２アップサンプリングブロック（４２０＿２）に入力される２個特徴マップのチャネル数は各々Ｃ、４Ｃであり、第２−２アップサンプリングブロック（４２０＿２）で生成される特徴マップのチャネル数は２Ｃであり、第２−１アップサンプリングブロック（４２０＿１）に入力される２個特徴マップのチャネル数は各々３、２Ｃであり、第２−１アップサンプリングブロック（４２０＿１）で生成される特徴マップのチャネル数はＣになるなど、図３のＦＰＮで処理される特徴マップのチャネル数に比べて相当小さい差異点がある。
【００７９】
従って、本発明にかかるＣＮＮ装置は演算される特徴マップのチャネル数の減少でＣＮＮ演算量が減るようになり、これに伴い、ＣＮＮ演算速度が増加することができる。また、ＦＵＮブロックを含むように構成されたＣＮＮを利用した装置が、ＣＮＮによって遂行される演算量を減らしても、ＦＵＮブロックによって生成された各特徴マップのサイズ（ｄｉｍｅｎｓｉｏｎ）は前記ＦＰＮブロックから出力された各特徴マップのサイズと同一である。従って、ＦＵＮブロックの構成を備えたＣＮＮとＦＰＮブロックの構成を備えた従来のＣＮＮとの間では物体検出のようなアプリケーションや他のアプリケーションによって生成された結果の正確度に対してはほぼ差がなくなる。具体的に、図４の本発明にかかるＣＮＮモデルで各アップサンプリングブロック（第２−１アップサンプリングブロックないし第２−Ｋアップサンプリングブロック）から出力される特徴マップ（２−１特徴マップないし第２−Ｋ特徴マップ）のサイズは図３の既存のＣＮＮモデルで各ＦＰＮから出力される特徴マップのサイズと同一である。例えば、図３及び図４で入力されるイメージのサイズがＷ×Ｈ×３であれば、第１ＦＰＮの出力（Ｐ−１ＦＥＡＴ）のサイズはＷ／２×Ｈ／２×Ｄであり、第２−１アップサンプリングブロックの出力（２−１ＦＥＡＴ）のサイズはＷ／２×Ｈ／２×Ｃで互いにサイズが同一であり、第２ＦＰＮの出力（Ｐ−２ＦＥＡＴ）のサイズはＷ／４×Ｈ／４×Ｄであり、第２−２アップサンプリングブロックの出力（２−２ＦＥＡＴ）のサイズはＷ／４×Ｈ／４×２Ｃで互いにサイズが同一であり、以下、Ｍ番目ＦＰＮの出力と第２−Ｍアップサンプリングブロックの出力も互いにサイズが同一であることが分かる。即ち、本発明にかかるＣＮＮ装置ではＣＮＮ演算量を減らしながらもＦＵＮで生成される特徴マップのサイズは既存のＣＮＮ装置のＦＰＮで生成される特徴マップのサイズと同一であるため、オブジェクトディテクション正確度または他のアプリケーション結果物の正確度は既存のＣＮＮモデルとほぼ差がない。
【００８０】
図６Ａ及び図６Ｂは本発明の一実施例にかかるＦＵＮを含むように構成されたＣＮＮを適用した学習装置の構成図を示す。
【００８１】
図６Ａを参照すれば、本発明にかかるＣＮＮ学習装置６００はスチューデントフィーチャーコンピュテーションブロック６０１、アプリケーションブロック６０２、アプリケーションロスブロック６０３、ティーチャーフィーチャーコンピュテーションブロック６０４及びリグレッションロスブロック６０５を含む。
【００８２】
スチューデントフィーチャーコンピュテーションブロック６０１はダウンサンプリングブロック４０１とＦＵＮブロック（第２−１アップサンプリングブロック（４２０＿１）ないし第２−Ｋアップサンプリングブロック（４２０＿Ｋ））が含まれて演算量を減らした軽い構造を有している。スチューデントフィーチャーコンピュテーションブロック６０１は入力イメージが入力された時にダウンサンプリングブロック、コンボリューションブロック及びＦＵＮ（アップサンプリングブロック）などの組み合わせで前記入力イメージから特徴マップを獲得する機能をする。アプリケーションブロック６０２とアプリケーションロスブロック６０３は図１のアプリケーションブロック１０２とアプリケーションロスブロック１０３と同一であり、その重複される内容の説明は省略する。
【００８３】
ティーチャーフィーチャーコンピュテーションブロック（またはティーチャーエンコーディングレイヤと指称され得る；６０４）は前記入力イメージ（スチューデントフィーチャーコンピュテーションブロック６０１に印加された入力イメージと同一である）に対応される特徴マップに対してダウンサンプリングブロックを経ずにコンボリューション演算を複数回遂行するが、前記第２−１特徴マップ、第２−２特徴マップ、…、第２−Ｋ特徴マップのサイズに対応されるサイズを有するＴ−１、Ｔ−２、…、Ｔ−Ｋ特徴マップを各々形成する機能をする。ここで、スチューデントフィーチャーコンピュテーションブロック６０１はティーチャーコンピュテーションブロック６０４と同一の入力イメージが入力される。
【００８４】
リグレッションロスブロック６０５はティーチャーフィーチャーコンピュテーションブロック６０４で生成される特徴マップ（Ｔ−１特徴マップ、Ｔ−２特徴マップ、…、Ｔ−Ｋ特徴マップ）各々とスチューデントフィーチャーコンピュテーションブロック６０１で生成された特徴マップ（第２−１特徴マップ、第２−２特徴マップ、…、第２−Ｋ特徴マップ）各々を比較してリグレッションロス値を獲得し、前記リグレッションロス値を利用した第２バックプロパゲーション過程を通じて前記第１−１ないし前記第１−Ｋフィルタブロック及び前記２−１ないし前記２−Ｋアップサンプリングブロックのパラメータを調整する機能をする。
【００８５】
具体的に、装置６００は前記第１及び第２バックプロパゲーション過程の間前記リグレッションロスを通じてアプリケーション−特定ロスを減らす方向に学習過程を進行することができる。アプリケーション−特定ロスはアプリケーションロスブロック６０３を通じて獲得され、リグレッションロスはリグレッションロスブロック６０５を通じて獲得される。学習過程はアプリケーションロスブロック６０３でアプリケーション−特定ロスのみを減らすのではなく、スチューデントフィーチャーコンピュテーションブロック６０１のＦＵＮブロックが作り出す特徴マップがティーチャーフィーチャーコンピュテーションブロック６０４が作り出す特徴マップと類似するようにリグレッションロスも共に減らす方向に学習を進行する。これに伴い、リグレッションロスも共に減るように学習される。
【００８６】
言い換えると、アプリケーションロスブロック６０３を通じた第１バックプロパゲーションプロセスはスチューデントフィーチャーコンピュテーションブロック６０１とアプリケーションブロック６０２のパラメータを調節する機能をして、リグレッションロスブロック６０５を通じた第２バックプロパゲーションプロセスはスチューデントフィーチャーコンピュテーションブロック６０１のパラメータを調節する機能をする。これに伴い、スチューデントフィーチャーコンピュテーションブロック６０１内の各フィルタブロック（第１−１フィルタブロックないし第１−Ｋフィルタブロック）とＦＵＮブロック（第２−１アップサンプリングブロックないし２−Ｋアップサンプリングブロック）のパラメータはアプリケーションロスブロック６０３で求めたアプリケーション−特定ロスとリグレッションロスブロック６０５で求めた追加的なリグレッションロスを通じて調整される。これに伴い、装置６００の性能学習はさらに効率的な学習が可能である。
【００８７】
図６Ｂは図６Ａでスチューデントフィーチャーコンピュテーションブロック６０１が図４の特徴マップ生成過程が示されるようにし、併せてティーチャーフィーチャーコンピュテーションブロック６０４及びリグレッションロスブロック６０５を具体的に示した図面である。
【００８８】
図６Ｂを参照すれば、ティーチャーフィーチャーコンピュテーションブロック６０４は多数個のフィルタブロック（６１０＿１、６１０＿２、６１０＿３、…、６１０＿Ｋ）を含む。この時、上述したとおり、ティーチャーフィーチャーコンピュテーションブロック６０４はスチューデントフィーチャーコンピュテーションブロック６０１に入力されるイメージと同一のイメージが入力されてコンボリューション演算を複数回遂行するが、ティーチャーフィーチャーコンピュテーションブロック６０４はスチューデントフィーチャーコンピュテーションブロック６０１と異なりダウン−サンプリングブロックを含まずにダウンサンプリングブロックを経ないでコンボリューション演算を複数回遂行する。
【００８９】
具体的に、第Ｔ−１フィルタブロック（６１０＿１）はサイズとチャネル数がＷ×Ｈ×３である入力イメージに対してコンボリューション演算してサイズとチャネル数がＷ／２×Ｈ／２×Ｃである第Ｔ−１特徴マップ（Ｔ−１Ｆｅａｔ）を出力する。そして、第Ｔ−２フィルタブロック（６１０＿２）はサイズとチャネル数がＷ／２×Ｈ／２×Ｃである第Ｔ−１特徴マップ（Ｔ−１Ｆｅａｔ）に対してコンボリューション演算してサイズとチャネル数がＷ／４×Ｈ／４×２Ｃである第Ｔ−２特徴マップ（Ｔ−２Ｆｅａｔ）を出力する。同様に、第Ｔ−３フィルタブロック（６１０＿３）はサイズとチャネル数がＷ／４×Ｈ／４×２Ｃである第Ｔ−２特徴マップ（Ｔ−２Ｆｅａｔ）に対してコンボリューション演算してサイズとチャネル数がＷ／８×Ｈ／８×４Ｃである第Ｔ−３特徴マップ（Ｔ−３Ｆｅａｔ）を出力する。これに伴い、順に第Ｔ−１特徴マップないし第Ｔ−Ｋ特徴マップが生成される。
【００９０】
すると図６Ｂに示されたとおりリグレッションロスブロック６０５はサイズとチャネル数がＷ／２×Ｈ／２×Ｃで同一の第２−１特徴マップ（２−１Ｆｅａｔ）と第Ｔ−１特徴マップ（Ｔ−１Ｆｅａｔ）を比較して第１リグレッションロスを算出する。同様に、リグレッションロスブロック６０５はサイズとチャネル数がＷ／４×Ｈ／４×２Ｃで同一の第２−２特徴マップ（２−２Ｆｅａｔ）と第Ｔ−２特徴マップ（Ｔ−２Ｆｅａｔ）を比較して第２リグレッションロスを算出し、サイズとチャネル数がＷ／８×Ｈ／８×４Ｃで同一の第２−３特徴マップ（２−３Ｆｅａｔ）と第Ｔ−３特徴マップ（Ｔ−３Ｆｅａｔ）を比較して第３リグレッションロスを算出する方式で各第２−１特徴マップないし第２−Ｋ特徴マップに対するリグレッションロスを算出する。そして、装置６００はこのように算出されたリグレッションロスを利用した第２バックプロパゲーション過程を通じて第１−１ないし第１−Ｋフィルタブロック及び２−１ないし２−Ｋアップサンプリングブロックのパラメータを調整する。この時、ティーチャーフィーチャーコンピュテーションブロックの第Ｔ−１、第Ｔ−２、…、Ｔ−Ｋフィルタブロック（６１０＿１、６１０＿２、…、６１０＿Ｋ）は事前学習を通じて得た固定されたパラメータを利用して学習を進行する。そして、図６Ａの装置６００は各パラメータに対する学習が完了するとスチューデントフィーチャーコンピュテーションブロック６０１とアプリケーションブロック６０２のみを利用してｔｅｓｔ過程を遂行し得る。
【００９１】
図７は本発明の一実施例にかかる物体を検出するための装置の構成図を示す。図７に示された例ではアプリケーションブロック６０２がオブジェクトディテクションブロック（物体検出ブロック、７００）である場合を示す。図７を参照すれば、フィーチャーコンピュテーションブロック４００で生成された特徴マップ（２−１  ＦＥＡＴ、２−２  ＦＥＡＴ、…、２−Ｋ  ＦＥＡＴ）がオブジェクトディテクションブロック７００に伝達され、オブジェクトディテクションブロック７００ではフィーチャーコンピュテーションブロック４００から特徴マップのうち少なくとも一部が伝達され得る。具体的に、オブジェクトディテクションブロック７００内のＦＣレイヤは伝達された特徴マップに特定の演算、例えば、ＦＣ演算、リグレッション演算、またはクラシフィケーション演算を遂行して中間産物を獲得し、これらをマージレイヤに伝達してアプリケーション−特定出力を生成する。ここで、アプリケーション−特定出力は物体を検出した結果である。
【００９２】
図７を再び参照すれば、本発明にかかるフィーチャーコンピュテーションブロック４００は演算量が減って演算速度が増加したが、検出正確度はそのまま維持し得る。ここで、アプリケーションブロック６０２の例は図７に示されたセマンティックセグメンテーションブロックまたはオブジェクトディテクションブロック７００であり得る。
【００９３】
本発明技術分野の通常の技術者に理解され得ることとして、上で説明されたイメージ、例えば入力イメージ、トレーニングイメージ、テストイメージのようなイメージデータの送受信が学習装置及びテスト装置の通信部によってなされ得て、特徴マップと演算を遂行するためのデータが学習装置及びテスト装置のプロセッサ（及び／または、メモリ）によって保有／維持され得て、コンボリューション演算、デコンボリューション演算、エラー値演算過程が主に学習装置及びテスト装置のプロセッサによって遂行され得るが、本発明がこれに限定されるものではない。
【００９４】
以上で説明された本発明にかかる実施例は多様なコンピュータ構成要素を通じて遂行され得るプログラム命令語の形態で具現されてコンピュータで判読可能な記録媒体に記録され得る。前記コンピュータで判読可能な記録媒体はプログラム命令語、データファイル、データ構造などを単独または組み合わせて含まれ得る。前記コンピュータで判読可能な記録媒体に記録されるプログラム命令語は本発明のために特別に設計されて構成されたものか、コンピュータソフトウェア分野の当業者に公知となって使用可能なものでもよい。コンピュータで判読可能な記録媒体の例には、ハードディスク、フロッピィディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような磁気−光媒体（ｍａｇｎｅｔｏ−ｏｐｔｉｃａｌ  ｍｅｄｉａ）、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令語を保存して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるもののような機械語コードだけではなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードも含まれる。前記ハードウェア装置は本発明にかかる処理を遂行するために一つ以上のソフトウェアモジュールとして作動するように構成されることがあり、その逆も同様である。
【００９５】
以上、本発明が具体的な構成要素などのような特定の事項と限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解を助けるために提供されたものであるに過ぎず、本発明が前記実施例に限定されるものではなく、本発明が属する技術分野において通常の知識を有する者であればかかる記載から多様な修正及び変形が行なわれ得る。
【００９６】
従って、本発明の思想は前記説明された実施例に極限されて定められてはならず、後述する特許請求の範囲だけではなく、本特許請求の範囲と均等または等価的に変形されたすべてのものは本発明の思想の範疇に属するといえる。
【図１】
2019067407.tif 000003
【図２Ａ】
2019067407.tif 000004
【図２Ｂ】
2019067407.tif 000005
【図３】
2019067407.tif 000006
【図４】
2019067407.tif 000007
【図５】
2019067407.tif 000008
【図６Ａ】
2019067407.tif 000009
【図６Ｂ】
2019067407.tif 000010
【図７】
2019067407.tif 000011
【外国語明細書】
2019067407000001.pdf