|
@@ -97,9 +97,9 @@
|
|
|
1.6 Похожие проекты и их сравнение
|
|
|
|
|
|
В ходе изучения предметной области были проанализрованы похожие
|
|
|
-решения, выявлены достоинства и недостатки (таблица 1).
|
|
|
+решения, выявлены достоинства и недостатки (таблица 1.1).
|
|
|
|
|
|
-Таблица 1 — Описание похожих проектов
|
|
|
+Таблица 1.1 — Описание похожих проектов
|
|
|
|
|
|
Проект
|
|
|
|
|
@@ -123,13 +123,14 @@ Google Photos [2],
|
|
|
автоматической компоновки результата.
|
|
|
|
|
|
2 Проектирование информационной системы
|
|
|
+---------------------------------------
|
|
|
|
|
|
При проектировании системы были выделены два типа
|
|
|
пользователей: студенты и администраторы, а так же
|
|
|
определены функции, которые каждый из типов может использовать.
|
|
|
-Описание функций приведено в use-case диаграмме (рис. 1).
|
|
|
+Описание функций приведено в use-case диаграмме (рис. 2.1).
|
|
|
|
|
|
-[-- Image: Image1 --]Рисунок 1 — use-case диаграмма системы
|
|
|
+[-- Image: Image1 --]Рисунок 2.1 — use-case диаграмма системы
|
|
|
|
|
|
При проектировании также была разработана диаграмма,
|
|
|
отображающая основной бизнес процесс проекта.
|
|
@@ -154,7 +155,7 @@ Google Photos [2],
|
|
|
|
|
|
- Исполнение в браузере.
|
|
|
|
|
|
-Таблица 2 — Параметры среды разработки
|
|
|
+Таблица 2.1 — Параметры среды разработки
|
|
|
|
|
|
Параметр
|
|
|
|
|
@@ -188,22 +189,22 @@ Google Photos [2],
|
|
|
1 Подойти к устройству, на котором развёрнут интерфейс;
|
|
|
|
|
|
Пользователю будут представлены краткие инструкции по работе с
|
|
|
-системой и кнопка «Начать» (рис. 2). Кнопка «Нажать» проверит,
|
|
|
-подключено ли внешнее хранилище, и, в случае если хранилище не
|
|
|
-подключено, выдаст ошибку с соответствующим сообщением (рис.
|
|
|
-3). Проверка выполняется с помощью отправки HTTP запроса на
|
|
|
-API, работающее на том же устройстве, что и общий интерфейс.
|
|
|
-API собирает все устройства, подключенные к системе, имеющие
|
|
|
-тип «disk», а так же имеющие атрибут «removable» с помощью
|
|
|
-библиотеки pyudev и функции list_devices [6]. Затем,
|
|
|
-выполняется поиск всех разделов на этом устройстве,
|
|
|
+системой и кнопка «Начать» (рис. 3.1). Кнопка «Нажать»
|
|
|
+проверит, подключено ли внешнее хранилище, и, в случае
|
|
|
+если хранилище не подключено, выдаст ошибку с соответствующим
|
|
|
+сообщением (рис. 3). Проверка выполняется с помощью отправки
|
|
|
+HTTP запроса на API, работающее на том же устройстве, что и
|
|
|
+общий интерфейс. API собирает все устройства, подключенные
|
|
|
+к системе, имеющие тип «disk», а так же имеющие атрибут
|
|
|
+«removable» с помощью библиотеки pyudev и функции list_devices
|
|
|
+[6]. Затем, выполняется поиск всех разделов на этом устройстве,
|
|
|
вычисляется точка монтирования. Если какой-либо шаг в этой
|
|
|
последовательности был провален, система выдаёт ошибку
|
|
|
-подключения хранилища.
|
|
|
+подключения хранилища (рис. 3.2).
|
|
|
|
|
|
-[-- Image: Image4 --]Рисунок 2 — Начальная страница системы
|
|
|
+[-- Image: Image4 --]Рисунок 3.1 — Начальная страница системы
|
|
|
|
|
|
-[-- Image: Image5 --]Рисунок 3 — Ошибка, сообщающая о том, что
|
|
|
+[-- Image: Image5 --]Рисунок 3.2 — Ошибка, сообщающая о том, что
|
|
|
необходимо подключить внешнее хранилище
|
|
|
|
|
|
2 Подключить внешнее хранилище;
|
|
@@ -212,9 +213,10 @@ API
|
|
|
|
|
|
Система кодирует данные фотографии в base64, передаёт по сети в
|
|
|
подсистему распознавания, где данные декодируются и загружаются
|
|
|
-в память.
|
|
|
+в память. На странице отображён видеопоток для предпросмотра
|
|
|
+фотографии (рис. 3.3).
|
|
|
|
|
|
-[-- Image: Image9 --]Рисунок 4 — Страница снятия фотографии
|
|
|
+[-- Image: Image9 --]Рисунок 3.3 — Страница снятия фотографии
|
|
|
|
|
|
4 Ждать процесса распознавания;
|
|
|
|
|
@@ -222,7 +224,7 @@ API
|
|
|
из 1000 фотографий. Но, в случае если ожидание окажется
|
|
|
слишком долгим, интерфейс системы будет отображать экран
|
|
|
загрузки с одним случайно выбранным интересным фактом о
|
|
|
-техникуме (рис. 5).
|
|
|
+техникуме (рис. 3.4).
|
|
|
|
|
|
Процесс распознавания заключается в расшифровке изображения,
|
|
|
закодированного на предыдущем шаге. Изображение сохраняется
|
|
@@ -230,7 +232,7 @@ API
|
|
|
face_recognition. После этого, библиотека ищет лица на
|
|
|
фотографии. Если найдено больше или меньше одного
|
|
|
лица, возвращается ошибка, в интерфейсе открывается экран с
|
|
|
-описанием ошибки (рис. 6). Экран позволяет
|
|
|
+описанием ошибки (рис. 3.5). Экран позволяет
|
|
|
перефотографироваться или вернуться на
|
|
|
главный экран.
|
|
|
|
|
@@ -247,34 +249,35 @@ face_recognition.
|
|
|
было запечатлено, возвращаются в интерфейс для отображения
|
|
|
и/или сохранения.
|
|
|
|
|
|
-[-- Image: Image6 --]Рисунок 5 — Экран ожидания результатов
|
|
|
+[-- Image: Image6 --]Рисунок 3.4 — Экран ожидания результатов
|
|
|
|
|
|
-[-- Image: Image7 --]Рисунок 6 — Экран с описанием ошибки
|
|
|
+[-- Image: Image7 --]Рисунок 3.5 — Экран с описанием ошибки
|
|
|
|
|
|
5 Просмотреть результат сборки фотографий;
|
|
|
|
|
|
На этом экране система отображает количество фотографий,
|
|
|
которое было найдено, а так же выборку из результата в
|
|
|
-размере не более 6 фотографий (рис. 7). На экране расположены
|
|
|
-две кнопки: «На главную» и «Сохранить результат».
|
|
|
+размере не более 6 фотографий (рис. 3.6). На экране
|
|
|
+расположены две кнопки: «На главную» и «Сохранить
|
|
|
+результат».
|
|
|
|
|
|
-[-- Image: Image8 --]Рисунок 7 — Экран просмотра результата
|
|
|
+[-- Image: Image8 --]Рисунок 3.6 — Экран просмотра результата
|
|
|
|
|
|
6 Сохранить результат работы системы.
|
|
|
|
|
|
Перед сохранением пользователю выдаётся предупреждение с
|
|
|
-информацией о сохранении файла (рис. 8). Имя файла
|
|
|
+информацией о сохранении файла (рис. 3.7). Имя файла
|
|
|
генерируется динамически.
|
|
|
|
|
|
-[-- Image: Image10 --]Рисунок 8 — Предупреждение о сохранении
|
|
|
+[-- Image: Image10 --]Рисунок 3.7 — Предупреждение о сохранении
|
|
|
фотографий
|
|
|
|
|
|
После подтверждения сохранения, система передаёт ID фотографий,
|
|
|
которые нужно сохранить, формирует zip-архив, который
|
|
|
скачивается и сохраняется на внешнем хранилище (рис.
|
|
|
-9).
|
|
|
+3.8).
|
|
|
|
|
|
-[-- Image: Image11 --]Рисунок 9 — Пример сохранения на внешнем
|
|
|
+[-- Image: Image11 --]Рисунок 3.8 — Пример сохранения на внешнем
|
|
|
носителе
|
|
|
|
|
|
4 Анализ разработанной информационной системы, выявление
|
|
@@ -323,6 +326,108 @@ face_recognition.
|
|
|
5 Разработка методики внедрения и сопровождения информационной
|
|
|
системы
|
|
|
|
|
|
+После разработки программного продукта, были разработаны
|
|
|
+руководство пользователя (приложение Г) и руководство
|
|
|
+администратора (приложение Д).
|
|
|
+
|
|
|
+Руководство пользователя описывает порядок работы с системой, а
|
|
|
+так же описания ошибок, которые выдаются системой и шаги для их
|
|
|
+исправления.
|
|
|
+
|
|
|
+Руководство администратора описывает каким образом система
|
|
|
+работает, как её запускать, заполнять данными, а так же
|
|
|
+описания ошибок и шаги по исправлению.
|
|
|
+
|
|
|
+5.1 Программа резервного копирования и восстановления
|
|
|
+
|
|
|
+Плaн рeзeрвнoгo кoпирoвaния инфoрмaциoннoй cиcтeмы:
|
|
|
+
|
|
|
+5.1.1 Oбщиe пoлoжeния:
|
|
|
+
|
|
|
+5.1.1.1 Нacтoящий рeглaмeнт прoвeдeния рeзeрвнoгo кoпирoвaния
|
|
|
+(вoccтaнoвлeния) прoгрaмм и дaнных, хрaнящихcя нa
|
|
|
+aвтoмaтизирoвaнных рaбoчих мecтaх и ceрвeрaх
|
|
|
+рaзрaбoтaн c цeлью:
|
|
|
+
|
|
|
+5.1.1.1.1 Oпрeдeлeния пoрядкa рeзeрвирoвaния дaнных для
|
|
|
+пocлeдующeгo вoccтaнoвлeния рaбoтocпocoбнocти
|
|
|
+инфoрмaциoннoй cиcтeмы пeрcoнaльных дaнных oргaнизaции
|
|
|
+при пoлнoй или чacтичнoй пoтeрe инфoрмaции, вызвaннoй cбoями
|
|
|
+или oткaзaми aппaрaтнoгo или прoгрaммнoгo oбecпeчeния,
|
|
|
+oшибкaми пoльзoвaтeлeй;
|
|
|
+
|
|
|
+5.1.1.1.2 Oпрeдeлeния пoрядкa вoccтaнoвлeния инфoрмaции в cлучae
|
|
|
+вoзникнoвeния тaкoй нeoбхoдимocти;
|
|
|
+
|
|
|
+5.1.1.1.3 Упoрядoчeния рaбoты дoлжнocтных лиц, cвязaннoй c
|
|
|
+рeзeрвным кoпирoвaниeм и вoccтaнoвлeниeм инфoрмaции.
|
|
|
+
|
|
|
+5.1.1.2 В нacтoящeм дoкумeнтe рeглaмeнтируютcя дeйcтвия при
|
|
|
+выпoлнeнии cлeдующих мeрoприятий:
|
|
|
+
|
|
|
+5.1.1.2.1 Рeзeрвнoe кoпирoвaниe;
|
|
|
+
|
|
|
+5.1.1.2.2 Кoнтрoль рeзeрвнoгo кoпирoвaния;
|
|
|
+
|
|
|
+5.1.1.2.3 Хрaнeниe рeзeрвных кoпий;
|
|
|
+
|
|
|
+5.1.1.2.4 Пoлнoe или чacтичнoe вoccтaнoвлeниe дaнных и
|
|
|
+прилoжeний.
|
|
|
+
|
|
|
+5.1.1.3 Рeзeрвнoму кoпирoвaнию пoдлeжит инфoрмaция cлeдующих
|
|
|
+ocнoвных кaтeгoрий:
|
|
|
+
|
|
|
+5.1.1.3.1 Данные распознавания лиц на фотографиях;
|
|
|
+
|
|
|
+5.1.1.3.2 Связи данных лиц с фотографиями.
|
|
|
+
|
|
|
+5.1.2 Пoрядoк рeзeрвнoгo кoпирoвaния
|
|
|
+
|
|
|
+5.1.2.1 Cиcтeмa рeзeрвнoгo кoпирoвaния дoлжнa oбecпeчивaть
|
|
|
+прoизвoдитeльнocть, дocтaтoчную для coхрaнeния инфoрмaции,
|
|
|
+в уcтaнoвлeнныe cрoки и c зaдaннoй пeриoдичнocтью. Рeзeрвнoe
|
|
|
+кoпирoвaниe дoлжнo прoизвoдитьcя кaждый дeнь, рoвнo в 00:00
|
|
|
+пo Мocкoвcкoму врeмeни.
|
|
|
+
|
|
|
+5.1.3 Кoнтрoль рeзультaтoв рeзeрвнoгo кoпирoвaния
|
|
|
+
|
|
|
+5.1.3.1 Кoнтрoль рeзультaтoв вceх прoцeдур рeзeрвнoгo
|
|
|
+кoпирoвaния ocущecтвляeтcя cиcтeмным aдминиcтрaтoрoм.
|
|
|
+
|
|
|
+5.1.3.2 Нa прoтяжeнии пeриoдa врeмeни, кoгдa cиcтeмa рeзeрвнoгo
|
|
|
+кoпирoвaния нaхoдитcя в aвaрийнoм cocтoянии, дoлжнo
|
|
|
+ocущecтвлятьcя eжeднeвнoe кoпирoвaниe инфoрмaции,
|
|
|
+пoдлeжaщeй рeзeрвирoвaнию, c иcпoльзoвaниeм cрeдcтв
|
|
|
+фaйлoвых cиcтeм.
|
|
|
+
|
|
|
+5.1.4 Вoccтaнoвлeниe инфoрмaции из рeзeрвнoй кoпии
|
|
|
+
|
|
|
+5.1.4.1 В cлучae нeoбхoдимocти, вoccтaнoвлeниe дaнных из
|
|
|
+рeзeрвных кoпий прoизвoдитcя caмocтoятeльнo. Дeлaeтcя этo
|
|
|
+cлeдующим oбрaзoм: определить используемый файл базы данных
|
|
|
+.sqlite3, затем заменить файл резервной копией.
|
|
|
+
|
|
|
+Перечень резервируемой информации:
|
|
|
+
|
|
|
+- Копируемый ресурс: данные информационной системы;
|
|
|
+
|
|
|
+- Метод копирования: бэкап данных с помощью средств планировщика
|
|
|
+ОС;
|
|
|
+
|
|
|
+- Тип копирования: полное копирование;
|
|
|
+
|
|
|
+- Тип носителя: внешнее файловое хранилище;
|
|
|
+
|
|
|
+- Периодичность смены носителя: согласно технической
|
|
|
+документации установленного заводом изготовителем,
|
|
|
+либо после диагностики диска;
|
|
|
+
|
|
|
+- Раписания копирования: раз в неделю;
|
|
|
+
|
|
|
+- Срок хранения: 3 месяца;
|
|
|
+
|
|
|
+- Первичность проверки резервных копий: раз в месяц.
|
|
|
+
|
|
|
Список использованных источников
|
|
|
================================
|
|
|
|
|
@@ -404,7 +509,7 @@ text
|
|
|
|
|
|
Путь к фотографии в медиатеке.
|
|
|
|
|
|
--
|
|
|
+UNIQUE
|
|
|
|
|
|
Таблица В.2 — Словарь данных сущности Student
|
|
|
|
|
@@ -459,10 +564,450 @@ FOREIGN KEY
|
|
|
|
|
|
student_id
|
|
|
|
|
|
-Int
|
|
|
+int
|
|
|
|
|
|
Ссылается на студента, которому, как считает система,
|
|
|
принадлежит данное лицо.
|
|
|
|
|
|
FOREIGN KEY
|
|
|
|
|
|
+приложение г
|
|
|
+============
|
|
|
+
|
|
|
+(обязательное)
|
|
|
+
|
|
|
+ИНФОРМАЦИОННАЯ СИСТЕМА «ЛИЦО УСПЕХА»
|
|
|
+
|
|
|
+МОДУЛЬ «ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ»
|
|
|
+
|
|
|
+РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
|
|
|
+
|
|
|
+ВЕРСИЯ 1.0
|
|
|
+
|
|
|
+2025
|
|
|
+
|
|
|
+1 Введение
|
|
|
+==========
|
|
|
+
|
|
|
+1.1 Область применения
|
|
|
+
|
|
|
+Областью применения Модуля является взаимодействие пользователя
|
|
|
+с системой.
|
|
|
+
|
|
|
+1.2 Краткое описание возможностей
|
|
|
+
|
|
|
+Информационная система «Лицо успеха» предназначена для
|
|
|
+обработки медиатеки техникума, поиска и идентификации
|
|
|
+лиц, найденных на фотографиях.
|
|
|
+
|
|
|
+В Модуле реализованы следующие возможности:
|
|
|
+
|
|
|
+Снятие фотографии пользователя;
|
|
|
+
|
|
|
+Автоматический поиск подключенных устройств внешнего хранения;
|
|
|
+
|
|
|
+Сохранение результата работы системы на внешнее хранилище.
|
|
|
+
|
|
|
+1.3 Уровень подготовки пользователя
|
|
|
+
|
|
|
+Пользователь должен иметь базовые навыки работы с компьютером.
|
|
|
+
|
|
|
+1.4 Перечень эксплуатационной документации, с которой необходимо
|
|
|
+ознакомиться пользователю
|
|
|
+
|
|
|
+Настоящее Руководство.
|
|
|
+
|
|
|
+2 Назначение и условия применения
|
|
|
+=================================
|
|
|
+
|
|
|
+Модуль «Интерфейс пользователя» в составе системы «Лицо успеха»
|
|
|
+предназначен для предоставления возможности пользователю
|
|
|
+взаимодействовать с системой. В модуле реализована
|
|
|
+возможность снятия фотографии и сохранения результата
|
|
|
+работы системы.
|
|
|
+
|
|
|
+Работа с Модулем доступна всем пользователям. Работа с Модулем
|
|
|
+доступна всегда, когда есть необходимость в получении или
|
|
|
+подаче информации.
|
|
|
+
|
|
|
+3 Подготовка к работе
|
|
|
+=====================
|
|
|
+
|
|
|
+Для работы с системой «Лицо успеха» необходимо следующее
|
|
|
+аппаратное обеспечение:
|
|
|
+
|
|
|
+• Внешнее хранилище данных, подключаемое по USB.
|
|
|
+
|
|
|
+4 Описание операций
|
|
|
+===================
|
|
|
+
|
|
|
+4.1 Выполняемые функции и задачи
|
|
|
+
|
|
|
+Модуль «Интерфейс пользователя» в составе системы «Лицо успеха»
|
|
|
+выполняет задачи, приведённые в таблице ниже:
|
|
|
+
|
|
|
+Таблица Г.1 — Описание функций и задач
|
|
|
+
|
|
|
+Задачи
|
|
|
+
|
|
|
+Описание
|
|
|
+
|
|
|
+Снятие фотографии
|
|
|
+
|
|
|
+Пользователю предоставляется возможность снять фотографию
|
|
|
+своего лица, с живым предпросмотром.
|
|
|
+
|
|
|
+Просмотр результата работы системы
|
|
|
+
|
|
|
+Пользователю предоставляется возможность просмотреть результат
|
|
|
+работы системы. Отображается до 6 фотографий.
|
|
|
+
|
|
|
+Сохранение результата работы системы
|
|
|
+
|
|
|
+Пользователю предоставляется возможность сохранить результат
|
|
|
+работы системы на внешнее хранилище. Хранилище должно быть
|
|
|
+подключено перед началом работы системы.
|
|
|
+
|
|
|
+4.2 Описание операций технологического процесса обработки
|
|
|
+данных, необходимых для выполнения задач
|
|
|
+
|
|
|
+Ниже приведено описание пользовательских операций для
|
|
|
+выполнения каждой из задач.
|
|
|
+
|
|
|
+Задача: «Снятие фотографии»
|
|
|
+
|
|
|
+Действия для выполнения:
|
|
|
+
|
|
|
+1 Нажать на кнопку «Начать»;
|
|
|
+
|
|
|
+2 Оставить своё лицо в кадре;
|
|
|
+
|
|
|
+3 Нажать на кнопку «Сфотографироваться»;
|
|
|
+
|
|
|
+Задача: «Просмотр результата работы системы»
|
|
|
+
|
|
|
+Действия для выполнения:
|
|
|
+
|
|
|
+1 Сфотографироваться;
|
|
|
+
|
|
|
+2 Подождать от 2 до 10 секунд;
|
|
|
+
|
|
|
+3 Просмотреть результат.
|
|
|
+
|
|
|
+Задача «Сохранение результата работы системы»
|
|
|
+
|
|
|
+Действия для выполнения:
|
|
|
+
|
|
|
+1 Подключить внешнее хранилище;
|
|
|
+
|
|
|
+2 Сфотографироваться;
|
|
|
+
|
|
|
+3 Нажать на кнопку «Сохранить»;
|
|
|
+
|
|
|
+4 Подтвердить местоположение файла;
|
|
|
+
|
|
|
+5 Отключить внешнее хранилище.
|
|
|
+
|
|
|
+5 Аварийные ситуации
|
|
|
+====================
|
|
|
+
|
|
|
+В случае возникновения ошибок при работе системы «Лицо успеха»,
|
|
|
+не описанных ниже в данном разделе, необходимо обращаться к
|
|
|
+сотруднику подразделения технической поддержки, либо к
|
|
|
+ответственному Администратору системы «Лицо успеха».
|
|
|
+
|
|
|
+Таблица Г.2 — Описание аварийных ситуаций
|
|
|
+
|
|
|
+Ошибка
|
|
|
+
|
|
|
+Описание ошибки
|
|
|
+
|
|
|
+Требуемые действия пользователя при возникновении ошибки
|
|
|
+
|
|
|
+USB хранилище не подключено
|
|
|
+
|
|
|
+Пользователь пытается начать работу с системой, не подключив
|
|
|
+внешнее хранилище данных.
|
|
|
+
|
|
|
+Подключить в терминал внешнее хранилище данных (флешка, ssd
|
|
|
+накопитель)
|
|
|
+
|
|
|
+На фотографии не обнаружено ни одного лица
|
|
|
+
|
|
|
+Системе не удалось распознать ни одного лица на сделанной
|
|
|
+фотографии.
|
|
|
+
|
|
|
+Принять другую позу лица, снять любые предметы одежды,
|
|
|
+закрывающие лицо.
|
|
|
+
|
|
|
+На фотографии обнаружено больше одного лица
|
|
|
+
|
|
|
+Система распознала на фотографии больше одного лица.
|
|
|
+
|
|
|
+Оставьте в кадре только одно лицо.
|
|
|
+
|
|
|
+Нет связанных с тобой фотографий
|
|
|
+
|
|
|
+Система распознала пользователя, но не нашла ни одной
|
|
|
+фотографии, на котором запечатлено его лицо.
|
|
|
+
|
|
|
+-
|
|
|
+
|
|
|
+приложение д
|
|
|
+============
|
|
|
+
|
|
|
+(обязательное)
|
|
|
+
|
|
|
+ИНФОРМАЦИОННАЯ СИСТЕМА «ЛИЦО УСПЕХА»
|
|
|
+
|
|
|
+МОДУЛЬ «НЕЙРОДВИЖОК»
|
|
|
+
|
|
|
+РУКОВОДСТВО АДМИНИСТРАТОРА
|
|
|
+
|
|
|
+ВЕРСИЯ 1.0
|
|
|
+
|
|
|
+2025
|
|
|
+
|
|
|
+Аннотация
|
|
|
+
|
|
|
+Документ представляет руководство по сбору и обработке
|
|
|
+фотографий в медиатеке техникума с использованием
|
|
|
+системы распознавания лиц. Описаны основные возможности
|
|
|
+системы, такие как идентификация людей, ведение базы данных
|
|
|
+и развертывание HTTP API. Уровень подготовки пользователей
|
|
|
+требует базовых навыков работы с компьютером.
|
|
|
+
|
|
|
+В разделе «Подготовка системы» указаны требования к
|
|
|
+программному обеспечению и шаги по настройке,
|
|
|
+включая сбор ресурсов интерфейса, настройку SSL, загрузку
|
|
|
+фотографий и запуск нейродвижка. Раздел "Аварийные ситуации"
|
|
|
+содержит информацию о возможных ошибках и рекомендации по их
|
|
|
+устранению. Документ служит справочным материалом для
|
|
|
+пользователей и администраторов системы.
|
|
|
+
|
|
|
+1 Введение
|
|
|
+==========
|
|
|
+
|
|
|
+Область применения: сбор фотографий медиатеки техникума.
|
|
|
+
|
|
|
+Краткое описание возможностей:
|
|
|
+
|
|
|
+Распознавание лиц на фотографиях;
|
|
|
+
|
|
|
+Идентификация людей на снимках, формирование выборки фотографий
|
|
|
+по снимку пользователя;
|
|
|
+
|
|
|
+Ведение базы данных;
|
|
|
+
|
|
|
+Развертывание HTTP API для взаимодействия с системой.
|
|
|
+
|
|
|
+Уровень подготовки пользователей: от пользователей требуются
|
|
|
+базовые знания работы с компьютером.
|
|
|
+
|
|
|
+Перечень эксплуатационной информации:
|
|
|
+
|
|
|
+uvicorn (https://www.uvicorn.org/)
|
|
|
+
|
|
|
+веб-сервер для развертывания интерфейса пользователя — apache
|
|
|
+(https://apache.org/)
|
|
|
+
|
|
|
+установка ssl сертификата для apache
|
|
|
+(https://losst.pro/ustanovka-ssl-sertifikata-apache-ot-lets-encrypt)
|
|
|
+
|
|
|
+2 Подготовка системы к работе
|
|
|
+=============================
|
|
|
+
|
|
|
+Система была протестирована, работает корректно в следующем
|
|
|
+окружении (таблица Д.1).
|
|
|
+
|
|
|
+Таблица Д.1 — Версии компонентов
|
|
|
+
|
|
|
+Компонент
|
|
|
+
|
|
|
+Версия
|
|
|
+
|
|
|
+Операционная система
|
|
|
+
|
|
|
+Ubuntu Linux, ядро 6.8.0-60-generic
|
|
|
+
|
|
|
+Разрядность процессора
|
|
|
+
|
|
|
+x64
|
|
|
+
|
|
|
+Веб-сервер
|
|
|
+
|
|
|
+Apache 2.4.58
|
|
|
+
|
|
|
+Версия python
|
|
|
+
|
|
|
+3.12.3
|
|
|
+
|
|
|
+Версия npm
|
|
|
+
|
|
|
+9.2.0
|
|
|
+
|
|
|
+Пакеты ОС
|
|
|
+
|
|
|
+build-essential python3-venv libopenblas-dev liblapack-dev
|
|
|
+net-tools
|
|
|
+
|
|
|
+Веб-браузер
|
|
|
+
|
|
|
+Firefox 137.0.2
|
|
|
+
|
|
|
+Версии пакетов python и node.js приведены репозиториях проекта
|
|
|
+и находятся по пути src/face-api/requirements.txt и
|
|
|
+src/web/package-lock.json соответственно.
|
|
|
+
|
|
|
+Для запуска системы, требуется выполнить следующие действия:
|
|
|
+
|
|
|
+1 Собрать все ресурсы пользовательского интерфейса в пакет с
|
|
|
+помощью команды npm run build, выгрузить пакет на
|
|
|
+веб-сервер. Пакет представляет собой папку (обычно
|
|
|
+создаётся под названием dist после выполнения команды).
|
|
|
+
|
|
|
+2 Так как интерфейс системы запускается как сайт, то подключение
|
|
|
+должно быть защищено, так как некоторые возможности системы
|
|
|
+недоступны без безопасного контекста исполнения. Для
|
|
|
+создания защищённого соединения, потребуется настройка
|
|
|
+apache для работы с SSL сертификатами.
|
|
|
+
|
|
|
+3 Загрузить фотографии в систему. За загрузку отвечает скрипт по
|
|
|
+пути src/face-api/scan-dir.py. Скрипт принимает как аргументы
|
|
|
+путь к базе данных (sqlite файл) и путь к папке, в которой
|
|
|
+хранятся фотографии. Скрипт рекурсивно собирает фотографии,
|
|
|
+распознаёт лица и загружает данные в систему.
|
|
|
+
|
|
|
+4 Запустить нейродвижок. Команда для запуска нейродвижка должна
|
|
|
+быть похоже на что-то подобное:
|
|
|
+
|
|
|
+uvicorn api:app --host 0.0.0.0 --port 8000 --ssl-keyfile <ПУТЬ К
|
|
|
+ФАЙЛУ .key> --ssl-certfile <ПУТЬ К ФАЙЛУ .pem>
|
|
|
+
|
|
|
+5 Запустить файловое API на клиенте. Файловое API требуется для
|
|
|
+сохранения результата работы системы. Скрипт запуска
|
|
|
+расположен по пути src/file-api/start.sh.
|
|
|
+
|
|
|
+Для проверки работы системы, необходимо открыть адрес, на
|
|
|
+котором развёрнут веб-сервер. Для проверки подключения
|
|
|
+внешнего хранилища, нужно нажать на кнопку «Начать». Если
|
|
|
+хранилище подключено, система покажет страницу снятия
|
|
|
+фотографии. Если система выдаёт результат слишком долго
|
|
|
+(больше 10 сек.), вероятнее всего, возникла проблема при
|
|
|
+запуске нейродвижка.
|
|
|
+
|
|
|
+3 Авариные ситуации
|
|
|
+
|
|
|
+В процессе эксплуатации системы, может произойти несколько
|
|
|
+видов аварийных ситуаций. Описания и шаги к исправлению
|
|
|
+описаны в таблице Д.2.
|
|
|
+
|
|
|
+Таблица Д.2 — Описание аварийных ситуаций
|
|
|
+
|
|
|
+Описание ошибки
|
|
|
+
|
|
|
+Шаги к исправлению
|
|
|
+
|
|
|
+При запросе проверки подключения USB хранилища, консоль
|
|
|
+браузера выдаёт сетевую ошибку.
|
|
|
+
|
|
|
+1 Проверить статус работы файлового API;
|
|
|
+
|
|
|
+2 Проверить адрес файлого API, указанный в коде интерфейса
|
|
|
+пользователя. Исправить, если отличается от текущего.
|
|
|
+
|
|
|
+При запросе к API нейродвижка, консоль браузера выдаёт сетевую
|
|
|
+ошибку.
|
|
|
+
|
|
|
+1 Проверить статус работы API нейродвижка;
|
|
|
+
|
|
|
+2 Проверить адрес API нейродвижка, исправить если отличается от
|
|
|
+текущего;
|
|
|
+
|
|
|
+3 Убедиться, что API работает по протоколу HTTPS. Если нет, то
|
|
|
+настроить сертификаты HTTP веб-сервера, передать их при
|
|
|
+запуске в API.
|
|
|
+
|
|
|
+Предпросмотр снимка лица не включается.
|
|
|
+
|
|
|
+1 Проверить наличие и подключение USB-камеры;
|
|
|
+
|
|
|
+2 Убедиться, что интерфейс браузера открыт в безопасном
|
|
|
+контексте (localhost или через протокол HTTPS).
|
|
|
+
|
|
|
+Порт уже занят (при запуске любого API)
|
|
|
+
|
|
|
+1 Определить процесс, использующий занятый порт;
|
|
|
+
|
|
|
+2 Если процесс критичный, запустить API на другом порту, иначе
|
|
|
+завершить блокирующий процесс.
|
|
|
+
|
|
|
+3 Аварийные ситуации
|
|
|
+
|
|
|
+В процессе запуска или эскплуатации системы, может быть выдано
|
|
|
+множество сообщений об ошибках. В таблице Д.2 приведены
|
|
|
+описания сообщений и рекомендуемые действия при их
|
|
|
+получении.
|
|
|
+
|
|
|
+Таблица Д.2 — Описание сообщений
|
|
|
+
|
|
|
+Компонент системы
|
|
|
+
|
|
|
+Сообщение
|
|
|
+
|
|
|
+Рекомендуемые действия
|
|
|
+
|
|
|
+scan-dir.py
|
|
|
+
|
|
|
+Файл настроек по указанному пути не найден
|
|
|
+
|
|
|
+Убедиться что по указанному пути файл настроек существует
|
|
|
+
|
|
|
+Ключ настроек не найден
|
|
|
+
|
|
|
+В файле настроек отсутствует требуемый ключ
|
|
|
+
|
|
|
+Файл настроек содержит неверный JSON
|
|
|
+
|
|
|
+Исправить форматирование файла настроек
|
|
|
+
|
|
|
+Не удалось открыть файл базы данных
|
|
|
+
|
|
|
+Убедиться что путь к базе данных существует и есть права на его
|
|
|
+запись и чтение
|
|
|
+
|
|
|
+Каталог не найден
|
|
|
+
|
|
|
+Убедиться что путь к папке с фотографиями действительно
|
|
|
+существует
|
|
|
+
|
|
|
+Не обнаружено новых изображений
|
|
|
+
|
|
|
+- (не обработано ни одной отографии потому что новых изображений
|
|
|
+не найдено)
|
|
|
+
|
|
|
+api.py
|
|
|
+
|
|
|
+Started server process
|
|
|
+
|
|
|
+- (api успешно запущено)
|
|
|
+
|
|
|
+Finished server process
|
|
|
+
|
|
|
+- (api успешно выключено)
|
|
|
+
|
|
|
+Интерфейс пользователя
|
|
|
+
|
|
|
+На фотографии не обнаружено ни одного лица
|
|
|
+
|
|
|
+Попробовать сфотографироваться, убрав с лица закрывающие его
|
|
|
+предметы
|
|
|
+
|
|
|
+На фотографии обнаружено больше одного лица
|
|
|
+
|
|
|
+Оставить в кадре только одно лицо
|
|
|
+
|
|
|
+Нет связанных с тобой фотографий
|
|
|
+
|
|
|
+- (фотографий не найдено)
|
|
|
+
|