Используем Google Cloud AutoML Vision для создания бинарного классификатора для обнаружения пневмонии на рентгеновском
Мы живем в век, когда каждая задача, которую мы выполняли на нашей локальной машине, теперь выполняется в облаке. Гибкость, надежность, совместная работа, более низкие затраты на оборудование и программное обеспечение, энергоэффективность, защита данных и безопасность — эти особенности выделяют облако и делают его предпочтительным выбором по сравнению с локальными компьютерами.
В этой статье я детально продемонстрирую шаги создания грязного/сбалансированного бинарного классификатора для обнаружения пневмонии на рентгеновских снимках грудной клетки с Google Cloud AutoML Vision без написания единой строчки кода.
Давайте начнем с обучения модели, просто используя 100 нормальных изображений из класса «normal» и 100 изображений с пневмонией из класса «pneumonia», но намеренно создав грязный набор данных «dirty», поместив 30 нормальных изображений в папку pneumonia и 30 изображений с пневмонией в папку normal.
Эта статья шаг за шагом проведет вас через процесс создания и обучения модели на платформе AutoML Vision Google Cloud.
1. Загрузите набор данных рентгеновских снимков грудной клетки Kaggle (Pneumonia), перейдя по этой ссылке.
2. Перейдите в Google AutoML: https://cloud.google.com/automl/.
3. Кликните «TRY AUTOML» и выберите «AutoML Vision».
4. Залогинтесь в Google Developer или создайте учетную запись.
5. После входа в систему перейдите в консоль AutoML Vision: https://console.cloud.google.com/vision и примите условия обслуживания.
6. Далее создайте проект с любым, угодным вашему желанию, названию.
7. На панели управления нажмите «Get Started» в AutoML Image Classification.
8. Подтверждайте все, пока не вы не попадете на последнюю страницу, где вам нужно настроить биллинг и Vision API.
9. Когда вы перейдете к биллингу, вы должны увидеть в верхней части экрана возможность активировать бесплатный кредит в размере 300 долларов. Нажмите «ACTIVATE».
10. Выберите тип учетной записи «Individual» и введите всю необходимую информацию, включая данные карты. Google не снимет средства с этой карты, если вы сами вручную не проапгрейдите свой аккаунт до платного.
Не апгрейдите свой аккаунт до платного, потому что с вашей кредитной карты будет взиматься плата. Если вы используете ее для проекта компании, который должен быть размещен в облаке, вы, конечно, можете проапгрейдиться до платного аккаунта, но с вашей карты будет взиматься плата! Имейте в виду следующие рекомендации из Google Cloud Platform Instructions
1. Бесплатная пробная версия заканчивается, когда вы израсходуете весь свой кредит, или через 3 месяца, в зависимости от того, что произойдет раньше.
2. Вы также можете потерять свои данные по истечении пробного периода. Я рекомендую вам ознакомиться с полным набором рекомендаций сервисов Google Cloud Platform.
11. После завершения настройки биллинга вы можете вернуться на страницу настройки проекта и нажать «SET UP NOW», чтобы включить Vision API. Это автоматически настроит API и перенаправит вас на выбор Google Cloud Project.
12. В раскрывающемся списке вы должны увидеть созданный вами проект. Выберите проект и продолжайте.
13. Затем вы должны увидеть страницу наборов данных (Datasets). Кликните «NEW DATASET» вверху страницы.
14. Выберите «Single-Label Classification».
15. Создайте свой набор данных.
a. Дайте набору данных имя.
b. Откройте папку Chest Xrays, которую вы скачали с Kaggle, и перейдите в папку для обучения.
c. В отдельной папке создайте каталог со следующей структурой:
i. AutoMLDataset/
1. normal/
2. pneumonia/
d. Затем скопируйте по 100 изображений каждого типа каждой классификации и намеренно создайте «грязный» (dirty) набор данных, поместив 30 нормальных изображений в папку pneumonia и 30 изображений с пневмонией в папку normal из исходной папки train/
(normal, pneumonia) в соответствующую новую папку. После того, как вы разместите изображения в новых папках, заархивируйте всю папку AutoMLDataset/
, чтобы создать automldataset.zip
.
16. Теперь вернитесь в AutoML Console Dataset и загрузите zip-файл со всеми изображениями. Опять же, убедитесь, что вы заархивировали папку верхнего уровня, которая содержит две папки: normal/
и pneumonia/
с соответствующими наборами из 100 изображений в каждой папке. Это позволит AutoML автоматически определять правильную метку истинности для каждого изображения, глядя на имя папки, в которой оно содержится. После того, как zip-файл прикреплен, продолжите нажав «CREATE DATASET». Для нашей текущей схемы маркировки нет необходимости нажимать кнопку «Enable multi-label classification» (Включить классификацию по нескольким меткам - это позволяет применять несколько меток к одному изображению). Этот шаг может потребовать несколько минут на загрузку всех изображений и настройку набора данных.
17. Когда данные будут готовы, вы должны увидеть экран со всеми изображениями, которые вы добавили, а также метку «normal» или «pneumonia» под каждым изображением. Это изображения и эталонные метки, которые будут использоваться для обучения/тестирования/проверки вашей модели детектора пневмонии.
18. Затем кликните на вкладку «TRAIN» и здесь вы увидите распределение изображений, а также разделение изображений для обучения, проверки и тестирования.
19. Нажмите «START TRAINING», чтобы начать обучение вашей модели классификации пневмонии. В параметрах сохраните все настройки по умолчанию (Cloud-hosted, 8 узлов в час), а затем начните обучение.
20. Сейчас модель находится в стадии обучения. Можно взять свой телефон и немного поиграть в свою любимую игру. По завершению обучения модели вы получите уведомление по электронной почте.
21. После завершения обучения вы можете кликнуть вкладку «EVALUATE», и вы увидите различные показатели модели, такие как точность, рекол и матрица неточностей. Постарайтесь понять, что означает каждый из этих показателей и как они рассчитываются.
22. Затем кликните по вкладке «TEST&USE» — здесь вы можете протестировать модель на новых данных, которые модель никогда не видела. Если вы нажмете «UPLOAD IMAGES» и выберите изображение из набора данных Kaggle, которое вы НЕ использовали в обучающем наборе изображений, вы увидите, как модель предсказывает, есть ли у пациента на рентгеновском снимке пневмония или нет. Попробуйте найти изображения, которые дают как правильные, так и неправильные прогнозы.
Ура! Поздравляю, вы сделали это. Вы создали свою первую модель искусственного интеллекта! Теперь вы знаете, как загружать данные и обучать модель в облаке Google.
Материал подготовлен в рамках курса «Компьютерное зрение». Если вам интересно узнать подробнее о формате обучения и программе, познакомиться с преподавателем курса — приглашаем на день открытых дверей онлайн. Регистрация здесь.