PDA

View Full Version : New Interesting Picture Noise Filter


fasttimes
5th February 2003, 04:11
http://virtualdub.everwicked.com/index.php?act=ST&f=7&t=1604 talks about a very cool noise filter. Anyone want to try a AVISynth version?

majerle
5th February 2003, 08:10
Just look at picture... if true this filter is AMAZING !
Very impressed :eek:

Andres

sh0dan
5th February 2003, 09:22
One frame takes several seconds to calculate, since it's mostly frequency detection and FFT-filters being applied. It works quite similar to "noise-reduction" in CoolEdit (although CoolEdit is sound of cource).

It builds a profile of the noise from a uniform image area, and makes a (spatial) frequency analysis for each color. It then applies the profile for the entire image, and removes all noise that fit the analysis result.

This is definately not easy to code - and it will definately not be fast - furthermore it requires a profile to be built manually, though it could be made by detecting rather uniform areas.

Way out of my league - don't know if any mathcore math people are around to take up the challenge.

You can download a test version that has full funtionality - try it out.

lex3
5th February 2003, 10:49
There is another interesting aspect:
As NeatImage builds its noise profiles using uniform area it is rather strong restriction, isn't it? It may be quite difficult to find one in a short clip or in a movie.

Much easier a static but textured area with no motion except noise can be found. Thus noise profile can be taken temporally.

May be the math can be found in the link provided in this thread: http://forum.doom9.org/showthread.php?s=&threadid=36878

kyousuke
6th February 2003, 12:35
wow this link is very impressive !
www.neatimage.com/examples.html (http://)

E-Male
6th February 2003, 12:59
letīs say we have a short movie: 80min, itīs pal and we do just do a 1 pass encoding
now if this filter would need 1 second per frame (we talk about several seconds here!) the filtering (encoding and other filters not yet included in the math) would take 33.33 hours
so this impressive results are quite useless for the avarage video encoding guys like us

CU
E-Male

Wilbert
6th February 2003, 13:06
It might be useful for videoclips.

Bulletproof
7th February 2003, 21:18
I have tested Neatimage before when I was doing some digital photography last year, the program works OK, but I do not think it is suitable for video. One of the reasons it's able to work pretty well is because digital cameras can make images at high megapixels, so when you use the filter at a huge resolution then scale it down you can barely spot any errors. On an unscaled image, I have found Neatimage to produce alot of errors in smoothing and a ton of smearing and blurring and chroma bleeding (ISO 400). Currently I think Smart Smoother HiQ and 2D Cleaner are working just fine, the only issue right now is trying to clean out edges, Msmooth tries this right now but I think that works a bit too harshly right now.

cody
8th February 2003, 03:18
Originally posted by E-Male
letīs say we have a short movie: 80min, itīs pal and we do just do a 1 pass encoding
now if this filter would need 1 second per frame (we talk about several seconds here!) the filtering (encoding and other filters not yet included in the math) would take 33.33 hours
so this impressive results are quite useless for the avarage video encoding guys like us

CU
E-Male

In movie clips I've seen most of the noise seems uniform so the analysis would need be only performed once maybe on different parts of the frame and the result applied to the clip. This wouldnt be that slow would it? I could be wrong but the examples look very promising.

Richard Berg
8th February 2003, 03:25
Originally posted by E-Male
letīs say we have a short movie: 80min, itīs pal and we do just do a 1 pass encoding
now if this filter would need 1 second per frame (we talk about several seconds here!) the filtering (encoding and other filters not yet included in the math) would take 33.33 hours
so this impressive results are quite useless for the avarage video encoding guys like us

CU
E-Male
Who says the "avarage video encoding guys" are Avisynth's target audience? :)

E-Male
8th February 2003, 03:49
Originally posted by Richard Berg
Who says the "avarage video encoding guys" are Avisynth's target audience? :)

nobody :D

morsa
9th February 2003, 22:58
Believe me It works really good.
I processed a little sequence of 12 images 1440x1152 and worked great.
It took 10 seconds per image on my Athlon 2000+

E-Male
9th February 2003, 23:36
well, that would be 2 weeks for a movie [i donīt mean to be nasty, but i think this is picture filter and wonīt be a video filter until pcs are muuuuuuuuuuuuuuuuuch faster]

Richard Berg
9th February 2003, 23:46
So Pixar, IL&M, et al. should close up shop and go home just because their effects can't be done in realtime on a single machine CPU?

E-Male
10th February 2003, 00:55
well, iīd be glad if they helped me encoding my movies :p

kxy
10th February 2003, 01:31
I can wait a week for a good resulting movie. There are times I spend 8 or 9 encodes using different filters combinations just to "tweak" the movie to my taste. If a filter like this one exists for avisynth script, then it would save me all the tweaking.

Le Furet
10th February 2003, 03:04
Moreover, there could be means to speed up the process. For example, if possible, keep the last processed frame in memory, and use it for the areas of current frame where no move has occured.

Does anyone know where I can find an article on the algorithme used ? I followed the link above, I found some very interesting articles, but no one seemed to be related with that particular filter. (No dreaming, I don't intend to code it, i'm a bad coder, just understand)

morsa
11th February 2003, 03:10
@ Le Furet: You should search for "removing noise using wavelets"
that's the way it works.
For the speed dilema you should use one profile for the entire sequence.

@ E-Male: Remember my test image was 1440x 1152 and this resolution is not the usual case, E-Male please pay attention to the complete post (I'm just kidding! )

E-Male
11th February 2003, 11:20
@morsa: but as Bulletproof posted, the filter seems to work fine only with hi-res input :p [sorry couldnīt resist]

Le Furet
11th February 2003, 15:56
@ Morsa : Thanks :D

morsa
12th February 2003, 00:08
In fact, for me it also works great with 720x576 resolutions.I'm not interested about testing it with lower resolutions cause it is a nonsense.

cody
13th February 2003, 09:11
I wonder if the filter for vdub "Wavelet Noise Reduction" which was released long ago by thejam79 does something similar?? Though it seems cant locate any of his filters on the web :( dedot etc

morsa
13th February 2003, 16:42
It is supposed that It should do something similar.
I've been testing it and Neatimage is far, far better.
Vdub filter blurs too much and is very difficult to configure correctly.

Suzahara
13th February 2003, 17:59
Heh, I suppose if you're a glutton for punishment, you could rip all your frames to jpg or bmp or whatever kind of files and go through frame by frame and use the program on them :eek:

morsa
14th February 2003, 08:10
Good news!!!!!
If any developer here is interested, Bernard De Cuyper, creator of the amazing Restoreinpaint at Sourceforge told me that is very easy to outperform Neatimage on every aspect with his code.
He gave me somesettings to work with.
I asked him to give us some info about which part of the code to use and with what settings to develop a powerfull denoiser for Vdub/Avisynth.
If anyone is interested please pay attention to Restoreinpaint.It seems almost everything needed is inside that software, even a way to remove hardcoded subtitles a many things more.

E-Male
14th February 2003, 13:16
Originally posted by morsa
...even a way to remove hardcoded subtitles...

Iīd be very interested in that (all my trys on this turned out to be much to code and cpu intense)

vidiot
14th February 2003, 16:48
I did use the software (restoreinpaint) after reading an article about how to restore old and bad (scratched ect.) pictures.

But all i can say up to now:
In the standard modes one can choose, the software needs up to 30 minutes (depends on what you actually choose of course) on my athlon 1900+ to "restore" my picture.

I do not say that it is not fast! It might be, but I canīt tell.
For my main purpose - cleaning noisy dicicam pictures (stills) -
neatimage will do better. Maybe just because of its frontend.

For video:
Donīt judge video by still frames.
I think for a comparison youīll need ~100 pictures at last to see a difference.

On the other hand:
The approach from restoreinpaint is interessting - it trys to "guess"
what is missing in the picture (needed for heavy destroyed pictures) -so the software try to look at the picture like an painting artist does...

E-Male
14th February 2003, 19:17
i guess the problem is the lack of intelligence [or however this is spelled *lol*] in a progam
a human knows what is a scratch or artefact and what is an ok part of the pictrure, but itīs very very hard to make a program finding out what is what
thatīs why i donīt like the use of words like "gues" in this context, althou the correct words would sound much more complivated [i guess :) ]
but in case of video a better detection of errors would be enough as in most cases a simple sandwiching [like the avisynth-filter would do]of these pixels would in most cases be enough

i hope someone gets any sence of what iīve written

cu
e-male