WO2021161652A1 - 信号処理装置、イメージセンサ、撮像装置、信号処理方法 - Google Patents

信号処理装置、イメージセンサ、撮像装置、信号処理方法 Download PDF

Info

Publication number
WO2021161652A1
WO2021161652A1 PCT/JP2020/047168 JP2020047168W WO2021161652A1 WO 2021161652 A1 WO2021161652 A1 WO 2021161652A1 JP 2020047168 W JP2020047168 W JP 2020047168W WO 2021161652 A1 WO2021161652 A1 WO 2021161652A1
Authority
WO
WIPO (PCT)
Prior art keywords
convolution
pixel
processing
pixels
unit
Prior art date
Application number
PCT/JP2020/047168
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 WO2021161652A1 publication Critical patent/WO2021161652A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis

Definitions

  • the present technology relates to a signal processing device, an image sensor, an imaging device, and a signal processing method that perform processing related to DNN (Deep Neural Network) based on a received signal output from a pixel.
  • DNN Deep Neural Network
  • An image captured by an image pickup device such as a camera may be subjected to DNN-related processing such as image recognition processing for a subject. Since such image recognition processing requires a large amount of calculation, high-performance parts are required in the CPU (Central Processing Unit), GPU (Graphics Processing Unit), DSP (Digital Signal Processor), etc. used for the processing. In addition, when performing image recognition processing based on the difference output using a so-called DVS (Dynamic Vision Sensor) that outputs the difference from the previous received signal, it is adjusted to the vertical synchronization signal of DVS that can operate at higher speed. In order to perform image recognition processing, it is necessary to provide a higher-performance arithmetic unit.
  • DVS Dynamic Vision Sensor
  • Patent Document 1 detecting features and objects in the field of view of a computing device using a camera requires a huge amount of calculation, and as a result, in a computing device such as a mobile device. There is a risk that the battery life will decrease as the power consumption increases. When the same thing is done with the above-mentioned camera equipped with DVS, such a problem may be further exacerbated.
  • This technology was made in view of the above circumstances, and aims to reduce the amount of calculation for processing related to image recognition processing using DNN.
  • a convolution process is performed on a convolution layer for a pixel identification unit that identifies a pixel whose light reception amount has changed and a pixel whose light reception amount has changed, based on the change amount of the light reception signal indicating the light reception amount.
  • the filter processing that includes a convolution processing unit to be performed and can be executed a plurality of times in the convolution processing, all the pixels included in the processing target area that is a partial area of the input image and has the same size as the filter size are described above.
  • the filter processing is not performed.
  • the amount of change in the received signal can be obtained, for example, based on the signal output from the DVS (Dynamic Vision Sensor).
  • the signal processing device described above may include a management unit that manages the feature map generated by the convolution process. As a result, the processing result of the convolution process is stored until the convolution process is executed again.
  • the convolution processing unit in the signal processing device described above is invariant when the input image input to the convolution layer includes a change pixel affected by the pixel whose light receiving amount has changed and an invariant pixel not affected by the light received.
  • past feature map data may be used. As a result, it is not necessary to update the value of the area to be processed that uses the past data.
  • the management unit in the signal processing device may manage a dirty map indicating whether each pixel of the input image input to the convolution layer is the change pixel or the invariant pixel.
  • the dirty map shows the distinction between changeable pixels and invariant pixels for each pixel in the input image. That is, when a certain pixel is a changing pixel, it is necessary to re-execute the filter processing in which the pixel is included in the processing target area.
  • the convolution processing unit in the above-mentioned signal processing device may perform all the filter processing in the convolution layer when the feature map is not stored. As a result, in the initial processing, the filtering processing is executed for the entire input image in each convolution layer.
  • the convolution processing unit in the signal processing device may perform convolution processing in a plurality of convolution layers, and the management unit may manage the dirty map for each input image for each of the plurality of convolution layers. As a result, it is possible to perform a process of determining whether or not a change pixel is included in the process target area in any of the convolution layers.
  • the management unit in the signal processing device described above may clear the dirty map of the input image that has completed the convolution process. For example, when the update of a part of the feature map that should be updated by the change pixel in the input image is completed, the part of the feature map is updated to the latest information. In such a case, clear the dirty map.
  • the convolution processing unit in the signal processing device described above does not have to perform the convolution processing when the number of pixels whose light receiving amount has changed is equal to or less than the threshold value.
  • the results of the classification processing in the fully connected layer and the output layer may not change even if the feature map is updated by performing the convolution processing or the pooling processing.
  • the signal processing device described above includes a management unit that manages the cumulative number of pixels that accumulates the number of pixels whose light reception amount has changed, and when the cumulative number of pixels exceeds a threshold value, the convolution processing unit performs convolution processing. Then, the management unit may reset the cumulative number of pixels. By managing the cumulative number of pixels, it is possible to appropriately perform the determination process of whether or not to execute the convolution process or the pooling process.
  • the signal processing device described above may include a threshold value adjusting unit that performs a threshold value adjusting process for adjusting the threshold value for the cumulative number of pixels based on the processing result of the classification process after the convolution process. If the convolution process or pooling process is executed too frequently, the processing load will increase. Further, if the execution frequency is too low, the classification process may not be performed correctly.
  • the threshold value adjusting unit in the signal processing device described above classifies the classification result of the classification process after the convolution process executed when the cumulative number of pixels exceeds the threshold value and the classification result of the classification process executed immediately before the convolution process.
  • the threshold value for the cumulative number of pixels may be increased in the threshold value adjustment process. If the classification result is unchanged as a result of executing the convolution process, the pooling process, and the classification process, the execution frequency of each process may be too high. Moreover, the high execution frequency may be due to the low threshold value.
  • the threshold value adjusting unit in the signal processing device described above classifies the classification result of the classification process after the convolution process executed when the cumulative number of pixels exceeds the threshold value and the classification result of the classification process executed immediately before the convolution process.
  • the threshold value for the cumulative number of pixels may be lowered in the threshold value adjustment process.
  • the execution frequency of each process may be too low. In addition, the low execution frequency may be due to the high threshold value.
  • the threshold adjusting unit in the above-mentioned signal processing device sets the threshold again. It is not necessary to perform the convolution process due to the excess.
  • the cumulative number of pixels which is the number of pixels whose light reception amount has changed, exceeds the threshold value
  • the cumulative number of pixels is reset and the convolution process, pooling process, and classification process are executed. If the cumulative number of pixels exceeds the threshold value again during the execution of each of these processes and the execution request of each process is received, a time lag occurs between the execution request and the process. If this is piled up, each process will not be executed at an appropriate timing.
  • the image pickup apparatus includes a light receiving unit that obtains a light receiving signal indicating the light receiving amount, a pixel specifying unit that specifies a pixel whose light receiving amount has changed based on the change amount of the light receiving signal, and the light receiving portion in which the light receiving amount has changed.
  • the filter processing that includes a convolution processing unit that performs convolution processing for pixels in the convolution layer and can be executed a plurality of times in the convolution processing
  • the processing target is a partial area of the input image and has the same size as the filter size.
  • the image pickup apparatus described above may include an image sensor in which the light receiving unit, the pixel identification unit, and the convolution processing unit are integrally formed.
  • the image sensor includes a light receiving unit that obtains a light receiving signal indicating the light receiving amount, a pixel specifying unit that specifies a pixel whose light receiving amount has changed based on the change amount of the light receiving signal, and the light receiving portion in which the light receiving amount has changed.
  • the filter processing that includes a convolution processing unit that performs the convolution processing for pixels in the convolution layer and can be executed a plurality of times in the convolution processing
  • the processing target is a partial area of the input image and has the same size as the filter size.
  • the pixel in which the received light amount has changed is specified based on the change amount of the received light signal indicating the received light amount, and the convolution process is performed on the convolution layer for the pixel in which the received light amount has changed, and the convolution is performed.
  • the filter processing that can be executed a plurality of times in the processing, all the pixels included in the processing target area which is a partial area of the input image and has the same size as the filter size are not affected by the pixel whose light receiving amount has changed. When it is an invariant pixel, the filter processing is not performed. Even by such a signal processing method, the same operation as that of the signal processing device according to the present technology can be obtained.
  • Imaging device configuration> ⁇ 2.
  • Functional configuration> ⁇ 3.
  • Image recognition processing example> ⁇ 4.
  • Dirty Map> ⁇ 5.
  • Threshold adjustment process> ⁇ 6.
  • Flowchart> ⁇ 7.
  • Modification example> ⁇ 8. Summary> ⁇ 9. This technology>
  • the configuration of the image pickup apparatus 1 according to the first embodiment will be described with reference to FIG.
  • the image pickup apparatus 1 includes an image pickup lens 2, an image sensor 3, a control unit 4, and a recording unit 5.
  • the image pickup device 1 is assumed to have various forms such as a camera mounted on an industrial robot, an in-vehicle camera, and a surveillance camera.
  • the image pickup lens 2 collects the incident light and guides it to the image sensor 3.
  • the image pickup lens 2 may be composed of a plurality of lenses.
  • the image sensor 3 is configured to include a plurality of light receiving elements, and outputs a signal obtained by photoelectric conversion.
  • the control unit 4 controls the shutter speed of the image sensor 3, gives instructions for various signal processing in each unit of the image pickup device 1, captures and records operations according to the user's operation, reproduces the recorded image file, and captures a lens.
  • 2 drive control for example, zoom control, focus control, aperture control, etc.
  • user interface control and the like are performed.
  • the recording unit 5 stores information and the like used for processing by the control unit 4.
  • the recording unit 5 for example, a ROM (Read Only Memory), a RAM (Random Access Memory), a flash memory, and the like are comprehensively shown.
  • the recording unit 5 may be a memory area built in the microcomputer chip as the control unit 4, or may be configured by a separate memory chip.
  • the control unit 4 controls the entire image pickup apparatus 1 by executing a program stored in the ROM, flash memory, or the like of the recording unit 5.
  • the image sensor 3 will be specifically described. As shown in FIG. 2, the image sensor 3 includes a pixel array unit 11, an arbiter 12, a reading unit 13, a signal processing unit 14, a memory unit 15, and an output unit 16 that function as a so-called DVS.
  • the pixel array unit 11 is formed by arranging the pixels 17 in a two-dimensional array in the row direction (horizontal direction) and the column direction (vertical direction). Each pixel 17 detects the presence or absence of an event depending on whether or not the amount of change in the amount of received light exceeds a predetermined threshold value Th, and outputs a request to the arbiter 12 when the event occurs.
  • the arbiter 12 arbitrates the request from each pixel 17 and controls the reading operation by the reading unit 13.
  • the reading unit 13 performs a reading operation for each pixel 17 of the pixel array unit 11 based on the control of the arbiter 12.
  • the read operation is executed at a timing corresponding to, for example, the vertical synchronization signal XVS.
  • Each pixel 17 outputs a signal based on the difference between the reference level and the current received signal level according to the reading operation by the reading unit 13.
  • the signal read from each pixel 17 is stored in the memory unit 15 as a difference signal.
  • the pixel 17 in which the amount of change in the amount of received light exceeds a predetermined threshold Th will be referred to as a "change pixel”, and the other pixels 17 will be referred to as an "invariant pixel”.
  • the pixel 17 resets the reference level to the current level of the received light signal according to the output of the difference signal. This makes it possible to detect the amount of change in the amount of received light with respect to the reference level according to the next vertical synchronization signal XVS.
  • the difference signal is not read out and the reference level is not reset until the amount of change in the amount of received light exceeds a predetermined threshold value Th.
  • a difference signal corresponding to the amount of change in the integrated received light amount is output from the pixel 17. Further, in the pixel array unit 11, since the reading operation is executed only for the pixels 17 (that is, the changing pixels) in which the amount of change in the amount of received light is larger than the threshold Th, the time required for the reading operation can be shortened. , High-speed drive (for example, 2000 fps, etc.) is possible.
  • the signal processing unit 14 executes various signal processing, image recognition processing by DNN, and the like.
  • image recognition processing by CNN Convolutional Neural Network
  • DNN Deep Neural Network
  • the signal processing unit 14 updates all pixel data stored in the memory unit 15.
  • the all-pixel data is data based on the latest light-receiving amount of all the pixels 17 included in the pixel array unit 11.
  • the signal processing unit 14 adds the data of the difference signal to the data of all pixels in response to the new difference signal stored in the memory unit 15 from each pixel 17, and updates the data of all pixels.
  • the signal processing unit 14 can manage the latest received light amount data for all the pixels 17.
  • the signal processing unit 14 performs a process of determining whether or not the number of changing pixels is the threshold Th2 or more. When the number of changing pixels is the threshold Th2 or more, the signal processing unit 14 executes various processes for performing image recognition by CNN. In the following description, each process executed by the signal processing unit 14 in order to perform image recognition by CNN will be simply referred to as "image recognition process”.
  • the signal processing unit 14 is input with the coordinate information of the changing pixel from the reading unit 13 as information used for the image recognition processing.
  • the information input from the reading unit 13 to the signal processing unit 14 may be only information indicating the vertical position and the horizontal position of the changing pixel (that is, coordinate information), or the difference signal and the coordinate information. And may be included.
  • the number of changing pixels is integrated until the threshold Th2 is exceeded.
  • the number of changing pixels is "3".
  • the number of changing pixels "3" is equal to or less than the threshold Th2.
  • the integrated value of the number of changing pixels is one except for the overlapping (1,1). This is an increase of 1, resulting in a total of "4".
  • the signal processing unit 14 performs, for example, a convolution process by the convolution layer, a max pooling process by the pooling layer, a classification process by the fully connected layer and the output layer, and the like. The specific processing will be described later.
  • the signal processing unit 14 manages various types of information using the memory unit 15 in order to perform image recognition processing. Specifically, the signal processing unit 14 stores and manages the feature map as the processing result in the convolution layer and the pooling layer and the dirty map for each input image in the memory unit 15.
  • the dirty map is a map for determining whether or not the convolution process in the convolution layer and the max pooling process in the pooling layer need to be executed.
  • the dirty map is the same size as the input image, and the flag information for each pixel is shown so that the pixels that need to be processed can be known. Specifically, it will be described later.
  • the "pixel” here is a pixel in the input image for each layer of the CNN, and does not necessarily mean a pixel included in the pixel array unit 11. Also in the following description, the “pixel” may refer to the pixel 17 constituting the pixel array unit 11 or one pixel in the input image. One pixel in the input image may be a value calculated by the convolution process or a value calculated by the max pooling process.
  • the memory unit 15 is composed of a ROM, a RAM, or the like, and as described above, all pixel data, which is data based on the latest light received amount of all the pixels 17 included in the pixel array unit 11, a dirty map, and a CNN convolution.
  • the feature map and the like as the processing result in the layer and the pooling layer are stored.
  • the output unit 16 outputs the classification result by CNN to the control unit 4 in the subsequent stage based on a predetermined interface standard (for example, MIPI (Mobile Industry Processor Interface)).
  • a predetermined interface standard for example, MIPI (Mobile Industry Processor Interface)
  • the control unit 4 receives the classification result by CNN and uses it for various processes.
  • the functional configuration of the signal processing unit 14 will be described with reference to FIG.
  • the signal processing unit 14 includes a pixel identification unit 21, an image recognition processing unit 22, a threshold value adjusting unit 23, and a management unit 24.
  • the pixel specifying unit 21 specifies the position of the changing pixel based on the coordinate information of the changing pixel input from the reading unit 13.
  • the image recognition processing unit 22 includes, for example, convolution processing by a convolution layer, pooling processing by a pooling layer, binding processing by a fully connected layer, processing related to a drop function described later in the fully connected layer, and an output layer as image recognition processing. Performs various processing such as classification processing using the softmax function in.
  • the threshold value adjusting unit 23 adjusts the threshold value Th2 as a determination threshold value for determining whether or not to perform the image recognition processing by the image recognition processing unit 22.
  • the threshold value Th2 is a threshold value for determining the number of changing pixels.
  • the image recognition process is performed by increasing the threshold Th2 until the integrated value of the number of changed pixels becomes larger. Suppresses the execution of each process as.
  • the threshold value adjusting unit 23 lowers the threshold value Th2 so that each process as the image recognition process is executed at a stage where the integrated value of the number of changed pixels is smaller. ..
  • the management unit 24 manages the above-mentioned feature map, dirty map, and the like by using the memory unit 15. In addition, the management unit 24 manages the integrated value of the number of changed pixels (cumulative number of pixels for the changed pixel). In the management of the integrated value of the number of changing pixels, addition processing and reset processing of the integrated value are performed.
  • the signal processing unit 14 can use VGGish, AlexNet, GoogleNet, LSTM, RNN and the like.
  • FIG. 5 shows an example using AlexNet.
  • a plurality of rectangular boxes are arranged at a distance, and one box represents one layer in CNN (AlexNet).
  • CNN image recognition processing is advanced by performing predetermined processing in each layer.
  • the process proceeds from the “all pixel data” to the “output layer”.
  • the thickness of each box roughly represents the number of layers (number of images), and the length in the height direction (direction perpendicular to the processing progress direction) is the vertical and horizontal directions of the image.
  • the number of pixels (that is, the image size) of is roughly represented.
  • all pixel data is an image of R, G, and B, and one image is an image consisting of 224 pixels in each of the vertical and horizontal directions.
  • the number of layers of all pixel data is set to "3".
  • the three images as all pixel data are input images for the first convolution layer.
  • the first convolution layer performs convolution processing using a plurality of filters on all pixel data, and outputs data in which, for example, the number of layers is 96 and the image size is 55 pixels both vertically and horizontally.
  • the first pooling layer performs max pooling processing using the output data from the first convolution layer as an input image, and outputs data having, for example, 96 layers and 27 pixels in both vertical and horizontal directions.
  • the second convolution layer performs a convolution process using the output data from the first pooling layer as an input image, and outputs data in which, for example, the number of layers is 256 and the image size is 27 pixels both vertically and horizontally.
  • the second pooling layer performs max pooling processing using the output data from the second convolution layer as an input image, and outputs data in which, for example, the number of layers is 256 and the image size is 13 pixels both vertically and horizontally.
  • the third convolution layer performs convolution processing using the output data from the second convolution layer as an input image, and outputs data in which, for example, the number of layers is 384 and the image size is 13 pixels both vertically and horizontally.
  • the 4th convolution layer performs convolution processing using the output data from the 3rd convolution layer as an input image, and outputs data in which, for example, the number of layers is 384 and the image size is 13 pixels both vertically and horizontally.
  • the 5th convolution layer performs convolution processing using the output data from the 4th convolution layer as an input image, and outputs data in which, for example, the number of layers is 256 and the image size is 13 pixels both vertically and horizontally.
  • the third pooling layer performs max pooling processing using the output data from the fifth convolution layer as an input image, and outputs data in which, for example, the number of layers is 256 and the image size is 6 pixels both vertically and horizontally.
  • the first fully connected layer performs a binding process using the output data from the third pooling layer, and outputs 4096 pieces of data.
  • the second fully connected layer performs a binding process using the output data from the first fully connected layer, and outputs 4096 pieces of data.
  • the first fully connected layer and the second fully connected layer are equipped with a dropout function to prevent overfitting.
  • the dropout function is a function that randomly invalidates a part of the input data.
  • the output layer performs classification processing using a softmax function using the output data from the second fully connected layer, and outputs, for example, the likelihood of each of 1000 labels as the final output.
  • image recognition of the subject of all pixel data is executed.
  • the input image input to each of the folding layer and the pooling layer described above corresponds to the input image as referred to in the claim. That is, the all-pixel data is the input image according to the claim for the first convolution layer, which is the first layer, and the feature map output from each layer is the input image according to the claim for the next layer. It is said that.
  • the signal processing unit 14 in the present technology is characterized in that the amount of calculation related to the convolution process in the convolution layer and the max pooling process in the pooling layer is reduced. Therefore, the signal processing unit 14 uses a dirty map.
  • FIG. 6 shows an example of all pixel data input to the first convolution layer and an example of a dirty map corresponding thereto.
  • All pixel data consists of three pixel data (images): pixel data (R image) for red (R), pixel data (G image) for green (G), and pixel data (B image) for blue (B). ) Consists of.
  • Dirty maps are prepared for each image.
  • An example of a dirty map corresponding to one input image (for example, R image) is shown in FIGS. 7 and 8.
  • FIG. 7 shows one of all pixel data which is an input image for the first convolution layer.
  • the pixel array unit 11 outputs data about the changing pixels. That is, pixels (changed pixels) in which the amount of change in the amount of received light exceeds a predetermined threshold value Th can be identified.
  • the changing pixel is shown so that it can be seen by surrounding the changing pixel with a line.
  • FIG. 8 shows a dirty map corresponding to the input image. As shown in the figure, the information of "1" is stored in the position corresponding to the changing pixel, and the information of "0" is stored in the position corresponding to the invariant pixel.
  • the dirty map for all pixel data input to the first convolution layer which is the first layer of CNN, has flag information arranged on the map so that variable pixels and invariant pixels can be distinguished. ..
  • a dirty map corresponding to the output data of the first convolution layer will be described.
  • AlexNet a convolution process using a filter having a filter size of 11 ⁇ 11 is performed, but here, for simplification of the explanation, the filter size is set to 3 ⁇ 3 and the convolution in the first convolution layer is performed.
  • the stride is originally 4 pixels, but here, it will be described as 1 pixel.
  • the convolution process is to perform a filter process for a partial area having the same size as the filter size in the input image a plurality of times while sliding the partial area.
  • a partial area having the same size as the filter size in the input image is described as a “processing target area”.
  • the area surrounded by the thick line in FIG. 9 is an example of the processing target area.
  • the processing target area A shown in FIG. 9 includes both changeable pixels and invariant pixels. Although it depends on the type of the filter, since the processing target area A includes the changing pixels, it is highly possible that the result of the filtering processing before the change of the received signal and the result of the filtering processing after the change are different. Therefore, in this example, in the convolution processing of the first convolution layer, if the processing target area includes change pixels, the filter processing is performed.
  • the processing target area B shown in FIG. 10 does not include changing pixels and is limited to invariant pixels. Since the change pixel is not included in the processing target area A, the result of the filter processing before the change of the received light signal and the result of the filter processing after the change are the same. Therefore, it is not necessary to execute the filter processing for the processing target area B.
  • the dirty map is used to determine whether or not the processing target area includes changing pixels.
  • FIG. 11 shows a pixel whose value has been updated by the convolution process in the first convolution layer as “1” and a pixel whose value has not been updated as “0”.
  • the data shown in FIG. 11 can be said to be a map of update flags indicating whether or not the value has been updated by the convolution process in the first convolution layer.
  • the output value A obtained as a result of executing the filter processing for the processing target area A has been updated, so the update flag is set to "1".
  • the processing target area B is not filtered and the value is not updated. Therefore, the output value B that should have been obtained when the filter processing is executed for the processing target area B is left as the old value before the update, and the update flag is set to "0".
  • the map shown in FIG. 11 is a dirty map corresponding to one output data of the first convolution layer. Further, since the output data of the first convolution layer is also the input data of the first pooling layer in the subsequent stage, the dirty map of FIG. 11 can be rephrased as a dirty map corresponding to the input image of the first pooling layer.
  • each layer in the latter stage multiple dirty maps are generated according to the input image.
  • the dirty map generated in each layer is stored in the memory unit 15 and updated every time each process is executed.
  • the latest value for each pixel of the input image of each layer may not exist.
  • the filtering processing cannot be performed unless the value of the pixel whose dirty map value is “0” is used.
  • the pixel whose dirty map is set to "0" is an invariant pixel, so that the latest difference signal is not output.
  • old information stored in the memory unit 15 is used. As a result, even if only the difference signal is output from the pixel array unit 11, the convolution process or the like can be appropriately performed.
  • Old filtering results may be used.
  • the max pooling process for the input image of FIG. 11 is performed in the first pooling layer, the pixels whose values in the dirty map are set to "0" (for example, by the convolution process by the first convolution layer of the previous layer).
  • the filter processing result that is not updated and remains old is used.
  • the feature map for each layer obtained as a result of the convolution process and the max pooling process executed in each layer is stored in the memory unit 15.
  • the feature map stored in the memory unit 15 the processing of each layer can be appropriately executed.
  • Threshold adjustment process The threshold value adjustment process executed by the threshold value adjustment unit 23 of the signal processing unit 14 will be described. In the present embodiment, the execution of the image recognition process is reserved until the integrated value of the number of changed pixels exceeds a predetermined threshold Th2, and the image recognition process is performed when the integrated value of the number of changed pixels exceeds the predetermined threshold Th2. (See Fig. 3).
  • the threshold Th2 is adjusted. Specifically, when the threshold Th2 is increased, the execution frequency of the image recognition process decreases. Further, when the threshold value Th2 is lowered, the execution frequency of the image recognition process increases.
  • the processing frequency of image recognition processing in a situation where a landscape with little movement is being imaged and the processing frequency of image recognition processing in a situation where a sport with a lot of movement is being imaged should be different.
  • the threshold value adjustment process adjusts the threshold value Th2 to be changed according to such a difference in shooting conditions, and the threshold value Th2 can be automatically adjusted to the optimum value.
  • the threshold value Th2 is adjusted based on the image recognition result output from the output layer. For example, if the current image recognition result is significantly different from the previous result, the threshold Th2 is lowered, and if the change is small, the threshold Th2 is raised.
  • the processing frequency of the image recognition process can be optimized.
  • the execution frequency of the image recognition process may be too low.
  • the pixel array unit 11 outputs a difference signal at a high speed such as 2000 fps, it is assumed that the same subject appears in the same area in a certain input image and the input image 0.5 ms later. If the same subject cannot be detected in the same area as a result of reducing the execution frequency of the image recognition process in such a situation, it can be determined that the execution frequency of the image recognition process has been reduced too much.
  • the threshold Th2 is lowered in order to increase the execution frequency of the image recognition process. ..
  • the threshold Th2 is continuously adjusted by continuously performing such processing, there is a possibility that the label output last time and the label output this time may be different from the same case frequently. There is. Originally, in an input image for a certain period of time, the same subject is often shown in the same area, and it may be desirable that the same label is output for a certain period of time as an image recognition result.
  • the threshold Th2 may be lowered (for example, 20% lower than the current threshold Th2). Further, by stopping the subsequent adjustment of the threshold value Th2 for a certain period of time (for example, 10 minutes), it is possible to prevent the threshold value Th2 from becoming low again.
  • FIG. 12 shows an example of a flowchart for the signal processing unit 14 to execute various processes.
  • the signal processing unit 14 performs a process of clearing the dirty map. This process is, for example, a process of deleting the dirty map stored in the memory unit 15.
  • step S101 is a process executed when the image pickup is started by the image pickup device 1 immediately after the power is turned on, or when the image pickup is restarted by the image pickup device 1 immediately after returning from the sleep mode. It is considered that the dirty map stored at this point has nothing to do with the subject of the imaging operation to be performed in the future. Therefore, the signal processing unit 14 deletes the dirty map in step S101.
  • the feature map may be further deleted. Further, the dirty map and the feature map stored in the memory unit 15 may be deleted when the power of the image pickup apparatus 1 is turned off.
  • step S102 the signal processing unit 14 waits for an image input.
  • the image input refers to the input of a light receiving signal (difference signal) obtained by photoelectric conversion in the pixel array unit 11.
  • the reading unit 13 reads the difference signal from each pixel 17, but since there is no (or is not stored) the immediately preceding received signal as a comparison target for calculating the difference, the difference signal is received by each pixel 17. It becomes the received light signal itself that is output according to the amount.
  • the signal processing unit 14 finishes the process of step S102 and proceeds to step S103.
  • step S103 the signal processing unit 14 executes image recognition processing for all pixel data. It can be said that the processing of each layer executes each processing because the feature map as the processing result is not stored in the memory unit 15. As a result, a dirty map is generated in each layer for which image recognition processing is performed, and a feature map is generated. These pieces of information are stored in the memory unit 15. In the dirty map used in the subsequent processing, all the flags may be rewritten to 0 by the clear processing. By clearing the values of all the pixels of the dirty map to "0", it is possible to prevent unnecessary processing from being executed by mistake.
  • the all-pixel data referred to here refers to image information input to the first layer (for example, the first convolution layer) of the CNN, and does not necessarily refer to all the pixels 17 included in the pixel array unit 11. It does not have to be. That is, it may be an image obtained by a light receiving signal of a part of pixels 17 of the pixel array unit 11.
  • the signal processing unit 14 waits for the output of the difference signal in step S104. When the difference signal is output, the signal processing unit 14 proceeds to the process of step S105.
  • the signal processing unit 14 refers to the dirty map for all pixel data in step S105. In other words, it refers to a dirty map for the input image that is input to the first layer of the CNN.
  • step S106 the signal processing unit 14 determines whether or not the integrated value of the number of changed pixels in the referenced dirty map exceeds the threshold Th2.
  • the signal processing unit 14 waits for the output of the next difference signal in step S104.
  • the signal processing unit 14 executes the image recognition process in step S107. Specifically, the minimum necessary filtering process is performed as described above while referring to the dirty map and the already generated feature map in each layer of the CNN.
  • step S107 the dirty map and the feature map stored in the memory unit 15 are updated.
  • step S108 the signal processing unit 14 performs a process of clearing the integrated value of the number of changed pixels. This process may be performed before step S107.
  • step S109 the signal processing unit 14 determines whether or not the current result and the previous result of the image recognition process are different than expected. For example, as described above, it is determined whether or not the labels given to the subjects are different.
  • the signal processing unit 14 performs a process of lowering the threshold Th2 in step S110. On the other hand, when it is determined that the difference is less than expected, the signal processing unit 14 performs a process of raising the threshold Th2 in step S111.
  • FIGS. 1 and 2 are examples of an image pickup apparatus in which a signal processing unit 14 is integrally provided with an image sensor 3.
  • a signal processing unit 14 is integrally provided with an image sensor 3.
  • the pixel array unit 11 or the like is arranged on the front surface, and the GPU or DSP as the signal processing unit 14 is formed on the back surface.
  • the image sensor 3 does not have to include the signal processing unit 14. That is, the image sensor and the signal processing unit 14 may be provided as separate bodies.
  • the configuration in which the image sensor 3 includes the arbiter 12 and only the difference signal for the necessary pixels 17 is read by the reading unit 13, but the reading unit 13 includes all of the pixel array unit 11.
  • the received signal level may be read out from the pixel 17 of the above based on the vertical synchronization signal XVS. Further, in that case, the reading unit 13 outputs only the difference signal for some of the pixels 17 recognized as changing pixels from the difference signals for all the read pixels 17 to the signal processing unit 14 in the subsequent stage. You may.
  • the most significant bit (MSB: Most Significant Bit) in the read signal may be a flag indicating whether or not the amount of change in the amount of received light exceeds a predetermined threshold Th.
  • the reading unit 13 may confirm the most significant bit of the signal read from the pixel 17 and output only the signal for the changing pixel to the signal processing unit 14 in the subsequent stage. Alternatively, the reading unit 13 may output the difference signal for all the read pixels 17, including the flag indicating whether or not the pixel is a changing pixel, to the signal processing unit 14. The signal processing unit 14 determines whether or not the difference signal is for the changing pixel by referring to the flag. In addition, the reading unit 13 reads the difference signal from all the pixels 17 of the pixel array unit 11 and determines whether or not the amount of change in the received light amount exceeds the threshold Th, and if it exceeds the threshold value Th, the MSB is displayed. The process of changing from 0 to 1 may be performed. In this case, the difference signal is output to the signal processing unit 14 after performing the operation on the MSB.
  • the above-mentioned example of the dirty map is provided corresponding to the input image for each layer of the CNN, but may be provided corresponding to the output image.
  • the pixel (one pixel) to be processed in the output image is set to "1" as a flag
  • the pixel is processed (filtered) and "0" is set as the flag. If so, the processing for the pixel may not be performed.
  • the size of the dirty map can be reduced and the memory unit 15 can be effectively used. Further, it is possible to reduce the memory size of the memory unit 15, and it is possible to reduce the component cost and the component size.
  • the execution request of the next image recognition process may be made during the execution of the image recognition process. Even if the image recognition processing unit 22 of the signal processing unit 14 receives a request for the next image recognition processing during the execution of the image recognition processing unit, the image recognition processing unit 22 may ignore the request and continue the executing image recognition processing. good. Further, the request for the image recognition process received during the process may be discarded. As a result, it is possible to prevent the processing timing of the image recognition process from being deviated from the request.
  • the image recognition process may not be executed when the number of changing pixels calculated each time does not exceed the threshold value without using the integrated value of the number of changing pixels.
  • the number of changing pixels is calculated each time based on the output from the pixel array unit 11. If the number of changing pixels does not exceed the threshold value, the image recognition process is not executed and the number of changing pixels is not carried over.
  • the threshold value used in this case may be the same numerical value as the threshold value Th2, or may be a value smaller than the threshold value Th2 because the number of changed pixels is not integrated.
  • the pixel identification unit 21 that identifies the pixel 17 in which the light reception amount has changed and the pixel 17 in which the light reception amount has changed are based on the change amount of the light reception signal indicating the light reception amount.
  • the filter processing which is provided with a convolution processing unit (image recognition processing unit 22) that performs the convolution processing of When all the pixels included in the processing target area are invariant pixels that are not affected by the pixels whose light receiving amount has changed, the filter processing is not performed.
  • the amount of change in the received signal can be obtained, for example, based on the signal output from the DVS.
  • the amount of calculation required for image analysis can be reduced and the processing required for the calculation can be performed. It is possible to reduce the time and processing load. Further, the result of the filter processing may not change depending on the processing target area. Execution is avoided for such filtering. Therefore, the amount of calculation for the convolution process can be reduced, and the processing load of the signal processing device can be reduced. Further, the power consumption can be reduced by reducing the amount of calculation, and the life of the battery included in the signal processing device can be improved. In particular, it is suitable when the signal processing device is mounted on a portable device such as a digital camera or a smartphone.
  • the management unit 24 that manages the feature map generated by the convolution process may be provided. As a result, the processing result of the convolution process is stored until the convolution process is executed again. Therefore, the processing result of the convolution processing can be reused.
  • the convolution processing unit is a change pixel affected by the pixel whose light receiving amount has changed in the input image input to the convolution layer.
  • the data of the past feature map may be used for the invariant pixels.
  • the filter processing for the processing target area can be appropriately executed.
  • each pixel of the input image input to the convolution layer is a change pixel.
  • the dirty map shows the distinction between changeable pixels and invariant pixels for each pixel in the input image. That is, when a certain pixel is a changing pixel, it is necessary to re-execute the filter processing in which the pixel is included in the processing target area.
  • a dirty map is used as an index for determining whether or not to perform filter processing for each processing target area.
  • the convolution process can be efficiently performed by deciding whether or not to perform the filter process by referring to the dirty map.
  • the convolution processing unit may perform the filter processing in the convolution layer when the feature map is not stored.
  • the filtering processing is executed for the entire input image in each convolution layer. Therefore, each process (convolution process and pooling process) for the first time can be appropriately performed.
  • the convolution processing unit (image recognition processing unit 22) performs convolution processing in a plurality of convolution layers, and the management unit 24 creates a dirty map for each input image for each of the plurality of convolution layers. You may manage it. As a result, it is possible to perform a process of determining whether or not a change pixel is included in the process target area in any of the convolution layers. Therefore, it is possible to improve the efficiency of the convolution process for each convolution layer. Of course, even if only the dirty map for the input image input to the first layer of CNN is managed, the efficiency of the convolution process can be improved, but the dirty map is managed for each input image for all layers. Thereby, the efficiency of the convolution process can be further promoted.
  • the management unit 24 may clear the dirty map of the input image that has completed the convolution process. For example, when the update of a part of the feature map that should be updated by the change pixel in the input image is completed, the part of the feature map is updated to the latest information. In such a case, clear the dirty map. As a result, it is possible to prevent the flag indicating the changing pixel from being left uncleared, prevent the feature map from being updated many times unnecessarily, and reduce the processing load. Can be done.
  • the convolution processing unit performs the convolution processing when the number of pixels whose light receiving amount has changed is equal to or less than the threshold value (for example, the threshold value Th2). It does not have to be done.
  • the threshold value for example, the threshold value Th2
  • the results of the classification processing in the fully connected layer and the output layer may not change even if the feature map is updated by performing the convolution processing or the pooling processing. In such a case, it is preferable to omit the convolution process and the pooling process.
  • the processing load can be reduced.
  • the input signal to the signal processing device is only the signal for the pixel whose light receiving amount has changed
  • the input signal has a high speed such as 2000 fps.
  • a high-performance GPU or DSP is required, which may result in high cost.
  • the processing will not be in time in the first place.
  • the execution frequency of each process can be suppressed, and the performance is low and the GPU or DSP is inexpensive. Can be used. This can contribute to the reduction of component costs.
  • the management unit 24 for managing the cumulative number of pixels (integrated value of the number of changed pixels) obtained by accumulating the number of pixels whose light receiving amount has changed is provided, and the cumulative number of pixels is increased.
  • the convolution processing unit image recognition processing unit 22
  • the management unit 24 may reset the cumulative number of pixels.
  • the threshold adjustment unit 23 that performs the threshold adjustment process for adjusting the threshold Th2 for the cumulative number of pixels based on the processing result of the classification process after the convolution process is provided. May be good. If the convolution process or pooling process is executed too frequently, the processing load will increase. Further, if the execution frequency is too low, the classification process may not be performed correctly. Specifically, there is a possibility that the subject to be detected cannot be detected by a surveillance camera or the like. By automatically adjusting the threshold Th2 by feedback control based on the classification processing result, the image recognition processing and the image classification processing using the CNN can be appropriately performed.
  • the threshold value adjustment unit 23 is a classification process after the convolution process executed when the cumulative number of pixels exceeds the threshold value Th2 for the cumulative number of pixels.
  • the threshold Th2 for the cumulative number of pixels may be increased in the threshold adjustment process. If the classification result is unchanged as a result of executing the convolution process, the pooling process, and the classification process, the execution frequency of each process may be too high. Further, the high execution frequency may be due to the low threshold Th2.
  • the threshold Th2 when the threshold Th2 is too low, the execution frequency of each process can be reduced by automatically adjusting to raise the threshold Th2, and the processing of the signal processing device (signal processing unit 14) can be reduced. The burden can be reduced.
  • the threshold value adjustment unit 23 includes the classification result of the classification process after the convolution process executed when the cumulative number of pixels exceeds the threshold value Th2 and immediately before that.
  • the threshold Th2 for the cumulative number of pixels may be lowered in the threshold adjustment process.
  • the execution frequency of each process may be too low. Further, the low execution frequency may be due to the high threshold Th2.
  • the execution frequency of each process can be increased by automatically adjusting to lower the threshold Th2, and the classification process is adjusted to be performed at an appropriate frequency. can do.
  • the threshold Th2 is automatically adjusted to raise the threshold Th2, so that the threshold Th2 can be adjusted to an appropriate value, and the processing load can be reduced and the classification accuracy can be improved at the same time. Can be done.
  • the threshold value adjusting unit 23 sets the threshold value Th2 when the cumulative number of pixels exceeds the threshold value Th2 again during the execution of the process executed because the cumulative number of pixels exceeds the threshold value Th2. It is not necessary to perform the convolution process due to exceeding the above value again.
  • the cumulative number of pixels which is the number of pixels whose light reception amount has changed, exceeds the threshold Th2
  • the cumulative number of pixels is reset and the convolution process, pooling process, and classification process are executed. If the cumulative number of pixels exceeds the threshold Th2 again during the execution of each of these processes and the execution request of each process is received, a time lag occurs between the execution request and the process.
  • the image pickup device 1 as an embodiment includes a light receiving unit (pixel array unit 11) that obtains a light receiving signal indicating the light receiving amount, and a pixel specifying unit 21 that specifies a pixel whose light receiving amount has changed based on the change amount of the light receiving signal.
  • a convolution processing unit image recognition processing unit 22 that performs convolution processing for pixels whose light reception amount has changed is provided in the convolution layer.
  • An image pickup apparatus 1 that does not perform the filter processing when all the pixels included in the processing target area having the same size as the filter are invariant pixels that are not affected by the pixels whose light reception amount has changed. May be good.
  • the image pickup apparatus 1 may include an image sensor 3 in which a light receiving unit (pixel array unit 11), a pixel identification unit 21, and a convolution processing unit (image recognition processing unit 22) are integrally formed.
  • a light receiving unit pixel array unit 11
  • a pixel identification unit 21 pixel identification unit 21
  • a convolution processing unit image recognition processing unit 22
  • the image sensor 3 has a light receiving unit (pixel array unit 11) that obtains a light receiving signal indicating the light receiving amount, a pixel specifying unit 21 that specifies a pixel whose light receiving amount has changed based on the change amount of the light receiving signal, and a light receiving amount.
  • the filter processing that includes a convolution processing unit (image recognition processing unit 22) that performs the convolution processing for the changed pixel in the convolution layer and can be executed a plurality of times in the convolution process, it is regarded as a partial area of the input image and the filter. If all the pixels included in the processing target area having the same size as the size are invariant pixels that are not affected by the pixels whose light receiving amount has changed, the filter processing may not be performed.
  • a CIS image sensor such as DVS and a signal processing unit (DNN block) that performs image recognition processing by DNN may be integrally formed.
  • the processing for image recognition using DNN may affect the processing for reading the received signal. That is, there is a possibility that the light receiving signal reading process is not properly performed due to the noise generated by the execution of the image recognition process using the DNN.
  • the processing load and the processing frequency for image recognition using the CNN can be reduced, noise can be reduced and the light receiving signal reading process can be appropriately executed.
  • the pixel in which the light receiving amount has changed is specified based on the change amount of the light receiving signal indicating the light receiving amount, and the convolution process is performed on the convolution layer for the pixel in which the light receiving amount has changed, and the convolution is performed.
  • the filter processing that can be executed multiple times in the processing, all the pixels included in the processing target area, which is a partial area of the input image and has the same size as the filter size, are not affected by the pixels whose light reception amount has changed. When it is a pixel, the filter processing is not performed.
  • This technology> Based on the amount of change in the light-receiving signal indicating the amount of light received, a pixel identification unit that identifies the pixel in which the amount of light received has changed, and a pixel identification unit.
  • a convolution processing unit that performs a convolution process on the pixel whose light receiving amount has changed in the convolution layer is provided.
  • all the pixels included in the processing target area which is a partial area of the input image and has the same size as the filter size, are affected by the pixel whose light receiving amount has changed.
  • a signal processing device that does not perform the filter processing when it is an invariant pixel that does not receive it.
  • the signal processing device which includes a management unit that manages a feature map generated by the convolution process.
  • the convolution processing unit includes the change pixel and the invariant pixel affected by the pixel whose light receiving amount has changed in the input image input to the convolution layer, the convolution processing unit obtains the data of the past feature map for the invariant pixel.
  • the signal processing apparatus according to (2) above.
  • the management unit manages a dirty map indicating whether each pixel of the input image input to the convolution layer is the change pixel or the invariant pixel.
  • the threshold value adjusting unit when the classification result of the classification process after the convolution process executed because the cumulative number of pixels exceeds the threshold value and the classification result of the classification process executed immediately before the convolution process are the same.
  • the signal processing apparatus according to (10) above which raises the threshold value for the cumulative number of pixels in the threshold value adjustment process.
  • the threshold adjustment unit may use the threshold adjustment unit.
  • the threshold adjusting unit convolves the convolution because the cumulative number of pixels exceeds the threshold again.
  • the signal processing apparatus according to any one of (10) to (12) above, which does not perform processing.
  • a light receiving part that obtains a light receiving signal indicating the amount of light received
  • a pixel identification unit that identifies a pixel whose light receiving amount has changed based on the change amount of the light receiving signal. It is provided with a convolution processing unit that performs a convolution process on the pixel whose light receiving amount has changed in the convolution layer.
  • the imaging device which includes an image sensor in which the light receiving unit, the pixel specifying unit, and the convolution processing unit are integrally formed.
  • a light receiving part that obtains a light receiving signal indicating the amount of light received, A pixel identification unit that identifies a pixel whose light receiving amount has changed based on the change amount of the light receiving signal.
  • a convolution processing unit that performs a convolution process on the pixel whose light receiving amount has changed in the convolution layer.
  • the filter processing that can be executed a plurality of times in the convolution processing, all the pixels included in the processing target area, which is a partial area of the input image and has the same size as the filter size, are affected by the pixel whose light receiving amount has changed.
  • An image sensor that does not perform the filtering process when it is an invariant pixel that does not receive it.
  • the pixel in which the amount of light received has changed is specified. The convolution process is performed on the convolution layer for the pixels whose light reception amount has changed.
  • all the pixels included in the processing target area which is a partial area of the input image and has the same size as the filter size, are affected by the pixel whose light receiving amount has changed.
  • Imaging device 1 Imaging device 3 Image sensor 11 Pixel array unit (light receiving unit) 14 Signal processing unit 17 Pixels 21 Pixel identification unit 22 Image recognition processing unit (convolution processing unit) 23 Threshold adjustment unit 24 Management unit Th2 Threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

信号処理装置は、受光量を示す受光信号の変化量に基づき、前記受光量が変化した画素を特定する画素特定部と、前記受光量が変化した画素について畳み込み処理を畳み込み層において行う畳み込み処理部と、を備え、前記畳み込み処理において複数回実行され得るフィルタ処理においては、入力画像の部分領域とされフィルタのサイズと同サイズとされた処理対象領域に含まれる全ての画素が前記受光量が変化した画素の影響を受けない不変画素である場合に、当該フィルタ処理を行わないものとした。

Description

信号処理装置、イメージセンサ、撮像装置、信号処理方法
 本技術は、画素から出力される受光信号に基づいてDNN(Deep Neural Network)に係る処理を行う信号処理装置、イメージセンサ、撮像装置、信号処理方法に関する。
 カメラなどの撮像装置において撮像された画像に対して、被写体についての画像認識処理など、DNNに係る処理を行う場合がある。このような画像認識処理などは、演算量が多いため、処理に用いられるCPU(Central Processing Unit)やGPU(Graphics Processing Unit)やDSP(Digital Signal Processor)などにおいて高性能な部品が必要となる。
 また、前回の受光信号との差分を出力する所謂DVS(Dynamic Vision Sensor)を用いて差分出力に基づいた画像認識処理などを行う場合には、より高速動作が可能なDVSの垂直同期信号に合わせて画像認識処理を行うために更に高性能な演算部を備える必要がある。
特表2017-531865号公報
 例えば、特許文献1に開示されているように、カメラを使用してコンピューティングデバイスの視野内の特徴及びオブジェクトを検出することは、演算量が膨大となり、その結果モバイルデバイスなどのコンピューティングデバイスにおいて電力消費が大きくなると共にバッテリ寿命が低下する虞がある。
 上述したDVSを搭載したカメラにおいて同様のことを行う場合には、このような問題が更に悪化する虞がある。
 本技術は上記事情に鑑み為されたものであり、DNNを用いた画像認識処理などに係る処理についての演算量を削減することを目的とする。
 本技術に係る信号処理装置は、受光量を示す受光信号の変化量に基づき、前記受光量が変化した画素を特定する画素特定部と、前記受光量が変化した画素について畳み込み処理を畳み込み層において行う畳み込み処理部と、を備え、前記畳み込み処理において複数回実行され得るフィルタ処理においては、入力画像の部分領域とされフィルタのサイズと同サイズとされた処理対象領域に含まれる全ての画素が前記受光量が変化した画素の影響を受けない不変画素である場合に、当該フィルタ処理を行わないものである。
 受光信号の変化量は、例えば、DVS(Dynamic Vision Sensor)から出力される信号に基づいて得ることが可能である。
 上記した信号処理装置においては、畳み込み処理によって生成された特徴マップを管理する管理部を備えていてもよい。
 これにより、畳み込み処理が再度実行されるまで畳み込み処理の処理結果が記憶される。
 上記した信号処理装置における前記畳み込み処理部は、畳み込み層に入力される入力画像において前記受光量が変化した画素の影響を受ける変化画素と前記影響を受けない不変画素が含まれる場合に、前記不変画素については過去の特徴マップのデータを用いてもよい。
 これにより、処理対象領域のうち過去のデータを用いる領域については、値の更新を行わないで済む。
 上記した信号処理装置における前記管理部は、畳み込み層に入力される入力画像の各画素が前記変化画素と前記不変画素の何れであるかを示すダーティマップを管理してもよい。
 ダーティマップは、入力画像における画素ごとの変化画素/不変画素の別を示すものである。即ち、ある画素が変化画素である場合、その画素が処理対象領域に含まれるフィルタ処理については再度実行する必要がある。
 上記した信号処理装置における前記畳み込み処理部は、前記特徴マップが記憶されていない場合に当該畳み込み層における全てのフィルタ処理を行ってもよい。
 これにより、初回の処理においては、各畳み込み層において入力画像全体についてフィルタ処理が実行される。
 上記した信号処理装置における前記畳み込み処理部は、複数の畳み込み層において畳み込み処理を行い、前記管理部は、前記複数の畳み込み層ごとの入力画像ごとに前記ダーティマップを管理してもよい。
 これにより、何れの畳み込み層においても処理対象領域に変化画素が含まれているか否かを判定する処理を行うことが可能とされる。
 上記した信号処理装置における前記管理部は、畳み込み処理を終えた入力画像についての前記ダーティマップのクリアを行ってもよい。
 例えば、入力画像における変化画素によって更新すべきとされた特徴マップの一部領域についての更新を終えた場合には、特徴マップについての当該一部領域は最新の情報に更新されたこととなる。このような場合に、ダーティマップのクリアを行う。
 上記した信号処理装置における前記畳み込み処理部は、前記受光量が変化した画素の数が閾値以下である場合に畳み込み処理を行わなくてもよい。
 受光量が変化した画素が少ない場合には、畳み込み処理やプーリング処理を行い特徴マップを更新したとしても、全結合層及び出力層における分類処理の結果が変わらない場合がある。
 上記した信号処理装置においては、受光量が変化した画素の数を累積した累積画素数を管理する管理部を備え、前記累積画素数が閾値を超えた場合に、前記畳み込み処理部は畳み込み処理を行い、前記管理部は前記累積画素数のリセットを行ってもよい。
 累積画素数を管理することにより、畳み込み処理やプーリング処理を実行するか否かの判定処理を適切に行うことができる。
 上記した信号処理装置においては、前記畳み込み処理後の分類処理の処理結果に基づいて前記累積画素数についての前記閾値を調整する閾値調整処理を行う閾値調整部を備えていてもよい。
 畳み込み処理やプーリング処理の実行頻度が高すぎると、処理負担が増大してしまう。また、実行頻度が低すぎると、分類処理が正しく行えない虞がある。
 上記した信号処理装置における前記閾値調整部は、前記累積画素数が前記閾値を超えたことにより実行された畳み込み処理後の前記分類処理の分類結果とその直前に実行された前記分類処理の分類結果とが同一である場合に、前記閾値調整処理において前記累積画素数についての前記閾値を上げてもよい。
 畳み込み処理、プーリング処理及び分類処理を実行した結果、分類結果が不変であった場合、各処理の実行頻度が高すぎる可能性がある。また、実行頻度が高いのは閾値が低いことによる可能性がある。
 上記した信号処理装置における前記閾値調整部は、前記累積画素数が前記閾値を超えたことにより実行された畳み込み処理後の前記分類処理の分類結果とその直前に実行された前記分類処理の分類結果とが異なる場合に、前記閾値調整処理において前記累積画素数についての前記閾値を下げてもよい。
 畳み込み処理、プーリング処理及び分類処理を実行した結果、認識された被写体が前回と変わっていた場合や前回の被写体が認識できなかった場合には、各処理の実行頻度が低すぎる可能性がある。また、実行頻度が低いのは閾値が高いことによる可能性がある。
 上記した信号処理装置における前記閾値調整部は、前記累積画素数が前記閾値を超えたことにより実行される処理の実行中において前記累積画素数が再度前記閾値を超えた場合に、前記閾値を再度超えたことによる前記畳み込み処理を行わなくてもよい。
 受光量が変化した画素の数である累積画素数が閾値を超えた場合には、累積画素数がリセットされると共に畳み込み処理やプーリング処理や分類処理が実行される。それらの各処理の実行中に再度累積画素数が閾値を超えた場合に、各処理の実行要求を受けた場合には、実行要求と処理にタイムラグが発生してしまう。これが積み重なると、各処理が適切なタイミングで実行されなくなってしまう。
 本技術に係る撮像装置は、受光量を示す受光信号を得る受光部と、前記受光信号の変化量に基づき、前記受光量が変化した画素を特定する画素特定部と、受光量が変化した前記画素についての畳み込み処理を畳み込み層において行う畳み込み処理部と、を備え、前記畳み込み処理において複数回実行され得るフィルタ処理においては、入力画像の部分領域とされフィルタのサイズと同サイズとされた処理対象領域に含まれる全ての画素が前記受光量が変化した画素の影響を受けない不変画素である場合に、当該フィルタ処理を行わないものである。
 このような撮像装置によっても、上記した本技術に係る信号処理装置と同様の作用を得ることができる。
 上記した撮像装置においては、前記受光部と前記画素特定部と前記畳み込み処理部とが一体に形成されたイメージセンサを備えていてもよい。
 本技術に係るイメージセンサは、受光量を示す受光信号を得る受光部と、前記受光信号の変化量に基づき、前記受光量が変化した画素を特定する画素特定部と、受光量が変化した前記画素についての畳み込み処理を畳み込み層において行う畳み込み処理部と、を備え、前記畳み込み処理において複数回実行され得るフィルタ処理においては、入力画像の部分領域とされフィルタのサイズと同サイズとされた処理対象領域に含まれる全ての画素が前記受光量が変化した画素の影響を受けない不変画素である場合に、当該フィルタ処理を行わないものである。
 このようなイメージセンサによっても、上記した本技術に係る信号処理装置と同様の作用を得ることができる。
 本技術に係る信号処理方法は、受光量を示す受光信号の変化量に基づき、前記受光量が変化した画素を特定し、前記受光量が変化した画素について畳み込み処理を畳み込み層において行い、前記畳み込み処理において複数回実行され得るフィルタ処理においては、入力画像の部分領域とされフィルタのサイズと同サイズとされた処理対象領域に含まれる全ての画素が前記受光量が変化した画素の影響を受けない不変画素である場合に、当該フィルタ処理を行わないものである。
 このような信号処理方法によっても、上記した本技術に係る信号処理装置と同様の作用を得ることができる。
本技術に係る実施形態としての撮像装置の構成例を示した図である。 イメージセンサの内部構成例を示した図である。 垂直同期信号と画像認識処理の実行タイミングの関係を示したイメージ図である。 信号処理部の機能構成例を示した図である。 CNNが備える各層の構成例を示す図である。 入力画像とダーティマップの対応関係を説明するための図である。 変化画素と不変画素の説明図である。 図7の画素データに対応するダーティマップの説明図である。 処理対象領域に応じて畳み込み処理の実行是非が変わることを説明するための図である。 処理対象領域に応じて畳み込み処理の実行是非が変わることを説明するための図である。 第1畳み込み層の出力データに対応するダーティマップの説明図である。 信号処理部が実行する処理フローの一例についてのフローチャートである。
 以下、添付図面を参照し、本技術に係る実施の形態を次の順序で説明する。

<1.撮像装置の構成>
<2.機能構成>
<3.画像認識処理例>
<4.ダーティマップ>
<5.閾値調整処理>
<6.フローチャート>
<7.変形例>
<8.まとめ>
<9.本技術>
<1.撮像装置の構成>
 第1の実施の形態における撮像装置1の構成について、図1を参照して説明する。
 撮像装置1は、撮像レンズ2と、イメージセンサ3と、制御部4と、記録部5とを備えている。
 撮像装置1は、例えば、産業用ロボットに搭載されるカメラや車載カメラや監視カメラなど各種の形態が想定される。
 撮像レンズ2は、入射光を集光してイメージセンサ3に導く。撮像レンズ2は複数のレンズによって構成され得る。
 イメージセンサ3は、複数の受光素子を備えて構成され、光電変換により得た信号を出力する。
 制御部4は、イメージセンサ3のシャッタースピードの制御や、撮像装置1が備える各部における各種信号処理の指示、ユーザの操作に応じた撮像動作や記録動作、記録した画像ファイルの再生動作、撮像レンズ2の駆動制御(例えば、ズーム制御、フォーカス制御、絞り制御等)、ユーザインタフェース制御等を行う。
 記録部5は、制御部4が処理に用いる情報等を記憶する。記録部5としては、例えばROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリなどを包括的に示している。
 記録部5は制御部4としてのマイクロコンピュータチップに内蔵されるメモリ領域であってもよいし、別体のメモリチップにより構成されてもよい。
 制御部4は記録部5のROMやフラッシュメモリ等に記憶されたプログラムを実行することで、撮像装置1の全体を制御する。
 イメージセンサ3について具体的に説明する。イメージセンサ3は、図2に示すように、所謂DVSとして機能する画素アレイ部11、アービタ12、読出部13、信号処理部14、メモリ部15、出力部16を備えている。
 画素アレイ部11は、画素17が行方向(水平方向)及び列方向(垂直方向)に二次元アレイ状に配置されて成る。
 それぞれの画素17は、受光量の変化量が所定の閾値Thを超えたか否かによりイベントの有無を検出し、イベントが発生した際にはアービタ12に対してリクエストを出力する。
 アービタ12は、各画素17からのリクエストを調停し、読出部13による読み出し動作を制御する。
 読出部13は、アービタ12の制御に基づいて画素アレイ部11の各画素17に対する読み出し動作を行う。読み出し動作は、例えば垂直同期信号XVSに応じたタイミングで実行される。
 各画素17は、読出部13による読み出し動作に応じて基準レベルと現在の受光信号のレベルの差分による信号を出力する。
 各画素17から読み出した信号は、差分信号としてメモリ部15に記憶される。
 なお、以降の説明においては、受光量の変化量が所定の閾値Thを超えた画素17を「変化画素」と記載し、それ以外の画素17を「不変画素」と記載する。
 また、画素17は、差分信号の出力に応じて基準レベルを現在の受光信号のレベルにリセットする。これにより、次の垂直同期信号XVSに応じて基準レベルに対する受光量の変化量を検出することが可能とされる。
 受光量の変化量が所定の閾値Thを超えるまで、差分信号の読み出しと基準レベルのリセットは行われない。
 これにより、積算された受光量の変化量に応じた差分信号が画素17から出力される。
 また、画素アレイ部11においては、受光量の変化量が閾値Thよりも大きい画素17(即ち変化画素)のみを対象として読み出し動作が実行されるため、読み出し動作に係る時間を短くすることができ、高速駆動(例えば2000fpsなど)が可能とされる。
 信号処理部14は、各種の信号処理やDNNによる画像認識処理などを実行する。以降の説明においては、DNNの一種であるCNN(Convolutional Neural Network)による画像認識処理を例に挙げる。
 例えば、信号処理部14は、メモリ部15に記憶された全画素データの更新処理を行う。全画素データは、画素アレイ部11が備える全ての画素17の最新の受光量に基づくデータである。信号処理部14は、各画素17から新たな差分信号がメモリ部15に記憶されたことに応じて、全画素データに差分信号のデータを加算し、全画素データを更新する。これにより、画素17から出力される信号が差分信号のみとされていても、信号処理部14は全ての画素17についての最新の受光量データを管理することが可能となる。
 信号処理部14は、変化画素の数が閾値Th2以上であるか否かを判定する処理を行う。
 変化画素の数が閾値Th2以上である場合には、信号処理部14はCNNによる画像認識を行うための各種の処理を実行する。なお、以降の説明においては、CNNによる画像認識を行うために信号処理部14が実行する各処理を単に「画像認識処理」と記載する。
 信号処理部14には、画像認識処理に用いる情報として読出部13から変化画素の座標情報が入力される。読出部13から信号処理部14に入力される情報は、変化画素についての垂直方向の位置と水平方向の位置を示す情報(即ち座標情報)のみとされていてもよいし、差分信号と座標情報とを含むものとされていてもよい。
 変化画素の数が閾値Th2を超えない場合は、図3に示すように、閾値Th2を超えるまで変化画素の数が積算される。例えば、あるタイミングで読出部13から入力された変化画素の座標が(1,1)と(1,2)と(2,4)であった場合、変化画素の数は「3」となる。また、変化画素の数「3」は閾値Th2以下であるとする。
 次のタイミングで読出部13から入力された変化画素の座標が(1,1)と(3,4)であった場合、変化画素数の積算値は重複した(1,1)を除いて一つ増えたこととなり、合計「4」となる。
 このようにして、変化画素数の積算値が閾値Th2を超えるまで画像認識を行うための各処理の実行が抑制される。
 信号処理部14は、画像認識処理として、例えば、畳み込み層による畳み込み処理やプーリング層によるマックスプーリング処理や全結合層及び出力層による分類処理などを行う。具体的な処理については後述する。
 信号処理部14は、画像認識処理を行うために、各種の情報の管理をメモリ部15を利用して行う。具体的に、信号処理部14は、畳み込み層やプーリング層における処理結果としての特徴マップや、入力画像ごとのダーティマップをメモリ部15に記憶して管理する。
 ダーティマップは、畳み込み層における畳み込み処理やプーリング層におけるマックスプーリング処理の実行要否を決定するためのマップである。ダーティマップは入力画像と同じサイズとされ、処理が必要な画素が分かるように画素ごとのフラグ情報が示されたマップである。具体的には後述する。
 なお、ここでいう「画素」とは、CNNの各層に対する入力画像における画素であり、必ずしも画素アレイ部11が備える画素を指すとは限らない。以降の説明においても、「画素」が画素アレイ部11を構成する画素17を指す場合と、入力画像における一つの画素を指す場合がある。入力画像における一つの画素は、畳み込み処理によって算出された値やマックスプーリング処理によって算出された値である場合がある。
 メモリ部15はROMやRAMなどによって構成され、上述したように、画素アレイ部11が備える全ての画素17の最新の受光量に基づくデータとされた全画素データや、ダーティマップや、CNNの畳み込み層やプーリング層における処理結果とされた特徴マップなどが記憶される。
 出力部16は、所定のインタフェース規格(例えばMIPI(Mobile Industry Processor Interface)など)に基づき、CNNによる分類結果を後段の制御部4へ出力する。
 制御部4では、CNNによる分類結果を受け取り、各種の処理に利用する。
<2.機能構成>
 信号処理部14の機能構成について、図4を参照して説明する。
 信号処理部14は、画素特定部21、画像認識処理部22、閾値調整部23、管理部24を備えている。
 画素特定部21は、読出部13から入力された変化画素の座標情報に基づいて変化画素の位置を特定する。
 画像認識処理部22は、画像認識処理として、例えば、畳み込み層による畳み込み処理や、プーリング層によるプーリング処理や、全結合層による結合処理や、全結合層における後述するドロップ機能に関する処理や、出力層におけるソフトマックス関数を用いた分類処理などの各種処理を行う。
 閾値調整部23は、画像認識処理部22による画像認識処理を行うか否かを決定するための判定閾値としての閾値Th2の調整処理を行う。具体的には後述するが、閾値Th2は、変化画素の数の多寡を判定するための閾値である。
 出力層における分類処理の結果に応じて、画像認識処理としての各処理の処理頻度が高いと判定した場合は、閾値Th2を高くすることにより変化画素数の積算値がより多くなるまで画像認識処理としての各処理の実行を抑制する。
 一方、処理頻度が低いと判定した場合、閾値調整部23は、閾値Th2を低くすることにより、変化画素数の積算値がより少ない段階で画像認識処理としての各処理が実行されるようにする。
 管理部24は、前述した特徴マップや、ダーティマップなどをメモリ部15を利用して管理する。また、管理部24は、変化画素数の積算値(変化画素についての累積画素数)の管理を行う。変化画素数の積算値の管理では、積算値の加算処理やリセット処理などを行う。
<3.画像認識処理例>
 画像認識処理を行うために、信号処理部14は、VGGish、AlexNet、GoogleNet、LSTM、RNNなどを利用することができる。一例として、図5にAlexNetを用いた例を示す。 
 図5には複数の矩形の箱が離隔して配置されており、一つの箱はCNN(AlexNet)における一つの層を表している。CNNでは、各層で所定の処理を行うことにより画像認識処理を進めていく。図5に示す例においては、「全画素データ」から「出力層」に向かって処理が進んでいく。各箱の厚み(処理の進行方向の厚み)は、レイヤー数(画像枚数)を大まかに表しており、高さ方向(処理の進行方向に対する垂直方向)の長さは画像の縦方向及び横方向の画素数(即ち画像サイズ)を大まかに表している。
 例えば、全画素データはR,G,Bそれぞれの画像とされ、一つの画像は縦横それぞれ224画素からなる画像とされている。全画素データのレイヤー数は「3」とされている。
 全画素データとしての三つの画像は第1畳み込み層に対する入力画像とされている。
 第1畳み込み層は全画素データに対して複数のフィルタを利用した畳み込み処理を行うことにより、例えば、レイヤー数が96、画像サイズが縦横共に55画素とされたデータを出力する。
 第1プーリング層は、第1畳み込み層からの出力データを入力画像としたマックスプーリング処理を行い、例えば、レイヤー数が96、画像サイズが縦横共に27画素とされたデータを出力する。
 第2畳み込み層は、第1プーリング層からの出力データを入力画像とした畳み込み処理を行い、例えば、レイヤー数が256、画像サイズが縦横共に27画素とされたデータを出力する。
 第2プーリング層は、第2畳み込み層からの出力データを入力画像としたマックスプーリング処理を行い、例えば、レイヤー数が256、画像サイズが縦横共に13画素とされたデータを出力する。
 第3畳み込み層は、第2畳み込み層からの出力データを入力画像とした畳み込み処理を行い、例えば、レイヤー数が384、画像サイズが縦横共に13画素とされたデータを出力する。
 第4畳み込み層は、第3畳み込み層からの出力データを入力画像とした畳み込み処理を行い、例えば、レイヤー数が384、画像サイズが縦横共に13画素とされたデータを出力する。
 第5畳み込み層は、第4畳み込み層からの出力データを入力画像とした畳み込み処理を行い、例えば、レイヤー数が256、画像サイズが縦横共に13画素とされたデータを出力する。
 第3プーリング層は、第5畳み込み層からの出力データを入力画像としたマックスプーリング処理を行い、例えば、レイヤー数が256、画像サイズが縦横共に6画素とされたデータを出力する。
 第1全結合層は、第3プーリング層からの出力データを用いた結合処理を行い、4096個のデータを出力する。第2全結合層は、第1全結合層からの出力データを用いた結合処理を行い、4096個のデータを出力する。
 第1全結合層及び第2全結合層では、過学習を防止するためのドロップアウト機能が実装されている。ドロップアウト機能は入力データの一部をランダムに無効化する機能である。
 出力層は、第2全結合層からの出力データを用いてソフトマックス関数を用いた分類処理を行い、最終的な出力として例えば1000個のラベルごとの尤度を出力する。これにより、全画素データの被写体の画像認識が実行される。
 上述した各畳み込み層及びプーリング層に対して入力される入力画像は、それぞれ請求項でいうところの入力画像に相当する。即ち、全画素データは、一つ目の層である第1畳み込み層に対する請求項でいうところの入力画像とされ、各層から出力された特徴マップは、次層に対する請求項でいうところの入力画像とされる。
<4.ダーティマップ>
 本技術における信号処理部14は、畳み込み層における畳み込み処理とプーリング層におけるマックスプーリング処理に関する演算量を削減することが特徴である。
 そのために、信号処理部14は、ダーティマップを用いる。
 ダーディマップの一例について図6に示す。
 図6は、第1畳み込み層に入力される全画素データの一例とそれに対応するダーティマップの一例を示したものである。
 全画素データは、赤(R)についての画素データ(R画像)と緑(G)についての画素データ(G画像)と青(B)についての画素データ(B画像)の三つの画素データ(画像)から成る。
 ダーティマップは、それぞれの画像に対応して用意される。
 一つの入力画像(例えばR画像)と対応するダーティマップの一例を図7及び図8に示す。
 図7は、第1畳み込み層についての入力画像である全画素データのうちの一つを示したものである。本例では、画素アレイ部11から変化画素についてのデータが出力される。即ち、受光量の変化量が所定の閾値Thを超えた画素(変化画素)が分かるようにされている。図7においては、変化画素を線で囲むことにより変化画素が分かるように示したものである。
 図8は入力画像に対応するダーティマップを示したものである。
 図示するように、変化画素に対応する位置には「1」の情報が格納されており、不変画素に対応する位置には「0」の情報が格納されている。
 このように、CNNの最初の層である第1畳み込み層に入力される全画素データについてのダーティマップは変化画素と不変画素の区別ができるようにフラグ情報がマップ上に配置されたものである。
 第1畳み込み層の入力データとしての画像は三つ(R画像、G画像、B画像)あるため、それぞれに対応した三つのダーティマップが生成される。
 次に第1畳み込み層の出力データに対応するダーティマップについて説明する。
 AlexNetにおける第1畳み込み層では、フィルタサイズが11×11とされたフィルタを用いた畳み込み処理を行うが、ここでは、説明の簡略化のためにフィルタサイズを3×3として第1畳み込み層における畳み込み処理の説明をする。また、ストライドについても、本来4画素であるがここでは1画素として説明する。
 畳み込み処理は、入力画像においてフィルタサイズと同サイズの部分領域を対象としたフィルタ処理を、部分領域をスライドさせながら複数回行うものである。
 入力画像におけるフィルタサイズと同サイズの部分領域を「処理対象領域」と記載する。
 図9の太線で囲った領域は、処理対象領域の一例である。図9に示す処理対象領域Aには、変化画素と不変画素が共に含まれている。フィルタの種類にもよるが、処理対象領域Aに変化画素が含まれていることから、受光信号の変化前のフィルタ処理の結果と変化後のフィルタ処理の結果は異なる可能性が高い。
 従って、本例においては、第1畳み込み層の畳み込み処理において、処理対象領域に変化画素が含まれている場合はフィルタ処理を行うものとする。
 一方、図10に示す処理対象領域Bは、変化画素が含んでおらず不変画素のみとされている。処理対象領域Aに変化画素が含まれていないことから、受光信号の変化前のフィルタ処理の結果と変化後のフィルタ処理の結果は同じものとなる。
 従って、処理対象領域Bについてのフィルタ処理は実行する必要がない。
 このように、処理対象領域に変化画素が含まれているか否かに応じてフィルタ処理を行うか否かを決定する。ダーティマップは、処理対象領域に変化画素が含まれているか否かを判定するために用いられるものである。
 第1畳み込み層の出力データには、フィルタ処理を行うことにより値が更新された画素とフィルタ処理を省略したことにより値が更新されていない画素が混在している。
 図11は、第1畳み込み層における畳み込み処理により値が更新された画素を「1」として示し、値が更新されていない画素を「0」として示したものである。
 即ち、図11に示すデータは、第1畳み込み層における畳み込み処理によって値が更新されたか否かを示す更新フラグのマップと言える。前述したように、処理対象領域Aについてフィルタ処理が実行された結果得られた出力値Aは、値が更新されたことになるため、更新フラグは「1」とされている。また、処理対象領域Bについてはフィルタ処理が実行されず値が更新されていないことになる。そのため、処理対象領域Bについてフィルタ処理が実行された場合に得られるはずだった出力値Bは更新前の古い値のままとされ、更新フラグは「0」とされている。
 図11に示すマップは、第1畳み込み層の一つの出力データに対応したダーティマップとされている。また、第1畳み込み層の出力データは後段の第1プーリング層の入力データでもあることから、図11のダーティマップは、第1プーリング層の入力画像に対応したダーティマップと換言できる。
 第1プーリング層の入力データとしての入力画像は前述の例を用いれば96枚であるため、96枚のダーティマップが生成される。
 第1プーリング層では、入力画像ごとに対応するダーティマップを参照してマックスプーリング処理を必要に応じて行う。
 後段の各層においても、入力画像に応じて複数のダーティマップが生成される。各層で生成されたダーティマップはメモリ部15に記憶され、各処理の実行ごとに更新される。
 なお、CNNの各層における畳み込み処理やマックスプーリング処理においては、各層の入力画像の画素ごとの最新の値が存在しない場合がある。
 例えば、第1畳み込み層において図9の処理対象領域Aを対象としたフィルタ処理を行う場合には、ダーティマップの値が「0」とされた画素の値を用いなくてはフィルタ処理ができない。
 ダーティマップが「0」とされた画素は、不変画素であるため、最新の差分信号が出力されなかった画素である。
 このような画素についての受光信号は、メモリ部15に記憶されている古い情報を用いる。
 これにより、画素アレイ部11から差分信号のみが出力されたとしても、適切に畳み込み処理などを行うことができる。
 また、CNNにおける他の層においても、畳み込み処理やマックスプーリング処理などにおける各フィルタ処理が選択的に実行されるため、省略されたフィルタ処理の結果(特徴マップ)を利用する後段の処理においては、古いフィルタ処理結果(古い特徴マップ)を利用する場合がある。
 具体的には、第1プーリング層において図11の入力画像に対するマックスプーリング処理を行う場合に、ダーティマップにおける値が「0」とされた画素(例えば、前層の第1畳み込み層による畳み込み処理によって得られる出力値B)を処理対象領域に含んだ処理を行う場合には、更新されずに古いままとされたフィルタ処理結果を利用することとなる。
 このような場合に備えて、各層で実行される畳み込み処理やマックスプーリング処理の結果得られた各層ごとの特徴マップは、メモリ部15に記憶される。
 これにより、各層において畳み込み処理やマックスプーリング処理の一部を実行せずに省略したとしても、即ち、畳み込み処理における一部のフィルタ処理やマックスプーリング処理における一部のフィルタ処理を省略したとしても、メモリ部15に記憶された特徴マップを利用することにより各層の処理を適切に実行することができる。
<5.閾値調整処理>
 信号処理部14の閾値調整部23が実行する閾値調整処理について説明する。
 本実施の形態においては、変化画素数の積算値が所定の閾値Th2を超えるまで画像認識処理の実行を控えておき、変化画素数の積算値が所定の閾値Th2を超えた場合に画像認識処理を実行する(図3参照)。
 閾値調整処理では、この閾値Th2の調整を行う。具体的には、閾値Th2を上げると、画像認識処理の実行頻度が低下する。また、閾値Th2を下げると、画像認識処理の実行頻度が上昇する。
 例えば、動きの少ない風景などを撮像している状況における画像認識処理の処理頻度と、動きの多いスポーツなどを撮像している状況における画像認識処理の処理頻度は異なってしかるべきである。閾値調整処理は、このような撮影状況などの違いにより変えるべき閾値Th2についての調整を行うものであり、閾値Th2を自動的に最適値に調整することができる。
 閾値調整処理では、出力層から出力される画像認識結果に基づいて閾値Th2の調整を行う。例えば、今回の画像認識結果が前回の結果と大きく変化している場合には閾値Th2を下げ、変化が小さい場合は閾値Th2を上げる。
 閾値調整部23による閾値Th2の調整処理が実行されることにより、画像認識処理の処理頻度を最適化することができる。
 具体的に、画像認識処理を行い被写体にラベル(「犬」や「猫」など被写体に対して認識結果として付与されるもの)を付与する場合を例に挙げて説明する。
 例えば、前回の画像認識結果として出力されたラベルと、今回の画像認識結果として出力されたラベルが同じ場合、画像認識処理の実行頻度が高すぎる虞がある。
 このような場合には、画像認識処理の実行頻度を低くするために、閾値Th2を上昇させる処理を行う。
 一方、前回の画像認識結果として出力されたラベルと、今回の画像認識結果として出力されたラベルが異なる場合には、画像認識処理の実行頻度が低すぎる虞がある。
 画素アレイ部11が例えば2000fpsなどの高速で差分信号を出力している場合、ある入力画像と0.5ms後の入力画像における同じ領域には同じ被写体が写っていることが想定される。そのような状況で画像認識処理の実行頻度を低下させた結果、同じ領域に同じ被写体が検出できなかった場合には、画像認識処理の実行頻度を低下させすぎたと判定することができる。
 従って、前回の画像認識結果として出力されたラベルと、今回の画像認識結果として出力されたラベルが異なる場合には、画像認識処理の実行頻度を高くするために、閾値Th2を下降させる処理を行う。
 なお、このような処理を継続して行うことにより閾値Th2を調整し続けた場合、前回の出力されたラベルと、今回出力されたラベルが同じである場合と異なる場合が頻繁に繰り返される可能性がある。
 本来、ある程度の期間における入力画像においては、同じ領域に同じ被写体が写っていることが多く、画像認識結果としてもある程度の期間は同じラベルが出力されることが望ましい場合がある。
 従って、このような場合には、画像認識処理の実行頻度が低すぎる可能性が高いため、閾値Th2を低く(例えば現在の閾値Th2よりも20%低く)してもよい。また、その後の閾値Th2の調整を一定時間(例えば10分など)停止させることにより、再度閾値Th2が低くなってしまうことを防止することができる。
<6.フローチャート>
 各種の処理を信号処理部14が実行するためのフローチャートの一例を図12に示す。
 信号処理部14は、ステップS101において、ダーティマップをクリアする処理を行う。この処理は、例えば、メモリ部15に記憶されたダーティマップを削除する処理である。
 ステップS101の処理は、電源投入直後の撮像装置1によって撮像が開始された場合やスリープモードから復帰直後の撮像装置1によって撮像が再開された場合などに実行される処理である。この時点で記憶されているダーティマップは、これから行う撮像動作の被写体とは何ら関係ないことが考えられる。そこで、信号処理部14はステップS101においてダーティマップの削除を行う。
 なお、ステップS101の処理では、更に、特徴マップの削除をしてもよい。また、撮像装置1の電源をOFF状態にする際にメモリ部15に記憶されたダーティマップや特徴マップを削除するように構成してもよい。
 信号処理部14はステップS102において、画像入力待ちを行う。画像入力とは、画素アレイ部11での光電変換により得た受光信号(差分信号)の入力を指す。なお、読出部13は各画素17から差分信号を読み出すが、差分を算出するための比較対象としての直前の受光信号がない(或いは記憶されていない)ことから、差分信号は各画素17の受光量に応じて出力される受光信号そのものとなる。
 信号処理部14は、受光信号を得たことによりステップS102の処理を終えステップS103へと進む。
 信号処理部14はステップS103において、全画素データを対象とした画像認識処理を実行する。各層の処理は、処理結果としての特徴マップがメモリ部15に記憶されていないことから、各処理を実行するとも言える。
 これにより、画像認識処理を行う各層においてダーティマップが生成されると共に、特徴マップが生成される。これらの情報は、メモリ部15に記憶される。
 なお、後段の処理で利用されたダーティマップは、クリア処理によって全てのフラグを0に書き換えられてもよい。ダーティマップの全ての画素の値が「0」にクリアされることにより、不要な処理が誤って実行されることを防止することができる。
 なお、ここでいう全画素データとは、CNNの一つ目の層(例えば第1畳み込み層)へ入力される画像の情報を指しており、必ずしも画素アレイ部11が備える画素17全てを指していなくてもよい。即ち、画素アレイ部11の一部の画素17の受光信号によって得られた画像であってもよい。
 信号処理部14はステップS104において、差分信号の出力待ちを行う。差分信号が出力されると、信号処理部14はステップS105の処理へと進む。
 信号処理部14はステップS105において、全画素データについてのダーティマップを参照する。換言すれば、CNNの一つ目の層へ入力される入力画像についてのダーティマップを参照する。
 信号処理部14はステップS106において、参照したダーティマップにおける変化画素数の積算値が閾値Th2を超えたか否かを判定する。
 閾値Th2を超えていないと判定した場合、信号処理部14はステップS104において次の差分信号の出力を待つ。
 一方、閾値Th2を超えたと判定した場合、信号処理部14はステップS107において、画像認識処理を実行する。具体的には、CNNの各層においてダーティマップ及び既に生成済みの特徴マップを参照しながら、上述したように必要最低限のフィルタ処理を行う。
 なお、ステップS107が実行されることにより、メモリ部15に記憶されたダーティマップ及び特徴マップの更新が行われる。
 信号処理部14はステップS108において、変化画素数の積算値をクリアする処理を行う。この処理は、ステップS107の前に行ってもよい。
 信号処理部14はステップS109において、画像認識処理についての今回の結果と前回の結果が想定以上に異なるか否かを判定する。例えば、前述したように、被写体に付与されたラベルが異なるか否かについて判定を行う。
 想定以上に異なると判定した場合、信号処理部14はステップS110において、閾値Th2を下げる処理を行う。
 一方、相違が想定未満であると判定した場合、信号処理部14はステップS111において、閾値Th2を上げる処理を行う。
 ステップS110またはステップS111のいずれかの処理を実行した後、信号処理部14は再びステップS104で次の差分信号の出力待ちを行う。

<7.変形例>
 画像認識処理以外の各処理については、信号処理部14ではなく制御部4が実行するように構成してもよい。
 また、図1及び図2は、イメージセンサ3に信号処理部14が一体に設けられている撮像装置の一例である。例えば、表面に画素アレイ部11などが配置され、裏面に信号処理部14としてのGPUやDSPなどが形成されている例である。
 しかし、イメージセンサ3が信号処理部14を備えていなくてもよい。即ち、イメージセンサと信号処理部14が別体として設けられていてもよい。
 上述した各例では、イメージセンサ3がアービタ12を備えることにより、必要な画素17についての差分信号のみ読出部13によって読み出される構成について説明したが、読出部13は、画素アレイ部11が備える全ての画素17に対して垂直同期信号XVSに基づく受光信号レベルの読み出しを行ってもよい。
 また、その場合には、読出部13は、読み出した全ての画素17についての差分信号から、変化画素として認められた一部の画素17についての差分信号のみを後段の信号処理部14へ出力してもよい。
 その場合には、例えば、読み出された信号における最上位ビット(MSB:Most Significant Bit)が、受光量の変化量が所定の閾値Thを超えたか否かを示すフラグとされていてもよい。
 読出部13は、画素17から読み出した信号の最上位ビットを確認し、変化画素についての信号のみを後段の信号処理部14へ出力してもよい。
 或いは、読出部13は、変化画素であるか否かを示すフラグも含めて読み出した全ての画素17についての差分信号を信号処理部14へ出力してもよい。信号処理部14は、当該フラグを参照することにより差分信号が変化画素についてのものであるか否かを判定する。
 他にも、読出部13は、画素アレイ部11の全ての画素17から差分信号を読み出すと共に受光量の変化量が閾値Thを超えているか否かを判定し、超えている場合にはMSBを0から1に変更する処理を行ってもよい。この場合は、MSBについての操作を行った後に信号処理部14へ差分信号を出力する。
 上述したダーティマップの例は、CNNの各層ごとの入力画像に対応して設けられていたが、出力画像に対応して設けられていてもよい。この場合には、出力画像における処理対象の画素(一つの画素)にフラグとして「1」が設定されている場合には当該画素についての処理(フィルタ処理)を行い、フラグとして「0」が設定されている場合には当該画素についての処理を行わないようにしてもよい。
 出力画像に対応してダーティマップを設けることにより、ダーティマップのサイズを小さくすることができ、メモリ部15を有効利用することができる。また、メモリ部15のメモリサイズを小さくすることも可能となり、部品コストの削減や部品サイズの縮小を行うことが可能となる。
 画素アレイ部11からの差分信号の出力頻度に対して画像認識処理の実行時間が長い場合には、画像認識処理の実行中に次の画像認識処理の実行依頼がなされる場合がある。
 信号処理部14の画像認識処理部22は、画像認識処理部の実行中において次の画像認識処理の依頼を受けたとしても、その依頼を無視して実行中の画像認識処理を継続してもよい。また、処理中に受けた画像認識処理の依頼を破棄してもよい。
 これにより、画像認識処理の処理タイミングが依頼に対してずれてしまうことを防止することができる。
 上述した例では、変化画素の数の積算値が閾値Th2を超えるまで画像認識処理としての各処理(畳み込み処理やマックスプーリング処理など)を実行しない例を説明した。これ以外の方法として、変化画素数の積算値を用いずに、都度算出された変化画素の数が閾値を超えない場合は画像認識処理を実行しないようにしてもよい。
 この場合には、画素アレイ部11からの出力に基づいて、変化画素の数が都度算出される。変化画素の数が閾値を超えない場合には、画像認識処理が実行されず、変化画素数の繰り越しも行われない。また、この場合に用いる閾値は、閾値Th2と同じ数値を用いてもよいし、変化画素数の積算を行わないことから閾値Th2よりも小さな値としてもよい。
<8.まとめ>
 上述したように、信号処理装置としての撮像装置1は、受光量を示す受光信号の変化量に基づき、受光量が変化した画素17を特定する画素特定部21と、受光量が変化した画素17についての畳み込み処理を畳み込み層において行う畳み込み処理部(画像認識処理部22)と、を備え、畳み込み処理において複数回実行され得るフィルタ処理においては、入力画像の部分領域とされフィルタのサイズと同サイズとされた処理対象領域に含まれる全ての画素が受光量が変化した画素の影響を受けない不変画素である場合に、当該フィルタ処理を行わないものである。
 受光信号の変化量は、例えば、DVSから出力される信号に基づいて得ることが可能である。
 このような出力信号(差分信号)に基づいて、受光量の変化が観測された画素についてDNNにおける畳み込み処理などを行うことにより、例えば画像解析に必要な演算量を削減すると共に、演算に要する処理時間及び処理負担の軽減を図ることができる。
 また、処理対象領域によってはフィルタ処理の結果が変化しない場合がある。このようなフィルタ処理については実行が回避される。
 従って、畳み込み処理についての演算量を削減することができ、信号処理装置の処理負担の軽減を図ることができる。
 また、演算量の削減により消費電力が削減され、信号処理装置が備えるバッテリの寿命を向上させることができる。特に、信号処理装置がデジタルカメラやスマートフォンなどの携帯機器に搭載される場合に好適である。
 図4を用いた機能構成の説明で示したように、畳み込み処理によって生成された特徴マップを管理する管理部24を備えていてもよい。
 これにより、畳み込み処理が再度実行されるまで畳み込み処理の処理結果が記憶される。
 従って、畳み込み処理の処理結果の再利用が可能となる。
 図11等を用いたダーティマップの説明で示したように、畳み込み処理部(画像認識処理部22)は、畳み込み層に入力される入力画像において受光量が変化した画素の影響を受ける変化画素と影響を受けない不変画素が含まれる場合に、不変画素については過去の特徴マップのデータを用いてもよい。
 これにより、処理対象領域のうち過去のデータを用いる領域については、値の更新を行わないで済む。
 従って、処理対象領域に不変画素が含まれていたとしても処理対象領域についてのフィルタ処理を適切に実行することができる。
 図6,図7,図8,図9,図10及び図11を用いたダーティマップの説明で示したように、管理部24は、畳み込み層に入力される入力画像の各画素が変化画素と不変画素の何れであるかを示すダーティマップを管理してもよい。
 ダーティマップは、入力画像における画素ごとの変化画素/不変画素の別を示すものである。即ち、ある画素が変化画素である場合、その画素が処理対象領域に含まれるフィルタ処理については再度実行する必要がある。
 換言すれば、処理対象領域ごとにフィルタ処理を行うか否かを判定する際の指標としてダーティマップが用いられる。ダーティマップを参照してフィルタ処理を行うか否かを決定することにより、畳み込み処理を効率的に行うことができる。
 図12のステップS103の処理で説明したように、畳み込み処理部(画像認識処理部22)は、特徴マップが記憶されていない場合に当該畳み込み層におけるフィルタ処理を行ってもよい。
 これにより、初回の処理においては、各畳み込み層において入力画像全体についてフィルタ処理が実行される。
 従って、初回についての各処理(畳み込み処理やプーリング処理)を適切に行うことができる。
 ダーティマップの説明において示したように、畳み込み処理部(画像認識処理部22)は、複数の畳み込み層において畳み込み処理を行い、管理部24は、複数の畳み込み層ごとの入力画像ごとにダーティマップを管理してもよい。
 これにより、何れの畳み込み層においても処理対象領域に変化画素が含まれているか否かを判定する処理を行うことが可能とされる。
 従って、畳み込み層ごとの畳み込み処理の効率化を図ることができる。もちろん、CNNの第1層に入力される入力画像についてのダーティマップのみを管理しても、畳み込み処理の効率化を図ることができるが、全ての層についての入力画像ごとにダーティマップを管理することにより、畳み込み処理の効率化をより促進することができる。
 図12のステップS103の処理で説明したように、管理部24は、畳み込み処理を終えた入力画像についてのダーティマップのクリアを行ってもよい。
 例えば、入力画像における変化画素によって更新すべきとされた特徴マップの一部領域についての更新を終えた場合には、特徴マップについての当該一部領域は最新の情報に更新されたこととなる。このような場合に、ダーティマップのクリアを行う。
 これにより、変化画素を示すフラグがクリアされずに残ってしまうことが防止され、特徴マップの更新が無駄に何度も行われてしまうことを防止することができ、処理負担の軽減を図ることができる。
 図3を用いた撮像装置の構成において説明したように、畳み込み処理部(画像認識処理部22)は、受光量が変化した画素の数が閾値(例えば閾値Th2)以下である場合に畳み込み処理を行わなくてもよい。
 受光量が変化した画素が少ない場合には、畳み込み処理やプーリング処理を行い特徴マップを更新したとしても、全結合層及び出力層における分類処理の結果が変わらない場合がある。
 そのような場合には、畳み込み処理やプーリング処理を省くことが好ましい。受光量が変化した画素の数が閾値Th2以下の場合に畳み込み処理を実行しないことで、処理負担の軽減を図ることができる。
 また、信号処理装置(信号処理部14)への入力信号は受光量が変化した画素についての信号のみとされる場合は、入力信号が例えば2000fpsなどの高速とされることが考えられる。このような高速な信号が入力されるたびに畳み込み処理やプーリング処理を行うためには高性能なGPUやDSPが必要となり高コストになってしまう虞がある。また、そもそも処理が間に合わなくなる可能性もある。
 本構成のように、受光信号が変化した画素の数が閾値Th2を超えるまで畳み込み処理やプーリング処理の実行を控えることにより、各処理の実行頻度を抑えることができ性能が低く安価なGPUやDSPを用いることが可能となる。これにより、部品コストの削減に寄与することができる。
 図4を用いた機能構成の説明で示したように、受光量が変化した画素の数を累積した累積画素数(変化画素数の積算値)を管理する管理部24を備え、累積画素数が閾値Th2を超えた場合に、畳み込み処理部(画像認識処理部22)は畳み込み処理を行い、管理部24は累積画素数のリセットを行ってもよい。
 累積画素数を管理することにより、畳み込み処理やプーリング処理を実行するか否かの判定処理を適切に行うことができる。
 従って、畳み込み処理やプーリング処理が適度な頻度で実行され、画像認識による分類処理を適切に行うことができる。
 図4を用いた機能構成の説明で示したように、畳み込み処理後の分類処理の処理結果に基づいて累積画素数についての閾値Th2を調整する閾値調整処理を行う閾値調整部23を備えていてもよい。
 畳み込み処理やプーリング処理の実行頻度が高すぎると、処理負担が増大してしまう。また、実行頻度が低すぎると、分類処理が正しく行えない虞がある。具体的には、監視カメラなどにおいて、検出すべき被写体を検出できない可能性がある。
 分類処理結果に基づくフィードバック制御にて閾値Th2を自動的に調整することにより、CNNを用いた画像認識処理及び画像分類処理を適切に行うことができる。
 閾値調整処理の説明や図12のステップS111において示したように、閾値調整部23は、累積画素数が前記累積画素数についての閾値Th2を超えたことにより実行された畳み込み処理後の分類処理の分類結果とその直前に実行された分類処理の分類結果とが同一である場合に、閾値調整処理において累積画素数についての閾値Th2を上げてもよい。
 畳み込み処理、プーリング処理及び分類処理を実行した結果、分類結果が不変であった場合、各処理の実行頻度が高すぎる可能性がある。また、実行頻度が高いのは閾値Th2が低いことによる可能性がある。
 本構成によれば、閾値Th2が低すぎる場合に閾値Th2を上げるように自動的に調整されることで各処理の実行頻度を低くすることができ、信号処理装置(信号処理部14)の処理負担を低減することができる。
 閾値調整処理の説明や図12のステップS110において示したように、閾値調整部23は、累積画素数が閾値Th2を超えたことにより実行された畳み込み処理後の分類処理の分類結果とその直前に実行された分類処理の分類結果とが異なる場合に、閾値調整処理において累積画素数についての閾値Th2を下げてもよい。
 畳み込み処理、プーリング処理及び分類処理を実行した結果、認識された被写体が前回と変わっていた場合や前回の被写体が認識できなかった場合には、各処理の実行頻度が低すぎる可能性がある。また、実行頻度が低いのは閾値Th2が高いことによる可能性がある。
 本構成によれば、閾値Th2が高すぎる場合に閾値Th2を下げるように自動的に調整されることで各処理の実行頻度を高くすることができ、分類処理を適切な頻度で行うように調整することができる。
 特に、閾値Th2が低すぎる場合に閾値Th2を上げるような自動調整もなされることで、閾値Th2を適切な値に調整することができ、処理負担の軽減と分類精度の向上の両立を図ることができる。
 変形例の説明において示したように、閾値調整部23は、累積画素数が閾値Th2を超えたことにより実行される処理の実行中において累積画素数が再度閾値Th2を超えた場合に、閾値Th2を再度超えたことによる畳み込み処理を行わなくてもよい。
 受光量が変化した画素の数である累積画素数が閾値Th2を超えた場合には、累積画素数がリセットされると共に畳み込み処理やプーリング処理や分類処理が実行される。それらの各処理の実行中に再度累積画素数が閾値Th2を超えた場合に、各処理の実行要求を受けた場合には、実行要求と処理にタイムラグが発生してしまう。これが積み重なると、各処理が適切なタイミングで実行されなくなってしまう虞がある。
 本構成によれば、各処理の実行中に再度累積画素数が閾値Th2を超えてしまった場合には、それに伴う各処理の実行を見送る。これにより、信号処理装置の処理能力を超えて各処理の実行依頼が蓄積されてしまうことが防止され、各処理の適切な実行タイミングを保つことができる。
 実施の形態としての撮像装置1は、受光量を示す受光信号を得る受光部(画素アレイ部11)と、受光信号の変化量に基づき、受光量が変化した画素を特定する画素特定部21と、受光量が変化した画素についての畳み込み処理を畳み込み層において行う畳み込み処理部(画像認識処理部22)と、を備え、畳み込み処理において複数回実行され得るフィルタ処理においては、入力画像の部分領域とされフィルタのサイズと同サイズとされた処理対象領域に含まれる全ての画素が受光量が変化した画素の影響を受けない不変画素である場合に、当該フィルタ処理を行わない撮像装置1であってもよい。
 また、撮像装置1は、受光部(画素アレイ部11)と画素特定部21と畳み込み処理部(画像認識処理部22)とが一体に形成されたイメージセンサ3を備えていてもよい。
 即ち、イメージセンサ3は、受光量を示す受光信号を得る受光部(画素アレイ部11)と、受光信号の変化量に基づき、受光量が変化した画素を特定する画素特定部21と、受光量が変化した画素についての畳み込み処理を畳み込み層において行う畳み込み処理部(画像認識処理部22)と、を備え、畳み込み処理において複数回実行され得るフィルタ処理においては、入力画像の部分領域とされフィルタのサイズと同サイズとされた処理対象領域に含まれる全ての画素が受光量が変化した画素の影響を受けない不変画素である場合に、当該フィルタ処理を行わなくてもよい。
 具体的には、DVSなどのCISイメージセンサとDNNによる画像認識処理を行う信号処理部(DNNブロック)を一体に形成してもよい。このような構成においては、DNNを用いた画像認識についての処理によって受光信号の読み出し処理が影響を受ける可能性がある。即ち、DNNを用いた画像認識処理の実行に伴って発生するノイズにより、受光信号の読み出し処理が適切に行われない可能性がある。
 本構成によれば、CNNを用いた画像認識についての処理負担や処理頻度を低減させることができるため、ノイズの低減を図ることができ、受光信号の読み出し処理を適切に実行することができる。
 また、実施の形態としての信号処理方法は、受光量を示す受光信号の変化量に基づき、受光量が変化した画素を特定し、受光量が変化した画素について畳み込み処理を畳み込み層において行い、畳み込み処理において複数回実行され得るフィルタ処理においては、入力画像の部分領域とされフィルタのサイズと同サイズとされた処理対象領域に含まれる全ての画素が受光量が変化した画素の影響を受けない不変画素である場合に、当該フィルタ処理を行わないものである。
 このような実施形態としての信号処理方法によっても、上記した実施形態としての信号処理部14やイメージセンサ3と同様の作用及び効果を得ることができる。
 なお、本明細書に記載された効果はあくまでも例示であって限定されるものではなく、また他の効果があってもよい。
<9.本技術>
(1)
 受光量を示す受光信号の変化量に基づき、前記受光量が変化した画素を特定する画素特定部と、
 前記受光量が変化した画素について畳み込み処理を畳み込み層において行う畳み込み処理部と、を備え、
 前記畳み込み処理において複数回実行され得るフィルタ処理においては、入力画像の部分領域とされフィルタのサイズと同サイズとされた処理対象領域に含まれる全ての画素が前記受光量が変化した画素の影響を受けない不変画素である場合に、当該フィルタ処理を行わない
 信号処理装置。
(2)
 畳み込み処理によって生成された特徴マップを管理する管理部を備えた
 上記(1)に記載の信号処理装置。
(3)
 前記畳み込み処理部は、畳み込み層に入力される入力画像において前記受光量が変化した画素の影響を受ける変化画素と前記不変画素が含まれる場合に、前記不変画素については過去の特徴マップのデータを用いる
 上記(2)に記載の信号処理装置。
(4)
 前記管理部は、畳み込み層に入力される入力画像の各画素が前記変化画素と前記不変画素の何れであるかを示すダーティマップを管理する
 上記(3)に記載の信号処理装置。
(5)
 前記畳み込み処理部は、前記特徴マップが記憶されていない場合に当該畳み込み層における全てのフィルタ処理を行う
 上記(2)から上記(4)のいずれかに記載の信号処理装置。
(6)
 前記畳み込み処理部は、複数の畳み込み層において畳み込み処理を行い、
 前記管理部は、前記複数の畳み込み層ごとの入力画像ごとに前記ダーティマップを管理する
 上記(4)に記載の信号処理装置。
(7)
 前記管理部は、畳み込み処理を終えた入力画像についての前記ダーティマップのクリアを行う
 上記(4)または上記(6)のいずれかに記載の信号処理装置。
(8)
 前記畳み込み処理部は、前記受光量が変化した画素の数が閾値以下である場合に畳み込み処理を行わない
 上記(1)から上記(7)のいずれかに記載の信号処理装置。
(9)
 受光量が変化した画素の数を累積した累積画素数を管理する管理部を備え、
 前記累積画素数が前記閾値を超えた場合に、前記畳み込み処理部は畳み込み処理を行い、前記管理部は前記累積画素数のリセットを行う
 上記(8)に記載の信号処理装置。
(10)
 前記畳み込み処理後の分類処理の処理結果に基づいて前記累積画素数についての前記閾値を調整する閾値調整処理を行う閾値調整部を備えた
 上記(9)に記載の信号処理装置。
(11)
 前記閾値調整部は、前記累積画素数が前記閾値を超えたことにより実行された畳み込み処理後の前記分類処理の分類結果とその直前に実行された前記分類処理の分類結果とが同一である場合に、前記閾値調整処理において前記累積画素数についての前記閾値を上げる
 上記(10)に記載の信号処理装置。
(12)
 前記閾値調整部は、前記累積画素数が前記閾値を超えたことにより実行された畳み込み処理後の前記分類処理の分類結果とその直前に実行された前記分類処理の分類結果とが異なる場合に、前記閾値調整処理において前記累積画素数についての前記閾値を下げる
 上記(10)から上記(11)のいずれかに記載の信号処理装置。
(13)
 前記閾値調整部は、前記累積画素数が前記閾値を超えたことにより実行される処理の実行中において前記累積画素数が再度前記閾値を超えた場合に、前記閾値を再度超えたことによる前記畳み込み処理を行わない
 上記(10)から上記(12)のいずれかに記載の信号処理装置。
(14)
 受光量を示す受光信号を得る受光部と、
 前記受光信号の変化量に基づき、前記受光量が変化した画素を特定する画素特定部と、
 受光量が変化した前記画素についての畳み込み処理を畳み込み層において行う畳み込み処理部と、を備え、
 前記畳み込み処理において複数回実行され得るフィルタ処理においては、入力画像の部分領域とされフィルタのサイズと同サイズとされた処理対象領域に含まれる全ての画素が前記受光量が変化した画素の影響を受けない不変画素である場合に、当該フィルタ処理を行わない
 撮像装置。
(15)
 前記受光部と前記画素特定部と前記畳み込み処理部とが一体に形成されたイメージセンサを備えた
 上記(14)に記載の撮像装置。
(16)
 受光量を示す受光信号を得る受光部と、
 前記受光信号の変化量に基づき、前記受光量が変化した画素を特定する画素特定部と、
 受光量が変化した前記画素についての畳み込み処理を畳み込み層において行う畳み込み処理部と、を備え、
 前記畳み込み処理において複数回実行され得るフィルタ処理においては、入力画像の部分領域とされフィルタのサイズと同サイズとされた処理対象領域に含まれる全ての画素が前記受光量が変化した画素の影響を受けない不変画素である場合に、当該フィルタ処理を行わない
 イメージセンサ。
(17)
 受光量を示す受光信号の変化量に基づき、前記受光量が変化した画素を特定し、
 前記受光量が変化した画素について畳み込み処理を畳み込み層において行い、
 前記畳み込み処理において複数回実行され得るフィルタ処理においては、入力画像の部分領域とされフィルタのサイズと同サイズとされた処理対象領域に含まれる全ての画素が前記受光量が変化した画素の影響を受けない不変画素である場合に、当該フィルタ処理を行わない
 信号処理方法。
1 撮像装置
3 イメージセンサ
11 画素アレイ部(受光部)
14 信号処理部
17 画素
21 画素特定部
22 画像認識処理部(畳み込み処理部)
23 閾値調整部
24 管理部
Th2 閾値

Claims (17)

  1.  受光量を示す受光信号の変化量に基づき、前記受光量が変化した画素を特定する画素特定部と、
     前記受光量が変化した画素について畳み込み処理を畳み込み層において行う畳み込み処理部と、を備え、
     前記畳み込み処理において複数回実行され得るフィルタ処理においては、入力画像の部分領域とされフィルタのサイズと同サイズとされた処理対象領域に含まれる全ての画素が前記受光量が変化した画素の影響を受けない不変画素である場合に、当該フィルタ処理を行わない
     信号処理装置。
  2.  畳み込み処理によって生成された特徴マップを管理する管理部を備えた
     請求項1に記載の信号処理装置。
  3.  前記畳み込み処理部は、畳み込み層に入力される入力画像において前記受光量が変化した画素の影響を受ける変化画素と前記不変画素が含まれる場合に、前記不変画素については過去の特徴マップのデータを用いる
     請求項2に記載の信号処理装置。
  4.  前記管理部は、畳み込み層に入力される入力画像の各画素が前記変化画素と前記不変画素の何れであるかを示すダーティマップを管理する
     請求項3に記載の信号処理装置。
  5.  前記畳み込み処理部は、前記特徴マップが記憶されていない場合に当該畳み込み層における全てのフィルタ処理を行う
     請求項2に記載の信号処理装置。
  6.  前記畳み込み処理部は、複数の畳み込み層において畳み込み処理を行い、
     前記管理部は、前記複数の畳み込み層ごとの入力画像ごとに前記ダーティマップを管理する
     請求項4に記載の信号処理装置。
  7.  前記管理部は、畳み込み処理を終えた入力画像についての前記ダーティマップのクリアを行う
     請求項4に記載の信号処理装置。
  8.  前記畳み込み処理部は、前記受光量が変化した画素の数が閾値以下である場合に畳み込み処理を行わない
     請求項1に記載の信号処理装置。
  9.  受光量が変化した画素の数を累積した累積画素数を管理する管理部を備え、
     前記累積画素数が閾値を超えた場合に、前記畳み込み処理部は畳み込み処理を行い、前記管理部は前記累積画素数のリセットを行う
     請求項8に記載の信号処理装置。
  10.  前記畳み込み処理後の分類処理の処理結果に基づいて前記累積画素数についての前記閾値を調整する閾値調整処理を行う閾値調整部を備えた
     請求項9に記載の信号処理装置。
  11.  前記閾値調整部は、前記累積画素数が前記閾値を超えたことにより実行された畳み込み処理後の前記分類処理の分類結果とその直前に実行された前記分類処理の分類結果とが同一である場合に、前記閾値調整処理において前記累積画素数についての前記閾値を上げる
     請求項10に記載の信号処理装置。
  12.  前記閾値調整部は、前記累積画素数が前記閾値を超えたことにより実行された畳み込み処理後の前記分類処理の分類結果とその直前に実行された前記分類処理の分類結果とが異なる場合に、前記閾値調整処理において前記累積画素数についての前記閾値を下げる
     請求項10に記載の信号処理装置。
  13.  前記閾値調整部は、前記累積画素数が前記閾値を超えたことにより実行される処理の実行中において前記累積画素数が再度前記閾値を超えた場合に、前記閾値を再度超えたことによる前記畳み込み処理を行わない
     請求項10に記載の信号処理装置。
  14.  受光量を示す受光信号を得る受光部と、
     前記受光信号の変化量に基づき、前記受光量が変化した画素を特定する画素特定部と、
     受光量が変化した前記画素についての畳み込み処理を畳み込み層において行う畳み込み処理部と、を備え、
     前記畳み込み処理において複数回実行され得るフィルタ処理においては、入力画像の部分領域とされフィルタのサイズと同サイズとされた処理対象領域に含まれる全ての画素が前記受光量が変化した画素の影響を受けない不変画素である場合に、当該フィルタ処理を行わない
     撮像装置。
  15.  前記受光部と前記画素特定部と前記畳み込み処理部とが一体に形成されたイメージセンサを備えた
     請求項14に記載の撮像装置。
  16.  受光量を示す受光信号を得る受光部と、
     前記受光信号の変化量に基づき、前記受光量が変化した画素を特定する画素特定部と、
     受光量が変化した前記画素についての畳み込み処理を畳み込み層において行う畳み込み処理部と、を備え、
     前記畳み込み処理において複数回実行され得るフィルタ処理においては、入力画像の部分領域とされフィルタのサイズと同サイズとされた処理対象領域に含まれる全ての画素が前記受光量が変化した画素の影響を受けない不変画素である場合に、当該フィルタ処理を行わない
     イメージセンサ。
  17.  受光量を示す受光信号の変化量に基づき、前記受光量が変化した画素を特定し、
     前記受光量が変化した画素について畳み込み処理を畳み込み層において行い、
     前記畳み込み処理において複数回実行され得るフィルタ処理においては、入力画像の部分領域とされフィルタのサイズと同サイズとされた処理対象領域に含まれる全ての画素が前記受光量が変化した画素の影響を受けない不変画素である場合に、当該フィルタ処理を行わない
     信号処理方法。
PCT/JP2020/047168 2020-02-10 2020-12-17 信号処理装置、イメージセンサ、撮像装置、信号処理方法 WO2021161652A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020020931 2020-02-10
JP2020-020931 2020-09-30

Publications (1)

Publication Number Publication Date
WO2021161652A1 true WO2021161652A1 (ja) 2021-08-19

Family

ID=77292362

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/047168 WO2021161652A1 (ja) 2020-02-10 2020-12-17 信号処理装置、イメージセンサ、撮像装置、信号処理方法

Country Status (1)

Country Link
WO (1) WO2021161652A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018101317A (ja) * 2016-12-21 2018-06-28 ホーチキ株式会社 異常監視システム
US20190065885A1 (en) * 2017-08-29 2019-02-28 Beijing Samsung Telecom R&D Center Object detection method and system
JP2019211879A (ja) * 2018-06-01 2019-12-12 株式会社デンソーアイティーラボラトリ 3次元畳込み演算装置、ビジュアルオドメトリシステム、及び3次元畳込みプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018101317A (ja) * 2016-12-21 2018-06-28 ホーチキ株式会社 異常監視システム
US20190065885A1 (en) * 2017-08-29 2019-02-28 Beijing Samsung Telecom R&D Center Object detection method and system
JP2019211879A (ja) * 2018-06-01 2019-12-12 株式会社デンソーアイティーラボラトリ 3次元畳込み演算装置、ビジュアルオドメトリシステム、及び3次元畳込みプログラム

Similar Documents

Publication Publication Date Title
JP6023058B2 (ja) 画像処理装置、画像処理方法、プログラム、集積回路
CN107258077B (zh) 用于连续自动聚焦(caf)的***和方法
CN101543054B (zh) 图像处理装置、图像处理方法
US10115178B2 (en) Image processing apparatus, image capturing apparatus, image processing method, and storage medium
CN106412214A (zh) 一种终端及终端拍摄的方法
JP2003172873A5 (ja)
US20010014215A1 (en) Distance measuring device
WO2013150789A1 (ja) 動画解析装置、動画解析方法、プログラム、及び集積回路
WO2020042126A1 (zh) 一种对焦装置、方法及相关设备
CN113840076B (zh) 一种拍摄变焦方法、电子设备及存储介质
CN104954659A (zh) 一种处理图像信息的方法及装置
KR20230110618A (ko) 영상 보정 방법, 장치 및 시스템, 전자 장치
WO2021161652A1 (ja) 信号処理装置、イメージセンサ、撮像装置、信号処理方法
JP7292850B2 (ja) 画像処理装置、画像処理方法、及びプログラム
CN114998317A (zh) 镜头遮挡检测方法、装置、摄像装置和存储介质
US20150206024A1 (en) Image processing apparatus, image processing method, and storage medium
CN103139521B (zh) 图像采集与选取方法及图像采集装置
CN101841654B (zh) 图像处理装置以及图像处理方法
JP7251426B2 (ja) 付着物検出装置および付着物検出方法
US20130223697A1 (en) Face detection-processing circuit and image pickup device including the same
JP2007189432A (ja) 車両用撮像装置
CN116214930A (zh) 3d打印方法、打印机及介质
CN112611780B (zh) 一种烧结机尾断面图片的捕捉方法及装置
JP2012118634A (ja) 画像認識方法、画像認識装置及び撮像システム
CN115280759A (zh) 固态成像装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20918694

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20918694

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP