Rose debug info
---------------

Тексты заведующего фонограмм архивом фольклорно-этнографических записей Центра русского фольклора @

Позднее Ctrl + ↑

Нейросеть для повышения детализации лиц на фото

Улучшить детализацию лица на фото

Собрал колаб для повышения детализации лица на фото в расфокусе. Что это значит? Пример можно посмотреть в карусели выше. У меня была фотография отца переснятая на смартфон и камера при этом не успела навести резкость. Детали лица потеряны.
Нейросеть умеет дорисовывать детали у таких фотографий. В карусели видно, что одно и то же фото я обработал два раза. Так же я ее раскрасил в колабе DeOldify
Я экспериментировал с разными фотографиями. Например я пробовал улучшить лицо Василия Артемьевича Сидорова выдернутое из видео. На третьем фото видны глюки. Я подозреваю, что нейросеть обучена на людях возрастом примерно 25-50 лет и поэтому вместе с улучшением идет и «омоложение» лица. Собрать датасет из лиц пожилого возраста и обучить на них нейросеть дело будущего. Возможно этот пост будет позже дописан.

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

Настройка NGINX

server {
        listen 80; # порт, прослушивающий nginx
        server_name    server.local; # доменное имя, относящиеся к текущему виртуальному хосту
        root  /var/www/site; # каталог в котором лежит проект, путь к точке входа

        index index.php;
        # add_header Access-Control-Allow-Origin *;

        # Отдавать статику
        location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
                access_log off;
                expires max;
                log_not_found off;
        }

        location ~* \.php$ {
        try_files $uri = 404;
        auth_basic "Restricted Content"; #  Настройка авторизации htpasswd
        auth_basic_user_file /var/www/.htpasswd; # указываем место нахождения файла с паролями
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; # подключаем сокет php-fpm
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {     #запрещаем чтение файлов htaccess и htpasswd
                deny all;
        }
    location /files {    # В директории files 
           autoindex on; # разрешаем просматривать файлы
           charset UTF-8; # Устанавливаем кодировку что бы файлы не читались кракозябрами
         }
   }

Что бы формировать файл htpasswd и добавлять в него пользователей надо поставить утилиты apache

sudo apt-get install apache2-utils -y
sudo htpasswd -c /var/www/.htpasswd newuser 
# создаем файл и одновременно добавляем в него пользователя

MySQL шпаргалка

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

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
FLUSH PRIVILEGES;

DROP USER 'demo'@'localhost';

Множественное объединение в запросе.
Есть одна таблица Записи

Индекс Дата Место Исполнитель1 Исполнитель2
1 01.02.2003 Совхоз им. Ленина 1 2

И вторая таблица с исполнителями
Исполнители

Индекс Имя
1 Иванов Иван Иванович
2 Петров Петр Петрович

нам нужно вывести в запросе все имена вместе с датой и местом

Запрос будет таков:

SELECT Дата, Место, Исп1.Имя, Исп2.Имя FROM Записи
#Здесь в селекте используются псевдонимы, 
# которые будут определяться позже в запросе, что вызывает путаницу поначалу
LEFT JOIN Исполнители AS Исп1 ON Записи.Исполнитель1 = Исп1.Индекс
LEFT JOIN Исполнители AS Исп1 ON Записи.Исполнитель2 = Исп2.Индекс
# В left join мы задали те самые алиасы (псевдонимы)

Условие совпадения не обязательно могут быть по индексу.
Будут выведены все записи, если исполнителя нет, то будет выведено NULL

Сам пример не случайный, именно так была устроена база ГРЦРФ. Ошибка здесь в том, что у одной записи строго ограниченное количество исполнителей жестко прошитое в структуре, то же самое было и относительно участников сеанса записи со стороны экспедиции. Правильным решением является соединение через еще одну промежуточную таблицу. Это называется «реляционное деление». В промежуточной таблице указывается id записи в основной таблице «Записи» и id в записи «Исполнители». Соответственно запрос ищет сначала все записи в промежуточной таблице с id потом считывает из поискового запроса все id исполнителей и после этого их подставляет в финальную выдачу.
Примера пока нет. Возможно когда-то будет updated.

about

Кирилл Валентинович Чеботарёв

Заведующий сектором исследования и сохранения архивных фондов Центра русского фольклора ГРДНТ им. В.Д. Поленова, руководитель сектора фольклорно-этнографических фондов Общероссийской общественной организации «Российский фольклорный союз»

Контакты

Телеграм ВК Youtube Instagram

Образование

Окончил Московский открытый институт по специальности «Прикладная информатика».

Публикации

  • Чеботарев К.В. Народный костюм в собраниях краеведческих музеев Волгоградской области // Живая старина. 2018. №2. С. 33-35.
  • Чеботарев К.В. Звуковые фольклорно-этнографические материалы: фиксация, обработка и систематизация: методическое пособие. М: Издательские решения, 2020. 54 с.
  • Чеботарёв К.В.  Современная архитектура для построения систем учёта фольклорно-этнографических метериалов // V Всероссийский конгресс фольклористов: Современная научная мысль о традиционной народной культуре: Сб. науч. статей / Ред.-сост. Е.А. Дорохова, Д.В. Морозов. М.: Государственный Российский Дом народного творчества имени В.Д. Поленова, 2022. С. 361—367.
  • Чеботарёв К.В. Карта экспедиций Александра Михайловича Листопадова // Современное состояние фольклорных традиций казачества Юга России и перспективы их изучения: сборник научных статей и методических материалов / Ред.-сост. Е.А. Дорохова, Д.В. Морозов. М.: Государственный Российский Дом народного творчества имени В.Д. Поленова, 2023. С. 18—24.

Проекты

Общественная и музыкально-просветительская деятельность

Полевые исследования

  • Республика Северная Осетия -Алания, Пригородный район; Ставропольский край, Кировский и Новопавловский районы (СЗБК «Терек», 2002).
  • Волгоградская область, Алексеевский, Нехаевский, Урюпинский районы (ИЭК «Белый камень», 2004).
  • Волгоградская область, Алексеевский район (ИЭК «Белый камень», 2005).
  • Тульская область, Чернский район (ЦТРКЮП «Истоки», 2011).
  • Орловская область, Новосильский район (ЦТРКЮП «Истоки», 2011).
  • Московская область, Подольский район (ЦТРКЮП «Истоки», 2012).
  • Орловская область, Новосильский район (ЦТРКЮП «Истоки», 2014).
  • Волгоградская область, Алексеевский и Кумылженский районы (ГРЦРФ, 2014).
  • Волгоградская область, Алексеевский и Урюпинский районы (ГРЦРФ, 2015).
  • Волгоградская область, Алексеевский, Серафимовичский, Урюпинский районы (ГРЦРФ, 2016).
  • Тульская область, Чернский район (ЦТРКЮП «Истоки», 2016).
  • Волгоградская область, Алексеевский, Новоаннинский, Серафимовичский районы (ГЦРФ ФГБУК «Роскультпроект», 2017).
  • Волгоградская область, Клетский, Михайловский районы (ГРДНТ им. В.Д. Поленова, 2018).
  • Республика Крым, Бахчисарайский, Белогорский, Симферопольский районы (ГРДНТ им. В.Д. Поленова, 2018).
  • Ростовская область, Боковский, Верхнедонской, Шолоховский районы (ГРДНТ им. В.Д. Поленова, 2019).
  • Волгоградская область, Алексеевский, Новоаннинский, Михайловский, Фроловский районы (ГРДНТ им. В.Д. Поленова, 2020).
  • Республика Крым (ГРДНТ им. В.Д. Поленова, 2022)
  • Волгоградская область, Алексеевский, Даниловский, Новоаннинский, Нехаевский, Михайловский, Фроловский районы (ГРДНТ им. В.Д. Поленова, 2022).
  • Брянская область, Красногорский, Мглинский, Суражский, Унечский районы (ГРДНТ им. В.Д. Поленова, 2022)
  • Ростовская область, Белокалитвинский, Боковский, Верхнедонской, Пролетарский, Шолоховский районы (ГРДНТ им. В.Д. Поленова, 2023).
  • Волгоградская область, Михайловский район (ГРДНТ им. В.Д. Поленова, 2023).
  • Орловская область, г. Орёл (ЦТРКЮП «Истоки», 2024).
 616   2021  

Создание swap раздела

Создание swap раздела на маломощных vps, хорошо когда ваши скрипты падают от недостатка оперативной памяти



free -m # Смотрим что у нас с памятью
mkdir -p /var/_swap_ #Создаем директорию где будет лежать swap
cd /var/_swap_ #Переходим в нее
#Здесь 1M * 2000 ~= 2GB  swap 
dd if=/dev/zero of=swapfile bs=1M count=2000 # Создаем swap файл
mkswap swapfile # Делаем наш пустой файл swap файлом
swapon swapfile # Включаем его в работу
chmod 600 swapfile # Выдаем ему правильные права
echo "/var/_swap_/swapfile none swap sw 0 0" >> /etc/fstab # Включаем его при запуске системы
#cat /proc/meminfo
free -m # Смотрим появился или нет

Ранее Ctrl + ↓