Binary classification of similar images with small region of interestHow to prepare/augment images for neural network?Binary Classification on small dataset < 200 samplesClassification problem with many images per instanceMulti-input Convolutional Neural Network for Images ClassificationUsing single cell image to train model to detect and recognize multi cell image; different size of target cell in training and test setMake image label prediction from Chainer CNN modelCreating an image data set from a set of 2D points?VGGnet in classification of images of new classImage classification using Semantic Segmented Images
How to draw a matrix with arrows in limited space
Are Captain Marvel's powers affected by Thanos breaking the Tesseract and claiming the stone?
Does Doodling or Improvising on the Piano Have Any Benefits?
Does grappling negate Mirror Image?
What (the heck) is a Super Worm Equinox Moon?
Non-trope happy ending?
Temporarily disable WLAN internet access for children, but allow it for adults
How would you translate "more" for use as an interface button?
Creating two special characters
How to convince somebody that he is fit for something else, but not this job?
Why is so much work done on numerical verification of the Riemann Hypothesis?
C++ copy constructor called at return
In a multiple cat home, how many litter boxes should you have?
Doesn't the system of the Supreme Court oppose justice?
Why Shazam when there is already Superman?
Microchip documentation does not label CAN buss pins on micro controller pinout diagram
Why is it that I can sometimes guess the next note?
Is this part of the description of the Archfey warlock's Misty Escape feature redundant?
Why is the Sun approximated as a black body at ~ 5800 K?
How to make money from a browser who sees 5 seconds into the future of any web page?
Find the next value of this number series
What is Cash Advance APR?
Is there a nicer/politer/more positive alternative for "negates"?
Stack Interview Code methods made from class Node and Smart Pointers
Binary classification of similar images with small region of interest
How to prepare/augment images for neural network?Binary Classification on small dataset < 200 samplesClassification problem with many images per instanceMulti-input Convolutional Neural Network for Images ClassificationUsing single cell image to train model to detect and recognize multi cell image; different size of target cell in training and test setMake image label prediction from Chainer CNN modelCreating an image data set from a set of 2D points?VGGnet in classification of images of new classImage classification using Semantic Segmented Images
$begingroup$
I have a dataset of microscope images and I want to train a ML/DL algorithm to perform binary classification. The positive class is when there is only one cell in the image, and the negative class is everything else (i.e. when there are either more than 1 cells, or no cells at all).
Below is one of the original images. (there is a cell in the curved site on the center of the image)
Due to the big size of the images (2048x2048) and the excess of information (the cells can only be in the tube-system), I decided to preprocess them. So, I set everything outside the tube-system to 0 (black) and I crop all the images to the boundaries I got by averaging the images of the whole dataset. Below you can see the end result. (there are 2 cells in the tube, one in the center and one at the upper left part)
Then I tried to train a CNN (using python and TensorFlow). I played a few times by changing its hyperparameters, but I had no luck. I think the problem is that the cells (region of interest) are occupying a very small portion of the image, which makes it hard for the algorithm to focus on. To make things worse, there are random dust particles around which make the image noisy.
Do you have any ideas of how I could perform a robust binary classification in such a dataset?
machine-learning python tensorflow convnet image-classification
$endgroup$
add a comment |
$begingroup$
I have a dataset of microscope images and I want to train a ML/DL algorithm to perform binary classification. The positive class is when there is only one cell in the image, and the negative class is everything else (i.e. when there are either more than 1 cells, or no cells at all).
Below is one of the original images. (there is a cell in the curved site on the center of the image)
Due to the big size of the images (2048x2048) and the excess of information (the cells can only be in the tube-system), I decided to preprocess them. So, I set everything outside the tube-system to 0 (black) and I crop all the images to the boundaries I got by averaging the images of the whole dataset. Below you can see the end result. (there are 2 cells in the tube, one in the center and one at the upper left part)
Then I tried to train a CNN (using python and TensorFlow). I played a few times by changing its hyperparameters, but I had no luck. I think the problem is that the cells (region of interest) are occupying a very small portion of the image, which makes it hard for the algorithm to focus on. To make things worse, there are random dust particles around which make the image noisy.
Do you have any ideas of how I could perform a robust binary classification in such a dataset?
machine-learning python tensorflow convnet image-classification
$endgroup$
$begingroup$
Personally speaking, I can't tell the difference between cells and background noises. But I'd like to know if the noise is static(for example some dusts on the microscope are always there). I think static noise is easier to process.
$endgroup$
– Icyblade
Mar 16 '17 at 16:14
$begingroup$
No, the noise is quite random. There could be some static particles on the microscope lenses, but the most of them are on the plate (that carries the cells), which is manipulated by people on the lab. However, the cells are visible enough on the full-sized images. This is why I didn't do any resizing but only cropping on the preprocessing.
$endgroup$
– TasosGlrs
Mar 16 '17 at 16:20
add a comment |
$begingroup$
I have a dataset of microscope images and I want to train a ML/DL algorithm to perform binary classification. The positive class is when there is only one cell in the image, and the negative class is everything else (i.e. when there are either more than 1 cells, or no cells at all).
Below is one of the original images. (there is a cell in the curved site on the center of the image)
Due to the big size of the images (2048x2048) and the excess of information (the cells can only be in the tube-system), I decided to preprocess them. So, I set everything outside the tube-system to 0 (black) and I crop all the images to the boundaries I got by averaging the images of the whole dataset. Below you can see the end result. (there are 2 cells in the tube, one in the center and one at the upper left part)
Then I tried to train a CNN (using python and TensorFlow). I played a few times by changing its hyperparameters, but I had no luck. I think the problem is that the cells (region of interest) are occupying a very small portion of the image, which makes it hard for the algorithm to focus on. To make things worse, there are random dust particles around which make the image noisy.
Do you have any ideas of how I could perform a robust binary classification in such a dataset?
machine-learning python tensorflow convnet image-classification
$endgroup$
I have a dataset of microscope images and I want to train a ML/DL algorithm to perform binary classification. The positive class is when there is only one cell in the image, and the negative class is everything else (i.e. when there are either more than 1 cells, or no cells at all).
Below is one of the original images. (there is a cell in the curved site on the center of the image)
Due to the big size of the images (2048x2048) and the excess of information (the cells can only be in the tube-system), I decided to preprocess them. So, I set everything outside the tube-system to 0 (black) and I crop all the images to the boundaries I got by averaging the images of the whole dataset. Below you can see the end result. (there are 2 cells in the tube, one in the center and one at the upper left part)
Then I tried to train a CNN (using python and TensorFlow). I played a few times by changing its hyperparameters, but I had no luck. I think the problem is that the cells (region of interest) are occupying a very small portion of the image, which makes it hard for the algorithm to focus on. To make things worse, there are random dust particles around which make the image noisy.
Do you have any ideas of how I could perform a robust binary classification in such a dataset?
machine-learning python tensorflow convnet image-classification
machine-learning python tensorflow convnet image-classification
asked Mar 16 '17 at 16:02
TasosGlrsTasosGlrs
1365
1365
$begingroup$
Personally speaking, I can't tell the difference between cells and background noises. But I'd like to know if the noise is static(for example some dusts on the microscope are always there). I think static noise is easier to process.
$endgroup$
– Icyblade
Mar 16 '17 at 16:14
$begingroup$
No, the noise is quite random. There could be some static particles on the microscope lenses, but the most of them are on the plate (that carries the cells), which is manipulated by people on the lab. However, the cells are visible enough on the full-sized images. This is why I didn't do any resizing but only cropping on the preprocessing.
$endgroup$
– TasosGlrs
Mar 16 '17 at 16:20
add a comment |
$begingroup$
Personally speaking, I can't tell the difference between cells and background noises. But I'd like to know if the noise is static(for example some dusts on the microscope are always there). I think static noise is easier to process.
$endgroup$
– Icyblade
Mar 16 '17 at 16:14
$begingroup$
No, the noise is quite random. There could be some static particles on the microscope lenses, but the most of them are on the plate (that carries the cells), which is manipulated by people on the lab. However, the cells are visible enough on the full-sized images. This is why I didn't do any resizing but only cropping on the preprocessing.
$endgroup$
– TasosGlrs
Mar 16 '17 at 16:20
$begingroup$
Personally speaking, I can't tell the difference between cells and background noises. But I'd like to know if the noise is static(for example some dusts on the microscope are always there). I think static noise is easier to process.
$endgroup$
– Icyblade
Mar 16 '17 at 16:14
$begingroup$
Personally speaking, I can't tell the difference between cells and background noises. But I'd like to know if the noise is static(for example some dusts on the microscope are always there). I think static noise is easier to process.
$endgroup$
– Icyblade
Mar 16 '17 at 16:14
$begingroup$
No, the noise is quite random. There could be some static particles on the microscope lenses, but the most of them are on the plate (that carries the cells), which is manipulated by people on the lab. However, the cells are visible enough on the full-sized images. This is why I didn't do any resizing but only cropping on the preprocessing.
$endgroup$
– TasosGlrs
Mar 16 '17 at 16:20
$begingroup$
No, the noise is quite random. There could be some static particles on the microscope lenses, but the most of them are on the plate (that carries the cells), which is manipulated by people on the lab. However, the cells are visible enough on the full-sized images. This is why I didn't do any resizing but only cropping on the preprocessing.
$endgroup$
– TasosGlrs
Mar 16 '17 at 16:20
add a comment |
3 Answers
3
active
oldest
votes
$begingroup$
I would use a CLAHE preprocessing, SIFT Image features and mask the wrong detected keypoints out as geometric constrains. then i would count sift keypoints in a image without and keypoints to get a thredhold boundary and classify by amount of robust keypoints or logistic regression
$endgroup$
$begingroup$
It seems promising. Image processing is not my thing, so it might take a while, but I'll come back to you asap after trying it. My only concern is how it behaves when two cells are overlapping (yes, this can also be the case).
$endgroup$
– TasosGlrs
Mar 17 '17 at 8:15
add a comment |
$begingroup$
I would still stick with using a CNN for that specific application. Think about CNNs being used to detect various types of cancer in noisy images with an insane precision (Stanford, Google). This type of input is actually very similar to yours with cancer cells hiding in a cluster of healthy ones. And yet the models are performing as good as cancer experts in some cases.
CNN have shown to work best when trained with a HUGE amount of data. If possible try to provide more training data with a decent class distribution (roughly the same number of positive and negative examples).
Moreover, apart from tuning hyperparameters you could also experiment with different CNN architectures. You will fin plenty of inspiration in the litterature.
$endgroup$
$begingroup$
I am all in to CNN and in general deep learning. However, in this case I'm not sure on what settings will make the CNN to actually learn upon this dataset. For example, should I use MaxPooling? It makes training faster by "reducing" the quality, but would this be okay for this dataset (considering there is already low amount of relevant information)?
$endgroup$
– TasosGlrs
Mar 17 '17 at 13:47
1
$begingroup$
Pooling allows CNNs to be statistical invariant in space: they can recognize objects regardless of their physical location in the picture. For your problem cells can be located in arbitrary locations so pooling will definitely help.
$endgroup$
– tony
Mar 18 '17 at 14:15
add a comment |
$begingroup$
I am doing similar project as yours recently. The object need to be classified is small and I am using Fine-Tuning which can helps from overfitting because I have small dataset size(1500+).
However, when I input the whole image into the network, it just doesnt work.
The explanation for this could be: CNN is a process of downsampling. When your Region of Interest(ROI) is small, it has a high chance that you will lose the information of ROI at the end of the CNN layers.
What I could suggest is you better crop the training data on the area you are interested. It can help CNN to know where to learn. When you testing, you could crop the test data before feeding it into a CNN. In this way, you will have a better chance to know how many cells are in the whole image.
I did same thing in my project. I am able to achieve $90%$ on cropped data and $80%$ on whole image. If you already figure out a better or an efficient way, please share it with me if possible.
New contributor
$endgroup$
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
);
);
, "mathjax-editing");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "557"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f17654%2fbinary-classification-of-similar-images-with-small-region-of-interest%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
I would use a CLAHE preprocessing, SIFT Image features and mask the wrong detected keypoints out as geometric constrains. then i would count sift keypoints in a image without and keypoints to get a thredhold boundary and classify by amount of robust keypoints or logistic regression
$endgroup$
$begingroup$
It seems promising. Image processing is not my thing, so it might take a while, but I'll come back to you asap after trying it. My only concern is how it behaves when two cells are overlapping (yes, this can also be the case).
$endgroup$
– TasosGlrs
Mar 17 '17 at 8:15
add a comment |
$begingroup$
I would use a CLAHE preprocessing, SIFT Image features and mask the wrong detected keypoints out as geometric constrains. then i would count sift keypoints in a image without and keypoints to get a thredhold boundary and classify by amount of robust keypoints or logistic regression
$endgroup$
$begingroup$
It seems promising. Image processing is not my thing, so it might take a while, but I'll come back to you asap after trying it. My only concern is how it behaves when two cells are overlapping (yes, this can also be the case).
$endgroup$
– TasosGlrs
Mar 17 '17 at 8:15
add a comment |
$begingroup$
I would use a CLAHE preprocessing, SIFT Image features and mask the wrong detected keypoints out as geometric constrains. then i would count sift keypoints in a image without and keypoints to get a thredhold boundary and classify by amount of robust keypoints or logistic regression
$endgroup$
I would use a CLAHE preprocessing, SIFT Image features and mask the wrong detected keypoints out as geometric constrains. then i would count sift keypoints in a image without and keypoints to get a thredhold boundary and classify by amount of robust keypoints or logistic regression
edited Mar 17 '17 at 6:16
answered Mar 17 '17 at 5:12
hnzjohnzjo
1405
1405
$begingroup$
It seems promising. Image processing is not my thing, so it might take a while, but I'll come back to you asap after trying it. My only concern is how it behaves when two cells are overlapping (yes, this can also be the case).
$endgroup$
– TasosGlrs
Mar 17 '17 at 8:15
add a comment |
$begingroup$
It seems promising. Image processing is not my thing, so it might take a while, but I'll come back to you asap after trying it. My only concern is how it behaves when two cells are overlapping (yes, this can also be the case).
$endgroup$
– TasosGlrs
Mar 17 '17 at 8:15
$begingroup$
It seems promising. Image processing is not my thing, so it might take a while, but I'll come back to you asap after trying it. My only concern is how it behaves when two cells are overlapping (yes, this can also be the case).
$endgroup$
– TasosGlrs
Mar 17 '17 at 8:15
$begingroup$
It seems promising. Image processing is not my thing, so it might take a while, but I'll come back to you asap after trying it. My only concern is how it behaves when two cells are overlapping (yes, this can also be the case).
$endgroup$
– TasosGlrs
Mar 17 '17 at 8:15
add a comment |
$begingroup$
I would still stick with using a CNN for that specific application. Think about CNNs being used to detect various types of cancer in noisy images with an insane precision (Stanford, Google). This type of input is actually very similar to yours with cancer cells hiding in a cluster of healthy ones. And yet the models are performing as good as cancer experts in some cases.
CNN have shown to work best when trained with a HUGE amount of data. If possible try to provide more training data with a decent class distribution (roughly the same number of positive and negative examples).
Moreover, apart from tuning hyperparameters you could also experiment with different CNN architectures. You will fin plenty of inspiration in the litterature.
$endgroup$
$begingroup$
I am all in to CNN and in general deep learning. However, in this case I'm not sure on what settings will make the CNN to actually learn upon this dataset. For example, should I use MaxPooling? It makes training faster by "reducing" the quality, but would this be okay for this dataset (considering there is already low amount of relevant information)?
$endgroup$
– TasosGlrs
Mar 17 '17 at 13:47
1
$begingroup$
Pooling allows CNNs to be statistical invariant in space: they can recognize objects regardless of their physical location in the picture. For your problem cells can be located in arbitrary locations so pooling will definitely help.
$endgroup$
– tony
Mar 18 '17 at 14:15
add a comment |
$begingroup$
I would still stick with using a CNN for that specific application. Think about CNNs being used to detect various types of cancer in noisy images with an insane precision (Stanford, Google). This type of input is actually very similar to yours with cancer cells hiding in a cluster of healthy ones. And yet the models are performing as good as cancer experts in some cases.
CNN have shown to work best when trained with a HUGE amount of data. If possible try to provide more training data with a decent class distribution (roughly the same number of positive and negative examples).
Moreover, apart from tuning hyperparameters you could also experiment with different CNN architectures. You will fin plenty of inspiration in the litterature.
$endgroup$
$begingroup$
I am all in to CNN and in general deep learning. However, in this case I'm not sure on what settings will make the CNN to actually learn upon this dataset. For example, should I use MaxPooling? It makes training faster by "reducing" the quality, but would this be okay for this dataset (considering there is already low amount of relevant information)?
$endgroup$
– TasosGlrs
Mar 17 '17 at 13:47
1
$begingroup$
Pooling allows CNNs to be statistical invariant in space: they can recognize objects regardless of their physical location in the picture. For your problem cells can be located in arbitrary locations so pooling will definitely help.
$endgroup$
– tony
Mar 18 '17 at 14:15
add a comment |
$begingroup$
I would still stick with using a CNN for that specific application. Think about CNNs being used to detect various types of cancer in noisy images with an insane precision (Stanford, Google). This type of input is actually very similar to yours with cancer cells hiding in a cluster of healthy ones. And yet the models are performing as good as cancer experts in some cases.
CNN have shown to work best when trained with a HUGE amount of data. If possible try to provide more training data with a decent class distribution (roughly the same number of positive and negative examples).
Moreover, apart from tuning hyperparameters you could also experiment with different CNN architectures. You will fin plenty of inspiration in the litterature.
$endgroup$
I would still stick with using a CNN for that specific application. Think about CNNs being used to detect various types of cancer in noisy images with an insane precision (Stanford, Google). This type of input is actually very similar to yours with cancer cells hiding in a cluster of healthy ones. And yet the models are performing as good as cancer experts in some cases.
CNN have shown to work best when trained with a HUGE amount of data. If possible try to provide more training data with a decent class distribution (roughly the same number of positive and negative examples).
Moreover, apart from tuning hyperparameters you could also experiment with different CNN architectures. You will fin plenty of inspiration in the litterature.
answered Mar 17 '17 at 9:22
tonytony
55125
55125
$begingroup$
I am all in to CNN and in general deep learning. However, in this case I'm not sure on what settings will make the CNN to actually learn upon this dataset. For example, should I use MaxPooling? It makes training faster by "reducing" the quality, but would this be okay for this dataset (considering there is already low amount of relevant information)?
$endgroup$
– TasosGlrs
Mar 17 '17 at 13:47
1
$begingroup$
Pooling allows CNNs to be statistical invariant in space: they can recognize objects regardless of their physical location in the picture. For your problem cells can be located in arbitrary locations so pooling will definitely help.
$endgroup$
– tony
Mar 18 '17 at 14:15
add a comment |
$begingroup$
I am all in to CNN and in general deep learning. However, in this case I'm not sure on what settings will make the CNN to actually learn upon this dataset. For example, should I use MaxPooling? It makes training faster by "reducing" the quality, but would this be okay for this dataset (considering there is already low amount of relevant information)?
$endgroup$
– TasosGlrs
Mar 17 '17 at 13:47
1
$begingroup$
Pooling allows CNNs to be statistical invariant in space: they can recognize objects regardless of their physical location in the picture. For your problem cells can be located in arbitrary locations so pooling will definitely help.
$endgroup$
– tony
Mar 18 '17 at 14:15
$begingroup$
I am all in to CNN and in general deep learning. However, in this case I'm not sure on what settings will make the CNN to actually learn upon this dataset. For example, should I use MaxPooling? It makes training faster by "reducing" the quality, but would this be okay for this dataset (considering there is already low amount of relevant information)?
$endgroup$
– TasosGlrs
Mar 17 '17 at 13:47
$begingroup$
I am all in to CNN and in general deep learning. However, in this case I'm not sure on what settings will make the CNN to actually learn upon this dataset. For example, should I use MaxPooling? It makes training faster by "reducing" the quality, but would this be okay for this dataset (considering there is already low amount of relevant information)?
$endgroup$
– TasosGlrs
Mar 17 '17 at 13:47
1
1
$begingroup$
Pooling allows CNNs to be statistical invariant in space: they can recognize objects regardless of their physical location in the picture. For your problem cells can be located in arbitrary locations so pooling will definitely help.
$endgroup$
– tony
Mar 18 '17 at 14:15
$begingroup$
Pooling allows CNNs to be statistical invariant in space: they can recognize objects regardless of their physical location in the picture. For your problem cells can be located in arbitrary locations so pooling will definitely help.
$endgroup$
– tony
Mar 18 '17 at 14:15
add a comment |
$begingroup$
I am doing similar project as yours recently. The object need to be classified is small and I am using Fine-Tuning which can helps from overfitting because I have small dataset size(1500+).
However, when I input the whole image into the network, it just doesnt work.
The explanation for this could be: CNN is a process of downsampling. When your Region of Interest(ROI) is small, it has a high chance that you will lose the information of ROI at the end of the CNN layers.
What I could suggest is you better crop the training data on the area you are interested. It can help CNN to know where to learn. When you testing, you could crop the test data before feeding it into a CNN. In this way, you will have a better chance to know how many cells are in the whole image.
I did same thing in my project. I am able to achieve $90%$ on cropped data and $80%$ on whole image. If you already figure out a better or an efficient way, please share it with me if possible.
New contributor
$endgroup$
add a comment |
$begingroup$
I am doing similar project as yours recently. The object need to be classified is small and I am using Fine-Tuning which can helps from overfitting because I have small dataset size(1500+).
However, when I input the whole image into the network, it just doesnt work.
The explanation for this could be: CNN is a process of downsampling. When your Region of Interest(ROI) is small, it has a high chance that you will lose the information of ROI at the end of the CNN layers.
What I could suggest is you better crop the training data on the area you are interested. It can help CNN to know where to learn. When you testing, you could crop the test data before feeding it into a CNN. In this way, you will have a better chance to know how many cells are in the whole image.
I did same thing in my project. I am able to achieve $90%$ on cropped data and $80%$ on whole image. If you already figure out a better or an efficient way, please share it with me if possible.
New contributor
$endgroup$
add a comment |
$begingroup$
I am doing similar project as yours recently. The object need to be classified is small and I am using Fine-Tuning which can helps from overfitting because I have small dataset size(1500+).
However, when I input the whole image into the network, it just doesnt work.
The explanation for this could be: CNN is a process of downsampling. When your Region of Interest(ROI) is small, it has a high chance that you will lose the information of ROI at the end of the CNN layers.
What I could suggest is you better crop the training data on the area you are interested. It can help CNN to know where to learn. When you testing, you could crop the test data before feeding it into a CNN. In this way, you will have a better chance to know how many cells are in the whole image.
I did same thing in my project. I am able to achieve $90%$ on cropped data and $80%$ on whole image. If you already figure out a better or an efficient way, please share it with me if possible.
New contributor
$endgroup$
I am doing similar project as yours recently. The object need to be classified is small and I am using Fine-Tuning which can helps from overfitting because I have small dataset size(1500+).
However, when I input the whole image into the network, it just doesnt work.
The explanation for this could be: CNN is a process of downsampling. When your Region of Interest(ROI) is small, it has a high chance that you will lose the information of ROI at the end of the CNN layers.
What I could suggest is you better crop the training data on the area you are interested. It can help CNN to know where to learn. When you testing, you could crop the test data before feeding it into a CNN. In this way, you will have a better chance to know how many cells are in the whole image.
I did same thing in my project. I am able to achieve $90%$ on cropped data and $80%$ on whole image. If you already figure out a better or an efficient way, please share it with me if possible.
New contributor
edited yesterday
Siong Thye Goh
1,367519
1,367519
New contributor
answered yesterday
Wenxiao ZhanWenxiao Zhan
1
1
New contributor
New contributor
add a comment |
add a comment |
Thanks for contributing an answer to Data Science Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f17654%2fbinary-classification-of-similar-images-with-small-region-of-interest%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
$begingroup$
Personally speaking, I can't tell the difference between cells and background noises. But I'd like to know if the noise is static(for example some dusts on the microscope are always there). I think static noise is easier to process.
$endgroup$
– Icyblade
Mar 16 '17 at 16:14
$begingroup$
No, the noise is quite random. There could be some static particles on the microscope lenses, but the most of them are on the plate (that carries the cells), which is manipulated by people on the lab. However, the cells are visible enough on the full-sized images. This is why I didn't do any resizing but only cropping on the preprocessing.
$endgroup$
– TasosGlrs
Mar 16 '17 at 16:20