AlexeyAB / darknet

YOLOv4 / Scaled-YOLOv4 / YOLO - Neural Networks for Object Detection (Windows and Linux version of Darknet )
http://pjreddie.com/darknet/
Other
21.68k stars 7.96k forks source link

a question regarding choosing compatible device #3296

Open PROGRAMMINGENGINEER-NIKI opened 5 years ago

PROGRAMMINGENGINEER-NIKI commented 5 years ago

Hi @AlexeyAB I want to do detection and tracking through video. I will train YOLO model. I am planning to get a GPU enabled desktop and/or build a GPU enabled desktop. I really need an expert to tell me what to buy that it meets my need. I would appreciate if you could tell me what is the best to buy? I am doing this as an inspection surveillance project and I need to implement one in the real world. I heard that I would need a raspberry pi or other tools. But I also heard that raspberry pi is not powerful enough to run YOLO in real time. What would be your suggestion for choosing devices for my project?

AlexeyAB commented 5 years ago

@PROGRAMMINGENGINEER-NIKI Hi,

PROGRAMMINGENGINEER-NIKI commented 5 years ago

Thank you for the response. My questions are:

  1. If I buy an embedded device like Xavier, could I put it outside and then use a computer to get data from it from long distance? I want to locate it in the outside and there would be a long distance to my computer.

  2. Is the Xavier the latest one in embedded device families? if not what is the latest version? and how many fps it reaches? can I use OpenCV for it?

  3. Is there any technology that captures images from long distance and then sends it to the local GPU enabled pc to process?

  4. Regarding my project do you think it is good to use GPU enabled hardware or cloud service?

Thanks in advance.

AlexeyAB commented 5 years ago
  1. You should use Xavier to process Yolo on Xavier. You can get results remotely, see mjpeg_port and json_port: https://github.com/AlexeyAB/darknet#how-to-use-on-the-command-line

  2. The latest. You should use Darknet/TensorFlow/PyTorh on GPU, but not OpenCV on CPU: https://github.com/AlexeyAB/darknet#yolo-v3-in-other-frameworks

  3. If you want to process Yolo on Desktop, then just buy any RTSP-camera (f.e. Hikvision) and use Darknet by using such command: ./darknet detector demo data/voc.data yolo-voc.cfg yolo-voc.weights rtsp://login:pass@192.168.0.228:554

  4. I don't know.

PROGRAMMINGENGINEER-NIKI commented 5 years ago

In practice, my goal is to train YOLO for my own dataset and mount it on the embedded device, should I train it with Raspberry's images(the images that are taken from Raspberry )?

What if I train it with other cameras images?(with the same camera view point) does it cause a problem?

AlexeyAB commented 5 years ago

What if I train it with other cameras images?(with the same camera view point) does it cause a problem?

If they have the same aspect ratio and the same relative sizes of objects, then you can use other cameras.

PROGRAMMINGENGINEER-NIKI commented 5 years ago
  1. You should use Xavier to process Yolo on Xavier. You can get results remotely, see mjpeg_port and json_port: https://github.com/AlexeyAB/darknet#how-to-use-on-the-command-line
  2. The latest. You should use Darknet/TensorFlow/PyTorh on GPU, but not OpenCV on CPU: https://github.com/AlexeyAB/darknet#yolo-v3-in-other-frameworks
  3. If you want to process Yolo on Desktop, then just buy any RTSP-camera (f.e. Hikvision) and use Darknet by using such command: ./darknet detector demo data/voc.data yolo-voc.cfg yolo-voc.weights rtsp://login:pass@192.168.0.228:554
  4. I don't know.

For implementing YOLO in an embedded system, it is required to have both a decent desktop and an embedded device. is this correct? For buying desktop should I buy a separate GPU like the following link and then install it to desktop or I have to buy a GPU enabled desktop? https://www.nvidia.com/en-us/geforce/graphics-cards/rtx-2080/