2. Supervisors:-
- Prof. Dr. El- Sayed Mohammed El- Harbete.
- Dr. Ahmed Gaweech.
Assistant:-
- Amr Gamgoum.
Project Team:-
- Sara Ezzat Lamey.
- Christina Saweres Yousef.
- Marim Tawfeeq Rabee.
- Mina Mazooz Fares.
- Mina Esam Kamal.
4. The description of our problem is how to convert the 2D image
to 3D. Such conversions will open the door to visualize,
navigating and simulating buildings and museums in 3D
scene. In addition, it will help games developers to build their
game environment models and walk into it. It will also help
the movie's producer to build a 3D virtual location from a
simple 2D image and then navigate into it according to the
scenes of the movie.
6. Reviving image it into 3D model, and our output will be:-
•An 3D model to let the user to navigation inside it.
•A 3Ds file that contain the 3D model of the image that file will help the
user to interact with the model.
8. SEGMENTATION
Dividing the image into small regions according to their
pixels intensity, that will help us to improve classification
performance using segments (little classification data)
instead of working pixel by pixel (large amount of data)
And easily to extract the features form the segments.
515684 Pixels Only 1049 Segments
9. SEGMENTATION (Problems)
• Selection of the Sigma (difference between colors in one Segment)
• Large Sigma :- cause small number of segments with large
regions but may be output one segment contains more than
one class
As shown :
one segment contained 2 classes
( ground and vertical )
10. SEGMENTATION (Problems)
• Selection of the Sigma
• Small Sigma :- cause large number of segments (slow the
classification process) but this solve 2 large problems
• Low probability that one segment
found in 2 classes.
• Determine type of the texture
if was coarse or smooth
As shown :
the ground is coarse
11. SEGMENTATION (Performance of Algorithm)
• we used Flood Fill algorithm (Queue Linear Technique).
Why ?
• It achieves the desired output.
• For image 844 X 611 Pixels it takes [6 – 11] Seconds
with Sigma (30) .
12. CLASSIFICATION
• In order To facilitate the 3D representation of the model
in (Building aspect) we need to know where is the three
Geometric Classes of the image ( Ground ,Vertical ,Sky).
• Classifier will be able to help us to extract these
classes from an input image.
13. CLASSIFICATION (Cont)
After Segmentation phase we want to determine each segment belongs to
which class (Sky, Vertical, Ground) .
Sky Vertical Ground
13
16. CLASSIFICATION (Feature Selection)
• We select a powerful features in the classification for the segments such as :-
Location :-
We working with ( x , y)
central position of the segment.
(look at small red point)
Color :-
We working with three color channel ( R , G , B ) Mean color of the
segment.
17. CLASSIFICATION (System Training)
• We also allow the user to train
our system against the new images
that we did not take it in our
consideration when selecting
the samples data using simple GUI
• As shown in figure :-
1. The user should point by the mouse
on the red target on the image then
the feature vector will be created
and He/she can add sample
the selected samples.
18. CLASSIFICATION (System Training)
• The Training System also inform the user
if the selected feature vector is target or
missed and also for select Geometric class.
• The user can also update system Data
Set with the new samples of the new
Images
19. CLASSIFICATION (Training Samples)
• For the KNN classifier we need to store training samples in such away we can
retrieve it back and start processing on it using (File structure ,SQL Data Base,….).
• Here we using File structure with file name
“DataSet.txt”
• Feature vector :-
[ CX , CY , MRed,MGreen,MBlue, Geometric Class ]
EX:-
[0.707,0.017,84,115,174,1]
[0.711,0.543,138,139,140,2]
[0.258,0.961,112,107,95,3]
• Here in Geometric Class(
1 : Refer to the Sky
, 2: Refer to the Vertical
, 3 : Refer to the Ground).
19 19
21. CLASSIFICATION (Problems and Solutions)
• Location
A problem that we can not face it in the color features because it is ranged from
[0-255] but we face it in the location because the size of images (Width X Height) is
not fixed but it’s different from image to another .
Solution :-
Normalize X , Y to the range from [0 - 1]
NormalizedX = ( X / W ) , NormalizedY =( Y / H )
• Classifier accuracy
Solution :-
Increase classifier features and searching for other powerful ones.
Try to choose other formula for calculation the distance between feature
vector and samples data.
22. CLASSIFICATION (Next Phases)
- After dividing the image into three classes(sky, vertical, ground) we will do
another classification but only on the vertical, because the vertical class may
contain objects like buildings so they may be in the right or in the left or in
the center.
Vertical
Right Left Center
23. VANISHING POINTS
What … Vanishing Point?
The single point where all the lines on the ground level seem to come
together.
Vanishing points can also refer to the point in the distance
where the two verges of a road appear to converge.
24. VANISHING POINTS
Why …
1. This is often used to get the real depth inof the object
2. This is often used to get the real height the image
when navigate in the 3D model . parameters )
( determining the camera
25. VANISHING POINTS
How to get it ……
1. Find the edges in the image ( Laplacian ).
2. Take best threshold ( Convert the image to
black & white).
3. Apply Hough Transform to detect line Equations.
4. From this Lines detect the vanishing point (most
intersection).
27. VANISHING POINTS
How to get it ……
for all pixels in the image
if the pixel (x,y) is an edge (white Pixel)
for all the theta angles [0~180]
Calculate rho for the pixel(x,y)
increment that position(rho,theta)
in the accumulator
Show the hough space
Find the highest values in the accumulator
29. VANISHING POINTS
How to get it ……
(next stage)
1- no there specific threshold to take the lines.
2- more than one intersection point.
30. • Creating the 3D Model (Finally)
Cutting and Folding
We construct a simple 3D model by making “cuts” and “folds” in the image
based on the geometric labels (texture mapping).