Все почалося з того, що дружина захотіла повісити годівничку для птахів. Ідея мені сподобалася, але відразу захотілося оптимізувати. Світловий день взимку короткий — сидіти вдень і дивитися на годівницю часу немає. Значить потрібно більше Computer Vision!

Ідея була простою: прилітає пташка — вжуууух — вона виявляється на телефоні. Залишилося придумати, як це зробити і реалізувати.
У статті:
  • Запуск Caffe на Raspberry Pi B+ (давно хотів це зробити)
  • Побудова системи збору даних
  • Вибір нейронної мережі, оптимізація архітектури, навчання
  • Обернення, вибір і приделывание інтерфейсу
Всі вихідні коди відкриті + описаний повний порядок розгортання отриманої конструкції.

Читати далі →

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



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

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

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

Читати далі →

Проста технологія класифікації розпізнаних сторінок ділових документів на основі методу Template Matching

image
Завдання класифікації добре відома: потрібно віднести довільний об'єкт з деякої вибірки до одного чи кількох класів з заздалегідь визначеного безлічі класів.
Читати далі →

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

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

Читати далі →

Аналіз та переклад мови прибульців з допомогою Wolfram Language



А що якщо прибульці дійсно захочуть відвідати Землю? Будуть світові лідери сприяти вивченню їх мови? Коли Дені Вільньов почав працювати над науково-фантастичним фільмом "Прибытие«йому і його команді довелося звернутися до справжнім вченим Стівену і Крістоферу Вольфрамам, щоб представити справжню науку на великому екрані. Крістоферу була поставлена задача аналізу і написання коду для вигаданого нелінійного, візуального мови.
Читати далі →

Створення анаморфных спотворень у Unity

Всім привіт! Зараз я працюю в VRTech, і в рамках роботи я натрапив на цікаву задачу про яку хочеться розповісти. Завдання полягало в тому, щоб отримати анаморфной відображення картинки. Я спробую розповісти, що таке анаморфные спотворення, як розрахувати найпростіший випадок лінійного відображення такого спотворення на площину, а так само запропоную своє рішення реалізоване за допомогою Unity.

image

Читати далі →

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

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


Читати далі →

Ненудний SCRUM і сегментація зображення для виділення Post-it наклейок

image
" Натхнення, яке шукав весь ранок,
наздогнало в найневдаліший момент.
І як пояснити, що я йду на SCRUM?
— Підемо зі мною ?! "


imageКомунікація в команді— сувора необхідність великих проектів. Це не повинно виглядати як ешафот або примусове збори анонімних алкоголіків. Від команди потрібно участь, потрібен блиск в очах, кожного має рвати від бажання висловитися, як від пафосності цієї пропозиції. Поступово наша команда еволюціонувала до SCRUM-моделі, багато в чому завдяки простим і наочним наліпок. Який же SCRUM без наклейок? Майже у кожного в дитинстві були наклейки і, десь глибоко в підсвідомості засіли спогади, коли нас, ще будучи дитиною, вчила клеїти вихователька і, якщо наклейка була приклеєна рівно, як заохочення, вона не била по руках. Але навіть в нашому безтурботному дитинстві доводилося робити речі, які здавалися нам нудні і незрозумілі — прибирати іграшки, відтирати стіну від ручки або писати під диктовку. Подорослішавши, у нас з'являється вибір — ми можемо перекласти роботу на інших. А хто захоче за всіх писати backlog (звіт) і потім переносити дані в Jira? Використання Jira безпосередньо в процесі мітингу виводить учасника з обговорення, тому, після прийняття конвенції ООН про скасування рабства, залишається перекласти це завдання на роботів.
У результаті народилася ідея написати програму розпізнавання і відстеження карток завдань на SCRUM-дошці.

Читати далі →

Установка OpenCV в Windows для чайників та підключення бібліотеки Code Blocks

image
Дана стаття буде корисна чайникам новачкам у програмуванні, які хочуть почати вивчати технічне зір за допомогою бібліотеки OpenCV з повного нуля. Якщо Ви користувач Windows і не знаєте, що таке «командний рядок», або що означає «прилинковать бібліотеку», і при цьому Ви мрієте глибше вивчити роботу OpenCV та програмування «під залізо», перейти на багатоплатформовий, піти по шляху тру фахівця, то Вам сюди. У статті будуть наведені докладні інструкції з картинками, так що не зрозуміти, що до чого, буде просто неможливо!

Читати далі →

Дослідження методів сегментації зображень

У статті описано дослідження методів сегментації зображень на різних прикладах. Метою дослідження є виявлення переваг і недоліків деяких відомих методів.
Методи, які будуть розглянуті у даній статті:
  1. Метод вирощування регіонів;
  2. Метод вододілу;
  3. Метод нормальних перерізів.
Дослідження методів сегментації на модельних зображеннях
Дослідження методів сегментації спочатку проводилося моделях зображень. В якості моделей використовувалися дев'ять видів зображень.
image
Читати далі →