Generated Photos를 사용하여 얼굴 인식을 시도해 봅시다.

7656 단어 파이썬OpenCV
이 기사는 링크 정보 시스템의 「2021 신춘 어드벤트 캘린더 TechConnect」의 릴레이 기사입니다.
engineer.hanzomon 의 그룹 멤버에 의해 릴레이 됩니다.
(링크 정보 시스템 Facebook은 여기에서)

2021 신춘 어드벤트 캘린더 Tech Connect 색인은 여기

15 일 기사를 담당하는 신모입니다. 잘 부탁드립니다.

새해 복 많이 받으세요.
사사입니다만, 최근 스마트폰을 iPhone12로 바꿨습니다.
이 iPhone12는 FaceID라는 얼굴을 식별하는 기능이 있고, 이것으로 잠금을 해제할 수 있네요.

그런 이유로, 올해는 얼굴 인식의 공부(라고 해도 만남만입니다만)를 해 보고 싶습니다.
(작년은 문자 인식이었습니다)

2019년경에, AI가 존재하지 않는 인물의 얼굴을 작성해 주는 사이트가 생겼다, 라고 하는 뉴스가 있었던 것을 알고 계십니까?
그때까지도 비슷한 사이트는 존재했지만 그때 소개되었던 사이트 Generated Photos
꽤 할 수 있어, 과거 그때까지 다른 사이트에 있던 것 같은 부자연스러움이 없다는 점에서 화제가 되고 있었습니다.
(실제 사이트 화면)


자신의 얼굴을 그물의 바다에 흘리지 않아도 되는 초상권의 침해도 없다.
이것은 얼굴 인식을 시도하는데 딱 좋은 것은…

그래서 Generated Photos를 사용하여 얼굴 인식을 시도해 보겠습니다.

준비



이번 사용하는 환경과 라이브러리는 아래와 같습니다.
Python3.7.4
openCV

openCV는 다음 명령으로 설치합니다.

명령 프롬프트
python -m pip install -U opencv-python

다음에 분류기라고 하는 것을 준비합니다.
분류기라고 하는 것을 간단하게 말하면, 이것은 얼굴인/아니라를 배분하는 필터에 해당하는 것입니다.
아래의 opencv에 몇 가지 기본값이 제공되므로 그곳을 사용합니다.
htps : // 기주 b. 코 m / 오렌지 cv / 오페인 cv / t 레에 / 마 s r / data /
이번에는 haarcascade_frontalface_alt_tree.xml을 사용합니다.

실행하다



사용하는 이미지는 이것. (인용: htps : // 흐릿하게 d. p가 s/ )


그리고는 아래와 같이 실장해, 실제로 움직여 봅니다.

faceRcg.py
import cv2

cascade_path = "./cascade/haarcascade_frontalface_alt_tree.xml"

# 使用ファイルと入出力ディレクトリ
image_file = "generate_1.jpg"
image_path = "./in/" + image_file
output_path = "./out/" + image_file

#ファイル読み込み
image = cv2.imread(image_path)

#グレースケール変換
image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

#分類器の取得
cascade = cv2.CascadeClassifier(cascade_path)

#検出実行
facerect = cascade.detectMultiScale(image_gray, scaleFactor=1.1, minNeighbors=10, minSize=(30, 30))

#枠線の色指定:赤
color = (0, 0, 255)

# 検出した場合
if len(facerect) > 0:

    #検出した顔を囲む枠線の作成
    for rect in facerect:
        cv2.rectangle(image, tuple(rect[0:2]),tuple(rect[0:2]+rect[2:4]), color, thickness=2)

#認識結果の出力
cv2.imwrite(output_path, image)

결과는...


잘 된 것 같습니다.
덧붙여서, Generated Photos 에는 얼굴의 방향이라도 지정할 수 있는 것처럼, 조금 바꾸어 보겠습니다.
입력:
(인용: htps : // 흐릿하게 d. p가 s/ )


산출:


… 안 보고 싶습니다. 너무 정면으로 향하지 않기 때문입니까?
다만, iPhone12에서도 너무 비스듬히 록이 해제되지 않았기 때문에, 비스듬한 얼굴 판정은 어려울지도 모르겠네요.

끝에



전회도 이번도입니다만, 만드는 것이 힘들 것 같다고 생각한 것이, 조사해 보면 의외로 간편하게 실장할 수 있거나 하기 때문에
놀랍습니다. 다음 할 때는, 기계 학습용의 모델을 만드는 곳에도 손을 붙이거나 할 수 있으면 재미있을 것 같네요.

나중에 Generated Photos가 너무 놀라서 1 시간 정도 놀았습니다.

여기까지 읽어 주셔서 감사합니다.

좋은 웹페이지 즐겨찾기