• Перейти на CTF площадку Игры Кодебай

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

Статья Как собрать простую систему распознавания лиц в режиме реального времени.

01.jpg


Интерес к системам распознавания лиц настолько велик, что принимает масштабы эпидемии планетарного масштаба. Алгоритмы распознавания уже используются не только спецслужбами, но и многими компаниями, которые давно внедрили данную технологию в нашу с вами повседневную жизнь. Сейчас её можно встретить практически везде: в аэропортах и на вокзалах, в банках и торговых центрах, в больницах и школах и даже просто на улицах больших городов.
Китай - мировой лидер по технологиям наблюдения за своими гражданами. К 2020 году там планируется установить 600 миллионов видеокамер. У полицейских есть специальные очки-дисплеи, которые могут выдать информацию о прохожем - достаточно просто на него посмотреть. В апреле 2017 года на востоке Китая задержали находящегося в розыске мужчину. Полиция с помощью видеонаблюдения нашла его на стадионе во время концерта, где было 70 тысяч человек.
Что уж говорить о виртуальном мире социальных сетей, где люди автоматически отмечаются на загруженных фотографиях и мобильных операционных системах, где смартфон узнаёт своего владельца через объектив фронтальной камеры.
В России успешно применяется технология распознавания на базе нейросети, которая позволяет узнать человека по фотографии и идентифицировать его, сравнив изображение с его фотографиями в социальных сетях. В первую очередь, во "ВКонтакте".
Тема эта настолько обширна, что раскрыть её в одной статье при всем желании никак не получится, да и цель у нас другая - так что остановимся на этом и перейдем к практике.

Шаг за шагом вы узнаете, как буквально в домашних условиях собрать простую и недорогую систему распознавания лиц в режиме реального времени. Способ предложил программист из Чили Марсело Ровай.

Для этого нам понадобится следующее оборудование:
Программные компоненты:
  • Python 3

Для распознавания лиц мы будем использовать камеру PiCam и библиотеки Open Source Computer Vision (OpenCV) на Raspberry Pi (Raspbian как ОС) и Python.
OpenCV был разработан для вычислительной эффективности с сильным акцентом на приложениях реального времени. Таким образом, он идеально подходит для распознавания лиц в режиме реального времени с помощью камеры.

Работу разделим на три этапа:

- Обнаружение лица и сбор данных
- Обучение Распознавателя
- Распознавание лица
Приведенная ниже схема иллюстрирует эти этапы:

02.jpg


Установка пакета OpenCV 3

Мы будем использовать Raspberry Pi V3, обновленную до последней версии Raspbian (Stretch).
Пошаговую инструкцию установки OpenCV я подробно описал в предыдущей статье: Установка OpenCV 3 + Python на Raspberry Pi ,
После установки, у вас должна быть готовая виртуальная среда OpenCV.
Давайте перейдем в нашу виртуальную среду и проверим, что OpenCV 3 установлен правильно.
Рекомендуется запускать команду «source» каждый раз, когда вы открываете новый терминал, чтобы убедиться, что системные переменные установлены правильно.

source ~/.profile

Далее давайте войдем в нашу виртуальную среду:

workon cv

Если вы видите текст (cv), предшествующий вашему приглашению, то вы находитесь в виртуальной среде cv :

(cv) pi@raspberry:~$

Обращаю Ваше внимание, что виртуальная среда cv Python полностью независима и отделена от версии Python по умолчанию, включенной в загрузку Raspbian Stretch. Таким образом, любые пакеты Python в глобальном каталоге site-packages не будут доступны для виртуальной среды cv. Аналогично, любые пакеты Python, установленные в пакетах site-cv, не будут доступны для глобальной установки Python.
Теперь введите в ваш интерпретатор Python:

python

и подтвердите, что вы используете версию 3.5 (или выше).
Внутри интерпретатора (появится «>>>») импортируйте библиотеку OpenCV:
import cv2

Если сообщения об ошибках не появляются, OpenCV правильно установлен в вашей виртуальной среде PYTHON.
Вы также можете проверить установленную версию OpenCV:

cv2.__version__
Должна появиться 3.3.0 (или более новая версия).

002.png


На скриншоте выше показаны предыдущие шаги.

Тестирование камеры

После того, как мы установили OpenCV в RPi, давайте проверим, правильно ли работает ваша камера.
Я предполагаю, что у вас уже есть установленная PiCam на вашем Raspberry Pi.
Камера должна быть включена, когда вы начинаете установку, иначе драйверы будут установлены неправильно.
Если вы получили ошибку типа: OpenCV Error: Assertion failed, вы можете попытаться решить проблему, используя команду:

sudo modprobe bcm2835-v4l2

После того, как все драйверы установлены правильно, введите приведенный ниже код Python в вашей IDE:

import numpy as np
import cv2
cap = cv2.VideoCapture(0)
cap.set(3,640) # set Width
cap.set(4,480) # set Height
while(True):
ret, frame = cap.read()
frame = cv2.flip(frame, -1) # Flip camera vertically
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

cv2.imshow('frame', frame)
cv2.imshow('gray', gray)

k = cv2.waitKey(30) & 0xff
if k == 27: # press 'ESC' to quit
break
cap.release()
cv2.destroyAllWindows()


Приведенный выше код будет захватывать видеопоток, который будет генерироваться вашей PiCam, отображая как в цветном режиме BGR, так и в сером.
Обратите внимание, что я повернул камеру вертикально, так как она собрана. Если это не ваш случай, прокомментируйте или удалите командную строку «flip».
Вы также можете скачать код с GitHub: simpleCamTest.py
Для выполнения скрипта введите команду:

python simpleCamTest.py

Чтобы завершить программу, вы должны нажать клавишу [ESC] на клавиатуре. Щелкните мышью в окне видео, прежде чем нажимать [ESC].


Некоторые пользователи сталкивались с проблемой при попытке открыть камеру (сообщения об ошибке «Ошибка подтверждения»). Это может произойти, если камера не была включена во время установки OpenCv и, следовательно, драйверы камеры были установлены неправильно. Чтобы исправить ошибку, используйте команду:

sudo modprobe bcm2835-v4l2

Вы также можете добавить bcm2835-v4l2 в последнюю строку файла /etc /modules, чтобы драйвер загружался автоматически при загрузке системы.

Обнаружение лица

Самой основной задачей распознавания лиц, конечно же, является «Обнаружение лица». Прежде всего, вы должны «захватить» лицо (Фаза 1), чтобы распознать его, по сравнению с новым лицом, захваченным в будущем (Фаза 3).
Наиболее распространенный способ обнаружения лица (или любых объектов) - использование « »
Обнаружение объектов с использованием каскадных классификаторов на основе признаков Хаара - это эффективный метод обнаружения объектов, предложенный Полом Виолой и Майклом Джонсом в их статье «Быстрое обнаружение объектов с использованием расширенного каскада простых функций». Это подход, основанный на машинном обучении, где Каскадная функция обучается на множестве положительных и отрицательных изображений. Затем он используется для обнаружения объектов на других изображениях.
Здесь мы будем работать с распознаванием лиц. Изначально алгоритму требуется много положительных изображений (изображений лиц) и отрицательных изображений (изображений без лиц) для обучения классификатора. Затем нам нужно извлечь из него особенности. Удобно то, что OpenCV изначально поставляется с инструктором и детектором.

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

Если вы не хотите создавать свой собственный классификатор - OpenCV уже содержит множество предварительно обученных классификаторов для лица, глаз, улыбки и т. д. Эти XML-файлы можно загрузить из каталога haarcascades .
Итак, приступим - давайте создадим детектор лица с OpenCV!
Загрузите файл: faceDetection.py из GitHub.

import numpy as np
import cv2
faceCascade = cv2.CascadeClassifier('Cascades/haarcascade_frontalface_default.xml')
cap = cv2.VideoCapture(0)
cap.set(3,640) # set Width
cap.set(4,480) # set Height
while True:
ret, img = cap.read()
img = cv2.flip(img, -1)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = faceCascade.detectMultiScale(
gray,
scaleFactor=1.2,
minNeighbors=5,
minSize=(20, 20)
)
for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
roi_gray = gray[y:y+h, x:x+w]
roi_color = img[y:y+h, x:x+w]
cv2.imshow('video',img)
k = cv2.waitKey(30) & 0xff
if k == 27: # press 'ESC' to quit
break
cap.release()
cv2.destroyAllWindows()


Приведенный выше код - это все, что вам нужно для обнаружения лица с использованием Python и OpenCV.
Обратите внимание на строку ниже:

faceCascade = cv2.CascadeClassifier('Cascades/haarcascade_frontalface_default.xml')

Это строка, которая загружает классификатор - classifier (который должен находиться в каталоге с именем «Cascades /», в каталоге вашего проекта).
Затем мы установим нашу камеру и внутри цикла загрузим наше входное видео в режиме градаций серого.
Теперь мы должны вызвать нашу функцию классификатора, передав ей некоторые очень важные параметры, такие как масштабный коэффициент, количество соседей и минимальный размер обнаруженного лица.

faces = faceCascade.detectMultiScale(
gray,
scaleFactor=1.2,
minNeighbors=5,
minSize=(20, 20)
)


Где :
gray - это входное изображение в градациях серого.
scaleFactor - это параметр, определяющий, насколько уменьшается размер при каждом масштабе изображения. Используется для создания масштабной пирамиды.
minNeighbors - это параметр, указывающий, сколько соседей должен иметь каждый прямоугольник-кандидат, чтобы сохранить его. Более высокое число дает меньше ложных срабатываний.
minSize - это минимальный размер прямоугольника, который считается лицом.

Функция обнаружит лица на изображении. Далее мы должны «пометить» грани на изображении, используя, например, синий прямоугольник. Это делается с помощью этой части кода:

for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
roi_gray = gray[y:y+h, x:x+w]
roi_color = img[y:y+h, x:x+w]


Если грани найдены, он возвращает позиции обнаруженных граней в виде прямоугольника с левым верхним углом (x, y) и имеет «w» в качестве своей ширины и «h» в качестве высоты = => (x, y, w, h).

03.jpg



Как только мы получим эти местоположения, мы можем создать «ROI» (нарисованный прямоугольник) с гранями и представить результат с помощью функции imshow () .
Запустите приведенный выше скрипт Python в своей среде Python, используя терминал Rpi:

python faceDetection.py

Получаем:

003.jpg


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

На GitHub есть готовые примеры классификаторов:
faceEyeDetection.py
faceSmileDetection.py
faceSmileEyeDetection.py

Результат будет примерно таким :

04.jpg


Сбор данных

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

05.jpg


Сначала создайте каталог, в котором вы разрабатываете свой проект, например, FacialRecognitionProject:

mkdir FacialRecognitionProject
В этом каталоге, кроме 3-х сценариев Python, которые мы создадим для нашего проекта, мы должны создать Лицевой классификатор. Вы можете скачать его с GitHub:
haarcascade_frontalface_default.xml
Затем создайте подкаталог, в котором мы будем хранить наши образцы лица . Назовем его dataset (набор данных, база данных):

mkdir dataset

Загрузите код из GitHub: 01_face_dataset.py

import cv2
import os
cam = cv2.VideoCapture(0)
cam.set(3, 640) # set video width
cam.set(4, 480) # set video height
face_detector = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# For each person, enter one numeric face id
face_id = input('\n enter user id end press <return> ==> ')
print("\n [INFO] Initializing face capture. Look the camera and wait ...")
# Initialize individual sampling face count
count = 0
while(True):
ret, img = cam.read()
img = cv2.flip(img, -1) # flip video image vertically
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_detector.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
cv2.rectangle(img, (x,y), (x+w,y+h), (255,0,0), 2)
count += 1
# Save the captured image into the datasets folder
cv2.imwrite("dataset/User." + str(face_id) + '.' + str(count) + ".jpg", gray[y:y+h,x:x+w])
cv2.imshow('image', img)
k = cv2.waitKey(100) & 0xff # Press 'ESC' for exiting video
if k == 27:
break
elif count >= 30: # Take 30 face sample and stop video
break
# Do a bit of cleanup
print("\n [INFO] Exiting Program and cleanup stuff")
cam.release()
cv2.destroyAllWindows()


Код очень похож на код, который мы видели для распознавания лиц. Мы добавили «команду ввода» для захвата идентификатора пользователя, который должен быть целым числом (1, 2, 3 и т. д.)

face_id = input('\n enter user id end press ==> ')

И для каждого из захваченных кадров мы должны сохранить его в виде файла в каталоге набора данных dataset :

cv2.imwrite("dataset/User." + str(face_id) + '.' + str(count) + ".jpg", gray[y:y+h,x:x+w])


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

User.face_id.count.jpg
Например, для пользователя с face_id = 1, 4-й пример файла в каталоге dataset / будет выглядеть примерно так:
User.1.4.jpg

Как показано на фото:

06.jpg



В коде собрано 30 образцов с каждого идентификатора. Вы можете изменить его на последнем "elif".
Запустите скрипт Python и запишите несколько идентификаторов. Вы должны запускать скрипт каждый раз, когда хотите присоединить нового пользователя или изменить фотографии.

Обучение

На этом этапе мы должны взять все пользовательские данные из нашего набора данных "trainer" OpenCV Recognizer. Это делается напрямую с помощью определенной функции OpenCV. Результатом будет файл .yml, который будет сохранен в каталоге «trainer /».

07.jpg


Итак, приступим к созданию подкаталога, в котором мы будем хранить данные обучения:

mkdir trainer
Загрузите с GitHub второй скрипт на python: 02_face_training.py
import cv2
import numpy as np
from PIL import Image
import os
# Path for face image database
path = 'dataset'
recognizer = cv2.face.LBPHFaceRecognizer_create()
detector = cv2.CascadeClassifier("haarcascade_frontalface_default.xml");
# function to get the images and label data
def getImagesAndLabels(path):
imagePaths = [os.path.join(path,f) for f in os.listdir(path)]
faceSamples=[]
ids = []
for imagePath in imagePaths:
PIL_img = Image.open(imagePath).convert('L') # convert it to grayscale
img_numpy = np.array(PIL_img,'uint8')
id = int(os.path.split(imagePath)[-1].split(".")[1])
faces = detector.detectMultiScale(img_numpy)
for (x,y,w,h) in faces:
faceSamples.append(img_numpy[y:y+h,x:x+w])
ids.append(id)
return faceSamples,ids
print ("\n [INFO] Training faces. It will take a few seconds. Wait ...")
faces,ids = getImagesAndLabels(path)
recognizer.train(faces, np.array(ids))
# Save the model into trainer/trainer.yml
recognizer.write('trainer/trainer.yml') # recognizer.save() worked on Mac, but not on Pi
# Print the numer of faces trained and end program
print("\n [INFO] {0} faces trained. Exiting Program".format(len(np.unique(ids))))


Убедитесь, что на вашем Rpi установлена библиотека PIL. Если нет, выполните следующую команду в Терминале:
pip install pillow

В качестве распознавателя мы будем использовать распознаватель лица LBPH (ГИСТОГРАММЫ ЛОКАЛЬНЫХ ДВОЙНЫХ ШАБЛОНОВ), включенный в пакет OpenCV. Мы делаем это в следующей строке:
recognizer = cv2.face.LBPHFaceRecognizer_create()

Функция «getImagesAndLabels (path)» будет принимать все фотографии в каталоге: "dataset/" , возвращая 2 массива: "Ids" и "faces"(идентификаторы и лица). С этими массивами в качестве входных данных мы будем обучать наш распознаватель:

recognizer.train(faces, ids)

В результате файл с именем «trainer.yml» будет сохранен в каталоге «trainer /», который был ранее нами создан.

Распознавание

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

08.jpg


Давайте загрузим скрипт Python 3-й фазы из GitHub: 03_face_recognition.py .

import cv2
import numpy as np
import os
recognizer = cv2.face.LBPHFaceRecognizer_create()
recognizer.read('trainer/trainer.yml')
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2.CascadeClassifier(cascadePath);
font = cv2.FONT_HERSHEY_SIMPLEX
#iniciate id counter
id = 0
# names related to ids: example ==> Marcelo: id=1, etc
names = ['None', 'Marcelo', 'Paula', 'Ilza', 'Z', 'W']
# Initialize and start realtime video capture
cam = cv2.VideoCapture(0)
cam.set(3, 640) # set video widht
cam.set(4, 480) # set video height
# Define min window size to be recognized as a face
minW = 0.1*cam.get(3)
minH = 0.1*cam.get(4)
while True:
ret, img =cam.read()
img = cv2.flip(img, -1) # Flip vertically
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

faces = faceCascade.detectMultiScale(
gray,
scaleFactor = 1.2,
minNeighbors = 5,
minSize = (int(minW), int(minH)),
)
for(x,y,w,h) in faces:
cv2.rectangle(img, (x,y), (x+w,y+h), (0,255,0), 2)
id, confidence = recognizer.predict(gray[y:y+h,x:x+w])
# Check if confidence is less them 100 ==> "0" is perfect match
if (confidence < 100):
id = names[id]
confidence = " {0}%".format(round(100 - confidence))
else:
id = "unknown"
confidence = " {0}%".format(round(100 - confidence))

cv2.putText(img, str(id), (x+5,y-5), font, 1, (255,255,255), 2)
cv2.putText(img, str(confidence), (x+5,y+h-5), font, 1, (255,255,0), 1)

cv2.imshow('camera',img)
k = cv2.waitKey(10) & 0xff # Press 'ESC' for exiting video
if k == 27:
break
# Do a bit of cleanup
print("\n [INFO] Exiting Program and cleanup stuff")
cam.release()
cv2.destroyAllWindows()



Мы включаем сюда новый массив, поэтому будем отображать «имена» вместо нумерованных идентификаторов:

names = ['None', 'Marcelo', 'Paula', 'Ilza', 'Z', 'W']

Так, например: Irina получит user с id = 1; Paul : id = 2 и т.д.
Далее мы обнаружим лицо, то же самое, что мы делали ранее с классификатором haasCascade. Обнаружив лицо, мы можем вызвать самую важную функцию в приведенном выше коде:

id, confidence = recognizer.predict(gray portion of the face)

recognizer.predict () примет в качестве параметра захваченную часть лица, подлежащего анализу, и вернет его вероятного владельца, указав его идентификатор и степень достоверности.
Обратите внимание, что индекс достоверности вернет "zero", если будет достигнут идеальный результат.

И, наконец, если распознаватель может предсказать лицо, мы помещаем текст поверх изображения с вероятным идентификатором и сколько эта вероятность составляет в процентах, что совпадение является правильным («вероятность» = 100 - индекс достоверности). Если нет, то на лицо наносится надпись НЕИЗВЕСТНО.

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

cherubot

Green Team
08.11.2017
40
19
статья 5+, сразу вопрос. принципиально именно модулем камеры пользоваться или можно с usbишной повторить?
 
  • Нравится
Реакции: st0p zer0 и Voron

allahcharge

One Level
19.03.2018
5
6
Насколько я понял, если обучить ее только на фото одного человека. С большой вероятностью, распознавать система будет только его?
 
  • Нравится
Реакции: Voron

Voron

Green Team
26.02.2019
82
262
Насколько я понял, если обучить ее только на фото одного человека. С большой вероятностью, распознавать система будет только его?
Вы всё правильно поняли - Именно так - она же сравнивает с базой - причем до смешного - если прикрыть лицо снимком человека, который есть в базе - она примет вас за него ))))

статья 5+, сразу вопрос. принципиально именно модулем камеры пользоваться или можно с usbишной повторить?
Если камеру можно подключить через слот, то можно и другую модель( опять же если с драйверами проблемы не возникнут) - через USB данная схема работать не будет - чилийцы пробовали)))

Она же простенькая - потому её легко обмануть - сейчас лучшие умы думают в обратном направлении - как можно обмануть новейшие системы распознавания . Печатают на одежду отвлекающие рисунки, китайцы наладили выпуск бейсболок, создающих помехи видеокамерам, а изготовленная на 3д принтере голова хозяина смартфона разблокировала все модели самсунга - айфон устоял)))
 
Последнее редактирование:

Rise_S

Green Team
28.07.2018
188
60
Статья собрано очень хорошо. Опередили меня. Писал про самообучающиеся алгоритмы распознавания. Пытался переделать с распознавания номеров АМ под распознавание лиц. Там есть отличия и есть общие элементы. Теперь уж нет смысла)) Хотя, я бы кое чего тут изменил

Автор, как насчет расширить функционал за счет изменения цели софта? Например, при обнаружении определенных лиц, передавать о них информацию на сервер?

P.S. Вопрос, снимаю, как слишком сложный, это я не продумав объема спросил
 
Последнее редактирование модератором:
  • Нравится
Реакции: Voron

Voron

Green Team
26.02.2019
82
262
Ну что вы, - думаю люди с интересом бы почитали ваши наработки - тема то, как конструктор лего - постоянно прирастает новыми модулями и задачами. И каждая новая задача - это уже тема для отдельной статьи.
 
Последнее редактирование:
  • Нравится
Реакции: Глюк

Rise_S

Green Team
28.07.2018
188
60
Ну что вы, - думаю люди с интересом бы почитали ваши наработки - тема то, как конструктор лего - постоянно прирастает новыми модулями и задачами. И каждая новая задача - это уже тема для отдельной статьи.
не, я там в дебри залез, думаю, что мало кто будет убивать время на работу с алгоритмом, если можно взять готовые скрипты
 
  • Нравится
Реакции: Voron

SearcherSlava

Red Team
10.06.2017
940
1 254
смысл есть, и ещё какой. очень интересная тема. по крайней мере для меня. и чем больше материала, тем лучше.

Здрав будь, друже! Набери в поиске CODEBY: face recognition и будет тебе и да пребудет с тобой сила, а ежели не хватит имеющегося, то переходи в поисковую строку, собирай материал в виде научных данных и создавай свою тайную лабораторию по рекогносцировке фэйсов, публикуйся, а мы почитаем, обсудим на досуге и напишем тебе хорошие рецензии!
 

Andhacker

Green Team
25.04.2017
128
32
В умных системах распознавания поддерживаются изменения внешности человека. Такие системы могут сильно тупить, если всю зиму заходил с головным убором, а потом пришёл без. Учитывая это можно постепенно натягивать шарф на лицо и превратиться в системе в "гуманоида" :)
 
  • Нравится
Реакции: alfabuster и Voron

SearcherSlava

Red Team
10.06.2017
940
1 254
В умных системах распознавания поддерживаются изменения внешности человека. Такие системы могут сильно тупить, если всю зиму заходил с головным убором, а потом пришёл без. Учитывая это можно постепенно натягивать шарф на лицо и превратиться в системе в "гуманоида" :)
Здрав будь!
Шапочка из фольги.jpg

Я ваших не боюсь сигналов
И мне не страшны ваши звуки
Совсем без страха и упрека
Я радио беру на руки.

Теперь не страшно ЦРУ
МОССАД совсем не напрягает
Есть у меня один секрет
Который каждый день спасает.

Кругом враги, кругом враги
Я одеваю шапку из фольги
Чтобы спасти свои мозги
Носите шапку из фольги-и-и
 
V

Valkiria

Такие системы могут сильно тупить, если всю зиму заходил с головным убором, а потом пришёл без. Учитывая это можно постепенно натягивать шарф на лицо и превратиться в системе в "гуманоида"
Потерпите немного.
В настоящее время постоянно ведётся работа над усовершенствованием этих систем.
Ещё совсем немного, и эти системы станут совершенны.
В банках с каждого из нас снимут биометрию.
ФСБ (или какая-нибудь контора) потребует поделиться этой биометрией.
С огромной долей вероятности вся эта биометрия только для того и снимается, чтобы в будущем системы контроля над людьми были более совершенны.


Это сейчас мы тут радуемся над какими-то недостатками систем распознавания, даже не задумываясь над тем. что своей критикой совершенствуем эти системы, практически роем себе яму.
А совсем скоро кому-то из нас не понравится тот факт, что свободы стало совсем уж мало.
Только поздно будет ))
Это как с рекламой.
 
Й

ЙосиТоранагаНохМиновара

Потерпите немного.
В настоящее время постоянно ведётся работа над усовершенствованием этих систем.
Ещё совсем немного, и эти системы станут совершенны.
В банках с каждого из нас снимут биометрию.
ФСБ (или какая-нибудь контора) потребует поделиться этой биометрией.
С огромной долей вероятности вся эта биометрия только для того и снимается, чтобы в будущем системы контроля над людьми были более совершенны.


Это сейчас мы тут радуемся над какими-то недостатками систем распознавания, даже не задумываясь над тем. что своей критикой совершенствуем эти системы, практически роем себе яму.
А совсем скоро кому-то из нас не понравится тот факт, что свободы стало совсем уж мало.
Только поздно будет ))
Это как с рекламой.
Всегда есть противовес: паспорт-можно подделать, телефон - сменить, фото двойников - намножить тысячами, биометрию - надломить и т.п.
 
  • Нравится
Реакции: Voron

SearcherSlava

Red Team
10.06.2017
940
1 254
Потерпите немного.
В настоящее время постоянно ведётся работа над усовершенствованием этих систем.
Ещё совсем немного, и эти системы станут совершенны.
В банках с каждого из нас снимут биометрию.
ФСБ (или какая-нибудь контора) потребует поделиться этой биометрией.
С огромной долей вероятности вся эта биометрия только для того и снимается, чтобы в будущем системы контроля над людьми были более совершенны.


Это сейчас мы тут радуемся над какими-то недостатками систем распознавания, даже не задумываясь над тем. что своей критикой совершенствуем эти системы, практически роем себе яму.
А совсем скоро кому-то из нас не понравится тот факт, что свободы стало совсем уж мало.
Только поздно будет ))
Это как с рекламой.
Здрава будь!

Гуглоуточка: технологии банков не соответствуют требованиям ФСБ

Невыносимых людей нет, есть узкие двери.
Cкажи мне, кто твой друг, и я скажу ему, кто ты.
Опыт - это то, что получаешь, не получив того, что хотел.
Жизнь коротка, потерпите немного. Одним - Гималаи, другим - геморрой.
Шуруп, забитый молотком, сидит крепче, чем гвоздь, закрученный отверткой.
Опыт - это такая вещь, которая появляется сразу после того, как была нужна.
Почему, когда ты беседуешь с Богом - это называется молитвой, а когда Бог с тобой - шизофренией?
Суть известной басни Крылова состояла-то в том, что лишь потеряв сыр - можно обрести свободу слова.
 
  • Нравится
Реакции: Andhacker и Глюк
V

Valkiria

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

Я думаю, что вы и сами это понимаете.
Но зачем пишете эти тупейшие высказывания ?
 

SearcherSlava

Red Team
10.06.2017
940
1 254
Спорить с тем фактом, что биометрия в конечном итоге притеснит права и свободы человека могут только недальновидные люди.
Никому !!! из граждан эта услуга не нужна.
Если её навязывают, то это кому-то нужно.
Кому-то, кто достигает своих целей.
И что-то мне подсказывает, что эти цели далего не благотворительные.
Все ваши доводы абсолютно глупы.

Я думаю, что вы и сами это понимаете.
Но зачем пишете эти тупейшие высказывания ?

Здрав будь!
Не согласен - критикуй, критикуешь - предлагай, предлагаешь - делай, делаешь - отвечай! Ты не согласен, или ты согласен с тем, что ты не согласен? Не имеешь доступа к ресурсам и смотришь на все со стороны потребителя, которого потребляют, обывают и обувают, поэтому и пишешь тут свои измышлизмы, будь доволен и радуйся, что пользуешься Вынь и Линь, которые пока еще разрешены, абсолютно безопасны и конфиденциальны, как пишут в интернетах знающие люди, и вообще, будь проще, и к тебе потянутся за помощью, за советом, за беседой, а там, глядишь, посидим, в окошко поглядим, о житие-бытие поговорим, обменяемся мнениями, жизненным опытом, научными концепциями, и т.д.
 
Последнее редактирование:
  • Нравится
Реакции: Manul и Valkiria
Мы в соцсетях: