A 3D sensing system comprising: a stereo camera arranged to capture a pair of images; a light source synchronized with the image capture of the stereo camera; the 3D sensing system to be used with a malleable retroreflector configured to operate in the same wavelength range as the stereo camera and the light source; and a 3D sensing module arranged to simultaneously track both the retroreflector and an object partially occluding the retroreflector and to detect a touch event between the object and the retroreflector; wherein the detection of the touch event comprises: extracting the contours of a silhouette in each image of the pair of images captured; performing stereo matching between the two sets of extracted contours and obtaining the 3D contour of the retroreflector; estimating a surface plane of the retroreflector using the obtained 3D contour of the retroreflector; inverting each image of the pair of images; extracting the contour of a silhouette in each inverted image; performing stereo matching between the two sets of extracted contours from the inverted images and obtaining the 3D contour of the object; estimating the intersection between the surface plane of the retroreflector and the 3D contour of the object; and determining that a touch event exists if an intersection is estimated. a stereo camera arranged to capture a pair of images; a light source synchronized with the image capture of the stereo camera; the 3D sensing system to be used with a malleable retroreflector configured to operate in the same wavelength range as the stereo camera and the light source; and a 3D sensing module arranged to simultaneously track both the retroreflector and an object partially occluding the retroreflector and to detect a touch event between the object and the retroreflector; wherein the detection of the touch event comprises: extracting the contours of a silhouette in each image of the pair of images captured; performing stereo matching between the two sets of extracted contours and obtaining the 3D contour of the retroreflector; estimating a surface plane of the retroreflector using the obtained 3D contour of the retroreflector; inverting each image of the pair of images; extracting the contour of a silhouette in each inverted image; performing stereo matching between the two sets of extracted contours from the inverted images and obtaining the 3D contour of the object; estimating the intersection between the surface plane of the retroreflector and the 3D contour of the object; and determining that a touch event exists if an intersection is estimated. extracting the contours of a silhouette in each image of the pair of images captured; performing stereo matching between the two sets of extracted contours and obtaining the 3D contour of the retroreflector; estimating a surface plane of the retroreflector using the obtained 3D contour of the retroreflector; inverting each image of the pair of images; extracting the contour of a silhouette in each inverted image; performing stereo matching between the two sets of extracted contours from the inverted images and obtaining the 3D contour of the object; estimating the intersection between the surface plane of the retroreflector and the 3D contour of the object; and determining that a touch event exists if an intersection is estimated.