3
$\begingroup$

Hello everyone i want to do dynamic texture video sementation using the Fourier transform in MATLAB. I am applying 3-D fft on dynamic texture video frames (using matlab function 'fftn') and reconstructing video frames back from the phase spectrum only (using matlab function 'ifftn').

  1. I have found moving part pixel intensity values becomes dominant (means its intensity values are increased so much) compared to stationary part intensities in reconstructed frames of original frames .(e.g.in waterfall and traffic on road, water part and moving car's intensity values are increased respectively compared to the stationary background). how does this happen?
  2. Also What is the relation between time shift and phase change if we take Fourier transform of video frames?
  3. I want know that what changes will occur in magnitude and phase spectrum amongst the frames and can we derive any relation amongst the interframe magnitude or phase spectrum changes?
$\endgroup$
4
$\begingroup$

Q1. As shown by Oppenheim's experiment, the phase spectrum contains most of the structural information about the image. In 2D this are things like lines and edges. In 3D it is things like lines and edges but also movement. Instead of 2D frames and time, imagine the video as a 3D solid where the z-axis is the frame number. If you took a slice along the z-axis (3rd dimension), movement appears like an edge in the signal.

When you reconstruct using just the phase spectrum, you give all the component sinusoids the same magnitude. This basically normalises the brightness everywhere in the image. Try it in MATLAB:

I = double(imread('YOURIMAGE.TIF'));
f = fft(I);
f = f./abs(f);
I = real(ifft(f));
imagesc(I);

In a 3D image, such as a video, this normalisation is also in the time axis. Hence some smaller amplitude moving parts becoming greater in amplitude (and the opposite for high amplitude parts).

Q2. One video frame in your case is the same as 1 pixel in the x or y directions. The phase change depends on the movement.

Q3. Again that depends on the movement. Slow movement will fall into the lower frequency of the spectrum, high movement into the higher frequency. The spectrum is a global response though. It can only tell you about the entire signal. If you want to do analysis locally (i.e. restricted in location and time) you have to use quadrature filters if you want phase information.

$\endgroup$
  • 1
    $\begingroup$ but sir which property of Fourier Transform was effective in the whole process? $\endgroup$ – ramdas1989 May 23 '14 at 13:07
  • 1
    $\begingroup$ The moving pixels becoming dominant? Reconstructing from just phase. If you reconstructed from phase and magnitude you'd get the original signal back. $\endgroup$ – geometrikal May 23 '14 at 13:10
  • 1
    $\begingroup$ sir ,I'm extremely sorry but i don't get you what u want to say..will u please tell me it in detail (or with the help of example)?? thank u very much.... $\endgroup$ – ramdas1989 May 23 '14 at 13:13
  • 2
    $\begingroup$ Read the paper I linked to and try the code above. Fourier spectrum is a matrix of complex numbers. The magnitude of the complex numbers is the magnitude of the spectrum, the argument of the complex numbers is the phase of the spectrum. If you set all the magnitudes of the complex numbers to '1' then you have effectively made all the sinusoids the same amplitude, and so the only information left in the spectrum is phase. Then doing the inverse fft on this modified spectrum gives you the result you are seeing. This is the process "reconstructing video frames back from the phase spectrum only" $\endgroup$ – geometrikal May 23 '14 at 13:23
  • 1
    $\begingroup$ imageprocessingblog.com/… $\endgroup$ – geometrikal May 23 '14 at 13:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.