Module for Speaker tracking using OpenCV and Gstreamer
$500-2000 USD
Cancelled
Posted over 11 years ago
$500-2000 USD
Paid on delivery
# Speaker tracking using OpenCV and Gstreamer
The aim of this project is to create a gstreamer module which will use a Pan, Tilt and Zoom camera to track a person around a stage. The aim is to allow a presentation recording system to operate without needing a person controlling the camera.
**When putting in an bid please include links to any previous C or Python code you have produced.** Experience with gstreamer or OpenCV is not required but **highly desirable**.
The module will have two modes;
* In "detection mode" waving with your hands at the camera should cause the camera to transition into "locked mode" with the person who was waving their hands as the "active person".
* In "locked mode" the camera will follow the "active" person keeping their face in the roughly the middle of the screen. If the camera looses the "active" person for over 2 minutes, it should transition back to "detection mode". In locked mode the system should be resistant to the following problems;
* Speaker turning away from the camera so that their face is no longer seen.
* Speaker moving faster then the camera can follow.
* A second speaker who is not the "active" person also being in-front of the camera.
* Someone walking in front of the camera causing a **temporary** loss of sight of the speaker.
* People's heads appear at the bottom of the camera view.
## Deliverables
# Speaker tracking using OpenCV and Gstreamer
The aim of this project is to create a gstreamer module which will use a Pan, Tilt and Zoom camera to track a person around a stage. The aim is to allow a presentation recording system to operate without needing a person controlling the camera.
**When putting in an bid please include links to any previous C or Python code you have produced.** Experience with gstreamer or OpenCV is not required but **highly desirable**.
The module will have two modes;
* In "detection mode" waving with your hands at the camera should cause the camera to transition into "locked mode" with the person who was waving their hands as the "active person".
* In "locked mode" the camera will follow the "active" person keeping their face in the roughly the middle of the screen. If the camera looses the "active" person for over 2 minutes, it should transition back to "detection mode". In locked mode the system should be resistant to the following problems;
* Speaker turning away from the camera so that their face is no longer seen.
* Speaker moving faster then the camera can follow.
* A second speaker who is not the "active" person also being in-front of the camera.
* Someone walking in front of the camera causing a **temporary** loss of sight of the speaker.
* People's heads appear at the bottom of the camera view.
The module should have the following inputs;
* A percentage of view port that the speaker's face should take up.
* Maximum speeds for the Pan, Tilt and Zoom changes.
* A way to force the module back into "detection mode".
The module should have two outputs;
* Pan, Tilt and Zoom commands for moving the camera. This output should both be human and machine readable.
* The mode which the module is currently in.
The code must fulfil the following further requirements:
* Be implemented as a gstreamer module.
* Run on both Ubuntu Lucid and Ubuntu Precise.
* Written in either Python or/and C (not C++).
* Should use the OpenCV library.
* Should have reasonable level of test cases.
* Code developed in this project will be released under the Apache 2 open source license.