Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Given the cost of high quality ink and paper, one wonders how much less than $1 those bills cost to make.


It's likely an economy-of-scale: bigger the operation, the better the ROI. Low volume would be expensive.


Given that it was a decade and a half ago, and that even today's vending machine recognizers probably don't do much beyond making sure a few relatively gross features are present, I doubt the cost per counterfeit was all that close to $1.


You are absolutely, positively wrong on this front. The new bill detectors use PCA and SVM to analyze notes. They're so good the treasury department buys them because they're better than the best systems out there.

Generally, however, the vending business is quite cheap. They buy the low end machine because there's not really a reason to bother buying the more expensive ones. However, go to a casino, or a foreign country that uses large bills, and you'll find the story is totally different. The machines are incredibly good.

* Source: I worked in this industry for years.


> They're so good the treasury department buys them because they're better than the best systems out there.

I.e. they are the best systems out there?


That does seem like an ideal application for support vector machines. Do you know what kind of basis they use for SVM? Is it the usual exponential approach or something more specific to currency features?


Yes, I know. No, I can't tell you.


Out of moral or professioal obligation?


Does it matter?


>They're so good the treasury department buys them because they're better than the best systems out there.

This phrasing is gold. "Our product is so good, the government buys it because it's better than the best thing out there." :)


The treasury's best testing mechanisms are destructive.


Spectrum Analyzers?


The new bill detectors use PCA and SVM to analyze notes.

What sort of features?


You're right, that's the critical question. SVM on a picture of the note would be useless against all but the 12 year olds with paper and scissors. There's no reason to believe that the differentiating features from next years' printers would be separated by the same support vectors.

I think the real security is still in features that require expensive equipment to duplicate. Is it really that hard to use cheapo photodetectors to verify differential transmission/reflection (watermark), angle-dependent coloration (hologram), or to do some primitive spectroscopy (UV even) with a plastic lens and $10 CCD?

SVM might be a easy way to aggregate the features, but in that case it's just a calibration method and doesn't give any indication of the underlying security.


And this is where you're wrong. Most detectors use a PIN diode or a phototransistor. Both work just fine with the SVM.

Again, the security given in these detectors is SO good that even if I were to give you complete knowledge of the system, you can't beat them. I can't admit to having made counterfeits, but I can say that I've seen _all_ of them, and they do not work.


No, you haven't seen them all. That's a silly claim. And if the detector is what you say, I'm about 80% sure I know both why it worked so well and how to defeat it.

As much as I wish I could make a bet with you and test this, I wish for trouble from the secret service even less, so I guess that's off the table.


I will tell you, with full knowledge of how they work, I am incapable of beating the machines for US bills. Some other currencies have better and worse protection (generally better), but I _know_ I cannot beat the machines in the US.


I wouldn't expect that someone who attributes the differentiating power of the machines to SVM would be able to beat them on any kind of bill.


Also, BTW, UV doesn't work on banknotes. If you wash a banknote with detergent, the paper absorbs the UV frequency bending stuff in modern detergents and corrupts the note. However, your thinking isn't far off.


"The primary method vending machines use to recognize the denomination of paper money is through a magnetic scan; paper currency is printed with magnetic ink, similar to the ink on the MICR line of a check, that makes it easily identifiable to machines with magnetic scanners. In addition, each denomination is marked with different fluorescent properties. Many vending machines and other machines that read paper currency use an ultraviolet light to scan the bill, read the fluorescent response and issue the appropriate credit."


Incorrect. The magnetic detectors haven't been manufactured or sold since the early 80s.

The simplest machines do use 2 narrow optical detectors, but as their algorithms are considered good enough that you have to basically destroy a bill to use them, what's the point.

See my other post about SVM/PCA in this thread.


What is SVM and PCA? That sounds interesting.


Replying here so you'll see it.

PCA: Basically you represent your measurements as a covariance matrix about the data set you care about. You then find the eigenvalues and the eigenvectors of that matrix. These basically tell you the hyperplanes which most accurately represent your data sets. Unfortunately, I can't get into more details about how this is used for bill detection -- go read the patents and papers yourself.

SVM: Basically, you have a bunch of datasets, and you an unknown data point, and you want to figure out which dataset your new data point belongs to. Well, you're not a clever person, and neither am I, so you just come up with the "cloud that surrounds" your N-dimensional shapes. This is your Support Vector.

A Support Vector Machine is just "hey, I've got a bunch of characteristic datasets, find the minimum structure for each dataset that surrounds the cloud, and then let me compare them." In practice, it gets really thorny to find the minimum vector, so people use something called the Kernel Trick to simplify that into something more manageable. (Basically, it's a higher dimensional transform that maps your dataset into even higher dimensions which likely will simplify the data as there's probably an underlying structure to your data you don't know. You try a bunch of kernels, and take the one that works best for you.)

Again, I can't tell you how it relates to bill detection. I'm embargoed. Go look at the patents and papers yourself.


I've adopted a similar attitude as you here when it comes to past machine learning jobs, and discussion of detail. What ends up being your bright shiny line that you don't cross? I tend to just not talk about the specific feature engineering, being relatively upfront about such basic things as "I used a random forest".


IMO, two things:

1) Features are everything 2) So is experience

When people buy machine learning experts they buy both of these things. Anyone can learn the math, it takes time to get good with it.


Support Vector Machines, and Principle Component Analysis.

LMGTFY


Wow, that helps.

"Principal components are linear combinations of original variables x1, x2, etc. So when you do SVM on PCA decomposition you work with these combinations instead of original variables."

"What do you do to the data? My answer: nothing. SVMs are designed to handle high-dimensional data. I'm working on a research problem right now that involves supervised classification using SVMs. Along with finding sources on the Internet, I did my own experiments on the impact of dimensionality reduction prior to classification. Preprocessing the features using PCA/LDA did not significantly increase classification accuracy of the SVM."

I can see how that relates to currency detection.


I'm an amateur in machine learning myself so I don't have a lot of knowledge of the details, but allow me to take a guess at what it's about.

Support vector machines are a machine learning algorithm that works by taking data points in some (usually) high-dimensional space, and classifies them based on where they lie in relation to a boundary that (mostly) divides the positive examples from the negative ones. So one way a bill detection SVM might work is by using images of the bills are being transformed into points in that high-dimensional space by treating individual pixels as different dimensions, and deciding if they're valid banknotes (and the denomination) based on where in that space a given point falls.

Since SVMs are designed to work well in high-dimensional data, you're correct that principal component analysis doesn't normally help them do better. Oftentimes it makes them perform worse. More likely, the reason they're using doing dimensionality reduction is to cut down on the size of the SVM's model. That could help in two ways: If you're using a really massive number of training examples, then dimensionality reduction can help cut down on the time it takes to train the SVM, or the space you need to store your training set. And if you're trying to fit the SVM into an embedded system, then dimensionality reduction would allow you to produce an SVM that runs well on lower-cost hardware.


It's more than that. The SVM kernel maps your multi-dimensional data into an infinite dimensional data. Because of the way the math works you can essentially learn from an infinite dimensional data without overfitting. The support vector is the data points that "support" the separating hyperplane, that is the points that meet the constraints. The other thing about SVMs is that they are computationally friendly.

Just as a simple example (stolen from the Caltech course which I highly recommend) if you look at points on a plane that form a circle and try to separate them with a line you're going to fail. I.e. your points are (x,y) and those in the circle are your fake dollar bill and those outside aren't. But you can take all these points and apply a non-linear transform, e.g. (x, y, xy, xxy, yyx, x+y, xx+y2), you get the idea... It turns out that now you can* separate the data into what's inside and outside the circle. The problem is you just increased your so called VC dimension of the model and you might overfit the data and not learn anything. SVMs let you get infinite numbers of combinations, without overfitting and with cheap calculations... Pretty neat.


Presumably they were simpler-minded fifteen years ago; either that, or the art major's high-end printer was a lot higher-end than it seemed.


Actually the cheap ones were really naff and relied on correctly sized notes and a mask and backlight with a couple of phototransistors.

A pretty picture cut to the right size would work. I think it was enough to prevent casual errors rather than strict validation.


These are Japanese machines. The US and Swiss makers are optical.

There's been consolidation in the industry, so there's really only the US and JAP makers left, and the US maker (MEI) is so far ahead of the rest of the world, there's no point.


Or a third option: the story is fiction.


Well, you'll look at it how you please, and I'll do likewise.


Hmm what if the strip was damaged or say brushed against a magnet at some point. Would it reject those bills? Are they still valid bills even with a damaged magnetic signature?


Ever had a perfectly crisp dollar bill that a vending machine would just refuse to take?

The majority of people will just take another bill out of their wallet and try again, so it is really a non-issue.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: