Body: <p>Question on transfer learning object classification (MobileNet_v2 with 75% number of parameters) with my own synthetic data:</p>
  
  <p>I made my own dataset of three shapes: triangles, rectangles and spheres. each category has 460 samples with diferent sizes, dimensions, different wobbles at edges. They look like this:</p>
  
  <p><a href="https://i.sstatic.net/NAgwS.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/NAgwS.png" alt="enter image description here"></a>
  <a href="https://i.sstatic.net/yuxVt.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/yuxVt.png" alt="enter image description here"></a>
  <a href="https://i.sstatic.net/7GFyG.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/7GFyG.png" alt="enter image description here"></a></p>
  
  <p>I want the network to classify these primitive shapes in other environments as well with different lighting/color conditions and image statistics.  </p>
  
  <p>Even though I'm adding random crops, scaling, and brightnesses, at training step 10 it's already at 100% training and validation accuracy. Cross entropy keeps going down though. I'm using tensorflow hub. The performance of the network in the end could be better within other environments (virtual 3d space with such shapes). Also trained and tested for ~ 50 steps to see if the network is overfitting, but that doesn't work too well.</p>
  
  <p>What alterations would you  recommend to generalize better? Or shouldn't I train on synthetic data at all to learn primitive shapes? If so, any dataset recommendations?</p>
  
  <p>Thanks in advance</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-11-22T15:58:01.163Z
Comments.Text: im assuming you dont have labels on the actual data your performing inference on? Also in your case you need to make sure the augmentations cover the difference in domains
Comments.UserDisplayName: mshlis
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-11-22T16:31:27.450Z
Comments.Text: I don't necessarily have the labels there no. Any suggestions on how to make the augmentations cover the difference in domains? Thanks!
Comments.UserDisplayName: SumakuTension
Tags: <datasets><object-recognition><object-detection><transfer-learning><data-preprocessing>
Title: learning object recognition of primitive shapes through transfer learning problem
UserDisplayName: SumakuTension
ThreadText: # learning object recognition of primitive shapes through transfer learning problem
  
  (Asked by: username_0 on 2019-11-22)
  
  Question on transfer learning object classification (MobileNet\_v2 with 75% number of parameters) with my own synthetic data:
  
  I made my own dataset of three shapes: triangles, rectangles and spheres. each category has 460 samples with diferent sizes, dimensions, different wobbles at edges. They look like this:
  
  [![enter image description here](https://i.sstatic.net/NAgwS.png)](https://i.sstatic.net/NAgwS.png)
  [![enter image description here](https://i.sstatic.net/yuxVt.png)](https://i.sstatic.net/yuxVt.png)
  [![enter image description here](https://i.sstatic.net/7GFyG.png)](https://i.sstatic.net/7GFyG.png)
  
  I want the network to classify these primitive shapes in other environments as well with different lighting/color conditions and image statistics.
  
  Even though I'm adding random crops, scaling, and brightnesses, at training step 10 it's already at 100% training and validation accuracy. Cross entropy keeps going down though. I'm using tensorflow hub. The performance of the network in the end could be better within other environments (virtual 3d space with such shapes). Also trained and tested for ~ 50 steps to see if the network is overfitting, but that doesn't work too well.
  
  What alterations would you recommend to generalize better? Or shouldn't I train on synthetic data at all to learn primitive shapes? If so, any dataset recommendations?
  
  Thanks in advance
  
  **Tags:** datasets, object-recognition, object-detection, transfer-learning, data-preprocessing
  > **Comments:**
  > **username_1**: im assuming you dont have labels on the actual data your performing inference on? Also in your case you need to make sure the augmentations cover the difference in domains  
  > **username_0**: I don't necessarily have the labels there no. Any suggestions on how to make the augmentations cover the difference in domains? Thanks!  
  
  ---
  
  ## 0 answers
  
  