Image Reviving

Converting 2D Image Into 3D Model

Image Reviving Second Seminar 18/03/2010

Filed under: 2nd Seminar — Christina Saweres @ 7:23 pm

2nd Sem Graduation Project

But we modify our method again and don’t do smoothing to the original image and it works well thanks to god :D
 

Image Reviving Third Seminar 18/03/2010

Filed under: 3rd Seminar — Christina Saweres @ 6:50 pm

 

18/03/2010

Filed under: Classification — Christina Saweres @ 4:22 pm

Why Classification??

our algorithm is to divide the image into three parts(classes) we called them (Sky, Vertical, Ground) :-

Sky:- is the sky part in the image.

Vertical:- is any vertical object in the image like buildings, trees, any vertical objects.

Ground:- is the ground if it street or grass ,…

so we want to know how we can do orientation to the 3 classes in the 3D model so we do classification to know that.

okay, now we know why we do classification but what after segmentation??

after segmentation to the original image we have a list of the image segments, so we want to know for each segment what class that segment will belong to :-

Sky, Vertical, Ground

and the expected output after classification is :-

Expected Output

Now which classifier that we use??

we know that there are a lot of classifiers :-

Supervised , Unsupervised, ..

but we use a Supervised Non-parametric Classifier K-Nearest Neighbor Classifier because a Supervised Parametric classifiers need to be knew the distribution that the features follow but in our case the image contain a lot objects and every one doesn’t has specific color or shape so we use a non- parametric classifier.

Which Features That You Want ????

if you are free :D   and have more from time you can get all this features:-

Features

but, because it is a graduation project so we have to get the most powerful features that will get the satisfied output so we use :-

  1. Color:-  we work on (R, G, B) the mean color the mean color of them but that is not enough and the output wasn’t satisfied :D   so we use another feature,
  2. Location:- but how we can get the location for each segment ?? after we do segmentation we draw around each segment a rectangle and then the center of the rectangle is the segment position and this feature is so useful, but we will use another features to increase the performance of the classifier output.

    Segment Position

A Trainable System Will Be More Flexible :-

yes, according to that we do our system to be trainable that’s mean that if an image is entered to our system and our system failed to classify it so as in the figure :-

How TO Train Our System


the user should point by the mouse on the red target on the image (the segment location) then the feature vector will be created then the data will be added in our Data Set.

our output now:-

Classification Output

we will improve that output when we increase the number of powerful features.

Problems that we faced:-

  1. Location :- the size of the images (Width * Height) is not the same for all images so if we have a training data for a lot of image and every one has a different size and the input image that we want to classify it is in a different size so the location feature is not useful at all so the solution is to Normalize X,Y in the range between [0-1],                                                                              Normalized X = (X/ W) , Normalized Y = (Y/ H).
  2. Classifier Accuracy :- we will increase it when we increase the number of the used features.

Another Classification Process,,, WHY ???

after dividing the image into three classes(sky, vertical, ground) we will do another classification process but only on the vertical class, because the vertical class may contain objects like buildings and they may be in the right or in the left or in the center to know where they  exist we have to do classification to the vertical class .

Classification on Vertical Class



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/03/2010

Filed under: Segmentation — Christina Saweres @ 2:46 pm

Why Segmentation?

We use segmentation to divide 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.

and if we do classification on the original image we have to work on every pixel and that will take more time than if work on segments , like that :-

515684 Pixels

classification will be on pixel by pixel (515684 Pixels)

Classification will be on segments (Only 1049 Segments)

you will say that is there is no difference between the 2 images :D but the first is the original and the 2nd is the segmented image and the colors are similar because we fill the segments with the mean color.

and the algorithm that we use is called flood fill algorithm (Queue Linear Technique) because it’s output is the desired in our problem and it is fast in large image it take seconds to segment it.

Problems That we Faced In Segmentation Phase:-

  • Selection of Sigma (difference between colors in one segment):-

    1. Large Sigma:- Cause Small number of segments with large regions that may a problem because one segment may contain more than one class and that is a problem when we do classification on it which class that segment will belong to, as shown one segment contain 2 class (Ground , Vertical):-

      Large Sigma


    2. Small Sigma:- Cause Large number of segments (slow the classification process) but this solve 2 big problems:-
    • Reduce the probability that 2 class found in one segment.
    • Determine the type of the texture if it coarse or smooth, as show the ground is coarse:-

      Coarse Ground

Queue Linear Technique
 

Image Reviving First Seminar 18/02/2010

Filed under: First Seminar — Christina Saweres @ 12:51 am

 

Hello world! 10/12/2009

Filed under: Introduction — Christina Saweres @ 3:18 pm

IMAGE REVIVING LOGO

How to convert 2D image to 3D model in order to simulate the real world like (visualizing, navigating and simulating buildings and museums), that will help games developers in getting game environment that game models can walk within it, that will happened when the user get more images that he will use it as game background and then convert every image using our program into 3D model from with this method the user can build the game environment.

Our Goal:-

Reviving image with converting it into 3D model, and we assume that the image contains neither humans nor cars, and our output will be:-

-         An image video to let the user to see the 3D model and how we do 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.

and this video for more clarification , have fun :D :D

Our Problem Definition:-

How to convert 2D image to 3D model in order to simulate the real world like (visualizing, navigating and simulating buildings and museums), that will help games developers in getting game environment that game models can talk within it, that will happened when the user get more images that he will use it as game background and then convert every image using our program into 3D model from with this method the user can build the game environment.

Our Goal:-

Reviving image with converting it into 3D model, and we assume that the image contains neither humans nor cars, and our output will be:-

- An image video to let the user to see the 3D model and how we do 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.

 

 
Follow

Get every new post delivered to your Inbox.