Функции баз данных. Как работать с функцией распознавания лиц

18.06.2019

Они используются почти на каждом этапе анализа данных, начиная от и показа описательной статистики, заканчивая функциями для решения узконаправленных задач. Особое место занимают функции "собственного производства": без них сложно обойтись, но их отнюдь не сложно создать. Именно о том, что такое функции, как их использовать и написать самим, я расскажу в этой статье!

Для чего нужны функции в R?

При анализе данных код R записывают в виде скрипта для того, чтобы в последующем можно было легко продолжить работу с ним, либо предоставить возможность воспроизвести Ваш анализ данных другому человеку. Таким образом, скриптовой программой (или скриптом) называется последовательность команд, записанная в текстовом формате. В идеале скрипт должен быть компактным и понятным для другого человека. Для того, чтобы уменьшить количество строк кода, сделать код более читабельным и удобным для редактирования используют функции.

Зачастую во время анализа приходится выполнять одни и те же действия несколько раз, то есть, писать один и тот же код, где лишь незначительная его часть изменена. Однако гораздо практичнее будет оформить подобные массивы кода в функцию. В этом случае блок кода, копируемый из раза в раз, будет телом функции, а места кода, которые Вы изменяете в этом блоке станут аргументами (параметрами) функции. Также у функции должно быть имя, чтобы ее можно было вызвать в . Схема построения функции в R выглядит следующим образом:

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

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

Использование существующих функций в R

К счастью существует множество готовых функций в R. Так например, mean() , summary() , read.table() , lm() являются базовыми функциями, которыми можно пользоваться без применения сторонних пакетов. Чтобы узнать какие именно аргументы требуется ввести для использования функции введите в консоль знак вопроса и имя функции, например: ?read.table . На открывшейся странице в разделах Usage и Arguments будет перечень аргументов для использования данной функции. Как правило, критически важные аргументы для работы функции находятся в начале списка. Аргументы, которые не будут заполнены примут значения по умолчанию:

read.table("D:/Folder/mytable.txt", sep = "\t", header = T)

Так как официальный архив R пакетов (CRAN) насчитывает более 11 тысяч , то количество доступных функций для анализа данных стремительно приближается к 1 млн!!! Как же нам проводить поиск нужной функции во всех этих пакетах? Для этого существует сайт rdocumentation.org : удобный сервис поиска функций и пакетов по искомому слову или сочетанию слов.

Базовая версия R, которая была загружена на Ваш компьютер, состоит из 30 встроенных пакетов. Остальные следует загружать и подключать самостоятельно. Следовательно, сначала мы ищем к какому пакету принадлежит функция, устанавливаем этот пакет в библиотеку пакетов на компьютере, загружаем его в R и лишь после этого используем функции загруженного пакета. Не забывайте загружать пакет при повторном запуске R, если снова собираетесь использовать функции этого пакета.

Создание функций: три наглядных примера!

Сколько бы функций не существовало в CRAN, рано или поздно придется написать свои собственные. Причин на это может быть несколько: такой функции еще не написано; проще написать свою, чем искать ее в других R пакетах: и т.д. Так или иначе, создать функции совсем не сложно. Для того, чтобы это доказать, я приведу три простых примера, которые помогут понять логику построения функций.

Пример 1: сколько будет 2+2×2?

Создадим простейшую функцию, основанную исключительно на арифметических действиях. Например, вычислим знакомый нам с начальной школы пример: сколько будет 2+2*2? Усложним немного: 12+12*12? Ну и в завершении арифметических упражнений 42+42*42? Как Вы могли заметить, все эти примеры основаны на одной и той же формуле: a+a*a . Создание функции в R будет идеальным решением для подобного рода задач.

school <- function(a){ b = a+a*a print(b) } school(2) school(12) school(22)

Результат вычислений функции отобразится на экране консоли, т.к. для вывода информации мы использовали базовую функцию print() внутри нашей функции . Когда же нам требуется сохранить результат в виде отдельного объекта (переменной), следует воспользоваться функцией return() , что мы сделаем в следующем примере.

Пример 2: от горшка два вершка

В детстве мы все читали русские народные сказки. Меня, например, всегда интересовало что значит фраза "от горшка два вершка", а точнее сколько это в сантиметрах. Думаю, пришло время получить ответ: создадим конвертер вершков в R при помощи новой функции convershok().

Один вершок равен 4.445 см. Пусть программа выводит на экран предложение от том, что столько вершков равняется столько-то сантиметров, используя базовую функцию для объединения текстовых и числовых объектов paste() . Также мы хотим, чтобы полученное значение сохранялись как отдельный объект, для чего в конце функции добавим return(vershok) .

convershok <- function(n){ vershok <- n * 4.445 print(paste(n, "vershok", "=", vershok, "cm")) return(vershok) } x <- convershok(2)

Отлично, мы получили заветное сообщение и сохранили 8.89 (см), как объект x. Вот только о каком именно горшке идет речь в поговорке не сказано, поэтому измерьте высоту первого попавшегося горшка, добавьте это значение к переменной x и напишите в комментариях, сколько у Вас получилось;-)

Пример 3: ноутбук в кредит, сколько придется переплатить?

Допустим, у студента сломался ноутбук. На данный момент у него нет свободных денег на покупку нового, и он решил взять его в кредит. В банке ему предложили кредит на сумму 30.000 рублей с процентной ставкой 35% годовых и возможностью преждевременного погашения. Рассчитаем сколько денег нужно выплатить за ноутбук при погашении кредита через месяц, три месяца и год.

Для расчетов я использую формулу для вычисления суммы процентов, начисленных за пользование кредитом в течение n месяцев.

sp = p * (t + 1) / 24 , где:

sp - сумма процента
p - годовая процентная ставка
t - срок кредита (месяцев).

Реализуем эту формулу в R, после чего добавим к цене ноутбука (n ) высчитанный суммарный процент (sp ), помноженный на цену ноутбука товара (n ):

result <- function(n, p, t){ sp <- p*(t + 1)/24 total <- n + n*sp/100 print(paste("sp =", round(sp, 2), "%; ", "total price =", total, "rubles")) } result(30000, 35, 1) result(30000, 35, 3) result(30000, 35, 12)

Как Вы видите, 35% годовых отнють не означает, что студент будет платить за кредит 35% от текущей стоимости ноутбука: в реальности за год он переплатит на 19%. Другой интересный вывод в том, что кредитный процент на один месяц гораздо выше, чем усредненный месячный процент на три месяца и тем более на год. То есть брать кредиты на долгий срок "выгодно" :-)

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

Заключение

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

" была рассмотрена работа со встроенной функцией ЕСЛИ(). Все бы хорошо, но возникают такие ситуации, и довольно часто, когда вложенностью условия в условие не обойтись. Например, элементарно необходимо проверить следующее: 1 больше или равно x и x меньше или равно 5 . Реализовать такое условие несколькими ЕСЛИ довольно громоздко и проблематично, а в некоторых ситуациях - вообще невозможно. Для расширения функционала ЕСЛИ и облегчения составления формул с условием, в Excel имеются еще пара полезных функции - И() и ИЛИ().

Функция И()

Функция И() Условие 1 И Условие 2 . При этом все условия должны быть истинными. Результатом работы данной функции является ИСТИНА или ЛОЖЬ (TRUE / FALSE). Пример: ЕСЛИ а = b И а=с ТОГДА значение 1 ИНАЧЕ значение 2.
Как видно из примера, значение 1 будет только в том случае, если все условия верны.

Функция ИЛИ()

Функция ИЛИ() используется тогда, когда необходимо проверить несколько условий следующим образом - Условие 1 ИЛИ Условие 2 . Результат функции будет истинным, если хотя бы одно из условий истинно. Пример: ЕСЛИ а = b ИЛИ а=с ТОГДА значение 1 ИНАЧЕ значение 2.

Синтаксис функций И() и ИЛИ() одинаков: Функция(Условие 1; Условие 2; Условие 3 и до 30-ти условий). Результат ИСТИНА или ЛОЖЬ.

Примеры использования функции И и ИЛИ

Все вышесказанное сложно к пониманию и относится к разделу Мат. логики и Дискретной математики. Попробую это все изложить на понятном языке. Разберем несколько примеров. Скажу сразу, все примеры будут с использованием функции ЕСЛИ.

Пример 1.
Столбец А, начиная с первой строки, содержит 56, 55, 88, 6, 74. Столбец В - 52, 55, 88, 4, 25. Столбец С - 53, 55, 88, 6, 25. С помощью функций ЕСЛИ и И необходимо определить строки, значения которых равны следующим образом А=В и В=С.

Переходим в ячейку D1 и с помощью мастера функций вводим следующее

Формула будет выглядеть так: “ =ЕСЛИ(И(A1=B1;B1=C1);"Все значения равны";"Значения не равны") “

Результат работы:

Пример 2.

Теперь пример на функцию ИЛИ. Те же столбцы, те же значения, условие следующее: с помощью функций ЕСЛИ и ИЛИ необходимо определить строки, в которых есть совпадающие значения А=В или В=С или А=С.

Мастер функций выглядит так:

Формула: “ =ЕСЛИ(ИЛИ(A1=B1;B1=C1;A1=C1);"Есть равные значения";"Нет равных значений")”

Результат:

Вот и все. Функции не сложны. Применяйте их там, где встречаются условия и произносится И и ИЛИ. Так же, всеми выше перечисленными функциями можно сравнивать текстовые значения.

И напоследок рассмотрим еще один пример с функцией И и ИЛИ из реальной жизни.

Пример 3.

В таблицу занесены процент выполнения заданий, необходимо проценты перевести в пятибалльную систему следующим образом:

1 – от 0% до 10%
2- от 11% до 30%
3- от 31% до 40%
4- от 41% до 75%
5-от 76% до 100%

Таблица следующего вида.

Сегодня мы рассмотрим функцию ЕСЛИ .

Функция ЕСЛИ часто используется в Excel для решения многих задач. Знать ее очень полезно. В данной статье мы попробуем рассказать про ее работу на простых примерах, достаточно один раз разобраться с конструкцией функцией ЕСЛИ и вы сможете применять ее и в самых сложных вариантах.

Функция ЕСЛИ проверяет, выполняется ли условие, и возвращает одно значение, если оно выполняется, и другое значение, если нет.

Синтаксис функции ЕСЛИ очень простой:

ЕСЛИ(лог_выражение ; [значение_если_истина ]; [значение_если_ложь ])

лог_выражение – это любое значение или выражение, которое при вычислении дает значение ИСТИНА или ЛОЖЬ.

Что это значит? Выражение при вычислении дает значение ИСТИНА если это выражение верно.

В этой части необходимо проверить на соответствие выражения.

Например:

ЕСЛИ(А1=10 ; [значение_если_истина]; [значение_если_ложь]) - если А1 равно 10, то выражение А1=10 даст значение ИСТИНА, а если не равно 10, то ЛОЖЬ

Другой пример

ЕСЛИ(А1>30 ; [значение_если_истина]; [значение_если_ложь]) - если в ячейки А1 число больше 30, то А1>30 вернет ИСТИНА, а если меньше, то ЛОЖЬ

Еще пример

ЕСЛИ(С1=”Да” ; [значение_если_истина]; [значение_если_ложь]) - если в ячейки C1 содержится слово “Да” то выражение вернет значение ИСТИНА, а если нет, то С1=”Да” вернет ЛОЖЬ

ЕСЛИ(лог_выражение ; [значение_если_истина ]; [значение_если_ложь ])

значение_если_истина , значение_если_ложь – как видно из их названия, это то что необходимо сделать в зависимости от того, что вернул лог выражения : ИСТИНА и ЛОЖЬ

Пример использования функции ЕСЛИ в Excel

Рассмотрим использование функции ЕСЛИ на практическом примере. У нас есть таблица заказов, которую мы использовали при рассмотрении работы . Нам необходимо заполнить столбец по заказам Ведер (ошибочно на картинке указано «Заказы Cтолов»), то есть необходимо выбрать только заказы с Ведрами. Это можно сделать различными способами, но мы с вами будет использовать функцию ЕСЛИ, чтобы показать ее работу на примере. (см.рисунок)

Для решения поставленной задачи напишем формулу с использованием функции ЕСЛИ

ЕСЛИ(A3="Ведро";D3;"-")

Как вы смогли заметить аргументы функции ЕСЛИ разделены точкой с запятой.

Итак, первый аргумент (лог выражения ) A3="Ведро" проверяет содержится ли в ячейке А3 слово «Ведро», если содержится, то выполняется второй аргумент функции ЕСЛИ (значение_если_истина ), в нашем случае это D3 (т.е стоимость заказа), если в ячейка А3 не равна слову «Ведро», то выполняется третий аргумент функции ЕСЛИ (значение_если_ложь ), в нашем случае это «-» (т.е будет написано тире).

Таким образом, в ячейки E3 появится значение D3, т.е число 240.

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

  • таблица должна обязательно содержать заголовки столбцов. Эти заголовки должны располагаться строго в одной строке, не должны содержать объединенных и пустых ячеек.
  • таблица должна быть неделимая, т.е. не должна содержать полностью пустых строк и столбцов, а так же объединенных ячеек
  • в каждом столбце должна содержаться однотипная информация: если в столбце должны содержаться даты, значит кроме дат там не должно быть ничего другого; если в столбце числа(суммы, кол-во) - значит должны быть только числа. Не следует при отсутствии чисел оставлять ячейку пустой или ставить пробел. Вместо этого необходимо ставить 0.

Для разбора функции баз данных возьмем следующий пример таблицы:

Данная таблица отвечает всем требованиям для работы с функциями баз данных, однако, чтобы более удобно и гибко работать с функциями баз данных лучше сместить таблицу данных на несколько строк вниз, а выше добавить таблицу критериев, где будут формироваться условия отбора данных из основной таблицы:


Именно для этой таблицы будут приведены все примеры описаний функций. И критерии заданы следующие: отбирать из поля "Дерево" Яблони с высотой больше 3 и меньше 6 и Вишни, со значением в поле "Возраст" больше 8. Если посмотреть на таблицу данных(из которой будут отбираться данные и производится расчеты функциями), то этим критериям отвечают только две строки: строки 9 и 10 листа.
Как видно, в качестве критериев можно указывать выражение в виде: >6 , 0 (не равно нулю), >=7 , "Яблоня" .

Все функции из категории баз данных имеют три одинаковых аргумента:
Функция(база_данных; поле; критерий)
база_данных - ссылка на ячейки данных таблицы, включая заголовок(A6:E12).
поле - в данном аргументе можно записать как непосредственно текст с названием столбца в кавычках ("Дерево", "Возраст" или "Урожай"), так и число, задающее положение столбца в таблице: 1 - для первого поля(столбца) в таблице "Дерево", 2 - для второго поля "Высота", 3 - для третьего поля "Возраст" и так далее.
критерий - ссылка на диапазон ячеек с условиями отбора(A1:F3). Функция отберет данные из таблицы, которые удовлетворяют условиям, указанным в ячейках критериев. В ссылке на критерии обязательно должны быть включены названия столбцов, для которых выполняется отбор данных.

  • ДСРЗНАЧ (DAVERAGE) - Вычисляет среднее значение выбранных записей базы данных:
    =ДСРЗНАЧ(A6:E12 ;5; A1:F3)
    =ДСРЗНАЧ(A6:E12 ;"Прибыль"; A1:F3)
    =DAVERAGE(A6:E12 ,5, A1:F3) вернет значение 90 000р. , т.к. сумма прибыли отобранных записей равна 180 000р., а всего отобрано 2 записи. 180 000/2 = 90 000 .
  • БСЧЁТ (DCOUNT) - Подсчитывает количество числовых ячеек в базе данных:
    =БСЧЁТ(A6:E12 ;5; A1:F3)
    =БСЧЁТ(A6:E12 ;"Прибыль"; A1:F3)
    =DCOUNT(A6:E12 ,5, A1:F3) вернет число 2 , т.к. только две строки в таблице отвечают критериям
  • БСЧЁТА (DCOUNTA) - Подсчитывает количество непустых ячеек в базе данных:
    =БСЧЁТА(A6:E12 ;4; A1:F3)
    =БСЧЁТА(A6:E12 ;"Прибыль"; A1:F3)
    =DCOUNTA(A6:E12 ,4, A1:F3) вернет 2, т.е. подсчитает в отвечающих критериям строках количество непустых ячеек в столбце "Прибыль"
  • БИЗВЛЕЧЬ (DGET) - Извлекает из базы данных одну запись, удовлетворяющую заданному условию:
    =БИЗВЛЕЧЬ(A6:E12 ;5; A1:F3)
    =БИЗВЛЕЧЬ(A6:E12 ;"Прибыль"; A1:F3)
    =DGET(A6:E12 ,5, A1:F3) для заданных условий вернет значение ошибки #ЧИСЛО! (#NUM!) , т.к. этим условиям отвечает более одной записи. Если же указать диапазон для критерия как:
    =БИЗВЛЕЧЬ(A6:E12 ;5; A1:F2) то функция вернет значение 75 000р. , т.е. единственную запись о прибыли для Яблонь с высотой больше 3 и меньше 6 (в данный промежуток попадает лишь строка 10 - Яблона, высота 5)
  • ДМАКС (DMAX) - Находит максимальное значение среди выделенных записей базы данных:
    =ДМАКС(A6:E12 ;5; A1:F3)
    =ДМАКС(A6:E12 ;"Прибыль"; A1:F3)
    =DMAX(A6:E12 ,5, A1:F3) вернет сумму 105 000р. , т.к. это максимальная прибыль из всех отвечающих критериям строк.
  • ДМИН (DMIN) - Находит минимальное значение среди выделенных записей базы данных:
    =ДМИН(A6:E12 ;5; A1:F3)
    =ДМИН(A6:E12 ;"Прибыль"; A1:F3)
    =DMIN(A6:E12 ,5, A1:F3) вернет сумму 75 000р. , т.к. это минимальная прибыль из всех строк, отвечающих критериям
  • БДПРОИЗВЕД (DPRODUCT) - Перемножает значения определенного поля в записях базы данных, удовлетворяющих условию:
    =БДПРОИЗВЕД(A6:E12 ;3; A1:F3)
    =БДПРОИЗВЕД(A6:E12 ;"Возраст"; A1:F3)
    =DPRODUCT(A6:E12 ,3, A1:F3) вернет 210 , т.к. будут перемножены все значения столбца "Возраст", отвечающие критериям(14*15=210)
  • ДСТАНДОТКЛ (DSTDEV) - Оценивает стандартное отклонение по выборке из выделенных записей базы данных:
    =ДСТАНДОТКЛ(A6:E12 ;4; A1:F3)
    =ДСТАНДОТКЛ(A6:E12 ;"Урожайность"; A1:F3)
    =DSTDEV(A6:E12 ,4, A1:F3) вернет 0,707107 , т.е. оценку стандартного отклонения урожайности по указанным критериям.
  • ДСТАНДОТКЛП (DSTDEVP) - Вычисляет стандартное отклонение по генеральной совокупности из выделенных записей базы данных:
    =ДСТАНДОТКЛП(A6:E12 ;4; A1:F3)
    =ДСТАНДОТКЛП(A6:E12 ;"Урожайность"; A1:F3)
    =DSTDEVP(A6:E12 ,4, A1:F3) вернет 0,5 , т.е. точное стандартное отклонение урожайности по указанным критериям, если считать, что данные в базе данных описывают генеральную совокупность всех деревьев в саду.
  • БДСУММ (DSUM) - Суммирует числа в поле для записей базы данных, удовлетворяющих условию:
    =БДСУММ(A6:E12 ;5; A1:F3)
    =БДСУММ(A6:E12 ;"Прибыль"; A1:F3)
    =DSUM(A6:E12 ,5, A1:F3) вернет сумму прибыли всех строк, отвечающих критериям, т.е. 180 000р.
    =БДСУММ(A6:E12 ;5; A1:A2)
    =DSUM(A6:E12 ,5, A1:A2) вернет сумму прибыли от всех Яблонь, т.е. 225 000р.
  • БДДИСП (DVAR) - Оценивает дисперсию по выборке из выделенных записей базы данных:
    =БДДИСП(A6:E12 ;4; A1:A2)
    =БДДИСП(A6:E12 ;"Урожайность"; A1:A2)
    =DVAR(A6:E12 ,4, A1:A2) вернет 0,5 , что будет оценкой дисперсии урожайности по указанным критериям, если считать, что данные в таблице являются выборкой из генеральной совокупности всех деревьев в саду
  • БДДИСПП (DVARP) - Вычисляет дисперсию по генеральной совокупности из выделенных записей базы данных:
    =БДДИСПП(A6:E12 ;4; A1:A2)
    =БДДИСПП(A6:E12 ;"Урожайность"; A1:A2)
    =DVARP(A6:E12 ,4, A1:A2) вернет 10,66667 , т.е. точную дисперсию урожайности Яблонь и Вишень, если считать, что данные в базе данных описывают генеральную совокупность всех деревьев в саду

Дата публикации: 14.08.2018

В современных камерах активно используется функция распознавания лиц. Даже при фокусировке через видоискатель камера распознаёт лицо и отдаёт ему приоритет при автоматическом выборе области автофокуса.

NIKON D850 / 70.0-200.0 mm f/4.0 УСТАНОВКИ: ISO 250, F7.1, 1/250 с, 102.0 мм экв.

Одно из важных нововведений в Nikon D850 - это функция приоритета фокусировки на лицах. Автоматика определяет ближайшее лицо в кадре и фокусируется по нему. Если в кадре находится несколько человек, то камера определит всех, а вы сможете выбрать нужного персонажа, переключая фокусировку с помощью мультиселектора или джойстика. Эта функция работает в режиме AF-C с 3D-слежением или в режиме Live View.

NIKON D850 / 70.0-200.0 mm f/4.0 УСТАНОВКИ: ISO 400, F7.1, 1/640 с, 200.0 мм экв.

Где включается данная функция

Nikon D850 имеет множество настроек автофокусировки. Вы можете включить функцию распознавания лиц в режиме 3D-слежения во время съёмки через видоискатель. В таком случае автоматика распознает лица и будет смещать точки фокусировки на глаза человека в кадре. Это удобно там, где нужно быстро снимать портреты идущих людей, например в репортажной фотографии.

Зайдите в меню a4 (Пользовательские настройки → Автофокусировка → Распознавание лиц для 3D-слежения). Тогда распознавание лиц будет работать и в режиме съёмки через видоискатель. Кстати, в меню a5 можно установить область слежения - нормальную или широкую. Нормальный режим использует одну точку фокусировки, а широкий задействует данные с нескольких точек и рекомендуется для быстро движущихся объектов.

Во время 3D-слежения, когда камера смещает точку фокусировки, следуя за объектом съёмки, она будет следовать за лицом, если распознает его в кадре. Это очень удобно для быстрой съёмки, например репортажной.

А ещё вы можете сделать фокусировку по лицам приоритетной при использовании Live View - эта функция очень удобна для фотографов, которые снимают портреты.

Для этого в режиме Live View нажмите кнопку выбора режима автофокуса, расположенную рядом с байонетом объектива, и передним колёсиком управления прокрутите режимы до иконки с лицом.

С помощью заднего колёсика при зажатой кнопке выбора режима автофокуса вы можете выбрать между режимами AF-S и AF-F. AF-S будет фокусироваться один раз при нажатии кнопки спуска или AF-ON, а AF-F фокусируется постоянно, даже когда кнопка автофокусировки не нажата.

NIKON D850 / 70.0-200.0 mm f/4.0 УСТАНОВКИ: ISO 100, F4, 1/160 с, 200.0 мм экв.

Насколько хорошо работает функция распознавания лиц и как она упрощает жизнь фотографу

В условиях хорошего освещения камера уверенно распознаёт лица. В помещениях с недостаточным освещением, по моим наблюдениям, камера «цепляет» лицо не так уверенно и довольно часто мне приходилось наводить кадр на резкость традиционным способом. Когда камера «теряет» лицо, пропадает жёлтый квадрат подсветки в режиме Live View, поэтому понять, что что-то идёт не так, достаточно легко.

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

NIKON D850 / 70.0-200.0 mm f/4.0 УСТАНОВКИ: ISO 400, F7.1, 1/800 с, 170.0 мм экв.

Это отличный вариант для профессионалов, работающих с портретами в промышленных масштабах - при съёмке свадеб, например. Для стрит-фотографии или съёмки детей, где важно быть малозаметным, фотографирование с использованием электронного затвора при работе в Live View будет дополнительным преимуществом, ведь камера в этом случае не хлопает зеркалом. Так незаметно можно фотографировать и во время прогулок по городу, например.

Когда стоит использовать эту функцию и когда от неё лучше отказаться

Функция распознавания лиц отлично подходит для съёмки классических портретов, когда лица являются главным элементом снимка и должны быть резкими. Эта функция хорошо подойдёт для праздников, путешествий. В условиях недостаточного освещения функцией стоит пользоваться с осторожностью. Кроме этого, распознавание лиц ограничено съёмкой в анфас. Я люблю снимать портреты сбоку, искать интересный контровый свет для создания силуэта. Для таких случаев распознавание лица уже не поможет.

NIKON D850 / 70.0-200.0 mm f/4.0 УСТАНОВКИ: ISO 2500, F4, 1/80 с, 135.0 мм экв.

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

Похожие статьи