WO2015129724A1 - 画像処理装置、画像処理方法及びプログラム - Google Patents

画像処理装置、画像処理方法及びプログラム Download PDF

Info

Publication number
WO2015129724A1
WO2015129724A1 PCT/JP2015/055337 JP2015055337W WO2015129724A1 WO 2015129724 A1 WO2015129724 A1 WO 2015129724A1 JP 2015055337 W JP2015055337 W JP 2015055337W WO 2015129724 A1 WO2015129724 A1 WO 2015129724A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
weight
cost
pixel
information
Prior art date
Application number
PCT/JP2015/055337
Other languages
English (en)
French (fr)
Inventor
麻子 関
Original Assignee
オリンパス株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オリンパス株式会社 filed Critical オリンパス株式会社
Publication of WO2015129724A1 publication Critical patent/WO2015129724A1/ja
Priority to US15/248,780 priority Critical patent/US9842275B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20228Disparity calculation for image-based rendering

Definitions

  • the present invention relates to an image processing apparatus, an image processing method, a program, and the like.
  • Stereo matching is widely known as a method for obtaining depth (depth information, distance information) based on images. Furthermore, as disclosed in Patent Document 1, a technique for performing census conversion in stereo matching is known. Non-Patent Document 1 also discloses a census conversion technique in detail.
  • a value (bit data) is assigned according to the size relationship between the pixel of interest and surrounding pixels.
  • the change in the pixel value is small, and the difference value between the target pixel and the surrounding pixels is relatively small. Therefore, when some noise occurs, the magnitude relationship may be easily reversed, and the processing accuracy is lowered.
  • Non-Patent Document 2 While conventional census conversion gives 0 or 1 depending on the magnitude relationship of the difference between the pixel of interest and surrounding pixels, in Non-Patent Document 2, bit data is newly added even when the difference is in the noise buffer. A method of assigning (00) and calculating the Hamming distance is disclosed. In Non-Patent Document 2, it is said that the influence of noise in a flat region can be suppressed by the above method.
  • Non-Patent Document 2 new bit data (00) is given when the noise buffer is used, and the noise is affected by performing processing separately from the bit data (10 or 01) when the noise buffer is not used. It is supposed to be suppressed.
  • the bit data is allocated to deal with noise, the processing flexibility is lacking. For example, if the subject imaged in the image, the imaging environment, and the like change, the tendency of the generated noise also changes.
  • the weight information corresponding to the influence of noise is set, and the weight information is used in calculating the cost when obtaining the amount of parallax, thereby appropriately suppressing the influence of the noise.
  • An image processing apparatus, an image processing method, a program, and the like that perform matching can be provided.
  • the weight setting unit is configured to determine that the peripheral image is determined to be greatly influenced by noise among a plurality of peripheral pixels around the target pixel in a predetermined region in the first image and the second image.
  • a first weight that has a small contribution to the cost is set, and among the plurality of peripheral pixels, the contribution to the cost is determined for the peripheral pixels that are determined to be less affected by the noise.
  • the present invention relates to an image processing apparatus that sets a second weight having a high degree.
  • weight information is set in consideration of the influence of noise, and the cost for determining the stereo matching parallax amount is obtained using the weight information.
  • the cost calculation unit may calculate the cost with reference to a conversion table that associates the comparison result information, the weight information, and the cost.
  • the weight setting unit obtains a difference value between the target pixel and the surrounding pixels, determines the influence of the noise based on the obtained difference value, and sets the weight information. May be.
  • the weight setting unit may include a comparison result between the difference value between the peripheral pixel of the first image and the target pixel and a given threshold, and the second image.
  • the weight information for the peripheral pixel may be set based on a comparison result between the difference value between the peripheral pixel and the target pixel and the given threshold value.
  • the weight setting unit may set the given threshold used for the comparison process with the difference value according to the noise.
  • the weight setting unit may include the difference value between the peripheral pixel and the target pixel of the first image, and the difference between the peripheral pixel and the target pixel of the second image.
  • the first weight may be set for the peripheral pixels when at least one of the values is equal to or less than the given threshold.
  • the weight at the peripheral pixel is the first weight with a relatively small contribution. And so on.
  • the census processing unit may acquire the comparison result information by converting the result of the comparison process into a numerical value.
  • the weight setting unit may set a first logic level as the first weight and a second logic level different from the first logic level as the second weight. May be set as the weight information.
  • the weight setting unit may set the first logical level as the first weight and the second logical level as the second weight for the first image.
  • first weight information and for the second image, set the first logical level as the first weight and set the second logical level as the second weight.
  • the second weight information may be obtained, and the weight mask may be obtained by performing a logical operation using the first weight information and the second weight information.
  • weight information based on data (bit data) represented by a logical level in each of a plurality of images
  • weight information (weight mask) used for cost calculation is easily obtained by their logical operation. It becomes possible.
  • the cost calculation unit may skip the cost calculation process for pixels whose weight mask value is the first logical level.
  • the cost calculation unit refers to a conversion table in which a conversion result is determined according to a combination of a value represented by the comparison result information and a value of the weight mask, and The cost may be calculated using a conversion result obtained for each of the peripheral pixels in a predetermined area.
  • the cost calculation unit may be the second logical level with respect to the result of accumulating the comparison result information and the calculation result for each of the surrounding pixels using the weight mask.
  • the cost may be calculated by performing an averaging process using the number of the peripheral pixels.
  • the comparison result information is obtained, weight information used for calculating the cost is set, the comparison result information, The cost at the target pixel is calculated based on the weight information, the amount of parallax at the target pixel is obtained based on the cost, and the first image and the second image are set in the weight information setting.
  • a first weight having a small contribution to the cost is set for the peripheral pixels that are determined to be greatly affected by noise among a plurality of peripheral pixels around the target pixel in a predetermined region. And, among the plurality of peripheral pixels, with respect to the peripheral pixels affected by the noise it is determined to be smaller, related to the image processing method of setting the second weighting contribution is greater to the cost.
  • census conversion is performed on the first image and the second image, and the first image
  • a census processing unit that obtains comparison result information based on a comparison process between the result of the census conversion and the result of the census conversion of the second image
  • a weight setting unit that sets weight information used for cost calculation A computer as a cost calculation unit that calculates the cost at the target pixel based on the comparison result information and the weight information, and a parallax amount determination unit that calculates the parallax amount at the target pixel based on the cost
  • the weight setting unit is affected by noise among a plurality of peripheral pixels around the target pixel in a predetermined area in the first image and the second image.
  • a first weight that has a small contribution to the cost is set for the peripheral pixels that are determined to be clean, and among the peripheral pixels, the peripheral pixels that are determined to be less affected by the noise
  • the present invention relates to a program for setting the second weight having a large contribution to the cost.
  • FIG. 1 is a configuration example of an image processing apparatus according to the present embodiment.
  • FIG. 2 is a detailed configuration example of the image processing apparatus according to the present embodiment.
  • FIG. 3 is a flowchart for explaining processing of the first embodiment.
  • FIG. 4 is a diagram for explaining a method of shifting an image area.
  • FIG. 5 is a diagram for explaining a method of census conversion.
  • FIG. 6 is a configuration example of a census result comparison unit.
  • FIG. 7 is an explanatory diagram of a census bit conversion method.
  • FIG. 8 is a diagram illustrating weight setting processing according to the first embodiment.
  • FIG. 9 is an explanatory diagram of a parallax amount determination method.
  • FIG. 10 is a flowchart for explaining processing of the second embodiment.
  • FIG. 11 shows a configuration example of the weight setting unit.
  • FIG. 12 is a diagram for explaining a cost calculation process according to the second embodiment.
  • FIG. 13 is a flowchart for explaining processing of the third embodiment.
  • FIG. 14 is a flowchart for explaining cost calculation processing according to the third embodiment.
  • FIG. 15 is a flowchart for explaining processing of the fourth embodiment.
  • FIG. 16 is a diagram illustrating weight setting processing according to the fourth embodiment.
  • FIG. 17 is a diagram illustrating cost calculation processing according to the fourth embodiment.
  • FIG. 18 is a flowchart for explaining processing of the fifth embodiment.
  • FIG. 19 is a diagram illustrating weight setting processing according to the fifth embodiment.
  • the difference between the pixel values of the target pixel and the surrounding pixels becomes small.
  • bit data “0” is assigned to the peripheral pixel with the pixel value of the peripheral pixel ⁇ the pixel value (125) of the target pixel, and 1 is assigned otherwise.
  • the magnitude relationship is reversed and the bit data to be added becomes 1.
  • Non-Patent Document 2 considers the above points, and bit data to be given to peripheral pixels in the noise buffer (determined that the influence of noise is large) is 00, and the peripheral pixels in the noise buffer are By distinguishing from the bit data (01 or 10) to be added, the influence of noise is suppressed.
  • Non-Patent Document 2 the effect of suppressing the influence of noise is not sufficient.
  • the environment in which an image for stereo matching is acquired can change variously, the amount and tendency of noise change accordingly.
  • the noise changes depending on whether the subject is a landscape, a person, or a living body such as an endoscopic image.
  • the difference in whether the light source is sunlight, illumination light, daytime shooting, or nighttime shooting also affects noise, and the difference also occurs depending on the characteristics of the camera lens, the image sensor, and the like.
  • the appropriate stereo matching process will also change. For example, is it better to completely exclude pixels that are susceptible to noise from processing, or should they be used for processing but have a relatively low contribution (for example, contribution to cost calculation)? It is desirable to change the conditions such as, according to the situation. Furthermore, when the contribution level is relatively lowered, the setting of the relative relationship with pixels with relatively high contribution levels (pixels that are less susceptible to noise) is also optimal depending on the situation. The solution should change. The method of Non-Patent Document 2 does not consider this point, and flexible processing according to the situation is difficult.
  • the present applicant proposes a method that allows flexible setting according to environmental changes, etc., after distinguishing pixels that are susceptible to noise from those that are difficult to receive.
  • the image processing apparatus 100 performs the stereo matching process on the first image and the second image with respect to the first image and the second image.
  • a census processing unit 110 that performs census conversion and obtains comparison result information based on a comparison process between the census conversion result of the first image and the census conversion result of the second image, and a weight used for calculating the cost
  • a weight setting unit 120 that sets information, a cost calculation unit 130 that calculates a cost at the target pixel based on the comparison result information and the weight information, and a parallax amount determination that calculates a parallax amount at the target pixel based on the cost Part 140.
  • the weight setting unit 120 is configured for a peripheral pixel that is determined to be greatly affected by noise among a plurality of peripheral pixels around the target pixel in a predetermined region in the first image and the second image.
  • a first weight having a small contribution to the cost is set, and a second weight having a large contribution to the cost is set for a peripheral pixel that is determined to be less influenced by noise among a plurality of peripheral pixels.
  • the first image and the second image represent a left image and a right image used for stereo matching.
  • the first image is the left image and the second image (right image) is shifted with reference to the left image
  • the present invention is not limited to this.
  • the target pixel is one pixel in the first image
  • the predetermined region is a region having a predetermined shape and area (centered in a narrow sense) including the target pixel, for example, W pixel ⁇ This is a W pixel area.
  • the predetermined area is a 5 ⁇ 5 square area centered on the target pixel.
  • the peripheral pixel is a pixel that is included in the predetermined area and is not a target pixel.
  • comparison result information obtained by comparing the census conversion results of the left and right images may be the same information as the conventional method, as in the XOR operation output of FIG. 7, or the census bit conversion result of FIG. Alternatively, the information after the conversion by the conversion parameter may be used.
  • Information similar to the conventional method is a set of 0 and 1 bit data in a narrow sense, and converted information is a set of numerical data in a narrow sense.
  • the weight information is used for cost calculation, and is information in which a given weight is assigned to each of the surrounding pixels, for example.
  • a given weight is assigned to each of the surrounding pixels, for example.
  • the first and second weights may be bit data, or may be weight masks to be described later with reference to FIG. Note that the first and second weights may be such that the degree of cost contribution is such that the first weight is smaller than the second weight, and the numerical value assigned to the first weight is greater than the numerical value assigned to the second weight. There is no need to make it smaller.
  • the numerical values can be arbitrarily set as shown in FIGS. Therefore, it is possible to flexibly set the degree of contribution to the processing of information of pixels having a large influence of noise according to the situation, and it is possible to accurately perform stereo matching using census conversion.
  • the first to fifth embodiments will be described.
  • a basic embodiment of the present invention including a process for numerically converting a comparison result of census conversion and a process for setting weight information that is a set of numerical data
  • a weight mask is used as weight information
  • the processing content of the cost calculation using the weight mask is different.
  • a weight mask is once obtained as weight information, and then the weight mask is converted into numerical data.
  • both comparison result information and weight information are obtained as bit data, and the cost is calculated using a conversion table that associates the bit data set with the cost per pixel.
  • FIG. 2 shows a configuration example of an image processing apparatus 100 according to the first embodiment.
  • the image processing apparatus 100 includes an image shift unit 150, a census processing unit 110, a weight setting unit 120, a cost calculation unit 130, and a parallax amount determination unit 140.
  • the census processing unit 110 includes a census conversion unit 111 and a census result comparison unit 113, and the weight setting unit 120 includes a difference calculation unit 121 and a setting processing unit 123.
  • the image processing apparatus 100 is not limited to the configuration shown in FIG. 2, and various modifications such as omitting some of these components or adding other components are possible.
  • the image shift unit 150 shifts one of the left and right images by a set shift amount.
  • a given interval for example, one pixel interval
  • the census conversion unit 111 performs census conversion for each of the left image and the right image.
  • the census result comparison unit 113 compares the census conversion result for the left image with the census conversion result for the right image.
  • the difference calculation unit 121 calculates a difference value between the target pixel and the surrounding pixels for each of the left image and the right image.
  • the setting processing unit 123 sets a weight for each peripheral pixel based on the calculated difference value. Details of the processing in each of the above units will be described later.
  • FIG. 3 shows a flowchart for explaining the processing of this embodiment.
  • the image is shifted and then the cost is calculated for each pixel, and the same processing is performed in all shift search ranges.
  • An area on the other image (a predetermined area on the right image) may be shifted with respect to the area).
  • the left is fixed and the right is shifted.
  • the parallax is calculated after calculating the cost for all the pixels and the shift amount. However, if the cost is calculated for all the shift amounts in a certain pixel, the memory becomes larger if the parallax is calculated each time. No need to consume. Although not shown in FIG. 3, when there is a lot of noise, noise reduction processing may be performed in advance as preprocessing.
  • the loop processing of the target pixel is started (S103).
  • all the pixels in the left image are sequentially set as the target pixel.
  • the right image is shifted in S102, if the target pixel of the left image is determined, the target pixel of the right image can also be determined.
  • a process for obtaining comparison result information in the census processing unit 110 and a process for setting the weight information in the weight setting unit 120 are performed.
  • the peripheral area W * of the target pixel is applied to the image shifted by the image shift unit 150 (right image) and the non-shifted image (left image). 0 or 1 is assigned to each pixel according to the magnitude relationship between the surrounding pixels of W and the pixel value of the target pixel, and the result is expressed by a bit string of length W * W ⁇ 1 (S104).
  • the predetermined area does not necessarily have to be square.
  • the census conversion is performed until the bit string shown in the lower part of FIG. 5 is used.
  • the state of the comparative image in FIG. 5 may be used as the output of the census conversion unit 111. In that case, the pixel corresponding to the target pixel may be invalidated.
  • description is made assuming that the output of the census converter 111 is a large and small comparison image.
  • the census result comparison unit 113 compares the output of the census conversion of the left and right images (S105).
  • FIG. 6 shows a specific configuration example of the census result comparison unit 113.
  • the census result comparison unit 113 includes an XOR operation unit 1131 and a census bit conversion unit 1132.
  • the XOR operation unit 1131 performs an XOR (exclusive OR) operation for each pixel or bit for each output of the left and right images of the census conversion unit 111 acquired in S104. Since the XOR operation is performed, 0 is set for pixels (or bits) having the same value of the census conversion result in the left image and the right image, and 1 is set for different pixels.
  • the census bit conversion unit 1132 compares the output of each pixel or bit output from the XOR operation unit 1131 if the output is 1 compared with the output of 0. Convert to a larger value.
  • T represents the output of the census bit conversion unit 1132
  • t represents the output of the XOR operation unit 1131.
  • (i, j) is an index of the target pixel.
  • the values of ⁇ and ⁇ are not limited to integers.
  • the conversion parameters are experimentally calculated in advance. Note that ⁇ > ⁇ because the shift amount that minimizes the cost is the amount of parallax, but ⁇ ⁇ may be used if the shift amount that maximizes the cost is the amount of parallax.
  • comparison result information that is the output of the census processing unit 110 is numerical data that is the output of the census bit conversion unit 1132, but the bit data that is the output of the XOR operation unit 1131 is the comparison result information. It is good.
  • the difference calculation unit 121 calculates, for each pixel, the absolute value Diff of the difference between the pixel values of the peripheral pixel of the target pixel periphery W * W and the target pixel as shown in the following equation (2) (S106).
  • I represents a pixel value.
  • the setting process part 123 sets the weight M for every pixel according to the output result of the difference calculation part 121 as shown in the following Formula (3) and FIG. 8 (S107).
  • the difference calculation unit 121 when at least one of the left and right image outputs is equal to or less than the threshold value, a smaller value ⁇ is used as a weight compared to the other cases.
  • ⁇ and ⁇ are not limited to integers.
  • diff 1 and diff 2 represent the outputs of the difference calculation unit 121 for each of the left and right images.
  • the weight parameters ⁇ and ⁇ are experimentally calculated in advance.
  • the threshold value Th is determined according to the amount of noise. For example, statistics such as dispersion in a flat region may be referred to.
  • a threshold value may be provided step by step according to the pixel value at the time of the input image using this statistic.
  • the cost may be calculated by combining the method using the above census conversion result and another method.
  • SAD or SSD calculated from the pixel value of the image SAD or SSD calculated from the differential result of the image, and the like may be combined.
  • Various ways of combination are conceivable at that time, but they may be combined as shown in the following formula (5), for example.
  • C1 to C3 represent costs calculated by the respective methods
  • ⁇ 1 to ⁇ 3 represent experimentally obtained parameters.
  • the threshold may be provided for each cost calculated by each method, or may be provided for the combined result.
  • An example is shown in the following formulas (6) and (7).
  • the following equation (6) is an example in which a threshold value is provided for each cost calculated by each method, and ⁇ 1 to ⁇ 3 represent the threshold values for the cost calculated by each method.
  • the following formula (7) is an example in which a threshold is provided for the combined result, and ⁇ represents a threshold for the entire cost. Note that. min (p, q) represents the smaller of p and q, and in the following equation (6), the cost obtained by each method is limited so as not to exceed the corresponding threshold value. Similarly, in the following expression (7), a restriction is provided so that the cost as a whole does not exceed the threshold value.
  • the target pixel loop started in S103 is ended (S109). If the processing of S102 to S109 is performed for all shift amounts while updating the shift amount in S102, the shift amount loop started in S101 is terminated (S110).
  • the parallax amount determination unit 140 compares the cost calculated within the shift search range (d1 to d2 in FIGS. 3 and 9) by the cost calculation unit 130 as shown in FIG.
  • the shift amount D is calculated as the parallax amount of the corresponding pixel.
  • the weight setting unit 120 obtains a difference value between the target pixel and the surrounding pixels, determines the influence of noise based on the obtained difference value, and sets weight information.
  • the weight setting unit 120 includes the difference calculation unit 121 and sets the weight based on the calculation result of the difference calculation unit 121.
  • the absolute difference value is used, but a simple difference value (including positive and negative values) may be used. This makes it possible to determine whether or not each peripheral pixel is susceptible to noise from the difference value of the pixel values.
  • the weight setting unit 120 compares the difference value between the peripheral pixel of the first image and the target pixel and a given threshold value, and the difference value between the peripheral pixel of the second image and the target pixel. Weight information for peripheral pixels may be set based on the comparison result of threshold values.
  • the weight setting unit 120 has at least one of a difference value between the peripheral pixel and the target pixel of the first image and a difference value between the peripheral pixel and the target pixel of the second image equal to or less than a given threshold value.
  • the first weight (weight with a small contribution to the cost) is set for the peripheral pixels.
  • the left and right images are originally different in the position of the imaging unit at the time of imaging, and one of the left and right images is shifted by a given shift amount, so the influence of noise at each peripheral pixel within the predetermined range
  • the size should be different between the left and right images. Since the comparison result information is obtained by comparing the census conversion results of the left and right images, both the left and right images are used for the calculation of the comparison result information at the peripheral pixels at a given position. That is, whether or not the comparison result information at a given peripheral pixel is reliable may be determined by whether or not it is determined that the influence of noise is small in both the left and right images. Conversely, if at least one of the influences of noise is large, it is possible to increase the robustness against noise by lowering the contribution to the cost for the surrounding pixels, that is, by setting the first weight. .
  • the weight setting unit 120 may set a given threshold used for the comparison process with the difference value according to the noise.
  • the threshold value is not set to a constant value, but can be changed flexibly according to the assumed noise situation.
  • the census processing unit 110 may acquire the comparison result information by converting the result of the comparison processing into a numerical value.
  • the operation result of the XOR operation unit 1131 may be converted by the census bit conversion unit 1132 using the conversion parameters ⁇ and ⁇ .
  • Non-Patent Document 2 as a result of calculating the hamming distance by comparing the left and right images, the difference from the target pixel in a given peripheral pixel is in the noise buffer in both the left and right images, and in both the left and right images
  • the value that the corresponding pixel brings to the Hamming distance is 0 in both cases when the pixel is outside the noise buffer of the same sign.
  • the value does not become 0 even for a pixel having no difference between the left and right images, and the pixel is not costly. Will contribute.
  • weight information is set in consideration of the influence of noise, it is possible to provide a difference in contribution degree according to the influence of noise even for pixels that have no difference between the left and right images.
  • a value for reducing the cost is obtained from a pixel having no difference between the left and right images.
  • the influence of noise is small, the value is ⁇ 2.3, and the cost reduction effect is obtained. Is large and the influence of noise is large, the value becomes ⁇ 1, and the cost reduction effect is small.
  • the image processing apparatus 100 or the like according to the present embodiment may realize part or most of the processing by a program.
  • the image processing apparatus 100 according to the present embodiment is realized by a processor such as a CPU executing a program.
  • a program stored in the information storage device is read, and a processor such as a CPU executes the read program.
  • the information storage device (device readable by a computer) stores programs, data, and the like, and functions as an optical disk (DVD, CD, etc.), HDD (hard disk drive), or memory (card type). It can be realized by memory, ROM, etc.
  • a processor such as a CPU performs various processes of the present embodiment based on a program (data) stored in the information storage device.
  • a program for causing a computer an apparatus including an operation unit, a processing unit, a storage unit, and an output unit
  • a program for causing the computer to execute processing of each unit Is memorized.
  • the image processing apparatus 100 and the like according to the present embodiment may include a processor and a memory.
  • the processor here may be, for example, a CPU (Central Processing Unit). However, the processor is not limited to the CPU, and various processors such as a GPU (GraphicsGProcessing Unit) or a DSP (Digital Signal Processor) can be used.
  • the processor may be an ASIC hardware circuit.
  • the memory stores instructions that can be read by a computer. When the instructions are executed by the processor, each unit of the image processing apparatus 100 according to the present embodiment is realized.
  • the memory here may be a semiconductor memory such as SRAM or DRAM, or a register or a hard disk.
  • the instruction here may be an instruction of an instruction set constituting the program, or an instruction for instructing an operation to the hardware circuit of the processor.
  • the present embodiment can be variously modified.
  • the weight when the weight includes 0 or a value close thereto, the cost may be almost zero at any shift amount where it is susceptible to noise such as a flat region.
  • propagation processing such as Belief-Propagation may be performed to interpolate such a region. Further, this interpolation processing may be executed in the second to fifth embodiments.
  • FIG. 10 is a flowchart for explaining the processing of the second embodiment. Since S201 to 206 and S209 to S212 in FIG. 10 are the same as S101 to S106 and S108 to S111 in FIG.
  • FIG. 11 shows a configuration example of the weight setting unit 120 according to the present embodiment.
  • the weight setting unit 120 includes a difference calculation unit 121, a difference determination unit 122, and a setting processing unit 123.
  • step S ⁇ b> 206 the difference calculation unit 121 calculates the absolute difference between the target pixel and the surrounding pixels for each of the left and right images.
  • the difference determination unit 122 outputs 1 for each pixel for each of the left and right images if the output result of the difference calculation unit 121 is equal to or greater than the threshold value, and 0 otherwise. However, in order to make it equivalent to the first embodiment, it may be set to 0 when the output result is equal to the threshold value.
  • diffth represents the output of the difference determination unit 122.
  • the difference determination unit 122 may output the determination result as a 1-bit image on each of the left and right sides, or may output as a bit string of W * W ⁇ 1 bits on each of the left and right so that the comparison image is converted into a bit string from the large / small comparison image. Good.
  • the output of the census converter 111 and the determination result in the difference determination unit 122 are images.
  • the setting processing unit 123 creates a weight mask from the left and right 1-bit images or the W * W-1 bit string that is the output result of the difference determination unit 122 (S208).
  • the weight mask can be created by performing a logical operation of ANDing the left and right 1-bit images for each pixel or W * W ⁇ 1 bit strings.
  • diffth1 and diffth2 represent the outputs of the difference determination unit 122 for the left and right images, respectively.
  • a weight mask is created with the absolute value of the difference between the target pixel and the surrounding pixels set to 0 when either the left or right is equal to or less than the threshold value.
  • the output of the census result comparison unit 113 and the output of the difference determination unit 122 or the setting processing unit 123 are not limited to those handled as independent data, but may be combined or integrated bit data.
  • the processing in the census result comparison unit 113 performed in S205 is the same as in the first embodiment, and the output may be bit data (the output of the XOR operation unit 1131) or numerical data (the census bit conversion unit 1132). Output).
  • the processing can be performed lightly because the bit operation can be performed.
  • the cost calculation unit 130 calculates a cost based on the comparison result information and the weight information.
  • the cost calculation unit 130 calculates the product of the comparison result information and the weight information for each pixel or each bit. If the comparison result information is bit data and the weight information is also bit data (weight mask), these results are both 1-bit data, and therefore a logical operation that performs an AND operation may be performed.
  • the cost calculation unit 130 adds the result of the AND operation for each pixel or bit. Specifically, the same processing as in the above equation (4) may be performed.
  • the weight setting unit 120 sets the first logical level as the first weight, and sets the second logical level different from the first logical level as the second weight.
  • a mask is set as weight information.
  • the first logic level and the second logic level are different logic levels.
  • the first and second logic levels are not limited to 1-bit data, and various modifications such as using data of 2 bits or more are possible.
  • the cost may be calculated only by taking the AND of the comparison result information that is bit data and the weight mask.
  • the weight setting unit 120 sets the first logical level as the first weight and sets the second logical level as the second weight for the first image to obtain the first weight information.
  • the first logical level is set as the first weight
  • the second logical level is set as the second weight
  • the second weight information is obtained
  • the first weight information and The weight mask may be obtained by performing a logical operation using the second weight information.
  • the difference calculation result of the left image and the difference calculation result of the right image are expressed by the difference determination unit 122 using the first and second logic levels, respectively, a weight mask considering both of them is used. Can be easily obtained.
  • the setting processing unit 123 it is possible to obtain a weight mask by simply ANDing the difference determination results of the left and right images that are bit data. Note that the logical operation here is not necessarily limited to AND.
  • the cost calculation unit 130 performs an averaging process using the number of peripheral pixels at the second logical level on the result of accumulating the comparison result information and the calculation result for each peripheral pixel using the weight mask.
  • the cost may be calculated by going.
  • the cost is assumed to be the sum of the results of integrating the census result comparison output and the weight mask.
  • the value obtained by dividing the summation result by the number of effective pixels of the weight mask may be used as the cost.
  • the effective pixel referred to here is a pixel to which 1 is given in the weight mask, and the number of effective pixels is 12 in FIG. Accordingly, the cost here may be calculated as 7/12. That is, the cost calculated from the sum is averaged with the effective pixels. Thereby, the cost can be obtained regardless of the number of effective pixels in the weight mask.
  • the calculated cost is expected to be somewhat large even if the number of pixels of one bit included in the comparison result information is relatively small. This is because the comparison result information is likely to be a pixel having a weight of 1, and the value of the pixel is easily reflected in the cost.
  • the number of effective pixels is small, even if the number of 1-bit pixels included in the comparison result information is relatively large, the calculated cost is considered not to be a very large value. This is because even if there is a pixel whose comparison result information is 1, the weight of the pixel is likely to be 0, and the value of the pixel is difficult to be reflected in the cost.
  • the number of effective pixels may affect the cost. Therefore, if a strict determination is to be made, a process for canceling the difference in the number of effective pixels may be added. Specifically, as described above, averaging may be performed with effective pixels.
  • FIG. 13 shows a flowchart for explaining the processing of the third embodiment. 13 are the same as S201 to S208 and S210 to S212 in FIG. 10, and thus detailed description thereof is omitted.
  • the cost calculation unit 130 of the present embodiment calculates the cost based on the comparison result information and the weight mask. If the output of the weight setting unit 120 is 1, the value of the comparison result information in the same pixel is added to the cost, and if not, the calculation is skipped. A detailed flowchart is shown in FIG.
  • a variable C representing the cost is initialized with 0 (S401). Then, loop processing for only the surrounding pixels is started (S402). Specifically, it is determined whether or not the bit data of the weight mask corresponding to the peripheral pixel to be processed is 1 (S403). If the weight mask value is 1, the comparison result in the peripheral pixel to be processed The value of information is added to C (S404). On the other hand, if the value of the weight mask is not 1 (if 0), the process of S404 is skipped and the peripheral pixel loop is continued. Then, when the processing is performed for all the peripheral pixels, the peripheral pixel loop is ended (S405), and the cost calculation processing is ended.
  • the cost calculation unit 130 skips the cost calculation process for pixels whose weight mask value is the first logical level.
  • this corresponds to skipping the processing of S404 when No in S403 (when the 1st bit that is the second logic level is not set). In this way, the multiplication of the weight mask (when the comparison result information is numerical data) or the AND operation (when the comparison result information is bit data) is unnecessary, and the circuit scale can be reduced.
  • FIG. 15 shows a flowchart for explaining the processing of the fourth embodiment.
  • the processing in the setting processing unit 123 is added to S509.
  • the setting processing unit 123 creates a weight mask by taking the AND of the difference determination results of the left and right images (S508).
  • the setting processing unit 123 further compares the obtained weight mask with respect to the obtained weight mask when the output is 1 when the output is 1 for each pixel or for each bit as shown in FIG. Convert to a larger value.
  • M ′ represents the value of the weight information finally output from the weight setting unit 120
  • M represents the value of the weight mask
  • ⁇ and ⁇ represent the conversion parameters.
  • the conversion parameters ⁇ and ⁇ are experimentally calculated in advance. Further, the values of ⁇ and ⁇ are not limited to integers.
  • the comparison result information is numerical data, but naturally it may be bit data without using the census bit converter 1132.
  • the present embodiment has two phases: a weight information that is numerical data directly obtained in the first embodiment, a phase that obtains a weight mask that is bit data, and a phase that converts the weight mask into numerical data. It can be said that it is divided into two.
  • FIG. 18 shows a flowchart for explaining the processing of the fifth embodiment.
  • the cost calculation process in the cost calculation unit 130 is different in that it is realized by a step of referring to the table (S609) and a step of calculating based on the reference result (S610).
  • Each unit other than the cost calculation unit 130 may be the same as in the first embodiment, but the census result comparison unit 113 does not use the census bit conversion unit 1132, and the output result is bit data. It will be explained as a thing. Similarly, description will be made assuming that the weight information is also a weight mask.
  • (1, 1) is the maximum at 2.5, 1.2 of (1, 0), -1.2 of (0, 0),-of (0, 1).
  • the order is 2.5. If the shift amount that maximizes the cost is the amount of parallax, the above arrangement may be reversed.
  • the relationship (1,1)> (1,0)> (0,0)> (0,1) can be derived.
  • the same value may be set for (1, 0) and (0, 0) (equal signs may be established), and (1, 0) ⁇ (0, 0).
  • values corresponding to 0 and 1 in the operation result of the XOR operation unit 1131 may be applied in the above order.
  • the cost calculation unit 130 sets a result obtained by adding the output results of the weight S609 within a predetermined area.
  • the cost calculation unit 130 calculates a cost by referring to a conversion table that associates comparison result information, weight information, and cost.
  • the conversion table is, for example, the table shown in FIG.
  • the conversion result associated with the comparison result information output of the census result comparison unit 113 and the weight information (output of the difference determination unit 122) is used as the cost. It does not represent cost. Considering that the cost is obtained by accumulating the conversion result over all the peripheral pixels, the conversion result can also be referred to as information representing the cost per peripheral pixel.
  • the cost can be calculated without performing multiplication of the comparison result information and the weight information.
  • the conversion table must be held. However, as can be seen from FIG. 19, the amount of data in the conversion table itself is not so large, so there is no problem.
  • the cost calculation unit 130 determines the conversion result according to the combination of the value represented by the comparison result information and the value of the weight mask. It may be a process of referring to the conversion table and calculating the cost using the conversion result obtained for each pixel in the predetermined area.
  • the comparison result information may also be bit data.
  • the value of the comparison result information and the value of the weight information are not important as to how many values themselves are, and what value of the possible values can be taken. It becomes important.
  • the value of the comparison result information takes only two values as to whether the left and right images are equal, and if the weight information takes only two values of high contribution and low contribution, those values 2 It is sufficient for processing if the values can be distinguished from each other. In this case, it is sufficient to use 1-bit bit data without assigning specific numerical data. That is, by using the comparison result information and the weight information as bit data, it is possible to efficiently perform the cost calculation process while suppressing unnecessary conversion processing.
  • the comparison result information and the weight information may take three or more values by using numerical data as the comparison result information and weight information, or by assigning two or more bits as the bit data.
  • the conversion table can be processed by associating the conversion results with all the combinations of the comparison result information values and the weight information values. For example, if the comparison result information has s values and the weight information has t values, processing is performed in the same manner as in the above-described example by holding a conversion table of s ⁇ t rows. be able to.
  • 100 image processing apparatus 110 census processing unit, 111 census conversion unit, 113 census result comparison unit, 120 weight setting unit, 121 difference calculation unit, 122 difference determination unit, 123 setting processing unit, 130 cost calculation unit, 140 parallax amount determination unit, 150 image shift unit, 1311, XOR operation unit, 1132 Census bit converter

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Architecture (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

 画像処理装置100は、第1、第2の画像に対するセンサス変換の結果の比較処理に基づいて、比較結果情報を求めるセンサス処理部110と、重み情報を設定する重み設定部120と、比較結果情報と重み情報に基づいてコストを算出するコスト算出部130と、コストに基づいて視差量を求める視差量決定部140を含み、重み設定部120は、複数の周辺画素のうち、ノイズによる影響が大きいと判断される周辺画素に対して、コストへの寄与度が小さい第1の重みを設定し、ノイズによる影響が小さいと判断される周辺画素に対して、寄与度が大きい第2の重みを設定する。

Description

画像処理装置、画像処理方法及びプログラム
 本発明は、画像処理装置、画像処理方法及びプログラム等に関する。
 画像に基づいてデプス(奥行き情報、距離情報)を求める手法としてステレオマッチングが広く知られている。さらに、特許文献1に開示されているように、ステレオマッチングにおいて、センサス変換を行う手法が知られている。また、非特許文献1にもセンサス変換の手法が詳細に開示されている。
 センサス変換では、注目画素と周辺画素の大小関係に応じて値(ビットデータ)を付与する。しかし、画像の平坦領域では、画素値の変化が小さく、注目画素と周辺画素の差分値も比較的小さくなる。そのため、何らかのノイズが生じた場合、上記大小関係が容易に逆転する可能性があり、処理精度が低下してしまう。
 従来のセンサス変換が注目画素と周辺画素との差分の大小関係に応じて0か1を付与するのに対して、非特許文献2では、差分がノイズバッファ内にある場合にも新たにビットデータ(00)を付与し、ハミング距離を算出する手法が開示されている。非特許文献2では、上記手法により平坦領域におけるノイズの影響を抑えることが出来るとしている。
特開2003-16427号公報
Ramin Zabih and John Woodfill, "Non-parametric Local Transforms for Computing Visual Correspondence", LectureNotes in Computer Science, Vol.801, Computer Vision-ECCV '94 Zucheul Lee他 "Local Disparity Estimation with Three-Moded Cross Census and Advanced Support Weight"
 特許文献1や非特許文献1等の従来からのセンサス変換は、上述したようにノイズの影響を抑止することが難しい。非特許文献2では、ノイズバッファ内の場合に新たなビットデータ(00)を付与し、ノイズバッファ内でなかった場合のビットデータ(10又は01)と分けて処理を行うことでノイズの影響を抑止するとしている。しかし非特許文献2のように、ビットデータの割り当てでノイズに対応するのでは処理の柔軟性が欠ける。例えば、画像に撮像されている被写体や、撮像環境等が変化すれば、発生するノイズの傾向も変化するが、非特許文献2では画一的な対応しかできない。
 本発明の幾つかの態様によれば、ノイズの影響に応じた重み情報を設定し、視差量を求める際のコストの算出において当該重み情報を用いることで、ノイズの影響を適切に抑止したステレオマッチングを行う画像処理装置、画像処理方法及びプログラム等を提供することができる。
 本発明の一態様は、第1の画像と第2の画像に対するステレオマッチング処理において、前記第1の画像及び前記第2の画像に対してセンサス変換を行い、前記第1の画像の前記センサス変換の結果と前記第2の画像の前記センサス変換の結果との比較処理に基づいて、比較結果情報を求めるセンサス処理部と、コストの算出に用いられる重み情報を設定する重み設定部と、前記比較結果情報と、前記重み情報に基づいて、注目画素での前記コストを算出するコスト算出部と、前記コストに基づいて、前記注目画素での視差量を求める視差量決定部と、を含み、前記重み設定部は、前記第1の画像及び前記第2の画像内の所定領域における、前記注目画素の周辺の複数の周辺画素のうち、ノイズによる影響が大きいと判断される前記周辺画素に対して、前記コストへの寄与度が小さい第1の重みを設定し、複数の前記周辺画素のうち、前記ノイズによる影響が小さいと判断される前記周辺画素に対して、前記コストへの寄与度が大きい第2の重みを設定する画像処理装置に関係する。
 本発明の一態様では、ノイズによる影響を考慮して重み情報を設定し、当該重み情報を用いてステレオマッチングの視差量決定におけるコストを求める。これにより、ノイズの影響が大きい周辺画素の寄与度を低くできるため、ノイズに対するロバスト性を高くすることや、上記寄与度を柔軟に設定すること等が可能になる。
 また、本発明の一態様では、前記コスト算出部は、前記比較結果情報と、前記重み情報と、前記コストとを対応付ける変換テーブルを参照して前記コストを算出してもよい。
 これにより、コストの算出に変換テーブルを用いることが可能になる。
 また、本発明の一態様では、前記重み設定部は、前記注目画素と前記周辺画素の差分値を求め、求めた前記差分値に基づいて前記ノイズの影響を判定して前記重み情報を設定してもよい。
 これにより、注目画素と周辺画素の差分値に基づいてノイズの影響の判定や、重み情報の設定を行うこと等が可能になる。
 また、本発明の一態様では、前記重み設定部は、前記第1の画像の前記周辺画素と前記注目画素の前記差分値と所与の閾値との比較結果、及び、前記第2の画像の前記周辺画素と前記注目画素の前記差分値と前記所与の閾値の比較結果に基づいて、前記周辺画素に対する前記重み情報を設定してもよい。
 これにより、ステレオマッチングに用いる複数の画像のそれぞれについて、注目画素と周辺画素の差分値と、閾値との比較処理を行い、その比較結果から重み情報を設定すること等が可能になる。
 また、本発明の一態様では、前記重み設定部は、前記差分値との比較処理に用いられる前記所与の閾値を、前記ノイズに応じて設定してもよい。
 これにより、ノイズの状況に応じた重みを設定すること等が可能になる。
 また、本発明の一態様では、前記重み設定部は、前記第1の画像の前記周辺画素と前記注目画素の前記差分値と、前記第2の画像の前記周辺画素と前記注目画素の前記差分値のうち、少なくとも一方が前記所与の閾値以下の場合に、前記周辺画素に対して前記第1の重みを設定してもよい。
 これにより、複数の画像の少なくとも1つにおいて、所与の周辺画素でのノイズの影響が大きいと判定されたのであれば、当該周辺画素での重みを寄与度が相対的に小さい第1の重みとすること等が可能になる。
 また、本発明の一態様では、前記センサス処理部は、前記比較処理の結果を数値に変換して前記比較結果情報を取得してもよい。
 これにより、複数の画像のセンサス変換の比較結果を、ビットデータではなく数値データとして取得すること等が可能になる。
 また、本発明の一態様では、前記重み設定部は、前記第1の重みとして第1の論理レベルが設定され、前記第2の重みとして前記第1の論理レベルとは異なる第2の論理レベルが設定される重みマスクを、前記重み情報として設定してもよい。
 これにより、重み情報として論理レベルにより表されるデータ(ビットデータ)を用いること等が可能になる。
 また、本発明の一態様では、前記重み設定部は、前記第1の画像について、前記第1の重みとして前記第1の論理レベルを設定し、前記第2の重みとして前記第2の論理レベルを設定して、第1の重み情報を求め、前記第2の画像について、前記第1の重みとして前記第1の論理レベルを設定し、前記第2の重みとして前記第2の論理レベルを設定して、第2の重み情報を求め、前記第1の重み情報と、前記第2の重み情報による論理演算を行って前記重みマスクを求めてもよい。
 これにより、複数の画像のそれぞれで、論理レベルにより表されるデータ(ビットデータ)による重み情報を求めておくことで、コスト算出に用いる重み情報(重みマスク)をそれらの論理演算により容易に求めること等が可能になる。
 また、本発明の一態様では、前記コスト算出部は、前記重みマスクの値が前記第1の論理レベルとなる画素では、前記コストの算出処理をスキップしてもよい。
 これにより、コスト算出における演算負荷(処理負荷)を軽減することや、ハードウェアの構成を簡略化すること等が可能になる。
 また、本発明の一態様では、前記コスト算出部は、前記比較結果情報により表される値と、前記重みマスクの値の組み合わせに応じて、変換結果が決定される変換テーブルを参照し、前記所定領域において前記周辺画素ごとに求められた変換結果を用いて前記コストを算出してもよい。
 これにより、少なくとも重み情報についてはビットデータが対応付けられた変換テーブルを用いて、コストを算出すること等が可能になる。
 また、本発明の一態様では、前記コスト算出部は、前記比較結果情報と、前記重みマスクを用いた前記周辺画素ごとの演算結果を累積した結果に対して、前記第2の論理レベルとなる前記周辺画素の数を用いた平均化処理を行って前記コストを算出してもよい。
 これにより、ノイズの影響が小さいと判定された画素(有効画素)の数を考慮したコスト算出処理を行うこと等が可能になる。
 また、本発明の他の態様は、第1の画像と第2の画像に対するステレオマッチング処理において、前記第1の画像及び前記第2の画像に対してセンサス変換を行い、前記第1の画像の前記センサス変換の結果と前記第2の画像の前記センサス変換の結果との比較処理に基づいて、比較結果情報を求め、コストの算出に用いられる重み情報を設定し、前記比較結果情報と、前記重み情報に基づいて、注目画素での前記コストを算出し、前記コストに基づいて、前記注目画素での視差量を求め、前記重み情報の設定において、前記第1の画像及び前記第2の画像内の所定領域における、前記注目画素の周辺の複数の周辺画素のうち、ノイズによる影響が大きいと判断される前記周辺画素に対して、前記コストへの寄与度が小さい第1の重みを設定し、複数の前記周辺画素のうち、前記ノイズによる影響が小さいと判断される前記周辺画素に対して、前記コストへの寄与度が大きい第2の重みを設定する画像処理方法に関係する。
 また、本発明の他の態様は、第1の画像と第2の画像に対するステレオマッチング処理において、前記第1の画像及び前記第2の画像に対してセンサス変換を行い、前記第1の画像の前記センサス変換の結果と前記第2の画像の前記センサス変換の結果との比較処理に基づいて、比較結果情報を求めるセンサス処理部と、コストの算出に用いられる重み情報を設定する重み設定部と、前記比較結果情報と、前記重み情報に基づいて、注目画素での前記コストを算出するコスト算出部と、前記コストに基づいて、前記注目画素での視差量を求める視差量決定部として、コンピュータを機能させ、前記重み設定部は、前記第1の画像及び前記第2の画像内の所定領域における、前記注目画素の周辺の複数の周辺画素のうち、ノイズによる影響が大きいと判断される前記周辺画素に対して、前記コストへの寄与度が小さい第1の重みを設定し、複数の前記周辺画素のうち、前記ノイズによる影響が小さいと判断される前記周辺画素に対して、前記コストへの寄与度が大きい第2の重みを設定するプログラムに関係する。
図1は、本実施形態に係る画像処理装置の構成例。 図2は、本実施形態に係る画像処理装置の詳細な構成例。 図3は、第1の実施形態の処理を説明するフローチャート。 図4は、画像領域のシフト手法を説明する図。 図5は、センサス変換の手法を説明する図。 図6は、センサス結果比較部の構成例。 図7は、センサスビット変換手法の説明図。 図8は、第1の実施形態の重み設定処理を説明する図。 図9は、視差量決定手法の説明図。 図10は、第2の実施形態の処理を説明するフローチャート。 図11は、重み設定部の構成例。 図12は、第2の実施形態のコスト算出処理を説明する図。 図13は、第3の実施形態の処理を説明するフローチャート。 図14は、第3の実施形態のコスト算出処理を説明するフローチャート。 図15は、第4の実施形態の処理を説明するフローチャート。 図16は、第4の実施形態の重み設定処理を説明する図。 図17は、第4の実施形態のコスト算出処理を説明する図。 図18は、第5の実施形態の処理を説明するフローチャート。 図19は、第5の実施形態の重み設定処理を説明する図。
 以下、本実施形態について説明する。なお、以下に説明する本実施形態は、請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
 1.本実施形態の手法
 まず本実施形態の手法について説明する。上述したように、ステレオマッチングにおいてセンサス変換を用いる手法が知られている。センサス変換では、画素値そのものではなく、注目画素に対する周辺画素の大小関係を用いて処理を行う。そのため、明るさの変化等による影響を抑止し、精度よくマッチングを行うことができる。
 しかし、画像の平坦領域を処理対象とすると、注目画素と周辺画素の画素値の差分が小さくなる。例えば、後述する図5の入力画像では、丸が付けられた注目画素と、注目画素の左隣の周辺画素を比べた場合、画素値の差が1しかない。ここでは周辺画素の画素値≧注目画素の画素値(125)の周辺画素には0というビットデータを付与し、そうでなければ1を付与するため、上記周辺画素には0が付与されている。ここで、当該周辺画素の画素値が、何らかのノイズにより2だけ減少してしまった場合、上記大小関係が逆転し、付与されるビットデータが1になってしまう。
 つまり、平坦領域のように画素値の差が元々小さい領域は、ノイズの影響を受けやすく、処理精度を低下させる要因となる。一方、さらに左隣の周辺画素(画素値=10)のように、画素値の差が十分大きければ、多少のノイズが発生していたとしても、周辺画素の画素値<注目画素の画素値という関係は変化せず、センサス変換により得られる1というビットデータは信頼できるものである。
 非特許文献2は以上の点を考慮したものであり、ノイズバッファ内にある(ノイズの影響が大きいと判断される)周辺画素に付与するビットデータを00とし、ノイズバッファ内にある周辺画素に付与するビットデータ(01又は10)と区別することで、ノイズの影響を抑止するというものである。
 しかし、非特許文献2の手法であっても、ノイズによる影響の抑止効果は十分とは言えない。例えば、ステレオマッチング用の画像が取得される環境は種々変化しうるため、それに応じてノイズの量や傾向も変化する。具体的には、被写体が風景か、人物か、内視鏡画像のような生体かという違いでノイズは変化する。或いは、光源が太陽光なのか、照明光なのか、昼間の撮影なのか夜間撮影なのかという違いもノイズに影響するし、撮像したカメラのレンズや撮像素子等の特性によっても違いは生じる。
 画像の特性や、それに伴うノイズの特性が変化すれば、適切なステレオマッチングの処理も変化する。例えば、ノイズの影響を受けやすい画素については処理から完全に除外してしまうのがよいのか、処理には利用するが寄与度(例えばコスト算出への寄与度)を相対的に下げるのがよいのか、といった条件は状況に応じて変えることが望ましい。さらにいえば、寄与度を相対的に下げる場合、寄与度が相対的に高い画素(ノイズの影響を受けにくい画素)との相対関係をどの程度にしたらよいか、という設定も状況に応じて最適解は変化するはずである。非特許文献2の手法はこの点を考慮しておらず、状況に応じた柔軟な処理が困難である。
 そこで本出願人は、ノイズの影響を受けやすい画素と受けにくい画素を区別した上で、環境変化等に応じて柔軟な設定が可能な手法を提案する。具体的には、本実施形態に係る画像処理装置100は図1に示したように、第1の画像と第2の画像に対するステレオマッチング処理において、第1の画像及び第2の画像に対してセンサス変換を行い、第1の画像のセンサス変換の結果と第2の画像のセンサス変換の結果との比較処理に基づいて、比較結果情報を求めるセンサス処理部110と、コストの算出に用いられる重み情報を設定する重み設定部120と、比較結果情報と重み情報に基づいて、注目画素でのコストを算出するコスト算出部130と、コストに基づいて、注目画素での視差量を求める視差量決定部140を含む。そして、重み設定部120は、第1の画像及び第2の画像内の所定領域における、注目画素の周辺の複数の周辺画素のうち、ノイズによる影響が大きいと判断される周辺画素に対して、コストへの寄与度が小さい第1の重みを設定し、複数の周辺画素のうち、ノイズによる影響が小さいと判断される周辺画素に対して、コストへの寄与度が大きい第2の重みを設定する。
 ここで、第1の画像、第2の画像はステレオマッチングに用いられる左画像と右画像を表す。以下では、第1の画像を左画像とし、当該左画像を基準にして、第2の画像(右画像)をシフトさせる例について説明するが、これには限定されない。
 また、注目画素とは、第1の画像のうちの1画素であり、所定領域とは注目画素を含む(狭義には中心とする)所定の形状、面積の領域であって、例えばW画素×W画素の領域となる。図5の例であれば、所定領域とは注目画素を中心とする5×5の正方形の領域である。また、周辺画素とは、上記所定領域に含まれ、且つ、注目画素でない画素である。
 ステレオマッチングでは、一方の画像に設定された注目画素が、他方の画像においてどの程度ずれているか(どの程度の視差量があるか)を求める。そのため、図4を用いて後述するように、左画像で1つの注目画素を設定したら、右画像では所与のシフト量だけシフトされた画素を注目画素とし、当該右画像の注目画素を基準に所定領域の設定する。そして、当該シフト量を所与の範囲、所与の間隔で変化させて、複数のシフト量のうちコストが最適となるシフト量を視差量として求める。つまり「注目画素でのコスト」とは、単一の値ではなく、シフト量の数だけ求められることが想定される。例えば、シフト量としてN通りの量が設定されている場合、左画像の1つの注目画素について、右画像ではN通りの注目画素、所定領域が設定され、N個のコスト値が例えば図9のグラフのように取得されることになる。
 なお、ステレオマッチングでは画像中の複数の画素(狭義には全画素)についての視差量を求めることが一般的であるため、左画像の注目画素についても更新処理を行う必要がある。つまり実際には、1つのコスト値を求める処理を、注目画素についてのループ分、シフト量についてのループ分実行する必要がある。例えば左右画像がそれぞれM画素の画像であり、且つその全てについて視差量を求めるのであれば、M×N回のコスト算出処理が実行されることになる。
 また、左右画像それぞれのセンサス変換結果を比較した比較結果情報とは、図7のXOR演算出力のように、従来手法と同様の情報であってもよいし、図7のセンサスビット変換結果のように、変換パラメータにより変換された後の情報でもよい。従来手法と同様の情報とは、狭義には0,1のビットデータの集合であり、変換後の情報とは、狭義には数値データの集合である。
 重み情報とは、コスト計算に用いられるものであり、例えば周辺画素のそれぞれについて所与の重みが付与された情報である。例えば、図8に示したように第1の重み=1、第2の重み=2.3という数値データを設定し、各周辺画素に対して1又は2.3が割り当てられた情報であってもよい。或いは、第1,第2の重みはビットデータであってもよく、図12を用いて後述するような重みマスクであってもよい。なお、第1,第2の重みはコストの寄与度の大小が第1の重み<第2の重みとなればよく、第1の重みに割り当てられる数値を、第2の重みに割り当てられる数値よりも小さくする必要はない。
 このようにすれば、ノイズによる影響の大小に応じて、重みを設定することが可能になる。つまり、ノイズの影響が大きい画素については、処理への寄与度を相対的に小さくできるため、ノイズの影響を抑止した処理が可能になる。具体的には、ステレオマッチングのコストを算出する際に、注目画素と周辺画素の差分の絶対値が閾値以下であるような、ノイズによりセンサス変換の大小関係が反転しやすい画素のコストへの寄与度を他の画素に比べて低くするため、コストがノイズによって変化しにくくなる。
 また、重み情報として図8のように数値データの集合を用いる際にも、図8、図16に示すようにその数値を任意に設定可能である。そのため、ノイズの影響が大きい画素の情報の処理に対する寄与度を、状況に応じて柔軟に設定することが可能になり、センサス変換を用いたステレオマッチングを精度よく行うことが可能になる。
 以下、第1~第5の実施形態について説明する。第1の実施形態では、センサス変換の比較結果を数値変換する処理、及び、数値データの集合である重み情報を設定する処理を含む本発明の基本的な実施形態を説明する。第2、第3の実施形態では、重み情報として重みマスクを用いる例を説明する。なお、第2の実施形態と第3の実施形態では、重みマスクを用いたコスト算出の処理内容が異なる。第4の実施形態では、重み情報として一旦重みマスクを求め、その後当該重みマスクを数値データに変換する例を説明する。第5の実施形態では、比較結果情報と重み情報をともにビットデータで求め、当該ビットデータの組と画素当たりのコストとを対応付ける変換テーブルを用いてコストを算出する例を説明する。
 2.第1の実施形態
 図2に第1の実施形態に係る画像処理装置100の構成例を示す。画像処理装置100は、画像シフト部150と、センサス処理部110と、重み設定部120と、コスト算出部130と、視差量決定部140を含む。そして、センサス処理部110は、センサス変換部111と、センサス結果比較部113を含み、重み設定部120は、差分算出部121と、設定処理部123を含む。ただし、画像処理装置100は、図2の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
 画像シフト部150は、左右画像の一方の画像を設定されたシフト量だけシフトさせる。本実施形態では、右画像をd1~d2の範囲において、所与の間隔(例えば1画素間隔)でシフトさせる例を説明する。
 センサス変換部111は、左画像と右画像のそれぞれに対してセンサス変換を行う。センサス結果比較部113は、左画像に対するセンサス変換の結果と、右画像に対するセンサス変換の結果を比較する。
 差分算出部121は、左画像と右画像のそれぞれに対して注目画素と周辺画素の差分値を算出する。設定処理部123は、算出された差分値に基づいて各周辺画素に対して重みを設定する。以上の各部での処理の詳細については後述する。
 図3に本実施形態の処理を説明するフローチャートを示す。なお、図3のフローチャートではまず画像をシフトしてから画素毎にコストを算出し、全てのシフト探索範囲で同処理を行っていくが、図4のように片方の画像領域(左画像の所定領域)に対してもう片方の画像上の領域(右画像の所定領域)をシフトさせてもよい。図4の場合は左を固定し、右をシフトしているが当然、逆でもよい。
 また、図3のフローチャートでは全ての画素、シフト量でコストを算出してから、視差を算出しているが、ある画素において全てのシフト量でコストを算出したらその都度視差を算出するとメモリを大きく消費しないで済む。また、図3では不図示であるが、ノイズが多い場合においては事前に前処理としてノイズ低減処理を行なってもよい。
 本実施形態の処理が開始されると、まず所与のシフト量の範囲でループ処理を開始する(S101)。ここでは、d1~d2の範囲で1画素刻みでシフト量を更新していく。そして画像シフト部150は、右画像を設定されたシフト量でシフトさせる(S102)。
 そして、注目画素のループ処理を開始する(S103)。ここでは、左画像中の全画素を、順次注目画素として設定する。また、S102において右画像のシフトが行われているため、左画像の注目画素が決定されれば、右画像の注目画素も決定できる。
 左右画像で注目画素が決定されたら、センサス処理部110において比較結果情報を求める処理と、重み設定部120において重み情報を設定する処理を行う。具体的には、センサス変換部111では、画像シフト部150でシフトした画像(右画像)とシフトしていない方の画像(左画像)に対して、図5に示す通り、注目画素周辺W*Wの周辺画素と注目画素の画素値の大小関係に応じて0または1を各画素に付与し、その結果をW*W-1の長さのビット列で表現する(S104)。なお、所定領域は必ずしも正方でなくてもよい。
 大小関係に対する0、1の付与の仕方はどちらでもよいが、図5では周辺画素の画素値<注目画素の画素値(=125)ならば1、それ以外は0としている。定義の上では、図5下に示したビット列にするまでがセンサス変換であるが、図5における大小比較画像の状態のままをセンサス変換部111の出力としてもよい。その場合、注目画素に相当する画素は無効とすればよい。以降の式や図では分かりやすくするために、センサス変換部111の出力が大小比較画像の場合を想定して記載する。
 センサス結果比較部113は、左右画像のセンサス変換の出力を比較する(S105)。図6にセンサス結果比較部113の具体的な構成例を示す。センサス結果比較部113は、XOR演算部1131と、センサスビット変換部1132を含む。XOR演算部1131では、S104で取得されたセンサス変換部111の左右画像それぞれの出力を、画素毎或いはビット毎にXOR(排他的論理和)演算を行う。XOR演算を行うため、左画像と右画像でセンサス変換結果の値が等しい画素(或いはビット)では0となり、異なる画素では1となる。
 センサスビット変換部1132は、下式(1)及び図7が示すように、XOR演算部1131で出力された画素或いはビット毎の出力に対して、出力が1ならば出力が0の時に比べて大きい値に変換する。下式(1)において、Tはセンサスビット変換部1132の出力を表し、tはXOR演算部1131の出力を表す。また、(i,j)は注目画素のインデックスである。
Figure JPOXMLDOC01-appb-M000001
 図7では、出力が1の場合の変換パラメータγ=1、出力が0の場合の変換パラメータδ=-1としたがこれには限定されない。またγやδの値は整数に限らない。変換パラメータは実験的に事前に算出しておくものとする。なお、ここではコストが最小となるシフト量を視差量としているためγ>δとなるが、コストが最大となるシフト量を視差量とするならばγ<δとしてもよい。
 また、以下ではセンサス処理部110の出力である比較結果情報は、センサスビット変換部1132の出力である数値データであるものとして説明するが、XOR演算部1131の出力であるビットデータを比較結果情報としてもよい。
 差分算出部121は、下式(2)のように注目画素周辺W*Wの周辺画素と注目画素の画素値の差分の絶対値Diffを画素毎に算出する(S106)。下式(2)においてIは画素値を表す。
Figure JPOXMLDOC01-appb-M000002
 そして設定処理部123は、下式(3)及び図8で示す通り、差分算出部121の出力結果に応じて重みMを画素毎に設定する(S107)。差分算出部121において左右画像の出力の少なくとも一方が閾値以下である場合には、それ以外の場合に比べて小さな値αを重みとする。α及びβは整数に限らない。なお、下式(3)において、diff1、diff2は左右画像それぞれの差分算出部121の出力を表す。
Figure JPOXMLDOC01-appb-M000003
 例えば左上の画素(先頭ビット)に着目した場合、右画像の差分絶対値(=120)は閾値Th(ここでは15)より大きいが、左画像の差分絶対値(=5)が閾値以下であるため、当該画素における重みはα(=1)とする。一方、その1つ右の画素(2ビット目)では、左画像の差分絶対値(=100)も右画像の差分絶対値(=55)も閾値より大きいため、当該画素における重みはβ(=2.3)とする。
 重みパラメータα及びβは実験的に事前に算出しておく。また、閾値Thはノイズ量に応じて決定する。例えば平坦領域における分散などの統計量を参考にしてもよい。またこの統計量を用いて入力画像時点での画素値に応じて閾値を段階的に設けてもよい。
 比較結果情報と重み情報が求められたら、コスト算出部130は、比較結果情報と重み情報に基づいてコストを算出する。例えば下式(4)に示すように画素毎或いはビット毎に積を取り、領域内画素での結果の総和をコストCとして算出すればよい。ただし下式(4)では、k=0且つl=0の時は計算から除く。
Figure JPOXMLDOC01-appb-M000004
 なお、コストは上記のセンサス変換結果を用いる手法と、他の手法を組み合わせて算出してもよい。例えば、画像の画素値より算出したSADやSSD、画像の微分結果より算出したSADやSSDなどと組み合わせてもよい。その際の組み合わせ方は種々考えられるが、例えば下式(5)のように組み合わせてもよい。下式(5)におけるC1~C3は各手法で算出したコストを表し、γ1~γ3は実験的に得られたパラメータを表す。複数の手法での算出結果を組み合わせる際に、このパラメータにより各手法で算出したコストのバランスを調整する。
Figure JPOXMLDOC01-appb-M000005
 また、コストに閾値を持たせてもよい。その閾値は各手法で算出したコストそれぞれに対して設けてもよいし、組み合わせた結果に対して設けてもよい。一例を下式(6)、(7)に示す。下式(6)が各手法で算出したコストごとに閾値を設ける例であり、τ1~τ3は各手法で算出したコストに対する閾値を表す。下式(7)が組み合わせた結果に対して閾値を設ける例であり、τは全体のコストに対する閾値を表す。なお。min(p,q)はpとqの小さい方を表し、下式(6)では、各手法で求められたコストが、それぞれ対応する閾値を超えないように制限を設けていることになる。同様に、下式(7)では、全体としてのコストが閾値を超えないように制限を設けている。
Figure JPOXMLDOC01-appb-M000006
Figure JPOXMLDOC01-appb-M000007
 全ての注目画素に対してS103~S108の処理が行われたら、S103で開始した注目画素ループを終了する(S109)。また、S102でシフト量を更新しつつ、全てのシフト量でS102~S109の処理が行われたら、S101で開始されたシフト量ループを終了する(S110)。
 ループ処理が終了した段階で、画像上の全ての画素に対して、それぞれd1~d2のシフト量の範囲でのコストが計算されたことになる。そこで視差量決定部140は、図9に示すようにコスト算出部130においてシフト探索範囲内(図3、図9ではd1~d2)で算出したコストを、画素毎に比較し、最も小さいコストを持つシフト量Dを該当画素の視差量として算出する。
 以上の本実施形態では、重み設定部120は、注目画素と周辺画素の差分値を求め、求めた差分値に基づいてノイズの影響を判定して重み情報を設定する。
 具体的には上述したように、重み設定部120は差分算出部121を含み、差分算出部121での算出結果に基づいて重みを設定する。なお、上述の例では差分絶対値を用いたが、単純な差分値(正負の値を含む)ものであってもよい。これにより、画素値の差分値から、各周辺画素がノイズの影響の受けやすいか否かを判定することが可能になる。
 また、重み設定部120は、第1の画像の周辺画素と注目画素の差分値と所与の閾値との比較結果、及び、第2の画像の周辺画素と注目画素の差分値と所与の閾値の比較結果に基づいて、周辺画素に対する重み情報を設定してもよい。
 これにより、左右画像のそれぞれに対して、差分値に対する閾値処理により、重みを設定することが可能になる。
 具体的には、重み設定部120は、第1の画像の周辺画素と注目画素の差分値と、第2の画像の周辺画素と注目画素の差分値のうち、少なくとも一方が所与の閾値以下の場合に、周辺画素に対して第1の重み(コストに対する寄与度が小さい重み)を設定する。
 左右画像はそもそも撮像時の撮像部の位置が異なるものであるし、さらに左右画像のうち一方は所与のシフト量だけシフトされるため、所定範囲内での各周辺画素でのノイズの影響の大小は、左画像と右画像では異なるはずである。そして、比較結果情報は左右画像のセンサス変換結果を比較して求める以上、所与の位置の周辺画素での比較結果情報の演算には左右画像の両方が用いられる。つまり、所与の周辺画素での比較結果情報が信頼できるか否かは、左右画像の両方でノイズの影響が少ないと判定されるか否かで決定するとよい。逆に言えば、少なくとも一方でノイズの影響が大きいのであれば、当該周辺画素についてはコストに対する寄与度を下げる、すなわち第1の重みを設定するほうが、ノイズに対するロバスト性を高めることが可能である。
 なお、ここでは差分絶対値を想定しているため、差分値≦閾値Thの場合にノイズの影響が大きいと判定している。つまり負の差分値も考慮するのであれば、負の閾値Th2も設定しておき、差分値<0であれば、差分値≧Th2の場合にノイズの影響が大きいと判定することになる。
 また、重み設定部120は、差分値との比較処理に用いられる所与の閾値を、ノイズに応じて設定してもよい。
 これにより、ノイズに応じた閾値設定が可能になる。例えば、ノイズが多い環境では、注目画素と周辺画素の差分値がある程度大きくても、ノイズにより大小関係が逆転してしまう可能性がある。逆にノイズが少ない環境では、注目画素と周辺画素の差分値があまり大きくなくても、ノイズにより大小関係が逆転してしまう可能性が低い。つまり、閾値は一定値にするのではなく、想定されるノイズの状況に応じて変更することで、柔軟な処理を行うことが可能になる。
 また、センサス処理部110は、比較処理の結果を数値に変換して比較結果情報を取得してもよい。
 具体的には、上述したようにXOR演算部1131での演算結果を、センサスビット変換部1132において、変換パラメータγ、δを用いて変換すればよい。
 非特許文献2では、左右画像を比較してハミング距離を算出した結果、所与の周辺画素において、注目画素との差分が左右画像の両方でノイズバッファ内にある場合と、左右画像の両方で同符号のノイズバッファ外にある場合とで、該当画素がハミング距離にもたらす値はどちらの場合においても0である。つまり、ノイズバッファ内か否かを判定し、付与するビットデータを00とするか,01又は10とするかを分けているにもかかわらず、左右画像で付与されたビットデータが等しい場合、コストに対する寄与度に差異がなくなってしまう。そのため、ノイズによってハミング距離へ影響を与える画素とそうでない画素の切り分けが出来ないおそれがある。
 その点、上述したようにセンサスビット変換部1132による変換処理を行った上で重み情報との積を取れば、左右画像に差がない画素についても値は0にならず、当該画素はコストに寄与することになる。特に本実施形態では、ノイズの影響を考慮して重み情報を設定しているため、左右画像に差がない画素についても、ノイズの影響に応じて寄与度に差異を設けることが可能である。図7、図8の例であれば、左右画像に差がない画素からはコストを減少させる値が求められることになるが、ノイズの影響が小さければ当該値は-2.3となりコスト減少効果が大きく、ノイズの影響が大きければ当該値は-1となりコスト減少効果が小さいという違いが生じている。
 また、本実施形態の画像処理装置100等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、CPU等のプロセッサがプログラムを実行することで、本実施形態の画像処理装置100等が実現される。具体的には、情報記憶装置に記憶されたプログラムが読み出され、読み出されたプログラムをCPU等のプロセッサが実行する。ここで、情報記憶装置(コンピュータにより読み取り可能な装置)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、CD等)、HDD(ハードディスクドライブ)、或いはメモリ(カード型メモリ、ROM等)などにより実現できる。そして、CPU等のプロセッサは、情報記憶装置に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち、情報記憶装置には、本実施形態の各部としてコンピュータ(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
 また、本実施形態の画像処理装置100等は、プロセッサとメモリを含んでもよい。ここでのプロセッサは、例えばCPU(Central Processing Unit)であってもよい。ただしプロセッサはCPUに限定されるものではなく、GPU(Graphics Processing Unit)、或いはDSP(Digital Signal Processor)等、各種のプロセッサを用いることが可能である。またプロセッサはASICによるハードウェア回路でもよい。また、メモリはコンピュータにより読み取り可能な命令を格納するものであり、当該命令がプロセッサにより実行されることで、本実施形態に係る画像処理装置100等の各部が実現されることになる。ここでのメモリは、SRAM、DRAMなどの半導体メモリであってもよいし、レジスタやハードディスク等でもよい。また、ここでの命令は、プログラムを構成する命令セットの命令でもよいし、プロセッサのハードウェア回路に対して動作を指示する命令であってもよい。
 また、本実施形態は種々の変形実施が可能である。例えば、重みに0やそれに近い値が含まれる場合、例えば平坦領域などのノイズの影響を受けやすいところでどのシフト量においてもコストがほぼ0となる場合がある。その場合には視差マップ算出後、例えばBelief Propagationなどの伝播処理を行ってそういった領域に対して補間してもよい。また、この補間処理は第2~第5の実施形態において実行してもよい。
 3.第2の実施形態
 図10に第2の実施形態の処理を説明するフローチャートを示す。図10のS201~206、S209~S212は、図3のS101~S106、S108~S111と同様であるため詳細な説明は省略する。
 図11に本実施形態に係る重み設定部120の構成例を示す。重み設定部120は、差分算出部121と、差分判定部122と、設定処理部123を含む。
 S206において、差分算出部121は左右画像のそれぞれに対して、注目画素と周辺画素の差分絶対値を算出する。差分判定部122は、下式(8)に示す通り、左右画像それぞれ対して差分算出部121の出力結果が閾値以上ならば1を、そうでないならば0を画素毎に出力する(S207)。ただし、第1の実施形態と等価にするために、出力結果が閾値と等しい場合には0としてもよい。下式(8)においてdiffthは差分判定部122の出力を表す。
Figure JPOXMLDOC01-appb-M000008
 差分判定部122では、判定結果を左右それぞれ1ビット画像として出力してもよいし、センサス変換において大小比較画像からビット列にするように、左右それぞれW*W-1ビットのビット列として出力してもよい。第1の実施形態と同様、以降の式や図では分かりやすくするために、センサス変換部111の出力及び差分判定部122での判定結果が画像である場合を想定して記載する。
 設定処理部123は、差分判定部122の出力結果である左右の1ビット画像或いはW*W-1ビットのビット列から重みマスクを作成する(S208)。下式(9)に示す通り、重みマスクの作成方法は左右の1ビット画像を画素毎に、或いはW*W-1ビットのビット列同士のANDを取る論理演算を行えばよい。下式(9)において、diffth1、diffth2はそれぞれ左右画像に対する差分判定部122の出力を表す。
Figure JPOXMLDOC01-appb-M000009
 つまり注目画素と周辺画素の差分の絶対値が、左右いずれかの一方で閾値以下の場合を0とした重みマスクを作成する。センサス結果比較部113の出力と差分判定部122または設定処理部123の出力は、それぞれ独立したデータとして扱われるものに限定されず、結合または統合された1つのビットデータであってもよい。
 なお、S205において行われるセンサス結果比較部113における処理は、第1の実施形態と同様であり、出力はビットデータ(XOR演算部1131の出力)でもよいし、数値データ(センサスビット変換部1132の出力)でもよい。ただしセンサスビット変換部1132がない場合の方がビット演算で処理出来るため、処理が軽くなる。
 コスト算出部130は、比較結果情報と重み情報に基づいてコストを算出する。コスト算出部130は、比較結果情報と重み情報を、画素毎或いはビット毎に積を取る。比較結果情報がビットデータであり、重み情報もビットデータ(重みマスク)であれば、これらの結果は共に1ビットデータであるためANDを取る論理演算を行えばよいことになる。
 そしてコスト算出部130は、図12で示す通り、ANDを取った結果を1画素ずつ或いは1ビットずつ加算していく。具体的には上式(4)と同様の処理を行えばよい。
 以上の本実施形態では、重み設定部120は、第1の重みとして第1の論理レベルが設定され、第2の重みとして第1の論理レベルとは異なる第2の論理レベルが設定される重みマスクを、重み情報として設定する。
 ここで、第1の論理レベルと第2の論理レベルとは異なる論理レベルであり、上述の例であれば第1の論理レベル=0、第2の論理レベル=1となるビットデータである。ただし、第1,第2の論理レベルは1ビットデータに限定されるものではなく、2ビット以上のデータを用いる等、種々の変形実施が可能である。
 これにより、重み情報としてビットデータ(重みマスク)を用いることが可能になり、コスト算出処理を容易にすることが可能になる。例えば上述の例であれば、コストの算出はビットデータである比較結果情報と重みマスクのANDを取るだけでよい。
 また、重み設定部120は、第1の画像について、第1の重みとして第1の論理レベルを設定し、第2の重みとして第2の論理レベルを設定して、第1の重み情報を求め、第2の画像について、第1の重みとして第1の論理レベルを設定し、第2の重みとして第2の論理レベルを設定して、第2の重み情報を求め、第1の重み情報と、第2の重み情報による論理演算を行って重みマスクを求めてもよい。
 第1の実施形態においても上述したように、重みを設定する際には、左右画像の両方におけるノイズの影響を考慮するとよい。その際、左画像の差分算出結果と、右画像の差分算出結果を、差分判定部122において、それぞれ第1,第2の論理レベルを用いて表現しておけば、その両方を考慮した重みマスクを容易に求めることができる。具体的には、設定処理部123では、ビットデータである左右画像それぞれの差分判定結果のANDを取るだけで重みマスクを求めることが可能である。なお、ここでの論理演算は必ずしもANDに限定されるものではない。
 また、コスト算出部130は、比較結果情報と、重みマスクを用いた周辺画素ごとの演算結果を累積した結果に対して、第2の論理レベルとなる周辺画素の数を用いた平均化処理を行ってコストを算出してもよい。
 上述した例では、コストはセンサス結果比較出力と重みマスクを積算した結果の総和を取るとした。しかし、上記総和の結果を重みマスクの有効画素の数で割った値をコストとしてもよい。ここで言う有効画素とは重みマスクにおいて1が与えられている画素であり、図12ではこの有効画素数は12となる。したがってここでのコストを7÷12として求めてもよい。つまり総和から算出したコストを有効画素で平均化するということになる。これにより、重みマスク内の有効画素数の大きさに寄らず、コストを得ることが出来る。
 例えば、有効画素が多い場合には、比較結果情報に含まれる1のビットの画素数が比較的少なくても、算出されるコストはある程度大きい値となることが期待される。比較結果情報が1の画素で、重みも1となっている可能性が高く、当該画素の値がコストに反映されやすいためである。それに対して、有効画素が少ない場合には、比較結果情報に含まれる1のビットの画素数が比較的多かったとしても、算出されるコストはそれほど大きい値とならないと考えられる。比較結果情報が1の画素があっても、当該画素の重みが0となっている可能性が高く、当該画素の値がコストに反映されにくいためである。
 つまり、有効画素数は、コストの大小に影響を及ぼす可能性がある。そのため、厳密な判定を行うのであれば、有効画素数の差をキャンセルする処理を追加するとよく、具体的には上述したように有効画素で平均化すればよい。
 4.第3の実施形態
 図13に第3の実施形態の処理を説明するフローチャートを示す。図13のS301~308、S310~S312は、図10のS201~S208、S210~S212と同様であるため詳細な説明は省略する。
 本実施形態のコスト算出部130は、比較結果情報と重みマスクに基づいて、コストを算出する。重み設定部120の出力が1ならば、同じ画素における比較結果情報の値をコストに加算し、そうでなければ演算をスキップする。詳しいフローチャートを図14に示す。
 本実施形態のコスト算出処理が開始されると、まずコストを表す変数Cを0で初期化する(S401)。そして、周辺画素分だけのループ処理を開始する(S402)。具体的には、処理対象としている周辺画素に対応する重みマスクのビットデータが1か否かを判定し(S403)、重みマスクの値が1であれば、処理対象としている周辺画素における比較結果情報の値を、Cに加算する(S404)。一方、重みマスクの値が1でなければ(0であれば)、S404の処理をスキップして周辺画素ループを継続する。そして、全ての周辺画素について処理が行われたら、周辺画素ループを終了し(S405)、コスト算出処理を終了する。
 以上の本実施形態では、コスト算出部130は、重みマスクの値が第1の論理レベルとなる画素では、コストの算出処理をスキップする。
 これは図14のフローチャートで言えば、S403でNoの場合(第2の論理レベルである1のビットが立っていない場合)に、S404の処理をスキップすることに相当する。このようにすれば、重みマスクの乗算(比較結果情報が数値データの場合)或いはAND演算(比較結果情報がビットデータの場合)が不要であるため、回路の規模を抑えることが可能になる。
 5.第4の実施形態
 図15に第4の実施形態の処理を説明するフローチャートを示す。上述してきた実施形態と比較した場合、S509に設定処理部123における処理が追加された実施形態となっている。
 具体的には、第2,第3の実施形態と同様に、設定処理部123は左右画像の差分判定結果のANDを取って重みマスクを作成する(S508)。本実施形態では、設定処理部123は、さらに下式(10)及び図16に示す通り、求められた重みマスクについて、画素毎或いはビット毎において、出力が1ならば出力が0の時に比べて大きい値に変換する。下式(10)において、M’は最終的に重み設定部120から出力される重み情報の値を表し、Mは重みマスクの値を表し、ε及びφは変換パラメータを表す。なお変換パラメータε、φは実験的に事前に算出しておく。また、ε及びφの値は整数に限らない。
Figure JPOXMLDOC01-appb-M000010
 コスト算出部130は、下式(11)及び図17に示す通り、センサス結果比較部113及び設定処理部123の出力に基づいて、コストを算出する。ただし、下式(14)ではk=0且つl=0の時は計算から除く。具体的には、画素毎に比較結果情報と重み情報の値を掛け合わせて、この演算結果を所定領域内の周辺画素全てで足し合わせた結果をコストとする。図17では比較結果情報は数値データとしているが、当然センサスビット変換部1132を用いずビットデータとしてもよい。
Figure JPOXMLDOC01-appb-M000011
 つまり本実施形態は、第1の実施形態では直接的に求めていた数値データである重み情報を、ビットデータである重みマスクを求めるフェーズと、当該重みマスクを数値データに変換するフェーズの2つに分けて求める例と言うことができる。
 6.第5の実施形態
 図18に第5の実施形態の処理を説明するフローチャートを示す。上述してきた実施形態と比較した場合、コスト算出部130におけるコスト算出処理が、テーブル参照を行うステップ(S609)と、参照結果に基づいて演算を行うステップ(S610)により実現される点が異なる。
 なお、コスト算出部130以外の各部は、第1の実施の形態と同様とすればよいが、センサス結果比較部113については、センサスビット変換部1132は用いずに、出力結果がビットデータであるものとして説明する。同様に、重み情報も重みマスクであるものとして説明する。
 コスト算出部130は、図19で示すようにセンサス結果比較部113及び設定処理部123の出力に応じて事前に用意されている変換テーブルを参照して、1周辺画素当たりのコストを表す所定値に変換する。上述したように、比較結果情報と重み情報がともにビットデータであれば、変換テーブルは(比較結果情報,重みマスク)=(0,0),(0,1),(1,0),(1,1)の4つを、それぞれ所定値と対応付ける情報となる。
 その際に、変換結果は図19のように、(比較結果情報,重みマスク)=(1,1)>(1,0)≧(0,0)>(0,1)の順で大きい値を持つように設定する。図19の例であれば(1,1)の場合が2.5で最大となり、(1,0)の1.2、(0,0)の-1.2、(0,1)の-2.5の順となる。なお、コストが最大となるシフト量を視差量とするならば、上記の並びを逆順にすればよい。
 以上の並びについて説明する。比較結果情報=1とは、左右画像でセンサス変換結果の値が異なる画素である。その場合、左右画像で違いがあるのだから、当該状態でのシフト量は視差量として採用されにくくすべきである。つまり、コストが高いほど一致度が低い(視差量として採用されにくい)場合であれば、比較結果情報=1では比較結果情報=0に比べて、コストを高くするような値を設定することになる。つまり、(1,1)>(0,1)、(1,0)>(0,0)とするとよい。
 また、重みマスク=1とは重みマスク=0に比べて、寄与度が高い場合の値である。つまり、コストを高くすべき状況では、重みマスク=1での増加幅>重みマスク=0での増加幅とすべきであるし、コストを低くすべき状況では、重みマスク=1での増加幅<重みマスク=0での増加幅(或いは重みマスク=1での減少幅>重みマスク=0での減少幅)とすべきである。つまり、(1,1)>(1,0)、(0,0)>(0,1)とするとよい。
 以上をまとめれば、(1,1)>(1,0)>(0,0)>(0,1)の関係が導ける。ただし、重みマスク=0の場合に、コストに対する寄与度を0とするような実施例がありえる。その場合、(1,0)と(0,0)の間に差異を設ける必要はない。よって、(1,0)と(0,0)については同じ値を設定してもよく(等号が成立してもよく)、(1,0)≧(0,0)となる。
 また、センサス結果比較部113にてセンサスビット変換部1132を用いた場合には、それぞれXOR演算部1131の演算結果が0及び1に対応する値を上記の順序にあてはめるとよい。
 S609での処理により、図19の変換結果に示すように、周辺画素ごとに、当該画素についてのコスト相当の値が求められたことになる。よって下式(12)に示す通り、コスト算出部130は重みS609の出力結果を所定領域内で足し合わせた結果をコストとする。ただし、下式(12)において、TMは重み変換テーブルによる変換結果をあらわす。また、k=0且つl=0の時は計算から除く。
Figure JPOXMLDOC01-appb-M000012
 以上の本実施形態では、コスト算出部130は、比較結果情報と、重み情報と、コストとを対応付ける変換テーブルを参照してコストを算出する。
 ここで変換テーブルとは例えば図19に示したテーブルである。また、ここでは比較結果情報(センサス結果比較部113の出力)と重み情報(差分判定部122の出力)に対応付けられている変換結果をコストとしているが、当該変換結果は単体で注目画素に対するコストを表すものではない。当該変換結果を全周辺画素にわたって累積することでコストが求められるという点を考えれば、変換結果とは1周辺画素当たりのコストを表す情報と言うことも可能である。
 このようにすれば、比較結果情報と重み情報の乗算等を行うことなく、コストを演算することが可能になる。なお、本実施形態では変換テーブルを保持しておかなくてはならないが、図19からもわかるように、変換テーブル自体のデータ量はそれほど大きくないため、問題とならない。
 また、変換テーブルを参照したコスト算出処理とは、具体的には、コスト算出部130において、比較結果情報により表される値と、重みマスクの値の組み合わせに応じて、変換結果が決定される変換テーブルを参照し、所定領域において画素ごとに求められた変換結果を用いてコストを算出する処理であってもよい。
 さらに具体的には、比較結果情報についてもビットデータであってもよい。図19の変換テーブルからもわかるように、比較結果情報の値や重み情報の値は、値自体がいくつであるかは重要でなく、何通りの値を取り得るうちのどの値であるかということが重要となる。例えば、比較結果情報の値は、左右画像が等しいか否かの2値しか取らない、また、重み情報についても寄与度の高いものと低いものの2値しか取らないという場合であれば、それら2値を相互に識別可能であれば処理上十分である。この場合、具体的な数値データを割り当てるまでもなく、1ビットのビットデータを用いればよいことになる。つまり、比較結果情報や重み情報をビットデータとすることで、余計な変換処理を抑止して効率的にコスト算出処理を行うことが可能になる。
 なお、比較結果情報や重み情報として数値データを用いたり、ビットデータとして2ビット以上のビットを割り当てたりすることで、比較結果情報や重み情報が3通り以上の値をとるものとしてもよい。その場合でも、比較結果情報の値と重み情報の値の全ての組み合わせについて、変換結果を対応付けておくことで、変換テーブルによる処理は可能である。例えば、比較結果情報がs通りの値をとり、重み情報がt通りの値をとるのであれば、s×t行の変換テーブルを保持しておくことで、上述した例と同様に処理を行うことができる。
 以上、本発明を適用した5つの実施の形態1~5およびその変形例について説明したが、本発明は、各実施の形態1~5やその変形例そのままに限定されるものではなく、実施段階では、発明の要旨を逸脱しない範囲内で構成要素を変形して具体化することができる。また、上記した各実施の形態1~5や変形例に開示されている複数の構成要素を適宜組み合わせることによって、種々の発明を形成することができる。例えば、各実施の形態1~5や変形例に記載した全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態や変形例で説明した構成要素を適宜組み合わせてもよい。また、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。このように、発明の主旨を逸脱しない範囲内において種々の変形や応用が可能である。
100 画像処理装置、110 センサス処理部、111 センサス変換部、
113 センサス結果比較部、120 重み設定部、121 差分算出部、
122 差分判定部、123 設定処理部、130 コスト算出部、
140 視差量決定部、150 画像シフト部、1131 XOR演算部、
1132 センサスビット変換部

Claims (14)

  1.  第1の画像と第2の画像に対するステレオマッチング処理において、前記第1の画像及び前記第2の画像に対してセンサス変換を行い、前記第1の画像の前記センサス変換の結果と前記第2の画像の前記センサス変換の結果との比較処理に基づいて、比較結果情報を求めるセンサス処理部と、
     コストの算出に用いられる重み情報を設定する重み設定部と、
     前記比較結果情報と、前記重み情報に基づいて、注目画素での前記コストを算出するコスト算出部と、
     前記コストに基づいて、前記注目画素での視差量を求める視差量決定部と、
     を含み、
     前記重み設定部は、
     前記第1の画像及び前記第2の画像内の所定領域における、前記注目画素の周辺の複数の周辺画素のうち、ノイズによる影響が大きいと判断される前記周辺画素に対して、前記コストへの寄与度が小さい第1の重みを設定し、
     複数の前記周辺画素のうち、前記ノイズによる影響が小さいと判断される前記周辺画素に対して、前記コストへの寄与度が大きい第2の重みを設定することを特徴とする画像処理装置。
  2.  請求項1において、
     前記コスト算出部は、
     前記比較結果情報と、前記重み情報と、前記コストとを対応付ける変換テーブルを参照して前記コストを算出することを特徴とする画像処理装置。
  3.  請求項1において、
     前記重み設定部は、
     前記注目画素と前記周辺画素の差分値を求め、求めた前記差分値に基づいて前記ノイズの影響を判定して前記重み情報を設定することを特徴とする画像処理装置。
  4.  請求項3において、
     前記重み設定部は、
     前記第1の画像の前記周辺画素と前記注目画素の前記差分値と所与の閾値との比較結果、及び、前記第2の画像の前記周辺画素と前記注目画素の前記差分値と前記所与の閾値の比較結果に基づいて、前記周辺画素に対する前記重み情報を設定することを特徴とする画像処理装置。
  5.  請求項4において、
     前記重み設定部は、
     前記差分値との比較処理に用いられる前記所与の閾値を、前記ノイズに応じて設定することを特徴とする画像処理装置。
  6.  請求項4において、
     前記重み設定部は、
     前記第1の画像の前記周辺画素と前記注目画素の前記差分値と、前記第2の画像の前記周辺画素と前記注目画素の前記差分値のうち、少なくとも一方が前記所与の閾値以下の場合に、前記周辺画素に対して前記第1の重みを設定することを特徴とする画像処理装置。
  7.  請求項1において、
     前記センサス処理部は、
     前記比較処理の結果を数値に変換して前記比較結果情報を取得することを特徴とする画像処理装置。
  8.  請求項1乃至7のいずれかにおいて、
     前記重み設定部は、
     前記第1の重みとして第1の論理レベルが設定され、前記第2の重みとして前記第1の論理レベルとは異なる第2の論理レベルが設定される重みマスクを、前記重み情報として設定することを特徴とする画像処理装置。
  9.  請求項8において、
     前記重み設定部は、
     前記第1の画像について、前記第1の重みとして前記第1の論理レベルを設定し、前記第2の重みとして前記第2の論理レベルを設定して、第1の重み情報を求め、
     前記第2の画像について、前記第1の重みとして前記第1の論理レベルを設定し、前記第2の重みとして前記第2の論理レベルを設定して、第2の重み情報を求め、
     前記第1の重み情報と、前記第2の重み情報による論理演算を行って前記重みマスクを求めることを特徴とする画像処理装置。
  10.  請求項8において、
     前記コスト算出部は、
     前記重みマスクの値が前記第1の論理レベルとなる画素では、前記コストの算出処理をスキップすることを特徴とする画像処理装置。
  11.  請求項8において、
     前記コスト算出部は、
     前記比較結果情報により表される値と、前記重みマスクの値の組み合わせに応じて、変換結果が決定される変換テーブルを参照し、前記所定領域において前記周辺画素ごとに求められた変換結果を用いて前記コストを算出することを特徴とする画像処理装置。
  12.  請求項8において、
     前記コスト算出部は、
     前記比較結果情報と、前記重みマスクを用いた前記周辺画素ごとの演算結果を累積した結果に対して、前記第2の論理レベルとなる前記周辺画素の数を用いた平均化処理を行って前記コストを算出することを特徴とする画像処理装置。
  13.  第1の画像と第2の画像に対するステレオマッチング処理において、前記第1の画像及び前記第2の画像に対してセンサス変換を行い、前記第1の画像の前記センサス変換の結果と前記第2の画像の前記センサス変換の結果との比較処理に基づいて、比較結果情報を求め、
     コストの算出に用いられる重み情報を設定し、
     前記比較結果情報と、前記重み情報に基づいて、注目画素での前記コストを算出し、
     前記コストに基づいて、前記注目画素での視差量を求め、
     前記重み情報の設定において、
     前記第1の画像及び前記第2の画像内の所定領域における、前記注目画素の周辺の複数の周辺画素のうち、ノイズによる影響が大きいと判断される前記周辺画素に対して、前記コストへの寄与度が小さい第1の重みを設定し、
     複数の前記周辺画素のうち、前記ノイズによる影響が小さいと判断される前記周辺画素に対して、前記コストへの寄与度が大きい第2の重みを設定することを特徴とする画像処理方法。
  14.  第1の画像と第2の画像に対するステレオマッチング処理において、前記第1の画像及び前記第2の画像に対してセンサス変換を行い、前記第1の画像の前記センサス変換の結果と前記第2の画像の前記センサス変換の結果との比較処理に基づいて、比較結果情報を求めるセンサス処理部と、
     コストの算出に用いられる重み情報を設定する重み設定部と、
     前記比較結果情報と、前記重み情報に基づいて、注目画素での前記コストを算出するコスト算出部と、
     前記コストに基づいて、前記注目画素での視差量を求める視差量決定部として、
     コンピュータを機能させ、
     前記重み設定部は、
     前記第1の画像及び前記第2の画像内の所定領域における、前記注目画素の周辺の複数の周辺画素のうち、ノイズによる影響が大きいと判断される前記周辺画素に対して、前記コストへの寄与度が小さい第1の重みを設定し、
     複数の前記周辺画素のうち、前記ノイズによる影響が小さいと判断される前記周辺画素に対して、前記コストへの寄与度が大きい第2の重みを設定することを特徴とするプログラム。
PCT/JP2015/055337 2014-02-28 2015-02-25 画像処理装置、画像処理方法及びプログラム WO2015129724A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/248,780 US9842275B2 (en) 2014-02-28 2016-08-26 Image processing device, image processing method, and information storage device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-037955 2014-02-28
JP2014037955A JP6253450B2 (ja) 2014-02-28 2014-02-28 画像処理装置、画像処理方法及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/248,780 Continuation US9842275B2 (en) 2014-02-28 2016-08-26 Image processing device, image processing method, and information storage device

Publications (1)

Publication Number Publication Date
WO2015129724A1 true WO2015129724A1 (ja) 2015-09-03

Family

ID=54009040

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/055337 WO2015129724A1 (ja) 2014-02-28 2015-02-25 画像処理装置、画像処理方法及びプログラム

Country Status (3)

Country Link
US (1) US9842275B2 (ja)
JP (1) JP6253450B2 (ja)
WO (1) WO2015129724A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9986260B2 (en) * 2014-11-14 2018-05-29 Avago Technologies General Ip (Singapore) Pte. Ltd. Census transform data compression methods and systems
US9905020B2 (en) * 2015-02-12 2018-02-27 Texas Instruments Incorporated Method and circuitry for performing census transforms
US9940705B2 (en) * 2016-05-04 2018-04-10 Kla-Tencor Corporation System, method and computer program product for detecting defects in a fabricated target component using consistent modulation for the target and reference components
KR101850113B1 (ko) * 2016-09-30 2018-04-20 중앙대학교 산학협력단 스테레오 매칭 장치 및 방법
US10621446B2 (en) * 2016-12-22 2020-04-14 Texas Instruments Incorporated Handling perspective magnification in optical flow processing
KR101850649B1 (ko) * 2017-05-11 2018-04-20 중앙대학교 산학협력단 센서스 변환 기반의 스테레오 정합 장치 및 방법
KR102655086B1 (ko) * 2017-05-19 2024-04-08 모비디어스 리미티드 파이프라인 실행을 최적화하기 위한 방법들, 시스템들 및 장치
DE102017212339A1 (de) 2017-07-19 2019-01-24 Robert Bosch Gmbh Verfahren und Vorrichtung zur Bewertung von Bildausschnitten für eine Korrespondenzbildung
WO2019111371A1 (en) * 2017-12-07 2019-06-13 Renesas Electronics Corporation Data processing apparatus and data processing method
JP6986683B2 (ja) * 2018-01-05 2021-12-22 パナソニックIpマネジメント株式会社 視差値算出装置、視差値算出方法及びプログラム
JP6901424B2 (ja) * 2018-03-12 2021-07-14 株式会社東芝 画像処理装置、及び、画像処理方法
US11863713B2 (en) * 2019-10-30 2024-01-02 Texas Instruments Incorporated Methods and apparatus for image frame freeze detection

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003016427A (ja) * 2001-07-02 2003-01-17 Telecommunication Advancement Organization Of Japan ステレオ画像の視差推定方法
JP2008090601A (ja) * 2006-10-02 2008-04-17 Konica Minolta Holdings Inc 画像処理装置、画像処理装置の制御方法、および画像処理装置の制御プログラム
JP2009186442A (ja) * 2008-02-08 2009-08-20 Olympus Corp 画像処理装置、画像処理装置の信頼性評価方法および画像処理プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101200490B1 (ko) * 2008-12-10 2012-11-12 한국전자통신연구원 영상 정합 장치 및 방법
KR20120072245A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 스테레오 영상 정합 장치 및 방법
US8675102B2 (en) * 2012-06-08 2014-03-18 Apple Inc. Real time denoising of video

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003016427A (ja) * 2001-07-02 2003-01-17 Telecommunication Advancement Organization Of Japan ステレオ画像の視差推定方法
JP2008090601A (ja) * 2006-10-02 2008-04-17 Konica Minolta Holdings Inc 画像処理装置、画像処理装置の制御方法、および画像処理装置の制御プログラム
JP2009186442A (ja) * 2008-02-08 2009-08-20 Olympus Corp 画像処理装置、画像処理装置の信頼性評価方法および画像処理プログラム

Also Published As

Publication number Publication date
JP2015162156A (ja) 2015-09-07
JP6253450B2 (ja) 2017-12-27
US9842275B2 (en) 2017-12-12
US20160364875A1 (en) 2016-12-15

Similar Documents

Publication Publication Date Title
JP6253450B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP6115781B2 (ja) 画像処理装置及び画像処理方法
JP5980294B2 (ja) データ処理装置、撮像装置、およびデータ処理方法
JP5331816B2 (ja) 画像補正装置及び画像補正方法
JP6324155B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP6128987B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
US8638983B2 (en) Digital image processing apparatus, tracking method, recording medium for storing computer program for executing the tracking method, and digital image processing apparatus adopting the tracking method
JP5870598B2 (ja) 画像のホワイトバランス処理方法及び装置
JP2018518735A (ja) カラーキャリブレーション装置及び方法
US10142613B2 (en) Image processing apparatus, image processing system, and image processing method
US20150187051A1 (en) Method and apparatus for estimating image noise
JP4709794B2 (ja) 動き推定装置及びその方法
JP6395429B2 (ja) 画像処理装置、その制御方法及び記憶媒体
US10122939B2 (en) Image processing device for processing image data and map data with regard to depth distribution of a subject, image processing system, imaging apparatus, image processing method, and recording medium
JP2019067169A (ja) 移動ベクトル算出方法、装置、プログラム、及びノイズ除去処理を含む移動ベクトル算出方法
JP6388507B2 (ja) 画像処理装置
US9679363B1 (en) System and method for reducing image noise
Marrugo et al. Improving the blind restoration of retinal images by means of point-spread-function estimation assessment
US9270883B2 (en) Image processing apparatus, image pickup apparatus, image pickup system, image processing method, and non-transitory computer-readable storage medium
JP2016201037A (ja) 画像処理装置、画像処理方法及びプログラム
TW201505425A (zh) 在資料處理裝置內實施的低複雜度雙邊濾波(bf)
JP2021071793A (ja) 画像処理装置、画像処理方法、撮像装置、プログラム、および記憶媒体
JP2011171991A (ja) 画像処理装置、電子機器、画像処理方法、および、画像処理プログラム
JP2010079815A (ja) 画像補正装置
JP5413267B2 (ja) 物体検出装置および物体検出プログラム

Legal Events

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

Ref document number: 15755370

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15755370

Country of ref document: EP

Kind code of ref document: A1