GithubHelp home page GithubHelp logo

apennisi / rgbd_person_tracking Goto Github PK

View Code? Open in Web Editor NEW
53.0 4.0 23.0 1.22 MB

R-GBD Person Tracking is a ROS framework for detecting and tracking people from a mobile robot.

License: GNU General Public License v3.0

C++ 89.10% CMake 10.90%
detection person-detection segmentation ground ros-framework people-detection ros-indigo classifier robot scene

rgbd_person_tracking's Introduction

R-GBD Person Tracking

R-GBD Person Tracking (RGPT) is a ROS framework for detecting and tracking people from a mobile robot.

Requirements

AT requires the following packeges to build:

  • OpenCV
  • Boost
  • PCL
  • ROS Indigo
  • OpenMP

How to build

RGPT works under Linux 14.04 and ROS Indigo. For building the source, you have to put the repository inside your catking workspace and then follows the following command sequence:

  • rospack profile
  • catkin_make

How to setup

INPUT: Check the file people_detection_complete.launch inside the folder people_detection/launch

Example:
<launch>
	<arg name="prefix" value="/top_camera" />
	<node name="ground_detector" pkg="ground_detector" type="ground_detector_node" output="screen">
		<param name="theta" value="12"/> <!-- xtion tilt angle -->
		<param name="ty" value="1.5"/> <!-- xtion y traslation -->
		<param name="debug" value="false"/> <!-- show the segmentation output -->
		<param name="groundThreshold" value="0.05" /> <!-- under this threshold is considered ground --> 
		<param name="voxel_size" value="0.06" /> <!-- voxel size -->
		<param name="min_height" value="1.0" /> <!-- min blob height -->
		<param name="max_height" value="2.0" /> <!-- max blob height -->
		<param name="min_head_distance" value="0.3" /> <!-- min distance between two heads -->
		<param name="sampling_factor" value="3" /> <!-- sampling cloud factor -->
		<param name="apply_denoising" value="false" /> 
		<param name="mean_k_denoising" value="5" /> <!-- meanK for denoising (the higher it is, the stronger is the filtering) -->
		<param name="std_dev_denoising" value="0.3" /> <!-- standard deviation for denoising (the lower it is, the stronger is the filtering) -->
		<param name="max_distance" value="6" /> <!-- detection rate in meters -->
		<param name="depth_topic" value="$(arg prefix)/depth/image_raw" />
		<param name="camera_info_topic" value="$(arg prefix)/depth/camera_info" />
		<param name="rgb_topic" value="$(arg prefix)/rgb/image_raw" />			
	</node>
	
	<node name="dispatcher_node" pkg="dispatcher_node" type="dispatcher_node" output="screen">
		<param name="min" value="1.5"/> <!-- min value for tracking only the face -->
	</node>
	
	<node name="people_detector" pkg="people_detection" type="people_detection_node" output="screen">
		<param name="dataset" value="$(find people_detection)/config/inria_detector.xml"/> <!-- dataset filename -->
		<param name="confidence" value="65."/> <!--min confidence for considering the blob as a person -->
		<param name="image_scaling_factor" value="1.5"/><!--scaling factor for image detection (if you increase it, the detection speed increses and the precision decreses) -->
	</node>
	
	<node name="visual_tracker" pkg="visual_tracker" type="visual_tracker" output="screen">
		<param name="image_scaling_factor" value="1.5"/><!--scaling factor for image detection (if you increase it, the detection speed increses and the precision decreses) -->
	</node>
	
</launch>

OUTPUT: topic: /tracks Message type: Traks A vector containing: int32 id Point2i point2D Point3D point3D

How to use

Once the build phase has been successfully, you can use RGPT by launching the following command:

  • roslaunch people_detection people_detection_complete.launch

How it works:

RGPT is divided in three steps:

  • RGBD Segmentation
  • People Detection
  • People Tracking

You can find more information in the paper: COACHES: An assistance Multi-Robot System in public areas [link]

rgbd_person_tracking's People

Contributors

apennisi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

rgbd_person_tracking's Issues

Fatal Error:people_msgs/**.h:No such file or directory

Excuse me, sir!
When I command "catkin_make" in catkin_ws workspace, then it got some wrong, such as, "/home/boocax/catkin_ws/src/visual_tracker/src/main.cpp:34:40: fatal error: people_msgs/SegmentedImage.h: No such file or directory", "/home/boy/catkin_ws/src/ground_detector/src/blob_extraction.h:43:34: fatal error: people_msgs/Clusters.h: No such file or directory",
what's wrong about it? How can I do with those problem? Help me, please....
Ubuntu14.05, Indigo Ros, PCL 1.7, OpenCV 2.4.8, Boost 1.58

Detection is working but no tracking

Hello,
I managed to make the detection work but there is never any tracking. The clusters in every ROS topics are empty.

The input ROS topics are the camera info (roof_rgbd_camera/depth/camera_info), the rgb image (roof_rgbd_camera/rgb/image_raw) with a resolution of 240320 and the depth image (roof_rgbd_camera/depth/image_rect) with a resolution of 240320 and the depth in meter.

Do you know what might be happening ?

Thank you

references to 'cv :: SURF :: SURF ()' undefined

In the function 'tracker :: Tracker :: track (std :: vector <tracker :: detection_struct, std :: allocator > const &, cv :: Mat const &)'
/home/daxiong/ros_study_ws/src/rgbd_person_tracking-master/visual_tracker/src/Tracker.cpp:78: references to 'cv :: SURF :: SURF ()' undefined

AlgorithmInfo Issue

When I am compiling the project using catkin_make inside the cakin workspace I am facing this error I dont know y???

screenshot from 2019-02-28 10-41-45

OpenCV problem while running people detector node.

The ground detector node and dispatcher node work fine and are giving output on their respective topics But when I run people_detector_node it fails with the following kind of errors -

  1. OpenCV Error: The function/feature is not implemented (Unknown/unsupported array type) in create, file /home/abhsihek/libs/opencv/modules/core/src/matrix.cpp, line 2842
    [ERROR] [1500641324.950684392]: PROBLEM WITH THE DETECTOR!
  2. OpenCV Error: Assertion failed (!_mv.fixedType() || _mv.empty() || _mv.type() == m.depth()) in split, file /home/abhsihek/libs/opencv/modules/core/src/convert.cpp, line 262
    [ERROR] [1500642358.248942443]: PROBLEM WITH THE DETECTOR!
  3. OpenCV Error: Assertion failed (mtype == type0 || (CV_MAT_CN(mtype) == CV_MAT_CN(type0) && ((1 << type0) & fixedDepthMask) != 0)) in create, file /home/abhsihek/libs/opencv/modules/core/src/matrix.cpp, line 2599
    [ERROR] [1500642367.533972948]: PROBLEM WITH THE DETECTOR!

So whenever I run people_detector_node I get an error from the 3 mentioned ones.
Can you help me with the problem ? Any kind of help is appreciated.
Thank you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.