Giter Club home page Giter Club logo

davinci's Introduction

DaVinci Image/Video Enhancement Toolkit

Introduction

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.

Recent Updates

  • ✅Release the general image enhancement toolkit.
  • ✅Release the conference meeting enhancement toolkit.

Scenarios and Toolkits

General Image Enhancement

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.

ISR_Demo

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

Conference Meeting Enhancement

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

Related Projects

We sincerely recommend some of our excellent works that make the DaVinci toolkit happen. Please don't hesitate to star to these projects. ✨

Team Members

  • 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.

Acknowledgment

This toolkit is built on ncnn. Some of the models are trained with BasicSR. We sincerely thank all the authors of these projects.

Contact

If you have any questions, please feel free to raise an issue or send an email to [email protected].

Contributing

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.

Trademarks

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.

davinci's People

Contributors

hyang0511 avatar jianlong-fu avatar microsoftopensource avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

davinci's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.