ubuntu18.04 Kimera Semantic 运行记录

2023-12-22 17:06:54

ubuntu18.04 Kimera Semantic 运行记录

写在前面,先看ERROR

一、 Kimera VIO ROS

跳过这里,直接看下一个代码块,这里的因为安装版本问题,能编译通过,但是没有输出

mkdir Kimera_VIO_ws/src -p
cd Kimera_VIO_ws
catkin init

catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release -DGTSAM_TANGENT_PREINTEGRATION=OFF
catkin config --merge-devel

cd src
git clone https://github.com/MIT-SPARK/Kimera-VIO-ROS.git

wstool init
wstool merge Kimera-VIO-ROS/install/kimera_vio_ros_https.rosinstall
wstool update

catkin build	# 见ERROR 1、2 

看这里,这里根据版本情况,重新编译通过后,正常使用
MIT Kimera-VIO-ROS 安装

mkdir -p Kimera_ws/src
cd Kimera_ws
catkin init
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release -DGTSAM_TANGENT_PREINTEGRATION=OFF
catkin config --merge-devel

cd src
git clone https://github.com/ToniRV/mesh_rviz_plugins.git	
git clone https://github.com/MIT-SPARK/Kimera-VIO-ROS.git

# 切换版本
cd Kimera-VIO-ROS
git checkout 9b8aeae

cd ..
wstool init
wstool merge Kimera-VIO-ROS/install/kimera_vio_ros_https.rosinstall
wstool update

# 更换gtsam版本
rm -rf gtsam
# zph环境
git clone -b 4.1.1 https://github.com/borglab/gtsam.git

# 更换Kimera-RPGO版本
cd Kimera-RPGO
git checkout 9e1bf93

# 更换Kimera-VIO版本
cd ../Kimera-VIO
git checkout 641576f

# 更换Kimera-VIO-ROS版本
cd ../Kimera-VIO-ROS
git checkout 9b8aeae

# 编译
catkin build

# 直接就编译过了,基于eigen3.3.7,不需要ERROR 2中的参数	

测试

roslaunch kimera_vio_ros kimera_vio_ros_euroc.launch run_stereo_dense:=true	# 见ERROR 3
rviz -d $(rospack find kimera_vio_ros)/rviz/kimera_vio_euroc.rviz
rosbag play --clock MH_01_easy.bag

在这里插入图片描述

二、Kimera semantic 配置

以下基本为官方教程

sudo apt-get install python-wstool python-catkin-tools  protobuf-compiler autoconf
sudo apt-get install ros-melodic-cmake-modules
# Setup catkin workspace
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin init
catkin config --extend /opt/ros/melodic # Change `melodic` to your ROS distro
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
catkin config --merge-devel

# Add workspace to bashrc.
echo 'source ~/catkin_ws/devel/setup.bash' >> ~/.bashrc

# Clone repo
cd ~/catkin_ws/src
git clone https://github.com/MIT-SPARK/Kimera-Semantics.git

# Install dependencies from rosinstall file using wstool
wstool init # Use unless wstool is already initialized

# Optionally add Kimera-Semantics to the rosinstall file
# wstool scrape

# For https: 
wstool merge Kimera-Semantics/install/kimera_semantics_https.rosinstall

# Download and update all dependencies
wstool update
# Compile code
catkin build kimera_semantics_ros

# Refresh workspace
source ~/catkin_ws/devel/setup.bash

测试

roslaunch kimera_vio_ros kimera_vio_ros_euroc.launch run_stereo_dense:=true
roslaunch kimera_semantics_ros kimera_semantics_euroc.launch
rviz -d $(rospack find kimera_semantics_ros)/rviz/kimera_semantics_euroc.rviz
rosbag play --clock MH_01_easy.bag

在这里插入图片描述

二、实际环境测试

环境

sudo apt install python-dev python-pip python-wstool protobuf-compiler dh-autoreconf
pip install protobuf scipy scikit-image ipython 'keras==keras==2.1.6'
pip install tensorflow-gpu==2.1.0

1. 添加语义分割

cd ~/catkin_ws/src
git clone https://github.com/ethz-asl/mask_rcnn_ros.git
git clone https://github.com/ethz-asl/depth_segmentation.git
git clone https://github.com/ethz-asl/opencv3_catkin.git
git clone https://github.com/ethz-asl/pcl_catkin.git

 catkin build mask_rcnn_ros depth_segmentation

见最后的ERROR 4、5、6

测试

cd src/mask_rcnn_ros
./scripts/download_freiburg3_rgbd_example_bag.sh
roslaunch mask_rcnn_ros freiburg3_rgbd_example.launch

2. 修改

2.1 在Kimera_VIO_ws中,/src/Kimera-VIO/params复制一份RealSenseIR,并修改为mynteye
修改其中的LeftCameraParams.yaml,RightCameraParams.yaml,ImuParams.yaml

2.2 在Kimera_VIO_ws/src/Kimera-VIO-ROS/cfg/calib中复制一份euroc的参数并命名为mynteye_camchain.yaml。修改为自己的参数

2.3 在Kimera_VIO_ws/src/Kimera-VIO-ROS/launch中,复制一份kimera_vio_ros_euroc.launch并命名为kimera_vio_ros_mynteye.launch,复制kimera_vio_ros.launch为kimera_vio_ros_1.launch。
修改kimera_vio_ros_mynteye.launch (除图片外,还有最上面的dataset_name)
在这里插入图片描述
修改kimera_vio_ros_1.launch (除图片外,还有最上面的dataset_name)
在这里插入图片描述

2.4 在Kimera_semantic_catkin_ws/src/Kimera-Semantics/kimera_semantics_ros/launch中,复制kimera_semantics_euroc.launch并命名为kimera_semantics_mynteye.launch,复制kimera_semantics.launch并命名为kimera_semantics_1.launch
修改kimera_semantics_mynteye.launch
在这里插入图片描述
修改kimera_semantics_1.launch (其中semantic_label_2_cilir_csv_filepath主要是从tesse_multiscene_office1_segmentation_mapping.csv修改为了maskrcnn_mapping.csv)
在这里插入图片描述
2.5 测试

roslaunch kimera_vio_ros kimera_vio_ros_mynteye.launch run_stereo_dense:=true
roslaunch kimera_semantics_ros kimera_semantics_mynteye.launch
rviz -d $(rospack find kimera_semantics_ros)/rviz/kimera_semantics_mynteye.rviz 	# 从kimera_semantics_euroc.rviz修改后保存的
rosbag play --clock corridor_1.bag 	# 可能是因为前面静止时间过长,从最开始播放会导致重建失败,因此实际运行时从19秒开始播放

在这里插入图片描述
在这里插入图片描述

看上去细节不太行,不知道是算法本身的原因还是我参数的问题。数据集是之前为了测试尺度问题在走廊里录制的。也可能是因为环境导致的。暂时先这样,能运行就先这样。

2.6 在depth_segmentation/depth_segmentation/cfg中添加
mynteye_config.yaml和mynteye_topics.yaml,并将realsense的相关数据暂时填入。
修改mynteye_topics.yaml

  • 修改mask_rcnn_node.launch文件
<launch>
  <arg name="sensor_name" default="mynteye" />
  <arg name="visualize" default="false" />
  <arg name="input_image" default="/mynteye/left/image_color" />
  <arg name="output_image" default="/semantic_image" />

  <node name="mask_rcnn" pkg="mask_rcnn_ros" type="mask_rcnn_node.py" output="screen">
    <remap from="~input" to="~rgb_image_sub_topic" />   
    <rosparam command="load" file="$(find depth_segmentation)/cfg/$(arg sensor_name)_topics.yaml"/>
    <param name="~visualization" value="$(arg visualize)" />
    <param name="~result" value="$(arg output_image)" />
  </node>

</launch>
  • 在kimera_semantic_ros中添加launch文件
    reality_kimera_semantics_with_mynteye.launch
<?xml version="1.0" encoding="ISO-8859-15"?>
<launch>
  <arg name="voxel_size"     default="0.05"/>
  <arg name="max_ray_length_m" default="5"/>
  <arg name="should_use_sim_time" default="true" />
  <param name="use_sim_time" value="$(arg should_use_sim_time)" />

  <!-- Change sensor frame to:
   - 1. VIO's estimated base_link: `left_cam_base_link`
   - 2. Or, if you want to use simulator's ground-truth: `left_cam`
  -->
  <arg name="sensor_frame" default="left_cam"/>

  <!-- If you want to play directly from a rosbag -->
  <arg name="play_bag" default="false"/>
  <!-- Let's go at twice real-time to show the speed! It can go faster, but then rviz struggles. -->
  <arg name="rosbag_rate" default="2.0"/>
  <arg name="bag_file" default="$(find kimera_semantics_ros)/rosbags/kimera_semantics_demo.bag"/>

  <!-- If you just want to run 3D reconstruction without semantics, set this flag to false-->
  <arg name="metric_semantic_reconstruction" default="true"/>
  <arg name="semantic_label_2_color_csv_filepath" default="$(find kimera_semantics_ros)/cfg/maskrcnn_mapping.csv"/>

  <!-- Input -->
  <arg name="semantic_pointcloud"         default="/semantic_pointcloud"/>
  <arg name="left_cam_info_topic"         default="/mynteye/left/camera_info"/>
  <arg name="right_cam_info_topic"        default="/mynteye/right/camera_info"/>
  <arg name="left_cam_topic"              default="/mynteye/left/image_color"/>
  <arg name="right_cam_topic"             default="/mynteye/right/image_color"/>
  <arg name="left_cam_segmentation_topic" default="/semantic_image"/>
  <arg name="left_cam_depth_topic"        default="/mynteye/depth/image_raw"/>
  <arg name="use_freespace_pointcloud"    default="false" />
  <arg name="freespace_pointcloud"        default="/dev/null"/>

  <!-- Run rosbag if requested with play_bag arg -->
  <node name="player" pkg="rosbag" type="play" output="screen"
    args="--clock --rate $(arg rosbag_rate) $(arg bag_file)"  if="$(arg play_bag)">
    <!-- The rosbag we first generated did not follow ROS naming standards for image topics,
         so we remap the topics accordingly here.-->
    <remap from="/tesse/left_cam"     to="$(arg left_cam_topic)"/>
    <remap from="/tesse/segmentation" to="$(arg left_cam_segmentation_topic)"/>
    <remap from="/tesse/depth"        to="$(arg left_cam_depth_topic)"/>
  </node>

  <!-- Generate input pointcloud with semantic labels for kimera-semantics:
     - 1. Using the depth image and registered semantic image (run_stereo_dense=false).
     - 2. Using stereo depth reconstruction (run_stereo_dense=true). -->
  <arg name="publish_point_clouds" default="true"/>
  <arg name="run_stereo_dense"     default="false"/>
  <group if="$(arg publish_point_clouds)">
    <!-- Launch Nodelet manager: used by depth_image_proc and disparity_image_proc -->
    <node pkg="nodelet" type="nodelet" name="nodelet_manager" args="manager"
      output="screen"/>
    <!-- Run stereo_dense_reconstruction_node (only if we don't use the depth image). -->
    <arg name="left_cam_stereo_depth_topic" value="/depth_image"/>
    <group if="$(arg run_stereo_dense)">
      <arg name="pointcloud" value="/points2"/>
      <include file="$(find kimera_semantics_ros)/launch/stereo_depth.launch">
        <arg name="left_cam_info_topic"         value="$(arg left_cam_info_topic)"/>
        <arg name="right_cam_info_topic"        value="$(arg right_cam_info_topic)"/>
        <arg name="left_cam_topic"              value="$(arg left_cam_topic)"/>
        <arg name="right_cam_topic"             value="$(arg right_cam_topic)"/>
        <arg name="pointcloud"                  value="$(arg pointcloud)"/>
        <arg name="disparity_image"             value="/disparity"/>
        <arg name="depth_image"                 value="$(arg left_cam_stereo_depth_topic)"/>
        <arg name="convert_disparity_img_to_depth_img" value="true"/>
      </include>
    </group>

    <!-- Converts registered depth image and RGB image into an RGB pointcloud.
         Using depth and semantic image, it generates semantic pointcloud. -->
    <node pkg="nodelet" type="nodelet" name="cloudify"
      args="load depth_image_proc/point_cloud_xyzrgb nodelet_manager
      -no-bond" output="screen">
      <!-- Input -->
      <remap from="rgb/camera_info"             to="$(arg left_cam_info_topic)"/>
      <remap from="rgb/image_rect_color"        to="$(arg left_cam_segmentation_topic)" if="$(arg metric_semantic_reconstruction)"/>
      <remap from="rgb/image_rect_color"        to="$(arg left_cam_topic)"              unless="$(arg metric_semantic_reconstruction)"/>
      <remap from="depth_registered/image_rect" to="$(arg left_cam_stereo_depth_topic)" if="$(arg run_stereo_dense)"/>
      <remap from="depth_registered/image_rect" to="$(arg left_cam_depth_topic)"        unless="$(arg run_stereo_dense)"/>
      <!-- Output -->
      <remap from="depth_registered/points"     to="$(arg semantic_pointcloud)"/>
      <!-- Params -->
      <param name="queue_size" value="20"/>
    </node>
  </group>

  <arg name="pkg_type"    default="kimera_semantics_ros"  if="$(arg metric_semantic_reconstruction)"/>
  <arg name="server_type" default="kimera_semantics_node" if="$(arg metric_semantic_reconstruction)"/>
  <arg name="pkg_type"    default="voxblox_ros" unless="$(arg metric_semantic_reconstruction)"/>
  <arg name="server_type" default="tsdf_server" unless="$(arg metric_semantic_reconstruction)"/>
  <node name="kimera_semantics_node" pkg="$(arg pkg_type)" type="$(arg server_type)" output="screen"
    args="-alsologtostderr -colorlogtostderr" clear_params="true">
    <!-- Input -->
    <remap from="pointcloud"                to="$(arg semantic_pointcloud)"/>

    <!-- Params -->
    <param name="tsdf_voxel_size"           value="$(arg voxel_size)" />
    <param name="tsdf_voxels_per_side"      value="32" />
    <param name="max_ray_length_m"          value="$(arg max_ray_length_m)" />
    <param name="min_time_between_msgs_sec" value="0.2" />
    <param name="voxel_carving_enabled"     value="true" />
    <param name="color_mode"                value="lambert_color"/>
    <param name="use_const_weight"          value="false" />
    <param name="use_freespace_pointcloud"  value="$(arg use_freespace_pointcloud)" />
    <remap from="freespace_pointcloud"      to="$(arg freespace_pointcloud)"/>

    <param name="sensor_frame"              value="$(arg sensor_frame)"/>
    <param name="use_tf_transforms"         value="true" />

    <param name="enable_icp"                value="false" />
    <param name="icp_iterations"            value="10" />

    <param name="verbose"                   value="true" />

    <!-- Method to update voxels' information: "fast" or "merged" -->
    <param name="method"                           value="fast" />
    <!-- "color", "semantic" or "semantic_probability" -->
    <param name="semantic_color_mode"              value="semantic"/>
    <param name="semantic_measurement_probability" value="0.8" />
    <!-- The only dynamic label we have right now are humans, with label 20 -->
    <rosparam param="dynamic_semantic_labels">[20]</rosparam>

    <!-- Is this needed? -->
    <param name="slice_level" value="1.0" />

    <param name="semantic_label_2_color_csv_filepath"
      value="$(arg semantic_label_2_color_csv_filepath)"/>

    <param name="publish_pointclouds"     value="false"/>
    <param name="update_mesh_every_n_sec" value="1.0" />
    <param name="mesh_filename"           value="$(find kimera_semantics_ros)/mesh_results/$(anon tesse).ply" />
  </node>
</launch>

ERROR && FIX

ERROR 1:

../gtsam/libgtsam.so.4.3a0:对‘std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()’未定义的引用
../gtsam/libgtsam.so.4.3a0:对‘std::experimental::filesystem::v1::status(std::experimental::filesystem::v1::__cxx11::path const&)’未定义的引用
../gtsam/libgtsam.so.4.3a0:对‘std::experimental::filesystem::v1::__cxx11::path::_M_find_extension() const’未定义的引用
../gtsam/libgtsam.so.4.3a0:对‘std::experimental::filesystem::v1::__cxx11::path::parent_path() const’未定义的引用

FIX:
编译问题,求助!
用gcc9编译

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gcc-9 g++-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9
sudo update-alternatives --config gcc # 选择默认编译器
gcc --version	# 版本验证

然后删掉build,重新catkin build

ERROR 2:

error: static assertion failed: Error: GTSAM was built against a different version of Eigen
   75 |     GTSAM_EIGEN_VERSION_WORLD==EIGEN_WORLD_VERSION &&

FIX:
static assertion failed: Error: GTSAM was built against a different version of Eigen问题修改
但是我在CMakeLists.txt中未找到参数,选择在编译时加入参数,重新编译

catkin build gtsam -DGTSAM_USE_SYSTEM_EIGEN=on

在build文件夹中的CMakeCache.txt文件中查到

//Find and use system-installed Eigen. If 'off', use the one bundled
// with GTSAM
GTSAM_USE_SYSTEM_EIGEN:BOOL=on

然后就可以继续编译了

ERROR 3:
roslaunch kimera_vio_ros kimera_vio_ros_euroc.launch时报错,进程自动结束
FIX:
升级eigen,不要使用3.3.4,推荐3.3.7

wget https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.gz
tar xzvf eigen-3.3.7.tar.gz
cd eigen-3.3.7
mkdir build
cd build
cmake ..
sudo make install

ERROR 4:

/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:653:20: fatal error: boostdesc_bgm.i: 没有那个文件或目录
           #include "boostdesc_bgm.i"

FIX:
编译OpenCV提示opencv_contrib缺少boostdesc_bgm.i等文件

cd Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src

curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_lbgm.i > 0ae0675534aa318d9668f2a179c2a052-boostdesc_lbgm.i
curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_binboost_256.i > e6dcfa9f647779eb1ce446a8d759b6ea-boostdesc_binboost_256.i
curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_binboost_128.i > 98ea99d399965c03d555cef3ea502a0b-boostdesc_binboost_128.i
curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_binboost_064.i > 202e1b3e9fec871b04da31f7f016679f-boostdesc_binboost_064.i
curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_bgm_hd.i > 324426a24fa56ad9c5b8e3e0b3e5303e-boostdesc_bgm_hd.i
curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_bgm_bi.i > 232c966b13651bd0e46a1497b0852191-boostdesc_bgm_bi.i
curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_bgm.i > 0ea90e7a8f3f7876d450e4149c97c74f-boostdesc_bgm.i
curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_120.i > 151805e03568c9f490a5e3a872777b75-vgg_generated_120.i
curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_64.i > 7126a5d9a8884ebca5aea5d63d677225-vgg_generated_64.i
curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_48.i > e8d0dcd54d1bcfdc29203d011a797179-vgg_generated_48.i
curl https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_80.i > 7cd47228edec52b6d82f46511af325c5-vgg_generated_80.i

然后将对应的文件前面的编码删除,只留下对应的文件名
应该是网络出了问题,删掉build重新构建

ERROR 5:

/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp: In constructor ‘cv::xfeatures2d::BoostDesc_Impl::BoostDesc_Impl(int, bool, float)’:
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:714:23: error: ‘orientQuant’ was not declared in this scope
           ini_params( orientQuant, patchSize,
                       ^~~~~~~~~~~
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:714:36: error: ‘patchSize’ was not declared in this scope
           ini_params( orientQuant, patchSize,
                                    ^~~~~~~~~
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:714:36: note: suggested alternative: ‘MatSize’
           ini_params( orientQuant, patchSize,
                                    ^~~~~~~~~
                                    MatSize
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:715:23: error: ‘iGradAssignType’ was not declared in this scope
                       iGradAssignType,
                       ^~~~~~~~~~~~~~~
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:716:23: error: ‘nDim’ was not declared in this scope
                       nDim, nWLs, thresh, orient,
                       ^~~~
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:716:23: note: suggested alternative: ‘norm’
                       nDim, nWLs, thresh, orient,
                       ^~~~
                       norm
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:716:29: error: ‘nWLs’ was not declared in this scope
                       nDim, nWLs, thresh, orient,
                             ^~~~
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:716:29: note: suggested alternative: ‘m_nWLs’
                       nDim, nWLs, thresh, orient,
                             ^~~~
                             m_nWLs
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:716:35: error: ‘thresh’ was not declared in this scope
                       nDim, nWLs, thresh, orient,
                                   ^~~~~~
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:716:35: note: suggested alternative: ‘threshold’
                       nDim, nWLs, thresh, orient,
                                   ^~~~~~
                                   threshold
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:716:43: error: ‘orient’ was not declared in this scope
                       nDim, nWLs, thresh, orient,
                                           ^~~~~~
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:716:43: note: suggested alternative: ‘print’
                       nDim, nWLs, thresh, orient,
                                           ^~~~~~
                                           print
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:717:23: error: ‘x_min’ was not declared in this scope
                       x_min, x_max, y_min, y_max,
                       ^~~~~
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:717:23: note: suggested alternative: ‘min’
                       x_min, x_max, y_min, y_max,
                       ^~~~~
                       min
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:717:30: error: ‘x_max’ was not declared in this scope
                       x_min, x_max, y_min, y_max,
                              ^~~~~
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:717:30: note: suggested alternative: ‘max’
                       x_min, x_max, y_min, y_max,
                              ^~~~~
                              max
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:717:37: error: ‘y_min’ was not declared in this scope
                       x_min, x_max, y_min, y_max,
                                     ^~~~~
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:717:37: note: suggested alternative: ‘min’
                       x_min, x_max, y_min, y_max,
                                     ^~~~~
                                     min
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:717:44: error: ‘y_max’ was not declared in this scope
                       x_min, x_max, y_min, y_max,
                                            ^~~~~
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:717:44: note: suggested alternative: ‘max’
                       x_min, x_max, y_min, y_max,
                                            ^~~~~
                                            max
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:718:23: error: ‘alpha’ was not declared in this scope
                       alpha, beta );
                       ^~~~~
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:718:23: note: suggested alternative: ‘isalpha’
                       alpha, beta );
                       ^~~~~
                       isalpha
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:718:30: error: ‘beta’ was not declared in this scope
                       alpha, beta );
                              ^~~~
/home/toniht/workspace/Kimera_semantic_catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/boostdesc.cpp:718:30: note: suggested alternative: ‘getw’
                       alpha, beta );

FIX:
查询到的Installing Opencv 4 using CMAKE
刚刚下载的文件.i文件中有问题,出现了空文件,重新下载空文件

应该是网络出了问题,删掉build重新构建

ERROR 6:

'module' object has no attribute 'placeholder'

FIX:
tensorflow2.x和tensorflow1.x的差异
修改两个文件Kimera_semantic_catkin_ws/src/mask_rcnn_ros/src/mask_rcnn_ros/model.py和~/.local/lib/python2.7/site-packages/keras/backend/tensorflow_backend.py
将其中的

import tensorflow as tf
-> import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

文章来源:https://blog.csdn.net/qq_41746268/article/details/134956322
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。