Coursework of Digital Image Processing
Darknet is required for training
git clone https://github.com/pjreddie/darknet.git
cd darknet
make
- Darknet installation: https://pjreddie.com/darknet/install/
- Darknet introduction: https://pjreddie.com/darknet/yolo/
- Create catkin workspace
mkdir -p ./ImageProcessing_ws/src
cd ./ImageProcessing_ws/src
git clone https://github.com/TANGBEN7/Coursework-of-Digital-Image-Processing
- Build catkin package
cd ..
catkin_make
source ./devel/setup.sh
Start ROS core
roscore
roslaunch zed_wrapper zed.launch
roslaunch dashgo_driver driver.launch
rosrun test detector
- Generate the bounding box after thresholding in HSV Space
- Use Canny Operator and Hough Transform to detect the orientation of the marker "H"
roslaunch zed_wrapper zed.launch
roslaunch dashgo_driver driver.launch
roslaunch darknet_ros darknet_ros.launch
rosrun machinevision subscriber
使用Yolo V3,能够识别不完整的“H”标志,这也是我们在用基本的图像处理算法成功提取“H”的位姿信息后,进一步使用Yolo V3的原因,即提升检测的鲁棒性。
- 被雪糕筒挡住一部分的“H”标志
- 被折起一角的“H”标志
由于当时做课设的时间紧迫,我们就直接用了"person"这个label去代表检测到的"H"标志,所以上面检测出来的“H”都是“person”的标签,本质上并没有影响。
YOLO is a real-time object detection system. Please refer to YOLO Website: https://pjreddie.com/darknet/yolo/
- How to train your own classifier: https://pjreddie.com/darknet/train-cifar/
image_test
is a package to train our classfier to detect "H"
darknet_ros
Please refer to the README.md on GitHub
- Documentation: https://www.stereolabs.com/docs/
- ZED Node and published topic: https://www.stereolabs.com/docs/ros/zed-node/
Algorithms below are applied.
- Basic spacial and point processing: Threshloding, Guassian Filtering
- Image Segmentation: Hough Transform, Canny Operator
- Color Image Processing
- K-means