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

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

Info

Publication number
WO2010024265A1
WO2010024265A1 PCT/JP2009/064818 JP2009064818W WO2010024265A1 WO 2010024265 A1 WO2010024265 A1 WO 2010024265A1 JP 2009064818 W JP2009064818 W JP 2009064818W WO 2010024265 A1 WO2010024265 A1 WO 2010024265A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
subject
map
difference
weight
Prior art date
Application number
PCT/JP2009/064818
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 ソニー株式会社
Priority to US12/738,783 priority Critical patent/US8494256B2/en
Priority to CN2009801007433A priority patent/CN101828201B/zh
Priority to RU2010115471/08A priority patent/RU2479037C2/ru
Priority to EP09809916A priority patent/EP2199979A4/en
Priority to BRPI0905077-9A priority patent/BRPI0905077A2/pt
Publication of WO2010024265A1 publication Critical patent/WO2010024265A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/409Edge or detail enhancement; Noise or error suppression
    • H04N1/4092Edge or detail enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/409Edge or detail enhancement; Noise or error suppression
    • 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
    • H04N23/64Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image quality inspection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2101/00Still video cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/142Edging; Contouring

Definitions

  • the present invention relates to an image processing device and method, a learning device and method, and a program, and in particular, an image processing device and method, a learning device and a method capable of easily selecting an image presumed to be enjoyable. , As well as programs.
  • Patent Document 2 a technique for evaluating the quality of an image as a photograph based on the sharpness of the image, the quality of the face image, and the presence or absence of flare.
  • Patent Document 3 a technique for evaluating the quality of an image as a photograph based on the sharpness of the image, the quality of the face image, and the presence or absence of flare.
  • the above-described technique reliably evaluates whether the image to be evaluated is an image that is estimated to be able to be enjoyed by the user, that is, whether the subject is a clear image. Was difficult.
  • the degree of blur and exposure of the entire image are evaluated, but the degree of blur for images that are not obtained by continuous shooting. Even if the exposure is evaluated, the evaluation of the image that has been successfully captured does not necessarily increase.
  • the present invention has been made in view of such a situation, and makes it possible to more reliably evaluate whether an image to be evaluated is an image in which a subject is clearly visible. It is.
  • the image processing apparatus includes a generation unit that generates subject specifying information for specifying a region of a subject on the input image based on the input image, the subject specifying information, and the input image. And detecting means for detecting the degree of blurring of the subject with the region including the subject in the input image as a processing target.
  • the generation unit is different from the information map generation unit that extracts a feature amount of a feature of the subject area from the input image and generates an information map indicating the feature amount in each region of the input image.
  • Subject identification information generating means for generating the subject identification information can be provided by weighted addition of the plurality of information maps indicating the feature quantities of the features.
  • the detection means can detect the degree of blur of the subject by detecting the strength of the edge in the region of the subject.
  • the information map generation means extracts the feature amount from the input image to generate a feature image indicating the feature amount in each region of the input image, and a plurality of resolutions different from each other based on the feature image
  • the information map can be generated by generating the feature image and obtaining a difference between the plurality of feature images.
  • the image processing method or program according to the first aspect of the present invention generates subject specifying information for specifying a region of a subject on the input image based on the input image, and uses the subject specifying information and the input image. And a step of detecting a blur condition of the subject with a region including the subject in the input image as a processing target.
  • subject specifying information for specifying a region of a subject on the input image is generated based on the input image, the subject specifying information and the input image are used, and The degree of blur of the subject is detected using the region including the subject in the input image as a processing target.
  • a learning device is a learning device that obtains weights used for generating a subject map for specifying a region of a subject on an image by learning using a neural network, wherein the subject is An information map generating unit configured to extract a feature amount of a feature included in the region of the subject from a learning image included and used for learning, and to generate an information map indicating the feature amount in each region of the learning image; A subject map generation unit that generates the subject map by weighted addition of a plurality of the information maps indicating the feature amounts of the different features from each other, and the subject map A weight variable for calculating a change amount to change the weight using an image label indicating the region of the subject in the learning image. And quantity calculating means, by adding the amount of change in the weight, and a update means for updating the weights.
  • a learning method or program is a learning method or program for obtaining a weight used for generating a subject map for specifying a region of a subject on an image by learning using a neural network.
  • the feature amount of the feature of the subject area is extracted from the learning image that includes the subject and is used for learning, and generates an information map indicating the feature amount in each region of the learning image.
  • the subject map is generated by weighted addition of the plurality of information maps indicating the feature amounts of the different features using the weights, and the subject map and the subject in the learning image obtained in advance are generated. And calculating an amount of change to change the weight using an image label indicating a region of Addition to, including a step of updating the weights.
  • the subject in the learning process for obtaining a weight used for generating a subject map for specifying a region of a subject on an image by learning using a neural network, the subject is included, A feature quantity of the feature of the subject area is extracted from a learning image used for learning, an information map indicating the feature quantity in each area of the learning image is generated, and the feature quantity of the feature different from each other is generated.
  • the subject map is generated by weighted addition of the plurality of information maps shown using the weights, and the subject map and an image label indicating the region of the subject in the learning image obtained in advance are provided. Is used to calculate the amount of change to change the weight, and the amount of change is added to the weight. It is updated.
  • an image can be evaluated.
  • the weight used for evaluating the image can be obtained.
  • FIG. 1 It is a figure which shows the structural example of one Embodiment of the image processing apparatus to which this invention is applied. It is a figure which shows the structural example of a brightness
  • FIG. 1 is a block diagram showing a configuration example of an embodiment of an image processing apparatus to which the present invention is applied.
  • the image processing apparatus 11 is mounted on an imaging apparatus such as a camera, for example, and evaluates the captured input image.
  • an imaging apparatus such as a camera, for example.
  • the best shot which is a well-captured image
  • the subject on the input image is not blurred or blurred and is clearly visible.
  • a bad shot is an image that has not been captured well.
  • an input image in which the subject is estimated to be clearer is considered to be an image that can be more appreciated by the user, and a higher evaluation value (score) is given. For example, when the evaluation value of the input image is greater than or equal to a predetermined threshold value, the input image is taken as the best shot.
  • the image processing apparatus 11 includes a subject extraction unit 21 and a determination unit 22, and an input image obtained by imaging is supplied to the subject extraction unit 21 and the determination unit 22.
  • the subject extraction unit 21 detects a subject from the supplied input image, generates a subject map that is information for specifying a region including the subject in the input image, and supplies the subject map to the determination unit 22.
  • the detection of the subject is performed assuming that the object on the input image that is estimated to be noticed by the user, that is, the object that is estimated to be turned to the user is the subject. . Therefore, the subject is not necessarily limited to a person.
  • the subject extraction unit 21 includes a luminance information extraction unit 41, a color information extraction unit 42, an edge information extraction unit 43, a face information extraction unit 44, a motion information extraction unit 45, and a subject map generation unit 46.
  • the luminance information extraction unit 41 generates a luminance information map indicating information regarding luminance in each region of the input image based on the supplied input image, and supplies the luminance information map to the subject map generation unit 46.
  • the color information extraction unit 42 Based on the supplied input image, the color information extraction unit 42 generates a color information map indicating information regarding the color in each region of the input image, and supplies the color information map to the subject map generation unit 46.
  • the edge information extraction unit 43 generates an edge information map indicating information about edges in each area of the input image based on the supplied input image, and supplies the edge information map to the subject map generation unit 46.
  • the face information extraction unit 44 generates a face information map indicating information related to a human face as a subject in each region of the input image based on the supplied input image, and supplies the face information map to the subject map generation unit 46.
  • the motion information extraction unit 45 generates a motion information map indicating information regarding motion in each region of the input image based on the supplied input image, and supplies the motion information map to the subject map generation unit 46.
  • the information included in these information maps is information indicating the feature quantities of features that are included more in the area including the subject, and the information map is obtained by arranging the information corresponding to each area of the input image.
  • the information map can be said to be information indicating the feature amount in each region of the input image.
  • an area on the input image corresponding to a region with a larger amount of information in each information map, that is, a region with a larger amount of features, is a region with a higher possibility of including a subject. Can be specified.
  • the subject map generation unit 46 linearly combines the luminance information map, the color information map, the edge information map, the face information map, and the motion information map supplied from the luminance information extraction unit 41 to the motion information extraction unit 45 to obtain the subject map. Generate. In other words, the information (feature amount) of each area of the luminance information map or motion information map is weighted and added for each area at the same position to generate a subject map.
  • the subject map generation unit 46 supplies the generated subject map to the determination unit 22.
  • the determination unit 22 uses the supplied input image and the subject map supplied from the subject map generating unit 46 of the subject extracting unit 21, the determination unit 22 calculates and outputs a score that serves as an index for evaluating the input image.
  • the determination unit 22 includes a blur determination unit 51, an exposure determination unit 52, a white balance determination unit 53, and a score calculation unit 54.
  • the blur determination unit 51 uses the supplied input image and the subject map supplied from the subject map generation unit 46 as a processing target for the area including the subject in the input image, and determines the degree of blur (degree of blur). ) And the detection result is supplied to the score calculation unit 54.
  • the exposure determination unit 52 detects the appropriate degree of exposure in the entire input image based on the supplied input image, and supplies the detection result to the score calculation unit 54.
  • the white balance determination unit 53 detects the degree of appropriateness of white balance in the entire input image based on the supplied input image, and supplies the detection result to the score calculation unit 54.
  • the score calculation unit 54 calculates and outputs the score of the input image based on the detection results supplied from each of the blur determination unit 51, the exposure determination unit 52, and the white balance determination unit 53.
  • FIG. 2 is a block diagram illustrating a configuration example of the luminance information extraction unit 41.
  • the luminance information extraction unit 41 includes a luminance image generation unit 81, a pyramid image generation unit 82, a difference calculation unit 83, and a luminance information map generation unit 84.
  • the luminance image generation unit 81 uses the supplied input image to generate a luminance image having the luminance value of the pixel of the input image as the pixel value of the pixel, and supplies the luminance image to the pyramid image generation unit 82.
  • the pixel value of an arbitrary pixel of the luminance image indicates the luminance value of the pixel of the input image at the same position as the pixel.
  • the pyramid image generation unit 82 uses the luminance image supplied from the luminance image generation unit 81 to generate a plurality of luminance images having different resolutions, and supplies these luminance images to the difference calculation unit 83 as luminance pyramid images. To do.
  • pyramid images of eight resolution layers from level L1 to level L8 are generated, the pyramid image of level L1 has the highest resolution, and the resolution of the pyramid image sequentially decreases from level L1 to level L8. .
  • the luminance image generated by the luminance image generation unit 81 is a pyramid image of level L1.
  • the pyramid image of level Li (where 1 ⁇ i ⁇ 7)
  • the pyramid image at the level L (i + 1) is an image of half the length and breadth (discarded if not divisible) with respect to the pyramid image at the level Li.
  • the difference calculation unit 83 selects two pyramid images having different hierarchies from among the plurality of pyramid images supplied from the pyramid image generation unit 82, obtains a difference between the selected pyramid images, and generates a luminance difference image. . Since the pyramid images in each layer have different sizes (number of pixels), the smaller pyramid image is up-converted in accordance with the larger pyramid image when generating the difference image.
  • the difference calculation unit 83 When the difference calculation unit 83 generates a predetermined number of luminance difference images, the difference calculation unit 83 normalizes the generated difference images and supplies the normalized difference images to the luminance information map generation unit 84.
  • the luminance information map generation unit 84 generates a luminance information map based on the difference image supplied from the difference calculation unit 83 and supplies the luminance information map to the subject map generation unit 46.
  • FIG. 3 is a block diagram illustrating a configuration example of the color information extraction unit 42 of FIG.
  • the color information extraction unit 42 includes an RG difference image generation unit 111, a BY difference image generation unit 112, a pyramid image generation unit 113, a pyramid image generation unit 114, a difference calculation unit 115, a difference calculation unit 116, a color information map generation unit 117, And a color information map generator 118.
  • the RG difference image generation unit 111 generates an RG difference image using a difference between the R (red) component and the G (green) component of the pixel of the input image as the pixel value of the pixel, using the supplied input image. And supplied to the pyramid image generation unit 113.
  • the pixel value of an arbitrary pixel of the RG difference image indicates a difference value between the R component and the G component of the pixel of the input image at the same position as the pixel.
  • the BY difference image generation unit 112 uses the supplied input image to generate a BY difference image in which the difference between the B (blue) component and the Y (yellow) component of the pixel of the input image is the pixel value of the pixel. And supplied to the pyramid image generation unit 114.
  • the pixel value of an arbitrary pixel of the BY difference image indicates a difference value between the B (blue) component and the Y (yellow) component of the pixel of the input image at the same position as the pixel.
  • the pyramid image generation unit 113 and the pyramid image generation unit 114 use the RG difference image and the BY difference image supplied from the RG difference image generation unit 111 and the BY difference image generation unit 112, and use a plurality of RG difference images having different resolutions. And a BY difference image are generated. Then, the pyramid image generation unit 113 and the pyramid image generation unit 114 use the generated RG difference image and BY difference image as the RG difference pyramid image and the BY difference pyramid image, respectively, as the difference calculation unit 115 and difference calculation. Supplied to the unit 116.
  • pyramid images of eight resolution layers from level L1 to level L8 are generated.
  • the difference calculation unit 115 and the difference calculation unit 116 select two pyramid images having different hierarchies from among the plurality of pyramid images supplied from the pyramid image generation unit 113 and the pyramid image generation unit 114, and select the pyramid image of the selected pyramid image.
  • the difference is obtained, and a difference image of RG difference and a difference image of BY difference are generated. Since the pyramid images of the respective layers have different sizes, the lower pyramid image is up-converted to have the same size as the larger pyramid image when the difference image is generated.
  • the difference image generation unit 115 When the difference calculation unit 115 and the difference calculation unit 116 generate the difference image of the RG difference and the difference image of the BY difference by a predetermined number, the difference image generation unit 115 normalizes the generated difference image, and the color information map generation unit 117 and the color information map generator 118.
  • the color information map generation unit 117 and the color information map generation unit 118 generate a color information map based on the difference images supplied from the difference calculation unit 115 and the difference calculation unit 116 and supply the color information map to the subject map generation unit 46.
  • the color information map generation unit 117 generates a color information map of RG differences
  • the color information map generation unit 118 generates a color information map of BY differences.
  • FIG. 4 is a block diagram illustrating a configuration example of the edge information extraction unit 43 in FIG.
  • the edge information extraction unit 43 includes an edge image generation unit 141 through edge image generation unit 144, a pyramid image generation unit 145 through pyramid image generation unit 148, a difference calculation unit 149 through difference calculation unit 152, and an edge information map generation unit 153 through edge.
  • the information map generation unit 156 is configured.
  • the edge image generation unit 141 to the edge image generation unit 144 perform a filtering process using a Gabor filter on the supplied input image, for example, to obtain edge strengths in directions of 0 degrees, 45 degrees, 90 degrees, and 135 degrees.
  • An edge image as a pixel value of the pixel is generated and supplied to the pyramid image generation unit 145 to the pyramid image generation unit 148.
  • the pixel value of an arbitrary pixel of the edge image generated by the edge image generation unit 141 indicates the edge strength in the direction of 0 degree in the pixel of the input image at the same position as the pixel.
  • the direction of each edge refers to a direction indicated by an angle component in a Gabor function that constitutes a Gabor filter.
  • the pyramid image generation unit 145 to the pyramid image generation unit 148 generate a plurality of edge images having different resolutions using the edge images in the respective directions supplied from the edge image generation unit 141 to the edge image generation unit 144. Then, the pyramid image generation unit 145 through the pyramid image generation unit 148 supply the generated edge images in the respective directions to the difference calculation units 149 through 152 as pyramid images in the respective directions of the edges.
  • the difference calculation unit 149 to the difference calculation unit 152 select two pyramid images having different hierarchies from among the plurality of pyramid images supplied from the pyramid image generation unit 145 to the pyramid image generation unit 148, and select the selected pyramid image. To obtain a difference image in each direction of the edge. Note that the pyramid images of the respective layers have different sizes, so that the smaller pyramid image is up-converted when the difference image is generated.
  • the difference calculation unit 149 to the difference calculation unit 152 When the difference calculation unit 149 to the difference calculation unit 152 generate a difference image in each direction of the edge by a predetermined number, the generated difference images are normalized, and the edge information map generation unit 153 to the edge information map generation unit 156.
  • the edge information map generation unit 153 to the edge information map generation unit 156 generate an edge information map in each direction based on the difference image supplied from the difference calculation unit 149 to the difference calculation unit 152, and sends it to the subject map generation unit 46. Supply.
  • FIG. 5 is a block diagram illustrating a configuration example of the face information extraction unit 44 of FIG.
  • the face information extraction unit 44 includes a face detection unit 181 and a face information map generation unit 182.
  • the face detection unit 181 detects a human face area as a subject from the supplied input image, and supplies the detection result to the face information map generation unit 182.
  • the face information map generation unit 182 generates a face information map based on the detection result from the face detection unit 181 and supplies it to the subject map generation unit 46.
  • FIG. 6 is a block diagram illustrating a configuration example of the motion information extraction unit 45 in FIG.
  • the motion information extraction unit 45 includes a local motion vector extraction unit 211, a global motion vector extraction unit 212, a difference calculation unit 213, and a motion information map generation unit 214.
  • the local motion vector extraction unit 211 detects, as a local motion vector, a motion vector of each pixel of the input image using the supplied input image and another input image having a different imaging time from the input image. It supplies to the calculation part 213.
  • the global motion vector extraction unit 212 obtains a motion vector of each pixel of the input image using the supplied input image and another input image having a different imaging time from the input image. An average value of the motion vectors of the pixels is set as a global motion vector and supplied to the difference calculation unit 213. This global motion vector indicates the direction of movement of the entire input image.
  • the difference calculation unit 213 obtains the absolute value of the difference between the local motion vector from the local motion vector extraction unit 211 and the global motion vector from the global motion vector extraction unit 212 to generate a motion difference image, and a motion information map This is supplied to the generation unit 214.
  • the pixel value of an arbitrary pixel in the motion difference image indicates the absolute value of the difference between the local motion vector of the pixel of the input image at the same position as the pixel and the global motion vector of the entire input image. . Therefore, the pixel value of the pixel of the motion difference image indicates the relative amount of motion of the object (or background) displayed on the pixel of the input image with respect to the entire input image, that is, the background.
  • the motion information map generation unit 214 generates a motion information map based on the motion difference image from the difference calculation unit 213 and supplies it to the subject map generation unit 46.
  • the generation of the motion information map is performed when, for example, an input image captured continuously in time is supplied, for example, an input image continuously shot or a moving image. Done in case.
  • FIG. 7 is a block diagram illustrating a configuration example of the blur determination unit 51 in FIG.
  • the blur determination unit 51 includes an edge map generation unit 241, a dynamic range detection unit 242, a calculation parameter adjustment unit 243, a local max generation unit 244, an edge point extraction unit 245, an extraction amount determination unit 246, an edge analysis unit 247, and a degree of blur.
  • the detection unit 248 is configured.
  • the edge map generation unit 241 uses the supplied input image and the subject map from the subject map generation unit 46 to extract, from the input image, a region estimated to contain the subject as a subject image.
  • the edge map generation unit 241 detects the edge strength (edge strength) of the subject image in units of three types of blocks having different sizes based on the subject image, and uses the detected edge strength as a pixel value. Generate a map. This edge map is generated for each block size, and is set as an edge map of scale SC1 to SC3 in order from the smallest block. The edge map generation unit 241 supplies the generated three edge maps to the dynamic range detection unit 242 and the local max generation unit 244.
  • the dynamic range detection unit 242 detects the dynamic range that is the difference between the maximum value and the minimum value of the edge intensity of the subject image using the edge map from the edge map generation unit 241, and calculates the detection result as the calculation parameter adjustment unit 243. To supply.
  • the calculation parameter adjuster 243 Based on the detection result supplied from the dynamic range detector 242, the calculation parameter adjuster 243 has an appropriate value for the edge point extraction amount (hereinafter also referred to as edge point extraction amount) used to detect the degree of blur in the subject image.
  • edge point extraction amount used to detect the degree of blur in the subject image.
  • the calculation parameters used for edge point extraction are adjusted so that Here, an edge point refers to a pixel that constitutes an edge in an image.
  • calculation parameters include an edge reference value used for determining whether or not an edge point is used, and an extraction reference value used for determining whether or not an edge point extraction amount is appropriate.
  • the calculation parameter adjustment unit 243 supplies the edge reference value to the edge point extraction unit 245 and the extraction amount determination unit 246, and supplies the extraction reference value to the extraction amount determination unit 246.
  • the local max generation unit 244 generates the local max by dividing the edge map supplied from the edge map generation unit 241 into blocks each having a predetermined size and extracting the maximum pixel value of each block.
  • the local max is generated for each scale of the edge map, and is supplied from the local max generating unit 244 to the edge point extracting unit 245 and the edge analyzing unit 247.
  • the local maxes generated from the edge maps of the scales SC1 to SC3 are referred to as local max LM1 to local max LM3, respectively.
  • the edge point extraction unit 245 Based on the subject map from the subject map generation unit 46, the edge reference value from the calculation parameter adjustment unit 243, and the local max from the local max generation unit 244, the edge point extraction unit 245 extracts from the region of the subject on the subject image. Extract edge points. Further, the edge point extraction unit 245 generates an edge point table indicating information on the extracted edge points, and supplies the edge point table to the extraction amount determination unit 246.
  • the edge point tables obtained from the local max LM1 to the local max LM3 will be referred to as the edge point table ET1 to the edge point table ET3.
  • the extraction amount determination unit 246 determines whether the edge point extraction amount is appropriate based on the edge point table from the edge point extraction unit 245 and the extraction reference value from the calculation parameter adjustment unit 243. When the edge point extraction amount is not appropriate, the extraction amount determination unit 246 notifies the calculation parameter adjustment unit 243 that the edge point extraction amount is not appropriate. When the edge point extraction amount is appropriate, the edge reference value at that time The edge point table is supplied to the edge analysis unit 247.
  • the edge analysis unit 247 analyzes the edge point of the subject area in the subject image based on the edge point table from the extraction amount determination unit 246 and supplies the analysis result to the blur detection unit 248.
  • the blur degree detection unit 248 detects a blur degree, which is an index indicating the degree of blur of the subject on the input image, based on the analysis result of the edge point, and supplies the blur degree to the score calculation unit 54.
  • step S11 the luminance information extraction unit 41 performs luminance information extraction processing, generates a luminance information map based on the supplied input image, and supplies the luminance information map to the subject map generation unit 46.
  • step S 12 the color information extraction unit 42 performs color information extraction processing, generates a color information map based on the supplied input image, and supplies the color information map to the subject map generation unit 46.
  • step S ⁇ b> 13 the edge information extraction unit 43 performs edge information extraction processing, generates an edge information map based on the supplied input image, and supplies it to the subject map generation unit 46.
  • step S ⁇ b> 14 the face information extraction unit 44 performs face information extraction processing, generates a face information map based on the supplied input image, and supplies the face information map to the subject map generation unit 46.
  • step S15 the motion information extraction unit 45 performs a motion information extraction process, generates a motion information map based on the supplied input image, and supplies the motion information map to the subject map generation unit 46.
  • the motion information extraction process is not performed when an input image captured continuously in time is not supplied to the subject extraction unit 21.
  • step S ⁇ b> 16 the subject map generation unit 46 generates a subject map using the luminance information map or motion information map supplied from the luminance information extraction unit 41 to motion information extraction unit 45 and supplies the subject map to the blur determination unit 51. .
  • the subject map generation unit 46 linearly combines each information map using the information weight Wb, which is a weight obtained in advance for each information map, and further, in advance, the pixel value of the map obtained as a result thereof.
  • the subject weight Wc which is the obtained weight, is multiplied and normalized to obtain a subject map.
  • the target position (pixel) on the subject map to be obtained is the target position
  • the pixel value at the same position (pixel) as the target position of each information map is multiplied by the information weight Wb for each information map.
  • the sum of pixel values multiplied by the information weight Wb is used as the pixel value at the target position.
  • the pixel value at each position of the subject map obtained in this way is multiplied by a subject weight Wc obtained in advance for the subject map to be normalized to obtain a final subject map.
  • an RG difference color information map and a BY difference color information map are used as the color information map, and 0 degree, 45 degree, 90 degree, and 135 degree are used as the edge information map.
  • the subject information map is generated using the edge information maps in the respective directions.
  • the subject weight Wc is obtained in advance by learning, and normalization is performed so that the pixel value of each pixel of the subject map becomes a value between 0 and 1.
  • step S ⁇ b> 17 the blur determination unit 51 performs a blur determination process using the subject map from the subject map generation unit 46 and the supplied input image, detects the degree of blur, and calculates the degree of blur as a score calculation unit 54. To supply. Although details of the blur determination process will be described later, in the blur determination process, the subject map is used to detect the degree of blur of the subject area in the input image.
  • step S18 the exposure determination unit 52 performs an exposure determination process, detects an appropriate degree of exposure in the entire input image, and supplies the detection result to the score calculation unit 54.
  • the exposure determination unit 52 uses the supplied input image, sets the horizontal axis as the value of each component of R (red), G (green), and B (blue), and sets the vertical axis as the frequency (appearance of the pixel). Frequency) and the distribution of each component in the entire input image is obtained, and a value indicating the appropriate degree of exposure is obtained from the distribution of those components.
  • the value indicating the appropriate degree of exposure is determined according to the difference between the frequency of each component on the value on the predetermined horizontal axis and a predetermined frequency.
  • step S19 the white balance determination unit 53 performs white balance determination processing, detects the degree of appropriateness of white balance in the entire input image, and supplies the detection result to the score calculation unit 54.
  • the white balance determination unit 53 obtains the average luminance of the entire input image based on the supplied input image, and sets a value determined according to the average luminance as a value indicating the degree of white balance appropriateness.
  • the subject map is supplied from the subject map generation unit 46 to the exposure determination unit 52 and the white balance determination unit 53, and only the subject area on the input image specified by the subject map is the processing target, and the exposure determination process. And white balance determination processing may be performed.
  • step S20 the score calculation unit 54 calculates and outputs the score of the input image based on the detection results supplied from each of the blur determination unit 51, the exposure determination unit 52, and the white balance determination unit 53.
  • the score calculation unit 54 uses a weight obtained in advance as a value indicating the degree of blur as the supplied detection result, a value indicating the appropriate degree of exposure, and a value indicating the appropriate degree of white balance.
  • the values obtained as a result are used as scores for the input image.
  • the score calculation unit 54 may output information indicating whether or not the input image is the best shot together with the obtained score. In such a case, the input image is a best shot when the obtained score value is equal to or greater than a predetermined threshold value, and the input image is a bad shot when the score value is less than the threshold value. When the score for the input image is output in this way, the image evaluation process ends.
  • the image processing apparatus 11 generates a subject map from the input image, and detects the degree of blur of the subject area in the input image using the subject map. Then, the image processing apparatus 11 evaluates the input image from the degree of blur of the subject, the appropriate degree of exposure of the input image, and the appropriate degree of white balance.
  • the subject map to detect the degree of blur of the subject area in the input image and obtaining a score for the input image based on the detection result, how much the subject on the input image is blurred, That is, the degree to which the subject is clearly visible can be more reliably evaluated. Therefore, it is possible to more reliably determine whether the input image to be evaluated is an image that is estimated to be acceptable to the user's appreciation, that is, the best shot, and only input images with high evaluation can be easily And it can be selected reliably.
  • the degree of blur of the subject is taken into account in the score of the input image, if it is estimated that the region of the subject on the input image is more blurred, the region other than the subject (background) of the input image
  • the score of the input image is low regardless of whether or not) is blurred. That is, if the area of the subject in the input image is not blurred (if the subject is in focus), the score of the input image is high. Therefore, when the background of the input image is in focus and the subject is blurred, it is possible to prevent the input image from having a high score and erroneously determining that it is the best shot.
  • the luminance image generation unit 81 generates a luminance image using the supplied input image and supplies the luminance image to the pyramid image generation unit 82.
  • the luminance image generation unit 81 multiplies the values of the R, G, and B components of the pixels of the input image by a coefficient predetermined for each component, and sums the values of the components multiplied by the coefficients. Is the pixel value of the pixel of the luminance image at the same position as the pixel of the input image. That is, the luminance component of the component signal composed of the luminance component (Y) and the color difference components (Cb, Cr) is obtained.
  • the average value of the R, G, and B component values of the pixel may be the pixel value of the pixel of the luminance image.
  • step S52 the pyramid image generation unit 82 generates a pyramid image of each level L1 to L8 based on the luminance image supplied from the luminance image generation unit 81, and supplies the pyramid image to the difference calculation unit 83.
  • step S53 the difference calculation unit 83 generates and normalizes the difference image using the pyramid image supplied from the pyramid image generation unit 82, and supplies the difference image to the luminance information map generation unit 84.
  • the normalization is performed so that the pixel value of the pixel of the difference image becomes a value between 0 and 255, for example.
  • the difference calculation unit 83 includes the level L6 and the level L3, the level L7 and the level L3, the level L7 and the level L4, the level L8 and the level L4, and the level L8 and the level among the luminance pyramid images of each layer.
  • the difference of the pyramid image of the combination of each layer of L5 is obtained.
  • a total of five luminance difference images are obtained.
  • the pyramid image of level L6 is up-converted according to the size of the pyramid image of level L3. That is, the pixel value of one pixel of the pyramid image of level L6 before up-conversion is the pixel value of several pixels adjacent to each other of the pyramid image of level L6 after up-conversion corresponding to that pixel. Then, the difference between the pixel value of the pixel of the level L6 pyramid image and the pixel value of the pixel of the level L3 pyramid image at the same position as the pixel is obtained, and the difference is set as the pixel value of the pixel of the difference image.
  • the process of generating these difference images is equivalent to performing a filter process using a bandpass filter on the luminance image and extracting a predetermined frequency component from the luminance image.
  • the pixel value of the pixel of the difference image obtained in this way is the difference between the luminance values of the pyramid images at each level, that is, the difference between the luminance at a predetermined pixel in the input image and the average luminance around the pixel. Is shown.
  • an area having a large luminance difference from the surroundings in an image is an area that catches the eye of a person who sees the image, so that the area is likely to be a subject area. Therefore, it can be said that in each difference image, a pixel having a larger pixel value is a region that is more likely to be a subject region.
  • step S 54 the luminance information map generation unit 84 generates a luminance information map based on the difference image supplied from the difference calculation unit 83 and supplies the luminance information map to the subject map generation unit 46.
  • the luminance information map is supplied from the luminance information map generation unit 84 to the subject map generation unit 46, the luminance information extraction process ends, and the process proceeds to step S12 in FIG.
  • the luminance information map generation unit 84 weights and adds the supplied five difference images with a difference weight Wa that is a weight for each difference image obtained in advance, thereby obtaining one image. That is, the pixel values of the pixels at the same position in each difference image are multiplied by the difference weight Wa to obtain the sum of the pixel values multiplied by the difference weight Wa.
  • the difference images are up-converted so that the difference images have the same size.
  • the luminance information extraction unit 41 obtains a luminance image from the input image and generates a luminance information map from the luminance image. According to the luminance information map thus obtained, it is possible to easily detect a region having a large difference in luminance, that is, a region that is easily noticeable by an observer who looks at the input image.
  • step S81 the RG difference image generation unit 111 generates an RG difference image using the supplied input image and supplies the generated RG difference image to the pyramid image generation unit 113.
  • step S82 the BY difference image generation unit 112 generates a BY difference image using the supplied input image and supplies the BY difference image to the pyramid image generation unit 114.
  • step S83 the pyramid image generation unit 113 and the pyramid image generation unit 114 generate a pyramid image using the RG difference image from the RG difference image generation unit 111 and the BY difference image from the BY difference image generation unit 112. .
  • the pyramid image generation unit 113 generates a plurality of RG difference images having different resolutions, thereby generating a pyramid image of each layer of level L1 to level L8 and supplies the pyramid image to the difference calculation unit 115.
  • the pyramid image generation unit 114 generates a plurality of BY difference images having different resolutions, thereby generating pyramid images of the respective levels L1 to L8 and supplies the pyramid images to the difference calculation unit 116.
  • step S84 the difference calculation unit 115 and the difference calculation unit 116 generate and normalize the difference image based on the pyramid images supplied from the pyramid image generation unit 113 and the pyramid image generation unit 114, and the color information map generation unit 117. And supplied to the color information map generator 118.
  • the pixel value of the pixel is set to a value between 0 and 255.
  • the difference calculation unit 115 includes the level L6 and the level L3, the level L7 and the level L3, the level L7 and the level L4, the level L8 and the level L4, and the level L8 and the level L5 among the RG difference pyramid images of each layer.
  • the difference of the pyramid image of each layer combination is obtained.
  • a difference image of a total of five RG differences is obtained.
  • the difference calculation unit 116 among the pyramid images of BY of each hierarchy, level L6 and level L3, level L7 and level L3, level L7 and level L4, level L8 and level L4, and level L8 and level The difference of the pyramid image of the combination of each layer of L5 is obtained. As a result, a difference image of a total of five BY differences is obtained.
  • the process of generating these difference images is equivalent to performing a filtering process using a bandpass filter on the RG difference image or the BY difference image and extracting a predetermined frequency component from the RG difference image or the BY difference image.
  • the pixel value of the pixel of the difference image obtained in this way is the difference between the specific color component of the pyramid image at each level, that is, the specific color component in the pixel of the input image and the average around the pixel. A difference from a specific color component is shown.
  • an area of a color that stands out from the surroundings in the image that is, an area that has a large difference from the surroundings of a specific color component is an eye-catching area of the person who sees the image. Is likely. Therefore, it can be said that in each difference image, a pixel having a larger pixel value is a region that is more likely to be a subject region.
  • step S85 the color information map generation unit 117 and the color information map generation unit 118 generate a color information map using the difference image from the difference calculation unit 115 and the difference image from the difference calculation unit 116, and generate a subject map. To the unit 46.
  • the color information map generation unit 117 weights and adds the difference image of the RG supplied from the difference calculation unit 115 with the difference weight Wa for each difference image obtained in advance. Let it be a color information map.
  • the color information map generation unit 118 weights and adds the difference image of the BY difference supplied from the difference calculation unit 116 with the difference weight Wa obtained in advance, and the color information map of one BY difference And Note that when the color information map is generated, the difference images are up-converted so that the difference images have the same size.
  • the color information extraction unit 42 obtains an image of a difference between specific color components from the input image, and generates a color information map from the image. According to the color information map obtained in this way, it is possible to easily detect a region where a difference between specific color components is large in the input image, that is, a region that is easily noticeable by an observer who looks at the input image. .
  • the color information extraction unit 42 as information on the color extracted from the input image, the difference between the R (red) component, the G (green) component, the B (blue) component, and the Y (yellow) Although it has been described that the difference from the component is extracted, the color difference component Cr and the color difference component Cb may be extracted.
  • the color difference component Cr is a difference between the R component and the luminance component
  • the color difference component Cb is a difference between the B component and the luminance component.
  • FIG. 11 is a flowchart for explaining edge information extraction processing corresponding to the processing in step S13 in FIG. Hereinafter, the edge information extraction process will be described.
  • step S111 the edge image generation unit 141 to the edge image generation unit 144 perform a filtering process using a Gabor filter on the supplied input image, in directions of 0 degrees, 45 degrees, 90 degrees, and 135 degrees. An edge image having the edge strength as the pixel value of the pixel is generated. Then, the edge image generation unit 141 to the edge image generation unit 144 supply the generated edge image to the pyramid image generation unit 145 to the pyramid image generation unit 148.
  • step S112 the pyramid image generation unit 145 to the pyramid image generation unit 148 generate pyramid images using the edge images from the edge image generation unit 141 to the edge image generation unit 144, and the difference calculation unit 149 to the difference calculation unit. 152.
  • the pyramid image generation unit 145 generates a plurality of 0 degree direction edge images having different resolutions, thereby generating pyramid images of the respective levels L1 to L8 and supplies the generated pyramid images to the difference calculation unit 149.
  • the pyramid image generation unit 146 through the pyramid image generation unit 148 generate pyramid images of the levels L1 through L8 and supply them to the difference calculation unit 150 through the difference calculation unit 152.
  • step S113 the difference calculation unit 149 to the difference calculation unit 152 generate and normalize the difference image using the pyramid images from the pyramid image generation unit 145 to the pyramid image generation unit 148, and the edge information map generation unit 153 to the edge. This is supplied to the information map generation unit 156.
  • the pixel value of the pixel is set to a value between 0 and 255.
  • the difference calculation unit 149 includes the level L6 and the level L3, the level L7 and the level L3, the level L7 and the level L4, among the pyramid images of the edge in the 0 degree direction of each layer supplied from the pyramid image generation unit 145.
  • the difference of the pyramid image of the combination of level L8 and level L4, and level L8 and level L5 is calculated
  • the difference calculation unit 150 to the difference calculation unit 152 include the level L6 and level L3, the level L7 and level L3, the level L7 and level L4, the level L8 and level L4, and the level L8 and
  • the difference of the pyramid image of the combination of each hierarchy of level L5 is calculated
  • the process of generating these difference images is equivalent to performing a filter process using a bandpass filter on the edge image and extracting a predetermined frequency component from the edge image.
  • the pixel values of the pixels of the difference image obtained in this way are the difference in edge strength between the pyramid images at each level, that is, the edge strength at a predetermined position of the input image and the average edge strength around that position. The difference is shown.
  • an area having a higher edge strength than the surrounding area in an image is an area that catches the eye of a person who views the image, and therefore, the area is highly likely to be an object area. Therefore, it can be said that in each difference image, a pixel having a larger pixel value is a region that is more likely to be a subject region.
  • step S114 the edge information map generation unit 153 to the edge information map generation unit 156 generate edge information maps in the respective directions using the difference images from the difference calculation units 149 to 152, and the subject map generation unit 46 To supply.
  • the edge information map generation unit 153 weights and adds the difference image supplied from the difference calculation unit 149 with the difference weight Wa obtained in advance to obtain an edge information map in the 0 degree direction.
  • the edge information map generation unit 154 weights and adds the difference image from the difference calculation unit 150 with the difference weight Wa
  • the edge information map generation unit 155 weights the difference image from the difference calculation unit 151 with the difference weight Wa
  • the edge information map generation unit 156 weights and adds the difference image from the difference calculation unit 152 with the difference weight Wa.
  • edge information map generation unit 153 to the edge information map generation unit 156 supply a total of four edge information maps in the respective directions thus obtained to the subject map generation unit 46, the edge information extraction process ends, and the process Advances to step S14 in FIG.
  • the edge information extraction unit 43 obtains a difference image of an edge in a specific direction from the input image, and generates an edge information map from the difference image. According to the edge information map for each direction obtained in this way, in the input image, compared to the surrounding area, a region having a large edge strength in a specific direction, that is, the eyes of the observer who glanced at the input image. An easily attached region can be easily detected.
  • a Gabor filter is used for edge extraction.
  • an edge extraction filter such as a Sobel filter or a Roberts filter may be used.
  • the method of extracting information such as luminance, color, and edge from the image described with reference to FIGS. 9 to 11 is, for example, “Laurent Itti, Christof Koch, and Ernst Niebur,” A Model of Saliency-Based Visual. "Attention for Rapid Scene Analysis” ".
  • the face detection unit 181 detects a human face region from the supplied input image, and supplies the detection result to the face information map generation unit 182.
  • the face detection unit 181 performs a filtering process using a Gabor filter on the input image, and extracts characteristic regions such as human eyes, mouth, and nose from the input image, whereby a face region in the input image is obtained. Is detected.
  • step S142 the face information map generation unit 182 generates a face information map using the detection result from the face detection unit 181 and supplies the face information map to the subject map generation unit 46.
  • candidate areas a plurality of rectangular areas (hereinafter referred to as candidate areas) on the input image that are estimated to include a face are detected as face detection results from the input image.
  • candidate areas a plurality of candidate areas are detected near a predetermined position on the input image, and some of these candidate areas may overlap each other. That is, for example, when a plurality of areas including the face are obtained as candidate areas for one face area on the input image, some of these candidate areas overlap each other.
  • the face information map generation unit 182 generates a detection image having the same size as the input image for each candidate region, with respect to the candidate region obtained by the face detection.
  • the pixel value of a pixel in the same region as the candidate region to be processed on the detected image is set to a value larger than the pixel value of a pixel in a region different from the candidate region.
  • the pixel value of the pixel on the detected image increases as the pixel is located at the same position as the pixel in the candidate area where it is estimated that the human face is more likely to be included.
  • the face information map generation unit 182 adds the detected images obtained in this way, generates one image, normalizes it, and sets it as a face information map. Therefore, on the face information map, the pixel value of the pixel in the same region as the region where a part of the plurality of candidate regions on the input image overlaps increases, and the possibility that a face is included is higher. Note that the normalization is performed so that the pixel value of the face information map pixel is a value between 0 and 255, for example.
  • the face information extraction unit 44 detects a face from the input image and generates a face information map from the detection result. According to the face information map obtained in this way, it is possible to easily detect a human face area as a subject in an input image.
  • step S171 the local motion vector extraction unit 211 detects a local motion vector of each pixel of the input image using the supplied input image by a gradient method or the like, and supplies it to the difference calculation unit 213.
  • step S172 the global motion vector extraction unit 212 detects a global motion vector using the supplied input image and supplies the global motion vector to the difference calculation unit 213.
  • step S173 the difference calculation unit 213 obtains an absolute value of the difference between the local motion vector from the local motion vector extraction unit 211 and the global motion vector from the global motion vector extraction unit 212, and generates a motion difference image. . Then, the difference calculation unit 213 supplies the generated motion difference image to the motion information map generation unit 214.
  • step S174 the motion information map generation unit 214 normalizes the difference image supplied from the difference calculation unit 213 to obtain a motion information map, and supplies the motion information map to the subject map generation unit 46.
  • the normalization of the difference image is performed so that the pixel value of each pixel becomes a value between 0 and 255, for example.
  • the motion information extraction unit 45 detects a motion from the input image and generates a motion information map from the detection result. According to the motion information map obtained in this way, it is possible to easily detect a region of a moving object in the input image.
  • a region of a moving object is a region that is easily noticed by an observer who looks at the input image, and is likely to be a subject.
  • Each information map is obtained by the luminance information extraction processing or motion information extraction processing described above, and a subject map is generated from these information maps.
  • step S211 the edge map generation unit 241 generates an edge map using the supplied input image and the subject map from the subject map generation unit 46.
  • the edge map generation unit 241 extracts a subject image from the input image using the subject map. That is, in the input image, an area of the same pixel as the pixel of the subject map whose pixel value is equal to or larger than a predetermined value is set as an area of the subject on the input image, and an area of a predetermined size on the input image including the area. Is the subject image.
  • the edge map generation unit 241 divides the subject image into blocks each having a size of 2 ⁇ 2 pixels, and calculates the pixel value difference between the pixels in each block according to the following equations (1) to (6). Absolute values M TL-TR to M BL-BR are calculated.
  • a, b, c, and d represent pixel values of pixels in a 2 ⁇ 2 pixel size block of the subject image.
  • the pixel value a indicates the pixel value of the upper left pixel in the figure in the block.
  • the pixel value b indicates the pixel value of the upper right pixel in the block
  • the pixel value c indicates the pixel value of the lower left pixel in the block
  • the pixel value d indicates the right value in the block.
  • the pixel value of the lower pixel is shown.
  • the edge map generation unit 241 calculates the average value M Ave of the absolute value M TL-TR to the absolute value M BL-BR by the following equation (7).
  • This average value M Ave indicates the average value of the edge strengths in the vertical, horizontal, and diagonal directions in the block.
  • the edge map generation unit 241 generates an edge map of the scale SC1 by arranging the calculated average value M Ave in the same order as the corresponding blocks of the subject image.
  • the edge map generation unit 241 generates average images of the scale SC2 and the scale SC3 according to the following equation (8) in order to generate the edge maps of the scale SC2 and the scale SC3.
  • P i (x, y) represents the pixel value of the pixel located at the coordinate (x, y) in the averaged image of the scale SCi (where 1 ⁇ i ⁇ 3). .
  • P i + 1 (x, y) indicates the pixel value of the pixel located at the coordinate (x, y) in the averaged image of the scale SCi + 1.
  • the averaged image of scale SC1 is a subject image. Therefore, the averaged image of the scale SC2 is an image in which the average value of the pixel values in each block obtained by dividing the subject image into blocks of 2 ⁇ 2 pixels is used as the pixel value of one pixel.
  • the average image of the scale SC3 is obtained by dividing the average image of the scale SC2 into blocks each having a size of 2 ⁇ 2 pixels, and setting the average value of the pixel values in each block as the pixel value of one pixel. It is an image.
  • the edge map generation unit 241 performs the same processing as that performed on the subject image using the equations (1) to (7) for the averaged images of the scale SC2 and the scale SC3, and the scale SC2 And an edge map of scale SC3.
  • the edge maps of the scales SC1 to SC3 are images obtained by extracting edge components of different frequency bands from the input image.
  • the number of pixels of the edge map of the scale SC1 is 1/4 (vertical 1/2 ⁇ width 1/2) of the subject image
  • the number of pixels of the edge map of the scale SC2 is 1/16 (vertical 1/4) of the subject image.
  • ⁇ horizontal 1/4 the number of pixels of the edge map of the scale SC3 is 1/64 (vertical 1/8 ⁇ horizontal 1/8) of the subject image.
  • the edge map generation unit 241 supplies the generated edge maps of the scales SC1 to SC3 to the dynamic range detection unit 242 and the local max generation unit 244.
  • edge maps of different scales in units of blocks of different sizes, variation in edge strength can be suppressed.
  • step S212 the dynamic range detection unit 242 detects the dynamic range of the subject image using the edge map supplied from the edge map generation unit 241, and supplies the detection result to the calculation parameter adjustment unit 243.
  • the dynamic range detection unit 242 detects the maximum value and the minimum value of the pixel values from the edge maps of the scales SC1 to SC3, and calculates a value obtained by subtracting the minimum value from the maximum value of the detected pixel values.
  • the dynamic range of the edge intensity of the subject image is used. That is, the difference between the maximum value and the minimum value of the edge intensity of the subject image is detected as the dynamic range.
  • a dynamic range may be detected for each edge map, and a maximum value or an average value of the detected dynamic range may be adopted as a dynamic range that is actually used.
  • step S213 the calculation parameter adjustment unit 243 sets the initial value of the calculation parameter according to the dynamic range supplied from the dynamic range detection unit 242.
  • the calculation parameter adjustment unit 243 sets the subject image as a low dynamic range image when the dynamic range is less than a predetermined threshold, and sets the subject image as a high dynamic range image when the dynamic range is equal to or greater than the threshold.
  • the calculation parameter adjustment unit 243 sets an initial value for the low dynamic range image as the calculation parameter.
  • the calculation parameter adjustment unit 243 sets an initial value for the high dynamic range image as the calculation parameter.
  • the initial value of the edge reference value for an image with a low dynamic range is set to a high dynamic range so that a sufficient amount of edge points can be extracted so that the detection accuracy of the degree of blur of the subject image exceeds a certain level.
  • the value is smaller than the initial value of the image edge reference value.
  • the initial value of the extraction reference value for the low dynamic range image is set to a smaller value than the initial value of the extraction reference value for the high dynamic range image.
  • the calculation parameter adjustment unit 243 supplies the edge reference value set according to the dynamic range to the edge point extraction unit 245, and supplies the edge reference value and the extraction reference value to the extraction amount determination unit 246.
  • step S214 the local max generation unit 244 generates a local max using the edge map supplied from the edge map generation unit 241, and supplies the local max to the edge point extraction unit 245 and the edge analysis unit 247.
  • the local max generation unit 244 divides the edge map of the scale SC1 into 2 ⁇ 2 pixel blocks. Then, the local max generation unit 244 generates the local max LM1 of the scale SC1 by extracting the maximum value of each block of the edge map and arranging the extracted maximum value in the same order as the corresponding block. That is, the maximum pixel value of the pixels in each block is extracted.
  • the local max generation unit 244 divides the edge map of the scale SC2 into 4 ⁇ 4 pixel blocks as shown in the center of the drawing. Then, the local max generation unit 244 generates the local max LM2 of the scale SC2 by extracting the maximum value of each block of the edge map and arranging the extracted maximum value in the same order as the corresponding block.
  • the local max generation unit 244 divides the edge map of the scale SC3 into 8 ⁇ 8 pixel blocks as shown on the right side in the drawing. Then, the local max generation unit 244 generates the local max LM3 of the scale SC3 by extracting the maximum value of each block of the edge map and arranging the extracted maximum value in the same order as the corresponding block.
  • step S215 the edge point extraction unit 245 uses the local max supplied from the local max generation unit 244 and the subject map supplied from the subject map generation unit 46 to obtain an edge point from the subject area of the subject image. To extract.
  • the edge point extraction unit 245 refers to the subject map, selects one pixel in the subject area in the subject image, and sets it as the target pixel.
  • the area of the subject on the subject image is an area composed of pixels on the subject image at the same position as the pixel of the subject map whose pixel value is equal to or greater than a predetermined value.
  • the edge point extraction unit 245 sets the coordinates of the selected pixel of interest on the subject image in the xy coordinate system on the subject image as (x, y), and coordinates of the pixel of the local max LM1 corresponding to the pixel of interest according to the following equation (9). Find (x1, y1).
  • the coordinates of the pixel of the local max LM1 corresponding to the target pixel of the subject image are the x and y coordinates of the target pixel. Each of the values becomes 1/4.
  • the edge point extraction unit 245 calculates the coordinates (x2, y2) of the pixel of the local max LM2 corresponding to the target pixel and the local max LM3 corresponding to the target pixel by the following expressions (10) and (11). Pixel coordinates (x3, y3) are obtained.
  • the edge point extraction unit 245 extracts the target pixel as an edge point in the local max LM1. Then, the edge point extraction unit 245 stores the pixel value of the coordinate (x, y) of the target pixel and the coordinate (x1, y1) of the local max LM1 in association with each other.
  • the edge point extraction unit 245 extracts the target pixel as an edge point in the local max LM2, and
  • the pixel values of the coordinates (x, y) and the coordinates (x2, y2) of the local max LM2 are stored in association with each other.
  • the edge point extraction unit 245 extracts the target pixel as an edge point in the local max LM3, and coordinates of the target pixel (X, y) and the pixel value of the coordinates (x3, y3) of the local max LM3 are stored in association with each other.
  • the edge point extraction unit 245 repeats the above processing until all the pixels in the subject area in the subject image are set as the target pixel.
  • pixels included in a block having an edge strength equal to or higher than the edge reference value among 4 ⁇ 4 pixel blocks in the subject area on the subject image are extracted as edge points.
  • pixels included in the block whose edge strength in the block is equal to or higher than the edge reference value are extracted as edge points. Is done.
  • pixels included in the block whose edge strength in the block is equal to or higher than the edge reference value are extracted as edge points.
  • pixels included in at least one block of 4 ⁇ 4 pixels, 16 ⁇ 16 pixels, or 64 ⁇ 64 pixels in the region of the subject whose edge intensity is equal to or higher than the edge reference value are extracted as edge points.
  • the edge point extraction unit 245 is an edge that is a table in which the coordinates (x, y) of the edge point extracted based on the local max LM1 and the pixel value of the pixel of the local max LM1 corresponding to the edge point are associated with each other.
  • a point table ET1 is generated.
  • the edge point extraction unit 245 associates the edge point coordinates (x, y) extracted based on the local max LM2 with the pixel value of the pixel of the local max LM2 corresponding to the edge point.
  • a point table ET2 is generated.
  • the edge point extraction unit 245 associates the edge point coordinates (x, y) extracted based on the local max LM3 with the pixel values of the pixels of the local max LM3 corresponding to the edge point.
  • a table ET3 is also generated.
  • the edge point extraction unit 245 supplies the generated edge point table to the extraction amount determination unit 246.
  • the extraction amount determination unit 246 uses the edge point table supplied from the edge point extraction unit 245 to determine whether or not the edge point extraction amount is appropriate. For example, when the total number of extracted edge points, that is, the total number of data in the edge point table ET1 to the edge point table ET3 is less than the extraction reference value supplied from the calculation parameter adjustment unit 243, the edge point extraction amount is It is determined that it is not appropriate.
  • step S216 When it is determined in step S216 that the edge point extraction amount is not appropriate, the extraction amount determination unit 246 notifies the calculation parameter adjustment unit 243 that the edge point extraction amount is not appropriate, and the process proceeds to step S217.
  • step S217 the calculation parameter adjustment unit 243 adjusts the calculation parameter in accordance with the notification from the extraction amount determination unit 246.
  • the calculation parameter adjustment unit 243 decreases the edge reference value by a predetermined value from the value set at the current time so that more edge points are extracted than the current time.
  • the calculation parameter adjustment unit 243 supplies the adjusted edge reference value to the edge point extraction unit 245 and the extraction amount determination unit 246.
  • step S215 the process thereafter returns to step S215, and the above-described process is repeated until it is determined that the edge point extraction amount is appropriate.
  • step S216 If it is determined in step S216 that the edge point extraction amount is appropriate, the extraction amount determination unit 246 supplies the edge reference value from the calculation parameter adjustment unit 243 and the edge point table to the edge analysis unit 247. Then, the process proceeds to step S218.
  • edge points are also extracted from blocks with low edge strength.
  • edge points are extracted from blocks having as strong edge strength as possible so that edge points constituting stronger edges are extracted.
  • step S218 the edge analysis unit 247 performs edge analysis using the edge reference value and the edge point table supplied from the extraction amount determination unit 246 and the local max supplied from the local max generation unit 244.
  • the edge analysis unit 247 sets one of the edge points extracted from the subject image as a target pixel based on the edge point table ET1 to the edge point table ET3. Then, the edge analysis unit 247 sets the coordinates of the target pixel in the xy coordinate system to (x, y), and the pixels of local max LM1 to local max LM3 corresponding to the target pixel according to the above-described equations (9) to (11). The coordinates (x1, y1) to coordinates (x3, y3) are obtained.
  • the edge analysis unit 247 has a pixel value of a pixel in the block on the local max LM1 of m ⁇ m pixels (for example, 4 ⁇ 4 pixels) with the pixel at the coordinates (x1, y1) of the local max LM1 as the upper left corner pixel.
  • the maximum value of is set to LocalxMax1 (x1, y1).
  • the edge analysis unit 247 determines the maximum value of the pixel values in a block of n ⁇ n pixels (for example, 2 ⁇ 2 pixels) having the pixel at the coordinates (x2, y2) of the local max LM2 as the pixel at the upper left corner.
  • m ⁇ m used for setting Local ⁇ Max1 (x1, y1) and n ⁇ n parameters used for setting Local Max2 (x2, y2) correspond to one pixel of local max LM1 to local max LM3. This is a parameter for adjusting the difference in the block size of the subject image.
  • the edge analysis unit 247 determines whether Local Max1 (x1, y1), Local Max2 (x2, y2), and Local Max3 (x3, y3) satisfy the following conditional expression (12). If Local Max1 (x1, y1), Local Max2 (x2, y2), and Local Max3 (x3, y3) satisfy the conditional expression (12), the edge analysis unit 247 increments the value of the variable Nedge by one.
  • edge points satisfying the conditional expression (12) are estimated to be edge points that constitute an edge having a certain level of strength, regardless of the structure, such as the edges shown in FIGS. 17A to 17D. Is done.
  • edge shown in A of FIG. 17 is a steep impulse-like edge
  • edge shown in B of FIG. 17 is a pulse-like edge having a gentler slope than the edge of FIG.
  • An edge indicated by 17 at C is a step-like edge having a substantially vertical inclination.
  • edge shown in D of FIG. 17 is a stepped edge having a gentler slope than the edge of C of FIG.
  • the edge analysis unit 247 further satisfies the following conditional expression (13) or when the local Max1 (x1, y1), Local Max2 (x2, y2), and Local Max3 (x3, y3) satisfy the conditional expression (12): It is determined whether or not conditional expression (14) is satisfied.
  • conditional expression (13) When Local Max1 (x1, y1), Local Max2 (x2, y2), and Local Max3 (x3, y3) satisfy the conditional expression (13) or conditional expression (14), the edge analysis unit 247 determines the value of the variable Nsmallblur Is incremented by one.
  • an edge point that satisfies the conditional expression (12) and satisfies the conditional expression (13) or the conditional expression (14) has a certain strength or more, but the edge of A in FIG. 17 or the edge C in FIG. It is presumed that the edge point is an edge point that forms an edge having a structure of B in FIG. 17 or D in FIG.
  • the edge analysis unit 247 satisfies the conditional expression (12) in which Local Max1 (x1, y1), Local Max2 (x2, y2), and Local Max3 (x3, y3) satisfy the conditional expression (13) or the conditional expression. If (14) is satisfied, it is determined whether Local Max1 (x1, y1) satisfies the following conditional expression (15). When Local Max1 (x1, y1) satisfies the conditional expression (15), the edge analysis unit 17 increments the value of the variable Nlargeblur by one.
  • an edge point that satisfies conditional expression (12), satisfies conditional expression (13) or conditional expression (14), and satisfies conditional expression (15) is B or B in FIG.
  • edges having the structure of D in FIG. 17 it is estimated that they are edge points that constitute an edge that is blurred and loses sharpness. In other words, it is estimated that blur is occurring at the edge point.
  • the edge analysis unit 247 repeats the above processing until all the edge points extracted from the subject image are the target pixel. As a result, among the extracted edge points, the number Nedge of edge points, the number Nedgeblur of edge points, and the number Nlargeblur of edge points are obtained.
  • the number Nedge is the number of edge points that satisfy the conditional expression (13), and the number Nsmallblur satisfies the conditional expression (12) and also satisfies the conditional expression (13) or the conditional expression (14). This is the number of edge points to be performed.
  • the number Nlargeblur is the number of edge points that satisfy the conditional expression (12), the conditional expression (13) or the conditional expression (14), and the conditional expression (15).
  • the edge analysis unit 247 supplies the calculated number Nsmallblur and the number Nlargeblur to the blur degree detection unit 248.
  • the blur degree detection unit 248 calculates the following equation (16) using the number Nsmallblur and the number Nlargeblur from the edge analysis unit 247, and detects the blur degree BlurEstimation as an index of the degree of blur of the subject in the input image. To do.
  • the blur degree BlurEstimation is estimated to constitute an edge where blur is generated among edge points estimated to constitute an edge having the structure of B in FIG. 17 or D in FIG. This is the ratio of edge points. Therefore, it is estimated that the greater the degree of blur BlurEstimation, the greater the degree of blur of the subject, and the smaller the degree of blur BlurEstimation, the smaller the subject blur.
  • the blur degree detection unit 248 obtains the blur degree BlurEstimation and, based on the blur degree BlurEstimation, obtains, as a final blur degree, a blur degree that increases as the subject blur degree becomes smaller. Then, the blur degree detection unit 248 supplies the obtained final blur degree to the score calculation unit 54, the blur determination process ends, and the process proceeds to step S18 in FIG.
  • the smaller the degree of blur of the subject the greater the degree of blur is obtained as the final degree of blur.
  • the score of the input image is greater as the subject's degree of blur is smaller This is because it is a value.
  • the blur determination unit 51 calculates the degree of blur indicating the degree of blur of the subject area on the input image from the input image and the subject map.
  • the degree of blur When calculating the degree of blur, the condition for extracting edge points and the amount of edge points extracted are appropriately controlled according to the subject image, so that the degree of blur of the subject can be detected with higher accuracy.
  • the speed can be increased by about 1.5 times compared to the conventional method of detecting the blur condition of the subject using wavelet transform. be able to.
  • the subject map is generated and the subject area on the input image is specified.
  • the method for specifying the subject area on the input image is not limited to the subject map, and any method can be used. It may be.
  • an object on a so-called golden line in the input image may be detected as a subject, or a human face detected from the input image may be the subject.
  • any method for obtaining the degree of blur of the subject area on the input image may be used.
  • the degree of blur of the subject may be obtained by extracting edge points constituting the edge in the subject area of the input image by wavelet transform and analyzing the type of the edge points.
  • a method for detecting the degree of blur of a subject using such wavelet transform is described in, for example, “Hanghang Tong, Mingjing Li, Hongjiang Zhang and Changshui Zhang,” Blur Detection for Digital Images Using Wavelet Transform "" Yes.
  • the subject area on the input image is described as the processing target, and the blur degree of the subject is detected.
  • the subject map has no pixels greater than a predetermined value.
  • the entire input image may be treated and the degree of blur of the entire input image may be obtained.
  • the degree of blur of the input image thus obtained is supplied to the score calculation unit 54 and used for calculation of the score of the input image.
  • the image processing apparatus 11 detects a subject from the input image, and obtains the score of the input image in consideration of the degree of blur of the subject area of the input image.
  • a method for detecting a subject from an image a method for separating a foreground and a background on an image (see, for example, JP-A-2003-16448) is known.
  • an image is divided into a plurality of blocks, and a foreground and a background are separated by performing a segmentation process that connects similar blocks using color and luminance.
  • a method of detecting a subject from an image there is a method of detecting a face or skin color region from an image as a subject region (see, for example, Japanese Patent Application Laid-Open No. 2004-72655).
  • the face or skin color area in the image is used as the subject area
  • only the human face or human skin can be detected as the subject. Therefore, if the subject is an animal, a plant, a building, or the like, It could not be detected from the image.
  • the foreground and the background are separated based on the similarity of the color and brightness of each block, so the area set as the foreground is not necessarily the subject area. Furthermore, since segmentation is performed for each block, there is a possibility that the presence or absence of the texture on the image cannot be accurately determined, and the subject may not be reliably detected.
  • the image processing apparatus 11 extracts a plurality of pieces of information estimated to have more subject areas from the input image, and generates a subject map using these pieces of information, thereby generating more information from the input image.
  • the area of the subject can be reliably detected.
  • the pixel value of the subject map becomes larger on the input image as it is estimated that the observer who glanced at the input image looks more closely, so that the subject is not limited to a person, but an animal, plant, Even general objects such as buildings can be detected.
  • Such a subject map is generated by extracting information such as brightness, color, edge, face, and movement from an input image. That is, the difference images obtained from the pyramid images of the extracted information are weighted and added by the difference weight Wa to form an information map, and those information maps are weighted and added by the information weight Wb. Further, the image (map) obtained as a result is multiplied by the subject weight Wc to obtain a subject map.
  • the difference weight Wa, the information weight Wb, and the subject weight Wc used when the subject map is generated are obtained by learning using a neural network, for example.
  • the learning image used for learning these weights is not limited to a person, and if an image including a general subject is used, the subject map generated using the weight obtained by learning can be A specific subject can be detected more reliably.
  • a difference map Wa, information weight Wb and subject weight Wc to which initial values are given, and a learning image including the subject are used to generate a subject map.
  • a difference image An (m) (where 1 ⁇ n ⁇ N, 1 ⁇ m ⁇ 6) is generated for each piece of information extracted when the subject map is generated from the learning image.
  • the difference images An (1) to An (6) are difference images for one piece of information extracted from the learning image.
  • the difference image A1 (1) to the difference image A1 (6) are luminance difference images generated by using the luminance pyramid image obtained from the learning image.
  • the difference images AN (1) to AN (6) are 0-degree difference images generated by using pyramid images of edges in the 0-degree direction obtained from the learning images. .
  • FIG. 18 shows an example in which six difference images are obtained for each piece of information extracted from the learning image
  • the number of difference images may be any number.
  • difference weight Wan (m) the difference weight Wan (m).
  • each of the difference images A1 (1) to A1 (6) is weighted and added by the difference weights Wa1 (1) to Wa1 (6) for each difference image to obtain the information map B1 in. . Further, with respect to this information map B1 in, operation is performed according to a predetermined function f (x), the information map B1 out is obtained as a result.
  • the function f (x) is a hyperbolic cosine function (hyperbolic tangent function) represented by the following equation (17).
  • a and b indicate predetermined constants, and x indicates a pixel value of a pixel on the image. Therefore, when obtaining the information map B1 out , x is the pixel value of the pixel of the information map B1 in .
  • the value f (x) obtained by substituting the pixel value x of the pixel of the information map B1 in into the equation (17) is the pixel value of the pixel of the information map B1 out at the same position as the pixel.
  • the information map B1 out obtained in this way corresponds to an information map generated in the image processing apparatus 11, for example, a luminance information map.
  • the function f (x) is not limited to the hyperbolic cosine function, and may be any function.
  • the function f (x) is a Sigmoid function that outputs a value “1” when x ⁇ 0 and outputs a value “ ⁇ 1” when x ⁇ 0. .
  • the information maps Bn out (where 1 ⁇ n ⁇ N) are weighted by the information weight Wb for each information map.
  • the subject map C in is added.
  • operation is performed according to a predetermined function f (x)
  • the subject map C out is obtained as a result.
  • this subject map C out the subject weight Wc is normalized by multiplying, it is the final subject map.
  • the information map may be used in addition weighted in such a face information map is performed.
  • the information weight Wb multiplied by the information map Bn out is also referred to as information weight Wbn.
  • the process for generating a subject map during learning in this way is called Forward Propagation.
  • a process called Back ⁇ Propagation is performed, and the difference weight Wa, the information weight Wb, and the subject weight Wc are updated.
  • each weight should be increased or decreased by using the generated subject map and an image label that is prepared in advance for the learning image and is information indicating the region of the subject on the learning image. The difference between the weights as values is obtained.
  • the image label is an image having the same size as the learning image
  • the pixel value of the pixel at the same position as the pixel of the subject area on the learning image is set to 1
  • the area without the subject on the learning image is set.
  • This is an image in which the pixel value of a pixel at the same position as the pixel is zero.
  • indicates a learning rate that is a predetermined constant
  • C in indicates a subject map C in .
  • C in in Equation (18) is the pixel value of one pixel of the subject map C in
  • the subject weight difference ⁇ Wc is obtained for each pixel.
  • ⁇ C is the difference between the subject maps, and is obtained by the following equation (19).
  • EV indicates an evaluation map
  • f ′ (C in ) is a value obtained by substituting the subject map C in for a function obtained by differentiating the function f (x).
  • the function f ′ (x) obtained by differentiating the function f (x) is “a ⁇ b ⁇ sech (x ⁇ b) 2 ”.
  • the subject weight difference ⁇ Wc is obtained in this way, the subject weight difference ⁇ Wc is added to the previous subject weight Wc and updated to obtain a new subject weight Wc.
  • indicates a learning rate that is a predetermined constant
  • Bn in indicates an information map Bn in .
  • Bn in in equation (20) is the pixel value of one pixel of the information map Bn in
  • the information weight difference ⁇ Wbn is obtained for each pixel.
  • ⁇ Bn is the difference between the information maps, and is obtained by the following equation (21).
  • ⁇ C represents a value obtained by calculating the above equation (19)
  • f ′ (Bn in ) is a function obtained by differentiating the function f (x). This is a value obtained by substituting the map Bn in .
  • Wc is the updated subject weight Wc.
  • the information weight difference ⁇ Wbn for the information map Bn in is thus obtained, the information weight difference ⁇ Wbn is added to the information weight Wbn of the information map Bn in and updated to obtain a new information weight Wbn. .
  • the updated information weight Wbn and the difference image An (m) generated at the time of subject map generation are used, and the difference weight difference ⁇ that is the amount by which the difference weight Wa should be changed by the following equation (22). Wan (m) is required.
  • Equation (22) ⁇ indicates a learning rate that is a predetermined constant, and An (m) indicates the difference image An (m). More specifically, An (m) in Expression (22) is a pixel value of one pixel of the difference image An (m), and the difference ⁇ Wan (m) is obtained for each pixel. ⁇ An (m) is a difference between the difference images, and is obtained by the following equation (23).
  • ⁇ Bn represents a value obtained by calculating Expression (21) described above, and f ′ (An (m)) is a function obtained by differentiating the function f (x). , A value obtained by substituting the difference image An (m). Wbn is the updated information weight Wbn.
  • the difference weight difference ⁇ Wan (m) with respect to the difference image An (m) is obtained in this way, the difference weight difference ⁇ Wan (m) becomes the difference weight Wan (m) of the difference image An (m). And a new difference weight Wan (m) is obtained.
  • an evaluation map is generated from a subject map generated using a pre-assigned weight and an image label, and each weight should be changed by back calculation from the evaluation map.
  • a difference in weight which is a change amount, is obtained.
  • the image label is information indicating the region of the subject on the learning image, it can be said to be information indicating the correct answer of the subject map. Therefore, the evaluation map, which is the difference between the subject map and the image label, indicates an error between the ideal subject map and the subject map generated using the given weight, and is calculated back using the evaluation map. Then, an error between the given weight and the ideal weight can be obtained.
  • the obtained error is a change amount that should change the given weight, and if this change amount is added to the weight, the ideal weight at the present time can be obtained. If the subject map is generated using the newly obtained weight in this manner, the subject can be detected more reliably from the image by the subject map.
  • the difference ⁇ Wan (m), the information weight difference ⁇ Wbn, and the subject weight difference ⁇ Wc are obtained as weight change amounts, and each weight is updated.
  • FIG. 20 is a diagram showing a configuration example of an embodiment of a learning device to which the present invention is applied.
  • the learning device 301 is connected to an image database 302 and an image label database 303.
  • the image database 302 records learning images
  • the image label database 303 records image labels for learning images recorded in the image database 302.
  • the learning device 301 performs learning using the learning image and the image label acquired from the image database 302 and the image label database 303.
  • the learning device 301 includes a subject extraction unit 311 and a weight calculation unit 312.
  • the subject extraction unit 311 uses the learning image acquired from the image database 302 and the difference weight Wa, the information weight Wb, and the subject weight Wc supplied from the weight calculation unit 312 to generate a subject map from the learning image, This is supplied to the weight calculation unit 312.
  • the weight calculation unit 312 updates the difference weight Wa, the information weight Wb, and the subject weight Wc by using the image label acquired from the image label database 303 and the subject map supplied from the subject extraction unit 311 to extract the subject. To the unit 311.
  • the subject extraction unit 311 is configured as shown in FIG. That is, the subject extraction unit 311 includes a luminance information extraction unit 341, a color information extraction unit 342, an edge information extraction unit 343, a face information extraction unit 44, a motion information extraction unit 45, and a subject map generation unit 344.
  • the same reference numerals are given to the portions corresponding to those in FIG. 1, and the description thereof will be omitted as appropriate.
  • the luminance information extraction unit 341 generates a luminance information map using the learning image from the image database 302 and the difference weight Wa from the weight calculation unit 312 and supplies the luminance information map to the subject map generation unit 344.
  • the color information extraction unit 342 generates a color information map using the learning image from the image database 302 and the difference weight Wa from the weight calculation unit 312, and supplies the color information map to the subject map generation unit 344.
  • the edge information extraction unit 343 generates an edge information map using the learning image from the image database 302 and the difference weight Wa from the weight calculation unit 312 and supplies the edge information map to the subject map generation unit 344.
  • the face information extraction unit 44 generates a face information map using the learning image from the image database 302 and supplies it to the subject map generation unit 344.
  • the motion information extraction unit 45 generates a motion information map using the learning image from the image database 302 and supplies the motion information map to the subject map generation unit 344.
  • the luminance information extraction unit 341 to the edge information extraction unit 343 supply the difference image to the subject map generation unit 344.
  • the subject map generation unit 344 generates a subject map using the luminance information map or motion information map from the luminance information extraction unit 341 to motion information extraction unit 45 and the information weight Wb and subject weight Wc from the weight calculation unit 312. To do. In addition, the subject map generation unit 344 supplies the generated subject map and the information maps and difference images from the luminance information extraction unit 341 to the motion information extraction unit 45 to the weight calculation unit 312.
  • the luminance information extraction unit 341 through edge information extraction unit 343 in FIG. 21 are configured as shown in FIGS. 22 through 24 in more detail.
  • FIG. 22 is a diagram illustrating a configuration example of the luminance information extraction unit 341.
  • the luminance information extraction unit 341 includes a luminance image generation unit 371, a pyramid image generation unit 372, a difference calculation unit 373, and a luminance information map generation unit 374. Since each of the luminance image generation unit 371 to the difference calculation unit 373 is the same as each of the luminance image generation unit 81 to the difference calculation unit 83 in FIG.
  • the luminance information map generation unit 374 uses the difference weight Wa from the weight calculation unit 312 to add the difference image (corresponding to the difference image An (m)) from the difference calculation unit 373 with weight. Then, the luminance information map generation unit 374 substitutes an image obtained by weighted addition (corresponding to the information map Bn in ) for the function f (x) to perform the calculation, thereby performing the luminance information map (information map Bn out). And is supplied to the subject map generation unit 344.
  • FIG. 23 is a diagram illustrating a configuration example of the color information extraction unit 342 in FIG.
  • the color information extraction unit 342 includes an RG difference image generation unit 401, a BY difference image generation unit 402, a pyramid image generation unit 403, a pyramid image generation unit 404, a difference calculation unit 405, a difference calculation unit 406, a color information map generation unit 407, And a color information map generation unit 408.
  • each of the RG difference image generation unit 401 to the difference calculation unit 406 is the same as each of the RG difference image generation unit 111 to the difference calculation unit 116 of FIG.
  • the color information map generation unit 407 uses the difference weight Wa from the weight calculation unit 312 to add the difference image (corresponding to the difference image An (m)) of the RG from the difference calculation unit 405 with weight. Then, the color information map generation unit 407 substitutes an image obtained by weighted addition (corresponding to the information map Bin in ) into the function f (x), and performs an operation, thereby performing a color information map of RG difference ( to generate the information corresponding to the map Bn out).
  • the color information map generation unit 408 uses the difference weight Wa from the weight calculation unit 312 as a function f to obtain an image obtained by weighted addition of the difference image of the BY difference from the difference calculation unit 406. A calculation is performed by substituting for (x), and a color information map of the difference of BY is generated.
  • the color information map generation unit 407 and the color information map generation unit 408 supply the generated RG difference color information map and BY difference color information map to the subject map generation unit 344.
  • FIG. 24 is a diagram illustrating a configuration example of the edge information extraction unit 343 in FIG.
  • the edge information extraction unit 343 includes an edge image generation unit 441 to an edge image generation unit 444, a pyramid image generation unit 445 to a pyramid image generation unit 448, a difference calculation unit 449 to a difference calculation unit 452, and an edge information map generation unit 453 to an edge.
  • An information map generation unit 456 is configured. Note that each of the edge image generation unit 441 through the difference calculation unit 452 is the same as each of the edge image generation unit 141 through the difference calculation unit 152 in FIG.
  • the edge information map generation unit 453 uses the difference weight Wa from the weight calculation unit 312 to add the difference image (corresponding to the difference image An (m)) in the 0-degree direction from the difference calculation unit 449 with weight. Then, the edge information map generation unit 453 assigns an image (corresponding to the information map Bin in ) obtained by weighted addition to the function f (x), and performs an operation, thereby performing an edge information map (0 degree direction) to generate the information corresponding to the map Bn out).
  • the edge information map generation unit 454 through the edge information map generation unit 456 use the difference weight Wa from the weight calculation unit 312 to obtain the difference images in the respective directions supplied from the difference calculation unit 450 through the difference calculation unit 452.
  • the function f (x) is calculated by weighted addition and an edge information map in each direction is generated.
  • the edge information map generation unit 453 to the edge information map generation unit 456 supply the generated edge information map in each direction to the subject map generation unit 344.
  • the weight calculation unit 312 includes an evaluation map generation unit 481, a weight difference calculation unit 482 to a weight difference calculation unit 484, and a weight update unit 485.
  • the evaluation map generation unit 481 generates an evaluation map using the subject map from the subject map generation unit 344 and the image label from the image label database 303, and supplies the evaluation map to the weight difference calculation unit 482.
  • the weight difference calculation unit 482 generates a subject weight difference ⁇ Wc using the evaluation map from the evaluation map generation unit 481 and the subject map C in from the subject map generation unit 344, and supplies the subject weight difference ⁇ Wc to the weight update unit 485. In addition, the weight difference calculation unit 482 supplies the weight difference calculation unit 483 with the subject map difference ⁇ C obtained when the subject weight difference ⁇ Wc is calculated.
  • the weight difference calculation unit 483 uses the subject map difference ⁇ C from the weight difference calculation unit 482, the information map Bn in from the subject map generation unit 344, and the subject weight Wc from the weight update unit 485, as an information weight difference ⁇ Wbn is generated and supplied to the weight update unit 485. Also, the weight difference calculation unit 483 supplies the weight difference calculation unit 484 with the information map difference ⁇ Bn obtained when calculating the information weight difference ⁇ Wbn.
  • the weight difference calculation unit 484 uses the information map difference ⁇ Bn from the weight difference calculation unit 483, the difference image An (m) from the subject map generation unit 344, and the information weight Wbn from the weight update unit 485 as a difference weight. Difference ⁇ Wan (m) is generated and supplied to the weight update unit 485.
  • the weight update unit 485 uses the subject weight difference ⁇ Wc, the information weight difference ⁇ Wbn, and the difference weight difference ⁇ Wan (m) from the weight difference calculation unit 482 to the weight difference calculation unit 484, and uses the subject weight Wc, information The weight Wb and the difference weight Wa are updated. Also, the weight update unit 485 supplies the updated subject weight and information weight to the subject map generation unit 344 and supplies the difference weight to the luminance information extraction unit 341 to the edge information extraction unit 343, or the subject weight, The information weight and the difference weight are output as the final weight obtained by learning.
  • step S251 the luminance information extraction unit 341 performs luminance information extraction processing to generate a luminance information map, and supplies the generated luminance information map and the difference image to the subject map generation unit 344.
  • the luminance information extraction process is the same as the luminance information extraction process described with reference to FIG.
  • step S251 a learning image from the image database 302 is used to generate a luminance image.
  • the luminance information map generation unit 374 uses the difference weight Wa supplied from the weight update unit 485 to add the difference image from the difference calculation unit 373 with weight, A luminance information map is generated.
  • the luminance difference image as the difference image An (m) is weighted and added by the difference weight Wan (m) to obtain the information map Bn in, and further, the calculation of Expression (17) is performed on the information map Bn in .
  • a luminance information map is generated as the information map Bn out .
  • the pixel value of each pixel of the luminance difference image An (m) is multiplied by the difference weight Wan (m) for each difference image, and the difference weight is multiplied.
  • the sum of the pixel values of the pixels of each difference image is set as the pixel value of the pixel in the information map Bin.
  • the value obtained by substituting the pixel value x of each pixel of the information map Bn in into Expression (17) is the pixel value of the pixel of the luminance information map as the information map Bn out. It is said.
  • the luminance information map generation unit 374 supplies the difference image from the difference calculation unit 373, the generated luminance information map, and the luminance information map as the information map Bn in to the subject map generation unit 344.
  • step S252 the color information extraction unit 342 performs color information extraction processing, generates a color information map, and supplies the generated color information map and the difference image to the subject map generation unit 344.
  • the color information extraction process is the same as the color information extraction process described with reference to FIG.
  • step S252 the learning image from the image database 302 is used to generate an RG difference image and a BY difference image.
  • the color information map generation unit 407 and the color information map generation unit 408 use the difference weight Wa from the weight update unit 485 to perform the difference calculation unit 405 and the difference calculation unit 406.
  • the difference images from are added with weights to generate a color information map.
  • the difference image of RG difference or the difference image of BY difference as the difference image An (m) is weighted and added by the difference weight Wan (m) to form the information map Bn in . And it performs the operation of formula (17) with respect to further information map Bn in, color information map of the difference of RG as information maps Bn out or the color information map of the difference of BY, is generated.
  • the color information map generation unit 407 and the color information map generation unit 408 combine the difference image from the difference calculation unit 405 and the difference calculation unit 406, the generated color information map, and the color information map as the information map Bin in the subject map. It supplies to the production
  • step S253 the edge information extraction unit 343 performs edge information extraction processing to generate an edge information map, and supplies the generated edge information map and difference image to the subject map generation unit 344.
  • the edge information extraction process is the same as the edge information extraction process described with reference to FIG.
  • step S253 an edge image in each direction is generated using the learning image from the image database 302. Further, in the processing corresponding to step S114 in FIG. 11, the edge information map generation unit 453 to the edge information map generation unit 456 use the difference weight Wa from the weight update unit 485 to perform the difference calculation unit 449 to the difference calculation unit 452. The difference images from are added with weights to generate an edge information map.
  • the difference image in each direction as the difference image An (m) is weighted and added with the difference weight Wan (m) for each direction to obtain the information map Bin in . Further calculation is performed of the formula (17) with respect to information map Bn in, as an information map Bn out, 0 degrees, 45 degrees, 90 degrees, the direction of the edge information map of 135 degrees are generated.
  • the edge information map generation unit 453 to the edge information map generation unit 456 are the difference images from the difference calculation unit 449 to the difference calculation unit 452, the generated edge information map in each direction, and the edge in each direction as the information map Bn in.
  • the information map is supplied to the subject map generation unit 344.
  • step S254 the face information extracting section 44 performs a face information extraction process using the learning image from the image database 302, generates a face information map serving as an information map Bn out, and supplies the subject map generation unit 344 .
  • the face information extraction process is the same as the face information extraction process described with reference to FIG.
  • step S255 the motion information extraction unit 45 performs a motion information extraction process using the learning image from the image database 302, generates a motion information map serving as an information map Bn out, and supplies the subject map generation unit 344 .
  • the motion information extraction process is the same as the motion information extraction process described with reference to FIG.
  • step S256 the subject map generation unit 344 uses the luminance information map or motion information map from the luminance information extraction unit 341 to motion information extraction unit 45, and the information weight Wb and subject weight Wc from the weight update unit 485. Generate a subject map.
  • the subject map generation unit 344 generates the subject map C in by multiplying the luminance information map or motion information map as the information map Bn out by the information weight Wbn for each information map and adding the weight.
  • the information weight Wbn is multiplied, the sum of the pixel values of pixels at the same position of each information map is the pixel value of the pixel of the subject map C in.
  • the subject map generation unit 344 and the value obtained pixel value x of each pixel of the subject map C in into Equation (17) and the pixel value of the pixel of the subject map C out, further subject map C out
  • the pixel value of each pixel is multiplied by the subject weight Wc and normalized to obtain a final subject map.
  • the subject map generation unit 344 supplies the generated final subject map to the evaluation map generation unit 481 and supplies the subject map Cin to the weight difference calculation unit 482.
  • the subject map generation unit 344 supplies the information maps Bin in from the luminance information extraction unit 341 to the motion information extraction unit 45 to the weight difference calculation unit 483, and the luminance information extraction unit 341 edge information extraction unit 343 receives the information map Bin in .
  • Each difference image is supplied to the weight difference calculation unit 484.
  • the face information map and the motion information map generated as the information map Bn out are handled as the information map Bn in and supplied to the weight difference calculation unit 483.
  • the evaluation map generation unit 481 generates an evaluation map by obtaining a difference between the subject map from the subject map generation unit 344 and the image label from the image label database 303. That is, when a predetermined pixel of the subject map is a target pixel, a difference between the pixel value of the target pixel and the pixel value of the pixel of the image label at the same position as the target pixel is obtained, and the difference is the same position as the target pixel. The pixel value of the pixel in the evaluation map.
  • the evaluation map generator 481 supplies the generated evaluation map to the weight difference calculator 482.
  • step S258 the weight update unit 485 updates the subject weight Wc. That is, the weight difference calculation unit 482 uses the evaluation map EV supplied from the evaluation map generation unit 481 and the subject map C in from the subject map generation unit 344, and uses the above-described equations (18) and (19). And subject weight difference ⁇ Wc is obtained.
  • the weight difference calculation unit 482 supplies the obtained subject weight difference ⁇ Wc to the weight update unit 485 and also supplies the weight difference calculation unit 483 to the subject map difference ⁇ C obtained by the calculation of Expression (19). Then, the weight update unit 485 adds the subject weight difference ⁇ Wc from the weight difference calculation unit 482 to the held subject weight Wc to update the subject weight Wc.
  • the weight update unit 485 updates the information weight Wbn. That is, the weight difference calculation unit 483 includes the subject map difference ⁇ C supplied from the weight difference calculation unit 482, the information map Bn in from the subject map generation unit 344, and the updated subject weight Wc from the weight update unit 485. Is used to calculate the above-described equations (20) and (21) to obtain the information weight difference ⁇ Wbn.
  • This information weight difference ⁇ Wbn is for each information map, that is, luminance information map, RG difference color information map, BY difference color information map, 0 degree direction to 135 degree direction edge information map, face information map , And the motion information map.
  • the weight difference calculation unit 483 supplies the obtained information weight difference ⁇ Wbn to the weight update unit 485, and supplies the information map difference ⁇ Bn obtained by the calculation of Expression (21) to the weight difference calculation unit 484. Then, the weight update unit 485 adds the information weight difference ⁇ Wbn from the weight difference calculation unit 483 to the held information weight Wbn to update the information weight Wbn.
  • the information weights of the luminance information map, the color information map of RG difference, the color information map of BY difference, the edge information map in each direction from 0 degree direction to 135 degree, the face information map, and the motion information map Wb is updated.
  • the weight update unit 485 updates the difference weight Wa. That is, the weight difference calculation unit 484 includes the information map difference ⁇ Bn supplied from the weight difference calculation unit 483, the difference image An (m) from the subject map generation unit 344, and the updated information from the weight update unit 485. Using the weight Wbn, the above-described equations (22) and (23) are calculated to obtain a difference weight difference ⁇ Wan (m). The difference weight difference ⁇ Wan (m) is obtained for each difference image for each information map. For example, as described above, the luminance information map is obtained from the five luminance difference images, and therefore, for the luminance information map, the difference weight difference ⁇ Wan (m) is obtained for each of the five difference images.
  • the weight difference calculation unit 484 supplies the obtained difference ⁇ Wan (m) to the weight update unit 485, and the weight update unit 485 adds the difference ⁇ from the weight difference calculation unit 484 to the difference weight Wan (m) held.
  • the difference weight Wan (m) is updated by adding Wan (m).
  • step S261 the weight calculation unit 312 determines whether or not to finish the process of repeatedly updating the difference weight Wan (m), the information weight Wbn, and the subject weight Wc.
  • the absolute value of the maximum pixel value of the pixels of the evaluation map finally obtained in step S257 is equal to or less than a predetermined threshold value and is equal to or greater than a predetermined number of times, the difference weight, the information weight, and the subject.
  • step S261 If it is determined in step S261 that the process is not terminated, the weight update unit 485 supplies the updated difference weight Wan (m) to the luminance information extraction unit 341 to the edge information extraction unit 343, and the information weight Wbn and the subject The weight Wc is supplied to the subject map generation unit 344. Thereafter, the processing returns to step S251, and the above-described processing is repeated.
  • or step S255 repeatedly performed, the same image as the learning image used until now is used, and each information map is produced
  • step S261 if it is determined in step S261 that the process is to be terminated, since the weight for obtaining the subject map from which the subject is extracted from the image with sufficient accuracy is obtained, the process proceeds to step S262.
  • step S262 the weight update unit 485 outputs the updated difference weight Wan (m), information weight Wbn, and subject weight Wc as final weights obtained by learning, and the learning process ends.
  • the learning device 301 performs learning processing using a learning image including a general subject, and generates weights used to generate a subject map. Therefore, if a subject map is generated using the weight obtained by learning, a general subject can be more reliably detected from the image by the subject map.
  • weighting is performed by learning using a neutral network. By generating, the weight can be easily obtained.
  • the structure of generating an information map from a difference image and generating a subject map from the information map is very similar to a model of a neutral network, and it is easy to apply a learning method called a neutral network to weight learning.
  • the weight can be obtained by simple processing. Further, in the learning by the neutral network, the weight of each information map and the weight of each difference image can be obtained by parallel processing, so that the weight can be generated more quickly.
  • the learning device 301 has been described as outputting the last updated difference weight Wan (m), information weight Wbn, and subject weight Wc as final weights. Highly evaluated weights may be output as final weights. In such a case, each time the weight is updated, the weight and the evaluation map obtained using the weight are recorded, and after the weight is updated a predetermined number of times, The highest weight of the evaluation value obtained from the absolute value of the pixel value of the pixel of the evaluation map is output.
  • the learning device 301 described above may be incorporated in an imaging device or the like as a device that constitutes an image evaluation system together with the image processing device 11 described above.
  • the image evaluation system is configured as shown in FIG. 27, for example. That is, the image evaluation system includes an image processing device 11, a learning device 301, an image database 302, an image label database 303, a display unit 511, and an operation input receiving unit 512.
  • the image evaluation system includes an image processing device 11, a learning device 301, an image database 302, an image label database 303, a display unit 511, and an operation input receiving unit 512.
  • FIG. 27 parts corresponding to those in FIGS. 1 and 20 are denoted by the same reference numerals, and description thereof will be omitted as appropriate.
  • an input image obtained by imaging or an image recorded in advance in the image database 302 is used as a learning image.
  • the learning device 301 when an image recorded in the image database 302 is used as a learning image, the learning device 301 performs a learning process using the learning image acquired from the image database 302 and the image label acquired from the image label database 303. Do. Then, the difference weight Wan (m), the information weight Wbn, and the subject weight Wc obtained by the learning process are supplied from the learning device 301 to the image processing device 11.
  • the image processing apparatus 11 performs the image evaluation process described with reference to FIG. 8 using the weight supplied from the learning apparatus 301 and the input image that has been input, and obtains and outputs a score for the input image.
  • the display unit 511 includes, for example, a liquid crystal display and displays an input image that has been input.
  • an operation input receiving unit 512 including, for example, a touch panel is superimposed on the display unit 511, and the user performs an operation on the operation input receiving unit 512, and among the input images displayed on the display unit 511. Specify the area to be the subject. Then, the operation input reception unit 512 generates an image label according to the user's operation and supplies it to the learning device 301.
  • the operation input receiving unit 512 sets the pixel value of the pixel in the same area as the area specified by the user on the input image in the label image to be generated to 1 and the pixel value of the pixel in the other area Is set to 0. That is, the pixel value of the pixel in the same region as the region not specified by the user on the input image in the label image is set to zero.
  • the learning device 301 uses the input image as a learning image, performs learning processing using the learning image and the image label supplied from the operation input reception unit 512, and performs a difference weight Wan (m), an information weight Wbn, And subject weight Wc. Then, the learning device 301 supplies the generated weight to the image processing device 11, and the image processing device 11 performs an image evaluation process using the weight from the learning device 301, and obtains and outputs a score for the input image.
  • the imaging apparatus inputs whether or not the captured input image is the best shot based on the score output from the image processing apparatus 11.
  • the score for the image can be displayed.
  • the operation input receiving unit 512 is not limited to the touch panel, and may be configured by a sensor that detects the direction of the user's line of sight looking through the viewfinder using infrared rays. In such a case, an input image is supplied to the operation input receiving unit 512, and an object included in a region specified by the line-of-sight direction detected by the sensor on the input image is set as a subject, and an image label is generated. Is done.
  • a series of processing can be executed by hardware or can be executed by software.
  • a program constituting the software may execute various functions by installing a computer incorporated in dedicated hardware or various programs. For example, it is installed from a program recording medium in a general-purpose personal computer or the like.
  • FIG. 28 is a block diagram showing an example of the hardware configuration of a computer that executes the above-described series of processing by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 605 is further connected to the bus 604.
  • the input / output interface 605 includes an input unit 606 including a keyboard, a mouse, and a microphone, an output unit 607 including a display and a speaker, a recording unit 608 including a hard disk and a non-volatile memory, and a communication unit 609 including a network interface.
  • a drive 610 for driving a removable medium 611 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is connected.
  • the CPU 601 loads the program recorded in the recording unit 608 to the RAM 603 via the input / output interface 605 and the bus 604 and executes the program, for example. Is performed.
  • the program executed by the computer (CPU 601) is, for example, a magnetic disk (including a flexible disk), an optical disk (CD-ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile Disc), etc.), a magneto-optical disc, or a semiconductor
  • the program is recorded on a removable medium 611 that is a package medium including a memory or the like, or is provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the recording unit 608 via the input / output interface 605 by attaching the removable medium 611 to the drive 610. Further, the program can be received by the communication unit 609 via a wired or wireless transmission medium and installed in the recording unit 608. In addition, the program can be installed in the ROM 602 or the recording unit 608 in advance.
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • 11 Image processing device 41 Luminance information extraction unit, 42 Color information extraction unit, 43 Edge information extraction unit, 44 Face information extraction unit, 45 Motion information extraction unit, 46 Subject map generation unit, 51 Blur determination unit, 54 Score calculation unit 84 brightness information map generation unit, 117 color information map generation unit, 118 color information map generation unit, 153 to 156 edge information map generation unit, 182 face information map generation unit, 214 motion information map generation unit, 241 edge map generation unit , 245 edge point extraction unit, 246 extraction amount determination unit, 247 edge analysis unit, 248 blur degree detection unit, 301 learning device, 311 subject extraction unit, 312 weight calculation unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)

Abstract

本発明は、被写体が鮮明に写っているか否かを確実に評価できるようにすることができる画像処理装置および方法、学習装置および方法、並びにプログラムに関する。 被写体抽出部21は、入力画像を用いて、入力画像における被写体の含まれる領域を示す被写体マップを生成し、判定部22に供給する。判定部22は、入力画像と、被写体抽出部21からの被写体マップとを用いて、入力画像上の被写体の領域のぼけ具合を求め、そのぼけ具合に基づいて、入力画像のスコアを算出する。このスコアは、入力画像において、被写体が鮮明に写っている度合いを評価する指標とされる。本発明は、撮像装置に適用することができる。

Description

画像処理装置および方法、学習装置および方法、並びにプログラム
 本発明は画像処理装置および方法、学習装置および方法、並びにプログラムに関し、特に、鑑賞に堪え得ると推定される画像を簡単に選択することができるようにした画像処理装置および方法、学習装置および方法、並びにプログラムに関する。
 撮像して得られた写真等の画像を整理するアルバム作成機能や、画像のスライドショー機能を利用する場合、ユーザは、保存させたり表示させたりする画像を選択する必要があるが、大量の画像の中から必要な画像を選ぶことは大変な作業である。
 そこで、複数の画像の中から、いわゆるベストショット、つまりユーザの鑑賞に堪え得ると推定される画像を選択する技術として、連写された複数の画像からベストショットを選択する技術が知られている(例えば、特許文献1参照)。
 また、画像に関連する技術として、画像のシャープネス、顔の画像の品質、およびフレアの有無に基づいて、写真としての画像の品質を評価する技術(例えば、特許文献2参照)や、画像から顔を検出し、その検出結果に応じて最適な構図を選択して切り出す技術(例えば、特許文献3参照)も知られている。
特開2006-311340号公報 特表2005-521927号公報 特開2007-27971号公報
 しかしながら、上述した技術では、評価対象の画像が、ユーザの鑑賞に堪え得ると推定される画像であるか否か、すなわち被写体が鮮明に写っている画像であるか否かを確実に評価することは困難であった。
 例えば、連写された画像からベストショットを選択する技術では、画像全体のぼけ度合いおよび露出の評価が行われるが、一般的な、連写されて得られたものではない画像に対してぼけ度合いや露出の評価を行っても、必ずしも上手く撮像された画像の評価が高くなるとは限らない。
 つまり、一般的には被写体にピントが合い、背景がぼけている写真は、被写体が鮮明に写るため上手く撮像された、いわゆるベストショットであることが多い。ところが、特許文献1に記載の技術を連写されたものではない画像に対して用いると、被写体にピントが合っているが、背景がぼけている画像よりも、画像全体にピントが合った画像がベストショットとして選択される可能性が高くなってしまう。
 また、特許文献2に記載の技術では、被写体が人の顔であるとして画像の品質が評価されるため、画像から顔が検出できなかった場合には、シャープネスとフレアの有無により画像の品質が評価される。したがって、そのような場合には、被写体にピントが合っているが、背景がぼけている画像よりも、画像全体にピントが合った画像が、より高く評価されてしまうことになる。
 さらに、特許文献3に記載の技術では、最適な構図を切り出すことはできるが、画像が上手く撮像されたものであるか否かを評価することはできない。また、この技術では、画像に被写体として人の顔がない場合には、最適な構図を切り出すことはできない。
 本発明は、このような状況に鑑みてなされたものであり、評価対象の画像が、被写体が鮮明に写っている画像であるか否かを、より確実に評価することができるようにするものである。
 本発明の第1の側面の画像処理装置は、入力画像に基づいて、前記入力画像上の被写体の領域を特定するための被写体特定情報を生成する生成手段と、前記被写体特定情報および前記入力画像を用いて、前記入力画像における前記被写体の含まれる領域を処理対象として、前記被写体のぼけ具合を検出する検出手段とを備える。
 前記生成手段には、前記入力画像から前記被写体の領域が有する特徴の特徴量を抽出して、前記入力画像の各領域における前記特徴量を示す情報マップを生成する情報マップ生成手段と、互いに異なる前記特徴の前記特徴量を示す複数の前記情報マップを重み付き加算することにより、前記被写体特定情報を生成する被写体特定情報生成手段とを設けることができる。
 前記検出手段には、前記被写体の領域内におけるエッジの強度を検出させることにより、前記被写体のぼけ具合を検出させることができる。
 前記情報マップ生成手段には、前記入力画像から前記特徴量を抽出させて、前記入力画像の各領域における前記特徴量を示す特徴画像を生成させるとともに、前記特徴画像に基づいて互いに解像度の異なる複数の前記特徴画像を生成させ、前記複数の前記特徴画像の差分を求めさせることにより、前記情報マップを生成させることができる。
 本発明の第1の側面の画像処理方法またはプログラムは、入力画像に基づいて、前記入力画像上の被写体の領域を特定するための被写体特定情報を生成し、前記被写体特定情報および前記入力画像を用いて、前記入力画像における前記被写体の含まれる領域を処理対象として、前記被写体のぼけ具合を検出するステップを含む。
 本発明の第1の側面においては、入力画像に基づいて、前記入力画像上の被写体の領域を特定するための被写体特定情報が生成され、前記被写体特定情報および前記入力画像が用いられて、前記入力画像における前記被写体の含まれる領域を処理対象として、前記被写体のぼけ具合が検出される。
 本発明の第2の側面の学習装置は、画像上の被写体の領域を特定するための被写体マップを生成するために用いられる重みを、ニューラルネットワークによる学習により求める学習装置であって、前記被写体が含まれ、前記学習に用いられる学習画像から、前記被写体の領域が有する特徴の特徴量を抽出して、前記学習画像の各領域における前記特徴量を示す情報マップを生成する情報マップ生成手段と、互いに異なる前記特徴の前記特徴量を示す複数の前記情報マップを、前記重みを用いて重み付き加算することにより、前記被写体マップを生成する被写体マップ生成手段と、前記被写体マップと、予め求められた前記学習画像における前記被写体の領域を示す画像ラベルとを用いて、前記重みを変化させるべき変化量を算出する重み変化量算出手段と、前記変化量を前記重みに加算して、前記重みを更新する更新手段とを備える。
 本発明の第2の側面の学習方法またはプログラムは、画像上の被写体の領域を特定するための被写体マップを生成するために用いられる重みを、ニューラルネットワークによる学習により求める学習方法またはプログラムであって、前記被写体が含まれ、前記学習に用いられる学習画像から、前記被写体の領域が有する特徴の特徴量を抽出して、前記学習画像の各領域における前記特徴量を示す情報マップを生成し、互いに異なる前記特徴の前記特徴量を示す複数の前記情報マップを、前記重みを用いて重み付き加算することにより、前記被写体マップを生成し、前記被写体マップと、予め求められた前記学習画像における前記被写体の領域を示す画像ラベルとを用いて、前記重みを変化させるべき変化量を算出し、前記変化量を前記重みに加算して、前記重みを更新するステップを含む。
 本発明の第2の側面においては、画像上の被写体の領域を特定するための被写体マップを生成するために用いられる重みを、ニューラルネットワークによる学習により求める学習処理において、前記被写体が含まれ、前記学習に用いられる学習画像から、前記被写体の領域が有する特徴の特徴量が抽出されて、前記学習画像の各領域における前記特徴量を示す情報マップが生成され、互いに異なる前記特徴の前記特徴量を示す複数の前記情報マップを、前記重みを用いて重み付き加算することにより、前記被写体マップが生成され、前記被写体マップと、予め求められた前記学習画像における前記被写体の領域を示す画像ラベルとが用いられて、前記重みを変化させるべき変化量が算出され、前記変化量が前記重みに加算されて、前記重みが更新される。
 本発明の第1の側面によれば、画像を評価することができる。特に、本発明の第1の側面によれば、被写体が鮮明に写っていると推定される画像を、より確実に選択することができる。
 また、本発明の第2の側面によれば、画像を評価するために用いられる重みを求めることができる。特に、本発明の第2の側面によれば、被写体が鮮明に写っていると推定される画像を、より確実に選択するために用いられる重みを提供することができる。
本発明を適用した画像処理装置の一実施の形態の構成例を示す図である。 輝度情報抽出部の構成例を示す図である。 色情報抽出部の構成例を示す図である。 エッジ情報抽出部の構成例を示す図である。 顔情報抽出部の構成例を示す図である。 動き情報抽出部の構成例を示す図である。 ぼけ判定部の構成例を示す図である。 画像評価処理を説明するフローチャートである。 輝度情報抽出処理を説明するフローチャートである。 色情報抽出処理を説明するフローチャートである。 エッジ情報抽出処理を説明するフローチャートである。 顔情報抽出処理を説明するフローチャートである。 動き情報抽出処理を説明するフローチャートである。 ぼけ判定処理を説明するフローチャートである。 エッジマップの生成について説明する図である。 ローカルマックスの生成について説明する図である。 エッジの構造の例を示す図である。 ニューラルネットワークによる学習の概要を説明する図である。 ニューラルネットワークによる学習の概要を説明する図である。 本発明を適用した学習装置の一実施の形態の構成例を示す図である。 被写体抽出部の構成例を示す図である。 輝度情報抽出部の構成例を示す図である。 色情報抽出部の構成例を示す図である。 エッジ情報抽出部の構成例を示す図である。 重み算出部の構成例を示す図である。 学習処理を説明するフローチャートである。 画像評価システムの構成例を示す図である。 コンピュータの構成例を示す図である。
 以下、図面を参照して、本発明を適用した実施の形態について説明する。
[画像処理装置の構成]
 図1は、本発明を適用した画像処理装置の一実施の形態の構成例を示すブロック図である。
 画像処理装置11は、例えば、カメラ等の撮像装置に搭載され、撮像された入力画像の評価を行う。入力画像の評価では、入力画像上の被写体がぼけたりぶれたりしておらず、鮮明に写っていると推定されるものが、上手く撮像された画像であるベストショットであるとされる。逆に、被写体がぼけていたり、露出オーバーしたりしているものは、上手く撮像されていない画像であるバッドショットであるとされる。
 つまり、被写体がより鮮明に写っていると推定される入力画像ほど、よりユーザの鑑賞に堪え得る画像であるとされ、より高い評価値(スコア)が与えられる。そして、例えば、入力画像の評価値が所定の閾値以上である場合に、入力画像はベストショットとされる。
 画像処理装置11は、被写体抽出部21および判定部22から構成され、撮像により得られた入力画像は、被写体抽出部21および判定部22に供給される。
 被写体抽出部21は、供給された入力画像から被写体を検出し、入力画像における被写体の含まれる領域を特定するための情報である被写体マップを生成して判定部22に供給する。ここで、被写体の検出は、ユーザが入力画像を一瞥した場合に、ユーザが注目すると推定される入力画像上の物体、つまりユーザが目を向けると推定される物体が被写体であるとして、行われる。したがって、被写体は必ずしも人に限られる訳ではない。
 被写体抽出部21は、輝度情報抽出部41、色情報抽出部42、エッジ情報抽出部43、顔情報抽出部44、動き情報抽出部45、および被写体マップ生成部46から構成される。
 輝度情報抽出部41は、供給された入力画像に基づいて、入力画像の各領域における、輝度に関する情報を示す輝度情報マップを生成し、被写体マップ生成部46に供給する。色情報抽出部42は、供給された入力画像に基づいて、入力画像の各領域における、色に関する情報を示す色情報マップを生成し、被写体マップ生成部46に供給する。
 エッジ情報抽出部43は、供給された入力画像に基づいて、入力画像の各領域における、エッジに関する情報を示すエッジ情報マップを生成し、被写体マップ生成部46に供給する。顔情報抽出部44は、供給された入力画像に基づいて、入力画像の各領域における、被写体としての人の顔に関する情報を示す顔情報マップを生成し、被写体マップ生成部46に供給する。動き情報抽出部45は、供給された入力画像に基づいて、入力画像の各領域における、動きに関する情報を示す動き情報マップを生成し、被写体マップ生成部46に供給する。
 なお、以下、輝度情報抽出部41乃至動き情報抽出部45から出力される、輝度情報マップ乃至動き情報マップのそれぞれを個々に区別する必要のない場合、単に情報マップとも称する。これらの情報マップに含まれる情報は、被写体の含まれる領域により多く含まれる特徴の特徴量を示す情報とされ、その情報が入力画像の各領域に対応させて並べられたものが情報マップとされる。つまり、情報マップは、入力画像の各領域における特徴量を示す情報であるといえる。
 したがって、各情報マップにおける、より情報量の多い領域、つまり特徴量の多い領域に対応する入力画像上の領域は、より被写体が含まれる可能性の高い領域となり、各情報マップにより入力画像における被写体の含まれる領域を特定することができる。
 被写体マップ生成部46は、輝度情報抽出部41乃至動き情報抽出部45から供給された輝度情報マップ、色情報マップ、エッジ情報マップ、顔情報マップ、および動き情報マップを線形結合し、被写体マップを生成する。すなわち、輝度情報マップ乃至動き情報マップの各領域の情報(特徴量)が、同じ位置にある領域ごとに重み付き加算されて被写体マップが生成される。被写体マップ生成部46は、生成した被写体マップを判定部22に供給する。
 判定部22は、供給された入力画像と、被写体抽出部21の被写体マップ生成部46から供給された被写体マップとを用いて、入力画像の評価の指標となるスコアを算出し、出力する。判定部22は、ぼけ判定部51、露出判定部52、ホワイトバランス判定部53、およびスコア算出部54から構成される。
 ぼけ判定部51は、供給された入力画像と、被写体マップ生成部46から供給された被写体マップとを用いて、入力画像における被写体の含まれる領域を処理対象として、被写体のぼけ具合(ぼけの度合い)を検出し、その検出結果をスコア算出部54に供給する。
 露出判定部52は、供給された入力画像に基づいて、入力画像全体における露出の適正の度合いを検出し、その検出結果をスコア算出部54に供給する。また、ホワイトバランス判定部53は、供給された入力画像に基づいて、入力画像全体におけるホワイトバランスの適正さの度合いを検出し、その検出結果をスコア算出部54に供給する。スコア算出部54は、ぼけ判定部51、露出判定部52、およびホワイトバランス判定部53のそれぞれから供給された検出結果に基づいて入力画像のスコアを算出し、出力する。
 次に、図2乃至図7を参照して、図1の輝度情報抽出部41乃至動き情報抽出部45、およびぼけ判定部51のより詳細な構成について説明する。
 図2は、輝度情報抽出部41の構成例を示すブロック図である。
 輝度情報抽出部41は、輝度画像生成部81、ピラミッド画像生成部82、差分算出部83、および輝度情報マップ生成部84から構成される。
 輝度画像生成部81は、供給された入力画像を用いて、入力画像の画素の輝度値を、画素の画素値とする輝度画像を生成し、ピラミッド画像生成部82に供給する。ここで、輝度画像の任意の画素の画素値は、その画素と同じ位置にある入力画像の画素の輝度値を示している。
 ピラミッド画像生成部82は、輝度画像生成部81から供給された輝度画像を用いて、互いに解像度の異なる複数の輝度画像を生成し、それらの輝度画像を輝度のピラミッド画像として差分算出部83に供給する。
 例えば、レベルL1乃至レベルL8までの8つの解像度の階層のピラミッド画像が生成され、レベルL1のピラミッド画像が最も解像度が高く、レベルL1からレベルL8まで順番にピラミッド画像の解像度が低くなるものとする。
 この場合、輝度画像生成部81により生成された輝度画像が、レベルL1のピラミッド画像とされる。また、レベルLi(但し、1≦i≦7)のピラミッド画像における、互いに隣接する4つの画素の画素値の平均値が、それらの画素と対応するレベルL(i+1)のピラミッド画像の1つの画素の画素値とされる。したがって、レベルL(i+1)のピラミッド画像は、レベルLiのピラミッド画像に対して縦横半分(割り切れない場合は切り捨て)の画像となる。
 差分算出部83は、ピラミッド画像生成部82から供給された複数のピラミッド画像のうち、互いに階層の異なる2つのピラミッド画像を選択し、選択したピラミッド画像の差分を求めて輝度の差分画像を生成する。なお、各階層のピラミッド画像は、それぞれ大きさ(画素数)が異なるので、差分画像の生成時には、より小さい方のピラミッド画像が、より大きいピラミッド画像に合わせてアップコンバートされる。
 差分算出部83は、予め定められた数だけ輝度の差分画像を生成すると、生成したそれらの差分画像を正規化し、輝度情報マップ生成部84に供給する。輝度情報マップ生成部84は、差分算出部83から供給された差分画像に基づいて輝度情報マップを生成し、被写体マップ生成部46に供給する。
 図3は、図1の色情報抽出部42の構成例を示すブロック図である。
 色情報抽出部42は、RG差分画像生成部111、BY差分画像生成部112、ピラミッド画像生成部113、ピラミッド画像生成部114、差分算出部115、差分算出部116、色情報マップ生成部117、および色情報マップ生成部118から構成される。
 RG差分画像生成部111は、供給された入力画像を用いて、入力画像の画素のR(赤)成分とG(緑)成分との差分を、画素の画素値とするRG差分画像を生成し、ピラミッド画像生成部113に供給する。RG差分画像の任意の画素の画素値は、その画素と同じ位置にある入力画像の画素のRの成分と、Gの成分との差分の値を示している。
 BY差分画像生成部112は、供給された入力画像を用いて、入力画像の画素のB(青)成分とY(黄)成分との差分を、画素の画素値とするBY差分画像を生成し、ピラミッド画像生成部114に供給する。BY差分画像の任意の画素の画素値は、その画素と同じ位置にある入力画像の画素のB(青)成分と、Y(黄)成分との差分の値を示している。
 ピラミッド画像生成部113およびピラミッド画像生成部114は、RG差分画像生成部111およびBY差分画像生成部112から供給されたRG差分画像およびBY差分画像を用いて、互いに解像度の異なる複数のRG差分画像およびBY差分画像を生成する。そして、ピラミッド画像生成部113およびピラミッド画像生成部114は、生成したそれらのRG差分画像およびBY差分画像を、RGの差分のピラミッド画像、およびBYの差分のピラミッド画像として差分算出部115および差分算出部116に供給する。
 例えば、RGの差分のピラミッド画像、およびBYの差分のピラミッド画像として、輝度のピラミッド画像の場合と同様に、それぞれレベルL1乃至レベルL8までの8つの解像度の階層のピラミッド画像が生成される。
 差分算出部115および差分算出部116は、ピラミッド画像生成部113およびピラミッド画像生成部114から供給された複数のピラミッド画像のうち、互いに階層の異なる2つのピラミッド画像を選択し、選択したピラミッド画像の差分を求めてRGの差分の差分画像、およびBYの差分の差分画像を生成する。なお、各階層のピラミッド画像は、それぞれ大きさが異なるので、差分画像の生成時には、より小さい方のピラミッド画像がアップコンバートされて、より大きい方のピラミッド画像と同じ大きさとされる。
 差分算出部115および差分算出部116は、予め定められた数だけRGの差分の差分画像、およびBYの差分の差分画像を生成すると、生成したそれらの差分画像を正規化し、色情報マップ生成部117および色情報マップ生成部118に供給する。色情報マップ生成部117および色情報マップ生成部118は、差分算出部115および差分算出部116から供給された差分画像に基づいて色情報マップを生成し、被写体マップ生成部46に供給する。色情報マップ生成部117ではRGの差分の色情報マップが生成され、色情報マップ生成部118ではBYの差分の色情報マップが生成される。
 図4は、図1のエッジ情報抽出部43の構成例を示すブロック図である。
 エッジ情報抽出部43は、エッジ画像生成部141乃至エッジ画像生成部144、ピラミッド画像生成部145乃至ピラミッド画像生成部148、差分算出部149乃至差分算出部152、およびエッジ情報マップ生成部153乃至エッジ情報マップ生成部156から構成される。
 エッジ画像生成部141乃至エッジ画像生成部144は、供給された入力画像に対して、ガボアフィルタを用いたフィルタ処理を施し、例えば0度、45度、90度、および135度の方向のエッジ強度を画素の画素値とするエッジ画像を生成し、ピラミッド画像生成部145乃至ピラミッド画像生成部148に供給する。
 例えば、エッジ画像生成部141により生成されるエッジ画像の任意の画素の画素値は、その画素と同じ位置にある入力画像の画素における0度の方向のエッジ強度を示している。なお、各エッジの方向とは、ガボアフィルタを構成するガボア関数における角度成分により示される方向をいう。
 ピラミッド画像生成部145乃至ピラミッド画像生成部148は、エッジ画像生成部141乃至エッジ画像生成部144から供給された各方向のエッジ画像を用いて、互いに解像度の異なる複数のエッジ画像を生成する。そして、ピラミッド画像生成部145乃至ピラミッド画像生成部148は、生成したそれらの各方向のエッジ画像を、エッジの各方向のピラミッド画像として差分算出部149乃至差分算出部152に供給する。
 例えば、エッジの各方向のピラミッド画像として、輝度のピラミッド画像の場合と同様に、それぞれレベルL1乃至レベルL8までの8つの階層のピラミッド画像が生成される。
 差分算出部149乃至差分算出部152は、ピラミッド画像生成部145乃至ピラミッド画像生成部148から供給された、複数のピラミッド画像のうち、互いに階層の異なる2つのピラミッド画像を選択し、選択したピラミッド画像の差分を求めてエッジの各方向の差分画像を生成する。なお、各階層のピラミッド画像は、それぞれ大きさが異なるので、差分画像の生成時には、より小さい方のピラミッド画像がアップコンバートされる。
 差分算出部149乃至差分算出部152は、予め定められた数だけエッジの各方向の差分画像を生成すると、生成したそれらの差分画像を正規化し、エッジ情報マップ生成部153乃至エッジ情報マップ生成部156に供給する。エッジ情報マップ生成部153乃至エッジ情報マップ生成部156は、差分算出部149乃至差分算出部152から供給された差分画像に基づいて、各方向のエッジ情報マップを生成し、被写体マップ生成部46に供給する。
 図5は、図1の顔情報抽出部44の構成例を示すブロック図である。
 顔情報抽出部44は、顔検出部181および顔情報マップ生成部182から構成される。
 顔検出部181は、供給された入力画像から被写体としての人の顔の領域を検出し、その検出結果を顔情報マップ生成部182に供給する。顔情報マップ生成部182は、顔検出部181からの検出結果に基づいて顔情報マップを生成し、被写体マップ生成部46に供給する。
 図6は、図1の動き情報抽出部45の構成例を示すブロック図である。
 動き情報抽出部45は、ローカルモーションベクタ抽出部211、グローバルモーションベクタ抽出部212、差分算出部213、および動き情報マップ生成部214から構成される。
 ローカルモーションベクタ抽出部211は、供給された入力画像と、その入力画像とは撮像時刻の異なる他の入力画像とを用いて、入力画像の各画素の動きベクトルをローカルモーションベクタとして検出し、差分算出部213に供給する。グローバルモーションベクタ抽出部212は、供給された入力画像と、その入力画像とは撮像時刻の異なる他の入力画像とを用いて、入力画像の各画素の動きベクトルを求め、さらに例えば、それらの各画素の動きベクトルの平均値をグローバルモーションベクタとし、差分算出部213に供給する。このグローバルモーションベクタは、入力画像全体の動きの方向を示している。
 差分算出部213は、ローカルモーションベクタ抽出部211からのローカルモーションベクタと、グローバルモーションベクタ抽出部212からのグローバルモーションベクタとの差分の絶対値を求めて動きの差分画像を生成し、動き情報マップ生成部214に供給する。ここで、動きの差分画像における任意の画素の画素値は、その画素と同じ位置にある入力画像の画素のローカルモーションベクタと、入力画像全体のグローバルモーションベクタとの差分の絶対値を示している。したがって、動きの差分画像の画素の画素値は、入力画像の画素に表示される物体(または背景)の入力画像全体に対する、つまり背景に対する相対的な動き量を示している。
 動き情報マップ生成部214は、差分算出部213からの動きの差分画像に基づいて動き情報マップを生成し、被写体マップ生成部46に供給する。なお、より詳細には、動き情報マップの生成は、入力画像として、時間的に連続して撮像されたものが供給された場合、例えば、入力画像が連写されたものや、動画像である場合に行われる。
 図7は、図1のぼけ判定部51の構成例を示すブロック図である。
 ぼけ判定部51は、エッジマップ生成部241、ダイナミックレンジ検出部242、演算パラメータ調整部243、ローカルマックス生成部244、エッジポイント抽出部245、抽出量判定部246、エッジ分析部247、およびぼけ度検出部248から構成される。
 エッジマップ生成部241は、供給された入力画像と、被写体マップ生成部46からの被写体マップとを用いて、入力画像から、被写体が含まれると推定される領域を被写体画像として抽出する。
 また、エッジマップ生成部241は、被写体画像に基づいて、互いに大きさが異なる3種類のブロック単位で被写体画像のエッジの強度(エッジ強度)を検出し、検出したエッジ強度を画素値とするエッジマップを生成する。このエッジマップは、ブロックの大きさごとに生成され、ブロックの小さいものから順番に、スケールSC1乃至スケールSC3のエッジマップとされる。エッジマップ生成部241は、生成したこれらの3つのエッジマップを、ダイナミックレンジ検出部242およびローカルマックス生成部244に供給する。
 ダイナミックレンジ検出部242は、エッジマップ生成部241からのエッジマップを用いて、被写体画像のエッジ強度の最大値と最小値の差であるダイナミックレンジを検出し、その検出結果を演算パラメータ調整部243に供給する。
 演算パラメータ調整部243は、ダイナミックレンジ検出部242から供給された検出結果に基づいて、被写体画像のぼけ具合の検出に用いるエッジポイントの抽出量(以下、エッジポイント抽出量とも称する)が適切な値になるように、エッジポイントの抽出に用いる演算パラメータを調整する。ここで、エッジポイントとは、画像内のエッジを構成する画素をいう。
 また、演算パラメータには、エッジポイントであるか否かの判定に用いるエッジ基準値、およびエッジポイント抽出量が適切であるか否かの判定に用いる抽出基準値が含まれる。演算パラメータ調整部243は、エッジ基準値をエッジポイント抽出部245および抽出量判定部246に供給し、抽出基準値を抽出量判定部246に供給する。
 ローカルマックス生成部244は、エッジマップ生成部241から供給されたエッジマップを、それぞれ所定の大きさのブロックに分割し、各ブロックの画素値の最大値を抽出することによりローカルマックスを生成する。ローカルマックスは、エッジマップのスケールごとに生成され、ローカルマックス生成部244からエッジポイント抽出部245およびエッジ分析部247に供給される。以下、スケールSC1乃至スケールSC3のエッジマップから生成されたローカルマックスを、それぞれローカルマックスLM1乃至ローカルマックスLM3と称する。
 エッジポイント抽出部245は、被写体マップ生成部46からの被写体マップ、演算パラメータ調整部243からのエッジ基準値、およびローカルマックス生成部244からのローカルマックスに基づいて、被写体画像上の被写体の領域からエッジポイントを抽出する。また、エッジポイント抽出部245は、抽出したエッジポイントの情報を示すエッジポイントテーブルを生成し、抽出量判定部246に供給する。なお、以下、ローカルマックスLM1乃至ローカルマックスLM3のそれぞれから得られたエッジポイントテーブルを、エッジポイントテーブルET1乃至エッジポイントテーブルET3と称する。
 抽出量判定部246は、エッジポイント抽出部245からのエッジポイントテーブル、および演算パラメータ調整部243からの抽出基準値に基づいて、エッジポイント抽出量が適切であるか否かを判定する。抽出量判定部246は、エッジポイント抽出量が適切でない場合、エッジポイント抽出量が適切でない旨を演算パラメータ調整部243に通知し、エッジポイント抽出量が適切である場合、そのときのエッジ基準値およびエッジポイントテーブルをエッジ分析部247に供給する。
 エッジ分析部247は、抽出量判定部246からのエッジポイントテーブルに基づいて、被写体画像における被写体の領域のエッジポイントの分析を行い、その分析結果をぼけ度検出部248に供給する。ぼけ度検出部248は、エッジポイントの分析結果に基づいて、入力画像上の被写体のぼけ具合を示す指標であるぼけ度を検出し、そのぼけ度をスコア算出部54に供給する。
[画像処理装置の動作]
 ところで、画像処理装置11に入力画像が供給されると、画像処理装置11は、画像評価処理を開始して、入力画像に対する評価を示すスコアを求め、出力する。以下、図8のフローチャートを参照して、画像評価処理について説明する。
 ステップS11において、輝度情報抽出部41は、輝度情報抽出処理を行って、供給された入力画像に基づいて輝度情報マップを生成し、被写体マップ生成部46に供給する。そして、ステップS12において、色情報抽出部42は、色情報抽出処理を行って、供給された入力画像に基づいて色情報マップを生成し、被写体マップ生成部46に供給する。
 ステップS13において、エッジ情報抽出部43は、エッジ情報抽出処理を行って、供給された入力画像に基づいてエッジ情報マップを生成し、被写体マップ生成部46に供給する。また、ステップS14において、顔情報抽出部44は、顔情報抽出処理を行って、供給された入力画像に基づいて顔情報マップを生成し、被写体マップ生成部46に供給する。さらに、ステップS15において、動き情報抽出部45は、動き情報抽出処理を行って、供給された入力画像に基づいて動き情報マップを生成し、被写体マップ生成部46に供給する。
 なお、これらの輝度情報抽出処理、色情報抽出処理、エッジ情報抽出処理、顔情報抽出処理、および動き情報抽出処理の詳細は後述する。また、より詳細には、動き情報抽出処理は、時間的に連続して撮像された入力画像が、被写体抽出部21に供給されなかった場合には行われない。
 ステップS16において、被写体マップ生成部46は、輝度情報抽出部41乃至動き情報抽出部45から供給された輝度情報マップ乃至動き情報マップを用いて、被写体マップを生成し、ぼけ判定部51に供給する。
 例えば、被写体マップ生成部46は、情報マップごとに予め求められている重みである、情報重みWbを用いて各情報マップを線形結合し、さらに、その結果得られたマップの画素値に、予め求められた重みである、被写体重みWcを乗算して正規化し、被写体マップとする。
 つまり、これから求めようとする被写体マップ上の注目する位置(画素)を注目位置とすると、各情報マップの注目位置と同じ位置(画素)の画素値に、情報マップごとの情報重みWbが乗算され、情報重みWbの乗算された画素値の総和が、注目位置の画素値とされる。さらに、このようにして求められた被写体マップの各位置の画素値に、被写体マップに対して予め求められた被写体重みWcが乗算されて正規化され、最終的な被写体マップとされる。
 なお、より詳細には、色情報マップとして、RGの差分の色情報マップと、BYの差分の色情報マップとが用いられ、エッジ情報マップとして、0度、45度、90度、135度のそれぞれの方向のエッジ情報マップが用いられて、被写体マップが生成される。また、被写体重みWcは予め学習により求められており、正規化は、被写体マップの各画素の画素値が、0から1までの間の値となるようになされる。
 ステップS17において、ぼけ判定部51は、被写体マップ生成部46からの被写体マップと、供給された入力画像とを用いてぼけ判定処理を行ってぼけ度を検出し、そのぼけ度をスコア算出部54に供給する。なお、このぼけ判定処理の詳細は後述するが、ぼけ判定処理では、被写体マップが用いられて、入力画像における被写体の領域のぼけ具合が検出される。
 ステップS18において、露出判定部52は、露出判定処理を行って、入力画像全体における露出の適正の度合いを検出し、その検出結果をスコア算出部54に供給する。例えば、露出判定部52は、供給された入力画像を用いて、横軸をR(赤)、G(緑)、およびB(青)の各成分の値とし、縦軸を度数(画素の出現頻度)とする入力画像全体における各成分の分布を求め、それらの成分の分布から露出の適正の度合いを示す値を求める。この露出の適正の度合いを示す値は、例えば、各成分の分布において、所定の横軸の値における各成分の度数と、予め定められた度数との差分に応じて定められる。
 ステップS19において、ホワイトバランス判定部53は、ホワイトバランス判定処理を行って、入力画像全体におけるホワイトバランスの適正さの度合いを検出し、その検出結果をスコア算出部54に供給する。例えば、ホワイトバランス判定部53は、供給された入力画像に基づいて、入力画像全体の平均輝度を求め、その平均輝度に応じて定まる値を、ホワイトバランスの適正さの度合いを示す値とする。
 なお、露出判定部52およびホワイトバランス判定部53に、被写体マップ生成部46から被写体マップが供給され、被写体マップにより特定される、入力画像上の被写体の領域だけが処理対象とされて露出判定処理およびホワイトバランス判定処理が行われてもよい。
 ステップS20において、スコア算出部54は、ぼけ判定部51、露出判定部52、およびホワイトバランス判定部53のそれぞれから供給された検出結果に基づいて入力画像のスコアを算出し、出力する。
 例えば、スコア算出部54は、供給された検出結果としてのぼけ度を示す値、露出の適正の度合いを示す値、およびホワイトバランスの適正さの度合いを示す値を、予め求められた重みを用いて線形結合し、その結果得られた値を入力画像に対するスコアとする。
 また、スコア算出部54が、求められたスコアとともに、入力画像がベストショットであるか否かを示す情報を出力するようにしてもよい。そのような場合、求められたスコアの値が、予め定められた閾値以上であるときに入力画像がベストショットとされ、スコアの値が閾値未満のときに、入力画像がバッドショットとされる。このようにして、入力画像に対するスコアが出力されると、画像評価処理は終了する。
 以上のようにして、画像処理装置11は、入力画像から被写体マップを生成し、被写体マップを用いて、入力画像における被写体の領域のぼけ度を検出する。そして、画像処理装置11は、被写体のぼけ度と、入力画像の露出の適正の度合い、およびホワイトバランスの適正さの度合いとから、入力画像に対する評価を行う。
 このように、被写体マップを用いて、入力画像における被写体の領域のぼけ度を検出し、その検出結果に基づいて入力画像に対するスコアを求めることで、入力画像上の被写体がどの程度ぼけているか、すなわち被写体が鮮明に写っている度合いを、より確実に評価することができる。したがって、評価対象である入力画像が、ユーザの鑑賞に堪え得ると推定される画像であるか否か、つまりベストショットであるか否かをより確実に判定し、評価の高い入力画像のみを簡単かつ確実に選択することができる。
 具体的には、入力画像のスコアには被写体のぼけ度が考慮されるため、入力画像上における被写体の領域がよりぼけていると推定される場合には、入力画像の被写体以外の領域(背景)がぼけているか否かによらず、入力画像のスコアは低くなる。つまり、入力画像における被写体の領域がぼけていなければ(被写体にピントが合っていれば)、入力画像のスコアは高くなる。したがって、入力画像の背景にピントが合っており、被写体がぼけている場合に、入力画像のスコアが高くなってしまい、ベストショットであると誤判定されることを防止することができる。
 以上のようにして求めたスコアを用いれば、複数の入力画像のなかから、ベストショットとされる入力画像だけを簡単に選び出すことができるようになる。
 次に、図9乃至図13のフローチャートを参照して、図8のステップS11乃至ステップS15の処理のそれぞれに対応する処理について説明する。
 まず、図9のフローチャートを参照して、図8のステップS11の処理に対応する輝度情報抽出処理について説明する。
 ステップS51において、輝度画像生成部81は、供給された入力画像を用いて輝度画像を生成し、ピラミッド画像生成部82に供給する。例えば、輝度画像生成部81は、入力画像の画素のR、G、およびBの各成分の値に、成分ごとに予め定められた係数を乗算し、係数の乗算された各成分の値の和を、入力画像の画素と同じ位置にある輝度画像の画素の画素値とする。つまり、輝度成分(Y)および色差成分(Cb,Cr)からなるコンポーネント信号の輝度成分が求められる。なお、画素のR、G、およびBの各成分の値の平均値が、輝度画像の画素の画素値とされてもよい。
 ステップS52において、ピラミッド画像生成部82は、輝度画像生成部81から供給された輝度画像に基づいて、レベルL1乃至レベルL8の各階層のピラミッド画像を生成し、差分算出部83に供給する。
 ステップS53において、差分算出部83は、ピラミッド画像生成部82から供給されたピラミッド画像を用いて差分画像を生成して正規化し、輝度情報マップ生成部84に供給する。正規化は、差分画像の画素の画素値が、例えば0乃至255の間の値となるように行われる。
 具体的には、差分算出部83は、各階層の輝度のピラミッド画像のうち、レベルL6およびレベルL3、レベルL7およびレベルL3、レベルL7およびレベルL4、レベルL8およびレベルL4、並びにレベルL8およびレベルL5の各階層の組み合わせのピラミッド画像の差分を求める。これにより、合計5つの輝度の差分画像が得られる。
 例えば、レベルL6およびレベルL3の組み合わせの差分画像が生成される場合、レベルL6のピラミッド画像が、レベルL3のピラミッド画像の大きさに合わせてアップコンバートされる。つまり、アップコンバート前のレベルL6のピラミッド画像の1つの画素の画素値が、その画素に対応する、アップコンバート後のレベルL6のピラミッド画像の互いに隣接するいくつかの画素の画素値とされる。そして、レベルL6のピラミッド画像の画素の画素値と、その画素と同じ位置にあるレベルL3のピラミッド画像の画素の画素値との差分が求められ、その差分が差分画像の画素の画素値とされる。
 これらの差分画像を生成する処理は、輝度画像にバンドパスフィルタを用いたフィルタ処理を施して、輝度画像から所定の周波数成分を抽出することと等価である。このようにして得られた差分画像の画素の画素値は、各レベルのピラミッド画像の輝度値の差、つまり入力画像における所定の画素における輝度と、その画素の周囲の平均的な輝度との差分を示している。
 一般的に、画像において周囲との輝度の差分の大きい領域は、その画像を見る人の目を引く領域であるので、その領域は被写体の領域である可能性が高い。したがって、各差分画像において、より画素値の大きい画素が、より被写体の領域である可能性の高い領域であることを示しているということができる。
 ステップS54において、輝度情報マップ生成部84は、差分算出部83から供給された差分画像に基づいて輝度情報マップを生成し、被写体マップ生成部46に供給する。輝度情報マップが輝度情報マップ生成部84から被写体マップ生成部46に供給されると、輝度情報抽出処理は終了し、処理は図8のステップS12に進む。
 例えば、輝度情報マップ生成部84は、供給された5つの差分画像を、予め求められた差分画像ごとの重みである差分重みWaにより重み付き加算し、1つの画像を求める。すなわち、各差分画像の同じ位置にある画素の画素値のそれぞれに差分重みWaが乗算されて、差分重みWaが乗算された画素値の総和が求められる。
 なお、輝度情報マップの生成時において、各差分画像が同じ大きさとなるように、差分画像のアップコンバートが行われる。
 このようにして、輝度情報抽出部41は、入力画像から輝度画像を求め、その輝度画像から輝度情報マップを生成する。このようにして得られた輝度情報マップによれば、入力画像において、輝度の差の大きい領域、つまり入力画像を一瞥した観察者の目に付きやすい領域を簡単に検出することができる。
 次に、図10のフローチャートを参照して、図8のステップS12の処理に対応する色情報抽出処理について説明する。
 ステップS81において、RG差分画像生成部111は、供給された入力画像を用いて、RG差分画像を生成し、ピラミッド画像生成部113に供給する。
 ステップS82において、BY差分画像生成部112は、供給された入力画像を用いてBY差分画像を生成し、ピラミッド画像生成部114に供給する。
 ステップS83において、ピラミッド画像生成部113およびピラミッド画像生成部114は、RG差分画像生成部111からのRG差分画像、およびBY差分画像生成部112からのBY差分画像を用いて、ピラミッド画像を生成する。
 例えば、ピラミッド画像生成部113は、解像度の異なる複数のRG差分画像を生成することにより、レベルL1乃至レベルL8の各階層のピラミッド画像を生成し、差分算出部115に供給する。同様に、ピラミッド画像生成部114は、解像度の異なる複数のBY差分画像を生成することにより、レベルL1乃至レベルL8の各階層のピラミッド画像を生成し、差分算出部116に供給する。
 ステップS84において、差分算出部115および差分算出部116は、ピラミッド画像生成部113およびピラミッド画像生成部114から供給されたピラミッド画像に基づいて差分画像を生成して正規化し、色情報マップ生成部117および色情報マップ生成部118に供給する。差分画像の正規化では、例えば、画素の画素値が0乃至255の間の値となるようにされる。
 例えば、差分算出部115は、各階層のRGの差分のピラミッド画像のうち、レベルL6およびレベルL3、レベルL7およびレベルL3、レベルL7およびレベルL4、レベルL8およびレベルL4、並びにレベルL8およびレベルL5の各階層の組み合わせのピラミッド画像の差分を求める。これにより、合計5つのRGの差分の差分画像が得られる。
 同様に、差分算出部116は、各階層のBYの差分のピラミッド画像のうち、レベルL6およびレベルL3、レベルL7およびレベルL3、レベルL7およびレベルL4、レベルL8およびレベルL4、並びにレベルL8およびレベルL5の各階層の組み合わせのピラミッド画像の差分を求める。これにより、合計5つのBYの差分の差分画像が得られる。
 これらの差分画像を生成する処理は、RG差分画像またはBY差分画像にバンドパスフィルタを用いたフィルタ処理を施して、RG差分画像またはBY差分画像から所定の周波数成分を抽出することと等価である。このようにして得られた差分画像の画素の画素値は、各レベルのピラミッド画像の特定の色成分の差、つまり入力画像の画素における特定の色の成分と、その画素の周囲の平均的な特定の色の成分との差分を示している。
 一般的に、画像において周囲と比べて目立つ色の領域、つまり特定の色成分の周囲との差分の大きい領域は、その画像を見る人の目を引く領域であるので、その領域は被写体の領域である可能性が高い。したがって、各差分画像において、より画素値の大きい画素が、より被写体の領域である可能性の高い領域であることを示しているということができる。
 ステップS85において、色情報マップ生成部117および色情報マップ生成部118は、差分算出部115からの差分画像、および差分算出部116からの差分画像を用いて色情報マップを生成し、被写体マップ生成部46に供給する。
 例えば、色情報マップ生成部117は、差分算出部115から供給されたRGの差分の差分画像を、予め求められた差画像ごとの差分重みWaにより重み付き加算して、1つのRGの差分の色情報マップとする。
 同様に、色情報マップ生成部118は、差分算出部116から供給されたBYの差分の差分画像を、予め求められた差分重みWaにより重み付き加算して、1つのBYの差分の色情報マップとする。なお、色情報マップの生成時において、各差分画像が同じ大きさとなるように、差分画像のアップコンバートが行われる。
 色情報マップ生成部117および色情報マップ生成部118が、このようにして得られたRGの差分の色情報マップ、およびBYの差分の色情報マップを被写体マップ生成部46に供給すると、色情報抽出処理は終了し、処理は図8のステップS13に進む。
 このようにして、色情報抽出部42は、入力画像から特定の色の成分の差分の画像を求め、その画像から色情報マップを生成する。このようにして得られた色情報マップによれば、入力画像において、特定の色成分の差の大きい領域、つまり入力画像を一瞥した観察者の目に付きやすい領域を簡単に検出することができる。
 なお、色情報抽出部42では、入力画像から抽出される色の情報として、R(赤)の成分と、G(緑)の成分の差分、およびB(青)の成分と、Y(黄)の成分との差分が抽出されると説明したが、色差成分Crと色差成分Cbなどが抽出されるようにしてもよい。ここで、色差成分Crは、R成分と輝度成分との差分であり、色差成分Cbは、B成分と輝度成分との差分である。
 図11は、図8のステップS13の処理に対応するエッジ情報抽出処理を説明するフローチャートである。以下、このエッジ情報抽出処理について説明する。
 ステップS111において、エッジ画像生成部141乃至エッジ画像生成部144は、供給された入力画像に対して、ガボアフィルタを用いたフィルタ処理を施し、0度、45度、90度、および135度の方向のエッジ強度を画素の画素値とするエッジ画像を生成する。そして、エッジ画像生成部141乃至エッジ画像生成部144は、生成されたエッジ画像をピラミッド画像生成部145乃至ピラミッド画像生成部148に供給する。
 ステップS112において、ピラミッド画像生成部145乃至ピラミッド画像生成部148は、エッジ画像生成部141乃至エッジ画像生成部144からのエッジ画像を用いて、ピラミッド画像を生成し、差分算出部149乃至差分算出部152に供給する。
 例えば、ピラミッド画像生成部145は、解像度の異なる複数の0度方向のエッジ画像を生成することにより、レベルL1乃至レベルL8の各階層のピラミッド画像を生成し、差分算出部149に供給する。同様に、ピラミッド画像生成部146乃至ピラミッド画像生成部148は、レベルL1乃至レベルL8の各階層のピラミッド画像を生成して差分算出部150乃至差分算出部152に供給する。
 ステップS113において、差分算出部149乃至差分算出部152は、ピラミッド画像生成部145乃至ピラミッド画像生成部148からのピラミッド画像を用いて差分画像を生成して正規化し、エッジ情報マップ生成部153乃至エッジ情報マップ生成部156に供給する。差分画像の正規化では、例えば、画素の画素値が0乃至255の間の値となるようにされる。
 例えば、差分算出部149は、ピラミッド画像生成部145から供給された、各階層の0度方向のエッジのピラミッド画像のうち、レベルL6およびレベルL3、レベルL7およびレベルL3、レベルL7およびレベルL4、レベルL8およびレベルL4、並びにレベルL8およびレベルL5の組み合わせのピラミッド画像の差分を求める。これにより、合計5つのエッジの差分画像が得られる。
 同様に、差分算出部150乃至差分算出部152は、各階層のピラミッド画像のうち、レベルL6およびレベルL3、レベルL7およびレベルL3、レベルL7およびレベルL4、レベルL8およびレベルL4、並びにレベルL8およびレベルL5の各階層の組み合わせのピラミッド画像の差分を求める。これにより、各方向のエッジについて、それぞれ合計5つの差分画像が得られる。
 これらの差分画像を生成する処理は、エッジ画像にバンドパスフィルタを用いたフィルタ処理を施して、エッジ画像から所定の周波数成分を抽出することと等価である。このようにして得られた差分画像の画素の画素値は、各レベルのピラミッド画像のエッジ強度の差、つまり入力画像の所定の位置のエッジ強度と、その位置の周囲の平均的なエッジ強度との差を示している。
 一般的に、画像において周囲と比べてエッジ強度の強い領域は、その画像を見る人の目を引く領域であるので、その領域は被写体の領域である可能性が高い。したがって、各差分画像において、より画素値の大きい画素が、より被写体の領域である可能性の高い領域であることを示しているということができる。
 ステップS114において、エッジ情報マップ生成部153乃至エッジ情報マップ生成部156は、差分算出部149乃至差分算出部152からの差分画像を用いて各方向のエッジ情報マップを生成し、被写体マップ生成部46に供給する。
 例えば、エッジ情報マップ生成部153は、差分算出部149から供給された差分画像を、予め求められた差分重みWaにより重み付き加算して0度方向のエッジ情報マップとする。
 同様に、エッジ情報マップ生成部154は差分算出部150からの差分画像を差分重みWaにより重み付き加算し、エッジ情報マップ生成部155は差分算出部151からの差分画像を差分重みWaにより重み付き加算し、エッジ情報マップ生成部156は差分算出部152からの差分画像を差分重みWaにより重み付き加算する。これにより、45度、90度、および135度の各方向のエッジ情報マップが得られる。なお、エッジ情報マップの生成時において、各差分画像が同じ大きさとなるように、差分画像のアップコンバートが行われる。
 エッジ情報マップ生成部153乃至エッジ情報マップ生成部156が、このようにして得られた各方向の合計4つのエッジ情報マップを被写体マップ生成部46に供給すると、エッジ情報抽出処理は終了し、処理は図8のステップS14に進む。
 このようにして、エッジ情報抽出部43は、入力画像から特定の方向のエッジの差分画像を求め、その差分画像からエッジ情報マップを生成する。このようにして得られた方向ごとのエッジ情報マップによれば、入力画像において、周囲の領域と比べて、特定の方向へのエッジ強度の大きい領域、つまり入力画像を一瞥した観察者の目に付きやすい領域を簡単に検出することができる。
 なお、エッジ情報抽出処理では、エッジの抽出にガボアフィルタが用いられると説明したが、その他、Sobelフィルタや、Robertsフィルタなどのエッジ抽出フィルタが用いられるようにしてもよい。
 また、図9乃至図11を参照して説明した、画像から輝度、色、エッジなどの情報を抽出する方法は、例えば「Laurent Itti, Christof Koch, and Ernst Niebur, "A Model of Saliency-Based Visual Attention for Rapid Scene Analysis"」に詳細に記載されている。
 次に、図12のフローチャートを参照して、図8のステップS14の処理に対応する顔情報抽出処理について説明する。
 ステップS141において、顔検出部181は、供給された入力画像から、人の顔の領域を検出し、その検出結果を顔情報マップ生成部182に供給する。例えば、顔検出部181は、入力画像に対してガボアフィルタを用いたフィルタ処理を施し、入力画像から人の目、口、鼻などの特徴的な領域を抽出することにより、入力画像における顔の領域を検出する。
 ステップS142において、顔情報マップ生成部182は、顔検出部181からの検出結果を用いて顔情報マップを生成し、被写体マップ生成部46に供給する。
 例えば、入力画像からの顔の検出結果として、顔が含まれると推定される入力画像上の矩形の領域(以下、候補領域と称する)が複数検出されたとする。ここで、入力画像上の所定の位置近傍に複数の候補領域が検出され、それらの候補領域の一部が互いに重なることもあることとする。すなわち、例えば、入力画像上の1つの顔の領域に対して、その顔を含む複数の領域が候補領域として得られた場合には、それらの候補領域の一部が互いに重なることになる。
 顔情報マップ生成部182は、顔の検出により得られた候補領域に対して、候補領域ごとに、入力画像と同じ大きさの検出画像を生成する。この検出画像は、検出画像上における処理対象の候補領域と同じ領域内の画素の画素値が、候補領域とは異なる領域内の画素の画素値よりも大きい値とされる。
 また、検出画像上の画素の画素値は、より人の顔が含まれる可能性が高いと推定された候補領域の画素と同じ位置の画素ほど、画素値が大きくなる。顔情報マップ生成部182は、このようにして得られた検出画像を足し合わせて、1つの画像を生成して正規化し、顔情報マップとする。したがって、顔情報マップ上において、入力画像上の複数の候補領域の一部が重なる領域と同じの領域の画素の画素値は大きくなり、より顔が含まれる可能性が高いことになる。なお、正規化は、顔情報マップの画素の画素値が、例えば0乃至255の間の値となるようにされる。
 顔情報マップが生成されると、顔情報抽出処理は終了し、処理は図8のステップS15に進む。
 このようにして、顔情報抽出部44は、入力画像から顔を検出し、その検出結果から顔情報マップを生成する。このようにして得られた顔情報マップによれば、入力画像において、被写体としての人の顔の領域を簡単に検出することができる。
 さらに、図13のフローチャートを参照して、図8のステップS15の処理に対応する動き情報抽出処理について説明する。
 ステップS171において、ローカルモーションベクタ抽出部211は、供給された入力画像を用いて、勾配法などにより入力画像の各画素のローカルモーションベクタを検出し、差分算出部213に供給する。
 ステップS172において、グローバルモーションベクタ抽出部212は、供給された入力画像を用いてグローバルモーションベクタを検出し、差分算出部213に供給する。
 ステップS173において、差分算出部213は、ローカルモーションベクタ抽出部211からのローカルモーションベクタと、グローバルモーションベクタ抽出部212からのグローバルモーションベクタとの差分の絶対値を求めて動きの差分画像を生成する。そして、差分算出部213は、生成した動きの差分画像を動き情報マップ生成部214に供給する。
 ステップS174において、動き情報マップ生成部214は、差分算出部213から供給された差分画像を正規化して動き情報マップとし、被写体マップ生成部46に供給する。ここで、差分画像の正規化は、各画素の画素値が、例えば0乃至255の間の値となるようにされる。動き情報マップが生成されると、動き情報抽出処理は終了し、処理は図8のステップS16に進む。
 このようにして、動き情報抽出部45は、入力画像から動きを検出し、その検出結果から動き情報マップを生成する。このようにして得られた動き情報マップによれば、入力画像において、動きのある物体の領域を簡単に検出することができる。入力画像において、動きのある物体の領域は、入力画像を一瞥した観察者の目に付きやすい領域であり、被写体である可能性が高い。
 以上において説明した輝度情報抽出処理乃至動き情報抽出処理により、各情報マップが得られ、これらの情報マップから被写体マップが生成される。
 次に、図14のフローチャートを参照して、図8のステップS17の処理に対応するぼけ判定処理について説明する。
 ステップS211において、エッジマップ生成部241は、供給された入力画像と、被写体マップ生成部46からの被写体マップとを用いてエッジマップを生成する。
 具体的には、エッジマップ生成部241は、被写体マップを用いて入力画像から被写体画像を抽出する。すなわち、入力画像において、画素値が所定の値以上である被写体マップの画素と同じ画素の領域が、入力画像上の被写体の領域とされ、その領域を含む入力画像上の所定の大きさの領域が、被写体画像とされる。
 また、エッジマップ生成部241は、被写体画像を2×2画素の大きさのブロックに分割して、次式(1)乃至式(6)により、各ブロック内の画素間の画素値の差分の絶対値MTL-TR乃至絶対値MBL-BRを算出する。
Figure JPOXMLDOC01-appb-M000001
 なお、式(1)乃至式(6)において、a,b,c,dのそれぞれは、被写体画像の2×2画素の大きさのブロック内の画素の画素値を示している。例えば、図15に示すように、画素値aはブロック内の図中、左上の画素の画素値を示している。また、画素値bは、図中、ブロック内の右上の画素の画素値を示しており、画素値cはブロック内の左下の画素の画素値を示しており、画素値dはブロック内の右下の画素の画素値を示している。
 次に、エッジマップ生成部241は、次式(7)により、絶対値MTL-TR乃至絶対値MBL-BRの平均値MAveを算出する。この平均値MAveは、ブロック内の上下、左右および斜め方向のエッジ強度の平均値を示している。
Figure JPOXMLDOC01-appb-M000002
 エッジマップ生成部241は、算出した平均値MAveを、被写体画像の対応するブロックと同じ順序に並べることにより、スケールSC1のエッジマップを生成する。
 さらに、エッジマップ生成部241は、スケールSC2およびスケールSC3のエッジマップを生成するために、次式(8)により、スケールSC2およびスケールSC3の平均化画像を生成する。
Figure JPOXMLDOC01-appb-M000003
 なお、式(8)において、Pi(x,y)は、スケールSCi(但し、1≦i≦3)の平均化画像における座標(x,y)に位置する画素の画素値を示している。また、Pi+1(x,y)は、スケールSCi+1の平均化画像における座標(x,y)に位置する画素の画素値を示している。なお、スケールSC1の平均化画像は被写体画像であるとする。したがって、スケールSC2の平均化画像は、被写体画像を2×2画素の大きさのブロックに分割した各ブロック内の画素の画素値の平均値を、1つの画素の画素値とした画像である。また、スケールSC3の平均化画像は、スケールSC2の平均化画像を2×2画素の大きさのブロックに分割した各ブロック内の画素の画素値の平均値を、1つの画素の画素値とした画像である。
 エッジマップ生成部241は、スケールSC2およびスケールSC3の平均化画像に対して、それぞれ式(1)乃至式(7)を用いて被写体画像に対して行ったのと同様の処理を行い、スケールSC2およびスケールSC3のエッジマップを生成する。
 したがって、スケールSC1乃至スケールSC3のエッジマップは、それぞれ異なる周波数帯域のエッジ成分を入力画像から抽出して得られた画像となる。なお、スケールSC1のエッジマップの画素数は被写体画像の1/4(縦1/2×横1/2)となり、スケールSC2のエッジマップの画素数は被写体画像の1/16(縦1/4×横1/4)となり、スケールSC3のエッジマップの画素数は被写体画像の1/64(縦1/8×横1/8)となる。
 エッジマップ生成部241は、生成したスケールSC1乃至スケールSC3のエッジマップをダイナミックレンジ検出部242およびローカルマックス生成部244に供給する。このように、異なる大きさのブロック単位で、異なるスケールのエッジマップを生成することにより、エッジ強度のばらつきを抑えることができる。
 ステップS212において、ダイナミックレンジ検出部242は、エッジマップ生成部241から供給されたエッジマップを用いて、被写体画像のダイナミックレンジを検出し、その検出結果を演算パラメータ調整部243に供給する。
 具体的には、ダイナミックレンジ検出部242は、スケールSC1乃至スケールSC3のエッジマップのなかから画素値の最大値と最小値を検出し、検出した画素値の最大値から最小値を引いた値を被写体画像のエッジ強度のダイナミックレンジとする。すなわち、被写体画像のエッジ強度の最大値と最小値の差がダイナミックレンジとして検出される。
 なお、上述した方法以外にも、例えば、エッジマップごとにダイナミックレンジを検出し、検出したダイナミックレンジの最大値や平均値などを実際に使用するダイナミックレンジとして採用することも考えられる。
 ステップS213において、演算パラメータ調整部243は、ダイナミックレンジ検出部242から供給されたダイナミックレンジに応じて、演算パラメータの初期値を設定する。
 すなわち、演算パラメータ調整部243は、ダイナミックレンジが所定の閾値未満である場合、被写体画像をローダイナミックレンジの画像とし、ダイナミックレンジが閾値以上である場合、被写体画像をハイダイナミックレンジの画像とする。
 そして、演算パラメータ調整部243は、被写体画像がローダイナミックレンジの画像である場合、演算パラメータにローダイナミックレンジの画像用の初期値を設定する。また、演算パラメータ調整部243は、被写体画像がハイダイナミックレンジの画像である場合、演算パラメータにハイダイナミックレンジの画像用の初期値を設定する。
 ここで、ローダイナミックレンジの画像は、ハイダイナミックレンジの画像と比較してエッジが少なく、抽出されるエッジポイントの量が少ないと推定される。したがって、被写体画像のぼけ度の検出精度を一定のレベル以上とするのに充分な量のエッジポイントを抽出できるように、ローダイナミックレンジの画像用のエッジ基準値の初期値は、ハイダイナミックレンジの画像用のエッジ基準値の初期値と比較して小さい値とされる。また、ローダイナミックレンジの画像用の抽出基準値の初期値は、ハイダイナミックレンジの画像用の抽出基準値の初期値と比較して小さい値とされる。
 演算パラメータ調整部243は、ダイナミックレンジに応じて設定したエッジ基準値をエッジポイント抽出部245に供給し、エッジ基準値および抽出基準値を抽出量判定部246に供給する。
 ステップS214において、ローカルマックス生成部244は、エッジマップ生成部241から供給されたエッジマップを用いてローカルマックスを生成し、エッジポイント抽出部245およびエッジ分析部247に供給する。
 例えば、ローカルマックス生成部244は、図16の左側に示すように、スケールSC1のエッジマップを2×2画素のブロックに分割する。そして、ローカルマックス生成部244は、エッジマップの各ブロックの最大値を抽出して、抽出した最大値を対応するブロックと同じ順序に並べることにより、スケールSC1のローカルマックスLM1を生成する。つまり、各ブロック内の画素の画素値の最大値が抽出される。
 また、ローカルマックス生成部244は、図中、中央に示すように、スケールSC2のエッジマップを4×4画素のブロックに分割する。そして、ローカルマックス生成部244は、エッジマップの各ブロックの最大値を抽出して、抽出した最大値を対応するブロックと同じ順序に並べることにより、スケールSC2のローカルマックスLM2を生成する。
 さらにローカルマックス生成部244は、図中、右側に示すように、スケールSC3のエッジマップを8×8画素のブロックに分割する。そして、ローカルマックス生成部244は、エッジマップの各ブロックの最大値を抽出して、抽出した最大値を対応するブロックと同じ順序に並べることにより、スケールSC3のローカルマックスLM3を生成する。
 ステップS215において、エッジポイント抽出部245は、ローカルマックス生成部244から供給されたローカルマックスと、被写体マップ生成部46から供給された被写体マップとを用いて、被写体画像の被写体の領域から、エッジポイントを抽出する。
 具体的には、エッジポイント抽出部245は、被写体マップを参照して、被写体画像における被写体の領域内の画素を1つ選択し、注目画素とする。なお、被写体画像上の被写体の領域は、画素値が所定の値以上である被写体マップの画素と同じ位置にある、被写体画像上の画素からなる領域とされる。
 また、エッジポイント抽出部245は、選択した注目画素の被写体画像上におけるxy座標系の座標を(x,y)として、次式(9)により、注目画素に対応するローカルマックスLM1の画素の座標(x1,y1)を求める。
 (x1,y1)=(x/4,y/4)           ・・・(9)
 なお、式(9)において、x/4およびy/4の値の小数点以下は切り捨てられるものとする。
 ローカルマックスLM1の1つの画素は、被写体画像の4×4画素のブロックから生成されるため、被写体画像の注目画素に対応するローカルマックスLM1の画素の座標は、注目画素のx座標およびy座標をそれぞれ1/4にした値となる。
 同様に、エッジポイント抽出部245は、次式(10)および式(11)により、注目画素に対応するローカルマックスLM2の画素の座標(x2,y2)、および注目画素に対応するローカルマックスLM3の画素の座標(x3,y3)を求める。
 (x2,y2)=(x/16,y/16)     ・・・(10)
 (x3,y3)=(x/64,y/64)     ・・・(11)
 なお、式(10)および式(11)において、x/16、y/16、x/64、およびy/64の値の小数点以下は切り捨てられるものとする。
 さらに、エッジポイント抽出部245は、ローカルマックスLM1の座標(x1,y1)の画素の画素値がエッジ基準値以上である場合、注目画素をローカルマックスLM1におけるエッジポイントとして抽出する。そして、エッジポイント抽出部245は、注目画素の座標(x,y)とローカルマックスLM1の座標(x1,y1)の画素値を対応づけて記憶する。
 同様に、エッジポイント抽出部245は、ローカルマックスLM2の座標(x2,y2)の画素の画素値がエッジ基準値以上である場合、注目画素をローカルマックスLM2におけるエッジポイントとして抽出し、注目画素の座標(x,y)とローカルマックスLM2の座標(x2,y2)の画素値を対応づけて記憶する。また、エッジポイント抽出部245は、ローカルマックスLM3の座標(x3,y3)の画素の画素値がエッジ基準値以上である場合、注目画素をローカルマックスLM3におけるエッジポイントとして抽出し、注目画素の座標(x,y)とローカルマックスLM3の座標(x3,y3)の画素値を対応づけて記憶する。
 エッジポイント抽出部245は、被写体画像における被写体の領域内の全ての画素が注目画素とされるまで以上の処理を繰り返す。
 これにより、ローカルマックスLM1に基づいて、被写体画像上の被写体の領域内の4×4画素のブロックのうち、エッジ強度がエッジ基準値以上となるブロックに含まれる画素がエッジポイントとして抽出される。
 同様に、ローカルマックスLM2に基づいて、被写体画像上の被写体の領域内の16×16画素のブロックのうち、ブロック内のエッジ強度がエッジ基準値以上となるブロックに含まれる画素がエッジポイントとして抽出される。また、ローカルマックスLM3に基づいて、被写体画像上の被写体の領域内の64×64画素のブロックのうち、ブロック内のエッジ強度がエッジ基準値以上となるブロックに含まれる画素がエッジポイントとして抽出される。
 したがって、エッジ強度がエッジ基準値以上となる被写体の領域の4×4画素、16×16画素、または64×64画素のブロックの少なくとも1つに含まれる画素がエッジポイントとして抽出される。
 エッジポイント抽出部245は、ローカルマックスLM1に基づいて抽出したエッジポイントの座標(x,y)と、そのエッジポイントに対応するローカルマックスLM1の画素の画素値とが対応づけられたテーブルであるエッジポイントテーブルET1を生成する。
 同様に、エッジポイント抽出部245は、ローカルマックスLM2に基づいて抽出したエッジポイントの座標(x,y)と、そのエッジポイントに対応するローカルマックスLM2の画素の画素値とが対応づけられたエッジポイントテーブルET2を生成する。また、エッジポイント抽出部245は、ローカルマックスLM3に基づいて抽出したエッジポイントの座標(x,y)と、そのエッジポイントに対応するローカルマックスLM3の画素の画素値とが対応づけられたエッジポイントテーブルET3も生成する。
 そして、エッジポイント抽出部245は、生成したそれらのエッジポイントテーブルを、抽出量判定部246に供給する。
 ステップS216において、抽出量判定部246は、エッジポイント抽出部245から供給されたエッジポイントテーブルを用いて、エッジポイント抽出量が適切であるか否かを判定する。例えば、抽出されたエッジポイントの合計数、すなわちエッジポイントテーブルET1乃至エッジポイントテーブルET3のデータ数の合計が、演算パラメータ調整部243から供給された抽出基準値未満である場合、エッジポイント抽出量が適切でないと判定される。
 ステップS216において、エッジポイント抽出量が適切でないと判定された場合、抽出量判定部246は、エッジポイント抽出量が適切でない旨を演算パラメータ調整部243に通知し、処理はステップS217に進む。
 ステップS217において、演算パラメータ調整部243は、抽出量判定部246からの通知に応じて演算パラメータを調整する。
 例えば、演算パラメータ調整部243は、現時点よりも、より多くのエッジポイントが抽出されるように、エッジ基準値を、現時点において設定されている値から所定の値だけ小さくする。演算パラメータ調整部243は、調整したエッジ基準値をエッジポイント抽出部245および抽出量判定部246に供給する。
 演算パラメータが調整されると、その後、処理は、ステップS215に戻り、エッジポイント抽出量が適切であると判定されるまで、上述した処理が繰り返される。
 また、ステップS216において、エッジポイント抽出量が適切であると判定された場合、抽出量判定部246は、演算パラメータ調整部243からのエッジ基準値と、エッジポイントテーブルとをエッジ分析部247に供給し、処理はステップS218に進む。
 以上の処理により、ぼけ度の検出精度を向上させるために、ローダイナミックレンジの被写体画像については、被写体のぼけ度の検出精度を一定のレベル以上とするのに充分な量のエッジポイントを確保できるよう、エッジ強度の弱いブロックからもエッジポイントが抽出される。一方、ハイダイナミックレンジの被写体画像については、より強いエッジを構成するエッジポイントが抽出されるように、できるだけエッジ強度の強いブロックからエッジポイントが抽出されるようになる。
 ステップS218において、エッジ分析部247は、抽出量判定部246から供給されたエッジ基準値およびエッジポイントテーブルと、ローカルマックス生成部244から供給されたローカルマックスとを用いて、エッジ分析を行う。
 具体的には、エッジ分析部247は、エッジポイントテーブルET1乃至エッジポイントテーブルET3に基づいて、被写体画像から抽出されたエッジポイントのうちの1つを注目画素とする。そして、エッジ分析部247は、注目画素のxy座標系の座標を(x,y)とし、上述した式(9)乃至(11)により、注目画素に対応するローカルマックスLM1乃至ローカルマックスLM3の画素の座標(x1,y1)乃至座標(x3,y3)を求める。
 エッジ分析部247は、ローカルマックスLM1の座標(x1,y1)の画素を左上隅の画素とするm×m画素(例えば、4×4画素)のローカルマックスLM1上のブロック内の画素の画素値の最大値をLocal Max1(x1,y1)に設定する。また、エッジ分析部247は、ローカルマックスLM2の座標(x2,y2)の画素を左上隅の画素とするn×n画素(例えば、2×2画素)のブロック内の画素値の最大値をLocal Max2(x2,y2)に設定し、ローカルマックスLM3の座標(x3,y3)の画素値をLocal Max3(x3,y3)に設定する。
 なお、Local Max1(x1,y1)の設定に用いるm×m、および、Local Max2(x2,y2)の設定に用いるn×nのパラメータは、ローカルマックスLM1乃至ローカルマックスLM3の1画素に対応する被写体画像のブロックの大きさの差を調整するためのパラメータである。
 エッジ分析部247は、Local Max1(x1,y1)、Local Max2(x2,y2)およびLocal Max3(x3,y3)が以下の条件式(12)を満足するか否かを判定する。Local Max1(x1,y1)、Local Max2(x2,y2)およびLocal Max3(x3,y3)が条件式(12)を満足する場合、エッジ分析部247は、変数Nedgeの値を1つインクリメントする。
Figure JPOXMLDOC01-appb-M000004
 なお、条件式(12)を満足するエッジポイントは、図17のA乃至図17のDに示すエッジなど、その構造に関わらず、一定以上の強度を有するエッジを構成するエッジポイントであると推定される。
 ここで、図17のAに示すエッジは、急峻なインパルス状のエッジとされ、図17のBに示すエッジは、図17のAのエッジよりは傾きが緩やかなパルス状のエッジとされ、図17のCに示すエッジは、傾きがほぼ垂直な階段状のエッジとされている。また、図17のDに示すエッジは、図17のCのエッジよりは傾きが緩やかな、階段状のエッジとされている。
 エッジ分析部247は、Local Max1(x1,y1)、Local Max2(x2,y2)およびLocal Max3(x3,y3)が条件式(12)を満足する場合、さらに、以下の条件式(13)または条件式(14)を満足するか否かを判定する。Local Max1(x1,y1)、Local Max2(x2,y2)およびLocal Max3(x3,y3)が条件式(13)または条件式(14)を満足する場合、エッジ分析部247は、変数Nsmallblurの値を1つインクリメントする。
Figure JPOXMLDOC01-appb-M000005
 なお、条件式(12)を満足し、かつ条件式(13)または条件式(14)を満足するエッジポイントは、一定以上の強度を有するが、図17のAまたは図17のCのエッジと比較して強度の弱い、図17のBまたは図17のDの構造を有するエッジを構成するエッジポイントであると推定される。
 さらに、エッジ分析部247は、Local Max1(x1,y1)、Local Max2(x2,y2)およびLocal Max3(x3,y3)が条件式(12)を満足し、かつ条件式(13)または条件式(14)を満足する場合、Local Max1(x1,y1)が、以下の条件式(15)を満足するか否かを判定する。Local Max1(x1,y1)が条件式(15)を満足する場合、エッジ分析部17は、変数Nlargeblurの値を1つインクリメントする。
Figure JPOXMLDOC01-appb-M000006
 なお、条件式(12)を満足し、かつ条件式(13)または条件式(14)を満足し、かつ条件式(15)を満足するエッジポイントは、一定以上の強度の図17のBまたは図17のDの構造を有するエッジのうち、ぼけが発生し、鮮明さを失ったエッジを構成するエッジポイントであると推定される。換言すれば、そのエッジポイントにおいてぼけが発生していると推定される。
 エッジ分析部247は、被写体画像から抽出された全てのエッジポイントが注目画素とされるまで、以上の処理を繰り返す。これにより、抽出されたエッジポイントのうち、エッジポイントの数Nedge、エッジポイントの数Nsmallblur、およびエッジポイントの数Nlargeblurが求められる。
 ここで、数Nedgeは、条件式(13)を満足するエッジポイントの数であり、数Nsmallblurは、条件式(12)を満足し、かつ、条件式(13)または条件式(14)を満足するエッジポイントの数である。また、数Nlargeblurは、条件式(12)を満足し、かつ、条件式(13)または条件式(14)を満足し、かつ、条件式(15)を満足するエッジポイントの数である。
 エッジ分析部247は、算出した数Nsmallblurおよび数Nlargeblurをぼけ度検出部248に供給する。
 ステップS219において、ぼけ度検出部248は、エッジ分析部247からの数Nsmallblurおよび数Nlargeblurを用いて次式(16)を計算し、入力画像における被写体のぼけ具合の指標となるぼけ度BlurEstimationを検出する。
Figure JPOXMLDOC01-appb-M000007
 すなわち、ぼけ度BlurEstimationは、一定以上の強度の図17のBまたは図17のDの構造を有するエッジを構成すると推定されるエッジポイントのうち、ぼけが発生しているエッジを構成すると推定されるエッジポイントが占める比率である。したがって、ぼけ度BlurEstimationが大きいほど、被写体のぼけ具合は大きく、ぼけ度BlurEstimationが小さいほど、被写体のぼけ具合は小さいと推定される。
 ぼけ度検出部248は、ぼけ度BlurEstimationを求めると、ぼけ度BlurEstimationに基づいて、被写体のぼけ具合がより小さいほど、より値が大きくなるぼけ度を、最終的なぼけ度として求める。そして、ぼけ度検出部248は、求められた最終的なぼけ度をスコア算出部54に供給して、ぼけ判定処理は終了し、処理は、図8のステップS18に進む。
 ここで、被写体のぼけ具合がより小さいほど、より値が大きくなるようなぼけ度を、最終的なぼけ度として求めるのは、入力画像のスコアは、被写体のぼけ具合がより小さいほど、より大きい値とされるからである。
 以上のようにして、ぼけ判定部51は、入力画像および被写体マップから、入力画像上の被写体の領域のぼけ具合を示すぼけ度を算出する。ぼけ度の算出時には、被写体画像に応じて、エッジポイントを抽出する条件、およびエッジポイントの抽出量が適切に制御されるので、より高い精度で被写体のぼけ具合を検出することができる。
 また、被写体マップを用いて被写体の領域についてぼけ具合を検出することで、ポートレート、風景画など、被写体によらず確実に被写体のぼけ具合を検出することができる。しかも、ぼけ具合の検出対象を被写体の領域のみ行えばよいので、従来行われている、ウェーブレット変換を用いて被写体のぼけ具合を検出する方法と比べて、1.5倍程度の高速化を図ることができる。
 なお、以上においては、被写体マップを生成して、入力画像上の被写体の領域を特定すると説明したが、入力画像上における被写体の領域を特定する方法は、被写体マップに限らず、どのような方法であってもよい。例えば、入力画像における、いわゆる黄金線上にある物体が被写体として検出されてもよいし、入力画像から検出された人の顔が被写体とされてもよい。
 また、入力画像上の被写体の領域のぼけ度を求める処理も、どのような方法であってもよい。例えば、ウェーブレット変換により、入力画像の被写体の領域内のエッジを構成するエッジポイントを抽出し、そのエッジポイントのタイプを分析することにより、被写体のぼけ度を求めるようにしてもよい。
 このようなウェーブレット変換を利用して被写体のぼけ度を検出する方法は、例えば、「Hanghang Tong,Mingjing Li, Hongjiang Zhang and Changshui Zhang, "Blur Detection for Digital Images Using Wavelet Transform"」などに記載されている。
 さらに、入力画像上の被写体の領域を処理対象として、被写体のぼけ度を検出すると説明したが、入力画像から被写体が検出されなかった場合、例えば、被写体マップに所定の値以上の画素がない場合、入力画像全体が処理対処とされ、入力画像全体のぼけ度が求められてもよい。そのようにして求められた入力画像のぼけ度は、スコア算出部54に供給されて、入力画像のスコアの算出に用いられる。
[重みの学習の概要]
 ところで、画像処理装置11は、入力画像から被写体を検出し、入力画像の被写体の領域のぼけ度合いを考慮して、入力画像のスコアを求めている。
 従来、画像から被写体を検出する方法として、画像上の前景と背景を分離する方法(例えば、特開2003-16448号公報参照)が知られている。この方法では、画像を複数のブロックに分割し、色と輝度を用いて類似ブロックを繋げるセグメンテーション処理を行うことで、画像が前景と背景とに分離される。また、画像から被写体を検出する方法として、画像から顔または肌色の領域を被写体の領域として検出する方法(例えば、特開2004-72655号公報参照)もある。
 しかしながら、これらの技術では、画像から確実に被写体を検出することは困難であった。
 例えば、画像における顔または肌色の領域を被写体の領域とする方法では、人の顔または人の肌しか被写体として検出できないため、被写体が動物や植物、建物などである場合には、それらの被写体を画像から検出することはできなかった。
 また、画像を前景と背景とに分離する方法では、各ブロックの色や輝度の類似性により前景と背景との分離が行われるため、必ずしも前景とされた領域が被写体の領域となるとは限らない。さらに、ブロックごとにセグメンテーションが行われるため、画像上のテクスチャの有無を正確に判定することができない恐れがあり、被写体を確実に検出できなくなってしまう場合があった。
 これに対して、画像処理装置11では、入力画像から被写体の領域がより多く有すると推定される複数の情報を抽出し、それらの情報を用いて被写体マップを生成することにより、入力画像からより確実に被写体の領域を検出することができる。しかも、被写体マップの画素値は、入力画像上において、入力画像を一瞥した観察者がより目を向けると推定される領域ほど大きくなるので、被写体が人である場合に限らず、動物や植物、建物などの一般的なものであっても、検出することができる。
 このような被写体マップは、入力画像から、輝度、色、エッジ、顔、動きなどの情報が抽出されて生成される。すなわち、それらの抽出された情報のピラミッド画像から得られた差分画像が、差分重みWaにより重み付き加算されて情報マップとされ、それらの情報マップが、情報重みWbにより重み付き加算される。そして、さらに、その結果得られた画像(マップ)に被写体重みWcが乗算されて被写体マップとされる。
 被写体マップの生成時に用いられるこれらの差分重みWa、情報重みWb、および被写体重みWcは、例えばニューラルネットワークによる学習により求められる。これらの重みの学習時に用いられる学習画像として、人に限らず、一般的な被写体が含まれる画像を用いれば、学習により得られた重みを用いて生成される被写体マップにより、入力画像から、一般的な被写体をより確実に検出することができるようになる。
 以下、被写体マップを生成するのに用いられる差分重みWa、情報重みWb、および被写体重みWcの学習について説明する。
 まず、図18および図19を参照して、ニューラルネットワークによる学習の概要について説明する。
 学習時には、図18に示すように、初期値が与えられた差分重みWa、情報重みWb、および被写体重みWcと、被写体が含まれた学習画像とが用いられて、被写体マップが生成される。
 具体的には、学習画像から、被写体マップ生成時に抽出される情報ごとの差分画像An(m)(但し、1≦n≦N,1≦m≦6)が生成される。ここで、差分画像An(1)乃至差分画像An(6)は、学習画像から抽出された、1つの情報についての差分画像である。
 例えば、差分画像A1(1)乃至差分画像A1(6)は、学習画像から得られた輝度のピラミッド画像が用いられて生成された、輝度の差分画像とされる。また、例えば、差分画像AN(1)乃至差分画像AN(6)は、学習画像から得られた0度方向のエッジのピラミッド画像が用いられて生成された、0度方向の差分画像とされる。
 なお、図18では、学習画像から抽出される情報ごとに、6つの差分画像が得られる例について示されているが、差分画像の数はいくつであってもよい。
 学習画像から情報ごとの差分画像An(m)が得られると、それらの差分画像と、差分画像ごとの差分重みWaとから情報マップが生成される。なお、以下、差分画像An(m)に乗算される差分重みWaを、差分重みWan(m)とも称する。
 例えば、差分画像A1(1)乃至差分画像A1(6)のそれぞれが、差分画像ごとの差分重みWa1(1)乃至差分重みWa1(6)により重み付き加算されて、情報マップB1inとされる。さらに、この情報マップB1inに対して、予め定められた関数f(x)による演算が行われ、その結果として情報マップB1outが得られる。
 例えば、関数f(x)は、次式(17)に示される双曲線余弦関数(ハイパボリックタンジェント関数)とされる。
 f(x)=a×tanh(x×b)    ・・・(17)
 なお、式(17)において、aおよびbは、予め定められた定数を示しており、xは、画像上の画素の画素値を示している。したがって情報マップB1outを求める場合には、xは情報マップB1inの画素の画素値とされる。
 すなわち、情報マップB1inの画素の画素値xが、式(17)に代入されて得られた値f(x)が、その画素と同じ位置にある情報マップB1outの画素の画素値とされる。このようにして得られた情報マップB1outは、画像処理装置11において生成される情報マップ、例えば輝度情報マップに相当する。
 なお、関数f(x)は、双曲線余弦関数に限らず、どのような関数であってもよい。例えば、関数f(x)は、理想的なモデルでは、x≧0である場合に値「1」を出力し、x<0である場合に値「-1」を出力するSigmoid関数とされる。
 以上のようにして、N個の情報マップB1out乃至情報マップBNoutが得られると、それらの情報マップBnout(但し、1≦n≦N)が、情報マップごとの情報重みWbにより重み付き加算されて、被写体マップCinとされる。そして、この被写体マップCinに対して、予め定められた関数f(x)による演算が行われ、その結果として被写体マップCoutが得られる。さらに、この被写体マップCoutに被写体重みWcが乗算されて正規化され、最終的な被写体マップとされる。
 なお、より詳細には、被写体マップCinの生成時には、差分画像を生成することなく得られる情報マップ、例えば、顔情報マップなどの情報マップも用いられて重み付き加算が行われる。また、以下では、情報マップBnoutに乗算される情報重みWbを、情報重みWbnとも称する。
 このようにして、学習時に被写体マップを生成する処理は、Forward Propagationと呼ばれる。被写体マップが生成されると、続いて図19に示すように、Back Propagationと呼ばれる処理が行われて、差分重みWa、情報重みWb、および被写体重みWcが更新される。Back Propagationと呼ばれる処理では、生成された被写体マップと、学習画像に対して予め用意された、学習画像上における被写体の領域を示す情報である画像ラベルとが用いられて、各重みを増減させるべき値である重みの差分が求められる。
 ここで、画像ラベルは、学習画像と同じ大きさの画像であり、学習画像上の被写体の領域の画素と同じ位置にある画素の画素値が1とされ、学習画像上の被写体のない領域の画素と同じ位置にある画素の画素値が0とされる画像である。
 Back Propagationでは、まず、被写体マップと画像ラベルとの差分が求められ、その結果得られた画像が評価マップとされる。そして、評価マップと、被写体マップCinとから、次式(18)により、被写体重みWcを変化させるべき量である被写体重み差分△Wcが求められる。
 △Wc=η×Cin×△C         ・・・(18)
 式(18)において、ηは、予め定められた定数である学習速度を示しており、Cinは、被写体マップCinを示している。なお、より詳細には、式(18)におけるCinは、被写体マップCinの1つの画素の画素値とされ、被写体重み差分△Wcは画素ごとに求められる。また、△Cは、被写体マップの差分であり、次式(19)により求められる。
 △C=EV×f’(Cin)        ・・・(19)
 式(19)において、EVは評価マップを示しており、f’(Cin)は、関数f(x)を微分して得られる関数に、被写体マップCinを代入して得られる値である。関数f(x)を微分して得られる関数f’(x)は、具体的には「a×b×sech(x×b)2」である。
 このようにして被写体重み差分△Wcが得られると、被写体重み差分△Wcが、これまでの被写体重みWcに加算されて更新され、新たな被写体重みWcが求められる。
 続いて、更新された被写体重みWcと、被写体マップ生成時に生成された情報マップBninとが用いられて次式(20)により、情報重みWbnを変化させるべき量である情報重み差分△Wbnが求められる。
 △Wbn=η×Bnin×△Bn         ・・・(20)
 式(20)において、ηは、予め定められた定数である学習速度を示しており、Bninは、情報マップBninを示している。なお、より詳細には、式(20)におけるBninは、情報マップBninの1つの画素の画素値とされ、情報重み差分△Wbnは画素ごとに求められる。また、△Bnは情報マップの差分であり、次式(21)により求められる。
 △Bn=△C×f’(Bnin)×Wc        ・・・(21)
 式(21)において、△Cは上述した式(19)を計算して得られる値を示しており、f’(Bnin)は、関数f(x)を微分して得られる関数に、情報マップBninを代入して得られる値である。また、Wcは更新された被写体重みWcである。
 このようにして、情報マップBninに対する情報重み差分△Wbnが得られると、情報重み差分△Wbnが、情報マップBninの情報重みWbnに加算されて更新され、新たな情報重みWbnが求められる。
 さらに、更新された情報重みWbnと、被写体マップ生成時に生成された差分画像An(m)とが用いられて次式(22)により、差分重みWaを変化させるべき量である差分重みの差分△Wan(m)が求められる。
 △Wan(m)=η×An(m)×△An(m)       ・・・(22)
 式(22)において、ηは、予め定められた定数である学習速度を示しており、An(m)は差分画像An(m)を示している。なお、より詳細には、式(22)におけるAn(m)は、差分画像An(m)の1つの画素の画素値とされ、差分△Wan(m)は画素ごとに求められる。また、△An(m)は差分画像の差分であり、次式(23)により求められる。
 △An(m)=△Bn×f’(An(m))×Wbn      ・・・(23)
 式(23)において、△Bnは上述した式(21)を計算して得られる値を示しており、f’(An(m))は、関数f(x)を微分して得られる関数に、差分画像An(m)を代入して得られる値である。また、Wbnは更新された情報重みWbnである。
 このようにして、差分画像An(m)に対する差分重みの差分△Wan(m)が得られると、差分重みの差分△Wan(m)が、差分画像An(m)の差分重みWan(m)に加算されて更新され、新たな差分重みWan(m)が求められる。
 そして、以上のようにして更新された差分重みWa、情報重みWb、および被写体重みWcと、学習画像とが用いられて上述した処理が繰り返され、最終的な差分重みWa、情報重みWb、および被写体重みWcが得られる。
 このようにして、ニューラルネットワークによる学習では、予め与えられた重みが用いられて生成された被写体マップと、画像ラベルとから評価マップが生成され、さらに評価マップから逆算により、各重みを変化させるべき変化量である重みの差分が求められる。
 ここで、画像ラベルは、学習画像上の被写体の領域を示す情報であるので、いわば被写体マップの正解を示す情報ということができる。したがって、被写体マップと、画像ラベルとの差分である評価マップは、理想的な被写体マップと、与えられた重みを用いて生成された被写体マップとの誤差を示しており、評価マップを用いて逆算すれば、与えられた重みと、理想的な重みとの誤差が求まる。
 そして、求められた誤差は、与えられた重みを変化させるべき変化量であり、この変化量を重みに加算すれば、現時点における理想的な重みが求まることになる。このようにして新たに求められた重みを用いて被写体マップを生成すれば、その被写体マップにより、画像からより確実に被写体を検出することができるようになる。ニューラルネットワークによる学習では、重みの変化量として、差分△Wan(m)、情報重み差分△Wbn、および被写体重み差分△Wcが求められ、各重みが更新される。
[学習装置の構成]
 次に、以上において説明した差分重みWa、情報重みWb、および被写体重みWcを、ニューラルネットワークによる学習により求める学習装置について説明する。
 図20は、本発明を適用した学習装置の一実施の形態の構成例を示す図である。
 学習装置301には、画像データベース302および画像ラベルデータベース303が接続されている。画像データベース302は、学習画像を記録しており、画像ラベルデータベース303は、画像データベース302に記録されている学習画像についての画像ラベルを記録している。学習装置301は、画像データベース302および画像ラベルデータベース303から取得した学習画像および画像ラベルを用いて学習を行う。
 学習装置301は、被写体抽出部311および重み算出部312から構成される。
 被写体抽出部311は、画像データベース302から取得した学習画像と、重み算出部312から供給された差分重みWa、情報重みWb、および被写体重みWcとを用いて、学習画像から被写体マップを生成し、重み算出部312に供給する。重み算出部312は、画像ラベルデータベース303から取得した画像ラベルと、被写体抽出部311から供給された被写体マップとを用いて、差分重みWa、情報重みWb、および被写体重みWcを更新し、被写体抽出部311に供給する。
 例えば、被写体抽出部311は、図21に示すように構成される。すなわち、被写体抽出部311は、輝度情報抽出部341、色情報抽出部342、エッジ情報抽出部343、顔情報抽出部44、動き情報抽出部45、および被写体マップ生成部344から構成される。なお、図21において、図1における場合と対応する部分には同一の符号を付してあり、その説明は適宜、省略する。
 輝度情報抽出部341は、画像データベース302からの学習画像と、重み算出部312からの差分重みWaとを用いて輝度情報マップを生成し、被写体マップ生成部344に供給する。色情報抽出部342は、画像データベース302からの学習画像と、重み算出部312からの差分重みWaとを用いて色情報マップを生成し、被写体マップ生成部344に供給する。また、エッジ情報抽出部343は、画像データベース302からの学習画像と、重み算出部312からの差分重みWaとを用いてエッジ情報マップを生成し、被写体マップ生成部344に供給する。
 顔情報抽出部44は、画像データベース302からの学習画像を用いて顔情報マップを生成し、被写体マップ生成部344に供給する。動き情報抽出部45は、画像データベース302からの学習画像を用いて動き情報マップを生成し、被写体マップ生成部344に供給する。また、輝度情報抽出部341乃至エッジ情報抽出部343は、差分画像を被写体マップ生成部344に供給する。
 被写体マップ生成部344は、輝度情報抽出部341乃至動き情報抽出部45からの輝度情報マップ乃至動き情報マップと、重み算出部312からの情報重みWbおよび被写体重みWcとを用いて被写体マップを生成する。また、被写体マップ生成部344は、生成した被写体マップと、輝度情報抽出部341乃至動き情報抽出部45からの各情報マップおよび差分画像とを重み算出部312に供給する。
 図21の輝度情報抽出部341乃至エッジ情報抽出部343は、より詳細には、図22乃至図24に示すように構成される。
 図22は、輝度情報抽出部341の構成例を示す図である。
 輝度情報抽出部341は、輝度画像生成部371、ピラミッド画像生成部372、差分算出部373、および輝度情報マップ生成部374から構成される。なお、輝度画像生成部371乃至差分算出部373のそれぞれは、図2の輝度画像生成部81乃至差分算出部83のそれぞれと同様であるので、その説明は省略する。
 輝度情報マップ生成部374は、重み算出部312からの差分重みWaを用いて、差分算出部373からの差分画像(差分画像An(m)に相当する)を重み付き加算する。そして、輝度情報マップ生成部374は、重み付き加算により得られた画像(情報マップBninに相当する)を関数f(x)に代入して演算を行うことにより輝度情報マップ(情報マップBnoutに相当する)を生成して、被写体マップ生成部344に供給する。
 図23は、図21の色情報抽出部342の構成例を示す図である。
 色情報抽出部342は、RG差分画像生成部401、BY差分画像生成部402、ピラミッド画像生成部403、ピラミッド画像生成部404、差分算出部405、差分算出部406、色情報マップ生成部407、および色情報マップ生成部408から構成される。なお、RG差分画像生成部401乃至差分算出部406のそれぞれは、図3のRG差分画像生成部111乃至差分算出部116のそれぞれと同様であるため、その説明は省略する。
 色情報マップ生成部407は、重み算出部312からの差分重みWaを用いて、差分算出部405からのRGの差分の差分画像(差分画像An(m)に相当する)を重み付き加算する。そして、色情報マップ生成部407は、重み付き加算により得られた画像(情報マップBninに相当する)を関数f(x)に代入して演算を行うことによりRGの差分の色情報マップ(情報マップBnoutに相当する)を生成する。
 同様に、色情報マップ生成部408は、重み算出部312からの差分重みWaを用いて、差分算出部406からのBYの差分の差分画像を重み付き加算することで得られた画像を関数f(x)に代入して演算を行い、BYの差分の色情報マップを生成する。色情報マップ生成部407および色情報マップ生成部408は、生成したRGの差分の色情報マップおよびBYの差分の色情報マップを被写体マップ生成部344に供給する。
 図24は、図21のエッジ情報抽出部343の構成例を示す図である。
 エッジ情報抽出部343は、エッジ画像生成部441乃至エッジ画像生成部444、ピラミッド画像生成部445乃至ピラミッド画像生成部448、差分算出部449乃至差分算出部452、およびエッジ情報マップ生成部453乃至エッジ情報マップ生成部456から構成される。なお、エッジ画像生成部441乃至差分算出部452のそれぞれは、図4のエッジ画像生成部141乃至差分算出部152のそれぞれと同様であるので、その説明は省略する。
 エッジ情報マップ生成部453は、重み算出部312からの差分重みWaを用いて、差分算出部449からの0度方向の差分画像(差分画像An(m)に相当する)を重み付き加算する。そして、エッジ情報マップ生成部453は、重み付き加算により得られた画像(情報マップBninに相当する)を関数f(x)に代入して演算を行うことにより0度方向のエッジ情報マップ(情報マップBnoutに相当する)を生成する。
 同様に、エッジ情報マップ生成部454乃至エッジ情報マップ生成部456は、重み算出部312からの差分重みWaを用いて、差分算出部450乃至差分算出部452から供給された各方向の差分画像を重み付き加算して関数f(x)の演算を行い、各方向のエッジ情報マップを生成する。エッジ情報マップ生成部453乃至エッジ情報マップ生成部456は、生成した各方向のエッジ情報マップを被写体マップ生成部344に供給する。 
 また、図20の重み算出部312は、より詳細には図25に示すように構成される。すなわち、重み算出部312は、評価マップ生成部481、重み差分算出部482乃至重み差分算出部484、および重み更新部485から構成される。
 評価マップ生成部481は、被写体マップ生成部344からの被写体マップと、画像ラベルデータベース303からの画像ラベルとを用いて評価マップを生成し、重み差分算出部482に供給する。
 重み差分算出部482は、評価マップ生成部481からの評価マップと、被写体マップ生成部344からの被写体マップCinとを用いて被写体重み差分△Wcを生成し、重み更新部485に供給する。また、重み差分算出部482は、被写体重み差分△Wcの算出時に求められた被写体マップの差分△Cを、重み差分算出部483に供給する。
 重み差分算出部483は、重み差分算出部482からの被写体マップの差分△C、被写体マップ生成部344からの情報マップBnin、および重み更新部485からの被写体重みWcを用いて情報重み差分△Wbnを生成し、重み更新部485に供給する。また、重み差分算出部483は、情報重み差分△Wbnの算出時に求められた情報マップの差分△Bnを、重み差分算出部484に供給する。
 重み差分算出部484は、重み差分算出部483からの情報マップの差分△Bn、被写体マップ生成部344からの差分画像An(m)、および重み更新部485からの情報重みWbnを用いて差分重みの差分△Wan(m)を生成し、重み更新部485に供給する。
 重み更新部485は、重み差分算出部482乃至重み差分算出部484からの被写体重み差分△Wc、情報重み差分△Wbn、および差分重みの差分△Wan(m)を用いて、被写体重みWc、情報重みWb、および差分重みWaを更新する。また、重み更新部485は、更新された被写体重みおよび情報重みを被写体マップ生成部344に供給するとともに、差分重みを輝度情報抽出部341乃至エッジ情報抽出部343に供給するか、または被写体重み、情報重み、および差分重みを学習により得られた最終的な重みとして出力する。
[学習装置の動作]
 次に、図26のフローチャートを参照して、学習装置301が学習画像および画像ラベルを用いて被写体重みWc、情報重みWb、および差分重みWaを学習により求める処理である学習処理を説明する。
 ステップS251において、輝度情報抽出部341は、輝度情報抽出処理を行って輝度情報マップを生成し、生成した輝度情報マップおよび差分画像を被写体マップ生成部344に供給する。なお、輝度情報抽出処理は、図9を参照して説明した輝度情報抽出処理と同様であるので、その説明は省略する。
 但し、ステップS251においては、画像データベース302からの学習画像が用いられて輝度画像が生成される。また、図9のステップS54に対応する処理において、輝度情報マップ生成部374は、重み更新部485から供給された差分重みWaを用いて、差分算出部373からの差分画像を重み付き加算し、輝度情報マップを生成する。
 すなわち、差分画像An(m)としての輝度の差分画像が差分重みWan(m)により重み付き加算されて情報マップBninとされ、さらに情報マップBninに対して式(17)の演算が行われて、情報マップBnoutとしての輝度情報マップが生成される。
 情報マップBninの生成時には、輝度の各差分画像An(m)の画素の画素値に、差分画像ごとの差分重みWan(m)が乗算されて、差分重みが乗算された、同じ位置にある各差分画像の画素の画素値の総和が、情報マップBninの画素の画素値とされる。また、式(17)の演算では、情報マップBninの各画素の画素値xを式(17)に代入して得られた値が、情報マップBnoutとしての輝度情報マップの画素の画素値とされる。
 輝度情報マップ生成部374は、差分算出部373からの差分画像と、生成した輝度情報マップ、および情報マップBninとしての輝度情報マップとを被写体マップ生成部344に供給する。
 ステップS252において、色情報抽出部342は、色情報抽出処理を行って、色情報マップを生成し、生成した色情報マップおよび差分画像を被写体マップ生成部344に供給する。なお、色情報抽出処理は、図10を参照して説明した色情報抽出処理と同様であるので、その説明は省略する。
 但し、ステップS252においては、画像データベース302からの学習画像が用いられてRG差分画像およびBY差分画像が生成される。また、図10のステップS85に対応する処理において、色情報マップ生成部407および色情報マップ生成部408は、重み更新部485からの差分重みWaを用いて、差分算出部405および差分算出部406からの差分画像を重み付き加算し、色情報マップを生成する。
 すなわち、差分画像An(m)としてのRGの差分の差分画像、またはBYの差分の差分画像が差分重みWan(m)により重み付き加算されて情報マップBninとされる。さらに情報マップBninに対して式(17)の演算が行われて、情報マップBnoutとしてのRGの差分の色情報マップ、またはBYの差分の色情報マップが生成される。
 色情報マップ生成部407および色情報マップ生成部408は、差分算出部405および差分算出部406からの差分画像と、生成した色情報マップ、および情報マップBninとしての色情報マップとを被写体マップ生成部344に供給する。
 ステップS253において、エッジ情報抽出部343は、エッジ情報抽出処理を行ってエッジ情報マップを生成し、生成したエッジ情報マップおよび差分画像を被写体マップ生成部344に供給する。なお、エッジ情報抽出処理は、図11を参照して説明したエッジ情報抽出処理と同様であるので、その説明は省略する。
 但し、ステップS253においては、画像データベース302からの学習画像が用いられて各方向のエッジ画像が生成される。また、図11のステップS114に対応する処理において、エッジ情報マップ生成部453乃至エッジ情報マップ生成部456は、重み更新部485からの差分重みWaを用いて、差分算出部449乃至差分算出部452からの差分画像を重み付き加算し、エッジ情報マップを生成する。
 すなわち、差分画像An(m)としての各方向の差分画像が、それらの方向ごとに差分重みWan(m)により重み付き加算されて情報マップBninとされる。さらに情報マップBninに対して式(17)の演算が行われて、情報マップBnoutとして、0度、45度、90度、135度の各方向のエッジ情報マップが生成される。
 エッジ情報マップ生成部453乃至エッジ情報マップ生成部456は、差分算出部449乃至差分算出部452からの差分画像と、生成した各方向のエッジ情報マップ、および情報マップBninとしての各方向のエッジ情報マップとを被写体マップ生成部344に供給する。
 ステップS254において、顔情報抽出部44は、画像データベース302からの学習画像を用いて顔情報抽出処理を行って、情報マップBnoutとしての顔情報マップを生成し、被写体マップ生成部344に供給する。なお、この顔情報抽出処理は、図12を参照して説明した顔情報抽出処理と同様であるので、その説明は省略する。
 ステップS255において、動き情報抽出部45は、画像データベース302からの学習画像を用いて動き情報抽出処理を行って、情報マップBnoutとしての動き情報マップを生成し、被写体マップ生成部344に供給する。なお、この動き情報抽出処理は、図13を参照して説明した動き情報抽出処理と同様であるので、その説明は省略する。
 ステップS256において、被写体マップ生成部344は、輝度情報抽出部341乃至動き情報抽出部45からの輝度情報マップ乃至動き情報マップと、重み更新部485からの情報重みWbおよび被写体重みWcとを用いて、被写体マップを生成する。
 すなわち、被写体マップ生成部344は、情報マップBnoutとしての輝度情報マップ乃至動き情報マップに、情報マップごとの情報重みWbnを乗算して重み付き加算し、被写体マップCinを生成する。ここで、情報重みWbnが乗算された、各情報マップの同じ位置の画素の画素値の総和が、被写体マップCinの画素の画素値とされる。
 また、被写体マップ生成部344は、被写体マップCinの各画素の画素値xを式(17)に代入して得られた値を被写体マップCoutの画素の画素値とし、さらに被写体マップCoutの各画素の画素値に被写体重みWcを乗算して正規化し、最終的な被写体マップとする。
 被写体マップ生成部344は、生成した、最終的な被写体マップを評価マップ生成部481に供給するとともに、被写体マップCinを重み差分算出部482に供給する。また、被写体マップ生成部344は、輝度情報抽出部341乃至動き情報抽出部45からの各情報マップBninを重み差分算出部483に供給し、輝度情報抽出部341乃エッジ情報抽出部343からの各差分画像を重み差分算出部484に供給する。なお、この場合、情報マップBnoutとして生成された、顔情報マップおよび動き情報マップは、情報マップBninとして扱われ、重み差分算出部483に供給される。
 ステップS257において、評価マップ生成部481は、被写体マップ生成部344からの被写体マップと、画像ラベルデータベース303からの画像ラベルとの差分を求めることにより、評価マップを生成する。すなわち、被写体マップの所定の画素を注目画素とすると、注目画素の画素値と、注目画素と同じ位置にある画像ラベルの画素の画素値との差分が求められ、その差分が注目画素と同じ位置の評価マップの画素の画素値とされる。評価マップ生成部481は、生成した評価マップを重み差分算出部482に供給する。
 ステップS258において、重み更新部485は、被写体重みWcを更新する。すなわち、重み差分算出部482は、評価マップ生成部481から供給された評価マップEVと、被写体マップ生成部344からの被写体マップCinとを用いて、上述した式(18)および式(19)を計算し、被写体重み差分△Wcを求める。
 重み差分算出部482は、求めた被写体重み差分△Wcを重み更新部485に供給するとともに、式(19)の計算により求められた被写体マップの差分△Cを重み差分算出部483に供給する。そして、重み更新部485は、保持している被写体重みWcに重み差分算出部482からの被写体重み差分△Wcを加算して、被写体重みWcを更新する。
 ステップS259において、重み更新部485は、情報重みWbnを更新する。すなわち、重み差分算出部483は、重み差分算出部482から供給された被写体マップの差分△C、被写体マップ生成部344からの情報マップBnin、および重み更新部485からの更新された被写体重みWcを用いて、上述した式(20)および式(21)を計算し、情報重み差分△Wbnを求める。この情報重み差分△Wbnは、情報マップごと、つまり輝度情報マップ、RGの差分の色情報マップ、BYの差分の色情報マップ、0度方向乃至135度の各方向のエッジ情報マップ、顔情報マップ、および動き情報マップのそれぞれについて求められる。
 重み差分算出部483は、求めた情報重み差分△Wbnを重み更新部485に供給するとともに、式(21)の計算により求められた情報マップの差分△Bnを重み差分算出部484に供給する。そして、重み更新部485は、保持している情報重みWbnに重み差分算出部483からの情報重み差分△Wbnを加算して、情報重みWbnを更新する。
 これにより、輝度情報マップ、RGの差分の色情報マップ、BYの差分の色情報マップ、0度方向乃至135度の各方向のエッジ情報マップ、顔情報マップ、および動き情報マップのそれぞれの情報重みWbが更新される。
 ステップS260において、重み更新部485は、差分重みWaを更新する。すなわち、重み差分算出部484は、重み差分算出部483から供給された情報マップの差分△Bn、被写体マップ生成部344からの差分画像An(m)、および重み更新部485からの更新された情報重みWbnを用いて、上述した式(22)および式(23)を計算し、差分重みの差分△Wan(m)を求める。この差分重みの差分△Wan(m)は、各情報マップについて、差分画像ごとに求められる。例えば、上述したように、輝度情報マップは5つの輝度の差分画像から求められるので、輝度情報マップについて、それらの5つの差分画像ごとに差分重みの差分△Wan(m)が求められる。
 重み差分算出部484は、求めた差分△Wan(m)を重み更新部485に供給し、重み更新部485は、保持している差分重みWan(m)に重み差分算出部484からの差分△Wan(m)を加算して、差分重みWan(m)を更新する。
 以上の処理により、更新された差分重みWan(m)、情報重みWbn、および被写体重みWcが得られる。
 ステップS261において、重み算出部312は、差分重みWan(m)、情報重みWbn、および被写体重みWcを繰り返し更新する処理を終了するか否かを判定する。例えば、最後にステップS257において求められた評価マップの画素の画素値の最大値の絶対値が、予め定められた閾値以下であり、かつ予め定められた回数以上、差分重み、情報重み、および被写体重みの更新が行われた場合、処理を終了すると判定される。
 すなわち、画像から生成される情報マップと、求められた差分重みWan(m)、情報重みWbn、および被写体重みWcとを用いて、画像から充分な精度で被写体が抽出される被写体マップが得られる場合に、処理を終了すると判定される。
 ステップS261において、処理を終了しないと判定された場合、重み更新部485は、更新された差分重みWan(m)を輝度情報抽出部341乃至エッジ情報抽出部343に供給し、情報重みWbnおよび被写体重みWcを被写体マップ生成部344に供給する。そして、その後、処理はステップS251に戻り、上述した処理が繰り返される。
 なお、繰り返し行われるステップS251乃至ステップS255の処理においては、これまで用いられていた学習画像と同じ画像が用いられて、各情報マップが生成される。したがって、ステップS251乃至ステップS253の処理では、前回用いられた差分画像がそのまま用いられて情報マップが生成されるようにしてもよい。また、ステップS254およびステップS255の処理においても、前回用いられた情報マップが、そのまま生成された情報マップとされてもよい。
 一方、ステップS261において、処理を終了すると判定された場合、画像から充分な精度で被写体が抽出される被写体マップを得るための重みが求められたので、処理はステップS262に進む。
 ステップS262において、重み更新部485は、更新された差分重みWan(m)、情報重みWbn、および被写体重みWcを、学習により求められた最終的な重みとして出力し、学習処理は終了する。
 このようにして、学習装置301は、一般的な被写体が含まれる学習画像を用いて学習処理を行い、被写体マップを生成するのに用いる重みを生成する。したがって、学習により得られた重みを用いて被写体マップを生成すれば、その被写体マップにより、画像から一般的な被写体をより確実に検出することができるようになる。
 また、画像から、被写体が他の領域よりも多く有すると推定される情報を抽出して得られる情報マップと、重みとが用いられて被写体マップが生成される場合に、ニュートラルネットワークによる学習により重みを生成することで、簡単に重みを得ることができる。
 すなわち、差分画像から情報マップを生成し、情報マップから被写体マップを生成する構造は、ニュートラルネットワークのモデルによく似ており、ニュートラルネットワークと呼ばれる学習方法を、重みの学習に適用することにより、簡単な処理で重みを求めることができる。また、ニュートラルネットワークによる学習では、各情報マップの重みや、各差分画像の重みを並列処理により求めることができるので、より迅速に重みを生成することができる。
 なお、学習装置301では、最後に更新された差分重みWan(m)、情報重みWbn、および被写体重みWcを、最終的な重みとして出力すると説明したが、更新により求められた重みのうち、最も評価の高い重みが最終的な重みとして出力されるようにしてもよい。そのような場合、重みが更新されるごとに、その重みと、その重みを用いて得られた評価マップとが記録され、所定の回数だけ重みが更新された後、記録されている重みのうち、評価マップの画素の画素値の絶対値から求まる評価値の最も高い重みが出力される。
 以上において説明した学習装置301は、例えば、上述した画像処理装置11とともに画像評価システムを構成する装置として、撮像装置などに組み込まれるようにしてもよい。
 そのような場合、画像評価システムは、例えば、図27に示すように構成される。すなわち、画像評価システムは、画像処理装置11、学習装置301、画像データベース302、画像ラベルデータベース303、表示部511、および操作入力受付部512から構成される。なお、図27において、図1および図20における場合と対応する部分には、同一の符号を付してあり、その説明は適宜、省略する。
 この画像評価システムでは、撮像により得られた入力画像、または画像データベース302に予め記録されている画像が学習画像とされる。
 例えば、画像データベース302に記録されている画像が学習画像として用いられる場合、学習装置301は、画像データベース302から取得した学習画像と、画像ラベルデータベース303から取得した画像ラベルとを用いて学習処理を行う。そして、学習処理により得られた差分重みWan(m)、情報重みWbn、および被写体重みWcは、学習装置301から画像処理装置11に供給される。画像処理装置11は、学習装置301から供給された重みと、入力された入力画像とを用いて図8を参照して説明した画像評価処理を行い、入力画像に対するスコアを求めて出力する。
 これに対して、入力画像が用いられて学習が行われる場合、入力画像は、表示部511、画像処理装置11、および学習装置301に供給される。表示部511は、例えば、液晶ディスプレイなどからなり、入力された入力画像を表示する。
 また、表示部511には、例えば、タッチパネルなどからなる操作入力受付部512が重畳されており、ユーザは、操作入力受付部512に対する操作を行って、表示部511に表示された入力画像のうち、被写体とすべき領域を指定する。すると、操作入力受付部512は、ユーザの操作に応じて画像ラベルを生成し、学習装置301に供給する。
 例えば、操作入力受付部512は、これから生成しようとするラベル画像における、入力画像上のユーザにより指定された領域と同じ領域内の画素の画素値を1とし、それ以外の領域の画素の画素値を0とする。すなわち、ラベル画像における、入力画像上のユーザにより指定されていない領域と同じ領域の画素の画素値は0とされる。
 学習装置301は、入力された入力画像を学習画像として、学習画像と、操作入力受付部512から供給された画像ラベルとを用いて学習処理を行い、差分重みWan(m)、情報重みWbn、および被写体重みWcを生成する。そして、学習装置301は、生成した重みを画像処理装置11に供給し、画像処理装置11は、学習装置301からの重みを用いて画像評価処理を行い、入力画像に対するスコアを求めて出力する。
 したがって、このような画像評価システムが撮像装置に内蔵されていれば、撮像装置は、画像処理装置11から出力されたスコアに基づいて、撮像された入力画像がベストショットであるか否か、入力画像に対するスコアなどを表示することができる。
 なお、操作入力受付部512は、タッチパネルに限らず、ファインダを覗くユーザの視線の方向を、赤外線を利用して検出するセンサなどから構成されるようにしてもよい。そのような場合、操作入力受付部512には、入力画像が供給され、入力画像上における、センサにより検出された視線方向によって特定される領域に含まれる物体が被写体とされて、画像ラベルが生成される。
 また、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
 図28は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
 コンピュータにおいて、CPU(Central Processing Unit)601,ROM(Read Only Memory)602,RAM(Random Access Memory)603は、バス604により相互に接続されている。
 バス604には、さらに、入出力インターフェース605が接続されている。入出力インターフェース605には、キーボード、マウス、マイクロホンなどよりなる入力部606、ディスプレイ、スピーカなどよりなる出力部607、ハードディスクや不揮発性のメモリなどよりなる記録部608、ネットワークインターフェースなどよりなる通信部609、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア611を駆動するドライブ610が接続されている。
 以上のように構成されるコンピュータでは、CPU601が、例えば、記録部608に記録されているプログラムを、入出力インターフェース605及びバス604を介して、RAM603にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ(CPU601)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア611に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
 そして、プログラムは、リムーバブルメディア611をドライブ610に装着することにより、入出力インターフェース605を介して、記録部608にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部609で受信し、記録部608にインストールすることができる。その他、プログラムは、ROM602や記録部608に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
 11 画像処理装置, 41 輝度情報抽出部, 42 色情報抽出部, 43 エッジ情報抽出部, 44 顔情報抽出部, 45 動き情報抽出部, 46 被写体マップ生成部, 51 ぼけ判定部, 54 スコア算出部, 84 輝度情報マップ生成部, 117 色情報マップ生成部, 118 色情報マップ生成部, 153乃至156 エッジ情報マップ生成部, 182 顔情報マップ生成部, 214 動き情報マップ生成部, 241 エッジマップ生成部, 245 エッジポイント抽出部, 246 抽出量判定部, 247 エッジ分析部, 248 ぼけ度検出部, 301 学習装置, 311 被写体抽出部, 312 重み算出部

Claims (10)

  1.  入力画像に基づいて、前記入力画像上の被写体の領域を特定するための被写体特定情報を生成する生成手段と、
     前記被写体特定情報および前記入力画像を用いて、前記入力画像における前記被写体の含まれる領域を処理対象として、前記被写体のぼけ具合を検出する検出手段と
     を備える画像処理装置。
  2.  前記生成手段は、
      前記入力画像から前記被写体の領域が有する特徴の特徴量を抽出して、前記入力画像の各領域における前記特徴量を示す情報マップを生成する情報マップ生成手段と、
      互いに異なる前記特徴の前記特徴量を示す複数の前記情報マップを重み付き加算することにより、前記被写体特定情報を生成する被写体特定情報生成手段と
     を備える請求項1に記載の画像処理装置。
  3.  前記検出手段は、前記被写体の領域内におけるエッジの強度を検出することにより、前記被写体のぼけ具合を検出する
     請求項2に記載の画像処理装置。
  4.  前記情報マップ生成手段は、前記入力画像から前記特徴量を抽出して、前記入力画像の各領域における前記特徴量を示す特徴画像を生成するとともに、前記特徴画像に基づいて互いに解像度の異なる複数の前記特徴画像を生成し、前記複数の前記特徴画像の差分を求めることにより、前記情報マップを生成する
     請求項3に記載の画像処理装置。
  5.  入力画像に基づいて、前記入力画像上の被写体の領域を特定するための被写体特定情報を生成する生成手段と、
     前記被写体特定情報および前記入力画像を用いて、前記入力画像における前記被写体の含まれる領域を処理対象として、前記被写体のぼけ具合を検出する検出手段と
     を備える画像処理装置の画像処理方法であって、
     前記生成手段が、前記入力画像から前記被写体特定情報を生成し、
     前記検出手段が、前記被写体特定情報および前記入力画像を用いて、前記被写体のぼけ具合を検出する
     ステップを含む画像処理方法。
  6.  入力画像に基づいて、前記入力画像上の被写体の領域を特定するための被写体特定情報を生成し、
     前記被写体特定情報および前記入力画像を用いて、前記入力画像における前記被写体の含まれる領域を処理対象として、前記被写体のぼけ具合を検出する
     ステップを含む処理をコンピュータに実行させるプログラム。
  7.  画像上の被写体の領域を特定するための被写体マップを生成するために用いられる重みを、ニューラルネットワークによる学習により求める学習装置であって、
     前記被写体が含まれ、前記学習に用いられる学習画像から、前記被写体の領域が有する特徴の特徴量を抽出して、前記学習画像の各領域における前記特徴量を示す情報マップを生成する情報マップ生成手段と、
     互いに異なる前記特徴の前記特徴量を示す複数の前記情報マップを、前記重みを用いて重み付き加算することにより、前記被写体マップを生成する被写体マップ生成手段と、
     前記被写体マップと、予め求められた前記学習画像における前記被写体の領域を示す画像ラベルとを用いて、前記重みを変化させるべき変化量を算出する重み変化量算出手段と、
     前記変化量を前記重みに加算して、前記重みを更新する更新手段と
     を備える学習装置。
  8.  前記更新手段により更新された前記重みと、前記学習画像とが用いられて新たな前記変化量が求められ、前記重みが更新される処理が繰り返し行われる
     請求項7に記載の学習装置。
  9.  画像上の被写体の領域を特定するための被写体マップを生成するために用いられる重みを、ニューラルネットワークによる学習により求める学習装置であり、
     前記被写体が含まれ、前記学習に用いられる学習画像から、前記被写体の領域が有する特徴の特徴量を抽出して、前記学習画像の各領域における前記特徴量を示す情報マップを生成する情報マップ生成手段と、
     互いに異なる前記特徴の前記特徴量を示す複数の前記情報マップを、前記重みを用いて重み付き加算することにより、前記被写体マップを生成する被写体マップ生成手段と、
     前記被写体マップと、予め求められた前記学習画像における前記被写体の領域を示す画像ラベルとを用いて、前記重みを変化させるべき変化量を算出する重み変化量算出手段と、
     前記変化量を前記重みに加算して、前記重みを更新する更新手段と
     を備える学習装置の学習方法において、
     前記情報マップ生成手段が、前記学習画像から前記情報マップを生成し、
     前記被写体マップ生成手段が、前記情報マップを重み付き加算して前記被写体マップを生成し、
     前記重み変化量算出手段が、前記被写体マップおよび前記画像ラベルを用いて前記変化量を算出し、
     前記更新手段が、前記変化量を前記重みに加算して前記重みを更新する
     ステップを含む学習方法。
  10.  画像上の被写体の領域を特定するための被写体マップを生成するために用いられる重みを、ニューラルネットワークによる学習により求める学習方法であって、
     前記被写体が含まれ、前記学習に用いられる学習画像から、前記被写体の領域が有する特徴の特徴量を抽出して、前記学習画像の各領域における前記特徴量を示す情報マップを生成し、
     互いに異なる前記特徴の前記特徴量を示す複数の前記情報マップを、前記重みを用いて重み付き加算することにより、前記被写体マップを生成し、
     前記被写体マップと、予め求められた前記学習画像における前記被写体の領域を示す画像ラベルとを用いて、前記重みを変化させるべき変化量を算出し、
     前記変化量を前記重みに加算して、前記重みを更新する
     ステップを含む処理をコンピュータに実行させるプログラム。
PCT/JP2009/064818 2008-08-26 2009-08-26 画像処理装置および方法、学習装置および方法、並びにプログラム WO2010024265A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US12/738,783 US8494256B2 (en) 2008-08-26 2009-08-26 Image processing apparatus and method, learning apparatus and method, and program
CN2009801007433A CN101828201B (zh) 2008-08-26 2009-08-26 图像处理装置及方法、学习装置及方法
RU2010115471/08A RU2479037C2 (ru) 2008-08-26 2009-08-26 Устройство и способ обработки изображения, обучающееся устройство и способ обучения и программа
EP09809916A EP2199979A4 (en) 2008-08-26 2009-08-26 IMAGE PROCESSING DEVICE AND METHOD, AND APPARATUS, METHOD, AND PROGRAM FOR LEARNING
BRPI0905077-9A BRPI0905077A2 (pt) 2008-08-26 2009-08-26 Aparelho e método de processamento de imagem, programa para fazer um computador executar um processo, e, aparelho de aprendizagem.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008216985A JP2010055194A (ja) 2008-08-26 2008-08-26 画像処理装置および方法、学習装置および方法、並びにプログラム
JP2008-216985 2008-08-26

Publications (1)

Publication Number Publication Date
WO2010024265A1 true WO2010024265A1 (ja) 2010-03-04

Family

ID=41721432

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/064818 WO2010024265A1 (ja) 2008-08-26 2009-08-26 画像処理装置および方法、学習装置および方法、並びにプログラム

Country Status (7)

Country Link
US (1) US8494256B2 (ja)
EP (1) EP2199979A4 (ja)
JP (1) JP2010055194A (ja)
CN (1) CN101828201B (ja)
BR (1) BRPI0905077A2 (ja)
RU (1) RU2479037C2 (ja)
WO (1) WO2010024265A1 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8325796B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation
JP5229575B2 (ja) * 2009-05-08 2013-07-03 ソニー株式会社 画像処理装置および方法、並びにプログラム
JP5310247B2 (ja) * 2009-05-13 2013-10-09 ソニー株式会社 画像処理装置および方法、並びにプログラム
JP5505007B2 (ja) 2010-03-18 2014-05-28 富士通株式会社 画像処理装置、画像処理方法及び画像処理用コンピュータプログラム
JP5182312B2 (ja) * 2010-03-23 2013-04-17 株式会社ニコン 画像処理装置、および画像処理プログラム
JP5136664B2 (ja) * 2010-07-09 2013-02-06 カシオ計算機株式会社 画像処理装置、及びプログラム
JP2012058845A (ja) * 2010-09-06 2012-03-22 Sony Corp 画像処理装置および方法、並びにプログラム
US8503801B2 (en) 2010-09-21 2013-08-06 Adobe Systems Incorporated System and method for classifying the blur state of digital image pixels
US9154799B2 (en) 2011-04-07 2015-10-06 Google Inc. Encoding and decoding motion via image segmentation
US8885941B2 (en) 2011-09-16 2014-11-11 Adobe Systems Incorporated System and method for estimating spatially varying defocus blur in a digital image
US9262670B2 (en) * 2012-02-10 2016-02-16 Google Inc. Adaptive region of interest
CN103778426A (zh) * 2012-10-22 2014-05-07 内蒙古大学 绿色作物特征提取方法以及农情信息检测视觉系统
US9542736B2 (en) * 2013-06-04 2017-01-10 Paypal, Inc. Evaluating image sharpness
JP6381311B2 (ja) * 2013-07-04 2018-08-29 キヤノン株式会社 画像形成装置、画像形成方法、およびプログラム
RU2546600C2 (ru) * 2013-08-01 2015-04-10 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ и система для обнаружения небольших или тонких объектов на изображении (варианты)
CN104427240A (zh) * 2013-09-09 2015-03-18 深圳富泰宏精密工业有限公司 电子装置及其影像调整方法
JP6318520B2 (ja) 2013-09-27 2018-05-09 株式会社リコー 撮像装置、撮像システムおよび撮像方法
JP2015156189A (ja) * 2014-02-21 2015-08-27 株式会社ニコン 画像評価装置、および画像評価プログラム
US9392272B1 (en) 2014-06-02 2016-07-12 Google Inc. Video coding using adaptive source variance based partitioning
EP3162067B1 (en) * 2014-06-25 2021-03-31 InterDigital VC Holdings, Inc. Method and device for processing images
US9578324B1 (en) 2014-06-27 2017-02-21 Google Inc. Video coding using statistical-based spatially differentiated partitioning
US9396409B2 (en) * 2014-09-29 2016-07-19 At&T Intellectual Property I, L.P. Object based image processing
US10362288B2 (en) * 2015-01-09 2019-07-23 Sony Corporation Method and system for improving detail information in digital images
JP6348431B2 (ja) * 2015-02-24 2018-06-27 株式会社日立製作所 画像処理方法、画像処理装置
JP6642970B2 (ja) * 2015-03-05 2020-02-12 キヤノン株式会社 注目領域検出装置、注目領域検出方法及びプログラム
CN106375649B (zh) * 2015-10-27 2019-05-21 北京智谷睿拓技术服务有限公司 图像采集控制方法和装置、图像采集设备
US10810744B2 (en) * 2016-05-27 2020-10-20 Rakuten, Inc. Image processing device, image processing method and image processing program
EP3475880A4 (en) 2016-06-23 2020-02-26 Capital One Services, LLC SYSTEM AND METHOD FOR AUTOMATIC DETECTION OF OBJECT DETECTION
US10984757B2 (en) 2017-05-19 2021-04-20 Semiconductor Energy Laboratory Co., Ltd. Machine learning method, machine learning system, and display system
CN109215010B (zh) * 2017-06-29 2021-08-31 沈阳新松机器人自动化股份有限公司 一种图像质量判断的方法及机器人人脸识别系统
US20190052791A1 (en) * 2017-08-10 2019-02-14 Olympus Corporation Image processing apparatus and image processing method
WO2019186915A1 (ja) * 2018-03-29 2019-10-03 三菱電機株式会社 異常検査装置および異常検査方法
US11423262B2 (en) * 2018-08-08 2022-08-23 Nec Corporation Automatically filtering out objects based on user preferences
US20200125651A1 (en) 2018-10-18 2020-04-23 Cae Inc. Loading rendering data for an interactive computer
JP2019096364A (ja) * 2019-03-18 2019-06-20 株式会社ニコン 画像評価装置
US11488285B2 (en) * 2020-04-13 2022-11-01 Apple Inc. Content based image processing
JP2020170555A (ja) * 2020-07-13 2020-10-15 株式会社ニコン 画像評価装置、カメラおよびプログラム
US20220408013A1 (en) * 2021-06-22 2022-12-22 Microsoft Technology Licensing, Llc DNN Assisted Object Detection and Image Optimization

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11312243A (ja) * 1998-04-28 1999-11-09 Victor Co Of Japan Ltd 顔領域検出装置
JP2003016448A (ja) 2001-03-28 2003-01-17 Eastman Kodak Co 前景/背景セグメント化を用いた画像のイベント・クラスタリング
JP2003324610A (ja) * 2002-02-27 2003-11-14 Konica Minolta Holdings Inc 画像処理方法および画像変換装置
JP2004072655A (ja) 2002-08-09 2004-03-04 Ricoh Co Ltd Roi領域設定装置、電子カメラ装置、roi領域設定方法、プログラム、記録媒体
JP2005115525A (ja) * 2003-10-06 2005-04-28 Fuji Photo Film Co Ltd 識別処理に用いる特徴量の種類と識別条件を決定する装置、プログラムならびにプログラムを記録した記録媒体、および特定内容のデータを選別する装置
JP2005182412A (ja) * 2003-12-18 2005-07-07 Seiko Epson Corp 画像処理装置及びその方法
JP2005521927A (ja) 2002-02-12 2005-07-21 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. デジタルスチルカメラにおける取り込み画像の写真品質を評価する方法及び装置
JP2006311340A (ja) 2005-04-28 2006-11-09 Olympus Imaging Corp 画像表示装置及びデジタルカメラ
JP2007027971A (ja) 2005-07-13 2007-02-01 Canon Inc 撮影装置及びその制御方法及びプログラム及び記録媒体
JP2007226314A (ja) * 2006-02-21 2007-09-06 Seiko Epson Corp 失敗画像判定装置及び失敗画像判定方法
JP2007257470A (ja) * 2006-03-24 2007-10-04 Fujifilm Corp 類似判別装置および方法並びにプログラム
JP2008170284A (ja) * 2007-01-11 2008-07-24 Denso Corp 車載霧判定装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2179304C2 (ru) * 1998-07-15 2002-02-10 Нихамов Михаил Анатольевич Фоторегистратор движущейся метки
US7231072B2 (en) 2002-02-27 2007-06-12 Konica Corporation Image processing method and image converting apparatus
JP4010254B2 (ja) * 2003-02-06 2007-11-21 ソニー株式会社 画像記録再生装置、画像撮影装置及び色収差補正方法
JP4268497B2 (ja) * 2003-10-15 2009-05-27 日本放送協会 距離情報付加装置、付加映像生成装置、付加映像生成方法及び距離情報付加プログラム
US20050249429A1 (en) * 2004-04-22 2005-11-10 Fuji Photo Film Co., Ltd. Method, apparatus, and program for image processing
JP2006024193A (ja) * 2004-06-07 2006-01-26 Fuji Photo Film Co Ltd 画像補正装置、画像補正プログラム、画像補正方法、および画像補正システム
JP2006254107A (ja) * 2005-03-10 2006-09-21 Olympus Imaging Corp 画像評価装置、画像評価プログラム、画像評価プログラムを記録する記録媒体、画像評価方法
CN101297545B (zh) 2005-10-28 2012-05-02 株式会社尼康 摄影装置、图像处理装置
JP2009048490A (ja) * 2007-08-21 2009-03-05 Toshiba Corp 類似ショット検出装置、プログラムおよび方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11312243A (ja) * 1998-04-28 1999-11-09 Victor Co Of Japan Ltd 顔領域検出装置
JP2003016448A (ja) 2001-03-28 2003-01-17 Eastman Kodak Co 前景/背景セグメント化を用いた画像のイベント・クラスタリング
JP2005521927A (ja) 2002-02-12 2005-07-21 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. デジタルスチルカメラにおける取り込み画像の写真品質を評価する方法及び装置
JP2003324610A (ja) * 2002-02-27 2003-11-14 Konica Minolta Holdings Inc 画像処理方法および画像変換装置
JP2004072655A (ja) 2002-08-09 2004-03-04 Ricoh Co Ltd Roi領域設定装置、電子カメラ装置、roi領域設定方法、プログラム、記録媒体
JP2005115525A (ja) * 2003-10-06 2005-04-28 Fuji Photo Film Co Ltd 識別処理に用いる特徴量の種類と識別条件を決定する装置、プログラムならびにプログラムを記録した記録媒体、および特定内容のデータを選別する装置
JP2005182412A (ja) * 2003-12-18 2005-07-07 Seiko Epson Corp 画像処理装置及びその方法
JP2006311340A (ja) 2005-04-28 2006-11-09 Olympus Imaging Corp 画像表示装置及びデジタルカメラ
JP2007027971A (ja) 2005-07-13 2007-02-01 Canon Inc 撮影装置及びその制御方法及びプログラム及び記録媒体
JP2007226314A (ja) * 2006-02-21 2007-09-06 Seiko Epson Corp 失敗画像判定装置及び失敗画像判定方法
JP2007257470A (ja) * 2006-03-24 2007-10-04 Fujifilm Corp 類似判別装置および方法並びにプログラム
JP2008170284A (ja) * 2007-01-11 2008-07-24 Denso Corp 車載霧判定装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2199979A4

Also Published As

Publication number Publication date
EP2199979A4 (en) 2012-02-01
BRPI0905077A2 (pt) 2015-06-30
CN101828201B (zh) 2012-06-06
US8494256B2 (en) 2013-07-23
EP2199979A1 (en) 2010-06-23
CN101828201A (zh) 2010-09-08
RU2010115471A (ru) 2011-10-27
JP2010055194A (ja) 2010-03-11
US20100246939A1 (en) 2010-09-30
RU2479037C2 (ru) 2013-04-10

Similar Documents

Publication Publication Date Title
WO2010024265A1 (ja) 画像処理装置および方法、学習装置および方法、並びにプログラム
US9569827B2 (en) Image processing apparatus and method, and program
JP5544764B2 (ja) 画像処理装置および方法、並びにプログラム
JP5397059B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP5229575B2 (ja) 画像処理装置および方法、並びにプログラム
CN108389224B (zh) 图像处理方法及装置、电子设备和存储介质
CN108961158B (zh) 一种图像合成方法及装置
Le Meur et al. A spatio-temporal model of the selective human visual attention
CN117058606A (zh) 一种x射线图像违禁品检测方法
JP2011150594A (ja) 画像処理装置および方法、並びにプログラム
Lee et al. Laplacian of Gaussian Based on Color Constancy Algorithm for Surrounding Image Stitching Application
Bruni et al. Automatic Perceptual Color Quantization of Dermoscopic Images.
JP4831344B2 (ja) 目の位置の検出方法
JP2011018199A (ja) 画像処理装置および方法、並びにプログラム
Shcherbinin et al. Sharpening image details using local phase congruency analysis
Gu et al. Quality assessment of enhanced images
Hsieh et al. Pixel-based multi-focus image fusion by color appearance model
Olešová Modified Methods of Generating Saliency Maps Based on Superpixels
Yao Visual saliency detection based on mahalanobis distance and feature evaluation
McCrackin Classification-based Adaptive Image Denoising
Becker et al. IR-videostream rendering based on high-level object information
Gosseaume et al. SAMI: SAliency based Metrics of Identification for object concealment evaluation

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980100743.3

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2009809916

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1888/CHENP/2010

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 12738783

Country of ref document: US

Ref document number: 2010115471

Country of ref document: RU

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

Ref document number: 09809916

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: PI0905077

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20100419