460 likes | 478 Vues
Panorama Tools. Capstone Project. H2T2 Group. H2T2 Group. TungNS00457 - Project Manager. HoaHM00556 - Designer. HuongP00282 - Developer. ThoND00288 - Tester. Content. Overview PMS Project Requirements Software Process Model Architecture Design Algorithm Test Demo Q&A.
E N D
Panorama Tools Capstone Project H2T2 Group
H2T2 Group TungNS00457 - Project Manager HoaHM00556 - Designer HuongP00282 - Developer ThoND00288 - Tester
Content • Overview • PMS Project • Requirements • Software Process Model • Architecture Design • Algorithm • Test • Demo • Q&A
Overview • What is Panorama?
Overview • How to make a Panorama?
Some type of panoramic images • Planar of Flat • Cube • Cylinder • Sphere
Some existing methods and solutions • Kolor Autopano
Some existing methods and solutions • Microsoft’s Image Composite Editor
Our idea • Free and open source software. • High quality. • Powerful.
Requirement • User Requirement Specification
Requirement • System Requirement Specification
Requirement • System features • Use case 1
Requirement • System features • Use case 2
Requirement • System features • Use case 3
Requirement • System features • Use case 4
Requirement • System features • Use case 5
Requirement • System features • Use case 6
Software Process Model WHY CHOOSE? • PMS team members experience • PMS project characteristic OUR CHOSE Iterative and incremental development
Architecture Design Application Core-PMS.dll GUI • Choice of System Architecture WPF OpenCV2.2 NET Framework 4.0 The basic of system architecture to build the application “Panorama Tool”
Architecture Design • Component Diagram
Architecture Design • Core Package • GUI Package
Architecture Design • Sequence Diagram
Architecture Design • User Interface Design
Architecture Design • Data Structure: *.PMS file
Algorithm • Image Stitching algorithm flow: • Reference: • [1] Jubiao Li and Junping Du • Study on Panoramic Image Stitching Algorithm, 2010 PACCS
Algorithm • Feature Extraction: Harris Corner Detection, SIFT, SUFT, etc • Feature Matching: Neighbor Matching, SIFT descriptors, SUFT descriptor, etc • Mismatch Removal & Image Registration: RANSAC • Image Fusion: Using result of Image Registration to stitch images
Algorithm • Feature Extraction: Harris Corner Detection • Simple example with function E() = Sum(all pixel in small window) • Window around flat: E do not change • Window around edge: E change in some directions, do not change along edge • Window around corner: E change in all directions
Algorithm • Feature Extraction: Harris Corner Detection
Algorithm • Feature Extraction: Harris Corner Detection • window size = 3, threshold = 0.1 • Reference: • [2] C. Harris and M.J. Stephens. A combined corner and edge detector. In • Alvey Vision Conference, pages 147–152, 1988.
Algorithm • Feature Matching: Neighbor Matching • Area to compare two features from two images Distance(X,Y) = SUM (Xi * Yi) / SQRT (Yi * Yi) window size = 51 pixel; adaptive threshold
Algorithm • Mismatch Removal & Image Registration: RANSAC • RANSAC is an abbreviation for "RANdomSAmple Consensus" Reference: [3] Ondrej Chum (2005) - "Two-View Geometry Estimation by Random Sample and Consensus"
Algorithm • Mismatch Removal & Image Registration: RANSAC • We consider a couple matching key features from two image is one point in previous sample of RANSAC, we have to find the model to fit the maximum number of coupe matching key features. Model to use RANSAC: Reference: [1] Jubiao Li and Junping Du Study on Panoramic Image Stitching Algorithm, 2010 PACCS
Algorithm • Mismatch Removal & Image Registration: RANSAC • Sample result of using RANSAC:
Algorithm • Image Fusion: Using result of Image Registration (matrix M) to stitch images The first image The second image
Algorithm • Image Fusion: Using result of Image Registration (matrix M) to stitch images • Result with no blending • Result with blending
Test The V-Model
Test • Test Approach • Unit testing • Integration testing • System testing • Acceptance testing
Test • Test cases • PCL (Program Check List) test cases • Why PCL? • Ensure quality of application. • Easy to detect defects and issues. • Reduce effort.
Test • Defect logs tracking system