ubuntu18.04 Kimera Semantic 运行记录
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()
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!