Deliverable 2

Generation of Synthetic Video Dataset using Unity Gaming Engine

Goal: To generate a mini dataset consisting of 50 small videos which includes multiple scenes.

Aim: To use this dataset as the training dataset for our future neural network to learn affordance of an object.

Scene(Environment): For this deliverable the scope of the scenes have been kept limited. In all the scenes, a humanoid(Ethan) will walk towards a table(i.e. target position) consisting of many objects and will pick up an object(i.e. book). The surroundings of the scenes vary with each scene

Description:

To achieve this following steps were taken:

1. Basic environment was built using various GameObjects which included a Humanoid-Player(Ethan), a table consisting of various objects like books, food items.

Scene 1
Scene 1

2. To control the movement of the player, third person animator controller of the player was utilized. The player will walk(animation) to the target position set in every scene to pick up the objects. To let the player know that it is near the object, a box collider was placed around the object to be picked up by player. As the player enters the box collider, a trigger will be initiate and enable the player to pick up the requisite object. This was achieved with the help of setting some configurations and C# scripts.

Box Collider around the book (Green region) Box Collider


Picking up Object
Pickup

Player Walking to the target
Walk
3. Such 7 scenes were created with different surroundings and objects in each scene.

Scene 1
Scene 1


Scene 2
Scene 2


Scene 3
Scene 3


Scene 4
Scene 4


Scene 5
Scene 5


Scene 6
Scene 6


Scene 7
Scene 7

4. To generate dataset of 50 videos, we recorded movies of a scene transitioning to same scene from different camera position. Then splitted these movies into individual videos.

Source Code:

Script to PickUp Object
Script to Move the Arm of Player
Script to put camera in Random position