JP2021168459A - Apparatus, system, imaging apparatus, mobile, program and method - Google Patents
Apparatus, system, imaging apparatus, mobile, program and method Download PDFInfo
- Publication number
- JP2021168459A JP2021168459A JP2020071850A JP2020071850A JP2021168459A JP 2021168459 A JP2021168459 A JP 2021168459A JP 2020071850 A JP2020071850 A JP 2020071850A JP 2020071850 A JP2020071850 A JP 2020071850A JP 2021168459 A JP2021168459 A JP 2021168459A
- Authority
- JP
- Japan
- Prior art keywords
- intermediate layer
- data
- moving image
- neural network
- image
- 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.)
- Ceased
Links
Images
Landscapes
- Studio Devices (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
本発明は、装置、システム、撮像装置、移動体、プログラム及び方法に関する。 The present invention relates to devices, systems, imaging devices, mobiles, programs and methods.
非特許文献1には、ニューラルネットワークの一部の処理をモバイルエッジで実行し、ニューラルネットワークの残りの部分をクラウドサーバで実行する技術が記載されている。
[先行技術文献]
[特許文献]
[非特許文献1]Yiping Kang, Johann Hauswald, Cao Gao, Austin Rovinski, Trevor Mudge, Jason Mars, Lingjia Tang, "Neurosergeon: Collaborative intelligence between the cloud and mobile edge", ACM SIGARCH Computer Architecture News, 2017年4月
Non-Patent Document 1 describes a technique in which a part of a neural network is executed by a mobile edge and the rest of the neural network is executed by a cloud server.
[Prior art literature]
[Patent Document]
[Non-Patent Document 1] Yiping Kang, Johann Hauswald, Cao Gao, Austin Rovinski, Trevor Mudge, Jason Mars, Lingjia Tang, "Neurosergeon: Collaborative intelligence between the cloud and mobile edge", ACM SIGARCH Computer Architecture News, 4 May 2017
本発明の第1の形態に係る装置は、動画を構成する第1の動画構成画像の画像データに対して、多層ニューラルネットワークにおける特定の中間層までの処理を行うことによって、第1の中間層データを生成するよう構成された回路を備える。回路は、動画を構成する第2の動画構成画像の画像データに対して、多層ニューラルネットワークにおける特定の中間層までの処理を行うことによって、第2の中間層データを生成するよう構成される。回路は、第1の動画構成画像と第2の動画構成画像との間の動き情報に基づいて、第1の中間層データと第2の中間層データとの間の動きデータを生成するよう構成される。回路は、動きデータに基づいて第1の中間層データと第2の中間層データとの間で動き補償を行うことによって、第1の中間層データと第2の中間層データとの間の残差データを生成するよう構成される。回路は、残差データに基づいて、多層ニューラルネットワークにおける特定の中間層より後段の処理を行う他の装置に送信する中間層データを生成するよう構成される。回路は、中間層データ及び動きデータを、他の装置に送信するよう構成される。 The apparatus according to the first embodiment of the present invention performs processing up to a specific intermediate layer in the multi-layer neural network on the image data of the first moving image constituent image constituting the moving image, thereby forming the first intermediate layer. It includes a circuit configured to generate data. The circuit is configured to generate the second intermediate layer data by performing processing up to a specific intermediate layer in the multi-layer neural network on the image data of the second moving image constituent image constituting the moving image. The circuit is configured to generate motion data between the first intermediate layer data and the second intermediate layer data based on the motion information between the first moving image and the second moving image. Will be done. The circuit performs motion compensation between the first and second intermediate layer data based on the motion data, thereby performing a motion compensation between the first intermediate layer data and the second intermediate layer data. It is configured to generate difference data. The circuit is configured to generate intermediate layer data to be transmitted to other devices that perform processing after a specific intermediate layer in a multi-layer neural network based on the residual data. The circuit is configured to transmit intermediate layer data and motion data to other devices.
回路は、残差データを量子化することによって量子化データを生成するように構成される。回路は、量子化データに基づいて中間層データを生成するように構成されてよい。 The circuit is configured to generate quantized data by quantizing the residual data. The circuit may be configured to generate intermediate layer data based on the quantized data.
回路は、量子化データをエントロピー符号化することによって中間層データを生成するように構成されてよい。 The circuit may be configured to generate intermediate layer data by entropy coding the quantized data.
多層ニューラルネットワークは畳み込みニューラルネットワークであり、第1の動画構成画像及び第2の動画構成画像に畳み込み演算を行うための1つ以上の中間層を含んでよい。 The multi-layer neural network is a convolutional neural network, and the first moving image and the second moving image may include one or more intermediate layers for performing a convolution operation.
回路は、第1の動画構成画像及び第2の動画構成画像のサイズ及び第1の中間層データ及び第2の中間層データのサイズに基づいて動き情報をスケーリングすることによって、動きデータを生成するように構成されてよい。 The circuit generates motion data by scaling the motion information based on the size of the first moving image and the second moving image and the size of the first intermediate layer data and the second intermediate layer data. It may be configured as follows.
多層ニューラルネットワークは、動画の超解像処理又は動画からの画像認識処理を行うためのニューラルネットワークであってよい。 The multi-layer neural network may be a neural network for performing super-resolution processing of moving images or image recognition processing from moving images.
多層ニューラルネットワークは、多層ニューラルネットワークの特定の中間層より前段の入力層から特定の中間層より後段の出力層までのニューラルネットワークパラメータが、学習データを用いて学習されている。回路は、入力層から特定の中間層までのニューラルネットワークパラメータを記憶するように構成されてよい。 In the multi-layer neural network, the neural network parameters from the input layer before the specific intermediate layer of the multi-layer neural network to the output layer after the specific intermediate layer are learned by using the training data. The circuit may be configured to store neural network parameters from the input layer to a particular intermediate layer.
多層ニューラルネットワークは複数の中間層を有してよい。回路は、装置における通信回線容量、装置の負荷状態、及び、装置の電源状態のうちの少なくとも1つに基づいて、複数の中間層の中から特定の中間層を選択するように構成されてよい。 A multi-layer neural network may have a plurality of intermediate layers. The circuit may be configured to select a particular intermediate layer from a plurality of intermediate layers based on at least one of the communication line capacity of the device, the load state of the device, and the power state of the device. ..
本発明の第2の態様に係る装置は、動画を構成する第1の動画構成画像及び第2の動画構成画像に対して多層ニューラルネットワークにおける特定の中間層までの処理を行う他の装置と通信し、多層ニューラルネットワークにおける特定の中間層より後段の処理を行う。装置は、他の装置から、(i)第1の動画構成画像に対して多層ニューラルネットワークにおける特定の中間層までの処理を行うことによって生成された第1の中間層データと、(ii)第1の中間層データと第2の動画構成画像に対して多層ニューラルネットワークにおける特定の中間層までの処理を行うことによって生成された第2の中間層データとの間の動きデータと、(iii)第1の中間層データと第2の中間層データとの間の残差データであって、動きデータに基づいて動き補償を行うことによって生成された第1の中間層データと第2の中間層データとの間の残差データとを受信するように構成された回路を備える。回路は、動きデータ及び残差データに基づいて、第2の中間層データを生成するように構成される。回路は、第1の中間層データ及び第2の中間層データに対して、多層ニューラルネットワークにおける特定の中間層より後段の処理を行うように構成される。 The apparatus according to the second aspect of the present invention communicates with another apparatus that processes the first moving image constituent image and the second moving image constituent image constituting the moving image up to a specific intermediate layer in the multi-layer neural network. Then, the processing after the specific intermediate layer in the multi-layer neural network is performed. The device includes (i) first intermediate layer data generated by processing the first moving image constituent image from another device to a specific intermediate layer in the multilayer neural network, and (ii) first. Motion data between the intermediate layer data of 1 and the second intermediate layer data generated by processing up to a specific intermediate layer in the multilayer neural network for the second moving image constituent image, and (iii). Residual data between the first intermediate layer data and the second intermediate layer data, the first intermediate layer data and the second intermediate layer generated by performing motion compensation based on the motion data. It includes a circuit configured to receive residual data with and from the data. The circuit is configured to generate second intermediate layer data based on motion data and residual data. The circuit is configured to perform processing on the first intermediate layer data and the second intermediate layer data after the specific intermediate layer in the multi-layer neural network.
本発明の第3の態様に係るシステムは、第1の態様に係る装置と、第2の態様に係る装置とを備える。 The system according to the third aspect of the present invention includes an apparatus according to the first aspect and an apparatus according to the second aspect.
本発明の第4の態様に係る撮像装置は、上記の装置と、画像を生成するイメージセンサとを備える。 The image pickup apparatus according to the fourth aspect of the present invention includes the above-mentioned apparatus and an image sensor for generating an image.
本発明の第5の態様に係る移動体は、上記の撮像装置を備えて移動する。 The moving body according to the fifth aspect of the present invention moves with the above-mentioned imaging device.
移動体は、無人航空機であってよい。 The moving body may be an unmanned aerial vehicle.
本発明の第6の態様に係るプログラムは、コンピュータを上記の装置として機能させる。プログラムは、非一時的記録媒体に記録されてよい。 The program according to the sixth aspect of the present invention causes the computer to function as the above-mentioned device. The program may be recorded on a non-temporary recording medium.
本発明の第7の態様に係る方法は、動画を構成する第1の動画構成画像の画像データに対して、多層ニューラルネットワークにおける特定の中間層までの処理を行うことによって、第1の中間層データを生成する段階を備える。方法は、動画を構成する第2の動画構成画像の画像データに対して、多層ニューラルネットワークにおける特定の中間層までの処理を行うことによって、第2の中間層データを生成する段階を備える。方法は、第1の動画構成画像と第2の動画構成画像との間の動き情報に基づいて、第1の中間層データと第2の中間層データとの間の動きデータを生成する段階を備える。方法は、動きデータに基づいて第1の中間層データと第2の中間層データとの間で動き補償を行うことによって、第1の中間層データと第2の中間層データとの間の残差データを生成する段階を備える。方法は、残差データに基づいて、多層ニューラルネットワークにおける特定の中間層より後段の処理を行う他の装置に送信する中間層データを生成する段階を備える。方法は、中間層データ及び動きデータを、他の装置に送信する段階を備える。 In the method according to the seventh aspect of the present invention, the image data of the first moving image constituent image constituting the moving image is processed up to a specific intermediate layer in the multi-layer neural network, so that the first intermediate layer is processed. It has a stage to generate data. The method includes a step of generating a second intermediate layer data by performing processing up to a specific intermediate layer in the multi-layer neural network on the image data of the second moving image constituting the moving image. The method is a step of generating motion data between the first intermediate layer data and the second intermediate layer data based on the motion information between the first moving image constituent image and the second moving image constituent image. Be prepared. The method is to perform motion compensation between the first intermediate layer data and the second intermediate layer data based on the motion data, thereby performing a residual between the first intermediate layer data and the second intermediate layer data. It has a stage to generate difference data. The method comprises a step of generating intermediate layer data to be transmitted to another device that performs processing after a specific intermediate layer in a multi-layer neural network based on the residual data. The method comprises transmitting intermediate layer data and motion data to another device.
本発明の第8の態様に係る方法は、動画を構成する第1の動画構成画像及び第2の動画構成画像に対して多層ニューラルネットワークにおける特定の中間層までの処理を行う他の装置と通信し、多層ニューラルネットワークにおける特定の中間層より後段の処理を行う。方法は、他の装置から、(i)第1の動画構成画像に対して多層ニューラルネットワークにおける特定の中間層までの処理を行うことによって生成された第1の中間層データと、(ii)第1の中間層データと第2の動画構成画像に対して多層ニューラルネットワークにおける特定の中間層までの処理を行うことによって生成された第2の中間層データとの間の動きデータと、(iii)第1の中間層データと第2の中間層データとの間の残差データであって、動きデータに基づいて動き補償を行うことによって生成された第1の中間層データと第2の中間層データとの間の残差データとを受信する段階を備える。方法は、動きデータ及び残差データに基づいて、第2の中間層データを生成する段階を備える。方法は、第1の中間層データ及び第2の中間層データに対して、多層ニューラルネットワークにおける特定の中間層より後段の処理を行う段階を備える。 The method according to the eighth aspect of the present invention communicates with another device that processes the first moving image constituent image and the second moving image constituent image constituting the moving image up to a specific intermediate layer in the multi-layer neural network. Then, the processing after the specific intermediate layer in the multi-layer neural network is performed. The method comprises (i) first intermediate layer data generated by processing the first moving image constituent image from another device to a specific intermediate layer in the multilayer neural network, and (ii) first. Motion data between the intermediate layer data of 1 and the second intermediate layer data generated by processing up to a specific intermediate layer in the multilayer neural network for the second moving image constituent image, and (iii). Residual data between the first intermediate layer data and the second intermediate layer data, the first intermediate layer data and the second intermediate layer generated by performing motion compensation based on the motion data. It is provided with a step of receiving residual data from the data. The method comprises generating a second intermediate layer data based on the motion data and the residual data. The method includes a step of processing the first intermediate layer data and the second intermediate layer data after the specific intermediate layer in the multi-layer neural network.
本発明の上記の態様によれば、他の装置に送信されるニューラルネットワークの中間層データのデータ量を削減することができる。 According to the above aspect of the present invention, it is possible to reduce the amount of intermediate layer data of the neural network transmitted to other devices.
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。 The outline of the above invention does not list all the necessary features of the present invention. Sub-combinations of these feature groups can also be inventions.
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施の形態は特許請求の範囲に係る発明を限定するものではない。また、実施の形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。以下の実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。 Hereinafter, the present invention will be described through embodiments of the invention, but the following embodiments do not limit the invention according to the claims. Also, not all combinations of features described in the embodiments are essential to the means of solving the invention. It will be apparent to those skilled in the art that various changes or improvements can be made to the following embodiments. It is clear from the description of the claims that such modified or improved forms may also be included in the technical scope of the present invention.
特許請求の範囲、明細書、図面、及び要約書には、著作権による保護の対象となる事項が含まれる。著作権者は、これらの書類の何人による複製に対しても、特許庁のファイルまたはレコードに表示される通りであれば異議を唱えない。ただし、それ以外の場合、一切の著作権を留保する。 The claims, description, drawings, and abstracts include matters that are subject to copyright protection. The copyright holder will not object to any person's reproduction of these documents as long as they appear in the Patent Office files or records. However, in other cases, all copyrights are reserved.
本発明の様々な実施形態は、フローチャート及びブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、プログラマブル回路、及び/またはプロセッサによって実装されてよい。専用回路は、デジタル及び/またはアナログハードウェア回路を含んでよい。集積回路(IC)及び/またはディスクリート回路を含んでよい。プログラマブル回路は、再構成可能なハードウェア回路を含んでよい。再構成可能なハードウェア回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、及び他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等の様なメモリ要素等を含んでよい。 Various embodiments of the present invention may be described with reference to flowcharts and block diagrams, wherein the block is (1) a stage of the process in which the operation is performed or (2) a device having a role of performing the operation. May represent the "part" of. Specific steps and "parts" may be implemented by programmable circuits and / or processors. Dedicated circuits may include digital and / or analog hardware circuits. It may include integrated circuits (ICs) and / or discrete circuits. Programmable circuits may include reconfigurable hardware circuits. Reconfigurable hardware circuits include logical AND, logical OR, logical XOR, logical NAND, logical NOR, and other logical operations, flip-flops, registers, field programmable gate arrays (FPGA), programmable logic arrays (PLA), etc. It may include a memory element such as.
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよい。その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD−ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。 The computer-readable medium may include any tangible device capable of storing instructions executed by the appropriate device. As a result, the computer-readable medium having the instructions stored therein will include the product, including instructions that can be executed to create means for performing the operation specified in the flowchart or block diagram. Examples of computer-readable media may include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, and the like. More specific examples of computer-readable media include floppy® disks, diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), Electrically erasable programmable read-only memory (EEPROM), static random access memory (SRAM), compact disc read-only memory (CD-ROM), digital versatile disc (DVD), Blu-ray® disc, memory stick, An integrated circuit card or the like may be included.
コンピュータ可読命令は、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードの何れかを含んでよい。ソースコードまたはオブジェクトコードは、従来の手続型プログラミング言語を含む。従来の手続型プログラミング言語は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語または同様のプログラミング言語でよい。コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供されてよい。プロセッサまたはプログラマブル回路は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。 Computer-readable instructions may include either source code or object code written in any combination of one or more programming languages. Source code or object code includes traditional procedural programming languages. Traditional procedural programming languages are assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcodes, firmware instructions, state-setting data, or Smalltalk®, JAVA®, C ++. It may be an object-oriented programming language such as, and a "C" programming language or a similar programming language. Computer-readable instructions are applied locally or to a processor or programmable circuit of a general purpose computer, special purpose computer, or other programmable data processing device, or a wide area network (WAN) such as a local area network (LAN), the Internet, etc. ) May be provided. The processor or programmable circuit may execute computer-readable instructions to create means for performing the operations specified in the flowchart or block diagram. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers and the like.
図1は、本実施形態に係る撮像装置100の外観斜視図の一例を示す図である。図2は、本実施形態に係る撮像装置100の機能ブロックを示す図である。
FIG. 1 is a diagram showing an example of an external perspective view of the
撮像装置100は、撮像部102、レンズ部200を備える。撮像部102は、イメージセンサ120、制御部110、メモリ130、指示部162、表示部160及び通信部170を有する。
The
イメージセンサ120は、CCDまたはCMOSにより構成されてよい。イメージセンサ120は、レンズ部200が有するレンズ210を介して光を受光する。イメージセンサ120は、レンズ210を介して結像された光学像の画像データを制御部110に出力する。
The
制御部110は、CPUまたはMPUなどのマイクロプロセッサ、MCUなどのマイクロコントローラなどにより構成されてよい。メモリ130は、コンピュータ可読可能な記録媒体でよく、SRAM、DRAM、EPROM、EEPROM、及びUSBメモリなどのフラッシュメモリの少なくとも1つを含んでよい。制御部110は回路に対応する。メモリ130は、制御部110がイメージセンサ120などを制御するのに必要なプログラム等を格納する。メモリ130は、撮像装置100の筐体の内部に設けられてよい。メモリ130は、撮像装置100の筐体から取り外し可能に設けられてよい。
The
指示部162は、撮像装置100に対する指示をユーザから受け付けるユーザインタフェースである。表示部160は、イメージセンサ120により撮像され、制御部110により処理された画像、撮像装置100の各種設定情報などを表示する。表示部160は、タッチパネルで構成されてよい。
The
制御部110は、レンズ部200及びイメージセンサ120を制御する。例えば、制御部110は、レンズ210の焦点の位置や焦点距離を制御する。制御部110は、ユーザからの指示を示す情報に基づいて、レンズ部200が備えるレンズ制御部220に制御命令を出力することにより、レンズ部200を制御する。
The
レンズ部200は、1以上のレンズ210、レンズ駆動部212、レンズ制御部220、及びメモリ222を有する。本実施形態において1以上のレンズ210のことを「レンズ210」と総称する。レンズ210は、フォーカスレンズ及びズームレンズを含んでよい。レンズ210が含むレンズのうちの少なくとも一部または全部は、レンズ210の光軸に沿って移動可能に配置される。レンズ部200は、撮像部102に対して着脱可能に設けられる交換レンズであってよい。
The
レンズ駆動部212は、レンズ210のうちの少なくとも一部または全部を、レンズ210の光軸に沿って移動させる。レンズ制御部220は、撮像部102からのレンズ制御命令に従って、レンズ駆動部212を駆動して、レンズ210全体又はレンズ210が含むズームレンズやフォーカスレンズを光軸方向に沿って移動させることで、ズーム動作やフォーカス動作の少なくとも一方を実行する。レンズ制御命令は、例えば、ズーム制御命令、及びフォーカス制御命令等である。
The
レンズ駆動部212は、複数のレンズ210の少なくとも一部または全部を光軸方向に移動させるボイスコイルモータ(VCM)を含んでよい。レンズ駆動部212は、DCモータ、コアレスモータ、または超音波モータ等の電動機を含んでよい。レンズ駆動部212は、電動機からの動力をカム環、ガイド軸等の機構部材を介して複数のレンズ210の少なくとも一部または全部に伝達して、レンズ210の少なくとも一部または全部を光軸に沿って移動させてよい。
The
メモリ222は、レンズ駆動部212を介して移動するフォーカスレンズやズームレンズ用の制御値を記憶する。メモリ222は、SRAM、DRAM、EPROM、EEPROM、及びUSBメモリなどのフラッシュメモリの少なくとも1つを含んでよい。
The
制御部110は、指示部162等を通じて取得したユーザの指示を示す情報に基づいて、イメージセンサ120に制御命令を出力することにより、イメージセンサ120に撮像動作の制御を含む制御を実行する。制御部110は、イメージセンサ120により撮像された画像を取得する。制御部110は、イメージセンサ120から取得した画像に画像処理を施してメモリ130に格納する。
The
通信部170は、外部との通信を担う。通信部170は、制御部110が生成した情報を通信ネットワークを通じて外部に送信する。通信部170は、通信ネットワークを通じて外部から受信した情報を制御部110に提供する。
The
図3は、撮像装置100とサーバ180とを備えるシステム310の全体図を模式的に示す。撮像装置100は、多層ニューラルネットワークを用いて、撮像装置100が撮像した動画データを処理する。具体的には、撮像装置100は、多層ニューラルネットワークにおける特定の中間層までの処理を行い、特定の中間層のデータを生成する。撮像装置100は、動画の動き情報を用いて中間層のデータを圧縮して、中間層データを生成する。撮像装置100の通信部170は、中間層データ及び動きデータを、通信ネットワーク190を通じてサーバ180に送信する。
FIG. 3 schematically shows an overall view of the
サーバ180は、中間層データ及び動き情報を受信すると、動き情報を用いて中間層データを伸長することによって、中間層のデータを取得する。そして、サーバ180は、中間層のデータを多重ニューラルネットワークにおける特定の中間層に反映して、多層ニューラルネットワークにおける特定の中間層より後段の処理を行う。サーバ180は、多重ニューラルネットワークの出力層の情報に基づく処理結果を、通信ネットワーク190を通じて撮像装置100に送信する。例えば、多層ニューラルネットワークが画像認識用のニューラルネットワークである場合、撮像装置100は、画像の認識結果を撮像装置100に送信する。
When the
撮像装置100が実行するニューラルネットワークに関する処理の概要を説明する。制御部110は、動画を構成する第1の動画構成画像の画像データに対して、多層ニューラルネットワークにおける特定の中間層までの処理を行うことによって、第1の中間層データを生成する。制御部110は、動画を構成する第2の動画構成画像の画像データに対して、多層ニューラルネットワークにおける特定の中間層までの処理を行うことによって、第2の中間層データを生成する。制御部110は、第1の動画構成画像と第2の動画構成画像との間の動き情報に基づいて、第1の中間層データと第2の中間層データとの間の動きデータを生成する。制御部110は、動きデータに基づいて、第1の中間層データと第2の中間層データとの間で動き補償を行うことによって、第1の中間層データと第2の中間層データとの間の残差データを生成する。制御部110は、残差データに基づいて、多層ニューラルネットワークにおける特定の中間層より後段の処理を行う他の装置に送信する中間層データを生成する。通信部170は、中間層データ及び動きデータを、他の装置に送信する。例えば、通信部170は、中間層データ及び動きデータを、通信ネットワーク190を通じてサーバ180に送信する。
The outline of the processing related to the neural network executed by the
制御部110は、残差データを量子化することによって量子化データを生成する。制御部110は、量子化データに基づいて中間層データを生成する。例えば、制御部110は、量子化データをエントロピー符号化することによって中間層データを生成する。
The
制御部110は、第1の動画構成画像及び第2の動画構成画像のサイズ及び第1の中間層データ及び第2の中間層データのサイズに基づいて動き情報をスケーリングすることによって、動きデータを生成してよい。
The
多層ニューラルネットワークは畳み込みニューラルネットワークであってよい。多層ニューラルネットワークは、第1の動画構成画像及び第2の動画構成画像に畳み込み演算を行うための1つ以上の中間層を含んでよい。多層ニューラルネットワークは、動画の超解像処理を行うためのニューラルネットワークであってよい。多層ニューラルネットワークは、動画からの画像認識処理を行うためのニューラルネットワークであってよい。多層ニューラルネットワークの用途は結果を超解像処理や画像認識処理に限られない。多層ニューラルネットワークは画像を入力する任意のニューラルネットワークであってよい。 The multi-layer neural network may be a convolutional neural network. The multi-layer neural network may include one or more intermediate layers for performing a convolution operation on the first moving image and the second moving image. The multi-layer neural network may be a neural network for performing super-resolution processing of moving images. The multi-layer neural network may be a neural network for performing image recognition processing from a moving image. Applications of multi-layer neural networks are not limited to super-resolution processing and image recognition processing for results. The multi-layer neural network may be any neural network that inputs an image.
多層ニューラルネットワークは、多層ニューラルネットワークの特定の中間層より前段の入力層から特定の中間層より後段の出力層までのニューラルネットワークパラメータが、学習データを用いて学習されていてよい。制御部110は、入力層から特定の中間層までのニューラルネットワークパラメータを記憶する。例えば、制御部110は、入力層から特定の中間層までのニューラルネットワークパラメータを予めメモリ130に記憶する。なお、制御部110は、中間層より後段のニューラルネットワークパラメータを記憶しなくてよい。
In the multi-layer neural network, the neural network parameters from the input layer before the specific intermediate layer of the multi-layer neural network to the output layer after the specific intermediate layer may be learned by using the training data. The
多層ニューラルネットワークは複数の中間層を有してよい。制御部110は、撮像装置100において利用可能な通信回線容量、撮像装置100の負荷状態、及び、撮像装置100の電源状態のうちの少なくとも1つに基づいて、多層ニューラルネットワークが有する複数の中間層の中から特定の中間層を選択する。例えば、制御部110は、撮像装置100において利用可能な通信回線容量が小さいほど、より前段の層を特定の中間層として選択してよい。制御部110は、撮像装置100の負荷状態が高いほど、より前段の層を特定の中間層として選択してよい。制御部110は、撮像装置100の電源残容量が低いほど、より前段の層を特定の中間層として選択してよい。
A multi-layer neural network may have a plurality of intermediate layers. The
次に、サーバ180が実行する処理の概要を説明する。サーバ180は、多層ニューラルネットワークにおける上記の特定の中間層より後段の処理を行う装置である。サーバ180は、撮像装置100から、(i)第1の動画構成画像に対して多層ニューラルネットワークにおける特定の中間層までの処理を行うことによって生成された第1の中間層データと、(ii)第1の中間層データと第2の動画構成画像に対して多層ニューラルネットワークにおける特定の中間層までの処理を行うことによって生成された第2の中間層データとの間の動きデータと、(iii)第1の中間層データと第2の中間層データとの間の残差データであって、動きデータに基づいて動き補償を行うことによって生成された第1の中間層データと第2の中間層データとの間の残差データとを受信する。サーバ180は、動きデータ及び残差データに基づいて、第2の中間層データを生成する。サーバ180は、第1の中間層データ及び第2の中間層データに対して、多層ニューラルネットワークにおける特定の中間層より後段の処理を行う。
Next, an outline of the processing executed by the
図4は、撮像装置100により撮像される動画を構成する動画構成画像を模式的に示す。動画は、動画構成画像400、動画構成画像401、動画構成画像402、動画構成画像403・・・のように時系列の複数の動画構成画像を含んで構成される。
FIG. 4 schematically shows a moving image constituent image constituting a moving image captured by the
図5は、多層ニューラルネットワーク580によって動画構成画像を処理する様子を模式的に示す。多層ニューラルネットワーク580は、入力層500、中間層501、中間層502、中間層503、中間層508、及び出力層509を含む。多層ニューラルネットワーク580は、例えば、動画構成画像からの画像認識処理や動画構成画像の超解像処理を行うための畳み込みニューラルネットワーク(CNN)である。動画構成画像400、動画構成画像401、動画構成画像402・・・は、予め定められた順で順次に入力層500に入力される。入力層500に入力された動画構成画像は、中間層501、中間層502、中間層503及び中間層508を含む複数の中間層の間で順次に処理され、出力層509から出力される。出力層509のデータに基づいて、多層ニューラルネットワーク580により処理結果が生成される。
FIG. 5 schematically shows how the multilayer
本実施形態において、多層ニューラルネットワーク580において入力層500から中間層502までの処理を撮像装置100が担当し、中間層502より後段の出力層509までの処理をサーバ180が担当する。
In the present embodiment, the
図6は、撮像装置100における中間層データの圧縮処理の概要を模式的に示す。制御部110は、複数の動画構成画像の間の動きを検出する。例えば、制御部110は、ブロックマッチング等の手法により動きを検出してよい。図6は、動画構成画像400を参照画像として、動画構成画像401に関する動きとして動き情報M0が検出された状態を示す。
FIG. 6 schematically shows an outline of the intermediate layer data compression process in the
中間層データ601は、動画構成画像400を入力層500に入力することによって得られる中間層501の状態を示し、中間層データ602は、動画構成画像400を入力層500に入力することによって得られる中間層502の状態を示す。中間層データ611は、動画構成画像401を入力層500に入力することによって得られる中間層501の状態を示し、中間層データ612は、動画構成画像401を入力層500に入力することによって得られる中間層502の状態を示す。
The
まず、制御部110は、中間層データ602に対し量子化630及び符号化640を行う。通信部170は、中間層データ602の量子化630及び符号化640によって得られたデータを、サーバ180に送信する。
First, the
次に、制御部110は、動画構成画像400及び動画構成画像401から取得した動き情報M0に基づいて、動き情報M1を取得する。制御部110は、動画構成画像400及び動画構成画像401のサイズと、中間層502のサイズに基づいて、動き情報M0をスケーリングすることにより、動き情報M1を取得する。なお、動画構成画像400及び動画構成画像401のサイズと中間層502のサイズが同一の場合は、動き情報M1として動き情報M0をそのまま適用してよい。多層ニューラルネットワーク580において中間層502までの間に畳み込み処理やプーリング処理が存在することによって動画構成画像400及び動画構成画像401に対して中間層502のサイズが小さい場合、制御部110は、動き情報M0を縮小率に応じてスケーリングすることにより、動き情報M1を生成する。
Next, the
制御部110は、動き情報M1を用いて中間層データ602から中間層データ612の予測データを生成し、中間層データ612と予測データとの残差情報620を生成する。制御部110は、残差情報620を量子化650し、残差情報620の量子化により得られた情報を符号化660する。例えば、制御部110は、残差情報620の量子化により得られた情報をエントロピー符号化により符号化する。通信部170は、エントロピー符号化された情報をサーバ180に送信する。
The
図7は、制御部110のブロック構成を模式的に示す。第1CNN部710は、多層ニューラルネットワーク580における入力層500から中間層502までの部分を示す。入力動画の動画構成画像は、第1CNN部710で処理され、中間データバッファ720に記憶される。
FIG. 7 schematically shows the block configuration of the
動き検出部730は、複数の動画構成画像間の動き情報を検出する。動きマッピング部750は、動き検出部730が検出した動き情報を、中間層502のサイズにスケーリングすることによって、中間層502における動き情報を取得する。中間データ予測部740は、動きマッピング部750が取得した中間層502における動き情報と、中間データバッファ720に記憶されている中間層データとに基づいて、中間層データの予測データを生成して、中間層データと予測データとの間の残差情報を生成する。量子化・エントロピー符号化部760は、中間データ予測部740が生成した残差情報を量子化し、量子化された残差情報にエントロピー符号化を施す。通信部170は、量子化・エントロピー符号化部760により得られた残差情報の符号化データと、動き検出部730により動画構成画像から検出された動き情報とを含む送信データ780を生成して、サーバ180に送信する。
The
静止被写体が写っている領域や大域的な動きがある領域については、中間層データの残差情報は小さな値になることが期待できる。そのため、量子化処理によって残差情報の値が0になる場合が多いことが期待できる。そのため、ランレングス符号化等の符号化処理を行うことにより、中間層データの圧縮率を高めることが期待できる。なお、符号化として算術符号化を適用してもよい。量子化後の0及び1の値の発生確率には偏りが生じることが期待できるため、算術符号化を利用することによっても圧縮率を高めることが期待できる。 It can be expected that the residual information of the intermediate layer data will be a small value in the area where the still subject is shown or the area where there is global movement. Therefore, it can be expected that the value of the residual information becomes 0 in many cases due to the quantization process. Therefore, it can be expected that the compression rate of the intermediate layer data is increased by performing a coding process such as run-length coding. Arithmetic coding may be applied as the coding. Since it is expected that the probability of occurrence of 0 and 1 values after quantization will be biased, it can be expected that the compression rate can be increased by using arithmetic coding.
図8は、サーバ180のブロック構成を模式的に示す。第2CNN部810は、多層ニューラルネットワーク580における中間層502から出力層509までの部分を示す。エントロピー復号化・量子化部830は、撮像装置100から受信した中間層データに対してエントロピー復号化及び逆量子化を行うことにより、中間層データの残差情報を生成する。また、動きマッピング部850は、撮像装置100から受信した動き情報を、中間層502における動き情報にマッピングして、中間層502における動き情報を取得する。中間データ再構築部840は、中間データバッファ820に記憶されている中間層データと動きマッピング部850が取得した動き情報とに基づいて、中間層データの予測データを生成する。中間データ再構築部840は、予測データに中間層データの差分情報を加算することにより、中間層502の状態を再構築する。第2CNN部810は、中間層502より後段の処理を行い、出力層509の状態を処理結果として出力する。
FIG. 8 schematically shows a block configuration of the
図9は、撮像装置100が中間層データを生成する処理の流れを示すフローチャートを示す。S910において、制御部110は、対象の動画構成画像を第1CNN部710に入力する。S920において、中間層502の中間層データを生成する。S930において、動き検出部730は、対象の動画構成画像と参照する動画構成画像との間の動き情報を検出する。S940において、S930で検出した動き情報を、中間層502の動き情報にスケーリングする。S950において、中間データ予測部740は、S940で取得した動き情報を用いて中間層502における予測データを生成し、中間層502における中間層データと予測データとの残差情報を生成する。
FIG. 9 shows a flowchart showing a flow of processing in which the
S960において、量子化・エントロピー符号化部760は、S950で生成した残差情報に対し量子化及びエントロピー符号化を行うことによって、送信用の中間層データを生成する。S970において、通信部170は、S960で生成した中間層データと、S930で検出した動き情報とを含む送信データをサーバ180へ送信する。
In S960, the quantization /
図10は、サーバ180が実行する処理の流れを示すフローチャートを示す。S1010において、撮像装置100から送信された中間層データを取得する。なお、本フローチャートでは、中間層データの残差情報を取得した場合を説明する。
FIG. 10 shows a flowchart showing the flow of processing executed by the
S1020において、中間層データに対しエントロピー復号化及び逆量子化を行う。S1030において、サーバ180は、動画構成画像間の動き情報を取得する。S1040において、S1030で取得した動き情報を、中間層502の動き情報にスケーリングする。S1050において、S1040で取得した動き情報を用いて中間層502における予測データを生成し、S1010で取得した中間層データを予測データに加算することにより、中間層502の中間層データを再構築する。
In S1020, entropy decoding and dequantization are performed on the intermediate layer data. In S1030, the
S1060において、第2CNN部810による処理を行う。S1070において、第2CNN部810の出力層509の状態を取得して、多層ニューラルネットワーク580の処理結果として撮像装置100に送信する。
In S1060, the process by the
以上に説明した実施形態では、通信部170はサーバ180に、動画構成画像から検出した動き情報を送信する。通信部170は、動き情報の他の例としての動画構成画像をサーバ180に送信してもよい。サーバ180は、撮像装置100から受信した動画構成画像を用いて、制御部110における動き情報の検出アルゴリズムと同一のアルゴリズムにより動き検出を行うことによって、動画構成画像間の動き情報を取得してよい。この場合、通信部170は、サーバ180に動画構成画像から検出した動き情報を送信しなくてよい。
In the embodiment described above, the
以上に説明した実施形態では、通信部170が中間層502の中間層データの残差情報をサーバ180に送信する形態を説明した。しかし、通信部170は、中間層501の中間層データの残差情報も送信してよい。多層ニューラルネットワーク580における中間層502より後段の処理において、中間層502より前段の中間層又は入力層の情報を必要とする場合、後段の処理において必要となる全ての層の残差情報をサーバ180に送信してよい。
In the embodiment described above, the mode in which the
以上に説明した実施形態では、撮像装置100は、多層ニューラルネットワーク580における入力層500から中間層502までの層の処理を行う。撮像装置100が処理を行う層は、撮像装置100が利用可能な通信容量、撮像装置100の電源の残容量、撮像装置100の処理能力、撮像装置100における現在の負荷に応じて選択してよい。例えば、撮像装置100の電源の残容量が予め定められた値より小さい場合に、撮像装置100は中間層501までの層を担当するものとしてよい。この場合、通信部170は、選択した中間層を識別する情報をサーバ180に送信してよい。
In the embodiment described above, the
以上に説明した実施形態では、動き検出部730は、動画構成画像から動き検出を行うことによって動き情報を取得する。動き検出部730は、ノイズ除去や画像圧縮等の他の目的で算出された動き情報を取得しても。また、動き検出部730は、ジャイロセンサから得られる情報を動き情報として用いてもよい。画像圧縮で算出された動きベクトル等を動き情報として用いる場合、画像圧縮情報のGOP構造に基づき、動画構成画像において、過去だけでなく、未来の動画構成画像も用いて、中間層データの予測データを生成して残差情報を生成しても良い。
In the embodiment described above, the
以上に説明した実施形態によれば、撮像装置100及びサーバ180が一つの多層ニューラルネットワーク580の処理を分担することができる。上述したように、制御部110は、動画構成画像間の動き情報を用いて中間層データの動き補償を行う。そのため、撮像装置100からサーバ180に送信される中間層データのデータ量を削減することができる。これにより、ネットワーク負荷を軽減することができる。また、撮像装置100とサーバ180とで多層ニューラルネットワーク580の処理を分担することができる。これにより、例えば通信帯域やサーバ180における過負荷が処理速度のボトルネックとなってしまう可能性を低減することができる。そのため、撮像装置100は、多層ニューラルネットワーク580の処理結果を速やかに取得できることが期待できる。
According to the embodiment described above, the
撮像装置100の一部又は全ての機能は、携帯電話等の移動端末に組み込まれてよい。撮像装置100は、監視カメラであってよい。撮像装置100はビデオカメラ、等であってよい。撮像装置100の一部又は全ての機能は、動画を撮像することができる任意の装置に組み込まれてよい。
Some or all the functions of the
上記のような撮像装置100は、移動体に搭載されてもよい。撮像装置100は、図11に示すような、無人航空機(UAV)に搭載されてもよい。UAV10は、UAV本体20、ジンバル50、複数の撮像装置60、及び撮像装置100を備えてよい。ジンバル50、及び撮像装置100は、撮像システムの一例である。UAV10は、推進部により推進される移動体の一例である。移動体とは、UAVの他、空中を移動する他の航空機などの飛行体、地上を移動する車両、水上を移動する船舶等を含む概念である。
The
UAV本体20は、複数の回転翼を備える。複数の回転翼は、推進部の一例である。UAV本体20は、複数の回転翼の回転を制御することでUAV10を飛行させる。UAV本体20は、例えば、4つの回転翼を用いてUAV10を飛行させる。回転翼の数は、4つには限定されない。また、UAV10は、回転翼を有さない固定翼機でもよい。
The UAV main body 20 includes a plurality of rotor blades. The plurality of rotor blades are an example of a propulsion unit. The UAV main body 20 flies the
撮像装置100は、所望の撮像範囲に含まれる被写体を撮像する撮像用のカメラである。ジンバル50は、撮像装置100を回転可能に支持する。ジンバル50は、支持機構の一例である。例えば、ジンバル50は、撮像装置100を、アクチュエータを用いてピッチ軸で回転可能に支持する。ジンバル50は、撮像装置100を、アクチュエータを用いて更にロール軸及びヨー軸のそれぞれを中心に回転可能に支持する。ジンバル50は、ヨー軸、ピッチ軸、及びロール軸の少なくとも1つを中心に撮像装置100を回転させることで、撮像装置100の姿勢を変更してよい。
The
複数の撮像装置60は、UAV10の飛行を制御するためにUAV10の周囲を撮像するセンシング用のカメラである。2つの撮像装置60が、UAV10の機首である正面に設けられてよい。更に他の2つの撮像装置60が、UAV10の底面に設けられてよい。正面側の2つの撮像装置60はペアとなり、いわゆるステレオカメラとして機能してよい。底面側の2つの撮像装置60もペアとなり、ステレオカメラとして機能してよい。複数の撮像装置60により撮像された画像に基づいて、UAV10の周囲の3次元空間データが生成されてよい。UAV10が備える撮像装置60の数は4つには限定されない。UAV10は、少なくとも1つの撮像装置60を備えていればよい。UAV10は、UAV10の機首、機尾、側面、底面、及び天井面のそれぞれに少なくとも1つの撮像装置60を備えてもよい。撮像装置60で設定できる画角は、撮像装置100で設定できる画角より広くてよい。撮像装置60は、単焦点レンズまたは魚眼レンズを有してもよい。
The plurality of image pickup devices 60 are sensing cameras that image the surroundings of the
遠隔操作装置300は、UAV10と通信して、UAV10を遠隔操作する。遠隔操作装置300は、UAV10と無線で通信してよい。遠隔操作装置300は、UAV10に上昇、下降、加速、減速、前進、後進、回転などのUAV10の移動に関する各種命令を示す指示情報を送信する。指示情報は、例えば、UAV10の高度を上昇させる指示情報を含む。指示情報は、UAV10が位置すべき高度を示してよい。UAV10は、遠隔操作装置300から受信した指示情報により示される高度に位置するように移動する。指示情報は、UAV10を上昇させる上昇命令を含んでよい。UAV10は、上昇命令を受け付けている間、上昇する。UAV10は、上昇命令を受け付けても、UAV10の高度が上限高度に達している場合には、上昇を制限してよい。
The remote control device 300 communicates with the
図12は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ1200の一例を示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200に、本発明の実施形態に係る装置に関連付けられるオペレーションまたは当該装置の1または複数の「部」として機能させることができる。例えば、コンピュータ1200にインストールされたプログラムは、コンピュータ1200に、制御部110として機能させることができる。または、当該プログラムは、コンピュータ1200に当該オペレーションまたは当該1または複数の「部」の機能を実行させることができる。当該プログラムは、コンピュータ1200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
FIG. 12 shows an example of a
本実施形態によるコンピュータ1200は、CPU1212、及びRAM1214を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、入力/出力ユニットを含み、それらは入力/出力コントローラ1220を介してホストコントローラ1210に接続されている。コンピュータ1200はまた、ROM1230を含む。CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。
The
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブが、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納してよい。ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/またはコンピュータ1200のハードウェアに依存するプログラムを格納する。プログラムが、CR−ROM、USBメモリまたはICカードのようなコンピュータ可読記録媒体またはネットワークを介して提供される。プログラムは、コンピュータ可読記録媒体の例でもあるRAM1214、またはROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ1200の使用に従い情報のオペレーションまたは処理を実現することによって構成されてよい。
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、またはUSBメモリのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
For example, when communication is executed between the
また、CPU1212は、USBメモリ等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
Further, the
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
Various types of information such as various types of programs, data, tables, and databases may be stored in recording media and processed. The
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ1200上またはコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
The program or software module described above may be stored on a
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。 Although the present invention has been described above using the embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It will be apparent to those skilled in the art that various changes or improvements can be made to the above embodiments. It is clear from the description of the claims that such modified or improved forms may also be included in the technical scope of the present invention.
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。 The order of execution of operations, procedures, steps, steps, etc. in the devices, systems, programs, and methods shown in the claims, specification, and drawings is particularly "before" and "prior to". It should be noted that it can be realized in any order unless the output of the previous process is used in the subsequent process. Even if the scope of claims, the specification, and the operation flow in the drawings are explained using "first", "next", etc. for convenience, it means that it is essential to carry out in this order. It's not a thing.
10 UAV
20 UAV本体
50 ジンバル
60 撮像装置
100 撮像装置
102 撮像部
110 制御部
120 イメージセンサ
130 メモリ
160 表示部
162 指示部
170 通信部
180 サーバ
190 通信ネットワーク
200 レンズ部
210 レンズ
212 レンズ駆動部
220 レンズ制御部
222 メモリ
300 遠隔操作装置
310 システム
400、401、402、403 動画構成画像
500 入力層
501、502、503、508 中間層
509 出力層
580 多層ニューラルネットワーク
601 中間層データ
602 中間層データ
611 中間層データ
612 中間層データ
620 残差情報
630 量子化
640 符号化
650 量子化
660 符号化
710 第1CNN部
720 中間データバッファ
730 動き検出部
740 中間データ予測部
750 マッピング部
760 量子化・エントロピー符号化部
780 送信データ
810 第2CNN部
820 中間データバッファ
830 エントロピー復号化・量子化部
840 中間データ再構築部
850 動きマッピング部
1200 コンピュータ
1210 ホストコントローラ
1212 CPU
1214 RAM
1220 入力/出力コントローラ
1222 通信インタフェース
1230 ROM
10 UAV
20 UAV
1214 RAM
1220 Input /
Claims (16)
前記動画を構成する第2の動画構成画像の画像データに対して、前記多層ニューラルネットワークにおける前記特定の中間層までの処理を行うことによって、第2の中間層データを生成し、
前記第1の動画構成画像と前記第2の動画構成画像との間の動き情報に基づいて、前記第1の中間層データと前記第2の中間層データとの間の動きデータを生成し、
前記動きデータに基づいて前記第1の中間層データと前記第2の中間層データとの間で動き補償を行うことによって、前記第1の中間層データと前記第2の中間層データとの間の残差データを生成し、
前記残差データに基づいて、前記多層ニューラルネットワークにおける前記特定の中間層より後段の処理を行う他の装置に送信する中間層データを生成し、
前記中間層データ及び前記動きデータを、前記他の装置に送信する
ように構成された回路
を備える装置。 The first intermediate layer data is generated by processing the image data of the first moving image constituting the moving image up to a specific intermediate layer in the multi-layer neural network.
The second intermediate layer data is generated by performing processing up to the specific intermediate layer in the multi-layer neural network on the image data of the second moving image constituent image constituting the moving image.
Based on the motion information between the first moving image and the second moving image, motion data between the first intermediate layer data and the second intermediate layer data is generated.
By performing motion compensation between the first intermediate layer data and the second intermediate layer data based on the motion data, between the first intermediate layer data and the second intermediate layer data. Generate residual data for
Based on the residual data, intermediate layer data to be transmitted to another device that performs processing after the specific intermediate layer in the multi-layer neural network is generated.
A device including a circuit configured to transmit the intermediate layer data and the motion data to the other device.
前記残差データを量子化することによって量子化データを生成し、
前記量子化データに基づいて前記中間層データを生成する
ように構成される請求項1に記載の装置。 The circuit
Quantized data is generated by quantizing the residual data,
The apparatus according to claim 1, wherein the intermediate layer data is generated based on the quantization data.
請求項2に記載の装置。 The apparatus according to claim 2, wherein the circuit is configured to generate the intermediate layer data by entropy coding the quantization data.
請求項1又は2に記載の装置。 The apparatus according to claim 1 or 2, wherein the multi-layer neural network is a convolutional neural network, and includes one or more intermediate layers for performing a convolution operation on the first moving image and the second moving image. ..
請求項4に記載の装置。 The circuit scales the motion information based on the sizes of the first moving image and the second moving image and the sizes of the first intermediate layer data and the second intermediate layer data. The apparatus according to claim 4, wherein the motion data is generated.
請求項1又は2に記載の装置。 The apparatus according to claim 1 or 2, wherein the multi-layer neural network is a neural network for performing super-resolution processing of the moving image or image recognition processing from the moving image.
前記回路は、前記入力層から前記特定の中間層までのニューラルネットワークパラメータを記憶するように構成される
請求項1又は2に記載の装置。 In the multi-layer neural network, the neural network parameters from the input layer before the specific intermediate layer to the output layer after the specific intermediate layer of the multi-layer neural network are learned by using the training data.
The device according to claim 1 or 2, wherein the circuit is configured to store neural network parameters from the input layer to the specific intermediate layer.
前記回路は、前記装置における通信回線容量、前記装置の負荷状態、及び、前記装置の電源状態のうちの少なくとも1つに基づいて、前記複数の中間層の中から前記特定の中間層を選択するように構成される
請求項1又は2に記載の装置。 The multi-layer neural network has a plurality of intermediate layers and has a plurality of intermediate layers.
The circuit selects the specific intermediate layer from the plurality of intermediate layers based on at least one of a communication line capacity in the device, a load state of the device, and a power state of the device. The device according to claim 1 or 2, which is configured as described above.
前記他の装置から、
(i)前記第1の動画構成画像に対して前記多層ニューラルネットワークにおける前記特定の中間層までの処理を行うことによって生成された第1の中間層データと、
(ii)前記第1の中間層データと前記第2の動画構成画像に対して前記多層ニューラルネットワークにおける前記特定の中間層までの処理を行うことによって生成された第2の中間層データとの間の動きデータと、
(iii)前記第1の中間層データと前記第2の中間層データとの間の残差データであって、前記動きデータに基づいて動き補償を行うことによって生成された前記第1の中間層データと前記第2の中間層データとの間の残差データと、
を受信し、
前記動きデータ及び前記残差データに基づいて、前記第2の中間層データを生成し、
前記第1の中間層データ及び前記第2の中間層データに対して、前記多層ニューラルネットワークにおける前記特定の中間層より後段の処理を行う
ように構成された回路
を備える装置。 The first moving image constituent image and the second moving image constituent image constituting the moving image are communicated with another device that processes up to a specific intermediate layer in the multi-layer neural network, and the specific intermediate layer in the multi-layer neural network is communicated with. It is a device that performs the subsequent processing,
From the other device
(I) The first intermediate layer data generated by performing the processing up to the specific intermediate layer in the multilayer neural network on the first moving image constituent image, and
(Ii) Between the first intermediate layer data and the second intermediate layer data generated by performing processing up to the specific intermediate layer in the multilayer neural network on the second moving image constituent image. Motion data and
(Iii) Residual data between the first intermediate layer data and the second intermediate layer data, and the first intermediate layer generated by performing motion compensation based on the motion data. Residual data between the data and the second intermediate layer data and
Received
Based on the motion data and the residual data, the second intermediate layer data is generated.
A device including a circuit configured to perform processing on the first intermediate layer data and the second intermediate layer data after the specific intermediate layer in the multilayer neural network.
請求項9に記載の装置と
を備えるシステム。 The device according to claim 1 and
A system including the device according to claim 9.
前記動画を生成するイメージセンサと
を備える撮像装置。 The device according to claim 1 or 2,
An imaging device including an image sensor that generates the moving image.
請求項12に記載の移動体。 The mobile body according to claim 12, wherein the mobile body is an unmanned aerial vehicle.
として機能させるためのプログラム。 A program for operating a computer as the device according to claim 1 or 2.
前記動画を構成する第2の動画構成画像の画像データに対して、前記多層ニューラルネットワークにおける前記特定の中間層までの処理を行うことによって、第2の中間層データを生成する段階と、
前記第1の動画構成画像と前記第2の動画構成画像との間の動き情報に基づいて、前記第1の中間層データと前記第2の中間層データとの間の動きデータを生成する段階と、
前記動きデータに基づいて前記第1の中間層データと前記第2の中間層データとの間で動き補償を行うことによって、前記第1の中間層データと前記第2の中間層データとの間の残差データを生成する段階と、
前記残差データに基づいて、前記多層ニューラルネットワークにおける前記特定の中間層より後段の処理を行う他の装置に送信する中間層データを生成する段階と、
前記中間層データ及び前記動きデータを、前記他の装置に送信する段階と
を備える方法。 The stage of generating the first intermediate layer data by processing the image data of the first moving image constituting the moving image up to a specific intermediate layer in the multi-layer neural network, and the stage of generating the first intermediate layer data.
A step of generating a second intermediate layer data by performing processing up to the specific intermediate layer in the multi-layer neural network on the image data of the second moving image constituent image constituting the moving image.
A step of generating motion data between the first intermediate layer data and the second intermediate layer data based on motion information between the first moving image and the second moving image. When,
By performing motion compensation between the first intermediate layer data and the second intermediate layer data based on the motion data, between the first intermediate layer data and the second intermediate layer data. At the stage of generating the residual data of
Based on the residual data, a step of generating intermediate layer data to be transmitted to another device that performs processing after the specific intermediate layer in the multilayer neural network, and a step of generating the intermediate layer data.
A method including a step of transmitting the intermediate layer data and the motion data to the other device.
前記他の装置から、
(i)前記第1の動画構成画像に対して前記多層ニューラルネットワークにおける前記特定の中間層までの処理を行うことによって生成された第1の中間層データと、
(ii)前記第1の中間層データと前記第2の動画構成画像に対して前記多層ニューラルネットワークにおける前記特定の中間層までの処理を行うことによって生成された第2の中間層データとの間の動きデータと、
(iii)前記第1の中間層データと前記第2の中間層データとの間の残差データであって、前記動きデータに基づいて動き補償を行うことによって生成された前記第1の中間層データと前記第2の中間層データとの間の残差データと、
を受信する段階と、
前記動きデータ及び前記残差データに基づいて、前記第2の中間層データを生成する段階と、
前記第1の中間層データ及び前記第2の中間層データに対して、前記多層ニューラルネットワークにおける前記特定の中間層より後段の処理を行う段階と
を備える方法。 The first moving image constituent image and the second moving image constituent image constituting the moving image are communicated with another device that processes up to a specific intermediate layer in the multi-layer neural network, and the specific intermediate layer in the multi-layer neural network is communicated with. It is a method to perform the later processing,
From the other device
(I) The first intermediate layer data generated by performing the processing up to the specific intermediate layer in the multilayer neural network on the first moving image constituent image, and
(Ii) Between the first intermediate layer data and the second intermediate layer data generated by performing processing up to the specific intermediate layer in the multilayer neural network on the second moving image constituent image. Motion data and
(Iii) Residual data between the first intermediate layer data and the second intermediate layer data, and the first intermediate layer generated by performing motion compensation based on the motion data. Residual data between the data and the second intermediate layer data and
At the stage of receiving
A step of generating the second intermediate layer data based on the motion data and the residual data, and
A method including a step of performing processing on the first intermediate layer data and the second intermediate layer data after the specific intermediate layer in the multilayer neural network.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020071850A JP2021168459A (en) | 2020-04-13 | 2020-04-13 | Apparatus, system, imaging apparatus, mobile, program and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020071850A JP2021168459A (en) | 2020-04-13 | 2020-04-13 | Apparatus, system, imaging apparatus, mobile, program and method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021168459A true JP2021168459A (en) | 2021-10-21 |
Family
ID=78079752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020071850A Ceased JP2021168459A (en) | 2020-04-13 | 2020-04-13 | Apparatus, system, imaging apparatus, mobile, program and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021168459A (en) |
-
2020
- 2020-04-13 JP JP2020071850A patent/JP2021168459A/en not_active Ceased
Non-Patent Citations (3)
Title |
---|
EN LI, ET AL.: "Edge AI: On-Demand Accelerating Deep Neural Network Interface via Edge Computing", IEEE TRANSACTIONS ON WIRELESS COMMUNICATIONS, vol. 19, no. 1, JPN6021009243, January 2020 (2020-01-01), pages 447 - 457, ISSN: 0004467789 * |
HONGSHAN LI, ET AL.: "JALAD: Joint Accuracy- and Latency-Aware Deep Structure Decoupling for Edge-Cloud Execution", 2018 IEEE 24TH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS, JPN6021009246, 2018, ISSN: 0004467790 * |
HYOMIN CHOI AND IVAN V. BAJIC: "Deep Feature Compression for Collaborative Object Detection", 2018 25TH IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (ICIP), JPN6021038212, 7 October 2018 (2018-10-07), pages 3743 - 3747, XP033454675, ISSN: 0004609037, DOI: 10.1109/ICIP.2018.8451100 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2020077950A (en) | Image processing device, imaging device, image processing method, and program | |
JP6878736B2 (en) | Controls, mobiles, control methods, and programs | |
JP2019216343A (en) | Determination device, moving body, determination method, and program | |
JP6630939B2 (en) | Control device, imaging device, moving object, control method, and program | |
JP2021168459A (en) | Apparatus, system, imaging apparatus, mobile, program and method | |
JP6874251B2 (en) | Devices, imaging devices, moving objects, methods, and programs | |
JP6290949B2 (en) | Photo cluster detection and compression | |
JP2021170728A (en) | Device, image processor, imaging device, mobile body, program, and method | |
JP6565071B2 (en) | Control device, imaging device, flying object, control method, and program | |
JP7003358B2 (en) | Control device, image pickup device, control method, and program | |
JP7009697B2 (en) | Devices, imaging devices, mobiles, programs and methods | |
WO2018185940A1 (en) | Imaging control device, imaging device, imaging system, mobile body, imaging control method and program | |
US20210112202A1 (en) | Control apparatuses, mobile bodies, control methods, and programs | |
JP6821881B1 (en) | Control devices, imaging systems, moving objects, control methods, and programs | |
JP6961888B1 (en) | Devices, imaging devices, mobiles, programs and methods | |
JP6668570B2 (en) | Control device, imaging device, moving object, control method, and program | |
JP6641574B1 (en) | Determination device, moving object, determination method, and program | |
JP6572500B1 (en) | Image processing apparatus, imaging apparatus, moving object, image processing method, and program | |
US20210281766A1 (en) | Control device, camera device, camera system, control method and program | |
JP2021170727A (en) | Device, image processor, imaging device, mobile body, program, and method | |
CN108513708A (en) | Video data processing method and video data processing system | |
JP6896963B1 (en) | Control devices, imaging devices, moving objects, control methods, and programs | |
JP7003357B2 (en) | Control device, image pickup device, moving object, control method, and program | |
JP6818987B1 (en) | Image processing equipment, imaging equipment, moving objects, image processing methods, and programs | |
JP6903848B2 (en) | Control device, lens device, imaging device, control method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200415 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210323 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210414 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20211005 |
|
A045 | Written measure of dismissal of application [lapsed due to lack of payment] |
Free format text: JAPANESE INTERMEDIATE CODE: A045 Effective date: 20220222 |