Context :
- A static camera captures video footage of a still indoor environment at given framerate (1080p@30fps or 720p@60fps)
- A low power line laser projects a line shaped beam in the camera field of view. The laser line reflects on the objects of the scene, with different lighting settings
- The laser line is set horizontally, and scanning the scene (vertical sweep).
- The image of the laser line can be hardly noticeable because of various parameters such as : the lighting conditions, the distance between the laser emitter and the object, and the properties of the object
What we want :
- We want to be able to detect the position of the laser line in the images, i.e. for a given image we want an array of (i,j) indexes such as pixel(i,j) belongs to the image of the laser line.
What we thought of :
- Laser line detection with state of the art algorithm might not be sufficient. We need to improve those by filtering the images beforehand.
- We can modulate the power emitted by the laser. We've been thinking of modulating the power emitted by the laser such as the power profile matches a low frequency (few Hz) sine.
- The pixels belonging to the laser line would then have a periodic intensity profile over time (over a set of images, given that we have sufficient number of images). Thus we should be able to filtrate the images in temporal frequency domain.
- I think this might be achievable if the laser line is still. We could compute FFT of each pixel over its intensities in different images, and then for example, apply threshold value for given frequency and discard pixels below given threshold.
The problem :
Because the laser line position in the image is changing, we can't just use the approach stated before. I think we can categorize the problem as a signal processing one. The signal would be the sine wave of the line laser, and the medium would be the image sequence. Nonetheless we are not interested in retrieving the signal itself, but the positions of the signal in the images.
Thus the core questions are :
- Can we detect a spatially moving signal in a image sequence/video ?
- Is it possible to do temporal frequency filtering for a spatially moving signal in image sequence, such as we only keep the pixels transmitting the signal in the images ?
What we've found so far :
- There's Detection of small periodic binary signals in image sequences: Moving signal sources article, but it deals with small binary signals, as opposed to sine wave signals, and extended ones in our case. Having said that, we are not constrained to sine signal, but I thought this might be the simplest case.