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上面

相关推荐
海阔天空_20134 分钟前
Python pyautogui库:自动化操作的强大工具
运维·开发语言·python·青少年编程·自动化
零意@13 分钟前
ubuntu切换不同版本的python
windows·python·ubuntu
思忖小下24 分钟前
Python基础学习_01
python
q567315231 小时前
在 Bash 中获取 Python 模块变量列
开发语言·python·bash
是萝卜干呀1 小时前
Backend - Python 爬取网页数据并保存在Excel文件中
python·excel·table·xlwt·爬取网页数据
代码欢乐豆1 小时前
数据采集之selenium模拟登录
python·selenium·测试工具
狂奔solar2 小时前
yelp数据集上识别潜在的热门商家
开发语言·python
Tassel_YUE2 小时前
网络自动化04:python实现ACL匹配信息(主机与主机信息)
网络·python·自动化
聪明的墨菲特i2 小时前
Python爬虫学习
爬虫·python·学习
努力的家伙是不讨厌的3 小时前
解析json导出csv或者直接入库
开发语言·python·json