Розробка у власному соку або як ми зрозуміли, що займаємося не тим, що потрібно користувачам

Ви коли-небудь замислювалися над тим, що тисячі компаній створюють свої продукти і технології у відриві від власних потреб і вирішують самостійно придумані проблеми, які слабо корелюють з реально існуючими?

У частині створення однієї з наших технологій ми, розробники Macroscop, ставилися до таких компаній: протягом 6 років працювали над функцією, яка, на нашу думку, повинна була зробити життя тисяч людей простіше і зручніше.

У 2008 році у нас народилася ідея максимально спростити процес пошуку в архівах відеосистем. Уявіть середнього розміру систему з 100 відеокамер і приблизно 1000 годин відеозаписів, які вони залишили за добу (зазвичай запис відео здійснюється тільки коли є активність в кадрі). І вам потрібно знайти щось в цих записах, але ви не знаєте, де і коли це відбувалося. Ви будете переглядати записи годину, другий, третій, і до моменту, коли знайдете те, що потрібно, проклянете все на світі.

Ми вирішили створити інструмент, який дозволить шукати по відео так само, як Google, шукає за текстом: ставите в системі людини з якимись прикметами, наприклад, одягненого в зелену футболку та чорні джинси, і отримуєте всіх, хто відповідає цим параметрам.
Ми створили такий інструмент і назвали його индексатором (технологією індексування об'єктів). Рішення працює з колірними поєднаннями зразка для пошуку: проводиться кластеризація об'єкта (виділяються однакові за кольором ділянки), для кожного кластера визначаються його характеристики, які в результаті утворюють індекс. Аналогічно індекси обчислюються для всіх об'єктів в архіві, і шляхом порівняння програма пропонує оператору набір результатів – всіх об'єктів, індекси яких близькі до індексу зразка.


Так в програмі індексування виглядає формування пошукового зразка: оператор може вручну розфарбувати фігуру людини у відповідні кольори.


Пошукові результати індексатора видаються у вигляді набору зображень. Оператор вибирає потрібний варіант, після чого переглядає відрізок відео з архіву.

Індексатор став для нас дітищем, на якому ми певною мірою збожеволіли. Ми були поглинені цією ідеєю і витрачали колосальну кількість сил, часу і грошей на розробку. Так ми найняли 2 команди висококласних розробників – команда «фізиків», випускників фізичного факультету, і команда «математиків» — випускників мехмату, які протягом цілого року «змагалися», різними методами вирішуючи завдання індексування. До речі, «фізики» в цьому змаганні перемогли :)

Ми проводили чимало кумедних експериментів, в ході яких перевіряли, як наш індексатор реагує на те чи інше освітлення, одяг тієї чи іншої забарвлення. Наприклад, в той рік проходячи по коридору бізнес-центру, в якому ми працювали, ви запросто могли зустріти чоловіків у різнобарвних сімейних трусах поверх костюмів або джинсів. Це були наші розробники, які тестували, як індексатор реагує на різні візерунки текстури.

Робота над розвитком індексатора тривала аж до 2014 року. Ми суттєво просунулися в розробці і створили реально працюючий інструмент, але завдання розпізнавання колірних поєднань дуже складна, тому навіть через 6 років якість роботи пошуку по прикметам не було ідеальним. При цьому індексатор і створений на його базі модуль інтерактивного пошуку був доступний для користувачів: він продавався в якості модуля або надавався безкоштовно в межах максимальної версії. Періодично ми випускали оновлення, в рамках яких щось покращували, але при цьому «падала». Часто це був індексатор, але практично ніхто і ніколи не звертався до компанії з проблемою, що пошук за прикметами не працює. І в якийсь момент ми зрозуміли, що такі запити та скарги не приходять з-за того, що просто ніхто ним не користується і НАВІТЬ НЕ НАМАГАЄТЬСЯ КОРИСТУВАТИСЯ. А ми займаємося конкретними розробками, реалізацією ідей, абсолютно відірвані від реальності.

У 2014 році ми визнали, що наша ідея пошуку за прикметами зазнала невдачі, рухатися далі в тому ж режимі було не можна. Ми вирішили зробити розворот.
План був таким: щільно поспілкуватися з 50 реальними користувачами систем відеоспостереження і дізнатися у них, що вони шукають, як вони шукають, що їм потрібно; зрозуміти, чи потрібен їм саме пошук або для них важлива робота якихось інтелектуальних функцій в реальному часі.
Ми почали зустрічатися і спілкуватися. В ході однієї такої зустрічі нам сказали: «Ваш пошук за прикметами – це теоретично цікаво, але на практиці нам частіше потрібно не просто знайти людину, а зрозуміти, як він переміщався по об'єкту: звідки прийшов, де був, коли і куди пішов». Незабаром цю ж потребу незалежно один від одного висловили ще 5 або 7 користувачів.

Ми задумалися, як можна вирішити цю проблему в рамках нашого ЗА користувачам-дані про переміщення людини по камерах всієї системи відеоспостереження. Ми приступили до розробки межкамерного трекінгу.

Межкамерный трекінг дозволяє відстежити переміщення об'єктів (у поточній реалізації людей) в полі зору всіх камер відеосистеми і отримати траєкторію цього переміщення. Тобто зрозуміти, звідки будь-яке людина прийшла, куди пішов і як рухався в рамках системи відеоспостереження. Технологія межкамерного трекінгу ґрунтується на все тому ж програмі індексування і пошуку за прикметами. Користувач вибирає будь-якої людини в кадрі і встановлює його в якості зразка для пошуку на інших камерах. Macroscop шукає всі візуально схожі об'єкти на найближчих камерах суміжних інтервалах часу. Користувачеві необхідно лише покроково підтверджувати потрібної людини в результатах.
Результат роботи межкамерного трекінгу — шлях переміщення людини на плані об'єкта, відеоролик з фрагментів пересування з різних камер або слайд-шоу зображень, які дозволяють відновити повну картину його дій: в яку пору з'явився на об'єкті, де перебував, коли покинув об'єкт.

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



Наш багаторічний досвід розробки індексатора підтвердив загальновідомі істини, про яких пишуть в книгах:
1. Генерація ідей у відриві від реальності і подальша їх самовіддана реалізація — дуже ризиковане заняття. Придумали щось- опитайте 10, 50, 100 користувачів. А краще не займайтеся абстрактним придумуванням, а виявите реальне хворе місце.
2. Намацали потреба, стали втілювати рішення – починайте з прототипів. І постійно тестуйте, і перевіряйте свої розробки на все тих же реальних користувачів. Чим тіснішим буде зв'язок розробників з реальним світом, тим вище шанси не витратити всі сили, кошти і час на реалізацію ідеї даремно.
3. Якщо люди не критикують ваш продукт, швидше за все, вони їм просто не користуються.
4. І, нарешті, головне – вчасно розпізнати, що ваша ідея провалилася, і зуміти зізнатися собі і вашій команді в цьому. Не боятися робити розвороти, аналізувати минулий досвід і бути готовим до того, що і нова ідея може провалитися. Але рано чи пізно, пробуючи і помиляючись, все-таки прийти до успіху.

Ми не знаємо, чи стане межкамерный трекінг на практиці корисною і потрібною фішкою нашого продукту. Тому й до його розробці ми ставимося не настільки фанатично як раніше до розробки індексування. Тим не менш, розробниками нової функції зроблено чимало, і технологія межкамерного трекінгу вже існує в релізі Macroscop і доступна для використання як у повній версії, так і в демо-варіанті: macroscop.com/download.html

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.