(57)【要約】【課題】ＤＮＮモデルを変更することのできる固体撮像装置、情報処理システム、固体撮像方法及びプログラムを提案する。【解決手段】固体撮像装置は、受光した光を光電変換して画像データを出力する撮像部と、前記撮像部から出力された前記画像データに基づくデータに対してＤＮＮモデルに基づいてＤＮＮを実行するＤＮＮ処理部と、前記ＤＮＮの実行結果に基づいて評価情報を生成する評価部と、少なくとも前記撮像部に電力を供給するバッテリの電力残量を測定し、測定された前記電力残量と、前記評価情報とに基づいて、前記ＤＮＮモデルの消費電力を変更するための制御情報を生成する制御部と、前記制御情報に基づいて前記ＤＮＮモデルの消費電力を変更するＤＮＮ制御部とを備え、前記撮像部と前記ＤＮＮ処理部と前記ＤＮＮ制御部と前記評価部とは、単一のチップ内に配置されている。【選択図】図１
2020120406.tif 000002
【特許請求の範囲】
【請求項１】
受光した光を光電変換して画像データを出力する撮像部と、
前記撮像部から出力された前記画像データに基づくデータに対してＤＮＮモデルに基づいてＤＮＮを実行するＤＮＮ処理部と、
前記ＤＮＮの実行結果に基づいて評価情報を生成する評価部と、
少なくとも前記撮像部に電力を供給するバッテリの電力残量を測定し、測定された前記電力残量と、前記評価情報とに基づいて、前記ＤＮＮモデルの消費電力を変更するための制御情報を生成する制御部と、
前記制御情報に基づいて前記ＤＮＮモデルの消費電力を変更するＤＮＮ制御部と、
を備え、
前記撮像部と前記ＤＮＮ処理部と前記ＤＮＮ制御部と前記評価部とは、単一のチップ内に配置されている固体撮像装置。
【請求項２】
前記撮像部から取得された前記画像データ、前記ＤＮＮ処理部による前記ＤＮＮの実行結果、及び、前記評価部によって生成された前記評価情報のうちの少なくとも１つを選択的に外部へ出力可能な出力部と、
前記画像データ、前記ＤＮＮの実行結果、及び、前記評価情報のうちの少なくとも１つを前記出力部に選択的に出力させる出力制御部と、
を備える請求項１に記載の固体撮像装置。
【請求項３】
前記ＤＮＮ制御部は、前記ＤＮＮモデルの入力画像サイズ及びフィルタサイズのいずれか一方をさらに変更する、
請求項１に記載の固体撮像装置。
【請求項４】
前記ＤＮＮ処理部が実行する前記ＤＮＮモデルを少なくとも１つ記憶している記憶部をさらに備える、
請求項１に記載の固体撮像装置。
【請求項５】
前記記憶部は、前記ＤＮＮ処理部の学習用データを記憶している、
請求項４に記載の固体撮像装置。
【請求項６】
前記ＤＮＮ制御部は、前記制御情報に基づいて、実行した前記ＤＮＮモデルを前記記憶部が記憶している前記ＤＮＮモデルに切り替える、
請求項４に記載の固体撮像装置。
【請求項７】
前記評価部は、前記ＤＮＮ処理部の推論時及び学習時の処理状況を評価して前記評価情報を生成する、
請求項１に記載の固体撮像装置。
【請求項８】
前記評価部は、前記ＤＮＮの認識結果と、前記評価情報とに基づいて正解データを生成する、
請求項１に記載の固体撮像装置。
【請求項９】
前記ＤＮＮ制御部は、前記正解データに基づいて、前記ＤＮＮモデルの前記消費電力を変更する、
請求項８に記載の固体撮像装置。
【請求項１０】
固体撮像装置と、情報処理装置とを含み、
前記固体撮像装置は、
受光した光を光電変換して画像データを出力する撮像部と、
前記撮像部から出力された前記画像データに基づくデータに対してＤＮＮモデルに基づいてＤＮＮを実行するＤＮＮ処理部と、
前記ＤＮＮの実行結果に基づいて評価情報を生成する評価部と、
前記評価情報に基づいて生成された制御情報を受け、前記制御情報に基づいて前記ＤＮＮモデルの消費電力を変更するＤＮＮ制御部と、
を備え、
前記撮像部と前記ＤＮＮ処理部と前記ＤＮＮ制御部と前記評価部とは、単一のチップ内に配置され、
前記情報処理装置は、前記固体撮像装置に電力を供給するバッテリの電力残量を測定し、測定された前記電力残量と、前記評価情報とに基づいて、前記ＤＮＮモデルの消費電力を変更するための前記制御情報を生成する制御部を備える、
情報処理システム。
【請求項１１】
請求項１に記載の固体撮像装置を実現するための固体撮像方法。
【請求項１２】
請求項１１に記載の固体撮像方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、固体撮像装置、情報処理システム、固体撮像方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ニューラルネットワークを搭載した種々の装置が提案されている。例えば、特許文献１には、取得されたネットワーク構造の評価結果に基づいて、より高性能なネットワーク構造を探索する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１８２７１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、デジタルカメラなどに代表される機器には、ＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）やＤＳＰ（Digital  Signal  Processor）を有するイメージセンサが搭載される。近年では、画像処理の多様化・高速化や個人情報の保護等の観点から、例えば、イメージセンサにＤＮＮ（Deep  Neural  Network）の機能を持たせて、高度な処理を実行することが望まれている。
【０００５】
そこで、本開示では、実行するＤＮＮモデルを変更することのできる固体撮像装置、情報処理システム、固体撮像方法及びプログラムを提案する。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本開示に係る一形態の固体撮像装置は、受光した光を光電変換して画像データを出力する撮像部と、前記撮像部から出力された前記画像データに基づくデータに対してＤＮＮモデルに基づいてＤＮＮを実行するＤＮＮ処理部と、前記ＤＮＮの実行結果に基づいて評価情報を生成する評価部と、少なくとも前記撮像部に電力を供給するバッテリの電力残量を測定し、測定された前記電力残量と、前記評価情報とに基づいて、前記ＤＮＮモデルの消費電力を変更するための制御情報を生成する制御部と、前記制御情報に基づいて前記ＤＮＮモデルの消費電力を変更するＤＮＮ制御部とを備え、前記撮像部と前記ＤＮＮ処理部と前記ＤＮＮ制御部と前記評価部とは、単一のチップ内に配置されている。
【図面の簡単な説明】
【０００７】
【図１】本開示の第１実施形態に係る固体撮像システムの構成の一例を示すブロック図である。
【図２】本開示の第１実施形態に係る固体撮像システムの接続関係の一例を説明するための模式図である。
【図３】本開示の第１実施形態に係る固体撮像装置の積層構造の一例を示す模式図である。
【図４】物体検知処理の一例を説明するための図である。
【図５】本開示の第１実施形態に係る固体撮像システムの処理の流れの一例を示すシーケンス図である。
【図６】本開示の第１実施形態に係る固体撮像装置の学習の処理の流れの一例を示すフローチャートである。
【図７】本開示の第１実施形態に係る固体撮像装置の学習の処理の流れの一例を示すフローチャートである。
【図８】本開示の第１実施形態に係る画像データに対する処理を説明するための模式図である。
【図９】本開示の第１実施形態に係る固体撮像システムのユースケースの一例を示す図である。
【図１０】本開示の第１実施形態の変形例に係る固体撮像システムの構成の一例を示すブロック図である。
【図１１】本開示の第２実施形態に係る固体撮像システムの構成の一例を示すブロック図である。
【図１２】本開示の第２実施形態に係る固体撮像システムの接続関係の一例を説明するための模式図である。
【図１３】本開示の第２実施形態に係る固体撮像システムの接続関係の一例を説明するための模式図である。
【図１４】本開示の第３実施形態に係る固体撮像システムの構成の一例を示すブロック図である。
【図１５】本開示の第３実施形態に係る固体撮像システムの接続関係の一例を説明するための模式図である。
【図１６】本開示の固体撮像装置及び情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【０００８】
以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
【０００９】
また、以下に示す項目順序に従って本開示を説明する。
１．第１実施形態
１−１．第１実施形態に係る固体撮像システムの構成
１−２．第１実施形態に係る固体撮像システムの処理
１−３．第１実施形態に係る固体撮像システムのユースケース
１−４．第１実施形態に係る固体撮像システムの変形例
２．第２実施形態
２−１．第２実施形態に係る固体撮像システムの構成
２−２．第２実施形態に係る固体撮像システムの変形例の構成
３．第３実施形態
３−１．第３実施形態に係る固体撮像システムの構成
４．ハードウェア構成
【００１０】
（１．第１実施形態）
[１−１．第１実施形態に係る固体撮像システムの構成]
図１と、図２とを用いて、本開示の第１実施形態に係る固体撮像システムの構成について説明する。図１は、本開示の第１実施形態に係る固体撮像システムの構成の一例を示すブロック図である。図２は、本開示の第１実施形態に係る固体撮像システムの接続関係を説明するための図である。
【００１１】
図１に示すように、固体撮像システム１は、固体撮像装置１００と、情報処理装置２００とを含む。
【００１２】
図２に示すように、固体撮像装置１００と、情報処理装置２００とは、同一の筐体１０の中に存在している。言い換えれば、固体撮像装置１００と、情報処理装置２００とは、同一の筐体１０の中に別チップとして存在している。固体撮像装置１００と、情報処理装置２００とは、ＳｏＣ（System-on-a-chip）、ＭＣＭ（Multi-Chip  Module）、ＳＩＰ（System  In  a  Package）、ＳＯＰ（Small  Outline  Package）などで実装されている。固体撮像システム１は、例えば、インターネット通信網３００によって外部の装置と通信可能に接続されていてもよい。この場合、固体撮像システム１は、例えば、無線通信によって外部の装置と通信可能に接続されていてもよい。固体撮像システム１は、例えば、ＶＰＡ（Virtual  Personal  Assistant）や、車載カメラに適用することができる。
【００１３】
図１に示すように、固体撮像装置１００は、撮像部１１０と、撮像処理部１２０と、ＤＮＮ処理部１３０と、記憶部１４０と、評価部１５０と、ＤＮＮ制御部１６０と、セレクタ１７０と、通信Ｉ／Ｆ１８０と、通信制御部１９０とを備える。
【００１４】
図３は、第１実施形態に係る固体撮像装置１００の積層構造の一例を示す模式図である。図３に示すように、固体撮像装置１００は、例えば、矩形の第１基板１１と、矩形の第２基板１２とが貼り合わされた積層構造を有している。
【００１５】
第１基板１１と、第２基板１２とは、例えば、第１基板１１及び第２基板１２をそれぞれチップに個片化した後、これら個片化された第１基板１１及び第２基板１２を貼り合わせる、いわゆるＣｏＣ（Chip  on  Chip）方式で貼り合わせればよい。また、第１基板１１と第２基板１２とのうち一方（例えば、第１基板１１）をチップに個片化した後、この個片化された第１基板１１を個片化前（すなわち、ウエハ状態）の第２基板１２に貼り合わせる、いわゆるＣｏＷ（Chip  on  Wafer）方式で貼り合わせてもよい。さらに、第１基板１１と第２基板１２とを共にウエハの状態で、いわゆるＷｏＷ（Wafer  on  Wafer）方式で貼り合わせてもよい。
【００１６】
第１基板１１と第２基板１２との接合方法には、例えば、プラズマ接合等を使用することができる。ただし、これに限定されず、種々の接合方法が用いられてよい。
【００１７】
第１基板１１と、第２基板１２とのサイズは、同じであってもよいし、異なっていてもよい。第１基板１１と、第２基板１２とは、例えば、シリコン基板などの半導体基板である。
【００１８】
第１基板１１には、図１に示す固体撮像装置１００の構成要素のうち、例えば、撮像部１１０が配置される。
【００１９】
第２基板１２は、図１に示す固体撮像装置１００の構成要素のうち、例えば、撮像処理部１２０と、ＤＮＮ処理部１３０と、記憶部１４０と、評価部１５０と、ＤＮＮ制御部１６０と、セレクタ１７０と、通信Ｉ／Ｆ１８０と、通信制御部１９０とが配置される。
【００２０】
すなわち、固体撮像装置１００の撮像部１１０は、撮像部１１０以外の構成要素に積層実装された構成を有している。
【００２１】
再び図１を参照する。撮像部１１０は、例えば、ズームレンズ、フォーカスレンズ、絞りなどを備える光学系と、フォトダイオードなどの受光素子を含む単位画素が２次元マトリクス状に配列した構成を備える画素アレイ部とを備える。外部から入射した光は、光学系を介することで、画素アレイ部における受光素子が配列した受光面に結像される。画素アレイ部の各単位画素は、その受光素子に入射した光を光電変換することで、入射光の光量に応じた画像データを生成する。撮像部１１０は、撮像した画像データを撮像処理部１２０に出力する。
【００２２】
撮像処理部１２０は、例えば、画像データをデジタルの画像データに変換する。撮像処理部１２０は、例えば、デジタルに変換した画像データに対して、「前処理」、「データ拡張」、及び「データの正規化」を実行する。前処理は、推論時及び学習時において撮像部１１０に対して実行する処理であり、例えば、デワープ、クロップ、レンズシェーディング補正、ダウンスケール、アップスケールといった処理を含む。データ拡張は、学習時において画像データに対して実行される処理であり、例えば、画像データの縦横比を変更したり、画像データを平行に移動させたり、回転させたり、反転させたり、幾何学的に変形させたりする処理を含む。また、データ拡張は、例えば、画像データの色の濃淡を変更させたり、色を変動させたりする処理を含む。さらに、データ拡張は、例えば、画像データにノイズを加算する処理を含む。データの正規化は、推論時及び学習時に画像データに対して実行される処理であり、例えば、画像データの画素値の平均を０にしたり、画素値の分散を１にしたり、成分間の相関を０にして画像データを白色化したりする処理を含む。撮像処理部１２０は、種々の処理を実行したデジタルの画像データをＤＮＮ処理部１３０と、セレクタ１７０とに出力する。
【００２３】
ＤＮＮ処理部１３０は、例えば、記憶部１４０に記憶されているＤＮＮモデルに基づいて、撮像処理部１２０から入力された画像データに対してＤＮＮを実行することで、画像データに含まれる物体の認識処理を実行する。具体的には、ＤＮＮ処理部１３０は、撮像処理部１２０から受けた画像データに対して、画像データに含まれる物体の検知処理を実行する。ＤＮＮ処理部１３０は、画像データに対するＤＮＮの実行結果を評価部１５０に出力する。ＤＮＮ処理部１３０は、例えば、ＤＳＰで実現することができる。言い換えれば、ＤＮＮ処理部１３０は、ＤＳＰにＤＮＮを実行する機能を持たせることで実現することができる。また、固体撮像装置１００は、ＤＮＮ処理部１３０を、１つのみ備えていてもよいし、複数備えていてもよい。
【００２４】
ここで、図４を用いて、ＤＮＮ処理部１３０が実行する物体検知処理の一例について説明する。図４は、ＤＮＮ処理部１３０が実行する物体検知処理の一例を説明するための図である。なお、図４で示す物体検知処理は一例であり、本開示を限定するものではない。
【００２５】
図４に示すように、ＤＮＮ処理部１３０は、画像分類処理、位置特定処理、物体認識処理、セマンティックセグメンテーション、インスタンスセグメンテーション、キーポイント検出処理などを実行する。
【００２６】
画像分類処理は、画像データ全体に含まれる物体の種類を分類する処理である。例えば、画像分類処理では、画像データに人と動物とが含まれていることを認識する。
【００２７】
位置特定処理は、画像データに含まれる主要な物体の位置と種類とを分類する処理である。例えば、特定処理では、主要な物体として人の位置を特定する。
【００２８】
物体認識処理は、画像データに含まれる複数の物体の位置と、種類とを分類する処理である。例えば、物体認識処理では、人と、動物とを分類し、人と、動物とのそれぞれの位置を認識する。
【００２９】
セマンティックセグメンテーションは、画像データに含まれる複数の物体の位置と種類とを分類し、同一種類の物体に同一のマスキングを施す処理である。例えば、セマンティックセグメンテーションでは、人と、動物とに対して異なるマスキングを施す。ここでは、各動物には、同じマスキングが施される。
【００３０】
インスタンスセグメンテーションは、画像データに含まれる複数の物体の位置と種類とを分類し、物体ごとにマスキングを施す処理である。例えば、インスタンスセグメンテーションでは、人と、各動物とに対して、それぞれ、異なるマスキングが施される。
【００３１】
キーポイント検出処理は、画像データに含まれる複数の物体の位置と種類とを分類し、物体のキーポイントを検出する処理である。例えば、キーポイント検出処理では、人のキーポイントが検出される。
【００３２】
再び図１を参照する。具体的には、ＤＮＮ処理部１３０は、例えば、撮像処理部１２０から受けた画像データに対して畳み込み演算、バイアス加算、活性化演算、プーリング処理を実行することで物体検知処理を行う。
【００３３】
ＤＮＮ処理部１３０が活性化演算で用いる活性化関数としては、例えば、恒等関数、シグモイド関数、ソフトマックス関数、ステップ関数、ＲｅＬＵ関数、及びＴａｎｈ関数を挙げることができるが、これらに限定されない。
【００３４】
また、ＤＮＮ処理部１３０は、例えば、学習時において、誤差や、損失関数の値を計算する。ＤＮＮ処理部１３０は、例えば、勾配降下法、確率的勾配降下法、ニュートン法、準ニュートン法、誤差逆伝搬法などの手法を用いて、対象となるＤＮＮモデルの誤差を計算する。ＤＮＮ処理部１３０は、例えば、最小二乗誤差、交差エントロピー誤差などの手法を用いて、損失関数の値を算出する。
【００３５】
記憶部１４０は、例えば、ＤＮＮ処理部１３０で実行する少なくとも１つのＤＮＮモデルを記憶している。記憶部１４０は、例えば、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子で実現することができる。
【００３６】
記憶部１４０が記憶しているＤＮＮモデルは、例えば、分類分け、物体検知、人体キーポイント認識、顔検出、顔識別、画像生成（例えば、ＧＡＮ（Generative  Adversarial  Network））、再帰型（例えば、ＲＮＮ（Recurrent  Neural  Network））、及びノイズ除去用のモデルを挙げることができる。なお、ここで挙げたＤＮＮの種類は例示であり、本開示を限定するものではない。
【００３７】
記憶部１４０に記憶されているＤＮＮモデルには、例えば、ＩＤなどの識別情報が関連付けられている。言い換えれば、各ＤＮＮモデルは、識別情報で管理されており、識別情報に基づいて、外部から所望のＤＮＮモデルを選択することができるように記憶部１４０に記憶されている。すなわち、記憶部１４０に記憶されているＤＮＮモデルは、識別情報に基づいて、外部から読み出したり、追記や変更など書き込みしたりすることが可能である。また、記憶部１４０が記憶しているＤＮＮモデルには、固体撮像装置１００の識別情報が関連付けられていてもよい。これにより、固体撮像装置１００が複数存在する場合に、どの装置に記憶されていたＤＮＮモデルであるかを判別することができる。記憶部１４０は、推論用のＤＮＮモデルを１つ以上記憶していてもよいし、学習用のＤＮＮモデルを１つ以上記憶していてもよい。また、記憶部１４０は、推論用のＤＮＮモデルと、学習用のＤＮＮモデルとを１つ以上記憶していてもよい。
【００３８】
また、記憶部１４０に記憶されているＤＮＮモデルは、それぞれ、モデル情報で区別されている。モデル情報としては、例えば、入力画像サイズ、フィルタサイズ、フィルタ値、フィルタ数、ストライド数、パディング数、バイアス値、活性化関数の種類、ＤＮＮの精度、損失関数の値、バッチサイズ、正規化の種類、及び学習率などを挙げることができる。なお、ここで挙げたＤＮＮモデルのモデル情報は例示であり、本開示を限定するものではない。
【００３９】
入力画像サイズは、ＤＮＮを実行する画像データのサイズを意味しており、縦画素数×横画素数×チャネル数で定義される。チャネル数は、入力画像の枚数を意味している。
【００４０】
フィルタサイズは、入力画像に適用するフィルタであり、縦画素数×横画素数×チャネル数で定義される。フィルタ値はフィルタの重みであり、学習によって自動的に設定される値である。入力画像にフィルタを適用することで、入力画像の特徴量が抽出される。ここでは、入力画像に対して通常の畳み込み演算（convolution）が実行された場合には、入力画像サイズよりも小さな特徴マップが生成される。また、入力画像に対して転置畳み込み演算（transposed  convolution）が実行された場合には、入力画像サイズよりも大きな特徴マップが生成される。
【００４１】
ストライド数は、入力画像にフィルタを適用する際のフィルタの移動量を意味している。パディング数は、フィルタを適用した後の特徴マップの端の領域の大きさを意味している。バイアス値は、入力画像とは独立して入力される値である、バイアス値は、学習によって自動的に設定される。
【００４２】
活性化関数の種類は上述したような、例えば、恒等関数、シグモイド関数、ソフトマックス関数、ステップ関数、ＲｅＬＵ関数、及びＴａｎｈ関数である。
【００４３】
ＤＮＮの精度は、入力画像の認識精度であり、本実施形態では評価部１５０で評価される。損失関数の値は、最小二乗誤差、交差エントロピー誤差などによって算出される値である。バッチサイズは、学習用データのデータサンプル数を意味している。学習率は、ＤＮＮモデルの学習計数を意味している。
【００４４】
また、記憶部１４０は、例えば、学習用のデータを記憶していてもよい。学習用のデータとしては、例えば、訓練誤差算出用の訓練データや、テスト誤差算出用のテストデータである。記憶部１４０は、学習データをあらかじめ記憶していてもよいし、学習モードの時に撮像部１１０が撮像した画像データを学習データとして記憶してもよい。
【００４５】
記憶部１４０は、例えば、撮像部１１０が撮像した画像データを学習データとして記憶する場合には、画像データをＲａｗデータで記憶する。この場合、撮像部１１０が撮像した画像データは、学習前に撮像処理部１２０によって、「前処理」、「データ拡張」、及び「データの正規化」が行われている。また、記憶部１４０は、画像データをＲａｗデータで記憶しない場合であっても、あらかじめ「前処理」、「データ拡張」、「データの正規化」をしておいてもよい。
【００４６】
評価部１５０は、例えば、ＤＮＮ処理部１３０のＤＮＮの実行結果に基づいて、ＤＮＮ処理部１３０の処理状況を評価し、評価情報を生成する。評価部１５０は、例えば、推論時においては、ＤＮＮ処理部１３０がＤＮＮを実行する際に使用する消費電力や、ＤＮＮの認識精度などを計測して評価情報を生成する。ＤＮＮの精度を判定するために、評価情報には、ＤＮＮの認識精度に関する情報が含まれることが好ましい。評価部１５０は、例えば、学習時においては、ＤＮＮの認識精度や、損失関数の値を計測して評価情報を生成する。評価部１５０は、ＤＮＮ処理部１３０を含む固体撮像装置１００の処理状況を評価して評価情報を生成してもよい。評価部１５０は、評価情報の少なくとも一部を情報処理装置２００に送信する。なお、評価情報には、ＤＮＮモデルのモデル情報、ＤＮＮモデルの識別情報、固体撮像装置１００の識別情報、各部の消費電力、各部の動作周波数、フレームレート、クラス分類数及び物体検知数（ＲＯＩ（Region  Of  Interest）数）を含む分類数などを含む。ここで挙げた評価情報に含まれる情報は例示であり、本開示を限定するものではない。
【００４７】
ＤＮＮ制御部１６０は、情報処理装置２００の制御部２３０から制御情報を取得する。ＤＮＮ制御部１６０は、制御情報に基づいて、記憶部１４０に記憶されているＤＮＮモデルのパラメータを変更する。これにより、ＤＮＮ制御部１６０は、記憶部１４０に記憶されているＤＮＮモデルを別の異なるＤＮＮモデルに変更する。具体的には、ＤＮＮ制御部１６０は、例えば、ＤＮＮモデルの識別情報や固体撮像装置１００の識別情報に基づいて、ＤＮＮモデルを検索して読み出す。そして、ＤＮＮ制御部１６０は、例えば、制御情報に基づいて、ＤＮＮモデルに対して追記や変更などの書き込みを行う。また、ＤＮＮ制御部１６０は、例えば、制御情報に基づいて、ＤＮＮモデルを新規に作成したり、記憶部１４０に記憶されているＤＮＮモデルを削除したりする。ＤＮＮ制御部１６０は、例えば、ＤＮＮモデルの変更が完了したことを、情報処理装置２００に送信してもよい。
【００４８】
具体的には、ＤＮＮ制御部１６０は、ＤＮＮモデルに対して、正規化、ドロップアウト、モメンタム、重みの初期化などを実行する。正規化は、学習時に、過学習を防止するために重みの自由度を制限する処理である。ドロップアウトは、学習時に、多層ネットワークのユニットを決まった確率で選出して重みを更新する処理である。モメンタムは、学習時に、勾配降下法の収束性能を向上させるために、重み計数の修正量を計算する時に、前回の定数倍を加える処理である。重みの初期化は、ガウス分布によるランダム値を初期値にする処理である。
【００４９】
より具体的には、ＤＮＮ制御部１６０は、少なくとも、記憶部１４０が記憶しているＤＮＮモデルの入力画像サイズ及びフィルタサイズのいずれか一方を変更することが好ましい。これにより、種々の画像データに対して、ＤＮＮを実行することができる。
【００５０】
ＤＮＮ制御部１６０は、例えば、制御情報に基づいて、ＤＮＮ処理部１３０を制御して、記憶部１４０が記憶しているＤＮＮモデルの分類数を変更する。例えば、当初記憶されていたＤＮＮモデルは、屋内での画像データにＤＮＮを実行することを想定していて、分類数が比較的少なかった場合において、分類数を多くすることによって、屋外の画像データにも対応できるＤＮＮモデルに変更することができる。
【００５１】
ＤＮＮ制御部１６０は、例えば、制御情報に基づいて、記憶部１４０が記憶しているＤＮＮモデルの消費電力を変更する。例えば、ＤＮＮ処理部１３０がＤＮＮモデルを実行することで過度に電力を消費する場合に、消費電力の少ないＤＮＮモデルに変更することで、消費電力を抑制することができる。
【００５２】
ＤＮＮ制御部１６０は、例えば、制御情報に基づいて、記憶部１４０が記憶しているＤＮＮモデルに認識精度を変更する。例えば、ＤＮＮ処理部１３０がＤＮＮモデルを実行した結果、認識精度が低かった場合に、認識精度の高いＤＮＮモデルに変更する。これにより、物体認識の精度を向上させることができる。また、認識精度が必要以上に高かった場合には、認識精度の低いＤＮＮモデルに変更する。これにより、演算速度を向上させたり、消費電力を低減させたりすることができる。
【００５３】
ＤＮＮ制御部１６０は、例えば、制御情報に基づいて、実行したＤＮＮモデルを記憶部１４０が記憶しているＤＮＮモデルに切り替えてもよい。これにより、新たにＤＮＮモデルを作成することなく、記憶部１４０に記憶されているＤＮＮモデルを使用することができるので、容易にＤＮＮモデルを変更することができる。その結果、異なるＤＮＮの実行結果を容易に得ることができる。
【００５４】
セレクタ１７０は、例えば、撮像処理部１２０から種々の処理が施されたデジタルの画像データを受ける。セレクタ１７０は、例えば、ＤＮＮ処理部１３０からＤＮＮの実行結果を受ける。セレクタ１７０は、例えば、評価部１５０から評価情報を受ける。セレクタ１７０は、例えば、図示しないセレクタの制御部からの制御信号に従って撮像処理部１２０、ＤＮＮ処理部１３０、及び評価部１５０から受けたデータを選択的に通信Ｉ／Ｆ１８０に出力する。
【００５５】
通信Ｉ／Ｆ１８０は、送信部１８１と、受信部１８２とを備える。固体撮像装置１００からのデータは送信部１８１を介して情報処理装置２００に送信される。情報処理装置２００からのデータは受信部１８２を介して固体撮像装置１００に入力される。
【００５６】
通信制御部１９０は、通信Ｉ／Ｆ１８０を制御する。これにより、通信Ｉ／Ｆ１８０は、情報処理装置２００にデータを送信したり、情報処理装置２００からデータを受信したりする。通信制御部１９０は、例えば、データを暗号化してもよい。暗号化する場合には、通信制御部１９０は、例えば、ＤＥＳ（Data  Encryption  Standard）や、ＡＥＳ（Advanced  Encryption  Standard）といった共通鍵暗号を用いることができる。また、通信制御部は、例えば、ＥＣＢ（Electronic  Codebook）、ＣＢＣ（Cipher  Block  Chaining）、ＣＦＢ（Cipher  Feedback）、ＯＦＢ（Output  Feedback）、及びＣＴＲ（Counter）といった暗号モードを利用してもよい。
【００５７】
情報処理装置２００は、通信Ｉ／Ｆ２１０と、通信制御部２２０と、制御部２３０とを備える。第１実施形態において、情報処理装置２００は、例えば、アプリケーションプロセッサで実現することができる。
【００５８】
通信Ｉ／Ｆ２１０は、受信部２１１と、送信部２１２とを備える。固体撮像装置１００からのデータは受信部２１１を介して制御部２３０に入力される。情報処理装置２００からのデータは送信部２１２を介して固体撮像装置１００に送信される。
【００５９】
通信制御部２２０は、通信Ｉ／Ｆ２１０を制御する。これにより、通信Ｉ／Ｆ２１０は、情報処理装置２００にデータを送信したり、情報処理装置２００からデータを受信したりする。通信制御部２２０は、例えば、データを暗号化して固体撮像装置１００と通信してもよい。暗号化する場合には、通信制御部２２０は、例えば、ＤＥＳや、ＡＥＳといった共通鍵暗号を用いることができる。また、通信制御部２２０は、例えば、ＥＣＢ、ＣＢＣ、ＣＦＢ、ＯＦＢ、及びＣＴＲといった暗号モードを利用してもよい。
【００６０】
制御部２３０は、例えば、通信Ｉ／Ｆ２１０を介して、固体撮像装置１００から評価部１５０が生成した評価情報を取得する。制御部２３０は、評価情報に基づいて、ＤＮＮモデルを変更するための制御情報を生成する。制御部２３０は、例えば、制御情報を固体撮像装置１００に送信することによって、固体撮像装置１００に別のＤＮＮモデルを実行させる。具体的には、制御部２３０は、例えば、制御情報を固体撮像装置１００に送信することで、ＤＮＮモデルの分類数、認識精度、消費電力を変更させる。これにより、固体撮像装置１００の周囲の環境に応じて、最適なＤＮＮを実行させることができる。また、制御情報には、変更用の、ＤＮＮモデルのモデル情報、ＤＮＮモデルの識別情報、固体撮像装置１００の識別情報、消費電力、動作周波数、フレームレート、分類数に関する情報が含まれる。
【００６１】
制御部２３０は、例えば、固体撮像装置１００の記憶部１４０に記憶されているＤＮＮモデルに関する情報を取得することが好ましい。これにより、制御部２３０は、固体撮像装置１００の記憶部１４０に記憶されているＤＮＮモデルに基づいて、制御情報を生成することができる。その結果、固体撮像装置１００は、効率的にＤＮＮモデルを変更することができる。
【００６２】
[１−２．第１実施形態に係る固体撮像システムの処理]
図５を用いて、固体撮像装置１００と、情報処理装置２００との処理について説明する。図５は、固体撮像装置１００と、情報処理装置２００との処理の流れを示すシーケンス図である。
【００６３】
まず、固体撮像装置１００は、入力画像に対してＤＮＮを実行する(ステップＳ１０１)。具体的には、固体撮像装置１００は、ＤＮＮ処理部１３０によって記憶部１４０からＤＮＮモデルを読み出して入力画像に対してＤＮＮを実行する。
【００６４】
次に、固体撮像装置１００は、ＤＮＮの評価情報を生成する(ステップＳ１０２)。具体的には、固体撮像装置１００は、評価部１５０によって評価情報を生成する。
【００６５】
次に、固体撮像装置１００は、評価情報を情報処理装置２００に送信する(ステップＳ１０３)。具体的には、固体撮像装置１００は、評価部１５０によって、通信Ｉ／Ｆ１８０を介して、評価情報を情報処理装置２００に送信する。
【００６６】
次に、情報処理装置２００は、制御情報を生成する(ステップＳ１０４)。具体的には、情報処理装置２００は、制御部２３０によって、評価情報に基づいて制御情報を生成する。
【００６７】
次に、情報処理装置２００は、固体撮像装置１００に制御情報を送信する(ステップＳ１０５)。
【００６８】
次に、固体撮像装置１００は、ＤＮＮを変更する(ステップＳ１０６)。具体的には、固体撮像装置１００は、ＤＮＮ制御部１６０によって、記憶部１４０に記憶されているＤＮＮモデルを変更する。
【００６９】
図６を用いて、ＤＮＮを用いた学習の動作について説明する。図６は、あらかじめ記憶部に記憶されているデータを利用して、制御信号に基づいたＤＮＮを用いた学習の処理の流れを示すフローチャートである。
【００７０】
まず、固体撮像装置１００は、ＤＮＮモデルのパラメータを設定する(ステップＳ２０１)。具体的には、固体撮像装置１００は、情報処理装置２００からの制御信号に基づいて、ＤＮＮ制御部１６０によって、ＤＮＮ処理部１３０を制御し、記憶部１４０に記憶されているＤＮＮモデルのパラメータを設定する。
【００７１】
次に、固体撮像装置１００は、ＤＮＮを実行する(ステップＳ２０２)。具体的には、固体撮像装置１００は、ＤＮＮ処理部１３０によって、ステップＳ２０１でパラメータが変更されたＤＮＮモデルに基づいてＤＮＮモデルを実行する。
【００７２】
次に、固体撮像装置１００は、ステップＳ２０２で実行したＤＮＮを評価する(ステップＳ２０３)。具体的には、固体撮像装置１００は、評価部１５０によって、損失関数や、ＤＮＮの精度の値を算出する。
【００７３】
次に、固体撮像装置１００は、損失関数や、ＤＮＮの精度の値が目的の値となるまで学習する(ステップＳ２０４)。具体的には、固体撮像装置１００は、制御信号に基づいて、ＤＮＮ処理部１３０によって、損失関数や、ＤＮＮの精度の値が目的の値となるまで学習する。
【００７４】
次に、固体撮像装置１００は、目的の値となったＤＮＮモデルを記憶部１４０に保存する(ステップＳ２０５)。具体的には、固体撮像装置１００は、ＤＮＮ制御部１６０によって、ＤＮＮ処理部１３０を制御し、ＤＮＮモデルを記憶部１４０に保存する。
【００７５】
図７と、図８とを用いて、撮像部１１０から逐次撮影しながら学習する処理について説明する。図７は、撮像部１１０から逐次撮影しながら学習する処理の流れを示すフローチャートである。図８は、画像データに対する処理を説明するための模式図である。
【００７６】
まず、固体撮像装置１００は、任意の物体を撮影する(ステップＳ３０１)。具体的には、固体撮像装置１００は、撮像部１１０によって任意の物体を撮影する。
【００７７】
次に、固体撮像装置１００は、撮影した画像データを処理する(ステップＳ３０２)。具体的には、固体撮像装置１００は、撮像処理部１２０によって、画像データに対し、前処理、データ拡張、及びデータの正規化のいずれかを実行する。
【００７８】
次に、固体撮像装置１００は、バッチ数を記憶部１４０に保存する(ステップＳ３０３)。具体的には、固体撮像装置１００は、ＤＮＮ処理部１３０によって、バッチ数を記憶部１４０に保存する。
【００７９】
次に、固体撮像装置１００は、ＤＮＮモデルのパラメータを設定する(ステップＳ３０４)。具体的には、固体撮像装置１００は、ＤＮＮ制御部１６０によって、ＤＮＮ処理部１３０を制御し、記憶部１４０に記憶されているＤＮＮモデルのパラメータを設定する。
【００８０】
次に、固体撮像装置１００は、ＤＮＮを実行する(ステップＳ３０５)。具体的には、固体撮像装置１００は、ＤＮＮ処理部１３０によって、ステップＳ３０４でパラメータが変更されたＤＮＮモデルに基づいてＤＮＮモデルを実行する。より具体的には、ＤＮＮ処理部１３０は、複数枚の画像データに対してＤＮＮモデルを実行して、複数枚の画像データのそれぞれに対して認識結果を出力する。この時、ＤＮＮ処理部１３０は、推論理論モードにしておく。例えば、図８に示すように、ＤＮＮ処理部１３０には、第１画像データＩＤ１と、第１画像データＩＤ１の縦横比が変換された第２画像データＩＤ２と、第１画像データＩＤ１にノイズが印加された第３画像データＩＤ３が入力される。そして、ＤＮＮ処理部１３０は、第１画像データＩＤ１と、第２画像データＩＤ２と、第３画像データＩＤ３との認識結果として、それぞれ、第１認識結果ＲＲ１と、第２認識結果ＲＲ２と、第３認識結果ＲＲ３とを出力する。第１認識結果ＲＲ１と、第２認識結果ＲＲ２と、第３認識結果ＲＲ３とでは、顔の位置が認識されている。ここで、第４認識結果ＲＲ４として、１認識結果ＲＲ１と、第２認識結果ＲＲ２と、第３認識結果ＲＲ３とで認識された顔の位置を重ねて示している。
【００８１】
次に、固体撮像装置１００は、ステップＳ３０５で実行したＤＮＮを評価する(ステップＳ３０６)。具体的には、固体撮像装置１００は、評価部１５０によって、損失関数や、ＤＮＮの精度の値を算出する。また、固体撮像装置１００は、評価部１５０によって、ＤＮＮの精度や損失関数の値に基づいて、評価情報を生成する。
【００８２】
次に、固体撮像装置１００は、認識結果や評価情報に基づいて、正解データを生成する(ステップＳ３０７)。具体的には、固体撮像装置１００は、評価部１５０によって、第１認識結果ＲＲ１、第２認識結果ＲＲ２、第３認識結果ＲＲ３、評価情報などに基づいて、正解データを生成する。例えば、図８に示すように、評価部１５０は、第１認識結果ＲＲ１、第２認識結果ＲＲ２、第３認識結果ＲＲ３との平均を求めて、正解データを生成する。ここでは、評価部１５０は、算術平均を用いて正解データを生成しているが、加重平均を用いて正解データを生成してもよい。また、評価部１５０は、例えば、認識結果のうち、あらかじめ定めた閾値以下の精度の認識結果（精度の悪い認識結果）は、平均化の処理から除いてもよい。また、評価部１５０は、認識結果の平均を求める際には、元画像データと、認識結果との座標(位置関係)を補正することが好ましい。例えば、撮像処理部１２０で並行移動した画像データは、ＤＮＮ処理部１３０による認識結果も元の画像データから平行移動したものとなっている。そのため、評価部１５０は、平均化する前に、認識結果を元の画像データと座標が同一となるように、平行移動して補正することが好ましい。
【００８３】
次に、固体撮像装置１００は、正解データと画像データとを記憶部１４０に保存する(ステップＳ３０８)。具体的には、固体撮像装置１００は、評価部１５０によって、正解データと画像データとを、学習用データＬＤ１として記憶部１４０に保存する。すなわち、本実施形態では、固体撮像装置１００は、複数の認証結果に基づいて、教師データを自動で生成することができる。言い換えれば、アノテーションの工程を人手によらず、自動化することができる。
【００８４】
次に、固体撮像装置１００は、損失関数や、ＤＮＮの精度の値が目的の値となるまで学習する(ステップＳ３０９)。具体的には、固体撮像装置１００は、制御信号に基づいて、ＤＮＮ処理部１３０によって、損失関数や、ＤＮＮの精度の値が目的の値となるまで学習する。より具体的には、図８に示すように、ＤＮＮ制御部１６０がＤＮＮ処理部１３０を制御して、ステップＳ３０８で記憶部１４０に保存した学習用データＬＤ１を用いて、ステップＳ３０５で使用したＤＮＮモデルの学習を実行する。この時、ＤＮＮ処理部１３０は、学習モードにしておく。なお、ＤＮＮ処理部１３０は、学習用データＬＤ１と、あらかじめ記憶部１４０に保存しておいた学習用データを混合させてＤＮＮモデルの学習を実行してもよい。この場合、ステップＳ３０３で保存したバッチ数の中に含まれる、一定数の生成された学習用データを混合させることが好ましい。また、ＤＮＮ処理部１３０は、学習用データＬＤ１のみを用いて、学習を行ってもよい。上述したように、本実施形態では、アノテーションの工程が自動化されている。そのため、本実施形態は、固体撮像装置１００から画像データを外部に出力させることなく、ＤＮＮモデルを自動で学習させることができる。
【００８５】
次に、固体撮像装置１００は、学習結果を記憶部１４０に保存する(ステップＳ３１０)。具体的には、固体撮像装置１００は、ＤＮＮ制御部１６０によって、ＤＮＮ処理部１３０を制御し、学習されたＤＮＮモデルを記憶部１４０に保存する。
【００８６】
なお、評価部１５０は、ステップＳ３１０で記憶部１４０に保存された、学習されたＤＮＮモデルを用いて、再度、上記の処理を実行して学習用データを生成してもよい。また、固体撮像装置１００は、撮像部１１０が撮像した画像データだけでなく、記憶部１４０に保存しておいた学習用画像データを用いて、ＤＮＮモデルの学習を実行してもよい。
【００８７】
［１−３．第１実施形態に係る固体撮像システムのユースケース］
図９を用いて、ＤＮＮモデルを変更する場合のユースケースについて説明する。図９は、ＤＮＮモデルを変更する場合のユースケースを示す表である。
【００８８】
ユースケース１は、ＤＮＮ処理部１３０の推論時の動作である。ここでは、固体撮像装置１００の評価部１５０は、実行したＤＮＮモデルの評価情報を生成する。情報処理装置２００の制御部２３０は、評価情報に基づいて目標性能を決める。この場合、目標性能を制御情報とする。すなわち、ユースケース１では、制御情報にＤＮＮモデルのパラメータは含まれていない。そして、固体撮像装置１００のＤＮＮ制御部１６０は、制御情報に基づいて、ＤＮＮモデルのパラメータを決定し、ＤＮＮモデルにパラメータを設定する。
【００８９】
ユースケース２は、ＤＮＮ処理部１３０の推論時の動作である。ここでは、固体撮像装置１００の評価部１５０は、実行したＤＮＮモデルの評価情報を生成する。情報処理装置２００の制御部２３０は、評価情報に基づいて目標性能を決定し、ＤＮＮモデルのパラメータを決定する。この場合、ＤＮＮモデルのパラメータを制御情報とする。すなわち、ユースケース２では、制御情報には、目標設定とＤＮＮモデルのパラメータが含まれている。そして、固体撮像装置１００のＤＮＮ制御部１６０は、制御情報に基づいて、ＤＮＮモデルのパラメータを決定し、ＤＮＮモデルにパラメータを設定する。
【００９０】
ユースケース３は、ＤＮＮ処理部１３０の学習時の動作である。ここでは、固体撮像装置１００の評価部１５０は、実行したＤＮＮモデルの評価情報を生成する。情報処理装置２００の制御部２３０は、評価情報に基づいて目標性能を決める。この場合、目標性能を制御情報とする。すなわち、ユースケース３では、制御情報にＤＮＮモデルのパラメータは含まれていない。そして、固体撮像装置１００のＤＮＮ制御部１６０は、制御情報に基づいて、ＤＮＮモデルのパラメータを決定し、ＤＮＮモデルにパラメータを設定する。
【００９１】
ユースケース４は、ＤＮＮ処理部１３０の学習時の動作である。ここでは、固体撮像装置１００の評価部１５０は、実行したＤＮＮモデルの評価情報を生成する。情報処理装置２００の制御部２３０は、評価情報に基づいて目標性能を決定し、ＤＮＮモデルのパラメータを決定する。この場合、ＤＮＮモデルのパラメータを制御情報とする。すなわち、ユースケース４では、制御情報には、目標設定とＤＮＮモデルのパラメータが含まれている。そして、固体撮像装置１００のＤＮＮ制御部１６０は、制御情報に基づいて、ＤＮＮモデルのパラメータを決定し、ＤＮＮモデルにパラメータを設定する。
【００９２】
［１−４．第１実施形態に係る固体撮像システムの変形例］
図１０を用いて、第１実施形態の変形例に係る固体撮像システムの構成について説明する。図１０は、第１実施形態の変形例に係る固体撮像システムの構成を示すブロック図である。
【００９３】
図１０に示すように、固体撮像システム１Ａは、固体撮像装置１００Ａと、情報処理装置２００とを含んでいる。
【００９４】
固体撮像装置１００Ａは、撮像部１１０−１、１１０−２と、撮像処理部１２０−１、１２０−２と、ＤＮＮ処理部１３０−１、１３０−２と、記憶部１４０−１、１４０−２と、評価部１５０−１、１５０−２と、ＤＮＮ制御部１６０−１、１６０−２と、セレクタ１７０−１、１７０−２と、マルチプレクサ１７１と、デマルチプレクサ１７２と、通信Ｉ／Ｆ１８０と、通信制御部１９０とを備えている。すなわち、固体撮像装置１００Ａは、撮像部と、撮像処理部と、ＤＮＮ処理部と、記憶部と、評価部と、ＤＮＮ制御部と、セレクタとを、それぞれ、２個ずつ備えている。
【００９５】
この場合、撮像部１１０−１と、撮像処理部１２０−１と、ＤＮＮ処理部１３０−１と、記憶部１４０−１と、評価部１５０−と、ＤＮＮ制御部１６０−１と、セレクタ１７０−１とで１つの固体撮像装置１００Ａ−１が構成されている。また、撮像部１１０−２と、撮像処理部１２０−２と、ＤＮＮ処理部１３０−２と、記憶部１４０−２と、評価部１５０−２と、ＤＮＮ制御部１６０−２と、セレクタ１７０−２とで１つの固体撮像装置１００Ａ−２が構成されている。固体撮像装置１００Ａ−１と、固体撮像装置１００Ａ−２とを構成する各部については、固体撮像装置１００と同様なので説明は省略する。
【００９６】
固体撮像装置１００Ａ−１と、固体撮像装置１００Ａ−２とから出力される信号は、マルチプレクサ１７１に入力される。マルチプレクサ１７１は、固体撮像装置１００Ａ−１と、固体撮像装置１００Ａ−２とから出力された信号を１つにまとめて、通信Ｉ／Ｆ１８０の送信部１８１に入力する。これにより、固体撮像装置１００Ａ−１と、固体撮像装置１００Ａ−２とから出力された信号は、情報処理装置２００に送信される。
【００９７】
情報処理装置２００から出力された制御情報は、通信Ｉ／Ｆ１８０の受信部１８２を介してデマルチプレクサ１７２に入力される。デマルチプレクサ１７２は、入力された制御情報を２つに分けて、ＤＮＮ制御部１６０−１と、ＤＮＮ制御部１６０−２とに入力する。これにより、固体撮像装置１００Ａ−１と、固体撮像装置１００Ａ−２とに、制御情報が入力される。
【００９８】
図１０では、固体撮像装置１００Ａ−１と、固体撮像装置１００Ａ−２とが、それぞれ、記憶部と、評価部と、ＤＮＮ制御部とを備えているが、これは例示であり、本開示を限定するものではない。固体撮像装置１００Ａ−１と、固体撮像装置１００Ａ−２とは、記憶部と、評価部と、ＤＮＮ制御部とを共有していてもよい。
【００９９】
（２．第２実施形態）
[２−１．第２実施形態に係る固体撮像システムの構成]
図１１と、図１２とを用いて、本開示の第２実施形態に係る固体撮像システムの構成について説明する。図１１は、本開示の第２実施形態に係る固体撮像システムの構成の一例を示すブロック図である。図１２は、本開示の第２実施形態に係る固体撮像システムの接続関係を説明するための図である。
【０１００】
図１１に示すように、固体撮像システム１Ｂは、固体撮像装置１００と、情報処理装置２００Ａとを含む。固体撮像システム１Ｂを構成する各装置の構成要素や動作については、第１実施形態に係る固体撮像システム１と同様なので、説明は省略する。
【０１０１】
図１２に示すように、固体撮像装置１００と、情報処理装置２００Ａとは、例えば、インターネット通信網３００を介して通信可能に接続されている。この場合、固体撮像装置１００の通信Ｉ／Ｆ１８０と、情報処理装置２００Ａの通信Ｉ／Ｆ２１０とが、インターネット通信網３００を介して通信可能に接続されていればよい。固体撮像装置１００の通信Ｉ／Ｆ１８０と、情報処理装置２００Ａの通信Ｉ／Ｆ２１０とが、無線通信によって通信可能に接続されていてもよい。第２実施形態において、情報処理装置２００Ａは、例えば、固体撮像装置１００とインターネット通信網３００や、無線によって通信可能に接続されたクラウドサーバである。固体撮像システム１Ｂは、例えば、ＦＡ（Factory  Automation）や、監視カメラに適用することができる。
【０１０２】
[２−２．第２実施形態に係る固体撮像システムの変形例の構成]
図１３を用いて、本開示の第２実施形態に係る固体撮像システムの変形例について説明する。図１３は、本開示の第２実施形態に係る固体撮像システムの接続関係の変形例を説明するための図である。
【０１０３】
固体撮像システム１Ｂ−１は、固体撮像装置１００−１と、固体撮像装置１００−２と、・・・、固体撮像装置１００−Ｎ（Ｎは３以上の整数）と、情報処理装置２００Ａ−１と、情報処理装置２００Ａ−２と、・・・、情報処理装置２００−Ｎとを含む。すなわち、固体撮像システム１Ｂ−１は、複数の固体撮像装置と、複数の情報処理装置とが、インターネット通信網３００を介して通信可能に接続されている。固体撮像システム１Ｂ−１において、固体撮像装置と、情報処理装置との数は同じであってもよいし、異なっていてもよい。
【０１０４】
固体撮像システム１Ｂ−１は、固体撮像装置と、情報処理装置とのそれぞれを複数含んでいるが、これは例示であり、本開示を限定するものではない。固体撮像システム１Ｂ−１は、例えば、１台の固体撮像装置と、複数台の情報処理装置とから構成されていてもよい。また、固体撮像システム１Ｂ−１は、例えば、複数台の固体撮像装置と、１台の情報処理装置とから構成されていてもよい。
【０１０５】
（３．第３実施形態）
[３−１．第３実施形態に係る固体撮像システムの構成]
図１４と、図１５とを用いて、本開示の第３実施形態に係る固体撮像システムの構成について説明する。図１４は、本開示の第３実施形態に係る固体撮像システムの構成の一例を示すブロック図である。図１５は、本開示の第３実施形態に係る固体撮像システムの接続関係を説明するための図である。
【０１０６】
図１４に示すように、固体撮像システム１Ｃは、固体撮像装置１００と、情報処理装置２００Ｂと、バッテリ４００とを含む。固体撮像装置１００の構成要素は、第１実施形態に係る固体撮像システム１の固体撮像装置１００と同様なので説明を省略する。
【０１０７】
図１５に示すように、情報処理装置２００Ｂは、固体撮像装置１００の内部に配置されている。固体撮像装置１００と、情報処理装置２００Ｂとは、ＳｏＣ、ＭＣＭ、ＳＩＰ、ＳＯＰなどで実装されている。また、固体撮像システム１Ｃには、バッテリ４００が接続されている。バッテリ４００は、固体撮像システム１Ｃに電力を供給する。固体撮像システム１Ｃは、例えば、ＩｏＴ（Internet  of  Things）カメラに適用することができる。
【０１０８】
再び図１４を参照する。情報処理装置２００Ｂは、制御部２３０を備える。第３実施形態では、評価部１５０は、例えば、評価情報を制御部２３０に直接出力する。
【０１０９】
制御部２３０は、例えば、評価部１５０から評価情報を受ける。制御部２３０は、例えば、バッテリ４００と接続されており、バッテリ４００の電力残量を測定する。この場合、制御部２３０は、例えば、評価情報と、バッテリ４００の電力残量に基づいて、ＤＮＮモデルを変更するための制御情報を生成する。具体的には、バッテリ４００の電力残量が少なくなってきた場合には、制御部２３０は、ＤＮＮモデルを消費電力の少ないＤＮＮモデルに変更するための制御情報を生成する。そして、制御部２３０は、生成した制御情報を、ＤＮＮ制御部１６０に直接入力する。これにより、ＤＮＮ制御部１６０は、ＤＮＮ処理部１３０を制御して、バッテリ４００の電力残量に応じたＤＮＮモデルに変更することができる。
【０１１０】
（４．ハードウェア構成）
上述してきた各実施形態に係る固体撮像装置及び情報処理装置は、例えば、図１６に示すような構成のコンピュータ１０００によって実現される。以下、第１の実施形態に係る固体撮像装置１００を例に挙げて説明する。図１６は、固体撮像装置１００の機能を実現するコンピュータ１０００の一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ（Read  Only  Memory）１３００、ＨＤＤ（Hard  Disk  Drive）１４００、通信インターフェイス１５００、及び入出力インターフェイス１６００を有する。コンピュータ１０００の各部は、バス１０５０によって接続される。
【０１１１】
ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に格納されたプログラムをＲＡＭ１２００に展開し、各種プログラムに対応した処理を実行する。
【０１１２】
ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【０１１３】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、ＨＤＤ１４００は、プログラムデータ１４５０の一例である本開示に係るプログラムを記録する記録媒体である。
【０１１４】
通信インターフェイス１５００は、コンピュータ１０００が外部ネットワーク１５５０（例えばインターネット）と接続するためのインターフェイスである。例えば、ＣＰＵ１１００は、通信インターフェイス１５００を介して、他の機器からデータを受信したり、ＣＰＵ１１００が生成したデータを他の機器へ送信したりする。
【０１１５】
入出力インターフェイス１６００は、入出力デバイス１６５０とコンピュータ１０００とを接続するためのインターフェイスである。例えば、ＣＰＵ１１００は、入出力インターフェイス１６００を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス１６００は、所定の記録媒体（メディア）に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０１１６】
例えば、コンピュータ１０００が第１の実施形態に係る固体撮像装置１００として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされたプログラムを実行することにより、固体撮像装置１００を構成する各部の機能を実現する。また、ＨＤＤ１４００には、本開示に係るログラムが格納される。なお、ＣＰＵ１１００は、プログラムデータ１４５０をＨＤＤ１４００から読み取って実行するが、他の例として、外部ネットワーク１５５０を介して、他の装置からこれらのプログラムを取得してもよい。
【０１１７】
なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
【０１１８】
なお、本技術は以下のような構成も取ることができる。
（１）
ＤＮＮモデルに基づいて入力画像に対しＤＮＮを実行するＤＮＮ処理部と、
前記ＤＮＮの実行結果の評価情報に基づいて生成された制御情報を受け、前記制御情報に基づいて前記ＤＮＮモデルを変更するＤＮＮ制御部と、
を備える固体撮像装置。
（２）
前記ＤＮＮ制御部は、前記制御情報に基づいて、前記ＤＮＮモデルのパラメータを変更する、
前記（１）に記載の固体撮像装置。
（３）
前記ＤＮＮ制御部は、少なくとも、前記ＤＮＮモデルの入力画像サイズ及びフィルタサイズのいずれか一方を変更する、
前記（２）に記載の固体撮像装置。
（４）
前記ＤＮＮ処理部が実行する前記ＤＮＮモデルを少なくとも１つ記憶している記憶部をさらに備える、
前記（１）〜（３）のいずれか１つに記載の固体撮像装置。
（５）
前記記憶部は、前記ＤＮＮ処理部の学習用データを記憶している、
前記（４）に記載の固体撮像装置。
（６）
前記ＤＮＮ制御部は、前記制御情報に基づいて、実行した前記ＤＮＮモデルを前記記憶部が記憶している前記ＤＮＮモデルに切り替える、
前記（４）または（５）に記載の固体撮像装置。
（７）
前記ＤＮＮの実行結果を評価して評価情報を生成する評価部をさらに備える、
前記（１）〜（６）のいずれか１つに記載の固体撮像装置。
（８）
前記評価部は、前記ＤＮＮ処理部の推論時及び学習時の処理状況を評価して前記評価情報を生成する、
前記（７）に記載の固体撮像装置。
（９）
前記評価部は、前記ＤＮＮの認識結果と、前記評価情報とに基づいて正解データを生成する、
前記(７)または(８)に記載の固体撮像装置。
（１０）
前記ＤＮＮ制御部は、前記正解データに基づいて、前記ＤＮＮモデルを変更する、
前記(９)に記載の固体撮像装置。
（１１）
前記評価情報は、前記ＤＮＮの認識結果に関する情報を含む、
前記（１）〜（１０）のいずれか１つに記載の固体撮像装置。
（１２）
外部装置で実行されたＤＮＮモデルの実行結果の評価情報に基づいて、前記ＤＮＮモデルを変更するための制御情報を生成する制御部を備える、
情報処理装置。
（１３）
前記制御部は、前記外部装置に記憶されている前記ＤＮＮモデルに関する情報を取得する、
前記（１２）に記載の情報処理装置。
（１４）
固体撮像装置と、情報処理装置とを含み、
前記固体撮像装置は、
ＤＮＮモデルに基づいて入力画像に対しＤＮＮを実行するＤＮＮ処理部と、
前記ＤＮＮの実行結果の評価情報に基づいて生成された制御情報を受け、前記制御情報に基づいて前記ＤＮＮモデルを変更するＤＮＮ制御部と、を備え、
前記情報処理装置は、
前記ＤＮＮモデルの実行結果に基づいて、前記ＤＮＮモデルを変更するための制御情報を生成する制御部を備える、
情報処理システム。
（１５）
ＤＮＮモデルに基づいて入力画像に対しＤＮＮを実行し、
前記ＤＮＮの実行結果の評価情報に基づいて生成された制御情報を受け、前記制御情報に基づいて前記ＤＮＮモデルを変更する、
情報処理方法。
（１６）
ＤＮＮモデルの実行結果の評価情報に基づいて、前記ＤＮＮモデルを変更するための制御情報を生成する、
情報処理方法。
（１７）
コンピュータを、
ＤＮＮモデルに基づいて入力画像に対しＤＮＮを実行するＤＮＮ処理部と、
前記ＤＮＮの実行結果の評価情報に基づいて生成された制御情報を受け、前記制御情報に基づいて前記ＤＮＮモデルを変更するＤＮＮ制御部と、
して機能させるためのプログラム。
（１８）
コンピュータを、
ＤＮＮモデルの実行結果の評価情報に基づいて、前記ＤＮＮモデルを変更するための制御情報を生成する制御部として機能させるためのプログラム。
【符号の説明】
【０１１９】
１  固体撮像システム
１００  固体撮像装置
１１０  撮像部
１２０  撮像処理部
１３０  ＤＮＮ処理部
１４０  記憶部
１５０  評価部
１６０  ＤＮＮ制御部
１７０  セレクタ
１７１  マルチプレクサ
１７２  デマルチプレクサ
１８０，２１０  通信Ｉ／Ｆ
１８１，２１２  送信部
１８２，２１１  受信部
１９０，２２０  通信制御部
２００  情報処理装置
２３０  制御部
【図１】
2020120406.tif 000003
【図２】
2020120406.tif 000004
【図３】
2020120406.tif 000005
【図４】
2020120406.tif 000006
【図５】
2020120406.tif 000007
【図６】
2020120406.tif 000008
【図７】
2020120406.tif 000009
【図８】
2020120406.tif 000010
【図９】
2020120406.tif 000011
【図１０】
2020120406.tif 000012
【図１１】
2020120406.tif 000013
【図１２】
2020120406.tif 000014
【図１３】
2020120406.tif 000015
【図１４】
2020120406.tif 000016
【図１５】
2020120406.tif 000017
【図１６】
2020120406.tif 000018