Шрифт:
Интервал:
Закладка:
В бытность профессором университета Британской Колумбии Лоу запатентовал метод масштабно-независимых результатов преобразования признаков SIFT (Scale-Invariant Feature Transform). Принятый перевод SIFT как масштабно-инвариантная трансформация признаков не совсем верен, потому что transform это не transformation и масштабно-независимой является форма хранения признаков, а отнюдь не масштабно-инвариантный процесс трансформации. Все достаточно просто, алгоритмы, реализующие SIFT, в процессе обучения выявляют и сохраняют координаты локальных признаков в масштабно-независимой форме и фиксируют их в базе данных. А далее объект в новом изображении распознается посредством сравнения его признака с признаками из базы данных. Подход, предложенный Лоу, оказался чрезвычайно результативным, он используется в самых разнообразных современных приложениях. Он развивается и создано несколько новых подходов к распознаванию, унаследовавших его основы.
Особое место в истории CV занимает метод обнаружения объектов Виолы – Джонса (Viola—Jones object detection). Он был предложен в 2001 году Полом Виола в прошлом профессором МТИ, более всего известным работами в области распознавания лиц, удостоенным премий Марра и Гельмгольца, и Майклом Джонсом, сотрудником исследовательской лаборатории Mitsubishi Electric. Метод Виолы – Джонса универсален, он обычно используется для распознавания лиц. В его основе сильный бинарный детектор, состоящий из каскада более слабых детекторов, они разбивают изображение на прямоугольники, осуществляют поиск эталонов и сравнение с ними. Если обнаруживается совпадение, изображение передается дальше по каскаду, а случае несовпадения поиск продолжается. Математической основой метода является алгоритм машинного обучения AdaBoost (Adaptive Boosting, в данном случае можно перевести как адаптивное усиление). Алгоритм усиливает классификаторы, объединяя их в «комитеты».
CV в XXI веке
Наступление XXI века ознаменовалось бумом исследований в области CV, причем не столько академических, сколько прикладных с участием тысяч специалистов, их невозможно каким-то образом систематизировать, остается только представить наиболее известные достижения.
Информационный взрыв, привлекший к себе широкое внимание, связан с деятельностью Себастьяна Труна (Sebastian Thrun,1967) профессора Стэнфордского университета, бывшего в ту пору директором Стэнфордской лаборатории искусственного интеллекта (SAIL). Он вошел в историю как руководитель весьма успешной разработки роботизированного автомобиля Stanley, выигравшего соревнование DARPA Grand Challenge в 2005 году, и Junior, который занял второе место на DARPA Challenge в 2007 году. Эти соревнования спонсировало правительство США с наивной надеждой на скорое создание автономных автомобилей для военных нужд. Цель казалась так близка, что в который раз вызвав неумеренный восторг, в журнале Scientific American вышла статья «Триумф роботов». На основе SAIL в 2009 году Google построила свой автономный автомобиль, с обещанием выпустить в 2020 году полноценный автомобиль-робот. Сегодня мы отнесли бы его к уровню Level 5, где можно обойтись без рулевого колеса (steering wheel optional). Но и это, и другие подобные обещания остаются невыполненными, наиболее ответственные компании сегодня говорят о достижении ими Level 3, позволяющего водителю отвлечься (eyes off), то есть автомобиля с частично автоматизированными функциями управления.
Начиная с 2010 года стали поступать сообщения об успехах в области распознавания лиц, среди первых была компания Facebook. Когда эта технология в 2011 помогла идентифицировать в убитом американским спецназом в операции «Копье Нептуна» Усаму бен Ладена, она казалась благом. Но когда стало ясно, насколько эти технологии усиливают возможности «Большого брата», отношения к ним заметно изменилось. В странах с развитой демократией распознавание лиц ограничено и широко обсуждается, а в таких как Китай, и подобных по уровню авторитаризма внедряется по максимуму.
Спустя год мировую общественность совершенно потряс эксперимент, проведенный в лаборатории Google X, он показал способность обученной нейронной сети самостоятельно, или, точнее, почти самостоятельно распознавать изображения, в данном случае фотографии кошек. Выбор такого объекта для распознавания оказался удачен с маркетинговой точки зрения, учитывая популярность фотографий «котиков» в Сети. Эксперимент освещала вся мировая пресса, первой в этом ряду оказалась «Нью-Йорк Таймс», где была опубликована статья самого именитого компьютерного журналиста Джона Маркова. За этой сенсацией стоял совершенно строгий академический доклад, сделанный Эндрю Ыном и его коллегами на 29-й конференции по машинному обучению в Эдинбурге. В эксперименте использовалась 1000 сероверов, собранных в кластер, что позволило моделировать сеть, состоящую из 3 миллионов нейронов и 1,15 миллиарда синапсов. При этом точность распознавания не превысила 16 %. Для сравнения, человеческий мозг состоит из 100 миллиардов нейронов и 1000 триллионов синаптических соединений, это для справки тем, кто намеревается создавать сильный AI. Эксперимент детально описан в статье Building High-level Features Using Large Scale Unsupervised Learning, ее перевод названия нуждается в комментарии. В задачах CV распознаваемые характеристики можно разделить на простые (low-level features) и сложные (high-level features). Поэтому оно должно выглядеть так «Создание сложных характеристик с использованием крупномасштабного обучения без учителя». Использование термина «без учителя» может создать впечатление, что система, снабженная AI, может обучиться чему-то сама, разумеется это неверно, без руководства человека никакой AI не способен к самостоятельному получению знаний. Unsupervised в этом контексте означает, скорее, неконтролируемый, то есть процесс обучения осуществляется автоматически, но по заданию человека.
Средствами CV удается автоматически преобразовать фото- и видеоданные в информацию, что с успехом удалось сделать Ыну с коллегам в вышеописанном эксперименте с кошками с использованием технологий самообучения ANN. Еще в 2007 году группа авторов под руководством того же Эндрю Ына опубликовала статью «Обучение с самообучением: Трансферное обучение на неразмеченных данных» (Self-taught Learning: Transfer Learning from Unlabeled Data). В ней они рассматривают четыре типа обучения
• Supervised Classification – Обучение с учителем
• Semi-supervised Learning – Обучение с частичным участием учителя
• Transfer Learning – Трансфертное обучение
• Self-taught Learning – Обучение без учителя
Эти виды обучения отличаются по степени использования заранее помеченных данных. В случае обучения с учителем она максимальна и, напротив, в случае обучения без учителя минимальна. Идея последнего проста, можно на некотором тестовом наборе научить саму сеть самостоятельно учиться, а после этого она получит возможность накапливать внутри себя необходимый ей комплекс метаданных, чтобы решать поставленную перед ней задачу распознавания. Но в отличие от человека, использующего при обучении творческие способности, ассоциации и т. п., машина по определению тупа, поэтому процесс ее обучения требует затрат большой вычислительной мощности, к тому же эта мощность при использовании фон-неймановских CPU на задачах машинного обучения используется нерационально.
Основным инструментом для разработчиков CV служат библиотеки функций, позволяющие решать стоящие