Back
This document is something that I’ve curated over many years and I share it with my students. I’ve never shared it publicly before but hope that it helps others to write better papers.
It is a bit focused on my core community of computer vision, machine learning, and computer graphics; e.g. CVPR, ICCV, ECCV, NeurIPS, and SIGGRAPH. But I think many of the themes apply to any scientific or engineering discipline.
Good papers are hard to write and are rare. I would like to see more good papers so I’m telling everyone my “secrets”.
Who am I and is my advice any good? I’ve written about 400 papers. Of these, many have won best paper awards. But more importantly, they have won five “test of time awards”. These are awards that are given for work from 10 years ago that has had a significant influence on the field. I want every paper I write to stand the test of time and these tips will help increase your chances.
Conferences are super competitive. Good ideas get rejected all the time.
You may have a great idea but it often feels like reviewers are looking for any excuse to reject your great idea. Don’t give them an easy reason by submitting a sloppy paper. The more polished and professional your paper is, the easier it will be to understand, and the more confidence reviewers will have in your ideas. A well-structured and well-written paper conveys quality to the reviewers. Subconsciously, the quality of your writing will influence their judgment of the quality of your work.
So how do you write a great paper? It starts by reading great papers. Find a paper that you really like and then ask yourself “what did they do?”. Why do you like the paper? How did they structure the argument? A good way to do this is by reading the papers that won awards at the conferences. These are papers that the reviewers thought were good, the AC thought was good, and a panel of senior people thought were good. Their quality jumps out from the first page.
For me, this paper changed how I thought about writing papers
http://www.merl.com/publications/docs/TR93-11a.pdf
In it, Bill Freeman takes a simple observation and then shows how to use it as a powerful and generic property of perception. What I loved about this paper was how he started with a revealing example (Fig 3). I had never seen a paper start with a simple example before but it made so much sense. Once you see it, you get the point immediately. Then you can’t wait to see how he uses the concept.
The best way to write a clear paper is to write a talk first. In a paper it is easy to get lost in the details. In a talk, you have almost no text and you know that your goal is to teach your audience about your idea. This forces you to present things in a progressive and natural order. The order you use to explain things in a talk is the order you should use in your paper.
If you don’t have a talk prepared, find a friend and explain your work to them. What do you tell them and in what order? What do they need to know to understand your contribution? What questions do they ask you? Use this to help you structure your introduction.
First impressions matter. By the end of your intro, the reviewer has likely already decided whether they like the paper or not. If they are positive, you can still screw it up with a muddled technical description and poor experiments. But if they are unhappy after the intro, you are unlikely to be able to save things later. An unhappy reviewer stays an unhappy reviewer. Make their job a pleasure.
The most common and worst paper writing mistake that I see is not writing the paper. The surest way to get your paper rejected is to wait until the day of the deadline to write it. Students often focus on the code and results while ignoring the text. Here is a simple fact to commit to memory
So, I don’t care how great your results are if you don’t have a paper.
I know that some students secretly hope that if they wait long enough that I will write the paper. This used to happen but now the group is too large and this strategy is likely to land you with no paper.
Observation: reading papers doesn’t take long but writing them does. I think that reading papers gives people a distorted sense of how much time it takes to write a good paper. It looks easy when it is finished. In reality, it is a huge effort to make everything clear, consistent, thoroughly supported, logical, elegant, pretty, etc. The biggest mistake I see is that people put off writing until the last day when they are sleep deprived. I can’t emphasize enough how central the writing is to a successful paper.
Writing a paper is a lot of effort. Writing a bad one is at least as much effort as writing a good one (maybe more because it gets rejected and resubmitted a lot). A paper costs the taxpayer about 100K EUR. So, before you start, make sure you have something good. Start by asking yourself these questions
Humans are pretty much the same the world over. We all respond very strongly to stories. The same kinds of stories have been told since there has been language to tell them. There are love stories, heroic stories, quest stories, and more, but these are the only ones you need to know to write a science paper.
In a love story, the boy and girl (or boy and boy or girl and girl) want to be together. Something gets in the way (usually the parents or social class). The obstacle seems insurmountable but love always prevails. We are cheering for the couple to get together and the obstacle makes the final success all the sweeter.
In a quest, the hero struggles, often alone, to achieve a goal that seems insurmountable. They are lost in the wilderness with dangers everywhere. When they finally reach the goal, we are thrilled because we have been with them through the hardship.
In a heroic tale, the hero is only a hero if there is a villain. Every hero needs an antihero. The antihero looks like they will triumph and the world will be in peril. The hero faces adversity after adversity but eventually prevails because of greater strength or wisdom.
The structure of a good science paper is similar to one of the above. There is a goal to be achieved (true love, the Ring, or defeating the villain) but something stands in the way. In a science paper there is some great good that we want and the barriers are the data/math/code etc. Previous methods have failed to achieve the goal. The barriers must be described and you are only a hero if you overcome them. I describe this often as “goal — problem — solution — repeat”.
Define your goal. Make the reader want this by explaining why it is important. Then take it away. This creates the excitement and drama. As a reader, I now want the thing and can’t have it. You then fix this with a clever idea and make it possible. This makes you the hero. But in a really good story that is not the end. On a quest, one faces a series of challenges. Each one must be surmounted.
This rhythm of problem-solution-problem-solution is the clearest way to convey a scientific story in discoverable pieces. You lead the reader from problem to insight in layers. But also, importantly, this subconsciously resonates with the reader because it matches the deep patterns of storytelling that have existed throughout human history.
Memorize this: Goal, Problem, Solution. Follow it religiously until it becomes second nature.
Also, a paper should tell one story (it can have subparts). If you have two big ideas and you put them in one paper, people will only remember one of them. I’ve made this mistake.
I talk about this a lot so I should explain it. The term came from my postdoc advisor, Allan Jepson.
A nugget is a shiny piece of gold (not a chunk of processed fried chicken!). In your paper, it is your key insight. It is the insight that nobody had before. It is the idea that takes a problem that could not be solved and turns it into one that can be solved.
The nugget is how you see the world differently from everyone who has come before you. It is what makes the unsolvable solvable.
The nugget is not your technical contribution. I repeat: it is not your technical contribution. It is the insight that leads to your contribution. It was Max Planck who said “insight precedes innovation”. If you can articulate your insight and share it with the reader, you have done most of your job. The rest is details.
A good nugget often is like a Reese’s Peanut Butter Cup. Two great tastes that taste great together. Often, we find that the field is working on X and it is hard. They are also working on Y and it is hard. But we observe that by doing X and Y together, the problem is easier. This has a nice “surprise” element to it — that two hard problems together are easier than the individual ones.
Here is an example of a nugget from my 1992 paper on optical flow that later won the Helmholz test of time award (https://files.is.tue.mpg.de/black/papers/iccv93.pdf)
Previous work in optical flow estimation has focused on the violation of spatial smoothness at motion boundaries while ignoring violations of the brightness constancy assumption. Within the robust estimation framework, violations of both constraints are treated in a uniform manner and we will demonstrate that this “robustification” of the brightness constancy assumption greatly improves the flow estimates.
What did I do here? The whole field was focused on spatial smoothness. I reformulated how to deal with spatial discontinuities using a robust statistical framework. The “aha” moment here is that this reformulation opens up something that people had not been thinking of. Thinking about optical flow estimation as a robust statistical problem all of a sudden lets you formulate the whole thing in a unified way and this leads to improved results.
This nugget connects to what people already knew and then flips it all around, creating a new opportunity. It is about seeing the world differently.
Note that this nugget does not describe the technical details. Those come later. It describes the insight behind the technical ideas.
What is the key insight? What is the key contribution? Can you reduce this to a short advertisement?
While the abstract is a summary of the paper, you can think of the title as a summary of the abstract. It is the key contribution of the paper condensed to a line of poetry. Like poetry, it should be short and suggestive. It should conjure in the mind the concept of the paper.
If your work is preliminary and you don’t want to overclaim, your paper may be a “Towards” paper; e.g. “Towards Accurate Markerless Human Shape and Pose Estimation over Time”. Some people don’t like “towards” but I think it is appropriate for work that is starting something new.
If your work provides a foundation for something, focuses on providing an insight, opens a new area, then it may be an “On” paper; e.g. “On the unification of line processes, outlier rejection, and robust statistics with applications in early vision”.
Avoid being too cute. I have committed this mistake. It always seems like a good idea at the time but then is embarrassing later — like getting a tattoo when drunk. Catchy, short and memorable are good but remember that it is a science paper and not a marketing pamphlet.
Don’t go crazy trying to get your cool acronym (more below) into your title. Sometimes the Acronym is constructed from a set of words that don’t make a good title. But when you can get the acronym into the title it is usually helpful for people to remember your work — this is particularly true in our field where papers typically come with code and this code has a name.
A catchy, short, and pronounceable acronym helps people remember, refer to, and cite your work. Here is the trick for creating this: Write down all the relevant words, take the first letters and then see what you can spell that sounds relevant or catchy. It helps to practice by playing Scrabble.
A good acronym should be invertible. That is, the acronym should let me infer the words that generated it. At least it should be a reminder of those words. This is why I always make an acronym from the first nouns and/or verbs in the description.
SMPL is a great example. It means “Skinned Multi-Person Linear model”. This is descriptive, but, more important, we designed the model to be “simple”. So this reinforces the key contribution of the model. I conveys the message in the acronym. It is short, easy to pronounce, and distinctive.
Backstory about SMPL: it was originally SIMPLE but I quickly found out that I couldn’t search my email for SIMPLE — too many hits! So we shortened it to SMPL, which is unique and easy to search.
This story about SMPL also argues against using common names like NASA or NeRF, which mean other things.
MANO is also good. It is a model of hands and mano means hand in Spanish. So think about other languages, latin, greek, etc for inspiration. It is a good name but a slightly complicated acronym: hand Model with Articulated and Non-rigid defOrmations. This says to focus on the final acronym — it is ok if the construction is a bit awkward as long as the final name is catchy and conveys the idea. Note: originally we called this “HAND” but the reviewers complained that we can’t own forever the “HAND model”. They were right. This forced us to think of MANO, which is a better name (at least in English) because it is more distinctive. There is only one MANO but many hand models.
For example:
For a paper on dressing 3D bodies, we have these letters to play with:
This gives these letters to play with
MCDPBLVWRH — consonants
AE — vowels
Putting them together, here are short words related to clothing
Now try to figure if any of these make sense:
These all sound like clothing in some way or another. This is the semantic connection you want to make.
If you are not a native English speaker, this is hard. So here is a cheat — this is essentially a game of Scrabble and there are on-line tools for this. Eg enter your letters into here
https://word.tips/scrabble-word-finder/
Of course, you could ask ChatGPT to do all of this for you but that takes the fun out of it. This is a puzzle and a chance to use your creativity to come up with a good name.
You are not alone as you probably have a few co-authors. Don’t assume that they will do the job for you. If you are the first author, the heavy lift will fall on you. Let’s say you are fortunate enough to have one or more *senior* co-authors. They will probably be busy with lots of other things so you can’t rely on them to write your paper.
How to best use a senior co-author. Do not hand them a pile of crap and say “it’s ready for your pass.” Hand them something relatively polished. You waste their time if you have them doing detailed copy editing. You want them to help you refine the arguments. You want them focused on the big stuff, not the small stuff.
Who should be an author and what the order should be is an entirely other conversation so I won’t go into it here.
https://cvpr.thecvf.com/Conferences/2024/ReviewerGuidelines
So the deadline is now in 3 days and your text is in shambles, the results are not coming in as you hoped, and the cluster is being hammered. What do you do?
This is the time for hard decisions in the cold clear light of day. Your dreams of an award-winning submission may have faded but you probably have something useful and novel. Don’t focus on what you don’t have, focus on what you do have. I always describe this as
“Dance with one who brung ya.”
You are at a dance and you see someone you would rather dance with than your date. What do you do? If you are honorable, you dance with your date. So now is the time to settle for what you have and make the most of it. There will be another day, another dance, and another paper deadline. Be realistic and figure out the nugget in what you have, then tell that story. You may be surprised that a smaller story is actually a better story. You may end up loving your date.
What is a teaser image and why is it there? An abstract summarizes the main idea of the paper. The teaser does the same thing but visually. It helps the reader get the main idea before diving into the paper. The abstract and the teaser may be the only thing some people read so the combination should provide a digest of the work.
A teaser can take several forms
Here is how Nature wants an abstract
https://www.nature.com/documents/nature-summary-paragraph.pdf
We are not quite so rigid but it does give you the right idea.
Here is my Mad Libs version of an abstract. Keep the bold words and fill in the rest. You can expand this structure to a full introduction also.
_____ is widely used in computer vision and has applications in ____. Recent work has addressed this problem by _____ . Unfortunately, all of these approaches _________. In contrast, we do something different (insert nugget of an idea). This fixes ___, however, it does not solve ___. Consequently, we develop a novel ____. While promising, ___ is non-trivial. Therefore, we further do something ____. We evaluate ___ qualitatively and quantitatively on ___ and find that it is more accurate than the state of the art. Code and data will be available for research purposes.
Note that this follows the goal-problem-solution pattern multiple times.
Goal — important topic
Problem = “Unfortunately”
Solution = “In contrast, we”
Problem = “While promising”
Solution = “Therefore”
You can add other goals and mix this up in different ways but if your abstract is not using the bold words (or equivalent), you are probably not telling the story well.
Don’t write things like “We are interested in X”. Nobody cares what you are interested in or what you want. What does your audience want? Instead, write something like “X is important because… and X is unsolved because…”. Don’t personalize things. The paper is not about you, it is about the problem in the world. Why is this problem important and unsolved?
A good related work section can push a good paper into a paper that “stands the test of time”.
Many people leave this to the last minute and then throw together a laundry list of the form “Foo et al. did X and it was bad so we do Y.” People use this section to justify their method and show that it is better than others.
A good previous work section gives the reader insight into the history of the field. It provides a starting point for people to learn about the field but, more importantly, gives them a way to think about it. It frames the history in the context of the current paper.
To achieve this, it should *organize* the work into themes or groups — that is, it should point out commonality between methods.
I keep reading papers that say “To the best of our knowledge, we are the first to do X.” That’s fine but then these papers only cite work since 2020. If you only read papers from the last four years then the “best of your knowledge” may not be very good.
As you are working on the previous work section, see how far back you can go. Be a detective. Follow the chain of reasoning back in time.
A good related work section is not a laundry list of what others have done. It teaches. That is, it should organize and summarize the related work. Each paragraph should cover a “topic” and should say what the prior art on that topic got right and what it missed. This is key. You need to analyze the prior art and not just report it.
This may sound strange but use the present tense in this section. Yes, the work happened in the past but, like math it lives on and exists today. So don’t write “Black et al.~\cite{..} proposed …”. Instead write “Black et al.~\cite{..} propose…”. Try it and you will get the hang of it.
Foo bar % % add as many comment lines as you like to make it readable % latex ignores these % \begin{equation} … \end{equation} % % more comment lines if you want % the text that comes next will not be indented as a new paragraph. If you leave a blank line, this line will be indented and you probably don’t want that.
\begin{equation} E(x,y,z) = long equation \end{equation}
You have a couple of options. First you can pull part of the equation into the main text
We define the objective, $E(x,y,z)=$ \begin{equation} long equation \end{equation}
The above is often enough if you are only slightly over. If you are more over, then use \lefteqn
\begin{eqnarray} \lefteqn{E(x,y,z) =} \\ & & part of long equation\\ & & + more of long equation \end{eqnarray}
Fill the 8 pages that you are allowed. If you use 7.5 or 7.35, somehow it looks like you weren’t trying or that you don’t really have enough to say. Everyone is usually scrambling to cut their paper to fit so a reviewer subconsciously thinks you must not be finished or the work must not be substantial.
Proofreading is an art.
The key elements of supplemental material are
If your method involves image sequences, you need a video. Even if you don’t have sequences, a video is a great/different way to tell your story. A good video takes time. Videos are like abstracts and teasers.
This video by Jon Barron is effectively perfect
https://jonbarron.info/mipnerf/
Simply masterful. What does he do?
1. He teaches the idea.
2. He does not try to replicate the paper or its structure in a video. The paper is the paper. The video is something different.
3. He uses the medium to its full extent. That is, he uses the temporal feature of video to illustrate and teach by putting things in motion.
- This means reimagining your figures completely as dynamic things.
- the Positional Encoding segment around 5:42 is a fantastic example of this
- even something as simple as the chart around 6:11 becomes an opportunity to build suspense. He doesn’t put up all the methods at once. Instead he holds back and lets the story build.
Ok, it is longer than our target of 4 minutes but, rules are made to be broken once you have mastered them.
This video really compliments the paper. Do not think about your video as some last-minute compendium of results. Think about this — I can guarantee that more people will watch your video than will read your paper. Yet we put all the emphasis on the paper. Think early and often about how to tell your story in video.
Have fun! Paper writing during a deadline can be stressful but it can also be an exhilarating, shared, experience.
More information