WO2023181981A1 - 撮像装置、撮像方法および撮像プログラム - Google Patents

撮像装置、撮像方法および撮像プログラム Download PDF

Info

Publication number
WO2023181981A1
WO2023181981A1 PCT/JP2023/009243 JP2023009243W WO2023181981A1 WO 2023181981 A1 WO2023181981 A1 WO 2023181981A1 JP 2023009243 W JP2023009243 W JP 2023009243W WO 2023181981 A1 WO2023181981 A1 WO 2023181981A1
Authority
WO
WIPO (PCT)
Prior art keywords
row
imaging
imaging device
pixel
processing unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2023/009243
Other languages
English (en)
French (fr)
Inventor
将彰 池田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Semiconductor Solutions Corp
Original Assignee
Sony Semiconductor Solutions Corp
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 Sony Semiconductor Solutions Corp filed Critical Sony Semiconductor Solutions Corp
Priority to US18/847,984 priority Critical patent/US20250200973A1/en
Priority to CN202380027834.9A priority patent/CN118872282A/zh
Publication of WO2023181981A1 publication Critical patent/WO2023181981A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/147Details of sensors, e.g. sensor lenses
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/40Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled
    • H04N25/44Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled by partially reading an SSIS array
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30232Surveillance

Definitions

  • the present disclosure relates to an imaging device, an imaging method, and an imaging program.
  • imaging devices such as small cameras used for surveillance purposes
  • imaging devices equipped with an image recognition function that recognizes predetermined objects included in captured images have been developed.
  • An object of the present disclosure is to provide an imaging device, an imaging method, and an imaging program that can reduce processing time and memory area associated with realizing an image recognition function.
  • An imaging device has a pixel area in which a plurality of pixels are arranged in a matrix, and includes an imaging unit that reads and outputs pixel signals from pixels included in the pixel area; a first processing unit that infers the presence or absence of a foreign object for each row based on the pixel signals of pixels included in a designated row among the pixels included in the row.
  • FIG. 1 is a schematic diagram showing the configuration of an example of a monitoring system applicable to the embodiment.
  • FIG. 2 is a schematic diagram for schematically explaining inference processing according to an embodiment of the present disclosure.
  • FIG. 1 is a block diagram showing the configuration of an example of an imaging device according to an embodiment.
  • FIG. 1 is a schematic diagram showing an example of the hardware configuration of an imaging device according to each embodiment.
  • FIG. 3 is a diagram showing an example in which the imaging device according to each embodiment is formed of a stacked CIS having a two-layer structure.
  • FIG. 3 is a diagram showing an example in which the imaging device according to each embodiment is formed by a stacked CIS having a three-layer structure.
  • FIG. 2 is a block diagram showing an example configuration of a sensor unit applicable to each embodiment.
  • FIG. 1 is a schematic diagram showing the configuration of an example of a monitoring system applicable to the embodiment.
  • FIG. 2 is a schematic diagram for schematically explaining inference processing according to an embodiment of the present disclosure.
  • FIG. 2 is a functional block diagram of an example for explaining functions of a recognition processing unit according to an embodiment.
  • FIG. 1 is a block diagram showing a hardware configuration of an example of a learning device according to an embodiment.
  • FIG. 3 is a schematic diagram for schematically explaining learning processing according to the embodiment.
  • FIG. 3 is a schematic diagram for more specifically explaining processing by supervised learning according to the embodiment.
  • FIG. 3 is a schematic diagram for more specifically explaining processing by supervised learning according to the embodiment.
  • FIG. 3 is a schematic diagram for more specifically explaining processing by unsupervised learning according to the embodiment.
  • FIG. 3 is a schematic diagram for more specifically explaining processing by unsupervised learning according to the embodiment.
  • FIG. 2 is a schematic diagram for explaining determination based on the degree of abnormality calculated by a machine learning model using unsupervised learning.
  • FIG. 1 is a block diagram showing a hardware configuration of an example of a learning device according to an embodiment.
  • FIG. 3 is a schematic diagram for schematically explaining learning processing according to the embodiment.
  • FIG. 3 is a schematic diagram for explaining inference processing by the first processing unit according to the embodiment.
  • FIG. 3 is an example sequence diagram for explaining the chronological transition of processing in the first processing unit according to the embodiment.
  • FIG. 3 is a schematic diagram for explaining possible input units of image data to be input to a machine learning model that can be applied to the embodiment.
  • FIG. 2 is a schematic diagram for explaining an output unit of image data output from a machine learning model that can be applied to the embodiment.
  • 7 is a flowchart of an example of inference processing by the inference processing unit according to the embodiment.
  • FIG. 7 is a schematic diagram illustrating an example of an inference result before execution of integration processing by a second processing unit.
  • FIG. 2 is a schematic diagram for more specifically explaining a moving average calculation process of inference results according to an embodiment.
  • FIG. 2 is a schematic diagram for explaining a method for outputting inference results according to an embodiment.
  • FIG. 2 is a schematic diagram for explaining a method for outputting inference results according to an embodiment.
  • FIG. 3 is a schematic diagram showing an example of setting a region of interest according to the embodiment.
  • FIG. 2 is a schematic diagram for schematically explaining the technology disclosed in Patent Document 1 as an existing technology.
  • FIG. 2 is a schematic diagram for explaining a technology according to an embodiment of the present disclosure in comparison with an existing technology. It is a block diagram showing the composition of an example of an imaging device concerning a modification of an embodiment.
  • Embodiment 1-1 Overview of embodiment 1-2. Configuration according to embodiment 1-3. Processing according to embodiment 1-3-1. Learning processing according to embodiment 1-3-2. Details of inference processing according to embodiment 1-3-3. About setting the attention area 1-4. Comparison with existing technology 2. Variations of the embodiment
  • the imaging device is assumed to be a fixed camera used for applications such as a surveillance camera, which is attached to a fixed object such as a wall, a pillar, or a ceiling, and captures images in a fixed imaging range.
  • the presence or absence of a foreign object is detected for each line specified by the user, for example, in an image captured by the fixed camera.
  • the user may specify lines for detecting the presence or absence of foreign objects as discrete lines in the captured image.
  • the probability distribution of pixel values in a captured image is fixed to some extent.
  • a shift of several pixels in the image of the line is learned as a background.
  • the machine learning model constructed here can be made lightweight by applying a one-dimensional CNN (Convolutional Neural Network) that performs line-by-line convolution, that is, one-dimensional convolution.
  • CNN Convolutional Neural Network
  • the "background” refers to an area or object that does not change substantially over time in a captured image.
  • a “foreign object” refers to an object that appears at an arbitrary timing with respect to the “background” and is different from the background.
  • the “foreign object” may be a person or an animal.
  • the “foreign object” may be a machine (robot) that operates autonomously or under control.
  • the “foreign object” may be a damaged or destroyed object as part of the background image.
  • image recognition related to detecting the presence or absence of a foreign object is executed line by line, so it is possible to suppress the processing time and memory area required to realize the image recognition function.
  • FIG. 1 is a schematic diagram showing the configuration of an example of a monitoring system applicable to the embodiment.
  • a monitoring system 1 includes an imaging device 10, a learning device 20, and a monitoring device 30, which are communicably connected to each other via a network 2.
  • the network 2 may be the Internet or a LAN (Local Area Network) constructed within a specific facility.
  • the present invention is not limited to this, and the imaging device 10, the learning device 20, and the monitoring device 30 may be directly connected by a cable or the like.
  • the imaging device 10 is used by being attached to a fixed object 11 such as the ceiling of a building using a fixture 12.
  • the imaging device 10 is mounted with a mounting fixture 12 with the imaging range fixed. That is, the imaging device 10 in this example always continues to image the same imaging range during use.
  • the imaging device 10 includes an imaging device including a pixel array in which pixels that output pixel signals corresponding to received light are arranged in a matrix, and a recognition process that performs recognition processing based on the captured image captured by the imaging device. Including.
  • the recognition processing unit included in the imaging device 10 performs recognition processing on an image of a designated line in the captured image using a machine learning model learned in advance by machine learning, and infers the presence or absence of a foreign object.
  • the imaging device 10 can output the captured image and the inference result regarding the presence or absence of a foreign object to the network 2, for example.
  • the learning device 20 can be, for example, a general computer, and performs learning by machine learning based on the image of a specified line in the captured image output from the imaging device 10 to construct a machine learning model.
  • the learning device 20 transmits a machine learning model constructed based on the captured image to the imaging device 10 that outputs the captured image.
  • the monitoring system 1 includes a plurality of imaging devices 10
  • the learning device 20 can construct a machine learning model based on captured images for each of the plurality of imaging devices 10.
  • the learning device 20 can specify, to the imaging device 10, a line on which recognition processing is to be performed, for example, in response to a user operation.
  • the learning device 20 can specify the line for each of the plurality of imaging devices 10 according to a user operation.
  • FIG. 1 shows that the imaging device 10 and the learning device 20 are connected via the network 2, this is not limited to this example.
  • the imaging device 10 and the learning device 20 may be directly connected by priority or wireless communication without going through the network 2.
  • the monitoring device 30 can display the captured image output from the imaging device 10 and the inference result regarding the presence or absence of a foreign object on a display device. Furthermore, the monitoring device 30 may provide a predetermined notification to the user based on the inference result regarding the presence or absence of a foreign object.
  • FIG. 2 is a schematic diagram for schematically explaining inference processing according to the embodiment of the present disclosure.
  • the captured image 40 output from the image sensor of the imaging device 10 includes foreign objects 41a, 41b, and 41c, which are, for example, people, with respect to the background image.
  • the lines for inferring the presence or absence of a foreign object in the captured image 40 output from the image sensor of the imaging device 10 are the lines r#1, r#2, and r#2 of the pixel array in the pixel array. Specified by...
  • Each row r#1, r#2, . . . is specified intermittently for each row included in the pixel array.
  • each row r#1, r#2, . . . specifies each row r#1, r#2, . . . with an interval of one or more rows with respect to each row included in the pixel array.
  • the imaging device 10 When the line indicated by row r#1 is read from the image sensor, the imaging device 10 performs inference processing on the read line to determine whether there is a foreign object. When the line indicated by the next row r#2 is read from the image sensor, the imaging device 10 performs inference processing on the read line to determine whether there is a foreign object. In this way, the imaging device 10 performs inference processing regarding the presence or absence of foreign matter based on the image of the read line each time the line indicated by each row r#1, r#2, . . . is read out.
  • the imaging device 10 infers that the images of the lines indicated by lines #1 to #4 and line #7 are "background” (no foreign matter).
  • the imaging device 10 infers that the images of the lines indicated by rows #5 and #6 contain “foreign objects” because they include part of the images of foreign objects 41a, 41b, and 41c.
  • the imaging device 10 may output the inference results for each row #1 to #7, or may output the range FM including the lines #5 and #6 inferred as "foreign object present" as the inference result. good.
  • the imaging device 10 reads out lines from the top to the bottom of the captured image 40, but this is not limited to this example. That is, the reading order of the lines in the captured image 40 may be arbitrary. Further, the interval between the read lines may be set as appropriate depending on the monitoring target, for example.
  • FIG. 3 is a block diagram showing the configuration of an example of an imaging device according to an embodiment.
  • the imaging device 10 according to the embodiment is attached to a fixed object 11 such as a ceiling, a wall, a pillar, etc. using a fixture 12, and is used with a fixed imaging range.
  • the imaging device 10 includes a sensor section 100, a sensor control section 101, a visual recognition processing section 102, a memory 103, a recognition processing section 104, an output control section 105, and an interface (I/F) 106. , a data storage unit 130.
  • sensor section 100, sensor control section 101, visual recognition processing section 102, memory 103, recognition processing section 104, output control section 105, I/F 106, and data storage section 130 are integrated using, for example, CMOS (Complementary Metal Oxide Semiconductor).
  • the sensor is configured as a CMOS image sensor (CIS) formed in the same manner as above.
  • the present invention is not limited to this, and some or all of the sensor section 100, sensor control section 101, visual recognition processing section 102, memory 103, recognition processing section 104, output control section 105, I/F 106, and data storage section 130 can be cooperated with each other. It may also be constituted by an independent hardware circuit that operates together.
  • the sensor section 100 outputs a pixel signal according to the light irradiated onto the light receiving surface via the optical section 120. More specifically, the sensor unit 100 has a pixel array in which pixels each including at least one photoelectric conversion element are arranged in a matrix. A light-receiving surface is formed by each pixel arranged in rows and columns in the pixel array. The sensor unit 100 further includes a drive circuit for driving each pixel included in the pixel array, and a signal that performs predetermined signal processing on the signal read out from each pixel and outputs it as a pixel signal of each pixel. A processing circuit. The sensor unit 100 outputs a pixel signal of each pixel included in the pixel area as digital image data.
  • Frame image data is formed by pixel data based on each pixel signal output from each pixel included in the frame.
  • each row in the pixel array of the sensor unit 100 is called a line, and line image data is formed by pixel data based on pixel signals output from each pixel included in the line.
  • imaging the operation in which the sensor unit 100 outputs a pixel signal according to the light irradiated onto the light receiving surface.
  • the sensor unit 100 controls exposure during imaging and gain (analog gain) for pixel signals in accordance with an imaging control signal supplied from a sensor control unit 101, which will be described later.
  • the sensor control unit 101 is configured by a microprocessor, for example, and controls reading of pixel data from the sensor unit 100 according to a program, and outputs pixel data based on each pixel signal read from each pixel included in a frame. . Pixel data output from the sensor control unit 101 is passed to the visual recognition processing unit 102 and the recognition processing unit 104.
  • the sensor control unit 101 may control the operations of the visual recognition processing unit 102 and the recognition processing unit 104 according to a program.
  • the sensor control unit 101 generates an imaging control signal for controlling imaging in the sensor unit 100.
  • the sensor control unit 101 generates an imaging control signal, for example, according to instructions from a visual recognition processing unit 102 and a recognition processing unit 104, which will be described later.
  • the imaging control signal includes information indicating the exposure and analog gain during imaging in the sensor unit 100, as described above.
  • the imaging control signal further includes control signals (vertical synchronization signal, horizontal synchronization signal, etc.) used by the sensor unit 100 to perform an imaging operation.
  • the sensor control unit 101 supplies the generated imaging control signal to the sensor unit 100.
  • the optical section 120 is for irradiating the light receiving surface of the sensor section 100 with light from the subject, and is arranged, for example, at a position corresponding to the sensor section 100.
  • the optical unit 120 includes, for example, a plurality of lenses, an aperture mechanism for adjusting the size of the aperture for incident light, a focus mechanism for adjusting the focus of the light irradiated onto the light receiving surface, and adjusting the angle of view. and a zoom mechanism for.
  • the optical section 120 may further include a shutter mechanism (mechanical shutter) that adjusts the time during which the light receiving surface is irradiated with light.
  • the aperture mechanism, focus mechanism, shutter mechanism, and zoom mechanism included in the optical section 120 can be controlled by the sensor control section 101.
  • the aperture, focus, and zoom in the optical section 120 can also be controlled from outside the imaging device 10. Further, it is also possible to configure the optical section 120 integrally with the imaging device 10.
  • the visual recognition processing unit 102 uses the memory 103 to perform processing on the pixel data passed from the sensor control unit 101 to obtain an image suitable for human viewing. Outputs image data consisting of.
  • the visual recognition processing unit 102 includes an ISP (Image Signal Processor), and the visual recognition processing unit 102 is configured by reading and executing a program stored in advance in a memory (not shown) by the ISP.
  • the visual recognition processing unit 102 stores image data read from the sensor unit 100 in the memory 103. When a predetermined amount of image data is stored in the memory 103, the visual recognition processing unit 102 performs predetermined image processing on the image data stored in the memory 103.
  • the visual recognition processing unit 102 performs demosaic processing. processing, white balance processing, etc. Furthermore, the visual recognition processing unit 102 can instruct the sensor control unit 101 to read pixel data necessary for visual recognition processing from the sensor unit 100. For example, the visibility processing unit 102 may instruct the sensor control unit 101 to read one frame worth of pixel data from the sensor unit 100. Image data whose pixel data has been subjected to image processing by the visual recognition processing unit 102 is passed to the output control unit 105.
  • the recognition processing unit 104 Based on the image data passed from the sensor control unit 101, the recognition processing unit 104 performs recognition processing of objects included in the image based on the image data.
  • the recognition processing unit 104 includes, for example, a DSP (Digital Signal Processor), and the DSP reads out a program learned in advance by supervised learning or unsupervised learning and stored in the memory 103 as a learning machine learning model. By executing this, recognition processing using DNN (Deep Neural Network) is performed.
  • DSP Digital Signal Processor
  • the recognition processing unit 104 can instruct the sensor control unit 101 to read pixel data necessary for recognition processing from the sensor unit 100.
  • the recognition processing unit 104 instructs the sensor control unit 101 to read pixel data of a designated line (row) from the sensor unit 100.
  • the recognition processing unit 104 infers the presence or absence of a foreign object for each line through recognition processing.
  • the line-by-line inference results (recognition results) by the recognition processing unit 104 are passed to the output control unit 105.
  • the output control unit 105 is configured by, for example, a microprocessor, and sends the inference result of each line passed from the recognition processing unit 104 and the image data passed as the visual recognition processing result from the visual recognition processing unit 102 to the data storage unit 130. hand over.
  • the data storage unit 130 includes a memory and stores the inference results for each line passed from the recognition processing unit 104 and the image data passed from the visual recognition processing unit 102.
  • the data storage unit 130 can output one or both of the stored inference results and image data to the outside of the imaging device 10, for example, in response to a request from a device external to the imaging device 10. Further, the data storage unit 130 passes the stored image data to the I/F 106 in response to a request from the learning device 20, for example.
  • the data storage unit 130 may further pass the stored inference results for each line to the I/F 106.
  • the I/F 106 is an interface for transmitting and receiving data, etc., to and from the learning device 20.
  • the I/F 106 may be an interface for communicating with the network 2, for example.
  • the imaging device 10 is used as a fixed camera with a fixed imaging range, it is preferable that the I/F 106 supports wireless communication, since it is possible to suppress blurring of the imaging range due to contact, impact, or the like.
  • the I/F 106 transmits the image data passed from the data storage unit 130 to the learning device 20. Similarly, the I/F 106 transmits the image data passed from the data storage unit 130 to the monitoring device 30. When the I/F 106 receives the inference result for each line from the data storage unit 130, the I/F 106 may transmit the inference result to the learning device 20 or the monitoring device 30.
  • the I/F 106 receives data transmitted from the learning device 20.
  • the I/F 106 receives a machine learning model transmitted from the learning device 20 and passes the received machine learning model to the recognition processing unit 104.
  • the I/F 106 receives information indicating the line number transmitted from the learning device 20 and passes the received information indicating the line number to the sensor control unit 101.
  • “information indicating a line number” will be simply referred to as a "line number.”
  • the learning device 20 includes a learning section 200, an image storage section 201, a UI (User Interface) section 202, a display section 203, and an interface (I/F) 210.
  • the I/F 210 is an interface for transmitting and receiving data, etc., to and from the imaging device 10.
  • the I/F 210 receives image data transmitted from the imaging device 10 and passes it to the image storage unit 201.
  • the image storage unit 201 stores the image data passed from the I/F 210 in a storage medium such as a memory.
  • the learning unit 200 extracts, for example, line image data specified by the UI unit 202 from the image data stored in the image storage unit 201, and uses machine learning, supervised learning or unsupervised learning, to infer the presence or absence of foreign objects. Train and build machine learning models.
  • the learning unit 200 transmits the constructed machine learning model to the imaging device 10 from the I/F 210.
  • the I/F 106 receives the machine learning model transmitted from the learning device 20, and passes the received machine learning model to the recognition processing unit 104.
  • the UI unit 202 constitutes an interface related to user operations.
  • the UI unit 202 receives, for example, a user operation on an input device (such as a keyboard) included in the learning device 20. Further, the UI unit 202 generates an image to be presented to the user, and passes the generated image to the display unit 203.
  • the display unit 203 generates display control information for displaying the image passed from the UI unit 202 on a display device (not shown).
  • the UI unit 202 receives, through a user operation, information about a row number (in some cases, a row number and a column number) indicating a line on which to infer the presence or absence of a foreign object, and the line on which to make the inference is specified.
  • the line number for example, the line number increases by 1 for each line, and discrete line numbers are specified. Discrete line numbers mean that one or more unspecified line numbers are included between each specified line number.
  • the UI unit 202 transmits the input line number to the imaging device 10 from the I/F 210. In the imaging device 10, the I/F 106 receives the line number transmitted from the learning device 20, and passes the received line number to the recognition processing unit 104.
  • FIG. 4 is a schematic diagram showing an example of the hardware configuration of the imaging device 10 according to each embodiment.
  • the memory 103, output control section 105, I/F 106, and data storage section 130 are omitted to avoid complexity.
  • the data storage section 130 may be configured outside the chip 50.
  • the inference result by the recognition processing unit 104 is output to the outside of the chip 50 via an I/F 106 (not shown). Furthermore, in the configuration of FIG. 4, the recognition processing unit 104 can acquire pixel data (line image data) for use in recognition from the sensor control unit 101 via the internal interface of the chip 50.
  • the imaging device 10 can be formed on one substrate.
  • the present invention is not limited to this, and the imaging device 10 may be a stacked CIS in which a plurality of semiconductor chips are stacked and integrally formed.
  • the imaging device 10 can be formed with a two-layer structure in which semiconductor chips are stacked in two layers.
  • FIG. 5A is a diagram showing an example in which the imaging device 10 according to each embodiment is formed of a stacked CIS having a two-layer structure.
  • a pixel portion 500a is formed in the first layer semiconductor chip
  • a memory+logic portion 500b is formed in the second layer semiconductor chip.
  • the pixel section 500a includes at least a pixel array in the sensor section 100.
  • the memory + logic unit 500b includes, for example, a sensor control unit 101, a recognition processing unit 104, a memory 103, a visual recognition processing unit 102, an output control unit 105, and an I/F 106.
  • the memory + logic section 500b further includes part or all of a drive circuit that drives the pixel array in the sensor section 100.
  • the imaging device 10 is configured as one solid-state imaging device by bonding the first layer semiconductor chip and the second layer semiconductor chip together while making electrical contact.
  • the imaging device 10 can be formed with a three-layer structure in which semiconductor chips are stacked in three layers.
  • FIG. 5B is a diagram showing an example in which the imaging device 10 according to each embodiment is formed of a stacked CIS having a three-layer structure.
  • a pixel section 500a is formed in the first layer semiconductor chip
  • a memory section 500c is formed in the second layer semiconductor chip
  • a logic section 500b' is formed in the third layer semiconductor chip.
  • the logic section 500b' includes, for example, a sensor control section 101, a recognition processing section 104, a visual recognition processing section 102, an output control section 105, and an I/F 106.
  • the memory unit 500c can include the memory 103 and a memory used by the recognition processing unit 104 for recognition processing, for example. The memory may be included in the logic section 500b'.
  • the imaging device 10 can be assembled into a single layer. It is configured as one solid-state image sensor.
  • FIG. 6 is a block diagram showing the configuration of an example of the sensor unit 100 applicable to each embodiment.
  • the sensor unit 100 includes a pixel array unit 1001, a vertical scanning unit 1002, an AD (Analog to Digital) conversion unit 1003, a pixel signal line 1006, a vertical signal line VSL, a control unit 1100, and a signal line A processing unit 1101 is included.
  • the control section 1100 and the signal processing section 1101 may be included in the sensor control section 101 shown in FIG. 1, for example.
  • the pixel array section 1001 includes a plurality of pixel circuits 1000, each including a photoelectric conversion element such as a photodiode, which performs photoelectric conversion on received light, and a circuit that reads charges from the photoelectric conversion element.
  • a plurality of pixel circuits 1000 are arranged in rows and columns in the horizontal direction (row direction) and the vertical direction (column direction).
  • the arrangement of pixel circuits 1000 in the row direction is called a line.
  • the pixel array section 1001 includes at least 1080 lines in which at least 1920 pixel circuits 1000 are included.
  • One frame of image (image data) is formed by pixel signals read from the pixel circuits 1000 included in the frame.
  • each line can be identified by a line number.
  • the line number can be a number that increases by 1 from one end of the pixel array section 1001 to the other end.
  • the line number is "1" for the line r1 on the top end side in the diagram of the pixel array unit 1001, and "2", “3", ..., "1" for each line toward the bottom end. It is added in increments of 1, such as "p".
  • the operation of reading out pixel signals from each pixel circuit 1000 included in a frame in the sensor unit 100 will be appropriately described as reading out a pixel from a frame. Further, the operation of reading a pixel signal from each pixel circuit 1000 included in a line included in a frame is appropriately described as reading a line, reading a line image, or the like.
  • the row with row number n in the pixel array unit 1001 is described as row r n to distinguish it from row r#n that is randomly designated from the captured image.
  • a pixel signal line 1006 is connected to each row and column of each pixel circuit 1000, and a vertical signal line VSL is connected to each column.
  • An end of the pixel signal line 1006 that is not connected to the pixel array section 1001 is connected to the vertical scanning section 1002.
  • the vertical scanning unit 1002 transmits a control signal such as a drive pulse when reading a pixel signal from a pixel to the pixel array unit 1001 via a pixel signal line 1006 under the control of a control unit 1100 described later.
  • An end of the vertical signal line VSL that is not connected to the pixel array section 1001 is connected to the AD conversion section 1003.
  • the pixel signal read from the pixel is transmitted to the AD conversion unit 1003 via the vertical signal line VSL.
  • the pixel signal is read out from the pixel circuit 1000 by transferring the charge accumulated in the photoelectric conversion element due to exposure to a floating diffusion layer (FD) and converting the transferred charge in the floating diffusion layer into a voltage. conduct.
  • a voltage resulting from charge conversion in the floating diffusion layer is output to the vertical signal line VSL via an amplifier.
  • the gap between the photoelectric conversion element and the floating diffusion layer is turned off (open), and the photoelectric conversion element generates light in response to incident light by photoelectric conversion. Accumulates electric charge.
  • the floating diffusion layer and the vertical signal line VSL are connected in accordance with a selection signal supplied via the pixel signal line 1006. Further, in response to a reset pulse supplied via the pixel signal line 1006, the floating diffusion layer is connected to the power supply voltage VDD or the black level voltage supply line for a short period of time to reset the floating diffusion layer.
  • a reset level voltage (referred to as voltage A) of the floating diffusion layer is output to the vertical signal line VSL.
  • a transfer pulse supplied via the pixel signal line 1006 turns on (closes) the space between the photoelectric conversion element and the floating diffusion layer, and transfers the charges accumulated in the photoelectric conversion element to the floating diffusion layer.
  • a voltage (referred to as voltage B) corresponding to the amount of charge in the floating diffusion layer is output to the vertical signal line VSL.
  • the AD conversion unit 1003 includes an AD converter 1007 provided for each vertical signal line VSL, a reference signal generation unit 1004, and a horizontal scanning unit 1005.
  • the AD converter 1007 is a column AD converter that performs AD conversion processing on each column of the pixel array section 1001.
  • the AD converter 1007 performs AD conversion processing on the pixel signal supplied from the pixel circuit 1000 via the vertical signal line VSL, and performs correlated double sampling (CDS) processing to reduce noise. Two digital values (values corresponding to voltage A and voltage B, respectively) are generated.
  • the AD converter 1007 supplies the two generated digital values to the signal processing section 1101.
  • the signal processing unit 1101 performs CDS processing based on the two digital values supplied from the AD converter 1007, and generates a pixel signal (pixel data) as a digital signal. Pixel data generated by the signal processing unit 1101 is output to the outside of the sensor unit 100.
  • the reference signal generation unit 1004 Based on the control signal input from the control unit 1100, the reference signal generation unit 1004 generates a ramp signal used by each AD converter 1007 to convert a pixel signal into two digital values as a reference signal.
  • a ramp signal is a signal whose level (voltage value) decreases at a constant slope over time, or a signal whose level decreases stepwise.
  • Reference signal generation section 1004 supplies the generated ramp signal to each AD converter 1007.
  • the reference signal generation unit 1004 is configured using, for example, a DAC (Digital to Analog Converter).
  • the counter starts counting according to the clock signal.
  • the comparator compares the voltage of the pixel signal supplied from the vertical signal line VSL with the voltage of the ramp signal, and stops counting by the counter at the timing when the voltage of the ramp signal crosses the voltage of the pixel signal.
  • the AD converter 1007 converts the pixel signal in the form of an analog signal into a digital value by outputting a value corresponding to the count value of the time when counting is stopped.
  • the AD converter 1007 supplies the two generated digital values to the signal processing section 1101.
  • the signal processing unit 1101 performs CDS processing based on the two digital values supplied from the AD converter 1007, and generates a pixel signal (pixel data) as a digital signal.
  • a pixel signal based on a digital signal generated by the signal processing unit 1101 is output to the outside of the sensor unit 100.
  • the horizontal scanning unit 1005 performs a selection scan to select each AD converter 1007 in a predetermined order under the control of the control unit 1100, thereby scanning each digital value temporarily held by each AD converter 1007.
  • the signals are sequentially output to the signal processing unit 1101.
  • the horizontal scanning unit 1005 is configured using, for example, a shift register or an address decoder.
  • the control unit 1100 controls the driving of the vertical scanning unit 1002, AD conversion unit 1003, reference signal generation unit 1004, horizontal scanning unit 1005, etc. according to the imaging control signal supplied from the sensor control unit 101.
  • the imaging control signal may include a vertical synchronization signal or an external trigger signal, and a horizontal synchronization signal. Further, the imaging control signal may include a row number indicating a row from which pixel signals are read. The imaging control signal may include a column number indicating a column from which pixel signals are read.
  • the control unit 1100 generates various drive signals that serve as operating standards for the vertical scanning unit 1002, AD conversion unit 1003, reference signal generation unit 1004, and horizontal scanning unit 1005. For example, the control unit 1100 controls the vertical synchronization signal that the vertical scanning unit 1002 supplies to each pixel circuit 1000 via the pixel signal line 1006 based on the vertical synchronization signal or external trigger signal included in the imaging control signal and the horizontal synchronization signal. Generate control signals. The control unit 1100 supplies the generated control signal to the vertical scanning unit 1002.
  • control unit 1100 passes information indicating analog gain, which is included in the imaging control signal supplied from the sensor control unit 101, to the AD conversion unit 1003, for example.
  • the AD converter 1003 controls the gain of the pixel signal input to each AD converter 1007 included in the AD converter 1003 via the vertical signal line VSL in accordance with the information indicating the analog gain.
  • the vertical scanning unit 1002 sends various signals including drive pulses to the pixel signal line 1006 of the selected pixel row of the pixel array unit 1001 to each pixel circuit 1000 line by line based on the control signal supplied from the control unit 1100. and causes each pixel circuit 1000 to output a pixel signal to the vertical signal line VSL. At this time, the vertical scanning unit 1002 selects pixels from each pixel circuit 1000 in the row r n specified by the row number of the pixel array unit 1001 according to the row number included in the control signal supplied from the control unit 1100. The signal can be read out.
  • the vertical scanning unit 1002 is configured using, for example, a shift register or an address decoder. Further, the vertical scanning unit 1002 controls exposure in each pixel circuit 1000 according to information indicating exposure supplied from the control unit 1100.
  • control unit 1100 outputs the row number of the row r n for which the vertical scanning unit 1002 is instructed to read pixel signals to the outside of the sensor unit 100 .
  • control unit 1100 outputs a column number indicating the column c n from which reading is instructed to the outside of the sensor unit 100 .
  • control unit 1100 can selectively output the pixel signals of the specified column, for example, by controlling the output of each AD converter 1007.
  • the sensor unit 100 configured in this manner is a column AD type CMOS (Complementary Metal Oxide Semiconductor) image sensor in which AD converters 1007 are arranged in each column.
  • CMOS Complementary Metal Oxide Semiconductor
  • FIG. 7 is an example functional block diagram for explaining the functions of the recognition processing unit 104 according to the embodiment.
  • the learning device 20 generates a line number specifying a line r n to be read from the sensor unit 100 in response to a user operation on the UI unit 202, and transmits the generated line number from the I/F 210 to the imaging device.
  • the imaging device 10 receives the row number transmitted from the learning device 20 through the I/F 106, and writes it into the register 107 as setting information for the sensor unit 100.
  • the sensor control unit 101 reads setting information from the register 107 and instructs reading of the line r n indicated by the line number indicated in the setting information. Further, the learning device 20 transmits the machine learning model constructed by the learning unit 200 to the imaging device 10 from the I/F 210.
  • the recognition processing section 104 includes an inference processing section 140, a line memory 150, and a parameter memory 151.
  • the line memory 150 has a capacity that can store at least pixel data included in one line in the sensor section 100.
  • the line memory 150 stores pixel data included in one line read from the sensor unit 100 according to the line number read from the register 107 by the sensor control unit 101 and indicated by the line number.
  • the parameter memory 151 stores a machine learning model constructed by the learning unit 200, which is transmitted from the learning device 20 and received by the I/F 106.
  • line image data pixel data included in one line
  • line image data an image based on the line image data
  • the inference processing unit 140 includes a processing control unit 141, a first processing unit 142, and a second processing unit 143.
  • the processing control section 141 controls the operations of the first processing section 142 and the second processing section 143.
  • the first processing unit 142 uses the machine learning model stored in the parameter memory 151 to perform inference processing on the line image data stored in the line memory 150 to determine the presence or absence of foreign objects.
  • the inference result of the presence or absence of a foreign object by the first processing unit 142 is passed to the second processing unit 143 together with the line number corresponding to the line image data. Further, the inference result is passed to the output control unit 105 and stored in the data storage unit 130 together with the line number corresponding to the line image data.
  • the first processing unit 142 functions as a processing unit that infers the presence or absence of foreign matter for each row based on the pixel signals of pixels included in a designated row among the pixels included in the pixel region.
  • the second processing unit 143 uses the inference result from the first processing unit 142 stored in the data storage unit 130 to determine the position of the foreign object. For example, the second processing unit 143 acquires, from the data storage unit 130, the inference result of the line (row) by the first processing unit 142 and the line number of the line (row) from which the inference result was obtained. The second processing unit 143 processes the first processing unit 142 for each line included in the set for a set including three or more consecutive lines (rows) among the rows whose row numbers are specified intermittently. The position of the foreign object in the captured image captured by the sensor unit 100 is determined based on each inference result obtained by the above.
  • the second processing unit 143 causes the data storage unit 130 to store information indicating the determined position of the foreign object via the output control unit 105.
  • FIG. 8 is a block diagram showing the hardware configuration of an example of the learning device 20 according to the embodiment.
  • the learning device 20 includes a CPU (Central Processing Unit) 2000, a ROM (Read Only Memory) 2001, a RAM (Random Access Memory) 2002, a display control unit 2003, a storage device 2004, and a data I/O unit. It includes F2005 and communication I/F2006. In this way, the learning device 20 can have a general computer configuration.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the storage device 2004 is a nonvolatile storage medium such as a hard disk drive or flash memory, for example.
  • CPU 2000 controls the overall operation of learning device 20 according to programs stored in ROM 2001 and storage device 2004, using RAM 2002 as a work memory.
  • the display control unit 2003 generates a display signal that can be handled by the display device 2020 based on the display control information passed from the CPU 2000, and passes it to the display device 2020.
  • the display device 2020 includes a display device such as an LCD (Liquid Crystal Display), and a drive circuit for driving the display device.
  • the display device 2020 displays an image on the display device according to the display signal passed from the display control unit 2003.
  • the data I/F 2005 is an interface for transmitting and receiving data between this learning device 20 and external equipment. Further, an input device 2021 that accepts user operations may be connected to the data I/F 2005.
  • the type of input device 2021 is not particularly limited, but a pointing device such as a mouse or a keyboard can be used, for example.
  • the UI unit 202 described above may realize a user interface by displaying an image on the input device 2021 and the display device 2020.
  • the communication I/F 2006 controls communication of this learning device 20 to the outside.
  • the communication I/F 2006 controls communication to the network 2.
  • the communication I/F 2006 may directly communicate with the imaging device 10 by wireless communication or the like.
  • the CPU 2000 stores the above-mentioned learning unit 200, image storage unit 201, UI unit 202, and display unit 203 in the main memory in the RAM 2002 by executing a program for realizing the functions according to the embodiment.
  • Each area is configured, for example, as a module.
  • the program can be acquired from the outside via the network 2, for example, by communication via the communication I/F 2006, and installed on the learning device 20.
  • the program is not limited to this, and the program may be provided while being stored in a removable storage medium such as a CD (Compact Disk), a DVD (Digital Versatile Disk), or a USB (Universal Serial Bus) memory.
  • FIG. 9 is a schematic diagram for schematically explaining the learning process according to the embodiment.
  • the machine learning model 90 shown in section (a) of FIG. Ru By inputting the line image data of a designated row r n in the captured image captured by the sensor unit 100 to this machine learning model 90, the presence or absence of a foreign object in the row r n is inferred.
  • a machine learning model 91 shown in section (b) of FIG. 9 is constructed by unsupervised learning using images (line images) that do not include foreign objects as learning data.
  • the degree of abnormality in the row r n is inferred.
  • the degree of abnormality indicates, for example, the degree to which foreign matter is included in the row r n .
  • FIGS. 10A and 10B are schematic diagrams for more specifically explaining processing by supervised learning according to the embodiment.
  • FIG. 10A is a schematic diagram for explaining the construction process of a machine learning model 90 using supervised learning.
  • data in which an abnormality label 92a indicating "no foreign object” is added to an image 45a in which a foreign object (in this example, a person) is not included in the line image of a specified row r n and data in which a foreign object is added to the line image of the specified row r n
  • Data obtained by adding an abnormality label 92b indicating "foreign object present" to an image 45b containing "foreign object” is prepared as teacher data.
  • the learning unit 200 inputs each prepared teacher data to the machine learning model 90 and causes the machine learning model 90 to learn.
  • the learned machine learning model 90 is transmitted from the learning device 20 to the imaging device 10 and stored in the parameter memory 151 in the inference processing unit 140 of the imaging device 10.
  • FIG. 10B is a schematic diagram for explaining inference processing by the machine learning model 90 using supervised learning.
  • the first processing unit 142 reads the machine learning model 90 stored in the parameter memory 151.
  • the first processing unit 142 inputs line image data of a specified row r n stored in the line memory 150 in the line memory 150 in the image 46a that does not include foreign matter in the designated row r n to the machine learning model 90 and performs inference processing. Then, an abnormality label 92 indicating "no foreign matter" is obtained. For example, the first processing unit 142 inputs line image data of a specified row r n stored in the line memory 150 in the image 46b containing a foreign object in the specified row r n to the machine learning model 90 and makes inferences. The process is performed and an abnormality label 92 indicating "foreign object present" is obtained.
  • FIG. 11A and FIG. 11B are schematic diagrams for more specifically explaining processing by unsupervised learning according to the embodiment.
  • FIG. 11A is a schematic diagram for explaining the construction process of the machine learning model 91 by unsupervised learning.
  • an image 45a in which a foreign object (a person in this example) is not included in the line image of the specified row r n is prepared as learning data.
  • the learning unit 200 inputs the prepared teacher data to the machine learning model 91 and causes the machine learning model 91 to learn.
  • the learned machine learning model 91 is transmitted from the learning device 20 to the imaging device 10 and stored in the parameter memory 151 in the inference processing unit 140 of the imaging device 10.
  • FIG. 11B is a schematic diagram for explaining inference processing by the machine learning model 91 using unsupervised learning.
  • the first processing unit 142 reads the machine learning model 91 stored in the parameter memory 151.
  • the first processing unit 142 inputs line image data of a specified row r n stored in the line memory 150 in the line memory 150, for example , in an image 46a that does not include a foreign object, to the machine learning model 91 and performs inference processing. Then, an abnormality degree 93a indicating a small value (for example, a value below a threshold value) is calculated. Further, for example, the first processing unit 142 inputs line image data of a specified row r n stored in the line memory 150 in the image 46b containing a foreign object in the specified row r n to the machine learning model 91 to make inferences. The processing is performed to calculate an abnormality degree 93b indicating a large value (for example, a value exceeding a threshold value).
  • the threshold value for determining the degree of abnormality may be set by machine learning by the learning unit 200, or may be set by the user, for example, by user operation on the learning device 20.
  • FIG. 12 is a schematic diagram for explaining determination based on the degree of abnormality calculated by the machine learning model 91 using unsupervised learning, which was explained using FIG. 11B.
  • the horizontal axis shows the abnormality degree
  • the vertical axis shows the number of calculated abnormality degrees for certain data.
  • the magnitude of the degree of abnormality is determined based on the distribution 94a or distribution 94b of the degree of abnormality calculated for certain data.
  • the distribution 94a shows an example of the distribution of the degree of abnormality calculated based on the line image data of the line r n without foreign matter specified in the image 46a in FIG. 11B.
  • the distribution 94b shows an example of the distribution of the degree of abnormality calculated based on the line image data of the row r n with foreign matter specified in the image 46b in FIG. 11B.
  • the first processing unit 142 determines the representative value (maximum value, median value, average value, etc.) of the degree of abnormality in the distribution 94a or the distribution 94b, compares the determined representative value with a threshold value, and determines the degree of abnormality. may be determined. In the example of FIG. 12, the first processing unit 142 determines the degree of abnormality corresponding to the distribution 94a whose representative value is less than or equal to the threshold value to be a small degree of abnormality 93a. On the other hand, the first processing unit 142 determines that the degree of abnormality corresponding to the distribution 94b in which the representative value exceeds the threshold value is a high degree of abnormality 93b.
  • FIG. 13 is a schematic diagram for explaining inference processing by the first processing unit 142 according to the embodiment.
  • the first processing unit 142 uses a machine learning model based on a CNN (Convolutional Neural Network) 62 to infer the presence or absence of a foreign object in the line image data of the specified row r n .
  • CNN Convolutional Neural Network
  • the explanation will be given assuming that the CNN 62 is a network based on the machine learning model 90 constructed by the supervised learning described in section (a) of FIG.
  • the first processing unit 142 reads from the line memory 150 the line image data of the line image 61 of the line r#n, which is the line number n specified as the inference target, and is included in the image 60 .
  • the first processing unit 142 inputs the line image data of the read line image 61 and the line number n of the line image 61 to the CNN 62.
  • the CNN 62 performs one-dimensional convolution processing on the line image data of the input line image 61.
  • the CNN 62 outputs, for example, an abnormality label 92 indicating "foreign object present" as an analogy result for row r#n, which is row number n.
  • the inference processing unit 140 uses the first processing unit 142 to infer the presence or absence of a foreign object based on the one-dimensional spatial feature amount in the horizontal direction in the image 60, for example.
  • the inference processing unit 140 outputs the inference result at the time when the inference processing is executed on the line images of all the rows r n designated as inference targets in the image 60 .
  • the inference processing unit 140 executes inference processing for each specified row r n in the image 60, it can be said that the inference processing also uses pixel distribution information in the vertical direction of the image 60. That is, when the image 60 has spatial features that differ depending on the vertical position, for example, when the upper half of the image 60 is the sky and the lower half is the ground, predetermined pixel values are assigned to the sky and the ground. The meaning of the pixel value differs depending on which part it is applied to. This means that the vertical pixel distribution information of the image 60 is used.
  • the first processing unit 142 after reading the line image data of the specified line r n , the first processing unit 142 reads the line number n of the line and the image data of the read unit (described later) of the line. Input to a machine learning model (CNN62 in this example). The first processing unit 142 uses horizontal spatial information on the line with the line number n and pixel distribution information in the vertical direction with respect to the line based on the input image data of the read unit and the line number n. Then, inference processing is performed for each line and the inference results are output.
  • CNN62 machine learning model
  • FIG. 14 is an example sequence diagram for explaining the chronological transition of processing in the first processing unit 142 according to the embodiment.
  • the description will be given assuming that rows r#10, r#11, r#12, and r#13 are designated intermittently for the captured image captured by the sensor unit 100.
  • the sensor unit 100 reads out the row r#10 from time t 10 to time t 11 , and the line image data of the row r#10 is stored in the line memory 150 .
  • the first processing unit 142 reads the line image data of row r#10 from the line memory 150 at time t11 , for example, and executes inference processing by the CNN 62.
  • the inference result of the inference process by the CNN 62 is stored in the data storage unit 130 via the output control unit 105, for example, in association with the row number r n of the line r#10.
  • the inference result may be expressed as information indicating, for example, the presence or absence of a foreign object as a value "0" or a value "1" for each row.
  • the sensor unit 100 reads out the row r#11 from time t 12 to time t 13 , and the line image data of the row r#11 is stored in the line memory 150 .
  • the first processing unit 142 reads the line image data of row r#10 from the line memory 150 at time t13 , for example, and executes inference processing by the CNN 62.
  • the sensor unit 100 reads out row r#12 from time t 14 to time t 15 , and the first processing unit 142 executes inference processing by CNN 62 from time t 15 and outputs the inference result. do. Furthermore, the sensor unit 100 reads out the row r#13 from time t 16 to time t 17 , and the first processing unit 142 executes inference processing by the CNN 62 from time t 17 and outputs the inference result.
  • the latency of inference processing for the captured image captured by the sensor unit 100 is from time t 10 when reading of line image data of the specified first line r#10 from the sensor unit 100 to the specified last line image data. This is the time until time t 20 when the inference processing by the first processing unit 142 for row r#13 is completed.
  • inference processing is performed only on line image data of a row specified for a captured image, for example, inference processing is performed using line image data of all rows included in the captured image. Latency can be lower than in the case of
  • FIG. 14 shows that the inference process by the CNN 62 in the first processing unit 142 is executed after the reading of one line image data by the sensor unit 100 is completed, this is not applicable to this example. Not limited.
  • the sensor unit 100 may read the next line image data while the first processing unit 142 is performing the inference process. By doing so, it is possible to further reduce the latency of inference processing.
  • the first processing unit 142 performs inference processing for each line read from the sensor unit 100. Therefore, the computation time required for inference processing can be made substantially constant for each row, and the capacity of memory for holding the computation process can be suppressed.
  • FIG. 15 is a schematic diagram for explaining possible input units of image data input to a machine learning model that can be applied to the embodiment.
  • Section (a) of FIG. 15 is an example in which the entire image 83 of one line specified in the image 82 is used as the input unit of the machine learning model.
  • the first processing unit 142 inputs any one of the following four ways shown in (1) to (4) to the machine learning model.
  • Image 83 only.
  • Image 83 and the line number corresponding to the image 83 (2) Image 83 and the line number corresponding to the image 83.
  • Image 83 and the column number corresponding to the image 83 (4) Image 83 and the row number and column number corresponding to the image 83.
  • the column numbers of the columns at one end and the other end of the range of interest in the image 83 may be applied.
  • Section (b) in FIG. 15 is an example in which an image 84 in a part of one row specified in the image 82 is used as an input unit of the machine learning model.
  • the first processing unit 142 inputs any one of the following four ways shown in (5) to (8) to the machine learning model.
  • the column number is the column number indicating column c#m-1 of the column at one end of the range corresponding to the image 84 in the row containing the image 84, and the column number at the other end.
  • the column number indicating the column c#m+1 may be applied.
  • row numbers and column numbers are assigned to the data input to the machine learning model, as in (3), (4), (7), and (8) above.
  • the pixel values in the range indicated by the row number and column number it can be determined whether or not the pixel values are normal.
  • the range is a range in which a "forest” is imaged, if the pixel value shows "green", it is normal; if it shows a color other than "green” (such as the color of human skin), it is normal.
  • FIG. 16 is a schematic diagram for explaining possible output units of image data output from a machine learning model that can be applied to the embodiment.
  • Section (a) in FIG. 16 is an example in which the entire image 83 of one line specified in the image 82 is used as the output unit of the inference result.
  • the image 84 in a part of one row specified in the image 82 (in this example, the range from columns c#m-1 to c#m+1 in row r#n) is used as the inference result. This is an example of using the output unit.
  • section (c) is an example in which a specific pixel 85 in one row specified in the image 82 (in this example, column c#m in row r#n) is the output unit of the inference result. .
  • the inference result is "foreign object present” or "no foreign object present”. " is output for each output unit.
  • an "abnormality degree” is output for each output unit as an inference result.
  • FIG. 17 is a flowchart of an example of inference processing by the inference processing unit 140 according to the embodiment. Note that, prior to the processing according to the flowchart in FIG. 17, one or more rows r#n to be inferred are specified for each row in the frame image, and information indicating each specified row r#n is stored in the register 107. Assume that it is written in .
  • step S100 the inference processing unit 140 reads a machine learning model from the parameter memory 151.
  • the sensor control unit 101 starts reading frames by the sensor unit 100.
  • the sensor control unit 101 reads the line image data of the line designated as the target of analogy processing and indicated by line r#n from the frame, and stores it in the line memory 150. Further, the sensor control unit 101 stores the line number indicating the line of the read line image data in the line memory 150 together with the line image data.
  • the sensor control unit 101 stores the specified column number in the line memory 150 together with the line image data and the row number.
  • step S103 the inference processing unit 140 uses the first processing unit 142 to acquire line image data from the line memory 150. Further, in step S104, which can be executed in parallel with step S103, the inference processing unit 140 uses the first processing unit 142 to acquire the line number from the line memory 150. If a column number is further specified, the inference processing unit 140 acquires the column number together with the row number in step S104.
  • step S103 After the processing in step S103 and step S104, the processing moves to step S105.
  • step S105 the first processing unit 142 executes inference processing using the machine learning model on the line image data of the specified row. More specifically, the first processing unit 142 inputs the line number obtained in step S104 and the line image data obtained in step S103 to the machine learning model, and executes the inference process. The first processing unit 142 causes the data storage unit 130 to store the inference result for the line image data of the line indicated by the line number, together with the line number.
  • step S106 the inference processing unit 140 determines whether the inference processing for one frame whose reading was started in step S101 has been completed. If the inference processing unit 140 determines that the inference processing for one frame has not been completed (step S106, "No"), the inference processing unit 140 moves the process to step S107, and specifies the next inference target row r#n+1. . After the process in step S107, the process moves to step S102.
  • step S106 determines that the inference processing for one frame is completed in step S106 (step S106, "Yes")
  • the process moves to step S108.
  • step S108 the inference processing unit 140 uses the second processing unit 143 to read out the inference results of each row stored in the data storage unit 130 in step S105, and aggregates the read inference results.
  • FIG. 18 is a schematic diagram showing an example of an inference result before the second processing unit 143 performs the aggregation process according to the embodiment.
  • rows r#1 to r#7 are designated as targets for inference processing in the captured image 40.
  • the first processing unit 142 performs inference processing on each of these rows r#1 to r#7 using a machine learning model, and obtains inference results.
  • "no foreign matter” is obtained as the inference result for rows r#1, r#2, r#4, and r#7.
  • "foreign object present” is obtained as the inference result for rows #3, r#5, and r#6.
  • this erroneous detection is suppressed by determining the position of the foreign object based on the inference result for each row r#n in a set of consecutively specified rows.
  • a moving average may be applied to the determination results of each row r#n included in the group.
  • Moving average is a method that sets a window with an arbitrary number of samples for multiple aligned samples, moves the window in the alignment direction of the multiple samples, and calculates the average value of the values of the samples included in the window. .
  • an inference result of "no foreign object” is represented by a value of "0”
  • an inference result of "foreign object present” is represented by a value of "1”
  • a moving average value is calculated using an arbitrary number of consecutively designated rows r#nk, . . . , r#n, . . . , r#n+k as a window.
  • the calculated moving average value is compared with the threshold value, and if the moving average value exceeds the threshold value, the representative rows r#n ⁇ k, ..., r#n, ..., r#n+k included in the window are A row (for example, row r#n) is determined to have a "foreign object". If the calculated moving average value is less than or equal to the threshold, a representative row among the rows r#n-k, ..., r#n, ..., r#n+k included in the window is determined as "no foreign matter". . While shifting the windows, a moving average is calculated for each window to determine the position of the foreign object in the image.
  • the central row r of the plurality of rows r#n ⁇ k, ..., r#n, ..., r#n+k will be used as a representative row. #n can be selected and is preferred.
  • FIG. 19 is a schematic diagram for more specifically explaining the moving average calculation process of the inference results according to the embodiment.
  • the number of samples (number of rows) in the window is set to "3”
  • the threshold value for determining presence/absence of foreign matter is set to "0.50”.
  • each row r#1 to r#7 corresponds to each row r#1 to r#7 of FIG. 18, respectively.
  • a window including three rows r#n-1, r#n, and r#n+1 specified consecutively is set for each row r#1 to r#7, and each row r#n included in the window is A moving average is calculated based on #n-1, r#n, and r#n+1.
  • a moving average is calculated for the window including rows r#1, r#2, and r#3.
  • the inference result is "no foreign object” and the value is set to "0".
  • row r#3 the inference result is "foreign object present", and the value is set to "1".
  • the moving average of the inference results for rows r#1, r#2, and r#3 has a value of "0.33", which is less than or equal to the threshold value. Therefore, the second processing unit 143 determines that there is a small possibility that foreign matter exists in the range of rows r#1, r#2, and r#3.
  • the window is shifted by one row from section (a), and a moving average is calculated for the window including rows r#2, r#3, and r#4.
  • the inference result is "no foreign object” and the value is set to "0".
  • row r#3 the inference result is "foreign object present", and the value is set to "1".
  • the moving average of the inference results for rows r#2, r#3, and r#4 has a value of "0.33", which is less than or equal to the threshold value. Therefore, the second processing unit 143 determines that there is a small possibility that foreign matter exists in the range of rows r#2, r#3, and r#4.
  • the window is shifted by one row from section (b), and a moving average is calculated for the window including rows r#3, r#4, and r#5.
  • the inference result is "no foreign object” and the value is set to "0".
  • row r#3 the inference result is "foreign object present", and the value is set to "1".
  • the moving average of the inference results for rows r#2, r#3, and r#4 has a value of "0.67", which exceeds the threshold value. Therefore, the second processing unit 143 determines that there is a high possibility that foreign matter exists in the range of rows r#2, r#3, and r#4.
  • the window is shifted by one row from section (c), and a moving average is calculated for the window including rows r#4, r#5, and r#6.
  • row r#4 the inference result is "no foreign matter", and the value is set to "0".
  • rows r#5 and r#6 the inference result is "foreign object present", and the value is set to "1", respectively.
  • the moving average of the inference results for rows r#4, r#5, and r#6 has a value of "0.67", which exceeds the threshold. Therefore, the second processing unit 143 determines that there is a high possibility that foreign matter exists in the range of rows r#4, r#5, and r#6.
  • the inference results of rows r#5 and r#6 are The result of the inference in row r#7 is "there is no foreign substance" and the value is set to "0".
  • the moving average of the inference results for rows r#5, r#6, and r#7 has a value of "0.67", which exceeds the threshold value. Therefore, the second processing unit 143 determines that there is a high possibility that foreign matter exists in the range of rows r#5, r#6, and r#7.
  • the second processing unit 143 may aggregate these determination results and determine the position of the foreign object in the captured image 40. For example, the second processing unit 143 determines that in the range of rows r#1 to r#4 where it is determined that there is a small possibility that a foreign object exists, the inference result of "foreign object exists" in row r#3 is noise; It may be determined that no foreign matter exists. In addition, the second processing unit 143 also processes rows r#3 to r#7 for which it is determined that there is a high possibility that a foreign object exists, and for which a redundant inference result of "foreign object exists" is obtained. It may be determined that a foreign object exists in the range of #5 and r#6.
  • the second processing unit 143 acquires the inference results of each row r#1 to r#7 by the first processing unit 142 from the data storage unit 130.
  • the second processing unit 143 calculates the moving average described using FIG. 19 based on the inference results for each row r#1 to r#7 acquired from the data storage unit 130, and Aggregate inference results.
  • the second processing unit 143 may cause the data storage unit 130 to store the aggregated inference results.
  • FIGS. 20A and 20B are schematic diagrams for explaining a method for aggregating inference results according to the embodiment.
  • the inference results for each row r#1 to r#7 specified for the captured image 80 are "no foreign object" for rows r#1 to r#4 and row r#7; 5 and r#6 are assumed to have "foreign matter present”.
  • the line image of the line inferred to be "free of foreign matter" is a background image.
  • FIG. 20A is an example in which the inference results for each row r#1 to r#7 specified for the captured image 80 are not aggregated, but are output for each row r#1 to r#7.
  • the output 95a of the inference processing unit 140 includes information on "no foreign object” and "foreign object present" for each row r#1 to r#7. This output 95a is output from the first processing unit 142, for example.
  • the process of step S108 in the flowchart of FIG. 17 can be omitted.
  • FIG. 20B is an example in which the inference results of each row r#1 to r#7 specified for the captured image 80 are aggregated and output.
  • the output 95b of the inference processing unit 140 indicates that a foreign object exists in the range related to rows r#5 and r#6.
  • the second processing unit 143 performs an explanation based on the inference results of each row r#1 to r#7 stored in the data storage unit 130 using FIG. The moving average is calculated, and the inference results for each row r#1 to r#7 are aggregated.
  • FIG. 21 is a schematic diagram illustrating an example of setting a region of interest according to the embodiment.
  • Section (a) in FIG. 21 is an example in which the entire captured image 80, that is, the range of all rows and columns of the captured image 80, is set as the region of interest.
  • regions a and b set in the vertical direction and regions c and d set in the horizontal direction are all set as regions of interest.
  • Section (b) in FIG. 21 is an example in which a range of some rows and all columns of the captured image 80 is set as the region of interest.
  • the range where region b set in the vertical direction and regions c and d set in the horizontal direction overlap is set as the region of interest.
  • the horizontal region c can be set by specifying the column numbers at both ends of the region c in the captured image 80.
  • Section (c) in FIG. 21 is an example in which a range of all rows and some columns of the captured image 80 is set as the region of interest.
  • the range where areas a and b set in the vertical direction and area c set in the horizontal direction overlap is set as the region of interest.
  • Section (d) in FIG. 21 is an example in which a range of some rows and some columns of the captured image 80 is set as the region of interest.
  • the range where region b set in the vertical direction and region c set in the horizontal direction overlap is set as the region of interest.
  • the first processing unit 142 executes inference processing only within the set attention area.
  • the first processing unit 142 does not make inferences outside the region of interest in the captured image 80.
  • sections (b) to (d) of FIG. 21 by setting a region of interest indicating an inference range in the captured image 80, it is possible to reduce the load related to inference processing.
  • FIG. 22 is a schematic diagram for schematically explaining the technology disclosed in Patent Document 1 as an existing technology.
  • Patent Document 1 in order to output the image 72 of the scan line r#n of the output image 73, scan lines r#n-p to scan line r# of the input image 70 are read in units according to the size of the convolution mask. Convolution processing is performed on images of interest 71 up to n+p. Similarly, in order to output the image 75 on the next scan line r#n+1 of the output image 73, the image of interest 74 from the scan line r#n to r#n+p+1 of the input image 70 in the reading unit is convolutioned. Processing is being executed.
  • Patent Document 1 after scanning lines are read in order from the top or bottom of the image of interest, convolution processing is performed for each reading unit, and the image is rendered. Therefore, in Patent Document 1, in order to output an image of one scanning line, images of a plurality of scanning lines included in a unit of reading in the input image 70 are stored in a memory.
  • FIG. 23 is a schematic diagram for explaining the technology according to the embodiment of the present disclosure in comparison with existing technology.
  • the imaging device 10 reads the line image data of the line image 76 of the specified row r#n in the input image 70 as a reading unit.
  • the imaging device 10 according to the embodiment infers the presence or absence of a foreign object using the line image data of the line image 76 read in units and a machine learning model learned about the line number or row number and column number of the line image 76.
  • the result 76' is output.
  • the memory used to execute the inference process only needs to have a capacity that can store one line of image data, and the required memory capacity is smaller than that in Patent Document 1. Furthermore, since the inference result 76' for one line is output based on the line image data of the line image 76 for one line, faster processing is possible than in Patent Document 1.
  • convolution processing is performed based on multiple lines of line image data in the input image 70.
  • the imaging device uses a rolling shutter method in which exposure is performed line-by-line from an image sensor as an imaging method, rolling distortion occurs in the output image due to different readout timings for each line. In this case, this rolling distortion may affect the convolution process.
  • inference processing using a machine learning model is completed in a single line. Therefore, the inference processing according to the embodiment of the present disclosure can eliminate the influence of rolling distortion.
  • FIG. 24 is a block diagram showing the configuration of an example of an imaging device according to a modification of the embodiment.
  • an imaging device 10a according to a modified example of the embodiment is attached to a fixed object 11 using a fixture 12a, similar to the imaging device 10 according to the embodiment described using FIGS. 3 and 7.
  • the fixture 12a applied to the modification of the embodiment includes a movable part 1200 in which the imaging direction and tilt angle of the imaging device 10a are variable. By changing the imaging direction and tilt angle of the imaging device 10a using the attachment 12a, the imaging range of the imaging device 10a can be changed.
  • the movable unit 1200 includes a drive unit using, for example, a motor, and by controlling the drive unit, the imaging direction and tilt angle can be changed.
  • the movable portion 1200 may change the imaging direction and tilt angle according to control from outside the fixture 12a or according to preset information set in a drive control circuit inside the fixture 12a.
  • the movable unit 1200 may change at least one of the imaging direction and the tilt angle at predetermined time intervals in accordance with preset information, thereby switching the imaging range of the imaging device 10a.
  • the movable unit 1200 Based on the drive control signal, the movable unit 1200 passes drive information related to changes in the imaging direction and tilt angle to the I/F 106.
  • the imaging conditions during imaging can be changed according to a predetermined control signal under the control of the sensor control unit 101.
  • the changeable imaging conditions include, for example, zooming by the optical unit 120 (see FIG. 3).
  • the sensor control unit 101 may change the imaging conditions according to external control or according to preset information set for the imaging device 10a.
  • the sensor control unit 101 passes zoom information indicating the zoom state to the I/F 106.
  • the I/F 106 transmits the drive information passed from the movable unit 1200 and the zoom information passed from the sensor control unit 101 to the learning device 20.
  • the learning device 20 receives drive information and zoom information transmitted from the imaging device 10a through the I/F 210, and passes the received information to the learning unit 200.
  • the learning unit 200 trains a machine learning model using the line image data and row number/column number transmitted from the imaging device 10a, drive information and zoom information, and transmits the learned machine learning model to the I/F 210. from there to the imaging device 10a.
  • the imaging device 10a receives the machine learning model learned using the line image data, row number/column number, drive information, and zoom information transmitted from the learning device 20 through the I/F 106, and stores it in the parameter memory 151. Make me remember.
  • the first processing unit 142 uses the machine learning model stored in the parameter memory 151 to perform inference processing on the line image data stored in the line memory 150. Thereby, the imaging device 10a can perform inference processing regarding the presence or absence of a foreign object using the imaging direction, tilt angle, and zoom information in addition to the line image data and the row number/column number of the line image data. .
  • the present technology can also have the following configuration.
  • an imaging unit having a pixel area in which a plurality of pixels are arranged in a matrix, and reading and outputting pixel signals from pixels included in the pixel area; a first processing unit that infers the presence or absence of a foreign object for each row based on the pixel signals of pixels included in a designated row among the pixels included in the pixel region; Equipped with Imaging device.
  • the first processing unit includes: Inferring the presence or absence of the foreign object for each row using a model learned using information indicating the designated row and the pixel signal of the pixel included in the designated row; The imaging device according to (1) above.
  • the model is a model learned by supervised learning, The imaging device according to (2) above.
  • the first model is a model learned by unsupervised learning
  • the first processing unit includes: determining the degree of abnormality for each row using the model, and inferring the presence or absence of the foreign object for each row based on the determined degree of abnormality;
  • the imaging device is used by being attached to a fixed object using a fixture that can fix the imaging range by the imaging unit,
  • the first processing unit includes: When using the imaging device, using the model learned based on the pixel signal output by the imaging unit of the imaging device attached to the fixed object by the mounting tool in the used state, inferring the presence or absence of the foreign object for each row;
  • the imaging device according to any one of (2) to (4) above.
  • the imaging device is used by being attached to a fixed object using a fixture that allows the imaging range of the imaging unit to be changed according to control
  • the first processing unit includes: When the imaging device is used, the imaging device is trained based on the pixel signals output every time the imaging range is changed by the imaging unit of the imaging device attached by the mounting tool in the state of use. using the model for each range change to infer the presence or absence of the foreign object for each row according to the change in the imaging range; The imaging device according to any one of (2) to (4) above.
  • the first processing unit includes: When the imaging device is used under predetermined imaging conditions, the model trained in advance based on the pixel signals output by the imaging unit based on the predetermined imaging conditions is used to detect the foreign matter in each row.
  • the first processing unit includes: Inferring the presence or absence of the foreign object for each row specified intermittently for the pixel area; The imaging device according to any one of (1) to (7) above. (9) A window including three or more consecutive rows is set for the rows specified intermittently in the pixel area, and the first processing unit removes the foreign matter for each row included in the window. a second processing unit that determines the position of the foreign object based on each inference result in which the presence or absence of the foreign object is inferred; further comprising, The imaging device according to (8) above.
  • the second processing unit includes: determining the position of the foreign object based on a moving average of the inference results for each row included in the window; The imaging device according to (9) above.
  • the first processing unit includes: inferring the presence or absence of the foreign object for each row specified intermittently in a region of interest set for the pixel region; The imaging device according to any one of (1) to (10) above.
  • the first processing unit includes: Inferring the presence or absence of the foreign object for each row based on the pixel signals of pixels included in the specified column in the specified row among the pixels included in the pixel area; The imaging device according to any one of (1) to (11) above.
  • the first processing unit includes: inferring the presence or absence of the foreign object in the area specified by the specified row and the specified column;
  • a first processing step of inferring the presence or absence of a foreign object for each row based on the pixel signals of pixels included in a designated row among the pixels included in the pixel area; has, Imaging method.
  • an imaging step of reading and outputting pixel signals from pixels included in the pixel region by an imaging unit having a pixel region in which a plurality of pixels are arranged in a matrix;
  • a first processing step of inferring the presence or absence of a foreign object for each row based on the pixel signals of pixels included in a designated row among the pixels included in the pixel area; Imaging program to run.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Vascular Medicine (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Abstract

本開示に係る撮像装置は、複数の画素が行列状の配列で配置された画素領域を有し、前記画素領域に含まれる画素から画素信号を読み出して出力する撮像部(100)と、前記画素領域に含まれる画素のうち指定された行に含まれる画素の前記画素信号に基づき、前記行ごとに異物の有無を推論する第1処理部(142)と、を備える。

Description

撮像装置、撮像方法および撮像プログラム
 本開示は、撮像装置、撮像方法および撮像プログラムに関する。
 近年、監視用途などに用いられる小型カメラなどの撮像装置の高性能化に伴い、撮像画像に含まれる所定のオブジェクトを認識する画像認識機能を搭載する撮像装置が開発されている。
特開平10-247241号公報
 しかしながら、従来では、画像認識機能を実行するために、処理時間の増大やメモリ領域の圧迫が発生してしまうという課題が存在した。
 本開示は、画像認識機能の実現に伴う処理時間やメモリ領域を抑制可能な撮像装置、撮像方法および撮像プログラムを提供することを目的とする。
 本開示に係る撮像装置は、複数の画素が行列状の配列で配置された画素領域を有し、前記画素領域に含まれる画素から画素信号を読み出して出力する撮像部と、前記画素領域に含まれる画素のうち指定された行に含まれる画素の前記画素信号に基づき、前記行ごとに異物の有無を推論する第1処理部と、を備える。
実施形態に適用可能な監視システムの一例の構成を示す模式図である。 本開示の実施形態に係る推論処理を概略的に説明するための模式図である。 実施形態に係る撮像装置の一例の構成を示すブロック図である。 各実施形態に係る撮像装置のハードウェア構成の例を示す模式図である。 各実施形態に係る撮像装置を2層構造の積層型CISにより形成した例を示す図である。 各実施形態に係る撮像装置を3層構造の積層型CISにより形成した例を示す図である。 各実施形態に適用可能なセンサ部の一例の構成を示すブロック図である。 実施形態に係る認識処理部の機能を説明するための一例の機能ブロック図である。 実施形態に係る学習装置の一例のハードウェア構成を示すブロック図である。 実施形態に係る学習処理を概略的に説明するための模式図である。 実施形態に係る教師あり学習による処理をより具体的に説明するための模式図である。 実施形態に係る教師あり学習による処理をより具体的に説明するための模式図である。 実施形態に係る教師無し学習による処理をより具体的に説明するための模式図である。 実施形態に係る教師無し学習による処理をより具体的に説明するための模式図である。 教師無し学習による機械学習モデルで算出される異常度に基づく判定を説明するための模式図である。 実施形態に係る第1処理部による推論処理を説明するための模式図である。 実施形態に係る、第1処理部における処理の時系列的な推移を説明するための一例のシーケンス図である。 実施形態に適用な可能な、機械学習モデルに対して入力する画像データの入力単位を説明するための模式図である。 実施形態に適用な可能な、機械学習モデルから出力される画像データの出力単位を説明するための模式図である。 実施形態に係る推論処理部による推論処理を示す一例のフローチャートである。 第2処理部による統合処理を実行する前の推論結果の例を示す模式図である。 実施形態に係る、推論結果の移動平均算出処理をより具体的に説明するための模式図である。 実施形態に係る推論結果の出力方法について説明するための模式図である。 実施形態に係る推論結果の出力方法について説明するための模式図である。 実施形態に係る注目領域の設定の例を示す模式図である。 既存技術としての特許文献1に開示される技術を概略的に説明するための模式図である。 本開示の実施形態に係る技術を既存技術と対比させて説明するための模式図である。 実施形態の変形例に係る撮像装置の一例の構成を示すブロック図である。
 以下、本開示の実施形態について、図面に基づいて詳細に説明する。なお、以下の実施形態において、同一の部位には同一の符号を付することにより、重複する説明を省略する。
 以下、本開示の実施形態について、下記の順序に従って説明する。
1.実施形態
 1-1.実施形態の概要
 1-2.実施形態に係る構成
 1-3.実施形態に係る処理
  1-3-1.実施形態に係る学習処理
  1-3-2.実施形態に係る推論処理の詳細
  1-3-3.注目領域の設定について
 1-4.既存技術との対比
2.実施形態の変形例
(1.実施形態)
 本開示の実施形態について説明する。本開示の実施形態では、撮像装置として、壁や柱、天井などの固定物に取り付けられ、固定的な撮像範囲で撮像を行う、監視カメラなどの用途に用いられる固定カメラを想定する。実施形態では、当該固定カメラにより撮像された画像において、例えばユーザに指定されたラインごとに、異物の有無を検出する。ユーザは、異物の有無の検出を行うラインを、撮像画像に対して飛び飛びのラインとして指定してよい。
 固定カメラでは、撮像画像における画素値の確率分布がある程度固定される。そのため、固定カメラが有するセンサにおいて撮像素子(画素アレイ)から読み出すラインごとの背景と行番号を機械学習により学習し、背景に対して異物を含むか否かを推論する機械学習モデルを構築する。当該機械学習モデルにおいて、当該ラインの画像における数画素のずれは、背景として学習される。ここで構築される機械学習モデルは、ラインごとすなわち1次元での畳み込みを行う1次元CNN(Convolutional Neural Network)を適用でき、軽量なものとすることができる。
 なお、「背景」とは、撮像画像において、時間の経過に対して略変化しない領域やオブジェクトを指す。また、「異物」とは、「背景」に対して任意のタイミングで出現する、当該背景とは異なるオブジェクトをいう。「異物」は、人であってもよいし、動物であってもよい。また、「異物」は、自律的あるいはコントロールに従い動作する機械(ロボット)であってもよい。さらには、「異物」は、背景画像の一部としての物体が破損あるいは破壊された状態であってもよい。
 本開示の実施形態では、異物の有無の検出に係る画像認識を1ラインごとに実行するため、画像認識機能の実現に伴う処理時間やメモリ領域を抑制可能である。
(1-1.実施形態の概要)
 先ず、実施形態の概要ついて説明する。
 図1は、実施形態に適用可能な監視システムの一例の構成を示す模式図である。図1において、監視システム1は、ネットワーク2により互いに通信可能に接続される、撮像装置10と、学習装置20と、監視装置30と、を含む。ネットワーク2は、インターネットでもよいし、特定の施設内に構築されるLAN(Local Area Network)であってもよい。これに限らず、撮像装置10と、学習装置20と、監視装置30とがケーブルなどにより直接的に接続されていてもよい。
 撮像装置10は、建物の天井などの固定物11に取付具12により取り付けられて使用される。この例では、撮像装置10は、取付具12により、撮像範囲を固定とされて取り付けられている。すなわち、この例における撮像装置10は、使用時には、常に同じ撮像範囲を撮像し続ける。
 撮像装置10は、受光した光に応じた画素信号を出力する画素が行列状の配列で配置された画素アレイを含む撮像素子と、撮像素子により撮像された撮像画像に基づき認識処理を行う認識処理部を含む。撮像装置10が含む認識処理部は、機械学習により予め学習された機械学習モデルを用いて、撮像画像における指定されたラインの画像に対して認識処理を行い、異物の有無を推論する。撮像装置10は、撮像画像と、異物の有無の推論結果とを例えばネットワーク2に対して出力することができる。
 学習装置20は、例えば一般的なコンピュータを適用することができ、撮像装置10から出力された撮像画像における、指定されたラインの画像に基づき機械学習による学習を行い、機械学習モデルを構築する。学習装置20は、撮像画像に基づき構築した機械学習モデルを、当該撮像画像を出力した撮像装置10に送信する。学習装置20は、監視システム1が複数の撮像装置10を含む場合、これら複数の撮像装置10それぞれに対して、撮像画像に基づく機械学習モデルを構築することができる。
 また、学習装置20は、例えばユーザ操作に応じて、撮像装置10に対して、認識処理を行うラインを指定することができる。学習装置20は、監視システム1が複数の撮像装置10を含む場合、これら複数の撮像装置10それぞれに対して、ユーザ操作に応じて当該ラインを指定することができる。
 なお、図1では、撮像装置10と学習装置20とがネットワーク2を介して接続されるように示されているが、これはこの例に限定されない。例えば、撮像装置10と学習装置20とがネットワーク2を介さずに、優先あるいは無線通信により直接的に接続されていてもよい。
 監視装置30は、撮像装置10から出力された撮像画像および異物の有無の推論結果を表示装置に表示させることができる。また、監視装置30は、異物の有無の推論結果に基づきユーザに対して所定の通知を行ってよい。
 図2は、本開示の実施形態に係る推論処理を概略的に説明するための模式図である。図2において、撮像装置10の撮像素子から出力される撮像画像40は、背景の画像に対して、例えば人である異物41a、41bおよび41cを含んでいる。また、図2の例では、撮像装置10の撮像素子から出力される撮像画像40に対して、異物の有無の推論を行うラインが、画素アレイにおける画素配列の行r#1、r#2、…により指定される。各行r#1、r#2、…は、当該画素配列に含まれる各行に対して、飛び飛びに指定される。換言すれば、各行r#1、r#2、…は、当該画素配列に含まれる各行に対して、1行以上の間隔を開けて、各行r#1、r#2、…を指定する。
 撮像装置10は、撮像素子から、行r#1により示されるラインが読み出されると、読み出されたラインに対して異物の有無の推論処理を実行する。撮像装置10は、撮像素子から次の行r#2により示されるラインが読み出されると、読み出されたラインに対して異物の有無の推論処理を実行する。このように、撮像装置10は、各行r#1、r#2、…により示されるラインが読み出されるごとに、読み出されたラインの画像に基づき異物の有無の推論処理を実行する。
 図2の例では、撮像装置10は、行#1~#4、および、行#7により示されるラインの画像が「背景」(異物無し)であると推論している。一方、撮像装置10は、行#5および#6により示されるラインの画像は、異物41a、41bおよび41cの画像の一部を含んでいるため、「異物あり」であると推論している。撮像装置10は、各行#1~#7の推論結果をそれぞれ出力してもよいし、「異物あり」として推論された行#5および#6を含む範囲FMを、推論結果として出力してもよい。
 このように、本開示の実施形態では、異物の有無をラインごとに推論するため、処理に係る計算量および計算時間、メモリサイズを抑制することが可能である。
 なお、図2の例では、撮像装置10が撮像画像40の上端から下端に向けてラインを読み出しているが、これはこの例に限定されない。すなわち、撮像画像40におけるラインの読み出し順は、任意でよい。また、読み出すラインの間隔は、例えば監視対象に応じて適宜に設定してよい。
(1-2.実施形態に係る構成)
 次に、実施形態に係る構成について説明する。図3は、実施形態に係る撮像装置の一例の構成を示すブロック図である。図3に示されるように、実施形態に係る撮像装置10は、取付具12により天井、壁、柱などの固定物11に取り付けられ、撮像範囲を固定的とされて使用される。
 図3において、撮像装置10は、センサ部100と、センサ制御部101と、視認処理部102と、メモリ103と、認識処理部104と、出力制御部105と、インタフェース(I/F)106と、データ蓄積部130と、を含む。これらセンサ部100、センサ制御部101、視認処理部102、メモリ103、認識処理部104、出力制御部105、I/F106およびデータ蓄積部130は、例えばCMOS(Complementary Metal Oxide Semiconductor)を用いて一体的に形成されたCMOSイメージセンサ(CIS)として構成される。
 これに限らず、これらセンサ部100、センサ制御部101、視認処理部102、メモリ103、認識処理部104、出力制御部105、I/F106およびデータ蓄積部130の一部または全部を、互いに協働して動作する、独立したハードウェア回路により構成してもよい。
 センサ部100は、光学部120を介して受光面に照射された光に応じた画素信号を出力する。より具体的には、センサ部100は、少なくとも1つの光電変換素子を含む画素が行列状に配列される画素アレイを有する。画素アレイに行列状に配列される各画素により受光面が形成される。センサ部100は、さらに、画素アレイに含まれる各画素を駆動するための駆動回路と、各画素から読み出された信号に対して所定の信号処理を施して各画素の画素信号として出力する信号処理回路と、を含む。センサ部100は、画素領域に含まれる各画素の画素信号を、ディジタル形式の画像データとして出力する。
 以下、センサ部100が有する画素アレイにおいて、画素信号を生成するために有効な画素が配置される領域を、フレームと呼ぶ。フレームに含まれる各画素から出力された各画素信号に基づく画素データにより、フレーム画像データが形成される。また、センサ部100の画素の配列における各行をそれぞれラインと呼び、ラインに含まれる各画素から出力された画素信号に基づく画素データにより、ライン画像データが形成される。さらに、センサ部100が受光面に照射された光に応じた画素信号を出力する動作を、撮像と呼ぶ。センサ部100は、後述するセンサ制御部101から供給される撮像制御信号に従い、撮像の際の露出や、画素信号に対するゲイン(アナログゲイン)を制御される。
 センサ制御部101は、例えばマイクロプロセッサにより構成され、プログラムに従い、センサ部100からの画素データの読み出しを制御し、フレームに含まれる各画素から読み出された各画素信号に基づく画素データを出力する。センサ制御部101から出力された画素データは、視認処理部102および認識処理部104に渡される。センサ制御部101は、視認処理部102および認識処理部104の動作を、プログラムに従い制御してよい。
 また、センサ制御部101は、センサ部100における撮像を制御するための撮像制御信号を生成する。センサ制御部101は、例えば、後述する視認処理部102および認識処理部104からの指示に従い、撮像制御信号を生成する。撮像制御信号は、上述した、センサ部100における撮像の際の露出やアナログゲインを示す情報を含む。撮像制御信号は、さらに、センサ部100が撮像動作を行うために用いる制御信号(垂直同期信号、水平同期信号、など)を含む。センサ制御部101は、生成した撮像制御信号をセンサ部100に供給する。
 光学部120は、被写体からの光をセンサ部100の受光面に照射させるためのもので、例えばセンサ部100に対応する位置に配置される。光学部120は、例えば複数のレンズと、入射光に対する開口部の大きさを調整するための絞り機構と、受光面に照射される光の焦点を調整するためのフォーカス機構と、画角を調整するためのズーム機構と、を含む。光学部120は、受光面に光が照射される時間を調整するシャッタ機構(メカニカルシャッタ)をさらに含んでもよい。
 光学部120が有する絞り機構やフォーカス機構、シャッタ機構、ズーム機構は、センサ制御部101により制御するようにできる。これに限らず、光学部120における絞り、フォーカスおよびズームは、撮像装置10の外部から制御するようにもできる。また、光学部120を撮像装置10と一体的に構成することも可能である。
 視認処理部102は、センサ制御部101から渡された画素データに対して、メモリ103を用いて、人が視認するために適した画像を得るための処理を実行し、例えば一纏まりの画素データからなる画像データを出力する。例えば、視認処理部102は、ISP(Image Signal Processor)を含み、ISPが図示されないメモリに予め記憶されるプログラムを読み出して実行することで、当該視認処理部102が構成される。例えば、視認処理部102は、センサ部100から読み出された画像データをメモリ103に記憶する。視認処理部102は、メモリ103に所定量の画像データが記憶されると、メモリ103に記憶される画像データに対して所定の画像処理を実行する。
 例えば、視認処理部102は、センサ部100に含まれる各画素にカラーフィルタが設けられ、画素データがR(赤色)、G(緑色)、B(青色)の各色情報を持っている場合、デモザイク処理、ホワイトバランス処理などを実行することができる。また、視認処理部102は、視認処理に必要な画素データをセンサ部100から読み出すように、センサ制御部101に対して指示することができる。例えば、視認処理部102は、センサ制御部101に対して、センサ部100から1フレーム分の画素データを読み出すように指示してよい。視認処理部102により画素データが画像処理された画像データは、出力制御部105に渡される。
 認識処理部104は、センサ制御部101から渡された画像データに基づき、画像データによる画像に含まれるオブジェクトの認識処理を行う。本開示においては、認識処理部104は、例えばDSP(Digital Signal Processor)を含み、DSPが、教師あり学習あるいは教師無し学習により予め学習されメモリ103に学習機械学習モデルとして記憶されるプログラムを読み出して実行することで、DNN(Deep Neural Network)を用いた認識処理を行う。
 認識処理部104は、認識処理に必要な画素データをセンサ部100から読み出すように、センサ制御部101に対して指示することができる。実施形態では、認識処理部104は、センサ部100から、指定されたライン(行)の画素データを読み出すように、センサ制御部101に対して指示する。実施形態では、認識処理部104は、認識処理により、ラインごとに、異物の有無を推論する。認識処理部104によるラインごとの推論結果(認識結果)は、出力制御部105に渡される。
 出力制御部105は、例えばマイクロプロセッサにより構成され、認識処理部104から渡された各ラインの推論結果と、視認処理部102から視認処理結果として渡された画像データとを、データ蓄積部130に渡す。
 データ蓄積部130は、メモリを含み、認識処理部104から渡された各ラインの推論結果と、視認処理部102から渡された画像データとを記憶する。データ蓄積部130は、例えば撮像装置10の外部の機器からの要求に応じて、記憶した推論結果および画像データの一方または両方を、撮像装置10の外部に出力することができる。また、データ蓄積部130は、例えば学習装置20からの要求に応じて、記憶した画像データをI/F106に渡す。データ蓄積部130は、さらに、記憶した各ラインの推論結果をI/F106に渡してもよい。
 I/F106は、学習装置20とデータなどの送受信を行うためのインタフェースである。I/F106は、例えばネットワーク2に対する通信を行うインタフェースであってよい。また、撮像装置10は、撮像範囲を固定した固定カメラとして用いられるため、I/F106は、無線通信に対応していると、接触や衝撃などによる撮像範囲のブレを抑制可能となり好ましい。
 I/F106は、データ蓄積部130から渡された画像データを、学習装置20に送信する。同様に、I/F106は、データ蓄積部130から渡された画像データを、監視装置30に対して送信する。I/F106は、データ蓄積部130からラインごとの推論結果が渡された場合は、当該推論結果を学習装置20や監視装置30に対して送信してもよい。
 また、I/F106は、学習装置20から送信されたデータを受信する。例えば、I/F106は、学習装置20から送信された機械学習モデルを受信し、受信した機械学習モデルを認識処理部104に渡す。また例えば、I/F106は、学習装置20から送信された行番号を示す情報を受信し、受信した行番号を示す情報をセンサ制御部101に渡す。以下、特に記載の無い限り、「行番号を示す情報」を単に「行番号」と呼ぶ。
 図3において、学習装置20は、学習部200と、画像蓄積部201と、UI(User Interface)部202と、表示部203と、インタフェース(I/F)210と、を含む。
 I/F210は、撮像装置10とデータなどの送受信を行うためのインタフェースである。I/F210は、撮像装置10から送信された画像データを受信し、画像蓄積部201に渡す。画像蓄積部201は、I/F210から渡された画像データを、メモリなど記憶媒体に記憶させる。
 学習部200は、画像蓄積部201に記憶された画像データから、例えばUI部202により指定されたライン画像データを抽出し、機械学習により、教師あり学習あるいは教師無し学習により異物の有無の推論に関する学習を行い、機械学習モデルを構築する。学習部200は、構築した機械学習モデルを、I/F210から撮像装置10に送信する。撮像装置10において、I/F106は、学習装置20から送信された機械学習モデルを受信し、受信した機械学習モデルを認識処理部104に渡す。
 UI部202は、ユーザ操作に関するインタフェースを構成する。UI部202は、例えば学習装置20が有する入力デバイス(キーボードなど)に対するユーザ操作を受け付ける。また、UI部202は、ユーザに提示するための画像を生成し、生成した画像を表示部203に渡す。表示部203は、UI部202から渡された画像を表示装置(図示しない)に表示させるための表示制御情報を生成する。
 UI部202は、例えば、ユーザ操作により、異物の有無の推論を行うラインを示す行番号(場合によっては行番号および列番号)の情報が入力され、当該推論を行うラインが指定される。行番号は、例えば行ごとに1ずつ増加する行番号において、飛び飛びの行番号が指定される。飛び飛びの行番号とは、指定された各行番号の間に、1以上の指定されていない行番号が含まれることをいう。UI部202は、入力された行番号を、I/F210から撮像装置10に対して送信する。撮像装置10において、I/F106は、学習装置20から送信された行番号を受信し、受信した行番号を認識処理部104に渡す。
 図4は、各実施形態に係る撮像装置10のハードウェア構成の例を示す模式図である。図4の例では、1つのチップ50に対して、図1に示した構成のうちセンサ部100、センサ制御部101、認識処理部104、メモリ103、視認処理部102、出力制御部105、I/F106およびデータ蓄積部130が搭載されている。なお、図4において、メモリ103、出力制御部105、I/F106およびデータ蓄積部130は、煩雑さを避けるため省略されている。なお、データ蓄積部130は、チップ50の外部に構成してもよい。
 図4に示す構成では、認識処理部104による推論結果は、図示されないI/F106を介してチップ50の外部に出力される。また、図4の構成においては、認識処理部104は、認識に用いるための画素データ(ライン画像データ)を、センサ制御部101から、チップ50の内部のインタフェースを介して取得できる。
 上述した図4に示す構成において、撮像装置10は、1つの基板上に形成することができる。これに限らず、撮像装置10を、複数の半導体チップが積層され一体的に形成された積層型CISとしてもよい。
 一例として、撮像装置10を、半導体チップを2層に積層した2層構造により形成することができる。図5Aは、各実施形態に係る撮像装置10を2層構造の積層型CISにより形成した例を示す図である。図5Aの構造では、第1層の半導体チップに画素部500aを形成し、第2層の半導体チップにメモリ+ロジック部500bを形成している。画素部500aは、少なくともセンサ部100における画素アレイを含む。メモリ+ロジック部500bは、例えば、センサ制御部101、認識処理部104、メモリ103、視認処理部102、出力制御部105およびI/F106を含む。メモリ+ロジック部500bは、さらに、センサ部100における画素アレイを駆動する駆動回路の一部または全部を含む。
 図5Aの右側に示されるように、第1層の半導体チップと、第2層の半導体チップとを電気的に接触させつつ貼り合わせることで、撮像装置10を1つの固体撮像素子として構成する。
 別の例として、撮像装置10を、半導体チップを3層に積層した3層構造により形成することができる。図5Bは、各実施形態に係る撮像装置10を3層構造の積層型CISにより形成した例を示す図である。図5Bの構造では、第1層の半導体チップに画素部500aを形成し、第2層の半導体チップにメモリ部500cを形成し、第3層の半導体チップにロジック部500b’を形成している。この場合、ロジック部500b’は、例えば、センサ制御部101、認識処理部104、視認処理部102、出力制御部105およびI/F106を含む。また、メモリ部500cは、メモリ103と、例えば認識処理部104が認識処理のために用いるメモリと、を含むことができる。当該メモリは、ロジック部500b’に含めてもよい。
 図5Bの右側に示されるように、第1層の半導体チップと、第2層の半導体チップと、第3層の半導体チップとを電気的に接触させつつ貼り合わせることで、撮像装置10を1つの固体撮像素子として構成する。
 図6は、各実施形態に適用可能なセンサ部100の一例の構成を示すブロック図である。図6において、センサ部100は、画素アレイ部1001と、垂直走査部1002と、AD(Analog to Digital)変換部1003と、画素信号線1006と、垂直信号線VSLと、制御部1100と、信号処理部1101と、を含む。なお、図6において、制御部1100および信号処理部1101は、例えば図1に示したセンサ制御部101に含まれるものとすることもできる。
 画素アレイ部1001は、それぞれ受光した光に対して光電変換を行う、例えばフォトダイオードによる光電変換素子と、光電変換素子から電荷の読み出しを行う回路と、を含む複数の画素回路1000を含む。画素アレイ部1001において、複数の画素回路1000は、水平方向(行方向)および垂直方向(列方向)に行列状の配列で配置される。画素アレイ部1001において、画素回路1000の行方向の並びをラインと呼ぶ。図6の例では、行r1、r2、…、rpのそれぞれにおいて、その行rnに含まれる複数の画素回路1000により、ラインが構成される。
 例えば、1920画素×1080ラインで1フレームの画像が形成される場合、画素アレイ部1001は、少なくとも1920個の画素回路1000が含まれるラインを、少なくとも1080ライン、含む。フレームに含まれる画素回路1000から読み出された画素信号により、1フレームの画像(画像データ)が形成される。
 ラインは、単に「行」と呼ばれることもある。また、各ラインは、ライン番号により識別することができる。ライン番号は、例えば、画素アレイ部1001の一端から他端に向けて1ずつ増加する数字を適用することができる。図6の例では、ライン番号は、画素アレイ部1001の図において上端側の行r1のラインが「1」とし、下端側に向けてラインごとに「2」、「3」、…、「p」のように、1ずつ増加して付加される。
 以下、センサ部100においてフレームに含まれる各画素回路1000から画素信号を読み出す動作を、適宜、フレームから画素を読み出す、などのように記述する。また、フレームに含まれるラインが有する各画素回路1000から画素信号を読み出す動作を、適宜、ラインを読み出す、あるいは、ライン画像を読み出す、などのように記述する。また、画素アレイ部1001における行番号nの行を行rnのように記述し、撮像画像から飛び飛びに指定された行r#nと区別する。
 画素アレイ部1001には、各画素回路1000の行および列に対し、行毎に画素信号線1006が接続され、列毎に垂直信号線VSLが接続される。画素信号線1006の画素アレイ部1001と接続されない端部は、垂直走査部1002に接続される。垂直走査部1002は、後述する制御部1100の制御に従い、画素から画素信号を読み出す際の駆動パルスなどの制御信号を、画素信号線1006を介して画素アレイ部1001へ伝送する。垂直信号線VSLの画素アレイ部1001と接続されない端部は、AD変換部1003に接続される。画素から読み出された画素信号は、垂直信号線VSLを介してAD変換部1003に伝送される。
 画素回路1000からの画素信号の読み出し制御について、概略的に説明する。画素回路1000からの画素信号の読み出しは、露出により光電変換素子に蓄積された電荷を浮遊拡散層(FD;Floating Diffusion)に転送し、浮遊拡散層において転送された電荷を電圧に変換することで行う。浮遊拡散層において電荷が変換された電圧は、アンプを介して垂直信号線VSLに出力される。
 より具体的には、画素回路1000において、露出中は、光電変換素子と浮遊拡散層との間をオフ(開)状態として、光電変換素子において、光電変換により入射された光に応じて生成された電荷を蓄積させる。露出終了後、画素信号線1006を介して供給される選択信号に応じて浮遊拡散層と垂直信号線VSLとを接続する。さらに、画素信号線1006を介して供給されるリセットパルスに応じて浮遊拡散層を電源電圧VDDまたは黒レベル電圧の供給線と短期間において接続し、浮遊拡散層をリセットする。垂直信号線VSLには、浮遊拡散層のリセットレベルの電圧(電圧Aとする)が出力される。その後、画素信号線1006を介して供給される転送パルスにより光電変換素子と浮遊拡散層との間をオン(閉)状態として、光電変換素子に蓄積された電荷を浮遊拡散層に転送する。垂直信号線VSLに対して、浮遊拡散層の電荷量に応じた電圧(電圧Bとする)が出力される。
 AD変換部1003は、垂直信号線VSL毎に設けられたAD変換器1007と、参照信号生成部1004と、水平走査部1005と、を含む。AD変換器1007は、画素アレイ部1001の各列(カラム)に対してAD変換処理を行うカラムAD変換器である。AD変換器1007は、垂直信号線VSLを介して画素回路1000から供給された画素信号に対してAD変換処理を施し、ノイズ低減を行う相関二重サンプリング(CDS:Correlated Double Sampling)処理のための2つのディジタル値(電圧Aおよび電圧Bにそれぞれ対応する値)を生成する。
 AD変換器1007は、生成した2つのディジタル値を信号処理部1101に供給する。信号処理部1101は、AD変換器1007から供給される2つのディジタル値に基づきCDS処理を行い、ディジタル信号による画素信号(画素データ)を生成する。信号処理部1101により生成された画素データは、センサ部100の外部に出力される。
 参照信号生成部1004は、制御部1100から入力される制御信号に基づき、各AD変換器1007が画素信号を2つのディジタル値に変換するために用いるランプ信号を参照信号として生成する。ランプ信号は、レベル(電圧値)が時間に対して一定の傾きで低下する信号、または、レベルが階段状に低下する信号である。参照信号生成部1004は、生成したランプ信号を、各AD変換器1007に供給する。参照信号生成部1004は、例えばDAC(Digital to Analog Converter)などを用いて構成される。
 参照信号生成部1004から、所定の傾斜に従い階段状に電圧が降下するランプ信号が供給されると、カウンタによりクロック信号に従いカウントが開始される。コンパレータは、垂直信号線VSLから供給される画素信号の電圧と、ランプ信号の電圧とを比較して、ランプ信号の電圧が画素信号の電圧を跨いだタイミングでカウンタによるカウントを停止させる。AD変換器1007は、カウントが停止された時間のカウント値に応じた値を出力することで、アナログ信号による画素信号を、ディジタル値に変換する。
 AD変換器1007は、生成した2つのディジタル値を信号処理部1101に供給する。信号処理部1101は、AD変換器1007から供給される2つのディジタル値に基づきCDS処理を行い、ディジタル信号による画素信号(画素データ)を生成する。信号処理部1101により生成されたディジタル信号による画素信号は、センサ部100の外部に出力される。
 水平走査部1005は、制御部1100の制御の下、各AD変換器1007を所定の順番で選択する選択走査を行うことによって、各AD変換器1007が一時的に保持している各ディジタル値を信号処理部1101へ順次出力させる。水平走査部1005は、例えばシフトレジスタやアドレスデコーダなどを用いて構成される。
 制御部1100は、センサ制御部101から供給される撮像制御信号に従い、垂直走査部1002、AD変換部1003、参照信号生成部1004および水平走査部1005などの駆動制御を行う。撮像制御信号は、垂直同期信号または外部トリガ信号と、水平同期信号と、を含んでよい。また、撮像制御信号は、画素信号の読み出しを行う行を示す行番号を含んでよい。撮像制御信号は、画素信号の読み出しを行う列を示す列番号を含んでもよい。
 制御部1100は、垂直走査部1002、AD変換部1003、参照信号生成部1004および水平走査部1005の動作の基準となる各種の駆動信号を生成する。制御部1100は、例えば、撮像制御信号に含まれる垂直同期信号または外部トリガ信号と、水平同期信号とに基づき、垂直走査部1002が画素信号線1006を介して各画素回路1000に供給するための制御信号を生成する。制御部1100は、生成した制御信号を垂直走査部1002に供給する。
 また、制御部1100は、例えば、センサ制御部101から供給される撮像制御信号に含まれる、アナログゲインを示す情報をAD変換部1003に渡す。AD変換部1003は、このアナログゲインを示す情報に応じて、AD変換部1003に含まれる各AD変換器1007に垂直信号線VSLを介して入力される画素信号のゲインを制御する。
 垂直走査部1002は、制御部1100から供給される制御信号に基づき、画素アレイ部1001の選択された画素行の画素信号線1006に駆動パルスを含む各種信号を、ライン毎に各画素回路1000に供給し、各画素回路1000から、画素信号を垂直信号線VSLに出力させる。このとき、垂直走査部1002は、制御部1100から供給される制御信号に含まれる行番号に従い、画素アレイ部1001の、行番号により指定された行rnのラインの各画素回路1000から、画素信号を読み出すことができる。
 垂直走査部1002は、例えばシフトレジスタやアドレスデコーダなどを用いて構成される。また、垂直走査部1002は、制御部1100から供給される露出を示す情報に応じて、各画素回路1000における露出を制御する。
 なお、制御部1100は、垂直走査部1002に画素信号の読み出しが指示された行rnの行番号を、センサ部100の外部に出力する。制御部1100は、さらに画素信号を読み出す列が指示された場合には、読み出しが指示された列cnを示す列番号を、センサ部100の外部に出力する。制御部1100は、画素信号を読み出す列が指示された場合、例えば各AD変換器1007の出力を制御することで、指示された列の画素信号を選択的に出力させることができる。
 このように構成されたセンサ部100は、AD変換器1007が列毎に配置されたカラムAD方式のCMOS(Complementary Metal Oxide Semiconductor)イメージセンサである。
 図7は、実施形態に係る認識処理部104の機能を説明するための一例の機能ブロック図である。
 なお、図7において、学習装置20は、例えばUI部202に対するユーザ操作に応じて、センサ部100から読み出す行rnを指定する行番号を生成し、生成した行番号をI/F210から撮像装置10に送信する。撮像装置10は、学習装置20から送信された行番号をI/F106により受信し、センサ部100に対する設定情報としてレジスタ107に書き込む。センサ制御部101は、レジスタ107から設定情報を読み出して、設定情報に示される行番号に示される行rnの読み出しを指示する。また、学習装置20は、学習部200により構築された機械学習モデルを、I/F210から撮像装置10に送信する。
 図7において、認識処理部104は、推論処理部140と、ラインメモリ150と、パラメータメモリ151と、を含む。
 ラインメモリ150は、少なくともセンサ部100における1ラインに含まれる画素データを記憶可能な容量を有する。ラインメモリ150は、センサ制御部101がレジスタ107から読み出した行番号に従いセンサ部100から読み出された、当該行番号に示される1ラインに含まれる画素データを記憶する。パラメータメモリ151は、学習装置20から送信されI/F106により受信された、学習部200により構築された機械学習モデルが記憶される。
 なお、以下では、1ラインに含まれる画素データを、ライン画像データと呼び、ライン画像データによる画像をライン画像と呼ぶ。
 推論処理部140は、処理制御部141と、第1処理部142と、第2処理部143と、を含む。処理制御部141は、第1処理部142および第2処理部143の動作を制御する。
 第1処理部142は、パラメータメモリ151に記憶された機械学習モデルを用いて、ラインメモリ150に記憶されたライン画像データに対して異物の有無の推論処理を実行する。第1処理部142による異物の有無の推論結果は、当該ライン画像データに対応する行番号と共に、第2処理部143に渡される。また、推論結果は、当該ライン画像データに対応する行番号と共に、出力制御部105に渡され、データ蓄積部130に記憶される。このように、第1処理部142は、画素領域に含まれる画素のうち指定された行に含まれる画素の画素信号に基づき、行ごとに異物の有無を推論する処理部として機能する。
 第2処理部143は、データ蓄積部130に記憶された、第1処理部142による推論結果を用いて、異物の位置を判定する。例えば、第2処理部143は、データ蓄積部130から、第1処理部142によるライン(行)の推論結果と、当該推論結果が得られたライン(行)の行番号と、を取得する。第2処理部143は、行番号が飛び飛びに指定された各行のうち、連続して並ぶ3以上のライン(行)を含む組に対して、当該組に含まれるラインごとの第1処理部142による各推論結果に基づき、センサ部100により撮像された撮像画像における異物の位置を判定する。
 第2処理部143は、判定された異物の位置を示す情報を、出力制御部105を介してデータ蓄積部130に記憶させる。
 図8は、実施形態に係る学習装置20の一例のハードウェア構成を示すブロック図である。
 図8において、学習装置20は、CPU(Central Processing Unit)2000と、ROM(Read Only Memory)2001と、RAM(Random Access Memory)2002と、表示制御部2003と、ストレージ装置2004と、データI/F2005と、通信I/F2006と、を含む。このように、学習装置20は、一般的なコンピュータの構成を適用することができる。
 ストレージ装置2004は、例えばハードディスクドライブやフラッシュメモリといった不揮発性の記憶媒体である。CPU2000は、ROM2001およびストレージ装置2004に記憶されるプログラムに従い、RAM2002をワークメモリとして用いて、この学習装置20の全体の動作を制御する。
 表示制御部2003は、CPU2000から渡された表示制御情報に基づき、表示装置2020が対応可能な表示信号を生成し、表示装置2020に渡す。表示装置2020は、例えばLCD(Liquid Crystal Display)といった表示デバイスと、表示デバイスを駆動するための駆動回路とを含む。表示装置2020は、表示制御部2003から渡された表示信号に従い、表示デバイスに対して画像を表示する。
 データI/F2005は、この学習装置20と外部の機器との間でデータの送受信を行うためのインタフェースである。また、データI/F2005に対して、ユーザ操作を受け付ける入力デバイス2021を接続してよい。入力デバイス2021の種類は特に限定されないが、例えばマウスなどのポインティングデバイスや、キーボードを適用することができる。上述したUI部202は、入力デバイス2021と、表示装置2020に対する画像の表示により、ユーザインタフェースを実現してよい。
 通信I/F2006は、この学習装置20の外部に対する通信を制御する。例えば、通信I/F2006は、ネットワーク2に対する通信を制御する。通信I/F2006は、撮像装置10と無線通信などにより直接的に通信を行ってもよい。
 学習装置20において、CPU2000は、実施形態に係る機能を実現するためのプログラムが実行されることで、上述した学習部200、画像蓄積部201、UI部202および表示部203を、RAM2002における主記憶領域上に、それぞれ例えばモジュールとして構成する。
 当該プログラムは、例えば通信I/F2006を介した通信により、例えばネットワーク2を介して外部から取得し、当該学習装置20上にインストールすることが可能とされている。これに限らず、当該プログラムは、CD(Compact Disk)やDVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリといった着脱可能な記憶媒体に記憶されて提供されてもよい。
(1-3.実施形態に係る処理)
 次に、実施形態に係る処理について説明する。
(1-3-1.実施形態に係る学習処理)
 先ず、実施形態に係る学習処理について説明する。図9は、実施形態に係る学習処理を概略的に説明するための模式図である。実施形態では、異常の有無の推論に用いる機械学習モデルとして、図9のセクション(a)に示される、教師あり学習により構築した機械学習モデル90と、同図セクション(b)に示される、教師無し学習により構築した機械学習モデル91と、の何れも適用可能である。
 より具体的には、図9のセクション(a)に示す機械学習モデル90は、異物の有無を示す異常ラベルが付された画像(ライン画像)を教師データとして用いた教師あり学習により、構築される。この機械学習モデル90に対して、センサ部100により撮像された撮像画像において指定された行rnのライン画像データを入力することで、当該行rnにおける異物の有無が推論される。
 一方、図9のセセクション(b)に示す機械学習モデル91は、異物を含まない画像(ライン画像)を学習データとして用いた教師無し学習により、構築される。この機械学習モデル91に対して、センサ部100により撮像された撮像画像において指定された行rnのライン画像データを入力することで、当該行rnにおける異常度が推論される。異常度は、例えば、その行rnに異物が含まれる度合いを示す。
(教師あり学習について)
 図10Aおよび図10Bは、実施形態に係る教師あり学習による処理をより具体的に説明するための模式図である。
 図10Aは、教師あり学習による機械学習モデル90の構築処理を説明するための模式図である。例えば、指定された行rnのライン画像に異物(この例では人)が含まれない画像45aに「異物無し」を示す異常ラベル92aを付加したデータと、当該行rnのライン画像に異物が含まれる画像45bに「異物あり」を示す異常ラベル92bを付加したデータと、を教師データとして用意する。学習装置20において、学習部200は、用意された各教師データを機械学習モデル90に入力して、当該機械学習モデル90を学習させる。学習された機械学習モデル90は、学習装置20から撮像装置10に送信され、撮像装置10の推論処理部140におけるパラメータメモリ151に記憶される。
 図10Bは、教師あり学習による機械学習モデル90による推論処理を説明するための模式図である。例えば、撮像装置10の推論処理部140において、第1処理部142は、パラメータメモリ151に記憶される機械学習モデル90を読み込む。
 第1処理部142は、例えば指定された行rnに異物を含まない画像46aにおいてラインメモリ150に記憶される、当該行rnのライン画像データを機械学習モデル90に入力して推論処理を行い、「異物無し」を示す異常ラベル92を取得する。また例えば、第1処理部142は、例えば指定された行rnに異物を含む画像46bにおいてラインメモリ150に記憶される、当該行rnのライン画像データを機械学習モデル90に入力して推論処理を行い、「異物あり」を示す異常ラベル92を取得する。
(教師無し学習について)
 図11Aおよび図11Bは、実施形態に係る教師無し学習による処理をより具体的に説明するための模式図である。
 図11Aは、教師無し学習による機械学習モデル91の構築処理を説明するための模式図である。例えば、指定された行rnのライン画像に異物(この例では人)が含まれない画像45aを学習データとして用意する。学習装置20において、学習部200は、用意された教師データを機械学習モデル91に入力して、当該機械学習モデル91を学習させる。学習された機械学習モデル91は、学習装置20から撮像装置10に送信され、撮像装置10の推論処理部140におけるパラメータメモリ151に記憶される。
 図11Bは、教師無し学習による機械学習モデル91による推論処理を説明するための模式図である。例えば、撮像装置10の推論処理部140において、第1処理部142は、パラメータメモリ151に記憶される機械学習モデル91を読み込む。
 第1処理部142は、例えば指定された行rnに異物を含まない画像46aにおいてラインメモリ150に記憶される、当該行rnのライン画像データを機械学習モデル91に入力して推論処理を行い、小さい値(例えば閾値以下の値)を示す異常度93aを算出する。また例えば、第1処理部142は、例えば指定された行rnに異物を含む画像46bにおいてラインメモリ150に記憶される、当該行rnのライン画像データを機械学習モデル91に入力して推論処理を行い、大きい値(例えば閾値を超える超える値)を示す異常度93bを算出する。
 なお、異常度の判定を行うための閾値は、学習部200による機械学習により設定してもよいし、ユーザが例えば学習装置20に対するユーザ操作により設定してもよい。
 図12は、図11Bを用いて説明した、教師無し学習による機械学習モデル91で算出される異常度に基づく判定を説明するための模式図である。図12において、横軸が異常度、縦軸があるデータについて横軸に示される異常度が算出された数を示している。
 図12の例では、あるデータについて算出された異常度の分布94aあるいは分布94bに基づき、異常度の大小を判定している。分布94aは、図11Bにおける、画像46aにおいて指定された、異物無しの行rnのライン画像データに基づき算出された異常度の分布の例を示している。また、分布94bは、図11Bにおける、画像46bにおいて指定された、異物ありの行rnのライン画像データに基づき算出された異常度の分布の例を示している。
 例えば、第1処理部142は、分布94aあるいは分布94bにおいて、異常度の代表値(最大値、中央値、平均値など)を求め、求めた代表値を閾値と比較して、異常度の大小を判定してよい。図12の例では、第1処理部142は、代表値が閾値以下である分布94aに対応する異常度を、小さい異常度93aと判定する。一方、第1処理部142は、代表値が閾値を超えている分布94bに対応する異常度を、大きい異常度93bと判定する。
 図13は、実施形態に係る第1処理部142による推論処理を説明するための模式図である。実施形態では、第1処理部142は、CNN(Convolutional Neural Network)62による機械学習モデルを用いて、指定された行rnのライン画像データに対する異物の有無の推論を行う。ここでは、CNN62が、図9のセクション(a)で説明した教師あり学習により構築された機械学習モデル90によるネットワークであるものとして、説明を行う。
 図13において、行r#n-2、r#n-1、r#n、r#n+1およびr#n+2を含む画像60を考える。第1処理部142は、画像60に含まれる、推論対象として指定された行番号nである行r#nのライン画像61のライン画像データをラインメモリ150から読み出す。第1処理部142は、読み出したライン画像61のライン画像データと、当該ライン画像61の行番号nと、をCNN62に入力する。CNN62は、入力されたライン画像61のライン画像データに対して、1次元の畳込み処理を実行する。CNN62は、畳み込み処理の結果に応じて、例えば「異物あり」を示す異常ラベル92を、行番号nである行r#nの類推結果として出力する。
 このように、実施形態では、推論処理部140は、第1処理部142により、例えば画像60における水平方向の、1次元の空間特徴量に基づき異物の有無を推論する。推論処理部140は、画像60において推論対象として指定される全ての行rnのライン画像について推論処理を実行した時点で、推論結果を出力する。
 また、推論処理部140は、画像60において指定された行rnごとに推論処理を実行するため、当該推論処理に、画像60の垂直方向の画素分布情報も用いているといえる。すなわち、画像60が、垂直方向の位置に応じて異なる空間特徴量を有している場合、例えば画像60の上半分が空、下半分が地面の場合に、所定の画素値を空部分および地面部分の何れに適用するかで、当該画素値の持つ意味合いが異なってくる。これは、画像60の垂直方向の画素分布情報を利用していることを意味する。
 実施形態では、第1処理部142は、指定された行rnのラインのライン画像データを読み込んだ後、当該ラインの行番号nと、当該ラインにおける読み込み単位(後述する)の画像データとを機械学習モデル(この例ではCNN62)に入力する。第1処理部142は、入力された読み込み単位の画像データと行番号nとに基づき、当該行番号nのラインにおける水平方向の空間情報を用いると共に、当該ラインに対する垂直方向の画素分布情報を用いて、1行ごとに推論処理を行い推論結果を出力する。
 図14は、実施形態に係る、第1処理部142における処理の時系列的な推移を説明するための一例のシーケンス図である。ここでは、センサ部100により撮像された撮像画像に対して、飛び飛びの行r#10、r#11、r#12およびr#13が指定されたものとして説明を行う。
 センサ部100により、行r#10が時間t10から時間t11で読み出され、行r#10のライン画像データがラインメモリ150に記憶される。第1処理部142は、例えば時間t11においてラインメモリ150から行r#10のライン画像データを読み出し、CNN62による推論処理を実行する。CNN62による推論処理の推論結果は、行r#10の行番号rnと関連付けられて、例えば出力制御部105を介してデータ蓄積部130に記憶される。推論結果は、行ごとに、例えば異物の有無が値「0」あるいは値「1」で示す情報で表してよい。
 次に、センサ部100により、行r#11が時間t12から時間t13で読み出され、行r#11のライン画像データがラインメモリ150に記憶される。第1処理部142は、例えば時間t13においてラインメモリ150から行r#10のライン画像データを読み出し、CNN62による推論処理を実行する。
 以降、同様にして、センサ部100により、行r#12が時間t14から時間t15で読み出され、第1処理部142が時間t15からCNN62による推論処理を実行し、推論結果を出力する。さらに、センサ部100により、行r#13が時間t16から時間t17で読み出され、第1処理部142が時間t17からCNN62による推論処理を実行し、推論結果を出力する。
 センサ部100により撮像された撮像画像に対する推論処理のレイテンシは、センサ部100から、指定された最初の行r#10のライン画像データの読み出しが開始される時間t10から、指定された最後の行r#13に対する第1処理部142による推論処理が完了する時間t20までの時間となる。実施形態では、撮像画像に対して指定された行のライン画像データに対してのみ、推論処理が実行されるため、例えば撮像画像に含まれる全ての行のライン画像データを用いて推論処理を行う場合に比べて、レイテンシを小さくすることができる。
 なお、図14では、センサ部100による1本のライン画像データの読み出しが終了してから、第1処理部142におけるCNN62による推論処理が実行されるように示しているが、これはこの例に限定されない。例えば、センサ部100は、第1処理部142による推論処理の実行中に、次のライン画像データを読み出してよい。このようにすることで、推論処理のレイテンシを更に小さくすることが可能である。
 このように、実施形態では、センサ部100から読み出された1行ごとに、第1処理部142による推論処理を実行している。そのため、推論処理に要する演算時間を行ごとに略一定とすることができると共に、演算過程を保持するメモリの容量を抑制できる。
(機械学習モデルにおけるデータの入出力単位)
 次に、実施形態に適用可能な、第1処理部142での、機械学習モデルにおけるデータの入出力単位について説明する。
 図15は、実施形態に適用な可能な、機械学習モデルに対して入力する画像データの入力単位を説明するための模式図である。図15のセクション(a)は、画像82において指定された1行の全体の画像83を、機械学習モデルの入力単位とする例である。この場合、第1処理部142は、次の(1)~(4)に示す4通りのうち何れかを、機械学習モデルに入力する。
(1)画像83のみ。
(2)画像83と当該画像83に対応する行番号。
(3)画像83と当該画像83に対応する列番号。
(4)画像83と当該画像83に対応する行番号および列番号。
 これらのうち、(3)および(4)において、列番号は、画像83おいて注目すべき範囲の一端および他端の列の列番号を適用してよい。
 図15のセクション(b)は、画像82において指定された1行の一部の範囲の画像84を、機械学習モデルの入力単位とする例である。この場合、第1処理部142は、次の(5)~(8)に示す4通りのうち何れかを、機械学習モデルに入力する。
(5)画像84のみ。
(6)画像84と当該画像84に対応する行番号。
(7)画像84と当該画像84に対応する列番号。
(8)画像84と当該画像84に対応する行番号および列番号。
 これらのうち、(7)および(8)において、列番号は、画像84が含まれる行における、当該画像84に対応する範囲の一端の列の列c#m-1を示す列番号と他端の列の列c#m+1を示す列番号とを適用してよい。
 なお、図15のセクション(a)および(b)において、上述の(3)、(4)、(7)および(8)のように、機械学習モデルに入力するデータに行番号および列番号を含めることで、当該行番号および列番号で示される範囲の画素値が正常であるか否かを判定することができる。一例として、当該範囲が「森」を撮像している範囲である場合、画素値が「緑」を示していれば正常、「緑」以外の色(人の肌の色など)を示していれば、正常ではないと判断でき、正常ではない場合には、異物ありと推論することが可能である。
 図16は、実施形態に適用な可能な、機械学習モデルから出力される画像データの出力単位を説明するための模式図である。図16のセクション(a)は、画像82において指定された1行の全体の画像83を、推論結果の出力単位とする例である。セクション(b)は、画像82において指定された1行の一部の範囲(この例では、行r#nにおける列c#m-1~c#m+1の範囲)の画像84を、推論結果の出力単位とする例である。また、セクション(c)は、画像82において指定された1行における特定の1つの画素85(この例では、行r#nにおける列c#m)を、推論結果の出力単位とする例である。
 なお、図16のセクション(a)~(c)の何れの例においても、機械学習モデルとして教師あり学習による機械学習モデル90を用いた場合には、推論結果として「異物あり」または「異物無し」が出力単位ごとに出力される。一方、機械学習モデルとして教師あり学習による機械学習モデル90を用いた場合には、推論結果として「異常度」が出力単位ごとに出力される。
(1-3-2.実施形態に係る推論処理の詳細)
 次に、実施形態に係る推論処理について、より詳細に説明する。
 図17は、実施形態に係る推論処理部140による推論処理を示す一例のフローチャートである。なお、図17のフローチャートによる処理に先立って、推論対象となる1以上の行r#nが、フレーム画像における各行に対して飛び飛びに指定され、指定された各行r#nを示す情報がレジスタ107に書き込まれているものとする。
 図17において、ステップS100で、推論処理部140は、パラメータメモリ151から機械学習モデルを読み込む。次のステップS101で、センサ制御部101は、センサ部100によるフレームの読み出しを開始する。次のステップS102で、センサ制御部101は、フレームから、類推処理の対象として指定された、行r#nで示される行のライン画像データを読み出して、ラインメモリ150に記憶させる。また、センサ制御部101は、読み出した当該ライン画像データの行を示す行番号を、ライン画像データと共にラインメモリ150に記憶させる。
 なお、推論処理の対象として、行番号と共に列番号が指定されている場合、センサ制御部101は、指定された列番号を、ライン画像データおよび行番号と共に、ラインメモリ150に記憶させる。
 次のステップS103で、推論処理部140は、第1処理部142により、ラインメモリ150からライン画像データを取得する。また、ステップS103と並列的に実行可能なステップS104で、推論処理部140は、第1処理部142により、ラインメモリ150から行番号を取得する。推論処理部140は、列番号がさらに指定されている場合、ステップS104で、行番号と共に列番号を取得する。
 ステップS103およびステップS104の処理の後、処理がステップS105に移行される。
 ステップS105で、第1処理部142は、指定された行のライン画像データに対する、機械学習モデルによる推論処理を実行する。より具体的には、第1処理部142は、ステップS104で取得した行番号と、ステップS103で取得したライン画像データとを機械学習モデルに入力し、推論処理を実行する。第1処理部142は、当該行番号で示される行のライン画像データに対する推論結果を、当該行番号と共に、データ蓄積部130に記憶させる。
 次のステップS106で、推論処理部140は、ステップS101で読み出しが開始された1フレーム分の推論処理が完了したか否かを判定する。推論処理部140は、1フレーム分の推論処理が完了していないと判定した場合(ステップS106、「No」)、処理をステップS107に移行させ、次の推論対象の行r#n+1を指定する。ステップS107の処理の後、処理がステップS102に移行される。
 一方、推論処理部140は、ステップS106で1フレーム分の推論処理が完了したと判定した場合(ステップS106、「Yes」)、処理をステップS108に移行させる。ステップS108で、推論処理部140は、第2処理部143により、ステップS105でデータ蓄積部130に記憶された各行の推論結果を読み出し、読み出した各推論結果を集約する。ステップS108の処理が完了すると、図17のフローチャートによる一連の処理が終了される。
 図17のフローチャートにおけるステップS108の、第2処理部143による推論結果の集約処理について、より具体的に説明する。
 図18は、実施形態に係る、第2処理部143による集約処理を実行する前の推論結果の例を示す模式図である。図18の例では、撮像画像40に対して、推論処理の対象として、行r#1~r#7が指定されている。第1処理部142は、これら行r#1~r#7のそれぞれに対して、機械学習モデルにより推論処理を実行し、推論結果を取得する。図18の例では、行r#1、r#2、r#4およびr#7に対して、推論結果として「異物無し」が取得されている。一方、行#3、r#5およびr#6に対して、推論結果として「異物あり」が取得されている。
 これらの推論結果のうち、行r#5およびr#6については、一定の範囲FMで「異物あり」の推論結果が取得されているので、撮像画像40における範囲FM内に異物が存在している可能性が高い、と判定できる。一方、行r#3については、「異物あり」の推論結果が孤立した行r#3で取得されているため、この推論結果がノイズであり誤検出の可能性がある(ERROR)、と判定できる。
 実施形態では、連続して指定される複数の行の組における各行r#nの推論結果に基づき異物の位置を判定することで、この誤検出を抑制する。例えば、当該組に含まれる各行r#nの判定結果について移動平均を適用してよい。移動平均は、整列された複数のサンプルに対して任意のサンプル数の窓を設定し、窓を複数サンプルの整列方向に移動させながら、窓に含まれるサンプルの値の平均値を求める手法である。移動平均を用いることで、複数サンプルにおけるノイズの影響を抑制することが可能である。
 一例として、「異物無し」の推論結果を値「0」、「異物あり」の推論結果を「1」でそれぞれ表し、画像において推論処理の対象として指定された複数の行r#nのうち、連続して指定されている任意数の行r#n-k、…、r#n、…、r#n+kを窓として、移動平均の値を算出する。算出した移動平均の値を閾値と比較し、移動平均の値が閾値を超えている場合、当該窓に含まれる行r#n-k、…、r#n、…、r#n+kのうち代表する行(例えば行r#n)を、「異物あり」として判定する。算出した移動平均の値が閾値以下であれば、当該窓に含まれる行r#n-k、…、r#n、…、r#n+kのうち代表する行を、「異物無し」として判定する。窓をずらしながら、窓ごとに移動平均を算出し、画像における異物の位置を判定する。
 なお、移動平均を算出するための窓に含む行数は、奇数とすると、代表する行として当該複数行r#n-k、…、r#n、…、r#n+kのうち中央の行r#nを選択することができ、好ましい。 
 また、指定された行r#nのライン画像データにおける、風、振動、背景の揺れなどによる数画素程度のずれは、「背景」として学習され、「異物無し」として推論させることができる。
 図19は、実施形態に係る、推論結果の移動平均算出処理をより具体的に説明するための模式図である。図19において、窓のサンプル数(行数)を「3」とし、異物あり/異物無しを判定する閾値を、「0.50」としている。
 なお、図19のセクション(a)~(d)において、各行r#1~r#7は、図18の各行r#1~r#7とそれぞれ対応している。ここでは、各行r#1~r#7に対して、連続して指定される3つの行r#n-1、r#nおよびr#n+1を含む窓を設定し、窓に含まれる各行r#n-1、r#nおよびr#n+1に基づき、移動平均を算出している。
 図19のセクション(a)では、行r#1、r#2およびr#3を含む窓について、移動平均を算出している。行r#1およびr#2は、推論結果が「異物無し」であり、それぞれ値「0」とされる。行r#3は、推論結果が「異物あり」であり、値「1」とされる。行r#1、r#2およびr#3の推論結果の移動平均は、値「0.33」であり、閾値以下である。したがって、第2処理部143は、行r#1、r#2およびr#3の範囲には、異物が存在する可能性が小さいと判定する。
 図19のセクション(b)では、セクション(a)から1行分、窓をずらし、行r#2、r#3およびr#4を含む窓について、移動平均を算出している。行r#2およびr#4は、推論結果が「異物無し」であり、それぞれ値「0」とされる。行r#3は、推論結果が「異物あり」であり、値「1」とされる。行r#2、r#3およびr#4の推論結果の移動平均は、値「0.33」であり、閾値以下である。したがって、第2処理部143は、行r#2、r#3およびr#4の範囲には、異物が存在する可能性が小さいと判定する。
 図19のセクション(c)では、セクション(b)から1行分、窓をずらし、行r#3、r#4およびr#5を含む窓について、移動平均を算出している。行r#2およびr#4は、推論結果が「異物無し」であり、それぞれ値「0」とされる。行r#3は、推論結果が「異物あり」であり、値「1」とされる。行r#2、r#3およびr#4の推論結果の移動平均は、値「0.67」であり、閾値を超えている。したがって、第2処理部143は、行r#2、r#3およびr#4の範囲には、異物が存在する可能性が大きいと判定する。
 図19のセクション(d)では、セクション(c)から1行分、窓をずらし、行r#4、r#5およびr#6を含む窓について、移動平均を算出している。行r#4は、推論結果が「異物無し」であり、値「0」とされる。行r#5およびr#6は、推論結果が「異物あり」であり、それぞれ値「1」とされる。行r#4、r#5およびr#6の推論結果の移動平均は、値「0.67」であり、閾値を超えている。したがって、第2処理部143は、行r#4、r#5およびr#6の範囲には、異物が存在する可能性が大きいと判定する。
 また、図示は省略するが、セクション(d)から1行分、窓をずらした行r#5、r#6およびr#7を含む窓では、行r#5およびr#6の推論結果が「異物あり」であり、それぞれ値「1」とされ、行r#7の推論結果が「異物無し」であり、値「0」とされる。行r#5、r#6およびr#7の推論結果の移動平均は、値「0.67」であり、閾値を超えている。したがって、第2処理部143は、行r#5、r#6およびr#7の範囲には、異物が存在する可能性が大きいと判定する。
 第2処理部143は、これらの判定結果を集約し、撮像画像40における異物の位置を判定してよい。第2処理部143は、例えば、異物が存在する可能性が小さいと判定された行r#1~r#4の範囲において、行r#3の「異物あり」の推論結果がノイズであり、異物が存在しないと判定してよい。また、第2処理部143は、例えば、異物が存在する可能性が大きいと判定された行r#3~r#7において、重複して「異物あり」の推論結果が得られている行r#5およびr#6の範囲に、異物が存在していると判定してよい。
 第2処理部143は、データ蓄積部130から、第1処理部142による各行r#1~r#7の推論結果を取得する。第2処理部143は、データ蓄積部130から取得した各行r#1~r#7の推論結果に基づき、図19を用いて説明した移動平均を算出し、各行r#1~r#7の推論結果を集約する。第2処理部143は、集約された推論結果を、データ蓄積部130に記憶させてよい。
 実施形態に係る推論結果の集約方法について説明する。図20Aおよび図20Bは、実施形態に係る推論結果の集約方法について説明するための模式図である。図20Aおよび図20Bにおいて、撮像画像80に対して指定した各行r#1~r#7の推論結果は、行r#1~r#4および行r#7が「異物無し」、行r#5およびr#6が「異物あり」であるものとする。なお、「異物無し」と推論された行のライン画像は、背景の画像であるものとする。
 図20Aは、撮像画像80に対して指定した各行r#1~r#7の推論結果を集約せず、各行r#1~r#7ごとに出力する例である。図20Aの例では、推論処理部140の出力95aは、各行r#1~r#7ごとの「異物無し」および「異物あり」の情報を含む。この出力95aは、例えば第1処理部142から出力される。この図20Aに示す出力95aを適用する場合には、例えば図17のフローチャートにおけるステップS108の処理を省略することができる。
 図20Bは、撮像画像80に対して指定した各行r#1~r#7の推論結果を集約して出力する例である。図20Bの例では、推論処理部140の出力95bは、行r#5およびr#6に係る範囲に異物が存在することを示すものとなる。推論処理部140において、第2処理部143は、例えば図17のフローチャートにおけるステップS108において、データ蓄積部130に記憶される各行r#1~r#7の推論結果に基づき図19を用いて説明した移動平均を計算し、各行r#1~r#7の推論結果を集約する。
(1-3-3.注目領域の設定について)
 次に、実施形態に係る、撮像画像に対して注目領域を設定し、設定した注目領域を、「異物あり」および「異物無し」の推論を行う推論範囲とする例について説明する。図21は、実施形態に係る注目領域の設定の例を示す模式図である。
 図21のセクション(a)~(d)において、撮像画像80に対して、垂直方向に、異物96(この例では人)が出現する可能性が高い領域bと、異物96が出現する可能性が低い領域a(この例では空)とを設定する。同様に、撮像画像80に対して、水平方向に、異物96が出現する可能性が高い領域cと、異物96が出現する可能性が低い領域dとを設定する。
 図21のセクション(a)は、撮像画像80の全体、すなわち撮像画像80の全行および全列による範囲を注目領域に設定する例である。セクション(a)の例では、垂直方向に設定された領域aおよびbと、水平方向に設定された領域cおよびdの全てが、注目領域として設定されている。
 図21のセクション(b)は、撮像画像80の一部の行と、全列とによる範囲を注目領域に設定する例である。セクション(b)の例では、垂直方向に設定された領域bと、水平方向に設定された領域cおよびdとが重複する範囲が、注目領域として設定されている。なお、水平方向の領域cは、撮像画像80に対して領域cの両端の列番号を指定することで、設定できる。
 図21のセクション(c)は、撮像画像80の全行と、一部の列とによる範囲を注目領域に設定する例である。セクション(c)の例では、垂直方向に設定された領域aおよびbと、水平方向に設定された領域cとが重複する範囲が、注目領域として設定されている。
 図21のセクション(d)は、撮像画像80の一部の行と、一部の列とによる範囲を注目領域に設定する例である。セクション(d)の例では、垂直方向に設定された領域bと、水平方向に設定された領域cとが重複する範囲が、注目領域として設定されている。
 例えば、撮像範囲を固定された固定カメラとしての撮像装置10の撮像範囲において、異物96の出現が予測される注目領域の座標が既知の場合、当該注目領域に対して推論処理の対象となる行r#nを、飛び飛びに指定する。推論処理部140において、第1処理部142は、推論処理を、設定された注目領域内に限定して実行する。第1処理部142は、撮像画像80における当該注目領域外は、推論の対象としない。図21のセクション(b)~(d)のように、撮像画像80に対して推論範囲を示す注目領域を設定することで、推論処理に係る負荷を軽減することが可能である。
(1-4.既存技術との対比)
 次に、本開示の実施形態を、既存技術と対比させて説明する。
 図22は、既存技術としての特許文献1に開示される技術を概略的に説明するための模式図である。特許文献1では、出力画像73の走査ラインr#nの画像72を出力するために、畳み込みマスクのサイズに応じた読み込み単位の、入力画像70における走査ラインr#n-pから走査ラインr#n+pまでの注目画像71に対して、畳み込み処理を実行している。同様に、出力画像73の次の走査ラインr#n+1の画像75を出力するために、読み込み単位の、入力画像70の走査ラインr#nからr#n+p+1までの注目画像74に対して、畳み込み処理を実行している。
 すなわち、特許文献1においては、注目画像の上端または下端から順番に走査ラインを読み込んだ後、読み込み単位について畳み込み処理を行い、画像のレンダリングを行っている。したがって、特許文献1では、1本の走査ラインの画像を出力するために、入力画像70における読み込み単位に含まれる複数本の走査ラインの画像をメモリに記憶している。
 図23は、本開示の実施形態に係る技術を既存技術と対比させて説明するための模式図である。実施形態に係る撮像装置10は、上述したように、入力画像70において指定された行r#nのライン画像76のライン画像データを読み込み単位として読み込む。実施形態に係る撮像装置10は、読み込み単位のライン画像76のライン画像データと、当該ライン画像76の行番号、あるいは行番号および列番号について学習した機械学習モデルを用いて、異物の有無の推論結果76’を出力している。
 したがって、本開示の実施形態では、推論処理の実行に用いるメモリは、1ライン分の画像データを記憶可能な容量があればよく、特許文献1に対して必要なメモリ容量が少なくて済む。また、1ラインの推論結果76’を、1ラインのライン画像76のライン画像データに基づき出力するため、特許文献1に対して高速な処理が可能である。
 さらに、特許文献1によれば、入力画像70における複数行のライン画像データに基づき畳み込み処理を行っている。ここで、撮像装置が、撮像方式として、撮像素子からライン順次で露光を行うローリングシャッタ方式を適用している場合、各ラインの読み出しタイミングが異なることにより出力画像にローリング歪が発生する。この場合、このローリング歪が畳込み処理に対して影響を与えるおそれがある。
 これに対して、本開示の実施形態では、機械学習モデルを用いた推論処理が、単一行で完結する。そのため、本開示の実施形態に係る推論処理は、ローリング歪による影響を排除することが可能である。
(2.実施形態の変形例)
 次に、実施形態の変形例について説明する。上述した実施形態では、撮像装置10の撮像範囲が固定とされていた。これに対して、実施形態の変形例では、撮像装置10の撮像範囲を可変とした例である。
 図24は、実施形態の変形例に係る撮像装置の一例の構成を示すブロック図である。図24において、実施形態の変形例に係る撮像装置10aは、図3および図7を用いて説明した実施形態に係る撮像装置10と同様に、取付具12aにより固定物11に取り付けられる。ここで、実施形態の変形例に適用される取付具12aは、撮像装置10aの撮像方向およびチルト角が可変とされた可動部1200を備える。取付具12aにより、撮像装置10aの撮像方向およびチルト角を変更することで、撮像装置10aの撮像範囲を変更することができる。
 可動部1200は、例えばモータなどを利用した駆動部を含み、駆動部を制御することで、撮像方向およびチルト角を変更可能とされている。可動部1200は、撮像方向およびチルト角を、取付具12aの外部からの制御に従い変更してもよいし、取付具12aの内部の駆動制御回路に設定されるプリセット情報に従い変更してもよい。例えば、可動部1200は、プリセット情報に従い、所定時間間隔で撮像方向およびチルト角のうち少なくとも一方を変更し、撮像装置10aの撮像範囲を切り替えてよい。
 可動部1200は、駆動制御信号に基づき、撮像方向およびチルト角の変更に係る駆動情報を、I/F106に渡す。
 また、実施形態の変形例に係る撮像装置10aは、センサ制御部101の制御により、撮像の際の撮像条件を、所定の制御信号に応じて変更可能とされている。変更可能な撮像条件は、例えば光学部120(図3参照)によるズームを含む。撮像装置10aにおいて、センサ制御部101は、撮像条件を、外部からの制御に従い変更してもよいし、撮像装置10aに対して設定されたプリセット情報に従い変更してもよい。センサ制御部101は、ズームの状態を示すズーム情報を、I/F106に渡す。
 I/F106は、可動部1200から渡された駆動情報と、センサ制御部101から渡されたズーム情報と、を学習装置20に送信する。学習装置20は、撮像装置10aから送信された駆動情報およびズーム情報をI/F210により受信し、学習部200に渡す。学習部200は、撮像装置10aから送信されたライン画像データおよび行番号/列番号と、駆動情報およびズーム情報とを用いて機械学習モデルを学習させ、学習させた機械学習モデルを、I/F210から撮像装置10aに送信する。
 撮像装置10aは、学習装置20から送信された、ライン画像データおよび行番号/列番号と、駆動情報およびズーム情報とを用いて学習した機械学習モデルをI/F106により受信し、パラメータメモリ151に記憶させる。第1処理部142は、パラメータメモリ151に記憶された当該機械学習モデルを用いて、ラインメモリ150に記憶されるライン画像データに対する推論処理を実行する。これにより、撮像装置10aは、ライン画像データおよび当該ライン画像データの行番号/列番号に加えて、撮像方向、チルト角およびズーム情報を用いて、異物の有無の推論処理を実行することができる。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
 なお、本技術は以下のような構成も取ることができる。
(1)
 複数の画素が行列状の配列で配置された画素領域を有し、前記画素領域に含まれる画素から画素信号を読み出して出力する撮像部と、
 前記画素領域に含まれる画素のうち指定された行に含まれる画素の前記画素信号に基づき、前記行ごとに異物の有無を推論する第1処理部と、
を備える、
撮像装置。
(2)
 前記第1処理部は、
 前記指定された行を示す情報と、前記指定された行に含まれる画素の前記画素信号と、を用いて学習されたモデルを用いて、前記行ごとの前記異物の有無を推論する、
前記(1)に記載の撮像装置。
(3)
 前記モデルは、教師あり学習により学習されたモデルである、
前記(2)に記載の撮像装置。
(4)
 前期モデルは、教師なし学習により学習されたモデルであって、
 前記第1処理部は、
 前記モデルを用いて前記行ごとの異常度を求め、求めた該異常度に基づき前記行ごとの前記異物の有無を推論する、
前記(2)に記載の撮像装置。
(5)
 当該撮像装置は、前記撮像部による撮像範囲を固定可能な取付具により固定物に取り付けて使用され、
 前記第1処理部は、
 当該撮像装置を使用する場合に、前記使用する状態で前記取付具により前記固定物に取り付けられた当該撮像装置の前記撮像部により出力された前記画素信号に基づき学習された前記モデルを用いて、前記行ごとの前記異物の有無を推論する、
前記(2)乃至(4)の何れかに記載の撮像装置。
(6)
 当該撮像装置は、前記撮像部による撮像範囲を制御に従い変更可能な取付具により固定物に取り付けられて使用され、
をさらに備え、
 前記第1処理部は、
 当該撮像装置を使用する場合に、前記使用する状態で前記取付具により取り付けられた当該撮像装置の前記撮像部により、前記撮像範囲の変更ごとに出力された前記画素信号に基づき学習された前記撮像範囲の変更ごとの前記モデルを用いて、前記撮像範囲の変更に応じて前記行ごとの前記異物の有無を推論する、
前記(2)乃至(4)の何れかに記載の撮像装置。
(7)
 前記第1処理部は、
 当該撮像装置を所定の撮像条件で使用する場合に、前記所定の撮像条件に基づき前記撮像部により出力された前記画素信号に基づき予め学習された前記モデルを用いて、前記行ごとの前記異物の有無を推論する、
前記(2)乃至(6)の何れかに記載の撮像装置。
(8)
 前記第1処理部は、
 前記画素領域に対して飛び飛びに指定された前記行ごとに、前記異物の有無を推論する、
前記(1)乃至(7)の何れかに記載の撮像装置。
(9)
 前記画素領域に対して飛び飛びに指定された行に対して、連続して並ぶ3以上の前記行を含む窓を設定し、前記窓に含まれる前記行ごとに前記第1処理部により前記異物の有無が推論された各推論結果に基づき、前記異物の位置を判定する第2処理部、
をさらに備える、
前記(8)に記載の撮像装置。
(10)
 前記第2処理部は、
 前記窓に含まれる前記行ごとの前記推論結果の移動平均に基づき前記異物の位置を判定する、
前記(9)に記載の撮像装置。
(11)
 前記第1処理部は、
 前記画素領域に対して設定された注目領域において飛び飛びに指定された前記行ごとに前記異物の有無を推論する、
前記(1)乃至(10)の何れかに記載の撮像装置。
(12)
 前記第1処理部は、
 前記画素領域に含まれる画素のうち、前記指定された行においてさらに指定された列に含まれる画素の前記画素信号に基づき、前記行ごとの前記異物の有無を推論する、
前記(1)乃至(11)の何れかに記載の撮像装置。
(13)
 前記第1処理部は、
 前記指定された行および前記指定された列により指定される領域の前記異物の有無を推論する、
前記(12)に記載の撮像装置。
(14)
 プロセッサにより実行される、
 複数の画素が行列状の配列で配置された画素領域を有する撮像部により、前記画素領域に含まれる画素から画素信号を読み出して出力する撮像ステップと、
 前記画素領域に含まれる画素のうち指定された行に含まれる画素の前記画素信号に基づき、前記行ごとに異物の有無を推論する第1処理ステップと、
を有する、
撮像方法。
(15)
 プロセッサに、
 複数の画素が行列状の配列で配置された画素領域を有する撮像部により、前記画素領域に含まれる画素から画素信号を読み出して出力する撮像ステップと、
 前記画素領域に含まれる画素のうち指定された行に含まれる画素の前記画素信号に基づき、前記行ごとに異物の有無を推論する第1処理ステップと、
を実行させるための撮像プログラム。
1 監視システム
10,10a 撮像装置
11 固定物
12,12a 取付具
20 学習装置
62 CNN
90,91 機械学習モデル
92,92a,92b 異常ラベル
93a,93b 異常度
94a,94b 分布
95a,95b 出力
96 異物
100 センサ部
101 センサ制御部
102 視認処理部
104 認識処理部
105 出力制御部
106,210 I/F
107 レジスタ
130 データ蓄積部
140 推論処理部
141 処理制御部
142 第1処理部
143 第2処理部
150 ラインメモリ
151 パラメータメモリ
200 学習部
201 画像蓄積部
202 UI部
203 表示部
1000 画素回路
1001 画素アレイ部
1002 垂直走査部
1100 制御部
1200 可動部

Claims (15)

  1.  複数の画素が行列状の配列で配置された画素領域を有し、前記画素領域に含まれる画素から画素信号を読み出して出力する撮像部と、
     前記画素領域に含まれる画素のうち指定された行に含まれる画素の前記画素信号に基づき、前記行ごとに異物の有無を推論する第1処理部と、
    を備える、
    撮像装置。
  2.  前記第1処理部は、
     前記指定された行を示す情報と、前記指定された行に含まれる画素の前記画素信号と、を用いて学習されたモデルを用いて、前記行ごとの前記異物の有無を推論する、
    請求項1に記載の撮像装置。
  3.  前記モデルは、教師あり学習により学習されたモデルである、
    請求項2に記載の撮像装置。
  4.  前期モデルは、教師なし学習により学習されたモデルであって、
     前記第1処理部は、
     前記モデルを用いて前記行ごとの異常度を求め、求めた該異常度に基づき前記行ごとの前記異物の有無を推論する、
    請求項2に記載の撮像装置。
  5.  当該撮像装置は、前記撮像部による撮像範囲を固定可能な取付具により固定物に取り付けて使用され、
     前記第1処理部は、
     当該撮像装置を使用する場合に、前記使用する状態で前記取付具により前記固定物に取り付けられた当該撮像装置の前記撮像部により出力された前記画素信号に基づき学習された前記モデルを用いて、前記行ごとの前記異物の有無を推論する、
    請求項2に記載の撮像装置。
  6.  当該撮像装置は、前記撮像部による撮像範囲を制御に従い変更可能な取付具により固定物に取り付けられて使用され、
    をさらに備え、
     前記第1処理部は、
     当該撮像装置を使用する場合に、前記使用する状態で前記取付具により取り付けられた当該撮像装置の前記撮像部により、前記撮像範囲の変更ごとに出力された前記画素信号に基づき学習された前記撮像範囲の変更ごとの前記モデルを用いて、前記撮像範囲の変更に応じて前記行ごとの前記異物の有無を推論する、
    請求項2に記載の撮像装置。
  7.  前記第1処理部は、
     当該撮像装置を所定の撮像条件で使用する場合に、前記所定の撮像条件に基づき前記撮像部により出力された前記画素信号に基づき予め学習された前記モデルを用いて、前記行ごとの前記異物の有無を推論する、
    請求項2に記載の撮像装置。
  8.  前記第1処理部は、
     前記画素領域に対して飛び飛びに指定された前記行ごとに、前記異物の有無を推論する、
    請求項1に記載の撮像装置。
  9.  前記画素領域に対して飛び飛びに指定された行に対して、連続して並ぶ3以上の前記行を含む窓を設定し、前記窓に含まれる前記行ごとに前記第1処理部により前記異物の有無が推論された各推論結果に基づき、前記異物の位置を判定する第2処理部、
    をさらに備える、
    請求項8に記載の撮像装置。
  10.  前記第2処理部は、
     前記窓に含まれる前記行ごとの前記推論結果の移動平均に基づき前記異物の位置を判定する、
    請求項9に記載の撮像装置。
  11.  前記第1処理部は、
     前記画素領域に対して設定された注目領域において飛び飛びに指定された前記行ごとに前記異物の有無を推論する、
    請求項1に記載の撮像装置。
  12.  前記第1処理部は、
     前記画素領域に含まれる画素のうち、前記指定された行においてさらに指定された列に含まれる画素の前記画素信号に基づき、前記行ごとの前記異物の有無を推論する、
    請求項1に記載の撮像装置。
  13.  前記第1処理部は、
     前記指定された行および前記指定された列により指定される領域の前記異物の有無を推論する、
    請求項12に記載の撮像装置。
  14.  プロセッサにより実行される、
     複数の画素が行列状の配列で配置された画素領域を有する撮像部により、前記画素領域に含まれる画素から画素信号を読み出して出力する撮像ステップと、
     前記画素領域に含まれる画素のうち指定された行に含まれる画素の前記画素信号に基づき、前記行ごとに異物の有無を推論する第1処理ステップと、
    を有する、
    撮像方法。
  15.  プロセッサに、
     複数の画素が行列状の配列で配置された画素領域を有する撮像部により、前記画素領域に含まれる画素から画素信号を読み出して出力する撮像ステップと、
     前記画素領域に含まれる画素のうち指定された行に含まれる画素の前記画素信号に基づき、前記行ごとに異物の有無を推論する第1処理ステップと、
    を実行させるための撮像プログラム。
PCT/JP2023/009243 2022-03-24 2023-03-10 撮像装置、撮像方法および撮像プログラム Ceased WO2023181981A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US18/847,984 US20250200973A1 (en) 2022-03-24 2023-03-10 Imaging device, imaging method, and imaging program
CN202380027834.9A CN118872282A (zh) 2022-03-24 2023-03-10 成像装置、成像方法和成像程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-048481 2022-03-24
JP2022048481A JP2023141906A (ja) 2022-03-24 2022-03-24 撮像装置、撮像方法および撮像プログラム

Publications (1)

Publication Number Publication Date
WO2023181981A1 true WO2023181981A1 (ja) 2023-09-28

Family

ID=88101274

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/009243 Ceased WO2023181981A1 (ja) 2022-03-24 2023-03-10 撮像装置、撮像方法および撮像プログラム

Country Status (4)

Country Link
US (1) US20250200973A1 (ja)
JP (1) JP2023141906A (ja)
CN (1) CN118872282A (ja)
WO (1) WO2023181981A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2025090253A (ja) * 2023-12-05 2025-06-17 鹿島建設株式会社 充填型鋼管コンクリート柱の監視システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014137468A (ja) * 2013-01-17 2014-07-28 Sony Corp 撮像装置および撮像方法
JP2020039126A (ja) * 2018-08-31 2020-03-12 ソニー株式会社 撮像装置、撮像システム、撮像方法および撮像プログラム
JP2021129265A (ja) * 2020-02-17 2021-09-02 ソニーセミコンダクタソリューションズ株式会社 センサ装置、読み出し方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2022176686A1 (ja) * 2021-02-22 2022-08-25

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014137468A (ja) * 2013-01-17 2014-07-28 Sony Corp 撮像装置および撮像方法
JP2020039126A (ja) * 2018-08-31 2020-03-12 ソニー株式会社 撮像装置、撮像システム、撮像方法および撮像プログラム
JP2021129265A (ja) * 2020-02-17 2021-09-02 ソニーセミコンダクタソリューションズ株式会社 センサ装置、読み出し方法

Also Published As

Publication number Publication date
JP2023141906A (ja) 2023-10-05
US20250200973A1 (en) 2025-06-19
CN118872282A (zh) 2024-10-29

Similar Documents

Publication Publication Date Title
CN108462844B (zh) 用于像素合并和读出的方法和装置
TWI516122B (zh) 固態成像裝置,固態成像裝置之信號處理方法,及電子設備
JP4423112B2 (ja) 固体撮像装置および撮像システム
US20220132068A1 (en) Imaging device, imaging system, and drive method of imaging device
KR101515654B1 (ko) 고체 촬상 장치
US9781366B2 (en) Image sensing system and method of driving the same
JP2006197393A (ja) 固体撮像装置、カメラ、及び固体撮像装置の駆動方法
US20230105329A1 (en) Image signal processor and image sensor including the image signal processor
JP7356266B2 (ja) 撮像装置、撮像システム、および撮像装置の駆動方法
WO2016190116A1 (ja) 固体撮像装置、固体撮像装置の駆動方法、及び、電子機器
JP5091695B2 (ja) 固体撮像装置
WO2023181981A1 (ja) 撮像装置、撮像方法および撮像プログラム
JP7753292B2 (ja) 光電変換装置、移動体、光電変換方法、及びコンピュータプログラム
KR20100047826A (ko) 고체 촬상 장치
JP7433792B2 (ja) 撮像装置およびその制御方法
JP5589053B2 (ja) 複数の画素を有するアレイ及び画素情報転送方法
WO2022255493A1 (ja) 撮像装置、撮像方法および撮像プログラム
JP2009177741A (ja) 撮像装置
JP7433793B2 (ja) 撮像装置およびその制御方法
JP7774995B2 (ja) 光電変換装置、撮像装置、制御方法、及びコンピュータプログラム
JP7492345B2 (ja) 撮像素子及びその制御方法、及び、撮像装置及びその制御方法
JP7571173B2 (ja) 撮像装置、撮像装置の制御方法、及びプログラム
JP2018023637A (ja) 固体撮像装置、放射線撮像システム及び固体撮像装置の制御方法
US12192624B2 (en) Image processing system and operating method thereof
JP7614681B1 (ja) Ai機能を有する固体撮像装置とその駆動方法、および電子機器

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202380027834.9

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 18847984

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 23774580

Country of ref document: EP

Kind code of ref document: A1

WWP Wipo information: published in national office

Ref document number: 18847984

Country of ref document: US