Як проходить стажування у Facebook Reality Labs і чому наука буває цікавішою за інженерію — розповідь української дослідниці

Ярослава Лочман, випускниця магістерської програми Data Science Українського католицького університету (УКУ), після закінчення навчання стажувалася у Facebook Reality Labs в Pittsburgh, PA — підрозділі компанії, який розробляє нову платформу спілкування з використанням системи віртуальної реальності. Під час інтернатури провела власне дослідження з автоматичного калібрування камер з wide-angle та fisheye-об’єктивами. В інтерв’ю ДОУ Ярослава розповіла, як проходило стажування, як вона продовжує академічні дослідження з комп’ютерного бачення та чому обирає науку на користь інженерії.

— Ярославо, розкажіть, де ви здобували освіту і як вона вплинула на ваш професійний вибір — дослідження у комп’ютерному баченні?

Я закінчила бакалаврат в Інституті прикладного системного аналізу КПІ, спеціальність «Математичні методи системного аналізу». Навчання поєднувало фундаментальну математику і програмування, але фокус усе ж був на математиці. На третьому-четвертому курсі, маючи вже певне розуміння математичних методів і технологій розробки, я почала цікавитися, де їх можна застосовувати.

Це був 2017 рік, тоді Data Science (DS) та Machine Learning (ML) вже набували популярності. Я зареєструвалася на безкоштовний курс від DataRoot Labs — це, по суті, онлайн-навчання + офлайн-тести що два тижні + офлайн-проєкт — класний формат, як на мене. Через певний час я зрозуміла, що машинне навчання — це гарний вислів, який уособлює статистичні методи і, залежно від напряму, приправлений оптимізацією, лінійною алгеброю, геометрією тощо. І вже було не так страшно, а зацікавило ще більше.

Під кінець курсу успішно склала тести й отримала можливість пройти інтернатуру в Ciklum R&D. Я обрала проєкт, пов’язаний з Computer Vision (CV) — це прикладна галузь, що має на меті витягнути максимальну кількість корисної інформації із зображення/зображень за допомогою методів обробки сигналів, геометрії, ML тощо.

Особливістю цього і подальших проєктів у Ciklum було заохочення власного розвитку у CV/ML та фокус на навчанні. Нас спонукали розбирати статті з топових конференцій (наприклад, CVPR, ICCV, ECCV, NeurIPS) і релевантні проєкти в GitHub, аналізувати найновіші методи й врешті розроблювати власні підходи, based on the state of the art. Мені пощастило з командою, ми брали участь у змаганнях Kaggle, їздили на локальні конференції (ODSC 2018 та EECVC 2018, мабуть, мене найбільше надихнули), презентували постери на міжнародних заходах або виступали на локальних зустрічах тощо.

І, головне, в нас був класний ментор, Ігор Крашений, який не тільки завжди знаходив час, щоб допомогти, розказати щось цікаве/корисне, поділитися досвідом, а й постійно вражав власними досягненнями. Таким чином я робила перші маленькі кроки у світ досліджень у CV. Як варіант бакалаврського диплома Ігор запропонував мені проаналізувати методи пошуку локальних ознак на зображенні (local feature extraction). Це, мабуть, один з моїх перших університетсько-дослідницьких проєктів.

Багато з моїх близьких друзів теж долучились до CV/ML-ком’юніті впродовж року, і ми часто заохочували одне одного поїхати на якусь локальну конференцію, тематичні івенти, змагання, хакатони.

На хакатоні

Якось вони поділилися крутими враженнями про літню школу з DS/ML від УКУ, на яку раніше їздили. Я тоді якраз розглядала цей університет для магістратури (програма з Data Science), чула гарні відгуки про виш, тож вирішила, що літня школа стане чудовою можливістю познайомитися зі спільнотою УКУ. Я хотіла з’їздити на неї ще за рік до того, але не пройшла відбір.

Під час чергової подачі до школи я паралельно подалася на магістратуру та дослідницьку стипендію, яку факультет прикладних наук пропонував уперше. Завжди хотіла спробувати pure research діяльність, тому вирішила податися на стипендію. І тоді, під час літньої школи, склала вступні екзамени та пройшла інтерв’ю з дослідниками лабораторії машинного навчання.

Того року нас, стипендіатів, було двоє — я та Олег — і в кожного з нас був науковий керівник — James Pritts і Тетяна Богодьорова відповідно. Олег і Тетяна працювали за напрямом Reinforcement Learning, а я та Джеймс — Computer Vision. Стипендія передбачала full-time навчальну та дослідницьку діяльність з фокусом на останнє. Наступного року в лабораторію запросили ще більше студентів, деякі були залучені до наукової роботи, а деякі співпрацювали з індустрією.

Літня школа в УКУ

Магістерські курси охоплювали як математичний фундамент і програмування, так і прикладні теми — Computer Vision, Natural Language Processing, Time Series Analysis і багато інших. Викладали їх люди з різних куточків України та світу, представники академії та індустрії. Майже всі курси передбачали фінальний проєкт. Тож ми мали змогу спробувати все потроху, попрактикуватися та обрати найцікавіший для себе напрям для диплома і загалом. На деяких курсах нас заохочували брати участь у міжнародних змаганнях. І впродовж першого року навчання, наприклад, дві наші команди посіли друге і третє місця в Queens International Innovation Challenge 2018, який проводив канадський університет Queens.

Щодо наукової діяльності, то спершу Джеймс, який на той момент закінчував PhD в Czech Technical University (CTU), залучив мене до напрацювань в автоматичній ректифікації зображень (виправлення дисторсій об’єктива та ре-проєктування зображення на площину, параллельну домінуючій площині 3D-сцени — ред.) та часткового калібрування камер. Тоді я здебільшого займалася експериментальною частиною. Пізніше ми звернули увагу на те, що порівняльний аналіз таких методів з погляду ефективності важко проводити на реальних даних. І було б добре розробити алгоритм оцінювання на основі RGBD даних (картинка + карта глибини, тобто відстаней до об’єктів), чим я трохи займалася далі. Загалом у нас було завдання поліпшити методи ректифікації та часткового калібрування. І за час дослідницької діяльності ми мали різні ідеї стосовно того, як будемо це робити. У нас була колаборація з університетами CTU та ETH Zurich.

Приклад роботи запропонованого методу ректифікації. На вхідному зображенні автоматично детектується основна площина разом із дисторсією лінз. Ректифіковане зображення генерується на основі вихідних параметрів

Також викладачі Олесь Добосевич і Ростислав Гринів з УКУ долучилися до співпраці. Щось з наших ідей працювало. Щось здавалося неможливим, і ми закидували це. Іноді знаходили нещодавно опубліковані статті, в яких те, над чим ми працювали, вже було реалізовано. Таке часто буває в research в AI/DS/ML/CV тощо, бо це гаряча тема. А щось не працювало, і тоді було особливо важко, бо втрачаєш впевненість і починаєш сумніватися в собі. Це, звісно, нормально, проте я усвідомила це тільки з часом. Якось Джеймс запропонував цікаву ідею для поліпшення ректифікації зображень. Як ми пізніше виявили, вона дала змогу розв’язати складнішу задачу — автокалібрування камери. Цю задачу я взяла собі як тему на диплом і далі розвивала у своїх дослідженнях.

За час навчання на магістратурі та наукової роботи я відкрила для себе неймовірну спільноту УКУ: це не просто талановиті та цілеспрямовані люди, а люди з прекрасними цінностями, вони прагнуть розвиватися та розвивати країну, поважають одне одного та піклуються одне про одного.

Випускні урочистості УКУ

— Як ви потрапили на стажування у Facebook Reality Lab (FRL)?

Я подалася на Research Internship восени 2019 року (відкриті позиції можна знайти, наприклад, тут), під час роботи над дипломом. Про цю можливість мені розповів Джеймс, який тоді вже був Post-Doctoral Research Scientist в FRL. Тут відзначу важливість встановлення зв’язків із колегами, одногрупниками, нових знайомств на різноманітних літніх школах або вузькоспрямованих конференціях. Багато з них можуть розказати про відкриті позиції, які самостійно було б складно знайти. І не менш важливо: якщо раніше у вас була можливість попрацювати разом, то ці люди зможуть надати рекомендацію під час подачі на позицію.

FRL розробляє нову платформу спілкування з використанням системи віртуальної реальності (VR). Основні пристрої такої системи — це VR-хедсети, або VR-окуляри. Завдяки новій платформі людина у VR-окулярах матиме змогу бачити та чути співрозмовника максимально близько до того, як це відбувається в реальному спілкуванні, тобто зберігаються 3D візуальний та аудіопростори. Це, безсумнівно, новий рівень спілкування, набагато крутіший, ніж 2D-зустрічі, під час яких, наприклад, складно підтримувати зоровий контакт. Докладніше про це можна подивитися тут.

VR-окуляри мають вбудовані системи мінікамер. Відкалібрувавши такі системи, можна із 2D-зображень об’єктів отримати їхні 3D-позиції в реальному світі. Зокрема, калібрування камер відновлює співвідношення між пікселями на зображенні та вхідними променями. Докладніше про це можна подивитися тут.

Зазвичай вбудовані камери мають велике поле зору або це fisheye-камери (поле зору близько 180° і більше). Їх вигідно використовувати для VR, оскільки зображення охоплюватиме більший простір, тобто міститиме більше інформації про зовнішній світ. Такі камери мають складну систему лінз і модель проєкції, тому виникає купа проблем під час їхнього калібрування. Тема дослідницького проєкту, на який я подавалась, стосувалася вирішення цих проблем.

Зліва VR хедсет Oculus. Справа приклад проєкції променів на зображення з використанням камер fisheye

Це була відкрита конкурсна позиція, що передбачала оплачувану full-time дослідницьку діяльність за певним напрямом і тривалістю 6 місяців. Процес подачі був приблизно такий:

  1. Листування з HR, де я розповіла про свою діяльність і плани. Я ще була магістром, але хотіла далі йти на аспірантуру. Це не було проблемою при розгляді моєї кандидатури, тобто необов’язково бути аспірантом на момент інтернатури. Також обговорювали організаційні деталі на кшталт візи, потенційні дати працевлаштування тощо.
  2. Онлайн-інтерв’ю з менеджером групи (майбутнім ментором), під час якого, крім поточних справ і загальних інтересів, я презентувала свій майбутній магістерський диплом. Великим плюсом було те, що тема диплома була близькою до теми дослідницького проєкту, і коли я проходила інтерв’ю, то вже була на етапі фіналізації. Тож могла не просто розповісти про ідею запропонованого підходу, а й пройтись по технічних деталях напрацювань.
  3. Друге онлайн-інтерв’ю із Senior Research Scientist у FRL, на якому розв’язувала технічні задачі, здебільшого пов’язані з CV.

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

Хочу додати, що під час подачі на таку дослідницьку інтернатуру необов’язково одразу вміти все-все, що може знадобитися під час роботи. Теми проєктів часто є вузькоспрямованими. Важливою складовою інтернатури є не тільки саме дослідження, а й процес навчання та набування нових навичок і специфічного досвіду. Мені трошки пощастило, бо я здобула базовий досвід перед тим, коли працювала над дипломом, що стало певною точкою опори. Приблизно в кінці листопада 2019-го мене запросили на інтернатуру. Під кінець лютого, за кілька тижнів після закінчення магістратури в УКУ, я полетіла до FRL у Pittsburgh, PA на інтернатуру.

— Як проходила інтернатура? Як працювала і взаємодіяла команда?

Я потрапила в групу hardware-розробників. У ній було близько 10 людей, більшість з них інженери й лише кілька дослідників. Це пов’язано зі специфікою моєї теми дослідження, а також закладеною структурою лабораторії. Я на той час була єдиним інтерном (ще з одним якраз розминулися, він закінчував інтернатуру, коли я приїхала). Переважно працювала зі своїм ментором (Michal Perdoch) та науковим керівником моєї магістерської роботи з УКУ (James Pritts) — і знову мені пощастило з командою. Ми зустрічалися двічі на тиждень, обговорювали ідеї, задачі, що вже вдалось зробити, що не вдалося, які є проблеми, на що варто звернути увагу тощо. Упродовж перших трьох робочих тижнів я встигла злітати в Menlo Park, CA на дводенну орієнтаційну сесію та покайфувати від роботи onsite та живого спілкування. В середині березня всі перейшли на віддалений формат роботи та онлайн-зустрічі, як і в багатьох інших місцях.

Орієнтаційний день у Facebook

План досліджень був приблизно такий: відповідно до проєкту, узгодженого з науковим керівником/ментором, формулюєте проблему, розбираєтеся в її деталях, складнощах — вивчаєте попередні роботи, намагаєтеся поставити якомога більше запитань до них. Якщо щось потенційно важливе не було враховано у тих працях — це можливість розібратися в прогалинах і придумати новий, потенційно кращий, підхід. Тестуєте ідеї, гіпотези, проводите попередні експерименти, паралельно знов-таки переглядаєте дотичні роботи, потім знову нові ідеї, експерименти — цей процес циклічний.

Моя тема дослідження — калібрування камер з wide-angle та fisheye-об’єктивами. Калібрування полягає у пошуку відповідності між пікселем на зображенні та вхідним променем. Зазвичай розглядають конкретні параметричні моделі камер, це звужує простір пошуку оптимальних параметрів. У широко відомих роботах на першому етапі калібрування (ініціалізація) використовують занадто прості моделі, наприклад pinhole або rational projection model. Тобто рівняння проєкції мають відносно просту структуру (раціональні функції) і тому дають змогу ефективно розв’язувати системи рівнянь для пошуку параметрів. Але такі моделі не здатні описати камери з полем зору близько 180 градусів або більше.

Тож на етапі ініціалізації параметрів, коли розв’язуються системи рівнянь, модель відповідності є часто недостатньо точною, щоб гарантувати збіг калібрування. У своїй роботі я розглядала більш точні та універсальні (з погляду типу камер) моделі й розробляла методи ефективного пошуку їхніх параметрів. Зрештою, ми створили Matlab-прототип універсального фреймворку калібрування камер. Наразі команда з FRL та УКУ в рамках Sponsored Research Agreement працює над інтеграцією С++ версії в систему калібрування, яку використовують в AR/VR-підрозділах.

— Які маєте враження після стажування, як воно допомогло вам зрозуміти, куди в професії рухатися далі?

Для мене це був не просто класний досвід, а й приклад того, як результат досліджень може бути застосований одразу для розв’язання актуальних проблем індустрії. Думаю, це одне з найважливішого у роботі — як кажуть, making impact. Це й купа знайомств. Люди у FRL неймовірно цікаві, у кожного свій неповторний досвід і свої унікальні завдання та обов’язки. Вони готові допомогти та пояснити деталі, які іноді складно знайти в книжках/гуглі. Відкриті до будь-яких обговорень і загалом ініціативні, драйвляться своєю справою та ідеєю лабораторії.

Важливою складовою співпраці була довіра, що вселяло впевненість і водночас розвивало відповідальність. Крім того, за ті пів року я прокачала багато важливих скілів: фундаментальні технічні (наприклад, оптимізація, геометрія, оптика), академічне письмо, навички презентації. Інтернатура була для мене справжнім бустом досвіду та знань.

Мотиваційні постери у Facebook. Розважальні полички у FRL

Коли займаєшся комп’ютерним баченням, вагому роль відіграють геометрична частина і навчання на даних. Так вийшло, що спочатку я зацікавилася машинним навчанням, а потім мій науковий керівник запропонував тему з фокусом на геометрію. І так я відкрила для себе світ класичного 3D Computer Vision і мала змогу набратися досвіду на інтернатурі. Тепер, маючи ширше розуміння двох різних технологій, прагну поєднати у своїх напрацюваннях найкраще з обох світів, бо бачу в цьому великий потенціал — умовно поєднати фізичні закони світу із навчанням за великою кількістю прикладів. І це, схоже, актуальна проблема.

— У грудні 2020-го ви розпочали аспірантуру в Chalmers University of Technology у Швеції. Чому саме цей університет? Розкажіть, як відбувався вступ і на чому зосереджуєтеся у навчанні?

Позиція PhD, на яку я подавалася, поєднує такі галузі, як геометрія, оптимізація та машинне навчання, для розв’язання задач 3D Computer Vision. Саме це я і шукала в майбутній аспірантурі. Я потрапила в Computer Vision and Medical Image Analysis group. Багато учасників цієї групи (а також із «сусідніх» груп і груп з інших університетів, з якими ми співпрацюємо) відомі своїми фундаментальними роботами в напрямі 3D Computer Vision, тож це можливість познайомитися і попрацювати із дуже талановитими та досвідченими людьми.

Процес подачі документів на PhD майже такий, як в інтернатурі: пакет документів, мотиваційний лист, проходження інтерв’ю. Аспірантура в Chalmers — це full-time робота, тому оплачувана. Водночас аспіранти мають всі «плюшки» студентів на зразок знижок на транспорт (а транспорт тут дорогий, тому це актуально), бонуси у позанавчальній діяльності (наприклад, нещодавно знайшла польоти на повітряних кулях!) тощо. Паралельно з проведенням досліджень аспірант має брати курси й викладати. Передбачено приблизно п’ять років такої змішаної роботи-навчання.

Chalmers University of Technology

Тема мого проєкту — Learning and Leveraging Rich Priors for Factorization Problems, а назву диплома поки що обговорюємо. Зараз я ознайомлююся з задачами, вивчаю підходи, шукаю gaps. Одне із застосувань, на які ми дивимося, — це Non-Rigid Structure from Motion (NRSfM). Ідея полягає в тому, що за послідовністю кадрів треба відновити 3D-модель і траєкторію руху об’єкта, який може змінювати форму під час руху, при цьому камера теж може рухатися. Простий приклад: людина танцює, камера рухається, як відтворити 3D-модель людини та її рухи? Методи, які вирішують це завдання, можуть бути використані у сфері віртуальної або доповненої реальності або в системах автономної навігації. Складність у тому, що в нас мало інформації й багато невідомих (ill-posed setting). Накладання або перешкоджання об’єктів іншими об’єктами або погано задетектовані точки ускладнюють задачу ще більше.

Загалом дослідницька діяльність мені подобається тим, що це (дуже цікаво і класно) ефективний спосіб здобути максимальну кількість навичок в обраному професійному напрямі. Вона вчить розбиратися в проблемі до дрібних деталей і, що не менш важливо, дає можливість розробити нові, унікальні та якісні рішення актуальних задач науки та індустрії. Серед навичок, якими має володіти дослідник, я б назвала наполегливість і терпеливість, бо один проєкт, особливо спочатку, може вимагати, наприклад, півроку-рік вузькоспрямованої праці. Великим помічником для дослідника, на мою думку, буде стресостійкість, хоча, ймовірно, ця навичка потрібна кожному в 21 столітті, особливо нині.

— Ви навчалися в різних вишах. Як у кожному з них ставляться до намірів студентів ставати дослідниками?

У КПІ я не дуже була залучена до дослідницького процесу. Там для цього, напевне, потрібно йти в магістратуру або краще вже в аспірантуру. На бакалавраті мого факультету студенти частіше самі намагалися знайти актуальні теми, аніж хтось із професури пропонував їх (але не без винятків). Зв’язків з індустрією особливо не було. І тож це було складно, адже бакалаври загалом не мають достатньо досвіду, щоб визначити потенційно корисні задачі, які можна взяти на дослідження (знов-таки не без винятків).

В УКУ ж, знаю з власного досвіду, буде набагато легше знайти цікаві та актуальні проєкти та підтримку, якщо є бажання займатися дослідженням. Там швидко можна влитися в спільноту, оскільки є безліч івентів, курсів, ініціатив (тепер, очевидно, більше онлайн). Також УКУ активно співпрацює з іншими університетами та компаніями. Наприклад, коли я там навчалась (до речі, мої дослідження частково спонсорував ELEKS), виш співпрацював із CTU (Чехія), і багато студентів — бакалаври та магістри — їздили туди на практику, стажування. Ще були приклади співпраці зі Scotiabank (Канада), Inria (Франція), University of Tartu (Естонія). На літні та зимові школи приїжджають викладати професори, дослідники, інженери з різних куточків світу — від Японії до США, розповідають про актуальні проблеми за різними напрямами — Natural Language Processing, Time Series Analysis, Computer Vision тощо.

Від знайомих чула хороші відгуки про KSE. Кілька з них туди подавалися. Чула, що вони мають цікаві проєкти з Data Science та співпрацюють з індустрією. Коли налагоджена схожа взаємодія, це означає, що порушуються справді важливі для технологічного розвитку країни або світу питання.

— Які ще осередки дослідників-академіків знаєте в Україні?

Українська дослідницька група Szkocka — чудовий приклад ініціативи від дослідників для дослідників. Дізналася про неї від одного із засновників, Dmytro Mishkin. Ця група кооперує студентів, дослідників і наукових керівників, надає актуальні теми та гранти на проєкти у сфері CV/ML. Також вони заохочують подаватися на топові міжнародні конференції, що, на мою думку, дуже важливо.

Локальні конференції теж мають вагоме значення. Особливо це класна можливість для початківців дізнатися багато нового та потенційно цікавого і познайомитися зі спільнотою. Я вже казала, що колись надихнулася двома конференціями, які відбувались в Україні. Перша — це Open Data Science Conference 2018. Пам’ятаю, що деякі задачі, про які я тоді почула вперше, викликали в мене великий інтерес. Наприклад, один зі спікерів розказував про проблему Domain Adaptation.

Якщо коротко: маємо модель, яка добре працює в певному, ймовірно, обмеженому середовищі. Дані, за якими було натреновано модель, не є репрезентативною вибіркою, проте мають певні властивості, закономірності. Тож питання, як таку модель перенести в іншу область даних, можливо, зі своїми закономірностями (як адаптуватися до нового домену). Або як її максимально узагальнити. До речі, для людини це просте завдання (здатність узагальнити міркування), але для машини поки ні. Це мене тоді захопило, іноді я щось вивчаю у цьому напрямі з цікавості. Ось приклад того, як на конференції можна дізнатися щось радикально нове й захопливе.

Друга конференція — Eastern European Conference on Computer Vision — проходить влітку в Одесі вже кілька років поспіль. Конференція збирає багато крутих спікерів і слухачів, торік (коли я відвідувала її вдруге) там, напевне, була найвища (або одна з найвищих) концентрація українських CV-дослідників, інженерів, студентів в одному місці... Одного разу там виступала дослідниця із CTU, чия презентація мене дуже вразила. А за пів року мені пощастило з нею трохи попрацювати. Мій науковий керівник, як виявилося, був її PhD студентом.

Останній рік я переважно перебувала за межами України. Але, зважаючи на минулий досвід, маю враження, що DS/ML-дослідникам в Україні важко. Ця сфера розвивається швидко, і більшість університетів не встигає адаптуватися до нових реалій. Оскільки research-центрів як таких у нас немає (наскільки мені відомо), університети, які, на мою думку, мають бути найбільшими research-осередками, здебільшого не встигають, то залишаються дослідницькі відділи в IT-компаніях і в деяких приватних університетах. Якщо студент/дослідник не залучений до таких відділів, то він має відчайдушно шукати команду та кошти на власний проєкт (наприклад, через дослідницькі групи або шукати підтримку за межами країни). В ідеалі, вони не мали б цим займатися.

Звісно, їхнє завдання, окрім власне досліджень, — оприлюднити/опублікувати свої напрацювання, показати, чому проблема є актуальною та чому запропонований підхід є найкращим, тобто презентувати, «продати» свої роботи (для цього, зокрема, максимально важливо брати участь в топових конференціях за напрямом, публікуватися у відомих журналах). Проте зацікавленість з боку high level representatives і налагоджена комунікація між академією, індустрією і, можливо, державою, думаю, необхідні для розвитку та створення інновацій.

Похожие статьи:
QAthon (марафон для QA-специалистов) — это возможность проверить свои знания на прочность, проявить себя в нестандартных условиях,...
Цього разу DOU Ревізор завітав до Crello — українського стартапу, заснованого у 2016 році, що розробляє графічну платформу для...
У випуску: нові релізи PyDev та IPython, термінальний клієнт для SO та невдалі спроби контріб’ютити в Python. Новини AWS Lambda now supports...
[Про автора: Ярослава Качан — technical writer у Ciklum, співзасновниця спільноти техрайтерів в Україні, організаторка воркшопів...
34-річний Тарас Покорний з Чернівців. До повномасштабного вторгнення працював Software Development Engineer у компанії DataRobot,...
Яндекс.Метрика