Skip to content

Commit e763289

Browse files
VS2017, CUDA 10 (20XX, V100, Titan V) support
1 parent 13dd4a9 commit e763289

File tree

9 files changed

+37
-56
lines changed

9 files changed

+37
-56
lines changed

3rdparty/windows/getCaffe.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ SET WGET_EXE=wget\wget.exe
77
:: Download temporary zip
88
echo ----- Downloading Caffe -----
99
SET CAFEE_FOLDER=caffe\
10-
SET ZIP_NAME=caffe_2019_03_12.zip
10+
SET ZIP_NAME=caffe_15_2019_03_14.zip
1111
SET ZIP_FULL_PATH=%CAFEE_FOLDER%%ZIP_NAME%
1212
%WGET_EXE% -c http://posefs1.perception.cs.cmu.edu/OpenPose/3rdparty/windows/%ZIP_NAME% -P %CAFEE_FOLDER%
1313
echo:

3rdparty/windows/getCaffe3rdparty.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ SET WGET_EXE=wget\wget.exe
77
:: Download temporary zip
88
echo ----- Downloading Caffe -----
99
SET CAFEE_FOLDER=caffe3rdparty\
10-
SET ZIP_NAME=caffe3rdparty_2019_03_12.zip
10+
SET ZIP_NAME=caffe3rdparty_15_2019_03_14.zip
1111
SET ZIP_FULL_PATH=%CAFEE_FOLDER%%ZIP_NAME%
1212
%WGET_EXE% -c http://posefs1.perception.cs.cmu.edu/OpenPose/3rdparty/windows/%ZIP_NAME% -P %CAFEE_FOLDER%
1313
echo:

3rdparty/windows/getOpenCV.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ SET WGET_EXE=wget\wget.exe
77
:: Download temporary zip
88
echo ----- Downloading OpenCV -----
99
SET OPENCV_FOLDER=opencv\
10-
SET ZIP_NAME=opencv_401_2019_03_12.zip
10+
SET ZIP_NAME=opencv_401_v14_15_2019_03_14.zip
1111
SET ZIP_FULL_PATH=%OPENCV_FOLDER%%ZIP_NAME%
1212
%WGET_EXE% -c http://posefs1.perception.cs.cmu.edu/OpenPose/3rdparty/windows/%ZIP_NAME% -P %OPENCV_FOLDER%
1313
echo:

3rdparty/windows/getSpinnaker.bat

Lines changed: 0 additions & 22 deletions
This file was deleted.

CMakeLists.txt

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -501,26 +501,29 @@ if (WIN32)
501501
set(OP_WIN_DIR "${CMAKE_SOURCE_DIR}/3rdparty/windows")
502502

503503
# Download required zip files
504-
download_zip("opencv_401_2019_03_12.zip" ${OP_WIN_URL} ${FIND_LIB_PREFIX} 4da2ec29a18c120efe17aa2ef18c9637)
505-
download_zip("caffe3rdparty_2019_03_12.zip" ${OP_WIN_URL} ${FIND_LIB_PREFIX} 34c49be6a2418fd1670b46fc455eebc0)
504+
download_zip("opencv_401_v14_15_2019_03_14.zip" ${OP_WIN_URL} ${FIND_LIB_PREFIX} df8f611c032cfa86c56a8ad419f01832)
505+
# download_zip("caffe3rdparty_2019_03_12.zip" ${OP_WIN_URL} ${FIND_LIB_PREFIX} 34c49be6a2418fd1670b46fc455eebc0)
506+
download_zip("caffe3rdparty_15_2019_03_14.zip" ${OP_WIN_URL} ${FIND_LIB_PREFIX} 9fcc6bdf4765db699d1a279c8d6b830b)
506507
if (${GPU_MODE} MATCHES "OPENCL")
507508
download_zip("caffe_opencl_2018_02_13.zip" ${OP_WIN_URL} ${FIND_LIB_PREFIX} 3ac3e1acf5ee6a4e57920be73053067a)
508509
elseif (${GPU_MODE} MATCHES "CPU_ONLY")
509510
download_zip("caffe_cpu_2018_05_27.zip" ${OP_WIN_URL} ${FIND_LIB_PREFIX} 87E8401B6DFBAC5B8E909DD20E3B3390)
510511
else (${GPU_MODE} MATCHES "OPENCL")
511-
download_zip("caffe_2019_03_12.zip" ${OP_WIN_URL} ${FIND_LIB_PREFIX} 859a592310f0928fd4f40da1456a217f)
512+
# download_zip("caffe_2019_03_12.zip" ${OP_WIN_URL} ${FIND_LIB_PREFIX} 859a592310f0928fd4f40da1456a217f)
513+
download_zip("caffe_15_2019_03_14.zip" ${OP_WIN_URL} ${FIND_LIB_PREFIX} f2d8beee9e4959fa419dcb54d507107c)
512514
endif (${GPU_MODE} MATCHES "OPENCL")
513515
if (WITH_3D_RENDERER)
514516
download_zip("freeglut_2018_01_14.zip" ${OP_WIN_URL} ${FIND_LIB_PREFIX} BB182187285E06880F0EDE3A39530091)
515517
endif (WITH_3D_RENDERER)
516518
message(STATUS "Windows dependencies downloaded.")
517519

518-
find_library(OpenCV_LIBS opencv_world401 HINTS ${FIND_LIB_PREFIX}/opencv/x64/vc14/lib)
520+
# set(VS_VERSION "14")
521+
set(VS_VERSION "15") # Note: VS2017 code seems to simply works in VS2015
522+
find_library(OpenCV_LIBS opencv_world401 HINTS ${FIND_LIB_PREFIX}/opencv/x64/vc${VS_VERSION}/lib)
519523
find_library(GFLAGS_LIBRARY_RELEASE gflags HINTS ${FIND_LIB_PREFIX}/caffe3rdparty/lib)
520524
find_library(GFLAGS_LIBRARY_DEBUG gflagsd HINTS ${FIND_LIB_PREFIX}/caffe3rdparty/lib)
521525
find_library(GLOG_LIBRARY_RELEASE glog HINTS ${FIND_LIB_PREFIX}/caffe3rdparty/lib)
522526
find_library(GLOG_LIBRARY_DEBUG glogd HINTS ${FIND_LIB_PREFIX}/caffe3rdparty/lib)
523-
find_library(OpenCV_LIBS opencv_world401 HINTS ${FIND_LIB_PREFIX}/opencv/x64/vc14/lib)
524527

525528
# If OpenPose builds it
526529
if (BUILD_CAFFE)
@@ -549,10 +552,10 @@ if (WIN32)
549552
endif (${GPU_MODE} MATCHES "OPENCL")
550553
# Boost DepCopy over required DLL F
551554
if (${GPU_MODE} MATCHES "CPU_ONLY" OR ${GPU_MODE} MATCHES "OPENCL" OR BUILD_PYTHON)
552-
find_library(BOOST_SYSTEM_LIB_RELEASE libboost_system-vc140-mt-1_61 HINTS ${FIND_LIB_PREFIX}/caffe3rdparty/lib)
553-
find_library(BOOST_SYSTEM_LIB_DEBUG libboost_system-vc140-mt-gd-1_61 HINTS ${FIND_LIB_PREFIX}/caffe3rdparty/lib)
554-
find_library(BOOST_FILESYSTEM_LIB_RELEASE libboost_filesystem-vc140-mt-1_61 HINTS ${FIND_LIB_PREFIX}/caffe3rdparty/lib)
555-
find_library(BOOST_FILESYSTEM_LIB_DEBUG libboost_filesystem-vc140-mt-gd-1_61 HINTS ${FIND_LIB_PREFIX}/caffe3rdparty/lib)
555+
find_library(BOOST_SYSTEM_LIB_RELEASE libboost_system-vc141-mt-x64-1_69 HINTS ${FIND_LIB_PREFIX}/caffe3rdparty/lib)
556+
find_library(BOOST_SYSTEM_LIB_DEBUG libboost_system-vc141-mt-gd-x64-1_69 HINTS ${FIND_LIB_PREFIX}/caffe3rdparty/lib)
557+
find_library(BOOST_FILESYSTEM_LIB_RELEASE libboost_filesystem-vc141-mt-x64-1_69 HINTS ${FIND_LIB_PREFIX}/caffe3rdparty/lib)
558+
find_library(BOOST_FILESYSTEM_LIB_DEBUG libboost_filesystem-vc141-mt-gd-x64-1_69 HINTS ${FIND_LIB_PREFIX}/caffe3rdparty/lib)
556559
else ()
557560
set(BOOST_SYSTEM_LIB_RELEASE "")
558561
set(BOOST_SYSTEM_LIB_DEBUG "")
@@ -582,7 +585,7 @@ if (WIN32)
582585
set(Caffe_INCLUDE_DIRS "3rdparty/windows/caffe/include;3rdparty/windows/caffe/include2" CACHE FILEPATH "Caffe_INCLUDE_DIRS")
583586
endif (${GPU_MODE} MATCHES "CPU_ONLY")
584587
endif (${GPU_MODE} MATCHES "OPENCL")
585-
set(Boost_INCLUDE_DIRS "3rdparty/windows/caffe3rdparty/include/boost-1_61")
588+
# set(Boost_INCLUDE_DIRS "3rdparty/windows/caffe3rdparty/include/boost-1_61") # Added in WINDOWS_INCLUDE_DIRS
586589
set(WINDOWS_INCLUDE_DIRS "3rdparty/windows/caffe3rdparty/include")
587590
if (WITH_3D_RENDERER)
588591
set(GLUT_INCLUDE_DIRS "3rdparty/windows/freeglut/include")
@@ -613,7 +616,7 @@ if (WIN32)
613616
# Caffe 3rd-party DLLs
614617
file(GLOB CAFFE_3RD_PARTY_DLL "${CMAKE_SOURCE_DIR}/3rdparty/windows/caffe3rdparty/lib/*.dll")
615618
# OpenCV DLLs
616-
file(GLOB OPENCV_DLL "${CMAKE_SOURCE_DIR}/3rdparty/windows/opencv/x64/vc14/bin/*.dll")
619+
file(GLOB OPENCV_DLL "${CMAKE_SOURCE_DIR}/3rdparty/windows/opencv/x64/vc${VS_VERSION}/bin/*.dll")
617620
# GLUT DLLs
618621
file(GLOB GLUT_DLL "${CMAKE_SOURCE_DIR}/3rdparty/windows/freeglut/bin/*.dll")
619622
# Spinnaker DLLs and other files
@@ -845,7 +848,7 @@ endif (WITH_3D_ADAM_MODEL)
845848
# Windows includes
846849
if (WIN32)
847850
include_directories(
848-
${Boost_INCLUDE_DIRS}
851+
# ${Boost_INCLUDE_DIRS}
849852
${WINDOWS_INCLUDE_DIRS})
850853
endif (WIN32)
851854

doc/installation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ This installation section is only intended if you plan to modify the OpenPose co
3636

3737
## Operating Systems
3838
- **Ubuntu** 14, 16, 18.
39-
- **Windows** 7, 8, 10. Note: Only CUDA 8 and graphic cards up to 10XX series. **20XX series and V100 graphic cards are not compatible yet** (check GitHub issue #996 for updates).
39+
- **Windows** 7, 8, 10.
4040
- **Mac OSX** Mavericks and above.
4141
- **Nvidia Jetson TX2** (for JetPack 3.1 or 3.3), installation instructions in [doc/installation_jetson_tx2_jetpack3.1.md](./installation_jetson_tx2_jetpack3.1.md) and [doc/installation_jetson_tx2_jetpack3.3.md](./installation_jetson_tx2_jetpack3.3.md) respectively.
4242
- OpenPose has also been used on **Windows 7**, **CentOS**, and **Nvidia Jetson (TK1 and TX1)** embedded systems. However, we do not officially support them at the moment.

doc/installation_deprecated.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -139,9 +139,9 @@ Note: This installer will not incorporate any new features, we recommend to use
139139
- [Face model](http://posefs1.perception.cs.cmu.edu/OpenPose/models/face/pose_iter_116000.caffemodel): download in `models/face/`.
140140
- [Hands model](http://posefs1.perception.cs.cmu.edu/OpenPose/models/hand/pose_iter_102000.caffemodel): download in `models/hand/`.
141141
- Dependencies:
142-
- [Caffe](http://posefs1.perception.cs.cmu.edu/OpenPose/3rdparty/windows/caffe_2018_01_18.zip): Unzip as `3rdparty/windows/caffe/`.
143-
- [Caffe dependencies](http://posefs1.perception.cs.cmu.edu/OpenPose/3rdparty/windows/caffe3rdparty_2017_07_14.zip): Unzip as `3rdparty/windows/caffe3rdparty/`.
144-
- [OpenCV 3.1](http://posefs1.perception.cs.cmu.edu/OpenPose/3rdparty/windows/opencv_310.zip): Unzip as `3rdparty/windows/opencv/`.
142+
- [Caffe](http://posefs1.perception.cs.cmu.edu/OpenPose/3rdparty/windows/caffe_15_2019_03_14.zip): Unzip as `3rdparty/windows/caffe/`.
143+
- [Caffe dependencies](http://posefs1.perception.cs.cmu.edu/OpenPose/3rdparty/windows/caffe3rdparty_15_2019_03_14.zip): Unzip as `3rdparty/windows/caffe3rdparty/`.
144+
- [OpenCV 4.0.1](http://posefs1.perception.cs.cmu.edu/OpenPose/3rdparty/windows/opencv_401_v14_15_2019_03_14.zip): Unzip as `3rdparty/windows/opencv/`.
145145
2. Open the Visual Studio project sln file by double-cliking on `{openpose_path}\windows\OpenPose.sln`.
146146
3. In order to verify OpenPose is working, try compiling and executing the demo:
147147
1. Right click on `OpenPoseDemo` --> `Set as StartUp Project`.

doc/prerequisites.md

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ In addition, CMake automatically downloads all the OpenPose models. However, **s
4444
3. **cuDNN**:
4545
- Ubuntu 14 or 16 ([**cuDNN 5.1**](https://developer.nvidia.com/rdp/cudnn-archive) **or 7.2**): Run `sudo ./scripts/ubuntu/install_cudnn.sh` (if Ubuntu 16 or 14 and for Graphic cards up to 10XX) or alternatively download and install it from their website.
4646
- Ubuntu 18 ([**cuDNN 7.2**](https://developer.nvidia.com/cudnn)): Download and install it from the [Nvidia website](https://developer.nvidia.com/cudnn).
47+
- In order to manually install it (any version), just unzip it and copy (merge) the contents on the CUDA folder, usually `/usr/local/cuda/` in Ubuntu and `C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0` in Windows.
4748
5. AMD GPU version prerequisites:
4849
1. Ubuntu 14 or 16:
4950
1. Download 3rd party ROCM driver for Ubuntu from [**AMD - OpenCL**](https://rocm.github.io/ROCmInstall.html).
@@ -76,33 +77,30 @@ In addition, CMake automatically downloads all the OpenPose models. However, **s
7677
NOTE: These instructions are only required when compiling OpenPose brom source. If you simply wanna use the OpenPose binaries for Windows, skip this step.
7778

7879
1. Install **CMake GUI**: Download and install the `Latest Release` of CMake `Windows win64-x64 Installer` from the [CMake download website](https://cmake.org/download/), called `cmake-X.X.X-win64-x64.msi`.
79-
2. Install **Microsoft Visual Studio (VS) 2015 Enterprise Update 3**:
80+
2. Install **Microsoft Visual Studio (VS) 2017 Enterprise** or **VS 2015 Enterprise Update 3**:
8081
- **IMPORTANT**: Enable all C++-related flags when selecting the components to install.
8182
- Different VS versions:
82-
- If **Visual Studio 2017 Community** is desired, we do not officially support it, but it might be compiled by firstly [enabling CUDA 8.0 in VS2017](https://stackoverflow.com/questions/43745099/using-cuda-with-visual-studio-2017?answertab=active#tab-top) or use **VS2017 with CUDA 9** by checking the `.vcxproj` file and changing the necessary paths from CUDA 8 to 9.
83-
- VS 2015 Enterprise Update 1 will give some compiler errors.
84-
- VS 2015 Community has not been tested.
83+
- If **Visual Studio 2017 Community** is desired, we do not officially support it, but it should run similarly to VS 2017 Enterprise.
84+
- VS 2015 Community and Enterprise Update 1 might give some compiler errors. They have not been tested and they are totally not supported (use VS 2017 Community instead).
8585
3. Nvidia GPU version prerequisites:
86-
1. **Note: OpenPose has been tested extensively with CUDA 8.0 and cuDNN 5.1**. We highly recommend using those versions to minimize potential installation issues. Other versions should also work, but we do not provide support about any CUDA/cuDNN installation/compilation issue, as well as problems related to their integration into OpenPose.
87-
2. [**CUDA 8**](https://developer.nvidia.com/cuda-80-ga2-download-archive):
88-
- Ubuntu: Run `sudo ./scripts/ubuntu/install_cuda.sh` (if Ubuntu 16 or 14 and for Graphic cards up to 10XX) or alternatively download and install it from their website.
89-
- Windows: Install CUDA 8.0 after Visual Studio 2015 is installed to assure that the CUDA installation will generate all necessary files for VS. If CUDA was already installed, re-install it.
86+
1. **Note: OpenPose has been tested extensively with CUDA 10.0 / cuDNN 7.5 for VS2017 and CUDA 8.0 / cuDNN 5.1 for VS 2015**. We highly recommend using those versions to minimize potential installation issues. Other versions should also work, but we do not provide support about any CUDA/cuDNN installation/compilation issue, as well as problems related to their integration into OpenPose.
87+
2. [**CUDA 10**](https://developer.nvidia.com/cuda-downloads) or [**CUDA 8**](https://developer.nvidia.com/cuda-80-ga2-download-archive):
88+
- Install CUDA 8.0/10.0 after Visual Studio 2015/2017 is installed to assure that the CUDA installation will generate all necessary files for VS. If CUDA was already installed, re-install it.
9089
- **Important installation tips**:
9190
- (Windows issue, reported Sep 2018): If your computer hangs when installing CUDA drivers, try installing first the [Nvidia drivers](http://www.nvidia.com/Download/index.aspx), and then installing CUDA without the Graphics Driver flag.
9291
- If CMake returns and error message similar to `CUDA_TOOLKIT_ROOT_DIR not found or specified` or any other CUDA component missing, then: 1) Re-install Visual Studio 2015; 2) Reboot your PC; 3) Re-install CUDA (in this order!).
93-
3. [**cuDNN 5.1**](https://developer.nvidia.com/rdp/cudnn-archive):
94-
- Ubuntu: Run `sudo ./scripts/ubuntu/install_cudnn.sh` (if Ubuntu 16 or 14 and for Graphic cards up to 10XX) or alternatively download and install it from their website.
95-
- Windows (and Ubuntu if manual installation): In order to manually install it, just unzip it and copy (merge) the contents on the CUDA folder, usually `/usr/local/cuda/` in Ubuntu and `C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0` in Windows.
92+
3. [**cuDNN 7.5**](https://developer.nvidia.com/cudnn) or [**cuDNN 5.1**](https://developer.nvidia.com/rdp/cudnn-archive):
93+
- In order to manually install it, just unzip it and copy (merge) the contents on the CUDA folder, usually `C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0` in Windows and `/usr/local/cuda/` in Ubuntu.
9694
4. AMD GPU version prerequisites:
9795
1. Download official AMD drivers for Windows from [**AMD - Windows**](https://support.amd.com/en-us/download).
9896
2. The libviennacl package comes packaged inside OpenPose for Windows (i.e., no further action required).
9997
5. **Caffe, OpenCV, and Caffe prerequisites**:
10098
- CMake automatically downloads all the Windows DLLs. Alternatively, you might prefer to download them manually:
10199
- Dependencies:
102100
- Note: Leave the zip files in `3rdparty/windows/` so that CMake does not try to download them again.
103-
- [Caffe](http://posefs1.perception.cs.cmu.edu/OpenPose/3rdparty/windows/caffe_2018_01_18.zip): Unzip as `3rdparty/windows/caffe/`.
104-
- [Caffe dependencies](http://posefs1.perception.cs.cmu.edu/OpenPose/3rdparty/windows/caffe3rdparty_2017_07_14.zip): Unzip as `3rdparty/windows/caffe3rdparty/`.
105-
- [OpenCV 3.1](http://posefs1.perception.cs.cmu.edu/OpenPose/3rdparty/windows/opencv_310.zip): Unzip as `3rdparty/windows/opencv/`.
101+
- [Caffe](http://posefs1.perception.cs.cmu.edu/OpenPose/3rdparty/windows/caffe_15_2019_03_14.zip): Unzip as `3rdparty/windows/caffe/`.
102+
- [Caffe dependencies](http://posefs1.perception.cs.cmu.edu/OpenPose/3rdparty/windows/caffe3rdparty_15_2019_03_14.zip): Unzip as `3rdparty/windows/caffe3rdparty/`.
103+
- [OpenCV 4.0.1](http://posefs1.perception.cs.cmu.edu/OpenPose/3rdparty/windows/opencv_401_v14_15_2019_03_14.zip): Unzip as `3rdparty/windows/opencv/`.
106104
6. **Eigen prerequisite** (optional, only required for some specific extra functionality, such as extrinsic camera calibration):
107105
- Enable the `WITH_EIGEN` flag when running CMake, and set it to `BUILD`.
108106
- CMake will automatically download Eigen.

doc/release_notes.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,9 @@ OpenPose Library - Release Notes
324324
32. Added Array `poseNetOutput` to Datum so that user can introduce his custom network output.
325325
33. OpenPose will never provoke a core dumped or crash. Exceptions in threads (`errorWorker()` instead of `error()`) lead to stopping the threads and reporting the error from the main thread, while exceptions in destructors (`errorDestructor()` instead of `error()`) are reported with std::cerr but not thrown as std::exceptions.
326326
34. When reading a directory of images, they will be sorted in natural order (rather than regular sort).
327-
35. Upgraded OpenCV version for Windows from 3.1 to 4.0.1, which provides stable 30 FPS for webcams (vs. 10 FPS that OpenCV 3.1 provides by default on Windows).
327+
35. Windows updates:
328+
1. Upgraded OpenCV version for Windows from 3.1 to 4.0.1, which provides stable 30 FPS for webcams (vs. 10 FPS that OpenCV 3.1 provides by default on Windows).
329+
2. Upgrade VS2015 to VS2017, allowing CUDA 10 and 20XX Nvidia cards.
328330
2. Functions or parameters renamed:
329331
1. By default, python example `tutorial_developer/python_2_pose_from_heatmaps.py` was using 2 scales starting at -1x736, changed to 1 scale at -1x368.
330332
2. WrapperStructPose default parameters changed to match those of the OpenPose demo binary.

0 commit comments

Comments
 (0)