I'm building a CNN/3DCNN model that classifies hand gestures. The problem is that the actual gesture occupies only like 1% of the whole image. That means that an enormous amount of convolutional operations is done on the "empty" parts of the image, which is useless.

Is there a way to solve this problem? I was thinking about a MaxPooling layer with a giant pool size, but near features that are extracted from the gesture will be probably "compressed" in only 1 feature.

  • $\begingroup$ I think you can enforce such behavior by modifying the loss function. However, is cropping images out of question in your case? Removing empty parts seem like a simpler approach to me. $\endgroup$
    – SpiderRico
    Mar 10, 2020 at 21:46
  • $\begingroup$ Maybe you could use object detection to locate the hand first. Which technique you use really depends on the background. What is the background by the way? $\endgroup$ Mar 10, 2020 at 21:55
  • $\begingroup$ By the way, "adding focus" is essentially what Faster R-CNN does by incorporating an RPN into the model. $\endgroup$ Mar 10, 2020 at 22:02
  • $\begingroup$ I was also thinking about object detection first, but that would resize the hand to another resolution, causing images to have different sizes EDIT: Nevermind, actually, after the hand gets detected, you can just resize the image to the resolution you want. The only problem is that I need datasets both for gestures and hand classification, wich can be a little tricky $\endgroup$
    – Orly
    Mar 11, 2020 at 10:12


You must log in to answer this question.

Browse other questions tagged .