5 ms·
Depends on what you are cleaning. I have a hunch you wouldn't even need anything ML related. Just the right computer vision pipeline using OpenCV should get you
by syntaxing 6y ago
Depends on what you are cleaning. I have a hunch you wouldn't even need anything ML related. Just the right computer vision pipeline using OpenCV should get you really close. If you really want to use ML/DL because its cool and fun, I'm pretty sure Autoencoders will do what you need [1]. If you're lucky, the denoising autoencoder should do the clean up automatically. Alternative is to use a VAE which goes really far compared to GAN since its much more sampling efficient and easier to train. I think(?) it's what was used in the original deepfake.
[1] https://www.mygreatlearning.com/blog/autoencoder/ https://www.mygreatlearning.com/blog/autoencoder/
- tomrod 6y agoYou're right on the VAE. Depending on output quality, my experience has been fewer samples are needed for VAE training.
- teruakohatu 6y agoI agree. For cleaning up a fingerprint I would think you could get good enough using Opencv. People have been cleanly vectoring raster images long before deep learning. If you can automate it using a combination of Gimp filters + Inkscape, you probably can do it pretty easily convert that process into code.
- doctoboggan 6y agoI can and do simply rasterize images for some of my clean and proper fingerprints. The problem I am having is with smudges, incomplete prints, or other artifacts. In those cases I trace over and fix the print sometimes taking a decent amount of artistic license depending on the underlying quality of the image.
- bryanrasmussen 6y agomaybe a quick mvp would be to detect smudged images, and separate those out for manual handling, and the non smudged automatically rasterized.
- celrod 6y agoI'd also take a look at Images.jl: https://juliaimages.org/latest/examples/ https://juliaimages.org/latest/examples/ Noise removal example: https://juliaimages.org/ImageFiltering.jl/stable/democards/demos/filters/median_filter/#Custom-median-filters-1 https://juliaimages.org/ImageFiltering.jl/stable/democards/d...
- doctoboggan 6y agoI can't really share any images with you as its my customers PII, but the cleanup stage involves a decent amount of artistic interpretation which is why I didn't think a normal image processing pipeline would work. They often come in smudged, missing lines, incomplete, or with some other error. Its not just a matter of playing with curves, levels, brightness, contrast, etc. I have to trace over them defining what I think the underlying print probably looked like.
- foerbert 6y agoNaively that doesn't seem like a major problem. I'd see it as largely setting up a bunch of constraints and methods to generate candidate solutions - after the initial image processing, obviously.
- notagoodidea 6y agoHow far could you go with some automatic cleaning, something like `maptrace` [0] and some topology rules when you have your vector file to finish with some manual artistic polish? Because, i don't believe that you will achieve easily the "do-it-like-me" result expected from either GAN or VAE or autoencoders. In case of you want to look, the classic examples about style transfer (Photo to Van Gogh style, etc.) seems to be the way to go. Specific to Julia, you can look at Flux.jl or KNet.jl. [0] https://github.com/mzucker/maptrace https://github.com/mzucker/maptrace
- syntaxing 6y agoI think it's a common misconception that OpenCV is Photoshop in coding form. There's a ton of powerful that you can use for what you described but hard to say without seeing the pics. A good example is noise removal in the PSD domain (power spectrum density, not PSD photoshop files). [1] https://docs.opencv.org/master/d2/d0b/tutorial_periodic_noise_removing_filter.html https://docs.opencv.org/master/d2/d0b/tutorial_periodic_nois...