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

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

Или, по крайней мере, домашние животные, которых мы привыкли видеть в нашем районе. Другим животным не так повезло.

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

Честно говоря, это безумие, что это вообще проблема, но что еще более безумно, как, черт возьми, убили белого носорога, если он буквально на грани исчезновения? Что делало правительство в это время? ?

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

Обезроживание

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

Новые законы

Еще один способ воспрепятствовать незаконной охоте на носорогов и рога — фактически сделать ее законной. Аргумент многих правительств заключается в том, что если люди имеют доступ к ним на законных основаниях, незаконная охота ставки снизятся, а правительство получит больший контроль над Rhinos и распределением рогов. Это, в свою очередь, будет способствовать росту экономики. Должен признаться, я чувствую, что это «решение» больше связано с попыткой извлечь выгоду из уже происходящей несправедливости.

Заповедники

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

Безопасность и отслеживание

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

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

ИИ может помочь и носорогам, и не только людям

Использование определенной модели ИИ под названием Faster R-CNN, которая чрезвычайно эффективна при обнаружении и классификации объектов. Он делает это путем определения области интереса на входе Область интереса (ROI) на входном изображении. Затем он вычисляет вероятность для каждого идентифицированного объекта. Мы могли распознать потенциальные угрозы для носорогов с помощью спутниковых камер. Это было бы намного безопаснее, дешевле и эффективнее.

Немного о R-CNN

R-CNN состоят из 3 разных частей:

  1. Голова

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

2. Региональная сеть предложений

Сверточные карты объектов проходят через RPN, серию слоев, чтобы найти ROI. После определения ROI он создает рамку или привязку вокруг этого объекта. Эта сеть имеет 3 различных уровня: уровень предложения, целевой уровень привязки и целевой уровень предложения.

3.Сеть классификации

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

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

Вот изображение, которое я объясню в остальной части поста!

Показатель

  1. Набор данных
  2. Голова — Сверточные нейронные сети
  3. Региональная сеть предложений — Уровень генерации привязки, Уровень предложения, Уровень привязки целевого объекта
  4. Слой классификации
  5. Вернуться к Rhinos-Видео
  6. Сокращение этой статьи до 6 строк

Набор данных

Прежде чем вы даже начнете понимать R-CNN, нам нужно понять, что модель использует для обучения, набор данных.

Это определенно была самая сложная часть моей модели. Одна из самых больших проблем с моделями ИИ — получение правильного набора данных. Я всегда использовал предварительно обработанные наборы данных, но, поскольку это был мой собственный проект, мне пришлось создать свой собственный.

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

Что я получил: изображения охотников, позирующих с мертвыми носорогами.

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

В любом случае, затем я передаю свой набор данных в головную часть R-CNN, которая состоит из следующих слоев:

Голова

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

Сверточная нейронная сеть

Эти входные изображения или наборы данных также проходят через CNN, которая анализирует изображение с помощью сверточных слоев, функции ReLu и максимального объединения.

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

Функция ReLu (выпрямленные линейные единицы) — это функция активации, используемая для нелинейных взаимосвязей. Он выдает на выходе x, если x положительный, и 0, если он отрицательный. Это используется, потому что изображения состоят из пиксельных изображений, которые помогают компьютеру «видеть». Поскольку 0 означает белый цвет, нам не нужно отслеживать значения пикселей ниже 0, потому что они уже белые.

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

После того, как изображение прошло через эти слои, создается Сверточная карта объектов, как показано ниже.

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

Региональная сеть предложений

Новые входные данные проходят через RPN, ряд слоев, чтобы найти ROI. После определения ROI онсоздает рамку или привязку вокруг этого объекта.Эта сеть имеет 3 различных уровня: уровень предложения, целевой уровень привязки. и целевой слой предложения, а также CNN и слой генерации привязок заранее.

Вот также несколько определений, которые вам нужно знать:

Ограничивающие коэффициенты регрессии Boc (Коэффициент регрессии) —Основная часть R-CNN заключается в создании действительно хорошей ограничивающей рамки, которая представляет собой рамки, размещаемые вокруг объектов. Коэффициенты регрессии контролируют границы.

Пересечение над объединением (IoU) Overlap —это измерение перекрывающихся областей между двумя ограничивающими прямоугольниками. между двумя разными ограничивающими рамками. Таким образом, ящики, которые в целом не должны иметь IoU, равное 0.

Си-Эн-Эн

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

Слой генерации привязки

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

Слой предложения

Этот уровень предложений принимает поля, созданные уровнем обнаружения привязки, и выбирает только определенные из них, применяя немаксимальное подавление (NMS).

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

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

Привязка целевого слоя

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

Но помните, что компьютеры не могут видеть эти факторы, поэтому мы определяем их через цифры RPN Loss.

Потеря RPN = потеря классификации + потеря регрессии ограничивающей рамки

Потери при классификации — это в основном потери перекрестной энтропии. Он измеряет производительность модели с вероятностью ее классификации. Например, если вероятность того, что изображение является носорогом, равна 1, а компьютер выдает вероятность 0,10 для изображения, являющегося носорогом, потеря классификации высока, что нехорошо. Он должен быть ближе к 1. У идеальной модели потери равны 0.

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

Целевой слой предложения

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

Объединение культур предназначено для извлечения региона в области интереса на карте объектов свертки. Например, у нас есть граница или область интереса вокруг части изображения вокруг носорога. Поскольку ROI всегда прямоугольные, в ROI должна быть трава или какой-то фон. Crop Pooling выделяет эти части изображения.

Слой классификации

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

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

Эти карты объектов проходят через четвертый уровень ResNet. Затем мы применяем усреднение по пространственным измерениям. Среднее объединение точно такое же, как максимальное объединение, но вместо того, чтобы уменьшить размерность, используя только максимальное значение пикселя в изображении, теперь вы используете среднее значение пикселя.

Результатом этого будет одномерный вектор признаков для каждой области интереса. Затем этот вектор признаков проходит через два полносвязных слоя.

Полностью связанный слой состоит из нейронов, которые соединяются друг с другом. Каждый нейрон имеет свой вес, и связи между нейронами также имеют свой вес. Значение этих весов используется для поиска закономерностей во введенных данных и прогнозирования результата или результата последнего слоя (выходного слоя)

Как я упоминал ранее, в R-CNN мы используем два, поскольку находим вероятность двух разных вещей:

Fully Connected Layer #1-Выдает баллы класса для поля привязки. Это означает, что это вероятность каждой из идентификаций (например, Rhino или Hunter). Проще говоря, мы применяем функцию softmax для преобразования исходной оценки, которая определила идентификацию ROI, в вероятность.

Fully Connected Layer #2- Создает координаты конечной ROI/поля. Они показаны на выходном изображении.

Возвращаясь к носорогам…

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

Кроме того, скоро выйдет короткое видео о том, как моя программа выглядит в реальной жизни! Это будет содержать больше деталей о визуальной части этой модели и меньше о всей математике, стоящей за ней.

Сокращение этой статьи до 6 строк

  • Набор данных проходит через CNN для создания сверточной карты признаков.
  • Новый ввод проходит через CNN и слой обнаружения привязки для создания случайных блоков или привязок.
  • Входные данные со слоя обнаружения привязки проходят через RPN для настройки коэффициентов регрессии для создания точных полей или областей интереса.
  • Слой классификации переносит карту сверточных признаков и выходные данные RPN на два разных полносвязных слоя.
  • Один полностью соединительный слой определяет вероятность того, что объект в области интереса относится к определенному классу.
  • Второй полносвязный слой находит координаты лучшей привязки/ROI.

Привет, парень! Меня зовут Лайба Кхан! Я люблю ИИ и другие новые технологии, такие как геномика! Не стесняйтесь выходить на Linkedin, а также подписывайтесь на меня, чтобы не пропустить мои проекты и видео! Кроме того, ознакомьтесь с другими моими статьями и поставьте лайк!