Останні досягнення в розпізнаванні образів вражають. Досить пригадати результати змагань на базі ImageNet. Відразу ж виникає питання, що далі? Як ми можемо використовувати отримані здобутки?

Щось важливе почалося, коли Fei-Fei стартувала ImageNet проект. Схоже на революцію.

Читати далі →

Зображення у форматі JPEG, крім власне файлів з розширенням .jpg, можна зустріти всередині PDF і TIFF файлів.
Стейкхолдерів технології JPEG можна, напевно, розділити на наступні групи:
  • розробники фотоапаратів і сканерів;
  • фотографи (великі фотографії у високому дозволі з високими вимогами до якості);
  • соцмережі і CDN'и типу imgix, які роздають залиті фоточки неконтрольованого UGC-походження, кількості та розміру в пережато вигляді;
  • вебмастери, які керують помірною кількістю не-UGC картинок з контрольованою якістю;
  • любителі відсканованих паперових книг та інших історичних джерел;
Автор цієї статті належить в основному до останньої групи, і точно не належить до художніх фотографів. Це повинно вносити в оповідання певний перекіс, який, тим не менш, корисний як раз для ілюстрації можливих траєкторій в просторі рішень.
Читати далі →



Наталя Єфремова занурює публіку у специфіку практичного використання нейромереж. Це — розшифровка доповіді Highload++.

Добрий день, мене звати Наталя Єфремова та я research scientist у компанії N-TechLab. Сьогодні я буду розповідати про види нейронних мереж та їх застосування.

Спочатку скажу кілька слів про нашу компанію. Компанія нова, може бути, багато хто з вас ще не знають, чим ми займаємося. В минулому році ми виграли змагання MegaFace. Це міжнародне змагання по розпізнаванню осіб. У цьому ж році була відкрита наша компанія, тобто ми на ринку вже близько року, навіть трохи більше. Відповідно ми одна з лідируючих компаній у розпізнаванні осіб та обробки біометричних зображень.

Перша частина моєї доповіді буде присвячена тим, хто не знайомий з нейтронними мережами. Я займаюся безпосередньо Deep Learning. У цій сфері я працюю більше 10 років. Хоча вона з'явилася трохи менше, ніж десятиліття тому, раніше були якісь зачатки нейронних мереж, які були схожі на систему Deep Learning.

Читати далі →

пілотної частини я розповів про завдання як можна докладніше. Розповідь вийшов довгим і безпредметним — в ньому не було ні одного рядка коду. Але без розуміння завдання дуже складно займатися оптимізацією. Звичайно, деякі техніки можна застосовувати, маючи на руках тільки код. Наприклад, кешувати обчислення, скорочувати розгалуження. Але мені здається, що деякі речі без розуміння завдання просто ніколи не зробити. Це і відрізняє людину від оптимізуючого компілятора. Тому ручна оптимізація все ще відіграє величезну роль: у компілятора є тільки код, а у людини є розуміння завдання. Компілятор не може прийняти рішення, що значення "4" досить випадково, а людина може.

Нагадаю, що мова піде про оптимізацію операції ресайза зображення методом згорток у реально існуючій бібліотеці Pillow. Я буду розповідати про тих змінах, що я робив кілька років тому. Але це не буде повторення слово-в-слово: оптимізації будуть описані в порядку, зручному для оповідання. Для цих статей я зробив в репозиторії окрему гілку від версії 2.6.2 — саме з цього моменту і буде йти розповідь.
Читати далі →

Створюємо нейронну мережу InceptionV3 для розпізнавання зображень



Привіт, Хабр! Під катом піде мова про реалізацію сверточной нейронної мережі архітектури InceptionV3 з використанням фреймворку Keras. Статтю я вирішив написати після ознайомлення з туториалом "Побудова потужних моделей класифікації з використанням невеликої кількості даних". З схвалення автора туториала я трохи змінив зміст своєї статті. На відміну від запропонованої автором нейронної мережі VGG16, ми будемо навчати гугловскую глибоку нейронну мережу Inception V3, яка вже встановлена в Keras.

Ви навчитеся:

  1. Імпортувати нейронну мережу Inception V3 з бібліотеки Keras;
  2. Налаштовувати мережу: завантажувати ваги, змінювати верхню частину моделі (fc-layers), таким чином, пристосовуючи модель під бінарну класифікацію;
  3. Проводити тонке налаштування нижнього згорткового шару нейронної мережі;
  4. Застосовувати аугментацію даних за допомогою ImageDataGenerator;
  5. Навчати мережу по частинах для економії ресурсів і часу;
  6. Оцінювати роботу моделі.
При написанні статті я ставив перед собою завдання представити максимально практичний матеріал, який розкриє деякі цікаві можливості фреймворка Keras.

Читати далі →

Як я зробив найшвидший ресайз зображень. Частина 0

Привіт, мене звати Саша, я написав найшвидший ресайз зображень для сучасних процесорів х86. Я так стверджую, оскільки всі інші бібліотеки, які я зумів знайти і протестувати, виявилися повільніше. Я зайнявся цим завданням, коли працював над оптимізацією ресайза картинок на льоту Uploadcare. Ми вирішили відкрити код і в результаті з'явився проект Pillow-SIMD. Будь-хто з легкістю може використовувати його в додатку на мові Python.
Будь-код виконується на конкретному залозі і гарну оптимізацію можна домогтися, лише розуміючи його архітектуру. Всього я планую випустити 4 або 5 статей, в яких розповім як застосовувати знання архітектури заліза для оптимізації реальної задачі. Своїм прикладом я хочу спонукати вас оптимізувати інші прикладні задачі. Перші дві статті вийдуть протягом тижня, решта — по мірі готовності.
Читати далі →

Детектор руху на основі биоинспирированного модуля OpenCV

image
Дана стаття буде корисна новачкам, які тільки почали використовувати бібліотеки OpenCV і ще не знають всі її можливості. Зокрема, на основі биоинспирированного модуля бібліотеки OpenCV можна зробити адаптивний до висвітлення детектор руху. Даний детектор руху буде працювати в напівтемряві краще, ніж звичайне віднімання двох кадрів.

Читати далі →

Kaggle і Linux. Digit Recognizer for analysts (для початківців аналітиків)

Для тих, хто тільки пізнає сферу аналізу багатовимірних даних, хочу поділитися досвідом, як відчути себе міні інформаційним аналітиком.

Хто ще не знайомий з сайтом Kaggle.com (англомовний), рекомендую не полінуватися і провести там кілька годин для загального ознайомлення з даними ресурсом.


На цьому сайті вже як 4 роки триває конкурс на найкращий аналізатор зображень. Взяти участь може кожен. Спочатку конкурс був до 31.12.16, але зараз він продовжений до 2019 року.

На Хабре вже був описаний спосіб, як написати програму і взяти участь, але там далеко не для новачків: «Як розпочати роботу в Kaggle: керівництво для новачків в Data Science».

Я вирішив спробувати свої сили, і при цьому не писати програму.

Читати далі →

Матеріали журналів Університету ІТМО: дослідження в сфері обробки зображень та комп'ютерного моделювання

У цьому дайджесті ми зібрали цікаві статті, що вийшли за останні 2 роки в журналах Університету ІТМО. Всі матеріали знаходяться у відкритому доступі і охоплюють теми, пов'язані з обробкою зображень (від розрахунків об'єктивів до автоматичної корекції зображення) і комп'ютерним моделюванням різних процесів: починаючи від роботи світлодіодного світильника і закінчуючи моделюванням поведінки індукційного датчика лага на глибоководному судні.


Читати далі →