- BrainTools - https://www.braintools.ru -

AutismSmartDetector: Система для определения черт аутистического спектра

Оригинал материала [1]

Оригинал фото

Проект “AutismSmartDetector” представляет собой инновационную систему на основе искусственного интеллекта [3], предназначенную для автоматического определения черт аутистического спектра по фотографиям лиц. Система использует свёрточную нейронную сеть (CNN), обученную на большом наборе данных, чтобы классифицировать изображения на две категории: “Autistic” и “Non-Autistic”.

Преимущества для различных отраслей

Для врачей и медицинских учреждений

  • Ранняя диагностика: Система позволяет врачам быстро и эффективно проводить предварительную оценку пациентов на наличие аутистических черт, что способствует ранней диагностике и своевременному началу лечения.

  • Улучшение качества обслуживания: Автоматизация процесса диагностики позволяет врачам сосредоточиться на более сложных случаях и уделить больше времени пациентам.

  • Повышение точности: Использование искусственного интеллекта снижает вероятность ошибок в диагностике, что повышает точность и надежность результатов.

Для финансовых организаций

  • Оценка рисков: Система может использоваться для оценки рисков при выдаче кредитов или страховых полисов, учитывая особенности поведения [4] и состояния здоровья клиентов.

  • Персонализация услуг: Финансовые организации могут предлагать персонализированные услуги и продукты, учитывая индивидуальные особенности клиентов.

Для цифровых экосистем

  • Улучшение пользовательского опыта [5]: Система может быть интегрирована в платформы для улучшения пользовательского опыта, предлагая персонализированные рекомендации и услуги.

  • Анализ поведения [6] пользователей: Анализ черт аутистического спектра может помочь в понимании поведения пользователей и адаптации интерфейсов и сервисов под их потребности [7].

Для соцсетей

  • Безопасность и модерация: Система может использоваться для модерации контента и обеспечения безопасности пользователей, особенно тех, кто может быть уязвим из-за особенностей поведения.

  • Персонализация контента: Социальные сети могут предлагать персонализированный контент и рекомендации, учитывая индивидуальные особенности пользователей.

Для сервисов знакомств

  • Персонализация рекомендаций: Система может помочь в подборе партнеров, учитывая индивидуальные особенности и потребности пользователей.

  • Безопасность и защита: Сервисы знакомств могут использовать систему для защиты пользователей от мошенников и недобросовестных участников.

Основные возможности

  • Обучение [8] модели: Обучение модели на основе данных, собранных из различных источников.

  • Предсказание по одному изображению: Возможность загрузки и анализа одного изображения для определения наличия аутистических черт.

  • Предсказание по множеству изображений: Анализ нескольких изображений одновременно.

  • Предсказание по URL: Возможность анализа изображений, загруженных по URL.

Требования

  • Python 3.8+

  • PyTorch

  • Torchvision

  • Pillow

  • Requests

  • Glob

  • Matplotlib

Загрузка репозитория с кодом и моделью

Исходный код и модель доступны в git-сервисах. Однако данные для обучения берутся с Kaggle, где это решение было реализовано [9]:

Установка

Для установки всех необходимых библиотек выполните следующую команду:

pip install torch torchvision pillow requests matplotlib

Структура проекта

.
|-- README.md
|-- best_model.pth
|-- data
| |-- consolidated
| | |-- Autistic
| | |-- Non-Autistic
| |-- train
| | |-- Autistic
| | |-- Non-Autistic
| |-- valid
| | |-- Autistic
| | |-- Non-Autistic
| |-- test
| | |-- Autistic
| | |-- Non-Autistic
|-- main.py

Использование

1. Обучение модели:

Запустите скрипт main.py [14] для обучения модели на данных из папки data. После завершения обучения модель будет сохранена в файле best_model.pth.

2. Предсказание по одному изображению(на основе изображении из датасета, по которому обучалась модель [9]):

import torch
from torchvision import transforms
from PIL import Image

# Загрузка модели
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = AutismClassifier().to(device)
model.load_state_dict(torch.load('best_model.pth', map_location=device))
model.eval()

# Загрузка и предобработка изображения
image_path = "/kaggle/input/autism-image-data/AutismDataset/consolidated/Autistic/0015.jpg"
transform = transforms.Compose([
 transforms.Resize((224, 224)),
 transforms.ToTensor(),
 transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])

image = Image.open(image_path)
image_tensor = transform(image).unsqueeze_(0).to(device)

# Прогон через модель
with torch.no_grad():
 output = model(image_tensor)
 probabilities = torch.softmax(output, dim=1)
 pred_class = torch.argmax(probabilities, dim=1)

# Интерпретация результата
classes = ["Non-Autistic", "Autistic"]
print(f"Прогноз для изображения '{image_path}' — {classes[pred_class.item()]}. Вероятности: {probabilities.tolist()[0]} ")

3. Предсказание по множеству изображений(на основе изображении из датасета, по которому обучалась модель [9]):

import glob
from torch.utils.data import DataLoader
from torchvision import transforms
from PIL import Image

# Список путей к изображениям
images_paths = glob.glob("/kaggle/input/autism-image-data/AutismDataset/valid/Autistic/*.jpg")

# Преобразование данных
transform = transforms.Compose([
 transforms.Resize((224, 224)),
 transforms.ToTensor(),
 transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])

# Пользовательская функция для открытия и преобразования изображений
def load_and_transform(path):
 image = Image.open(path)
 return transform(image)

# Создаем генератор изображений
image_tensors = [load_and_transform(path) for path in images_paths]

# Пакуем в батч
image_batch = torch.stack(image_tensors).to(device)

# Прогон через модель
with torch.no_grad():
 outputs = model(image_batch)
 probabilities = torch.softmax(outputs, dim=1)
 preds = torch.argmax(probabilities, dim=1)

# Выводим прогнозы
for i, path in enumerate(images_paths):
 print(f"Изображение {path}: {classes[preds[i].item()]}, Вероятности: {probabilities[i].tolist()} ")

4. Предсказание по URL(на примере селфи Ренаты Ли из Pinterest [15]):

import requests
from io import BytesIO
from torchvision import transforms
from PIL import Image

# Загрузка модели
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = AutismClassifier().to(device)
model.load_state_dict(torch.load('best_model.pth', map_location=device))
model.eval()

# Загрузка изображения по URL
url = "https://i.pinimg.com/originals/55/b7/93/55b793764f01746f78f54820caa9caeb.jpg"
response = requests.get(url)
image_bytes = response.content

# Преобразуем байты в изображение и далее по схеме
image = Image.open(BytesIO(image_bytes))
image_tensor = transform(image).unsqueeze_(0).to(device)

# Прогон через модель
with torch.no_grad():
 output = model(image_tensor)
 probabilities = torch.softmax(output, dim=1)
 pred_class = torch.argmax(probabilities, dim=1)

# Результат
print(f"Прогноз для изображения по URL '{url}' — {classes[pred_class.item()]}. Вероятности: {probabilities.tolist()[0]} ")

Заключение

Проект “AutismSmartDetector” предлагает уникальные возможности для различных отраслей, улучшая качество обслуживания, повышая точность диагностики и обеспечивая персонализированный подход к каждому пользователю.

 

Сама эффективность модели по результатам предрелизного тестирования:

  1. [Эпоха 1/10] Loss: 83.607, Train Accuracy: 62.34% [Эпоха 1/10] Validation Accuracy: 68.93% [Эпоха 2/10] Loss: 38.975, Train Accuracy: 68.80% [Эпоха 2/10] Validation Accuracy: 75.06% [Эпоха 3/10] Loss: 34.604, Train Accuracy: 73.62% [Эпоха 3/10] Validation Accuracy: 74.60% [Эпоха 4/10] Loss: 32.385, Train Accuracy: 75.95% [Эпоха 4/10] Validation Accuracy: 73.70% [Эпоха 5/10] Loss: 28.425, Train Accuracy: 79.54% [Эпоха 5/10] Validation Accuracy: 76.64% [Эпоха 6/10] Loss: 25.503, Train Accuracy: 82.46% [Эпоха 6/10] Validation Accuracy: 76.64% [Эпоха 7/10] Loss: 21.775, Train Accuracy: 85.81% [Эпоха 7/10] Validation Accuracy: 76.64% [Эпоха 8/10] Loss: 19.891, Train Accuracy: 87.37% [Эпоха 8/10] Validation Accuracy: 78.23% [Эпоха 9/10] Loss: 16.099, Train Accuracy: 90.77% [Эпоха 9/10] Validation Accuracy: 74.60% [Эпоха 10/10] Loss: 16.260, Train Accuracy: 89.84% [Эпоха 10/10] Validation Accuracy: 78.23% Модель успешно сохранена!

  2. Финальная точность на тестовом наборе: 72.79% precision recall f1-score support 0 0.7163 0.7230 0.7196 213 1 0.7389 0.7325 0.7357 228 accuracy 0.7279 441 macro avg 0.7276 0.7277 0.7277 441 weighted avg 0.7280 0.7279 0.7279 441

  3. Прогноз для изображения '/kaggle/input/autism-image-data/AutismDataset/consolidated/Autistic/0015.jpg' — Non-Autistic. Вероятности: [0.860454797744751, 0.1395452618598938]

  4. Прогноз для изображения по URL 'https://i.pinimg.com/originals/55/b7/93/55b793764f01746f78f54820caa9caeb.jpg [16]' — Autistic. Вероятности: [0.3137427270412445, 0.6862573027610779]

  5. Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/45.jpg: Non-Autistic, Вероятности: [0.8975199460983276, 0.10248009860515594] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/20.jpg: Non-Autistic, Вероятности: [0.9396201372146606, 0.06037987396121025] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/30.jpg: Non-Autistic, Вероятности: [0.9228528738021851, 0.07714710384607315] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/38.jpg: Non-Autistic, Вероятности: [0.9985777139663696, 0.0014222444733604789] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/42.jpg: Non-Autistic, Вероятности: [0.5463358759880066, 0.4536641836166382] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/33.jpg: Non-Autistic, Вероятности: [0.9597986936569214, 0.04020124673843384] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/10.jpg: Non-Autistic, Вероятности: [0.9056074023246765, 0.09439262002706528] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/35.jpg: Non-Autistic, Вероятности: [0.9072375893592834, 0.09276241064071655] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/41.jpg: Non-Autistic, Вероятности: [0.985905110836029, 0.014094934798777103] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/03.jpg: Non-Autistic, Вероятности: [0.9916881918907166, 0.008311815559864044] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/37.jpg: Non-Autistic, Вероятности: [0.9996997117996216, 0.0003002843295689672] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/46.jpg: Non-Autistic, Вероятности: [0.9999425411224365, 5.7397330238018185e-05] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/44.jpg: Non-Autistic, Вероятности: [0.954089879989624, 0.045910123735666275] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/01.jpg: Non-Autistic, Вероятности: [0.9152106046676636, 0.08478938788175583] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/50.jpg: Non-Autistic, Вероятности: [0.7896190285682678, 0.21038097143173218] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/29.jpg: Non-Autistic, Вероятности: [0.7151452898979187, 0.2848546802997589] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/16.jpg: Non-Autistic, Вероятности: [0.7867441773414612, 0.2132558375597] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/23.jpg: Non-Autistic, Вероятности: [0.8975328803062439, 0.10246709734201431] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/02.jpg: Non-Autistic, Вероятности: [0.8802333474159241, 0.11976667493581772] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/28.jpg: Autistic, Вероятности: [0.009367822669446468, 0.990632176399231] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/22.jpg: Non-Autistic, Вероятности: [0.9999207258224487, 7.931755681056529e-05] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/40.jpg: Non-Autistic, Вероятности: [0.9571797847747803, 0.042820245027542114] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/48.jpg: Non-Autistic, Вероятности: [0.9040815830230713, 0.09591842442750931] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/24.jpg: Non-Autistic, Вероятности: [0.9861753582954407, 0.013824568130075932] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/09.jpg: Non-Autistic, Вероятности: [0.922892153263092, 0.07710782438516617] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/31.jpg: Non-Autistic, Вероятности: [0.6573981642723083, 0.34260186553001404] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/43.jpg: Non-Autistic, Вероятности: [0.9687045812606812, 0.03129534423351288] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/13.jpg: Non-Autistic, Вероятности: [0.9762715101242065, 0.02372846007347107] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/05.jpg: Non-Autistic, Вероятности: [0.8192707300186157, 0.18072926998138428] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/32.jpg: Non-Autistic, Вероятности: [0.9272454380989075, 0.07275455445051193] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/06.jpg: Non-Autistic, Вероятности: [0.9824183583259583, 0.017581643536686897] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/17.jpg: Non-Autistic, Вероятности: [0.7582643032073975, 0.24173569679260254] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/26.jpg: Non-Autistic, Вероятности: [0.7538187503814697, 0.24618127942085266] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/39.jpg: Non-Autistic, Вероятности: [0.9258626103401184, 0.07413731515407562] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/15.jpg: Non-Autistic, Вероятности: [0.9963406920433044, 0.003659237874671817] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/04.jpg: Non-Autistic, Вероятности: [0.9123560786247253, 0.08764392137527466] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/12.jpg: Non-Autistic, Вероятности: [0.8905658721923828, 0.10943407565355301] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/11.jpg: Non-Autistic, Вероятности: [0.9802691340446472, 0.019730882719159126] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/34.jpg: Autistic, Вероятности: [0.08379518985748291, 0.9162048101425171] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/27.jpg: Non-Autistic, Вероятности: [0.9824625253677368, 0.017537495121359825] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/21.jpg: Non-Autistic, Вероятности: [0.9023659825325012, 0.09763399511575699] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/08.jpg: Non-Autistic, Вероятности: [0.9468685984611511, 0.05313147231936455] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/36.jpg: Non-Autistic, Вероятности: [0.9947085380554199, 0.005291415844112635] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/07.jpg: Non-Autistic, Вероятности: [0.9940096139907837, 0.005990440957248211] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/19.jpg: Non-Autistic, Вероятности: [0.8153501749038696, 0.18464983999729156] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/47.jpg: Non-Autistic, Вероятности: [0.9986063838005066, 0.0013936901232227683] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/14.jpg: Non-Autistic, Вероятности: [0.9618967175483704, 0.038103245198726654] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/18.jpg: Non-Autistic, Вероятности: [0.9967671632766724, 0.00323283183388412] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/49.jpg: Non-Autistic, Вероятности: [0.9685015082359314, 0.03149845078587532] Изображение /kaggle/input/autism-image-data/AutismDataset/valid/Autistic/25.jpg: Non-Autistic, Вероятности: [0.9717873334884644, 0.028212685137987137]

Автор: seregazolotaryow64

Источник [17]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/18009

URLs in this post:

[1] Оригинал материала: https://zolotaryow.my1.ru/blog/autismsmartdetector_sistema_dlja_opredelenija_chert_autisticheskogo_spektra/2025-08-05-6

[2] Оригинал фото: https://shedevrum.ai/post/e26eb90671c511f0ba91369607e1c478?share=serega.zolotaryow64

[3] интеллекта: http://www.braintools.ru/article/7605

[4] поведения: http://www.braintools.ru/article/9372

[5] опыта: http://www.braintools.ru/article/6952

[6] поведения: http://www.braintools.ru/article/5593

[7] потребности: http://www.braintools.ru/article/9534

[8] Обучение: http://www.braintools.ru/article/5125

[9] данные для обучения берутся с Kaggle, где это решение было реализовано: https://www.kaggle.com/code/seregazolotaryow64/autismsmartdetector

[10] Репозиторий в Github:: https://github.com/Serzol64/autismSmartDetector

[11] https://github.com/Serzol64/autismSmartDetector.git: https://github.com/Serzol64/autismSmartDetector.git

[12] Репозиторий в Gitflic:: https://gitflic.ru/project/serzol64/autismsmartdetector

[13] https://gitflic.ru/project/serzol64/autismsmartdetector.git: https://gitflic.ru/project/serzol64/autismsmartdetector.git

[14] main.py: http://main.py

[15] на примере селфи Ренаты Ли из Pinterest: https://pinterest.com/pin/626070785713330491/

[16] https://i.pinimg.com/originals/55/b7/93/55b793764f01746f78f54820caa9caeb.jpg: https://i.pinimg.com/originals/55/b7/93/55b793764f01746f78f54820caa9caeb.jpg

[17] Источник: https://habr.com/ru/articles/934074/?utm_campaign=934074&utm_source=habrahabr&utm_medium=rss

www.BrainTools.ru

Rambler's Top100