Подсчитывает количество пиксельных меток для каждого класса
задает дополнительные параметры.counts = countEachLabel(___,Name,Value)
Если bimds содержит категориальные данные, countEachLabel получает имена классов из категорий, указанных в InitialValue свойства первого заблокированного изображения. В этом случае не указывайте значения для 'Classes' и 'PixelLabelIDs' параметры. Если bimds содержит числовые данные, необходимо указать значения для 'Classes' и 'PixelLabelIDs' параметры.
Можно использовать сведения о метке, возвращенные countEachLabel для вычисления весов классов для балансировки классов. Например, для помеченных данных пикселя в tbl:
Равномерная балансировка класса взвешивает каждый класс таким образом, что каждый содержит однородную предварительную вероятность:
numClasses = height(tbl) prior = 1/numClasses; classWeights = prior./tbl.PixelCount
Обратная балансировка частоты взвешивает каждый класс таким образом, что недопредставленным классам придается больший вес:
totalNumberOfPixels = sum(tbl.PixelCount) frequency = tbl.PixelCount / totalNumberOfPixels; classWeights = 1./frequency
Медианная балансировка частоты взвешивает каждый класс с использованием медианной частоты. Вес для каждого класса c определяется как median(imageFreq)/imageBlockFreq(c) где imageBlockFreq(c) - количество пикселей данного класса, деленное на общее число пикселей в блоках изображения, имеющих экземпляр данного класса c.
imageBlockFreq = tbl.PixelCount ./ tbl.BlockPixelCount classWeights = median(imageBlockFreq) ./ imageBlockFreq
Вычисленные веса класса можно передать в pixelClassificationLayer(Панель инструментов компьютерного зрения).
blockedImage | blockedImageDatastore | pixelClassificationLayer (панель инструментов компьютерного зрения)