WO2023013131A1 - 情報処理システムおよび情報処理プログラム - Google Patents

情報処理システムおよび情報処理プログラム Download PDF

Info

Publication number
WO2023013131A1
WO2023013131A1 PCT/JP2022/010820 JP2022010820W WO2023013131A1 WO 2023013131 A1 WO2023013131 A1 WO 2023013131A1 JP 2022010820 W JP2022010820 W JP 2022010820W WO 2023013131 A1 WO2023013131 A1 WO 2023013131A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal device
analysis
information processing
server
data
Prior art date
Application number
PCT/JP2022/010820
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 JP2023539624A priority Critical patent/JPWO2023013131A1/ja
Priority to EP22852560.6A priority patent/EP4383693A1/en
Publication of WO2023013131A1 publication Critical patent/WO2023013131A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M11/00Telephonic communication systems specially adapted for combination with other electrical systems

Definitions

  • the present invention relates to an information processing system and an information processing program.
  • Patent Document 1 provides a computer system that performs machine learning using an edge device (terminal device) connected to a gateway. With this technology, depending on the processing power of multiple edge devices, either machine learning is executed or only the data necessary for machine learning to be executed by another computer is selected and executed.
  • the terminal device switches between machine learning and data transmission as part of system update of the terminal device. For this reason, in the prior art, only one selected function can be executed during system startup, and it is not possible to switch the function of the terminal device depending on the situation.
  • an object of the present invention is to provide an information processing system and an information processing program that can switch the functions of a terminal device according to the situation.
  • a terminal device having a sensing device and analyzing and processing data from the sensing device;
  • An information processing system having a server that performs data transmission with the terminal device via wireless communication, a control unit for controlling analysis operation settings, which are settings of the terminal device for analyzing data from the sensing device;
  • the information processing system wherein the control unit controls the analysis operation settings so that optimum analysis can be performed.
  • the analysis processing by the terminal device is processing by a machine learning model of artificial intelligence;
  • control unit changes the analysis operation setting according to the analysis result of the analysis process.
  • control unit designates a destination of the terminal device according to an analysis result of the analysis process.
  • control unit changes the analysis operation setting according to the distance from the terminal device to the sensing target by the sensing device. processing system.
  • the sensing device is a camera that shoots moving images;
  • control of the analysis operation setting by the control unit includes switching between operation and non-operation of the sensing device. processing system.
  • each of the plurality of terminal devices transmits the data of the sensing device and/or the analysis result of the analysis process to the server;
  • the server has a storage unit that stores the data of the sensing device and/or the analysis result of the analysis process in association with the terminal device that sent the data, (9) above, wherein the control unit controls the analysis operation settings of each of the terminal devices based on the data of the sensing device stored in the storage unit and/or the analysis result of the analysis process. information processing system.
  • control unit selects the terminal device to execute the analysis process from among the plurality of terminal devices based on the analysis result of the analysis process. information processing system.
  • control unit selects the terminal device to execute the analysis process according to the position of each of the plurality of terminal devices.
  • Information processing system
  • a terminal device having a sensing device and analyzing and processing data from the sensing device;
  • An information processing program for controlling the terminal device in an information processing system having a server that performs data transmission with the terminal device via wireless communication,
  • An information processing program for causing a computer to execute a step of controlling analysis operation settings, which are settings of the terminal device, so that the terminal device that analyzes data from the sensing device can perform optimal analysis.
  • the analysis processing by the terminal device is processing by a machine learning model of artificial intelligence;
  • the sensing device is a camera for capturing moving images; Any one of the above (14) to (20), wherein the step of controlling the analysis operation setting changes the analysis operation setting according to a moving distance of the object captured in the moving image between frames.
  • each of the plurality of terminal devices transmits the data of the sensing device and/or the analysis result of the analysis process to the server;
  • the server has a storage unit that stores the data of the sensing device and/or the analysis result of the analysis process in association with the terminal device that sent the data,
  • the step of controlling the analysis operation settings controls the analysis operation settings of each of the terminal devices based on the data of the sensing device stored in the storage unit and/or the analysis result of the analysis process.
  • the step of controlling the analysis operation setting selects the terminal device to execute the analysis process from among the plurality of terminal devices, based on the analysis result of the analysis process (23) or The information processing program according to (24).
  • the operation settings of the analysis processing executed by the terminal device are controlled.
  • the present invention can optimize the analysis of data from the sensing device by the terminal device according to the situation in which the terminal device is placed.
  • FIG. 1 is a block diagram showing a schematic configuration of an information processing system 1 according to Embodiment 1;
  • FIG. 2 is a block diagram for explaining functions of the information processing system according to the first embodiment;
  • FIG. It is a block diagram which shows an example of the hardware constitutions of a terminal device.
  • 3 is a block diagram showing an outline of hardware that constitutes the server;
  • FIG. 4 is a flow chart showing a processing procedure according to the first embodiment; 4 is a flow chart showing a processing procedure according to the first embodiment;
  • 2 is a block diagram showing a schematic configuration of an information processing system according to Embodiment 2;
  • FIG. FIG. 7 is a block diagram for explaining functions of an information processing system according to Embodiment 2;
  • FIG. 7 is a block diagram for explaining functions of an information processing system according to Embodiment 2;
  • 9 is a flow chart showing a processing procedure in Embodiment 2;
  • 9 is a flow chart showing a processing procedure in Embodiment 2;
  • FIG. 1 is a block diagram showing a schematic configuration of an information processing system 1 according to the first embodiment.
  • FIG. 2 is a block diagram for explaining functions of the information processing system 1 according to the first embodiment.
  • the information processing system 1 has a terminal device 100, a 5G communication system (hereinafter referred to as a communication system 200), and a server 300.
  • a terminal device 100 As shown in FIGS. 1 and 2, the information processing system 1 according to the first embodiment has a terminal device 100, a 5G communication system (hereinafter referred to as a communication system 200), and a server 300.
  • the terminal device 100 has a sensing device (hereinafter simply referred to as a sensor 109 (details will be described later)) and transmits information (data) detected by the sensor 109 to the server 300 .
  • the terminal device 100 also uses data from the sensor 109 to perform analysis by artificial intelligence (AI).
  • AI artificial intelligence
  • Such a terminal device 100 is also called an edge device, an edge terminal, etc., and is an electronic device that can also be used for IoT (Internet of Things).
  • the terminal device 100 is, for example, a mobile terminal device such as a smart phone or a tablet computer, a monitoring camera device in which a wireless device and a computer for processing are attached (built-in) to a camera, or the like.
  • the functions of the terminal device 100 include a wireless communication unit 101, an analysis operation setting control unit 102, an analysis processing unit 103, a data transmission unit 104, and a machine learning model change unit 105, as shown in FIG. Each of these units is configured by SoC FPGA (System-on-a-Chip Field-Programmable Gate Array) in the first embodiment (details will be described later).
  • SoC FPGA System-on-a-Chip Field-Programmable Gate Array
  • the terminal device 100 is connected (or integrated) with a storage 107 and a sensor 109 .
  • the terminal device 100 may be connected (or integrated) with a memory such as the DRAM 108 separately from the memory (such as a DRAM) inside the SoC FPGA.
  • the separately connected memory may be a non-volatile memory such as a flash memory that operates at high speed instead of the DRAM 108 or together with the DRAM 108 .
  • the wireless communication unit 101 executes communication with the communication system 200 by 5G.
  • the wireless communication unit 101 transmits data from the terminal device 100 to the server 300 via the communication system 200 .
  • the wireless communication unit 101 receives data transmitted from the server 300 via the communication system 200 .
  • the analysis operation setting control unit 102 controls settings (analysis operation settings) for analyzing data acquired from the sensor 109 .
  • the analysis operation setting control unit 102 is a control unit that controls analysis operation settings so that optimum analysis can be performed.
  • Analysis operation settings include, for example, a machine learning model based on artificial intelligence (AI), which is executed by the analysis processing unit 103.
  • a machine learning model by AI is machine-learned by AI in advance.
  • a machine learning model by AI is called an AI model.
  • the AI model outputs analysis results for inputs from the sensor 109 .
  • Analysis content by the AI model includes, for example, recognition of people and objects in images (frames), recognition of faces and skeletons of people, recognition of movements of people (or objects), determination of attributes of people (or objects), etc.
  • the AI model is changed according to the content of the analysis.
  • the analysis operation setting control unit 102 changes this machine learning model (AI model) in accordance with the recognized person or object, their movements, or the like to continue analysis or perform another analysis.
  • the analysis operation settings include settings for the sensor 109 provided in the terminal device 100 .
  • the setting of the sensor 109 is the resolution of an image (moving image or still image) to be shot when the sensor 109 is a camera for shooting moving images. Also, if the sensor 109 is a camera that shoots moving images (also referred to as a movie camera), there is a frame rate in addition to the resolution. In addition to these, if the sensor 109 is a camera with a zoom lens, there is a magnification of the zoom lens. Settings of these sensors 109 are provided as parameters, and the analysis operation setting control unit 102 sets the sensors 109 based on the parameters.
  • the analysis operation setting control unit 102 changes the frame rate according to the movement distance between the frames of the object captured in the frames of the moving image.
  • an object is an object to be detected and/or recognized by analysis using an AI model, and is, for example, a person, an animal, an object, or the like.
  • the frame rate for example, the moving distance of the object between frames is halved. This is because, when a fast-moving object is recognized, by increasing the frame rate, the object can be recognized in many frames, and the outline and movement of the object can be clearly and reliably analyzed.
  • the analysis operation setting control unit 102 changes the magnification of the zoom lens. Changing the magnification of the zoom lens changes the angle of view. For example, when it is determined that a person appears in the captured image (frame), the analysis operation setting control unit 102 changes the magnification so as to zoom in on the person. Whether or not a person is captured in the frame is determined by AI analysis. Also, the magnification of the zoom lens may be changed according to the distance from the sensor 109 (or the main body of the terminal device 100) to the object to be photographed (object to be sensed).
  • the analysis operation setting includes operation and non-operation setting of the terminal device 100 itself. For example, when the terminal device 100 is temporarily not used, the analysis operation setting control unit 102 sets the unused terminal device to non-operation.
  • the analysis operation setting includes the operation/non-operation setting of the sensor 109 .
  • the analysis operation setting control unit 102 sets the unused sensor 109 to non-operation.
  • the analysis operation setting control unit 102 restarts the terminal device 100 (at least the function of the analysis processing unit 103) as necessary when changing the settings.
  • the analysis processing unit 103 analyzes the data from the sensor 109 using the AI model.
  • the contents of analysis are, for example, recognition of a person (or object) in an image (frame), recognition of movement of a person (or object), determination of attributes of a person (or object), and the like.
  • the AI model is provided as a result of machine learning (including deep learning) performed by AI in advance. Machine learning itself is performed in advance according to the purpose of analysis. Machine learning may be performed by the terminal device 100, but may be performed in advance by another computer according to the purpose of analysis.
  • the AI model is provided as a control program and/or logical data 106 based on the hardware configuration of the terminal device 100.
  • the hardware configuration of the terminal device 100 will be described later, for example, when the hardware configuration is based on a CPU, it is provided as a control program.
  • the hardware configuration is rewritable hardware such as FPGA, it is provided as logic data.
  • Logic data is sometimes referred to as programmable logic.
  • FPGA some or all of the settings may be provided as a control program. Note that this embodiment will be described by taking an FPGA (details will be described later) as an example.
  • the AI model is sent from the server 300 in response to a request from the analysis operation setting control unit 102 or in response to a determination on the server 300 side.
  • the AI model transmitted from the server 300 is temporarily stored in the memory within the FPGA or the DRAM 108 through the machine learning model changing unit 105 .
  • the analysis processing unit 103 reads out the temporarily stored AI model and executes analysis processing.
  • the AI model that has been used until then may be left as is in the memory within the FPGA or the DRAM 108. However, since the storage capacity of the memory in the FPGA or the DRAM 108 is limited, the AI model that has been used until then is deleted by the machine learning model changing unit 105, and only the newly supplied AI model is stored. may AI models that are erased from memory in the FPGA or DRAM 108 may be stored in storage 107 if storage 107 is connected.
  • the analysis result by the analysis processing unit 103 is transmitted to the analysis operation setting control unit 102 .
  • the analysis operation setting control unit 102 executes various analysis operation settings described above based on the analysis result.
  • the analysis result by the analysis processing unit 103 is also transmitted from the data transmission unit 104 to the server 300 according to the setting.
  • the setting as to whether or not to transmit the analysis result to the server 300 is set by the analysis operation setting control unit 102 according to a command from the server 300 .
  • the storage 107 is a storage unit. Storage 107 stores data 115 from sensor 109 .
  • the storage 107 may store control programs and/or logical data 106 that are AI models executed by the terminal device 100 . By storing these in the storage 107, when changing the AI model, the analysis operation setting control unit 102 can control the control program and/or the logic data 106 to be changed, and other device settings if they are in the storage 107. For example, it can be read from the storage 107 and used without making a request to the server 300 . This may eliminate the need for data transmission from the server 300, thus reducing the communication load.
  • the capacity of the storage 107 is determined according to the cost of the terminal device 100, etc., and the contents to be stored are determined according to the capacity. and change it again.
  • the storage 107 may not be provided.
  • the AI model (control program and/or logical data 106) used in the terminal device 100 uses what is sent from the server 300. FIG. By not providing the storage 107, the cost of the terminal device 100 can be further reduced.
  • the sensor 109 is, for example, an image sensor.
  • Image sensors are, for example, still cameras (still image cameras) and movie cameras (movie cameras) that mainly detect visible light.
  • the image sensor is an infrared camera, a thermo camera (temperature detection camera), or the like. Infrared cameras and thermo cameras are also capable of capturing still images and moving images.
  • an acoustic sensor that detects sound like a microphone
  • an altitude sensor that detects altitude (altitude)
  • an air pressure sensor an underwater depth sensor (water pressure sensor)
  • a vibration sensor a direction sensor
  • Various sensors 109 may be used such as angle sensors, temperature sensors, voltage sensors, current sensors, and power sensors.
  • the data detected by these sensors 109 are transmitted to the server 300 as required. Data detected by the sensor 109 is also stored in the storage 107 as necessary.
  • Only one such sensor 109 may be connected to one terminal device 100 (integrated, the same shall apply hereinafter), or a plurality of such sensors 109 may be connected to one terminal device 100 .
  • the multiple sensors 109 may be of the same type or of different types.
  • the results of sensing by the sensor 109 are also transmitted from the data transmission unit 104 to the server 300 according to the settings. Whether or not to transmit the sensing result to the server 300 is set by the analysis operation setting control unit 102 according to a command from the server 300 .
  • FIG. 3 is a block diagram showing an example of the hardware configuration of the terminal device 100. As shown in FIG.
  • the terminal device 100 has an SoC FPGA 110, a storage 107, a 5G communication interface 150, and an operation display section 160, as shown in FIG.
  • the SoC FPGA 110 is a semiconductor element (including a semiconductor element in which multiple chips are joined together) in which an FPGA capable of rewriting the processing contents to be executed is formed on one chip as a system.
  • the SoC FPGA 110 is also called Programmable SoC.
  • the SoC FPGA 110 has functions such as a CPU (Central Processing Unit) that is an arithmetic element, ROM (Read Only Memory) and RAM (Random Access Memory) that are storage elements (memory), etc. functions are integrated).
  • the SoC FPGA 110 may be equipped with an accelerator such as a GPU/DSP. Therefore, the terminal device 100 is a computer.
  • SoC FPGA 110 stores control programs and/or logic data 106 necessary for operation (including rewriting of gate circuits in FPGA), and by executing them, the functions of the above-described terminal device 100 are performed. Realized. Therefore, the SoC FPGA 110 functions as an analysis operation setting control unit 102 , an analysis processing unit 103 , a data transmission unit 104 and a machine learning model change unit 105 .
  • the storage 107 is a storage medium such as eMMC (embedded MultiMediaCard), SSD (Solid State Drive), or HDD (Hard Disk Drive). Also, the storage 107 may be a portable storage medium such as a memory card.
  • eMMC embedded MultiMediaCard
  • SSD Solid State Drive
  • HDD Hard Disk Drive
  • the storage 107 may be a portable storage medium such as a memory card.
  • the 5G communication interface 150 is the wireless communication unit 101 for communicating with the communication system 200, and is configured by a communication module chip.
  • a 5G communication interface 150 may also be integrated as the SoC FPGA 110 .
  • the terminal device 100 may be provided with a network interface such as Ethernet (registered trademark) or IEEE1394, or a wireless communication interface such as Bluetooth (registered trademark) or IEEE802.11. good.
  • the operation display unit 160 is, for example, a touch panel display, which displays various information and accepts various inputs from the user. Also, depending on the terminal device 100, an input device such as a keyboard or a mouse and a monitor may be connected.
  • control program is a program that is mainly executed by the CPU of the terminal device 100 or the CPU function circuit in the FPGA.
  • logic data is mainly data for rewriting circuit data of FPGA.
  • terminal device 100 is not limited to the SoC FPGA 110, and may be an FPGA other than the SoC.
  • the CPU, RAM, and ROM may be independent and connected via a bus. .
  • the communication system 200 has a 5G wireless communication function and controls communication between the terminal device 100 and the server 300 .
  • This communication system 200 may be a 5G public line, or may be a communication system 200 called private 5G that is used only by specific users.
  • the communication system 200 is a known 5G communication system, and although not shown, has a wireless communication control function, a relay processing function, etc., and connects the terminal device 100 and the server 300 by 5G communication.
  • the server 300 stores the analysis results transmitted from the terminal device 100 , stores control programs and/or logical data 106 required by the terminal device 100 , and supplies them to the terminal device 100 .
  • the functions of the server 300 will be described with reference to FIG.
  • the server 300 has a wireless communication unit 301, a terminal reception data analysis unit 302, and a terminal function control unit 303.
  • the server 300 may be called an edge server.
  • a storage 307 is connected to the server 300 (the storage 307 is called a server storage 307 to distinguish it from the storage 107 of the terminal device 100).
  • the server storage 307 is a storage unit.
  • the server storage 307 stores data 115 collected by the sensor 109 of the terminal device 100, analysis results 116 by the terminal device 100, control programs and/or logic data 106 used by the terminal device 100, and the like.
  • the server 300 is sometimes called a cloud server because of its role as a storage device.
  • the wireless communication unit 301 executes communication with the communication system 200 by 5G.
  • the wireless communication unit 301 transmits data from the server 300 to the terminal device 100 via the communication system 200 .
  • the wireless communication unit 301 receives data transmitted from the terminal device 100 via the communication system 200 .
  • the terminal reception data analysis unit 302 analyzes and/or learns data received from the terminal device 100 via the wireless communication unit 301 .
  • the analysis and/or learning by the terminal reception data analysis unit 302 is analysis of a large amount of data that the terminal device 100 cannot process.
  • the terminal reception data analysis unit 302 uses the data collected by the terminal device 100 to execute machine learning and construct an AI model. Since the server 300 generally has higher performance and higher functionality than the terminal device 100, it is suitable for analysis and/or learning that handles such large or large amounts of data.
  • the terminal function control unit 303 determines the AI model and settings to be executed by the terminal device 100 according to the results of analysis and/or learning by the terminal reception data analysis unit 302 . Such functions of the terminal function control unit 303 are the same as those of the analysis operation setting control unit 102 of the terminal device 100 . Therefore, terminal function control section 303 functions as a control section.
  • the terminal function control unit 303 determines necessary AI models and parameters according to requests from the analysis operation setting control unit 102 of the terminal device 100 . For example, when the analysis operation setting control unit 102 of the terminal device 100 receives an analysis result indicating that a person has been recognized and a setting change request corresponding thereto, the terminal function control unit 303 determines settings necessary for zooming in. , the setting data (control program and/or logical data 106) therefor are read from the server storage 307 and transmitted to the terminal device 100.
  • the terminal function control unit 303 classifies the data received from the plurality of terminal devices 100 for each terminal device 100 and stores them in the server storage 307 .
  • the terminal function control unit 303 stores, in the server storage 307, sensor 109 data and analysis result data sent from each terminal device 100 in association with, for example, an ID assigned to each terminal device 100. .
  • the ID is given to the terminal device 100 as shown in FIG. 1, for example.
  • one terminal device 100 is assumed to be DI1, and the other terminal device 100 is assumed to be ID2.
  • the terminal function control section 303 may compress the data when storing the data 115 and the analysis result 116 as necessary. If the data is compressed, the terminal function control section 303 decompresses the read data when it is read.
  • FIG. 4 is a block diagram showing an outline of the hardware that makes up the server 300. As shown in FIG. 4
  • the server 300 is a computer.
  • the server 300 has a CPU 310, a ROM 320, a RAM 330, a server storage 307, a 5G communication interface 350, and an operation display section 360, as shown in FIG.
  • Each component is communicatively connected to each other via a bus 370 .
  • the CPU 310 executes the functions of each section of the server 300 described above by executing programs recorded in the ROM 320 and server storage 307 .
  • the ROM 320 stores various programs and various data.
  • the RAM 330 temporarily stores programs and data as a work area.
  • the server storage 307 stores various programs including the operating system and various data.
  • Server storage 307 stores control programs and/or logical data 106 .
  • the server storage 307 in the case of the server 300, a large-capacity storage medium such as an HDD is mainly used.
  • the server storage 307 may use a semiconductor storage medium such as eMMC or SSD together with or instead of an HDD.
  • the 5G communication interface 350 is the wireless communication unit 301 for communicating with the communication system 200.
  • the operation display unit 360 is, for example, a touch panel display, which displays various information and accepts various inputs from the user. Further, as the operation display unit 360, an input device such as a keyboard or a mouse and a monitor may be connected.
  • the terminal device 100 is a monitoring camera that includes a sensor 109 and monitors human intrusion.
  • the terminal device 100 performs person recognition processing using AI.
  • the setting of the terminal device 100 is changed according to the analysis result of the terminal device 100 .
  • the terminal device 100 monitors a predetermined location (inside a facility, etc.) using the sensor 109 . Then, the terminal device 100 recognizes that there is a person in the image (frame) by AI-analyzing the data from the sensor 109 (S1101). AI analysis is performed by the AI model set at this stage by the analysis processing unit 103 .
  • the terminal device 100 measures the distance to the recognized person (sensing target) (S1102).
  • the sensor 109 is a camera
  • the distance measurement function of the camera may be used to measure the distance.
  • a distance sensor may be used to measure the distance.
  • the ranging sensor for example, a depth camera, a lidar (LiDAR), etc. may be used.
  • the terminal device 100 transmits the distance information, the AI analysis result, and the running model to the server 300 (S1103).
  • the distance information is the measurement result in S1102.
  • the AI analysis result is the result of recognizing the presence of a person in the frame.
  • a running model is the control program and/or logic data 106 of the AI model that is currently running within the terminal device 100 .
  • the AI model at this stage is the control program and/or logic data 106 for recognizing the person.
  • the server 300 receives the data transmitted from the terminal device 100 (S1301).
  • the data to be received are the distance information, the AI analysis result, and the model being executed that were sent in S1103.
  • the server 300 stores the received data in the server storage 307 together with the ID of the terminal device 100 that sent it.
  • the server 300 determines the parameters of the sensor 109 from the received distance information (S1302).
  • Parameters of the sensor 109 are, for example, resolution, angle of view (zoom magnification), frame rate, and the like.
  • the server 300 determines the score of the AI analysis result (S1303).
  • the server 300 requests image data from the terminal device 100 when the score of the analysis result is low (S1304). At this stage, the image data has not been transmitted from the terminal device 100 to the server 300 . Note that if the AI score is equal to or greater than the predetermined value, the server 300 does not execute step S1304.
  • the terminal device 100 After receiving the parameters and the image request, the terminal device 100 transmits the data of the image (moving image) captured by the sensor 109 to the server 300 (S1104).
  • the server 300 analyzes and determines the attribute of the person recognized from the received image data (S1305). Attribute determination requires more advanced processing than recognizing a person from within a frame. That is, high processing power as a computer is required. Therefore, in the first embodiment, analysis is performed on the server 300 side.
  • the server 300 determines an AI model that matches the determined attribute (S1306).
  • the server 300 transmits the determined AI model and parameters to the terminal device 100 (S1307).
  • the server 300 After that, if there is no instruction to end processing (S1308: NO), the server 300 returns to S1301 and continues the subsequent processing. If the server 300 receives an instruction to end the process (S1308: YES), it ends the process (end).
  • the terminal device 100 receives and stores the data from the server 300, and stops the current AI analysis process (S1105).
  • the terminal device 100 rewrites the logic data for the AI accelerator (in the case of FPGA) (S1106). If the terminal device 100 has a configuration other than an FPGA, a control program for executing the AI model is installed.
  • the terminal device 100 changes to the AI model received from the server 300 (S1107).
  • the terminal device 100 changes the settings of the terminal device 100 to the parameters received from the server 300 (S1108).
  • the terminal device 100 restarts the AI analysis process (S1109).
  • the terminal device 100 executes AI analysis processing (S1110).
  • the data from the sensing device (sensor 109) mounted on the edge terminal (terminal device 100) is transferred to the server 300, and AI analysis is performed using powerful hardware resources.
  • the amount of data transferred from the terminal device 100 to the server 300 increases as the contents to be analyzed become more sophisticated.
  • this embodiment causes the terminal device 100 side with few hardware resources to execute various AI analyzes according to its processing capability. For this reason, this embodiment changes the AI model used by the terminal device 100 side according to the content of analysis.
  • the change of the AI model is caused when the subject is in the blind spot of the camera, the face is not facing the camera, or the movement of the subject is too fast. Executed when frame out immediately.
  • the AI model is changed in such a case by the terminal device 100 communicating (data transmission) with the server 300 through the communication system 200 .
  • settings are made according to the movement and positional relationship of the object to be photographed, and the AI model is appropriately modified to follow the movement of the object to be photographed and to continue the analysis in the terminal device 100 .
  • the skeleton of a person in the foreground can be detected, but the person in the back may not be detected.
  • skeleton detection can be detected by changing the resolution.
  • the terminal device 100 when detecting the actions of workers in a factory or office, the terminal device 100 is caused to perform analysis using an AI model for skeletal detection (S1101). Accordingly, the terminal device 100 can analyze changes in the movement of the joint points of the worker and detect the occurrence of an abnormality such as a fall or dangerous behavior of the worker.
  • an AI model for skeletal detection S1101
  • the terminal device 100 can analyze changes in the movement of the joint points of the worker and detect the occurrence of an abnormality such as a fall or dangerous behavior of the worker.
  • the terminal device 100 recognizes the coordinates of each joint point.
  • the terminal device 100 determines the distance between the object to be photographed and the camera, for example, from the coordinates of the head (S1102).
  • the coordinates of the head S1102
  • the server 300 determines the necessary parameters (S1302) based on the distance information from the imaging target (person in this case) received from the terminal device 100 (S1103 to S1302). Specifically, the server 300 changes the resolution parameter of the sensor 109 so that the server 300 can perform analysis at a higher resolution when the distance between the terminal device 100 and the imaging target exceeds a threshold, for example. change. For example, HD (High Definition (720P)) is changed to FHD (Full High Definition (1080p)). In addition to the resolution, the parameters to be changed are, for example, zooming in to change the angle of view to improve the accuracy of skeleton detection.
  • the first pattern is to change to a different AI model with the same function when the score of the analysis result is low.
  • the second pattern changes to an AI model with different functions as a result of analysis on the terminal device 100 side.
  • the first embodiment is the first pattern. Note that the second pattern will be described in a second embodiment, which will be described later.
  • the server 300 When the score of the analysis result is low (S1303), the server 300 requests the captured image from the terminal device 100 (S1304), receives the image from the terminal device 100, and analyzes it at the server 300 (S1104 to S1305). As a result, the attribute of the object to be photographed is determined and the optimum AI model is determined (S1306). For example, if the terminal device 100 uses an AI model that has been trained mainly on Japanese, the score may be poor when the model is used for foreign workers. When the server 300 determines that the attribute is a foreigner as a result of the analysis, the server 300 selects an AI model according to the result.
  • the server 300 transmits the determined AI model together with the parameters to the terminal device 100 (S1307). Accordingly, the terminal device 100 follows the instructions from the server 300 and changes/changes the AI model and parameters. The terminal device 100 changes to the received AI model, restarts the system (analysis processing unit 103), and executes analysis based on the changed AI model and settings (S1105 to S1110).
  • the AI model is changed by partially rewriting the logic data after stopping the AI analysis process.
  • AI processing is performed using a device other than the FPGA, only the AI model is changed.
  • the parameter settings are changed so that the image can be captured with high resolution.
  • power consumption can be suppressed, and the amount of data when transmitting image data to the server 300 can be reduced.
  • settings are made so that the terminal device 100 can perform an optimum analysis operation according to the situation in which the terminal device 100 is placed, such as the content of the analysis and the information acquired by the sensor 109. change.
  • this embodiment can appropriately perform analysis suitable for the hardware resources of the terminal device 100 .
  • it is possible to change the setting almost in real time using the analysis result in the terminal device 100 .
  • the amount of data transmitted to the server 300 can also be reduced in this embodiment, the load on the communication system 200 can be reduced.
  • FIG. 7 is a block diagram showing a schematic configuration of an information processing system 2 according to the second embodiment.
  • 8 and 9 are block diagrams for explaining the functions of the information processing system 1 according to the second embodiment.
  • FIG. 8 is a diagram showing the terminal device portion
  • FIG. 9 is a diagram showing the server portion. be.
  • the terminal device 100 of the information processing system 2 according to the second embodiment is movable.
  • the terminal device 100 of the second embodiment is a robot that moves autonomously, as shown in FIG.
  • the robot is equipped with a sensing device (sensor 109).
  • This terminal device 100 has an autonomous movement control unit 121, a global navigation satellite system (GNSS (Global Navigation Satellite System)) unit 122, and a drive unit 129 for autonomous movement, as shown in FIG.
  • Drive unit 129 includes, for example, a motor, wheels (including axles) driven by the motor, a power source for the motor, a steering device, and the like.
  • the terminal device 100 also has a scenario determining section 125 .
  • settings related to movement of the terminal device 100 are added as analysis operation settings, and the settings related to movement are also changed by the analysis operation setting control unit 102 .
  • Other analysis operation settings are the same as in the first embodiment.
  • the autonomous movement control unit 121 controls the driving unit 129 to move the terminal device 100 based on the position information measured by the GNSS unit 122 .
  • the GNSS unit 122 is a positioning system using satellites, and recognizes the coordinates of the current position of the terminal device 100 itself.
  • Examples of global positioning satellite systems include the US GPS (Global Positioning System), Japan's Quasi-Zenith Satellite System (QZSS), Russia's GLONASS, and the European Union's Galileo.
  • Positioning of the current position of the terminal device 100 is not limited to GNSS, and for example, a dedicated radio positioning system may be used in a specific space. Positioning of the current position of the terminal device 100 may be performed not only by satellite radio waves but also by a positioning system using radio waves from base stations of public mobile communication lines. Further, positioning of the current position of the terminal device 100 may be performed by combining the GNSS section 122 and an inertial measurement unit (IMU).
  • IMU inertial measurement unit
  • the position of the terminal device 100 is set by the analysis operation setting control unit 102 as one of the analysis operation settings. For this reason, the analysis operation setting control unit 102 sets the position of the destination and the route to the position to the autonomous movement control unit 121 as coordinate values or positions on the map data.
  • the autonomous movement control unit 121 controls the driving unit 129 to move the terminal device 100 from the current position to the set coordinate value or position on the map data.
  • the destination of the terminal device 100 is instructed by the analysis operation setting control unit 102 from the analysis result by the analysis processing unit 103 or by the analysis result by the server 300 .
  • the autonomous movement control unit 121 grasps the surrounding situation based on signals from various sensors necessary for autonomous movement.
  • the autonomous movement control unit 121 adjusts the speed and direction of the terminal device 100 according to surrounding conditions.
  • the scenario determination unit 125 determines a scenario 126 for analysis.
  • Various scenarios 126 are prepared according to the content of analysis and the purpose of analysis.
  • the use of the terminal device 100 that moves autonomously may change depending on the destination.
  • the scenario determination unit 125 changes the scenario 126 so that analysis according to the current location of the terminal device 100 is performed.
  • a plurality of scenarios 126 are stored in the storage 107 of the terminal device 100 so as to correspond to various situations (places of movement).
  • the capacity of the storage 107 of the terminal device 100 is smaller than that of the server storage 307 of the server 300 . Therefore, a plurality of scenarios 126 may be stored in the server 300, and the scenario determining section 125 may request the server 300 to transmit them.
  • the GNSS unit 122 and the drive unit 129 are added to the hardware configuration of the terminal device 100 described in the first embodiment.
  • the GNSS unit 122 may be incorporated into the SoC FPGA 110 (except for the antenna portion of the GNSS unit 122), or may be a processor chip separate from the SoC FPGA 110.
  • the function of the scenario determination unit 125 is achieved by a program incorporated in the SoC FPGA 110 .
  • the moving terminal device 100 is not limited to an autonomously moving robot.
  • it may be an aerial drone or an underwater drone that moves autonomously.
  • the mobile terminal device 100 may be attached to a robot arm, and the terminal device 100 may be moved by the movement of the robot arm.
  • the terminal device 100 may have a structure attached to a vehicle or the like that moves under human control.
  • the server 300 has a movement destination instruction unit 321 and a data transmission unit 104 as functions.
  • the destination instruction unit 321 determines the destination position of the terminal device 100 and instructs the determined destination position to the terminal device 100 via the data transmission unit 104 .
  • the destination position and route are basically indicated by the coordinate values in the GNSS unit 122 and transmitted to the terminal device 100 .
  • map data indicating the movement range may be used as the destination position and route when the movement range is determined in advance.
  • Map data is stored in server storage 307 .
  • the destination designation unit 321 uses this map data to designate the position and route of the destination.
  • the designated destination position and route are transmitted to the terminal device 100 via the data transmission section 324 and the wireless communication section 301 .
  • map data may be changed according to the range of use.
  • server 300 functions of the server 300 are the same as those of the first embodiment, so description thereof will be omitted. Further, since the hardware configuration is also the same as that of the first embodiment, description thereof is omitted.
  • the terminal device 100 is a robot that moves autonomously, as already described. This robot has an image sensor (movie camera) as the sensor 109 .
  • the terminal device 100 starts scenario processing (S2101). Scenarios 126 starting at this stage are received from server 300 and stored in memory or DRAM 108 within SoC FPGA 110 .
  • the terminal device 100 moves independently to a position where the entire venue of the monitoring target location (inside the facility, etc.) can be photographed (S2102).
  • a location where the entire venue of the location to be monitored (such as in a facility) can be photographed may be stored in the memory or DRAM 108 within the SoC FPGA 110 as, for example, the origin location.
  • the terminal device 100 AI-analyzes the data from the sensor 109 (S2103).
  • AI analysis is performed by the AI model set at this stage by the analysis processing unit 103 as in the first embodiment.
  • the terminal device 100 measures its own (terminal device 100) current position (S2104).
  • the location of terminal device 100 is performed by GNSS unit 122 .
  • the terminal device 100 transmits the scenario 126 being executed, the AI analysis result, and the terminal location information to the server 300 (S2105).
  • the server 300 receives the data transmitted from the terminal device 100 (S2301).
  • the data to be received are the running scenario 126, the AI analysis result, and the terminal location information transmitted in S2103.
  • the server 300 stores the received data in the server storage 307 together with the ID of the terminal device 100 that sent it.
  • the server 300 determines an AI model suitable for the current situation of the terminal device 100 according to the scenario 126 being executed from the received data (the scenario being executed, the AI analysis result, and the terminal position). (S2302).
  • the server 300 determines the parameters of the sensor 109 from the received data (S2303).
  • Parameters of the sensor 109 are, for example, resolution, angle of view (zoom magnification), frame rate, and the like.
  • the server 300 inquires about the list of AI models (AI model list) already stored in the terminal device 100 (S2304).
  • the terminal device 100 Upon receiving this inquiry, the terminal device 100 transmits a list of stored AI models (AI model list) (S2106).
  • AI model list a list of stored AI models
  • the server 300 receives the AI model list (S2305).
  • the server 300 determines whether to send the AI model to be used (S2306).
  • the server 300 transmits the AI model to the terminal device 100 when it is necessary to transmit the AI model as a result of the determination in step S2306 (S2307).
  • the terminal device 100 receives the AI model data (control program and/or logical data 106) (S2107).
  • the terminal device 100 stores the received AI model in the memory or DRAM 108 within the SoC FPGA 110 (S2108). Also, the received AI model is stored according to the capacity of the storage 107 . The AI models stored in the storage 107 may be deleted in order of reception time or last used time, and newly received ones may be stored.
  • the server 300 determines the destination of the terminal device 100 and the route there (S2308).
  • the server 300 transmits the destination, route, AI model change timing, and parameters to the terminal device 100 (S2309).
  • the terminal device 100 receives data on the destination, route, AI model change timing, and parameters (S2109).
  • the terminal device 100 changes the AI model to self-propelled object detection (S2110).
  • this step is not executed.
  • the terminal device 100 starts moving itself (the terminal device 100) along the designated route, moves to the destination, and stops (S2111).
  • the terminal device 100 changes the AI model according to the change timing specified by the server 300 (S2112). At this time, the terminal device 100 rewrites the logic data for the AI accelerator (in the case of FPGA) (S2113). If the terminal device 100 has a configuration other than an FPGA, a control program for executing the AI model is installed. At this time, the terminal device 100 also changes the settings of the sensor 109 according to the received parameters.
  • the terminal device 100 executes analysis using the AI model after the change (S2114).
  • the terminal device 100 transmits the analysis result to the server 300 (S2115).
  • the terminal device 100 After that, if there is no instruction to end processing (S2116: NO), the terminal device 100 returns to S2111 and continues the subsequent processing. The reason for returning to S2111 is to repeat AI analysis and movement. Therefore, when returning to S2110 through steps S2114 and S2115, the terminal device 100 moves to the next destination in S2111. On the other hand, if there is an instruction to end the process (S2116: YES), the terminal device 100 ends the process (END).
  • the server 300 that has received the AI analysis result determines the received AI analysis (S2310).
  • the server 300 After that, if the server 300 receives an instruction to end the process (S2311: YES), it ends the process (END). When the processing is completed, the server 300 displays the analysis result, determination result, etc. on the operation display unit 360 and stores them in the server storage 307 . Also, the analysis results, determination results, and the like may be transmitted to the terminal device 100 designated in advance. On the other hand, if there is no instruction to end processing (S2311: NO), the server 300 transmits the determination result to the terminal device 100 (S2312). After that, the terminal device 100 continues the process from step S2110. Note that even when the process is not finished (S2311: NO), the server 300 may display the analysis results and determination results at that time and store them in the server storage 307. FIG.
  • Specific example 1 assumes a situation in which a remote class, a seminar, an examination, or the like is conducted using one autonomously moving robot (terminal device 100). More specifically, for example, it is a situation in which the terminal device 100 capable of autonomous movement automatically monitors whether a student is cheating in a test or the like.
  • Scenario 126 is identity verification for fraud prevention.
  • the terminal device 100 moves to a position where the entire venue can be photographed with a so-called retracted angle of view (S2102). Then, the terminal device 100 executes face detection from the captured image (S2103). For example, the terminal device 100 is deployed at the examination venue 15 minutes before the start of the examination. Then, the terminal device 100 moves to a position where the entire hall can be seen, and photographs the entire seats in the examination hall.
  • the terminal device 100 is set with an AI model for face detection, detects the existence of a face from the entire camera image, and specifies the position of the face in the image. The position of the face is not the position within the frame, but the position within the shooting range that can be determined from the image.
  • the positions of the seats in the classroom are coordinated in advance, and the coordinates of the seat where the face is detected are used as the position of the face.
  • the position of the face can be determined by, for example, measuring the distance from the sensor 109 (or the terminal device 100) to the object to be photographed (here, the face) in the same manner as in the first embodiment, and measuring the position (two-dimensional) in the frame and the sensor 109. It may be a position in a three-dimensional coordinate system to which the distance from is added.
  • the terminal device 100 measures its own current position (S2104). Position measurements are performed by the GNSS unit 122 . In addition, since position measurement using GNSS indoors may cause errors, position estimation from captured images and position estimation using millimeter-wave received radio wave intensity are used to improve accuracy. You may
  • the terminal device 100 receives the scenario 126 being executed (person confirmation for fraud prevention), detection of a face as an analysis result, positional information of the face in the image, and positional information of the terminal device 100. are collectively transmitted to the server 300 (S2105).
  • the server 300 determines the position of the terminal device 100, the AI model, and the parameters of the sensor 109 from the analysis results (S2301-S2303).
  • a plurality of AI models for performing detailed processing are prepared in the server 300 based on the scenario 126, and the AI model to be executed by the terminal device 100 after this is selected from the scenario 126 being executed by the terminal device 100. decide.
  • scenario 126 being executed on the terminal device 100 is "identification for fraud prevention". Therefore, it can be seen that the processing to be executed by the terminal device 100 in the future should be changed from face detection to face authentication.
  • the next action taken by the terminal device 100 is to autonomously move to a position where face authentication processing is possible, change the AI model to face authentication after the movement, and perform face authentication for each person. is to go.
  • the server 300 checks whether the AI model to be executed on the terminal device 100 is stored in the terminal device 100 (S2304). If the face recognition AI model is already stored in the terminal device 100, the server 300 proceeds to determine the terminal position. transmits an AI model for face authentication to the terminal device 100 (S2305-S2307). Since the present embodiment uses the 5G communication system 200, it is possible to exchange AI model data (control programs and/or logic data 106) in real time. On the other hand, the terminal device 100 receives the received AI model data and stores it in the storage 107 (S2107-S2108).
  • the server 300 determines the destination and route of the terminal device 100 .
  • the server 300 holds map data of test venues.
  • the server 300 maps the face detection position transmitted from the terminal device 100 to this map data.
  • a travel route for performing face authentication of all members most efficiently is determined (S2308).
  • the server 300 transmits the destination of the terminal device 100, the route, the change timing of the AI model, and the parameters (S2309).
  • the AI model change timing is instructed after the terminal device 100 stops at the destination.
  • the terminal device 100 changes the AI model to self-propelled object detection. Since the AI model for self-propelled object detection is stored in the terminal device 100 in advance, the terminal device 100 reads it and changes it.
  • the terminal device 100 itself can avoid obstacles on the route and move autonomously by the modified AI model for self-propelled object detection (S2110). This is because, for example, there is a possibility that the moving route presented by the server 300 cannot be taken depending on the situation at the site. Further, by moving autonomously, the terminal device 100 can move to the target position even when there is an error in the route instructed by the server 300 or when a rough route is instructed.
  • the terminal device 100 starts moving to the stop position received from the server 300 and stops at the stop position (S2111).
  • the terminal device 100 changes the AI model when it is time to change the AI model (S2112).
  • the terminal device 100 suspends the AI analysis, partially (or wholly) rewrites the logic data, and restarts as necessary (S2113).
  • the AI model of the terminal device 100 can be changed not when the system program or the like is replaced, but when circumstances change and the AI model needs to be replaced.
  • the terminal device 100 executes analysis by the AI model and transmits the result to the server 300 (S2114-S2115).
  • the AI model for face authentication creates a feature amount of the face as an analysis result and creates feature data.
  • the terminal device 100 determines that the image pickup position by the sensor 109 is in front of the face. You may move autonomously so as to come to
  • Scenario 126 is person confirmation for fraud prevention, so server 300 determines, for example, whether or not feature data, which is the analysis result, matches pre-registered feature data (S2310). Here, if the feature data of the face of the seat matches the registered feature data, the server 300 determines that the identity has been verified and transmits the result to the terminal (S2312). If the personal identification is obtained, the terminal device 100 autonomously moves to perform the next face authentication as necessary (returns to step S2110).
  • data is exchanged in real time between the terminal device 100 and the server 300, and by switching the AI model, it is possible to perform optimal analysis in response to changes in the situation. can be used, and the analysis accuracy is improved. For example, if the face is small or the face is not facing the front, there is a concern that the analysis accuracy will decrease.
  • the terminal device 100 can move autonomously, it is possible to change the position of the terminal device 100 and perform face recognition and analysis again, thereby further improving analysis accuracy. can be done.
  • Such real-time control especially takes advantage of the low latency of 5G.
  • Specific example 2 Another specific example will be described. Specific example 2 assumes a situation in which a single autonomously moving robot (terminal device 100) is used to perform sports instruction remotely. Sports coaching is, for example, form coaching.
  • the scenario 126 is, for example, golf swing analysis. Scenarios 126 may be for other sports, and may be prepared according to the contents of guidance such as baseball pitching form, batting form, soccer shooting form, and the like.
  • the terminal device 100 moves to a position where the whole body is captured, analyzes the swing of the person to be analyzed using the skeleton detection AI model, and acquires the movement of the skeleton.
  • the acquired data is transmitted to the server 300 (S2101 to S2104).
  • Skeleton detection can be performed by automatically capturing the scene where the analysis target is swinging, or by playing a display or voice saying "Please swing” to prompt the user to swing.
  • the terminal device 100 transmits to the server 300 the fact that the scenario 126 is "golf swing analysis", the skeleton detection result, and its own position information (S2105).
  • the server 300 determines the position and AI model of the terminal device 100 and the parameters of the sensor 109 based on the received data (S2301-S2303).
  • the server 300 estimates the shooting angle and determines the position of the terminal device 100 so as to achieve the required shooting angle. For example, if server 300 requires front and left/right skeletal positions for swing analysis, server 300 determines the movement destination of terminal device 100 so as to correspond to those directions, and transmits them (S2304 to S2309).
  • the server 300 also determines whether the analysis speed of the terminal device 100 is satisfactory. For example, high-level players have faster swing speeds than ordinary people, and there are cases where accurate analysis cannot be performed at normal analysis speed (frame rate).
  • a determination criterion in such a case is, for example, the calculation of the moving distance of the skeleton. Specifically, when the movement coordinates of the elbow are larger than the threshold value, it is determined that the player is swinging at high speed. In such a case, the server 300 determines that the AI analysis of the terminal device 100 is not compatible. Also, if there is no skeletal posture that serves as a reference for analysis, there is a high possibility that the frame rate is insufficient. In such a case, server 300 modifies the parameters of sensor 109 to achieve a high frame rate. Note that when the frame rate is changed, the AI model is also changed to one that supports a high frame rate as necessary.
  • AI models may be used when shooting the left swing and when shooting the right swing.
  • the analysis is repeatedly executed by the autonomous movement of the terminal device 100 and the AI model (S2110 to S2115 and S2310 to S2312).
  • the shooting target for form analysis was assumed to be stationary on the spot (excluding movements such as swings), but for example, the shooting target may be moving assuming motion analysis during a game.
  • the terminal device 100 tracks the object to be photographed, and if it is determined that the movement of the object to be photographed has become faster, changes the parameters to a higher frame rate, and if it is determined that the movement of the object to be photographed has become slower, changes the parameter to a lower frame rate, and so on.
  • the terminal device 100 may utilize not only a robot that runs on the ground, but also an aerial drone.
  • the frame rate for analysis may be insufficient (such as the movement distance of the skeletal body exceeding the set threshold value, points corresponding to the reference cannot be obtained, etc.). In such a case, the resolution may be lowered and the frame rate may be increased.
  • the AI model is changed to another function at the timing when the specified movement position is reached.
  • the parameters or only the AI model may be changed and not moved according to the AI processing result.
  • Specific example 3 is a situation in which two autonomously moving robots (terminal devices 100) are used and they cooperate to execute AI analysis. When such two terminal devices 100 operate in cooperation, there are roughly two patterns. In the first pattern, two terminal devices 100 cooperate via the server 300 . In the second pattern, two terminal devices 100 cooperate without intervening the server 300 . In the following description, the two terminal devices 100 are referred to as a first terminal device (ID1) and a second terminal device (ID2).
  • the server 300 determines the movement position, AI model, and device parameters of each terminal device 100 from the analysis results of the two terminal devices 100 .
  • This first pattern is suitable, for example, when performing sports form analysis from the left and right.
  • the server 300 receives the scenario 126, distance information, and analysis result data from the two terminal devices 100.
  • FIG. If the two terminal devices 100 have the same object coordinates and the same scenario 126, the server 300 determines that the two terminal devices 100 will analyze the same object. Operate the device 100 in cooperation (S2101 to S2105 and S2301) Subsequently, the server 300, based on the contents of the scenario 126, connects one terminal device 100 (first terminal device (ID1)) and another terminal device 100 (second terminal device (ID2)) to each , sorts out what kind of analysis is to be executed. For example, when form determination requires analysis from the front and left and right, the first terminal (ID1) analyzes the left and right, and the second terminal (ID2) analyzes the front. This sorting may be determined according to the performance (spec) of each terminal device 100 . For example, the sorting may be performed by the high-spec terminal devices 100 being analyzed more often.
  • This sorting is performed as part of the AI model determination process in step S2302.
  • the server 300 determines the movement position required for analysis for each terminal. Also, the server 300 determines an AI model at the determined position. The server 300 then transmits each data to each terminal device 100 (S2303 to S2309).
  • Each terminal device 100 that has received each data moves to a specified position, changes the AI model, executes analysis, and transmits the analysis result to the server 300 (S2109 to S2115).
  • the server 300 that has received the analysis results evaluates the analysis results, and if it is necessary to correct the originally distributed analysis content due to analysis failure or the like, the server 300 corrects the distribution.
  • Failures in analysis include, for example, the battery running out while moving, or unnecessary objects such as balls being reflected in the image, making the analysis inaccurate.
  • the server 300 may make the other terminal device 100 responsible for the analysis. For example, when the first terminal device (ID1) completes photographing the right side but before completing photographing the left side, the second terminal device (ID2) completes photographing the front, the server 300 2 terminal device (ID2), and the second terminal device (ID2) is moved and changed to a necessary AI model. On the other hand, the first terminal device (ID1) is instructed to stop photographing and analyzing the left side.
  • the server 300 transmits to each terminal device 100 the AI model, parameters, movement position, and other data necessary for executing the modified analysis.
  • the first terminal device (ID1) does not analyze the left side, and when the analysis on the right side is completed and the analysis result is transmitted, all processing is terminated.
  • the second terminal device (ID2) receives the modified data from the server 300, it moves, changes the AI model, and executes photography and analysis on the left side.
  • the second pattern assumes a situation in which a person is tracked in a relatively wide space. In such situations, it is preferable to determine the roles of the plurality of terminal devices 100 in advance. For example, one terminal device 100 is the master and the other is the slave. The terminal device 100 that has become the master executes the function of the server 300 in addition to the function of the terminal device 100 . If there is a difference in performance between the two terminal devices 100, the terminal device 100 with higher functionality is set as the master.
  • the first terminal device (ID1) is assumed to be the master
  • the second terminal device (ID2) is assumed to be the slave.
  • the first terminal device (ID 1) captures a picture in the background, and from the analysis result, the second terminal device (ID 2) tracks the suspicious person.
  • the distance to the suspicious person may be determined more accurately by using not only the image sensor but also the already-described distance measuring sensor.
  • the first terminal device (ID1) is used to shoot the pull-up from the event venue as wide as possible, and from a position where tracking is possible even if the person to be tracked moves. However, shooting with pull-down is within a range where a person can be detected. If the entire event venue cannot be photographed with one terminal device 100, the number of terminal devices 100 may be increased in order to photograph the entire venue.
  • the position of the tracked person is transmitted from the first terminal device (ID1) to the second terminal device (ID2). Move closer to the person and shoot. As a result, it is possible to improve the analysis accuracy of the object to be photographed, and to identify a suspicious person, for example.
  • the first terminal device (ID1) and the second terminal device (ID2) may use different parameters or different equipment.
  • the sensor 109 (camera) of the first terminal device (ID1) sets the zoom magnification to the wide-angle side or uses a wide-angle lens so that a wider range can be captured.
  • the sensor 109 (camera) of the second terminal device (ID2) may use a lens with a high zoom ratio so that the face of the suspicious person can be photographed.
  • the first terminal device (ID1) may be a fixed terminal device 100
  • the second terminal device (ID2) may be a terminal device 100 capable of autonomous movement.
  • the shooting direction can be changed, that is, the device can be swung vertically and horizontally.
  • the first terminal device finds a suspicious person (capturing target), it retreats to a position where the suspicious person has a certain size in the center so as not to overlook the suspicious person.
  • the first terminal device (ID1) measures the position of the suspicious person on the image from its own operation settings (angle of view, resolution, camera installation height). The measured positions are obtained as coordinates (S2101 to S2105). At this time, if only one sensor 109 (camera) is used, the error in position measurement to the object to be photographed becomes large. It may be calculated. Also, the distance to the suspicious person may be measured with higher accuracy using a distance measuring sensor (depth camera, lidar, etc.).
  • the suspicious person detection information is determined within the first terminal device (ID1). This is the function of server 300 .
  • the first terminal device (ID1) further calculates the position (coordinates) of the movement destination of the second terminal device (ID2) and transmits it to the second terminal device (ID2) (S2301 to S2303).
  • the second terminal device (ID2) moves to the indicated position, takes a close-up photo of the suspicious person, and performs detailed analysis.
  • the first terminal device (ID1) transmits an AI model for face authentication to the second terminal device (ID2) as necessary (S2304-S2307 and S2106-S2108).
  • the second terminal device (ID2) may be able to keep track of a certain distance so that the tracking is not known to the suspicious person during the tracking.
  • the second terminal device may lose sight of a suspicious person during tracking, such as a suspicious person entering a blind spot or being unable to track the suspicious person in time, and the frame being out of the shooting range.
  • the analysis by the first terminal device (ID1) is performed again, the position of the suspicious person is determined, and the second terminal device (ID2) is moved closer to the suspicious person again. After the movement, the first terminal device (ID1) resumes photographing and analysis (S2308-S2311 and S2109-S2115).
  • the second embodiment can handle various situations by using a plurality of self-propelled terminal devices 100 in cooperation.
  • the second embodiment for example, according to the analysis result of one terminal device 100, another movable terminal device 100 in a distant place is called, and the terminal device 100 analysis can be performed.
  • the photographing and analysis can be handed over to the first terminal device on another floor.
  • the server 300 searches for the terminal device 100 that exists in the destination where the suspicious person is supposed to move, and checks whether there is an empty terminal device 100 . Then, if there is an available terminal device 100, the server 300 determines whether the available terminal device 100 has the specs necessary for analysis such as suspicious person detection and person identification. The specs are the performance of the CPU and memory, the capacity of the image sensor installed, and the like. If there is no problem with these, the server 300 transmits the movement instruction and the AI model to the relevant terminal device and causes the relevant terminal device 100 to take over the analysis.
  • a night vision camera or an infrared camera is used. Capturing and analysis can be handed over to the second terminal device to be installed.
  • the present invention is not limited to the above-described embodiments.
  • the conditions and numerical values used in the description of the embodiments are for illustrative purposes only, and the present invention is not limited to these conditions and numerical values.
  • an example using two terminal devices 100 has been described, but the number of terminal devices may be one, two or more, or more.
  • the information processing program according to the present invention can also be realized by a dedicated hardware circuit.
  • this information processing program may be provided by computer-readable recording media such as USB (Universal Serial Bus) memory and DVD (Digital Versatile Disc)-ROM (Read Only Memory), or may be provided on the Internet, etc., regardless of the recording medium. It is also possible to provide online through the network of When provided online, this information processing program is recorded on a recording medium such as a magnetic disk in a computer connected to a network.
  • 1, 2 information processing system 100 terminal device, 101 wireless communication unit, 102 analysis operation setting control unit, 103 analysis processing unit, 104 data transmission unit, 105 machine learning model modifier, 106 control programs and/or logic data; 107 Storage, 109 sensors, 121 autonomous movement control unit, 122 GNSS Department, 125 Scenario Determination Department, 126 scenarios, 129 drive, 150 5G communication interface, 200 5G communication system, 300 server, 301 wireless communication unit, 302 terminal reception data analysis unit, 303 terminal function control unit, 307 server storage, 321 Destination Designator.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Telephonic Communication Services (AREA)

Abstract

【課題】状況に応じて端末装置の機能を切り替えることできる情報処理システムを提供する。 【解決手段】センサー109を有し、センサー109からのデータを解析処理する端末装置100と、無線通信を介して端末装置100とデータ伝送を行うサーバー300と、を有する情報処理システム1であって、センサー109からのデータを解析処理するための端末装置100の設定である解析動作設定を制御する解析動作設定制御部102を有し、解析動作設定制御部102は、最適な解析が行えるように解析動作設定を制御する、情報処理システム1。

Description

情報処理システムおよび情報処理プログラム
 本発明は、情報処理システムおよび情報処理プログラムに関する。
 近年、人工知能(AI(Artificial Intelligence))による解析によって様々な処理を実行するための技術が開発されている。しかし、AI解析を実行するためには、ある程度の処理能力が必要となる。たとえば、特許文献1の技術は、ゲートウェイに接続されたエッジデバイス(端末装置)を使用して機械学習を行うコンピュータシステムを提供する。この技術では、複数のエッジデバイスの処理能力に応じて、機械学習を実行させるか、他のコンピューターに実行させる機械学習に必要なデータの送信だけを実行させるかを選択して実行させている。
国際公開第18/100678号
 しかしながら、従来技術は、端末装置に機械学習させるか、データ送信させるかの切り替えを、端末装置のシステム更新の一環として実行している。このため、従来技術では、システム起動中には、選択された1つの機能しか実行することができず、状況に応じて端末装置の機能を切り替えることはできない。
 そこで本発明の目的は、状況に応じて端末装置の機能を切り替えることできる情報処理システムおよび情報処理プログラムを提供することである。
 本発明の上記目的は、下記の手段によって達成される。
 (1)センシングデバイスを有し、前記センシングデバイスからのデータを解析処理する端末装置と、
 無線通信を介して前記端末装置とデータ伝送を行うサーバーと、を有する情報処理システムであって、
 前記センシングデバイスからのデータを解析処理するための前記端末装置の設定である解析動作設定を制御する制御部を有し、
 前記制御部は、最適な解析が行えるように前記解析動作設定を制御する、情報処理システム。
 (2)前記端末装置による前記解析処理は、人工知能の機械学習モデルによる処理であり、
 前記制御部による前記解析動作設定の制御は、前記機械学習モデルの変更を含む、上記(1)に記載の情報処理システム。
 (3)前記制御部は、前記解析処理による解析結果に応じて、前記解析動作設定を変更する、上記(1)または(2)に記載の情報処理システム。
 (4)前記端末装置は、移動可能である、上記(1)~(3)のいずれか1つに記載の情報処理システム。
 (5)前記制御部は、前記解析処理による解析結果に応じて、前記端末装置の移動先を指定する、上記(4)に記載の情報処理システム。
 (6)前記制御部は、前記端末装置の位置に応じて、前記解析動作設定を変更する、上記(4)または(5)に記載の情報処理システム。
 (7)前記制御部は、前記端末装置から前記センシングデバイスによるセンシング対象までの距離に応じて、前記解析動作設定を変更する、上記(1)~(6)のいずれか1つに記載の情報処理システム。
 (8)前記センシングデバイスは、動画を撮影するカメラであり、
 前記制御部は、前記動画に写っている対象物のフレーム間での移動距離に応じて、前記解析動作設定を変更する、上記(1)~(7)のいずれか1つに記載の情報処理システム。
 (9)前記制御部は、前記制御部による前記解析動作設定の制御は、前記センシングデバイスの動作、非動作の切り替えを含む、上記(1)~(8)のいずれか1つに記載の情報処理システム。
 (10)複数の前記端末装置を有し、
 前記制御部は、前記端末装置ごとに前記解析動作設定を制御する、上記(1)~(9)のいずれか1つに記載の情報処理システム。
 (11)複数の前記端末装置のそれぞれは、前記センシングデバイスのデータおよび/または前記解析処理による解析結果を前記サーバーへ送信し、
 前記サーバーは、前記センシングデバイスのデータおよび/または前記解析処理による解析結果を送信した前記端末装置に対応付けして記憶する記憶部を有し、
 前記制御部は、前記記憶部に記憶された前記センシングデバイスのデータおよび/または前記解析処理による解析結果に基づいて、それぞれの前記端末装置の前記解析動作設定を制御する、上記(9)に記載の情報処理システム。
 (12)前記制御部は、前記解析処理による解析結果に基づいて、複数の前記端末装置の中から、前記解析処理を実行させる前記端末装置を選択する、上記(10)または(11)に記載の情報処理システム。
 (13)前記制御部は、複数の前記端末装置のそれぞれの位置に応じて、前記解析処理を実行させる前記端末装置を選択する、上記(10)~(12)のいずれか1つに記載の情報処理システム。
 (14)センシングデバイスを有し、前記センシングデバイスからのデータを解析処理する端末装置と、
 無線通信を介して前記端末装置とデータ伝送を行うサーバーと、を有する情報処理システムにおける前記端末装置を制御する情報処理プログラムであって、
 前記センシングデバイスからのデータを解析処理する前記端末装置が最適な解析が行えるように前記端末装置の設定である解析動作設定を制御する段階を、コンピューターに実行させるための情報処理プログラム。
 (15)前記端末装置による前記解析処理は、人工知能の機械学習モデルによる処理であり、
 前記解析動作設定を制御する段階は、前記機械学習モデルの変更を含む、上記(14)に記載の情報処理プログラム。
 (16)前記解析動作設定を制御する段階は、前記解析処理による解析結果に応じて、前記解析動作設定を変更する、上記(14)または(15)に記載の情報処理プログラム。
 (17)前記端末装置は、移動可能である、上記(14)~(16)のいずれか1つに記載の情報処理プログラム。
 (18)前記解析動作設定を制御する段階は、前記解析処理による解析結果に応じて、前記端末装置の移動先を指定する、上記(17)に記載の情報処理プログラム。
 (19)前記解析動作設定を制御する段階は、前記端末装置の位置に応じて、前記解析動作設定を変更する、上記(17)または(18)に記載の情報処理プログラム。
 (20)前記解析動作設定を制御する段階は、前記端末装置から前記センシングデバイスによるセンシング対象までの距離に応じて、前記解析動作設定を変更する、上記(14)~(19)のいずれか1つに記載の情報処理プログラム。
 (21)前記センシングデバイスは、動画を撮影するカメラであり、
 前記解析動作設定を制御する段階は、前記動画に写っている対象物のフレーム間での移動距離に応じて、前記解析動作設定を変更する、上記(14)~(20)のいずれか1つに記載の情報処理プログラム。
 (22)前記解析動作設定を制御する段階は、前記センシングデバイスの動作、非動作の切り替えを含む、上記(14)~(21)のいずれか1つに記載の情報処理プログラム。
 (23)複数の前記端末装置を有し、
 前記解析動作設定を制御する段階は、前記端末装置ごとに前記解析動作設定を制御する、上記(14)~(22)のいずれか1つに記載の情報処理プログラム。
 (24)複数の前記端末装置のそれぞれは、前記センシングデバイスのデータおよび/または前記解析処理による解析結果を前記サーバーへ送信し、
 前記サーバーは、前記センシングデバイスのデータおよび/または前記解析処理による解析結果を送信した前記端末装置に対応付けして記憶する記憶部を有し、
 前記解析動作設定を制御する段階は、前記記憶部に記憶された前記センシングデバイスのデータおよび/または前記解析処理による解析結果に基づいて、それぞれの前記端末装置の前記解析動作設定を制御する、上記(23)に記載の情報処理プログラム。
 (25)前記解析動作設定を制御する段階は、前記解析処理による解析結果に基づいて、複数の前記端末装置の中から、前記解析処理を実行させる前記端末装置を選択する、上記(23)または(24)に記載の情報処理プログラム。
 (26)前記解析動作設定を制御する段階は、複数の前記端末装置のそれぞれの位置に応じて、前記解析処理を実行させる前記端末装置を選択する、上記(23)~(25)のいずれか1つに記載の情報処理プログラム。
 本発明では、センシングデバイスを有する端末装置において、端末装置が実行する解析処理の動作設定を制御することとした。これにより、本発明は、端末装置によるセンシングデバイスからのデータの解析を、端末装置が置かれている状況に応じて最適化することができる。
実施形態1に係る情報処理システム1の概略構成を示すブロック図である。 実施形態1に係る情報処理システムの機能を説明するためのブロック図である。 端末装置のハードウェア構成の一例を示すブロック図である。 サーバーを構成するハードウェアの概略を示すブロック図である。 実施形態1における処理手順を示すフローチャートである。 実施形態1における処理手順を示すフローチャートである。 実施形態2に係る情報処理システムの概略構成を示すブロック図である。 実施形態2に係る情報処理システムの機能を説明するためのブロック図である。 実施形態2に係る情報処理システムの機能を説明するためのブロック図である。 実施形態2における処理手順を示すフローチャートである。 実施形態2における処理手順を示すフローチャートである。
 以下、図面を参照して、本発明の実施形態を詳細に説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
 (実施形態1)
 (情報処理システム)
 図1は、実施形態1に係る情報処理システム1の概略構成を示すブロック図である。図2は、実施形態1に係る情報処理システム1の機能を説明するためのブロック図である。
 図1および図2に示すように、実施形態1に係る情報処理システム1は、端末装置100、5G通信システム(以下、通信システム200と称する)、およびサーバー300を有する。
 (端末装置)
 端末装置100は、センシングデバイス(以下単にセンサー109(詳細後述)という)を有し、センサー109が検知した情報(データ)をサーバー300へ送信する。また、端末装置100は、センサー109からのデータを使用して、人工知能(AI)による解析を実行する。
 このような端末装置100は、エッジデバイス、エッジ端末などとも称され、IoT(Internet of Things)にも使用され得る電子機器である。端末装置100は、たとえば、スマートフォンやタブレットコンピューターなどの携帯端末装置、カメラに無線装置および処理ためのコンピューターを取り付けた(内蔵した)監視カメラ装置などである。
 端末装置100の機能は、図2に示すように、無線通信部101、解析動作設定制御部102、解析処理部103、データ送信部104、および機械学習モデル変更部105を有する。これら各部は、本実施形態1においては、SoCFPGA(System-on-a-Chip Field-Programmable Gate Array)によって構成される(詳細後述)。また、端末装置100は、ストレージ107、およびセンサー109が接続(または一体化)されている。また、端末装置100は、SoCFPGA内部のメモリー(DRAMなど)とは別に、DRAM108などのメモリーが接続(または一体化)されてもよい。別に接続されるメモリーは、DRAM108に代えて、またはDRAM108とともに、フラッシュメモリーなどの高速動作する不揮発性メモリーであってもよい。
 無線通信部101は、通信システム200と、5Gによる通信を実行する。無線通信部101は、端末装置100から通信システム200を介してサーバー300へデータを送信する。また、無線通信部101は、サーバー300から送信されたデータを、通信システム200を介して受信する。
 解析動作設定制御部102は、センサー109から取得したデータを解析処理するための設定(解析動作設定)を制御する。この解析動作設定制御部102は、最適な解析が行えるように解析動作設定を制御する制御部である。
 解析動作設定としては、たとえば、解析処理部103で実行される、人工知能(AI)による機械学習モデルがある。AIによる機械学習モデルは、あらかじめAIによって機械学習されたものである。本実施形態では、AIによる機械学習モデルをAIモデルと称する。AIモデルは、センサー109からの入力に対して、解析結果を出力する。AIモデルによる解析内容は、たとえば、画像(フレーム)内における人物や、物体の認識、人物の顔や骨格の認識、人物(または物体)の動きの認識、人物(または物体)の属性の判定などがある。AIモデルは、解析内容に応じて変更される。解析動作設定制御部102は、この機械学習モデル(AIモデル)を、認識された人物や物体、またはそれらの動きなどに合わせて、さらに解析を継続、または別な解析をするために変更する。
 また、解析動作設定としては、端末装置100に備えられているセンサー109の設定がある。センサー109の設定としては、センサー109が動画を撮影するカメラの場合撮影する画像(動画または静止画)の解像度である。また、センサー109が動画を撮影するカメラ(ムービーカメラとも称する)の場合、解像度に加えてフレームレートがある。また、センサー109がズームレンズ付きカメラの場合、これらに加えて、ズームレンズの倍率がある。これらのセンサー109の設定はパラメーターとして提供され、解析動作設定制御部102が、パラメーターに基づいてセンサー109を設定する。
 具体的には、たとえば、動画のフレーム内に写っている対象物のフレーム間での移動距離に応じて、解析動作設定制御部102は、フレームレートを変更する。ここで、対象物とは、AIモデルによる解析によって検出および/または認識する目的物であって、たとえば、人物、動物、物体などである。フレームレートは、たとえば、倍の速さにすることで、フレーム間における対象物の移動距離は、半分になる。これは、動きの速い対象物を認識した場合、フレームレートを速くすることで、多くのフレームで、その対象物と捉えることができ、対象物の輪郭や動きをはっきりと、確実に解析できる。
 また、たとえば、センサー109がズームレンズ付きカメラの場合、解析動作設定制御部102は、ズームレンズの倍率を変更する。ズームレンズの倍率を変更することで画角が変わる。たとえば、撮影された画像(フレーム)内に、人物が写っていると判断された場合に、解析動作設定制御部102は、人物をズームアップするように倍率を変更する。フレーム内に人物が写っているか否かは、AIによる解析によって判断される。また、ズームレンズの倍率は、センサー109(または端末装置100本体)から撮影対象(センシング対象である対象物)までの距離に応じて変更することとしてもよい。
 また、解析動作設定としては、端末装置100そのものの動作、非動作の設定がある。たとえば、一時的に端末装置100を使用しない場合、解析動作設定制御部102は、使用しない端末装置を非動作に設定する。
 また、解析動作設定としては、センサー109の動作、非動作の設定がある。たとえば、一時的にセンサー109を使用しない場合、解析動作設定制御部102は、使用しないセンサー109を非動作に設定する。
 これらの設定変更は、端末装置100単独での解析結果に基づいて行われてもよいし、サーバー300からの指令により行われてもよい。
 また、解析動作設定制御部102は、設定変更に際して、必要に応じて、端末装置100(少なくとも解析処理部103の機能)を再起動する。
 解析処理部103は、AIモデルを用いて、センサー109からのデータを解析する。解析内容は、たとえば、画像(フレーム)内における人物(または物体)の認識、人物(または物体)の動きの認識、人物(または物体)の属性の判定などである。AIモデルは、あらかじめAIによって機械学習(深層学習を含む)された結果として提供される。機械学習そのものは、あらかじめ解析目的に応じて実施される。機械学習は、端末装置100によって行われてもよいが、他のコンピューターによって、あらかじめ解析目的に応じて実施されてもよい。
 AIモデルは、端末装置100のハードウェア構成に基づき、制御プログラムおよび/または論理データ106などとして提供される。端末装置100のハードウェア構成については後述するが、たとえば、ハードウェア構成が、CPUを主体とする場合、制御プログラムとして提供される。また、ハードウェア構成が、FPGAのように書き換え可能なハードウェアの場合、論理データとして提供される。論理データはプログラマブルロジックと称されることもある。FPGAの場合は、設定の一部または全部が制御プログラムとして提供されてもよい。なお、本実施形態は、FPGA(詳細後述)の場合を例に説明する。
 AIモデルは、解析動作設定制御部102からの求めに応じて、またはサーバー300側での判断に応じて、サーバー300から送信される。サーバー300から送信されたAIモデルは、機械学習モデル変更部105を通じて、FPGA内のメモリーまたはDRAM108に一時記憶される。解析処理部103は、一時記憶されたたAIモデルを読み出して、解析処理を実行する。
 それまで使用されていたAIモデルは、FPGA内のメモリーまたはDRAM108にそのまま残されていてもよい。しかし、FPGA内のメモリーまたはDRAM108の記憶容量は限られているため、それまで使用していたAIモデルは、機械学習モデル変更部105によって消去し、新たに供給されたAIモデルのみ記憶させるようにしてもよい。FPGA内のメモリーまたはDRAM108から消去されるAIモデルは、ストレージ107が接続されている場合、ストレージ107に記憶させてもよい。
 解析処理部103による解析結果は、解析動作設定制御部102へ伝達される。解析動作設定制御部102では、解析結果に基づき、上述した様々な解析動作設定を実行する。また、解析処理部103による解析結果は、設定に応じて、データ送信部104からサーバー300へも送信される。解析結果をサーバー300へ送信するか否かの設定は、サーバー300からの指令により、解析動作設定制御部102によって設定される。
 ストレージ107は、記憶部である。ストレージ107は、センサー109からのデータ115を記憶する。また、ストレージ107は、端末装置100で実行されるAIモデルである制御プログラムおよび/または論理データ106を記憶してもよい。これらをストレージ107に記憶しておくことで、AIモデルを変更する際に、解析動作設定制御部102は、変更する制御プログラムおよび/または論理データ106、およびその他の装置設定がストレージ107内にあれば、サーバー300への要求せずに、ストレージ107から読み出して使用できる。これにより、サーバー300からのデータ伝送が不要となることもあるので、通信負荷を低減できる。
 なお、ストレージ107には、上記のようなデータのすべてを記憶させる必要はなく、端末装置100のコスト等に合わせて、ストレージ107の容量を決定し、その容量に合わせて、記憶する内容を決定し、また変更すればよい。
 また、ストレージ107は、設けられなくてもよい。すでに説明したように、端末装置100で使用されるAIモデル(制御プログラムおよび/または論理データ106)は、サーバー300から送信されたものを使用する。ストレージ107を設けないことで、端末装置100のさらなるコスト低減が図られる。
 センサー109は、たとえば、イメージセンサーである。イメージセンサーは、たとえば、主に可視光を検知するスチールカメラ(静止画撮影カメラ)、ムービーカメラ(動画撮影カメラ)などである。また、イメージセンサーは、赤外線カメラ、サーモカメラ(温度検知カメラ)などである。赤外線カメラ、サーモカメラも、静止画や動画の撮影が可能である。その他にも、センサー109としては、たとえば、マイクロフォンのように音を検知する音響センサー、高度(標高)を検知する高度センサー、気圧センサー、水中における深度センサー(水圧センサー)、振動センサー、方位センサー、角度センサー、温度センサー、電圧センサー、電流センサー、および電力センサーなど様々なセンサー109が使用され得る。これらセンサー109が検知したデータは、必要に応じてサーバー300へ送信される。また、センサー109が検知したデータは、必要に応じてストレージ107にも記憶される。
 このようなセンサー109は、1台の端末装置100に、1つだけ接続(また一体化、以下同様)されてもよいし、1台の端末装置100に、複数接続されてもよい。1台の端末装置100に、複数のセンサー109が接続される場合、複数のセンサー109は、同種のものであってもよいし、異なる種類のものであってもよい。
 また、センサー109によるセンシングの結果(たとえば動画データ)は、設定に応じて、データ送信部104からサーバー300へも送信される。センシングの結果をサーバー300へ送信するか否かは、サーバー300からの指令により、解析動作設定制御部102によって設定される。
 図3は、端末装置100のハードウェア構成の一例を示すブロック図である。
 本実施形態では、FPGAの場合を例に説明する。
 端末装置100は、図3に示すように、SoCFPGA110、ストレージ107、5G通信インターフェース150、操作表示部160を有する。
 SoCFPGA110は、実行する処理内容を書き換え可能なFPGAがシステムとして一つのチップに形成された半導体素子(複数のチップを接合した半導体素子を含む)である。SoCFPGA110は、Programmable SoCと称されることもある。SoCFPGA110は、演算素子となるCPU(Central Processing Unit)、記憶素子(メモリー)であるROM(Read Only Memory)およびRAM(Random Access Memory)などの機能が1チップで形成されている(またはこれら複数の機能を有する複数のチップが統合されている)。また、SoCFPGA110には、GPU/DSPなどのアクセラレータが搭載されていてもよい。このため、端末装置100は、コンピューターである。
 このようなSoCFPGA110は、動作に必要な制御プログラムおよび/または論理データ106を記憶し(FPGAにおけるゲート回路の書き換えを含む)、それらが実行されることで、上述した端末装置100の各部の機能が実現される。したがって、SoCFPGA110は、解析動作設定制御部102、解析処理部103、データ送信部104、および機械学習モデル変更部105として機能する。
 ストレージ107は、eMMC(embedded MultiMediaCard)やSSD(Solid State Drive)、HDD(Hard Disk Drive)などの記憶媒体である。また、ストレージ107は、メモリーカードなどの可搬式の記憶媒体であってもよい。
 5G通信インターフェース150は、通信システム200と通信するための無線通信部101であり、通信モジュールのチップによって構成されている。5G通信インターフェース150も、SoCFPGA110として統合されていてもよい。なお、端末装置100は、5Gによる通信インターフェースの他に、たとえば、イーサネット(登録商標)、IEEE1394などの規格によるネットワークインターフェース、Bluetooth(登録商標)、IEEE802.11などの無線通信インターフェースなどを設けてもよい。
 操作表示部160は、たとえば、タッチパネル式のディスプレイであり、各種情報を表示するとともに、ユーザーからの各種入力を受け付ける。また、端末装置100によっては、キーボードやマウスなどの入力機器とモニターなどが接続されていてもよい。
 端末装置100のハードウェアに対して、制御プログラムは、主に端末装置100のCPUまたはFPGA内のCPU機能の回路によって実行されるプログラムである。一方、論理データは、主にFPGAの回路データを書き換えるためのデータである。
 なお、端末装置100は、SoCFPGA110に限定されず、SoC以外のFPGAであってもよいし、また、CPU、RAM、およびROMなどが独立していて、バスによって接続された形態であってもよい。
 (通信システム)
 通信システム200は、5Gによる無線通信機能を有し、端末装置100とサーバー300との間の通信を制御する。この通信システム200は、5Gの公衆回線でも良いが、プライベート5Gと称される、特定ユーザーのみが使用する通信システム200であっても良い。
 通信システム200は、公知の5G通信システムであり、図示しないが、無線通信制御機能、中継処理機能などを有し、端末装置100とサーバー300とを5Gによる通信によって接続する。
 (サーバー)
 サーバー300は、端末装置100から送信された解析結果を記憶し、また、端末装置100が必要とする制御プログラムおよび/または論理データ106などを記憶し、端末装置100へ供給する。図2を参照してサーバー300の機能を説明する。
 サーバー300は、無線通信部301、端末受信データ解析部302、および端末機能制御部303を有する。サーバー300は、端末装置100をエッジ端末と称する場合、それに対比して、エッジサーバーと称されることがある。サーバー300には、ストレージ307が接続されている(ストレージ307は、端末装置100のストレージ107と区別するためにサーバーストレージ307と称する)。サーバーストレージ307は、記憶部である。サーバーストレージ307には、端末装置100のセンサー109が収集したデータ115、端末装置100による解析結果116、端末装置100が使用する制御プログラムおよび/または論理データ106などが記憶される。サーバー300は、このような記憶装置としての役割から、クラウドサーバーと称されることもある。
 無線通信部301は、通信システム200と、5Gによる通信を実行する。無線通信部301は、サーバー300から通信システム200を介して端末装置100へデータを送信する。また、無線通信部301は、端末装置100から送信されたデータを、通信システム200を介して受信する。
 端末受信データ解析部302は、無線通信部301を介して端末装置100から受信したデータを解析および/または学習する。端末受信データ解析部302での解析および/または学習は、端末装置100では処理できないほど大きなまたは多量のデータの解析である。また、端末受信データ解析部302は、端末装置100で収集したデータを用いて、機械学習を実行し、AIモデルを構築する。通常、サーバー300は、端末装置100より高性能、高機能であるため、このような大きなまたは多量のデータを扱う解析および/または学習に向いている。
 端末機能制御部303は、端末受信データ解析部302による解析および/または学習の結果に応じて、端末装置100に実行させるべきAIモデルや設定を決定する。このような端末機能制御部303の機能は、端末装置100の解析動作設定制御部102の機能と同様である。したがって、端末機能制御部303は、制御部として機能する。
 また、端末機能制御部303は、端末装置100の解析動作設定制御部102の求めに応じて、必要なAIモデルやパラメーターを決定する。たとえば、端末装置100の解析動作設定制御部102から人物を認識したとの解析結果とそれに対応した設定変更の要求があった場合、端末機能制御部303は、ズームアップに必要な設定を決定し、そのための設定データ(制御プログラムおよび/または論理データ106)をサーバーストレージ307から読み出して、端末装置100へ送信する。
 また、端末機能制御部303は、複数の端末装置100から受信したデータを端末装置100ごとに分類して、サーバーストレージ307に記憶する。端末機能制御部303は、たとえば、端末装置100ごとに付与されたIDに対応付けして、それぞれの端末装置100から送られてきたセンサー109のデータおよび解析結果のデータをサーバーストレージ307に記憶する。IDは、たとえば、図1に示したように、端末装置100に付与されている。ここでは、一方の端末装置100をDI1、他方の端末装置100をID2とする。また、端末機能制御部303は、データ115や解析結果116を記憶する際に、必要に応じて、データの圧縮を実行するようにしてもよい。データを圧縮した場合、読み出される際に、端末機能制御部303は、読み出されるデータを伸長する。
 図4は、サーバー300を構成するハードウェアの概略を示すブロック図である。
 サーバー300は、コンピューターである。サーバー300は、図5に示すように、CPU310、ROM320、RAM330、サーバーストレージ307、5G通信インターフェース350および操作表示部360を有する。各構成は、バス370を介して相互に通信可能に接続されている。
 CPU310は、ROM320やサーバーストレージ307に記録されているプログラムを実行することで、上述したサーバー300の各部の機能を実行する。
 ROM320は、各種プログラムや各種データを記憶する。
 RAM330は、作業領域として一時的にプログラムやデータを記憶する。
 サーバーストレージ307は、オペレーティングシステムを含む各種プログラムや、各種データを記憶する。サーバーストレージ307は、制御プログラムおよび/または論理データ106を記憶する。
 サーバーストレージ307は、サーバー300の場合、主に、HDDなどの大容量の記憶媒体が使用される。また、サーバーストレージ307は、eMMCやSSDなどの半導体記憶媒体が、HDDとともに、またはHDDに代えて用いられてもよい。
 5G通信インターフェース350は、通信システム200と通信するための無線通信部301である。
 操作表示部360は、たとえば、タッチパネル式のディスプレイであり、各種情報を表示するとともに、ユーザーからの各種入力を受け付ける。また、操作表示部360としては、キーボードやマウスなどの入力機器とモニターなどが接続されていてもよい。
 (処理手順)
 次に、実施形態1における処理手順を説明する。
 図5および図6は、実施形態1における処理手順を示すフローチャートである。ここでは、以下の前提を元に処理手順を説明する。端末装置100は、センサー109を備え、人の侵入を監視する監視カメラである。また、端末装置100は、AIによる人物の認識処理を実施する。そして、サーバー300側から、端末装置100の解析結果に応じて端末装置100の設定を変更する。
 ここでは、端末装置100による処理手順、およびサーバー300の処理手順について説明する。なお、通信システム200は、端末装置100とサーバー300との間の通信を制御しているだけであるので、その処理手順についての説明は省略する(他の実施形態の処理手順においても同様である)。
 まず、端末装置100は、センサー109により、所定の場所(施設内など)を監視する。そして、端末装置100は、センサー109からのデータをAI解析することで、画像(フレーム)内に人物がいることを認識する(S1101)。AI解析は、解析処理部103によって、この段階で設定されているAIモデルによって実行される。
 続いて、端末装置100は、認識した人物(センシング対象)との距離を測定する(S1102)。距離の測定は、たとえばセンサー109がカメラの場合、カメラの測距機能を用いてもよい。また、距離の測定は、カメラとは別に、測距センサーを用いてもよい。測距センサーとしては、たとえば、デプスカメラ、ライダー(LiDAR)などが用いられてもよい。
 続いて、端末装置100は、距離情報、AI解析結果、および実行中モデルをサーバー300へ送信する(S1103)。距離情報とは、S1102での測定結果である。AI解析結果は、フレーム内に人物の存在を認識した結果である。実行中モデルとは、端末装置100内で現在実行されているAIモデルの制御プログラムおよび/または論理データ106である。この段階のAIモデルは、人物を認識するための制御プログラムおよび/または論理データ106である。
 サーバー300は、端末装置100から送信されたデータを受信する(S1301)。受信するデータは、S1103で送信された距離情報、AI解析結果、および実行中モデルである。サーバー300は、受信したデータを、送信してきた端末装置100のIDとともにサーバーストレージ307に記憶する。
 続いて、サーバー300は、受信した距離情報からセンサー109のパラメーターを決定する(S1302)。センサー109のパラメーターは、たとえば、解像度、画角(ズーム倍率)、フレームレートなどである。
 続いて、サーバー300は、AI解析結果のスコアを判定する(S1303)。
 続いて、サーバー300は、端末装置100へ、解析結果のスコアが低い場合に、画像データを要求する(S1304)。この段階において、画像データは、端末装置100からサーバー300へは送信されていない。なお、AIスコアが所定の値以上の場合、サーバー300は、S1304のステップを実行しない。
 続いて、パラメーターおよび画像要求を受け取った端末装置100は、センサー109によって撮影された画像(動画像)のデータをサーバー300へ送信する(S1104)。
 続いて、サーバー300は、受信した画像データから認識した人物の属性を解析して判定する(S1305)。属性判定は、フレーム内から人物を認識するよりも高度な処理を必要とする。すなわち、コンピューターとしての高い処理能力が要求される。このため、本実施形態1は、サーバー300側での解析としている。
 続いて、サーバー300は、判定された属性にあったAIモデルを決定する(S1306)。
 続いて、サーバー300は、決定されたAIモデルおよびパラメーターを端末装置100へ送信する(S1307)。
 その後、サーバー300は、処理終了の指示がなければ(S1308:NO)、S1301へ戻り、以降の処理を継続する。サーバー300は、処理終了の指示があれば(S1308:YES)、処理を終了する(エンド)。
 続いて、端末装置100は、サーバー300からのデータを受信して記憶し、現在のAI解析処理を停止する(S1105)。
 続いて、端末装置100は、(FPGAの場合)AIアクセラレータ用の論理データを書き換える(S1106)。なお、端末装置100は、FPGA以外の構成の場合、AIモデルを実行するための制御プログラムがインストールされる。
 続いて、端末装置100は、サーバー300から受信したAIモデルに変更する(S1107)。
 続いて、端末装置100は、サーバー300から受信したパラメーターに端末装置100の設定を変更する(S1108)。
 続いて、端末装置100は、AI解析の処理を再起動する(S1109)。
 続いて、端末装置100は、AI解析の処理を実行する(S1110)。
 その後、端末装置100は、処理終了の指示がなければ(S1111:NO)、S1101へ戻り、以降の処理を継続する。一方、処理終了の指示があった場合(S1111:YES)、端末装置100は、処理を終了する(エンド)。
 (作用)
 次に、本実施形態1の作用を、具体例を挙げて説明する。以下の説明において、S番号は、上述した手順に対応する。なお、ここで説明する具体例はあくまでも実施形態を説明するためのものであり、本発明はこのような具体例に限定されない。
 現在、IoTシステムにおいては、エッジ端末(端末装置100)に搭載されたセンシングデバイス(センサー109)からのデータをサーバー300に転送し、強力なハードウェアリソースを用いてAI解析を行っている。このようなIoTシステムにおいては、解析する内容が高度化するにつれて、端末装置100からサーバー300へ転送されるデータの転送量が膨大になるという課題がある。この課題を解決するため、本実施形態は、ハードウェアリソースの少ない端末装置100側においても、その処理能力に応じて、様々なAI解析を実行させる。このために、本実施形態は、端末装置100側で使用されるAIモデルを解析内容に応じて変更する。
 AIモデルの変更は、たとえば、センシングデバイスとしてカメラを用いる場合に、撮影対象が、カメラの死角に入ったり、顔の向きがカメラの方向を向いていなかったり、または撮影対象の動きが速すぎてすぐにフレームアウトする場合などに実行される。
 本実施形態1では、このような場合のAIモデルの変更は、端末装置100が通信システム200を通じてサーバー300と通信(データ伝送)することにより行われる。本実施形態1は、撮影対象の動きや位置関係に応じた設定や、AIモデルに適宜修正することで、撮影対象の動きに追随し、端末装置100における解析を継続する。
 また、たとえば、端末装置100において、AIによる骨格検知によって人物そのものや、人物の動き認識する場合、手前にいる人物は、骨格検知可能であるが、奥にいる人物は検知できないことがある。このような場合、骨格検知においては、解像度を変更することで検知できるようになる。
 たとえば、工場やオフィスにおける作業者の行動検知を行う場合、端末装置100には、骨格検知のAIモデルを用いて解析を実行させる(S1101)。これにより端末装置100は、作業者の関節点の動きの変化を解析して、作業者の転倒や危険行動などの異常の発生を検知することができる。
 この検知動作において、端末装置100は、各関節点の座標を認識する。端末装置100は、たとえば、頭の座標から、撮影対象とカメラとの距離を判断する(S1102)。このような骨格検知においては、人物が大きく写っている方が判定しやすい。そのため、人物が、センサー109に近い距離では精度良く判定できるが、センサー109から離れると解析精度が劣化する可能性がある。
 そのため、サーバー300は、端末装置100から受信した撮影対象(ここでは人物)との距離情報によって(S1103からS1302)、必要なパラメーターを決定する(S1302)。具体的には、サーバー300は、端末装置100と撮影対象との距離が、たとえばしきい値を超えた場合に、サーバー300はより高解像度で解析を行えるように、センサー109の解像度のパラメーターを変更する。たとえば、HD(High Definition(720P))からFHD(Full High Definition(1080p))に変更する。また、変更するパラメーターとしては、解像度以外にも、たとえば、ズームアップして画角を変えることでも、骨格検知の精度が向上する。
 AIモデルの変更については、2パターン存在する。第1のパターンは、解析結果のスコアが低い場合に、同機能で異なるAIモデルに変更する。第2のパターンは、端末装置100側で解析した結果、機能の異なるAIモデルに変更する。
 本実施形態1は、第1のパターンである。なお、第2のパターンについては、後述する実施形態2において説明する。
 サーバー300は、解析結果のスコアが低い場合に(S1303)、端末装置100に撮影画像を要求し(S1304)、その画像を端末装置100から受信してサーバー300で解析する(S1104からS1305)。その結果、撮影対象の属性を判定し最適なAIモデルを決定する(S1306)。たとえば、端末装置100は、日本人を中心に学習を行ったAIモデルを使用していた場合、外国人作業者についてそのモデルを使用するとスコアが悪いことがある。サーバー300は、解析の結果、属性として外国人が判定されると、その結果に応じたAIモデルを選択する。
 サーバー300は、決定したAIモデルをパラメーターとともに端末装置100へ送信する(S1307)。これにより端末装置100は、サーバー300からの指示に従い、AIモデルおよびパラメーターの変更/設定変更を実行する。端末装置100は、受信したAIモデルに変更し、システム(解析処理部103)の再起動し、変更されたAIモデル、設定による解析を実行する(S1105からS1110)。
 AIモデルの変更は、AI解析をFPGA内のアクセラレータで行う場合、AI解析の処理を停止後に、論理データを部分的に書き換える。FPGA以外でAI処理を行う場合は、AIモデルの変更のみを実施する。
 以上のように、本実施形態1は、一定の距離以上に撮影対象がいる場合(または移動した場合)、画像を高解像度で取り込みできるようにパラメーターの設定を変更する。本実施形態は、常に高解像度での解析を行わないことで、消費電力を抑えることができ、また、サーバー300へ画像データを送信する際のデータ量を削減することができる。
 このように、本実施形態は、解析内容やセンサー109が取得している情報など、端末装置100が置かれている状況に応じて、端末装置100が最適な解析動作を実行できるように設定を変更する。これにより、本実施形態は、端末装置100のアハードウェアリソースに適した解析を、適宜に実行できるようになる。しかも本実施形態では、端末装置100での解析結果を用いて、ほぼリアルタイムで設定変更が可能となる。また、本実施形態は、サーバー300へ送信するデータ量も少なくできるので、通信システム200にかかる負荷を少なくすることができる。
 (実施形態2)
 (情報処理システム)
 図7は、実施形態2に係る情報処理システム2の概略構成を示すブロック図である。図8および図9は、実施形態2に係る情報処理システム1の機能を説明するためのブロック図であって、図8は端末装置部分を示す図であり、図9はサーバー部分を示す図である。
 実施形態2に係る情報処理システム2の端末装置100は移動可能である。
 (端末装置)
 本実施形態2の端末装置100は、図7に示すように、自律移動するロボットである。ロボットは、センシングデバイス(センサー109)を備える。この端末装置100は、自律移動のために、図8に示すように、自律移動制御部121、全球測位衛星システム(GNSS(Global Navigation Satellite System))部122、および駆動部129を有する。駆動部129は、たとえば、モーター、モーターによって駆動される車輪(車軸を含む)、モーター用電源、および操舵装置などを含む。また、端末装置100は、シナリオ決定部125を有する。
 実施形態2においては、解析動作設定として、端末装置100の移動に関する設定が加わり、解析動作設定制御部102によって、移動に関する設定の変更も行われる。その他の解析動作設定は、実施形態1と同様である。
 また、端末装置100のその他の機能は、実施形態1と同様であるので、それらの説明を省略する。
 自律移動制御部121は、GNSS部122によって測位された位置情報に基づき、駆動部129を制御して、端末装置100を移動させる。
 GNSS部122は、周知のとおり、衛星を利用した測位システムであり、端末装置100自身の現在位置の座標を認識する。全球測位衛星システムとしては、たとえば、米国のGPS(Global Positioning System)、日本の準天頂衛星QZSS(Quasi-Zenith Satellite System)、ロシアのGLONASS、欧州連合のGalileo等がある。
 なお、端末装置100の現在位置の測位は、GNSSに限定されず、たとえば、特定の空間では、専用の無線測位システムを使用してもよい。また、端末装置100の現在位置の測位は、衛星電波だけでなく、公衆携帯通信回線の基地局からの電波を利用した測位システムであってもよい。また、端末装置100の現在位置の測位は、GNSS部122と慣性測定装置(IMU:Inertial Measurement Unit)とを組み合わせてもよい。
 端末装置100の位置は、解析動作設定制御部102により解析動作設定の一つとして設定される。このために、解析動作設定制御部102は、自律移動制御部121へ移動先の位置およびその位置に至るまでのルートを、座標値や地図データ上の位置として設定する。自律移動制御部121は、端末装置100の現在位置から設定された座標値や地図データ上の位置へ移動するように駆動部129を制御する。
 端末装置100の移動先は、解析動作設定制御部102が、解析処理部103による解析結果から指令されるか、または、サーバー300による解析結果から指令される。
 なお、自律移動制御部121は、図示しないが、自律走行に必要な各種センサーからの信号に基づき、周囲の状況を把握する。自律移動制御部121は、周囲の状況に応じて端末装置100の速度および方向を調整する。
 シナリオ決定部125は、解析を行うためのシナリオ126を決定する。シナリオ126は、解析内容や解析の目的に応じて様々なものが用意される。
 自律移動する端末装置100は、移動先によって、その用途が変更されることがある。シナリオ決定部125は、端末装置100の現在位置に応じた解析が実行されるように、シナリオ126を変更する。様々な状況(移動場所)に対応できるように、端末装置100のストレージ107に複数のシナリオ126が記憶されている。しかし、端末装置100のストレージ107の容量は、サーバー300のサーバーストレージ307と比較して小さい。そこで、複数のシナリオ126はサーバー300へ記憶しておいて、シナリオ決定部125がサーバー300へ要求し、送信してもらうようにしてもよい。
 端末装置100のハードウェア構成は、図示省略するが、実施形態1で説明した端末装置100のハードウェア構成に、GNSS部122および駆動部129が追加される。GNSS部122は、SoCFPGA110に組み込まれてもよい(ただし、GNSS部122のアンテナ部分を除く)し、SoCFPGA110とは別のプロセッサチップとしてもよい。また、シナリオ決定部125の機能は、SoCFPGA110に組み込まれるプログラムによって達成される。
 なお、移動する端末装置100は、自律移動するロボットに限定されない。たとえば、自律移動する空中ドローンや水中ドローンなどであってもよい。また、移動する端末装置100は、ロボットアームに取り付けられ、ロボットアームの移動によって端末装置100が動く構成であってもよい。さらに、端末装置100は、人の制御によって移動する車両などに取り付けられた構造であってもよい。
 次にサーバー300は、図9に示すように、機能として移動先指示部321およびデータ送信部104を有する。
 移動先指示部321は、端末装置100の移動先の位置を決定し、データ送信部104を介して端末装置100に、決定された移動先の位置を指令する。移動先の位置とルートは、基本的には、GNSS部122における座標値によって指示されて、端末装置100に送信される。そのほか、移動先の位置とルートは、あらかじめ移動範囲が決まっている場合、移動範囲を示す地図データを用いてもよい。地図データは、サーバーストレージ307に記憶される。移動先指示部321は、この地図データを使用して、移動先の位置とルートを指定する。指定された移動先の位置とルートは、データ送信部324および無線通信部301を介して端末装置100に送信される。もちろん地図データは、使用範囲に応じて変更してもよい。
 サーバー300のその他の機能は、実施形態1と同様であるので、それらの説明を省略する。また、ハードウェア構成も実施形態1と同様であるので説明を省略する。
 (処理手順)
 図10および11は、実施形態2における処理手順を示すフローチャートである。ここでは、以下の前提を元に実施形態2の処理手順を説明する。端末装置100は、すでに説明したとおり、自律移動するロボットである。このロボットは、センサー109としてイメージセンサー(ムービーカメラ)を有する。
 ここでは、端末装置100による処理手順、およびサーバー300の処理手順について説明する。なお、通信システム200は、端末装置100とサーバー300との間の通信を制御しているだけであるので、その処理手順についての説明は省略する(他の実施形態の処理手順においても同様である)。
 まず、端末装置100は、シナリオ処理を開始する(S2101)。この段階において開始するシナリオ126は、サーバー300から受信し、SoCFPGA110内のメモリーまたはDRAM108に記憶されている。
 続いて、端末装置100は、監視対象の場所(施設内など)の会場全体を撮影できる位置に自立移動する(S2102)。監視対象の場所(施設内など)の会場全体を撮影できる位置は、たとえば、原点位置などとして、SoCFPGA110内のメモリーまたはDRAM108に記憶されてもよい。
 続いて、端末装置100は、センサー109からのデータをAI解析する(S2103)。AI解析は、実施形態1同様に、解析処理部103によって、この段階で設定されているAIモデルによって実施される。
 続いて、端末装置100は、自身(端末装置100)の現在位置を計測する(S2104)。端末装置100の位置は、GNSS部122によって実行される。
 続いて、端末装置100は、実行中のシナリオ126、AI解析結果、および端末位置情報をサーバー300へ送信する(S2105)。
 サーバー300は、端末装置100から送信されたデータを受信する(S2301)。受信するデータは、S2103で送信された実行中のシナリオ126、AI解析結果、および端末位置情報である。サーバー300は、受信したデータを、送信してきた端末装置100のIDとともにサーバーストレージ307に記憶する。
 続いて、サーバー300は、受信したデータ(実行中のシナリオ、AI解析結果、および端末位置)から、実行中のシナリオ126に合わせて、現在の端末装置100の状況に適したAIモデルを決定する(S2302)。
 続いて、サーバー300は、受信したデータからセンサー109のパラメーターを決定する(S2303)。センサー109のパラメーターは、たとえば、解像度、画角(ズーム倍率)、フレームレートなどである。
 続いて、サーバー300は、端末装置100に記憶済みのAIモデルのリスト(AIモデルリスト)を問い合わせる(S2304)。
 この問い合わせを受けた端末装置100は、記憶済みのAIモデルのリスト(AIモデルリスト)を送信する(S2106)。
 続いて、サーバー300は、AIモデルリストを受信する(S2305)。
 続いて、サーバー300は、使用するAIモデルを送信するか判定する(S2306)。
 続いて、サーバー300は、S2306のステップによる判定の結果、AIモデルを送信する必要がある場合、AIモデルを端末装置100へ送信する(S2307)。
 AIモデルがサーバー300から送信された場合、端末装置100は、AIモデルのデータ(制御プログラムおよび/または論理データ106)を受信する(S2107)。
 続いて、端末装置100は、受信したAIモデルをSoCFPGA110内のメモリーまたはDRAM108に記憶する(S2108)。また、受信したAIモデルは、ストレージ107の容量に応じて、記憶される。ストレージ107に記憶するAIモデルは、たとえば、受信時間または前回使用された時間の古いものから順に消去し、新たに受信したものを記憶するとよい。
 S2306のステップに続いて、サーバー300は、端末装置100の移動先およびそこに至るまでのルートを決定する(S2308)。
 続いて、サーバー300は、移動先、ルート、AIモデルの変更タイミング、およびパラメーターを端末装置100へ送信する(S2309)。
 端末装置100は、移動先、ルート、AIモデルの変更タイミング、およびパラメーターのデータを受信する(S2109)。
 続いて、端末装置100は、AIモデルを自走用の物体検知に変更する(S2110)。なお、この段階で、すでに自走用のAIモデルを使用している場合は、このステップは実行しない。
 続いて、端末装置100は、自身(端末装置100)を指定されたルートに従って移動を開始し、移動先まで移動して停止する(S2111)。
 続いて、端末装置100は、サーバー300から指定された変更タイミングによりAIモデルを変更する(S2112)。このとき、端末装置100は、(FPGAの場合)AIアクセラレータ用の論理データを書き換える(S2113)。なお、端末装置100は、FPGA以外の構成の場合、AIモデルを実行するための制御プログラムがインストールされる。また、このとき、端末装置100は、センサー109の設定を、受信したパラメーターに従って変更する。
 続いて、端末装置100は、変更後のAIモデルによる解析を実行する(S2114)。
 続いて、端末装置100は、解析結果をサーバー300へ送信する(S2115)。
 その後、端末装置100は、処理終了の指示がなければ(S2116:NO)、S2111へ戻り、以降の処理を継続する。S2111へ戻るのは、AI解析と、移動を繰り返すためである。したがって、S2114およびS2115のステップを経て、S2110へ戻った場合、端末装置100は、S2111において次の移動先へ移動することになる。一方、処理終了の指示があった場合(S2116:YES)、端末装置100は、処理を終了する(エンド)。
 AI解析結果を受信したサーバー300は、受信したAI解析を判定する(S2310)。
 その後、サーバー300は、処理終了の指示があった場合(S2311:YES)、処理を終了する(エンド)。処理が終了したなら、サーバー300は、解析結果や判定結果などを操作表示部360へ表示するとともにサーバーストレージ307へ記憶する。また、解析結果や判定結果などは、あらかじめ指定された端末装置100へ送信することとしてもよい。一方、処理終了の指示がなければ(S2311:NO)、サーバー300は、判定結果を端末装置100へ送信する(S2312)。その後、端末装置100は、S2110のステップから処理を継続する。なお、処理終了ではない場合も(S2311:NO)、サーバー300は、その時点での解析結果や判定結果を表示し、サーバーストレージ307へ記憶することとしてもよい。
 (作用)
 次に、本実施形態2の作用を、具体例を挙げて説明する。以下の説明において、S番号は、上述した手順に対応する。なお、ここで説明する具体例はあくまでも実施形態を説明するためのものであり、本発明はこのような具体例に限定されない。
 (具体例1)
 具体例1は、自律移動する1台のロボット(端末装置100)を用いて、遠隔授業、セミナー、または試験などを行うシチュエーションを想定する。より具体的には、たとえば、試験などで受講者が不正を行っていないかを、自律移動可能な端末装置100が自動的に監視するようなシチュエーションである。
 まず、端末装置100は、遠隔授業に対応したシナリオ126が設定された状態で、処理を開始する(S2101)。シナリオ126は、不正防止のための人物確認である。
 続いて、端末装置100は、いわゆる引きの画角で、会場全体を撮影できる位置に移動する(S2102)。そして、端末装置100は、撮影した画像から顔検出を実行する(S2103)。たとえば、端末装置100は、試験開始の15分前などに試験会場に配備される。そして、端末装置100は、会場全体が見える位置に移動し、試験会場の席全体を撮影する。最初に端末装置100は、顔検出のAIモデルが設定されており、カメラ画像全体から顔の存在を検出するとともに、画像内における顔の位置を特定する。顔の位置は、フレーム内における位置ではなく、画像から判明する撮影範囲内における位置である。たとえば、教室内を俯瞰した撮影では、あらかじめ教室内の各席の位置を座標化しておき、顔を検出した席の座標を顔の位置とする。その他に顔の位置は、たとえば、実施形態1同様に、センサー109(または端末装置100)から撮影対象(ここでは顔)までの距離を計測して、フレーム内の位置(2次元)とともにセンサー109からの距離を加えた3次元座標系での位置としてもよい。
 続いて、端末装置100は、自身の現在位置を計測する(S2104)。位置計測は、GNSS部122によって実行される。また、室内でのGNSSを用いた位置計測は、誤差が発生する可能性があるため、撮影画像からの位置推定や、ミリ波の受信電波強度を用いた位置推定などを精度向上のために活用してもよい。
 そして、端末装置100は、実行中のシナリオ126(不正防止のための人物確認)と、解析結果としての顔を検出したことおよび画像内での顔の位置情報と、端末装置100の位置情報とをまとめてサーバー300に送信する(S2105)。
 これらのデータを受信したサーバー300は、解析結果から、端末装置100の位置とAIモデル、およびセンサー109のパラメーターを決定する(S2301~S2303)。サーバー300内には、シナリオ126に基づいて、詳細な処理を行うためのAIモデルが複数用意されており、端末装置100が実行中のシナリオ126から、このあと端末装置100で実行するAIモデルを決定する。
 この例では、端末装置100で実行中のシナリオ126は、「不正防止のための人物確認」である。このため、今後、端末装置100で実行したい処理としては、これまでの顔検出から、顔認証に変更すべきであることがわかる。また、このシナリオ126の場合、端末装置100がこの後に取る行動として、顔認証処理が可能な位置まで自律移動し、移動後にAIモデルを顔認証に変更して、一人ひとりに顔認証を実行して行くことである。
 このためにサーバー300は、端末装置100に実行するAIモデルが端末装置100内に記憶されているか否かを確認する(S2304)。すでに顔認証のAIモデルが端末装置100内に記憶されている場合は、サーバー300は、端末位置の決定に進むが、端末装置100内に顔認証のAIモデルが記憶されていない場合、サーバー300は、端末装置100に顔認証のAIモデルを送信する(S2305~S2307)。本実施形態では、5G通信システム200を使用するので、AIモデルのデータ(制御プログラムおよび/または論理データ106)をリアルタイムにやり取りすることが可能である。一方、端末装置100は、受信したAIモデルのデータを受信して、ストレージ107に記憶する(S2107~S2108)。
 その後、サーバー300は、端末装置100の移動先とルートを決定する。たとえば、サーバー300は、試験会場の地図データを保持する。サーバー300は、この地図データに、端末装置100から送信された顔検出位置をマッピングする。そして、最も効率的に全員の顔認証を行うための移動ルートを決定する(S2308)。
 その後、サーバー300は、端末装置100の移動先、ルート、AIモデルの変更タイミング、およびパラメーターを送信する(S2309)。このとき、AIモデルの変更タイミングは、この例では、移動先で端末装置100が停止した後が指示される。
 その後、端末装置100は、AIモデルを自走用の物体検知に変更する。自走用の物体検知のAIモデルは、あらかじめ端末装置100に記憶されているので、端末装置100は、それを読み出して、変更する。端末装置100は、変更された自走用の物体検知のAIモデルによって、端末装置100自身が、ルート上の障害物などを避けて、自律移動することができるようになる(S2110)。これは、たとえば、現場の状況によっては、サーバー300が提示した移動ルートを通れない可能性があるためである。また、自律移動させることで、サーバー300から指示されたルートに誤差があったり、大まかなルートが指示されたりした場合などにも、端末装置100は、目的の位置まで移動することができる。
 その後、端末装置100は、サーバー300から受信した停止位置に移動開始し、停止位置で停止する(S2111)。
 そして、端末装置100は、AIモデルの変更タイミングになれば、AIモデルを変更する(S2112)。AIによる解析処理をFPGA内のアクセラレータで行う場合、端末装置100は、AI解析を一時停止して、論理データを部分的に(または全部)書き換え、必要に応じて再起動する(S2113)。これにより、端末装置100のAIモデルは、システムプログラムなどの入れ替えタイミングではなく、状況が変化して、AIモデルを入れ替える必要が生じたときに、変更することができる。
 その後、端末装置100は、AIモデルによる解析を実行して、その結果をサーバー300へ送信する(S2114~S2115)。顔認証のAIモデルは、解析結果として、顔の特徴量を作成し、特徴データを作成する。なお、この時、端末装置100は、サーバー300の指定した停止位置で静止していたとしても、顔の正面ではない場合、端末装置100側で判断して、センサー109による撮影位置が顔の正面に来るように自律移動してもよい。
 続いて、サーバー300は、解析結果を判定する。シナリオ126は、不正防止のための人物確認であるので、サーバー300は、たとえば、解析結果である特徴データと、あらかじめ登録されている特徴データとが一致するか否かを判定する(S2310)。ここで、その席の顔の特徴データと、登録されている特徴データが一致すると、サーバー300は、本人確認できたとして、その結果を端末に送信する(S2312)。端末装置100は、本人確認が取れれば、必要に応じて、次の顔認証を行うために自律移動する(S2110のステップへ戻る)。
 このように本実施形態2は、端末装置100とサーバー300との間でデータをリアルタイムでやり取りし、AIモデルを切り替えて行くことで、状況の変化に対応して、最適な解析を実行することができるようになり、解析精度が向上する。たとえば、顔が小さかったり、向きが正面でなかったりすると、解析精度の低下が懸念される。本実施形態2は、端末装置100が自律移動可能となっているので、端末装置100の位置を変えて、再度、顔認識や解析を実行することも可能となり、一層、解析精度を向上させることができる。このようなリアルタイム制御は、特に、5Gの低遅延性が活用される。
 (具体例2)
 他の具体例について説明する。具体例2は、自律移動する1台のロボット(端末装置100)を用いて、遠隔でスポーツ指導するシチュエーションを想定する。スポーツの指導は、たとえばフォーム指導である。
 フォーム指導の場合、シナリオ126は、たとえば、ゴルフのスウィング解析である。シナリオ126は、他のスポーツでもよく、たとえば、野球のピッチングフォームやバッティングフォーム、サッカーのシュートなどのフォームを指導する内容に応じて用意しておくとよい。
 まず、端末装置100は、全身が映る位置まで移動して、解析対象の人物のスウィングを、骨格検知AIモデルによって解析し、骨格の動きを取得する。取得したデータは、サーバー300へ送信される(S2101~S2104)。
 骨格検知は、解析対象がスウィングしているところを自動で撮影してもいいし、「スウィングしてください」と表示や音声を再生して、スウィングを促してもよい。端末装置100は、シナリオ126として「ゴルフスウィング解析」であること、骨格検知結果ならびに自身の位置情報をサーバー300に送信する(S2105)。
 サーバー300は、受信したデータに基づき、端末装置100の位置とAIモデル、およびセンサー109のパラメーターを決定する(S2301~S2303)。
 特にこの例では、端末装置100からのシナリオ126と解析結果を元に、サーバー300は、撮影角度を推定し、必要な撮影角度となるように端末装置100の位置を決定する。たとえば、サーバー300は、スウィングの解析には正面と左右からの骨格位置が必要になるとすれば、それらの方向となるように端末装置100の移動先を決定し、送信する(S2304~S2309)。
 また、サーバー300は、端末装置100の解析速度が問題ないかについても判定する。たとえば、高レベルな選手は、普通の人と比べてスウィングスピードが早く、通常の解析速度(フレームレート)では正確な解析ができない場合がある。そのような場合の判定基準は、たとえば、骨格の移動距離の算出がある。具体的には、肘の移動座標がしきい値よりも大きい場合、高速なスウィングを行っていると判断される。このような場合、サーバー300は、端末装置100のAI解析が対応できていないと判断する。また、解析のためのリファレンスとなる骨格の姿勢が存在しない場合にも、フレームレートが不足している可能性が高い。このような場合、サーバー300は、高フレームレートとなるようにセンサー109のパラメーターを変更する。なお、フレームレートを変更した場合、必要に応じてAIモデルも、高フレームレートに対応したものに変更する。
 高フレームレートでの撮影を常に使用しない理由としては、高フレームレートを使用すると消費電力が大きくなり、端末装置100の電池の消耗が激しくなるので、それを抑えるためである。また、高フレームレートで常時解析すると、アップロードするデータ量が大量になるので、それを抑えるためなどである。
 また、AIモデルは、左側のスウィングを撮影する際と、右側のスウィング撮影する際で、異なるモデルを使用することとしてもよい。
 その後は、すでに説明した具体例1と同様に、端末装置100の自律移動とAIモデルにより解析を繰り返し実行する(S2110~S2115およびS2310~S2312)。
 この例では、フォーム解析の撮影対象がその場で静止(スウィングなどの動きを除く)しているとしたが、たとえば、試合中の動作解析などを想定して撮影対象が動いていてもよい。その場合、端末装置100は、撮影対象を追跡して、撮影対象の動きが速くなったと判断されたら、パラメーターを高フレームレートに変更し、遅くなったと判断されたら、低フレームレートに変更するなどとしてもよい。また、端末装置100は、地面を自走するロボットだけでなく、空中ドローンを活用してもよい。
 また、骨格検知においては、解析するためのフレームレートが足りない(骨格の移動距離が設定しきい値以上、リファレンスと対応する点が取れないなど)ことがある。このような場合は、解像度を落として高フレームレートとしてもよい。
 実施形態2では、あらかじめ指定されたシナリオ126に応じて、指定の移動位置にきたタイミングで別機能のAIモデルとなるように変更していたが、実施形態1のように、自律移動可能な端末装置100においても、AI処理結果に応じて、パラメーターだけ、またはAIモデルだけを変更し、移動しないこととしてもよい。
 (具体例3)
 他の具体例について説明する。具体例3は、自律移動する2台のロボット(端末装置100)を用い、かつ、それらが連携してAI解析を実行するシチュエーションである。このような2台の端末装置100が連携して動作する場合、大別して2つのパターンがある。第1のパターンは、サーバー300を介して2台の端末装置100が連携する。第2のパターンは、2台の端末装置100がサーバー300を介さずに連携する。以下の説明において、2台の端末装置100を、第1の端末装置(ID1)および第2の端末装置(ID2)とする。
 まず、第1のパターンについて説明する。第1のパターンは、サーバー300が2台の端末装置100の解析結果から、各端末装置100の移動位置や、AIモデル、装置のパラメーターを決定する。この第1のパターンは、たとえば、スポーツのフォーム解析を、左右から行う場合に適している。
 まず、サーバー300は、2台の端末装置100からシナリオ126、距離情報、および解析結果のデータを受信する。2台の端末装置100の撮影対象の座標が同じであり、同じシナリオ126である場合、サーバー300は、同じ撮影対象を2台の端末装置100で解析するものと判断し、この2台の端末装置100を連携動作させる(S2101~S2105およびS2301)
 続いて、サーバー300は、シナリオ126の内容から1台の端末装置100(第1の端末装置(ID1))と、他の一つの端末装置100(第2の端末装置(ID2))のそれぞれに、どのような解析を実行させるかを振り分ける。振り分けは、たとえば、フォーム判定で正面と左右からの解析が必要な場合、第1の端末装置(ID1)は左右の解析、第2の端末装置(ID2)は正面の解析などとする。この振り分けについては、各端末装置100の性能(スペック)で決定するとよい。たとえば、振り分けは、高スペックの端末装置100に多く解析させるようにするとよい。
 この振り分けは、S2302のステップにおいて、AIモデル決定の処理の一環として行われる。
 振り分けを決定すると、サーバー300は、解析に必要な移動位置を端末ごとに決定する。また、サーバー300は、決定した位置にあったAIモデルを決定する。そしてサーバー300は、各端末装置100に各データを送信する(S2303~S2309)。
 それぞれのデータを受信した各端末装置100は、指定された位置に移動し、AIモデルを変更し、解析を実行して、解析結果をサーバー300へ送信する(S2109~S2115)。
 解析結果を受信したサーバー300は、解析結果を評価し、解析失敗などで当初振り分けた解析内容に修正が必要であれば、サーバー300は、振り分けの修正を行う。
 解析の失敗は、たとえば、移動途中でバッテリーが切れる、ボールなど不要なものが写り込んでしまい解析が正確にできなかったなどである。
 またサーバー300は、先に解析が終了した端末装置100がある場合、他の端末装置100の解析を担わせるようにしてもよい。たとえば、第1の端末装置(ID1)が、右側の撮影は完了したが左側の撮影が完了する前に、第2の端末装置(ID2)が正面の撮影を完了した場合、サーバー300は、第2の端末装置(ID2)に左側の撮影を振り分け、第2の端末装置(ID2)を移動させるとともに必要なAIモデルに変更させる。一方、第1の端末装置(ID1)に対しては左側の撮影、解析の中止を指示する。
 サーバー300は、修正した解析を実行するのに必要な、AIモデルやパラメーター、移動位置などのデータを各端末装置100に送信する。これにより、第1の端末装置(ID1)は左側の解析を行うことなく、右側の解析が終了し、解析結果を送信したなら、すべての処理を終了する。また、第2の端末装置(ID2)は、サーバー300から修正されたデータを受信したなら、移動し、AIモデルを変更して左側の撮影、解析を実行する。
 次に、第2のパターンについて説明する。第2のパターンは、ある程度広い空間で人物を追跡するシチュエーションを想定する。そのようなシチュエーションの場合は、事前に、複数の端末装置100の役割を決定しておくことが好ましい。たとえば、一方の端末装置100をマスター、他方をスレーブとする。マスターとなった端末装置100は、端末装置100の機能の他にサーバー300としての機能を実行させる。2台の端末装置100の間で、性能に差がある場合、より高機能な端末装置100をマスターとする。ここでは、第1の端末装置(ID1)をマスター、第2の端末装置(ID2)をスレーブとして説明する。
 第2のパターンは、イベント会場などで不審者を追跡する場合に、第1の端末装置(ID1)は引きで撮影し、その解析結果から、第2の端末装置(ID2)に不審者を追跡させる。この時、不審者との距離は、イメージセンサーだけでなく、すでに説明したような測距センサーを用いて、より正確に割り出すようにしてもよい。
 第1の端末装置(ID1)による引きの撮影は、イベント会場などをできるだけ広く、追跡対象の人物が移動しても追跡が可能な位置から行う。ただし、引きでの撮影は、人物検出が可能な範囲とする。なお、イベント会場全体を1台の端末装置100では撮影できない場合は、会場全体を撮影するために、端末装置100を増やしてもよい。
 そして、不審者を検出した場合、第1の端末装置(ID1)から第2の端末装置(ID2)に対して、追跡対象者の位置を伝達する、第2の端末装置(ID2)は、不審者の位置に近づくように移動して、撮影する。これにより、撮影対象の解析精度を上げて、たとえば、不審者の人物特定などを行うことができる。なお、センサー109については、第1の端末装置(ID1)と第2の端末装置(ID2)で異なるパラメーターを使用したり、異なる機材を使用したりすることとしてもよい。たとえば、第1の端末装置(ID1)のセンサー109(カメラ)は、より広い範囲を撮影できるようにズーム倍率を広角側へ設定したり、または広角レンズを使用したりする。一方、第2の端末装置(ID2)のセンサー109(カメラ)は、不審者の顔を撮影できるように、ズーム倍率の高いレンズを使用することとしてもよい。また、このような広い場所を対象とする場合、第1の端末装置(ID1)は固定された端末装置100とし、第2の端末装置(ID2)のみ自律移動可能な端末装置100としてもよい。ただし、固定された端末装置100とした場合でも、撮影方向の変更、すなわち上下左右の首振り移動は行えることが好ましい。
 まず、第1の端末装置は、不審者(撮影対象)を見つけると、不審者を見逃さないように、不審者が中心の一定の大きさになる位置まで後退する。第1の端末装置(ID1)は、自身の動作設定(画角、解像度、カメラ設置高さ)から、画像上の不審者の位置を計測する。計測した位置は、座標として取得する(S2101~S2105)。このとき、1台のセンサー109(カメラ)のみだと撮影対象までの位置計測の誤差が大きくなるため、センサー109(カメラ)2台を準備し、2眼カメラとなるようにして、深度情報を算出することとしてもよい。また、不審者までの距離は、測距センサー(デプスカメラやライダーなど)を用いて計測精度を上げるようにしてもよい。
 不審者検出の情報(解析結果)は、第1の端末装置(ID1)内において、判定される。これはサーバー300としての機能である。第1の端末装置(ID1)は、さらに第2の端末装置(ID2)の移動先の位置(座標)を算出して、第2の端末装置(ID2)に送信する(S2301~S2303)。
 第2の端末装置(ID2)は、指示された位置まで移動して、不審者を近くから撮影して、詳細な解析を実行する。このために、第1の端末装置(ID1)は、第2の端末装置(ID2)へ、顔認証のためのAIモデルを必要に応じて送信する(S2304~S2307、およびS2106~S2108)。
 また、第2の端末装置(ID2)は、追跡中、不審者に追跡が知られないように、一定の距離をたもって追跡できるようにしてもよい。この場合、第2の端末装置(ID2)と不審者との距離の計測は、測距センサーを活用することが好ましい。
 また、第2の端末装置(ID2)は、追跡中、不審者が死角に入ってしまたり、不審者の追跡が間に合わず、撮影範囲からフレームアウトしたりして、見失うことがあり得る。
 このような場合は、第1の端末装置(ID1)での解析に再度移行して、不審者の位置を割り出し、第2の端末装置(ID2)を不審者の近くへ再度移動させる。移動後、第1の端末装置(ID1)は、撮影および解析を再開する(S2308~S2311、およびS2109~S2115)。
 このように、実施形態2は、自走可能な複数の端末装置100を連携して使用することで様々状況に対応できる。上記の具体例以外にも、本実施形態2は、たとえば、1台の端末装置100の解析結果に応じて、離れた場所にいる他の移動可能な端末装置100を呼び寄せ、その端末装置100が解析を行うことができる。
 たとえば、実施形態2は、第1の端末装置で検出された不審者が階をまたいで移動した場合、他の階にいる第1の端末装置に撮影、解析を引き継ぐことができる。
 これは、オフィスなどでの不審者の追跡が想定される。不審者が階をまたいで移動する場合、端末装置100が空中ドローンであれば追跡可能だが、自走ロボットのような形態であれば階を移動するのが困難である。このような場合、サーバー300は、不審者の移動推測先に存在する端末装置100を検索し、空き端末装置100がないかを確認する。そして、サーバー300は、空き端末装置100がある場合、その空き端末装置100に不審者の検出、人物特定などの解析に必要なスペックを持っているかを判断する。スペックは、CPUやメモリー性能や、搭載しているイメージセンサーの能力などである。これらに問題がなければ、サーバー300は、該当端末装置に移動指示、AIモデルを送信し、当該端末装置100に解析を引き継がせる。
 その他、本実施形態2は、たとえば、可視光のカメラを搭載した第1の端末装置で検出された不審者が、暗いところに移動することが予想される場合に、暗視カメラや赤外線カメラを搭載する第2の端末装置に撮影、解析を引き継ぐことができる。
 以上、本発明の実施形態を説明したが、本発明は、上述した実施形態に限定されない。実施形態の説明の中で使用した条件や数値などは、あくまでも説明のためのものであり、本発明がこれら条件や数値に限定されるものではない。また、実施形態は、2台の端末装置100を用いた例を説明したが、端末装置の数は、1台でもよいし、2台以上さらに複数台であってもよい。
 本発明に係る情報処理プログラムは、専用のハードウェア回路によって実現することも可能である。また、この情報処理プログラムは、USB(Universal Serial Bus)メモリーやDVD(Digital Versatile Disc)-ROM(Read Only Memory)などのコンピューター読み取り可能な記録媒体によって提供したり、記録媒体によらず、インターネットなどのネットワークを介してオンラインで提供したりすることも可能である。オンラインで提供される場合、この情報処理プログラムは、ネットワークに接続されたコンピューター内の磁気ディスクなどの記録媒体に記録される。
 また、本発明は、特許請求の範囲に記載された構成に基づき様々な改変が可能であり、それらについても本発明の範疇である。
 本出願は、2021年8月4日に出願された日本特許出願(特願2021-127978)に基づいており、その開示内容は、参照され、全体として、組み入れられている。
1、2 情報処理システム、
100 端末装置、
101 無線通信部、
102 解析動作設定制御部、
103 解析処理部、
104 データ送信部、
105 機械学習モデル変更部、
106 制御プログラムおよび/または論理データ、
107 ストレージ、
109 センサー、
121 自律移動制御部、
122 GNSS部、
125 シナリオ決定部、
126 シナリオ、
129 駆動部、
150 5G通信インターフェース、
200 5G通信システム、
300 サーバー、
301 無線通信部、
302 端末受信データ解析部、
303 端末機能制御部、
307 サーバーストレージ、
321 移動先指示部。

Claims (26)

  1.  センシングデバイスを有し、前記センシングデバイスからのデータを解析処理する端末装置と、
     無線通信を介して前記端末装置とデータ伝送を行うサーバーと、を有する情報処理システムであって、
     前記センシングデバイスからのデータを解析処理するための前記端末装置の設定である解析動作設定を制御する制御部を有し、
     前記制御部は、最適な解析が行えるように前記解析動作設定を制御する、情報処理システム。
  2.  前記端末装置による前記解析処理は、人工知能の機械学習モデルによる処理であり、
     前記制御部による前記解析動作設定の制御は、前記機械学習モデルの変更を含む、請求項1に記載の情報処理システム。
  3.  前記制御部は、前記解析処理による解析結果に応じて、前記解析動作設定を変更する、請求項1または2に記載の情報処理システム。
  4.  前記端末装置は、移動可能である、請求項1~3のいずれか1項に記載の情報処理システム。
  5.  前記制御部は、前記解析処理による解析結果に応じて、前記端末装置の移動先を指定する、請求項4に記載の情報処理システム。
  6.  前記制御部は、前記端末装置の位置に応じて、前記解析動作設定を変更する、請求項4または5に記載の情報処理システム。
  7.  前記制御部は、前記端末装置から前記センシングデバイスによるセンシング対象までの距離に応じて、前記解析動作設定を変更する、請求項1~6のいずれか1項に記載の情報処理システム。
  8.  前記センシングデバイスは、動画を撮影するカメラであり、
     前記制御部は、前記動画に写っている対象物のフレーム間での移動距離に応じて、前記解析動作設定を変更する、請求項1~7のいずれか1項に記載の情報処理システム。
  9.  前記制御部は、前記制御部による前記解析動作設定の制御は、前記センシングデバイスの動作、非動作の切り替えを含む、請求項1~8のいずれか1項に記載の情報処理システム。
  10.  複数の前記端末装置を有し、
     前記制御部は、前記端末装置ごとに前記解析動作設定を制御する、請求項1~9のいずれか1項に記載の情報処理システム。
  11.  複数の前記端末装置のそれぞれは、前記センシングデバイスのデータおよび/または前記解析処理による解析結果を前記サーバーへ送信し、
     前記サーバーは、前記センシングデバイスのデータおよび/または前記解析処理による解析結果を送信した前記端末装置に対応付けして記憶する記憶部を有し、
     前記制御部は、前記記憶部に記憶された前記センシングデバイスのデータおよび/または前記解析処理による解析結果に基づいて、それぞれの前記端末装置の前記解析動作設定を制御する、請求項9に記載の情報処理システム。
  12.  前記制御部は、前記解析処理による解析結果に基づいて、複数の前記端末装置の中から、前記解析処理を実行させる前記端末装置を選択する、請求項10または11に記載の情報処理システム。
  13.  前記制御部は、複数の前記端末装置のそれぞれの位置に応じて、前記解析処理を実行させる前記端末装置を選択する、請求項10~12のいずれか1項に記載の情報処理システム。
  14.  センシングデバイスを有し、前記センシングデバイスからのデータを解析処理する端末装置と、
     無線通信を介して前記端末装置とデータ伝送を行うサーバーと、を有する情報処理システムにおける前記端末装置を制御する情報処理プログラムであって、
     前記センシングデバイスからのデータを解析処理する前記端末装置が最適な解析が行えるように前記端末装置の設定である解析動作設定を制御する段階を、コンピューターに実行させるための情報処理プログラム。
  15.  前記端末装置による前記解析処理は、人工知能の機械学習モデルによる処理であり、
     前記解析動作設定を制御する段階は、前記機械学習モデルの変更を含む、請求項14に記載の情報処理プログラム。
  16.  前記解析動作設定を制御する段階は、前記解析処理による解析結果に応じて、前記解析動作設定を変更する、請求項14または15に記載の情報処理プログラム。
  17.  前記端末装置は、移動可能である、請求項14~16のいずれか1項に記載の情報処理プログラム。
  18.  前記解析動作設定を制御する段階は、前記解析処理による解析結果に応じて、前記端末装置の移動先を指定する、請求項17に記載の情報処理プログラム。
  19.  前記解析動作設定を制御する段階は、前記端末装置の位置に応じて、前記解析動作設定を変更する、請求項17または18に記載の情報処理プログラム。
  20.  前記解析動作設定を制御する段階は、前記端末装置から前記センシングデバイスによるセンシング対象までの距離に応じて、前記解析動作設定を変更する、請求項14~19のいずれか1項に記載の情報処理プログラム。
  21.  前記センシングデバイスは、動画を撮影するカメラであり、
     前記解析動作設定を制御する段階は、前記動画に写っている対象物のフレーム間での移動距離に応じて、前記解析動作設定を変更する、請求項14~20のいずれか1項に記載の情報処理プログラム。
  22.  前記解析動作設定を制御する段階は、前記センシングデバイスの動作、非動作の切り替えを含む、請求項14~21のいずれか1項に記載の情報処理プログラム。
  23.  複数の前記端末装置を有し、
     前記解析動作設定を制御する段階は、前記端末装置ごとに前記解析動作設定を制御する、請求項14~22のいずれか1項に記載の情報処理プログラム。
  24.  複数の前記端末装置のそれぞれは、前記センシングデバイスのデータおよび/または前記解析処理による解析結果を前記サーバーへ送信し、
     前記サーバーは、前記センシングデバイスのデータおよび/または前記解析処理による解析結果を送信した前記端末装置に対応付けして記憶する記憶部を有し、
     前記解析動作設定を制御する段階は、前記記憶部に記憶された前記センシングデバイスのデータおよび/または前記解析処理による解析結果に基づいて、それぞれの前記端末装置の前記解析動作設定を制御する、請求項23に記載の情報処理プログラム。
  25.  前記解析動作設定を制御する段階は、前記解析処理による解析結果に基づいて、複数の前記端末装置の中から、前記解析処理を実行させる前記端末装置を選択する、請求項23または24に記載の情報処理プログラム。
  26.  前記解析動作設定を制御する段階は、複数の前記端末装置のそれぞれの位置に応じて、前記解析処理を実行させる前記端末装置を選択する、請求項23~25のいずれか1項に記載の情報処理プログラム。
PCT/JP2022/010820 2021-08-04 2022-03-11 情報処理システムおよび情報処理プログラム WO2023013131A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2023539624A JPWO2023013131A1 (ja) 2021-08-04 2022-03-11
EP22852560.6A EP4383693A1 (en) 2021-08-04 2022-03-11 Information processing system, and information processing program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021127978 2021-08-04
JP2021-127978 2021-08-04

Publications (1)

Publication Number Publication Date
WO2023013131A1 true WO2023013131A1 (ja) 2023-02-09

Family

ID=85154176

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/010820 WO2023013131A1 (ja) 2021-08-04 2022-03-11 情報処理システムおよび情報処理プログラム

Country Status (3)

Country Link
EP (1) EP4383693A1 (ja)
JP (1) JPWO2023013131A1 (ja)
WO (1) WO2023013131A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018100678A1 (ja) 2016-11-30 2018-06-07 株式会社オプティム コンピュータシステム、エッジデバイス制御方法及びプログラム
JP2021022231A (ja) * 2019-07-29 2021-02-18 株式会社日立製作所 管理装置、管理方法、および管理プログラム
JP2021068974A (ja) * 2019-10-21 2021-04-30 トヨタ自動車株式会社 監視システムおよび監視方法
JP2021127978A (ja) 2020-02-12 2021-09-02 幹夫 福永 魚雷防御システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018100678A1 (ja) 2016-11-30 2018-06-07 株式会社オプティム コンピュータシステム、エッジデバイス制御方法及びプログラム
JP2021022231A (ja) * 2019-07-29 2021-02-18 株式会社日立製作所 管理装置、管理方法、および管理プログラム
JP2021068974A (ja) * 2019-10-21 2021-04-30 トヨタ自動車株式会社 監視システムおよび監視方法
JP2021127978A (ja) 2020-02-12 2021-09-02 幹夫 福永 魚雷防御システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
OGATA, YUJI ET AL.: "Study of Edge Integration technology", THE PAPERS OF TECHNICAL MEETING ON ELECTRICAL DISCHARGES, IEE JAPAN, 30 January 2020 (2020-01-30), pages 41 - 44, XP009536511 *

Also Published As

Publication number Publication date
JPWO2023013131A1 (ja) 2023-02-09
EP4383693A1 (en) 2024-06-12

Similar Documents

Publication Publication Date Title
US11914370B2 (en) System and method for providing easy-to-use release and auto-positioning for drone applications
CN109730590B (zh) 清洁机器人以及清洁机器人自动返回充电的方法
US11242144B2 (en) Aerial vehicle smart landing
US10979615B2 (en) System and method for providing autonomous photography and videography
CN207117844U (zh) 多vr/ar设备协同系统
US10021339B2 (en) Electronic device for generating video data
WO2019144541A1 (zh) 一种清洁机器人
WO2018195955A1 (zh) 一种基于飞行器的设施检测方法及控制设备
US10384346B2 (en) Collision detection, estimation, and avoidance
TW201934460A (zh) 主動補充針對自主導航的曝光設置
CN107343153A (zh) 一种无人设备的拍摄方法、装置及无人机
CN105654512A (zh) 一种目标跟踪方法和装置
WO2016031105A1 (ja) 情報処理装置、情報処理方法、及びプログラム
US20180275659A1 (en) Route generation apparatus, route control system and route generation method
CN105578058A (zh) 一种面向智能机器人的拍摄控制方法、装置及机器人
CN109634263A (zh) 基于数据同步的自动驾驶方法、终端及可读存储介质
US11801602B2 (en) Mobile robot and driving method thereof
WO2021078003A1 (zh) 无人载具的避障方法、避障装置及无人载具
CN104850124B (zh) 自适应运动装置以及自适应运动系统
KR102190743B1 (ko) 로봇과 인터랙션하는 증강현실 서비스 제공 장치 및 방법
CN107647828A (zh) 安装有鱼眼摄像头的扫地机器人
WO2023013131A1 (ja) 情報処理システムおよび情報処理プログラム
CN117412238A (zh) 一种设备定位方法及可移动的电子设备
JP7437930B2 (ja) 移動体及び撮像システム
US20240096049A1 (en) Exposure control based on scene depth

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: 22852560

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18579438

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2023539624

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022852560

Country of ref document: EP

Effective date: 20240304