Introduction
00:00:00В CS231n наблюдается экспоненциальный рост числа учащихся: с 150 студентов в первом классе до примерно 730 в этом году. Преподаватель выражает удовлетворение по поводу занятий и благодарит тех, кто не смог посетить лекцию, заверяя, что вскоре после этого видео будут доступны онлайн.
Computer Vision
00:00:50Компьютерное зрение фокусируется на анализе визуальных данных, который стремительно растет из-за распространения датчиков, таких как камеры смартфонов. Поскольку камер во всем мире больше, чем людей, ежедневно создается огромный объем визуального контента. В исследовании CISCO, проведенном в 2015 году, прогнозировалось, что к 2017 году видео будет составлять около 80% интернет—трафика, что подчеркивает необходимость разработки эффективных алгоритмов для обработки этих данных. Однако понимание визуальной информации остается сложной задачей; в физике ее часто сравнивают с темной материей — вездесущей, но неуловимой, и алгоритмам трудно точно интерпретировать ее.
Interdisciplinary Fields
00:03:37Компьютерное зрение - это междисциплинарная область, объединяющая различные области, такие как физика, биология, психология, информатика, математика и инженерное дело. Понимание оптики и формирования изображений на основе физики имеет решающее значение для понимания того, как создаются изображения. Знания биологии и психологии помогают понять, как мозг животных обрабатывает визуальную информацию. Стэнфордская лаборатория визуализации фокусируется на машинном обучении в этом контексте; преподаватели имеют разный опыт работы, включая проекты в области языкового зрения и нейробиологии.
Course Related Courses
00:04:52Понимание взаимосвязи между курсами важно для понимания сути CS231n. Этот курс предполагает базовые знания в области компьютерного зрения, которые в идеале можно получить на курсах CS131 или аналогичных курсах по глубокому обучению и обработке естественного языка. Несмотря на то, что курсы CS231a частично совпадают с другими курсами, такими как CS231a, которые охватывают более широкие темы в области компьютерного зрения, такие как 3D-реконструкция и роботизированное зрение, CS231n специально посвящен нейронным сетям и сверточным нейронным сетям, применяемым для задач визуального распознавания. Важность понимания истории компьютерного зрения будет подчеркнута с помощью предварительно записанных идей профессора Фей-Фей Ли.
Course Topics
00:07:17Компьютерное зрение значительно эволюционировало с момента своего появления, начиная с первых попыток дать машинам возможность интерпретировать визуальные данные. Первоначальные исследования были сосредоточены на базовых технологиях обработки изображений и распознавании образов. С годами развитие алгоритмов и вычислительных мощностей привело к появлению более сложных методов, таких как глубокое обучение, которые произвели революцию в этой области, позволив извлекать сложные функции из изображений. Эта эволюция свидетельствует о переходе от простого анализа к пониманию контекста визуальной информации.
History of Vision
00:07:34Эволюционный скачок: от зрения к выживанию Зрение появилось около 540 миллионов лет назад, когда у первых животных появились глаза, что привело к резкому увеличению числа видов в результате феномена, известного как Большой взрыв эволюции. Эта новообретенная способность видеть положила начало эволюционной гонке вооружений между хищниками и добычей, что привело к быстрой адаптации для выживания. Зрение стало иметь решающее значение для разумных форм жизни, таких как люди, поскольку почти половина нейронов нашего мозга отвечает за обработку визуальных данных.
От камеры-обскуры к компьютерному зрению Механическое зрение появилось в эпоху Возрождения благодаря таким изобретениям, как камера-обскура, параллельно с биологическими механизмами зрения. Изучение процессов обработки зрительной информации значительно продвинулось вперед благодаря исследованиям мозга кошек, проведенным Хьюбелом и Визелем в середине 20-го века; они обнаружили, что простые клетки реагируют в первую очередь на ориентированные края раздражителей. Их результаты заложили фундаментальные знания для понимания систем зрения как человека, так и животных, что вдохновило на разработку технологий компьютерного зрения.
A Block World
00:13:44Истоки компьютерного зрения восходят к началу 1960-х годов, когда Ларри Робертс разработал проект Block World. Это новаторское исследование упростило визуальное восприятие основных геометрических форм, заложив фундаментальные концепции распознавания сложных сред. Цель состояла в том, чтобы разработать системы, способные интерпретировать и понимать эти упрощенные представления в качестве предшественника более сложных задач визуального распознавания.
The Summer Vision Project
00:14:19Проект Summer Vision, начатый в Массачусетском технологическом институте в 1966 году, был нацелен на создание значительной части зрительной системы в течение одного лета. Это амбициозное начинание положило начало компьютерному зрению как отрасли. Более пятидесяти лет спустя она превратилась в глобальную область исследований, тысячи исследователей которой занимаются решением фундаментальных проблем зрения. Несмотря на значительный прогресс, многие проблемы в понимании и воспроизведении человеческого зрения остаются нерешенными.
David Marr
00:15:25Дэвид Марр, известный специалист по компьютерному зрению из Массачусетского технологического института, внес значительный вклад в развитие искусственного интеллекта. В конце 1970-х годов он написал влиятельную книгу, в которой изложил свои теории о зрении и предложил методологии для улучшения компьютерного зрения. В его работе подчеркивалась важность разработки алгоритмов, способных имитировать визуальную обработку данных человеком.
Primal Sketch
00:15:51Primal Sketch - это основополагающая концепция компьютерного зрения, позволяющая машинам интерпретировать визуальную информацию. Она начинается с определения базовых элементов, таких как края и кривые, вдохновленная открытиями нейробиологов о ранней обработке визуальной информации. После этого начального этапа "эскиз в два с половиной D" объединяет детали глубины и поверхности сцены. В конечном итоге эти компоненты объединяются в комплексную 3D-модель, которая иерархически упорядочивает визуальные данные. Этот структурированный подход на протяжении десятилетий оказывал значительное влияние на методологии компьютерного зрения.
Representation
00:17:39В 1970-х годах исследователи начали изучать способы представления объектов реального мира, выходящие за рамки простых моделей. Они предложили такие понятия, как "обобщенный цилиндр" и "изобразительная структура", предполагая, что сложные объекты можно разбить на более простые геометрические формы и их конфигурации. Несмотря на эти новаторские идеи, распознавание объектов в ту эпоху по-прежнему было сопряжено со значительными трудностями из-за ограниченности данных и низкой вычислительной мощности. В 1980-х годах Дэвид Лоу предпринял дальнейшие попытки реконструировать визуальные элементы с использованием линий и краев, но по-прежнему сталкивался с трудностями при поиске практических решений для реальных приложений.
Image Segmentation
00:20:53Сегментация изображения включает в себя группировку пикселей на изображении в значимые области, что позволяет выделять определенные объекты из их фона. Заметная ранняя работа в этой области была проведена Джитендрой Малик и Цзянбо Ши из Беркли, которые применили алгоритм теории графов для решения задач сегментации изображений.
Face Detection
00:21:31Распознавание лиц стало значительным достижением в области компьютерного зрения, особенно в период с 1999 по 2000 год. Развитие методов статистического машинного обучения, таких как методы опорных векторов и AdaBoost, сыграло решающую роль в этом прогрессе. Примечательно, что в 2001 году Пол Виола и Майкл Джонс разработали эффективный метод распознавания лиц в реальном времени с использованием алгоритма AdaBoost, несмотря на ограниченные в то время вычислительные мощности. Эта инновация быстро перешла от научных исследований к практическому применению, когда в 2006 году компания Fujifilm выпустила первую цифровую камеру со встроенной функцией распознавания лиц в режиме реального времени.
FeatureBased Object Recognition
00:23:07Распознавание объектов на основе признаков появилось в конце 90-х и начале 2000-х годов под значительным влиянием метода SIFT feature Дэвида Лоу. Этот подход решает такие проблемы, как ракурсы съемки, загораживание, изменение точки обзора, вариации освещения и внутренние различия между объектами, которые затрудняют прямое сопоставление целых объектов. Вместо попыток сопоставления целых изображений — например, знаков "стоп" — основное внимание уделяется выявлению ключевых инвариантных признаков объекта, которые остаются неизменными, несмотря на эти различия. Благодаря распознаванию ограниченного числа важных признаков одного объекта и сравнению их с аналогичными, задача становится более выполнимой, чем при традиционном сопоставлении с образцом.
FeatureBased Image Recognition
00:24:49Распознавание изображений на основе признаков позволило распознавать целостные сцены путем выявления диагностических признаков на изображениях. Алгоритм, называемый Spatial Pyramid Matching, анализирует различные части изображения с различным разрешением, создавая всеобъемлющий дескриптор признаков для классификации сцен с использованием метода опорных векторов. Аналогичные достижения были достигнуты в распознавании человека с помощью таких методов, как гистограмма градиентов и модели деформируемых деталей, которые позволяют создавать реалистичные фигуры людей на изображениях. Переход от предыдущих десятилетий к 21 веку свидетельствует о значительном улучшении качества изображений благодаря цифровым камерам и развитию Интернета.
Visual Object Recognition
00:26:49В начале 2000-х годов компьютерное зрение определило распознавание объектов как важнейшую проблему, требующую решения. PASCAL Visual Object Challenge стал важным эталонным набором данных, включающим 20 классов объектов, включая поезд, самолет и человека. Каждый класс содержит тысячи изображений, которые позволяют исследователям разрабатывать алгоритмы для проверки точности обнаружения. С 2007 по 2012 год показатели производительности демонстрировали постоянное улучшение распознавания этих объектов в наборе данных.
ImageNet
00:28:39Группа ученых из Принстона и Стэнфорда стремилась распознавать большинство объектов в мире, руководствуясь проблемами машинного обучения, такими как переобучение из-за сложных визуальных данных. Чтобы решить эту проблему, они запустили ImageNet — масштабный проект, который собрал набор данных из миллиардов изображений, организованных в десятки тысяч категорий с помощью WordNet. За три года они использовали методы краудсорсинга с помощью Amazon Mechanical Turk для сортировки и маркировки почти 15 миллионов изображений по 22 000 классам объектов. В результате этих грандиозных усилий был не только создан один из крупнейших наборов данных в области искусственного интеллекта, но и значительно усовершенствованы алгоритмы распознавания объектов. В 2009 году был запущен международный конкурс со строгим набором тестов, предназначенных для оценки эффективности классификации изображений с помощью различных алгоритмов компьютерного зрения.
ImageNet Results
00:32:38Результаты конкурса ImageNet Challenge за период с 2010 по 2015 год показывают значительное снижение частоты ошибок при классификации изображений, достигнув к 2012 году производительности на уровне человека. Поворотный момент наступил в том году, когда частота ошибок снизилась почти на десять процентов благодаря внедрению сверточных нейронных сетей (CNNS), которые на тот момент превосходили все другие алгоритмы. Это достижение ознаменовало поворотный момент в компьютерном зрении и смежных областях, таких как обработка естественного языка и распознавание речи, подчеркнув потенциал глубокого обучения. Курс будет посвящен пониманию моделей CNN, их принципов, передовой практики и последних разработок.
Image Classification
00:36:15Классификация изображений включает в себя алгоритмы, которые анализируют изображения и классифицируют их по заранее определенным классам. Хотя этот подход может показаться ограниченным, он широко применим в различных областях, таких как распознавание продуктов питания, подсчет калорий в блюдах, идентификация предметов искусства и категоризация продуктов. Универсальность классификации изображений делает ее ценным инструментом как для промышленного применения, так и для научных исследований.
Other Visual Recognition Problems
00:37:08Визуальное распознавание охватывает различные области применения, включая обнаружение объектов и создание субтитров к изображениям. Обнаружение объектов предполагает идентификацию конкретных объектов на изображении путем обводки их рамками, в то время как создание субтитров к изображениям требует создания описаний на естественном языке на основе визуального контента. Достижения в этих областях в значительной степени зависят от сверточных нейронных сетей (CNN), которые преобразили эту область с момента их появления в 2012 году благодаря успеху AlexNet на конкурсе ImageNet. Со временем архитектура CNN эволюционировала, становясь все более глубокой и сложной, что привело к значительному повышению производительности при решении таких задач, как классификация изображений.
Convolutional Neural Networks
00:40:22Исторические корни сверточных нейронных сетей Сверточные нейронные сети (CNN) получили известность в 2012 году после успеха на конкурсе ImageNet Challenge, но появились они гораздо раньше. В конце 90-х Ян Лекун и его команда разработали CNN для распознавания цифр, чтобы автоматизировать обработку рукописных чеков. Архитектура этой ранней сети имеет сходство с AlexNet 2012 года, что указывает на сохранение основополагающих концепций с течением времени.
Ключевые инновации, способствующие популярности CNN Резкий рост популярности CNNS с 90-х годов можно объяснить двумя основными инновациями: вычислениями и доступностью данных. Повышение вычислительной мощности благодаря закону Мура и появлению графических процессоров позволило исследователям эффективно создавать более крупные модели. Кроме того, доступ к обширным наборам данных с маркировкой, таким как PASCAL и ImageNet, предоставил необходимый учебный материал, которого ранее не хватало; таким образом, эти алгоритмы наконец-то раскрыли свой потенциал в реальных задачах.
Open Challenges
00:44:04Цель компьютерного зрения - создать машины, способные видеть и интерпретировать окружающий мир так же, как это делают люди. Современные возможности часто не соответствуют возможностям человеческого визуального восприятия, которое охватывает широкий спектр сложных задач, выходящих за рамки простой классификации объектов. Ключевые проблемы включают семантическую сегментацию — понимание значения каждого пикселя — и понимание 3D для реконструкции окружающей среды. Кроме того, распознавание действий в видеороликах представляет значительные трудности, поскольку развитие технологий дополненной и виртуальной реальности порождает новые проблемы, требующие решения.
Visual Genome
00:45:33Visual Genome стремится представлять изображения в виде сложных графиков связанных понятий, отражающих идентичность объектов, отношения, атрибуты и действия. Этот подход призван отразить богатство визуальных впечатлений, которое упускается из виду простыми методами классификации. Исследование, проведенное в рамках докторской работы Фей-Фей, показывает, что даже кратковременное ознакомление с изображением позволяет людям создавать подробные рассказы о нем. Такие результаты подчеркивают потенциал для более глубокого понимания компьютерного зрения — понимания не только того, что видно, но и создания истории вокруг этого, основанной на предварительных знаниях и контексте.
The Holy Grail
00:47:44Достижение истинного понимания с помощью компьютерного зрения остается отдаленной целью. Это иллюстрирует забавный снимок: Барак Обама стоит на весах, в то время как другой человек опускает их, создавая завышенные показания. Эта сцена вызывает смех у прохожих, которые осознают абсурдность ситуации, в которой такая уважаемая фигура, как Обама, совершает подобные выходки. Это подчеркивает, что нынешним алгоритмам не хватает глубокого понимания контекста и социальных сигналов в изображениях, что указывает на значительные возможности для продвижения в этой области.
Conclusion
00:49:07Компьютерное зрение - увлекательная и эффективная область, которая находит применение в медицинской диагностике, самоуправляемых автомобилях и робототехнике. Оно играет решающую роль в расширении нашего понимания человеческого интеллекта и предлагает решения, которые могут улучшить мир. Изучение алгоритмов компьютерного зрения обещает раскрыть захватывающие подробности о его функциональности и потенциальных достижениях.
Course Staff
00:49:56Курс ведет Фей-Фей Ли, профессор компьютерных наук в Стэнфорде и директор лаборатории Vision Lab и лаборатории искусственного интеллекта, а также аспиранты Джастин Джонсон и Серена Енг. В этом году в преподавательский состав входят 18 специалистов, которые играют решающую роль в обеспечении бесперебойной работы. Примечательно, что Андрей Карпати впервые не будет проводить инструктаж после того, как в предыдущие годы внес значительный вклад в его развитие. Для общения с преподавателями Piazza является основной платформой для вопросов, позволяющей при необходимости задавать анонимные вопросы, а также альтернативными каналами, доступными для личных вопросов. Дополнительный учебник по глубокому обучению от Goodfellow и соавторов, опубликованный ранее в этом году, может улучшить понимание, но не является обязательным; все необходимые материалы предоставляются в рамках курса.
Philosophy
00:52:41Понимание механики алгоритмов имеет решающее значение на этом занятии, поскольку основное внимание уделяется тому, как создаются нейронные сети и их архитектурному влиянию на обучение. Студенты будут реализовывать сверточные нейронные сети с нуля, используя Python, получая практический опыт как прямого, так и обратного прохождения. Кроме того, с помощью заданий и проектов можно будет ознакомиться с самыми современными программными средствами, такими как TensorFlow и Torch. Содержание курса остается актуальным благодаря быстрому прогрессу в этой области; в учебные материалы будут включены новые разработки, появившиеся после прошлогоднего обновления.
Fun Topics
00:54:24На курсе будут рассмотрены интересные и креативные темы, в том числе создание субтитров к изображениям для создания описаний к изображениям. Также будут рассмотрены художественные приложения, такие как DeepDream, которые используют нейронные сети для создания психоделических визуальных эффектов. Кроме того, будут рассмотрены методы передачи стиля, позволяющие создавать изображения в стилях известных художников, таких как Пикассо или Ван Гог.
Course Structure
00:54:59Курс включает в себя три набора заданий, промежуточный экзамен в классе и итоговый проект, выполненный группами от одного до трех человек. У студентов есть семь дней для сдачи домашнего задания из-за незначительных проблем, таких как болезнь или поездка, но они должны сообщать о любых чрезвычайных обстоятельствах непосредственно преподавателям. Сотрудничество регулируется кодексом чести Стэнфорда, в котором особое внимание уделяется тщательному соблюдению правил командной работы.
Prerequisites
00:56:11Глубокое знакомство с Python необходимо для выполнения заданий по программированию, в то время как некоторые знания C или C++ помогут разобраться в исходном коде. Требуются базовые навыки математического анализа и линейной алгебры, включая производные и матричные операции. Знакомство с концепциями компьютерного зрения на таких курсах, как CS131 или 231a, полезно, но не обязательно; тем, у кого нет предварительного опыта, может потребоваться наверстать упущенное. Также поможет фундаментальное понимание принципов машинного обучения, аналогичных CS229, хотя ключевые концепции будут пересматриваться по мере необходимости на протяжении всего курса.