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
119
120
121
122
123
124
125
126
127
128
129
130
131
cmake_minimum_required(VERSION 3.5)
 
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGPU -DCUDNN -DOPENCV -g -std=c++11 -W  -pthread")
set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -DGPU -DCUDNN -DOPENCV -g -std=c++11 -W")
project(yolo_tracking)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/build)
 
set(CMAKE_CXX_STANDARD 11)
#set(CMAKE_BUILD_TYPE debug)
add_compile_options(-fPIC -g -Wall  -Wshadow -Wno-sign-compare -w)
#add_definitions(-DDEBUG_ERR -DDEBUG_INFO)
#add_definitions(-DDEBUG)
#add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)
 
 
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
./h_interface.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)
 
 
#foreach(s range ${sources})
#message(${s})
#endforeach()
 
 
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 # 不同GPU有不同的算力指数,可查看算力表ls
                ls
 
        )
        set(CUDA_NVCC_FLAGS_RELWITHDEBINFO "--device-debug;-lineinfo")
#find_package(OpenCV REQUIRED) # 查找系统的默认opencv环境
#message(${OpenCV_LIBS})
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(/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")
include_directories("/usr/include")
 
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(/usr/lib/x86_64-linux-gnu/)
 
 
cuda_add_library(${PROJECT_NAME} SHARED ${sources} ${CURRENT_HEADERS})
 
 
target_link_libraries(${PROJECT_NAME}   ${LIBS})