Программа классификации объектов на спутниковых снимках с помощью глубокого обучения
Изучение алгоритмов машинного обучения, направленных на выявление закономерностей в графических данных. Применение сверточных нейронных сетей при работе со спутниковыми изображениями. Создание интерактивной карты для визуализации распознанных объектов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 02.09.2018 |
Размер файла | 4,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://allbest.ru
22
ПРАВИТЕЛЬСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования
Национальный исследовательский университет
«Высшая школа экономики»
Факультет компьютерных наук
Департамент программной инженерии
Выпускная квалификационная работа
на тему «Программа классификации объектов на спутниковых снимках с помощью глубокого обучения»
по направлению подготовки 09.03.04 «Программная инженерия»
Выполнил студент 4 курса
Н.Д. Мелентьев
Научный руководитель
Доцент, Родригес Залепинос Рамон Антонио
Москва 2018
Терминология
Глубокое обучение - часть более широкой семьи алгоритмов машинного обучения, направленного на выявление закономерностей в данных. Бывает как обучение с учителем, так и обучение без учителя. В данной работе под глубоким обучением мы будем понимать глубокое обучение с учителем, где в качестве учителя будут выступать спутниковые снимки с разметками объектов для нахождения.
Сверточные нейронные сети - специальные нейронные сети, применяемые при работе с изображениями. Особенностью сверточных нейронных сетей является их неполносвязаность, что позволяет попиксельно обрабатывать изображения, при этом, не требуя серьезных компьютерных мощностей.
Распознавание объектов на изображении - задача машинного обучения, когда на интересующем нас изображении мы хотим найти какую-либо информацию. В данной работе мы будем искать информацию на спутниковых снимках, например, расположение и количество домов или машин.
Содержание
Введение
Глава 1. Обзор предметной области и существующих решений
1.1 Обзор предметной области
1.1.1 Машинное обучение
1.1.2 Распознавание объектов на изображении
1.1.3 Анализ спутниковых снимков
1.2 Анализ существующих решений
1.2.1 Анализ конкурентов - аутсорсинговых компаний
1.2.2 Анализ ядра программы - нейронной сети, u-net
1.2.3 Обоснование необходимости разработки собственного приложения
1.3 Постановка задачи на разработку
Выводы по 1 главе
Глава 2. Описание методов, моделей, алгоритмов решения задач
2.1 Ядро решения, нейронные сети
2.1.1 Особенности U-net
2.1.2 Предобработка данных
2.1.3 Обучение моделей
2.1.4 Пример использования нейронных сетей для решения комбинированной задачи пользователя
Выводы по 1 главе
Глава 3. Выбор средств реализации программного продукта, проект/прототип.17
3.1 Функциональные требования
3.2 Средства реализации
3.3 Набор рисунков
Выводы по 3 главе
Введение
В рамках выпускной квалификационной работы мной разрабатывается веб-приложение для классификации объектов на спутниковых снимках при помощи глубокого обучения. Существует большое количество вариаций нейронных сетей, способных с высокой точностью определять объекты на спутниковых снимках. Поэтому практической ценностью данной работы является создание удобного в использовании сервиса, доступного для любого аналитика, который, не требуя широкого познания в машинном обучении, предоставит полный функционал и возможности готовых, пред-обученных нейронных сетей.
Цель работы - создание веб-сервиса классификации объектов на спутниковых снимках.
Задачи работы:
1. Сбор данных для обучения нейронных сетей с публичных сервисов: OpenStreetMap как учитель в виде полигонов объектов, Sentinel как слои для входа в нейронную сеть;
2. Построить модель, способную распознавать объекты (дома, дороги, реки и т.д.) на изображениях;
3. Создать интерфейс (интерактивную карту) для визуализации полученных результатов;
4. Заложить возможность сохранять классифицированные объекты в виде полигонов (.wkt), изображений (.png).
В работе содержатся три главы. В первой раскрывается предметная область, рассматриваются различные аналоги, и обоснование необходимости создания программного продута. Во второй главе описываются методы и модели решения поставленной задачи. В третьей части рассказывается про технические средства, использованные при разработке данной программы.
Глава 1. Обзор предметной области и существующих решений
В данной главе приводится более подробный обзор предметной области, после этого проводится анализ существующих решений и обосновывается необходимость разработки собственного приложения. В конце главы приводится постановка задачи на разработку.
1.1 Обзор предметной области
Основная предметная область моей выпускной квалификационной работы -- это машинное обучение, в частности, распознавание объектов на спутниковых снимках.
1.1.1 Машинное обучение
Машинное обучение - обширный подраздел искусственного интеллекта, изучающий методы построения алгоритмов, способных обучаться. В рамках данной работы ставится задача - обучить алгоритмы находить интересующие нас объекты на спутниковых изображениях. Такая задача актуальна для многих отраслей: биология, география, частное предпринимательство и военное дело.
1.1.2 Распознавание объектов на изображении
Задачи данного подраздела машинного обучения заключаются в том, чтобы найти на изображениях интересующие нас признаки: от распознавания эмоций на человеческом лице до построения маршрута для автономного такси. Такие задачи являются хорошим примером полезных свойств машинного обучения при применении на практике. Несмотря на то, что в прикладных задачах, связанных с высоким риском (пример с такси), ИИ нужно серьёзно тестировать перед внедрением, многие другие отрасли уже сейчас повышают свою эффективность за счет использования алгоритмов машинного обучения.
1.1 3Анализ спутниковых снимков
Отраслью, в которой машинное обучение может существенно упростить людям ручной труд, является анализ спутниковых снимков. Как пример можно привести опыт зарубежной компании NOAA Fisheries, которая занимается подсчетом вымирающих видов животных в северных регионах. Один из проектов NOAA Fisheries был контроль популяции морских львов на Алеутских островах: для обработки 1000 фотографий со спутников, на каждой из которых требовалось найти количество самцов, самок и детенышей морских львов, аналитики тратили около 6 месяцев. Компания провела соревнование на известном ресурсе для специалистов по машинному обучению Kaggle, и, потратив небольшие ресурсы на призовые деньги, получила на выходе готовое продуктовое решение в виде нейронной сети, способной с точностью более 90% (лучше, чем аналитики NOAA Fisheries) за несколько часов работы выполнять полугодовой объем обработки фотографий (рисунок 1).
Рисунок 1.
1.2 Анализ существующих решений
После приведенного в пункте 1.1.3 примера может возникнуть закономерный вопрос - почему все повсеместно не внедряют похожие алгоритмы, ведь это значительно повышает эффективность бизнеса. Существует определенный порог для компаний, когда они готовы к внедрению машинного обучения. Он возникает из-за двух причин: нехватка данных и нехватка денег для специалистов по машинному обучению. Поэтому аутсорсинговые компании и готовые продуктовые решения (black-box) сейчас как никогда ценны и востребованы. Так как в свободном доступе не были найдены готовые решения для анализа спутниковых изображений, в качестве конкурентов для данный работы мы будем рассматривать аутсорсинговые компании.
1.2.1 Анализ конкурентов - аутсорсинговых компаний
К плюсам заказа решения у сторонней компании можно отнести - компетентность специалистов, высокое качество решения, поддержка решения и обратную связь.
Однако у данного подхода есть свои минусы, и для небольших компаний они могут значительно перевешивать плюсы.
· Одна проблема - одно решение.
Каждый проект уникален, под новую проблему придется заказывать новый продукт или доработку к старому.
· Деньги.
Заказ у аутсорсинговых компаний может дорого стоить, в зависимости от перечня работ, который нужно выполнить. Так как анализ спутниковых изображений - не стандартная регрессия, и компаний, имеющих в данной области компетенцию, не так много, чек будет большим.
· Время.
Любой проект требует согласования множества этапов, от разработки ТЗ до внедрения в производство. Это может занимать большое количество времени, которое компания могла бы потратить на решение более важных задач. алгоритм нейронный спутниковый изображение
1.2.2 Анализ ядра программы - нейронной сети, u-net
Учитывая минусы конкурентов из пункта 1.2.1, нам необходимо выбрать соответствующее ядро нашего веб-приложения, на основе чего мы потенциально сможем привлечь наших первых клиентов. Нейронная сеть должна быть быстрой, легко обучаться и иметь достаточно высокий процент правильных ответов при низкой нагрузке на процессоры и видеокарты - для масштабируемости приложения.
При анализе существующих решений была выбрана сеть под названием U-net, которая изначально была создана для анализа биологических изображений, но в дальнейшем хорошо показала себя и для сегментации изображений на спутниковых снимках. В ее особенности входит обучение на маленькой выборке (около 30 изображений достаточно для достижений хороших результатов), быстрая скорость работы, относительно простая архитектура, которая открыта к улучшению при добавлении новых слоев, что приводит к небольшим затратам по железу.
1.2 3 Обоснование необходимости разработки собственного приложения
Как мы могли убедится в пункте 1.2.1, заказывать разработку готовых решений у аутсорсинговых компаний не всегда выгодно для небольших и гибких компаний. Поэтому мы разработаем веб-приложение, ключевыми элементами которого будет - скорость работы, вариативность результата и бесплатный доступ.
1.3 Постановка задачи на разработку
В рамках выпускной квалификационной работы необходимо разработать:
· Нейронную сеть для распознавания объектов на спутниковых снимках. Нейросеть (или группа сетей) должна предсказывать как минимум 3 класса объектов: дома, дороги и реки.
· Веб-приложение, в функционал которого войдет:
1. Загрузка спутниковых снимков пользователем;
2. Настройки для пользователя - выбор объектов, необходимых для распознавания на спутниковых снимках;
3. Обработка данных пользователя для корректной работы нейронной сети;
4. Запуск необходимых нейронных сетей;
5. Вывод результата обработки пользователю;
6. Интерактивная карта с sentinel слоем (выбранной области), на котором будут предсказаны указанные классы объектов. Аналитик должен иметь возможность выбрать регион и скачать полигоны и / или изображения распознанных объектов.
Выводы по 1 главе
В этой главе подробно раскрывается предметная область, рассказывается о существующих решениях, проводится анализ аналогов и обосновывается разработка собственного программного решения. В конце главы приводится постановка задачи на разработку.
Глава 2. Описание методов, моделей, алгоритмов решения задач.
В данной главе описываются методы решения поставленных задач.
2.1 Ядро решения, нейронные сети
2.1.1 Особенности U-net
На основании пункта 1.2.2. данной работы мы выбрали тип нейронной сети U-net
Рисунок 2
Следует учесть ее особенности при построении сервиса:
· Первая особенность заключается в том, что на вход нейронная сеть получает исходное изображение в 3-х спектрах (rgb), поэтому при добавлении новых спектров необходимо расширить нейронную сеть;
· Так же нужно учитывать вторую особенность нейронной сети, а именно - исходное изображение по частям делится на квадраты площадью равной половине площади исходного изображения. Это значит, что если в сети три слоя разделения изображения, разрешение исходного изображения должно три раза делится на цело на 2.
Так как мы не хотим накладывать дополнительные ограничения на пользователя на нашего сервера, связанные с особенностями нашей нейронной сети, нам необходимо добавить модули предобработки данных, в которых мы будем проверять исходное изображение на правильное разрешение, и, если разрешение не подходит, делить изображение на куски и прогонять через нейронную сеть отдельно, дополняя эти куски пустотами по необходимости.
Из-за перечисленных выше особенностей, в наш сервис должен быть добавлен модуль предобработки данных.
2.1 2Предобработка данных
На основе пункта 2.1.1. мы можем выделить два пункта предобработки данных перед запуском нейронных сетей:
· Расширение модели;
· Разбиение изображения на куски (если необходимо), которые могут 2 или более раз быть разделены надвое.
2.1 3Обучение моделей
Так как мы хотим сделать сервис как можно более широким для пользователей, но сохранить простоту ядра нашего решения, мы будем обучать отдельную нейронную сеть под каждую возникшую задачу.
Допустим, пользователь хочет найти на спутниковых снимках дома и машины.
Тогда у нас должны быть две пред-обученные нейронные сети, одна из которых отыщет на снимке дома, другая машины, и совместив два предсказания, мы получим результат для нашего пользователя.
Такой подход может быть затратнее по ресурсам для нашего сервиса, однако, при расширении решаемых задач до 20-30, повысится сложность поиска данных для обучения модели, ведь нам понадобится тренировочный датасет с выделенными 20-30 классами. Поэтому данных подход оптимален и широко используется.
2.1.4 Пример использования нейронных сетей для решения комбинированной задачи пользователя
Рассмотрим по шагам пример из 2.1.3, когда пользователь хочет найти на спутниковом снимке (рисунок 3) дома и машины.
Рисунок 3
Первое действие, которое нам нужно сделать, это пред-обработать данные. Так как наше изображение только в сером спектре, нам остается только разделить его на удобные кусочки, которые будут предсказываться нашей нейронной сетью. Пример такого кусочка на рисунке 4.
Рисунок 4
Далее мы запускаем нейронную сеть для поиска домов, получаем предсказание на рисунке 5.
Рисунок 5
Затем добавляем предсказание машин, рисунок 6.
Рисунок 6
Собираем кусочки в финальное предсказание объектов на спутниковом снимке (рисунок 7).
Рисунок 7
Выводы по 2 главе
Во второй главе моей работы были подробно описаны некоторые из задач, которые мне удалось решить при разработке программного продукта. Показан пример работы нейронной сети для решения задачи пользователя.
Глава 3. Выбор средств реализации программного продукта, проект/прототип.
В данной главе описываются технологии разработки программного продукта. Вначале описываются функциональные требования к программному продукту. Затем следует описание выбранных средств реализации и обоснование их выбора. Далее следует описание особенностей реализации программы.В конце следует набор рисунков, показывающий работоспособность реализованного программного продукта.
3.1 Функциональные требования
1. Возможность выборка спутниковых снимков для загрузки;
2. Возможность выбора объектов для предсказания;
3. Возможность загружать спутниковые снимки на сервер в разных форматах;
4. Возможность запустить нейронные сети для предсказания объектов;
5. Возможность увидеть и сохранить результат работы нейронных сетей;
6. Возможность посмотреть карту с предсказанными на слое sentinel полигонами дорог, рек и домов;
7. Возможность сохранить интересующую область интерактивной карты в формате .wkt.
3.2 Средства реализации
Для решения поставленных задач мной были выбраны следующие программные средства:
1. Веб-север: python + Django + leaflet;
2. Нейронные сети: python + keras (tensorflow);
3. Git, Sentinel API, OpenStreetMap API, Qgis.
Язык программирования Python был выбран как самый используемый мной язык. Так же он является незаменимым инструментов при построении нейронных сетей.
Плюсом является набор средств для разработки веб-приложений Django, который позволяет быстро поднимать свои сервера и создавать html-страницы с model-view-controller логикой.
Для разработки нейронных сетей использовалась библиотека Keras, на основе tensorflow, как самая продвинутая на данный момент реализация слоев нейронных сетей, из которых можно собирать необходимые архитектуры. Tensorflow так же позволяет распараллеливать обучение и предсказание нейронной сети, что сильно повышает производительность при использовании нескольких видеокарт.
3.3 Набор рисунков
Окно загрузки спутниковых снимков пользователем - рисунки 8 и 9. Далее модуль предобработки данных порежет на кусочки входное изображение, нейронные сети предскажут необходимые объекты по каждому кусочку.
Рисунок 8
Рисунок 9
Окно результата работы нейронной сети - рисунки 10. Кусочки собрались в единый результат с предсказаниями машин на спутниковом снимке.
Автоматически подсчитывается статистика найденных объектов, скорость работы нейронных сетей. Есть возможность скачать результат в удобном формате (рисунок 11).
Рисунок 10
Рисунок 11
Второй модуль программы - карта со слоем sentinel (Рисунок 12). На карте представлены подгруженные данные о Москве с sentinel api hub. Фотография местности разделена на кусочки, каждый из которых можно приближать в более высоком качестве.
Рисунок 12
Пример приближенной карты с предсказанием классов домов (зеленый цвет) и рек (синий цвет) (Рисунок 13). Пользователь может нажать на интересующую его область карты и будет произведено скачивание этой местности в формате .wk и .png
Рисунок 13
Выводы по 3 главе
В третьей главе были приведены инструменты и методы, использованные при разработке приложения. Далее приведены некоторые технические решения, принятые в рамках решения поставленных задач и обоснование их использования. В конце главы приведены снимки экрана, показывающие работоспособность и функциональность разработанного программного продукта.
Список использованных источников
1. Open Data Science. Kaggle: British satellite imagery. How we took the third place (Translated from Russian). [Электронный ресурс]. https://habrahabr.ru/company/ods/blog/325096/ [Feb, 11, 2018]
2. GisGeograpy. How to download free sentinel satellite data. [Электронный ресурс]. http://gisgeography.com/how-to-download-sentinel-satellite-data/ [Feb, 11, 2018]
3. Olaf Ronneberger, Philipp Fischer, Thomas Brox. U-net: CNN for Biomedical image segmentation. [Электронный ресурс]. https://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/ [Feb, 11, 2018]
4. Github. Implementation of deep learning framework - Unet, using Keras. [Электронный ресурс]. https://github.com/zhixuhao/unet [Feb, 11, 2018]
5. Avito. Competition Dstl Satellite imagery feature detection (Translated from Russian). [Электронный ресурс]. https://habrahabr.ru/company/avito/blog/325632/ [Feb, 11, 2018]
Аннотация
Программа представляет собой веб-сервис, целью которого является помощь малому и среднему бизнесу, который сталкивается с задачами предобработки и анализа спутниковых снимков. В его функционал будет входить предсказание объектов как на датасете пользователя, так и на публично доступных данных sentinel 2. Для доступа к предсказаниям по второму типу данных будет реализована интерактивная карта leaflet с изображениями предсказанных объектов.
Ценностью данного решения является простота использования. Сейчас не существует похожих инструментов, и компаниям приходится использовать ручной труд аналитиков или нанимать дорогих специалистов по машинному обучению, чтобы получить пользу от имеющихся данных.
Мы будем использовать сверточные нейронные сети, обученные на нескольких датасетах, чтобы находить дома, машины, дороги и реки на спутниковых снимках. В качестве обучающей выборки мы возьмем sentinel снимки, а в качестве учителя - полигоны объектов, загруженные с openstreetmap.
Ключевые слова - машинное обучение, глубокое обучение, сверточные нейронные сети, спутниковые изображения, классификация изображений.
Abstract
Program will be a web-service which goal is to help small and medium companies who face problems of preprocessing and analyzing satellite images. It will be capable of predicting objects on user's datasets as well as on publicly available sentinel 2 photos. Interactive map will be developed to access sentinel 2 objects predictions.
Value of our solution is its ease of use. There are no similar services right now and companies have to use manual labor or hire a high-cost machine learning specialist to get value from satellite data.
We will use convolutional neural networks, trained on various datasets to predict hoses, cars, roads and lakes on satellite images. As an input we will use sentinel satellite photos and as a teacher we will use polygons downloaded from openstreetmap.
Keywords--machine learning, deep learning, convolutional neural networks, satellite images, geo data, classification problem.
Размещено на Allbest.ru...
Подобные документы
Диагностический анализ изучения алгоритмов обучения нейронных сетей "с учителем". Сбор входных и выходных переменных для наблюдений и понятие пре/пост процессирования. Подготовка и обобщение многослойного персептрона, модель обратного распространения.
курсовая работа [249,3 K], добавлен 22.06.2011Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.
дипломная работа [1,8 M], добавлен 08.02.2017Анализ применения нейронных сетей для прогнозирования ситуации и принятия решений на фондовом рынке с помощью программного пакета моделирования нейронных сетей Trajan 3.0. Преобразование первичных данных, таблиц. Эргономическая оценка программы.
дипломная работа [3,8 M], добавлен 27.06.2011Изучение принципа работы интернет-аукциона (на примере сайта molotok.ru). Способ получения информации с веб-ресурсов. Разработка программного обеспечения с целью создания исходных данных для обучения нейронных сетей и классификации товаров с их помощью.
дипломная работа [2,0 M], добавлен 29.06.2012Программное обеспечение для получения исходных данных для обучения нейронных сетей и классификации товаров с их помощью. Алгоритм метода обратного распространения ошибки. Методика классификации товаров: составление алгоритма, программная реализация.
дипломная работа [2,2 M], добавлен 07.06.2012Создание системы предобработки данных; разработка системы классификации на базе методов и алгоритмов машинного обучения, их реализация в программной системе. Предобработка информации, инструкция пользователя, система классификации, машинный эксперимент.
дипломная работа [917,1 K], добавлен 31.01.2015Анализ проблем, возникающих при применении методов и алгоритмов кластеризации. Основные алгоритмы разбиения на кластеры. Программа RapidMiner как среда для машинного обучения и анализа данных. Оценка качества кластеризации с помощью методов Data Mining.
курсовая работа [3,9 M], добавлен 22.10.2012Первое систематическое изучение искусственных нейронных сетей. Описание элементарного перцептрона. Программная реализация модели распознавания графических образов на основе перцептрона. Интерфейс программы, основные окна. Составление алгоритма приложения.
реферат [100,5 K], добавлен 18.01.2014Различные методы решения задачи классификации. Нейросетевые парадигмы, методы обучения нейронных сетей, возникающие при этом проблемы и пути их решения. Описание программной реализации классификатора, его функциональные возможности и результаты обучения.
дипломная работа [1,0 M], добавлен 28.12.2015Понятие искусственного нейрона и искусственных нейронных сетей. Сущность процесса обучения нейронной сети и аппроксимации функции. Смысл алгоритма обучения с учителем. Построение и обучение нейронной сети для аппроксимации функции в среде Matlab.
лабораторная работа [1,1 M], добавлен 05.10.2010Разработка структур данных. Иерархия объектов в пространстве. Пользовательские типы данных, преимущества, недостатки подхода. Разработка графических алгоритмов: управление обзором сцены, отрисовка модели, эффект тумана и снегопада, динамическое освещение.
курсовая работа [194,7 K], добавлен 15.05.2014Популярность алгоритмов машинного обучения для компьютерных игр. Основные техники обучения с подкреплением в динамической среде (компьютерная игра "Snake") с экспериментальным сравнением алгоритмов. Обучение с подкреплением как тип обучения без учителя.
курсовая работа [1020,6 K], добавлен 30.11.2016Изучение реляционной модели данных. Выявление потребности задач в данных и определение состава и структуры информационных объектов. Построение концептуальной модели предметной области. Создание форм, запросов и отчетов с помощью конструктора запросов.
курсовая работа [6,3 M], добавлен 09.10.2021Рост активности в области теории и технической реализации искусственных нейронных сетей. Основные архитектуры нейронных сетей, их общие и функциональные свойства и наиболее распространенные алгоритмы обучения. Решение проблемы мертвых нейронов.
реферат [347,6 K], добавлен 17.12.2011Получение и обработка данных о веб-сайте. Иерархическая классификация, алгоритмы машинного обучения. Решающие деревья, плоские классификаторы. Метрики оценки качества. Полная точность (accuracy), кросс-валидация. Параллельные вычисления, хранение данных.
курсовая работа [276,8 K], добавлен 04.09.2016Этапы создания презентации: знакомство с программой, добавление графиков и диаграмм, рисование и вставка графических и анимационных объектов. Добавление графических клипов из Clip Gallery. Создание и запуск слайд-фильма. Настройка программы Power Point.
контрольная работа [27,2 K], добавлен 07.12.2010Создание простейших рисунков, закраска объектов в CorelDraw. Работа с текстом в графических объектах в программе CorelDRAW. Использование кривых линий и ломаных. Упорядочивание, выравнивание и группировка объектов. Использование графических эффектов.
практическая работа [1,5 M], добавлен 19.04.2012Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014Понятие сетей Петри, их применение и возможности. Сетевое планирование, математические модели с использованием сетей Петри. Применение сетевых моделей для описания параллельных процессов. Моделирование процесса обучения с помощью вложенных сетей Петри.
курсовая работа [1,0 M], добавлен 17.11.2009Разработка факультативного курса по редактированию графических объектов в программе GIMP. Основные понятия растровой графики, интерфейс программы, окна, диалоги и панели. Добавление отсутствующих элементов, Создание из фотографии "карандашного рисунка".
дипломная работа [5,5 M], добавлен 17.12.2012