WO2024111476A1 - 情報処理方法、ニューラルネットワーク、情報処理装置、情報処理システム - Google Patents

情報処理方法、ニューラルネットワーク、情報処理装置、情報処理システム Download PDF

Info

Publication number
WO2024111476A1
WO2024111476A1 PCT/JP2023/041051 JP2023041051W WO2024111476A1 WO 2024111476 A1 WO2024111476 A1 WO 2024111476A1 JP 2023041051 W JP2023041051 W JP 2023041051W WO 2024111476 A1 WO2024111476 A1 WO 2024111476A1
Authority
WO
WIPO (PCT)
Prior art keywords
filters
filter
neural network
information processing
unit
Prior art date
Application number
PCT/JP2023/041051
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 WO2024111476A1 publication Critical patent/WO2024111476A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Definitions

  • This technology relates to an information processing method, a neural network, an information processing device, and an information processing system, and in particular to technology for reducing the weight of neural networks.
  • an inference device that uses a neural network
  • an inference device based on the CNN (Convolutional Neural Network) method has the characteristic that its inference performance in areas such as object recognition and object detection is relatively good compared to other types of inference devices.
  • CNN Convolutional Neural Network
  • it requires a large amount of calculations and a large amount of calculation memory, which is disadvantageous for use in embedded applications in particular.
  • Patent Document 1 discloses a technique for pruning neural networks, which reduces the size of a neural network by inferring the importance of filters in the neural network and removing filters based on the results of this inference.
  • pruning is performed to remove filters with low importance based on the importance (filter size) of the filter, as in Patent Document 1.
  • the neural network is usually re-learned every time a filter is deleted, which increases the number of learning iterations required to achieve weight reduction.
  • This technology was developed in light of the above circumstances, and aims to shorten the time required to reduce the weight of neural networks.
  • the information processing method is such that an information processing device evaluates the relevance of a plurality of filters included in a machine-learned neural network, and performs a process of improving the efficiency of the filters based on the evaluation result of the relevance.
  • an information processing device evaluates the relevance of a plurality of filters included in a machine-learned neural network, and performs a process of improving the efficiency of the filters based on the evaluation result of the relevance.
  • it is possible to perform the filter efficiency improvement process for example, by keeping some of the filters in a similar relationship and deleting the others, keeping some of the filters in a similar relationship and giving the others a function different from the original function, or by combining the functions of other filters that can be combined.
  • the efficiency improvement process is based on the relevance between filters, the efficiency improvement process can be performed in such a way that re-learning of the neural network after the efficiency improvement process is not required. For example, even if some of the filters in a similar relationship are deleted or given a different function, the functions of the part of the filters can be substituted by other filters in a similar relationship, so re-learning of the neural network is not required. In addition, in the composition of filters, the functions of each filter before the composition are inherited by the combined filter, so re-learning of the network is not required.
  • the neural network related to the present technology is a neural network having a plurality of filters, in which after machine learning is performed, a similarity evaluation is performed for the plurality of filters, and a process of deleting some of the filters that are similar to each other as identified from the similarity evaluation result and leaving the others, and a process of increasing the power of the remaining filters is performed; or after machine learning is performed, a similarity evaluation is performed for the plurality of filters, and a process of leaving some of the filters that are similar to each other as identified from the similarity evaluation result and giving the others a function different from their original function is performed; or after machine learning is performed, an evaluation is performed for the plurality of filters as to whether functions can be combined, and for a filter set that is evaluated as being able to be combined, a process of combining one filter with the function of the other filter is performed.
  • the information processing device includes an inference device that performs inference based on input data using a neural network having a plurality of filters, and the neural network of the inference device performs machine learning, and then evaluates the similarity of the plurality of filters, and performs a process of deleting some of the filters that are in a similar relationship identified from the similarity evaluation result and leaving the others, and a process of increasing the power of the remaining filters; or performs machine learning, and then evaluates the similarity of the plurality of filters, and performs a process of leaving some of the filters that are in a similar relationship identified from the similarity evaluation result and giving the others a function different from their original function; or performs machine learning, and then evaluates whether functions of the plurality of filters are possible to be combined, and for a filter set that is evaluated as being possible to be combined, performs a process of combining one filter with the function of the other filter.
  • the information processing system includes a pre-processing unit that inputs image data, which is data indicating a photochemical value for each pixel, and, if a distribution range of the optical properties of the image data is larger than a predetermined range, performs processing to change the optical properties so that the distribution range falls within the predetermined range, and an inference unit that performs inference processing using a neural network with the image data that has been processed by the pre-processing unit as input data.
  • the distribution range of optical properties such as the distribution range of brightness, may be uniformed for image data used as learning input data.
  • FIG. 1 is a block diagram illustrating an example of a hardware configuration of an information processing device according to an embodiment.
  • FIG. 2 is a functional block diagram showing functions of an information processing device according to the first embodiment.
  • FIG. 1 shows the process of obtaining a sparse neural network from an initial neural network.
  • FIG. 13 is an explanatory diagram of pre-training.
  • FIG. 1 is a diagram showing an image of a filter efficiency improvement process according to a first embodiment.
  • FIG. 13 is a diagram showing an example of a filter (convolution filter) included in the neural network.
  • FIG. 13 is a diagram illustrating an example of how feature index values of each filter are mapped onto a two-dimensional feature space.
  • FIG. 11 is a diagram illustrating a feature index value when a filter is flattened in one dimension.
  • FIG. 11 is a flowchart illustrating an example of a processing procedure for implementing a filter efficiency improvement process according to a first embodiment.
  • FIG. 1 is a diagram illustrating a functional configuration of an information processing device according to a first embodiment.
  • FIG. 2 is a diagram for explaining a configuration example of an information processing device on an inference side according to a first embodiment;
  • FIG. 2 is a diagram for explaining an example of the configuration of an information processing system as another example of the first embodiment.
  • 11 is a flowchart of a saturation/blackout removal process according to an embodiment.
  • 11 is a flowchart of a brightness normalization process according to an embodiment.
  • 11 is a flowchart of a logarithmic process according to the embodiment.
  • FIG. 11 is a flowchart of a foreground cutout process according to an embodiment.
  • 11 is a flowchart of a normalization process for the size and orientation of a subject in an embodiment.
  • FIG. 11 is a functional block diagram for explaining functions of an information processing device according to a second embodiment.
  • FIG. 11 is an explanatory diagram of a filter efficiency improvement process according to a second embodiment.
  • 11 is an explanatory diagram of a method for imparting a different function corresponding to a feature index value in a sparse region of a feature space.
  • FIG. 10 is a flowchart illustrating an example of a processing procedure for implementing a filter efficiency improvement process according to a second embodiment.
  • FIG. 11 is a diagram illustrating a functional configuration of an information processing device according to a second embodiment.
  • FIG. 11 is a diagram for explaining a configuration example of an information processing device on an inference side according to a second embodiment; 11 is a functional block diagram for explaining functions of an information processing device according to a third embodiment.
  • FIG. 13 is an explanatory diagram of a filter efficiency improvement process according to a third embodiment.
  • FIG. 13 is a diagram illustrating a functional configuration of an information processing device according to a third embodiment.
  • FIG. 13 is a diagram for explaining a configuration example of an information processing device on an inference side according to a third embodiment; FIG.
  • FIG. 13 is a block diagram showing an example of the internal configuration of an information processing device on the inference side according to a fourth embodiment.
  • FIG. 11 is a diagram showing an example of a histogram of a captured image.
  • FIG. 11 is an explanatory diagram of an example of brightness adjustment.
  • 13 is a flowchart illustrating an example of a processing procedure for implementing a function according to a fourth embodiment.
  • FIG. 13 is a block diagram showing an example of the internal configuration of an information processing device according to a fifth embodiment.
  • 11 is an explanatory diagram of a case where the brightness range of an image portion of a target object does not fall within the restricted brightness range.
  • FIG. FIG. 11 is an explanatory diagram illustrating a case where a plurality of target objects are captured in a captured image.
  • FIG. 11 is an explanatory diagram of an example in which the brightness range of a target object existence region is wider than the restricted brightness range.
  • FIG. 13A to 13C are diagrams illustrating an image of a brightness adjustment process in the fifth embodiment.
  • FIG. 2 is an explanatory diagram of a linear compression method.
  • FIG. 2 is an explanatory diagram of a nonlinear compression method.
  • FIG. 13 is a flowchart illustrating an example of a processing procedure for implementing the functions of the fifth embodiment.
  • FIG. 13 is a block diagram showing an example of the internal configuration of an information processing device as a modified example of the fifth embodiment.
  • 13A to 13C are explanatory diagrams of actions obtained by an information processing device as a modified example of the fifth embodiment.
  • FIG. 1 is a block diagram showing an example of a hardware configuration of an information processing device 1 according to an embodiment of the present technology.
  • the information processing device 1 is used as a device that performs a filter efficiency process for a trained neural network that has undergone machine learning.
  • the information processing device 1 can take the form of various types of computer devices such as a personal computer.
  • the information processing device 1 is equipped with a CPU (Central Processing Unit) 11.
  • the CPU 11 functions as an arithmetic processing unit that executes various processes, and executes the various processes according to a program stored in a ROM (Read Only Memory) 12 or a program loaded from a storage unit 19 to a RAM (Random Access Memory) 13.
  • the RAM 13 also stores data necessary for the CPU 11 to execute various processes as appropriate.
  • the CPU 11, ROM 12, and RAM 13 are interconnected via a bus 14.
  • An input/output interface (I/F) 15 is also connected to this bus 14.
  • An input unit 16 including operators and operation devices is connected to the input/output interface 15.
  • the input unit 16 may be various operators and operation devices such as a keyboard, a mouse, a key, a dial, a touch panel, a touch pad, a remote controller, or the like.
  • An operation by a user 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, either integrally or separately, to a display unit 17 formed of an LCD (Liquid Crystal Display) or an organic EL (Electro-Luminescence) panel, or the like, and an audio output unit 18 formed of a speaker, or the like.
  • the display unit 17 is used to display various types of information, and is configured, for example, by a display device provided in the housing of the computer device, or a separate display device connected to the computer device.
  • the display unit 17 displays images for various types of image processing, videos to be processed, etc., on the display screen based on instructions from the CPU 11.
  • the display unit 17 also displays various operation menus, icons, messages, etc., i.e., a GUI (Graphical User Interface), based on instructions from the CPU 11.
  • GUI Graphic User Interface
  • the input/output interface 15 may also be connected to a storage unit 19 configured with a hard disk drive (HDD) or solid-state memory, or a communication unit 20 configured with a modem, etc.
  • a storage unit 19 configured with a hard disk drive (HDD) or solid-state memory
  • a communication unit 20 configured with a modem, etc.
  • the communication unit 20 performs communication processing via a transmission path such as the Internet, and communication with various devices via wired/wireless communication, bus communication, etc.
  • a drive 21 is also connected to the input/output interface 15, and a removable recording medium 22 such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory is appropriately attached.
  • the drive 21 can read data files such as programs used for each process from the removable recording medium 22.
  • the read data files are stored in the memory unit 19, and images and sounds contained in the data files are output on the display unit 17 and the audio output unit 18.
  • computer programs and the like read from the removable recording medium 22 are installed in the memory unit 19 as necessary.
  • software for the processing of this embodiment can be installed via network communication by the communication unit 20 or via the removable recording medium 22.
  • the software may be stored in advance in the ROM 12, the storage unit 19, etc.
  • the CPU 11 performs processing operations based on various programs, thereby executing necessary information processing and communication processing as the information processing device 1, as described below.
  • the information processing device 1 is not limited to being configured by a single computer device as shown in Fig. 1, but may be configured by a system of multiple computer devices.
  • the multiple computer devices may be systemized using a LAN (Local Area Network) or the like, or may be located in a remote location using a VPN (Virtual Private Network) using the Internet or the like.
  • the multiple computer devices may include computer devices as a server group (cloud) available through a cloud computing service.
  • FIG. 2 is a functional block diagram showing functions of the CPU 11 of the information processing device 1 according to the first embodiment.
  • the CPU 11 includes an efficiency improvement processing unit F1.
  • the efficiency improvement processing unit F1 evaluates the relevance of a plurality of filters included in a machine-learned neural network, and performs a process of improving the efficiency of the filters based on the evaluation result of the relevance.
  • the efficiency processor F1 evaluates the similarity of multiple filters in the neural network, and performs filter efficiency processing based on the evaluation result of the similarity. Specifically, the processor F1 performs processing to keep some of the filters that are similar to each other and delete the others. The processor then performs processing to increase the power of the remaining filters.
  • the filter efficiency is improved based on the relevance of a plurality of filters, not on the importance of the filters. This makes it possible to improve the efficiency of filters, for example, by leaving some of the filters in a similar relationship and deleting the others, or by compositing the functions of other filters that are in a relationship that allows functions to be combined as described later (third embodiment). Since the efficiency is improved based on the relevance between filters, the efficiency improvement can be performed so that re-learning of the neural network after the efficiency improvement is not required.
  • the functions of the part of the filters can be substituted by other filters in a similar relationship, so re-learning of the neural network is not required.
  • the functions of each filter before composition are inherited by the filter after composition, so re-learning of the network is not required. In this manner, according to the efficiency improvement method of the embodiment, it is possible to eliminate the need to re-learn the neural network after the filter efficiency processing, thereby shortening the time required to reduce the weight of the neural network.
  • FIG. 3 shows the process of obtaining a sparse neural network from an initial neural network.
  • the neural network before machine learning is performed will be referred to as the “initial neural network 31s”
  • the neural network after filter efficiency processing as an embodiment will be referred to as the “sparse neural network 31a.”
  • machine learning is performed on an initial neural network 31s using a learning device 30 and a learning data set. This machine learning is called “pre-training” because it is machine learning before the filter efficiency improvement process according to the embodiment is performed.
  • FIG. 4 is an explanatory diagram of pre-training.
  • inference processing using a neural network is performed using an image-related inference processing such as object recognition processing for recognizing a specific object in an image represented by image data.
  • image data means data that indicates an optical value for each pixel.
  • image data targeted in the inference process related to the image is assumed to be grayscale image data that indicates a brightness grayscale value (e.g., a grayscale value from 0 to 255) for each pixel.
  • a set of multiple learning input data (image data in this example) and correct answer data for inference processing such as object recognition processing is prepared as a learning dataset, and a learning device 30 having an initial neural network 31s and a loss function calculation unit 32 is used.
  • the learning input data in the learning data set is provided to the input of an initial neural network 31s, and the correct answer data corresponding to the learning input data is input to a loss function calculation unit 32.
  • the loss function calculation unit 32 calculates a loss function (cost function) based on the output of the initial neural network 31s and the correct answer data, and updates various parameters in the initial neural network 31s by backpropagation (error backpropagation method) based on the loss function.
  • an algorithm artificial intelligence model for obtaining a desired inference result, such as an algorithm for recognizing a specific object from an image, is formed in the initial neural network 31s.
  • neural network 31b the neural network obtained by machine learning as pre-training using the above-described learning device 30 and learning dataset is referred to as "neural network 31b" as shown in the figure.
  • an efficiency processing unit F1 is used to perform filter efficiency processing on the neural network 31b.
  • this efficiency processing results in a sparse neural network 31a with a reduced number of filters.
  • FIG. 5 shows an image of the filter efficiency improvement process according to the first embodiment.
  • Fig. 5A shows a schematic diagram of the filters in the neural network 31b after pre-training.
  • Fig. 5B the similarity between the filters in the neural network 31b is calculated first.
  • Fig. 5C one of the filters that is similar to the other is deleted.
  • FIG. 5D a process of increasing the power of the remaining filters is performed.
  • the similarity will be described.
  • the similarity of multiple filters in the neural network 31b is evaluated, and the filter efficiency is improved based on the similarity evaluation result.
  • the similarity between filters is calculated.
  • a pair of filters whose similarity is equal to or greater than a predetermined threshold is identified as a pair of filters having a similar relationship, and for the pair of filters having a similar relationship, one filter is deleted and the other filter is left.
  • FIG. 6 shows an example of a filter (convolution filter) included in the neural network 31b. Although a 3 ⁇ 3 filter is shown here as an example, the filter size is not limited to this.
  • a feature index value for each filter is calculated.
  • a value indicating the characteristics of the filter is calculated. Since the filters in the neural network 31b are characterized by a combination of coefficients assigned to each pixel as shown in FIG. 6, the feature index value of the filter should be calculated based on such a combination of coefficients.
  • the feature index value of the filter is calculated as a value obtained by reducing the dimension to two dimensions (in this example, from nine dimensions to two dimensions) using PCA (Principal Component Analysis). That is, the feature index value is converted into a feature index value expressed by the value of the first principal component and the value of the second principal component.
  • PCA Principal Component Analysis
  • FIG. 7 illustrates an example of a state in which the feature index values calculated by PCA for each filter are mapped onto a two-dimensional feature space with the horizontal axis representing the first principal component and the vertical axis representing the second principal component.
  • the distance between the feature index values of the filters to be compared is calculated as the similarity between those filters.
  • the distance it is possible to calculate any one of the two-dimensional Minkowski distance, the two-dimensional Mahalanobis distance, and the cosine distance.
  • the two-dimensional Minkowski distance (Euclidean distance) has the advantage that it is differentiable and makes it easier to handle data.
  • the Mahalanobis distance is adopted, the correlation of data can be taken into consideration, so that the accuracy of the similarity can be improved.
  • the compared filters are determined to be similar.
  • t-SNE t-distributed Stochastic Neighbor Embedding
  • UMAP Uniform Manifold Approximation and Projection
  • the distance may be an m-dimensional Minkowski distance or an m-dimensional Mahalanobis distance.
  • the coefficients for each pixel of the filter may be treated as feature index values as they are.
  • the distance (similarity) between the filters may be expressed by the L1 norm, the L2 norm, or NCC (Normalized Cross-correlation) or ZNCC (Zero-mean Normalized Cross-correlation). Even when the coefficient for each pixel of the filter is treated as it is as a feature index value, the amount of calculation required to obtain the feature index value can be reduced.
  • Fig. 8A it is possible to flatten it into one dimension (Fig. 8A) and treat it as a vector or as a distribution (Fig. 8B).
  • the distance between the filters may be a distance based on the Hamming distance, the Kullback-Leibler divergence, or the Jensen-Shannon divergence. Treating the data as a probability distribution as in FIG. 8A or FIG. 8B has the advantage of making it easier to improve the accuracy of the similarity.
  • FIG. 9 is a flowchart showing an example of a processing procedure for implementing the filter efficiency improvement processing according to the first embodiment described above.
  • the process shown in FIG. 9 is executed by the CPU 11 shown in FIG. 1 based on a program stored in the ROM 12 or the storage unit 19, for example. Furthermore, when the process shown in this figure is executed, it is assumed that the pre-training explained in FIG. 3 has already been carried out and a trained neural network 31b has been obtained.
  • step S101 the CPU 11 calculates feature index values for each filter in the neural network 31b. That is, in this example, the CPU 11 calculates feature index values in a format in which the dimensions have been reduced to two dimensions by PCA as described above.
  • step S102 the CPU 11 calculates the distance between the feature index values of each filter (i.e., the similarity between the filters). That is, for each pair of filters, the CPU 11 calculates the distance between the feature index values using the Minkowski distance or the like described above.
  • step S103 the CPU 11 determines whether there are any filter pairs that are similar to each other. That is, based on the distance value calculated in step S102, it determines for each filter pair whether the distance is equal to or less than a predetermined threshold, and based on the results of these determinations, it determines whether there are any filter pairs that are similar to each other.
  • step S104 determines which filters to delete based on the reduction rate. That is, the filter reduction rate is calculated based on the number of filter pairs with a similar relationship, and the filters to delete are determined based on the calculated reduction rate.
  • step S105 the CPU 11 calculates the power (magnification) of the filter to be left.
  • the method for determining the power is not limited to a specific method.
  • step S106 the CPU 11 performs a process of deleting one filter and leaving the other. That is, the filter determined as the filter to be deleted in step S104 is deleted.
  • the process in step S106 corresponds to a process of deleting one filter of a filter pair that has a similar relationship and leaving the other filter.
  • step S107 the CPU 11 performs processing to increase the power of the remaining filter. That is, for the remaining filter, the coefficients of the pixels whose coefficients are other than 0 are multiplied by the magnification value (absolute value) calculated in step S105, thereby updating the coefficients of the remaining filter.
  • step S107 After executing the process of step S107, the CPU 11 ends the series of processes shown in FIG. Furthermore, if the CPU 11 determines in step S103 that there is no filter pair having a similar relationship, the CPU 11 also ends the series of processes shown in FIG.
  • the filter efficiency improvement process ends when the filter is deleted, but it is also possible that the filter efficiency improvement process ends depending on the result of determining whether the sparse neural network 31a after the efficiency improvement process has achieved the target performance.
  • Possible indicators of "performance” include, for example, inference performance, weight size, number of weights, number of calculations, time required for calculation, etc.
  • FIG. 10 is a diagram illustrating the functional configuration of the information processing device 1 according to the first embodiment.
  • FIG. 10 shows only the configuration of the part related to the filter efficiency improvement process among the functional configuration of the information processing device 1, and the other configuration is omitted from the illustration.
  • the efficiency improvement processing unit F1 included in the CPU 11 can be expressed as having the functions of a similarity calculation unit F11, an unnecessary filter evaluation unit F12, a filter deletion unit F13, and a magnification adjustment unit F14.
  • the similarity calculation unit F11 corresponds to the function of performing the similarity calculation process described as step S102 in FIG.
  • the unnecessary filter evaluation unit F12 corresponds to the function of performing the process of determining filters to be deleted based on the reduction rate described as step S104 in FIG.
  • the filter removal unit F13 corresponds to the function of performing the filter removal process described as step S106 in FIG. 9, and the magnification adjustment unit F14 corresponds to the function of performing the process of increasing the filter power described as step S107 in FIG. 9.
  • data on the invariant parts of neural networks such as initial neural network 31s and neural network 31b is stored in ROM 12, and data on the variable parts of neural networks such as neural network 31b and sparse neural network 31a is stored in RAM 13.
  • efficiency improvement process data Di data used in the filter efficiency improvement process by the efficiency improvement process unit F1 is stored as efficiency improvement process data Di in a storage device readable by the CPU 11, such as the storage unit 19.
  • the efficiency improvement process data Di includes information related to the target performance (e.g., information on the target inference performance, weight size, number of weights, number of calculations, time required for calculation, etc.).
  • FIG. 11 is a diagram for explaining an example of the configuration of an information processing device 5 on the inference side as a first embodiment that performs inference processing using a sparse neural network 31a.
  • the information processing device 5 on the inference side has at least a processor unit 52 and a communication section 53 .
  • the processor unit 52 is configured as a signal processing unit having at least a CPU and various memories, and has a function as an inference device 54.
  • the processor unit 52 may be combined with another processor such as a GPU (Graphics Processing Unit) or a DSP (Digital Signal Processor).
  • the inference unit 54 has a sparse neural network 31a. That is, as shown in the figure, the sparse neural network 31a is obtained by the information processing device 1 performing filter efficiency processing on the neural network 31b using the efficiency processing unit F1.
  • the communication unit 53 performs data communication with external devices, such as wired or wireless inter-device communication or network communication.
  • external devices such as wired or wireless inter-device communication or network communication.
  • the inference result by the inference unit 54 can be transmitted to the external device via this communication unit 53.
  • the inference unit 54 when image data is provided as input data to the inference unit 54, the inference unit 54 performs inference processing such as object recognition processing using the sparse neural network 31a. Since the sparse neural network 31a is used as the neural network of the inference unit 54, it is possible to reduce the amount of data to be held in order to realize the inference process, and to reduce the calculation costs of the inference process.
  • Another example of the first embodiment relates to an input restriction section and a preprocessing section.
  • the information processing device on the inference side is assumed to have the form of an image capturing device (camera) having an image capturing function.
  • FIG. 12 is a diagram illustrating an example of the configuration of an information processing system as another example of the first embodiment.
  • the learning environment will be described.
  • pre-training of the initial neural network 31s is performed using a learning device 30 and a learning data set, as in the case of Figure 3.
  • an input restriction unit 25 is used that imposes a predetermined input restriction on the learning input data input to the learning device 30.
  • the input restriction unit 25 processes the data so that only image data whose distribution range of optical characteristics falls within a predetermined range is input to a neural network (in this example, an initial neural network 31s) that is machine-learned processed by the learning device 30. Specifically, the input restriction unit 25 processes image data as learning input data in the learning data set so that only image data whose distribution range of optical characteristics such as image brightness falls within a predetermined range is input to the initial neural network 31s in the learning device 30.
  • a neural network in this example, an initial neural network 31s
  • the input restriction unit 25 in this example determines whether or not the distribution range of image brightness (i.e., the distribution range of luminance values) falls within a predetermined range for each image data prepared as learning input data for the learning data set, and if the distribution range of image brightness (i.e., the distribution range of luminance values) does not fall within the predetermined range, performs image signal processing to adjust the distribution range of luminance values so that the image brightness falls within the predetermined range.
  • the distribution range of image brightness i.e., the distribution range of luminance values
  • the saturation/blackout removal process is a process for removing parts of an image where the luminance value is the maximum value (blown-out highlight parts) and blackout parts where the luminance value is the minimum value.
  • a histogram (brightness histogram) or average value is calculated for the input image (step S11), and then saturation/blackout detection processing is performed (step S12).
  • the saturation/blackout detection processing is performed while moving a window of a predetermined size, such as 64 x 64 pixels, in raster order.
  • step S13 it is determined whether or not there are any saturated or crushed black areas as a result of the saturation/crushed black detection process. This determination is for one window. If there are no saturated or crushed black areas, the process proceeds to step S17, which will be described later.
  • the process branches depending on whether the area of the detection region (detection region of saturated or blacked-out) is larger than a threshold value THa. In other words, if the area of the detection region is larger than the threshold value THa, a large area filling process is performed to fill the detection region with the average value or the histogram peak value (step S15). On the other hand, if the area of the detected region is not larger than the threshold value THa, a process of interpolating from surrounding pixels is performed as a small area filling process (step S16). After these filling processes are performed, the process proceeds to step S17.
  • step S17 it is determined whether the entire image has been scanned, i.e., whether the saturation/blackout detection process using the window described above has been performed on the entire image. If the entire image has not been scanned, the process returns to step S12. In other words, the window is moved to the next position and the saturation/blackout detection process is performed. If the entire image has been scanned, the saturation/blackout removal process in step S1 is completed.
  • FIG. 14 is a flowchart of the brightness normalization process (step S2).
  • the saturation/blackout removal process of step S1 described in Fig. 13 is performed, and then the average luminance value (m) is calculated for the image after the saturation/blackout removal process (step S21).
  • the variance value ( ⁇ ) of the luminance value is calculated for the image after the saturation/blackout removal process (step S22), and further, a standardization process (step S23) is performed using the average value m and the variance value ⁇ .
  • FIG. 15 is a flowchart of the logarithmic conversion process (step S3).
  • the saturation/blackout removal process is performed in step S1 described with reference to Fig. 13.
  • the filter characteristics tend to become clearer in the trained neural network 31b, which improves the accuracy of the evaluation of relevance, such as the filter similarity.
  • the filter efficiency can be accurately improved, and the weight of the neural network can be reduced by improving the filter efficiency while suppressing a decrease in inference accuracy.
  • the processing of the input limiting section 25 may also involve cutting out a part of the image.
  • clipping processing it is possible to ensure that each input image for learning is an image in which only the parts necessary for inference such as object recognition are extracted, thereby improving the learning accuracy of the neural network and, ultimately, the accuracy of the relevance evaluation of the filters.
  • FIG. 16 shows a flowchart of the foreground cut-out process (step S4) as an example of the cut-out process.
  • distance information of an input image is obtained (step S41).
  • a depth image corresponding to the image is prepared, and corresponding distance information (information on the distance to the subject) is obtained for each pixel position of the input image.
  • the foreground portion is detected based on the distance information (step S42). That is, for example, pixels whose distance value is equal to or less than a threshold value are detected as the foreground portion.
  • the distribution of distances may be analyzed, and the image portion whose distance is distributed on the nearest side may be detected as the foreground portion.
  • processing is performed to fill in the portions other than the foreground portion with black (step S43).
  • FIG. 17 is a flowchart of the normalization process (step S5) of the size and orientation of the subject.
  • the specific subject here means any object that can be a target object in image-related inference processing such as object detection processing and object recognition processing, such as a person, animal, vehicle, airplane, building, etc.
  • the detection of the specific subject can be performed by rule-based processing such as template matching.
  • the enlargement/reduction magnification is adjusted based on the size detection result (step S52). That is, the image enlargement or reduction magnification is adjusted so that the size of the specific subject detected in step S51 becomes a predetermined size.
  • the direction of the specific subject is detected (step S53). For example, if the specific subject is a person or an animal, the direction of the face is detected, or if the specific subject is a vehicle, the direction of the front end is detected, which is the direction in which the object as the specific subject is facing. Then, a process of adjusting the orientation of the specific subject is performed based on the orientation detection result. That is, for example, if the face of a person as a specific subject is facing diagonally to the right, the face is adjusted to face forward, and so on, so that the specific subject faces a predetermined direction.
  • the processing performed by the input limiting unit 25 is not limited to the processing exemplified above. For example, it is also possible to perform noise removal processing, lens distortion correction processing, etc. as preprocessing.
  • the input restriction unit 25 performs image signal processing such as brightness adjustment on the image data so that only image data whose distribution range of the characteristics falls within a predetermined range is input as input data to the learning device 30, but it is not essential that the input restriction unit 25 performs such image signal processing.
  • image signal processing such as brightness adjustment
  • the input restriction unit 25 outputs the previously selected "image data whose distribution range of the characteristics falls within a predetermined range" as input data for the learning device 30 as "processing to ensure that only image data whose distribution range of the characteristics falls within a predetermined range is input as input data to the learning device 30".
  • the input restriction unit 25 is provided in an information processing device (computer device) other than the information processing device having the learning device 30, for example.
  • the input limiting unit 25 may be included in the information processing device serving as the learning device 30 .
  • neural network 31bA The neural network generated by machine learning as pre-training using the learning input data processed by the input restriction unit 25 in this manner is denoted as "neural network 31bA" as shown in the figure.
  • the efficiency processing unit F1 performs filter efficiency processing on the neural network 31bA.
  • the neural network generated by the efficiency processing is referred to as the "sparse neural network 31aA.”
  • the information processing device 5A on the inference side will be described.
  • the difference from the previous information processing device 5 is that an imaging unit 51 and a pre-processing unit 50 are added, and that an inference unit 54 has the above-mentioned sparse neural network 31aA instead of the sparse neural network 31a.
  • the imaging unit 51 has an image sensor, such as a CCD (Charge Coupled Device) image sensor or a CMOS (Complementary Metal Oxide Semiconductor) image sensor, and captures an image of a subject to obtain image data (captured image data) as digital data.
  • This captured image data belongs to a type of the above-mentioned "gradation image data.”
  • the imaging unit 51 includes an imaging optical system having various optical components such as lenses used for imaging.
  • the imaging unit 51 has an AF (Auto Focus) function and an AE (Auto Exposure) function, similar to a typical digital camera.
  • the pre-processing unit 50 receives the captured image data obtained by the imaging unit 51, performs “pre-processing” on the captured image data, and outputs the result to the inference unit 54.
  • the preprocessing performs a process of changing the optical characteristics so that the distribution range of the optical characteristics of the input image data falls within the predetermined range when the distribution range of the optical characteristics of the input image data is larger than a predetermined range.
  • the preprocessing unit 50 performs a process similar to the image signal processing (see Figs. 13 to 15) of the input limiting unit 25 described above on the captured image data from the imaging unit 51.
  • the pre-processing unit 50 By providing the pre-processing unit 50 as described above, data that satisfies the same data characteristic conditions as the learning input data used during learning can be input to the sparse neural network 31aA, thereby improving the inference performance of the inference unit 54.
  • Second embodiment> In the first embodiment described above, an example was given of filter efficiency improvement in which some of the filters in a similar filter set are deleted, but the filter efficiency improvement process may also take the form of giving some of the filters in a similar filter set a function other than their original function. A second embodiment in which a different function is thus imparted to some of the filters will be described with reference to FIGS.
  • FIG. 18 is a functional block diagram for explaining the functions of CPU 11B provided in information processing device 1B as the second embodiment. Note that the hardware configuration of information processing device 1B as the second embodiment differs from information processing device 1 only in that information processing device 1B has CPU 11B instead of CPU 11, and the overall configuration is otherwise similar to that shown in FIG. 1, so a description using illustrations will be omitted.
  • FIG. 19 shows an image of filter efficiency improvement in this case.
  • Fig. 19A shows a schematic diagram of filters in the neural network 31b after pre-training.
  • Fig. 19B the similarity between each target filter is calculated for the filters in the neural network 31b.
  • Fig. 19C a filter pair having a similar relationship is identified.
  • FIG. 19D for the similar filter pairs, one is left and the others are given a function different from the original function.
  • the filter efficiency processing by the efficiency processing unit F1B as described above reduces the number of filters required to achieve a given number of functions, and in that sense, the neural network 31 is made lighter.
  • the efficiency improvement processing unit F1B in this example imparts, as the separate function described above, a function corresponding to the feature index values in the sparse region Z in the feature space.
  • Fig. 20 is an explanatory diagram of a method for providing a different function corresponding to the feature index value in the sparse region Z of the feature space, and Fig. 20A shows the feature index values calculated for each filter of the trained neural network 31b mapped onto the feature space.
  • the sparse region Z means a region in the feature space where the distribution of the feature index values is sparse.
  • FIG. 20A illustrates a pair of filters x and y as an example of a pair of filters having a similar relationship.
  • the efficiency processing unit F1B in this example detects a sparse region Z in the feature space based on the feature index values calculated for each filter. Then, for a set of similar filters, one filter is left and a function corresponding to the feature index value in the sparse region Z is imparted to the other filters. For example, a function corresponding to the feature index value at the center of the sparse region Z is imparted.
  • the other function to be imparted i.e., the combination of filter coefficients, can be mathematically derived from the feature index value of the target position in the sparse region Z.
  • FIG. 20B shows an example in which filter y is kept among similar filters x and y, and filter x is given a function corresponding to the feature index value in sparse region Z.
  • FIG. 21 is a flowchart showing an example of a processing procedure for implementing the filter efficiency improvement processing according to the second embodiment described above. The process shown in FIG. 21 is executed by the CPU 11B based on a program stored in the ROM 12 or the storage unit 19, for example.
  • the process of steps S101 to S103 determines whether there is a filter pair that has a similar relationship based on the distance between the feature index values of each filter.
  • step S103 determines in step S103 that there is a filter set that has a similar relationship
  • the process proceeds to step S201, where the CPU 11B sets the number of target filter sets F. That is, the number of filter sets that have been determined to have a similar relationship is set as F.
  • the CPU 11B resets the target filter set identifier f to "1" in step S202.
  • step S203 the CPU 11B determines whether or not there is a sparse region Z in the feature space.
  • the determination of the presence or absence of a sparse region Z can be performed by determining whether or not there is a region of a predetermined size or larger in which no feature index value exists within the target range in the feature space.
  • the CPU 11B proceeds to step S204, and performs processing to impart the function of sparse region Z to one of the filters in the f-th filter set. Specifically, in this example, a function corresponding to the feature index value at the center of sparse region Z is imparted.
  • the CPU 11B proceeds to step S205, and performs processing for imparting a different function to one of the filters in the f-th filter set.
  • the different function (combination of filter coefficients) is a function that is mathematically derived according to a predetermined rule.
  • the CPU 11B advances the process to step S206 depending on whether the process of step S204 or S205 has been executed.
  • step S206 the CPU 11B determines whether the target filter set identifier f is equal to or greater than the number of target filter sets F. In other words, it determines whether the processing in step S204 or S205 has been executed for all filter sets determined to have a similar relationship.
  • step S207 increments the target filter set identifier f by 1, and returns to step S203. This causes the processing of step S204 or S205 to be performed for the next filter set.
  • the CPU 11B ends the series of processes shown in FIG. 21.
  • the filter coefficients of the remaining similar filters can be updated to increase their power.
  • sparse regions Z can also be intentionally created by ingenuity during learning.
  • the loss calculated during learning is designed to increase the similarity of the filters. For example, the distance between the filters in the feature space is added to the loss.
  • the loss value calculated in this way it is possible to increase the similarity of the filters and make it easier for sparse regions Z to occur in the feature space.
  • FIG. 22 is a diagram illustrating the functional configuration of an information processing device 1B according to the second embodiment.
  • FIG. 22 shows only the configuration of the part related to the filter efficiency improvement process among the functional configuration of the information processing device 1B, and the other configuration is omitted from the illustration.
  • the efficiency improvement processing unit F1B possessed by the CPU 11B has the function of the similarity calculation unit F11 described above, and can be expressed as having the functions of a target filter determination unit F15 and an additional function addition unit F16.
  • the target filter determination unit F15 has a function of identifying a filter pair that has a similar relationship based on the similarity calculated by the similarity calculation unit F11, and determining, for the identified filter pair, filters that are to be targeted for adding a different function.
  • the different function imparting unit F16 imparts a function different from the original function to the filter determined as a target by the target filter determination unit F15.
  • the efficiency processing unit F1B is provided with a function for re-training the neural network 31b as a different function acquisition processing unit F17 in place of the different function imparting unit F16.
  • data on the invariant parts of neural networks such as initial neural network 31s and neural network 31b are stored in ROM 12, and data on the variable parts of neural networks such as neural network 31b and sparse neural network 31aB, which will be described later, are stored in RAM 13.
  • efficiency improvement process data DiB data used in the filter efficiency improvement process by the efficiency improvement process unit F1B is stored as efficiency improvement process data DiB in a storage device readable by the CPU 11B, such as the storage unit 19.
  • this efficiency improvement processing data DiB includes information related to the target performance.
  • FIG. 23 is a diagram for explaining an example of the configuration of an information processing device 5B on the inference side according to the second embodiment, which performs inference processing using a neural network that has been subjected to filter efficiency improvement processing according to the second embodiment.
  • the information processing device 5B differs from the information processing device 5 in that the inference unit 54 includes a sparse neural network 31aB.
  • the sparse neural network 31aB is obtained by the information processing device 1B performing filter efficiency processing on the neural network 31b by the efficiency processing unit F1B as shown in the figure.
  • the inference unit 54 when image data is provided as input data to the inference unit 54, the inference unit 54 performs inference processing such as object recognition processing using the sparse neural network 31aB. Since the sparse neural network 31aB is used as the neural network of the inference unit 54, it is possible to reduce the amount of data to be held in order to realize the inference process, and to reduce the calculation cost of the inference process.
  • FIG. 24 is a functional block diagram for explaining the function of the CPU 11C of the information processing device 1C as the third embodiment.
  • the hardware configuration of the information processing device 1C as the third embodiment differs from that of the information processing device 1 only in that the information processing device 1C includes a CPU 11C instead of the CPU 11, and the overall configuration is the same as that shown in FIG. 1 except for this point, so that the explanation using the illustration is omitted.
  • the CPU 11C has an efficiency improvement processing unit F1C.
  • the efficiency improvement processing unit F1C evaluates whether or not functions of a plurality of filters can be combined, and for a filter set that is evaluated as being able to be combined, performs processing to combine one filter with the function of the other filter. Specifically, in this example, as shown in Fig. 25, an evaluation is performed as to whether or not the functions of the target filters can be combined between adjacent layers in the neural network 31b ( ⁇ 1> in Fig. 25A). If the functions are possible, one filter is combined with the function of the other filter for the filter pair evaluated as being possible to combine ( ⁇ 2> in Fig. 25B). This is a process in which filters are combined between adjacent layers. In this example, after combining one filter with the function of the other filter in this way, a process is performed to delete the other filter ( ⁇ 3> in Fig. 25B).
  • FIG. 26 is an explanatory diagram of filter synthesis.
  • FIG. 26A illustrates, as examples of filters, a differentiation filter and a smoothing filter
  • FIG. 26B illustrates a Sobel filter formed by combining (synthesizing) these differentiation filter and smoothing filter.
  • the differential filter, smoothing filter, and Sobel filter there may be filters formed in the neural network 31b whose functions can be synthesized.
  • information indicating such combinations of filters that can be synthesized is stored as dictionary data in a specified storage device such as the memory unit 19, and a determination is made based on the dictionary data as to whether or not the filter groups targeted in the neural network 31 have a relationship in which their functions can be synthesized.
  • FIG. 27 is a flowchart illustrating an example of a processing procedure for implementing a filter efficiency improvement process according to the third embodiment. The process shown in FIG. 27 is executed by the CPU 11C based on a program stored in the ROM 12 or the storage unit 19, for example.
  • step S301 the CPU 11C resets the target layer identifier l to "1", and in the following step S302, searches for a synthesizable filter in the lth layer.
  • a synthesizable filter here means one filter in a filter pair that has a synthesizable relationship.
  • filters in the lth layer are selected in order, and a determination is made based on the dictionary data as to whether the selected filter corresponds to a synthesizable filter. This determination is then made until a filter that corresponds to a synthesizable filter is detected.
  • step S303 the CPU 11C determines whether or not a synthesizable filter has been detected. In other words, it determines whether or not a synthesizable filter has been detected during the search of the lth layer (up to the process of determining whether or not a synthesizable filter has been detected for the last filter in the lth layer).
  • step S303 If it is determined in step S303 that a synthesizable filter has been detected, the CPU 11C proceeds to step S304, and searches the l+1th layer for a filter (hereinafter referred to as "filter B") that can be synthesized with the synthesizable filter detected in the lth layer (hereinafter referred to as "filter A").
  • filter B a filter that can be synthesized with the synthesizable filter detected in the lth layer
  • filter A the search for filter B is performed based on dictionary data while sequentially selecting filters in the l+1th layer.
  • step S305 following step S304 the CPU 11C determines whether or not filter B has been detected. If it is determined that filter B has been detected, the CPU 11C proceeds to step S306, and combines filter B with filter A.
  • the dictionary data is associated with information indicating a function after the combination for each combination of filters that can be combined. The process of combining the function of filter A with filter B is performed based on the information indicating the function after the combination. Then, the CPU 11C performs a process of deleting the filter A in step S307 following step S306.
  • step S308 the CPU 11C determines whether or not the search for the l-th layer is completed. That is, the CPU 11C determines whether or not a determination has been made as to whether or not all target filters in the l-th layer are synthesizable filters. If it is determined in step S308 that the search for the l-th layer has not ended, the CPU 11C returns to step S302, whereby a search for the next synthesizable filter in the l-th layer is performed.
  • step S305 if it is determined in the previous step S305 that filter B was not detected, the CPU 11C advances the process to step S308.
  • filter B that can be synthesized with filter A detected in the lth layer does not exist in the l+1th layer, a search is performed for the next filter A in the lth layer, and a search is performed for filter B when the next filter A is detected.
  • step S308 determines whether the target layer identifier l is greater than or equal to the total number of layers L-1 (i.e., whether the lth layer currently being targeted is the layer just before the final layer). If it is determined that the target layer identifier l is not equal to or greater than the total number of layers L-1, the CPU 11C proceeds to step S310, increments the target layer identifier l by 1, and returns to step S302. As a result, a search for filter A is performed for the next layer, and if filter A is detected, a search for filter B is performed.
  • step S303 if it is determined in the previous step S303 that a synthesizable filter has not been detected (if a synthesizable filter does not exist in the lth layer), the CPU 11C advances the process to step S309.
  • a synthesizable filter does not exist in the lth layer, and if the lth layer is not the layer before the final layer, a search for filter A is performed in the next layer, and if filter A is detected, a search for filter B is performed.
  • step S309 If it is determined in step S309 that the target layer identifier l is equal to or greater than the total number of layers L-1, the CPU 11C ends the series of processes shown in FIG. 27.
  • an evaluation is performed to see whether the target filter set is in a relationship in which its functions can be combined, and if so, the function of one filter is combined with the other filter, and one filter (i.e. the filter whose function has been combined with the other filter) is deleted. This makes it possible to reduce the weight of the neural network.
  • a filter whose function has been combined with another filter is deleted.
  • the neural network is made lighter in the sense that the number of filters required to realize a given number of functions is reduced.
  • the determination of whether or not the filters can be combined is based on dictionary data, but the determination of whether or not the filters can be combined can also be done using a mathematical approach based on the coefficients of each filter to be compared.
  • a predetermined post-combination function (combination of filter coefficients) is given to the target filter to achieve filter synthesis, but filter synthesis can also be achieved by re-learning the neural network 31b. Specifically, re-learning is performed by fixing the coefficients of all filters other than the filter to which the function is to be synthesized, such as that described as filter B.
  • filters are synthesized for filter pairs that are evaluated as being in a synthesizable relationship, but it is also possible to synthesize filters for filter pairs that are evaluated as being in a similar relationship.
  • the filter efficiency improvement process ends when the filter is deleted or a different function is added, but it is also possible that the filter efficiency improvement process ends depending on the result of determining whether or not the neural network after the efficiency improvement process (the sparse neural network 31aC described below) has achieved the target performance.
  • FIG. 28 is a diagram illustrating the functional configuration of an information processing device 1C according to the third embodiment.
  • the efficiency improvement processing unit F1C included in the CPU 11C can be expressed as having the functions of a synthesis possibility determination unit F20, a filter synthesis unit F21, and a filter deletion unit F22.
  • the composition possibility determination unit F20 corresponds to a function for determining whether it is filter A or filter B in the process of FIG.
  • the filter synthesis unit F21 corresponds to a function of performing a process of synthesizing one filter with the function of the other filter pair determined by the synthesis possibility determination unit F20 as being synthesizable (see step S306 in FIG. 27).
  • the filter deletion unit F22 corresponds to a function for performing a process of deleting the other filter (filter A) (see step S307 in FIG. 27).
  • data on the invariant parts of neural networks such as initial neural network 31s and neural network 31b are stored in ROM 12, and data on the variable parts of neural networks such as neural network 31b and sparse neural network 31aC, which will be described later, are stored in RAM 13.
  • efficiency improvement process data DiC data used in the filter efficiency improvement process by the efficiency processing unit F1C is stored as efficiency improvement process data DiC in a storage device readable by the CPU 11C, such as the memory unit 19.
  • the efficiency improvement process data DiC may include the dictionary data and the like described above.
  • the dictionary data is not limited to being stored in the information processing device 1C, and may also be stored outside the information processing device 1C.
  • this efficiency improvement processing data DiC includes information related to the target performance.
  • FIG. 29 is a diagram for explaining an example of the configuration of an information processing device 5C on the inference side according to the third embodiment, which performs inference processing using a neural network that has been subjected to filter efficiency improvement processing according to the third embodiment.
  • the information processing device 5C differs from the information processing device 5 in that the inference unit 54 includes a sparse neural network 31aC.
  • the sparse neural network 31aC is obtained by performing a filter efficiency improvement process on the neural network 31b by the efficiency processing unit F1C of the information processing device 1C as shown in the figure.
  • the inference unit 54 when image data is provided as input data to the inference unit 54, the inference unit 54 performs inference processing such as object recognition processing using the sparse neural network 31aC. Since the sparse neural network 31aC is used as the neural network of the inference unit 54, the amount of data to be held in order to realize the inference process and the calculation costs of the inference process can be reduced.
  • FIG. 30 is a block diagram showing an example of the internal configuration of an information processing device 5D on the inference side according to the fourth embodiment.
  • the information processing device 5D differs from the information processing device 5A shown in FIG. 12 in that the preprocessing unit 50 is omitted and that a processor unit 52D is provided instead of the processor unit 52.
  • the processor unit 52D differs from the processor unit 52 in that it additionally has the function of a control unit F2.
  • the control unit F2 judges whether the captured image data input to the inference unit 54 satisfies a predetermined brightness characteristic condition, specifically, whether the distribution range of the image brightness falls within a predetermined range, and controls the inference result by the inference unit 54 based on the captured image data to be output, provided that a positive result is obtained from the judgment. Specifically, when the control unit F2 in this embodiment determines that the captured image data input to the inference unit 54 does not satisfy the above characteristic conditions, it causes the imaging unit 51 to perform re-imaging.
  • a predetermined brightness characteristic condition specifically, whether the distribution range of the image brightness falls within a predetermined range
  • the re-imaging it is possible to change the imaging conditions and re-execute imaging so that the captured image data satisfies the above-mentioned characteristic conditions. Therefore, according to the above configuration, even if captured image data is obtained that does not satisfy the specified brightness characteristic conditions, it is possible to appropriately perform inference using image data that has been re-captured so as to satisfy the specified brightness characteristic conditions, thereby improving inference performance by increasing the number of cases in which inference is possible.
  • the inference process is an object recognition process.
  • the input limiting unit 25 described above performs image signal processing to fit the brightness range (range from maximum brightness value to minimum brightness value) of the image area of the target object to be recognized as an object within a brightness value range (hereinafter referred to as "limited brightness range RL”) narrower than the range from the minimum brightness value to the maximum brightness value detectable by the image sensor.
  • the input limiting unit 25 may also be a processing unit that outputs pre-selected image data (i.e., image data in which the brightness range of the image area of the target object is within the limited brightness range RL in this case) to the learning device 30, rather than a processing unit that performs image signal processing.
  • pre-selected image data i.e., image data in which the brightness range of the image area of the target object is within the limited brightness range RL in this case
  • the processing of the input restriction unit 25 during learning involves adjusting the brightness range of the image area of the target object so that it falls within the restricted brightness range RL
  • the brightness range of the image area of object T1 and the brightness range of the image area of object T2 do not fall within the restricted brightness range RL.
  • the inference unit 54 will perform inference on an image of a target object whose brightness range deviates from the restricted brightness range RL assumed during learning, and there is a risk that the expected inference performance will not be achieved.
  • the control unit F2 in this embodiment performs the following process.
  • the inference unit 54 executes object recognition processing on the captured image acquired from the imaging unit 51.
  • the control unit F2 determines whether the brightness range of the target object recognition area falls within the restricted brightness range RL. If the brightness range of the target object recognition area falls within the restricted brightness range RL, the control unit F 2 performs processing to output the object recognition processing result of the inference unit 54 to the communication unit 53 .
  • the control unit F2 causes the imaging unit 51 to re-image. Specifically, the control unit F2 causes the imaging unit 51 to re-image after changing the exposure setting so that the brightness range of the target object recognition area falls within the restricted brightness range RL. For example, when the brightness range deviates into an area darker than the limited brightness range RL, as in the case of the object T1 described above, re-imaging is performed with an exposure setting that is overexposed with respect to the appropriate exposure (exposure for making the brightness of the entire image appropriate), as illustrated in Fig. 32A.
  • the degree of overexposure or underexposure is determined according to the degree of deviation of the brightness range of the target object recognition area from the limited brightness range RL.
  • FIG. 33 is a flowchart showing an example of a processing procedure for realizing the functions of the fourth embodiment described above.
  • the processor unit 52D inputs a captured image. That is, the captured image (captured image data) is input from the imaging unit 51.
  • the processor unit 52D executes inference processing. That is, in this example, the processor unit 52D performs inference processing as object recognition processing using the captured image as input data.
  • step S403 the processor unit 52D determines whether or not a target object has been recognized. If the target object is recognized, the processor unit 52D proceeds to step S404, where it performs a brightness analysis on the target object recognition region in the captured image. That is, in this example, a process of identifying the brightness range of the target object recognition region is performed.
  • step S405 the processor unit 52A determines whether or not a predetermined brightness characteristic condition is satisfied. Specifically, it determines whether or not the brightness range of the target object recognition area falls within the restricted brightness range RL.
  • step S407 determines whether the processing has ended, that is, whether a predetermined condition that has been previously set as the processing end condition shown in FIG. 33 has been met, such as, for example, the power supply to the information processing device 5D being turned off. If it is determined that the process is not complete, the processor unit 52D proceeds to step S409 to input the next captured image, and returns to step S402. That is, the processor unit 52D inputs the captured image of the next frame by the imaging unit 51, and performs inference processing based on the captured image in step S402.
  • step S405 If it is determined in step S405 that the predetermined brightness characteristic condition is not satisfied, the processor unit 52D proceeds to step S406, where re-imaging is performed under imaging conditions that satisfy the characteristic condition, and the process returns to step S401. That is, in this example, the exposure setting is changed so that the brightness range of the target object recognition area falls within the restricted brightness range RL, and the imaging unit 51 is caused to re-imaging, and the captured image obtained by this imaging is input.
  • step S408 the processor unit 52D advances the process to step S408. In other words, in this example, if the target object has not been recognized in the inference process performed in step S402, the inference result for the input captured image is not output.
  • step S408 the processor unit 52D ends the series of processing steps shown in FIG.
  • FIG. 34 is a block diagram showing an example of the internal configuration of an information processing device 5E according to the fifth embodiment.
  • the difference from the information processing device 5D shown in FIG. 30 above is that a separate sensor unit 55 is added, and that a processor unit 52E is provided instead of the processor unit 52D.
  • the separate sensor unit 55 is a sensor unit equipped with a sensor separate from the image sensor possessed by the imaging unit 51.
  • an EVS Event-Based Vision Sensor
  • the EVS is a sensor that has a pixel array unit in which pixels having light receiving elements are arranged two-dimensionally, and detects a change in the amount of light received by each pixel that is equal to or greater than a predetermined amount as an event. This EVS makes it possible to identify the image area of a moving object within the angle of view of the imaging unit 51.
  • the processor unit 52E differs from the processor unit 52D in that it has a control unit F2E instead of the control unit F2.
  • the control unit F2E determines that the image data input to the inference unit 54 does not satisfy a predetermined brightness characteristic condition, it adjusts the image data so that the predetermined brightness characteristic condition is satisfied.
  • control unit F2E determines whether the distribution range of the optical characteristics of the image data input to the inference unit 54 (the distribution range of brightness in this example) is within a predetermined range, and if the result of the determination is that the distribution range of the optical characteristics of the image data is not within the predetermined range (is larger than the predetermined range), it performs processing to change the optical characteristics so that the distribution range of the optical characteristics of the image data falls within the above-mentioned predetermined range.
  • the processing by the control unit F2E corresponds to the processing by the "pre-processing unit" in the claims.
  • FIG. 35 is an explanatory diagram of a case where the brightness range of the image portion of the target object does not fall within the restricted brightness range RL.
  • the image area of the target object is identified as an image area in which a moving object is captured.
  • the image area of the target object in this case is identified based on detection information of the EVS as the separate sensor unit 55.
  • FIG. 35A shows an image of a target object as a car traveling on a road as an example of a captured image. In this captured image, a bright area illuminated by a street lamp is also captured, and the car is present in an area not illuminated by the street lamp.
  • the exposure setting in the imaging unit 51 is set to optimize the brightness of the entire image, and therefore the car tends to be captured darkly in the captured image in FIG. 35A.
  • the image area of the target object will be referred to as the "target object presence area.”
  • an image of the target object presence area is cut out from the captured image, and the cut-out image is provided as input data to the inference unit 54.
  • control unit F2E When the control unit F2E detects a target object presence area based on the detection information of the EVS, it determines whether the brightness range of the target object presence area falls within the restricted brightness range RL. Then, if it determines that the brightness range of the target object presence area does not fall within the restricted brightness range RL, it performs a process to offset the brightness of the cut-out image of the target object presence area, as exemplified in FIG. 35B. Specifically, it offsets the brightness of the cut-out image so that the brightness range of the target object presence area falls within the restricted brightness range RL.
  • FIG. 36 is an explanatory diagram of a case where a plurality of target objects are captured in a captured image.
  • Figure 36A shows an example in which a target object (called object T2) existing in an area illuminated by a street light is captured in addition to a target object (called object T1) existing in an area not illuminated by a street light as in Figure 35A above.
  • object T2 existing in an area illuminated by a street light
  • object T1 existing in an area not illuminated by a street light
  • the brightness range of the object T1 does not fall within the limited brightness range RL, as in the case of FIG. 35A, while the brightness range of the object T2 falls within the limited brightness range RL.
  • control unit F2B does not offset the brightness of the target object as object T2 as illustrated in FIG. 36B, and provides the cut-out image of object T2 with its brightness unchanged as input data to the inference unit 54.
  • the brightness is offset so that the brightness range of the cut-out image falls within the restricted brightness range RL as shown in FIG. 36C, and the offset is provided as input data to the inference unit 54.
  • the brightness range of the target object presence area may be wider than the limited brightness range RL.
  • Figure 37 shows an example of a captured image of a car traveling at night with its headlights turned on as high beams.
  • the difference between the maximum and minimum luminance values in the target object presence area i.e., the maximum difference in brightness
  • the maximum difference in brightness of the target object presence area may be greater than the maximum difference in brightness of the limited brightness range RL (hereinafter referred to as "maximum difference DL").
  • the control unit F2E determines whether the maximum difference in brightness for the cut-out image of the target object presence area is equal to or less than the maximum difference DL, and if the maximum difference in brightness is not equal to or less than the maximum difference DL, performs processing to compress the brightness range of the cut-out image.
  • the control unit F2E in this example determines whether the brightness range of the cut-out image falls within the restricted brightness range RL after brightness compression, and if it does not fall within the restricted brightness range RL, performs processing to offset the brightness so that the brightness range of the cut-out image falls within the restricted brightness range RL.
  • FIG. 38 shows an image of this process. If the maximum difference in brightness of the cut-out image exceeds the maximum difference DL in brightness of the restricted brightness range RL, as shown by ⁇ 1> in the figure, a process is performed to compress the brightness range of the cut-out image, as shown by ⁇ 2> in the figure. Then, if the brightness range of the cut-out image after this compression does not fall within the restricted brightness range RL, a process is performed to offset the brightness of the cut-out image after compression so that the brightness range falls within the restricted brightness range RL, as shown by ⁇ 3> in the figure.
  • a linear compression method such as that shown in FIG. 39 can be used as a compression method for the brightness range.
  • a non-linear compression method such as that shown in FIG. 40 can be used.
  • FIG. 41 is a flowchart showing an example of a processing procedure for realizing the functions of the fifth embodiment described above.
  • the processor unit 52E inputs a captured image and detection information from another sensor, that is, an image captured by the imaging section 51 and detection information from the other sensor section 55 (detection information from the EVS in this example).
  • step S502 following step S501 the processor unit 52E performs a process for detecting a target object presence area based on detection information from another sensor. That is, in this example, a process for detecting a target object presence area as an image area of a moving object is performed based on detection information from the EVS.
  • step S503 the processor unit 52E determines whether or not a target object existence region has been detected. For confirmation, a plurality of target object existence regions may be detected by the detection process in step S502 (see FIG. 36A).
  • step S503 If it is determined in step S503 that a target object existence region has been detected, the processor unit 52E proceeds to step S504 and performs processing to cut out the target object existence region. In other words, it cuts out an image of the target object existence region from the captured image input in step S501.
  • step S505 the processor unit 52E determines whether or not there is a clipped image whose maximum difference in brightness exceeds the maximum difference in brightness DL of the limited brightness range RL. If it is determined that there is a cut-out image whose maximum difference in brightness exceeds the maximum difference DL, the processor unit 52E proceeds to step S506 and performs processing to compress the brightness range of the corresponding cut-out image. For this compression processing, the above-mentioned linear compression method or nonlinear compression method can be adopted. After executing the compression process in step S506, the processor unit 52E advances the process to step S507.
  • step S505 if it is determined in step S505 that there is no cut-out image whose maximum brightness difference exceeds the maximum difference DL, the processor unit 52E skips step S506 and proceeds to step S507.
  • step S507 the processor unit 52E determines whether or not there is a clipped image that does not fall within the limited brightness range RL. That is, it determines whether or not there is a clipped image whose brightness range does not fall within the limited brightness range RL. If it is determined that there is a cut-out image that does not fall within the restricted brightness range RL, the processor unit 52E proceeds to step S508 and performs a process of offsetting the brightness of the corresponding cut-out image, specifically, a process of offsetting the brightness of the corresponding cut-out image so that the brightness range falls within the restricted brightness range RL. After executing the offset process in step S508, the processor unit 52E advances the process to step S509.
  • step S507 if it is determined in step S507 that there are no cropped images that do not fall within the restricted brightness range RL, the processor unit 52E skips the process of step S508 and proceeds to step S509.
  • step S509 the processor unit 52E performs inference processing based on the cut-out image, i.e., inference processing using the cut-out image as input data (in this example, object recognition processing).
  • step S510 the processor unit 52E determines whether or not the processing has ended, that is, whether or not a predetermined condition that has been previously set as the processing end condition shown in FIG. 41 has been met, such as the power supply to the information processing device 5E being turned off. If it is determined that the process is not completed, the processor unit 52E returns to step S501. This makes it possible to detect a target object presence region and adjust (compress or offset) the brightness of the target object presence region for the captured image of the next frame.
  • the processor unit 52E ends the series of processing steps shown in FIG. 41.
  • an EVS is given as an example of the separate sensor unit 55 used to detect the target object presence area, but it is also possible to use a depth sensor such as a ToF (Time of Flight) sensor as the separate sensor unit 55.
  • the target object presence area is detected not as an image area of a moving object, but as an image area of a subject identified from distance information, such as a subject existing within a specified distance range.
  • the separate sensor unit 55 can be omitted. For example, it is possible to detect a moving object from a motion vector of an image captured by the imaging unit 51.
  • the inference result by the inference unit 54 is output to an external device via the communication unit 53, but it is also possible to output not only the inference result but also the captured image used for the inference to the external device.
  • FIG. 42 is a block diagram showing an example of the internal configuration of an information processing device 5F as a modification of the fifth embodiment, which is capable of outputting captured images together with inference results in this way.
  • the difference with the information processing device 5E shown in Figure 34 above is that it is equipped with an output image signal processing unit 56, and the image captured by the imaging unit 51 can be output to an external device via this output image signal processing unit 56.
  • the control unit F2E adjusts the brightness of the low-illuminance subject and the high-illuminance subject so that their respective brightness ranges fall within the restricted brightness range RL ( ⁇ 1> and ⁇ 2> in the figure).
  • the entire captured image is output with its original brightness, as shown by ⁇ 3> in the figure.
  • the information processing device 5F can be described as having a path for outputting a captured image including a low-illumination subject and a high-illumination subject when the low-illumination subject and the high-illumination subject are captured, and a path for adjusting the brightness ranges of the image region of the low-illumination subject and the image region of the high-illumination subject to a brightness range between the brightness ranges of the low-illumination subject and the high-illumination subject in the captured image (output image), and outputting the adjusted brightness range to the inference device 54 (sparse neural network 31aA).
  • the embodiment is not limited to the specific example described above, and various modified configurations may be adopted.
  • the inference assumed in the present technology is not limited to the inference related to an image.
  • the present technology can be widely and suitably applied to inference using a neural network, such as inference related to sound information (for example, for use in a voice changer, etc.), inference related to motion information such as acceleration information and angular velocity information (for example, for use in motion prediction, etc.), and inference related to text information (for example, for use in translation, etc.).
  • filter relevance evaluation is not limited to evaluation from the standpoint of similarity or whether or not the filters can be combined, and relevance evaluation can also be performed from other standpoints.
  • the information processing device on the inference side is configured as an imaging device equipped with an imaging unit
  • the information processing device on the inference side may also be configured not to have an imaging unit.
  • image data input to a learning device or an inference device is gradation image data when performing inference related to an image.
  • the image data referred to here means data indicating an optical value for each pixel, and may be image data other than gradation image data, such as distance image data (depth image data) indicating a distance value for each pixel obtained by an optical ranging method such as ToF (Time of Flight) ranging, polarization image data indicating a value representing the polarization state of incident light for each pixel, or a thermal image indicating the temperature (amount of infrared light received) for each pixel.
  • distance image data depth image data
  • ToF Time of Flight
  • polarization image data indicating a value representing the polarization state of incident light for each pixel
  • thermal image indicating the temperature (amount of infrared light received) for each pixel.
  • the image data as "data indicating an optical value for each pixel” may be data based on a light receiving signal obtained by a light receiving sensor having a light receiving element for each pixel.
  • the "light” referred to here includes not only light in the visible light band but also light in the invisible light band.
  • the sparse neural network 31aA may also be a neural network on which filter efficiency processing has been performed as the second or third embodiment.
  • the information processing method as an embodiment is an information processing method in which an information processing device evaluates the relevance of a plurality of filters possessed by a machine-learned neural network, and performs filter efficiency processing based on the relevance evaluation result.
  • an information processing device evaluates the relevance of a plurality of filters possessed by a machine-learned neural network, and performs filter efficiency processing based on the relevance evaluation result.
  • the efficiency improvement process is based on the relevance between filters, the efficiency improvement process can be performed in such a way that re-learning of the neural network after the efficiency improvement process is not required. For example, even if some of the filters in a similar relationship are deleted or given a different function, the functions of the part of the filters can be substituted by other filters in a similar relationship, so re-learning of the neural network is not required. In addition, in the composition of filters, the functions of each filter before the composition are inherited by the combined filter, so re-learning of the network is not required. Thus, according to the information processing method of the embodiment, it is possible to eliminate the need to re-learn the neural network after the filter efficiency improvement process, thereby shortening the time required to reduce the weight of the neural network.
  • the relevance is evaluated by evaluating the similarity between a plurality of filters, and a process of keeping some of the filters that are similar and deleting the others is performed, while increasing the power of the remaining filters (see the first embodiment). Even if some of the similar filters are deleted as described above, the functions of the deleted filters can be substituted by other similar filters, making it unnecessary to re-learn the neural network. Therefore, it is possible to realize a lightweight neural network by reducing the number of filters, while suppressing performance degradation.
  • the similarity is evaluated based on the characteristic index value indicating the characteristics of the filter, which is calculated based on the coefficient of the filter. This allows the similarity between filters to be appropriately evaluated.
  • the relevance is evaluated by evaluating the similarity between a plurality of filters, and a process is performed in which some of the filters that are similar are retained and the others are given a function different from their original function (see the second embodiment).
  • This reduces the number of filters required to realize a given number of functions, and in that sense, the neural network is made lighter. In this case, too, re-learning the neural network is not required to reduce the weight of the neural network, and the time required to reduce the weight of the neural network can be shortened.
  • the similarity is evaluated based on the characteristic index value indicating the characteristics of the filter, which is calculated based on the coefficient of the filter. This allows the similarity between filters to be appropriately evaluated.
  • the weight of the neural network can be reduced in the sense that the number of filters required to realize a predetermined number of functions is reduced.
  • the first neural network is a neural network having a plurality of filters, in which after machine learning is performed, the similarity of the plurality of filters is evaluated, and a process is performed in which some of the filters that are in a similar relationship identified from the similarity evaluation result are deleted and the others are left, and a process is performed in which the power of the remaining filters is increased. Even if some of the similar filters are deleted, the functions of the deleted filters can be substituted by other filters that are similar to the deleted filters, so there is no need to re-learn the neural network.
  • a third neural network is a neural network having a plurality of filters, in which after machine learning is performed, the similarity of the plurality of filters is evaluated, and a process is performed in which some of the filters that have a similar relationship identified from the similarity evaluation result are retained, and the remaining filters are given a function different from their original function. This reduces the number of filters required to realize a given number of functions, and in that sense, the neural network is made lighter. In this case, too, re-learning the neural network is not required to reduce the weight of the neural network, and the time required to reduce the weight of the neural network can be shortened.
  • a third neural network is a neural network having a plurality of filters, in which after machine learning is performed, an evaluation is performed on whether functions of the plurality of filters can be combined, and for a filter set that is evaluated as being capable of being combined, a process is performed in which one filter is combined with the function of the other filter.
  • This makes it possible to obtain a neural network in which the function of one filter is combined with the function of the other filter for a pair of filters that have a relationship in which the function can be combined. Therefore, it is possible to delete a filter whose function has been combined with another filter, and the weight of the neural network can be reduced.
  • the weight of the neural network can be reduced in the sense that the number of filters required to realize a predetermined number of functions is reduced.
  • the functions of each filter before the composition are inherited by the combined filter, so that re-learning of the network is not required, and therefore the time required for reducing the weight of the neural network can be shortened.
  • the first information processing device of the embodiment (1) has a neural network having a plurality of filters, in which machine learning is performed, and then a similarity evaluation is performed on the plurality of filters.
  • the neural network (sparse neural network 31a) is subjected to a process of deleting some of the filters that have a similar relationship identified from the similarity evaluation result and leaving the others, and a process of increasing the power of the remaining filters.
  • the first information processing device is equipped with an inference device that performs inference based on input data using the neural network (see the first embodiment). Such a first information processing device makes it possible to eliminate the need to re-learn the neural network when reducing the weight of the neural network of the inference unit. Therefore, the time required to reduce the weight of the neural network can be shortened.
  • the evaluation of similarity is performed based on the characteristic index value indicating the characteristic of the filter, which is calculated based on the coefficient of the filter. This allows the neural network to be appropriately weighted down based on appropriately evaluated similarities between filters. Therefore, it is possible to suppress the decrease in inference accuracy of the neural network that accompanies weight reduction.
  • a second information processing device (same 1B) as an embodiment has a neural network having a plurality of filters, in which after machine learning is performed, the plurality of filters are evaluated for similarity, and a process is performed in which some of the filters that have a similar relationship identified from the similarity evaluation result are retained, and the remaining filters are given a function different from their original function (sparse neural network 31aB), and the device is equipped with an inference device that performs inference based on input data using the neural network (see the second embodiment).
  • Such a second information processing device makes it possible to eliminate the need to re-learn the neural network when reducing the weight of the neural network of the inference unit. Therefore, the time required to reduce the weight of the neural network can be shortened.
  • the evaluation of similarity is performed based on the characteristic index value indicating the characteristic of the filter, which is calculated based on the coefficient of the filter. This allows the neural network to be appropriately weighted down based on appropriately evaluated similarities between filters. Therefore, it is possible to suppress the decrease in inference accuracy of the neural network that accompanies weight reduction.
  • a third information processing device as an embodiment is a neural network having a plurality of filters, in which after machine learning is performed, an evaluation is performed on whether functions of the plurality of filters can be combined, and for a filter set that is evaluated as being combineable, a process is performed to combine the function of one filter with the function of the other filter, and the information processing device is equipped with an inference device that uses the neural network to perform inference based on input data (see the third embodiment).
  • this third information processing device it becomes possible to eliminate the need to re-learn the neural network when reducing the weight of the neural network of the inference unit. Therefore, the time required to reduce the weight of the neural network can be shortened.
  • the information processing system of the embodiment includes a pre-processing unit (same 50, control unit F2E) that inputs image data, which is data indicating photochemical values for each pixel, and performs processing to change the optical properties so that the distribution range falls within a predetermined range if the distribution range of the optical properties of the image data is larger than a predetermined range, and an inference unit that performs inference processing using a neural network with the image data processed by the pre-processing unit as input data (see another example of the first embodiment, the fifth embodiment).
  • the distribution range of optical properties such as the distribution range of brightness, may be uniformed for image data used as learning input data.
  • the information processing system includes a first system including a learning processing unit (learning device 30) that performs machine learning processing of a neural network using image data, which is data indicating optical values for each pixel, as learning input data, and an input restriction unit (25) that processes the image data such that only image data whose distribution range of optical properties falls within a predetermined range is input to the neural network that is machine learning processed by the learning processing unit, and a second system including a preprocessing unit and an inference device.
  • learning processing unit learning device 30
  • image data which is data indicating optical values for each pixel, as learning input data
  • an input restriction unit (25) that processes the image data such that only image data whose distribution range of optical properties falls within a predetermined range is input to the neural network that is machine learning processed by the learning processing unit
  • a second system including a preprocessing unit and an inference device.
  • the learning processing unit performs machine learning processing of the neural network using only the image data whose distribution range falls within a predetermined range, which is input by the input restriction unit, as learning input data
  • the inference device performs inference processing using a neural network (sparse neural network 31aA) that has been machine-learned by the learning processing unit.
  • a neural network sparse neural network 31aA
  • image data with a uniform distribution range of optical properties can be input as input image data to the trained neural network, thereby improving the inference accuracy.
  • the optical characteristic is the brightness of the image. This makes it possible to input image data with a uniform distribution range of image brightness as input image data to the trained neural network, in correspondence with a case where machine learning of the neural network is performed using learning input data in which the distribution range of image brightness in the image data is uniform, thereby improving the accuracy of inference.
  • the inference process is object recognition process targeting image data as input data to the inference unit. This makes it possible to improve the inference accuracy when performing object recognition processing as inference processing using a neural network.
  • the pre-processing unit controls the pre-processing unit (control unit F2E) performs a characteristic change process to change the optical characteristics for the image data of the detection area, and executes object recognition processing by an inference device on the image data that has been subjected to the characteristic change process (see the fifth embodiment).
  • This makes it possible to perform object recognition processing by changing the characteristics so that the distribution range of the optical characteristics for the image area serving as the detection area for an object falls within a specified range, even if the distribution range of the optical characteristics for the image area falls outside the specified range. Therefore, it is possible to improve the accuracy of object recognition and the inference performance in that the number of cases in which inference is possible can be increased.
  • the neural network possessed by the inference unit is a neural network having a plurality of filters, and after machine learning is performed, a similarity evaluation is performed for the plurality of filters, and a process of deleting some of the filters that are in a similar relationship identified from the similarity evaluation result and leaving the others, and a process of increasing the power of the remaining filters is performed; or after machine learning is performed, a similarity evaluation is performed for the plurality of filters, and a process of leaving some of the filters that are in a similar relationship identified from the similarity evaluation result and giving the others a function different from their original function is performed; or after machine learning is performed, an evaluation is performed for the plurality of filters as to whether functions can be combined, and for a filter set that is evaluated as being able to be combined, a process of combining one filter with the function of the other filter is performed.
  • a program can be considered that causes, for example, a CPU, a DSP, or a device including these to execute the processing by the efficiency processing units F1, F1B, F1C, etc. described above in Figures 9, 21, 27, etc., or the processing of inference using an efficiency-processed neural network.
  • the first program of the embodiment is a program readable by a computer device, which evaluates the relevance of a plurality of filters possessed by a machine-learned neural network, and causes the computer device to realize an efficiency processing function for improving the efficiency of the filters based on the results of the relevance evaluation.
  • Such a first program can realize the functions of the efficiency processing units F1, F1B, F1C described above in devices such as the information processing devices 1, 1B, 1C, etc.
  • a second program of the embodiment is a program readable by a computer device, and causes the computer device to realize a function of making inferences based on input data using a neural network in which filter efficiency processing has been performed based on the relevance evaluation results for multiple filters in the network.
  • Such a second program can realize a function of performing inference using an efficiently processed neural network in equipment such as the information processing device 5, 5A, 5B, 5C, 5D, 5E, etc.
  • the above-mentioned program can be recorded in advance in a HDD serving as a recording medium built into a device such as a computer device, or in a ROM within a microcomputer having a CPU.
  • the software may be temporarily or permanently stored (recorded) on a removable recording medium such as a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto Optical) disk, a DVD (Digital Versatile Disc), a Blu-ray Disc (registered trademark), a magnetic disk, a semiconductor memory, a memory card, etc.
  • a removable recording medium may be provided as so-called package software.
  • such a program can be installed in a personal computer or the like from a removable recording medium, or can be downloaded from a download site via a network such as a LAN (Local Area Network) or the Internet.
  • LAN Local Area Network
  • Such a program is suitable for providing a wide range of processing as an embodiment.
  • a personal computer a portable information processing device, a mobile phone, a game device, a video device, a PDA (Personal Digital Assistant), etc.
  • the personal computer can function as a device that realizes the processing as the efficiency processing unit or inference device of the present disclosure.
  • the present technology can also be configured as follows.
  • An information processing device An information processing method comprising: evaluating the relevance of a plurality of filters possessed by a machine-learned neural network; and performing processing to improve the efficiency of the filters based on the results of the evaluation of the relevance.
  • the information processing method further comprising: evaluating whether functions of a plurality of the filters can be combined as the evaluation of the relevance; and, for a filter pair that is evaluated as being capable of being combined, performing a process of combining one filter with the function of the other filter.
  • a neural network having a plurality of filters A neural network in which after machine learning, a similarity evaluation is performed for a plurality of the filters, and a process is performed in which some of the filters that are identified as having a similar relationship from the results of the similarity evaluation are deleted and the others are left, and a process is performed in which the power of the remaining filters is increased.
  • a neural network having a plurality of filters A neural network in which after machine learning has been performed, a similarity evaluation is performed for a number of the filters, and some of the filters that are identified as having a similar relationship from the results of the similarity evaluation are retained, while the rest are given a function different from their original function.
  • a neural network having a plurality of filters After machine learning was performed, an evaluation was performed on the multiple filters to see if their functions could be combined, and for filter pairs that were evaluated as being capable of being combined, a process was performed to combine one filter with the function of the other filter in this neural network.
  • An information processing device comprising: a neural network having a plurality of filters, in which machine learning is performed, and then a similarity evaluation is performed for the plurality of filters, and a process is performed in which some of the filters having a similar relationship identified from the similarity evaluation result are deleted and the others are left, and a process is performed in which the power of the remaining filters is increased; and the information processing device is equipped with an inference unit that performs inference based on input data using the neural network.
  • the evaluation of the similarity is performed based on a characteristic index value indicating a characteristic of the filter, the characteristic index value being calculated based on a coefficient of the filter.
  • An information processing device comprising: a neural network having a plurality of filters, in which after machine learning has been performed, a similarity evaluation is performed for the plurality of filters, and a process is performed in which some of the filters having a similar relationship identified from the similarity evaluation result are retained and the remaining filters are given a function different from their original function; and the information processing device is equipped with an inference device that performs inference based on input data using the neural network.
  • the evaluation of the similarity is performed based on a feature index value indicating a feature of the filter calculated based on a coefficient of the filter.
  • An information processing device comprising: a neural network having a plurality of filters, in which after machine learning is performed, an evaluation is performed on whether functions of the plurality of filters can be combined, and for a set of filters that are evaluated as being combineable, a process is performed to combine one filter with the function of the other filter; and the information processing device is equipped with an inference unit that performs inference based on input data using the neural network.
  • a pre-processing unit that inputs image data which is data indicating a photochemical value for each pixel, and when a distribution range of optical properties of the image data is larger than a predetermined range, performs a process of changing the optical properties so that the distribution range falls within the predetermined range; an inference unit that performs inference processing using a neural network with the image data that has been processed by the preprocessing unit as input data.
  • a learning processing unit that performs machine learning processing on a neural network using image data, which is data indicating an optical value for each pixel, as learning input data; an input restriction unit that processes the image data such that only the image data having a distribution range of optical characteristics falling within a predetermined range is input to the neural network that is machine-learned by the learning processing unit; and a second system including the preprocessing unit and the inference unit;
  • the learning processing unit performs machine learning processing of the neural network using only the image data input by the input restriction unit, the image data having the distribution range falling within the predetermined range, as the learning input data;
  • the information processing system according to (15), wherein in the second system, the inference device performs inference processing using the neural network that has been machine-learned by the learning processing unit.
  • the inference process is an object recognition process targeting the image data as the input data to the inference device.
  • the pre-treatment unit includes: The information processing system described in (18) above, wherein when the distribution range of optical characteristics for an object detection area in the image data is outside the specified range, a characteristic change process is performed to change the optical characteristics for the image data of the detection area, and the object recognition process is executed by the inference device on the image data that has been subjected to the characteristic change process.
  • the neural network of the inference unit is a neural network having a plurality of filters, After machine learning is performed, a similarity evaluation is performed for the plurality of filters, and a process of deleting some of the filters having a similar relationship identified from the similarity evaluation result and leaving the others, and a process of increasing the power of the remaining filters are performed. Or, After machine learning is performed, a similarity evaluation is performed for a plurality of the filters, and a process is performed in which some of the filters that are similar to each other and are identified based on the similarity evaluation result are retained, and a function different from the original function is assigned to the remaining filters.
  • the information processing system according to any one of (15) to (19).

Landscapes

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

Abstract

本技術に係る情報処理方法は、機械学習されたニューラルネットワークが有する複数のフィルタについて関連性を評価し、該関連性の評価結果に基づいてフィルタの効率化処理を行うものである。

Description

情報処理方法、ニューラルネットワーク、情報処理装置、情報処理システム
 本技術は、情報処理方法、ニューラルネットワーク、情報処理装置、及び情報処理システムに関するものであり、特には、ニューラルネットワークの軽量化に係る技術に関する。
 ニューラルネットワークを用いた推論器として、例えばCNN(Convolutional Neural Network)方式の推論器は、他方式の推論器と比較して物体認識や物体検出等の推論性能が比較的良好である特徴を有する。しかしながらその反面、演算量が多く演算用メモリも多く要するものとなり、特に組み込み用途での使用には不利であった。
 なお、関連する従来技術に関しては下記特許文献1を挙げることができる。特許文献1には、ニューラルネットワークのプルーニングに係る技術として、ニューラルネットワークにおけるフィルタの重要性を推論し、該推論の結果に基づきフィルタを取り除くことで、ニューラルネットワークのサイズを縮小化する技術が開示されている。
米国特許出願公開第2019/0294929号明細書
 ここで、ニューラルネットワークの軽量化を図る上では、特許文献1のようにフィルタの重要度(フィルタサイズ)に基づいて低重要度のフィルタを削除するプルーニングが行われる。
 しかしながら、プルーニングを行う場合には、通常、フィルタの削除を行うごとにニューラルネットワークの再学習を行うものとされており、軽量化を実現する上での学習回数が増大してしまう。
 本技術は上記事情に鑑み為されたものであり、ニューラルネットワークの軽量化に要する時間の短縮化を図ることを目的とする。
 本技術に係る情報処理方法は、情報処理装置が、機械学習されたニューラルネットワークが有する複数のフィルタについて関連性を評価し、該関連性の評価結果に基づいてフィルタの効率化処理を行うものである。
 このようにフィルタの重要性ではなく、複数のフィルタの関連性に基づいてフィルタの効率化処理を行うようにすることで、例えば類似関係にあるフィルタの一部を残し他を削除するといった処理や、類似関係にあるフィルタの一部を残し他に元機能とは別機能を付与するといった処理、或いは機能を合成可能な関係にある他のフィルタの機能を合成するといった処理等としての、フィルタの効率化処理を行うことが可能となる。そして、フィルタ間の関連性に基づく効率化処理としているので、該効率化処理としては、効率化処理後のニューラルネットワークについて再学習が不要となるように行うことが可能となる。例えば、類似関係にあるフィルタの一部を削除したり別機能を付与したりしても、該一部のフィルタの機能は、これと類似関係にある他のフィルタで代用できるためニューラルネットワークの再学習は不要となる。また、フィルタの合成では合成後のフィルタに合成前の各フィルタの機能が引き継がれるためネットワークの再学習は不要となる。
 また、本技術に係るニューラルネットワークは、複数のフィルタを有するニューラルネットワークであって、機械学習が行われた後に、複数の前記フィルタについての類似性の評価が行われ、該類似性の評価結果から特定された類似関係にあるフィルタの一部を削除し他を残す処理と、残したフィルタのパワーを上げる処理とが行われたもの、又は、機械学習が行われた後に、複数の前記フィルタについての類似性の評価が行われ、該類似性の評価結果から特定された類似関係にあるフィルタの一部を残し、他に元機能とは別機能を付与する処理が行われたもの、又は、機械学習が行われた後に、複数の前記フィルタについて機能の合成が可能であるかの評価が行われ、合成が可能と評価されたフィルタ組について、一方のフィルタに他方のフィルタの機能を合成する処理が行われたものである。
 類似関係にあるフィルタの一部を削除等しても、該一部のフィルタの機能は、これと類似関係にある他のフィルタで代用できるため、ニューラルネットワークの再学習は不要である。従って、上記のように類似関係にあるフィルタについて一部のフィルタを削除し他を残す処理や、一部を削除し他に元機能とは別機能を付与する処理を行う場合、ニューラルネットワークの再学習は不要である。
 また、フィルタの合成を行う場合には、機能が他のフィルタに合成されたフィルタを削除することが可能となり、ニューラルネットワークの軽量化を図ることができる。或いは、機能が他のフィルタに合成されたフィルタに対し、元機能とは別機能を付与することも可能であり、その場合には、所定数の機能を実現するために要するフィルタ数の削減が図られるという意味で、ニューラルネットワークの軽量化が図られる。そして、フィルタの合成では合成後のフィルタに合成前の各フィルタの機能が引き継がれるためネットワークの再学習は不要である。
 また、本技術に係る情報処理装置は、複数のフィルタを有するニューラルネットワークを用いて入力データに基づく推論を行う推論器を備えたものであって、前記推論器が有する前記ニューラルネットワークが、機械学習が行われた後に、複数の前記フィルタについての類似性の評価が行われ、該類似性の評価結果から特定された類似関係にあるフィルタの一部を削除し他を残す処理と、残したフィルタのパワーを上げる処理とが行われたもの、又は、機械学習が行われた後に、複数の前記フィルタについての類似性の評価が行われ、該類似性の評価結果から特定された類似関係にあるフィルタの一部を残し、他に元機能とは別機能を付与する処理が行われたもの、又は、機械学習が行われた後に、複数の前記フィルタについて機能の合成が可能であるかの評価が行われ、合成が可能と評価されたフィルタ組について、一方のフィルタに他方のフィルタの機能を合成する処理が行われたものである。
 類似関係にあるフィルタの一部を削除等しても、該一部のフィルタの機能は、これと類似関係にある他のフィルタで代用できるため、ニューラルネットワークの再学習は不要である。従って、上記のように類似関係にあるフィルタについて一部のフィルタを削除し他を残す処理や、一部を削除し他に元機能とは別機能を付与する処理を行う場合、ニューラルネットワークの再学習は不要である。
 また、フィルタの合成を行う場合には、機能が他のフィルタに合成されたフィルタを削除することが可能となり、ニューラルネットワークの軽量化を図ることができる。或いは、機能が他のフィルタに合成されたフィルタに対し、元機能とは別機能を付与することも可能であり、その場合には、所定数の機能を実現するために要するフィルタ数の削減が図られるという意味で、ニューラルネットワークの軽量化が図られる。そして、フィルタの合成では合成後のフィルタに合成前の各フィルタの機能が引き継がれるためネットワークの再学習は不要である。
 また、本技術に係る情報処理システムは、画素ごとに光化学的な値を示すデータである画像データを入力して、前記画像データの光学的な特性の分布範囲が所定範囲よりも大きい場合に、前記分布範囲が前記所定範囲内に収まるように前記光学的な特性を変更する処理を行う前処理部と、前記前処理部により前記処理が行われた前記画像データを入力データとしてニューラルネットワークを用いた推論処理を行う推論器と、を備えたものである。
 ニューラルネットワークの機械学習においては、学習精度向上のために、学習用入力データとして用いる画像データについて、例えば明るさの分布範囲等、光学的な特性の分布範囲を揃えるということが行われ得る。上記構成によれば、このように光学的な特性の分布範囲が揃った画像データを学習用入力データとしてニューラルネットワークの機械学習が行われた場合に対応して、推論環境においても、学習済みニューラルネットワークへの入力画像データとして光学的な特性の分布範囲が揃った画像データが入力されるようにすることが可能となる。
実施形態としての情報処理装置のハードウェア構成例を示したブロック図である。 第一実施形態としての情報処理装置が有する機能を示した機能ブロック図である。 初期ニューラルネットワークからスパースニューラルネットワークが得られるまでの過程を示した図である。 プレトレーニングの説明図である。 第一実施形態としてのフィルタ効率化処理のイメージを示した図である。 ニューラルネットワークが有するフィルタ(畳み込みフィルタ)の例を示した図である。 二次元の特徴空間に対して各フィルタの特徴指標値を写像した様子を例示した図である。 フィルタを一次元にフラット化する場合の特徴指標値についての説明図である。 第一実施形態としてのフィルタ効率化処理を実現するための処理手順例を示したフローチャートである。 第一実施形態としての情報処理装置の機能構成を整理した図である。 第一実施形態としての推論側の情報処理装置の構成例を説明するための図である。 第一実施形態の別例としての情報処理システムの構成例を説明するための図である。 実施形態における飽和・黒つぶれ除去処理のフローチャートである。 実施形態における明るさの正規化処理のフローチャートである。 実施形態における対数化処理のフローチャートである。 実施形態における前景切り出し処理のフローチャートである。 実施形態における被写体のサイズ、向きの正規化処理のフローチャートである。 第二実施形態としての情報処理装置が有する機能を説明するための機能ブロック図である。 第二実施形態としてのフィルタ効率化処理の説明図である。 特徴空間の疎領域内の特徴指標値に対応する別機能を付与するための手法についての説明図である。 第二実施形態としてのフィルタ効率化処理を実現するための処理手順例を示したフローチャートである。 第二実施形態としての情報処理装置の機能構成を整理した図である。 第二実施形態としての推論側の情報処理装置の構成例を説明するための図である。 第三実施形態としての情報処理装置が有する機能を説明するための機能ブロックである。 第三実施形態としてのフィルタ効率化処理の説明図である。 フィルタの合成についての説明図である。 第三実施形態としてのフィルタ効率化処理を実現するための処理手順例を示したフローチャートである。 第三実施形態としての情報処理装置の機能構成を整理した図である。 第三実施形態としての推論側の情報処理装置の構成例を説明するための図である。 第四実施形態としての推論側の情報処理装置の内部構成例を示したブロック図である。 撮像画像のヒストグラムの例を示した図である。 明るさの調整例についての説明図である。 第四実施形態としての機能を実現するための処理手順例を示したフローチャートである。 第五実施形態としての情報処理装置の内部構成例を示したブロック図である。 ターゲット物体の画像部分の明るさ範囲が制限明るさ範囲内に収まっていない場合の説明図である。 撮像画像内に複数のターゲット物体が写されている場合の説明図である。 ターゲット物体存在領域の明るさ範囲が制限明るさ範囲よりも広い範囲となる例の説明図である。 第五実施形態における明るさの調整処理のイメージを示した図である。 線形圧縮方式の説明図である。 非線形圧縮方式の説明図である。 第五実施形態としての機能を実現するための処理手順例を示したフローチャート図である。 第五実施形態の変形例としての情報処理装置の内部構成例を示したブロック図である。 第五実施形態の変形例としての情報処理装置で得られる作用の説明図である。
 以下、添付図面を参照し、本技術に係る実施形態を次の順序で説明する。
<1.第一実施形態>
(1-1.情報処理装置の構成)
(1-2.第一実施形態としてのフィルタ効率化処理の概要)
(1-3.類似度について)
(1-4.処理手順)
(1-5.第一実施形態の別例)
<2.第二実施形態>
<3.第三実施形態>
<4.第四実施形態>
<5.第五実施形態>
<6.変形例>
<7.実施形態のまとめ>
<8.本技術>
<1.第一実施形態>
(1-1.情報処理装置の構成)
 図1は、本技術に係る実施形態としての情報処理装置1のハードウェア構成例を示したブロック図である。
 情報処理装置1は、機械学習が行われた学習済みのニューラルネットワークについて、フィルタの効率化処理を行う装置として用いられるものである。情報処理装置1は、例えばパーソナルコンピュータ等の各種コンピュータ装置としての装置形態を採り得る。
 図示のように情報処理装置1は、CPU(Central Processing Unit)11を備えている。CPU11は、各種の処理を実行する演算処理部として機能し、ROM(Read Only Memory)12に記憶されているプログラム、又は記憶部19からRAM(Random Access Memory)13にロードされたプログラムに従って各種の処理を実行する。RAM13にはまた、CPU11が各種の処理を実行する上において必要なデータなども適宜記憶される。
 CPU11、ROM12、及びRAM13は、バス14を介して相互に接続されている。このバス14にはまた、入出力インタフェース(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は、図1のようなコンピュータ装置が単一で構成されることに限らず、複数のコンピュータ装置がシステム化されて構成されてもよい。複数のコンピュータ装置は、LAN(Local Area Network)等によりシステム化されていてもよいし、インターネット等を利用したVPN(Virtual Private Network)等により遠隔地に配置されたものでもよい。複数のコンピュータ装置には、クラウドコンピューティングサービスによって利用可能なサーバ群(クラウド)としてのコンピュータ装置が含まれてもよい。
(1-2.第一実施形態としてのフィルタ効率化処理の概要)
 図2は、情報処理装置1のCPU11が有する第一実施形態としての機能を示した機能ブロック図である。
 図示のようにCPU11は、効率化処理部F1を有している。効率化処理部F1は、機械学習されたニューラルネットワークが有する複数のフィルタについて関連性を評価し、該関連性の評価結果に基づいてフィルタの効率化処理を行う。
 本例において、効率化処理部F1は、ニューラルネットワークが有する複数のフィルタについて類似性を評価し、該類似性の評価結果に基づいてフィルタの効率化処理を行う。具体的には、類似関係にあるフィルタの一部を残し、他を削除する処理を行う。さらに、残したフィルタのパワーを上げる処理を行う。
 ここで、上記のように本実施形態では、フィルタの重要性ではなく、複数のフィルタの関連性に基づいてフィルタの効率化処理を行う。このことで、例えば類似関係にあるフィルタの一部を残し他を削除するといった処理や、後述するように機能を合成可能な関係にある他のフィルタの機能を合成するといった処理(第三実施形態)等としての、フィルタの効率化処理を行うことが可能となる。そして、フィルタ間の関連性に基づく効率化処理としているので、該効率化処理としては、効率化処理後のニューラルネットワークについて再学習が不要となるように行うことが可能となる。例えば、類似関係にあるフィルタの一部を削除したり別機能を付与したりしても、該一部のフィルタの機能は、これと類似関係にある他のフィルタで代用できるためニューラルネットワークの再学習は不要となる。また、フィルタの合成では合成後のフィルタに合成前の各フィルタの機能が引き継がれるためネットワークの再学習は不要となる。
 このように実施形態としての効率化手法によれば、フィルタの効率化処理後にニューラルネットワークの再学習を行うことを不要とすることが可能となるため、ニューラルネットワークの軽量化に要する時間の短縮化を図ることができる。
 図3は、初期ニューラルネットワークからスパースニューラルネットワークが得られるまでの過程を示した図である。
 以下、機械学習が行われる前のニューラルネットワークのことを「初期ニューラルネットワーク31s」、実施形態としてのフィルタの効率化処理が行われたニューラルネットワークのことを「スパースニューラルネットワーク31a」と表記する。
 図示のように初期ニューラルネットワーク31sに対し、学習器30及び学習用データセットを用いた機械学習を行う。この機械学習は、実施形態としてのフィルタ効率化処理が行われる前の機械学習であることから、「プレトレーニング」と称する。
 図4は、プレトレーニングの説明図である。
 ここで、以下、実施形態の説明では、ニューラルネットワークを用いた推論処理として、画像データにより表現される画像内の特定の物体を認識する物体認識処理等、画像に係る推論処理を行うことを前提とする。また、ニューラルネットワーク31としては、例えばCNN(Convolutional Neural Network)が用いられる。
 本明細書において、「画像データ」とは、画素ごとに光学的な値を示すデータのことを意味する。本例では、画像に係る推論処理で対象とする画像データが、画素ごとに輝度の階調値(例えば、0から255の階調値等)を示す階調画像データであるものとする。
 学習環境においては、学習用データセットとして、複数の学習用入力データ(本例では画像データ)と、物体認識処理等の推論処理の正解データとのセットが用意されると共に、初期ニューラルネットワーク31sと損失関数計算部32とを有する学習器30が用いられる。
 図示のように学習用データセットにおける学習用入力データを初期ニューラルネットワーク31sの入力に与え、また、学習用入力データに対応する正解データを損失関数計算部32に入力する。損失関数計算部32は、初期ニューラルネットワーク31sの出力と正解データとに基づいて損失関数(コスト関数)を計算し、該損失関数に基づき、バックプロパゲーション(誤差逆伝播法)により初期ニューラルネットワーク31s内の各種パラメータを更新する。
 このような処理が複数の学習用入力データについて繰り返されることで、初期ニューラルネットワーク31sには、画像から特定の物体を認識するアルゴリズム等、所期の推論結果を得るためのアルゴリズム(人工知能モデル)が形成される。
 図3に戻り、上記のような学習器30と学習用データセットとを用いたプレトレーニングとしての機械学習により得られたニューラルネットワークのことを、図示のように「ニューラルネットワーク31b」と表記する。
 プレトレーニング後に、図示のように効率化処理部F1を用いて、ニューラルネットワーク31bを対象としたフィルタの効率化処理が行われる。この効率化処理により、本例では、フィルタ数が削減されたスパースニューラルネットワーク31aが得られる。
 図5は、第一実施形態としてのフィルタ効率化処理のイメージを示している。
 図5Aは、プレトレーニング後のニューラルネットワーク31bにおけるフィルタを模式的に示している。このニューラルネットワーク31bにおけるフィルタについて、図5Bのように、先ずは対象とする各フィルタ間の類似度が計算される。その上で、図5Cに示すように、類似関係にある一方のフィルタが削除される。このとき、類似関係にあるフィルタの組が複数組存在する場合は、それら組ごとに、一方のフィルタを削除する。
 さらに、図5Dに示すように、残したフィルタのパワーを上げる処理が行われる。
(1-3.類似度について)
 続いて、類似度について説明する。
 前述のように本実施形態では、ニューラルネットワーク31bが有する複数のフィルタについて類似性を評価し、該類似性の評価結果に基づいてフィルタの効率化処理を行う。本例では、この類似性の評価において、フィルタ間の類似度を計算する。そして、類似度が所定の閾値以上であるフィルタの組を、類似関係にあるフィルタ組として特定し、類似関係にあるフィルタ組については、一方のフィルタを削除し、他方のフィルタを残すようにする。
 図6は、ニューラルネットワーク31bが有するフィルタ(畳み込みフィルタ)の例を示している。
 ここでは一例として、3×3のフィルタを示しているが、フィルタのサイズはこれに限定されるものではない。
 本実施形態では、フィルタの類似性の評価にあたり、先ずはフィルタごとの特徴指標値を算出する。すなわち、フィルタの特徴を示す値を算出するものである。ニューラルネットワーク31bが有するフィルタは、図6に示すように画素ごとに割り当てられる係数の組み合わせによって特徴付けられるものであるため、フィルタの特徴指標値としては、このような係数の組み合わせに基づき算出されるべきものとなる。
 フィルタの特徴指標値としては、フィルタの各画素の係数をそのまま用いることも考えられるが、本例では、類似性評価に係る演算量削減のため、フィルタの特徴指標値は、PCA(Principal Component Analysis:主成分分析)により二次元に次元削減(本例では九次元→二次元)した値として算出する。すなわち、第一主成分の値と第二主成分の値とで表現される特徴指標値に変換する。
 このように二次元に次元削減する手法は、ノイズによる影響を受け難いというメリットもある。
 図7は、横軸を第一主成分、縦軸を第二主成分とした二次元の特徴空間に対して各フィルタについてPCAにより算出した特徴指標値を写像した様子を例示している。
 この特徴空間において、比較対象とするフィルタ同士の特徴指標値間の距離を、それらフィルタの類似度として計算する。
 このとき、距離としては、2次元のミンコフスキー(Minkowski)距離、2次元のマハラノビス(Mahalanobis)距離、コサイン(Cosine)距離の何れかを算出することが考えられ る。
 2次元のミンコフスキー距離(ユークリッド距離)は、微分可能でありデータを扱いやすくなるというメリットがある。
 また、マハラノビス距離を採用した場合はデータの相関関係を考慮できるため、類似度の正確性向上を図ることができる。
 算出した特徴指標値間の距離が所定の閾値以下であれば、比較対象としたフィルタ同士が類似関係にあると判定する。
 なお、次元削減の手法としては、PCA以外にも、t-SNE(t-distributed Stochastic Neighbor Embedding:t分布型確率的近傍埋め込み法)、UMAP(Uniform Manifold Approximation and Projection)等を挙げることができる。
 また、PCA等で3以上9未満のm次元に次元削減することも考えられる。その場合の距離としてはm次元のミンコフスキー距離、m次元のマハラノビス距離とすることが考えられる。
 さらに、フィルタの特徴指標値としては、n次元データ(nはフィルタの総画素数:図6のように3×3のフィルタであればn=9)として扱う(つまり次元削減しない)ことも考えられ、その場合の距離としては、n次元のミンコフスキー距離、n次元のマハラノビス距離とすることが考えられる。この場合は次元削減が不要なため、特徴指標値を得る上での計算量の削減を図ることができる。
 また、上述のようにフィルタの各画素ごとの係数をそのまま特徴指標値として扱ってもよく、その場合、フィルタ間の距離(類似度)としてはL1ノルムやL2ノルム、或いはNCC(Normalized Cross-correlation)やZNCC(Zero-mean Normalized Cross-correlation)を用いることが考えられる。
 フィルタの各画素ごとの係数をそのまま特徴指標値として扱う場合も、特徴指標値を得る上での計算量の削減を図ることができる。
 或いは、図8に示すように、一次元にフラット化して(図8A)、ベクトルとして扱う、或いは分布として扱う(図8B)ことも考えられる。その場合、フィルタ間の距離としては、ハミング(Hamming)距離や、カルバック・ライブラー情報量(Kullback-Leibler divergence)、イェンセン・シャノン情報量(Jensen-Shannon divergence)に基づく距離とすることが考えられる。
 図8Aや図8Bのように確率分布として扱うようにすることで、類似度の精度を高めやすいというメリットがある。
(1-4.処理手順)
 図9は、上記により説明した第一実施形態としてのフィルタ効率化処理を実現するための処理手順例を示したフローチャートである。
 なお、図9に示す処理は、図1に示したCPU11が例えばROM12や記憶部19に記憶されたプログラムに基づいて実行するものである。
 また、この図に示す処理が実行されるにあたっては、既に図3で説明したプレトレーニングが行われて、学習済みのニューラルネットワーク31bが得られていることを前提とする。
 ステップS101でCPU11は、ニューラルネットワーク31bにおける各フィルタについて、特徴指標値を計算する。つまり本例では、前述のようにPCAにより二次元に次元削減した形式での特徴指標値を計算する。
 ステップS101に続くステップS102でCPU11は、各フィルタの特徴指標値間の距離(つまりフィルタ間の類似度)を計算する。すなわち、各フィルタの組について、前述したミンコフスキー距離等により特徴指標値間の距離を計算する。
 ステップS102に続くステップS103でCPU11は、類似関係となるフィルタ組がある否かを判定する。すなわち、ステップS102で計算した距離の値に基づき、各フィルタの組ごとに、距離が所定の閾値以下であるか否かの判定を行い、それらの判定結果に基づき、類似関係となるフィルタ組がある否かを判定する。
 ステップS103において、類似関係となるフィルタ組があると判定した場合、CPU11はステップS104に進み、削減率に基づき削除対象を決定する。すなわち、類似関係となるフィルタ組の数に基づいてフィルタの削減率を算出すると共に、算出した削減率に基づき、削除対象とするフィルタを決定するものである。
 ステップS104に続くステップS105でCPU11は、残すフィルタのパワー(倍率)を計算する。なお、パワーの決定手法については特定の手法に限定されるものではない。
 ステップS105に続くステップS106でCPU11は、一方を削除し他方を残す処理を行う。すなわち、ステップS104で削除対象として決定したフィルタを削除するものである。ステップS104の決定処理では、類似関係となるフィルタ組について、そのうちの一方のフィルタを削除対象として設定するので、ステップS106の処理は、類似関係となるフィルタ組について、一方のフィルタを削除し、他方のフィルタを残す処理に相当する。
 ステップS107に続くステップS107でCPU11は、残したフィルタのパワーを上げる処理を行う。すなわち、残した方のフィルタについて、係数が0以外の画素の係数にステップS105で計算した倍率の値(絶対値)を乗じることで、該フィルタの係数を更新する。
 CPU11はステップS107の処理を実行したことに応じ、図9に示す一連の処理を終える。
 またCPU11は、先のステップS103で類似関係となるフィルタ組がないと判定した場合も図9に示す一連の処理を終える。
 ここで、図9では、フィルタの効率化処理は、フィルタの削除を行ったことに応じて終了する例を挙げたが、フィルタの効率化処理は、効率化処理後のスパースニューラルネットワーク31aが目標性能を達成しているか否かの判定結果に応じて終了するということも考えられる。ここで言う「性能」の指標としては、例えば推論性能を始めとして、ウエイト(weight)サイズやウエイト数、演算回数、演算に要する時間等が考えられる。
 図10は、第一実施形態としての情報処理装置1の機能構成を整理した図である。
 なお、図10では情報処理装置1が有する機能構成のうちフィルタ効率化処理に係る部分の構成のみを抽出して示しており、その他の構成については図示を省略している。
 図示のようにCPU11が有する効率化処理部F1は、類似度計算部F11、不要フィルタ評価部F12、フィルタ削除部F13、及び倍率調整部F14としての機能を有するものと表すことができる。
 類似度計算部F11は、図9のステップS102として説明した類似度の計算処理を行う機能に相当する。
 不要フィルタ評価部F12は、図9のステップS104として説明した削減率に基づき削除対象のフィルタを決定する処理を行う機能に相当する。
 フィルタ削除部F13は、図9のステップS106として説明したフィルタの削除処理を行う機能に相当し、倍率調整部F14は、図9のステップS107として説明したフィルタのパワーを上げる処理を行う機能に相当する。
 なお、図10に示すように、本例では、初期ニューラルネットワーク31sやニューラルネットワーク31b等のニューラルネットワークの不変部分のデータはROM12に格納され、ニューラルネットワーク31bやスパースニューラルネットワーク31aにおけるニューラルネットワークの可変部分のデータはRAM13に格納される。
 またこの場合、記憶部19等、CPU11が読み出し可能な記憶装置には、効率化処理部F1によるフィルタ効率化処理で用いるデータが、効率化処理用データDiとして格納される。
 なお、この効率化処理用データDiには、前述したように効率化処理の終了条件を、対象とするフィルタを削除することするのではなく、効率化処理後のニューラルネットワーク(スパースニューラルネットワーク31a)が目標性能を達成したこととする場合には、該目標性能に係る情報(例えば、目標とする推論性能、ウエイト(weight)サイズ、ウエイト数、演算回数、演算に要する時間等の情報)が含まれる。
 図11は、スパースニューラルネットワーク31aを用いて推論処理を行う第一実施形態としての推論側の情報処理装置5の構成例を説明するための図である。
 図示のように推論側の情報処理装置5は、プロセッサユニット52と通信部53とを少なくとも有する。
 プロセッサユニット52は、少なくともCPUと各種のメモリとを有する信号処理ユニットとして構成され、推論器54としての機能を有する。ここで、推論のための演算処理の効率化のため、プロセッサユニット52には、GPU(Graphics Processing Unit)やDSP(Digital Signal Processor)等の別プロセッサが組み合わされてもよい。
 推論器54は、スパースニューラルネットワーク31aを有する。すなわち、図示のように情報処理装置1が効率化処理部F1によりニューラルネットワーク31bを対象としてフィルタ効率化処理を行って得られるスパースニューラルネットワーク31aである。
 通信部53は、有線又は無線による機器間通信やネットワーク通信等、外部機器との間でデータ通信を行う。情報処理装置5においては、この通信部53を介して、推論器54による推論結果を外部機器に送信することが可能とされる。
 上記のような構成により、情報処理装置5においては、推論器54に対して画像データが入力データとして与えられた場合に、推論器54が、スパースニューラルネットワーク31aを用いた物体認識処理等の推論処理を行う。
 推論器54のニューラルネットワークとしてスパースニューラルネットワーク31aが用いられるので、推論処理を実現するにあたって保持すべきデータ量の削減や、推論処理の計算コスト削減が図られる。
(1-5.第一実施形態の別例)
 第一実施形態の別例は、入力制限部及び前処理部に関するものである。
 以下の説明では、撮像画像を入力データとして推論を行うことを前提とする。このため、推論側の情報処理装置は、画像の撮像機能を有する撮像装置(カメラ)としての装置形態を有するものとする。
 なお、以下の説明において、既に説明済みとなった部分と同様となる部分については同一符号、同一ステップ番号を付して説明を省略する。
 図12は、第一実施形態の別例としての情報処理システムの構成例を説明するための図である。
 先ずは、学習環境側について説明する。
 この場合も学習器30と学習用データセットとを用いて初期ニューラルネットワーク31sについてのプレトレーニングを行う点は図3の場合と同様であるが、本例では、学習器30に対して入力される学習用入力データについて、所定の入力制限を行う入力制限部25が用いられる。
 入力制限部25は、光学的な特性の分布範囲が所定範囲内に収まっている画像データのみが、学習器30により機械学習処理されるニューラルネットワーク(本例では初期ニューラルネットワーク31s)に入力されるように処理する。
 具体的に、入力制限部25は、学習用データセットにおける学習用入力データとしての画像データについて、像の明るさとしての光学的な特性の分布範囲が、所定範囲内に収まっている画像データのみが学習器30における初期ニューラルネットワーク31sに入力されるように処理する。
 より具体的に、本例の入力制限部25は、学習用データセットの学習用入力データとして用意された各画像データについて、像の明るさの分布範囲(つまり輝度値の分布範囲)が所定範囲内に収まっているか否かを判定し、像の明るさの分布範囲(つまり輝度値の分布範囲)が所定範囲内に収まっていない場合には、像の明るさが所定範囲内に収まるように、輝度値の分布範囲を調整する画像信号処理を行う。
 図13から図15を参照し、入力制限部25で行う処理の例について説明する。
 図13は、飽和・黒つぶれ除去処理(ステップS1とする)のフローチャートである。飽和・黒つぶれ除去処理は、画像内において輝度値が最大値となっている部分(白飛び部分)や輝度値が最小値となっている黒つぶれ部分を除去する処理である。
 この場合は、先ず、入力画像についてヒストグラム(輝度ヒストグラム)又は平均値を計算し(ステップS11)、次いで、飽和・黒つぶれ検出処理を行う(ステップS12)。この場合、飽和・黒つぶれ検出処理は、例えば64×64画素等の所定サイズのウィンドウをラスタ順に移動させながら行う前提としている。
 次いで、飽和・黒つぶれ検出処理の結果、飽和・黒つぶれ部分があったか否かを判定する(ステップS13)。この判定は、ウィンドウ一箇所分の判定となる。飽和・黒つぶれ部分がなかった場合は、後述するステップS17に進む。
 飽和・黒つぶれ部分があった場合は、検出領域(飽和・黒つぶれの検出領域)の面積が閾値THaよりも大きいか否かで処理を分岐する。すなわち、検出領域の面積が閾値THaよりも大きい場合は、大面積塗りつぶし処理として、平均値又はヒストグラムピーク値により検出領域を塗りつぶす処理を行う(ステップS15)。
 一方、検出領域の面積が閾値THaよりも大きくない場合は、小面積塗りつぶし処理として、周辺画素から補間する処理を行う(ステップS16)。
 これら塗りつぶし処理の実行後、処理はステップS17に進められる。
 ステップS17では、画像全体をスキャンしたか否か、すなわち前述したウィンドウを用いる飽和・黒つぶれ検出処理を画像全体について行ったか否かを判定する。画像全体をスキャンしていなければ、ステップS12に戻る。すなわち、ウィンドウを次の位置に移動させて飽和・黒つぶれ検出処理を行う。
 画像全体をスキャンした場合には、ステップS1の飽和・黒つぶれ除去処理は終了となる。
 図14は、明るさの正規化処理(ステップS2)のフローチャートである。
 先ずは、図13で説明したステップS1の飽和・黒つぶれ除去処理を行い、次いで、飽和・黒つぶれ除去処理後の画像について、輝度の平均値(m)を計算する(ステップS21)。その上で、飽和・黒つぶれ除去処理後の画像について、輝度の分散値(σ)を計算し(ステップS22)、さらに、平均値mと分散値σとを用いた標準化処理(ステップS23)を行う。この標準化処理としては、画素ごとに、その画素の輝度値をX、その画素についての出力値をOとして、「O=(X-m)/σ」を計算する処理として行う。
 上記のような標準化処理を行うことで、全体的に暗い傾向の画像は全体的に明るくなるように、また全体的に明るい傾向の画像は全体的に暗くなるようにされ、明るさが正規化されるようになる。従って、学習用の入力画像について、像の明るさの特性を揃えることが可能となる。
 図15は、対数化処理(ステップS3)のフローチャートである。
 この場合も先ずは、図13で説明したステップS1の飽和・黒つぶれ除去処理を行う。次いで、底2対数化処理として、画素ごとに「O=log(X)」を計算する処理を行う。
 このような対数化処理を入力制限部25の処理として行うことで、学習用の入力画像について、像の明るさの特性を揃えることが可能となる。
 ここで、上記のような入力制限部25の処理を行うことで、初期ニューラルネットワーク31sの学習用入力データとして用いる画像データについて、光学的な特性の分布範囲を揃えることが可能となり、初期ニューラルネットワーク31sの学習精度の向上を図ることが可能となる。
 初期ニューラルネットワーク31sが精度良く学習されることで、学習済みのニューラルネットワーク31bにおいては、フィルタの特徴が明確化される傾向となり、その結果、フィルタの類似度等、関連性の評価精度の向上が図られる。そして、関連性の評価精度向上が図られることで、フィルタの効率化処理を精度良く行うことができ、フィルタの効率化によるニューラルネットワークの軽量化を、推論精度の低下抑制を図りながら実現することができる。
 なお、上記では入力制限部25の処理について、像の明るさに係る調整を行う例を挙げたが、入力制限部25の処理としては、画像内の一部を切り出す処理を行うことも考えられる。
 このような切り出し処理を行うことで、学習用の各入力画像が、物体認識等の推論に必要とされる部分のみが抽出された画像で揃えられるようにすることが可能となり、ニューラルネットワークの学習精度の向上、ひいてはフィルタの関連性評価の精度向上を図ることができる。
 図16は、切り出し処理の一例としての、前景切り出し処理(ステップS4)のフローチャートを示している。
 図示のように先ずは、入力画像の距離情報を取得する(ステップS41)。例えば、入力画像ごとに、その画像に対応するデプス画像を用意しておき、入力画像の画素位置ごとに、対応する距離情報(被写体までの距離の情報)を取得する。
 次いで、距離情報に基づき、前景部分を検出(ステップS42)。すなわち、例えば距離の値が閾値以下となっている画素を前景部分として検出する。或いは、距離の分布を解析し、最も手前側に距離が分布している画像部分を前景部分として検出する等も考えられる。
 そして、前景部分を検出したことに応じ、前景部分以外の部分を黒埋めする処理を行う(ステップS43)。
 このような前景切り出し処理を前処理として行うことで、学習用の各入力画像が、前景部分のみが抽出された画像で揃えられるようにすることが可能となり、ニューラルネットワークの学習精度の向上、ひいてはフィルタの関連性評価の精度向上を図ることができる。
 上記では、像の明るさについて正規化を行うことについて触れたが、画像の正規化としては、被写体のサイズや向きの正規化を行うことも考えられる。
 図17は、被写体のサイズ、向きの正規化処理(ステップS5)のフローチャートである。
 先ずは、特定被写体のサイズ検出を行う(ステップS51)。ここで言う特定被写体とは、例えば人や動物、車両、飛行機、建築物等、物体検出処理や物体認識処理等の画像に係る推論処理で対象物体となり得るあらゆる物体を意味する。特定被写体の検出は、例えばテンプレートマッチング等のルールベース処理で行うことが考えられる。
 次いで、サイズ検出結果に基づく拡縮倍率の調整処理を行う(ステップS52)。すなわち、ステップS51で検出した特定被写体のサイズが所定サイズとなるように、画像の拡大又は縮小倍率の調整処理を行うものである。
 次いで、特定被写体の向きを検出する(ステップS53)。例えば、特定被写体が人物や動物であれば顔が向く方向、車両であれば前端部が向く方向等、特定被写体としての物体が何れの方向を向いているかを検出する。
 その上で、向きの検出結果に基づき、特定被写体の向きを調整する処理を行う。すなわち、例えば特定被写体としての人物の顔が斜め右方向を向いていた場合は該顔が正面を向くように調整する等、特定被写体が予め定められた方向を向くように、特定被写体の向きを調整するものである。
 上記のような被写体のサイズ、向きの正規化処理を入力制限部25の処理として行うことで、学習用の各入力画像として、人物等の特定被写体のサイズや向きが揃えられた画像が得られるようにすることが可能となり、ニューラルネットワークの学習精度の向上が図られ、フィルタの関連性評価の精度向上が図られる。
 ここで、入力制限部25の処理としては上記で例示した処理に限定されるものではない。例えば、ノイズの除去処理やレンズ歪みの補正処理等を前処理として行うことも考えられる。
 なお、上記では、入力制限部25が、特性の分布範囲が所定範囲内に収まった画像データのみが学習器30の入力データとして入力されるようにするにあたり、画像データに対する明るさ調整等の画像信号処理を行う例を挙げたが、入力制限部25がそのような画像信号処理を行うことは必須ではない。例えば、特性の分布範囲が所定範囲内に収まった画像データの選別を人手等により行い、入力制限部25は、このように予め選別された「特性の分布範囲が所定範囲内に収まった画像データ」を学習器30に対する入力データとして出力する処理を、「特性の分布範囲が所定範囲内に収まった画像データのみが学習器30の入力データとして入力されるようにする処理」として行う構成も考えられる。
 ここで、本例において、入力制限部25は、例えば学習器30を有する情報処理装置(コンピュータ装置)とは別の情報処理装置が備えるものとすることが考えられる。
 或いは、入力制限部25は、学習器30としての情報処理装置が備えるものとすることも考えられる。
 説明を図12に戻す。
 この場合、学習器30による初期ニューラルネットワーク31sの機械学習は、上記のような入力制限部25により処理された学習用入力データを用いて行われる。このように入力制限部25により処理された学習用入力データを用いたプレトレーニングとしての機械学習により生成されたニューラルネットワークを、図示のように「ニューラルネットワーク31bA」と表記する。
 この場合、学習側環境では、ニューラルネットワーク31bAを対象として、効率化処理部F1によるフィルタの効率化処理が行われる。この場合、効率化処理で生成されるニューラルネットワークを「スパースニューラルネットワーク31aA」と表記する。
 次いで、推論側の情報処理装置5Aについて説明する。
 先の情報処理装置5との相違点は、撮像部51、及び前処理部50が追加された点と、推論器54が、スパースニューラルネットワーク31aではなく上記したスパースニューラルネットワーク31aAを有する点である。
 撮像部51は、例えばCCD(Charge Coupled Device)型イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)型イメージセンサ等のイメージセンサを有し、被写体を撮像してデジタルデータとしての画像データ(撮像画像データ)を得る。この撮像画像データは、上述した「階調画像データ」の一種に属するものである。
 撮像部51は、撮像に用いられるレンズ等の各種光学部品を有する撮像光学系を含む。
 撮像部51は、一般的なデジタルカメラと同様、AF(Auto Focus)機能やAE(Auto Exposure)機能を有する。
 前処理部50は、撮像部51により得られた撮像画像データを入力し、該撮像画像データを対象として「前処理」としての処理を行い、推論器54に対して出力する。
 前処理部50は、上記の前処理として、入力した画像データの光学的な特性の分布範囲が所定範囲よりも大きい場合に、分布範囲が所定範囲内に収まるように光学的な特性を変更する処理を行う。つまり、前処理部50は前処理として、上述した入力制限部25の画像信号処理(図13から図15参照)と同様の処理を、撮像部51からの撮像画像データに対して施すものである。
 上記のような前処理部50を設けることで、スパースニューラルネットワーク31aAには、学習時に用いた学習用入力データと同等のデータ特性条件を満たすデータが入力されるようにでき、従って、推論器54の推論性能の向上を図ることができる。
<2.第二実施形態>
 上記により説明した第一実施形態では、類似関係にあるフィルタ組について、一部を削除するという形態によるフィルタ効率化処理を行う例を挙げたが、フィルタ効率化処理としては、類似関係にあるフィルタ組について、一部のフィルタに元機能とは別の機能を付与する形態も考えられる。
 図18から図21を参照し、このように一部のフィルタに別機能を付与する第二実施形態について説明する。
 図18は、第二実施形態としての情報処理装置1Bが備えるCPU11Bの機能を説明するための機能ブロック図である。なお、第二実施形態としての情報処理装置1Bのハードウェア構成としては、CPU11に代えてCPU11Bを備える点のみが情報処理装置1と異なるものであり、全体構成についてはこの点を除き図1に示したものと同様となることから図示による説明は省略する。
 図示のようにCPU11Bは、効率化処理部F1Bを有しており、効率化処理部F1Bは、類似関係にあるフィルタの一部を残し他に元機能とは別機能を付与する処理を行う。
 図19に、この場合のフィルタ効率化のイメージを示す。
 図19Aは、プレトレーニング後のニューラルネットワーク31bにおけるフィルタを模式的に示している。このニューラルネットワーク31bにおけるフィルタについて、図19Bのように、先ずは対象とする各フィルタ間の類似度が計算される。その上で、図19Cに示すように、類似関係となるフィルタ組が特定される。このとき、類似関係となるフィルタ組は複数組存在する場合もある。
 そして、図19Dに示すように、類似関係にあるフィルタ組について、一つを残し、他に元機能とは別機能を付与する処理が行われる。
 上記のような効率化処理部F1Bによるフィルタ効率化処理により、所定数の機能を実現するために要するフィルタ数の削減が図られ、その意味で、ニューラルネットワーク31の軽量化が図られるものとなる。
 ここで、本例における効率化処理部F1Bは、上記の別機能として、特徴空間上の疎領域Z内の特徴指標値に対応する機能を付与する。
 図20は、このように特徴空間の疎領域Z内の特徴指標値に対応する別機能を付与するための手法についての説明図であり、図20Aは、学習済みのニューラルネットワーク31bが有する各フィルタについて計算された特徴指標値を特徴空間上に写像した様子を示している。この図20Aに示すように、疎領域Zは、特徴空間上において、特徴指標値の分布が疎な領域を意味する。
 図20Aでは、類似関係にあるフィルタ組として、フィルタxとフィルタyの組を例示している。
 本例の効率化処理部F1Bは、各フィルタについて計算した特徴指標値に基づき、特徴空間上の疎領域Zを検出する。そして、類似関係にあるフィルタ組について、一つのフィルタを残し、他のフィルタに疎領域Z内の特徴指標値に対応する機能を付与する。例えば、疎領域Zの中心の特徴指標値に対応する機能を付与する。この場合、付与すべき別機能、すなわちフィルタ係数の組み合わせは、疎領域Z内の対象位置の特徴指標値から数学的に導出することができる。
 図20Bでは、類似関係にあるフィルタxとフィルタyのうちフィルタyを残し、フィルタxに疎領域Z内の特徴指標値に対応する機能を付与した例を示している。
 上記のように別機能として疎領域Z内の特徴指標値に対応する機能を付与するようにすれば、ニューラルネットワーク31bに不足していると推定される機能を新たに付与することが可能となる。
 従って、ニューラルネットワークの性能向上を図ることができる。
 図21は、上記により説明した第二実施形態としてのフィルタ効率化処理を実現するための処理手順例を示したフローチャートである。
 図21に示す処理は、CPU11Bが例えばROM12や記憶部19に記憶されたプログラムに基づいて実行する。
 先ず、この場合も、ステップS101からS103の処理により、各フィルタの特徴指標値間の距離に基づき類似関係となるフィルタ組がある否かを判定する点は図9の場合と同様である。
 この場合、CPU11Bは、ステップS103で類似関係にあるフィルタ組があると判定した場合に、ステップS201に処理を進めて対象フィルタ組数Fを設定する。すなわち、類似関係にあると判定されたフィルタ組の数をFとして設定する。
 次いで、CPU11BはステップS202で、対象フィルタ組識別子fを「1」にリセットする。
 ステップS202に続くステップS203でCPU11Bは、特徴空間に疎領域Zがあるか否かを判定する。疎領域Zの有無の判定は、特徴空間上の対象範囲内において、特徴指標値が存在しない所定サイズ以上の領域が存在するか否かの判定として行うことが考えられる。
 特徴空間に疎領域Zがあると判定した場合、CPU11BはステップS204に進み、f番目のフィルタ組について、一方のフィルタに疎領域Zの機能を付与する処理を行う。具体的に本例では、疎領域Zの中心の特徴指標値に対応する機能を付与する。
 一方、特徴空間に疎領域Zがないと判定した場合、CPU11BはステップS205に進み、f番目のフィルタ組について、一方のフィルタに別の機能を付与する処理を行う。この場合、別の機能(フィルタ係数の組み合わせ)としては、所定ルールに従って数学的に導出した機能を付与することが考えられる。
 CPU11Bは、ステップS204、S205の何れかの処理を実行したことに応じてステップS206に処理を進める。
 ステップS206でCPU11Bは、対象フィルタ組識別子fが対象フィルタ組数F以上か否かを判定する。すなわち、類似関係にあると判定された全てのフィルタ組について、ステップS204又はS205の処理を実行したか否かを判定するものである。
 対象フィルタ組識別子fが対象フィルタ組数F以上でないと判定した場合、CPU11BはステップS207に進んで対象フィルタ組識別子fを1インクリメントし、ステップS203に戻る。これにより、次のフィルタ組についてステップS204又はS205の処理が行われるものとなる。
 一方、対象フィルタ組識別子fが対象フィルタ組数F以上であると判定した場合、CPU11Bは図21に示す一連の処理を終える。
 なお、第二実施形態においても、類似関係にあるフィルタのうち残した方のフィルタについてはパワーを上げるようにフィルタ係数の更新を行うことができる。
 ここで、図21では、フィルタの効率化処理は、対象とするフィルタに別機能を付与したことに応じて終了する例を挙げたが、フィルタの効率化処理は、効率化処理後のニューラルネットワーク(後述するスパースニューラルネットワーク31aB)が目標性能を達成しているか否かの判定結果に応じて終了するということも考えられる。
 また上記では、別機能として、特徴指標値に基づき数学的に算出された機能を付与する例を挙げたが、ニューラルネットワーク31bの再学習により別機能が付与される(獲得される)ようにすることもできる。具体的には、別機能の付与対象であるフィルタを除く他の全てのフィルタの係数を固定としてニューラルネットワーク31bの再学習を行うものである。
 なお、疎領域Zは、学習時の工夫により意図的に作り出すことも可能である。具体的には、学習時に算出されるlossを、フィルタの類似性が高まるように設計するものである。例えば、特徴空間上でのフィルタ間の距離をlossに加える。このように算出されるlossの値に基づいて初期ニューラルネットワーク31sの学習が行われることで、フィルタの類似性が高まり、特徴空間に疎領域Zが生じ易くなるように図ることができる。すなわち、疎領域Zの数が増えるように図ることができる。これにより、類似関係にあるフィルタ組の一方に別機能を付与する場合において、疎領域Zの機能が付与される機会を増やすことができる。
 図22は、第二実施形態としての情報処理装置1Bの機能構成を整理した図である。
 なお、図22では情報処理装置1Bが有する機能構成のうちフィルタ効率化処理に係る部分の構成のみを抽出して示しており、その他の構成については図示を省略している。
 図示のようにCPU11Bが有する効率化処理部F1Bは、前述した類似度計算部F11としての機能を有すると共に、対象フィルタ決定部F15、及び別機能付与部F16としての機能を有するものと表すことができる。
 対象フィルタ決定部F15は、類似度計算部F11が計算した類似度に基づき、類似関係となるフィルタ組を特定すると共に、特定したフィルタ組について、別機能付与の対象とするフィルタを決定する機能を意味する。
 別機能付与部F16は、対象フィルタ決定部F15が対象として決定したフィルタに対し、元機能とは別機能を付与する機能を意味する。
 ここで、先に述べたように、対象のフィルタに別機能が付与されるようにするための、ニューラルネットワーク31bの再学習を行うことも考えられる。その場合、効率化処理部F1Bには、このようなニューラルネットワーク31bの再学習を行う機能が、別機能獲得処理部F17として、別機能付与部F16に代えて設けられることになる。
 なお、この場合も、初期ニューラルネットワーク31sやニューラルネットワーク31b等のニューラルネットワークの不変部分のデータはROM12に格納され、ニューラルネットワーク31bや後述するスパースニューラルネットワーク31aBにおけるニューラルネットワークの可変部分のデータはRAM13に格納される。
 またこの場合、記憶部19等、CPU11Bが読み出し可能な記憶装置には、効率化処理部F1Bによるフィルタ効率化処理で用いるデータが、効率化処理用データDiBとして格納される。
 なお、この効率化処理用データDiBには、前述したように効率化処理の終了条件を、対象とするフィルタに別機能を付与したこととするのではなく、効率化処理後のニューラルネットワーク(後述するスパースニューラルネットワーク31aB)が目標性能を達成したこととする場合には、該目標性能に係る情報が含まれる。
 図23は、第二実施形態としてのフィルタ効率化処理が行われたニューラルネットワークを用いて推論処理を行う、第二実施形態としての推論側の情報処理装置5Bの構成例を説明するための図である。
 情報処理装置5Bにおいて、情報処理装置5との相違点は、推論器54がスパースニューラルネットワーク31aBを有する点である。
 スパースニューラルネットワーク31aBは、図示のように情報処理装置1Bが効率化処理部F1Bによりニューラルネットワーク31bを対象としてフィルタ効率化処理を行って得られるものである。
 上記のような情報処理装置5Bにおいては、推論器54に対して画像データが入力データとして与えられた場合に、推論器54が、スパースニューラルネットワーク31aBを用いた物体認識処理等の推論処理を行う。
 推論器54のニューラルネットワークとしてスパースニューラルネットワーク31aBが用いられるので、推論処理を実現するにあたって保持すべきデータ量の削減や、推論処理の計算コスト削減が図られる。
<3.第三実施形態>
 続いて、第三実施形態について説明する。第三実施形態は、フィルタの合成に係るものである。
 図24は、第三実施形態としての情報処理装置1Cが備えるCPU11Cの機能を説明するための機能ブロック図である。なお、第三実施形態としての情報処理装置1Cのハードウェア構成は、CPU11に代えてCPU11Cを備える点のみが情報処理装置1と異なるものであり、全体構成についてはこの点を除き図1に示したものと同様となることから図示による説明は省略する。
 図示のようにCPU11Cは、効率化処理部F1Cを有する。効率化処理部F1Cは、複数のフィルタについて機能の合成が可能であるかの評価を行い、該合成が可能と評価されたフィルタ組について、一方のフィルタに他方のフィルタの機能を合成する処理を行う。
 具体的に、本例では、図25に示すように、ニューラルネットワーク31bにおける隣接レイヤ間で、対象とするフィルタについて機能の合成が可能か否かの評価を行う(図25A中の<1>)。そして、合成可能であれば、該合成可能と評価されたフィルタ組について、一方に他方の機能を合成する(図25B中の<2>)。これは、隣接レイヤ間でフィルタの合成が行われるものである。そして本例では、このように一方に他方の機能を合成した上で、他方のフィルタを削除する処理を行う(図25B中の<3>)。
 図26は、フィルタの合成についての説明図である。
 図26Aは、フィルタの例として、微分フィルタと平滑化フィルタを例示しており、図26Bは、これら微分フィルタと平滑化フィルタを組み合わせて(合成して)形成されるソーベルフィルタを例示している。
 例えばこれら微分フィルタ及び平滑化フィルタとソーベルフィルタとの関係のように、ニューラルネットワーク31bに形成されるフィルタについては、機能の合成が可能なものが存在し得る。
 本例では、このように合成可能な関係となるフィルタの組み合わせを示す情報を辞書データとして記憶部19等の所定の記憶装置に記憶させておき、該辞書データに基づき、ニューラルネットワーク31における対象とするフィルタ組について、機能の合成が可能な関係にあるか否かの判定を行う。
 図27は、第三実施形態としてのフィルタ効率化処理を実現するための処理手順例を示したフローチャートである。
 図27に示す処理は、CPU11Cが例えばROM12や記憶部19に記憶されたプログラムに基づいて実行する。
 先ず、CPU11CはステップS301で、対象レイヤ識別子lを「1」にリセットし、続くステップS302で、l番目のレイヤの合成可能フィルタを探索する。ここで言う合成可能フィルタとは、合成可能な関係にあるフィルタ組の一方のフィルタを意味するものである。ステップS302では、l番目のレイヤにおけるフィルタを順に選択しながら、選択したフィルタが合成可能フィルタに該当するか否かを辞書データに基づき判定する。そして、このような判定を、合成可能フィルタに該当するフィルタが検出されるまで行う。
 ステップS302に続くステップS303でCPU11Cは、合成可能フィルタを検出したか否かを判定する。すなわち、l番目のレイヤの探索中において(l番目のレイヤの最後のフィルタを対象とした合成可能フィルタの判定処理までの間に)合成可能フィルタが検出されたか否かを判定する。
 ステップS303において、合成可能フィルタが検出されたと判定した場合、CPU11CはステップS304に進み、l+1番目のレイヤにおいて、l番目のレイヤで検出された合成可能フィルタ(以下「フィルタA」と表記する)に対して合成可能なフィルタ(以下「フィルタB」と表記する)を探索する。ここで、フィルタBの探索は、l+1番目のレイヤにおけるフィルタを順に選択しながら、辞書データに基づき行う。
 ステップS304に続くステップS305でCPU11Cは、フィルタBを検出したか否かを判定する。
 フィルタBを検出したと判定した場合、CPU11CはステップS306に進み、フィルタBにフィルタAを合成する。本例において、辞書データには、合成可能な関係となるフィルタの組み合わせごとに、合成後の機能を示す情報が対応づけられている。フィルタBにフィルタAの機能を合成する処理は、この合成後の機能を示す情報に基づいて行う。
 そして、CPU11Cは、ステップS306に続くステップS307で、フィルタAを削除する処理を行う。
 ステップS307に続くステップS308でCPU11Cは、l番目のレイヤの探索終了か否かを判定する。すなわち、l番目のレイヤにおける対象とする全フィルタについて、合成可能フィルタであるか否かの判定が行われたか否かを判定する。
 ステップS308において、l番目のレイヤの探索が終了ではないと判定した場合、CPU11CはステップS302に戻る。これにより、l番目のレイヤにおける次の合成可能フィルタの探索が行われる。
 ここで、先のステップS305において、フィルタBを検出しなかったと判定した場合、CPU11CはステップS308に処理を進める。これにより、l番目のレイヤで検出されたフィルタAに合成可能なフィルタBがl+1番目のレイヤに存在しなかった場合に、l番目のレイヤの次のフィルタAの探索、及び次のフィルタAが検出された場合におけるフィルタBの探索が行われる。
 また、ステップS308において、l番目のレイヤの探索終了であると判定した場合、CPU11CはステップS309に進み、対象レイヤ識別子lが総レイヤ数L-1以上であるか否か(つまり現在対象としているl番目のレイヤが最終レイヤの一つ前のレイヤであるか否か)を判定する。
 対象レイヤ識別子lが総レイヤ数L-1以上でないと判定した場合、CPU11CはステップS310に進んで対象レイヤ識別子lを1インクリメントし、ステップS302に戻る。これにより、次のレイヤを対象として、フィルタAの探索、及びフィルタAが検出された場合のフィルタBの探索が行われる。
 ここで、先のステップS303において、合成可能フィルタを検出しなかったと判定した場合(l番目のレイヤに合成可能フィルタが存在しなかった場合)、CPU11Cは、ステップS309に処理を進める。これにより、l番目のレイヤに合成可能フィルタが存在しなかった場合、該l番目のレイヤが最終レイヤの一つ前のレイヤでなければ、次のレイヤを対象としてフィルタAの探索、及びフィルタAが検出された場合のフィルタBの探索が行われる。
 ステップS309において、対象レイヤ識別子lが総レイヤ数L-1以上であると判定した場合、CPU11Cは図27に示す一連の処理を終える。
 上記のように第三実施形態では、対象とするフィルタ組が機能の合成が可能な関係にあるか否かを評価し、合成可能な関係にある場合は、一方のフィルタの機能を他方のフィルタに合成し、一方のフィルタ(つまり機能が他フィルタに合成された方のフィルタ)を削除するものとしている。
 これにより、ニューラルネットワークの軽量化を図ることができる。
 ここで、上記では合成可能な関係にあるフィルタ組について、機能が他フィルタに合成された方のフィルタを削除する例を挙げたが、該フィルタに別機能を付与するようにすることもできる。
 この場合には、所定数の機能を実現するために要するフィルタ数の削減が図られるという意味で、ニューラルネットワークの軽量化が図られる。
 また、上記では、レイヤ間で合成可能なフィルタ組を探索する例を挙げたが、同一レイヤ内で合成可能なフィルタ組を探索し、同一レイヤ内で検出された合成可能なフィルタ組について、一方のフィルタに他方のフィルタの機能を合成することもできる。
 また、上記では、合成可能か否かの判定を辞書データに基づき行う例としたが、合成可能か否かの判定は、比較対象とする各フィルタの係数に基づく数学的なアプローチによって行うことも考えられる。
 また、フィルタの合成が適切であるか否かを検証する処理を行うことも考えられる。具体的には、合成後のフィルタを適用したニューラルネットワーク31についてlossの値を計算し、該lossの値が許容範囲内の場合にのみ合成を適用するということが考えられる。
 また、上記では、予め定められた合成後の機能(フィルタ係数の組み合わせ)を対象のフィルタに付与することでフィルタの合成を実現する例を挙げたが、フィルタの合成はニューラルネットワーク31bの再学習により実現することもできる。具体的には、フィルタBとして説明したような機能の合成先となるフィルタを除く他の全てのフィルタの係数を固定して再学習を行うものである。
 また、上記では、合成可能な関係にあると評価されたフィルタ組についてフィルタの合成を行うものとしたが、類似関係にあると評価されたフィルタ組についてフィルタの合成を行うことも考えられる。
 ここで、上記では第三実施形態について、フィルタの効率化処理は、フィルタの削除や別機能の付与を行ったことに応じて終了する例を挙げたが、フィルタの効率化処理は、効率化処理後のニューラルネットワーク(後述するスパースニューラルネットワーク31aC)が、目標性能を達成しているか否かの判定結果に応じて終了するということも考えられる。
 また、これまでの説明では、ニューラルネットワーク31のフィルタ効率化処理として、類似性の評価結果に基づく効率化処理と、合成可能であるかの評価結果に基づく効率化処理の一方のみを行う例を挙げたが、ニューラルネットワーク31bにおける一部のフィルタについては類似性の評価結果に基づくフィルタの効率化処理を行い、別の一部のフィルタについては合成可能か否かの評価結果に基づくフィルタの効率化処理を行うといったことも可能である。
 図28は、第三実施形態としての情報処理装置1Cの機能構成を整理した図である。
 なお、図28では情報処理装置1Cが有する機能構成のうちフィルタ効率化処理に係る部分の構成のみを抽出して示しており、その他の構成については図示を省略している。
 図示のようにCPU11Cが有する効率化処理部F1Cは、合成可否判定部F20、フィルタ合成部F21、及びフィルタ削除部F22としての機能を有するものと表すことができる。
 合成可否判定部F20は、図27の処理において、フィルタAやフィルタBであるかを判定する処理を行う機能に相当する。
 フィルタ合成部F21は、合成可否判定部F20により判定された合成可能なフィルタ組について、一方に他方の機能を合成する処理を行う機能に相当する(図27のステップS306参照)。
 フィルタ削除部F22は、上記他方のフィルタ(フィルタA)を削除する処理を行う機能に相当する(図27のステップS307参照)
 なお、この場合も、初期ニューラルネットワーク31sやニューラルネットワーク31b等のニューラルネットワークの不変部分のデータはROM12に格納され、ニューラルネットワーク31bや後述するスパースニューラルネットワーク31aCにおけるニューラルネットワークの可変部分のデータはRAM13に格納される。
 またこの場合、記憶部19等、CPU11Cが読み出し可能な記憶装置には、効率化処理部F1Cによるフィルタ効率化処理で用いるデータが、効率化処理用データDiCとして格納される。特に本例では、この効率化処理用データDiCには、前述した辞書データ等が含まれることもある。なお、辞書データは、情報処理装置1Cに格納することに限らず、情報処理装置1Cの外部に格納される場合も有り得る。
 また、この効率化処理用データDiCには、前述したように効率化処理の終了条件を、対象とするフィルタを合成したこととするのではなく、効率化処理後のニューラルネットワーク(後述するスパースニューラルネットワーク31aC)が目標性能を達成したこととする場合には、該目標性能に係る情報が含まれる。
 図29は、第三実施形態としてのフィルタ効率化処理が行われたニューラルネットワークを用いて推論処理を行う、第三実施形態としての推論側の情報処理装置5Cの構成例を説明するための図である。
 情報処理装置5Cにおいて、情報処理装置5との相違点は、推論器54がスパースニューラルネットワーク31aCを有する点である。
 スパースニューラルネットワーク31aCは、図示のように情報処理装置1Cが効率化処理部F1Cによりニューラルネットワーク31bを対象としてフィルタ効率化処理を行って得られるものである。
 上記のような情報処理装置5Cにおいては、推論器54に対して画像データが入力データとして与えられた場合に、推論器54が、スパースニューラルネットワーク31aCを用いた物体認識処理等の推論処理を行う。
 推論器54のニューラルネットワークとしてスパースニューラルネットワーク31aCが用いられるので、推論処理を実現するにあたって保持すべきデータ量の削減や、推論処理の計算コスト削減が図られる。
<4.第四実施形態>
 図30は、第四実施形態としての推論側の情報処理装置5Dの内部構成例を示したブロック図である。
 第四実施形態は、入力画像データが所定の明るさ特性条件を満たさない場合に、再撮像を行うものである。
 情報処理装置5Dにおいて、先の図12に示した情報処理装置5Aとの相違点は、前処理部50が省略された点、及びプロセッサユニット52に代えてプロセッサユニット52Dが設けられた点である。
 プロセッサユニット52Dは、プロセッサユニット52と比較して、制御部F2としての機能が追加された点が異なる。
 制御部F2は、推論器54に入力される撮像画像データについて、所定の明るさ特性条件を満たすか否か、具体的には、像の明るさの分布範囲が所定範囲内に収まっているか否かを判定し、該判定により肯定結果が得られたことを条件として、該撮像画像データに基づく推論器54による推論結果が出力されるように制御する。
 具体的に、本実施形態における制御部F2は、推論器54に入力される撮像画像データが上記の特性条件を満たさないと判定した場合は、撮像部51に再撮像を実行させる。
 ここで、再撮像においては、撮像画像データが上記の特性条件を満たすように撮像条件を変えて撮像を実行し直すことが可能である。
 従って、上記構成によれば、所定の明るさ特性条件を満たさない撮像画像データが得られた場合であっても、所定の明るさ特性条件を満たすように再撮像された画像データを用いて推論を適切に行うことが可能となるため、推論が可能となるケースを増やすことができるという面で、推論性能の向上が図られる。
 以下、上記のような制御部F2の機能の具体例について説明する。
 ここで、第四実施形態、及び後述する第五実施形態では、説明上、推論処理としては、物体認識処理が行われる前提とする。さらに、学習時には、先に説明した入力制限部25の処理として、物体認識の対象とされるターゲット物体の画像領域の明るさ範囲(最大輝度値から最小輝度値までの範囲)が、イメージセンサが検出可能な最小輝度値から最大輝度値までの範囲よりも狭い輝度値範囲(以下「制限明るさ範囲RL」と表記する)内に収める画像信号処理が行われていた前提とする。なお、この場合も入力制限部25としては、画像信号処理を行う処理部ではなく、予め選別された画像データ(つまりこの場合はターゲット物体の画像領域の明るさ範囲が制限明るさ範囲RL内に収まっている画像データ)を学習器30に出力する処理部とされる場合も有り得る。
 上記のように学習時における入力制限部25の処理として、ターゲット物体の画像領域の明るさ範囲を制限明るさ範囲RL内に収めるように調整する処理が行われていた場合には、推論時に所期の推論性能が得られるようにするために、推論に用いる入力データについても同様の特性を有するようにすることが望ましい。
 例えば、図31に示すヒストグラムの例では、ターゲット物体として物体T1、T2の二つが写された撮像画像において、物体T1の画像領域の明るさ範囲、物体T2の画像領域の明るさ範囲が共に制限明るさ範囲RL内に収まっていないものとなっている。具体的に、図示の例では、物体T1の画像領域の明るさ範囲は制限明るさ範囲RLよりも暗い領域に逸脱しており、物体T2の画像領域の明るさ範囲は制限明るさ範囲RLよりも明るい領域に逸脱している。
 この場合、推論器54は、学習時に前提とされていた制限明るさ範囲RLから逸脱した明るさ範囲となっているターゲット物体の画像を対象として推論を行うことになるため、所期の推論性能を発揮できない虞がある。
 そこで、本例の制御部F2は以下のような処理を行う。
 先ずは、ターゲット物体の画像領域を特定するために、撮像部51から取得した撮像画像について、推論器54による物体認識処理を実行させる。この物体認識処理でターゲット物体の画像領域(以下「ターゲット物体認識領域」と表記する)が特定された場合、制御部F2は、ターゲット物体認識領域の明るさ範囲が制限明るさ範囲RL内に収まっているか否かを判定する。
 ターゲット物体認識領域の明るさ範囲が制限明るさ範囲RL内に収まっていれば、制御部F2は推論器54の物体認識処理結果を通信部53に出力する処理を行う。
 一方、ターゲット物体認識領域の明るさ範囲が制限明るさ範囲RL内に収まっていなければ、制御部F2は撮像部51に再撮像を実行させる。具体的には、ターゲット物体認識領域の明るさ範囲が制限明るさ範囲RL内に収まるように露出設定を変更させた状態で撮像部51に再撮像を実行させる。
 例えば、前述した物体T1のように明るさ範囲が制限明るさ範囲RLよりも暗い領域に逸脱している場合には、図32Aに例示するように、適正露出(画像全体の明るさを適正とするための露出)に対してオーバー露出となる露出設定で再撮像を実行させる。或いは、前述した物体T2のように明るさ範囲が制限明るさ範囲RLよりも明るい領域に逸脱している場合には、図32Bに例示するように、適切露出に対してアンダー露出となる露出設定で再撮像を実行させる。このとき、どの程度のオーバー露出、アンダー露出とするかは、制限明るさ範囲RLに対するターゲット物体認識領域の明るさ範囲の逸脱度合いに応じて定める。
 図33は、上記により説明した第四実施形態としての機能を実現するための処理手順例を示したフローチャートである。
 先ず、プロセッサユニット52DはステップS401で、撮像画像を入力する。すなわち、撮像部51より撮像画像(撮像画像データ)を入力する。そして、続くステップS402でプロセッサユニット52Dは、推論処理を実行する。すなわち本例では、撮像画像を入力データとして物体認識処理としての推論処理を行う。
 ステップS402に続くステップS403でプロセッサユニット52Dは、ターゲット物体が認識されたか否かを判定する。
 ターゲット物体が認識された場合、プロセッサユニット52DはステップS404に進み、撮像画像におけるターゲット物体認識領域について、明るさ解析を行う。つまり本例では、ターゲット物体認識領域の明るさ範囲を特定する処理を行う。
 ステップS404に続くステップS405でプロセッサユニット52Aは、所定の明るさ特性条件を満たすか否かを判定する。具体的には、ターゲット物体認識領域の明るさ範囲が制限明るさ範囲RL内に収まっているか否かを判定する。
 ターゲット物体認識領域の明るさ範囲が制限明るさ範囲RL内に収まっており、所定の明るさ特性条件を満たすと判定した場合、プロセッサユニット52DはステップS407に進み、推論結果を出力する処理を行う。
 そして、ステップS407に続くステップS408でプロセッサユニット52Dは、処理終了か否か、すなわち、例えば情報処理装置5Dの電源がオフされる等、予め図33に示す処理の終了条件として定められた所定条件が成立したか否かを判定する。
 処理終了ではないと判定した場合、プロセッサユニット52DはステップS409に進んで次の撮像画像を入力し、ステップS402に戻る。すなわち、撮像部51による次のフレームの撮像画像を入力し、ステップS402で該撮像画像に基づく推論処理を行う。
 また、ステップS405において、所定の明るさ特性条件を満たさないと判定した場合、プロセッサユニット52DはステップS406に進み、特性条件を満たす撮像条件により再撮像を実行させ、ステップS401に戻る。すなわち本例では、ターゲット物体認識領域の明るさ範囲が制限明るさ範囲RL内に収まるように露出設定を変更させた状態で撮像部51に再撮像を実行させ、該撮像により得られた撮像画像を入力するものである。
 また、先のステップS403において、ターゲット物体が認識されなかったと判定した場合、プロセッサユニット52DはステップS408に処理を進める。つまり本例では、ステップS402で行った推論処理でターゲット物体が認識されなかった場合は、入力した撮像画像についての推論結果は出力されない。
 プロセッサユニット52Dは、ステップS408で処理終了と判定したことに応じて、図33に示す一連の処理を終える。
<5.第五実施形態>
 第五実施形態は、撮像画像データが所定の明るさ特性条件を満たさない場合の対処として、再撮像ではなく撮像画像データの調整を行うものである。
 図34は、第五実施形態としての情報処理装置5Eの内部構成例を示したブロック図である。
 先の図30に示した情報処理装置5Dとの相違点は、別センサ部55が追加された点と、プロセッサユニット52Dに代えてプロセッサユニット52Eが設けられた点である。
 別センサ部55は、撮像部51が有するイメージセンサとは別センサを備えたセンサ部である。具体的に本例では、別センサ部55にはEVS(Event-Based Vision Sensor)が用いられる。EVSは、受光素子を有する画素が二次元配列された画素アレイ部を有し、画素ごとに受光量の所定量以上の変化をイベントとして検出するセンサである。このEVSにより、撮像部51の画角内における動物体の画像領域を特定することができる。
 プロセッサユニット52Eは、プロセッサユニット52Dと比較して、制御部F2に代えて制御部F2Eを有する点が異なる。
 制御部F2Eは、推論器54に入力される画像データが所定の明るさ特性条件を満たさないと判定した場合は、所定の明るさ特性条件を満たすように該画像データを調整する。
 具体的に、制御部F2Eは、推論器54に入力される画像データが、光学的な特性の分布範囲(本例では明るさの分布範囲)が所定範囲内であるか否かを判定し、判定の結果、該画像データの光学的な特性の分布範囲が所定範囲内ではなかった(所定範囲よりも大きい)場合に、該画像データの光学的な特性の分布範囲が、上記の所定範囲内に収まるように光学的な特性を変更する処理を行う。
 ここで、このような制御部F2Eの処理は、請求項に言う「前処理部」の処理に相当するものである。
 図35から図40を参照し、制御部F2Eの機能の具体例を説明する。
 図35は、ターゲット物体の画像部分の明るさ範囲が制限明るさ範囲RL内に収まっていない場合の説明図である。
 先ず本例では、ターゲット物体の画像領域は、動物体が写された画像領域として特定する前提とする。具体的に、この場合におけるターゲット物体の画像領域は、別センサ部55としてのEVSの検出情報に基づいて特定する。図35Aでは、撮像画像の一例として、道路上を走行する自動車としてのターゲット物体が写された撮像画像を示している。ここでの撮像画像では、街灯によって照らされた明るい領域も写されており、且つ、自動車は、街灯で照らされいない領域に存在している。ここでは、撮像部51における露出設定として、画像全体の明るさを適正化する露出設定が行われる前提としており、従って図35Aの撮像画像においては、自動車は暗く写される傾向となる。
 ここで、以下の説明では、ターゲット物体の画像領域のことを「ターゲット物体存在領域」と表記する。
 本実施形態では、ターゲット物体存在領域が検出された場合は、撮像画像から該ターゲット物体存在領域の画像を切り出し、切り出した画像を推論器54の入力データとして与える前提とする。
 制御部F2Eは、EVSの検出情報に基づきターゲット物体存在領域を検出した場合において、該ターゲット物体存在領域の明るさ範囲が制限明るさ範囲RL内に収まっているかを判定する。そして、ターゲット物体存在領域の明るさ範囲が制限明るさ範囲RL内に収まっていないと判定した場合は、ターゲット物体存在領域の切り出し画像について、図35Bに例示するように明るさをオフセットさせる処理を行う。具体的には、ターゲット物体存在領域の明るさ範囲が制限明るさ範囲RL内に収まるように、切り出し画像の明るさをオフセットさせるものである。
 図36は、撮像画像内に複数のターゲット物体が写されている場合の説明図である。
 具体的に図36Aでは、先の図35Aのように街灯が非照射の領域に存在するターゲット物体(物体T1とする)に加えて、街灯に照らされた領域に存在するターゲット物体(物体T2とする)が写された例を示している。
 ここでは、物体T1の明るさ範囲は図35Aの場合と同様に制限明るさ範囲RL内に収まっておらず、一方で、物体T2の明るさ範囲は制限明るさ範囲RL内に収まっているとする。
 この場合、制御部F2Bは、物体T2としてのターゲット物体については、図36Bに例示するように明るさをオフセットさせず、物体T2の切り出し画像をそのままの明るさで推論器54の入力データとして与える。
 また、物体T1としてのターゲット物体については、図36Cに例示するように切り出し画像の明るさ範囲が制限明るさ範囲RL内に収まるように明るさをオフセットさせ、推論器54の入力データとして与える。
 ここで、ターゲット物体の種類等によっては、ターゲット物体存在領域の明るさ範囲が、制限明るさ範囲RLよりも広い範囲となることも有り得る。例えば、図37では、ハイビームとしての前照灯を点灯させた状態で夜間走行している自動車が写された撮像画像を例示しているが、このようなケースでは、ターゲット物体存在領域における輝度値の最大値と最小値との差(つまり明るさの最大差)が広がる傾向となり、ターゲット物体存在領域の明るさ範囲が、制限明るさ範囲RLよりも広くなることが有り得る。換言すれば、ターゲット物体存在領域の明るさの最大差が、制限明るさ範囲RLの明るさの最大差(以下「最大差DL」と表記する)よりも大きくなり得る。
 そこで、制御部F2Eは、ターゲット物体存在領域の切り出し画像について、明るさの最大差が最大差DL以下であるか否かを判定し、該明るさの最大差が最大差DL以下でなかった場合は、切り出し画像の明るさ範囲を圧縮する処理を行う。
 このとき、切り出し画像(ターゲット物体存在領域)が全体的に明るい又は暗い画像であった場合には、圧縮後の切り出し画像の明るさ範囲が、制限明るさ範囲RL内に収まらないケースも想定され得る。このため、本例の制御部F2Eは、明るさの圧縮後において、切り出し画像の明るさ範囲が制限明るさ範囲RL内に収まっているか否かを判定し、制限明るさ範囲RL内に収まっていなければ、該切り出し画像の明るさ範囲が制限明るさ範囲RL内に収まるように明るさをオフセットさせる処理を行う。
 図38は、この処理のイメージを示している。
 図中の<1>と示すように切り出し画像の明るさの最大差が制限明るさ範囲RLの明るさの最大差DLを超えている場合は、図中の<2>と示すように切り出し画像の明るさ範囲を圧縮する処理を行う。そして、この圧縮後において、切り出し画像の明るさ範囲が制限明るさ範囲RL内に収まっていなければ、図中の<3>と示すように、明るさ範囲が制限明るさ範囲RL内に収まるように、圧縮後の切り出し画像の明るさをオフセットさせる処理を行う。
 ここで、明るさ範囲の圧縮方式については、図39に例示するような線形圧縮方式を採用することができる。或いは、図40に例示するような非線形圧縮方式を採用することもできる。
 図41は、上記により説明した第五実施形態としての機能を実現するための処理手順例を示したフローチャートである。
 図41において、プロセッサユニット52EはステップS501で、撮像画像及び別センサの検出情報を入力する。すなわち、撮像部51による撮像画像と、別センサ部55による検出情報(本例ではEVSによる検出情報)とを入力する。
 ステップS501に続くステップS502でプロセッサユニット52Eは、別センサの検出情報に基づくターゲット物体存在領域の検出処理を行う。つまり本例では、EVSによる検出情報に基づき、動物体の画像領域としてのターゲット物体存在領域を検出するための処理を行う。
 ステップS502に続くステップS503でプロセッサユニット52Eは、ターゲット物体存在領域が検出されたか否かを判定する。
 確認のため述べておくと、ステップS502の検出処理によっては、ターゲット物体存在領域が複数検出され得る(図36A参照)。 
 ステップS503において、ターゲット物体存在領域が検出されたと判定した場合、プロセッサユニット52EはステップS504に進み、ターゲット物体存在領域を切り出しする処理を行う。すなわち、ステップS501で入力した撮像画像におけるターゲット物体存在領域の画像を切り出すものである。
 ステップS504に続くステップS505でプロセッサユニット52Eは、明るさの最大差が制限明るさ範囲RLの明るさの最大差DLを超えている切り出し画像があるか否かを判定する。
 明るさの最大差が最大差DLを超えている切り出し画像があると判定した場合、プロセッサユニット52EはステップS506に進み、該当する切り出し画像の明るさ範囲を圧縮する処理を行う。この圧縮の処理については、前述した線形圧縮方式や非線形圧縮方式を採用することができる。
 プロセッサユニット52Eは、ステップS506の圧縮処理を実行したことに応じてステップS507に処理を進める。
 一方、ステップS505において、明るさの最大差が最大差DLを超えている切り出し画像がないと判定した場合、プロセッサユニット52EはステップS506の処理をパスしてステップS507に処理を進める。
 ステップS507でプロセッサユニット52Eは、制限明るさ範囲RL内に収まらない切り出し画像があるか否かを判定する。すなわち、明るさ範囲が制限明るさ範囲RL内に収まらない切り出し画像があるか否かの判定である。
 制限明るさ範囲RL内に収まらない切り出し画像があると判定した場合、プロセッサユニット52EはステップS508に進み、該当する切り出し画像の明るさをオフセットする処理、具体的には、明るさ範囲が制限明るさ範囲RL内に収まるように該当する切り出し画像の明るさをオフセットする処理を行う。
 プロセッサユニット52Eは、ステップS508のオフセット処理を実行したことに応じてステップS509に処理を進める。
 一方ステップS507において、制限明るさ範囲RL内に収まらない切り出し画像がないと判定した場合、プロセッサユニット52EはステップS508の処理をパスしてステップS509に処理を進める。
 ステップS509でプロセッサユニット52Eは、切り出し画像に基づく推論処理、すなわち切り出し画像を入力データとした推論処理(本例では物体認識処理)を行う。
 ステップS509に続くステップS510でプロセッサユニット52Eは、処理終了であるか否か、すなわち、例えば情報処理装置5Eの電源がオフされる等、予め図41に示す処理の終了条件として定められた所定条件が成立したか否かを判定する。
 処理終了ではないと判定した場合、プロセッサユニット52EはステップS501に戻る。これにより、次のフレームの撮像画像について、ターゲット物体存在領域の検出やターゲット物体存在領域の明るさの調整(圧縮やオフセット)を行うことができる。
 一方、処理終了であると判定した場合、プロセッサユニット52Eは図41に示す一連の処理を終える。
 なお、上記ではターゲット物体存在領域の検出に用いる別センサ部55としてEVSを例示したが、別センサ部55としては、例えばToF(Time of Flight)センサ等のデプスセンサを用いることも考えられる。この場合は、ターゲット物体存在領域は、動物体の画像領域ではなく、所定の距離範囲内に存在する被写体等、距離情報から特定される被写体の画像領域として検出する。
 また、ターゲット物体存在領域として動物体の画像領域を検出する場合には、別センサ部55は省略することができる。例えば、撮像部51による撮像画像の動きベクトルから動物体を検出することが可能である。
 ここで、上記では推論器54による推論結果を通信部53を介して外部機器に出力する構成を例示したが、外部機器に対しては、推論結果のみでなく、推論に用いた撮像画像を出力することも考えられる。
 図42は、このように推論結果と共に撮像画像を出力することが可能とされた第五実施形態の変形例としての情報処理装置5Fの内部構成例を示したブロック図である。
 先の図34に示した情報処理装置5Eとの相違点は、出力画像用信号処理部56を備え、この出力画像用信号処理部56を介して撮像部51による撮像画像を外部機器に出力可能とされている点である。
 このような情報処理装置5Fにおいて、撮像部51による撮像画像として、図43中の左側に示すような特性による撮像画像が得られた場合を考える。すなわち、撮像画像全体の明るさの最大差が制限明るさ範囲RLの最大差DLを超えており、且つ、撮像画像に含まれる高照度被写体の明るさの最大値が制限明るさ範囲RLの明るさの最大値を超え、さらに、撮像画像に含まれる低照度被写体の明るさの最小値が制限明るさ範囲RLの明るさの最小値を下回っているという場合である。
 この場合、情報処理装置5Fにおいては、制御部F2Eの機能により、低照度被写体、高照度被写体はそれぞれ明るさ範囲が制限明るさ範囲RL内に収まるように明るさ調整される(図中<1><2>)。一方で、撮像画像全体については、図中<3>と示すようにそのままの明るさで出力されるものとなる。
 この点より、情報処理装置5Fは、低照度被写体と高照度被写体とが撮像された場合において、それら低照度被写体と高照度被写体とを含む撮像画像を出力するパスと、低照度被写体の画像領域と高照度被写体の画像領域の明るさ範囲を、撮像画像(出力画像)における低照度被写体の明るさ範囲と高照度被写体の明るさ範囲との間となる明るさ範囲に調整して推論器54(スパースニューラルネットワーク31aA)に出力するパスと、を備えたものであると表現することができる。
<6.変形例>
 なお、実施形態としては上記した具体例に限定されるものでなく、多様な変形例としての構成を採り得る。
 例えば、上記では、画像に係る推論を行う場合を例示したが、本技術で前提とする推論は画像に係る推論に限定されるものではない。例えば、音情報に係る推論(例えばボイスチェンジャ等の用途)や、加速度情報や角速度情報等の動き情報に係る推論(例えば動き予測等の用途)、テキスト情報に係る推論(例えば翻訳等の用途)等、ニューラルネットワークを用いた推論を行う場合に広く好適に適用することができる。
 また、上記では、フィルタの関連性評価の例として、類似性の評価、合成可能か否かの評価を行う場合を挙げたが、フィルタの関連性評価としてはこれら類似性や合成可能か否かの観点による評価に限定されず、他の観点での関連性評価を行うこともできる。
 また、上記では推論側の情報処理装置が撮像部を備えた撮像装置として構成される例を説明したが、推論側の情報処理装置は撮像部を備えない構成も考えられる。
 また、上記では、画像に係る推論を行う場合に関して、学習器や推論器に入力する画像データが階調画像データとされる例を挙げたが、前述もしたように、ここで言う画像データとは、画素ごとに光学的な値を示すデータのことを意味するものであって、例えばToF(Time of Flight)方式測距等の光学的な測距方式で得られる、画素ごとに距離の値を示す距離画像データ(デプス画像データ)や、画素ごとに入射光の偏光状態を表す値を示す偏光画像データ、画素ごとに温度(赤外線受光量)を示すサーマル画像等、階調画像データ以外の画像データとされることも有り得る。
 ここで、「画素ごとに光学的な値を示すデータ」としての画像データは、画素ごとに受光素子を有する受光センサにより得られる受光信号に基づくデータであってもよい。ここで言う「光」は、可視光帯の光のみでなく、非可視光帯の光も含むものである。
 また、上記では、「入力制限部」や「前処理部」を用いる場合におけるスパースニューラルネットワーク31aAの例として、第一実施形態としてのフィルタ効率化処理が行われたニューラルネットワークを例示したが、スパースニューラルネットワーク31aAとしては、第二実施形態や第三実施形態としてのフィルタ効率化処理が行われたニューラルネットワークとすることもできる。
<7.実施形態のまとめ>
 以上で説明したように実施形態としての情報処理方法は、情報処理装置が、機械学習されたニューラルネットワークが有する複数のフィルタについて関連性を評価し、該関連性の評価結果に基づいてフィルタの効率化処理を行う情報処理方法である。
 このようにフィルタの重要性ではなく、複数のフィルタの関連性に基づいてフィルタの効率化処理を行うようにすることで、例えば類似関係にあるフィルタの一部を残し他を削除するといった処理や、類似関係にあるフィルタの一部を残し他に元機能とは別機能を付与するといった処理、或いは機能を合成可能な関係にある他のフィルタの機能を合成するといった処理等としての、フィルタの効率化処理を行うことが可能となる。そして、フィルタ間の関連性に基づく効率化処理としているので、該効率化処理としては、効率化処理後のニューラルネットワークについて再学習が不要となるように行うことが可能となる。例えば、類似関係にあるフィルタの一部を削除したり別機能を付与したりしても、該一部のフィルタの機能は、これと類似関係にある他のフィルタで代用できるためニューラルネットワークの再学習は不要となる。また、フィルタの合成では合成後のフィルタに合成前の各フィルタの機能が引き継がれるためネットワークの再学習は不要となる。
 このように実施形態の情報処理方法によれば、フィルタの効率化処理後にニューラルネットワークの再学習を行うことを不要とすることが可能となるため、ニューラルネットワークの軽量化に要する時間の短縮化を図ることができる。
 また、上記した実施形態としての情報処理方法においては、関連性の評価として、複数のフィルタについての類似性を評価し、類似関係にあるフィルタの一部を残し他を削除する処理を行うと共に、残したフィルタのパワーを上げる処理を行っている(第一実施形態参照)。
 上述のように類似関係にあるフィルタの一部を削除したとしても、該一部のフィルタの機能は、これと類似関係にある他のフィルタで代用できるためニューラルネットワークの再学習は不要となる。
 従って、フィルタ数の削減によるニューラルネットワークの軽量化を実現しつつ、性能劣化の抑制を図ることができる。
 さらに、上記した実施形態としての情報処理方法においては、類似性の評価を、フィルタの係数に基づき計算した、フィルタの特徴を示す特徴指標値に基づいて行っている。
 これにより、フィルタ間の類似性を適切に評価することができる。
 さらにまた、上記した実施形態としての情報処理方法においては、関連性の評価として、複数のフィルタについての類似性を評価し、類似関係にあるフィルタの一部を残し他に元機能とは別機能を付与する処理を行っている(第二実施形態参照)。
 これにより、所定数の機能を実現するために要するフィルタ数の削減が図られ、その意味で、ニューラルネットワークの軽量化が図られる。そして、この場合もニューラルネットワークの軽量化にあたっては、ニューラルネットワークの再学習は不要とすることが可能であり、ニューラルネットワークの軽量化に要する時間の短縮化を図ることができる。
 また、上記した実施形態としての情報処理方法においては、類似性の評価を、フィルタの係数に基づき計算した、フィルタの特徴を示す特徴指標値に基づいて行っている。
 これにより、フィルタ間の類似性を適切に評価することができる。
 さらに、上記した実施形態としての情報処理方法においては、関連性の評価として、複数のフィルタについて機能の合成が可能であるかの評価を行い、合成が可能と評価されたフィルタ組について、一方のフィルタに他方のフィルタの機能を合成する処理を行っている(第三実施形態参照)。
 これにより、機能の合成が可能な関係にあるフィルタの組については、一方のフィルタの機能を他方のフィルタに合成することが可能となる。
 従って、機能が他のフィルタに合成されたフィルタを削除することが可能となり、ニューラルネットワークの軽量化を図ることができる。或いは、機能が他のフィルタに合成されたフィルタに対し、元機能とは別機能を付与することも可能であり、その場合には、所定数の機能を実現するために要するフィルタ数の削減が図られるという意味で、ニューラルネットワークの軽量化が図られる。
 実施形態としての第一のニューラルネットワーク(スパースニューラルネットワーク31a)は、複数のフィルタを有するニューラルネットワークであって、機械学習が行われた後に、複数のフィルタについての類似性の評価が行われ、該類似性の評価結果から特定された類似関係にあるフィルタの一部を削除し他を残す処理と、残したフィルタのパワーを上げる処理とが行われたものである。
 類似関係にあるフィルタの一部を削除しても、該一部のフィルタの機能は、これと類似関係にある他のフィルタで代用できるため、ニューラルネットワークの再学習は不要である。
 従って、上記のようなフィルタの削除処理としてのフィルタの効率化処理が行われたニューラルネットワークによれば、フィルタの効率化処理後にニューラルネットワークの再学習を行うことを不要とすることが可能となるため、ニューラルネットワークの軽量化に要する時間の短縮化を図ることができる。
 また、実施形態としての第三のニューラルネットワーク(スパースニューラルネットワーク31aB)は、複数のフィルタを有するニューラルネットワークであって、機械学習が行われた後に、複数のフィルタについての類似性の評価が行われ、該類似性の評価結果から特定された類似関係にあるフィルタの一部を残し、他に元機能とは別機能を付与する処理が行われたものである。
 これにより、所定数の機能を実現するために要するフィルタ数の削減が図られ、その意味で、ニューラルネットワークの軽量化が図られる。そして、この場合もニューラルネットワークの軽量化にあたっては、ニューラルネットワークの再学習は不要とすることが可能であり、ニューラルネットワークの軽量化に要する時間の短縮化を図ることができる。
 さらに、実施形態としての第三のニューラルネットワーク(スパースニューラルネットワーク31aC)は、複数のフィルタを有するニューラルネットワークであって、機械学習が行われた後に、複数のフィルタについて機能の合成が可能であるかの評価が行われ、合成が可能と評価されたフィルタ組について、一方のフィルタに他方のフィルタの機能を合成する処理が行われたものである。
 これにより、機能の合成が可能な関係にあるフィルタの組について、一方のフィルタの機能が他方のフィルタに合成されたニューラルネットワークを得ることが可能となる。
 従って、機能が他のフィルタに合成されたフィルタを削除することが可能となり、ニューラルネットワークの軽量化を図ることができる。或いは、機能が他のフィルタに合成されたフィルタに対し、元機能とは別機能を付与することも可能であり、その場合には、所定数の機能を実現するために要するフィルタ数の削減が図られるという意味で、ニューラルネットワークの軽量化が図られる。そして、フィルタの合成では合成後のフィルタに合成前の各フィルタの機能が引き継がれるためネットワークの再学習は不要となり、従ってニューラルネットワークの軽量化に要する時間の短縮化を図ることができる。
 実施形態の第一の情報処理装置(同1)は、複数のフィルタを有するニューラルネットワークであって、機械学習が行われた後に、複数のフィルタについての類似性の評価が行われ、該類似性の評価結果から特定された類似関係にあるフィルタの一部を削除し他を残す処理と、残したフィルタのパワーを上げる処理とが行われたニューラルネットワーク(スパースニューラルネットワーク31a)を有し、該ニューラルネットワークを用いて入力データに基づく推論を行う推論器を備えたものである(第一実施形態参照)。
 このような第一の情報処理装置により、推論器の有するニューラルネットワークの軽量化時において、ニューラルネットワークの再学習を不要とすることが可能となる。
 従って、ニューラルネットワークの軽量化に要する時間の短縮化を図ることができる。
 また、上記した実施形態としての第一の情報処理装置においては、類似性の評価が、フィルタの係数に基づき計算されたフィルタの特徴を示す特徴指標値に基づき行われている。
 これにより、適切に評価されたフィルタ間の類似性に基づいて、ニューラルネットワークの軽量化が適切に行われる。
 従って、軽量化に伴うニューラルネットワークの推論精度低下の抑制を図ることができる。
 実施形態としての第二の情報処理装置(同1B)は、複数のフィルタを有するニューラルネットワークであって、機械学習が行われた後に、複数のフィルタについての類似性の評価が行われ、該類似性の評価結果から特定された類似関係にあるフィルタの一部を残し、他に元機能とは別機能を付与する処理が行われたニューラルネットワーク(スパースニューラルネットワーク31aB)を有し、該ニューラルネットワークを用いて入力データに基づく推論を行う推論器を備えたものである(第二実施形態参照)。
 このような第二の情報処理装置により、推論器の有するニューラルネットワークの軽量化時において、ニューラルネットワークの再学習を不要とすることが可能となる。
 従って、ニューラルネットワークの軽量化に要する時間の短縮化を図ることができる。
 また、上記した実施形態としての第二の情報処理装置においては、類似性の評価が、フィルタの係数に基づき計算されたフィルタの特徴を示す特徴指標値に基づき行われている。
 これにより、適切に評価されたフィルタ間の類似性に基づいて、ニューラルネットワークの軽量化が適切に行われる。
 従って、軽量化に伴うニューラルネットワークの推論精度低下の抑制を図ることができる。
 実施形態としての第三の情報処理装置は、複数のフィルタを有するニューラルネットワークであって、機械学習が行われた後に、複数のフィルタについて機能の合成が可能であるかの評価が行われ、合成が可能と評価されたフィルタ組について、一方のフィルタに他方のフィルタの機能を合成する処理が行われたニューラルネットワーク(スパースニューラルネットワーク31aC)を有し、該ニューラルネットワークを用いて入力データに基づく推論を行う推論器を備えたものである(第三実施形態参照)。
 このような第三の情報処理装置により、推論器の有するニューラルネットワークの軽量化時において、ニューラルネットワークの再学習を不要とすることが可能となる。
 従って、ニューラルネットワークの軽量化に要する時間の短縮化を図ることができる。
 実施形態の情報処理システムは、画素ごとに光化学的な値を示すデータである画像データを入力して、画像データの光学的な特性の分布範囲が所定範囲よりも大きい場合に、分布範囲が所定範囲内に収まるように光学的な特性を変更する処理を行う前処理部(同50、制御部F2E)と、前処理部により処理が行われた画像データを入力データとしてニューラルネットワークを用いた推論処理を行う推論器と、を備えたものである(第一実施形態の別例、第五実施形態参照)。
 ニューラルネットワークの機械学習においては、学習精度向上のために、学習用入力データとして用いる画像データについて、例えば明るさの分布範囲等、光学的な特性の分布範囲を揃えるということが行われ得る。上記構成によれば、このように光学的な特性の分布範囲が揃った画像データを学習用入力データとしてニューラルネットワークの機械学習が行われた場合に対応して、推論環境においても、学習済みニューラルネットワークへの入力画像データとして光学的な特性の分布範囲が揃った画像データが入力されるようにすることが可能となる。
 従って、推論精度の向上を図ることができる。
 また、上記した実施形態としての情報処理システムにおいては、画素ごとに光学的な値を示すデータである画像データを学習用入力データとして用いてニューラルネットワークについての機械学習処理を行う学習処理部(学習器30)と、光学的な特性の分布範囲が所定範囲内に収まっている画像データのみが、学習処理部により機械学習処理されるニューラルネットワークに入力されるように処理する入力制限部(同25)と、を含む第一システムと、前処理部と推論器とを含む第二システムと、を備え、第一システムにおいて、学習処理部は、入力制限部により入力された、分布範囲が所定範囲内に収まっている画像データのみを学習用入力データとしてニューラルネットワークの機械学習処理を行い、第二システムにおいて、推論器は、学習処理部により機械学習済みとされたニューラルネットワーク(スパースニューラルネットワーク31aA)を用いて推論処理を行っている。
 第一システムにおいて、上記のような入力制限部を設けることで、ニューラルネットワークの学習用入力データとして用いる画像データについて、光学的な特性の分布範囲を揃えることが可能となり、ニューラルネットワークの学習精度の向上を図ることが可能となる。また、第二システムにおいて、前処理部を設けることで、このように光学的な特性の分布範囲を揃えた学習用入力データによりニューラルネットワークの機械学習が行われた場合に対応して、学習済みニューラルネットワークへの入力画像データとして光学的な特性の分布範囲が揃った画像データが入力されるようにすることができ、推論精度の向上を図ることができる。
 さらに、上記した実施形態としての情報処理システムにおいては、光学的な特性は、像の明るさであるものとされている。
 これにより、画像データにおける像の明るさの分布範囲を揃えた学習用入力データによりニューラルネットワークの機械学習が行われた場合に対応して、学習済みニューラルネットワークへの入力画像データとして像の明るさの分布範囲が揃った画像データが入力されるようにすることができ、推論精度の向上を図ることができる。
 さらにまた、上記した実施形態としての情報処理システムにおいては、推論処理は、推論器に対する入力データとしての画像データを対象とした物体認識処理であるものとされている。
 これにより、ニューラルネットワークを用いた推論処理として物体認識処理を行う場合に対応して、推論精度の向上を図ることができる。
 また、上記した実施形態としての情報処理システムにおいては、前処理部(制御部F2E)は、画像データにおける物体の検出領域についての光学的な特性の分布範囲が所定範囲外であった場合に、検出領域の画像データについての光学的な特性を変更する特性変更処理を行い、特性変更処理が行われた画像データを対象として推論器による物体認識処理を実行させている(第五実施形態参照)。
 これにより、物体の検出領域としての画像領域について、光学的な特性の分布範囲が所定範囲外となる場合であっても、該画像領域について光学的な特性の分布範囲が所定範囲内となるように特性変更を行って物体認識処理を行うことが可能となる。
 従って、物体認識精度の向上を図ることができる。また、推論が可能となるケースを増やすことができるという面で、推論性能の向上が図られる。
 さらに、上記した実施形態としての情報処理システムにおいては、推論器が有するニューラルネットワークは、複数のフィルタを有するニューラルネットワークであって、機械学習が行われた後に、複数のフィルタについての類似性の評価が行われ、該類似性の評価結果から特定された類似関係にあるフィルタの一部を削除し他を残す処理と、残したフィルタのパワーを上げる処理とが行われたもの、又は、機械学習が行われた後に、複数のフィルタについての類似性の評価が行われ、該類似性の評価結果から特定された類似関係にあるフィルタの一部を残し、他に元機能とは別機能を付与する処理が行われたもの、又は、機械学習が行われた後に、複数のフィルタについて機能の合成が可能であるかの評価が行われ、合成が可能と評価されたフィルタ組について、一方のフィルタに他方のフィルタの機能を合成する処理が行われたものとされている。
 類似関係にあるフィルタの一部を削除等しても、該一部のフィルタの機能は、これと類似関係にある他のフィルタで代用できるため、ニューラルネットワークの再学習は不要である。従って、上記のように類似関係にあるフィルタについて一部のフィルタを削除し他を残す処理や、一部を削除し他に元機能とは別機能を付与する処理を行う場合、ニューラルネットワークの軽量化に要する時間の短縮化を図ることができる。
 また、フィルタの合成を行う場合には、機能が他のフィルタに合成されたフィルタを削除することが可能となり、ニューラルネットワークの軽量化を図ることができる。或いは、機能が他のフィルタに合成されたフィルタに対し、元機能とは別機能を付与することも可能であり、その場合には、所定数の機能を実現するために要するフィルタ数の削減が図られるという意味で、ニューラルネットワークの軽量化が図られる。そして、フィルタの合成では合成後のフィルタに合成前の各フィルタの機能が引き継がれるためネットワークの再学習は不要となり、従ってこの場合も、ニューラルネットワークの軽量化に要する時間の短縮化を図ることができる。
 ここで、実施形態としては、先の図9、図21、図27等において説明した効率化処理部F1、F1B、F1C等による処理や、効率化処理されたニューラルネットワークを用いて推論を行う処理を、例えばCPU、DSP等、或いはこれらを含むデバイスに実行させるプログラムを考えることができる。
 すなわち、実施形態の第一のプログラムは、コンピュータ装置が読み取り可能なプログラムであって、機械学習されたニューラルネットワークが有する複数のフィルタについて関連性を評価し、該関連性の評価結果に基づいてフィルタの効率化処理を行う効率化処理機能をコンピュータ装置に実現させるプログラムである。
 このような第一のプログラムにより、上述した効率化処理部F1、F1B、F1Cとしての機能を情報処理装置1、1B、1C等としての機器において実現することができる。
 また、実施形態の第二のプログラムは、コンピュータ装置が読み取り可能なプログラムであって、ネットワーク内の複数のフィルタについての関連性評価結果に基づいてフィルタの効率化処理が行われたニューラルネットワークを用いて、入力データに基づく推論を行う機能をコンピュータ装置に実現させるプログラムである。
 このような第二のプログラムにより、効率化処理されたニューラルネットワークを用いて推論を行う機能を情報処理装置5、5A、5B、5C、5D、5E等としての機器において実現することができる。
 上記のようなプログラムは、コンピュータ装置等の機器に内蔵されている記録媒体としてのHDDや、CPUを有するマイクロコンピュータ内のROM等に予め記録しておくことができる。
 或いはまた、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)、MO(Magneto Optical)ディスク、DVD(Digital Versatile Disc)、ブルーレイディスク(Blu-ray Disc(登録商標))、磁気ディスク、半導体メモリ、メモリカードなどのリムーバブル記録媒体に、一時的又は永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
 また、このようなプログラムは、リムーバブル記録媒体からパーソナルコンピュータ等にインストールする他、ダウンロードサイトから、LAN(Local Area Network)、インターネットなどのネットワークを介してダウンロードすることもできる。
 またこのようなプログラムによれば、実施形態としての処理の広範な提供に適している。例えばパーソナルコンピュータ、携帯型情報処理装置、携帯電話機、ゲーム機器、ビデオ機器、PDA(Personal Digital Assistant)等にプログラムをダウンロードすることで、当該パーソナルコンピュータ等を、本開示の効率化処理部や推論器としての処理を実現する装置として機能させることができる。
 なお、本明細書に記載された効果はあくまでも例示であって限定されるものではなく、また他の効果があってもよい。
<8.本技術>
 本技術は以下のような構成を採ることもできる。
(1)
 情報処理装置が、
 機械学習されたニューラルネットワークが有する複数のフィルタについて関連性を評価し、該関連性の評価結果に基づいてフィルタの効率化処理を行う
 情報処理方法。
(2)
 前記関連性の評価として、複数の前記フィルタについての類似性を評価し、類似関係にあるフィルタの一部を残し他を削除する処理を行うと共に、残したフィルタのパワーを上げる処理を行う
 前記(1)に記載の情報処理方法。
(3)
 前記類似性の評価を、前記フィルタの係数に基づき計算した、前記フィルタの特徴を示す特徴指標値に基づいて行う
 前記(2)に記載の情報処理方法。
(4)
 前記関連性の評価として、複数の前記フィルタについての類似性を評価し、類似関係にあるフィルタの一部を残し他に元機能とは別機能を付与する処理を行う
 前記(1)から(3)の何れかに記載の情報処理方法。
(5)
 前記類似性の評価を、前記フィルタの係数に基づき計算した、前記フィルタの特徴を示す特徴指標値に基づいて行う
 前記(4)に記載の情報処理方法。
(6)
 前記関連性の評価として、複数の前記フィルタについて機能の合成が可能であるかの評価を行い、合成が可能と評価されたフィルタ組について、一方のフィルタに他方のフィルタの機能を合成する処理を行う
 前記(1)から(5)の何れかに記載の情報処理方法。
(7)
 複数のフィルタを有するニューラルネットワークであって、
 機械学習が行われた後に、複数の前記フィルタについての類似性の評価が行われ、該類似性の評価結果から特定された類似関係にあるフィルタの一部を削除し他を残す処理と、残したフィルタのパワーを上げる処理とが行われた
 ニューラルネットワーク。
(8)
 複数のフィルタを有するニューラルネットワークであって、
 機械学習が行われた後に、複数の前記フィルタについての類似性の評価が行われ、該類似性の評価結果から特定された類似関係にあるフィルタの一部を残し、他に元機能とは別機能を付与する処理が行われた
 ニューラルネットワーク。
(9)
 複数のフィルタを有するニューラルネットワークであって、
 機械学習が行われた後に、複数の前記フィルタについて機能の合成が可能であるかの評価が行われ、合成が可能と評価されたフィルタ組について、一方のフィルタに他方のフィルタの機能を合成する処理が行われた
 ニューラルネットワーク。
(10)
 複数のフィルタを有するニューラルネットワークであって、機械学習が行われた後に、複数の前記フィルタについての類似性の評価が行われ、該類似性の評価結果から特定された類似関係にあるフィルタの一部を削除し他を残す処理と、残したフィルタのパワーを上げる処理とが行われたニューラルネットワークを有し、該ニューラルネットワークを用いて入力データに基づく推論を行う推論器を備えた
 情報処理装置。
(11)
 前記類似性の評価が、前記フィルタの係数に基づき計算された前記フィルタの特徴を示す特徴指標値に基づき行われた
 請求項10に記載の情報処理装置。
(12)
 複数のフィルタを有するニューラルネットワークであって、機械学習が行われた後に、複数の前記フィルタについての類似性の評価が行われ、該類似性の評価結果から特定された類似関係にあるフィルタの一部を残し、他に元機能とは別機能を付与する処理が行われたニューラルネットワークを有し、該ニューラルネットワークを用いて入力データに基づく推論を行う推論器を備えた
 情報処理装置。
(13)
 前記類似性の評価が、前記フィルタの係数に基づき計算された前記フィルタの特徴を示す特徴指標値に基づき行われた
 前記(12)に記載の情報処理装置。
(14)
 複数のフィルタを有するニューラルネットワークであって、機械学習が行われた後に、複数の前記フィルタについて機能の合成が可能であるかの評価が行われ、合成が可能と評価されたフィルタ組について、一方のフィルタに他方のフィルタの機能を合成する処理が行われたニューラルネットワークを有し、該ニューラルネットワークを用いて入力データに基づく推論を行う推論器を備えた
 情報処理装置。
(15)
 画素ごとに光化学的な値を示すデータである画像データを入力して、前記画像データの光学的な特性の分布範囲が所定範囲よりも大きい場合に、前記分布範囲が前記所定範囲内に収まるように前記光学的な特性を変更する処理を行う前処理部と、
 前記前処理部により前記処理が行われた前記画像データを入力データとしてニューラルネットワークを用いた推論処理を行う推論器と、を備えた
 情報処理システム。
(16)
 画素ごとに光学的な値を示すデータである画像データを学習用入力データとして用いてニューラルネットワークについての機械学習処理を行う学習処理部と、
 光学的な特性の分布範囲が所定範囲内に収まっている前記画像データのみが、前記学習処理部により機械学習処理される前記ニューラルネットワークに入力されるように処理する入力制限部と、を含む第一システムと、
 前記前処理部と前記推論器とを含む第二システムと、を備え、
 前記第一システムにおいて、前記学習処理部は、前記入力制限部により入力された、前記分布範囲が前記所定範囲内に収まっている前記画像データのみを前記学習用入力データとして前記ニューラルネットワークの機械学習処理を行い、
 前記第二システムにおいて、前記推論器は、前記学習処理部により機械学習済みとされた前記ニューラルネットワークを用いて推論処理を行う
 前記(15)に記載の情報処理システム。
(17)
 前記光学的な特性は、像の明るさである
 前記(15)又は(16)に記載の情報処理システム。
(18)
 前記推論処理は、前記推論器に対する前記入力データとしての前記画像データを対象とした物体認識処理である
 前記(15)から(17)の何れかに記載の情報処理システム。
(19)
 前記前処理部は、
 前記画像データにおける物体の検出領域についての光学的な特性の分布範囲が前記所定範囲外であった場合に、前記検出領域の画像データについての光学的な特性を変更する特性変更処理を行い、前記特性変更処理が行われた画像データを対象として前記推論器による前記物体認識処理を実行させる
 前記(18)に記載の情報処理システム。
(20)
 前記推論器が有する前記ニューラルネットワークは、複数のフィルタを有するニューラルネットワークであって、
 機械学習が行われた後に、複数の前記フィルタについての類似性の評価が行われ、該類似性の評価結果から特定された類似関係にあるフィルタの一部を削除し他を残す処理と、残したフィルタのパワーを上げる処理とが行われたもの、
 又は、
 機械学習が行われた後に、複数の前記フィルタについての類似性の評価が行われ、該類似性の評価結果から特定された類似関係にあるフィルタの一部を残し、他に元機能とは別機能を付与する処理が行われたもの、
 又は、
 機械学習が行われた後に、複数の前記フィルタについて機能の合成が可能であるかの評価が行われ、合成が可能と評価されたフィルタ組について、一方のフィルタに他方のフィルタの機能を合成する処理が行われたものである
 請求項15に記載の情報処理システム。
 前記(15)から(19)の何れかに記載の情報処理システム。
1,1A,1B 情報処理装置
11,11B,11C CPU
F1,F1B,F1C 効率化処理部
25 入力制限部
30 学習器
31s 初期ニューラルネットワーク
31b,31bA (プレトレーニング済)ニューラルネットワーク
31a,31aA,31aB,31aC スパースニューラルネットワーク
32 損失関数計算部
Di,DiB,DiC 効率化処理用データ
F11 類似度計算部
F12 不要フィルタ評価部
F13 フィルタ削除部
F14 倍率調整部
F15 対象フィルタ決定部
F16 別機能付与部
F17 別機能獲得処理部
F20 合成可否判定部
F21 フィルタ合成部
F22 フィルタ削除部
Z 疎領域
5,5A,5B,5C,5D,5E,5F 情報処理装置
50 前処理部
51 撮像部
52,52D,52E,52F プロセッサユニット
53 通信部
54 推論器
31a ニューラルネットワーク
55 別センサ部
56 出力画像用信号処理部
F2,F2E 制御部
RL 制限明るさ範囲
DL 明るさの最大差

Claims (20)

  1.  情報処理装置が、
     機械学習されたニューラルネットワークが有する複数のフィルタについて関連性を評価し、該関連性の評価結果に基づいてフィルタの効率化処理を行う
     情報処理方法。
  2.  前記関連性の評価として、複数の前記フィルタについての類似性を評価し、類似関係にあるフィルタの一部を残し他を削除する処理を行うと共に、残したフィルタのパワーを上げる処理を行う
     請求項1に記載の情報処理方法。
  3.  前記類似性の評価を、前記フィルタの係数に基づき計算した、前記フィルタの特徴を示す特徴指標値に基づいて行う
     請求項2に記載の情報処理方法。
  4.  前記関連性の評価として、複数の前記フィルタについての類似性を評価し、類似関係にあるフィルタの一部を残し他に元機能とは別機能を付与する処理を行う
     請求項1に記載の情報処理方法。
  5.  前記類似性の評価を、前記フィルタの係数に基づき計算した、前記フィルタの特徴を示す特徴指標値に基づいて行う
     請求項4に記載の情報処理方法。
  6.  前記関連性の評価として、複数の前記フィルタについて機能の合成が可能であるかの評価を行い、合成が可能と評価されたフィルタ組について、一方のフィルタに他方のフィルタの機能を合成する処理を行う
     請求項1に記載の情報処理方法。
  7.  複数のフィルタを有するニューラルネットワークであって、
     機械学習が行われた後に、複数の前記フィルタについての類似性の評価が行われ、該類似性の評価結果から特定された類似関係にあるフィルタの一部を削除し他を残す処理と、残したフィルタのパワーを上げる処理とが行われた
     ニューラルネットワーク。
  8.  複数のフィルタを有するニューラルネットワークであって、
     機械学習が行われた後に、複数の前記フィルタについての類似性の評価が行われ、該類似性の評価結果から特定された類似関係にあるフィルタの一部を残し、他に元機能とは別機能を付与する処理が行われた
     ニューラルネットワーク。
  9.  複数のフィルタを有するニューラルネットワークであって、
     機械学習が行われた後に、複数の前記フィルタについて機能の合成が可能であるかの評価が行われ、合成が可能と評価されたフィルタ組について、一方のフィルタに他方のフィルタの機能を合成する処理が行われた
     ニューラルネットワーク。
  10.  複数のフィルタを有するニューラルネットワークであって、機械学習が行われた後に、複数の前記フィルタについての類似性の評価が行われ、該類似性の評価結果から特定された類似関係にあるフィルタの一部を削除し他を残す処理と、残したフィルタのパワーを上げる処理とが行われたニューラルネットワークを有し、該ニューラルネットワークを用いて入力データに基づく推論を行う推論器を備えた
     情報処理装置。
  11.  前記類似性の評価が、前記フィルタの係数に基づき計算された前記フィルタの特徴を示す特徴指標値に基づき行われた
     請求項10に記載の情報処理装置。
  12.  複数のフィルタを有するニューラルネットワークであって、機械学習が行われた後に、複数の前記フィルタについての類似性の評価が行われ、該類似性の評価結果から特定された類似関係にあるフィルタの一部を残し、他に元機能とは別機能を付与する処理が行われたニューラルネットワークを有し、該ニューラルネットワークを用いて入力データに基づく推論を行う推論器を備えた
     情報処理装置。
  13.  前記類似性の評価が、前記フィルタの係数に基づき計算された前記フィルタの特徴を示す特徴指標値に基づき行われた
     請求項12に記載の情報処理装置。
  14.  複数のフィルタを有するニューラルネットワークであって、機械学習が行われた後に、複数の前記フィルタについて機能の合成が可能であるかの評価が行われ、合成が可能と評価されたフィルタ組について、一方のフィルタに他方のフィルタの機能を合成する処理が行われたニューラルネットワークを有し、該ニューラルネットワークを用いて入力データに基づく推論を行う推論器を備えた
     情報処理装置。
  15.  画素ごとに光化学的な値を示すデータである画像データを入力して、前記画像データの光学的な特性の分布範囲が所定範囲よりも大きい場合に、前記分布範囲が前記所定範囲内に収まるように前記光学的な特性を変更する処理を行う前処理部と、
     前記前処理部により前記処理が行われた前記画像データを入力データとしてニューラルネットワークを用いた推論処理を行う推論器と、を備えた
     情報処理システム。
  16.  画素ごとに光学的な値を示すデータである画像データを学習用入力データとして用いてニューラルネットワークについての機械学習処理を行う学習処理部と、
     光学的な特性の分布範囲が所定範囲内に収まっている前記画像データのみが、前記学習処理部により機械学習処理される前記ニューラルネットワークに入力されるように処理する入力制限部と、を含む第一システムと、
     前記前処理部と前記推論器とを含む第二システムと、を備え、
     前記第一システムにおいて、前記学習処理部は、前記入力制限部により入力された、前記分布範囲が前記所定範囲内に収まっている前記画像データのみを前記学習用入力データとして前記ニューラルネットワークの機械学習処理を行い、
     前記第二システムにおいて、前記推論器は、前記学習処理部により機械学習済みとされた前記ニューラルネットワークを用いて推論処理を行う
     請求項15に記載の情報処理システム。
  17.  前記光学的な特性は、像の明るさである
     請求項15に記載の情報処理システム。
  18.  前記推論処理は、前記推論器に対する前記入力データとしての前記画像データを対象とした物体認識処理である
     請求項15に記載の情報処理システム。
  19.  前記前処理部は、
     前記画像データにおける物体の検出領域についての光学的な特性の分布範囲が前記所定範囲外であった場合に、前記検出領域の画像データについての光学的な特性を変更する特性変更処理を行い、前記特性変更処理が行われた画像データを対象として前記推論器による前記物体認識処理を実行させる
     請求項18に記載の情報処理システム。
  20.  前記推論器が有する前記ニューラルネットワークは、複数のフィルタを有するニューラルネットワークであって、
     機械学習が行われた後に、複数の前記フィルタについての類似性の評価が行われ、該類似性の評価結果から特定された類似関係にあるフィルタの一部を削除し他を残す処理と、残したフィルタのパワーを上げる処理とが行われたもの、
     又は、
     機械学習が行われた後に、複数の前記フィルタについての類似性の評価が行われ、該類似性の評価結果から特定された類似関係にあるフィルタの一部を残し、他に元機能とは別機能を付与する処理が行われたもの、
     又は、
     機械学習が行われた後に、複数の前記フィルタについて機能の合成が可能であるかの評価が行われ、合成が可能と評価されたフィルタ組について、一方のフィルタに他方のフィルタの機能を合成する処理が行われたものである
     請求項15に記載の情報処理システム。
PCT/JP2023/041051 2022-11-25 2023-11-15 情報処理方法、ニューラルネットワーク、情報処理装置、情報処理システム WO2024111476A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-188483 2022-11-25
JP2022188483 2022-11-25

Publications (1)

Publication Number Publication Date
WO2024111476A1 true WO2024111476A1 (ja) 2024-05-30

Family

ID=91195644

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/041051 WO2024111476A1 (ja) 2022-11-25 2023-11-15 情報処理方法、ニューラルネットワーク、情報処理装置、情報処理システム

Country Status (1)

Country Link
WO (1) WO2024111476A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007026308A (ja) * 2005-07-20 2007-02-01 Canon Inc 画像処理方法、画像処理装置
WO2020105144A1 (ja) * 2018-11-21 2020-05-28 三菱電機株式会社 画像生成装置及び画像生成方法
JP2020087288A (ja) * 2018-11-30 2020-06-04 アイシン精機株式会社 Dnn軽量化装置
JP2021108039A (ja) * 2019-12-27 2021-07-29 Kddi株式会社 モデル圧縮装置及びプログラム
WO2022113347A1 (ja) * 2020-11-30 2022-06-02 日本電信電話株式会社 統合装置、統合方法、及び統合プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007026308A (ja) * 2005-07-20 2007-02-01 Canon Inc 画像処理方法、画像処理装置
WO2020105144A1 (ja) * 2018-11-21 2020-05-28 三菱電機株式会社 画像生成装置及び画像生成方法
JP2020087288A (ja) * 2018-11-30 2020-06-04 アイシン精機株式会社 Dnn軽量化装置
JP2021108039A (ja) * 2019-12-27 2021-07-29 Kddi株式会社 モデル圧縮装置及びプログラム
WO2022113347A1 (ja) * 2020-11-30 2022-06-02 日本電信電話株式会社 統合装置、統合方法、及び統合プログラム

Similar Documents

Publication Publication Date Title
CN110163235B (zh) 图像增强模型的训练、图像增强方法、装置和存储介质
KR102134405B1 (ko) 적대적 생성망을 이용한 저조도 영상 개선을 위한 장치 및 방법
US10977802B2 (en) Motion assisted image segmentation
US20220188999A1 (en) Image enhancement method and apparatus
US20220335583A1 (en) Image processing method, apparatus, and system
WO2020099957A1 (en) Semantic segmentation with soft cross-entropy loss
CN101527860B (zh) 白平衡控制设备及其控制方法和摄像设备
KR100756318B1 (ko) 이득 조절 가능한 절단 빈도함수 평활화를 이용한 영상처리 방법 및 시스템
CN111951153B (zh) 基于生成对抗网络隐空间解构的人脸属性精细化编辑方法
US20240062530A1 (en) Deep perceptual image enhancement
US20190294931A1 (en) Systems and Methods for Generative Ensemble Networks
US11508038B2 (en) Image processing method, storage medium, image processing apparatus, learned model manufacturing method, and image processing system
TWI808406B (zh) 圖像去霧方法和使用圖像去霧方法的圖像去霧設備
CN109345487B (zh) 一种图像增强方法及计算设备
JP2018195079A (ja) 画像処理装置および画像処理方法
CN110751593A (zh) 一种图像虚化处理方法及装置
CN114627034A (zh) 一种图像增强方法、图像增强模型的训练方法及相关设备
WO2021227915A1 (zh) 图像恢复模型的训练方法及装置、电子设备,及计算机可读存储介质
JP6935868B2 (ja) 画像認識装置、画像認識方法、およびプログラム
CN113744159A (zh) 一种遥感图像去雾方法、装置及电子设备
WO2024111476A1 (ja) 情報処理方法、ニューラルネットワーク、情報処理装置、情報処理システム
US20120106842A1 (en) Method for image enhancement based on histogram modification and specification
WO2023045627A1 (zh) 图像超分方法、装置、设备及存储介质
US11922609B2 (en) End to end differentiable machine vision systems, methods, and media
CN116167926A (zh) 一种模型训练方法及对比度调整方法