OpenCV and deep learning neural networks

I already found some tutorials with different bunches ncnn+opencv, tensorflow+opencv, but all examples predominantly with python code.

Thank you for a tip about the python coding, i am ready to learn how to create and train model with python, but my main project needs to be in C++.

Could you please do me a favour and advice which bunch to choose for my task:

  1. ncnn+openCV
  2. tensorflow + openCV
  3. caffe + openCV
  4. dnn + openCV

And how to choose from a huge plenty of neural networks:

  1. R-CNN
  2. YOLO
  3. HOG
  4. R-FCN
  5. SSD

What is the most popular practice? Help to choose please