Submissions closed.
Labs3: Restoration of old films (assessed!) |
---|
The goal of this practical is to design and create an algorithm that can be used to restore old films. This is assessed and the deadline is set to February 22nd at noon. In their lifetime, films may suffer deterioration due to environmental hazards such as humidity and dust, chemical instabilities and improper storage. They can also get damaged during development and processing. This leads to flicker, camera shaking, blotches, scratches and other artefacts. Old archive footage, such as film of the 1900's, presents those defects: you will have to find ways to correct them. We will deal with four kinds of features visible on films. Each of them constitutes a part in the coursework. Detection of scene cuts (10%) The first part of the coursework consists in detecting scene cuts, which are not defects of the film, but we'll say it's the warm-up and it might also help you for the following sections. By scene cuts we mean moments when the scene changes. They will simply appear as hard transitions since old films don't display fancy effects to switch from a scene to another. In your output video, you will have to overlay text on the image that will inform the viewer that a scene cut occured. Correction of global flicker (20%) Intensity flicker is a common artefact in old films. It is a unnatural temporal fluctuation in perceived image intensity that does not originate from the original scene. In other words, the image will appear suddenly darker/brighter and won't have a constant global luminosity over time. Intensity flicker can be caused by dust, chemical processing, aging of film, copying, and in the case or earlier film cameras, variations in shutter time. To illustrate, we'll have a look at the following consecutive pictures of a film: It might sometimes not be obvious by looking at still shots, but you will understand better when looking at actual footage. In those three consecutive shots, the image gets suddenly brighter. In your output video, you will have to suppress intensity flicker as much as you can. Correction of camera shaking (35%) This is quite self-explanatory: the image just seems to shake. You will have to align the frames together in order to remove that unwanted motion. Your output video should be comparatively shake-free. Correction of blotches (35%) Blotches are a common type of artefact that manifests itself as disturbing bright or dark spots caused by dirt and by the loss of the gelatin covering the film, due to aging effects and bad film quality. Let's have a look: Here I pointed out the most noticeable ones, but there are many more and it is more obvious once more when looking at the movie. You will have to detect those blotches and remove then. That implies inpainting the part of the image that the blotches were covering, or in other words fill the holes. Your output video should be ideally blotch-free. Details
Convert a video into a sequence of images As mentionned before, you will have to convert your chosen video into a sequence of images, eg. footage.avi into a sequence from footage_0000.png to footage_0150.png. It is advised to extract png images, and not jpeg, to avoid further compression. On Windows It is slightly complicated to achieve that on Windows, we advise you to do it on a Linux labs machine or use that to open a linux session. However if you feel that you can handle it you can do the following on your (personal) computer:
On Linux It is much simpler:
As mentionned before, if you are a Windows user and you want to work on linux, you can go to https://sgd2.cs.ucl.ac.uk/sgd and open a new gnome session using your CS login/passwd (Matlab seems to have problem with KDE). Let me know of any problem. Material
Update
|