Visual Faculty Environent (VFE) «detail» VFE - Local Scenery «detail» Camera «interface» video «concrete» ifToStart Timetable «detail» Detecting the student group «concrete» checking for the facial «interface» checking ifStudenGroup «policy» Emotion analysis <<Interface>> Portrait Buffer «concrete» Define the Picture + field1: totalAmount(Pcs) + field2: totalAmount(Mbs) + checkMemory(): bool + clearMemory(): void + insertPortrait(): void «model» Making a single portrait «interface» Making a total portrait «policy» VFE - Managing sceneries «policy» CheckActivity «detail» Choosing content Defining subject area «interface» Searching for actual vacancies/last scientific achievements/online courses + field: keyword1 + field: keyword2 + field: keyword3 «interface» Determining the activity regime + makeARequest(): void fields are used to store the keywords of subject area «concrete» Vizualization on screen «interface» Send signals to sceneries «detail» VFE - Global Scenery «detail» CheckActivity «detail» Camera «interface» Video «concrete» Video Flow «concrete» Video Cut Before starting the process of facial recognition, the program should cut a piece from the video flow of our camera. The length of it should be about 5 minutes - the most appropriate length for Intel's OpenVINO toolkit library. «interface» Storing the portraits «detail» Facial Recognition Flow Handler MemoryBuffer + field: VIdeoPart + field: VIdeoPart + field: totalAmount (Mbs) + CheckFPS(): bool + CheckRTSP(): bool + CheckMemory(): bool + ClearMemory(): void + insertVideoPart(): void «concrete» Sending to database Video Analysis (OpenVINO) MemoryBuffer (Screenshots) + field: VIdeoPart + field: Face + field: totalAmount (Pcs) + field: totalAmount (Mbs) + FacialCheck(): bool + CheckMemory(): bool + ClearMemory(): void + insertScreenshot(): void «interface» Facial Screen «concrete» ClearMemory «detail» Cropping&Normalize «concrete» Cropping «concrete» Normalize «interface» Normalized Image Execute once per month on closing dates «policy» Emotion Recognition Image Distortion «concrete» Training the neural network + field: Image + DefineLayer(): void PortraitBuffer «concrete» Producing the portraits + field: Face + field: totalAmount (Pcs) + field: totalAmount (Mbs) + field: metrics + CheckMemory(): bool + ClearMemory(): void + insertMetricPortrait(): void «concrete» Producing the total portrait Total portrait produces once during the determined time period (1h as usual) After this process the portrait еру buffer should be cleaned «model» Total portrait «Detail» Ambient Environment «interface» Choosing an ambient scenery «concrete» Launching an ambient scenery Portraits per month