{
  "fetched_at": "2026-10-19T08:42:33Z",
  "source_url": "https://www.kaggle.com/competitions/cornell-cs5785-2016-fall-final/data",
  "pages": [
    {
      "name": "data-description",
      "content": "<h2>File descriptions</h2>\r\n<ul>\r\n<li><strong>images_train</strong> - 10,000 training images of size 224x224.</li>\r\n<li><strong>images_test</strong> - 2,000 test images of size 224x224.</li>\r\n<li><strong>tags_train</strong> - image tags correspond to training images. Each image have several tags indicating the object categories appears in the image, in the form of \"supercategory:category\".</li>\r\n<li><strong>tags_test</strong> - image tags correspond to test images. Each image have several tags indicating the object categories appears in the image, in the form of \"supercategory:category\".</li>\r\n<li><strong>features_train</strong> - features extracted from a pre-trained Residual Network (ResNet) on training set, including 1,000 dimensional feature from classification layer (fc1000) and 2,048 dimensional feature from final convolution layer (pool5).</li>\r\n<li><strong>features_test</strong> - features extracted from a pre-trained Residual Network (ResNet) on test set, including 1,000 dimensional feature from classification layer (fc1000) and 2,048 dimensional feature from final convolution layer (pool5).</li>\r\n<li><strong>descriptions_train</strong> - image descriptions correspond to training images. Each image have 5 sentences for describing the image content.</li>\r\n<li><strong>descriptions_test</strong> - image descriptions for test images. Each image have 5 sentences for describing the image content. <em><strong>Notice that one test description corresponds to one test image. The task you need to do is to return top 20 images in test set for each test description.</strong></em></li>\r\n<li><strong>sample_submission.csv</strong> - a sample submission file in the correct format.</li>\r\n</ul>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "<h1>About The Exam</h1>\r\n<p>The format of the exam is a mock peer-reviewed conference. You will develop an algorithm, prepare a professional paper, submit an anonymized version to the EasyChair conference system, and peer-review the work from other groups. There are three deliverables:</p>\r\n<ul>\r\n<li><strong>Phase 1: Develop your algorithm and write your writeup</strong></li>\r\n<ul>\r\n<li>Develop your algorithm and submit your results to the Kaggle leaderboard. <strong>Deadline: Tuesday, Dec 6, 11:59 PM EST.</strong></li>\r\n<li>Write your paper submission and <a href=\"https://easychair.org/conferences/?conf=iccfeprc2016\">submit to EasyChair</a> using your Program Committee account in the Author role. <strong>Deadline: Tuesday, Dec 6, 11:59 PM EST</strong>. There should be only one submission from each team.</li>\r\n</ul>\r\n<li><strong>Phase 2: Peer-review other groups' work!</strong></li>\r\n<ul>\r\n<li>Write reviews and submit via EasyChair using your Program Committee account. <strong>Deadline: Thursday, Dec 8, 11:59 PM EST</strong>. (Will open after Tuesday)</li>\r\n<li><em>Everybody</em> on each team must log in and complete their peer reviews. (They are not \"per-team\")</li>\r\n</ul>\r\n</ul>\r\n<h1>The Challenge: Build a large-scale image search engine!</h1>\r\n<p>The UK government has just passed an exciting new surveillance bill that allows the government to spy on any citizen for any reason! These new legislative powers record and harvest images from every camera in the world without a warrant. However, government agents do not have the data science skills or coding chops to make sense of this large-scale imagery. The only natural solution: <em>outsourcing the problem to Startups Like Yours!</em> What a delicious opportunity for data scientists to score some sweet public funding! You and your team of <strong>two to three Cornell Tech students</strong> are surely on the path to fame and fortune!</p>\r\n<p>The specifications are simple: Our agents need a way to <strong>search for relevant images</strong> given a natural language query. For instance, if an agent types \"dog jumping to catch frisbee,\" your system will <strong>rank-order the most relevant images</strong> from a large database.</p>\r\n<p>\"This system will be important,\" they tell you! \"We can use it to find propaganda! And contraband! And public enemies! All to protect our country and our children! And root out <em>terrible terrorists</em>!\"</p>\r\n<p>Ignoring the obvious ethical implications, here are some clear specifications:</p>\r\n<ul>\r\n<li><strong>During training,</strong> you have a dataset of 10,000 samples. Each sample has the following data available for learning:</li>\r\n<ul>\r\n<li>A 224x224 JPG image.</li>\r\n<li>A list of tags indicating objects appeared in the image.</li>\r\n<li>Feature vectors extracted using <a href=\"https://arxiv.org/abs/1512.03385\">ResNet</a>, a state-of-the-art Deep-learned CNN (You don't have to train or run ResNet -- we are providing the features for you). See <a href=\"http://ethereon.github.io/netscope/#/gist/b21e2aae116dc1ac7b50\">here</a> for the illustration of the ResNet-101 architecture. The features are extracted from <em>pool5</em> and <em>fc1000</em> layer.</li>\r\n<li>A five-sentence description, used to train your search engine.</li>\r\n</ul>\r\n<li><strong>During testing,</strong> your system matches a <em>single five-sentence description</em> against a pool of 2,000 <em>candidate samples</em> from the test set. Each sample has:</li>\r\n<ul>\r\n<li>A 224x224 JPEG image.</li>\r\n<li>A list of tags for that image.</li>\r\n<li>ResNet feature vectors for that image.</li>\r\n</ul>\r\n</ul>\r\n<ul>\r\n<li><strong>Output</strong>: For each description, your system must <strong>rank-score</strong> each testing image with the likelihood of that image matches the given sentence. Your system then returns the name of the top 20 relevant images, delimited by space. See \"sample_submission.csv\" on <a href=\"https://inclass.kaggle.com/c/cornell-cs5785-2016-fall-final/data\">the data page</a> for more details on the output format.</li>\r\n<li><strong>Evaluation metric</strong>: There are 2,000 descriptions, and for each description, you must compare against the entire 2,000-image test set. That is, rank-order test images for each test description. We will use <strong>MAP@20</strong> as the evaluation metric. If the corresponding image of a description is among your algorithm's 20 highest scoring images, this metric gives you a certain score based on the ranking of the corresponding image. Please refer to <a href=\"https://inclass.kaggle.com/c/cornell-cs5785-2016-fall-final/details/evaluation\">the evaluation page</a> for more details. </li>\r\n</ul>\r\n<p>Use all of your skills, tools, and experience. It is OK to use libraries like numpy, scikit-learn, pandas, etc., as long as you cite them. Use cross-validation on training set to debug your algorithm. Submit your results to the Kaggle leaderboard and send your complete writeup to EasyChair. The data you use --- and the way you use the data --- is completely up to you.</p>\r\n<p>The best teams (of <strong>two to three Cornell Tech students</strong>, recall) might use visualization techniques for debugging (e.g., show top images retrieved by your algorithm and see whether they make sense or not), preprocessing, a nice way to compare tags and descriptions, leveraging visual features and combining them with tags and descriptions, supervised and/or unsupervised learning to best understand how to best take advantage of each data source available to them.</p>\r\n<p>The best reports will be professionally written. It begins with an <strong>Abstract</strong>. Then it follows an <strong>Introduction</strong> section, including motivations of your method, a detailed description of each step in your pipeline / framework you used for this task. It will also contain a detailed <strong>Experiment</strong> section and a <strong>Results</strong> section. If time permits, a <strong>Background / Related Work</strong> section can help to point out the relevant work in the image retrieval literature. Remember to <em>include your team name on Kaggle in your report</em> so we know who you are.</p>\r\n<p>The best reports use a professional style adopted by a major academic conference. NIPS is a good choice. Teams can download a template from Section 4 Paper Format of the <a href=\"https://nips.cc/Conferences/2015/PaperInformation/AuthorSubmissionInstructions\">NIPS Author Guidelines</a>. We recommend you to use the LaTeX template, but this is not a requirement. If you're more familiar with Word, use Word.</p>\r\n<p>The best peer reviews will be detailed and thorough, pointing out potential areas of improvement as well as complimenting their peers' strengths.</p>\r\n<p>The best teams understand how to divide the precious time and energy among all members of the group. They might split into roles, preventing programming students from messing up the writing and ensuring writing gurus don't screw up the code. Close contact is always maintained within top-performing teams. When hardship happens within the best teams, blame is not assigned---it is overcome.</p>\r\n<p>May the best team win. God help us all.</p>\r\n<p>-- Agent Belongie</p>\r\n<h2>Rules</h2>\r\n<p>You are strongly encouraged to work in a group of two students, but no more than three students.</p>\r\n<p>Groups may not collaborate with other groups. You cannot cite other teams' work. This includes sharing data, intermediate and final results, writing, or discussing your detailed method with other groups. You <strong>may not</strong> view reports from other teams until <strong>after</strong> the peer-review phase begins!</p>\r\n<h1>How to anonymize your paper</h1>\r\n<p>The \"Peer Review\" phase will be double-blind. This means authors will not know who the reviewers are, and the reviewers should not know who the authors are. This protects both sides.</p>\r\n<p>To maintain anonymity, <strong>don't</strong> include team member names in the actual paper that you submit to EasyChair!</p>\r\n<p>However, <strong>do</strong> indicate all team member names as authors on the EasyChair web page when you submit your paper! This will be hidden from your reviewers.</p>\r\n<p><img src=\"http://i.imgur.com/F255rFT.png\" alt=\"\" width=\"368\" height=\"309\" /></p>\r\n<h2>Peer Review Tips</h2>\r\n<p>See the following resources for tips on how to write a professional review:</p>\r\n<ul>\r\n<li><span style=\"font-size: 1em; line-height: 1.5em;\">Matthew Might’s notes on </span><a href=\"http://matt.might.net/articles/how-to-peer-review/\" style=\"font-size: 1em; line-height: 1.5em;\">how to peer review</a><span style=\"font-size: 1em; line-height: 1.5em;\"> and </span><a href=\"http://matt.might.net/articles/peer-fortress/\" style=\"font-size: 1em; line-height: 1.5em;\">Peer Fortress: The Scientific Battlefield</a><span style=\"font-size: 1em; line-height: 1.5em;\"> (the last one provides examples NOT to follow)</span></li>\r\n<li><a href=\"http://www.pamitc.org/cvpr16/reviewer_guidelines.php\" style=\"font-size: 1em; line-height: 1.5em;\">CVPR 2016 Reviewer’s Guidelines</a><span style=\"font-size: 1em; line-height: 1.5em;\">.</span></li>\r\n<li><a href=\"http://mobilehci.acm.org/2015/download/ExcellenceInReviewsforHCICommunity.pdf\" style=\"font-size: 1em; line-height: 1.5em;\" class=\"pdf-link\">So You're a Program Committee Member Now: On Excellence in Reviews and Meta-Reviews and Championing Submitted Work That Has Merit</a></li>\r\n</ul>\r\n<h1>How to submit your paper to EasyChair</h1>\r\n<p>Every student should have an email in their Cornell inbox containing a link to sign into EasyChair as a program committee member.</p>\r\n<p>To submit the assignment, the team leader should log into EasyChair and switch to the Author role using the \"Change Role\" menu option on the top right:</p>\r\n<p><img src=\"http://i.imgur.com/omXGAg0.png\" alt=\"\" width=\"372\" height=\"289\" /></p>\r\n<p>From there, the author can start a new submission using the menu on the top left. Be sure to put team members on the web page rather than on the paper PDF itself (see \"How to anonymize your paper\" above). You can come back and change your submission any time before the deadline.</p>\r\n<p><img src=\"http://i.imgur.com/pYFO4dK.png\" alt=\"\" width=\"500\" height=\"324\" /></p>\r\n<h2>Score Breakdown</h2>\r\n<ul>\r\n<li><span style=\"font-size: 1em; line-height: 1.5em;\">30% on Kaggle performance (score on the private test set).</span></li>\r\n<li><span style=\"font-size: 1em; line-height: 1.5em;\">30% on report: is the proposed method clearly described? is it professionally written? does it include enough detail for a professional (ie. skilled graduate student) to re-implement the results? A good report should at least contain a brief introduction of what you did, a detailed description of your method, an experimental evaluation part that shows the experimental results and analysis of your results. </span></li>\r\n<li><span style=\"font-size: 1em; line-height: 1.5em;\">20% on method: does it make sense? is it suited to the task? does it make use of the data in appropriate ways?</span></li>\r\n<li><span style=\"font-size: 1em; line-height: 1.5em;\">10% on peer reviews from other classmates.</span></li>\r\n<li><span style=\"font-size: 1em; line-height: 1.5em;\">10% on the quality of peer review: is it well-written and thoughtful? does it provide insight to the authors?</span></li>\r\n</ul>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "<p>The evaluation metric is <strong>Mean Average Precision at 20 (MAP@20)</strong> on the test set. A good explanation of the metric can be found <a href=\"http://fastml.com/what-you-wanted-to-know-about-mean-average-precision/\">here</a>.</p>\r\n<p>In our case, there is only one true corresponding image. So for a description, suppose your algorithm find the corresponding image in top 20 of your returned list and its ranked i-th, MAP@20 gives a score of</p>\r\n<p>$$score = \\frac{20+1-i}{20}$$</p>\r\n<p>For example, if its ranked 1st, you get 1; if its 11th, you get 0.5; if its 20th, you get 0.05. If the corresponding image is not in your top 20 list, you get 0 score. The overall score is calculated as the average score on the test set.</p>\r\n<p>We divide the test set into two splits: public split and private split. Results on the Leaderboard are evaluated on public split and the private split is used for grading.</p>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "rules",
      "content": "\r\n\t<!-- Begin Base Rules -->\r\n    <h3>One account per participant</h3>\r\n    <p>You cannot sign up to Kaggle from multiple accounts and therefore you cannot submit from multiple accounts.</p>\r\n    <h3>No private sharing outside teams</h3>\r\n    <p>\r\n        Privately sharing code or data outside of teams is not permitted.\r\n        It's okay to share code if made available to all participants on the forums.\r\n    </p>\r\n    <h3>Team Mergers</h3>\r\n    <p>\r\n        Team mergers are allowed and can be performed by the team leader. In order to merge, the combined team must have a total submission count less than or equal to the maximum allowed as of the merge date. The maximum allowed is the number of submissions per day multiplied by the number of days the competition has been running.<br/>\r\n    </p>\r\n\r\n    <h3>Team Limits</h3>\r\n    <p>The maximum size of a team is 3 participants.</p>\r\n    <h3>Anonymous Teams</h3>\r\n    <p>You are allowed to make your team anonymous, which hides participant details.</p>\r\n    <h3>Submission Limits</h3>\r\n    <p>You may submit a maximum of 5 entries per day.</p>\r\n    <p>You may select up to 3 final submissions for judging.</p>\r\n    <h3>Competition Timeline</h3>\r\n    <p>Start Date: <strong>11/29/2016 3:52 PM UTC</strong></p>\r\n    <p>Merger Deadline: <strong>None</strong></p>\r\n    <p>Entry Deadline: <strong>None</strong></p>\r\n    <p>End Date: <strong>12/7/2016 4:59 AM UTC</strong></p>\r\n\t<!-- End Base Rules -->\r\n<p>You are strongly encouraged to work in a group of two students, but no more than three students.</p>\r\n<p>Groups may not collaborate with other groups. You cannot cite other teams' work. This includes sharing data, intermediate and final results, writing, or discussing your detailed method with other groups. You <strong>may not</strong> view reports from other teams until <strong>after</strong> the peer-review phase begins!</p>",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}