暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

关于目标分类标注界面、功能及代码框架

追梦IT人 2025-04-30
458
目标分类比目标检测稍微简单一些,目标分类可以不用标注文件,同时由于目标分类预测相对简单,因此也不需要半自动标注了。

yolov8n - cls.pt 是 YOLOv8 轻量级的图像分类预训练模型,它和目标检测模型不同,是在 ImageNet 数据集上进行预训练的。

ImageNet 数据集包含超过 1400 万张标注图像,涵盖了 1000 个不同的分类类别,这些类别非常广泛,涵盖了动物、植物、交通工具、日常用品、自然景观等各个领域。以下是部分类别示例:

  1. 动物类

  2. 哺乳动物:如虎(tiger)、狮(lion)、大象(elephant)、狗(dog)、猫(cat)等。

  3. 鸟类:鹰(eagle)、猫头鹰(owl)、孔雀(peacock)等。

  4. 昆虫类:蝴蝶(butterfly)、蜜蜂(bee)等。

  5. 交通工具类

  6. 陆地交通工具:汽车(car)、公交车(bus)、自行车(bicycle)等。

  7. 空中交通工具:飞机(airplane)、直升机(helicopter)等。

  8. 水上交通工具:船(boat)、轮船(ship)等。

  9. 日常用品类

  10. 家具:椅子(chair)、桌子(table)、床(bed)等。

  11. 电器:电视(television)、冰箱(refrigerator)、电脑(computer)等。

  12. 植物类

  13. 树木:松树(pine tree)、柳树(willow tree)等。

  14. 花卉:玫瑰(rose)、郁金香(tulip)等。
为了和标准版本有所区别,我们这次标注的是马和狗,yolo中确实没有马的分类比较奇怪。
图像分类文件夹的结构如下:
详细展开来讲的话,目录结构说明,大部分通过系统可以自动生成,除了原始标注图片:
  1. classfication    目标分类根目录
  2. └─doghorse    某分类数据集根目录
  3. ├─original_image    原始图片文件夹
  4. ├─test    yolo默认测试集文件夹,系统可生成
  5. ├─dog    分类图片文件夹,系统可根据标签生成
  6. └─horse    分类图片文件夹,系统可根据标签生成
  7. ├─train    yolo默认训练集文件夹,系统可生成
  8. ├─dog    分类图片文件夹,系统可根据标签生成
  9. └─horse    分类图片文件夹,系统可根据标签生成
  10. └─val    yolo默认验证集文件夹,系统可生成
  11. ├─dog    分类图片文件夹,系统可根据标签生成
  12. └─horse    分类图片文件夹,系统可根据标签生成

目标分类标注

功能介绍:目标分类标注用于为图像分配所属的类别标签,是构建目标分类模型的基础步骤。准确的标注数据能够帮助模型学习到不同类别图像的特征,从而提高分类的准确性,本系统的优点在于通过方向键+快捷键实现快速分类。


操作步骤

  1. 进入分类标注界面:在平台主界面中,找到并点击目标分类标注功能入口,进入分类标注界面。界面主要分为设置区、标签列表区、缩略图区和图片操作区。

  2. 设置相关参数:在设置区的系统设置区,依次进行以下设置:


    • 设置标签文件
      :点击“设置标签文件”按钮,在弹出的文件选择对话框中选择 Txt 文本格式的标签文件。选择后,文件的全路径将显示在对应的主界面上,标签文件中的内容会显示在标签列表区,列表中的序号会自动生成,并为每个标签生成相应的键盘快捷方式(0 - 9)。
    • 设置标注图片文件夹
      :点击“设置标注图片文件夹”按钮,选择用于存储标注后图片的子文件夹。选择后,文件夹的全路径将显示在对应的主界面上。
    • 设置源图片文件夹
      :点击“设置源图片文件夹”按钮,选择包含待标注图片的源文件夹。选择后,文件夹的全路径将显示在对应的主界面上。
  3. 开始标注:点击“开始标注”按钮,系统会根据标注图片文件夹和标签文件生成标注目录文件夹。缩略图区会显示源图片文件夹中的图片缩略图,一行显示 3张,默认选中第一张图片,图片操作区会展示该图片的原图。

  4. 切换图片:使用左右键盘箭头可以在缩略图区切换图片,同时图片操作区的图片也会相应切换。

  5. 标注图片:按下 0 - 9 键盘上的数字键,可将当前选中的图片移动到对应标签值的子目录下,完成图片的标注。


代码层级关系

- 文件: object_classfication_annotation.py
  - 类: ThumbnailWidget
    - 方法: __init__
      - 功能: 初始化缩略图小部件
    - 方法: initUI
      - 功能: 初始化缩略图小部件的用户界面
  - 类: ImageAnnotationTool
    - 方法: __init__
      - 功能: 初始化图像标注工具
    - 方法: ui_init
      - 功能: 初始化图像标注工具的用户界面
    - 方法: create_setup_area
      - 功能: 创建设置区域
    - 方法: create_label_table
      - 功能: 创建标签表格
    - 方法: create_system_settings
      - 功能: 创建系统设置区域
    - 方法: create_button_area
      - 功能: 创建按钮区域
    - 方法: create_thumbnail_area
      - 功能: 创建缩略图区域
    - 方法: create_image_operation_area
      - 功能: 创建图像操作区域
    - 方法: select_label_file
      - 功能: 选择标签文件
    - 方法: update_label_table
      - 功能: 更新标签表格
    - 方法: select_annotation_folder
      - 功能: 选择标注文件夹
    - 方法: select_source_folder
      - 功能: 选择源文件夹
    - 方法: show_thumbnails
      - 功能: 显示缩略图
    - 方法: show_selected_image
      - 功能: 显示选中的图像
    - 方法: start_annotation
      - 功能: 开始标注
    - 方法: import_images
      - 功能: 导入图像
    - 方法: thumbnail_key_press_event
      - 功能: 处理缩略图区域的按键事件
    - 方法: image_wheel_event
      - 功能: 处理图像区域的鼠标滚轮事件
  - 主程序
    - 功能: 初始化应用程序,设置样式表,创建图像标注工具实例并启动应用程序

完成标注后,我们可以看一下当前的目录结构和文件情况



最后欢迎关注公众号:python与大数据分析


文章转载自追梦IT人,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论