RU2419880C2 - Method and apparatus for calculating and filtering disparity map based on stereo images - Google Patents
Method and apparatus for calculating and filtering disparity map based on stereo images Download PDFInfo
- Publication number
- RU2419880C2 RU2419880C2 RU2008144840/09A RU2008144840A RU2419880C2 RU 2419880 C2 RU2419880 C2 RU 2419880C2 RU 2008144840/09 A RU2008144840/09 A RU 2008144840/09A RU 2008144840 A RU2008144840 A RU 2008144840A RU 2419880 C2 RU2419880 C2 RU 2419880C2
- Authority
- RU
- Russia
- Prior art keywords
- disparity
- pixel
- filtering
- gradient
- disparity map
- Prior art date
Links
Images
Landscapes
- Image Processing (AREA)
Abstract
Description
Заявляемое изобретение относится к устройствам и способам обработки стерео изображений и видео и, в частности, к методам вычисления и улучшения карты диспарантности на основе стерео изображений.The claimed invention relates to devices and methods for processing stereo images and video, and, in particular, to methods for calculating and improving disparity maps based on stereo images.
Вычисление карты диспарантности или стерео совмещение - задача обнаружения однозначного соответствия пикселей между стерео видами. Входными данными являются два или более изображений от нескольких камер, выходными - карта диспарантности, которая задает соответствие каждого пикселя одного изображения с соответствующим пикселем другого изображения. Для близких по расстоянию объектов величина получаемой диспарантности будет большой, в то время как для удаленных объектов величина полученной диспарантности стремится к нулю. Таким образом, карта диспарантности может рассматриваться как величина, обратно пропорциональная глубине сцены.Calculation of a disparity map or stereo combination - the task of detecting a unique pixel correspondence between stereo views. The input data is two or more images from several cameras, the output is a disparity map, which sets the correspondence of each pixel of one image with the corresponding pixel of another image. For objects close in distance, the value of disparity obtained will be large, while for distant objects, the value of disparity obtained will tend to zero. Thus, the disparity map can be considered as a value inversely proportional to the depth of the scene.
Алгоритмы совмещения стерео пары могут быть классифицированы как локальные (работающие в локальном окне) и глобальные алгоритмы [5]. Локальные алгоритмы вычисляют карту диспарантности в некотором локальном окне. При этом результат вычисления зависит только от яркости пикселя в окне. Результаты выполнения таких алгоритмов являются обычно не очень точными, но приемлемыми для применения в режиме реального времени. С другой стороны, глобальные алгоритмы решают оптимизационную задачу для всего изображения. Это обычно требует использования сложных вычислительных методов, таких как динамическое программирование или алгоритмы сечения графа.Stereo pair matching algorithms can be classified as local (working in a local window) and global algorithms [5]. Local algorithms compute a disparity map in some local window. In this case, the calculation result depends only on the brightness of the pixel in the window. The results of such algorithms are usually not very accurate, but acceptable for real-time use. On the other hand, global algorithms solve the optimization problem for the entire image. This usually requires the use of complex computational methods, such as dynamic programming or graph section algorithms.
Однако большинство известных алгоритмов совмещения стерео пары дают противоречивые результаты, особенно для областей с преграждающим объектом и областей со слабо выраженной текстурой. Таким образом, существует потребность в создании способа вычисления карты диспарантности в режиме реального времени, который обеспечивал бы получение высококачественной карты диспарантности, пригодной для формирования виртуальных видов.However, most well-known stereo pairing algorithms give conflicting results, especially for areas with a blocking object and areas with a weak texture. Thus, there is a need to create a method for calculating a disparity map in real time, which would provide a high-quality disparity map suitable for generating virtual views.
Обычно виртуальный вид вычисляют путем деформации исходного изображения с помощью полученной плотной карты диспарантности/глубины. Такая методика требует наличия достоверной карты глубины, в которой области с преградами (окклюзиями) должны быть интерполированы достоверными значениями карты глубины. В противном случае будут появляться многочисленные артефакты в формируемом виде, особенно на границах объектов, где глубина проявляет ступенчатость.Typically, the virtual look is calculated by deforming the original image using the resulting dense disparity / depth map. Such a technique requires a reliable depth map, in which areas with obstructions (occlusions) should be interpolated by reliable values of the depth map. Otherwise, numerous artifacts will appear in the formed form, especially at the boundaries of objects, where the depth shows stepping.
Синтез виртуальных видов является краеугольным камнем технологии трехмерного телевидения. Современные автостереоскопические трехмерные дисплеи способны воспроизвести несколько видов, позволяя, таким образом, наблюдать эффект объемного изображения под различными углами зрения.The synthesis of virtual species is the cornerstone of 3D television technology. Modern autostereoscopic three-dimensional displays are capable of reproducing several types, thus allowing one to observe the effect of a three-dimensional image from different angles of view.
Метод вычисления карты диспарантности, описанный в американской патентной заявке №2006/0120594 [1], состоит из двух основных частей: нахождение локального соответствия и глобальная оптимизация. Метод локального соответствия выявляет пиксели с высокой достоверностью соответствия. В рамках этого шага признают недействительными пиксели, идентифицированные как ненадежные (недостоверные). После этого применяется глобальная оптимизация, обеспечивающая оценку окончательного значения карты глубины. Глобальная оптимизация осуществляется в виде динамического программирования по двум направлениям: первый проход - по горизонтали, и второй проход - по вертикали. Недостаток метода состоит в очень высоких требованиях к вычислительным ресурсам. Приходится вычислять столько уровней карты диспарантности, сколько их имеется у ближайшего объекта в данной сцене. При высоком разрешении и широкоугольной камере число карт диспарантности, подлежащих вычислению, может лежать в диапазоне от 100 до 300. Кроме того во время локального совмещения применяют несколько направленных фильтров, чтобы определить веса совмещения стерео пары, что ведет к дополнительным накладным вычислительным затратам. И, наконец, глобальная оптимизация в вычислительном отношении также является весьма интенсивным процессом, даже если она выполняется в разделяемом виде, т.е. последовательно для строк изображения, а затем для столбцов.The method for calculating the disparity card described in US Patent Application No. 2006/0120594 [1] consists of two main parts: finding a local match and global optimization. The local matching method identifies pixels with high confidence. As part of this step, pixels identified as unreliable (invalid) are invalidated. After that, global optimization is applied, providing an estimate of the final value of the depth map. Global optimization is carried out in the form of dynamic programming in two directions: the first pass - horizontally, and the second pass - vertically. The disadvantage of this method is the very high demands on computing resources. We have to calculate as many levels of the disparity map as the nearest object in the scene has. At high resolution and a wide-angle camera, the number of disparity cards to be computed can range from 100 to 300. In addition, several directional filters are used during local matching to determine the stereo pairing weights, which leads to additional computational overhead. And finally, global optimization in computational terms is also a very intensive process, even if it is performed in a shared form, i.e. sequentially for image rows and then for columns.
Другой подход к последовательному совмещению стерео пары изложен в патенте США №7106899 [2]. Изобретение использует последовательную итерационную технологию, которая включает принцип гладкости градиента диспарантности и стратегию наименьших обязательств. Идея состоит в формировании достоверной карты диспарантности из соответствий однозначных пикселей посредством многочисленных итераций. Этот способ последовательно уменьшает число пикселей, подлежащих анализу на каждой итерации. Соответствия однозначных пикселей находят, используя новую технологию корреляции и на основании корреляционного балла, ассоциируемого с соответствием пикселя. Недостаток этого метода заключается в том, что он требует высоких вычислительных ресурсов.Another approach to sequentially combining a stereo pair is described in US Pat. No. 7106899 [2]. The invention utilizes a consistent iterative technology that includes the principle of smoothness of the disparity gradient and the least commitment strategy. The idea is to form a reliable disparity map from the correspondence of single-pixel pixels through numerous iterations. This method sequentially reduces the number of pixels to be analyzed at each iteration. Single-pixel matching is found using the new correlation technology and based on the correlation score associated with the pixel matching. The disadvantage of this method is that it requires high computational resources.
Наиболее близким к заявляемому изобретению является техническое решение, описанное в международной заявке WO 2008/041167 [3], где предложен способ вычисления карты диспарантности путем фильтрации приблизительных оценок значений карты диспарантности, используя информацию из стерео изображений. Такой подход является также итерационным. Основная идея состоит в том, чтобы перейти к достоверной карте глубины от шумового изображения (изображения, в котором яркость каждого пикселя задается случайным образом) или от некоторой приблизительно вычисленной карты глубины. На каждой итерации результат текущего вычисления карты диспарантности уточняют с помощью фильтрации в соответствии с опорными стерео изображениями. Эта патентная заявка выбрана в качестве прототипа заявляемого изобретения.Closest to the claimed invention is a technical solution described in international application WO 2008/041167 [3], which proposes a method for calculating a disparity map by filtering approximate estimates of the disparity map using information from stereo images. This approach is also iterative. The basic idea is to switch to a reliable depth map from a noise image (an image in which the brightness of each pixel is set randomly) or from some approximately calculated depth map. At each iteration, the result of the current calculation of the disparity map is refined by filtering in accordance with the reference stereo images. This patent application is selected as a prototype of the claimed invention.
Недостаток прототипа состоит в следующем. Способ-прототип использует попиксельное сравнение, вычисляя при этом вес фильтра уточнения карты диспарантности. Эта операция приводит к появлению искажений карты диспарантности в однородных областях и областях с периодически повторяющейся текстурой, где трудно определить корректное соответствие. Другой недостаток состоит в том, что этот алгоритм требует высокой интенсивности вычислений из-за выполнения многочисленных итераций. Требуется некоторая адаптация этого способа, чтобы ускорить сходимость алгоритма. С этой целью необходимо разработать критерий сходимости, который обеспечивал бы формирование гладкой и согласованной карты диспарантности.The disadvantage of the prototype is as follows. The prototype method uses pixel-by-pixel comparison, while calculating the weight of the refinement filter of the disparity map. This operation leads to the appearance of distortions of the disparity map in homogeneous regions and regions with periodically repeating texture, where it is difficult to determine the correct correspondence. Another disadvantage is that this algorithm requires a high computational intensity due to numerous iterations. Some adaptation of this method is required in order to accelerate the convergence of the algorithm. For this purpose, it is necessary to develop a convergence criterion that would ensure the formation of a smooth and consistent disparity map.
Задача, на решение которой направлено заявляемое изобретение, состоит в создании устройства и способа вычисления и фильтрации карты диспарантности на основе стерео изображений, обеспечивающих высокое качество вычисленной карты диспарантности без появления искажений (артефактов). При этом качество получаемой карты диспарантности должно быть пригодным для формирования виртуальных видов.The problem to which the claimed invention is directed, consists in creating a device and method for calculating and filtering a disparity card based on stereo images providing high quality of the calculated disparity card without distortion (artifacts). At the same time, the quality of the resulting disparity map should be suitable for the formation of virtual species.
Поставленная задача решена путем разработки способа и устройства для вычисления и фильтрации карты диспарантности на основе стерео изображений, при этом способ включает в себя выполнение следующих операций:The problem is solved by developing a method and device for calculating and filtering a disparity card based on stereo images, the method including the following operations:
- исходную стерео пару изображений или видео кадров преобразуют из цветового пространства RGB в цветовое пространство LAB;- the original stereo pair of images or video frames is converted from the RGB color space to the LAB color space;
- выполняют вычисление исходной карты диспарантности;- perform the calculation of the original disparity map;
- вычисляют карту диспарантности путем последовательных итераций фильтрации карты диспарантности;- calculate the disparity map by successive iterations of filtering the disparity map;
- рассчитывают степень фильтрации диспарантности согласно итерации;- calculate the degree of filtering disparity according to the iteration;
- рассчитывают размер ядра фильтра диспарантности согласно итерации;- calculate the size of the core filter disparity according to the iteration;
- вычисляют градиент диспарантности;- calculate the disparity gradient;
- выполняют фильтрацию диспарантности в соответствии со степенью фильтрации диспарантности, рассчитанным размером ядра фильтра и вычисленным градиентом диспарантности;- perform disparity filtering in accordance with the degree of disparity filtering calculated by the size of the filter core and the calculated disparity gradient;
- проверяют критерии сходимости, при этом, если они выполнены, фильтрацию прекращают;- check the convergence criteria, while if they are met, filtering is stopped;
- выполняют уточнение (улучшение) карты диспарантности.- perform refinement (improvement) of the disparity card.
Для реализации заявляемого способа разработано устройство вычисления и фильтрации карты диспарантности на основе стерео изображений, включающее в себя блок предварительной обработки, блок управления вычислением карты диспарантности, блок фильтрации диспарантности и блок постобработки, при этом основные отличия от прототипа заключаются в том, что выход блока предварительной обработки соединен с входом блока управления вычислением карты диспарантности, выход которого соединен с входом блока фильтрации диспарантности, выход которого соединен с входом блока постобработки.To implement the proposed method, a device for calculating and filtering a disparity card based on stereo images has been developed, which includes a pre-processing unit, a control unit for calculating a disparity card, a disparity filtering unit and a post-processing unit, the main differences from the prototype being that the output of the preliminary unit the processing is connected to the input of the control unit for calculating the disparity card, the output of which is connected to the input of the disparity filtering unit, the output of which connected to the input of the post-processing unit.
Заявляемый способ основан на идее перехода от приблизительной оценки карты диспарантности к достоверной карте глубины. Эта идея характеризуется, по меньшей мере, пятью основными отличиями от прототипа.The inventive method is based on the idea of moving from a rough estimate of the disparity map to a reliable depth map. This idea is characterized by at least five major differences from the prototype.
Первое отличие от известных решений состоит в распространении принципа билатерального фильтра диспарантности [3] на фильтр диспарантности, основанный на нелокальном усреднении (NLM). Билатеральный фильтр диспарантности можно рассматривать как частный случай фильтра диспарантности, основанного на нелокальном усреднении, когда окрестности пикселей представлены одним центральным пикселем. Вместо попиксельного сравнения в процессе вычисления веса фильтра как в [3] используют сравнение областей опорных пикселей. Это препятствует появлению искажений в однородных областях и в областях с периодически повторяющейся текстурой.The first difference from the known solutions is the extension of the principle of a bilateral disparity filter [3] to a disparity filter based on non-local averaging (NLM). A bilateral disparity filter can be considered as a special case of a disparity filter based on nonlocal averaging, when the neighborhood of the pixels is represented by one central pixel. Instead of pixel-by-pixel comparison, in the process of calculating the filter weight, as in [3], comparison of areas of reference pixels is used. This prevents the appearance of distortion in homogeneous areas and in areas with periodically repeating texture.
Второе отличие состоит в разработке критерия сходимости алгоритма, используя принцип гладкости градиента диспарантности [4]. На каждой итерации для каждого пикселя вычисляют и оценивают градиент диспарантности. Если гладкость градиента нарушена с точки зрения гладкости поверхности, то вес пикселя не принимают во внимание. Выполнение алгоритма останавливают, когда принцип гладкости градиента диспарантности выполняется для всех пикселей изображения.The second difference is the development of a convergence criterion for the algorithm using the principle of smoothness of the disparity gradient [4]. At each iteration, a disparity gradient is computed and evaluated for each pixel. If the smoothness of the gradient is impaired in terms of surface smoothness, then the weight of the pixel is not taken into account. The execution of the algorithm is stopped when the principle of smoothness of the disparity gradient is satisfied for all pixels of the image.
Третье отличие - адаптация степени фильтрации в соответствии с итерацией. Алгоритм начинается с применения самой слабой фильтрации, поскольку исходная карта диспарантности имеет низкую достоверность. Затем степень фильтрации увеличивают от итерации к итерации, разрешая все более сходным пикселям участвовать в процессе фильтрации.The third difference is the adaptation of the degree of filtration in accordance with the iteration. The algorithm begins by applying the weakest filtering, since the original disparity map has low confidence. Then the degree of filtering is increased from iteration to iteration, allowing more and more similar pixels to participate in the filtering process.
Четвертое отличие - вычисление радиуса фильтра в соответствии с итерацией. Поскольку схождение начинают с карты глубины низкой достоверности, то нет необходимости вовлекать большое число пикселей в процесс фильтрации. Алгоритм начинается с применения фильтра малого радиуса, а на последующих итерациях радиус фильтра увеличивается.The fourth difference is the calculation of the filter radius in accordance with the iteration. Since the convergence begins with a low-confidence depth map, there is no need to involve a large number of pixels in the filtering process. The algorithm begins with the use of a small radius filter, and at subsequent iterations, the filter radius increases.
Пятое отличие состоит в повышении производительности фильтра путем его реализации в разделяемом виде, а именно, когда изображение сначала обрабатывают проходом по строчкам, а затем - проходом по столбцам.The fifth difference is to increase the filter performance by implementing it in a shared form, namely, when the image is first processed by passing through rows, and then by passing through columns.
Способ, описанный в заявляемом изобретении, позволяет получать высококачественную карту диспарантности, пригодную для синтеза виртуальных видов с однородными границами объекта. Фиг.5 показывает результат вычисления карты диспарантности с использованием предложенного фильтра согласно изобретению. Левое изображение стерео пары, для которой выполняется вычисление карты диспарантности, представлено на Фиг.5.1. На Фиг.5.2 представлен результат вычисления карты диспарантности с применением известного фильтра-аналога [3], а на Фиг.5.3 представлен результат вычисления карты диспарантности с помощью предложенного фильтра согласно изобретению. Из Фиг.5.2 и 5.3 ясно видно, что заявляемый способ дает более достоверные результаты, особенно для гладких областей и областей с периодически повторяющимися текстурами. При этом остальные рабочие характеристики способа сохраняются на том же уровне, что и у фильтра-аналога [3].The method described in the claimed invention allows to obtain a high-quality disparity map suitable for the synthesis of virtual species with uniform object boundaries. Figure 5 shows the result of calculating a disparity map using the proposed filter according to the invention. The left image of the stereo pair for which the disparity map calculation is performed is shown in FIG. 5.1. Figure 5.2 shows the result of calculating the disparity map using a known filter analogue [3], and Figure 5.3 shows the result of calculating the disparity map using the proposed filter according to the invention. From Fig.5.2 and 5.3 it is clearly seen that the inventive method gives more reliable results, especially for smooth areas and areas with periodically repeating textures. In this case, the remaining performance characteristics of the method are maintained at the same level as that of the filter analog [3].
Фиг.1. Блок-схема устройства для вычисления и фильтрации карты диспарантности на основе стерео изображений согласно изобретению.Figure 1. Block diagram of a device for calculating and filtering a disparity map based on stereo images according to the invention.
Фиг.2. Блок-схема поэтапного выполнения способа вычисления и фильтрации карты диспарантности на основе стерео пары согласно изобретению.Figure 2. A block diagram of a phased implementation of a method for calculating and filtering a disparity card based on a stereo pair according to the invention.
Фиг.3. Новые концепции фильтрации, основанные на сравнении областей пикселей: 3.1 - концепция, основанная на использовании сравнения области одного пикселя; 3.2 - концепция, основанная на использовании сравнения области двух пикселей. На фиг.3 текущий пиксель обозначен в виде квадратика, а совмещаемый пиксель - в виде косого крестика.Figure 3. New filtering concepts based on the comparison of pixel areas: 3.1 - a concept based on the use of comparison of the area of one pixel; 3.2 is a concept based on the use of comparing the area of two pixels. In Fig. 3, the current pixel is indicated as a square, and the aligned pixel is indicated as an oblique cross.
Фиг.4. (вид 4.1) - вычисление карты диспарантности после первой итерации алгоритма (с левой стороны) с изображением градиента диспарантности (с правой стороны) с областями, демонстрирующими нарушение принципа гладкости градиента диспарантности (отмечено белым цветом); (вид 4.2) - вычисление карты диспарантности после второй итерации алгоритма (с левой стороны) с изображением градиента диспарантности (с правой стороны) с областями, демонстрирующими нарушение принципа гладкости градиента диспарантности (отмечено белым цветом).Figure 4. (view 4.1) - calculation of the disparity map after the first iteration of the algorithm (on the left side) with the image of the disparity gradient (on the right side) with areas showing violation of the principle of smoothness of the disparity gradient (marked in white); (view 4.2) - calculation of the disparity map after the second iteration of the algorithm (on the left side) with the image of the disparity gradient (on the right side) with areas showing violation of the principle of smoothness of the disparity gradient (marked in white).
Фиг.5. (вид 5.1) - левое изображение из стерео пары, для которой выполнялось вычисление карты диспарантности, (вид 5.2) - результат вычисления карты диспарантности с применением фильтра-аналога [3], (вид 5.3) - результат вычисления карты диспарантности с применением заявляемого фильтра согласно изобретению.Figure 5. (view 5.1) - the left image from the stereo pair for which the disparity map was calculated, (view 5.2) - the result of the calculation of the disparity map using an analog filter [3], (view 5.3) - the result of the calculation of the disparity map using the inventive filter according to invention.
Далее по тексту предпочтительный вариант реализации заявляемого изобретения описывается в деталях с привлечением графических материалов. Однако объем охраны заявляемого изобретения не ограничен предпочтительным вариантом реализации изобретения, которое может быть реализовано в различных формах. Предпочтительный вариант реализации, раскрытый в описании, является только примером, приведенным, чтобы раскрыть существо и помочь специалистам в полной степени понять заявляемое изобретение.Hereinafter, a preferred embodiment of the claimed invention is described in detail using graphic materials. However, the scope of protection of the claimed invention is not limited to the preferred embodiment of the invention, which can be implemented in various forms. The preferred embodiment disclosed in the description is only an example provided to disclose the essence and help specialists fully understand the claimed invention.
Фиг.1 - блок-схема, поясняющая конструкцию устройства для вычисления и фильтрации карты диспарантности на основе стерео изображений согласно заявляемому изобретению. На Фиг.1 показано, что устройство для вычисления и фильтрации карты диспарантности на основе стерео изображений включает в себя следующие соединенные один с другим блоки, а именно блок 120 предварительной обработки, блок 130 управления вычислением карты диспарантности, блок 140 фильтрации карты диспарантности и блок 150 постобработки. В устройстве для вычисления и фильтрации карты диспарантности в качестве входных данных 110 используют стерео изображения. Входные данные 110 могут включать в себя стерео пары изображений, сформированных из стерео изображений или видео кадров от стерео камеры. В случае использования многокамерных установок стерео пара изображений формируется из изображений, захваченных с выбранных камер. После выполнения необходимых вычислений на выходе устройства для вычисления и фильтрации карты диспарантности получают согласованную карту диспарантности для выбранного вида.Figure 1 is a block diagram explaining the design of a device for calculating and filtering a disparity card based on stereo images according to the claimed invention. Figure 1 shows that a device for calculating and filtering a disparity card based on stereo images includes the following blocks connected to one another, namely, a pre-processing unit 120, a disparity card calculation control unit 130, a disparity card filtering unit 140, and a block 150 post-processing. In the device for calculating and filtering the disparity card, stereo images are used as input 110. Input 110 may include stereo pairs of images formed from stereo images or video frames from a stereo camera. In the case of using multi-camera stereo settings, a pair of images is formed from images captured from selected cameras. After performing the necessary calculations at the output of the device for calculating and filtering the disparity cards, an agreed disparity card for the selected type is obtained.
Блок 120 предварительной обработки состоит из блока 121 цветового преобразования и блока 122 вычисления исходной карты диспарантности. Блок 121 цветового преобразования предназначен для преобразования из цветовой системы RGB в цветовую систему LAB. Проведенные эксперименты позволили прийти к заключению, что карта диспарантности, полученная с использованием цветового пространства LAB, является более непротиворечивой и гладкой. Для упрощения конструкции устройства этот блок может быть исключен из устройства, и фильтрация карты диспарантности может осуществляться в цветовом пространстве RGB. Блок 122 вычисления исходной карты диспарантности вычисляет исходную приблизительную карту диспарантности. Эта исходная карта диспарантности может быть получена с помощью известных из уровня техники алгоритмов совмещения стерео пары. Другой способ подготовки исходной карты диспарантности заключается в использовании шумового изображения.The pre-processing unit 120 consists of a color conversion unit 121 and an initial disparity map calculation unit 122. The color conversion unit 121 is for converting from an RGB color system to a LAB color system. The experiments performed allowed us to conclude that the disparity map obtained using the LAB color space is more consistent and smoother. To simplify the design of the device, this block can be excluded from the device, and the disparity card can be filtered in the RGB color space. An initial disparity map calculation unit 122 calculates an initial approximate disparity map. This initial disparity map can be obtained using stereo pairing algorithms known in the art. Another way to prepare the original disparity map is to use a noise image.
Блок 130 управления вычислением карты диспарантности состоит из блока 131 адаптации силы фильтра (степени фильтрации), блока 132 вычисления размера ядра фильтра и блока 133 управления итерациями. Задача блока 130 управления вычислением карты диспарантности заключается в проведении вычисления карты диспарантности и адаптации параметров фильтра диспарантности. Алгоритм вычисления карты диспарантности реализуется через ряд последовательных итераций. На каждой итерации блок 131 адаптации силы фильтра вычисляет силу фильтра диспарантности, а блок 132 вычисления размера ядра рассчитывает радиус фильтра диспарантности. Алгоритм начинается с самой малой степени фильтрации и самого малого размера ядра, так как исходная карта диспарантности имеет низкую надежность (достоверность). Затем степень (сила) фильтрации и размер ядра увеличивают от итерации к итерации, разрешая все более сходным пикселям участвовать в процессе фильтрации. В предпочтительном варианте реализации заявляемого изобретения функция адаптации степени (силы) фильтрации и вычисления размера ядра имеет линейный характер. При этом допустимо применение и функции любого другого вида, например гауссиан, и это не выходит за объем притязаний заявляемого изобретения.The disparity map calculation control unit 130 consists of a filter strength (degree of filtration) adaptation unit 131, a filter core size calculation unit 132, and iteration control unit 133. The task of the disparity map calculation control unit 130 is to calculate the disparity map and adapt the disparity filter parameters. The disparity map computation algorithm is implemented through a series of sequential iterations. At each iteration, the filter strength adaptation unit 131 calculates a disparity filter strength, and the kernel size calculator 132 calculates a radius of the disparity filter. The algorithm begins with the smallest degree of filtration and the smallest kernel size, since the original disparity map has low reliability (reliability). Then the degree (strength) of filtration and the size of the core are increased from iteration to iteration, allowing more and more similar pixels to participate in the filtering process. In a preferred embodiment of the invention, the function of adapting the degree (strength) of filtration and calculating the size of the core is linear. In this case, it is permissible to use functions of any other kind, for example, Gaussians, and this does not go beyond the scope of the claims of the claimed invention.
Во время каждой итерации блок 133 управления итерациями оценивает критерии сходимости для процесса фильтрации. В предпочтительной реализации заявляемого изобретения описаны три варианта критериев сходимости. Первый вариант критерия сходимости включает использование гладкости градиента диспарантности. Процесс фильтрации диспарантности прекращают, когда принцип гладкости градиента диспарантности выполняется для всех пикселей изображения. Отношение количества пикселей с гладким градиентом ко всем пикселям в изображении должно превышать порог Tdec1 сходимости вычисления карты диспарантности. Другой подход проверки сходимости заключается в вычислении остаточного изображения между смежными вычислениями карты диспарантности. Сумма остаточных пикселей не должна быть больше, чем порог Tdec2 сходимости вычисления карты диспарантности. Наконец, критерий сходимости может быть сформулирован как число итераций фильтрации диспарантности. Если число итераций превышает порог Tdec3 сходимости вычисления карты диспарантности, то процесс фильтрации прекращают.During each iteration, the iteration control unit 133 evaluates the convergence criteria for the filtering process. In a preferred implementation of the claimed invention, three variants of convergence criteria are described. The first version of the convergence criterion involves using the smoothness of the disparity gradient. The disparity filtering process is stopped when the principle of smoothness of the disparity gradient is satisfied for all pixels of the image. The ratio of the number of pixels with a smooth gradient to all pixels in the image must exceed the threshold T dec1 of convergence of the disparity map calculation. Another convergence verification approach is to calculate the afterimage between adjacent calculations of the disparity map. The sum of the residual pixels should not be greater than the threshold T dec2 of convergence of the calculation of the disparity map. Finally, the convergence criterion can be formulated as the number of iterations of disparity filtering. If the number of iterations exceeds the threshold T dec3 of convergence of the disparity map calculation, then the filtering process is stopped.
Блок 140 фильтрации диспарантности фильтрует вычисленную на текущем шаге алгоритма карту диспарантности, вычисляя веса фильтров в соответствии с опорными стерео изображениями и рассчитанным градиентом диспарантности. Блок 140 фильтрации диспарантности состоит из блока 141 вычисления градиента диспарантности, блока 142 горизонтальной фильтрации диспарантности и блока 143 вертикальной фильтрации диспарантности. Блок 141 вычисления градиента диспарантности вычисляет и оценивает градиент диспарантности для каждого пикселя. Если анализируемая гладкость градиента диспарантности гладкой поверхности нарушена, вес пикселя отбрасывают (не принимают в расчет). Блок 142 горизонтальной фильтрации диспарантности обрабатывает вычисление текущей карты диспарантности построчно, а блок 143 вертикальной фильтрации диспарантности обрабатывает вычисление текущей карты диспарантности по столбцам.The disparity filtering unit 140 filters the disparity map computed at the current step of the algorithm, calculating the filter weights in accordance with the reference stereo images and the calculated disparity gradient. The disparity filtering unit 140 consists of a disparity gradient calculating unit 141, a horizontal disparity filtering unit 142, and a vertical disparity filtering unit 143. The disparity gradient calculator 141 calculates and estimates the disparity gradient for each pixel. If the analyzed smoothness of the disparity gradient of a smooth surface is violated, the pixel weight is discarded (not taken into account). Block 142 horizontal disparity filtering processes the calculation of the current disparity map line by line, and block 143 vertical filtering disparity processes the calculation of the current disparity map in columns.
Блок 150 постобработки предназначен для окончательного уточнения вычисленной карты диспарантности. В предпочтительном варианте реализации заявляемого изобретения блок 150 постобработки состоит из блока медианного фильтра. Медианная фильтрация известна из уровня техники, поэтому ее описание здесь не приводится. Другие типы фильтров улучшения изображения тоже могут найти применение в блоке 150, что не отражается на объеме охраны в отношении этого блока.The post-processing unit 150 is intended for final refinement of the calculated disparity map. In a preferred embodiment of the claimed invention, the post-processing unit 150 consists of a median filter unit. Median filtering is known in the art, so a description is not given here. Other types of image enhancement filters may also find application in block 150, which does not affect the scope of protection with respect to this block.
Далее по тексту способ вычисления и фильтрации карты диспарантности на основе стерео изображений согласно заявляемому изобретению описывается со ссылками на Фиг.2.Hereinafter, a method for calculating and filtering a disparity card based on stereo images according to the claimed invention is described with reference to FIG. 2.
Рассмотрим поэтапное выполнение способа вычисления и фильтрации карты диспарантности на основе стерео данных (Фиг.2). Сначала стерео пару изображений или видео кадров преобразуют из цветового пространства RGB в цветовое пространство LAB (шаг 201). Преобразование из цветового пространства RGB в цветовое пространство LAB известно из уровня техники, поэтому его описание здесь опущено.Consider the phased implementation of the method of calculating and filtering the disparity card based on stereo data (Figure 2). First, a stereo pair of images or video frames is converted from the RGB color space to the LAB color space (step 201). The conversion from the RGB color space to the LAB color space is known in the art, therefore, a description thereof is omitted here.
Следующий шаг заключается в вычислении исходной карты диспарантности (шаг 202). Вычисление исходной карты диспарантности может быть выполнено с помощью известных из уровня техники алгоритмов совмещения стерео пары. В предпочтительном варианте реализации заявляемого изобретения вычисление исходной карты диспарантности заключается в ее представлении в качестве шумового изображения. Шумовое изображение является полутоновым изображением. Яркости пикселей изображения шума отбираются случайным образом из пикселей с минимальной яркостью и вплоть до пикселей с максимальной яркостью. Для 8-битовых изображений диапазон яркостей лежал бы в пределах от 0 до 255.The next step is to compute the original disparity map (step 202). The calculation of the original disparity map can be performed using stereo pairing algorithms known in the art. In a preferred embodiment of the claimed invention, the calculation of the original disparity map consists in representing it as a noise image. The noise image is a halftone image. The pixel brightness of the noise image is randomly selected from pixels with minimum brightness and up to pixels with maximum brightness. For 8-bit images, the brightness range would be between 0 and 255.
Исходная карта диспарантности в форме изображения шума будет затем отфильтрована (шаги от 203 до 207) для получения согласованной и гладкой карты диспарантности. Первым шагом при фильтрации карты диспарантности является адаптация силы фильтра (степени фильтрации) в соответствии с порядковым номером итерации (шаг 203). В предпочтительном варианте реализации заявляемого изобретения уравнение для адаптации силы фильтра к номеру итерации (функция σ(k)) является линейным и может быть представлено как:The original disparity map in the form of a noise image will then be filtered out (
σ(k)=a 1·k+b1,σ (k) = a 1 · k + b 1
где k - номер итерации,where k is the iteration number,
α1, b1 - линейные коэффициенты.α 1 , b 1 - linear coefficients.
Другая форма функции σ(k) также допустима. И это не затрагивает объема охраны по заявляемому изобретению.Another form of the function σ (k) is also admissible. And this does not affect the scope of protection of the claimed invention.
Следующий шаг заявляемого способа заключается в вычислении размера ядра фильтра (шаг 204). В предпочтительном варианте реализации заявляемого изобретения уравнение для вычисления размера ядра фильтра в соответствии с итерацией (функция KS(k)) имеет линейную форму и может быть представлено как:The next step of the proposed method is to calculate the size of the filter core (step 204). In a preferred embodiment of the claimed invention, the equation for calculating the size of the filter core in accordance with the iteration (function KS (k)) has a linear form and can be represented as:
KS(k)=a 2·k+b2,KS (k) = a 2 · k + b 2,
где k - номер итерации,where k is the iteration number,
α2, b2 - линейные коэффициенты.α 2 , b 2 - linear coefficients.
Другая форма функции KS(k) также допустима. И это не влияет на объем охраны по заявляемому изобретению.Another form of the function KS (k) is also admissible. And this does not affect the scope of protection of the claimed invention.
Следующий шаг способа заключается в вычислении градиента диспарантности (шаг 205). Градиент диспарантности вычисляют между смежными пикселями изображения. Для двух пикселей m1 и m2 с координатами [x1, y1] и [х2, y2] градиент диспарантности определяется какThe next step of the method is to calculate the disparity gradient (step 205). The disparity gradient is computed between adjacent pixels of the image. For two pixels m 1 and m 2 with coordinates [x 1 , y 1 ] and [x 2 , y 2 ], the disparity gradient is defined as
, ,
где d1 и d2 - диспарантности пикселей m1 и m2.where d 1 and d 2 - disparity of pixels m 1 and m 2 .
Мы не рассматриваем координаты Y в уравнении градиента диспарантности, поскольку исходим из предположения, что стерео пара уточняется в условиях равенства Y координат соответствующих точек. Для современных стерео камер это условие обычно выполняется.We do not consider the Y coordinates in the disparity gradient equation, since we proceed from the assumption that the stereo pair is refined under the condition of equal Y coordinates of the corresponding points. For modern stereo cameras, this condition is usually fulfilled.
Из уровня техники известно, что градиент dg диспарантности ограничен сверху пределом Р. Это ограничение происходит из человеческого восприятия. Для наблюдаемой точки градиент диспарантности, вычисленный с соседними точками, не должен нарушать неравенство dg≤P. В противном случае, это не будет восприниматься человеком правильно. Таким образом, уравнение для проверки соответствия карты диспарантности выводится следующим образом:It is known from the prior art that the disparity gradient dg is bounded above by a limit P. This limitation comes from human perception. For the observed point, the disparity gradient calculated with neighboring points should not violate the inequality dg≤P. Otherwise, it will not be perceived by the person correctly. Thus, the equation for checking the correspondence of the disparity card is derived as follows:
|d2-d1|≤P·|x2-x1+(d2-d1)/2|.| d 2 -d 1 | ≤P · | x 2 -x 1 + (d 2 -d 1 ) / 2 |.
Используя свойство модуля |a+b|≤|a|+|b|, мы получаемUsing the module property | a + b | ≤ | a | + | b |, we get
|d2-d1|≤P·|x2-x1|+P·|(d2-d1)/2|,| d 2 -d 1 | ≤P · | x 2 -x 1 | + P · | (d 2 -d 1 ) / 2 |,
что непосредственно ведет, для Р<2, кwhich directly leads, for P <2, to
Для каждого пикселя в опорном изображении оценивают неравенство (1) и маркируют пиксели, для которых не выполняется это неравенство, т.е. не выполняется принцип гладкости градиента диспарантности. Такие пиксели имеют меньшее влияние на фильтрацию диспарантности на следующей итерации способа вычисления карты диспарантности. Далее по тексту, изображение градиента диспарантности (DGI) определяется как массив, который сохраняет для каждого пикселя номер, указывающий, нарушено ли данным пикселем неравенство (1) или нет. Это выражается какFor each pixel in the reference image, inequality (1) is estimated and pixels for which this inequality is not satisfied are marked, i.e. the principle of smoothness of the disparity gradient is not satisfied. Such pixels have a lesser effect on disparity filtering at the next iteration of the disparity map calculation method. Hereinafter, the disparity gradient image (DGI) is defined as an array that stores a number for each pixel indicating whether inequality (1) is violated by this pixel or not. It is expressed as
, ,
где mark - число, используемое для маркирования пикселей, для которых нарушается принцип гладкости градиента диспарантности.where mark is the number used for marking pixels for which the principle of smoothness of the disparity gradient is violated.
Фиг.4 показывает примеры вычисления карты диспарантности (слева) вместе с DGI (справа), где число mark установлено на значение 255, для лучшего визуального восприятия. На Фиг.4 ясно видно, что число пикселей, нарушивших ограничивающее условие градиента диспарантности, уменьшается от итерации к итерации.Figure 4 shows examples of computing a disparity map (left) along with DGI (right), where the mark number is set to 255, for better visual perception. Figure 4 clearly shows that the number of pixels that violate the limiting condition of the disparity gradient decreases from iteration to iteration.
После вычисления силы фильтра вычисления размеров ядра и вычисления градиента диспарантности выполняют вычисление карты диспарантности для опорного изображения, используя информацию из конечного изображения (шаги 206-207). Далее по тексту, опорное изображение определяется как цветное изображение из стерео пары, для которой вычисляется карта диспарантности. А совмещаемое изображение определяется как другое цветное изображение из этой стерео пары.After calculating the strength of the filter, calculating the size of the core and calculating the disparity gradient, the disparity map for the reference image is calculated using information from the final image (steps 206-207). Hereinafter, the reference image is defined as a color image from a stereo pair for which a disparity map is calculated. And the combined image is defined as another color image from this stereo pair.
Карта диспарантности на k-й итерации представляется какThe disparity map at the kth iteration is represented as
где dk(xc,yc) означает карту диспарантности на k-й итерации для текущего пикселя с координатами (xc,yc),where d k (x c , y c ) means the disparity map at the kth iteration for the current pixel with coordinates (x c , y c ),
dk-1(xr,yr) означает карту диспарантности на (k-1)-й итерации для опорного пикселя с координатами (xr=xc+p, yr=yc+s),d k-1 (x r , y r ) means the disparity map at the (k-1) th iteration for the reference pixel with coordinates (x r = x c + p, y r = y c + s),
wr означает вес опорного пикселя,w r means the weight of the reference pixel,
индекс р изменяется от до в направлении X,index p varies from before in the direction of X,
индекс s изменяется от до в направлении Y,index s varies from before in the direction of Y
коэффициент нормализации вычисляют какnormalization coefficient is calculated as
. .
В предпочтительном варианте реализации заявляемого изобретения размеры окна фильтра, а именно L и К, определены как L=K=KS(k), используя функцию расчета размера ядра фильтра, вычисленного на шаге 204. Однако независимая установка значений L и К допустима. Это могло бы пригодиться для устройств, которые используют для обработки строчную память. В таких случаях радиус ядра фильтра в вертикальном направлении ограничен числом строк памяти, а радиус ядра фильтра в горизонтальном направлении мог бы быть установлен на любое желаемое значение в пределах строки.In a preferred embodiment of the claimed invention, the filter window dimensions, namely L and K, are defined as L = K = KS (k) using the filter core size calculation function calculated in
Для ускорения вычисления карты диспарантности фильтр мог бы быть определен в разделяемом виде состоящим из двух проходов. Первый проход - построчная обработка (шаг 206). Второй проход - обработка по столбцам (шаг 207).To speed up the calculation of the disparity map, the filter could be defined in a shared form consisting of two passes. The first pass - line-by-line processing (step 206). The second pass is column processing (step 207).
где drowk(xc,yc) - результат построчной фильтрации,where d rowk (x c, y c ) is the result of row filtering,
dk(xc,yc) - конечный результат фильтрации, полученный с помощью обработки по столбцам,d k (x c , y c ) is the final filtering result obtained using column processing,
коэффициент нормализации для построчного фильтра вычисляют какthe normalization coefficient for the line filter is calculated as
, ,
коэффициент нормализации для фильтра по столбцам вычисляют какthe normalization coefficient for the column filter is calculated as
. .
Фильтрацию выполняют в окне размером L×K, Все пиксели, которые принадлежат этой области, определены как опорные пиксели. Пиксели совмещаемого изображения, которые отображены векторами диспарантности из опорных пикселей, определены как совмещаемые пиксели (Фиг.1). Предложенный фильтр назначает более высокие веса для пикселей, которые более сходны с текущим пикселем. В предпочтительном варианте реализации заявляемого изобретения используют три метода вычисления веса фильтра диспарантности.Filtering is performed in a window of size L × K. All pixels that belong to this area are defined as reference pixels. The pixels of the combined image, which are displayed by disparity vectors from the reference pixels, are defined as compatible pixels (Figure 1). The proposed filter assigns higher weights for pixels, which are more similar to the current pixel. In a preferred embodiment of the claimed invention, three methods are used to calculate the weight of the disparity filter.
1. Метод сравнения области двух пикселей.1. A method of comparing the area of two pixels.
2. Метод сравнения области одного пикселя.2. The method of comparing the area of one pixel.
3. Метод сравнения двух отдельных пикселей.3. A method of comparing two separate pixels.
Первые два метода касаются скорее сравнения областей пикселей, чем сравнения отдельных пикселей. Это делается для того, чтобы усилить критерий подобия пикселей. В первом методе вес является удвоенным и отражает степень сходства (подобия) текущего пикселя с опорным и совмещаемым пикселями.The first two methods relate to comparing pixel areas rather than comparing individual pixels. This is done in order to strengthen the similarity criteria for pixels. In the first method, the weight is doubled and reflects the degree of similarity (similarity) of the current pixel with the reference and aligned pixels.
Первое сравнение проводят между окрестностями текущего пикселя и окрестностями опорного пикселя. Второе сравнение проводят между окрестностями опорного пикселя и окрестностями совмещаемого пикселя (примеры сравнений показаны на Фиг.3. 1 широкими стрелками). В этом случае веса фильтра диспарантности вычисляют следующим образом:A first comparison is made between the vicinity of the current pixel and the surroundings of the reference pixel. The second comparison is carried out between the vicinity of the reference pixel and the surroundings of the compatible pixel (examples of comparisons are shown in Fig. 3 with wide arrows). In this case, the weights of the disparity filter are calculated as follows:
где C() обозначает функцию, используемую для сравнения окрестностей пикселя,where C () denotes a function used to compare neighborhoods of a pixel,
σr и σt являются параметрами регулировки силы фильтра. В предпочтительном варианте реализации заявляемого изобретения они определены как σr=σt=σ(k) используя функцию адаптации силы фильтра, вычисленную на шаге 203. Однако допустима и независимая подстройка σr и σt, позволяющая дифференциацию штрафных функций для пикселей из опорного и совмещаемого изображений.σ r and σ t are parameters for adjusting the filter strength. In a preferred embodiment of the claimed invention they are defined as σ r = σ t = σ (k) using the filter strength adaptation function calculated in
Второй метод сравнения окрестностей пикселя был разработан для того, чтобы ускорить выполнение алгоритма, и предусматривает проведение сравнения области лишь одного пикселя, а именно окрестности текущего пикселя с окрестностями совмещаемого пикселя (пример сравнения показан на Фиг.3.2 широкой стрелкой). При этом исходят из предположения, что текущий пиксель до некоторой степени схож с опорным пикселем благодаря их близости друг к другу. И штрафные функции применяют лишь тогда, когда опорный пиксель отображен на совмещаемый пиксель, который не схож с текущим пикселем. В этом случае веса фильтра диспарантности вычисляют следующим образом:The second method of comparing pixel neighborhoods was developed in order to speed up the execution of the algorithm, and involves comparing the region of only one pixel, namely, the neighborhood of the current pixel with the neighborhood of the pixel to be combined (an example of comparison is shown in Fig. 3.2 with a wide arrow). In this case, it is assumed that the current pixel is somewhat similar to the reference pixel due to their proximity to each other. And the penalty functions are applied only when the reference pixel is mapped to a compatible pixel, which is not similar to the current pixel. In this case, the weights of the disparity filter are calculated as follows:
где C() обозначает функцию, используемую для сравнения окрестностей пикселя. Она определяется как:where C () denotes a function used to compare neighborhoods of a pixel. It is defined as:
где Ic(xc,yc) обозначает яркость текущего пикселя с координатами xc и yc,where I c (x c , y c ) denotes the brightness of the current pixel with coordinates x c and y c ,
Ir(xr,yr) обозначает яркость опорного пикселя с координатами xr и yr,I r (x r , y r ) denotes the brightness of the reference pixel with coordinates x r and y r ,
индекс i изменяется от до в направлении X,index i varies from before in the direction of X,
индекс j изменяется от до в направлении Y,index j varies from before in the direction of Y
σn - параметр гауссиана, управляющий весом пикселя относительно его положения в соответствии с положением текущего пикселя. Внешние пиксели, т.е. удаленные от центрального пикселя, получают более низкие значения веса, чем внутренние пиксели, т.е. близкие к центральному пикселю, которые получают более высокие значения веса.σ n is a Gaussian parameter that controls the weight of the pixel relative to its position in accordance with the position of the current pixel. External pixels i.e. remote from the center pixel, they receive lower weight values than internal pixels, i.e. close to the center pixel, which get higher weight values.
Коэффициент нормализации вычисляют какThe normalization coefficient is calculated as
После того как вес был вычислен, конечной операцией в процессе фильтрации диспарантности должен стать расчет согласованности градиента диспарантности на основе результатов вычисления градиента диспарантности (шаг 205). Это выражается следующим образом:After the weight has been calculated, the final operation in the disparity filtering process should be to calculate the consistency of the disparity gradient based on the results of the calculation of the disparity gradient (step 205). This is expressed as follows:
где h - параметр веса штрафной функции.where h is the weight parameter of the penalty function.
Чтобы добиться максимальной производительности в ущерб качеству, можно применить третий метод вычисления веса пикселя, который состоит в сравнении только опорных пикселей вместо окрестностей пикселя. Это можно квалифицировать как предельный случай первого метода, когда размеры окрестностей пикселя, а именно М и N, равны единице. Использование этого метода для вычисления веса фильтра приводит к зашумлению в вычислениях карты диспарантности. Поэтому некоторая постобработка необходима для устранения рассогласований в карте диспарантности. С этой целью выполняют операцию по уточнению карты диспарантности (шаг 210) для окончательного вычисления карты диспарантности.To achieve maximum performance to the detriment of quality, you can apply the third method of calculating the weight of a pixel, which consists in comparing only reference pixels instead of pixel neighborhoods. This can be qualified as the limiting case of the first method, when the sizes of the neighborhoods of the pixel, namely M and N, are equal to unity. Using this method to calculate the filter weight leads to noise in the calculation of the disparity map. Therefore, some post-processing is necessary to eliminate inconsistencies in the disparity map. To this end, an operation is performed to refine the disparity map (step 210) for the final calculation of the disparity map.
Важным шагом метода вычисления карты диспарантности является вычисление и оценка критерия сходимости (шаги 208-209). Во время каждой итерации с помощью метода вычисления карты диспарантности оценивают критерии сходимости для процесса фильтрации. В предпочтительном варианте реализации заявляемого изобретения описаны три метода вычисления критерия сходимости.An important step in the method of computing the disparity map is the calculation and evaluation of the convergence criterion (
1. Используя условие гладкости градиента диспарантности.1. Using the condition for smoothness of the disparity gradient.
2. Используя анализ остаточного изображения (изображения, представляющего собой разность двух смежных приближений карты диспарантности) после смежных вычислений карты диспарантности.2. Using the analysis of the afterimage (image representing the difference of two adjacent approximations of the disparity map) after adjacent calculations of the disparity map.
3. Используя строгий пороговый принцип в отношении числа итераций алгоритма.3. Using a strict threshold principle regarding the number of iterations of the algorithm.
Первый метод проверки критерия сходимости включает использование условия гладкости градиента диспарантности. Процесс фильтрации диспарантности прекращают, когда принцип гладкости градиента диспарантности выполняется для всех пикселей изображения. Это условие можно было бы сформулировать как то, что отношение числа пикселей с гладким градиентом ко всем пикселям в изображении должно превысить порог Tdec1 сходимости вычисления диспарантностиThe first method for checking the convergence criterion involves using the smoothness condition for the disparity gradient. The disparity filtering process is stopped when the principle of smoothness of the disparity gradient is satisfied for all pixels of the image. This condition could be formulated as the fact that the ratio of the number of pixels with a smooth gradient to all pixels in the image should exceed the threshold T dec1 of convergence of the disparity calculation
где Ngp означает число пикселей в изображении, для которых справедливо неравенство (1) градиента диспарантности,where N gp means the number of pixels in the image for which the disparity gradient inequality (1) holds,
Np означает число пикселей в изображении.N p means the number of pixels in the image.
Второй метод проверки сходимости алгоритма предусматривает вычисление остаточного изображения между смежными оценками карты диспарантности. Сумма остаточных пикселей не должна превышать порога Tdec2 сходимости в вычислении карты диспарантности. Это формулируется следующим образом:The second method for checking the convergence of the algorithm involves calculating the residual image between adjacent estimates of the disparity map. The sum of residual pixels should not exceed the convergence threshold T dec2 in the calculation of the disparity map. This is formulated as follows:
, ,
где dk и dk-1 - это вычисления карты диспарантности на k-й и (k-1)-й итерации алгоритма.where d k and d k-1 are the calculations of the disparity map at the kth and (k-1) -th iteration of the algorithm.
Третий метод вычисления критерия сходимости можно было бы сформулировать как строгое применение порога к номеру итерации. Если номер итераций превышает порог Tdec3 сходимости вычисления карты диспарантности, то процесс фильтрации прекращают. Это может быть представлено следующим образом:The third method for calculating the convergence criterion could be formulated as a strict application of the threshold to the iteration number. If the number of iterations exceeds the threshold T dec3 of convergence of the disparity map calculation, then the filtering process is stopped. This can be represented as follows:
k≥Ndec3,k≥N dec3 ,
где k - номер текущей итерации вычисления карты диспарантности.where k is the number of the current iteration of the disparity map calculation.
Первые два критерия сходимости можно было бы использовать совместно для надежности вычисления. А использование последнего из критериев предпочтительно для недорогих устройств, в которых простота устройства играет важную роль.The first two criteria of convergence could be used together for the reliability of the calculation. And the use of the last of the criteria is preferable for low-cost devices in which the simplicity of the device plays an important role.
Заключительный шаг метода вычисления карты диспарантности предназначен для улучшения (уточнения) карты диспарантности (шаг 210). В предпочтительном варианте реализации заявляемого изобретения для постобработки используется медианный фильтр, что является простым и надежным способом борьбы с неровностями карты диспарантности и импульсным шумом.The final step of the method of calculating the disparity card is intended to improve (refine) the disparity card (step 210). In a preferred embodiment of the claimed invention, a median filter is used for post-processing, which is a simple and reliable way to deal with irregularities of the disparity card and impulse noise.
Фиг.5 показывает результат вычисления карты диспарантности с помощью предложенного фильтра согласно изобретению. Левое изображение стерео пары, для которой было выполнено вычисление карты диспарантности, представлено на Фиг.5.1. На Фиг.5.2 представлен результат вычисления карты диспарантности с помощью фильтра [3], известного из уровня техники, а на Фиг.5.3 представлен результат вычисления карты диспарантности с применением предложенного фильтра согласно изобретению. Из Фиг.5.2 и 5.3 ясно видно, чем заявляемый способ дает более надежные результаты, особенно для гладких областей и областей с периодически повторяющимися текстурами. В то же время рабочие характеристики этого способа находятся на том же уровне, что и ранее известный фильтр [3].Figure 5 shows the result of calculating the disparity map using the proposed filter according to the invention. The left image of the stereo pair for which the disparity card calculation was performed is presented in FIG. 5.1. Figure 5.2 presents the result of calculating the disparity map using a filter [3], known from the prior art, and Figure 5.3 presents the result of calculating the disparity map using the proposed filter according to the invention. From Fig. 5.2 and 5.3 it is clearly seen than the claimed method gives more reliable results, especially for smooth areas and areas with periodically repeating textures. At the same time, the performance of this method is at the same level as the previously known filter [3].
Заявляемое изобретение может быть использовано непосредственно в стерео камере для получения высококачественной и согласованной карты диспарантности/глубины. Также заявляемое изобретение может найти применение в многокамерных системах или некоторых специализированных обрабатывающих устройствах, где два выбранных телевизионных потока формируют стереоскопический поток и необходимо обеспечить стерео согласование.The claimed invention can be used directly in a stereo camera to obtain a high-quality and consistent map of disparity / depth. Also, the claimed invention may find application in multi-chamber systems or some specialized processing devices, where two selected television streams form a stereoscopic stream and it is necessary to provide stereo matching.
Claims (16)
- выполняют вычисление предварительной карты диспарантности;
- уточняют карту диспарантности путем последовательных итераций фильтрации карты диспарантности, уточненное значение диспарантности вычисляют как взвешенную сумму значений диспарантности с предыдущей итерации в локальном окне
где dk(xc, yc) означает карту диспарантности на k-ой итерации для текущего пикселя с координатами (xc, yc), dk-1(xr, yr) означает карту диспарантности на (k-1)-ой итерации для опорного пикселя с координатами (xr=xc+pr yr=yc+s), wr означает вес опорного пикселя, индекс р изменяется от до в направлении X, индекс s изменяется от до в направлении Y, и коэффициент нормализации вычисляют как
- рассчитывают степень фильтрации диспарантности согласно итерации, вычисляя параметр σ штрафной весовой функции, которая используется для расчета весов при вычислении суммы значений диспарантности в локальном окне, параметр σ штрафной весовой функции в соответствии с итерацией формулируется как σ(k)=a1·k+b1, где k - порядковый номер итерации, a1 b1 - линейные коэффициенты;
- рассчитывают размер ядра фильтра диспарантности согласно итерации по формуле KS(k)=a2·k+b2,
где k - порядковый номер итерации, а2, b2 - линейные коэффициенты;
- вычисляют градиент диспарантности,;
- выполняют фильтрацию диспарантности, используя взвешенною сумму значений диспарантности в локальном окне, в соответствии со степенью фильтрации диспарантности, рассчитанным размером ядра фильтра и вычисленным градиентом диспарантности;
- проверяют критерии сходимости, при этом, если они выполнены, фильтрацию прекращают;
- выполняют уточнение карты диспарантности, удаляя импульсный шум на карте диспарантности с помощью медианного фильтра.1. A method for calculating and filtering a disparity card based on stereo images, including the following operations:
- perform the calculation of the preliminary disparity card;
- refine the disparity map by successive iterations of filtering the disparity map, the adjusted disparity value is calculated as the weighted sum of the disparity values from the previous iteration in the local window
where d k (x c, y c ) means disparity map on the k-th iteration for the current pixel with coordinates (x c, y c), d k- 1 (x r, y r) means disparity map to (k-1 ) th iteration for the reference pixel with coordinates (x r = x c + p r y r = y c + s), w r means the weight of the reference pixel, the index p changes from before in the X direction, the index s changes from before in the Y direction, and the normalization coefficient is calculated as
- calculate the degree of filtering of the disparity according to the iteration, calculating the parameter σ of the penalty weight function, which is used to calculate the weights when calculating the sum of the disparity values in the local window, the parameter σ of the penalty weight function in accordance with the iteration is formulated as σ (k) = a 1 · k + b 1 , where k is the iteration sequence number, a 1 b 1 are linear coefficients;
- calculate the size of the core filter disparity according to the iteration according to the formula KS (k) = a 2 · k + b 2 ,
where k is the sequence number of the iteration, and 2 , b 2 are linear coefficients;
- calculate the disparity gradient;
- perform disparity filtering using the weighted sum of disparity values in the local window, in accordance with the degree of disparity filtering calculated by the size of the filter core and the calculated disparity gradient;
- check the convergence criteria, while if they are met, filtering is stopped;
- refine the disparity map by removing impulse noise on the disparity map using a median filter.
,
где mark - число, используемое для указания на нарушение градиента диспарантности.4. The method according to claim 1, characterized in that the assessment of the smoothness condition of the disparity gradient is performed by the formula where P is the upper limit of the disparity gradient; x 2 , x 1 are the X-coordinates of two points m 1 and m 2 , for which the disparity gradient constraint is calculated, while the Y-coordinates are not taken into account in the disparity gradient inequality, on the assumption that the stereo pair is refined, d 2 , d 1 are calculated current disparity points m 1 and m 2 wherein for each pixel in the reference image check execution above inequality, and a pixel with disparity violation of the principle of the gradient is marked and stored in the image disparity gradient (DGI), which is about determined as the
,
where mark is the number used to indicate a violation of the disparity gradient.
, ,
где drowk(xc, yc) - результат построчной фильтрации, dk(xc, yc) - конечный результат фильтрации, полученный после обработки по столбцам, коэффициент нормализации при построчной фильтрации вычисляют как , а коэффициент нормализации при фильтрации по столбцам вычисляют как 5. The method according to claim 1, characterized in that the disparity filtering is performed in stages, while in the first stage, line-by-line processing is performed, and in the second stage, column processing is performed
, ,
where d rowk (x c , y c ) is the result of line-by-line filtering, d k (x c , y c ) is the final filtering result obtained after processing by columns, the normalization coefficient for line-by-line filtering is calculated as , and the normalization coefficient when filtering by columns is calculated as
где С() означает функцию, используемую для сравнения окрестностей пикселя, σr - параметр штрафной функции веса для опорного пикселя в опорном изображении, σt - параметр штрафной функции веса для совмещаемого пикселя в совмещаемом изображении, (xr, yr) - координаты опорного пикселя, (xt, yt) - координаты совмещаемого пикселя.6. The method according to claim 1, characterized in that the weight of the disparity filter is calculated as follows: ,
where C () means the function used to compare the neighborhoods of the pixel, σ r is the parameter of the penalty function of the weight for the reference pixel in the reference image, σ t is the parameter of the penalty function of weight for the combined pixel in the combined image, (x r , y r ) are the coordinates reference pixel, (x t , y t ) - coordinates of the combined pixel.
где С () означает функцию, используемую для сравнения окрестностей пикселя, σt - параметр штрафной функции веса для совмещаемого пикселя в совмещаемом изображении, (xt, yt) - координаты совмещаемого пикселя.7. The method according to claim 1, characterized in that the weight of the disparity filter is calculated as follows:
where C () means the function used to compare the neighborhood of the pixel, σ t is the parameter of the penalty weight function for the pixel to be combined in the image to be matched, (x t , y t ) is the coordinate of the pixel to be combined.
где Ic(xc, yc) означает яркость текущего пикселя с координатами xc и yc, Ir (xr, yr) означает яркость опорного пикселя с координатами xr и yr, индекс i изменяется от до в направлении X, индекс j изменяется от до в направлении Y, σn - параметр гауссиана, управляющий весом пикселя по отношению к его положению согласно текущему положению пикселя, при этом внешние пиксели (удаленные от центрального пикселя) получают малые значения веса, а внутренние пиксели (близкие к центральному пикселю) получают более высокие веса, и коэффициент нормализации вычисляют как 8. The method according to any one of claims 6 and 7, characterized in that the function used to compare the neighborhoods of the pixel is defined as
where I c (x c , y c ) means the brightness of the current pixel with coordinates x c and y c , I r (x r , y r ) means the brightness of the reference pixel with coordinates x r and y r , the index i changes from before in the direction of X, the index j varies from before in the direction Y, σ n is the Gaussian parameter that controls the weight of the pixel relative to its position according to the current position of the pixel, while the external pixels (remote from the central pixel) receive small weight values, and the internal pixels (close to the central pixel) get higher weight, and the normalization coefficient is calculated as
где h - параметр штрафной функции веса, DGI (xr, yr) - изображение градиента диспарантности, которое показывает, нарушает ли текущий опорный пиксель (xr, yr) условие гладкости градиента диспарантности или нет.9. The method according to any one of claims 6 and 7, characterized in that the weight of the disparity filter is subjected to a penalty function if the smoothness condition of the gradient of the disparity map is violated, and the formula
where h is the parameter of the penalty function of weight, DGI (x r , y r ) is the image of the disparity gradient, which shows whether the current reference pixel (x r , y r ) violates the smoothness condition of the disparity gradient or not.
где Ngp - число пикселей в изображении, для которых выполняется неравенство , Np - число пикселей в изображении, Tdec1 - порог для сходимости вычисления карты диспарантности.10. The method according to claim 1, characterized in that the method for calculating the convergence criterion is formulated as
where N gp is the number of pixels in the image for which the inequality , N p is the number of pixels in the image, T dec1 is the threshold for the convergence of the calculation of the disparity map.
где dk и dk-1 представляют собой вычисления карты диспарантности на k-ой и (k-1)-ой итерациях алгоритма; Tdec2 - порог для сходимости вычисления карты диспарантности.11. The method according to claim 1, characterized in that the method for calculating the convergence criterion is formulated as ,
where d k and d k-1 represent the disparity map calculations on k-th and (k-1) th iteration of the algorithm; T dec2 is the threshold for the convergence of the calculation of the disparity map.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2008144840/09A RU2419880C2 (en) | 2008-11-14 | 2008-11-14 | Method and apparatus for calculating and filtering disparity map based on stereo images |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2008144840/09A RU2419880C2 (en) | 2008-11-14 | 2008-11-14 | Method and apparatus for calculating and filtering disparity map based on stereo images |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2008144840A RU2008144840A (en) | 2010-05-20 |
RU2419880C2 true RU2419880C2 (en) | 2011-05-27 |
Family
ID=42675725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2008144840/09A RU2419880C2 (en) | 2008-11-14 | 2008-11-14 | Method and apparatus for calculating and filtering disparity map based on stereo images |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2419880C2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2544784C2 (en) * | 2013-05-23 | 2015-03-20 | Общество с ограниченной ответственностью "ФОК" | Method of imaging three-dimensional objects or deep scenes and apparatus therefor |
US9390508B2 (en) | 2014-03-03 | 2016-07-12 | Nokia Technologies Oy | Method, apparatus and computer program product for disparity map estimation of stereo images |
RU168781U1 (en) * | 2016-06-07 | 2017-02-17 | Открытое акционерное общество Научно-производственный центр "Электронные вычислительно-информационные системы" | STEREO IMAGE PROCESSING DEVICE |
RU2638761C2 (en) * | 2012-06-28 | 2017-12-15 | Конинклейке Филипс Н.В. | System and method for combining sequence of images |
RU2698402C1 (en) * | 2018-08-30 | 2019-08-26 | Самсунг Электроникс Ко., Лтд. | Method of training a convolutional neural network for image reconstruction and a system for forming an image depth map (versions) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111583092B (en) * | 2020-03-30 | 2023-03-07 | 西安电子科技大学 | Variable-split optical flow FPGA implementation method, system, storage medium and terminal |
CN113822915A (en) * | 2021-07-30 | 2021-12-21 | 济宁安泰矿山设备制造有限公司 | Image stereo matching method for intelligent pump cavity endoscope fault diagnosis |
CN117333758B (en) * | 2023-12-01 | 2024-02-13 | 博创联动科技股份有限公司 | Land route identification system based on big data analysis |
-
2008
- 2008-11-14 RU RU2008144840/09A patent/RU2419880C2/en not_active IP Right Cessation
Non-Patent Citations (1)
Title |
---|
BOUGHORBEL F. A New Multiple-Windows Depth from Stereo Algorithm for 3D Displays, 3DTV CONFERENCE 2007, 7 May 2007, p.p.1-4. * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2638761C2 (en) * | 2012-06-28 | 2017-12-15 | Конинклейке Филипс Н.В. | System and method for combining sequence of images |
RU2544784C2 (en) * | 2013-05-23 | 2015-03-20 | Общество с ограниченной ответственностью "ФОК" | Method of imaging three-dimensional objects or deep scenes and apparatus therefor |
US9390508B2 (en) | 2014-03-03 | 2016-07-12 | Nokia Technologies Oy | Method, apparatus and computer program product for disparity map estimation of stereo images |
RU168781U1 (en) * | 2016-06-07 | 2017-02-17 | Открытое акционерное общество Научно-производственный центр "Электронные вычислительно-информационные системы" | STEREO IMAGE PROCESSING DEVICE |
RU2698402C1 (en) * | 2018-08-30 | 2019-08-26 | Самсунг Электроникс Ко., Лтд. | Method of training a convolutional neural network for image reconstruction and a system for forming an image depth map (versions) |
Also Published As
Publication number | Publication date |
---|---|
RU2008144840A (en) | 2010-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2419880C2 (en) | Method and apparatus for calculating and filtering disparity map based on stereo images | |
EP3971825B1 (en) | Systems and methods for hybrid depth regularization | |
CN107025660B (en) | Method and device for determining image parallax of binocular dynamic vision sensor | |
US20170280073A1 (en) | Systems and Methods for Reducing Noise in Video Streams | |
RU2382406C1 (en) | Method of improving disparity map and device for realising said method | |
RU2423018C2 (en) | Method and system to convert stereo content | |
US11995856B2 (en) | Video depth estimation based on temporal attention | |
CN107316326B (en) | Edge-based disparity map calculation method and device applied to binocular stereo vision | |
KR100681320B1 (en) | Method for modelling three dimensional shape of objects using level set solutions on partial difference equation derived from helmholtz reciprocity condition | |
CN104252700A (en) | Histogram equalization method for infrared image | |
TWI457853B (en) | Image processing method for providing depth information and image processing system using the same | |
CN110717935B (en) | Image matching method, device and system based on image characteristic information | |
CN114693760A (en) | Image correction method, device and system and electronic equipment | |
CN111192226A (en) | Image fusion denoising method, device and system | |
US20190355101A1 (en) | Image refocusing | |
CN111539895B (en) | Video denoising method and device, mobile terminal and storage medium | |
CN109325905B (en) | Image processing method, image processing device, computer readable storage medium and electronic apparatus | |
CN107403448B (en) | Cost function generation method and cost function generation device | |
GB2585197A (en) | Method and system for obtaining depth data | |
JP2010506482A (en) | Method and filter for parallax recovery of video stream | |
KR101852085B1 (en) | Depth map acquisition device and depth map acquisition method | |
CN117058183A (en) | Image processing method and device based on double cameras, electronic equipment and storage medium | |
CN109961422B (en) | Determination of contrast values for digital images | |
CN116823863A (en) | Infrared image contour extraction method and device | |
CN104754316A (en) | 3D imaging method and device and imaging system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FZ9A | Application not withdrawn (correction of the notice of withdrawal) |
Effective date: 20100525 |
|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20181115 |