APPLICATION ARCHITECTURE BASED ON DOCKER CONTAINERS FOR AUTOMATIC COLLECTING AND GENERATING 3D MODELS

Автор(ы): Marat Mustafin
Рубрика конференции: Секция 14. Технические науки
DOI статьи: 10.32743/SpainConf.2023.5.31.359119
Библиографическое описание
Marat M. APPLICATION ARCHITECTURE BASED ON DOCKER CONTAINERS FOR AUTOMATIC COLLECTING AND GENERATING 3D MODELS// Proceedings of the XXXI International Multidisciplinary Conference «Prospects and Key Tendencies of Science in Contemporary World». Bubok Publishing S.L., Madrid, Spain. 2023. DOI:10.32743/SpainConf.2023.5.31.359119

Авторы

APPLICATION ARCHITECTURE BASED ON DOCKER CONTAINERS FOR AUTOMATIC COLLECTING AND GENERATING 3D MODELS

Marat Mustafin

Master, Astana IT University,

Kazakhstan, Astana

 

The topic of this study is to build an application that will automate one of the processes of work to create data and automatic generation of 3D models. The problem faced by the author is the lack of automated tools for data generation, and the creation of a way to automate the work based on modern information technology to collect and store data from open sources. This application will be used in the master's thesis of the author. The result of this research is ready-made scripts for generating data and retrieving data from external sources, as well as the architecture built with the help of containers and web application to automate the work. The resulting data will be used as a basis or as a supplement to other data, as well as there is an opportunity to use within the graphics editors and programs working with 3D objects. The work presents graphs, images of architecture, as well as a table of comparisons with similar programs.

System architecture

Correctly built architecture plays a great role in the functioning of an application.[8] And so, to implement such a complex project I used a method of containerization of processes, where each process is placed in a separate operating system, which allowed later to take less effort to change the global states.

The overall architecture of the system is based on communication over a network and uses a protocol such as HTTP, which allows for one-way communication on the Internet. All the provided components are interconnected by a common container network built using virtualization.[1][2][3] Each component has its own individual address where a response can be received from the component and if the component has a server, even then the server will be able to return a response to the provided request. Our application has several layers of abstraction that allow interaction within the application. The user interface is based on the Vue framework and allows us to retrieve data from the web server, generate and store images in a private cabinet.[5] The application interface contains tools like RemBG [9], YOLO3 [6] and some neural network that will generate 3D images.[7] An off-the-shelf application is also used. It is a Django and Vue-based data collection distribution server - Gerapy. The task of this application is to track processes for data collection, i.e., starting and stopping them and editing them. All application logic is on web servers, implemented based on REST API, which allows to exchange data between SPA applications.[5] For data access the well-known MySQL database is used, which ensures the smooth operation of the system. All data obtained from open sources are stored on the computer in a relational database. The data structure is implemented in the form of tables. At the moment, read and write operations show excellent results. [4]

In this figure (Figure 1.) you can see the architecture of the system:

 

Figure 1. Architecture platform for automatic data collection and generation of 3D models

 

All data are transmitted within the same network via local communication based on the HTTP protocol. A network identifier is automatically allocated for each component, which can be configured later. The application has a personal account and all data is transmitted using a generated token, which is a means of protecting the information.

Our experience

While studying at the university, the author needed to automate the work of collecting data in the form of pictures. This application perfectly solved the problems set by the author to collect data from such websites as kolesa.kz and mycar.kz.

The author encountered some difficulties when collecting data. It was stopping the process when a long flow of requests was going on. The solution to this problem was to use a proxy server, or to reduce the request stream to N seconds.

The application interface works as follows. (Figure 2.) The images obtained from the database can be run as a separate process to generate arrays or as a separate file. The user can start each process step by step or use the processes separately. There are three processes in total. The first process removes the background from the image. The second recognizes the image. The third generates data on the provided neural network.

 

Figure 2. The process of generating an image into a web application

 

All data is stored locally on the computer, allowing it to be easily transferred to other devices. The features of our platform are shown in the table.  (Table 1.)

The author is not trying to use his tool as a key to different solutions, but simply offers one way to generate and store data based on the suggested technologies.

Currently, the application allows to pull N - amount of data per day, and also allows to generate n...100 number of models. (Depends on the selected neural network). The results obtained were used inside another algorithm to generate 3D models.

Table 1.

Platform comparison

Features

Our platform

OpenScraper

ParseHub

Open Source

Yes

Yes

No

Personal area

Yes

Yes

Yes

Data store

Yes

Yes

Yes

Async data collection

Yes

Yes

Yes

Generating 3D models

Yes

No

No

 

When using the system, there were noticeable systematic repetitions of instances.[7] However, each instance differed in the number of coordinates in the 3D system, which is not repetition.  In the future it is planned to extend the web application by adding modules. The modules will store different add-ons for working with images. The work is experimental in nature. The application runs easily on different operating systems. The application is not fully developed, but nevertheless performs the basic functions.

Conclusion

In this paper, we presented an application architecture based on docker containers for automatic data collection and generation of 3D models based on modern technology. The main objective of this platform is to simplify the process of creating 3D models by automatically collecting data from various sources, such as car sales websites and various photos, and then generating 3D models using neural networks.

To achieve this goal, we used various off-the-shelf machine learning algorithms such as U2Net, Unicorn, and object detection models, which resulted in more accurate and better 3D models.

In addition, we used Docker containers to simplify the installation and deployment of the platform, and made a user interface in Vue for easier interaction with the platform.

As a result of our work, we have an efficient platform that can be used to create 3D models with high accuracy and quality. Future research could extend this platform and use it for a wider range of tasks, such as developing scientific applications and web editors.

 

References:

  1. Bhat S. (2018). Docker 101. In Apress eBooks (pp. 9–38). Apress. https://doi.org/10.1007/978-1-4842-3784-7_2
  2. Bhat, S. (2021). Understanding Docker Volumes. In Apress eBooks (pp. 105–132). Apress. https://doi.org/10.1007/978-1-4842-7815-4_5
  3. Bhat S. (2022). Practical Docker with Python. In Apress eBooks. Apress. https://doi.org/10.1007/978-1-4842-7815-4
  4. Christudas B. (2019). MySQL. In Apress eBooks (pp. 877–884). Apress. https://doi.org/10.1007/978-1-4842-4501-9_27
  5. Pšenák P., & Tibenský, M. (2020). The usage of Vue JS framework for web application creation. Mesterséges Intelligencia, 2(2), 61–72. https://doi.org/10.35406/mi.2020.2.61
  6. Srilatha, M., Srinivasu, N., & Karthik, B. (2021). Tracking Missing Objects in a Video Using YOLO3 in Cloudlet Network. In Lecture notes in networks and systems (pp. 371–378). Springer International Publishing. https://doi.org/10.1007/978-981-16-1773-7_30
  7. Monnier T. (2022, April 21). Share With Thy Neighbors: Single-View Reconstruction by Cross-Instance Consistency. arXiv.org. https://arxiv.org/abs/2204.10310
  8. Fan Y. (2018). Design and Implementation of Distributed Crawler System Based on Scrapy. IOP Conference Series, 108, 042086. https://doi.org/10.1088/1755-1315/108/4/042086
  9. Qin, X., Zhang, Z., Huang, C., Dehghan, M., Zaïane, O. R., & Jagersand, M. (2020). U2-Net: Going deeper with nested U-structure for salient object detection. Pattern Recognition, 106, 107404. https://doi.org/10.1016/j.patcog.2020.107404