WO2019208411A1 - データ解析装置、精度推定装置、データ解析方法および記憶媒体 - Google Patents
データ解析装置、精度推定装置、データ解析方法および記憶媒体 Download PDFInfo
- Publication number
- WO2019208411A1 WO2019208411A1 PCT/JP2019/016749 JP2019016749W WO2019208411A1 WO 2019208411 A1 WO2019208411 A1 WO 2019208411A1 JP 2019016749 W JP2019016749 W JP 2019016749W WO 2019208411 A1 WO2019208411 A1 WO 2019208411A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- analysis
- data
- accuracy
- target data
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3428—Benchmarking
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
Definitions
- the present invention relates to a data analysis device, an accuracy estimation device, a data analysis method, and a storage medium.
- a data analysis processing method may be set for the purpose of adjusting the processing time, for example (see, for example, Patent Document 1).
- a plurality of determination criteria in which the content of input data is associated with load variation processing that varies the load of the analysis engine such as frame rate reduction or image filter invalidation is set in advance.
- the processing method of data analysis is set by performing the load fluctuation processing specified according to the determination result of the content of the input data to be analyzed.
- the burden on the setting operator is It can be further reduced.
- An object of the present invention is to provide a data analysis apparatus and the like that can solve the above-described problems.
- the data analysis apparatus includes an analysis target acquisition unit that acquires analysis target data and a plurality of comparison target data whose analysis accuracy is known in each of the plurality of analysis modules.
- An accuracy estimation unit that estimates the analysis accuracy of the analysis target data in each of the plurality of analysis modules based on the analysis accuracy of comparison target data that is similar to the analysis target data beyond a reference, and the plurality of analysis modules.
- the analysis module used for analyzing the analysis target data based on the estimation result of the analysis accuracy of the analysis target data in each of the information and the information indicating the analysis time of the analysis target data in each of the plurality of analysis modules
- the accuracy estimation apparatus includes an analysis target acquisition unit that acquires analysis target data and a plurality of comparison target data whose analysis accuracy is known in each of the plurality of analysis modules.
- An accuracy estimation unit configured to estimate the analysis accuracy of the analysis target data in each of the plurality of analysis modules based on the analysis accuracy of the comparison target data similar to the analysis target data beyond a reference.
- the data analysis method acquires analysis target data, and among the plurality of comparison target data whose analysis accuracy in each of the plurality of analysis modules is known, Based on the analysis accuracy of the comparison target data that is similar beyond the reference, the analysis accuracy of the analysis target data in each of the plurality of analysis modules is estimated, and the analysis target data in each of the plurality of analysis modules Based on the estimation result of the analysis accuracy and the information indicating the analysis time of the analysis target data in each of the plurality of analysis modules, the analysis module used for the analysis of the analysis target data is selected from the plurality of analysis modules. And analyzing the data to be analyzed using the selected analysis module.
- the program stores the analysis among the plurality of pieces of comparison target data whose processing accuracy is known in each of the plurality of analysis modules and the process of acquiring the analysis target data in the computer. Processing for estimating the analysis accuracy of the analysis target data in each of the plurality of analysis modules based on the analysis accuracy of the comparison target data that is similar to the target data and exceeds the reference; and in each of the plurality of analysis modules Based on the estimation result of the analysis accuracy of the analysis target data and information indicating the analysis time of the analysis target data in each of the plurality of analysis modules, the analysis modules used for the analysis of the analysis target data are the plurality of analysis modules.
- the data analysis apparatus when the data analysis apparatus sets the data analysis processing method, it is not necessary for the setting operator of the data analysis apparatus to set a determination criterion for setting the processing method in advance.
- FIG. 1 is a schematic block diagram illustrating a functional configuration example of the data analysis apparatus according to the first embodiment.
- the data analysis apparatus 1 includes an analysis target acquisition unit 10, an estimation data holding unit 20, an accuracy estimation unit 30, a performance data holding unit 40, a scheduler unit 50, and an analysis execution unit 70. And an analysis result output unit 80.
- the analysis execution unit 70 includes M (M is a positive integer) analysis software (analysis software) 60-1 to 60-M.
- the analysis software 60-1 to 60-M are collectively referred to as analysis software 60.
- the analysis software may be called processing software.
- the data analysis device 1 performs data analysis.
- the data analysis apparatus 1 receives image data and performs image analysis will be described as an example.
- the data analysis device 1 may perform image analysis of all frames of the moving image, or may perform analysis of a part of the frames, such as performing image analysis for each frame at a fixed interval.
- the data analysis device 1 may acquire still image data taken every fixed time and detect a person image from the still image.
- the data analysis device 1 may be used for crime prevention, marketing or operational improvement in facilities such as retail stores, stadiums or shopping malls, for example.
- the data analysis device 1 is installed in a retail store, detects a visitor's image from a moving image taken by a camera installed in the store, and further detects the visitor's age, gender, and in-store flow line. You may make it estimate.
- the individual data to be processed by the data analysis device 1 is referred to as processing target data.
- An image indicated by the processing target data is referred to as a processing target image.
- An image indicated by the image data is also referred to as an image data image.
- the data to be processed by the data analysis device 1 is not limited to image data.
- Various types of data can be processed by the data analysis apparatus 1.
- the analysis performed by the data analysis apparatus 1 is not limited to detection of a human image.
- the analysis performed by the data analysis apparatus 1 is not limited to image analysis.
- the analysis performed by the data analysis apparatus 1 can select an analysis method.
- the analysis performed by the data analysis apparatus 1 can be an analysis having a trade-off relationship between analysis accuracy and analysis time. The trade-off here is that the analysis time increases when attempting to increase the analysis accuracy, and the analysis accuracy decreases when attempting to shorten the analysis time.
- the data analysis apparatus 1 is configured using a computer such as a personal computer (PC) or a workstation.
- the data analysis device 1 may be configured as one device or may be configured as a plurality of devices.
- the data analysis device 1 may be configured by a combination of a database machine that functions as the estimation data holding unit 20 and a data analysis device main body that executes functions other than the estimation data holding unit 20.
- the analysis target acquisition unit 10 estimation data holding unit 20 and the accuracy estimation unit 30, or the analysis target acquisition unit 10 and the accuracy estimation unit 30 are configured as an accuracy estimation device. Also good.
- the analysis target acquisition unit 10 acquires analysis target data.
- the analysis target acquisition unit 10 acquires image data as analysis target data will be described as an example.
- the analysis target acquisition unit 10 is configured as a communication unit that communicates with another device, and receives moving image data that is captured and output (transmitted) by a camera.
- Each of the analysis software 60 corresponds to an example of an analysis module.
- the analysis target data is analyzed by executing the analysis software 60.
- each analysis software 60 performs image analysis such as detection of the person image described above.
- the module referred to here is one entity configured by dedicated hardware for executing a predetermined operation, or software and a unit including hardware for executing the software.
- the analysis software 60 may be configured as a part of the analysis execution unit 70, or may be configured differently from the analysis execution unit 70. It is sufficient that the analysis execution unit 70 can execute each of the analysis software 60.
- the analysis execution unit 70 includes a plurality of analysis software 60 having different processing speeds and analysis accuracy.
- the analysis execution unit 70 analyzes the analysis target image using the analysis software 60 selected by the scheduler unit 50 for each analysis target data (assigned in scheduling).
- the number of analysis software 60 included in the analysis execution unit 70 may be two or more.
- a case where the analysis execution unit 70 includes the three analysis softwares 60 of the analysis softwares A to C will be described as an example.
- the analysis module provided in the analysis execution unit 70 is not limited to one in which each analysis module is configured as software.
- the analysis execution unit 70 may include a hardware analysis module such as a board analysis module or a chip analysis module.
- the analysis execution unit 70 may include image analysis software that can change the processing speed and the analysis accuracy by parameter setting.
- image analysis software for each parameter setting pattern corresponds to an example of an analysis module.
- the image analysis performed by the analysis execution unit 70 is also referred to as video analysis.
- the estimation data holding unit 20 holds (stores) estimation data used by the accuracy estimation unit 30 for estimation of analysis accuracy.
- FIG. 2 is a diagram illustrating an example of estimation data held by the estimation data holding unit 20. As in the example of FIG. 2, the estimation data is configured by associating image data with analysis accuracy data of the image data.
- the image data included in the estimation data is used to determine the similarity of the image with the analysis target data.
- the accuracy estimation unit 30 compares the image of the image data included in the estimation data with the analysis target image, and calculates the similarity.
- Image data included in the estimation data is referred to as comparison target data (comparison target data set, comparison target data record), and an image indicated by the comparison target data is referred to as a comparison target image.
- the estimation data holding unit 20 holds estimation data for each of a plurality of comparison target data in advance before the data analysis apparatus 1 analyzes the analysis target data.
- the analysis accuracy data indicates the analysis accuracy when the image of the associated image data is analyzed by the analysis software 60 for each analysis software 60.
- the analysis accuracy data indicates the analysis accuracy of the comparison target image by each of the three analysis software 60 of the analysis software A to C included in the analysis execution unit 70.
- the accuracy estimation unit 30 analyzes the comparison target image using the analysis software 60 for each comparison target data and for each analysis software 60, calculates the accuracy (analysis accuracy) of the analysis result, and associates it with the comparison target image.
- the estimation data may be automatically generated.
- the accuracy estimation unit 30 estimates the analysis accuracy of the analysis target data in each of the analysis software 60.
- the accuracy estimation unit 30 estimates analysis accuracy based on the fact that similar analysis accuracy is obtained when similar images are applied to the same analysis software 60.
- the accuracy estimation unit 30 searches the estimation data holding unit 20 for a comparison target image similar to the analysis target image. Then, the accuracy estimation unit 30 estimates the analysis accuracy of the analysis target image from the analysis accuracy of the similar image (comparison target image similar to the analysis target image) obtained by the search.
- the accuracy estimation unit 30 compares the analysis target image with each of the comparison target images, and calculates the similarity with the analysis target image for each comparison target image. Then, the accuracy estimation unit 30 reads the analysis accuracy data associated with the comparison target image that is similar to the analysis target image beyond the reference from the estimation data holding unit 20.
- the criterion here is a criterion (similar image selection criterion) for similarity between the analysis target data and the comparison target data. This reference is set in advance as a constant indicating a threshold value of similarity, for example. “Similar beyond the criterion” means that the degree of similarity between two images (an analysis target image and a comparison target image) satisfies the criterion.
- the accuracy estimation unit 30 calculates the analysis accuracy of the analysis target data for each analysis software 60 based on the analysis accuracy for each comparison target image and the analysis software 60 indicated by the obtained analysis target data.
- FIG. 3 is a diagram illustrating an example of accuracy estimation (calculation of an analytical accuracy estimation value) performed by the accuracy estimation unit 30.
- the accuracy estimation unit 30 calculates the similarity with the analysis target image for each comparison target image, and sorts the estimation data in descending order of similarity. That is, in the leftmost column of FIG. 3, a plurality of comparison target images are arranged in descending order of similarity.
- FIG. 3 shows the analysis accuracy estimated values of the comparison target images by the analysis software A to C for each comparison target image. Specifically, processing is performed according to the following procedure. First, the accuracy estimation unit 30 compares the analysis target image and the comparison target image, and sorts the comparison target images in descending order of similarity. As shown in FIG.
- the analysis accuracy estimated values of the comparison target images by the analysis software A to C are different for each analysis software.
- the accuracy estimation unit 30 selects the top four estimation data in descending order of similarity of the comparison target images.
- the accuracy estimation unit 30 calculates an average value of the analysis accuracy estimation values of the comparison target image by the analysis software A indicated by the selected estimation data as an estimation value of the analysis accuracy of the analysis target image.
- the criterion of four in descending order of similarity corresponds to an example of a criterion for similarity between analysis target data and comparison target data. In the example of FIG.
- the accuracy estimation unit 30 estimates the analysis accuracy of the analysis target image by the analysis software 60 ⁇ / b> A as 90% using four estimation data selected in the order in which the images are similar to the analysis target image. .
- the accuracy estimation unit 30 selects the top four estimation data in descending order of similarity of the comparison target images.
- the selection target of the accuracy estimation unit 30 is not limited to the top four estimation data in descending order of similarity of the comparison target images.
- the selection target of the accuracy estimation unit 30 may be the top two or the top four or more estimation data in descending order of similarity of the comparison target images.
- the standard used by the accuracy estimation unit 30 is not limited to this, and various standards can be adopted as the standard used by the accuracy estimation unit 30.
- the accuracy estimation unit 30 may select estimation data in which the similarity of the comparison target image is higher than a predetermined threshold.
- the criterion that the similarity is higher than a predetermined threshold corresponds to an example of a criterion for the similarity between the analysis target data and the comparison target data.
- Various known methods can be used as the method by which the accuracy estimation unit 30 determines the similarity of images. That is, the similarity of various known items can be used as the similarity used by the accuracy estimation unit 30 for selecting the estimation data.
- the accuracy estimation unit 30 may calculate the similarity of the color histogram of the image of the analysis target data and the comparison target data. Specifically, for each of the analysis target data and the comparison target data, the accuracy estimation unit 30 may histogram the colors in the images and calculate the distance calculated from the color histogram between the images as the similarity. Good.
- the accuracy estimation unit 30 may select the estimation data based on the similarity between the pixel values of the analysis target data and the comparison target data. For example, the accuracy estimation unit 30 may calculate a mean square error (Mean Squared Error) of the pixel value of the comparison target data when the pixel value of the analysis target data is used as a reference.
- the mean square error in this case represents how much the pixel values at the same position differ between the two images. The smaller the calculated value of the mean square error, the higher the similarity between the analysis target image and the comparison target image.
- the performance data holding unit 40 holds (stores) data indicating each performance of the analysis software 60.
- the performance data holding unit 40 holds speed data indicating each processing speed of the analysis software 60.
- FIG. 4 is a diagram illustrating an example of speed data held by the performance data holding unit 40.
- the speed data indicates the processing speed of each of the three analysis software 60 of the analysis software A to C included in the analysis execution unit 70.
- the processing speed indicated by the performance data holding unit 40 is common to each image data. That is, each analysis software 60 analyzes various images at the same processing speed.
- the speed data held by the performance data holding unit 40 is also data indicating the length of processing time by each of the analysis software 60.
- FPS Fres Per Second, the number of images processed per second
- the time required for the analysis software 60 to process one frame is indicated by the reciprocal of the processing speed.
- the time required for the analysis software A to process one frame is 0.1 second (1/10 second). “/” Represents division.
- the scheduler unit 50 schedules the functions of the data analysis device 1.
- the scheduler unit 50 is configured using an OS (Operating System) included in the data analysis apparatus 1 and schedules execution of software that implements the functions of the data analysis apparatus 1.
- OS Operating System
- the scheduler unit 50 based on the estimation result of the analysis accuracy of the analysis target data in each of the plurality of analysis software 60 and the information indicating the analysis time of the analysis target data in each of the plurality of analysis software 60, Analysis software 60 used for analysis of analysis target data is selected.
- the scheduler unit 50 assigns which analysis target image is to be processed by which analysis software 60.
- the speed data held by the performance data holding unit 40 indicates the processing speed of each analysis software 60 that is input to the scheduler unit 50.
- the scheduler unit 50 determines whether or not the combination of the analysis target data and the analysis software 60 is accepted in descending order of analysis accuracy and processing time, and selects at most one analysis software 60 for one analysis target data. . As described above, the scheduler unit 50 preferentially selects a process with high analysis accuracy and a short processing time, so that the analysis execution unit 70 can perform more accurate analysis.
- the scheduler unit 50 selects the analysis software 60 that is estimated to have higher analysis accuracy within a range that satisfies a predetermined condition related to the time required for image analysis. Thus, the scheduler unit 50 can satisfy the time constraint condition and cause the analysis execution unit 70 to perform analysis with higher accuracy.
- the scheduler unit 50 determines not to analyze the analysis target data. If the analysis accuracy does not satisfy the predetermined condition, there is a possibility that a valid analysis result cannot be obtained and the processing is wasted. On the other hand, the scheduler unit 50 decides not to analyze the analysis target data that cannot obtain the analysis accuracy equal to or higher than the predetermined condition, thereby suppressing the execution of useless processing by the analysis execution unit 70 and saving resources. It can be used effectively.
- FIG. 5 is a diagram showing an example of scheduling of the analysis software 60 by the scheduler unit 50.
- the data analysis apparatus 1 uses a plurality of analysis softwares 60 having different processing speeds and analysis accuracy in accordance with analysis target images for the purpose of maximizing analysis accuracy on limited calculation resources.
- the accuracy estimation unit 30 estimates the analysis accuracy obtained by each analysis software 60 for the analysis target image.
- the scheduler unit 50 determines which analysis target image is applied to which analysis software 60 from the analysis accuracy estimated by the accuracy estimation unit 30 and the processing speed of the analysis software 60.
- the scheduler unit 50 schedules an analysis target image whose analysis accuracy can be obtained even with the analysis software 60 with a high processing speed, to be processed with the analysis software 60 with a high processing speed.
- the scheduler unit 50 thereby maximizes analysis accuracy on limited resources.
- the analysis software C has the fastest processing speed
- the analysis software B has the fastest processing speed
- the analysis software A has the slowest processing speed.
- the analysis accuracy prediction value when the analysis software A is used is the highest
- the analysis accuracy prediction value when the analysis software B is used is the next highest
- the analysis accuracy prediction when the analysis software C is used The lowest value.
- the analysis target image P3 has the same analysis accuracy prediction value when any of the analysis software A, B, and C is used.
- the scheduler unit 50 assigns the analysis software A to the analysis of each of the analysis target images P1 and P2, and assigns the analysis software C to the analysis of the analysis target image P3.
- the analysis software A is used for analysis of any of the analysis target images P1, P2, and P3, it is expected that the processing time can be shortened while maintaining the same analysis accuracy.
- the analysis result output unit 80 outputs the analysis result by the analysis execution unit.
- the analysis result output unit may include a display device such as a liquid crystal display and display the analysis result.
- the analysis result output unit 80 may be configured as a communication unit that communicates with another device, and may transmit data indicating the analysis result to the other device.
- FIG. 6 is a diagram illustrating an example of a processing procedure of the data analysis apparatus 1 when the scheduler unit 50 assigns an analysis target image to the analysis software 60.
- the analysis target acquisition unit 10 waits for an analysis target image (step S101).
- the number of analysis target images acquired by the analysis target acquisition unit 10 at a time may be one or more.
- the accuracy estimation unit 30 estimates the analysis accuracy for each analysis target image and for each analysis software 60 (step S102).
- the estimation data holding unit 20 includes the comparison target data, analysis accuracy data indicating the accuracy when the analysis software 60 analyzes the comparison target image for each analysis software 60, and Are tied and held.
- the accuracy estimation unit 30 searches for an image similar to the analysis target image among the comparison target images of the comparison target data held by the estimation data holding unit 20. Then, the accuracy estimation unit 30 estimates the analysis accuracy of the analysis target image from the analysis accuracy of the similar image obtained by the search.
- the accuracy estimation unit 30 outputs information indicating the analysis accuracy estimation result to the scheduler unit 50.
- the scheduler unit 50 acquires the processing speed of each analysis software 60 from the performance data holding unit 40 (step S103). Specifically, the scheduler unit 50 reads out the processing speed data described with reference to FIG. 4 from the performance data holding unit 40.
- the scheduler unit 50 lists combinations of (image ID (Identifier), analysis software ID, analysis accuracy estimated value, processing speed) from the obtained analysis accuracy and processing speed information, and has high analysis accuracy and high processing speed. Sort in descending order (step S104).
- the image ID is identification information for identifying an image.
- the analysis target image is identified by the image ID in this combination.
- the analysis software ID is identification information for identifying the analysis software 60.
- the scheduler unit 50 calculates an evaluation value for each image to be analyzed and for each analysis software 60 using an evaluation function having an analysis accuracy estimated value and a processing speed as arguments. Sort in ascending order.
- an array of sorting results (enumeration of the above combinations) is denoted by S, and each element in the array S is denoted by S [i].
- S [i] indicates a combination of (image ID, analysis software ID, analysis accuracy estimated value, processing speed). i is an integer of i ⁇ 0, and the smaller the value of i, the higher the analysis accuracy estimation value and the faster the processing speed (the evaluation value is large).
- the scheduler unit 50 refers to the sorted arrays in order (in order of high analysis accuracy and high processing speed) and assigns analysis target images to the analysis software 60. Specifically, the scheduler unit 50 resets the values of the variables T and i to 0 (step S105).
- the variable T is used for accumulating the reciprocal of the processing speed.
- the reciprocal of the processing speed is an index value indicating the length of processing time.
- the variable i is used as a counter variable for processing the element S [i] of the array S in the order of high analysis accuracy and high processing speed.
- step S106 determines whether or not the processing target image has been assigned to any analysis software 60 for the element S [i].
- the scheduler unit 50 increments the value of the variable i by 1 (step S131). After step S131, the process returns to step S106.
- step S106 determines in step S106 that the processing target image has not been assigned to any analysis software 60 for the element S [i] (step S106: NO)
- the scheduler unit 50 It is determined whether or not the analysis accuracy estimated value included in S [i] is smaller than a preset threshold value (step S111).
- step S111 determines that the analysis accuracy estimated value is smaller than the threshold value (step S111: YES)
- the process proceeds to step S131. If the analysis accuracy estimated value is lower than a preset threshold value, the result of executing the analysis cannot be obtained. Therefore, the combination of the image indicated by the element S [i] and the analysis software 60 is to be assigned. (Scheduled) is excluded.
- step S111 determines that the analysis accuracy estimated value included in the element S [i] is greater than or equal to the threshold (step S111: NO)
- the scheduler unit 50 determines that the element S [i] The image ID is assigned to the analysis software ID in the combination shown (step S121). Based on this allocation, the scheduler unit 50 schedules the analysis software 60 indicated by the analysis software ID to analyze the analysis target image indicated by the image ID. Next, the scheduler unit 50 updates the value of the variable T by the calculation shown in Expression (1) (Step S122).
- the scheduler unit 50 adds “1 / the processing speed of the analysis software 60” to the value of the variable T by the calculation shown in Expression (1).
- processing speed of the video analysis program in Equation (1) is synonymous with “processing speed of the processing software” and “processing speed of the analysis software”.
- the “analysis software 60” here is the analysis software 60 assigned in step S121.
- “1 / the processing speed of the analysis software 60” is an index value indicating the length of time required for the image program to analyze the image.
- FPS is used as a unit of processing speed of the analysis software 60.
- “1 / processing speed of the analysis software 60” indicates the time required for the “analysis software 60” to analyze one image (one frame).
- the scheduler unit 50 determines whether or not the value of the variable T is smaller than the threshold value “N / FPS th ” (step S123).
- the threshold value “N / FPS th ” indicates an allowable value (upper limit value) of time for the analysis execution unit 70 to analyze the analysis target image.
- the threshold value “N / FPS th ” is obtained by dividing the number N of analysis target images acquired by the analysis target acquisition unit 10 in step S101 by a time FPS th set in advance as an allowable processing time per image. Is calculated by
- step S123: YES When the scheduler unit 50 determines that the value of the variable T is smaller than the threshold value “N / FPS th ” (step S123: YES), the process proceeds to step S131. In this case, the processing time by the analysis execution unit 70 has not yet reached the allowable upper limit value. Therefore, the scheduler unit 50 repeats the processing from step S106 and further assigns the analysis target image to the analysis software 60. On the other hand, when the scheduler unit 50 determines in step S123 that the value of the variable T is greater than or equal to the threshold “N / FPS th ” (step S123: NO), the scheduler unit 50 sends the allocation result to the analysis execution unit 70. Notification is made (step S141). In this case, the processing time by the analysis execution unit 70 has reached the allowable upper limit value. Therefore, the scheduler unit 50 ends the allocation of the analysis target image to the analysis software 60 and notifies the analysis execution unit 70 of the allocation result.
- the time FPS th is set so that the processing time upper limit value indicated by the threshold “N / FPS th ” has some margin (margin).
- the scheduler unit 50 may perform an operation in which the processing time of the analysis execution unit 70 does not exceed the allowable upper limit value by performing the process of step S121 when YES in step S123. After step S141, the process returns to step S101.
- the method by which the scheduler unit 50 determines the allocation of the analysis target image to the analysis software 60 is not limited to the method illustrated in FIG. In the process of FIG. 6, the scheduler unit 50 determines the assignment of the image to the analysis software 60 by a heuristic method. On the other hand, the assignment of the image to the analysis software 60 may be reduced to an optimization problem, and the scheduler unit 50 may obtain a stricter optimum solution.
- variables or constants are defined as follows.
- Analysis target image set (a set of analysis target images acquired by the analysis target acquisition unit 10 in step S101).
- Analysis software set (a set of analysis software 60 that can be executed by the analysis execution unit 70).
- a np Estimated accuracy of analysis that would be obtained when the analysis target image n (n ⁇ N) is processed by the analysis software p (p ⁇ P).
- F p processing speed of the analysis software p.
- x np a control variable for determining whether or not the analysis target image n is processed by the analysis software p.
- the optimization problem for the scheduler unit 50 to determine the allocation of the analysis target image to the analysis software 60 can be formulated as shown in Equation (2).
- Second equation constraint " ⁇ n ⁇ N ⁇ p ⁇ P F p x np ⁇ N / FPS th " left " ⁇ n ⁇ N ⁇ p ⁇ P F p x np" of the processing time of the analyzing unit 70 The estimated value of is shown. “N / FPS th ” on the right side indicates an allowable upper limit value of the processing time of the analysis execution unit 70.
- the second expression of the constraint condition indicates a condition that the processing time of the analysis execution unit 70 is equal to or less than the allowable upper limit value.
- Objective function " ⁇ p ⁇ P ⁇ n ⁇ N A np x np" indicates the total value of the analysis of the accuracy of analysis execution unit 70 performs.
- This objective function corresponds to an example of an evaluation function that calculates an evaluation value of the accuracy of analysis performed by the analysis execution unit 70.
- the scheduler unit 50 maximizes the value of the objective function in the optimization calculation. That is, the scheduler unit 50 performs scheduling so that the evaluation of accuracy of analysis performed by the analysis execution unit 70 is maximized.
- the analysis target acquisition unit 10 acquires analysis target data.
- the accuracy estimation unit 30 includes a plurality of comparison target data whose analysis accuracy is known in each of the plurality of analysis softwares 60 based on the analysis accuracy of the comparison target data that is similar to the analysis target data and exceeds the reference.
- the analysis accuracy of the analysis target data in each analysis software 60 is estimated.
- the scheduler unit 50 Analysis software 60 used for data analysis is selected.
- the analysis execution unit 70 analyzes the analysis target data using the analysis software 60 selected by the scheduler unit 50.
- the accuracy estimation unit 30 estimates the analysis accuracy of the analysis target data in each of the plurality of analysis software 60 based on the analysis accuracy of the comparison target data
- the setting operator of the data analysis device 1 It is not necessary to set a criterion for adjusting the processing contents in advance.
- the analysis accuracy data indicating the analysis accuracy of the comparison target data may be automatically generated by the accuracy estimation unit 30, for example, and needs to be generated in advance by a setting operator of the data analysis device 1. There is no.
- the scheduler unit 50 determines whether or not the combination of the analysis target data and the analysis software 60 is accepted in the order of high analysis accuracy and processing time, and selects at most one analysis module for one analysis target data. To do. As described above, the scheduler unit 50 preferentially selects a process with high analysis accuracy and a short processing time, so that the analysis execution unit 70 can perform more accurate analysis. In this regard, it is expected that the scheduler unit 50 can perform scheduling that satisfies the time constraint and increases the analysis accuracy.
- the scheduler unit 50 selects the analysis software 60 that is estimated to have higher analysis accuracy within a range that satisfies a predetermined condition related to the time required for image analysis. Thus, the scheduler unit 50 can satisfy the time constraint condition and cause the analysis execution unit 70 to perform analysis with higher accuracy.
- the scheduler unit 50 determines not to analyze the analysis target data. If the analysis accuracy does not satisfy the predetermined condition, there is a possibility that a valid analysis result cannot be obtained and the processing is wasted. On the other hand, the scheduler unit 50 decides not to analyze the analysis target data that cannot obtain the analysis accuracy equal to or higher than the predetermined condition, thereby suppressing the execution of useless processing by the analysis execution unit 70 and saving resources. It can be used effectively.
- the analysis target acquisition unit 10 acquires image data as analysis target data. Based on the analysis accuracy of the comparison target data in which the color histogram of the image is similar to the color histogram of the image of the analysis target data or more than a predetermined condition among the plurality of comparison target data, the accuracy estimation unit 30 Estimate the analysis accuracy of the data to be analyzed at. Thereby, the accuracy estimation unit 30 evaluates the similarity between the analysis target image and the comparison target image by a relatively simple process of calculating the color histogram of the analysis target image and comparing it with the color histogram of the comparison target image. be able to.
- the analysis target acquisition unit 10 acquires image data as analysis target data. Based on the analysis accuracy of the comparison target data in which the mean square error of the pixel value when the pixel value of the analysis target data is used as a reference, among the plurality of comparison target data, the accuracy estimation unit 30 The analysis accuracy of the data to be analyzed in each analysis module is estimated. As a result, the accuracy estimation unit 30 calculates the mean square error of the pixel values of the analysis target image and the comparison target image and performs the condition determination, and the degree of similarity between the analysis target image and the comparison target image. Can be evaluated.
- FIG. 7 is a schematic block diagram illustrating a functional configuration example of the data analysis apparatus according to the second embodiment.
- the data analysis apparatus 2 further includes a processing time allocation unit 90 in addition to the units shown in FIG.
- the data analysis device 2 (FIG. 7) is the same as the data analysis device 1 (FIG. 1).
- the processing time allocation unit 90 sets a time allocated for analysis of analysis target data (analysis of an analysis target image) based on the resource utilization rate in the analysis execution unit 70.
- the scheduler unit 50 selects the analysis software 60 used for analyzing the analysis target data according to the time set by the processing time allocation unit 90.
- the load on the analysis execution unit 70 is calculated, for example, as a ratio of the time that the analysis execution unit 70 actually uses the CPU out of the CPU (Central Processing Unit) that can be used by the analysis execution unit 70. obtain.
- the resource utilization rate used by the processing time allocation unit 90 is not limited to the load of the analysis execution unit 70, and may be any value that indicates the time for the analysis execution unit 70 to analyze the analysis target image.
- the processing time allocation unit 90 acquires information indicating the load of the analysis execution unit 70, calculates a target processing speed from the information, and notifies the scheduler unit 50 of the information.
- the scheduler unit 50 can calculate an allowable value for the processing time from the target value of the processing speed notified by the processing time allocation unit 90.
- the processing time allocation unit 90 sets FPS th , and the scheduler unit 50 calculates N / FPS th .
- FPS th is an allowable value of processing time per image (per frame) and corresponds to an example of processing time.
- N / FPS th indicates an allowable value (upper limit value) of time for the analysis execution unit 70 to analyze the analysis target image.
- the scheduler unit 50 responds to the time designation from the processing time allocation unit 90. Then, the selection of the analysis software 60 is adaptively changed. Thereby, the improvement of the whole process of the data analysis device 2 (for example, improvement of analysis accuracy) can be achieved.
- FIG. 8 is a diagram illustrating a first example of resource use in the analysis execution unit 70.
- FIG. 8 shows an example in which the software executed by the analysis execution unit 70 is only analysis software A to C, which is analysis software for human detection (detection of a human image included in an analysis target image).
- the analysis execution unit 70 can use all available resources for human detection. Therefore, the scheduler unit 50 schedules the analysis execution unit 70 to analyze the analysis target image using the analysis software 60 having relatively high accuracy.
- the analysis execution unit 70 analyzes the analysis target image using the analysis software 60 ⁇ / b> C having the best analysis accuracy according to the scheduling by the scheduler unit 50. Thereby, the analysis execution part 70 can utilize a resource to the maximum extent.
- FIG. 9 is a diagram illustrating a second example of resource use in the analysis execution unit 70.
- analysis software for age gender estimation processing for estimating the age and gender of a person detected from an analysis target image
- human detection analysis software as software executed by the analysis execution unit 70.
- An example of the case is shown.
- the analysis execution unit 70 performs age sex estimation processing using analysis software different from the analysis software 60.
- the analysis execution unit 70 executes both human detection and age gender estimation with available resources. Therefore, the resources that the analysis execution unit 70 can use for human detection are fewer than in the example of FIG. Therefore, the scheduler unit 50 schedules the analysis execution unit 70 to analyze the analysis target image using the analysis software 60 that has a lower processing accuracy than the case of FIG.
- the analysis execution unit 70 analyzes the analysis target image using the analysis software 60 ⁇ / b> A having a relatively low analysis accuracy but a high processing speed in accordance with the scheduling by the scheduler unit 50. Thereby, the analysis execution unit 70 can allocate resources to human detection analysis software and age gender estimation analysis software, and execute these analysis software together. In this respect, the resource utilization rate of the analysis execution unit 70 is improved. As described above, the data analysis apparatus 2 can select the analysis software 60 according to the load state of the analysis execution unit 70 and adjust the execution speed of the analysis software 60.
- FIG. 10 is a diagram illustrating an example of a procedure of processing performed by the processing time allocation unit 90.
- the processing time allocation unit 90 increases the processing speed.
- the scheduler unit 50 uses the analysis software 60 in which the analysis execution unit 70 is relatively light (the analysis accuracy is relatively low but the processing speed is relatively high). Will be scheduled.
- the resource utilization rate of the analysis execution unit 70 is reduced.
- the processing time allocation unit 90 decreases the processing speed.
- the scheduler unit 50 performs scheduling so that the analysis execution unit 70 uses the analysis software 60 with relatively high analysis accuracy. The accuracy of analysis can be increased.
- the processing time allocation unit 90 acquires information indicating the resource usage rate of the analysis execution unit 70 (step S201). Then, the processing time allocation unit 90 determines whether or not the amount of change (absolute value) of the resource usage rate from the previous time is equal to or greater than a threshold (step S202). When the processing time allocation unit 90 determines that the amount of change is smaller than the threshold (step S202: NO), the processing time allocation unit 90 ends the process of FIG.
- step S202 determines whether the amount of change is equal to or greater than the threshold (step S202: YES).
- the processing time allocation unit 90 determines whether the resource usage rate has increased compared to the previous time. It is determined whether or not (step S211).
- the processing time allocation unit 90 increases the value of FPS th (step S221).
- the processing time allocation unit 90 can increase the amount of resources that the analysis execution unit 70 allocates to other programs. For example, in the example described with reference to FIGS. 8 and 9, the analysis execution unit 70 decreases the amount of resources allocated to the human detection analysis program and increases the amount of resources allocated to the age gender estimation analysis program. Can do.
- the processing time allocation unit 90 notifies the scheduler unit 50 of the set parameter value (FPS th value) (step S223). After step S223, the processing time allocation unit 90 ends the process of FIG.
- step S211 determines that the resource usage rate is decreasing in step S211 (step S211: NO)
- the processing time allocation unit 90 decreases the value of FPS th (step S222).
- the threshold value N / FPS th used by the scheduler unit 50 in step S123 of FIG. 6 is increased. That is, the processing time allocated to the analysis software 60 increases. Therefore, the analysis execution unit 70 can increase the amount of resources allocated to the analysis software 60 to be scheduled, and the analysis software 60 with higher analysis accuracy can be used.
- the analysis execution unit 70 can increase the amount of resources allocated to the human detection analysis software 60. After step S222, the process proceeds to step S223.
- the processing time allocation unit 90 sets the time allocated to the analysis of the analysis target data based on the resource utilization rate in the analysis execution unit 70.
- the scheduler unit 50 selects the analysis software 60 used for analyzing the analysis target data according to the time set by the processing time allocation unit 90. Thereby, the data analysis apparatus 2 can aim at the improvement of the whole process corresponding to the increase and decrease of the process to perform.
- FIG. 11 is a diagram illustrating an example of the configuration of the data analysis apparatus according to the embodiment.
- a data analysis apparatus 110 illustrated in FIG. 11 includes an analysis target acquisition unit 111, an accuracy estimation unit 112, a selection unit 113, and an analysis execution unit 114.
- the analysis target acquisition unit 111 acquires analysis target data.
- the accuracy estimation unit 112 includes a plurality of comparison target data whose analysis accuracy is known in each of the plurality of analysis modules based on the analysis accuracy of the comparison target data that is similar to the analysis target data and exceeds the reference. The analysis accuracy of the data to be analyzed in each analysis module is estimated.
- the selection unit 113 selects the analysis target data based on the estimation result of the analysis accuracy of the analysis target data in each of the plurality of analysis modules and information indicating the analysis time of the analysis target data in each of the plurality of analysis modules. Select the analysis module to be used for analysis.
- the analysis execution unit 114 uses the analysis module selected by the selection unit 113 to analyze the analysis target data. As described above, the accuracy estimation unit 112 estimates the analysis accuracy of the analysis target data in each of the plurality of analysis modules based on the analysis accuracy of the comparison target data. There is no need to set a criterion for content adjustment in advance.
- FIG. 12 is a diagram illustrating an example of the configuration of the data accuracy estimation apparatus according to the embodiment.
- the accuracy estimation apparatus 120 illustrated in FIG. 12 includes an analysis target acquisition unit 121 and an accuracy estimation unit 122.
- the analysis target acquisition unit 121 acquires analysis target data.
- the accuracy estimation unit 122 Based on the analysis accuracy of comparison target data that is similar to the analysis target data and exceeds the reference among the plurality of comparison target data whose analysis accuracy in each of the plurality of analysis modules is known, the accuracy estimation unit 122 The analysis accuracy of the data to be analyzed in each analysis module is estimated.
- the accuracy estimation unit 122 estimates the analysis accuracy of the analysis target data in each of the plurality of analysis modules based on the analysis accuracy of the comparison target data, the setting operator of the accuracy estimation device 120 performs processing. There is no need to set a criterion for content adjustment in advance.
- FIG. 13 is a schematic block diagram illustrating a configuration example of a computer according to at least one embodiment.
- the computer 500 includes a CPU 510, a storage device 520, and an interface 530.
- the operations of the above-described processing units are stored in the storage device 520 in the form of a program. It is remembered.
- the CPU 510 reads out the program from the storage device 520 and executes it to execute the processing of each processing unit.
- the CPU 510 secures a storage area corresponding to each of the storage units (the estimation data holding unit 20 and the performance data holding unit 40) in the storage device 520 according to the program.
- the functions of the analysis target acquisition unit 10 and the analysis result output unit 80 are executed by the CPU 50 controlling the interface 530 according to a program.
- the processing time allocation unit 90 corresponds to a processing unit.
- the accuracy estimation unit 112, the selection unit 113, and the analysis execution unit 114 correspond to a processing unit.
- the operations of these processing units are stored in the storage device 520 in the form of a program.
- the CPU 510 reads out the program from the storage device 520 and executes it to execute the processing of each processing unit. Further, the CPU 510 secures a storage area corresponding to the storage unit used by each processing unit in the storage device 520 according to the program.
- the function of the analysis target acquisition unit 111 is executed by the CPU 50 controlling the interface 530 according to a program.
- the accuracy estimation unit 122 corresponds to a processing unit.
- the operation of the processing unit is stored in the storage device 520 in the form of a program.
- the CPU 510 reads out the program from the storage device 520 and executes it to execute the processing of each processing unit. Further, the CPU 510 secures a storage area corresponding to the storage unit used by the processing unit in the storage device 520 according to the program.
- the function of the analysis target acquisition unit 121 is executed by the CPU 50 controlling the interface 530 according to a program.
- a program for realizing all or part of the functions of the data analysis devices 1, 2, 110 and the accuracy estimation device 120 is recorded on a computer-readable recording medium, and the program recorded on the recording medium is stored in the computer.
- the processing of each unit may be performed by reading it into the system and executing it.
- the “computer system” includes an OS and hardware such as peripheral devices.
- the “computer-readable recording medium” refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM (Read Only Memory), a CD-ROM (Compact Disc Read Only memory), or a hard disk built in a computer system. This means a storage device such as
- the program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in a computer system.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Image Analysis (AREA)
Abstract
データ解析装置が、解析対象データを取得する解析対象取得部と、複数の解析モジュールの各々での解析精度が既知である複数の比較対象データのうち、前記解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、前記複数の解析モジュールの各々での前記解析対象データの解析精度を推定する精度推定部と、前記複数の解析モジュールの各々での前記解析対象データの解析精度の推定結果と、前記複数の解析モジュールの各々での前記解析対象データの解析時間を示す情報とに基づいて、前記解析対象データの解析に用いる解析モジュールを選択する選択部と、前記選択部が選択した解析モジュールを用いて前記解析対象データの解析を行う解析実行部と、を備える。これにより、データ解析装置がデータ解析の処理方法を設定する場合に、データ解析装置の設定作業者が処理方法設定のための判定基準を予め設定しておく必要を無くす。
Description
本発明は、データ解析装置、精度推定装置、データ解析方法および記憶媒体に関する。
データ解析装置がデータ解析を行う際、例えば処理時間の調整等の目的で、データ解析の処理方法を設定する場合がある(例えば、特許文献1を参照)。特許文献1に記載の技術では、入力データの内容と、フレームレート低減または画像フィルタ無効化など解析エンジンの負荷を変動させる負荷変動処理とが関連付けられた複数の判定基準を予め設定しておく。そして、解析対象の入力データの内容の判定結果に応じて特定した負荷変動処理を行うことで、データ解析の処理方法を設定することが記載されている。
データ解析装置がデータ解析の処理方法を設定する場合に、データ解析装置の設定作業者が処理方の設定のための判定基準を予め設定しておく必要が無ければ、設定作業者の負担を、より低減させることができる。
本発明は、上述の課題を解決することのできるデータ解析装置等を提供することを目的としている。
本発明の第1の態様によれば、データ解析装置は、解析対象データを取得する解析対象取得部と、複数の解析モジュールの各々での解析精度が既知である複数の比較対象データのうち、前記解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、前記複数の解析モジュールの各々での前記解析対象データの解析精度を推定する精度推定部と、前記複数の解析モジュールの各々での前記解析対象データの解析精度の推定結果と、前記複数の解析モジュールの各々での前記解析対象データの解析時間を示す情報とに基づいて、前記解析対象データの解析に用いる解析モジュールを、前記複数の解析モジュールの中から選択する選択部と、前記選択部が選択した解析モジュールを用いて前記解析対象データの解析を行う解析実行部と、を備える。
本発明の第2の態様によれば、精度推定装置は、解析対象データを取得する解析対象取得部と、複数の解析モジュールの各々での解析精度が既知である複数の比較対象データのうち、前記解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、前記複数の解析モジュールの各々での前記解析対象データの解析精度を推定する精度推定部と、を備える。
本発明の第3の態様によれば、データ解析方法は、解析対象データを取得し、複数の解析モジュールの各々での解析精度が既知である複数の比較対象データのうち、前記解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、前記複数の解析モジュールの各々での前記解析対象データの解析精度を推定し、前記複数の解析モジュールの各々での前記解析対象データの解析精度の推定結果と、前記複数の解析モジュールの各々での前記解析対象データの解析時間を示す情報とに基づいて、前記解析対象データの解析に用いる解析モジュールを、前記複数の解析モジュールの中から選択し、選択された解析モジュールを用いて前記解析対象データの解析を行うことを含む。
本発明の第4の態様によれば、プログラムは、コンピュータに、解析対象データを取得する処理と、複数の解析モジュールの各々での解析精度が既知である複数の比較対象データのうち、前記解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、前記複数の解析モジュールの各々での前記解析対象データの解析精度を推定する処理と、前記複数の解析モジュールの各々での前記解析対象データの解析精度の推定結果と、前記複数の解析モジュールの各々での前記解析対象データの解析時間を示す情報とに基づいて、前記解析対象データの解析に用いる解析モジュールを、前記複数の解析モジュールの中から選択する処理と、選択された解析モジュールを用いて前記解析対象データの解析を行う処理と、を実行させるためのプログラムである。
この発明によれば、データ解析装置がデータ解析の処理方法を設定する場合に、データ解析装置の設定作業者が処理方法設定のための判定基準を予め設定しておく必要がない。
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
<第1実施形態>
図1は、第1実施形態に係るデータ解析装置の機能構成例を示す概略ブロック図である。図1に示す構成で、データ解析装置1は、解析対象取得部10と、推定用データ保持部20と、精度推定部30と、性能データ保持部40と、スケジューラ部50と、解析実行部70と、解析結果出力部80とを備える。解析実行部70は、M個(Mは正整数)の解析ソフト(解析ソフトウェア)60-1~60-Mを備える。解析ソフト60-1~60-Mを総称して解析ソフト60と表記する。なお、解析ソフトを処理ソフトと呼ぶ場合もある。
図1は、第1実施形態に係るデータ解析装置の機能構成例を示す概略ブロック図である。図1に示す構成で、データ解析装置1は、解析対象取得部10と、推定用データ保持部20と、精度推定部30と、性能データ保持部40と、スケジューラ部50と、解析実行部70と、解析結果出力部80とを備える。解析実行部70は、M個(Mは正整数)の解析ソフト(解析ソフトウェア)60-1~60-Mを備える。解析ソフト60-1~60-Mを総称して解析ソフト60と表記する。なお、解析ソフトを処理ソフトと呼ぶ場合もある。
データ解析装置1は、データの解析を行う。以下では、データ解析装置1が画像データの入力を受けて画像の解析を行う場合を例に説明する。具体的には、データ解析装置1は、動画像データの入力を受けて、動画像のフレーム毎に人物の画像を検出する処理を行う。データ解析装置1が、動画像の全フレームの画像解析を行うようにしてもよいし、一定間隔のフレーム毎に画像解析を行うなど、一部のフレームの解析を行うようにしてもよい。あるいは、データ解析装置1が、一定時間毎に撮影された静止画像データを取得し、静止画像から人物の画像を検出するようにしてもよい。
データ解析装置1が、例えば、小売店舗、スタジアムまたはショッピングモールといった施設における防犯、マーケティングまたはオペレーション改善等に用いられていてもよい。例えば、データ解析装置1が、小売店舗に設置されて、店内に設置されたカメラが撮影する動画像から来客者の画像を検出し、さらに、来客者の年齢、性別および店内での動線を推定するようにしてもよい。
データ解析装置1の処理対象となる個々のデータを処理対象データと称する。また、処理対象データが示す画像を処理対象画像と称する。また、画像データが示す画像を画像データの画像とも称する。データ解析装置1が動画像データの入力を受けてフレーム毎に解析を行う場合、各フレームのデータが処理対象データの例に該当し、各フレームの画像が処理対象画像の例に該当する。
但し、データ解析装置1が処理対象とするデータは、画像データに限定されない。様々な種類のデータをデータ解析装置1の処理対象とすることができる。また、データ解析装置1が行う解析は、人物の画像の検出に限定されない。さらには、データ解析装置1が行う解析は、画像解析に限定されない。データ解析装置1が行う解析は、解析方法を選択可能である。データ解析装置1が行う解析を、解析精度と解析時間との間にトレードオフの関係がある解析とすることができる。ここでのトレードオフは、解析精度を高めようとすると解析時間が長くなり、解析時間を短くしようとすると解析精度が低下することである。
データ解析装置1は、例えばパソコン(Personal Computer;PC)またはワークステーション(Workstation)等のコンピュータを用いて構成される。データ解析装置1は、1つの装置として構成されていてもよいし、複数の装置として構成されていてもよい。例えば、データ解析装置1が、推定用データ保持部20として機能するデータベースマシンと、推定用データ保持部20以外の機能を実行するデータ解析装置本体との組み合わせにて構成されていてもよい。あるいは、データ解析装置1の各部のうち、解析対象取得部10推定用データ保持部20および精度推定部30、あるいは、解析対象取得部10および精度推定部30が、精度推定装置として構成されていてもよい。
解析対象取得部10は、解析対象データを取得する。以下では、解析対象取得部10が、解析対象データとして画像データを取得する場合を例に説明する。例えば、解析対象取得部10は、他の装置と通信を行う通信部として構成され、カメラが撮影を行って出力(送信)する動画像データを受信する。
解析ソフト60の各々は解析モジュールの例に該当する。解析ソフト60の実行によって、解析対象データの解析が行われる。特に、解析ソフト60の各々の実行によって、例えば上述した人物の画像の検出などの画像解析が行われる。ここでいうモジュールは、所定の動作を実行する専用のハードウェア、あるいは、ソフトウェアおよびそのソフトウェアを実行するハードウェアからなるユニットなどによって構成される一つの実体である。解析ソフト60は、解析実行部70の一部として構成されていてもよいし、解析実行部70とは別の構成となっていてもよい。解析実行部70が解析ソフト60の各々を実行可能な形態であればよい。
解析実行部70は、処理速度および解析精度の異なる複数の解析ソフト60を備えている。解析実行部70は、スケジューラ部50が解析対象データ毎に選択した(スケジューリングでの割当を行った)解析ソフト60を用いて解析対象画像の解析を行う。解析実行部70が備える解析ソフト60の数は、2つ以上であればよい。以下では、解析実行部70が、解析ソフトA~Cの3つの解析ソフト60を備える場合を例に説明する。
但し、解析実行部70が備える解析モジュールは、解析モジュールそれぞれがソフトウェアとして構成されるものに限定されない。例えば、解析実行部70が、ボード化された解析モジュールまたはチップ化された解析モジュールなど、ハードウェア化された解析モジュールを備えるようにしてもよい。あるいは、解析実行部70が、パラメータ設定によって処理速度および解析精度を変更可能な画像解析ソフトを備えていてもよい。この場合、パラメータ設定パターン毎の画像解析ソフトが、解析モジュールの例に該当する。解析対象取得部10が動画像を取得する場合、解析実行部70が行う画像解析は、映像分析とも称される。
推定用データ保持部20は、精度推定部30が解析精度の推定に用いる推定用データを保持(記憶)する。図2は、推定用データ保持部20が保持する推定用データの例を示す図である。図2の例のように、推定用データは、画像データと、その画像データの解析精度データとが紐付けられて構成されている。
推定用データに含まれる画像データは、解析対象データとの画像の類似度の判定に用いられる。具体的には、精度推定部30が、推定用データに含まれる画像データの画像と解析対象画像とを比較して、類似度を算出する。推定用データに含まれる画像データを比較対象データ(比較対象データセット、比較対象データレコード)と称し、比較対象データが示す画像を比較対象画像と称する。推定用データ保持部20は、複数の比較対象データそれぞれの推定用データを、データ解析装置1が解析対象データの解析を行う前に、予め保持している。
解析精度データは、紐付けられている画像データの画像を解析ソフト60で解析した場合の解析精度を、解析ソフト60毎に示す。図2の例では、解析精度データは、解析実行部70が備える解析ソフトA~Cの3つの解析ソフト60それぞれによる比較対象画像の解析精度を示している。複数の解析ソフト60の各々について、その解析ソフト60で比較対象画像を解析したときの解析精度は既知である。例えば、精度推定部30が、比較対象データ毎かつ解析ソフト60毎に解析ソフト60を用いて比較対象画像の解析を行い、解析結果の精度(解析精度)を算出して比較対象画像に紐付けることで、推定用データを自動生成するようにしてもよい。
精度推定部30は、解析ソフト60の各々での解析対象データの解析精度を推定する。精度推定部30は、類似する画像を同一の解析ソフト60に適用した場合に同程度の解析精度が得られることに基づいて、解析精度の推定を行う。具体的には、精度推定部30は、解析対象画像に類似する比較対象画像を、推定用データ保持部20から検索する。そして、精度推定部30は、検索で得られた類似画像(解析対象画像に類似する比較対象画像)の解析精度から解析対象画像の解析精度を推定する。
さらに具体的には、精度推定部30は、解析対象画像と比較対象画像の各々とを比較して、比較対象画像毎に解析対象画像との類似度を算出する。そして、精度推定部30は、解析対象画像に対して基準を超えて類似する比較対象画像に紐付けられている解析精度データを、推定用データ保持部20から読み出す。ここでいう基準は、解析対象データと比較対象データとの類似についての基準(類似画像の選択基準)である。この基準は、例えば類似度の閾値を示す定数として予め設定される。ここでいう基準を超えて類似するとは、2つの画像(解析対象画像と比較対象画像と)の類似度合いが基準を満たしていることである。精度推定部30は、得られた解析対象データが示す比較対象画像毎かつ解析ソフト60毎の解析精度に基づいて、解析対象データの解析精度を解析ソフト60毎に算出する。
図3は、精度推定部30が行う精度推定(解析精度推定値の算出)の例を示す図である。図3の例で、精度推定部30は、比較対象画像毎に解析対象画像との類似度を算出し、類似度の高い順に推定用データをソートしている。すなわち、図3の一番左の列には、複数の比較対象画像が、類似度が高い順に並べられている。そして、図3では、比較対象画像ごとに、解析ソフトA~Cによる比較対象画像の解析精度推定値が示されている。具体的には、次の手順で処理が行われる。まず、精度推定部30は、解析対象画像と比較対象画像を比較し、類似度が高い順に比較対象画像をソートする。図3に示されるように、解析ソフトA~Cによる比較対象画像の解析精度推定値は、解析ソフト毎に異なっている。次に、精度推定部30は、比較対象画像の類似度が高い順に上位4つの推定用データを選択する。そして、精度推定部30は、選択した推定用データが示す解析ソフトAによる比較対象画像の解析精度推定値の平均値を、解析対象画像の解析精度の推定値として算出している。この場合、類似度の高い順に4つという基準が、解析対象データと比較対象データとの類似についての基準の例に該当する。図4の例では、精度推定部30は、画像が解析対象画像に類似する順に選択した4つの推定用データを用いて、解析ソフト60Aによる解析対象画像の解析精度を90%と推定している。なお、ここでは、上述の通り、精度推定部30は、比較対象画像の類似度が高い順に上位4つの推定用データを選択した。しかしながら、精度推定部30の選択対象は、比較対象画像の類似度が高い順に上位4つの推定用データに限られない。精度推定部30の選択対象は、比較対象画像の類似度が高い順に上位2つまたは上位4つ以上の推定用データであってもよい。
但し、精度推定部30が用いる基準はこれに限定されず、精度推定部30が用いる基準としていろいろな基準を採用することができる。例えば、精度推定部30が、比較対象画像の類似度が所定の閾値以上に高い推定用データを選択するようにしてもよい。この場合、類似度が所定の閾値以上に高いという基準が、前記解析対象データと比較対象データとの類似についての基準の例に該当する。精度推定部30が画像の類似度を判定する方法についても、公知のいろいろな方法を用いることができる。すなわち、精度推定部30が推定用データの選択に用いる類似度についても、公知のいろいろな項目の類似度を用いることができる。
例えば、精度推定部30が、解析対象データと比較対象データとの画像の色ヒストグラムの類似度を算出するようにしてもよい。具体的には、精度推定部30が、解析対象データおよび比較対象データのそれぞれについて、画像中の色をヒストグラム化し、画像間の色ヒストグラムから算出される距離を類似度として算出するようにしてもよい。
あるいは、精度推定部30が、解析対象データと比較対象データとの画素値の類似度に基づいて、推定用データを選択するようにしてもよい。例えば、精度推定部30が、解析対象データの画素値を基準とした場合の、比較対象データの画素値の平均二乗誤差(Mean Squared Error)を算出するようにしてもよい。この場合の平均二乗誤差は、2つの画像間で同じ位置のピクセル値がどの程度違うかを表す。平均二乗誤差の算出値が小さいほど、解析対象画像と比較対象画像との類似度が高い。
性能データ保持部40は、解析ソフト60の各々の性能を示すデータを保持(記憶)する。特に、性能データ保持部40は、解析ソフト60の各々の処理速度を示す速度データを保持する。図4は、性能データ保持部40が保持する速度データの例を示す図である。図4では、速度データは、解析実行部70が備える解析ソフトA~Cの3つの解析ソフト60それぞれの処理速度を示している。性能データ保持部40が示す処理速度は、各画像データに共通である。すなわち、個々の解析ソフト60は、いろいろな画像を同じ処理速度で解析する。
性能データ保持部40が保持する速度データは、解析ソフト60の各々による処理時間の長さを示すデータでもある。例えば、図4では、解析ソフト60の処理速度の単位としてFPS(Frames Per Second、1秒当たりに処理する画像数)が用いられている。この場合、解析ソフト60が1フレームを処理するのに要する時間は、処理速度の逆数で示される。例えば、解析ソフトAが1フレームを処理するのに要する時間は、0.1秒(1/10秒)である。「/」は除算を表す。
スケジューラ部50は、データ解析装置1の機能のスケジューリングを行う。例えば、スケジューラ部50は、データ解析装置1が備えるOS(Operating System)を用いて構成され、データ解析装置1の機能を実現するソフトウェアの実行をスケジューリングする。特に、スケジューラ部50は、複数の解析ソフト60の各々での解析対象データの解析精度の推定結果と、複数の解析ソフト60の各々での解析対象データの解析時間を示す情報とに基づいて、解析対象データの解析に用いる解析ソフト60を選択する。動画像の複数のフレームの各々が解析対象である場合など解析対象画像が複数ある場合、スケジューラ部50は、どの解析対象画像をどの解析ソフト60で処理するかの割当を行う。性能データ保持部40が保持する速度データは、スケジューラ部50への入力となる各解析ソフト60の処理速度を示している。
スケジューラ部50は、解析対象データと解析ソフト60との組み合わせについて、解析精度が高く処理時間が短い順に採否を決定していき、1つの解析対象データに対して高々1つの解析ソフト60を選択する。このように、スケジューラ部50が、解析精度が高く処理時間が短い処理を優先的に選択することで、精度の高い解析をより多く解析実行部70に行わせることができる。
また、スケジューラ部50は、画像解析に要する時間に関する所定条件を満たす範囲内で、解析精度がより高いと推定される解析ソフト60を選択する。これにより、スケジューラ部50は、時間の制約条件を満たし、かつ、より精度の高い解析を解析実行部70に行わせることができる。
また、スケジューラ部50は、解析対象データについて何れの解析ソフト60でも所定条件以上の解析精度を得られないと推定される場合、その解析対象データの解析を行わないことに決定する。解析精度が所定条件に満たない場合、有効な解析結果を得られず処理が無駄になる可能性がある。これに対し、スケジューラ部50が、所定条件以上の解析精度を得られない解析対象データの解析を行わないことに決定することで、解析実行部70による無駄な処理の実行を抑制し、リソースを有効活用することができる。
図5は、スケジューラ部50による解析ソフト60のスケジューリングの例を示す図である。データ解析装置1は、限られた計算資源上で解析精度を最大化することを目的として、処理速度および解析精度の異なる複数の解析ソフト60を解析対象画像に応じて使い分ける。解析ソフト60の使い分けのために、精度推定部30が、解析対象画像に対して各解析ソフト60で得られる解析精度を推定する。そして、スケジューラ部50は、精度推定部30が推定した解析精度と、解析ソフト60の処理速度とから、どの解析対象画像をどの解析ソフト60に適用するかを決定する。スケジューラ部50は、処理速度の速い解析ソフト60でも解析精度が得られる解析対象画像については、処理速度の速い解析ソフト60で処理するようにスケジューリングする。スケジューラ部50は、これにより、限られた資源上で解析精度の最大化を図る。
図5の例では、解析ソフトA、B、Cのうち、解析ソフトCの処理速度が最も速く、次に解析ソフトBの処理速度が速く、解析ソフトAの処理速度が最も遅い。これらの解析ソフトの処理速度と解析精度との間にはトレードオフがあり、また、解析対象画像によって解析精度が異なる。解析対象画像P1およびP2については、解析ソフトAを用いる場合の解析精度予測値が最も高く、解析ソフトBを用いる場合の解析精度予測値が次に高く、解析ソフトCを用いる場合の解析精度予測値が最も低い。一方、解析対象画像P3については、解析ソフトA、B、Cの何れを用いる場合も同様の解析精度予測値となっている。そこで、スケジューラ部50は、解析対象画像P1、P2それぞれの解析には解析ソフトAを割り当て、解析対象画像P3の解析には解析ソフトCを割り当てている。これにより、例えば解析対象画像P1、P2、P3いずれの解析にも解析ソフトAを用いる場合と比較すると、同様の解析精度を維持したまま、処理時間を短縮できると期待される。
解析結果出力部80は、解析実行部による解析結果を出力する。解析結果出力部80が解析結果を出力する方法としていろいろな方法を用いることができる。例えば、解析結果出力部が液晶ディスプレイ等の表示装置を備え、解析結果を表示するようにしてもよい。あるいは、解析結果出力部80は、他の装置と通信を行う通信部として構成され、解析結果を示すデータを他の装置へ送信するようにしてもよい。
次に、図6を参照してデータ解析装置1の動作について説明する。図6は、スケジューラ部50が解析対象画像を解析ソフト60に割り当てる際の、データ解析装置1の処理手順の例を示す図である。図6の処理で、解析対象取得部10は、解析対象画像を待ち受ける(ステップS101)。解析対象取得部10が一度に取得する解析対象画像の数は1つ以上であればよい。
解析対象取得部10が、N個(Nは正整数)の解析対象画像を取得すると、精度推定部30が、解析対象画像毎かつ解析ソフト60毎に解析精度を推定する(ステップS102)。図3を参照して説明したように、推定用データ保持部20は、比較対象データと、解析ソフト60毎にその比較対象画像をその解析ソフト60で解析した場合の精度を示す解析精度データとを、紐付けて保持している。精度推定部30は、推定用データ保持部20が保持する比較対象データの比較対象画像のうち、解析対象画像に類似する画像を検索する。そして、精度推定部30は、検索で得られた類似画像の解析精度から解析対象画像の解析精度を推定する。精度推定部30は、解析精度の推定結果を示す情報を、スケジューラ部50へ出力する。
また、スケジューラ部50は、各解析ソフト60の処理速度を性能データ保持部40から取得する(ステップS103)。具体的には、スケジューラ部50は、図4を参照して説明した処理速度データを性能データ保持部40から読み出す。
スケジューラ部50は、得られた解析精度および処理速度の情報から、(画像ID(Identifier)、解析ソフトID、解析精度推定値、処理速度)の組合せを列挙し、解析精度が高く処理速度が速い順に降順にソートする(ステップS104)。画像IDは、画像を識別する識別情報である。この組み合わせにおける画像IDによって、解析対象画像が識別される。解析ソフトIDは、解析ソフト60を識別する識別情報である。
例えば、スケジューラ部50は、解析精度推定値および処理速度を引数とする評価関数を用いて、解析対象画像毎かつ解析ソフト60毎に評価値を算出し、評価値が大きい順(すなわち、評価が高い順)にソートする。以下、ソート結果の配列(上記の組み合わせの列挙)をSで示し、配列Sにおける各要素をS[i]で示す。S[i]は、(画像ID、解析ソフトID、解析精度推定値、処理速度)の組合せを示す。iはi≧0の整数であり、iの値が小さいほど解析精度推定値が高く処理速度が速い(評価値が大きい)。
ステップS105~S131では、スケジューラ部50は、ソートされた配列の上から順(解析精度が高く処理速度が速い順)に参照して、解析対象画像を解析ソフト60に割り当てていく。具体的には、スケジューラ部50は、変数T、iの値をそれぞれ0にリセットする(ステップS105)。変数Tは、処理速度の逆数の累計に用いられる。処理速度の逆数は、処理時間の長さを示す指標値となる。変数iは、配列Sの要素S[i]を、解析精度が高く処理速度が速い順に処理するためのカウンタ変数として用いられる。
次に、スケジューラ部50は、要素S[i]について、処理対象画像をいずれかの解析ソフト60に割当済みか否かを判定する(ステップS106)。割当済みであるとスケジューラ部50により判定された場合、スケジューラ部50は、変数iの値を1だけカウントアップする(ステップS131)。ステップS131の後、処理がステップS106へ戻る。
一方、ステップS106で、要素S[i]について、まだ処理対象画像をいずれの解析ソフト60にも割り当てていないとスケジューラ部50により判定された場合(ステップS106:NO)、スケジューラ部50は、要素S[i]に含まれる解析精度推定値が、予め設定された閾値よりも小さいか否かを判定する(ステップS111)。解析精度推定値が閾値よりも小さいとスケジューラ部50により判定された場合(ステップS111:YES)、処理がステップS131へ進む。解析精度推定値が事前に設定された閾値よりも低い場合、解析を実行しても良い結果を得られないため、この要素S[i]が示す画像と解析ソフト60との組み合わせを割当の対象(スケジューリングの対象)から除外している。
一方、ステップS111で、要素S[i]に含まれる解析精度推定値が閾値以上であるとスケジューラ部50により判定された場合(ステップS111:NO)、スケジューラ部50は、要素S[i]が示す組み合わせで、画像IDを解析ソフトIDに割り当てる(ステップS121)。スケジューラ部50は、この割当により、解析ソフトIDが示す解析ソフト60が、画像IDが示す解析対象画像を解析するようにスケジューリングする。次に、スケジューラ部50は、式(1)に示す演算にて変数Tの値を更新する(ステップS122)。
スケジューラ部50は、式(1)に示す演算で、変数Tの値に、「1/当該解析ソフト60の処理速度」を加算する。なお、式(1)の「当該映像分析プログラムの処理速度」は、「当該処理ソフトの処理速度」および「当該解析ソフトの処理速度」を同義である。ここでいう「当該解析ソフト60」は、ステップS121で割り当てた解析ソフト60である。「1/当該解析ソフト60の処理速度」は、画像プログラムが画像を解析するに要する時間の長さを示す指標値となる。例えば、図6に示す処理では、解析ソフト60の処理速度の単位としてFPSを用いている。図4を参照して説明したように、「1/当該解析ソフト60の処理速度」は、「当該解析ソフト60」が1つの画像(1フレーム)を解析するのに要する時間を示す。
次に、スケジューラ部50は、変数Tの値が閾値「N/FPSth」より小さいか否かを判定する(ステップS123)。閾値「N/FPSth」は、解析実行部70が解析対象画像を解析する時間の許容値(上限値)を示す。閾値「N/FPSth」は、ステップS101で解析対象取得部10が取得した解析対象画像の数Nを、画像1つあたりの処理時間の許容値として予め設定された時間FPSthで除算することで算出される。
変数Tの値が閾値「N/FPSth」より小さいとスケジューラ部50により判定された場合(ステップS123:YES)、処理がステップS131へ進む。この場合、解析実行部70による処理時間は、未だ許容上限値に達していない。そこで、スケジューラ部50は、ステップS106からの処理を繰り返して、さらに解析対象画像を解析ソフト60に割り当てる。一方、ステップS123で、変数Tの値が閾値「N/FPSth」以上であるとスケジューラ部50により判定された場合(ステップS123:NO)、スケジューラ部50は、割当結果を解析実行部70に通知する(ステップS141)。この場合、解析実行部70による処理時間が許容上限値に達している。そこで、スケジューラ部50は、解析対象画像の解析ソフト60への割当を終了し、割当結果を解析実行部70に通知する。
この運用の場合、閾値「N/FPSth」が示す処理時間上限値が幾らかの余裕量(マージン)を有するように、時間FPSthを設定しておく。あるいは、スケジューラ部50が、ステップS123:YESの場合にステップS121の処理を行うことで、解析実行部70の処理時間が、許容上限値を超えない運用としてもよい。ステップS141の後、処理がステップS101へ戻る。
スケジューラ部50が、解析対象画像の解析ソフト60への割当を決定する方法は、図6に示す方法に限定されない。図6の処理では、スケジューラ部50は、いわばヒューリスティックな方法で、画像の解析ソフト60への割当を決定している。これに対し、画像の解析ソフト60への割当を最適化問題に帰着させ、スケジューラ部50が、より厳密な最適解を求めるようにしてもよい。
例えば、最適化問題の定式化にあたり、変数または定数を以下のように定義する。
N:解析対象画像集合(ステップS101で解析対象取得部10が取得した解析対象画像の集合)。
P:解析ソフト集合(解析実行部70が実行可能な解析ソフト60の集合)。
Anp:解析対象画像n(n∈N)を解析ソフトp(p∈P)で処理した場合に得られるであろう解析精度の推定値。
Fp:解析ソフトpの処理速度。
xnp:解析対象画像nを解析ソフトpで処理するか否かを決定するための制御変数。xnp=1は、解析対象画像nを解析ソフトpで処理することを示す。xnp=0は、解析対象画像nを解析ソフトpで処理しないことを示す。スケジューラ部50は、解析対象画像n(n∈N)毎に、解析ソフト集合に含まれる解析ソフトpのうち、高々1つ(すなわち、1つまたは0個)の解析ソフトpについて、xnp=1とし、それ以外の解析ソフトpについて、xnp=0とする。スケジューラ部50が、解析対象画像の解析ソフト60への割当を決定するための最適化問題は、式(2)のように定式化可能である。
制約条件の第3式「xnp∈{0,1}, (n∈N,p∈P)」は、上述した、解析対象画像nを解析ソフトpで処理する場合はxnp=1とし、解析対象画像nを解析ソフトpで処理しない場合はxnp=0とすることを示す。制約条件の第1式「Σp∈Pxnp≦1, (n∈N)」は、上述した、解析対象画像n(n∈N)毎に、解析ソフト集合に含まれる解析ソフトpのうち、高々1つの解析ソフトpについてxnp=1とし、それ以外の解析ソフトpについてxnp=0とすることを示す。
制約条件の第2式「Σn∈NΣp∈PFpxnp≦N/FPSth」の左辺「Σn∈NΣp∈PFpxnp」は、解析実行部70の処理時間の推定値を示す。右辺「N/FPSth」は、解析実行部70の処理時間の許容上限値を示す。制約条件の第2式は、解析実行部70の処理時間が許容上限値以下という条件を示す。
目的関数「Σp∈PΣn∈NAnpxnp」は、解析実行部70が行う解析の精度の合計値を示す。この目的関数は、解析実行部70が行う解析の精度の評価値を算出する評価関数の例に該当する。スケジューラ部50は、最適化演算にて、この目的関数の値を最大化する。すなわち、スケジューラ部50は、解析実行部70が行う解析の精度の評価が最高となるようにスケジューリングを行う。
以上のように、解析対象取得部10は、解析対象データを取得する。精度推定部30は、複数の解析ソフト60の各々での解析精度が既知である複数の比較対象データのうち、解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、複数の解析ソフト60の各々での解析対象データの解析精度を推定する。スケジューラ部50は、複数の解析ソフト60の各々での解析対象データの解析精度の推定結果と、複数の解析ソフト60の各々での解析対象データの解析時間を示す情報とに基づいて、解析対象データの解析に用いる解析ソフト60を選択する。解析実行部70は、スケジューラ部50が選択した解析ソフト60を用いて、解析対象データの解析を行う。
このように、精度推定部30が、比較対象データの解析精度に基づいて、複数の解析ソフト60の各々での解析対象データの解析精度を推定するので、データ解析装置1の設定作業者は、処理内容調整のための判定基準を予め設定しておく必要がない。上述したように、比較対象データの解析精度を示す解析精度データについては、例えば、精度推定部30が自動生成するようにしてもよく、データ解析装置1の設定作業者が予め生成しておく必要はない。
また、スケジューラ部50は、解析対象データと解析ソフト60との組み合わせについて、解析精度が高く処理時間が短い順に採否を決定していき、1つの解析対象データに対して高々1つの解析モジュールを選択する。このように、スケジューラ部50が、解析精度が高く処理時間が短い処理を優先的に選択することで、精度の高い解析をより多く解析実行部70に行わせることができる。この点で、スケジューラ部50が、時間の制約条件を満たし、かつ、解析精度が高くなるスケジューリングを行えると期待される。
また、スケジューラ部50は、画像解析に要する時間に関する所定条件を満たす範囲内で、解析精度がより高いと推定される解析ソフト60を選択する。これにより、スケジューラ部50は、時間の制約条件を満たし、かつ、より精度の高い解析を解析実行部70に行わせることができる。
また、スケジューラ部50は、解析対象データについて何れの解析ソフト60でも所定条件以上の解析精度を得られないと推定される場合、その解析対象データの解析を行わないことに決定する。解析精度が所定条件に満たない場合、有効な解析結果を得られず処理が無駄になる可能性がある。これに対し、スケジューラ部50が、所定条件以上の解析精度を得られない解析対象データの解析を行わないことに決定することで、解析実行部70による無駄な処理の実行を抑制し、リソースを有効活用することができる。
また、解析対象取得部10は、解析対象データとして画像データを取得する。精度推定部30は、複数の比較対象データのうち、画像の色ヒストグラムが解析対象データの画像の色ヒストグラムと所定条件以上に類似する比較対象データの解析精度に基づいて、複数の解析モジュールの各々での解析対象データの解析精度を推定する。これにより、精度推定部30は、解析対象画像の色ヒストグラムを算出し、比較対象画像の色ヒストグラムと比較するという比較的簡単な処理で、解析対象画像と比較対象画像との類似度を評価することができる。
また、解析対象取得部10は、解析対象データとして画像データを取得する。精度推定部30は、複数の比較対象データのうち、解析対象データの画素値を基準とした場合の画素値の平均二乗誤差が所定条件以下である比較対象データの解析精度に基づいて、複数の解析モジュールの各々での解析対象データの解析精度を推定する。これにより、精度推定部30は、解析対象画像と比較対象画像との画素値の平均二乗誤差を算出し条件判定を行うという比較的簡単な処理で、解析対象画像と比較対象画像との類似度を評価することができる。
<第2実施形態>
図7は、第2実施形態に係るデータ解析装置の機能構成例を示す概略ブロック図である。図7に示す構成で、データ解析装置2は、図1に示す各部に加えて、処理時間割当部90をさらに備えている。それ以外の点では、データ解析装置2(図7)は、データ解析装置1(図1)と同様である。
図7は、第2実施形態に係るデータ解析装置の機能構成例を示す概略ブロック図である。図7に示す構成で、データ解析装置2は、図1に示す各部に加えて、処理時間割当部90をさらに備えている。それ以外の点では、データ解析装置2(図7)は、データ解析装置1(図1)と同様である。
処理時間割当部90は、解析実行部70におけるリソース利用率に基づいて、解析対象データの解析(解析対象画像の解析)に割り当てる時間を設定する。スケジューラ部50は、処理時間割当部90が設定する時間に応じて、解析対象データの解析に用いる解析ソフト60を選択する。以下では、解析実行部70におけるリソース利用率として解析実行部70の負荷を用いる場合を例に説明する。解析実行部70の負荷は、例えば、解析実行部70が利用可能なCPU(Central Processing Unit、中央処理装置)時間のうち、解析実行部70が実際にCPUを利用した時間の割合として、計算され得る。但し、処理時間割当部90が用いるリソース利用率は、解析実行部70の負荷に限定されず、解析実行部70が解析対象画像の解析を行う時間を示すものであればよい。
処理時間割当部90は、解析実行部70の負荷を示す情報を取得し、その情報から目標となる処理速度を計算し、スケジューラ部50に通知する。スケジューラ部50は、処理時間割当部90が通知する処理速度の目標値から、処理時間の許容値を算出することができる。例えば、図6の処理で、処理時間割当部90が、FPSthを設定し、スケジューラ部50が、N/FPSthを算出する。上述したように、FPSthは、画像1つあたり(1フレームあたり)の処理時間の許容値であり、処理時間の例に該当する。N/FPSthは、解析実行部70が解析対象画像を解析する時間の許容値(上限値)を示す。例えば、その他の解析処理、または学習処理など、解析実行部70が解析ソフト60を用いて行う解析以外にも処理を行う場合に、スケジューラ部50は、処理時間割当部90からの時間指定に応じて適応的に解析ソフト60の選択を変更する。これにより、データ解析装置2の処理全体の向上(例えば、解析精度の向上)を図ることができる。
図8は、解析実行部70におけるリソース利用の第1例を示す図である。図8は、解析実行部70が実行するソフトウェアが人検出(解析対象画像に含まれる人物の画像の検出)の解析ソフトである解析ソフトA~Cのみである場合の例を示している。この場合、解析実行部70は、利用可能な全てのリソースを人検出に利用することができる。そこで、スケジューラ部50は、解析実行部70が、比較的精度が高い解析ソフト60を用いて、解析対象画像の解析を行うように、スケジューリングする。図8の例の場合、解析実行部70は、スケジューラ部50によるスケジューリングに従って、解析精度が一番良い解析ソフト60Cを用いて解析対象画像を解析している。これにより、解析実行部70は、リソースを最大限に活用することができる。
図9は、解析実行部70におけるリソース利用の第2例を示す図である。図9は、解析実行部70が実行するソフトウェアとして、人検出の解析ソフトに加えて年齢性別推定(解析対象画像から検出された人物の年齢及び性別を推定する処理)の解析ソフトが追加された場合の例を示している。解析実行部70は、解析ソフト60とは別の解析ソフトを用いて年齢性別推定処理を行う。
図9の例の場合、解析実行部70は、利用可能なリソースで人検出と年齢性別推定との両方を実行することになる。従って、解析実行部70が人検出に利用できるリソースは、図8の例の場合よりも少なくなる。そこで、スケジューラ部50は、解析実行部70が、図8の場合よりも解析精度は落ちるが処理速度の速い解析ソフト60を用いて、解析対象画像の解析を行うように、スケジューリングする。
図9の例の場合、解析実行部70は、スケジューラ部50によるスケジューリングに従って、解析精度は比較的低いが処理速度の速い解析ソフト60Aを用いて解析対象画像を解析している。これにより、解析実行部70は、人検出の解析ソフトと年齢性別推定の解析ソフトとにリソースを振り分けて、これらの解析ソフトを共に実行することができる。この点で、解析実行部70のリソース利用率が向上する。このように、データ解析装置2では、解析実行部70の負荷状況に応じて解析ソフト60を選択し、解析ソフト60の実行速度を調整することができる。
次に、図10を参照して処理時間割当部90の動作について説明する。図10は、処理時間割当部90が行う処理の手順の例を示す図である。解析実行部70のリソース利用率について、前回のリソース利用率からの変化量が閾値以上増加している場合、処理時間割当部90は処理速度を増加させる。処理時間割当部90が処理速度を増加させることで、スケジューラ部50は、解析実行部70が比較的軽量な(解析精度は比較的低いが処理速度が比較的高い)解析ソフト60を利用するようにスケジューリングを行うことになる。その結果、解析ソフト60を用いた処理に関しては、解析実行部70のリソース利用率が低下する。
一方、前回のリソース利用率からの変化量が閾値以上減少している場合は、リソースに空きが発生したことを表している。そこで、処理時間割当部90は処理速度を減少させる。処理時間割当部90が処理速度を増加させることで、スケジューラ部50は、解析実行部70が比較的解析精度の高い解析ソフト60を利用するようにスケジューリングを行うことになり、解析実行部70による解析の精度を高めることができる。
図10の処理で、処理時間割当部90は、解析実行部70のリソース利用率を示す情報を取得する(ステップS201)。そして、処理時間割当部90は、リソース利用率の前回からの変化量(絶対値)が閾値以上か否かを判定する(ステップS202)。変化量が閾値より小さいと処理時間割当部90により判定された場合(ステップS202:NO)、処理時間割当部90は、図10の処理を終了する。
一方、ステップS202で変化量が閾値以上であると処理時間割当部90により判定された場合(ステップS202:YES)、処理時間割当部90は、リソース利用率が前回と比較して増加しているか否かを判定する(ステップS211)。リソース利用率が増加していると処理時間割当部90により判定された場合(ステップS211:YES)、処理時間割当部90は、FPSthの値を増加させる(ステップS221)。
これにより、スケジューラ部50が図6のステップS123で使用する閾値N/FPSthの値が小さくなる。すなわち、解析ソフト60に割り当てられる処理時間が減少する。従って、処理時間割当部90は、解析実行部70が他のプログラムに割り当てるリソース量を増やすことができる。例えば、図8および図9を参照して説明した例で、解析実行部70は、人検出の解析プログラムに割り当てるリソースの量を減らして、年齢性別推定の解析プログラムに割り当てるリソースの量を増やすことができる。
そして、処理時間割当部90は、設定したパラメータ値(FPSthの値)をスケジューラ部50に通知する(ステップS223)。ステップS223の後、処理時間割当部90は、図10の処理を終了する。
一方、ステップS211でリソース利用率が減少していると処理時間割当部90により判定された場合(ステップS211:NO)、処理時間割当部90は、FPSthの値を減少させる(ステップS222)。これにより、スケジューラ部50が図6のステップS123で使用する閾値N/FPSthの値が大きくなる。すなわち、解析ソフト60に割り当てられる処理時間が増加する。従って、解析実行部70が、スケジューリング対象の解析ソフト60に割り当てるリソース量を増やすことができ、より解析精度の高い解析ソフト60を利用することができる。
例えば、図8および図9を参照して説明した例で、年齢性別推定の解析ソフトの使用が終了した場合、利用可能なリソースが増加する。この場合に、解析実行部70は、人検出の解析ソフト60に割り当てるリソースの量を増やすことができる。ステップS222の後、処理がステップS223へ進む。
以上のように、処理時間割当部90は、解析実行部70におけるリソース利用率に基づいて、解析対象データの解析に割り当てる時間を設定する。スケジューラ部50は、処理時間割当部90が設定する時間に応じて、解析対象データの解析に用いる解析ソフト60を選択する。これにより、データ解析装置2は、実行する処理の増加および減少に対応して、処理全体の向上を図ることができる。
次に、図11および図12を参照して、本発明の実施形態の構成について説明する。
図11は、実施形態に係るデータ解析装置の構成の例を示す図である。図11に示すデータ解析装置110は、解析対象取得部111と、精度推定部112と、選択部113と、解析実行部114とを備える。かかる構成にて、解析対象取得部111は、解析対象データを取得する。精度推定部112は、複数の解析モジュールの各々での解析精度が既知である複数の比較対象データのうち、解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、複数の解析モジュールの各々での解析対象データの解析精度を推定する。選択部113は、複数の解析モジュールの各々での解析対象データの解析精度の推定結果と、複数の解析モジュールの各々での解析対象データの解析時間を示す情報とに基づいて、解析対象データの解析に用いる解析モジュールを選択する。解析実行部114は、選択部113が選択した解析モジュールを用いて前記解析対象データの解析を行う。このように、精度推定部112が、比較対象データの解析精度に基づいて、複数の解析モジュールの各々での解析対象データの解析精度を推定するので、データ解析装置110の設定作業者は、処理内容調整のための判定基準を予め設定しておく必要がない。
図12は、実施形態に係るデータ精度推定装置の構成の例を示す図である。図12に示す精度推定装置120は、解析対象取得部121と、精度推定部122とを備える。かかる構成にて、解析対象取得部121は、解析対象データを取得する。精度推定部122は、複数の解析モジュールの各々での解析精度が既知である複数の比較対象データのうち、解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、複数の解析モジュールの各々での解析対象データの解析精度を推定する。このように、精度推定部122が、比較対象データの解析精度に基づいて、複数の解析モジュールの各々での解析対象データの解析精度を推定するので、精度推定装置120の設定作業者は、処理内容調整のための判定基準を予め設定しておく必要がない。
図13は、少なくとも1つの実施形態に係るコンピュータの構成例を示す概略ブロック図である。図13に示す構成で、コンピュータ500は、CPU510と、記憶装置520と、インタフェース530とを備える。上述のデータ解析装置1がコンピュータに実装される場合、上述した各処理部(精度推定部30、スケジューラ部50、解析ソフト60および解析実行部70)の動作は、プログラムの形式で記憶装置520に記憶されている。CPU510は、記憶装置520からプログラムを読み出して実行することで、各処理部の処理を実行する。また、CPU510は、プログラムに従って、上述した各記憶部(推定用データ保持部20および性能データ保持部40)に対応する記憶領域を記憶装置520に確保する。解析対象取得部10および解析結果出力部80の機能は、CPU50がプログラムに従ってインタフェース530を制御することで実行される。上述のデータ解析装置2がコンピュータに実装される場合、データ解析装置1の場合に加えてさらに、処理時間割当部90が処理部に該当する。
上述のデータ解析装置110がコンピュータに実装される場合、精度推定部112、選択部113および解析実行部114が処理部に該当する。これら処理部の動作は、プログラムの形式で記憶装置520に記憶されている。CPU510は、記憶装置520からプログラムを読み出して実行することで、各処理部の処理を実行する。また、CPU510は、プログラムに従って、各処理部が利用する記憶部に対応する記憶領域を記憶装置520に確保する。解析対象取得部111の機能は、CPU50がプログラムに従ってインタフェース530を制御することで実行される。
上述の精度推定装置120がコンピュータに実装される場合、精度推定部122が処理部に該当する。処理部の動作は、プログラムの形式で記憶装置520に記憶されている。CPU510は、記憶装置520からプログラムを読み出して実行することで、各処理部の処理を実行する。また、CPU510は、プログラムに従って、処理部が利用する記憶部に対応する記憶領域を記憶装置520に確保する。解析対象取得部121の機能は、CPU50がプログラムに従ってインタフェース530を制御することで実行される。
なお、データ解析装置1、2、110、精度推定装置120の機能の全部または一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read only memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
以上、実施形態(及び実施例)を参照して本願発明を説明したが、本願発明は上記実施形態(及び実施例)に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2018年4月26日に出願された日本出願特願2018-085787を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1、2、110 データ解析装置
10、111、121 解析対象取得部
20 推定用データ保持部
30、112、122 精度推定部
40 性能データ保持部
50 スケジューラ部
60 解析ソフト
70、114 解析実行部
80 解析結果出力部
90 処理時間割当部
113 選択部
120 精度推定装置
10、111、121 解析対象取得部
20 推定用データ保持部
30、112、122 精度推定部
40 性能データ保持部
50 スケジューラ部
60 解析ソフト
70、114 解析実行部
80 解析結果出力部
90 処理時間割当部
113 選択部
120 精度推定装置
Claims (10)
- 解析対象データを取得する解析対象取得手段と、
複数の解析モジュールの各々での解析精度が既知である複数の比較対象データのうち、前記解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、前記複数の解析モジュールの各々での前記解析対象データの解析精度を推定する精度推定手段と、
前記複数の解析モジュールの各々での前記解析対象データの解析精度の推定結果と、前記複数の解析モジュールの各々での前記解析対象データの解析時間を示す情報とに基づいて、前記解析対象データの解析に用いる解析モジュールを、前記複数の解析モジュールの中から選択する選択手段と、
前記選択手段が選択した解析モジュールを用いて前記解析対象データの解析を行う解析実行手段と、
を備えるデータ解析装置。 - 前記選択手段は、前記解析対象データと前記解析モジュールとの組み合わせについて、解析精度が高く処理時間が短い順に採否を決定していき、1つの解析対象データに対して高々1つの解析モジュールを選択する、
請求項1に記載のデータ解析装置。 - 前記選択手段は、画像解析に要する時間に関する所定条件を満たす範囲内で、解析精度がより高いと推定される解析モジュールを選択する、
請求項1または請求項2に記載のデータ解析装置。 - 前記選択手段は、前記解析対象データについて何れの解析モジュールでも所定条件以上の解析精度を得られないと推定される場合、その解析対象データの解析を行わないことに決定する、
請求項1から3の何れか一項に記載のデータ解析装置。 - 前記解析実行手段におけるリソース利用率に基づいて、前記解析対象データの解析に割り当てる時間を設定する処理時間割当手段をさらに備え、
前記選択手段は、前記処理時間割当手段が設定する時間に応じて、前記解析対象データの解析に用いる解析モジュールを選択する、
請求項1から4の何れか一項に記載のデータ解析装置。 - 前記解析対象取得手段は、前記解析対象データとして画像データを取得し、
前記精度推定手段は、前記複数の比較対象データのうち、画像の色ヒストグラムが前記解析対象データの画像の色ヒストグラムと所定条件以上に類似する比較対象データの解析精度に基づいて、前記複数の解析モジュールの各々での前記解析対象データの解析精度を推定する
請求項1から5の何れか一項に記載のデータ解析装置。 - 前記解析対象取得手段は、前記解析対象データとして画像データを取得し、
前記精度推定手段は、前記複数の比較対象データのうち、前記解析対象データの画素値を基準とした場合の画素値の平均二乗誤差が所定条件以下である比較対象データの解析精度に基づいて、前記複数の解析モジュールの各々での前記解析対象データの解析精度を推定する
請求項1から6の何れか一項に記載のデータ解析装置。 - 解析対象データを取得する解析対象取得手段と、
複数の解析モジュールの各々での解析精度が既知である複数の比較対象データのうち、前記解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、前記複数の解析モジュールの各々での前記解析対象データの解析精度を推定する精度推定手段と、
を備える精度推定装置。 - 解析対象データを取得し、
複数の解析モジュールの各々での解析精度が既知である複数の比較対象データのうち、前記解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、前記複数の解析モジュールの各々での前記解析対象データの解析精度を推定し、
前記複数の解析モジュールの各々での前記解析対象データの解析精度の推定結果と、前記複数の解析モジュールの各々での前記解析対象データの解析時間を示す情報とに基づいて、前記解析対象データの解析に用いる解析モジュールを、前記複数の解析モジュールの中から選択し、
選択された解析モジュールを用いて前記解析対象データの解析を行う
ことを含むデータ解析方法。 - コンピュータに、
解析対象データを取得する処理と、
複数の解析モジュールの各々での解析精度が既知である複数の比較対象データのうち、前記解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、前記複数の解析モジュールの各々での前記解析対象データの解析精度を推定する処理と、
前記複数の解析モジュールの各々での前記解析対象データの解析精度の推定結果と、前記複数の解析モジュールの各々での前記解析対象データの解析時間を示す情報とに基づいて、前記解析対象データの解析に用いる解析モジュールを、前記複数の解析モジュールの中から選択する処理と、
選択された解析モジュールを用いて前記解析対象データの解析を行う処理と、
を実行させるためのプログラムを記憶する記憶媒体。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020516297A JP6904481B2 (ja) | 2018-04-26 | 2019-04-19 | データ解析装置、精度推定装置、データ解析方法およびプログラム |
| US17/040,309 US11809297B2 (en) | 2018-04-26 | 2019-04-19 | Data analysis device, precision estimation device, data analysis method, and storage medium |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018-085787 | 2018-04-26 | ||
| JP2018085787 | 2018-04-26 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019208411A1 true WO2019208411A1 (ja) | 2019-10-31 |
Family
ID=68294611
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2019/016749 Ceased WO2019208411A1 (ja) | 2018-04-26 | 2019-04-19 | データ解析装置、精度推定装置、データ解析方法および記憶媒体 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US11809297B2 (ja) |
| JP (1) | JP6904481B2 (ja) |
| WO (1) | WO2019208411A1 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2021196912A (ja) * | 2020-06-15 | 2021-12-27 | ヤフー株式会社 | 実行装置、実行方法、および実行プログラム |
| WO2022209371A1 (ja) * | 2021-03-31 | 2022-10-06 | 国立研究開発法人情報通信研究機構 | 情報処理システム、情報処理方法および情報処理プログラム |
| US11620812B2 (en) | 2019-12-27 | 2023-04-04 | Nec Corporation | Online distillation using frame cache |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7103530B2 (ja) * | 2019-10-07 | 2022-07-20 | 日本電気株式会社 | 映像分析方法、映像分析システム及び情報処理装置 |
| DE102022200831A1 (de) | 2022-01-26 | 2023-07-27 | Robert Bosch Gesellschaft mit beschränkter Haftung | Überwachungsvorrichtung und Verfahren zur bildbasierten Überwachung eines Überwachungsbereichs, Computerprogramm und Speichermedium |
| CN116151698B (zh) * | 2023-04-24 | 2023-07-14 | 安徽常力达电气有限公司 | 一种用于电力工程质量检验的分析处理方法 |
| CN118520317B (zh) * | 2024-07-23 | 2024-09-20 | 四川福莱宝生物科技有限公司 | 一种适用于高通量分析的生物元件数据分析方法 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2013146047A1 (ja) * | 2012-03-29 | 2013-10-03 | ソニー株式会社 | 情報処理装置、情報処理方法、サーバ装置、検索方法および情報処理システム |
| JP2019040417A (ja) * | 2017-08-25 | 2019-03-14 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4980395B2 (ja) * | 2009-06-16 | 2012-07-18 | 株式会社日立製作所 | データ分析システム及び方法 |
| WO2013150786A1 (ja) | 2012-04-05 | 2013-10-10 | 日本電気株式会社 | 解析システム |
-
2019
- 2019-04-19 WO PCT/JP2019/016749 patent/WO2019208411A1/ja not_active Ceased
- 2019-04-19 US US17/040,309 patent/US11809297B2/en active Active
- 2019-04-19 JP JP2020516297A patent/JP6904481B2/ja active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2013146047A1 (ja) * | 2012-03-29 | 2013-10-03 | ソニー株式会社 | 情報処理装置、情報処理方法、サーバ装置、検索方法および情報処理システム |
| JP2019040417A (ja) * | 2017-08-25 | 2019-03-14 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11620812B2 (en) | 2019-12-27 | 2023-04-04 | Nec Corporation | Online distillation using frame cache |
| JP2021196912A (ja) * | 2020-06-15 | 2021-12-27 | ヤフー株式会社 | 実行装置、実行方法、および実行プログラム |
| WO2022209371A1 (ja) * | 2021-03-31 | 2022-10-06 | 国立研究開発法人情報通信研究機構 | 情報処理システム、情報処理方法および情報処理プログラム |
| JP2022157192A (ja) * | 2021-03-31 | 2022-10-14 | 国立研究開発法人情報通信研究機構 | 情報処理システム、情報処理方法および情報処理プログラム |
| JP7766901B2 (ja) | 2021-03-31 | 2025-11-11 | 国立研究開発法人情報通信研究機構 | 情報処理システム、情報処理方法および情報処理プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2019208411A1 (ja) | 2021-03-11 |
| US20210019552A1 (en) | 2021-01-21 |
| US11809297B2 (en) | 2023-11-07 |
| JP6904481B2 (ja) | 2021-07-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6904481B2 (ja) | データ解析装置、精度推定装置、データ解析方法およびプログラム | |
| US20180189610A1 (en) | Active machine learning for training an event classification | |
| US7415453B2 (en) | System, method and program product for forecasting the demand on computer resources | |
| JP2720910B2 (ja) | データ処理システムの作業負荷を管理するための装置及び方法 | |
| CN115904666A (zh) | 面向gpu集群的深度学习训练任务调度系统 | |
| CN103294546B (zh) | 多维度资源性能干扰感知的虚拟机在线迁移方法及系统 | |
| US11354156B2 (en) | Master device for managing distributed processing of task by using resource information | |
| CN107644032A (zh) | 离群点检测方法和装置 | |
| WO2007055359A1 (ja) | クラスタリングシステム、及び、それを備える画像処理システム | |
| CN119536958B (zh) | 主机功耗与温度的均衡控制方法、系统、介质及程序产品 | |
| US20090165004A1 (en) | Resource-aware application scheduling | |
| US11494238B2 (en) | Run-time neural network re-allocation across heterogeneous processors | |
| US20170316319A1 (en) | Recommender System for Exploratory Data Analysis | |
| US9983911B2 (en) | Analysis controller, analysis control method and computer-readable medium | |
| CN120256139B (zh) | 一种基于资源亲和性的异构gpu集群调度优化方法及系统 | |
| Li et al. | Predicting thread profiles across core types via machine learning on heterogeneous multiprocessors | |
| Li et al. | Exploring machine learning for thread characterization on heterogeneous multiprocessors | |
| US10339427B2 (en) | Subject evaluation system, subject evaluation method and recording medium storing subject evaluation program | |
| CN120215668A (zh) | 显卡组件功耗动态调节方法、装置及设备 | |
| KR101212405B1 (ko) | 무선 통신 시스템에서의 센싱 채널 스케줄링 장치 및 방법 | |
| KR102429327B1 (ko) | 복합 센서 이동형 레이더의 실시간 코어 사용량 측정 장치 및 방법 | |
| US11631183B2 (en) | Method and system for motion segmentation | |
| Canali et al. | Detecting similarities in virtual machine behavior for cloud monitoring using smoothed histograms | |
| US20170235728A1 (en) | Information processing apparatus, method, program and storage medium | |
| CN118990474B (zh) | 机器人可穿戴视觉模块的更换方法及系统 |
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: 19791657 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2020516297 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19791657 Country of ref document: EP Kind code of ref document: A1 |