当前位置: 首页 > news >正文

无人机红外图像下极小目标检测数据集,无人机红外小目标检测数据集 低空安防、机场净空监测、反无人机系统、鸟类迁徙监控 YOLOv8** 构建的 **无人机红外图像下极小目标检测系统

无人机红外图像下极小目标检测数据集,8302张,yolo和voc两种标注方式
4类,标注数量:
Plane:飞机 2163
Drone:无人机 3120
Heli:直升机 2217
Bird:鸟类 1958
image num: 8302

1

1

以下是无人机红外图像下极小目标检测数据集的完整统计表格:


📊 无人机红外极小目标检测数据集统计表

序号英文类别名称中文类别名称标注框数量
1Plane飞机2,163
2Drone无人机3,120
3Heli直升机2,217
4Bird鸟类1,958
总计9,458
  • 图像总数:8,302 张
  • 图像模态:红外(IR)图像
  • 目标特点:极小目标(通常 < 32×32 像素)
  • 标注格式:同时提供YOLO (.txt)PASCAL VOC (.xml)两种格式
  • 应用场景:低空安防、机场净空监测、反无人机系统、鸟类迁徙监控等

数据集适用于红外小目标检测、弱信号识别、多类空中目标分类与跟踪等前沿研究与工程应用。

基于YOLOv8构建的无人机红外图像下极小目标检测系统的详细代码实现。该系统支持:

  • 加载红外图像
  • 使用 YOLOv8 模型进行推理
  • 提供 Web 界面上传与可视化(Flask)
  • 支持 YOLO 和 VOC 格式数据训练(本例使用 YOLO 格式)

📁 一、项目结构

infrared_small_target_detection_yolov8/ ├── data/ │ └── dataset.yaml# 数据集配置(4类)├── models/ │ └── best.pt# 训练好的 YOLOv8 模型├── static/ │ ├── uploads/# 用户上传图像│ └── results/# 检测结果图├── templates/ │ ├── index.html# 主页(上传界面)│ └── result.html# 结果展示├── app.py# Flask Web 应用├── detect.py# 核心检测模块├── requirements.txt └── README.md

📦 二、环境依赖(requirements.txt

ultralytics==8.2.0 flask==2.3.3 opencv-python==4.8.0 numpy==1.24.3 Pillow==9.5.0 matplotlib

安装:

pipinstall-r requirements.txt

📄 三、数据集配置data/dataset.yaml

train:../data/images/trainval:../data/images/valtest:../data/images/testnc:4names:['Plane','Drone','Heli','Bird']

🔍 四、核心检测模块detect.py

# detect.pyimportcv2importosfromultralyticsimportYOLO# 中英文类别名称映射CLASS_NAMES={0:"飞机",# Plane1:"无人机",# Drone2:"直升机",# Heli3:"鸟类"# Bird}defrun_detection(input_path,output_dir="static/results",model_path="models/best.pt"):""" 对单张红外图像进行极小目标检测 :param input_path: 输入图像路径 :param output_dir: 输出目录 :param model_path: 模型路径 :return: (输出图像路径, 检测统计) """model=YOLO(model_path)img=cv2.imread(input_path)ifimgisNone:raiseValueError("无法读取图像,请检查路径")results=model(img,conf=0.4)# 设置置信度阈值为0.4annotated_img=img.copy()boxes=results[0].boxes class_counts={name:0fornameinCLASS_NAMES.values()}forboxinboxes:x1,y1,x2,y2=map(int,box.xyxy[0])conf=float(box.conf[0])cls_id=int(box.cls[0])ifcls_idnotinCLASS_NAMES:continueclass_name=CLASS_NAMES[cls_id]class_counts[class_name]+=1# 绘制边界框和标签color=(0,255,0)# 默认绿色,可根据需要调整颜色cv2.rectangle(annotated_img,(x1,y1),(x2,y2),color,2)label=f"{class_name}{conf:.2f}"cv2.putText(annotated_img,label,(x1,y1-10),cv2.FONT_HERSHEY_SIMPLEX,0.5,color,1)# 保存标注后的图像os.makedirs(output_dir,exist_ok=True)filename=os.path.basename(input_path)output_path=os.path.join(output_dir,f"det_{filename}")cv2.imwrite(output_path,annotated_img)returnoutput_path,class_counts

🌐 五、Web 应用app.py

# app.pyfromflaskimportFlask,render_template,request,redirect,url_for,send_from_directoryimportosfromdetectimportrun_detection app=Flask(__name__)UPLOAD_FOLDER='static/uploads'RESULT_FOLDER='static/results'ALLOWED_EXTENSIONS={'png','jpg','jpeg'}app.config['UPLOAD_FOLDER']=UPLOAD_FOLDER app.config['RESULT_FOLDER']=RESULT_FOLDERdefallowed_file(filename):return'.'infilenameandfilename.rsplit('.',1)[1].lower()inALLOWED_EXTENSIONS@app.route('/')defindex():returnrender_template('index.html')@app.route('/upload',methods=['POST'])defupload_file():if'file'notinrequest.files:returnredirect(request.url)file=request.files['file']iffile.filename==''ornotallowed_file(file.filename):returnredirect(request.url)# 保存上传文件filename=file.filename filepath=os.path.join(app.config['UPLOAD_FOLDER'],filename)os.makedirs(app.config['UPLOAD_FOLDER'],exist_ok=True)file.save(filepath)try:# 执行检测output_path,counts=run_detection(filepath,output_dir=app.config['RESULT_FOLDER'],model_path="models/best.pt")result_filename=os.path.basename(output_path)exceptExceptionase:returnf"<h2>检测失败:{str(e)}</h2>"# 过滤掉数量为0的类别non_zero_counts={k:vfork,vincounts.items()ifv>0}returnrender_template('result.html',original=filename,detected=result_filename,counts=non_zero_counts)if__name__=='__main__':app.run(debug=True,host='0.0.0.0',port=5000)

🖼️ 六、前端模板

templates/index.html

<!DOCTYPEhtml><html><head><title>红外极小目标检测系统</title><style>body{font-family:Arial;text-align:center;margin-top:40px;}.btn{padding:8px 16px;margin:5px;background:#007bff;color:white;border:none;cursor:pointer;}.btn:hover{background:#0069d9;}</style></head><body><h2>🔍 无人机红外极小目标检测系统</h2><formmethod="post"enctype="multipart/form-data"action="/upload"><inputtype="file"name="file"accept="image/*"required><br><br><buttontype="submit"class="btn">上传并检测</button></form></body></html>

templates/result.html

<!DOCTYPEhtml><html><head><title>检测结果</title><style>body{font-family:Arial;margin:20px;}img{max-width:95%;margin:10px;border:1px solid #ddd;}.stats{background:#f8f9fa;padding:15px;border-radius:5px;margin:20px 0;}.item{display:inline-block;margin-right:15px;}</style></head><body><h2>📊 检测结果</h2><imgsrc="{{ url_for('static', filename='uploads/'+ original) }}"alt="原始图"><imgsrc="{{ url_for('static', filename='results/'+ detected) }}"alt="检测结果"><divclass="stats"><strong>检测到的目标:</strong>{% for name, count in counts.items() %}<spanclass="item">{{ name }}: {{ count }} 处</span>{% endfor %}</div><ahref="/">← 返回上传</a></body></html>

▶️ 七、运行系统

python app.py

访问:http://localhost:5000


🎯 八、系统特点

特性说明
🔥红外图像处理针对极小目标设计,适用于低空安防等场景
🚁多类空中目标包含飞机、无人机、直升机、鸟类四类目标
🖼️中文标签显示前端直接显示中文设备名
📊统计计数显示每类目标检测数量
🚀轻量部署Flask + YOLOv8,适合边缘服务器

💡 扩展建议

  • 视频流检测:接入 RTSP 视频流实现实时监控
  • 模型优化:针对极小目标,考虑增加数据增强策略或采用更高级的网络架构
  • API 接口:提供/api/detect供其他系统调用
  • 移动端适配:响应式设计以适应不同设备

http://www.jsqmd.com/news/100799/

相关文章:

  • 深入解析:电压基准芯片详解:从原理到选型,附 TLV431 应用解析
  • 算法题 重构字符串
  • Docker安装轻量级TensorRT镜像用于边缘计算
  • 10390_基于Springboot的影城订票管理系统
  • 2025 年 12 月找靠谱中国 AI 智能体获客老师,麟哥难道不称职?
  • Advanced Database Cleaner - WordPress数据库清理优化插件
  • 2025全球优选:手机切膜机模片供应商,定制生产,认证制造商,美特柏(Mietubl)全链实力解析
  • Java真的不行了,一天收到586份简历
  • 训练 分心驾驶行为识别模型 ,支持从分类任务到目标检测任务的多种应用场景。17类驾驶员疲劳驾驶状态检测数据集的训练及应用 YOLOV8疲劳驾驶检测系统
  • β-Amyloid (1-40), Rat;DAEFGHDSGFEVRHQKLVFFAEDVGSNKGAIIGLMVGGVV
  • CSDN 技术分享:浏览器指纹检测、识别与防护全流程解析
  • qt-lambda信号槽机制
  • 【论文阅读笔记】多实例学习手段 Diverse Density(DD):在特征空间中寻找正概念的坐标
  • a5 4444444444
  • 【必藏】AI大模型全景分析:程序员小白入门全指南,读这篇就够了
  • 2025年南宁头部环氧酚醛厂家推荐,环氧玻璃钢/石墨烯涂料/无溶剂环氧涂料/环氧酚醛/环氧酚醛设计找哪家 - 品牌推荐师
  • 从瑞吉外卖到南风窗图书管理系统:期末作业轻量化改造实战(最后附效果对比图)
  • A6 PRE接口发布
  • MM440如何用模拟量作为频率给定
  • FastAPI+VUE3创建一个项目的步骤模板(三)
  • 现代软件工程 - 2025秋 - 期末总结
  • 基于SpringBoot的超能驾校线上学习管理系统的设计与实现(毕业设计项目源码+文档)
  • GeoServer 跨域问题解决方案
  • 失眠的代价与认知的重塑:通宵测完 Nano Banana Pro,我只想说——这TM是未来!
  • 什么是可信计算?基于可信计算的网络安全自适应防护关键技术及应用
  • Codebuddy使用CloudBase MCP辅助AI编码基于Spec工作流开发的坦克大战小游戏
  • 【编号645】全国省市县行政区划矢量数据2025年更新
  • Arbess从基础到实践(19) - 集成GitLab+sourcefare实现Java项目代码扫描通过后自动化部署
  • 基于SpringBoot的博物馆管理系统(毕业设计项目源码+文档)
  • Part 10|我给这套系统划的第一个边界