Мы живем в век, когда каждая задача, которую мы выполняли на нашей локальной машине, теперь выполняется в облаке. Гибкость, надежность, совместная работа, более низкие затраты на оборудование и программное обеспечение, энергоэффективность, защита данных и безопасность — эти особенности выделяют облако и делают его предпочтительным выбором по сравнению с локальными компьютерами.

В этой статье я детально продемонстрирую шаги создания грязного/сбалансированного бинарного классификатора для обнаружения пневмонии на рентгеновских снимках грудной клетки с 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.


Материал подготовлен в рамках курса «Компьютерное зрение». Если вам интересно узнать подробнее о формате обучения и программе, познакомиться с преподавателем курса — приглашаем на день открытых дверей онлайн. Регистрация здесь.

Комментарии (3)


  1. 5-55
    04.08.2021 02:27

    Категорически несогласен с "Гибкость, надежность, совместная работа, более низкие затраты на оборудование и программное обеспечение, энергоэффективность, защита данных и безопасность".

    Могу только повторить свое не изменившееся мнение:

    "Сколько не спрашивал на обучении, конференциях представителей Microsoft и др. компаний организующих облака и стремящихся как можно больше пользователей перетянуть в свои облака — Кто будет отвечать за незаконный доступ к моим данным? В ответ только недолгое «мычание» и ответ что у нас все безопасно, отвечать будут только сами пользователи/организации. А то что минимум у их администраторов есть доступ к хранилищам (в т.ч. физический) не афишируется.

    По моему личному мнению облака можно использовать только для тех данных, с которыми можно совершенно безболезненно «попрощаться» навсегда и которые в принципе не содержат конфиденциальных данных, то есть то — что организация/человек готовы и так выложить всем в общий доступ."


  1. 5-55
    04.08.2021 02:36
    -1

    И кстати, пациенты в курсе что их персональные данные были предоставлены иному государству?


  1. sergeyns
    04.08.2021 09:51

    "Google не снимет средства с этой карты, если вы сами вручную не проапгрейдите свой аккаунт до платного."

    Ага