YWL0720 / YOLO_ORB_SLAM3

This is an improved version of ORB-SLAM3 that adds an object detection module implemented with YOLOv5 to achieve SLAM in dynamic environments.
222 stars 26 forks source link

How to change bounding box & text color? #21

Open evertale888 opened 10 months ago

evertale888 commented 10 months ago

im new with yolo. How to change bounding box & text color?

YWL0720 commented 10 months ago

You can change the code in https://github.com/YWL0720/YOLO_ORB_SLAM3/blob/6ed34914435480cce4b78d43d4848ad86d3a3c35/src/Viewer.cc#L339C9-L356C10

evertale888 commented 10 months ago

You can change the code in https://github.com/YWL0720/YOLO_ORB_SLAM3/blob/6ed34914435480cce4b78d43d4848ad86d3a3c35/src/Viewer.cc#L339C9-L356C10

Tq very much. I have successfully run your program. But, im getting "segmentation fault core has been dumped" during shutdown after saving all trajectories. Also, how can i improve the fps, do u plan to make this run using GPU soon?

YWL0720 commented 10 months ago

I'm sorry, I don't have plans to modify the current version of the code to run on GPU anytime soon. However, a method to accelerate libtorch on CPU is to use Intel's OpenVINO. You might want to look into that.

evertale888 commented 10 months ago

I'm sorry, I don't have plans to modify the current version of the code to run on GPU anytime soon. However, a method to accelerate libtorch on CPU is to use Intel's OpenVINO. You might want to look into that.

ok tq again.

evertale888 commented 10 months ago

I'm sorry, I don't have plans to modify the current version of the code to run on GPU anytime soon. However, a method to accelerate libtorch on CPU is to use Intel's OpenVINO. You might want to look into that.

By the way, does YOLO use in this program to detect moving object as well? lets say there are moving bike & car, so obrslam3 wont mapped the features in them but only map them if they are static? im interested how u removed those dynamic features when mapping?

YWL0720 commented 10 months ago

YOLO only performs object detection on the input images and returns the types of detected objects. I will pre-define a list of dynamic and static attributes. For example, people are dynamic objects, while tables and chairs are static objects. Based on the attribute list I defined, after filtering, I can obtain the detection boxes of dynamic objects in the current image. In the feature extraction stage, I will eliminate all feature points within the dynamic object detection boxes to achieve the removal of dynamic objects. However, this is not the optimal solution because I do not distinguish between potential dynamic objects and real dynamic objects. When people who are not moving (such as those in posters on walls or in photographs) appear in the environment, the system will also remove the feature points in this area.

evertale888 commented 10 months ago

YOLO only performs object detection on the input images and returns the types of detected objects. I will pre-define a list of dynamic and static attributes. For example, people are dynamic objects, while tables and chairs are static objects. Based on the attribute list I defined, after filtering, I can obtain the detection boxes of dynamic objects in the current image. In the feature extraction stage, I will eliminate all feature points within the dynamic object detection boxes to achieve the removal of dynamic objects. However, this is not the optimal solution because I do not distinguish between potential dynamic objects and real dynamic objects. When people who are not moving (such as those in posters on walls or in photographs) appear in the environment, the system will also remove the feature points in this area.

I see. Tq again for the explanation.