Як я створив додаток, що перетворює iPhone на прилад нічного бачення

Вітаю! Мене звуть Віктор, я Lead Software Engineer у GlobalLogic. Одне з моїх захоплень — фотографія. Ще до війни я мріяв написати мобільний додаток для нічної зйомки. Свого часу я проводив дослідження щодо зниження цифрових шумів зображення шляхом усереднення знімків.

Коли почалася війна, вона внесла корективи в наше звичне життя та змістила пріоритети. Так, у мене з’явилася мета написати додаток, що зможе замінити пристрій нічного бачення, наскільки це дозволяє оптична система телефону. Це історія про появу додатку Green Night.

Про продовження ідеї можете почитати тут

Пару слів про мрію

Я не професіонал у фотографії, але дуже люблю цю справу, якщо бажаєте, можете підписатись на мій Instagram, та подивитись мої роботи. Мені цікаво все, що знаходиться на стику технологій програмування, фотографії та комп’ютерної графіки.

У жовтні 2021 року моє захоплення набуло практичного обрису — я почав експериментувати зі статистикою: робив по 4096 знімків одного і того ж об’єкта, обʼєднував їх і вивчав результати зменшення шумів. З книжок про статистику я дізнався, що якщо пристрій не може виміряти точно з першого разу, можна вимірювати багато разів, а результати усереднити.

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

Я мріяв написати якісну програму для нічної зйомки і зовсім не планував створювати альтернативу приладу нічного бачення. Мені хотілося робити якісні нічні фотографії шляхом усереднення шумів.

Через деякий час я дізнався, що розробники Apple мене випередили — на нових iPhone була реалізована технологія, коли за допомогою довгих захватів та усереднень виходив непоганий знімок на неосвітленій вулиці. Чесно кажучи, я трохи засмутився, але не зупинився. Я продовжив вивчати Swift і купив собі новий iPhone, щоб протестувати його можливості.

Пошуки «саме того» додатка

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

Я бачив, що в Маріуполі, Ірпені та багатьох інших українських містах немає зв’язку. Мені хотілося зробити так, щоб телефони виступали ретрансмітерами, об’єднувалися в мережі й повідомлення передавалося від телефона до телефона, поки не знайде такий, який підключений до інтернету.

Для таких завдань бажано використовувати модуль GSM, оскільки він дозволяє передавати сигнал на 2-3 км. Але, на жаль, iOS не надає API до цього модуля, а через велику кількість конструктивних обмежень фреймворку Multipeer Connectivity та протоколу Bluetooth, ця ідея відпала.

Додаток, який несподівано набув поширення

Я продовжував думати над тим, який корисний додаток можна було б створити, і тут мій знайомий купив тепловізор для свого брата, який задіяний у бойових діях поблизу Миколаєва. Раптово згадав свої старі мрії про нічні зйомки та усереднення фотографій.

Я проаналізував програми для нічного бачення, які вже були на App Store, і за пару днів створив Green Night. За ніч я написав програму з нуля, ще кілька днів тестував технологію та покращував параметри. Це зайняло у мене не дуже багато часу, оскільки я вже був на стику технологій і добре розумів специфіку.

Раніше я вже викладав програми у App Store. Це був платний калькулятор, який завантажили лише мої родичі та друзі. Тому цього разу я вважав, що Green Night матиме приблизно такий самий успіх — його звантажать лише мої мама, бабуся та пара знайомих. Але я не врахував, що через війну люди швидше розповсюджують новини. Станом на 7 квітня мій додаток завантажили понад 16 тисяч користувачів. Наразі він посідає 4 місце у категорії навігації.

Звичайно, Green Night — це не професійний військовий інструмент, але він може бути корисним уночі. Наприклад, через світломаскування у темний час доби не можна включати ліхтарик або освітлення. Щоб не порушувати цього правила, можна оглянути околиці через Green Night, адже додаток підтримує 15-кратний зум.

Також додаток може бути корисним на блокпостах і в територіальній обороні. При цьому аплікація не доступна для Росії та інших сателітів цієї країни — Білорусі, Казахстану тощо.

Технічні особливості додатка

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

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

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

Плани на майбутнє

Надалі я продовжу покращувати свою програму, але поки не буду розголошувати, як саме. Я вже залив кілька оновлень Green Night, у яких допрацював програму.

Зараз програма не йде в сплячий режим і використовує весь екран телефону, також вдалося підвищити якість картинки. Користувачі першої версії найбільше скаржилися на режим сну — програма гасила екран телефону буквально за 10 секунд. Відгуки для мене є дуже важливими, оскільки вони допомагають виявити вектор подальшого розвитку.

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

❗️ Пишіть у коментарях свої відгуки, а також нові ідеї продуктів для оборонки ❗️

Сподобалась стаття? Натискай «Подобається» внизу. Це допоможе автору виграти подарунок у програмі #ПишуНаDOU

👍ПодобаєтьсяСподобалось17
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Реально превратить в пнв можно только Айфон с лидаром, остальное костыли. Но эта штука вообше не имеет смысла, потому что ПНВ и 13 айфон стоят примерно одинаково, но пнв не будет тебе в лицо шпарить. Так шо как игрушка прикольно, но для чего-то существенного оно не подходит.

Таке зауваження щодо «Моя програма отримала від App Store знак валідації» і лейби «Дані не збираються» — насправді не ніякий не знак валідації — це швидше декларативна річ — кожен розробник просто заповнює форму і сам вказує збирає він дані чи ні — і в Apple наразі того не перевіяють.

В моїй практиці були додатки, що збирали дані — а власники App Store аккаунта, щоб не заморочуватися — позначали «Дані не збираються», або вказували не всі дані, що збираютться, і це жодного разу не завадило випуску додатків.

Мега глючна апка, фпс ~1 кадр в секунду

Було б більше користі якби витрачений час попрацювати на реальному проекті та задонатити зароблене. Тим більше і раніше в сторах було купа таких «приладів нічного бачення»

Ответьте мне в Линкелине! Ваше предложение после критики только донатить на армию? Так мы донатим, а еще человек и этим заниматься, что плохого то? Сделайте лучше! Ну и главный вопрос, в линкедине Вы ответили фотографией QR-кода на мониторе, так же??? Тех лид...)))))

Нагадаю немає апартної можливості камері айфона чи андроїдфона уловлювати іч

Это неправда, все CMOS сенсоры работают далеко не только в видимом диапазоне. Даже телефоны 15 летней давности прекрасно умели отображать через камеру IR диапазон пультов для бытовой техники. Вопрос только в квантовой эффективности.

Почитати щось по фізиці не пробували ?

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

Я звернув увагу що в статті немає елементарного теста — скріншота зйомок темного простору хоча б на 50-100м вперед вночі.

Там есть примеры в описании приложения в apple store.

Якщо там буде видно людина це чи корова, як це видно на тепловізорах, які юзають вояки, респект.

Wow, wow! Take it easy. Night vision — 650nm-1100nm, Thermal vision — 1000nm — 15000nm — это совершенно другого класса устройства.

Ну задекларовані цілі цілком військові.

Щоб не порушувати цього правила, можна оглянути околиці через Green Night, адже додаток підтримує 15-кратний зум.
Також додаток може бути корисним на блокпостах і в територіальній обороні.

Оглянути околиці вночі? Як? Інфрачервоне світло хіба не лише теплі об’єкти випромінюють? Я дивився знімки з професійних тепловізорів, так навіть там майже ніхера крім людей-машин не видно.

Оглянути околиці вночі? Як? Інфрачервоне світло хіба не лише теплі об’єкти випромінюють?

Ты говоришь о термальном диапазоне — FIR. Но ночь подсвечена в NIR диапазоне на открытых местностях довольно обильно.
В автомобильной электронике это сделано для обнаружения пешеходов ночью, вот тут можешь посмотреть как оно выглядит при съёме с сенсора:
www.semanticscholar.org/...​13c5e5ec6bbeced5fc87b00b0

Я дивився знімки з професійних тепловізорів, так навіть там майже ніхера крім людей-машин не видно.

Тепловизор — это другой класс устройств. Сенсор в камере телефона в том диапазоне полностью слепой.

FIR, естественно, на порядок лучше NIR, его тяжелее обмануть. Например, мало кто знает, что форма для отделов спецопераций у многих стран NATO покрыта специальным NIR поглощающим материалом, что обмануть Night Vision приборы 1-4 поколеней, которые работают в NIR/MIR диапазонах, против тепловизоров (FIR) это уже не работает.

Яка нах*й квантова ефективність, фізику пройдіть за 7 клас «знаточки», іч спектр з території яку хочеш побачити ти як знайдеш то а ? З прожекторо бігати будеш чи як ?

Самое несмешное в этом то, что человек, который этого не делал, рассказывает человеку, который это уже делал для automotive и оно уже в production, что это невозможно. Это тема стала настолько популярна с обычными сенсорами, что один из самый крупных производителей сенсоров — omnivision начал делать специальные модели сенсоров: www.ovt.com/...​oducts/ox05b1s-e89y-1a-z

До Аякс в співпрацю на створення моделі, андерстуд ?

Во-первый Аякс — это далеко не гуру, я бы даже сказал наборот. Аякс ставят копеечное железо, которому нужна инфракрасная подсветка, т.к. QE (квантовая эффективность) у сенсоров там даже не дотягивает до 1% — это разве не очевидно?

Який аутомотів, який продакшн про що ти ?

Про то, где вышеописанное успешно используется уже десятилетиями.

Кажу щераз для того щоб отримати іч спектр спочатку варто його мати на місцевості, отож логічне запитання в якому бл*ть телефоні є прожектор іч ? Бл*ть пройдіть фізику базову за 7 клас, а то вже за*пали.

А с чего ты взял что его там нет? Погугли passive NIR, active NIR. Найди две разницы.

В качестве развития, история развития Night Vision устройств:
modernsurvivalblog.com/...​reps/night-vision-device

GEN-0 The original night-vision system created by the United States Army. Used in World War II and the Korean War. These NVDs use active infrared as a light source. An IR (Infrared) Illuminator is attached to the NVD. It projects out a beam of infrared light, similar to the beam of a normal flashlight. This infrared light is invisible to the naked eye. But this beam reflects off objects and bounces back to the lens of the NVD.

GEN-1 The next generation of NVDs moved away from ACTIVE infrared, using PASSIVE infrared instead. Once dubbed „Starlight” by the U.S. Army, these NVDs use ambient (infrared) light from the moon and stars. This enhanced the reflected infrared in the given environment.

Ты представляешь теперь, что твой уровень физики не только остановился не только на уровне 7 класса, а ещё на уровне 7 класса 70 лет назад.

А где я говорил про термальные спектры? Сам придумал, сам с собой поспорил. Ты перечитай раз пять.

На камери або сенсори завжди ставлять оптичні фільтри, щоб пригнічувати інфрачервоний діапазон. На скільки той фільтр якісний в iphone — не знаю.

lucky imaging первым в фото было реализовано на nexus 6, а то уже началось тут
а вот видео было бы интересно на андроиде такое, но там один снимок в night sight рендерится секунд 5, операция очень ресурсоемкая

Я посмотрел образцы фоток — это похоже на то, что из HDR RGB вычленяли Intensity, но это не night vision, небо не должно быть так сильно видимо в ночи. Например у iPhone 13 есть возможность снимать в Apple ProRaw формате без bandpass фильтров. В содержимое попадает NIR и даже часть IR диапазона, как и UV, по сути G, B и UV надо полностью отфильтровывать из изображения, они не нужны. Квантовая эффективность телефонных CMOS сенсоров, которые умеют в HDR от 10% до 40% в NIR диапазоне, Apple традиционно ставит дорогие сенсоры.

В automotive мы имеем доступ напрямую к сенсору и можем его конфигурировать по i2c шине включая и выключая нужные фичи и bandpass фильтры. Я, конечно, не уверен, что iOS даст такой доступ, поэтому отфильтровывать мусорные G, B, UV придётся алгоритмически из RAW.

Как альтернатива — использовать копеечные плёнки-фильтры на камеру и съёмку в RAW:
www.aliexpress.com/...​ice;CAD;search-mainSearch
www.aliexpress.com/...​2c2c803&afSmartRedirect=y

Кстати, один из плюсов IR/NIR диапазона — водный туман (туманы первой и второй категории) в нём почти прозрачны.

Спасибо, действительно стоящий отзыв! Возможно попробую достучаться через RAW к IR диапазону, но пока что работаю с видимым спектром

Была такая камера Sony F717(F707), которая умела делать ночную съемку. Для этого она в режиме ночной съемки механически убирала от матрицы ИК фильтр и включала ИК подсветку. т.е. матрица в обычном режиме съемки была защищена фильтром, блокирующим прохождение ИК диапазона. Вполне вероятно в телефоне стоит такой же фильтр, только несъемный и на матрицу ИК не поступает. Иначе все кадры имели бы сильнозаметные странные особенности, не видимые глазом. Для фильтрации видимого диапазона и прохождения ИК диапазона в свое время применяли трюк — засвечивали негативную фотопленку, проявляли ее и фиксировали. Такой черный кадр сильно фильтровал видимый диапазон света, но оставался почти прозрачным для ИК диапазона. При этом съемка велась на пленку, чуствительную к ИК диапазону. Хотите простой тест? закройте объектив смартфона куском засвеченной проявленной и зафиксированной пленки и «попикайте» в объектив ИК пультом, поймете — может ли смарт видеть в ИК диапазоне или нет. Может можно вместо пленки применить фотофильтры серии ND. Но я не уверен, что они пропускают ИК диапазон. Резюмирую ИМХО. С очень высокой вероятностью обрабатывать RAW на наличие ИК диапазона — не имеет смысла потому, что его там нет.

Была такая камера Sony F717(F707), которая умела делать ночную съемку.

Камере 20 лет и за 20 лет технологии немного продвинулись.

Вполне вероятно в телефоне стоит такой же фильтр, только несъемный и на матрицу ИК не поступает.

В первых сенсорах и телефонных камерах — да, такие стояли, если посмотришь фотографии того времени, то уши этого фильтра везде видны на фотографиях. На самом деле для более качественных и живых цветов инфракрасный диапазон нужен при съёмке и тем более ты не получишь нормального HDR, для этого кто в чипах (сенсорах), кто программно реализовывают bandpass фильтры, чтобы убрать лишь частично то, что не нужно.

We have removed the internal «visible» bandpass interference filter in the Apple iPhone 6 iSight camera to enable the camera for imaging from visible-to-near infrared (VIS-NIR) region: www.youtube.com/watch?v=l59OeuLri1Q

Apple традиционно ставит дорогие сенсоры.

Здатність сприймати ir пов’язана не з вартістю сенсора, а з наявністю сенсора без ir-фільтра. На основних сенсорах присутній фільтр як і у більшості камер.
www.dpmag.com/...​/infrared-with-an-iphone

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

За моїми спостереженнями, 95% всіх телефонів на фронті — на андроїді. Тож, для цільової аудиторії було б зручніше мати саме андроїд версію

Я про те, що може хтось підхопить ідею і зробить те ж саме під андроїд.
Платних таких там вагон, як ось, наприклад: play.google.com/...​orNightVisionEffect&hl=en

До речі, порівнювали свій застосунок із іншими схожими? Які переваги-недоліки? Наприклад, із цього списку.
wethegeek.com/...​apps-for-android-and-ios

Чи можливо зробити адаптацію на старі моделі, наприклад до iPhone 5s? Так, вони вже старі, але їх не шкода залишати на вулицях та підключатись віддалено. Для спостережливих цілей дешевше все таки телефони за 50$ використовувати, ніж за 1500$

Подумаю над цим. Наразі навіть 6s майже нічого не бачить у темряві, тому молодші моделі я навіть не розглядав. Але дякую за пораду!

Чи не стане використання програми причиною гарячих пікселів? Наприклад з десяток фото з над тривалою мануальною витримкою на як мінімум на моїй дзеркальці Canon призвела до збільшення кількості гарячих (битих) пікселів матриці

Для кожної моделі iPhone, iOS надає різні максимальні значення витримки і ISO. Думаю, таким чином інженери Apple забезпечили захист від ушкодження. Зазвичай, iOS не надає доступ до функціоналу, який би міг нашкодити телефону. Тестую апку вже два тижні не декількох девайсах, поки «гарячих» пікселів не виявлено :)

Робив сотні — тисячі астрофото фото на canon з витримками по 5-10 хв і нічого поганого несталося. Думаю у вас збіг обставин

Так, саме на астрофото і пошкодив матрицю. Canon 1300d

Ну «пошкодив» це надто голосно. На ті пікселі та пил звертаєш увагу хіба перший час як купив новий апарат. В астрофото взагалі знімають темнові кадри щоб віднімати їх.

А є десь мануал, документація? Встановив на іос 15.3.1 на 11 Pro max 64, не працює ( тільки білий екран.

Спробуйте вночі. Вдень забагато світла, тому і білий екран.

Скоріше всього, ви видкрили аппку не в темноті.

Спасибо за разработку!
Но сорри, оно требует IOS 15+. Т.е. даже на новом айфоне нужно апдейтить чтобы поставить

Підписатись на коментарі