-- LinhPham - 31 July 2009

The symposium is today... it is also the last day... so, to conclude this internship, I will just post a video of the end results.. enjoy.

 

-- LinhPham - 28 July 2009

So today I am trying to do the 3D hand model... =/

 

UgonnaOhiri - 29 Jul 2009 - 00:55

Good luck man!...I know you've been working extremely hard in Howe basement.

-- LinhPham - 24 July 2009

So yesterday we went on a field trip to a usability lab and the science center. It was interesting. The food was really good. I ate so much for dinner I didn't eat breakfast today. Today I worked on improving the hand model... or tried to... I don't know if it is really demo-able... I think I will just work on making a cool demo with kens water.

 

-- LinhPham - 22 July 2009

Today I was able to incorporate Kens water with my code. What I have right now is you are able to control a ball with your hand. However... the frame rate is horrible. I thought it was just my crappy laptop, but I tried it on one of the desktops, and it still is slow. Hopefully Ken can help me remedy this problem.

And to Hamadi... sorry... but this water isn't the famous sexy water that Ken is known for. This is just simple crap water he made quickly for us to use. When his nice water interacts with other things, the frame rate slows down dramatically... so it would have probably made my laptop explode...

 

-- LinhPham - 21 July 2009

Today I wasn't able to find out why the depth in the palm is very different from the depth in the fingers... so I just decided to move the whole hand based on the depth of the palm. Doing it this way will limit what I can do with the motion of the fingers... but right now its just a sacrifice I have to make. Also I tried incorporating Ken's water.... and had 1953 warnings... I will just wait till he gets here so I can get his help.

 

HamadiMcIntosh - 21 Jul 2009 - 13:21

I hope when you demo your project at the end of year symposium, I get to see this infamous water. I've heard alot about it and it has been hyped to a great extent, but we have never gotten the chance to see it. You aren't going to deprive us are you? Lol.

-- LinhPham - 20 July 2009

Today I found an error in my code. I didn't know why when I drew cubes for the fingertips in OpenGL they were so far apart from each other. What I didn't do was put each and everyone of them in their own push and pop matrices. Once I did this the cubes we in their proper positions, but they still didn't fit on the screen, so I had to scale them. I also added a cool feature to highlight a specific cube and get the location of it. This will make it easier to debug my code in the future.

 

-- LinhPham - 17 July 2009

Today I worked on a different approach. Ken gave me some openGL code to start with yesterday... so i ended up making a grid and a cube that I can move with a marker in that grid. Now even though this is nothing new... what is new is that I am trying to make the movement as realistic as possible. I ended up taking 28 of the points in history, adding them up, and using these points as the current point. This helped dampen all the jittery movement due to the Z-Cam's inability to properly get a constant still images. The depth information from the camera though is still a little spotty. I cant seem to get it to work. I am hoping to be able to take this and apply it to Kelly's code... hopefully getting a more natural movement.

 

ConnorSchenck - 17 Jul 2009 - 13:37

If you're looking for a way to filter out noise (smooth the motion of the cube) you may want to look into using a Kalman filter. They are very good at that.

-- LinhPham - 16 July 2009

So today I added depth into my code.. that took... let me count... 1..2..3..4..5..6..7..8..9..10..11..12..13..14..15..16..17..18..19..20..21.22.. I think about 22 lines of code... and it worked the first time a ran it... which is nice.

 

UgonnaOhiri - 16 Jul 2009 - 13:28

I didn't know 1 came after 10...haha i'll fix it.

-- LinhPham - 15 July 2009

So just a quick blog today.... I fined tuned my code, tried to combine it with Kelly's code... didn't work... now I have no Z-Cam...

 

-- LinhPham - 14 July 2009

Today I got each finger to display in the openGL windows with the appropriate color on the markers. I also fine tuned the range for the pinky, making it more responsive. Ken helped me fix the openGL window to display the cylinders better. I also mirrored the images displayed so that it would be easier for the user to associate which finger is which. I would say today I just spent fine tuning my code.

 

-- LinhPham - 13 July 2009

I just wanted to post up some pictures of what our poster will contain. I've had a lot of posts that have just been straight up text, so I think a visual post has been long overdue.

 

MichaelOren - 14 Jul 2009 - 20:38

I always enjoy seeing the cow udder hand smile

UgonnaOhiri - 14 Jul 2009 - 14:53

I second that! I am very looking forward to your demo.

ConnorSchenck - 13 Jul 2009 - 13:17

looks very cool

-- LinhPham - 10 July 2009

Today I was able to add my FingerHistory class. The purpose of this class is to maintain a history of previous locations of the fingers. I had coded this in a seperate solution to test, and when I basically copy and pasted it in my code, it worked, so I was happy about that. I was also able to draw 5 cylinders based on these points. The problem I have now is that there is no way to differentiate which finger is which. Even though I have 5 cylinders, they are just 5 random cylinders. They are not unique to each finger. I don't know where to go from here. Song told me to integrate Joshes calibration code, and I was thinking after I did this, I could use markers to help. However, when I did this, it did not work properly. It would either find the hand, or the marker, not both at the same time. Hopefully Song can help us find our way.

 

HamadiMcIntosh - 10 Jul 2009 - 13:29

Not to make you feel like you ruined our study, but we had to throw your data out. I'm actually a little surprised that our grad mentor had never encountered a problem with eye drops before and didn't think to not let you apply them before the study. Don't worry about it, we'll still have plenty of data. I think instead of having 7 subjects we're going to have 6. No big deal.

-- LinhPham - 9 July 2009

When I went back to my apartment yesterday, I was wondering why I cant ever draw a point on the middle finger. I thought about it for a while and I realized it might be the first point I work with. To further explain, basically I had this:

for( int i = 1; i < numberOfPoints-1; i++)

I did this because to find the angle between 2 lines, you need 3 points, so starting at i = 1, I would compare it with points 0 and 2. The problem with this is with the current loop, it would stop at numberOfPoints-1, and it would miss comparing 2 points, because one involve having point 0 in it, and the other would involve numberOfPoints in it. Both these values are unreachable, so what I did was i changed i < numberOfPoints-1 to i <= numberOfPoints, and introduced 2 if statements to handle these 2 points. Only one of those points matter though, since the other point would be the webbing of the hand, but I am a picky coder and I wanted to do the whole hand. Now I have 5 dots on the contour, 1 for each finger. However, if I turn my hand upside-down, it draws points on the webbings. The reason is I am using arctan to find the angle. If its negative, its a finger. But if you turn your hand upside-down, now the webbings are negative. Ken said yesterday this would work, so I hope when he gets in he can point out what I did wrong.

 

BellaManoim - 09 Jul 2009 - 15:26

please look at the email Pam sent and sign up for our study

-- LinhPham - 8 July 2009

I wasn't able to find any spline code to work, so I decided to focus on a different approach. I was going to us a function cvFindDominantPoints() to find the dominant points of the contour. When I used this function, it kept throwing me memory errors. I spent alot of time debugging this, eventually getting help from Brett. What the problem was is that if the contour was too small and the function tried to find dominant points, I guess it would throw an error. The solution was just to call the function within an if statement that made sure the area of the contour was above 200 units. This solved the issue, however, the results I got were pretty much useless. The dots I plotted were not even on the contour. Now I have no idea if its the function's fault or how I am using it, because there is very little documentation online about this function, and people have had questions about it, but these questions were posted in 2005 with no responses. Maybe Brett can figure it out, but if he cant, I have to hope that Jim can get a hold of NLIB for me so I can see if splining the contour will help.

 

-- LinhPham - 7 July 2009

Today I got to work and found some spline code I could implement. I downloaded the .c file, and made a .h file for it. I then encountered a problem using it, because the functions it contained used a struct for points. I basically had to go through and convert CvPoints into points, which wasn't hard, but I kept encountering memory errors. I realized I had this same error before when I tried to access a contour that was null, so this was remedied with a simple if statement. I got as far as getting all the points, and splining them. I was working on getting the points back into a the CvSeq format, but then I had a meeting with Jim Oliver around 11 and he told me I needed to search for NURBS global curve approximation. I guess what I did earlier has gone to waste, but I did learn about some interesting openCV functions which let me convert CVseq into an array and vice-versa.

 

LinhPham - 07 Jul 2009 - 13:32

Haha I didn't know he was the one that suggested it.... I will ask him about it when I see him.

HamadiMcIntosh - 07 Jul 2009 - 13:27

You've met the person responsible for taking Transformers 2 away from us? Did you mention our petition? Did he laugh?

-- LinhPham - 24 June 2009

I woke up late for work today... =\ ... there is not much to do now... I am basically waiting for Josh to finish his part of the code so I can have a go at it. Josh is trying to get the 5 fingers to show up on screen and control them using 5 different colored markers. When he does that, I have to implement the twisting and turning of the hand... =O ... I did not really know how to approach this until I cleared it up with Song yesterday. The approach he wants me to take is to determine the velocity and acceleration of the hand, and if it goes off screen, assume the current trend. I think this will be the hardest to implement... but when I do it, I will actually be proud of it. I know how to go through the calculations, but the tricky part is getting the data. I can already find distance... but I need to figure out time. Once I do that then I need to figure out how to implement it so it looks real. Hopefully I can do this, but its probably going to be a lot of if statements...

 

MichaelOren - 24 Jun 2009 - 16:08

I'm glad you finally found something that interests you smile You and Josh might try doing some paired programming (one of you codes for an hour while the other watches, asks clarifying questions, comments and then you switch). It's supposedly a very effective way to write good code.

-- LinhPham - 17 June 2009

So today, I worked on editing Joe and Brett's code to rotate a cube with the Zcam. I wanted to post this, so I found a free screen capture program... so here it is. As you can see, my hand is moving when the block moves.

With this new program, I thought I would re-record Tic Tac Toe.

 

HamadiMcIntosh - 23 Jun 2009 - 13:28

Where did you get this program? I've always wanted to know how to get screen captures.

ZayiraJordan - 23 Jun 2009 - 12:35

Cool demos! I especially liked your selection of music.

MichaelOren - 19 Jun 2009 - 15:57

Nice, great work with the cube and getting some nice YouTube videos made.

-- LinhPham - 17 June 2009

Well its been a week since my last blog... WHOOPS! Yesterday we voted for the best program, and we won. Honestly, it wasn't that hard to make. I think the reason why it looked impressive was because of the flashing colors, the sound, and it was in 3-D. I didn't even intend to make it 3d... At first I disabled the mouse when I started coding. When I finished, Josh asked what it would look like if I enabled the mouse. When I did, I realized it did work in 3-D too... so HAHA!

Today I'm working on rotating a cube with my hand. Lets see what I can do...

 

MichaelOren - 17 Jun 2009 - 14:11

With only a week, most of the projects were fairly simple. Your group had the advantage of having a lot of additional bells and whistles plus interactivity. With the movie, you might want to try some screen capture program (the only issue is most of the ones I know of don't work with 3D--at least not well).

If PJ, Bella, and Ivan had gotten shadows working, that would have been impressive--that was the most ambitious graphical effect that any team tried (it's non-trivial and usually isn't covered in intro. graphics classes, the rest is all pretty well covered in most graphics courses).

-- LinhPham - 10 June 2009

Today we did more OpenGl . I dont really know if I am learning, because all I am doing is altering someone else's code.

 

MinaChoi - 16 Jun 2009 - 16:16

jp ;P

MinaChoi - 16 Jun 2009 - 16:16

congrats SHOWOFF!

ZayiraJordan - 11 Jun 2009 - 15:21

I know what you mean. I felt the same when I was doing OpenGL but... why waste time if it's done before? (at least, that's how they sold it to me).

BellaManoim - 11 Jun 2009 - 13:06

you're learning. knowing how to alter code is important, and not easy. it's great if you think it's too easy. that means you know what you're doing

UgonnaOhiri - 10 Jun 2009 - 23:23

hahahaha nice!!! i wish umbc was more like this...

-- LinhPham - 5 June 2009

Today we started learning some OpenGL . I was able to write my initials on the screen in red and circle it in yellow. I look forward to see what else I can do with OpenGL .

 

MichaelOren - 08 Jun 2009 - 23:47

Enjoying OpenGL a bit better than the programming course from last week?

-- LinhPham - 5 June 2009

Today I started learning some OpenCV . I am trying to familiarize with the library by reading a tutorial. This is boring, but it must be done.

 

MichaelOren - 05 Jun 2009 - 16:04

OpenCV is poorly documented but (thankfully) there is a book on it now. It's powerful though and very useful.

-- LinhPham - 4 June 2009

Today we worked on finishing up the tic tac toe game. We put all our files together, and when I ran it, there was a small error that took me a good 20 minutes to find. It turned out I had an "=" where it should have been an "==". I fixed that and everything is working fine. All I need to do now is comment and we will be done.

 

BellaManoim - 05 Jun 2009 - 16:35

those small errors are always the worst.

MichaelOren - 05 Jun 2009 - 12:59

3D tic-tac-toe being a cube and the rules vary depending upon how complicated you want to make it. You can either do one large game of the entire cube where three pieces aligned anywhere in 3D space can win it for you or do each 3x3 grid as its own game and then at the end juxtapose them all and have bonus points if there are additional alignments in 3D space.

Another alternative might be larger grids, but that's simple changes so a 5x5 with 5 lined up to win. Implementing some AI (if you don't already) would also make it more of a challenge/more interesting.

MichaelOren - 05 Jun 2009 - 12:56

Those "=" and "==" errors are sometimes the worst. If you do a lot of programming in VB for awhile (or another language that does comparisons with a single "=") and then go back to C++ or Java then you get a lot of them. Not fun. You could always add a graphical front end to Tic-Tac-Toe (or do 3D tic-tac-toe) if you want to make things more interesting.

ZayiraJordan - 05 Jun 2009 - 09:23

Awesome!!! Before schedule. You guys must be really good.

HamadiMcIntosh - 04 Jun 2009 - 17:12

I bet my code had more errors than your code.

UgonnaOhiri - 04 Jun 2009 - 16:25

Linh how can you come in and just turn an assignment in so easily?...STATE-OF-THE-ART!!!

-- LinhPham - 3 June 2009

I slept in today... it was AMAZING! I got breakfast, was aight... then I walked to Howe hall with Taylor. When I got here, I did the assignment, then started working on coding the tic tac toe program. I was pretty much done, all I had to do was the winning function, but then it was time to eat. At the dining hall, they had Kiwi, OMG! Ima try to start my diet today, so I ate salad for lunch. I got back, finished my part of the code, and now Josh is no where to be found...

 

-- LinhPham - 2 June 2009

Breakfast was AMAZING again today. When I got to the lab, I started working on the assignment. I did it all on my own, then realized that Eric gave us the actually files, and we just needed to alter them. I did it again real quick, then tried to work on compiling the ZCam code. It still wont compile, but I will keep working at it.


Task: The user wants to sell his van

What's wrong: The potential buyer cant reach the tabs to rip off with the all the information.

What would be better: The paper should be outside the van.

Brief analysis: This is not a very effective method to sell the van because the contact information is not easily accessible to the buyer.


Task: The user wants to wash his hands

What's wrong: The faucet is not far enough out. The sink top will get wet, and when the user wants to wash his hands, it might overflow the sink top and get him wet.

What would be better: The faucet should be further out.

Brief analysis: This is not a very efficient faucet. It wastes water and spills all over the top. The user would have a tough time washing his hands.

 

MichaelOren - 02 Jun 2009 - 14:47

If you're having trouble with the ZCam, the local experts are Andrew Koehring and Joe Holub (that might have been why he was at your station today though).

HamadiMcIntosh - 02 Jun 2009 - 14:07

I think your group will win the prize at the end of this course.

BellaManoim - 02 Jun 2009 - 14:54

Hah!

MinaChoi - 02 Jun 2009 - 14:12

LOL!

-- LinhPham - 28 May 2009

Today we talked about 2 articles we were assigned to read beforehand. Both focused on Social Networking Services (SNS), such as Myspace and Facebook. One article focused on how SNS can affect student grades. The other article focused on how the relationships between students and faculty can be affected through Facebook. I personally found no interest in these articles.

lol... it seemed like it.
...I can edit your blogs?

--Mina

 

AmyGreen - 01 Jun 2009 - 13:14

UgonnaOhiri - 29 May 2009 - 14:00

SLEEP? Oh no!!!!

MichaelOren - 29 May 2009 - 13:39

Please add the comment code to each blog entry (just copy and paste it) that way it's clearer when Mina comments in the future

-- LinhPham - 29 May 2009

Today the Affinity Research group came and we participated in a discussion about what research is, basically defining the subject. This lead to us discussing our own research projects, the tasks, and milestones. It also gave us the opportunity to meet with our mentor and get some background information on our project. I felt this was actually productive, but it should not have lasted so long.

I am finding it hard to stay awake through some of these presentations. I need to fix my sleeping schedule.

-- LinhPham - 01 June 2009

Today I woke up at 8, ate breakfast at Hawtorne Market... AMAZING! I ate while i was walking to work with Curtis. Got lost. Showed up to work late, but actually early since we didn't have to be there. Facebooked a little, then started working on my tic tac toe project. Went to lunch, ate an AMAZING sandwich. And now im blogging. AMAZING!

 

LinhPham - 02 Jun 2009 - 13:06

naw breakfast was acutally amazin

MichaelOren - 01 Jun 2009 - 15:15

I knew Pam told the females they had to go to that one meeting, but did she forget to tell all the males they didn't have to be here until the programming course? Nice sarcasm throughout, btw. It amuses me.

Topic revision: r70 - 2009-07-31 - 16:24:50 - LinhPham



tip TWiki Tip of the Day
File attachments
One can attach files to any topic. The action of attaching a file to a topic is similar to attaching ... Read on Read more

 
This site is powered by the TWiki collaboration platformCopyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback