/Coursework-of-Digital-Image-Processing

Coursework of Digital Image Processing

Primary LanguageC++MIT LicenseMIT

Coursework of Digital Image Processing

Generic badge License: MIT

Coursework of Digital Image Processing

Pre-required package

Installation

Install darknet

Darknet is required for training

git clone https://github.com/pjreddie/darknet.git
cd darknet
make

Install my marker "H" detection package

  • 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

Run ROS node

Start ROS core

roscore

Detection based on basic image processing algorithms

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"

Detection based on YOLO V3

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”的标签,本质上并没有影响。

Reference

YOLO V3

YOLO is a real-time object detection system. Please refer to YOLO Website: https://pjreddie.com/darknet/yolo/

image_test is a package to train our classfier to detect "H"

YOLO for ROS

darknet_ros Please refer to the README.md on GitHub

ZED Stereo Camera

Others

Algorithms below are applied.

  • Basic spacial and point processing: Threshloding, Guassian Filtering
  • Image Segmentation: Hough Transform, Canny Operator
  • Color Image Processing
  • K-means