Welcome!
While you are here...
Home
View my project schedule/plan
View my resume
Contact my references
Read my philosophy statement
My code
My personal links...
Compsci
|
|
CS460--Senior Capstone |
May 1, 2005--9:57 AM
This past Tuesday we
had our presentations, so that bit of stress is over! And to make it even
better, all of the presentations went well :) So, since then I've been
busy finishing up documentation (both internally and externally) and also
finishing up on this website, since editing permissions will be turned off
tomorrow morning. Everything has been posted on the website now, and to
make it easy to find, all of the links were placed on the home page of the
website, listed under "Results". I figured this would be easist, because
now that page lists the description, then the requirements and finally the
results...it flows well.
Since this semester is wrapping up, I bet you could guess that this
journal is too. Actually, this probably is the final entry already...it
doesn't seem like an entire semester has gone by already....how time
flies! It has truly been a learning experience in many ways. Now all I
can hope for is that Mr. Blahnik likes all of my work and actually uses
it...
|
April 24, 2005--10:49 PM
In the past week, I
have been able to implement a couple different formulas for finding a
best-fit-line...then I had to test them and found the one that worked the
best (I didn't think there'd be a difference, but upon testing them, I was
proven wrong). Plus I also used some simple weights for historical data,
and in all of the testing I did on sidewalks, I did not see a difference
between this way and what I had been doing before...except that without
the extra computations, it ran a weeee bit faster. So, I'm sticking with
what I had before. Also I've been working on cleaning up my code and
writing documentation and adding stuff to my webpage in preparation for
the presentations and also for the end of the semester when everything has
to be finished. Slowly getting there, and yet it's hard to believe that
it's almost over!
|
April 14, 2005--2:04 PM
Got some redirection
earlier today...now my c++, win32, and dll work is all scrapped and I'm
strictly focusing on VB6. So stay tuned for the next week to see how far
I can get.
|
April 10, 2005--6:35 PM
MY C++ CODE
WORKS!!!! YAY!!!!! I have finally found out what was wrong...for some
reason my xmask and ymask arrays were being reinitialized to all 0's. So,
now I'm getting better numbers for my sobel data...the problem now is that
I have to figure out how to display the sobel data in a window using
win32, because my previous thought of simply writing over the input array
and putting that on the screen did not work :( Sometime this week I have
to meet up with Dr. McVey and her win32 book to see if we can find the
least messy way to display my data quickly on the screen. (However, if it
was possible, I would be jumping up and down, because my code works!!
Getting it to display on the screen is minor...but still important.)
|
April 5, 2005--6:29 PM
Some highs and lows
today. I've spent most of the day working on 1. understanding Drew
Demerath's code 2. making a new project with Drew's code that allows me to
directly touch the data from the camera and 3. implementing the sobel
algorithm in C++/win32. I met with Dr. McVey and she was a great help on
getting me started up in C++ again :) However, my problem is that I
currently cannot get sobel to work in this environment. I can get numbers
to frame the picture, but everything inside turns black. On a positive
note, though, I did spend the past hour updating my website, so now my
code is available....sooooo if anyone is reading this relatively close to
the date posted, if you feel like looking at my code and seeing if you can
find the error in it, I'd greatly appreciate it :) My jump from VB to C++
is in an effort to make my code modular (a requirement for the project)
because after talking with Mr. Blahnik we decided it would be easier for
me to write two versions instead of trying to make one version that both
languages could call. I feel pretty comfortable now, having re-immersed
myself in C++, but now I have a lot of debugging to do to find out what is
going wrong in my code. Plus I have to work on making a pretty interface
in win32 which could be difficult, but I feel up to the challenge. (I
just hope it doesn't prove too difficult, because I'm running out of
time...however, with a good win32 book and Dr. McVey to aid me, I'm not
worried about this happening).
Also, in terms of my efforts in VB, a few days ago Kevin showed me how
to draw lines in a picture. So, now I have a version of my code that
draws a line from the bottom box to the top one, which shows the user a
potential direction that they must turn, and (based on the slope of the
line) how sharp they have to turn. This was of course done for Mr.
Blahnik and someone who may be using this code to control a robot. When I
get a chance to go back to this code I plan on drawing lines between all
the boxes instead of just between the top and the bottom ones to give a
better idea of curvature in an object (which on a sidewalk would be like
showing the anticipated path of travel).
|
March 28, 2005--7:26 PM
I'm back at SNC from
break...and sorry to break your heart, but this won't be the usual journal
entry. Fact is, I haven't been able to really work on my capstone over
break, because of my surgery (I survived, in case you were wondering :)
and it went alright as well). I am now on a weight restriction (I am only
allowed to carry a max. of 10 lbs.) so carrying the laptop I borrowed is
out the window...next time I have to ask for the lighter model... So,
we'll have to wait and see what I can accomplish from my room (at least
until I can walk normally again). On the up-side, it's spring and I'm
looking forward to being able to work on this project again...at least as
much as these final weeks will allow!
|
March 13, 2005--2:04 PM
I have been pretty
busy this past week so I haven't been able to work on the project
much...However, I still got some things accomplished in the time that I
had. After talking with Kevin and Blahnik, I worked on getting a
"forecast" going. Now I'm finding the center in three places and giving
the difference in the bottom and the top (in pixels). This provides
feedback so now the "user" can know this difference and deteremine how far
to steer, turn, etc. based on this value (small value=slight turn, big
value=big turn...exactly how much to turn is left up to the user, of
course). Also, with this value, negative means go left and positive means
go right...so now I've got direction of turn and degree of the turn
information that Blahnik was looking for. Besides all this, now the
program bases where it looks for the center on historical data (previous
frame only). Which means that it now starts looking from the previous
center position to find the current, instead of looking at the center of
the frame every time. One thing I have to do now though is meet with
Blahnik (or someone) to find out how to make a working dll so VB can call
my functions from there instead of being part of the actual project. I
know he's done this before, so he's my number one target right now :)
|
March 6, 2005--11:31 PM
Met with Dr.
Pankratz and Mr. Blahnik last week. Both had ideas for me for finding a
line...not sure which way to go though...the least squares method
(courtesy of Pankratz) seems easier to implement and also less CPU
intensive. I think I'll bring that up in my walkthrough. Didn't get to
work at all this weekend, prior to now. However, tonight I've made some
nice progress...I have implemented the "bit blast" in my code and now it
runs a lot faster!! :) I also got to play with my pictures in memory and
was figuring out how they are stored in memory. (I got my picture to
display both upside down and backwards before I finally figured out how to
display it correctly on the screen) Now that I have this implemented, I
next have to worry about my walkthrough on tuesday and after that worry
about finding lines (edges) so I can make a more educated guess as to
where I should be centering (by keeping a history of sorts...) I hope all
goes well. I'm ahead of the schedule I originally set for myself, so I'm
pretty excited about this next part :) I'm not quite as worried about the
semester coming quickly to an end and yet at the same time I'm
terrified!!! (Nobody likes running out of time...)
|
February 27, 2005--8:49 AM
This week has been a
week of progress: on Tuesday I was in the lab and got a very basic method
of finding the center of a sidewalk implemented...and it works!!!!!! :)
Dr. Pankratz was in the lab at that time so I got to show him what I
accomplished. He told me that I should think about storing historical
data, so then my program could guess where to go if it lost an edge. I've
thought about that and I've talked with peers about it and basically what
I should do on my project (working hard not to go too far on my
project...trying to avoid that second system syndrome). Then on Thursday,
Kevin, Alex and I walked to my house from campus, and we got video screen
capture of my program working :) One of these days I have to implement
"bit-blast" (really bitblt...or bit-block-transfer, for any windows
programmers out there) instead of my pixelsets that I'm doing right now.
This wasn't a concern before because I was working with still images, but
now that I experimented with the webcam I realized I need to convert my
code. I can't wait for the project walk-throughs, because I want to see
if anyone else in the class has ideas for how I can find the center of an
object...there are so many variables that it's almost impossible to know
exactly where you are with respect to a particular object, because the
computer can't distinguish between objects! (all it can see are edges,
but it doesn't care whose edges they are) I'm thinking my algorithm is
good enough for now, because on test runs it does a good job of finding
the center of a sidewalk...gotta leave something as an extension for my
project, right?? ;)
|
February 26, 2005--ALL DAY
HAPPY BIRTHDAY TO
ME!!! :)
|
February 20, 2005--10:34 PM
Met with
Pankratz last week and discussed the potential difficulty I could face
by the fact that depending on conditions, an edge could disappear from
an image. Then went out and took more pictures of sidewalk (fun,
fun). Then, this afternoon in the lab I got my program set up so now I
can see the pure Sobel data or can use a threshold to try and clean up the
picture. In addition, I can now use a slider to view all of the pictures
I have taken. Tonight I've been working on paper and on the computer to
come up with an initial (albeit very basic) way to find the center of an
object. I hope to be able to get in to talk to the profs with an update
before they leave for SIGSCE!
|
February 16, 2005--10:11 AM
Happy and sad this
morning...first the good news (naturally): I got my program working so it
will now read in a bitmap and use Sobel on it and dislay the result!! :)
Yay! However...this leads to the bad news...my project is now on
following sidewalks, but the problem is that I'm not getting the type of
results I wanted... The other day Kevin and I walked around outside of
Cofrin and took pictures of the sidewalk (this was later in the
afternoon...maybe lighting was the problem...) After bringing those
images in, I realized that in grayscale, some different color objects
appear quite similar, which means that some edges are difficult to detect.
Need to consult Dr. Pankratz on this one...I need to find out what to do
if I can't get consistent edges for the sidewalk....
|
February 10, 2005--4:44 PM
Met with Dr.
Pankratz and he put my mind at ease to a certain extent, by helping me
focus my efforts and give me a goal to strive for at the end of the
semester.
GOAL: To be able to follow sidewalk, with clearly defined edges, under
varying lighting conditions.
This now allows me to focus on a particular task and I can hopefully make
some decent progress on this new path soon. Afterwards, I met with Prof.
Blahnik, and showed him what I had in terms of edge detection...he was
impressed...and also wants me to get on to the mobile following of
sidewalk fairly soon (not like I have a ton of time anyway), and is
willing to help me out once I get to that point.
|
February 8, 2005--5:53 PM
In a word: YAY!!!!
:) I've been working all afternoon on edge detection and I got Sobel Edge
Detection working!! I was given a variation of this algorithm (which
actually only approximated what Sobel does) and it kinda worked, so I
found an actual version of it online, and with a little patience was able
to implement the algorithm in VB. Also, with the code provided from
Blahnik, the camera will follow a person pretty well. However, for some
reason, in the lab, I couldn't get it to follow anything else (e.g. paper
or a chair). But let me reiterate the YAY! on the fact that sobel's
looking pretty cool and I can follow humans (even though I still have to
try and decipher what Blahnik did for his feature recognition code).
|
February 7, 2005--11:08 PM
Short and to the
point: still sorting through the code and trying to figure what everything
does and how it does it....oh yeah, and deciding where I'm supposed to add
my code and what needs to stay as-is. That's my story and for the rest of
the night I'm stickin' to it ;)
|
February 7, 2005--12:08 AM
The code runs...I've
decided to use the AVICAP code for now and am leaving the SDK stuff alone
for now. This is because I had to take a lot of time to get everything
installed and running, and since I don't want to have to do this at every
computer that I work at, the other method seems to be the way to go. I've
had a couple successful test runs, but have also had it crash on me too.
So the plan for the week is to get acquainted with the code and see what I
can accomplish by the weekend.
|
February 6, 2005--10:00 PM
Met with Blahnik
last week and got the code and info about how to run the two different
sets of code. Then went to Pankratz and picked up the logitech camera
that will be used for this project. Tonight was the first night I've had
to set up the camera and play around with it. So far I've been working on
getting all the code to run...which has been a pain. With Kevin's help, I
now have the code running, and I guess we'll see what I can accomplish
from here. Wish me luck!
|
February 3, 2005--1:37 PM
Got copies of the
installer packages and associated documentation from Kevin, so as soon as
I have the chance (i.e. get my other homework done) I will get all of this
installed on my computer. Let the experiment begin! :)
|
February 1, 2005--9:31 PM
Met with Professor
Blahnik today to get the scoop on the existing code that I'll be using as
a platform off of which to begin the technical aspect of my project.
After that, stopped by Dr. Pankratz's office and filled him in and then
got my webcam! :) Yay! This means that in within the next week and a
half, I hope to have the webcam and the code up and running so I can see
what I have to work with. I'm so excited that I finally will be able to
"get my hands dirty"...just hope that this first step goes seamlessly, so
I don't have to deal with minor setup issues in the beginning. Stay
tuned...
|
January 31,
2005--10:33 PM Met with Dr. Pankratz this morning and
discussed what I had found during my few hours of browsing online.
Definitely feeling better about this project the more I get into it.
Decided that I should meet with Blahnik SOON. Hopefully tomorrow....if
he's around.
|
January 30,
2005--10:32 PM After much surfing,
I've found some promising sites, a couple even
include source code for the implementation of the
Laplace Edge Detection Algorithm...this is nice cuz
all I could find before was high level talk about the
algorithm...still haven't found any pseudo-code or
anything that outlined the algorithm....seems like
people know about the algorithm and know what it does
but nobody was really talking about how it work, etc.
The links I found...
|
January 30,
2005--6:14 PM Got my webpage up
and running, despite the fact that I can't get on to
my intranet server (where I was developing this
site)...at least I can thank the cache for saving me
:)In terms of the rest of the project...it's gonna
be a fun night of researching online... Come back to
read about what I find.
|
|