The object of the invention is a method for processing wide angle images with barrel distortion, in particular in order to obtain a plurality of images of a different angular resolutions to be used in visual surveillance systems.
Visual surveillance systems are used to observe an area. In particular, real-time observation systems can be used by a security guard to monitor the behaviour of people in a given area, such as a sports stadium. Such systems require cameras with high zoom capabilities and high resolution, in order to efficiently track behaviour of selected individuals of interest. However, when the observed person moves quickly across the area of sight, it is relatively hard to track the person's path of movement, which may easily go outside the viewing range. The cameras must therefore provide quick zooming capabilities in order to quickly change the viewing angular resolution. Typical narrow-angle cameras provide adequate viewing resolution, but they need sophisticated electronic and mechanical systems to provide adequate zooming and movement capabilities.
There are known wide-angle cameras, such as cameras with a fisheye lens, which produce a wide panoramic image. They can be used to observe an area larger than for narrow-angle lens, at the cost of barrel-type distortion. There are known algorithms to convert the distorted image produced by a fisheye lens to a reconstructed rectangular image, at the cost of decrease of resolution close to the image boundary.
In order to obtain a high-quality image of a large area for a surveillance system, a camera with a fisheye lens and large-resolution image sensor could be used. However, high-resolution images need high processing power. Therefore, the currently available typical high-resolution surveillance systems provide high quality images, but at a low frame rate, typically not exceeding a few frames per second. Increase of the frame rate requires substantial processing power, which significantly increases the cost of the system.
It would be therefore desirable to provide a surveillance system enabling wide observation angle, quick zooming capabilities and low processing power requirements in order to provide image at a high frame rate.
There are known various algorithms for processing barrel-distorted images.
An article “A Real-time FPGA Implementation of a Barrel Distortion Correction Algorithm with Bilinear Interpolation” (K. T. Gribbon et al, Proceedings of Image and Vision Computing New Zealand, 2003) discloses FPGA implementation of a barrel distortion correction algorithm with a focus on reducing hardware complexity. In order to perform real-time correction in hardware the undistorted output pixels must be produced in raster order. To do this the implementation uses the current scan position in the undistorted image to calculate which pixel in the distorted image to display. The magnification factor needed in this calculation is stored in a special look-up table that reduces the complexity of the hardware design, without significant loss of precision. The application of bilinear interpolation to improve the quality of the reconstructed image is also discussed and a real-time approach is presented.
The following articles present further methods for processing barrel-distorted images:
It is also known to improve distortion in order to improve image quality in postproduction to represent an image on small-diameter screens. Methods of this type have been disclosed in “Applying and removing lens distortion in post production” (G. Vass et al, Camera (2003), Pages: 9-16) and “Applying image quality in cell phone cameras: lens distortion” (D. Baxter, Proceedings of SPIE (2009)).
Barrel distortion curves for fisheye lens are discussed in “Fisheye lens designs and their relative performance” (J. “Jay” Kumlera at al, Proc. SPIE, vol. 4093, pp. 360-369, 2000) and “Accuracy of fish-eye lens models” (C. Hughes at al, Applied Optics, Vol. 49, Issue 17, pp. 3338-3347 (2010)).
The aim of the invention is to provide a method for processing wide angle images with barrel distortion in order to obtain a plurality of images of a different angular resolutions to be used in visual surveillance systems, the method being characterized in optimized computational requirements.
The object of the invention is a computer-implemented method for processing a distorted wide angle image with barrel distortion to obtain a plurality of reconstructed images, which comprises the steps of: determining, on the basis of a mapping function representing the distortion of the distorted image, a reconstruction function representing the position of points (r0) of reconstructed image as a function of position of points (r1) on the distorted image, determining a plurality of viewing angles (α1, α2, α3), for each viewing angle (α1, α2, α3), generating a reconstructed image comprising points of the distorted image comprised within the particular viewing angle (α1, α2, α3) and reconstructed using the reconstruction function, such that each reconstructed image has its central point corresponding to the same point of the distorted image.
Preferably, each reconstructed image has dimensions which are not greater than the dimensions of the distorted image.
Preferably, each reconstructed image has the same dimensions.
Preferably, the method further comprises the step of generating a display screen comprising at least two reconstructed images corresponding to different viewing angles (α1, α2, α3).
Preferably, the method further comprises the step of determining at least one viewing angle (α) in response to an input received via a user interface.
Preferably, the method further comprises the step of identifying a graphical object on one of the images and highlighting the points corresponding to the identified object on at least two of the reconstructed images.
Preferably, at least two reconstructed images are generated using the reconstruction function which has a different scale coefficient (fa, fb) for each reconstructed image.
Preferably, the method further comprises the step of identifying coordinates of object on a reconstructed image as a function of the coordinates of that object on another reconstructed image and a quotient of scale coefficients (fa, fb) for that reconstructed images.
The object of the invention is also a computer program comprising program code means for performing all the steps of the method according to the invention when said program is run on a computer.
The invention also relates to a surveillance system comprising a camera with wide angle lens coupled with an image sensor providing a distorted wide angle image with barrel distortion, the system further comprising: an image processor configured to: determine, on the basis of a mapping function representing the distortion of the distorted image, a reconstruction function representing the position of points (r0) of reconstructed image as a function of position of points (r1) on the distorted image, determine a plurality of viewing angles (α1, α2, α3), for each viewing angle (α1, α2, α3), generate a reconstructed image comprising points of the distorted image comprised within the particular viewing angle (α1, α2, α3) and reconstructed using the reconstruction function, such that each reconstructed image has its central point corresponding to the same point of the distorted image.
Preferably, each reconstructed image has dimensions which are not greater than the dimensions of the distorted image.
Preferably, each reconstructed image has the same dimensions.
Preferably, the system further comprises a display interface configured to generate a display screen comprising at least two reconstructed images corresponding to different viewing angles (α1, α2, α3).
Preferably, the image processor is further configured to determine at least one viewing angle (α) in response to an input received via a user interface.
Preferably, the image processor is further configured to identify a graphical object on one of the images and highlighting the points corresponding to the identified object on at least two of the reconstructed images.
The present invention is shown by means of exemplary embodiment on a drawing, in which:
The present invention enables to obtain, from a single distorted image obtained from a wide angle lens camera, a plurality of reconstructed images having selectable angular resolution. It provides the effect of immediate, smooth change of focal length for fixed focal length lens, which is particularly useful for the purpose of tracking an object captured by the surveillance system camera.
The present invention is applicable to wide-viewing angle lens. As an exemplary embodiment, fisheye lens with barrel-type distortion will be presented. Persons skilled in the optics will recognize that the principles underlying the invention can be applied to other types of equivalent lens.
In a fisheye lens with barrel distortion, the image area is calculated using a particular mapping function, such as:
The present invention is particularly effective with orthographic and equisolid angle mapping, as they highly compensate the edges of the frame, and therefore provide better resolution in the centre of the frame.
A lens which does not distort the space (all lines in the image are straight) transforms the points viewed at angle α to a position of points on the sensor according to a formula:
r
0
=f
0 tan(k0α) (1)
wherein r0 represents the distance between the point and the centre of the sensor, and parameters k0 and f0 are characteristic for the particular lens and represent the scale of the transformation and distance between the focus point and the sensor, respectively. The distance f0 influences the size of the distorted image generated in the sensor.
However, for a lens with significant compression of frame edges, which is applicable for the present invention, the distortion is represented by a formula corresponding to a mapping function. For example, for orthographic mapping function, the following formula can be applicable:
r
1
=f
1 sin(k1α) (2)
wherein r1 is the radius of a circle positioned in the centre of the sensor, which determines the fragment of the distorted image of
In the present invention, in order to obtain a reconstructed image, the distorted image is transformed using a function which is a combination of functions (1) and (2) assuming that we are looking for position of points for a specific angle α.
Therefore, from equation (2) it can be inferred that the angle α is given by:
Then by substituting α to equation (1) one obtains a reconstruction function:
The reconstruction function (4), plotted on
The reconstructed image is generated, as shown schematically on
P
reconstructed(x,y)=Pdistorted(r,β)
First, initial values of pixels x′ and y′ are calculated using formulas:
Next, the initial values of P′reconstructed(x′, y′) have their signs corrected depending 5on the quarter and the values are scaled depending on the desired size of the reconstructed image Preconstructed(x, y). For example, in case no scaling is used (the size of the reconstructed image is to be equal to the diameter of the distorted image), the following formulas are used:
x=x′+x′
max
y=y′
max−(y′+y′max)
wherein x′max and y′max are the maximum values corresponding to the maximum distance r (in case of a perfectly round image).
For computational efficiency, it is most preferable when all reconstructed images have a size smaller than the distorted image. Moreover, it is preferable that the size of all reconstructed images is equal. The sizing of the images is achieved by adequate interpolation or extrapolation of information from the disrupted image.
The present invention improves the efficiency of the surveillance systems by providing a plurality of reconstructed images from a distorted image obtained from single sensor, the reconstructed images having different angular resolutions, in a method which does not require substantial processing power requirements.
Due to small computational resources necessary to generate the reconstructed images, a plurality of reconstructed images can be displayed on a single screen and updated with a high frequency, e.g. 25 frames/second. The user interface screen may have a form e.g. such as shown on the page comprising
The following example illustrates how to determine the position of a specific object on different images.
Assume image A (e.g. the image with 15 degrees viewing angle on
Assume image B (e.g. the image with 90 degrees viewing angle on
The coefficients fa and fb are used to scale the size of the image and the coefficients ka and kb must be the same to reconstruct images of different viewing angles according to the same curve. Let's assume determination of new coefficients in relation to the image centre (point 0,0 in the centre of the image).
The different coefficients (x, y) for images A and B are to represent the same point, i.e. the point which lies on the same circle having a radius ri in the distorted image. Therefore, the same point on a circle having radius ri is present on images A and B on circles having a radius, respectively, ra and rb. Therefore, we are looking for a scale coefficient which will allow transformation of ra to rb, in order to quickly recalculate coefficients of one image to another image.
The following two cases shall be assessed:
The coefficient of coordinates scaling s=1 and:
The scale coefficient:
In general, for images A and B having arbitrary sizes which are transformed using the same characteristics, the transformation of coefficients is represented by:
Taking the above into account, it is evident that the present invention enables very quick and easy calculation of coefficients of an object visible on one reconstructed image to coefficients of that object on another reconstructed image.
Number | Date | Country | Kind |
---|---|---|---|
400346 | Aug 2012 | PL | national |