{
  "id": 313697,
  "title": "Why most of people use Arcface?",
  "url": "/competitions/happy-whale-and-dolphin/discussion/313697",
  "author_name": "",
  "post_date": "2022-03-18T13:04:27.277419100Z",
  "votes": 10,
  "comment_count": 14,
  "views": 0,
  "content": "<p>I am a student studying. I'm taking part in this competition, and I'm curious as to why most people use Arcface.<br>\n\u001dI am reading the paper. Since it is introduced as a technology related to facial recognition, can someone tell me how it relates to this competition? </p>\n<p>thank you</p>",
  "messages": [
    {
      "id": "1727940",
      "postDate": "03/18/2022 13:04:27",
      "content": "<p>I am a student studying. I'm taking part in this competition, and I'm curious as to why most people use Arcface.<br>\n\u001dI am reading the paper. Since it is introduced as a technology related to facial recognition, can someone tell me how it relates to this competition? </p>\n<p>thank you</p>",
      "rawMarkdown": "I am a student studying. I'm taking part in this competition, and I'm curious as to why most people use Arcface.\n\u001dI am reading the paper. Since it is introduced as a technology related to facial recognition, can someone tell me how it relates to this competition? \n\nthank you",
      "votes": null
    },
    {
      "id": "1727973",
      "postDate": "03/18/2022 13:42:03",
      "content": "<p>We are identifying individual whales and dolphins based on their fins (which are unique to each individual), so we are in essence doing facial recognition but on whales and dolphins. </p>",
      "rawMarkdown": "We are identifying individual whales and dolphins based on their fins (which are unique to each individual), so we are in essence doing facial recognition but on whales and dolphins.",
      "votes": null
    },
    {
      "id": "1728082",
      "postDate": "03/18/2022 15:14:50",
      "content": "<p>So the key point is the subtleness of the difference, is this understanding right？</p>",
      "rawMarkdown": "So the key point is the subtleness of the difference, is this understanding right？",
      "votes": null
    },
    {
      "id": "1728125",
      "postDate": "03/18/2022 15:51:37",
      "content": "<p>Yup, the key features we are trying to learn are the subtle differences between different fins such as scarring and pigmentation. </p>",
      "rawMarkdown": "Yup, the key features we are trying to learn are the subtle differences between different fins such as scarring and pigmentation.",
      "votes": null
    },
    {
      "id": "1728132",
      "postDate": "03/18/2022 15:55:56",
      "content": "<p>Thank you for your reply. For example, in the case of a classification problem that determines plant disease, we often judge by looking at the overall image, so \bI thought of this problem as a very simple classification problem.</p>",
      "rawMarkdown": "Thank you for your reply. For example, in the case of a classification problem that determines plant disease, we often judge by looking at the overall image, so \bI thought of this problem as a very simple classification problem.",
      "votes": null
    },
    {
      "id": "1728187",
      "postDate": "03/18/2022 16:34:40",
      "content": "<p>Yeah its a bit more complicated than a simple classification problem. </p>",
      "rawMarkdown": "Yeah its a bit more complicated than a simple classification problem.",
      "votes": null
    },
    {
      "id": "1728354",
      "postDate": "03/18/2022 19:56:22",
      "content": "<p>While this is seems like a simple image classification problem, like MNIST digits, there is one very important difference, i.e. new class known as new_individual in the test set. Hence, your NN has to learn to distinguish ANY new whale from the existing 15587 unique training whale species. This is where ArcFace comes in, it provides for a way to confidently say that an input image does not belong to any of the output layer neuron classes, by clustering embeddings obtained from penultimate layer of neurons. <br>\nWithout ArcFace, any image will be classified as one of the 15587 individuals from training set, best you can do then is to have a confidence lower bound below which you classify as a new individual. ArcFace is obviously better than this naive alternative. Hence most people use ArcFace, it's all about successfully identifying new whale individual's image.</p>",
      "rawMarkdown": "While this is seems like a simple image classification problem, like MNIST digits, there is one very important difference, i.e. new class known as new_individual in the test set. Hence, your NN has to learn to distinguish ANY new whale from the existing 15587 unique training whale species. This is where ArcFace comes in, it provides for a way to confidently say that an input image does not belong to any of the output layer neuron classes, by clustering embeddings obtained from penultimate layer of neurons. \nWithout ArcFace, any image will be classified as one of the 15587 individuals from training set, best you can do then is to have a confidence lower bound below which you classify as a new individual. ArcFace is obviously better than this naive alternative. Hence most people use ArcFace, it's all about successfully identifying new whale individual's image.",
      "votes": null
    },
    {
      "id": "1728424",
      "postDate": "03/18/2022 22:09:08",
      "content": "<p>Thanks for the explanation. Now I understand why ArcFace is used 🙂</p>",
      "rawMarkdown": "Thanks for the explanation. Now I understand why ArcFace is used 🙂",
      "votes": null
    },
    {
      "id": "1730172",
      "postDate": "03/21/2022 02:04:27",
      "content": "<p>are there any distance loss instead arcface that can work better?<br>\nI've just used curricularface loss but it give me worse result</p>",
      "rawMarkdown": "are there any distance loss instead arcface that can work better?\nI've just used curricularface loss but it give me worse result",
      "votes": null
    },
    {
      "id": "1730348",
      "postDate": "03/21/2022 06:57:12",
      "content": "<p>I have the same question.I use arcface because most of competitors use it.😂</p>",
      "rawMarkdown": "I have the same question.I use arcface because most of competitors use it.😂",
      "votes": null
    },
    {
      "id": "1730349",
      "postDate": "03/21/2022 06:59:24",
      "content": "<p>Best answer!</p>",
      "rawMarkdown": "Best answer!",
      "votes": null
    },
    {
      "id": "1731457",
      "postDate": "03/22/2022 11:41:52",
      "content": "<p>I think it should be based on arcface. Many people are using it 😂😂😂</p>",
      "rawMarkdown": "I think it should be based on arcface. Many people are using it 😂😂😂",
      "votes": null
    },
    {
      "id": "1733381",
      "postDate": "03/24/2022 08:16:42",
      "content": "<p>I discuss some advantages of ArcFace <a href=\"https://www.kaggle.com/competitions/shopee-product-matching/discussion/226279\" target=\"_blank\">here</a> with pictures.</p>",
      "rawMarkdown": "I discuss some advantages of ArcFace [here][1] with pictures.\n\n[1]: https://www.kaggle.com/competitions/shopee-product-matching/discussion/226279",
      "votes": null
    },
    {
      "id": "1733387",
      "postDate": "03/24/2022 08:23:58",
      "content": "<p>Indeedio! I'd referred your well-explained topic on ArcFace. Thanks for sharing <a href=\"https://www.kaggle.com/cdeotte\" target=\"_blank\">@cdeotte</a> 👌</p>\n<p>As Aaftaab very well explained, ArcFace confidently claim an input image which doesn't belong to any of output layer neuron classes - by clustering embeddings obtained from penultimate layer of neurons. Or else the new image (entry) will be classified as one of the available labels of training set and in such case, confidence level are so low that you can't even take the model any further for consideration. </p>",
      "rawMarkdown": "Indeedio! I'd referred your well-explained topic on ArcFace. Thanks for sharing @cdeotte 👌\n\nAs Aaftaab very well explained, ArcFace confidently claim an input image which doesn't belong to any of output layer neuron classes - by clustering embeddings obtained from penultimate layer of neurons. Or else the new image (entry) will be classified as one of the available labels of training set and in such case, confidence level are so low that you can't even take the model any further for consideration.",
      "votes": null
    },
    {
      "id": "2605991",
      "postDate": "01/17/2024 11:24:55",
      "content": "<p>thank your reply,I have a question about arcface，after I get a feature vector of the image through arcface, how do I determine whether it belongs to new_individual?</p>",
      "rawMarkdown": "thank your reply,I have a question about arcface，after I get a feature vector of the image through arcface, how do I determine whether it belongs to new_individual?",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1727973,
      "author_name": "vexxingbanana",
      "author_url": "",
      "post_date": "03/18/2022 13:42:03",
      "content": "<p>We are identifying individual whales and dolphins based on their fins (which are unique to each individual), so we are in essence doing facial recognition but on whales and dolphins. </p>",
      "votes": null,
      "replies": [
        {
          "id": 1728082,
          "author_name": "alanhabrony",
          "author_url": "",
          "post_date": "03/18/2022 15:14:50",
          "content": "<p>So the key point is the subtleness of the difference, is this understanding right？</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1728125,
          "author_name": "vexxingbanana",
          "author_url": "",
          "post_date": "03/18/2022 15:51:37",
          "content": "<p>Yup, the key features we are trying to learn are the subtle differences between different fins such as scarring and pigmentation. </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1728132,
          "author_name": "loveacaji",
          "author_url": "",
          "post_date": "03/18/2022 15:55:56",
          "content": "<p>Thank you for your reply. For example, in the case of a classification problem that determines plant disease, we often judge by looking at the overall image, so \bI thought of this problem as a very simple classification problem.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1728187,
          "author_name": "vexxingbanana",
          "author_url": "",
          "post_date": "03/18/2022 16:34:40",
          "content": "<p>Yeah its a bit more complicated than a simple classification problem. </p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1728354,
      "author_name": "aaftaabv",
      "author_url": "",
      "post_date": "03/18/2022 19:56:22",
      "content": "<p>While this is seems like a simple image classification problem, like MNIST digits, there is one very important difference, i.e. new class known as new_individual in the test set. Hence, your NN has to learn to distinguish ANY new whale from the existing 15587 unique training whale species. This is where ArcFace comes in, it provides for a way to confidently say that an input image does not belong to any of the output layer neuron classes, by clustering embeddings obtained from penultimate layer of neurons. <br>\nWithout ArcFace, any image will be classified as one of the 15587 individuals from training set, best you can do then is to have a confidence lower bound below which you classify as a new individual. ArcFace is obviously better than this naive alternative. Hence most people use ArcFace, it's all about successfully identifying new whale individual's image.</p>",
      "votes": null,
      "replies": [
        {
          "id": 1728424,
          "author_name": "loveacaji",
          "author_url": "",
          "post_date": "03/18/2022 22:09:08",
          "content": "<p>Thanks for the explanation. Now I understand why ArcFace is used 🙂</p>",
          "votes": null,
          "replies": [
            {
              "id": 2605991,
              "author_name": "zuoshun",
              "author_url": "",
              "post_date": "01/17/2024 11:24:55",
              "content": "<p>thank your reply,I have a question about arcface，after I get a feature vector of the image through arcface, how do I determine whether it belongs to new_individual?</p>",
              "votes": null,
              "replies": []
            }
          ]
        },
        {
          "id": 1730349,
          "author_name": "yangranran",
          "author_url": "",
          "post_date": "03/21/2022 06:59:24",
          "content": "<p>Best answer!</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1730172,
      "author_name": "dqhdqmcttdqx",
      "author_url": "",
      "post_date": "03/21/2022 02:04:27",
      "content": "<p>are there any distance loss instead arcface that can work better?<br>\nI've just used curricularface loss but it give me worse result</p>",
      "votes": null,
      "replies": [
        {
          "id": 1730348,
          "author_name": "yangranran",
          "author_url": "",
          "post_date": "03/21/2022 06:57:12",
          "content": "<p>I have the same question.I use arcface because most of competitors use it.😂</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1731457,
          "author_name": "loveacaji",
          "author_url": "",
          "post_date": "03/22/2022 11:41:52",
          "content": "<p>I think it should be based on arcface. Many people are using it 😂😂😂</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1733381,
      "author_name": "cdeotte",
      "author_url": "",
      "post_date": "03/24/2022 08:16:42",
      "content": "<p>I discuss some advantages of ArcFace <a href=\"https://www.kaggle.com/competitions/shopee-product-matching/discussion/226279\" target=\"_blank\">here</a> with pictures.</p>",
      "votes": null,
      "replies": [
        {
          "id": 1733387,
          "author_name": "surajjha101",
          "author_url": "",
          "post_date": "03/24/2022 08:23:58",
          "content": "<p>Indeedio! I'd referred your well-explained topic on ArcFace. Thanks for sharing <a href=\"https://www.kaggle.com/cdeotte\" target=\"_blank\">@cdeotte</a> 👌</p>\n<p>As Aaftaab very well explained, ArcFace confidently claim an input image which doesn't belong to any of output layer neuron classes - by clustering embeddings obtained from penultimate layer of neurons. Or else the new image (entry) will be classified as one of the available labels of training set and in such case, confidence level are so low that you can't even take the model any further for consideration. </p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "1727940": "I am a student studying. I'm taking part in this competition, and I'm curious as to why most people use Arcface.\n\u001dI am reading the paper. Since it is introduced as a technology related to facial recognition, can someone tell me how it relates to this competition? \n\nthank you",
    "1727973": "We are identifying individual whales and dolphins based on their fins (which are unique to each individual), so we are in essence doing facial recognition but on whales and dolphins.",
    "1728082": "So the key point is the subtleness of the difference, is this understanding right？",
    "1728125": "Yup, the key features we are trying to learn are the subtle differences between different fins such as scarring and pigmentation.",
    "1728132": "Thank you for your reply. For example, in the case of a classification problem that determines plant disease, we often judge by looking at the overall image, so \bI thought of this problem as a very simple classification problem.",
    "1728187": "Yeah its a bit more complicated than a simple classification problem.",
    "1728354": "While this is seems like a simple image classification problem, like MNIST digits, there is one very important difference, i.e. new class known as new_individual in the test set. Hence, your NN has to learn to distinguish ANY new whale from the existing 15587 unique training whale species. This is where ArcFace comes in, it provides for a way to confidently say that an input image does not belong to any of the output layer neuron classes, by clustering embeddings obtained from penultimate layer of neurons. \nWithout ArcFace, any image will be classified as one of the 15587 individuals from training set, best you can do then is to have a confidence lower bound below which you classify as a new individual. ArcFace is obviously better than this naive alternative. Hence most people use ArcFace, it's all about successfully identifying new whale individual's image.",
    "1728424": "Thanks for the explanation. Now I understand why ArcFace is used 🙂",
    "1730172": "are there any distance loss instead arcface that can work better?\nI've just used curricularface loss but it give me worse result",
    "1730348": "I have the same question.I use arcface because most of competitors use it.😂",
    "1730349": "Best answer!",
    "1731457": "I think it should be based on arcface. Many people are using it 😂😂😂",
    "1733381": "I discuss some advantages of ArcFace [here][1] with pictures.\n\n[1]: https://www.kaggle.com/competitions/shopee-product-matching/discussion/226279",
    "1733387": "Indeedio! I'd referred your well-explained topic on ArcFace. Thanks for sharing @cdeotte 👌\n\nAs Aaftaab very well explained, ArcFace confidently claim an input image which doesn't belong to any of output layer neuron classes - by clustering embeddings obtained from penultimate layer of neurons. Or else the new image (entry) will be classified as one of the available labels of training set and in such case, confidence level are so low that you can't even take the model any further for consideration.",
    "2605991": "thank your reply,I have a question about arcface，after I get a feature vector of the image through arcface, how do I determine whether it belongs to new_individual?"
  },
  "source": "meta"
}