IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Python 目标检测 YOLO 去除过小的目标标签 -> 正文阅读

[人工智能]Python 目标检测 YOLO 去除过小的目标标签

import os
import cv2

# train 训练集上,通过过滤宽高小于等于的15的目标,过滤掉的数目是[65857, 15275, 38775, 1372, 15, 0]
# val 训练集上,通过过滤宽高小于等于的15的目标,过滤掉的数目是[9664, 2755, 3705, 343, 15, 0]

img_path = "/data/***/datasets/ktxx-auth/images/train/"
label_path = "/data/***/datasets/ktxx-auth/labels/train/"
label_path_new = "/data/***/datasets/ktxx-auth/labels/train-clean/"
label_list = os.listdir(label_path)
count = [0, 0, 0, 0, 0, 0]
# labels = ['person', 'dogcart', 'car', 'tricycle', 'plate', 'face']
labels = ['person', 'car', 'plate', 'face']
for label_file in label_list:
    image = cv2.imread(os.path.join(img_path, label_file[0:-4] + ".jpg"))
    img_w, img_h = image.shape[1], image.shape[0]
    if label_file.endswith(".txt"):
        with open(os.path.join(label_path, label_file), "r", encoding="utf-8") as f1, open(os.path.join(label_path_new, label_file), "w", encoding="utf-8") as f2:
            for line in f1:
                items = line.split(" ")
                cls = int(items[0])
                xmin = (float(items[1]) - float(items[3]) / 2.) * img_w
                xmax = (float(items[1]) + float(items[3]) / 2.) * img_w
                ymin = (float(items[2]) - float(items[4]) / 2.) * img_h
                ymax = (float(items[2]) + float(items[4]) / 2.) * img_h
                if xmax - xmin <= 30 or ymax - ymin <= 15:  # 在这里修改要过滤掉的目标的大小
                    count[cls] += 1
                    print("In {} clean {}, it's location is {}.".format(label_file, labels[cls], " ".join(items[1:5])))
                    continue
                line = " ".join(items)
                f2.write(line)
print("has cleaned instance:")
print(count)

注意根据自己想过滤的目标进行修改,本人这里设置的是小于宽30or高15的目标

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-05-13 11:44:22  更:2022-05-13 11:47:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:38:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码