<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Электронный научно-практический журнал «Современные научные исследования и инновации» &#187; GitHub</title>
	<atom:link href="http://web.snauka.ru/issues/tag/github/feed" rel="self" type="application/rss+xml" />
	<link>https://web.snauka.ru</link>
	<description></description>
	<lastBuildDate>Fri, 17 Apr 2026 07:29:22 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Анализ возможностей Google Colab</title>
		<link>https://web.snauka.ru/issues/2020/12/93911</link>
		<comments>https://web.snauka.ru/issues/2020/12/93911#comments</comments>
		<pubDate>Tue, 01 Dec 2020 04:00:21 +0000</pubDate>
		<dc:creator>Волокитина Татьяна Сергеевна</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[FastAI]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[Google Colab]]></category>
		<category><![CDATA[машинное обучение]]></category>
		<category><![CDATA[нейросеть]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2020/12/93911</guid>
		<description><![CDATA[В современном мире, нейросети применяют повсеместно для нахождения логики и предсказывания, в результате анализа данных, поступивших в сеть. Система нейронов представляет собой самообучающуюся систему, действующей в аналогии с деятельностью человеческого мозга. Единицей нейросети является нейрон, прототипом которого послужила одноименная единица головного мозга. На рисунке 1 показана схема нейрона. Рисунок 1 – Схема единицы нейросети Можно [...]]]></description>
			<content:encoded><![CDATA[<p>В современном мире, нейросети применяют повсеместно для нахождения логики и предсказывания, в результате анализа данных, поступивших в сеть. Система нейронов представляет собой самообучающуюся систему, действующей в аналогии с деятельностью человеческого мозга. Единицей нейросети является нейрон, прототипом которого послужила одноименная единица головного мозга. На рисунке 1 показана схема нейрона.</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2020/11/113020_0412_1.png" alt="" /></p>
<p style="text-align: center;">Рисунок 1 – Схема единицы нейросети</p>
<p>Можно заметить, что составляющими единицы нейросети, являются синапсы, обеспечивающие связь входные данные и ядро; в то время как ядра нейрона, которое служит для непосредственного анализа входных сигналов; а также аксона, обеспечивающего связь между ядром и следующим слоем нейросети или выходом.</p>
<p>В данной работе был рассмотрен пример использования Google Сolab для машинного обучения. Для его реализации будем использовать GitHub файл с нейросетью. По аналогии с FastAI создадим нейронную сеть, которая будет классифицировать изображения из нашего собcтвенного датасета.</p>
<p>Сначала необходимо подготовить изображения для классификации, будем классифицировать черных медведей и гризли. Из всех взятых изображений с Google Картинки, необходимо удалить все поврежденные или с плохим качеством изображения. Сделать это можно с помощью цикла:</p>
<p style="background: #fffffe;"><span style="color: #af00db;">for</span> c <span style="color: blue;">in</span> classes:</p>
<p style="background: #fffffe;">    <span style="color: #795e26;">print</span>(c)</p>
<p style="background: #fffffe;">    verify_images(path/c, delete=<span style="color: blue;">True</span>, max_size=<span style="color: #09885a;">500</span>)</p>
<p>Составим датасет, а именно набор данных с которым мы будем работать.</p>
<p>Датасет представляет собой набор изображений для классификации черных медведей (black) и гризли(grizzly), которые будут входными сигналами (рисунок 2).</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2020/11/113020_0412_2.png" alt="" /></p>
<p style="text-align: center;">Рисунок 2 – Датасет классификации</p>
<p>После удачного создания датасета, необходимо начать тренировку нейронной сети. Для этого будем использовать следующую функцию:</p>
<p style="background: #fffffe;">learn = create_cnn(data, models.resnet34, metrics=error_rate)</p>
<p>Получим таблицу с данными по тренировке нейросети (рисунок 3):</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2020/11/113020_0412_3.png" alt="" /></p>
<p style="text-align: center;">Рисунок 3 – Тренировка</p>
<p>После удачной тренировки посмотрим интерпретацию полученных результатов (рисунок 4).</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2020/11/113020_0412_4.png" alt="" /></p>
<p style="text-align: center;">Рисунок 4 – Интерпретация классификации</p>
<p>Как видно на рисунке,было правильно распознано 41 изображение черных медведей и 31 картинка с гризли, а так же выявлено несколько ошибок, которые мы рассмотрим внимательнее (рисунок 5).</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2020/11/113020_0412_5.png" alt="" /></p>
<p style="text-align: center;">Рисунок 5 – Ошибочные изображения</p>
<p>Из графика видно, что фотографии не могут быть интерпретированы точно, что влияет на получение результата.</p>
<p>Проведем тестирование обученной нейросети. Возьмем изображение гризли и проверим точность классификации (рисунок 6):</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2020/11/113020_0412_6.jpg" alt="" /></p>
<p style="text-align: center;">Рисунок 6 – Изображение для теста</p>
<p>Получаем вывод от нейросети:</p>
<p><span style="color: #212121; background-color: white;">Category grizzly</span>, а значит классификация произошла верно.</p>
<p>В результате выполненной работы были описаны возможности Google Colab для изучения технологий машинного обучения и нейронных сетей и приведен пример классификации изображений, взятых из Google Картинки.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2020/12/93911/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Анализ возможностей Google Colab</title>
		<link>https://web.snauka.ru/issues/2021/02/94760</link>
		<comments>https://web.snauka.ru/issues/2021/02/94760#comments</comments>
		<pubDate>Sun, 28 Feb 2021 10:20:22 +0000</pubDate>
		<dc:creator>Волокитина Татьяна Сергеевна</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[FastAI]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[Google Colab]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[neural network]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2021/02/94760</guid>
		<description><![CDATA[Извините, данная статья доступна только на языке: English.]]></description>
			<content:encoded><![CDATA[<p>Извините, данная статья доступна только на языке: <a href="https://web.snauka.ru/en/issues/tag/github/feed">English</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2021/02/94760/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Методы распознавания динамических объектов с использованием искусственного интеллекта</title>
		<link>https://web.snauka.ru/issues/2021/04/95114</link>
		<comments>https://web.snauka.ru/issues/2021/04/95114#comments</comments>
		<pubDate>Wed, 14 Apr 2021 09:32:12 +0000</pubDate>
		<dc:creator>Волокитина Татьяна Сергеевна</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[alwaysAI]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[машинное обучение]]></category>
		<category><![CDATA[нейросеть]]></category>
		<category><![CDATA[распознавание динамических объектов]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2021/04/95114</guid>
		<description><![CDATA[В современном мире, нейросети применяют повсеместно для нахождения логики и предсказывания, в результате анализа данных, поступивших в сеть. На протяжении многих лет, поднимался вопрос о распознавании объектов, а именно о методах классификации объекта в определенно взятый класс. С целью обеспечения безопасности, интерес человечества к технологиям обработки видеоизображения в режиме реального времени растет. Что и можно [...]]]></description>
			<content:encoded><![CDATA[<p>В современном мире, нейросети применяют повсеместно для нахождения логики и предсказывания, в результате анализа данных, поступивших в сеть. На протяжении многих лет, поднимался вопрос о распознавании объектов, а именно о методах классификации объекта в определенно взятый класс. С целью обеспечения безопасности, интерес человечества к технологиям обработки видеоизображения в режиме реального времени растет. Что и можно считать определенным толчком к практическоиму применению данных методов с целью обеспечения безопасности.</p>
<p>В данный момент, наиболее распространенными являются следующие методы:</p>
<ul>
<li>
<div style="text-align: justify;"><span style="color: black;">метод, основанный на классификации по сходству с эталонами, называемый корреляционным;<br />
</span></div>
</li>
<li>
<div style="text-align: justify;"><span style="color: black;">методы детерминированного и статистического подхода, которые называются признаковыми или синтаксическими.<br />
</span></div>
</li>
</ul>
<p>Рассмотрим каждый метод подробнее. Корреляционный метод работает по следующему алгоритму: входное пространство зрения сканируется полным перебором. Достоинством данного метода является помехоустойчивость. А главным недостатком можно считать сложность в реализации. Применяется данный метод в современных системах слежения и навигации.</p>
<p>Синтаксический и признаковый метод работает на основе выбранных признаков, притом признаки одного класса не должны существенно различаться, в то время как необходимо, чтобы признаки разных классов различались радикально. Главным преимуществом является простота в разработке. А главным недостатком можно назвать сложность обработки признаков для классификации объектов.</p>
<p>Главной задачей распознавания динамического объекта, который движется по произвольной траектории, является прогнозирование параметров траектории и восстановление изображения. При реализации методов классификации образов принято рассматривать физическую модель восприятия изображений. Нужно учитывать, что при наблюдении двух объектов с угловым расстоянием α, которое меньше одной угловой минуты, имеет тенденцию сливаться в один объект. Это нам позволит определить оптимальный размер объекта для успешной классификации.</p>
<p>Например, используя метод ключевых точек, мы получим формулу:</p>
<p><img class="aligncenter size-full wp-image-95125" title="form1" src="https://web.snauka.ru/wp-content/uploads/2021/04/form11.png" alt="" width="128" height="27" /></p>
<p>где minl – минимальное расстояние между самыми ближайшими точками;</p>
<p>L – расстояние до объекта;</p>
<p>tgα – тангенс углового расстояния.</p>
<p>В данной формуле tgα будет рассчитываться следующим образом:</p>
<p style="text-align: center;"><strong><em><img class="aligncenter size-full wp-image-95126" title="form2" src="https://web.snauka.ru/wp-content/uploads/2021/04/form21.png" alt="" width="224" height="29" /></em></strong></p>
<p>В данной работе был рассмотрен пример использования alwaysAI для машинного обучения. Для его реализации будем использовать GitHub файл с нейросетью для классификации динамичных объектов для автономного вождения. Сначала необходимо подготовить видеозапись для классификации, будем классифицировать движущиеся и статические объекты на улице. Однако в этом случае нам нужна гораздо более подробные сведения о точном местонахождении пешеходов и велосипедистов при обнаружении объектов, поэтому мы будем использовать метод семантической сегментацией, в которой классификация выполняется попиксельно, а не с помощью рамок.</p>
<p>Удаление пешеходов и велосипедистов из видео</p>
<p>В этой работе будет использоваться модель компьютерного зрения enet для сегментации пешеходов и велосипедистов в каждом кадре видео, а затем классифицировать и выводить результаты для дальнейших действий в зависимости от местоположения пешеходов и велосипедистов. Чтобы упростить работу, мы использовать детекторы для редактирования выходного видео, удаляя пешеходов и велосипедистов из видео.</p>
<p>Сначала необходимо выбрать видео и поместить его в каталог приложения. Сделать это можно с помощью данного фрагмента кода:</p>
<p><img class="alignnone size-full wp-image-95127" title="ris1" src="https://web.snauka.ru/wp-content/uploads/2021/04/ris11.png" alt="" width="596" height="410" /></p>
<p>Листинг 1 – фрагмент кода программы</p>
<p>Затем мы можем запустить приложение из GitHub, чтобы проанализировать, насколько хорошо оно классифицирует пешеходов и велосипедистов. После запуска приложения и запуска видео получим следующее (рисунок 1):</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2021/04/041421_0910_2.png" alt="" /></p>
<p style="text-align: center;">Рисунок 1 – Пример работы</p>
<p>Как можно заметить, модель enet успешно обнаруживает некоторую часть людей, но, все еще неправильно определяет оставшуюся часть людей и классифицирует велосипеды как мотоциклы, поэтому нам нужно будет предпринять дополнительные шаги, чтобы исправить эту проблему.</p>
<p>Рассмотрим лейблы для модели, нас интересуют ярлыки «Человек», «Водитель» и «Велосипед». Ниже замаскируем только пешеходов и велосипедистов.</p>
<p>def main ():</p>
<p>&#8230;</p>
<p>label_to_mask = ['Person', 'Rider', 'Bicycle']</p>
<p>print (&#8220;Labels to mask:n{}n&#8221;.format(labels_to_mask))</p>
<p>Листинг 2 – Маскировка классов</p>
<p>Видим, что классификация проходит успешнее (рисунок 2).</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2021/04/041421_0910_4.png" alt="" /></p>
<p style="text-align: center;">Рисунок 2 – Пример классификации после маскировки</p>
<p>Чтобы более четко видеть изображение и маску, мы можем разделить их, чтобы мы могли видеть их отдельно вместо того, чтобы видеть маску, наложенную на изображение видеоряда. Для этого мы просто объединим кадр и маску и отправим объединенные изображения как одно изображение в Streamer. Выглядеть это будет следующим образом:</p>
<p style="background: white;"><span style="color: #212529;">mask = semantic_segmentation.build_image_mask(filtered_class_map)<br />
combined = np.concatenate((frame, mask), axis=0)</span></p>
<p>      streamer.send_data(combined, text)</p>
<p>Листинг 3 – Объединение видеоряда и меток</p>
<p>Выглядеть это будет следующим образом (рисунок 3):</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2021/04/041421_0910_6.png" alt="" /></p>
<p style="text-align: center;">Рисунок 3 – Объединение меток и изображения</p>
<p>Так как происходит пакетная обработка видео, на самом деле нет необходимости отображать все на экране. Мы можем обработать каждый кадр отдельно и выводить новый видеофайл на Streamer. Для сохранения видеоклипа воспользуемся классом VideoWriter. Также есть необходимость в создании флага, чтобы мы могли легко включать и отключать процесс обработки.</p>
<p><img class="alignnone size-full wp-image-95128" title="ris1" src="https://web.snauka.ru/wp-content/uploads/2021/04/ris12.png" alt="" width="689" height="821" /></p>
<p>Листинг 4 – обработка видеоряда и создание флага</p>
<p>В результате выполненной работы были описаны возможности alwaysAI для изучения технологий машинного обучения и нейронных сетей и приведен пример классификации видеоряда на основе простой сегментации изображения, маскирования определенных классов и выполнения действий на основе этих масок.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2021/04/95114/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
