title: Object detection using a fish eye lens
body: <p>I'm trying to use the hog detector in openCV, to detect 3 types of object from a video feed through a fish eye. The types are:</p>
  
  <ol>
  <li>People</li>
  <li>Books (when held by some person)</li>
  <li>Chairs</li>
  </ol>
  
  <p>The snapshot of the video I have looks like this image from <a href="http://www.aguntherphotography.com/tutorials/lenses/sigma-8mm-fisheye-lens-review.html" rel="nofollow noreferrer">this website</a> -  <img src="https://i.stack.imgur.com/3joWo.jpg" alt="enter image description here">: </p>
  
  <p>I setup the hog classifier using the default people detector and tried do first detect the people. I noticed when the people were of the size that you would expect from a non-fish eye lens (something you would get with a standard 35mm lens), they would get detected. If not the people would not get detected. This seemed logical as the classifier would expect people to be a standard size.</p>
  
  <p>I was wondering how I could modify the classifier to detect people thorough a fish eye lens. The options I see are these:</p>
  
  <ol>
  <li>Undistort the fish eye effect and run the classifier - I do not like to do this, because currently, I'm not in a position to calibrate the camera and get the distortion coefficients</li>
  <li>Distort people images from a people image data set to around the distortion I would get through my video and re-train the classifier - I think this would work, but would like to understand would this not work as I think it work. </li>
  </ol>
  
  <p>My question is:</p>
  
  <ol>
  <li>What would be a valid approach for this problem? Will #2 of my options work for all 3 types of objects (people, books and chairs). </li>
  <li>What is good classifier that can be trained  to identify the 3 types of objects (cascade or hog or anything else - please suggest a library as well)? Will my #2 method of distorting and training with positive and negative examples be a good solution?</li>
  </ol>