tool to label images for classification












6












$begingroup$


Can anyone recommend a tool to quickly label several hundred images as an input for classification?
I have ~500 microscopy images of cells. I want to assign categories such as 'healthy', 'dead', 'sick' manually for a training set and save those to a csv file.



basically the same as described in this question, except I don't have proprietary images, so maybe that opens up additional possibilities?










share|improve this question











$endgroup$












  • $begingroup$
    Is this something that you will have to do several times? If so, it might be worth building a tool. See this: datascience.stackexchange.com/questions/13335/…
    $endgroup$
    – Hobbes
    Sep 16 '16 at 14:10










  • $begingroup$
    Might go that route if necessary but it seemed like something many people might use and for which a solution already exists?
    $endgroup$
    – jlarsch
    Sep 16 '16 at 14:13










  • $begingroup$
    It sounds like pilab-annotator or pylabelme are usefull, they might be overkill though. stackoverflow.com/questions/10609455/…
    $endgroup$
    – Hobbes
    Sep 16 '16 at 14:18










  • $begingroup$
    those seem geared towards annotating features within images. Maybe I could use them in the most basic way to just assign one label to the entire image
    $endgroup$
    – jlarsch
    Sep 16 '16 at 14:24






  • 1




    $begingroup$
    There a few tools out there for image annotation, the most popular and easy to use one is: github.com/tzutalin/labelImg
    $endgroup$
    – olive_tree
    Aug 4 '17 at 17:31
















6












$begingroup$


Can anyone recommend a tool to quickly label several hundred images as an input for classification?
I have ~500 microscopy images of cells. I want to assign categories such as 'healthy', 'dead', 'sick' manually for a training set and save those to a csv file.



basically the same as described in this question, except I don't have proprietary images, so maybe that opens up additional possibilities?










share|improve this question











$endgroup$












  • $begingroup$
    Is this something that you will have to do several times? If so, it might be worth building a tool. See this: datascience.stackexchange.com/questions/13335/…
    $endgroup$
    – Hobbes
    Sep 16 '16 at 14:10










  • $begingroup$
    Might go that route if necessary but it seemed like something many people might use and for which a solution already exists?
    $endgroup$
    – jlarsch
    Sep 16 '16 at 14:13










  • $begingroup$
    It sounds like pilab-annotator or pylabelme are usefull, they might be overkill though. stackoverflow.com/questions/10609455/…
    $endgroup$
    – Hobbes
    Sep 16 '16 at 14:18










  • $begingroup$
    those seem geared towards annotating features within images. Maybe I could use them in the most basic way to just assign one label to the entire image
    $endgroup$
    – jlarsch
    Sep 16 '16 at 14:24






  • 1




    $begingroup$
    There a few tools out there for image annotation, the most popular and easy to use one is: github.com/tzutalin/labelImg
    $endgroup$
    – olive_tree
    Aug 4 '17 at 17:31














6












6








6


1



$begingroup$


Can anyone recommend a tool to quickly label several hundred images as an input for classification?
I have ~500 microscopy images of cells. I want to assign categories such as 'healthy', 'dead', 'sick' manually for a training set and save those to a csv file.



basically the same as described in this question, except I don't have proprietary images, so maybe that opens up additional possibilities?










share|improve this question











$endgroup$




Can anyone recommend a tool to quickly label several hundred images as an input for classification?
I have ~500 microscopy images of cells. I want to assign categories such as 'healthy', 'dead', 'sick' manually for a training set and save those to a csv file.



basically the same as described in this question, except I don't have proprietary images, so maybe that opens up additional possibilities?







machine-learning image-classification training






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Apr 13 '17 at 12:50









Community

1




1










asked Sep 16 '16 at 14:01









jlarschjlarsch

15116




15116












  • $begingroup$
    Is this something that you will have to do several times? If so, it might be worth building a tool. See this: datascience.stackexchange.com/questions/13335/…
    $endgroup$
    – Hobbes
    Sep 16 '16 at 14:10










  • $begingroup$
    Might go that route if necessary but it seemed like something many people might use and for which a solution already exists?
    $endgroup$
    – jlarsch
    Sep 16 '16 at 14:13










  • $begingroup$
    It sounds like pilab-annotator or pylabelme are usefull, they might be overkill though. stackoverflow.com/questions/10609455/…
    $endgroup$
    – Hobbes
    Sep 16 '16 at 14:18










  • $begingroup$
    those seem geared towards annotating features within images. Maybe I could use them in the most basic way to just assign one label to the entire image
    $endgroup$
    – jlarsch
    Sep 16 '16 at 14:24






  • 1




    $begingroup$
    There a few tools out there for image annotation, the most popular and easy to use one is: github.com/tzutalin/labelImg
    $endgroup$
    – olive_tree
    Aug 4 '17 at 17:31


















  • $begingroup$
    Is this something that you will have to do several times? If so, it might be worth building a tool. See this: datascience.stackexchange.com/questions/13335/…
    $endgroup$
    – Hobbes
    Sep 16 '16 at 14:10










  • $begingroup$
    Might go that route if necessary but it seemed like something many people might use and for which a solution already exists?
    $endgroup$
    – jlarsch
    Sep 16 '16 at 14:13










  • $begingroup$
    It sounds like pilab-annotator or pylabelme are usefull, they might be overkill though. stackoverflow.com/questions/10609455/…
    $endgroup$
    – Hobbes
    Sep 16 '16 at 14:18










  • $begingroup$
    those seem geared towards annotating features within images. Maybe I could use them in the most basic way to just assign one label to the entire image
    $endgroup$
    – jlarsch
    Sep 16 '16 at 14:24






  • 1




    $begingroup$
    There a few tools out there for image annotation, the most popular and easy to use one is: github.com/tzutalin/labelImg
    $endgroup$
    – olive_tree
    Aug 4 '17 at 17:31
















$begingroup$
Is this something that you will have to do several times? If so, it might be worth building a tool. See this: datascience.stackexchange.com/questions/13335/…
$endgroup$
– Hobbes
Sep 16 '16 at 14:10




$begingroup$
Is this something that you will have to do several times? If so, it might be worth building a tool. See this: datascience.stackexchange.com/questions/13335/…
$endgroup$
– Hobbes
Sep 16 '16 at 14:10












$begingroup$
Might go that route if necessary but it seemed like something many people might use and for which a solution already exists?
$endgroup$
– jlarsch
Sep 16 '16 at 14:13




$begingroup$
Might go that route if necessary but it seemed like something many people might use and for which a solution already exists?
$endgroup$
– jlarsch
Sep 16 '16 at 14:13












$begingroup$
It sounds like pilab-annotator or pylabelme are usefull, they might be overkill though. stackoverflow.com/questions/10609455/…
$endgroup$
– Hobbes
Sep 16 '16 at 14:18




$begingroup$
It sounds like pilab-annotator or pylabelme are usefull, they might be overkill though. stackoverflow.com/questions/10609455/…
$endgroup$
– Hobbes
Sep 16 '16 at 14:18












$begingroup$
those seem geared towards annotating features within images. Maybe I could use them in the most basic way to just assign one label to the entire image
$endgroup$
– jlarsch
Sep 16 '16 at 14:24




$begingroup$
those seem geared towards annotating features within images. Maybe I could use them in the most basic way to just assign one label to the entire image
$endgroup$
– jlarsch
Sep 16 '16 at 14:24




1




1




$begingroup$
There a few tools out there for image annotation, the most popular and easy to use one is: github.com/tzutalin/labelImg
$endgroup$
– olive_tree
Aug 4 '17 at 17:31




$begingroup$
There a few tools out there for image annotation, the most popular and easy to use one is: github.com/tzutalin/labelImg
$endgroup$
– olive_tree
Aug 4 '17 at 17:31










4 Answers
4






active

oldest

votes


















2












$begingroup$

I just hacked together a very basic helper in python
it requires that all images are stored in a pyton list allImages.



import matplotlib.pyplot as plt
category=
plt.ion()

for i,image in enumerate(allImages):
plt.imshow(image)
plt.pause(0.05)
category.append(raw_input('category: '))





share|improve this answer









$endgroup$













  • $begingroup$
    If this solved your issue, you should accept your own answer so it doesn't appear as an "unanswered question" on this website :)
    $endgroup$
    – Eskapp
    Dec 15 '16 at 20:37



















2












$begingroup$

Checkout Labelbox (https://www.labelbox.io/)



Labelbox is a tool to label any kind of data, you can simply upload data in a csv file for very basic image classification or segmentation, and can start to label data with a team. It is probably the fastest tool to get you started with data labeling.



Labelbox supports basically any data as long as it can be loaded into a browser. They have open source labeling frontend, i.e., you could create your own frontend with basic HTML and javascript that suits your data labeling needs. See their github repo to learn more: https://github.com/Labelbox/Labelbox



This is how easy it is to setup a project and getting started with labeling:
enter image description here






share|improve this answer









$endgroup$





















    1












    $begingroup$

    Try Supervisely.



    For your task you could create classes: 'healthy', 'dead', 'sick' and associate them with Rectangle tool. Then you just put a box around each cell with corresponding class.
    Below is an example:




    1. Definitions of classes
      enter image description here

    2. Labeling
      enter image description here


    If your categories are not mutually exclusive, you may create “cell” class (and associate it with rectangle) and then create several tags - one for each of your categories.
    Below is an example:




    1. Definitions of classes and tags
      enter image description here

    2. Labeling
      enter image description here






    share|improve this answer









    $endgroup$





















      0












      $begingroup$

      I have created a code doing what you need, it is available on GitHub as image-sorter2. Instead of "labelling" images it puts the images into a new folder, put creating the csv you are talking about is a straight forward extension. Compared to the other suggested scripts here image-sorter2 is 100% free of charges and you don't need to spend time on drawing bounding boxes - the script simply opens a GUI for you, you click on one of multiple buttons and correspondingly each image is sorted into the desired class-folder, e.g. "cats", "dogs", "trucks" a.s.o.



      enter image description here






      share|improve this answer









      $endgroup$













        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
        });


        }
        });














        draft saved

        draft discarded


















        StackExchange.ready(
        function () {
        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f14039%2ftool-to-label-images-for-classification%23new-answer', 'question_page');
        }
        );

        Post as a guest















        Required, but never shown

























        4 Answers
        4






        active

        oldest

        votes








        4 Answers
        4






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes









        2












        $begingroup$

        I just hacked together a very basic helper in python
        it requires that all images are stored in a pyton list allImages.



        import matplotlib.pyplot as plt
        category=
        plt.ion()

        for i,image in enumerate(allImages):
        plt.imshow(image)
        plt.pause(0.05)
        category.append(raw_input('category: '))





        share|improve this answer









        $endgroup$













        • $begingroup$
          If this solved your issue, you should accept your own answer so it doesn't appear as an "unanswered question" on this website :)
          $endgroup$
          – Eskapp
          Dec 15 '16 at 20:37
















        2












        $begingroup$

        I just hacked together a very basic helper in python
        it requires that all images are stored in a pyton list allImages.



        import matplotlib.pyplot as plt
        category=
        plt.ion()

        for i,image in enumerate(allImages):
        plt.imshow(image)
        plt.pause(0.05)
        category.append(raw_input('category: '))





        share|improve this answer









        $endgroup$













        • $begingroup$
          If this solved your issue, you should accept your own answer so it doesn't appear as an "unanswered question" on this website :)
          $endgroup$
          – Eskapp
          Dec 15 '16 at 20:37














        2












        2








        2





        $begingroup$

        I just hacked together a very basic helper in python
        it requires that all images are stored in a pyton list allImages.



        import matplotlib.pyplot as plt
        category=
        plt.ion()

        for i,image in enumerate(allImages):
        plt.imshow(image)
        plt.pause(0.05)
        category.append(raw_input('category: '))





        share|improve this answer









        $endgroup$



        I just hacked together a very basic helper in python
        it requires that all images are stored in a pyton list allImages.



        import matplotlib.pyplot as plt
        category=
        plt.ion()

        for i,image in enumerate(allImages):
        plt.imshow(image)
        plt.pause(0.05)
        category.append(raw_input('category: '))






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Sep 16 '16 at 14:50









        jlarschjlarsch

        15116




        15116












        • $begingroup$
          If this solved your issue, you should accept your own answer so it doesn't appear as an "unanswered question" on this website :)
          $endgroup$
          – Eskapp
          Dec 15 '16 at 20:37


















        • $begingroup$
          If this solved your issue, you should accept your own answer so it doesn't appear as an "unanswered question" on this website :)
          $endgroup$
          – Eskapp
          Dec 15 '16 at 20:37
















        $begingroup$
        If this solved your issue, you should accept your own answer so it doesn't appear as an "unanswered question" on this website :)
        $endgroup$
        – Eskapp
        Dec 15 '16 at 20:37




        $begingroup$
        If this solved your issue, you should accept your own answer so it doesn't appear as an "unanswered question" on this website :)
        $endgroup$
        – Eskapp
        Dec 15 '16 at 20:37











        2












        $begingroup$

        Checkout Labelbox (https://www.labelbox.io/)



        Labelbox is a tool to label any kind of data, you can simply upload data in a csv file for very basic image classification or segmentation, and can start to label data with a team. It is probably the fastest tool to get you started with data labeling.



        Labelbox supports basically any data as long as it can be loaded into a browser. They have open source labeling frontend, i.e., you could create your own frontend with basic HTML and javascript that suits your data labeling needs. See their github repo to learn more: https://github.com/Labelbox/Labelbox



        This is how easy it is to setup a project and getting started with labeling:
        enter image description here






        share|improve this answer









        $endgroup$


















          2












          $begingroup$

          Checkout Labelbox (https://www.labelbox.io/)



          Labelbox is a tool to label any kind of data, you can simply upload data in a csv file for very basic image classification or segmentation, and can start to label data with a team. It is probably the fastest tool to get you started with data labeling.



          Labelbox supports basically any data as long as it can be loaded into a browser. They have open source labeling frontend, i.e., you could create your own frontend with basic HTML and javascript that suits your data labeling needs. See their github repo to learn more: https://github.com/Labelbox/Labelbox



          This is how easy it is to setup a project and getting started with labeling:
          enter image description here






          share|improve this answer









          $endgroup$
















            2












            2








            2





            $begingroup$

            Checkout Labelbox (https://www.labelbox.io/)



            Labelbox is a tool to label any kind of data, you can simply upload data in a csv file for very basic image classification or segmentation, and can start to label data with a team. It is probably the fastest tool to get you started with data labeling.



            Labelbox supports basically any data as long as it can be loaded into a browser. They have open source labeling frontend, i.e., you could create your own frontend with basic HTML and javascript that suits your data labeling needs. See their github repo to learn more: https://github.com/Labelbox/Labelbox



            This is how easy it is to setup a project and getting started with labeling:
            enter image description here






            share|improve this answer









            $endgroup$



            Checkout Labelbox (https://www.labelbox.io/)



            Labelbox is a tool to label any kind of data, you can simply upload data in a csv file for very basic image classification or segmentation, and can start to label data with a team. It is probably the fastest tool to get you started with data labeling.



            Labelbox supports basically any data as long as it can be loaded into a browser. They have open source labeling frontend, i.e., you could create your own frontend with basic HTML and javascript that suits your data labeling needs. See their github repo to learn more: https://github.com/Labelbox/Labelbox



            This is how easy it is to setup a project and getting started with labeling:
            enter image description here







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Mar 7 '18 at 2:32









            Daniel RasmusonDaniel Rasmuson

            1311




            1311























                1












                $begingroup$

                Try Supervisely.



                For your task you could create classes: 'healthy', 'dead', 'sick' and associate them with Rectangle tool. Then you just put a box around each cell with corresponding class.
                Below is an example:




                1. Definitions of classes
                  enter image description here

                2. Labeling
                  enter image description here


                If your categories are not mutually exclusive, you may create “cell” class (and associate it with rectangle) and then create several tags - one for each of your categories.
                Below is an example:




                1. Definitions of classes and tags
                  enter image description here

                2. Labeling
                  enter image description here






                share|improve this answer









                $endgroup$


















                  1












                  $begingroup$

                  Try Supervisely.



                  For your task you could create classes: 'healthy', 'dead', 'sick' and associate them with Rectangle tool. Then you just put a box around each cell with corresponding class.
                  Below is an example:




                  1. Definitions of classes
                    enter image description here

                  2. Labeling
                    enter image description here


                  If your categories are not mutually exclusive, you may create “cell” class (and associate it with rectangle) and then create several tags - one for each of your categories.
                  Below is an example:




                  1. Definitions of classes and tags
                    enter image description here

                  2. Labeling
                    enter image description here






                  share|improve this answer









                  $endgroup$
















                    1












                    1








                    1





                    $begingroup$

                    Try Supervisely.



                    For your task you could create classes: 'healthy', 'dead', 'sick' and associate them with Rectangle tool. Then you just put a box around each cell with corresponding class.
                    Below is an example:




                    1. Definitions of classes
                      enter image description here

                    2. Labeling
                      enter image description here


                    If your categories are not mutually exclusive, you may create “cell” class (and associate it with rectangle) and then create several tags - one for each of your categories.
                    Below is an example:




                    1. Definitions of classes and tags
                      enter image description here

                    2. Labeling
                      enter image description here






                    share|improve this answer









                    $endgroup$



                    Try Supervisely.



                    For your task you could create classes: 'healthy', 'dead', 'sick' and associate them with Rectangle tool. Then you just put a box around each cell with corresponding class.
                    Below is an example:




                    1. Definitions of classes
                      enter image description here

                    2. Labeling
                      enter image description here


                    If your categories are not mutually exclusive, you may create “cell” class (and associate it with rectangle) and then create several tags - one for each of your categories.
                    Below is an example:




                    1. Definitions of classes and tags
                      enter image description here

                    2. Labeling
                      enter image description here







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Jan 10 at 13:36









                    YuriYuri

                    111




                    111























                        0












                        $begingroup$

                        I have created a code doing what you need, it is available on GitHub as image-sorter2. Instead of "labelling" images it puts the images into a new folder, put creating the csv you are talking about is a straight forward extension. Compared to the other suggested scripts here image-sorter2 is 100% free of charges and you don't need to spend time on drawing bounding boxes - the script simply opens a GUI for you, you click on one of multiple buttons and correspondingly each image is sorted into the desired class-folder, e.g. "cats", "dogs", "trucks" a.s.o.



                        enter image description here






                        share|improve this answer









                        $endgroup$


















                          0












                          $begingroup$

                          I have created a code doing what you need, it is available on GitHub as image-sorter2. Instead of "labelling" images it puts the images into a new folder, put creating the csv you are talking about is a straight forward extension. Compared to the other suggested scripts here image-sorter2 is 100% free of charges and you don't need to spend time on drawing bounding boxes - the script simply opens a GUI for you, you click on one of multiple buttons and correspondingly each image is sorted into the desired class-folder, e.g. "cats", "dogs", "trucks" a.s.o.



                          enter image description here






                          share|improve this answer









                          $endgroup$
















                            0












                            0








                            0





                            $begingroup$

                            I have created a code doing what you need, it is available on GitHub as image-sorter2. Instead of "labelling" images it puts the images into a new folder, put creating the csv you are talking about is a straight forward extension. Compared to the other suggested scripts here image-sorter2 is 100% free of charges and you don't need to spend time on drawing bounding boxes - the script simply opens a GUI for you, you click on one of multiple buttons and correspondingly each image is sorted into the desired class-folder, e.g. "cats", "dogs", "trucks" a.s.o.



                            enter image description here






                            share|improve this answer









                            $endgroup$



                            I have created a code doing what you need, it is available on GitHub as image-sorter2. Instead of "labelling" images it puts the images into a new folder, put creating the csv you are talking about is a straight forward extension. Compared to the other suggested scripts here image-sorter2 is 100% free of charges and you don't need to spend time on drawing bounding boxes - the script simply opens a GUI for you, you click on one of multiple buttons and correspondingly each image is sorted into the desired class-folder, e.g. "cats", "dogs", "trucks" a.s.o.



                            enter image description here







                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered yesterday









                            NeStackNeStack

                            1




                            1






























                                draft saved

                                draft discarded




















































                                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.




                                draft saved


                                draft discarded














                                StackExchange.ready(
                                function () {
                                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f14039%2ftool-to-label-images-for-classification%23new-answer', 'question_page');
                                }
                                );

                                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







                                Popular posts from this blog

                                How to label and detect the document text images

                                Vallis Paradisi

                                Tabula Rosettana