JP7346267B2 - 情報処理装置、中継装置、システム、情報処理装置の制御方法、中継装置の制御方法およびプログラム - Google Patents

情報処理装置、中継装置、システム、情報処理装置の制御方法、中継装置の制御方法およびプログラム Download PDF

Info

Publication number
JP7346267B2
JP7346267B2 JP2019219692A JP2019219692A JP7346267B2 JP 7346267 B2 JP7346267 B2 JP 7346267B2 JP 2019219692 A JP2019219692 A JP 2019219692A JP 2019219692 A JP2019219692 A JP 2019219692A JP 7346267 B2 JP7346267 B2 JP 7346267B2
Authority
JP
Japan
Prior art keywords
information processing
trained model
terminal
request
processing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019219692A
Other languages
English (en)
Other versions
JP2021089582A (ja
Inventor
尚弥 小杉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2019219692A priority Critical patent/JP7346267B2/ja
Publication of JP2021089582A publication Critical patent/JP2021089582A/ja
Application granted granted Critical
Publication of JP7346267B2 publication Critical patent/JP7346267B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、情報処理装置、中継装置、システム、情報処理装置の制御方法、中継装置の制御方法およびプログラムに関する。
画面上の画像データを圧縮してクライアント端末に送信する技術が、特許文献1に提案されている。特許文献1の技術では、サーバ端末が、画面上の複数の種別のグラフィカル・ユーザ・インタフェース(GUI)部品を含む表示画像の少なくとも一部の領域の画像データを圧縮してクライアント端末に送信する。
特開2010-55280号公報
例えば、エッジ端末(端末)が、サーバから取得した学習済みモデルを用いて、推論処理を行うケースを想定する。一般的に、エッジ端末は、ハードウェアリソースが豊富ではないため、多くの学習済みモデルを保持することが難しい。そこで、学習済みモデルの圧縮を行い、圧縮された学習済みモデルをエッジ端末に保持させることが考えられる。ただし、学習済みモデルの圧縮が行われると、学習済みモデルを用いた推論精度が低下するため、学習済みモデルの圧縮度合いは低いことが望ましい。一方、エッジ端末のハードウェアのリソース状態は動的に変化する。このため、エッジ端末のリソース状態の変化に応じて、学習済みモデルの圧縮度合いを制御することは難しく、適正な度合いで圧縮された学習済みモデルを用いることが難しく、推論精度の低下が生じることがある。
本発明は、端末のリソース状態が動的に変化しても、学習済みモデルによる推論精度の低下を抑制することを目的とする。
上記目的を達成するために、本発明の情報処理装置は、端末から学習済みモデルのリクエストともに前記端末のリソース状態を受信する受信手段と、前記リソース状態に応じた圧縮度合いで前記リクエストの対象となる学習済みモデルを圧縮する制御を行う制御手段と、圧縮された前記学習済みモデルを前記端末に送信する送信手段と、を備えることを特徴とする。
本発明によれば、端末のリソース状態が動的に変化しても、学習済みモデルによる推論精度の低下を抑制することができる。
本実施形態のシステムの構成例を示す図である。 情報処理装置の構成例の一例を示すブロック図である。 撮像装置の構成例の一例を示すブロック図である。 リソース状態と学習済みモデルの圧縮度合いとの対応関係を示すテーブルである。 学習済みモデルの管理の一例を示すテーブルである。 撮像装置の処理の流れを示すフローチャートである。 情報処理装置の処理の流れの一例を示すフローチャートである。 学習済みモデルの生成処理の一例を示すフローチャートである。 変形例のシステムの構成例を示す図である。
以下、本発明の各実施の形態について図面を参照しながら詳細に説明する。しかしながら、以下の各実施の形態に記載されている構成はあくまで例示に過ぎず、本発明の範囲は各実施の形態に記載されている構成によって限定されることはない。
以下、図面を参照して、本実施形態を説明する。図1は、本実施形態のシステム100の構成例を示す図である。システム100において、撮像装置101と情報処理装置102とは、ネットワーク106、107を介して接続されている。ネットワーク106、107は、有線通信または無線通信が可能なネットワークである。本実施形態では、エッジ端末(端末)として撮像装置101を適用しているが、エッジ端末としては、例えば、スマートフォンやタブレット端末等の任意の端末が適用されてもよい。情報処理装置102は、複数の学習済みモデル103を保持またはキャッシュ(保存)する。学習済みモデル103は、圧縮された学習済みモデル、または圧縮されていない学習済みモデル(オリジナルの学習済みモデル)である。情報処理装置102は、複数の学習済みモデル103のうちから任意の学習済みモデルを選択して、選択された学習済みモデルを圧縮する。そして、情報処理装置102は、選択された学習済みモデルを圧縮して、圧縮済み学習済みモデル105を生成する。圧縮済み学習済みモデル105は、図1では、学習済みモデルA’と表記される。情報処理装置102は、例えば、クラウドサーバ等である。
学習済みモデルは、任意の機械学習により得られるモデルである。学習済みモデルは、例えば、誤差逆伝搬法等によりパラメータが調整された学習済みのニューラルネットワークであってもよい。学習済みモデルは、ニューラルネットワーク以外のモデルであってもよい。例えば、学習済みモデルは、サポートベクターマシンにより学習されたモデルであってもよい。
撮像装置101は、ネットワーク106を介して、学習済みモデルのリクエストおよび自身のリソース状態を情報処理装置102に送信する。リソース状態は、例えば、撮像装置101のCPU使用率やメモリ使用率、筐体温度、バッテリー容量等、撮像装置101の処理状態に応じて動的に変化する撮像装置101の負荷を示す情報である。リソース状態は、CPU使用率とメモリ使用率と筐体温度とバッテリー容量とを組み合わせた指標であってもよい。また、リソース状態は、撮像装置101の元々のメモリ容量や処理スペック等の性能や機能等を含んでもよい。
情報処理装置102は、撮像装置101から受信したリクエストおよびリソース状態から、リクエストの対象となる学習済みモデル104の圧縮度合いを決定する。リクエストの対象となる学習済みモデル104は、図1では、学習済みモデルA’と表記される。情報処理装置102は、撮像装置101からのリクエストおよびリソース状態に応じた圧縮度合いの学習済みモデルをキャッシュしている場合、ネットワーク107を介して、キャッシュしている学習済みモデルを撮像装置101に送信する。一方、情報処理装置102は、上記圧縮度合いの学習済みモデルをキャッシュしていない場合、リクエスト対象の学習済みモデルを、決定された圧縮度合いで圧縮する。そして、情報処理装置102は、圧縮済み学習済みモデル105の生成およびキャッシュを行う。また、情報処理装置102は、ネットワーク107を介して、生成された圧縮済み学習済みモデルを撮像装置101に送信する。ネットワーク106と107とは一体的なネットワークであってもよいし、別個なネットワークであってもよい。また、ネットワーク106および107は、無線ネットワークであってもよい。
以上のように、情報処理装置102は、撮像装置101のリソース状態から判定した圧縮度合いで学習済みモデルを圧縮する。撮像装置101のリソース状態は動的に変化するが、情報処理装置102は、撮像装置101からのリクエストおよびリソース状態に応じて、可能な限り低い圧縮度合いで学習済みモデルを圧縮する。そして、撮像装置101は、圧縮された学習済みモデルを用いて、推論を行うことができる。これにより、撮像装置101の本来の機能を阻害せずに、撮像装置101が推論を行う際の精度低下を抑制できる。
図2は、情報処理装置102の構成例の一例を示すブロック図である。情報処理装置102は、CRTディスプレイ201、VRAM202、BMU203、キーボード204、PD205、CPU206、ROM207、RAM208およびHDD209を有する。また、情報処理装置102は、フレキシブルディスク210、ネットワークI/F211およびバス212を有する。情報処理装置102の構成は、図2の例には限定されない。CRT(Cathode Ray Tube)ディスプレイ(CRTディスプレイ201)には、アイコンやメッセージ、メニューその他のユーザインタフェース情報が表示される。これらのインタフェース情報は、情報処理装置102により管理される。
VRAM202には、CRTディスプレイ201に表示するための画像が描画される。VRAM202に生成された画像データは、所定の規定に従ってCRTディスプレイ201に転送される。これにより、CRTディスプレイ201に画像が表示される。BMU(ビットムーブユニット)203は、例えば、メモリ間(例えば、VRAM202と他のメモリとの間)のデータ転送や、メモリと各I/Oデバイス(例えば、ネットワークI/F211)との間のデータ転送を制御する。キーボード204は、文字等を入力するための各種キーを有する。PD(ポインティングデバイス)205は、例えば、CRTディスプレイ201に表示されたアイコンやメニューその他のコンテンツを指示またはオブジェクトのドラッグドロップ等の操作に用いられる。
CPU206は、ROM207、HDD209またはフレキシブルディスク210に格納されたOSや後術するプログラム等の制御プログラムに基づいて、各デバイスを制御する。CPU206は、制御手段に対応する。ROM207は、各種制御プログラムやデータを保存する。RAM208は、CPU206のワーク領域、エラー処理時のデータの退避領域、制御プログラムのロード領域等を有する。CPU206が、RAM208にロードされた制御プログラムを実行することで、本実施形態の処理が実現されてもよい。HDD209は、情報処理装置102内で実行される各制御プログラムや一時保管したデータ等のデータを格納する。上述した各学習済みモデルは、例えば、RAM207やHDD209、CPU206のキャッシュメモリ等にキャッシュされてもよい。
ネットワークI/F111は、ネットワーク106および107と接続されており、撮像装置101との間で通信を行う。ネットワークI/F111は、受信手段および送信手段に対応する。ネットワークI/F111は、他の情報処理装置やプリンタ等とネットワークを介して通信を行うこともできる。バス212は、アドレスバス、データバスおよびコントロールバスを含む。CPU206に対する制御プログラムの提供は、ROM207やHDD209、フレキシブルディスク210から行われてもよいし、ネットワークI/F211を介してネットワーク経由で他のサーバ等から行われてもよい。
次に、撮像装置101ついて説明する。図3は、撮像装置300の構成例の一例を示すブロック図である。図3の撮像装置300は、図1の撮像装置101である。撮像装置300は、撮像機能を有する携帯端末であってもよい。撮像装置300は、ズームレンズおよびフォーカスレンズを含む撮影レンズ301、絞り機能を備えるシャッター302、光学像を電気信号に変換するCCDやCMOS素子等で構成される撮像部303を含む。A/D変換器304は、撮像部303から出力されるアナログ信号をデジタル信号に変換する。
バリア305は、撮影レンズ301等を覆うことにより、撮影レンズ301やシャッター302、撮像部303等を含む撮像系の汚れや破損を防止する。画像処理部306は、A/D変換器304が出力した画像データまたはメモリ制御部307から取得した画像データに対して、所定の画像処理(画素補間、縮小といったリサイズ処理や色変換処理等)を施す。また、画像処理部306は、撮像された画像データを用いて所定の演算処理を行う。そして、システム制御部308は、演算結果に基づいて露光制御や測距制御等を行う。A/D変換器304が出力する画像データは、画像処理部306およびメモリ制御部307を介して、またはメモリ制御部307のみを介してメモリ309に書き込まれる。
システム制御部308は撮像装置101全体を制御する。システム制御部308は不揮発性メモリ312に記憶されたプログラムを実行することで、撮像装置101の処理を実現する。メモリ309は、撮像部303により得られ、A/D変換器304によりデジタルデータに変換された画像データや、表示部310に表示するための画像データを格納する。メモリ309は所定枚数の静止画像データや所定時間の動画像データ、音声データ等を格納するのに十分な記憶容量を有している。また、メモリ309は画像表示用のメモリ(ビデオメモリ)を兼ねている。
D/A変換器311は、メモリ309に格納されている画像表示用の画像データをアナログ信号に変換して表示部310に供給する。これにより、メモリ309に書き込まれた表示用の画像データは、D/A変換器311を介して表示部310に表示される。表示部310はLCD等の表示器上に、D/A変換器311からのアナログ信号に応じた表示を行う。不揮発性メモリ312は電気的に消去および記録が可能なメモリであり、例えばEEPROM等が用いられる。不揮発性メモリ312には、システム制御部308の動作用の定数や後述する連携を行うプログラム等の制御プログラム等が記憶される。システムメモリ313は、例えばRAMである。システムメモリ313には、システム制御部308の動作用の定数や変数、不揮発性メモリ312から読み出したプログラム等が展開される。
撮像装置300は、モード切替スイッチ314、第1シャッタースイッチ315、第2シャッタースイッチ316および操作部317を含む。モード切替スイッチ314、第1シャッタースイッチ315、第2シャッタースイッチ316および操作部317は、システム制御部308に各種の動作指示を入力するための操作部である。モード切替スイッチ314は、システム制御部308の動作モードを静止画記録モードや動画記録モード、再生モード等の各種モードのうち何れかに切り替える。第1シャッタースイッチ315は、撮像装置101に設けられたシャッターボタンの操作途中、いわゆる半押し(撮影準備指示)でオンとなり第1シャッタースイッチ信号SW1を発生する。第2シャッタースイッチ316はシャッターボタンの操作完了、いわゆる全押し(撮影指示)でオンとなり、第2シャッタースイッチ信号SW2を発生する。システム制御部308は、第2シャッタースイッチ信号SW2の発生により、撮像部303からの信号読み出しから記録媒体325に画像データを書き込むまでの一連の撮影処理の動作を開始する。
操作部317の各操作部材は表示部310に表示される種々の機能アイコンが選択操作されること等により、場面ごとに適宜機能が割り当てられ、各種機能ボタンとして作用する。機能ボタンとしては、例えば、確認ボタンや終了ボタン、戻るボタン、画像送りボタン、ジャンプボタン、絞込みボタン、属性変更ボタン等がある。例えば、メニューボタンが押下されると各種の設定可能なメニュー画面が表示部310に表示される。ユーザは、表示部310に表示されたメニュー画面や、4方向ボタン、SETボタン等を用いて、直感的に各種設定を行うことができる。
コントローラホイール318は、操作部317に含まれる回転操作可能な操作部材であり、方向ボタンと共に選択項目を指示するとき等に用いられる。システム制御部308はパルス信号に基づいて撮像装置101の各部を制御する。また、システム制御部308はパルス信号によってコントローラホイール318が回転操作された角度や回転数等を判定することができる。なお、コントローラホイール318は回転操作が検出できる操作部材であれば、任意の部材が用いられてもよい。コントローラリング319は、操作部317に含まれる回転操作部材である。コントローラリング319は、レンズ鏡筒周りで光軸を中心として回転する操作が可能である。例えば、コントローラリング319を操作することで回転量(操作量)に応じた電気的なパルス信号が発生する。システム制御部308はパルス信号に基づいて撮像装置101の各部を制御する。また、操作部317に含まれるコントローラリング319の機能切替ボタンが押下されると、コントローラリング319に割り当てる機能を変更可能なメニュー画面が表示部310に表示される。コントローラリング319およびコントローラホイール318は通常モード項目の選択や値の変更に用いられる。
電源スイッチ320は、撮像装置300の電源オンと電源オフとを切り替えるスイッチである。電源制御部321は、電池検出回路やDC-DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成さる。電源制御部321は、電池の装着の有無や電池の種類、電池残量の検出等を行う。また、電源制御部321は検出結果およびシステム制御部308の指示に基づいてDC-DCコンバータを制御し、必要な電圧を必要な期間、記録媒体325を含む各部へ供給する。電源部322は、アルカリ電池やリチウム電池等の一次電池であってもよいし、NiCd電池やNiMH電池、Li電池等の二次電池であってもよいし、ACアダプター等であってもよい。通信部323は、記録媒体325に記憶された画像を外部機器に送信する。インタフェース324は、記録媒体325を制御するインタフェースである。記録媒体325は、半導体メモリや磁気ディスク等から構成される。ネットワークI/F326は、システム制御部308により制御されることで、ネットワーク106および107を介して通信を行う。ネットワークI/F326は、リクエスト手段に対応する。ネットワーク106および107を介して、撮像装置300は、情報処理装置102と通信を行うことができる。
次に、学習済みモデルの圧縮度合いの決定について説明する。図4は、撮像装置300のCPU使用率と学習済みモデルの圧縮度合いとの対応関係を示すテーブルである。図4に示されるテーブルは、情報処理装置102により保持される。学習済みモデルの圧縮手法としては、例えば、量子化や枝刈り、重み共有、蒸留等の任意のモデル軽量化技術が適用できる。量子化は、パラメータのビット数を低減する手法である。枝刈りは、重要度が低いパラメータを削減する手法である。重み共有は、パラメータの重み係数を共有する手法である。
図4のテーブルには、項目401および402が含まれている。項目401は、撮像装置300のリソース状態として、CPU使用率を示す。項目401は、例えば、メモリ使用率等であってもよい。項目402は、CPU使用率に対応して決定される学習済みモデルの圧縮度合いを示す。圧縮度合いが32bitの学習済みモデルが、オリジナルの学習済みモデルである。学習済みモデルの圧縮度合いが高くなるとビット数が少なくなり、圧縮率が高くなる。学習済みモデルの圧縮度合いが高くなると、学習済みモデルの容量が小さくなり、推論精度が低下する。CPU使用率の各値は、学習済みモデルの圧縮度合いを決定する閾値を示す。例えば、CPU使用率が60%を超えた場合、撮像装置300が使用可能な学習済みモデルは8bit以下のパラメータに量子化されたものになる。
図5は、学習済みモデルの管理の一例を示すテーブルである。図5に示されるテーブルは、情報処理装置102により保持される。情報処理装置102は、オリジナルの学習済みモデルを保持するとともに、圧縮された学習済みモデルも併せてキャッシュする。つまり、情報処理装置102は、同種類、且つ圧縮度合いがそれぞれ異なる学習済みモデルを管理することとなる。図5のテーブルにおいて、項目501は、情報処理装置102が管理している学習済みモデルが、どのような被写体の種類に対応しているかを表している。
例えば、項目501の「花」は、花の構図アシスト用の学習済みモデルに対応する。花の構図アシスト用の学習済みモデルは、被写体としての花を撮影する際に最適な構図を発見するための推論を行う学習済みモデルである。また、図5の例では、同種類の被写体として「人物」について圧縮度合いがそれぞれ異なる複数の学習済みモデルが管理されている。例えば、情報処理装置102は、画像から認識された被写体を入力とし、被写体を撮影する際の最適な構図を正解データとして、機械学習を行うことにより、被写体ごとの学習済みモデルを生成してもよい。
項目502は、被写体ごとの学習済みモデルの圧縮度合いを表す。項目503は、学習済みモデルのバージョンを表しており、学習済みモデルの更新状況を管理するために使用される。ここで、オリジナルの学習済みモデル自体が更新される際、同種類の圧縮度の違う学習済みモデルが一括で更新または破棄されてもよい。
次に、撮像装置300の動作について説明する。図6は、撮像装置300の処理の流れを示すフローチャートである。本実施形態では、撮像装置300は、撮影を行う際に認識した被写体の種類に応じて構図アシスト用の学習済みモデルを適用する。本実施形態の構図アシスト機能はあくまでも一例であり、本実施形態の態様には限定されない。ステップS601において、撮像装置300は、ユーザからの撮影開始の指示を受け付けて、撮影を開始する。システム制御部308は、電源スイッチ320の押下による撮像装置30の起動、または第1シャッタースイッチ315の押下による第1シャッタースイッチ信号SW1の発生等に応じて、撮影開始の指示を受け付けたかを判定してもよい。
ステップS602において、システム制御部308は、ユーザが撮影中のライブビュー画像から被写体の認識を行う。被写体の認識は、被写体認識用の学習済みモデルを用いた推論により行われてもよいし、他の被写体認識手法が用いられてもよい。ステップS603において、システム制御部308は、認識被写体が変化したか、または撮像装置300のリソース状態が変化したかを判定する。リソース状態は、例えば、撮像装置300のCPUやメモリ等の使用率である。システム制御部308は、例えば、リソース状態を示す情報を保持している。ここで、リソース状態の変化に関して、システム制御部308は、後述するステップS605にて保持される情報に基づいて、ステップS603の判定処理を行ってもよい。システム制御部308は、モード切替スイッチ314の押下による撮影モードの切り替え等、リソース状態が変化すると予想される処理が行われたかに基づいて、リソース状態が変化したかを判定してもよい。
システム制御部308は、認識被写体が変化したか、またはリソース状態が変化したと判定した場合、処理をステップS604に進める。ステップS604において、システム制御部308は、学習済みモデルを取得するリクエスト、および現在のリソース状態と前回のリクエスト送信時のリソース状態を、情報処理装置102に送信する制御を行う。ここでのリクエストは、認識した被写体を撮影するための構図アシスト用学習済みモデルである。ネットワークI/F326は、リクエストとともに、現在のリソース状態および前回のリクエスト送信時のリソース情報を、ネットワーク106を介して、情報処理装置102に送信する。ステップS605において、システム制御部308は、現在の撮像装置300のリソース状態の情報を保持する。保持されたリソース状態の情報は、ステップS603においてリソース状態の変化を判定するために利用され得る。また、保持されたリソース状態の情報は、ステップS604において、次回のリクエストを送信するときの前回のリクエストを送信したときのリソース状態としても利用され得る。
ネットワークI/F326は、情報処理装置102から、ネットワーク107を介して、撮像装置300のリソース状態に応じて圧縮された学習済みモデルを受信する。ステップS606において、システム制御部308は、情報処理装置102から受信した学習済みモデルを適用する。ステップS603において、システム制御部308は、認識被写体が変化しておらず、且つリソース状態が変化していないと判定した場合、処理をステップS607に進める。また、ステップS606の処理の後、システム制御部308は、処理をステップS607に進める。ステップS607において、システム制御部308は、撮像装置300に適用されている学習済みモデルを用いて構図アシスト用の推論を実行する。
システム制御部308が、従前に適用されていた学習済みモデルまたは新たに適用された学習済みモデルに対して、ステップS602で認識した被写体を入力すると、認識された被写体に最適な構図が推論結果として得られる。ステップS608において、システム制御部308は、学習済みモデルを用いた推論結果に応じて、構図アシストを実行する。学習済みモデルを用いた推論は、例えば、GPU(グラフィックス・プロセッシング・ユニット)等により行われてもよい。
ステップS609において、システム制御部308は、撮影を継続するかを判定する。ステップS609において、システム制御部308は、撮影を継続すると判定した場合、処理をステップS602に戻す。ステップS609において、システム制御部308は、撮影を継続しないと判定した場合、処理を終了させる。システム制御部308は、撮影を継続するかを、構図アシストの実行が完了してから一定時間経過したかを基準として判定してもよい。また、システム制御部308は、撮影を継続するかを、電源スイッチ320の押下により撮像装置300が停止したか、もしくは第2シャッタースイッチ316の押下による第2シャッタースイッチ信号SW2が発生したか等を、基準として判定してもよい。
上述したように、撮像装置300は、認識被写体に変化が生じた場合、またはリソース状態に変化が生じた場合、リソース状態の情報とともに学習済みモデルのリクエストを情報処理装置102に送信する。情報処理装置102は、撮像装置300のリソース状態に応じた圧縮度合いで圧縮した学習済みモデルを撮像装置300に送信する。そして、撮像装置300は、適用する学習済みモデルを切り替える。これにより、撮像装置300は、多種類の学習済みモデルを保持する必要がなくなり、リソース状態に応じた推論を行うことが可能となる。
次に、情報処理装置102の動作について説明する。図7は、情報処理装置102の処理の流れの一例を示すフローチャートである。ステップS701において、情報処理装置102のCPU206は、撮像装置300が送信した学習済みモデルのリクエストとともに、撮像装置300の現在のリソース状態および前回のリクエスト時のリソース状態を受信する。ステップS702において、CPU206は、撮像装置300の現在のリソース状態から、撮像装置300に適用可能な限界の圧縮度合いを決定する。本実施形態では、CPU206は、図4に示されるテーブルを参照して、撮像装置300の現在のリソース状態(項目401)に対応する圧縮度合い(項目402)を決定する。なお、CPU206は、リソース状態に応じた圧縮度合いを、任意の手法で決定してもよい。
ステップS703において、CPU206は、ステップS702で決定された圧縮度合いの学習済みモデルが情報処理装置102にキャッシュされているかを判定する。CPU206は、ステップS702で決定された圧縮度合いの学習済みモデルがキャッシュされていないと判定した場合、処理をステップS704に進める。ステップS704において、CPU206は、ステップS702で決定された圧縮度合いの学習済みモデルを生成する。ステップS704における学習済みモデルの生成に関する詳細な処理については後述する。ここで、情報処理装置102に、生成する学習済みモデルと同種類、且つ圧縮度合いが所定度合い以上高い学習済みモデルをキャッシュされているとする。この場合、CPU206は、ステップS703で決定された圧縮度合いの学習済みモデルを生成する前に、上記の学習済みモデルを撮像装置300に送信する制御を行い、撮像装置300に適用させてもよい。これにより、圧縮した学習済みモデル(構図アシスト用学習済みモデル)を生成するまでの待ち時間を削減することができる。
ステップS703において、CPU206が、ステップS702で決定された圧縮度合いの学習済みモデルが情報処理装置102にキャッシュされていると判定した場合、CPU206は、処理をステップS705に進める。ステップS705において、CPU206は、対象の学習済みモデルを撮像装置300に送信する制御を行う。対象の学習済みモデルは、ステップS704で生成される学習済みモデル、または情報処理装置102にキャッシュされていた学習済みモデルである。対象の学習済みモデルは、撮像装置300のリソース状態に応じて圧縮された学習済みモデルである。対象の学習済みモデルは、情報処理装置102から、ネットワーク107を介して、撮像装置300に送信される。
ステップS706において、CPU206は、現在の撮像装置300のリソース状態と前回リクエスト時のリソース状態(前回にリクエストが送信されたときの撮像装置300のリソース状態)とを比較する。ステップS707において、CPU206は、ステップS706の比較結果から、今後の撮像装置300のリソース状態の変化を予測する。例えば、撮像装置300の過去のリソース状態の変化の履歴から、リソース状態としてのCPU使用率が連続的に上昇している場合、撮像装置300のCPU使用率が今後も上昇すると予想できる。また、撮像装置300の前回のリクエスト時のCPU使用率が、大幅に上昇していた場合(所定量を超えて上昇していた場合)、撮像装置300のCPU使用率が今後も上昇すると予想できる。ステップS707において、CPU206は、現在、撮像装置300に適用されている学習済みモデルの再圧縮が必要であると予測したかを判定する。CPU206は、学習済みモデルの再圧縮が必要でないと予測した場合、処理は終了させる。
CPU206は、学習済みモデルの再圧縮が必要であると予測した場合、処理をステップS708に進める。ステップS708において、CPU206は、ステップS702で決定された圧縮度合いの学習済みモデルが、情報処理装置102にキャッシュされているかを判定する。CPU206は、決定された圧縮度合いの学習済みモデルがキャッシュされていると判定した場合、処理は終了する。一方、CPU206は、決定された圧縮度合いの学習済みモデルがキャッシュされていないと判定した場合、処理をステップS709に進める。ステップS709において、CPU206は、ステップS704と同様に、学習済みモデルの生成を行う。生成された学習済みモデルは、キャッシュされる。そして、処理は、終了する。
上述したように、CPU206は、撮像装置300の現在のリソース状態と前回のリクエスト時の撮像装置300のリソース状態とに基づいて、学習済みモデルの圧縮の必要性を予測する。CPU206は、前回のリクエスト時よりも前の撮像装置300のリソース状態を保持し、保持している各リソース状態に基づいて、学習済みモデルの圧縮の必要性を予測してよい。例えば、上述したように、CPU使用率が連続的に上昇している場合、学習済みモデルの圧縮は必要であると予測される。従って、情報処理装置102は、後の撮像装置のリソース状態の変化の予測に合わせた構図アシスト用学習済みモデルを予め圧縮し、保持しておくことができる。また、情報処理装置102は、ステップS702において学習済みモデルの圧縮度合いを決定した後、リクエストされた学習済みモデル以外の学習済みモデルを、ステップS702で決定された圧縮度合いで圧縮し、キャッシュしてもよい。これにより、情報処理装置102は、リクエストされた被写体以外の構図アシスト用学習済みモデルを予め圧縮して保持しておくことができる。
次に、ステップS704およびステップS708の学習済みモデルの生成について説明する。図8は、学習済みモデルの生成処理の一例を示すフローチャートである。ステップS801において、CPU206は、リクエストの対象となる圧縮度合いの学習済みモデルが、キャッシュされている学習済みモデルよりも高い圧縮が必要かを判定する。ステップS801において、CPU206は、現在キャッシュされている学習済みモデルよりも高い度合いで学習済みモデルを圧縮する必要があると判定した場合、処理をステップS802に進める。ステップS802において、CPU206は、現在、情報処理装置102にキャッシュされている圧縮済みの学習済みモデルを、ステップS702で決定された圧縮度合いで再圧縮する。これにより、再圧縮された学習済みモデルが生成される。
ステップS801にて、CPU206は、現在キャッシュされている学習済みモデルよりも高い度合いで学習済みモデルを圧縮する必要がないと判定した場合、処理をステップS803に進める。ステップS803において、CPU206は、圧縮されていないオリジナルの学習済みモデルを、ステップS702で決定された圧縮度合いで圧縮する。これにより、圧縮された学習済みモデルが生成される。ステップS804において、CPU206は、ステップS802もしくはステップS803で生成された学習済みモデルをキャッシュする。以上により、ステップS704またはステップS709の処理は終了する。
以上、説明したように、情報処理装置102は、撮像装置300から学習済みモデルのリクエストとともに、リソース状態を受信する。そして、情報処理装置102は、撮像装置300のリソース状態に応じた圧縮度合いで、リクエストの対象となる学習済みモデルを圧縮し、圧縮された学習済みモデルを撮像装置300に送信する。これにより、撮像装置300のリソース状態が動的に変化しても、撮像装置300は、動的な変化に対応した学習済みモデルを用いて推論を行うことができる。その結果、学習済みモデルによる推論精度が低下を抑制することができる。上述した実施形態では、学習済みモデルとして、被写体ごとの構図アシスト用の学習済みモデルが適用される例を説明したが、任意の学習済みモデルが適用されてもよい。例えば、本実施形態の学習済みモデルは、被写体を認識する学習済みモデル等であってもよい。
また、情報処理装置102は、撮像装置300に送信する学習済みモデルの圧縮度合いを示す情報を、圧縮された学習済みモデルとともに送信してもよい。このとき、撮像装置300のシステム制御部308は、現在のリソース状態とともに圧縮度合いを示す情報を表示部310に表示してもよい。例えば、表示部310には、現在のリソース状態としてCPU使用率が65%であることを示す情報、および圧縮度合いを示す情報が8bitであることを示す情報が表示されてもよい。これにより、撮像装置300のユーザに対して、学習済みモデルの推論精度がどの程度であるかを提示できる。
次に、変形例について説明する。図9は、変形例におけるシステム900の構成例を示す図である。システム900において、撮像装置101と中継装置901とは、ネットワーク902、905を介して接続されている。中継装置901と情報処理装置102とは、ネットワーク903、904を介して接続されている。情報処理装置102は、複数のオリジナルの学習済みモデル103を保持している。中継装置901は、図7および図8の処理を実施する。中継装置901の構成は、図2の構成を採用することができる。中継装置901は、図8のステップS803において、ネットワーク903、904を介して、情報処理装置102からオリジナルの学習済みモデル104を取得する。そして、中継装置901は、図7のステップS702で決定された圧縮度合いで、取得したオリジナルの学習済みモデルを圧縮する。つまり、中継装置901が情報処理装置102の多くの処理を担い、情報処理装置102が行う通信は、中継装置901との間の通信(オリジナルの学習済みモデルに関する通信)のみになる。これにより、情報処理装置102の通信回数の低減を図ることができる。例えば、情報処理装置102が、上述したようにクラウドサーバである場合、クラウドサーバの処理負荷の軽減が図られる。なお、上述した、現在のリソース状態および圧縮度合いを示す情報は、中継装置901の画面に表示されてもよい。
以上、本発明の好ましい実施の形態について説明したが、本発明は上述した各実施の形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。本発明は、上述の各実施の形態の1以上の機能を実現するプログラムを、ネットワークや記憶媒体を介してシステムや装置に供給し、そのシステム又は装置のコンピュータの1つ以上のプロセッサーがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100 システム
101 撮像装置
102 情報処理装置
206 CPU
211 ネットワークI/F
308 システム制御部
326 ネットワークI/F
901 中継装置

Claims (16)

  1. 端末から学習済みモデルのリクエストともに前記端末のリソース状態を受信する受信手段と、
    前記リソース状態に応じた圧縮度合いで前記リクエストの対象となる学習済みモデルを圧縮する制御を行う制御手段と、
    圧縮された前記学習済みモデルを前記端末に送信する送信手段と、
    を備えることを特徴とする情報処理装置。
  2. 前記制御手段は、圧縮された前記学習済みモデルをキャッシュすることを特徴とする請求項1に記載の情報処理装置。
  3. 前記制御手段は、前記リソース状態に応じた圧縮度合いで圧縮された学習済みモデルがキャッシュされている場合、前記圧縮する制御を行うことなく、キャッシュされている前記学習済みモデルを送信させる制御を行うことを特徴とする請求項2に記載の情報処理装置。
  4. 前記制御手段は、同種類、且つ圧縮度合いがそれぞれ異なる複数の学習済みモデルをキャッシュすることを特徴とする請求項1乃至3のうち何れか1項に記載の情報処理装置。
  5. 前記端末は、撮像装置であり、
    前記受信手段は、前記撮像装置が認識する被写体が変化した場合、または前記撮像装置のリソース状態が変化した場合に、前記リクエストとともに前記リソース状態を受信することを特徴とする請求項1乃至4のうち何れか1項に記載の情報処理装置。
  6. 前記制御手段は、前記リクエストの対象となる学習済みモデルと同種類且つ圧縮度合いが所定度合いより高い学習済みモデルがキャッシュされている場合、該所定度合いより高い学習済みモデルを、前記リクエストの対象となる学習済みモデルの送信よりも前に、前記端末に送信させる制御を行うことを特徴とする請求項1乃至5のうち何れか1項に記載の情報処理装置。
  7. 前記制御手段は、前記リクエストとともに受信した前記端末のリソース状態と前回にリクエストが送信されたときの前記端末のリソース状態とに基づいて、前記端末のリソース状態を予測し、予測されたリソース状態に基づいて、前記圧縮された学習済みモデルを再圧縮するかを判定することを特徴とする請求項1乃至6のうち何れか1項に記載の情報処理装置。
  8. 前記制御手段は、前記再圧縮をすると判定した場合、再圧縮された学習済みモデルをキャッシュすることを特徴とする請求項7に記載の情報処理装置。
  9. 前記制御手段は、前記リクエストの対象となる学習済みモデルを圧縮する制御を行った場合、前記リクエストの対象となる学習済みモデル以外の学習済みモデルを、同じ圧縮度合いで圧縮する制御を行うことを特徴とする請求項1乃至8のうち何れか1項に記載の情報処理装置。
  10. 前記学習済みモデルの圧縮は、パラメータの量子化により行われることを特徴とする請求項1乃至9のうち何れか1項に記載の情報処理装置。
  11. 端末から学習済みモデルのリクエストともに前記端末のリソース状態を受信し、情報処理装置からオリジナルの学習済みモデルを受信する受信手段と、
    前記リソース状態に応じた圧縮度合いで、前記端末から受信した前記リクエストの対象であり且つ前記情報処理装置から受信したオリジナルの学習済みモデルを圧縮する制御を行う制御手段と、
    圧縮された前記学習済みモデルを前記端末に送信する送信手段と、
    を備えることを特徴とする中継装置。
  12. 端末と、情報処理装置と、を備えるシステムであって、
    前記端末は、
    学習済みモデルのリクエストとともにリソース状態を前記情報処理装置に送信するリクエスト手段、を備え、
    前記情報処理装置は、
    前記リクエストおよび前記リソース状態を受信する受信手段と、
    前記リソース状態に応じた圧縮度合いで前記リクエストの対象となる学習済みモデルを圧縮する制御を行う制御手段と、
    圧縮された前記学習済みモデルを前記端末に送信する送信手段と、
    を備えることを特徴とするシステム。
  13. 端末から学習済みモデルのリクエストともに前記端末のリソース状態を受信する工程と、
    前記リソース状態に応じた圧縮度合いで前記リクエストの対象となる学習済みモデルを圧縮する制御を行う工程と、
    圧縮された前記学習済みモデルを前記端末に送信する工程と、
    を備えることを特徴とする情報処理装置の制御方法。
  14. 端末から学習済みモデルのリクエストともに前記端末のリソース状態を受信し、情報処理装置からオリジナルの学習済みモデルを受信する工程と、
    前記リソース状態に応じた圧縮度合いで、前記端末から受信した前記リクエストの対象であり且つ前記情報処理装置から受信したオリジナルの学習済みモデルを圧縮する制御を行う工程と、
    圧縮された前記学習済みモデルを前記端末に送信する工程と、
    を備えることを特徴とする中継装置の制御方法。
  15. 請求項1乃至10のうち何れか1項に記載の情報処理装置の各手段をコンピュータに実行させるためのプログラム。
  16. 請求項11に記載の中継装置の各手段をコンピュータに実行させるためのプログラム。
JP2019219692A 2019-12-04 2019-12-04 情報処理装置、中継装置、システム、情報処理装置の制御方法、中継装置の制御方法およびプログラム Active JP7346267B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019219692A JP7346267B2 (ja) 2019-12-04 2019-12-04 情報処理装置、中継装置、システム、情報処理装置の制御方法、中継装置の制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019219692A JP7346267B2 (ja) 2019-12-04 2019-12-04 情報処理装置、中継装置、システム、情報処理装置の制御方法、中継装置の制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2021089582A JP2021089582A (ja) 2021-06-10
JP7346267B2 true JP7346267B2 (ja) 2023-09-19

Family

ID=76220441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019219692A Active JP7346267B2 (ja) 2019-12-04 2019-12-04 情報処理装置、中継装置、システム、情報処理装置の制御方法、中継装置の制御方法およびプログラム

Country Status (1)

Country Link
JP (1) JP7346267B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024009632A1 (ja) * 2022-07-07 2024-01-11 コニカミノルタ株式会社 モデル生成装置、モデル生成方法及びプログラム
KR102661026B1 (ko) * 2022-12-21 2024-04-25 한국과학기술원 동적 리소스 적응형 딥러닝 모델 추론 방법 및 상기 방법을 수행하는 딥러닝 모델 추론 장치

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001256144A (ja) 2000-03-10 2001-09-21 Yamaha Corp クライアント装置、サーバ装置およびサーバクライアントシステム
WO2015151159A1 (ja) 2014-03-31 2015-10-08 株式会社 日立製作所 データ転送システムおよびデータ転送方法
WO2018142765A1 (ja) 2017-02-03 2018-08-09 パナソニックIpマネジメント株式会社 学習済みモデル提供方法および学習済みモデル提供装置
JP2019096285A (ja) 2017-11-17 2019-06-20 パナソニックIpマネジメント株式会社 情報処理方法および情報処理システム
CN110210350A (zh) 2019-05-22 2019-09-06 北京理工大学 一种基于深度学习的快速停车位检测方法
CN110516602A (zh) 2019-08-28 2019-11-29 杭州律橙电子科技有限公司 一种基于单目相机和深度学习技术的公交客流统计方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102100973B1 (ko) * 2018-01-24 2020-04-14 주식회사 제네시스랩 공동 학습을 이용한 기계학습 시스템 및 그 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001256144A (ja) 2000-03-10 2001-09-21 Yamaha Corp クライアント装置、サーバ装置およびサーバクライアントシステム
WO2015151159A1 (ja) 2014-03-31 2015-10-08 株式会社 日立製作所 データ転送システムおよびデータ転送方法
WO2018142765A1 (ja) 2017-02-03 2018-08-09 パナソニックIpマネジメント株式会社 学習済みモデル提供方法および学習済みモデル提供装置
JP2019096285A (ja) 2017-11-17 2019-06-20 パナソニックIpマネジメント株式会社 情報処理方法および情報処理システム
CN110210350A (zh) 2019-05-22 2019-09-06 北京理工大学 一种基于深度学习的快速停车位检测方法
CN110516602A (zh) 2019-08-28 2019-11-29 杭州律橙电子科技有限公司 一种基于单目相机和深度学习技术的公交客流统计方法

Also Published As

Publication number Publication date
JP2021089582A (ja) 2021-06-10

Similar Documents

Publication Publication Date Title
JP4154431B2 (ja) 撮像装置及び表示制御方法
JP2013145978A (ja) 撮像装置、その制御方法、プログラム、及び画像処理システム
JP7346267B2 (ja) 情報処理装置、中継装置、システム、情報処理装置の制御方法、中継装置の制御方法およびプログラム
JP4926494B2 (ja) 画像処理装置及び制御方法
CN109040523B (zh) 伪影消除方法、装置、存储介质及终端
CN115016885B (zh) 虚拟机垃圾回收运行方法及电子设备
JP4886571B2 (ja) 撮像装置、画像処理装置及び画像処理システム並びにこれらの制御方法、プログラム
JP7453772B2 (ja) 情報処理装置及びその制御方法、撮像装置システム、プログラム
JP2006352255A (ja) 画像入力システム及びその電源変更方法、並びにプログラム
CN111314606A (zh) 拍照方法、装置、电子设备及存储介质
US10757409B2 (en) Method for controlling information processing device and information processing device
JP2019205161A (ja) 撮像装置、撮像装置の制御方法およびプログラム
US12010419B2 (en) Control apparatus, control method, and non-transitory computer-readable storage medium
US8872959B2 (en) Digital photographing apparatus, method of controlling the same, and recording medium having recorded thereon program for executing the method
JP6765919B2 (ja) 画像処理装置、その制御方法、プログラム
KR20110021194A (ko) 이미지 전송을 위한 표시 제어 방법 및 장치
JP7005292B2 (ja) 撮像装置、制御方法およびプログラム
US20200294211A1 (en) Image display apparatus, image supply apparatus, and control method thereof
CN115485659A (zh) 用于操作伴随处理单元的方法和装置
JP2021060630A (ja) 中間サーバ装置、情報処理装置、通信方法
JP6355392B2 (ja) 記録装置およびその制御方法、並びに記憶媒体
JP6590560B2 (ja) 撮像制御装置およびその制御方法
US20120249839A1 (en) Non-real time image processing method, image capturing apparatus applying the same, and image processing system
CN112751984B (zh) 图像处理装置、图像处理方法和计算机可读介质
JP2010011419A (ja) 通信装置、その制御方法、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230731

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230808

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230906

R151 Written notification of patent or utility model registration

Ref document number: 7346267

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151