Differences

This shows you the differences between two versions of the page.

fyp:ik0902 [2009/12/03 16:54]
127.0.0.1 external edit
fyp:ik0902 [2010/04/26 13:05] (current)
ik0902
Line 1: Line 1:
-====== FYP IK0902 iPhone Games ======+====== Final Year Project Presentation Files ====== 
 +^ {{:fyp:fyp_presentation_small.zip|Presentation slides}} ^ {{:fyp:ik0902_-_outline.doc|Presentation Outline}} ^ {{:fyp:ik0902_report_final_reduced.pdf|Final Report}} |
 +====== FYP IK0902 Application on iPhone ======
 +( [[fyp:ik0902/semester1|2009 Fall Semester]] | **2010 Spring Semester** )
====== Title ====== ====== Title ======
-iPhone Gaming +Application on iPhone
====== People ====== ====== People ======
Line 14: Line 17:
-[[wychung7@cse.cuhk.edu.hk|Sonia Chung Wan Ying]], [[pkyen7@cse.cuhk.edu.hk|Yen Po Ki]] +[[wychung7@cse.cuhk.edu.hk| Chung Wan Ying, Sonia]], [[pkyen7@cse.cuhk.edu.hk|Yen Po Ki]]
====== Progress ====== ====== Progress ======
-^ Week ^ Details ^ References +^ Week ^ Details ^ References & Remarks
-| Before Semester \\ (Summer 2009) | - Application Proposal for WWDC2009 \\ - {{:fyp:fyp_summer.pdf|}} |  +| Week 1 \\ (11 - 19 January 2010) | - Meeting with supervisor \\ - Review on project with the other 2 teams|  | 
-| Week 0 \\ (1 - 8 September 2009) | - Meeting with 2 developers |  | +| Week 2 \\ (20 - 26 January 2010) | - Marketing Research \\ - Idea Brainstorming |{{:fyp:ik0902:documents:sem2_w1_marketresearch.pdf| Market Research}} | 
-| Week 1 \\ (9 - 15 September 2009) | - Marketing Research & Brainstorming \\ - {{:fyp:fyp_w1.doc|}} | [[http://www.slideshare.net/HandyGames/top20-iphone-games-analysis-082009|Top 20 iPhone Games]] \\ [[http://www.gamedevresearch.com/2009-government-game-incentive-report.htm|Game Incentive Report]] | +| Week 3 \\ (27 Jan - 2 Feb 2010) | - Project Specification \\ - Image Layering Feature| {{:fyp:ik0902:documents:specification_of_final_year_project_-_sem2.pdf|Project Specification }}|
-| Week 2 \\ (16 - 22 September 2009) | - Idea Design \\ - {{:fyp:fyp_w2.doc|}} | [[http://guides.macrumors.com/Photo_Booth|Photo Booth]] \\ [[http://www.photofunia.com|Photo Funia]] +
-| Week 3 \\ (23 - 29 September 2009) | - Language Learning \\ - Photo Selection and basic editing on iPhone App (Flipping) | [[http://www.zimbio.com/iPhone/articles/1109/Picking+Images+iPhone+SDK+UIImagePickerController|Pick Image]] \\ [[http://developer.apple.com/iphone/library/documentation/GraphicsImaging/Reference/CGAffineTransform/Reference/reference.html#//apple_ref/c/func/CGAffineTransformInvert|Image Transformation]]| +
-| Week 4 \\ (30 Sept. - 6 October 2009) | - Specification \\ {{:fyp:specification_of_iphone_game.doc|}}\\ - Meeting with supervisor of view lab to discuss on face identification \\ - Save Image | [[http://opencv.willowgarage.com/wiki/|OpenCV]] | +
-| Week 5 \\ (7 - 13 October 2009) | - Study ebook of OpenCV library \\ - Try to import openCV to iPhone | [[http://opencv.willowgarage.com/wiki/|OpenCV]] \\ - Learning OpenCV \\ (Computer Vision \\ with the OpenCV Library) | +
-| Week 6 \\ (14 -20 October 2009) | - Research about openCV on Mac \\ - Development on face identification on static photo image | [[http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port | Official OpenCV]]| +
-| Week 7 \\  (21 - 27 October 2009) | - Testing on face identification on still photo \\ - Studying the OpenCV library | +
-| Week 8 \\ (28 Oct. - 3 Nov. 2009) | - Testing on the rotation angle on face \\ - Research on limitation about the OpenCV on face detection | +
-| Week 9 \\ (4 - 10 November 2009) | - Documentation & Function Learning \\ - Research on limitation about the OpenCV on face detection \\ - Requesting for the Apple Developer License | [[http://opencv.willowgarage.com/wiki/FaceDetection | Face Detection wiki]] \\ [[http://www710.univ-lyon1.fr/~bouakaz/OpenCV-0.9.5/docs/ref/OpenCVRef_Experimental.htm#decl_cvSetImagesForHaarClassifierCascade | Face Detection Ref.]] | +
-| Week 10 \\ (11 - 21 November 2009)| - Implementation the program on iPhone \\ - Testing the efficiency on iPhone \\ - Documentation| +
-|Week 11 \\ (22 Nov - 1 Dec 2009)| - Documentation \\ - {{:fyp:ik0902:ik0902_sem_1_report.pdf|Semester 1 Report}} \\ - Image Laygering Feature |+
====== Time Schedule (Temp.) ====== ====== Time Schedule (Temp.) ======
-^ September | - Idea Design (e.g. Idea, Target User, etc.) \\ - Learning Objective C for developing iPhone program +^ January | - Review on the project progress \\ - Market Research \\ - Application Design (e.g. Idea, Target User, theme, interface,... etc.) \\ - Learning Objective C for further development
-^ October | - Learning & Testing Objective C programming language \\ - Application Design (e.g. Theme, User Interface, etc.) +^ Feburary | - Code implementation  \\ - Application Testing \\
-^ November | - Code implementation \\ - Report Writing \\ - Release of prototype | +^ March | - Code implementation \\ - Application Testing \\ - Release of prototype | 
-^ December \\  -  | - Application Testing +^ April | - Final Application Testing including: \\ → Unit Testing \\ → Acceptance Testing \\ → Stability Testing \\ - Documentation |
-===== Planning Time Schedule  ===== +
- +
-^ Week 9 | - Enhance the features of face identification \\ - Testing and documentation \\ - Implement Coding about using camera function | +
-^ Week 10 |- Debugging and program refinement | +
-^ Week 11 |- Final testing of the application | +
-^ Week 12 |- Documentation | +
-^ Week 13 |- Documentation | +
- +
-====== Week 4: Photo Selection and Editing====== +
-^ **Photo Picker \\ (Select Image from Library)** | +
-|{{:fyp:1.png?180}}|{{:fyp:2.png?180}}|{{:fyp:3.png?180|}}| +
-|Click "Open Picker" button| Click "Saved Photo"|Select the photo you like| +
-|{{:fyp:4.png?180|}}|{{:fyp:5.png?180|}}|{{:fyp:6.png?180|}}| +
-|The photo selected is then shown| User can scale it to different size \\ Click "Choose" button to confirm|Done!| +
- +
-^ **Further editing: Flipping**| +
-|{{:fyp:flip_1.png?180|}}|{{:fyp:flip_h.png?180|}}|{{:fyp:flip_v.png?180|}}| +
-|Orignal| First flip horizontally| Second flip vertically| +
-====== Week 6: Face Detection on Photo ====== +
-^ **Procedures** | +
-|{{:fyp:F1.png?180}}|{{:fyp:F2.png?180}}|{{:fyp:F3.png?180|}}| +
-|Pick the source of the photo| Select the photo from the library|The selected photo will then be shown \\ Click "Face"| +
-|{{:fyp:F4.png?180|}}|{{:fyp:F5.png?180|}}|{{:fyp:F6.png?180|}}| +
-|Choose the "Bounding Box"| Blue bounding box on Face|You can also select the "Laughing Man" \\ Key the icon on the face| +
- +
-You can click the "save" button, and the saved photo will be in the photo library +
-====== Week 7: Testing on Face Detection ====== +
- +
-^ **Testing Samples** | +
-|{{:fyp:T1.png?180}}|{{:fyp:T2.png?180}}|{{:fyp:T2_1.png?180|}}| +
-|{{:fyp:T3.png?180|}}|{{:fyp:T4.png?180|}}|{{:fyp:T4_1.png?180|}}| +
-|{{:fyp:T4_2.png?180}}|{{:fyp:T5.png?180}}|{{:fyp:T5_1.png?180|}}| +
-|{{:fyp:T_many1.png?180|}}|{{:fyp:T_many2.png?180|}}|{{:fyp:T_many3.png?180|}}| +
-|{{:fyp:T_many4.png?180|}}|{{:fyp:T_many5.png?180|}}| +
- +
-Until now, Maximum number of face detected: 10 +
-\\ More testing will be done on the size of the face, tiling angle of the face...etc +
-====== Week 8: Testing on Horizontal Rotation Angel ====== +
- +
- +
-^ **Rotation to the left side** | +
-| **Left 5 degrees** | ** Left 10 degrees** | **Left 15 degrees** | +
-|{{:fyp:ik0902:l5.png?180}}|{{:fyp:ik0902:l10.png?180}}|{{:fyp:ik0902:l15.png?180|}}| +
-| **Left 20 degrees** | ** Left 25 degrees** | **Left 26 degrees (Cant detect!!!)** | +
-|{{:fyp:ik0902:l20.png?180|}}|{{:fyp:ik0902:l25.png?180|}}|{{:fyp:ik0902:l26.png?180|}}| +
- +
-  * The maximum rotation angle to the left is found to be about 25 degrees. +
- +
-^ **Rotation to the right side** | +
-| **Right 5 degrees** | ** Right 10 degrees** | **Right 15 degrees** | +
-|{{:fyp:ik0902:r05.png?180}}|{{:fyp:ik0902:r10.png?180}}|{{:fyp:ik0902:r15.png?180|}}| +
-| **Right 20 degrees** | ** Right 24 degrees** | **Right 25 degrees (Cant detect!!!)** | +
-|{{:fyp:ik0902:r20.png?180|}}|{{:fyp:ik0902:r24.png?180|}}|{{:fyp:ik0902:r25.png?180|}}| +
- +
-  * The maximum rotation angle to the right is found to be about 24 degrees. +
-====== Week 9: Code Understanding ====== +
- +
-cvHaarDetectObjects( const CvArr* _img, CvHaarClassifierCascade* cascade, CvMemStorage* storage, double scale_factor, int min_neighbors, int flags, CvSize min_size ) +
- +
-This function will detecting the face on the whole image and returning the sequence of faces (rectangle). +
- +
-The default parameters (scale_factor=1.1, min_neighbors=3, flags=0) are tuned for accurate yet slow face detection. +
- +
-For faster face detection on real video images the better settings are (scale_factor=1.2, min_neighbors=2, flags=CV_HAAR_DO_CANNY_PRUNING). +
- +
-*CV_HAAR_DO_CANNY_PRUNING* If it is set, the function uses Canny edge detector to reject some image regions that contain too few or too much edges and thus can not contain the searched object. The particular threshold values are tuned for face detection and in this case the pruning speeds up the processing. +
-====== Week 10: Implementation on iPhone ====== +
- +
-^Performance | +
-^ On Mac | Immediate (Less than 1 sec) | +
-^ On iPhone 3GS | About 2 sec | +
-^ On iPhone 3G | About 4 sec | +
- +
-* One of the factors that affecting the time required to perform the face detection is the processing power of the machine. +
- +
- +
-^ Accuracy | 24 faces | 48 faces | +
-^ On Mac | {{:fyp:ik0902:mac01.png?180|}} \\ Can detect ALL the faces | {{:fyp:ik0902:mac02.png?180|}} \\ Can detect ALL faces | +
-^ On iPhone 3GS & 3G | {{:fyp:iphone02.png?180|}} \\ Can detect ALL the faces | {{:fyp:iphone01.png?180|}} \\ Can detect 8 faces | +
- +
-* The accuracy will also be affected by using different machines. +
- +
-^ Resolution | 30 x 38 | 20 x 25 | 15 x 20 | 14 x 19 | 10 x 13 | +
-^ Photo | {{:fyp:ik0902:ik_sss_.png?80|}} | {{:fyp:ik0902:ik_ssss_.png?80|}} | {{:fyp:ik0902:ik_ssss15_.png?80|}} | {{:fyp:ik0902:ik_ssss14_.png?80|}} | {{:fyp:ik0902:ik_sssss_.png?80|}} | +
-^ Result | {{:fyp:ik0902:img_0501.png?80|}} \\ Success | {{:fyp:ik0902:img_0500.png?80|}} \\ Success | {{:fyp:ik0902:img_0502.png?80|}} \\ Success | {{:fyp:ik0902:img_0503.png?80|}} \\ Fail | {{:fyp:ik0902:img_0499.png?80|}} \\ Fail | +
- +
-* As the photo will be resized in the iPhone, the resolution affects only when the face is COMPLETELY distorted. +
- +
- +
-**Fine Tuning** \\ +
-The time required varies by adjusting the scale factor in the face detect function. It is the factor by which the search window is scaled between the subsequent scans, for example, 1.1 means increasing window by 10%.  The smaller the scale factor, the chance of recognizing an object is bigger. But the scale factor has to be bigger than 1. And 2.1 is found to be the most optimum value for scale factor until now.  +
-====== Week 11: Features Enhancement & Documentation ====== +
- +
-We had added a function to add different hats according to the face location. +
- +
-^ Added Features ^ Christmas Hat ^ Classic Hat ^ Witch Hat ^ Safety Hat | +
-| {{:fyp:ik0902:wk11_list.png?100|}} | {{:fyp:ik0902:wk11_christmas.png?100|}} | {{:fyp:ik0902:wk11_english.png?100|}} | {{:fyp:ik0902:wk11_witch.png?100|}} | {{:fyp:ik0902:wk11_safety.png?100|}} | +
- +
-Also, we can add hat to photos that are taken by the iphone camera. +
- +
-^ Taken by camera | +
-| {{:fyp:ik0902:wk11_camera.jpg?120|}} | +
- +
-Moreover, we can add more than one hat in a single photo. +
- +
-^ Two Faces ^ Added Hat | +
-| {{:fyp:ik0902:wk11_2faces.jpg?130|}} | {{:fyp:ik0902:wk11_2faces_hat.png?130|}} |+
 
fyp/ik0902.1259830459.txt.gz · Last modified: 2010/02/01 21:37 (external edit)     Back to top