- This is going to be a bit of an introduction to upscaling/enhancing images with AI. I will try to update this post as I learn more so that it continues to be of use and improve in quality (as well as re-writing parts of it for better clarity, grammar, and formatting). Discussion about upscaling techniques, experiences, software, evaluations of said software, etc., is encouraged.
- I'm sure you all know what upscaling is, but not everyone is too aware of what AI upscaling is and how to use it. The AI I'm talking about is a Deep Learning Artificial Neural Network, which is basically an AI that's been trained on a large data set (the data set in this case being tons of images) in order to 'learn'. The result is an AI that can more accurately upscale an image, providing detail that traditional upscaling can't.
- Upscaling images isn't a magical process. For example, if there's some completely illegible text on a book in the image, upscaling won't fix that. It's simply a way to increase the resolution of images in an aesthetically pleasing way with more sharpness, clarity, and realism than traditional upscaling. That's not to say it's not worth it to use AI powered upscaling over traditional upscaling/resampling, because it is. The results may not always be good, but they're certainly not always bad either, and it's only going to continue to get better as time goes on. Sometimes an image is upscaled so well that it's practically perfect. Also, upscaling with AI can also be used to simply clean up an image of noise and compression artifacts, so even if you don't need/care to increase the resolution there will still be other potential benefits.
- I will provide a short list of some upscaling options along with the price, platform it's available on, and upscale limits. I won't be evaluating the quality of the upscales for them as for one, that's a bit subjective, and two, I haven't tested everything here. Who knows, I may do so at some point and then provide the images to compare, but I also may not, depends on whatever I decide.
- Some of the upscaling options are web based, which provides the convenience of being able to upscale with essentially any device with a competent web browser and an internet connection. The cons are that it's either limited in capability, cost a subscription and that it requires an internet connection. It may not be the best option for those with slow, unstable, or capped connections. Also, you never know what they're really doing with your images, so if there are any sensitive pics you want to upscale, it may be a good idea to opt for a non web based option.
- Some of them are available to download as software, which tends to have the advantage of not needing an internet connection, and less/no restrictions on upscaling. The cons are that the software needs to be available for the platform you wanna use, plus you also need to have a device capable of running it since unlike with a web based option where other servers take care of the computational load, now it's your device that has to do all the processing.
*Source code is available on
**Via
- These are not the only options, there are many more out there to choose from, so if none of these suit your fancy then search for something like "AI Image Upscaling Software". You can also check out this which provides a list of some more options along with some pros and cons of each. I personally use Gigapixel AI since it runs on my own system and has no major limit that I'm aware of besides being unable to upscale an image beyond 32,000 x 32,000, which isn't an issue for me. If you need/want to upscale an image past a gigapixel for some reason then you could always chop the image into smaller portions, upscale those portions, then blend and stitch them together.
- Once you've picked what you want to use for upscaling, there are some things you may want to do to ensure the best end result. First, are you using the best version of whatever image it is you're going to upscale? Because as you know, there are essentially multiple copies of nearly every photo online, and they aren't all the same quality. So if you got your image from the internet and it isn't a unique photo or a screenshot you took of a specific frame from a video, then you may want to try a reverse image search. There are a few options available, such as , , , etc. that can be used to perform a reverse image search (it can be worth it do do a reverse image search with more than of them as they don't always display the same results). You can also use a browser extension to assist in reverse image searching such as . Remember that just because an image is older, has a higher resolution, or has a higher file size, it doesn't mean that version is of better quality. One way of increasing the chances of finding the original image is to figure out who/what the image is displaying, when/where it would have been taken/posted, etc., and you can use that info to potentially track down a better quality version of it, if not the source itself. For example, maybe the image is from a specific photo-shoot or some kind of event. Knowing that info could help.
- Once you've ensured that you have the best copy of the image you want to upscale (or at least the best one you can find), you may want to deal with data and archival. What I mean by that is, in order to ensure the photo you're going to use is all good and will remain available to everyone, I recommend doing a couple of things. First, use to scan not only the URL for the page the image is found on, but also the direct link to the image and the image file itself once you've downloaded it. This isn't really necessary, but it's what I do. I would also recommend archiving the URL for the page the image was found on as well at the direct link using both the and . Then, change the name of the downloaded image to one that makes sense and is understandable (unless it already has a name like that). Next, I often use to lessen the file size as much as possible (only using lossless optimization so that no data (quality) is lost) so that it takes less storage, uploads faster, and downloads faster.
- Alright, time for upscaling! Well, maybe. Ya see, sometimes an image requires at least some slight tweaking before it gets upscaled. If the image has a lot of noise (be it chromatic noise, light noise, etc.) then the upscaler might (but also may not, mileage may vary in each situation) have a difficult time discerning noise from detail which can result in some odd upscales. So one thing you may want to do is try to denoise the image before upscaling. Sometimes denoising can lead to a worse upscale, so it's up to you to compare and contrast. Other times, the image may have already been upscaled via a traditional upscale. In this case, you'll want to try viewing the image at different zoom levels below 100% until you find the 'sweet spot' where you no longer notice the artifacts of a traditional upscale, such as blockiness or aliasing. A good starting point is 50% zoom. Once you've found that 'sweet spot', downscale the image to the same level where the 'sweet spot' is at (sometimes it's best to just downscale via simple resizing, other times you may get better results if you downscale with resampling, such as lanczos or bicubic, etc.). Same deal as with denoising prior to the upscale, it doesn't always lead to better results, so compare and contrast. Some other things that could potentially allow for a better upscale is blurring the image a little, or maybe sharpening it, or sometimes even upscaling/resampling the image could help.
- Once you've loaded the image into the upscaler and have picked the perfect settings and are about to upscale, you may be presented with a choice of what format and quality you want to export the upscale as. I would recommend exporting to a lossless format such as PNG so that any editing afterwards has a better effect. Okay, so you've now upscaled the image and attained a decent result, what next? You could upload the result as-is with no further tweaking or anything, that's fine, but just some slight additional tweaking may give a more appealing result. Occasionally you'll get some noise in an upscale, even if there didn't seem to be much noise in the source image. In this case, it's best to denoise it as well as you can so that it looks just a little bit better. The image (as a whole or just certain parts of it) may also look a little bit, how should I put it, Smooth? Plastic-like? Something along those lines. In this case, an easy way to enhance it is to add some grain to the image. I prefer a fine grain over a rough grain personally, but you're free to choose whatever. The grain adds a kind of 'fake detail' and makes the image look a little more textured in my opinion. It may also be beneficial to downscale the image as the upscale could have some off/odd details, so downscaling could lessen the visibility of such things while retaining the visual improvements. If you want to do some kind of combination of denoising, downscaling, and grain, then the order goes like this: Denoise → Downscale → Grain.
- The image could also require (or at least benefit from) some manual touch-ups with or . However, I currently have no experience doing that, but that may change in the future which will allow me to fill out a small section on manually touching up the upscale. So moving on from that, your upscale should now be complete. Before uploading, you may want to consider either downscaling or compressing the image via lossy compression as upscales can create particularly large file sizes at times (potentially in the hundreds of megabytes for a single image). What I prefer to do is upload the source image (without any alterations and in it's original format, but losslessly optimized), a lossless WEBP version of the upscale (as it tends to have better compression than PNG), a lossy JPG version, and a lossless PNG (because of its compatibility). That way, people get the source image and can pick which version of the upscale they want which would either be a lossy JPG with the smallest file size, a lossless WEBP with a smaller file size than PNG, or a lossless PNG that has greater support and compatibility than WEBP.
- I'm sure you all know what upscaling is, but not everyone is too aware of what AI upscaling is and how to use it. The AI I'm talking about is a Deep Learning Artificial Neural Network, which is basically an AI that's been trained on a large data set (the data set in this case being tons of images) in order to 'learn'. The result is an AI that can more accurately upscale an image, providing detail that traditional upscaling can't.
- Upscaling images isn't a magical process. For example, if there's some completely illegible text on a book in the image, upscaling won't fix that. It's simply a way to increase the resolution of images in an aesthetically pleasing way with more sharpness, clarity, and realism than traditional upscaling. That's not to say it's not worth it to use AI powered upscaling over traditional upscaling/resampling, because it is. The results may not always be good, but they're certainly not always bad either, and it's only going to continue to get better as time goes on. Sometimes an image is upscaled so well that it's practically perfect. Also, upscaling with AI can also be used to simply clean up an image of noise and compression artifacts, so even if you don't need/care to increase the resolution there will still be other potential benefits.
- I will provide a short list of some upscaling options along with the price, platform it's available on, and upscale limits. I won't be evaluating the quality of the upscales for them as for one, that's a bit subjective, and two, I haven't tested everything here. Who knows, I may do so at some point and then provide the images to compare, but I also may not, depends on whatever I decide.
- Some of the upscaling options are web based, which provides the convenience of being able to upscale with essentially any device with a competent web browser and an internet connection. The cons are that it's either limited in capability, cost a subscription and that it requires an internet connection. It may not be the best option for those with slow, unstable, or capped connections. Also, you never know what they're really doing with your images, so if there are any sensitive pics you want to upscale, it may be a good idea to opt for a non web based option.
- Some of them are available to download as software, which tends to have the advantage of not needing an internet connection, and less/no restrictions on upscaling. The cons are that the software needs to be available for the platform you wanna use, plus you also need to have a device capable of running it since unlike with a web based option where other servers take care of the computational load, now it's your device that has to do all the processing.
Price | $99.99 | First 5 images free, subscription starts at $12 a month to upscale 100 images a month | Free | Free |
Upscale Limit | 32,000 x 32,000 | 64 megapixels for the 5 free images; 256 megapixels with a regular subscription; 500 megapixels with a business subscription (which starts at $72 a month) | Can't upload images larger than 1,500 x 1,500 or 5 MB. Upscaling options of 1.6x or 2x | Can't upload images other than JPG or PNG and nothing larger than 1,200 x 1,200 or 5 MB. Only options for upscaling are 2x and 4x |
Web | N | Y | Y | Y |
Windows | Y | N | Y* | N |
Mac | Y | N | Y* | N |
Linux | Y** | N | Y* | N |
Mobile App | N | N | Y* | N |
*Source code is available on
**Via
- These are not the only options, there are many more out there to choose from, so if none of these suit your fancy then search for something like "AI Image Upscaling Software". You can also check out this which provides a list of some more options along with some pros and cons of each. I personally use Gigapixel AI since it runs on my own system and has no major limit that I'm aware of besides being unable to upscale an image beyond 32,000 x 32,000, which isn't an issue for me. If you need/want to upscale an image past a gigapixel for some reason then you could always chop the image into smaller portions, upscale those portions, then blend and stitch them together.
- Once you've picked what you want to use for upscaling, there are some things you may want to do to ensure the best end result. First, are you using the best version of whatever image it is you're going to upscale? Because as you know, there are essentially multiple copies of nearly every photo online, and they aren't all the same quality. So if you got your image from the internet and it isn't a unique photo or a screenshot you took of a specific frame from a video, then you may want to try a reverse image search. There are a few options available, such as , , , etc. that can be used to perform a reverse image search (it can be worth it do do a reverse image search with more than of them as they don't always display the same results). You can also use a browser extension to assist in reverse image searching such as . Remember that just because an image is older, has a higher resolution, or has a higher file size, it doesn't mean that version is of better quality. One way of increasing the chances of finding the original image is to figure out who/what the image is displaying, when/where it would have been taken/posted, etc., and you can use that info to potentially track down a better quality version of it, if not the source itself. For example, maybe the image is from a specific photo-shoot or some kind of event. Knowing that info could help.
- Once you've ensured that you have the best copy of the image you want to upscale (or at least the best one you can find), you may want to deal with data and archival. What I mean by that is, in order to ensure the photo you're going to use is all good and will remain available to everyone, I recommend doing a couple of things. First, use to scan not only the URL for the page the image is found on, but also the direct link to the image and the image file itself once you've downloaded it. This isn't really necessary, but it's what I do. I would also recommend archiving the URL for the page the image was found on as well at the direct link using both the and . Then, change the name of the downloaded image to one that makes sense and is understandable (unless it already has a name like that). Next, I often use to lessen the file size as much as possible (only using lossless optimization so that no data (quality) is lost) so that it takes less storage, uploads faster, and downloads faster.
- Alright, time for upscaling! Well, maybe. Ya see, sometimes an image requires at least some slight tweaking before it gets upscaled. If the image has a lot of noise (be it chromatic noise, light noise, etc.) then the upscaler might (but also may not, mileage may vary in each situation) have a difficult time discerning noise from detail which can result in some odd upscales. So one thing you may want to do is try to denoise the image before upscaling. Sometimes denoising can lead to a worse upscale, so it's up to you to compare and contrast. Other times, the image may have already been upscaled via a traditional upscale. In this case, you'll want to try viewing the image at different zoom levels below 100% until you find the 'sweet spot' where you no longer notice the artifacts of a traditional upscale, such as blockiness or aliasing. A good starting point is 50% zoom. Once you've found that 'sweet spot', downscale the image to the same level where the 'sweet spot' is at (sometimes it's best to just downscale via simple resizing, other times you may get better results if you downscale with resampling, such as lanczos or bicubic, etc.). Same deal as with denoising prior to the upscale, it doesn't always lead to better results, so compare and contrast. Some other things that could potentially allow for a better upscale is blurring the image a little, or maybe sharpening it, or sometimes even upscaling/resampling the image could help.
- Once you've loaded the image into the upscaler and have picked the perfect settings and are about to upscale, you may be presented with a choice of what format and quality you want to export the upscale as. I would recommend exporting to a lossless format such as PNG so that any editing afterwards has a better effect. Okay, so you've now upscaled the image and attained a decent result, what next? You could upload the result as-is with no further tweaking or anything, that's fine, but just some slight additional tweaking may give a more appealing result. Occasionally you'll get some noise in an upscale, even if there didn't seem to be much noise in the source image. In this case, it's best to denoise it as well as you can so that it looks just a little bit better. The image (as a whole or just certain parts of it) may also look a little bit, how should I put it, Smooth? Plastic-like? Something along those lines. In this case, an easy way to enhance it is to add some grain to the image. I prefer a fine grain over a rough grain personally, but you're free to choose whatever. The grain adds a kind of 'fake detail' and makes the image look a little more textured in my opinion. It may also be beneficial to downscale the image as the upscale could have some off/odd details, so downscaling could lessen the visibility of such things while retaining the visual improvements. If you want to do some kind of combination of denoising, downscaling, and grain, then the order goes like this: Denoise → Downscale → Grain.
- The image could also require (or at least benefit from) some manual touch-ups with or . However, I currently have no experience doing that, but that may change in the future which will allow me to fill out a small section on manually touching up the upscale. So moving on from that, your upscale should now be complete. Before uploading, you may want to consider either downscaling or compressing the image via lossy compression as upscales can create particularly large file sizes at times (potentially in the hundreds of megabytes for a single image). What I prefer to do is upload the source image (without any alterations and in it's original format, but losslessly optimized), a lossless WEBP version of the upscale (as it tends to have better compression than PNG), a lossy JPG version, and a lossless PNG (because of its compatibility). That way, people get the source image and can pick which version of the upscale they want which would either be a lossy JPG with the smallest file size, a lossless WEBP with a smaller file size than PNG, or a lossless PNG that has greater support and compatibility than WEBP.
Last edited: