WO2023189080A1 - 画像処理装置、および画像処理方法、並びにプログラム - Google Patents

画像処理装置、および画像処理方法、並びにプログラム Download PDF

Info

Publication number
WO2023189080A1
WO2023189080A1 PCT/JP2023/006808 JP2023006808W WO2023189080A1 WO 2023189080 A1 WO2023189080 A1 WO 2023189080A1 JP 2023006808 W JP2023006808 W JP 2023006808W WO 2023189080 A1 WO2023189080 A1 WO 2023189080A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
flicker correction
target object
correction target
flicker
Prior art date
Application number
PCT/JP2023/006808
Other languages
English (en)
French (fr)
Inventor
理継 平山
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Publication of WO2023189080A1 publication Critical patent/WO2023189080A1/ja

Links

Images

Classifications

    • 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
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/745Detection of flicker frequency or suppression of flicker wherein the flicker is caused by illumination, e.g. due to fluorescent tube illumination or pulsed LED illumination

Definitions

  • the present disclosure relates to an image processing device, an image processing method, and a program. More specifically, the present invention relates to an image processing device, an image processing method, and a program that perform flicker correction.
  • the subject When shooting a video using a camera, if the subject includes a display, traffic light, or other object that has output signal changes (luminance changes) at a predetermined frequency, the light output section of these objects (display light-emitting parts of traffic lights) may exhibit drastic changes in brightness. This is called a flicker phenomenon.
  • the flicker phenomenon is caused by the fact that the output brightness of the subject, such as a display or a traffic light, differs at the timing of photographing each image frame constituting a moving image. For example, if the output frequency of a traffic light is 50 Hz, the traffic light periodically repeats blinking 50 times per second.
  • the frame rate for capturing moving images by a camera is, for example, 30 fps, that is, a frame rate at which 30 images are captured per second. Even if the brightness of the traffic light is at its maximum brightness at the timing of the first captured image frame (F1) when the camera starts capturing moving images, the timing of the next captured image frame (F2), that is, 1/30 second has elapsed. At the photographing timing of the later photographed image frame (F2), the output of the traffic light that blinks at 50 Hz is not at its highest brightness, but has a lower brightness.
  • the output of the traffic light has a different brightness from that of the preceding photographed image frames (F1, F2).
  • the brightness of the light emitting part of the traffic light included in each image frame (F1, F2, F3, etc.) constituting the video image taken by the camera becomes an image with different brightness, and the reproduced video image is a video that causes flicker.
  • the reproduced video image is a video that causes flicker.
  • Patent Document 1 Japanese Unexamined Patent Publication No. 2013-121099 discloses a conventional technology that discloses a structure for reducing flicker of an image captured by a camera.
  • This patent document 1 discloses a configuration in which a camera takes two types of images, a long exposure image and a short exposure image, and these images are used to generate a corrected image that eliminates the influence of flicker. .
  • the present disclosure has been made, for example, in view of the above problems, and it is possible to generate an image without flicker or with reduced flicker without using a special configuration such as capturing images with a plurality of different exposure times.
  • the purpose of the present invention is to provide an image processing device, an image processing method, and a program that enable the image processing.
  • a first aspect of the present disclosure includes: It has a flicker correction section that performs flicker correction processing,
  • the flicker correction section includes: a flicker correction target object detection unit that detects a flicker correction target object that is a subject that may cause flicker in an image; an image correction unit that performs flicker correction processing on an image area of the flicker correction target object detected by the flicker correction target object detection unit;
  • the flicker correction target object detection unit includes: An image processing apparatus that executes flicker correction target object detection processing using a learning model.
  • a second aspect of the present disclosure includes: An image processing method executed in an image processing device,
  • the image processing device includes a flicker correction section that performs flicker correction processing,
  • the flicker correction section Flicker correction object detection processing that detects a flicker correction object that is a subject that may cause flicker from an image; performing an image correction process for performing flicker correction processing on an image area of the flicker correction target object detected in the flicker correction target object detection process;
  • An image processing method that performs flicker correction target object detection processing using a learning model.
  • a third aspect of the present disclosure includes: A program that causes an image processing device to perform image processing,
  • the image processing device includes a flicker correction section that performs flicker correction processing,
  • the program causes the flicker correction unit to Flicker correction object detection processing that detects a flicker correction object that is a subject that may cause flicker from an image; performing an image correction process that performs flicker correction processing on an image area of the flicker correction target object detected in the flicker correction target object detection process;
  • This is a program that executes flicker correction target object detection processing using a learning model.
  • the program of the present disclosure is, for example, a program that can be provided by a storage medium or a communication medium that is provided in a computer-readable format to an information processing device or computer system that can execute various program codes.
  • a program can be provided by a storage medium or a communication medium that is provided in a computer-readable format to an information processing device or computer system that can execute various program codes.
  • processing according to the program can be realized on an information processing device or computer system.
  • a system is a logical collective configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same housing.
  • the flicker correction unit includes a flicker correction unit that performs flicker correction processing, and the flicker correction unit detects a flicker correction target object that is a subject that may cause flicker from an image. and an image correction unit that performs flicker correction processing on the image area of the flicker correction target object detected by the flicker correction target object detection unit, and the flicker correction target object detection unit detects the flicker correction target object to which the learning model is applied. Execute the detection process.
  • an image processing apparatus that efficiently detects flicker correction target objects and executes flicker correction processing with high accuracy and high speed is realized. Note that the effects described in this specification are merely examples and are not limiting, and additional effects may also be provided.
  • FIG. 3 is a diagram illustrating a specific example of a flicker phenomenon.
  • FIG. 3 is a diagram illustrating a specific example of a flicker phenomenon and its cause.
  • FIG. 3 is a diagram illustrating a specific example of a flicker phenomenon and its cause.
  • FIG. 1 is a diagram illustrating a configuration example of an image processing device according to the present disclosure.
  • FIG. 2 is a diagram illustrating a configuration example in which an external device other than the camera, such as a PC that inputs images taken by a camera and executes image processing, is the image processing device of the present disclosure.
  • FIG. 3 is a diagram illustrating a configuration example of a flicker correction unit 150 according to Example 1 of the present disclosure.
  • FIG. 3 is a diagram illustrating a learning model used by a flicker correction target object detection unit (first learning model).
  • FIG. 6 is a diagram illustrating a specific example of processing executed by a flicker correction target object detection unit (first learning model).
  • FIG. 3 is a diagram showing a flowchart illustrating a sequence of flicker correction processing executed by the image processing device of the present disclosure.
  • FIG. 7 is a diagram illustrating a specific example of a process in which a flicker correction target object detection unit (first learning model) applies a learning model (first learning model) to detect a flicker correction target object.
  • FIG. 7 is a diagram illustrating a configuration example of a flicker correction section according to a second embodiment of the present disclosure.
  • FIG. 7 is a diagram illustrating a second learning model used by a flicker correction target object detection unit (second learning model). It is a figure explaining the brightness change mode in the lighting state of a traffic light, and a blinking state.
  • FIG. 7 is a diagram explaining the reason why it is possible to perform processing to distinguish between a lighting state and a blinking state by applying the second learning model used in the second embodiment.
  • FIG. 7 is a diagram explaining the reason why it is possible to perform processing to distinguish between a lighting state and a blinking state by applying the second learning model used in the second embodiment.
  • FIG. 7 is a diagram illustrating a specific example in which the flicker correction target object detection unit (second learning model) of the second embodiment detects the flicker correction target object according to frame rate information of the camera.
  • FIG. 6 is a diagram illustrating a configuration in which a flicker correction target object detection unit (second learning model) selects a learning model according to a camera frame rate.
  • 7 is a diagram illustrating a specific example of processing executed by the flicker correction target object detection unit (second learning model) of Example 2.
  • FIG. 7 is a diagram showing a flowchart illustrating a sequence of flicker correction processing executed by a flicker correction unit according to a second embodiment.
  • FIG. FIG. 7 is a diagram illustrating a specific example in which images of an object to be flicker corrected in the lowest brightness state are captured in all continuously captured image frames of the camera.
  • FIG. 6 is a diagram illustrating an example in which a correction error occurs in flicker correction when all of the continuously shot image frames become minimum luminance (Lmin) images.
  • Lmin minimum luminance
  • FIG. 7 is a diagram illustrating a configuration example of a flicker correction unit according to a third embodiment of the present disclosure.
  • FIG. 7 is a diagram illustrating a specific example of a warning output to a user during image shooting.
  • FIG. 7 is a diagram illustrating an example of changing the image capturing timing when, after confirming a warning message, processing to stop capturing is performed and processing to start capturing again is performed.
  • FIG. 3 is a diagram illustrating an example of a configuration in which image capturing timing is automatically shifted.
  • FIG. 6 is a diagram illustrating an example of a process for changing the moving image shooting timing executed by the shooting timing control unit.
  • FIG. 2 is a diagram illustrating a configuration example of a flicker correction section having a warning output section and an imaging timing control section.
  • 12 is a diagram showing a flowchart illustrating a sequence of flicker correction processing executed by a flicker correction unit of Example 3.
  • FIG. 1 is a diagram illustrating an example of a hardware configuration of
  • the image area of the light output unit (the light emitting unit of a display or traffic light) exhibits a drastic change in brightness, a so-called flicker phenomenon.
  • FIG. 1 shows an example in which a user 1 is photographing an image (video) using a camera 10. Note that FIG. 1 shows a smartphone (smartphone) having a camera function as an example of the camera 10.
  • User 1 is photographing a moving image of an intersection using camera 10.
  • traffic lights 21 and large displays 22 at the intersection are also photographed.
  • the light output section of the traffic light 21, ie, the red, yellow, and green light output sections has an output (brightness) that changes at a predetermined frequency.
  • the display and the output of the image display section changes at a predetermined frequency.
  • the frequency of these brightness changes is as high as, for example, 50 Hz or more, and blinking cannot be recognized with the naked eye.
  • the camera 10 is used to record a video of subjects whose output signals change, such as brightness changes, at a predetermined period, and the captured video is played back, the light output parts of these subjects (the light emitting parts of displays and traffic lights) In some cases, the image area of the image area causes a drastic change in brightness, so-called flicker.
  • this flicker phenomenon is caused by the fact that the output brightness of the subject, such as a display or a traffic light, differs at the timing of each image frame that makes up the moving image shot by the camera.
  • FIG. 2 shows the following graph. (1) Correspondence between traffic light output (brightness) changes and camera image capture timing
  • the horizontal axis shows time
  • the vertical axis shows the change in brightness of one of the three light emitting parts (red, yellow, green) of the traffic light while it is lit. Specifically, it shows a change in the brightness of a red light during a period when the traffic light is in a red light state and the red light is lit (emitting light).
  • the brightness of the red light changes periodically between Lmin (minimum brightness) and Lmax (maximum brightness) shown on the vertical axis (brightness) of the graph while the red light is on.
  • the frequency of the brightness change of this red signal is, for example, 50 Hz, and the brightness change cannot be recognized with the naked eye.
  • the horizontal axis shown in FIG. 2 is a time (t) axis, and t0, t1, t2, t3, . . . indicate the shooting timings of each of the moving image constituent image frames when the camera 10 shoots a moving image.
  • the camera 10 is, for example, a smartphone. Many smartphone cameras have a frame rate of 30 fps when shooting video, which means they shoot 30 images per second.
  • an image frame (f0) is captured. Thereafter, the next image frame (f1) is photographed after 1/30 sec has elapsed from time t0. Furthermore, the next image frame (f2) is photographed after 1/30 sec has elapsed from time t1. Thereafter, one image is similarly photographed every 1/30 sec. During playback, moving images can be played back by playing these continuously.
  • FIG. 2 shows changes in the captured images of traffic lights included in each image frame (f0, f1, f2, . . . ) captured by the camera 10.
  • the brightness of a red light of a traffic light is in a state of brightness (L0) in the graph shown in the figure.
  • the brightness L0 is approximately the intermediate brightness between Lmin (minimum brightness) and Lmax (maximum brightness) shown on the vertical axis (brightness) of the graph, and the image frame ( The brightness of the red light f0) becomes an image having a brightness that is approximately half of Lmax (maximum brightness).
  • the brightness of the red light of the traffic light is in a state of brightness (L1) in the graph shown in the figure.
  • the brightness L1 is a brightness that is slightly close to the Lmax (maximum brightness) side between Lmin (minimum brightness) and Lmax (maximum brightness) shown on the vertical axis (brightness) of the graph. Therefore, the brightness of the red light in the image frame (f1) shown in the upper part of the figure changes to be slightly brighter than the brightness of the red light in the image frame f0 photographed at time t0.
  • the brightness of the red light of the traffic light is in a state of brightness (L2) in the graph shown in the figure.
  • the brightness L2 is approximately Lmin (minimum brightness). Therefore, the brightness of the red light in the image frame (f2) shown in the upper part of the figure is approximately Lmin (minimum brightness), resulting in an image that is close to a light-off state.
  • the brightness of the red light of the traffic light is in a state of brightness (L3) in the graph shown in the figure.
  • the brightness L3 is approximately Lmax (maximum brightness). Therefore, the brightness of the red light in the image frame (f3) shown in the upper part of the figure is approximately Lmax (maximum brightness).
  • the brightness of the red light of the traffic light is in a state of brightness (L4) in the graph shown in the figure.
  • the brightness L4 is approximately Lmin (minimum brightness). Therefore, the brightness of the red light in the image frame (f4) shown in the upper part of the figure is approximately Lmin (minimum brightness), resulting in an image close to a light-off state.
  • the brightness of the red light of the traffic light included in the images taken by the camera 10 at the times t0, t1, t2, t3, etc. shown in the graph varies greatly between consecutive shooting frames. become.
  • the red light, which is actually lit becomes a moving image in which the brightness changes drastically. In other words, the reproduced image has flicker.
  • FIG. 3 is a diagram illustrating an example of flicker occurrence on the display 22 shown in FIG. 1.
  • FIG. 3 shows the following graph.
  • the graph shown in FIG. 3 also shows time on the horizontal axis and change in display brightness on the vertical axis.
  • the brightness of the display is the average brightness of the entire display. Note that this is an example assuming that the displayed image does not change significantly.
  • the brightness of the display periodically changes between Lmin (minimum brightness) and Lmax (maximum brightness) shown on the vertical axis (brightness) of the graph.
  • the frequency of the brightness change of this red signal is, for example, 80 Hz, and the brightness change cannot be recognized with the naked eye.
  • the horizontal axis shown in FIG. 3 is the time (t) axis, and t0, t1, t2, t3, . . . indicate the shooting timing of each image frame of the moving image when the camera 10 shoots the moving image.
  • FIG. 3 shows changes in the captured images of the display included in each image frame (f0, f1, f2, . . . ) captured by the camera 10.
  • the display brightness is at (L0) in the graph shown in the figure.
  • the brightness L0 is a brightness that is slightly close to the Lmax (maximum brightness) side of Lmin (minimum brightness) to Lmax (maximum brightness) shown on the vertical axis (brightness) of the graph.
  • the display brightness of the image frame (f0) shown at the top is an image having a brightness level close to Lmax (maximum brightness).
  • the display brightness is at the brightness (L1) in the graph shown in the figure.
  • the luminance L1 is a luminance close to the Lmin (minimum luminance) side between Lmin (minimum luminance) and Lmax (maximum luminance) shown on the vertical axis (luminance) of the graph. Therefore, the brightness of the display of the image frame (f1) shown in the upper part of the figure changes to be darker than the brightness of the display of the image frame (f0) photographed at time t0.
  • the display brightness is at (L2) in the graph shown in the figure.
  • the brightness L2 is approximately Lmin (minimum brightness). Therefore, the display brightness of the image frame (f2Z) shown in the upper part of the figure is approximately Lmin (minimum brightness), resulting in an image that is almost pitch black.
  • the display brightness is at (L3) in the graph shown in the figure.
  • the brightness L3 is also approximately Lmin (minimum brightness). Therefore, the display brightness of the image frame (f3) shown in the upper part of the figure is also approximately Lmin (minimum brightness), resulting in an image that is almost pitch black.
  • the display brightness is at (L4) in the graph shown in the figure.
  • the brightness L4 is approximately intermediate between Lmin (minimum brightness) and Lmax (maximum brightness). Therefore, the display brightness of the image frame (f4) shown in the upper part of the figure becomes an image with a brightness intermediate between Lmin (minimum brightness) and Lmax (maximum brightness).
  • the brightness of the display included in the images captured by the camera 10 at each of the times t0, t1, t2, t3, . . . shown in the graph changes greatly between consecutive shooting frames.
  • the display which is actually in a continuous image indicator light state, becomes a moving image with sharp brightness changes. In other words, the reproduced image has flickering.
  • the image processing device of the present disclosure executes processing to eliminate such flicker phenomenon.
  • the configuration and processing of the image processing device of the present disclosure will be described below.
  • the image processing device of the present disclosure performs image processing to remove the flicker phenomenon described above.
  • the image processing device of the present disclosure is configured as, for example, a camera. Alternatively, it is also possible to configure it as an external device other than the camera, such as a PC that inputs images captured by the camera and executes image processing.
  • FIG. 4 is a diagram illustrating a configuration example of the image processing device 100 in a case where the image processing device of the present disclosure is used as a camera that performs image capturing.
  • the camera is a camera that can take moving images, and includes, for example, a smartphone (smartphone) having a camera function.
  • the image processing device 100 shown in FIG. 4 includes an imaging section 101, an image processing section 102, an image recording section 103, a recording medium 104, an image reproduction section 105, and a display section 106.
  • the imaging unit 101 photographs moving images. For example, video shooting is performed at a specified frame rate such as 30 fps.
  • the imaging unit 101 is configured by, for example, a CCD (Charge Coupled Devices) image sensor, a CMOS (Complementary Metal Oxide Semiconductor) image sensor, or the like.
  • the image processing unit 102 performs image processing on image data (RAW images) input from the imaging unit 101. For example, in addition to noise reduction processing that reduces noise contained in the input RAW image, demosaic processing that sets pixel values corresponding to all RGB colors at each pixel position of the RAW image, white balance (WB) adjustment, gamma correction, etc. , performs signal processing in common cameras.
  • RAW images image data
  • demosaic processing that sets pixel values corresponding to all RGB colors at each pixel position of the RAW image
  • WB white balance
  • gamma correction gamma correction
  • the image processing section 102 includes a flicker correction section 150.
  • the flicker correction unit 150 analyzes whether or not there is a subject image that may cause flicker, that is, an object to be flicker corrected, from each image frame constituting the moving image captured by the imaging unit 101, and determines whether or not there is an object to be flicker corrected. If detected, flicker correction processing is performed to eliminate or reduce flicker. The specific configuration and processing of this flicker correction section 150 will be explained later.
  • a corrected image that has been subjected to various image processing including flicker correction processing in the image processing unit 102 is stored in the recording medium 104 via the image recording unit 103.
  • the image stored in the recording medium 104 is played back by the image playback section 105 and output to the display section 106.
  • the moving image displayed on the display unit 106 is a high-quality image with flicker eliminated or reduced.
  • the image processing device of the present disclosure can also be configured as an external device other than the camera, such as a PC that inputs captured images of the camera and executes image processing.
  • the image processing device 120 is an external device other than the camera, such as a PC that inputs captured images of the camera and executes image processing.
  • the image processing device 120 receives captured images from the camera 10 that captures moving images, and executes image processing including flicker correction.
  • the image processing device 120 shown in FIG. 5 includes an input section 121, an image processing section 122, an image recording section 123, a recording medium 124, an image reproduction section 125, and a display section 126.
  • the input unit 121 inputs captured images from the camera 10 that captures moving images. Note that the camera 10 shoots a video at a prescribed frame rate, for example, 30 fps. Image frames constituting a moving image captured by the camera 10 are sequentially input to the image processing device 120.
  • the image processing unit 122 performs image processing on image data input via the input unit 121. Note that if the camera 10 has already undergone general camera signal processing such as noise reduction processing, demosaic processing, white balance (WB) adjustment, and gamma correction, the image processing unit 122 performs these processings. Flicker correction processing is performed without performing any other processing. Note that the image processing unit 122 may perform noise reduction processing, white balance (WB) adjustment, gamma correction, etc., as necessary.
  • the flicker correction unit 150 in the image processing unit 122 as described above with reference to FIG. That is, it is analyzed whether or not there is a flicker correction target object, and if a flicker correction target object is detected, flicker correction processing is executed to eliminate or reduce flicker.
  • the specific configuration and processing of this flicker correction section 150 will be explained later.
  • the corrected image which has been subjected to various image processing including flicker correction processing in the image processing section 122, is stored in the recording medium 124 via the image recording section 123.
  • the image stored in the recording medium 124 is reproduced by the image reproduction section 125 and output to the display section 126.
  • the moving image displayed on the display unit 126 is a high-quality image with flicker eliminated or reduced.
  • FIG. 6 is a diagram illustrating a configuration example of the flicker correction unit 150 according to the first embodiment of the present disclosure.
  • the flicker correction unit 150 of the present disclosure includes a flicker correction target object detection unit (first learning model) 151 and an image correction unit 152.
  • the flicker correction target object detection unit (first learning model) 151 analyzes whether there is a subject that may cause flicker, that is, a flicker correction target object, from each image frame constituting a moving image captured by the camera. do.
  • the image correction unit 152 executes flicker correction processing to eliminate or reduce flicker when a flicker correction target object is detected by the flicker correction target object detection unit (first learning model) 151.
  • the flicker correction target object detection unit (first learning model) 151 applies a learning model generated by a learning process executed in advance to detect a subject (subject image) that may cause flicker from an image taken by a camera, i.e. Analyze whether there is an object to be flicker corrected.
  • the flicker correction target object detection unit (first learning model) 151 is, for example, a deep neural network (DNN) that is a multilayer neural network, a convolutional neural network (CNN), or a recurrent neural network.
  • DNN deep neural network
  • CNN convolutional neural network
  • RNN Recurrent Neural Network
  • a learning process execution unit (learning model generation unit) 171 shown in FIG. 7 receives a “first learning set (image frame)” including images of various subjects and executes a learning process.
  • the "first learning set" to be input is a learning set (teacher data set) consisting of various images taken by a camera and identification information of flicker correction target objects included in each image.
  • the input image is, for example, an image including a display, an image including a traffic light, an image including an electronic bulletin board at a station, etc.
  • flicker correction target object identification data included in each of these images for example, flicker correction target object identification data such as a rectangular frame defining a flicker target object, is used as a data set for learning processing (teacher data set) by the learning processing execution unit ( It is input to the first learning model generation unit) 171, and learning processing is executed.
  • the learning processing execution unit (first learning model generation unit) 171 shown in FIG. A learning process using various images as a learning set, that is, a "supervised learning process" is executed.
  • the flicker correction target object detection unit (first learning model) 151 shown in FIG. A certain subject image, that is, a flicker correction target object is detected.
  • the flicker correction target object detection unit (first learning model) 151 receives an input image (image frame 1) that is one photographed image constituting a moving image photographed by a camera.
  • the flicker correction target object detection unit (first learning model) 151 applies the learning model (first learning model) to detect objects that may cause flicker from this single input image (image frame 1). An image, that is, an object to be flicker corrected is detected.
  • the example of the image shown in FIG. 8 is an example of the photographed image described above with reference to FIG.
  • the flicker correction target object detection unit (first learning model) 151 applies the learning model (first learning model) to these two flicker correction target objects A. , B and outputs this detection information to the image correction section 152.
  • the flicker correction target object detection information that the flicker correction target object detection unit (first learning model) 151 outputs to the image correction unit 152 specifically includes, for example, the position of the flicker correction target object image area in the captured image.
  • This information includes coordinate information indicating the object image area to be flicker corrected, shape information of the object image area to be flicker corrected, etc., and is information that makes it possible to specify the object image area to be flicker corrected from the input image.
  • the image correction unit 152 performs correction from the input image based on the coordinate information of the flicker correction target object image area inputted from the flicker correction target object detection unit (first learning model) 151, the shape information of the flicker correction target object image area, etc. A flicker correction target object image area is identified, and flicker correction is performed on the image area. That is, in this example, the image correction unit 152 performs flicker correction on the flicker correction target objects A and B detected by the flicker correction target object detection unit (first learning model) 151.
  • the image correction unit 152 inputs a plurality of consecutively shot images, and uses these plurality of consecutively shot images to correct the flicker correction target object detection unit (first learning model) 151.
  • Flicker correction processing is performed only on the image regions of objects A and B to be corrected, that is, processing to eliminate flicker or image correction processing to reduce flicker.
  • the flicker correction target object detection unit (first learning model) 151 specifies the image area to be flicker corrected
  • the image correction unit 152 does not need to perform flicker analysis of the entire captured image, and It becomes possible to perform flicker correction only on the image areas of the objects A and B to be corrected. As a result, it becomes possible to perform high-speed and highly accurate flicker correction processing.
  • the flicker correction process performed on the image areas of the flicker correction target objects A and B in the image correction unit 152 is, for example, one of the following processes.
  • (Flicker correction processing example 1) A moving average is performed between the most recent frames (for example, three input image frames 1 to 3) so that the brightness of the image area of the flicker correction target object is constant, and flicker correction is performed for each frame. Set as the brightness of the object's image area.
  • (Flicker correction processing example 2) Select a predetermined brightness (for example, maximum brightness) between the most recent frames (for example, three input image frames 1 to 3) so that the brightness of the image area of the flicker correction target object is constant. is set as the brightness of the image area of the flicker correction target object in each frame.
  • (Flicker correction processing example 3) Replace the image area of the flicker correction target object with an image prepared in advance.
  • one of these processes is executed to perform image correction of the image areas of flicker correction target objects A and B detected from the photographed image.
  • the corrected image generated by this processing is an image in which flicker has been eliminated or reduced.
  • the image correction unit 152 adjusts the frames to which flicker correction processing examples 1 to 3 are applied so as not to erase the blinking that you want to keep. It is preferable to perform processing such as optimizing the number (blinking of the signal at a cycle of 1 to 2 seconds).
  • the flicker correction target object detection process by the flicker correction target object detection unit (first learning model) 151 may be performed on all frames of the image captured by the camera, or may be performed at predefined frame intervals. good.
  • the flicker correction target object detection unit (first learning model) 151 the flicker correction target object detected in one image frame is tracked (followed) in the subsequent frame, and the flicker correction target object detected in one image frame is tracked (followed) in the subsequent frame by tracking (following) processing.
  • a configuration may also be adopted in which the image area of the flicker correction target object is specified.
  • the flicker correction unit 150 has a processor such as a CPU having a program execution function, and can perform processing according to a flow through program execution processing using the processor.
  • Step S101 First, in step S101, the flicker correction unit applies a learning model to detect a flicker correction target object from a captured image frame.
  • This process is executed by the flicker correction target object detection unit (first learning model) 151 described with reference to FIGS. 6 and 8.
  • the flicker correction target object detection unit (first learning model) 151 determines whether or not there is a subject image that may cause flicker, that is, a flicker correction target object, in each image frame constituting a moving image captured by the camera. To analyze.
  • the flicker correction target object detection unit (first learning model) 151 applies the learning model generated by the learning process described above with reference to FIG. 7 to eliminate flicker in the image captured by the camera. It is analyzed whether there is a subject image that may cause flicker correction, that is, an object to be subjected to flicker correction.
  • FIG. 10 a process of detecting a subject image that may cause flicker is performed from one photographed image.
  • Flicker correction target object A traffic light
  • Flicker correction target object B display This is an example in which these two flicker correction target objects are detected.
  • Step S102 is a step of determining whether a flicker correction target object has been detected in the image analysis process of step S101. If a flicker correction target object is detected, the process advances to step S103. On the other hand, if no flicker correction target object is detected, the process ends. Note that if there is a subsequent image frame to be processed, the processing from step S101 onward is executed for that image frame.
  • Step S103 In the flicker correction target object detection process in step S101, if a flicker correction target object is detected, the process advances to step S103.
  • the flicker correction unit 150 performs flicker correction processing on the detected flicker correction target object in step S103.
  • This process is a process executed by the image correction unit 152 shown in FIG.
  • the image correction unit 152 performs flicker correction on the flicker correction target object detected by the flicker correction target object detection unit (first learning model) 151.
  • the image correction unit 152 inputs a plurality of consecutively shot images, and uses these plurality of consecutively shot images to correct the flicker correction target object detection unit (first learning model) 151.
  • Flicker correction processing is performed only on the image area of the object to be corrected, that is, processing to eliminate flicker or image correction processing to reduce flicker.
  • the flicker correction process executed by the image correction unit 152 is, for example, one of the following processes.
  • Flicker correction processing example 1 A moving average is performed between the most recent frames (for example, three input image frames 1 to 3) so that the brightness of the image area of the flicker correction target object is constant, and flicker correction is performed for each frame. Set as the brightness of the object's image area.
  • (Flicker correction processing example 2) Select a predetermined brightness (for example, maximum brightness) between the most recent frames (for example, three input image frames 1 to 3) so that the brightness of the image area of the flicker correction target object is constant. is set as the brightness of the image area of the flicker correction target object in each frame.
  • Flicker correction processing example 3 Replace the image area of the flicker correction target object with an image prepared in advance.
  • one of these processes is executed to perform image correction of an image area of a flicker correction target object detected from a captured image.
  • the corrected image generated by this processing is an image in which flicker has been eliminated or reduced.
  • the flicker correction target object detection unit 151 applies a learning model to identify an image area to be flicker corrected, and then the image correction unit 152 identifies the flicker correction target object.
  • Flicker correction is performed only on the image area.
  • FIG. 11 is a diagram illustrating a configuration example of a flicker correction unit 150B according to a second embodiment of the present disclosure.
  • the flicker correction unit 150B of the second embodiment includes a flicker correction target object detection unit (second learning model) 151B and an image correction unit 152.
  • second learning model flicker correction target object detection unit
  • the difference between the configuration of the second embodiment and the flicker correction unit 150 of the first embodiment described above with reference to FIG. 6 is the flicker correction target object detection unit (first learning model) of the first embodiment shown in FIG. 151 is replaced with a flicker correction target object detection unit (second learning model) 151B shown in FIG.
  • Example 2 flicker correction is performed using a learning model (second learning model) that is different from the learning model (first learning model) used in Example 1 previously described with reference to FIGS. 6 to 11. Executes target object detection processing.
  • the flicker correction target object detection unit (second learning model) 151B of the flicker correction unit 150B of the second embodiment receives a plurality of consecutive image frames constituting a moving image captured by the camera. Note that in the configuration shown in FIG. 11, three consecutively photographed image frames are input, but the number is not limited to three, and a configuration may be adopted in which more consecutively photographed image frames are input.
  • the flicker correction target object detection unit (second learning model) 151B of the flicker correction unit 150B of the second embodiment also receives camera frame rate information.
  • Cameras that shoot moving images are not limited to a frame rate of 30fps that shoots 30 images per second, but also other frame rates, such as a frame rate of 60fps that shoots 60 images per second, or 1 There are also cameras that can set a frame rate such as 120 fps, which shoots 120 images per second.
  • the flicker correction target object detecting unit (second learning model) 151B of the flicker correction unit 150B of the second embodiment shown in FIG. 11 executes a process of detecting an optimal flicker correction target object according to these various camera frame rates.
  • This information is input to a second learning model generated in advance to analyze whether there is a subject image that may cause flicker, that is, an object to be flicker corrected.
  • the image correction unit 152 executes flicker correction processing to eliminate or reduce flicker when a flicker correction target object is detected by the flicker correction target object detection unit (second learning model) 151B.
  • the flicker correction target object detection unit (second learning model) 151B inputs a plurality of continuously captured image frames and camera frame rate information into a learning model (second learning model) generated by a learning process executed in advance, It is analyzed whether or not there is a subject image that may cause flicker, that is, an object to be flicker corrected, from images taken by a camera.
  • the second learning model used by the flicker correction target object detection unit (second learning model) 151B may also be, for example, a deep neural network (DNN), which is a multilayer neural network, or a convolutional neural network (CNN).
  • DNN deep neural network
  • CNN convolutional neural network
  • This is a learning model generated by executing machine learning applying an algorithm such as a recurrent neural network (RNN) or a recurrent neural network (RNN).
  • the second learning model used by the flicker correction target object detection unit (second learning model) 151B will be described with reference to FIG. 12.
  • the learning processing execution unit (learning model generation unit) 172 shown in FIG. 12 generates a “second learning set (multiple image frames)” that includes continuously captured images of various subjects, and camera frames that captured these images. Input the rate information and execute the learning process.
  • the "second learning set" to be input is a learning set consisting of a plurality of continuously shot image frames (for example, 3 frames) constituting a video shot by a camera and identification information of flicker correction target objects included in each image.
  • the input image is, for example, an image including a display, an image including a traffic light, an image including an electronic bulletin board at a station, etc.
  • flicker correction target object identification data included in each of these images for example, flicker correction target object identification data such as a rectangular frame defining a flicker target object, is used as a data set for learning processing (teacher data set) by the learning processing execution unit ( It is input to the second learning model generation unit) 172, and learning processing is executed.
  • a learning process that is, a ⁇ supervised learning process'', is executed by inputting various continuously captured image frames including frame rate information of the camera that captured these images.
  • the learning process may be performed, for example, for each of a plurality of different camera frame rates to generate a plurality of different learning models.
  • a second learning model a compatible with camera frame rate 30 fps
  • a second learning model b compatible with a camera frame rate of 60 fps is created by a learning process using continuously captured image frames shot at a camera frame rate of 30 fps
  • a second learning model c compatible with a camera frame rate of 30 fps is created by a learning process using continuously captured image frames shot at a camera frame rate of 120 fps
  • a configuration may be adopted in which a plurality of such learning models are generated.
  • the learning model to be used is selected according to the camera frame rate when using the learning model.
  • a configuration may be adopted in which one learning model compatible with multiple camera frame rates is generated without distinguishing between these models. If you have generated one learning model that supports multiple camera frame rates, input the camera frame rate when using the learning model, change the processing mode on the learning model side according to the input camera frame rate, and change the processing mode according to each frame rate. Output the analysis processing results.
  • a learning model (second learning model) is generated for detection according to the frame rate.
  • the flicker correction target object detection unit (second learning model) 151B shown in FIG. 11 inputs a plurality of continuously shot images constituting a moving image shot by a camera and frame rate information of the camera that shot these images, A learning model (second learning model) generated by the learning process shown in FIG. 12 is applied to detect a flicker correction target object.
  • the signal may be set to a blinking state instead of being turned on.
  • a pattern may be set in which a yellow light flashes or a red light flashes at intervals of 1 to 2 seconds. This blinking can be confirmed with the naked eye.
  • the flicker correction target object detection unit (first learning model) 151 shown in FIG. Detected as a correction target object. Thereafter, flicker correction is performed in the image correction section 152.
  • flicker correction is performed in the image correction section 152.
  • the blinking state may not be reproduced.
  • flicker correction processing example 1 that is, (Flicker correction processing example 1)
  • a moving average is performed between the most recent frames (for example, three input image frames 1 to 3) so that the brightness of the image area of the flicker correction target object is constant, and flicker correction is performed for each frame. Set as the brightness of the object's image area. If such flicker correction is performed, the flickering state may not be reproduced in the reproduced video after flicker correction.
  • the second learning model used in the second embodiment is a learning model for preventing such problems from occurring.
  • FIG. 13(A) shows the lighting state of a red light.
  • (B) shows a blinking state.
  • (A) In the red light lighting state the brightness changes repeatedly at, for example, 50 Hz.
  • the lighting period is set to a brightness change of 50 Hz, and the lights-out period is set to a light-off state with no brightness change.
  • These lighting periods and non-lighting periods are set as periods of about 1 to 2 seconds, for example.
  • Example 1 Since the first learning model described in Example 1 is configured to detect a flicker correction target object from a single image, it is not possible to distinguish between the (A) lighting state and (B) blinking state shown in FIG. 13. However, the second learning model used in the second embodiment makes it possible to distinguish between the (A) lighting state and (B) blinking state shown in FIG. 13. The reason for this will be explained with reference to FIGS. 14 and 15.
  • FIG. 14 shows a brightness change pattern of a red light when the red light of a traffic light is on. For example, a red light repeatedly changes in brightness at 50 Hz.
  • the camera 10 photographs a moving image.
  • the frame rate of the camera is 30 fps.
  • Image frame 1 (f1) is photographed at time t1
  • image frame 2 (f2) is photographed at time t2
  • image frame 3 (f3) is photographed at time t3.
  • the brightness of the red light of the traffic light photographed in these images changes as shown in the figure.
  • Image frame 1 (f1) at time t1 has high brightness
  • Image frame 2 (f2) at time t2 has low brightness
  • Image frame 3 (f3) at time t3 has high brightness; In this way, high brightness and low brightness are repeated during 2/30 seconds. This proves that the red light shows brightness changes at high intervals, and it can be determined that the red light is in a lit state.
  • the period before the time (tp) shown in FIG. 15 is the lighting period in which the light is being shortened, and the period after the time (tp) is the period when the light is off in the blinking state.
  • the brightness changes repeatedly at 50 Hz.
  • the lights-out period continues.
  • the camera 10 photographs a moving image.
  • the frame rate of the camera is 30 fps.
  • Image frame 1 (f1) is photographed at time t1
  • image frame 2 (f2) is photographed at time t2
  • image frame 3 (f3) is photographed at time t3.
  • the brightness of the red light of the traffic light photographed in these images changes as shown in the figure.
  • Image frame 1 (f1) at time t1 has high brightness
  • Image frame 2 (f2) at time t2 has the lowest brightness
  • Image frame 3 (f3) at time t3 has the lowest brightness
  • the second learning model used by the flicker correction target object detection unit (second learning model) 151B of the flicker correction unit 150B shown in FIG. It becomes possible to distinguish between the lighting state of the light and other states (flashing state, light-off state). As a result, it is possible to perform processing in which, for example, a blinking traffic light image is not selected as a flicker correction target object.
  • FIG. 16 shows the brightness changes (black circles) of the traffic light in the photographed images when images of the traffic light in a lighting state showing a brightness change of 50 Hz are photographed by cameras with different frame rates.
  • Camera frame rate 30fps
  • Camera frame rate 60fps
  • the flicker correction target object detection unit (second learning model) 151B of the flicker correction unit 150B shown in FIG. 11 of the second embodiment selects the flicker correction target object according to the frame rate information of the camera. Specifically, when the frame rate of the camera is high, the selection criteria for flicker correction target objects are made stricter than when the frame rate of the camera is low. For example, when the frame rate of the camera is high, processing is performed such that if the brightness change width of the input continuously shot images is less than or equal to a threshold value, the object is not selected as a flicker correction target object.
  • the learning processing execution unit (second learning model generation unit) 172 shown in FIG. 12 may be configured to generate a plurality of different learning models for each of a plurality of different camera frame rates.
  • the flicker correction target object detection unit (second learning model) 151B of the flicker correction unit 150B shown in FIG. 11 selects the learning model to be used according to the camera frame rate when using the learning model.
  • the configuration is as shown in FIG.
  • the flicker correction target object detection unit (second learning model) 151B selects and uses a learning model to be used according to the input camera frame rate information.
  • the flicker correction target object detection unit (second learning model) 151B changes the processing mode of the input camera frame rate according to the information, and Outputs analysis processing results according to the rate.
  • a subject image that may cause flicker that is, a flicker correction target object
  • the detection result is output to the image correction unit 152.
  • the flicker correction target object detection unit (second learning model) 151B of the flicker correction unit 150B of the second embodiment shown in FIG. 11 and FIG. 17 will be described with reference to FIG. 18.
  • the flicker correction target object detection unit (second learning model) 151B collects a plurality of consecutively shot images (for example, three consecutively shot image frames) constituting a moving image shot by the camera and Input the frame rate information (for example, 30 fps, 60 fps, etc.) of the camera that took the image.
  • the flicker correction target object detection unit (second learning model) 151B inputs a plurality of input continuously shot images and camera frame rate information to a second learning model, and detects object images that may cause flicker, i.e. Detect flicker correction target object.
  • the example of the image shown in FIG. 18 is an example of the photographed image described earlier with reference to FIG.
  • the flicker correction target object detection unit (second learning model) 151B applies the learning model (second learning model) to these two flicker correction target objects A. , B and outputs this detection information to the image correction section 152.
  • the flicker correction target object detection information that the flicker correction target object detection unit (second learning model) 151B outputs to the image correction unit 152 specifically includes, for example, the position of the flicker correction target object image area in the captured image.
  • This information includes coordinate information indicating the object image area to be flicker corrected, shape information of the object image area to be flicker corrected, etc., and is information that enables the object image area to be flicker corrected to be specified from the input image.
  • the image correction unit 152 performs flicker correction on the flicker correction target objects A and B detected by the flicker correction target object detection unit (first learning model) 151. As shown in FIGS. 11 and 17, the image correction unit 152 inputs a plurality of consecutively captured images, and uses these multiple consecutively captured images to generate a flicker correction target object detection unit (second learning model) 151B. Flicker correction processing is performed only on the image areas of the input flicker correction target objects A and B, that is, processing to eliminate flicker or image correction processing to reduce flicker.
  • the image correction unit 152 since the image area to be subjected to flicker correction is specified by the flicker correction target object detection unit (second learning model) 151B, the image correction unit 152 does not need to perform flicker analysis of the entire captured image, and It becomes possible to perform flicker correction only on the image areas of the objects A and B to be corrected. As a result, it becomes possible to perform high-speed and highly accurate flicker correction processing.
  • the flicker correction processing performed on the image areas of the flicker correction target objects A and B by the image correction unit 152 is the same as that described in the first embodiment, and is, for example, one of the following processes.
  • (Flicker correction processing example 1) A moving average is performed between the most recent frames (for example, three input image frames 1 to 3) so that the brightness of the image area of the flicker correction target object is constant, and flicker correction is performed for each frame. Set as the brightness of the object's image area.
  • (Flicker correction processing example 2) Select a predetermined brightness (for example, maximum brightness) between the most recent frames (for example, three input image frames 1 to 3) so that the brightness of the image area of the flicker correction target object is constant. is set as the brightness of the image area of the flicker correction target object in each frame.
  • (Flicker correction processing example 3) Replace the image area of the flicker correction target object with an image prepared in advance.
  • one of these processes is executed to perform image correction of the image areas of flicker correction target objects A and B detected from the photographed image.
  • the corrected image generated by this processing is an image in which flicker has been eliminated or reduced.
  • Step S201 First, in step S201, the flicker correction unit applies a learning model (second learning model) to detect a flicker correction target object from a captured image frame.
  • a learning model second learning model
  • This process is executed by the flicker correction target object detection unit (second learning model) 151B shown in FIGS. 11 and 17.
  • the flicker correction target object detection unit (second learning model) 151B collects a plurality of consecutively shot images (for example, three consecutively shot image frames) constituting a moving image shot by the camera, and frame rate information of the camera that shot these images. (for example, 30 fps, 60 fps, etc.) is input to the second learning model, and a subject image that may cause flicker, that is, a flicker correction target object is detected.
  • objects such as traffic lights that are in a blinking state are not selected as flicker correction target objects.
  • objects such as traffic lights that are in a blinking state are not selected as flicker correction target objects.
  • a predefined threshold such as 60 fps
  • objects whose brightness change width is less than the specified threshold in the multiple input continuous shooting images are also treated as objects subject to flicker correction. Not selected.
  • Step S202 is a step of determining whether a flicker correction target object has been detected. If a flicker correction target object is detected, the process advances to step S203. On the other hand, if no flicker correction target object is detected, the process ends. Note that if there is a subsequent image frame to be processed, the processing from step S201 onwards is executed for that image frame.
  • Step S203 If a flicker correction target object is detected in the flicker correction target object detection process in step S201, the process advances to step S203.
  • the flicker correction unit 150 performs flicker correction processing on the detected flicker correction target object in step S203.
  • the image correction unit 152 performs flicker correction on the flicker correction target object detected by the flicker correction target object detection unit (second learning model) 151B.
  • the image correction unit 152 inputs a plurality of continuous captured images, and uses these continuous captured images to determine only the image area of the flicker correction target object input from the flicker correction target object detection unit (second learning model) 151B.
  • Flicker correction processing that is, processing to eliminate flicker, or image correction processing to reduce flicker is performed.
  • the flicker correction process executed by the image correction unit 152 is, for example, one of the following processes.
  • Flicker correction processing example 1 A moving average is performed between the most recent frames (for example, three input image frames 1 to 3) so that the brightness of the image area of the flicker correction target object is constant, and flicker correction is performed for each frame. Set as the brightness of the object's image area.
  • (Flicker correction processing example 2) Select a predetermined brightness (for example, maximum brightness) between the most recent frames (for example, three input image frames 1 to 3) so that the brightness of the image area of the flicker correction target object is constant. is set as the brightness of the image area of the flicker correction target object in each frame.
  • Flicker correction processing example 3 Replace the image area of the flicker correction target object with an image prepared in advance.
  • one of these processes is executed to perform image correction of an image area of a flicker correction target object detected from a captured image.
  • the corrected image generated by this processing is an image in which flicker has been eliminated or reduced.
  • the image processing device of the second embodiment inputs a plurality of continuously shot image frames and camera frame rate information to the second learning model in the flicker correction target object detection unit 151B to detect flicker correction target objects. do. By performing such flicker correction target object detection processing, more accurate flicker correction target object detection can be realized.
  • the image correction unit 152 can perform flicker correction only on the image area of the flicker correction target object detected by the flicker correction target object detection unit 151B, and can perform flicker analysis of the entire captured image. There is no need to perform flicker correction processing, and it becomes possible to perform flicker correction processing at high speed and with high precision.
  • images of the object to be flicker corrected in the lowest brightness state may be captured in all continuously captured image frames by the camera.
  • a specific example will be described with reference to FIG. 20.
  • FIG. 20 shows a brightness change pattern of a red light when the red light of a traffic light is on.
  • the brightness of the red light periodically repeats the maximum brightness (Lmax) and minimum brightness (Lmin) brightness levels.
  • Lmax maximum brightness
  • Lmin minimum brightness
  • the luminance change period when the red light is on is "60 Hz”.
  • the camera frame rate is "30 fps”. That is, the brightness change period of the flicker correction target object (red light of a traffic light) is a multiple of the camera frame rate.
  • the image correction unit 152 of the flicker correction unit 150 performs flicker correction such as luminance averaging processing using three images, the red light portion of the corrected image remains completely dark. This results in a signal state, and an image different from the actual lighting state is generated.
  • Embodiment 3 is an embodiment for eliminating such flicker correction errors.
  • FIG. 22 shows the configuration of a flicker correction section 150C according to the third embodiment.
  • the flicker correction unit 150C shown in FIG. 22 has a configuration in which a determination unit 153 and a warning output unit 154 are added to the configuration of the flicker correction unit 150 of the first embodiment described with reference to FIG.
  • the determination unit 153 inputs a plurality of continuously captured image frames taken by the camera, and further inputs the detected flicker correction target object information from the flicker correction target object detection unit (first learning model) 151.
  • the determination unit 153 analyzes the brightness change state of the flicker correction target object detected by the flicker correction target object detection unit (first learning model) 151. That is, the brightness change state of the flicker correction target object in a plurality of input continuous captured image frames is analyzed. As a result of this analysis process, if there is no change in the brightness of the flicker correction target object and the brightness is below a predefined threshold value (for example, brightness close to the light-off state), a warning output unit 154 sends an image capture instruction. Outputs a warning to users inside.
  • a predefined threshold value for example, brightness close to the light-off state
  • FIG. 23 shows an example in which the following warning message is displayed as a message to the user who is photographing an image using the camera 10. "A flicker correction error has occurred. Please stop recording and then restart it.” When the user confirms this message, the user performs processing to stop photographing, and performs processing to start photographing again.
  • FIG. 24(a) shows the photographing state before the user stops photographing, and is the state described earlier with reference to FIG. 20. That is, as shown in the figure, images of the lowest luminance (Lmin) of the red light are photographed at the photographing timings of all image frames at times t1, t2, and t3.
  • FIG. 24(b) is an example of a photographing state after photographing is restarted at time t10 after the user stops photographing.
  • images with the highest luminance (Lmax) of the red light are photographed at times t10, t11, t12, and t13, and at the photographing timings of all image frames. If such a photographed image is obtained, the final corrected image can also be an image with the highest brightness (Lmax) in the red light portion of the traffic light.
  • the configuration described with reference to FIGS. 22 to 24 is an example of a device having a configuration that requests the user to shift the image capturing timing, but it may also be configured to automatically shift the image capturing timing. good.
  • the configuration is as shown in FIG. 25.
  • the flicker correction unit 150D shown in FIG. 25 has a configuration in which a determination unit 153 and a photographing timing control unit 155 are added to the configuration of the flicker correction unit 150 of the first embodiment described with reference to FIG. 6. Note that the photographing timing control section 155 controls the imaging section 156 to perform a process of changing the photographing timing of a moving image.
  • the determination unit 153 inputs a plurality of continuously captured image frames taken by the camera, and further inputs the detected flicker correction target object information from the flicker correction target object detection unit (first learning model) 151.
  • the determination unit 153 analyzes the brightness change state of the flicker correction target object detected by the flicker correction target object detection unit (first learning model) 151. That is, the brightness change state of the flicker correction target object in a plurality of input continuous captured image frames is analyzed. As a result of this analysis process, if there is no change in the brightness of the flicker correction target object and the brightness is below a predefined threshold (for example, brightness close to the off state), the shooting timing control unit 155 Executes photographing timing change processing.
  • the photographing timing control section 155 controls the imaging section 156 to perform a process of changing the photographing timing of a moving image.
  • FIG. 26 shows an example of a process for changing the moving image shooting timing executed by the shooting timing control unit 155.
  • the time before time t2 is before the moving image shooting timing changing process.
  • This state is the state described earlier with reference to FIG. That is, as shown in the figure, before time t1, images with the lowest luminance (Lmin) of the red light are photographed at the photographing timings of all image frames.
  • the photographing timing control section 155 controls the imaging section 156 to perform a process of changing the photographing timing of the moving image.
  • Image capturing is stopped at time t2, and image capturing is resumed from time t3.
  • images with the highest luminance (Lmax) of the red light are photographed at the newly set photographing timings t3, t4, and t5, and at the photographing timings of all image frames. If such a photographed image is obtained, the final corrected image can also be an image with the highest brightness (Lmax) in the red light portion of the traffic light.
  • FIG. 27 shows a flicker correction unit that combines the configurations of a flicker correction unit 150C having the warning output unit 154 described with reference to FIG. 22 and a flicker correction unit 155D having the imaging timing control unit 155 described with reference to FIG. It is a figure which shows the example of a structure of part 150E. For example, by using the flicker correction unit 150E having such a configuration to issue a warning to the user or automatically control the imaging timing, flicker correction errors can be resolved.
  • Step S301 First, in step S301, the flicker correction unit applies a learning model to detect a flicker correction target object from a captured image frame.
  • This process is executed by the flicker correction target object detection unit (first learning model) 151 of the flicker correction unit 150E shown in FIG. 27, for example.
  • the flicker correction target object detection unit (first learning model) 151 determines whether there is a subject image that may cause flicker, that is, a flicker correction target object, from each image frame constituting a moving image captured by the camera. To analyze.
  • Step S302 is a step of determining whether a flicker correction target object has been detected. If a flicker correction target object is detected, the process advances to step S303. On the other hand, if no flicker correction target object is detected, the process ends. Note that if there is a subsequent image frame to be processed, the processing from step S301 onward is executed for that image frame.
  • Step S303 Step S303 is executed when a flicker correction target object is detected in step S302.
  • step S302 If a flicker correction target object is detected in step S302, it is determined in step S303 whether the brightness of the flicker correction target object detected in step S302 is less than or equal to a predefined threshold.
  • step S304 If it is determined that the brightness of the flicker correction target object is less than or equal to the predefined threshold, the process advances to step S304. On the other hand, if it is determined that the brightness of the flicker correction target object is not below the predefined threshold, the process advances to step S305.
  • This process is a process executed by the determination unit 153 of the flicker correction unit 150E shown in FIG. 27, for example.
  • Step S304 The process in step S304 is executed when it is determined in step S303 that the brightness of the flicker correction target object is equal to or less than a predefined threshold.
  • the flicker correction unit executes one of the following processes in step S304.
  • Warning output to the user is the process described above with reference to FIGS. 22 to 24, and is a process in which the warning output unit 154 outputs a warning to the user to shift the shooting timing.
  • (b) Automatic shift processing of image shooting timing is the process described above with reference to FIGS. 25 to 26, and is a process in which the shooting timing control unit 155 automatically shifts the image shooting timing. .
  • (c) Frame rate changing process is a frame rate changing process that sets the current camera frame rate to 40 fps or 50 fps, for example, when the current camera frame rate is 30 fps. By performing this processing, it becomes possible to capture images with luminance changes.
  • (d) Shutter speed changing process is a process of changing the exposure time. For example, by setting the exposure time of one photographed image frame to be long, it is possible to photograph an image in a high brightness state. Such processing may also be performed.
  • step S304 When the process in step S304 is completed, the process returns to step S303.
  • step S303 it is determined again whether the brightness of the flicker correction target object detected in step S302 is less than or equal to a predefined threshold.
  • step S304 If it is determined that the brightness of the flicker correction target object is less than or equal to the predefined threshold, the process advances to step S304. On the other hand, if it is determined that the brightness of the flicker correction target object is not below the predefined threshold, the process advances to step S305, and processing such as outputting a warning is repeated.
  • step S303 determines whether the brightness of the object to be flicker corrected is equal to or less than the predefined threshold. If it is determined in step S303 that the brightness of the object to be flicker corrected is not equal to or less than the predefined threshold, the process proceeds to step S305.
  • step S305 the flicker correction unit 150 performs flicker correction processing on the detected flicker correction target object.
  • the image correction unit 152 performs flicker correction on the flicker correction target object detected by the flicker correction target object detection unit (first learning model) 151.
  • the image correction unit 152 inputs a plurality of continuous captured images, and uses these continuous captured images to determine only the image area of the flicker correction target object input from the flicker correction target object detection unit (first learning model) 151.
  • Flicker correction processing that is, processing to eliminate flicker, or image correction processing to reduce flicker is performed.
  • the flicker correction process executed by the image correction unit 152 is, for example, one of the following processes.
  • Flicker correction processing example 1 A moving average is performed between the most recent frames (for example, three input image frames 1 to 3) so that the brightness of the image area of the flicker correction target object is constant, and flicker correction is performed for each frame. Set as the brightness of the object's image area.
  • (Flicker correction processing example 2) Select a predetermined brightness (for example, maximum brightness) between the most recent frames (for example, three input image frames 1 to 3) so that the brightness of the image area of the flicker correction target object is constant. is set as the brightness of the image area of the flicker correction target object in each frame.
  • Flicker correction processing example 3 Replace the image area of the flicker correction target object with an image prepared in advance.
  • one of these processes is executed to perform image correction of an image area of a flicker correction target object detected from a captured image.
  • the corrected image generated by this processing is an image in which flicker has been eliminated or reduced.
  • the object to be flicker correction when the object to be flicker corrected has a brightness below the threshold value and there is a possibility that a flicker correction error may occur, the object to be flicker correction
  • This configuration acquires an image with a luminance of , and performs flicker correction using this image.
  • the learning model is applied to identify the image area to be flicker corrected, and then the image correction unit 152 identifies the image area of the object to be flicker corrected. Perform flicker correction only for By performing these processes, it is not necessary to perform flicker analysis of the entire captured image, and it becomes possible to perform flicker correction processing limited to only the image area of the object subject to flicker correction, resulting in fast and highly accurate flicker correction processing. It becomes possible to do this.
  • the third embodiment described above has been described as a configuration based on the first embodiment described above, it is also possible to have the configuration of the third embodiment based on the second embodiment described above. That is, in addition to the configuration of the flicker correction unit 150B of the second embodiment previously described with reference to FIGS. 11 and 17, the determination unit 153 and warning output unit 154 of the flicker correction unit 150E shown in FIG. A configuration in which a section 155 is added may also be used.
  • the image processing device of the present disclosure may be configured by, for example, a smartphone with a camera function, a tablet terminal, a PC, or the like.
  • An example of the hardware configuration of a smartphone, a tablet terminal, and a PC, which are examples of the image processing device of the present disclosure, will be described with reference to FIG. 29.
  • the hardware shown in FIG. 29 is an example of a specific hardware configuration of the image processing device of the present disclosure.
  • a CPU (Central Processing Unit) 301 functions as a control unit or a data processing unit that executes various processes according to programs stored in a ROM (Read Only Memory) 302 or a storage unit 308. For example, processing according to the sequence described in the embodiment described above is executed.
  • a RAM (Random Access Memory) 303 stores programs executed by the CPU 301, data, and the like. These CPU 301, ROM 302, and RAM 303 are interconnected by a bus 304.
  • the CPU 301 is connected to an input/output interface 305 via a bus 304, and an input section 306 consisting of a camera, various switches, microphones, sensors, etc., and an output section 307 consisting of a display, speakers, etc. are connected to the input/output interface 305. There is.
  • the CPU 301 executes various processes in response to commands input from the input unit 306, and outputs processing results to, for example, the output unit 307.
  • a storage unit 308 connected to the input/output interface 305 is made of, for example, a flash memory, and stores programs executed by the CPU 301 and various data.
  • the communication unit 309 is composed of a proximity communication unit such as NFC, Wi-Fi communication, Bluetooth (registered trademark) (BT) communication, and a communication unit for data communication via networks such as the Internet or local area network. Communicate with other devices.
  • a drive 310 connected to the input/output interface 305 drives a removable medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory such as a memory card, and records or reads data.
  • a removable medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory such as a memory card
  • the flicker correction section includes: a flicker correction target object detection unit that detects a flicker correction target object that is a subject that may cause flicker in an image; an image correction unit that performs flicker correction processing on an image area of the flicker correction target object detected by the flicker correction target object detection unit;
  • the flicker correction target object detection unit includes: An image processing device that performs flicker correction target object detection processing using a learning model.
  • the learning model applied by the flicker correction target object detection unit is:
  • the image processing device according to (1) which is a learning model generated by a learning process that applies a learning data set that includes a large number of images including flicker correction target objects and identification data of flicker correction target objects included in each image. .
  • the flicker correction target object detection unit includes: Input one image frame constituting a moving image, detect an object to be flicker corrected from the input image frame,
  • the image correction section includes: The image processing device according to (1) or (2), wherein the flicker correction target object detecting unit inputs continuous image frames including image frames in which the flicker correction target object is detected, and executes flicker correction processing.
  • the learning model applied by the flicker correction target object detection unit is:
  • the learning models (1) to (3) are generated by a learning process that applies a learning data set that includes continuous image frames of a video containing flicker correction target objects and identification data of flicker correction target objects included in each image frame. ) the image processing device according to any one of the above.
  • the learning model applied by the flicker correction target object detection unit is: Furthermore, the image processing device according to (4), wherein the learning model is generated by a learning process applying frame rate information of a camera that shot a video including the flicker correction target object.
  • the flicker correction target object detection unit includes: The image processing device according to (4) or (5), which is configured to selectively apply a plurality of learning models according to the frame rate of the camera that captured the video.
  • the flicker correction target object detection unit includes: Input multiple continuous image frames constituting a moving image, detect flicker correction target objects from the input image frames,
  • the image correction section includes: The image processing device according to any one of (4) to (6), wherein the flicker correction target object detection unit inputs image frames including consecutive image frames in which flicker correction target objects are detected, and executes flicker correction processing.
  • the flicker correction target object detection unit includes: A process of inputting a plurality of continuous image frames constituting a moving image, distinguishing between lit objects and blinking objects, and detecting lit objects as flicker correction target objects (4) - ( 7) Any image processing device.
  • the flicker correction target object detection unit includes: Input multiple continuous image frames that make up a moving image and frame rate information of the camera that shot the moving image, and select flicker objects that are likely to cause flickering according to the frame rate of the camera that shot the moving image.
  • the image processing apparatus according to any one of (4) to (8), which executes a process of selecting an object as a correction target object.
  • the image correction section includes: The image processing device according to any one of (1) to (9), which executes flicker correction processing using only the image area of the flicker correction target object detected by the flicker correction target object detection unit as the correction target area.
  • the flicker correction target object detection unit includes: outputting coordinate information indicating an image area of the detected flicker correction target object to the image correction unit;
  • the image correction unit specifies the image area of the flicker correction target object based on the coordinate information input from the flicker correction target object detection unit, and performs flicker correction using only the image area of the flicker correction target object as the correction target area.
  • the image processing device according to any one of (1) to (10), which executes processing.
  • the image correction section includes: (a) Image correction processing that calculates a moving average of brightness over the most recent frames so that the brightness of the image area of the flicker correction target object is constant, and sets it as the brightness of the flicker correction target object image area of each image frame; (b) Image correction processing that selects an image frame with a predetermined brightness among the most recent frames so that the brightness of the image area of the flicker correction target object is constant, and sets it as the brightness of the image area of the flicker correction target object in each image frame. , (c) image correction processing that replaces the image area of the flicker correction target object with an image prepared in advance;
  • the image processing device according to any one of (1) to (11), which executes any one of the image correction processes (a) to (c) above.
  • the image processing device further includes: It has a determination unit that inputs a plurality of continuous image frames constituting a moving image and determines whether the brightness level of a flicker correction target object included in the plurality of continuous image frames is equal to or less than a specified threshold value (1 ) to (12).
  • the image processing device further includes: It has a warning output section that outputs a warning message to the display section of the camera that is shooting a moving image,
  • the warning output section is The determination unit outputs a warning message for executing image capturing timing shift processing based on determination that the brightness level of the flicker correction target object included in the plurality of continuous image frames is below a specified threshold value.
  • the image processing device further includes: It has a shooting timing control unit that causes a camera that is shooting a moving image to execute a shift process of image shooting timing,
  • the photographing timing control section includes: The determining unit causes the camera to perform image capturing timing shifting processing based on determining that the brightness level of the flicker correction target object included in the plurality of continuous image frames is below a specified threshold value (13). Or the image processing device according to (14).
  • the image processing device includes a flicker correction section that performs flicker correction processing,
  • the flicker correction section Flicker correction object detection processing that detects a flicker correction object that is a subject that may cause flicker from an image; performing an image correction process for performing flicker correction processing on an image area of the flicker correction target object detected in the flicker correction target object detection process;
  • An image processing method that performs flicker correction target object detection processing using a learning model.
  • a program that causes an image processing device to perform image processing The image processing device includes a flicker correction section that performs flicker correction processing, The program causes the flicker correction unit to Flicker correction object detection processing that detects a flicker correction object that is a subject that may cause flicker from an image; performing an image correction process that performs flicker correction processing on an image area of the flicker correction target object detected in the flicker correction target object detection process; In the flicker correction target object detection process, A program that executes flicker correction target object detection processing using a learning model.
  • a program that records the processing sequence can be installed and executed in the memory of a computer built into dedicated hardware, or the program can be installed on a general-purpose computer that can execute various types of processing. It is possible to install and run it.
  • the program can be recorded in advance on a recording medium.
  • the program can be received via a network such as a LAN (Local Area Network) or the Internet, and installed on a recording medium such as a built-in hard disk.
  • a system is a logical collective configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same housing.
  • the flicker correction unit includes a flicker correction unit that performs flicker correction processing, and the flicker correction unit detects a flicker correction target object that is a subject that may cause flicker from an image. and an image correction unit that performs flicker correction processing on the image area of the flicker correction target object detected by the flicker correction target object detection unit, and the flicker correction target object detection unit detects the flicker correction target object to which the learning model is applied. Execute the detection process.
  • an image processing apparatus that efficiently detects flicker correction target objects and executes flicker correction processing with high accuracy and high speed is realized.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)

Abstract

フリッカ補正対象オブジェクトを効率的に検出し、フリッカ補正処理を高精度かつ高速に実行する画像処理装置を実現する。フリッカ補正処理を実行するフリッカ補正部を有し、フリッカ補正部は、画像からフリッカを発生させる可能性のある被写体であるフリッカ補正対象オブジェクトを検出するフリッカ補正対象オブジェクト検出部と、フリッカ補正対象オブジェクト検出部が検出したフリッカ補正対象オブジェクトの画像領域に対するフリッカ補正処理を実行する画像補正部を有し、フリッカ補正対象オブジェクト検出部は、学習モデルを適用したフリッカ補正対象オブジェクト検出処理を実行する。

Description

画像処理装置、および画像処理方法、並びにプログラム
 本開示は、画像処理装置、および画像処理方法、並びにプログラムに関する。さらに詳細には、フリッカ補正を行う画像処理装置、および画像処理方法、並びにプログラムに関する。
 カメラを用いて動画撮影を行う場合、被写体にディスプレイや信号機等、所定周波数の出力信号変化(輝度変化)のある被写体が含まれると、撮影された動画の再生時にこれら被写体の光出力部(ディスプレイや信号機の発光部)が激しく輝度変化を示す場合がある。これはいわゆるフリッカ現象と呼ばれる。
 フリッカ現象は動画を構成する画像フレーム各々の撮影タイミングにおいて被写体であるディスプレイや信号機等の出力輝度が異なっていることに起因する。
 例えば、信号機の出力周波数が50Hzである場合、信号機は1秒間に50回の点滅を周期的に繰り返す。
 これに対して、カメラによる動画像の撮影フレームレートが例えば30fps、すなわち1秒間に30枚の画像を撮影するフレームレートであるとする。
 カメラによる動画像撮影開始時の最初の撮影画像フレーム(F1)の撮影タイミングで信号機の輝度が最高輝度であったとしても、次の撮影画像フレーム(F2)の撮影タイミング、すなわち1/30秒経過後の撮影画像フレーム(F2)の撮影タイミングでは50Hzで点滅する信号機の出力は最高輝度ではなく、輝度が低下している。
 さらに、次の1/30秒経過後の撮影画像フレーム(F3)の撮影タイミングでも、信号機の出力は先行する撮影画像フレーム(F1,F2)とは異なる輝度になっている。
 この結果、カメラが撮影した動画像を構成する各画像フレーム(F1,F2,F3・・・)に含まれる信号機の発光部の輝度は異なる輝度の画像となり、再生動画像はフリッカを発生させる動画像になる。
 なお、カメラによる撮影画像のフリッカ低減構成について開示した従来技術として、例えば特許文献1(特開2013-121099号公報)がある。
 この特許文献1は、カメラに長時間露光画像と短時間露光画像の2種類の画像を撮影させて、これらの画像を用いてフリッカの影響を排除した補正画像を生成する構成を開示している。
 しかし、このように露光時間の異なる複数の画像を撮影するためには特殊な構成が必要でありコスト高になるという問題がある。
特開2013-121099号公報
 本開示は、例えば上記問題点に鑑みてなされたものであり、複数の異なる露光時間の画像を撮影するといった特殊な構成を用いることなく、フリッカの無い、またはフリッカを低減した画像を生成することを可能とした画像処理装置、および画像処理方法、並びにプログラムを提供することを目的とする。
 本開示の第1の側面は、
 フリッカ補正処理を実行するフリッカ補正部を有し、
 前記フリッカ補正部は、
 画像からフリッカを発生させる可能性のある被写体であるフリッカ補正対象オブジェクトを検出するフリッカ補正対象オブジェクト検出部と、
 前記フリッカ補正対象オブジェクト検出部が検出したフリッカ補正対象オブジェクトの画像領域に対するフリッカ補正処理を実行する画像補正部を有し、
 前記フリッカ補正対象オブジェクト検出部は、
 学習モデルを適用したフリッカ補正対象オブジェクト検出処理を実行する画像処理装置にある。
 さらに、本開示の第2の側面は、
 画像処理装置において実行する画像処理方法であり、
 前記画像処理装置は、フリッカ補正処理を実行するフリッカ補正部を有し、
 前記フリッカ補正部が、
 画像からフリッカを発生させる可能性のある被写体であるフリッカ補正対象オブジェクトを検出するフリッカ補正対象オブジェクト検出処理と、
 前記フリッカ補正対象オブジェクト検出処理において検出したフリッカ補正対象オブジェクトの画像領域に対するフリッカ補正処理を実行する画像補正処理を実行し、
 前記フリッカ補正対象オブジェクト検出処理において、
 学習モデルを適用したフリッカ補正対象オブジェクト検出処理を実行する画像処理方法にある。
 さらに、本開示の第3の側面は、
 画像処理装置に画像処理を実行させるプログラムであり、
 前記画像処理装置は、フリッカ補正処理を実行するフリッカ補正部を有し、
 前記プログラムは、前記フリッカ補正部に、
 画像からフリッカを発生させる可能性のある被写体であるフリッカ補正対象オブジェクトを検出するフリッカ補正対象オブジェクト検出処理と、
 前記フリッカ補正対象オブジェクト検出処理において検出したフリッカ補正対象オブジェクトの画像領域に対するフリッカ補正処理を実行する画像補正処理を実行させ、
 前記フリッカ補正対象オブジェクト検出処理において、
 学習モデルを適用したフリッカ補正対象オブジェクト検出処理を実行させるプログラムにある。
 なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
 本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 本開示の一実施例の構成によれば、フリッカ補正対象オブジェクトを効率的に検出し、フリッカ補正処理を高精度かつ高速に実行する画像処理装置が実現される。
 具体的には、例えば、フリッカ補正処理を実行するフリッカ補正部を有し、フリッカ補正部は、画像からフリッカを発生させる可能性のある被写体であるフリッカ補正対象オブジェクトを検出するフリッカ補正対象オブジェクト検出部と、フリッカ補正対象オブジェクト検出部が検出したフリッカ補正対象オブジェクトの画像領域に対するフリッカ補正処理を実行する画像補正部を有し、フリッカ補正対象オブジェクト検出部は、学習モデルを適用したフリッカ補正対象オブジェクト検出処理を実行する。
 本構成により、フリッカ補正対象オブジェクトを効率的に検出し、フリッカ補正処理を高精度かつ高速に実行する画像処理装置が実現される。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
フリッカ現象の具体例について説明する図である。 フリッカ現象の具体例とその原因について説明する図である。 フリッカ現象の具体例とその原因について説明する図である。 本開示の画像処理装置の構成例について説明する図である。 カメラの撮影画像を入力して画像処理を実行するPC等、カメラ外の外部装置を本開示の画像処理装置とした場合の構成例について説明する図である。 本開示の実施例1のフリッカ補正部150の構成例を示す図である。 フリッカ補正対象オブジェクト検出部(第1学習モデル)が利用する学習モデルについて説明する図である。 フリッカ補正対象オブジェクト検出部(第1学習モデル)が実行する処理の具体例について説明する図である。 本開示の画像処理装置が実行するフリッカ補正処理のシーケンスについて説明するフローチャートを示す図である。 フリッカ補正対象オブジェクト検出部(第1学習モデル)が学習モデル(第1学習モデル)を適用してフリッカ補正対象オブジェクトを検出する処理の具体例について説明する図である。 本開示の実施例2のフリッカ補正部の構成例を示す図である。 フリッカ補正対象オブジェクト検出部(第2学習モデル)が利用する第2学習モデルについて説明する図である。 信号機の点灯状態と、点滅状態における輝度変化態様について説明する図である。 実施例2で利用する第2学習モデルを適用することで点灯状態と点滅状態を区別する処理が可能となる理由について説明する図である。 実施例2で利用する第2学習モデルを適用することで点灯状態と点滅状態を区別する処理が可能となる理由について説明する図である。 実施例2のフリッカ補正対象オブジェクト検出部(第2学習モデル)がカメラのフレームレート情報に応じてフリッカ補正対象オブジェクトの検出を行う場合の具体例について説明する図である。 フリッカ補正対象オブジェクト検出部(第2学習モデル)がカメラフレームレートに応じて学習モデルを選択する構成について説明する図である。 実施例2のフリッカ補正対象オブジェクト検出部(第2学習モデル)が実行する処理の具体例について説明する図である。 実施例2のフリッカ補正部が実行するフリッカ補正処理のシーケンスについて説明するフローチャートを示す図である。 カメラの連続撮影画像フレームの全てにフリッカ補正対象オブジェクトの最低輝度状態の画像が撮影されてしまう具体例について説明する図である。 連続撮影画像フレームのすべてが最低輝度(Lmin)画像になった場合のフリッカ補正で補正エラーが発生する例について説明する図である。 本開示の実施例3のフリッカ補正部の構成例を示す図である。 画像撮影実行中のユーザに対する警告出力の具体例について説明する図である。 警告メッセージ確認後、撮影を停止する処理を行い、再度、撮影を開始する処理を行った場合の画像撮影タイミング変更例について説明する図である。 自動的に画像撮影タイミングをシフトする構成例について説明する図である。 撮影タイミング制御部が実行する動画像撮影タイミングの変更処理例について説明する図である。 警告出力部と、撮像タイミング制御部を有するフリッカ補正部の構成例について説明する図である。 実施例3のフリッカ補正部が実行するフリッカ補正処理のシーケンスについて説明するフローチャートを示す図である。 本開示の画像処理装置のハードウェア構成例について説明する図である。
 以下、図面を参照しながら本開示の画像処理装置、および画像処理方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行なう。
 1.フリッカ現象の概要について
 2.本開示の画像処理装置の構成例について
 3.(実施例1)本開示の実施例1のフリッカ補正部の構成と処理について
 4.(実施例2)本開示の実施例2のフリッカ補正部の構成と処理について
 5.(実施例3)本開示の実施例3のフリッカ補正部の構成と処理について
 6.画像処理装置のハードウェア構成例について
 7.本開示の構成のまとめ
  [1.フリッカ現象の概要について]
 まず、フリッカ現象の概要について説明する。
 前述したように、カメラを利用して撮影した動画像の中に例えばディスプレイや信号機等、所定周波数で出力信号が変化(輝度変化)する被写体があると、撮影動画像の再生時に、これらの被写体の光出力部(ディスプレイや信号機の発光部)の画像領域が激しい輝度変化、いわゆるフリッカ現象を示す場合がある。
 図1以下を参照してフリッカ現象の具体例とその原因について説明する。
 図1には、ユーザ1がカメラ10を用いて画像(動画)を撮影している例を示している。なお、図1にはカメラ10の一例としてカメラ機能を有するスマホ(スマートフォン)を示している。
 ユーザ1は、カメラ10を用いて交差点の動画像を撮影している。
 交差点には、信号機21や大型のディスプレイ22があり、これらも撮影される。
 しかし、例えば信号機21の光出力部、すなわち赤、黄、緑の光出力部は、所定周波数で出力(輝度)が変化する。
 ディスプレイも同様であり、画像表示部の出力が所定周波数で変化する。
 これらの輝度変化の周波数は例えば50Hz以上と高い周波数であり、肉眼では点滅を認識できない。
 しかし、このような所定の周期で輝度変化など出力信号が変化する被写体をカメラ10を用いて動画撮影を行い、撮影動画を再生すると、これらの被写体の光出力部(ディスプレイや信号機の発光部)の画像領域が激しい輝度変化、いわゆるフリッカを発生させる場合がある。
 前述したように、このフリッカ現象は、カメラが撮影する動画を構成する画像フレーム各々の撮影タイミングにおいて被写体であるディスプレイや信号機等の出力輝度が異なることに起因する。
 図2を参照して、フリッカ現象の発生理由について説明する。
 図2には、以下のグラフを示している。
 (1)信号機の出力(輝度)変化と、カメラの画像撮影タイミングとの対応関係
 図2(1)に示すグラフは、横軸に時間、縦軸に信号機の3つの発光部(赤、黄、緑)中、点灯中の1つの発光部の輝度変化を示している。
 具体的には、信号機が赤信号状態で、赤信号が点灯(発光)している期間における赤信号の輝度変化を示している。
 赤信号の輝度は、点灯中においてグラフの縦軸(輝度)に示すLmin(最小輝度)~Lmax(最大輝度)の間を周期的に変化する。
 この赤信号の輝度変化の周波数は例えば50Hzであり、肉眼では輝度変化を認識できない。
 図2に示す横軸は時間(t)軸であり、t0,t1,t2,t3・・・は、カメラ10の動画撮影時の動画構成画像フレーム各々の撮影タイミングを示している。
 カメラ10は例えばスマホである。多くのスマホのカメラは、動画撮影時のフレームレートが30fps、すなわち1秒間に30枚の画像を撮影する。
 図2に示すグラフのt0,t1,t2,t3・・・、これらの時間間隔は1/30secであり、カメラ10は、グラフに示す時間t0,t1,t2,t3・・・、これらの各時間に1枚の画像フレームを順次、撮影する。
 例えば、時間t0では、画像フレーム(f0)を撮影する。その後、時間t0から1/30sec経過後に次の画像フレーム(f1)を撮影する。さらに、時間t1から1/30sec経過後に次の画像フレーム(f2)を撮影する。以下、同様に1/30secごとに1枚の画像を撮影していく。
 再生時には、これらを連続再生することで動画像を再生できる。
 図2の上部には、カメラ10が撮影した各画像フレーム(f0,f1,f2,・・・)内に含まれる信号機の撮影画像の変化を示している。
 例えば、時間t0に撮影される画像フレーム(f0)は、信号機の赤信号の輝度が図に示すグラフの(L0)の輝度の状態にある。
 図に示すグラフから理解されるように、輝度L0は、グラフの縦軸(輝度)に示すLmin(最小輝度)~Lmax(最大輝度)のほぼ中間の輝度であり、図上部に示す画像フレーム(f0)の赤信号の輝度は、Lmax(最大輝度)のほぼ半分の輝度を有する画像となる。
 その後、時間t0から1/30sec経過後に撮影された画像フレーム(f1)は、信号機の赤信号の輝度が図に示すグラフの(L1)の輝度の状態にある。
 輝度L1は、グラフの縦軸(輝度)に示すLmin(最小輝度)~Lmax(最大輝度)間の、Lmax(最大輝度)側にやや近い輝度である。従って、図上部に示す画像フレーム(f1)の赤信号の輝度は、時間t0に撮影された画像フレームf0の赤信号の輝度より少し、明るく変化することになる。
 その後、時間t1から1/30sec経過後に撮影された画像フレーム(f2)は、信号機の赤信号の輝度が図に示すグラフの(L2)の輝度の状態にある。
 輝度L2は、ほぼLmin(最小輝度)である。従って、図上部に示す画像フレーム(f2)の赤信号の輝度は、ほぼLmin(最小輝度)となり、消灯状態に近い画像となってしまう。
 その後、時間t2から1/30sec経過後に撮影された画像フレーム(f3)は、信号機の赤信号の輝度が図に示すグラフの(L3)の輝度の状態にある。
 輝度L3は、ほぼLmax(最大輝度)である。従って、図上部に示す画像フレーム(f3)の赤信号の輝度は、ほぼLmax(最大輝度)となる。
 その後、時間t3から1/30sec経過後に撮影された画像フレーム(f4)は、信号機の赤信号の輝度が図に示すグラフの(L4)の輝度の状態にある。
 輝度L4は、ほぼLmin(最小輝度)である。従って、図上部に示す画像フレーム(f4)の赤信号の輝度は、ほぼLmin(最小輝度)となり、消灯状態に近い画像となる。
 このように、カメラ10がグラフに示す時間t0,t1,t2,t3・・・、これらの各時間に撮影する画像に含まれる信号機の赤信号の輝度は、連続撮影フレーム間で大きく変化することになる。この結果、撮影画像を再生した場合、実際は点灯状態にある赤信号が激しい輝度変化のある動画像となる。すなわちフリッカが発生した再生画像となる。
 図3は、図1に示すディスプレイ22のフリッカ発生例を説明する図である。
 図3には、以下のグラフを示している。
 (2)ディスプレイの出力(輝度)変化と、カメラの画像撮影タイミングとの対応関係
 図3に示すグラフも図2と同様、横軸に時間、縦軸にディスプレイの輝度変化を示している。なお、この例では、ディスプレイの輝度とは、ディスプレイ全体の平均的な輝度である。なお、表示画像は大きく変化しないことを想定した例である。
 ディスプレイの輝度は、グラフの縦軸(輝度)に示すLmin(最小輝度)~Lmax(最大輝度)の間を周期的に変化する。
 この赤信号の輝度変化の周波数は例えば80Hzであり、肉眼では輝度変化を認識できない。
 図3に示す横軸は時間(t)軸であり、t0,t1,t2,t3・・・は、カメラ10の動画撮影時の動画構成画像フレーム各々の撮影タイミングを示している。
 図3の上部には、カメラ10が撮影した各画像フレーム(f0,f1,f2,・・・)内に含まれるディスプレイの撮影画像の変化を示している。
 例えば、時間t0に撮影される画像フレーム(f0)は、ディスプレイの輝度が図に示すグラフの(L0)の輝度の状態にある。
 図に示すグラフから理解されるように、輝度L0は、グラフの縦軸(輝度)に示すLmin(最小輝度)~Lmax(最大輝度)のややLmax(最大輝度)側に近い輝度であり、図上部に示す画像フレーム(f0)のディスプレイの輝度は、Lmax(最大輝度)に近いレベルの輝度を有する画像となる。
 その後、時間t0から1/30sec経過後に撮影された画像フレーム(f1)は、ディスプレイの輝度が図に示すグラフの(L1)の輝度の状態にある。
 輝度L1は、グラフの縦軸(輝度)に示すLmin(最小輝度)~Lmax(最大輝度)間の、Lmin(最小輝度)側に近い輝度である。従って、図上部に示す画像フレーム(f1)のディスプレイの輝度は、時間t0に撮影された画像フレーム(f0)のディスプレイの輝度より暗く変化することになる。
 その後、時間t1から1/30sec経過後に撮影された画像フレーム(f2)は、ディスプレイの輝度が図に示すグラフの(L2)の輝度の状態にある。
 輝度L2は、ほぼLmin(最小輝度)である。従って、図上部に示す画像フレーム(f2Z)のディスプレイの輝度は、ほぼLmin(最小輝度)となり、真っ暗に近い画像となってしまう。
 その後、時間t2から1/30sec経過後に撮影された画像フレーム(f3)は、ディスプレイの輝度が図に示すグラフの(L3)の輝度の状態にある。
 輝度L3もほぼLmin(最小輝度)である。従って、図上部に示す画像フレーム(f3)のディスプレイの輝度も、ほぼLmin(最小輝度)となり、真っ暗に近い画像となってしまう。
 その後、時間t3から1/30sec経過後に撮影された画像フレーム(f4)は、ディスプレイの輝度が図に示すグラフの(L4)の輝度の状態にある。
 輝度L4は、ほぼLmin(最小輝度)~Lmax(最大輝度)の中間の輝度である。従って、図上部に示す画像フレーム(f4)のディスプレイの輝度は、Lmin(最小輝度)~Lmax(最大輝度)の中間の輝度の画像となる。
 このように、カメラ10がグラフに示す時間t0,t1,t2,t3・・・、これらの各時間に撮影する画像に含まれるディスプレイの輝度は、連続撮影フレーム間で大きく変化することになる。この結果、撮影画像を再生した場合、実際は継続的な画像表示灯状態にあるディスプレイが、激しい輝度変化のある動画像となる。すなわちフリッ発生した再生画像となる。
 本開示の画像処理装置は、このようなフリッカ現象を解消する処理を実行する。
 以下、本開示の画像処理装置の構成と処理について説明する。
  [2.本開示の画像処理装置の構成例について]
 次に、本開示の画像処理装置の構成例について説明する。
 本開示の画像処理装置は、上述したフリッカ現象を除去する画像処理を実行する。
 本開示の画像処理装置は、例えばカメラとして構成される。あるいはカメラの撮影画像を入力して画像処理を実行するPC等、カメラ外の外部装置として構成することも可能である。
 図4、図5を参照して、本開示の画像処理装置の構成例について説明する。
 図4は、画像撮影を実行するカメラを本開示の画像処理装置とした場合の画像処理装置100の構成例を示す図である。
 なお、カメラは動画像を撮影可能なカメラであり、例えばカメラ機能を有するスマホ(スマートフォン)も含まれる。
 図4に示す画像処理装置100は、撮像部101、画像処理部102、画像記録部103、記録メディア104、画像再生部105、表示部106を有する。
 撮像部101は、動画像を撮影する。例えば30fps等、規定のフレームレートで動画撮影を行う。
 なお、撮像部101は、例えばCCD(Charge Coupled Devices)イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどによって構成される。
 画像処理部102は、撮像部101から入力する画像データ(RAW画像)に対する画像処理を実行する。例えば入力RAW画像に含まれるノイズを低減するノイズ低減処理の他、RAW画像の各画素位置にRGBの全色に対応する画素値を設定するデモザイク処理や、ホワイトバランス(WB)調整、ガンマ補正等、一般的なカメラにおける信号処理を実行する。
 さらに、画像処理部102には、フリッカ補正部150が含まれる。
 フリッカ補正部150は、撮像部101が撮影した動画像を構成する各画像フレームからフリッカを発生させる可能性のある被写体画像、すなわちフリッカ補正対象オブジェクトがあるか否かを解析し、フリッカ補正対象オブジェクトが検出された場合は、フリッカを解消または低減させるためのフリッカ補正処理を実行する。
 このフリッカ補正部150の具体的構成と処理については後段で説明する。
 画像処理部102においてフリッカ補正処理を含む様々な画像処理が実行された補正後の画像は画像記録部103を介して記録メディア104に格納される。
 記録メディア104に格納された画像は、画像再生部105において再生され、表示部106に出力される。
 表示部106に表示される動画像は、フリッカが解消したまたは低減された高品質な画像となる。
 本開示の画像処理装置は、図4を参照して説明したカメラ以外に、カメラの撮影画像を入力して画像処理を実行するPC等、カメラ外の外部装置として構成することも可能である。
 図5を参照して、カメラの撮影画像を入力して画像処理を実行するPC等、カメラ外の外部装置を本開示の画像処理装置とした場合の画像処理装置120の構成例について説明する。
 図5に示すように、画像処理装置120は、動画像撮影を行うカメラ10から、撮影画像を入力し、フリッカ補正を含む画像処理を実行する。
 図5に示す画像処理装置120は、入力部121、画像処理部122、画像記録部123、記録メディア124、画像再生部125、表示部126を有する。
 入力部121は、動画像を撮影するカメラ10から撮影画像を入力する。なお、カメラ10は、例えば30fps等、規定のフレームレートで動画撮影を行う。カメラ10が撮影した動画像を構成する画像フレームが、順次、画像処理装置120に入力される。
 画像処理部122は、入力部121を介して入力する画像データに対する画像処理を実行する。なお、カメラ10内で、すでにノイズ低減処理や、デモザイク処理、ホワイトバランス(WB)調整、ガンマ補正等、一般的なカメラにおける信号処理が施されている場合は、画像処理部122は、これらの処理は行うことなく、フリッカ補正処理を行う。
 なお、画像処理部122は、必要に応じて、ノイズ低減処理や、ホワイトバランス(WB)調整、ガンマ補正等を行ってもよい。
 画像処理部122内のフリッカ補正部150は、先に図4を参照して説明したと同様、カメラ10が撮影した動画像を構成する各画像フレームからフリッカを発生させる可能性のある被写体画像、すなわちフリッカ補正対象オブジェクトがあるか否かを解析し、フリッカ補正対象オブジェクトが検出された場合は、フリッカを解消または低減させるためのフリッカ補正処理を実行する。
 このフリッカ補正部150の具体的構成と処理については後段で説明する。
 画像処理部122においてフリッカ補正処理を含む様々な画像処理が実行された補正後の画像は画像記録部123を介して記録メディア124に格納される。
 記録メディア124に格納された画像は、画像再生部125において再生され、表示部126に出力される。
 表示部126に表示される動画像は、フリッカが解消したまたは低減された高品質な画像となる。
 なお、例えばスマートフォンのカメラで撮影した画像をスマートフォンからネットワークで接続されたサーバ装置に送り、サーバ装置側で一連のフリッカ補正処理を行い、フリッカ補正後の画像をサーバ装置からスマートフォンに送り返すという構成としてもよい。
 以下、図4や図5を参照して説明した画像処理装置100,120内の画像処理部102,122内に構成されるフリッカ補正部150の構成と実行する処理の詳細について説明する。
 なお、以下では、フリッカ補正部150の複数の実施例について、順次、説明する。
  [3.(実施例1)本開示の実施例1のフリッカ補正部の構成と処理について]
 まず、本開示の実施例1のフリッカ補正部の構成と処理について説明する。
 図6は、本開示の実施例1のフリッカ補正部150の構成例を示す図である。
 図6に示すように、本開示のフリッカ補正部150は、フリッカ補正対象オブジェクト検出部(第1学習モデル)151と、画像補正部152を有する。
 フリッカ補正対象オブジェクト検出部(第1学習モデル)151は、カメラが撮影した動画像を構成する各画像フレームからフリッカを発生させる可能性のある被写体、すなわちフリッカ補正対象オブジェクトがあるか否かを解析する。
 画像補正部152は、フリッカ補正対象オブジェクト検出部(第1学習モデル)151においてフリッカ補正対象オブジェクトが検出された場合に、フリッカを解消または低減させるためのフリッカ補正処理を実行する。
 フリッカ補正対象オブジェクト検出部(第1学習モデル)151では、予め実行した学習処理によって生成した学習モデルを適用して、カメラの撮影画像からフリッカを発生させる可能性のある被写体(被写体画像)、すなわちフリッカ補正対象オブジェクトがあるか否かを解析する。
 フリッカ補正対象オブジェクト検出部(第1学習モデル)151は、例えば多層型のニューラルネットワークであるディープニューラルネットワーク(DNN:Deap Neural Network)や、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)、あるいは再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)などのアルゴリズムを適用した機械学習を実行して生成した学習モデルを利用して、カメラ撮影画像からフリッカ補正対象オブジェクトを検出する処理を行う。
 図7を参照して、フリッカ補正対象オブジェクト検出部(第1学習モデル)151が利用する学習モデルについて説明する。
 図7に示す学習処理実行部(学習モデル生成部)171は、様々な被写体が撮影された画像を含む「第1学習セット(画像フレーム)」を入力して学習処理を実行する。
 入力する「第1学習セット」は、カメラによって撮影された様々な画像と、各画像内に含まれるフリッカ補正対象オブジェクトの識別情報からなる学習セット(教師データセット)である。
 入力画像は、例えばディスプレイを含む画像、信号機を含む画像、駅の電光掲示板を含む画像などである。さらにこれら画像各々に含まれるフリッカ補正対象オブジェクト識別データ、例えばフリッカ対象オブジェクトを規定した矩形枠等のフリッカ補正対象オブジェクト識別データが、学習処理用のデータセット(教師データセット)として学習処理実行部(第1学習モデル生成部)171に入力され、学習処理が実行される。
 すなわち、図7に示す学習処理実行部(第1学習モデル生成部)171は、どの被写体(オブジェクト)が、フリッカ補正対象オブジェクトであるかを示した識別データ(例えば矩形枠等の識別データ)を含む様々な画像を学習セットとした学習処理、すなわち「教師あり学習処理」を実行する。
 図7に示す学習処理実行部(第1学習モデル生成部)171は、この学習処理によって、様々なカメラの撮影画像からフリッカを発生させる可能性のある被写体(オブジェクト)、すなわちフリッカ補正対象オブジェクトを検出する処理を実行可能とした学習モデル(第1学習モデル)を生成する。
 図6に示すフリッカ補正対象オブジェクト検出部(第1学習モデル)151は、この学習処理によって生成した学習モデル(第1学習モデル)を適用して、カメラの撮影画像からフリッカを発生させる可能性のある被写体画像、すなわちフリッカ補正対象オブジェクトを検出する。
 図8を参照して、フリッカ補正対象オブジェクト検出部(第1学習モデル)151が実行する処理の具体例について説明する。
 図8に示すように、フリッカ補正対象オブジェクト検出部(第1学習モデル)151は、カメラが撮影した動画像を構成する1枚の撮影画像である入力画像(画像フレーム1)を入力する。
 フリッカ補正対象オブジェクト検出部(第1学習モデル)151は、学習モデル(第1学習モデル)を適用して、この1枚の入力画像(画像フレーム1)から、フリッカを発生させる可能性のある被写体画像、すなわちフリッカ補正対象オブジェクトを検出する。
 図8に示す画像の例は、先に図1を参照して説明した撮影画像の例である。
 この撮影画像には、2つのフリッカ補正対象オブジェクトがある。すなわち、
 フリッカ補正対象オブジェクトA=信号機
 フリッカ補正対象オブジェクトB=ディスプレイ
 フリッカ補正対象オブジェクト検出部(第1学習モデル)151は、学習モデル(第1学習モデル)を適用して、これら2つのフリッカ補正対象オブジェクトA,Bを検出し、この検出情報を画像補正部152に出力する。
 なお、フリッカ補正対象オブジェクト検出部(第1学習モデル)151が画像補正部152に出力するフリッカ補正対象オブジェクト検出情報は、具体的には、例えば、フリッカ補正対象オブジェクト画像領域の撮影画像内の位置を示す座標情報や、フリッカ補正対象オブジェクト画像領域の形状情報等であり、入力画像からフリッカ補正対象オブジェクト画像領域を特定可能とした情報である。
 画像補正部152は、フリッカ補正対象オブジェクト検出部(第1学習モデル)151から入力したフリッカ補正対象オブジェクト画像領域の座標情報や、フリッカ補正対象オブジェクト画像領域の形状情報等に基づいて、入力画像からフリッカ補正対象オブジェクト画像領域を特定し、その画像領域に対するフリッカ補正を実行する。
 すなわち、本例では、画像補正部152は、フリッカ補正対象オブジェクト検出部(第1学習モデル)151が検出したフリッカ補正対象オブジェクトA,Bに対するフリッカ補正を実行する。
 図6に示すように、画像補正部152は、複数の連続する撮影画像を入力し、これら複数の連続撮影画像を用いて、フリッカ補正対象オブジェクト検出部(第1学習モデル)151から入力したフリッカ補正対象オブジェクトA,Bの画像領域のみに対するフリッカ補正処理、すなわちフリッカを解消する処理、またはフリッカを低減するための画像補正処理を実行する。
 このように、フリッカ補正対象オブジェクト検出部(第1学習モデル)151によってフリッカ補正対象となる画像領域が特定されるので、画像補正部152は、撮影画像全体のフリッカ解析を行う必要がなく、フリッカ補正対象オブジェクトA,Bの画像領域のみに対するフリッカ補正を行うことが可能となる。結果として、高速、かつ高精度なフリッカ補正処理を行うことが可能となる。
 なお、画像補正部152において実行するフリッカ補正対象オブジェクトA,Bの画像領域に対するフリッカ補正処理は、例えば、以下の処理のいずれかである。
 (フリッカ補正処理例1)フリッカ補正対象オブジェクトの画像領域の輝度が一定になるよう直近数フレーム(例えば3枚の入力画像フレーム1~3)間で移動平均を行って、各フレームのフリッカ補正対象オブジェクトの画像領域の輝度として設定する。
 (フリッカ補正処理例2)フリッカ補正対象オブジェクトの画像領域の輝度が一定になるよう直近数フレーム(例えば3枚の入力画像フレーム1~3)間で所定輝度(例えば最大輝度)のものを選択して各フレームのフリッカ補正対象オブジェクトの画像領域の輝度として設定する。
 (フリッカ補正処理例3)フリッカ補正対象オブジェクトの画像領域を事前に用意した画像で置き換える。
 例えば、これらの処理のいずれかを実行して、撮影画像から検出されたフリッカ補正対象オブジェクトA,Bの画像領域の画像補正を実行する。
 この処理によって生成される補正画像は、フリッカが解消または低減した画像となる。
 なお、例えば、信号が実際に点滅状態にある場合などもあり、このような場合は、画像補正部152では、残したい点滅を消さないよう、上記のフリッカ補正処理例1~3を適用するフレーム数を最適化(信号の点滅は1~2秒周期)するといった処理を行うことが好ましい。
 また、フリッカ補正対象オブジェクト検出部(第1学習モデル)151によるフリッカ補正対象オブジェクト検出処理は、カメラによる撮影画像の全フレームを対象として実行してもよいが、予め規定したフレーム間隔で行ってもよい。
 さらに、フリッカ補正対象オブジェクト検出部(第1学習モデル)151において、ある1つの画像フレームにおいて検出されたフリッカ補正対象オブジェクトを後続フレームにおいてトラッキング(追従)して、後続フレームではトラッキング(追従)処理によってフリッカ補正対象オブジェクトの画像領域を特定する構成としてもよい。
 次に図9に示すフローチャートを参照して、本開示の画像処理装置が実行するフリッカ補正処理のシーケンスについて説明する。
 なお、図9に示すフローに従った処理は、画像処理装置の記憶部に格納されたプログラムに従って、フリッカ補正部150において実行することが可能である。フリッカ補正部150は、例えばプログラム実行機能を有するCPU等のプロセッサを有し、プロセッサを利用したプログラム実行処理により、フローに従った処理を行うことができる。
 以下、図9に示すのフローチャートに示す各ステップの処理について説明する。
 なお、図9に示すフローは、カメラによって撮影された動画像を構成する各フレームについて順次、実行する。あるいは、予め規定したフレーム間隔で実行する構成としてもよい。
  (ステップS101)
 まず、フリッカ補正部は、ステップS101において、学習モデルを適用して、撮影画像フレームからフリッカ補正対象オブジェクトを検出する。
 この処理は、図6、図8を参照して説明したフリッカ補正対象オブジェクト検出部(第1学習モデル)151が実行する処理である。
 フリッカ補正対象オブジェクト検出部(第1学習モデル)151は、カメラが撮影した動画像を構成する各画像フレームにフリッカを発生させる可能性のある被写体画像、すなわちフリッカ補正対象オブジェクトがあるか否かを解析する。
 前述したように、フリッカ補正対象オブジェクト検出部(第1学習モデル)151では、先に図7を参照して説明した学習処理によって生成した学習モデルを適用して、カメラの撮影画像内にフリッカを発生させる可能性のある被写体画像、すなわちフリッカ補正対象オブジェクトがあるか否かを解析する。
 例えば図10に示すように、1枚の撮影画像から、フリッカを発生させる可能性のある被写体画像の検出処理を行う。
 図10に示す例は、
 フリッカ補正対象オブジェクトA=信号機
 フリッカ補正対象オブジェクトB=ディスプレイ
 これら2つのフリッカ補正対象オブジェクトを検出した例である。
  (ステップS102)
 ステップS102は、ステップS101の画像解析処理においてフリッカ補正対象オブジェクトが検出されたか否かを判定するステップである。
 フリッカ補正対象オブジェクトが検出された場合は、ステップS103に進む。
 一方、フリッカ補正対象オブジェクトが検出されなかった場合は、処理を終了する。
 なお、後続の処理対象画像フレームがある場合、その画像フレームについてステップS101以下の処理を実行する。
  (ステップS103)
 ステップS101のフリッカ補正対象オブジェクト検出処理において、フリッカ補正対象オブジェクトが検出された場合は、ステップS103に進む。
 この場合、フリッカ補正部150は、ステップS103において、検出したフリッカ補正対象オブジェクトに対するフリッカ補正処理を実行する。
 この処理は、図6に示す画像補正部152が実行する処理である。
 画像補正部152は、フリッカ補正対象オブジェクト検出部(第1学習モデル)151が検出したフリッカ補正対象オブジェクトに対するフリッカ補正を実行する。
 図6に示すように、画像補正部152は、複数の連続する撮影画像を入力し、これら複数の連続撮影画像を用いて、フリッカ補正対象オブジェクト検出部(第1学習モデル)151から入力したフリッカ補正対象オブジェクトの画像領域のみに対するフリッカ補正処理、すなわちフリッカを解消する処理、またはフリッカを低減するための画像補正処理を実行する。
 先に説明したように、画像補正部152が実行するフリッカ補正処理は、例えば以下のいずれかの処理である。
 (フリッカ補正処理例1)フリッカ補正対象オブジェクトの画像領域の輝度が一定になるよう直近数フレーム(例えば3枚の入力画像フレーム1~3)間で移動平均を行って、各フレームのフリッカ補正対象オブジェクトの画像領域の輝度として設定する。
 (フリッカ補正処理例2)フリッカ補正対象オブジェクトの画像領域の輝度が一定になるよう直近数フレーム(例えば3枚の入力画像フレーム1~3)間で所定輝度(例えば最大輝度)のものを選択して各フレームのフリッカ補正対象オブジェクトの画像領域の輝度として設定する。
 (フリッカ補正処理例3)フリッカ補正対象オブジェクトの画像領域を事前に用意した画像で置き換える。
 例えば、これらの処理のいずれかを実行して、撮影画像から検出されたフリッカ補正対象オブジェクトの画像領域の画像補正を実行する。
 この処理によって生成される補正画像は、フリッカが解消または低減した画像となる。
 このように、本開示の画像処理装置は、まず、フリッカ補正対象オブジェクト検出部151が学習モデルを適用してフリッカ補正対象となる画像領域を特定し、その後、画像補正部152がフリッカ補正対象オブジェクの画像領域のみに対するフリッカ補正を行う。
 これらの処理を行うことで、撮影画像全体のフリッカ解析を行う必要がなく、フリッカ補正対象オブジェクトの画像領域のみに限定したフリッカ補正処理を行うことが可能となり、高速、かつ高精度なフリッカ補正処理を行うことが可能となる。
  [4.(実施例2)本開示の実施例2のフリッカ補正部の構成と処理について]
 次に、本開示の実施例2のフリッカ補正部の構成と処理について説明する。
 図11は、本開示の実施例2のフリッカ補正部150Bの構成例を示す図である。
 図11に示すように、実施例2のフリッカ補正部150Bは、フリッカ補正対象オブジェクト検出部(第2学習モデル)151Bと、画像補正部152を有する。
 実施例2の構成と、先に図6を参照して説明した実施例1のフリッカ補正部150との差異は、図6に示す実施例1のフリッカ補正対象オブジェクト検出部(第1学習モデル)151を、図11に示すフリッカ補正対象オブジェクト検出部(第2学習モデル)151Bに置き換えた点である。
 実施例2では、先に図6~図11を参照して説明した実施例1で利用した学習モデル(第1学習モデル)とは異なる学習モデル(第2学習モデル)を利用して、フリッカ補正対象オブジェクトの検出処理を実行する。
 図11に示すように、実施例2のフリッカ補正部150Bのフリッカ補正対象オブジェクト検出部(第2学習モデル)151Bは、カメラ撮影した動画像を構成する連続する複数の画像フレームを入力する。
 なお、図11に示す構成では、3枚の連続撮影フレームを入力する構成としているが、3枚に限らず、さらに多くの連続撮影画像フレームを入力する構成としてもよい。
 図11に示す実施例2のフリッカ補正部150Bのフリッカ補正対象オブジェクト検出部(第2学習モデル)151Bは、複数の連続撮影画像フレームを入力して、より高精度なフリッカ補正対象オブジェクトの検出処理を実行する。
 また、図11に示すように、実施例2のフリッカ補正部150Bのフリッカ補正対象オブジェクト検出部(第2学習モデル)151Bは、カメラフレームレート情報も入力する。
 動画像を撮影するカメラは、例えば1秒間に30枚の画像を撮影するフレームレート=30fpsに限らず、その他のフレームレート、例えば1秒間に60枚の画像を撮影するフレームレート=60fpsや、1秒間に120枚の画像を撮影するフレームレート=120fps等のフレームレートを設定可能なカメラもある。
 図11に示す実施例2のフリッカ補正部150Bのフリッカ補正対象オブジェクト検出部(第2学習モデル)151Bは、これら様々なカメラフレームレートに応じた最適なフリッカ補正対象オブジェクトの検出処理を実行する。
 図11に示す実施例2のフリッカ補正部150Bのフリッカ補正対象オブジェクト検出部(第2学習モデル)151Bは、カメラが撮影した動画像を構成する複数の連続撮影画像フレームと、カメラフレームレート情報を入力して、これらの情報を予め生成した第2学習モデルに入力して、フリッカを発生させる可能性のある被写体画像、すなわちフリッカ補正対象オブジェクトがあるか否かを解析する。
 画像補正部152は、フリッカ補正対象オブジェクト検出部(第2学習モデル)151Bにおいてフリッカ補正対象オブジェクトが検出された場合に、フリッカを解消または低減させるためのフリッカ補正処理を実行する。
 フリッカ補正対象オブジェクト検出部(第2学習モデル)151Bでは、予め実行した学習処理によって生成した学習モデル(第2学習モデル)に、複数の連続撮影画像フレームと、カメラフレームレート情報を入力して、カメラの撮影画像からフリッカを発生させる可能性のある被写体画像、すなわちフリッカ補正対象オブジェクトがあるか否かを解析する。
 フリッカ補正対象オブジェクト検出部(第2学習モデル)151Bが利用する第2学習モデルも、例えば多層型のニューラルネットワークであるディープニューラルネットワーク(DNN:Deap Neural Network)や、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)、あるいは再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)などのアルゴリズムを適用した機械学習を実行して生成した学習モデルである。
 図12を参照して、フリッカ補正対象オブジェクト検出部(第2学習モデル)151Bが利用する第2学習モデルについて説明する。
 図12に示す学習処理実行部(学習モデル生成部)172は、様々な被写体が撮影された連続撮影画像を含む「第2学習セット(複数画像フレーム)」と、これらの画像を撮影したカメラフレームレート情報を入力して学習処理を実行する。
 入力する「第2学習セット」は、カメラによって撮影された動画を構成する複数の連続撮影画像フレーム(例えば3フレーム)と、各画像内に含まれるフリッカ補正対象オブジェクトの識別情報からなる学習セットである。
 入力画像は、例えばディスプレイを含む画像、信号機を含む画像、駅の電光掲示板を含む画像などである。さらにこれら画像各々に含まれるフリッカ補正対象オブジェクト識別データ、例えばフリッカ対象オブジェクトを規定した矩形枠等のフリッカ補正対象オブジェクト識別データが、学習処理用のデータセット(教師データセット)として学習処理実行部(第2学習モデル生成部)172に入力され、学習処理が実行される。
 すなわち、図12に示す学習処理実行部(第2学習モデル生成部)172は、どの被写体(オブジェクト)がフリッカ補正対象オブジェクトであるかを予め示した識別データ(例えば矩形枠等の識別データ)を含む様々な連続撮影画像フレームと、これらの画像を撮影したカメラフレームレート情報を入力した学習処理、すなわち「教師あり学習処理」を実行する。
 なお、学習処理は、例えば、複数の異なるカメラフレームレートごとに実行して、異なる複数の学習モデルを生成してもよい。例えば、
 (a)カメラフレームレート=30fpsで撮影した連続撮影画像フレームを用いた学習処理によって、カメラフレームレート=30fps対応の第2学習モデルa、
 (b)カメラフレームレート=30fpsで撮影した連続撮影画像フレームを用いた学習処理によって、カメラフレームレート=60fps対応の第2学習モデルb、
 (c)カメラフレームレート=120fpsで撮影した連続撮影画像フレームを用いた学習処理によって、カメラフレームレート=30fps対応の第2学習モデルc、
 このような複数の学習モデルを生成する構成としてもよい。
 このようなカメラフレームレート対応の複数の学習モデルを生成した場合は、学習モデル利用時にカメラフレームレートに応じて利用する学習モデルを選択する。
 あるいは、上記(a)~(c)のようにフレームレート対応の複数の学習モデルではなく、これらを区別せず複数のカメラフレームレート対応の1つの学習モデルを生成する構成としてもよい。
 複数のカメラフレームレート対応の1つの学習モデルを生成した場合は、学習モデル利用時にカメラフレームレートを入力し、入力カメラフレームレートに応じて学習モデル側で処理態様を変更し、各フレームレートに応じた解析処理結果を出力する。
 いずれの場合も、学習モデルを利用した処理によって、カメラのフレームレートに応じてフリッカを発生させる可能性のある被写体画像、すなわちフリッカ補正対象オブジェクトを検出することができる。
 図12に示す学習処理実行部(第2学習モデル生成部)172は、この学習処理によって、カメラの撮影画像からフリッカを発生させる可能性のある被写体(オブジェクト)、すなわちフリッカ補正対象オブジェクトを、カメラのフレームレートに応じて検出する学習モデル(第2学習モデル)を生成する。
 図11に示すフリッカ補正対象オブジェクト検出部(第2学習モデル)151Bは、カメラによって撮影された動画像を構成する複数の連続撮影画像と、この画像を撮影したカメラのフレームレート情報を入力し、図12に示す学習処理によって生成した学習モデル(第2学習モデル)を適用してフリッカ補正対象オブジェクトを検出する。
 このような処理を行うことで、より高精度なフリッカ補正対象オブジェクトの検出処理が可能となる。
 具体的には、例えば信号は点灯以外に点滅状態に設定されることがある。1~2秒間隔で黄色信号が点滅するパターンや赤信号が点滅するパターンに設定されることがある。この点滅は肉眼で見て確認できるものである。
 しかし、先に説明した実施例1のように、1枚の画像からフリッカ補正対象オブジェクトを検出する構成では、図6に示すフリッカ補正対象オブジェクト検出部(第1学習モデル)151は、信号機をフリッカ補正対象オブジェクトとして検出する。その後、画像補正部152においてフリッカ補正を実行することになる。
 しかし、例えば信号機の赤信号が点滅状態にあるとき、画像補正部152においてフリッカ補正を実行すると、点滅状態が再現されなくなる場合がある。
 例えば、前述した(フリッカ補正処理例1)、すなわち、
 (フリッカ補正処理例1)フリッカ補正対象オブジェクトの画像領域の輝度が一定になるよう直近数フレーム(例えば3枚の入力画像フレーム1~3)間で移動平均を行って、各フレームのフリッカ補正対象オブジェクトの画像領域の輝度として設定する。
 このようなフリッカ補正を行ってしまうと、フリッカ補正後の再生動画では、点滅状態が再現されなくなる場合がある。
 本実施例2で利用する第2学習モデルは、このような問題を発生させないための学習モデルである。
 図13を参照して信号機の点灯状態と、点滅状態における輝度変化態様について説明する。
 図13(A)は、赤信号の点灯状態を示している。(B)は点滅状態を示している。
 (A)赤信号点灯状態は、例えば50Hzで輝度変化を繰り返している。
 一方、(B)赤信号点滅状態は、点灯期間は50HZの輝度変化、消灯期間は、輝度変化のない消灯状態に設定される。これら点灯期間と消灯期間は、例えば約1~2秒の期間として設定される。
 実施例1で説明した第1学習モデルは1枚の画像からフリッカ補正対象オブジェクトを検出する構成であるため、図13に示す(A)点灯状態と(B)点滅状態を区別することができない、しかし、本実施例2で利用する第2学習モデルは、これら、図13に示す(A)点灯状態と(B)点滅状態を区別することを可能としている。
 図14、図15を参照して、この理由について説明する。
 図14は、信号機の赤信号が点灯状態にある場合の赤信号の輝度変化パターンである。赤信号は例えば50Hzで輝度変化を繰り返している。
 この状態で、カメラ10が動画像を撮影する。カメラのフレームレートは30fpsである。
 時間t1で画像フレーム1(f1)を撮影し、その後、時間t2で画像フレーム2(f2)、撮影時間t3で画像フレーム3(f3)を撮影する。
 これらの画像(画像フレームf1~f3)に撮影される信号機の赤信号の輝度は、図に示すように変化する。
 時間t1の画像フレーム1(f1)は高輝度、
 時間t2の画像フレーム2(f2)は低輝度、
 時間t3の画像フレーム3(f3)は高輝度、
 このように2/30secの間に高輝度と低輝度が繰り返されている。これは、赤信号が高周期で輝度変化を示していることの証明であり、点灯状態であると判断することができる。
 次に、図15を参照して信号機の赤信号が点滅状態にある場合の赤信号の輝度変化例について説明する。図15に示す時間(tp)以前が短滅実行中の点灯期間であり、時間(tp)以後が点滅状態の消灯期間である。
 点灯期間は50Hzで輝度変化を繰り返している。消灯期間は、消灯状態が継続される。
 この状態で、カメラ10が動画像を撮影する。カメラのフレームレートは30fpsである。
 時間t1で画像フレーム1(f1)を撮影し、その後、時間t2で画像フレーム2(f2)、撮影時間t3で画像フレーム3(f3)を撮影する。
 これらの画像(画像フレームf1~f3)に撮影される信号機の赤信号の輝度は、図に示すように変化する。
 時間t1の画像フレーム1(f1)は高輝度、
 時間t2の画像フレーム2(f2)は最低輝度、
 時間t3の画像フレーム3(f3)は最低輝度、
 このように、時間t2とt3では、最低輝度が継続していると判定することができる。この結果、赤信号が消灯状態に移行したと判定することができる。
 なお、これのみでは、赤信号が点滅状態にあるのか、単なる消灯状態に移行したのかを判定することは困難であるが、この状態にある信号機の画像は、フリッカ補正対象から除くという処理が可能となる。
 このように、本実施例2の図11に示すフリッカ補正部150Bのフリッカ補正対象オブジェクト検出部(第2学習モデル)151Bが利用する第2学習モデルは、複数の連続撮影画像の解析により、信号の点灯状態と、それ以外の状態(点滅状態、消灯状態)を区別することが可能となる。
 この結果、例えば点滅状態の信号機画像についてはフリッカ補正対象オブジェクトとして選択しないという処理を可能としている。
 さらに、本実施例2の図11に示すフリッカ補正部150Bのフリッカ補正対象オブジェクト検出部(第2学習モデル)151Bは、連続撮影画像のみではなく、カメラのフレームレート情報も入力して、カメラのフレームレート情報に応じてフリッカ補正対象オブジェクトの検出を行う構成である。
 図16を参照してこの構成について説明する。
 図16には、50Hzの輝度変化を示す信号機の点灯状態の画像を、異なるフレームレートのカメラで撮影した場合の撮影画像中の信号機の輝度変化(黒丸)を示している。
 (a)カメラフレームレート=30fps
 (b)カメラフレームレート=60fps
 (a),(b)いずれも、撮影画像中の信号機の輝度変化(黒丸)は発生する。
 しかし、このような撮影画像を再生し、撮影画像を再生した場合、カメラのフレームレートによって輝度の変化パターンは異なってくる。
 本実施例2の図11に示すフリッカ補正部150Bのフリッカ補正対象オブジェクト検出部(第2学習モデル)151Bは、カメラのフレームレート情報に応じてフリッカ補正対象オブジェクトの選択を行う。
 具体的には、カメラのフレームレートが高い場合は、カメラのフレームレートが低い場合より、フリッカ補正対象オブジェクトの選択基準を厳しくするといった処理を行う。例えば、カメラのフレームレートが高い場合は、入力する連続撮影画像の輝度変化幅がしきい値以下の場合は、フリッカ補正対象オブジェクトとして選択しないといった処理を行う。
 なお、先に説明したように、図12に示す学習処理実行部(第2学習モデル生成部)172は、複数の異なるカメラフレームレートごとに異なる複数の学習モデルを生成する構成としてもよく、この場合、図11に示すフリッカ補正部150Bのフリッカ補正対象オブジェクト検出部(第2学習モデル)151Bは、学習モデル利用時にカメラフレームレートに応じて利用する学習モデルを選択する。
 例えば図17に示すような構成である。
 図17に示すフリッカ補正部150Bのフリッカ補正対象オブジェクト検出部(第2学習モデル)151Bは、
 カメラフレームレート=30fps対応の学習モデル、
 カメラフレームレート=60fps対応の学習モデル、
 これらカメラフレームレート対応の2つの学習モデルを有している。
 フリッカ補正対象オブジェクト検出部(第2学習モデル)151Bは、入力するカメラフレームレート情報に応じて、利用する学習モデルを選択して利用する。
 なお、前述したようにフレームレート対応の複数の学習モデルではなく、これらを区別せず複数のカメラフレームレート対応の1つの学習モデルを生成する構成としてもよい。
 複数のカメラフレームレート対応の1つの学習モデルを生成した場合は、フリッカ補正対象オブジェクト検出部(第2学習モデル)151Bは、入力したカメラフレームレートを情報に応じて処理態様を変更し、各フレームレートに応じた解析処理結果を出力する。
 いずれの場合も、学習モデルを利用した処理によって、カメラのフレームレートに応じてフリッカを発生させる可能性のある被写体画像、すなわちフリッカ補正対象オブジェクトを検出し、検出結果を画像補正部152に出力する。
 図11や、図17に示す実施例2のフリッカ補正部150Bのフリッカ補正対象オブジェクト検出部(第2学習モデル)151Bが実行する処理の具体例について、図18を参照して説明する。
 図18に示すように、フリッカ補正対象オブジェクト検出部(第2学習モデル)151Bは、カメラが撮影した動画像を構成する複数の連続撮影画像(例えば3連続撮影画像フレーム)と、これらの画像を撮影したカメラのフレームレート情報(例えば30fps、60fpsなど)を入力する。
 フリッカ補正対象オブジェクト検出部(第2学習モデル)151Bは、入力した複数の連続撮影画像と、カメラのフレームレート情報を第2学習モデルに入力し、フリッカを発生させる可能性のある被写体画像、すなわちフリッカ補正対象オブジェクトを検出する。
 図18に示す画像の例は、先に図1を参照して説明した撮影画像の例である。
 この撮影画像には、2つのフリッカ補正対象オブジェクトがある。すなわち、
 フリッカ補正対象オブジェクトA=信号機
 フリッカ補正対象オブジェクトB=ディスプレイ
 フリッカ補正対象オブジェクト検出部(第2学習モデル)151Bは、学習モデル(第2学習モデル)を適用して、これら2つのフリッカ補正対象オブジェクトA,Bを検出し、この検出情報を画像補正部152に出力する。
 なお、フリッカ補正対象オブジェクト検出部(第2学習モデル)151Bが画像補正部152に出力するフリッカ補正対象オブジェクト検出情報は、具体的には、例えば、フリッカ補正対象オブジェクト画像領域の撮影画像内の位置を示す座標情報や、フリッカ補正対象オブジェクト画像領域の形状情報等であり、入力画像からフリッカ補正対象オブジェクト画像領域を特定可能とするための情報である。
 画像補正部152は、フリッカ補正対象オブジェクト検出部(第1学習モデル)151が検出したフリッカ補正対象オブジェクトA,Bに対するフリッカ補正を実行する。
 図11や図17に示すように、画像補正部152は、複数の連続する撮影画像を入力し、これら複数の連続撮影画像を用いて、フリッカ補正対象オブジェクト検出部(第2学習モデル)151Bから入力したフリッカ補正対象オブジェクトA,Bの画像領域のみに対するフリッカ補正処理、すなわちフリッカを解消する処理、またはフリッカを低減するための画像補正処理を実行する。
 このように、フリッカ補正対象オブジェクト検出部(第2学習モデル)151Bによってフリッカ補正対象となる画像領域が特定されるので、画像補正部152は、撮影画像全体のフリッカ解析を行う必要がなく、フリッカ補正対象オブジェクトA,Bの画像領域のみに対するフリッカ補正を行うことが可能となる。結果として、高速、かつ高精度なフリッカ補正処理を行うことが可能となる。
 なお、画像補正部152において実行するフリッカ補正対象オブジェクトA,Bの画像領域に対するフリッカ補正処理は、先の実施例1において説明したと同様、例えば、以下の処理のいずれかである。
 (フリッカ補正処理例1)フリッカ補正対象オブジェクトの画像領域の輝度が一定になるよう直近数フレーム(例えば3枚の入力画像フレーム1~3)間で移動平均を行って、各フレームのフリッカ補正対象オブジェクトの画像領域の輝度として設定する。
 (フリッカ補正処理例2)フリッカ補正対象オブジェクトの画像領域の輝度が一定になるよう直近数フレーム(例えば3枚の入力画像フレーム1~3)間で所定輝度(例えば最大輝度)のものを選択して各フレームのフリッカ補正対象オブジェクトの画像領域の輝度として設定する。
 (フリッカ補正処理例3)フリッカ補正対象オブジェクトの画像領域を事前に用意した画像で置き換える。
 例えば、これらの処理のいずれかを実行して、撮影画像から検出されたフリッカ補正対象オブジェクトA,Bの画像領域の画像補正を実行する。
 この処理によって生成される補正画像は、フリッカが解消または低減した画像となる。
 次に図19に示すフローチャートを参照して、本実施例2のフリッカ補正部150Bが実行するフリッカ補正処理のシーケンスについて説明する。
 以下、図19に示すのフローチャートに示す各ステップの処理について説明する。
 なお、図19に示すフローは、カメラによって撮影された動画像を構成する各フレームについて順次、実行する。あるいは、予め規定したフレーム間隔で実行する構成としてもよい。
  (ステップS201)
 まず、フリッカ補正部は、ステップS201において、学習モデル(第2学習モデル)を適用して、撮影画像フレームからフリッカ補正対象オブジェクトを検出する。
 この処理は、図11、図17に示すフリッカ補正対象オブジェクト検出部(第2学習モデル)151Bが実行する処理である。
 フリッカ補正対象オブジェクト検出部(第2学習モデル)151Bは、カメラが撮影した動画像を構成する複数の連続撮影画像(例えば3連続撮影画像フレーム)と、これらの画像を撮影したカメラのフレームレート情報(例えば30fps、60fpsなど)を第2学習モデルに入力し、フリッカを発生させる可能性のある被写体画像、すなわちフリッカ補正対象オブジェクトを検出する。
 この第2学習モデルを利用した処理では、例えば点滅状態にある信号機等のオブジェクトはフリッカ補正対象オブジェクトとして選択しない。また、カメラフレームレートが60fps等、予め規定したしきい値より高い場合、入力した複数の連続撮影画像中の輝度変化オブジェクトの輝度変化幅が規定しきい値以下であるオブジェクトもフリッカ補正対象オブジェクトとして選択しない。
  (ステップS202)
 ステップS202は、フリッカ補正対象オブジェクトが検出されたか否かの判定ステップである。
 フリッカ補正対象オブジェクトが検出された場合は、ステップS203に進む。
 一方、フリッカ補正対象オブジェクトが検出されなかった場合は、処理を終了する。
 なお、後続の処理対象画像フレームがある場合、その画像フレームについてステップS201以下の処理を実行する。
  (ステップS203)
 ステップS201のフリッカ補正対象オブジェクト検出処理において、フリッカ補正対象オブジェクトが検出された場合は、ステップS203に進む。
 この場合、フリッカ補正部150は、ステップS203において、検出したフリッカ補正対象オブジェクトに対するフリッカ補正処理を実行する。
 この処理は、図11や図17に示す画像補正部152が実行する処理である。
 画像補正部152は、フリッカ補正対象オブジェクト検出部(第2学習モデル)151Bが検出したフリッカ補正対象オブジェクトに対するフリッカ補正を実行する。
 画像補正部152は、複数の連続する撮影画像を入力し、これら複数の連続撮影画像を用いて、フリッカ補正対象オブジェクト検出部(第2学習モデル)151Bから入力したフリッカ補正対象オブジェクトの画像領域のみに対するフリッカ補正処理、すなわちフリッカを解消する処理、またはフリッカを低減するための画像補正処理を実行する。
 先に説明したように、画像補正部152が実行するフリッカ補正処理は、例えば以下のいずれかの処理である。
 (フリッカ補正処理例1)フリッカ補正対象オブジェクトの画像領域の輝度が一定になるよう直近数フレーム(例えば3枚の入力画像フレーム1~3)間で移動平均を行って、各フレームのフリッカ補正対象オブジェクトの画像領域の輝度として設定する。
 (フリッカ補正処理例2)フリッカ補正対象オブジェクトの画像領域の輝度が一定になるよう直近数フレーム(例えば3枚の入力画像フレーム1~3)間で所定輝度(例えば最大輝度)のものを選択して各フレームのフリッカ補正対象オブジェクトの画像領域の輝度として設定する。
 (フリッカ補正処理例3)フリッカ補正対象オブジェクトの画像領域を事前に用意した画像で置き換える。
 例えば、これらの処理のいずれかを実行して、撮影画像から検出されたフリッカ補正対象オブジェクトの画像領域の画像補正を実行する。
 この処理によって生成される補正画像は、フリッカが解消または低減した画像となる。
 このように、本実施例2の画像処理装置は、フリッカ補正対象オブジェクト検出部151Bにおいて、複数の連続撮影画像フレームと、カメラフレームレート情報を第2学習モデルに入力してフリッカ補正対象オブジェクトを検出する。
 このようなフリッカ補正対象オブジェクト検出処理を実行することで、より高精度なフリッカ補正対象オブジェクトの検出が実現される。
 また、実施例1と同様、画像補正部152は、フリッカ補正対象オブジェクト検出部151Bが検出したフリッカ補正対象オブジェクトの画像領域のみに対するフリッカ補正を行うことが可能であり、撮影画像全体のフリッカ解析を行う必要がなく、高速、かつ高精度なフリッカ補正処理を行うことが可能となる。
  [5.(実施例3)本開示の実施例3のフリッカ補正部の構成と処理について]
 次に、本開示の実施例3のフリッカ補正部の構成と処理について説明する。
 例えばフリッカ補正対象オブジェクトの輝度変化周期がカメラフレームレートの倍数である場合、カメラの連続撮影画像フレームの全てにフリッカ補正対象オブジェクトの最低輝度状態の画像が撮影されてしまう場合がある。
 図20を参照して、具体例について説明する。
 図20には、信号機の赤信号が点灯状態にある場合の赤信号の輝度変化パターンを示している。
 図に示すように、赤信号の輝度は、最大輝度(Lmax)と最低輝度(Lmin)の輝度レベルを周期的に繰り返している。ここで、赤信号の点灯状態での輝度変化周期が「60Hz」であるとする。
 カメラフムレートは「30fps」である。
 すなわち、フリッカ補正対象オブジェクト(信号機の赤信号)の輝度変化周期はカメラフレームレートの倍数となる。
 このような設定で、例えばカメラの動画像の撮影が、図20に示すグラフの時間t1において開始されると、図に示すように、時間t1,t2,t3、すべての画像フレーム撮影タイミングで赤信号の最低輝度(Lmin)の画像が撮影されてしまう。
 このように連続撮影画像フレームのすべてが最低輝度(Lmin)の画像となってしまった場合、フリッカ補正を実行しても補正エラーが発生する。
 すなわち、図21に示すように、フリッカ補正部150の画像補正部152は、3枚の画像を用いて輝度平均化処理などのフリッカ補正を行ったとしても、補正画像の赤信号部分は真っ暗な信号状態となってしまい、実際の点灯状態とは異なる画像が生成されることになる。
 本実施例3は、このようなフリッカ補正エラーを解消する実施例である。
 図22に実施例3のフリッカ補正部150Cの構成を有する。図22に示すフリッカ補正部150Cは、先に図6を参照して説明した実施例1のフリッカ補正部150の構成に、判定部153と、警告出力部154を追加した構成である。
 判定部153は、カメラが撮影した複数の連続撮影画像フレームを入力し、さらに、フリッカ補正対象オブジェクト検出部(第1学習モデル)151から、検出されたフリッカ補正対象オブジェクト情報を入力する。
 判定部153は、フリッカ補正対象オブジェクト検出部(第1学習モデル)151が検出したフリッカ補正対象オブジェクトの輝度変化状態を解析する。
 すなわち、入力した複数の連続撮影画像フレーム内のフリッカ補正対象オブジェクトの輝度変化状態を解析する。
 この解析処理の結果として、フリッカ補正対象オブジェクトの輝度変化がなく、その輝度が予め規定したしきい値以下の輝度(例えば消灯状態に近い輝度)である場合、警告出力部154に、画像撮影実行中のユーザに対する警告出力を実行させる。
 例えば図23に示すような警告を出力する。
 図23には、カメラ10を用いて画像撮影を行っているユーザに対するメッセージとして、以下の警告メッセージを表示した例を示している。
 「フリッカ補正エラーが発生しています。撮影を一度、停止した後、再開してください」
 ユーザは、このメッセージを確認すると、撮影を停止する処理を行い、再度、撮影を開始する処理を行う。
 このように、撮影を再開することで、カメラ10による画像撮影タイミングがずらされ、例えば図24に示すような設定となる。
 図24(a)は、ユーザによる撮影停止前の撮影状態であり、先に図20を参照して説明した状態である。すなわち、図に示すように、時間t1,t2,t3、すべての画像フレームの撮影タイミングで赤信号の最低輝度(Lmin)の画像が撮影されてしまう。
 図24(b)は、ユーザによる撮影停止後、時間t10で撮影を再開した後の撮影状態の例である。この図24(b)に示す設定では、撮影タイミングが時間t10,t11,t12,t13、すべての画像フレームの撮影タイミングで赤信号の最高輝度(Lmax)の画像が撮影される。
 このような撮影画像が得られれば、最終的な補正画像も、信号機の赤信号部分は、最高輝度(Lmax)の画像とすることができる。
 なお、図22~図24を参照して説明した構成は、ユーザに画像撮影タイミングをずらすように要求する構成を持つ装置の例を説明したが、自動的に画像撮影タイミングをシフトする構成としてもよい。
 例えば図25に示すような構成である。
 図25に示すフリッカ補正部150Dは、先に図6を参照して説明した実施例1のフリッカ補正部150の構成に、判定部153と、撮影タイミング制御部155を追加した構成である。なお、撮影タイミング制御部155は、撮像部156を制御して動画像の撮影タイミングの変更処理を行う。
 判定部153は、カメラが撮影した複数の連続撮影画像フレームを入力し、さらに、フリッカ補正対象オブジェクト検出部(第1学習モデル)151から、検出されたフリッカ補正対象オブジェクト情報を入力する。
 判定部153は、フリッカ補正対象オブジェクト検出部(第1学習モデル)151が検出したフリッカ補正対象オブジェクトの輝度変化状態を解析する。
 すなわち、入力した複数の連続撮影画像フレーム内のフリッカ補正対象オブジェクトの輝度変化状態を解析する。
 この解析処理の結果として、フリッカ補正対象オブジェクトの輝度変化がなく、その輝度が予め規定したしきい値以下の輝度(例えば消灯状態に近い輝度)である場合、撮影タイミング制御部155に動画像の撮影タイミングの変更処理を実行させる。
 撮影タイミング制御部155は、撮像部156を制御して動画像の撮影タイミングの変更処理を行う。
 図26に撮影タイミング制御部155が実行する動画像撮影タイミングの変更処理例を示す。
 時間t2以前が、動画像撮影タイミングの変更処理前である。この状態は、先に図20を参照して説明した状態である。すなわち、図に示すように、時間t1以前はすべての画像フレームの撮影タイミングで赤信号の最低輝度(Lmin)の画像が撮影されてしまう。
 ここで、撮影タイミング制御部155が撮像部156を制御して動画像の撮影タイミングの変更処理を行う。
 時間t2での画像撮影を停止し、時間t3から画像撮影を再開する。この結果、新たに設定される撮影タイミング時間t3,t4,t5、すべての画像フレームの撮影タイミングで赤信号の最高輝度(Lmax)の画像が撮影される。
 このような撮影画像が得られれば、最終的な補正画像も、信号機の赤信号部分は、最高輝度(Lmax)の画像とすることができる。
 図27は、図22を参照して説明した警告出力部154を有するフリッカ補正部150Cと、図25を参照して説明した撮像タイミング制御部155を有するフリッカ補正部155Dの各構成を併せ持つフリッカ補正部150Eの構成例を示す図である。
 例えばこのような構成を持つフリッカ補正部150Eを用いて、ユーザに対する警告、あるいは撮像タイミングの自動制御を行うことで、フリッカ補正のエラーが解消される。
 次に、図28に示すフローを参照して、本実施例3のフリッカ補正部が実行するフリッカ補正処理のシーケンスについて説明する。
 以下、図28に示すのフローチャートに示す各ステップの処理について説明する。
  (ステップS301)
 まず、フリッカ補正部は、ステップS301において、学習モデルを適用して、撮影画像フレームからフリッカ補正対象オブジェクトを検出する。
 この処理は、例えば図27に示すフリッカ補正部150Eのフリッカ補正対象オブジェクト検出部(第1学習モデル)151が実行する処理である。
 フリッカ補正対象オブジェクト検出部(第1学習モデル)151は、カメラが撮影した動画像を構成する各画像フレームからフリッカを発生させる可能性のある被写体画像、すなわちフリッカ補正対象オブジェクトがあるか否かを解析する。
  (ステップS302)
 ステップS302は、フリッカ補正対象オブジェクトが検出されたか否かの判定ステップである。
 フリッカ補正対象オブジェクトが検出された場合は、ステップS303に進む。
 一方、フリッカ補正対象オブジェクトが検出されなかった場合は、処理を終了する。
 なお、後続の処理対象画像フレームがある場合、その画像フレームについてステップS301以下の処理を実行する。
  (ステップS303)
 ステップS303は、ステップS302でフリッカ補正対象オブジェクトが検出された場合に実行する。
 ステップS302でフリッカ補正対象オブジェクトが検出された場合、ステップS303において、ステップS302で検出されたフリッカ補正対象オブジェクトの輝度が予め規定したしきい値以下であるか否かを判定する。
 フリッカ補正対象オブジェクトの輝度が予め規定したしきい値以下であると判定した場合はステップS304に進む。
 一方、フリッカ補正対象オブジェクトの輝度が予め規定したしきい値以下でないと判定した場合はステップS305に進む。
 この処理は、例えば図27に示すフリッカ補正部150Eの判定部153が実行する処理である。
  (ステップS304)
 ステップS304の処理は、ステップS303で、フリッカ補正対象オブジェクトの輝度が予め規定したしきい値以下であると判定した場合に実行する。
 この場合、フリッカ補正部は、ステップS304において、以下の処理のいずれかを実行する。
 (a)ユーザに対する警告出力、
 (b)画像撮影タイミングの自動シフト処理、
 (c)フレームレートの変更処理、
 (d)シャッタースピードの変更処理
 「(a)ユーザに対する警告出力」は、先に図22~図24を参照して説明した処理であり、警告出力部154が、撮影タイミングをずらすようにユーザに対して警告を出力する処理である。
 「(b)画像撮影タイミングの自動シフト処理」は、先に図25~図26を参照して説明した処理であり、撮影タイミング制御部155が、画像撮影タイミングを自動シフトしてずらす処理である。
 「(c)フレームレートの変更処理」は、例えば、現在のカメラフレームレートが30fpsである場合、40fpsや50fpsに設定するフレームレート変更処理である。この処理を行うことで、輝度変化のある画像を撮影することが可能となる。
 また、「(d)シャッタースピードの変更処理」は、露光時間を変化させる処理である。例えば1枚の撮影画像フレームの露光時間を長く設定することで、高輝度状態の画像を撮影することが可能となる。
 このような処理を行ってもよい。
 ステップS304の処理が完了したら、ステップS303に戻る。
 ステップS303では、再度、ステップS302で検出されたフリッカ補正対象オブジェクトの輝度が予め規定したしきい値以下であるか否かを判定する。
 フリッカ補正対象オブジェクトの輝度が予め規定したしきい値以下であると判定した場合はステップS304に進む。
 一方、フリッカ補正対象オブジェクトの輝度が予め規定したしきい値以下でないと判定した場合はステップS305に進み、警告出力等の処理を繰り返す。
 最終的に、ステップS303でフリッカ補正対象オブジェクトの輝度が予め規定したしきい値以下でないと判定された場合、ステップS305に進む。
  (ステップS305)
 フリッカ補正部150は、ステップS305において、検出したフリッカ補正対象オブジェクトに対するフリッカ補正処理を実行する。
 この処理は、図27に示す画像補正部152が実行する処理である。
 画像補正部152は、フリッカ補正対象オブジェクト検出部(第1学習モデル)151が検出したフリッカ補正対象オブジェクトに対するフリッカ補正を実行する。
 画像補正部152は、複数の連続する撮影画像を入力し、これら複数の連続撮影画像を用いて、フリッカ補正対象オブジェクト検出部(第1学習モデル)151から入力したフリッカ補正対象オブジェクトの画像領域のみに対するフリッカ補正処理、すなわちフリッカを解消する処理、またはフリッカを低減するための画像補正処理を実行する。
 先に説明したように、画像補正部152が実行するフリッカ補正処理は、例えば以下のいずれかの処理である。
 (フリッカ補正処理例1)フリッカ補正対象オブジェクトの画像領域の輝度が一定になるよう直近数フレーム(例えば3枚の入力画像フレーム1~3)間で移動平均を行って、各フレームのフリッカ補正対象オブジェクトの画像領域の輝度として設定する。
 (フリッカ補正処理例2)フリッカ補正対象オブジェクトの画像領域の輝度が一定になるよう直近数フレーム(例えば3枚の入力画像フレーム1~3)間で所定輝度(例えば最大輝度)のものを選択して各フレームのフリッカ補正対象オブジェクトの画像領域の輝度として設定する。
 (フリッカ補正処理例3)フリッカ補正対象オブジェクトの画像領域を事前に用意した画像で置き換える。
 例えば、これらの処理のいずれかを実行して、撮影画像から検出されたフリッカ補正対象オブジェクトの画像領域の画像補正を実行する。
 この処理によって生成される補正画像は、フリッカが解消または低減した画像となる。
 本実施例3は、フリッカ補正対象オブジェクトがしきい値以下の輝度でありフリッカ補正エラーが発生する可能性がある場合、撮影タイミングの制御などを実行して、フリッカ補正対象オブジェクトがしきい値以上の輝度となる画像を取得して、この画像を利用してフリッカ補正を行う構成としたものである。
 このような処理を行うことで、フリッカ補正エラーの発生を防止でき、正しいフリッカ補正画像を生成することが可能となる。
 なお、本実施例3においても、実施例1、実施例2と同様、学習モデルを適用してフリッカ補正対象となる画像領域を特定し、その後、画像補正部152がフリッカ補正対象オブジェクの画像領域のみに対するフリッカ補正を行う。
 これらの処理を行うことで、撮影画像全体のフリッカ解析を行う必要がなく、フリッカ補正対象オブジェクトの画像領域のみに限定したフリッカ補正処理を行うことが可能となり、高速、かつ高精度なフリッカ補正処理を行うことが可能となる。
 なお、上述した実施例3は、先に説明した実施例1をベースとした構成として説明したが、先に説明した実施例2をベースとして実施例3の構成とすることも可能である。すなわち、先に図11や図17を参照して説明した実施例2のフリッカ補正部150Bの構成に、図27に示すフリッカ補正部150Eの判定部153や、警告出力部154、さらに撮像タイミング制御部155を追加した構成としてもよい。
  [6.画像処理装置のハードウェア構成例について]
 先に、本開示の画像処理装置は、例えばカメラ機能を備えたスマホ(スマートフォン)や、タブレット端末、PC等によって構成され得る。
 本開示の画像処理装置の一例であるスマホ(スマートフォン)や、タブレット端末、PCのハードウェア構成例について図29を参照して説明する。図29に示すハードウェアは、本開示の画像処理装置の具体的なハードウェアの一構成例である。
 CPU(Central Processing Unit)301は、ROM(Read Only Memory)302、または記憶部308に記憶されているプログラムに従って各種の処理を実行する制御部やデータ処理部として機能する。例えば、上述した実施例において説明したシーケンスに従った処理を実行する。RAM(Random Access Memory)303には、CPU301が実行するプログラムやデータなどが記憶される。これらのCPU301、ROM302、およびRAM303は、バス304により相互に接続されている。
 CPU301はバス304を介して入出力インタフェース305に接続され、入出力インタフェース305には、カメラ、各種スイッチ、マイクロホン、センサなどよりなる入力部306、ディスプレイ、スピーカーなどよりなる出力部307が接続されている。
 CPU301は、入力部306から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部307に出力する。
 入出力インタフェース305に接続されている記憶部308は、例えばフラッシュメモリ等からなり、CPU301が実行するプログラムや各種のデータを記憶する。通信部309は、NFC等の近接通信部や、Wi-Fi通信、ブルートゥース(登録商標)(BT)通信、その他インターネットやローカルエリアネットワークなどのネットワークを介したデータ通信の通信部によって構成され、外部の装置と通信する。
 入出力インタフェース305に接続されているドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、あるいはメモリカード等の半導体メモリなどのリムーバブルメディア311を駆動し、データの記録あるいは読み取りを実行する。
  [7.本開示の構成のまとめ]
 以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
 なお、本明細書において開示した技術は、以下のような構成をとることができる。
 (1) フリッカ補正処理を実行するフリッカ補正部を有し、
 前記フリッカ補正部は、
 画像からフリッカを発生させる可能性のある被写体であるフリッカ補正対象オブジェクトを検出するフリッカ補正対象オブジェクト検出部と、
 前記フリッカ補正対象オブジェクト検出部が検出したフリッカ補正対象オブジェクトの画像領域に対するフリッカ補正処理を実行する画像補正部を有し、
 前記フリッカ補正対象オブジェクト検出部は、
 学習モデルを適用したフリッカ補正対象オブジェクト検出処理を実行する画像処理装置。
 (2) 前記フリッカ補正対象オブジェクト検出部が適用する学習モデルは、
 フリッカ補正対象オブジェクトを含む多数の画像と、各画像に含まれるフリッカ補正対象オブジェクトの識別データを含む学習データセットを適用した学習処理によって生成された学習モデルである(1)に記載の画像処理装置。
 (3) 前記フリッカ補正対象オブジェクト検出部は、
 動画像を構成する1枚の画像フレームを入力して、入力画像フレームからフリッカ補正対象オブジェクトを検出し、
 前記画像補正部は、
 前記フリッカ補正対象オブジェクト検出部がフリッカ補正対象オブジェクトを検出した画像フレームを含む連続画像フレームを入力して、フリッカ補正処理を実行する(1)または(2)に記載の画像処理装置。
 (4) 前記フリッカ補正対象オブジェクト検出部が適用する学習モデルは、
 フリッカ補正対象オブジェクトを含む動画の連続画像フレームと、各画像フレームに含まれるフリッカ補正対象オブジェクトの識別データを含む学習データセットを適用した学習処理によって生成された学習モデルである(1)~(3)いずれかに記載の画像処理装置。
 (5) 前記フリッカ補正対象オブジェクト検出部が適用する学習モデルは、
 さらに、前記フリッカ補正対象オブジェクトを含む動画を撮影したカメラのフレームレート情報を適用した学習処理によって生成された学習モデルである(4)に記載の画像処理装置。
 (6) 前記フリッカ補正対象オブジェクト検出部は、
 動画を撮影したカメラのフレームレートに応じた複数の学習モデルを選択適用する構成である(4)または(5)に記載の画像処理装置。
 (7) 前記フリッカ補正対象オブジェクト検出部は、
 動画像を構成する複数の連続画像フレームを入力して、入力画像フレームからフリッカ補正対象オブジェクトを検出し、
 前記画像補正部は、
 前記フリッカ補正対象オブジェクト検出部がフリッカ補正対象オブジェクトを検出した連続画像フレームを含む画像フレームを入力して、フリッカ補正処理を実行する(4)~(6)いずれかに記載の画像処理装置。
 (8) 前記フリッカ補正対象オブジェクト検出部は、
 動画像を構成する複数の連続画像フレームを入力して、点灯中のオブジェクトと、点滅中のオブジェクトを区別して、点灯中のオブジェクトをフリッカ補正対象オブジェクトとして検出する処理を実行する(4)~(7)いずれかに記載の画像処理装置。
 (9) 前記フリッカ補正対象オブジェクト検出部は、
 動画像を構成する複数の連続画像フレームと、前記動画像を撮影したカメラのフレームレート情報を入力し、前記動画像を撮影したカメラのフレームレートに応じて、フリッカ発生可能性が高いオブジェクトをフリッカ補正対象オブジェクトとして選択する処理を実行する(4)~(8)いずれかに記載の画像処理装置。
 (10) 前記画像補正部は、
 前記フリッカ補正対象オブジェクト検出部が検出したフリッカ補正対象オブジェクトの画像領域のみを補正対象領域としたフリッカ補正処理を実行する(1)~(9)いずれかに記載の画像処理装置。
 (11) 前記フリッカ補正対象オブジェクト検出部は、
 検出したフリッカ補正対象オブジェクトの画像領域を示す座標情報を前記画像補正部に出力し、
 前記画像補正部は、前記フリッカ補正対象オブジェクト検出部から入力する座標情報に基づいて、フリッカ補正対象オブジェクトの画像領域を特定して、フリッカ補正対象オブジェクトの画像領域のみを補正対象領域としたフリッカ補正処理を実行する(1)~(10)いずれかに記載の画像処理装置。
 (12) 前記画像補正部は、
 (a)フリッカ補正対象オブジェクトの画像領域の輝度が一定になるよう直近数フレーム間で輝度の移動平均を算出し、各画像フレームのフリッカ補正対象オブジェクト画像領域の輝度として設定する画像補正処理、
 (b)フリッカ補正対象オブジェクトの画像領域の輝度が一定になるよう直近数フレーム間で所定輝度の画像フレームを選択し、各画像フレームのフリッカ補正対象オブジェクトの画像領域の輝度として設定する画像補正処理、
 (c)フリッカ補正対象オブジェクトの画像領域を事前に用意した画像で置き換える画像補正処理、
 上記(a)~(c)いずれかの画像補正処理を実行する(1)~(11)いずれかに記載の画像処理装置。
 (13) 前記画像処理装置は、さらに、
 動画像を構成する複数の連続画像フレームを入力して、複数の連続画像フレームに含まれるフリッカ補正対象オブジェクトの輝度レベルが規定しきい値以下であるか否かを判定する判定部を有する(1)~(12)いずれかに記載の画像処理装置。
 (14) 前記画像処理装置は、さらに、
 動画像を撮影中のカメラの表示部に警告メッセージを出力する警告出力部を有し、
 前記警告出力部は、
 前記判定部が、複数の連続画像フレームに含まれるフリッカ補正対象オブジェクトの輝度レベルが規定しきい値以下であるとの判定に基づいて、画像撮影タイミングのシフト処理を実行させるための警告メッセージを出力する(13)に記載の画像処理装置。
 (15) 前記画像処理装置は、さらに、
 動画像を撮影中のカメラに画像撮影タイミングのシフト処理を実行させる撮影タイミング制御部を有し、
 前記撮影タイミング制御部は、
 前記判定部が、複数の連続画像フレームに含まれるフリッカ補正対象オブジェクトの輝度レベルが規定しきい値以下であるとの判定に基づいて、前記カメラに画像撮影タイミングのシフト処理を実行させる(13)または(14)に記載の画像処理装置。
 (16) 画像処理装置において実行する画像処理方法であり、
 前記画像処理装置は、フリッカ補正処理を実行するフリッカ補正部を有し、
 前記フリッカ補正部が、
 画像からフリッカを発生させる可能性のある被写体であるフリッカ補正対象オブジェクトを検出するフリッカ補正対象オブジェクト検出処理と、
 前記フリッカ補正対象オブジェクト検出処理において検出したフリッカ補正対象オブジェクトの画像領域に対するフリッカ補正処理を実行する画像補正処理を実行し、
 前記フリッカ補正対象オブジェクト検出処理において、
 学習モデルを適用したフリッカ補正対象オブジェクト検出処理を実行する画像処理方法。
 (17) 画像処理装置に画像処理を実行させるプログラムであり、
 前記画像処理装置は、フリッカ補正処理を実行するフリッカ補正部を有し、
 前記プログラムは、前記フリッカ補正部に、
 画像からフリッカを発生させる可能性のある被写体であるフリッカ補正対象オブジェクトを検出するフリッカ補正対象オブジェクト検出処理と、
 前記フリッカ補正対象オブジェクト検出処理において検出したフリッカ補正対象オブジェクトの画像領域に対するフリッカ補正処理を実行する画像補正処理を実行させ、
 前記フリッカ補正対象オブジェクト検出処理において、
 学習モデルを適用したフリッカ補正対象オブジェクト検出処理を実行させるプログラム。
 また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
 なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 以上、説明したように、本開示の一実施例の構成によれば、フリッカ補正対象オブジェクトを効率的に検出し、フリッカ補正処理を高精度かつ高速に実行する画像処理装置が実現される。
 具体的には、例えば、フリッカ補正処理を実行するフリッカ補正部を有し、フリッカ補正部は、画像からフリッカを発生させる可能性のある被写体であるフリッカ補正対象オブジェクトを検出するフリッカ補正対象オブジェクト検出部と、フリッカ補正対象オブジェクト検出部が検出したフリッカ補正対象オブジェクトの画像領域に対するフリッカ補正処理を実行する画像補正部を有し、フリッカ補正対象オブジェクト検出部は、学習モデルを適用したフリッカ補正対象オブジェクト検出処理を実行する。
 本構成により、フリッカ補正対象オブジェクトを効率的に検出し、フリッカ補正処理を高精度かつ高速に実行する画像処理装置が実現される。
  10 カメラ
  21 信号機
  22 ディスプレイ
 100 画像処理装置(カメラ)
 101 撮像部
 102 画像処理部
 103 画像記録部
 104 記録メディア
 105 画像再生部
 106 表示部
 120 画像処理装置(外部装置)
 121 画像入力部
 122 画像処理部
 123 画像記録部
 124 記録メディア
 125 画像再生部
 126 表示部
 150,150B~E フリッカ補正部
 151 フリッカ補正対象オブジェクト検出部(第1学習モデル)
 151B フリッカ補正対象オブジェクト検出部(第2学習モデル)
 152 画像補正部
 153 判定部
 154 警告出力部
 155 撮像タイミング制御部
 156 撮像部
 171 学習処理実行部(第1学習モデル生成部)
 172 学習処理実行部(第2学習モデル生成部)
 301 CPU
 302 ROM
 303 RAM
 304 バス
 305 入出力インタフェース
 306 入力部
 307 出力部
 308 記憶部
 309 通信部
 310 ドライブ
 311 リムーバブルメディア

Claims (17)

  1.  フリッカ補正処理を実行するフリッカ補正部を有し、
     前記フリッカ補正部は、
     画像からフリッカを発生させる可能性のある被写体であるフリッカ補正対象オブジェクトを検出するフリッカ補正対象オブジェクト検出部と、
     前記フリッカ補正対象オブジェクト検出部が検出したフリッカ補正対象オブジェクトの画像領域に対するフリッカ補正処理を実行する画像補正部を有し、
     前記フリッカ補正対象オブジェクト検出部は、
     学習モデルを適用したフリッカ補正対象オブジェクト検出処理を実行する画像処理装置。
  2.  前記フリッカ補正対象オブジェクト検出部が適用する学習モデルは、
     フリッカ補正対象オブジェクトを含む多数の画像と、各画像に含まれるフリッカ補正対象オブジェクトの識別データを含む学習データセットを適用した学習処理によって生成された学習モデルである請求項1に記載の画像処理装置。
  3.  前記フリッカ補正対象オブジェクト検出部は、
     動画像を構成する1枚の画像フレームを入力して、入力画像フレームからフリッカ補正対象オブジェクトを検出し、
     前記画像補正部は、
     前記フリッカ補正対象オブジェクト検出部がフリッカ補正対象オブジェクトを検出した画像フレームを含む連続画像フレームを入力して、フリッカ補正処理を実行する請求項1に記載の画像処理装置。
  4.  前記フリッカ補正対象オブジェクト検出部が適用する学習モデルは、
     フリッカ補正対象オブジェクトを含む動画の連続画像フレームと、各画像フレームに含まれるフリッカ補正対象オブジェクトの識別データを含む学習データセットを適用した学習処理によって生成された学習モデルである請求項1に記載の画像処理装置。
  5.  前記フリッカ補正対象オブジェクト検出部が適用する学習モデルは、
     さらに、前記フリッカ補正対象オブジェクトを含む動画を撮影したカメラのフレームレート情報を適用した学習処理によって生成された学習モデルである請求項4に記載の画像処理装置。
  6.  前記フリッカ補正対象オブジェクト検出部は、
     動画を撮影したカメラのフレームレートに応じた複数の学習モデルを選択適用する構成である請求項4に記載の画像処理装置。
  7.  前記フリッカ補正対象オブジェクト検出部は、
     動画像を構成する複数の連続画像フレームを入力して、入力画像フレームからフリッカ補正対象オブジェクトを検出し、
     前記画像補正部は、
     前記フリッカ補正対象オブジェクト検出部がフリッカ補正対象オブジェクトを検出した連続画像フレームを含む画像フレームを入力して、フリッカ補正処理を実行する請求項4に記載の画像処理装置。
  8.  前記フリッカ補正対象オブジェクト検出部は、
     動画像を構成する複数の連続画像フレームを入力して、点灯中のオブジェクトと、点滅中のオブジェクトを区別して、点灯中のオブジェクトをフリッカ補正対象オブジェクトとして検出する処理を実行する請求項4に記載の画像処理装置。
  9.  前記フリッカ補正対象オブジェクト検出部は、
     動画像を構成する複数の連続画像フレームと、前記動画像を撮影したカメラのフレームレート情報を入力し、前記動画像を撮影したカメラのフレームレートに応じて、フリッカ発生可能性が高いオブジェクトをフリッカ補正対象オブジェクトとして選択する処理を実行する請求項4に記載の画像処理装置。
  10.  前記画像補正部は、
     前記フリッカ補正対象オブジェクト検出部が検出したフリッカ補正対象オブジェクトの画像領域のみを補正対象領域としたフリッカ補正処理を実行する請求項1に記載の画像処理装置。
  11.  前記フリッカ補正対象オブジェクト検出部は、
     検出したフリッカ補正対象オブジェクトの画像領域を示す座標情報を前記画像補正部に出力し、
     前記画像補正部は、前記フリッカ補正対象オブジェクト検出部から入力する座標情報に基づいて、フリッカ補正対象オブジェクトの画像領域を特定して、フリッカ補正対象オブジェクトの画像領域のみを補正対象領域としたフリッカ補正処理を実行する請求項1に記載の画像処理装置。
  12.  前記画像補正部は、
     (a)フリッカ補正対象オブジェクトの画像領域の輝度が一定になるよう直近数フレーム間で輝度の移動平均を算出し、各画像フレームのフリッカ補正対象オブジェクト画像領域の輝度として設定する画像補正処理、
     (b)フリッカ補正対象オブジェクトの画像領域の輝度が一定になるよう直近数フレーム間で所定輝度の画像フレームを選択し、各画像フレームのフリッカ補正対象オブジェクトの画像領域の輝度として設定する画像補正処理、
     (c)フリッカ補正対象オブジェクトの画像領域を事前に用意した画像で置き換える画像補正処理、
     上記(a)~(c)いずれかの画像補正処理を実行する請求項1に記載の画像処理装置。
  13.  前記画像処理装置は、さらに、
     動画像を構成する複数の連続画像フレームを入力して、複数の連続画像フレームに含まれるフリッカ補正対象オブジェクトの輝度レベルが規定しきい値以下であるか否かを判定する判定部を有する請求項1に記載の画像処理装置。
  14.  前記画像処理装置は、さらに、
     動画像を撮影中のカメラの表示部に警告メッセージを出力する警告出力部を有し、
     前記警告出力部は、
     前記判定部が、複数の連続画像フレームに含まれるフリッカ補正対象オブジェクトの輝度レベルが規定しきい値以下であるとの判定に基づいて、画像撮影タイミングのシフト処理を実行させるための警告メッセージを出力する請求項13に記載の画像処理装置。
  15.  前記画像処理装置は、さらに、
     動画像を撮影中のカメラに画像撮影タイミングのシフト処理を実行させる撮影タイミング制御部を有し、
     前記撮影タイミング制御部は、
     前記判定部が、複数の連続画像フレームに含まれるフリッカ補正対象オブジェクトの輝度レベルが規定しきい値以下であるとの判定に基づいて、前記カメラに画像撮影タイミングのシフト処理を実行させる請求項13に記載の画像処理装置。
  16.  画像処理装置において実行する画像処理方法であり、
     前記画像処理装置は、フリッカ補正処理を実行するフリッカ補正部を有し、
     前記フリッカ補正部が、
     画像からフリッカを発生させる可能性のある被写体であるフリッカ補正対象オブジェクトを検出するフリッカ補正対象オブジェクト検出処理と、
     前記フリッカ補正対象オブジェクト検出処理において検出したフリッカ補正対象オブジェクトの画像領域に対するフリッカ補正処理を実行する画像補正処理を実行し、
     前記フリッカ補正対象オブジェクト検出処理において、
     学習モデルを適用したフリッカ補正対象オブジェクト検出処理を実行する画像処理方法。
  17.  画像処理装置に画像処理を実行させるプログラムであり、
     前記画像処理装置は、フリッカ補正処理を実行するフリッカ補正部を有し、
     前記プログラムは、前記フリッカ補正部に、
     画像からフリッカを発生させる可能性のある被写体であるフリッカ補正対象オブジェクトを検出するフリッカ補正対象オブジェクト検出処理と、
     前記フリッカ補正対象オブジェクト検出処理において検出したフリッカ補正対象オブジェクトの画像領域に対するフリッカ補正処理を実行する画像補正処理を実行させ、
     前記フリッカ補正対象オブジェクト検出処理において、
     学習モデルを適用したフリッカ補正対象オブジェクト検出処理を実行させるプログラム。
PCT/JP2023/006808 2022-03-30 2023-02-24 画像処理装置、および画像処理方法、並びにプログラム WO2023189080A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022056725 2022-03-30
JP2022-056725 2022-03-30

Publications (1)

Publication Number Publication Date
WO2023189080A1 true WO2023189080A1 (ja) 2023-10-05

Family

ID=88200562

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/006808 WO2023189080A1 (ja) 2022-03-30 2023-02-24 画像処理装置、および画像処理方法、並びにプログラム

Country Status (1)

Country Link
WO (1) WO2023189080A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008134844A (ja) * 2006-11-28 2008-06-12 Alpine Electronics Inc ドライブレコーダおよびその画像取得タイミング制御方法
JP2008199144A (ja) * 2007-02-09 2008-08-28 Matsushita Electric Ind Co Ltd ネットワークカメラ
JP2008293280A (ja) * 2007-05-24 2008-12-04 Aisin Aw Co Ltd 信号機検出装置、信号機検出方法及びプログラム
JP2015115922A (ja) * 2013-12-16 2015-06-22 オリンパス株式会社 撮像装置および撮像方法
JP2017174380A (ja) * 2016-03-16 2017-09-28 株式会社リコー 認識装置、物体の認識方法、プログラム、及び、記憶媒体
JP2020039123A (ja) * 2018-08-31 2020-03-12 ソニー株式会社 撮像装置、撮像システム、撮像方法および撮像プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008134844A (ja) * 2006-11-28 2008-06-12 Alpine Electronics Inc ドライブレコーダおよびその画像取得タイミング制御方法
JP2008199144A (ja) * 2007-02-09 2008-08-28 Matsushita Electric Ind Co Ltd ネットワークカメラ
JP2008293280A (ja) * 2007-05-24 2008-12-04 Aisin Aw Co Ltd 信号機検出装置、信号機検出方法及びプログラム
JP2015115922A (ja) * 2013-12-16 2015-06-22 オリンパス株式会社 撮像装置および撮像方法
JP2017174380A (ja) * 2016-03-16 2017-09-28 株式会社リコー 認識装置、物体の認識方法、プログラム、及び、記憶媒体
JP2020039123A (ja) * 2018-08-31 2020-03-12 ソニー株式会社 撮像装置、撮像システム、撮像方法および撮像プログラム

Similar Documents

Publication Publication Date Title
US7738024B2 (en) Image processing method, imaging apparatus, and storage medium storing control program of image processing method executable by computer
US9860454B2 (en) Reproducing apparatus and reproducing method
KR100994596B1 (ko) 소정 조건을 따른 화상을 기록하는 촬상장치, 촬영방법 및 그 프로그램을 기록한 기록매체
US20120189263A1 (en) Imaging apparatus and imaging method for taking moving image
US9723201B2 (en) Image capturing apparatus and control method therefor
AU2016373981A1 (en) Calibration of defective image sensor elements
JP2007306225A (ja) 撮像装置および方法、並びにプログラム
CN101820504A (zh) 摄像装置
JP2012156885A (ja) 撮像装置
JP2012019429A (ja) 撮像信号処理回路及び撮像信号処理方法
JP2018074421A (ja) 撮像装置及びその制御方法並びにプログラム
WO2023189080A1 (ja) 画像処理装置、および画像処理方法、並びにプログラム
JP3985005B2 (ja) 撮像装置、画像処理装置、撮像装置の制御方法、およびこの制御方法をコンピュータに実行させるためのプログラム
JP2006287743A (ja) 情報処理装置及びその制御方法、プログラム、記憶媒体
EP3799416B1 (en) Image processing apparatus and method, and image capturing apparatus
JP7490397B2 (ja) 画像処理装置、判定方法およびプログラム
US10762830B2 (en) Display apparatus, method, and storage medium
US10594912B2 (en) Flash band determination device for detecting flash band, method of controlling the same, storage medium, and image pickup apparatus
WO2019244667A1 (ja) 情報処理装置、情報処理方法、およびプログラム
US11588985B2 (en) Electronic apparatus and control method thereof
JP2014165621A (ja) 監視装置及び監視装置の制御方法
JP6631649B2 (ja) 撮像装置
US20220368827A1 (en) Image capturing apparatus and method of controlling the same, and storage medium
JP2006217418A (ja) 画像処理装置及び方法
JP2009253808A (ja) 画像処理装置、撮像装置、画像処理方法、およびプログラム

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

Country of ref document: EP

Kind code of ref document: A1