Face Tracker

Face Tracker 0.7.1

norihiro

Member
unfortuntly I'm wearing a VR headset , and It can't find my face anymore ...
It could be a body tracker instead of a face tracker also ...
I understood the use case.
Currently I'm just using a model found on the Internet to detect a face. There was a request to detect objects instead of face. I'm thinking a YOLO model, which detects a lot of classes such as car, human, etc., but I have not started to implement it.
 

LeBlux

New Member
I understood the use case.
Currently I'm just using a model found on the Internet to detect a face. There was a request to detect objects instead of face. I'm thinking a YOLO model, which detects a lot of classes such as car, human, etc., but I have not started to implement it.

that's exactly what I was looking for after I posted the message.

I saw this page https://cv.gluon.ai/contents.html , don't know If it is using yolo too, but it has some really good feature ...

That would be awesome if you can make it real !!!! I'm so hyped now ! can't wait to have some news about it !!!!
 

swilliford

New Member
I've read most of your documentation but have not tested the plugin (hope to tomorrow). I have one question. Does it always try to crop the image if the camera has PTZ controls. We don't want to reduce the image size. We use both PTZ Optics and a lesser known brand called Alfatron (basically the same camera).
 

norihiro

Member
Does it always try to crop the image if the camera has PTZ controls. We don't want to reduce the image size. We use both PTZ Optics and a lesser known brand called Alfatron (basically the same camera).
No, the image won't be cropped for PTZ camera.
This plugin provides two individual filters; (a) Face Tracker and (b) Face Tracker PTZ. The filter (a) crops the image and the other filter (b) just send PTZ control commands to your camera.
I tested mostly with Sony SRG-120DH and a little with Jimcom's PTZ camera. I think both of your cameras should work through obs-ptz plugin or maybe directly using VISCA-over-TCP. Controlling through obs-ptz has better compatibility but VISCA-over-TCP has better control.
I should note that Face Tracker PTZ cannot track a face if the face goes out of frame.
 

Littleford

New Member
I have recently started using this plugin for use with PTZ cameras, and it is AWESOME! I would +1 the notion to implement object tracking(specifically a whole body) along side face tracking! I could see that being potentially more effective at tracking a person who is walking back and forth along a stage(sometimes they might turn their head and the camera is no longer able to see their whole face). Just some food for thought! Great work Norihiro!
 

LeBlux

New Member
I was wondering if something like blazePose could be integrated, it would be mindblowing to add event in obs from a body gesture !
I looked to MLKit too but it's only for mobiles... We can see a lot of example on internet about these kind of app but nothing easy to use ( just browser app to test it ) anyway can't stop dreaming those things will come to obs one day !
 

castmir

New Member
Have you thought after you incorporate a new object and body tracking system to create a player tracking version in different sports? There is currently an incredible growth in this type of product, since it is highly demanded, and an obs plugin in that sense would be somewhat disruptive!

Congratulations for your excellent work.
 

norihiro

Member
Have you thought after you incorporate a new object and body tracking system to create a player tracking version in different sports?
Thank you for your comment and your links about the competitors. I don't have much experience on the sports broadcasting.
Instead, I'm thinking an idea like semi-automatic tracking; a user will manually choose a rectangle and program will automatically track it.
Anyway, I recently busy on other projects and couldn't take time for this plugin recent several months. I'm sorry about that.
 

GregPeatfield

New Member
Thank you for your comment and your links about the competitors. I don't have much experience on the sports broadcasting.
Instead, I'm thinking an idea like semi-automatic tracking; a user will manually choose a rectangle and program will automatically track it.
Anyway, I recently busy on other projects and couldn't take time for this plugin recent several months. I'm sorry about that.
Hi Kamae,

Sounds like a great idea to "object track", this will work at times but might be difficult to box a live stream to track an object. An extension to this might be the ability to select form a list; person, cat, dog, microphone, "Custom", "Custom 1, 2,3,4". That object will be tracked... For custom, again, if it is a live performance it might be difficult to set the tracking locator real-time. An extension I have through about for a different project is to take a still frame from an "older" recording to have the object highlighted, this is then memorized (stored) and then when this "Custom ____" is selected, the tracking algo searches the active stream for a close match to this object/image/feature. Once found it will set this as the tracking object.

Hope all else is going well for you, sounds like you are very busy! Would love to get this plug-in setup so that if it loses the face than after a fixed lost time, it triggers a return to a certain "preset" to attempt to recover.

-Greg
 

Talisxero

New Member
Can anyone help me with what is the easiest way to disable zooming through this plugin? I would like to have it track the face of the speaker on stage through pan and tilt, but adjust zoom manually as needed. Great plug-in, norihiro!
 

toplachi

Member
Can anyone help me with what is the easiest way to disable zooming through this plugin? I would like to have it track the face of the speaker on stage through pan and tilt, but adjust zoom manually as needed. Great plug-in, norihiro!
Try changing the Max control (zoom) to 0

disable zoom.png
 

Talisxero

New Member
Try changing the Max control (zoom) to 0

View attachment 82523
Fantastic, thanks toplachi!

One more thing, does anyone know if adjusting the crop settings will allow you to set a "dead zone" at which the tracker will see the face outside of the selected zone then adjust to move it back into the selected zone?

I'm hoping to keep the speaker's face inside of the zone, but minimize the amount of camera movement required, as long as they are on-screen.
 

robnbomb

New Member
I have downloaded.. and I can see its tracking my face.. but doesnt seem to move/zoom the camera. I have played around with it for a while now and I cannot quite figure out what needs changed. Is there a community discord or something to get some assistance - make sure i have set this up correctly?
 

toplachi

Member
I have downloaded.. and I can see its tracking my face.. but doesnt seem to move/zoom the camera. I have played around with it for a while now and I cannot quite figure out what needs changed. Is there a community discord or something to get some assistance - make sure i have set this up correctly?
1. Be sure that you can control your camera using the plugin PTZ CONTROLS
2. Please check also that you have added the FACE TRACKER PTZ filter to your camera source (and NOT the FACE TRACKER filter)
3. Inside the FACE TRACKER PTZ filter settings, look for the OUTPUT section. Then select THROUGH PTZ CONTROLS from PTZ Type. Make sure that your Device ID is similar to the camera's ID set from PTZ Controls
 

Eireman

New Member
I am having difficulty building dlib under Windows 11 (Pro 64-bit).

Following the directions, I get stopped at CMake as follows:

Code:
D:\Program Files (x86)\obs-studio\obs-plugins\64bit\obs-face-tracker\obs-face-tracker\build>cmake ^
More? -DLibObs_DIR="%OBSPath%\build64\libobs" ^
More? -DLIBOBS_INCLUDE_DIR="%OBSPath%\libobs" ^
More? -DLIBOBS_LIB="%OBSPath%\build64\libobs\%build_config%\obs.lib" ^
More? -DPTHREAD_LIBS="%OBSPath%\build64\deps\w32-pthreads\%build_config%\w32-pthreads.lib" ^
More? -DOBS_FRONTEND_LIB="%OBSPath%\build64\UI\obs-frontend-api\%build_config%\obs-frontend-api.lib" ..
-- Building for: NMake Makefiles
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:3 (project):
  The CMAKE_C_COMPILER:

    cl

  is not a full path and was not found in the PATH.

  To use the NMake generator with Visual C++, cmake must be run from a shell
  that can use the compiler cl from the command line.  This environment is
  unable to invoke the cl compiler.  To fix this problem, run cmake from the
  Visual Studio Command Prompt (vcvarsall.bat).

  Tell CMake where to find the compiler by setting either the environment
  variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
  the compiler, or to the compiler name if it is in the PATH.


CMake Error at CMakeLists.txt:3 (project):
  The CMAKE_CXX_COMPILER:

    cl

  is not a full path and was not found in the PATH.

  To use the NMake generator with Visual C++, cmake must be run from a shell
  that can use the compiler cl from the command line.  This environment is
  unable to invoke the cl compiler.  To fix this problem, run cmake from the
  Visual Studio Command Prompt (vcvarsall.bat).

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.


-- Configuring incomplete, errors occurred!
See also "D:/Program Files (x86)/obs-studio/obs-plugins/64bit/obs-face-tracker/obs-face-tracker/build/CMakeFiles/CMakeOutput.log".
See also "D:/Program Files (x86)/obs-studio/obs-plugins/64bit/obs-face-tracker/obs-face-tracker/build/CMakeFiles/CMakeError.log".

D:\Program Files (x86)\obs-studio\obs-plugins\64bit\obs-face-tracker\obs-face-tracker\build>cmake ^
More? -DLibObs_DIR="%OBSPath%\build64\libobs" ^
More? -DLIBOBS_INCLUDE_DIR="%OBSPath%\libobs" ^
More? -DLIBOBS_LIB="%OBSPath%\build64\libobs\%build_config%\obs.lib" ^
More? -DPTHREAD_LIBS="%OBSPath%\build64\deps\w32-pthreads\%build_config%\w32-pthreads.lib" ^
More? -DOBS_FRONTEND_LIB="%OBSPath%\build64\UI\obs-frontend-api\%build_config%\obs-frontend-api.lib" ..
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:3 (project):
  The CMAKE_C_COMPILER:

    cl

  is not a full path and was not found in the PATH.

  To use the NMake generator with Visual C++, cmake must be run from a shell
  that can use the compiler cl from the command line.  This environment is
  unable to invoke the cl compiler.  To fix this problem, run cmake from the
  Visual Studio Command Prompt (vcvarsall.bat).

  Tell CMake where to find the compiler by setting either the environment
  variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
  the compiler, or to the compiler name if it is in the PATH.


CMake Error at CMakeLists.txt:3 (project):
  The CMAKE_CXX_COMPILER:

    cl

  is not a full path and was not found in the PATH.

  To use the NMake generator with Visual C++, cmake must be run from a shell
  that can use the compiler cl from the command line.  This environment is
  unable to invoke the cl compiler.  To fix this problem, run cmake from the
  Visual Studio Command Prompt (vcvarsall.bat).

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.


-- Configuring incomplete, errors occurred!
See also "D:/Program Files (x86)/obs-studio/obs-plugins/64bit/obs-face-tracker/obs-face-tracker/build/CMakeFiles/CMakeOutput.log".
See also "D:/Program Files (x86)/obs-studio/obs-plugins/64bit/obs-face-tracker/obs-face-tracker/build/CMakeFiles/CMakeError.log".

D:\Program Files (x86)\obs-studio\obs-plugins\64bit\obs-face-tracker\obs-face-tracker\build>make
'make' is not recognized as an internal or external command,
operable program or batch file.

D:\Program Files (x86)\obs-studio\obs-plugins\64bit\obs-face-tracker\obs-face-tracker\build>

I am rather baffled with the Windows hybrid command prompt and while comfortable under normal NTFS or Linux commands, I am stuck here. Help, please!
 

thepolishdane

New Member
hi! I have 2 issues/questions!

1: Sometimes when the filter looses my face (stops tracking) the filter just continues to drift in a direction. Is it possible to either have some sort of a slowdown when there is nothing being tracked, OR create a new "Zero point" that the filter resets to when there is no face tracking? Also maybe i dont understand the deadband settings, but i thought messing with them would make the filter NOT move the camera until a certain threshold was reached.

2: Which settings do i need to mess with to reduce the load as much as possible? There has to be some sort of "frequency" at which the filter tracks the face. Would be great to get some help for this :) I love the filter and it works much better than the one from xeldro for me.
 

Bearili

New Member
Hi, great plugin.

If this tracks your face. Could you not have something track with your face? Like an Source in OBS "link" to your face, or follow your position?
 

fred_mackay

New Member
is it possible to rig this in a way to track a sources transform to a face? say apply the filter to a source, and have it follow a face on another source?
 
Top