Build a cross-platform deep learning app by Qt5 and opencv3.3
-
This application take a picture and detect location of 20 different objects, they are aeroplane, bicycle, bird, boat, bottle, bus, car, cat, chair, cow, diningtable, dog, horse,
motorbike, person, pottedplant, sheep, sofa, train, tvmonitor.It is aimed to help c++/Qt/QML/OpenCV developers by showing an example project how to develop a native cross-platform with single code bases which could
1 : Access camera frame of qml camera
2 : Bundle big binary files by android assets and how to load them
3 : Reuse deep learning models by opencv dnn module
4 : Use QtConcurrent to handle expensive algorithm, keep the ui alive
5 : Communicate between c++ and qml
6 : Draw predicted results by QQuickPaintedItemYou can find the source codes at https://github.com/stereomatchingkiss/blogCodes2/tree/master/cross_platform_dl/final.
This project use pre-trained model of caffe, my blogs also write down how to trained your own deep learning models, they include image classification, super-resolution, semantic segmentation and neural style transfer.
My next post would show you how to train your own deep learning model by tensorflow and "port" it to opencv dnn. One of the nuisance when I studying cnn is, many papers/researchers favor complexity, in the world of programming, over complicated almost equal to failure/bad products, but in the worlds of academic, over complicated make you looks like a hero.