Image processing
162 subscribers
13 photos
3 videos
25 links
Некоторые мысли об обработке изображений и computer vision

По вопросам сотрудничества / tech talk / статей / выступлений - обращаться к

https://t.iss.one/pavelkatunin
Download Telegram
◀️ ︎ От уголков, кружков и пятен к AR

👁Как работают алгоритмы фотограмметрии и позиционирования камеры в AR?

Для того, чтобы, вычленить какое-то трехмерное представление из серии двухмерных картинок,
нам нужно понять, как изменилось положение камеры (например сотового телефона) при переходе от одной картинки к другой.

Именно по этому все AR приложения обычно просят немного поводить камерой туда сюда для определения своего положения.

Чтобы понять, как изменился угол обзора, нам нужно найти точки, соответствующие одной и той же точке в пространстве на двух изображениях. Найти самые характерные точки, желательно чтобы они были инвариантны к масштабу, освещению и тд.
Если мы найдем много таких точек, то мы сможем компенсировать то, что некоторые из них потеряются или перестанут быть инвариантаными.
После сопоставления этих характерных точек, можно попробовать понять, какое геометрическое преобразование привело к такому изменению расположения характерных точек, и даже понять какую трехмерную форму имеют объекты. + конечно же нам может помочь акселерометр.

🧠 Что мы можем считать характерными точками?

Вот здесь нам и помогут алгоритмы распознавания некоторых особенностей в изображении.

⁃ Первое, что мы можем рассмотреть - это углы на изображении. Еще бы хорошо нам уметь определять, что эти углы примерно равны, и примерно равны в масштабе.
⁃ Вторыми характерными признаками могут оказаться круги разного размера!
⁃ И наконец иногда могут помочь характерные пятна.

Алгоритмы для определения углов:
⁃ Harris (Frostner)
⁃ Harris-Laplace

Круги:
⁃ LoG
⁃ DoG

Пятна:
⁃ IBR
⁃ MSER

Не стоит забывать, что это все необходимо делать в реальном времени, что конечно усложняет нам задачу.
Чуть позже мы разберём эти алгоритмы подробнее.
Полиция Лондона объявила о том, что они начали внедрять распозначание лиц в реальном времени. Как заявляется, для обнаружения местоположения конкретных людей попавших в розыск.

https://news.met.police.uk/news/met-begins-operational-use-of-live-facial-recognition-lfr-technology-392451
Boston Dynamics опубликовала свою SDK для управления роботом Spot. Там можно получать карты глубин со стереокамер на роботе, данные о поверхности и тд.

Надеюсь рост популярности этого робота даст нам ещё очень много датасетов с использованием их сенсоров. Ведь они могут снимать и сохранять данные практически постоянно.


https://nplus1.ru/news/2020/01/24/spot-sdk
Задача:

На видео появляются подобные артефакты, см. изображение. Внутри красных окружностей.

Можете ли вы объяснить природу их появления?

#задача
Участвую в биологическо / computer vision / робото проекте в University of Sheffield.

Вот видео системы автоматической фокусировки микроскопа.
https://twitter.com/CalcNeuro/status/1222118221614059520

Подписывайтесь на твиттер, будем постить всякое интересное:
https://twitter.com/CalcNeuro

Блог проекта:
https://neurocalc.blog/
📔Обзор журнала Computer Vision News - Январь 2020

https://www.rsipvision.com/ComputerVisionNews-2020January/

🔦 Стр. 4. Статья топящая за PyTorch.
По мнению автора эволюция прошла так:
TensorFlow -> Keras -> PyTorch (как самый крутой)
Показывается пример решения задачи стилизации изображения, где подгружается предтренированная VGG нейронка.
Демонстрируется как просто на PyTorch делегировать какие-то вычисления GPU.

🔬 Стр. 8. Небольшой рассказ про чувака по имени Bernhard Kainz - который преподает в Imperial College London.
Он специализируется на задачах связанных с медицинскими снимками.
Ученый вкладывает свои надежды в domain adaptation method for feature disentanglement.
Вкратце - это возможность адаптировать одни модели, хорошо работающие с одной предметной областью к другой.
Например, модель которая работает с МРТ адаптируется для работы с КТ.
И это не только transfer learning который первым приходит на ум. Для этого используются CycleGAN и тд.
Быстрый гуглинг дал пару статей на эту тему:

https://arxiv.org/pdf/1907.13590.pdf
https://arxiv.org/pdf/1904.12347.pdf

🕸 Стр. 14. Обзор статьи On Exact Computation with an Infinitely Wide Neural Net.
Теоретическая статья, котороя доводит идею DL до крайности.
Что будет если глубина нейронной сети будет стремиться к бесконечности?
Для моделирования такой сети используют Neural tangent kernel (NTK)
https://rajatvd.github.io/NTK/

Вот сама оригинальная статья. Рекомендую, читать интересно.

https://arxiv.org/pdf/1904.11955.pdf

🏅Стр. 18. Освещаются актуальные сейчас прикладные задачи по которым объявлены конкурсы:
⁃ EndoVis 2019
⁃ Depth estimation from stereo camera
⁃ Surgical Workflow analysis and Skill Assessment
⁃ Recognizing families in the wild

https://www.rsipvision.com/challenges-ai-solutions-endoscopy/
https://web.northeastern.edu/smilelab/rfiw2020/

Дерзайте!

#computervisionnews #обзор #nntheory #pytorch #challenge
🎻 Пара ресурсов по Classical Computer Vision (не ML)

Многие задачи мы можем решать, не подходя к ним статистически, а подходя к ним эвристически.

Такой подход к решению CV задач предшествовал бурному развитию ML и DL, и обычно не включает в себя этапы обучения модели.

Так же, в курсы типа “Введение в компьютерное зрение” входят такие критические понятия как:
⁃ Фурье анализ
⁃ Модели представления цветов
⁃ Физика света и тд

Мое субъективное мнение, что путь обучения CV должен быть таким:

0️⃣ Математика (О ней мы говорили в одном из предыдущих постов) ->
1️⃣ Классический CV ->
2️⃣ ML + DL

Пара ресурсов:

Введение в компьютерное зрение. Курс лекций от Антона Конушина.
Ставим на скорость воспроизведение 1.25x и изучаем.

https://www.lektorium.tv/course/22847

Книга A practical introduction to Computer Vision with OpenCV.

https://www.amazon.co.uk/Practical-Introduction-Computer-Imaging-Technology/dp/1118848454

Можно параллельно и смотреть курс и читать книгу.

#education #courses #classicalcv #cv #opencv
This media is not supported in your browser
VIEW IN TELEGRAM
Какая красивая штука. Пока не нашел информацию как конкретно сделали.
🔎 Как работает автофокус? На примере микроскопа.

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

Интуитивно мы понимаем, что самая сфокусированная фотография - та на которой больше контраста,
больше четких линий, больше высоких частот.

То есть нам нужно понять на каком изображении больше контрастных границ.

🕸 В этом нам поможет умение определять границы на фотографии:
Мы уже обсуждали это в предыдущих постах (Оператор Собеля, оператор Кенни)

Простой и эффективной мерой сфокусированности является TENG:
https://github.com/vismantic-ohtuprojekti/qualipy/blob/master/qualipy/utils/focus_measure.py

Мы берем оператор Собеля и считаем среднее от каждого пикселя

mean(sobelX^2 + sobelY^2)

Вы можете увидеть график с этой мерой внизу видео (🔬 20*20 X препарат с насекомым)

Теперь остается только посмотреть пики на графике и остановиться на вершине (см красные круги)

📱 Примерно так и работает фокусировка в вашем смартфоне. Только в этом случае двигается не образец или объектив микроскопа, а двигается взад-вперед объектив камеры.
Я даже читал в какой-то статье, что там используются моторчики-степперы, страшно представить какого маленького размера они должны быть. Но может это далеко не у всех так.

#autofocus #sobel #canny #focus #TENG #microscope
Модель для семантической интерполяции кадров до 60 FPS:
использует контекст в виде карт глубин, что позволяет делать хорший паралакс.

https://www.youtube.com/watch?v=B1Dk_9k6l08
Браузерный симулятор геометрической оптики

https://ricktu288.github.io/ray-optics/
Вычислительная фотография дала нам вот такие классные снимки: тут и преобразования в видимые диапазоны, и сопоставление кадров на долгой экспозиции и тд.

Интересные задачи для создания информативных 2д изображений подкидывают проекты разнесенных на огромные расстояния радиотелескопов или например микроволновых телескопов. Для того чтобы анализировать синхронные данные с нескольких таких телескопов к данным приписываются time stamp в виде времени зафиксированного с помощью атомных часов.
​​Annotate.online — это платформа для автоматизации процесса разметки данных. Разметка данных для обучения моделей является ресурсоемких процессом. Это особенно актуально для задач компьютерного зрения. SuperAnnotate разработали инструмент, который облегчает ручную разметку данных для задачи сегментации объектов на изображении. Annotate.online доступен бесплатно исследователям.