Building Joker TV drivers and apps for Mac (OSx)

Hello All, Compile driver and apps under Mac (OSx) If you are looking for an already compiled (binary) drivers and apps please use this link. If you are looking for compilation manual for Linux please use this link. If you are looking for compilation manual for Windows please use this link. Preparing build environment (brew) Install brew using following command /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" Install required packages brew install cmake autoconf automake libtool Joker TV drivers and apps compilation Now we have prepared brew build environment and can build Joker TV drivers and apps git clone https://github.com/aospan/libjokertv cd libjokertv mkdir build cd build cmake ../ make make package After completion you can find resulting package 'joker_tv-1.2.0-Darwin.tar.gz'.  ...
Read More

Building Joker TV drivers and apps for Windows

Hello All, Compile driver and apps under Windows OS If you are looking for an already compiled (binary) drivers and apps please use this link. If you are looking for compilation manual for Linux please use this link. If you are looking for compilation manual for Mac(OSx) please use this link. Preparing build environment (MSYS2) Install MSYS2 from http://www.msys2.org/ first. You can choose 32 or 64 bit version. I will use 64-bit version only in this post for simplicity but you can use 32-bit version as well (just change all "32" to "64" and "x86_64" to "i686"). MSYS2 installs into 'C:\msys64\' by default. Please start msys2 shell 'C:\msys64\mingw64.exe'. Now we should install required software using package manager named 'pacman'. Please run following commands: pacman -Sy pacman -S git make automake autoconf libtool mingw64/mingw-w64-x86_64-cmake mingw64/mingw-w64-x86_64-gcc mingw64/mingw-w64-x86_64-nsis Joker TV drivers and apps compilation Now we have prepared MSYS2 build environment and can build Joker TV drivers and apps. Please start msys2 shell 'C:\msys64\mingw64.exe' and run following commands: git clone https://github.com/aospan/libjokertv cd libjokertv mkdir build cd build cmake -G"MSYS Makefiles" ../ make make package After completion you can...
Read More
Speech recognition and Speech synthesis using neural networks

Speech recognition and Speech synthesis using neural networks

Hello All, Today I want to show you how Joker can be used for speech recognition and speech synthesis using neural networks and Joker Empathy module. I have brewed two docker containers for super simple usage. Just one command required to run neural network and obtain the results. This tutorial should work on any Linux and OSx . No GPU required, only CPU. This funny video shows voice interaction with Joker: https://youtu.be/mnw7q0VXYTs Speech recognition (speech-to-text) This service based on Kaldi ASR project. Kaldi's 'chain' models (type of DNN-HMM model) used. Actual trained model released by api.ai team. Model contains 127847 words. Compare this number with Oxford English Dictionary which contains 171,476 words or average English-speaking adult knows between 20,000 and 30,000 words. And need to say that this model shows 11.2% word error rate (WER). This is very good results ! "Old" speech recognition methods (GMM-HMM) can show only 21+% WER. To run test just issue following command in console: docker run -it aospan/stt builtin file will be processed and output should contain...
Read More
Neural network scene understanding on Joker

Neural network scene understanding on Joker

Hello All, Today I want to show you how Joker with SegNet project can be used for scene understanding (in AI world it's called "semantic segmentation"). We will take picture of our room and AI will show us pixels belongs for different objects (like "table", "chair", etc). This tutorial should work on any Linux distribution (CoreOS, Debian, RedHat, etc). No GPU required, only CPU. I have brewed ready to use docker image, just issue following command in console: docker run --name segnet --rm -it -v `pwd`/out:/workspace/out aospan/docker-segnet you should see following output if input images processed successfully: Grabbed camera frame in 12.1850967407 ms Resized image in 33.4980487823 ms Executed SegNet in 11251.4910698 ms Processed results in 2.71892547607 ms Input and processed images located in folder ./out. Let's take a look at this images: Left image is input and right is output annotated image. AI defined what object this pixel related for and mark with different colors. Now you can prepare your own images and make experiments with AI semantic segmentation. Input images should be named strictly as...
Read More
Neural network image classification on Joker

Neural network image classification on Joker

Hello All, Today I want to show you how Joker can be used for neural network image classification with Caffe project. Caffe is a deep learning framework. This tutorial should work on any Linux distribution (CoreOS, Debian, RedHat, etc). For simplify overall process I have created Docker container with Caffe (built from sources) and already trained "BVLC CaffeNet Model" (based on ImageNet). Who wants to dive deeper can check training instructions here. Let’s do some console work. Issue following command to pull and run docker container with required software: docker run --name ai -p 5000:5000 aospan/caffe-cpu python /opt/caffe/examples/web_demo/app.py After container startup you can go to web-interface: http://joker:5000 and check how neural network classify your images. Let's try to check how our neural network can classify images. I will make some photos from my smartphone and will check:   hmm, looks good ! Our neural network found tennis ball on the image (i have marked results by red arrow). Let's try one more: Bicycle was found ! Try to make photos by...
Read More
Video decode and encode on Joker using Intel GPU

Video decode and encode on Joker using Intel GPU

Hello All, Today I want to show you how Joker can be used for video decode and encode (transcoding) using Intel GPU (QuickSync technology). For better performance we will use Intel GPU (graphics processing units). In this case CPU is not loaded with video processing tasks. This tutorial should work on any Linux distribution (CoreOS, Debian, RedHat, etc). Let's do some console work. Issue following command to pull and run docker container with required software: docker run --privileged --name gstreamer -v /dev:/dev -it aospan/docker-gstreamer-vaapi /bin/bash grab some coffee and wait. After all you will see following prompt: root@dbbc5ddfc092:/# now you can issue command for transcode sample video file: /opt/transode-file.sh this command takes sample file from  /opt/moscow24.ts and change video codec from MPEG2 (resolution:720x576) to H264 (resolution:720x576) and change audio from MP2 to AAC. It should take about 25-30 seconds to transcode 100 seconds file. Now you can change /opt/transode-file.sh script and do your own experiments with video transcoding on GPU. CPU and GPU load monitoring Open new terminal connection to Joker and issue following command: docker exec -it...
Read More