Skip to content
This repository has been archived by the owner on Jul 5, 2018. It is now read-only.

Add multiple input support #36

Open
Xymanek opened this issue Jun 4, 2016 · 4 comments
Open

Add multiple input support #36

Xymanek opened this issue Jun 4, 2016 · 4 comments

Comments

@Xymanek
Copy link

Xymanek commented Jun 4, 2016

If we want to make our machine just like the one in the show, one of important things should be adding the ability to accept multiple audio and video inputs. An idea on how to display them to user I've mentioned in #35. These inputs can be

  • Multiple webcams
  • Ability to open (from running machine!!!) video/audio files
  • A web stream (eg. check this and this). This can also include IP cameras, however I don't have an example ready so I can't expand on this

I know this raises issues with hardware requirements thus this has to be optionally (obviously) for those who have a good enough rig to provide such processing power. A solution for this can be an option to disable facial recognition for certain inputs (eg, If I have an IP cam watching my backyard where it won't ever recognize a single face)

@devloop0
Copy link
Collaborator

devloop0 commented Jun 4, 2016

I think I addressed this issue with #35. Obviously a good Internet connection is required, and there is additionally a cost of latency, but the actual fetching of frames from the IP camera and our processing of it should all be done in different threads. I will leave this open until I actually implement this.

Additionally, I should note that facial detection is almost free of cost (currently, we perform facial detection every time we get a frame), but if we performed facial recognition every single time, then the machine would crash in a couple of seconds. I have already tried this and I have a pretty high-end computer myself.

I will also mention hear that I would love to add this feature, but I will not be able to do so until I actually have an IP camera to test on (I do not like releasing code that I haven't tested). If you have something public that I can access, I would definitely like to hear about it.

I will leave this issue open until I actually implement this (this is one of the many issues that are addressed in #35 for anyone else reading this).

@Xymanek
Copy link
Author

Xymanek commented Jun 5, 2016

if we performed facial recognition every single time, then the machine would crash in a couple of seconds. I have already tried this and I have a pretty high-end computer myself

Is the machine running solely on top of CPU or does it employ GPU. Because if it doesn't I think it's good time to start (read this, relevant and pretty funny)

@Xymanek Xymanek closed this as completed Jun 5, 2016
@Xymanek Xymanek reopened this Jun 5, 2016
@Xymanek
Copy link
Author

Xymanek commented Jun 5, 2016

Wrong button ;(

@devloop0
Copy link
Collaborator

Yeah, the machine currently doesn't run on GPU. If it did, you are right, it would run significantly more quickly. The problem is, I don't think the facial recognition libraries we are using support running on a GPU. OpenCV does support a GPUMat, but the Java port most definitely does not support GPU. The best attempt for this would be to use some kind of JNI wrapper, where all the processing is done in C++ and somehow, the image is passed to Java. Not 100% sure how reasonable this.
Thoughts?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants