WO2018189802A1 - 画像処理装置、画像処理方法、及びプログラム - Google Patents
画像処理装置、画像処理方法、及びプログラム Download PDFInfo
- Publication number
- WO2018189802A1 WO2018189802A1 PCT/JP2017/014774 JP2017014774W WO2018189802A1 WO 2018189802 A1 WO2018189802 A1 WO 2018189802A1 JP 2017014774 W JP2017014774 W JP 2017014774W WO 2018189802 A1 WO2018189802 A1 WO 2018189802A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- area
- region
- image processing
- processing apparatus
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/162—Segmentation; Edge detection involving graph-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/758—Involving statistics of pixels or of feature values, e.g. histogram matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20156—Automatic seed setting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20161—Level set
Definitions
- the present invention relates to an image processing apparatus, an image processing method, and a program.
- Non-Patent Document 1 describes a technique called Grabcut for separating a foreground region and a background region in an image.
- Non-Patent Document 2 is not intended to extract the foreground region, but a technique for automatically detecting individual elements in the image and setting a bounding box surrounding each element in the image. Is described.
- Non-Patent Document 1 in order to execute Grabcut, the user has to manually specify an area indicating an object. For this reason, for example, when there are a large number of images for which the foreground area is desired to be extracted, the user needs to manually specify the area indicating the object for each of the large number of images, which is very troublesome.
- the bounding box of Non-Patent Document 2 is extracted as it is as the foreground region, a large number of bounding boxes are set in one image. It is difficult to identify which is optimal. Even if you select a bounding box for the foreground area in some way, the bounding box is a rectangle that encloses the element (the circumscribed rectangle) and is not cut along the outline of the object, so there are many foreground areas. The foreground region extraction accuracy cannot be increased.
- the present invention has been made in view of the above problems, and an object thereof is to improve the extraction accuracy of the foreground region while saving the user's trouble.
- an image processing apparatus includes an image acquisition unit that acquires an image including a background and an object, and a plurality of elements corresponding to a plurality of elements in the image, respectively.
- An element area setting means for setting an element area; an overlapping area specifying means for specifying an overlapping area in which the degree of overlapping of each element area is a predetermined level or more in the image; and the image based on the overlapping area.
- foreground area extracting means for extracting a foreground area corresponding to the object.
- An image processing method includes an image acquisition step for acquiring an image including a background and an object, and an element region setting for setting a plurality of element regions respectively corresponding to a plurality of elements in the image for the image
- a superimposing area specifying step for specifying an overlapping area in which the degree of overlapping of each element area is a predetermined level or more in the image, and a foreground corresponding to the object from the image based on the overlapping area
- a foreground region extracting step for extracting a region.
- the program according to the present invention includes an image acquisition unit that acquires an image including a background and an object, an element region setting unit that sets a plurality of element regions respectively corresponding to a plurality of elements in the image, In the image, a foreground for extracting a foreground area corresponding to the object from the image based on the overlap area, an overlap area specifying means for specifying an overlap area in which the degree of overlap of each element area is a predetermined degree or more
- the computer is caused to function as a region extraction unit.
- the information storage medium according to the present invention is a computer-readable information storage medium storing the above program.
- the foreground area extracting unit may extract the foreground area by performing a separation process for separating the foreground and the background on the image based on the superimposed area. It is characterized by.
- the superimposing region setting unit calculates a numerical value indicating the degree of the overlapping of the pixel based on a determination result of whether or not each pixel is included in each element region.
- the overlap region is specified based on a determination result of whether or not the numerical value is equal to or greater than a threshold value.
- the numerical value indicates the brightness of the corresponding pixel of the determination image having the same size as the image.
- the image processing apparatus further includes a threshold setting unit that sets the threshold according to the image, and the superimposing region setting unit is configured such that the numerical value of each pixel is the threshold setting unit. It is characterized by determining whether it is more than the threshold set by (1).
- the superimposing region setting unit may determine whether the numerical value of each pixel is equal to or greater than a threshold value set by the threshold setting unit. And determining whether the similarity between the shape of the temporary overlapping region and the basic shape is a predetermined value or more based on the data indicating the basic shape of the object, Until the similarity is determined to be equal to or greater than the predetermined value, the threshold value is repeatedly changed to determine the similarity, and the superimposition region specifying unit determines that the temporary area is determined to be similar to the basic shape.
- a superimposing area is specified as the superimposing area.
- the image is associated with attribute information indicating an attribute of the object, and the threshold setting unit sets the threshold according to the attribute information of the image. It is characterized by that.
- the threshold value setting means sets the threshold value according to a histogram of the image.
- the superimposing area setting unit weights each element area based on a position of each element area in the image and calculates the numerical value.
- the overlapping area setting unit weights each element area based on the size of each element area, and calculates the numerical value.
- the image is a product image showing a product that is sold and sold using the Internet
- the object is the product shown in the product image
- the image acquisition unit includes: The product image uploaded via the Internet is acquired, and the foreground area is an area where the product is shown in the product image, and the image processing apparatus is extracted from the product image Search information acquisition means for acquiring search information for the product based on the foreground region is further included.
- FIG. 1 is a diagram illustrating a hardware configuration of the image processing apparatus.
- the image processing apparatus 10 is a computer that can execute image processing, and is, for example, a server computer, a personal computer, or a mobile terminal (including a smartphone or a tablet computer). As illustrated in FIG. 1, the image processing apparatus 10 includes a control unit 11, a storage unit 12, a communication unit 13, an operation unit 14, and a display unit 15.
- the control unit 11 includes at least one microprocessor.
- the control unit 11 executes processing according to programs and data stored in the storage unit 12.
- the storage unit 12 includes a main storage unit and an auxiliary storage unit.
- the main storage unit is a volatile memory such as a RAM
- the auxiliary storage unit is a non-volatile memory such as a ROM, an EEPROM, a flash memory, or a hard disk.
- the communication unit 13 is a communication interface for wired communication or wireless communication, and performs data communication via a network.
- the operation unit 14 is an input device, for example, a pointing device such as a touch panel or a mouse, a keyboard, or a button.
- the operation unit 14 transmits details of operations performed by the user to the control unit 11.
- the display unit 15 is, for example, a liquid crystal display unit or an organic EL display unit. The display unit 15 displays a screen according to instructions from the control unit 11.
- the program and data described as being stored in the storage unit 12 may be supplied via a network.
- the hardware configuration of the image processing apparatus 10 is not limited to the above example, and various hardware can be applied. For example, even if a reading unit (for example, an optical disk drive or a memory card slot) for reading a computer-readable information storage medium or an input / output unit (for example, a USB port) for inputting / outputting data to / from an external device is included. Good.
- a program or data stored in an information storage medium may be supplied to the image processing apparatus 10 via a reading unit or an input / output unit.
- the image processing apparatus 10 acquires a foreground area in which a product is photographed from a product image in order to acquire information (for example, a color and a pattern) for searching for a product sold and sold via the Internet. To extract. As described above, foreground regions with high accuracy can be extracted by using Gracut, but in this case, it is necessary to manually specify the product portion from the product image, which takes time and effort for the user.
- the image processing apparatus 10 estimates a region where the bounding boxes overlap multiple times as a product part, and executes a Grabcut on the region, so that the user selects the product part. Even if it is not specified, it is possible to extract a foreground region with high accuracy.
- this technique details of this technique will be described.
- FIG. 2 is a functional block diagram illustrating an example of functions realized by the image processing apparatus 10.
- the image processing apparatus 10 includes a data storage unit 100, an image acquisition unit 101, an element region setting unit 102, a superimposition region specification unit 103, a foreground region extraction unit 104, and a search information acquisition unit 105.
- the image processing apparatus 10 includes a data storage unit 100, an image acquisition unit 101, an element region setting unit 102, a superimposition region specification unit 103, a foreground region extraction unit 104, and a search information acquisition unit 105.
- the data storage unit 100 is realized mainly by the storage unit 12.
- the data storage unit 100 stores an image including a background and an object.
- the image may be a captured image obtained by photographing a real space with a camera, or may be computer graphics (hereinafter simply referred to as CG).
- CG computer graphics
- the image may be a photographed image obtained by photographing a product with a camera, or a CG created by processing the photographed image with graphic software (for example, a character string indicating the unit price or shipping cost of the photographed image. Or a CG drawn entirely by graphic software without using a captured image.
- the image may be stored in various data formats, for example, BMP format, JPEG format, PNG format, or GIF format.
- the number of colors of the image may be arbitrary, and may be, for example, a color image or a gray scale image.
- the number of bits of the color image or the gray scale image may be arbitrary, and may be, for example, a 24-bit RGB image or an 8-bit gray scale image.
- the background is, for example, an image portion around the object and a state behind the object (scenery).
- the background is a subject farther from the camera than the object and is a subject behind the object.
- the background is a subject whose part is hidden by the object.
- the background may be a 3D model or a 2D model farther from the viewpoint (virtual camera) than the object, or may be an image drawn on a layer below the object layer. .
- the object is, for example, an image portion surrounded by a background, and is a foreground on the near side (viewpoint side) with respect to the background.
- the object is a subject closer to the camera than the background, and a subject in front of the background.
- an object is a subject that hides part of the background.
- the object may be a 3D model or a 2D model closer to the viewpoint than the background, or may be an image drawn on a layer above the background layer.
- FIG. 3 is a diagram illustrating an example of an image.
- the image G ⁇ b> 1 a product image indicating a product that is sold and sold using the Internet will be described.
- merchandise is bought and sold using an online shopping mall, a flea market application, or an internet auction.
- the object is clothes for the product
- the background is a space (for example, a window or a door) behind the model wearing the product. Note that when an object is placed on a plane such as a desk or floor, the background is a plane such as a desk or floor.
- the image G1 may be composed only of the background and the object, or may include other parts.
- the image G1 includes portions other than the background and the object.
- information about the product for example, a character string “KNIT” indicating the material of the product
- information about other related products for example, Images of other products of different colors.
- the image G1 can include various types of information such as the price of the product and the shipping cost.
- the image G1 is prepared by the seller of the product.
- a store or an exhibitor prepares and uploads an image G1 by photographing a product or using graphic software.
- the data storage unit 100 stores the uploaded image G1.
- the data stored in the data storage unit 100 is not limited to the above example.
- the data storage unit 100 may store data necessary for extracting the foreground region from the image G1, and for example, the data storage unit 100 stores a determination image and a threshold value for specifying a superimposition region described later.
- product search information acquired by the search information acquisition unit 105 described later may be stored.
- the image acquisition unit 101 is realized mainly by the control unit 11.
- the image acquisition unit 101 acquires an image G1 including a background and an object.
- the image G1 is a product image indicating a product that is sold or sold using the Internet
- the image acquisition unit 101 acquires the image G1 uploaded via the Internet.
- the image acquisition unit 101 acquires the image G1 stored in the data storage unit 100.
- the image acquisition unit 101 may acquire the image G1 directly from the camera.
- the image acquisition unit 101 may acquire the image G1 from the information storage medium or the database server.
- the element region setting unit 102 is realized mainly by the control unit 11.
- the element area setting unit 102 sets a plurality of element areas respectively corresponding to a plurality of elements in the image G1 for the image G1.
- the element is, for example, an individual component included in the image, and is a component of an object or a background.
- the element is an object that can be identified based on learning data obtained by learning the basic shape of the object.
- the object is a person, a mannequin, an animal, or an imaginary character
- individual parts for example, eyes, nose, mouth, etc.
- the object is a product
- parts constituting the product, a pattern or character string on the product surface, a pattern or character string on a package or label, and the like correspond to the elements.
- the product is clothes
- the sleeves and hems of the clothes, seams, wrinkles, patterns, logos, and the like correspond to the elements.
- the product is an electrical appliance
- a component included in the electrical appliance, a pattern on the surface of the electrical appliance, a logo, or the like corresponds to the element.
- the package or label pattern or character string of the food product or the pattern of the surface of the food product corresponds to the element.
- the image G1 is CG
- a character string or a pattern input by graphic software corresponds to an element.
- the element region is, for example, a region including part or all of the element.
- the element region is a bounding box will be described.
- the case where the element region is a circumscribed rectangle of the element will be described.
- the element region may not be a circumscribed rectangle, but may be a rectangle including a margin around the element.
- the shape of the element region may be an arbitrary shape, and may be, for example, a polygon other than a square, or a circle or an ellipse.
- the element area setting unit 102 may determine an element area so as to include a part or all of each element detected from the image G1.
- the method described in (1) may be used.
- learning data obtained by learning the basic shape of the object is stored in advance in the data storage unit 100, and the element region setting unit 102 detects a shape similar to the basic shape of the element from the image G1, A circumscribed rectangle having a shape may be used as the element region.
- Various methods such as a pattern matching method can be applied to the similarity of shapes.
- FIG. 4 is a diagram illustrating an example of the element region set in the image G1.
- the element area setting unit 102 sets the bounding box of each element detected from the image G1 as the element area EA.
- the number of element regions EA is reduced.
- FIG. 4 shows only 21 element areas EA1 to EA21.
- element areas EA of hundreds, thousands, or more may be set. Good.
- the element area EA1 is an area where the entire face of the model wearing the product is detected as an element.
- the element areas EA2 to EA5 are areas in which the right eye, the left eye, the nose, and the mouth are detected as elements, respectively.
- the element areas EA6 to EA12 are areas where clothes, which are objects, are detected as elements, and are, for example, the entire clothes, a neck portion, a trunk portion, a right arm sleeve portion, a wrinkle portion, and the like.
- the element areas EA13 to EA21 are areas in which a product description or a product with a different color is detected as an element.
- the object part (the photographed part of the clothes as a product) is set so that the element areas EA6 to EA12 overlap each other, and the other part overlaps the element area EA. Absent. For example, since the entire character in the image G1 is detected as one element, the element areas EA13 to EA18 do not overlap. Further, for example, the products of different colors in the image G1 are photographed small and no details appear, and the entire products of different colors are detected as one element, so the element areas EA19 to EA21 do not overlap.
- the overlapping area specifying unit 103 is realized mainly by the control unit 11.
- the overlapping area specifying unit 103 specifies an overlapping area in which the degree of overlapping of each element area EA is equal to or greater than a predetermined degree in the image G1.
- the degree of overlap refers to, for example, the number of overlapping element areas EA (multiple overlaps) when all the element areas EA have the same weighting in order to specify the overlap area as in this embodiment. ). Further, for example, when the weight is changed depending on the element area EA (for example, modifications (5) to (6) described later), the numerical value is calculated based on the weight of the element area EA.
- the overlapping region may be one continuous region or a plurality of regions separated from each other.
- the overlapping area is an area composed of pixels in which the overlapping number of the element areas EA is a predetermined number or more.
- a numerical value indicating the degree of overlap is associated with each pixel of the image G1.
- This numerical value may be a numerical value that has a correlation with the degree of overlap.
- a case where a large numerical value means that the degree of overlapping is large will be described. Smallness may mean that the degree of overlap is large.
- the brightness of the corresponding pixel of the determination image having the same size as the image G1 will be described as a numerical value indicating the degree of overlap.
- the brightness is the brightness information of the color, and is also called a pixel value or luminance.
- Corresponding pixels are pixels having the same position (coordinates).
- the brightness of an n-bit grayscale image is used as an example.
- the brightness of each pixel is represented by an integer from 0 to 2 n ⁇ 1 .
- 0 is black
- 2 n-1 is white
- the value between them is an intermediate color (gray).
- the image (FIG. 3) from which the foreground region is extracted is referred to as an original image G1, and is a determination image (FIG. 5) that has the same size and changes the brightness. Is referred to as a determination image G2.
- FIG. 5 is a diagram illustrating an example of the determination image G2.
- the determination image G2 has the same number of vertical and horizontal pixels as the original image G1.
- an arbitrary brightness is set as an initial value, and here, a case where the initial value of the brightness is 0 (black) will be described.
- the initial value of brightness may be 2 n-1 (white) or a value of 1 or more and less than 2 n-1 (intermediate color).
- the superimposing area specifying unit 103 changes the brightness of the determination image G2 based on each element area EA. For example, the overlapping area specifying unit 103 calculates the brightness of the determination image G2 based on the determination result of whether or not each pixel is included in each element area EA, and determines whether or not the brightness is equal to or greater than a threshold value. Based on the determination result, the overlapping region is specified. In other words, the overlapping area specifying unit 103 calculates the brightness of the determination image G2 for each element area EA based on the result of specifying the pixels included in the element area EA.
- the overlapping area specifying unit 103 may change the lightness inside the element area EA or may change the lightness outside the element area EA. That is, the overlapping area specifying unit 103 may change the brightness of either the element area EA or the outside of the element area EA. In other words, the overlapping area specifying unit 103 may change the brightness of pixels included in the element area EA, or may change the brightness of pixels not included in the element area EA. In the present embodiment, the case where the overlapping area specifying unit 103 changes the brightness in the element area EA will be described as an example.
- the overlapping area specifying unit 103 may increase or decrease the brightness. Whether to increase or decrease the brightness may be determined by, for example, the initial value of the brightness of the determination image G2. The brightness may be increased if the initial value is low, and the brightness may be decreased if the initial value is high. In the present embodiment, since the initial value of lightness is 0, the overlapping region specifying unit 103 will be described as an example in which the lightness is increased.
- FIG. 6 is a diagram illustrating an example of the determination image G2 whose brightness has changed.
- the brightness of each pixel is expressed by the density (density) of halftone dots, which means that the darker the halftone dots, the lower the brightness, and the thinner the halftone dots, the higher the brightness.
- the overlapping area specifying unit 103 specifies a pixel included in the element area EA for each element area EA, and increases the brightness of the pixel.
- the amount of increase in brightness may be arbitrary, and is 1 here, but may be 2 or more.
- the portion where the element areas EA overlap each other has a high brightness and becomes white.
- the portion where the element area EA does not overlap has a low brightness and is dark.
- the overlapping area specifying unit 103 specifies the overlapping area based on the determination result of whether or not the brightness of each pixel is equal to or higher than the threshold value.
- the threshold value is stored in advance in the data storage unit 100 and will be described as a fixed value in the present embodiment. However, the threshold value may be changed according to a user input, or may be changed to the original image G1 as in a modification example described later. A corresponding value may be set.
- high brightness means that the overlapping degree of the element areas EA is large, so the overlapping area specifying unit 103 selects an area composed of pixels in which the brightness of each pixel of the determination image G2 is greater than or equal to a threshold value. And identified as a superimposition region. For example, the overlapping area specifying unit 103 binarizes the determination image G2 based on the comparison result between the brightness of each pixel and the threshold value, and specifies the overlapping area.
- FIG. 7 is a diagram illustrating an example of the binarized determination image G2.
- the overlapping region specifying unit 103 sets pixels whose brightness is equal to or higher than the threshold as white pixels and pixels whose brightness is lower than the threshold as black pixels.
- the binarized determination image G2 may be in the gray scale format, but may be converted into a monochrome format because there are no intermediate colors.
- the overlapping area specifying unit 103 specifies an area where white pixels are continuous in the determination image G2 as the overlapping area OA.
- the foreground area extraction unit 104 is realized mainly by the control unit 11.
- the foreground area extraction unit 104 extracts a foreground area corresponding to the object from the original image G1 based on the overlapping area OA.
- the foreground area is an area including a part or all of the object, and the overlapping area OA may be used as it is as the foreground area.
- the foreground area extracting unit 104 uses the original image G1 based on the overlapping area OA.
- a foreground region is extracted by executing a separation process for separating the foreground and the background will be described.
- FIG. 8 is a diagram illustrating an example of the foreground area.
- the foreground area FA is an area in which the product is photographed in the product image.
- the foreground area extraction unit 104 extracts the foreground area FA by designating the overlapping area OA as an object part and executing Grabcut.
- Grabcut is a technique for extracting the foreground area FA by repeating Graphcut.
- Grabcut is described as an example of the separation process, but the separation process itself may be a process for separating the background and the foreground, and various known processes can be applied.
- ScribbleSup method https://arxiv.org/abs/1604.05144
- Lazy Snapping method http://home.cse.ust.hk/ ⁇ cktang/sample_pub). /lazy_snapping.pdf
- a background difference method may be used, or Graphcut may be used.
- the search information acquisition unit 105 is realized mainly by the control unit 11.
- the search information acquisition unit 105 acquires product search information based on the foreground area FA extracted from the original image G1.
- the search information is information that can be used in the search for products, and can be said to be information indicating the characteristics or attributes of the products.
- the search information includes the color, pattern, shape, type (genre or category), size, etc. of the product.
- the search information acquisition unit 105 acquires product search information by performing image analysis on the foreground area FA. For example, if color is used as the search information, the search information acquisition unit 105 may generate a histogram of the foreground area FA and use the frequency of each gradation as the search information, or the most frequently used color or frequency is equal to or greater than a threshold value. May be acquired as search information. In addition, for example, the search information acquisition unit 105 may acquire an average value of colors in the foreground area FA as search information, or a predetermined location (for example, a pixel in the center or near the center) in the foreground area FA. You may acquire a color as search information.
- a pattern is used as the search information
- various pattern patterns are stored in the data storage unit 100, and the search information acquisition unit 105 performs pattern matching on the foreground area FA to obtain a similar pattern.
- Get pattern as search information if a pattern is used as the search information, various pattern patterns are stored in the data storage unit 100, and the search information acquisition unit 105 performs pattern matching on the foreground area FA to obtain a similar pattern. Get pattern as search information.
- a shape pattern is stored in the data storage unit 100 for each product type, and the search information acquisition unit 105 selects the foreground area FA. Then, pattern matching is performed, and the type of product corresponding to the similar shape pattern is acquired as search information. Further, for example, if size is used as search information, a shape pattern is stored in the data storage unit 100 for each size, and the search information acquisition unit 105 performs pattern matching on the foreground area FA and performs similar processing. The size corresponding to the shape pattern to be acquired is acquired as search information.
- FIG. 9 is a flowchart showing an example of processing executed in the image processing apparatus 10.
- the process shown in FIG. 9 is executed by the control unit 11 operating according to a program stored in the storage unit 12.
- the process described below is an example of a process executed by the functional block shown in FIG.
- the control unit 11 acquires the original image G1 stored in the storage unit 12 (S1).
- the original image G1 to be processed may be specified by the user, or may be all or part of the original image G1 from which the foreground area FA has not yet been extracted, among the original images G1 stored in the storage unit 12. May be.
- the control unit 11 detects an element in the original image G1, and sets an element area EA corresponding to each element (S2). In S2, the control unit 11 sets a bounding box surrounding the element detected from the original image G1 as the element area EA.
- the control unit 11 prepares a determination image G2 having the same size as the original image G1, and increases the brightness of each pixel in each element area EA (S3). In S3, the control unit 11 increases the brightness of each pixel in the element area EA for each element area EA. The control unit 11 performs the same process for all the element regions EA detected in S2, and increases the brightness of the determination image G2. The control unit 11 binarizes the determination image G2 whose brightness has been increased in S3 (S4). In S ⁇ b> 4, the control unit 11 sets a pixel having a lightness equal to or higher than the threshold as a white pixel and a pixel having a lightness lower than the threshold as a black pixel.
- the control unit 11 identifies the white pixel region of the determination image G2 binarized in S4 as the overlapping region OA (S5).
- the control unit 11 extracts the foreground area FA from the original image G1 by executing Grabcut on the original image G1 based on the overlapping area OA specified in S5 (S6). In S6, the control unit 11 executes Grabcut assuming that the overlapping area OA is designated as the object part.
- the control unit 11 extracts search information from the foreground area FA extracted in S6 (S7).
- the control unit 11 extracts search information by performing image analysis on the foreground area FA.
- the control unit 11 records the original image G1 and the search information extracted in S7 in association with each other in the storage unit 12 (S8), and the process ends.
- the foreground area FA extraction process can be automated by extracting the foreground area FA from the original image G1 based on the overlapping area OA having a high degree of overlapping of the element areas EA. This saves the user trouble. Furthermore, since the foreground area FA close to the contour of the object can be extracted, the extraction accuracy of the foreground area FA can be improved.
- the image processing apparatus 10 can execute the separation process such as Grabcut on the overlap area OA, so that the separation process can be executed without the user specifying the object portion, and the foreground area FA with high accuracy can be executed. It is possible to save the user's trouble when extracting.
- the separation process such as Grabcut on the overlap area OA
- the image processing apparatus 10 can simplify the specifying process of the overlapping area OA by specifying the overlapping area OA using a numerical value indicating the degree of overlap of the element areas EA.
- the foreground area FA can be extracted quickly.
- the image processing apparatus 10 can simplify the specifying process of the overlapping area OA by specifying the overlapping area OA using the brightness of the determination image G2 having the same size as the original image G1, The processing load on the image processing apparatus 10 can be reduced, and the foreground area FA can be extracted quickly.
- search information is acquired by analyzing the foreground area FA of the original image G1, the accuracy of the search information can be improved, and a highly reliable product search becomes possible.
- the threshold value to be compared with the brightness of each pixel of the determination image G2 has been described as a fixed value, but the threshold value may be a variable value. That is, the lightness threshold value used as a reference when the determination image G2 is binarized may be a variable value instead of a fixed value.
- FIG. 10 is a functional block diagram of the modified example (1).
- a threshold setting unit 106 is realized in addition to the functions described in the embodiment.
- the threshold setting unit 106 is realized mainly by the control unit 11.
- the threshold setting unit 106 sets a threshold corresponding to the original image G1.
- the threshold corresponding to the original image G1 is a threshold corresponding to the feature of the original image G1.
- the features of the original image G1 are, for example, color features and shape features.
- setting the threshold value means changing the threshold value so as to be a numerical value corresponding to the original image G1.
- the threshold setting unit 106 sets a threshold associated with the feature of the original image G1.
- the feature of the original image G1 may be indicated in the accompanying information associated with the original image G1.
- the incidental information may be, for example, the size of the original image G1 other than the attribute information of the modification (3).
- the threshold setting unit 106 may set the threshold so that the detection condition of the overlapping area OA becomes severer as the size of the original image G1 is larger.
- the incidental information indicating the characteristics of the original image G1 may be the resolution of the original image G1.
- the threshold setting unit 106 may set the threshold such that the higher the resolution of the original image G1, the stricter the detection conditions for the overlapping area OA.
- the characteristics of the original image G1 may be obtained by analyzing the original image G1 instead of the accompanying information.
- the number of element regions EA may be used in addition to the histogram analysis of the modification example (4).
- the threshold setting unit 106 may set the threshold so that the detection condition of the overlapping area OA becomes severer as the total number of element areas EA increases.
- the threshold setting unit 106 may set the threshold so that the detection condition of the overlapping area OA becomes severe when the element area EA exists near the end.
- the threshold value setting unit 106 may set a threshold value according to the feature of the original image G1, and for example, may set a threshold value according to the data format and data amount of the original image G1, or the original image G1.
- a threshold value may be set according to the size of the element area EA detected from.
- the superimposition region specifying unit 103 determines whether the brightness of each pixel is equal to or greater than the threshold set by the threshold setting unit 106. That is, when the threshold value is changed by the threshold value setting unit 106, the overlapping area specifying unit 103 executes the determination process based on the changed threshold value.
- the details of the determination process of the overlapping area specifying unit 103 are as described in the embodiment.
- the overlapping area OA is extracted based on the threshold corresponding to the original image G1, the accuracy of the foreground area FA can be increased.
- the threshold setting unit 106 changes the threshold, so the contour of the overlapping area OA also changes.
- the threshold value changes so that the detection condition of the overlapping area OA becomes stricter, the overlapping area OA becomes smaller and its outline may resemble the outline of the object.
- the threshold value is changed so that the detection condition of the overlapping area OA becomes less sweet, the overlapping area OA becomes large, and its outline may not resemble the outline of the object. For this reason, the threshold setting unit 106 may repeatedly change the threshold until the shape of the object is recognized from the outline of the overlapping area OA.
- the superposition region specifying unit 103 specifies the temporary superposition region OA based on the determination result as to whether or not the brightness of each pixel of the determination image G2 is equal to or greater than the threshold set by the threshold setting unit 106.
- the method for specifying the provisional overlap area OA is the same as the method for specifying the overlap area OA described in the embodiment. However, in the modification (2), the overlapping area specifying unit 103 does not specify the temporary overlapping area OA as the overlapping area OA until the shape of the object is recognized.
- the superposition region specifying unit 103 determines whether the similarity between the shape of the temporary superposition region OA and the basic shape is equal to or greater than a predetermined value based on the learning data indicating the basic shape of the object.
- the learning data is data obtained by learning the basic shape of the contour of the object, and is stored in the data storage unit 100 in advance.
- the overlapping area specifying unit 103 acquires the similarity between the shape of the temporary overlapping area OA and the basic shape of the object based on the learning data, and determines whether the similarity is a predetermined value or more.
- the similarity acquisition method itself may use a known pattern matching method or the like.
- the similarity is a numerical value indicating the degree of similarity (matching degree) of the shape, and the higher the similarity, the more similar in shape.
- the similarity is equal to or greater than a predetermined value, the shape of the temporary overlapping area OA and the basic shape of the object are similar.
- the threshold setting unit 106 determines the similarity by repeatedly changing the threshold until it is determined that the similarity is equal to or greater than a predetermined value.
- the threshold setting unit 106 may increase the threshold or decrease the threshold. For example, if the threshold is too low, the temporary overlapping area OA becomes too large and does not resemble the basic shape of the object, so the threshold may be increased. Further, for example, if the threshold is too high, the temporary overlapping area OA becomes too small, and in this case too, it does not resemble the basic shape of the object. That is, the threshold value setting unit 106 changes the threshold value until the shape of the temporary overlapping area OA becomes plausible.
- the amount of change in the threshold value may be a fixed value, may be determined randomly, or may be determined depending on the degree of similarity between the shape of the temporary overlapping area OA and the basic shape.
- the threshold setting unit 106 may increase the amount of change in the threshold if the current degree of similarity is low, or may decrease the amount of change in the threshold if the current degree of similarity is reasonably high.
- the superimposition region specifying unit 103 again determines similarity with the basic shape of the object based on the threshold value changed by the threshold value setting unit 106.
- the overlapping area specifying unit 103 specifies the temporary overlapping area OA when determined to be similar to the basic shape as the overlapping area OA. In other words, until it is determined that the shape of the temporary overlapping area OA and the basic shape are similar, the threshold value change by the threshold setting unit 106, the specification of the temporary overlapping area OA by the overlapping area specifying unit 103, and the basic shape When the determination of no is repeated and they are similar, the overlapping area OA is determined.
- the foreground area FA is extracted based on the overlapping area OA close to the shape of the object, and the ratio of objects in the overlapping area OA increases (the background ratio in the overlapping area OA decreases).
- the accuracy of the foreground area FA can be increased.
- the threshold setting unit 106 sets a threshold corresponding to the attribute information of the original image G1. Also good.
- the attribute information is information indicating what the object is.
- the attribute information is the classification of the object, for example, the type of the object (for example, the genre / category of the product).
- the data storage unit 100 of the modified example (3) stores the original image G1 and attribute information in association with each other.
- the attribute information is designated by the seller of the product and uploaded together with the original image G1.
- the attribute information may be specified by a user other than the seller, for example, an administrator of an online shopping mall.
- Information indicating the relationship between the attribute information and the threshold value may be stored in the data storage unit 100. This information may be in a mathematical expression format or a table format, or may be described as part of the program code.
- the threshold setting unit 106 sets a threshold associated with the attribute information of the original image G1.
- the object is often photographed from a distance so that the whole can be accommodated, and many backgrounds may be photographed in the original image G1. For this reason, unless the detection conditions for the overlapping area OA are strict, the overlapping area OA includes a lot of background, and the accuracy of the foreground area FA may be lowered. Therefore, for example, if the attribute information of the object indicates a predetermined value (a value classified as a large object), the threshold setting unit 106 sets the threshold so that the detection condition of the overlapping area OA becomes strict. Also good.
- the threshold value setting unit 106 sets the threshold value so that the detection condition of the overlapped area OA becomes less sweet if the attribute information of the object indicates a predetermined value (a value that is classified as an object having few appearance features). May be set.
- the overlapping area OA is extracted based on the threshold value corresponding to the attribute of the object, and the ratio of the object in the overlapping area OA can be increased, or the overlapping area OA can be easily detected. Therefore, the accuracy of the foreground area FA can be increased.
- the threshold setting unit 106 may set a threshold corresponding to the histogram of the original image G1.
- the histogram is information indicating the frequency (number of pixels) of the gradation for each gradation of the original image G1.
- the gradation is also referred to as brightness, pixel value, or luminance described above.
- the threshold setting unit 106 sets a threshold corresponding to the characteristics of the histogram of the original image G1.
- the characteristics of the histogram are the characteristics of the frequency of each gradation. For example, whether the frequency is uniformly distributed (there are many colors) in each gradation, or is the frequency concentrated on a specific gradation? Etc.
- the information indicating the relationship between the characteristics of the histogram and the threshold value may be stored in the data storage unit 100. This information may be in a mathematical expression format or a table format, or may be described as part of the program code.
- the threshold setting unit 106 sets a threshold associated with the histogram features of the original image G1.
- the threshold setting unit 106 may set the threshold so that the detection condition of the overlapping area OA becomes severer as the color variation indicated by the histogram increases.
- the threshold value setting unit 106 may set the threshold value such that the detection condition of the overlapping area OA becomes sweeter as the color variation indicated by the histogram is smaller.
- the overlapping area OA is extracted based on the threshold value corresponding to the histogram of the original image G1, and the ratio of objects in the overlapping area OA is increased, or the overlapping area OA is easily detected. Therefore, the accuracy of the foreground area FA can be increased.
- the overlapping area OA may be specified in consideration of the position of each element area EA in the original image G1. For example, since the object is often photographed near the center of the original image G1, the weight of the element area EA near the center may be increased.
- the superposed area specifying unit 103 of this modification weights each element area EA based on the position of each element area EA in the original image G1, and calculates the brightness.
- Information indicating the relationship between the position of the element area EA and the weighting may be stored in the data storage unit 100. This information may be in a mathematical expression format or a table format, or may be described as part of the program code.
- the overlapping area specifying unit 103 calculates the brightness of the determination image G2 based on the weighting associated with the position of the element area EA.
- the overlapping area specifying unit 103 increases the weight of the element area EA as the element area EA is closer to the center of the original image G1. The closer the area EA is to the end of the original image G1, the smaller the weight of the element area EA is.
- a product description may be written near the center of the original image G1, and products of different colors may be arranged on both sides of the original image G1.
- the overlapping area specifying unit 103 causes the element area EA to be closer to the center of the original image G1.
- the weight of the element area EA may be increased as the element area EA is closer to the end of the original image G1.
- the position where the weight of the element area EA is increased is not limited to the center or the end of the original image G1. For example, if there are many objects in the right half of the original image G1, the right half of the weight may be increased or the left half of the original image G1 may be increased. If there are many objects, the left half weight may be increased. Which position of the original image G1 is to be weighted may be determined in consideration of the trend of the layout of the product image, may be determined according to the type of product (genre / category), and the type of the original image G1 (For example, whether it is a product image or a landscape image) may be determined.
- the overlapping area OA is specified in consideration of the position of the element area EA in the original image G1, the ratio of objects in the overlapping area OA is increased or the overlapping area OA is detected. This can improve the accuracy of the foreground area FA.
- the overlapping area OA may be specified in consideration of the size of each element area EA. For example, since the object is often photographed large in the original image G1, the weight of the large element area EA may be increased.
- the superposed area specifying unit 103 of this modification weights each element area EA based on the size of each element area EA, and calculates brightness.
- Information indicating the relationship between the size of the element area EA and the weight may be stored in the data storage unit 100. This information may be in a mathematical expression format or a table format, or may be described as part of the program code.
- the overlapping area specifying unit 103 calculates the brightness of the determination image G2 based on the weighting associated with the size of the element area EA.
- the overlapping area specifying unit 103 increases the weight of the element area EA as the element area EA is larger, and the smaller the element area EA as the element area EA is. The weight of the element area EA may be reduced.
- a superimposition region specifying unit 103 may increase the weight of the element area EA as the element area EA is smaller, and decrease the weight of the element area EA as the element area EA is larger.
- the overlapping area OA is specified in consideration of the size of the element area EA, the ratio of objects in the overlapping area OA is increased, or the overlapping area OA is easily detected. Therefore, the accuracy of the foreground area FA can be increased.
- the processing of the overlapping area specifying unit 103 is not limited to this.
- the overlapping area specifying unit 103 may specify the overlapping area OA from the overlapping degree of the element areas EA.
- the initial value of the brightness of the determination image G2 may be 2 n-1 (white) instead of 0 (black) as shown in FIG.
- the overlapping area specifying unit 103 may reduce the brightness in the element area EA. For example, a portion of the determination image G2 where the element regions EA overlap several times has low brightness and is blackish.
- the overlapping area specifying unit 103 specifies an area composed of pixels whose lightness of the determination image G2 is less than a threshold value as the overlapping area. For example, the overlapping area specifying unit 103 specifies a black pixel area as the overlapping area in the binarized determination image G2.
- the overlapping area specifying unit 103 may increase the brightness outside the element area EA. In this case, a portion of the determination image G2 where the element areas EA overlap several times remains low in brightness and becomes blackish. For this reason, the overlapping area specifying unit 103 specifies an area including pixels whose brightness of the determination image G2 is less than the threshold value as the overlapping area. For example, the overlapping area specifying unit 103 specifies a black pixel area as the overlapping area in the binarized determination image G2.
- the overlapping area specifying unit 103 may reduce the brightness outside the element area EA. In this case, a portion of the determination image G2 where the element regions EA overlap several times remains high in brightness and becomes white. For this reason, the overlapping area specifying unit 103 specifies an area including pixels whose brightness of the determination image G2 is equal to or higher than a threshold value as the overlapping area. For example, the overlapping area specifying unit 103 specifies a white pixel area in the binarized determination image G2 as the overlapping area.
- the determination image G2 may be a color image.
- the lightness any one lightness of R, G, and B may be used, or two or three lightnesses may be used.
- the process shown in FIG. 9 may be executed every time the original image G1 is uploaded, may be executed when the user of the image processing apparatus 10 performs a predetermined operation, or may be a batch file. It may be executed when a predetermined time has arrived.
- the image processing apparatus 10 may be an online shopping mall, a flea market application, or an Internet auction manager side apparatus, or a seller side apparatus.
- the seller's side extracts the foreground area FA and acquires search information, and uploads it together with the original image G1.
- the image processing apparatus 10 may be a third party apparatus that is neither an administrator nor a seller.
- the foreground area extraction unit 104 may extract the overlap area OA as it is as the foreground area FA without performing the separation process on the overlap area OA.
- the brightness for each pixel is not used, but a numerical value that is not particularly related to the brightness may be used.
- the overlapping area specifying unit 103 may vote for the pixels in the element area EA, and may set pixels having a predetermined number of votes or more as the overlapping area OA. In this case, the number of votes for each pixel corresponds to a numerical value indicating the degree of overlap. Furthermore, this numerical value does not need to be prepared for each pixel, and one numerical value may be prepared for a plurality of pixels to simplify the process of specifying the overlapping area OA.
- the product is described as an example of the object, but the object may be an object that can be a foreground, and may not be a product.
- the object may be a person, an animal, a plant, a building, or the like.
- the object may be a vehicle such as an automobile or a motorcycle.
- the object may be a 3D model or a 2D model arranged in the virtual space.
- the 3D model or the 2D model may be a fictitious character, or may be a clothes, a building, or a vehicle drawn with graphic software.
- the image processing apparatus 10 may perform a predetermined process based on the foreground area FA extracted by the foreground area extraction unit 104. For example, the image processing apparatus 10 may record the original image G1 and the foreground area FA in the data storage unit 100 in association with each other.
- the foreground area FA may be used for various purposes. For example, the foreground area FA may be used for display on the display unit 15 or may be used for learning the basic shape of the object.
- the foreground area FA may be used to classify the attribute information of the original image G1. That is, the foreground area FA may be used for the purpose of classifying what is captured in the original image G1.
- the data storage unit 100 does not need to be included in the image processing apparatus 10 and may be realized by a database server.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
Abstract
ユーザの手間を省きつつ、前景領域の抽出精度を高める。画像処理装置(10)の画像取得手段(100)は、背景とオブジェクトとを含む画像を取得する。要素領域設定手段(102)は、画像に対し、画像内の複数の要素にそれぞれ対応する複数の要素領域を設定する。重畳領域特定手段(103)は、画像の中で、各要素領域の重なりの度合いが所定度合い以上である重畳領域を特定する。前景領域抽出手段(104)は、重畳領域に基づいて、画像から、オブジェクトに対応する前景領域を抽出する。
Description
本発明は、画像処理装置、画像処理方法、及びプログラムに関する。
従来、背景とオブジェクトとを含む画像の中から、オブジェクトに対応する前景領域を抽出する技術が知られている。例えば、非特許文献1には、画像の中で前景領域と背景領域とを分離するためのGrabcutと呼ばれる技術が記載されている。また例えば、非特許文献2には、前景領域の抽出を目的としているわけではないが、画像内の個々の要素を自動的に検出し、画像に対し、各要素を囲むバウンディングボックスを設定する技術が記載されている。
http://cvg.ethz.ch/teaching/cvl/2012/grabcut-siggraph04.pdf
http://mmcheng.net/mftp/Papers/ObjectnessBING.pdf
しかしながら、非特許文献1の技術では、Grabcutを実行するために、ユーザは、オブジェクトを示す領域を手動で指定しなければならなかった。このため、例えば、前景領域を抽出したい画像が多数存在する場合に、ユーザは、多数の画像の各々に対し、オブジェクトを示す領域を手動で指定する必要があり、非常に手間がかかってしまう。
この点、前景領域の抽出を自動化するために、非特許文献2のバウンディングボックスをそのまま前景領域として抽出しようとしても、1枚の画像には、多数のバウンディングボックスが設定されるので、前景領域としてどれが最適なのかを特定することは困難である。もし仮に、前景領域とするバウンディングボックスを何らかの形で選んだとしても、バウンディングボックスは、要素を囲む四角形(外接矩形)であり、オブジェクトの輪郭に沿って切り取られるものではないので、前景領域は多くの背景を含み、前景領域の抽出精度を高めることができない。
本発明は上記課題に鑑みてなされたものであって、その目的は、ユーザの手間を省きつつ、前景領域の抽出精度を高めることである。
上記課題を解決するために、本発明に係る画像処理装置は、背景とオブジェクトとを含む画像を取得する画像取得手段と、前記画像に対し、前記画像内の複数の要素にそれぞれ対応する複数の要素領域を設定する要素領域設定手段と、前記画像の中で、各要素領域の重なりの度合いが所定度合い以上である重畳領域を特定する重畳領域特定手段と、前記重畳領域に基づいて、前記画像から、前記オブジェクトに対応する前景領域を抽出する前景領域抽出手段と、を含むことを特徴とする。
本発明に係る画像処理方法は、背景とオブジェクトとを含む画像を取得する画像取得ステップと、前記画像に対し、前記画像内の複数の要素にそれぞれ対応する複数の要素領域を設定する要素領域設定ステップと、前記画像の中で、各要素領域の重なりの度合いが所定度合い以上である重畳領域を特定する重畳領域特定ステップと、前記重畳領域に基づいて、前記画像から、前記オブジェクトに対応する前景領域を抽出する前景領域抽出ステップと、を含むことを特徴とする。
本発明に係るプログラムは、背景とオブジェクトとを含む画像を取得する画像取得手段、前記画像に対し、前記画像内の複数の要素にそれぞれ対応する複数の要素領域を設定する要素領域設定手段、前記画像の中で、各要素領域の重なりの度合いが所定度合い以上である重畳領域を特定する重畳領域特定手段、前記重畳領域に基づいて、前記画像から、前記オブジェクトに対応する前景領域を抽出する前景領域抽出手段、としてコンピュータを機能させる。
また、本発明に係る情報記憶媒体は、上記のプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体である。
また、本発明の一態様では、前記前景領域抽出手段は、前記重畳領域に基づいて、前記画像に対し、前景と背景を分離する分離処理を実行することによって、前記前景領域を抽出する、ことを特徴とする。
また、本発明の一態様では、前記重畳領域設定手段は、各画素が各要素領域に含まれるか否かの判定結果に基づいて、当該画素における前記重なりの度合いを示す数値を計算し、その数値が閾値以上であるか否かの判定結果に基づいて、前記重畳領域を特定する、ことを特徴とする。
また、本発明の一態様では、前記数値は、前記画像と同じ大きさの判定用画像の対応画素の明度を示す、ことを特徴とする。
また、本発明の一態様では、前記画像処理装置は、前記画像に応じた前記閾値を設定する閾値設定手段を更に含み、前記重畳領域設定手段は、各画素の前記数値が、前記閾値設定手段により設定された閾値以上であるか否かを判定する、ことを特徴とする。
また、本発明の一態様では、前記重畳領域設定手段は、各画素の前記数値が、前記閾値設定手段により設定された閾値以上であるか否かの判定結果に基づいて、仮の前記重畳領域を特定し、かつ、前記オブジェクトの基本形状を示すデータに基づいて、当該仮の重畳領域の形状と前記基本形状との類似度が所定値以上であるかを判定し、前記閾値設定手段は、前記類似度が前記所定値以上であると判定されるまで、前記閾値を繰り返し変化させ前記類似度を判定し、前記重畳領域特定手段は、前記基本形状と類似すると判定された場合の前記仮の重畳領域を、前記重畳領域として特定する、ことを特徴とする。
また、本発明の一態様では、前記画像には、前記オブジェクトの属性を示す属性情報が対応付けられており、前記閾値設定手段は、前記画像の前記属性情報に応じた前記閾値を設定する、ことを特徴とする。
また、本発明の一態様では、前記閾値設定手段は、前記画像のヒストグラムに応じた前記閾値を設定する、ことを特徴とする。
また、本発明の一態様では、前記重畳領域設定手段は、各要素領域の前記画像内での位置に基づいて各要素領域に重み付けし、前記数値を計算する、ことを特徴とする。
また、本発明の一態様では、前記重畳領域設定手段は、各要素領域の大きさに基づいて各要素領域に重み付けし、前記数値を計算する、ことを特徴とする。
また、本発明の一態様では、前記画像は、インターネットを利用して売買される商品を示す商品画像であり、前記オブジェクトは、前記商品画像に示された前記商品であり、前記画像取得手段は、前記インターネットを介してアップロードされた前記商品画像を取得し、前記前景領域は、前記商品画像のうち、前記商品が示された領域であり、前記画像処理装置は、前記商品画像から抽出された前記前景領域に基づいて、前記商品の検索情報を取得する検索情報取得手段、を更に含むことを特徴とする。
本発明によれば、ユーザの手間を省きつつ、前景領域の抽出精度を高めることが可能になる。
[1.画像処理装置のハードウェア構成]
以下、本発明に関わる画像処理装置の実施形態の例を説明する。図1は、画像処理装置のハードウェア構成を示す図である。画像処理装置10は、画像処理を実行可能なコンピュータであり、例えば、サーバコンピュータ、パーソナルコンピュータ、又は携帯端末(スマートフォンやタブレット型コンピュータを含む)等である。図1に示すように、画像処理装置10は、制御部11、記憶部12、通信部13、操作部14、及び表示部15を含む。
以下、本発明に関わる画像処理装置の実施形態の例を説明する。図1は、画像処理装置のハードウェア構成を示す図である。画像処理装置10は、画像処理を実行可能なコンピュータであり、例えば、サーバコンピュータ、パーソナルコンピュータ、又は携帯端末(スマートフォンやタブレット型コンピュータを含む)等である。図1に示すように、画像処理装置10は、制御部11、記憶部12、通信部13、操作部14、及び表示部15を含む。
制御部11は、少なくとも一つのマイクロプロセッサを含む。制御部11は、記憶部12に記憶されたプログラムやデータに従って処理を実行する。記憶部12は、主記憶部及び補助記憶部を含む。例えば、主記憶部はRAMなどの揮発性メモリであり、補助記憶部は、ROM、EEPROM、フラッシュメモリ、又はハードディスクなどの不揮発性メモリである。通信部13は、有線通信又は無線通信用の通信インタフェースであり、ネットワークを介してデータ通信を行う。操作部14は、入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイス、キーボード、又はボタン等である。操作部14は、ユーザによる操作内容を制御部11に伝達する。表示部15は、例えば、液晶表示部又は有機EL表示部等である。表示部15は、制御部11の指示に従って画面を表示する。
なお、記憶部12に記憶されるものとして説明するプログラム及びデータは、ネットワークを介して供給されるようにしてもよい。また、画像処理装置10のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)や外部機器とデータの入出力をするための入出力部(例えば、USBポート)が含まれていてもよい。例えば、情報記憶媒体に記憶されたプログラムやデータが読取部や入出力部を介して、画像処理装置10に供給されるようにしてもよい。
本実施形態の画像処理装置10は、インターネットを介して売買される商品の検索用の情報(例えば、色や模様など)を取得するために、商品画像の中から、商品が撮影された前景領域を抽出する。先述したように、Grabcutを利用すれば精度の高い前景領域を抽出できるが、この場合は、商品画像の中から、商品部分を手動で指定する必要があるので、ユーザの手間がかかってしまう。
この点、例えば、商品部分は、ピントが合ってはっきりと撮影されていたり、背景よりも複雑な模様を含んだりすることが多く、バウンディングボックスが何重にも重なる傾向がある。本実施形態では、この傾向に着目し、画像処理装置10は、バウンディングボックスが何重にも重なる領域を商品部分として推定し、当該領域に対してGrabcutを実行することで、ユーザが商品部分を指定しなくても、精度の高い前景領域を抽出できるようにしている。以降、この技術の詳細を説明する。
[2.画像処理装置において実現される機能]
図2は、画像処理装置10で実現される機能の一例を示す機能ブロック図である。図2に示すように、画像処理装置10では、データ記憶部100、画像取得部101、要素領域設定部102、重畳領域特定部103、前景領域抽出部104、及び検索情報取得部105が実現される。
図2は、画像処理装置10で実現される機能の一例を示す機能ブロック図である。図2に示すように、画像処理装置10では、データ記憶部100、画像取得部101、要素領域設定部102、重畳領域特定部103、前景領域抽出部104、及び検索情報取得部105が実現される。
[2-1.データ記憶部]
データ記憶部100は、記憶部12を主として実現される。データ記憶部100は、背景とオブジェクトとを含む画像を記憶する。画像は、現実空間をカメラで撮影した撮影画像であってもよいし、コンピュータグラフィックス(以降、単にCGと記載する。)であってもよい。例えば、画像は、カメラで商品を撮影した撮影画像であってもよいし、当該撮影画像をグラフィックソフトで加工して作成したCG(例えば、撮影画像に対し、商品の単価や送料を示す文字列を追加したCG)であってもよいし、撮影画像を利用せずにグラフィックソフトで全て描画したCGであってもよい。
データ記憶部100は、記憶部12を主として実現される。データ記憶部100は、背景とオブジェクトとを含む画像を記憶する。画像は、現実空間をカメラで撮影した撮影画像であってもよいし、コンピュータグラフィックス(以降、単にCGと記載する。)であってもよい。例えば、画像は、カメラで商品を撮影した撮影画像であってもよいし、当該撮影画像をグラフィックソフトで加工して作成したCG(例えば、撮影画像に対し、商品の単価や送料を示す文字列を追加したCG)であってもよいし、撮影画像を利用せずにグラフィックソフトで全て描画したCGであってもよい。
画像は、種々のデータ形式で記憶されていてよく、例えば、BMP形式、JPEG形式、PNG形式、又はGIF形式であってよい。更に、画像の色数は、任意であってよく、例えば、カラー画像であってもよいし、グレースケール画像であってもよい。カラー画像やグレースケール画像のビット数も任意であってよく、例えば、24ビットのRGB画像であってもよいし、8ビットのグレースケール画像であってもよい。
背景は、例えば、オブジェクトの周囲の画像部分であり、オブジェクトの背後の様子(景色)である。カメラで撮影した画像であれば、例えば、背景は、オブジェクトよりもカメラから遠い被写体であり、オブジェクトの背後にある被写体である。別の言い方をすれば、背景は、その一部がオブジェクトによって隠れる被写体である。CGであれば、例えば、背景は、オブジェクトよりも視点(仮想カメラ)から遠い3Dモデル又は2Dモデルであってもよいし、オブジェクトのレイヤよりも下層のレイヤに描かれた画像であってもよい。
オブジェクトは、例えば、周囲を背景で囲まれた画像部分であり、背景よりも手前側(視点側)にある前景である。カメラで撮影した画像であれば、例えば、オブジェクトは、背景よりもカメラに近い被写体であり、背景の前にある被写体である。別の言い方をすれば、オブジェクトは、背景の一部を隠す被写体である。CGであれば、例えば、オブジェクトは、背景よりも視点に近い3Dモデル又は2Dモデルであってもよいし、背景のレイヤよりも上層のレイヤに描かれた画像であってもよい。
図3は、画像の一例を示す図である。図3に示すように、本実施形態では、画像G1の一例として、インターネットを利用して売買される商品を示す商品画像を説明する。例えば、商品は、オンラインショッピングモール、フリーマーケットアプリ、又はインターネットオークションなどを利用して売買される。
また、本実施形態では、オブジェクトの一例として、商品画像に示された商品である場合を説明する。図3の例では、オブジェクトは、商品の洋服であり、背景は、商品を着たモデルの背後にある空間(例えば、窓やドアなど)である。なお、机や床などの平面にオブジェクトを置く場合には、背景は、机や床などの平面となる。
画像G1は、背景とオブジェクトだけから構成されてもよいし、それ以外の部分を含んでよい。図3の例では、画像G1は、背景とオブジェクト以外の部分を含み、例えば、商品に関する情報(例えば、商品の素材を示す「KNIT」の文字列)と、関連する他の商品に関する情報(例えば、色違いの他の商品の画像)と、を含む。他にも例えば、画像G1は、商品の価格や送料など、種々の情報を含むことが可能である。
本実施形態では、画像G1は、商品の売り手側が用意するものとする。例えば、店舗や出品者は、商品を撮影したり、グラフィックソフトを使用したりして、画像G1を用意してアップロードする。データ記憶部100は、当該アップロードされた画像G1を記憶することになる。
なお、データ記憶部100に記憶されるデータは、上記の例に限られない。データ記憶部100は、画像G1から前景領域を抽出するために必要なデータを記憶すればよく、例えば、データ記憶部100は、後述する重畳領域を特定するための判定用画像や閾値を記憶してもよいし、後述する検索情報取得部105が取得した商品の検索情報を記憶してもよい。
[2-2.画像取得部]
画像取得部101は、制御部11を主として実現される。画像取得部101は、背景とオブジェクトとを含む画像G1を取得する。本実施形態では、画像G1は、インターネットを利用して売買される商品を示す商品画像なので、画像取得部101は、インターネットを介してアップロードされた画像G1を取得することになる。
画像取得部101は、制御部11を主として実現される。画像取得部101は、背景とオブジェクトとを含む画像G1を取得する。本実施形態では、画像G1は、インターネットを利用して売買される商品を示す商品画像なので、画像取得部101は、インターネットを介してアップロードされた画像G1を取得することになる。
本実施形態では、データ記憶部100が画像G1を記憶しているので、画像取得部101は、データ記憶部100に記憶された画像G1を取得する。なお、画像処理装置10がカメラと接続されている場合には、画像取得部101は、カメラから直接的に画像G1を取得してもよい。また例えば、画像G1がフラッシュメモリなどの情報記憶媒体やデータベースサーバに記憶されている場合には、画像取得部101は、情報記憶媒体やデータベースサーバから画像G1を取得するようにしてもよい。
[2-3.要素領域設定部]
要素領域設定部102は、制御部11を主として実現される。要素領域設定部102は、画像G1に対し、画像G1内の複数の要素にそれぞれ対応する複数の要素領域を設定する。
要素領域設定部102は、制御部11を主として実現される。要素領域設定部102は、画像G1に対し、画像G1内の複数の要素にそれぞれ対応する複数の要素領域を設定する。
要素は、例えば、画像に含まれる個々の構成要素であり、オブジェクトや背景の構成要素である。別の言い方をすれば、要素は、物体の基本形状を学習させた学習データに基づいて特定可能な物体である。
例えば、オブジェクトが人、マネキン、動物、又は架空のキャラクタなどであれば、体に含まれる個々の部位(例えば、目、鼻、口など)が要素に相当する。また例えば、オブジェクトが商品であれば、商品を構成するパーツ、商品表面の模様や文字列、パッケージやラベルの模様や文字列などが要素に相当する。例えば、商品が衣服であれば、衣服の袖や裾、縫い目、しわ、模様、又はロゴなどが要素に相当する。また例えば、商品が電化製品であれば、電化製品に含まれる部品、電化製品の表面の模様、又はロゴなどが要素に相当する。また例えば、商品が食料品であれば、食料品のパッケージやラベルの模様や文字列、又は、食料品の表面の模様などが要素に相当する。また例えば、画像G1がCGであれば、グラフィックソフトで入力された文字列や模様などが要素に相当する。
要素領域は、例えば、要素の一部又は全部を含む領域である。本実施形態では、要素領域がバウンディングボックスである場合を説明する。このため、要素領域は、要素の外接矩形である場合を説明する。なお、要素領域は、外接矩形でなくてもよく、要素の周囲の余白を含む四角形であってもよい。また、要素領域の形状は、任意の形状であってよく、例えば、四角形以外の多角形であってもよいし、円形又は楕円形であってもよい。要素領域設定部102は、画像G1から検出した各要素の一部又は全部を含むように要素領域を決定すればよい。
なお、要素領域の設定方法自体は、公知の種々の方法を適用可能であり、例えば、「BING: Binarized Normed Gradients for Objectness Estimation at 300fps」(http://mmcheng.net/mftp/Papers/ObjectnessBING.pdf)に記載された手法を用いてもよいし、「Selective Search for Object Recognition」(https://ivi.fnwi.uva.nl/isis/publications/bibtexbrowser.php?key=UijlingsIJCV2013&bib=all.bib)に記載された手法を用いてもよい。例えば、物体の基本形状を学習させた学習データをデータ記憶部100に予め記憶させておき、要素領域設定部102は、画像G1の中から、要素の基本形状と類似する形状を検出し、当該形状の外接矩形を要素領域としてもよい。形状の類否は、パターンマッチング法などの種々の手法を適用可能である。
図4は、画像G1に設定された要素領域の一例を示す図である。図4に示すように、要素領域設定部102は、画像G1から検出した各要素のバウンディングボックスを要素領域EAとして設定する。なお、ここでは、図面の簡略化のために、要素領域EAの数を少なく表現している。例えば、図4では、要素領域EA1~EA21の21個のみを示しているが、実際には、数百個単位、数千個単位、又はそれ以上の要素領域EAが設定されるようにしてもよい。
例えば、要素領域EA1は、商品を着たモデルの顔全体が要素として検出された領域である。また例えば、要素領域EA2~EA5は、それぞれ、右目、左目、鼻、口が要素として検出された領域である。また例えば、要素領域EA6~EA12は、オブジェクトである洋服が要素として検出された領域であり、例えば、洋服全体、首回り部分、胴体部分、右腕の袖部分、しわ部分などである。また例えば、要素領域EA13~EA21は、商品の説明文や色違いの商品が要素として検出された領域である。
図4に示すように、画像G1のうち、オブジェクト部分(商品である洋服の撮影部分)は、要素領域EA6~EA12が互いに重なるように設定され、それ以外の部分は、要素領域EAは重なっていない。例えば、画像G1内の文字は、当該文字全体が1つの要素として検出されるので、要素領域EA13~EA18は、重なっていない。また例えば、画像G1内の色違いの商品は、小さく撮影されて詳細が表れず、色違いの商品全体が1つの要素として検出されたので、要素領域EA19~EA21は、重なっていない。
[2-4.重畳領域特定部]
重畳領域特定部103は、制御部11を主として実現される。重畳領域特定部103は、画像G1の中で、各要素領域EAの重なりの度合いが所定度合い以上である重畳領域を特定する。重なりの度合いとは、例えば、本実施形態のように、重畳領域を特定するために、どの要素領域EAも同じ重み付けとする場合には、要素領域EAが重複して設定された数(重複数)の多さである。また例えば、要素領域EAによって重み付けを変える場合には(例えば、後述する変形例(5)-(6))、要素領域EAの重み付けを元に計算される数値である。重畳領域は、連続した1つの領域であってもよいし、互いに離れた複数の領域であってもよい。例えば、重畳領域は、要素領域EAの重複数が所定数以上である画素からなる領域である。
重畳領域特定部103は、制御部11を主として実現される。重畳領域特定部103は、画像G1の中で、各要素領域EAの重なりの度合いが所定度合い以上である重畳領域を特定する。重なりの度合いとは、例えば、本実施形態のように、重畳領域を特定するために、どの要素領域EAも同じ重み付けとする場合には、要素領域EAが重複して設定された数(重複数)の多さである。また例えば、要素領域EAによって重み付けを変える場合には(例えば、後述する変形例(5)-(6))、要素領域EAの重み付けを元に計算される数値である。重畳領域は、連続した1つの領域であってもよいし、互いに離れた複数の領域であってもよい。例えば、重畳領域は、要素領域EAの重複数が所定数以上である画素からなる領域である。
例えば、画像G1の各画素には、重なりの度合いを示す数値が対応付けられている。この数値は、重なり度合いと相関関係のある数値であればよく、本実施形態では、数値が大きいことが、重なり度合いが大きいことを意味する場合を説明するが、これとは逆に、数値が小さいことが、重なり度合が大きいことを意味してもよい。例えば、画像G1と同じ大きさの判定用画像の対応画素の明度を、重なり度合を示す数値として説明する。明度は、色の明るさ情報であり、画素値又は輝度とも呼ばれるものである。対応画素は、位置(座標)が同じ画素である。
ここでは、nビットのグレースケール画像の明度を利用する場合を一例として説明する。例えば、各画素の明度は、0~2n-1の整数で示される。ここでは、0が黒であり、2n-1が白であり、その間の値は中間色(グレー)とする。なお、以降では、画像を区別するために、前景領域の抽出対象となる画像(図3)を元画像G1と記載し、当該画像と同じ大きさであり明度を変える判定用画像(図5)を判定用画像G2と記載する。
図5は、判定用画像G2の一例を示す図である。図5に示すように、判定用画像G2は、縦横のピクセル数が元画像G1と同じである。判定用画像G2は、初期値として、任意の明度が設定されており、ここでは、明度の初期値が0(黒)の場合を説明する。なお、明度の初期値は、2n-1(白)であってもよいし、1以上2n-1未満の値(中間色)であってもよい。
重畳領域特定部103は、各要素領域EAに基づいて、判定用画像G2の明度を変化させる。例えば、重畳領域特定部103は、各画素が各要素領域EAに含まれるか否かの判定結果に基づいて、判定用画像G2の明度を計算し、その明度が閾値以上であるか否かの判定結果に基づいて、重畳領域を特定する。別の言い方をすれば、重畳領域特定部103は、要素領域EAごとに、当該要素領域EAに含まれる画素の特定結果に基づいて、判定用画像G2の明度を計算する。
重畳領域特定部103は、要素領域EA内の明度を変化させてもよいし、要素領域EA外の明度を変化させてもよい。即ち、重畳領域特定部103は、要素領域EA内又は要素領域EA外の何れか一方の明度を変化させればよい。別の言い方をすれば、重畳領域特定部103は、要素領域EAに含まれる画素の明度を変化させてもよいし、要素領域EAに含まれない画素の明度を変化させてもよい。本実施形態では、重畳領域特定部103は、要素領域EA内の明度を変化させる場合を一例として説明する。
また、重畳領域特定部103は、明度を増加させてもよいし減少させてもよい。明度を増加させるか減少させるかは、例えば、判定用画像G2の明度の初期値によって決めればよく、初期値が低ければ明度を増加させ、初期値が高ければ明度を減少させるようにしてよい。本実施形態では、明度の初期値が0なので、重畳領域特定部103は、明度を増加させる場合を一例として説明する。
図6は、明度が変化した判定用画像G2の一例を示す図である。図6では、各画素の明度を網点の濃さ(密度)で表現しており、網点が濃いほど明度が低く、網点が薄いほど明度が高いことを意味している。例えば、重畳領域特定部103は、要素領域EAごとに、当該要素領域EAに含まれる画素を特定し、当該画素の明度を増加させる。明度の増加量は、任意であってよく、ここでは1とするが、2以上であってもよい。本実施形態では、要素領域EA内の明度が増加するので、図6に示すように、要素領域EAが何重にも重なっている部分は、明度が高くなり白みを帯びる。一方、要素領域EAが重なっていない部分は、明度が低いままとなり黒味を帯びる。
例えば、重畳領域特定部103は、各画素の明度が閾値以上であるか否かの判定結果に基づいて、重畳領域を特定する。閾値は、データ記憶部100に予め記憶されており、本実施形態では固定値として説明するが、ユーザの入力に応じて変更されてもよいし、後述する変形例のように、元画像G1に応じた値が設定されてもよい。
本実施形態では、明度が高いことは、要素領域EAの重なり度合が大きいことを意味するので、重畳領域特定部103は、判定用画像G2の各画素の明度が閾値以上の画素からなる領域を、重畳領域として特定する。例えば、重畳領域特定部103は、各画素の明度と閾値との比較結果に基づいて、判定用画像G2を2値化して、重畳領域を特定する。
図7は、2値化された判定用画像G2の一例を示す図である。図7に示すように重畳領域特定部103は、明度が閾値以上の画素を白画素とし、明度が閾値未満の画素を黒画素とする。2値化された判定用画像G2は、グレースケール形式のままでもよいが、中間色がなくなるので、モノクロ形式に変換してもよい。例えば、重畳領域特定部103は、判定用画像G2のうち白画素が連続する領域を、重畳領域OAとして特定する。
[2-5.前景領域抽出部]
前景領域抽出部104は、制御部11を主として実現される。前景領域抽出部104は、重畳領域OAに基づいて、元画像G1から、オブジェクトに対応する前景領域を抽出する。前景領域は、オブジェクトの一部又は全部を含む領域であり、重畳領域OAをそのまま前景領域としてもよいが、本実施形態では、前景領域抽出部104は、重畳領域OAに基づいて、元画像G1に対し、前景と背景を分離する分離処理を実行することによって、前景領域を抽出する場合を説明する。
前景領域抽出部104は、制御部11を主として実現される。前景領域抽出部104は、重畳領域OAに基づいて、元画像G1から、オブジェクトに対応する前景領域を抽出する。前景領域は、オブジェクトの一部又は全部を含む領域であり、重畳領域OAをそのまま前景領域としてもよいが、本実施形態では、前景領域抽出部104は、重畳領域OAに基づいて、元画像G1に対し、前景と背景を分離する分離処理を実行することによって、前景領域を抽出する場合を説明する。
図8は、前景領域の一例を示す図である。図8に示すように、本実施形態では、元画像G1が商品画像なので、前景領域FAは、商品画像のうち、商品が撮影された領域となる。例えば、前景領域抽出部104は、重畳領域OAをオブジェクト部分として指定し、Grabcutを実行することによって、前景領域FAを抽出する。Grabcutは、Graphcutを繰り返すことで前景領域FAを抽出する手法である。
なお、本実施形態では、分離処理の一例としてGrabcutを説明するが、分離処理自体は、背景と前景を分離するため処理であればよく、公知の種々の処理を適用可能である。例えば、分離処理としては、ScribbleSup法(https://arxiv.org/abs/1604.05144)を利用してもよいし、Lazy Snapping法(http://home.cse.ust.hk/~cktang/sample_pub/lazy_snapping.pdf)を利用してもよい。また例えば、分離処理としては、背景差分法を利用してもよいし、Graphcutを利用してもよい。
[2-6.検索情報取得部]
検索情報取得部105は、制御部11を主として実現される。検索情報取得部105は、元画像G1から抽出された前景領域FAに基づいて、商品の検索情報を取得する。検索情報は、商品の検索で利用可能な情報であり、商品の特徴又は属性を示す情報といえる。例えば、検索情報は、商品の色・模様・形状・種類(ジャンル又はカテゴリ)・サイズなどである。
検索情報取得部105は、制御部11を主として実現される。検索情報取得部105は、元画像G1から抽出された前景領域FAに基づいて、商品の検索情報を取得する。検索情報は、商品の検索で利用可能な情報であり、商品の特徴又は属性を示す情報といえる。例えば、検索情報は、商品の色・模様・形状・種類(ジャンル又はカテゴリ)・サイズなどである。
検索情報取得部105は、前景領域FAを画像解析することによって、商品の検索情報を取得する。例えば、検索情報として色を用いるのであれば、検索情報取得部105は、前景領域FAのヒストグラムを生成し、各階調の頻度を検索情報としてもよいし、最も頻度の高い色又は頻度が閾値以上の色を検索情報として取得してもよい。他にも例えば、検索情報取得部105は、前景領域FA内の色の平均値を検索情報として取得してもよいし、前景領域FA内の所定箇所(例えば、中央又は中央付近の画素)の色を検索情報として取得してもよい。
また例えば、検索情報として模様を用いるのであれば、種々の模様パターンをデータ記憶部100に記憶させておき、検索情報取得部105は、前景領域FAに対してパターンマッチングをして、類似する模様パターンを検索情報として取得する。また例えば、検索情報として形状を用いるのであれば、種々の形状パターンをデータ記憶部100に記憶させておき、検索情報取得部105は、前景領域FAに対してパターンマッチングをして、類似する形状パターンを検索情報として取得する。
また例えば、検索情報として商品の種類(ジャンル又はカテゴリ)を用いるのであれば、商品の種類ごとに形状パターンをデータ記憶部100に記憶させておき、検索情報取得部105は、前景領域FAに対してパターンマッチングをして、類似する形状パターンに対応する商品の種類を検索情報として取得する。また例えば、検索情報としてサイズを用いるのであれば、サイズごとに形状パターンをデータ記憶部100に記憶させておき、検索情報取得部105は、前景領域FAに対してパターンマッチングを実行して、類似する形状パターンに対応するサイズを検索情報として取得する。
[3.本実施形態において実行される処理]
図9は、画像処理装置10において実行される処理の一例を示すフロー図である。図9に示す処理は、制御部11が、記憶部12に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図2に示す機能ブロックにより実行される処理の一例である。
図9は、画像処理装置10において実行される処理の一例を示すフロー図である。図9に示す処理は、制御部11が、記憶部12に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図2に示す機能ブロックにより実行される処理の一例である。
図9に示すように、まず、制御部11は、記憶部12に記憶された元画像G1を取得する(S1)。処理対象となる元画像G1は、ユーザが指定してもよいし、記憶部12に記憶された元画像G1のうち、まだ前景領域FAを抽出していない元画像G1の全部又は一部であってもよい。制御部11は、元画像G1内の要素を検出し、各要素に対応する要素領域EAを設定する(S2)。S2においては、制御部11は、元画像G1から検出した要素を囲むバウンディングボックスを、要素領域EAとして設定する。
制御部11は、元画像G1と同じサイズの判定用画像G2を用意して、各要素領域EA内の各画素の明度を上げる(S3)。S3においては、制御部11は、要素領域EAごとに、当該要素領域EA内の各画素の明度を増加させる。制御部11は、S2で検出した全ての要素領域EAについて同様の処理を実行し、判定用画像G2の明度を上げる。制御部11は、S3で明度を上げた判定用画像G2を2値化する(S4)。S4においては、制御部11は、閾値以上の明度の画素を白画素とし、閾値未満の明度の画素を黒画素とする。
制御部11は、S4で2値化した判定用画像G2の白画素の領域を重畳領域OAとして特定する(S5)。制御部11は、S5で特定した重畳領域OAに基づいて、元画像G1に対し、Grabcutを実行することによって、元画像G1から前景領域FAを抽出する(S6)。S6においては、制御部11は、オブジェクト部分として重畳領域OAが指定されたものとして、Grabcutを実行することになる。
制御部11は、S6で抽出した前景領域FAから検索情報を抽出する(S7)。S7においては、制御部11は、前景領域FAを画像解析することによって、検索情報を抽出する。制御部11は、元画像G1と、S7で抽出した検索情報と、を関連付けて記憶部12に記録し(S8)、本処理は終了する。
以上説明した画像処理装置10によれば、要素領域EAの重なりの度合いが高い重畳領域OAに基づいて、元画像G1から前景領域FAを抽出することによって、前景領域FAの抽出処理を自動化できるので、ユーザの手間を省くことができる。更に、オブジェクトの輪郭に近い前景領域FAを抽出することができるので、前景領域FAの抽出精度を高めることができる。
また、画像処理装置10は、重畳領域OAに対し、Grabcutなどの分離処理を実行することによって、ユーザがオブジェクト部分を指定しなくても分離処理を実行することができ、精度の高い前景領域FAを抽出する場合のユーザの手間を省くことができる。
また、画像処理装置10は、要素領域EAの重なりの度合いを示す数値を利用して重畳領域OAを特定することによって、重畳領域OAの特定処理を単純化することができるので、画像処理装置10の処理負荷を軽減し、前景領域FAを迅速に抽出することができる。
また、画像処理装置10は、元画像G1と同じ大きさの判定用画像G2の明度を利用して重畳領域OAを特定することによって、重畳領域OAの特定処理を単純化することができるので、画像処理装置10の処理負荷を軽減し、前景領域FAを迅速に抽出することができる。
また、商品の検索情報を手動で入力する場合には、間違った検索情報が商品に付与されたり、検索情報としてふさわしくないものが商品に付与されたりする可能性があるが、画像処理装置10は、元画像G1の前景領域FAを解析することによって検索情報を取得するので、検索情報の精度を高めることができ、信頼性の高い商品検索が可能になる。
[4.変形例]
なお、本発明は、以上に説明した実施形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
なお、本発明は、以上に説明した実施形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
(1)例えば、実施形態では、判定用画像G2の各画素の明度と比較する閾値を固定値として説明したが、閾値は可変値であってもよい。即ち、判定用画像G2を2値化する際の基準となる明度の閾値は、固定値ではなく、可変値であってもよい。
図10は、変形例(1)の機能ブロック図である。図10に示すように、本変形例では、実施形態で説明した各機能の他に、閾値設定部106が実現される。閾値設定部106は、制御部11を主として実現される。閾値設定部106は、元画像G1に応じた閾値を設定する。元画像G1に応じた閾値とは、元画像G1の特徴に応じた閾値である。元画像G1の特徴とは、例えば、色的な特徴や形状的な特徴である。また、閾値を設定するとは、元画像G1に応じた数値になるように、閾値を変更することである。
元画像G1の特徴と閾値との関係を示すデータは、予めデータ記憶部100に記憶されているものとする。この情報は、数式形式又はテーブル形式であってもよいし、プログラムコードの一部として記述されていてもよい。閾値設定部106は、元画像G1の特徴に関連付けられた閾値を設定することになる。
例えば、元画像G1の特徴は、元画像G1に関連付けられた付帯情報に示されていてもよい。付帯情報としては、変形例(3)の属性情報以外にも、例えば、元画像G1のサイズであってもよい。例えば、元画像G1のサイズが大きいほど、多くの被写体が写りこみ、多くの要素領域EAが検出される可能性がある。このため、重畳領域OAの検出条件を厳しくしなければ、重畳領域OAに多くの背景が含まれてしまい、前景領域FAの精度が低くなる可能性がある。そこで、例えば、閾値設定部106は、元画像G1のサイズが大きいほど、重畳領域OAの検出条件が厳しくなるように、閾値を設定してもよい。
なお、実施形態のように、明度が高い画素を重畳領域OAとする場合には、閾値を上げることが重畳領域OAの検出条件を厳しくすることに相当し、後述する変形例(7)のように、明度が低い画素を重畳領域OAとする場合には、閾値を下げることが重畳領域OAの検出条件を厳しくすることに相当する。この点は、以降の説明でも同様である。
また例えば、元画像G1の特徴を示す付帯情報は、元画像G1の解像度であってもよい。例えば、元画像G1の解像度が高いほど、被写体がはっきりと写りこみ、より多くの要素領域EAが検出される可能性がある。このため、重畳領域OAの検出条件を厳しくしなければ、重畳領域OAに多くの背景が含まれてしまい、前景領域FAの精度が低くなる可能性がある。そこで、例えば、閾値設定部106は、元画像G1の解像度が高いほど、重畳領域OAの検出条件が厳しくなるように、閾値を設定してもよい。
また例えば、元画像G1の特徴は、付帯情報ではなく、元画像G1を解析することによって得られてもよい。解析方法としては、変形例(4)のヒストグラムの解析以外にも、例えば、要素領域EAの数を利用してもよい。例えば、元画像G1から検出された要素領域EAの総数が多いほど、オブジェクトだけではなく、背景にもピントがあっている可能性がある。このため、重畳領域OAの検出条件を厳しくしなければ、重畳領域OAに多くの背景が含まれてしまい、前景領域FAの精度が低くなる可能性がある。そこで、例えば、閾値設定部106は、要素領域EAの総数が多いほど、重畳領域OAの検出条件が厳しくなるように、閾値を設定してもよい。
また例えば、要素領域EAが、元画像G1の中央付近だけではなく、端部付近にも散らばっている場合、中央付近のオブジェクトでなく、端部付近の背景にピントがあっている可能性がある。このため、重畳領域OAの検出条件を厳しくしなければ、重畳領域OAに多くの背景が含まれてしまい、前景領域FAの精度が低くなる可能性がある。そこで、例えば、閾値設定部106は、要素領域EAが端部付近に存在する場合に、重畳領域OAの検出条件が厳しくなるように、閾値を設定してもよい。
なお、元画像G1の特徴と閾値との関係は、上記説明した例に限られない。閾値設定部106は、元画像G1の特徴に応じた閾値を設定すればよく、他にも例えば、元画像G1のデータ形式やデータ量に応じた閾値を設定してもよいし、元画像G1から検出された要素領域EAのサイズに応じた閾値を設定してもよい。
重畳領域特定部103は、各画素の明度が、閾値設定部106により設定された閾値以上であるか否かを判定する。即ち、重畳領域特定部103は、閾値設定部106により閾値が変更された場合に、変更後の閾値に基づいて、判定処理を実行する。重畳領域特定部103の判定処理の詳細は、実施形態で説明した通りである。
変形例(1)によれば、元画像G1に応じた閾値に基づいて重畳領域OAが抽出されるので、前景領域FAの精度を高めることができる。
(2)また例えば、閾値設定部106が閾値を変化させると、重畳領域OAの検出条件が変わるので、重畳領域OAの輪郭も変化する。例えば、重畳領域OAの検出条件が厳しくなるように閾値が変化すると、重畳領域OAは小さくなり、その輪郭は、オブジェクトの輪郭に似ることがある。一方、重畳領域OAの検出条件が甘くなるように閾値が変化すると、重畳領域OAは大きくなり、その輪郭は、オブジェクトの輪郭に似なくなることがある。このため、閾値設定部106は、重畳領域OAの輪郭からオブジェクトの形状が認識されるまで、閾値を繰り返し変化させてもよい。
重畳領域特定部103は、判定用画像G2の各画素の明度が、閾値設定部106により設定された閾値以上であるか否かの判定結果に基づいて、仮の重畳領域OAを特定する。仮の重畳領域OAの特定方法は、実施形態で説明した重畳領域OAの特定方法と同じである。ただし、変形例(2)では、重畳領域特定部103は、オブジェクトの形状が認識されるまでは、仮の重畳領域OAを、重畳領域OAとしては特定しない。
重畳領域特定部103は、オブジェクトの基本形状を示す学習データに基づいて、当該仮の重畳領域OAの形状と基本形状との類似度が所定値以上であるかを判定する。当該学習データは、オブジェクトの輪郭の基本形状を学習させたデータであり、予めデータ記憶部100に記憶されているものとする。例えば、重畳領域特定部103は、当該学習データに基づいて、仮の重畳領域OAの形状と、オブジェクトの基本形状と、の類似度を取得し、当該類似度が所定値以上であるかを判定する。類似度の取得方法自体は、公知のパターンマッチング法などを利用すればよい。類似度は、形状の類似度合い(一致具合)を示す数値であり、類似度が高いほど形状的に似ていることを意味する。本変形例では、類似度が所定値以上である場合に、仮の重畳領域OAの形状と、オブジェクトの基本形状と、が類似することになる。
閾値設定部106は、類似度が所定値以上であると判定されるまで、閾値を繰り返し変化させ類似度を判定する。閾値設定部106は、閾値を上げてもよいし、閾値を下げてもよい。例えば、閾値が低すぎると、仮の重畳領域OAが大きくなりすぎて、オブジェクトの基本形状と似なくなるので、閾値を上げてもよい。また例えば、閾値が高すぎると、仮の重畳領域OAが小さくなりすぎて、この場合もオブジェクトの基本形状と似なくなるので、閾値を下げてもよい。即ち、閾値設定部106は、仮の重畳領域OAの形状が、尤もらしくなるまで閾値を変化させる。
なお、閾値の変化量は、固定値であってもよいし、ランダムに決まってもよいし、仮の重畳領域OAの形状と基本形状との類似度によって決まってもよい。例えば、閾値設定部106は、現状の類似度が低ければ、閾値の変化量を大きくしてもよいし、現状の類似度がそれなりに高ければ、閾値の変化量を小さくしてもよい。
重畳領域特定部103は、閾値設定部106が変化させた閾値に基づいて、再び、オブジェクトの基本形状との類否判定を行う。重畳領域特定部103は、基本形状と類似すると判定された場合の仮の重畳領域OAを、重畳領域OAとして特定する。即ち、仮の重畳領域OAの形状と基本形状とが類似すると判定されるまで、閾値設定部106による閾値の変化と、重畳領域特定部103による仮の重畳領域OAの特定及び基本形状との類否判定と、が繰り返され、類似する場合に、重畳領域OAが確定することになる。
変形例(2)によれば、オブジェクトの形状に近い重畳領域OAに基づいて前景領域FAを抽出し、重畳領域OAにおけるオブジェクトの割合が高まる(重畳領域OAにおける背景の割合が低くなる)ので、前景領域FAの精度を高めることができる。
(3)また例えば、元画像G1に、オブジェクトの属性を示す属性情報が対応付けられている場合には、閾値設定部106は、元画像G1の属性情報に応じた閾値を設定するようにしてもよい。属性情報は、オブジェクトが何であるかを示す情報である。別の言い方をすれば、属性情報は、オブジェクトの分類であり、例えば、オブジェクトの種類(例えば、商品のジャンル・カテゴリ)である。
変形例(3)のデータ記憶部100は、元画像G1と属性情報とを関連付けて記憶する。ここでは、オブジェクトが商品である場合を説明するので、属性情報は、商品の売り手側が指定し、元画像G1とともにアップロードされるものとする。なお、属性情報は、売り手側以外のユーザが指定してもよく、例えば、オンラインショッピングモールの管理者が指定してもよい。
属性情報と閾値との関係を示す情報は、データ記憶部100に記憶されていてよい。この情報は、数式形式又はテーブル形式であってもよいし、プログラムコードの一部として記述されていてもよい。閾値設定部106は、元画像G1の属性情報に関連付けられた閾値を設定することになる。
例えば、家具や車などのように、大きいオブジェクトであれば、全体が収まるように、オブジェクトを遠くから撮影することが多く、元画像G1には、多くの背景が撮影されることがある。このため、重畳領域OAの検出条件を厳しくしなければ、重畳領域OAに多くの背景が含まれてしまい、前景領域FAの精度が低くなる可能性がある。そこで、例えば、閾値設定部106は、オブジェクトの属性情報が所定の値(大きいオブジェクトに分類される値)を示していれば、重畳領域OAの検出条件が厳しくなるように、閾値を設定してもよい。
また例えば、模様がない無地の商品などのように、外観の特徴が少なく、要素が検出されにくいオブジェクトであれば、元画像G1から検出される要素領域EAが少ないことがある。このような場合に、重畳領域OAの検出条件を厳しくすると、重畳領域OAが全く検出されない可能性がある。そこで、例えば、閾値設定部106は、オブジェクトの属性情報が所定の値(外観の特徴が少ないオブジェクトに分類される値)を示していれば、重畳領域OAの検出条件が甘くなるように、閾値を設定してもよい。
変形例(3)によれば、オブジェクトの属性に応じた閾値に基づいて重畳領域OAが抽出され、重畳領域OAにおけるオブジェクトの割合を高めたり、重畳領域OAを検出しやすくしたりすることができるので、前景領域FAの精度を高めることができる。
(4)また例えば、閾値設定部106は、元画像G1のヒストグラムに応じた閾値を設定するようにしてもよい。ヒストグラムは、元画像G1の階調ごとに、当該階調の頻度(画素数)を示す情報である。なお、階調は、先述した明度・画素値・輝度とも呼ばれるものである。閾値設定部106は、元画像G1のヒストグラムの特徴に応じた閾値を設定する。ヒストグラムの特徴とは、各階調の頻度の特徴であり、例えば、各階調に万遍なく頻度が分散しているか(たくさんの色が存在するか)、特定の階調に頻度が集中しているかなどである。
ヒストグラムの特徴と閾値との関係を示す情報は、データ記憶部100に記憶されていてよい。この情報は、数式形式又はテーブル形式であってもよいし、プログラムコードの一部として記述されていてもよい。閾値設定部106は、元画像G1のヒストグラムの特徴に関連付けられた閾値を設定することになる。
例えば、元画像G1のヒストグラムが、各階調に万遍なく頻度が分散している場合は、元画像G1は、色のばらつきが多く、多くの色を含んでいることになる。このような元画像G1は、要素が検出されやすいので、重畳領域OAの検出条件を厳しくしなければ、重畳領域OAに多くの背景が含まれてしまい、前景領域FAの精度が低くなる可能性がある。そこで、例えば、閾値設定部106は、ヒストグラムが示す色のばらつきが大きいほど、重畳領域OAの検出条件が厳しくなるように、閾値を設定してもよい。
また例えば、元画像G1のヒストグラムが、特定の階調に頻度が集中する場合は、元画像G1は、色のばらつきが少なく、特定の色だけを含んでいることになる。このような元画像G1は、要素が検出されにくいので、重畳領域OAの検出条件を厳しくすると、重畳領域OAが全く検出されない可能性がある。そこで、例えば、閾値設定部106は、ヒストグラムが示す色のばらつきが小さいほど、重畳領域OAの検出条件が甘くなるように、閾値を設定してもよい。
変形例(4)によれば、元画像G1のヒストグラムに応じた閾値に基づいて重畳領域OAが抽出され、重畳領域OAにおけるオブジェクトの割合を高めたり、重畳領域OAを検出しやすくしたりすることができるので、前景領域FAの精度を高めることができる。
(5)また例えば、各要素領域EAの元画像G1内での位置も考慮したうえで、重畳領域OAを特定するようにしてもよい。例えば、オブジェクトは、元画像G1の中央付近に撮影されることが多いので、中央付近の要素領域EAの重み付けを高くするようにしてもよい。
本変形例の重畳領域特定部103は、各要素領域EAの元画像G1内での位置に基づいて各要素領域EAに重み付けをし、明度を計算する。要素領域EAの位置と重み付けとの関係を示す情報は、データ記憶部100に記憶されていてよい。この情報は、数式形式又はテーブル形式であってもよいし、プログラムコードの一部として記述されていてもよい。重畳領域特定部103は、要素領域EAの位置に関連付けられた重み付けに基づいて、判定用画像G2の明度を計算する。
例えば、元画像G1の中央付近にオブジェクトがあるものとみなす場合には、重畳領域特定部103は、要素領域EAが元画像G1の中央に近いほど、当該要素領域EAの重み付けを大きくし、要素領域EAが元画像G1の端部に近いほど、当該要素領域EAの重み付けを小さくする。
また例えば、元画像G1の中央付近に商品説明を記載し、元画像G1の両サイドに色違いの商品を配置することもある。即ち、元画像G1の端部付近にオブジェクトがある可能性もあるので、このような場合には、重畳領域特定部103は、要素領域EAが元画像G1の中央に近いほど、当該要素領域EAの重み付けを小さくし、要素領域EAが元画像G1の端部に近いほど、当該要素領域EAの重み付けを大きくしてもよい。
なお、要素領域EAの重み付けを大きくする位置は、元画像G1の中央や端部に限られない。予め定められた位置の重み付けを大きくすればよく、例えば、元画像G1の右半分にオブジェクトが存在することが多ければ、右半分の重み付けを大きくしてもよいし、元画像G1の左半分にオブジェクトが存在することが多ければ、左半分の重み付けを大きくしてもよい。元画像G1のどの位置の重み付けを大きくするかは、商品画像のレイアウトの流行を考慮して決めてもよいし、商品の種類(ジャンル・カテゴリ)によって決まってもよいし、元画像G1の種類(例えば、商品画像であるか、風景の撮影画像であるか等)によって決まってもよい。
変形例(5)によれば、要素領域EAの元画像G1内での位置も考慮したうえで重畳領域OAが特定されるので、重畳領域OAにおけるオブジェクトの割合を高めたり、重畳領域OAを検出しやすくしたりすることができるので、前景領域FAの精度を高めることができる。
(6)また例えば、各要素領域EAの大きさも考慮したうえで、重畳領域OAを特定するようにしてもよい。例えば、オブジェクトは元画像G1に大きく撮影されることが多いので、大きい要素領域EAの重み付けを大きくするようにしてもよい。
本変形例の重畳領域特定部103は、各要素領域EAの大きさに基づいて各要素領域EAに重み付けし、明度を計算する。要素領域EAの大きさと重み付けとの関係を示す情報は、データ記憶部100に記憶されていてよい。この情報は、数式形式又はテーブル形式であってもよいし、プログラムコードの一部として記述されていてもよい。重畳領域特定部103は、要素領域EAの大きさに関連付けられた重み付けに基づいて、判定用画像G2の明度を計算する。
例えば、商品画像のように、オブジェクトが大きいことが多い場合には、重畳領域特定部103は、要素領域EAが大きいほど、当該要素領域EAの重み付けを大きくし、要素領域EAが小さいほど、当該要素領域EAの重み付けを小さくするようにしてもよい。
また例えば、背景に山がある風景の中で撮影された記念写真が元画像G1である場合には、オブジェクトである人物が小さく写ることがあるので、このような場合には、重畳領域特定部103は、要素領域EAが小さいほど、当該要素領域EAの重み付けを大きくし、要素領域EAが大きいほど、当該要素領域EAの重み付けを小さくするようにしてもよい。
変形例(6)によれば、要素領域EAの大きさも考慮したうえで重畳領域OAが特定されるので、重畳領域OAにおけるオブジェクトの割合を高めたり、重畳領域OAを検出しやすくしたりすることができるので、前景領域FAの精度を高めることができる。
(7)また例えば、上記変形例の2つ以上を組み合わせてもよい。
また例えば、重畳領域特定部103が要素領域EA内の明度を上げる場合を説明したが、重畳領域特定部103の処理は、これに限られない。重畳領域特定部103は、要素領域EAの重なり度合いから重畳領域OAを特定すればよい。
例えば、判定用画像G2の明度の初期値を、図5のような0(黒)ではなく、2n-1(白)としてもよい。この場合、重畳領域特定部103は、要素領域EA内の明度を下げるようにしてもよい。例えば、判定用画像G2のうち、要素領域EAが幾重にも重なっている部分は、明度が低くなり、黒みを帯びることになる。重畳領域特定部103は、判定用画像G2の明度が閾値未満の画素からなる領域を、重畳領域として特定する。例えば、重畳領域特定部103は、2値化した判定用画像G2のうち黒画素の領域を、重畳領域として特定する。
また例えば、要素領域EA内の明度を変化させるのではなく、要素領域EA外の明度を変化させてもよい。例えば、判定用画像G2の明度の初期値を、図5のような0(黒)とする場合に、重畳領域特定部103は、要素領域EA外の明度を上げてもよい。この場合、判定用画像G2のうち、要素領域EAが幾重にも重なっている部分は、明度が低いままとなり、黒みを帯びることになる。このため、重畳領域特定部103は、判定用画像G2の明度が閾値未満の画素からなる領域を、重畳領域として特定する。例えば、重畳領域特定部103は、2値化した判定用画像G2のうち黒画素の領域を、重畳領域として特定する。
また例えば、判定用画像G2の明度の初期値を、2n-1(白)とする場合には、重畳領域特定部103は、要素領域EA外の明度を下げてもよい。この場合、判定用画像G2のうち、要素領域EAが幾重にも重なっている部分は、明度が高いままとなり、白みを帯びることになる。このため、重畳領域特定部103は、判定用画像G2の明度が閾値以上の画素からなる領域を、重畳領域として特定する。例えば、重畳領域特定部103は、2値化した判定用画像G2のうち白画素の領域を、重畳領域として特定する。
また例えば、判定用画像G2がグレースケール画像である場合を説明したが、判定用画像G2は、カラー画像であってもよい。この場合、明度としては、R・G・Bの何れか1つの明度が利用されてもよいし、2つ又は3つの明度が利用されてもよい。
また例えば、図9に示す処理は、元画像G1がアップロードされるたびに実行されてもよいし、画像処理装置10のユーザが所定の操作をした場合に実行されてもよいし、バッチファイルで定められた時間が到来した場合に実行されてもよい。また例えば、画像処理装置10は、オンラインショッピングモール、フリーマーケットアプリ、又はインターネットオークションの管理者側の装置であってもよいし、売り手側の装置であってもよい。画像処理装置10が売り手側の装置である場合には、売り手側で前景領域FAの抽出及び検索情報の取得が行われ、元画像G1とともにアップロードされることになる。更に、画像処理装置10は、管理者でも売り手でもない第3者の装置であってもよい。
また例えば、前景領域抽出部104は、重畳領域OAに対して分離処理を実行するのではなく、重畳領域OAをそのまま前景領域FAとして抽出してもよい。また例えば、重畳領域OAを特定するために、画素ごとの明度が利用されるのではなく、特に明度とは関係のない数値が用いられてもよい。例えば、重畳領域特定部103は、要素領域EA内の画素に対して投票を行い、所定の投票数以上の画素を重畳領域OAとしてもよい。この場合、各画素の投票数が、重なりの度合いを示す数値に相当する。更に、この数値は、画素ごとに用意しなくてもよく、複数画素に対して1つの数値を用意しておき、重畳領域OAの特定処理を簡略化してもよい。
また例えば、オブジェクトの一例として商品を説明したが、オブジェクトは、前景となりうる物体であればよく、商品でなくてもよい。例えば、オブジェクトは、人物、動物、植物、又は建物などであってもよい。他にも例えば、オブジェクトは、自動車やバイクなどの乗物であってもよい。また例えば、オブジェクトは、仮想空間に配置された3Dモデル又は2Dモデルであってもよい。この場合、3Dモデル又は2Dモデルは、架空のキャラクタであってもよいし、グラフィックソフトで描画された洋服、建物、又は乗物などであってもよい。
また例えば、商品以外の物体がオブジェクトに相当するのであれば、前景領域FAから検索情報が取得されなくてよい。画像処理装置10は、前景領域抽出部104が抽出した前景領域FAに基づいて、所定の処理を実行すればよい。例えば、画像処理装置10は、元画像G1と前景領域FAとを関連付けてデータ記憶部100に記録しておいてもよい。前景領域FAは、種々の目的で利用されてよく、例えば、表示部15に表示させる目的で利用してもよいし、オブジェクトの基本形状の学習のために利用してもよい。他にも例えば、前景領域FAは、元画像G1の属性情報を分類するために利用されてもよい。即ち、元画像G1に何が撮影されているかを分類する目的で前景領域FAが利用されてもよい。
また例えば、画像処理装置10の各機能のうち、画像取得部101、要素領域設定部102、重畳領域特定部103、及び前景領域抽出部104以外の機能は省略してもよい。例えば、データ記憶部100は、画像処理装置10に含まれている必要はなく、データベースサーバによって実現されてもよい。
Claims (13)
- 背景とオブジェクトとを含む画像を取得する画像取得手段と、
前記画像に対し、前記画像内の複数の要素にそれぞれ対応する複数の要素領域を設定する要素領域設定手段と、
前記画像の中で、各要素領域の重なりの度合いが所定度合い以上である重畳領域を特定する重畳領域特定手段と、
前記重畳領域に基づいて、前記画像から、前記オブジェクトに対応する前景領域を抽出する前景領域抽出手段と、
を含むことを特徴とする画像処理装置。 - 前記前景領域抽出手段は、前記重畳領域に基づいて、前記画像に対し、前景と背景を分離する分離処理を実行することによって、前記前景領域を抽出する、
ことを特徴とする請求項1に記載の画像処理装置。 - 前記重畳領域設定手段は、
各画素が各要素領域に含まれるか否かの判定結果に基づいて、当該画素における前記重なりの度合いを示す数値を計算し、その数値が閾値以上であるか否かの判定結果に基づいて、前記重畳領域を特定する、
ことを特徴とする請求項1又は2に記載の画像処理装置。 - 前記数値は、前記画像と同じ大きさの判定用画像の対応画素の明度を示す、
ことを特徴とする請求項3に記載の画像処理装置。 - 前記画像処理装置は、前記画像に応じた前記閾値を設定する閾値設定手段を更に含み、
前記重畳領域設定手段は、各画素の前記数値が、前記閾値設定手段により設定された閾値以上であるか否かを判定する、
ことを特徴とする請求項3又は4に記載の画像処理装置。 - 前記重畳領域設定手段は、
各画素の前記数値が、前記閾値設定手段により設定された閾値以上であるか否かの判定結果に基づいて、仮の前記重畳領域を特定し、かつ、
前記オブジェクトの基本形状を示すデータに基づいて、当該仮の重畳領域の形状と前記基本形状との類似度が所定値以上であるかを判定し、
前記閾値設定手段は、前記類似度が前記所定値以上であると判定されるまで、前記閾値を繰り返し変化させ前記類似度を判定し、
前記重畳領域特定手段は、前記基本形状と類似すると判定された場合の前記仮の重畳領域を、前記重畳領域として特定する、
ことを特徴とする請求項5に記載の画像処理装置。 - 前記画像には、前記オブジェクトの属性を示す属性情報が対応付けられており、
前記閾値設定手段は、前記画像の前記属性情報に応じた前記閾値を設定する、
ことを特徴とする請求項5又は6に記載の画像処理装置。 - 前記閾値設定手段は、前記画像のヒストグラムに応じた前記閾値を設定する、
ことを特徴とする請求項5~7の何れかに記載の画像処理装置。 - 前記重畳領域設定手段は、各要素領域の前記画像内での位置に基づいて各要素領域に重み付けし、前記数値を計算する、
ことを特徴とする請求項3~8の何れかに記載の画像処理装置。 - 前記重畳領域設定手段は、各要素領域の大きさに基づいて各要素領域に重み付けし、前記数値を計算する、
ことを特徴とする請求項3~9の何れかに記載の画像処理装置。 - 前記画像は、インターネットを利用して売買される商品を示す商品画像であり、
前記オブジェクトは、前記商品画像に示された前記商品であり、
前記画像取得手段は、前記インターネットを介してアップロードされた前記商品画像を取得し、
前記前景領域は、前記商品画像のうち、前記商品が示された領域であり、
前記画像処理装置は、前記商品画像から抽出された前記前景領域に基づいて、前記商品の検索情報を取得する検索情報取得手段、
を更に含むことを特徴とする請求項1~10の何れかに記載の画像処理装置。 - 背景とオブジェクトとを含む画像を取得する画像取得ステップと、
前記画像に対し、前記画像内の複数の要素にそれぞれ対応する複数の要素領域を設定する要素領域設定ステップと、
前記画像の中で、各要素領域の重なりの度合いが所定度合い以上である重畳領域を特定する重畳領域特定ステップと、
前記重畳領域に基づいて、前記画像から、前記オブジェクトに対応する前景領域を抽出する前景領域抽出ステップと、
を含むことを特徴とする画像処理方法。 - 背景とオブジェクトとを含む画像を取得する画像取得手段、
前記画像に対し、前記画像内の複数の要素にそれぞれ対応する複数の要素領域を設定する要素領域設定手段、
前記画像の中で、各要素領域の重なりの度合いが所定度合い以上である重畳領域を特定する重畳領域特定手段、
前記重畳領域に基づいて、前記画像から、前記オブジェクトに対応する前景領域を抽出する前景領域抽出手段、
としてコンピュータを機能させるためのプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/312,245 US10991104B2 (en) | 2017-04-11 | 2017-04-11 | Image processing device, image processing method, and program |
EP17905661.9A EP3611701A4 (en) | 2017-04-11 | 2017-04-11 | IMAGE PROCESSING DEVICE, IMAGE PROCESSING METHOD AND PROGRAM |
PCT/JP2017/014774 WO2018189802A1 (ja) | 2017-04-11 | 2017-04-11 | 画像処理装置、画像処理方法、及びプログラム |
JP2018546922A JP6529686B2 (ja) | 2017-04-11 | 2017-04-11 | 画像処理装置、画像処理方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/014774 WO2018189802A1 (ja) | 2017-04-11 | 2017-04-11 | 画像処理装置、画像処理方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018189802A1 true WO2018189802A1 (ja) | 2018-10-18 |
Family
ID=63792482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2017/014774 WO2018189802A1 (ja) | 2017-04-11 | 2017-04-11 | 画像処理装置、画像処理方法、及びプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US10991104B2 (ja) |
EP (1) | EP3611701A4 (ja) |
JP (1) | JP6529686B2 (ja) |
WO (1) | WO2018189802A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11138699B2 (en) * | 2019-06-13 | 2021-10-05 | Adobe Inc. | Utilizing context-aware sensors and multi-dimensional gesture inputs to efficiently generate enhanced digital images |
CN111222356A (zh) * | 2020-01-14 | 2020-06-02 | 河北省烟草公司沧州市公司 | 图像识别方法、扫码方法、扫码终端和商品销售管理*** |
CN112200783B (zh) * | 2020-09-30 | 2024-06-28 | 北京搜狗科技发展有限公司 | 一种商品图像的处理方法及装置 |
CN112511767B (zh) * | 2020-10-30 | 2022-08-02 | 山东浪潮科学研究院有限公司 | 一种视频拼接方法及设备、存储介质 |
KR102561734B1 (ko) * | 2021-02-15 | 2023-07-31 | 엔에이치엔클라우드 주식회사 | 이미지 복원 기반 상품검색 방법 및 시스템 |
CN113065922B (zh) * | 2021-04-13 | 2021-12-07 | 南京莫愁智慧信息科技有限公司 | 基于移动互联网和大数据分析的电子商务购物平台商品智能匹配推荐方法 |
CN113627512A (zh) * | 2021-08-05 | 2021-11-09 | 上海购吖科技有限公司 | 一种图片识别方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001266158A (ja) * | 2000-01-11 | 2001-09-28 | Canon Inc | 画像処理装置、画像処理システム、画像処理方法、及び記憶媒体 |
JP2004030696A (ja) * | 1997-12-19 | 2004-01-29 | Fujitsu Ltd | 文字列抽出装置及びパターン抽出装置 |
JP2014225286A (ja) * | 2009-10-23 | 2014-12-04 | 楽天株式会社 | 情報提供装置、情報提供方法、情報提供プログラム、及びそのプログラムを記録するコンピュータ読み取り可能な記録媒体 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3601658B2 (ja) | 1997-12-19 | 2004-12-15 | 富士通株式会社 | 文字列抽出装置及びパターン抽出装置 |
JP3506958B2 (ja) * | 1998-09-10 | 2004-03-15 | 富士写真フイルム株式会社 | 画像処理方法、画像処理装置及び記録媒体 |
US20060059432A1 (en) * | 2004-09-15 | 2006-03-16 | Matthew Bells | User interface having viewing area with non-transparent and semi-transparent regions |
JP6000699B2 (ja) * | 2012-07-05 | 2016-10-05 | オリンパス株式会社 | 細胞***過程追跡装置、及び細胞***過程追跡プログラム |
JP6642970B2 (ja) * | 2015-03-05 | 2020-02-12 | キヤノン株式会社 | 注目領域検出装置、注目領域検出方法及びプログラム |
US20160343054A1 (en) * | 2015-05-18 | 2016-11-24 | Status Quo Innovation, Llc | Image acquisition and feature extraction apparatus, method of feature extraction and feature identification, and method for creating and providing advertisement content |
US9635276B2 (en) * | 2015-06-10 | 2017-04-25 | Microsoft Technology Licensing, Llc | Determination of exposure time for an image frame |
JP6517652B2 (ja) * | 2015-10-01 | 2019-05-22 | 日本電信電話株式会社 | 物体顕著性マップ算出装置、方法、及びプログラム |
US20180047193A1 (en) * | 2016-08-15 | 2018-02-15 | Qualcomm Incorporated | Adaptive bounding box merge method in blob analysis for video analytics |
-
2017
- 2017-04-11 US US16/312,245 patent/US10991104B2/en active Active
- 2017-04-11 JP JP2018546922A patent/JP6529686B2/ja active Active
- 2017-04-11 WO PCT/JP2017/014774 patent/WO2018189802A1/ja unknown
- 2017-04-11 EP EP17905661.9A patent/EP3611701A4/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004030696A (ja) * | 1997-12-19 | 2004-01-29 | Fujitsu Ltd | 文字列抽出装置及びパターン抽出装置 |
JP2001266158A (ja) * | 2000-01-11 | 2001-09-28 | Canon Inc | 画像処理装置、画像処理システム、画像処理方法、及び記憶媒体 |
JP2014225286A (ja) * | 2009-10-23 | 2014-12-04 | 楽天株式会社 | 情報提供装置、情報提供方法、情報提供プログラム、及びそのプログラムを記録するコンピュータ読み取り可能な記録媒体 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3611701A4 * |
Also Published As
Publication number | Publication date |
---|---|
EP3611701A4 (en) | 2020-12-02 |
JPWO2018189802A1 (ja) | 2019-04-18 |
EP3611701A1 (en) | 2020-02-19 |
JP6529686B2 (ja) | 2019-06-12 |
US10991104B2 (en) | 2021-04-27 |
US20190236789A1 (en) | 2019-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018189802A1 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
US10049308B1 (en) | Synthesizing training data | |
KR102102161B1 (ko) | 이미지 내 객체의 대표 특성을 추출하는 방법, 장치 및 컴퓨터 프로그램 | |
US10304408B2 (en) | Method and apparatus for changing background color of toolbar with dominant color of picture | |
CN109784281A (zh) | 基于人脸特征的产品推荐方法、装置及计算机设备 | |
CN109711345B (zh) | 一种火焰图像识别方法、装置及其存储介质 | |
TWI559242B (zh) | 視覺化服飾檢索 | |
JP6292884B2 (ja) | 製品のカスタマイズに用いるデジタル画像を生成するために赤外線写真を用いる方法 | |
US11048963B2 (en) | Product image generation system | |
US9684987B1 (en) | Image manipulation for electronic display | |
US8812376B2 (en) | Techniques for generating an electronic shopping list | |
CN105426810B (zh) | 信息处理装置和图像修改方法 | |
US20170039683A1 (en) | Image processing apparatus, image processing method, image processing system, and non-transitory computer readable medium | |
WO2012077715A1 (ja) | 非可視化情報を用いたコンテンツ提供システム、非可視化情報の埋込装置、認識装置、埋込方法、認識方法、埋込プログラム、及び認識プログラム | |
Gritzman et al. | Comparison of colour transforms used in lip segmentation algorithms | |
CN114730377A (zh) | 鞋类认证设备及认证流程 | |
CN111340782B (zh) | 一种图像打标方法、装置及*** | |
WO2012095846A1 (en) | System and method for identification of printed matter in an image | |
Lindblad et al. | Coverage segmentation based on linear unmixing and minimization of perimeter and boundary thickness | |
CN112884074B (zh) | 基于决策树的图像设计方法、设备、存储介质及装置 | |
CN109859228A (zh) | 基于图像识别推荐鞋款类型的方法、装置及计算机设备 | |
US20160321733A1 (en) | Product search device, system, method, and program | |
JP6154545B2 (ja) | 情報処理装置 | |
JP2024501444A (ja) | メディアコンテンツのオーバーレイに適した画像スペースの検出 | |
KR101643550B1 (ko) | 비선형 공간에서 고속 선명도 확산 방법을 이용하여 색상불변 특성을 검출하고 표현하는 시스템 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2018546922 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17905661 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: 2017905661 Country of ref document: EP Effective date: 20191111 |