|
| 1 | +# Real-Time Style Transfer Sample |
| 2 | + |
| 3 | +This UWP application uses the [Microsoft.AI.MachineLearning](https://www.nuget.org/packages/Microsoft.AI.MachineLearning/) Nuget pacakge to perform style transfer on user-provided input images or web camera streams. |
| 4 | +The VideoEffect/StyleTranfserEffectCpp project implements the (IBasicVideoEffect)[https://docs.microsoft.com/en-us/uwp/api/windows.media.effects.ibasicvideoeffect?view=winrt-19041] interface in order to create a video effect that can be plugged in to the media streaming pipeline. |
| 5 | + |
| 6 | +For how-tos, tutorials and additional information, see the [Windows ML documentation](https://docs.microsoft.com/windows/ai/). |
| 7 | +To learn more about creating custom video effects, see [this walkthrough](https://docs.microsoft.com/en-us/windows/uwp/audio-video-camera/custom-video-effects). |
| 8 | + |
| 9 | +## Building the Sample |
| 10 | +1. If you download the samples ZIP, be sure to unzip the entire archive, not just the folder with |
| 11 | + the sample you want to build. |
| 12 | +2. Start Microsoft Visual Studio 2017 and select **File** \> **Open** \> **Project/Solution**. |
| 13 | +### Build the Video Effect |
| 14 | +3. Starting in the folder where you unzipped the samples, go to the Samples subfolder, then the |
| 15 | + subfolder for this specific sample (eg. StyleTranfer). Navigate to the VideoEffect/StyleTranferEffectCpp and open the .sln file. |
| 16 | +4. Confirm that you are set for the right configuration and platform (eg. Debug, x64). |
| 17 | +5. Build the solution (Ctrl+Shift+B). |
| 18 | +6. Take note of where the .winmd file is built to (eg. StyleTransferEffectCpp/x64/Debug/StyleTransferEffectCpp.winmd). |
| 19 | +### Build the Sample App |
| 20 | +7. Open a new Visual Studio window and select **File** \> **Open** \> **Project/Solution**. |
| 21 | +8. Starting in the folder where you unzipped the samples, go to the Samples suboflder, then the subfolder for this specific example (eg. StyleTransfer). |
| 22 | + Open the Visual Studio (.sln) file. |
| 23 | +9. In the Solution Explorer, right-click on the References tab and select "Add Reference..." |
| 24 | +10. Click Browse and navigate to the .winmd file you built in the previous section (eg. StyleTransferEffectCpp/x64/Debug/StyleTransferEffectCpp.winmd). Click OK. |
| 25 | +11. You should now be able to run the sample app! |
| 26 | + |
| 27 | +## Requirements |
| 28 | + |
| 29 | +- [Visual Studio 2017 - 15.4 or higher](https://developer.microsoft.com/en-us/windows/downloads) |
| 30 | +- [Windows 10 - Build 17763 or higher](https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewiso) |
| 31 | +- [Windows SDK - Build 17763 or higher](https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewSDK) |
| 32 | +- [Microsoft.AI.MachineLearning Nuget package- version 1.4.0 or higher](https://www.nuget.org/packages/Microsoft.AI.MachineLearning/) |
| 33 | + |
| 34 | +## Contributing |
| 35 | + |
| 36 | +We're always looking for your help to fix bugs and improve the samples. Create a pull request, and we'll be happy to take a look. |
| 37 | + |
| 38 | +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). |
| 39 | +For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or |
| 40 | +contact [[email protected]](mailto:[email protected]) with any additional questions or comments. |
| 41 | + |
| 42 | +## License |
| 43 | + |
| 44 | +MIT. See [LICENSE file](https://github.com/Microsoft/Windows-Machine-Learning/blob/master/LICENSE). |
| 45 | + |
| 46 | +The machine learning models in this sample are used with permission from Justin Johnson. |
| 47 | +For additional information on these models, refer to: |
| 48 | +- [Fast-neural-style GitHub repo](https://github.com/jcjohnson/fast-neural-style) |
| 49 | +- [Perceptual Losses for Real-Time Style Transfer and Super-Resolution](https://cs.stanford.edu/people/jcjohns/papers/eccv16/JohnsonECCV16.pdf) |
0 commit comments