[AI] Add neural restore lighttable module for AI denoise and upscale#20523
[AI] Add neural restore lighttable module for AI denoise and upscale#20523andriiryzhkov wants to merge 1 commit intodarktable-org:masterfrom
Conversation
|
Excellent! I was looking forward to it :) |
|
How do these models fit in with the "acceptable" model conversation? If we merge a module that requires a model that's not "acceptable", then darktable is "endorsing"/requiring the non acceptable model. |
These models easily meet criteria for open-source AI. Please, see details here: |
|
@esq4: Good point about disk usage. The current approach (import as grouped image) is intentional — it gives you a denoised/upscaled source that you can further develop in darkroom and compare via grouping. This is conceptually different from export, which is a final output step. More flexibility would definitely be helpful here. What I think can be added as extra parameters:
As for export-time denoising (like nind-denoise) — that's a different use case but a valid one. It could be added to the export module down the road as a complementary feature. |
|
BSRGAN only meets open source tooling and in the limitations it says If I look at some of the other models (SAM) they require data destruction in 3 months. Does that mean I have to destroy my edits? It also says no commercial use, so if I sell one of my images am I in violation? I'm sorry, but this is a minefield. Somehow we need to decide a quick way to determine if a model is acceptable. Do we use the OSAID, and if so what MOF? It seems Class I, Open Science, is fine. However Class II, Open Tooling, seems to come with lots of limitations/questions. If we decide to use Class II, how are we going to communicate the limitations to the users? Don't expect them to read, we already know how well that works. |
You are referring to clause 7 of SA-1B DATASET RESEARCH LICENSE. But that is a requirement for the training dataset, not the model. You can use that dataset for your research, for training your own model, but you can't keep it indefinitely. What's the problem?
Absolutely not. This is a conclusion from your statement above that is not true.
Also no. The user is using the model and not the training dataset.
I'm also sorry, but this is NOT a minefield. Wanna see photos of what a minefield actually is? :)
Too vague. What is "acceptable"? Why should we decide what is acceptable for users and not the users themselves? |
|
Thank you for this PR. It works for me. The denoise and upscale functions work. I use the nind and bsrgan models from preferences -> AI after downloading them. If I test this PR on top of git master branch I get fallback to CPU and can not activate NVIDIA CUDA. The denose and, even more so, upscale, are very heavy using CPU and I would say that a GPU is essential (not so for AI masks). Workaround: I found a couple of preliminary issues:
|
This is a third and improved part of the original PR #20322.
Summary
neural_restore) that provides AI-based image restoration using ONNX backend modelsai_models.json)Details
USE_AI=ON(cmake option, default OFF)Fixes: #19310