Da Vinci was a famous Renaissance painter who had the ability to turn corruption into magic. The DaVinci Toolkit is a set of intelligent image/video enhancement tools, aiming to solve the pain points of existing video enhancement and restoration tools, give full play to the advantages of AI technology and lower the threshold for users to process video footage.
- ✅Release the general image enhancement toolkit.
- ✅Release the conference meeting enhancement toolkit.
Users usually have some low-quality images that need to be improved. The degradations of such images are complex and unknown. Existing general image super-resolution approaches cannot achieve visual pleasant results. Target on this scenario, we build an image super-resolution toolkit for general user images that can handle various degradations. Specifically, our toolkit can enhance the low-resolution images to high-resolution ones and reduce artifacts including noise, blur, and JPEG blocking.
Left: Input Low-Quality Image, Right: DaVinci Enhanced Result
Three executable files are provided in the Toolkit:
-
DaVinci_ISR_General_Tool_X2/3/4.exe
To restore the general image with different scale factors.
DaVinci_ISR_General_Tool_X2/3/4.exe input.png output.png
The quality of streaming videos in conference meetings is usually affected a lot by the network quality. When facing unstable or low-bandwidth networks, the resolution and fps of the video streams are highly reduced and result in bad user experiences. To enhance the visual quality of the streaming videos, we propose a compressed video super-resolution toolkit for talking-head scenarios that can handle various compression artifacts. Specifically, our toolkit can recover from compressed low-resolution video frames to high-resolution video frames in real-time performance on CPU or low-end GPU.
VSR_Demo.mp4
Left: Input Low-Quality Video, Right: DaVinci Enhanced Result
Two executable files are provided in the Toolkit:
-
DaVinci_VSR_Small_Face_Online_X4.exe
Simulate the use of video conferencing scenarios that reconstruct the low-resolution images acquired by the camera to high-resolution images in real time.
DaVinci_VSR_Small_Face_Online_X4.exe
-
DaVinci_VSR_Small_Face_Offline_X4.exe
Reconstruct compressed low-resolution video to high-resolution video offline
DaVinci_VSR_Small_Face_Offline_X4.exe input_video output_video
We sincerely recommend some of our excellent works that make the DaVinci toolkit happen. Please don't hesitate to star to these projects. ✨
- TTSR: Learning Texture Transformer Network for Image Super-Resolution
- DMSR: Degradation-Guided Meta-Restoration Network for Blind Super-Resolution
- CKDN: Learning Conditional Knowledge Distillation for Degraded-Reference Image Quality Assessment
- TTVSR: Learning Trajectory-Aware Transformer for Video Super-Resolution
- FTVSR: Learning Spatiotemporal Frequency-Transformer for Compressed Video Super-Resolution
- TTVFI: Learning Trajectory-Aware Transformer for Video Frame Interpolation
- Huan Yang and Jianlong Fu Lead this whole project.
- Yin Chen Train the general image enhancement models and integrate these models into executable files.
- Huiguo He Process training data for conference meeting enhancement and train the models.
This toolkit is built on ncnn. Some of the models are trained with BasicSR. We sincerely thank all the authors of these projects.
If you have any questions, please feel free to raise an issue or send an email to [email protected].
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.