语义分割中的类别不平衡的权重计算
这是5幅图,加上背景共5类。
可以参考这篇文章https://blog.csdn.net/u012426298/article/details/81232386
对于一个多类别图片数据库,每个类别都会有一个class frequency, 该类别像素数目除以数据库总像素数目, 求出所有class frequency 的median 值,除以该类别对应的frequency 得到weight:
weight=median(weights)/weights
#coding:utf-8
from __future__ import print_function
import os
import numpy as np
import cv2
w,h=512,512
def find_pic(img,array_list,n_class,pixs):img_sum = np.sum(img == array_list, axis=-1)pix_numbers=img_sum.reshape(-1).tolist().count(3)if pix_numbers:pixs+=pix_numbersn_class+=1return pixs,n_class
def compute_class(pixs,n_class):return pixs/(n_class*w*h)
def frequence():# images_path = './trainannot_visual'images_path = './visual_example'red = np.array([0, 0, 128])yellow = np.array([0, 128, 128])green = np.array([0, 128, 0])blue = np.array([128, 0, 0])back_gro = np.array([0, 0, 0])images_list_path = [os.path.join(images_path,i) for i in os.listdir(images_path)]n_red=0red_pixs=0n_yellow = 0yellow_pixs = 0n_green= 0green_pixs = 0n_blue = 0blue_pixs = 0n_back = 0back_pixs = 0for count,image_path in enumerate(images_list_path):print('{}image'.format(count))img=cv2.imread(image_path)red_pixs, n_red=find_pic(img,red,n_red,red_pixs)yellow_pixs,n_yellow = find_pic(img, yellow,n_yellow,yellow_pixs)green_pixs,n_green = find_pic(img, green,n_green,green_pixs)blue_pixs,n_blue = find_pic(img, blue,n_blue,blue_pixs)#back_pixs,n_back = find_pic(img, back_gro,n_back,back_pixs)print(red_pixs, n_red)print(yellow_pixs,n_yellow)print(green_pixs, n_green)print(blue_pixs, n_blue)print(back_pixs, n_back)f_class_red=compute_class(red_pixs,n_red)f_class_yellow = compute_class(yellow_pixs, n_yellow)f_class_green = compute_class(green_pixs, n_green)f_class_blue = compute_class(blue_pixs, n_blue)f_class_back = compute_class(back_pixs, n_back)print(f_class_red,f_class_yellow,f_class_green,f_class_blue,f_class_back)f_class=[f_class_red,f_class_yellow,f_class_green,f_class_blue,f_class_back]f_class_median=np.median(np.array(f_class))print(f_class_median)print(f_class_median/np.array(f_class))
if __name__ == '__main__':frequence()
这样可以保证占比小的class, 权重大于1, 占比大的class, 权重小于1, 达到balancing的效果.
语义分割中的类别不平衡的权重计算相关推荐
- dice系数 交叉熵_语义分割中的损失函数
1 交叉熵 信息量:当一个事件发生的概率为 ,那么该事件对应的概率的信息量是 . 信息量的熵:信息量的期望,假设 事件 共有n种可能,发生 的概率为 ,那么该事件的熵 为: 相对熵,又称KL散度,如果 ...
- 语义分割-Unsupervised Domain Adaptation in Semantic Segmentation:a Review语义分割中的无监督领域自适应:综述
Unsupervised Domain Adaptation in Semantic Segmentation:a Review语义分割中的无监督领域自适应:综述 0.摘要 1.介绍 1.1.语义分割 ...
- 来自CCNet的一种创新:语义分割中的十字交叉视觉注意力
来自CCNet的一种创新:语义分割中的十字交叉视觉注意力 写在文章开头 看个大概 引入 CCNet之道 整体架构 十字交叉注意力 循环--RCCA 优化类别一致性损失 CCNet效果一览 写在文章末尾 ...
- 语义分割中常用的评价指标有哪些?
语义分割的任务就是预测输入图像每个像素点的类别.简单来说,就是做像素级分类. 图中左侧是一张输入图像,中间图像是对图像每个像素类别人工标记的Ground truth(真实标签),右侧图像是对图像每个像 ...
- 语义分割中的深度学习方法全解:从FCN、SegNet到各版本DeepLab
语义分割中的深度学习方法全解:从FCN.SegNet到各版本DeepLab 原文:https://www.sohu.com/a/155907339_610300 图像语义分割就是机器自动从图像中分割出 ...
- 分类中解决类别不平衡问题
关注微信公众号[Microstrong],我现在研究方向是机器学习.深度学习,分享我在学习过程中的读书笔记!一起来学习,一起来交流,一起来进步吧! 本文同步更新在我的微信公众号里面,公众号文章地址: ...
- 语义分割中的一些模型的分类汇总
语义分割是深度学习中的一个重要应用领域.自Unet提出到现在已经过去了8年,期间有很多创新式的语义分割模型.简单的总结了Unet++.Unet3+.HRNet.LinkNet.PSPNet.DeepL ...
- 图像语义分割中的上采样(Upsampling)和下采样(subsampling)
图像语义分割中的上采样和下采样 1. 下采样(subsampled) 2. 上采样(upsampled) 2.1 线性插值 2.2 单线性插值 2.3 双线性插值 2.4 双线性插值举例 2.5 插值 ...
- ”语义分割”中的“语义”
感谢这篇论文,让我知道了"语义分割"中"语义"这一个词到底是个什么鬼.所谓的语义分割,就是之前的分割,在加上分类啦! 论文:基于内容的图像分割方法综述 姜峰 顾 ...
最新文章
- gcore java_获取一直FullGC下的java进程HeapDump的小技巧
- 从起源到未来,一文看懂70年的人工智能简史
- Java服务器热部署的实现原理
- 变量置换方式linux,Shell变量测试与内容置换
- Spring Cloud 微服务架构的五脏六腑!
- Java中,一切皆是对象,为何数据类型中还分为:基本类型和对象?
- 重磅开源 KSQL:用于 Apache Kafka 的流数据 SQL 引擎 2017.8.29
- mongo DB for C#
- C语言 | 内存对齐03 - 内存对齐的公式
- C常量指针 与指针常量区别
- BootStrap入门教程 (二)
- Netty工作笔记0044---Netty案例源码分析
- vscode中如何让vue文件语法高亮_VS code 你们都在用吗?或许你们需要看一下(语言相关)篇...
- JS 框架 :后台系统完整的解决方案
- 创新不是突然而至——它是慢慢成长的
- csp php,CSP策略及绕过方法
- 操作系统抖动现象、网络抖动与延迟、函数抖动之防抖与节流
- RabbitMQ无法连接
- python扫描二维码输出内容_通过python扫描二维码/条形码并打印数据
- APP产品经理(一)
热门文章
- python8个程序语言_所有程序员必知--2019年最流行的8种编程语言和框架
- CV和NLP中的无监督预训练(生成式BERT/iGPT和判别式SimCLR/SimCSE)
- 大众点评订单系统分库分表实践
- Docker系列之一:入门介绍
- HDFS NameNode重启优化
- 论文浅尝 | 知识库问答中关系检测的学习表示映射
- 打造工业级推荐系统(三):推荐系统的工程实现与架构优化
- 圆形进度条以及百分率指示器 Scroller类的练习
- 一篇文章学习Python中的多进程
- 【实体对齐·HGCN】Jointly Learning Entity and Relation Representations for Entity Alignment