Skip to main content
edited tags
Link
Ethan
  • 1.7k
  • 9
  • 24
  • 39
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
not needed details edited
Source Link
Kiritee Gak
  • 1.8k
  • 1
  • 12
  • 25

this is my first machine learning project and actually also my first question here. I am a novice to machine learning with a background in theoretical physics.

I want to use a CNN to detect scratches from manufacturing defects in hi-res images. The images have to be hi-res; downsampling would destroy the very features we want to detect. Also, since we are specifically looking for scratches in certain parts of the product, we cannot simply divide the picture into many tiles and treat each pile - the network will have to "understand" both the small-scale structure (single scratch) as well as the large-scale structure (entire product) of the picture.

I'm concerned about limited model capacity (no of parameters) as well as training time. Also, since the number of training pictures are few, it does not seem to make sense to train a whole network from scratch just using my product pictures.

So, my question is, do you think the following approach would work:

  • use a pre-trained (on general lo-res pictures) off-the-shelf CNN (possibly the CNN layers of VGG19?), followed by a pretty radical max-pooling (for downsizing the picture without introducing any further parameters), and then adding 1 or 2 fully connected layers with further successively lower resolution, and training ONLY those last layers using my pictures?

Thanks for any help or hint.

Chris

PS. btw I am planning to use Keras as a platform.

this is my first machine learning project and actually also my first question here. I am a novice to machine learning with a background in theoretical physics.

I want to use a CNN to detect scratches from manufacturing defects in hi-res images. The images have to be hi-res; downsampling would destroy the very features we want to detect. Also, since we are specifically looking for scratches in certain parts of the product, we cannot simply divide the picture into many tiles and treat each pile - the network will have to "understand" both the small-scale structure (single scratch) as well as the large-scale structure (entire product) of the picture.

I'm concerned about limited model capacity (no of parameters) as well as training time. Also, since the number of training pictures are few, it does not seem to make sense to train a whole network from scratch just using my product pictures.

So, my question is, do you think the following approach would work:

  • use a pre-trained (on general lo-res pictures) off-the-shelf CNN (possibly the CNN layers of VGG19?), followed by a pretty radical max-pooling (for downsizing the picture without introducing any further parameters), and then adding 1 or 2 fully connected layers with further successively lower resolution, and training ONLY those last layers using my pictures?

Thanks for any help or hint.

Chris

PS. btw I am planning to use Keras as a platform.

this is my first machine learning project and actually also my first question here. I am a novice to machine learning with a background in theoretical physics.

I want to use a CNN to detect scratches from manufacturing defects in hi-res images. The images have to be hi-res; downsampling would destroy the very features we want to detect. Also, since we are specifically looking for scratches in certain parts of the product, we cannot simply divide the picture into many tiles and treat each pile - the network will have to "understand" both the small-scale structure (single scratch) as well as the large-scale structure (entire product) of the picture.

I'm concerned about limited model capacity (no of parameters) as well as training time. Also, since the number of training pictures are few, it does not seem to make sense to train a whole network from scratch just using my product pictures.

So, my question is, do you think the following approach would work:

  • use a pre-trained (on general lo-res pictures) off-the-shelf CNN (possibly the CNN layers of VGG19?), followed by a pretty radical max-pooling (for downsizing the picture without introducing any further parameters), and then adding 1 or 2 fully connected layers with further successively lower resolution, and training ONLY those last layers using my pictures?

PS. btw I am planning to use Keras as a platform.

Source Link
Chris
  • 31
  • 1

Does it make sense to train a convolutional neural network on lo-res, use on hi-res pictures?

this is my first machine learning project and actually also my first question here. I am a novice to machine learning with a background in theoretical physics.

I want to use a CNN to detect scratches from manufacturing defects in hi-res images. The images have to be hi-res; downsampling would destroy the very features we want to detect. Also, since we are specifically looking for scratches in certain parts of the product, we cannot simply divide the picture into many tiles and treat each pile - the network will have to "understand" both the small-scale structure (single scratch) as well as the large-scale structure (entire product) of the picture.

I'm concerned about limited model capacity (no of parameters) as well as training time. Also, since the number of training pictures are few, it does not seem to make sense to train a whole network from scratch just using my product pictures.

So, my question is, do you think the following approach would work:

  • use a pre-trained (on general lo-res pictures) off-the-shelf CNN (possibly the CNN layers of VGG19?), followed by a pretty radical max-pooling (for downsizing the picture without introducing any further parameters), and then adding 1 or 2 fully connected layers with further successively lower resolution, and training ONLY those last layers using my pictures?

Thanks for any help or hint.

Chris

PS. btw I am planning to use Keras as a platform.