Skip to content

This project is part of my Carrecognizer-project group and was developed as a part of my master thesis at the Budapest University of Technology and Economics.

Notifications You must be signed in to change notification settings

banda13/Carrecognizer-backend

Repository files navigation

This project is part of my Carrecognizer-project group and was developed as a part of my master thesis at the Budapest University of Technology and Economics.


Goal

My task was to design and implement a deep convolutional neural network-based application, which is able to recognize several features of a vehicle based on a picture, mainly the make and the model. Furthermore, I had to develop an application that allows the users to use the functionality of this model conveniently and easily. Based on this, my work can be divided into two main parts:

The first stage involved doing research tasks as, so far there has been no good solution, so my task was to plan and implement the whole process from the initial steps to the birth of the trained model. In this section, I will introduce methods such as creating WebCrawlers that process unstructured data from websites to build big data databases with low resource requirements, preprocessing steps with pre-trained neural networks, knowledge transfer (transfer train) on convolutional networks and various self-designed evaluation algorithms. To solve these tasks, I had to try different techniques, combine different approaches, and evaluate the results. Many of my attempts have not been successful, but in the end, I managed to create a model that can perform this task with sufficient accuracy.

The second part covers engineering tasks in the traditional sense with all their challenges. These include the design and the development of a well-scalable, secure backend and database that can quickly serve the requests of the clients and leverage the capabilities of the neural model. The clients for the application would allow the users to use the features conveniently and easily. In order to attract a larger userbase an Angular based web client, an Android application written in Kotlin and a Facebook chatbot were also created.

However, the final application is much more capable than that. The entire learning -testing process, the backend and the clients are designed to provide a solution to any image recognition problem. The steps in the teaching process were created from wellseparable, independent, and reusable components, and the functionality of the backend and the clients is completely independent of the specific problem.

As a result of my work I managed to lay down a base for a universal, deep convolutional neural network-based application, and a backend and clients for this application, that can help to solve any image processing problem. I also illustrated the work of the application by teaching it on vehicle categorization to prove the results and usability.


About this program

This is the backend implemented with Django. It's secure, well structured, and if you have a neural network, with little changes you can use this backend for your purposes. It has 3 components:

  • The user component authenticate the users (login/sign in), handle and servers user data.
  • The stats component collects and server usage statistic about the backend. With a middleware components all user requests have been logged, and through a REST API it provides it to the users with the necessary permissions.
  • The core component does all the other jobs. It can handle the classification requests, provide the previous classification results, and even more! ;)

All component follows the Django Model-Template-View 3 layered architecture! Feel free to use any part of this program.


Images

Classification sequence diagram

Classification sequence diagram

Database schema

Database schema

Detail handlers

Detail handlers


Links

Other parts of the project

Demos

Thesis

I hope you enjoy it (as much as I did) and I hope it can help a little bit to you! <3

About

This project is part of my Carrecognizer-project group and was developed as a part of my master thesis at the Budapest University of Technology and Economics.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages