opentrack icon indicating copy to clipboard operation
opentrack copied to clipboard

Neuralnet track 30fps on ps3eye

Open kagavva opened this issue 2 years ago • 22 comments

Hello, driver doesn't matter, in other tracker 60+ fps. But in neuralnet ive got only ~36fps.

kagavva avatar Nov 26 '22 17:11 kagavva

I confirm. Same. Regardless of the settings, always 35 FPS. @DaWelter Any ideas?

image

GO63-samara avatar Nov 27 '22 12:11 GO63-samara

Inference: 27 ms

That's CPU usage.

$\frac{1000}{27} \approx 37$

sthalik avatar Nov 27 '22 12:11 sthalik

Thanks, it's clearer now. In my opinion, neurelnet tracker needs a readme about settings.

GO63-samara avatar Nov 27 '22 12:11 GO63-samara

That screenshot looks real ugly. Seems like the Fusion theme didn't activate. What Windows version are you using?

sthalik avatar Nov 27 '22 13:11 sthalik

This is Windows 7. What should the correct screenshot look like?

GO63-samara avatar Nov 27 '22 15:11 GO63-samara

Scratch that. It's Fusion alright, just the color scheme is different.

A Windows 7 holdout, truly a prestigious gentleman monocle

sthalik avatar Nov 27 '22 16:11 sthalik

Yeah, @sthalik figured it out. Get a modern CPU :-) For comparison i7-core2 2600K (ca. 2014): 20 to 25 ms Ryzen 9 5900X: 10 ms

DaWelter avatar Nov 28 '22 20:11 DaWelter

try to increase "Thread Count"

guodong000 avatar Dec 30 '22 17:12 guodong000

I'm getting only 45 FPS on a very fast PC (Intel 10980xe). I've increased threads (from 1 to 2) and have also tried different USB3 ports (including directly to the back of the case). No changes...

beggehorn avatar Dec 01 '23 22:12 beggehorn

Update! Setting thread count in OpenTrack a bit higher than I tried before seems to work. A setting of "4" allows me to hit 60FPS using nuralnet.

beggehorn avatar Dec 14 '23 17:12 beggehorn

Any way to increase the FPS to the hardware limit of the camera? It's a bummer that the settings won't allow you to use any more than 60 fps. There is only 30 FPS and 60 FPS and "Default" is the same 30 FPS. Any way to "hack" some config file to increase this or is this actually some limit with the face detection algorithm or something?

NuclearPhoenixx avatar Jan 15 '24 20:01 NuclearPhoenixx

I didn't try allocating more threads as the CPU hit becomes enormous quickly even on my 18 core Intel. I wonder if neuralnet could be optimized further?

beggehorn avatar Jan 15 '24 21:01 beggehorn

Had like a ~15% load at solid 60 FPS with just a single allocated thread on my 12400F so no idea what's going on with your system. At least having the option to increase the FPS would be nice. If it doesn't run well you can always lower it, so I don't fully understand why there is such a low artificial limits except maybe if neuralnet itself can't go any faster.

NuclearPhoenixx avatar Jan 15 '24 21:01 NuclearPhoenixx

Any way to increase the FPS to the hardware limit of the camera?

Not sure if it's possible to query the camera for it's FPS. You need more than 60? I mean 60 is quite quick. But I think we could add a "no limit" setting.

I wonder if neuralnet could be optimized further?

Possibly. There are two things I'd like to try eventually

  • Running the neuralnet on the GPU
  • Integer quantization of the neuralnet

We depend on the runtime framework (ONNX) to run the model. And AFAIK @sthalik compiled it with all the fancy cpu optimizations you can have.

DaWelter avatar Jan 16 '24 07:01 DaWelter

Running it on the integrated Intel GPU might be worthwhile, in order to save cycles for the real GPU.

sthalik avatar Jan 16 '24 10:01 sthalik

Had like a ~15% load at solid 60 FPS with just a single allocated thread on my 12400F so no idea what's going on with your system. At least having the option to increase the FPS would be nice. If it doesn't run well you can always lower it, so I don't fully understand why there is such a low artificial limits except maybe if neuralnet itself can't go any faster.

I played with it more today and actually found I can get a solid 60FPS with a single thread at about 8% CPU usage on my i9-10980xe. However, I'm using an app called Project Lasso that runs a core-managing profile whenever ProTools is launched (this is a digital audio workstation PC). As soon as I'm running ProTools, opentrack won't hit 60FPS until I've allocated four threads. I need to figure out how to optimize this as I will always be running opentrack while using ProTools,

beggehorn avatar Jan 17 '24 18:01 beggehorn

I'm also using Process Lasso. If you're running opentrack on a single core then you can set it to realtime priority. But having all cores running with realtime priority at the same time will cause a Windows crash.

sthalik avatar Jan 19 '24 22:01 sthalik

I'm also using Process Lasso. If you're running opentrack on a single core then you can set it to realtime priority. But having all cores running with realtime priority at the same time will cause a Windows crash.

Thanks. I'm having some issues getting the best performance with opentrack and Process Lasso configuratiion. Prior to this, I was mainly using PL to configure my DAW (ProTools) to only use cores 2-35 (hyperthreaded) in order to leave overhead for the OS on cores 0-1.

I tried setting opentrack to "1 thread" in the opentrack options with "real-time" priority" and then tried setting its CPU affinity to Core 1 (always) but I only get 35-40 fps this way and CPU usage on Core 1 in Process Lasso is pretty much pinned at full.

Do you have any specific settings I can try. I have to admit, my experience with Process Lasso is very limited. I've been running it for a long time but had only configured it for my DAW (as descrivbed) and then have left it be.

I appreciate any help you might have to offer!

beggehorn avatar Jan 29 '24 22:01 beggehorn

I'm also using Process Lasso. If you're running opentrack on a single core then you can set it to realtime priority. But having all cores running with realtime priority at the same time will cause a Windows crash.

Would you mind sharing your specific Process Lasso Settings for opentrack as well as what value you set the "thread count" for neuralnet? There are so many options, I'm having trouble finding any combination that works better than simply adding more threads in opentrack's neralnet settings.

Thx!!

beggehorn avatar Jan 31 '24 17:01 beggehorn

Since you actually have a total of 35 hyperthreaded cores, my original advice regarding process priority is incorrect. Sorry.

sthalik avatar Jan 31 '24 18:01 sthalik

Since you actually have a total of 35 hyperthreaded cores, my original advice regarding process priority is incorrect. Sorry.

In the interest of finding the most optimal way to run opentracker with neuralnet, I've tried disabling HT in my BIOS so I'm back to 18 cores. I'm still finding I only get 50-60 FPS (varies wildly) with 2 Threads allocated in opentrack. This is with no rules for opentrack set in PL and priority at "normal". When I bump opentrack up to "Real-Time" priority it doesn't seem to make much of a difference.

Would love to see how you've configured opentrack and PL.

beggehorn avatar Jan 31 '24 21:01 beggehorn

Not sure if it's possible to query the camera for it's FPS. You need more than 60? I mean 60 is quite quick. But I think we could add a "no limit" setting.

Hi, just chiming in - a "no limit" would be really nice, as the PS3 camera can hit up to 120fps - I got one specifically because of this :)

OrbitingOcelot avatar Apr 13 '24 07:04 OrbitingOcelot