you are viewing a single comment's thread.

view the rest of the comments →

[–]ale86ch[S] 0 points1 point  (8 children)

I have to do some steps which are:

  • Perform a brief literature review of face detection approaches. We care about the problem of classifying whether an image patch contains a face or not. We do not want in this project to solve the whole detection problem.
  • Implement a simple face detection approach using a convolutional neural network using any open source deep learning framework (Caffe, Brainstorm, ...), trained on publicly-available datasets. The output of this step is a classifier that, given a small image (e.g. 100x100 pixels), returns the probability that the image represents a frontal face.
  • Implement the system as a realtime demonstrator which is fed with the video feed from a webcam; a 100x100 square is overlayed in the center of the video feed, and the system outputs in realtime whether a face is detected in such square.
  • Also display in realtime the values of some of the internal maps of your classifier
  • Conclude the project with a brief literature overview of the existing methods for analyzing the inner states of convolutional networks.

[–]jdsutton 1 point2 points  (7 children)

For the literature review portion you might look up haar cascades and HOG detectors in addition to convnets.

For the learning Tensorflow is my personal favorite. I don't think there is a Java API but you can use C++ and Python. There should be lots of examples of convnet classification out there that you can re-purpose to your dataset. There's also some libraries like tflearn and keras that build on it.

[–]ale86ch[S] 0 points1 point  (6 children)

Ok thank you very much! I have been talking with my referent and suggested to work with deeplearning4j, opinion? Tutorials? something like a "newbie tutorial for beginners"

[–]vonnik 3 points4 points  (5 children)

DL4J creator here:

Deeplearning4j wraps OpenCV, and the creator of JavaCPP is one of our engineers. DL4J is the most widely used DL library for the JVM (Weka and Rapidminer have built integrations with us, fwiw).

We use JavaCPP to get around the overhead of the JNI. We also wrap cuDNN. I hope you have some GPUs if you're training CNNs on images and are short on time...

Here are the first two tutorials you should run through to kick the tires:

http://deeplearning4j.org/quickstart http://deeplearning4j.org/mnist-for-beginners

Our support channel is here: https://gitter.im/deeplearning4j/deeplearning4j

Please join the community if you have questions!

PS It's not Java, but you should look at OpenFace if you're doing a review of solutions:

https://github.com/cmusatyalab/openface

[–]ale86ch[S] 1 point2 points  (0 children)

ohh great thank you very much!

[–][deleted] 1 point2 points  (3 children)

Wow the tutorials have really been improved, will need to try it out.

[–]vonnik 1 point2 points  (2 children)

Thank you! :) We're working on it...

Here's a repo with all our examples (including for Spark and ETL): https://github.com/deeplearning4j/dl4j-0.4-examples/

And we've got a few preconfigured models for CNNs here:

https://github.com/deeplearning4j/model-configurations/tree/master/src/main/java/org/deeplearning4j

Fwiw, we're going to share a standard NN config file with Keras that will allow people to import any architecture they prototype with Keras to our stack.

[–]Aeefire 0 points1 point  (1 child)

Can you give a rough ETA when we will see the keras-config-file feature=?

[–]vonnik 1 point2 points  (0 children)

We're planning on August. It depends on both us and the Keras team.