Surveillance Camera System for Mobile Computing
Environments using an Active Zooming Camera and
MAC Address Tracking
Hideaki Goto
Information Synergy Center, Tohoku University,
Aoba 6–3, Aramaki, Aoba-ku, Sendai, 980–8578 Japan.
E-mail: hgot@isc.tohoku.ac.jp

Abstract
Mobile computing environments using wireless networks and Ethernet jacks have become popular
recently in universities, cafes, on the streets, etc. Although many of the network access systems areprotected by user authentication, they are sometimes attacked by people who try to use the network
illegally. It is diﬃcult for network administrators to locate, track, and identify users in such a mobile
environment because people travel from site to site. If a conventional, ﬁxed surveillance camera isused for monitoring a big ﬁeld, it cannot take pictures whose resolution is high enough for personal
identiﬁcation. To deal with these problems, we propose an intelligent surveillance camera system thatutilizes an active camera for tracking and zooming into network users for better personal identiﬁcation.
The system is also equipped with a MAC address tracking mechanism that is useful for reducing video
data to be recorded.

Keywords: surveillance camera, wireless network, active camera, user tracking, MAC address tracking
1

Introduction

In this paper, we introduce an application of
object-tracking visual surveillance for securing
mobile computing environments and propose asystem architecture that is useful for locating,tracking, and identifying users.
Mobile computing environments using wireless networks and Ethernet jacks have become popular
recently in universities, companies, airports, hotels, cafes, on the streets, etc. Securing the networks by some kinds of protection such as user
authentication is very important in the mobile networks, because they are sometimes attacked bypeople who try to use the network illegally [1].
We developed a user authentication method andmade the program open to public as a free software
named authipgate [2, 3]. This method has beensuccessfully used in several sites in our university.
Those who abuse the networks are not limited tomalicious people. Even a legitimate user might
unintentionally abuse the networks or commercial
services. In a university, for example, we seesome students and staﬀ downloading too manyelectronic journal papers. This is often a violationof subscription condition. The university could
be barred from subscription to journals if such
incidents took place quite often. The university

Figure 1: Mobile computing environment and user
tracking.

has to know who are actually connecting their
computers to the campus network.
In mobile computing environments, it is diﬃcult
for administrators to locate, track, and identify
users. IP address is useless for identifying computers (terminals) because people travel from site tosite (ﬁgure 1). User ID is not so reliable because
attackers would use stolen IDs or never attempt
to login. To make host identiﬁcation easier, wedeveloped an agent program that enables network
administrators to know the MAC (Media AccessControl) addresses of remote hosts [4]. Examining MAC addresses will help the administrators toﬁnd identical hosts, since every host connected to
Ethernet has a unique MAC address. Although
the MAC address may be forged by using special

tools, this method is still considered to be useful
to deal with casual network crimes.
However, even a host identiﬁcation cannot provide
very important information associating the hostwith its real user. An attacker might be using astolen hardware. Unfortunately, there is no online
method for ﬁnding the actual person. Biometricidentiﬁcation has not been popular yet. One of theplausible solutions is to use surveillance cameras.
Some problems related to surveillance camera exist. The ﬁrst problem is low resolution of video
images. If a conventional ﬁxed camera is used formonitoring a large room or a big outdoor ﬁeld to
ﬁnd mobile users, it cannot take pictures whose
resolution is high enough for personal identiﬁcation. The resolution is still too low even with ahigh-resolution video camera. Deploying a lot ofcameras is not always acceptable due to its highcost.
The second problem is the large amount of video
data. Finding suspicious persons in a very long
video sequence manually is a laborious work andis not practical. Investigation process should be
automated as much as possible.
To deal with these problems, we have developed
an intelligent surveillance camera system that utilizes an active camera for tracking and zooming
into network users for better personal identiﬁcation. The system is also equipped with a MAC
address tracking mechanism that is useful for reducing the amount of video data to be recorded.
This paper is organized as follows. In section 2,
the outline of the system is given. In section 3,
we propose a method for tracking multiple objects
using a ﬁxed camera and an active camera. In
section 4, the MAC address tracking mechanism
is discussed. Section 5 gives some experimental
results, and section 6 concludes this paper.

2

Surveillance Camera System for
Mobile Computing Environments

The surveillance camera system proposed in thispaper consists of four modules. Figure 2 shows theoverview of the system.

Figure 2: Overview of the system.
router is the router which mobile computers are
directly connected to. The agent ﬁnds IP/MAC
address pairs and send the information to thehuman tracking / camera control module.
The human tracking / camera control module
captures video signal from the ﬁxed camera,
detects and tracks moving objects (humans) in
the video sequence, and control the active camera.
This module caches some video frames and sends
them to the video recording server only when some
activities are detected in the wireless network oron the Ethernet jacks.
The video recording server records the video frames
from the cameras for future investigations. This
server has not yet been built into our system because we were concentrating into the MAC address
tracking and the object tracking.

3

Multiple Object Tracking using a
Fixed/Active Camera Pair

3.1 Selection of object detection method
An object detection method is needed for tracking
humans. The following three major techniques are
known.
1. Background subtraction.
2. Frame diﬀerence.
3. Optical ﬂow.

The camera module has two video cameras, whichmonitor the activities of the mobile network users.
One of them is a ﬁxed camera for detecting themoving objects in a wide ﬁeld of view. The camera
zoom is set to its wide-end, i.e. zooming is not
used. The other camera is an active camera withpan, tilt, and zoom capabilities. This camera isused for tracking and zooming into the objects.

The frame diﬀerence and the optical ﬂow havebeen used successfully in many applications
where targets are moving fast enough. In ourapplication, however, the system needs to detect
nearly-static objects as well. In mobile computing
environments, people are sitting on chairs or
benches, standing at tables, or walking very
slowly, while they are using their computers. We
decided to use the background subtraction since
the frame diﬀerence did not yield any good resultin our experiments.

A peer tracking agent runs on the frontline routerand monitors network activities. The frontline

Methods based on the background subtraction perform better in detecting static objects. However,the background subtraction is less tolerant of thechanges of illumination and backgrounds. A lotof improved methods using background estimation
and update techniques have been proposed [5, 6, 7].
In our application, people may move chairs, tables,
windows, and doors, and lighting condition may
change. The system has to adapt to the background changes within a few seconds. We employed a background update method based on [5]that is rather simple and easy to tune. We made aminor improvement to the method to reduce faulty
object detection.

3.2 Object detection
The video signal from the ﬁxed camera is captured
at 720×480 pixels in color and reduced to 360×240
pixels. The background image is estimated andupdated by pixel-wise operations.
Let f (t) be the color vector of a pixel in the input
image at t-th frame. Let B(t) be the color vector of
the pixel at the same place in the estimated background image. The color diﬀerence δ(t) is measured by Euclidean distance in RGB color space,and δ(t) forms a diﬀerence image.
δ(t) = |f (t) − B(t)|(1)

The diﬀerence images for the last Int frames are
kept in the memory.
Let tcurr denote the current frame (time). Letδmax (tcurr ) denote the maximum value of δ(t)within the latest Int frames. In the same way,δmin (tcurr ) denotes the minimum. Image stability
is deﬁned by S(tcurr ) = δmax (tcurr ) − δmin (tcurr ).
The image stability becomes almost zero if no moving object exists or an object stays on the pixel for
more than Int frames. The background image isupdated by the following rule.
B(tcurr ) if S(tcurr ) < Ts
B(tcurr +1) =(2)
f  (tcurr ) otherwise ,where f (tcurr ) is the image derived from the original images.
We saw many faulty objects where an object wentacross in the scene when the raw input imagef (tcurr ) was used for f  (tcurr ). B(t) was replacedby the foreground object color in some places
where the background color and the object color
coincidentally became similar, and this caused a
lot of scattered blobs in the estimated background.
To reduce the noise, we used the average of theprevious Int frames instead for f  (tcurr ). This
technique delays the update of the background.
The next step is to make an object map, which is abinary image of the same size as the input images.

Figure 3: Tracking multiple objects.
All the pixels are set to zero at ﬁrst. Each pixel isturned on if the color diﬀerence is greater than athreshold, i.e. δ(t) > Tobj . Then, the object map isreduced by 8 × 8-pixel blocks to help the following
processings. If a block contains more than two ONpixels, the block is labeled with object. Otherwise,
the block is the background.
Connected components are found in the reduced
object map after the dilation operation by 3 × 3pixel square structure element is applied. Bounding boxes of the connected components correspondto the objects detected.

3.3 Tracking of multiple objects
Figure 3 depicts the tracking process of multiple
objects. The rectangles A1 , B1 , and C1 correspondto the objects detected in the previous frame. The
rectangles A2 , B2 , C2 , and D2 correspond to theobjects newly detected in the current frame. The
tracking module has to ﬁnd the best correspondences of these rectangles between the adjacentframes to track multiple objects.
We made a simple algorithm for the tracking. We
do not need to care about overlapping objects since
our task is a visual surveillance and the objects do
not need to be separated. Two measures are usedin the algorithm to ﬁnd the closest rectangle pairs.
The ﬁrst measure is the overlap ratio deﬁned by(overlap area between X1 and X2 ),(area of X1 ) × (area of X2 )(3)
where X1 and X2 are the rectangles of the previous
frame and the current frame, respectively. The
ratio is calculated for each rectangle. The rectangles X1 and X2 are connected only when they
have the largest overlap ratios from both sides.
Thus, we have some separated chains of rectangles.
Each chain represents the trace of an object under
tracking.
Rovl (X1 , X2 ) =In ﬁgure 3, for example, A1 and A2 are connected
because A2 has the largest ratio with A1 and viceversa. B1 and B2 are connected in the same way.

t acttrace 1

t sw

tracking byactive camera

trace 2trace 3trace 4
trace 5The camera is directed toward the current rectangle in the trace. Let (xt , yt ) be the coordinates of
the centroid of the rectangle measured from theimage center. The angles for the pan/tilt drives,
θpan and θtilt , are calculated as follows.

MAC1

t shift(start)

MAC2
MAC3
MAC4

recording

(end)
time

Figure 4: Camera and recording controls.
Although D2 has the largest ratio with A1 , it is
not connected to A1 . In this case, a new trace iscreated for D2 .
Some rectangles do not overlap each other because
they are very small. Another measure is used
for this case. We used the distance deﬁned
by dc (X1 , X2 ) = (Euclidean distance between
centroids of X1 and X2 ) . In ﬁgure 3, C2 isconnected to C1 because the distance is thesmallest from each other.
Some rectangles corresponding to an object may be
missing for some frames. Every rectangle should
be kept alive for about a second. When a rectangle does not have any follower for long time (onesecond), the corresponding trace is discarded.

3.4 Control of active zooming camera
The surveillance system has only one active camera, while the system are supposed to track multiple persons. The system needs to switch the targetof the camera to catch as many events as possible.
We used the round robin algorithm for the target
switching. Figure 4 shows the timing chart of thecamera control.
After a switching interval tsw has passed, the target is changed and the camera starts tracking thenext trace, i.e. object. In ﬁgure 4, the trace 2 disappears during the tracking. The target switchingoccurs immediately in this case.
The object detection and the object tracking processes would produce some faulty traces due to thenoise. The lifetimes of many of these traces areshort as shown by the trace 4 in ﬁgure 4. We
employed a mechanism to reduce the trackings ofthe faulty traces. The age of each trace, which
represents the duration time from the creation of
the trace, is evaluated. If the age of a trace has
not reached tact , the trace is excluded from thecandidates of the target switching.

θpan= gh · xt + oh

(4)

θtilt

= gv · yt + ov ,(5)

where gh and gv are the horizontal/vertical gains,
and oh and ov are the horizontal/vertical oﬀsets.
The four parameters were found manually in our
experiments. We are able to obtain zoomed video
sequences that are acceptable as long as the objects
are far enough from the camera module, although
this angle calculation is rough.

3.5 Recording control
The timing chart of the recording control isalso shown in ﬁgure 4. The video sequences arerecorded only when any activity is detected by
the ﬁxed camera and any activity is found in themobile network. Four MAC addresses are detected
and informed to the camera control module inﬁgure 4.
The video recording should start from the frame afew minutes (tshif t ) earlier than the ﬁrst activity
detection (MAC1 in this example), because the administrators would want to look at the very scenes
when a suspect walks into the room, comes to achair, and starts using a computer. The time shift
can be made possible by the frame cache built into
the camera control module.

4

MAC Address Tracking for Host Detection and Identification

4.1 Host detection by ARP table look-up
MAC (Media Access Control) address, as the nameimplies, is used for controlling the communicationof Ethernet. When a host establishes an IP connection with another host over Ethernet, both hosts
have to know each other’s IP/MAC address pair.
The MAC address is informed to other hosts by
ARP (Address Resolution Protocol). Every network operating system, including UNIX and MSWindows, has an ARP table in its kernel. We canknow a computer is connected to the local networkby looking into the ARP table.
MAC address has been used not only for the original purpose but also for software’s license control,
host identiﬁcation, an alternative of user authentication in mobile networks, etc., because the address is unique in the world.

Due to the original purpose of it, MAC address
does not propagate over a router. We needs a special program that collects IP/MAC address pairs
and informs the data to the camera control module. The program should run on a router which
the mobile computers are directly connected to asshown in ﬁgure 2.

4.2 MAC address tracking
The MAC address tracking is performed as follows.
An agent program periodically examines the ARP
table to detect changes of address entries. As soon
as a computer is connected to the network andit starts communications over the frontline router,the MAC address of the computer is added to the
ARP table. Thus, the agent program is able todetect a new computer and inform the camera control module via the local area network that the newcomputer has just been connected. The agent program does need to pick up the MAC addresses only
on the IF1 interface to avoid detecting neighboring
hosts on the IF2 side.
A MAC address entry stays in the ARP table aslong as it is periodically updated from the peer
computer. When the computer is disconnected
physically or stops all communications, the corresponding entry stays in the ARP table for a few
minutes and is removed afterward. The agent program detects this change and informs the camera
control module that the computer has been removed.
Unfortunately, it is impossible to know the exact
times of the disconnections unless a special hardware is used. The network administrators have to
be careful about the time lag when they analyze
the recorded video sequences.

5

Experimental results

5.1 Implementation
We built a system using a PC, two cameras, anda wireless network system we had built earlier.
The PC has a 2.6GHz Pentium 4 processor, 1.5GB
memory, and an Ethernet interface. The Linux 2.4
operating system was used. We used SONY EVIG20 for the active camera. The camera has fast
pan/tilt drives and a 3X zoom lens. The zoom was
set to the tele-end (3X), since there was no need totake pictures at lower resolution. The same model
was used for the ﬁxed camera as well. Its zoom was
set to 1X. AF (auto focus) and AGC (auto gain
control) were both turned on in the experiments.
The video signal from the ﬁxed camera wasconverted to DV (digital video) format by an

NTSC–DV converter and captured by the PC via
IEEE1394 interface at 720 × 480 pixels, 10fps.
The pan/tilt/zoom drives were controlled by thePC via serial interface.
The human tracking / camera control module was
implemented by a multi-threaded program written in C++. The MAC address tracking module
was implemented by a C program. We added the
MAC address tracking feature to the Peer Tracking
Agent trackpeer [4]. The program was run on
the frontline router in the wireless network system. The program monitors the network activities
and informs MAC address changes to the humantracking / camera control module via the UNIX’s
syslog.

5.2 Performance evaluations
We tested the system using some scenes in ourlaboratory room.
The timing parameter forbackground estimation was set to Int = 5(sec)(=50frames at 10fps). The switching interval was
set to tsw = 3(sec). In many cases, the system
could successfully detect multiple moving objects
and take their high-resolution video images by theactive camera.
We conﬁrmed that the system can adapt to background changes within almost ten seconds, which
was longer than the theoretical time Int = 5. Thiswas due to the noise in the video sequences andsome of the automated features of the camera suchas auto focusing.
Figure 5 shows the monitor screen of the systemwith one of the test scenes. In this scene, a personcame into the room, put a laptop computer on
top of desktop computers, and began using thewireless network. The image of the person takenby the ﬁxed camera was too small for personal
identiﬁcation. Two swinging toys were placed totest the object tracking and the target switching.
The picture at the bottom right depicts the accumulated image, which is the mean of the past 50
frames. The picture at the bottom left shows themoving parts in the scene. All three objects werecorrectly detected.
The laptop computer and some parts of the humanbody were blended into the background as shown inﬁgure 5. These ghost-like images will be detected
as fake objects after the person and the laptop
computer disappear from the scene. This phenomenon would not be a serious problem because
the fake objects do not last long and the active
camera will not be directed to the objects after
one or two rounds of the target switching.

raw input image (fixed camera)

detected moving objects

estimated backgroundaccumulated image

Figure 5: Monitor screen of the system.

cameras are used. The video data can be further
reduced by combining the network monitoring withthe visual surveillance. The MAC address tracking
method proposed in this paper can also provide
some important information about the mobile computers. These features will greatly help network
administrators to locate, track, and identify users.
Our future work includes designing an advanced
system that can control multiple camera modules
and analyze data from multiple access points,
developing an algorithm for automatic camera
calibration, and implementing the video recording
server.

7

Acknowledgements

This work was partially supported by the Strategic
Information and Communications R&D Promotion
Programme (SCOPE) of the Ministry of Internal
Aﬀairs and Communications in Japan.
(a) target 1(b) target 2

References[1] R. Beck : Dealing with Public Ethernet Jacks— Switches, Gateways, and Authentication.
Proceedings of the 13th System Administration
Conference (LISA’99), pp.149–154, 1999.

(c) target 3

Figure 6: High-resolution images taken by theactive camera.

[2] H. Goto, M. Mambo, and H. Shizuya : Secure
Access Ports with Authentication Using Inexpensive Switches and the Secure Shell. Trans.
IEICE (D-I), Vol.J84–D–I, No.10, pp.1502–
1505, 2001. (in Japanese)

Figure 6 shows the high-resolution images of thetargets taken by the active camera. The resolutionof these images is high enough for user (object)
identiﬁcation.

[3] H. Goto : Simple Authenticating Gateway forLinux.
http://themes.freshmeat.net/projects/authipgate/ (as of Sep 12, 2005)

The video recording server has not been implemented yet. We manually examined the output
data of the MAC address tracking module. The
module was able to detect the changes of the ARP
tables successfully and inform the IP/MAC address pairs to the PC on which the camera control
module was running.

[4] H. Goto : trackpeer: Peer Tracking Agent.
http://themes.freshmeat.net/projects/trackpeer/ (as of Sep 12, 2005)

6

Conclusions

This paper has introduced an intelligent surveillance camera system for mobile computing environments. By combining a ﬁxed camera and an active camera, the system can track multiple persons
and take high-resolution video images. The system
can provide video data that are more reliable for
personal identiﬁcation.
The amount of video data to be recorded is much
lower than that of the other systems in which many[5] S. Nagaya, T. Miyatake, T. Fujita, W. Ito,and H. Ueda : Moving Object Detection
by Time-Correlation-Based Background Judgement. Proceedings of ACCV’95, pp.717–721,
1995.
[6] M. Pic, L. Berthouze, and T. Kurita : Adaptive
Background Estimation: Computing a PixelWise Learning Rate from Local Conﬁdence
and Global Correlation Values. IEICE Trans.
Inf.&Syst., Vol.E87–D, No.1, pp.50–57, 2004.
[7] R. Cucchiara, M. Piccardi, and A. Prati :Detecting Moving Objects, Ghosts, and Shadows in Video Streams. IEEE Trans. on PAMI,
Vol.25, No.10, pp.1337–1342, 2003.