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
PTIJ: does fasting on Ta'anis Esther give us reward as if we celebrated 2 Purims? (similar to Yom Kippur)
Mimic lecturing on blackboard, facing audience
How to Disable and Drop all Temporal Tables from a database
Has the laser at Magurele, Romania reached a tenth of the Sun's power?
Conflicting names of my great grandmother's parents
Animation: customize bounce interpolation
Adjusting bounding box of PlotLegends in TimelinePlot
Giving feedback to someone without sounding prejudiced
Ways of geometrical multiplication
How do I tell my boss that I'm quitting in 15 days (a colleague left this week)
How to understand "he realized a split second too late was also a mistake"
How to write Quadratic equation with negative coefficient
Identifying "long and narrow" polygons in with Postgis
Why can't the Brexit deadlock in the UK parliament be solved with a plurality vote?
What happens if a creature's ETB would bounce Thalia, Heretic Cathar?
Pre-Employment Background Check With Consent For Future Checks
Do I have to take mana from my deck or hand when tapping a dual land?
Is stochastic gradient descent pseudo-stochastic?
Should I warn a new PhD Student?
Can I run 125khz RF circuit on a breadboard?
How to make money from a browser who sees 5 seconds into the future of any web page?
Given this phrasing in the lease, when should I pay my rent?
Review your own paper in Mathematics
What is it called to attack a person then say something uplifting?
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
Wenxiao Zhan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
$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
Wenxiao Zhan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
$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
Wenxiao Zhan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
$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
Wenxiao Zhan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
$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
Wenxiao Zhan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
edited 55 mins ago
Siong Thye Goh
1,367419
1,367419
New contributor
Wenxiao Zhan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
answered 1 hour ago
Wenxiao ZhanWenxiao Zhan
1
1
New contributor
Wenxiao Zhan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Wenxiao Zhan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Wenxiao Zhan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
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