Personal
computing is becoming more and more ubiquitous. Today, people use personal
technology as a matter of course. Watches, cell phones, personal digital
assistants (PDAs), and other gadgets have become commonplace in our
society. Most of these devices provide the user with a specific benefit,
whether it be entertainment or communication. As computing continues to
become faster, more affordable, and miniaturized, it is becoming possible
to equip people with more general-purpose computing devices.
This accessibility to general-purpose computing allows
for a much greater range of benefits. One of these benefits is the
possibility for a computing system to interpose itself between the user's
sensory input and its generating environment. This is referred to as
mediated reality.
Mediated reality has many applications, some which
augment the senses, and some which actually diminish them. In both cases,
the intent is to filter out unwanted information, and/or to enhance the
existing information content. This is particularly relevant for a visually
impaired user, who might be able to 'see' better with the help of an
enhanced vision system. Such enhancement is the goal of this project.
It is now possible to equip a person with a significant
amount of processing power. It is also possible to mediate that person's
reality by intercepting their visual system. Using sophisticated image
processing techniques, an input video stream can be processed
frame-by-frame to remove unwanted information and to bring out important
detail.
This can be especially useful to the visually impaired,
who might not be able to recognize image detail with the naked eye, but
might be able to recognize the salient features of a scene from a bright
set of edges.
Thus, the goal of this project is to construct a vision
enhancer for the visually impaired. The system will allow the user to
recognize visual detail by enhancing the video signal from a camera
exposed to a given scene. Specifically, the image enhancer will highlight
the edges in a scene, e.g. the outline of an object of or the corner of a
wall.
The
relevant literature to this project is examined in two areas.
The first deals with wearable computing, which is the physical
platform for this project. More specifically, the literature deals with
the history, technological basis, and implementations of wearable
computing and mediated reality. The second deals with image processing,
which is both the project's theoretical foundation and a source for the
implementation details of the image enhancer.
Wearable computing is the physical platform on which this
project will be built. Originally a technical and social curiosity, it has
evolved into a fascinating field with many futuristic applications,
empowering the individual with a range of computer-aided enhancements. In
particular, the close synergy of computer and human gives rise to a
complex feedback loop that maximizes the benefits from the processing
power of both human and microprocessor. This is referred to as 'humanistic
intelligence' [2]. Mann provides a concise explanation of this and many
other concepts central to wearable computing in his textbook Personal
Cybernetics, Mediated Reality, and Personal Imaging [3]. The sections
on mediated reality explain its purpose and offer practical implementation
methods. Mann also has a primer on mediated reality on the ‘World Wide
Web’ [4]. Material on mediated reality with special relevance to this
project is found in Mann's article on WearCam and its applications for the
visually challenged [5].
Image processing has a rich field of literature, owing to
its long history. The field has many applications, ranging from
photographic enhancement to object recognition in a scene. An overview of
these fields and their underlying concepts is presented by Venetsanopoulos
in Digital Image Processing and Applications [6]. These concepts
provide a background for the project and illustrate a range of
possibilities for enhancing a video signal.
A more thorough coverage of image processing reveals the
mathematical concepts and techniques on which image processing algorithms
are based. These include digital filters, two-dimensional convolutions,
and a variety of techniques for image enhancement. Lim's Two-Dimensional
Signal and Image Processing [7] is an excellent source for this
information.
The material draws from traditional digital signal
processing theory, available in any undergraduate textbook on this topic.
The rigorous treatment facilitates the adaptation of these algorithms into
source code to be run on a computer. Specifically, Nonlinear Digital
Filters by Pitas & Venetsanopoulos [8] is an excellent source of
algorithms for mean and median filters.
The literature on edge detection has a stronger relation
to this project. Gonzalez and Woods provide a good overview of edge
detection in Digital Image Processing [9]. Also, an appreciation of
the tradeoffs involved in the various edge detection schemes is important.
This was done by Heath, Sarkar, Samecki and Bowyer in their paper “On
Detecting Edges” [10]. Some implementations for edge detection schemes
are offered by Nalwa and Binford [11], and Canny [12].
The purpose of this project is to construct an image
enhancement system for the visually impaired. Three main goals have been
identified to fulfill this purpose. The first two deal with the
construction of a preliminary system and are divided into algorithmic
design and source code implementation. The third deals with the
optimization of the system for the visually impaired.
Goal:
Design an algorithmic system that highlights relevant edge detail in an
image.
Objectives:
·
Obtain specifications of various image filters and edge
detection algorithms.
·
Test the performance of the noise-reducing digital filters
(mean/median/lowpass/etc).
·
Test the performance of the edge detection algorithms (Sobel/Canny/Nalwar-Binford/etc).
·
Construct an image enhancement system from a noise-reducing
filter and the edge detection algorithm that maximizes the benefit between
efficiency and image edge quality.
Goal:
Implement the algorithm in executable code as an adaptation of the
viewfinder program, to be run on a wearable computer.
Objectives:
·
Write source code that reads in a single .pgm file and
copies the data to another .pgm file.
·
Compile, test and debug the executable for the image copying
program. This program will be used as a base for testing the performance
of the various filters and edge detection algorithms.
·
Write source code for the edge detection algorithm that
adapts the image copying program into an image processing program.
·
Compile, test and debug the executable code for the image
processing program.
·
Write source code that integrates the chosen image
enhancement system (noise filter & edge detector) into the viewfinder
program (vf.c).
·
Compile the combined source, test and debug the executable
code for the adapted viewfinder program with live video.
Goal:
Optimize the image enhancement system for a visually impaired person and
add features which would make the system more useful.
Objectives:
·
Test the performance of the noise-reducing digital filters
(mean/median/lowpass/etc).
·
Construct an image enhancement system from a noise-reducing
filter and the edge detection algorithm that maximizes the benefit between
efficiency and image edge quality.
·
Add brightness control to the program, adjustable in
run-time on the keyboard.
·
Add granularity control (amount of edge detection) to the
program, also adjustable in run-time.
·
Prepare list of changes to the software based on past
technical observations and test inputs.
·
Use test input to adjust the main parameters for the noise
filter and the edge detector.
·
Add additional features that were suggested during the
course of the project.