Code Monkey home page Code Monkey logo

parkoviste's People

Contributors

cemonix avatar daviholy avatar fandacmuchar avatar

Stargazers

 avatar

Watchers

 avatar

parkoviste's Issues

Front end

Potřebujeme vytvořit grafický výstup aktuálního stavu parkoviště ideálně prostřednictvím webové stránky.
(Flask nebo PHP) + HTML a Javascript?

Koncept jak by mohlo znázornění aktuálního stavu parkoviště vypadat:
KonceptVizualizace

Oproti konceptu každé místo může mít 3 stavy: Prázdno, Plno, Není jednoznačné. (pravděpodobně bude nastávat jen plno/prázdno)

Máme 3 typy míst: Standardní, Nestandardní, Invalida
u nestandardních budeme vykreslovat pouze pokud je místo plné (nechceme navádět lidi aby parkovali na těchto místech)

Přesun pozic obdelníků a refactor kódu

Zařídit, aby šlo přeindexovat pozice obdelníků bez toho, aby se museli přeoznačovat všechny obdelníky.
Upravit view funkci a udělat pořádně main s parametry.

Natrénovat model + ukládání statistik

Je potřeba ukládat statistiku při učení modelu (loss + auc + accuracy appendovat do csv) a přidat možnost ukládání modelu během učení. Přidat možnost vytváření grafu z loss výstupů (trénovací i testovací data)

  • Ukládání loss, auc, accuracy do csv
  • Průběžné ukládání modelu
  • Graf pro loss jak testovacího tak i trénovacího datasetu po epochách

Úprava CNN vstupu a výstupu

Úvod

Pro zvýšení přesnosti modelu je nutné přidat rozpoznávání aut a prázdných míst zvlášť. Tímto způsobem budeme moct rozlišovat více stavů parkovacího místa a to: auto, prázdno, nějaký šum (např. člověk).

Bude potřeba upravit několik souborů a to NeuralNetwork, DatasetCreator, trainingModel a další...

Příklad

Úprava modelu kde vstup a výstup bude tenzor s dimenzí nebo velikostí 2
car [1.0, 0.0], empty [0.0, 1.0], šum (člověk, ...) [0.0, 0.0]

Rozdělení dat

Úvod

Je potřeba rozdělit pořízená data pro to abychom mohli trénovat a hodnotit kvalitu modelu. K rozdělení dat by se měli dát využít již existující knihovny nebo alespoň nástroje v nich.

Knihovny / materiály pro nastudování

knihovny např.
https://www.pluralsight.com/guides/validating-machine-learning-models-scikit-learn

potřebujeme minimálně trénovací a testovací dataset ale používají se i validační a cross-validační, nutno dostudovat

Refactoring kódu

K závěru projektu by bylo vhodné upravit naše kódy tak aby byli čitelné a v podobném stylu.

Každý by si měl upravit a okomentovat svůj kód.

Nová data k trénování modelu

Úvod

Potřebujeme sehnat data, která nejsou auto ani prázdné místo. K tomu můžeme využít fotky celého parkoviště a vystříhat z něj například lidi. Těchto fotek nejspíše neseženeme velké množství a proto je můžeme zkusit augumentovat tedy vytvořit jejich různé varianty (zrcadlové překlopení, šum, posun, atd...).

  • pridat runtime augumentaci dat na trénovací dataset (blur, hue)
  • namnožit fotky lidí (+- 400) a rozdělit je náhodně mezi testing a training
  • udělat hard augumentaci testovacích dat (uložit abychom měli možnost co porovnat)

úprava ObjectPositionCoordinates

@Cemonix

důležité

  • přidat kontrolu bodů při kreslení obdélníků, pokud první je dolni pravý roh tak je prohodit

  • lépe okomentuj kód co je například legend(image_copy)? co je ar? type_p? atd...
  • argument --out přejmenovat na json (už se vlastně nejedná jen na výstup, tak je matoucí to mít jako out)
  • k argumentu --json pŕidat zkratku -j
  • k argumentu --json předělat default honotu na parkingPlaces.json
  • lépe popsat argument -view
  • #7
  • #8
  • možná zvětšit font? (u mě na 2k monitoru to je nečitelné), tady je asi možný problém že velikost je pevná, možnost dělat néjak dinamicky podle roylišení?
  • u funkce rectangle_opencv zbytečně předáváš color, buď jí definuj přímo ve funkci
  • 85 -92 proč máš barvy přímo vepsané? použij color, který más definovaný, ale nevyužitý
  • 70-80 předélej na switch když už nechceś používat tu knihovnu, kterou jsem ti navrhoval :D
  • přidat dokumentaci hlavičky + funkcí jak je zvykem podle konvencí, viz např https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html
  • na druhým řádku stačí napsat import cv2

úprava parkingPlacesRecorder

@FandaCmuchar

důležité

  • přidat kontrolů bodů, pokud se jedná o dolní pravý roh, prohodit

  • přejmenovat defaultní hodnotu image4.png na image.png
  • u argumentu explicitně napsat, že pokud je specifikovaný ydroj kamery, tak je upřednostnén před fotkou
  • zdokumentuj hlavičku souboru + jednotlivé funkce, podle konvencí viz. např. https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html
  • při zadávání složky pro ukládání automaticky vkládat / na konec aby se do argumentu zadávala jen cesta ke složce např. --img_dir photos

Nasbírat data pro dotrénování modelu a následně model dotrénovat

Nasazený model dělá menší počet chyby. Nejjednodušší řešení bude nasbírat data, nasekat je do obrázků a dotrénovat na nich model.

  1. Nasbírat dostatečný počet dat (během týdne)
  2. Napsat script který bude používat json s názvem fotky a číslem místa, které bylo označeno špatně a následně vyseká malé fotky.
  3. Sloučit fotky se trénovacím datasetem a dotrénovat na nich model.
  4. Vyzkoušet model.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.