- RfMotionDetector lib is C++ software library for automatic detection of any moving objects on video. It is used to detect UAV when the camera is stationary (or with small smooth movements), as well as to automatically search for UAV after the turn of the optical system on the external target designation (for example, from radar). It is able to detect moving objects of very small size and low contrast.
- RfBirdClassifier neural net is a neural network for checking the presence of birds in images. It is used together with the library RfMotionDetector lib to check the detected objects for being birds or not. It allows to significantly reduce the probability of false alarms of the system on birds, which is especially important when detecting remote objects. Objects detected by the motion detector (their images) are transmitted to the neural network, which in turn refers it to one of two classes: "bird" or "other". Neural network calculation can be performed using any of the freely available frameworks (e.g. OpenCV).
- RfDroneDetector neuron net – neural network for UAV detection on video frames. Used separately to detect UAVs on each video frame, regardless of camera movement. It detects objects from the moving platform (in motion or with rotating cameras). Neural network calculation can be performed using any of the freely available frameworks (e.g. OpenCV).
- RfVideoTracker lib is C++ software library for automatic tracking of objects. It is used for high-precision tracking of detected objects (both UAVs and any other). The library provides guidance of the optical system to the object for continuous calculation of its exact coordinates and their further transmission to the client (suppression or destruction system).
Interaction of components
In a typical UAV detection system, the primary detection is performed by the radar after which the coordinates of the detected object in the form of target information are transmitted to the rotary platform of the cameras. Cameras are needed to confirm the UAV detection and accurate tracking in order to calculate its exact coordinates in space. After turning the camera on the target indicated by radar, UAV detection is performed already on video using the RfMotionDetector lib library. All objects detected by the RfMotionDetector lib library are checked for being birds or not using the neural network RfBirdClassifier neural net. The RfMotionDetector lib library requires several video frames to detect UAVs, and it is possible to detect very small objects (4x4 pixels). If it is necessary to detect the UAV on the first frame after the turn, as well as in conditions of constant movement of the camera, then the neural network RfDroneDetector neural net is used for this purpose. If UAV detection is confirmed, we lock on the UAV for automatic tracking by RfVideoTracker lib library. After the licking on UAV for automatic tracking, RfVideoTracker lib library provides a continuous (frame to frame) generation of coordinate data of UAV (the coordinates of the UAV on the video frames), which is the basis for continuous tracking (turn camera to the object). During automatic tracking on the basis of information about the position in the direction of rotation of cameras (azimuth and elevation sensors data are read), the UAV positioning data is generated for the client (suppression or destruction system).
Primary UAV detection can be carried out using cameras (in visible or infrared range). This library is used RfMotionDetector lib that allows you to detect objects at a great distance. If the detection system includes circular motion cameras, the UAVs are detected using the neural network RfDroneDetector neuron net, and the size of the detected objects (on video frames) should be larger than for the library RfMotionDetector lib.