Intel® computer vision SDK (Opencv, Opencx and more)

Intel computer vision SDK the results of itseez acquisition

The Intel defined the future usage of processing power by many acquisitions in last two years. I already wrote about the itseez and movidius. The itseez is lost somewhere in the structures of the intel but results are obviously visible. The movidius continue under intel as more separated brand with latest usb stick for accelerating the deep neural networks for embedded and mobile phone. All this activities shape intel and also architecture of the processors, size of processors register, floating point  registers optimization, vector architectures and much smarter parallelism than ever before. 
intel computer vision SDK

 The Intel® CV SDK

Basically is package of the product related to video processing, computer vision, machine learning and lots of optimization inside these packages done by Intel. The optimization also comes with better deployment for systems that combined many hardware like CPU, GPU and FPGA. The every devices has advantage in some stages of image processing pipeline. 

Opencv, OpenVX integration

Intel SDK try to merge OpenVX and Opencv more closely, which is great.. OpenVX is cross platform acceleration for computer vision application that doesn't necessary required the high power CPU and GPU. The Opencv itself coming with cuda support and OpenVX integrations opens the access to hw like movidius accelerators for deep neural network, small IOT devices, Cameras and more.  Huge application potential from home security to smart cars and devices. Opencv is more community driven project and OpenVX os more hardware vendors API integration focusing on low level optimization. The tight and simple merging inside Intel Computer Vision SDK makes lots of senses from Intels HW, acquisitions and future perspective.

Cuda sample flow VS Opencv OpenVX integration

The following two examples try to compare the working program from CUDA perspectives and also The Intel CV SDK. For example CUDA devices transfers data in from host CPU to devices GPU by following flow. The flow more than running cuda code sample!! 

//Allocating the input output memory
int *in = (int*)malloc(size);
int *out=(int*)malloc(size);
cudaMalloc((void **)&inAddressGPU,InputSize);
cudaMalloc((void **)&outAddressGPU,OutputSize);
//Copy from HOST (in) to DEVICES (inAdressGPU), where parallel magic will happened 
//pass results back to HOST from outAddressGPU to out by memcpy, memory copy
cudaMemcpy(inAddressGPU,in,size,cudaMemcpyHostToDevice)
//Do somethink lunch kernel on GPU atd atd
//Copy results back
cudaMemcpy(out,outAddressGPI,size,cudaMemcpyDevicesToHost)
free(in)
free(out)
cudaFree(inAddressGPU)
cudaFree(outAddressGPU)


In comparison flow between the Opencv and OpenVX

Mat RGBimage;
vx_imagepath_addressing_t mappingTemplate;
// mapping the sizes
mappingTemplate.dim_x
mappingTemplate.dim_y
mappingTemplate.stride_x
mappingTemplate.stride_y

//pointer to data

void *ptr[] = {RGBimage.data};

//Create the VX_imagevx_image image=vxCreateImageFromHandle(ctx,…,& mappingTemplate,ptr, VX_MEMORY_TYPE_HOST);
cv::cvtColor(RGBimageR, RGBimage, cv::COLOR_BGR2RGB);
vxFunctionOver(image, ............);

// results from from Opencv and OpenVX over one image, data in memory by different tools. 
In some specific mapping we can do the Opencv operation and OpenVX operation over the same image. Vx_image point to same data in mamery as RGBimage MAT which is valid when the VX_MEMORY_TYPE_HOST memory is on host sideIn GPU cuda is always necessary to dopy from host to device and back in example above. This was just philosophy and architecture behind the code. The small pieces that Cuda and technology like OpenVX are something hard to deal with.  

Intel Computer Vision DSK and Convolution neural network

As many others framework Intel extensions for convolution neural networks comes with integration with model trained by different Software like TensorFlow or Coffe. The training is done on state of the art software maintained by large science community over the world and the feed forward part over the network without learning is deployed into many devices by tools like this Convolutional Neural Network IP kernels OpenVX extensions. 

The additional software to work with Opencv, OpenVX, Convolutional Nural Networks OpenVX extensions is Intel's visual Algorithm Designer. Where the functionality of computer vision pipeline could be assembled in visual GUI and check the results of each edges as well as advanced profiler for the performance tuning of each stage of computer vision pipeline. 

Another pieces is Intel's Deep Learning Framework, API for training models and Intel's standard piece of software which is Intel's Media SDK, which is great tool for codecs development and measurement of performance in encoding and decoding the video by different mechanism. 

More about the tool here





Next Post Previous Post
8 Comments
  • Unknown
    Unknown March 18, 2018 at 7:52 PM

    Excellent service.
    gclub มือถือ
    gclub iphone
    gclub android

  • Baba Gyanchand
    Baba Gyanchand July 4, 2018 at 2:44 AM

    This comment has been removed by the author.

  • Baba Gyanchand
    Baba Gyanchand July 4, 2018 at 11:40 PM

    Nice Blog, The way you have explained about the things is very well and the suggestions are the best.
    Read how toProtect your computer from online hackers.

  • Susmitha Bommepalli
    Susmitha Bommepalli August 30, 2018 at 12:22 AM

    Awesome blog. It was very informative. I would like to appreciate you. Keep updated like this!
    Best Data Science Online Training Institute In Hyderabad | Online Data Science Training
    Data Science Online Training Institute In Hyderabad
    Data science online training in hyderabad
    Best data science training in hyderabad

  • Unknown
    Unknown September 6, 2018 at 10:48 PM

    Best selenium online training institute `

  • Unknown
    Unknown September 7, 2018 at 11:05 PM

    Best selenium online training institute `

  • supreet
    supreet September 8, 2018 at 4:32 AM

    Superb. I really enjoyed very much with this article here. Really it is an amazing article I had ever read. I hope it will help a lot for all. Thank you so much for this amazing posts and please keep update like this. best sap simple finance online training institute in hyderabad

  • xcod4r
    xcod4r January 10, 2019 at 8:25 AM

    Swing Code Examples

Add Comment
comment url