A crack inspection system on UAV accurately computes the cracks' positions only relied on a RGB-D camera.
- Ubuntu 16.04 or 18.04
- ROS Kinetic or Melodic: ROS Install
- OpenCV >= 4.4: OpenCV 4.4 Linux Install
- To use OpenCV dnn module supports YOLOv4-SE, it requires OpenCV >= 4.7: OpenCV 4.7 Linux Install
- Python 3.8
- CUDA >= 10.0: CUDA Toolkit Archive
- CUDNN >= 7.0: cuDNN Archive
- clone repository into working space
cd ~/catkin_ws/src
clone this repository to ~/catkin_ws/src folder
- Install 3rd Party library
cd ~/catkin_ws/src/ACIS/3rdPartLib/
./install3rdPartLib.sh
- Compile
cd ~/catkin_ws
catkin_make
- Download the config, weight and obj.names files from Here
- Change the path of these lines:
static string cfg_path
static string weight_path
static string classid_path
- Compile and launch
camera
node for crack detection:
cd ~/catkin_ws
rosrun ACIS camera
- To visualize 2-D bounding boxes, uncomment the line drawBoundingBox
yolo.drawBoundingBox(image_rgb);
- To visualize the estimate of object position in inertial frame, launch
rviz
node:
cd ~/catkin_ws
roslaunch ACIS rviz.launch
- To improve the detection speed or accuracy, change the default input size yoloNet
static yoloNet yolo = yoloNet(cfg_path, weight_path, classid_path, 608, 608, 0.5);
- Connect the quadrotor with flight controller and launch mavros
roslaunch mavros px4.launch
- Launch the D455i camera by realsense-ros
roslaunch realsense2_camera rs_camera.launch align_depth:=true
- Launch the
camera
node andfj005
node:
cd ~/catkin_ws
roslaunch ACIS fj005.launch
- To visualize the detected object and flight trajectory in inertial frame, launch
rviz
node:
cd ~/catkin_ws
roslaunch ACIS rviz.launch
Kwai-wa Tse (Dept.AAE,PolyU): [email protected]