СПОСОБ И СИСТЕМА УСТРАНЕНИЯ ЭФФЕКТА СКОЛЬЗЯЩЕГО ЗАТВОРА КАМЕРЫ
METHOD AND SYSTEM OF ELIMINATION OF THE EFFECT OF THE SLIDING SHUTTER OF THE CAMERA

ОБЛАСТЬ ТЕХНИКИ
[0001] Данное изобретение относится к области видеосъемки и видеонаблюдения, в частности к видеонаблюдению с использованием видеокамер с КМОП-сенсором (CMOS-сенсором) или другими типами сенсоров с построчным съемом изображения.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
[0002] В настоящее время для решения задач видеосъемки и видеонаблюдения широко используются так называемые КМОП-сенсоры. Особенность таких сенсоров состоит в том, что в них съем изображения происходит частями. В отличие от классической съемки на светочувствительную пленку, где изображение фиксируется все целиком в течение времени открытия затвора, КМОП-матрица фиксирует изображение частями, чаще всего построчно. Другими словами, в определенный момент времени считывается строка (или столбец) светочувствительных элементов, следующая строка (столбец) будет считана только в следующий промежуток времени (Фиг. 1).
[0003] Таким образом, разные части изображения снимаются в разное время. Если объекты в кадре не статичны, или сама камера двигается, то каждая следующая строка изображения будет соответствовать новому положению объекта, либо камеры. Действительно, за 10 мс (Фиг. 1), пока камера фиксирует первую строку, объект мог сместиться (не теряя общности предположим, что он смещается влево), и в момент съема второй строки камера будет фиксировать объект в его новом положении. Это будет приводить к тому, что объект на изображении будет искажаться: его нижняя часть изображения будет находиться левее, чем она должна была бы быть (Фиг. 2). Такого рода искажения в данной области техники называются эффектом rolling shutter (роллинг шаттер, эффект скользящего затвора). Очевидно, что чем быстрее двигается камера, либо объект, тем заметнее влияние такого эффекта.
[0004] Из уровня техники известны подходы, описанные в источнике информации [1], которые применяются в решении поставленной задачи. Такого рода подходы основаны на отслеживании характера движения различных частей видеоизображения в ходе видеосъемки и оценке степени влияния эффекта rolling shutter на формируемое изображение. Представим, что камерой с малым временным промежутком снято два кадра. Сопоставляя эти два кадра, можно сделать вывод о том куда и насколько быстро движется объект. С другой стороны, зная характер сканирования КМОП-матрицы (Фиг. 1), можно предположить насколько будет проявляться эффект rolling shutter. Действительно, пусть за время съемки одного кадра на Фиг. 1, т.е. за время сканирования пяти строк, объект сдвигается на 10 пикселей. Тогда эффект rolling shutter будет приводить к сдвигу каждой следующей строки снимаемого изображения на 2 пикселя. Имея такого рода информацию, можно реализовать механизм, который бы устранял влияние эффекта на изображение. В самом простом варианте для приводимого примера нужно было бы искусственно сдвинуть каждую следующую строку на 2 пикселя вправо относительно предыдущей, т.е. вторую строку сдвинуть на 2 пикселя, третью - на 4, четвертую - на 6 и пятую на 8.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0005] Данное изобретение направлено на устранение недостатков, свойственных решениям, известным из уровня техники.
[0006] Техническим результатом является повышение качества и достоверности изображения путем устранения эффекта rolling shutter. Данный технический результат достигается за счет применения анализа степени влияния эффекта на изображение.
[0007] По сравнению с упомянутыми техническими средствами [1] устранения эффекта rolling shutter, предлагаемый способ обладает также следующими полезными техническими эффектами.
[0008] Уменьшается вычислительная сложность, так как из-за особенностей средств, применяемых для анализа видеоизображения, техническое решение тратит вычислительный ресурс только на те части изображения, в которых есть предметы интереса.
[0009] Уменьшается зависимость от конфигурационных параметров. Например, техническое решение, описанное в источнике информации [1] предполагает, что для работы способа устранения эффекта rolling shutter должна быть выбрана ширина ленты. Очевидно, что качество и скорость работы способа существенно зависят от этого параметра. Малый размер приведет к низкой избирательности при анализе векторов движения, большой же, напротив, может привести к тому, что векторы движения вовсе не будут вычислены. При этом никаких рекомендаций по выбору данного параметра авторы технического решения [1] не приводят. Предлагаемое же техническое решение в оценках полагается только лишь на структуру и состав снимаемого изображения и не зависит от конфигурационных параметров, задаваемых априорно.
[00010] Указанный технический результат достигается благодаря осуществлению способа устранения эффекта rolling shutter, который включает следующие шаги:
[00011] получают по крайней мере два изображения;
[00012] на полученных изображениях находят особые точки, которые обладают такими особенностями, что возможно их сопоставление на изображениях;
[00013] для найденных особых точек вычисляют векторы движения;
[00014] на основании найденных векторов определяют величину смещения каждой строки изображения;
[00015] применяют трансформацию изображения путем сдвигания каждой строки в соответствии с определенными смещениями.
[00016] Действительно, пусть снято два кадра. Способ устранения эффекта может быть применен для устранения эффекта на первом кадре с учетом информации, полученной при съемке второго, т.е. информации, которая находится в будущем по отношению к событиям, запечатленным в первом кадре. Такой способ вычислений приведет к «отставанию» процесса обработки от процесса съемки на один кадр. Однако, как правило, отставание на несколько кадров незаметно невооруженным взглядом. Кроме того, если видеоизображение не транслируется «в реальном времени», а, например, записывается на какой-либо носитель, то такое отставание вообще не имеет значения.
[00017] Приведенные выше рассуждения в равной степени справедливы и при постолбцовой обработке сенсора и изображения. Действительно, если считывание с сенсора происходит не построчно, а постолбцово, то с простой заменой понятия «строка» на понятие «столбец» все рассуждения сохраняют ровно тот же смысл и силу.
[00018] В некоторых вариантах осуществления технического решения для нахождения особых точек могут быть применены детекторы углов.
[00019] В некоторых вариантах осуществления технического решения для вычисления векторов движения особых точек используются алгоритмы поиска неплотного оптического потока.
[00020] В некоторых вариантах осуществления технического решения для вычисления векторов движения особых точек используется более двух кадров.
[00021] В некоторых вариантах осуществления технического решения для вычисления векторов движения для текущего кадра используются не только предшествующие, но и последующие кадры.
[00022] В некоторых вариантах осуществления технического решения определение смещения строк изображения осуществляют путем усреднения векторов движения для особых точек, располагающихся в каждой из строк.
[00023] В некоторых вариантах осуществления технического решения в случае, если в какой-либо строке не располагается ни одной особой точки, смещение строки определяется на основе смещений близлежащих строк с применением алгоритмов интерполяции и экстраполяции.
[00024] В некоторых вариантах осуществления технического решения трансформация изображения включает в себя сдвиги строк изображения влево или вправо в соответствии с горизонтальной компонентой вычисленного для каждой из них смещения.
[00025] В некоторых вариантах осуществления технического решения трансформация изображения включает в себя горизонтальное и/или вертикальное смещение строк.
[00026] В некоторых вариантах осуществления технического решения для устранения наложения строк при трансформации изображения используется методы вычисления результирующей строки пикселей путем взвешенного сложения соседних строк исходного.
[00027] В некоторых вариантах осуществления технического решения для устранения «разрывов» между строками при трансформации изображения используются методы интерполяции изображений.
[00028] В некоторых вариантах осуществления технического решения способ осуществляют по мере съемки изображений с сенсора.
[00029] В некоторых вариантах осуществления технического решения осуществляют способ в режиме постобработки изображений.
[00030] В некоторых вариантах осуществления технического решения осуществляют способ непосредственно на снимающем устройстве при помощи имеющихся в нем встроенных средств обработки изображений.
[00031] В некоторых вариантах осуществления технического решения получают изображения с сенсора и обрабатывают в последующем не построчно, а постолбцово.
[00032] Также указанный технический результат достигается благодаря системе устранения эффекта rolling shutter, которая содержит одно или более устройств обработки данных; одно или более устройств хранения данных; одну или более программ, где одна или более программ хранятся на одном или более устройстве хранения данных и исполняются на одном и более устройстве обработки данных, причем одна или более программ включает следующие инструкции: получают по меньшей мере два изображения; на полученных изображениях находят особые точки, которые обладают такими особенностями, что возможно их сопоставление на изображениях; для найденных особых точек вычисляют векторы движения; на основании найденных векторов определяют величину смещения каждой строки изображения; применяют трансформацию изображения путем сдвигания каждой строки в соответствии с определенными смещениями.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[00033] Признаки и преимущества настоящего изобретения станут очевидными из приводимого ниже подробного описания изобретения и прилагаемых чертежей, на которых:
[00034] На Фиг. 1 приведена временная развертка построчного считывания изображения с сенсора;
[00035] На Фиг. 2 приведен пример деформации считываемого изображения в результате влияния эффекта rolling shutter;
[00036] На Фиг. 3 приведен пример реализации способа вычисления векторов движения для особых точек.
[00037] На Фиг. 4 приведен пример интерполяции для нахождения величины смещения строк, в которых не располагается ни одной особой точки.
[00038] На Фиг. 5 приведено описание способа устранения эффекта rolling shutter.
[00039] На Фиг. 6 приведено примерное описание системы устранения эффекта rolling shutter.
[00040] На Фиг. 7 показан конкретный пример осуществления способа устранения эффекта rolling shutter, показывающий достижение технического результата.
ПОДРОБНОЕ РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[00041] Ниже будут описаны понятия и определения, необходимые для подробного раскрытия осуществляемого технического решения.
[00042] Данное техническое решение в различных своих вариантах осуществления может быть выполнено в виде способа, в виде системы или машиночитаемого носителя, содержащего инструкции для выполнения вышеупомянутого способа.
[00043] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы).
[00044] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных. В роли устройства хранения данных могут выступать, но не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы.
[00045] Под видеосъемкой понимается фиксация набора изображений с сохранением последних на какой-либо носитель, либо без оного, как правило, снятых через равные промежутки времени.
[00046] Под видеотрансляцией понимается съемка, передача и визуализация изображений, как правило, снятых через равные промежутки времени, без сохранения на какой-либо носитель.
[00047] Как правило, процесс устранения тех или иных возникающих при видеосъемке или видеотрансляции изображения негативных эффектов, связанных с движением объектов в кадре, называют общим словом стабилизация. Под этим подразумевают как устранение эффектов типа rolling shutter, так и других огрехов видеосъемки, например, тряски опоры, на которую смонтировано устройство видеосъемки, приводящей к «тряске» снимаемого изображения.
[00048] Под интерполяцией понимается математический аппарат, позволяющий вычислять промежуточные значения величины по имеющемуся дискретному набору известных значений. Под экстраполяцией понимается математический аппарат, позволяющий вычислять значения величины, заданной над определенным диапазоном, вне этого диапазона.
[00049] На Фиг. 5 показан пример осуществления способа устранения эффекта rolling shutter, на котором показаны следующие шаги:
[00050] Шаг 501: получают по меньшей мере два изображения;
[00051] В области техники не известно способов, которые бы позволяли устранить эффекты типа rolling shutter на основе информации, имеющейся только на одном изображении. Большинство имеющихся методов стабилизации в той или иной мере оценивают величину и направление движения объектов на снимаемом изображении. Суть известных методов стабилизации, описанных в источнике [2] состоит в том, чтобы исходя из анализа характера движения объектов в кадре и знания об особенностях применяемой для видеосъемки аппаратуры, можно сделать вывод о том, к каким именно искажениям изображения будут приводить особенности используемой аппаратуры при съемке объектов. Для пояснения концепции приведем пример наиболее простой ситуации, требующей стабилизации. Представим, что штатив, на котором установлена видеокамера, по каким-то причинам несильно раскачивается «вперед-назад». Очевидно, что на снимаемом видеоизображении, такие покачивания будут выглядеть как смещение всех объектов в кадре вверх-вниз. Другими словами, если камера, в рамках видеосъемки снимая два изображения подряд, наклоняется вперед, то объекты на втором изображении сместятся вверх по отношению к своему положению первом кадре. Очевидно, что если искусственно сместить все объекты на втором кадре вниз, то эффект от наклона камеры удастся устранить. Таким образом, если оценивать движение объектов между вновь снимаемым кадром и предшествующим и применять такое искусственное смещение, удастся избежать влияния раскачивания камеры на снимаемый видеоряд. Для того, чтобы излагаемые методы работали, в ходе анализа нужно иметь по меньшей мере два изображения. Часто в качестве таковых выступают изображения, снимаемые подряд в ходе видеосъемки, т.н. соседние кадры.
[00052] Как правило, методы, оперирующие двумя кадрами крайне уязвимы к различным случайным шумовым эффектам, таким как резкое движение небольшого числа объектов в кадре. Для устранения этого недостатка, методы, как правило, работают с несколькими соседними по отношению к стабилизируемому кадрами. Причем соседние кадры могут располагаться как в прошлом, по отношению к стабилизируемому, так и в будущем. Действительно, можно организовать процесс обработки таким образом, чтобы обработка кадра производилась, только если устройство видеосъемки осуществило съемку требуемого числа изображений после стабилизируемого. Такой подход приведет к отставанию процесса стабилизации от процесса съемки. Однако, в силу того, что количество кадров, участвующих в процессе стабилизации невелико, то даже при трансляции в режиме реального времени, такое отставание, как правило, незаметно невооруженным глазом.
[00053] В предлагаемом решении при стабилизации может использоваться R кадров в прошлом по отношению к стабилизируемому и R кадров в будущем. Т.е. всего обработке подлежит 2R+1 кадр. R - параметр алгоритма, который задается единожды исходя из вычислительных возможностей аппаратуры. Как правило, при R=2 достигаются приемлемые результаты.
[00054] Шаг 502: на полученных изображениях находят особые точки, которые обладают такими особенностями, что возможно их сопоставление на изображениях;
[00055] Не обладая априорными знаниями о составе снимаемого изображения, трудно представить движение каких именно точек изображения можно анализировать. Очевидно, на первом из изображений нужно найти такую точку, для которой на втором можно найти соответствующую. Это свойство называется различимостью. При этом соответствие должно обладать некоторой характеристикой надежности, т.е. точку нужно найти такую, чтобы ее нельзя было перепутать ни с какой другой точкой на втором кадре. Второе свойство таких точек - инвариантность, т.е. способность сохранять некоторые свойства при небольшом изменении содержимого изображения между двумя кадрами.
[00056] Такие задачи, как правило, решаются алгоритмами поиска особых точек (фич, features, image features), описанными в источнике информации [2] (Фиг. 3, 301). Например, подкласс таких алгоритмов - детекторы углов. Про угловые точки известно [2], что они в достаточной мере обладают обоими упомянутыми свойствами.
[00057] В предлагаемом изобретении можно использовать, не ограничиваясь, такие алгоритмы как детектор Харриса, Моравеца, Ферстнера и др., подробно расписанные в источнике информации [3]. Предпочтительная реализация может быть выбрана исходя из возможностей и особенностей системы, осуществляющей предлагаемый способ.
[00058] Шаг 503: для найденных особых точек вычисляют векторы движения;
[00059] Вектор движения - это оценка меры смещения различных точек в кадре в промежутке между двумя снятыми изображениями (Фиг. 3, 302). Именно эта информация используется в дальнейшем для анализа негативного влияния эффекта rolling shutter на изображение. В простейшем случае вектор движения для найденной особой точки - это разница между ее положением на втором изображении и положением на первом изображении. При анализе векторы движения могут учитываться различными способами. В частности, при анализе величины влияния эффекта rolling shutter, нужно выяснить, каково смещение каждой строки изображения.
[00060] Шаг 504: на основании найденных векторов определяют величину смещения каждой строки изображения.
[00061] Из-за того, что считывание строк изображения с КМОП-сенсора (либо другого устройства, осуществляющего «захват» изображения по строкам) происходит в различное время (Фиг. 1), движение камеры, либо объектов в кадре, приводит к появлению эффекта rolling shutter, т.е. различной величине смещения строк между двумя захваченными изображениями (Фиг. 2). Для оценки величины влияния эффекта на каждую строку используются вычисленные векторы движения особых точек. Можно предложить, не ограничиваясь ею, такую технику: величина смещения строки есть среднее значение векторов движения всех особых точек, располагающихся в этой строке. В примере по Фиг. 3 во второй строке располагаются две особые точки, в третьей - ни одной, в четвертой и пятой - по одной особой точке. Таким образом, смещение четвертой и пятой строки определяет вектор движения особой точки, расположенной в каждой из этих строк. Смещение второй строки может быть найдено как средний вектор движения двух особых точек, располагающихся в ней. Смещение первой и третьей строки не может быть найдено с использованием векторов движения особых точек, поскольку в них нет ни одной особой точки. Однако, используя методы интерполяции и экстраполяции, в частности, но не ограничиваясь, метод Inverse Distance Weighting, описанный в источнике [4], можно оценить смещения для строк, для которых оно не было вычислено непосредственно. Так, имея информацию о смещении второй и четвертой строки, можно предсказать таковое для третьей (Фиг. 4). Аналогичным образом, с помощью экстраполяции такие рассуждения можно распространить и на первую строку.
[00062] Шаг 505: применяют трансформацию изображения путем сдвигания каждой строки в соответствии с определенными смещениями. Имея информацию о том, каким образом эффект rolling shutter влияет на каждую из строк, можно вычислить и применить такую трансформацию изображения, которая устраняет влияние. В самом простейшем случае, показанном на Фиг. 4, необходимо каждую из строк сдвинуть в направлении, обратном вычисленному (или интерполированному) на предыдущем шаге смещению строки, на величину, равную этому смещению.
[00063] Очевидно, что поскольку движение камеры и объектов в кадре могут иметь произвольный, а не только горизонтальный характер, то найденные смещения могут так же иметь произвольный характер. В случае, когда вертикальные компоненты смещения соседних строк имеют неодинаковую величину, применение компенсирующей трансформации будет приводить к наложению строк, в случае, если строки движутся навстречу друг другу по вертикали, либо образованию «разрыва» между строками, если строки удаляются друг от друга. В таких случаях для вычисления можно применять, не ограничиваясь, в случае наложения строк - техники взвешенного усреднения значений пикселов строки компенсируемого кадра, в случае образования «разрывов» - техники интерполяции.
[00064] Согласно Фиг. 6, примерная система для реализации изобретения включает в себя устройство обработки данных 600. Устройство обработки данных 600 может быть сконфигурировано как клиент, сервер, мобильное устройство или любое другое вычислительное устройство, которое взаимодействует с данными в системе совместной работы, основанной на сети. В самой базовой конфигурации устройство обработки данных 600, как правило, включает в себя, по меньшей мере, один процессор 601 и устройство хранения данных 602. В зависимости от точной конфигурации и типа вычислительного устройства системная память 602 может быть энергозависимой (например, оперативное запоминающее устройство (ОЗУ, RAM)), энергонезависимой (например, постоянное запоминающее устройство (ПЗУ, ROM)) или некоторой их комбинацией. Устройство хранения данных 602, как правило, включает в себя одну или более прикладных программ 603 и может включать в себя данные 604 программ. Настоящее изобретение как способ, описанное в деталях выше, может быть реализовано в прикладных программах 603 на устройстве обработки данных 600.
[00065] Устройство обработки данных 600 может иметь дополнительные особенности или функциональные возможности. Например, устройство обработки данных 600 может также включать в себя дополнительные устройства хранения данных (съемные и несъемные), такие как, например, магнитные диски, оптические диски или лента. Такие дополнительные хранилища проиллюстрированы на Фиг. 1 посредством съемного хранилища 607 и несъемного хранилища 608. Компьютерные носители данных могут включать в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или при помощи любой технологии для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Устройство хранения данных 602, съемное хранилище 607 и несъемное хранилище 608 являются примерами компьютерных носителей данных. Компьютерные носители данных включают в себя, но не в ограничительном смысле, оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), электрически стираемое программируемое ПЗУ (EEPROM), флэш-память или память, выполненную по другой технологии, ПЗУ на компакт-диске (CD-ROM), универсальные цифровые диски (DVD) или другие оптические запоминающие устройства, магнитные кассеты, магнитные ленты, хранилища на магнитных дисках или другие магнитные запоминающие устройства, или любую другую среду, которая может быть использована для хранения желаемой информации и к которой может получить доступ устройство обработки данных 600. Любой такой компьютерный носитель данных может быть частью устройства 600. Устройство обработки данных 600 может также включать в себя устройство(а) 605 ввода, такие как клавиатура, мышь, перо, устройство с речевым вводом, устройство сенсорного ввода, и так далее. Устройство(а) 606 вывода, такие как дисплей, динамики, принтер и тому подобное, также могут быть включены в состав устройства. Устройство может включать в себя сенсор 609 для обеспечения возможности съемки изображения и устройство визуализации 610 для обеспечения возможности отображения исходного, либо обработанного изображений.
[00066] Устройство обработки данных 600 содержит коммуникационные соединения, которые позволяют устройству связываться с другими вычислительными устройствами, например по сети. Сети включают в себя локальные сети и глобальные сети наряду с другими большими масштабируемыми сетями, включая, но не в ограничительном смысле, корпоративные сети и экстрасети. Коммуникационное соединение является примером коммуникационной среды. Как правило, коммуникационная среда может быть реализована при помощи машиночитаемых инструкций, структур данных, программных модулей или других данных в модулированном информационном сигнале, таком как несущая волна, или в другом транспортном механизме, и включает в себя любую среду доставки информации. Термин «модулированный информационный сигнал» означает сигнал, одна или более из его характеристик изменены или установлены таким образом, чтобы закодировать информацию в этом сигнале. Для примера, но без ограничения, коммуникационные среды включают в себя проводные среды, такие как проводная сеть или прямое проводное соединение, и беспроводные среды, такие как акустические, радиочастотные, инфракрасные и другие беспроводные среды. Термин «машиночитаемый носитель», как употребляется в этом документе, включает в себя как носители данных, так и коммуникационные среды.
[00067] Настоящее подробное описание составлено с приведением различных не имеющих ограничительного и исчерпывающего характера вариантов осуществления. В то же время, специалистам, имеющим средний уровень компетентности в рассматриваемой области техники, очевидно, что различные замены, модификации или сочетания любых раскрытых здесь вариантов осуществления (в том числе частично) могут быть воспроизведены в пределах объема настоящего изобретения. Таким образом, подразумевается и понимается, что настоящее описание изобретения включает дополнительные варианты осуществления, суть которых не изложена здесь в явно выраженной форме. Такие варианты осуществления могут быть получены путем, например, сочетания, модификации или преобразования каких-либо действий, компонентов, элементов, свойств, аспектов, характеристик, ограничений и пр., относящихся к приведенным здесь и не имеющим ограничительного характера вариантам осуществления.
ПРИМЕРЫ РЕАЛИЗАЦИИ
[00068] Пример реализации способа приведен на Фиг. 7:
[00069] - получают два изображения 701;
[00070] - на полученных изображениях находят особые точки, которые обладают такими особенностями, что возможно их сопоставление на изображениях 702;
[00071] - для найденных особых точек вычисляют векторы движения 703;
[00072] - на основании найденных векторов определяют величину смещения каждой строки изображения 704. В данном конкретном примере реализации вектор смещения строки изображения вычисляется как усредненный вектор смещения всех особых точек, располагающихся в данной строке.
[00073] - применяют трансформацию второго изображения путем сдвигания каждой строки в соответствии с определенными смещениями, которая устраняет эффект rolling shutter 705. В предлагаемом примере реализации каждую строку сдвигают в направлении, обратном вычисленному на шаге 704 вектору смещения.
[00074] После успешного применения способа, получают изображение с устраненным эффектом rolling shutter 706.
ИСПОЛЬЗУЕМЫЕ ИСТОЧНИКИ ИНФОРМАЦИИ
[00075] 1. Заявка на патент № US 20150085150 А1 «In-Stream Rolling Shutter Compensation)), патентообладатель: Apple Inc, дата публикации: 26.03.2015.
[00076] 2. «Компьютерное зрение. Современный подход». Дэвид А. Форсайт, Джин Понс, Издательство: Вильяме, 2004 год, 928 стр.: с ил.
[00077] 3. V. Rodehorst, A. Koschan. Comparison and evaluation of feature point detectors, 2006.
[00078] 4. Shepard, Donald (1968). "A two-dimensional interpolation function for irregularly-spaced data". Proceedings of the 1968 ACM National Conference, pp. 517-524.