Заголовок: Прогноз погодных условий по изображению

Члены команды: Берк ГЮЛАЙ, Самет КАЛКАН, Мерт СЮРУКЮОГЛУ

Электронная почта соответственно:[email protected], [email protected], [email protected]

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

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

Поскольку мы будем классифицировать изображения, мы должны проанализировать изображения, поэтому мы должны использовать инструменты обработки изображений и методы извлечения признаков вручную. Существует множество дескрипторов изображений и самодельных инструментов/алгоритмов. Но мы исключили некоторые дескрипторы и нашли то, что может быть полезно для нас, чтобы мы могли использовать в нашей задаче, такие как «Дескриптор свиньи», «SIFT», «Обнаружение блоба», «Цветовые гистограммы», «Локальные бинарные шаблоны», «Фильтры Габора», «Гистограмма интенсивности».

Для реализации этих алгоритмов существует множество полезных фреймворков и библиотек. Например, чаще всего используются tensorflow6, caffe7, keras8, libsvm9, scikit-learn10. Пока мы строим сверточную часть, мы будем использовать caffe framework, потому что он работает быстро и прост в использовании. После сверточной части libsvm можно использовать для реализации и тестирования машин опорных векторов. А scikit-learn можно использовать для реализации деревьев решений.

Но когда мы приблизимся к завершению проекта. нам понятнее была архитектура. Но к тому времени у нас появилось больше вопросов, и мы пошли к нашему консультанту, чтобы задать свои вопросы. И мы узнали, что мы можем использовать дымку для туманных и облачных изображений, контраст/яркость для солнечных изображений, цвет (с помощью цветовой гистограммы) для снежных изображений (мы можем извлечь белые пиксели из изображения) и, возможно, для дождливых изображений. Помимо этого, мы обсудили организацию нашего набора данных, чтобы сделать его более полезным. Для этого сначала мы изменим размер изображения, а затем обрежем каждое изображение, используя одинаковую пропорцию для каждого изображения. Таким образом, каждое изображение будет иметь одинаковый размер. Но мы также хотим обрезать изображения, чтобы получить больше площади неба. Чтобы решить эту проблему, нам нужно определить, в какой части изображения находится небо. Мы придумали простой алгоритм с использованием детектора границ.

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

Отчет о ходе проекта:



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