From 23da41b240111ec7b400f174c34d69ae14643742 Mon Sep 17 00:00:00 2001 From: Artur Laksberg Date: Tue, 25 Jul 2017 14:26:03 -0700 Subject: [PATCH] Add UWP Image recognition sample using ResNet model; Add Test for sample change project setting to use common props; fix wrong name Cntk.Core_app-2.1.d.dll upgrade to use 2.1 Add missing pfx files --- CNTK.sln | 32 + .../UWPImageRecognition/App/App.xaml | 8 + .../UWPImageRecognition/App/App.xaml.cs | 100 + .../App/Assets/LockScreenLogo.scale-200.png | Bin 0 -> 1430 bytes .../App/Assets/SplashScreen.scale-200.png | Bin 0 -> 7700 bytes .../Assets/Square150x150Logo.scale-200.png | Bin 0 -> 2937 bytes .../App/Assets/Square44x44Logo.scale-200.png | Bin 0 -> 1647 bytes ...x44Logo.targetsize-24_altform-unplated.png | Bin 0 -> 1255 bytes .../App/Assets/StoreLogo.png | Bin 0 -> 1451 bytes .../App/Assets/Wide310x150Logo.scale-200.png | Bin 0 -> 3204 bytes .../App/Assets/broccoli.jpg | Bin 0 -> 49895 bytes .../App/Assets/cauliflower.jpg | Bin 0 -> 46929 bytes .../App/Assets/imagenet1000_clsid.txt | 1000 + .../App/ImageRecognitionApp.csproj | 147 + .../App/ImageRecognitionCS_TemporaryKey.pfx | Bin 0 -> 2512 bytes .../App/ImageRecognizerDriver.cs | 113 + .../UWPImageRecognition/App/MainPage.xaml | 24 + .../UWPImageRecognition/App/MainPage.xaml.cs | 42 + .../App/Package.appxmanifest | 29 + .../App/Properties/AssemblyInfo.cs | 29 + .../App/Properties/Default.rd.xml | 31 + .../UWPImageRecognition/App/project.json | 16 + .../UWPImageRecognition/App/project.lock.json | 22033 ++++++++++++++++ .../UWPImageRecognition/ImageRecognition.sln | 30 + .../CNTKImageRecognizer.cpp | 127 + .../ImageRecognizerLib/CNTKImageRecognizer.h | 29 + .../ImageRecognizerLib.vcxproj | 116 + .../ImageRecognizerLib.vcxproj.filters | 21 + .../ImageRecognizerLib/packages.config | 4 + .../ImageRecognizerLib/pch.cpp | 1 + .../ImageRecognizerLib/pch.h | 12 + .../ImageRecognizerLib/utils.inl | 63 + .../ImageRecognitionAppCS/App.xaml | 8 + .../ImageRecognitionAppCS/App.xaml.cs | 100 + .../Assets/LockScreenLogo.scale-200.png | Bin 0 -> 1430 bytes .../Assets/SplashScreen.scale-200.png | Bin 0 -> 7700 bytes .../Assets/Square150x150Logo.scale-200.png | Bin 0 -> 2937 bytes .../Assets/Square44x44Logo.scale-200.png | Bin 0 -> 1647 bytes ...x44Logo.targetsize-24_altform-unplated.png | Bin 0 -> 1255 bytes .../Assets/StoreLogo.png | Bin 0 -> 1451 bytes .../Assets/Wide310x150Logo.scale-200.png | Bin 0 -> 3204 bytes .../Assets/imagenet1000_clsid.txt | 1000 + .../ImageRecognitionAppCS.csproj | 137 + .../ImageRecognitionAppCS_TemporaryKey.pfx | Bin 0 -> 2512 bytes .../ImageRecognitionAppCS/MainPage.xaml | 24 + .../ImageRecognitionAppCS/MainPage.xaml.cs | 42 + .../Package.appxmanifest | 49 + .../Properties/AssemblyInfo.cs | 29 + .../Properties/Default.rd.xml | 31 + .../ImageRecognitionAppCS/project.json | 16 + .../ImageRecognitionAppCS/project.lock.json | 21023 +++++++++++++++ .../ImageRecognizerLib.vcxproj | 75 + .../ImageRecognizerLib.vcxproj.filters | 18 + 53 files changed, 46559 insertions(+) create mode 100644 Examples/Evaluation/UWPImageRecognition/App/App.xaml create mode 100644 Examples/Evaluation/UWPImageRecognition/App/App.xaml.cs create mode 100644 Examples/Evaluation/UWPImageRecognition/App/Assets/LockScreenLogo.scale-200.png create mode 100644 Examples/Evaluation/UWPImageRecognition/App/Assets/SplashScreen.scale-200.png create mode 100644 Examples/Evaluation/UWPImageRecognition/App/Assets/Square150x150Logo.scale-200.png create mode 100644 Examples/Evaluation/UWPImageRecognition/App/Assets/Square44x44Logo.scale-200.png create mode 100644 Examples/Evaluation/UWPImageRecognition/App/Assets/Square44x44Logo.targetsize-24_altform-unplated.png create mode 100644 Examples/Evaluation/UWPImageRecognition/App/Assets/StoreLogo.png create mode 100644 Examples/Evaluation/UWPImageRecognition/App/Assets/Wide310x150Logo.scale-200.png create mode 100644 Examples/Evaluation/UWPImageRecognition/App/Assets/broccoli.jpg create mode 100644 Examples/Evaluation/UWPImageRecognition/App/Assets/cauliflower.jpg create mode 100644 Examples/Evaluation/UWPImageRecognition/App/Assets/imagenet1000_clsid.txt create mode 100644 Examples/Evaluation/UWPImageRecognition/App/ImageRecognitionApp.csproj create mode 100644 Examples/Evaluation/UWPImageRecognition/App/ImageRecognitionCS_TemporaryKey.pfx create mode 100644 Examples/Evaluation/UWPImageRecognition/App/ImageRecognizerDriver.cs create mode 100644 Examples/Evaluation/UWPImageRecognition/App/MainPage.xaml create mode 100644 Examples/Evaluation/UWPImageRecognition/App/MainPage.xaml.cs create mode 100644 Examples/Evaluation/UWPImageRecognition/App/Package.appxmanifest create mode 100644 Examples/Evaluation/UWPImageRecognition/App/Properties/AssemblyInfo.cs create mode 100644 Examples/Evaluation/UWPImageRecognition/App/Properties/Default.rd.xml create mode 100644 Examples/Evaluation/UWPImageRecognition/App/project.json create mode 100644 Examples/Evaluation/UWPImageRecognition/App/project.lock.json create mode 100644 Examples/Evaluation/UWPImageRecognition/ImageRecognition.sln create mode 100644 Examples/Evaluation/UWPImageRecognition/ImageRecognizerLib/CNTKImageRecognizer.cpp create mode 100644 Examples/Evaluation/UWPImageRecognition/ImageRecognizerLib/CNTKImageRecognizer.h create mode 100644 Examples/Evaluation/UWPImageRecognition/ImageRecognizerLib/ImageRecognizerLib.vcxproj create mode 100644 Examples/Evaluation/UWPImageRecognition/ImageRecognizerLib/ImageRecognizerLib.vcxproj.filters create mode 100644 Examples/Evaluation/UWPImageRecognition/ImageRecognizerLib/packages.config create mode 100644 Examples/Evaluation/UWPImageRecognition/ImageRecognizerLib/pch.cpp create mode 100644 Examples/Evaluation/UWPImageRecognition/ImageRecognizerLib/pch.h create mode 100644 Examples/Evaluation/UWPImageRecognition/ImageRecognizerLib/utils.inl create mode 100644 Tests/EndToEndTests/EvalClientTests/UWPImageRecognitionTest/ImageRecognitionAppCS/App.xaml create mode 100644 Tests/EndToEndTests/EvalClientTests/UWPImageRecognitionTest/ImageRecognitionAppCS/App.xaml.cs create mode 100644 Tests/EndToEndTests/EvalClientTests/UWPImageRecognitionTest/ImageRecognitionAppCS/Assets/LockScreenLogo.scale-200.png create mode 100644 Tests/EndToEndTests/EvalClientTests/UWPImageRecognitionTest/ImageRecognitionAppCS/Assets/SplashScreen.scale-200.png create mode 100644 Tests/EndToEndTests/EvalClientTests/UWPImageRecognitionTest/ImageRecognitionAppCS/Assets/Square150x150Logo.scale-200.png create mode 100644 Tests/EndToEndTests/EvalClientTests/UWPImageRecognitionTest/ImageRecognitionAppCS/Assets/Square44x44Logo.scale-200.png create mode 100644 Tests/EndToEndTests/EvalClientTests/UWPImageRecognitionTest/ImageRecognitionAppCS/Assets/Square44x44Logo.targetsize-24_altform-unplated.png create mode 100644 Tests/EndToEndTests/EvalClientTests/UWPImageRecognitionTest/ImageRecognitionAppCS/Assets/StoreLogo.png create mode 100644 Tests/EndToEndTests/EvalClientTests/UWPImageRecognitionTest/ImageRecognitionAppCS/Assets/Wide310x150Logo.scale-200.png create mode 100644 Tests/EndToEndTests/EvalClientTests/UWPImageRecognitionTest/ImageRecognitionAppCS/Assets/imagenet1000_clsid.txt create mode 100644 Tests/EndToEndTests/EvalClientTests/UWPImageRecognitionTest/ImageRecognitionAppCS/ImageRecognitionAppCS.csproj create mode 100644 Tests/EndToEndTests/EvalClientTests/UWPImageRecognitionTest/ImageRecognitionAppCS/ImageRecognitionAppCS_TemporaryKey.pfx create mode 100644 Tests/EndToEndTests/EvalClientTests/UWPImageRecognitionTest/ImageRecognitionAppCS/MainPage.xaml create mode 100644 Tests/EndToEndTests/EvalClientTests/UWPImageRecognitionTest/ImageRecognitionAppCS/MainPage.xaml.cs create mode 100644 Tests/EndToEndTests/EvalClientTests/UWPImageRecognitionTest/ImageRecognitionAppCS/Package.appxmanifest create mode 100644 Tests/EndToEndTests/EvalClientTests/UWPImageRecognitionTest/ImageRecognitionAppCS/Properties/AssemblyInfo.cs create mode 100644 Tests/EndToEndTests/EvalClientTests/UWPImageRecognitionTest/ImageRecognitionAppCS/Properties/Default.rd.xml create mode 100644 Tests/EndToEndTests/EvalClientTests/UWPImageRecognitionTest/ImageRecognitionAppCS/project.json create mode 100644 Tests/EndToEndTests/EvalClientTests/UWPImageRecognitionTest/ImageRecognitionAppCS/project.lock.json create mode 100644 Tests/EndToEndTests/EvalClientTests/UWPImageRecognitionTest/ImageRecognizerLib/ImageRecognizerLib.vcxproj create mode 100644 Tests/EndToEndTests/EvalClientTests/UWPImageRecognitionTest/ImageRecognizerLib/ImageRecognizerLib.vcxproj.filters diff --git a/CNTK.sln b/CNTK.sln index 14561e1bc..2a52072e3 100644 --- a/CNTK.sln +++ b/CNTK.sln @@ -1589,6 +1589,16 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CNTKLibraryCPPUWPEvalExampl {E5606ECE-48CA-4464-BB12-09D81D02B9EF} = {E5606ECE-48CA-4464-BB12-09D81D02B9EF} EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageRecognitionAppCS", "Tests\EndToEndTests\EvalClientTests\UWPImageRecognitionTest\ImageRecognitionAppCS\ImageRecognitionAppCS.csproj", "{EA6DC625-7AD7-44A8-BDE9-4620D01B3AA5}" + ProjectSection(ProjectDependencies) = postProject + {C5E944BA-A7C4-482F-BE01-077A7DFC159C} = {C5E944BA-A7C4-482F-BE01-077A7DFC159C} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImageRecognitionLib", "Tests\EndToEndTests\EvalClientTests\UWPImageRecognitionTest\ImageRecognizerLib\ImageRecognizerLib.vcxproj", "{C5E944BA-A7C4-482F-BE01-077A7DFC159C}" + ProjectSection(ProjectDependencies) = postProject + {E5606ECE-48CA-4464-BB12-09D81D02B9EF} = {E5606ECE-48CA-4464-BB12-09D81D02B9EF} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug_CpuOnly|x64 = Debug_CpuOnly|x64 @@ -2229,6 +2239,26 @@ Global {D5CB8825-0D1F-4940-9906-9BD87614B24E}.Release_UWP|x64.Build.0 = Release_UWP|x64 {D5CB8825-0D1F-4940-9906-9BD87614B24E}.Release_UWP|x64.Deploy.0 = Release_UWP|x64 {D5CB8825-0D1F-4940-9906-9BD87614B24E}.Release|x64.ActiveCfg = Release_UWP|x64 + {EA6DC625-7AD7-44A8-BDE9-4620D01B3AA5}.Debug_CpuOnly|x64.ActiveCfg = Debug_UWP|x64 + {EA6DC625-7AD7-44A8-BDE9-4620D01B3AA5}.Debug_UWP|x64.ActiveCfg = Debug_UWP|x64 + {EA6DC625-7AD7-44A8-BDE9-4620D01B3AA5}.Debug_UWP|x64.Build.0 = Debug_UWP|x64 + {EA6DC625-7AD7-44A8-BDE9-4620D01B3AA5}.Debug_UWP|x64.Deploy.0 = Debug_UWP|x64 + {EA6DC625-7AD7-44A8-BDE9-4620D01B3AA5}.Debug|x64.ActiveCfg = Debug_UWP|x64 + {EA6DC625-7AD7-44A8-BDE9-4620D01B3AA5}.Release_CpuOnly|x64.ActiveCfg = Release_UWP|x64 + {EA6DC625-7AD7-44A8-BDE9-4620D01B3AA5}.Release_NoOpt|x64.ActiveCfg = Release_UWP|x64 + {EA6DC625-7AD7-44A8-BDE9-4620D01B3AA5}.Release_UWP|x64.ActiveCfg = Release_UWP|x64 + {EA6DC625-7AD7-44A8-BDE9-4620D01B3AA5}.Release_UWP|x64.Build.0 = Release_UWP|x64 + {EA6DC625-7AD7-44A8-BDE9-4620D01B3AA5}.Release_UWP|x64.Deploy.0 = Release_UWP|x64 + {EA6DC625-7AD7-44A8-BDE9-4620D01B3AA5}.Release|x64.ActiveCfg = Release_UWP|x64 + {C5E944BA-A7C4-482F-BE01-077A7DFC159C}.Debug_CpuOnly|x64.ActiveCfg = Debug_UWP|x64 + {C5E944BA-A7C4-482F-BE01-077A7DFC159C}.Debug_UWP|x64.ActiveCfg = Debug_UWP|x64 + {C5E944BA-A7C4-482F-BE01-077A7DFC159C}.Debug_UWP|x64.Build.0 = Debug_UWP|x64 + {C5E944BA-A7C4-482F-BE01-077A7DFC159C}.Debug|x64.ActiveCfg = Debug_UWP|x64 + {C5E944BA-A7C4-482F-BE01-077A7DFC159C}.Release_CpuOnly|x64.ActiveCfg = Release_UWP|x64 + {C5E944BA-A7C4-482F-BE01-077A7DFC159C}.Release_NoOpt|x64.ActiveCfg = Release_UWP|x64 + {C5E944BA-A7C4-482F-BE01-077A7DFC159C}.Release_UWP|x64.ActiveCfg = Release_UWP|x64 + {C5E944BA-A7C4-482F-BE01-077A7DFC159C}.Release_UWP|x64.Build.0 = Release_UWP|x64 + {C5E944BA-A7C4-482F-BE01-077A7DFC159C}.Release|x64.ActiveCfg = Release_UWP|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -2448,5 +2478,7 @@ Global {BEF04803-47B4-4322-B9D7-E10A8468E79F} = {4EAFF1B2-2D70-4486-B95E-684E39A50609} {C28E4FD7-F9A9-4473-8E5D-D209AF36A1E7} = {4EAFF1B2-2D70-4486-B95E-684E39A50609} {D5CB8825-0D1F-4940-9906-9BD87614B24E} = {05E45AF7-C069-4057-BC16-0A532D068CE4} + {EA6DC625-7AD7-44A8-BDE9-4620D01B3AA5} = {05E45AF7-C069-4057-BC16-0A532D068CE4} + {C5E944BA-A7C4-482F-BE01-077A7DFC159C} = {05E45AF7-C069-4057-BC16-0A532D068CE4} EndGlobalSection EndGlobal diff --git a/Examples/Evaluation/UWPImageRecognition/App/App.xaml b/Examples/Evaluation/UWPImageRecognition/App/App.xaml new file mode 100644 index 000000000..a9b07d304 --- /dev/null +++ b/Examples/Evaluation/UWPImageRecognition/App/App.xaml @@ -0,0 +1,8 @@ + + + diff --git a/Examples/Evaluation/UWPImageRecognition/App/App.xaml.cs b/Examples/Evaluation/UWPImageRecognition/App/App.xaml.cs new file mode 100644 index 000000000..48b81ee67 --- /dev/null +++ b/Examples/Evaluation/UWPImageRecognition/App/App.xaml.cs @@ -0,0 +1,100 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using Windows.ApplicationModel; +using Windows.ApplicationModel.Activation; +using Windows.Foundation; +using Windows.Foundation.Collections; +using Windows.UI.Xaml; +using Windows.UI.Xaml.Controls; +using Windows.UI.Xaml.Controls.Primitives; +using Windows.UI.Xaml.Data; +using Windows.UI.Xaml.Input; +using Windows.UI.Xaml.Media; +using Windows.UI.Xaml.Navigation; + +namespace ImageRecognitionCS +{ + /// + /// Provides application-specific behavior to supplement the default Application class. + /// + sealed partial class App : Application + { + /// + /// Initializes the singleton application object. This is the first line of authored code + /// executed, and as such is the logical equivalent of main() or WinMain(). + /// + public App() + { + this.InitializeComponent(); + this.Suspending += OnSuspending; + } + + /// + /// Invoked when the application is launched normally by the end user. Other entry points + /// will be used such as when the application is launched to open a specific file. + /// + /// Details about the launch request and process. + protected override void OnLaunched(LaunchActivatedEventArgs e) + { + Frame rootFrame = Window.Current.Content as Frame; + + // Do not repeat app initialization when the Window already has content, + // just ensure that the window is active + if (rootFrame == null) + { + // Create a Frame to act as the navigation context and navigate to the first page + rootFrame = new Frame(); + + rootFrame.NavigationFailed += OnNavigationFailed; + + if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) + { + //TODO: Load state from previously suspended application + } + + // Place the frame in the current Window + Window.Current.Content = rootFrame; + } + + if (e.PrelaunchActivated == false) + { + if (rootFrame.Content == null) + { + // When the navigation stack isn't restored navigate to the first page, + // configuring the new page by passing required information as a navigation + // parameter + rootFrame.Navigate(typeof(MainPage), e.Arguments); + } + // Ensure the current window is active + Window.Current.Activate(); + } + } + + /// + /// Invoked when Navigation to a certain page fails + /// + /// The Frame which failed navigation + /// Details about the navigation failure + void OnNavigationFailed(object sender, NavigationFailedEventArgs e) + { + throw new Exception("Failed to load Page " + e.SourcePageType.FullName); + } + + /// + /// Invoked when application execution is being suspended. Application state is saved + /// without knowing whether the application will be terminated or resumed with the contents + /// of memory still intact. + /// + /// The source of the suspend request. + /// Details about the suspend request. + private void OnSuspending(object sender, SuspendingEventArgs e) + { + var deferral = e.SuspendingOperation.GetDeferral(); + //TODO: Save application state and stop any background activity + deferral.Complete(); + } + } +} diff --git a/Examples/Evaluation/UWPImageRecognition/App/Assets/LockScreenLogo.scale-200.png b/Examples/Evaluation/UWPImageRecognition/App/Assets/LockScreenLogo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..735f57adb5dfc01886d137b4e493d7e97cf13af3 GIT binary patch literal 1430 zcmaJ>TTC2P7~aKltDttVHYH6u8Io4i*}3fO&d$gd*bA_<3j~&e7%8(eXJLfhS!M@! zKrliY>>6yT4+Kr95$!DoD(Qn-5TP|{V_KS`k~E6(LGS@#`v$hQo&^^BKsw3HIsZBT z_y6C2n`lK@apunKojRQ^(_P}Mgewt$(^BBKCTZ;*xa?J3wQ7~@S0lUvbcLeq1Bg4o zH-bvQi|wt~L7q$~a-gDFP!{&TQfc3fX*6=uHv* zT&1&U(-)L%Xp^djI2?~eBF2cxC@YOP$+9d?P&h?lPy-9M2UT9fg5jKm1t$m#iWE{M zIf%q9@;fyT?0UP>tcw-bLkz;s2LlKl2qeP0w zECS7Ate+Awk|KQ+DOk;fl}Xsy4o^CY=pwq%QAAKKl628_yNPsK>?A>%D8fQG6IgdJ ztnxttBz#NI_a@fk7SU`WtrpsfZsNs9^0(2a z@C3#YO3>k~w7?2hipBf{#b6`}Xw1hlG$yi?;1dDs7k~xDAw@jiI*+tc;t2Lflg&bM)0!Y;0_@=w%`LW^8DsYpS#-bLOklX9r?Ei}TScw|4DbpW%+7 zFgAI)f51s}{y-eWb|vrU-Ya!GuYKP)J7z#*V_k^Xo>4!1Yqj*m)x&0L^tg3GJbVAJ zJ-Pl$R=NAabouV=^z_t;^K*0AvFs!vYU>_<|I^#c?>>CR<(T?=%{;U=aI*SbZADLH z&(f2wz_Y0??Tf|g;?|1Znw6}6U43Q#qNRwv1vp9uFn1)V#*4p&%$mP9x&15^OaBiDS(XppT|z^>;B{PLVEbS3IFYV yGvCsSX*m literal 0 HcmV?d00001 diff --git a/Examples/Evaluation/UWPImageRecognition/App/Assets/SplashScreen.scale-200.png b/Examples/Evaluation/UWPImageRecognition/App/Assets/SplashScreen.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..023e7f1feda78d5100569825acedfd213a0d84e9 GIT binary patch literal 7700 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 literal 0 HcmV?d00001 diff --git a/Examples/Evaluation/UWPImageRecognition/App/Assets/Square150x150Logo.scale-200.png b/Examples/Evaluation/UWPImageRecognition/App/Assets/Square150x150Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..af49fec1a5484db1d52a7f9b5ec90a27c7030186 GIT binary patch literal 2937 zcma)84OCO-8BSud5)jwMLRVKgX(S?$n?Ld|vrsm<$CF7)&zTbyy1FE5bU`Q17MRv`9ue$;R(@8kR;#vJ*IM0>cJIAOte!d7oRgdH zd%ySjdB6L9=gX^A6)VzH7p2l@v~3zJAMw|DFy#^)F@@F*`mqUn=Il>l)8_+ab;nOW{%+iPx z+s{Eu|&pIs)Z7{La9~?xKfyl z#43?gjEL15d4WbOZo#SiP%>DB^+BcnJ=7dHEe;r#G=tuw|ka z%q@}##Uh7;tc%L_64m(kHtw74ty%BJMb)_1)#S0j`)F8_1jF7vScpsnH=0V19bO8y zR`0SjIdCUo&=>JwMQF8KHA<{ODHTiQh}0^@5QRmCA?gOH6_H3K^-_sNB^RrdNuK-R zOO*vOrKCVvDwgUck`kF(E7j{I#iiN;b*ZdCt4m@HPA`EuEqGGf4%!K<;(=I=&Vyrw z%TwcWtxa}8mCZ%Cyf&ActJ6_$ox5z6-D!0-dvnRx6t7y3d+h6QYpKWO;8OdnvERo7 zuEf>ih5`wqY)~o@OeVt-wM?Q!>QzdGRj!bz6fzYrfw$hZfAKzr2-M+D+R>}~oT574c;_3zquHcElqKIsryILt3g8n3jcMb+j?i?-L3FpZJ z2WRVBRdDPc+G5aaYg#5hpE+6nQ|(VSoxT3|biF;BUq#==-27Xi=gihDPYP$7?=9cP zYKE$jeQ|3~_L0VG-(F~2ZPyD0=k{J4Q~h(t__{-mz_w8{JDY9{`1ouzz!Vr5!ECdE z6U~O1k8c}24V7~zzXWTV-Pe4)y}wQJS&q%H5`Fo_f_JvIU489aCX$;P`u#!I-=^4ijC2{&9!O&h>mi?9oYD=GC#%)6{GzN6nQYw+Fal50!#x^asjBBR50i`+mho*ttoqV)ubM2KD9S~k7+FR4>{29?6 z{!l6kDdyTN0YJ9LgkPWeXm|gyi@zM3?0@{&pXT12w|78&W-q!RRF)&iLCEZVH<|fR zN0fr2^t8H(>L?>K#>^+jWROLral(Qy-xoBq1U7A&DV||wClb)Otd9?(gZ|8znMF}D zf<1haWz^s0qgecz;RFGt0C-B4g`jNGHsFU+;{<%t65v^sjk^h$lmWn#B0#_)9ij&d z-~lc`A)YYExi^7sBuPM^Y|wA2g*5?`K?#7tzELQYNxGo$UB$4J8RJp1k(8Jj+~hMT zlN~>M@KTTh^--8y3PK_NZ@AC!{PT=CziBzGd+wTJ^@icH!Bd}%)g8V)%K?|c&WTUk zy}qv1C%(fjRoZ4ozC3{O%@5?)XzH35zHns$pgU*Q?fj4v?fp1Qbm+j;3l;9jam9Da zXVcKjPlQ73x78QPu|Ffm6x?`~e3oD=gl=4kYK?={kD5j~QCXU)`HSdduNNENzA*2$ zOm3PzF!lN5e*06-f1Uot67wY#{o-S1!KZ7E=!~7ynnk9_iJR#kFoNbAOT#^2Gd17F zMmvU6>lndZQGd|ax9kUoXXO+$N?|j@6qpsF&_j7YXvwo_C{JpmLw5&#e6k>atv%es z5)7r*Wvv_JkUpT}M!_o!nVlEk1Zbl=a*2hQ*<|%*K1Glj^FcF`6kTzGQ3lz~2tCc@ z&x|tj;aH&1&9HwcJBcT`;{?a+pnej;M1HO(6Z{#J!cZA04hnFl;NXA+&`=7bjW_^o zfC40u3LMG?NdPtwGl>Tq6u}*QG)}-y;)lu-_>ee3kibW(69n0$0Zy!}9rQz%*v1iO zT9_H>99yIrSPYVy6^);rR}7Yo=J_T@hi+qhTZXnVWyf;JDYm5#eYLTxr*?kiNn!+Y zQ+LUkBafNJ#rH#C(?d5^;gw9o#%daEI{mA*LHPIHPU`#|H$hD zwm>0&+kahQ)E#%~k>&5@&#Vg82H?s%71=)(soi@174pi9--2{w{1$}Sz4zGn3Du&x bht0Iza^2ykEt4(epJ78uh5nDlX8(TxzDYwP literal 0 HcmV?d00001 diff --git a/Examples/Evaluation/UWPImageRecognition/App/Assets/Square44x44Logo.scale-200.png b/Examples/Evaluation/UWPImageRecognition/App/Assets/Square44x44Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..ce342a2ec8a61291ba76c54604aea7e9d20af11b GIT binary patch literal 1647 zcmaJ?eM}Q)7(e+G1Q(|`V9JhTI2>MkceK4;p;PR&$Pi?ejk3YQ_3o`S&|W_dsOZ8# zWPTt69g`t$ab`0cj-Y0yiBSOqmd)tG7G(}M5aP0_%&9TijB#&)I{zSE^4@#z^FF`l z`8{8`o%wlL(UI|y2!cdsuVamHH~H86F!*-15em4)NqUpCQM5?aoC_eCf@lV4wvF2a zjDQn1JBL69f&@2M3rvzJcfE!eZ8FZUBlFlC5RD)it33{mF9#B82AiyQE%w)`vlwa> zv{<1sm&kSKK$&%2jSFn7$t&P%%6Ue>R=EAnG8N7fqynWG8L3p!4801a;8{+nliO(qd(jNJ_?+9W3#hLIDLoT6~3fx9=`CC-D}-AMrpEO7HK zt3$GicGPc?GmDjy7K2P@La;eu4!$zWCZ`ym{Z$b zu-O6RM&K4JT|BIZB`E-gxqG%FzanI#+2FFmqHqXG7yxWB=w55RGOM)$xMb(>kSNR z2w=1AZi%z=AmG~yea~XaXJR!v7vLn(RUnELfiB1|6D84ICOS}^Zo2AdN}<&*h}G_u z{xZ!(%>tLT3J3<5XhWy-tg+6)0nmUUENLW8TWA{R6bgVd3X;anYFZ^IRis*_P-C-r z;i>%1^eL3UI2-{w8nuFFcs0e~7J{O2k^~Ce%+Ly4U?|=!0LH=t6()xi<^I-rs+9sF z*q{E-CxZbGPeu#a;XJwE;9S1?#R&uns>^0G3p`hEUF*v`M?@h%T%J%RChmD|EVydq zmHWh*_=S%emRC*mhxaVLzT@>Z2SX0u9v*DIJ@WC^kLVdlGV6LpK$KIrlJqc zpJ921)+3JJdTx|<`G&kXpKkjGJv=76R`yYIQ{#c-`%+`#V(7}Q;&@6U8!Td1`d;?N z_9mnI#?AA}4J!r)LN4!E-@H5eXauuB7TOawS>Y|{-P?NNx-lq+z1W-+y(;39P&&LP zL{N80?&=C*qKmdA^moMZRuPcD!B<*mq$ch=0Cnlitw#txRWhb3%TQvPqjkC`F69G4b! ze7z9MZ#+;_#l?H37UqUhDFb^l&s2{oM$3I0o^Q!yx;;V)QmCMo)Tb_ui|mit8MS?U zm##6$sZZ1$@|s%?l@>4Z<*Q}sRBSKMhb4I{e5LdEhsHIHTe8Bod5c>6QtT>$XgUBz z6MK`kO$=jmt@FqggOhJ5j~e@ygRbG;<{Vu)*+nn9aQeo0;$#j;|MS=S$&L?BeV25z xs3B`@=#`5TF{^6(A1rvdY@|-RtQ|iS5{tyX+wH?;n8E)G$kykv-D^wh{{!TZT%7;_ literal 0 HcmV?d00001 diff --git a/Examples/Evaluation/UWPImageRecognition/App/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/Examples/Evaluation/UWPImageRecognition/App/Assets/Square44x44Logo.targetsize-24_altform-unplated.png new file mode 100644 index 0000000000000000000000000000000000000000..f6c02ce97e0a802b85f6021e822c89f8bf57d5cd GIT binary patch literal 1255 zcmaJ>TWs4@7*5+{G#S+&C!qC#> zf>5N3P6jO*Cz>ug*(_DmW=)kea&m$gZ^+nyiF`;j%w@}y8)>p*SH}C`m?DXeieF2U zyQHecc_L%Gh!7GMt+hG06y;+|p4>m~}PjA}rKViGiEnn7G0ZO<>G|7q;2?NwGCM3s?eued6%hd$B+ z*kQJ{#~$S=DFE(%=E+UkmlEI*%3llUf~8Ja9YU1Vui0IbGBkW_gHB%Rd&!!ioX zs40O?i9I{};kle7GMvE7(rk`la=gTI)47=>%?q@^iL-nUo3}h4S}N-KHn8t5mVP8w z&bSErwp+37 zNJJ8?a|{r5Q3R0Z5s-LB1WHOwYC@7pCHWND#cL1cZ?{kJ368_*(UDWUDyb<}0y@o# zfMF016iMWPCb6obAxT$JlB6(2DrlXDTB&!0`!m??4F(qWMhjVZo?JXQmz`1*58Z=& zcDmB|S-E@j?BoFGix0flckqdS4jsPNzhfWyWIM98GxcLs89C(~dw%$_t;JjX-SD}E zfiGV;{8Q%8r}w9x>EEigW81>`kvnU@pK)4+xk9@+bNj9L!AAZ@SZ@q|)&BmY3+HZx zul~BeG4|}-;L%cHViQGQX?^zFfO0&#cHwel=d`lH9sJ-@Sl@n*(8J2>%Ac`IxyY?Q z{=GhWvC#gu-~Ia7*n{=+;qM?Ul_wy1+u7ho;=`>EwP^g~R@{unBds`!#@}tluZQpS zm)M~nYEifJWJGx?_6DcTy>#uh%>!H9=hb^(v`=m3F1{L>db=<5_tm+_&knAQ2EU$s Mu9UqpbNZeC0BbUo^Z)<= literal 0 HcmV?d00001 diff --git a/Examples/Evaluation/UWPImageRecognition/App/Assets/StoreLogo.png b/Examples/Evaluation/UWPImageRecognition/App/Assets/StoreLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..7385b56c0e4d3c6b0efe3324aa1194157d837826 GIT binary patch literal 1451 zcmaJ>eN5D57_Z|bH;{0+1#mbl)eTU3{h)Wf7EZV?;HD@XL@{B`Ui%(2aMxQ~xdXSv z5nzWi(LW)U2=Vc-cY@s7nPt{i0hc6!7xN4NNHI#EQl>YNBy8l4%x9gr_W-j zEZMQmmTIy(>;lblRfh`dIyTgc9W5d!VP$L4(kKrN1c5G~(O_#xG zAJCNTstD^5SeXFB+&$h=ToJP2H>xr$iqPs-#O*;4(!Fjw25-!gEb*)mU}=)J;Iu>w zxK(5XoD0wrPSKQ~rbL^Cw6O_03*l*}i=ydbu7adJ6y;%@tjFeXIXT+ms30pmbOP%Q zX}S;+LBh8Tea~TSkHzvX6$rYb)+n&{kSbIqh|c7hmlxmwSiq5iVhU#iEQ<>a18|O^Sln-8t&+t`*{qBWo5M?wFM(JuimAOb5!K#D}XbslM@#1ZVz_;!9U zpfEpLAOz=0g@bd6Xj_ILi-x^!M}73h^o@}hM$1jflTs|Yuj9AL@A3<-?MV4!^4q`e z)fO@A;{9K^?W?DbnesnPr6kK>$zaKo&;FhFd(GYFCIU^T+OIMb%Tqo+P%oq(IdX7S zf6+HLO?7o0m+p>~Tp5UrXWh!UH!wZ5kv!E`_w)PTpI(#Iw{AS`gH4^b(bm^ZCq^FZ zY9DD7bH}rq9mg88+KgA$Zp!iWncuU2n1AuIa@=sWvUR-s`Qb{R*kk(SPU^`$6BXz8 zn#7yaFOIK%qGxyi`dYtm#&qqox0$h=pNi#u=M8zUG@bpiZ=3sT=1}Trr}39cC)H|v zbL?W)=&s4zrh)7>L(|cc%$1#!zfL?HjpeP%T+x_a+jZ16b^iKOHxFEX$7d|8${H-* zIrOJ5w&i$>*D>AKaIoYg`;{L@jM((Kt?$N$5OnuPqVvq**Nm}(f0wwOF%iX_Pba;V z;m@wxX&NcV3?<1+u?A{y_DIj7#m3Af1rCE)o`D&Y3}0%7E;iX1yMDiS)sh0wKi!36 zL!Wmq?P^Ku&rK~HJd97KkLTRl>ScGFYZNlYytWnhmuu|)L&ND8_PmkayQb{HOY640 bno1(wj@u8DCVuFR|31B*4ek@pZJqxCDDe1x literal 0 HcmV?d00001 diff --git a/Examples/Evaluation/UWPImageRecognition/App/Assets/Wide310x150Logo.scale-200.png b/Examples/Evaluation/UWPImageRecognition/App/Assets/Wide310x150Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..288995b397fdbef1fb7e85afd71445d5de1952c5 GIT binary patch literal 3204 zcmbVPeQXow8NYmBd90>}0NP?GhXW~VaeThm=a0tV#EwJMI!)6M3}|c4_Bl3=Kd>G0 z(GHx1wl<7(tP?FsOQkTilSo*iIvF%uArExJ73~P zSv1xEy!U(Wd4A9D`FQV@W3@F^qJ@PEF$@z`Z!*BbFsS(^?B zyiAzJ+q})bkgiQHWqEb*jJD-coHYr1^iocg)l!Qa{Xqs-l~6J}p-|##ZHYofskQ3$ zI0;xzXyhazBeXhIsg5A=%ufo@f)1yy&ScKS0;HF^!r_2UE^lpZEom(+@duma3awTv zCrCL-%D_SvYWIcdHkmI}#50(fkUi)Qgx!80ju>g1za^}ff>JI8Z@^-iCiaCgg@TgF z+vtE?Q9{VQUX&MW9SYYmGcxA14%N2@7FwBTD4N<(2{nWgV8$e3?-F=L^&FrtWn~(U_Q~~^uYiyeY6-KoTnfh9AWz@ zIKje0)u!_Lw)E}G!#kEfwKVdNt(UAf9*f>tEL_(=xco-T%jTi@7YlC3hs2ik%Le0H ztj}RTeCF(5mwvi3_56>-yB?l;J>-1%!9~=fs|QcNG3J~a@JCu`4SB460s0ZO+##4fFUSGLcj_ja^fL4&BKALfb#$6$O?>P@qx2Agl^x0i&ugt zsy5Pyu=()`7HRMG3IB7F1@`_ z+-!J%#i6e^U$e#+C%Q>_qVRzWRsG^W_n+@OcX@vzI&z;mzHNb!GQ?LWA(wtpqHqTM z1OFw_{Zn?fD)p)`c`kOgv{de=v@suGRqY{N^U7gI1VF3*F=obwaXI6ob5__Yn zVTguS!%(NI09J8x#AO_aW!9W7k*UvB;IWDFC3srwftr{kHj%g)fvnAm;&h_dnl~

MY- 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 literal 0 HcmV?d00001 diff --git a/Examples/Evaluation/UWPImageRecognition/App/Assets/cauliflower.jpg b/Examples/Evaluation/UWPImageRecognition/App/Assets/cauliflower.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bcd339daf6adc7f5179d1f3e905c8e77dc9df272 GIT binary patch literal 46929 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 literal 0 HcmV?d00001 diff --git a/Examples/Evaluation/UWPImageRecognition/App/Assets/imagenet1000_clsid.txt b/Examples/Evaluation/UWPImageRecognition/App/Assets/imagenet1000_clsid.txt new file mode 100644 index 000000000..77895772e --- /dev/null +++ b/Examples/Evaluation/UWPImageRecognition/App/Assets/imagenet1000_clsid.txt @@ -0,0 +1,1000 @@ +tench, Tinca tinca +goldfish, Carassius auratus +great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias +tiger shark, Galeocerdo cuvieri +hammerhead, hammerhead shark +electric ray, crampfish, numbfish, torpedo +stingray +cock +hen +ostrich, Struthio camelus +brambling, Fringilla montifringilla +goldfinch, Carduelis carduelis +house finch, linnet, Carpodacus mexicanus +junco, snowbird +indigo bunting, indigo finch, indigo bird, Passerina cyanea +robin, American robin, Turdus migratorius +bulbul +jay +magpie +chickadee +water ouzel, dipper +kite +bald eagle, American eagle, Haliaeetus leucocephalus +vulture +great grey owl, great gray owl, Strix nebulosa +European fire salamander, Salamandra salamandra +common newt, Triturus vulgaris +eft +spotted salamander, Ambystoma maculatum +axolotl, mud puppy, Ambystoma mexicanum +bullfrog, Rana catesbeiana +tree frog, tree-frog +tailed frog, bell toad, ribbed toad, tailed toad, Ascaphus trui +loggerhead, loggerhead turtle, Caretta caretta +leatherback turtle, leatherback, leathery turtle, Dermochelys coriacea +mud turtle +terrapin +box turtle, box tortoise +banded gecko +common iguana, iguana, Iguana iguana +American chameleon, anole, Anolis carolinensis +whiptail, whiptail lizard +agama +frilled lizard, Chlamydosaurus kingi +alligator lizard +Gila monster, Heloderma suspectum +green lizard, Lacerta viridis +African chameleon, Chamaeleo chamaeleon +Komodo dragon, Komodo lizard, dragon lizard, giant lizard, Varanus komodoensis +African crocodile, Nile crocodile, Crocodylus niloticus +American alligator, Alligator mississipiensis +triceratops +thunder snake, worm snake, Carphophis amoenus +ringneck snake, ring-necked snake, ring snake +hognose snake, puff adder, sand viper +green snake, grass snake +king snake, kingsnake +garter snake, grass snake +water snake +vine snake +night snake, Hypsiglena torquata +boa constrictor, Constrictor constrictor +rock python, rock snake, Python sebae +Indian cobra, Naja naja +green mamba +sea snake +horned viper, cerastes, sand viper, horned asp, Cerastes cornutus +diamondback, diamondback rattlesnake, Crotalus adamanteus +sidewinder, horned rattlesnake, Crotalus cerastes +trilobite +harvestman, daddy longlegs, Phalangium opilio +scorpion +black and gold garden spider, Argiope aurantia +barn spider, Araneus cavaticus +garden spider, Aranea diademata +black widow, Latrodectus mactans +tarantula +wolf spider, hunting spider +tick +centipede +black grouse +ptarmigan +ruffed grouse, partridge, Bonasa umbellus +prairie chicken, prairie grouse, prairie fowl +peacock +quail +partridge +African grey, African gray, Psittacus erithacus +macaw +sulphur-crested cockatoo, Kakatoe galerita, Cacatua galerita +lorikeet +coucal +bee eater +hornbill +hummingbird +jacamar +toucan +drake +red-breasted merganser, Mergus serrator +goose +black swan, Cygnus atratus +tusker +echidna, spiny anteater, anteater +platypus, duckbill, duckbilled platypus, duck-billed platypus, Ornithorhynchus anatinus +wallaby, brush kangaroo +koala, koala bear, kangaroo bear, native bear, Phascolarctos cinereus +wombat +jellyfish +sea anemone, anemone +brain coral +flatworm, platyhelminth +nematode, nematode worm, roundworm +conch +snail +slug +sea slug, nudibranch +chiton, coat-of-mail shell, sea cradle, polyplacophore +chambered nautilus, pearly nautilus, nautilus +Dungeness crab, Cancer magister +rock crab, Cancer irroratus +fiddler crab +king crab, Alaska crab, Alaskan king crab, Alaska king crab, Paralithodes camtschatica +American lobster, Northern lobster, Maine lobster, Homarus americanus +spiny lobster, langouste, rock lobster, crawfish, crayfish, sea crawfish +crayfish, crawfish, crawdad, crawdaddy +hermit crab +isopod +white stork, Ciconia ciconia +black stork, Ciconia nigra +spoonbill +flamingo +little blue heron, Egretta caerulea +American egret, great white heron, Egretta albus +bittern +crane +limpkin, Aramus pictus +European gallinule, Porphyrio porphyrio +American coot, marsh hen, mud hen, water hen, Fulica americana +bustard +ruddy turnstone, Arenaria interpres +red-backed sandpiper, dunlin, Erolia alpina +redshank, Tringa totanus +dowitcher +oystercatcher, oyster catcher +pelican +king penguin, Aptenodytes patagonica +albatross, mollymawk +grey whale, gray whale, devilfish, Eschrichtius gibbosus, Eschrichtius robustus +killer whale, killer, orca, grampus, sea wolf, Orcinus orca +dugong, Dugong dugon +sea lion +Chihuahua +Japanese spaniel +Maltese dog, Maltese terrier, Maltese +Pekinese, Pekingese, Peke +Shih-Tzu +Blenheim spaniel +papillon +toy terrier +Rhodesian ridgeback +Afghan hound, Afghan +basset, basset hound +beagle +bloodhound, sleuthhound +bluetick +black-and-tan coonhound +Walker hound, Walker foxhound +English foxhound +redbone +borzoi, Russian wolfhound +Irish wolfhound +Italian greyhound +whippet +Ibizan hound, Ibizan Podenco +Norwegian elkhound, elkhound +otterhound, otter hound +Saluki, gazelle hound +Scottish deerhound, deerhound +Weimaraner +Staffordshire bullterrier, Staffordshire bull terrier +American Staffordshire terrier, Staffordshire terrier, American pit bull terrier, pit bull terrier +Bedlington terrier +Border terrier +Kerry blue terrier +Irish terrier +Norfolk terrier +Norwich terrier +Yorkshire terrier +wire-haired fox terrier +Lakeland terrier +Sealyham terrier, Sealyham +Airedale, Airedale terrier +cairn, cairn terrier +Australian terrier +Dandie Dinmont, Dandie Dinmont terrier +Boston bull, Boston terrier +miniature schnauzer +giant schnauzer +standard schnauzer +Scotch terrier, Scottish terrier, Scottie +Tibetan terrier, chrysanthemum dog +silky terrier, Sydney silky +soft-coated wheaten terrier +West Highland white terrier +Lhasa, Lhasa apso +flat-coated retriever +curly-coated retriever +golden retriever +Labrador retriever +Chesapeake Bay retriever +German short-haired pointer +vizsla, Hungarian pointer +English setter +Irish setter, red setter +Gordon setter +Brittany spaniel +clumber, clumber spaniel +English springer, English springer spaniel +Welsh springer spaniel +cocker spaniel, English cocker spaniel, cocker +Sussex spaniel +Irish water spaniel +kuvasz +schipperke +groenendael +malinois +briard +kelpie +komondor +Old English sheepdog, bobtail +Shetland sheepdog, Shetland sheep dog, Shetland +collie +Border collie +Bouvier des Flandres, Bouviers des Flandres +Rottweiler +German shepherd, German shepherd dog, German police dog, alsatian +Doberman, Doberman pinscher +miniature pinscher +Greater Swiss Mountain dog +Bernese mountain dog +Appenzeller +EntleBucher +boxer +bull mastiff +Tibetan mastiff +French bulldog +Great Dane +Saint Bernard, St Bernard +Eskimo dog, husky +malamute, malemute, Alaskan malamute +Siberian husky +dalmatian, coach dog, carriage dog +affenpinscher, monkey pinscher, monkey dog +basenji +pug, pug-dog +Leonberg +Newfoundland, Newfoundland dog +Great Pyrenees +Samoyed, Samoyede +Pomeranian +chow, chow chow +keeshond +Brabancon griffon +Pembroke, Pembroke Welsh corgi +Cardigan, Cardigan Welsh corgi +toy poodle +miniature poodle +standard poodle +Mexican hairless +timber wolf, grey wolf, gray wolf, Canis lupus +white wolf, Arctic wolf, Canis lupus tundrarum +red wolf, maned wolf, Canis rufus, Canis niger +coyote, prairie wolf, brush wolf, Canis latrans +dingo, warrigal, warragal, Canis dingo +dhole, Cuon alpinus +African hunting dog, hyena dog, Cape hunting dog, Lycaon pictus +hyena, hyaena +red fox, Vulpes vulpes +kit fox, Vulpes macrotis +Arctic fox, white fox, Alopex lagopus +grey fox, gray fox, Urocyon cinereoargenteus +tabby, tabby cat +tiger cat +Persian cat +Siamese cat, Siamese +Egyptian cat +cougar, puma, catamount, mountain lion, painter, panther, Felis concolor +lynx, catamount +leopard, Panthera pardus +snow leopard, ounce, Panthera uncia +jaguar, panther, Panthera onca, Felis onca +lion, king of beasts, Panthera leo +tiger, Panthera tigris +cheetah, chetah, Acinonyx jubatus +brown bear, bruin, Ursus arctos +American black bear, black bear, Ursus americanus, Euarctos americanus +ice bear, polar bear, Ursus Maritimus, Thalarctos maritimus +sloth bear, Melursus ursinus, Ursus ursinus +mongoose +meerkat, mierkat +tiger beetle +ladybug, ladybeetle, lady beetle, ladybird, ladybird beetle +ground beetle, carabid beetle +long-horned beetle, longicorn, longicorn beetle +leaf beetle, chrysomelid +dung beetle +rhinoceros beetle +weevil +fly +bee +ant, emmet, pismire +grasshopper, hopper +cricket +walking stick, walkingstick, stick insect +cockroach, roach +mantis, mantid +cicada, cicala +leafhopper +lacewing, lacewing fly +dragonfly, darning needle, devil's darning needle, sewing needle, snake feeder, snake doctor, mosquito hawk, skeeter hawk", +damselfly +admiral +ringlet, ringlet butterfly +monarch, monarch butterfly, milkweed butterfly, Danaus plexippus +cabbage butterfly +sulphur butterfly, sulfur butterfly +lycaenid, lycaenid butterfly +starfish, sea star +sea urchin +sea cucumber, holothurian +wood rabbit, cottontail, cottontail rabbit +hare +Angora, Angora rabbit +hamster +porcupine, hedgehog +fox squirrel, eastern fox squirrel, Sciurus niger +marmot +beaver +guinea pig, Cavia cobaya +sorrel +zebra +hog, pig, grunter, squealer, Sus scrofa +wild boar, boar, Sus scrofa +warthog +hippopotamus, hippo, river horse, Hippopotamus amphibius +ox +water buffalo, water ox, Asiatic buffalo, Bubalus bubalis +bison +ram, tup +bighorn, bighorn sheep, cimarron, Rocky Mountain bighorn, Rocky Mountain sheep, Ovis canadensis +ibex, Capra ibex +hartebeest +impala, Aepyceros melampus +gazelle +Arabian camel, dromedary, Camelus dromedarius +llama +weasel +mink +polecat, fitch, foulmart, foumart, Mustela putorius +black-footed ferret, ferret, Mustela nigripes +otter +skunk, polecat, wood pussy +badger +armadillo +three-toed sloth, ai, Bradypus tridactylus +orangutan, orang, orangutang, Pongo pygmaeus +gorilla, Gorilla gorilla +chimpanzee, chimp, Pan troglodytes +gibbon, Hylobates lar +siamang, Hylobates syndactylus, Symphalangus syndactylus +guenon, guenon monkey +patas, hussar monkey, Erythrocebus patas +baboon +macaque +langur +colobus, colobus monkey +proboscis monkey, Nasalis larvatus +marmoset +capuchin, ringtail, Cebus capucinus +howler monkey, howler +titi, titi monkey +spider monkey, Ateles geoffroyi +squirrel monkey, Saimiri sciureus +Madagascar cat, ring-tailed lemur, Lemur catta +indri, indris, Indri indri, Indri brevicaudatus +Indian elephant, Elephas maximus +African elephant, Loxodonta africana +lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens +giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca +barracouta, snoek +eel +coho, cohoe, coho salmon, blue jack, silver salmon, Oncorhynchus kisutch +rock beauty, Holocanthus tricolor +anemone fish +sturgeon +gar, garfish, garpike, billfish, Lepisosteus osseus +lionfish +puffer, pufferfish, blowfish, globefish +abacus +abaya +academic gown, academic robe, judge's robe", +accordion, piano accordion, squeeze box +acoustic guitar +aircraft carrier, carrier, flattop, attack aircraft carrier +airliner +airship, dirigible +altar +ambulance +amphibian, amphibious vehicle +analog clock +apiary, bee house +apron +ashcan, trash can, garbage can, wastebin, ash bin, ash-bin, ashbin, dustbin, trash barrel, trash bin +assault rifle, assault gun +backpack, back pack, knapsack, packsack, rucksack, haversack +bakery, bakeshop, bakehouse +balance beam, beam +balloon +ballpoint, ballpoint pen, ballpen, Biro +Band Aid +banjo +bannister, banister, balustrade, balusters, handrail +barbell +barber chair +barbershop +barn +barometer +barrel, cask +barrow, garden cart, lawn cart, wheelbarrow +baseball +basketball +bassinet +bassoon +bathing cap, swimming cap +bath towel +bathtub, bathing tub, bath, tub +beach wagon, station wagon, wagon, estate car, beach waggon, station waggon, waggon +beacon, lighthouse, beacon light, pharos +beaker +bearskin, busby, shako +beer bottle +beer glass +bell cote, bell cot +bib +bicycle-built-for-two, tandem bicycle, tandem +bikini, two-piece +binder, ring-binder +binoculars, field glasses, opera glasses +birdhouse +boathouse +bobsled, bobsleigh, bob +bolo tie, bolo, bola tie, bola +bonnet, poke bonnet +bookcase +bookshop, bookstore, bookstall +bottlecap +bow +bow tie, bow-tie, bowtie +brass, memorial tablet, plaque +brassiere, bra, bandeau +breakwater, groin, groyne, mole, bulwark, seawall, jetty +breastplate, aegis, egis +broom +bucket, pail +buckle +bulletproof vest +bullet train, bullet +butcher shop, meat market +cab, hack, taxi, taxicab +caldron, cauldron +candle, taper, wax light +cannon +canoe +can opener, tin opener +cardigan +car mirror +carousel, carrousel, merry-go-round, roundabout, whirligig +carpenter's kit, tool kit", +carton +car wheel +cash machine, cash dispenser, automated teller machine, automatic teller machine, automated teller, automatic teller, ATM +cassette +cassette player +castle +catamaran +CD player +cello, violoncello +cellular telephone, cellular phone, cellphone, cell, mobile phone +chain +chainlink fence +chain mail, ring mail, mail, chain armor, chain armour, ring armor, ring armour +chain saw, chainsaw +chest +chiffonier, commode +chime, bell, gong +china cabinet, china closet +Christmas stocking +church, church building +cinema, movie theater, movie theatre, movie house, picture palace +cleaver, meat cleaver, chopper +cliff dwelling +cloak +clog, geta, patten, sabot +cocktail shaker +coffee mug +coffeepot +coil, spiral, volute, whorl, helix +combination lock +computer keyboard, keypad +confectionery, confectionary, candy store +container ship, containership, container vessel +convertible +corkscrew, bottle screw +cornet, horn, trumpet, trump +cowboy boot +cowboy hat, ten-gallon hat +cradle +crane +crash helmet +crate +crib, cot +Crock Pot +croquet ball +crutch +cuirass +dam, dike, dyke +desk +desktop computer +dial telephone, dial phone +diaper, nappy, napkin +digital clock +digital watch +dining table, board +dishrag, dishcloth +dishwasher, dish washer, dishwashing machine +disk brake, disc brake +dock, dockage, docking facility +dogsled, dog sled, dog sleigh +dome +doormat, welcome mat +drilling platform, offshore rig +drum, membranophone, tympan +drumstick +dumbbell +Dutch oven +electric fan, blower +electric guitar +electric locomotive +entertainment center +envelope +espresso maker +face powder +feather boa, boa +file, file cabinet, filing cabinet +fireboat +fire engine, fire truck +fire screen, fireguard +flagpole, flagstaff +flute, transverse flute +folding chair +football helmet +forklift +fountain +fountain pen +four-poster +freight car +French horn, horn +frying pan, frypan, skillet +fur coat +garbage truck, dustcart +gasmask, respirator, gas helmet +gas pump, gasoline pump, petrol pump, island dispenser +goblet +go-kart +golf ball +golfcart, golf cart +gondola +gong, tam-tam +gown +grand piano, grand +greenhouse, nursery, glasshouse +grille, radiator grille +grocery store, grocery, food market, market +guillotine +hair slide +hair spray +half track +hammer +hamper +hand blower, blow dryer, blow drier, hair dryer, hair drier +hand-held computer, hand-held microcomputer +handkerchief, hankie, hanky, hankey +hard disc, hard disk, fixed disk +harmonica, mouth organ, harp, mouth harp +harp +harvester, reaper +hatchet +holster +home theater, home theatre +honeycomb +hook, claw +hoopskirt, crinoline +horizontal bar, high bar +horse cart, horse-cart +hourglass +iPod +iron, smoothing iron +jack-o'-lantern", +jean, blue jean, denim +jeep, landrover +jersey, T-shirt, tee shirt +jigsaw puzzle +jinrikisha, ricksha, rickshaw +joystick +kimono +knee pad +knot +lab coat, laboratory coat +ladle +lampshade, lamp shade +laptop, laptop computer +lawn mower, mower +lens cap, lens cover +letter opener, paper knife, paperknife +library +lifeboat +lighter, light, igniter, ignitor +limousine, limo +liner, ocean liner +lipstick, lip rouge +Loafer +lotion +loudspeaker, speaker, speaker unit, loudspeaker system, speaker system +loupe, jeweler's loupe", +lumbermill, sawmill +magnetic compass +mailbag, postbag +mailbox, letter box +maillot +maillot, tank suit +manhole cover +maraca +marimba, xylophone +mask +matchstick +maypole +maze, labyrinth +measuring cup +medicine chest, medicine cabinet +megalith, megalithic structure +microphone, mike +microwave, microwave oven +military uniform +milk can +minibus +miniskirt, mini +minivan +missile +mitten +mixing bowl +mobile home, manufactured home +Model T +modem +monastery +monitor +moped +mortar +mortarboard +mosque +mosquito net +motor scooter, scooter +mountain bike, all-terrain bike, off-roader +mountain tent +mouse, computer mouse +mousetrap +moving van +muzzle +nail +neck brace +necklace +nipple +notebook, notebook computer +obelisk +oboe, hautboy, hautbois +ocarina, sweet potato +odometer, hodometer, mileometer, milometer +oil filter +organ, pipe organ +oscilloscope, scope, cathode-ray oscilloscope, CRO +overskirt +oxcart +oxygen mask +packet +paddle, boat paddle +paddlewheel, paddle wheel +padlock +paintbrush +pajama, pyjama, pj's, jammies", +palace +panpipe, pandean pipe, syrinx +paper towel +parachute, chute +parallel bars, bars +park bench +parking meter +passenger car, coach, carriage +patio, terrace +pay-phone, pay-station +pedestal, plinth, footstall +pencil box, pencil case +pencil sharpener +perfume, essence +Petri dish +photocopier +pick, plectrum, plectron +pickelhaube +picket fence, paling +pickup, pickup truck +pier +piggy bank, penny bank +pill bottle +pillow +ping-pong ball +pinwheel +pirate, pirate ship +pitcher, ewer +plane, carpenter's plane, woodworking plane", +planetarium +plastic bag +plate rack +plow, plough +plunger, plumber's helper", +Polaroid camera, Polaroid Land camera +pole +police van, police wagon, paddy wagon, patrol wagon, wagon, black Maria +poncho +pool table, billiard table, snooker table +pop bottle, soda bottle +pot, flowerpot +potter's wheel", +power drill +prayer rug, prayer mat +printer +prison, prison house +projectile, missile +projector +puck, hockey puck +punching bag, punch bag, punching ball, punchball +purse +quill, quill pen +quilt, comforter, comfort, puff +racer, race car, racing car +racket, racquet +radiator +radio, wireless +radio telescope, radio reflector +rain barrel +recreational vehicle, RV, R.V. +reel +reflex camera +refrigerator, icebox +remote control, remote +restaurant, eating house, eating place, eatery +revolver, six-gun, six-shooter +rifle +rocking chair, rocker +rotisserie +rubber eraser, rubber, pencil eraser +rugby ball +rule, ruler +running shoe +safe +safety pin +saltshaker, salt shaker +sandal +sarong +sax, saxophone +scabbard +scale, weighing machine +school bus +schooner +scoreboard +screen, CRT screen +screw +screwdriver +seat belt, seatbelt +sewing machine +shield, buckler +shoe shop, shoe-shop, shoe store +shoji +shopping basket +shopping cart +shovel +shower cap +shower curtain +ski +ski mask +sleeping bag +slide rule, slipstick +sliding door +slot, one-armed bandit +snorkel +snowmobile +snowplow, snowplough +soap dispenser +soccer ball +sock +solar dish, solar collector, solar furnace +sombrero +soup bowl +space bar +space heater +space shuttle +spatula +speedboat +spider web, spider's web", +spindle +sports car, sport car +spotlight, spot +stage +steam locomotive +steel arch bridge +steel drum +stethoscope +stole +stone wall +stopwatch, stop watch +stove +strainer +streetcar, tram, tramcar, trolley, trolley car +stretcher +studio couch, day bed +stupa, tope +submarine, pigboat, sub, U-boat +suit, suit of clothes +sundial +sunglass +sunglasses, dark glasses, shades +sunscreen, sunblock, sun blocker +suspension bridge +swab, swob, mop +sweatshirt +swimming trunks, bathing trunks +swing +switch, electric switch, electrical switch +syringe +table lamp +tank, army tank, armored combat vehicle, armoured combat vehicle +tape player +teapot +teddy, teddy bear +television, television system +tennis ball +thatch, thatched roof +theater curtain, theatre curtain +thimble +thresher, thrasher, threshing machine +throne +tile roof +toaster +tobacco shop, tobacconist shop, tobacconist +toilet seat +torch +totem pole +tow truck, tow car, wrecker +toyshop +tractor +trailer truck, tractor trailer, trucking rig, rig, articulated lorry, semi +tray +trench coat +tricycle, trike, velocipede +trimaran +tripod +triumphal arch +trolleybus, trolley coach, trackless trolley +trombone +tub, vat +turnstile +typewriter keyboard +umbrella +unicycle, monocycle +upright, upright piano +vacuum, vacuum cleaner +vase +vault +velvet +vending machine +vestment +viaduct +violin, fiddle +volleyball +waffle iron +wall clock +wallet, billfold, notecase, pocketbook +wardrobe, closet, press +warplane, military plane +washbasin, handbasin, washbowl, lavabo, wash-hand basin +washer, automatic washer, washing machine +water bottle +water jug +water tower +whiskey jug +whistle +wig +window screen +window shade +Windsor tie +wine bottle +wing +wok +wooden spoon +wool, woolen, woollen +worm fence, snake fence, snake-rail fence, Virginia fence +wreck +yawl +yurt +web site, website, internet site, site +comic book +crossword puzzle, crossword +street sign +traffic light, traffic signal, stoplight +book jacket, dust cover, dust jacket, dust wrapper +menu +plate +guacamole +consomme +hot pot, hotpot +trifle +ice cream, icecream +ice lolly, lolly, lollipop, popsicle +French loaf +bagel, beigel +pretzel +cheeseburger +hotdog, hot dog, red hot +mashed potato +head cabbage +broccoli +cauliflower +zucchini, courgette +spaghetti squash +acorn squash +butternut squash +cucumber, cuke +artichoke, globe artichoke +bell pepper +cardoon +mushroom +Granny Smith +strawberry +orange +lemon +fig +pineapple, ananas +banana +jackfruit, jak, jack +custard apple +pomegranate +hay +carbonara +chocolate sauce, chocolate syrup +dough +meat loaf, meatloaf +pizza, pizza pie +potpie +burrito +red wine +espresso +cup +eggnog +alp +bubble +cliff, drop, drop-off +coral reef +geyser +lakeside, lakeshore +promontory, headland, head, foreland +sandbar, sand bar +seashore, coast, seacoast, sea-coast +valley, vale +volcano +ballplayer, baseball player +groom, bridegroom +scuba diver +rapeseed +daisy +yellow lady's slipper, yellow lady-slipper, Cypripedium calceolus, Cypripedium parviflorum +corn +acorn +hip, rose hip, rosehip +buckeye, horse chestnut, conker +coral fungus +agaric +gyromitra +stinkhorn, carrion fungus +earthstar +hen-of-the-woods, hen of the woods, Polyporus frondosus, Grifola frondosa +bolete +ear, spike, capitulum +toilet tissue, toilet paper, bathroom tissue \ No newline at end of file diff --git a/Examples/Evaluation/UWPImageRecognition/App/ImageRecognitionApp.csproj b/Examples/Evaluation/UWPImageRecognition/App/ImageRecognitionApp.csproj new file mode 100644 index 000000000..fae6c74bc --- /dev/null +++ b/Examples/Evaluation/UWPImageRecognition/App/ImageRecognitionApp.csproj @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + Debug + x64 + {AE11A2D5-D085-4345-8057-40079BA8DE1B} + AppContainerExe + Properties + ImageRecognitionApp + ImageRecognitionApp + en-US + UAP + 10.0.14393.0 + 10.0.10586.0 + 14 + 512 + {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + true + ImageRecognitionCS_TemporaryKey.pfx + False + Always + x64 + + + true + bin\x64\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + x64 + false + prompt + true + + + bin\x64\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + x64 + false + prompt + true + true + + + + + PreserveNewest + + + PreserveNewest + + + + + + App.xaml + + + + MainPage.xaml + + + + + + Designer + + + + + + + + + + + + + + + + + + + d + + + + true + + + true + + + true + + + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + + + {2c7af00a-703a-4521-974d-7f4e47f92a03} + ImageRecognizerLib + + + + 14.0 + + + + + + + + + \ No newline at end of file diff --git a/Examples/Evaluation/UWPImageRecognition/App/ImageRecognitionCS_TemporaryKey.pfx b/Examples/Evaluation/UWPImageRecognition/App/ImageRecognitionCS_TemporaryKey.pfx new file mode 100644 index 0000000000000000000000000000000000000000..ef5b506e394c3d4f934966366ef1da8f9d25e44b GIT binary patch literal 2512 zcmZWpc{tSj8vhNm7`q~5H)Fz(8Dtk3duD9e8Zq{C$eLqGG{h)N9osNOlAUCYD?%zu z)+`~12xV)W#E9If=iYOk``qV!-tYVQeBR~z{pb5)$nXIc5G#fZr$FKI38o3VTp$>z zkPMFili}Bxau9|L+5evuWDQJ)tT5$8rvC}$_)ixnJBX!_4E}*3gZD9_Q1<`I%;DT% zHs4tL#MEBS8!RlaVK5my^`S24M+(?1HSp5o7yZRp))JB?`u0hnC3IVmmPyX$Ntr{s zXRR>$Jre@2xJC*my}6JjY6%e@Cb9tt4vNSAIUbFIBsYA1ut2aTJDlCHU>+n}-{ zV)TG%^>ORGr%``ikf9zc=pG1c?-;XjS*c{f^YAI^#>$9p@3r!9Uiz}NU^Xv!r8Kmp?(9#ZH z?BTSx`i9zd%c`ccaXcA7J*a6ymz8eH zBgZV_hbUJJ0twMGwHHAM+}z{rCT^O8YO=CsoZW9%AI=je`-FNgX`(XkzoHA$)RE(pE5+ecgt!j9|(x# z?>5+?5XrqMy@}hPIMY%|IsY|sSHSxBm8BVqsh!ZvdYTzkj;J{0*?KO{O{ufsP-m|pctn)D4W^h zHrM+^-LK1bFDelHRP;073m%Ag!E0V-@lug-|5VCtr9D@J_`#b5+|oS zLyRR|&dkDYRG0F{&ZkPI*d6Bjb{KDL;}~ATPunMF$0)0qf~7JWZO#JThJ}5_fzvo) z@~C+>E_i_Qn9Z!zV4%&lZLFHU>~E&5zb!HkCv=7hK)u#3qY~>RMO&xP`hM(f^i+i3 zeHY|ZU1Nn#3Ck1CFr!Qr=mRBok9#7%p9VMLcO&4nt&Pd@Qqc~B&n6O_8lA1wvw6(g zVijm&o#kKXU%%yuxT$V%JbKG-EUCku(~L?tIcrvOPtcq%@QLa;{kl=Rc$(krEum!L zcvaSS;pUa^o#~>%5Xfrd#=>N=QLUk@$A`Y?3SFQ0y_g{D&#pH!{Kjv+(Df>eoSAYj zzdDgPicWq3`w*-l{ieyGhwD7%J$unDv(ce;3ZA@739t7q^DNUlLs@01p=3Ubx8tNzv{x6%#(R_Fow(;@b}AM z&_XgRi77d=fB z3O95TA}mr$!-K$fg13tZahKZX<79c3EG^w#Z+v-HbgoEjWfhIJc~1QkHVhpFd%kq>)kcQ?Dy$*1nj<&i9UIMV@oarMa$0#| z4ID#9$$y;U`3u%{y5BH8r^iChcoo&v?!;)Z%hd=PbgKYq@ld{7i6|9@;RGXVKkC)= zAAlUaXptelPg@kA-^LBwZqb)6=Mo;(NkvA{?O)y~rRG>I9^!QsmJ{cleqU9R>liu5 z;>zL!R$0nrYz~hYljcGe*k~`|hJ!~tZ&kw8p1g`kv7EY#i5t?>75!l$nzbi6)PSHr zlx(J8*30uM_KXg=w2yj}mfX&w3s {1}. Elapsed time: {2} ms", file.Name, objectName, sw.ElapsedMilliseconds)); + } + } +} \ No newline at end of file diff --git a/Examples/Evaluation/UWPImageRecognition/App/MainPage.xaml b/Examples/Evaluation/UWPImageRecognition/App/MainPage.xaml new file mode 100644 index 000000000..b7ef3ecd0 --- /dev/null +++ b/Examples/Evaluation/UWPImageRecognition/App/MainPage.xaml @@ -0,0 +1,24 @@ + + + + + + + + + + + +