[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2021090535A1 - 情報処理装置及び情報処理方法 - Google Patents

情報処理装置及び情報処理方法 Download PDF

Info

Publication number
WO2021090535A1
WO2021090535A1 PCT/JP2020/028176 JP2020028176W WO2021090535A1 WO 2021090535 A1 WO2021090535 A1 WO 2021090535A1 JP 2020028176 W JP2020028176 W JP 2020028176W WO 2021090535 A1 WO2021090535 A1 WO 2021090535A1
Authority
WO
WIPO (PCT)
Prior art keywords
sensor
sensor information
unit
information
trained model
Prior art date
Application number
PCT/JP2020/028176
Other languages
English (en)
French (fr)
Inventor
由幸 小林
千里 沼岡
山本 真紀子
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Priority to US17/755,583 priority Critical patent/US20220383055A1/en
Publication of WO2021090535A1 publication Critical patent/WO2021090535A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/251Fusion techniques of input or preprocessed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24143Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Definitions

  • this disclosure relates to an information processing device and an information processing method using artificial intelligence.
  • An object of the technology according to the present disclosure is to provide an information processing device and an information processing method for processing sensor information using artificial intelligence.
  • the first aspect of the technology according to the present disclosure is A collecting unit that collects the first sensor information detected by the first sensor and the second sensor information detected by the second sensor, and a collecting unit.
  • a model generation unit that generates a trained model that estimates a second sensor information corresponding to the first sensor information based on the collected first sensor information and the second sensor information.
  • the storage unit that stores the trained model and A provider that provides the result of a service based on the trained model, It is an information processing device provided with.
  • the collecting unit requests the sensor information from the first sensor or the first device provided with the second sensor, and collects the first sensor information or the second sensor information returned from the first device. To do.
  • the model generation unit generates a trained model for each combination of the first sensor and the second sensor, and the storage unit is one or more generated for each combination of the first sensor and the second sensor. Accumulate the trained model of. Then, the providing unit selectively reads the learned model corresponding to the request from the second device from the storage unit, and provides the learned model to the second device as a result of the service. Alternatively, the providing unit estimates the second sensor information corresponding to the first sensor information transmitted from the second device using the trained model, and estimates the second sensor information as a result of the service. The second sensor information is returned.
  • the second aspect of the technology according to the present disclosure is A collection step for collecting the first sensor information detected by the first sensor and the second sensor information detected by the second sensor, and A model generation step of generating a trained model that estimates the second sensor information corresponding to the first sensor information based on the collected first sensor information and the second sensor information.
  • the third aspect of the technology according to the present disclosure is The first sensor that detects the first sensor information and An input unit that inputs the result of a service based on a learned model that estimates the second sensor information corresponding to the first sensor information from the third device, and It is an information processing device provided with.
  • the input unit inputs a learned model for estimating the second sensor information corresponding to the first sensor information from the third device as a result of the service. Further, the information processing apparatus according to the third aspect further includes an estimation unit that estimates the second sensor information corresponding to the first sensor information detected by the first sensor using the input learned model. Be prepared.
  • the requesting unit transmits the first sensor information detected by the first sensor to the third device, and the input unit is estimated using the trained model as a result of the service.
  • the second sensor information corresponding to the transmitted first sensor information is input from the third device.
  • the fourth aspect of the technology according to the present disclosure is The step of acquiring the first sensor information from the first sensor, A step of requesting the third device for the result of a service based on a trained model that estimates the second sensor information corresponding to the first sensor information.
  • the step of inputting the result of the service from the third device and It is an information processing method having.
  • the fifth aspect of the technology according to the present disclosure is The first sensor and A collecting unit that collects the second sensor information detected by the second sensor, A trained model that estimates the second sensor information corresponding to the first sensor information based on the first sensor information detected by the first sensor and the second sensor information collected by the collecting unit.
  • the model generator that generates and It is an information processing device provided with.
  • the information processing device is an estimation unit that estimates second sensor information corresponding to the first sensor information detected by the first sensor using the learned model generated by the model generation unit. May be further provided. Further, the information processing apparatus according to the fifth aspect may further include a providing unit that provides the result of the service based on the learned model to the fourth apparatus.
  • the sixth aspect of the technology according to the present disclosure is A collection step in which the information processing device collects the second sensor information detected by the second sensor, Based on the first sensor information detected by the first sensor in the information processing device and the second sensor information collected in the collection step, the second sensor information corresponding to the first sensor information is obtained.
  • a model generation step that generates an estimated trained model, and It is an information processing method having.
  • FIG. 1 is a diagram showing a configuration example of an artificial intelligence sensor system to which the technique according to the present disclosure is applied.
  • FIG. 2 is a diagram showing an operation sequence example (first embodiment) of the artificial intelligence sensor system.
  • FIG. 3 is a diagram showing a functional configuration example (first embodiment) of the first device 201.
  • FIG. 4 is a diagram showing a functional configuration example (first embodiment) of the third device 203.
  • FIG. 5 is a diagram showing a mechanism in which the model generation unit 403 generates a trained model.
  • FIG. 6 is a diagram showing a functional configuration example (first embodiment) of the second device 202.
  • FIG. 7 is a diagram showing an operation sequence example (second embodiment) of the artificial intelligence sensor system.
  • FIG. 1 is a diagram showing a configuration example of an artificial intelligence sensor system to which the technique according to the present disclosure is applied.
  • FIG. 2 is a diagram showing an operation sequence example (first embodiment) of the artificial intelligence sensor system.
  • FIG. 3 is a diagram showing
  • FIG. 8 is a diagram showing a functional configuration example (second embodiment) of the third device 703.
  • FIG. 9 is a diagram showing a functional configuration example (second embodiment) of the second device 702.
  • FIG. 10 is a flowchart showing a processing procedure for generating a trained model in the third device 203.
  • FIG. 11 is a flowchart showing a processing procedure for returning the second sensor information estimated in response to the estimation request in the third device 703.
  • FIG. 12 is a diagram showing an operation sequence example (third embodiment) of the artificial intelligence sensor system.
  • FIG. 13 is a diagram showing a specific example (third embodiment) of the artificial intelligence sensor system.
  • FIG. 14 is a diagram showing a functional configuration example of the second device 1202.
  • FIG. 14 is a diagram showing a functional configuration example of the second device 1202.
  • FIG. 15 is a diagram showing a mechanism in which the model generation unit 1405 generates a trained model.
  • FIG. 16 is a flowchart showing a processing procedure for generating a trained model in the second device 1202.
  • FIG. 17 is a flowchart showing a processing procedure for performing estimation processing of sensor information in the second device 1202.
  • FIG. 18 is a flowchart showing a processing procedure for the second device 1202 to provide the trained model to the outside.
  • FIG. 19 is a diagram showing a configuration example of the digital camera 1900.
  • FIG. 20 is a diagram showing a configuration example of the digital camera 2000.
  • FIG. 21 is a diagram showing an operation sequence example (fourth embodiment) of the artificial intelligence sensor system.
  • FIG. 22 is a diagram showing a mechanism in which the third device 2103 acquires sensor information from the two first devices 2101-1 and 2101-2 to generate a trained model.
  • FIG. 23 is a diagram showing input / output data of the neural network according to the fourth embodiment.
  • FIG. 1 schematically shows a configuration example of an artificial intelligence sensor system to which the technology according to the present disclosure is applied.
  • the illustrated system consists of a myriad of sensor devices connected to the cloud.
  • the sensor device referred to here is an IoT (Internet of Things) device equipped with one or more sensor elements, as well as an information device used by an individual such as a digital camera, a smartphone or tablet terminal, a PC (Personal Computer), or a digital camera. It shall include various devices such as fixed point observation devices such as surveillance cameras and fixed point cameras, mobile devices equipped with multiple sensors such as cameras and radars such as automobiles and drones, and artificial satellites that capture the state of the ground surface and surface temperature from the sky. ..
  • IoT Internet of Things
  • the cloud referred to in the present specification generally refers to cloud computing, and provides computing services via a network such as the Internet.
  • a network such as the Internet.
  • edge computing or fog computing When computing is performed in a position closer to an information processing device that receives services in a network, it is also called edge computing or fog computing.
  • the cloud in the present specification is understood to refer to a network environment or network system for cloud computing (resources for computing (including processors, memory, wireless or wired network connection equipment, etc.)). There is also. It may also be understood to refer to a service or provider provided in the form of a cloud.
  • an artificial intelligence server that provides artificial intelligence functions to clients on the Internet (or cloud).
  • Artificial intelligence is a function that artificially realizes functions that the human brain exerts, such as learning, reasoning, data creation, and planning, by software or hardware.
  • the function of artificial intelligence can be realized by using an artificial intelligence model represented by a neural network that imitates a human brain neural circuit.
  • the artificial intelligence model is a computational model with variability used for artificial intelligence that changes the model structure through learning (training) that involves the input of learning data.
  • a neural network also refers to a node as an artificial neuron (or simply a "neuron") via a synapse.
  • a neural network has a network structure formed by connections between nodes (neurons), and is generally composed of an input layer, a hidden layer, and an output layer.
  • connection weight coefficient To learn an artificial intelligence model represented by a neural network, input data (learning data) into a neural network and learn the degree of connection between nodes (neurons) (hereinafter, also referred to as "connection weight coefficient"). It is done through the process of changing the neural network.
  • a trained artificial intelligence model hereinafter, also referred to as a "trained model”
  • the neural network includes a convolutional neural network (Convolutional Neural Network: CNN), a recursive neural network (Recurrent Neural Network: RNN), a hostile generation network (Generator Neural Network), and a variable auto-encoder.
  • CNN convolutional Neural Network
  • RNN recursive neural network
  • GNN hostile generation network
  • Various algorithms, forms, and structures can be provided according to the purpose, such as an organized map (Self-Organizing Feature Map) and a spiking neural network (SNN), and these can be arbitrarily combined.
  • the artificial intelligence server applied to the technology according to the present disclosure is equipped with a multi-stage neural network capable of performing deep learning (DL).
  • DL deep learning
  • the number of learning data and the number of nodes (neurons) are large. Therefore, it seems appropriate to perform deep learning using huge computer resources such as the cloud.
  • the "artificial intelligence server” referred to in the present specification is not limited to a single server device, for example, provides a cloud computing service to a user via another device, and the result of the service to the other device. It may be in the form of a cloud that outputs and provides an object (deliverable).
  • the "client” (hereinafter, also referred to as a terminal, a sensor device, and an edge (Edge) device) referred to in the present specification is at least a trained model generated by the artificial intelligence server, which is the result of a service provided by the artificial intelligence server.
  • the artificial intelligence server downloads it and uses the downloaded trained model to perform processing such as inference and object detection, or the artificial intelligence server receives the sensor data inferred using the trained model as the result of the service. It is characterized by performing processing such as inference and object detection.
  • the client may be provided with a learning function that uses a relatively small-scale neural network so that deep learning can be performed in cooperation with an artificial intelligence server.
  • the above-mentioned brain-type computer technology and other artificial intelligence technologies are not independent and can be used in cooperation with each other.
  • a typical technique in a neuromorphic computer there is SNN (described above).
  • the output data from an image sensor or the like can be used as data to be provided to the input of deep learning in a format differentiated on the time axis based on the input data series. Therefore, in the present specification, unless otherwise specified, a neural network is treated as a kind of artificial intelligence technology using the technology of a brain-type computer.
  • Fig. 1 there are a wide variety of types of sensors mounted on each of a large number of sensor devices connected to the cloud.
  • Various sensors are equipped with many sensor devices such as RGB cameras (or cameras that capture natural images), “general-purpose sensors”, and some sensors for specific applications such as IR (infrared) cameras and distance sensors. It can be roughly divided into “specialized sensors” equipped only with devices. While general-purpose sensors are already widespread all over the world, it is costly and time-consuming for specialized sensors to become widespread as well.
  • a terminal used by a general user is also one of the sensor devices, and by installing an RGB photodiode, a natural image taken with an RGB image can be viewed through an application for an RGB photodiode.
  • a range finder such as an IR camera or LiDAR (Light Defecton And Ringing) or a depth sensor such as ToF (Time Of Flight)
  • ToF Time Of Flight
  • an infrared image or a distance image is generally used. I can't browse.
  • the terminal is equipped with a sensor other than the RGB photodiode, various sensor images other than the natural image can be viewed, but this causes an increase in equipment cost.
  • Patent Document 1 an information processing device that estimates other sensor information from an image using a trained model has been proposed (see Patent Document 1), but enormous learning data is required for learning a neural network. , The calculation load is also high. Therefore, it is unrealistic to learn a large-scale neural network in real time on a general terminal. Further, when it is desired to estimate two or more types of sensor information from an image on one terminal, a trained model is required for each type to be estimated.
  • the technique according to the present disclosure it has been learned to estimate the second sensor information sensed by the second sensor corresponding to the first sensor information sensed by the first sensor.
  • the model generation process was performed on a third device different from the user's terminal, and the trained model and the trained model were used as the result of the service based on the trained model learned by the third device.
  • the following proposes a technique for providing sensor information, which is the result of inference, to a user's terminal.
  • the first sensor information is information originally output by a device having the first sensor, and is sensor information used as training data for generating a trained model in the technique according to the present disclosure. ..
  • the second sensor information is the information originally output by the device having the second sensor, and is the information used as the teacher data for generating the trained model in the technique according to the present disclosure. It is the sensor information output as a result of inferring by the device having one sensor using the trained model.
  • the third device is specifically assumed to be realized as a cloud or an artificial intelligence server on the cloud, but is not necessarily limited to this.
  • the first sensor referred to in the present embodiment is, for example, a general-purpose sensor
  • the second sensor is, for example, a specialized sensor, but the combination is not necessarily limited.
  • the first sensor may be a specialized sensor and the second sensor may be a general-purpose sensor.
  • both the first sensor and the second sensor may be general-purpose sensors or both specialized sensors.
  • the first sensor is an RGB camera and the second sensor is an IR sensor or a distance sensor
  • the first sensor may be an IR sensor or a distance sensor
  • the second sensor may be an RGB camera.
  • the first sensor and the second sensor are not necessarily different modality, and it is assumed that they have the same modality.
  • the performance (resolution and dynamics) of the first sensor and the second sensor It is also assumed that the range etc.) is different.
  • the third device performs estimation processing of images taken by RGB cameras of different manufacturers, estimation processing of images taken by a new type RGB camera from images taken by an old model RGB camera, and low resolution.
  • a trained model will be generated that performs estimation processing for up-converting an image or an image having a low dynamic range into an image having a high resolution or a high dynamic range.
  • the first sensor may be a still camera (or a low frame rate camera) and the second sensor may be a video camera (or a high frame rate camera).
  • the trained model that performs the estimation processing of the interpolated frame for frame interpolation of the still image (or low frame rate image) and converting it into the moving image (or high frame rate image). The generation will be carried out.
  • the first sensor and the second sensor are not limited to the sensor that captures the two-dimensional information.
  • the first sensor is an RGB camera
  • the second sensor is an IR sensor, distance measurement sensor, depth sensor, audio sensor (microphone, etc.), temperature sensor, vibration sensor, wind sensor, DVS (Dynamic). It may be Vision Sensor) or the like.
  • the generated model will be generated.
  • the user's terminal (corresponding to the sensor device in FIG. 1) that provides the learning data to the third device is referred to as the first device, and the trained model learned by the third device is described.
  • the terminal of the user who receives the result of the service is referred to as a second device.
  • the second device may behave as a first device that provides learning data to the second device.
  • FIG. 2 schematically shows an operation sequence example of the artificial intelligence sensor system according to the first embodiment.
  • the artificial intelligence sensor system actually has the configuration shown in FIG. 1, but in FIG. 2, for simplification, it is provided from the first device 201 and the first device 201 that provide sensor information as learning data.
  • a third device 203 that learns a model based on the sensor information and generates a trained model, and a second device that provides a result of a service using the trained model from the third device 203. It consists of 202.
  • the result of the service is the trained model required by the second device 202.
  • the third device 203 provides a trained model that meets the requirements of the second device 202 as a result of the service.
  • the first device 201 includes various user terminals such as smartphones, tablets, PCs, and digital cameras, fixed point observation devices such as IoT devices, surveillance cameras, and fixed point cameras, mobile devices, and artificial satellites.
  • the second device 202 is assumed to be a user's terminal such as a smartphone, a tablet, a PC, or a digital camera.
  • the third device 203 is composed of, for example, an artificial intelligence server (described above) installed on a cloud, assuming that deep learning is performed with a large number of learning data and a number of nodes (neurons).
  • the third device also operates as a trained model providing server that returns the trained model in response to the trained model request from the outside. It is assumed that the first device 201 and the third device 203, and the third device 203 and the second device 202 are interconnected via a network such as the Internet, respectively. However, the form of connection is not particularly limited.
  • the first device 201 includes at least one of the first sensor and the second sensor, and provides the sensor information as learning data to the third device 203. Although only one first device 201 is drawn in FIG. 2 for simplification, the first device and the second sensor equipped with the first sensor and providing the first sensor information as learning data. It is assumed that there are innumerable first devices equipped with the above and providing the second sensor information as teacher data.
  • the third device 203 generates a trained model for estimating sensor information.
  • the third device 203 shall generate a trained model that estimates the second sensor information corresponding to the first sensor information.
  • the third device 203 provides the second device 202 with a trained model that estimates the second sensor information corresponding to the first sensor information as a result of the service based on the trained model.
  • the second device 202 is equipped with the first sensor (not equipped with the second sensor), and is provided with the result of the service related to the trained model generated by the third device 203. It becomes possible to use the second sensor information corresponding to the first sensor information sensed by the first sensor. Although only one second device 202 is drawn in FIG. 2 for simplification, the second device is provided with the trained model as a result of the service based on the trained model from the third device 203. May exist more than once.
  • the relationship between the first sensor and the second sensor basically follows the above description, and detailed description thereof will be omitted here.
  • the third device 203 requests sensor information from the first device 201 (SEQ201).
  • the first device 201 returns the first sensor information when the first sensor is mounted, and the second sensor information when the second sensor is mounted. Is returned (SEQ202).
  • the third device 203 may make the sensor information request in the SEQ 201 in any format such as unicast communication or multicast communication addressed to a specific address, or broadcast communication addressed to an unspecified address.
  • the sensor information request includes the type of sensor to be requested (whether it is the first sensor or the second sensor), sensor specification information (manufacturer name, model, performance (resolution, frame rate), etc.). It may include meta information that specifies desired sensor information, such as the sensing environment (where the sensor information was acquired, the date and time, the weather, etc.).
  • the third device 203 transmits a request for the sensor information without specifying the sensor information in particular, collects all the sensor information from the first device 201, and then enters the third device 203.
  • the sensor information collected in the above may be selected or classified. It is preferable that the sensor information is managed in a database so that it can be searched by meta information.
  • the data stored in the database may be divided into blocks by using blockchain technology, and hash data may be added for distributed management.
  • the first device 201 may discard this request and not return the sensor information. Further, when the first device 201 receives a sensor information request addressed to itself or a multicast or broadcast sensor information request and includes meta information for designating the sensor information, the first device 201 is used. Only the sensor information satisfying the condition specified in the meta information may be returned by SEQ202. Further, in the SEQ 202, the first device 201 includes a sensor type (whether it is the first sensor or the second sensor), sensor specification information (manufacturer name, model, performance (resolution, frame rate), etc.). ), Meta information indicating the sensing environment (location where the sensor information was acquired, date and time, weather, etc.) may be added, and the sensor information may be returned.
  • the first device 201 returns the sensor information based on the request from the third device 203, but the sensor information is autonomously returned to the third device regardless of the presence or absence of the request. It may be transmitted to the device 203.
  • the first device 201 may transmit the sensor information to the third device 203 at predetermined intervals, or when the sensor information changes due to the passage of time or the movement of the installation location of the device. Good.
  • the third device 203 follows a sequence of a sensor information request (SEQ201) and a sensor information reply (SEQ202) with an innumerable first device 201, and a huge amount of first sensor information and a second sensor as training data. Gather information. Then, the third device 203 uses these sensor information collected from the first device 201 as learning data to generate a trained model for estimating the second sensor information corresponding to the first sensor information.
  • the trained model is an artificial intelligence model.
  • the artificial intelligence model is represented by a neural network formed by connections between nodes (neurons). Then, the trained model can be generated by inputting the training data into the neural network and changing the connection weighting coefficient between the nodes (neurons) by training (training).
  • the third device 203 stores the generated trained model.
  • the third device 203 continuously performs the sequence of the sensor information request (SEQ201) and the sensor information reply (SEQ202) to collect a huge amount of training data, and retrains the trained model as appropriate to obtain the latest information. To generate and maintain a trained model of.
  • the second device 202 is equipped with the first sensor, but is not equipped with the second sensor.
  • the third device 203 provides the trained model to the second device 202. Therefore, the second device 202 can use the provided trained model to estimate the second sensor information corresponding to the first sensor information sensed by the first sensor, and the second device 202 can estimate the second sensor information.
  • the second sensor information can also be used even if the sensor is not equipped.
  • the second device 202 requests the trained model from the third device 201 (SEQ203).
  • the third device 203 returns the requested trained model to the second device 202 (SEQ204). Therefore, the second device 202 always obtains the latest trained model from the third device 203 through the sequence of the trained model request (SEQ203) and the trained model reply (SEQ204) with the third device 203. be able to.
  • the second device 202 When requesting the trained model, the second device 202 specifies the type and specification information of the first sensor mounted on the second device 202, and further, the desired type and specification information of the second sensor. It may contain meta information. In such a case, the third device 203 returns a trained model matching the combination of the first sensor and the second sensor specified by the second device 202 by the meta information to the second device 202. You can do it like this.
  • the trained model is represented by a neural network
  • the data representing the trained model (hereinafter, also referred to as “trained model data”) is a set of nodes (neurons) in the neural network and nodes (neurons). Contains a set of coupling weighting nodes between.
  • the third device 203 may compress the bit stream of the trained model data and transmit it to the second device 202. Further, when the size of the bitstream is large even after compression, the trained model data may be divided into a plurality of times and the compressed bitstream may be downloaded in a plurality of times. When dividing the trained model data, it may be divided for each layer of the network or for each area within the layer.
  • the second device 202 responds to a request for use of the second sensor information corresponding to the first sensor information from, for example, an application operating on the second device that handles the first sensor information. Then, the request of the trained model for estimating the second sensor information from the first sensor information is transmitted to the third device 203.
  • the request for using the second sensor information is in response to the user who operates the second device 202 instructing the conversion of the sensor information or the like via the user interface or the like in the application operating on the second device 202.
  • the request for the trained model may be transmitted to the third device 203.
  • the second device 202 infers a phase to be presented to the user by converting sensor information in an application operating on the second device 202, and the second device 202 is a model trained in the third device 203 according to the inference result.
  • the request may be sent.
  • the second device 202 is equipped with artificial intelligence used for inference of the aspect, and the request of the trained model is transmitted to the third device 203 based on the inference result by the artificial intelligence. Good.
  • the third device 203 does not return the trained model based on the request from the second device 202, but searches for the second device 202 that should provide the trained model based on inference or the like.
  • the latest trained model may be push-delivered.
  • the second device 202 uses the latest learned model received from the third device 203, and uses the second sensor information sensed by the first sensor in the second device 202.
  • a process of estimating the second sensor information that is supposed to be sensed when the second sensor is mounted in the device 202 is performed.
  • FIG. 3 schematically shows a functional configuration example of the first device 201.
  • the first device 201 shown in the figure includes a sensor unit 301, a processing unit 302, an output unit 303, an environment information acquisition unit 304, a device information acquisition unit 305, a sensor information storage unit 306, and a request input unit 307.
  • the sensor information output unit 308 is provided.
  • Each component 302 to 308 may be the first by executing a program on a processor such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or a GPGPU (General-Purpose computing on GPUs). It is realized by the combination with the hardware component in the device 201.
  • a processor such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or a GPGPU (General-Purpose computing on GPUs). It is realized by the combination with the hardware component in the device 201.
  • CPU Central Processing Unit
  • GPU Graphics Processing Unit
  • GPGPU General-Purpose
  • the sensor unit 301 includes one or more sensor elements (photodiode in the case of a CMOS (Complementary Metal Oxyde Sensor) image sensor) or an analog-to-digital converter (photodiode in the case of a CMOS (Complementary Metal Oxyde Sensor) image sensor) including at least one of a first sensor and a second sensor. It is composed of an Analog-to-Digital Conversion (ADC) processing circuit and the like.
  • ADC Analog-to-Digital Conversion
  • the processing unit 302 performs signal processing of sensor information sensed by the sensor unit 301.
  • the processing unit 302 converts an image signal output from the RGB camera (for example, a process of converting RAW data into a JPEG or TIFF format). )I do.
  • the output unit 303 includes an application that processes sensor information after signal processing by the processing unit 302.
  • the output unit 303 can include a camera application that performs digital image recording based on RGB digital data that is sensor information processed and output by the processing unit 302.
  • the output unit 303 may include a device such as a liquid crystal display that presents sensor information to the user.
  • the environmental information acquisition unit 304 has a function of acquiring a sensing environment such as a place, a date and time, and the weather when the sensor unit 301 acquires the sensor information.
  • the environmental information acquisition unit 304 may include sensors such as a GPS (Global Positioning System), an IMU (Inertial Measurement Unit), a clock, a thermometer, and a hygrometer. Further, the environmental information acquisition unit 304 may acquire information on a part of the sensing environment such as weather and time from the outside via the network.
  • the device information acquisition unit 305 includes the specification information (manufacturer name, model, performance (resolution, frame rate), etc.) of the first sensor or the second sensor equipped in the sensor unit 301, and is the first device 201 itself. It has a function to acquire device information.
  • the device information acquisition unit 305 may include a ROM (Read Only Memory) for storing device information, and may appropriately read necessary device information from the ROM.
  • the sensor information storage unit 306 stores sensor information (RAW data) sensed by the sensor included in the sensor unit 301 or sensor information (for example, PEG data or TIFF data) after performing predetermined signal processing by the processing unit 302. To do.
  • sensor information for example, PEG data or TIFF data
  • the sensor unit 301 includes at least one of the first sensor and the second sensor, so that the sensor information storage unit 306 contains the first sensor information from the first sensor. , Or at least one of the second sensor information from the second sensor is stored.
  • the sensor information storage unit 306 stores the sensor information in association with the sensor type, the sensor specification information, and the sensing information supplied from each of the environment information acquisition unit 304 and the device information acquisition unit 305. It may be.
  • the request input unit 307 inputs the sensor information request from the third device 203. Then, the sensor information output unit 308 reads the first sensor information or the second sensor information from the sensor information storage unit 306 in response to the sensor information request, and returns the sensor information output unit 308 to the third device 203.
  • the request input unit 307 discards the sensor information request. If the sensor information request input by the request input unit 307 includes meta information that specifies the sensor type and sensor specifications, the sensor information output unit 308 satisfies the condition specified by the meta information. The sensor information is read from the sensor information storage unit 306 and returned to the third device 203. When the sensor information satisfying the condition specified in the meta information is not stored in the sensor information storage unit 306, the sensor information output unit 308 thirdly stores the sensor information that matches or approximates the specified condition. The device 203 may be returned to the device 203, or the sensor information request may be discarded. Further, the sensor information output unit 308 may return the sensor information with the sensor type, the sensor specification information, and the meta information indicating the sensing environment.
  • FIG. 4 schematically shows a functional configuration example of the third device 203.
  • the third device 203 shown is a data collection unit 401, a sensor information storage unit 402, a model generation unit 403 that generates a trained model, a sensor information reading unit 404, and a model storage unit that stores the trained model. It includes a 405, a request input unit 406, and a model output unit 407 that outputs a trained model.
  • Each component 401 to 407 is realized by executing a program on a processor such as a CPU, GPU, or GPGPU, or by combining the execution program with a hardware component in the third device 203.
  • the data collection unit 401 generates a trained model and collects training data used for re-learning. Specifically, the data collection unit 401 transmits a sensor information request to innumerable first devices 201, and receives the first sensor information or the second sensor information returned from each of the first devices 201. Then, these are stored in the sensor information storage unit 402 as learning data.
  • the sensor information request transmitted to the first device 201 may be accompanied by meta information that specifies the sensor type and the sensor specifications.
  • the data collection unit 401 receives and processes the sensor information. It is stored in the sensor information storage unit 402.
  • the sensor information transmitted from the first device 201 may include a sensor type, sensor specification information, and meta information indicating a sensing environment.
  • the data collection unit 401 stores the sensor information collected from the first device 201 in the sensor information storage unit 402 in association with the sensor type, the sensor specification information, and the sensing environment.
  • the sensor information reading unit 404 reads the first sensor information and the second sensor information, which are learning data, from the sensor information storage unit 402 and supplies them to the model generation unit 403. However, when reading out the sensor information, the sensor information reading unit 404 pairs the combination of the first sensor information and the second sensor information whose sensing environment matches or approximates and reads out from the sensor information storage unit 402. , Supply to the model generation unit 403. This is because the second sensor information whose sensing environment matches or approximates is suitable as teacher data (described later).
  • the model generation unit 403 uses the sensor information passed from the sensor information reading unit 404 as learning data to perform artificial intelligence learning that performs a process of estimating a second sensor information corresponding to the first sensor information. ..
  • artificial intelligence is supposed to use a trained model represented by a neural network.
  • the model generation unit 403 is a neural network composed of the connection weight coefficient between the nodes (neurons) that can estimate the second sensor information corresponding to the first sensor information while changing the connection weight coefficient between the nodes (neurons).
  • the network is generated as a trained model, it is stored in the model storage unit 405.
  • the model generation unit 403 may generate a trained model for each combination of specifications and performance.
  • the sensor information reading unit 404 reads out the first sensor information and the second sensor information corresponding to the specifications and performances to be model-generated, and the model generating unit 403 reads each combination of specifications and performances. Generate a trained model. Then, the model storage unit 405 stores the trained models for each combination of specifications and performances.
  • the request input unit 406 inputs the request of the trained model from the second device 202. Then, the model output unit 407 selectively reads the trained model corresponding to the request of the trained model from the model storage unit 405 and returns it to the second device 202.
  • the request for the trained model from the second device 202 includes the type and sensor specification information of the first sensor mounted on the second device 202, and the desired type and specification of the second sensor. It may contain meta-information that specifies the information.
  • the model output unit 407 selectively reads a learned model matching the combination of the first sensor and the second sensor specified by the second device 202 from the model storage unit 405, and requests the request source. It suffices to reply to the second device 202 of.
  • the model output unit 407 may compress the bit stream of the trained model data and transmit it to the second device 202. Further, when the size of the bitstream is large even after compression, the trained model data may be divided into a plurality of times and the compressed bitstream may be transmitted in a plurality of times. When dividing the trained model data, it may be divided for each layer of the network or for each area within the layer.
  • FIG. 5 illustrates a mechanism in which the model generation unit 403 generates a trained model.
  • the model generation unit 403 includes a neural network 501 as an artificial intelligence model. By inputting the first sensor information and the second sensor information into the neural network 501 and learning the artificial intelligence model, the second sensor information corresponding to the first sensor information can be estimated. As a model, a neural network 501 consisting of connection weight coefficients between nodes (neurons) is generated. Further, the model generation unit 403 further includes a comparison unit 502 for comparing the output of the neural network 501 with the teacher data. The neural network 501 composed of the trained coupling weighting factors is stored in the model storage unit 405 as a trained model generated by the model generation unit 403.
  • the sensor information reading unit 404 pairs and reads the first sensor information and the second sensor information from the sensor information storage unit 402, and supplies the sensor information reading unit 404 to the model generation unit 403.
  • the sensor information reading unit 404 pairs a combination of the first sensor information and the second sensor information whose sensing environment matches or approximates and reads out from the sensor information storage unit 402, and reads out the model. It is supplied to the generation unit 403.
  • the first sensor information is an RGB image
  • the second sensor information is an IR image
  • the IR image is captured at the same place (or the same subject) in a situation where the date and time, weather, etc. are more similar.
  • teacher data for evaluating an IR image estimated from an RGB image. From this point of view, the sensor information reading unit 404 pairs the second sensor information, which is the teacher data, with the first sensor information, and reads from the sensor information storage unit 402.
  • the neural network 501 estimates the second sensor information from the first sensor information supplied from the sensor information reading unit 404. Then, the comparison unit 502 compares the second sensor information estimated by the neural network 501 with the second sensor information read out by the sensor information reading unit 404 in combination with the first sensor information. That is, the loss function based on the difference between the teacher data and the second sensor information estimated by the neural network 501 is defined by using the second sensor information paired with the first sensor information as the teacher data. Then, the neural network 501 is trained by backpropagation (backpropagation method) so that the loss function is minimized.
  • the neural network 501 composed of the coupling weighting coefficients between the trained nodes (neurons) is stored in the model storage unit 405 (not shown in FIG. 5) as a trained model generated by the model generation unit 403.
  • the third device 203 is installed as a server on the cloud, not all the functional components 401 to 407 shown in FIG. 4 are implemented in a single server device. For example, it is assumed that the function of collecting and accumulating learning data and the function of generating a trained model using the accumulated learning data are arranged on different server devices.
  • FIG. 10 shows a processing procedure for generating a trained model in the third device 203 in the form of a flowchart. It is assumed that the third device 203 has previously collected a huge amount of learning data from a large number of first devices 201 and stored it in the sensor information storage unit 402 before starting this processing procedure.
  • the model generation unit 403 identifies the target first sensor and the second sensor (step S1001).
  • the type of sensor may be simply specified (for example, the first sensor is an RGB camera and the second sensor is an IR camera), but the specification information (manufacturer name, model, performance (manufacturer name, model, performance) of each sensor Resolution, frame rate, etc.) may be specified in more detail.
  • the model generation unit 403 reads out the pair of the first sensor information and the second sensor information with respect to the combination of the first sensor and the second sensor specified in step S1001 to the sensor information reading unit 404. Request.
  • the sensor information reading unit 404 attempts to read the corresponding sensor information from the sensor information storage unit 402 (step S1002).
  • the combination of the first sensor information and the second sensor information to be paired is the first sensor information and the second sensor information sensed by the first sensor and the second sensor in the sensing environment that match or approximate. It is a combination of.
  • the sensing environment includes the place where the sensor information was acquired, the date and time, the weather, and the like. This is because if the combination of the first sensor information and the second sensor information that sense the same object at the same place is used, the correlation between the two sensor information is clear and it is easy to learn efficiently. If other sensing information such as the date and time and the weather (sunshine condition) match or approximate, learning can be performed more efficiently.
  • the model generation unit 403 checks whether or not the sensor information reading unit 404 can read a sufficient amount of learning data (for example, a sufficient amount for deep learning) from the sensor information storage unit 402 in step S1002. (Step S1003).
  • the model generation unit 403 gives up the generation of the trained model at this timing, skips all the subsequent processing steps, and makes a book. End the process.
  • the data collecting unit 401 may request the first device 201 for the missing learning data.
  • step S1003 If a sufficient amount of training data can be collected (Yes in step S1003), the model generation unit 403 uses the pair of the first sensor information and the second sensor information collected as the training data to make a neural. The learning of the network 501 is carried out (step S1004).
  • the model generation unit 403 sets the neural network 501, which is composed of the connection weight coefficient between the learned nodes (neurons), in the first sensor and the second sensor specified in step S1001.
  • the generated learned model is stored in the model storage unit 405 (step S1005), and this process is terminated.
  • FIG. 6 schematically shows a functional configuration example of the second device 202.
  • the second device 202 in the figure includes a sensor unit 601, a processing unit 602, an output unit 603, an estimation unit 604, a second processing unit 605, a second output unit 606, and a request output unit 607.
  • a trained model input unit 608 and a control unit 609 are provided.
  • Each component 602 to 609 is realized by executing a program on a processor such as a CPU, GPU, or GPGPU, or by combining the execution program with a hardware component in the second device 202.
  • the sensor unit 601 is composed of one or more sensor elements including the first sensor. Here, for the sake of simplification of the description, it is assumed that the sensor unit 601 is equipped with only the first sensor.
  • the processing unit 602 performs signal processing of the first sensor information sensed by the first sensor of the sensor unit 601. For example, when the first sensor is an RGB camera, the processing unit 602 develops the image signal output from the RGB camera.
  • the output unit 603 includes an application that processes sensor information after signal processing by the processing unit 602.
  • the output unit 603 comprises a camera application that takes a picture.
  • the output unit 603 may include a device such as a liquid crystal display that presents sensor information to the user.
  • the estimation unit 604 uses the trained model input to the trained model input unit 608 (described later), and uses a second sensor corresponding to the first sensor information sensed by the first sensor as the sensor unit 601. Perform the process of estimating the information.
  • the second sensor information corresponding to the first sensor information is the second sensor information that is supposed to be sensed when the second sensor is mounted in the second device 202.
  • the second processing unit 605 performs signal processing of the second sensor information output from the estimation unit 604.
  • the sensor unit 601, the processing unit 602, the estimation unit 604, and the second processing unit 605 can be configured as circuits of each layer of the sensor element having a laminated structure, for example.
  • the second output unit 606 includes an application that processes the second sensor information.
  • the second output unit 606 performs output processing of the second sensor information estimated by the estimation unit 604.
  • the second output unit 606 performs a process of generating a visualized image showing a color distribution according to the heat distribution information included in the IR image.
  • the output unit 603 and the second output unit 606 are realized by the operation of a single application that processes sensor information (hereinafter, also referred to as “sensor processing application”).
  • the second output unit 606 may include a device such as a liquid crystal display that presents the estimated second sensor information to the user.
  • the request output unit 607 requests the trained model from the third device 203.
  • the trained model input unit 608 receives the trained model returned from the third device 203 and sets it in the estimation unit 604.
  • the operation of setting the received learned model in the estimation unit 604 corresponds to, for example, the processing in which the sensor processing application transfers the received learned model to the layer corresponding to the estimation unit 604 in the sensor element of the laminated structure.
  • the second device 202 can obtain the latest trained model from the third device 203 at any time according to the trained model request and the trained model reply sequence with the third device 203 (see FIG. 2). That).
  • the trained model input unit 608 receives the compressed bit stream of the trained model data sent from the third device 203. Further, when the size of the bitstream is large even after compression, the trained model data may be divided into a plurality of times and the compressed bitstream may be downloaded in a plurality of times. The trained model input unit 608 receives the trained model data in units divided into, for example, layer-by-layer or region within the network. Then, the trained model input unit 608 sets the received trained model as the trained model used by the estimation unit 604. When the trained model is represented by a neural network, the trained model input unit 608 receives a trained model consisting of a set of nodes (neurons) and a set of connection weighting coefficients between nodes (neurons), and receives an estimation unit. The coupling weighting factor is set in the neural network used in 604.
  • the request output unit 607 requests the type of the first sensor mounted on the sensor unit 601 and the specification information of the sensor, and further, the type and specification information of the desired second sensor. May include meta-information that specifies.
  • the trained model input unit 608 can receive the trained model matching the combination of the first sensor and the second sensor specified in the trained model request from the third device 203. ..
  • the control unit 609 controls the request operation of the request output unit 607. For example, the control unit 609 responds to a request from the sensor processing application (described above) to present the second sensor information corresponding to the first sensor information to the user to the request output unit 607. Instructing the request output of the trained model, the acquisition operation of the trained model for setting in the estimation unit 606 is started.
  • control unit 609 when the control unit 609 receives an instruction to download (new or update) the trained model from the user who operates the second device 202 through a user interface (not shown) or the like, the control unit 609 has learned the request output unit 607. Instruct the request output of the model to download the trained model used by the estimation unit 606. Further, the control unit 608 instructs the request output unit 606 to output the request output of the trained model at a predetermined cycle so that the trained model used by the estimation unit 606 always keeps the latest state. Further, the control unit 609 may estimate the timing to be downloaded based on the sensor information acquired by the sensor unit 601 and instruct the request output unit 606 to output the request output of the trained model. .. Artificial intelligence may be used for this estimation process.
  • control unit 609 may instruct the request output of the trained model for pre-reading before the second sensor information is required in the second device 202.
  • a cache memory (not shown) for storing the pre-read learned model may be provided in the second device 202.
  • the trained model acquired in the past may be saved in the cache memory for reuse.
  • control unit 609 may control the request output of the sensor type and the sensor specifications of the second sensor based on the instruction from the user and the estimation process.
  • the request output unit 607 transmits the learned model request to the third device 203 with the meta information for specifying the sensor type and the sensor specifications set by the control unit 609.
  • an initial value is set for the connection weighting coefficient between the nodes (neurons) in the neural network used by the estimation unit 606.
  • the estimation unit 606 You can update the coupling weighting factor to use.
  • FIG. 7 schematically shows an operation sequence example of the artificial intelligence sensor system according to the second embodiment.
  • the artificial intelligence sensor system actually has the configuration shown in FIG. 1, but in FIG. 7, for simplification, it is provided from the first device 701 and the first device 701 that provide sensor information as learning data.
  • a third device 703 that trains a model based on the sensor information and generates a trained model, and a second device that provides a result of a service using the trained model from the third device 703. It consists of 702.
  • the result of the service is the sensor information required by the second device 702.
  • the third device 703 uses the trained model to estimate the sensor information required by the second device 702 from the sensor information sent from the second device 702, and the estimation result is the result of the service. Provide as a thing.
  • the first device 701 includes various user terminals such as smartphones, tablets, PCs, and digital cameras, fixed point observation devices such as IoT devices, surveillance cameras, and fixed point cameras, mobile devices, and artificial satellites.
  • the second device 702 is assumed to be a user's terminal such as a smartphone, a tablet, a PC, or a digital camera.
  • the third device 703 is composed of, for example, an artificial intelligence server (described above) installed on a cloud, assuming that deep learning is performed with a large number of learning data and a number of nodes (neurons). It is assumed that the first device 701 and the third device 703, and the third device 703 and the second device 702 are interconnected via a network such as the Internet. However, the form of connection is not particularly limited.
  • the first device 701 includes at least one of the first sensor and the second sensor, and provides the sensor information as learning data to the third device 703. Although only one first device 201 is drawn in FIG. 7 for simplification, it is equipped with a first device equipped with a first sensor and providing first sensor information and a second sensor. It is assumed that there are innumerable first devices that provide the second sensor information.
  • the third device 703 generates a trained model for estimating sensor information.
  • the third device 703 shall generate a trained model that estimates and processes the second sensor information corresponding to the first sensor information.
  • the third device 703 provides the second device 702 with the second sensor information estimated using the trained model as a result of the service based on the trained model.
  • the second device 702 is then equipped with the first sensor and not the second sensor, but with the trained model as a result of services based on the trained model generated by the third device 703. Upon receiving the estimated second sensor information, it becomes possible to use the second sensor information corresponding to the first sensor information sensed by the first sensor. Although only one second device 702 is drawn in FIG. 7 for simplification, the second sensor estimated by the trained model as a result of the service based on the trained model from the third device 703. There may be a plurality of second devices for which information is provided.
  • the relationship between the first sensor and the second sensor basically follows the above description, and detailed description thereof will be omitted here.
  • the third device 703 requests the sensor information from the first device 701 (SEQ701).
  • the first device 701 returns the first sensor information when the first sensor is mounted, and the second sensor information when the second sensor is mounted. Reply (SEQ702).
  • the third device 703 may make the sensor information request in the SEQ 701 in any format such as unicast communication or multicast communication addressed to a specific address, or broadcast communication addressed to an unspecified address.
  • the sensor information request includes the type of sensor to be requested (whether it is the first sensor or the second sensor), sensor specification information (manufacturer name, model, performance (resolution, frame rate), etc.). It may include meta information that specifies desired sensor information, such as the sensing environment (where the sensor information was acquired, the date and time, the weather, etc.).
  • the third device 703 transmits a request for the sensor information without specifying the sensor information in particular, collects all the sensor information from the first device 701, and then enters the third device 703.
  • the sensor information collected in the above may be selected or classified. It is preferable that the sensor information is managed in a database so that it can be searched by meta information.
  • the data stored in the database may be divided into blocks by using blockchain technology, and hash data may be added for distributed management.
  • the first device 701 may discard this request and not return the sensor information. Further, when the first device 701 receives a sensor information request addressed to itself or a multicast or broadcast sensor information request and includes meta information for designating the sensor information, the first device 701 receives the sensor information request. Only the sensor information satisfying the condition specified in the meta information may be returned by SEQ702. Further, in the SEQ 702, the first device 701 includes a sensor type (whether it is the first sensor or the second sensor), sensor specification information (manufacturer name, model, performance (resolution, frame rate), etc.). ), Meta information indicating the sensing environment (location, date and time when sensor information was acquired, weather, etc.) may be added, and the sensor information may be returned.
  • the first device 701 returns the sensor information based on the request from the third device 703, but the sensor information is autonomously returned to the third device regardless of the presence or absence of the request. It may be transmitted to the device 703.
  • the first device 701 may transmit the sensor information to the third device 203 at predetermined intervals, or when the sensor information changes due to the passage of time or the movement of the installation location of the device. Good.
  • the third device 703 follows a sequence of a sensor information request (SEQ701) and a sensor information reply (SEQ702) with an infinite number of first devices 701, and a huge amount of first sensor information and a second sensor as training data. Gather information. Then, the third device 703 uses these sensor information collected from the first device 701 as learning data, and generates a trained model for estimating the second sensor information corresponding to the first sensor information. To carry out. When the trained model is represented by a neural network, the third device 703 stores the generated trained model.
  • the third device 703 continuously performs a sequence of sensor information request (SEQ701) and sensor information reply (SEQ702) to collect a huge amount of training data, and retrains the trained model as appropriate to obtain the latest information. Generate a trained model of and keep it.
  • the second device 702 is equipped with the first sensor, but is not equipped with the second sensor. Therefore, the second device 702 transmits the first sensor information sensed by the first sensor to the third device 703 and requests the second sensor information.
  • the third device 703 uses the trained model to estimate the second sensor information corresponding to the first sensor information received from the second device 702, and the second device 202. To provide. Therefore, the second device 702 can use the second sensor information without equipping the second sensor.
  • the second device 702 attaches the first sensor information sensed by the first sensor in the own device to the third device 703, and transmits an estimation request (SEQ703). ).
  • the third device 703 uses the trained model to estimate the second sensor information corresponding to the first sensor information received from the second device 702, and causes the second device 702 to estimate the second sensor information. Reply (SEQ704). Therefore, by transmitting the first sensor information to the third device 203, the second device 702 always transfers the second sensor information estimated using the latest learned model to the third device 203. Can be obtained from.
  • the second device 702 When transmitting the first sensor information, the second device 702 transmits the type and specification information of the first sensor mounted on the second device 702, and further, the type and specification information of the desired second sensor. It may contain the specified meta information. In such a case, the third device 703 estimates the second sensor information using a trained model that matches the combination of the first sensor and the second sensor specified by the second device 702 by meta information. May be returned to the second device 702.
  • a request for using the second sensor information corresponding to the first sensor information has been generated from an application operating on the second device 702 that handles the first sensor information.
  • the first sensor information is transmitted to the third device 703 to request the second sensor information.
  • the third device 703 may be requested to request the second sensor information in response to the user who operates the second device 702 instructing the conversion of the sensor information or the like via the user interface or the like.
  • the second device 702 may convert the sensor information to infer the aspect to be presented to the user, and request the third device 703 for the second sensor information according to the inference result.
  • the second device 702 may be equipped with artificial intelligence used to infer the need for the second sensor information.
  • the second device 702 is provided with the second sensor information that is supposed to be sensed when the second sensor is mounted in the second device 702 from the third device 703. , Can be used.
  • the first device 701 in the second embodiment may basically have the same configuration as the first device 201 in the first embodiment (for details, refer to the above description with respect to FIGS. 3 and 3). I want to be). Therefore, the description of the functional configuration of the first device 701 will be omitted here.
  • FIG. 8 schematically shows a functional configuration example of the third device 703.
  • the third device 703 shown is a data collection unit 801, a sensor information storage unit 802, a model generation unit 803, a sensor information reading unit 804, a model storage unit 805, an estimation unit 806, and a request input unit 807.
  • the estimation result output unit 808 is provided.
  • Each component 801 to 808 is realized by executing a program on a processor such as a CPU, GPU, or GPGPU, or by combining an execution program with a hardware component in a third device 703.
  • the data collection unit 801 generates a trained model and collects training data used for re-learning. Specifically, the data collection unit 801 transmits a sensor information request to innumerable first devices 701, and receives the first sensor information or the second sensor information returned from each first device 701. Then, these are stored in the sensor information storage unit 802 as learning data.
  • the sensor information request transmitted to the first device 701 may be accompanied by meta information that specifies the sensor type and the sensor specifications.
  • the data collection unit 801 receives and processes the sensor information. It is stored in the sensor information storage unit 802.
  • the sensor information transmitted from the first device 701 may be accompanied by the sensor type, the sensor specification information, and the meta information indicating the sensing environment.
  • the data collection unit 801 stores the sensor information collected from the first device 701 in the sensor information storage unit 802 in association with the sensor type, the sensor specification information, and the sensing environment.
  • the sensor information reading unit 804 reads out the first sensor information and the second sensor information to be learning data from the sensor information storage unit 802 and supplies them to the model generation unit 803. However, when reading out the sensor information, the sensor information reading unit 804 pairs the combination of the first sensor information and the second sensor information whose sensing environment matches or approximates and reads out from the sensor information storage unit 802. , Supply to the model generation unit 803.
  • the model generation unit 803 uses the sensor information passed from the sensor information reading unit 804 as learning data to generate a trained model that performs a process of estimating a second sensor information corresponding to the first sensor information. To do. Then, when the model generation unit 803 generates a learned model capable of estimating the second sensor information corresponding to the first sensor information, it stores it in the model storage unit 805.
  • the trained model is represented by a neural network
  • a neural network having a set of connection weight coefficients between trained nodes (neurons) is stored in the model storage unit 805 as a trained model.
  • the model generation unit 803 may generate a trained model for each combination of specifications and performance.
  • the sensor information reading unit 804 reads out the first sensor information and the second sensor information corresponding to the specifications and performances to be model-generated, and the model generating unit 803 reads each combination of specifications and performances. Generate a trained model.
  • the model storage unit 805 stores the trained models for each combination of specifications and performances. Since the mechanism by which the model generation unit 803 generates the trained model is the same as that in FIG. 5, detailed description thereof will be omitted here.
  • the request input unit 807 When the request input unit 807 inputs an estimation request with the first sensor information from the second device 702, the request input unit 807 passes the received first sensor information to the estimation unit 806.
  • the estimation request may include meta information regarding the sensor type and sensor specifications of the first sensor, and the sensor type and sensor specifications of the second sensor to be estimated.
  • the estimation unit 806 selectively reads out the trained model corresponding to the combination of the first sensor and the second sensor specified in the meta information from the model storage unit 805. Then, the estimation unit 806 estimates the second sensor information corresponding to the first sensor information received from the second device 702 by using the read learned model.
  • the estimation unit 806 When the trained model is represented by a neural network, the estimation unit 806 selectively reads a trained model consisting of a set of connection weight coefficients between nodes (neurons) from the model storage unit 804, and calculates the connection weight coefficient. Estimate processing is performed using the set neural network.
  • the estimation result output unit 808 returns the second sensor information estimated by the estimation unit 807 to the second device 202.
  • the request for the trained model from the second device 702 includes the type and sensor specification information of the first sensor mounted on the second device 702, and the desired type and specification of the second sensor. It may contain meta-information that specifies the information.
  • the estimation unit 806 selectively reads a trained model suitable for the combination of the first sensor and the second sensor specified by the second device 202 from the model storage unit 805, and secondly reads the trained model.
  • the second sensor information corresponding to the first sensor information received from the device 702 may be estimated.
  • the third device 703 is installed as a server on the cloud, not all the functional components 801 to 808 shown in FIG. 4 are implemented in a single server device. For example, it is assumed that the function of collecting and accumulating learning data and the function of generating a trained model using the accumulated learning data are arranged on different server devices.
  • FIG. 9 schematically shows a functional configuration example of the second device 702.
  • the second device 702 shown in the figure includes a sensor unit 901, a processing unit 902, an output unit 903, a request output unit 904, an estimation unit 604, an estimation result input unit 905, a control unit 906, and a second device. It includes a processing unit 907 and a second output unit 908.
  • Each component 902 to 908 is realized by executing a program on a processor such as a CPU, GPU, or GPGPU, or by combining the execution program with a hardware component in the second device 202.
  • the sensor unit 901 includes one or more sensor elements including the first sensor.
  • the sensor unit 901 is equipped with only the first sensor.
  • the processing unit 902 performs signal processing of the first sensor information sensed by the first sensor of the sensor unit 901. For example, when the first sensor is an RGB camera, the processing unit 902 develops the image signal output from the RGB camera.
  • the output unit 903 includes an application that processes the sensor information after signal processing by the processing unit 902.
  • the output unit 903 comprises a camera application that takes a picture.
  • the output unit 903 may include a device such as a liquid crystal display that presents sensor information to the user.
  • the request output unit 904 attaches the first sensor information sensed by the first sensor mounted on the sensor unit 901 to the third device 703, and transmits an estimation request. From the third device 703, the second sensor information estimated based on the first sensor information is returned. The second sensor information returned from the third device 703 is the second sensor information assumed when the second sensor is mounted in the second device 202.
  • the request output unit 904 transmits the type and specification information of the first sensor mounted on the sensor unit 901, and further, the type and specification information of the desired second sensor. It may contain the specified meta information.
  • the third device 703 returns the second sensor information estimated using the trained model that matches the combination of the first sensor and the second sensor specified in the trained model request. It shall be.
  • the estimation result input unit 905 receives the second sensor information from the third device 703
  • the estimation result input unit 905 passes it to the second processing unit 907.
  • the second sensor information received from the third device 703 is the second sensor information that is supposed to be sensed when the second sensor is mounted in the second device 702.
  • the second processing unit 907 performs signal processing of the second sensor information.
  • the sensor unit 901, the processing unit 902, and the second processing unit 907 can be configured as, for example, a circuit of each layer of the sensor element having a laminated structure.
  • the second output unit 907 includes an application that processes the second sensor information.
  • the second output unit 907 processes the second sensor information returned from the third device 703.
  • the second output unit 907 performs a process of generating a visualized image showing a color distribution according to the heat distribution information included in the IR image.
  • the output unit 903 and the second output unit 907 are realized by the operation of a single application that processes sensor information (hereinafter, also referred to as “sensor processing application”).
  • the control unit 906 controls the request operation of the request output unit 904. For example, the control unit 906 responds to a request from the sensor processing application (described above) to present the second sensor information corresponding to the first sensor information to the user to the request output unit 904. Instructing the request output of the trained model, the acquisition operation of the second sensor information corresponding to the first sensor information is activated.
  • control unit 906 may control the request output of the sensor type and sensor specifications of the second sensor based on an instruction from the user or an estimation process.
  • the request output unit 904 transmits the estimation request to the third device 703 with the meta information that specifies the sensor type and the sensor specifications set by the control unit 906.
  • the second device 702 transmits the first sensor information sensed by its own first sensor to the third device 703, so that the second sensor information corresponding to the first sensor information corresponds to the first sensor information. Will also be available.
  • FIG. 11 shows, in the third device 703, a processing procedure for returning the second sensor information estimated from the first sensor information in response to the estimation request from the second device 702 in the form of a flowchart. ing.
  • the third device 703 stores one or more trained models generated based on a huge amount of training data collected from a large number of first devices 701 in the model storage unit 805. It is assumed that there is. Further, in the third device 703, it is assumed that the trained model is generated according to the processing procedure as in FIG.
  • the estimation unit 806 sets the target first sensor and the second sensor based on the meta information attached to the estimation request.
  • the type of sensor may be simply specified (for example, the first sensor is an RGB camera and the second sensor is an IR camera), but the specification information (manufacturer name, model, performance (manufacturer name, model, performance) of each sensor Resolution, frame rate, etc.) may be specified in more detail.
  • the estimation unit 806 requests the model storage unit 805 to read out the trained model corresponding to the combination of the first sensor and the second sensor specified in step S1102 (step S1103).
  • the model storage unit 805 searches for the corresponding trained model.
  • step S1104 if the corresponding trained model cannot be read from the model storage unit 805 (or if the training has not been completed yet) (No in step S1104), an estimation request is made from the second device 702. Since the second sensor information cannot be estimated from the first sensor information, all subsequent processing steps are skipped and the present processing is terminated. In this case, the estimation result output unit 808 may return to the requesting second device 702 that the estimation processing of the second sensor information could not be performed. Further, the estimation unit 806 may request the model generation unit 803 to generate a learned model regarding the combination of the first sensor and the second sensor estimated and requested by the second device 702.
  • the estimation unit 806 uses the trained model.
  • the second sensor information corresponding to the first sensor information sent from the second device 702 with the estimation request is estimated (step S1105).
  • the estimation result output unit 808 returns the second sensor information of the estimation result to the requesting second device 702 (step S1106), and ends this process.
  • a third device that provides a trained model for estimating the second sensor information corresponding to the first sensor information is provided. Intervening, the second device is provided with the result of the service using the trained model from the third device. On the other hand, in the third embodiment, the third device does not intervene, and the second device is configured to estimate the second sensor information using the learned model learned by itself.
  • FIG. 12 schematically shows an operation sequence example of the artificial intelligence sensor system according to the third embodiment.
  • the artificial intelligence sensor system actually has the configuration shown in FIG. 1, but in FIG. 12, for simplification, it is based on the first device 1201 that provides sensor information as learning data and the provided sensor information. It is composed of a second device 1202 that generates a trained model and uses the trained model.
  • the first device 1201 includes at least a second sensor, and provides the second sensor information as learning data to the second device 1202.
  • the second device 1202 is equipped with the first sensor.
  • the second device 1202 uses the first sensor information sensed in the own device and the second sensor information provided by the first device 1201 as learning data, and the second device 1202 corresponds to the first sensor information.
  • Generate a trained model that estimates sensor information.
  • the second device 1202 estimates the second sensor information corresponding to the first sensor information obtained from the first sensor by using the learned model generated in the own device.
  • the second device 1202 may provide the trained model generated in the own device to another device (referred to as the fourth device 1204 in FIG. 12).
  • the fourth device 1204 may be a device corresponding to the second device in which the product of the service is provided from the outside in the first embodiment and the second embodiment.
  • the fourth device 1204 may be a trained model providing server that collects trained models from the second device 1202, creates a database, and manages them. It is assumed that the first device 1201 and the second device 1202, and the second device 1202 and the fourth device 1204 are interconnected via a network such as the Internet. However, the form of connection is not particularly limited.
  • the relationship between the first sensor and the second sensor basically follows the above description, and detailed description thereof will be omitted here.
  • the second device 1202 requests the first device 1201 for the second sensor information (SEQ 1201).
  • the first device 1201 returns the second sensor information sensed by the second sensor mounted on the own device (SEQ 1202).
  • the second device 1202 acquires the first sensor information from the first sensor mounted on the own device. Therefore, the second device 1202 repeatedly executes the sequence of the sensor information request (SEQ 1201) and the sensor information reply (SEQ 1202) with the first device 1201, so that the first sensor information and the first sensor information as learning data can be obtained.
  • the second sensor information can be collected in an amount corresponding to the number of repetitions.
  • the second device 1202 uses these sensor information as learning data to generate a trained model for estimating the second sensor information corresponding to the first sensor information.
  • the trained model is represented by a neural network formed by the connection between the nodes (neurons), and the trained model is changed by learning (training) the connection weight coefficient between the nodes (neurons) in the neural network. Can be generated.
  • the second device 1202 stores a trained model having a set of coupling weighting coefficients obtained by training.
  • the second device 1202 can estimate the second sensor information corresponding to the first sensor information from the first sensor mounted on the own device by using the trained model. Further, when the second device 1202 receives the trained model request from the fourth device 1204 (SEQ 1203), the second device 1202 returns the trained model to the fourth device 1204 (SEQ 1204).
  • FIG. 13 shows a specific example of the artificial intelligence sensor system according to the third embodiment.
  • the first device 1201 is, for example, a security camera equipped with an IR camera, and is used by being fixed to a building or the like.
  • the second device 1202 is a terminal of a user such as a smartphone, a tablet, or a digital camera equipped with an RGB camera, and can be moved to an arbitrary place.
  • the fourth device 1204 may be an information terminal such as a smartphone, a tablet, a PC, or a digital camera, and estimates processing of the second sensor information is performed using the learned model acquired from the second device 1202.
  • the fourth device 1204 may be a trained model providing server that collects trained models from the second device 1202, creates a database, and manages them. The trained model providing server operates to return the trained model in response to the trained model request from the outside.
  • the second device 1202 In order for the second device 1202 to efficiently generate a trained model for estimating the second sensor information corresponding to the first sensor information, the second device 1202 and the first sensor in the second device 1202 Second sensor information sensed under a matching or similar sensing environment is required. Therefore, in the example shown in FIG. 13, the user of the smartphone as the second device 1202 was sensed in a matching or similar sensing environment by manually bringing the smartphone closer to the surveillance camera as the first device 1201. It is possible to easily acquire the first sensor information and the second sensor information.
  • the first device 1201 in the third embodiment may basically have the same configuration as the first device 201 in the first embodiment (for details, see the above description with respect to FIGS. 3 and 3). I want to be). Therefore, the description of the functional configuration of the first device 1201 will be omitted here.
  • FIG. 14 schematically shows a functional configuration example of the second device 1202.
  • the second device 1202 shown is a sensor unit 1401, a processing unit 1402, an output unit 1403, a data collection unit 1404, a model generation unit 1405, a model storage unit 1406, an estimation unit 1407, and a second device. It includes a processing unit 1408, a second output unit 1409, a control unit 1410, and a trained model providing unit 1411.
  • Each component 1402 to 1411 is realized by executing a program on a processor such as a CPU, GPU, or GPGPU, or by combining the execution program with a hardware component in the second device 1202.
  • the sensor unit 1401 is composed of one or more sensor elements including the first sensor. Here, for the sake of simplification of the description, it is assumed that the sensor unit 1401 is equipped with only the first sensor.
  • the processing unit 1402 performs signal processing of the first sensor information sensed by the first sensor of the sensor unit 1401. For example, when the first sensor is an RGB camera, the processing unit 1402 develops an image signal output from the RGB camera.
  • the output unit 1403 includes an application that processes the sensor information after signal processing by the processing unit 1402.
  • the output unit 1403 comprises a camera application that takes a picture.
  • the output unit 1403 may include a device such as a liquid crystal display that presents sensor information to the user.
  • the data collection unit 1404 performs a training data collection process for generating a trained model and retraining. Specifically, a sensor information request is transmitted to a first device 1201 that is close to the user manually, and a second sensor information returned from the first device 1201 is received to generate a model. Hand over to section 1405. When it is desired to collect a plurality of learning data from the same first device 1201, the data collecting unit 1404 repeats the sequence of requesting sensor information and returning data information with the first device 1201 a plurality of times.
  • the sensor information request transmitted to the first device 1201 may be accompanied by meta information that specifies the sensor type and the sensor specifications.
  • the model generation unit 1405 uses a pair of the second sensor information collected by the data collection unit 1404 from the first device 1201 and the first sensor information sensed by the sensor unit 1401 at the same time as learning data, and is used as learning data.
  • a trained model that performs a process of estimating the second sensor information corresponding to the sensor information is generated.
  • the model generation unit 1405 may include a memory (not shown) for accumulating a plurality of training data, and may generate a trained model based on the training data read from the memory.
  • the model generation unit 1405 When the artificial intelligence model to be trained is represented by a neural network, the model generation unit 1405 generates a trained model having a set of connection weight coefficients between nodes (neurons) obtained by learning.
  • the model generation unit 1405 stores the trained model in the model storage unit 1406.
  • the model storage unit 1406 may store the trained models in association with the sensor types and sensor specifications of the first sensor and the second sensor that are the targets of learning.
  • the estimation unit 1407 estimates the second sensor information corresponding to the first sensor information sensed by the first sensor of the sensor unit 1401 by using the learned model selectively read from the model storage unit 1406. .
  • the trained model read from the model storage unit 1406 is a trained model learned by the model generation unit 1405 as described above.
  • the second sensor information corresponding to the first sensor information is the second sensor information that is supposed to be sensed when the second sensor is mounted in the second device 1202.
  • the second processing unit 1408 performs signal processing of the second sensor information output from the estimation unit 1407.
  • the sensor unit 1401, the processing unit 1402, the estimation unit 1407, and the second processing unit 1408 can be configured as circuits of each layer of the sensor element having a laminated structure, for example.
  • the second output unit 1409 includes an application that processes the second sensor information.
  • the second output unit 1409 performs output processing of the second sensor information estimated by the estimation unit 1407.
  • the second output unit 1409 performs a process of generating a visualized image showing a color distribution according to the heat distribution information included in the IR image.
  • the output unit 1403 and the second output unit 1409 are realized by the operation of a single application that processes sensor information (hereinafter, also referred to as “sensor processing application”).
  • the control unit 1410 controls the estimation operation of the second sensor information by the estimation unit 1407. For example, the control unit 1410 responds to the request from the sensor processing application (described above) to present the second sensor information corresponding to the first sensor information to the user to the estimation unit 1407. Instructs the execution of the second sensor information estimation process.
  • the trained model providing unit 1411 provides the trained model to the fourth device 1204. That is, when the trained model providing unit 1411 receives the trained model request from the fourth device 1204, the trained model providing unit 1411 selectively reads the trained model from the model storage unit 1406 and returns it to the fourth device 1204.
  • the request for the trained model from the fourth device 1204 may include meta information that specifies the type and specification information of the desired first sensor and the second sensor.
  • the trained model providing unit 1411 selectively selects a trained model that matches the combination of the first sensor and the second sensor specified by the fourth device 1204 in the meta information from the model storage unit 1406. It may be read out and returned to the requesting fourth device 1204.
  • the trained model providing unit 1411 may compress the bit stream of the trained model data and transmit it to the fourth device 1204. Further, when the size of the bitstream is large even after compression, the trained model data may be divided into a plurality of times and the compressed bitstream may be transmitted in a plurality of times. When dividing the trained model data, it may be divided for each layer of the network or for each area within the layer.
  • FIG. 15 illustrates a mechanism in which the model generation unit 1405 generates a trained model.
  • the model generation unit 1405 includes a neural network 1501 as an artificial intelligence that performs a process of estimating a second sensor information corresponding to the first sensor information. Further, the model generation unit 1405 further includes a comparison unit 1502 for comparing the output of the neural network 1501 with the teacher data.
  • the data collection unit 1404 supplies the second sensor information acquired from the first device 1201 to the model generation unit 1405. Further, the first sensor information sensed by the first sensor of the sensor unit 1401 is input to the model generation unit 1405 in synchronization with the timing of acquiring the second sensor information from the first device 1201.
  • the first sensor information and the second sensor information input from the data collection unit 1404 and the sensor unit 1401 to the model generation unit 1405, respectively, have a sensing environment (location, date and time, weather, etc. from which the sensor information was acquired). It can be treated as paired training data that is similar to or approximated.
  • the neural network 1501 estimates the second sensor information from the first sensor information supplied from the sensor unit 1401. Then, the comparison unit 1502 compares the second sensor information estimated by the neural network 1501 with the second sensor information collected by the sensor information collection unit 1404 from the first device 1201. That is, the loss function based on the difference between the teacher data and the second sensor information estimated by the neural network 1501 is defined by using the second sensor information paired with the first sensor information as the teacher data. Then, the neural network 1501 is trained by backpropagation (backpropagation method) so that the loss function is minimized. A trained model having a set of connection weighting coefficients between nodes (neurons) in the neural network 1501 when the loss function is minimized is stored in the model storage unit 1406 (not shown in FIG. 15).
  • FIG. 16 shows a processing procedure for generating a trained model in the second device 1202 in the form of a flowchart.
  • the sensor information request is transmitted to the first device 1201 that is close to the user manually, and the data collection unit 1401 collects the second sensor information returned from the first device 1201 ( Step S1601).
  • step S1602 the first sensor information sensed by the first sensor of the sensor unit 1401 is acquired.
  • the first sensor information and the second sensor information acquired in steps S1601 and S1602 are treated as paired learning data in which the sensing environment (location, date and time, weather, etc. from which the sensor information was acquired) matches or approximates. be able to.
  • the model generation unit 1405 stores these paired learning data in an internal memory or the like.
  • step S1603 the process returns to step S1601 and the collection of learning data is repeated.
  • the data collection unit 1401 may request the first device 1201 for the missing learning data.
  • step S1603 when a sufficient amount of training data can be collected (Yes in step S1603), the model generation unit 1405 uses the pair of the first sensor information and the second sensor information collected as the training data to make a neural. Learning of network 1501 is carried out (step S1604).
  • the model generation unit 1405 associates the trained model consisting of the connection weight coefficient between the nodes (neurons) with the specification information of the first sensor and the second sensor, and sets the trained model. It is accumulated in the model accumulating unit 1406 (step S1605), and this process is terminated.
  • FIG. 17 shows a processing procedure for estimating the second sensor information in the second device 1202 in response to an estimation request from a sensor processing application or the like in the form of a flowchart.
  • the second device 1202 is based on a pair of the first sensor information sensed by the first sensor of the sensor unit 1401 and the second sensor information collected from the first device 1201 before starting this processing procedure. It is assumed that the trained model learned in the above is stored in the model storage unit 1406.
  • control unit 1410 responds to a request from the sensor processing application (described above) to present the second sensor information corresponding to the first sensor information to the user (Yes in step S1701). Instructs the estimation unit 1407 to execute the estimation process of the second sensor information.
  • the estimation unit 1407 acquires the first sensor information sensed by the first sensor of the sensor unit 1401 (step S1702). Further, the estimation unit 1407 attempts to selectively read the learned model used for estimating the second sensor information from the model storage unit 1406 (step S1703).
  • the first sensor information corresponding to the first sensor information is provided. Since the sensor information of 2 cannot be estimated and processed, all the subsequent processing steps are skipped and this processing is terminated. In this case, the user may be notified through the second output unit 1409 or the like that the second sensor information estimation process could not be performed.
  • the estimation unit 1407 uses the trained model and uses the trained model to be used by the first sensor of the sensor unit 1401.
  • the second sensor information corresponding to the sensed first sensor information is estimated (step S1705).
  • the estimation result is processed by the second processing unit 1408, it is output from the second output unit 808 (step S1706), and this processing is terminated.
  • FIG. 18 shows the processing procedure for the second device 1202 to provide the trained model to the external device in the form of a flowchart.
  • the external device referred to here corresponds to the fourth device 1204 in FIG.
  • the external device may be an artificial intelligence server located on the cloud.
  • the trained model providing unit 1411 Upon receiving the trained model request from the fourth device 1204 (Yes in step S1801), the trained model providing unit 1411 attempts to selectively read the trained model matching the request from the model storage unit 1406 (Yes). Step S1802).
  • the trained model providing unit 1411 succeeds. This process is terminated by skipping all the processing steps of. In this case, the trained model providing unit 1411 may notify the requesting fourth device 1204 that the trained model cannot be provided.
  • the trained model providing unit 1411 transfers the trained model to the requesting fourth device 1204. Return it to finish this process.
  • FIG. 19 shows an example of the internal configuration of the digital camera 1900 as a specific example of the second device 1202.
  • the illustrated digital camera 1900 includes a CPU 1901, a main memory 1902, an RGB image sensor 1903, a communication interface (IF) 1904, a DMA (Direct Memory Access) controller 1905, and a GPGPU (or neural network accelerator) 1906. Each part is configured to interconnect with each component via the system bus 1907.
  • the digital camera 1900 may be provided with other components, but is not shown in FIG. 19 for the sake of simplification of the drawings.
  • the neural network accelerator may be realized as one processor mounted inside the CPU 1901 or GPGPU1906.
  • the CPU 1901 can directly access the main memory 1902. Further, the main memory 1902 can be configured as a virtual memory or a share memory together with an expansion memory or an external storage device (not shown). In this case, the CPU 1901 and the GPGPU 1906 can access other than the main memory via the DMA controller 1905. Further, an external device connected via the communication interface 1904 can access the main memory 1902 by making a DMA request to the DMA controller 1905.
  • the RGB image sensor 1903 corresponds to the first sensor (or general-purpose sensor).
  • the RGB image sensor 1903 includes a sensor element unit 1903-1 and a built-in DRAM (Dynamic Random Access Memory) 1903-2.
  • the sensor element unit 1903-1 includes a sensor element such as a CCD (Charge Coupled Device) or CMOS, and a signal processing circuit that processes the sensor signal. Further, the sensor element unit 1903-1 has the original sensor information (No. 1) obtained from the sensor element unit 1903-1 based on the learned model (that is, the trained artificial intelligence model) set in the built-in DRAM 1903-2. It is possible to perform signal processing for estimating the sensor information (second sensor information) sensed by another sensor (second sensor) from the sensor information of 1).
  • the GPGPU1906 is a processing unit that can be used for general purposes.
  • a part of the artificial intelligence model generation program (software) is operated by the CPU1901 and a part specialized in neural network processing is operated by the GPGPU1906. It is assumed that it will be used for the generation process of the trained model.
  • the trained model referred to here refers to a trained model that estimates other sensor information corresponding to the sensor information (first sensor information) sensed by the RGB image sensor 1903. Further, the other sensor information is specifically, the second sensor information sensed by the IR sensor as the second sensor.
  • the communication interface 1904 is a functional module that interconnects with a network via wired or wireless media.
  • the communication interface 1904 is used to acquire the teacher data used to generate the trained model in GPGPU1906 via the network.
  • the teacher data is the second sensor information sensed by the IR sensor as the second sensor.
  • the communication interface 1904 is used when transmitting the trained model to the artificial intelligence server, for example, according to the request of the artificial intelligence server or by a push method.
  • GPGPU1906 the pair of the second sensor information acquired via the communication interface 1904 and the first sensor information sensed by the RGB image sensor 1903 as the first sensor at the same time is used as learning data for the first sensor.
  • a trained model generation process that performs a process of estimating the second sensor information corresponding to the information is performed.
  • GPGPU1906 When the artificial intelligence model to be trained is represented by a neural network, GPGPU1906 generates a trained model based on the artificial intelligence model, and as a result, sets a set of connection weight coefficients between trained nodes (neurons). obtain. Then, the GPGPU1906 stores the generated trained model in the main memory 1902 with the intervention of the DMA controller 1905. Since the mechanism for generating the trained model has already been described with reference to FIG. 15, detailed description thereof will be omitted here.
  • the CPU 1901 requests the RGB image sensor 1903 to estimate the IR image information as the second sensor information corresponding to the RGB image as the first sensor information.
  • the trained model stored in the main memory 1902 is transferred to the RGB image sensor 1903 and written to the embedded DRAM 1903-2 by the intervention of the DMA controller 1904.
  • the sensor element unit 1903-1 is different from the original sensor information (first sensor information) obtained from the sensor element unit 1903-1 based on the trained model set in the built-in DRAM 1903-2.
  • Signal processing for estimating the sensor information (second sensor information) sensed by the sensor (second sensor) is performed.
  • the communication interface 1904 receives the trained model request from the fourth device 1204, the trained model stored in the main memory 1902 is transferred to the communication interface 1904 by the intervention of the DMA controller 1905, and the communication interface 1904 is used. In 1904, the trained model is returned to the requesting fourth device 1204.
  • FIG. 20 shows an example of the internal configuration of the digital camera 2000 as another specific example of the second device 1202.
  • the illustrated digital camera 2000 includes a CPU 2001, a main memory 2002, an RGB image sensor 2003, an IR image sensor 2004, a communication interface 2005, a DMA controller 2006, and a GPGPU (or neural network accelerator) 2007. It is configured to interconnect with each component via the system bus 2008.
  • the digital camera 2000 may include other components, but is not shown in FIG. 20 for the sake of simplification of the drawings.
  • the neural network accelerator may be realized as one processor mounted inside the CPU 201 or GPGPU2007.
  • the CPU 2001 can directly access the main memory 2002.
  • the main memory 2002 can be configured as a virtual memory or a share degree memory together with an expansion memory or an external storage device (not shown).
  • the CPU 20091 and the GPGPU 2007 can access other than the main memory via the DMA controller 2006.
  • an external device connected via the communication interface 2005 can access the main memory 2002 by making a DMA request to the DMA controller 2006.
  • the RGB image sensor 2003 corresponds to the first sensor (or general-purpose sensor).
  • the RGB image sensor 2003 includes a sensor element unit 2003-1 and an embedded DRAM 2003-2.
  • the sensor element unit 2003-1 includes a sensor element such as a CCD or CMOS and a signal processing circuit that processes a sensor signal. Further, the sensor element unit 2003-1 is based on the learned model set in the built-in DRAM 2003-2, and from the original sensor information (first sensor information) obtained from the sensor element unit 2003-1, another sensor. It is possible to carry out signal processing for estimating the sensor information (second sensor information) sensed by (second sensor).
  • the IR image sensor 2004 corresponds to the second sensor (or specialized sensor).
  • the IR image sensor 2004 includes a sensor element unit 2004-1 and an embedded DRAM 2004-2.
  • the sensor element unit 2004-1 includes a sensor element and a signal processing circuit that processes a sensor signal. Further, the sensor information (second sensor information) after signal processing is written in the embedded DRAM 2004-2 and further transferred to the main memory 2002 with the intervention of the DMA controller 2006.
  • the GPGPU2007 is a processing unit that can be used for general purposes.
  • a part of the artificial intelligence model generation program (software) is operated by the CPU 2001 and a part specialized in neural network processing is operated by the GPGPU2007. It is assumed that it will be used for the generation process of the trained model.
  • the trained model referred to here refers to a trained model that estimates other sensor information corresponding to the sensor information (first sensor information) sensed by the RGB image sensor 2003. Further, the other sensor information is specifically, the second sensor information sensed by the IR image sensor 2004 as the second sensor.
  • GPGPU 2007, a pair of the second sensor information sensed by the IR image sensor 2004 as the second sensor and the first sensor information sensed by the RGB image sensor 2003 as the first sensor at the same time is used as learning data.
  • a trained model that performs a process of estimating the second sensor information corresponding to the first sensor information is generated.
  • GPGPU2007 When the artificial intelligence model to be trained is represented by a neural network, GPGPU2007 generates a trained model based on the artificial intelligence model, and as a result, sets a set of connection weight coefficients between trained nodes (neurons). obtain. Then, the GPGPU 2007 stores the generated trained model in the main memory 2002 with the intervention of the DMA controller 2006.
  • the digital camera 2000 is equipped with an IR image sensor 2004 as well as an RGB image sensor 2003, and can constantly acquire learning data necessary for learning. Therefore, it is possible to repeatedly retrain the trained model in GPGPU 2007, and it is possible to generate a trained model with high accuracy. Since the mechanism for generating the trained model has already been described with reference to FIG. 15, detailed description thereof will be omitted here.
  • the communication interface 2005 is a functional module that interconnects with a network via wired or wireless media.
  • the communication interface 2005 receives the trained model request from the fourth device 1204
  • the trained model stored in the main memory 1902 is transferred to the communication interface 2005 through the intervention of the DMA controller 2006, and the request is made in the communication interface 2005.
  • the process of returning the trained model to the original fourth device 1204 is performed.
  • the technique according to the present disclosure can be implemented in various forms. Needless to say, the above-described embodiment is merely an example, and it is said that the technique according to the present disclosure can be implemented in more embodiments by combining or partially modifying the embodiments of two or more embodiments. Please fully understand the point.
  • the optical flow is a vector representation of the movement of an object in an image.
  • FIG. 21 schematically shows an operation sequence example of the artificial intelligence sensor system according to the fourth embodiment.
  • the illustrated artificial intelligence sensor system comprises first devices 2101-1 and 2101-2, second device 2102, and third device 2103, each of which is referenced in the description of the first embodiment.
  • Each of the devices of the same name in 2 corresponds to the device having the same name (basically, the first device 2101-1 and 2101-2 have the device configuration shown in FIG. 3, and the second device 2102 has the device configuration shown in FIG.
  • the third device 2103 has the device configuration shown in FIG. 4).
  • the first device 201 in FIG. 2 is the first device 2101 that provides the first sensor information as learning data.
  • the third device 2103 generates a trained model based on the first sensor information and the second sensor information provided by the first devices 2101-1 and 2101-2, and obtains the trained model. The point that the result of the used service is provided from the third device 2103 to the second device 2102 is the same as in the first embodiment.
  • FIG. 22 shows a mechanism in which the third device 2103 acquires sensor information from the two first devices 2101-1 and 2101-2 to generate a trained model.
  • the first device 2101-1 is equipped with an image sensor as the sensor unit 2201, and the RGB output consisting of 1000 fps (frame per second) of the sensor unit 2201 is used as the first sensor information (learning data) as the third device 2103. Supply to.
  • the sensor unit 2202 of the first device 2101-2 is equipped with an image sensor and an image analysis processor.
  • the image analysis processor reads the output of the image sensor at 30 fps, calculates the optical flow, and supplies the second sensor information (teacher data) to the third device 2103.
  • the calculation of the optical flow can be implemented by using the block matching method, the gradient method, the Lucas-Kanade (LK) method, or the like, and can be realized as a computer program running on a hardware circuit or a processor.
  • the second device 2103 includes a communication module having a wireless or wired communication function (not shown), a storage device having a memory function for storing data (not shown), and a memory for reading and writing data to and from the storage device.
  • a control device (not shown) as a controller
  • the first sensor information from the first device 2101-1 and the second sensor information from the first device 2101-2 are received and stored by communication. It can be stored in the device and the first sensor information and the second sensor information can be synchronously provided to the model generation unit 2204.
  • the data providing unit 2203 previously performs the first sensor information and the second sensor information by operating the computer program read from the storage device on a processor (not shown) such as a CPU.
  • the data providing unit 2203 acquires new first sensor information from the first device 2101-1 at a timing of 1000 fps, and newly from the first device 2101-2 at a timing of 30 fps.
  • the second sensor information is acquired. In order to synchronize the first sensor information and the second sensor information, at least the following two methods can be mentioned.
  • the third device 2103 further includes a model generation unit 2204.
  • the model generation unit 2204 includes a neural network 2205 as artificial intelligence.
  • the data providing unit 2203 synchronizes by either method, inputs the first sensor information and the second sensor information to the neural network 2205, and performs learning of artificial intelligence.
  • a neural network 2205 composed of connection weight coefficients between nodes (neurons) is generated as a trained model capable of performing a process of estimating the second sensor information corresponding to the first sensor information.
  • the model generation unit 2204 further includes a comparison unit 2206 that compares the output of the neural network 2205 with the second sensor information as teacher data.
  • the comparison unit 2206 compares the second sensor information estimated by the neural network 2205 with the second sensor information as teacher data input via the data providing unit 2203. Then, a loss function based on the difference between the second sensor information estimated by the neural network 2205 and the teacher data is defined, and the neural network 2205 is backpropagated (error backpropagation method) so that this loss function is minimized.
  • a trained model having a set of connection weighting coefficients between nodes (neurons) in the neural network 2205 when the loss function is minimized is stored in a model storage unit (not shown) in the third device 2103.
  • FIG. 23 shows an example of the neural network 2205.
  • the neural network 2205 includes an input layer 2301, a hidden layer 2302, and an output layer 2303.
  • the pixel size of the image sensor is M ⁇ N
  • the input layer 2301 inputs the data of all the pixels. All RGB data may be input to one neural network, or the input layers of the neural network may be separated for each of R, G, and B.
  • the output layer 2303 is configured so that the optical flow direction is output as a set of four directional components of N (north), W (west), E (east), and S (south) for each pixel. ing.
  • one real value is output for each pixel as a real value of the angular component of the optical flow. For example, E (east) is 0.0, N (north) is 90.0, W (west) is 180.0, and S (south) is 270.0. Output any value between them as a real value of the angle component.
  • the data format of the first sensor information output from the first device 2101-1 may be different from the data format of the second sensor information output from the first device 2101-2.
  • the data providing unit 2203 operates the computer program read from the storage device on a processor (not shown) such as a CPU, so that the data format of the first sensor information and the second sensor information Is converted into the same data format as the output data of the output layer 2303 of the neural network 2205 and the comparison unit 2206.
  • the processor in the second device 2102 (not shown).
  • the computer program (application) operating above requests the third device 2103 for the trained model, the neural network 2205, and downloads and uses the trained model returned from the third device 2103. Therefore, it is possible to have an optical flow function (specifically, it is provided with a function of estimating optical flow data from image sensor data).
  • a device capable of processing data at a higher frame rate can acquire the function of a device capable of performing optical flow analysis at a lower speed and a fixed frame rate by learning artificial intelligence.
  • the application running on the second device 2102 hardly changes the estimation result of the trained model, it does not output the estimation result or outputs data suggesting that the estimation result can be ignored.
  • learning is performed using the sensor information that generates the sensor output at a fixed frame rate and the sensor information that generates the sensor output at a higher frame rate. It has the effect of being able to generate an artificial intelligence model that can calculate the optical flow at a variable frame rate.
  • a scalable camera system can be constructed using a general-purpose camera.
  • 10 cameras are initially installed in the stadium as the first device, and the third device grasps the position of objects (players, musicians, etc.) in the field of view of each camera and zooms at an appropriate timing. Generate a trained model that changes the field of view by processing (zoom in, zoom out).
  • the second device which is an additional camera
  • the first device which is a camera that is already installed at a position relatively close to the second device.
  • a third device which is an intelligent server, can be requested to learn a neural network to generate a trained model.
  • a camera By downloading the trained model generated in this way to the second device, which is an additional camera, a camera can be added in a scalable manner together with the camera installed from the beginning without performing the whole learning again. You can build a camera system that can.
  • the second device as an additional camera has a learning function as in the third embodiment, learning is performed without using the third device which is an artificial intelligence server, and a trained model is generated. Can be done. On the other hand, further, the generated trained model can be uploaded to the fourth device as an artificial intelligence server in case the additional cameras are installed in close proximity.
  • the technique according to the present disclosure can be applied to a process of estimating the other sensor information corresponding to one sensor information in various sensor combinations.
  • the present specification has mainly described embodiments relating to a combination of an RGB camera and a sensor that captures two-dimensional information such as an IR camera and a distance sensor, the present specification is not limited thereto.
  • the technique according to the present disclosure can be applied to a process of estimating audio, temperature, vibration, wind, neuromorphic perception event, etc. from two-dimensional information such as a natural image.
  • the technology disclosed in this specification can also have the following configuration.
  • a collecting unit that collects the first sensor information detected by the first sensor and the second sensor information detected by the second sensor.
  • a model generation unit that generates a trained model that estimates a second sensor information corresponding to the first sensor information based on the collected first sensor information and the second sensor information.
  • the storage unit that stores the trained model and A provider that provides the result of a service based on the trained model, Information processing device equipped with.
  • the collecting unit requests the sensor information from the first sensor or the first device provided with the second sensor, and the first sensor information or the second sensor returned from the first device. Gather information, The information processing device according to (1) above.
  • the model generation unit generates a trained model for each combination of the first sensor and the second sensor.
  • the storage unit stores one or more trained models generated for each combination of the first sensor and the second sensor.
  • the providing unit selectively reads a learned model corresponding to the request from the second device from the accumulating unit and provides a result of a service based on the learned model.
  • the providing unit provides the result of the service based on the learned model in response to the request from the second device.
  • the information processing device according to any one of (1) to (3) above.
  • the providing unit provides the trained model to the second device as a result of the service.
  • the information processing device according to any one of (1) to (4) above.
  • the providing unit estimates the second sensor information corresponding to the first sensor information transmitted from the second device using the trained model, and estimates the second sensor information as a result of the service. Reply the second sensor information
  • the information processing device according to any one of (1) to (4) above.
  • the first sensor that detects the first sensor information and An input unit that inputs the result of a service based on a learned model that estimates the second sensor information corresponding to the first sensor information from the third device, and Information processing device equipped with.
  • the second sensor information corresponding to the first sensor information detected by the first sensor is used.
  • the information processing device according to any one of (8) and (9) above.
  • the input unit inputs a learned model for estimating the second sensor information corresponding to the first sensor information from the third device as a result of the service. It further includes an estimation unit that estimates the second sensor information corresponding to the first sensor information detected by the first sensor using the input trained model.
  • the information processing device according to any one of (8) to (10) above.
  • the requesting unit transmits the first sensor information detected by the first sensor to the third device.
  • the input unit inputs the second sensor information corresponding to the transmitted first sensor information estimated using the trained model from the third device.
  • the information processing device according to any one of (8) to (10) above.
  • the first sensor and A collecting unit that collects the second sensor information detected by the second sensor, A trained model that estimates the second sensor information corresponding to the first sensor information based on the first sensor information detected by the first sensor and the second sensor information collected by the collecting unit.
  • the model generator that generates and Information processing device equipped with.
  • the providing unit transmits the trained model generated by the model generating unit to the fourth device as a result of the service.
  • a model generation step that generates an estimated trained model, and Information processing method having.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

人工知能を利用してセンサ情報の処理を行う情報処理装置を提供する。 情報処理装置は、第1のセンサで検出された第1のセンサ情報及び第2のセンサで検出された第2のセンサ情報を収集する収集部と、前記収集した第1のセンサ情報及び第2のセンサ情報に基づいて、第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルの生成を行うモデル生成部と、前記学習済みモデルを蓄積する蓄積部と、前記学習済みモデルに基づくサービスの結果物を提供する提供部を具備する。前記提供部は、第2の装置からの要求に応答して、第2の装置に前記学習済みの学習モデルを提供する。

Description

情報処理装置及び情報処理方法
 本明細書で開示(以下、「本開示」とする)する技術は、人工知能を利用する情報処理装置及び情報処理方法に関する。
 近年、通信機能が組み込まれたさまざまな機器がインターネットを経由して繋がり合う状態となってきており、各機器で扱うセンサなどのデータを広範囲で収集して各種産業のサービスに活用する動きも出てきている。
 一方、人工知能を利用して、センサデータを解析する技術も開発されている。例えば、画像から距離情報を推定するための学習済みモデルを用いて、撮像装置が取得した画像に対する距離情報を推定する情報処理装置が提案されている(特許文献1を参照のこと)。
特開2019-124537号公報
 本開示に係る技術の目的は、人工知能を利用してセンサ情報の処理を行う情報処理装置及び情報処理方法を提供することにある。
 本開示に係る技術の第1の側面は、
 第1のセンサで検出された第1のセンサ情報及び第2のセンサで検出された第2のセンサ情報を収集する収集部と、
 前記収集した第1のセンサ情報及び第2のセンサ情報に基づいて、第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルの生成を行うモデル生成部と、
 前記学習済みモデルを蓄積する蓄積部と、
 前記学習済みモデルに基づくサービスの結果物を提供する提供部と、
を具備する情報処理装置である。
 前記収集部は、第1のセンサ又は第2のセンサを備えた第1の装置にセンサ情報を要求して、第1の装置から返信された第1のセンサ情報又は第2のセンサ情報を収集する。
 前記モデル生成部は、第1のセンサと第2のセンサの組み合わせ毎に学習済みモデルの生成を行い、前記蓄積部は、第1のセンサと第2のセンサの組み合わせ毎に生成された1以上の学習済みモデルを蓄積する。そして、前記提供部は、第2の装置からの要求に対応する学習済みモデルを前記蓄積部から選択的に読み出して、前記サービスの結果物として、第2の装置に学習済みモデルを提供する。または、前記提供部は、前記学習済みモデルを用いて、第2の装置から送信された第1のセンサ情報に対応する第2のセンサ情報を推定し、前記サービスの結果物として、前記推定した第2のセンサ情報を返信する。
 また、本開示に係る技術の第2の側面は、
 第1のセンサで検出された第1のセンサ情報及び第2のセンサで検出された第2のセンサ情報を収集する収集ステップと、
 前記収集した第1のセンサ情報及び第2のセンサ情報に基づいて、第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルの生成を行うモデル生成ステップと、
 前記学習済みモデルを蓄積部に蓄積する蓄積ステップと、
 前記学習済みモデルに基づくサービスの結果物を提供する提供ステップと、
を有する情報処理方法である。
 また、本開示に係る技術の第3の側面は、
 第1のセンサ情報を検出する第1のセンサと、
 第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルに基づくサービスの結果物を第3の装置から入力する入力部と、
を具備する情報処理装置である。
 前記入力部は、前記サービスの結果物として、第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルを第3の装置から入力する。また、第3の側面に係る情報処理装置は、前記入力した学習済みモデルを用いて前記第1のセンサが検出した第1のセンサ情報に対応する第2のセンサ情報を推定する推定部をさらに備える。
 あるいは、前記要求部は、前記第1のセンサが検出した第1のセンサ情報第3の装置に送信し、前記入力部は、前記サービスの結果物として、学習済みモデルを用いて推定された、前記送信した第1のセンサ情報に対応する第2のセンサ情報を、第3の装置から入力する。
 また、本開示に係る技術の第4の側面は、
 第1のセンサから第1のセンサ情報を取得するステップと、
 第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルに基づくサービスの結果物を第3の装置に要求するステップと、
 前記サービスの結果物を第3の装置から入力するステップと、
を有する情報処理方法である。
 また、本開示に係る技術の第5の側面は、
 第1のセンサと、
 第2のセンサで検出された第2のセンサ情報を収集する収集部と、
 前記第1のセンサで検出された第1のセンサ情報及び前記収集部が収集した第2のセンサ情報に基づいて、第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルの生成を行うモデル生成部と、
を具備する情報処理装置である。
 第5の側面に係る情報処理装置は、前記モデル生成部が生成した学習済みモデルを用いて前記第1のセンサが検出した第1のセンサ情報に対応する第2のセンサ情報を推定する推定部をさらに備えていてもよい。また、第5の側面に係る情報処理装置は、前記学習済みモデルに基づくサービスの結果物を第4の装置に提供する提供部をさらに備えていてもよい。
 また、本開示に係る技術の第6の側面は、
 情報処理装置が第2のセンサで検出された第2のセンサ情報を収集する収集ステップと、
 前記情報処理装置内の第1のセンサで検出された第1のセンサ情報及び前記収集ステップにおいて収集された第2のセンサ情報に基づいて、第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルの生成を行うモデル生成ステップと、
を有する情報処理方法である。
 本開示に係る技術によれば、人工知能を利用してセンサ情報の処理を行う情報処理装置及び情報処理方法を提供することができる。
 なお、本明細書に記載された効果は、あくまでも例示であり、本開示に係る技術によりもたらされる効果はこれに限定されるものではない。また、本開示に係る技術が、上記の効果以外に、さらに付加的な効果を奏する場合もある。
 本開示に係る技術のさらに他の目的、特徴や利点は、後述する実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
図1は、本開示に係る技術が適用される人工知能センサシステムの構成例を示した図である。 図2は、人工知能センサシステムの動作シーケンス例(第1の実施例)を示した図である。 図3は、第1の装置201の機能的構成例(第1の実施例)を示した図である。 図4は、第3の装置203の機能的構成例(第1の実施例)を示した図である。 図5は、モデル生成部403が学習済みモデルを生成する仕組み示した図である。 図6は、第2の装置202の機能的構成例(第1の実施例)を示した図である。 図7は、人工知能センサシステムの動作シーケンス例(第2の実施例)を示した図である。 図8は、第3の装置703の機能的構成例(第2の実施例)を示した図である。 図9は、第2の装置702の機能的構成例(第2の実施例)を示した図である。 図10は、第3の装置203において学習済みモデルを生成するための処理手順を示したフローチャートである。 図11は、第3の装置703において推定要求に応じて推定した第2のセンサ情報を返信するための処理手順を示したフローチャートである。 図12は、人工知能センサシステムの動作シーケンス例(第3の実施例)を示した図である。 図13は、人工知能センサシステムの具体例(第3の実施例)を示した図である。 図14は、第2の装置1202の機能的構成例を示した図である。 図15は、モデル生成部1405が学習済みモデルの生成を行う仕組みを示した図である。 図16は、第2の装置1202において学習済みモデルを生成するための処理手順を示したフローチャートである。 図17は、第2の装置1202においてセンサ情報の推定処理を行うための処理手順を示したフローチャートである。 図18は、第2の装置1202が外部に学習済みモデルを提供するための処理手順を示したフローチャートである。 図19は、デジタルカメラ1900の構成例を示した図である。 図20は、デジタルカメラ2000の構成例を示した図である。 図21は、人工知能センサシステムの動作シーケンス例(第4の実施例)を示した図である。 図22は、第3の装置2103が2つの第1の装置2101-1及び2101-2からセンサ情報を取得して学習済みモデルを生成する仕組みを示した図である。 図23は、第4の実施例に係るニューラルネットワークの入出力データを示した図である。
 以下、図面を参照しながら本開示に係る技術の実施形態について詳細に説明する。
 図1には、本開示に係る技術が適用される人工知能センサシステムの構成例を模式的に示している。図示のシステムは、クラウド(Cloud)に接続された無数のセンサデバイスで構成される。
 ここで言うセンサデバイスは、1又は複数のセンサ素子を搭載したIoT(Internet of Things)デバイスの他、デジタルカメラ、スマートフォンやタブレット端末、PC(Personal Computer)、デジタルカメラといった個人が使用する情報機器、監視カメラや定点カメラなどの定点観測装置、自動車やドローンなどカメラやレーダといった複数のセンサを搭載した移動体装置、上空から地表の様子や地表温度を捕捉する人工衛星など、さまざまな装置を含むものとする。
 また、本明細書で言うクラウドは、一般的に、クラウドコンピューティング(Cloud Computing)を指し、インターネットなどのネットワークを経由してコンピューティングサービスを提供する。コンピューティングが、ネットワークにおいて、サービスを受ける情報処理装置により近い位置で行われる場合には、エッジコンピューティング(Edge Computing)やフォグコンピューティング(Fog Computing)などとも称される。本明細書におけるクラウドは、クラウドコンピューティングのためのネットワーク環境やネットワークシステム(コンピューティングのための資源(プロセッサ、メモリ、無線又は有線のネットワーク接続設備などを含む))を指すものと解される場合もある。また、クラウドの形態で提供されるサービスやプロバイダ(Provider)を指すものと解される場合もある。
 また、本開示に係る技術では、クライアントに対してインターネット(あるいは、クラウド)上で、人工知能の機能を提供する人工知能サーバも存在することを想定している。人工知能は、例えば、学習、推論、データ創出、計画立案といった人間の脳が発揮する機能を、ソフトウェア又はハードウェアによって人工的に実現する機能のことである。人工知能の機能は、人間の脳神経回路を模したニューラルネットワークで表される人工知能モデルを利用して実現することができる。
 人工知能モデルは、学習データの入力を伴う学習(訓練)を通じてモデル構造を変化させる、人工知能に用いられる可変性を持つ計算モデルである。ニューラルネットワークは、脳型(ニューロモーフィック(Neuromorphic))コンピュータを使う場合においては、ノードのことを、シナプスを介した人工ニューロン(又は、単に「ニューロン」)とも呼ぶ。ニューラルネットワークは、ノード(ニューロン)間の結合により形成されるネットワーク構造を有し、一般に入力層、隠れ層、及び出力層から構成される。ニューラルネットラークで表される人工知能モデルの学習は、ニューラルネットワークにデータ(学習データ)を入力し、ノード(ニューロン)間の結合の度合い(以下、「結合重み係数」とも呼ぶ)を学習することで、ニューラルネットワークを変化させる処理を通じで行われる。学習済みの人工知能モデル(以下、「学習済みモデル」とも呼ぶ)を用いることで、問題(入力)に対して最適な解決(出力)を推定することができる。
 ここで、ニューラルネットワークは、畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)、回帰的ニューラルネットワーク(Recurrent Neural Network:RNN)、敵対的生成ネットワーク(Generative Adversarial Network)、変分オートエンコーダ(Variational Autoencoder)、自己組織化写像(Self-Organizing Feature Map)、スパイキングニューラルネットワーク(Spiking Neural Network:SNN)など、目的に応じて多様なアルゴリズム、形態、構造を持つことができ、これらを任意に組み合わせることができる。
 本開示に係る技術に適用される人工知能サーバは、深層学習(Deep Learning:DL)を行うことができる、多段ニューラルネットワークを搭載していることを想定している。深層学習を行う場合、学習データ数もノード(ニューロン)数も大規模となる。したがって、クラウドのような巨大な計算機資源を使って深層学習を行うことが適切と思料される。
 本明細書で言う「人工知能サーバ」は、単一のサーバ装置とは限らず、例えば他のデバイスを介してユーザに対してクラウドコンピューティングサービスを提供し、他のデバイスに対してサービスの結果物(成果物)を出力し、提供するクラウドの形態であってもよい。
 また、本明細書で言う「クライアント」(以下では、端末、センサデバイス、エッジ(Edge)デバイスとも呼ぶ)は、少なくとも、人工知能サーバが生成する学習済みモデルを、人工知能サーバによるサービスの結果物として、人工知能サーバからダウンロードし、ダウンロードした学習済みモデルを用いて推論や物体検出などの処理を行い、又は人工知能サーバが学習済みモデルを用いて推論したセンサデータをサービスの結果物として受け取って推論や物体検出などの処理を行うことを特徴としている。クライアントはさらに比較的小規模なニューラルネットワークを利用する学習機能を備えることにより、人工知能サーバと連携して深層学習を行えるようにしてもよい。
 なお、上述した脳型コンピュータの技術とそれ以外の人工知能の技術は独立したものではなく、お互いに協調的に利用することができる。例えば、ニューロモーフィックコンピュータにおける代表的な技術として、SNN(前述)がある。SNNの技術を使用することで、例えばイメージセンサなどからの出力データを、入力データ系列に基づいて時間軸で微分した形式で、深層学習の入力に提供するデータとして使用することができる。したがって、本明細書では、特に明示しない限り、ニューラルネットワークを脳型コンピュータの技術を利用した人工知能の技術の一種として扱う。
 再び図1を参照すると、クラウドに接続された多数のセンサデバイスがそれぞれ搭載するセンサの種類は多岐にわたる。各種センサを、RGBカメラ(若しくは、自然画像を捕捉するカメラ)のように多くのセンサデバイスが装備する「汎用センサ」と、IR(赤外線)カメラや距離センサといった、特定用途向きで一部のセンサデバイスしか装備しない「特化センサ」に大別することができる。汎用センサは既に世界中に普及している一方、特化センサが同じように普及するには、コストがかかり、長い時間も要する。
 例えば一般ユーザが利用する端末もセンサデバイスの1つであり、RGBフォトダイオードを搭載することで、RGB画像で撮影した自然画像を、RGBフォトダイオード用のアプリケーションを通じて閲覧することができる。しかしながら、端末がIRカメラやLiDAR(Light Detecton And Ranging)などの測距センサ又はToF(Time Of Flight)などの深度センサを搭載していない場合には、一般的には、赤外線画像や距離画像を閲覧することができない。端末がRGBフォトダイオード以外のセンサを搭載していれば、自然画像以外のさまざまなセンサ画像を閲覧することができるが、装置コストの増大を招来する。また、ユーザが端末を購入した後に、未搭載のセンサの情報が必要になるという事態も想定される。
 また、学習済みモデルを用いて画像から他のセンサ情報を推定する情報処理装置が提案されているが(特許文献1を参照のこと)、ニューラルネットワークの学習には厖大な学習データが必要であり、演算負荷も高い。このため、一般的な端末上で、リアルタイムで大規模なニューラルネットワークの学習を行うことは非現実的である。また、1台の端末上で画像から2種類以上のセンサ情報を推定したい場合には、推定したい種類毎に学習済みモデルが必要になってくる。
 そこで、本明細書では、本開示に係る技術として、第1のセンサでセンシングされる第1のセンサ情報に対応する第2のセンサでセンシングされる第2のセンサ情報を推定するための学習済みモデルの生成処理を、ユーザの端末とは異なる第3の装置上で実施して、第3の装置が学習した学習済みモデルに基づくサービスの結果物として、学習済みモデルや学習済みモデルを用いた推論の結果であるセンサ情報などをユーザの端末に提供するための技術について、以下で提案する。ここで、第1のセンサ情報は、第1のセンサを有する装置が本来出力する情報であって、本開示に係る技術において学習済みモデルを生成するための学習データとして使用されるセンサ情報である。一方、第2のセンサ情報は、第2のセンサを有する装置が本来出力する情報であって、本開示に係る技術において学習済みモデルを生成するための教師データとして使用される情報であり、第1のセンサを有する装置が学習済みモデルを用いて推論した結果として出力されるセンサ情報である。また、第3の装置は、具体的にはクラウド若しくはクラウド上の人工知能サーバとして実現されることを想定しているが、必ずしもこれに限定されるものではない。
 ここで、第1のセンサと第2のセンサの関係について、例示に基づいて説明しておく。
 本実施形態で言う第1のセンサは例えば汎用センサであり、第2のセンサは例えば特化センサであるが、必ずしもその組み合わせに限定されるものではない。第1のセンサが特化センサで、第2のセンサが汎用センサであってもよい。あるいは、第1のセンサと第2のセンサがともに汎用センサ、又はともに特化センサであってもよい。
 具体的には、第1のセンサがRGBカメラであり、第2のセンサがIRセンサ、又は距離センサという組み合わせが挙げられる。あるいは、第1のセンサがIRセンサ又は距離センサで、第2のセンサがRGBカメラであってもよい。
 あるいは、第1のセンサと第2のセンサが異なるモダリティとは限らず、同じモダリティであることも想定される。例えば、第1のセンサと第2のセンサがともにRGBカメラであるが、製造メーカが異なる場合、同一メーカであるが型式が異なる場合、第1のセンサと第2のセンサで性能(解像度やダイナミックレンジなど)が異なる場合も想定される。このような場合、第3の装置では、異なるメーカのRGBカメラで撮影した画像の推定処理、旧型式のRGBカメラで撮影した画像から新型式のRGBカメラで撮影した画像の推定処理、低解像度の画像又は低ダイナミックレンジの画像を高解像度又は高ダイナミックレンジの画像へアップコンバートするための推定処理、などを行う学習済みモデルの生成を実施することになる。
 また、第1のセンサがスチルカメラ(又は低フレームレートカメラ)で第2のセンサがビデオカメラ(又は、高フレームレートカメラ)という組み合わせであってもよい。このような場合、第3の装置では、静止画像(又は低フレームレート画像)をフレーム補間して動画像(又は高フレームレート画像)に変換するための補間フレームの推定処理を行う学習済みモデルの生成を実施することになる。
 また、第1のセンサや第2のセンサは、2次元情報を捕捉するセンサに限定されない。例えば、第1のセンサがRGBカメラであるのに対し、第2のセンサは、IRセンサ、測距センサ、深度センサ、オーディオセンサ(マイクなど)、温度センサ、振動センサ、風センサ、DVS(Dynamic Vision Sensor)などであってもよい。このような場合、第3の装置では、自然画像などの2次元情報から、距離、3次元空間、オーディオ、温度、振動、風、神経的認知イベント(neuromorphic perception event)などを推定するための学習済みモデルの生成を実施することになる。
 なお、以下では、便宜上、第3の装置に学習データを提供するユーザの端末(図1中のセンサデバイスに相当)を第1の装置と呼び、第3の装置により学習された学習済みモデルに関するサービスの結果物の提供を受けるユーザの端末のことを第2の装置と呼ぶことにする。第2の装置は、場合によっては、第2の装置に学習データを提供する第1の装置として振る舞うこともある。
 図2には、第1の実施例に係る人工知能センサシステムの動作シーケンス例を模式的に示している。人工知能センサシステムは現実には図1に示した構成であるが、図2では、簡素化のため、学習データとしてのセンサ情報を提供する第1の装置201と、第1の装置201から提供されたセンサ情報に基づいてモデルの学習を行い、学習済みモデルを生成する第3の装置203と、第3の装置203から学習済みモデルを利用したサービスの結果物が提供される第2の装置202からなる。第1の実施例において、サービスの結果物は、第2の装置202が要求する学習済みモデルである。第3の装置203は、第2の装置202の要求に該当する学習済みモデルを、サービスの結果物として提供する。
 第1の装置201は、スマートフォンやタブレット、PC、デジタルカメラといったユーザの端末や、IoTデバイス、監視カメラ、定点カメラなどの定点観測装置、移動体装置、人工衛星などさまざまである。また、第2の装置202は、スマートフォンやタブレット、PC、デジタルカメラといったユーザの端末を想定している。また、第3の装置203は、大規模な学習データ数及びノード(ニューロン)数で深層学習を行うことを想定して、例えばクラウド上に設置された人工知能サーバ(前述)で構成される。第3の装置は、外部からの学習済みモデル要求に対して学習済みモデルを返信する学習済みモデル提供サーバとしても動作する。第1の装置201と第3の装置203の間、並びに第3の装置203と第2の装置202の間は、それぞれインターネットなどのネットワーク経由で相互接続されていることを想定している。但し、接続の形態は特に限定されないものとする。
 第1の装置201は、第1のセンサと第2のセンサのうち少なくとも一方を備え、学習データとしてのセンサ情報を第3の装置203に提供する。図2では簡素化のため、1台の第1の装置201しか描いていないが、第1のセンサを装備して第1のセンサ情報を学習データとして提供する第1の装置及び第2のセンサを装備して第2のセンサ情報を教師データとして提供する第1の装置がそれぞれ無数存在することを想定している。
 第3の装置203は、センサ情報を推定するための学習済みモデルの生成を行う。説明の便宜上、第3の装置203は、第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルの生成を行うものとする。また、第3の装置203は、学習済みモデルに基づくサービスの結果物として、第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルを第2の装置202に提供する。
 そして、第2の装置202は、第1のセンサを装備し(第2のセンサは装備しない)、第3の装置203により生成された学習済みモデルに関するサービスの結果物の提供を受けて、第1のセンサでセンシングされる第1のセンサ情報に対応する第2のセンサ情報を利用することが可能となる。図2では簡素化のため、1台の第2の装置202しか描いていないが、第3の装置203から学習済みモデルに基づくサービスの結果物として、学習済みモデルが提供される第2の装置が複数存在していてもよい。
 なお、第1のセンサと第2のセンサの関係は、基本的には上述した説明に従うものとし、ここでは詳細な説明を省略する。
 図2を参照すると、第3の装置203は、第1の装置201に対して、センサ情報を要求する(SEQ201)。これに対し、第1の装置201は、第1のセンサを搭載している場合には第1のセンサ情報を返信し、第2のセンサを搭載している場合には、第2のセンサ情報を返信する(SEQ202)。
 第3の装置203は、SEQ201におけるセンサ情報要求を、特定のアドレスに宛てたユニキャスト通信又はマルチキャスト通信、あるいは不特定のアドレスに宛てたブロードキャスト通信など、いずれの形式で行うようにしてもよい。また、センサ情報要求には、要求するセンサの種別(第1のセンサ又は第2のセンサのいずれであるか)やセンサの仕様情報(メーカ名、型式、性能(解像度、フレームレート)など)、センシング環境(センサ情報を取得した場所や日時、天候など)など、所望のセンサ情報を指定するメタ情報を含んでいてもよい。
 もちろん、第3の装置203は、SEQ201では、特にセンサ情報を指定しないでセンサ情報の要求を送信し、より多くの第1の装置201からあまねくセンサ情報を収集した後、第3の装置203内で収集したセンサ情報を取捨選択又は分類するようにしてもよい。センサ情報は、メタ情報により検索可能となるようにデータベースで管理されていることが好ましい。データベースに格納されるデータは、ブロックチェーンの技術を用いて、ブロック単位で分割され、ハッシュデータを付加して分散管理されるようにしてもよい。
 一方、第1の装置201は、SEQ201で受信したセンサ情報要求が自分のアドレス宛てでない場合には、この要求を廃棄して、センサ情報を返信しないようにしてもよい。また、第1の装置201は、自分宛てのセンサ情報要求、あるいはマルチキャスト又はブロードキャストされたセンサ情報要求を受信した場合であって、センサ情報を指定するメタ情報が含まれている場合には、そのメタ情報で指定された条件を満たすセンサ情報のみをSEQ202で返信するようにしてもよい。また、第1の装置201は、SEQ202において、センサの種別(第1のセンサ又は第2のセンサのいずれであるか)やセンサの仕様情報(メーカ名、型式、性能(解像度、フレームレート)など)、センシング環境(センサ情報を取得した場所や日時、天候など)などを示すメタ情報を付けて、センサ情報を返信するようにしてもよい。
 なお、図2に示す動作シーケンス例では、第1の装置201は、第3の装置203からの要求ベースでセンサ情報を返信するが、要求の有無に拘わらず自律的にセンサ情報を第3の装置203に送信するようにしてもよい。例えば、第1の装置201は、所定の周期毎、あるいは時間の経過や装置の設置場所の移動などによってセンサ情報が変化したときに、センサ情報を第3の装置203に送信するようにしてもよい。
 第3の装置203は、無数の第1の装置201とのセンサ情報要求(SEQ201)とセンサ情報返信(SEQ202)のシーケンスに従って、学習データとしての膨大量の第1のセンサ情報及び第2のセンサ情報を収集する。そして、第3の装置203は、第1の装置201から収集したこれらのセンサ情報を学習データとして、第1のセンサ情報に対応する第2のセンサ情報を推定するための学習済みモデルの生成処理を実施する。ここで、学習済みモデルは人工知能モデルである。本実施例において、人工知能モデルは、ノード(ニューロン)間の結合により形成されるニューラルネットワークで表される。そして、ニューラルネットワークに学習データを入力し、学習(訓練)によってノード(ニューロン)間の結合重み係数を変更することにより、学習済みモデルを生成することができる。第3の装置203は、生成された学習済みモデルを蓄積しておく。
 第3の装置203は、センサ情報要求(SEQ201)とセンサ情報返信(SEQ202)のシーケンスを継続的に行って膨大量の学習データを収集するとともに、学習済みモデルの再学習を適宜行って、最新の学習済みモデルを生成し、保持するようにする。
 第2の装置202は、第1のセンサを装備しているが、第2のセンサを装備していない。第3の装置203は、学習済みモデルを、第2の装置202に提供する。したがって、第2の装置202は、提供された学習済みモデルを利用して、第1のセンサでセンシングされる第1のセンサ情報に対応する第2のセンサ情報を推定することができ、第2のセンサを装備していなくても第2のセンサ情報をも利用することができる。
 再び図2を参照すると、第2の装置202は、第3の装置201に対して学習済みモデルを要求する(SEQ203)。これに対し、第3の装置203は、要求された学習済みモデルを、第2の装置202に返信する(SEQ204)。したがって、第2の装置202は、第3の装置203との学習済みモデル要求(SEQ203)と学習済みモデル返信(SEQ204)のシーケンスを通じて、いつでも最新の学習済みモデルを第3の装置203から取得することができる。
 第2の装置202は、学習済みモデルを要求する際に、自身が搭載している第1のセンサの種別やセンサの仕様情報、さらには所望する第2のセンサの種別や仕様情報を指定するメタ情報を含んでいてもよい。このような場合、第3の装置203は、第2の装置202がメタ情報によって指定する第1のセンサ及び第2のセンサの組み合わせに適合する学習済みモデルを、第2の装置202に返信するようにすればよい。
 ここで、学習済みモデルは、ニューラルネットワークで表され、学習済みモデルを表現するデータ(以下、「学習済みモデルデータ」とも呼ぶ)は、ニューラルネットワークにおけるノード(ニューロン)の集合、及びノード(ニューロン)間の結合重み係数の集合を含む。第3の装置203は、SEQ204では、学習済みモデルデータのビットストリームを圧縮して、第2の装置202に送信するようにしてもよい。また、圧縮してもビットストリームのサイズが大きいときには、学習済みモデルデータを複数に分割して、複数回に分けて圧縮ビットストリームをダウンロードするようにしてもよい。学習済みモデルデータを分割する際には、ネットワークの層毎、あるいは層内の領域毎に分割するようにしてもよい。
 なお、第2の装置202は、例えば第1のセンサ情報を扱う第2の装置上で動作するアプリケーションから、第1のセンサ情報に対応する第2のセンサ情報の利用要求が発生したことに応答して、第1のセンサ情報から第2のセンサ情報を推定する学習済みモデルの要求を第3の装置203に送信する。第2のセンサ情報の利用要求は、第2の装置202上で動作するアプリケーションにおいて、当該第2の装置202を操作するユーザがユーザインターフェースなどを介してセンサ情報の変換などを指示したことに応じて、第3の装置203に学習済みモデルの要求を送信するようにしてもよい。また、第2の装置202は、第2の装置202上で動作するアプリケーションにおいて、センサ情報を変換してユーザに提示すべき局面を推論し、推論結果に従って第3の装置203に学習済みモデルの要求を送信するようにしてもよい。この場合、第2の装置202は、局面の推論に使用する人工知能を搭載し、その人工知能による推論結果に基づいて、第3の装置203に学習済みモデルの要求を送信するようにしてもよい。あるいは、第3の装置203は、第2の装置202からの要求ベースで学習済みモデルを返信するのではなく、学習済みモデルを提供すべき第2の装置202を自ら推論などに基づいて探索して、最新の学習済みモデルをプッシュ配信するようにしてもよい。
 そして、第2の装置202は、第3の装置203から受信した最新の学習済みモデルを利用して、第2の装置202内の第1のセンサがセンシングした第1のセンサ情報から、第2の装置202内に第2のセンサが搭載されている場合にセンシングすることが想定される第2のセンサ情報を推定する処理を実施する。
 図3には、第1の装置201の機能的構成例を模式的に示している。図示の第1の装置201は、センサ部301と、処理部302と、出力部303と、環境情報取得部304と、機器情報取得部305と、センサ情報格納部306と、要求入力部307と、センサ情報出力部308を備えている。なお、各コンポーネント302~308は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)、GPGPU(General-Purpose computing on GPUs)といったプロセッサ上でプログラムを実行することによって、あるいは実行プログラムと第1の装置201内のハードウェアコンポーネントとの組み合わせによって実現される。
 センサ部301は、第1のセンサと第2のセンサのうち少なくとも一方を含む、1以上のセンサ素子(CMOS(Complementary Metal Oxyde Semiconductor)イメージセンサの場合には、フォトダイオード)やアナログ-デジタル変換(Analog-to-Digital Conversion:ADC)処理回路などで構成される。処理部302は、センサ部301によってセンシングされるセンサ情報の信号処理を行う。例えば、センサ部301がCMOSイメージセンサであり、RGBカメラを含む場合には、処理部302は、RGBカメラから出力された画像信号の変換処理(例えば、RAWデータからJPEGやTIFF形式に変換する処理)を行う。
 出力部303は、処理部302で信号処理後のセンサ情報を処理するアプリケーションからなる。例えば、センサ部301がRGBカメラを含む場合、出力部303は、処理部302が処理して出力したセンサ情報であるRGBデジタルデータに基づき、デジタルイメージ記録を行うカメラアプリケーションを含むことができる。また、出力部303は、センサ情報をユーザに提示する液晶ディスプレイなどのデバイスを含んでいてもよい。
 環境情報取得部304は、センサ部301がセンサ情報を取得した際の場所や日時、天候などのセンシング環境を取得する機能を有する。環境情報取得部304は、例えばGPS(Global Positioning System)やIMU(Inertial Measurement Unit)、時計、寒暖計、湿度計などのセンサを含んでいてもよい。また、環境情報取得部304は、天候や時刻などの一部のセンシング環境の情報をネットワーク経由で外部から取得するようにしてもよい。
 機器情報取得部305は、センサ部301が装備する第1のセンサ又は第2のセンサに関する仕様情報(メーカ名、型式、性能(解像度、フレームレート)など)を含む、第1の装置201自身の機器情報を取得する機能を有する。機器情報取得部305は、機器情報を格納するROM(Read Only Memory)を備え、そのROMから必要な機器情報を適宜読み出すようにしてもよい。
 センサ情報格納部306は、センサ部301に含まれるセンサによるセンシングしたセンサ情報(RAWデータ)又は、処理部302により所定の信号処理を施した後のセンサ情報(例えばJPEGデータやTIFFデータ)を格納する。本実施形態では、センサ部301が第1のセンサと第2のセンサのうち少なくとも一方を含むことを想定しているので、センサ情報格納部306は、第1のセンサからの第1のセンサ情報、又は第2のセンサからの第2のセンサ情報のうち少なくとも一方を格納する。また、センサ情報格納部306は、環境情報取得部304及び機器情報取得部305の各々から供給される、センサの種別やセンサの仕様情報、並びにセンシング情報と対応付けて、センサ情報を格納するようにしてもよい。
 要求入力部307は、第3の装置203からのセンサ情報要求を入力する。そして、センサ情報出力部308は、センサ情報要求に応答して、センサ情報格納部306から第1のセンサ情報又は第2のセンサ情報を読み出して、第3の装置203に返信する。
 但し、要求入力部307は、入力したセンサ情報要求が当該第1の装置201のアドレス宛てでない場合には、そのセンサ情報要求を破棄する。また、要求入力部307が入力したセンサ情報要求に、センサ種別やセンサ仕様を指定するメタ情報が付けられている場合には、センサ情報出力部308は、そのメタ情報で指定された条件を満たすセンサ情報をセンサ情報格納部306から読み出して、第3の装置203に返信する。なお、メタ情報で指定された条件を満たすセンサ情報がセンサ情報格納部306に格納されていない場合には、センサ情報出力部308は、指定された条件に一致し又は近似するセンサ情報を第3の装置203に返信するか、又はセンサ情報要求を破棄するようにしてもよい。また、センサ情報出力部308は、センサの種別やセンサの仕様情報、並びにセンシング環境を示すメタ情報を付けて、センサ情報を返信するようにしてもよい。
 図4には、第3の装置203の機能的構成例を模式的に示している。図示の第3の装置203は、データ収集部401と、センサ情報蓄積部402と、学習済みモデルを生成するモデル生成部403と、センサ情報読み出し部404と、学習済みモデルを蓄積するモデル蓄積部405と、要求入力部406と、学習済みモデルを出力するモデル出力部407を備えている。なお、各コンポーネント401~407は、CPUやGPU、GPGPUといったプロセッサ上でプログラムを実行することによって、あるいは実行プログラムと第3の装置203内のハードウェアコンポーネントとの組み合わせによって実現される。
 データ収集部401は、学習済みモデルの生成並びに再学習に使用する学習データの収集処理を実施する。具体的には、データ収集部401は、無数の第1の装置201にセンサ情報要求を送信して、各第1の装置201から返信される第1のセンサ情報又は第2のセンサ情報を受信して、これらを学習データとしてセンサ情報蓄積部402に格納する。第1の装置201に送信するセンサ情報要求に、センサ種別やセンサ仕様を指定するメタ情報を付けてもよい。
 但し、センサ情報要求を送信することなく、第1の装置201から定期的又は不定期にセンサ情報がプッシュ配信されることも想定されるが、この場合もデータ収集部401は受信処理して、センサ情報蓄積部402に格納する。
 また、第1の装置201から送信されるセンサ情報に、センサの種別やセンサの仕様情報、並びにセンシング環境を示すメタ情報が付けられている場合がある。データ収集部401は、第1の装置201から収集したセンサ情報を、センサの種別やセンサの仕様情報、並びにセンシング環境と対応付けて、センサ情報蓄積部402に格納するようにする。
 センサ情報読み出し部404は、センサ情報蓄積部402から学習データとなる第1のセンサ情報及び第2のセンサ情報を読み出して、モデル生成部403に供給する。但し、センサ情報読み出し部404は、センサ情報の読み出しの際、センシング環境が一致し又は近似する第1のセンサ情報と第2のセンサ情報の組み合わせをペアリングしてセンサ情報蓄積部402から読み出して、モデル生成部403へ供給する。何故ならば、センシング環境が一致し又は近似する第2のセンサ情報が、教師データとして相応しいからである(後述)。
 モデル生成部403は、センサ情報読み出し部404から渡されたセンサ情報を学習データに用いて、第1のセンサ情報に対応する第2のセンサ情報を推定する処理を行う人工知能の学習を実施する。ここで、人工知能はニューラルネットワークで表される学習済みモデルを利用することを想定している。そして、モデル生成部403は、ノード(ニューロン)間の結合重み係数を変化させながら、第1のセンサ情報に対応する第2のセンサ情報を推定できるノード(ニューロン)間の結合重み係数からなるニューラルネットワークを学習済みモデルとして生成すると、モデル蓄積部405に格納する。
 なお、第1のセンサや第2のセンサが、仕様や性能毎にさらに細かく分類される場合がある。そこで、モデル生成部403は、仕様や性能の組み合わせ毎に学習済みモデルの生成を実施するようにしてもよい。この場合、センサ情報読み出し部404は、モデル生成の対象とする仕様や性能に対応する第1のセンサ情報及び第2のセンサ情報を読み出して、モデル生成部403は、仕様や性能の組み合わせ毎に学習済みモデルの生成を実施する。そして、モデル蓄積部405は、仕様や性能の組み合わせ毎の学習済みモデルを蓄積する。
 要求入力部406は、第2の装置202からの学習済みモデルの要求を入力する。そして、モデル出力部407は、学習済みモデルの要求に対応する学習済みモデルを、モデル蓄積部405から選択的に読み出して、第2の装置202に返信する。
 第2の装置202からの学習済みモデルの要求には、その第2の装置202が搭載している第1のセンサの種別やセンサの仕様情報、さらには所望する第2のセンサの種別や仕様情報を指定するメタ情報が含まれる場合がある。このような場合、モデル出力部407は、第2の装置202が指定する第1のセンサ及び第2のセンサの組み合わせに適合する学習済みモデルをモデル蓄積部405から選択的に読み出して、要求元の第2の装置202に返信するようにすればよい。
 また、モデル出力部407は、学習済みモデルデータのビットストリームを圧縮して、第2の装置202に送信するようにしてもよい。また、圧縮してもビットストリームのサイズが大きいときには、学習済みモデルデータを複数に分割して、複数回に分けて圧縮ビットストリームを送信するようにしてもよい。学習済みモデルデータを分割する際には、ネットワークの層毎、あるいは層内の領域毎に分割するようにしてもよい。
 図5には、モデル生成部403が学習済みモデルを生成する仕組みを図解している。
 モデル生成部403は、人工知能モデルとしてニューラルネットワーク501を備えている。ニューラルネットワーク501に第1のセンサ情報及び第2のセンサ情報を入力して人工知能モデルの学習を行うことにより、第1のセンサ情報に対応する第2のセンサ情報を推定することができる学習済みモデルとして、ノード(ニューロン)間の結合重み係数からなるニューラルネットワーク501を生成する。また、モデル生成部403は、ニューラルネットワーク501の出力と教師データとの比較を行う比較部502をさらに備えている。学習済みの結合重み係数からなるニューラルネットワーク501は、モデル生成部403で生成された学習済みモデルとして、モデル蓄積部405に格納される。
 また、センサ情報読み出し部404は、センサ情報蓄積部402から第1のセンサ情報及び第2のセンサ情報をペアリングして読み出して、モデル生成部403に供給する。センサ情報読み出し部404は、センサ情報の読み出しの際、センシング環境が一致し又は近似する第1のセンサ情報と第2のセンサ情報の組み合わせをペアリングしてセンサ情報蓄積部402から読み出して、モデル生成部403へ供給する。例えば、第1のセンサ情報がRGB画像で第2のセンサ情報がIR画像の場合、同じ場所で(又は、同じ被写体を)、日時や天候などがより近似している状況で捕捉されたIR画像が、RGB画像から推定したIR画像を評価する教師データとして相応しい。このような観点から、センサ情報読み出し部404は、教師データとなる第2のセンサ情報を第1のセンサ情報とペアリングして、センサ情報蓄積部402からの読み出しを行う。
 ニューラルネットワーク501は、センサ情報読み出し部404から供給された第1のセンサ情報から、第2のセンサ情報を推定する。そして、比較部502は、ニューラルネットワーク501が推定した第2のセンサ情報と、センサ情報読み出し部404が第1のセンサ情報と組み合わせて読み出した第2のセンサ情報とを比較する。すなわち、第1のセンサ情報と対となる第2のセンサ情報を教師データとして、この教師データとニューラルネットワーク501が推定した第2のセンサ情報との差分に基づく損失関数を定義する。そして、損失関数が最小となるように、バックプロパゲーション(誤差逆伝播法)によりニューラルネットワーク501の学習を実施する。学習済みのノード(ニューロン)間の結合重み係数からなるニューラルネットワーク501は、モデル生成部403によって生成された学習済みモデルとしてモデル蓄積部405(図5では図示を省略)に格納される。
 なお、第3の装置203がクラウド上にサーバとして設置されることを想定した場合、図4に示した機能コンポーネント401~407がすべて単一のサーバ装置内で実装されているとは限らない。例えば学習データを収集し蓄積する機能と、蓄積された学習データを利用して学習済みモデルを生成する機能が、それぞれ異なるサーバ装置上に配置されることも想定される。
 図10には、第3の装置203において学習済みモデルを生成するための処理手順をフローチャートの形式で示している。第3の装置203は、この処理手順を開始する前に、多数の第1の装置201から膨大な学習データをあらかじめ収集して、センサ情報蓄積部402内に蓄積しているものとする。
 まず、モデル生成部403は、対象とする第1のセンサと第2のセンサを特定する(ステップS1001)。ここでは、単純にセンサの種別を特定するだけでもよいが(例えば、第1のセンサをRGBカメラ、第2のセンサをIRカメラとする)、各センサの仕様情報(メーカ名、型式、性能(解像度、フレームレート)など)をさらに詳細に特定するようにしてもよい。
 そして、モデル生成部403は、センサ情報読み出し部404に対し、ステップS1001で特定した第1のセンサと第2のセンサの組み合わせに関して、第1のセンサ情報と第2のセンサ情報のペアの読み出しを要求する。センサ情報読み出し部404は、この読み出し要求に応答して、センサ情報蓄積部402から該当するセンサ情報の読み出しを試みる(ステップS1002)。
 ペアとなる第1のセンサ情報と第2のセンサ情報の組み合わせは、一致し又は近似するセンシング環境の第1のセンサ及び第2のセンサでセンシングされた第1のセンサ情報と第2のセンサ情報の組み合わせのことである。センシング環境は、センサ情報を取得した場所や日時、天候などを含む。同じ場所で同じ対象物をセンシングした第1のセンサ情報と第2のセンサ情報の組み合わせを用いれば、両センサ情報間の相関関係が明瞭であり、効率的に学習し易いからである。日時や天候(日照条件)など他のセンシング情報も一致し又は近似していれば、さらに効率的に学習することができる。
 ここで、モデル生成部403は、センサ情報読み出し部404がステップS1002において十分な量(例えば、深層学習に十分な量)の学習データをセンサ情報蓄積部402から読み出すことができたかどうかをチェックする(ステップS1003)。
 十分な量の学習データを収集できなかった場合には(ステップS1003のNo)、モデル生成部403は、このタイミングでの学習済みモデルの生成を諦め、後続の処理ステップをすべてスキップして、本処理を終了する。なお、データ収集部401は、不足する学習データを第1の装置201に要求するようにしてもよい。
 また、十分な量の学習データを収集できた場合には(ステップS1003のYes)、モデル生成部403は、学習データとして収集した第1のセンサ情報と第2のセンサ情報のペアを使ってニューラルネットワーク501の学習を実施する(ステップS1004)。
 そして、モデル生成部403は、ニューラルネットワーク501の学習が完了すると、学習済みのノード(ニューロン)間の結合重み係数からなるニューラルネットワーク501を、ステップS1001で特定した第1のセンサ及び第2のセンサの仕様情報と対応付けて、生成された学習済みモデルとしてモデル蓄積部405に蓄積して(ステップS1005)、本処理を終了する。
 図6には、第2の装置202の機能的構成例を模式的に示している。図示の第2の装置202は、センサ部601と、処理部602と、出力部603と、推定部604と、第2の処理部605と、第2の出力部606と、要求出力部607と、学習済みモデル入力部608と、制御部609を備えている。なお、各コンポーネント602~609は、CPUやGPU、GPGPUといったプロセッサ上でプログラムを実行することによって、あるいは実行プログラムと第2の装置202内のハードウェアコンポーネントとの組み合わせによって実現される。
 センサ部601は、第1のセンサを含む1以上のセンサ素子からなる。ここでは説明の簡素化のため、センサ部601は第1のセンサのみを装備しているものとする。処理部602は、センサ部601の第1のセンサによってセンシングされる第1のセンサ情報の信号処理を行う。例えば、第1のセンサがRGBカメラである場合には、処理部602は、RGBカメラから出力された画像信号の現像処理を行う。
 出力部603は、処理部602で信号処理後のセンサ情報を処理するアプリケーションからなる。例えば、センサ部601としての第1のセンサがRGBカメラを含む場合、出力部603は、写真撮影を行うカメラアプリケーションからなる。また、出力部603は、センサ情報をユーザに提示する液晶ディスプレイなどのデバイスを含んでいてもよい。
 推定部604は、学習済みモデル入力部608(後述)に入力された学習済みモデルを利用して、センサ部601としての第1のセンサがセンシングした第1のセンサ情報に対応する第2のセンサ情報を推定する処理を実施する。第1のセンサ情報に対応する第2のセンサ情報は、第2の装置202内に第2のセンサが搭載されていた場合にセンシングすることが想定される第2のセンサ情報である。第2の処理部605は、推定部604から出力される第2のセンサ情報の信号処理を行う。
 なお、センサ部601、処理部602、推定部604、及び第2の処理部605を、例えば積層構造のセンサ素子の各層の回路として構成することもできる。
 第2の出力部606は、第2のセンサ情報を処理するアプリケーションからなる。図6に示す装置構成例では、第2の出力部606は、推定部604で推定した第2のセンサ情報の出力処理を行う。例えば、第2のセンサがIRカメラである場合、第2の出力部606は、IR画像に含まれる熱分布の情報に応じた色分布を示す可視化画像を生成する処理を行う。なお、出力部603と第2の出力部606が、センサ情報を処理する単一のアプリケーション(以下、仮に「センサ処理アプリケーション」とも言う)の動作によって実現することも想定される。また、第2の出力部606は、推定した第2のセンサ情報をユーザに提示する液晶ディスプレイなどのデバイスを含んでいてもよい。
 要求出力部607は、第3の装置203に対して、学習済みモデルを要求する。学習済みモデル入力部608は、第3の装置203から返信される学習済みモデルを受信して、推定部604に設定する。受信した学習済みモデルを推定部604に設定する動作は、例えば、センサ処理アプリケーションが積層構造のセンサ素子中の推定部604に相当する層に転送する処理に相当する。第2の装置202は、第3の装置203との学習済みモデル要求と学習済みモデル返信のシーケンスに従って、いつでも最新の学習済みモデルを第3の装置203から取得することができる(図2を参照のこと)。
 学習済みモデル入力部608は、第3の装置203から送出された、学習済みモデルデータの圧縮ビットストリームを受信する。また、圧縮してもビットストリームのサイズが大きいときには、学習済みモデルデータを複数に分割して、複数回に分けて圧縮ビットストリームをダウンロードする場合がある。学習済みモデル入力部608は、例えばネットワークの層毎あるいは層内の領域毎に分割された単位で、学習済みモデルデータを受信する。そして、学習済みモデル入力部608は、受信した学習済みモデルを、推定部604が使用する学習済みモデルに設定する。学習済みモデルがニューラルネットワークで表される場合、学習済みモデル入力部608は、ノード(ニューロン)の集合及びノード(ニューロン)間の結合重み係数の集合からなる学習済みモデルを受信して、推定部604で使用されるニューラルネットワークにその結合重み係数を設定する。
 なお、要求出力部607は、学習済みモデルを要求する際に、センサ部601に搭載している第1のセンサの種別やセンサの仕様情報、さらには所望する第2のセンサの種別や仕様情報を指定するメタ情報を含んでいてもよい。このような場合、学習済みモデル入力部608は、学習済みモデル要求で指定した第1のセンサ及び第2のセンサの組み合わせに適合する学習済みモデルを、第3の装置203から受信できるものとする。
 制御部609は、要求出力部607の要求動作を制御する。例えば、制御部609は、センサ処理アプリケーション(前述)から、第1のセンサ情報に対応する第2のセンサ情報をユーザに提示したいという要求が発生したことに応答して、要求出力部607に対して学習済みモデルの要求出力を指示して、推定部606に設定するための学習済みモデルの取得動作を起動する。
 あるいは、制御部609は、第2の装置202を操作するユーザからユーザインターフェース(図示しない)などを通じて学習済みモデルのダウンロード(新規又はアップデート)の指示を受け付けると、要求出力部607に対して学習済みモデルの要求出力を指示して、推定部606で使用する学習済みモデルのダウンロードを実施するようにする。また、制御部608は、所定の周期で要求出力部606に対して学習済みモデルの要求出力を指示して、推定部606で使用する学習済みモデルが常に最新の状態を保つようにする。また、制御部609は、センサ部601で取得するセンサ情報などに基づいて、ダウンロードすべきタイミングを推定して、要求出力部606に対して学習済みモデルの要求出力を指示するようにしてもよい。この推定処理に人工知能を利用してもよい。
 また、制御部609は、第2の装置202において第2のセンサ情報が必要となるよりも前に、先読みのために学習済みモデルの要求出力を指示するようにしてもよい。この場合、第2の装置202内に、先読みした学習済みモデルを格納するためのキャッシュメモリ(図示しない)を装備してもよい。また、過去に取得した学習済みモデルを、再利用のためにキャッシュメモリ内に保存しておいてもよい。
 また、制御部609は、第2のセンサのセンサ種別やセンサ仕様を、ユーザからの指示や推定処理に基づいて要求出力を制御するようにしてもよい。この場合、要求出力部607は、制御部609が設定したセンサ種別やセンサ仕様を指定するメタ情報を付けて、学習済みモデル要求を第3の装置203に送信する。
 第2の装置202の使用開始時には、推定部606で使用するニューラルネットワークにおけるノード(ニューロン)間の結合重み係数には、例えば初期値が設定されている。その後、第2の装置202が要求出力部606及び学習済みモデル入力部607を使って第3の装置203との学習済みモデル要求と学習済みモデル返信のシーケンスを実施する度に、推定部606で使用する結合重み係数をアップデートすることができる。
 図7には、第2の実施例に係る人工知能センサシステムの動作シーケンス例を模式的に示している。人工知能センサシステムは現実には図1に示した構成であるが、図7では、簡素化のため、学習データとしてのセンサ情報を提供する第1の装置701と、第1の装置701から提供されたセンサ情報に基づいてモデルの学習を行い、学習済みモデルを生成する第3の装置703と、第3の装置703から学習済みモデルを利用したサービスの結果物が提供される第2の装置702からなる。第2の実施例において、サービスの結果物は、第2の装置702が要求するセンサ情報である。第3の装置703は、学習済みモデルを用いて、第2の装置702から送られてきたセンサ情報から、第2の装置702が要求するセンサ情報を推定して、その推定結果をサービスの結果物として提供する。
 第1の装置701は、スマートフォンやタブレット、PC、デジタルカメラといったユーザの端末や、IoTデバイス、監視カメラ、定点カメラなどの定点観測装置、移動体装置、人工衛星などさまざまである。また、第2の装置702は、スマートフォンやタブレット、PC、デジタルカメラといったユーザの端末を想定している。また、第3の装置703は、大規模な学習データ数及びノード(ニューロン)数で深層学習を行うことを想定して、例えばクラウド上に設置された人工知能サーバ(前述)で構成される。第1の装置701と第3の装置703の間、並びに第3の装置703と第2の装置702の間は、それぞれインターネットなどのネットワーク経由で相互接続されていることを想定している。但し、接続の形態は特に限定されないものとする。
 第1の装置701は、第1のセンサと第2のセンサのうち少なくとも一方を備え、学習データとしてのセンサ情報を第3の装置703に提供する。図7では簡素化のため、1台の第1の装置201しか描いていないが、第1のセンサを装備して第1のセンサ情報を提供する第1の装置及び第2のセンサを装備して第2のセンサ情報を提供する第1の装置がそれぞれ無数存在することを想定している。
 第3の装置703は、センサ情報を推定するための学習済みモデルの生成を行う。説明の便宜上、第3の装置703は、第1のセンサ情報に対応する第2のセンサ情報を推定処理する学習済みモデルの生成を行うものとする。また、第3の装置703は、学習済みモデルに基づくサービスの結果物として、学習済みモデルを用いて推定された第2のセンサ情報を第2の装置702に提供する。
 そして、第2の装置702は、第1のセンサを装備し、第2のセンサは装備しないが、第3の装置703により生成された学習済みモデルに基づくサービスの結果物として、学習済みモデルにより推定された第2のセンサ情報の提供を受けて、第1のセンサでセンシングされる第1のセンサ情報に対応する第2のセンサ情報を利用することが可能となる。図7では簡素化のため、1台の第2の装置702しか描いていないが、第3の装置703から学習済みモデルに基づくサービスの結果物として、学習済みモデルにより推定された第2のセンサ情報が提供される第2の装置が複数存在していてもよい。
 なお、第1のセンサと第2のセンサの関係は、基本的には上述した説明に従うものとし、ここでは詳細な説明を省略する。
 図7を参照すると、第3の装置703は、第1の装置701に対して、センサ情報を要求する(SEQ701)。これに対し、第1の装置701は、第1のセンサを搭載している場合には第1のセンサ情報を返信し、第2のセンサを搭載している場合には、第2のセンサ情報を返信する(SEQ702)。
 第3の装置703は、SEQ701におけるセンサ情報要求を、特定のアドレスに宛てたユニキャスト通信又はマルチキャスト通信、あるいは不特定のアドレスに宛てたブロードキャスト通信など、いずれの形式で行うようにしてもよい。また、センサ情報要求には、要求するセンサの種別(第1のセンサ又は第2のセンサのいずれであるか)やセンサの仕様情報(メーカ名、型式、性能(解像度、フレームレート)など)、センシング環境(センサ情報を取得した場所や日時、天候など)など、所望のセンサ情報を指定するメタ情報を含んでいてもよい。
 もちろん、第3の装置703は、SEQ701では、特にセンサ情報を指定しないでセンサ情報の要求を送信し、より多くの第1の装置701からあまねくセンサ情報を収集した後、第3の装置703内で収集したセンサ情報を取捨選択又は分類するようにしてもよい。センサ情報は、メタ情報により検索可能となるようにデータベースで管理されていることが好ましい。データベースに格納されるデータは、ブロックチェーンの技術を用いて、ブロック単位で分割され、ハッシュデータを付加して分散管理されるようにしてもよい。
 一方、第1の装置701は、SEQ701で受信したセンサ情報要求が自分のアドレス宛てでない場合には、この要求を廃棄して、センサ情報を返信しないようにしてもよい。また、第1の装置701は、自分宛てのセンサ情報要求、あるいはマルチキャスト又はブロードキャストされたセンサ情報要求を受信した場合であって、センサ情報を指定するメタ情報が含まれている場合には、そのメタ情報で指定された条件を満たすセンサ情報のみをSEQ702で返信するようにしてもよい。また、第1の装置701は、SEQ702において、センサの種別(第1のセンサ又は第2のセンサのいずれであるか)やセンサの仕様情報(メーカ名、型式、性能(解像度、フレームレート)など)、センシング環境(センサ情報を取得した場所や日時、天候など)などを示すメタ情報を付けて、センサ情報を返信するようにしてもよい。
 なお、図7に示す動作シーケンス例では、第1の装置701は、第3の装置703からの要求ベースでセンサ情報を返信するが、要求の有無に拘わらず自律的にセンサ情報を第3の装置703に送信するようにしてもよい。例えば、第1の装置701は、所定の周期毎、あるいは時間の経過や装置の設置場所の移動などによってセンサ情報が変化したときに、センサ情報を第3の装置203に送信するようにしてもよい。
 第3の装置703は、無数の第1の装置701とのセンサ情報要求(SEQ701)とセンサ情報返信(SEQ702)のシーケンスに従って、学習データとしての膨大量の第1のセンサ情報及び第2のセンサ情報を収集する。そして、第3の装置703は、第1の装置701から収集したこれらのセンサ情報を学習データとして、第1のセンサ情報に対応する第2のセンサ情報を推定するための学習済みモデルの生成処理を実施する。学習済みモデルがニューラルネットワークで表される場合、第3の装置703は、生成された学習済みモデルを蓄積しておく。
 第3の装置703は、センサ情報要求(SEQ701)とセンサ情報返信(SEQ702)のシーケンスを継続的に行って膨大量の学習データを収集するとともに、学習済みモデルの再学習を適宜行って、最新の学習済みモデルを生成し、を保持するようにする。
 第2の装置702は、第1のセンサを装備しているが、第2のセンサを装備していない。そこで、第2の装置702は、第1のセンサでセンシングした第1のセンサ情報を第3の装置703に送信して、第2のセンサ情報を要求する。これに対し、第3の装置703は、学習済みモデルを利用して、第2の装置702から受信した第1のセンサ情報に対応する第2のセンサ情報を推定して、第2の装置202に提供する。したがって、第2の装置702は、第2のセンサを装備することなく、第2のセンサ情報を利用することができる。
 再び図7を参照すると、第2の装置702は、第3の装置703に対して、自装置内の第1のセンサでセンシングした第1のセンサ情報を付けて、推定要求を送信する(SEQ703)。これに対し、第3の装置703は、学習済みモデルを用いて、第2の装置702から受信した第1のセンサ情報に対応する第2のセンサ情報を推定して、第2の装置702に返信する(SEQ704)。したがって、第2の装置702は、第3の装置203に第1のセンサ情報を送信することによって、いつでも最新の学習済みモデルを利用して推定された第2のセンサ情報を第3の装置203から取得することができる。
 第2の装置702は、第1のセンサ情報を送信する際に、自身が搭載している第1のセンサの種別やセンサの仕様情報、さらには所望する第2のセンサの種別や仕様情報を指定するメタ情報を含んでいてもよい。このような場合、第3の装置703は、第2の装置702がメタ情報によって指定する第1のセンサ及び第2のセンサの組み合わせに適合する学習済みモデルを用いて推定した第2のセンサ情報を、第2の装置702に返信するようにすればよい。
 なお、第2の装置702は、例えば、第1のセンサ情報を扱う第2の装置702上で動作するアプリケーションから、第1のセンサ情報に対応する第2のセンサ情報の利用要求が発生したことに応答して、第3の装置703に第1のセンサ情報を送信して、第2のセンサ情報を要求する。あるいは、当該第2の装置702を操作するユーザがユーザインターフェースなどを介してセンサ情報の変換などを指示したことに応じて、第3の装置703に第2のセンサ情報を要求するようにしてもよい。また、第2の装置702は、センサ情報を変換してユーザに提示すべき局面を推論し、推論結果に従って第3の装置703に第2のセンサ情報を要求するようにしてもよい。この場合、第2の装置702は、第2のセンサ情報の必要性の推論に使用する人工知能を搭載していてもよい。
 いずれにせよ、第2の装置702は、第2の装置702内に第2のセンサが搭載されている場合にセンシングすることが想定される第2のセンサ情報が第3の装置703から提供され、利用することができる。
 第2の実施例における第1の装置701は、基本的には、第1の実施例における第1の装置201と同様の構成でよい(詳しくは、図3、及び図3に関する上記説明を参照されたい)。したがって、ここでは第1の装置701の機能的構成に関して、説明を省略する。
 図8には、第3の装置703の機能的構成例を模式的に示している。図示の第3の装置703は、データ収集部801と、センサ情報蓄積部802と、モデル生成部803と、センサ情報読み出し部804と、モデル蓄積部805と、推定部806と、要求入力部807と、推定結果出力部808を備えている。なお、各コンポーネント801~808は、CPUやGPU、GPGPUといったプロセッサ上でプログラムを実行することによって、あるいは実行プログラムと第3の装置703内のハードウェアコンポーネントとの組み合わせによって実現される。
 データ収集部801は、学習済みモデルの生成並びに再学習に使用する学習データの収集処理を実施する。具体的には、データ収集部801は、無数の第1の装置701にセンサ情報要求を送信して、各第1の装置701から返信される第1のセンサ情報又は第2のセンサ情報を受信して、これらを学習データとしてセンサ情報蓄積部802に格納する。第1の装置701に送信するセンサ情報要求に、センサ種別やセンサ仕様を指定するメタ情報を付けてもよい。
 但し、センサ情報要求を送信することなく、第1の装置701から定期的又は不定期にセンサ情報がプッシュ配信されることも想定されるが、この場合もデータ収集部801は受信処理して、センサ情報蓄積部802に格納する。
 また、第1の装置701から送信されるセンサ情報に、センサの種別やセンサの仕様情報、並びにセンシング環境を示すメタ情報が付けられている場合がある。データ収集部801は、第1の装置701から収集したセンサ情報を、センサの種別やセンサの仕様情報、並びにセンシング環境と対応付けて、センサ情報蓄積部802に格納するようにする。
 センサ情報読み出し部804は、センサ情報蓄積部802から学習データとなる第1のセンサ情報及び第2のセンサ情報を読み出して、モデル生成部803に供給する。但し、センサ情報読み出し部804は、センサ情報の読み出しの際、センシング環境が一致し又は近似する第1のセンサ情報と第2のセンサ情報の組み合わせをペアリングしてセンサ情報蓄積部802から読み出して、モデル生成部803へ供給する。
 モデル生成部803は、センサ情報読み出し部804から渡されたセンサ情報を学習データに用いて、第1のセンサ情報に対応する第2のセンサ情報を推定する処理を行う学習済みモデルの生成を実施する。そして、モデル生成部803は、第1のセンサ情報に対応する第2のセンサ情報を推定できる学習済みモデルを生成すると、モデル蓄積部805に格納する。学習済みモデルがニューラルネットワークで表される場合、学習済みのノード(ニューロン)間の結合重み係数の集合を有するニューラルネットワークが学習済みモデルとしてモデル蓄積部805に格納される。
 なお、第1のセンサや第2のセンサが、仕様や性能毎にさらに細かく分類される場合がある。そこで、モデル生成部803は、仕様や性能の組み合わせ毎に学習済みモデルの生成を実施するようにしてもよい。この場合、センサ情報読み出し部804は、モデル生成の対象とする仕様や性能に対応する第1のセンサ情報及び第2のセンサ情報を読み出して、モデル生成部803は、仕様や性能の組み合わせ毎に学習済みモデルの生成を実施する。そして、モデル蓄積部805は、仕様や性能の組み合わせ毎の学習済みモデルを蓄積する。モデル生成部803が学習済みモデルを生成する仕組みは、図5と同様なので、ここでは詳細な説明を省略する。
 要求入力部807は、第2の装置702から第1のセンサ情報付きの推定要求を入力すると、受信した第1のセンサ情報を推定部806に渡す。推定要求には、第1のセンサのセンサ種別やセンサ仕様、及び推定の対象とする第2のセンサのセンサ種別やセンサ仕様に関するメタ情報が含まれている場合がある。推定部806は、メタ情報で指定された第1のセンサ及び第2のセンサの組み合わせに該当する学習済みモデルをモデル蓄積部805から選択的に読み出す。そして、推定部806は、読み出した学習済みモデルを用いて、第2の装置702から受信した第1のセンサ情報に対応する第2のセンサ情報を推定する。学習済みモデルがニューラルネットワークで表される場合、推定部806は、ノード(ニューロン)間の結合重み係数の集合からなる学習済みモデルをモデル蓄積部804から選択的に読み出して、その結合重み係数を設定したニューラルネットワークを用いて推定処理を行う。推定結果出力部808は、推定部807によって推定された第2のセンサ情報を第2の装置202に返信する。
 第2の装置702からの学習済みモデルの要求には、その第2の装置702が搭載している第1のセンサの種別やセンサの仕様情報、さらには所望する第2のセンサの種別や仕様情報を指定するメタ情報が含まれる場合がある。このような場合、推定部806は、第2の装置202が指定する第1のセンサ及び第2のセンサの組み合わせに適合する学習済みモデルをモデル蓄積部805から選択的に読み出して、第2の装置702から受信した第1のセンサ情報に対応する第2のセンサ情報を推定するようにすればよい。
 なお、第3の装置703がクラウド上にサーバとして設置されることを想定した場合、図4に示した機能コンポーネント801~808がすべて単一のサーバ装置内で実装されているとは限らない。例えば学習データを収集し蓄積する機能と、蓄積された学習データを利用して学習済みモデルを生成する機能が、それぞれ異なるサーバ装置上に配置されることも想定される。
 図9には、第2の装置702の機能的構成例を模式的に示している。図示の第2の装置702は、センサ部901と、処理部902と、出力部903と、要求出力部904と、推定部604と、推定結果入力部905と、制御部906と、第2の処理部907と、第2の出力部908を備えている。なお、各コンポーネント902~908は、CPUやGPU、GPGPUといったプロセッサ上でプログラムを実行することによって、あるいは実行プログラムと第2の装置202内のハードウェアコンポーネントとの組み合わせによって実現される。
 センサ部901は、第1のセンサを含む1以上のセンサ素子からなる。ここでは説明の簡素化のため、センサ部901は第1のセンサのみを装備しているものとする。処理部902は、センサ部901の第1のセンサによってセンシングされる第1のセンサ情報の信号処理を行う。例えば、第1のセンサがRGBカメラである場合には、処理部902は、RGBカメラから出力された画像信号の現像処理を行う。
 出力部903は、処理部902で信号処理後のセンサ情報を処理するアプリケーションからなる。例えば、センサ部901としての第1のセンサがRGBカメラを含む場合、出力部903は、写真撮影を行うカメラアプリケーションからなる。また、出力部903は、センサ情報をユーザに提示する液晶ディスプレイなどのデバイスを含んでいてもよい。
 要求出力部904は、第3の装置703に対して、センサ部901に搭載されている第1のセンサでセンシングした第1のセンサ情報を付けて、推定要求を送信する。第3の装置703からは、第1のセンサ情報に基づいて推定された第2のセンサ情報が返信される。第3の装置703から返信される第2のセンサ情報は、第2の装置202内に第2のセンサが搭載されていた場合に想定される第2のセンサ情報である。
 なお、要求出力部904は、推定要求を送信する際に、センサ部901に搭載している第1のセンサの種別やセンサの仕様情報、さらには所望する第2のセンサの種別や仕様情報を指定するメタ情報を含んでいてもよい。このような場合、第3の装置703からは、学習済みモデル要求で指定した第1のセンサ及び第2のセンサの組み合わせに適合する学習済みモデルを用いて推定した第2のセンサ情報が返信されるものとする。
 推定結果入力部905は、第3の装置703から第2のセンサ情報を受信すると、第2の処理部907に渡す。第3の装置703から受信する第2のセンサ情報は、第2の装置702内に第2のセンサが搭載されていた場合にセンシングすることが想定される第2のセンサ情報である。第2の処理部907は、第2のセンサ情報の信号処理を行う。
 なお、センサ部901、処理部902、及び第2の処理部907を、例えば積層構造のセンサ素子の各層の回路として構成することもできる。
 第2の出力部907は、第2のセンサ情報を処理するアプリケーションからなる。図9に示す装置構成例では、第2の出力部907は、第3の装置703から返信された第2のセンサ情報を処理する。例えば、第2のセンサがIRカメラである場合、第2の出力部907は、IR画像に含まれる熱分布の情報に応じた色分布を示す可視化画像を生成する処理を行う。なお、出力部903と第2の出力部907が、センサ情報を処理する単一のアプリケーション(以下、仮に「センサ処理アプリケーション」とも言う)の動作によって実現することも想定される。
 制御部906は、要求出力部904の要求動作を制御する。例えば、制御部906は、センサ処理アプリケーション(前述)から、第1のセンサ情報に対応する第2のセンサ情報をユーザに提示したいという要求が発生したことに応答して、要求出力部904に対して学習済みモデルの要求出力を指示して、第1のセンサ情報に対応する第2のセンサ情報の取得動作を起動する。
 また、制御部906は、第2のセンサのセンサ種別やセンサ仕様を、ユーザからの指示や推定処理に基づいて要求出力を制御するようにしてもよい。この場合、要求出力部904は、制御部906が設定したセンサ種別やセンサ仕様を指定するメタ情報を付けて、推定要求を第3の装置703に送信する。
 このように、第2の装置702は、自身の第1のセンサでセンシングした第1のセンサ情報を第3の装置703に送信することによって、第1のセンサ情報に対応する第2のセンサ情報も利用可能になる。
 図11には、第3の装置703において、第2の装置702からの推定要求に応じて第1のセンサ情報から推定した第2のセンサ情報を返信するための処理手順をフローチャートの形式で示している。第3の装置703は、この処理手順を開始する前に、多数の第1の装置701から収集した膨大な学習データに基づいて生成した1以上の学習済みモデルをモデル蓄積部805に蓄積していることを想定している。また、第3の装置703内では図10と同様に処理手順に従って学習済みモデルの生成が実施されるものとする。
 要求入力部807が第2の装置702から推定要求を受信すると(ステップS1001のYes)、推定部806は、推定要求に付けられたメタ情報に基づいて、対象とする第1のセンサと第2のセンサを特定する(ステップS1102)。ここでは、単純にセンサの種別を特定するだけでもよいが(例えば、第1のセンサをRGBカメラ、第2のセンサをIRカメラとする)、各センサの仕様情報(メーカ名、型式、性能(解像度、フレームレート)など)をさらに詳細に特定するようにしてもよい。
 そして、推定部806は、モデル蓄積部805に対し、ステップS1102で特定した第1のセンサと第2のセンサの組み合わせに対応する学習済みモデルの読み出しを要求する(ステップS1103)。モデル蓄積部805は、この読み出し要求に応答して、該当する学習済みモデルを検索する。
 ここで、該当する学習済みモデルをモデル蓄積部805から読み出すことができなかった場合(又は、まだ学習が終わっていない場合)には(ステップS1104のNo)、第2の装置702から推定要求された第1のセンサ情報から第2のセンサ情報を推定処理することができないので、後続の処理ステップをすべてスキップして、本処理を終了する。なお、この場合、推定結果出力部808は、要求元の第2の装置702に対して、第2のセンサ情報の推定処理を実施できなかった旨を返信するようにしてもよい。また、推定部806は、第2の装置702から推定要求された第1のセンサと第2のセンサの組み合わせに関する学習済みモデルの生成を、モデル生成部803に要求するようにしてもよい。
 一方、第2の装置702からの推定要求に該当する学習済みモデルをモデル蓄積部805から読み出すことができた場合には(ステップS1104のYes)、推定部806は、その学習済みモデルを用いて、第2の装置702から推定要求に付けて送られてきた第1のセンサ情報に対応する第2のセンサ情報を推定する(ステップS1105)。そして、推定結果出力部808がその推定結果の第2のセンサ情報を要求元の第2の装置702に返信して(ステップS1106)、本処理を終了する。
 第1の実施例及び第2の実施例に係る人工知能センサシステムはいずれも、第1のセンサ情報に対応する第2のセンサ情報を推定するための学習済みモデルを提供する第3の装置が介在し、第2の装置には第3の装置から学習済みモデルを利用したサービスの結果物が提供されるという構成である。これに対し、第3の実施例では、第3の装置は介在せず、第2の装置が自ら学習した学習済みモデルを用いて第2のセンサ情報を推定するように構成されている。
 図12には、第3の実施例に係る人工知能センサシステムの動作シーケンス例を模式的に示している。人工知能センサシステムは現実には図1に示した構成であるが、図12では、簡素化のため、学習データとしてのセンサ情報を提供する第1の装置1201と、提供されたセンサ情報に基づいて学習済みモデルの生成を行うとともに、学習済みモデルを利用する第2の装置1202からなる。
 第1の装置1201は、少なくとも第2のセンサを備え、学習データとしての第2のセンサ情報を第2の装置1202に提供する。一方、第2の装置1202は、第1のセンサを装備している。第2の装置1202は、自装置内でセンシングされた第1のセンサ情報と第1の装置1201から提供される第2のセンサ情報を学習データとして、第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルの生成を行う。また、第2の装置1202は、自装置内で生成した学習済みモデルを用いて、第1のセンサから得られた第1のセンサ情報に対応する第2のセンサ情報の推定を行う。さらに、第2の装置1202は、自装置内で生成した学習済みモデルを、他の装置(図12では、第4の装置1204とする)に提供するようにしてもよい。第4の装置1204は、第1の実施例及び第2の実施例において、外部からサービスの結果物が提供される第2の装置に相当する装置であってもよい。あるいは、第4の装置1204は、第2の装置1202から学習済みモデルを収集し、データベース化して管理する学習済みモデル提供サーバであってもよい。第1の装置1201と第2の装置1202の間、並びに第2の装置1202と第4の装置1204の間は、それぞれインターネットなどのネットワーク経由で相互接続されていることを想定している。但し、接続の形態は特に限定されないものとする。
 なお、第1のセンサと第2のセンサの関係は、基本的には上述した説明に従うものとし、ここでは詳細な説明を省略する。
 図12を参照すると、第2の装置1202は、第1の装置1201に対して第2のセンサ情報を要求する(SEQ1201)。これに対し、第1の装置1201は、自装置で搭載している第2のセンサでセンシングした第2のセンサ情報を返信する(SEQ1202)。
 また、第2の装置1202は、自装置で搭載している第1のセンサから第1のセンサ情報を取得する。したがって、第2の装置1202は、第1の装置1201との間でセンサ情報要求(SEQ1201)及びセンサ情報返信(SEQ1202)のシーケンスを繰り返し実施することで、学習データとしての第1のセンサ情報及び第2のセンサ情報を、繰り返し回数に応じた量だけ収集することができる。
 第2の装置1202は、これらのセンサ情報を学習データとして、第1のセンサ情報に対応する第2のセンサ情報を推定するための学習済みモデルの生成を実施する。ここで、学習済みモデルはノード(ニューロン)間の結合により形成されるニューラルネットワークで表され、ニューラルネットワークにおけるノード(ニューロン)間の結合重み係数を学習(訓練)により変更することにより、学習済みモデルを生成することができる。第2の装置1202は、学習により得られた結合重み係数の集合を有する学習済みモデルを蓄積しておく。
 そして、第2の装置1202は、学習済みモデルを用いて、自装置で搭載している第1のセンサから第1のセンサ情報に対応する第2のセンサ情報を推定することができる。また、第2の装置1202は、第4の装置1204から学習済みモデル要求を受け取ると(SEQ1203)、学習済みモデルを第4の装置1204に返信する(SEQ1204)。
 図13には、第3の実施例に係る人工知能センサシステムの具体例を示している。第1の装置1201は、例えばIRカメラを備えた防犯カメラであり、建造物等に固定して使用される。また、第2の装置1202は、RGBカメラを搭載するスマートフォンやタブレット、デジタルカメラといったユーザの端末であり、任意の場所に移動可能である。また、第4の装置1204は、スマートフォン、タブレット、PC、デジタルカメラなどの情報端末でもよく、第2の装置1202から取得した学習済みモデルを用いて第2センサ情報の推定処理を行う。あるいは、第4の装置1204は、第2の装置1202から学習済みモデルを収集し、データベース化して管理する学習済みモデル提供サーバであってもよい。学習済みモデル提供サーバは、外部からの学習済みモデル要求に対して学習済みモデルを返信する動作を行う。
 第2の装置1202が、第1のセンサ情報に対応する第2のセンサ情報を推定するための学習済みモデルの生成を効率的に行うには、第2の装置1202内の第1のセンサと一致し又は近似するセンシング環境下でセンシングされた第2のセンサ情報が必要である。そこで、図13に示す例では、第2の装置1202としてのスマートフォンのユーザは、第1の装置1201としての監視カメラにスマートフォンを近付けるという手作業によって、一致し又は近似するセンシング環境でセンシングされた第1のセンサ情報及び第2のセンサ情報を取得し易くすることができる。
 第3の実施例における第1の装置1201は、基本的には、第1の実施例における第1の装置201と同様の構成でよい(詳しくは、図3、及び図3に関する上記説明を参照されたい)。したがって、ここでは第1の装置1201の機能的構成に関して、説明を省略する。
 図14には、第2の装置1202の機能的構成例を模式的に示している。図示の第2の装置1202は、センサ部1401と、処理部1402と、出力部1403と、データ収集部1404と、モデル生成部1405と、モデル蓄積部1406と、推定部1407と、第2の処理部1408と、第2の出力部1409と、制御部1410と、学習済みモデル提供部1411を備えている。なお、各コンポーネント1402~1411は、CPUやGPU、GPGPUといったプロセッサ上でプログラムを実行することによって、あるいは実行プログラムと第2の装置1202内のハードウェアコンポーネントとの組み合わせによって実現される。
 センサ部1401は、第1のセンサを含む1以上のセンサ素子からなる。ここでは説明の簡素化のため、センサ部1401は第1のセンサのみを装備しているものとする。処理部1402は、センサ部1401の第1のセンサかによってセンシングされる第1のセンサ情報の信号処理を行う。例えば、第1のセンサがRGBカメラである場合には、処理部1402は、RGBカメラから出力された画像信号の現像処理を行う。
 出力部1403は、処理部1402で信号処理後のセンサ情報を処理するアプリケーションからなる。例えば、センサ部1401としての第1のセンサがRGBカメラである場合、出力部1403は、写真撮影を行うカメラアプリケーションからなる。また、出力部1403は、センサ情報をユーザに提示する液晶ディスプレイなどのデバイスを含んでいてもよい。
 データ収集部1404は、学習済みモデルの生成並びに再学習に使用する学習データの収集処理を実施する。具体的には、ユーザの手作業などによって近接している第1の装置1201にセンサ情報要求を送信して、第1の装置1201から返信される第2のセンサ情報を受信して、モデル生成部1405に渡す。同じ第1の装置1201から複数の学習データを収集したい場合には、データ収集部1404は、第1の装置1201とのセンサ情報要求及びデータ情報返信のシーケンスを複数回繰り返す。第1の装置1201に送信するセンサ情報要求に、センサ種別やセンサ仕様を指定するメタ情報を付けてもよい。
 モデル生成部1405は、データ収集部1404が第1の装置1201から収集した第2のセンサ情報と、同じ時刻にセンサ部1401でセンシングした第1のセンサ情報のペアを学習データとして、第1のセンサ情報に対応する第2のセンサ情報を推定する処理を行う学習済みモデルの生成を実施する。モデル生成部1405は、複数の学習データを蓄積するためのメモリ(図示しない)を備え、このメモリから読み出した学習データに基づいて学習済みモデルの生成を実施するようにしてもよい。学習対象となる人工知能モデルがニューラルネットワークで表される場合、モデル生成部1405は、学習により得られたノード(ニューロン)間の結合重み係数の集合を有する学習済みモデルを生成する。
 モデル生成部1405は、学習済みモデルをモデル蓄積部1406に格納する。モデル蓄積部1406は、学習の対象となった第1のセンサ及び第2のセンサのセンサ種別やセンサ仕様と対応付けて、学習済みモデルを蓄積するようにしてもよい。
 推定部1407は、モデル蓄積部1406から選択的に読み出した学習済みモデルを用いて、センサ部1401の第1のセンサでセンシングそれた第1のセンサ情報に対応する第2のセンサ情報を推定する。モデル蓄積部1406から読み出した学習済みモデルは、上述したように、モデル生成部1405が学習した学習済みモデルである。また、第1のセンサ情報に対応する第2のセンサ情報は、第2の装置1202内に第2のセンサが搭載されていた場合にセンシングすることが想定される第2のセンサ情報である。第2の処理部1408は、推定部1407から出力される第2のセンサ情報の信号処理を行う。
 なお、センサ部1401、処理部1402、推定部1407、及び第2の処理部1408を、例えば積層構造のセンサ素子の各層の回路として構成することもできる。
 第2の出力部1409は、第2のセンサ情報を処理するアプリケーションからなる。図14に示す装置構成例では、第2の出力部1409は、推定部1407で推定した第2のセンサ情報の出力処理を行う。例えば、第2のセンサがIRカメラである場合、第2の出力部1409は、IR画像に含まれる熱分布の情報に応じた色分布を示す可視化画像を生成する処理を行う。なお、出力部1403と第2の出力部1409が、センサ情報を処理する単一のアプリケーション(以下、仮に「センサ処理アプリケーション」とも言う)の動作によって実現することも想定される。
 制御部1410は、推定部1407による第2のセンサ情報の推定動作を制御する。例えば、制御部1410は、センサ処理アプリケーション(前述)から、第1のセンサ情報に対応する第2のセンサ情報をユーザに提示したいという要求が発生したことに応答して、推定部1407に対して第2のセンサ情報の推定処理の実行を指示する。
 学習済みモデル提供部1411は、第4の装置1204への学習済みモデルの提供を行う。すなわち、学習済みモデル提供部1411は、第4の装置1204から学習済みモデル要求を受信すると、モデル蓄積部1406から学習済みモデルを選択的に読み出して、第4の装置1204に返信する。
 第4の装置1204からの学習済みモデルの要求には、所望する第1のセンサ並びに第2のセンサの種別や仕様情報を指定するメタ情報が含まれる場合がある。このような場合、学習済みモデル提供部1411は、第4の装置1204がメタ情報で指定する第1のセンサ及び第2のセンサの組み合わせに適合する学習済みモデルをモデル蓄積部1406から選択的に読み出して、要求元の第4の装置1204に返信するようにすればよい。
 また、学習済みモデル提供部1411は、学習済みモデルデータのビットストリームを圧縮して、第4の装置1204に送信するようにしてもよい。また、圧縮してもビットストリームのサイズが大きいときには、学習済みモデルデータを複数に分割して、複数回に分けて圧縮ビットストリームを送信するようにしてもよい。学習済みモデルデータを分割する際には、ネットワークの層毎、あるいは層内の領域毎に分割するようにしてもよい。
 図15には、モデル生成部1405が学習済みモデルの生成を行う仕組みを図解している。
 モデル生成部1405は、第1のセンサ情報に対応する第2のセンサ情報を推定する処理を行う人工知能として、ニューラルネットワーク1501を備えている。また、モデル生成部1405は、ニューラルネットワーク1501の出力と教師データとの比較を行う比較部1502をさらに備えている
 データ収集部1404は、第1の装置1201から取得した第2のセンサ情報を、モデル生成部1405に供給する。また、第1の装置1201から第2のセンサ情報を取得するタイミングと同期して、センサ部1401の第1のセンサによりセンシングされた第1のセンサ情報が、モデル生成部1405に入力される。
 図13を参照しながら説明したように、第2の装置1202を第1の装置1201に近接させた状態で学習若しくは学習データの取得が実施される。したがって、データ収集部1404及びセンサ部1401からそれぞれモデル生成部1405に入力される第1のセンサ情報及び第2のセンサ情報は、センシング環境(センサ情報を取得した場所や日時、天候など)が一致し又は近似し、ペアリングされた学習データとして扱うことができる。
 ニューラルネットワーク1501は、センサ部1401から供給された第1のセンサ情報から、第2のセンサ情報を推定する。そして、比較部1502は、ニューラルネットワーク1501が推定した第2のセンサ情報と、センサ情報収集部1404が第1の装置1201から収集した第2のセンサ情報とを比較する。すなわち、第1のセンサ情報と対となる第2のセンサ情報を教師データとして、この教師データとニューラルネットワーク1501が推定した第2のセンサ情報との差分に基づく損失関数を定義する。そして、損失関数が最小となるように、バックプロパゲーション(誤差逆伝播法)によりニューラルネットワーク1501の学習を実施する。損失関数が最小となったときのニューラルネットワーク1501におけるノード(ニューロン)間の結合重み係数の集合を有する学習済みモデルがモデル蓄積部1406(図15には図示しない)に格納される。
 図16には、第2の装置1202において学習済みモデルを生成するための処理手順をフローチャートの形式で示している。
 まず、ユーザの手作業などによって近接している第1の装置1201にセンサ情報要求を送信して、データ収集部1401は、第1の装置1201から返信される第2のセンサ情報を収集する(ステップS1601)。
 また、ステップS1601で第1の装置1201から第2のセンサ情報を取得するのと同じ時刻で、センサ部1401の第1のセンサがセンシングした第1のセンサ情報を取得する(ステップS1602)。
 ステップS1601及びS1602で取得した第1のセンサ情報及び第2のセンサ情報は、センシング環境(センサ情報を取得した場所や日時、天候など)が一致し又は近似し、ペアリングされた学習データとして扱うことができる。モデル生成部1405は、これらペアリングされた学習データを内部のメモリなどに格納しておく。
 十分な量の学習データが収集されるまでは(ステップS1603のNo)、ステップS1601に戻って学習データの収集を繰り返す。ステップS1601において、データ収集部1401は、不足する学習データを第1の装置1201に要求するようにしてもよい。
 そして、十分な量の学習データを収集できた場合には(ステップS1603のYes)、モデル生成部1405は、学習データとして収集した第1のセンサ情報と第2のセンサ情報のペアを使ってニューラルネットワーク1501の学習を実施する(ステップS1604)。
 そして、モデル生成部1405は、ニューラルネットワーク1501の学習が完了すると、ノード(ニューロン)間の結合重み係数からなる学習済みモデルを、第1のセンサ及び第2のセンサの仕様情報と対応付けて、モデル蓄積部1406に蓄積して(ステップS1605)、本処理を終了する。
 図17には、第2の装置1202において、センサ処理アプリケーションなどからの推定要求に応じて第2のセンサ情報を推定するための処理手順をフローチャートの形式で示している。第2の装置1202は、この処理手順を開始する前に、センサ部1401の第1のセンサでセンシングした第1のセンサ情報と第1の装置1201から収集した第2のセンサ情報のペアに基づいて学習した学習済みモデルをモデル蓄積部1406に蓄積していることを想定している。
 例えば、制御部1410は、センサ処理アプリケーション(前述)から、第1のセンサ情報に対応する第2のセンサ情報をユーザに提示したいという要求が発生したことに応答して(ステップS1701のYes)、推定部1407に対して第2のセンサ情報の推定処理の実行を指示する。
 推定部1407は、センサ部1401の第1のセンサでセンシングした第1のセンサ情報を取得する(ステップS1702)。また、推定部1407は、第2のセンサ情報の推定に用いる学習済みモデルをモデル蓄積部1406から選択的に読み出すことを試みる(ステップS1703)。
 ここで、該当する学習済みモデルをモデル蓄積部1406から読み出すことができなかった場合(又は、まだ学習が終わっていない場合)には(ステップS1704のNo)、第1のセンサ情報に対応する第2のセンサ情報を推定処理することができないので、後続の処理ステップをすべてスキップして、本処理を終了する。なお、この場合、第2のセンサ情報の推定処理を実施できなかった旨を、第2の出力部1409などを通じてユーザに提示するようにしてもよい。
 一方、該当する学習済みモデルをモデル蓄積部1406から読み出すことができた場合には(ステップS1704のYes)、推定部1407は、その学習済みモデルを用いて、センサ部1401の第1のセンサでセンシングした第1のセンサ情報に対応する第2のセンサ情報を推定する(ステップS1705)。そして、その推定結果を第2の処理部1408で処理した後、第2の出力部808から出力して(ステップS1706)、本処理を終了する。
 図18には、第2の装置1202が外部の装置に学習済みモデルを提供するための処理手順をフローチャートの形式で示している。ここで言う外部の装置は、図12中の第4の装置1204に相当する。外部の装置は、クラウド上に配置される人工知能サーバであってもよい。
 学習済みモデル提供部1411は、第4の装置1204からの学習済みモデル要求を受信すると(ステップS1801のYes)、要求に適合する学習済みモデルをモデル蓄積部1406から選択的に読み出すことを試みる(ステップS1802)。
 ここで、該当する学習済みモデルをモデル蓄積部1406から読み出すことができなかった場合(又は、まだ学習が終わっていない場合)には(ステップS1803のNo)、学習済みモデル提供部1411は、後続の処理ステップをすべてスキップして、本処理を終了する。なお、この場合、学習済みモデル提供部1411は、要求元の第4の装置1204に対して、学習済みモデルを提供できない旨の通知を行うようにしてもよい。
 一方、該当する学習済みモデルをモデル蓄積部1406から読み出すことができた場合には(ステップS1803のYes)、学習済みモデル提供部1411は、その学習済みモデルを要求元の第4の装置1204に返送して、本処理を終了する。
 図19には、第2の装置1202の具体例としてのデジタルカメラ1900の内部構成例を示している。図示のデジタルカメラ1900は、CPU1901と、メインメモリ1902と、RGBイメージセンサ1903と、通信インターフェース(IF)1904と、DMA(Direct Memory Access)コントローラ1905と、GPGPU(又はニューラルネットワークアクセラレータ)1906を備え、各部がシステムバス1907を介して各コンポーネントと相互接続する構成となっている。なお、デジタルカメラ1900は、その他のコンポーネントを備えていてもよいが、図面の簡素化のため、図19では図示を省略している。また、ニューラルネットワークアクセラレータは、CPU1901やGPGPU1906の内部に搭載される1つのプロセッサとして実現してもよい。
 CPU1901は、メインメモリ1902に直接アクセスすることができる。また、メインメモリ1902は、図示しない拡張メモリ又は外部記憶装置とともに仮想記憶又はシェア度メモリ構成することができる。この場合、CPU1901やGPGPU1906は、メインメモリ以外に対してDMAコントローラ1905を介してアクセスすることができる。また、通信インターフェース1904を介して接続する外部デバイスは、DMAコントローラ1905に対してDMA要求を行うことで、メインメモリ1902にアクセスすることができる。
 RGBイメージセンサ1903は、第1のセンサ(又は、汎用センサ)に相当する。RGBイメージセンサ1903は、センサ素子部1903-1と、組み込みDRAM(Dynamic Random Access Memory)1903-2を含んでいる。センサ素子部1903-1は、CCD(Charge Coupled Device)やCMOSなどのセンサ素子と、センサ信号を信号処理する信号処理回路を含む。また、センサ素子部1903-1は、組み込みDRAM1903-2に設定された学習済みモデル(すなわち、学習済みの人工知能モデル)に基づいて、センサ素子部1903-1から得られる本来のセンサ情報(第1のセンサ情報)から、他のセンサ(第2のセンサ)でセンシングされたセンサ情報(第2のセンサ情報)を推定する信号処理を実施することができる。
 GPGPU1906は、汎用目的に使用することができるプロセッシングユニットであるが、ここでは人工知能モデル生成プログラム(ソフトウェア)の一部をCPU1901で動作させるとともにニューラルネットワークの処理に特化した一部をGPGPU1906で動作させることにより、学習済みモデルの生成処理に使用することを想定している。ここで言う学習済みモデルは、RGBイメージセンサ1903でセンシングされるセンサ情報(第1のセンサ情報)に対応する他のセンサ情報を推定する学習済みモデルを指す。また、他のセンサ情報は、具体的には、第2のセンサとしてのIRセンサでセンシングされる第2のセンサ情報である。
 通信インターフェース1904は、有線又は無線のメディアを経由してネットワークと相互接続する機能モジュールである。ここでは、GPGPU1906における学習済みモデルの生成に使用する教師データをネットワーク経由で取得するために、通信インターフェース1904が使用される。また、教師データは、第2のセンサとしてのIRセンサでセンシングされる第2のセンサ情報である。通信インターフェース1904は、例えば人工知能サーバの要求に従い、又はプッシュ式により、学習済みモデルを人工知能サーバに送信する際に使用される。
 GPGPU1906では、通信インターフェース1904を介して取得した第2のセンサ情報と、同じ時刻に第1のセンサとしてのRGBイメージセンサ1903でセンシングした第1のセンサ情報のペアを学習データとして、第1のセンサ情報に対応する第2のセンサ情報を推定する処理を行う学習済みモデルの生成処理を実施する。学習対象となる人工知能モデルがニューラルネットワークで表される場合、GPGPU1906は、その人工知能モデルに基づいて学習済みモデルを生成した結果として、学習済みのノード(ニューロン)間の結合重み係数の集合を得る。そして、GPGPU1906は、生成された学習済みモデルを、DMAコントローラ1905の介在によりメインメモリ1902に格納する。なお、学習済みモデルを生成する仕組みについては、図15を参照しながら既に説明したので、ここでは詳細な説明を省略する。
 CPU1901は、RGBイメージセンサ1903に対して、第1のセンサ情報としてのRGBイメージ画像に対応する第2のセンサ情報としてのIRイメージ情報の推定を要求する。この推定要求が発生すると、DMAコントローラ1904の介在により、メインメモリ1902に格納されている学習済みモデルがRGBイメージセンサ1903に転送され、組み込みDRAM1903-2に書き込まれる。この場合、センサ素子部1903-1は、組み込みDRAM1903-2に設定された学習済みモデルに基づいて、センサ素子部1903-1から得られる本来のセンサ情報(第1のセンサ情報)から、他のセンサ(第2のセンサ)でセンシングされたセンサ情報(第2のセンサ情報)を推定する信号処理を実施する。
 また、通信インターフェース1904が第4の装置1204からの学習済みモデル要求を受信した場合、メインメモリ1902に格納されている学習済みモデルは、DMAコントローラ1905の介在により通信インターフェース1904に転送され、通信インターフェース1904では要求元の第4の装置1204への学習済みモデルの返送処理が実施される。
 図20には、第2の装置1202の他の具体例としてのデジタルカメラ2000の内部構成例を示している。図示のデジタルカメラ2000は、CPU2001と、メインメモリ2002と、RGBイメージセンサ2003と、IRイメージセンサ2004と、通信インターフェース2005と、DMAコントローラ2006と、GPGPU(又はニューラルネットワークアクセラレータ)2007を備え、各部がシステムバス2008を介して各コンポーネントと相互接続する構成となっている。なお、デジタルカメラ2000は、その他のコンポーネントを備えていてもよいが、図面の簡素化のため、図20では図示を省略している。また、ニューラルネットワークアクセラレータは、CPU201やGPGPU2007の内部に搭載される1つのプロセッサとして実現してもよい。
 CPU2001は、メインメモリ2002に直接アクセスすることができる。また、メインメモリ2002は、図示しない拡張メモリ又は外部記憶装置とともに仮想記憶又はシェア度メモリ構成することができる。この場合、CPU20091やGPGPU2007は、メインメモリ以外に対してDMAコントローラ2006を介してアクセスすることができる。また、通信インターフェース2005を介して接続する外部デバイスは、DMAコントローラ2006に対してDMA要求を行うことで、メインメモリ2002にアクセスすることができる。
 RGBイメージセンサ2003は、第1のセンサ(又は、汎用センサ)に相当する。RGBイメージセンサ2003は、センサ素子部2003-1と、組み込みDRAM2003-2を含んでいる。センサ素子部2003-1は、CCDやCMOSなどのセンサ素子と、センサ信号を信号処理する信号処理回路を含む。また、センサ素子部2003-1は、組み込みDRAM2003-2に設定された学習済みモデルに基づいて、センサ素子部2003-1から得られる本来のセンサ情報(第1のセンサ情報)から、他のセンサ(第2のセンサ)でセンシングされたセンサ情報(第2のセンサ情報)を推定する信号処理を実施することができる。
 IRイメージセンサ2004は、第2のセンサ(又は、特化センサ)に相当する。IRイメージセンサ2004は、センサ素子部2004-1と、組み込みDRAM2004-2を含んでいる。センサ素子部2004-1は、センサ素子と、センサ信号を信号処理する信号処理回路を含む。また、信号処理後のセンサ情報(第2のセンサ情報)は、組み込みDRAM2004-2に書き込まれ、さらにDMAコントローラ2006の介在によりメインメモリ2002に転送される。
 GPGPU2007は、汎用目的に使用することができるプロセッシングユニットであるが、ここでは人工知能モデル生成プログラム(ソフトウェア)の一部をCPU2001で動作させるとともにニューラルネットワークの処理に特化した一部をGPGPU2007で動作させることにより、学習済みモデルの生成処理に使用することを想定している。ここで言う学習済みモデルは、RGBイメージセンサ2003でセンシングされるセンサ情報(第1のセンサ情報)に対応する他のセンサ情報を推定する学習済みモデルを指す。また、他のセンサ情報は、具体的には、第2のセンサとしてのIRイメージセンサ2004でセンシングされる第2のセンサ情報である。
 GPGPU2007では、第2のセンサとしてのIRイメージセンサ2004でセンシングした第2のセンサ情報と、同じ時刻に第1のセンサとしてのRGBイメージセンサ2003でセンシングした第1のセンサ情報のペアを学習データとして、第1のセンサ情報に対応する第2のセンサ情報を推定する処理を行う学習済みモデルの生成を実施する。学習対象となる人工知能モデルがニューラルネットワークで表される場合、GPGPU2007は、その人工知能モデルに基づいて学習済みモデルを生成した結果として、学習済みのノード(ニューロン)間の結合重み係数の集合を得る。そして、GPGPU2007は、生成された学習済みモデルを、DMAコントローラ2006の介在によりメインメモリ2002に格納する。デジタルカメラ2000は、RGBイメージセンサ2003とともにIRイメージセンサ2004も装備しており、学習に必要な学習データを常時取得することができる。したがって、GPGPU2007において学習済みモデルの再学習を繰り返し実施することができ、精度の高い学習済みモデルを生成することができる。なお、学習済みモデルを生成する仕組みについては、図15を参照しながら既に説明したので、ここでは詳細な説明を省略する。
 通信インターフェース2005は、有線又は無線のメディアを経由してネットワークと相互接続する機能モジュールである。通信インターフェース2005が第4の装置1204から学習済みモデル要求を受信した場合、メインメモリ1902に格納されている学習済みモデルは、DMAコントローラ2006の介在により通信インターフェース2005に転送され、通信インターフェース2005では要求元の第4の装置1204への学習済みモデルの返送処理が実施される。
 第1乃至第3の実施例で述べてきたように、本開示に係る技術は、多様な形態で実施することができる。もちろん、上記実施例は例示に過ぎないことは言うまでもなく、2以上の実施例の形態を組み合わせ、又は一部を改変することにより、さらに多くの形態で本開示に係る技術を実施可能であるという点を十分理解されたい。
 以下では、本開示に係る技術の第4の実施例として、オプティカルフローの解析機能を有するセンサの機能を学習の対象とする実施例について説明する。なお、オプティカルフローは画像中の物体の動きをベクトルで表したものである。
 図21には、第4の実施例に係る人工知能センサシステムの動作シーケンス例を模式的に示している。図示の人工知能センサシステムは、第1の装置2101-1並びに2101-2と、第2の装置2102と、第3の装置2103からなり、各装置は第1の実施例の説明で参照した図2中のそれぞれ同名の装置に相当する(基本的に、第1の装置2101-1並びに2101-2は図3に示した装置構成を備え、第2の装置2102は図5に示した装置構成を備え、第3の装置2103は図4に示した装置構成を備える)。但し、図21では、第4の実施例でもたらされる効果を明確にするために、図2中の第1の装置201を、学習データとしての第1のセンサ情報を提供する第1の装置2101-1と、教師データとしての第2のセンサ情報を提供する第1の装置2101-2を別々に描いている。また、第3の装置2103は、第1の装置2101-1並びに2101-2から提供された第1のセンサ情報及び第2のセンサ情報に基づいて学習済みモデルの生成を行い、学習済みモデルを利用したサービスの結果物が第3の装置2103から第2の装置2102に提供される点は、第1の実施例と同様である。
 図22には、第3の装置2103が2つの第1の装置2101-1及び2101-2からセンサ情報を取得して学習済みモデルを生成する仕組みを示している。
 第1の装置2101-1は、センサ部2201としてイメージセンサを装備し、センサ部2201の1000fps(frame per second)からなるRGB出力を第1のセンサ情報(学習データ)として、第3の装置2103に供給する。また、第1の装置2101-2のセンサ部2202は、イメージセンサ及び画像解析プロセッサを装備している。画像解析プロセッサは、イメージセンサの出力を30fpsで読み出してオプティカルフローを計算して、第2のセンサ情報(教師データ)として、第3の装置2103に供給する。オプティカルフローの計算は、ブロックマッチング法、勾配法、Lucas-Kanade(LK)法などを用いて実装することができ、ハードウェアの回路又はプロセッサ上で動作するコンピュータプログラムとして実現することができる。
 第2の装置2103は、データ提供部2203において、無線又は有線通信機能を有する通信モジュール(図示しない)、データを蓄積するメモリ機能を有する記憶装置(図示しない)、記憶装置に対するデータ読み書きを行うメモリコントローラとしての制御装置(図示しない)を備えることにより、第1の装置2101-1からの第1のセンサ情報並びに第1の装置2101-2からの第2のセンサ情報を通信によって受信し、記憶装置に格納し、第1のセンサ情報及び第2のセンサ情報を同期してモデル生成部2204に提供することができる。具体的には、データ提供部2203は、記憶装置から読み出されたコンピュータプログラムをCPUなどのプロセッサ(図示しない)上で動作させることにより、第1のセンサ情報及び第2のセンサ情報を、あらかじめ決められたタイミングで、制御装置を通じて記憶装置から読み出すように構成されている。本実施例では、データ提供部2203は、第1の装置2101-1からは1000fpsのタイミングで新たな第1のセンサ情報を取得するとともに、第1の装置2101-2からは30fpsのタイミングで新たに第2のセンサ情報を取得している。第1のセンサ情報と第2のセンサ情報を同期させるためには、少なくとも以下の2通りの方法が挙げられる。
(1)より速いフレームレートである第1のセンサ情報のデータフレームの受信タイミングで同期をとる方法:第1のセンサ情報のフレームレートである1000fpsのタイミングでデータを読み出すため、そのタイミングで受信した第2のセンサ情報以外については、その直前に受信し、記憶装置に書き込まれた第2のセンサ情報を繰り返し読み出す。
(2)より遅いフレームレートである第2のセンサ情報のデータフレームの受信タイミングで同期をとる方法:第2のセンサ情報のフレームレートである30fpsのタイミングでデータを読み出すため、そのタイミングで受信した第1のセンサ情報はそのまま読み出し、それ以外のタイミングで受信した第1のセンサ情報は読み出さない。
 第3の装置2103は、さらにモデル生成部2204を備えている。モデル生成部2204は、人工知能としてニューラルネットワーク2205を備えている。データ提供部2203は、いずれかの方法により同期させて、第1のセンサ情報と第2のセンサ情報をニューラルネットワーク2205に入力して、人工知能の学習を実施する。これによって、第1のセンサ情報に対応する第2のセンサ情報を推定する処理を行うことができる学習済みモデルとして、ノード(ニューロン)間の結合重み係数からなるニューラルネットワーク2205が生成される。
 また、モデル生成部2204は、ニューラルネットワーク2205の出力と教師データとしての第2のセンサ情報との比較を行う比較部2206をさらに備えている。比較部2206は、ニューラルネットワーク2205が推定した第2のセンサ情報と、データ提供部2203を介して入力される教師データとしての第2のセンサ情報とを比較する。そして、ニューラルネットワーク2205が推定した第2のセンサ情報と教師データとの差分に基づく損失関数を定義し、この損失関数が最小となるようにバックプロパゲーション(誤差逆伝播法)によりニューラルネットワーク2205の学習を実施する。損失関数が最小となったときのニューラルネットワーク2205におけるノード(ニューロン)間の結合重み係数の集合を有する学習済みモデルが、第3の装置2103内のモデル蓄積部(図示しない)に格納される。
 図23には、ニューラルネットワーク2205の一例を示している。ニューラルネットワーク2205は、入力層2301と、隠れ層2302と、出力層2303からなる。ここでは、イメージセンサのピクセル(画素)サイズをM×Nとし、入力層2301では、すべてのピクセルのデータを入力する。1つのニューラルネットワークにRGBすべてのデータを入力してもよいし、R、G、Bそれぞれにニューラルネットワークの入力層を分けるように構成してもよい。出力層2303は、各ピクセルに対して、オプティカルフローの方向をN(北)、W(西)、E(東)、S(南)の4つの方向成分を組として出力されるように構成されている。出力層2303の別の構成例として、各ピクセルに対して、1つの実数値を、オプティカルフローの角度成分の実数値として出力するように構成される。例えば、E(東)であれば0.0、N(北)であれば90.0、W(西)であれば180.0、S(南)であれば270.0であり、それらの間の任意の値を角度成分の実数値として出力する。
 第1の装置2101-1から出力される第1のセンサ情報のデータ形式は、第1の装置2101-2から出力される第2のセンサ情報のデータ形式と異なることもあり得る。この場合には、データ提供部2203は、記憶装置から読み出されたコンピュータプログラムをCPUなどのプロセッサ(図示しない)上で動作させることにより、第1のセンサ情報と第2のセンサ情報のデータ形式を、ニューラルネットワーク2205の出力層2303並びに比較部2206の出力データと同じデータ形式に変換するようにすればよい。
 以上の構成により、第1の装置2101-1と同じセンサ部2201を備えた第2の装置2102がオプティカルフロー機能を装備しない場合であっても、第2の装置2102内のプロセッサ(図示しない)上で動作するコンピュータプログラム(アプリケーション)により、第3の装置2103に対して学習済みモデルであるニューラルネットワーク2205を要求し、第3の装置2103から返信される学習済みモデルをダウンロードして使用することにより、オプティカルフローの機能を備える(具体的には、イメージセンサのデータからオプティカルフローのデータを推定する機能を備える)ことができる。
 さらに、本実施例では、より高速のフレームレートのデータを処理できる装置が、より低速且つ固定のフレームレートでオプティカルフロー解析を行う装置の機能を人工知能の学習により取得することができる。この場合、第2の装置2102上で動作するアプリケーションが、学習済みモデルの推定結果がほとんど変化しない場合には、推定結果を出力しない、又は推定結果を無視してよいことを示唆するデータを出力するようにすることで、本開示に係る技術を活用して、固定フレームレートでセンサ出力を生成するセンサ情報と、より高速のフレームレートでセンサ出力を生成するセンサ情報を用いて学習して、可変フレームレートでオプティカルフローを計算することができる人工知能モデルを生成することができるという効果がある。
 第1乃至第4の実施例に係る人工知能センサシステムの応用例として、汎用カメラを用いてスケーラブルなカメラシステムを構築することができる。
 例えば、スタジアムに当初は10台のカメラがそれぞれ第1の装置として設置され、第3の装置は各々のカメラの視界にあるオブジェクト(選手やミュージシャンなど)の位置を把握して適当なタイミングでズーム処理(ズームイン、ズームアウト)により視界を変化させる学習済みモデルを生成する。
 その後、カメラを追加で設置する場合に、これらの追加カメラが、既存のカメラの画像の出力パターンを人工知能により学習するようにすることができる。この場合、追加カメラである第2の装置は、第2の装置と比較的近い位置に既に設置されているカメラである第1の装置のセンサ情報を用いて同様の出力を出すように、人工知能サーバである第3の装置にニューラルネットワークの学習を要求して、学習済みモデルを生成させることができる。
 このようにして生成された学習済みモデルを、追加カメラである第2の装置にダウンロードすることにより、当初から設置されているカメラとともに、再度全体の学習を行うことなく、スケーラブルにカメラを増設することができるカメラシステムを構築できる。
 第3の実施例のように、追加カメラとしての第2の装置が学習機能を持つ場合には、人工知能サーバである第3の装置を用いることなく学習を行い、学習済みモデルを生成することができる。一方で、さらに、追加カメラが近接して設置された場合のために、生成した学習済みモデルを人工知能サーバとしての第4の装置にアップロードすることができる。
 以上、特定の実施形態を参照しながら、本開示に係る技術について詳細に説明してきた。しかしながら、本開示に係る技術の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
 本開示に係る技術は、さまざまなセンサの組み合わせにおいて、一方のセンサ情報に対応する他方のセンサ情報を推定する処理に適用することができる。本明細書では、RGBカメラとIRカメラや距離センサなど2次元情報を捕捉するセンサの組み合わせに関する実施形態を中心に説明してきたが、これに限定されるものではない。例えば、自然画像などの2次元情報から、オーディオ、温度、振動、風、神経的認知イベント(neuromorphic perception event)などを推定する処理にも、本開示に係る技術を適用することができる。
 要するに、例示という形態により本開示に係る技術について説明してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本開示に係る技術の要旨を判断するためには、特許請求の範囲を参酌すべきである。
 なお、本明細書の開示の技術は、以下のような構成をとることも可能である。
(1)第1のセンサで検出された第1のセンサ情報及び第2のセンサで検出された第2のセンサ情報を収集する収集部と、
 前記収集した第1のセンサ情報及び第2のセンサ情報に基づいて、第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルの生成を行うモデル生成部と、
 前記学習済みモデルを蓄積する蓄積部と、
 前記学習済みモデルに基づくサービスの結果物を提供する提供部と、
を具備する情報処理装置。
(2)前記収集部は、第1のセンサ又は第2のセンサを備えた第1の装置にセンサ情報を要求して、第1の装置から返信された第1のセンサ情報又は第2のセンサ情報を収集する、
上記(1)に記載の情報処理装置。
(3)前記モデル生成部は、第1のセンサと第2のセンサの組み合わせ毎に学習済みモデルの生成を行い、
 前記蓄積部は、第1のセンサと第2のセンサの組み合わせ毎に生成された1以上の学習済みモデルを蓄積し、
 前記提供部は、第2の装置からの要求に対応する学習済みモデルを前記蓄積部から選択的に読み出して、その学習済みモデルに基づくサービスの結果物を提供する、
上記(1)又は(2)のいずれかに記載の情報処理装置。
(4)前記提供部は、第2の装置からの要求に応答して、前記学習済みモデルに基づくサービスの結果物を提供する、
上記(1)乃至(3)のいずれかに記載の情報処理装置。
(5)前記提供部は、前記サービスの結果物として、第2の装置に前記学習済みモデルを提供する、
上記(1)乃至(4)のいずれかに記載の情報処理装置。
(6)前記提供部は、前記学習済みモデルを用いて、第2の装置から送信された第1のセンサ情報に対応する第2のセンサ情報を推定し、前記サービスの結果物として、前記推定した第2のセンサ情報を返信する、
上記(1)乃至(4)のいずれかに記載の情報処理装置。
(7)第1のセンサで検出された第1のセンサ情報及び第2のセンサで検出された第2のセンサ情報を収集する収集ステップと、
 前記収集した第1のセンサ情報及び第2のセンサ情報に基づいて、第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルの生成を行うモデル生成ステップと、
 前記学習済みモデルを蓄積部に蓄積する蓄積ステップと、
 前記学習済みモデルに基づくサービスの結果物を提供する提供ステップと、
を有する情報処理方法。
(8)第1のセンサ情報を検出する第1のセンサと、
 第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルに基づくサービスの結果物を第3の装置から入力する入力部と、
を具備する情報処理装置。
(9)前記サービスの結果物を第3の装置に要求する要求部をさらに備え、
 前記入力部は、前記要求に対して第3の装置から返信された前記サービスの結果物を入力する、
上記(8)に記載の情報処理装置。
(10)前記サービスの結果物の入力に基づいて、前記第1のセンサが検出した第1のセンサ情報に対応する第2のセンサ情報を利用する、
上記(8)又は(9)のいずれかに記載の情報処理装置。
(11)前記入力部は、前記サービスの結果物として、第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルを第3の装置から入力し、
 前記入力した学習済みモデルを用いて前記第1のセンサが検出した第1のセンサ情報に対応する第2のセンサ情報を推定する推定部をさらに備える、
上記(8)乃至(10)のいずれかに記載の情報処理装置。
(12)前記要求部は、前記第1のセンサが検出した第1のセンサ情報第3の装置に送信し、
 前記入力部は、前記サービスの結果物として、学習済みモデルを用いて推定された、前記送信した第1のセンサ情報に対応する第2のセンサ情報を、第3の装置から入力する、
上記(8)乃至(10)のいずれかに記載の情報処理装置。
(13)第1のセンサから第1のセンサ情報を取得するステップと、
 第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルに基づくサービスの結果物を第3の装置に要求するステップと、
 前記サービスの結果物を第3の装置から入力するステップと、
を有する情報処理方法。
(14)第1のセンサと、
 第2のセンサで検出された第2のセンサ情報を収集する収集部と、
 前記第1のセンサで検出された第1のセンサ情報及び前記収集部が収集した第2のセンサ情報に基づいて、第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルの生成を行うモデル生成部と、
を具備する情報処理装置。
(15)前記モデル生成部が生成した学習済みモデルを用いて前記第1のセンサが検出した第1のセンサ情報に対応する第2のセンサ情報を推定する推定部をさらに備える、
上記(14)に記載の情報処理装置。
(16)前記学習済みモデルに基づくサービスの結果物を第4の装置に提供する提供部をさらに備える、
上記(14)又は(15)のいずれかに記載の情報処理装置。
(17)前記提供部は、前記サービスの結果物として、前記モデル生成部が生成した学習済みモデルを前記第4の装置に送信する、
上記(16)に記載の情報処理装置。
(18)情報処理装置が第2のセンサで検出された第2のセンサ情報を収集する収集ステップと、
 前記情報処理装置内の第1のセンサで検出された第1のセンサ情報及び前記収集ステップにおいて収集された第2のセンサ情報に基づいて、第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルの生成を行うモデル生成ステップと、
を有する情報処理方法。
 201…第1の装置、202…第2の装置、203…第3の装置
 301…センサ部、302…処理部、303…出力部
 304…環境情報取得部、305…機器情報取得部
 306…センサ情報格納部、307…要求入力部
 308…センサ情報出力部
 401…データ収集部、402…センサ情報蓄積部
 403…モデル生成部、404…センサ情報読み出し部
 405…モデル蓄積部、406…要求入力部、407…モデル出力部
 501…ニューラルネットワーク、502…比較部
 601…センサ部、602…処理部、603…出力部、604…推定部
 605…第2の処理部、606…第2の出力部、607…要求出力部
 608…学習済みモデル入力部、609…制御部
 701…第1の装置、702…第2の装置、703…第3の装置
 801…データ収集部、802…センサ情報蓄積部
 803…モデル生成部、804…センサ情報読み出し部
 805…モデル蓄積部、806…推定部
 807…要求入力部、808…推定結果出力部
 901…センサ部901、902…処理部902、903…出力部
 904…要求出力部、905…推定結果入力部、906…制御部
 907…第2の処理部、908…第2の出力部
 1401…センサ部、1402…処理部、1403…出力部
 1404…データ収集部、1405…モデル生成部
 1406…モデル蓄積部、1407…推定部
 1408…第2の処理部、1409…第2の出力部、1410…制御部
 1411…学習済みモデル提供部
 1501…ニューラルネットワーク、1502…比較部
 1900…デジタルカメラ、1901…CPU
 1902…メインメモリ、1903…RGBイメージセンサ
 1904…通信インターフェース、1905…DMAコントローラ
 1906…GPGPU、1907…システムバス
 2000…デジタルカメラ、2001…CPU
 2002…メインメモリ、2003…RGBイメージセンサ
 2004…IRイメージセンサ、2005…通信インターフェース
 2006…DMAコントローラ、2007…GPGPU
 2008…システムバス
 2101-1、2101-2…第1の装置、2102…第2の装置
 2103…第3の装置、
 2201…センサ部(イメージセンサ)
 2202…センサ部(イメージセンサ及び画像解析プロセッサ)
 2203…データ提供部、2204…モデル生成部
 2205…ニューラルネットワーク、2206…比較部

Claims (18)

  1.  第1のセンサで検出された第1のセンサ情報及び第2のセンサで検出された第2のセンサ情報を収集する収集部と、
     前記収集した第1のセンサ情報及び第2のセンサ情報に基づいて、第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルの生成を行うモデル生成部と、
     前記学習済みモデルを蓄積する蓄積部と、
     前記学習済みモデルに基づくサービスの結果物を提供する提供部と、
    を具備する情報処理装置。
  2.  前記収集部は、第1のセンサ又は第2のセンサを備えた第1の装置にセンサ情報を要求して、第1の装置から返信された第1のセンサ情報又は第2のセンサ情報を収集する、
    請求項1に記載の情報処理装置。
  3.  前記モデル生成部は、第1のセンサと第2のセンサの組み合わせ毎に学習済みモデルの生成を行い、
     前記蓄積部は、第1のセンサと第2のセンサの組み合わせ毎に生成された1以上の学習済みモデルを蓄積し、
     前記提供部は、第2の装置からの要求に対応する学習済みモデルを前記蓄積部から選択的に読み出して、その学習済みモデルに基づくサービスの結果物を提供する、
    請求項1に記載の情報処理装置。
  4.  前記提供部は、第2の装置からの要求に応答して、前記学習済みモデルに基づくサービスの結果物を提供する、
    請求項1に記載の情報処理装置。
  5.  前記提供部は、前記サービスの結果物として、第2の装置に前記学習済みモデルを提供する、
    請求項1に記載の情報処理装置。
  6.  前記提供部は、前記学習済みモデルを用いて、第2の装置から送信された第1のセンサ情報に対応する第2のセンサ情報を推定し、前記サービスの結果物として、前記推定した第2のセンサ情報を返信する、
    請求項1に記載の情報処理装置。
  7.  第1のセンサで検出された第1のセンサ情報及び第2のセンサで検出された第2のセンサ情報を収集する収集ステップと、
     前記収集した第1のセンサ情報及び第2のセンサ情報に基づいて、第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルの生成を行うモデル生成ステップと、
     前記学習済みモデルを蓄積部に蓄積する蓄積ステップと、
     前記学習済みモデルに基づくサービスの結果物を提供する提供ステップと、
    を有する情報処理方法。
  8.  第1のセンサ情報を検出する第1のセンサと、
     第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルに基づくサービスの結果物を第3の装置から入力する入力部と、
    を具備する情報処理装置。
  9.  前記サービスの結果物を第3の装置に要求する要求部をさらに備え、
     前記入力部は、前記要求に対して第3の装置から返信された前記サービスの結果物を入力する、
    請求項8に記載の情報処理装置。
  10.  前記サービスの結果物の入力に基づいて、前記第1のセンサが検出した第1のセンサ情報に対応する第2のセンサ情報を利用する、
    請求項8に記載の情報処理装置。
  11.  前記入力部は、前記サービスの結果物として、第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルを第3の装置から入力し、
     前記入力した学習済みモデルを用いて前記第1のセンサが検出した第1のセンサ情報に対応する第2のセンサ情報を推定する推定部をさらに備える、
    請求項8に記載の情報処理装置。
  12.  前記要求部は、前記第1のセンサが検出した第1のセンサ情報を第3の装置に送信し、
     前記入力部は、前記サービスの結果物として、学習済みモデルを用いて推定された、前記送信した第1のセンサ情報に対応する第2のセンサ情報を、第3の装置から入力する、
    請求項8に記載の情報処理装置。
  13.  第1のセンサから第1のセンサ情報を取得するステップと、
     第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルに基づくサービスの結果物を第3の装置に要求するステップと、
     前記サービスの結果物を第3の装置から入力するステップと、
    を有する情報処理方法。
  14.  第1のセンサと、
     第2のセンサで検出された第2のセンサ情報を収集する収集部と、
     前記第1のセンサで検出された第1のセンサ情報及び前記収集部が収集した第2のセンサ情報に基づいて、第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルの生成を行うモデル生成部と、
    を具備する情報処理装置。
  15.  前記モデル生成部が生成した学習済みモデルを用いて前記第1のセンサが検出した第1のセンサ情報に対応する第2のセンサ情報を推定する推定部をさらに備える、
    請求項14に記載の情報処理装置。
  16.  前記学習済みモデルに基づくサービスの結果物を第4の装置に提供する提供部をさらに備える、
    請求項14に記載の情報処理装置。
  17.  前記提供部は、前記サービスの結果物として、前記モデル生成部が生成した学習済みモデルを前記第4の装置に送信する、
    請求項16に記載の情報処理装置。
  18.  情報処理装置が第2のセンサで検出された第2のセンサ情報を収集する収集ステップと、
     前記情報処理装置内の第1のセンサで検出された第1のセンサ情報及び前記収集ステップにおいて収集された第2のセンサ情報に基づいて、第1のセンサ情報に対応する第2のセンサ情報を推定する学習済みモデルの生成を行うモデル生成ステップと、
    を有する情報処理方法。
PCT/JP2020/028176 2019-11-08 2020-07-20 情報処理装置及び情報処理方法 WO2021090535A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/755,583 US20220383055A1 (en) 2019-11-08 2020-07-20 Information processing apparatus and information processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019203177 2019-11-08
JP2019-203177 2019-11-08

Publications (1)

Publication Number Publication Date
WO2021090535A1 true WO2021090535A1 (ja) 2021-05-14

Family

ID=75849824

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/028176 WO2021090535A1 (ja) 2019-11-08 2020-07-20 情報処理装置及び情報処理方法

Country Status (2)

Country Link
US (1) US20220383055A1 (ja)
WO (1) WO2021090535A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113506322A (zh) * 2021-07-15 2021-10-15 清华大学 图像处理方法及装置、电子设备和存储介质
CN113506319A (zh) * 2021-07-15 2021-10-15 清华大学 图像处理方法及装置、电子设备和存储介质
WO2023189439A1 (ja) * 2022-03-30 2023-10-05 ソニーセミコンダクタソリューションズ株式会社 情報処理装置、情報処理システム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020215135A1 (de) * 2020-12-01 2022-06-02 Robert Bosch Gesellschaft mit beschränkter Haftung Intelligenter Messzähler und Verfahren zur vertrauenswürdigen Bereitstellung von Messdaten in einer dezentralen Transaktionsdatenbank

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006134080A (ja) * 2004-11-05 2006-05-25 Ntt Docomo Inc 携帯端末、及び、個人適応型コンテキスト獲得方法
WO2018142765A1 (ja) * 2017-02-03 2018-08-09 パナソニックIpマネジメント株式会社 学習済みモデル提供方法および学習済みモデル提供装置
JP2019124537A (ja) * 2018-01-15 2019-07-25 キヤノン株式会社 情報処理装置及びその制御方法及びプログラム、並びに、車両の運転支援システム
JP2019175482A (ja) * 2019-05-24 2019-10-10 株式会社フューチャーアイ 学習支援システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006134080A (ja) * 2004-11-05 2006-05-25 Ntt Docomo Inc 携帯端末、及び、個人適応型コンテキスト獲得方法
WO2018142765A1 (ja) * 2017-02-03 2018-08-09 パナソニックIpマネジメント株式会社 学習済みモデル提供方法および学習済みモデル提供装置
JP2019124537A (ja) * 2018-01-15 2019-07-25 キヤノン株式会社 情報処理装置及びその制御方法及びプログラム、並びに、車両の運転支援システム
JP2019175482A (ja) * 2019-05-24 2019-10-10 株式会社フューチャーアイ 学習支援システム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113506322A (zh) * 2021-07-15 2021-10-15 清华大学 图像处理方法及装置、电子设备和存储介质
CN113506319A (zh) * 2021-07-15 2021-10-15 清华大学 图像处理方法及装置、电子设备和存储介质
CN113506322B (zh) * 2021-07-15 2024-04-12 清华大学 图像处理方法及装置、电子设备和存储介质
CN113506319B (zh) * 2021-07-15 2024-04-26 清华大学 图像处理方法及装置、电子设备和存储介质
WO2023189439A1 (ja) * 2022-03-30 2023-10-05 ソニーセミコンダクタソリューションズ株式会社 情報処理装置、情報処理システム

Also Published As

Publication number Publication date
US20220383055A1 (en) 2022-12-01

Similar Documents

Publication Publication Date Title
WO2021090535A1 (ja) 情報処理装置及び情報処理方法
WO2021177324A1 (ja) 画像生成装置、画像生成方法、記録媒体生成方法、学習モデル生成装置、学習モデル生成方法、学習モデル、データ処理装置、データ処理方法、推論方法、電子機器、生成方法、プログラム及び非一時的コンピュータ可読媒体
CN108564118B (zh) 基于社会亲和力长短期记忆网络模型的拥挤场景行人轨迹预测方法
CN113811920A (zh) 分布式姿势估计
US11810279B2 (en) Image acquisition device and method of controlling the same
CN116958771A (zh) 一种计算机视觉识别系统及方法
US9069839B1 (en) Method and system for storing, retrieving, and sharing data using a field-accessed database system comprising a mobile unit
CN110555527A (zh) 延时摄影视频的生成方法及设备
KR102321998B1 (ko) 환경 변화에 강인한 이미지의 위치 및 방향 추정 방법 및 시스템
CN111178284A (zh) 基于地图数据的时空联合模型的行人重识别方法及系统
KR102433646B1 (ko) 2차원 이미지 인식에 기반한 3차원 모델링 시스템 및 이를 위한 방법
WO2014169582A1 (zh) 配置参数发送方法、接收方法及装置
CN110366029B (zh) 一种视频间插入图像帧的方法、系统及电子设备
CN114943773A (zh) 相机标定方法、装置、设备和存储介质
KR102040525B1 (ko) 인공지능 기반 부품 검색 시스템
JP2018502488A (ja) 視覚的画像アレイに関する、装置、方法およびシステム
CN117916773A (zh) 用于在移动设备中同时重建姿态和参数化3d人体模型的方法和系统
JP6827400B2 (ja) 制御システム
CN117173631A (zh) 一种生物多样性的监控方法和系统
CN116485974A (zh) 画面渲染、数据预测及其训练方法、系统及存储和服务器
CN114640785A (zh) 站点模型更新方法及系统
JP2019207662A (ja) 機械学習装置、機械学習方法及びプログラム
JPWO2020072972A5 (ja)
JP6922447B2 (ja) 情報処理システム、サーバおよび通信方法
Connolly Wildlife‐spotting robots

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20884643

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20884643

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP