2

В iPhoto 2009 введено распознавание лиц. Он попытается обнаружить и распознать лица на фотографиях, которые вы импортируете.

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

Face is unnamed 

Однако можно ли создать смарт-альбом, чтобы найти все немаркированные лица, которые iPhoto считает способными распознавать?

2 ответа2

2

Самый простой способ пометить фотографии без тегов - это делать это постепенно. Вот как я это делаю.

Вручную создайте "лица" для всех людей, которые важны для вас. Создайте не менее 10 образцов каждого человека. Пройдите обычный процесс пометки, но, как вы идете, лица, несомненно, будут рекомендовать неправильные совпадения. Этого следовало ожидать. В отличие от двойного щелчка и отклонения неправильного возможного совпадения, щелкните его, удерживая клавишу Control, и выберите "имя". Если вы знаете, кто этот человек, вы можете применить его ранее существующее имя "лица" на этом этапе. Лица даже автоматически создадут новую запись о лицах, если этого человека нет в базе данных. Это просто немного больше работы, чем отклонение неверного соответствия, но, присвоив ему имя, вы убираете его из списка неизвестных совпадений, что уменьшает количество ожидающих совпадений лиц, добавляет больше образцов лиц в список подтвержденных распознаваний вновь добавленного человека и отбирает базу данных на лету. В моей книге это равно, что помечать фотографии без тегов.

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

0

AppleScript будет одним из подходов здесь. Поскольку у меня нет времени, чтобы реально реализовать это прямо сейчас, я дам краткое изложение того, что я воображаю, на случай, если вы или кто-то еще здесь захотите это сделать. Или, может быть, есть более простое решение:

Напишите сценарий, который ищет обнаруженные лица без тегов и создает альбом (но не умный альбом, к сожалению) со всеми этими изображениями. Он может удалить старую версию альбома перед началом, так что он ведет себя в основном как умный альбом, за исключением того, что вам потребуется запустить скрипт для его обновления. Может быть возможно настроить его на автоматический запуск по некоторому триггеру.

Чтобы усложнить задачу, iPhoto '09 не предоставляет функцию Faces через библиотеку AppleScript. Поэтому вам придется открыть базу данных sqlite в комплекте библиотеки и прочитать ее вручную. Кто-то уже проделал некоторую работу, связанную с этим, и создал скрипт для взаимодействия с Faces.

Но эти сценарии анализируют лица, которые уже прикреплены к фотографии. Мы заинтересованы в потенциальных матчах. База данных faces.db sqlite имеет таблицу similar_faces которой перечислены все неподтвержденные лица, которые она обнаружила. Вы хотите выбрать image_key для всех строк в этой таблице с ignored = 0 .

Иногда на фотографии указано несколько лиц для одного лица. Эти возможные совпадения показаны на странице для лица ("Джон Доу также может быть на фотографиях ниже"). Если вас интересуют только лица, для которых iPhoto является доверенным лицом, чтобы предложить имя прямо с картинки, выберите только строки из similar_faces с score превышающей некоторый порог, 0.80 или что-то еще. Возможно, вам также понадобится найти seed_face_key в face_name чтобы убедиться, что он полностью соответствует кому-то, о чем он уже знает, у меня есть только два непомеченных лица для проверки прямо сейчас, поэтому я не уверен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .