WO2023195247A1 - センサ装置、制御方法、情報処理装置、情報処理システム - Google Patents

センサ装置、制御方法、情報処理装置、情報処理システム Download PDF

Info

Publication number
WO2023195247A1
WO2023195247A1 PCT/JP2023/005753 JP2023005753W WO2023195247A1 WO 2023195247 A1 WO2023195247 A1 WO 2023195247A1 JP 2023005753 W JP2023005753 W JP 2023005753W WO 2023195247 A1 WO2023195247 A1 WO 2023195247A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing
model
license data
sensor
data
Prior art date
Application number
PCT/JP2023/005753
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 ソニーセミコンダクタソリューションズ株式会社
Publication of WO2023195247A1 publication Critical patent/WO2023195247A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Definitions

  • the present technology provides a sensor device having a function of performing AI processing, which is processing using an AI (Artificial Intelligence) model, on a captured image obtained by capturing an image of a subject, a control method for such a sensor device,
  • AI Artificial Intelligence
  • the present invention relates to an information processing device that performs processing related to a sensor device, and an information processing system including the sensor device and the information processing device.
  • AI camera an imaging device
  • AI Artificial Intelligence
  • one or more AI cameras may be placed in a store, and recognition results regarding customer attributes (e.g., gender, age group, etc.) and behavior patterns may be obtained through image recognition processing, and these recognition results may be transmitted via the Internet, etc.
  • customer attributes e.g., gender, age group, etc.
  • behavior patterns e.g., behavior patterns
  • a business that provides a system for presenting information to users can be considered. Since AI processing is performed on the AI camera side, processing can be distributed and the amount of communication data can be reduced compared to a system in which the server device side performs AI processing based on captured images acquired from each camera. .
  • Patent Document 1 discloses a technique for distributing an AI model from a server device to an AI camera.
  • the AI model in the solution business using AI cameras as described above, it is conceivable to use the AI model on a subscription basis, such as in an online rental video service.
  • the use of an AI model in an AI camera is permitted based on a contract that specifies a period of use, such as one month.
  • a person other than the subscriber may be able to use the AI model due to fraudulent activity, or the subscriber may not be able to use the AI model even after the usage period has expired. Efforts should be made to prevent unauthorized use, such as unauthorized use.
  • This technology was created in view of the above circumstances, and aims to prevent the AI model from being used illegally due to fraudulent acts etc. when using the AI model on a subscription basis for an imaging device with an AI function. With the goal.
  • a sensor device includes an imaging unit that captures an image of a subject, an AI processing unit that performs AI processing using an AI model on an image captured by the imaging unit, and an upper limit condition for use regarding the AI model. and a control section that receives license data indicated from an external device and controls execution of AI processing by the AI processing section so as to satisfy the usage upper limit condition.
  • the AI processing section is provided within the sensor device having the imaging section. According to the above configuration, when an AI model is to be used in a subscription manner for an imaging device having an AI function, execution control of AI processing to satisfy usage upper limit conditions such as an expiration date is controlled by the sensor device. It is done within.
  • control method provides control in a sensor device including an imaging unit that captures an image of a subject, and an AI processing unit that performs AI processing that is processing using an AI model on the image captured by the imaging unit.
  • the method includes receiving license data indicating an upper limit condition for use regarding the AI model from an external device, and controlling execution of AI processing by the AI processing unit so as to satisfy the upper limit condition for use.
  • Such a control method also provides the same effect as the sensor device according to the present technology described above.
  • An information processing device includes an imaging unit that images a subject, an AI processing unit that performs AI processing that is processing using an AI model on an image captured by the imaging unit, and upper limit usage conditions regarding the AI model.
  • a transmitter that transmits the license data to a sensor device that includes a controller that controls the execution of AI processing by the AI processor so as to satisfy the usage upper limit condition based on license data that indicates It is.
  • An information processing system includes an imaging unit that images a subject, an AI processing unit that performs AI processing that is processing using an AI model on an image captured by the imaging unit, and upper limit usage conditions regarding the AI model. a sensor device having a control unit that controls the execution of AI processing by the AI processing unit so as to satisfy the usage upper limit condition based on license data indicating the usage limit; and a transmission unit that transmits the license data to the sensor device. and an information processing device having a section.
  • FIG. 1 is a block diagram showing an example of a schematic configuration of an information processing system as an embodiment.
  • FIG. 1 is a block diagram showing an example of a hardware configuration of an information processing device included in an information processing system as an embodiment.
  • FIG. 1 is a block diagram showing a configuration example of an imaging device including a sensor device as an embodiment.
  • FIG. 2 is a functional block diagram for explaining functions of an information processing device (server device) according to an embodiment.
  • FIG. 3 is a diagram showing an example of the structure of license data in the embodiment. It is a functional block diagram for explaining the function as an embodiment which the sensor device of an embodiment has.
  • 2 is a flowchart of processing corresponding to user account registration in an information processing system according to an embodiment. It is a flowchart of processing corresponding to the process from purchase to deployment of an AI model in an information processing system as an embodiment. 2 is a flowchart showing processing to be performed in the information processing system for execution management of AI processing based on the license contract period. 7 is a flowchart showing processing related to license data transmission and challenge-response authentication in the embodiment.
  • FIG. 1 is a block diagram showing a schematic configuration example of an information processing system 100 as an embodiment of the present technology.
  • the information processing system 100 includes a server device 1, one or more user terminals 2, a plurality of cameras 3, a fog server 4, and an AI (Artificial Intelligence) model developer terminal 6.
  • the server device 1 is configured to be able to perform mutual communication with a user terminal 2, a fog server 4, and an AI model developer terminal 6 via a network 5 such as the Internet. There is.
  • the server device 1, user terminal 2, fog server 4, and AI model developer terminal 6 are information systems equipped with a microcomputer having a CPU (Central Processing Unit), ROM (Read Only Memory), and RAM (Random Access Memory). It is configured as a processing device.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the user terminal 2 is an information processing device that is assumed to be used by a user who is a recipient of a service using the information processing system 100.
  • the server device 1 is an information processing device that is assumed to be used by a service provider.
  • Each camera 3 is equipped with an image sensor such as a CCD (Charge Coupled Device) type image sensor or a CMOS (Complementary Metal Oxide Semiconductor) type image sensor, and captures an image of a subject and outputs image data (captured image data) as digital data. obtain. Furthermore, as will be described later, each camera 3 also has a function of performing AI processing, which is processing using an AI model, on captured images. Each camera 3 is configured to be capable of data communication with the fog server 4, and can transmit various data such as processing result information indicating the result of image processing using an AI model to the fog server 4, and can send various data from the fog server 4 to the fog server 4. It is possible to receive.
  • an image sensor such as a CCD (Charge Coupled Device) type image sensor or a CMOS (Complementary Metal Oxide Semiconductor) type image sensor
  • image data captured image data
  • each camera 3 also has a function of performing AI processing, which is processing using an AI model, on captured images.
  • Each camera 3 is
  • each camera 3 may be used as various surveillance cameras.
  • surveillance cameras for indoors such as stores, offices, and residences
  • surveillance cameras for monitoring outdoors such as parking lots and streets (including traffic surveillance cameras, etc.)
  • cameras for FA (Factory Automation) and IA (Industrial Automation) include surveillance cameras on production lines, surveillance cameras that monitor inside and outside of cars, etc.
  • a surveillance camera is used in a store
  • a plurality of cameras 3 are placed at predetermined positions in the store, and the user can monitor customer demographics (gender, age group, etc.) and behavior (flow line) in the store.
  • the above-mentioned analytical information may include information on the customer demographics of these customers, information on their flow lines within the store, and information on the congestion status at checkout registers (for example, information on waiting times at checkout registers), etc. is possible.
  • each camera 3 is placed at each position near the road so that the user can recognize information such as the license plate number (vehicle number), car color, and car model of passing vehicles. In that case, it is conceivable to generate information such as the license plate number, car color, car model, etc. as the above-mentioned analysis information.
  • the cameras should be placed so that they can monitor each parked vehicle, and monitor whether there are any suspicious persons acting suspiciously around each vehicle.
  • the cameras may be possible to notify the user of the presence of the suspicious person and the attributes of the suspicious person (gender, age group, clothing, etc.).
  • the fog server 4 is arranged for each monitoring target, for example, in the above-mentioned store monitoring application, the fog server 4 is placed in the monitored store together with each camera 3.
  • the fog server 4 is not limited to providing one for each monitoring target, but it is also possible to provide one fog server 4 for a plurality of monitoring targets.
  • the fog server 4 function can be provided in the information processing system 100.
  • the server 4 may be omitted, each camera 3 may be directly connected to the network 5, and the server device 1 may directly receive transmission data from a plurality of cameras 3.
  • the AI model developer terminal 6 is an information processing device used by an AI model developer.
  • the server device 1 is an information processing device that has a function of comprehensively managing the information processing system 100. As shown in the figure, the server device 1 has a license authorization function F1, an account service function F2, a marketplace function F3, and an AI service function F4 as functions related to the management of the information processing system 100.
  • the license authorization function F1 is a function that performs various types of authentication-related processing. Specifically, in the license authorization function F1, processing related to device authentication of each camera 3 and processing related to authentication of data such as an AI model used in the camera 3 are performed.
  • the license authorization function F1 for authentication of the camera 3, a device ID is issued for each camera 3 when the camera 3 is connected via the network 5 (in this example, the connection is via the fog server 4). Processing takes place. Furthermore, regarding the authentication of the AI model, a process is performed to issue a unique ID (AI model ID) for the AI model for which registration is applied for from the AI model developer terminal 6. In addition, in the license authorization function F1, the manufacturer of the camera 3 ( In particular, the process of issuing the certificate to the manufacturer of the image sensor 30 (described later) and the AI model developer is performed, as well as the process of suspending and updating the validity of the certification.
  • the license authorization function F1 when user registration (registration of account information accompanied by issuance of a user ID) is performed by the account service function F2 described below, the camera 3 (device ID above) purchased by the user and A process of linking the information with the user ID is also performed.
  • the account service function F2 is a function that generates and manages user account information.
  • the account service function F2 receives input of user information and generates account information based on the input user information (generates account information including at least user ID and password information). Furthermore, the account service function F2 also performs registration processing (registration of account information) for AI model developers.
  • the marketplace function F3 is a function that performs processing related to a purchase procedure to allow the user to use the AI model in a subscription manner.
  • the term "subscription” here refers to a service in which the user pays a purchase price and is permitted to use the AI model according to the terms of use specified in the contract.
  • the service is such that the user is allowed to use the AI model for a predetermined period, such as one month, by paying the purchase price.
  • the user can select the conditions of use of the AI model, such as the period of use, from among a plurality of conditions. Further, different purchase prices may be set depending on the usage conditions.
  • the term "license contract period” is used. This usage license contract period means the usage license period of the AI model specified in the AI model subscription service contract. For example, in the one-month contract illustrated above, the one-month period corresponds to the usage permission contract period.
  • the user is able to perform a purchase procedure to obtain permission to use the AI model via the subscription contract website (contract site) provided by the marketplace function F3.
  • a user can select an AI model to be used and a license contract period.
  • the user selects the AI model to be used and the usage permission contract period, the corresponding purchase price is displayed, and when the user pays the purchase price, the usage contract for the AI model is established.
  • the AI service function F4 is a function for providing the user with a service related to the use of the camera 3 as an AI camera.
  • This AI service function F4 is the function related to the generation of analysis information described above. That is, it is a function that generates analysis information of a subject based on processing result information of AI processing in the camera 3 and performs processing for allowing the user to view the generated analysis information via the user terminal 2.
  • the server device 1 alone realizes the license authorization function F1, the account service function F2, the marketplace function F3, and the AI service function F4, but these functions can be implemented by multiple information processing devices. It is also possible to adopt a configuration in which the tasks are shared and realized. For example, it is conceivable that one information processing device performs each of the above functions. Alternatively, it is also possible that a single function among the above-mentioned functions is shared and performed by a plurality of information processing apparatuses.
  • FIG. 2 is a block diagram showing an example of the hardware configuration of the server device 1.
  • the server device 1 includes a CPU 11.
  • the CPU 11 functions as an arithmetic processing unit that performs the various processes described above as processing of the server device 1, and stores data in a ROM 12 or a nonvolatile memory unit 14 such as an EEP-ROM (Electrically Erasable Programmable Read-Only Memory).
  • EEP-ROM Electrically Erasable Programmable Read-Only Memory
  • Various processes are executed according to the programs currently running or programs loaded from the storage unit 19 into the RAM 13.
  • the RAM 13 also appropriately stores data necessary for the CPU 11 to execute various processes.
  • the CPU 11, ROM 12, RAM 13, and nonvolatile memory section 14 are interconnected via a bus 23.
  • An input/output interface (I/F) 15 is also connected to this bus 23.
  • the input/output interface 15 is connected to an input section 16 consisting of an operator or an operating device.
  • the input unit 16 may be various operators or operating devices such as a keyboard, mouse, keys, dial, touch panel, touch pad, or remote controller.
  • a user's operation is detected by the input unit 16, and a signal corresponding to the input operation is interpreted by the CPU 11.
  • the input/output interface 15 is connected to a display section 17 such as an LCD (Liquid Crystal Display) or an organic EL (Electro-Luminescence) panel, and an audio output section 18 such as a speaker, either integrally or separately.
  • the display unit 17 is used to display various information, and is configured by, for example, a display device provided in the housing of the computer device, a separate display device connected to the computer device, or the like.
  • the display unit 17 displays images for various image processing, moving images to be processed, etc. on the display screen based on instructions from the CPU 11. Further, the display unit 17 displays various operation menus, icons, messages, etc., ie, as a GUI (Graphical User Interface), based on instructions from the CPU 11.
  • GUI Graphic User Interface
  • the input/output interface 15 may be connected to a storage section 19 made up of an HDD (Hard Disk Drive), a solid-state memory, or the like, and a communication section 20 made up of a modem or the like.
  • a storage section 19 made up of an HDD (Hard Disk Drive), a solid-state memory, or the like
  • a communication section 20 made up of a modem or the like.
  • the communication unit 20 performs communication processing via a transmission path such as the Internet, and communicates with various devices by wire/wireless communication, bus communication, etc.
  • a drive 21 is also connected to the input/output interface 15 as necessary, and a removable storage medium 22 such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory is appropriately installed.
  • the drive 21 can read data files such as programs used for each process from the removable storage medium 22.
  • the read data file is stored in the storage section 19, and images and sounds included in the data file are outputted on the display section 17 and the audio output section 18. Further, computer programs and the like read from the removable storage medium 22 are installed in the storage unit 19 as necessary.
  • software for the processing of this embodiment can be installed, for example, via network communication by the communication unit 20 or the removable storage medium 22.
  • the software may be stored in the ROM 12, storage unit 19, etc. in advance.
  • the server device 1 is not limited to being configured by a single computer device as shown in FIG. 2, but may be configured by systemizing a plurality of computer devices.
  • the plurality of computer devices may be systemized using a LAN (Local Area Network) or the like, or may be placed at a remote location via a VPN (Virtual Private Network) using the Internet or the like.
  • the plurality of computer devices may include computer devices as a server group (cloud) that can be used by a cloud computing service.
  • FIG. 3 is a block diagram showing an example of the configuration of the camera 3.
  • the camera 3 includes an image sensor 30, an imaging optical system 31, an optical system drive section 32, a control section 33, a memory section 34, a communication section 35, and a sensor section 36.
  • the image sensor 30, the control section 33, the memory section 34, the communication section 35, and the sensor section 36 are connected via a bus 37, and are capable of mutual data communication.
  • the imaging optical system 31 includes lenses such as a cover lens, zoom lens, and focus lens, and an aperture (iris) mechanism. This imaging optical system 31 guides light (incident light) from the subject and focuses it on the light receiving surface of the image sensor 30 .
  • the optical system drive unit 32 comprehensively represents the zoom lens, focus lens, and aperture mechanism drive units included in the imaging optical system 31.
  • the optical system drive unit 32 includes actuators for driving each of the zoom lens, focus lens, and aperture mechanism, and a drive circuit for the actuators.
  • the control unit 33 is configured with a microcomputer having, for example, a CPU, a ROM, and a RAM, and the CPU executes various processes according to programs stored in the ROM or programs loaded in the RAM, thereby controlling the camera. Performs overall control of step 3.
  • a microcomputer having, for example, a CPU, a ROM, and a RAM, and the CPU executes various processes according to programs stored in the ROM or programs loaded in the RAM, thereby controlling the camera. Performs overall control of step 3.
  • control unit 33 instructs the optical system drive unit 32 to drive the zoom lens, focus lens, aperture mechanism, etc.
  • the optical system drive unit 32 moves the focus lens and zoom lens, opens and closes the aperture blades of the aperture mechanism, etc. in response to these drive instructions.
  • the control unit 33 controls writing and reading of various data to and from the memory unit 34 .
  • the memory unit 34 is a nonvolatile storage device such as an HDD or a flash memory device, and is used to store data used by the control unit 33 to execute various processes. Furthermore, the memory unit 34 can also be used as a storage destination (recording destination) for image data output from the image sensor 30.
  • the control unit 33 performs various data communications with external devices via the communication unit 35.
  • the communication unit 35 in this example is configured to be able to perform data communication with at least the fog server 4 shown in FIG.
  • the communication unit 35 may be able to communicate via the network 5 and perform data communication with the server device 1.
  • the sensor unit 36 comprehensively represents sensors other than the image sensor 30 included in the camera 3.
  • Examples of the sensors included in the sensor unit 36 include a GNSS (Global Navigation Satellite System) sensor and altitude sensor for detecting the position and altitude of the camera 3, a temperature sensor for detecting the environmental temperature, and a sensor for detecting the movement of the camera 3.
  • Examples include motion sensors such as acceleration sensors and angular velocity sensors.
  • the image sensor 30 is configured as a solid-state imaging device such as a CCD type or a CMOS type, and as shown in the figure, it includes an imaging section 41, an image signal processing section 42, an in-sensor control section 43, an AI image processing section 44, a memory section 45, It includes a computer vision processing section 46, a communication interface (I/F) 47, and a random number generation section 49. Among these units, each unit except the random number generation unit 49 is capable of data communication with each other via the bus 48.
  • This image sensor 30 is an embodiment of a sensor device according to the present technology.
  • the imaging section 41 includes a pixel array section in which pixels having photoelectric conversion elements such as photodiodes are arranged two-dimensionally, and a readout circuit that reads out electrical signals obtained by photoelectric conversion from each pixel included in the pixel array section. We are prepared.
  • This readout circuit performs, for example, CDS (Correlated Double Sampling) processing, AGC (Automatic Gain Control) processing, etc. on the electrical signal obtained by photoelectric conversion, and further performs A/D (Analog/Digital) conversion processing.
  • the image signal processing unit 42 performs preprocessing, synchronization processing, YC generation processing, resolution conversion processing, codec processing, etc. on the captured image signal as digital data after A/D conversion processing.
  • Pre-processing includes clamp processing to clamp the black levels of R (red), G (green), and B (blue) to predetermined levels for the captured image signal, and correction processing between R, G, and B color channels. etc.
  • color separation processing is performed so that the image data for each pixel includes all R, G, and B color components. For example, in the case of an image sensor using a Bayer array color filter, demosaic processing is performed as color separation processing.
  • a luminance (Y) signal and a color (C) signal are generated (separated) from R, G, and B image data.
  • the resolution conversion process the resolution conversion process is performed on image data that has been subjected to various types of signal processing.
  • the codec processing the image data that has been subjected to the various processes described above is subjected to encoding processing for recording or communication, and file generation, for example.
  • video file formats such as MPEG-2 (MPEG: Moving Picture Experts Group) and H. It is possible to generate files in formats such as H.264. It is also conceivable to generate a still image file in a format such as JPEG (Joint Photographic Experts Group), TIFF (Tagged Image File Format), or GIF (Graphics Interchange Format).
  • the in-sensor control unit 43 includes, for example, a microcomputer configured with a CPU, ROM, RAM, etc., and controls the operation of the image sensor 30 in an integrated manner. For example, the in-sensor control unit 43 issues instructions to the imaging unit 41 to control execution of imaging operations. It also controls the execution of processing for the AI image processing section 44, image signal processing section 42, and computer vision processing section 46. Further, the in-sensor control unit 43 performs processing so that the AI model is set in the AI image processing unit 44 when the AI model is transmitted from the server device 1 to the image sensor 30, as will be described later. That is, this is a process of setting the AI model in the AI image processing unit 44 so that the AI image processing unit 44 can execute AI processing using the AI model.
  • the in-sensor control section 43 has a nonvolatile memory section 43n and a volatile memory section 43v.
  • the nonvolatile memory section 43n is used to store data used by the CPU of the sensor internal control section 43 in various processes. Further, data used by the CPU of the sensor internal control unit 43 in various processes is temporarily stored in the volatile memory unit 43v.
  • the nonvolatile memory unit 43n stores information on various keys for decrypting data transmitted from the server device 1, such as an AI model. This key is shared between the server device 1 and the authenticated camera 3, for example, through the license authorization function F1 described above.
  • the volatile memory unit 43v is also used for temporary storage of license data, which will be described later.
  • a random number generation section 49 is connected to the in-sensor control section 43.
  • This random number generation unit 49 generates a random number that is used when performing authentication processing between the server device 1 and the image sensor 30 (in-sensor control unit 43), which will be described later, based on the captured image data obtained by the imaging unit 41. generate. Note that the random number generation unit 49, including this authentication process, will be explained later.
  • the AI image processing unit 44 includes a programmable arithmetic processing device such as a CPU, an FPGA (Field Programmable Gate Array), and a DSP (Digital Signal Processor), and performs AI processing on the captured image.
  • a programmable arithmetic processing device such as a CPU, an FPGA (Field Programmable Gate Array), and a DSP (Digital Signal Processor)
  • Examples of the AI processing performed by the AI image processing unit 44 include image recognition processing for recognizing a subject as a specific target, such as a person or a vehicle.
  • the AI processing may be performed as object detection processing that detects the presence or absence of some kind of object, regardless of the type of subject.
  • the AI processing function by the AI image processing unit 44 can be switched by changing the AI model (AI processing algorithm).
  • AI processing is image recognition processing
  • An example in which the AI processing is image recognition processing will be described below.
  • Various types of specific image recognition functions can be considered, and examples include the following types. ⁇ Class identification ⁇ Semantic segmentation ⁇ Person detection ⁇ Vehicle detection ⁇ Target tracking ⁇ OCR (Optical Character Recognition)
  • class identification is a function that identifies the target class.
  • the "class” here refers to information representing the category of an object, such as "person,”"car,””plane,””ship,””truck,””bird,””cat,””dog,””deer,””frog,”””Horse” etc.
  • Target tracking is a function of tracking a subject that is a target, and can be translated as a function of obtaining historical information on the position of the subject.
  • the memory unit 45 is made up of a nonvolatile memory, and is used to store data necessary for the AI image processing unit 44 to perform AI processing. Specifically, the setting data of the AI model (for example, various weighting coefficients used in convolution calculations on the neural network, data indicating the neural network structure, etc.) is stored in the memory unit 45. Further, in this example, the memory unit 45 is also used to hold captured image data processed by the image signal processing unit 42.
  • the setting data of the AI model for example, various weighting coefficients used in convolution calculations on the neural network, data indicating the neural network structure, etc.
  • the computer vision processing unit 46 performs rule-based image processing as image processing on the captured image data.
  • Examples of the rule-based image processing here include super-resolution processing and the like.
  • the communication interface 47 is an interface that communicates with various units connected via the bus 37, such as the control unit 33 and the memory unit 34 outside the image sensor 30. For example, the communication interface 47 performs communication for acquiring an AI model used by the AI image processing unit 44 from the outside under the control of the in-sensor control unit 43. Further, processing result information of the AI processing by the AI image processing unit 44 is output to the outside of the image sensor 30 via the communication interface 47 .
  • the in-sensor control unit 43 is able to perform data communication with the server device 1 via the communication interface 47, the communication unit 35, and the fog server 4.
  • the sensor internal control unit 43 receives various data such as an AI model from the server device 1, and transmits various data such as processing result information by the AI image processing unit 44 to the server device 1, as described later. It is said that it is possible to
  • the image sensor 30 includes, in addition to the imaging section 41 having the pixel array section, an AI image processing section 44 that performs AI processing, an in-sensor control section 43 as a computer device, etc. It is considered a thing.
  • An example of the structure of such an image sensor 30 will be explained with reference to FIG. 4. Note that the structure shown in FIG. 4 is just an example, and of course other structures can be adopted.
  • the image sensor 30 in this example has a two-layer structure (stacked structure) in which two dies, a die D1 and a die D2, are stacked.
  • the image sensor 30 in this example is configured as a one-chip semiconductor device in which a die D1 and a die D2 are bonded together.
  • the die D1 is a die on which an imaging section 41 is formed
  • the die D2 is a die on which an image signal processing section 42, an in-sensor control section 43, an AI image processing section 44, a memory section 45, a computer vision processing section 46, and a communication interface 47 are formed.
  • a random number generator 49 The die D1 and the die D2 are physically and electrically connected by, for example, an interchip bonding technique such as Cu--Cu bonding.
  • the server device 1 has the following various functions as the functions of the embodiment.
  • FIG. 5 is a functional block diagram for explaining the functions of the CPU 11 of the server device 1 as an embodiment.
  • the server device 1 has the functions of a use preparation processing section 11a, a use start processing section 11b, and a use control section 11c.
  • the use preparation processing unit 11a performs processing related to preparation for the user to receive services provided by the information processing system 100.
  • the user purchases the camera 3 as a compatible product for use with the information processing system 100 in order to receive the service provided by the information processing system 100.
  • the user performs a registration procedure for the purchased camera 3 and a user account. Specifically, the user connects all the purchased cameras 3 that he/she wants to use to a designated cloud, that is, the server device 1 in this example, over a network. In this state, the user uses the user terminal 2 to input information for registering the camera 3 and user account to the server device 1 (account service function F2 described above).
  • the use preparation processing unit 11a generates user account information based on input information from the user. Specifically, account information including at least a user ID and password information is generated.
  • the use preparation processing unit 11a generates the user's account information, and also generates the sensor ID (ID of the image sensor 30), camera ID (ID of the camera 3), and Region information (installation of the camera 3) from the connected camera 3. location information), etc., and performs processing to link the acquired information to the generated account information.
  • the use preparation processing unit 11a performs a process of assigning an ID to the camera 3 of the user whose account has been registered, using the license authorization function F1 described above. That is, a corresponding device ID is issued for each connected camera 3, and linked to, for example, the camera ID described above. This allows the server device 1 to identify each camera 3 using the device ID.
  • the use preparation processing unit 11a performs processing corresponding to acceptance of purchase of the AI model from the user and purchase.
  • processing is performed to link the purchased AI model and user ID.
  • the server device 1 manages the AI model using the content ID.
  • the content ID is an ID used to identify AI models in purchasable units. For example, for AI models that can only be purchased individually, different content IDs are assigned to each AI model. Furthermore, for AI models that can be purchased as a set of multiple AI models, one content ID is assigned to the multiple AI models. In the server device 1, it is possible to manage which AI model the user has purchased using this content ID.
  • the use preparation processing unit 11a also performs encryption processing on the AI model.
  • this encryption process involves multiplying the above content ID by predetermined key information to generate an AI model encryption key, and encrypting the AI model with the corresponding content ID using the AI model encryption key. This is done as a process.
  • the start-of-use processing unit 11b performs processing corresponding to the start of use of the camera 3. Specifically, the start-of-use processing unit 11b performs a process of deploying the encrypted AI model to the image sensor 30. "Deploying" the AI model here means transmitting the AI model to the image sensor 30 to have it installed.
  • the use control unit 11c performs processing to control the use of the AI model in the image sensor 30. Specifically, the use of the AI model is controlled based on the above-mentioned usage permission contract period.
  • the sensor internal control unit 43 causes the server device 1 to use the AI model. Make a start request.
  • the usage control unit 11c generates license data based on information on the usage permission contract period linked to the image sensor 30.
  • the license data referred to here is data that includes information indicating the usage upper limit conditions regarding the AI model (hereinafter referred to as "usage upper limit condition information"), and by transmitting this to the image sensor 30 side, the image sensor 30 It becomes possible to control the execution of AI processing so that the usage upper limit condition is satisfied.
  • the license data includes an AI model encryption key. As a result, on the image sensor 30 side, the encrypted AI model cannot be decrypted unless the license data is received. In other words, it becomes impossible to use the AI model.
  • FIG. 6 shows an example of the data structure of license data.
  • the license data in this example includes at least a content ID, an AI model encryption key, a sensor ID, and usage upper limit condition information.
  • the license data has a regulation data area A1 and an option data area A2.
  • the specified data area A1 is a data area in which the received license data is treated as invalid if there is an unknown value at the time of reading on the image sensor 30 side.
  • the option data area A2 is a data area in which the received license data is not treated as invalid even if there is an unknown value at the time of reading on the image sensor 30 side.
  • the sensor ID and usage upper limit condition information are stored in the former specified data area A1.
  • the content ID and the AI model encryption key are stored in a data area that does not belong to either the regulation data area A1 or the optional data area A2.
  • a reserved area is secured in the specified data area A1.
  • a reserved area is also secured in the option data area A2. It is conceivable to store information for specifying a condition different from the usage upper limit condition information, such as upper limit information on the number of times of image recognition by the AI image processing unit 44, for example, in the reserved area within the specified data area A1. Furthermore, it is conceivable to store, for example, information on a conversion output enable flag to another marketplace, etc., in the reserve area within the option data area A2.
  • the sensor ID the sensor ID of the image sensor 30 that has requested the start of use is stored.
  • the reason why the sensor ID is stored in the license data is to prevent the AI model from being used illegally by image sensors 30 (non-compliant products) other than the image sensor 30 that is the compliant product that requested the start of use. It is.
  • usage upper limit condition information in this example, information indicating a usage period shorter than the usage permission contract period is stored.
  • the AI model encryption key may be encrypted with some kind of key and stored.
  • the information to be stored regarding the license data is not limited to the above example.
  • information indicating which management method should be used to manage the usage upper limit condition may be included in the license data. can also be considered.
  • the camera 3 is not operated continuously for 24 hours, but is powered off during a predetermined time period during the day, such as during a store's non-business hours. In other words, the camera 3 repeatedly turns off and starts up on a daily basis.
  • the image sensor 30 is designed to request to start using the AI model each time it is activated.
  • the usage control unit 11c stores information indicating a usage period shorter than the usage permission contract period as described above as usage upper limit condition information stored in the license data, and The data is transmitted to the image sensor 30 side multiple times within the license contract period. That is, in this example, each time the image sensor 30 makes a request to start using the AI model in response to activation (every day in this example), the request is sent to the requesting image sensor 30.
  • the license data includes information indicating a usage period shorter than the license contract period, specifically, for example, if the power is cut off daily as described above, the specified usage period is 24 hours or less. Stores information indicating the period.
  • the usage control unit 11c checks the corresponding contract details, specifically the usage permission contract period, based on the sensor ID information of the image sensor 30 that is the request source. However, if it is within the usage permission contract period, license data including usage upper limit condition information indicating a usage period shorter than the usage permission contract period is generated. Specifically, in this example, license data including the usage upper limit condition information and the sensor ID acquired from the requesting image sensor 30 is generated. Then, the license data is transmitted to the requesting image sensor 30 (in-sensor control unit 43).
  • the in-sensor control unit 43 controls the execution of AI processing according to the license data received from the server device 1.
  • the execution control of this AI processing is performed every time license data is received from the server device 1 within the usage license contract period (in this example, every day). This is done in such a way that it does not exceed the period of use.
  • the period of use of the AI model in the image sensor 30 can be limited to within the license contract period.
  • the usage control unit 11c performs authentication processing for the license data with the in-sensor control unit 43.
  • challenge-response authentication is performed as this authentication process.
  • the license data encryption key is valid for only one session.
  • the license data is a volatile license that is valid for only one session.
  • the license data can be used within the usage license contract period with conditions that correspond to the usage upper limit period that is shorter than the usage license contract period. It becomes possible to transmit the information to the image sensor 30 multiple times. Note that challenge-response authentication will be explained later.
  • the in-sensor control section 43 includes an authentication processing section 43a and an execution control section 43b.
  • the authentication processing unit 43a performs authentication processing with the server device 1 (CPU 11) every time license data is transmitted from the server device 1 side. Specifically, in this example, the challenge-response authentication described above is performed. Furthermore, when the license data is successfully authenticated, the authentication processing unit 43a of this example decrypts the deployed encrypted AI model based on the AI model encryption key included in the license data. Furthermore, the authentication processing unit 43a of this example also performs authentication processing based on the sensor ID included in the license data. Specifically, the sensor ID stored in the license data is compared with the sensor ID stored in the own device (image sensor 30), and it is determined whether the two IDs match. Authentication processing based on this sensor ID is performed every time license data is received (every time license data is authenticated).
  • the server device 1 transmits tampering determination data, which is data for determining whether or not the license data has been tampered with, along with the license data.
  • the authentication processing unit 43a also performs processing to determine whether or not the license data has been tampered with, based on this tampering determination data.
  • Any one of authentication with the server device 1 side by the authentication processing unit 43a (challenge response authentication), authentication using the sensor ID as described above, and authentication based on tampering judgment based on the above-mentioned tampering judgment data.
  • authentication is not successful, execution control of AI processing based on the received license data is not performed. In other words, AI processing is not performed on the image sensor 30 side.
  • the authentication processing unit 43a also performs a process of decrypting the encrypted license data. Note that the details of the processing by the authentication processing unit 43a, including such decryption of license data, will be explained again.
  • the execution control unit 43b controls the execution of AI processing by the AI image processing unit 44 so that the usage upper limit condition indicated by the usage upper limit condition information is satisfied. Specifically, on the condition that various types of authentication by the authentication processing unit 43a described above have been established, execution control of the AI processing is performed based on the usage upper limit conditions as described above.
  • the execution control unit 43b controls the execution of AI processing to satisfy the usage upper limit condition based on the count value of the number of frames processed by the AI image processing unit 44. Since the processing frame rate of the AI image processing unit 44 is known, the processing time of the AI process can be measured by counting the number of frames processed by the AI image processing unit 44. In this example, the execution control unit 43b calculates the processing time of the AI process, which is timed based on the processing frame rate of the AI image processing unit 44 and the count value of the number of processed frames, as indicated by the usage upper limit condition information in the license data.
  • the count value of the number of processed frames is converted into time and compared with the usage period, but it is also possible to store the value of the number of frames as usage upper limit condition information in the license data. In that case, there is no need to convert the count value of the number of processed frames into time.
  • the usage upper limit condition Information indicating the number of frames of "2,592,000" may be stored as information.
  • FIG. 8 is a flowchart of processing corresponding to user account registration
  • FIG. 9 is a flowchart of processing corresponding to the process from purchasing an AI model (subscription purchase) to deployment.
  • the process indicated as “server device” is a process executed by the CPU 11 of the server device 1
  • the process indicated as "sensor” is executed by the sensor internal control unit 43 in the image sensor 30 of the camera 3. It is processing.
  • the process indicated as "user terminal” is executed by the CPU in the user terminal 2. Note that when the processes shown in FIGS. 8 and 9 are started, it is assumed that the user terminal 2 and the image sensor 30 are each connected to the server device 1 via the network 5 so as to be communicable.
  • the user terminal 2 performs user information input processing in step S201. That is, this is a process of inputting information for account registration (at least user ID and password information) to the server device 1 based on the user's operational input.
  • the server device 1 accepts information input from the user terminal 2, and also transmits necessary information regarding account registration to the image sensor 30 in step S101. Specifically, a request is made to send the above-mentioned sensor ID, camera ID, region information, etc. that should be linked with the user ID (see the function of the above-mentioned use preparation processing section 11a).
  • the image sensor 30 performs a process of transmitting the information requested by the server device 1 to the server device 1 as the request information transmitting process in step S301.
  • the server device 1 which has received the request information from the image sensor 30, generates account information based on the user information input from the user terminal 2 and performs the user registration process in step S102. Performs the process of linking the above request information.
  • the user terminal 2 executes an AI product purchase process in step S210. That is, this is a process for purchasing an AI model in the aforementioned marketplace. Specifically, as the process of step S210, the user terminal 2 transmits information instructing the server device 1 about the AI model to be used and the selected usage permission contract period based on the user's operation input, and sends information about the purchase price. Perform processing related to payments, etc.
  • the server device 1 performs a process for linking the information about the AI model and license contract period for which purchase is instructed from the user terminal 2 to the user as the purchaser. . Specifically, processing is performed to link the ID (AI model ID) and content ID of the AI model for which purchase has been instructed, as well as information on the selected usage permission contract period, to the user ID of the user as the purchaser.
  • processing is performed to link the ID (AI model ID) and content ID of the AI model for which purchase has been instructed, as well as information on the selected usage permission contract period, to the user ID of the user as the purchaser.
  • step S111 following step S110 the server device 1 generates an encryption key. That is, this is a process of generating an AI model encryption key used to encrypt a purchased AI model.
  • the AI model encryption key is generated by multiplying the content ID by predetermined key information.
  • step S112 following step S111 the server device 1 encrypts the purchased AI model. Specifically, the purchased AI model is encrypted using the encryption key generated in step S111.
  • the AI model is encrypted here in response to the purchase of the AI model, this is not essential.
  • the encryption of the AI model should be performed at a timing before the purchase process, such as when the AI model is registered in the marketplace by the AI model developer terminal 6 and a content ID is assigned to the AI model. It is possible that
  • step S211 AI deployment request
  • the server device 1 After executing the process in step S112 described above, the server device 1 waits for this deployment request in step S113. If there is a deployment request, the server device 1 performs a process of deploying the encrypted AI model in step S114. That is, a process of transmitting the encrypted data (encrypted AI model) obtained in step S112 to the corresponding image sensor 30 is performed.
  • the image sensor 30 that has received the encrypted AI model transmitted from the server device 1 performs processing to store the encrypted AI model in step S310. That is, processing is performed to store the received encrypted AI model in a predetermined nonvolatile storage device such as the nonvolatile memory section 43n.
  • FIG. 10 is a flowchart showing the processing that the server device 1 and the image sensor 30 should perform to manage the execution of AI processing based on the license contract period.
  • the CPU 11 of the server device 1 executes the processing indicated as “server device”
  • the in-sensor control unit 43 in the image sensor 30 executes the processing indicated as “sensor”.
  • the image sensor 30 is communicably connected to the server device 1 via the network 5.
  • the image sensor 30 in-sensor control unit 43 executes the process shown in FIG. 10 every time it is activated.
  • step S320 the image sensor 30 requests the server device 1 to start using it.
  • the server device 1 In other words, it is a request to start using the AI model.
  • the server device 1 Upon receiving the usage start request in step S320, the server device 1 determines in step S120 whether or not the contract period is within the contract period. That is, based on the sensor ID obtained from the image sensor 30 that has made the start-of-use request, information on the usage permission contract period corresponding to the image sensor 30 that has requested the start-of-use request is acquired, and it is determined that the current usage permission contract period is within the usage permission contract period. Determine whether it exists or not. In step S120, if it is determined that the contract is not within the contract period, the server device 1 finishes the series of processes shown in FIG. That is, in this case, the license data is not transmitted to the image sensor 30, and the execution control of step S324, which will be described later, is not performed on the image sensor 30 side, so the image sensor 30 becomes unable to use the AI model.
  • step S120 determines whether the contract period is within the contract period. If it is determined in step S120 that the contract period is within the contract period, the server device 1 proceeds to step S121 and generates corresponding license data. That is, as described above with reference to FIG. 6, license data including at least the content ID, AI model encryption key, sensor ID, and usage upper limit condition information is generated. As described above, in this example, as usage upper limit condition information, information indicating a usage period shorter than the usage permission contract period is stored in the license data. For example, if the usage license contract period is set to be a period of multiple days such as one month as mentioned above, and the image sensor 30 (camera 3) is assumed to be powered off on a daily basis, for example, for a predetermined period of 24 hours or less. Usage upper limit condition information indicating the length of usage period is stored in the license data.
  • step S122 following step S121 the server device 1 notifies the image sensor 30 of the start of authentication.
  • authentication processing is performed between the image sensor 30 and the server device 1 (see step S321 and step S123 in the figure). Specifically, in this example, challenge-response authentication processing, which will be described later, is performed.
  • the server device 1 encrypts the license data and converts the encrypted license data and license data tampering determination data in the authentication processing process in step S123. A process of transmitting the image to the image sensor 30 is performed.
  • the server device 1 completes the series of processes shown in FIG. 10 in response to executing the authentication process in step S123.
  • the image sensor 30 determines whether or not authentication is successful in step S322 following the authentication process in step S321.
  • the process of step S322 in this example includes authentication with the server device 1 side (challenge response authentication) and license data tampering determination data described as the authentication process of the authentication processing unit 43a in FIG. This is a process of determining whether both authentications based on falsification determination are successful. If it is determined in step S322 that authentication has not been established, the image sensor 30 finishes the series of processes shown in FIG. 10. In other words, in this case, the decryption process of the encrypted AI model in step S324 is not performed, so the AI model cannot be used in the image sensor 30.
  • step S322 determines whether the authentication is successful. That is, it is determined whether the sensor ID included in the decrypted license data matches its own sensor ID. If it is determined in step S323 that the sensor IDs do not match, the image sensor 30 finishes the series of processes shown in FIG. That is, in this case as well, the AI model becomes unusable in the image sensor 30.
  • step S323 If it is determined in step S323 that the sensor IDs match, the image sensor 30 proceeds to step S324 and decrypts the encrypted AI model. That is, the encrypted AI model stored in the previous step S310 (FIG. 9) is decrypted based on the AI model encryption key included in the license data. As a result, the purchased AI model becomes usable in the image sensor 30.
  • step S325 following step S324, the image sensor 30 controls the execution of the AI process so that the usage upper limit condition indicated by the license data is satisfied. That is, first, the image sensor 30 is placed in a mode that allows the AI image processing unit 44 to perform AI processing. Then, in response to the AI image processing unit 44 starting execution of the AI process, it performs a timekeeping operation, specifically, in this example, timekeeping is performed based on the count value of the number of processing frames of the AI process. Then, it is determined whether the processing time of the AI processing timed in this way exceeds the usage period indicated by the usage upper limit condition information in the license data, and if the processing time does not exceed the usage period, the AI image processing is performed. The AI processing of the AI image processing section 44 is continued, and when the processing time exceeds the usage period, the AI processing of the AI image processing section 44 is stopped.
  • the image sensor 30 completes the series of processes shown in FIG. 10 in response to executing the process of step S325.
  • the license data is transmitted from the server device 1 to the image sensor 30 as data separate from the AI model data.
  • the license data is transmitted to the image sensor 30 multiple times within the license contract period.
  • the server device 1 transmits license data to the image sensor 30 in response to a usage start request made every time the image sensor 30 is activated.
  • the license data is transmitted multiple times within the license contract period.
  • FIG. 11 is a flowchart showing processing related to license data transmission and challenge-response authentication performed between the server device 1 and the image sensor 30.
  • the CPU 11 of the server device 1 executes the process indicated as “server device,” and the in-sensor control unit 43 in the image sensor 30 executes the process indicated as “sensor.”
  • the server device 1 starts the process shown in FIG. 11 in response to the authentication start notification (S122) shown in FIG. 10 being sent. That is, the processes of the server device and the image sensor 30 shown in FIG. 11 correspond to the authentication process of step S123 and the authentication process of step S322 shown in FIG. 10, respectively.
  • step S130 the server device 1 generates a server-side random number: Challenge_Host.
  • This random number: Challenge_Host may be a true random number or a pseudo random number.
  • step S131 following step S130 the server device 1 transmits the generated Challenge_Host to the image sensor 30.
  • the image sensor 30 In response to receiving Challenge_Host transmitted in step S131, the image sensor 30 performs processing to generate a sensor-side random number: Challenge_Sensor in step S330.
  • This random number: Challenge_Sensor may also be a true random number or a pseudo random number.
  • the random number as Challenge_Sensor is generated by the random number generation unit 49 shown in FIG.
  • the random number generation unit 49 generates random numbers based on noise generated in the captured image obtained by the imaging unit 41.
  • the noise generated in the captured image referred to here means noise as thermal noise generated due to the heat of the electronic circuit included in the image capturing section 41.
  • Various methods can be considered for detecting noise occurring in captured images.
  • the in-sensor control unit 43 causes the imaging unit 41 to perform an imaging operation with the shutter closed in the imaging optical system 31.
  • the captured image thus obtained contains only a noise component as thermal noise (because no light is incident on the light-receiving surface).
  • a random number (true random number) is generated based on the signal value (luminance value) of each pixel.
  • the lowest 1 bit of the signal value of each pixel can be considered to be affected by thermal noise, so the value of the lowest 1 bit of each pixel can be It is also possible to use this to generate random numbers.
  • random number generation unit 49 By using the random number generation unit 49 as described above, there is no need to provide dedicated hardware for random number generation in the sensor device in order to enable challenge-response authentication. Further, even in the image sensor 30 in which memory for generating pseudo-random numbers is not secured, random numbers for challenge-response authentication can be generated.
  • step S331 the image sensor 30 calculates a response on the sensor side: Response_Sensor.
  • the Challenge_Host (Ch_H) received from the server device 1 the Challenge_Sensor (Ch_S) obtained in step S330, and “Key_Auth” which is the authentication key shared with the server device 1 in advance, Based on “Auth1” as the Magic Word, Response_Sensor is calculated using the following [Formula 1].
  • Response_Sensor Hash(Key_Auth
  • Hash( ) means a hash function such as SHA-256, for example.
  • the image sensor 30 transmits Challenge_Host and Response_Sensor to the server device 1 in step S332.
  • the server device 1 which has received the Challenge_Host and Response_Sensor transmitted from the image sensor 30 side in the process of step S332, calculates the Response_Sensor in step S132. That is, using the Challenge_Host (Ch_H) generated by itself in step S131, the Challenge_Sensor (Ch_S) received from the image sensor 30, and the Key_Auth and “Auth1” shared with the image sensor 30 side, the Response_Sensor is generated by [Formula 1]. calculate. Then, in step S133 following step S132, the server device 1 performs a match determination process to determine whether the Response_Sensor calculated (verified) in step S132 and the Response_Sensor received from the image sensor 30 side match.
  • step S133 if it is determined that both Response_Sensors do not match, the server device 1 proceeds to step S139, determines that authentication is unsuccessful, and ends the series of processes shown in FIG. 11. In other words, in this case, the license data is not transmitted in step S138, which will be described later, so the AI model cannot be used in the image sensor 30.
  • step S133 the server device 1 processes the Response_Host to be transmitted to the image sensor 30 side, encrypted license data (encrypted license data), and Performs processing to generate license data tampering determination data.
  • step S134 the server device 1 calculates the server-side response: Response_Host. That is, the Challenge_Host (Ch_H) obtained in the previous step S130, the Challenge_Sensor (Ch_S) received from the image sensor 30, the Key_Auth shared with the image sensor 30 in advance, and "Auth2" as the Magic Word. Based on this, Response_Host is calculated using the following [Formula 2].
  • Response_Host Hash(Key_Auth
  • step S135 the server device 1 calculates a MAC (Message Authentication Code) value for license tampering determination.
  • the MAC value is an example of license data tampering determination data, and is specifically calculated using the following [Formula 3].
  • MAC Hash(Key_Auth
  • the license data is the license data generated in the previous step S121 (FIG. 10).
  • step S136 the server device 1 calculates a license encryption key: Enc_Key using the following [Formula 4].
  • Enc_Key Hash(Key_Auth
  • step S137 following step S136 the server device 1 encrypts the license data using Enc_Key. That is, the license data generated in the previous step S121 is encrypted using Enc_Key.
  • step S138 following step S137 the server device 1 transmits Response_Host, encrypted license data, and MAC value to the image sensor 30.
  • step S334 the image sensor 30 performs a match determination process to determine whether the Response_Host calculated (verified) in step S333 and the Response_Host received from the server device 1 side match. If it is determined in step S334 that both Response_Hosts do not match, the image sensor 30 proceeds to step S339, determines that authentication is unsuccessful, and ends the series of processes shown in FIG. 11. In other words, in this case, the encrypted AI model is not decrypted in step S324, so the AI model cannot be used in the image sensor 30.
  • step S334 if it is determined in step S334 that both Response_Hosts match, the image sensor 30 proceeds to step S335 and calculates Enc_Key. That is, based on the Challenge_Sensor (Ch_S) obtained in step S130, the Challenge_Host (Ch_H) received from the server device 1, and the Key_Auth and “ENC” shared between the server device 1, the above [formula 4] to calculate Enc_Key. Then, in step S336 following step S335, the image sensor 30 decrypts the encrypted license data using Enc_Key.
  • step S337 the image sensor 30 calculates the MAC value. That is, the Challenge_Sensor (Ch_S) obtained in step S130, the Challenge_Host (Ch_H) received from the server device 1, the Key_Auth and “MAC” shared between the server device 1, and the decrypted data in step S336.
  • the MAC value is calculated using the above [Formula 3] based on the license data obtained.
  • step S338 the image sensor 30 performs a match determination process to determine whether the MAC value received from the server device 1 and the MAC value calculated (verified) in step S337 match. That is, it is a determination as to whether or not the license data has been tampered with.
  • step S338 determines that authentication is unsuccessful in step S339, and ends the series of processes shown in FIG. 11. In other words, if it is determined that the license data has been tampered with, the image sensor 30 cannot use the AI model.
  • step S338 determines whether the sensor ID in the license data and its own sensor ID match. Perform processing. As described above, if the two sensor IDs do not match, the process of step S324 is not performed, and the AI model cannot be used in the image sensor 30. On the other hand, if both sensor IDs match, the encrypted AI model is decrypted in the process of step S324 described above, and then the process of step S325 is executed. That is, execution control of the AI processing by the AI image processing unit 44 is performed so as to satisfy the usage upper limit condition included in the license data.
  • the entire license data is encrypted based on the authentication key (Key_Auth) and challenge response authentication is performed, but instead of this, only the AI model encryption key in the license data is encrypted based on the authentication key (Key_Auth). It is also possible to encrypt and perform challenge-response authentication.
  • the embodiment is not limited to the above-described specific example, and various configurations may be adopted.
  • the image sensor 30 issues a start-of-use request to the server device 1 every time it is activated, but this is just an example, and the start-of-use request is based on other predetermined conditions other than activation. It is also possible to do so depending on the enactment. For example, assuming continuous operation for 24 hours, it is conceivable that the image sensor 30 requests the server device 1 to start using it at predetermined time intervals, such as every time the date changes.
  • the image sensor 30 it is not essential for the image sensor 30 to request the server device 1 to start using it. For example, assuming continuous operation for 24 hours, it is conceivable that the server device 1 transmits license data to the image sensor 30 at predetermined time intervals, such as every time the date changes.
  • the license data authentication process is performed by challenge-response authentication, but the license data authentication is not limited to challenge-response authentication.
  • the master key referred to herein means key information stored in the image sensor 30 as a compatible product at the time of manufacturing or before the start of use of the device.
  • This master key may be stored in a predetermined nonvolatile memory within the image sensor 30, such as the nonvolatile memory section 43n in the in-sensor control section 43, for example. Note that it is assumed that a common value is assigned to the master key for each model number of the image sensor 30.
  • the license data is encrypted using an encryption key based on the above-mentioned master key and transmitted from the server device 1 to the image sensor 30.
  • the image sensor 30 that has received the license data decrypts the license data using a key generated based on the master key stored therein.
  • the encryption key for the license data can be a volatile key (a key that is valid only once), such as when performing challenge-response authentication. Must not be. Therefore, if the communication channel is successfully wiretapped (that is, if the key is identified), the license data can be decrypted by sending the same license data to the image sensor 30 side. Put it away.
  • a usage limit such as 24 hours many times in response to a request
  • license data that has been successfully eavesdropped will continue to be transmitted to the image sensor 30 side. This makes it possible to continue using AI models forever. Therefore, when encrypting license data using a master key, it is necessary to set an absolute time limit as a usage upper limit condition, that is, to set at least an end date and time of a usable period.
  • a real-time clock is provided in the image sensor 30, and the sensor internal control unit 43 uses the clock information of the real-time clock and the absolute Execution control of AI processing is performed based on usage upper limit condition information that defines a time limit.
  • the real-time clock may be provided outside the image sensor 30, for example, in the control section 33.
  • the in-sensor control section 43 may operate based on the timing information of the real-time clock provided outside the image sensor 30. , controls the execution of AI processing according to the usage upper limit condition information.
  • imaging broadly refers to obtaining image data capturing a subject.
  • the image data referred to here is a general term for data consisting of multiple pixel data, and the pixel data includes not only data indicating the intensity of the amount of light received from the subject, but also information such as the distance to the subject, polarization information, and temperature.
  • the "image data" obtained by “imaging” includes data as a gradation image that shows information on the intensity of the amount of light received for each pixel, and data as a distance image that shows information on the distance to the subject for each pixel. , or data as a polarization image showing polarization information of incident light for each pixel, data as a thermal image showing temperature information for each pixel, etc.
  • the usage upper limit condition broadly refers to conditions related to the upper limit of the usage of the AI model.
  • an example of the usage upper limit condition other than the period may be a condition related to the processing amount of AI processing.
  • an upper limit value for the number of objects detected can be set.
  • the image sensor 30 in response to receiving the license data, determines that the number of objects detected by the AI image processing unit 44 is the upper limit of the number of detected objects indicated by the usage upper limit condition information in the license data.
  • the execution of AI processing by the AI image processing unit 44 is controlled so as not to exceed.
  • license data has been illustrated as an example of data handled in authentication processing such as challenge-response authentication, but data handled in authentication processing is not limited to these.
  • image quality adjustment of the image sensor 30 It is also possible to handle parameters.
  • image quality adjustment parameter as used herein broadly means shutter speed, gain, and other parameters related to image quality adjustment.
  • the image quality adjustment parameter information may include flag information indicating manual setting/automatic setting of the parameter setting. For example, by encrypting and transmitting image quality adjustment parameters and determining whether or not they have been tampered with using the MAC value, the confidentiality and integrity of image quality adjustment parameter information can be ensured in the same way as license data. .
  • the sensor device includes an imaging unit (image sensor 41) that captures an image of a subject, and an AI process that uses an AI model to process images captured by the imaging unit.
  • an AI processing unit AI image processing unit 44
  • a control unit that receives license data indicating upper limit conditions for use regarding the AI model from an external device and controls the execution of AI processing by the AI processing unit so that the upper limit conditions for use are met.
  • the AI processing section is provided within the sensor device having the imaging section.
  • the AI processing unit is configured to be able to change the AI model to be used, and the control unit sets the AI model received from the external device as the AI model to be used by the AI processing unit.
  • the license data is data sent from an external device as separate data from the AI model. This makes it possible to transmit license data to the sensor device at a timing different from the transmission timing of the AI model when attempting to use the AI model on a subscription basis.
  • the AI model can be transmitted at the timing when a contract is completed, such as payment of the price, and the license data can be transmitted at the timing when the sensor device actually starts using the AI model.
  • the processing load on the external device or sensor device is increasing due to an increase in the amount of data transmitted and received by the external device or sensor device when starting to use the AI model. Furthermore, especially when adopting a configuration in which the license data is volatile and is transmitted to the sensor device multiple times within the license contract period, there is no need to transmit the AI model together with the license data. Since the AI model has a relatively large data capacity, such as several megabytes, it is not necessary to transmit the AI model multiple times, which can reduce the processing load on the AI model transmitter side. In particular, when the sending side of the AI model manages the sending of the AI model for a plurality of sensor devices, the amount of data to be sent can be significantly reduced, and the processing load can also be significantly reduced. Furthermore, when the AI model is encrypted and transmitted for security purposes as in the embodiment, there is no need to encrypt the AI model multiple times within the license agreement period, further reducing the processing burden. be able to.
  • the external device encrypts and transmits the AI model to the sensor device, and also transmits data including the encryption key of the AI model as license data
  • the control unit The AI model is decrypted based on the encryption key included in the license data. This makes it possible to make it impossible to use the AI model unless the AI model is received. Therefore, it is possible to prevent the AI model from being illegally used without receiving license data, and it is possible to improve security.
  • control unit performs challenge-response authentication processing as authentication processing for license data with the external device. This makes it possible to increase resistance to unauthorized access as a replay attack, and to increase the effectiveness of preventing unauthorized acts such as falsification of license data. Therefore, it is possible to prevent the use of an AI model that deviates from the upper limit condition.
  • the license data is transmitted multiple times within the usage permission contract period of the AI model, and the control unit performs execution control based on the received license data each time the license data is received. Is going.
  • the license data encryption key is valid for only one session.
  • the license data is a volatile license that is valid for only one session.
  • the license data can be set as a usage upper limit condition that corresponds to a usage upper limit period that is shorter than the usage license contract period, as in the above configuration. It becomes possible to transmit the information to the sensor device multiple times within the usage permission contract period.
  • the control unit performs execution control based on license data and a count value of the number of frames processed by the AI processing unit.
  • the usage upper limit condition according to the license data can be managed based on the count value of the number of processing frames by the AI processing unit. There is no need to set up. Therefore, there is no need to continue supplying power to the sensor device for real-time clock driving, and power consumption can be reduced.
  • the sensor device includes a random number generation unit (49) that generates random numbers used for challenge-response authentication based on noise generated in the captured image.
  • a random number generation unit (49) that generates random numbers used for challenge-response authentication based on noise generated in the captured image.
  • the license data includes information indicating the usage upper limit condition as well as a sensor ID for identifying the sensor device
  • the control unit is configured to combine the sensor ID included in the license data with the sensor ID for identifying the sensor device. Execution control is performed based on the result of checking the sensor ID of the own device.
  • the sensor device can be controlled so that AI processing is performed only when the sensor ID of the sensor device matches the sensor ID included in the license data. Therefore, it is possible to ensure that the AI model is used only in sensor devices that are covered by the contract, and it is possible to prevent unauthorized use of the AI model by sensor devices that are not covered by the contract.
  • key information (authentication key: Key_Auth) is stored in a predetermined memory within the sensor device, and the license data is encrypted based on the same key information as the key information.
  • the control unit receives the encrypted license data that is the encrypted license data, decrypts the encrypted license data based on the key information stored in the memory, and uses the encrypted license data for execution control. This makes it possible to enable only the corresponding sensor device in which key information is stored in advance to decrypt the license data. Therefore, it is possible to prevent a non-compliant sensor device that does not store key information from receiving license data and becoming able to use the AI model.
  • tampering determination data which is data for determining whether or not the license data has been tampered with
  • the control unit is configured to tamper with the license data based on the tampering determination data. Execution control is performed based on license data on the condition that it is determined that there is no tampering. This makes it possible to prevent the AI model from being used based on data other than correct license data. Therefore, it is possible to prevent unauthorized use of the AI model.
  • a control method as an embodiment is a control method for a sensor device including an imaging unit that images a subject, and an AI processing unit that performs AI processing, which is processing using an AI model, on an image captured by the imaging unit.
  • This is a control method in which license data indicating an upper limit condition for use regarding an AI model is received from an external device, and execution of AI processing by an AI processing unit is controlled so as to satisfy the upper limit condition for use. Even with such a control method, the same operation and effect as the sensor device according to the above-described embodiment can be obtained.
  • the information processing device includes an imaging unit that images a subject, an AI processing unit that performs AI processing that is processing using an AI model on an image captured by the imaging unit, and a Transmission for transmitting license data to a sensor device (image sensor 30) including a control unit that controls the execution of AI processing by an AI processing unit so as to satisfy the usage upper limit condition based on the license data indicating the usage upper limit condition. (communication section 20).
  • a sensor device image sensor 30
  • control unit controls the execution of AI processing by an AI processing unit so as to satisfy the usage upper limit condition based on the license data indicating the usage upper limit condition.
  • the information processing system (100) as an embodiment includes an imaging unit that images a subject, an AI processing unit that performs AI processing that is processing using an AI model on an image captured by the imaging unit, and an AI model.
  • a sensor device (image sensor 30) having a control unit that controls the execution of AI processing by the AI processing unit so as to satisfy the usage upper limit condition based on license data indicating the usage upper limit condition for the sensor device, and a license for the sensor device.
  • the information processing apparatus (server apparatus 1) includes an information processing apparatus (server apparatus 1) having a transmitter that transmits data. With such an information processing system, it is possible to prevent an AI model from being misused in an imaging device having an AI function.
  • the present technology can also adopt the following configuration.
  • an imaging unit that captures an image of a subject; an AI processing unit that performs AI processing, which is processing using an AI model, on images captured by the imaging unit;
  • a sensor device comprising: a control unit that receives license data indicating an upper limit condition for use regarding the AI model from an external device, and controls execution of AI processing by the AI processing unit so as to satisfy the upper limit condition for use.
  • the AI processing unit is configured to be able to change the AI model to be used, The control unit performs a process of setting an AI model received from an external device as an AI model to be used by the AI processing unit,
  • the sensor device according to (1) above, wherein the license data is data transmitted from an external device as data separate from the AI model.
  • the external device encrypts and transmits the AI model to the sensor device, and transmits data including an encryption key for the AI model as the license data,
  • the license data is transmitted multiple times within the license contract period of the AI model, The sensor device according to (4), wherein the control unit performs the execution control based on the received license data each time the license data is received.
  • the sensor device (6) The sensor device according to (5), wherein the control unit performs the execution control based on the license data and a count value of the number of frames processed by the AI processing unit. (7) The sensor device according to any one of (4) to (6), further comprising a random number generation unit that generates a random number used for the challenge-response authentication based on noise generated in the captured image. (8)
  • the license data includes information indicating the usage upper limit condition as well as a sensor ID for identifying the sensor device, The sensor device according to any one of (1) to (7), wherein the control unit performs the execution control based on a result of comparing the sensor ID included in the license data and the sensor ID of the own device. .
  • Key information is stored in a predetermined memory within the own device,
  • the license data is encrypted based on the same key information as the key information and transmitted to the sensor device,
  • the control unit receives encrypted license data that is the encrypted license data, decrypts the encrypted license data based on the key information stored in the memory, and uses it for the execution control. ) to (8).
  • Tampering determination data which is data for determining whether or not the license data has been tampered with, is transmitted from the external device together with the license data; As described in any one of (1) to (9) above, the control unit performs the execution control based on the license data on the condition that it is determined that the license data is not tampered with based on the tampering determination data. sensor device.
  • a control method in a sensor device comprising an imaging unit that images a subject, and an AI processing unit that performs AI processing that is processing using an AI model on an image captured by the imaging unit, the method comprising: A control method comprising: receiving license data indicating an upper limit condition for use regarding the AI model from an external device, and controlling execution of AI processing by the AI processing unit so as to satisfy the upper limit condition for use.
  • An imaging unit that captures an image of a subject; an AI processing unit that performs AI processing using an AI model on images captured by the imaging unit;
  • An information processing device comprising: a transmitting unit configured to transmit the license data to a sensor device comprising a controller configured to control execution of AI processing by the AI processing unit so as to satisfy an upper limit condition.
  • An imaging unit that captures an image of a subject; an AI processing unit that performs AI processing using an AI model on images captured by the imaging unit; a sensor device comprising: a control unit that controls execution of AI processing by the AI processing unit so as to satisfy an upper limit condition;
  • An information processing system comprising: an information processing device having a transmitting section that transmits the license data to the sensor device.

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Traffic Control Systems (AREA)

Abstract

AI機能を有する撮像装置についてAIモデルをサブスクリプション的に使用させるにあたり、不正行為等によりAIモデルが不正使用されてしまうことの防止を図る。 本技術に係るセンサ装置は、被写体を撮像する撮像部と、撮像部による撮像画像を対象としてAIモデルを用いた処理であるAI処理を行うAI処理部と、AIモデルに関する使用上限条件を示すライセンスデータを外部装置から受信し、使用上限条件を満たすようにAI処理部によるAI処理の実行制御を行う制御部とを備えている。

Description

センサ装置、制御方法、情報処理装置、情報処理システム
 本技術は、被写体を撮像することにより得られた撮像画像についてAI(Artificial Intelligence)モデルを用いた処理であるAI処理を行う機能を有したセンサ装置と、そのようなセンサ装置における制御方法と、センサ装置に係る処理を行う情報処理装置と、センサ装置と情報処理装置とを備えた情報処理システムとに関する。
 撮像画像についてAI(Artificial Intelligence:人工知能)モデルを用いた処理であるAI処理を行う撮像装置(以下「AIカメラ」と表記する)を用いたソリューションビジネスが考えられる。例えば、AIカメラを店舗内に1又は複数台配置し、例えば画像認識処理により顧客の属性(例えば性別、年齢層等)や行動パターンについての認識結果を得、この認識結果をインターネット等を介してユーザに提示するといったシステムを提供するビジネス等が考えられる。
 AIカメラ側でAI処理を行うことから、サーバ装置側が各カメラから取得した撮像画像に基づきAI処理を行うシステムと比較して、処理分散が図られると共に、通信データ量の低減を図ることができる。
 なお、関連する従来技術については下記特許文献1を挙げることができる。下記特許文献1には、サーバ装置からAIカメラに対してAIモデルを配信する技術が開示されている。
国際公開第2020/100922号
 ここで、上記のようなAIカメラを用いたソリューションビジネスにおいては、AIモデルを、例えばオンラインレンタルビデオサービス等のように、サブスクリプション的に使用させることが考えられる。例えば、1ヶ月等の使用期間を定めた契約により、AIカメラにおけるAIモデルの使用を許可するといったものである。
 このようにAIモデルをサブスクリプション的に使用させるサービスを考えた場合、不正行為により、例えば契約者以外の者がAIモデルを使用できてしまったり、契約者が使用期間後もAIモデルを使用できてしまったりする等、不正使用が行われることがないように図られるべきである。
 本技術は上記事情に鑑み為されたものであり、AI機能を有する撮像装置についてAIモデルをサブスクリプション的に使用させるにあたり、不正行為等によりAIモデルが不正使用されてしまうことの防止を図ることを目的とする。
 本技術に係るセンサ装置は、被写体を撮像する撮像部と、前記撮像部による撮像画像を対象としてAIモデルを用いた処理であるAI処理を行うAI処理部と、前記AIモデルに関する使用上限条件を示すライセンスデータを外部装置から受信し、前記使用上限条件を満たすように前記AI処理部によるAI処理の実行制御を行う制御部と、を備えるものである。
 上記構成によれば、AI処理部は撮像部を有するセンサ装置内に設けられる。そして、上記構成によれば、AI機能を有する撮像装置についてAIモデルをサブスクリプション的に使用させようとした場合に、例えば使用期限等の使用上限条件を満たすためのAI処理の実行制御がセンサ装置内で行われる。このように使用上限条件を満たすためのAI処理の実行制御がセンサ装置内で行われることで、センサ装置と撮像装置内におけるセンサ装置外部のプロセッサとの間の通信路が攻撃されたとしても使用上限条件が不正に操作され難くなるようにすることが可能となる。
 また、本技術に係る制御方法は、被写体を撮像する撮像部と、前記撮像部による撮像画像を対象としてAIモデルを用いた処理であるAI処理を行うAI処理部とを備えたセンサ装置における制御方法であって、前記AIモデルに関する使用上限条件を示すライセンスデータを外部装置から受信し、前記使用上限条件を満たすように前記AI処理部によるAI処理の実行制御を行う制御方法である。
 このような制御方法によっても、上記した本技術に係るセンサ装置と同様の作用が得られる。
 本技術に係る情報処理装置は、被写体を撮像する撮像部と、前記撮像部による撮像画像を対象としてAIモデルを用いた処理であるAI処理を行うAI処理部と、前記AIモデルに関する使用上限条件を示すライセンスデータに基づき、前記使用上限条件を満たすように前記AI処理部によるAI処理の実行制御を行う制御部と、を備えるセンサ装置に対し、前記ライセンスデータを送信する送信部を備えたものである。
 このような情報処理装置により、センサ装置におけるAIモデル使用条件を定めることができる。
 本技術に係る情報処理システムは、被写体を撮像する撮像部と、前記撮像部による撮像画像を対象としてAIモデルを用いた処理であるAI処理を行うAI処理部と、前記AIモデルに関する使用上限条件を示すライセンスデータに基づき、前記使用上限条件を満たすように前記AI処理部によるAI処理の実行制御を行う制御部と、を有するセンサ装置と、前記センサ装置に対し、前記ライセンスデータを送信する送信部を有する情報処理装置と、を備えたものである。
 このような情報処理システムにより、AI機能を有する撮像装置においてAIモデルが不正使用されてしまうことの防止を図ることが可能となる。
実施形態としての情報処理システムの概要構成例を示したブロック図である。 実施形態としての情報処理システムが備える情報処理装置のハードウェア構成例を示したブロック図である。 実施形態としてのセンサ装置を備えた撮像装置の構成例を示したブロック図である。 実施形態としてのセンサ装置の構造例についての説明図である。 実施形態における情報処理装置(サーバ装置)が有する実施形態としての機能を説明するための機能ブロック図である。 実施形態におけるライセンスデータの構造例を示した図である。 実施形態のセンサ装置が有する実施形態としての機能を説明するための機能ブロック図である。 実施形態としての情報処理システムにおけるユーザのアカウント登録時に対応した処理のフローチャートである。 実施形態としての情報処理システムにおけるAIモデルの購入からデプロイまでに対応した処理のフローチャートである。 使用許可契約期間に基づくAI処理の実行管理のために情報処理システムにおいて行うべき処理を示したフローチャートである。 実施形態におけるライセンスデータ送信、及びチャレンジレスポンス認証に係る処理を示したフローチャートである。
 以下、添付図面を参照し、本技術に係る実施形態を次の順序で説明する。
<1.情報処理システム>
(1-1.システム全体構成)
(1-2.情報処理装置の構成)
(1-3.撮像装置の構成)
<2.実施形態としての機能>
<3.処理手順>
<4.変形例>
<5.実施形態のまとめ>
<6.本技術>
<1.情報処理システム>
(1-1.システム全体構成)
 図1は、本技術に係る実施形態としての情報処理システム100の概略構成例を示したブロック図である。
 図示のように情報処理システム100は、サーバ装置1と、1又は複数のユーザ端末2と、複数のカメラ3と、フォグサーバ4と、AI(Artificial Intelligence:人工知能)モデル開発者端末6とを備えている。本例において、サーバ装置1は、ユーザ端末2、フォグサーバ4、及びAIモデル開発者端末6との間で例えばインターネット等とされたネットワーク5を介した相互通信を行うことが可能に構成されている。
 サーバ装置1、ユーザ端末2、フォグサーバ4、及びAIモデル開発者端末6は、CPU(Central Processing Unit)、ROM(Read Only Memory)、及びRAM( Random Access Memory)を有するマイクロコンピュータを備えた情報処理装置として構成されている。
 ここで、ユーザ端末2は、情報処理システム100を用いたサービスの受け手であるユーザによって使用されることが想定される情報処理装置である。また、サーバ装置1は、サービスの提供者によって使用されることが想定される情報処理装置である。
 各カメラ3は、例えばCCD(Charge Coupled Device)型イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)型イメージセンサ等のイメージセンサを備え、被写体を撮像してデジタルデータとしての画像データ(撮像画像データ)を得る。また、後述するように各カメラ3は、撮像画像についてAIモデルを用いた処理であるAI処理を行う機能も有している。
 各カメラ3は、フォグサーバ4とデータ通信可能に構成され、例えばAIモデルを用いた画像処理の結果を示す処理結果情報等の各種データをフォグサーバ4に送信したり、フォグサーバ4から各種データを受信したりすることが可能とされる。
 ここで、図1に示す情報処理システム100については、各カメラ3のAI処理で得られるAI処理結果を示す情報(以下、「処理結果情報」と表記する)に基づき、フォグサーバ4又はサーバ装置1が被写体の分析情報を生成し、生成した分析情報をユーザ端末2を介してユーザに閲覧させるといった用途が想定される。
 この場合、各カメラ3の用途としては、各種の監視カメラの用途が考えられる。例えば、店舗やオフィス、住宅等の屋内についての監視カメラ、駐車場や街中等の屋外を監視するための監視カメラ(交通監視カメラ等を含む)、FA(Factory Automation)やIA(Industrial Automation)における製造ラインの監視カメラ、車内や車外を監視する監視カメラ等の用途を挙げることができる。
 例えば、店舗における監視カメラの用途であれば、複数のカメラ3を店舗内の所定位置にそれぞれ配置し、ユーザが来店客の客層(性別や年齢層など)や店舗内での行動(動線)等を確認できるようにすることが考えられる。その場合、上記した分析情報としては、これら来店客の客層の情報や店舗内での動線の情報、及び精算レジにおける混雑状態の情報(例えば、精算レジの待ち時間情報)等を生成することが考えられる。
 或いは、交通監視カメラの用途であれば、各カメラ3を道路近傍の各位置に配置し、ユーザが通過車両についてのナンバー(車両番号)や車の色、車種等の情報を認識できるようにすることが考えられ、その場合、上記した分析情報としては、これらナンバーや車の色、車種等の情報を生成することが考えられる。
 また、駐車場に交通監視カメラを用いた場合は、駐車されている各車両を監視できるようにカメラを配置し、不審な行動をしている不審者が各車両の周りにいないかなどを監視し、不審者がいた場合には、不審者がいることやその不審者の属性(性別や年齢層、服装等)などを通知することが考えられる。
 さらに、街中や駐車場の空きスペースを監視して、ユーザに車を駐車できるスペースの場所を通知すること等も考えられる。
 フォグサーバ4は、例えば上記した店舗の監視用途においては各カメラ3と共に監視対象の店舗内に配置される等、監視対象ごとに配置されることが想定される。このように店舗などの監視対象ごとにフォグサーバ4を設けることで、監視対象における複数のカメラ3からの送信データをサーバ装置1が直接受信する必要がなくなり、サーバ装置1の処理負担軽減が図られる。
 なお、フォグサーバ4は、監視対象とする店舗が複数あり、それら店舗が全て同一系列に属する店舗である場合には、店舗ごとに設けるのではなく、それら複数の店舗につき一つ設けることも考えられる。すなわち、フォグサーバ4は、監視対象ごとに一つ設けることに限定されず、複数の監視対象に対して一つのフォグサーバ4を設けることも可能なものである。
 なお、サーバ装置1、又は各カメラ3側に処理能力があるなどの理由で、フォグサーバ4の機能をサーバ装置1又は各カメラ3側に持たせることができる場合は、情報処理システム100においてフォグサーバ4を省略し、各カメラ3を直接ネットワーク5に接続させて、複数のカメラ3からの送信データをサーバ装置1が直接受信するようにしてもよい。
 AIモデル開発者端末6は、AIモデルの開発者が使用する情報処理装置である。
 サーバ装置1は、情報処理システム100を統括的に管理する機能を有する情報処理装置とされる。
 サーバ装置1は、情報処理システム100の管理に係る機能として、図示のようにライセンスオーソリ機能F1、アカウントサービス機能F2、マーケットプレイス機能F3、及びAIサービス機能F4を有する。
 ライセンスオーソリ機能F1は、各種の認証に係る処理を行う機能である。具体的に、ライセンスオーソリ機能F1では、各カメラ3のデバイス認証に係る処理や、カメラ3で使用されるAIモデル等のデータについての認証に係る処理が行われる。
 ライセンスオーソリ機能F1において、カメラ3の認証については、カメラ3とネットワーク5を介して接続された場合(本例ではフォグサーバ4を介した接続となる)に、カメラ3ごとにデバイスIDを発行する処理が行われる。
 また、AIモデルの認証については、AIモデル開発者端末6から登録申請されたAIモデルについて、固有のID(AIモデルID)を発行する処理が行われる。
 また、ライセンスオーソリ機能F1では、カメラ3やAIモデル開発者端末6とサーバ装置1との間でセキュアな通信が行われるようにするための各種の鍵や証明書等をカメラ3の製造業者(特に後述するイメージセンサ30の製造業者)やAIモデル開発者に発行する処理が行われると共に、証明効力の停止や更新のための処理も行われる。
 さらに、ライセンスオーソリ機能F1では、以下で説明するアカウントサービス機能F2によりユーザ登録(ユーザIDの発行を伴うアカウント情報の登録)が行われた場合に、ユーザが購入したカメラ3(上記デバイスID)とユーザIDとを紐付ける処理も行われる。
 アカウントサービス機能F2は、ユーザのアカウント情報の生成や管理を行う機能である。アカウントサービス機能F2では、ユーザ情報の入力を受け付け、入力されたユーザ情報に基づいてアカウント情報を生成する(少なくともユーザIDとパスワード情報とを含むアカウント情報の生成を行う)。
 また、アカウントサービス機能F2では、AIモデル開発者についての登録処理(アカウント情報の登録)も行われる。
 マーケットプレイス機能F3は、本例では、ユーザにAIモデルをサブスクリプション的に使用させるための、購入手続きに係る処理を行う機能である。ここで言うサブスクリプションとは、ユーザが購入代金を支払うことで、契約で定められた使用条件によりAIモデルの使用を許可するサービスを意味する。具体的に本例では、ユーザが購入代金を支払うことで、例えば1ヶ月等の所定の期間、AIモデルの使用が許可されるサービスとされる。このとき、使用期間等のAIモデルの使用条件は、複数の条件のうちからユーザが選択可能とされている。また、使用条件に応じて、異なる購入代金が設定され得る。
 ここで、本明細書においては、「使用許可契約期間」なる語を用いる。この使用許可契約期間とは、AIモデルのサブスクリプションサービスの契約において定められたAIモデルの使用許可期間を意味するものである。例えば、上記で例示した1ヶ月の契約であれば、1ヶ月の期間が使用許可契約期間に該当する。
 ユーザは、マーケットプレイス機能F3により提供されるサブスクリプション契約用のWEBサイト(契約用サイト)を介して、AIモデルの使用許可を得るための購入手続きを行うことが可能とされる。例えば、契約用サイトでは、ユーザが使用対象とするAIモデルの選択や使用許可契約期間の選択を行うことが可能とされる。ユーザが使用対象とするAIモデルと使用許可契約期間を選択すると、それに対応した購入代金が表示され、ユーザが該購入代金を支払うことでAIモデルの使用契約が成立する。
 AIサービス機能F4は、AIカメラとしてのカメラ3の利用に関するサービスをユーザに提供するための機能とされる。
 このAIサービス機能F4の一つとしては、例えば、前述した分析情報の生成に係る機能を挙げることができる。すなわち、カメラ3におけるAI処理の処理結果情報に基づき被写体の分析情報を生成し、生成した分析情報をユーザ端末2を介してユーザに閲覧させるための処理を行う機能である。
 ここで、上記では、サーバ装置1単体でライセンスオーソリ機能F1、アカウントサービス機能F2、マーケットプレイス機能F3、及びAIサービス機能F4を実現する構成を例示したが、これらの機能を複数の情報処理装置が分担して実現する構成とすることも可能である。例えば、上記の機能をそれぞれ1台の情報処理装置が担う構成とすることが考えられる。或いは、上記した機能のうち単一の機能を複数の情報処理装置が分担して行うといったことも可能である。
(1-2.情報処理装置の構成)
 図2は、サーバ装置1のハードウェア構成例を示したブロック図である。
 図示のようにサーバ装置1は、CPU11を備えている。CPU11は、これまでにサーバ装置1の処理として説明した各種の処理を行う演算処理部として機能し、ROM12や例えばEEP-ROM(Electrically Erasable Programmable Read-Only Memory)などの不揮発性メモリ部14に記憶されているプログラム、又は記憶部19からRAM13にロードされたプログラムに従って各種の処理を実行する。RAM13にはまた、CPU11が各種の処理を実行する上において必要なデータなども適宜記憶される。
 CPU11、ROM12、RAM13、及び不揮発性メモリ部14は、バス23を介して相互に接続されている。このバス23にはまた、入出力インタフェース(I/F)15も接続されている。
 入出力インタフェース15には、操作子や操作デバイスよりなる入力部16が接続される。例えば、入力部16としては、キーボード、マウス、キー、ダイヤル、タッチパネル、タッチパッド、リモートコントローラ等の各種の操作子や操作デバイスが想定される。
 入力部16によりユーザの操作が検知され、入力された操作に応じた信号はCPU11によって解釈される。
 また入出力インタフェース15には、LCD(Liquid Crystal Display)或いは有機EL(Electro-Luminescence)パネルなどよりなる表示部17や、スピーカなどよりなる音声出力部18が一体又は別体として接続される。
 表示部17は各種の情報表示に用いられ、例えばコンピュータ装置の筐体に設けられるディスプレイデバイスや、コンピュータ装置に接続される別体のディスプレイデバイス等により構成される。
 表示部17は、CPU11の指示に基づいて表示画面上に各種の画像処理のための画像や処理対象の動画等の表示を実行する。また表示部17はCPU11の指示に基づいて、各種操作メニュー、アイコン、メッセージ等、即ちGUI(Graphical User Interface)としての表示を行う。
 入出力インタフェース15には、HDD(Hard Disk Drive)や固体メモリなどより構成される記憶部19や、モデムなどより構成される通信部20が接続される場合もある。
 通信部20は、インターネット等の伝送路を介しての通信処理や、各種機器との有線/無線通信、バス通信などによる通信を行う。
 入出力インタフェース15にはまた、必要に応じてドライブ21が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブル記憶媒体22が適宜装着される。
 ドライブ21により、リムーバブル記憶媒体22から各処理に用いられるプログラム等のデータファイルなどを読み出すことができる。読み出されたデータファイルは記憶部19に記憶されたり、データファイルに含まれる画像や音声が表示部17や音声出力部18で出力されたりする。またリムーバブル記憶媒体22から読み出されたコンピュータプログラム等は必要に応じて記憶部19にインストールされる。
 上記のようなハードウェア構成を有するコンピュータ装置では、例えば本実施形態の処理のためのソフトウェアを、通信部20によるネットワーク通信やリムーバブル記憶媒体22を介してインストールすることができる。或いは、当該ソフトウェアは予めROM12や記憶部19等に記憶されていてもよい。
 CPU11が各種のプログラムに基づいて処理動作を行うことで、前述したサーバ装置1としての必要な情報処理や通信処理が実行される。
 なお、サーバ装置1は、図2のようなコンピュータ装置が単一で構成されることに限らず、複数のコンピュータ装置がシステム化されて構成されてもよい。複数のコンピュータ装置は、LAN(Local Area Network)等によりシステム化されていてもよいし、インターネット等を利用したVPN(Virtual Private Network)等により遠隔地に配置されたものでもよい。複数のコンピュータ装置には、クラウドコンピューティングサービスによって利用可能なサーバ群(クラウド)としてのコンピュータ装置が含まれてもよい。
(1-3.撮像装置の構成)
 図3は、カメラ3の構成例を示したブロック図である。
 図示のようにカメラ3は、イメージセンサ30、撮像光学系31、光学系駆動部32、制御部33、メモリ部34、通信部35、及びセンサ部36を備えている。イメージセンサ30、制御部33、メモリ部34、通信部35、及びセンサ部36は、バス37を介して接続され、相互にデータ通信を行うことが可能とされている。
 撮像光学系31は、カバーレンズ、ズームレンズ、フォーカスレンズ等のレンズや絞り(アイリス)機構を備える。この撮像光学系31により、被写体からの光(入射光)が導かれ、イメージセンサ30の受光面に集光される。
 光学系駆動部32は、撮像光学系31が有するズームレンズ、フォーカスレンズ、及び絞り機構の駆動部を包括的に示したものである。具体的に、光学系駆動部32は、これらズームレンズ、フォーカスレンズ、絞り機構それぞれを駆動するためのアクチュエータ、及び該アクチュエータの駆動回路を有している。
 制御部33は、例えばCPU、ROM、及びRAMを有するマイクロコンピュータを備えて構成され、CPUがROMに記憶されているプログラム、又はRAMにロードされたプログラムに従って各種の処理を実行することで、カメラ3の全体制御を行う。
 また、制御部33は、光学系駆動部32に対してズームレンズ、フォーカスレンズ、絞り機構等の駆動指示を行う。光学系駆動部32はこれらの駆動指示に応じてフォーカスレンズやズームレンズの移動、絞り機構の絞り羽根の開閉等を実行させることになる。
 また、制御部33は、メモリ部34に対する各種データの書き込みや読み出しについての制御を行う。
 メモリ部34は、例えばHDDやフラッシュメモリ装置等の不揮発性の記憶デバイスとされ、制御部33が各種処理を実行する上で用いるデータの記憶に用いられる。また、メモリ部34は、イメージセンサ30から出力された画像データの保存先(記録先)としても用いることができる。
 制御部33は、通信部35を介して外部装置との間で各種データ通信を行う。本例における通信部35は、少なくとも図1に示したフォグサーバ4との間でのデータ通信を行うことが可能に構成されている。
 或いは、通信部35としては、ネットワーク5を介した通信が可能とされて、サーバ装置1との間でデータ通信が行われる場合もある。
 センサ部36は、カメラ3が備えるイメージセンサ30以外のセンサを包括的に表している。センサ部36が有するセンサとしては、例えば、カメラ3の位置や高度を検出するためのGNSS(Global Navigation Satellite System)センサや高度センサ、環境温度を検出するための温度センサ、カメラ3の動きを検出するための加速度センサや角速度センサ等の動きセンサ等を挙げることができる。
 イメージセンサ30は、例えばCCD型、CMOS型等の固体撮像素子として構成され、図示のように撮像部41、画像信号処理部42、センサ内制御部43、AI画像処理部44、メモリ部45、コンピュータビジョン処理部46、通信インタフェース(I/F)47、及び乱数生成部49を備えている。これら各部のうち、乱数生成部49を除く各部はそれぞれがバス48を介して相互にデータ通信可能とされている。
 このイメージセンサ30は、本技術に係るセンサ装置の一実施形態である。
 撮像部41は、フォトダイオード等の光電変換素子を有する画素が二次元に配列されてた画素アレイ部と、画素アレイ部が備える各画素から光電変換によって得られた電気信号を読み出す読み出し回路とを備えている。
 この読み出し回路では、光電変換により得られた電気信号について、例えばCDS(Correlated Double Sampling)処理、AGC(Automatic Gain Control)処理などを実行し、さらにA/D(Analog/Digital)変換処理を行う。
 画像信号処理部42は、A/D変換処理後のデジタルデータとしての撮像画像信号に対して、前処理、同時化処理、YC生成処理、解像度変換処理、コーデック処理等を行う。
  前処理では、撮像画像信号に対してR(赤)、G(緑)、B(青)の黒レベルを所定のレベルにクランプするクランプ処理や、R、G、Bの色チャンネル間の補正処理等を行う。同時化処理では、各画素についての画像データが、R、G、B全ての色成分を有するようにする色分離処理を施す。例えば、ベイヤー配列のカラーフィルタを用いた撮像素子の場合は、色分離処理としてデモザイク処理が行われる。YC生成処理では、R、G、Bの画像データから、輝度(Y)信号および色(C)信号を生成(分離)する。解像度変換処理では、各種の信号処理が施された画像データに対して、解像度変換処理を実行する。
 コーデック処理では、上記の各種処理が施された画像データについて、例えば記録用や通信用の符号化処理、ファイル生成を行う。コーデック処理では、動画のファイル形式として、例えばMPEG-2(MPEG:Moving Picture Experts Group)やH.264などの形式によるファイル生成を行うことが可能とされる。また静止画ファイルとしてJPEG(Joint Photographic Experts Group)、TIFF(Tagged Image File Format)、GIF(Graphics Interchange Format)等の形式のファイル生成を行うことも考えられる。
 センサ内制御部43は、例えばCPU、ROM、RAM等を有して構成されたマイクロコンピュータを備えて構成され、イメージセンサ30の動作を統括的に制御する。例えばセンサ内制御部43は、撮像部41に対する指示を行って撮像動作の実行制御を行う。また、AI画像処理部44や画像信号処理部42、コンピュータビジョン処理部46に対しても処理の実行制御を行う。
 また、センサ内制御部43は、後述するようにサーバ装置1からイメージセンサ30にAIモデルが送信された際に、該AIモデルがAI画像処理部44に設定されるようにする処理を行う。すなわち、AI画像処理部44が該AIモデルを使用したAI処理を実行可能となるように、AI画像処理部44に該AIモデルをセッティングする処理である。
 センサ内制御部43は、不揮発性メモリ部43nと、揮発性メモリ部43vと有している。不揮発性メモリ部43nは、センサ内制御部43のCPUが各種の処理で用いるデータの記憶に用いられる。また、揮発性メモリ部43vには、センサ内制御部43のCPUが各種の処理で用いるデータが一時的に記憶される。
 後述もするが、本例において不揮発性メモリ部43nには、AIモデル等、サーバ装置1から送信されるデータの暗号化を解くための各種鍵の情報が記憶される。この鍵は、例えば前述したライセンスオーソリ機能F1を通じて、サーバ装置1と認証済みのカメラ3との間で共有される鍵となる。
 また、センサ内制御部43において、揮発性メモリ部43vは、後述するライセンスデータの一時記憶にも用いられる。
 また、センサ内制御部43には、乱数生成部49が接続されている。この乱数生成部49は、撮像部41により得られた撮像画像データに基づいて、後述するサーバ装置1とイメージセンサ30(センサ内制御部43)との間の認証処理を行う際に用いられる乱数を生成する。なお、この認証処理を含め、乱数生成部49については後に改めて説明する。
 AI画像処理部44は、例えばCPUやFPGA(Field Programmable Gate Array)、DSP(Digital Signal Processor)等、プログラマブルな演算処理装置を有して構成され、撮像画像についてAI処理を行う。
 AI画像処理部44によるAI処理としては、例えば、人物や車両等の特定のターゲットとしての被写体を認識する画像認識処理を挙げることができる。或いは、AI処理としては、被写体の種類を問わず、何らかの物体の有無を検出する物体検出処理として行われることも考えられる。
 AI画像処理部44によるAI処理の機能は、AIモデル(AI処理のアルゴリズム)を変更することにより切り替えることが可能とされる。以下では、AI処理が画像認識処理である場合の例を説明する。
 具体的な画像認識の機能種別については種々考えられるが、例えば以下に例示するような種別を挙げることができる。
 ・クラス識別
 ・セマンティックセグメンテーション
 ・人物検出
 ・車両検出
 ・ターゲットのトラッキング
 ・OCR(Optical Character Recognition:光学文字認識)
 上記の機能種別のうち、クラス識別は、ターゲットのクラスを識別する機能である。ここで言う「クラス」とは、物体のカテゴリを表す情報であり、例えば「人」「自動車」「飛行機」「船」「トラック」「鳥」「猫」「犬」「鹿」「蛙」「馬」等を区別するものである。
 ターゲットのトラッキングとは、ターゲットとされた被写体の追尾を行う機能であり、該被写体の位置の履歴情報を得る機能と換言できるものである。
 メモリ部45は、不揮発性メモリにより構成され、AI画像処理部44によるAI処理を行う上で必要なデータの記憶に用いられる。具体的には、AIモデルのセッティングデータ(例えば、ニューラルネットワークに畳み込み演算で用いる各種の重み係数や、ニューラルネットワーク構造を示すデータ等)は、メモリ部45に記憶される。
 また、本例において、メモリ部45は、画像信号処理部42で処理された撮像画像データの保持にも用いられる。
 コンピュータビジョン処理部46は、撮像画像データに対する画像処理として、ルールベースによる画像処理を施す。ここでのルールベースによる画像処理としては、例えば超解像処理等を挙げることができる。
 通信インタフェース47は、イメージセンサ30外部における制御部33やメモリ部34等、バス37を介して接続された各部との間で通信を行うインタフェースである。例えば通信インタフェース47は、センサ内制御部43の制御に基づき、AI画像処理部44が用いるAIモデルなどを外部から取得するための通信を行う。
 また、通信インタフェース47を介して、AI画像処理部44によるAI処理の処理結果情報がイメージセンサ30の外部に出力される。
 ここで、イメージセンサ30において、センサ内制御部43は、通信インタフェース47、通信部35、及びフォグサーバ4を介して、サーバ装置1との間でデータ通信を行うことが可能とされている。これによりセンサ内制御部43は、後述するようにAIモデル等の各種データをサーバ装置1から受信したり、AI画像処理部44による処理結果情報等の各種データをサーバ装置1に対して送信したりすることが可能とされる。
 ところで、上記説明のように本例では、イメージセンサ30が、画素アレイ部を有する撮像部41以外に、AI処理を行うAI画像処理部44や、コンピュータ装置としてのセンサ内制御部43等を有するものとされている。このようなイメージセンサ30の構造例を図4を参照して説明しておく。なお、図4に示す構造はあくまで一例であり、もちろん他の構造を採ることも可能なものである。
 図4に示すように、本例におけるイメージセンサ30は、ダイD1とダイD2の二つのダイを積層した2層構造(積層構造)を有するものとされる。具体的に、本例におけるイメージセンサ30は、ダイD1とダイD2とを貼り合わせた1チップの半導体装置として構成されている。ダイD1は、撮像部41が形成されたダイであり、ダイD2は、画像信号処理部42、センサ内制御部43、AI画像処理部44、メモリ部45、コンピュータビジョン処理部46、通信インタフェース47、及び乱数生成部49を備えたダイである。
 ダイD1とダイD2は、例えば、Cu-Cu接合等のチップ間接合技術により物理的且つ電気的に接続されている。
<2.実施形態としての機能>
 本実施形態において、サーバ装置1は、実施形態としての機能として、以下のような各種の機能を有する。
 図5は、サーバ装置1のCPU11が有する実施形態としての機能を説明するための機能ブロック図である。
 図示のようにサーバ装置1は、使用準備処理部11a、使用開始時処理部11b、及び使用制御部11cとしての機能を有している。
 使用準備処理部11aは、ユーザが情報処理システム100によるサービスの提供を受けるための準備に係る処理を行う。
 ここで、本例においてユーザは、情報処理システム100によるサービスの提供を受けるにあたり、情報処理システム100での使用に対応する対応品としてのカメラ3の購入を行う。
 そして、使用開始前の手続きとしてユーザは、購入したカメラ3やユーザアカウントについての登録手続きを行う。
 具体的にユーザは、購入した使用したい全てのカメラ3を指定されたクラウド、つまり本例ではサーバ装置1にネットワーク接続させる。
 この状態で、ユーザは、ユーザ端末2を用いてサーバ装置1(前述したアカウントサービス機能F2)に対しカメラ3やユーザアカウントの登録のための情報入力を行う。
 使用準備処理部11aは、ユーザからの入力情報に基づき、ユーザのアカウント情報を生成する。具体的には、少なくともユーザIDとパスワード情報とを含むアカウント情報の生成を行う。
 また、使用準備処理部11aは、ユーザのアカウント情報を生成すると共に、接続されたカメラ3よりセンサID(イメージセンサ30のID)、カメラID(カメラ3のID)、Region情報(カメラ3の設置場所情報)等を取得し、取得した情報を生成したアカウント情報に紐付ける処理を行う。
 また、使用準備処理部11aは、前述したライセンスオーソリ機能F1を利用して、アカウント登録されたユーザのカメラ3について、IDを付与する処理を行う。すなわち、接続されたカメラ3ごとに、対応するデバイスIDを発行し、例えば上記したカメラIDとの紐付けを行う。これによりサーバ装置1では、デバイスIDにより各カメラ3を識別することが可能となる。
 さらに、使用準備処理部11aは、ユーザからのAIモデルの購入受け付けや購入に対応した処理を行う。すなわち、前述したマーケットプレイスにおけるAIモデルの購入受け付け処理、具体的に本例では、使用するAIモデルの選択や使用許可契約期間の選択や購入代金の支払い手続きを受け付けるための処理を行うと共に、購入代金の支払いに応じて、購入されたAIモデルとユーザIDとを紐付ける処理を行う。
 ここで、本例においてサーバ装置1は、AIモデルをコンテンツIDにより管理している。コンテンツIDは、AIモデルを購入可能単位で識別するために用いるIDである。例えば、単体でのみ購入可能なAIモデルについては、それらAIモデルごとに異なるコンテンツIDが割り振られる。また、複数1セットでの購入が可能とされたAIモデルについては、それら複数のAIモデルに対して一つのコンテンツIDが割り振られる。サーバ装置1においては、このコンテンツIDにより、ユーザがどのAIモデルを購入したかを管理することが可能とされている。
 また使用準備処理部11aは、AIモデルについての暗号化処理を行う。本例では、この暗号化処理は、上記のコンテンツIDに所定の鍵情報を掛け合わせてAIモデル暗号鍵を生成し、該AIモデル暗号鍵により対応するコンテンツIDが付されたAIモデルを暗号化する処理として行う。
 使用開始時処理部11bは、カメラ3の使用開始時に対応した処理を行う。具体的に、使用開始時処理部11bは、暗号化したAIモデルをイメージセンサ30にデプロイする処理を行う。
 ここで言うAIモデルの「デプロイ」とは、イメージセンサ30にAIモデルをインストールさせるために送信することを意味する。
 使用制御部11cは、イメージセンサ30におけるAIモデルの使用を制御するための処理を行う。具体的には、前述した使用許可契約期間に基づくAIモデルの使用制御である。
 ここで、上述したような使用開始時処理部11bによるAIモデルのデプロイが行われた後において、センサ内制御部43は、所定条件の成立に応じて、サーバ装置1に対してAIモデルの使用開始要求を行う。
 使用制御部11cは、このようなイメージセンサ30側からのAIモデルの使用開始要求に応じて、該イメージセンサ30に紐付く使用許可契約期間の情報に基づき、ライセンスデータの生成を行う。
 ここで言うライセンスデータは、AIモデルに関する使用上限条件を示す情報(以下「使用上限条件情報」と表記する)を含んだデータであり、これをイメージセンサ30側に送信することで、イメージセンサ30側で該使用上限条件を満たすようにAI処理の実行制御を行わせることが可能となる。
 また、本例では、ライセンスデータには、AIモデル暗号鍵を含ませるものとしている。これにより、イメージセンサ30側では、ライセンスデータを受信しなければ、暗号化されたAIモデルの復号化が不能となる。すなわち、AIモデルの使用が不能となる。
 図6は、ライセンスデータのデータ構造例を示している。
 図示のように本例におけるライセンスデータは、コンテンツIDと、AIモデル暗号鍵と、センサIDと、使用上限条件情報とを少なくとも含む。
 本例において、ライセンスデータには、規定データ領域A1とオプションデータ領域A2とが定められている。規定データ領域A1は、イメージセンサ30側で読み込み時に未知の値があれば受信したライセンスデータを無効として扱うデータ領域である。オプションデータ領域A2は、イメージセンサ30側で読み込み時に未知の値があっても受信したライセンスデータを無効として扱わないデータ領域である。
 図示のようにセンサIDと使用上限条件情報は、前者の規定データ領域A1内に格納される。また、コンテンツIDとAIモデル暗号鍵は、規定データ領域A1、オプションデータ領域A2の何れにも属さないデータ領域に格納される。
 規定データ領域A1には、リザーブ領域が確保されている。また、オプションデータ領域A2にもリザーブ領域が確保されている。
 規定データ領域A1内のリザーブ領域には、例えばAI画像処理部44による画像認識回数の上限情報等、使用上限条件情報とは異なる条件を指定するための情報を格納すること等が考えられる。また、オプションデータ領域A2内のリザーブ領域には、例えば他のマーケットプレイスへの変換出力可能フラグの情報等を格納することが考えられる。
 ライセンスデータにおいて、センサIDとしては、使用開始要求を行ったイメージセンサ30のセンサIDを格納しておく。ライセンスデータにセンサIDを格納するのは、使用開始要求を行った対応品としてのイメージセンサ30以外のイメージセンサ30(非対応品)がAIモデルを不正に使用できてしまうことの防止を図るためである。
 また、ライセンスデータにおいて、使用上限条件情報としては、本例では、使用許可契約期間よりも短い使用期間を示す情報を格納しておく。
 なお、ライセンスデータにおいて、AIモデル暗号鍵としては、何らかの鍵で暗号化したものを格納しておくこともできる。
 また、ライセンスデータについて、格納する情報は上記の例に限定されない。
 例えば、イメージセンサ30側における使用上限条件の管理手法として、複数の管理手法を選択可能とされる場合において、何れの管理手法で使用上限条件を管理すべきかを示す情報をライセンスデータに含ませることも考えられる。
 ここで、本例において、カメラ3は、24時間連続稼働ではなく、例えば店舗の営業時間外の時間帯等、1日における所定の時間帯は電断されることを前提としている。換言すれば、カメラ3は、日ごとに電断、起動を繰り返すものである。
 そして本例では、イメージセンサ30は、起動ごとにAIモデルの使用開始要求を行う仕様とされているとする。
 本例において、使用制御部11cは、ライセンスデータに格納する使用上限条件情報として、上述のように使用許可契約期間内よりも短い期間の使用期間を示す情報を格納しておき、そのようなライセンスデータを、使用許可契約期間内において複数回、イメージセンサ30側に送信する。つまり、本例では、イメージセンサ30が起動に応じてAIモデルの使用開始要求を行うごと(本例では日ごととなる)に、要求元のイメージセンサ30に対して送信する。
 このとき、ライセンスデータには、使用許可契約期間よりも短い使用期間を示す情報、具体的に、例えば上記のように日ごとに電断される前提であれば、例えば24時間以下の所定の使用期間を示す情報を格納する。
 イメージセンサ30側からの使用開始要求があった場合、使用制御部11cは、要求元のイメージセンサ30のセンサIDの情報に基づいて、対応する契約内容、具体的には使用許可契約期間を確認し、使用許可契約期間内であれば、使用許可契約期間よりも短い使用期間を示す使用上限条件情報を含むライセンスデータを生成する。具体的に本例では、該使用上限条件情報と、要求元のイメージセンサ30から取得したセンサIDとを含むライセンスデータを生成する。そして、該ライセンスデータを要求元のイメージセンサ30(センサ内制御部43)に送信する。
 イメージセンサ30側では、センサ内制御部43が、サーバ装置1から受信したライセンスデータに従ってAI処理の実行制御を行う。本例では、このAI処理の実行制御は、使用許可契約期間内においてサーバ装置1からライセンスデータを受信するごとに(本例では日ごとに)、AI処理の実行期間が例えば24時間以下の所定の使用期間を超えることがないようにして行われる。
 この結果、イメージセンサ30におけるAIモデルの使用期間を、使用許可契約期間内に制限することができる。
 ここで、使用制御部11cは、イメージセンサ30側へのライセンスデータの送信の際、センサ内制御部43との間でライセンスデータについての認証処理を行う。本例では、この認証処理として、チャレンジレスポンス認証を行う。チャレンジレスポンス認証を採用することで、反射攻撃(リプレイアタック)に対する耐性を高めることができる。
 また、ライセンスデータの認証処理にチャレンジレスポンス認証を採用することで、ライセンスデータの暗号鍵は、1セッションのみ有効な鍵となる。換言すれば、ライセンスデータは、1セッションのみ有効な揮発性ライセンスとなる。このようにライセンスデータが揮発性ライセンスとされることで、ライセンスデータとしては、使用上限条件として、使用許可契約期間よりも短い使用上限期間に対応した条件を定めたものを、使用許可契約期間内において複数回イメージセンサ30に送信することが可能となる。
 なお、チャレンジレスポンス認証については後に改めて説明する。
 続いて、上記のようなサーバ装置1による実施形態の機能、具体的には使用制御部11cの機能に対応してセンサ内制御部43が有する機能を、図7の機能ブロック図を参照して説明する。
 図7に示すように、センサ内制御部43は、認証処理部43aと実行制御部43bとを有する。
 認証処理部43aは、サーバ装置1側からライセンスデータが送信されるごとに、サーバ装置1(CPU11)との間で認証処理を行う。具体的に本例では、上述したチャレンジレスポンス認証を行う。
 また、本例の認証処理部43aは、ライセンスデータの認証が成立した場合に、ライセンスデータ内に含まれるAIモデル暗号鍵に基づき、デプロイされた暗号化AIモデルの復号化を行う。
 さらに、本例の認証処理部43aは、ライセンスデータに含まれるセンサIDに基づく認証処理も行う。具体的には、ライセンスデータに格納されたセンサIDと、自装置(イメージセンサ30)に格納されたセンサIDとを照合し、両IDが一致するか否かを判定する。このセンサIDに基づく認証処理は、ライセンスデータの受信ごと(ライセンスデータの認証成立ごと)に行われる。
 また、本例では、サーバ装置1からは、ライセンスデータと共にライセンスデータの改竄有無判定用のデータである改竄判定用データが送信される。
 認証処理部43aは、この改竄判定用データに基づき、ライセンスデータの改竄有無を判定する処理も行う。
 認証処理部43aによるサーバ装置1側との間の認証(チャレンジレスポンス認証)、上述したようなセンサIDを用いた認証、及び上記改竄判定用データに基づく改竄判定による認証のうち、何れか一つでも認証が成立しなかった場合は、受信したライセンスデータに基づくAI処理の実行制御は行われない。つまり、イメージセンサ30側においてAI処理は実行されない。
 ここで、本例では、ライセンスデータは暗号化されてサーバ装置1から送信される。このため、認証処理部43aは、暗号化されたライセンスデータを復号化する処理も行う。
 なお、このようなライセンスデータの復号化も含め、認証処理部43aによる処理の詳細については改めて説明する。
 実行制御部43bは、ライセンスデータに含まれる使用上限条件情報に基づき、該使用上限条件情報が示す使用上限条件を満たすようにAI画像処理部44によるAI処理の実行制御を行う。具体的には、上述した認証処理部43aによる各種の認証が成立したことを条件として、上記のような使用上限条件に基づくAI処理の実行制御を行う。
 ここで、本例において実行制御部43bは、使用上限条件を満たすためのAI処理の実行制御を、AI画像処理部44による処理フレーム数のカウント値に基づいて行う。AI画像処理部44の処理フレームレートは既知であるため、AI画像処理部44による処理フレーム数をカウントすることで、AI処理の処理時間を計時することができる。
 本例における実行制御部43bは、このようにAI画像処理部44の処理フレームレートと処理フレーム数のカウント値とに基づき計時されるAI処理の処理時間が、ライセンスデータにおける使用上限条件情報が示す使用期間を超えたか否かを判定し、上記処理時間が上記使用期間を超えていなければAI画像処理部44のAI処理を継続させ、上記処理時間が上記使用期間を超えた場合にはAI画像処理部44のAI処理を停止させる。
 なお、上記では処理フレーム数のカウント値を時間に換算して使用期間と比較する例としたが、ライセンスデータにおいて、使用上限条件情報としてフレーム数の値を格納しておくことも可能であり、その場合には、処理フレーム数のカウント値を時間に換算する処理は不要である。一例として、例えば処理フレームレート=30fpsに対する24時間相当のフレーム数は、「24h×30m×30s×30fps」より2592000フレームであり、例えば使用期間=24時間を前提とする場合には、使用上限条件情報としてこの「2592000」のフレーム数を示す情報を格納すればよい。
<3.処理手順>
 上記により説明した実施形態としての機能を実現するために情報処理システム100において行われるべき具体的な処理の手順例を図8から図10のフローチャートを参照して説明する。
 図8は、ユーザのアカウント登録時に対応した処理のフローチャートであり、図9は、AIモデルの購入(サブスクリプション購入)からデプロイまでに対応した処理のフローチャートである。
 これら図8、図9において、「サーバ装置」として示す処理はサーバ装置1のCPU11が実行する処理であり、「センサ」として示す処理はカメラ3のイメージセンサ30におけるセンサ内制御部43が実行する処理である。なお、「ユーザ端末」として示す処理はユーザ端末2におけるCPUが実行する。
 なお、図8、図9に示す処理が開始されるにあたっては、ユーザ端末2及びイメージセンサ30がそれぞれサーバ装置1とネットワーク5を介して通信可能に接続された状態にあるとする。
 図8において、ユーザ端末2はステップS201でユーザ情報入力処理を行う。すなわち、アカウント登録のための情報(少なくともユーザID及びパスワードの情報)をユーザの操作入力に基づいてサーバ装置1に対して入力する処理である。
 サーバ装置1は、ユーザ端末2からの情報入力を受け付ける共に、ステップS101で、アカウント登録についての必要情報の送信をイメージセンサ30に対して行う。具体的には、ユーザIDとの紐付けが行われるべき、前述したセンサID、カメラID、Region情報等の送信要求を行う(前述した使用準備処理部11aの機能を参照)。
 イメージセンサ30は、ステップS301の要求情報送信処理として、サーバ装置1より要求された情報をサーバ装置1に対して送信する処理を行う。
 イメージセンサ30より要求情報を受信したサーバ装置1は、ステップS102のユーザ登録処理として、ユーザ端末2から入力されたユーザ情報に基づくアカウント情報の生成や、ユーザIDに対し、イメージセンサ30から受信した上記の要求情報を紐付ける処理を行う。
 続いて、図9の処理を説明する。
 先ず、ユーザ端末2が、ステップS210でAI商品購入処理を実行する。すなわち、前述したマーケットプレイスにおけるAIモデルの購入のための処理である。具体的にユーザ端末2は、ステップS210の処理として、ユーザの操作入力に基づきサーバ装置1に対し使用対象とするAIモデルや選択された使用許可契約期間を指示する情報の送信や、購入代金の支払いに係る処理等を行う。
 サーバ装置1は、ステップS110の購入対応処理として、ユーザ端末2より購入が指示されたAIモデル及び使用許可契約期間の情報が、購入者としてのユーザに紐付けられるようにするための処理を行う。具体的には、購入が指示されたAIモデルのID(AIモデルID)及びコンテンツIDや、選択された使用許可契約期間の情報を、購入者としてのユーザのユーザIDに紐付ける処理を行う。
 ステップS110に続くステップS111でサーバ装置1は、暗号鍵の生成を行う。すなわち、購入されたAIモデルを暗号化するために用いるAIモデル暗号鍵を生成する処理である。先に例示したように、本例においてAIモデル暗号鍵は、コンテンツIDに所定の鍵情報を掛け合わせて生成する。
 ステップS111に続くステップS112でサーバ装置1は、購入されたAIモデルの暗号化を行う。具体的には、購入されたAIモデルをステップS111で生成した暗号鍵を用いて暗号化する。
 なお、ここではAIモデルの暗号化をAIモデルの購入に応じて行う例としているが、これは必須でない。例えば、AIモデルの暗号化は、例えばAIモデル開発者端末6によりマーケットプレイスにAIモデルが登録され、該AIモデルに対するコンテンツIDが割り振られたタイミング等、購入処理よりも前のタイミングで行っておくことが考えられる。
 上記のようなAI商品の購入に係る処理が行われた後、ユーザは、購入したAIモデルを各イメージセンサ30にデプロイさせたいとした場合に、ユーザ端末2を用いて、サーバ装置1に対するデプロイ要求を行う(ステップS211「AIデプロイ要求」)。
 サーバ装置1では、上述したステップS112の処理を実行した後、ステップS113で、このデプロイ要求を待機する。
 デプロイ要求があった場合、サーバ装置1はステップS114で、暗号化したAIモデルのデプロイ処理を行う。すなわち、ステップS112で得られた暗号化データ(暗号化AIモデル)を、該当するイメージセンサ30に送信する処理を行う。
 サーバ装置1から送信された暗号化AIモデルを受信したイメージセンサ30は、ステップS310で暗号化AIモデルを記憶するための処理を行う。すなわち、受信した暗号化AIモデルを不揮発性メモリ部43n等の所定の不揮発性の記憶装置に記憶させる処理を行う。
 なお、ここでは、暗号化AIモデルのデプロイが、イメージセンサ30側からのAIモデルの使用開始要求よりも前に行われる例としたが、暗号化AIモデルのデプロイは、例えばイメージセンサ30からの初回の使用開始要求に応じて行う等も考えられる。
 図10は、使用許可契約期間に基づくAI処理の実行管理のためにサーバ装置1、及びイメージセンサ30が行うべき処理を示したフローチャートである。
 なお、図10においても、「サーバ装置」として示す処理はサーバ装置1のCPU11が実行し、「センサ」として示す処理はイメージセンサ30におけるセンサ内制御部43が実行する。また、図10に示す処理が開始されるにあたっては、イメージセンサ30がサーバ装置1とネットワーク5を介して通信可能に接続された状態にあるとする。
 本例において、イメージセンサ30(センサ内制御部43)は、図10に示す処理を起動ごとに実行する。
 先ず、ステップS320でイメージセンサ30は、サーバ装置1に対する使用開始要求を行う。すなわち、AIモデルの使用開始要求である。
 ステップS320の使用開始要求を受けてサーバ装置1は、ステップS120で契約期間内か否かを判定する。すなわち、使用開始要求を行ったイメージセンサ30から取得したセンサIDに基づき、使用開始要求の要求元のイメージセンサ30に対応する使用許可契約期間の情報を取得し、現在が使用許可契約期間内であるか否かを判定する。
 ステップS120において、契約期間内でないと判定した場合、サーバ装置1は図10に示す一連の処理を終える。つまりこの場合は、イメージセンサ30に対するライセンスデータの送信は行われず、イメージセンサ30側で後述するステップS324の実行制御が行われないものとなるので、イメージセンサ30ではAIモデルを使用不能となる。
 一方、ステップS120で契約期間内であると判定した場合、サーバ装置1はステップS121に進み、対応するライセンスデータを生成する。すなわち、先の図6を参照して説明したように少なくともコンテンツID、AIモデル暗号鍵、センサID、及び使用上限条件情報を含むライセンスデータを生成する。
 前述のように本例では、使用上限条件情報としては、使用許可契約期間よりも短い使用期間を示す情報をライセンスデータに格納する。例えば、前述のように使用許可契約期間が1ヶ月等の複数日でなる期間とされ、イメージセンサ30(カメラ3)が日ごとに電断される前提であれば、例えば24時間以下の所定時間長による使用期間を示す使用上限条件情報をライセンスデータに格納する。
 ステップS121に続くステップS122でサーバ装置1は、イメージセンサ30に対して認証開始通知を行う。
 この認証開始通知に応じ、イメージセンサ30とサーバ装置1との間で認証処理が行われる(図中、ステップS321及びステップS123参照)。具体的に本例では、後述するチャレンジレスポンス認証の処理が行われる。
 ここで、図10では図示を省略しているが、サーバ装置1では、ステップS123の認証処理の過程において、ライセンスデータの暗号化、及び暗号化されたライセンスデータとライセンスデータの改竄判定用データとをイメージセンサ30に送信する処理が行われる。
 サーバ装置1は、ステップS123の認証処理を実行したことに応じて図10に示す一連の処理を終える。
 一方、イメージセンサ30は、ステップS321の認証処理に続くステップS322において、認証成立か否かを判定する。具体的に、本例におけるステップS322の処理は、図7の認証処理部43aの認証処理として説明した、サーバ装置1側との間の認証(チャレンジレスポンス認証)、及びライセンスデータの改竄判定用データに基づく改竄判定による認証の双方の認証が成立したか否かを判定する処理となる。
 ステップS322において、認証が成立しなかったと判定した場合、イメージセンサ30は図10に示す一連の処理を終える。つまりこの場合は、ステップS324の暗号化AIモデルの復号化処理は行われないものとなるため、イメージセンサ30においてAIモデルを使用不能となる。
 一方、ステップS322において認証が成立したと判定した場合、イメージセンサ30はステップS323でセンサIDが一致するか否かを判定する。すなわち、復号化したライセンスデータに含まれるセンサIDが自身のセンサIDと一致するか否かを判定する。
 ステップS323において、センサIDが一致しないと判定した場合、イメージセンサ30は図10に示す一連の処理を終える。すなわち、この場合もイメージセンサ30においてAIモデルが使用不能となる。
 ステップS323において、センサIDが一致すると判定した場合、イメージセンサ30はステップS324に進み、暗号化AIモデルを復号化する。すなわち、ライセンスデータに含まれるAIモデル暗号鍵に基づき、先のステップS310(図9)で記憶された暗号化AIモデルを復号化する。これにより、イメージセンサ30において、購入したAIモデルを使用可能な状態となる。
 ステップS324に続くステップS325でイメージセンサ30は、ライセンスデータが示す使用上限条件を満たすようにAI処理の実行制御を行う。すなわち、先ずイメージセンサ30は、AI画像処理部44によるAI処理の実行を許可するモードとする。そして、AI画像処理部44がAI処理の実行を開始したことに応じて、計時動作、具体的に本例ではAI処理の処理フレーム数のカウント値に基づく計時を行う。そして、このように計時されるAI処理の処理時間が、ライセンスデータにおける使用上限条件情報が示す使用期間を超えたか否かを判定し、上記処理時間が上記使用期間を超えていなければAI画像処理部44のAI処理を継続させ、上記処理時間が上記使用期間を超えた場合にはAI画像処理部44のAI処理を停止させる。
 イメージセンサ30は、ステップS325の処理を実行したことに応じて図10に示す一連の処理を終える。
 なお、上記した図9及び図10の説明から理解されるように、本例では、ライセンスデータは、AIモデルのデータとは別データとしてサーバ装置1からイメージセンサ30に送信されるものである。
 そして、ライセンスデータは、使用許可契約期間内において、イメージセンサ30に対して複数回送信されるものである。具体的に本例では、例えば日ごと等、使用許可契約期間内に複数回電断されるイメージセンサ30が、起動ごとに行う使用開始要求に応じてサーバ装置1がイメージセンサ30にライセンスデータを送信するため、ライセンスデータは使用許可契約期間内において複数回送信されるものである。
 図11は、サーバ装置1とイメージセンサ30との間で行われるライセンスデータ送信、及びチャレンジレスポンス認証に係る処理を示したフローチャートである。
 なお図11においても、「サーバ装置」として示す処理はサーバ装置1のCPU11が実行し、「センサ」として示す処理はイメージセンサ30におけるセンサ内制御部43が実行する。
 サーバ装置1は、図11に示す処理を、図10に示した認証開始通知(S122)を行ったことに応じて開始する。つまり、図11に示すサーバ装置、イメージセンサ30の処理は、それぞれ図10に示したステップS123の認証処理、ステップS322の認証処理に対応するものとなる。
 先ず、ステップS130でサーバ装置1は、サーバ側の乱数:Challenge_Hostを生成する。この乱数:Challenge_Hostについては、真の乱数であってもよいし擬似乱数であってもよい。
 そして、ステップS130に続くステップS131でサーバ装置1は、生成したChallenge_Hostをイメージセンサ30に対して送信する。
 イメージセンサ30は、ステップS131で送信されたChallenge_Hostを受信したことに応じ、ステップS330でセンサ側の乱数:Challenge_Sensorを生成するための処理を行う。この乱数:Challenge_Sensorについても、真の乱数であってもよいし擬似乱数であってもよい。
 ここで、本例では、イメージセンサ30に擬似乱数を生成するにあたって必要とされるメモリを確保できない場合を想定しており、Challenge_Sensorとしては、真の乱数を生成する。具体的に、本例においてChallenge_Sensorとしての乱数は、図3に示した乱数生成部49により生成する。
 乱数生成部49は、撮像部41により得られる撮像画像に生じるノイズに基づき乱数を生成する。ここで言う撮像画像に生じるノイズとは、撮像部41が有する電子回路の熱に起因して生じる熱雑音としてのノイズを意味している。
 撮像画像に生じるノイズの検出手法については種々の手法が考えられる。例えば、撮像光学系31がメカニカルシャッタを有する構成であれば、センサ内制御部43が撮像光学系31においてシャッタを閉じさせた状態で撮像部41に撮像動作を実行させる。それにより得られた撮像画像には、熱雑音としてのノイズ成分のみが存在する(受光面に光が入射していないため)ため、乱数生成部49に該撮像画像を入力させて、該撮像画像の各画素の信号値(輝度値)に基づいて乱数(真の乱数)を生成させる。
 或いは、メカニカルシャッタを有さない場合であっても、各画素の信号値における最下位1ビットは熱雑音による影響を受けているとみなすことができるため、各画素の最下位1ビットの値を用いて乱数を生成することも考えられる。
 上記のような乱数生成部49を用いることで、チャレンジレスポンス認証を可能とするにあたり、乱数生成のための専用のハードウェアをセンサ装置に設ける必要がなくなる。
 また、擬似乱数生成のためのメモリが確保されていないイメージセンサ30においても、チャレンジレスポンス認証のための乱数生成を行うことができるようになる。
 ステップS330に続くステップS331でイメージセンサ30は、センサ側の応答:Response_Sensorを計算する。具体的には、サーバ装置1から受信したChallenge_Host(Ch_H)と、ステップS330で得られたChallenge_Sensor(Ch_S)と、事前にサーバ装置1との間で共有された認証鍵である「Key_Auth」と、Magic Wordとしての“Auth1”とに基づき、下記の[式1]によりResponse_Sensorを計算する。

 Response_Sensor=Hash(Key_Auth||“Auth1”||Ch_H||Ch_S) ・・・[式1]

 なお、Hash()は、例えばSHA-256等のハッシュ関数を意味している。
 ここで、サーバ装置1とイメージセンサ30との間でチャレンジレスポンス認証やライセンスデータの暗号化/復号化、ライセンスデータの改竄有無判定を実現するにあたっては、サーバ装置1とイメージセンサ30との間で、前述したライセンスオーソリ機能F1によって上記の「Key_Auth」(認証鍵)、及び上記の“Auth1”や後述する“Auth2"MAC"ENC”の各Magic Wordが共有されている。イメージセンサ30において、これら「Key_Auth」や “Auth1"Auth2"MAC"ENC”の各Magic Wordの情報は、例えば図3に示した不揮発性メモリ部43n等、イメージセンサ30内における所定の不揮発性のメモリに記憶され、センサ内制御部43による読み出しが可能とされている。
 ステップS331でResponse_Sensorを計算したことに応じ、イメージセンサ30はステップS332でChallenge_Host及びResponse_Sensorをサーバ装置1に対して送信する。
 上記ステップS332の処理でイメージセンサ30側から送信されたChallenge_Host及びResponse_Sensorを受信したサーバ装置1は、ステップS132でResponse_Sensorを検算する。すなわち、ステップS131で自身が生成したChallenge_Host(Ch_H)とイメージセンサ30から受信したChallenge_Sensor(Ch_S)、及びイメージセンサ30側と共有されているKey_Authと “Auth1”を用いて[式1]によりResponse_Sensorを計算する。
 そして、ステップS132に続くステップS133でサーバ装置1は、一致判定処理として、ステップS132で計算(検算)したResponse_Sensorとイメージセンサ30側から受信したResponse_Sensorとが一致するか否かを判定する。
 ステップS133において、両Response_Sensorが一致しないと判定した場合、サーバ装置1はステップS139に進んで認証不成立と判定し、図11に示す一連の処理を終える。つまりこの場合は、後述するステップS138によるライセンスデータの送信が行われないものとなるため、イメージセンサ30において、AIモデルを使用不能となる。
 一方、ステップS133において両Response_Sensorが一致すると判定した場合、サーバ装置1はステップS134からS137の処理により、イメージセンサ30側に送信すべきResponse_Host、暗号化されたライセンスデータ(暗号化ライセンスデータ)、及びライセンスデータの改竄判定用データを生成するための処理を行う。
 具体的に、ステップS134でサーバ装置1は、サーバ側の応答:Response_Hostを計算する。すなわち、先のステップS130で得られたChallenge_Host(Ch_H)と、イメージセンサ30から受信したChallenge_Sensor(Ch_S)と、事前にイメージセンサ30との間で共有されたKey_Authと、Magic Wordとしての“Auth2”とに基づき、下記の[式2]によりResponse_Hostを計算する。

 Response_Host=Hash(Key_Auth||“Auth2”||Ch_H||Ch_S) ・・・[式2]
 ステップS134に続くステップS135でサーバ装置1は、ライセンス改竄判定用のMAC(Message Authentication Code)値を計算する。MAC値は、ライセンスデータの改竄判定用データの一例であり、具体的には下記[式3]により計算する。

 MAC=Hash(Key_Auth||“MAC”||ライセンスデータ||Ch_H||Ch_S) ・・・[式3]

 [式3]において、ライセンスデータは、先のステップS121(図10)で生成したライセンスデータである。
 ステップS135に続くステップS136でサーバ装置1は、ライセンス暗号化用の鍵:Enc_Keyを、下記[式4]により計算する。

 Enc_Key=Hash(Key_Auth||“ENC”||Ch_H||Ch_S) ・・・[式4]
 ステップS136に続くステップS137でサーバ装置1は、Enc_Keyによりライセンスデータを暗号化する。すなわち、先のステップS121で生成したライセンスデータをEnc_Keyにより暗号化する。
 ステップS137に続くステップS138でサーバ装置1は、Response_Host、暗号化ライセンスデータ、及びMAC値をイメージセンサ30に送信する。
 上記ステップS137で送信されたResponse_Host、暗号化ライセンスデータ、及びMAC値を受信したイメージセンサ30は、ステップS333でResponse_Hostを検算する。すなわち、サーバ装置1から受信したChallenge_Host(Ch_H)と、先のステップS130で得られたChallenge_Sensor(Ch_S)と、サーバ装置1との間で共有されたKey_Authと “Auth2”とを用いて、先の[式2]によりResponse_Hostを計算する。
 ステップS333に続くステップS334でイメージセンサ30は、一致判定処理として、ステップS333で計算(検算)したResponse_Hostとサーバ装置1側から受信したResponse_Hostとが一致するか否かを判定する。
 ステップS334において、両Response_Hostが一致しないと判定した場合、イメージセンサ30はステップS339に進んで認証不成立と判定し、図11に示す一連の処理を終える。つまりこの場合は、ステップS324による暗号化AIモデルの復号化が行われないものとなるため、イメージセンサ30において、AIモデルを使用不能となる。
 一方、ステップS334において両Response_Hostが一致すると判定した場合、イメージセンサ30はステップS335に進み、Enc_Keyを計算する。すなわち、ステップS130で得られたChallenge_Sensor(Ch_S)と、サーバ装置1から受信されたChallenge_Host(Ch_H)と、サーバ装置1との間で共有されたKey_Authと“ENC”とに基づき、先の[式4]によりEnc_Keyを計算する。
 そして、ステップS335に続くステップS336でイメージセンサ30は、Enc_Keyにより暗号化ライセンスデータを復号化する。
 ステップS336に続くステップS337でイメージセンサ30は、MAC値を検算する。すなわち、ステップS130で得られたChallenge_Sensor(Ch_S)と、サーバ装置1から受信されたChallenge_Host(Ch_H)と、サーバ装置1との間で共有されたKey_Auth及び “MAC”と、ステップS336で復号化されたライセンスデータとに基づき、先の[式3]によりMAC値を計算する。
 そして、ステップS337に続くステップS338でイメージセンサ30は、一致判定処理として、サーバ装置1から受信したMAC値とステップS337で計算(検算)したMAC値とが一致するか否かを判定する。すなわち、ライセンスデータの改竄有無判定である。
 ステップS338において、両MAC値が一致しないと判定した場合、イメージセンサ30はステップS339で認証不成立と判定し、図11に示す一連の処理を終える。つまりライセンスデータの改竄有無判定により改竄有りと判定された場合は、イメージセンサ30においてAIモデルを使用不能となる。
 一方、ステップS338において両MAC値が一致すると判定した場合、イメージセンサ30は先に説明したステップS323の処理、すなわち、ライセンスデータにおけるセンサIDと自身のセンサIDとが一致するか否かを判定する処理を行う。
 先に説明したように、両センサIDが一致しない場合にはステップS324の処理は行われず、イメージセンサ30においてAIモデルを使用不能となる。
 一方で、両センサIDが一致する場合は、先に説明したステップS324の処理で暗号化AIモデルが復号化された上で、ステップS325の処理が実行される。すなわち、ライセンスデータに含まれる使用上限条件を満たすようにAI画像処理部44のAI処理の実行制御が行われるものである。
 なお、上記ではライセンスデータの全体を認証鍵(Key_Auth)に基づき暗号化してチャレンジレスポンス認証を行うものとしたが、これに代えて、ライセンスデータにおけるAIモデル暗号鍵のみを認証鍵(Key_Auth)に基づき暗号化してチャレンジレスポンス認証を行うことも考えられる。
<4.変形例>
 なお、実施形態としては上記した具体例に限定されるものでなく、多様な変形例としての構成を採り得る。
 例えば、上記では、イメージセンサ30が起動ごとにサーバ装置1に対して使用開始要求を行う例を挙げたが、これはあくまで一例に過ぎず、使用開始要求は、起動以外の他の所定条件の成立に応じて行うことも考えられる。
 例えば、24時間連続稼働を想定した場合には、例えば日付の切り替わりタイミングごと等、所定時間ごとにイメージセンサ30がサーバ装置1に対して使用開始要求を行う等が考えられる。
 また、イメージセンサ30がサーバ装置1に対して使用開始要求を行うことは必須ではない。例えば、24時間連続稼働を想定した場合において、例えば日付の切り替わりタイミングごと等の所定時間ごとに、サーバ装置1がイメージセンサ30にライセンスデータを送信することが考えられる。
 また、上記では、ライセンスデータの認証処理をチャレンジレスポンス認証により行うものとしたが、ライセンスデータの認証は、チャレンジレスポンス認証に限定されない。例えば、イメージセンサ30に予め格納しておいたマスターキーを用いた認証とすることが考えられる。ここで言うマスターキーとは、対応品としてのイメージセンサ30に対し製造時等の装置使用開始前に格納させた鍵情報を意味する。このマスターキーは、例えばセンサ内制御部43における不揮発性メモリ部43n等、イメージセンサ30内の所定の不揮発性のメモリに格納させておくことが考えられる。
 なお、マスターキーは、イメージセンサ30の型番ごとに共通の値を割り振ることが想定される。或いは、別例として、製造のロットごとに共通の値としたり、ファームウェアバージョンごとに共通の値としたりすること等も考えられる。
 この場合、ライセンスデータは、上記のマスターキーに基づく暗号鍵により暗号化してサーバ装置1からイメージセンサ30に送信する。ライセンスデータを受信したイメージセンサ30では、自身に記憶されたマスターキーに基づき生成した鍵によりライセンスデータを復号化する。
 ここで、上記のようにマスターキーをライセンスデータの暗号鍵として用いる場合には、ライセンスデータの暗号鍵は、チャレンジレスポンス認証を行う場合のような揮発性の鍵(1回限り有効な鍵)とはならない。このため、通信路の盗聴が成功してしまった場合(つまり鍵が特定された場合)には、同じライセンスデータをイメージセンサ30側に送ることで、ライセンスデータの暗号化を解くことができてしまう。換言すれば、上記で例示した24時間等の使用上限を定めたライセンスデータを要求に応じて何度も送信する手法を採る場合には、盗聴に成功したライセンスデータをイメージセンサ30側に送り続けることで、AIモデルを永久に使い続けることが可能となってしまう。
 このため、マスターキーを用いてライセンスデータを暗号化する場合には、使用上限条件として、絶対期限を定める、つまりは使用可能な期間の少なくとも終了日時を定めることを要する。
 これに伴い、マスターキーを用いてライセンスデータを暗号化する手法を採る場合は、イメージセンサ30にリアルタイムクロックを設けて、センサ内制御部43は、該リアルタイムクロックの計時情報と上記のように絶対期限を定めた使用上限条件情報とに基づきAI処理の実行制御を行う。或いは、リアルタイムクロックは、イメージセンサ30外部の例えば制御部33に設けることも考えられ、その場合、センサ内制御部43は、このようにイメージセンサ30外に設けられたリアルタイムクロックの計時情報に基づき、使用上限条件情報に従ったAI処理の実行制御を行う。
 ここで、これまでの説明では、カメラ3が撮像画像としてカラー画像を得る構成とされた場合を例示したが、本明細書において「撮像」とは、被写体を捉えた画像データを得ることを広く意味する。ここで言う画像データは、複数の画素データで成るデータを総称したもので、画素データとしては、被写体からの受光量の強度を示すデータのみでなく、例えば被写体まで距離や偏光情報、温度の情報等を広く含む概念である。すなわち、「撮像」により得られる「画像データ」には、画素ごとに受光量の強度の情報を示す階調画像としてのデータや、画素ごとに被写体までの距離の情報を示す距離画像としてのデータ、或いは画素ごとに入射光の偏光情報を示す偏光画像としてのデータ、画素ごとに温度の情報を示すサーマル画像としてのデータ等を含むものである。
 また、これまでの説明では、ライセンスデータが示す使用上限条件として、期間的な条件を例示したが、本技術において使用上限条件とは、AIモデルの使用上限に係る条件を広く意味するものである。
 例えば、期間以外の使用上限条件の例としては、AI処理の処理量に係る条件を挙げることができる。例えば、日ごと等、使用許可契約期間内に複数回送信するライセンスデータにおける使用上限条件として、物体検出処理を行うAIモデルについて、物体検出数の上限値を定めること等を挙げることができる。この場合、イメージセンサ30(センサ内制御部43)は、ライセンスデータの受信に応じて、AI画像処理部44による物体検出数が、該ライセンスデータにおける使用上限条件情報が示す物体検出数の上限値を超えないように、AI画像処理部44によるAI処理の実行制御を行うことになる。
 また、これまでの説明では、チャレンジレスポンス認証等の認証処理で扱うデータの例としてライセンスデータを例示したが、認証処理で扱うデータとしてはこれらに限るものではなく、例えば、イメージセンサ30の画質調整パラメータを扱うようにすることも考えられる。ここで言う画質調整パラメータとは、シャッタスピードやゲイン、その他の画質調整に係るパラメータを広く意味する。また、画質調整パラメータの情報には、パラメータ設定の手動設定/自動設定の別を指示するフラグ情報を含ませてもよい。
 例えば、画質調整パラメータを暗号化して転送し、MAC値にて改竄有無を判定することで、ライセンスデータの場合と同様に、画質調整パラメータの情報についても機密性・完全性を担保することができる。
<5.実施形態のまとめ>
 以上で説明したように実施形態としてのセンサ装置(イメージセンサ30)は、被写体を撮像する撮像部(同41)と、撮像部による撮像画像を対象としてAIモデルを用いた処理であるAI処理を行うAI処理部(AI画像処理部44)と、AIモデルに関する使用上限条件を示すライセンスデータを外部装置から受信し、使用上限条件を満たすようにAI処理部によるAI処理の実行制御を行う制御部(センサ内制御部43)と、を備えるものである。
 上記構成によれば、AI処理部は撮像部を有するセンサ装置内に設けられる。そして、上記構成によれば、AI機能を有する撮像装置についてAIモデルをサブスクリプション的に使用させようとした場合に、例えば使用期限等の使用上限条件を満たすためのAI処理の実行制御がセンサ装置内で行われる。このように使用上限条件を満たすためのAI処理の実行制御がセンサ装置内で行われることで、センサ装置と撮像装置内におけるセンサ装置外部のプロセッサとの間の通信路が攻撃されたとしても使用上限条件が不正に操作され難くなるようにすることが可能となる。
 従って、AI機能を有する撮像装置についてAIモデルをサブスクリプション的に使用させるにあたり、不正行為等により使用上限条件を逸脱するAIモデルの使用が行われてしまうことの防止を図ることができる。すなわち、AIモデルが不正使用されてしまうことの防止を図ることができる。
 また、実施形態としてのセンサ装置においては、AI処理部は、使用するAIモデルを変更可能に構成され、制御部は、外部装置より受信されたAIモデルをAI処理部が使用するAIモデルとして設定する処理を行い、ライセンスデータは、AIモデルとは別データとして外部装置より送信されるデータとされている。
 これにより、AIモデルをサブスクリプション的に使用させようとした場合において、センサ装置に対し、AIモデルの送信タイミングとは異なるタイミングでライセンスデータを送信することが可能となる。例えば、AIモデルは、代金支払い等の契約完了のタイミングで送信しておき、ライセンスデータは、センサ装置が実際にAIモデルの使用を開始するタイミングで送信するといったことが可能となる。
 従って、AIモデルの使用開始時に外部装置やセンサ装置が送受信するデータ量が増大して外部装置やセンサ装置の処理負荷が増大してしまうことの防止を図ることができる。
 また、特に、ライセンスデータを揮発性として使用許可契約期間内においてセンサ装置に複数回送信する構成を採る場合には、ライセンスデータと共にAIモデルを送信する必要がなくなる。AIモデルは、例えば数メガバイト等の比較的大きなデータ容量を有するため、複数回のAIモデルの送信が不要となることで、AIモデルの送信側の処理負担を軽減することができる。特に、AIモデルの送信側が、複数のセンサ装置についてAIモデルの送信管理を行う場合には、送信すべきデータ量を大幅に削減でき、処理負担も大幅に軽減することができる。さらに、実施形態のようにセキュリティ対策のためAIモデルを暗号化して送信する場合には、使用許可契約期間内においてAIモデルを複数回暗号化処理する必要もなくなるので、処理負担のさらなる軽減を図ることができる。
 さらに、実施形態としてのセンサ装置においては、外部装置は、センサ装置に対し、AIモデルを暗号化して送信すると共に、ライセンスデータとして、AIモデルの暗号鍵を含むデータを送信し、制御部は、ライセンスデータに含まれる暗号鍵に基づいてAIモデルの復号化を行っている。
 これにより、AIモデルを受信しなければAIモデルの使用が不能となるようにすることが可能となる。
 従って、ライセンスデータを受信せずに不正にAIモデルを使用可能となってしまうことの防止を図ることができ、セキュリティの向上を図ることができる。
 さらにまた、実施形態としてのセンサ装置においては、制御部は、外部装置との間で、ライセンスデータについての認証処理としてチャレンジレスポンス認証の処理を行っている。
 これにより、反射攻撃(リプレイアタック)としての不正アクセスに対する耐性を高めることが可能となり、ライセンスデータの改竄等の不正行為の発生防止効果を高めることが可能となる。
 従って、使用上限条件を逸脱するAIモデルの使用が行われてしまうことの防止を図ることができる。
 また、実施形態としてのセンサ装置においては、ライセンスデータは、AIモデルの使用許可契約期間内において複数回送信され、制御部は、ライセンスデータの受信ごとに、受信したライセンスデータに基づいて実行制御を行っている。
 ライセンスデータの認証処理にチャレンジレスポンス認証を採用したことで、ライセンスデータの暗号鍵は、1セッションのみ有効な鍵となる。換言すれば、ライセンスデータは、1セッションのみ有効な揮発性ライセンスとなる。このようにライセンスデータが揮発性ライセンスとされることで、ライセンスデータとしては、使用上限条件として、使用許可契約期間よりも短い使用上限期間に対応した条件を定めたものを、上記構成のように使用許可契約期間内において複数回センサ装置に送信することが可能となる。
 仮に、1ヶ月の使用許可に対し、1ヶ月分の使用可能期間を示す一つのライセンスデータを一度のみセンサ装置に送信する手法を採った場合には、そのライセンスデータの盗聴が成功してしまった場合に、契約による使用許可条件を逸脱した使用が可能となってしまう。これに対し、上記のように契約による使用許可期間内で複数回に分けて揮発性のライセンスデータを送信する手法を採ることで、一つのライセンスデータについて盗聴に成功したとしても、他のタイミングで送信されたライセンスデータについてはセキュリティを保つことが可能となり、AIモデルが契約条件から逸脱して不正に使用されてしまうことの防止を図ることができる。
 また、実施形態としてのセンサ装置においては、制御部は、ライセンスデータと、AI処理部による処理フレーム数のカウント値とに基づいて実行制御を行っている。
 上記構成によれば、ライセンスデータに従った使用上限条件の管理は、AI処理部による処理フレーム数のカウント値に基づいて行うことができるため、使用上限条件の管理のためにセンサ装置にリアルタイムクロックを設ける必要はなくなる。
 従って、センサ装置にリアルタイムクロック駆動のために電源を供給し続ける必要がなくなり、消費電力削減を図ることができる。
 さらに、実施形態としてのセンサ装置においては、チャレンジレスポンス認証に用いられる乱数を撮像画像に生じるノイズに基づき生成する乱数生成部(同49)を備えている。
 これにより、チャレンジレスポンス認証を可能とするにあたり、乱数生成のための専用のハードウェアをセンサ装置に設ける必要がなくなる。
 従って、センサ装置の構成部品点数の削減、及びコスト削減を図ることができる。
 また、擬似乱数生成のためのメモリが確保されていないセンサ装置においても、チャレンジレスポンス認証のための乱数生成を行うことができるようになる。
 さらにまた、実施形態としてのセンサ装置においては、ライセンスデータには、使用上限条件を示す情報と共に、センサ装置を識別するためのセンサIDが含まれ、制御部は、ライセンスデータに含まれるセンサIDと、自装置のセンサIDとを照合した結果に基づいて実行制御を行っている。
 これにより、センサ装置では、自装置のセンサIDがライセンスデータに含まれるセンサIDと一致する場合のみAI処理が行われるように制御するといったことが可能となる。
 従って、契約対象のセンサ装置でのみAIモデルが使用されるように図ることができ、契約対象外のセンサ装置がAIモデルを不正に使用できてしまうことの防止を図ることができる。
 また、実施形態としてのセンサ装置においては、自装置内の所定のメモリに鍵情報(認証鍵:Key_Auth)が記憶されており、ライセンスデータは、鍵情報と同一の鍵情報に基づき暗号化されてセンサ装置に送信され、制御部は、暗号化されたライセンスデータである暗号化ライセンスデータを受信し、暗号化ライセンスデータをメモリに記憶された鍵情報に基づき復号化して実行制御に用いている。
 これにより、予め鍵情報が記憶された対応品としてのセンサ装置のみがライセンスデータを復号化できるようにすることが可能となる。
 従って、鍵情報が記憶されていない非対応品としてのセンサ装置がライセンスデータを受信してAIモデルを使用可能となってしまうことの防止を図ることができる。
 さらに、実施形態としてのセンサ装置においては、外部装置より、ライセンスデータと共にライセンスデータの改竄有無判定用のデータである改竄判定用データが送信され、制御部は、改竄判定用データに基づきライセンスデータの改竄が無いと判定したことを条件に、ライセンスデータに基づく実行制御を行っている。
 これにより、正しいライセンスデータ以外のデータに基づいてAIモデルが使用されてしまうことの防止を図ることが可能となる。
 従って、AIモデルの不正使用防止を図ることができる。
 また、実施形態としての制御方法は、被写体を撮像する撮像部と、撮像部による撮像画像を対象としてAIモデルを用いた処理であるAI処理を行うAI処理部とを備えたセンサ装置における制御方法であって、AIモデルに関する使用上限条件を示すライセンスデータを外部装置から受信し、使用上限条件を満たすようにAI処理部によるAI処理の実行制御を行う制御方法である。
 このような制御方法によっても、上記した実施形態としてのセンサ装置と同様の作用及び効果を得ることができる。
 実施形態としての情報処理装置(サーバ装置1)は、被写体を撮像する撮像部と、撮像部による撮像画像を対象としてAIモデルを用いた処理であるAI処理を行うAI処理部と、AIモデルに関する使用上限条件を示すライセンスデータに基づき、使用上限条件を満たすようにAI処理部によるAI処理の実行制御を行う制御部と、を備えるセンサ装置(イメージセンサ30)に対し、ライセンスデータを送信する送信部(通信部20)を備えたものである。
 このような情報処理装置により、センサ装置におけるAIモデル使用条件を定めることができる。
 また、実施形態としての情報処理システム(同100)は、被写体を撮像する撮像部と、撮像部による撮像画像を対象としてAIモデルを用いた処理であるAI処理を行うAI処理部と、AIモデルに関する使用上限条件を示すライセンスデータに基づき、使用上限条件を満たすようにAI処理部によるAI処理の実行制御を行う制御部と、を有するセンサ装置(イメージセンサ30)と、センサ装置に対し、ライセンスデータを送信する送信部を有する情報処理装置(サーバ装置1)と、を備えたものである。
 このような情報処理システムにより、AI機能を有する撮像装置においてAIモデルが不正使用されてしまうことの防止を図ることができる。
 なお、本明細書に記載された効果はあくまでも例示であって限定されるものではなく、また他の効果があってもよい。
<6.本技術>
 本技術は以下のような構成を採ることもできる。
(1)
 被写体を撮像する撮像部と、
 前記撮像部による撮像画像を対象としてAIモデルを用いた処理であるAI処理を行うAI処理部と、
 前記AIモデルに関する使用上限条件を示すライセンスデータを外部装置から受信し、前記使用上限条件を満たすように前記AI処理部によるAI処理の実行制御を行う制御部と、を備える
 センサ装置。
(2)
 前記AI処理部は、使用するAIモデルを変更可能に構成され、
 前記制御部は、外部装置より受信されたAIモデルを前記AI処理部が使用するAIモデルとして設定する処理を行い、
 前記ライセンスデータは、前記AIモデルとは別データとして外部装置より送信されるデータとされた
 前記(1)に記載のセンサ装置。
(3)
 前記外部装置は、前記センサ装置に対し、前記AIモデルを暗号化して送信すると共に、前記ライセンスデータとして、前記AIモデルの暗号鍵を含むデータを送信し、
 前記制御部は、前記ライセンスデータに含まれる前記暗号鍵に基づいて前記AIモデルの復号化を行う
 前記(1)又は(2)に記載のセンサ装置。
(4)
 前記制御部は、前記外部装置との間で、前記ライセンスデータについての認証処理としてチャレンジレスポンス認証の処理を行う
 前記(1)から(3)の何れかに記載のセンサ装置。
(5)
 前記ライセンスデータは、前記AIモデルの使用許可契約期間内において複数回送信され、
 前記制御部は、前記ライセンスデータの受信ごとに、受信した前記ライセンスデータに基づいて前記実行制御を行う
 前記(4)に記載のセンサ装置。
(6)
 前記制御部は、前記ライセンスデータと、前記AI処理部による処理フレーム数のカウント値とに基づいて前記実行制御を行う
 前記(5)に記載のセンサ装置。
(7)
 前記チャレンジレスポンス認証に用いられる乱数を前記撮像画像に生じるノイズに基づき生成する乱数生成部を備えた
 前記(4)から(6)の何れかに記載のセンサ装置。
(8)
 前記ライセンスデータには、前記使用上限条件を示す情報と共に、センサ装置を識別するためのセンサIDが含まれ、
 前記制御部は、前記ライセンスデータに含まれる前記センサIDと、自装置のセンサIDとを照合した結果に基づいて前記実行制御を行う
 前記(1)から(7)の何れかに記載のセンサ装置。
(9)
 自装置内の所定のメモリに鍵情報が記憶されており、
 前記ライセンスデータは、前記鍵情報と同一の鍵情報に基づき暗号化されて前記センサ装置に送信され、
 前記制御部は、暗号化された前記ライセンスデータである暗号化ライセンスデータを受信し、前記暗号化ライセンスデータを前記メモリに記憶された前記鍵情報に基づき復号化して前記実行制御に用いる
 前記(1)から(8)の何れかに記載のセンサ装置。
(10)
 前記外部装置より、前記ライセンスデータと共に前記ライセンスデータの改竄有無判定用のデータである改竄判定用データが送信され、
 前記制御部は、前記改竄判定用データに基づき前記ライセンスデータの改竄が無いと判定したことを条件に、前記ライセンスデータに基づく前記実行制御を行う
 前記(1)から(9)の何れかに記載のセンサ装置。
(11)
 被写体を撮像する撮像部と、前記撮像部による撮像画像を対象としてAIモデルを用いた処理であるAI処理を行うAI処理部とを備えたセンサ装置における制御方法であって、
 前記AIモデルに関する使用上限条件を示すライセンスデータを外部装置から受信し、前記使用上限条件を満たすように前記AI処理部によるAI処理の実行制御を行う
 制御方法。
(12)
 被写体を撮像する撮像部と、前記撮像部による撮像画像を対象としてAIモデルを用いた処理であるAI処理を行うAI処理部と、前記AIモデルに関する使用上限条件を示すライセンスデータに基づき、前記使用上限条件を満たすように前記AI処理部によるAI処理の実行制御を行う制御部と、を備えるセンサ装置に対し、前記ライセンスデータを送信する送信部を備えた
 情報処理装置。
(13)
 被写体を撮像する撮像部と、前記撮像部による撮像画像を対象としてAIモデルを用いた処理であるAI処理を行うAI処理部と、前記AIモデルに関する使用上限条件を示すライセンスデータに基づき、前記使用上限条件を満たすように前記AI処理部によるAI処理の実行制御を行う制御部と、を有するセンサ装置と、
 前記センサ装置に対し、前記ライセンスデータを送信する送信部を有する情報処理装置と、を備えた
 情報処理システム。
1 サーバ装置
3 カメラ
F1 ライセンスオーソリ機能
F2 アカウントサービス機能
F3 マーケットプレイス機能
F4 AIサービス機能
30 イメージセンサ
31 撮像光学系
32 光学系駆動部
33 制御部
34 メモリ部
35 通信部
36 センサ部
37 バス
41 撮像部
42 画像信号処理部
43 センサ内制御部
43n 不揮発性メモリ部
43v 揮発性メモリ部
43a 認証処理部
43b 実行制御部
44 AI画像処理部
45 メモリ部
46 コンピュータビジョン処理部
47 通信インタフェース
48 バス
49 乱数生成部

Claims (13)

  1.  被写体を撮像する撮像部と、
     前記撮像部による撮像画像を対象としてAIモデルを用いた処理であるAI処理を行うAI処理部と、
     前記AIモデルに関する使用上限条件を示すライセンスデータを外部装置から受信し、前記使用上限条件を満たすように前記AI処理部によるAI処理の実行制御を行う制御部と、を備える
     センサ装置。
  2.  前記AI処理部は、使用するAIモデルを変更可能に構成され、
     前記制御部は、外部装置より受信されたAIモデルを前記AI処理部が使用するAIモデルとして設定する処理を行い、
     前記ライセンスデータは、前記AIモデルとは別データとして外部装置より送信されるデータとされた
     請求項1に記載のセンサ装置。
  3.  前記外部装置は、前記センサ装置に対し、前記AIモデルを暗号化して送信すると共に、前記ライセンスデータとして、前記AIモデルの暗号鍵を含むデータを送信し、
     前記制御部は、前記ライセンスデータに含まれる前記暗号鍵に基づいて前記AIモデルの復号化を行う
     請求項1に記載のセンサ装置。
  4.  前記制御部は、前記外部装置との間で、前記ライセンスデータについての認証処理としてチャレンジレスポンス認証の処理を行う
     請求項1に記載のセンサ装置。
  5.  前記ライセンスデータは、前記AIモデルの使用許可契約期間内において複数回送信され、
     前記制御部は、前記ライセンスデータの受信ごとに、受信した前記ライセンスデータに基づいて前記実行制御を行う
     請求項4に記載のセンサ装置。
  6.  前記制御部は、前記ライセンスデータと、前記AI処理部による処理フレーム数のカウント値とに基づいて前記実行制御を行う
     請求項5に記載のセンサ装置。
  7.  前記チャレンジレスポンス認証に用いられる乱数を前記撮像画像に生じるノイズに基づき生成する乱数生成部を備えた
     請求項4に記載のセンサ装置。
  8.  前記ライセンスデータには、前記使用上限条件を示す情報と共に、センサ装置を識別するためのセンサIDが含まれ、
     前記制御部は、前記ライセンスデータに含まれる前記センサIDと、自装置のセンサIDとを照合した結果に基づいて前記実行制御を行う
     請求項1に記載のセンサ装置。
  9.  自装置内の所定のメモリに鍵情報が記憶されており、
     前記ライセンスデータは、前記鍵情報と同一の鍵情報に基づき暗号化されて前記センサ装置に送信され、
     前記制御部は、暗号化された前記ライセンスデータである暗号化ライセンスデータを受信し、前記暗号化ライセンスデータを前記メモリに記憶された前記鍵情報に基づき復号化して前記実行制御に用いる
     請求項1に記載のセンサ装置。
  10.  前記外部装置より、前記ライセンスデータと共に前記ライセンスデータの改竄有無判定用のデータである改竄判定用データが送信され、
     前記制御部は、前記改竄判定用データに基づき前記ライセンスデータの改竄が無いと判定したことを条件に、前記ライセンスデータに基づく前記実行制御を行う
     請求項1に記載のセンサ装置。
  11.  被写体を撮像する撮像部と、前記撮像部による撮像画像を対象としてAIモデルを用いた処理であるAI処理を行うAI処理部とを備えたセンサ装置における制御方法であって、
     前記AIモデルに関する使用上限条件を示すライセンスデータを外部装置から受信し、前記使用上限条件を満たすように前記AI処理部によるAI処理の実行制御を行う
     制御方法。
  12.  被写体を撮像する撮像部と、前記撮像部による撮像画像を対象としてAIモデルを用いた処理であるAI処理を行うAI処理部と、前記AIモデルに関する使用上限条件を示すライセンスデータに基づき、前記使用上限条件を満たすように前記AI処理部によるAI処理の実行制御を行う制御部と、を備えるセンサ装置に対し、前記ライセンスデータを送信する送信部を備えた
     情報処理装置。
  13.  被写体を撮像する撮像部と、前記撮像部による撮像画像を対象としてAIモデルを用いた処理であるAI処理を行うAI処理部と、前記AIモデルに関する使用上限条件を示すライセンスデータに基づき、前記使用上限条件を満たすように前記AI処理部によるAI処理の実行制御を行う制御部と、を有するセンサ装置と、
     前記センサ装置に対し、前記ライセンスデータを送信する送信部を有する情報処理装置と、を備えた
     情報処理システム。
PCT/JP2023/005753 2022-04-06 2023-02-17 センサ装置、制御方法、情報処理装置、情報処理システム WO2023195247A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-063265 2022-04-06
JP2022063265 2022-04-06

Publications (1)

Publication Number Publication Date
WO2023195247A1 true WO2023195247A1 (ja) 2023-10-12

Family

ID=88242822

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/005753 WO2023195247A1 (ja) 2022-04-06 2023-02-17 センサ装置、制御方法、情報処理装置、情報処理システム

Country Status (1)

Country Link
WO (1) WO2023195247A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008244885A (ja) * 2007-03-27 2008-10-09 Matsushita Electric Works Ltd ネットワークシステム
WO2020075396A1 (ja) * 2018-10-10 2020-04-16 株式会社アクセル 推論装置、推論方法及び推論プログラム
WO2020100922A1 (ja) * 2018-11-13 2020-05-22 ソニーセミコンダクタソリューションズ株式会社 データ配信システム、センサデバイス及びサーバ
CN112711603A (zh) * 2020-12-30 2021-04-27 广东粤云工业互联网创新科技有限公司 基于云端的工件检测方法及系统、计算机可读存储介质
JP2021077129A (ja) * 2019-11-11 2021-05-20 株式会社日立製作所 情報処理システム、モデルの制御方法及び記憶媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008244885A (ja) * 2007-03-27 2008-10-09 Matsushita Electric Works Ltd ネットワークシステム
WO2020075396A1 (ja) * 2018-10-10 2020-04-16 株式会社アクセル 推論装置、推論方法及び推論プログラム
WO2020100922A1 (ja) * 2018-11-13 2020-05-22 ソニーセミコンダクタソリューションズ株式会社 データ配信システム、センサデバイス及びサーバ
JP2021077129A (ja) * 2019-11-11 2021-05-20 株式会社日立製作所 情報処理システム、モデルの制御方法及び記憶媒体
CN112711603A (zh) * 2020-12-30 2021-04-27 广东粤云工业互联网创新科技有限公司 基于云端的工件检测方法及系统、计算机可读存储介质

Similar Documents

Publication Publication Date Title
US20230025584A1 (en) Real estate management system, method, and program
JP5669517B2 (ja) 画像データ販売システムおよび画像データ販売方法ならびに撮影装置、サーバ装置
CN107089157A (zh) 具有集成相机的电动车辆充电站
US20220058241A1 (en) System and method for associating information with a digital image file using a digital ledger
US8508607B2 (en) Method and system for a programmable camera for configurable security and surveillance systems
WO2006115156A1 (ja) 監視カメラシステム、撮影装置および映像表示装置
WO2018230366A1 (ja) 信号処理装置および方法、並びにプログラム
Winkler et al. User-centric privacy awareness in video surveillance
KR20200033556A (ko) 블록 체인 기반의 영상 공유 방법 및 영상 공유 플랫폼 시스템
WO2022070781A1 (ja) 情報処理システム及び情報処理方法
WO2023195247A1 (ja) センサ装置、制御方法、情報処理装置、情報処理システム
AU2006235204B2 (en) Method and system for configurable security and surveillance systems
CN112585605A (zh) 信息处理系统、信息处理方法、终端装置和信息处理装置
KR20190088731A (ko) 모바일 기반 이벤트 영상 관리 시스템
WO2023090037A1 (ja) 情報処理装置、情報処理方法、撮像装置、制御方法
WO2023162885A1 (ja) 信号処理装置、信号処理方法、データ構造、データ製造方法
US11363110B2 (en) Content distribution systems
WO2023238723A1 (ja) 情報処理装置、情報処理システム、情報処理回路及び情報処理方法
CN116158072A (zh) 图像处理电路和图像处理方法
WO2024034413A1 (ja) 情報処理方法、サーバ装置、および情報処理装置
CN114270776A (zh) 成像设备、图像数据处理方法以及程序
WO2023067952A1 (ja) 情報処理装置、情報処理方法、記録媒体
WO2023218934A1 (ja) イメージセンサ
WO2023218935A1 (ja) イメージセンサ、情報処理方法、プログラム
WO2023189439A1 (ja) 情報処理装置、情報処理システム

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

Country of ref document: EP

Kind code of ref document: A1