HNHacker News
TopNewBestAskShowJobs

apu

4,164 karma · joined October 23, 2007

submissionscomments
apu··on Z-Quads, a spatial coordinate system
I wonder if existing mipmap algorithms and hardware could be used for this kind of representation?
apu··on BKS Iyengar, who helped bring yoga to the West, has died
A fascinating take on yoga and exercise from British documentarian Adam Curtis: http://www.bbc.co.uk/blogs/adamcurtis/posts/bodybuilding_and...
apu··on Ask HN: How to tell what's true from false or right or wrong?
Many people here are writing about various techniques/books that talk about science, i.e., for distinguishing scientific truths from non-scientific falsehoods, but as a scientist myself (well ok, computer "scientist"), I think in some sense we give "science" too much credit. There are things we consider "truths" in science which are actually only a veneer on "beliefs as of today" -- i.e., not that far removed from even such non-scientific things as e.g. "religion".

This is very abstract, but more concretely, what I mean is that it helps to read about the philosophy/history of science. The canonical recommendation here is Thomas Kuhn's The Structure of Scientific Revolutions [1], but I also strongly recommend watching James Burke's Connections tv series [2] and then watching or reading his The Day the Universe Changed [3] to understand how our entire conception of "reality" or "truth" is so strongly determined by the technology of the time.

Finally, there are lots of "truths" in fields where this is no scientific basis to fall-back on -- politics, art, etc. For these, you have to seek out and find the best elucidators of each field (usually, but not always, books).

[1] http://en.wikipedia.org/wiki/The_Structure_of_Scientific_Rev...

[2] http://en.wikipedia.org/wiki/Connections_%28TV_series%29

[3]

apu··on Transient Attributes for High-Level Understanding and Editing of Outdoor Scenes
Agreed. Perhaps a mod could change the link?
apu··on First-Person Hyper-lapse Videos
Seriously, this is what you're going to talk about? Nothing about the technology? And it's "disappointing"?
apu··on Court Rejects Silicon Valley Hiring Settlement
And has this been true historically for the banking industry? Or did the workers claw more and more of the compensation over time?
apu··on PicnicHealth (YC S14) Stores Your Medical Records In One Place
Protip: accusing someone of sounding like a shill rarely leads to productive discussion.
apu··on Tracking.js - A modern approach for computer vision on the web
The Viola-Jones technique is still fairly competitive for face detection performance, IF you train it with a lot of data (and of course good data, which means with all the types of variations you expect to see). However, the pre-trained classifier provided with OpenCV is terrible (unless they've updated it recently).

Fortunately, OpenCV provides functions to train your own classifier using your own data, so if you can get good data, and are willing to wait for the week or two it'll take to process, you can get much better performance using the same technique.

Finding sufficient training data (labeled faces) is more tricky. For an automated approach, you could try bootstrapping it by simply running a more state-of-the-art detector (such as on Facebook, Google, etc.) and feedings the outputs into the training function (you'll need to do some work to actually get the outputs programmatically, perhaps through undocumented APIs).

Another approach is to use an existing face dataset. One possibility is the FDDB [1] although it's kind of small (5171 faces). Unfortunately, most other datasets I know of in the face community are either unrealistic images (e.g., only "mugshot"-style) or were detected using OpenCV (and thus won't help you get better).

The final approach is to label images yourself, which would require time and money (e.g., to do it on Amazon Mechanical Turk).

If you do decide to retrain classifiers, it's essential that you augment your data in various ways, such as by mirroring images (and labels) left/right, generating slightly rotated versions of faces, and at slightly different sizes. This augmentation can GREATLY improve the performance of your detector.

[1] http://vis-www.cs.umass.edu/fddb/index.html

apu··on A Face Recognition Algorithm That Finally Outperforms Humans
No, the 97.53 is more fair. See here: https://news.ycombinator.com/item?id=7638269
apu··on A Face Recognition Algorithm That Finally Outperforms Humans
The problem with more pairings is that you have a greater chance of identifying the right person because of their additional photos, but that gets offset by the huge number of photos of everyone else in the database that you will now also get lots of "hits" on.

For example, you might get lucky and 2 of the 3 test photos you have match well with 2 of the 5 database photos of the right person. But if you have enough people in the database, you're almost guaranteed to find some random person where all 3 of the test photos match quite well. So it often comes down to how you combine the results from the different test images. Do you take the max? Do you average them? etc. Each has different tradeoffs, and it's a topic under research at the moment ("image set recognition"), but I'd say there are no compelling results yet.

Some personal devices might indeed be tuned for relatively fewer people, but these are precisely the cases that are the toughest: distinguishing between people in the same family, who're all going to look much more similar to each other than random people in a large database.

But there are many scenarios where it might actually be distinguishing between 1000s of people. To take but one example, advertising. On the web, advertising is popular not just because it's "easy" and one of the few ways of successfully monetizing a site, but also because knowing more about a person allows for more targeted advertising which has a much bigger ROI. How would this translate to the "real world?" Personalization is clearly one of the ways to do this, and face recognition is ideal in many respects, given that it works from a distance, is non-invasive, and cheap to implement. (Obviously, there's a separate debate to be had about privacy and other issues, but I think it's hard to deny that many companies are interested in this.)

I'm not sure that face recognition will be used for security purposes like house/car locks, just because it seems like other devices might get you better security sooner and cheaper (like RFID tags used in some car keys now, or some sort of ID from your phone).

apu··on A Face Recognition Algorithm That Finally Outperforms Humans
I'm not sure that's the distinction I'd use. To me, it seems more to be a matter of the kind and amount of training data you have.

If you have a ton of labeled data (either for the exact task you're doing, or a related one), DL often wins because it's sufficiently high-capacity to learn sophisticated models from all that data.

On the other hand, if you don't have enough data, then the deep network isn't going to be learnable, in which case hand-tuned methods might do better, depending on how much "domain expertise" you can bake into the system. Faces are a very constrained domain, and since there has been enormous work on them for decades now, it's one area that non-DL algorithms probably still have somewhat of a fighting chance (until people gather & label large enough databases, of course).

apu··on A Face Recognition Algorithm That Finally Outperforms Humans
People are really good at face recognition in real-life, because you have not just a static 2-d view of a person completely out-of-context, but a fully dynamic 3-d view of someone you've probably seen before and you know the lighting environment you're in, meaning you can easily factor out those effects.

A computer algorithm operating on single 2d images (like LFW) has none of that. If you were to ask people to do the same task with the same data, they'd probably still do pretty well (much better than computers), but perhaps not perfectly.

The differences between image-to-image (same person) and different people is exactly what makes this problem so tough in the general case. It was shown about 20 years ago now that faces span a fairly low-dimensional manifold, and across different parts of this manifold, faces of different people do look much more similar than faces of the same person.

I probably shouldn't have explicitly written that formula for recognition, since it's not actually the formula, but more a general scaling rule-of-thumb. But even if we take it as given (hypothetically), there would be several issues. First, remember that 97.53% is on this particular dataset, which is very special in many ways (e.g., it was all collected over the course of a year from photos on Yahoo News, of public figures, with relatively lower-resolution images, and often very distinctive backgrounds). On a more realistic dataset, these numbers would be much lower.

Second, having more images of a person does help, but not nearly as much as you'd hope, because now there's an even bigger chance that you might accidentally match against someone else who happened to have their photo taken in the same pose, lighting conditions, and facial expression as your test photo, and it's very tough for algorithms to discount those confounding factors.

As for other applications of face recognition, let me describe one broad area that I think is pretty exciting, rather than a bunch of specific instances. One of the big shifts in user interface design is going to be "personalization" (to varying degrees). If a program or device or robot can recognize who you are, it can pro-actively change its settings/behavior/performance/etc. to better suit you. A very simple example is the new Kinect, which does some sort of recognition to load your saved profile/controller preferences. But that's just the tip of the iceberg.

And then of course there's personal photo collection management. If your photo organizer knew who everyone was in all your photos, it would be immensely useful in a number of ways. For starters, you could easily search for "photos of me & and my sister" or "my family", etc. You could also do more advanced analysis to start to get at more subtle things. For example, "my high school debate trip" might not immediately seem like it's related to face recognition, but in fact recognition might get you 90% of the way there.

Finally, if you've made it this far, I might as well plug my recent paper, "Photo Recall" [1], which looks at how to do advanced searches on your photo collection. Our system doesn't currently handle faces, but if you look at the kinds of queries we can do, it should become clear how they might extend with faces.

[1] http://homes.cs.washington.edu/~neeraj/projects/photo-recall...

apu··on A Face Recognition Algorithm That Finally Outperforms Humans
Sure, but the numbers in the research paper are "pure" (i.e., not using all this additional information). In production, I'm sure they must be using all these additional cues as well.
apu··on A Face Recognition Algorithm That Finally Outperforms Humans
No. Alignment is done by every face verification method, and even the "new" 3d alignment done here is on par with other alignment methods in practice today.

At their talk at CVPR, they made clear that the biggest factor in getting their numbers was having tons of training data and a high-capacity learning model. The paper even shows that if you replace their 3d alignment with a standard 2d affine alignment (something people were doing 15 years ago), you lose only 1.5% on LFW (table 2).

apu··on A Face Recognition Algorithm That Finally Outperforms Humans
Here's the paper: https://www.facebook.com/publications/546316888800776/

The methods are quite different, but I think at root, it's just more being able to take advantage of much more training data.

The 97.53% "human performance" number comes from my paper from a few years ago [0]. We initially thought that there's no way we would be able to do that well on this task (manually) either, but then we tried it and our scores were much higher (very close to 100%). So the verification task on LFW is actually not that hard, although in part it's because the dataset consists of public figures and therefore you can recognize many of the people outright if you've seen them before. (We tried to measure this in our human studies but found it to be inconclusive.)

3% is not the right way to look at error rates, btw. See [1] for why. But also, face verification is more of a low-level building block for recognition, because most real-world applications don't directly care about saying whether two faces are the same person or not ("verification"), but "who is this person?" ("recognition"). A simple way to build recognition from verification is to compare a test face against all faces in the database, and then take the one that gets ranked highest. In that (simplistic) scenario, your recognition rate scales (very roughly) as acc^lg(N), where N is the number of people in your database and acc is the verification accuracy. So if, e.g., you had 100,000 people to recognize from and your verification accuracy was 97.53%, you might have a recognition accuracy of ~66% (very roughly!), which is not great.

Finally, there are already lots of applications to face recognition other than surveillance, and many more waiting to be discovered.

[0] http://homes.cs.washington.edu/~neeraj/projects/faceverifica...

[1] https://news.ycombinator.com/item?id=7393438

apu··on A Face Recognition Algorithm That Finally Outperforms Humans
sigh no, it doesn't "outperform humans" on "face recognition". In particular, see my previous comments [1] and [2] for discussion on why this method might be doing well.

As for "outperforming humans", a more accurate statement might be, "this algorithm outperforms (for this simplistic task) one experiment done with a limited set of humans on this one particular dataset which has been in the community for 10 years now and is thus highly gameable."

But I realize that's a lot less pithy.

In particular, this dataset is nearing saturation, and whenever that happens, differences in the accuracy numbers often don't mean much. So for example with Facebook's number at 97.53% and this paper's at 98.52%, you're talking about the difference between getting 148 pairs of faces wrong vs 89 pairs wrong. In practical terms, as a researcher working with a dataset like this, you very quickly learn to focus on just the ones your algorithm gets wrong, and it's impossible to not subconsciously try to optimize for getting those few cases correct, even if those techniques wouldn't actually help in the general case.

[1] https://news.ycombinator.com/item?id=7637866

[2] https://news.ycombinator.com/item?id=7638269

apu··on “Good Artists Copy; Great Artists Steal” (2013)
Where is this from?
apu··on Introducing Canvas – a new way to build emails
I can't tell if you understand parent's comment and are playing along or genuinely missed the point...
apu··on What the Theory of “Disruptive Innovation” Gets Wrong
Heh, a nice piece of post-hoc rationalization. Compare to this article in the newyorker from 2 years ago (different author, but still...): http://www.newyorker.com/reporting/2012/05/14/120514fa_fact_...

(h/t to Jay Rosen on twitter: https://twitter.com/jayrosen_nyu )

apu··on Things I’ve Learned From Marc Andreessen
It's black-on-white for me.
apu··on Vodafone reveals direct government wiretaps
This is exactly the sense I get. Plus, he's a programmer ("one of us") and a lawyer ("one of them") and can thus bridge the gap between the tech world and the "real" world -- if anything, we should be hoping for 100 more rayiners on HN.
apu··on What's the story with the Makerbot patent?
But it's often not clear what the outcome of research will be -- unexpected results can start off as being simply the next iteration of an existing technology.
apu··on The Man Who Single-Handedly Converted a Washed-Out Land Into a 1,360 Acre Forest
It's a really phenomenal film. It was shown a couple of years ago at SIGGRAPH's annual animation festival with John Lasseter (of Pixar) introducing it and saying it was one of his favorite films and a real inspiration to him.

Frederic Back (the creator of the film), was present as well, though not in great health. When he was brought on stage (I think after the screening), Lasseter had tears in his eyes.

Sadly, Back died at the end of last year.

We spent the whole day in silence, walking through his forest. It was in three sections, and measured 11 kilometres long and 3 kilometres at its widest. When I reminded myself that all this was the work of the hand and soul of one man, with no mechanical help, it seemed to me that men could be as effective as God in tasks other than destruction.

apu··on Prefix Sums and Their Applications (1993) [pdf]
These are also related to "Integral Images" or "Summed Area Tables" [1] which are used in computer vision and graphics (resp.) for many purposes (most prominently in the Viola-Jones face detector). The benefit is that taking the sum of any axis-aligned rectangle becomes a constant time operation:

  sum = bottom right - top right - bottom left + top left 
(if numbering starts from top-left). You can also compute variances in constant time this way by summing squares of numbers, etc.

[1] http://en.wikipedia.org/wiki/Integral_image

apu··on Baidu Hires Andrew Ng
The other responses to your question tell only part of the story. Yes, the academic groups that work in deep learning publish papers describing their methods. But these papers are rarely sufficient to be able to recreate the models they built.

There's a lot of other knowledge/expertise/intuition that's required to make working implementations. There have been some deep learning tutorials at recent conferences that might be more in-depth. (See my previous comment [1] for details.)

Another good way to learn is to look at some open source implementations, such as caffe from berkeley [2] or overfeat from NYU [3].

In addition to showing how to choose architectures or set params, they also have tricks for speeding things up. This is actually very important, as they can make orders of magnitude difference (training in hours vs days).

[1] https://news.ycombinator.com/item?id=7742192

[2] http://caffe.berkeleyvision.org/

[3] https://github.com/sermanet/OverFeat

apu··on The Curse of Dimensionality in Classification
Although not widely known, the best way to learn about specific computer vision topics in detail is usually through the websites for tutorials held at the premiere computer vision conferences. These are CVPR, ICCV, and ECCV. For example, here are the tutorials held at ICCV 2013: http://www.iccv2013.org/tutorials.php

If you click through, you'll see that most of them have links to slides, and some even have video coverage and/or links to software as well. They're also usually presented by experts in that area.

Finally, note that even if the most recent conferences don't have relevant tutorials for what you're looking for, you can still often find good material by going back further in time (e.g., tutorials presented 2 or more years ago). Although the state of the art may have advanced since then, the fundamentals usually don't change very frequently.

apu··on Show HN: Vhoto – Find photos in your videos
While you make a valid point (for some people), please try to be more civil.

Remember that a real person spent time & energy working on writing and releasing this app. You likely wouldn't say your last sentence to this person in real life, so please refrain from writing it here.

apu··on Skype group video calling becomes free
This kind of comment is not appreciated here.
apu··on Technology Giants Settle Hiring Suit
Also note how cavalierly and routinely the Times (and most other "traditional" publishers) avoid actually linking to this thread, or basically anything other than internal links to other Times articles.
apu··on A Face Recognition Algorithm That Outperforms Humans?
Generally, new results aren't added to LFW until after the conference takes place. CVPR will happen at the end of June this year.
← PreviousPage 2 of 22Next →