Patent Description:
BCI applications depend on decoding brain activity in response to single events (trials), as opposed to delineation of the average response frequently studied in basic research. Electroencephalography (EEG), a noninvasive recording technique, is one of the commonly used systems for monitoring brain activity. EEG data is simultaneously collected from a multitude of channels at a high temporal resolution, yielding high dimensional data matrices for the representation of single trial brain activity. In addition to its unsurpassed temporal resolution, EEG is non-invasive, wearable, and more affordable than other neuroimaging techniques, and is thus a prime choice for any type of practical BCI.

Traditional classification techniques use machine-learning algorithms to classify single-trial spatio-temporal activity matrices based on statistical properties of those matrices. These methods are based on two main components: a feature extraction mechanism for effective dimensionality reduction, and a classification algorithm. Typical classifiers use a sample data to learn a mapping rule by which other test data can be classified into one of two or more categories. Classifiers can be roughly divided to linear and non-linear methods. Non-linear classifiers, such as Neural Networks, Hidden Markov Model and k-nearest neighbor, can approximate a wide range of functions, allowing discrimination of complex data structures. While non-linear classifiers have the potential to capture complex discriminative functions, their complexity can also cause overfitting and carry heavy computational demands, making them less suitable for real-time applications.

Linear classifiers, on the other hand, are less complex and are thus more robust to data overfitting. Linear classifiers perform particularly well on data that can be linearly separated. Fisher Linear discriminant (FLD), linear Support Vector Machine (SVM) and Logistic Regression (LR) are examples of linear classifiers. FLD finds a linear combination of features that maps the data of two classes onto a separable projection axis. The criterion for separation is defined as the ratio of the distance between the classes mean to the variance within the classes. SVM finds a separating hyper-plane that maximizes the margin between the two classes. LR, as its name suggests, projects the data onto a logistic function.

International publication No. <CIT> discloses a method for conduction of single trial classification of EEG signals of a human subject generated responsive to a series of images containing target images and non-target images. The method comprises: obtaining the EEG signals in a spatio-temporal representation comprising time points and respective spatial distribution of the EEG signals; classifying the time points independently, using a linear discriminant classifier, to compute spatio-temporal discriminating weights; using the spatio-temporal discriminating weights to amplify the spatio-temporal representation by the spatio-temporal discriminating weights at tempo-spatial points respectively, to create a spatially-weighted representation; using Principal Component Analysis (PCA) on a temporal domain for dimensionality reduction, separately for each spatial channel of the EEG signals, to create a PCA projection; applying the PCA projection to the spatially-weighted representation onto a first plurality of principal components, to create a temporally approximated spatially weighted representation containing for each spatial channel, PCA coefficients for the plurality of principal temporal projections; and classifying the temporally approximated spatially weighted representation, over the number of channels, using the linear discriminant classifier, to yield a binary decisions series indicative of each image of the images series as either belonging to the target image or to the non-target image.

International publication No. <CIT>) discloses a method of classifying an image. A computer vision procedure is applied to the image to detect therein candidate image regions suspected as being occupied by a target. An observer is presented with each candidate image region as a visual stimulus, while collecting neurophysiological signals from the observer's brain. The neurophysiological signals are processed to identify a neurophysiological event indicative of a detection of the target by the observer. An existence of the target in the image is determined based on the identification of the neurophysiological event.

The present invention provides method of training an image classification neural network according to claim <NUM>, a system for training an image classification neural network according to claim <NUM>, and methods of classifying an image according to claims <NUM> and <NUM>.

According to an aspect of some embodiments of the present invention there is provided a method of training an image classification neural network. The method being executable by a data processor comprises: presenting by a display a first plurality of images to an observer as a visual stimulus, while collecting neurophysiological signals from a brain of the observer; processing by the data processor the neurophysiological signals to identify a neurophysiological event indicative of a detection of a target by the observer in at least one image of the first plurality of images, wherein the processing comprises calculating a score describing a probability that the target exists in the image or the similarity between an object the image and the target. Characterized in that the method comprises training the image classification neural network to identify the target in the image, based on the identification of the neurophysiological event by assigning the score to the image and feeding the image back to the image classification neural network; and storing the trained image classification neural network in a computer-readable storage medium.

According to some embodiments of the invention the method comprises applying unsupervised clustering to a second plurality of images, and selecting the first plurality of images from the second plurality of images based on the unsupervised clustering.

According to some embodiments of the invention the method comprises applying the trained image classification neural network to a second plurality of images to detect therein candidate images suspected as being occupied by the target, wherein the second plurality of images comprises at least one image of the first plurality of images. The method further comprises re-defining the second plurality of images, wherein at least one image of the redefined second plurality of images is a candidate image as detected by the trained image classification neural network. The method further comprises repeating the presentation, the collection and processing of the neurophysiological signals, and the training for at least one image of the redefined first plurality of images, thereby iteratively training the image classification neural network.

According to some embodiments of the invention the method comprises applying unsupervised clustering to the second plurality of images, and selecting the first plurality of images from the second plurality of images based on the unsupervised clustering.

According to some embodiments of the invention the method comprises randomly selecting the first plurality of images from the second plurality of images.

According to some embodiments of the invention the method comprises receiving a reference image including the target, and selecting the first plurality of images from the second plurality of images responsively to the reference image.

According to some embodiments of the invention the image classification neural network is a convolutional neural network.

According to some embodiments of the invention the image classification neural network comprises a first neural subnetwork configured for receiving and processing the neurophysiological data, a second neural subnetwork configured for receiving and processing the second plurality of images, and a shared subnetwork having a neural network layer receiving and combining outputs from both the first neural subnetwork and the second neural subnetwork.

According to some embodiments of the invention the image classification neural network is a convolutional neural network and at least one of the first and the second neural subnetworks is a convolutional neural subnetwork.

According to some embodiments of the invention the image classification neural network comprises a first separate output layer for the first neural subnetwork outputting a first score, and second separate output layer for the second neural subnetwork outputting a second score, and wherein the method comprises combining the first score with the second score to a combined score, labeling the image with the combined score, and using the label in at least one iteration of the training.

According to some embodiments of the invention the combined score is a weighted sum of the first and the second score.

According to some embodiments of the invention the method comprises scoring the neurophysiological event using the neurophysiological signals, wherein the training is based at least in part on the score.

According to some embodiments of the invention the method comprises using the score for determining a level of similarity of the target to an object in an image observed by the observer.

According to some embodiments of the invention the method comprises presenting to the observer a stimulus describing the target prior to the presentation of the first plurality of images, wherein the stimulus comprises at least one stimulus selected from the group consisting of a visual stimulus, a textual stimulus, an auditory stimulus and an olfactory stimulus.

According to some embodiments of the invention the method comprises presenting to the observer a stimulus complementary to the target prior to the presentation of the first plurality of images, wherein the stimulus comprises at least one stimulus selected from the group consisting of a visual stimulus, a textual stimulus, an auditory stimulus and an olfactory stimulus.

According to an aspect of some embodiments of the present invention there is provided a system for training an image classification neural network, comprising: a neurophysiological signal collection system, configured for collecting neurophysiological signals from a brain of an observer; and a data processor, communicating with the neurophysiological signal collection system and being configured for executing the method as delineated above and optionally and preferably detailed hereinbelow.

According to an aspect of some embodiments of the present invention there is provided a method of classifying an image, comprising: executing the method to train the image classification neural network; and applying the trained image classification neural network to the image to determine an existence of the target in the image based on a score generated by an output layer of the trained image classification neural network.

According to an aspect of some embodiments of the present invention there is provided a method of classifying an image, comprising: applying to the image the method as delineated above and optionally and preferably detailed hereinbelow; applying the trained image classification neural network to the image to determine whether the image is suspected as being occupied by a target; presenting the image to the observer as a visual stimulus, while collecting neurophysiological signals from a brain of the observer; determining an existence of the target in the image based, at least in part, on the identification of the neurophysiological event.

According to an aspect of some embodiments of the present invention there is provided a system for image classification, comprising: a neurophysiological signal collection system, configured for collecting neurophysiological signals from a brain of an observer; and a data processor, communicating with the neurophysiological signal collection system and being configured for executing the method as delineated above and optionally and preferably detailed hereinbelow.

Some embodiments of the invention are herein described, by way of example only, with reference to the accompanying drawings and images.

The present invention, in some embodiments thereof, relates to a Brain Computer Interface (BCI) and, more particularly, but not exclusively, system and method for iterative classification using neurophysiological signals.

Visual object classification by computer vision is very fast and accurate provided the sought object is well defined and its exemplars are available in the training dataset. However, it was found by the Inventors that in some cases, visual data interpretation tasks have to deal with a wide variety of potential targets or even unknown targets that do not match examples from the training set. The Inventors also found that the targets definition might change during the interpretation task. The Inventors found that the human visual perception can handle such challenges with high accuracy. The Inventors realize that in the case of large high resolution images or large sets of discrete images, it may require tens of minutes or even hours to analyze the images and detect targets or objects of interest in them, since the throughput of human analyst is low (for example, it might take a few seconds to manually scan a single image).

The Inventors therefore devised a technique that combines Rapid Serial Visual Presentation (RSVP) of images, with EEG acquisition, preferably real-time EEG acquisition (e.g., within less than <NUM> second). The inventive technique can be used for classification at a rate which is much faster compared to traditional classification techniques. The method and system of the present embodiments optionally and preferably provide an iterative process in which the training of a neural network is iteratively updated based on the output of human observer's classification, wherein an input pertaining to the human observer's classification is extracted from EEG signal recorded while the human observer's performs the classification. Then, the output of the updated neural network is optionally and preferably used to select an updated set of images which is iteratively shown to the human observer.

The technique of the present embodiments can be applied for large images, such as, but not limited to, aerial images or high resolution images from cameras covering wide areas. The technique of the present embodiments can alternative be applied to sets of images, e.g., set containing <NUM> or more, or <NUM> or more, or <NUM> or more, or <NUM> or more images, wherein at least a portion of the images contain a target, and the method and system of the present embodiments identifies or label those images. The technique of the present embodiments can be applied for a single image or automatically determining whether the single image contains a target.

The technique of the present embodiments can be used both for binary identification of an image or an image portion containing a target, and for non-binary classification of an image or an image portion, wherein the binary classification provides a binary score indicative whether or not the image or image portion contains the target, and the non-binary classification provides a non-binary score indicative of the likelihood that the image or an image portion contains the target, or the level of similarity between the target and an object in the image or image portion. In some embodiments of the present invention any of the binary score and the non-binary score is used for training of the neural network.

At least part of the operations described herein can be can be implemented by a data processing system, e.g., a dedicated circuitry or a general purpose computer, configured for receiving data and executing the operations described below. At least part of the operations can be implemented by a cloud-computing facility at a remote location.

Computer programs implementing the method of the present embodiments can commonly be distributed to users by a communication network or on a distribution medium such as, but not limited to, a floppy disk, a CD-ROM, a flash memory device and a portable hard drive. From the communication network or distribution medium, the computer programs can be copied to a hard disk or a similar intermediate storage medium. The computer programs can be run by loading the code instructions either from their distribution medium or their intermediate storage medium into the execution memory of the computer, configuring the computer to act in accordance with the method of this invention. All these operations are well-known to those skilled in the art of computer systems.

Processing operations described herein may be performed by means of processer circuit, such as a DSP, microcontroller, FPGA, ASIC, etc., or any other conventional and/or dedicated computing system.

The method of the present embodiments can be embodied in many forms. For example, it can be embodied in on a tangible medium such as a computer for performing the method operations. It can be embodied on a computer readable medium, comprising computer readable instructions for carrying out the method operations. In can also be embodied in electronic device having digital computer capabilities arranged to run the computer program on the tangible medium or execute the instruction on a computer readable medium.

Some embodiments of the present invention concern a method and system suitable for training an image classification neural network.

Neural networks are a class of computer implemented techniques based on a concept of inter-connected "neurons. " In a typical neural network, neurons contain data values, each of which affects the value of a connected neuron according to connections with pre-defined strengths, and whether the sum of connections to each particular neuron meets a pre-defined threshold. By determining proper connection strengths and threshold values (a process also referred to as training), a neural network can achieve efficient recognition of images and characters. Oftentimes, these neurons are grouped into layers in order to make connections between groups more obvious and to each computation of values. Each layer of the network may have differing numbers of neurons, and these may or may not be related to particular qualities of the input data.

In one implementation, called a fully-connected neural network, each of the neurons in a particular layer is connected to and provides input value to those in the next layer. These input values are then summed and this sum compared to a bias, or threshold. If the value exceeds the threshold for a particular neuron, that neuron then holds a positive value which can be used as input to neurons in the next layer of neurons. This computation continues through the various layers of the neural network, until it reaches a final layer. At this point, the output of the neural network routine can be read from the values in the final layer.

Unlike fully-connected networks or subnetworks which associate a single value with each neuron of the network or subnetwork, convolutional neural networks or subnetworks operate by associating an array of values with each neuron. Conceptually, this array can be thought of as a small patch of the image to be classified. The transformation of a neuron value for the subsequent layer is generalized from multiplication to convolution. This implies that the connection strengths are convolution kernels rather than scalar values. These more complex transformations involve more complex neural network matrices. Thus, while a matrix in a fully-connected network or subnetwork comprises an array of number values, in a convolutional neural network or subnetwork, each matrix entry is a patch of pixels.

The neural network to be trained is optionally and preferably, but not necessarily, a convolutional neural network. A representative example of an image classification neural network suitable for the present embodiments is described hereinunder.

Referring now to the drawings, <FIG> is a flowchart diagram of the method according to various exemplary embodiments of the present invention. It is to be understood that, unless otherwise defined, the operations described hereinbelow can be executed either contemporaneously or sequentially in many combinations or orders of execution. Specifically, the ordering of the flowchart diagrams is not to be considered as limiting. For example, two or more operations, appearing in the following description or in the flowchart diagrams in a particular order, can be executed in a different order (e.g., a reverse order) or substantially contemporaneously. Additionally, several operations described below are optional and may not be executed.

The method begins at <NUM> and optionally and preferably continues to <NUM> at which one or more input images is received. When the received image is large (e.g., a aerial image or an image captured by a camera covering a wide field-of-view, e.g., a panoramic image), the method optionally and preferably continues to <NUM> at which the image is tiled into a plurality of tiles, each to be used by the method as a separate input image. Alternatively, the method can receive a plurality of input images at <NUM>, in which case <NUM> can be skipped. Also contemplated are embodiments in which the method receives a plurality of images, and tiles one or more or each of these images. Generally, any input image received at <NUM> can be used by the method for training the image classification neural network, whether or not it is tiled.

The method optionally and preferably continues to <NUM> at which a portion of the images is selected. This can be done in more than one way.

In some embodiments of the present invention the images are selected randomly, according to a uniform distribution or any other distribution.

In some embodiments of the present invention a reference image that includes a target is received, and the portion is selected responsively to reference image. For example, a coarse image processing procedure can be applied to select images that have a similarity level higher than a predetermined threshold to the reference image. Preferably, at least a few images that have a similarity level lower than a predetermined threshold are also selected, to allow better training. The ratio of images with high similarity to images with low similarity to the reference image can optionally and preferably be from about <NUM> to about <NUM>. Alternatively or additionally, an initial target model can be built by augmenting the reference image (e.g., by creating rotated images), and an unsupervised autoencoder can be used to learn the features representing the reference image. Thereafter, the portion of the images can be selected based on distances from the mean image. The ratio of images with long distance (e.g., above a predetermined threshold) to images with short distance (e.g., less than a predetermined threshold) image can optionally and preferably be from about <NUM> to about <NUM>.

In some embodiments of the present invention unsupervised clustering is applied to the images, and the portion is selected based on the unsupervised clustering. Clusters may match different types of objects presented in the images, with one of the clusters being objects resembling the targets. The method can sample a portion of the clusters, and select several images from each cluster. The ratio of images from the cluster of images resembling the target to images from other clusters can optionally and preferably be from about <NUM> to about <NUM>. The largest cluster can contain distracting features. In some embodiments, this cluster is omitted to reduce the amount of data to be reviewed by the observer.

At <NUM> the images or, more preferably, the portion of the images is presented to an observer as a visual stimulus, and at <NUM> neurophysiological signals are collected from a brain of observer. Operation <NUM> is preferably executed contemporaneously with the visual stimulus <NUM>, so that the collected signals include also signals that are indicative of the observer's response to the visual stimulus.

The images are preferably presented serially at a sufficiently high rate. Such presentation is referred to as Rapid Serial Visual Presentation (RSVP). The rate is preferably selected so that it can cope with overlapping responses in a rapid series of visual presentation. Representative presentation rates suitable for the present embodiments are from about <NUM> to about <NUM> or from about <NUM> to about <NUM> or from about <NUM> to about <NUM> or from about <NUM> to about <NUM> or from about <NUM> to about <NUM> or from about <NUM> to about <NUM>.

The neurophysiological signals are preferably encephalogram (EG) signals, such as electroencephalogram (EEG) signals or magnetoencephalogram (MEG) signals. Other types of signals are also contemplated, but the present inventors found that EEG signals are preferred.

The EEG signals are preferably collected, optionally and preferably simultaneously, from a multiplicity of electrodes (e.g., at least <NUM> or at least <NUM> or at least <NUM> or at least <NUM> electrodes), and optionally and preferably at a sufficiently high temporal resolution. In some embodiments of the present invention signals are sampled at a sampling rate of at least <NUM> or at least <NUM> or at least <NUM>, e.g., about <NUM>. Optionally, a low-pass filter of is employed to prevent aliasing of high frequencies. A typical cutoff frequency for the low pass filter is, without limitation, about <NUM>.

When the neurophysiological signals are EEG signals, one or more of the following frequency bands can be defined: delta band (typically from about <NUM> to about <NUM>), theta band (typically from about <NUM> to about <NUM>), alpha band (typically from about <NUM> to about <NUM>), low beta band (typically from about <NUM> to about <NUM>), beta band (typically from about <NUM> to about <NUM>), and high beta band (typically from about <NUM> to about <NUM>). Higher frequency bands, such as, but not limited to, gamma band (typically from about <NUM> to about <NUM>), are also contemplated.

Electrodes can be placed at one or more, optionally and preferably all, of the following locations: two on the mastoid processes, two horizontal EOG channels positioned at the outer canthi of the left and right eyes, two vertical EOG channels, one below and one above the right eye, and a channel on the tip of the nose.

The method continues to <NUM> at which the neurophysiological signals are processed to identify a neurophysiological event indicative of a detection of the target by the observer. According to some embodiments, the observer is provided with a priori knowledge regarding the target that is to be identified in the image.

For example, the observer can be presented with a stimulus describing the target and the observer can be asked to memorize the target. The stimulus describing the target can be of any type, including, without limitation, a visual stimulus (e.g., an image of the target), a textual stimulus (e.g., a written description of the target), an auditory stimulus (e.g., an oral description of the target), an olfactory stimulus (e.g., a sample having an odor similar to an odor of the target). Also contemplated are embodiments in which the observer is presented with a stimulus that is complementary to the target. For example, the observer can be requested to memories an object wherein the target is defined as anything other than the target. The complementary stimulus be of any of the aforementioned types.

The processing <NUM> can be done in more than one way. Following is a description of several techniques that can be used for identifying a neurophysiological event in the neurophysiological signals.

The processing typically includes a digitization procedure that generates digital data from the signals. These data are typically arranged as a spatiotemporal matrix, in which the spatial dimension corresponds to electrode location on the scalp of the observer, and the temporal dimension is a discretization of the time axis into a plurality of time points or epochs, that may or may not be overlapped. The data can then be subjected to a dimensionality reduction procedure for mapping the data onto a lower dimensional space. The processing may optionally, but not necessarily, be based on frequency-bands relevant to target detection. Specifically, the processing may be primarily based on the P300 EEG wave.

The processing is preferably automatic and can be based on supervised or unsupervised learning from training data sets. Learning techniques that are useful for identifying a target detection events include, without limitation, Common Spatial Patterns (CSP), autoregressive models (AR) and Principal Component Analysis (PCA). CSP extracts spatial weights to discriminate between two classes, by maximizing the variance of one class while minimizing the variance of the second class. AR instead focuses on temporal, rather than spatial, correlations in a signal that may contain discriminative information. Discriminative AR coefficients can be selected using a linear classifier.

PCA is particularly useful for unsupervised learning. PCA maps the data onto a new, typically uncorrelated space, where the axes are ordered by the variance of the projected data samples along the axes, and only axes that reflect most of the variance are maintained. The result is a new representation of the data that retains maximal information about the original data yet provides effective dimensionality reduction.

Another method useful for identifying a target detection event employs spatial Independent Component Analysis (ICA) to extract a set of spatial weights and obtain maximally independent spatial-temporal sources. A parallel ICA stage is performed in the frequency domain to learn spectral weights for independent time-frequency components. PCA can be used separately on the spatial and spectral sources to reduce the dimensionality of the data. Each feature set can be classified separately using Fisher Linear Discriminants (FLD) and can then optionally and preferably be combined using naive Bayes fusion, by multiplication of posterior probabilities).

Another technique employs a bilinear spatial-temporal projection of event-related data on both temporal and spatial axes. These projections can be implemented in many ways. The spatial projection can be implemented, for example, as a linear transformation of signals into underlying source space or as ICA. The temporal projection can serve as a filter. The dual projections can be implemented on non-overlapping time windows of the single-trial data matrix, resulting in a scalar representing a score per window. The windows' scores can be summed or classified to provide a classification score for the entire single trial. In addition to the choice of this technique can support additional constraints on the structure of the projections matrix. One option is, for example, to learn the optimal time window for each channel separately and then train the spatial terms.

In various exemplary embodiments of the invention the method employs a Spatially Weighted Fisher Linear Discriminant (SWFLD) classifier to the neurophysiological signals. This classifier can be obtained by executing at least some of the following operations. Time points can be classified independently to compute a spatiotemporal matrix of discriminating weights. This matrix can then be used for amplifying the original spatiotemporal matrix by the discriminating weights at each spatiotemporal point, thereby providing a spatially-weighted matrix.

Preferably the SWFLD is supplemented by PCA. In these embodiments, PCA is optionally and preferably applied on the temporal domain, separately and independently for each spatial channel. This represents the time series data as a linear combination of components. PCA is optionally and preferably also applied independently on each row vector of the spatially weighted matrix. These two separate applications of PCA provide a projection matrix, which can be used to reduce the dimensions of each channel, thereby providing a data matrix of reduced dimensionality.

The rows of this matrix of reduced dimensionality can then be concatenated to provide a feature representation vector, representing the temporally approximated, spatially weighted activity of the signal. An FLD classifier can then be trained on the feature vectors to classify the spatiotemporal matrices into one of two classes. In the present embodiments, one class corresponds to a target identification event, and another class corresponds to other events. More details regarding the SWFLD classifier according to some embodiments of the present invention is provided in the Examples section that follows.

In various exemplary embodiments of the invention the method employs a neural network classifier, more preferably a convolutional neural network (CNN) classifier, to the neurophysiological signals. In these embodiments the CNN receives the signals as a spatiotemporal matrix and produces a score, typically in the range [<NUM>, <NUM>] which estimates the probability that the presented visual stimulus is a target. The network can optionally and preferably be trained using stochastic gradient descent (SGD) to minimize a logistic regression cost function. In a preferred embodiment the CNN comprises a first convolution layer applying spatial filtering for each of a plurality of time points characterizing the neurophysiological signals, a second convolution layer applying temporal filtering to outputs provided by the first convolution layer, and optionally and preferably also a third convolution layer applying temporal filtering to outputs provided by the second convolution layer. The second and third convolution layers typically learn temporal patterns in the signal that represent the change in amplitude of the spatial maps learned by the first layer, and therefore advantageous since they improve the classification accuracy.

The CNN can also comprise two or more fully connected layers each providing a non-linear combination of the outputs provided by a layer preceding the respective fully connected layer. A first fully connected layer preferably receives output from the third convolutional layer (when a third convolutional layer is employed) or the second convolutional layer (preferably, but not necessarily, when a third convolutional layer is not employed). A second fully connected layer preferably receives output from the first from the first fully connected layer. Optionally, the CNN comprises two or more pooling layers, e.g., max-pooling layers, to reduce dimensionality. More details regarding the preferred CNN is provided in the Examples section that follows.

The processing <NUM> comprises calculating a score describing the probability that a target exists in the image or the similarity between an object in the presented image and the target. The score is calculated using the respective classifier. For example, when the classifier is an SWFLD classifier, a Fisher score can be calculated, and when the classifier is a CNN classifier, the score can be the output of the logistic regression layer of the CNN.

In a preferred embodiment, the method employs an observer-specific score normalization function for normalizing the calculated score. Such an observer-specific score normalization function is typically prepared at a training stage in which the method is repeatedly executed for the same observer using a training dataset of images, wherein each image of the dataset is classified as either containing or not containing the target. The observer-specific score normalization function can also be target specific, in which case the training stage is repeated for each target to be detected. However, this need not necessarily be the case, since, for some applications, it may not be necessary to repeat the training for each target, since the observer's ability to detect different targets may be similar, particularly when the different targets belong to the same category (e.g., different vehicles, different faces, etc.). During the training stage, a first score distribution function is calculated for target classified as containing the target, and a second score distribution function is calculated for target classified as not containing the target. The score distribution functions that are calculated at the training stage, then used to normalize the score provided at the running stage. For example, denoting the first score distribution function by g<NUM>, and the second score distribution function by g<NUM>, a score s provided by the classifier at the running stage can be normalized to provide a normalized score s̃ defined as s̃=g<NUM>(s)/(g<NUM>(s)+ g<NUM>(s)).

The first and second score distribution functions can have a predetermined shape in the score space. Typically the shape is localized. Representative examples of types of distribution functions suitable for use as first and second score distribution functions including, without limitation, a Gaussian, a Lorenzian and a modified Bessel function.

The normalized score can be compared to a predetermined confidence threshold to determine the level of confidence of the identified detection event. When the normalized is below the predetermined confidence threshold, the method optionally and preferably loops back to <NUM> to re-present the respective image region or group of image regions to the observer and re-calculate the normalized score.

In some embodiments, two different types of classifiers are used and a score that weighs the scores provided by the individual classifiers is computed. For example, the method can apply an SWFLD classifier and calculate a SWFLD classification score based on the SWFLD classifier, applies a CNN classifier and calculate a CNN classification score based on the CNN classifier, and combines the SWFLD score and the CNN score. The combination of the two score may optionally and preferably be preceded by a score rescaling operation that brings the two scores to similar scale. The aforementioned normalization using the first and second score distribution functions can also serve for rescaling the scores.

In some embodiments of the present invention the method processes the neurophysiological signals to identify eye blinks. In these embodiments, when there is a positive identification of an eye blink during a presentation of an image region or group of image regions to the observer, the method optionally and preferably loops back to <NUM> and re-presents the respective image region or group of image regions to the observer. Eye blinks can be identified using any technique known in the art, such as the technique disclosed in <CIT> and <CIT>.

Following the identification of the neurophysiological event, the method proceeds to <NUM> at which the image classification neural network is trained to identify the target in the image, based on the identification of the neurophysiological event. This is done by assigning a score to the image and feeding the image back to the image classification neural network. The label or score can be binary in which case it can assume one value (e.g., "<NUM>") when the image is identified as containing the target, and another value (e.g., "<NUM>") when the image is identified as not containing the target. The label or score can be non-binary in which case it can assume a value within a range of discrete or continuous values indicative of the likelihood that the image contains the target or the similarity between the target and an object in the image. The score is the score calculated at <NUM>.

If the image classification neural network was already trained on the same image, the method updates the training. The training or retraining can be applied to one or more layers of the image classification neural network, as desired. For deep networks, the training or retraining can be applied to one or more of the last hidden layers which contain less generic and more details-specific features. Optionally, the training or retraining can be applied to the output layer of the image classification neural network. In some embodiments of the present invention the training or retraining is applied to all the layers of the network.

The method optionally and preferably proceeds to <NUM> at which the trained image classification neural network is applied to at least a portion, more preferably all, the images received at <NUM> to detect therein candidate images suspected as being occupied by the target. Optionally, the detection by the network is then used for re-defining the images. For example, the number of images can be reduced so that the ratio between candidate images suspected as being occupied by the target and images suspected as being not occupied by the target is within a predetermined ratio interval (e.g., between <NUM> and <NUM>). At least one image of the redefined set of images is a optionally and preferably a candidate image as detected by the trained image classification neural network. The method can then loop back to <NUM> or <NUM> and repeat at least some of the operations described herein so that the image classification neural network is trained using the neurophysiological signals in an iterative manner. When the images are image tiles of a larger input image, the method can loop back to <NUM> instead of <NUM> or <NUM> so that the redefining can be executed by re-tiling the larger input image into a plurality of images.

Following any execution stage of the method, e.g., following <NUM>, the method can proceed to <NUM> at which the image classification neural network is stored in a computer-readable storage medium. The method ends at <NUM>.

The advantage of using method <NUM> over Geva et al is that the brain's ability to process visual stimuli is automatically used for training an artificial neural network, unlike the situation in Geva et al where the training does not use information obtained from the neurophysiological signal. This significantly improves the ability of the artificial neural network to accurately classify images, once trained, and reduces the training time, hence also the required computer resources.

<FIG> is a schematic illustration of an image classification neural network <NUM> which can be trained using the method and system of the present embodiments, and which can at least in part be used, once trained (e.g., using the method and system of the present embodiments) for classifying an image. Neural network <NUM> preferably comprises a first neural subnetwork <NUM> configured for receiving and processing neurophysiological data <NUM>, a second neural subnetwork <NUM> configured for receiving and processing images <NUM>, and a shared subnetwork <NUM> having a neural network layer <NUM> receiving and combining outputs from both first neural subnetwork <NUM> and second neural subnetwork <NUM>. Shared subnetwork <NUM> can also have one or more additional neural network layers e.g., one or more hidden layers <NUM> and an output layer <NUM>. Neural network layer <NUM> is preferably a concatenation layer that concatenates the output features of the two subnetworks <NUM> and <NUM>. Hidden layer <NUM> of shared subnetwork <NUM> can be a fully connected layer and the output layer can be a softmax layer. Subnetworks <NUM> and <NUM> are optionally and preferably structured for supervised machine learning.

During training of subnetwork <NUM>, the output of neural subnetwork <NUM> can optionally and preferably be fed as a feedback <NUM> to subnetwork <NUM>. For example, when the output layer of subnetwork <NUM> provides a binary or non-binary score for a particular image processed by subnetwork <NUM>, the score can be used to label the particular image. The image and the associated label can be fed into the subnetwork <NUM>, thereby facilitating a supervised or semi-supervised learning of subnetwork <NUM>.

Network <NUM> optionally and preferably comprises an autoencoder subnetwork <NUM> that receives the images <NUM> extracts features from the images and provides them as input to subnetwork <NUM>. In various exemplary embodiments of the invention autoencoder subnetwork <NUM> is employed during the training of network <NUM> and is not employed for image classification after network <NUM>. Unlike subnetworks <NUM> and <NUM>, autoencoder subnetwork <NUM> is preferably structured for unsupervised machine learning. The advantage of having autoencoder subnetwork <NUM> is that it allows a better training of subnetwork <NUM>.

At an initial stage of the training of network <NUM>, autoencoder subnetwork <NUM> is optionally and preferably fed by images labeled as not containing the target. The autoencoder subnetwork <NUM> extracts from the images features of non-targets. This simulates a scenario in which the shape of the target is unknown. Autoencoder subnetwork <NUM> learns features that model images containing non-targets. At later stages of the training, autoencoder subnetwork <NUM> can optionally and preferably fed by additional images, wherein the additional images may include images that are not associated with any label (namely images for which there is no knowledge whether or not they contain the target), and/or images that are associated with a binary or no-binary label or score.

Autoencoder subnetwork <NUM> can be a CNN having, aside for input and output layers, two or more sets of parallel feature map layers and one or more fully connected layers. One or more of the sets of parallel feature map layers can perform convolution and feed vectors of features to the fully connected layer(s). The fully connected layer(s) are optionally and preferably smaller in size (number of neuron elements) than the feature map layers, and can serve for encoding the features received from the of parallel feature map layers. One or more other sets of parallel feature map layers can receive the encoded features from the fully connected layer(s), and reconstructs or approximately reconstructs the feature vectors by performing deconvolution to the encoded features. The size of these feature map layers is optionally and preferably larger than the size of the fully connected layer, and is preferably selected such that the dimensionality of the reconstructed feature vectors is the same or approximately the same as the feature vectors generated from the images <NUM>. The output layer(s) optionally and preferably concatenates the reconstructed feature vectors to restore the size of the input images <NUM>.

In autoencoder subnetwork <NUM>, a convolutional kernel can be used to feed the set(s) of parallel feature map layers by the input layers. A down-sampling kernel (e.g., a max pooling kernel) can optionally and preferably be used between sets of parallel feature map layers, and also between the last set of parallel feature map layers and the output layers. An up-sampling kernel can optionally and preferably be used to feed one of the sets of parallel feature map layers by the fully connected layers.

Second neural subnetwork <NUM> can be a CNN having input layers, one or more sets of parallel feature map layers, and one or more output layers. A convolutional kernel can be used to receive features from the input layers and provide features to a set parallel feature map layers, and a down-sampling kernel (e.g., a max pooling kernel) can optionally and preferably be used between sets of parallel feature map layers. The output layer (that is concatenated at layer <NUM> of subnetwork <NUM>) is optionally and preferably a fully connected layer, optionally and preferably receiving features from the last set of parallel feature map layers.

First neural subnetwork <NUM> can be a CNN having an input layer, one or more sets of parallel feature map layers, and one or more output layers. Convolutional kernels and down-sampling kernels (e.g., a max pooling kernel) can be alternately be used between sets of parallel feature map layers. A convolutional kernel is optionally and preferably used between the input layer and the first set of parallel feature map layers.

While subnetwork <NUM> combines the output of subnetworks <NUM> and <NUM> it was found by the Inventors of the present invention that it is also beneficial to split the output of at last one of subnetworks <NUM> and <NUM> such that the respective output are combined by shared subnetwork <NUM> but are also processed separately. This can be done by means of an additional neural network layer or an additional subnetwork that receives the output of the respective subnetwork but not the other subnetwork. Shown in <FIG> is a first additional neural network layer <NUM> that receives the output of subnetwork <NUM> and a second neural network layer <NUM> that receives the output of subnetwork <NUM>. Each of the additional layers <NUM> and <NUM> can separately calculate a score using the output vector of the respective subnetwork. The advantage of these embodiments is that they allow distinguishing between the detection accuracy of the two networks. For example, an image can be assigned with a first detection score as calculated by layer <NUM>, and a second detection score as calculated by layer <NUM>. These scores can be compared or combined, for example, using a weighted sum.

Subnetworks <NUM> and <NUM>, including output layer <NUM>, can be used without subnetworks <NUM> for generating a training subset of images. This is particularly useful when the number of images in the training set is large and it is desired to initially classify the images by a machine (e.g., a network including subnetworks <NUM> and <NUM> and output layer <NUM> but does not include subnetworks <NUM>) before presenting them to the human observer. In these embodiments, the output of layer <NUM> can be used to initially select a training subset of images, for example, only images suspected as containing the target, or both images suspected as containing the target and images suspected as not-containing the target with a predetermined ratio therebetween.

Once the training subset of images is obtained, by the use of a network including subnetworks <NUM> and <NUM> and output layer <NUM> but does not include subnetwork <NUM>, one or more training iterations can be executed without autoencoder subnetwork <NUM> but using both subnetworks <NUM> and <NUM>. In these iterations, the output of layer <NUM> is fed into subnetwork <NUM>, bypassing autoencoder subnetwork <NUM>.

<FIG> is a flowchart diagram of a method suitable for image classification, according to some embodiments of the present invention. The method begins at <NUM> and continues to <NUM> at which one or more images are received. When the received image is large, image is optionally and preferably tiled into a plurality of tiles, each to be used by the method as a separate input image as further detailed hereinabove. Alternatively, the method can receive a plurality of input images at <NUM>. Also contemplated are embodiments in which the method receives a plurality of images, and tiles one or more or each of these images.

The method proceeds to <NUM> at which a trained image classification neural network <NUM>, is applied to each image to detect candidate images suspected as being occupied by a target. The method optionally and preferably proceeds to <NUM> at which an observer is presented with each of the candidate images as a visual stimulus, to <NUM> at which neurophysiological signals are collecting from the observers brain, and to <NUM> at which the neurophysiological signals are processed to identify a neurophysiological event indicative of a detection of the target by the observer as further detailed hereinabove. The method can then proceed to <NUM> at which an existence of target in the image is determined based, at least in part, on the identification of neurophysiological event. The determination <NUM> can be binary, in which case the image is assigned with a binary score which can assume one value (e.g., "<NUM>") when the image is identified as containing the target, and another value (e.g., "<NUM>") when the image is identified as not containing the target. The determination <NUM> can alternatively be non-binary, in which case the image is assigned with a non-binary score which can assume a value within a range of discrete or continuous values indicative of the likelihood that the image contains the target or the similarity between the target and an object in the image. The score can be, for example, the score calculated during the processing of the neurophysiological signals as further detailed hereinabove.

The advantage of using method <NUM> is that the observer is presented only with images that have been preliminarily identified by the neural network as candidate images. This significantly improves the detection accuracy, reduces the processing time, and observer's fatigue.

Reference is now made to <FIG> which is a schematic illustration of a system <NUM>, according to some embodiments of the present invention. System <NUM> comprises a data processor <NUM>, a display <NUM> communicating with data processor <NUM>, and a neurophysiological signal collection system <NUM>. System <NUM> can be used for executing any of the operations, e.g., all the operations of the methods described above. System <NUM> can be a stationary target identification system, or be, or combined with, a mobile system, such as, but not limited to, a virtual reality system of augmented reality system.

Neurophysiological signal collection system <NUM> optionally and preferably communicates with <NUM> and is configured for collecting neurophysiological signals from a brain of an observer presented with an image <NUM> as a visual stimulus for detecting a target <NUM> in image <NUM>.

Data processor <NUM>, typically comprises an input/output (I/O) circuit <NUM>, a data processing circuit <NUM>, such as a central processing unit (CPU), e.g., a microprocessor, and a memory <NUM> which typically includes both volatile memory and non-volatile memory. I/O circuit <NUM> is used to communicate information in appropriately structured form to and from other CPU <NUM> and other devices or networks external to system <NUM>. CPU <NUM> is in communication with I/O circuit <NUM> and memory <NUM>. These elements can be those typically found in most general purpose computers and are known per se.

Display device <NUM> is shown in communication with data processor <NUM>, typically via I/O circuit <NUM>. Data processor <NUM> issues to display device <NUM> graphical and/or textual output images generated by CPU <NUM>. A keyboard <NUM> can also be in communication with data processor <NUM>, typically via I/O circuit <NUM>.

Also shown is a remote computer <NUM> which may optionally and preferably be used according to some embodiments of the present invention and which can similarly include a hardware processor <NUM>, an I/O circuit <NUM>, a hardware CPU <NUM>, a hardware memory <NUM>. Optionally, remote computer <NUM> can include a graphical user interface <NUM>. I/O circuits <NUM> and <NUM> of system <NUM> and computer <NUM> can operate as transceivers that communicate information with each other via a wired or wireless communication. For example, system <NUM> and computer <NUM> can communicate via a network <NUM>, such as a local area network (LAN), a wide area network (WAN) or the Internet. Any of processors <NUM> and <NUM> can in some embodiments be a part of a cloud computing resource of a cloud computing facility.

Client <NUM> and server <NUM> computers can further comprise one or more computer-readable storage media <NUM>, <NUM>, respectively. Media <NUM> and <NUM> are preferably non-transitory storage media storing computer code instructions for executing selected operations of as further detailed herein, and processors <NUM> and <NUM> execute these code instructions. The code instructions can be run by loading the respective code instructions into the respective execution memories <NUM> and <NUM> of the respective processors <NUM> and <NUM>. Each of storage media <NUM> and <NUM> can store program instructions which, when read by the respective processor, cause the processor to execute the methods as described herein.

Neurophysiological signal collection system <NUM> optionally and preferably communicates with data processor <NUM> and is configured for collecting neurophysiological signals from a brain of an observer <NUM> as further detailed hereinabove.

In some embodiments of the invention data processor <NUM> of system <NUM> is configured for executing the method described herein. The image(s) used by the method can be retrieved by processor <NUM> from storage <NUM> or be transmitted from computer <NUM> to processor <NUM> over network <NUM>. Also contemplated are embodiments in which one or more images are retrieved by processor <NUM> from storage <NUM> and one or more images are transmitted from computer <NUM> to processor <NUM> over network <NUM>. For example, images forming a training set can be retrieved from storage <NUM>, and images to be classified by the method of the present embodiments can be transmitted over network <NUM>. Once the image classification method determine the existence of the target in the image, a detection score can be transmitted from system <NUM> to computer <NUM> for displaying the detection score and optionally and preferably also the image on GUI <NUM>.

This example describes a representative implementation of the technique of the present embodiments. The implementation is described for the case of a large input image that is tiled by the method. One of ordinary skills in the art, provided with the details described herein would know how to implement at the technique also for the case of individual images of an image set.

In case of large images, such as aerial images or high resolution images from cameras covering wide areas, an experienced human observer is optionally and preferably presented, preferably in a RSVP mode, with those parts of the image that may contain potential targets or objects of interest in order to increase the observer's efficiency. In various exemplary embodiments of the invention other parts of the image are not presented to the observer.

Some embodiments of the invention provide an iterative process that streamlines the procedure of image selection to be shown to human observer using output of visual object recognition neural network, and improves the training of the neural network using the output of human observer's classification.

A representative framework includes one or more of the following operations.

<FIG> schematically illustrates the representative implementation, according to some embodiments of the present invention.

Examples <NUM> and <NUM> below include results of simulation which was run using the framework shown in <FIG> on a large satellite image. Labels were introduced to simulate the EEG classification stage (see stage <NUM> above).

The accuracy of the detection and the efficiency of the training can be optionally and preferably improved using a multimodal EEG-Image neural network for image classification, illustrated in <FIG>. The network optionally and preferably receives as input an image and a single-trial EEG data corresponding to the brain response for this image. The network is trained to classify these inputs into a detection score using a feature-level fusion. Specifically, the network learns features separately for each type of data, and later joins these features for the final layers. This also allows the network to use features from both modalities to provide a detection score and to identify, for example, when one of the modalities would not have enough support.

The targets to be classified may be unknown or vary. In such cases, the image part of the network cannot be trained on target images. To solve this problem, the unsupervised autoencoder model is firstly used to train the network on only images that do not contain the target ("semi-supervised network"). The autoencoder model learns how to reconstruct the images from the features, and produces features that represent pertinent information about the images. Then, the features extracted by the autoencoder are used as input to the multimodal network, instead of the original images. Another input is the labeled EEG data. The network optionally and preferably starts with separate layers for each input, continues with a layer that concatenates features from each input and ends with a final classification layer. Examples <NUM> and <NUM>, below, include results of application of the multimodal network on imagery data.

The input image to the framework was a large aerial image shown in <FIG>. The target was defined as man-made buildings. The input image included a total of <NUM> targets.

<FIG> shows an initial map describing the input image. Yellow symbols describe objects identified as targets and purple symbols describe objects identified as non-targets.

<FIG> shows the map after the first iteration. The portion of the images to be presented to the observer that was selected randomly constituted about <NUM>% of the total number of images, and the portion of the images to be presented to the observer that was selected by clustering was about <NUM>%. The number of target in RSVP was <NUM>, and the number of non-target in RSVP was <NUM>.

<FIG> shows the map after the second iteration. The portion of the images to be presented to the observer that was selected randomly constituted about <NUM>% of the total number of images, and the portion of the images to be presented to the observer that was selected by clustering was about <NUM>%. The number of target in RSVP was <NUM>, and the number of non-target in RSVP was <NUM>.

<FIG> shows the map after the third iteration. The portion of the images to be presented to the observer that was selected randomly constituted about <NUM>% of the total number of images, and the portion of the images to be presented to the observer that was selected by clustering was about <NUM>%. The number of target in RSVP was <NUM>, and the number of non-target in RSVP was <NUM>.

The total number of target detected was <NUM> (first iteration) + <NUM> (second iteration) + <NUM> (third iteration) = <NUM>. Thus, after three iterations, the technique optionally and preferably was able to identify all the targets with <NUM>% accuracy and with no false positive detections.

The performance was evaluated on <NUM> different RSVP sessions involving <NUM> subjects (<NUM> sessions for each subject), referred to below as subject A and subject B. The task was to detect man-made objects. Table <NUM>, below, summarizes the performance for each session.

Three additional performance analyses were conducted. In a first additional performance analysis the EEG network shown in <FIG> was evaluated, in a second additional performance analysis the image network in <FIG> was evaluated, and in a third additional performance analysis the combination of the EEG network and the image network of <FIG>, without the autoencoder, was evaluated. In these three analyses, the images were a priori labeled as either containing or not containing the target (binary labeling), and the binary labels were fed to the respective network for supervised learning.

<FIG> compare the performance of the multimodal network shown in <FIG>, with the performance other networks. For each of the analyzed networks in this example, <FIG> shows histograms describing percentage of correct classification, <FIG> shows histograms describing hit percentages, <FIG> shows histograms describing percentage of false alarms, and <FIG> shows histograms describing balanced accuracy. In <FIG>, the results designated EEGIMGAeNet correspond to the multimodal network with autoencoder shown in <FIG>, the results designated EegNet correspond to the EEG network in <FIG>, the results designated ImgNet correspond to the Image network in <FIG>, and the results designated EegImgNet correspond to the combination of the EEG network and the Image network of <FIG> without the autoencoder.

Claim 1:
A method (<NUM>) of training an image classification neural network (<NUM>), the method being executable by a data processor (<NUM>) and comprising:
presenting (<NUM>)_by a display (<NUM>) a first plurality of images to an observer (<NUM>) as a visual stimulus, while collecting (<NUM>) neurophysiological signals from a brain of said observer (<NUM>);
processing (<NUM>) by the data processor (<NUM>) said neurophysiological signals to identify a neurophysiological event indicative of a detection of a target (<NUM>) by said observer (<NUM>) in at least one image (<NUM>) of said first plurality of images, wherein said processing (<NUM>) of said neurophysiological signals comprises calculating a score describing a probability that the target (<NUM>) exists in the image (<NUM>) or the similarity between an object in the image (<NUM>) and the target (<NUM>);
characterized in that the method (<NUM>) comprises:
training (<NUM>) the image (<NUM>) classification neural network (<NUM>) to identify the target (<NUM>) in the image (<NUM>), based on said identification (<NUM>) of said neurophysiological event by assigning the score to the image (<NUM>) and feeding the image (<NUM>) to the image classification neural network (<NUM>); and
storing said trained image classification neural network (<NUM>) in a computer-readable storage medium (<NUM>, <NUM>).