Design team members: Abhinav Ajgaonkar, Danny Chung, Jason Fong
Supervisors: Justin Eichel
Background
The
game
of
Blackjack
is
by
far
the
most
widely
played
game
at
the
casino,
due
to
the
simplicity
of
the
game
play
and
the
publicity
that
surrounds
it
with
regards
to
the
card
counting
technique
[1].
The
result
of
the
increasing
popularity
in
the
game
is
often
reflected
by
high
wages
paid
to
Blackjack
dealers
and
more
players
wishing
to
become
the
next
Blackjack
guru.
From
the
casino’s
perspective,
mistakes
made
by
dealers
can
be
very
costly
and
quickly
destroy
the
reputation
of
the
house.
From
the
player’s
perspective,
Blackjack
is
a
game
that
is
hard
to
approach
for
an
inexperienced
individual,
since
their
decisions
during
the
game
play
can
bring
impact
to
the
fate
of
the
other
players
at
the
table.
There
have
been
previous
attempts
in
designing
systems
[2][3]
that
minimize
the
need
for
the
dealer
to
multitask,
and
hence
minimizing
the
cost
attached
to
the
dealer’s
mistakes.
The
patented
designs
are
largely
divided
into
three
types:
1)
an
automated
mechanical
system
that
can
perform
the
dealing
exercise,
2)
an
image
processing
system
that
can
recognize
the
cards
to
keep
track
of
the
game
play,
and
3)
a
completely
software-based
system
responsible
for
the
entire
game
play.
However,
many
of
these
designs
remain
a
proof
of
concept
and
fail
to
be
commercialized
because
majority
of
them
can
only
perform
a
single
task
and
still
require
a
dealer
to
be
present.
Although
the
software-based
systems
can
completely
replace
a
dealer,
there
is
a
lack
of
incentive
due
to
people’s
common
belief
that
software
systems
are
rigged
since
there
are
no
physical
dealings
of
the
cards.
Project description
The
main
objective
of
the
project
is
to
address
all
the
issues
not
captured
by
prior
designs
by
creating
a
completely
automated
Blackjack
dealing
system
that
will
replace
the
human
dealer
for
the
game
of
Blackjack.
The
desired
outcome
of
the
system
is
to
benefit
the
casinos,
by
eliminating
the
human
errors
and
the
ongoing
costs
from
expensive
dealer
wages
and
training,
while
maintaining
a
similar
experience
for
the
game.
A
secondary
objective
is
to
assist
inexperienced
individuals
to
become
familiar
with
the
game
without
the
need
for
a
human
dealer,
so
that
they
can
improve
their
skills
without
investing
into
casinos.
The
system
performs
all
possible
tasks
required
for
a
complete
game
play
of
Blackjack.
This
includes
handling
of
the
cards
(both
shuffling
and
dealing),
card
recognition,
keeping
track
of
the
states
in
the
game,
and
interacting
with
the
user
through
various
forms
of
input
and
output.
Design methodology
The
system
is
first
broken
down
into
three
sub-systems,
namely
mechanical,
image
recognition,
and
software
and
electrical.
A
design
methodology
is
derived
for
each
system
to
achieve
their
individual
objectives.
The
mechanical
system
is
responsible
for
the
shuffling
of
the
cards,
the
interaction
with
the
image
recognition
system,
and
the
delivery
of
cards
to
the
table.
The shuffling mechanism is derived from a standard card shuffler design, which uses the rotation of motor-driven wheels to push the cards into a storage bin. The delivery and the retrieval of the card to and from the image recognition system are accomplished by using rotating wheels driven by motors, which push the card through by applying a frictional force. The delivery of the card to the table is performed by a shooter, which consists of wheels that can adjust in rotational speed to alter the speed in which the card is shot out.
The image recognition system consists of a camera and an image processing component in Matlab. Image recognition is achieved using a variety of different techniques such as blob detection, which focus on extracting different features of the image. Blob detection identifies areas within an image that is either brighter or darker than its surrounding. The purpose of identifying blobs is to extract features like the area, perimeter, centroid, and diameter of the blobs. For card recognition, the rank of the card is identified by detecting the number of blobs present in the image. The suit of the card is identified by finding the features of the blobs in an image and comparing it with experimental results obtained previously.
It is not necessary to use the general techniques of image processing. Alternate methodologies such as determining the colour ratio within an image are used to separate the spades and the clubs from the diamonds and the hearts. A combination of techniques is applied to create a more robust system with higher accuracy.
The software and electrical system is responsible for the game logic of Blackjack, the interaction with the image recognition system, the automated control over the mechanical system, and the interaction with the player. The core component of the system is a software application which governs all aspects of the system and ensures synchronous operation of the individual processes. The game algorithm determines the flow of the game using basic rules and allowable states in the game. The interaction with the image recognition system is accomplished by communicating with the Matlab process to retrieve the information regarding the recognized cards. The software component also interfaces with the hardware using a microcontroller, to execute actions such as rotating the mechanical wheels, receiving input from the players through buttons, and projecting output onto the LCD screen.
References
[1] "Blackjack: Rules of the Game." BlackjackInfo.com: Blackjack Rules, Basic Strategy, Message Boards, Card Counting, Tournament Strategy. Web. 12 Oct. 2010. <http://www.blackjackinfo.com/blackjack-rules.php>.
[2] "AUTOMATED TRACKING OF PLAYING CARDS - Google Patent Search." Google. Web. 12 Oct. 2010. <http://www.google.com/patents?id=m1mCAAAAEBAJ&printsec=abstract&zoom=4#v=onepage&q&f=false>.
[3] “Automated Poker Table - Google Patent Search." Google. Web. 12 Oct. 2010. <http://www.google.com/patents?id=64SnAAAAEBAJ&printsec=abstract&zoom=4#v=onepage&q&f=false>.”