Fun Computer Vision opencv tutorials and ..


Follow

My favourite

  • Opencv tutorial people detection
  • Head people cascade download
  • Opencv tutorial optical flow
  • Opencv Video stabilization
  • Opencv car dataset download
  • Opencv tutorial Transparent mask
  • Opencv videowriter
  • Opencv FFMPEG
  • Opencv Canny edge and hough lines
  • Microsoft and cognitive service computer vision is one of the most visible on build 2017 

    Looks pretty cool, Microsoft machine learning for safety in work environment. Recognizes people identity, real time tracking, evaluate their role in respect with position  against to safety. We will see in near future this technology more often. Lets have a look to strategy little bit closer. All who play with computer vision just know, that the demonstration is one think and the general service available to the Employers is something totally different. Cool, interesting as amazon GO. Lets compare with Amazon Go much closer.
    Microsoft Build conference 2017


    Microsoft cognitive vs Amazon Go

    Both are huge co-leaders on the market with cloud computing. Obviously, Who have this computational power should entered the future of everything, starting from small IOT devices to large scale distributed intelligent platforms driven by machine learning. There is maybe question, why microsoft do not follow the Amazon Go concept in general form, open to everybody. Analysis of video stream in retail statistics and marketing. I know it is conference demonstration, mentioned everywhere. Maybe I can add some original idea, why to slightly change the focus. 

    Employees monitoring system 

    This is related to mentality, human resources and people comfort in working environment. Sure as a employer you can control how effectively your money are spend covered by all by safety of the employees buzzwords. In some environment with strict rules question of life or serious health problems is necessary to go this way. Hard stop and sensors are already part of this kind of environments. Can we expect that this environments send video to be analysed somewhere as a service? Is this really the best market? Is this what everybody want. Is this dangerous or provide benefit with safety or making just people leaving the companies that push privacy questions so hard behind the borders.

    Do you know details about the architecture ? Let me comment.. As a service to process video streaming in cloud, There is several problem and much more critical one, when we are talking about heath monitoring of anyone. 

    Amazon go do right think 

    Advantage of the Amazon go concept is more features. They are count not only to computer vision but also to sensor fusion from different sources to provide better features processed by deep learning. Main advantage against Microsoft is that Amazon focus on their own environment but Microsoft to general one. Problem is general one not in retail but in environment, where the human health is concerned. This should be critical problem. Where Amazon has same situation in same environment and lights conditions handled hundred times. Microsoft should adapt on every possible light, environment and other variables related to deployment in different places. What is worse in much more critical applications and situations.

    This could be hard and slow down to go with this on market..

    Microsoft go to harder segment for computer vision

    Again, Just a comparison Microsoft concept and situation of and Amazon go. Why the microsoft position is just a little bit uncomfortable. 

    Amazon go can easily solve customers problem, refund the money for customers complains and the application is  basically not so critical. In the other hand. Microsoft need in such a cases like hospital and security critical environment count whit certification problems, law issues and more. In Microsoft segment is much more responsibility. This is why amazon can speed up the development based on experience in real application instead of segment when is necessary be perfect.
    On the other hands, AI is able control cars itself without human. This segment is also little bit risky from that point of view.


    I really think that they should start competition with amazon Go as general service for all retails. Somehow bound the requirements for the stores environment and use sensor fusion. For example in medical application like hospital is maybe good idea to use thermo cameras combined which normal one..

     Provide benefits for customer and high valuable information about the customers behavior to boost the retail and advertisement impact. This is just a save. No problem issue. 

    Video stream delivery 

    I think that microsoft mostly provide all AI in form of service. You deliver stream or image request and We give you a results back. The limitation here is bandwidth, Video stream quality and time delays. What if the network go down, resolution or frame rate and something happened. Cars has brain in their body.. This service has brain somewhere else. I expect, do not know for sure. 
    Microsoft can guaranty availability of the service and accuracy, but who will be responsible in case that the system is not able to connect and something happened. Just a case. You always need to count with the worse one and hope that never happened. 

    Delay, Video stream delays of real time broad casting. Delay is here. Delay in video will be here also in future. When some situation occurred the second play roles in microsoft case. If the alert response come back with delay. This service will be replace by something else.   Maybe is better to deploy something like in form of IoT devices than services. Maybe this kind of service should provide pretrained parameters of deep neural network for IoT devices, compute only forward pass without learning. But not transfer, analyze the whole content and response somewhere..  Who know what will be final solution. Power of cloud, power of machine learning in this case needs to be response available on time. That mean calculation directly in camera devices or on local network.


    Good luck to Microsoft. Here is a fan. Let me test your solution ! :) . Be careful

    Do you like this post ?? Feel free to share. This keep me doing this kind of content. Hopefully I have got time to also some new tutorial post.. Hopefully 

    Future of Machine learning in 2017 from the dark side

    Machine intelligence is our future. It is almost everywhere in some form right over the web. Machine learning started to be part of the small devices, distributed systems, cars, cameras and many others. Widely connected, distributed and able to do incredible thinks. Every technology has its plus and minus. I will try to focus on one strange minus. So powerful to destroy future of individual peoples, governments and institutions.
    Machine learning future



    Machine learning generated FAKE news

    This will be serious problem in near future. Even now, is a problem realize, what is true and what is not. It is hard to find from the heap of resources the good one and believe what trusted media brings on board. Most probably, you can heard about PewDiePie vs Wall Street Journal. Whole thinks is just obscure. Call the joking YouTuber the racist and so on. Is little bit to much.  Sure everyone have different sense of humor. Difference is also in each countries. To be visible, famous and do not piss anybody in this world is almost impossible. Still this is only internet, this is only humor and it is hard to find true in what is written. 

    What people believe

    People maybe in near future stop trust to written media at all. What about the others media. Can we expect the same ? We trust to most of the thinks which are visible on the screen and even better with sound. Probably you know following video.. If not. Go on. 


    Project Page: http://www.graphics.stanford.edu/~nie...


    Scary. The future of machine learning is almost like any breaking through technology. Lost of positives. Tons of negatives.

    Trusted media

    Behavior of trusted media which fighting for every our advertisement per click rating. Basically money are follow the strange rules. In better cases, They publish almost everything what is caught on camera or audio as a true. In worse example they are just speculating over the pictures. Even worse, brings the fake pictures online.   This could be worse problem than the media stand side by side the owners. 

    Fake on real faces

    On the video above, I can not recognize the difference between real behavior and acting behavior. We can expect the whole scenes generated fake news. Whole, situation. Recurrent neural network now successfully generate music but they are also generate trustful tone and character of the voice of concrete person.

    We have fake behavior in video. We can generate speech and follow the real template of concrete person. 

    Challenge for machine learning of 2017 

    Now we successfully doing interesting staff against us. We need to also find the way how to use this technology to defense us against fake news, fake actors, fake speech. There is the real power to destroy lot of the thinks over us.. 


    Machine learning vs machine learning  To understand the truth

    Fight already begin  


    Opencv target tracking example

    opencv tracking tutorial

    The computer vision is just super fun. Machine learning with just visible results.. This is so powerful to bring more people intogame. To apply K means clustering to millions of line data-set and obtain 10 clusters. Cool. Sure. Where is the fun_ This is actually super cool. Machine learning, good know of video image properties, optical flow control theory, optimization, feature extraction and others super cool staf. 

    Share, subscribe, This support me to continue


     

    Build install Opencv with Contrib, Visual studio 2017

    Easy install and build of Opencv 3+ tested on 3.2 version with contributor library and additional features described step by step, picture by picture. After this tutorial you can modify setting of CMAKE project according to HW possibilities and available libraries to build your own Opencv library. Most of the time, Prebuild libs with already generated DLL, LIBS are used to start project and coding. In case, that new visual studio 2017 is available there is no prebuild libraries for VS141, Thich is from my point of view confusing naming of Libraries compatible with Visual Studio 2017.
    Opencv Visual Studio 2017 build


    Opencv VS 2017 install options

    Alternatives to this tutorial. You can skip this. 
    1. There is possibility use some compatibility pack downloaded to VS140 and use same prebuild library as in case of Visual Studio 2015 this is described here
    2. The second way is to try use some prebuild NUGET package. I am using nugets a lot. Simple installation under one line of code inside nuget packages console. here

    Opencv Install and Build in Visual studio 2017 prerequisites 

    Do not afraid. There is lots of tricky parts for sure. You can miss some prerequisites for sure. You can fail many times. My last compilation has one error to link Python. I do not care. Library, I need are fine.
    1. Download CMAKE, I am using this version in the example.
    https://cmake.org/download/
    Choose windows installer Windows (Win32 Installer) cmake-3.4.0-win32-x86.exe
    Install CMAKE

         2. Install Visual studio 2017 Community, with C++ and C support, maybe also cross platform C++ and C. This is lots of space around 20 gigs per installation. Who knows what is inside. :)

    Download Opencv from github

    I have created opencv32 folder in c:/.

    Opencv Install and Build in Visual studio 2017
    To this folder i extract from following links the source code Opencv 3.2.0 and opencv_contrib-3.2.0
    just unzip here.
    Create here one blank folder opencv21build
    https://github.com/opencv/opencv/releases
    https://github.com/opencv/opencv_contrib/releases

     Opencv Install and Build in Visual studio 2017


    Configure CMAKE OPENCV project 

    Cmake configure project for Visual studio 2017 and checking what is available to be build with your own opencv libraries, ffmpeg, opencv, cuda and others.
    Add path to opencv-3.2.0, where is the base opencv source code and to the empty folder created by you called build. 
    Opencv Install and Build in Visual studio 2017
    Now you need to specify path to Visual studio 2017 compiler for C and C++.  Mine are on the picture.

    Opencv Install and Build in Visual studio 2017
    You can several times hit configure. Until you have some list of possible settings like on image below. Use different settings and configuration options. Just pick up solution you want. FFMPEG, OPENCL support and generate OPENCV.SLN file inside yout opencv32 build folder. 

    Opencv Install and Build in Visual studio 2017
    Do not choose averythink but cmake check and configure also only what is possible.. 

    Opencv Extra Modules contrib libraries 

    This is great source of modern algorithm to use. CNN, advanced tracking and detection like waldboost. Just in your cmake fill OPENCV_EXTRA_MODULES_PATH and put here path, where you extract zip from contributor git repository. HIT in cmake generate and yout Opencv.SLN file is upgraded. 

    Opencv Install and Build in Visual studio 2017

    Build and deploy opencv 

    Open from Visual studio 2017 generated opencv.sln file inside opencv32build. 
    Opencv Install and Build in Visual studio 2017

    Visual studio just ask you if you want to upgrade toolchain to Visual studio 2017. Cmake just generate 2015 but visual studio upgrade this anyway,

    In solution menu you just see all you want to build like on picture.


    1. FIRST just select DEBUG, x64 version like on picture, click right mouse on Entire solution and hit BUILD solution like on picture.  Opencv Install and Build in Visual studio 2017
    2. Second you need to switch from DEBUG to RELEASE and build the solution again. This build also cmake target install, (you can see this under install) where is your installation located. 


    Opencv Install and Build in Visual studio 2017

    You can see my release build 114 modules and 0 fails. It should works. And works.
    Your installation isn under opencv32build/install

    Opencv Install and Build in Visual studio 2017
    There is located header files in include and x64 libraries and DLL. Opencv Install and Build in Visual studio 2017

    This is your own build of opencv with specification to HW and software for any new release of Visual Studio. This is 2017. 

    NOW use same setting like to install Visual studio project as usual. Headers and libs you have build. 

    Opencv  Visual studio 2017



    Simple Installation opencv Visual Studio 2017

    Simple installation of opencv for Visual studio 2017 by image example. Easy and fast way to start coding in opencv by Nuget packages. If your plan is going to use cuda, or some advanced opencv settings. You should install opencv in different way. For example build your own libs according to HW you have available.. This will be my next tutorial.

    If you want to play and make a fun in Visual Studio 2017 this is tutorial for you. All mine tutorials for Opencv is now running just based on NUGET packages installation. For most common purpose is this installation just fine.

    OPENCV VISUAL STUDIO 2017 need vs141 libs version

    This doesn't make any sense to me Visual Studio 2012 was 110 lib version, 2013 was 113, Visual studio 2015 has VS140 lib version and now the big step forward. Visual studio 2017 you are finding DLL, libs etc compatible with VS141.. What a big step from previous visual studio :)

    Instal opencv under 1 minute 

    On nuget package side find nuget distribution. This will install library, DLL and header just into your project. Find the right NUGET for you on https://www.nuget.org/packages

    Find support VS141
    openCV for Windows
    320.1.1-vs141

    I just try this nuget and It works fine for 86 version build in VS 2017.
    Install-Package opencv.win.native -Pre
    x86/x64 builds for OpenCV 3.2 release for Visual Studio 2017

    Install Step by step

    • Create empty C++ project
    • Click on source file on Right and add new source.cpp file. 
    • Add source code. You will see unresolved dependencies and other staff. Just because your functions try to find where are they implemented.  


    opencv nuget visual studio 2017


    • Your Visual Studio 2017 needs NUGET packages extension installed. The installation of VS17 is more modular than before, but NUGET are most common extension. 
    • In tools - Nuget Packages Manager - open Package Manager Console
    • Write here simple Install-Package opencv.win.native -Pre     OR any others you find 
    • On second picture you can see that Nuget is installed 


    Now, You can compile at least 86 build and released without any problem. I am tested just this packages. The next tutorial show how to build your own libraries.. See you




    ad