As part of the development of an application for changing interior design, extra datasets were needed to train the neural network. It could help to better define the walls in real rooms. We decided to test the hypothesis that through generating of an artificial dataset would be possible to get good results in training a neural network. Then a lot of human resources would not be needed for wall marking.
The application uses several photos for training the neural network:
Two options were tested:
Development of datasets for neural network training using Unity3D.
Our Unity specialists created a virtual room in 3D space, where they arranged various interior objects and cameras. There we implemented scripts that change walls, wallpapers, interior items and create a randomly assembled room based on the position of the walls.
How are walls defined? After cameras set up, scripts start their rotation up to 360 degrees. When the camera rotates a certain number of degrees, depending on a given number of photos, the application takes a picture of what the camera sees now. Simultaneously the detected wall turns green, and then each green pixel changes to white, and all the others are painted black. That is how a black and white mask is created, where the wall is white.
To reproduce the process described above, we implemented the generation of a CSV file for each new photo. This file contains the coordinates of the corners of the walls.
As a result, it was decided that such an artificial generation of datasets could help in case when the neural network can not determine the atypical room or walls.
A corporate Web platform designed to improve the internal processes.
Mobile application for testing the effectiveness of photo-separators' settings.
JIRA and Confluence extensions for the specific work processes in our company.
JIRA plugin for automatic tracking of the working time in certain tasks.