武进做网站的公司,怎么分析网站用什么技术做的,wordpress 栏目页,常德企业网站建设前言
近年来#xff0c;随着无人机的自主性、灵活性和广泛的应用领域#xff0c;它们在广泛的消费通讯和网络领域迅速发展。无人机应用提供了可能的民用和公共领域应用#xff0c;其中可以使用单个或多个无人机。与此同时#xff0c;我们也需要意识到无人机侵入对空域安全…前言
近年来随着无人机的自主性、灵活性和广泛的应用领域它们在广泛的消费通讯和网络领域迅速发展。无人机应用提供了可能的民用和公共领域应用其中可以使用单个或多个无人机。与此同时我们也需要意识到无人机侵入对空域安全造成的潜在威胁。今年早些时候多次无人机目击事件导致机场停飞给航空公司带来了巨大的经济损失。 目前在计算机视觉社区中没有一个高质量的反无人机数据集被用于真实动态场景的捕捉。为了弥补这一空白该项目提出了一个新的数据集、评估指标和基线方法用于发现、检测、识别和跟踪无人机的领域。该数据集包含高质量的全高清视频序列包括RGB和IR涵盖了多种多尺度无人机的多次出现并且密集注释了每个帧中的边界框、属性和标志指示目标是否存在。
数据介绍
该数据集包含三个子集即训练子集、track 1测试子集和track 2测试子集。训练子集由200个热红外视频序列组成并发布详细的注释文件包括目标是否存在、目标位置信息和各种挑战。track 1测试子集也包含200个视频序列仅提供第一帧中目标的位置信息track 2测试子集包含200个视频序列该track不提供任何标记信息需要参与者通过检测和跟踪来获取目标的存在标志和相应的目标位置信息。以上三个子集之间没有任何重叠部分。我们建议参与者根据训练子集中的多类标签信息训练适合的检测器或跟踪器模型。
环境要求
运行脚本 conda activate project_uavpython detect_tracking.pyproject_uav环境主要包括
pytorch(1.7.1)、
torchvision(0.8.2)、
Cython、tqdm、
PyYAML、
matplotlib、
numpy、Pillow、
opencv、scipy代码
from __future__ import divisionimport os
import cv2
import sys
import time
import torch
import struct
import socket
import logging
import datetime
import argparseimport numpy as np
from PIL import Imageimport pdb# sys.path.append(rC:\Users\aaa\Desktop\DetectionLib\DroneTracker)
# sys.path.append(rC:\Users\aaa\Desktop\DetectionLib\DroneDetector)# from detector import DroneDetection
# from trackinguav.evaluation.tracker import Trackerfrom detect_wrapper.Detectoruav import DroneDetection
from tracking_wrapper.dronetracker.trackinguav.evaluation.tracker import Trackersys.path.append(os.path.join(os.path.dirname(__file__),detect_wrapper))
sys.path.append(os.path.join(os.path.dirname(__file__),tracking_wrapper\\dronetracker))
sys.path.append(os.path.join(os.path.dirname(__file__),tracking_wrapper\\drtracker))import warnings
warnings.filterwarnings(ignore)# # import torchvision
# # from torch.utils.data import DataLoader
# # from torchvision import datasets
# from torch.autograd import Variable
#import matplotlib.pyplot as plt
#import matplotlib.patches as patches
#from matplotlib.ticker import NullLocator
#import jsong_init False
g_detector None # 检测器
g_tracker None # 跟踪器
g_logger None
detect_boxNone
track_boxNone
g_data None
detect_first True
g_enable_log True
repeat_detectTruecount 0
g_frame_counter 0
TRACK_MAX_COUNT 150Visualization 1
sendLocation 0#全局socket
udp_socket socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
#目标主机的IP和端口, 用来发送坐标
IP 192.168.0.171
Port 9921def safe_log(msg):if g_logger:g_logger.info(msg)def send_bbs(bbs):global g_loggerif g_logger:g_logger.info(send a box : {}.format(bbs))def mono_to_rgb(data):w, h data.shapeimg np.zeros((w, h, 3), dtypenp.uint8)img[:, :, 0] dataimg[:, :, 1] dataimg[:, :, 2] datareturn imgdef rgb_to_ir(data):w, h, c data.shapeimg np.zeros((w, h), dtypenp.uint8)img data[:,:,0]return imgdef distance_check(bbx1, bbx2, thd):cx1 bbx1[0]bbx1[2]/2cy1 bbx1[1]bbx1[3]/2cx2 bbx2[0]bbx2[2]/2cy2 bbx2[1]bbx2[3]/2dist np.sqrt((cx1-cx2)**2(cy1-cy2)**2)return distthddef scale_coords(img1_shape, coords, img0_shape):# Rescale coords (xyxy) from img1_shape to img0_shapegainx img1_shape[0] / img0_shape[0]gainy img1_shape[1] / img0_shape[1]coords[0] coords[0]/gainxcoords[1] coords[1]/gainycoords[2] coords[2]/gainxcoords[3] coords[3]/gainycoords [int(x) for x in coords]return coords这段代码实现了一个目标检测与跟踪的功能。以下是对代码的解释 g_init False: 标志变量用于表示是否进行了初始化操作。 g_detector和g_tracker: 用于保存检测器和跟踪器的对象。 g_logger: 日志记录器对象用于记录日志信息 detect_box和track_box: 分别用于保存检测到的目标框和跟踪的目标框。 g_data: 用于保存图像数据。 detect_first: 标志变量表示是否为第一次检测。 g_enable_log: 是否启用日志记录。 repeat_detect: 是否重复检测。 count和g_frame_counter: 计数器用于计算帧数和跟踪目标的持续时间。 TRACK_MAX_COUNT: 最大跟踪次数超过该次数则重新进行检测。
结论
反无人机目标检测与跟踪的意义在于应对无人机在现实世界中可能带来的潜在威胁并保障空域安全。以下是这方面的几个重要意义
空域安全无人机的广泛应用给空域安全带来了新的挑战。通过开展反无人机目标检测与跟踪研究可以及时发现和追踪潜在的无人机入侵行为确保空域的安全和秩序。
防范恶意活动无人机技术的快速发展也为一些恶意活动提供了新的工具和手段如无人机进行窥探、非法监听、破坏等。反无人机目标检测与跟踪的研究可以帮助及时发现和阻止这些恶意活动维护社会的稳定和安全。
保护隐私无人机的普及使用可能会侵犯个人和公共场所的隐私。通过有效的反无人机目标检测与跟踪技术可以帮助及时识别和遏制一些侵犯隐私的无人机行为保护个人和公众的合法权益。
防止事故与损失无人机的不当使用可能给航空运输和其他行业带来安全风险和经济损失。通过反无人机目标检测与跟踪技术可以及时发现潜在的无人机干扰和威胁预防事故和减少经济损失