Tip:
Highlight text to annotate it
X
JEFF BREIDENBACH: My name is Jeff Breidenbach.
I'm very pleased to introduce Dany Qumsiyeh, who is going to
be presenting on an automatic book scanner.
This talk began with an idea of showing this device to a
single person.
And that person invited two more people.
And you're all here through the
incredible power of recursion.
So with that, Dany, come take it away.
DANY QUMSIYEH: Thanks, Jeff.
Let me take a moment and shut it down.
I'm just going to tell you about this book
scanner that I built.
But first I want to just show you a few examples of some
book scanning technologies that already exist for
comparison.
The easiest way to scan a book, of course, is to cut off
the binding and then stick it through a sheet-fed machine.
There are machines that will just feed each sheet through
and scan it.
Very high quality, but the problem is
you destroy the book.
So what we're talking about here are
non-destructive book scanners.
So there's a large class of book scanners that are not
totally automatic, where a person turns each page.
And a lot of the time, there are glass plates that flatten
the pages out.
And then there are cameras that take a
picture of both pages.
So you have to kind of raise this glass plate, turn the
page, lower the plate, and then snap a picture.
So it's pretty fast, but involves a
lot of manual labor.
There's actually a large community of people at the
diybookscanner.org that build their own.
And they post instructions for how to build your own.
So they make them out of cardboard and wood and all
kinds of things that are lying around.
There are some commercial robotic book scanners.
There's quite a few that use some sort of robot arm the
same way that a person would turn a page.
And Kirtas is one of these examples.
They have an arm that kind of suctions a page and then moves
it over to the other side.
There's another that uses a very different method.
This company is called Treventus.
And they make a machine that has this V-shaped thing that
moves up and down.
And it actually suctions two pages against it while
capturing images with a linear sensor along the tip.
It's really cool.
And these are state of the art machines.
And they've gotten a lot of praise for
being gentle to books.
The main issue is that they're really expensive.
One of these Treventus machines can cost on the order
of $100,000.
This is the machine that I built.
And I'm going to show you a brief video so that you can
see some closer up views of it.
And then I can go into some of the technical details.
The general idea is this book is moving back and forth on
top of this prism-shaped machine.
There are linear sensors, just like in a flatbed scanner that
the book moves across and it captures an
image of each page.
And then there's a vacuum, in this case just a regular house
vacuum, that's connected to those spots
that's sucking air.
And it sucks the single page through and that page goes
across to the other side.
AUDIENCE: [INAUDIBLE]
DANY QUMSIYEH: The question was how do you ensure that you
only get one page?
That's the next thing I'll talk about once this is done.
And then the images show up on a computer [INAUDIBLE].
So it's really simple.
And it doesn't involve very many parts, so it's not very
expensive to build.
The question was, how do you ensure that it
only turns one page?
I'm going to try and provide a very simple diagram of what's
going on when a page gets peeled off.
In this case, we have a stack of pages that are sliding in
from the right and I'm looking at them edge on.
And they're sliding along this curved surface.
And along that curve, there are slots where I'm applying
vacuum suction.
Hopefully it's obvious that one page gets
sucked against this.
The other pages don't actually receive any suction, so they
will tend to stay straight and go across.
And then they get divided by this piece of
metal on this side.
Now, it's still possible for two pages to
kind of be stuck together.
And to help out with that, in this prototype there's
actually air that blows up from underneath onto the edges
of the pages.
And that helps to separate pages if
they're stuck together.
Next I want to talk about why the channel that the page goes
through looks so strange, why it's shaped the way that it
is, and try to explain the motivation for that.
And I'll try to explain it by explaining a few examples that
don't work.
So for example, if you have this prism shape--
and I'm looking at a top view here--
where a page on one side has to get from that side over to
the other side, the simplest thing to do is to cut a slot,
like a diagonal slot in that prism so that the page can
slide into it and go across to the other side.
The problem you run into is when the page is in the middle
of that slot it actually has to kind of twist.
So the binding of the book stays straight, but the page
has to twist along that slot.
And that's something that it just can't do, so it's very
likely for the page to tear.
So the way that the machine is really shaped is a little bit
more like this, where there's a flat section in the middle
of that diagonal slot.
The idea is the page is coming in.
And while the page is in that intermediate section, it's
actually free to swing across to the other side.
And so, it can go to the other side without actually getting
twisted, so that works a lot better.
There's another problem you run into.
In this example, the slot for the channel is just a straight
diagonal along that front surface.
And there's another problem you run into if you have that
straight diagonal and you're applying vacuum pressure to
try and pull the page through.
This is trying to illustrate that.
Basically this is a side view.
And here's the page coming from the right to the left.
And the darker gray area is the channel where the page is
sliding into.
And that really dark slot is where the
vacuum is being applied.
That's where the slots of the vacuum are.
In this case, the page is coming from the right.
And the corner of it is getting sucked up against
those slots and curving around that curve.
So as the page continues, you run into a problem where the
page is being curved along this diagonal and that curve
reaches the binding.
And basically the motion of the book is forcing the page
to bend near the binding.
And that's something that it can't do.
Basically, in order for the page to continue to the left,
it has to pull itself off of that vacuum area.
And if that requires too much force, then the
page will just tear.
So this doesn't work very well.
The picture at the top was actually an earlier cardboard
prototype that looked a little bit more like this.
And that was the problem that it had.
So the way the machine is actually shaped is a
bit more like this.
There's a diagonal opening near the bottom.
And then the opening opens up vertically in the top part.
So as the book is going across, the page gets
suctioned against that dark area and
curves around that diagonal.
But at some point, the page reaches the part where this
opening opens up vertically.
And so a page is no longer supported by the surface
that's on the right.
So it's actually free to swing across to the other side.
So if you have a shape like this, then the page can
basically slide its way off of that vacuum section without
applying too much force to the binding.
So the sensors--
let's see.
I've got one here.
So these are the sensors.
It's a contact imaging sensor.
And it's straight out of a flatbed scanner
or a sheet-fed scanner.
It's the same thing that they use.
It has an array of light sensors and pulses colors so
that you can capture each color.
And it actually did come from a sheet-fed scanner.
We took it apart-- we took apart a
lot of scanners actually.
And it turns out if you take out the circuitry and these
scan bars and just plug them together, you can use
it just like that.
You can tell the computer to scan and it thinks the scanner
is just a regular Canon scanner.
And it captures images.
So there's very little software required.
And we didn't have to do any of the electronics.
One note about using these sensors is that the sensor is
kind of square.
And when you stick it inside--
this is an end view of the machine with a
book open on top.
When you stick it inside, you can't actually stick it all
the way up into that corner.
And that can present a problem, because you can't
capture an image all the way into the groove of the book.
So if the book has very narrow margins or has content that's
all the way into the groove, then you might not be able to
see that content.
And for this prototype, one way we improved that situation
was I just took these sensors to a belt sander.
And it turns out you can grind away quite a bit of that
circuit board before the thing stops working.
And that was enough to get us within about nine millimeters
of the groove, which is OK for most books.
For a real machine if you want to do a lot of scanning, it's
probably better to use a different sensor.
There's a lot of other scanners that use a CCD
sensor, where they have a lens and they project the image
onto a linear sensor.
And in that case, you could actually project the image all
the way from the corner.
It wouldn't have this kind of square restriction.
AUDIENCE: [INAUDIBLE]
DANY QUMSIYEH: Yes.
Somebody mentioned that increasing the angle of the
corner at the top would help.
And that's something we looked into a bit.
One problem you run into when you make that angle larger,
like 90 degrees, is that the book doesn't actually want to
sit completely flat.
So the curve of the page may actually still hide some of
the binding from you, because it's not totally flattened out
onto the surface.
Also, librarians generally like to keep the--
they consider it very bad to open the book too far.
And so if you can keep the angle of opening as small as
possible, that's better for the book.
This is the result you get.
It's a very flat scan, as if you had put the page onto a
flatbed scanner.
And the quality is exactly the same.
So by default, I'm running this at 300 DPI.
But you could crank it up larger if you want.
And it's also a lot better than using cameras for
scanning, because cameras, even though they may have a
certain number of megapixels, each pixel is actually red,
green, or blue.
And in these scanners, when you say 300 DPI, you're
actually capturing all three colors for each pixel.
So it works a lot better.
It has much higher quality.
And these sensors are only like $20, compared to a very
expensive camera that you would need.
Yes?
AUDIENCE: [INAUDIBLE]
DANY QUMSIYEH: The question was, how does the linearity of
motion look?
Do I have to do any correction for the motion
not being very constant?
And it seems pretty good.
We've looked at the images and haven't noticed any
disturbances.
The motor is a stepper motor and it has a
very controlled motion.
And the belt that we're using is a timing belt, the same as
in a regular scanner.
Earlier, we had experimented with ways of correcting for
that using kind of a pattern that's on this saddle.
I'll say a little bit about this, we're calling it a
saddle, the thing that moves the book back and forth.
It has clamps on it to kind of hold the book in place.
And another purpose of the saddle is it has these white
strips on it which are used for calibrating the sensors.
So when it's in the home position, those strips cover
up the sensors.
So when you first start scanning, they figure out what
color is white and they calibrate to that.
The other important function of these clamps is to help
support the weight of the book.
If you don't have them, you run into a problem where, say
you have a very thick book and you're at the very beginning
or end of the book, so all the pages are to one side.
That weight can cause the book to kind of sag.
And it causes the pages to sort of
curve near the binding.
And that can cause problems for page turning.
Or the book could just fall off to one side
if it's very large.
Yes?
AUDIENCE: [INAUDIBLE]
DANY QUMSIYEH: The question was, does this mostly work for
hard-bound books, or does it work for
soft-cover books as well?
And it does work for soft-cover books.
I guess the support from the clamps kind of works a little
bit better for hardcover books.
But we haven't run into any problems using it on
soft-cover books.
Yes.
The clamps on the saddle look kind of like that.
And they help support the weight of the book.
Basically, when you first start scanning, you set the
book down somewhere in the middle.
And then you adjust these so that they're just
touching the book.
And then from then on, if the book is to one side or the
other, it helps to support the weight.
The motor we're using I said is a stepper motor.
And it's an MDrive.
And we have this timing belt that goes around the top and
then down through the machine.
And this motor actually comes with a built-in
microcontroller, so pretty much the entire code for it is
on the right.
Basically, you preprogram it with the code that tells it
how fast to go and when to change direction.
And from then on, when you power it up, it just goes back
and forth and does its thing.
The extra thing that it does is it has a serial connection.
And at the beginning of each cycle, it outputs a new line.
And we use that for timing the actual scan, so that we know
when the motor's arrived.
The software for this is really simple.
The scanimage program that shows there, that's from an
open source scanning library called SANE.
And so we didn't need to write any software for that.
And we call that with a flag that tells it to capture an
image every time you hit Enter.
That's the batch prompt.
And so then all you have to do is take the line breaks from
the motor and pipe them over to scanimage.
And then the machine runs.
So one command.
There's some extra software that Jeff, who
introduced me, wrote.
This is just an image viewer.
It shows you the images as they're being scanned.
And it's open source, the URL at the top.
And it has a lot of great features, like you can click
on a page number and you can see a mosaic of all the page
numbers that you've scanned.
And that makes it really easy to tell whether something went
wrong during scanning, like you missed a page or you
duplicated a page.
Basically, you can look down these columns and see like
361, 341, 321, 301.
You can see all the way down that everything went fine and
that no pages were missing.
Another way that we avoid problems and detect duplicate
pages or missing pages is with a sensor that's right inside
the machine.
As soon as a page comes in the slot to be turned, there's a
break beam sensor.
So we detect exactly when the page arrives.
And basically, if a page arrives at the wrong time or
doesn't show up, then we know that something's wrong and the
motor stops.
So this sensor is connected directly to the motor.
And that's part of that microcontroller program.
That's about all the details.
Just to give an idea of where things are, this is the first
non-cardboard prototype.
So there's still a lot to improve.
The first prototype on the top left, that's cardboard just
from a dumpster that was outside the office.
So it cost nothing.
And it had a little air pump from an inflatable mattress.
And that was actually able to turn pages.
And it was really exciting.
I experimented with the shape of the page-turning mechanism
a few times, but this is the first model that's actually
built out of metal.
Where it is right now, basically it's very quick to
set up for a book.
It takes about 40 seconds to adjust those clamps and start
the scanning.
The cycle time of this going back and forth right now is 11
seconds for a page pair.
So a 300-page book would take about half an hour.
This is a lot slower than many of the alternatives.
But since it's fully automatic, one operator should
be able to run like 10 of them.
You don't have to do more than just start it and stop it.
The materials, there's only about $1,500 of materials.
About half of that is just the scanner that we took apart.
And there's the vacuum and then the metal.
So it should hopefully be very cheap to build.
Yes?
AUDIENCE: [INAUDIBLE]
DANY QUMSIYEH: The question was, it is possible to get any
sensor feedback from the motor as to whether the page is hung
up or tearing?
Yes.
There are models of this motor where it will know if it's
stalled, if something is stuck.
And I'm sure there are models where you could also detect
how much force it's taking to move.
So yes, if you wanted to get a fancier motor,
you could do that.
Yes?
AUDIENCE: [INAUDIBLE]
DANY QUMSIYEH: What prevents me from running it faster?
Right now that's actually the motor.
If I try to run it faster for a large book, then the motor
doesn't have enough power to move it.
So an easy way to make this faster is just to
get a better motor.
There's also things you can do with the arrangement of the
sensors and the shape of the thing.
Basically just make it so that it has a
shorter distance to travel.
AUDIENCE: [INAUDIBLE]
DANY QUMSIYEH: The question is, do you need any
adjustments for book size or paper thickness?
There's a limit to the size of books that this can scan.
And right now, I guess I was going to mention we've only
scanned about 50 books.
Basically about 60% of the books that we've come across
are able to be scanned.
Many of them are too big or too small.
So basically, it has to fit inside of the saddle.
And it also has to be able to reach those vacuum slots.
If a book is really small then it won't reach them at all.
And so that's a number that could also be improved by
changing some of the dimensions, basically doing a
bit more experimentation with how the thing is shaped.
And then for thin pages or thick pages, one major factor
in that is what the power of the vacuum is.
So it's best if you can adjust that.
For very thin pages you don't want to pull too *** them.
But again, there's a limit on what you can do for that.
So this works on most books we've come across.
But it won't work on like dictionary-thin pages or
really stiff kind of cover page material.
We still have a lot of problems.
Basically about 45% of books have one or two skipped pages
that we tried.
And about 45% of them have some sort of fold
or tear in the page.
That's really bad.
This image is an example of one of the bad cases.
And actually what happened here was the page already had
a little bit of a tear in the corner.
And that presents a problem, so when it went through the
machine, it kind of exacerbated
that and folded it.
AUDIENCE: [INAUDIBLE]
DANY QUMSIYEH: Of the books.
Yes.
Not the pages.
So it's only a couple errors in the book.
For most pages it was fine.
AUDIENCE: [INAUDIBLE]
DANY QUMSIYEH: We'll leave those questions until
afterwards, if that's all right.
And also, this was before we installed the sensor.
So in this case where the page was folded it's very likely
that the sensor would have detected that the page didn't
arrive at exactly the right time and stopped the machine
before it caused any more damage.
There's a lot of improvements to make.
I still haven't experimented much with different shapes.
This is only the third iteration, really.
And there's adjustments you can make to the vacuum, like
maybe adjusting where the vacuum is applied and what the
slots look like.
There's better materials, like aluminum leaves a little bit
of aluminum oxide residue that you can kind of see on the
edge of the book.
And it would be better if it were stainless steel or
something like that.
And of course, better image sensors like a CCD sensor that
would be able to capture all the way into the corner.
And then there are crazier ideas, like you could take a
whole bunch of these and chain them up if you have a lot of
books to scan.
Basically, this diagonal opening can be chained pretty
close together.
So you could have just two people, one at each end,
loading books one right after another.
And you could perhaps scan books really quickly that way.
There's a lot of interesting ideas about
what to do with it.
So that's it.
I just want to be sure to thank Jeff, the person who
introduced me.
He's been really crucial to this product.
He wrote all the software.
He helped out with the sensors.
He installed the break beam sensor and
helped take apart scanners.
And he's given me advice all along the way and given me the
moral support to keep working on it.
And I also want to thank my manager, Stephane and
previously Ram, who have been OK with me working on this.
And they've supported me in any way that they could.
That's about it.
I can take questions.
AUDIENCE: [INAUDIBLE]
DANY QUMSIYEH: The question was, can you talk a little bit
about error [INAUDIBLE]
and what you do when something goes wrong?
So right now with this prototype, basically if a page
doesn't turn, that detects it and the machine just stops.
And so you can notice that and come and figure out what
happened and then reset it and start it again.
Right now, there's no way to detect if
two pages go through.
If they're really stuck together, then that means that
you missed capturing the images of the
page that was in between.
That's a problem, but there are ways that you can detect
that and there are things like sheet-fed scanners used to
detect whether two pages have gone through.
And you could do something similar.
Yes?
AUDIENCE: [INAUDIBLE]
DANY QUMSIYEH: The question was, do you think you can make
it any cheaper, because it sounded like the scanner part
was already the most expensive part.
Yes.
If you did your own electronics, for example.
These sensors, the part that we're actually using
are only $20 each.
So if you built the electronics yourself at a
large scale, then it would probably be even
cheaper than it is now.
But the biggest cost will probably just
be putting it together.
And right now, all the pieces are basically
flat pieces of metal.
And so they're very easy to cut.
Any other questions?
Yes?
AUDIENCE: [INAUDIBLE]
The question was where did I build it.
And I built on some workshops that are on campus.
AUDIENCE: [INAUDIBLE]
DANY QUMSIYEH: The question was what happens if the book
is really dirty?
Does it leave a streak all the way down the page?
If there's really something like smeared on the paper,
then yes, that could get stuck to the
sensor and leave a streak.
And you'd probably have to have some process to notice
that and clean it up.
But we joke that since the book is travelling over these
vacuum slots, we're actually cleaning out dirt from the
book as it goes.
And that's a feature.
Anyone else?
AUDIENCE: [INAUDIBLE]
DANY QUMSIYEH: The question was, it looks like this
machine, if something goes wrong, could
actually tear a page.
And it looked like the other machines we looked at couldn't
actually tear a page.
The other machines, they do tear pages.
It's just very rare.
And they're gentle enough that libraries are
OK with using them.
For this machine, we've actually talked to a
conservationist from Berkeley.
And he was really excited basically that the benefit of
having digital versions of these for people to use was
greater than the small risk of causing damage to some books.
And libraries accept the risk that, like when they check out
books, they are going to come back in worse shape than they
were before, but that it's worth it for people to use the
book and to read the content.
But yes, hopefully this can be improved to the point that is
safe enough to use on fragile books.
Yes?
AUDIENCE: [INAUDIBLE]
DANY QUMSIYEH: The question was, why is the scanner so far
away from the slot.
The main reason it's there was just we wanted to have both
scan bars together so that they capture at the same time.
And the slot on this side, the exit slot actually extends all
the way up to where the scanner is.
So you could actually make them closer if you had them
separate, like one on this side and one
on the other side.
And that might make a shorter distance to travel.
AUDIENCE: [INAUDIBLE]
DANY QUMSIYEH: The question was, is it two scanners or
just one scanner with two bars?
This is one scanner with two.
It's from a sheet-fed machine, so the sheet would feed
through and it had a scan bar on the top and on the bottom.
And so it was one circuit board and we
just took two sensors.
Any other questions?
AUDIENCE: [INAUDIBLE]
DANY QUMSIYEH: The question is, where does this
project go from here?
And I don't know.
But we'll talk a little bit more about that later.
AUDIENCE: [INAUDIBLE]
JEFF BREIDENBACH: Maybe this is a good time to end the
recorded portion of the talk.
And let's give Dany a hand.
[APPLAUSE]