Time flies, and now my internship have come to an end. The project, HoloTouch will now be passed to the hands of professors and research officers, who will bring it into the next stage and into the future. As I sit in my workplace for the last time today, I begin to recall all the moments since the start of the internship. There were so many memories, so many great moments to cherish. My workplace have now become so beautiful, so inspirational to me, never before was it so.
I will never forgot Mr.Kevin, Mr.Ming Hong,Dr.Cheong, Mr.Yeo, Dr.Calvin and other collegaues in the DMV team, and will definitely come back to visit this place in the future. Hopefully by the time I am out of National Service,HoloTouch would be the next big thing in IHPC, like what LightDraw did.
Well, my time serving IHPC is now over, and its now time for the next batch of students to continue the work that has been done, and I am confident of them.
Before ending this last post, I would wish to say thank you to all of you who guided us, provided advice and worked with us throughout this HoloTouch project. It was a memorable experience for me which I shall never forget. Thank You!
==================Reflection======================
Since this is my last reflection I will write on, I will write it based on the entire internship experience.
This internship experience has taught me on many different things.
One of these important ones is communication skills. Although we all learned communication skills in the workplace during Polytechnic education, it is a totally different thing to apply it to the workplace. Throughout my internship, I have learned and seen the impact of good and bad communication, and they can really make a difference in how people see you as. Small mistakes in communication can easily cause unnecessary misunderstandings, affecting important relations with other people.
Another of these important ones is something called Dynamics. Dynamics is one's ability to bring the best out of himself at all times, and it has a strong relationship to the quality of the work we produce. The more dynamic we are, the more we can complete a task faster with better quality in a given environment. Dynamics can be enforced with a number of things. In my case, I list out 20 things on why I should be giving my best for this project, and 20 things on the bad things that would happen if I do not. Everytime I am feeling lazy and demotivated, one look at that brings me back to my feet, allowing me to finish my tasks faster.
I have also learned that it is crucial to learn at least the basics of all technologies that we can touch our hands on, for we will never know in the job that we get, what kind of technology will it be requiring from us.
This internship have truly given me a glance of what to expect and how to prepare for a long term work in the software development sector, and how to maintain positive relations and stay away from office politics. I now feel much more prepared for the working world.
In summary, this internship programme at IHPC has been a great one, and I definitely hope there will be more of such great internship provided for students.
Thursday, February 25, 2010
Week 22 Day 4
Today I finished the SIP Report, and submitted all the software and presentation to Mr.Kevin Veragoo and Mr.Koa Ming Hong. It has been a memorable time working at IHPC, and I wish to thank both of you for your guidance all along.
Tuesday, February 23, 2010
Monday, February 22, 2010
Week 22 Day 1
Today was the first day of the last week of work, Victor and me finished up the remaining coding for the new calibration and tested it before presenting to our supervisor. I was glad that the application is now fully completed after weeks of hardwork, sweat and blood.
With the application now completed, our next task would be doing the SIP report now.
With the application now completed, our next task would be doing the SIP report now.
Sunday, February 21, 2010
Week 21 Day 5
Today Victor and I helped Kevin to cleanup the workplace and make it appear like the first day of work. Now whenever I take a look at my workplace after the cleanup, it looked as if I have travelled back in time to my first day of work. Though I knew that the day I will be leaving is near (just next week), I somehow feel sad leaving this place. However, life goes on, I told myself, and the best I can do now is to put my best effort in the HoloTouch app before I leave this place.
For the afternoon, I leave for Temasek Polytechnic to attend a trip to NTU, and to also submit my supporting documents to NUS.
===================Reflection===================
Upon nearing the end of my SIP, I begin to think of a quote by my favourite motivation speaker, Adam Khoo. In his book, Paving the way to the top, he mentioned : "If you are not doing what you like doing, you will never be the best in whatever you are doing". This had me thinking to myself, through this internship, am I happy with what am I doing? is this the type of job that I have all along wanted ? Why and Why not? Well, some of my answers to this question are no, and some are yes. I now know more of what I really want to do with my life now.
For the afternoon, I leave for Temasek Polytechnic to attend a trip to NTU, and to also submit my supporting documents to NUS.
===================Reflection===================
Upon nearing the end of my SIP, I begin to think of a quote by my favourite motivation speaker, Adam Khoo. In his book, Paving the way to the top, he mentioned : "If you are not doing what you like doing, you will never be the best in whatever you are doing". This had me thinking to myself, through this internship, am I happy with what am I doing? is this the type of job that I have all along wanted ? Why and Why not? Well, some of my answers to this question are no, and some are yes. I now know more of what I really want to do with my life now.
Week 21 Day 4
Today Kevin came to inform us we will need to archive all our applications we developed, blog posts we have done, presentation slides we have created, and reports that we have done with regards to HoloTouch all into a single DVD.
As the calibration application was already working well, I then worked on retrieving my previous work and presentation slides and storing them onto a single location. I then continued to work on my SIP report, which I have just begin since the other day.
As the calibration application was already working well, I then worked on retrieving my previous work and presentation slides and storing them onto a single location. I then continued to work on my SIP report, which I have just begin since the other day.
Week 21 Day 3
Today, I tested the new code logic, and the detection is now better, even though sometimes there is a little bit interference from background objects. Today I couldn`t do much coding due to the Automatic Blood Pressure Monitor wrapping around my right arm. It was strapped around my bicep so tightly that even a single movement of my finger hurts! Thus the whole day I was doing coding with fingers from my left hand, which puts me in low productivity mode.
For today, I worked on the file saving issues that occurred since the application went for PSRP presentation. I then figured out the problem was from forgetting to put file.Close() at the end of my saving method -.- It worked thereafter.
For today, I worked on the file saving issues that occurred since the application went for PSRP presentation. I then figured out the problem was from forgetting to put file.Close() at the end of my saving method -.- It worked thereafter.
Week 20 Day 5
Today, before presenting to Kevin, I tested the application and confirmed that it is able to detect the color markers clearly. However, when Kevin came, the application decided to take a break : ( In the same environment I recalibrated twice, and only red worked. I then went back to research on the reason for this and realised that the range of yellow and green were set incorrectly. For instance, their area was set to 2000 min and 0 max. Such range will definitely fail for the detection. I investigated further, and realised a mistake in the code I wrote. Other than modifying and fixing it, I also added codes to ensure if 0 is detected for the maxiumum or minimum, then set it to the default area range instead.
I tested it, and realised that this time round, it still failed. The minimum area detected was too large. Hence I modified the code more. I force the area to be set to 300 when the minimum area detected was more than 300. Why do I choose 300? This is because after various testing in different environments, I came to the conclusion that provided the detection is accurate, the area of background noises are always 100 and below. I finished coding this up, but didn`t have the time to test it as I have to leave for my phyiscal examination or Napfa examination.
I look forward to testing this new code next Wednesday, and hereby wish all readers a Happy Chinese New Year! Cheers :) [for 2 days of extra holidays!]
I tested it, and realised that this time round, it still failed. The minimum area detected was too large. Hence I modified the code more. I force the area to be set to 300 when the minimum area detected was more than 300. Why do I choose 300? This is because after various testing in different environments, I came to the conclusion that provided the detection is accurate, the area of background noises are always 100 and below. I finished coding this up, but didn`t have the time to test it as I have to leave for my phyiscal examination or Napfa examination.
I look forward to testing this new code next Wednesday, and hereby wish all readers a Happy Chinese New Year! Cheers :) [for 2 days of extra holidays!]
Week 20 Day 4
Today, I tested out the application and to my joy, it worked successfully! I was overjoyed.....for the first try. However for the second try, it was not as good as background objects start to appear and interfere with what should be correctly detected.
I went back and look at my code for changes that I can make to improve this situation, and finally found something that I could improve on in the background (or automatic calibration) calibration method. Apparently the reason the background calibration will cause the correct range set by my current calibration method, as it was based on last time's logic, where it calibrate simply by the default hue, saturation and value range. I edited the logic by changing it to adjust a maximum of +20 and -20 changes to the hue, saturation and value range without clearing the modifications to the hue, saturation and value range that my current calibration does. I tested it out and it worked fine. I then proceed to invite Kevin to see this current application tomorrow.
I went back and look at my code for changes that I can make to improve this situation, and finally found something that I could improve on in the background (or automatic calibration) calibration method. Apparently the reason the background calibration will cause the correct range set by my current calibration method, as it was based on last time's logic, where it calibrate simply by the default hue, saturation and value range. I edited the logic by changing it to adjust a maximum of +20 and -20 changes to the hue, saturation and value range without clearing the modifications to the hue, saturation and value range that my current calibration does. I tested it out and it worked fine. I then proceed to invite Kevin to see this current application tomorrow.
Week 20 Day 3
Today I finished up the coding for the detection based on correct region. I tested it and apparently only 2 out of 9 detections were accepted. I investigated this by viewing the images detected in HSV view and realised that although some of the detections identified was in the correct area of detection, but it indirectly got dismissed as it was apart by just 5 to 7 pixels.
I then modified my code to accept the detection if the area that is detected is less than 20 pixels away from the correct detection area. I have just finished the code for this and will test this out tomorrow.
I then modified my code to accept the detection if the area that is detected is less than 20 pixels away from the correct detection area. I have just finished the code for this and will test this out tomorrow.
Week 20 Day 2
Today I decided to implement codes to ensure the Hue Saturation and Value ranges detected are only based on the correct detection area. To do this, I compare the rectangle portion data returned after the detection with the white square's position. If the white square is inside the rectangle portion of the detection, it will be acceped, or else it will be discarded.
I spend the whole day in the midst of implementing this as well as changing the existing code to suit them to this new way of detection.
I spend the whole day in the midst of implementing this as well as changing the existing code to suit them to this new way of detection.
Monday, February 8, 2010
Week 20 Day 1
Today I tested the new calibration method that I have developed. It worked to a small extend as it seems to detect a huge range of values for Hue, Saturation and Value, causing other background obstruction objects to be shown too. The workaround I have implemented today was to take the largest out of all minimun ranges detected. This method, although works better than the previous method, still failed to completely ignore background objects in the surroundings. I am now considering the detection of area, which maybe difficult seems the area detected may not always be of the object intended.
week 19 Day 5
Glad today its Friday! Today I continued on the small left over coding tasks from yesterday, but time passes quickly and soon when I finished the new calibration method, it was 5.40pm. As such, I will be testing this new calibration method next Monday.
Best Wishes to everyone reading this! Have a nice weekend!
Best Wishes to everyone reading this! Have a nice weekend!
Week 19 Day 4
Today morning I have accepted a trade invitation to visit the AirShow 2010. It was my first time in my life watching an Air Show, and it was great!!! The airplanes were doing all sorts of aerobatic stuns, and there was one which even spit fire!
After the Air Show, I went back to continue coding on the application. The rest of the day was spend on finishing up the coding for the calibration method.
After the Air Show, I went back to continue coding on the application. The rest of the day was spend on finishing up the coding for the calibration method.
week 19 Day 3
Today I am almost finished implementing the code for red on the new calibration method. The whole day was spend on thinking on how to store the scanned region, how to measure as accurately as possible, and how to detect other background objects and ignore them. Pardon me for these short and late blog posts, have been spending most of the time busy developing and focusing on the new calibration method.
week 19 Day 2
Today, I have started on developing the new manual calibration method, have finished with coding up the square that moves when the user press space. I have also changed the existing codes to suit to the current logic
Week 19 Day 1
Today we will assigned with the new tasks of simplifying the calibration process. Basically instead of requiring the users to adjust the values on their own, the users will simply have to move their fingers with the respective color markers around, and the calibration process will then detect the HSV values accordingly, and use it for HoloTouch.
Today was spend on thinking out the logic on how to implement the code, what to change on the existing ones, basically working out the workflow.
Today was spend on thinking out the logic on how to implement the code, what to change on the existing ones, basically working out the workflow.
Subscribe to:
Comments (Atom)
