From e7bbfd97ff62f953bb06406659981deec0d96680 Mon Sep 17 00:00:00 2001 From: LongSky Date: Fri, 25 Aug 2017 18:05:43 +0800 Subject: [PATCH 01/35] fix libmesasr download file name incorrect cause install failed --- scripts/mesa_install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/mesa_install.sh b/scripts/mesa_install.sh index a30bbcd..e2b361e 100755 --- a/scripts/mesa_install.sh +++ b/scripts/mesa_install.sh @@ -1,10 +1,10 @@ # Install Mesa SwissRanger driver: cd ~/Downloads -wget -U "Mozilla" http://downloads.mesa-imaging.ch/dlm.php?fname=./customer/driver/libmesasr-dev-1.0.14-748.amd64.deb +wget -U "Mozilla" http://downloads.mesa-imaging.ch/dlm.php?fname=./customer/driver/libmesasr-dev-1.0.14-748.amd64.deb -O libmesasr-dev-1.0.14-748.amd64.deb sudo dpkg -i libmesasr-dev-1.0.14-748.amd64.deb # or for 32 bit - if get dpkg: error processing libmesasr-dev-1.0.14-748.amd64.deb (--install): # package architecture (amd64) does not match system (i386) -#http://downloads.mesa-imaging.ch/dlm.php?fname=./customer/driver/libmesasr-dev-1.0.14-747.i386.deb +#http://downloads.mesa-imaging.ch/dlm.php?fname=./customer/driver/libmesasr-dev-1.0.14-747.i386.deb -O libmesasr-dev-1.0.14-747.i386.deb #sudo dpkg -i libmesasr-dev-1.0.14-747.i386.deb From 413feadbfc47a5c6322772c4782635df9dead5f0 Mon Sep 17 00:00:00 2001 From: LongSky Date: Fri, 25 Aug 2017 18:06:49 +0800 Subject: [PATCH 02/35] different from pcl persion_classifier.hpp if add (xmin+width-1) > 0 must check if width >0 else if width <= 0 cause crash --- .../open_ptrack/detection/impl/person_classifier.hpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/detection/include/open_ptrack/detection/impl/person_classifier.hpp b/detection/include/open_ptrack/detection/impl/person_classifier.hpp index 898c3ab..457ca01 100644 --- a/detection/include/open_ptrack/detection/impl/person_classifier.hpp +++ b/detection/include/open_ptrack/detection/impl/person_classifier.hpp @@ -191,6 +191,9 @@ open_ptrack::detection::PersonClassifier::copyMakeBorder (PointCloudPtr& output_image->points.resize(height*width, black_point); output_image->width = width; output_image->height = height; +// if((width <= 0)||(height <= 0)){ +// return; +// } int x_start_in = std::max(0, xmin); int x_end_in = std::max(x_start_in, std::min(int(input_image->width-1), xmin+width-1)); @@ -233,8 +236,8 @@ open_ptrack::detection::PersonClassifier::evaluate (float height_person, double confidence; //std::cout << "Before copyMakeBorder: " << xmin << " " << ymin << " " << width << " " << height << std::endl; - - if ((height > 0) & ((xmin+width-1) > 0)) +/*different from pcl persion_classifier.hpp if add (xmin+width-1) > 0 must check if width >0 else if width <= 0 cause crash */ + if ((height > 0) &&(width > 0) && ((xmin+width-1) > 0)) { // If near the border, fill with black: PointCloudPtr box(new PointCloud); From f6794b315530fb82f59f680f7cc4d1b3092c2ff5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Mon, 11 Sep 2017 17:47:09 +0800 Subject: [PATCH 03/35] add ubuntu 16.04/ROS kinetic support --- scripts/calibration_toolkit_install.sh | 2 +- scripts/ceres_install.sh | 2 ++ scripts/ceres_install_trusty.sh | 4 ++-- scripts/libfreenect_update.sh | 30 +++++++++++--------------- scripts/openptrack_install.sh | 2 +- scripts/ros_configure.sh | 2 ++ scripts/ros_install.sh | 2 ++ 7 files changed, 23 insertions(+), 21 deletions(-) diff --git a/scripts/calibration_toolkit_install.sh b/scripts/calibration_toolkit_install.sh index fe1e63a..57a4dd6 100755 --- a/scripts/calibration_toolkit_install.sh +++ b/scripts/calibration_toolkit_install.sh @@ -8,4 +8,4 @@ cd ~/workspace/ros/catkin/src git clone https://github.com/iaslab-unipd/calibration_toolkit cd calibration_toolkit git fetch origin --tags -git checkout tags/v0.2 +git checkout tags/v1.0 diff --git a/scripts/ceres_install.sh b/scripts/ceres_install.sh index 51bcf9a..bbefb3c 100755 --- a/scripts/ceres_install.sh +++ b/scripts/ceres_install.sh @@ -7,6 +7,8 @@ if [ $UBUNTU_VERSION = trusty ]; then ./ceres_install_trusty.sh elif [ $UBUNTU_VERSION = raring ]; then ./ceres_install_raring.sh +elif [ $UBUNTU_VERSION = xenial ]; then + ./ceres_install_trusty.sh else echo "" 1>&2 diff --git a/scripts/ceres_install_trusty.sh b/scripts/ceres_install_trusty.sh index fe2a431..3f34a11 100755 --- a/scripts/ceres_install_trusty.sh +++ b/scripts/ceres_install_trusty.sh @@ -6,10 +6,10 @@ sudo apt-get install cmake libgoogle-glog-dev libatlas-base-dev libeigen3-dev li mkdir /tmp/ceres_install cd /tmp/ceres_install -git clone https://ceres-solver.googlesource.com/ceres-solver +git clone https://github.com/ceres-solver/ceres-solver.git cd ceres-solver git fetch --tags -git checkout tags/1.9.0 +git checkout tags/1.13.0 cd .. mkdir ceres-bin cd ceres-bin diff --git a/scripts/libfreenect_update.sh b/scripts/libfreenect_update.sh index c3137b5..ae40b69 100755 --- a/scripts/libfreenect_update.sh +++ b/scripts/libfreenect_update.sh @@ -14,26 +14,22 @@ make UBUNTU_VERSION=(`lsb_release -c -s`) TRUSTY="trusty" RARING="raring" +ROS_DISTRO=hydro -if [ "$UBUNTU_VERSION" = "$TRUSTY" ]; then - sudo mv ~/libfreenect/libfreenect/build/lib/fakenect/* /opt/ros/indigo/lib/fakenect/ - sudo mv ~/libfreenect/libfreenect/build/lib/libfreenect* /opt/ros/indigo/lib/ - sudo mv ~/libfreenect/libfreenect/build/src/libfreenect.pc /opt/ros/indigo/lib/pkgconfig/ - sudo mv ~/libfreenect/libfreenect/include/libfreenect.h /opt/ros/indigo/include/libfreenect/libfreenect.h - sudo mv ~/libfreenect/libfreenect/include/libfreenect_registration.h /opt/ros/indigo/include/libfreenect/libfreenect-registration.h - sudo mv ~/libfreenect/libfreenect/wrappers/cpp/libfreenect.hpp /opt/ros/indigo/include/libfreenect/libfreenect.hpp - sudo mv ~/libfreenect/libfreenect/wrappers/c_sync/libfreenect_sync.h /opt/ros/indigo/include/libfreenect/libfreenect_sync.h +if [ $UBUNTU_VERSION = trusty ] || [ $UBUNTU_VERSION = saucy ] ; then + ROS_DISTRO=indigo +elif [ $UBUNTU_VERSION = xenial ] ; then + ROS_DISTRO=kinetic fi -if [ "$UBUNTU_VERSION" = "$RARING" ]; then - sudo mv ~/libfreenect/libfreenect/build/lib/fakenect/* /opt/ros/hydro/lib/fakenect/ - sudo mv ~/libfreenect/libfreenect/build/lib/libfreenect* /opt/ros/hydro/lib/ - sudo mv ~/libfreenect/libfreenect/build/src/libfreenect.pc /opt/ros/hydro/lib/pkgconfig/ - sudo mv ~/libfreenect/libfreenect/include/libfreenect.h /opt/ros/hydro/include/libfreenect/libfreenect.h - sudo mv ~/libfreenect/libfreenect/include/libfreenect_registration.h /opt/ros/hydro/include/libfreenect/libfreenect-registration.h - sudo mv ~/libfreenect/libfreenect/wrappers/cpp/libfreenect.hpp /opt/ros/hydro/include/libfreenect/libfreenect.hpp - sudo mv ~/libfreenect/libfreenect/wrappers/c_sync/libfreenect_sync.h /opt/ros/hydro/include/libfreenect/libfreenect_sync.h -fi +sudo mv ~/libfreenect/libfreenect/build/lib/fakenect/* /opt/ros/$ROS_DISTRO/lib/fakenect/ +sudo mv ~/libfreenect/libfreenect/build/lib/libfreenect* /opt/ros/$ROS_DISTRO/lib/ +sudo mv ~/libfreenect/libfreenect/build/src/libfreenect.pc /opt/ros/$ROS_DISTRO/lib/pkgconfig/ +sudo mv ~/libfreenect/libfreenect/include/libfreenect.h /opt/ros/$ROS_DISTRO/include/libfreenect/libfreenect.h +sudo mv ~/libfreenect/libfreenect/include/libfreenect_registration.h /opt/ros/$ROS_DISTRO/include/libfreenect/libfreenect-registration.h +sudo mv ~/libfreenect/libfreenect/wrappers/cpp/libfreenect.hpp /opt/ros/$ROS_DISTRO/include/libfreenect/libfreenect.hpp +sudo mv ~/libfreenect/libfreenect/wrappers/c_sync/libfreenect_sync.h /opt/ros/$ROS_DISTRO/include/libfreenect/libfreenect_sync.h + cd ~/workspace/ros/catkin/src git clone https://github.com/ros-drivers/freenect_stack.git diff --git a/scripts/openptrack_install.sh b/scripts/openptrack_install.sh index 0acae5d..0c782ba 100755 --- a/scripts/openptrack_install.sh +++ b/scripts/openptrack_install.sh @@ -2,7 +2,7 @@ # Clone OpenPTrack into ROS workspace: cd ~/workspace/ros/catkin/src -git clone https://github.com/OpenPTrack/open_ptrack.git +git clone https://github.com/wangqiang1588/open_ptrack_org.git open_ptrack cd ~/workspace/ros/catkin/src/open_ptrack/scripts chmod +x *.sh diff --git a/scripts/ros_configure.sh b/scripts/ros_configure.sh index 3c5ed42..70bdd72 100755 --- a/scripts/ros_configure.sh +++ b/scripts/ros_configure.sh @@ -3,6 +3,8 @@ UBUNTU_VERSION=`lsb_release -c -s` if [ $UBUNTU_VERSION = trusty ] || [ $UBUNTU_VERSION = saucy ] ; then . /opt/ros/indigo/setup.bash +elif [ $UBUNTU_VERSION = xenial ] ; then + . /opt/ros/kinetic/setup.bash else . /opt/ros/hydro/setup.bash fi diff --git a/scripts/ros_install.sh b/scripts/ros_install.sh index 1a282d0..71b9e38 100755 --- a/scripts/ros_install.sh +++ b/scripts/ros_install.sh @@ -4,6 +4,8 @@ ROS_DISTRO=hydro if [ $UBUNTU_VERSION = trusty ] || [ $UBUNTU_VERSION = saucy ] ; then ROS_DISTRO=indigo +elif [ $UBUNTU_VERSION = xenial ] ; then + ROS_DISTRO=kinetic fi ROS_PACKAGES="python-rosinstall ros-$ROS_DISTRO-robot-state-publisher ros-$ROS_DISTRO-cmake-modules ros-$ROS_DISTRO-freenect-stack ros-$ROS_DISTRO-openni-launch ros-$ROS_DISTRO-camera-info-manager-py" From 821f1c7478da2d0f9b35c7df214d50e30ade1443 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Mon, 11 Sep 2017 19:33:52 +0800 Subject: [PATCH 04/35] Fix driver complier error --- swissranger_camera/CMakeLists.txt | 11 +++++++++-- swissranger_camera/package.xml | 10 +++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/swissranger_camera/CMakeLists.txt b/swissranger_camera/CMakeLists.txt index b9cb68a..1d63f30 100644 --- a/swissranger_camera/CMakeLists.txt +++ b/swissranger_camera/CMakeLists.txt @@ -6,8 +6,14 @@ IF(EXISTS "/usr/lib/libmesasr.so") ELSE() set(SWISSRANGER_ENABLED 0) ENDIF() + +# there is no ros-kinetic-driver-base +# http://wiki.ros.org/driver_base +#sudo apt-get install ros-jade-driver-base +#driver-base is deprecated but swissranger camera driver need this lib LIST(APPEND CMAKE_CXXFLAGS "-DSWISSRANGER_ENABLED") -find_package(catkin REQUIRED COMPONENTS cmake_modules roscpp tf camera_info_manager image_transport dynamic_reconfigure driver_base sensor_msgs cv_bridge) +#find_package(catkin REQUIRED COMPONENTS cmake_modules roscpp tf camera_info_manager image_transport dynamic_reconfigure driver_base sensor_msgs cv_bridge) +find_package(catkin REQUIRED COMPONENTS cmake_modules roscpp tf camera_info_manager image_transport dynamic_reconfigure message_generation std_msgs sensor_msgs cv_bridge) find_package(OpenCV REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) @@ -36,7 +42,8 @@ include_directories(include ${catkin_INCLUDE_DIRS} cfg/cpp) catkin_package( INCLUDE_DIRS include LIBRARIES swissranger_utility - CATKIN_DEPENDS roscpp tf camera_info_manager image_transport dynamic_reconfigure driver_base +# CATKIN_DEPENDS roscpp tf camera_info_manager image_transport dynamic_reconfigure driver_base + CATKIN_DEPENDS roscpp tf camera_info_manager image_transport dynamic_reconfigure message_runtime std_msgs ) add_library(swissranger_utility src/swissranger_camera/utility.cpp include/swissranger_camera/utility.h) diff --git a/swissranger_camera/package.xml b/swissranger_camera/package.xml index acb974e..9df673f 100644 --- a/swissranger_camera/package.xml +++ b/swissranger_camera/package.xml @@ -35,7 +35,14 @@ tf camera_info_manager dynamic_reconfigure + + std_msgs image_common libmesasr pcl_ros @@ -58,7 +65,8 @@ sensor_msgs opencv2 cv_bridge - + message_runtime + std_msgs From dffa7195b2658185af3098dc2686146c468dc57e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Tue, 12 Sep 2017 11:46:20 +0800 Subject: [PATCH 05/35] Fix ROS kinetic 'fatal error: ros/ros.h: No such file or directory' --- opt_msgs/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opt_msgs/CMakeLists.txt b/opt_msgs/CMakeLists.txt index f259354..4186109 100644 --- a/opt_msgs/CMakeLists.txt +++ b/opt_msgs/CMakeLists.txt @@ -15,7 +15,7 @@ catkin_package( CATKIN_DEPENDS roscpp std_msgs sensor_msgs message_runtime ) -include_directories(include include/open_ptrack/${PROJECT_NAME}/) +include_directories(include ${catkin_INCLUDE_DIRS} include/open_ptrack/${PROJECT_NAME}/) add_library(roi_msgs src/overlap.cpp ) From 370817ab861021a0057e2102a25b181fc01c09c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Tue, 12 Sep 2017 16:08:42 +0800 Subject: [PATCH 06/35] Fix swissranger_camera complie error --- scripts/openptrack_install.sh | 9 +++++++++ swissranger_camera/CMakeLists.txt | 11 ++--------- swissranger_camera/package.xml | 8 -------- 3 files changed, 11 insertions(+), 17 deletions(-) diff --git a/scripts/openptrack_install.sh b/scripts/openptrack_install.sh index 0c782ba..53474d3 100755 --- a/scripts/openptrack_install.sh +++ b/scripts/openptrack_install.sh @@ -15,6 +15,15 @@ chmod +x *.sh # Install SwissRanger driver: ./mesa_install.sh +UBUNTU_VERSION=`lsb_release -c -s` + +if [ $UBUNTU_VERSION = xenial ] ; then + ROS_DISTRO=kinetic + cd ~/workspace/ros/catkin/src + git clone https://github.com/ros-drivers/driver_common.git + ln -s /opt/ros/$ROS_DISTRO/share/catkin/cmake/toplevel.cmake driver_common/CMakeLists.txt +fi + # Building everything cd ~/workspace/ros/catkin catkin_make --pkg calibration_msgs diff --git a/swissranger_camera/CMakeLists.txt b/swissranger_camera/CMakeLists.txt index 1d63f30..8e3d2f9 100644 --- a/swissranger_camera/CMakeLists.txt +++ b/swissranger_camera/CMakeLists.txt @@ -7,13 +7,8 @@ ELSE() set(SWISSRANGER_ENABLED 0) ENDIF() -# there is no ros-kinetic-driver-base -# http://wiki.ros.org/driver_base -#sudo apt-get install ros-jade-driver-base -#driver-base is deprecated but swissranger camera driver need this lib LIST(APPEND CMAKE_CXXFLAGS "-DSWISSRANGER_ENABLED") -#find_package(catkin REQUIRED COMPONENTS cmake_modules roscpp tf camera_info_manager image_transport dynamic_reconfigure driver_base sensor_msgs cv_bridge) -find_package(catkin REQUIRED COMPONENTS cmake_modules roscpp tf camera_info_manager image_transport dynamic_reconfigure message_generation std_msgs sensor_msgs cv_bridge) +find_package(catkin REQUIRED COMPONENTS cmake_modules roscpp tf camera_info_manager image_transport dynamic_reconfigure driver_base sensor_msgs cv_bridge) find_package(OpenCV REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) @@ -42,9 +37,7 @@ include_directories(include ${catkin_INCLUDE_DIRS} cfg/cpp) catkin_package( INCLUDE_DIRS include LIBRARIES swissranger_utility -# CATKIN_DEPENDS roscpp tf camera_info_manager image_transport dynamic_reconfigure driver_base - CATKIN_DEPENDS roscpp tf camera_info_manager image_transport dynamic_reconfigure message_runtime std_msgs -) + CATKIN_DEPENDS roscpp tf camera_info_manager image_transport dynamic_reconfigure driver_base) add_library(swissranger_utility src/swissranger_camera/utility.cpp include/swissranger_camera/utility.h) target_link_libraries(swissranger_utility ${catkin_LIBRARIES}) diff --git a/swissranger_camera/package.xml b/swissranger_camera/package.xml index 9df673f..50f2e86 100644 --- a/swissranger_camera/package.xml +++ b/swissranger_camera/package.xml @@ -35,14 +35,7 @@ tf camera_info_manager dynamic_reconfigure - - std_msgs image_common libmesasr pcl_ros @@ -66,7 +59,6 @@ opencv2 cv_bridge message_runtime - std_msgs From 5245adcfd0dc18c4d9668f8ba59a3502a1e76d04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Tue, 12 Sep 2017 16:19:09 +0800 Subject: [PATCH 07/35] Fix complie error on ROS kinetic --- opt_calibration/CMakeLists.txt | 4 +++- opt_calibration/package.xml | 8 ++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/opt_calibration/CMakeLists.txt b/opt_calibration/CMakeLists.txt index 1899550..7af0d61 100644 --- a/opt_calibration/CMakeLists.txt +++ b/opt_calibration/CMakeLists.txt @@ -5,7 +5,9 @@ set(CMAKE_BUILD_TYPE Release)#RelWithDebInfo) ## Find catkin macros and libraries ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) ## is used, also find other catkin packages -find_package(catkin REQUIRED COMPONENTS cmake_modules roscpp opt_msgs calibration_common kinect camera_info_manager +## kinect is deprecated ,use freenect_stack +## find_package(catkin REQUIRED COMPONENTS cmake_modules roscpp opt_msgs calibration_common kinect camera_info_manager +find_package(catkin REQUIRED COMPONENTS cmake_modules roscpp opt_msgs calibration_common freenect-stack camera_info_manager cv_bridge image_transport tf_conversions swissranger_camera pcl_ros detection) ## System dependencies are found with CMake's conventions diff --git a/opt_calibration/package.xml b/opt_calibration/package.xml index 02c22f9..8cb10d0 100644 --- a/opt_calibration/package.xml +++ b/opt_calibration/package.xml @@ -17,7 +17,9 @@ roscpp opt_msgs calibration_common - kinect + + + freenect_stack geometry_msgs eigen_conversions camera_info_manager @@ -31,7 +33,9 @@ rospy opt_msgs calibration_common - kinect + + + freenect_stack geometry_msgs eigen_conversions camera_info_manager From 439f4e2f7a2d2996b71983328f864e6d7a24bcf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Tue, 12 Sep 2017 16:34:45 +0800 Subject: [PATCH 08/35] Fix opt_calibration complie error --- opt_calibration/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opt_calibration/CMakeLists.txt b/opt_calibration/CMakeLists.txt index 7af0d61..84020f0 100644 --- a/opt_calibration/CMakeLists.txt +++ b/opt_calibration/CMakeLists.txt @@ -7,7 +7,7 @@ set(CMAKE_BUILD_TYPE Release)#RelWithDebInfo) ## is used, also find other catkin packages ## kinect is deprecated ,use freenect_stack ## find_package(catkin REQUIRED COMPONENTS cmake_modules roscpp opt_msgs calibration_common kinect camera_info_manager -find_package(catkin REQUIRED COMPONENTS cmake_modules roscpp opt_msgs calibration_common freenect-stack camera_info_manager +find_package(catkin REQUIRED COMPONENTS cmake_modules roscpp opt_msgs calibration_common camera_info_manager cv_bridge image_transport tf_conversions swissranger_camera pcl_ros detection) ## System dependencies are found with CMake's conventions @@ -34,7 +34,7 @@ endif() catkin_package( INCLUDE_DIRS include # LIBRARIES - CATKIN_DEPENDS roscpp opt_msgs calibration_common camera_info_manager cv_bridge image_transport swissranger_camera + CATKIN_DEPENDS roscpp opt_msgs calibration_common camera_info_manager cv_bridge image_transport swissranger_camera freenect_stack DEPENDS eigen pcl opencv2 ) From fa1ca3c2a4cacef98cac4f3edf6f3ff24126611b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Tue, 12 Sep 2017 16:38:50 +0800 Subject: [PATCH 09/35] Fix complie error --- bayes/CMakeLists.txt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bayes/CMakeLists.txt b/bayes/CMakeLists.txt index 2afec8d..dafcdd3 100644 --- a/bayes/CMakeLists.txt +++ b/bayes/CMakeLists.txt @@ -1,9 +1,13 @@ cmake_minimum_required(VERSION 2.8.3) project(bayes) set(CMAKE_BUILD_TYPE RelWithDebInfo) -find_package(catkin REQUIRED COMPONENTS roscpp ) +find_package(catkin REQUIRED COMPONENTS roscpp lapacklib) -link_libraries(/usr/lib/liblapack.so.3gf) +if (EXISTS "/usr/lib/liblapack.so.3gf") + link_libraries(/usr/lib/liblapack.so.3gf) +elseif(EXISTS "/usr/lib/liblapack.so") + link_libraries(/usr/lib/liblapack.so) +endif() include_directories(include include/open_ptrack/bayes include/open_ptrack/bayes/filters) From c917ce40e742db6bbc5f38845f0791bd368a480d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Tue, 12 Sep 2017 16:46:07 +0800 Subject: [PATCH 10/35] Fix complie error --- bayes/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bayes/CMakeLists.txt b/bayes/CMakeLists.txt index dafcdd3..61bc6d5 100644 --- a/bayes/CMakeLists.txt +++ b/bayes/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 2.8.3) project(bayes) set(CMAKE_BUILD_TYPE RelWithDebInfo) -find_package(catkin REQUIRED COMPONENTS roscpp lapacklib) +find_package(catkin REQUIRED COMPONENTS roscpp) if (EXISTS "/usr/lib/liblapack.so.3gf") link_libraries(/usr/lib/liblapack.so.3gf) From c8a42a81f6a55e04151f0de820c131fdf84c7639 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Tue, 12 Sep 2017 20:03:29 +0800 Subject: [PATCH 11/35] Fix ubuntu 16.04 complie error --- detection/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/detection/CMakeLists.txt b/detection/CMakeLists.txt index b030e6a..6d8d38c 100644 --- a/detection/CMakeLists.txt +++ b/detection/CMakeLists.txt @@ -7,7 +7,7 @@ find_package(VTK REQUIRED) if(VTK_FOUND) include_directories(${VTK_INCLUDE_DIRS}) link_directories(${VTK_LIBRARY_DIRS}) - add_definitions(${VTK_DEFINITIONS}) +# add_definitions(${VTK_DEFINITIONS}) include (${VTK_USE_FILE}) endif() From 490eaa230845f6081f8bfff1df67ec0b7cfeadb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Tue, 12 Sep 2017 20:24:30 +0800 Subject: [PATCH 12/35] Fix complier error on Ubuntu 16.04 --- detection/include/open_ptrack/detection/haardispada.h | 1 + 1 file changed, 1 insertion(+) diff --git a/detection/include/open_ptrack/detection/haardispada.h b/detection/include/open_ptrack/detection/haardispada.h index ed57a7f..0f763ba 100644 --- a/detection/include/open_ptrack/detection/haardispada.h +++ b/detection/include/open_ptrack/detection/haardispada.h @@ -40,6 +40,7 @@ POSSIBILITY OF SUCH DAMAGE. #include #include #include +#include #include #include #include From 62d7d818b2a64c4a6da4285634bba9551893b053 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Wed, 13 Sep 2017 13:41:58 +0800 Subject: [PATCH 13/35] Fix Opencv3 Opencv2 compatible --- .../open_ptrack/detection/haardispada.h | 9 +++- detection/src/haardispada.cpp | 43 ++++++++++++++++++- 2 files changed, 49 insertions(+), 3 deletions(-) diff --git a/detection/include/open_ptrack/detection/haardispada.h b/detection/include/open_ptrack/detection/haardispada.h index 0f763ba..1a1897a 100644 --- a/detection/include/open_ptrack/detection/haardispada.h +++ b/detection/include/open_ptrack/detection/haardispada.h @@ -40,8 +40,9 @@ POSSIBILITY OF SUCH DAMAGE. #include #include #include -#include +#include #include +#include #include #include #include @@ -66,7 +67,6 @@ namespace open_ptrack /***************************************************************************** ** Class *****************************************************************************/ - class HaarDispAdaClassifier{ public: @@ -102,8 +102,13 @@ namespace open_ptrack void setMinConfidence(float ); private: +#if CV_VERSION_MAJOR >= 3 + cv::Ptr HDAC_; + cv::String classifier_filename_; // for loading and saving +#else CvBoost HDAC_; string classifier_filename_; // for loading and saving +#endif int maxSamples_; int num_filters_; Mat integralImage_; diff --git a/detection/src/haardispada.cpp b/detection/src/haardispada.cpp index 09345bf..87b4b29 100644 --- a/detection/src/haardispada.cpp +++ b/detection/src/haardispada.cpp @@ -80,7 +80,11 @@ namespace open_ptrack int rtn = haar_features_fast(HF); // compute haar features if(rtn== 1){ // Compute classifier score: +#if CV_VERSION_MAJOR >= 3 + result = HDAC_->predict(HF); +#else result = HDAC_.predict(HF); +#endif } else{ ROS_ERROR("WHY O WHY"); @@ -120,7 +124,11 @@ namespace open_ptrack int rtn = haar_features_fast(HF); // compute haar features if(rtn== 1){ // Compute classifier score: +#if CV_VERSION_MAJOR >= 3 + result = HDAC_->predict(HF, cv::Mat(), cv::ml::StatModel::RAW_OUTPUT); +#else result = HDAC_.predict(HF, cv::Mat(), cv::Range::all(), false, true); +#endif } else{ ROS_ERROR("WHY O WHY"); @@ -188,11 +196,18 @@ namespace open_ptrack void HaarDispAdaClassifier::train(string filename) { - CvBoostParams bparams = CvBoostParams(); float priorFloat[] = { 1.0, HaarDispAdaPrior_ }; // preliminary priors based on ROC) +#if CV_VERSION_MAJOR >= 3 + cv::Mat prior(1,sizeof(priorFloat)/sizeof(priorFloat[0]),CV_32F,&priorFloat[0],sizeof(priorFloat)/sizeof(priorFloat[0])); + HDAC_->setPriors(prior); + HDAC_->setUseSurrogates(false); + HDAC_->setWeakCount(100); +#else + CvBoostParams bparams = CvBoostParams(); bparams.priors = &priorFloat[0]; bparams.use_surrogates = false; bparams.weak_count = 100; +#endif // copy sub matrix for training Mat VarIdx; @@ -207,14 +222,22 @@ namespace open_ptrack if(trainingLabels_.at(i,0) == -1) trainingLabels_.at(i,0) = 0;//classes: 0,1 Responses.at(i,0) = trainingLabels_.at(i,0); } +#if CV_VERSION_MAJOR >= 3 + HDAC_->train(Features, cv::ml::ROW_SAMPLE, Responses); +#else Mat vIdx=Mat::ones(Features.cols,1,CV_8UC1); // variables of interest Mat sIdx=Mat::ones(Responses.rows,1,CV_8UC1); // samples of interest Mat vtyp=Mat(Features.cols,1,CV_8UC1,CV_VAR_ORDERED); // could be VAR_CATAGORICAL(discrete) Mat MDM; // no missing mask HDAC_.train(Features, CV_ROW_SAMPLE, Responses,vIdx,sIdx,vtyp,MDM,bparams,false); +#endif ROS_ERROR("saving trained classifier to %s",filename.c_str()); loaded = true; +#if CV_VERSION_MAJOR >= 3 + HDAC_->save(filename); +#else HDAC_.save(filename.c_str()); +#endif // Determine Recall Statistics int num_TP = 0; int num_FP = 0; @@ -223,7 +246,11 @@ namespace open_ptrack int num_TN = 0; int num_FN = 0; for(int i=0;i= 3 + float result = HDAC_->predict(Features.row(i)); +#else float result = HDAC_.predict(Features.row(i)); +#endif if(Responses.at(i,0) == 1) num_people++; if(Responses.at(i,0) != 1) num_neg++; if(result==1 && Responses.at(i,0) == 1) num_TP++; // true pos @@ -262,6 +289,9 @@ namespace open_ptrack void HaarDispAdaClassifier::init() { +#if CV_VERSION_MAJOR >= 3 + HDAC_ = cv::ml::Boost::create(); +#endif num_filters_ = 174; setMaxSamples(350); //use a small number to have a small memory footprint by default @@ -280,7 +310,18 @@ namespace open_ptrack void HaarDispAdaClassifier::load(string filename) { +#if CV_VERSION_MAJOR >= 3 + const cv::String cv_filename(filename); + /*bug fix */ + /*https://stackoverflow.com/questions/43532122/opencv-logistic-regression-load-failed */ + #if CV_VERSION_MINOR > 1 + HDAC_->load(cv_filename); + #else + HDAC_->load(cv_filename); + #endif +#else HDAC_.load(filename.c_str()); +#endif loaded = true; } From e7d371595d13602e8103b8c055ec5d7302dd911f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Wed, 13 Sep 2017 14:12:06 +0800 Subject: [PATCH 14/35] Fix link error --- detection/CMakeLists.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/detection/CMakeLists.txt b/detection/CMakeLists.txt index 6d8d38c..842c47d 100644 --- a/detection/CMakeLists.txt +++ b/detection/CMakeLists.txt @@ -49,11 +49,19 @@ target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES} ${OpenCV_LIBS}) add_executable(ground_based_people_detector apps/ground_based_people_detector_node.cpp) SET_TARGET_PROPERTIES(ground_based_people_detector PROPERTIES LINK_FLAGS -L${PCL_LIBRARY_DIRS}) +if(${VTK_VERSION_MAJOR} GREATER 5) +target_link_libraries(ground_based_people_detector ${PROJECT_NAME} ${catkin_LIBRARIES} ${PCL_LIBRARIES}) +else() target_link_libraries(ground_based_people_detector ${PROJECT_NAME} ${catkin_LIBRARIES} ${PCL_LIBRARIES} vtkHybrid vtkRendering) +endif() add_executable(ground_based_people_detector_sr apps/ground_based_people_detector_node_sr.cpp) SET_TARGET_PROPERTIES(ground_based_people_detector_sr PROPERTIES LINK_FLAGS -L${PCL_LIBRARY_DIRS}) +if(${VTK_VERSION_MAJOR} GREATER 5) +target_link_libraries(ground_based_people_detector_sr ${PROJECT_NAME} ${catkin_LIBRARIES} ${PCL_LIBRARIES}) +else() target_link_libraries(ground_based_people_detector_sr ${PROJECT_NAME} ${catkin_LIBRARIES} ${PCL_LIBRARIES} vtkHybrid vtkRendering) +endif() add_library(haar_disp_ada src/haardispada.cpp apps/haardispada_nodelet.cpp) target_link_libraries(haar_disp_ada ${catkin_LIBRARIES}) From 71025821d5bc1cdeda524ff158f133d5af6115e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Wed, 13 Sep 2017 15:50:47 +0800 Subject: [PATCH 15/35] change calibration_toolkit source version --- scripts/calibration_toolkit_install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/calibration_toolkit_install.sh b/scripts/calibration_toolkit_install.sh index 57a4dd6..d05ba6b 100755 --- a/scripts/calibration_toolkit_install.sh +++ b/scripts/calibration_toolkit_install.sh @@ -8,4 +8,4 @@ cd ~/workspace/ros/catkin/src git clone https://github.com/iaslab-unipd/calibration_toolkit cd calibration_toolkit git fetch origin --tags -git checkout tags/v1.0 +git checkout tags/v0.3.1 From 1ef934ca2830e478beba136c03acc597501efba9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Wed, 13 Sep 2017 17:57:56 +0800 Subject: [PATCH 16/35] Fix Ubuntu 16.04 complie error --- opt_calibration/CMakeLists.txt | 6 ++---- opt_calibration/package.xml | 8 ++------ 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/opt_calibration/CMakeLists.txt b/opt_calibration/CMakeLists.txt index 84020f0..414409f 100644 --- a/opt_calibration/CMakeLists.txt +++ b/opt_calibration/CMakeLists.txt @@ -5,9 +5,7 @@ set(CMAKE_BUILD_TYPE Release)#RelWithDebInfo) ## Find catkin macros and libraries ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) ## is used, also find other catkin packages -## kinect is deprecated ,use freenect_stack -## find_package(catkin REQUIRED COMPONENTS cmake_modules roscpp opt_msgs calibration_common kinect camera_info_manager -find_package(catkin REQUIRED COMPONENTS cmake_modules roscpp opt_msgs calibration_common camera_info_manager +find_package(catkin REQUIRED COMPONENTS cmake_modules roscpp opt_msgs calibration_common kinect camera_info_manager cv_bridge image_transport tf_conversions swissranger_camera pcl_ros detection) ## System dependencies are found with CMake's conventions @@ -34,7 +32,7 @@ endif() catkin_package( INCLUDE_DIRS include # LIBRARIES - CATKIN_DEPENDS roscpp opt_msgs calibration_common camera_info_manager cv_bridge image_transport swissranger_camera freenect_stack + CATKIN_DEPENDS roscpp opt_msgs calibration_common camera_info_manager cv_bridge image_transport swissranger_camera kinect DEPENDS eigen pcl opencv2 ) diff --git a/opt_calibration/package.xml b/opt_calibration/package.xml index 8cb10d0..02c22f9 100644 --- a/opt_calibration/package.xml +++ b/opt_calibration/package.xml @@ -17,9 +17,7 @@ roscpp opt_msgs calibration_common - - - freenect_stack + kinect geometry_msgs eigen_conversions camera_info_manager @@ -33,9 +31,7 @@ rospy opt_msgs calibration_common - - - freenect_stack + kinect geometry_msgs eigen_conversions camera_info_manager From b6793c88545e4dd0912afd05e90c1a2068c714ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Wed, 13 Sep 2017 19:52:54 +0800 Subject: [PATCH 17/35] fix error on ubuntu 16.04 --- scripts/kinect2_install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/kinect2_install.sh b/scripts/kinect2_install.sh index a725ff8..2038804 100755 --- a/scripts/kinect2_install.sh +++ b/scripts/kinect2_install.sh @@ -20,7 +20,7 @@ git checkout iai_kinect2 ##################################################### cd depends/ -sudo apt-get install git cmake cmake-curses-gui libXmu-dev libXi-dev libgl1-mesa-dev dos2unix xorg-dev libglu1-mesa-dev libtool automake libudev-dev libgtk2.0-dev pkg-config libjpeg-turbo8-dev libturbojpeg libglewmx-dev +sudo apt-get install git cmake cmake-curses-gui libgl1-mesa-dev dos2unix xorg-dev libglu1-mesa-dev libtool automake libudev-dev libgtk2.0-dev pkg-config libjpeg-turbo8-dev libturbojpeg libglewmx-dev libxmu-dev libxi-dev ./install_ubuntu.sh if [ ! -f /usr/lib/x86_64-linux-gnu/libturbojpeg.so ] then From 67571a31483611e63fdbf96bafad91200bcc7505 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Wed, 13 Sep 2017 20:50:42 +0800 Subject: [PATCH 18/35] fix libfeecnet complie error --- scripts/kinect2_install.sh | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/scripts/kinect2_install.sh b/scripts/kinect2_install.sh index 2038804..9758253 100755 --- a/scripts/kinect2_install.sh +++ b/scripts/kinect2_install.sh @@ -20,12 +20,24 @@ git checkout iai_kinect2 ##################################################### cd depends/ -sudo apt-get install git cmake cmake-curses-gui libgl1-mesa-dev dos2unix xorg-dev libglu1-mesa-dev libtool automake libudev-dev libgtk2.0-dev pkg-config libjpeg-turbo8-dev libturbojpeg libglewmx-dev libxmu-dev libxi-dev +sudo apt-get install git cmake cmake-curses-gui libgl1-mesa-dev dos2unix xorg-dev libglu1-mesa-dev libtool automake libudev-dev libgtk2.0-dev pkg-config libjpeg-turbo8-dev libturbojpeg libglewmx-dev libxmu-dev libxi-dev ./install_ubuntu.sh if [ ! -f /usr/lib/x86_64-linux-gnu/libturbojpeg.so ] then sudo ln -s /usr/lib/x86_64-linux-gnu/libturbojpeg.so.0.0.0 /usr/lib/x86_64-linux-gnu/libturbojpeg.so fi + +#Ubuntu 16.04 +sudo apt-get install libglewmx-dev +if [ ! -f /usr/lib/gcc/x86_64-linux-gnu/libturbojpeg.so ] +then + sudo ln -s -f /usr/lib/x86_64-linux-gnu/libturbojpeg.so.0 /usr/lib/x86_64-linux-gnu/libturbojpeg.so +fi +if [ ! -f /lib/x86_64-linux-gnu/libudev.so ] +then + sudo ln -s -f /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so +fi + cd ../examples/protonect/ cmake . make From 96c5be8577c0a0ad83e318111f38e69b40803fbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Thu, 14 Sep 2017 11:07:07 +0800 Subject: [PATCH 19/35] Fix GCC 5 bug out of memory --- scripts/openptrack_install.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/scripts/openptrack_install.sh b/scripts/openptrack_install.sh index 53474d3..069125e 100755 --- a/scripts/openptrack_install.sh +++ b/scripts/openptrack_install.sh @@ -24,9 +24,17 @@ if [ $UBUNTU_VERSION = xenial ] ; then ln -s /opt/ros/$ROS_DISTRO/share/catkin/cmake/toplevel.cmake driver_common/CMakeLists.txt fi +GCC_VERSION = `gcc -dumpversion | cut -f1 -d.` + # Building everything cd ~/workspace/ros/catkin catkin_make --pkg calibration_msgs catkin_make --pkg opt_msgs -catkin_make --force-cmake + +#GCC 5 bug out of memory +if [ $GCC_VERSION > 4 ] ; then + catkin_make --force-cmake -j 1 +else + catkin_make --force-cmake +fi From 8f0910c594346e57b63230d75583b3d98c7ca9ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Thu, 14 Sep 2017 17:31:38 +0800 Subject: [PATCH 20/35] Fix command error --- scripts/openptrack_install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/openptrack_install.sh b/scripts/openptrack_install.sh index 069125e..a5c9d66 100755 --- a/scripts/openptrack_install.sh +++ b/scripts/openptrack_install.sh @@ -24,7 +24,7 @@ if [ $UBUNTU_VERSION = xenial ] ; then ln -s /opt/ros/$ROS_DISTRO/share/catkin/cmake/toplevel.cmake driver_common/CMakeLists.txt fi -GCC_VERSION = `gcc -dumpversion | cut -f1 -d.` +GCC_VERSION=`gcc -dumpversion | cut -f1 -d.` # Building everything cd ~/workspace/ros/catkin From 2ac385e1f2a56af6b93057294d814d0d21e41b55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Thu, 14 Sep 2017 20:29:50 +0800 Subject: [PATCH 21/35] Fix bug https://github.com/code-iai/iai_kinect2/issues/29 --- scripts/kinect2_install.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/kinect2_install.sh b/scripts/kinect2_install.sh index 9758253..8871ac1 100755 --- a/scripts/kinect2_install.sh +++ b/scripts/kinect2_install.sh @@ -39,6 +39,8 @@ then fi cd ../examples/protonect/ +#Fix bug https://github.com/code-iai/iai_kinect2/issues/29 +sed -i s/'TARGET_LINK_LIBRARIES(freenect2 ${LIBRARIES})'/'TARGET_LINK_LIBRARIES(freenect2 ${LIBRARIES} udev)'/g CMakeLists.txt cmake . make sudo make install From 3b562c2a42fa157bb3be94bb8a96a3dc2439e4f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Fri, 15 Sep 2017 16:29:44 +0800 Subject: [PATCH 22/35] Fix kinect install shell bug --- scripts/kinect2_install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/kinect2_install.sh b/scripts/kinect2_install.sh index 8871ac1..a12f0ad 100755 --- a/scripts/kinect2_install.sh +++ b/scripts/kinect2_install.sh @@ -54,7 +54,7 @@ sudo rm -r libfreenect2 #install iai-kinect cd $ROS_WORKSPACE cd ../catkin/src/ -git clone https://github.com/OpenPTrack/iai_kinect2.git +git clone https://github.com/wangqiang1588/iai_kinect2.git ##################################################### # Temporary From 131f781ca32484c8e2244f608a5a713406c2b68a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Mon, 18 Sep 2017 13:19:16 +0800 Subject: [PATCH 23/35] opencv 3.2-dev will not show image if do not call waitKey --- opt_utils/apps/roi_viewer.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/opt_utils/apps/roi_viewer.cpp b/opt_utils/apps/roi_viewer.cpp index 4966897..5660cfd 100644 --- a/opt_utils/apps/roi_viewer.cpp +++ b/opt_utils/apps/roi_viewer.cpp @@ -220,6 +220,8 @@ class roiViewerNode // Display the cv image cv::imshow("Detections",cv_ptr->image); + /*opencv 3.2-dev will not show image if do not call waitKey*/ + cv::waitKey(30); } ~roiViewerNode() From 5823780fa7fb131864ae32718cec5f54cc79ea0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Mon, 18 Sep 2017 14:38:16 +0800 Subject: [PATCH 24/35] Fix OpenCV Version Marco use error --- detection/include/open_ptrack/detection/haardispada.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/detection/include/open_ptrack/detection/haardispada.h b/detection/include/open_ptrack/detection/haardispada.h index 1a1897a..885cdb5 100644 --- a/detection/include/open_ptrack/detection/haardispada.h +++ b/detection/include/open_ptrack/detection/haardispada.h @@ -102,7 +102,7 @@ namespace open_ptrack void setMinConfidence(float ); private: -#if CV_VERSION_MAJOR >= 3 +#if CV_MAJOR_VERSION >= 3 cv::Ptr HDAC_; cv::String classifier_filename_; // for loading and saving #else From 6f67f9e1cbfb40f992139909f6de0b2ab90511c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Mon, 18 Sep 2017 14:41:03 +0800 Subject: [PATCH 25/35] Fix OpenCV Version Marco use error --- detection/src/haardispada.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/detection/src/haardispada.cpp b/detection/src/haardispada.cpp index 87b4b29..253e1fc 100644 --- a/detection/src/haardispada.cpp +++ b/detection/src/haardispada.cpp @@ -80,7 +80,7 @@ namespace open_ptrack int rtn = haar_features_fast(HF); // compute haar features if(rtn== 1){ // Compute classifier score: -#if CV_VERSION_MAJOR >= 3 +#if CV_MAJOR_VERSION >= 3 result = HDAC_->predict(HF); #else result = HDAC_.predict(HF); @@ -124,7 +124,7 @@ namespace open_ptrack int rtn = haar_features_fast(HF); // compute haar features if(rtn== 1){ // Compute classifier score: -#if CV_VERSION_MAJOR >= 3 +#if CV_MAJOR_VERSION >= 3 result = HDAC_->predict(HF, cv::Mat(), cv::ml::StatModel::RAW_OUTPUT); #else result = HDAC_.predict(HF, cv::Mat(), cv::Range::all(), false, true); @@ -197,7 +197,7 @@ namespace open_ptrack HaarDispAdaClassifier::train(string filename) { float priorFloat[] = { 1.0, HaarDispAdaPrior_ }; // preliminary priors based on ROC) -#if CV_VERSION_MAJOR >= 3 +#if CV_MAJOR_VERSION >= 3 cv::Mat prior(1,sizeof(priorFloat)/sizeof(priorFloat[0]),CV_32F,&priorFloat[0],sizeof(priorFloat)/sizeof(priorFloat[0])); HDAC_->setPriors(prior); HDAC_->setUseSurrogates(false); @@ -222,7 +222,7 @@ namespace open_ptrack if(trainingLabels_.at(i,0) == -1) trainingLabels_.at(i,0) = 0;//classes: 0,1 Responses.at(i,0) = trainingLabels_.at(i,0); } -#if CV_VERSION_MAJOR >= 3 +#if CV_MAJOR_VERSION >= 3 HDAC_->train(Features, cv::ml::ROW_SAMPLE, Responses); #else Mat vIdx=Mat::ones(Features.cols,1,CV_8UC1); // variables of interest @@ -233,7 +233,7 @@ namespace open_ptrack #endif ROS_ERROR("saving trained classifier to %s",filename.c_str()); loaded = true; -#if CV_VERSION_MAJOR >= 3 +#if CV_MAJOR_VERSION >= 3 HDAC_->save(filename); #else HDAC_.save(filename.c_str()); @@ -246,7 +246,7 @@ namespace open_ptrack int num_TN = 0; int num_FN = 0; for(int i=0;i= 3 +#if CV_MAJOR_VERSION >= 3 float result = HDAC_->predict(Features.row(i)); #else float result = HDAC_.predict(Features.row(i)); @@ -289,7 +289,7 @@ namespace open_ptrack void HaarDispAdaClassifier::init() { -#if CV_VERSION_MAJOR >= 3 +#if CV_MAJOR_VERSION >= 3 HDAC_ = cv::ml::Boost::create(); #endif num_filters_ = 174; @@ -310,7 +310,7 @@ namespace open_ptrack void HaarDispAdaClassifier::load(string filename) { -#if CV_VERSION_MAJOR >= 3 +#if CV_MAJOR_VERSION >= 3 const cv::String cv_filename(filename); /*bug fix */ /*https://stackoverflow.com/questions/43532122/opencv-logistic-regression-load-failed */ From 66780a4ed1557bde2ea2a11cd169ad2aa878a2c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Mon, 18 Sep 2017 15:24:35 +0800 Subject: [PATCH 26/35] Fix ubuntu 14.04 compact --- scripts/calibration_toolkit_install.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/scripts/calibration_toolkit_install.sh b/scripts/calibration_toolkit_install.sh index d05ba6b..f63c4bd 100755 --- a/scripts/calibration_toolkit_install.sh +++ b/scripts/calibration_toolkit_install.sh @@ -8,4 +8,12 @@ cd ~/workspace/ros/catkin/src git clone https://github.com/iaslab-unipd/calibration_toolkit cd calibration_toolkit git fetch origin --tags -git checkout tags/v0.3.1 + +UBUNTU_VERSION=`lsb_release -c -s` +if [ $UBUNTU_VERSION = trusty ] || [ $UBUNTU_VERSION = saucy ] ; then + git checkout tags/v0.2 +elif [ $UBUNTU_VERSION = xenial ] ; then + git checkout tags/v0.3.1 +else + git checkout tags/v0.2 +fi From e678c40624b6d3c80d06bcfad69a8a401dd73511 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Mon, 18 Sep 2017 15:57:21 +0800 Subject: [PATCH 27/35] Fix ubuntu 14.04 compact --- scripts/ceres_install_trusty.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/ceres_install_trusty.sh b/scripts/ceres_install_trusty.sh index 3f34a11..ee62d09 100755 --- a/scripts/ceres_install_trusty.sh +++ b/scripts/ceres_install_trusty.sh @@ -9,7 +9,14 @@ cd /tmp/ceres_install git clone https://github.com/ceres-solver/ceres-solver.git cd ceres-solver git fetch --tags -git checkout tags/1.13.0 + +UBUNTU_VERSION=`lsb_release -c -s` +if [ $UBUNTU_VERSION = trusty ]; then + git checkout tags/1.9.0 +elif [ $UBUNTU_VERSION = xenial ]; then + git checkout tags/1.13.0 +fi + cd .. mkdir ceres-bin cd ceres-bin From be9826b3f8a93b404d6ae1a865a67db0cd9ea0c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Mon, 18 Sep 2017 16:54:11 +0800 Subject: [PATCH 28/35] dec cv::waitKey delay time --- opt_utils/apps/roi_viewer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opt_utils/apps/roi_viewer.cpp b/opt_utils/apps/roi_viewer.cpp index 5660cfd..1405cc1 100644 --- a/opt_utils/apps/roi_viewer.cpp +++ b/opt_utils/apps/roi_viewer.cpp @@ -221,7 +221,7 @@ class roiViewerNode // Display the cv image cv::imshow("Detections",cv_ptr->image); /*opencv 3.2-dev will not show image if do not call waitKey*/ - cv::waitKey(30); + cv::waitKey(1); } ~roiViewerNode() From 457f58fa3d07f60e12d8897fd3ca9dd82a7b4f9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Thu, 21 Sep 2017 14:16:50 +0800 Subject: [PATCH 29/35] for compact after matplotlib 1.5.1 ,we must call matplotlib.pyplot.pause(interval) or else no draw --- opt_calibration/apps/status_plot.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/opt_calibration/apps/status_plot.py b/opt_calibration/apps/status_plot.py index db0f9d0..094eca3 100755 --- a/opt_calibration/apps/status_plot.py +++ b/opt_calibration/apps/status_plot.py @@ -101,6 +101,8 @@ def spinOnce(self) : self.lock.release() plot.draw() + #for compact after matplotlib 1.5.1 ,we must call matplotlib.pyplot.pause(interval) or else no draw + plot.pause(0.00001) ##################### def spin(self) : From 084e7ccb7151d3d642703d4ce8d2aa464b6c86be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Mon, 25 Sep 2017 15:18:49 +0800 Subject: [PATCH 30/35] Fix another modify cause complie failed --- scripts/kinect2_install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/kinect2_install.sh b/scripts/kinect2_install.sh index a12f0ad..bc16e8d 100755 --- a/scripts/kinect2_install.sh +++ b/scripts/kinect2_install.sh @@ -5,11 +5,11 @@ cd $HOME if [ -d "libfreenect2" ]; then read -p "The folder librefreenect2 already exist. Replace it? (y/n)" yn case $yn in - [Yy]* ) sudo rm libfreenect2; git clone https://github.com/OpenPTrack/libfreenect2.git;; + [Yy]* ) sudo rm libfreenect2; git clone https://github.com/wangqiang1588/libfreenect2.git;; [Nn]* ) ;; esac else - git clone https://github.com/OpenPTrack/libfreenect2.git; + git clone https://github.com/wangqiang1588/libfreenect2.git; fi ##################################################### From 521d3804b4fc70d492596ab1e479623cc4d7cd76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Sat, 30 Sep 2017 10:32:32 +0800 Subject: [PATCH 31/35] first install libboost or else it will failed on Nvidia TX2 --- scripts/ros_install.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/ros_install.sh b/scripts/ros_install.sh index 71b9e38..4c7758c 100755 --- a/scripts/ros_install.sh +++ b/scripts/ros_install.sh @@ -1,4 +1,7 @@ #!/bin/bash +#first install libboost or else it will failed on Nvidia TX2 +sudo apt-get -y install libboost-all-dev + UBUNTU_VERSION=`lsb_release -c -s` ROS_DISTRO=hydro From 9f4a456def0da3ef63f52f9ebc398d632ce2207d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Sat, 30 Sep 2017 13:20:05 +0800 Subject: [PATCH 32/35] fix /usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to 'drmCloseOnce' on TX2 --- scripts/openptrack_install.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/openptrack_install.sh b/scripts/openptrack_install.sh index a5c9d66..a8b05f0 100755 --- a/scripts/openptrack_install.sh +++ b/scripts/openptrack_install.sh @@ -1,5 +1,8 @@ #!/bin/bash +#fix /usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmCloseOnce' on TX2 +sudo apt-get install libdrm-dev + # Clone OpenPTrack into ROS workspace: cd ~/workspace/ros/catkin/src git clone https://github.com/wangqiang1588/open_ptrack_org.git open_ptrack From c5437fbb8e6041a984636138a2730b764c311967 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Sat, 30 Sep 2017 13:39:26 +0800 Subject: [PATCH 33/35] #for Nvidiva TX2 must add drm --- detection/CMakeLists.txt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/detection/CMakeLists.txt b/detection/CMakeLists.txt index 842c47d..15b35be 100644 --- a/detection/CMakeLists.txt +++ b/detection/CMakeLists.txt @@ -49,18 +49,20 @@ target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES} ${OpenCV_LIBS}) add_executable(ground_based_people_detector apps/ground_based_people_detector_node.cpp) SET_TARGET_PROPERTIES(ground_based_people_detector PROPERTIES LINK_FLAGS -L${PCL_LIBRARY_DIRS}) +#for Nvidiva TX2 must add drm if(${VTK_VERSION_MAJOR} GREATER 5) -target_link_libraries(ground_based_people_detector ${PROJECT_NAME} ${catkin_LIBRARIES} ${PCL_LIBRARIES}) +target_link_libraries(ground_based_people_detector ${PROJECT_NAME} ${catkin_LIBRARIES} ${PCL_LIBRARIES} drm) else() -target_link_libraries(ground_based_people_detector ${PROJECT_NAME} ${catkin_LIBRARIES} ${PCL_LIBRARIES} vtkHybrid vtkRendering) +target_link_libraries(ground_based_people_detector ${PROJECT_NAME} ${catkin_LIBRARIES} ${PCL_LIBRARIES} vtkHybrid vtkRendering drm) endif() add_executable(ground_based_people_detector_sr apps/ground_based_people_detector_node_sr.cpp) SET_TARGET_PROPERTIES(ground_based_people_detector_sr PROPERTIES LINK_FLAGS -L${PCL_LIBRARY_DIRS}) +#for Nvidiva TX2 must add drm if(${VTK_VERSION_MAJOR} GREATER 5) -target_link_libraries(ground_based_people_detector_sr ${PROJECT_NAME} ${catkin_LIBRARIES} ${PCL_LIBRARIES}) +target_link_libraries(ground_based_people_detector_sr ${PROJECT_NAME} ${catkin_LIBRARIES} ${PCL_LIBRARIES} drm) else() -target_link_libraries(ground_based_people_detector_sr ${PROJECT_NAME} ${catkin_LIBRARIES} ${PCL_LIBRARIES} vtkHybrid vtkRendering) +target_link_libraries(ground_based_people_detector_sr ${PROJECT_NAME} ${catkin_LIBRARIES} ${PCL_LIBRARIES} vtkHybrid vtkRendering drm) endif() add_library(haar_disp_ada src/haardispada.cpp apps/haardispada_nodelet.cpp) From 1be5e450dc95e168d710b02c08de63ef9bd5d6ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Sat, 30 Sep 2017 13:59:53 +0800 Subject: [PATCH 34/35] for Nvidiva TX2 must add libdrm --- opt_calibration/CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/opt_calibration/CMakeLists.txt b/opt_calibration/CMakeLists.txt index 414409f..3175667 100644 --- a/opt_calibration/CMakeLists.txt +++ b/opt_calibration/CMakeLists.txt @@ -56,10 +56,12 @@ add_executable(opt_calibration ## Add dependencies to the executable ## Specify libraries to link a library or executable target against +#for Nvidiva TX2 must add libdrm target_link_libraries(opt_calibration ${catkin_LIBRARIES} ${PCL_LIBRARIES} ${OpenCV_LIBS} + drm ) # Publish camera_info topic for stereo: @@ -75,8 +77,10 @@ add_executable(opt_calibration_refinement apps/opt_calibration_refinement.cpp src/trajectory_registration.cpp ) +#for Nvidiva TX2 must add libdrm target_link_libraries(opt_calibration_refinement ${catkin_LIBRARIES} + drm ) add_executable(opt_define_reference_frame From c7f6fe3919e395e07a74515b1a44f8282cc0c847 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=98=E9=BB=98?= Date: Sat, 30 Sep 2017 14:02:51 +0800 Subject: [PATCH 35/35] for Nvidiva TX2 must add libdrm --- opt_calibration/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/opt_calibration/CMakeLists.txt b/opt_calibration/CMakeLists.txt index 3175667..7597bd1 100644 --- a/opt_calibration/CMakeLists.txt +++ b/opt_calibration/CMakeLists.txt @@ -90,8 +90,10 @@ add_executable(opt_define_reference_frame src/opt_checkerboard_extraction.cpp include/open_ptrack/opt_calibration/opt_checkerboard_extraction.h ) +#for Nvidiva TX2 must add libdrm target_link_libraries(opt_define_reference_frame ${catkin_LIBRARIES} ${PCL_LIBRARIES} ${OpenCV_LIBS} + drm )