Как стать автором
Обновить

Компания Нордавинд временно не ведёт блог на Хабре

Сначала показывать

Deconvolutional Neural Network

Время на прочтение9 мин
Количество просмотров61K
Использование классических нейронных сетей для распознавания изображений затруднено, как правило, большой размерностью вектора входных значений нейронной сети, большим количеством нейронов в промежуточных слоях и, как следствие, большими затратами вычислительных ресурсов на обучение и вычисление сети. Сверточным нейронным сетям в меньшей степени присущи описанные выше недостатки.

Свёрточная нейронная сеть (англ. convolutional neural network, CNN) — специальная архитектура искусственных нейронных сетей, предложенная Яном Лекуном и нацеленная на эффективное распознавание изображений, входит в состав технологий глубокого обучения (англ. deep leaning). Эта технология построена по аналогии с принципами работы зрительной коры головного мозга, в которой были открыты так называемые простые клетки, реагирующие на прямые линии под разными углами, и сложные клетки, реакция которых связана с активацией определённого набора простых клеток. Таким образом, идея сверточных нейронных сетей заключается в чередовании сверточных слоев (англ. convolution layers) и субдискретизирующих слоев (англ. subsampling layers, слоёв подвыборки).[6]

image
Рис 1. Архитектура сверточной нейронной сети

Ключевым моментом в понимании сверточных нейронных сетей является понятие так называемых «разделяемых» весов, т.е. часть нейронов некоторого рассматриваемого слоя нейронной сети может использовать одни и те же весовые коэффициенты. Нейроны, использующие одни и те же веса, объединяются в карты признаков (feature maps), а каждый нейрон карты признаков связан с частью нейронов предыдущего слоя. При вычислении сети получается, что каждый нейрон выполняет свертку (операцию конволюции) некоторой области предыдущего слоя (определяемой множеством нейронов, связанных с данным нейроном). Слои нейронной сети, построенные описанным образом, называются сверточными слоями. Помимо, сверточных слоев в сверточной нейронной сети могут быть слои субдискретизации (выполняющие функции уменьшения размерности пространства карт признаков) и полносвязные слои (выходной слой, как правило, всегда полносвязный). Все три вида слоев могут чередоваться в произвольном порядке, что позволяет составлять карты признаков из карт признаков, а это на практике означает способность распознавания сложных иерархий признаков [3].

Что же именно влияет на качество распознавания образов при обучении сверточных нейронных сетей? Озадачившись данным вопросом, наткнулись на статью Мэттью Зайлера (Matthew Zeiler).
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии0

Система автоматической оценки возраста по изображениям лиц

Время на прочтение21 мин
Количество просмотров20K
Аннотация
Люди — это самые важные объекты слежения в системах видеонаблюдения. Тем не менее, слежение за человеком само по себе не дает достаточной информации об его мотивах, намерениях, желаниях и т.п. В этой работе мы представляем новую и надежную систему для автоматической оценки возраста с помощью технологий компьютерного зрения. Она использует глобальные особенности лица, полученные на основе комбинирования вейвлетов Габора и сохранение ортогональности локальных проекций Orthogonal Locality Preserving Projections, OLPP). Кроме того, система способна оценивать возраст по изображениям в реальном времени. Это означает, что предлагаемая система имеет больший потенциал по сравнению с другими полуавтоматическими системами. Результаты, полученные в процессе применения предлагаемого подхода, могут позволить получить более ясное понимание алгоритмов в области оценки возраста, необходимых для разработки приложений, актуальных для реального применения.
Ключевые слова: вейвлеты Габора, изображение лица, оценка возраста, метод опорных векторов (Support Vector Machine, SVM).
Читать дальше →
Всего голосов 26: ↑22 и ↓4+18
Комментарии3

Развертывание IBM Security Network Protection в Open vSwitch

Время на прочтение16 мин
Количество просмотров5.7K
Всем хаброжителям доброго времени суток!

В этой статье вы сможете узнать, как настроить IBM Security Network Protection (XGS5100) в основанной на Open vSwitch программно-конфигурируемой сети(SDN), и защитить-таки все ваши виртуальные активы.

Open vSwitch — это виртуальный коммутатор на основе OpenFlow, широко используемый в облачных средах.

Software-defined Networking (SDN) — это технология для развертывания облака, обеспечивающая масштабируемую и гибкую среду, подходящую для динамического характера этого самого облака.

Вы научитесь разворачивать IBM Security Network Protection (ISNP) в рамках OpenFlow с поддержкой SDN коммутатора — Open vSwitch и увидите как легко ISNP могут быть развернуты в среде SDN.
image
Читать дальше →
Всего голосов 3: ↑2 и ↓1+1
Комментарии1

Kúla — 3D для всех камер

Время на прочтение3 мин
Количество просмотров5.7K
Доброго времени суток!

Íris Ólafsdóttir—инженер-электрик из Технического университета Дании основала Kúla в 2011 году, и с тех пор усердно трудилась над превращением обычной камеры в 3D, на радость всем фотографам. В итоге, собранная ею команда разработчиков создала любопытную парочку объективов — Kúla Deeper, который без труда крепится к вашей DSLR камере и Kúla Bebe, для вашего смартфона.


Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии7

Максимально реалистичная анимация

Время на прочтение2 мин
Количество просмотров91K
Цифровое будущее, виртуальная реальность, анимация объектов, настолько качественная, что недолго и с реальностью спутать.
Еще недавно все это казалось невозможным. Мы сидели дома и рубились в примитивные компьютерные игры с не менее примитивной компьютерной графикой, такие как Mario, Doom, Dune и Lemmings. Да-да, мой юный друг! Были такие игры в 90-х годах, где фон был прорисован из рук вон плохо, а разрешение картинки было настолько мало, что все персонажи и плохо прорисованный фон в том числе, были разбиты, мягко говоря, на без труда видимые человеческому глазу пиксели.


Игра Doom (1993)
Читать дальше →
Всего голосов 87: ↑84 и ↓3+81
Комментарии58

Истории

Команда разработчиков графического языка Processing представила официальную JavaScript-библиотеку p5.js

Время на прочтение3 мин
Количество просмотров24K
Язык Processing, основанный на Java, был написан в 2001 году для создания графики и анимаций. Для использования этого языка в интернете в 2008 году Джон Резиг написал библиотеку Processing.js. Библиотека быстро завоевала популярность и активно развивалась в течение нескольких лет после релиза. Часы на кривых Безье, о которых на Хабре писали несколько дней назад, были созданы именно с помощью Processing.js.

В прошлом году команда разработчиков Processing объявила о планах создать собственную JavaScript-библиотеку. В августе бета-версия p5.js была представлена широкой публике. Библиотека p5.js сильно отличается от Processing.js по архитектуре. Главные отличия — отсутствие необходимости изучать язык Processing и более тесная интеграция с HTML. Processing.js — это транслятор Processing в JavaScript. Основное назначение этой библиотеки — рендеринг файлов PDE с исходным кодом Processing. При использовании этой библиотеки программист может вообще не знать JavaScript. Возможно, в 2008 году это была весьма удачная идея, но сейчас, после нескольких лет бурного развития JavaScript и появления множества графических библиотек сформировалось поколение программистов и дизайнеров, для которых JavaScript намного «роднее» и понятнее Java-подобного Processing.


Пример анимации, созданной с помощью языка Processing
Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии3

Khan Academy разработала быструю JavaScript-библиотеку для работы с математическими формулами

Время на прочтение2 мин
Количество просмотров19K
Фактическим стандартом для работы с математическими формулами в вебе, записанными в формате TeX, является библиотека MathJax. Платформа онлайн-обучения Khan Academy имеет в своём арсенале множество курсов, посвящённых математике. Один из важных пунктов миссии академии — сделать качественное образование доступным всем, независимо от географического и материального положения, поэтому для Khan Academy очень существенна быстрая работа сайта на слабых старых компьютерах и мобильных устройствах. Именно поэтому разработчики академии решили написать собственную библиотеку для рендеринга TeX в HTML, которая в перспективе могла бы полностью заменить MathJax и работала бы гораздо быстрее.

Библиотека KaTeX пока ещё довольна молода (текущая версия — 0.1.0) и пока ещё не может сравниться с MathJax по функциональности. Текущий список поддерживаемых функций доступен в вики проекта. KaTeX поддерживает меньше выходных форматов по сравнению с MathJax, которая умеет рендерить формулы в HTML+CSS, SVG и MathML. В КаТеХ реализован вывод в HTML, поддержка MathML планируется в будущем. KaTeX не поддерживает старые (старше 8.0) версии IE.


Ключевое преимущество KaTeX - скорость
Всего голосов 49: ↑49 и ↓0+49
Комментарии31

Разработан алгоритм, эффективно удаляющий из видео все «скучные» фрагменты

Время на прочтение2 мин
Количество просмотров18K
Приходилось ли вам, перейдя по ссылке на интересный видеоролик на Youtube, обнаруживать, что ради нескольких секунд, где действительно происходит что-то интересное, вы только что потратили нескольк минут на созерцание совершенно бесполезного «мусора» только потому, что автор видео выложил целиком файл с видеорегистратора или смартфона? Количество видеокамер стремительно растёт, а количество людей, способных хотя бы обрезать пару лишних фрагментов, похоже, остаётся постоянным. И проблема не только в нескольких минутах убитого в интернете времени — ведь есть и более серьёзные случаи, например, десятки и сотни часов видео с камер наблюдения, которые иногда приходится просматривать, чтобы раскрыть преступление.

Учёные из университета Карнеги-Меллон разработали эффективный алгоритм выделения наиболее интересных фрагментов видео на основе машинного обучения. Новый алгоритм, названный ими «LiveLight» значительно превосходит аналоги по скорости и качеству работы. LiveLight выделяет характерные фрагменты видео и сотавляет их «словарь», а затем пытается предсказать на их основе следующий кадр. Если это удаётся с достаточной степенью точности, то это значит, что кадр не добавляет практически никакой новой информации и его можно исключить. В отличие от «механических» подходов, реагирующих на любое движение в кадре либо резкое изменение яркости, цвета или контраста, LiveLight достаточно универсален — он хорошо работает и на видео, снятым неподвижной камерой, и на любительской съемке трясущимся смартфоном.


Читать дальше →
Всего голосов 62: ↑53 и ↓9+44
Комментарии36

Робот Hitchbot готов путешествовать автостопом

Время на прочтение3 мин
Количество просмотров14K
Этим летом болтливый робот из Онтарио попытается проехать автостопом из Новой Шотландии (провинция Канады) до Британской Колумбии.


Читать дальше →
Всего голосов 35: ↑30 и ↓5+25
Комментарии18

Налобный фонарь, питание которого осуществляется за счет тепла человеческого тела

Время на прочтение3 мин
Количество просмотров13K
Анна Макосински, молодой изобретатель, удостоенная награды за изобретение термоэлектрического фонарика, продемонстрировала новую версию своего изобретения: налобный фонарик, работающий от тепла человеческого тела.


Читать дальше →
Всего голосов 8: ↑4 и ↓40
Комментарии22

GPS-навигатор в фонарике

Время на прочтение2 мин
Количество просмотров23K
Изучая тему замены дисплея любой поверхностью наткнулись на одну интересную вещичку, и не найдя ее освещения на Хабре, решили вам ее представить. Знакомьтесь, ваш проводник и верный помощник в путешествии — Maptor.


Читать дальше →
Всего голосов 33: ↑24 и ↓9+15
Комментарии28

Билд-светофор: история еще одного внедрения

Время на прочтение6 мин
Количество просмотров18K
Обсуждая реализацию автотестирования в нашей компании, была предложена идея визуализации результатов с помощью светофора. Данный инструмент прост и понятен каждому, да и к тому же производит небольшой вау эффект. Под катом будет история внедрения светофора в нашу систему автотестов.


Читать дальше →
Всего голосов 41: ↑32 и ↓9+23
Комментарии8

Ближайшие события

DARPA финансирует разработку чипа для подтверждения подлинности электронных компонентов

Время на прочтение2 мин
Количество просмотров14K


Как сообщает DARPA в пресс-релизе, объявляющем о начале разработки системы Supply Chain Hardware Integrity for Electronics Defense (SHIELD), за последние два года на оборудовании, использующемся министерством обороны США, было выявлено более миллиона электронных деталей и компонентов сомнительного качества и подлинности. Это и бывшие в употреблении детали, продающиеся под видом новых, и микросхемы с подправленной в сторону улучшения характеристик маркировкой, и «левые» излишки, которые производители продают полулегально, и откровенные подделки.

Этот поток контрафакта ставит под угрозу надёжность оборудования, от которого могут зависеть жизни людей. DARPA предлагает разработать миниатюрный (100 на 100 мкм) и недорогой (меньше одного цента за штуку) чип, который будет подтверждать аутентичность электронных компонентов. Чип будет находиться внутри корпуса микросхемы, но никак не будет электрически связан с её функциональной начинкой и не должен требовать существенных изменений в процесс производства.
Читать дальше →
Всего голосов 23: ↑20 и ↓3+17
Комментарии36

LocalForage: кроссбраузерное локальное хранилище от Mozilla

Время на прочтение5 мин
Количество просмотров19K
Уже довольно давно у веб-приложений появилась возможность хранить часть данных или файлов локально. Можно даже кешировать MP3-файлы. Браузеры научились хранить немалые объёмы данных. Тем не менее, пока что технологии локального хранения сильно фрагментированы.

localStorage предоставляет лишь самые базовые функции, это хранилище довольно медленно и не умеет хранить блобы. IndexedDB и WebSQL асинхронны, быстры и поддерживают большие объемы данных, но их API довольно запутан. Кроме того, ни IndexedDB, ни WebSQL не поддерживаются всеми основными браузерами, и, похоже, в ближайшем будущем эта ситуация не изменится.

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

Почувствовать на своей шкуре все сложности работы с локальным хранилищем мне помогла разработка around — HTML5-клиента для Foursquare. Хотя в этой статье я рассказываю, как использовать localForage, возможно кто-то предпочтёт изучить реальные примеры работы с ней.

localForage — очень простая библиотека JavaScript, которая использует API, похожий на API localStorage, с теми же самыми базовыми методами get, set, remove, clear и length, но имеет ещё несколько важных улучшений:

  • асинхронный API с колбэками;
  • драйвера IndexedDB, WebSQL и localStorage (самый подходящий драйвер выбирается автоматически в зависимости от возможностей браузера);
  • поддержка блобов и произвольных форматов данных, так что можно хранить изображения, файлы и так далее;
  • поддержка обещаний ECMAScript 6.

Использование IndexedDB и WebSQL позволяет хранить намного больше данных, чем localStorage. Неблокирующий асинхронный API делает приложение более быстрым и отзывчивым, так как основной поток приложения не подвисает во время выполнения вызовов get/set. Поддержка обещаний позволяет писать чистый код без спагетти из колбэков. Конечно, если вы любите колбэки, можно использовать и их.
Хватит болтовни, покажите, как это работает!
Всего голосов 43: ↑43 и ↓0+43
Комментарии12

20-граммовый орнитоптер с системой стереоскопического зрения самостоятельно огибает препятствия

Время на прочтение1 мин
Количество просмотров19K
В лаборатории миниатюрных летательных аппаратов Делфтского технического университета (Нидерланды) создан самый маленький в мире полностью автономный летающий робот, который способен избегать столкновений с препятствиями без какого-либо внешнего вмешательства. Он делает это с помощью системы стереоскопического зрения, которая весит всего четыре грамма. Общий вес аппарата — двадцать граммов. Орнитоптер, названный DelFly Explorer, способен продержаться в воздухе до девяти минут.


Читать дальше →
Всего голосов 53: ↑51 и ↓2+49
Комментарии23

Трюки с CSS-анимациями: мгновенные изменения, отрицательные задержки, анимация transform-origin и другое

Время на прочтение14 мин
Количество просмотров221K
Применяя CSS-анимации в повседневной работе, я постепенно выработал привычку экспериментировать с ними в свободное время. Постоянно пытаясь реализовать очередную интересную задумку с использованием как можно меньшего числа элементов HTML, я обнаружил немало способов сделать с помощью CSS довольно неочевидные вещи. В этой статье я хочу поделиться некоторыми из них.

Быстрое изменение состояния посреди анимации

Обычно анимации используются для того, чтобы плавно менять свойства элементов со временем. Однако изменения могут также быть практически мгновенными. Для этого надо задать два ключевых кадра с очень маленьким интервалом, например в 0.001%:

@keyframes toggleOpacity {
  50% { opacity: 1; } /* Turn off */
  50.001% { opacity: 0.4; }

  /* Keep off state for a short period */

  52.999% { opacity: 0.4; } /* Turn back on */
  53% { opacity: 1; }
}

Вот как я использовал этот приём для имитации мигающей неоновой вывески с помощью прозрачности и свойства text-shadow:


Читать дальше →
Всего голосов 213: ↑211 и ↓2+209
Комментарии23

Соревнования по распознаванию изображений ImageNet 2013

Время на прочтение3 мин
Количество просмотров15K
В декабре 2013 завершились ежегодные соревнования по распознаванию визуальных образов ImageNet Large Scale Visual Recognition Challenge 2013 (ILSVRC2013), спонсируемые проектом ImageNet , который представляет собой огромную базу изображений. В настоящее время в базе имеется более 14 миллионов изображений.
Участники соревнований решали три задачи, описанные под катом.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии8

Редактор HTML+CSS+JS в стиле JSfiddle, код которого состоит из 230 символов

Время на прочтение1 мин
Количество просмотров21K
Хотя неделя 30-строчников закончилась, рискну привести ещё один пример сверхлаконичного кода JavaScript, который я нашёл в сети. Встречайте четырёхпанельный редактор HTML/CSS/JS, с превью в реальном времени, код которого умещается в 230 символов:

<x id=e><script>for(i=4;i--;)e.innerHTML+=(i?'<textarea id=t'+i:'<iframe')+' style=width:49%;height:48% oninput=\'e.lastChild.src="data:text/html;base64,"+btoa(t3[v="value"]+"<script>"+t1[v]+"<\/script><style>"+t2[v])\'>'</script>

Посмотреть демо можно по этой ссылке. А можно просто вставить вот этот текст с кодом в адресную строку браузера:

data:text/html,%20<x%20id=e><script>for(i=4;i--;)e.innerHTML+=(i?'<textarea%20id=t'+i:'<iframe')+'%20style=width:49%;height:48%%20oninput=\'e.lastChild.src="data:text/html;base64,"+btoa(t3[v="value"]+"<script>"+t1[v]+"<\/script><style>"+t2[v])\'>'</script>

Читать дальше →
Всего голосов 80: ↑57 и ↓23+34
Комментарии16