(57)【要約】      （修正有）【課題】画像流出の抑制を可能にする技術を提供する。【解決手段】撮像モジュールは、入力する光の像を画像データに変換する撮像装置と、画像データを準同型暗号方式により暗号化する暗号化装置と、暗号化された画像データを出力ならびに、信号を入力するインタフェースと、準同期暗号方式で暗号化された信号を復号する復号装置を有する。撮像モジュールに接続された推論器に、準同型暗号方式で暗号化された画像データを暗号化されたままの状態で渡し、画像認識処理を行い、推論結果を暗号化された状態で受け取り、復号し、平文で出力する。【選択図】図２
2019113665.tif 000002
【特許請求の範囲】
【請求項１】
入力する光の像を画像データに変換する撮像装置と、
前記画像データを準同型暗号方式により暗号化する暗号化装置と、
前記暗号化装置からの暗号化された画像データを出力するインタフェースと、
を有する撮像モジュール。
【請求項２】
前記暗号化装置が出力した前記暗号化された画像データに対する処理結果である、準同型暗号方式で暗号化された結果信号を復号する復号装置を更に有し、
前記インタフェースは、更に、復号前の結果信号を入力し、復号後の結果信号を出力する、
請求項１に記載の撮像モジュール。
【請求項３】
前記復号装置が一定時間あたりに復号できる結果信号のデータ量は、前記暗号化装置が前記一定時間あたりに暗号化できる画像データのデータ量よりも少ない、請求項２に記載の撮像モジュール。
【請求項４】
前記暗号化装置は、前記暗号化された画像データにタイムスタンプを付加して出力し、
前記復号装置は、入力された信号に付加されているタイムスタンプを参照し、前記タイムスタンプが示す時刻から所定閾値時間以上経過していなければ前記入力された信号を復号し、前記タイムスタンプが示す時刻から前記閾値時間以上経過していれば前記入力された信号を復号しない、
請求項２に記載の撮像モジュール。
【請求項５】
画像フレーム毎に公開鍵および秘密鍵を生成する鍵生成装置を更に有し、
前記暗号化装置は、前記画像フレーム毎の公開鍵で前記画像フレームの画素値を暗号化し、
前記復号装置は、前記秘密鍵を用いた前記結果信号の復号において、１つの秘密鍵を用いて実行できる復号の回数を所定の上限回数までとする、
請求項２に記載の撮像モジュール。
【請求項６】
前記インタフェースは、前記暗号化された画像データと公開鍵を出力する、請求項１に記載の撮像モジュール。
【請求項７】
前記暗号化装置が出力した前記暗号化された画像データに対する処理結果である、準同型暗号方式で暗号化された結果信号を復号する復号装置と、
前記暗号化装置が前記画像データの暗号化に用いる暗号鍵を生成する鍵生成装置と、を更に有し、
前記撮像装置と前記暗号化装置と前記復号装置と前記鍵生成装置とのいずれか２以上が同一基板上に搭載されている、
請求項１に記載の撮像モジュール。
【請求項８】
入力する光の像を画像データに変換する撮像装置と、前記画像データを準同型暗号方式により暗号化する暗号化装置と、を有し、インタフェースから前記暗号化された画像データを出力する撮像モジュールと、
ニューラルネットワークの学習済のモデルデータを保持するモデルデータ記憶装置と、前記モデルデータを用いて、準同型暗号方式により暗号化された信号に対して、暗号のままでニューラルネットワークによる処理を実行するニューラルネットワーク処理装置と、を有し、前記撮像モジュールから出力された前記暗号化された画像データに対して、前記モデルデータによるニューラルネットワークによる画像処理を行う画像処理器と、
を有する、画像処理デバイス。
【請求項９】
入力する光の像を画像データに変換する撮像装置と前記画像データを準同型暗号方式により暗号化する暗号化装置とを有しインタフェースから前記暗号化された画像データを出力する撮像モジュールを有し、
ニューラルネットワークの学習済のモデルデータを用いて、準同型暗号方式により暗号化された信号に対して、暗号のままでニューラルネットワークによる処理を実行するニューラルネットワーク処理装置を有する画像処理器に対して、通信ネットワークを介して、前記撮像モジュールから出力された前記暗号化された画像データを送信し、
前記ニューラルネットワーク処理装置から前記通信ネットワークを介して、前記画像データに対する処理結果である、準同型暗号方式で暗号化された結果信号を受信する、
画像処理デバイス。
【請求項１０】
前記撮像モジュールは、前記インタフェースから、前記暗号化された画像データと公開鍵とを出力し、
前記画像処理器は、前記暗号化された画像データと前記公開鍵とを受信し、定数を前記公開鍵で暗号化して、前記画像データに対する画像処理に用いる、
請求項８または９に記載の画像処理デバイス。
【請求項１１】
プロセッサにより実行される画像処理方法であって、
入力する光の像を画像データに変換し、
前記画像データを準同型暗号方式により暗号化し、
前記暗号化された画像データを出力する
ことを特徴とする画像処理方法。
【請求項１２】
入力する光の像を画像データに変換し、
前記画像データを準同型暗号方式により暗号化し、
前記暗号化された画像データを出力する
処理を撮像モジュールのプロセッサに実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化された画像データを扱う技術に関する。
【背景技術】
【０００２】
ホームオートメーションやホームセキュリティにおいてニューラルネットワークによる画像認識処理を利用することが検討されている。ニューラルネットワークにより画像認識処理を利用して、例えば、ホームオートメーションにおいて自宅のエアコンを自動起動したり、ホームセキュリティにおいて自宅への泥棒の侵入を検知したりすることが考えられる。
【０００３】
ニューラルネットワークにより画像データを処理するサーバがデータセンタに設置され、カメラを搭載したホームデバイスがユーザの自宅に設置される。ホームデバイスはカメラで撮影した画像データをインターネットなどの通信ネットワークを介してサーバに送信する。サーバは、ニューラルネットワークによる画像認識処理を実行し、処理結果を、通信ネットワークを介してホームデバイスに返送する。
【０００４】
特許文献１には、複数のセンサを含むセンサ群（カメラを含む）の検出結果と、ニューラルネットワークとを用いて、犯罪に対応する検出対象事象が発生しているか否かを判定する技術が開示されている。
【０００５】
特許文献２には、暗号文処理サーバが、数値ベクトル化した２つのテキストデータを準同型暗号によって秘匿化された状態でマッチングすることが記載されている。照合者端末が暗号文書処理サーバから照合結果の暗号文を受信し、照合結果を復号する。また、特許文献２には、秘密鍵をユーザごとに生成する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−１９９８０７号公報
【特許文献２】特開２０１５−１８４５９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
家庭内で撮影された画像データを通信ネットワーク経由でサーバに送信することには画像の流出などプライバシー上の懸念がある。その対策として、ホームデバイス内で画像認識処理を行うことが考えられる。更に、ホームデバイスでは撮像装置と画像認識装置を同一のボード上に搭載し、撮像装置で撮影された画像データに対して同一ボード内で画像認識処理をすることが考えられる。これにより撮像装置で撮影された画像データをホームデバイスから外部のサーバに送信する必要がなくなる。
【０００８】
しかしながら、画像認識装置は、通常、プロセッサとＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を内蔵し、ＲＡＭ上に展開された画像データに対してプロセッサがソフトウェアに従って画像認識処理を実行する。ＲＡＭ上には撮像装置で撮影された画像データが格納されることになる。そのため、悪意者が画像認識装置に不正に侵入し、ＲＡＭ上の画像データを外部に流出させる恐れがある。
【０００９】
本発明の目的は、画像流出の抑制を可能にする技術を提供することである。
【課題を解決するための手段】
【００１０】
本発明の一態様に従う撮像モジュールは、入力する光の像を画像データに変換する撮像装置と、画像データを準同型暗号方式により暗号化する暗号化装置と、撮像装置と暗号化装置と、暗号化された画像データを出力するインタフェースと、を有する。
【発明の効果】
【００１１】
本発明の一態様によれば、撮像装置と暗号化装置が一体的な撮像モジュールとして構成されているので、平文の画像データをモジュール外に取り出すことが困難となり、画像の流出を抑制することができる。
【図面の簡単な説明】
【００１２】
【図１】実施例１によるホームセキュリティシステムのブロック図である。
【図２】実施例１によるカメラモジュールのブロック図である。
【図３】推論器のブロック図である。
【図４】実施例２によるホームオートメーションシステムのブロック図である。
【図５】実施例３によるホームオートメーションシステムのブロック図である。
【図６】実施例４によるホームセキュリティシステムのブロック図である。
【図７】実施例４によるカメラモジュールのブロック図である。
【図８】実施例５によるホームセキュリティシステムのブロック図である。
【図９】実施例６によるホームセキュリティシステムのブロック図である。
【図１０】実施例６によるカメラモジュールのブロック図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施例について図面を参照して説明する。各実施例は、本発明の説明のための例示であり、本発明の範囲をそれらの実施例のみに限定する趣旨ではない。当業者は、本発明の範囲を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【実施例１】
【００１４】
図１は、実施例１によるホームセキュリティシステムのブロック図である。本実施例のホームセキュリティシステムは、例えば、部屋の画像から不審者の侵入を検知し、ランプ点灯やアラーム音発生、通報などを行うホームセキュリティを実現するシステムである。本実施例によるホームセキュリティシステムは、ホームデバイス１０Ａ、学習サーバ２０、および家庭内機器８０を有している。ホームデバイス１０Ａおよび家庭内機器８０はユーザの自宅に設置され、学習サーバ２０は遠隔にあるサービス提供者のセキュリティセンターなどに設置されている。ホームデバイス１０Ａと家庭内機器８０は有線あるいは無線で通信可能に接続されている。
【００１５】
学習サーバ２０は、ニューラルネットワークによる画像認識処理の推論モデルを構築するコンピュータ装置であり、記憶部２１と学習部２２とを有している。記憶部２１には学習セットが格納されている。学習セットは、学習用のデータセットである。学習部２２は、記憶部２１に格納されている学習セットを用いた学習により推論モデルを構築する。学習部２２は構築した推論モデルの情報（モデルデータ）をユーザの自宅にあるホームデバイス１０Ａに送信する。
【００１６】
ホームデバイス１０Ａは、ユーザの自宅の画像を撮影し、得られた画像データに対して画像認識処理を行い、画像認識処理による推論結果を家庭内機器８０に通知する装置である。ホームデバイス１０Ａは、カメラモジュール１１および推論器１２を有している。ホームデバイス１０Ａは、例えば、電球用ソケットに取り付け可能な電球型、あるいは天井に設置されるドーム型などの小型機器である。機器内部ではカメラモジュール１１と推論器１２が１つのボード１９上に搭載されている。
【００１７】
カメラモジュール１１は、画像を撮影し、得られた画像データを準同型暗号方式で暗号化し、暗号化された画像データを推論器１２に送信する。カメラモジュール１１からは暗号化された画像データしか出力されないため、ネットワーク盗聴されたとしても元の画像を復号することはできない。さらに、カメラモジュール１１は、平文の画像データの流出を抑制する内部構成を有するが、詳細は後述する。
【００１８】
また、カメラモジュール１１は、推論器１２から、画像データに対する画像認識処理の推論結果を暗号化されたまま受信し、平文に復号し、平文の推論結果を家庭内機器８０に送信する。
【００１９】
推論器１２は、学習サーバ２０からモデルデータを受信し、モデルデータに基づき推論モデルのニューラルネットワークを構築する。推論器１２は、準同型暗号方式で暗号化された画像データを暗号化されたままで処理するので、ここで構築するニューラルネットワークは、準同型暗号空間上で画像認識処理を実行するニューラルネットワークである。そのため、推論器１２は、推論モデルの演算を準同型暗号空間での演算に変換し、変換後の演算をニューラルネットワークに表現する。
【００２０】
更に、推論器１２は、カメラモジュール１１から暗号化された画像データを受信し、準同型暗号空間で推論モデルによる画像認識処理を行い、推論結果をカメラモジュール１１に送信する。推論器１２は、暗号化された画像データを復号することなく、準同型暗号空間で画像認識処理を行うので、得られる推論結果も暗号化されたものである。
【００２１】
ここで推論器１２は一例として不図示のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と不図示のＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を有するニューラルネットワーク処理装置である。推論器１２は、ＣＰＵがソフトウェアプログラムを実行し、ＲＡＭ上に画像データを展開して画像認識処理を行う。
【００２２】
画像データが暗号化されていなければ、悪意者がスパイウェアを推論器１２に送り込み、推論器１２のＣＰＵに実行させ、ＲＡＭ上から画像データを取得し、画像を流出させる恐れがある。しかし、本実施例によれば、カメラモジュール１１が画像データを準同型暗号方式で暗号化して出力し、推論器１２は入力する画像データを暗号化されたまま処理する構成なので、スパイウェアにより平文の画像が流出するのを防止することができる。
【００２３】
家庭内機器８０は、ホームデバイス１０Ａから推論結果を受信し、推論結果に基づく所定の処理を実行する。例えば、推論結果として、部屋へ不審者が侵入したことが推定されれば、警告ランプ（不図示）を点灯したり、アラーム音を発生したり、ユーザにｅメールで通知したり、セキュリティセンターに通報したり、などを行うことが考えられる。
【００２４】
図２は、実施例１によるカメラモジュールのブロック図である。カメラモジュール１１は、撮像装置３１、暗号化装置３２、復号装置３３、インタフェース３８、およびハウジング３９を有している。撮像装置３１、暗号化装置３２、復号装置３３のいずれか２つ以上が同一の基板上に搭載されている。例えば、撮像装置３１、暗号化装置３２、復号装置３３のいずれか２つ以上を同一のチップで構成し、そのチップを基板に搭載してもよい。撮像装置３１、暗号化装置３２、復号装置３３のいずれか２つ以上が同一の基板上に搭載されれば、基板から内部信号を取りだすことが困難となる。例えば、撮像装置３１と暗号化装置３２が同一の基板に搭載されていれば、平文の画像データを取りだすことが困難となる。
【００２５】
ハウジング３９は、撮像装置３１、暗号化装置３２、および復号装置３３を収容し、入射する光を受け入れる開口３９１を有する。
【００２６】
インタフェース３８は、ハウジング３９の内外を接続し、信号の伝達をする。インタフェース３８は、例えば、ハウジング３９の内部の信号線に電気的に接続され、ハウジング３９の外部に露出する端子である。
【００２７】
光学系３７は、開口３９１から入射する光の像を撮像装置３１に結像する。
【００２８】
撮像装置３１は、光学系３７を通じて入力する光の像を電気信号に変換し、得られた電気信号を平文の画像データとして暗号化装置３２に送信する。撮像装置３１は、例えば、光の像を不図示のＣＭＯＳイメージセンサにより電気信号に変換する。
【００２９】
暗号化装置３２は、平文の画像データを準同型暗号方式で暗号化し、暗号化された画像データを推論器１２に送信する。例えば、準同型性を有する公開鍵暗号の公開鍵を用いて画像データを暗号化する。暗号化された画像データはインタフェース３８から出力される。
【００３０】
復号装置３３は、推論器１２からインタフェース３８を介して入力された暗号化された推論結果を復号し、インタフェース３８を介して家庭内機器８０に出力する。復号装置３３が一定時間あたりに復号できる推論結果のデータ量は、暗号化装置３２が一定時間あたりに暗号化する画像データのデータ量よりも十分に小さく制限されている。復号装置３３が復号する推論結果は、暗号化装置３２が暗号化する画像データに比べてデータ量が十分に小さいので、本来の用途である推論結果の復号には十分に設定することができる。
【００３１】
上記のように、復号装置３３の復号のスループットを制限することにより、画像の流出が抑制されうる。復号装置３３の復号のスループットを制限しない場合、悪意のハッキングなどによりカメラモジュール１１を操作されてしまうと、暗号化装置３２で暗号化された画像データを復号装置３３に折り返し、そこで復号させて平文の画像データを取得することが可能となってしまう。
【００３２】
例えば、カメラモジュール１１でＨＤＴＶ  ７２０ｐが採用されるとすると、１フレームの画素数は１２８０×７２０＝９２１６００画素である。復号装置３３が１秒間に復号できる係数の個数を１２８個に制限すれば、１フレーム分の画像データを復号するのに約２時間を要することになる。カメラモジュール１１のフレームレートが３０ｆｐｓであれば、１秒分の動画データを復号するのに約３０時間を要することになる。このような制限により画像の流出がされにくくなる。
【００３３】
図３は、推論器のブロック図である。推論器１２は、モデルデータ記憶装置４１およびニューラルネットワーク（ＮＮ）処理装置４２を有している。
【００３４】
モデルデータ記憶装置４１は、学習サーバ２０から受信したモデルデータを格納する。
【００３５】
ＮＮ処理装置４２は、モデルデータ記憶装置４１に格納されているモデルデータに基づくニューラルネットワークの推論モデルを準同型暗号空間上で構築し、その推論モデルを用いて、カメラモジュール１１から受信した暗号化された画像データに対して所定の画像認識処理を実行し、画像認識処理の推論結果をカメラモジュール１１に送信する。ニューラルネットワークの推論モデルは、暗号化された画像データを復号することなく、準同型暗号空間で画像認識処理を行うので、得られる推論結果も暗号化されたものである。
【００３６】
以上説明したように本実施例では、カメラモジュール（撮像モジュール）１１は、入力する光の像を画像データに変換する撮像装置３１と、画像データを準同型暗号方式により暗号化する暗号化装置３２と、暗号化装置３２からの暗号化された画像データを出力するインタフェース３８と、を有する。撮像装置３１と暗号化装置３２が一体的に構成されているので、平文の画像データをモジュール外に取り出すことが困難となり、画像の流出を抑制することができる。
【００３７】
また、本実施例のカメラモジュール１１は、暗号化装置３２が出力した暗号化された画像データに対する処理結果である、準同型暗号方式で暗号化された結果信号を復号する復号装置３３を更に有し、インタフェース３８は、更に、復号前の結果信号を入力し、復号後の結果信号を出力する。カメラモジュール１１が準同型暗号を復号する復号装置３３を更に有するので、暗号空間で画像認識処理を行う推論器１２（画像処理器）と組み合わせて使用することで、画像認識処理の処理結果を平文で得ることが可能となる。例えば、ホームデバイス１０Ａにカメラモジュール１１とは別途に復号装置を設ける必要がない。
【００３８】
また、本実施例のカメラモジュール１１は、復号装置３３が一定時間あたりに復号できる推論結果のデータ量が、暗号化装置３２が一定時間あたりに暗号化できる画像データのデータ量よりも少ない。暗号化装置３２のスループットよりも復号装置３３のスループットが低いので、悪意のハッキングなどによりカメラモジュール１１を操作して、暗号化装置３２で暗号化された画像を復号装置３３で復号させて平文の画像を取得しようとしても、十分な復号のスループットが得られないようにし、画像の流出を抑制することができる。
【００３９】
なお、本実施例では、暗号化およびその復号に用いるシステムパラメータとして予め決めておいた値を用いるものとし、システムパラメータの通知を不要としている。しかし、システムパラメータを変更可能とし、暗号化された信号にはシステムパラメータを付加して送信することにしてもよい。その場合、カメラモジュール１１の暗号化装置３２は、画像データの暗号化に用いたシステムパラメータを、暗号化された画像データに付加して送信する。推論器１２は、暗号化された画像データに付加されたシステムパラメータを参照し、準同型暗号空間での画像認識処理に利用する。復号装置３３は、暗号化装置３２で用いられたシステムパラメータを利用して、推論器１２からの暗号化された推論結果を復号する。
【００４０】
また、本実施例では、光学系３７をハウジング３９に収容する構造のカメラモジュール１１を例示したが、他の構造も可能である。例えば、光学系３７の全部または一部をカメラモジュール１１の外部に設けてもよい。
【００４１】
また、本実施例では、学習サーバ２０が平文のモデルデータをホームデバイス１０Ａの推論器１２に送信し、推論器１２が、モデルデータに基づいて、準同型暗号空間上でニューラルネットワークの推論モデルを構築する例を示したが、他の構成も可能である。例えば、学習サーバ２０がモデルデータを準同型暗号空間上で推論モデルを構築できるように変換してホームデバイス１０Ａに送信し、ホームデバイス１０Ａの推論器１２は受信したモデルデータをそのまま利用することにしてもよい。また、学習サーバ２０が、準同型暗号方式に最適な活性化関数を使用して学習を行い、学習された推論モデルのモデルデータをホームデバイス１０Ａに送信することにしてもよい。
【００４２】
また、本実施例では、カメラモジュール１１と推論器１２をホームデバイス１０Ａに収容する構成を例示したが、他の構成も可能である。例えば、推論器１２をホームデバイス１０Ａではなく遠隔にあるサーバに配置し、ホームデバイス１０Ａから暗号化された画像データを、通信ネットワークを介して送信し、サーバで画像データに対する画像認識処理を行い、画像認識処理による推論結果をホームデバイス１０Ａに返送する構成も可能である。画像データに対する画像認識処理をサーバにて行うことでホームデバイス１０Ａの負荷を軽減することができる。また、画像データは暗号化された状態で通信ネットワーク上を流れるので、画像の流出が抑制される。
【００４３】
また、本実施例によるカメラモジュールの撮像装置３１および暗号化装置３２の処理をソフトウェアプログラムにて実現し、プロセッサに実行させることも可能である。更に、復号装置３３の処理もソフトウェアプログラムにて実現し、プロセッサに実行させることも可能である。
【実施例２】
【００４４】
実施例１のホームセキュリティシステムでは、ホームデバイスが画像認識処理の推論結果を家庭内機器に送信し、家庭内機器が推論結果に基づいて所定の処理を行うものであった。それに対して、実施例２では、ホームデバイスが画像認識処理の推論結果に基づいて家庭内機器を制御するホームオートメーションを例示する。画像認識処理の推論結果に基づいて、例えば、テレビ、オーディオ、照明、エアコンなどの制御が行われる。
【００４５】
図４は、実施例２によるホームオートメーションシステムのブロック図である。本実施例のホームオートメーションシステムは、ホームデバイス１０Ｂ、学習サーバ２０、および家庭内機器８０を有している。ホームデバイス１０Ｂおよび家庭内機器８０はユーザの自宅に設置され、学習サーバ２０は通信ネットワークを介して遠隔のサービスセンターに設置されている。ホームデバイス１０Ｂと家庭内機器８０は有線あるいは無線で通信可能に接続されている。
【００４６】
ホームデバイス１０Ｂは、例えば、卓上設置が可能な小型のカメラ付きコントローラである。ホームデバイス１０Ｂは、カメラモジュール１１、推論器１２、および制御器１３を有している。カメラモジュール１１、推論器１２、および制御器１３は１つのボード１９上に搭載されている。
【００４７】
カメラモジュール１１および推論器１２は実施例１のものと同様の構成である。
【００４８】
制御器１３は、カメラモジュール１１からの平文の推論結果に基づいて家庭内機器８０に対して制御信号を送り所定の制御を行う。
【００４９】
家庭内機器８０は制御インタフェースを有する家庭内に置かれる機器、例えば家電機器である。家庭内機器８０は制御器１３からの制御信号に従って所定の動作を行う。例えば、ユーザの居る部屋のエアコンをオンし、無人の部屋のエアコンをオフするなどが可能である。あるいは、所定のジェスチャーによりテレビやオーディオをオンあるいはオフするなども可能である。
【実施例３】
【００５０】
実施例２では、図４に示したように、推論器１２と制御器１３がそれぞれ別個に構成されていた。しかし、推論器１２も制御器１３もどちらもＣＰＵがソフトウェアプログラムを実行しＲＡＭ上にデータを展開して処理を行う構成を想定すると、図２の推論器１２と制御器１３とがＣＰＵおよびＲＡＭといったハードウェアを共有し、一体化することが可能である。実施例３では、図２の推論器１２と制御器１３が一体化された構成を例示する。
【００５１】
図５は、実施例３によるホームオートメーションシステムのブロック図である。本実施例の画像処理システムは、ホームデバイス１０Ｃにおいて、図４の制御器１３と推論器１２の代わりに制御器１３Ｃが設けられている点で実施例２のものと異なる。カメラモジュール１１と制御器１３Ｃは１つのボード１９上に搭載されている。
【００５２】
実施例３の制御器１３Ｃは、図４に示した実施例２の推論器１２と制御器１３の機能を兼ねる。すなわち、制御器１３Ｃは、学習サーバ２０からモデルデータを受信し、モデルデータに基づき推論モデルのニューラルネットワークを構築する。また、制御器１３Ｃは、カメラモジュール１１から暗号化された画像データを受信し、準同型暗号空間で推論モデルによる画像認識処理を行い、推論結果をカメラモジュール１１に送信する。更に、制御器１３Ｃは、カメラモジュール１１からの平文の推論結果に基づいて家庭内機器８０に対して制御信号を送り所定の制御を行う。
【実施例４】
【００５３】
実施例１では、図２に示したように、準同型暗号方式で暗号化された推論結果を復号する復号装置３３がカメラモジュール１１内に組み込まれていた。それに対して、実施例４では、復号装置をカメラモジュールとは別個に構成する例を示す。
【００５４】
図６は、実施例４によるホームセキュリティシステムのブロック図である。本実施例によるホームセキュリティシステムは、ホームデバイス１０Ｄにおいて、カメラモジュール１１Ｄとは別個に復号装置３３Ｄが設けられている点で実施例１のものと異なる。カメラモジュール１１Ｄ、推論器１２、制御器１３、および復号装置３３Ｄは１つのボード１９上に搭載されている。実施例４の推論器１２および制御器１３は実施例１のものと同様である。カメラモジュール１１Ｄは、画像を撮影し、得られた画像データを準同型暗号方式で暗号化し、暗号化された画像データを推論器１２に送信する。復号装置３３Ｄは、推論器１２から、画像データに対する画像認識処理の推論結果を暗号化されたまま受信し、平文に復号し、平文の推論結果を家庭内機器８０に送信する。
【００５５】
図７は、実施例４によるカメラモジュールのブロック図である。本実施例によるカメラモジュール１１Ｄは撮像装置３１、暗号化装置３２、光学系３７、インタフェース３８、およびハウジング３９を有している。撮像装置３１と暗号化装置３２が同一の基板上に搭載されている。例えば、撮像装置３１と暗号化装置３２を同一のチップで構成し、そのチップを基板に搭載してもよい。
【００５６】
実施例４の撮像装置３１、暗号化装置３２、および光学系３７は実施例１のものと同様である。実施例４のハウジング３９も基本的には実施例１のものと同様であるが、復号装置を収容しない点で実施例１のものと異なる。また、実施例４のインタフェース３８も基本的には実施例１のものと同様であるが、暗号化された推論結果を入力せず、平文の推論結果を出力しない点で実施例１のものと異なる。
【実施例５】
【００５７】
実施例１では、ホームデバイス１０Ａが画像認識処理による推論結果を自宅に設置された家庭内機器８０に送信する例を示した。それに対して、実施例５では、ホームデバイスが推論結果を外部のサーバに通知する構成を例示する。本実施例のホームセキュリティシステムは、ホームデバイスがサーバへ推論結果を通知し、サーバが推論結果に基づいて所定の処理を行うものである。
【００５８】
図８は、実施例５によるホームセキュリティシステムのブロック図である。本実施例のホームセキュリティシステムは、ホームデバイス１０Ｅが通信装置１４を備えている点で、図１に示した実施例１のものと異なる。ホームデバイス１０Ｅにおいて、カメラモジュール１１、推論器１２、および通信装置１４は１つのボード１９上に搭載されている。
【００５９】
通信装置１４は、通信ネットワークを介して遠隔のセンターサーバ５０と通信を行う通信装置である。通信装置１４は、カメラモジュール１１からの平文の推論結果をセンターサーバ５０に送信する。
【００６０】
センターサーバ５０は、例えば、ホームセキュリティセンターに設置され、ホームセキュリティサービスを実行するためのサーバである。例えば、センターサーバ５０は、ホームデバイス１０Ｅから利用者の自宅に不審者が侵入したという推論結果を受信すると、警報を発し、待機している警備員に出動を促すなどが考えられる。
【実施例６】
【００６１】
実施例１では、カメラモジュール１１Ａが用いる暗号鍵（公開鍵および秘密鍵）が固定されている例を示した。それに対して、実施例６では、画像フレーム毎に暗号鍵が切り換えられる。更に、実施例６では、カメラモジュールにおける復号装置が画像の１フレームにつき復号できる回数に上限を設ける。
【００６２】
図９は、実施例６によるホームセキュリティシステムのブロック図である。図９を参照すると、ホームデバイス１０Ｆがカメラモジュール１１Ｆおよび推論器１２Ｆを有している。カメラモジュール１１Ｆと推論器１２が１つのボード１９上に搭載されている。
【００６３】
カメラモジュール１１Ｆは、画像のフレーム毎に切り替える公開鍵を画像データの暗号化に用い、暗号化された画像データと画像データの暗号化に用いた公開鍵とを推論器１２に送信し、推論器１２は、公開鍵と暗号化された画像データとを用いて、暗号化された画像データに対する画像認識処理を行う。
【００６４】
本実施例の画像認識処理は、準同型暗号方式で暗号化された画像データを暗号化されたままで処理するものである。例えば、加法準同型暗号方式で暗号化された画像データに対する画像認識処理の演算に定数の加算が含まれており、画像認識処理にて暗号化した定数を用いる必要がある場合がある。本実施例では、推論器１２に公開鍵を与え、推論器１２は、その公開鍵で定数を暗号化して画像認識処理の演算を実行する。
【００６５】
また、カメラモジュール１１Ｆは、暗号化に用いる暗号鍵を画像のフレームごとに切替えるとともに、推論結果の復号においては、画像の１フレームにつき、復号できる係数の個数に上限を設ける。上限は、ニューラルネットワークの暗号化された推論結果に含まれる係数を復号できる程度の個数とする。例えば、上限を最大１２８個などに限定する。それにより、悪意者による画像の復号を抑制することができる。すなわち、１フレームにつき、最大１２８個の係数しか復号できないようにすることにより、暗号化装置の出力を復号装置に折り返すような悪意を持ったニューラルネットワークが構築されても、元の画像が復号されにくくなる。元の画像には推論結果の係数の個数よりもはるかに大きな個数の画素が含まれているため、その復号には、ニューラルネットワークの推論演算の結果を復号できる個数の係数よりも十分に多くの情報量の復号を必要とする。そのため、カメラモジュール１１Ｆは、ニューラルネットワークによる推論結果を復号することはできるが、元の画像を復号することは困難となる。
【００６６】
図１０は、実施例６によるカメラモジュールのブロック図である。図１０を参照すると、実施例６のカメラモジュール１１Ｆは、撮像装置３１、暗号化装置３２Ｆ、復号装置３３Ｆ、鍵生成装置３４、光学系３７、インタフェース３８、およびハウジング３９を有している。撮像装置３１、暗号化装置３２Ｆ、復号装置３３Ｆ、鍵生成装置３４のいずれか２つ以上が同一の基板上に搭載されている。例えば、撮像装置３１、暗号化装置３２Ｆ、復号装置３３Ｆ、鍵生成装置３４のいずれか２つ以上を同一のチップで構成し、そのチップを基板に搭載してもよい。撮像装置３１、暗号化装置３２Ｆ、復号装置３３Ｆ、鍵生成装置３４のいずれか２つ以上が同一の基板上に搭載されれば、基板から内部信号を取りだすことが困難となる。
【００６７】
実施例６の撮像装置３１および光学系３７は図２に示した実施例１のものと同様である。
【００６８】
実施例６のハウジング３９は、基本的には実施例１のものと同様であるが、鍵生成装置３４を更に収容する点で実施例１のものと異なる。
【００６９】
実施例６のインタフェース３８は、基本的には実施例１のものと同様であるが、更に公開鍵を推論器１２Ｆに出力する点で実施例１のものと異なる。
【００７０】
鍵生成装置３４は、画像の１フレーム毎に異なる公開鍵および秘密鍵を生成する。
【００７１】
実施例６の暗号化装置３２Ｆは、画像の１フレーム毎に鍵生成装置３４で生成される異なる公開鍵を用いて、画像データを暗号化する。
【００７２】
実施例６の復号装置３３Ｆは、画像の１フレーム毎に鍵生成装置３４で生成される異なる秘密鍵を用いて、暗号化された推論結果の復号を行う。その際、復号装置３３Ｆは、１つの秘密鍵で復号する係数の個数を所定個数に制限し、それ以上の復号を行わない。
【００７３】
以上説明したように、本実施例では、カメラモジュール１１Ｆが、画像フレーム毎に公開鍵および秘密鍵を生成する鍵生成装置３４を更に有し、暗号化装置３２Ｆは、画像フレーム毎の公開鍵で画像フレームの画素値を暗号化し、復号装置３３Ｆは、秘密鍵を用いた結果信号の復号において、１つの秘密鍵を用いて実行できる復号の回数を所定の上限回数までとする。画像フレーム毎に秘密鍵が切り替えられ、かつ１つの秘密鍵による復号回数が制限されるので、悪意のハッキングなどにより撮像モジュールを操作して、暗号化装置で暗号化された画像を復号装置で復号させて平文の画像を取得しようとしても、画像フレーム内で十分な画素数の画素値を復号できないようにして画像の流出を抑制することができる。
【００７４】
また、本実施例では、カメラモジュール１１Ｆでは、インタフェース３８は、暗号化された画像データと公開鍵を出力する。推論器１２Ｆは、暗号化された画像データと公開鍵とを受信し、定数を公開鍵で暗号化して、画像データに対する画像処理に用いる。準同型暗号の暗号化に用いる公開鍵を撮像モジュールから画像処理器に通知するので、画像処理器が、定数を公開鍵で暗号化することにより、定数を含む準同型暗号の画像処理を実行することができる。
【００７５】
なお、本実施例では、公開鍵を画像のフレーム毎に切り替え、かつ秘密鍵で復号できる係数の個数を限定することにより、悪意者による画像データの復号を困難にしたが、他の構成も可能である。他の例として、暗号化装置３２Ｆは、暗号化された画像データに、例えば暗号化時刻を示すタイムスタンプを付加して出力し、復号装置３３Ｆは、入力された信号に付加されているタイムスタンプを参照し、タイムスタンプが示す時刻から所定閾値時間以上経過していなければ入力された信号を復号し、タイムスタンプが示す時刻から閾値時間以上経過していれば入力された信号を復号しないことにしてもよい。それにより、復号装置３３Ｆの復号のスループットを制限し、画像データの復号に悪用するのを防止することができる。復号のスループットを適切に設定することで、比較的情報量の少ないニューラルネットワークの推論結果であれば復号できるが、情報量の多い元の画像の復号は困難にすることができる。
【００７６】
また、本実施例によるカメラモジュールの撮像装置３１、暗号化装置３２Ｆ、復号装置３３Ｆ、および鍵生成装置３４の処理をソフトウェアプログラムにて実現し、プロセッサに実行させることも可能である。
【符号の説明】
【００７７】
１０Ａ〜１０Ｆ…ホームデバイス、１１，１１Ａ，１１Ｄ，１１Ｆ…カメラモジュール、１２，１２Ｆ…推論器、１３，１３Ｃ…制御器、１４…通信装置、２０…学習サーバ、２１…記憶部、２２…学習部、３１…撮像装置、３２，３２Ｆ…暗号化装置、３３，３３Ｄ，３３Ｆ…復号装置、３４…鍵生成装置、３７…光学系、３８…インタフェース、３９…ハウジング、４１…モデルデータ記憶装置、４２…処理装置、４２…ニューラルネットワーク処理装置、５０…センターサーバ、８０…家庭内機器、３９１…開口
【図１】
2019113665.tif 000003
【図２】
2019113665.tif 000004
【図３】
2019113665.tif 000005
【図４】
2019113665.tif 000006
【図５】
2019113665.tif 000007
【図６】
2019113665.tif 000008
【図７】
2019113665.tif 000009
【図８】
2019113665.tif 000010
【図９】
2019113665.tif 000011
【図１０】
2019113665.tif 000012