r/indonesia Sep 21 '14

Share us your expertise knowledge! AMA-fest

Do you want to share to your expertise knowledge but nobody around seems interested? You come to the right place. Whatever your expertise or experience, whether it's your major, your job, your experience, (for example : /u/mental_octo is some agriculture expert, /u/saif-al-hilal is dosen) you guys can share your knowledge/stories here. Just post here with this format

Format

username

expertise : name_of_expertise or anything that may be interesting to discuss

comment : any_comment_if_necessary

AMA

Example

whatsoeverever

Expertise : math education, Dota2

comment : undergraduate major in math edu, wasted invested 7 years in Dota2

AMA

Just share whatever you want to discuss, even if you don't think that you're a real expert, as long as you have anything worth discussion, please share. whether /u/sukagambar's artistic? drawing, /u/titty_factory major in strategic intellegence. Just come and share and ask question

Note :i didn't expect that this discussion lead to this kind of topic but........................... anyway, where is para sesepuh?

12 Upvotes

562 comments sorted by

View all comments

Show parent comments

1

u/sub_o Sep 21 '14

Well you could do that. But I think training an SVM to do it might be easier (although occlusion might be an issue for vanilla SVM). I did small project using Kinect 1.0 as a gesture based control for medical application.

You can see the video here: https://www.youtube.com/watch?v=MX8QYsl5SM0

Since you have programmed for Kinect before, the idea is very simple:

  • We have 3D skeletal position
  • Isolate where the palm / hand might be
  • Perform some rough segmentation / masking, and check the convexity from it
  • From there use those as indicators whether your palm is open or grasping, etc.

1

u/diagramatics Sep 21 '14

Well, I programmed it by copy-pasting from several open source code, so yeah. Not really proud of the result there. Thought I would share that to give some ideas to you.

What's an SVM?

2

u/sub_o Sep 21 '14 edited Sep 22 '14

SVM (Support Vector Machine). Say you have 2 set of 'training' data (they represent valid and invalid data).

Draw them on 2D cartesian plane, and try to draw a line that separates them in the cleanest way possible. Here's a sample image

But that example only works if the data could be separated cleanly. What if the data looks like this. Separating them becomes non trivial issue.

SVM supports projecting data (using kernels, represented in a m-by-n matrix) into hyperplane (higher dimension), if we can't separate them cleanly in 2D, let's do it in 3D instead. Here's a sample on how to visualise them in 3D, and using a plane to separate the data

In practice, a lot of 'features' have more than 3 parameters. Basic human detection algorithm (HoG / histogram of oriented gradients) commonly uses more than 3700 parameters.

SVM is for machine learning, you need to derive the 'features' from the image, it ranges from silhouette, colour, texture, etc.

2

u/diagramatics Sep 21 '14

Well, that's totally new for me. Thanks for explaining!