Найти - Пользователи
Полная версия: Самый простой классификатор изображений
Начало » Python для новичков » Самый простой классификатор изображений
1
doublecmd
Имеется 1000 картинок размером 100х100, которые относятся к классу а
Имеется 5000 картинок, которые к классу a не относятся
Цветовая гамма одинаковая, перепутать картинку нужного класса визуально невозможно

Думаю что подойдет самый простой какой только бывает классификатор изображений
Я смотрел примеры на гитхабе, но так и не понял как скормить папку с правильными изображениями нейросети чтобы нейросеть научилась отличать их от неправильных.
На гитхабе все таки не самый простой классификатор, а какие то плюшки, про которые там и написано в README.txt
xam1816
doublecmd
Имеется 1000 картинок размером 100х100, которые относятся к классу а
Имеется 5000 картинок, которые к классу a не относятся
дайте эти картинки
doza_and
doublecmd
но так и не понял как скормить папку с правильными изображениями нейросети чтобы нейросеть научилась отличать их от неправильных
Никак. Чтобы обучить алгоритм скормить надо все а не только первый класс.

Вам следует привести ваши попытки построить классификатор. У нас то проблем нет. И нам непонятно в чем она у вас.
doublecmd
Вот такие картинки

https://www.sendspace.com/file/gcgq08
xam1816
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}')

файл обучения прикрепил ниже
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB