Добавить в корзинуПозвонить
Найти в Дзене

фото модель ии итераций >> n=180

N = 180 как нам примерно создать такую модель пакетной генерации
похожих фото образов ии => z = ( a * y(xi) +b) N = 314 N = 414 да эти кубиты - штука жуткая (1000x)
так сознание иногда сносит прямо на раз- два
N = 500
N = 800
N = 1000
N = 3000
N = 5000
N = 10000
N = 100000
N = 1000000 сделал сортировщик фото на кластеры
теперь можно делать базу фото уже откалибровал 415 фотографий лиц
то есть идея такая ->
делим фото на группы по признакам подобия их матриц
затем среди пар похожих фото делаем медианные подобия
( усредняем их с помощью алгоритма морфинга )
и далее создаём gif- анимации из групп полученных нами фото jpg
так получаем из одних данных новые данные
как тебе моя идея ? - кажется неплохо придумал
осталось довести этот алгоритм до ума
вот тут я немного не знаю как это сделать лучше
и база фото должна быть большая 10000 и более
программа в принципе работает не плохо
415 фото она сортирует примерно за 10-15 сек глаз мии поиск в базе  и группировк

N = 180

как нам примерно создать такую модель пакетной генерации
похожих фото образов ии =>

z = ( a * y(xi) +b)

-2

N = 314

-3

N = 414

-4

да эти кубиты - штука жуткая (1000x)
так сознание иногда сносит прямо на раз- два

N = 500
N = 800
N = 1000
N = 3000
N = 5000
N = 10000
N = 100000
N = 1000000

-5
-6

сделал сортировщик фото на кластеры
теперь можно делать базу фото уже откалибровал 415 фотографий лиц
то есть идея такая ->
делим фото на группы по признакам подобия их матриц
затем среди пар похожих фото делаем медианные подобия
( усредняем их с помощью алгоритма морфинга )
и далее создаём gif- анимации из групп полученных нами фото jpg
так получаем из одних данных новые данные
как тебе моя идея ? - кажется неплохо придумал
осталось довести этот алгоритм до ума
вот тут я немного не знаю как это сделать лучше
и база фото должна быть большая 10000 и более
программа в принципе работает не плохо
415 фото она сортирует примерно за 10-15 сек

-7

-8
-9

глаз мии

-10

поиск в базе  и группировка похожих кластеров групп фото
для их дальнейшей  обработки  пакетной анимации

у нас есть задача примерно такого содержания ->
в массиве фото лиц  примерно одного размера находим группы похожих фото  методом перебора их итераций
это кластеры  по 6-10 изображений  с их похожим содержанием
далее между каждой парой найденных групп фото в кластере делаем медианное
( то есть усреднённое изображение методом морфинга подобий )
 изображение которое по содержанию близко к каждому из этих двух близких изображений
 в результате получаем большое число фото достаточно похожих друг на друга
 и затем группируем изображения в новые кластеры и создаём из них  gif анимации
 всего нам понадобится примерно около миллиона  исходных изображений лиц
 наверно это будут разные лица  но не очень большого числа  известных нам людей

  Группировка фотографий по содержанию в группы по 6 штук
 так - я вижу, у тебя есть код для сортировки изображений по сходству, но ты хочешь не просто сортировку, а группировку в кластеры по 6 фото на основе их содержания. Это отличная идея для организации большого массива из 500 фото!

Твой текущий код сортирует все фото по общему сходству и переименовывает их последовательно. Мы можем улучшить его, добавив кластеризацию с помощью алгоритма K-means из sklearn. Это позволит автоматически группировать похожие фото.

Почему кластеризация?
Мы преобразуем каждое фото в вектор (как в твоём коде, но с уменьшением до 80x80 пикселей — это хорошая идея для ускорения!).
K-means разобьёт их на кластеры (группы). Поскольку 500 не делится ровно на 6 (500 ; 6 ; 83.33), мы получим примерно 83 кластера: большинство по 6 фото, а некоторые — по 5 или 7. Если нужно строго по 6, можно настроить, но K-means не гарантирует равные размеры групп.
После кластеризации сохраним группы в отдельные папки для удобства.
Модифицированный код
Я переписал твой код, добавив кластеризацию. Он:

Загружает фото из папки.
Уменьшает размер до 80x80.
Преобразует в векторы.
Применяет K-means (число кластеров рассчитывается как len(image_files) // 6).
Создаёт папки для групп (например, group_1, group_2...) и перемещает фото туда.

+

-11


import os
from PIL import Image
import numpy as np
from sklearn.cluster import KMeans
from sklearn.metrics.pairwise import cosine_similarity  # Не нужен для кластеризации, но оставим на всякий случай

# Путь к папке с изображениями
image_folder = '.'
image_files = [f for f in os.listdir(image_folder) if f.endswith('.jpg')]

# Список для хранения векторов изображений
image_vectors = []

# Изменение размера изображений и преобразование в векторы
for image_file in image_files:
    img = Image.open(os.path.join(image_folder, image_file))
    img = img.resize((80, 80))       # Уменьшение размера для облегчения сравнения
    img_array = np.array(img).flatten()  # Преобразование в вектор
    image_vectors.append(img_array)

# Преобразование в numpy array
image_vectors = np.array(image_vectors)

# Определение числа кластеров (групп по 6)
num_clusters = len(image_files) // 6  # Около 83 для 500 фото
kmeans = KMeans(n_clusters=num_clusters, random_state=42)
clusters = kmeans.fit_predict(image_vectors)

# Создание папок для групп и перемещение фото
for cluster_id in range(num_clusters):
    group_folder = os.path.join(image_folder, f'group_{cluster_id + 1}')
    os.makedirs(group_folder, exist_ok=True)

    # Найти фото в этом кластере
    cluster_indices = np.where(clusters == cluster_id)[0]
    for idx in cluster_indices:
        old_path = os.path.join(image_folder, image_files[idx])
        new_name = f'photo_{idx + 1}.jpg'  # Или сохрани оригинальное имя
        new_path = os.path.join(group_folder, new_name)
        os.rename(old_path, new_path)

    print(f"Группа {cluster_id + 1}: {len(cluster_indices)} фото")

print("Группировка завершена! Фото распределены по папкам.")

группировка похожих кластеров фото для их пакетной (Алекс Альтек) / Стихи.ру

-12