.. _events: ********************************************** Work with Events ********************************************** This section is about the :guilabel:`Events` tab. .. important:: You can :ref:`enable sound notifications ` for events related to specific watch lists. In some browsers, the tab with events has to remain in focus to get a sound played. To put a tab in focus, open it, and click anywhere on the page. .. rubric:: In this chapter: .. contents:: :local: .. _event-list: View Events ============================================================== Once an object is detected, you will see a notification on one of the event lists: :guilabel:`Faces`, :guilabel:`Bodies`, or :guilabel:`Vehicles`, subject to the object type. |events_en| .. |events_en| image:: /_static/events_en.png :scale: 60% .. |events_ru| image:: /_static/events_ru.png :scale: 60% A notification can feature different pieces of information, depending on whether a detected object has a match in the record index: * Match not found: thumbnail, detection date and time, cameras, watch lists, attributes, geo (if enabled). * Match found: thumbnail, reference object photo from the related record, record name, the similarity between matched objects, comment from the record, watch lists, detection date and time, cameras, attributes, geo (if enabled). |events_list_en| .. |events_list_en| image:: /_static/events_list_en.png :scale: 50% .. |events_list_ru| image:: /_static/events_list_ru.png :scale: 50% Mouse over the attribute of interest to see the value of the neural network's confidence in recognizing this attribute. |attr_confidence_en| .. |attr_confidence_en| image:: /_static/attr_confidence_en.png :scale: 65% .. |attr_confidence_ru| image:: /_static/attr_confidence_ru.png :scale: 65% .. important:: The confidence value of the recognized attribute depends on the neural network models used. If you have difficulty interpreting these values, please contact our technical experts at support@ntechlab.com. .. important:: In order to pause the notification thread, click |pause| above the list of events. .. |pause| image:: /_static/pause.png .. _event-filters: When working with events, the following filters may come in handy: .. note:: Some filters from the list below may be hidden, subject to enabled recognition features. .. rubric:: Filters for faces, bodies and vehicles * :guilabel:`Matches`: display events only with/without matches, or all events. * :guilabel:`Watch lists`: display events only for a selected watch list. * :guilabel:`Acknowledged`: display only acknowledged/unacknowledged events, or all events. * :guilabel:`Camera groups`: display only events from a selected group of cameras. * :guilabel:`Cameras`: display only events from a selected camera. * :guilabel:`Camera IDs`: display only events from a camera with a given ID. * :guilabel:`Date and time`: display only events that occurred within a certain period. * :guilabel:`Video Archive ID`: display events from the video archive with a given ID. * :guilabel:`Record name`: display events with a given record name. * :guilabel:`Episode ID`: display events from the episode with a given ID. * :guilabel:`Event ID`: display an event with a given ID. * :guilabel:`Event’s best shot`: display all events of a track, only events with real-time snapshots, only one event with the best snapshot at the end of a track. * :guilabel:`Line`: display only events from a selected line. * :guilabel:`Line crossing direction`: filter events by line crossing direction, none, `A → B`, `B → A`. * :guilabel:`Has reverse crossing`: filter events by having/not having a reverse crossing. .. rubric:: Specific filters for faces * :guilabel:`Age`: display events with people of a given age. * :guilabel:`Gender`: display events with people of a given gender. * :guilabel:`Emotions`: display events with given emotions. * :guilabel:`Beard`: filter events by the fact of having a beard. * :guilabel:`Eyes`: filter events based on whether the eyes are open or closed or if they are blocked by an object. * :guilabel:`Glasses`: filter events by the fact of wearing glasses. * :guilabel:`Face mask`: filter events by the fact of wearing a face mask. * :guilabel:`Head turn`: filter events by degree of head turn. * :guilabel:`Head tilt`: filter events by degree of head tilt. * :guilabel:`Liveness`: filter events by face liveness. .. rubric:: Specific filters for bodies * :guilabel:`Age by body`: display only events with people of a given age. * :guilabel:`Gender by body`: display only events with people of a given gender or all events. * :guilabel:`Upper clothes type`: display only events with a person wearing upper body wear of a given specific type: jacket, coat, sleeveless vest, sweatshirt, T-shirt, shirt, dress. * :guilabel:`Upper body clothes`: display only events with a person wearing upper body wear of a given generalized category: long sleeves, short sleeves, no sleeve. * :guilabel:`Upper clothes color`: display only events with a person wearing a top of a given color. * :guilabel:`Lower body clothes`: display only events with a person wearing lower body wear of a given type: pants, skirt, shorts, obscured. * :guilabel:`Lower clothes color`: display only events with a person wearing a bottom of a given color. * :guilabel:`Headwear`: display only events with a person wearing headgear of a given type: hat/cap, hood/headscarf, none. * :guilabel:`Bag in hand`: display only events with a person wearing/not wearing a bag in hand. * :guilabel:`Bag on the back`: display only events with a person wearing/not wearing a bag on the back. * :guilabel:`Vest`: display only events with a person wearing a vest of a given color. * :guilabel:`Helmet`: display only events with a person wearing a helmet of a given color. * :guilabel:`Fall`: display events by the fact a person falls. * :guilabel:`Smoking`: display events with smoking people. * :guilabel:`Phone usage`: display events with people using their phone. * :guilabel:`Phone talk`: display events with people calling or talking on the phone. * :guilabel:`Taking pictures`: display events with people taking pictures of the screen, document, etc. with their phone. .. rubric:: Specific filters for vehicles * :guilabel:`Make`: filter vehicle events by vehicle make. * :guilabel:`Model`: filter vehicle events by vehicle model. * :guilabel:`Vehicle body color`: display only events with vehicles of a given color. * :guilabel:`Vehicle body type`: display only events with vehicles of a given body type: minivan, limousine. * :guilabel:`Country`: display only events with vehicles registered in a given country. * :guilabel:`License plate number`: display an event with a given plate number. * :guilabel:`Vehicle category`: display only events with vehicles belonging to a given category: motorcycle, scooter, car, car with a trailer, truck, truck with a trailer, bus, articulated bus, and others. * :guilabel:`Vehicle weight and body size`: display only events with vehicles of a given weight and body size. * :guilabel:`Special vehicle`: display only events with vehicles belonging to a given type: police, fire service and EMERCOM vehicles, gas rescue and emergency services, military, municipal vehicles, and others. * :guilabel:`Vehicle orientation`: display only events with vehicles of a given orientation: unknown, front, rear, side. * :guilabel:`Region`: display only events with vehicles registered in a given region. * :guilabel:`License plate color`: display only events with a given license plate color. .. note:: License plate region is predicted for the United Arab Emirates (UAE) and Thailand. License plate color is predicted for Saudi Arabia only. The values of these attributes will be marked as unknown for other countries. Event Ticket. Acknowledging Event ======================================= In order to navigate to an event ticket from the list of events, click on the recognition result in a notification. An event ticket contains the same data as a relevant :ref:`notification `. It also allows for acknowledging the event. To do so, click :guilabel:`Acknowledge` to change the event acknowledgment status to :guilabel:`Acknowledged`. |event_accept_en| .. |event_accept_en| image:: /_static/event_accept_en.png :scale: 70% .. |event_accept_ru| image:: /_static/event_accept_ru.png :scale: 70% .. tip:: If a detected object has a match in the record index, you can navigate to the relevant record by clicking on the name in the event ticket. .. tip:: In order to acknowledge all events, click :guilabel:`Acknowledge all` above the list of events. .. note:: Event acknowledgment can be automated for selected watch lists. Event Ticket. Object Search ====================================== FindFace Multi allows you to search detected objects through the list of events. To navigate from an event ticket to the search tab, click :guilabel:`Search`. |event_search_en| .. |event_search_en| image:: /_static/event_search_en.png :scale: 70% .. |event_search_ru| image:: /_static/event_search_ru.png :scale: 70% .. seealso:: * :ref:`search-objects` .. _enrich-record: Create or Enrich a Record from the Event ============================================= You can either enrich a record with a photo of the detected object or create a new record from the event. In the detailed event view click on :guilabel:`Use for record`. If a detected object has a match in the record index, you will be able to either create a new record from the event or add a photo of a detected object to an existing record. |enrich_record_en| .. |enrich_record_en| image:: /_static/enrich_record_en.png :scale: 70% .. |enrich_record_ru| image:: /_static/enrich_record_ru.png :scale: 70% For an unmatched object there's only an option to create a new record from the event. Work Time Reports on Events ================================ See :ref:`reports`. .. _geo_events: Geo ============ When the :ref:`map functionality is enabled `, events and episodes from cameras with a filled :guilabel:`GEO` field are displayed on the map. Click the button |map_button| to switch to the map view. Events/episodes are displayed on the map as red circles with the number of events/episodes inside. At a distance, events/episodes are grouped into clusters, and upon approaching, the cluster is divided into separate objects. .. |map_button| image:: /_static/map_button.png :scale: 50% |map_events_episodes_en| .. |map_events_episodes_en| image:: /_static/map_events_episodes_en.png :scale: 68% .. |map_events_episodes_ru| image:: /_static/map_events_episodes_ru.png :scale: 68% .. note:: If the number of events/episodes exceeds the maximum value of the objects displayed on the map, then all events/episodes on the map will be combined into one cluster. To change the maximum value of the displayed objects on the map, change the ``maximum_objects_on_map`` value in the ``/opt/findface-multi/configs/findface-multi-legacy/ui-config.yaml`` configuration file in the ``MAP CONFIG EXAMPLE`` section. .. code:: sudo vi /opt/findface-multi/configs/findface-multi-legacy/ui-config.yaml .. code:: # MAP CONFIG EXAMPLE map: ... maximum_objects_on_map: 250 ... |map_cluster_events_episodes_en| .. |map_cluster_events_episodes_en| image:: /_static/map_cluster_events_episodes_en.png :scale: 70% .. |map_cluster_events_episodes_ru| image:: /_static/map_cluster_events_episodes_ru.png :scale: 70% When you click a circle mark of events/episodes, a left sidebar is displayed with thumbnails of events/episodes grouped in a cluster. Click the thumbnail of the event/episodes to view the event/episodes ticket. This event/episode will be highlighted in the left sidebar. The button |map_arrow| will hide the sidebar and make the map bigger. .. |map_arrow| image:: /_static/map_arrow.png :scale: 50% |map_events_en| .. |map_events_en| image:: /_static/map_events_en.png :scale: 65% .. |map_events_ru| image:: /_static/map_events_ru.png :scale: 65% .. rubric:: Object tracking The object tracking functionality is enabled, when you filter events/episodes by the record name. Click the |map_track| button to display moving an object along track points connected by a line from the earliest to the latest event. In this mode, the track points do not display the number of events/episodes inside and have a specific color for each search object. The most recent events/episodes have a lighter indication of the track point and line, and the most recent events/episodes are displayed in a darker color. .. |map_track| image:: /_static/map_track.png :scale: 50% |map_events_track_en| .. |map_events_track_en| image:: /_static/map_events_track_en.png :scale: 70% .. |map_events_track_ru| image:: /_static/map_events_track_ru.png :scale: 70% .. rubric:: Real-time indication If the desired object is detected by the camera in real-time, then the track point will pulse within 20 seconds. |map_events_track_live| .. |map_events_track_live| image:: /_static/map_events_track_live.png :scale: 65% After that, the last track point stops pulsating and becomes a more saturated color, and the lines will have a pronounced gradient. |map_events_track_live_stop| .. |map_events_track_live_stop| image:: /_static/map_events_track_live_stop.png :scale: 65% .. rubric:: Zones You can manually set an area on the map and save it using the :guilabel:`Zones` button. To do this, select the area you are interested in on the map at the desired scale. Click |map_zones_en|, enter a zone name and save it (for example: Moscow, MKAD, Office). Further, you can quickly navigate to the area you are interested in by selecting it from the drop-down list of zones. .. |map_zones_en| image:: /_static/map_zones_en.png :scale: 55% .. |map_zones_ru| image:: /_static/map_zones_ru.png :scale: 55% To set the default map area and scale for the entire system, open the configuration file ``/opt/findface-multi/configs/findface-multi-legacy/ui-config.yaml`` and modify ``default_zoom`` and ``default_center`` values in the ``MAP CONFIG EXAMPLE`` section. .. code:: sudo vi /opt/findface-multi/configs/findface-multi-legacy/ui-config.yaml .. code:: # MAP CONFIG EXAMPLE map: enabled: true default_zoom: 15 default_center: lat: 55.7558 lng: 37.6173 .. rubric:: Area selection mode You can select an area of interest from the map by clicking the button |map_line|. You can add selected events/episodes to the filter and navigate directly to the events/episodes of interest. .. |map_line| image:: /_static/map_line.png :scale: 50% |map_line_select_events_en| .. |map_line_select_events_en| image:: /_static/map_line_select_events_en.png :scale: 70% .. |map_line_select_events_ru| image:: /_static/map_line_select_events_ru.png :scale: 70%