wakenet尾迹

1、数据集介绍SWIM_Dataset_1.0.0

1.1标注文件介绍

标注文件介绍,

第一种:角度和框的坐标
bash 复制代码
<annotation>
  <folder>Positive</folder>
  <filename>00001</filename>文件名字
  <format>jpg</format>图片后缀
  <source>
    <database>SWIM</database>数据集名字
  </source>
  <size>
    <width>768</width>图片大小
    <height>768</height>
    <depth>3</depth>几维
  </size>
  <segmented>0</segmented>没有分割数据
  <object>
    <type>robndbox</type>框的类型不是标准的,有角度
    <name>wake</name>框的类别
    <pose>Unspecified</pose>没有关键点
    <truncated>0</truncated>
    <difficult>0</difficult>
    <robndbox>
      <cx>602.8032</cx>这里是变简况的中心坐标和旋转角度
      <cy>53.0397</cy>
      <w>44.4618</w>
      <h>96.8959</h>
      <angle>0.53</angle>
    </robndbox>
  </object>
</annotation>
第二种:船舶的点坐标和尾迹角度
bash 复制代码
<annotation>
    <!-- 图像的标注信息开始 -->
    
    <folder>Positive</folder>
    <!-- 表示图像所属的文件夹名称,这里是 "Positive" 文件夹 -->
    
    <filename>00001</filename>
    <!-- 图像文件的名称,这里是 "00001" -->
    
    <format>jpg</format>
    <!-- 图像的格式,这里是 jpg 格式 -->
    
    <source>
        <database>SWIM</database>
        <!-- 图像的来源数据库,这里是 "SWIM" 数据库 -->
    </source>
    
    <size>
        <width>768</width>
        <height>768</height>
        <depth>3</depth>
        <!-- 图像的尺寸信息:
             - width: 图像宽度为 768 像素
             - height: 图像高度为 768 像素
             - depth: 图像的颜色通道数为 3,表示这是一个RGB图像 -->
    </size>
    
    <segmented>0</segmented>
    <!-- 表示图像是否被分割,这里是 0,表示图像没有分割 -->

    <object>
        <!-- 对图像中的物体进行描述 -->
        
        <type>pointtheta</type>
        <!-- 物体的标注类型为 "pointtheta"(可能表示某种带有角度信息的点标注方式) -->
        
        <name>wake</name>
        <!-- 物体的类别名称,这里是 "wake"(可能是某种特定的物体类别) -->
        
        <pose>Unspecified</pose>
        <!-- 物体的姿态未指定 -->
        
        <truncated>0</truncated>
        <!-- 表示物体没有被截断,0 表示未截断 -->
        
        <difficult>0</difficult>
        <!-- 表示物体的识别难度,0 表示识别不困难 -->
        
        <pointtheta>
            <!-- 表示物体的具体位置和角度信息 -->
            
            <px>581.6883116883117</px>
            <!-- 物体中心点的 x 坐标 -->
            
            <py>83.01298701298701</py>
            <!-- 物体中心点的 y 坐标 -->
            
            <theta1>-1.2298173732985473</theta1>
            <!-- 物体的第一个角度信息(可能是物体的旋转角度或方向) -->
            
            <theta2>-0.7488630676110335</theta2>
            <!-- 物体的第二个角度信息(可能与物体的另一个方向或姿态相关) -->
        </pointtheta>
    </object>
</annotation>

画图代码

python 复制代码
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt

# 定义绘制直线的函数
def draw_lines_on_image(image_path, px, py, theta1, theta2):
    # 打开图片
    image = Image.open(image_path)
    
    # 创建图形和坐标轴
    fig, ax = plt.subplots()
    
    # 显示原始图片
    ax.imshow(image)

    # 点坐标
    ax.plot(px, py, 'ro')  # 用红色圆点标记点
    
    # 计算直线的坐标
    line_length = 100  # 线的长度

    # 计算角度对应的直线的终点坐标
    end_x1 = px + line_length * np.cos(theta1)
    end_y1 = py + line_length * np.sin(theta1)
    
    end_x2 = px + line_length * np.cos(theta2)
    end_y2 = py + line_length * np.sin(theta2)

    # 绘制直线
    ax.plot([px, end_x1], [py, end_y1], 'b-')  # theta1 对应的蓝色线
    ax.plot([px, end_x2], [py, end_y2], 'g-')  # theta2 对应的绿色线

    # 设置坐标轴范围
    ax.set_xlim(0, image.width)
    ax.set_ylim(image.height, 0)  # y轴反转
    # 保存结果
    plt.savefig('/data/lh123/lh/wake_detection/coda/0001.jpg')
    plt.close()  # 关闭图形以释放内存

# 给定参数
image_path = '/data/lh123/lh/wake_detection/data/SWIM_Dataset_1.0.0/JPEGImages/00001.jpg'
px = 581.6883116883117
py = 83.01298701298701
theta1 = -1.2298173732985473  # 角度1
theta2 = -0.7488630676110335  # 角度2

# 绘制直线
draw_lines_on_image(image_path, px, py, theta1, theta2)

画出的图片

1.2其余介绍

数据集数量: 11,600 张正片和 3,010 张负片,

2、尾迹检测方法

2.1 别人的方法

https://github.com/Lilytopia/WakeNet

输入的是左上角和右下角的点,这个代表的是图中的尾迹正方形框,其中还有一个点和两条线的偏移角度

明天把这篇论文分析一下,然后把我这个正确的代码更新到github上面

相关推荐
巴里巴气1 小时前
selenium基础知识 和 模拟登录selenium版本
爬虫·python·selenium·爬虫模拟登录
19891 小时前
【零基础学AI】第26讲:循环神经网络(RNN)与LSTM - 文本生成
人工智能·python·rnn·神经网络·机器学习·tensorflow·lstm
JavaEdge在掘金1 小时前
Redis 数据倾斜?别慌!从成因到解决方案,一文帮你搞定
python
ansurfen2 小时前
我的第一个AI项目:从零搭建RAG知识库的踩坑之旅
python·llm
前端付豪2 小时前
20、用 Python + API 打造终端天气预报工具(支持城市查询、天气图标、美化输出🧊
后端·python
前端付豪2 小时前
19、用 Python + OpenAI 构建一个命令行 AI 问答助手
后端·python
amazinging2 小时前
北京-4年功能测试2年空窗-报培训班学测开-第四十三天
python·学习
wgyang20163 小时前
我的第一个LangFlow工作流——复读机
python
Zhen (Evan) Wang3 小时前
(豆包)xgb.XGBRegressor 如何进行参数调优
开发语言·python
我爱一条柴ya3 小时前
【AI大模型】线性回归:经典算法的深度解析与实战指南
人工智能·python·算法·ai·ai编程