矿石运输船数据集、散货船数据集、普通货船数据集、集装箱船数据集、渔船数据集以及客船数据集

时间:2024-10-01 07:50:03

海船:用于船只检测的大规模精准标注数据集

我们很高兴地介绍一个新的大规模数据集——海船,该数据集专为训练和评估船只目标检测算法而设计。目前,这个数据集包含31,455张图像,并涵盖了六种常见的船只类型,包括矿石运输船、散货船、普通货船、集装箱船、渔船以及客船。所有这些图像均来源于大约10,080段真实世界的视频片段,这些视频是由部署在海岸线视频监控系统中的监控摄像头所获取的。

为了确保数据集能够覆盖尽可能多的成像变化情况,如不同的尺度、船体部分、光照条件、视角、背景及遮挡情况,这些图像是经过精心挑选的。每一张图片都带有船只类型的标签以及高精度的边界框标注。

在这里插入图片描述

图像 1. 六种不同船只类型的样例图像

。

  • 图像 2. 当摄像机朝向大海时拍摄的三种不同尺度下的图像。

在这里插入图片描述

  • 图像 3. 数据集中的一些背景图像。
表1. 每类船只的图像数量
类别 图像数量 百分比
矿石运输船 5,126 16.30%
散货船 5,067 16.10%
集装箱船 3,657 11.63%
普通货船 5,342 16.98%
渔船 5,652 17.97%
客船 3,171 10.08%
混合型 3,440 10.94%

下载数据集

  • 下载链接: 请查看头像联系获取

扩充内容

数据集的重要性与应用场景

随着全球海洋经济的发展,海上交通日益繁忙,对海上安全的需求也不断增加。船舶作为海洋运输的主要载体,在国际贸易中扮演着极其重要的角色。因此,如何利用现代技术手段提高海上交通管理效率、保障航行安全成为研究热点之一。其中,基于计算机视觉技术的船只检测方法由于其非接触式、自动化程度高等优点而备受关注。

海船数据集正是在此背景下应运而生的一个重要资源库。它不仅为研究人员提供了一个高质量的训练平台,还促进了相关领域内新技术的研发与应用。例如,在港口管理方面,通过分析进出港船只的信息可以有效提升物流效率;在海域监测上,则有助于及时发现异常活动或潜在风险点,从而采取相应措施加以应对。

构建过程与特色亮点

构建这样一个庞大的数据集并非易事,需要克服诸多挑战。首先是对原始视频素材的选择与处理。项目团队从众多来源中筛选出最具代表性的片段,力求涵盖各种复杂的环境因素,比如天气状况、时间变化等,以保证最终生成的数据集具有较高的多样性和实用性。其次,针对每一帧图像进行细致的手工标注工作也是必不可少的一环。这要求标注者具备专业知识,并且整个过程需遵循严格的质量控制标准,以确保结果准确无误。

此外,海船数据集还特别强调了对于不同类型船只特征的捕捉能力。考虑到实际应用场景中可能会遇到各种形态各异的目标物体,因此除了基本的类别划分外,数据集中还包括了大量关于特定部位细节描述的信息,这对于后续模型学习更为精细的识别技能至关重要。

import cv2
import  numpy as np
from imutils.video import VideoStream
from yolodetect import YoloDetect


video = VideoStream(src=0).start()
# dđiêmt người dùng click vao da giac
points = []

# new model yolo
model = YoloDetect()

def handle_left_click(event, x, y, flags, points):
    if event == cv2.EVENT_LBUTTONDOWN:
        points.append([x, y])

def draw_polygon(frame,points):
    for point in points:
       frame =cv2.circle(frame, (point[0], point[1]), 5, (0, 0, 255), -1)
    frame =cv2.polylines(frame, [np.int32(points)], False, (255,0,0), thickness=2)
    return frame
        
        
detect = False

while True:
    frame = video.read()
    frame = cv2.flip(frame, 1)
    
    # ve poligon
    frame = draw_polygon(frame,points)
    
    if detect:
        frame = model.detect(frame=frame,points=points)
        
    key = cv2.waitKey(1)
    if key == ord('q'):
        break
    elif key == ord('z'):
        points.append(points[0])
        detect = True
    
    # hien anh ra man hinh
    cv2.imshow('Intrusion Warning', frame)
    cv2.setMouseCallback('Intrusion Warning', handle_left_click, points)

video.stop()
cv2.destroyAllWindows()
未来展望与发展潜力

尽管海船数据集已经达到了相当高的水平,但仍有进一步完善的空间。一方面,可以通过引入更多种类别的船只来丰富现有分类体系;另一方面,探索与其他感知技术相结合的可能性也是一个值得考虑的方向,比如结合雷达信号或者声纳探测结果,形成多模态融合框架,以此增强系统的鲁棒性和适应性。

总之,海船数据集不仅是当前阶段推进船只检测技术发展的重要基石,也为今后开展更加深入的研究奠定了坚实的基础。期待在未来能看到更多基于此平台产生的创新成果,共同推动智慧海洋建设向前迈进