Acquiring good quality images of moving objects by a digital camera remains a valid question, particularly if the velocity of the photographed object is only partially known, it is virtually impossible to tune an optimal exposure time. The same question arises when a solid object is being photographed by a moving camera. This is not only frequent, but even necessary when the camera is embarked on terrestrial vehicle, a plane, or an Earth observation satellite. In the latter cases, the camera velocity is constrained by physical laws. For this reason the recent Raskar and al. flutter shutter and the Durand and al. motion invariant photography methods have generated much interest. This paper proposes a mathematical analysis of moving photography which permits to treat in the same formalism the flutter shutter and the motion invariant photography. A general flutter shutter method is defined and explored, which allows for nonbinary shutter sequences and permits to formalize the question of an optimal flutter shutter code. The first result of this analysis is actually negative, and raises what we call the flutter shutter paradox. We prove that both the flutter shutter and the motion-invariant photography methods cannot increase indefinitely the signal to noise ratio compared to an exposure short enough to avoid motion blur despite the use of a possibly infinite exposure time. Bounds are shown. We also resolve the flutter shutter paradox under the assumption that the relative velocity of object and camera is not a priori known. Then a significant increase of the average SNR can be expected provided there is an a priori knowledge of the probability density for the observed velocities. In this set up we show how to compute analytically an optimal flutter shutter strategy.
The non-uniformity is a time-dependent noise caused by the lack of sensor equalization. We present here the detailed algorithm and online demo of the non-uniformity correction method by midway infrared equalization. This method was designed to suit infrared images. Nevertheless, it can be applied to images produced for example by scanners, or by push-broom satellites. This single image method works on static images, is fully automatic, has no user parameter, and requires no registration. It needs no camera motion compensation, no closed aperture sensor equalization and is able to correct for a fully non-linear non-uniformity. Source Code The source code, version 2.0, is available from the article web page 1. The documentation is included in the archive. Basic compilation and usage instructions are included in the README.txt file. The source code for the contrast adjustment preprocessing is available from the same location with its own documentation (see [10]). The demo permits to try the proposed method on several well chosen test images, and on any uploaded image. To improve visibility (without changing the algorithm) the input image can be preprocessed using the "Simplest Color Balance" algorithm [10]. The s1 parameter is the percentage of pixels saturated to black and s2 the percentage saturated to white. If both s1 = s2 = 0 the image is simply stretched to [0, 255] by an affine contrast change (causing no loss of information) before applying the denoising algorithm. The output image is re-stretched to [0, 255] by an affine contrast change. The outputs are 1) the processed image and 2) the optimal scale parameter s found by the algorithm.
The proposed method simulates an embedded flutter shutter camera implemented either analogically or numerically, and computes its performance. The goal of the flutter shutter is to make motion blur invertible, by a "fluttering" shutter that opens and closes on a well chosen sequence of time intervals. In the simulations the motion is assumed uniform, and the user can choose its velocity. Several types of flutter shutter codes are tested and evaluated: the original ones considered by the inventors, the classic motion blur, and finally several analog or numerical optimal codes proposed recently. In all cases the exact SNR of the deconvolved result is also computed. Source CodeThe C++ implementation of the flutter shutter camera simulator is available on the article web page 1 , with source code and documentation.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.