doublecmd
Янв. 28, 2022 15:45:32
Имеется 1000 картинок размером 100х100, которые относятся к классу а
Имеется 5000 картинок, которые к классу a не относятся
Цветовая гамма одинаковая, перепутать картинку нужного класса визуально невозможно
Думаю что подойдет самый простой какой только бывает классификатор изображений
Я смотрел примеры на гитхабе, но так и не понял как скормить папку с правильными изображениями нейросети чтобы нейросеть научилась отличать их от неправильных.
На гитхабе все таки не самый простой классификатор, а какие то плюшки, про которые там и написано в README.txt
doza_and
Янв. 28, 2022 23:37:32
doublecmd
но так и не понял как скормить папку с правильными изображениями нейросети чтобы нейросеть научилась отличать их от неправильных
Никак. Чтобы обучить алгоритм скормить надо все а не только первый класс.
Вам следует привести ваши попытки построить классификатор. У нас то проблем нет. И нам непонятно в чем она у вас.
xam1816
Фев. 4, 2022 21:05:08
doublecmd
Вот такие картинки
вот вам простейший персептрон
🐱👤 from PIL import Image
import numpy as np
def pil_to_np(img_file):
"""
конвертирует изображение в numpy.array
:param img_file: файл изображения
:return: np.array
"""
im = Image.open(img_file).convert('1').point(lambda i: 0 if i == 255 else 255)
return np.array(im, int)
class Perceptron:
def __init__(self):
self.weights = np.zeros((100, 100), int)
self.bias = 10000
def is_valid(self, img):
"""
определяет нужную картинку
:param img: изображение конвертированное в numpy.array
:return: bool True если картинка подходит
"""
return np.sum(img * self.weights) > self.bias
def load_learn(self, learn_file):
self.weights = np.load(learn_file)
#
pt = Perceptron()
pt.load_learn('learn.npy')
#
im = pil_to_np('images/valid/1.png')
res = pt.is_valid(im)
print(f'изображение то что нужно => {res}')
файл обучения прикрепил ниже