basic版本的yolo,在yolov3版本上增加人体跟踪
xuepengqiang
2020-05-26 5966f2b095841627d62daac0159e81f83544b85c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
cmake_minimum_required(VERSION 3.5)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGPU -DCUDNN -DOPENCV -g -std=c++11 -W -O3 -pthread")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DGPU -DCUDNN -DOPENCV -g -std=c++11 -W -O3")
project(demo)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/build)
 
set(CMAKE_CXX_STANDARD 11)
add_compile_options(-fPIC -g -Wall -Wshadow -Wno-sign-compare -w)
 
file(GLOB_RECURSE CURRENT_HEADERS
  ./*.h
  ./lib/*.h
  ./lib/core/*.h
  ./lib/tracker_tools/*.h
  ./lib/encoder_tools/*.h
  ./lib/detecter_tools/*.h
  ./lib/detecter_tools/extra/*.h
  ./lib/Munkres_assign/*.h
  ./lib/utils/*.h
  ./lib/detecter_tools/*.hpp
  ./lib/detecter_tools/*.cuh
  ./lib/detecter_tools/darknet/*.hpp
  ./lib/detecter_tools/darknet/*.cuh)
 
file(GLOB sources
./*.cpp
./lib/*.cpp
./lib/core/*.cpp
./lib/tracker_tools/*.cpp
./lib/encoder_tools/*.cpp
./lib/detecter_tools/*.cpp
./lib/Munkres_assign/*.cpp
./lib/utils/*.cpp
./lib/detecter_tools/*.cpp
./lib/detecter_tools/darknet/*.c
./lib/detecter_tools/darknet/*.cpp
./lib/detecter_tools/darknet/*.cu)
 
 
source_group("Include" FILES ${CURRENT_HEADERS}) 
source_group("Source" FILES ${sources}) 
 
 
#cudaS
find_package(CUDA REQUIRED)
 
message("-- CUDA version:$(CUDA_VERSION)")
 
if(CUDA_VERSION_MAJOR GREATER 9)
        message("-- CUDA ${CUDA_VERSION_MAJOR} detected")
        set(
                CUDA_NVCC_FLAGS
                ${CUDA_NVCC_FLAGS}; 
                -gencode arch=compute_61,code=sm_61
        )
        set(CUDA_NVCC_FLAGS_RELWITHDEBINFO "--device-debug;-lineinfo")
endif()
 
 
set(TENSORFLOW_DIR /home/disk1/s_opt/tensorflow/tensorflow-1.14.0)
 
link_directories(/usr/local/cuda-10.0/lib64)
#link_directories(/usr/local/lib)
 
SET(LIBS
        opencv_core
        opencv_highgui
        opencv_imgcodecs
        opencv_imgproc
        opencv_videoio
        opencv_video
        tensorflow_cc
        tensorflow_framework   
        cudart
        cublas     
        stdc++fs
        curand
        cuda
        cudnn
        )
 
include_directories(
        ${CMAKE_CURRENT_SOURCE_DIR}
        /home/disk1/s_opt/tensorflow/tensorflow-1.14.0
        /home/disk1/s_opt/tensorflow/tensorflow-1.14.0/bazel-genfiles
        /home/disk1/s_opt/tensorflow/tensorflow-1.14.0/bazel-bin/tensorflow
        /home/disk1/s_opt/tensorflow/tensorflow-1.14.0/tensorflow/contrib/makefile/downloads/nsync/public
        /home/disk1/s_opt/tensorflow/tensorflow-1.14.0/tensorflow/contrib/makefile/downloads/eigen
        /home/disk1/s_opt/tensorflow/tensorflow-1.14.0/tensorflow/contrib/makefile/downloads/absl
        /home/disk1/s_opt/tensorflow/tensorflow-1.14.0/tensorflow/contrib/makefile/downloads/protobuf/src
)
include_directories(/home/disk1/s_opt/opencv/opencv3.4.8/include) # 使用了系统的opencv,所以就不用这个了
include_directories(/usr/local/cuda/include)
include_directories(".")
include_directories("./lib")
include_directories("./lib/core")
include_directories("./lib/detecter_tools")
include_directories("./lib/encoder_tools")
include_directories("./lib/Munkres_assign")
include_directories("./lib/tracker_tools")
include_directories("./lib/utils")
include_directories("./lib/Munkres_assign/munkres")
link_directories(${TENSORFLOW_DIR}/tensorflow/contrib/makefile/downloads/nsync/builds/default.linux.c++11)
link_directories(${TENSORFLOW_DIR}/bazel-bin/tensorflow)
#link_directories(/usr/local/lib)
link_directories(/usr/local/cuda/lib64)  #
link_directories(/home/disk1/s_opt/opencv/opencv3.4.8/lib)
#link_directories("/usr/lib/x86_64-linux-gnu")
 
 
cuda_add_executable(${PROJECT_NAME}
    SDK_main.cpp
        ${sources}
        ${CURRENT_HEADERS}
        )
target_link_libraries(${PROJECT_NAME}
    ${LIBS}
        )