實戰小項目之基於深度學習的在線目標檢測系統

  將以前的的兩個小功能作了一次封裝,並完善視頻推流的功能,實現從攝像頭/文件/網絡流獲取視頻流,解碼顯示,編碼以後推流或者保存成文件。具體如readmenginx

                    Online Object Detection System Based On Deep Learning
    This project is a system for objects detection based on deep learning(darknet --yolo),and include some parts as list:
    1.video stream detect
    using ffmpeg,finished functions that:
     1) get video stream from camera/file/net video stream
     2) decode and display with opencv
     3) encode video with h264 in flv format
     4) push video through rtmp protocol to nginx stream media server or save as file

    the main work of ./client/ObjectDetector:
    pusher:
        get video from camera-->decode and display with opencv -->encode in h264as flv --> push stream to nginx server
    puller:
        get video from nginx server-->decode and display with opencv -->encode in h264as flv --> save as file

    the main work of ./server/video
    get video from nginx server--> decode and dislay with opencv --> detect whih yolo -->display detect results --> encode in h264 as flv --> push stream to nginx server(another channel)

    2.image detect
    tranport image or json with http,using libevent to listen http in server,using libcurl as client

    the main work of ./client/imagedemo/curlclient
    read a image file --> transport in http with libcurl ----waiting for reback-- get json stream -->decode json

    the main work of ./server/image
    libevent as http server in child process--- wait for client --- get a request --> write image stream as file --> signal to main process and yolo read file and detect -->write detect results in a json file --> fifo to wake up child process --> read json file and sent to client with http


CAUSTION:
    when use code in server folder,you must configure darknet already,then you can put these files in src,and replace default Makefile with my Makefile.Also, you have to configure libs I have used.

 

圖片檢測git

 

視頻檢測github

  與以前相比,新增檢測以後的視頻流回推,就是再推流,而後去接收json

 

code網絡

相關文章
相關標籤/搜索