Настоящий бой! Простое создание службы ИИ для классификации изображений

машинное обучение глубокое обучение

Технология искусственного интеллекта (далее ИИ) является одним из выдающихся открытий и творений человека и представляет собой будущее как минимум на несколько десятилетий. В традиционном программировании инженеры превращают свои идеи и бизнес в код, и компьютеры работают в соответствии с логикой, заданной кодом. Разница в том, что ИИ позволяет компьютеру иметь «собственное мышление», похожее на живое существо, способное «видеть», «слушать», «говорить», «двигаться», «понимать», «различать». и "различение". думаю".

ИИ особенно эффективен в распознавании изображений и обработке текста и применяется в жизни человека, например, в распознавании лиц, диалогах, распознавании номерных знаков, обнаружении целей и классификации целей в городских проектах умного мозга.

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

Классификация изображений и требования к обнаружению объектов

Возможности и области применения ИИ очень широки, и здесь мы в основном обсуждаем классификацию изображений.

Классификация изображений — это фактически идентификация и классификация основных объектов на изображении. Например, среди множества случайных картинок можно определить, на какой изображен вертолет, а на какой — собака. Или по изображению пусть компьютер определит класс основного объекта на изображении.

Обнаружение объекта относится к обнаружению положения объекта на изображении. Например, в проекте умного транспорта камера дорожного наблюдения фиксирует положение транспортного средства на экране. Обнаружение объекта включает два метода: классификацию и локализацию. То есть сначала определить, есть ли указанная цель на картинке, а затем еще и определить положение цели на картинке.

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

Этапы компьютерного распознавания

Мы можем думать о компьютере как о ребенке. Прежде чем он сможет «различать», он должен пройти два этапа «увидеть» и «узнать». Увидев множество картинок, он сформирует свое собственное «узнавание». Познание», то есть обретение способности «различать».

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

Подумайте об этом, как вы отличили уток от гусей, когда были ребенком?

О них судят по их характеристикам?

Изучите и запрограммируйте условия, необходимые для достижения задачи

После понимания требований и шагов нам также необходимо подготовить некоторые условия:

  • Во-первых, вы должны быть ИТ-инженером.
  • Тогда у вас есть определенная основа изучения математики и статистики.
  • Вы также должны понимать, как компьютеры обрабатывают изображения.
  • Если картинок много, нужен компьютер с мощным GPU, иначе скорость "обучения" компьютера будет очень низкой.

Имея вышеуказанные условия, мы можем выполнить задачу классификации изображений после короткого периода обучения (несколько дней или неделю).

В качестве дополнительной темы, каждый ли может быть инженером ИИ?

Порог для ИИ относительно высок.Во-первых, вы должны иметь основы высшей математики, статистического обучения и программирования, а затем вы должны обладать сильными способностями к обучению. Для ИТ-инженеров:

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

Если вы хотите стать инженером по искусственному интеллекту, «высшее образование» почти обязательно. Будь то первоклассная интернет-компания или недавно появившийся ИИ-единорог, образовательный порог, который они устанавливают для инженеров ИИ, — «магистр». Если нет особенно отличных и талантливых студентов колледжа или бакалавриата, невозможно иметь возможность войти в такую ​​​​компанию в качестве инженера по искусственному интеллекту.

ИИ очень дорог с точки зрения железа, софта, данных и талантов, рядовые ИТ-инженеры только учатся и разбираются, что далеко не соответствует требованиям коммерческих продуктов.

Обычные малые и средние предприятия редко обладают квалификацией и экономическими возможностями для привлечения высокообразованных и отличных инженеров по искусственному интеллекту, что приводит к сбору и перераспределению ресурсов.

Если вы хотите коммерциализировать технологию классификации изображений, после того, как компьютер пройдет этапы «видеть» и «распознает» и получит возможность «различать», его необходимо преобразовать в веб-службу.

Но я просто хочу интегрировать функцию распознавания лиц или классификации изображений в свой проект, это сложно?

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

Я так огорчен!

Что такое хороший способ?

Введение и условия ModelArts

ModelArts — это продукт, выпущенный HUAWEI CLOUD, который представляет собой универсальную платформу разработки ИИ для разработчиков.

Он обеспечивает предварительную обработку больших объемов данных и полуавтоматическую маркировку, крупномасштабное распределенное обучение, автоматическое создание моделей и развертывание по запросу граничных облачных моделей для машинного и глубокого обучения, помогая пользователям быстро создавать и развертывать модели и управлять ими. рабочий процесс искусственного интеллекта полного цикла.

Он предоставляет пользователям следующие дополнительные режимы:

  • Автоматический режим обучения с нулевым опытом программирования, нулевым опытом ИИ
  • Модель полного процесса разработки с опытом исследований и разработок в области искусственного интеллекта

В то же время он интегрирует весь процесс разработки ИИ. Например, маркировка данных, обучение модели, оптимизация параметров, развертывание сервисов, открытые интерфейсы и т. д. Это «рабочий процесс ИИ полного цикла».

Кроме того, все операции на платформе визуализируются.

Эти условия предоставляют возможности для индивидуальных разработчиков и предприятий, которые хотят применять технологии ИИ к продуктам, но не имеют другого выбора, кроме как сделать это, что немаловажно! Можно сказатьModelArtsЭто сокращает время коммерциализации ИИ и снижает соответствующие экономические затраты, затраты времени и затраты на оплату труда.

Подробнее о HUAWEI CLOUDModelArtsДля пользователей подготовлено множество учебных пособий. Даже если пользователи неопытны, они могут реализовать свои собственные потребности в ИИ, если будут следовать инструкциям руководства.

Просто подумать об этом, это здорово!

Попробуй это сейчас!

Практика обслуживания классификации изображений

На этот раз мы покажем, как создать службу ИИ для классификации изображений в режиме автоматического обучения без использования ИИ и опыта программирования.

Предварительная подготовка и сопутствующие настройки

Сначала откройте официальный веб-сайт HUAWEI CLOUD, наведите указатель мыши на меню «EI Enterprise Intelligence» на панели навигации и выберите «AI Development Platform ModelArts» во всплывающих параметрах.

ВходитьModelArtsПосле главной страницы вы можете просматриватьModelArtsвведение.

Нажмите кнопку «Войти в консоль» на баннере, и страница перейдет к консоли ModelArts. Консоль условно разделена на несколько областей:

В режиме автоматического обучения области 2 есть классификация изображений. Наведите указатель мыши на значок и нажмите всплывающую кнопку «Начать опыт». Если это новый пользователь HUAWEI CLOUD, веб-страница предложит нам ввести ключ доступа и закрытый ключ доступа.

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

На этом этапе процесс создания проекта официально запущен, и нажмите кнопку «Создать проект» в «Классификация изображений» (HUAWEI CLOUD подготовил соответствующие учебные пособия для пользователей, что очень важно).

На странице создания проекта нам нужно заполнить две-три конфигурации. Стоит отметить, что проект тарифицируется по требованию, в этот раз мы только испытываем, и мы не обучали и не хранили слишком много данных, поэтому стоимость очень низкая, вам не нужно об этом беспокоиться.

Имя проекта можно настроить так, чтобы оно было легко запоминающимся в соответствии с требованиями, в данном случае я установил его на ImageCLF-Test-Pro. В выборе хранилища данных для тренировок щелкните значок папки в поле ввода и создайте новую область наблюдений на всплывающей вкладке.

и создайте новую папку в созданном ведре

Наконец, введите описание и нажмите кнопку «Создать проект» в правом нижнем углу страницы.

Загружайте изображения и аннотации

После того, как проект создан, нам необходимо подготовить несколько изображений для обучения, изображения должны быть максимально четкими, с более чем 2-мя категориями, а количество изображений в каждой категории должно быть не менее 5.

Конечно, чем больше данных, чем богаче форма и точнее маркировка, тем лучше результаты обучения и лучше опыт использования сервисов ИИ.

Здесь я подготовил несколько фотографий вертолетов, танков и собак, всего 45 фотографий.

После их пакетного импорта проверьте изображения одного типа и добавьте теги к нескольким изображениям одновременно.

После маркировки трех типов изображений по очереди изображения на вкладке «Без метки» метки изображения слева будут очищены, а изображения с метками можно будет увидеть на вкладке «Помеченные».

настройки тренировки

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

Нам не нужно понимать, что он делает, мы можем следовать значению по умолчанию или немного изменить его, например, изменив верхний предел времени обучения на 0,2.

начать обучение

После настройки нажмите кнопку «Начать обучение», чтобы войти в состояние обучения, терпеливо подождите некоторое время (чем меньше изображений, тем короче время обучения).

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

Автоматическое развертывание сервисов

Наша цель — создать службу ИИ для классификации изображений, поэтому нажмите кнопку «Развернуть» слева после обучения, а затем войдите в процесс автоматического развертывания.

После небольшого ожидания (на этот раз около 10 минут) на странице появится сообщение о завершении развертывания, и страница будет разделена на 3 столбца.

Зона 1 слева — статус развертывания и контроль. Средняя 2 область может тестировать классификацию изображений онлайн, правая 3 область будет отображать результаты онлайн-теста (включая показатель точности), а правая 4 область предоставляет интерфейс API, который нам удобен для интеграции в сеть. применение.

Онлайн-прогноз, тест результатов обучения

Давайте проверим это и подготовим несколько картинок без надписей, на которых могут быть собаки, вертолеты и танки. Нажмите кнопку «Загрузить» в средней области 2 и выберите изображение, затем нажмите кнопку «Предсказать».

Менее чем через 1 секунду третья область справа вернет результат этого прогноза:

{
    "predicted_label": "狗",
    "scores": [
        [
            "狗",
            "0.840"
        ],
        [
            "直升机",
            "0.084"
        ],
        [
            "坦克",
            "0.076"
        ]
    ]
}

На этот раз мы загрузили изображение с собакой. Возвращаемый результат прогноза показывает, что предсказанный ярлык — «собака», и перечисляет несколько категорий с высокой достоверностью и соответствующей достоверностью (1 – 100). % уверенности, самая высокая из которых это «0,840-собака».

Попробуйте загрузить изображение вертолета на этот раз.

Возвращаемые прогнозы следующие:

{
    "predicted_label": "直升机",
    "scores": [
        [
            "直升机",
            "0.810"
        ],
        [
            "狗",
            "0.114"
        ],
        [
            "坦克",
            "0.075"
        ]
    ]
}

попробовать танк

Возвращаемые прогнозы следующие:

{
    "predicted_label": "坦克",
    "scores": [
        [
            "坦克",
            "0.818"
        ],
        [
            "狗",
            "0.092"
        ],
        [
            "直升机",
            "0.090"
        ]
    ]
}

Из результатов нескольких тестов видно, что прогнозируемые результаты очень точны, и заданная достоверность также относительно высока. На этот раз подготовлено не так много изображений, и формы не очень богаты, но эффект прогнозирования очень хорош.Я должен сказать, что команда разработчиков HUAWEI CLOUD ModelArts провела большую оптимизацию для этого, даже написав код лучше, чем себя (вводный уровень глубокого обучения) Результаты обучения и прогнозирования с помощью сверточных нейронных сетей лучше.

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

освободить ресурсы

Если это не для реального коммерческого использования, а только для обучения и практики, то не забудьте нажать кнопку «Стоп» в Зоне 1 слева после завершения операции. Затем введите «OBS» в поле поиска на панели навигации HUAWEI CLOUD, щелкните результат поиска, а затем перейдите на домашнюю страницу OBS, затем нажмите «Консоль управления» на домашней странице OBS, войдите в консоль OBS и удалите созданное ранее ведро. Таким образом, не будет потребления ресурсов и затрат.

резюме

После знакомства с ModelArts я чувствую себя очень хорошо!

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

Аннотации пакетных данных очень полезны! Пакетный импорт, пакетная аннотация, автоматический подсчет, удобно!

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

Я все еще думал о том, нужно ли готовить более мощное аппаратное оборудование для обучения ИИ, теперь, когда вы работаете на ModelArts, вам не нужно учитывать эти условия.

На этот раз мы испытали автоматическое обучение, которое является простой и удобной в использовании операцией, похожей на дурака. Для профессиональных инженеров ИИ можно выбрать режим полномасштабной разработки. Аннотирование пакетных данных, написание локального кода, локальная отладка, обучение работе в облаке, развертывание в облаке и т. д. выполняются за один раз.

Здорово!

Заинтересованные разработчики могут перейти в HUAWEI CLOUDModelArtsопыт.


Примечания: Все изображения в этой статье взяты из Интернета и взяты из поисковых систем.