Cough Detection on Intel NUC

Actually, yes, in a simple language - we wanted (and implemented) a detector for coughing people, but not by posture (since this requires large resources), but by classifying incoming photos after face detection with zone expansion.

Cough Detector for Intel NUC

In a complex language, the business task is as follows: detection of people with symptoms of diseases at the stage of inspection at airports and railway stations with appropriate informing officials at the framework about the presence of signs of the disease for additional checks. The expected result in the short term is to minimize the spread of coronovirus infection COVID-19 in the framework of local and international rail, transport and air transportation.

As an implementation method, we considered an option using object-based video analytics to detect the presence of external signs of a disease (for example, a cough, its duration and the number of attacks over the entire stay) from video surveillance cameras. Through the use of neural networks for the detection, re-identification and tracking of objects in visibility zones, as well as the preservation of signs of the disease and their frequency, at the stage when a specific person is closer to the inspection area, you can inform the staff about the need for additional checks (for example, measuring body temperature).

Why is Intel NUC?


First, we’ll clarify that we are using the Intel NUC8i5BEK with the 8th generation Intel Core i5 processor and integrated Intel Iris Plus 655 graphics. The execution of neural networks in this case can be run on the GPU, freeing up the CPU for trajectory analysis. And in the case of an increase in the number of cameras aimed at the device, it is possible to equip the complex with accelerators, for example Intel NCS2.

We use the Intel OpenVINO framework because it allows you to efficiently execute neural networks on Intel processors and, more importantly, use Intel integrated graphics. The model we use is the SSD Mobilenet v2, pre-trained on the COCO dataset. To train the model, Tensorflow was used.

Intel NUC8i5BEH

Actually, why did we choose NUC:

  1. 8- , -.
  2. Iris Plus 655. Iris Plus 655 25% Intel UHD Graphics 630, ( i5 8400 i9 9900k).
  3. , , Intel NCS2 .
  4. : 28 65 .
  5. .

?


  1. ( ).
  2. We trained the classifier for the presence of external signs of the disease on SSD Mobilenet V2.
  3. Converted the model to Intel OpenVINO.
  4. We assembled a cascade of neural networks running Intel OpenVINO for sequentially performing the following operations: detecting faces and determining the likelihood of signs of infection with recording events, their frequency and duration.

The result of the classification is the probability of the presence of a feature in the photo or frame from the video stream. Illustrative example:


You can check the operation of the detector and classifier on a bot in Telegram . At the entrance, the bot takes a photo from the camera or gallery, and the result gives the probability of a coughing person in the frame.

Further, we assigned detection zones using the example of a camera at hand. It turned out like this:


The first detection is faces, a grid from a public and public model zoo model, Intel OpenVINO. OpenCV implements trajectory analysis to keep the object (person) in the frame. Further, persons with zone expansion are transferred to the symptomatology classifier and probability is returned.

We record events (cough) and their duration. It is assumed that at the checkpoint due to re-identification of persons at 5 points (quickly, but not very accurately), it will be possible to notify the personnel of transport nodes about the need for additional checks (for example, measuring body temperature).

What do you think of this idea?

All Articles