Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Face-detection on IPC #27

Open
oberstet opened this issue Aug 5, 2018 · 4 comments
Open

Face-detection on IPC #27

oberstet opened this issue Aug 5, 2018 · 4 comments
Assignees

Comments

@oberstet
Copy link
Contributor

oberstet commented Aug 5, 2018

The face-detection demo is already packaged as a snap (#25).

The next step is do make it work it on the IPC327E we now have, publish a proper snap and document it (from a user point of view)

@oberstet
Copy link
Contributor Author

actually, not sure about the status of https://github.com/crossbario/iotcookbook/tree/master/device/edge/face-detect @om26er ? I mean, could I connect a PSEye camera to a say intel NUC and get the face detect? IMO, would be also a very cool follow up demo in the style of https://www.katacoda.com/codelectron/scenarios/crossbar-demo ;) or some docker-compose/readme sugar to make it more approachable .. I could show/post it on mindsphere dev days already ..

@om26er
Copy link
Contributor

om26er commented Sep 22, 2018

I mean, could I connect a PSEye camera to a say intel NUC and get the face detect?

The current demo we have only processes images and not video streams. I will work with my PSEye camera tomorrow to get video facial detection on live videos.

From there we can extend the demo as we like.

@om26er
Copy link
Contributor

om26er commented Sep 22, 2018

@oberstet Well, I experimented with that just now.

Do we want to send the whole video stream from the front-end to the back-end, which will then detect faces on it and send it back to the front-end to draw ? Doing that there is going to be plenty of lag between the whats displayed on screen vs face rectangles.

@oberstet
Copy link
Contributor Author

oberstet commented Sep 22, 2018

For the IPC setup, a setup more like this would be best:

  • PS3 Eye == USB ==> IPC ==> Docker container A (with /dev/videoXX mounted)
  • inside container A: OpenCV, Python cv2 to do two things: a) JPEG encode into (small batches of) video frames and WAMP-publish those to topic T1 and b) detect faces on raw image data and WAMP-publish detected rects/faces to topic T2
  • inside container B: run a backend that listens for T2, and only in case a known face is recognized, it publishes to T3 (the backend actual does the face recognition on top of the face detection by matching against a database contained in the backend)
  • Display <== HDMI == IPC <== Docker container/snap C: XBR dashboard, with access to video output (wayland), with a Tile1 that receives the raw video frames (jpeg) from topic T1, and a Tile2 that receives the rects/faces from topic T2, and a Tile3 that receives enriched detection events from T3

The parts in this setup are actually pretty complete to production setups I would get - at least that is the idea;) if you have more/other ideas, cool! lets discuss ..

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

No branches or pull requests

2 participants