This can be non-trivial, especially because so many cutting edge implementations are at the bleeding edge, with unstable dependencies and changing requirements. One is immediate feedback - you need to upload the image to a server, process it, and send it back down, which can take a while, depending on your user’s connection and the size of your model. On the other hand, there’s drawbacks to implementing this on the backend. Additionally, many use cases are “scale once, display often” - if it takes a little longer to upscale an image, well, no big deal. If getting the highest resolution images is important, backend deployments are a good choice. Running it on the backend gives you access to beefy hardware, and that hardware lets you use the latest, most accurate models. There’s good arguments for building it this way. Super Resolution is usually implemented on the backend using Python. There’s many different approaches you can use to implement super resolution and some great blog posts describing the underlying theory are available here and here. What can we do? If we double each pixel we get a larger image that looks pixelated: We want to feature that image on our home page because it’s a beautiful dog, but our design demands images at 300px. Let’s say somebody’s uploaded a 150px photo to our e-commerce site: What is this “Super Resolution” you speak of? Is there a technical solution we can explore? There certainly is and it’s called Super Resolution. And even if they do have better images, it’s a labor intensive ask of your users to go back and ask them to fix their images for you, even if it is for their benefit. Maybe the images are screenshotted from PDFs, or maybe the images are older and users don’t have better ones. But often, the images they’ve provided are all they’ve got. You can go back and nag your users for better images - and sometimes this can work. (I’m drawing from experience here - this has happened to me more than once.) There’s only one problem - once you launch, you find your users are uploading small, pixelated images, and all of a sudden your beautiful site doesn’t look quite so beautiful. You’ve designed a great looking site, built to highlight the beautiful and wondrous products your users have crafted by hand. Your users upload photos of products to sell. Let’s say you’re working on an e-commerce platform. In this article I want to lay out what I consider a killer use case for neural networks in the browser, along with how I went about discovering the research, converting it to Javascript, and ways to improve it in the future. ![]() It’s designed to be model-agnostic - you can plug and play any trained model that can be converted to Tensorflow.js. I recently released a tool, UpscalerJS for doing image upscaling in your browser with Javascript and reducing your image sizes by up to 1/16th.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |