Не пропустите «Meow Face Recognition Feeding Weight Loss Artifact» родился

искусственный интеллект внешний интерфейс
Не пропустите «Meow Face Recognition Feeding Weight Loss Artifact» родился

Соси кошек вместе с кодом! Эта статья участвует【Эссе "Мяу Звезды"】.

Фон помещения:

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

image.pngмолодой красивый мяу(сетевая карта)

image.pngОральные ростки для операции по исчезновению шеи(сетевая карта)

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

image.png

Офицер дерьмовой лопаты не мог сдержать крик "Кто еще!!!"

0ad451d4aed434fad2725567a34357a2.gif

немного. . . . . Красавицы 2, 3, 4 и 5. . . Ожидание, чтобы его покормили. . .

image.png Итак, чтобы накормить офицера, сгребающего дерьмо, мистера Бена, он потратил много денег на покупку «умной кормушки для домашних животных» и хотел снизить скорость их поедания. получилось сразу.Набираем вес Х2

(Нет изображения: добавка для собственного мозга X2)

Офицер, сгребающий дерьмо, не мог не кричать: «Дерьмо можно терпеть или невыносимо»! ! ! Как раз в тот момент, когда я собирался срезать "умную кормушку" ножом. . . Мне вдруг в голову пришла идея не 999, а просто 9 юаней и 9.

image.png

Креативный контент:

Дэн Дэн Дэн. . . . . Дэн. . . Не нужно 999, только 9 юаней и 9 "Мяу, распознавание лиц, кормление артефактом потери веса" родился

image.png

Теоретически, пока система распознавания лиц подключена к камере, переключатель умной кормушки для домашних животных контролируется, а вес устанавливается каждый день.Когда кошачья еда в кормушке закончилась, каждая кошка может получить только свое собственную новую еду через систему распознавания лиц.Корм для кошек, каждая кошка может получить до 2 порций кошачьего корма в день.(баг: не исключено, что некоторые коты возьмут новый кошачий корм после того, как другие коты получат новый кошачий корм)

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

Содержание производства:

Сделайте свой собственный пост системы распознавания лиц из интернет-бога zhuanlan.zhihu.com/p/37083166

Подготовка: камера, система Ubuntu, среда разработки Python, сетевое окружение

\

Правильно, это так просто, и готовить особо нечего. Здесь вы также можете использовать систему Windows для создания всего, что захотите.

\

Установить зависимости Python\

Для среды python вы можете напрямую загрузитьanaconda, это интегрированная среда разработки Python, которая содержит большое количество пакетов зависимостей Python. Далее будут установлены некоторые зависимости, которых нет в анаконде:распознавание лиц, OpenaCV, pymysql, wxpy

\

Для pymysql вы можете установить его следующим образом:

pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple

Для face_recognition и OpenaCV будет хлопотнее

\

Установить OpenCV

\

Установите кучу ядер:

#Remove any previous installations of x264

sudo apt-get remove x264 libx264-dev

#We will Install dependencies now

sudo apt-get install build-essential checkinstall cmake pkg-config yasmsudo apt-get install git gfortransudo apt-get install libjpeg8-dev libjasper-dev libpng12-dev

# If you are using Ubuntu 14.04

sudo apt-get install libtiff4-dev

# If you are using Ubuntu 16.04

sudo apt-get install libtiff5-dev

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev

sudo apt-get install libxine2-dev libv4l-dev

sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev

sudo apt-get install qt5-default libgtk2.0-dev libtbb-dev

sudo apt-get install libatlas-base-devsudo apt-get install libfaac-dev libmp3lame-dev libtheora-dev

sudo apt-get install libvorbis-dev libxvidcore-dev

sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev

sudo apt-get install x264 v4l-utils

# Optional dependencies

sudo apt-get install libprotobuf-dev protobuf-compiler

sudo apt-get install libgoogle-glog-dev libgflags-dev

sudo apt-get install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen    

Загрузите пакет opencv:

git clone https://github.com/opencv/opencv.git
cd opencv
git checkout 3.3.1
cd ..

Загрузите пакет opencv_contrib:

git clone https://github.com/opencv/opencv_contrib.git
cd opencv_contrib
git checkout 3.3.1
cd ..

Начать компиляцию:

cd opencv 
mkdir release

cd release

cmake -DBUILD_TIFF=ON \
      -DBUILD_opencv_java=OFF \      
      -DWITH_CUDA=OFF \      
      -DWITH_OPENGL=ON \      
      -DWITH_OPENCL=ON \      
      -DWITH_IPP=ON \      
      -DWITH_TBB=ON \      
      -DWITH_EIGEN=ON \      
      -DWITH_V4L=ON \      
      -DWITH_VTK=OFF \      
      -DBUILD_TESTS=OFF \      
      -DBUILD_PERF_TESTS=OFF \      
      -DCMAKE_BUILD_TYPE=RELEASE \      
      -DCMAKE_INSTALL_PREFIX=$(python -c "import sys; print(sys.prefix)") \      
      -DPYTHON3_EXECUTABLE=$(which python) \      
      -DPYTHON3_INCLUDE_DIR=$(python -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \      
      -DPYTHON3_PACKAGES_PATH=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") \      
      ..

make -j4 
make install # not sudo, except for Raspberry Pi

#Note: on the Raspberry Pi, consider make -j2 to avoid over-temperature and under-voltage warnings (in general when compiling on Raspberry Pi, not just for OpenCV).

На данный момент opencv скомпилирован, в вашем

/home/[user_name]/anaconda3/lib/python3.6/site-packages/

будет один следующийcv*.soфайл, создайте мягкую ссылку на вашу виртуальную среду, и все в порядке:

cd /home/[user_name]/anaconda3/lib/python3.6/site-packages/
ln -s /home/[user_name]/anaconda3/lib/python3.6/site-packages/cv2.cpython-36m-x86_64-linux-gnu.so cv2.so

Вы можете открыть ipython для проверки:

In [1]: import cv2

In [2]: print(cv2.__version__)
3.3.1-dev

установить Face_Recognition

Это относительно просто.Официал написал очень подробный документ.Вы можете его скачать и посмотреть:

\

Media.read the doc S.org/PDF/face-hot…

\

Чтобы было ясно, будьте осторожны при просмотре инструкций по установке. Перед установкой face_recognition нужно сначала установить dlib, там есть ссылки на документы, которые доступны для личного тестирования, что очень гладко.

\

распознавание лица

\

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

GitHub.com/Ах, нажми/опубликуй…

\

Приведенные выше заметки более подробные, здесь я выберу несколько абзацев, чтобы кратко представить:

video_capture = cv2.VideoCapture(0)          ①

# Find all the faces and face encodings in the current frame of video

face_locations = face_recognition.face_locations(small_frame)   ②

face_encodings = face_recognition.face_encodings(small_frame, face_locations)     ③

Первая строка — включить камеру и начать захват изображения; вторая строка — найти изображение лица, которое появляется на экране, а третья строка — извлечь черты из изображения лица. Что такое характеристики? Вы можете просто понимать это как набор правил, настроенных компьютером для распознавания лиц, и те, кто соответствует этому набору правил, считаются лицами. \

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

import os                
import face_recognition
import numpy as np       
import constants as cons
know_face_path = cons.BASE_FACES_PATH
model_path = cons.MODEL_PATH
time_now = cons.time_str

known_faces = []         
known_names = []

for index, file_name in enumerate(sorted(os.listdir(know_face_path))):  # 为了调用时顺序一致
    test_image = face_recognition.load_image_file(know_face_path + '/' + file_name)
    model = face_recognition.face_encodings(test_image)[0]
    np.savetxt(model_path + '/' + time_now + '_' + str(index) + '.model', model)

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

match = face_recognition.compare_faces(known_faces, face_encoding, tolerance=0.38)
dis = face_recognition.face_distance(known_faces, face_encoding)
name = "Unknown"
id = np.argmin(dis)

if match[id]:
    name = known_names[id].split('.')[0]

Что ж, это основная часть кода, остальное — личная настройка.

Офицер, сгребающий дерьмо: Нет, нет, никаких других методов производства, которые могут соединить всю магию похудения, прошу больших парней поднять руки~

заключительные замечания

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