(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-28
(45)【発行日】2022-07-06
(54)【発明の名称】ネットワークモジュール、割り当て方法及び装置、電子機器並びに記憶媒体
(51)【国際特許分類】
G06N 3/08 20060101AFI20220629BHJP
G06T 7/00 20170101ALI20220629BHJP
G06N 3/04 20060101ALI20220629BHJP
【FI】
G06N3/08 120
G06T7/00 350C
G06N3/04
(21)【出願番号】P 2020527741
(86)(22)【出願日】2019-10-30
(86)【国際出願番号】 CN2019114460
(87)【国際公開番号】W WO2020173115
(87)【国際公開日】2020-09-03
【審査請求日】2020-05-18
(31)【優先権主張番号】201910139007.4
(32)【優先日】2019-02-25
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】518209698
【氏名又は名称】シェンチェン センスタイム テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】SHENZHEN SENSETIME TECHNOLOGY CO.,LTD
(74)【代理人】
【識別番号】110001427
【氏名又は名称】特許業務法人前田特許事務所
(72)【発明者】
【氏名】リー イー
(72)【発明者】
【氏名】クアン ジャンフイ
(72)【発明者】
【氏名】チェン イーミン
(72)【発明者】
【氏名】ジャン ウェイ
【審査官】金田 孝之
(56)【参考文献】
【文献】中国特許出願公開第108229497(CN,A)
【文献】特開2019-028073(JP,A)
【文献】HE, Kaiming ほか,Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition,[online],2015年04月23日,[令和3年7月21日検索]、インターネット<URL:https://arxiv.org/pdf/1406.4729.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/08
G06T 7/00
G06N 3/04
(57)【特許請求の範囲】
【請求項1】
割り当て方法であって、
画像処理モデルに複数の特徴マップが存在する場合、各前記特徴マップが利用するニューロンを各前記特徴マップに割り当てるために用いられ、前記画像処理モデルが、少なくとも一つ
のネットワークモジュールを含み、前記割り当て方法は、
前記画像処理モデル中の複数の畳み込み層のニューロンの重要性に基づいて、前記ニューロンを選別して第1結果を得るステップであって、前記畳み込み層のニューロンの重要性が、前記画像処理モデル中のbatchnorm層のscaleパラメータによって表され、複数の畳み込み層が前記画像処理モデルの同一深度にあり、且つ各々の畳み込み層がそれぞれ異なるスケールの前記特徴マップを処理するために用いられ、前記第1結果が複数のニューロンを含むステップと、
前記第1結果中の各ニューロンの位置属性に基づいて、各前記ニューロンに対応する前記特徴マップのスケールを決定して、割り当て関係を得るステップであって、前記位置属性が、各ニューロンの属する畳み込み層の位置を表し、前記割り当て関係が、各前記特徴マップと前記特徴マップが利用するニューロンとの間の対応関係を表すステップと、
前記割り当て関係に基づいて、利用するニューロンを各前記特徴マップに割り当てるステップと、を含
み、
前記ネットワークモジュールは、
順にカスケード接続される第1ネットワーク層、第2ネットワーク層及び第3ネットワーク層を含み、
前記第1ネットワーク層は、入力された画像を処理して第1特徴マップを得るために用いられ、
前記第2ネットワーク層は、複数の並列のブランチを含み、
各ブランチが第1サンプリング層を含み、
前記第1サンプリング層が、前記第1特徴マップに対してダウンサンプリングを行って第2特徴マップを得るために用いられ、
異なる前記ブランチ中の前記第1サンプリング層で得られた前記第2特徴マップのスケールが異なり、
前記第3ネットワーク層は、各前記ブランチが出力した特徴マップデータを結合するために用いられることを特徴とする
、
割り当て方法。
【請求項2】
前記画像処理モデル中の複数の畳み込み層のニューロンの重要性に基づいて、前記ニューロンを選別して、第1結果を得るステップの前に、
各ネットワークモジュール中のブランチの数を決定して、予め設定された前記ネットワークモジュールの数に基づいて、前記画像処理モデルを構築するステップと、
前記画像処理モデルをトレーニングして、前記画像処理モデル中のbatchnorm層のscaleパラメータを得るステップと、を更に含むことを特徴とする請求項
1に記載の方法。
【請求項3】
前記画像処理モデル中の複数の畳み込み層のニューロンの重要性に基づいて、前記ニューロンを選別して、第1結果を得る前記ステップは、
前記画像処理モデルを予めトレーニングして得られたbatchnorm層のscaleパラメータの値に基づいて、前記scaleパラメータの対応する複数の前記畳み込み層のニューロンを順序付けて、複数の前記畳み込み層中のニューロンの並び順序を表す第1シーケンスを得るステップと、
予め設定された計算量に基づいて、複数の前記特徴マップを処理するための予備ニューロン数量を決定するステップと、
決定された前記予備ニューロン数量に基づいて、前記第1シーケンスから必要なニューロンを順に抽出して、前記第1結果を得るステップと、を含むことを特徴とする請求項
1又は2に記載の方法。
【請求項4】
前記割り当て関係に基づいて、利用するニューロンを各前記特徴マップに割り当てるステップの後に、
前記割り当て関係に基づいて、前記画像処理モデルの第1ネットワーク構造を決定するステップと、
前記第1ネットワーク構造の画像処理モデルをトレーニングするステップと、を更に含むことを特徴とする請求項
3に記載の方法。
【請求項5】
割り当て装置であって、
画像処理モデルに複数の特徴マップが存在する場合、各前記特徴マップが利用するニューロンを各前記特徴マップに割り当てるために用いられ、前記画像処理モデルが、少なくとも一つ
のネットワークモジュールを含み、前記割り当て装置は、
前記画像処理モデル中の複数の畳み込み層のニューロンの重要性に基づいて、前記ニューロンを選別して第1結果を得るための選別モジュールであって、前記畳み込み層のニューロンの重要性が、前記画像処理モデル中のbatchnorm層のscaleパラメータによって表され、複数の畳み込み層が前記画像処理モデルの同一深度にあり、且つ各々の畳み込み層がそれぞれ異なるスケールの前記特徴マップを処理するために用いられ、前記第1結果が複数のニューロンを含む選別モジュールと、
前記第1結果中の各ニューロンの位置属性に基づいて、各前記ニューロンに対応する前記特徴マップのスケールを決定して、割り当て関係を得るための統計モジュールであって、前記位置属性が、各ニューロンの属する畳み込み層の位置を表し、前記割り当て関係が、各前記特徴マップと前記特徴マップが利用するニューロンとの間の対応関係を表す統計モジュールと、
前記割り当て関係に基づいて、利用するニューロンを各前記特徴マップに割り当てるための割り当てモジュールと、を含
み、
前記ネットワークモジュールは、
順にカスケード接続される第1ネットワーク層、第2ネットワーク層及び第3ネットワーク層を含み、
前記第1ネットワーク層は、入力された画像を処理して第1特徴マップを得るために用いられ、
前記第2ネットワーク層は、複数の並列のブランチを含み、
各ブランチが第1サンプリング層を含み、
前記第1サンプリング層が、前記第1特徴マップに対してダウンサンプリングを行って第2特徴マップを得るために用いられ、
異なる前記ブランチ中の前記第1サンプリング層で得られた前記第2特徴マップのスケールが異なり、
前記第3ネットワーク層は、各前記ブランチが出力した特徴マップデータを結合するために用いられることを特徴とする
、
割り当て装置。
【請求項6】
前記選別モジュールが前記画像処理モデル中の複数の畳み込み層のニューロンの重要性に基づいて、前記ニューロンを選別する前に、各ネットワークモジュール中のブランチの数を決定して、予め設定された前記ネットワークモジュールの数に基づいて、前記画像処理モデルを構築するためのモデル構築モジュールと、
前記画像処理モデルをトレーニングして、前記画像処理モデル中のbatchnorm層のscaleパラメータを得るための第1トレーニングモジュールと、を更に含むことを特徴とする請求項
5に記載の装置。
【請求項7】
前記選別モジュールは、
前記画像処理モデルを予めトレーニングして得られたbatchnorm層のscaleパラメータの値に基づいて、前記scaleパラメータの対応する複数の前記畳み込み層のニューロンを順序付けて、複数の前記畳み込み層中のニューロンの並び順序を表す第1シーケンスを得るための順序付けサブモジュールと、
予め設定された計算量に基づいて、複数の前記特徴マップを処理するための予備ニューロン数量を決定するためのニューロン数決定サブモジュールと、
決定された前記予備ニューロン数量に基づいて、前記第1シーケンスから必要なニューロンを順に抽出して、前記第1結果を得るためのニューロン抽出サブモジュールと、を含むことを特徴とする請求項
5又は6に記載の装置。
【請求項8】
前記割り当てモジュールが前記割り当て関係に基づいて、利用するニューロンを各前記特徴マップに割り当てた後、前記割り当て関係に基づいて、前記画像処理モデルの第1ネットワーク構造を決定するためのネットワーク構造決定モジュールと、
前記第1ネットワーク構造の画像処理モデルをトレーニングするための第2トレーニングモジュールと、を更に含むことを特徴とする請求項
7に記載の装置。
【請求項9】
電子機器であって、
請求項
1-4のいずれか一項に記載の方法を実行するように構成されるプロセッサと、
プロセッサ実行可能コマンドを記憶するためのメモリと、を含むことを特徴とする電子機器。
【請求項10】
コンピュータ読取可能記憶媒体であって、
コンピュータプログラムコマンドが記憶され、前記コンピュータプログラムコマンドがプロセッサにより実行される時に、前記プロセッサに、請求項
1-4のいずれか一項に記載の方法を実現させることを特徴とするコンピュータ読取可能記憶媒体。
【請求項11】
コンピュータプログラムであって、
コンピュータ読取可能コードを含み、前記コンピュータ読取可能コードが電子機器中で実行される時に、前記電子機器中のプロセッサに、請求項
1-4のいずれか一項に記載の方法を実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、2019年2月25日に中国特許局に提出された、出願番号が201910139007.4であり、発明の名称が「ネットワークモジュール、割り当て方法及び装置、電子機器並びに記憶媒体」である中国特許出願の優先権を主張し、その開示の全てが参照によって本願に組み込まれる。
【0002】
本開示は、コンピュータビジョン技術に関し、特に、ネットワークモジュール、割り当て方法及び装置、電子機器並びに記憶媒体に関する。
【背景技術】
【0003】
コンピュータビジョンが人工知能の重要部分であり、それに対して画像分類がコンピュータビジョンの基礎となっているので、良い分類ネットワークはコアネットワークとして支援、分割、追跡等のタスクを実行することができる。近年、特徴アグリゲーションは非常に効果的な視覚認識ネットワークの設計方法になっている。
【発明の概要】
【0004】
本開示は、ネットワークモジュール、割り当て方法及び装置、電子機器並びに記憶媒体を提供する。
【0005】
本開示の一態様によれば、ネットワークモジュールを提供し、
順にカスケード接続される第1ネットワーク層、第2ネットワーク層及び第3ネットワーク層を含み、
前記第1ネットワーク層は、入力された画像を処理して第1特徴マップを得るために用いられ、
前記第2ネットワーク層は、複数の並列のブランチを含み、
各ブランチが第1サンプリング層を含み、
前記第1サンプリング層が、前記第1特徴マップに対してダウンサンプリングを行って第2特徴マップを得るために用いられ、
異なる前記ブランチ中の前記第1サンプリング層で得られた前記第2特徴マップのスケールが異なり、
前記第3ネットワーク層は、各前記ブランチが出力した特徴マップデータを結合するために用いられる。
【0006】
可能な一実施形態では、前記第1サンプリング層がプーリング層である。
【0007】
可能な一実施形態では、前記プーリング層が最大プーリング層である。
【0008】
可能な一実施形態では、各ブランチは、前記第1サンプリング層に順にカスケード接続される第1畳み込み層と第2サンプリング層を更に含み、
前記第1畳み込み層は、前記第2特徴マップに対して畳み込み操作を行って第3特徴マップを得るために用いられ、
前記第2サンプリング層は、前記第3特徴マップのスケールを前記第1特徴マップのスケールに復元するために用いられる。
【0009】
可能な一実施形態では、前記第2ネットワーク層は、第2畳み込み層を含む元比例ブランチを更に含み、
前記第2畳み込み層は、前記第1特徴マップに対して畳み込み操作を行って、畳み込み操作で得られた特徴マップデータを前記第3ネットワーク層に入力するために用いられ、
前記第3ネットワーク層は、更に、前記第2ネットワーク層中の前記複数の並列のブランチで出力した特徴マップデータと各前記元比例ブランチで出力した特徴マップデータを結合するために用いられる。
【0010】
本開示の一態様によれば、割り当て方法をさらに提供し、画像処理モデルに複数の特徴マップが存在する場合、各前記特徴マップが利用するニューロンを各前記特徴マップに割り当てるために用いられ、前記画像処理モデルが、少なくとも一つの上記のいずれか一項に記載のネットワークモジュールを含み、前記割り当て方法は、
前記画像処理モデル中の複数の畳み込み層のニューロンの重要性に基づいて、前記ニューロンを選別して第1結果を得るステップであって、複数の畳み込み層が前記画像処理モデルの同一深度にあり、且つ各々の畳み込み層がそれぞれ異なるスケールの前記特徴マップを処理するために用いられ、前記第1結果が複数のニューロンを含むステップと、
前記第1結果中の各ニューロンの位置属性に基づいて、各前記ニューロンに対応する前記特徴マップのスケールを統計して、割り当て関係を得るステップであって、前記位置属性が、各ニューロンの属する畳み込み層を表し、前記割り当て関係が、各前記特徴マップと前記特徴マップが利用するニューロンとの間の対応関係を表すステップと、
前記割り当て関係に基づいて、利用するニューロンを各前記特徴マップに割り当てるステップと、を含む。
【0011】
可能な一実施形態では、前記画像処理モデル中の複数の畳み込み層のニューロンの重要性に基づいて、前記ニューロンを選別するステップの前に、
各ネットワークモジュール中のブランチの数を決定して、予め設定された前記ネットワークモジュールの数に基づいて、前記画像処理モデルを構築するステップと、
前記画像処理モデルをトレーニングして、前記画像処理モデル中のbatchnorm層のscaleパラメータを得るステップであって、前記scaleパラメータが、前記ネットワークモジュールにおける各ブランチ中の畳み込み層のニューロンの重要性を表すステップと、を更に含む。
【0012】
可能な一実施形態では、前記画像処理モデル中の複数の畳み込み層のニューロンの重要性に基づいて、前記ニューロンを選別して、第1結果を得る前記ステップは、
前記画像処理モデルを予めトレーニングして得られたbatchnorm層のscaleパラメータに基づいて、複数の前記畳み込み層のニューロンを順序付けて、複数の前記畳み込み層中のニューロンの並び順序を表す第1シーケンスを得るステップと、
予め設定された計算量に基づいて、複数の前記特徴マップを処理するための予備ニューロン数量を決定するステップと、
決定された前記予備ニューロン数量に基づいて、前記第1シーケンスから必要なニューロンを順に抽出して、前記第1結果を得るステップと、を含む。
【0013】
可能な一実施形態では、前記割り当て関係に基づいて、利用するニューロンを各前記特徴マップに割り当てるステップの後に、
前記割り当て関係に基づいて、前記画像処理モデルの第1ネットワーク構造を決定するステップと、
前記第1ネットワーク構造の画像処理モデルをトレーニングするステップと、を更に含む。
【0014】
本開示の一態様によれば、割り当て装置を更に提供し、画像処理モデルに複数の特徴マップが存在する場合、各前記特徴マップが利用するニューロンを各前記特徴マップに割り当てるために用いられ、前記画像処理モデルが、少なくとも一つの上記のいずれか一項に記載のネットワークモジュールを含み、前記割り当て装置は、
前記画像処理モデル中の複数の畳み込み層のニューロンの重要性に基づいて、前記ニューロンを選別して第1結果を得るための選別モジュールであって、複数の畳み込み層が前記画像処理モデルの同一深度にあり、且つ各々の畳み込み層がそれぞれ異なるスケールの前記特徴マップを処理するために用いられ、前記第1結果が複数のニューロンを含む選別モジュールと、
前記第1結果中の各ニューロンの位置属性に基づいて、各前記ニューロンに対応する前記特徴マップのスケールを統計して、割り当て関係を得るための統計モジュールであって、前記位置属性が、各ニューロンの属する畳み込み層を表し、前記割り当て関係が、各前記特徴マップと前記特徴マップが利用するニューロンとの間の対応関係を表す統計モジュールと、
前記割り当て関係に基づいて、利用するニューロンを各前記特徴マップに割り当てるための割り当てモジュールと、を含む。
【0015】
可能な一実施形態では、
前記選別モジュールが前記画像処理モデル中の複数の畳み込み層のニューロンの重要性に基づいて、前記ニューロンを選別する前に、各ネットワークモジュール中のブランチの数を決定して、予め設定された前記ネットワークモジュールの数に基づいて、前記画像処理モデルを構築するためのモデル構築モジュールと、
前記画像処理モデルをトレーニングして、前記画像処理モデル中のbatchnorm層のscaleパラメータを得るための第1トレーニングモジュールであって、前記scaleパラメータが、前記ネットワークモジュールにおける各ブランチ中の畳み込み層のニューロンの重要性を表す第1トレーニングモジュールと、を更に含む。
【0016】
可能な一実施形態では、前記選別モジュールは、
前記画像処理モデルを予めトレーニングして得られたbatchnorm層のscaleパラメータに基づいて、複数の前記畳み込み層のニューロンを順序付けて、複数の前記畳み込み層中のニューロンの並び順序を表す第1シーケンスを得るための順序付けサブモジュールと、
予め設定された計算量に基づいて、複数の前記特徴マップを処理するための予備ニューロン数量を決定するためのニューロン数決定サブモジュールと、
決定された前記予備ニューロン数量に基づいて、前記第1シーケンスから必要なニューロンを順に抽出して、前記第1結果を得るためのニューロン抽出サブモジュールと、を含む。
【0017】
可能な一実施形態では、
前記割り当てモジュールが前記割り当て関係に基づいて、利用するニューロンを各前記特徴マップに割り当てた後、前記割り当て関係に基づいて、前記画像処理モデルの第1ネットワーク構造を決定するためのネットワーク構造決定モジュールと、
前記第1ネットワーク構造の画像処理モデルをトレーニングするための第2トレーニングモジュールと、を更に含む。
【0018】
本開示の一態様によれば、電子機器を更に提供し、
上記のいずれか一項に記載の方法を実行するように構成されるプロセッサと、
プロセッサ実行可能コマンドを記憶するためのメモリと、を含む。
【0019】
本開示の一態様によれば、コンピュータ読取可能記憶媒体を提供し、コンピュータプログラムコマンドが記憶され、前記コンピュータプログラムコマンドがプロセッサにより実行される時に上記割り当て方法を実現する。
【0020】
本開示の一態様によれば、コンピュータプログラムを提供し、コンピュータ読取可能コードを含み、前記コンピュータ読取可能コードが電子機器中で実行される時に、前記電子機器中のプロセッサが上記割り当て方法を実行する。
【0021】
本開示の実施例では、上記ネットワークモジュールを設置し、ネットワークモジュール中の第2ネットワーク層において複数の並列のブランチを構築し、各ブランチ中の第1サンプリング層によって、第1ネットワーク層で出力した第1特徴マップに対してダウンサンプリングを行うことで、異なる第1サンプリング層のそれぞれにおいて、異なるスケールを有する第2特徴マップを作成するようにし、それによってネットワークモジュールにおいて複数の異なるスケールの特徴マップを直接作成するという目的を達成する。
【0022】
以上の一般説明と以下の詳細説明は解釈するための例示的なものに過ぎず、本開示を制限しないことを理解すべきである。
【0023】
以下の図面と関連付けられた例示的な実施例に対する詳細な説明によれば、本開示の他の特徴および態様は明確になる。
【図面の簡単な説明】
【0024】
【
図1】本開示の実施例に係るネットワークモジュールの構造模式図を示す。
【
図2】本開示の別の実施例に係るネットワークモジュールの構造模式図を示す。
【
図3】本開示のまた1つの実施例に係るネットワークモジュールの構造模式図を示す。
【
図4】本開示の実施例に係る割り当て方法のフローチャートを示す。
【
図5】本開示の実施例に係る割り当て装置のブロック図を示す。
【
図6】本開示の実施例に係る電子機器のブロック図を示す。
【
図7】本開示の実施例に係る電子機器のブロック図を示す。
【発明を実施するための形態】
【0025】
ここの図面は明細書に組み込まれて明細書の一部を構成し、これらの図面は本開示に合致する実施例を示し、明細書と共に本開示の技術的手段を説明するために用いられる。
【0026】
以下に図面を参照しながら本開示の様々な例示的実施例、特徴および態様を詳細に説明する。図面における同じ符号は同じまたは類似する機能の要素を表す。図面において実施例の様々な態様を示したが、特に断らない限り、比例に従って図面を作る必要がない。
【0027】
ここの用語「例示的」とは、「例、実施例として用いられることまたは説明的なもの」を意味する。ここで「例示的」に説明したいかなる実施例も他の実施例より優れたものと理解すべきではない。
【0028】
本明細書の用語の「及び/又は」は、関連対象の関連関係を記述するためのものに過ぎず、3種の関係が存在可能であることを示し、例えば、A及び/又はBは、Aが単独して存在し、AとBが同時に存在し、Bが単独して存在するという3種の場合を示してもよい。また、本明細書の用語の「少なくとも1種」は多種のうちのいずれか1種又は多種のうちの少なくとも2種の任意の組合を示し、例えば、A、B、Cのうちの少なくとも1種を含むということは、A、B及びCから構成される集合から選択されるいずれか1つ又は複数の要素を含むことを示してもよい。
【0029】
また、本開示をより効果的に説明するために、以下の具体的な実施形態において様々な具体的詳細を示す。当業者であれば、何らかの具体的詳細がなくなるにも関わらず、本開示は同様に実施できるということを理解すべきである。いくつかの実施例では、本開示の趣旨を強調するよう、当業者に既知の方法、手段、要素および回路に対する詳細な説明を省略する。
【0030】
図1は本開示の実施例に係るネットワークモジュールの構造模式図を示す。
【0031】
図1に示すように、本開示の実施例のネットワークモジュールは、順にカスケード接続される第1ネットワーク層、第2ネットワーク層及び第3ネットワーク層を含む。ここで、第1ネットワーク層は、入力された画像を処理して、第1特徴マップを得るために用いられる。第2ネットワーク層は、複数の並列のブランチを含み、各ブランチが第1サンプリング層を含み、第1サンプリング層が、第1特徴マップに対してダウンサンプリングを行って第2特徴マップを得るために用いられる。第1サンプリング層は、第1特徴マップに対してダウンサンプリングを行って、第2特徴マップを得るために用いられる。ここで、異なるブランチ中の第1サンプリング層で得られた第2特徴マップのスケールが異なる。第3ネットワーク層は、第3ネットワーク層の次の階層に位置するネットワーク層が画像処理操作を継続できるように、各ブランチで出力した特徴マップデータを結合するために用いられ、第3ネットワーク層は、連結(concatenate)層であってよい。
【0032】
それによって、上記ネットワークモジュールを設置し、ネットワークモジュール中の第2ネットワーク層において複数の並列のブランチを構築し、各ブランチ中の第1サンプリング層によって、第1ネットワーク層で出力した第1特徴マップに対してダウンサンプリングを行うことで、異なる第1サンプリング層のそれぞれにおいて、異なるスケールを有する第2特徴マップを作成するようにし、それによってネットワークモジュールにおいて複数の異なるスケールの特徴マップを直接作成するという目的を達成する。
【0033】
異なる深度の特徴マップを接続する方式、ネットワークの同一深度で異なる畳み込みカーネルを利用する方式という二つの方式を利用する関連技術と比べて、本開示の実施例のネットワークモジュールは、各ブランチ中の第1サンプリング層によって異なるスケールの特徴マップを直接作成することができ、即ち、ダウンサンプリング操作によって異なるスケールの特徴マップを作成することができ、それによって、本開示の実施例のネットワークモジュールを採用すれば、実際の状況に応じて異なるスケールの特徴マップを作成することができる。従って、特徴マップの多様性を効果的に高めると共に、得られる特徴マップのスケールの変化範囲をより大きくなり、多様化することができる。また、複数のブランチを設置することでより多様な受容野がもたらされ、ネットワークモジュールを分類や検出タスクに用いる時に分類や検出の精度を効果的に高めることができる。
【0034】
ここで、上記ネットワークモジュールの第2ネットワーク層で設置されるブランチの数は実際の状況に応じて具体的に設定可能であることを説明する必要がある。例えば、ブランチの数は、2、3又は5、10等であってよい。つまり、本開示の実施例のネットワークモジュールにおいて、第2ネットワーク層中のブランチの数はその具体的な計算量に応じて決定し得る。従って、ここでブランチの数が限定されない。
【0035】
また、更に、本開示の実施例に記載されている特徴マップのスケールは、特徴マップの物理的サイズであってもよいし、画像の有効部分のサイズ(例えば、画像の物理的サイズが同様であるが、該画像の一部の画素の画素値をゼロにする等の方式(この方式に限定されない)によって処理されたものとし、これらの処理後の画素以外の画素から構成される部分が有効部分となり、有効部分のサイズが画像の物理的サイズより小さい)等であってもよいが、それらに限定されないことを説明する必要がある。
【0036】
可能な一実施形態では、第1サンプリング層は、プーリング層であってもよいし、画像に対して様々な操作(例えば、拡大、縮小等)を実行可能な他のネットワーク層であってもよい。つまり、第1サンプリング層は、第1特徴マップを処理して、処理して得られる第2特徴マップに異なるスケールを持たせることができるさえできればよい。それによって本開示の実施例のネットワークモジュールの構造上の柔軟性が高められ、更にネットワークモジュールの構築に寄与する。
【0037】
図2は本開示の別の実施例に係るネットワークモジュールの構造模式図を示す。
【0038】
図2に示すように、可能な一実施形態では、第1サンプリング層がプーリング層である場合、プーリング層は、最大プーリング層(max pool)であり得る。即ち、第1サンプリング層は最大プーリング層によって実現されることができる。ここで、第1ネットワーク層は、畳み込み層であってよく、畳み込み層の畳み込みカーネルは、1*1の大きさ(即ち、1*1畳み込み層)であってよい。そのため、第1ネットワーク層(例えば、1*1畳み込み層)によって入力された画像を処理した後、対応する第1特徴マップが得られる。この時に、第1特徴マップは第1スケールを有する。そしてから、第2ネットワーク層中の各ブランチの第1サンプリング層(例えば、最大プーリング層)によって第1スケールを有する第1特徴マップに対してダウンサンプリングを行って(即ち、最大プーリング層によって第1特徴マップに対して最大値プーリング処理を行う)、異なるスケールを有する第2特徴マップを得、それによってネットワークモジュール中で異なるスケールを有する特徴マップを直接作成する目的を達成する。
【0039】
最大プーリングが特徴マップのサイズを効果的に低減できるため、第1サンプリング層として最大プーリング層を用いて第1特徴マップに対してダウンサンプリングを行うことによって、小さいスケールに向けるブランチの後続の画像処理操作(例えば、畳み込み操作)に対して消費する計算量がより少なく、それによって各ブランチでの計算量を効果的に低減して電力消費を低くした。
【0040】
可能な一実施形態では、各ブランチは、第1サンプリング層に順にカスケード接続される第1畳み込み層と第2サンプリング層を更に含む。ここで、第1畳み込み層は、第2特徴マップに対して畳み込み操作を行って、第3特徴マップを得るために用いられる。ここで、第1畳み込み層は大きさが異なる畳み込みカーネルを有する畳み込み層(例えば、3*3畳み込み層、3*3conv)であってよい。また、各ブランチ中の第1畳み込み層の畳み込みカーネルの大きさは、同じであってもよいし、異なっていてもよい。第2サンプリング層は、第3特徴マップのスケールを第1特徴マップのスケールに復元するために用いられる。第2サンプリング層はアップサンプリング(upsample)層であってよい。
【0041】
つまり、各第1サンプリング層が第1特徴マップに対してダウンサンプリングを行って、異なるスケールを有する第2特徴マップを得た後、第1畳み込み層によって異なるスケールの第2特徴マップに対して畳み込み操作を行って、特徴マップの畳み込み処理を実現する。
【0042】
また、第1サンプリング層による第1特徴マップに対するダウンサンプリング操作によって、得られた第2特徴マップが第1特徴マップと比べてスケールにおいて変わりが生じ、また、各ブランチにおいて、第1畳み込み層によって第2特徴マップに対して畳み込み操作を行って得られた第3特徴マップのスケールが、第2特徴マップのスケールと比べて変わりも生じるので、画像の後続の他の処理を円滑に実行するために、この時に、更に第2サンプリング層によって第3特徴マップに対してアップサンプリング操作を行う必要があり、それによって第3特徴マップのスケールを元のスケール(即ち、第1特徴マップのスケール)に復元する。
【0043】
それによって、本開示の実施例のネットワークモジュールにおいてアップサンプリングとダウンサンプリング操作によって異なるスケールの特徴マップの作成が実現されたので、マルチスケール特徴を高効率的に抽出することができる。
【0044】
図3は本開示のまた1つの実施例に係るネットワークモジュールの構造模式図を示す。
【0045】
図3に示すように、本開示の実施例のネットワークモジュールにおいて、第2ネットワーク層は、元比例ブランチを更に含んでもよい。ここで、元比例ブランチが、上述した複数の並列のブランチと並列関係であり、元比例ブランチが、第1特徴マップのスケールを変えることをしない。ここで、元比例ブランチは、第2畳み込み層を含み、第2畳み込み層が、第1特徴マップに対して畳み込み操作を行って、畳み込み操作で得られた特徴マップデータを第3ネットワーク層に入力するために用いられ、第2畳み込み層で畳み込んで得られた特徴データが第1特徴マップのスケールと同様である。ここで、なお、第2畳み込み層は3*3畳み込み層(即ち、3*3conv)であってよい。それに対応するように、第3ネットワーク層は、更に、第2ネットワーク層中の複数の並列のブランチで出力した特徴マップデータと元比例ブランチで出力した特徴マップデータを結合するために用いられる。
【0046】
即ち、第2ネットワーク層に元比例ブランチを設置することによって、元比例ブランチ中の第2畳み込み層で直接第1特徴マップに対して畳み込み操作を行い、特徴マップのスケールを効果的に増加した上で、更に元のスケールの第1特徴マップの処理を保障することができ、それによって処理画像データの完全性と正確性を高め、第1特徴マップ中の一部の特徴の損失を回避した。
【0047】
また、本開示の実施例のネットワークモジュールはニューラルネットワーク構造中の最小基本単位(blockと略称してよい)としてよい。即ち、上記のいずれか1種のネットワークモジュール(block)を繰り返して積み重ねることによって、異なる深度を有するネットワーク構造を構築することができる。ここで、構築するネットワーク構造は、畳み込みニューラルネットワークであってよい。
【0048】
本開示の別の態様によれば、割り当て方法を更に提供する。本開示の割り当て方法は、画像処理モデルに複数の特徴マップが存在する場合、利用するニューロンを各特徴マップに割り当てるために用いられる。ここで、各特徴マップは異なるスケールを有する。画像処理モデルは、畳み込みニューラルネットワークモデルであってよい。
【0049】
図4は本開示の実施例に係る割り当て方法のフローチャートを示す。
図4に示すように、本開示の割り当て方法は、以下のステップを含む。
【0050】
ステップS100において、画像処理モデル中の複数の畳み込み層のニューロンの重要性に基づいて、ニューロンを選別して、第1結果を得る。ここで、ここの複数の畳み込み層が画像処理モデルの同一深度にあり(即ち、複数の畳み込み層が画像処理モデルの同一層にある)、また、各畳み込み層がそれぞれ異なるスケールの特徴マップを処理するために用いられる。また、第1結果は複数のニューロンを含む。
【0051】
ステップS200において、第1結果中の各ニューロンの位置属性に基づいて、各ニューロンに対応する特徴マップのスケールを統計して、割り当て関係を得る。ここで、位置属性は各ニューロンの属する畳み込み層を表す。つまり、位置属性によって、ニューロンがどちらの畳み込み層に属するかを決定する。割り当て関係は、各特徴マップとこの特徴マップが利用するニューロンとの間の対応関係を表す。即ち、割り当て関係に基づいて、各特徴マップがどのニューロンによって処理計算されるかを決定することができる。
【0052】
ステップS300において、割り当て関係に基づいて、利用するニューロンを各特徴マップに割り当てる。
【0053】
そのため、以上で開示された割り当て方法は、画像処理モデル中の複数の畳み込み層のニューロンの重要性に基づいて、ニューロンを選別して、更に選別して得られた第1結果中の各ニューロンの位置に基づいて、各ニューロンに対応する特徴マップのスケールを決定する(即ち、各ニューロンによって処理される特徴マップを決定する)ことで、対応の割り当て関係を得る。最後に、決定された割り当て関係に基づいて、各特徴マップとそれが利用するニューロンとの間の割り当てを行って、ニューロン重要性に基づいて各特徴マップにニューロンを割り当てる目的を実現した。このような割り当て方式はデータに依存するもののであり、異なるデータ集合について決定した割り当て関係が異なり、関連技術において人間の経験で設定する方式と比べて、本開示の実施例の割り当て方法は、最終的に各特徴マップに割り当てるニューロンをより精確なものにする。
【0054】
ここで、本開示の実施例で提供される割り当て方法は、データ処理能力を有するいかなる適切な機器によって実行されてもよく、端末装置とサーバ等を含むが、それらに限定されない。又は、プロセッサによって実行されてもよく、例えば、プロセッサはメモリに記憶された対応のコマンドを呼び出すことで本開示の実施例におけるいずれか1種の割り当て方法を実行する。以下、詳細な説明を省略する。ここで、プロセッサは、汎用プロセッサであってもよく、人工知能プロセッサであってもよい。
【0055】
また、本開示の実施例の割り当て方法において、画像処理モデルに異なるスケールを有する特徴マップが複数存在すべきである。つまり、画像処理モデルは、第1種のネットワーク構造であってよい。第1種のネットワーク構造とは、異なる深度の特徴マップの間に残差を加えて浅層特徴マップと深層特徴マップを組み合わせることで、マルチスケールの特徴マップを導入するものである。画像処理モデルは、第2種のネットワーク構造であってもよい。第2種のネットワーク構造とは、同一深度で異なる畳み込みカーネルを用いて、マルチスケールの特徴マップを導入するものである。画像処理モデルは、第3種のネットワーク構造であってもよい。第3種のネットワーク構造とは、上記のいずれか一項に記載のネットワークモジュール(block)を含むものである(即ち、ネットワークモジュールを繰り返して積み重ねることで構築された所定の深度を有するネットワーク構造)。
【0056】
可能な一実施形態では、画像処理モデルは上記のいずれか一項に記載のネットワークモジュールを含んでよい。ここで、ネットワークモジュールの数は少なくとも1つである。
【0057】
そのため、画像処理モデル中の複数の畳み込み層のニューロンの重要性に基づいて、ニューロンを選別するステップの前に、以下のステップを更に含んでもよい。
【0058】
各ネットワークモジュール中のブランチの数を決定して、決定されたネットワークモジュール中のブランチ数でネットワークモジュールを構築する。更に、予め設定されたネットワークモジュールの数に基づいて、画像処理モデルを構築する。ここで、各ネットワークモデル中のブランチ数は実際に要求される計算量に応じて決定可能である。
【0059】
画像処理モデルをトレーニングして、画像処理モデル中のbatchnorm層のscaleパラメータを得る。ここで、batchnorm層は、正規化処理のために用いられ、scaleパラメータは、ネットワークモジュールにおける各ブランチ中の畳み込み層のニューロンの重要性を表す。
【0060】
即ち、本開示の実施例の割り当て方法は、上記のいずれか一項に記載のネットワークモジュールを含む画像処理モデルに利用可能である。画像処理モデルにネットワークモジュールを含む時に、複数の畳み込み層は、ネットワークモジュールにおける第2ネットワーク層の各ブランチ中の第1畳み込み層及び元比例ブランチ中の第2畳み込み層であってよい。
【0061】
つまり、画像処理モデルに上記のいずれか一項に記載のネットワークモジュールを含む時に、画像処理モデルにおいて同一深度にある複数の畳み込み層は、ネットワークモジュールにおける第2ネットワーク層の各ブランチ中の第1畳み込み層及び/又は第2ネットワーク層の元比例ブランチ中の第2畳み込み層であってよい。
【0062】
なお、画像処理モデルに上記のいずれか一項に記載のネットワークモジュールを含む時に、ネットワークモジュールの数が少なくとも1つである。ネットワークモジュールの数が複数である時に、ニューロンの割り当ては、各ネットワークモジュール(block)の複数の畳み込み層(例えば、第1畳み込み層と第2畳み込み層)中のニューロンに基づいて行われる。更に、ネットワークモジュールの数が複数である時に、複数のネットワークモジュールを順に積み重ねて画像処理モデルを構築してよい。即ち、複数のネットワークモジュールを直列接続するように設置してよく、また、隣接する2つのネットワークモジュールの間にそれぞれ実際の要求に応じて対応するネットワーク層を設置してもよい。ここで具体的に限定されない。
【0063】
例えば、画像処理モデルに20のネットワークモジュールを含む場合(即ち、20のblockを積み重ねて構築した所定の深度を有するネットワーク構造の場合)、20のblockにおける第2ネットワーク層の各ブランチ中の第1畳み込み層と元比例ブランチ中の第2畳み込み層のニューロンをそれぞれ選別して割り当ててよい。ここで、20のblockにおける複数の畳み込み層のニューロンの割り当て過程は同時に行ってもよいし、順次行ってもよい。ここで限定されない。
【0064】
可能な一実施形態では、画像処理モデル中の複数の畳み込み層のニューロンの重要性に基づいて、ニューロンを選別して、第1結果を得るステップは、
画像処理モデルを予めトレーニングして得られたbatchnorm層のscaleパラメータに基づいて、複数の畳み込み層のニューロンを順序付けて、複数の畳み込み層中のニューロンの並び順序を表す第1シーケンスを得るステップと、
予め設定された計算量に基づいて、複数の特徴マップを処理するための予備ニューロン数量を決定するステップと、
決定された予備ニューロン数量に基づいて、第1シーケンスから必要なニューロンを抽出して、第1結果を得るステップと、を含んでよい。
【0065】
即ち、画像処理モデルを予めトレーニングして学習したbatchnorm層のscaleパラメータを判定基準として、複数の畳み込み層中のニューロン(ここで、複数の畳み込み層中の全てのニューロンであってよい)を順序付けて(ここで、高い順に並べる並び順序であってよい)、対応する第1シーケンスを得る。また、更に予め設定された計算量(即ち、実際に必要とされる計算量)によって複数の特徴マップを処理するのに必要とするニューロンの数(予備ニューロン数量)を決定し、決定された予備ニューロン数量に基づいて、第1シーケンスからニューロンの並び順序によって必要なニューロンを順に抽出する。ここで、抽出される必要なニューロンの数が予備ニューロン数量と一致する。
【0066】
そのため、学習したscaleパラメータに基づいて複数の畳み込み層のニューロンを選択することで、複数のニューロンが競争的且つ適応的に割り当てられて、ニューロン割り当ての精確性が効果的に高められると共に、ニューロン割り当ての合理性が効果的に高められた。
【0067】
また、上記のいずれか1種の割り当て方法の実施例では、割り当て関係に基づいて、利用するニューロンを各特徴マップに割り当てる時に、必要とされるニューロンを保留し、必要とされないニューロンを削除する操作を含んでよいことを更に説明する必要がある。
【0068】
可能な一実施形態として、割り当て関係に基づいて、利用するニューロンを各特徴マップに割り当てた後、
割り当て関係に基づいて、画像処理モデルの第1ネットワーク構造を決定し、第1ネットワーク構造の画像処理モデルをトレーニングするステップを更に含んでもよく、それによって画像処理モデルを最適化する目的を達成して、最終的に得られる画像処理モデルに分類や検出タスクでより高い精度を持たせる。
【0069】
本開示の実施例の割り当て方法の過程をより明瞭に説明するために、以下、画像処理モデルに1つのネットワークモジュールを含み、且つこのネットワークモジュールが
図3に示すネットワーク構造であることを例として、より明瞭で詳細に説明する。
【0070】
図3に示すように、
図3に示すネットワークモジュールの第2ネットワーク層は、1つの元比例ブランチと2つのブランチ(第1ブランチと第2ブランチ)を含む。ここで、元比例ブランチ、第1ブランチ及び第2ブランチは全て並列のものとして設置される。元比例ブランチは1つの3*3畳み込み層(即ち、第2畳み込み層、3*3conv)を含み、第1ブランチと第2ブランチのそれぞれは順にカスケード接続される第1サンプリング層(最大プーリング層、max pool)、第1畳み込み層(3*3conv)及び第2サンプリング層(upsample)を含む。この画像処理モデルに対してニューロンを割り当てる時に、主にそれに含まれるネットワークモジュール中の2つの第1畳み込み層と1つの第2畳み込み層のニューロンを割り当てる。
【0071】
ここで、元比例ブランチ中の第2畳み込み層のニューロンの数が10であり(それぞれがニューロン1、ニューロン2、ニューロン3……ニューロン10である)、第1ブランチ中の第1畳み込み層のニューロンの数も10であり(それぞれがニューロン11、ニューロン12、ニューロン13……ニューロン20である)、第2ブランチ中の第1畳み込み層のニューロンの数が同様に10であってよい(それぞれがニューロン21、ニューロン22、ニューロン23……ニューロン30である)と考えられる。
【0072】
また、第2ネットワーク層のブランチ数量が3つ(元比例ブランチ、第1ブランチ及び第2ブランチ)であるので、それらによって作成した特徴マップの数も3枚になる。元比例ブランチ中の特徴マップのスケールが元のスケールであり、第1ブランチで作成した特徴マップのスケールが第1スケールであり、第2ブランチで作成した特徴マップのスケールが第2スケールである。
【0073】
この画像処理モデルをトレーニングすることでbatchnorm層のscaleパラメータを学習した後、scaleパラメータに基づいてこれらの30のニューロンを順序付けて、ニューロンシーケンス(即ち、第1シーケンス)を得る。ここで、得られた第1シーケンスはニューロン1、ニューロン2、ニューロン3、ニューロン4、……、ニューロン28、ニューロン29、ニューロン30である。
【0074】
更に、予め設定された計算量に基づいて、本実施例における画像処理モデルで上記の3種の異なるスケールの特徴マップを処理することに必要なニューロン数(即ち、予備ニューロン数量)が15であると決定する。従って、この時に、決定された予備ニューロン数量に基づいて、第1シーケンスからニューロンの並び順序よって必要なニューロン(それぞれがニューロン1、ニューロン2、ニューロン3、ニューロン4、……、ニューロン14、ニューロン15である)を順に抽出して、第1結果を得るようにしてよい。
【0075】
第1結果中の各ニューロンの位置属性に基づいて、各ニューロンに対応する特徴マップのスケールを統計して、割り当て関係を得る。即ち、ニューロン1、ニューロン2、ニューロン3、ニューロン4、……、ニューロン14、ニューロン15のそれぞれの位置によって、各ニューロンに対応する特徴マップのスケールを決定する。つまり、各ニューロンの位置属性に基づいてどちらのブランチに属するかを決定する。ここで、ニューロン1~ニューロン10が元比例ブランチに属するものであり、こられの10のニューロンに対応する特徴マップのスケールが元のスケールであり、ニューロン10~ニューロン15が第1ブランチに属するものであり、こられの5のニューロンに対応する特徴マップのスケールが第1スケールであると決定してよい。従って、対応する割り当て関係(即ち、ニューロン1~ニューロン15のそれぞれに対応する特徴マップのスケール)が得られる。
【0076】
割り当て関係が決定された後、割り当て関係に基づいて各特徴マップが利用するニューロンを割り当てることが可能になる。即ち、ニューロン1~ニューロン15を保留し、ニューロン20~ニューロン30を含む第2ブランチを削除する。つまり、第2スケールの特徴マップを作成する第2ブランチを捨てる。それによって、この実施例におけるネットワークモジュール中のニューロンの割り当てが完了される。
【0077】
以上の通り、本開示の実施例の割り当て方法では、画像処理モデル内の同一深度の複数の畳み込み層のニューロンの重要性に基づいて、異なるスケールを有する各々の特徴マップにニューロンを割り当てることによって、複数のニューロンが競争的且つ適応的に割り当てられて、割り当て結果の精確度と合理性が効果的に高められると共に、画像処理モデルのネットワーク構造が最適化され、そのように、最適化された画像処理モデルに対して再度トレーニングして分類や検出タスクに適用する時に、分類や検出の精度を高めることができる。
【0078】
本開示に記載されている上記各方法の実施例は、原理と論理に違反しない限り、相互に組み合わせて、組合せ後の実施例を形成することができることが理解され、ページ数に限りがあるので、本開示では詳細な説明を省略する。
【0079】
具体的な実施形態の上記方法において、各ステップの記述順序は厳しい実行順序であるというわけではなく、実施プロセスの何の制限にもならなく、各ステップの具体的な実行順序はその機能と可能な内在的論理に依存することが当業者に理解される。
【0080】
また、本開示は、割り当て装置、電子機器、コンピュータ読取可能記憶媒体及びプログラムを更に提供し、それらはいずれも本開示で提供されるいずれか1種の割り当て方法を実現することに利用可能であり、対応する技術的解決手段及び説明については方法部分の対応の記載を参照してもよく、ここで詳細な説明を省略する。
【0081】
図5は本開示の実施例に係る割り当て装置100のブロック図を示し、
図5に示すように、前記割り当て装置100は、画像処理モデルに複数の特徴マップが存在する場合、各前記特徴マップが利用するニューロンを各前記特徴マップに割り当てるために用いられ、前記画像処理モデルが、少なくとも一つの上記のいずれか一項に記載のネットワークモジュールを含み、前記割り当て装置100は、
前記画像処理モデル中の複数の畳み込み層のニューロンの重要性に基づいて、前記ニューロンを選別して第1結果を得るための選別モジュール110であって、複数の畳み込み層が前記画像処理モデルの同一深度にあり、且つ各々の畳み込み層がそれぞれ異なるスケールの前記特徴マップを処理するために用いられ、前記第1結果が複数のニューロンを含む選別モジュール110と、
前記第1結果中の各ニューロンの位置属性に基づいて、各前記ニューロンに対応する前記特徴マップのスケールを統計して、割り当て関係を得るための統計モジュール120であって、前記位置属性が、各ニューロンの属する畳み込み層を表し、前記割り当て関係が、各前記特徴マップと前記特徴マップが利用するニューロンとの間の対応関係を表す統計モジュール120と、
前記割り当て関係に基づいて、利用するニューロンを各前記特徴マップに割り当てるための割り当てモジュール130と、を含む。
【0082】
可能な一実施形態では、
前記選別モジュールが前記画像処理モデル中の複数の畳み込み層のニューロンの重要性に基づいて、前記ニューロンを選別するステップの前に、各ネットワークモジュール中のブランチの数を決定して、予め設定された前記ネットワークモジュールの数に基づいて、前記画像処理モデルを構築するためのモデル構築モジュールと、
前記画像処理モデルをトレーニングして、前記画像処理モデル中のbatchnorm層のscaleパラメータを得るための第1トレーニングモジュールであって、前記scaleパラメータが、前記ネットワークモジュールにおける各ブランチ中の畳み込み層のニューロンの重要性を表す第1トレーニングモジュールと、を更に含む。
【0083】
可能な一実施形態では、前記選別モジュール110は、
前記画像処理モデルを予めトレーニングして得られたbatchnorm層のscaleパラメータに基づいて、複数の前記畳み込み層のニューロンを順序付けて、複数の前記畳み込み層中のニューロンの並び順序を表す第1シーケンスを得るための順序付けサブモジュールと、
予め設定された計算量に基づいて、複数の前記特徴マップを処理するための予備ニューロン数量を決定するためのニューロン数決定サブモジュールと、
決定された前記予備ニューロン数量に基づいて、前記第1シーケンスから必要なニューロンを順に抽出して、前記第1結果を得るためのニューロン抽出サブモジュールと、を含む。
【0084】
可能な一実施形態では、
前記割り当てモジュールが前記割り当て関係に基づいて、利用するニューロンを各前記特徴マップに割り当てた後、前記割り当て関係に基づいて、前記画像処理モデルの第1ネットワーク構造を決定するためのネットワーク構造決定モジュールと、
前記第1ネットワーク構造の画像処理モデルをトレーニングするための第2トレーニングモジュールと、を更に含む。
【0085】
いくつかの実施例では、本開示の実施例で提供された装置に備えた機能又はモジュールは、上記方法実施例に記載の方法を実行するために用いられ、その具体的な実施形態については上記方法実施例の説明を参照してもよく、簡単化するために、ここで重複説明は割愛する。
【0086】
本開示の実施例は、コンピュータプログラムコマンドが記憶されているコンピュータ読取可能記憶媒体であって、前記コンピュータプログラムコマンドがプロセッサにより実行される時に上記のいずれか一項に記載の割り当て方法を実現するコンピュータ読取可能記憶媒体を更に提供する。コンピュータ読取可能記憶媒体は、非揮発性コンピュータ読取可能記憶媒体であっても、揮発性コンピュータ読取可能記憶媒体であってもよい。
【0087】
本開示の実施例は、上記のいずれか一項に記載の割り当て方法を実行するように構成されるプロセッサと、プロセッサ実行可能コマンドを記憶するためのメモリと、を含む電子機器を更に提供する。
【0088】
本開示の実施例は、コンピュータ読取可能コードを含み、前記コンピュータ読取可能コードが電子機器中で実行される時に、前記電子機器中のプロセッサが上記方法を実行するコンピュータプログラムを更に提供する。
【0089】
電子機器は、端末、サーバ又は他の形態のデバイスとして提供されてよい。
【0090】
図6は例示的な一実施例に基づいて示した電子機器800のブロック図である。例えば、装置800は携帯電話、コンピュータ、デジタル放送端末、メッセージ送受信装置、ゲームコンソール、タブレット装置、医療機器、フィットネス器具、パーソナル・デジタル・アシスタントなどの端末であってよい。
【0091】
図6を参照すると、電子機器800は処理コンポーネント802、メモリ804、電源コンポーネント806、マルチメディアコンポーネント808、オーディオコンポーネント810、入力/出力(I/O)インタフェース812、センサコンポーネント814、および通信コンポーネント816の一つ以上を含むことができる。
【0092】
処理コンポーネント802は通常、電子機器800の全体的な動作、例えば表示、電話の呼び出し、データ通信、カメラ動作および記録動作に関連する動作を制御する。処理コンポーネント802は、上記方法の全てまたは一部のステップを完了するために、一つ以上のプロセッサ820を含んで命令を実行することができる。また、処理コンポーネント802は、他のコンポーネントとの対話のために、一つ以上のモジュールを含むことができる。例えば、処理コンポーネント802は、マルチメディアコンポーネント808との対話のために、マルチメディアモジュールを含むことができる。
【0093】
メモリ804は電子機器800での動作をサポートするために様々なタイプのデータを記憶するように構成される。これらのデータの例は電子機器800において運用するためのあらゆるアプリケーションプログラムまたは方法の命令、連絡先データ、電話帳データ、メッセージ、ピクチャー、ビデオなどを含む。メモリ804は、例えば静的ランダムアクセスメモリ(SRAM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、消去可能なプログラマブル読み取り専用メモリ(EPROM)、プログラマブル読み取り専用メモリ(PROM)、読み取り専用メモリ(ROM)、磁気メモリ、フラッシュメモリ、磁気ディスクまたは光ディスクなどの様々なタイプの揮発性または非揮発性記憶機器またはそれらの組み合わせによって実現できる。
【0094】
電源コンポーネント806は電子機器800の各コンポーネントに電力を供給する。電源コンポーネント806は電源管理システム、一つ以上の電源、および電子機器800のための電力生成、管理および配分に関連する他のコンポーネントを含むことができる。
【0095】
マルチメディアコンポーネント808は前記電子機器800とユーザとの間で出力インタフェースを提供する画面を含む。いくつかの実施例では、画面は液晶ディスプレイ(LCD)およびタッチパネル(TP)を含むことができる。画面がタッチパネルを含む場合、ユーザからの入力信号を受信するために、タッチ画面として実現してもよい。タッチパネルは、タッチ、スライドおよびタッチパネルでのジェスチャを検知するために、一つ以上のタッチセンサを含む。前記タッチセンサはタッチまたはスライド動きの境界を検知するのみならず、前記タッチまたはスライド操作に関連する持続時間および圧力を検出することもできる。いくつかの実施例では、マルチメディアコンポーネント808は前面カメラおよび/または後面カメラを含む。電子機器800が動作モード、例えば撮影モードまたは撮像モードになる場合、前面カメラおよび/または後面カメラは外部のマルチメディアデータを受信することができる。各前面カメラおよび後面カメラは固定された光学レンズ系または焦点距離および光学ズーム能力を有するものであってもよい。
【0096】
オーディオコンポーネント810はオーディオ信号を出力および/または入力するように構成される。例えば、オーディオコンポーネント810は、電子機器800が動作モード、例えば呼び出しモード、記録モードおよび音声認識モードになる場合、外部のオーディオ信号を受信するように構成されたマイク(MIC)を含む。受信されたオーディオ信号はさらにメモリ804に記憶されるか、または通信コンポーネント816によって送信されてもよい。いくつかの実施例では、オーディオコンポーネント810はさらに、オーディオ信号を出力するためのスピーカーを含む。
【0097】
I/Oインタフェース812は処理コンポーネント802と周辺インタフェースモジュールとの間でインタフェースを提供し、上記周辺インタフェースモジュールはキーボード、クリックホイール、ボタンなどであってもよい。これらのボタンはホームボタン、音量ボタン、スタートボタンおよびロックボタンを含むことができるが、これらに限定されない。
【0098】
センサコンポーネント814は電子機器800に各面での状態評価を提供するための一つ以上のセンサを含む。例えば、センサコンポーネント814は電子機器800のオン/オフ状態、コンポーネントの相対的位置決め、例えば前記コンポーネントが電子機器800の表示装置およびキーパッドであることを検出でき、センサコンポーネント814はさらに、電子機器800または電子機器800のあるコンポーネントの位置の変化、ユーザと電子機器800との接触の有無、電子機器800の方位または加減速および電子機器800の温度変化を検出できる。センサコンポーネント814は、いかなる物理的接触もない場合に近傍の物体の存在を検出するために用いられるように構成された近接センサを含む。センサコンポーネント814はさらに、CMOSまたはCCDイメージセンサのような、イメージングアプリケーションにおいて使用するための光センサを含むことができる。いくつかの実施例では、該センサコンポーネント814はさらに、加速度センサ、ジャイロスコープセンサ、磁気センサ、圧力センサまたは温度センサを含むことができる。
【0099】
通信コンポーネント816は電子機器800と他の機器との間の有線または無線通信を実現するように配置される。電子機器800は通信規格に基づく無線ネットワーク、例えばWiFi、2Gまたは3G、またはそれらの組み合わせにアクセスできる。一例示的実施例では、通信コンポーネント816は放送チャネルによって外部の放送管理システムの放送信号または放送関連情報を受信する。一例示的実施例では、前記通信コンポーネント816はさらに、近距離通信を促進させるために、近距離無線通信(NFC)モジュールを含む。例えば、NFCモジュールでは無線周波数識別(RFID)技術、赤外線データ協会(IrDA)技術、超広帯域(UWB)技術、ブルートゥース(BT)技術および他の技術によって実現できる。
【0100】
例示的な実施例では、電子機器800は一つ以上の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、コントローラ、マイクロコントローラ、マイクロプロセッサまたは他の電子要素によって実現し、上記方法を実行するために用いることができる。
【0101】
例示的な実施例では、さらに、非揮発性コンピュータ読み取り可能記憶媒体、例えばコンピュータプログラム命令を含むメモリ804が提供され、上記コンピュータプログラム命令は電子機器800のプロセッサ820によって実行して上記方法を完了することができる。
【0102】
図7は例示的な一実施例に基づいて示した電子機器1900のブロック図である。例えば、電子機器1900はサーバとして提供できる。
図7を参照すると、電子機器1900は、さらに一つ以上のプロセッサを含む処理コンポーネント1922、および、処理コンポーネント1922によって実行可能な命令、例えばアプリケーションプログラムを記憶するための、メモリ1932を代表とするメモリ資源を含む。メモリ1932に記憶されたアプリケーションプログラムはそれぞれが1グループの命令に対応する一つ以上のモジュールを含むことができる。また、処理コンポーネント1922は命令を実行し、それによって上記方法を実行するように構成される。
【0103】
電子機器1900はさらに、電子機器1900の電源管理を実行するように構成された電源コンポーネント1926、電子機器1900をネットワークにアクセスするように構成された有線または無線ネットワークインタフェース1950、および入出力(I/O)インタフェース1958を含むことができる。電子機器1900はメモリ1932に記憶されたオペレーティングシステム、例えばWindows ServerTM、Mac OS XTM、UnixTM、LinuxTM、FreeBSDTMまたは類似するものに基づいて動作できる。
【0104】
例示的な実施例では、さらに、非揮発性コンピュータ読み取り可能記憶媒体、例えばコンピュータプログラム命令を含むメモリ1932が提供され、上記コンピュータプログラム命令は電子機器1900の処理コンポーネント1922によって実行して上記方法を完了することができる。
【0105】
本開示はシステム、方法および/またはコンピュータプログラム製品であってもよい。コンピュータプログラム製品はプロセッサに本開示の各態様を実現させるためのコンピュータ読み取り可能プログラム命令がロードされているコンピュータ読み取り可能記憶媒体を含むことができる。
【0106】
コンピュータ読み取り可能記憶媒体は命令実行機器により使用される命令を保存および記憶可能な有形機器であってもよい。コンピュータ読み取り可能記憶媒体は例えば、電気記憶装置、磁気記憶装置、光記憶装置、電磁記憶装置、半導体記憶装置または上記の任意の適当な組み合わせであってもよいが、これらに限定されない。コンピュータ読み取り可能記憶媒体のさらに具体的な例(非包括的リスト)としては、携帯型コンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュメモリ)、静的ランダムアクセスメモリ(SRAM)、携帯型コンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、機械的符号化装置、例えば命令が記憶されているせん孔カードまたはスロット内突起構造、および上記の任意の適当な組み合わせを含む。ここで使用されるコンピュータ読み取り可能記憶媒体は瞬時信号自体、例えば無線電波または他の自由に伝播される電磁波、導波路または他の伝送媒体を経由して伝播される電磁波(例えば、光ファイバーケーブルを通過するパルス光)、または電線を経由して伝送される電気信号と解釈されるものではない。
【0107】
ここで記述したコンピュータ読み取り可能プログラム命令はコンピュータ読み取り可能記憶媒体から各計算/処理機器にダウンロードされてもよいし、またはネットワーク、例えばインターネット、ローカルエリアネットワーク、広域ネットワークおよび/または無線ネットワークによって外部のコンピュータまたは外部記憶装置にダウンロードされてもよい。ネットワークは銅伝送ケーブル、光ファイバー伝送、無線伝送、ルーター、ファイアウォール、交換機、ゲートウェイコンピュータおよび/またはエッジサーバを含むことができる。各計算/処理機器内のネットワークアダプタカードまたはネットワークインタフェースはネットワークからコンピュータ読み取り可能プログラム命令を受信し、該コンピュータ読み取り可能プログラム命令を転送し、各計算/処理機器内のコンピュータ読み取り可能記憶媒体に記憶する。
【0108】
本開示の動作を実行するためのコンピュータプログラム命令はアセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk、C++などのオブジェクト指向プログラミング言語、および「C」言語または類似するプログラミング言語などの一般的な手続き型プログラミング言語を含む一つ以上のプログラミング言語の任意の組み合わせで書かれたソースコードまたは目標コードであってもよい。コンピュータ読み取り可能プログラム命令は、完全にユーザのコンピュータにおいて実行されてもよく、部分的にユーザのコンピュータにおいて実行されてもよく、スタンドアロンソフトウェアパッケージとして実行されてもよく、部分的にユーザのコンピュータにおいてかつ部分的にリモートコンピュータにおいて実行されてもよく、または完全にリモートコンピュータもしくはサーバにおいて実行されてもよい。リモートコンピュータに関与する場合、リモートコンピュータは、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)を含む任意の種類のネットワークを経由してユーザのコンピュータに接続されてもよく、または、(例えばインターネットサービスプロバイダを利用してインターネットを経由して)外部コンピュータに接続されてもよい。いくつかの実施例では、コンピュータ読み取り可能プログラム命令の状態情報を利用して、例えばプログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)またはプログラマブル論理アレイ(PLA)などの電子回路をパーソナライズすることで、該電子回路はコンピュータ読み取り可能プログラム命令を実行し、それにより本開示の各態様を実現できるようになる。
【0109】
なお、ここで本開示の実施例に係る方法、装置(システム)およびコンピュータプログラム製品のフローチャートおよび/またはブロック図を参照しながら本開示の各態様を説明しが、フローチャートおよび/またはブロック図の各ブロックおよびフローチャートおよび/またはブロック図の各ブロックの組み合わせは、いずれもコンピュータ読み取り可能プログラム命令によって実現できることを理解すべきである。
【0110】
これらのコンピュータ読み取り可能プログラム命令は、機械を製造するために、共通コンピュータ、専用コンピュータまたは他のプログラマブルデータ処理装置のプロセッサへ提供されてもよく、それにより、これらの命令はコンピュータまたは他のプログラマブルデータ処理装置のプロセッサによって実行され、フローチャートおよび/またはブロック図の一つ以上のブロックにおいて指定された機能/動作を実現する手段を創出する。また、これらのコンピュータ読み取り可能プログラム命令は、コンピュータ読み取り可能記憶媒体に記憶し、それによってコンピュータ、プログラマブルデータ処理装置および/または他の機器を特定の方式で動作させるようにしてもよく、それにより、中に保存された命令を有するコンピュータ読み取り可能記憶媒体は、フローチャートおよび/またはブロック図の一つ以上のブロックにおいて指定された機能/動作の各態様を実現する命令を含む製品を備える。
【0111】
コンピュータ読み取り可能プログラムはコンピュータ、他のプログラマブルデータ処理装置、または他の機器にロードすることにより、コンピュータ実施プロセスを生成するように、コンピュータ、他のプログラマブルデータ処理装置または他の機器において一連の動作ステップを実行させるようにしてもよく、それにより、コンピュータ、他のプログラマブルデータ処理装置、または他の機器において実行される命令はフローチャートおよび/またはブロック図の一つ以上のブロックにおいて指定された機能/動作を実現する。
【0112】
図面のうちフローチャートおよびブロック図は本開示の複数の実施例に係るシステム、方法およびコンピュータプログラム製品の実現可能なシステムアーキテクチャ、機能および動作を示す。この点では、フローチャートまたはブロック図における各ブロックは一つのモジュール、プログラムセグメントまたは命令の一部分を代表することができ、前記モジュール、プログラムセグメントまたは命令の一部分は指定された論理機能を実現するための一つ以上の実行可能命令を含む。いくつかの置換としての実現形態では、ブロックに表記される機能は図面に付したものと異なる順序で実現してもよい。例えば、二つの連続的なブロックは実質的に同時に実行してもよく、また、係る機能によって、それらは逆な順序で実行してもよい場合がある。なお、ブロック図および/またはフローチャートにおける各ブロック、およびブロック図および/またはフローチャートにおけるブロックの組み合わせは、指定される機能または動作を実行するハードウェアに基づく専用システムによって実現してもよいし、または専用ハードウェアとコンピュータ命令との組み合わせによって実現してもよいことに注意すべきである。
【0113】
論理に違反しない限り、本開示のそれぞれの実施例は相互に組み合わせることができ、異なる実施例において重点として説明されるものが異なって、重点として説明されていない部分については他の実施例の記載を参照してもよい。
【0114】
以上、本開示の各実施例を記述したが、上記説明は例示的なものに過ぎず、網羅的なものではなく、かつ披露された各実施例に限定されるものでもない。当業者にとって、説明された各実施例の範囲および精神から逸脱することなく、様々な修正および変更が自明である。本明細書に選ばれた用語は、各実施例の原理、実際の適用または市場における技術への改善を好適に解釈するか、または他の当業者に本文に披露された各実施例を理解させるためのものである。