That's not to say it's not possible, the problem is more infrastructure than the difficulty of doing it.
You'd need:
- Computational power (modern GPUs aren't cheap, but these can be rented through the cloud now)
- Intermediate Python coding knowledge (AI coding assistants are probably good enough to get you going)
- Enough annotated training data, basically before and after data that you know really well, you'd need to show it where every bit of dust and scratch is...(this is the worst part)
- Enough experience with the data to know what features are real or artefacts (was that spot that was removed really dust, or was it someones eye in a group photo?)
- Time to review and retrain the model when it is showing incorrect results
For this part, we have a dedicated full time engineer developing, training and maintaining our AI services, this is overkill for a home user but they do the same things you would have to, but on a slightly larger scale
Only after this will you have a trained AI model that can do scratch or dust removal. The next fun part is building the infrastructure to use that model:
- How do you send your images to and from the model
- How to know the model is working properly
- How to check the performance of the hardware it is running on
To get to this, we had to build a whole Python package to interface between our hardware and our AI models, capable of full diagnostics, resource allocation, and data handling. You would need to do something similar to this, then build a GUI for user friendliness, or just run it from a command line, like a caveman.
I expected such labor. Thanks for your advice.