CNS Story/Coding Genius

0.3초 만에 ‘얼굴’로 잠금 해제? 안면인식 AI 만들어보자!

2020. 7. 2. 09:30

안녕하세요. 코지입니다.



지난 시간에는 IBM 인공지능 왓슨을 활용해 감정 표현 단어를 인식하고 표정을 짓는 AI 프로그램을 만들어봤습니다. 텍스트 데이터를 학습해 심리 상담을 해주고 애정도도 분석해 주는 감정 분석 프로그램들이 이미 출시되어 있었는데요. 이번 시간에는 이미지를 학습하고 구분하는 AI를 만들어볼 예정입니다.


여러분은 이미 이미지 인식 AI를 많이 접해 보셨을 것입니다. 대표적으로 요즘 최신 스마트폰에 적용된 얼굴인식을 활용한 잠금 기능이 있죠! 이 기능에는 주인의 얼굴을 머신러닝으로 학습하고, 동일한 얼굴이 인식되었을 때 잠금을 풀어주는 AI 기술이 적용되어 있습니다.


오늘은 코지와 함께 이 AI 얼굴인식 잠금장치를 만들어보려고 하는데요. 그전에 AI 안면인식이 활용된 다양한 사례를 먼저 알아보겠습니다.


l 안면인식 기술을 활용한 출입 통제, LG CNS 본사 출입 게이트에서 직원이 얼굴인식 출입 통제 단말기에 얼굴을 인식하는 모습. 마스크를 쓰더라도 AI를 통해 인식이 가능하다.


● 자세히 보기: https://blog.lgcns.com/2189


LG CNS는 본사 출입문 26곳에 얼굴인식 출입 서비스를 전면 도입했습니다. 이 서비스는 사용자가 얼굴을 비치면 0.3초 만에 얼굴인식, 정보 조회, 신분 파악, 출입문 개방 여부까지 모두 파악할 수 있는데요. 더 놀라운 것은 사용자가 마스크를 끼더라도 인식할 수 있다는 것입니다. 마스크 외에도 안경을 끼거나 화장, 얼굴 각도가 달라도 99%의 정확도로 사용자를 판독할 수 있다고 합니다.


l 결제 서비스와 연동해 얼굴로 결제하는 지하 식당, 마곡 LG CNS 본사 지하 식당에서 직원이 안면인식 커뮤니티 화폐로 식사를 결제하고 있다.


● 자세히 보기: https://blog.lgcns.com/2236


LG CNS의 안면인식 솔루션을 활용하면 출입 통제 외에도 결제 서비스와 연동해 사내식당 결제도 할 수 있습니다. 사전에 얼굴과 계좌 정보 활용에 동의한 직원들은 식당 배식대에 설치된 안면인식 기기에 얼굴만 인식시켜도 자동으로 결제가 이뤄지는데요. 특히 결제 시 기계나 사람 간의 접촉을 없앰으로써 코로나바이러스 감염 확률도 크게 낮출 수 있다고 합니다.


이렇게 다양하게 활용되고 있는 안면인식 AI를 코지도 한번 만들어보겠습니다. 지난 시간과 마찬가지로, IBM 인공지능 왓슨을 활용해보겠습니다. 그럼 시작해볼까요?


 

안면인식 AI를 만드는 과정은 지난번과 동일합니다. 데이터를 모으고, 그 데이터를 인공지능에 학습시킨 다음, 프로그래밍을 통해 AI를 완성하는 것입니다. 다만 이번에는 텍스트 데이터가 아닌 얼굴 ‘이미지’ 데이터를 학습시킨다는 점이 다릅니다.


그럼 데이터를 모아볼까요?



먼저 두 개의 데이터 바구니를 만들어줍니다. ‘Granted’와 ‘Denied’ 즉, ‘허용된’ 얼굴과 ‘거부된’ 얼굴을 모으는 것입니다. 허용된 얼굴이 입력되면 잠금장치가 풀어질 것이고, 거부된 얼굴이 입력되면 잠금장치가 풀리지 않겠죠. 그럼, 다양한 각도에서 허용될 얼굴을 찍어보겠습니다.



이제 거부될 얼굴 사진도 두 번째 바구니에 넣어줍니다. 거부될 얼굴들은 AI가 생성해낸 ‘가짜’ 인물 사진을 활용했습니다.



정말 실존하는 인물처럼 감쪽같죠?! 아래 사이트에 방문하면 누구나 저작권 걱정 없이 사용할 수 있는 인물 사진이 약 197만 개 정도가 있으니 참고하세요.


https://generated.photos/faces


이제 이미지를 모았으니 두 번째 단계로, AI를 훈련하고 테스트할 차례입니다.



훈련하기 버튼을 클릭하고 잠시 기다려줍니다. 잘 훈련되었는지 볼까요?



먼저 허용될 이미지를 웹캠을 통해 테스트해보겠습니다. ‘웹캠으로 테스트하기’ 버튼을 클릭한 다음 얼굴을 촬영하고 테스트 버튼을 클릭해봅니다.



91% 신뢰도로 ‘Granted’로 인식되었는데요. 그럼 거부될 얼굴도 테스트해볼까요? 거부될 얼굴은 AI가 임의로 생성해낸 인물사진을 사이트에 올려놓고 URL로 테스트해보겠습니다. 결과는?



92%의 신뢰도로 ‘거부’된 것으로 인식되었습니다. AI가 잘 훈련된 것 같죠? 이제 마지막 단계인 블록 프로그래밍인 ‘스크래치’를 활용해, 훈련된 AI를 프로그램으로 만들어보겠습니다!


먼저 프로젝트 템플릿 메뉴에서 ‘얼굴 잠금장치’ 템플릿을 열어줍니다. 다음 아래와 같이 프로그래밍해보겠습니다.



초록색 깃발을 클릭하면 배경을 ‘Scanning’으로 바꿔주고 얼굴 이미지가 인식되면 허용 여부에 따라 배경을 ‘granted’와 ‘denied’로 바꿔주라는 간단한 코드문입니다. 과연 잘 개발되었는지, 테스트해볼까요?



‘모양’ 탭을 클릭하며 ‘카메라’ 버튼을 클릭해 얼굴 이미지를 업로드해 줍니다.



먼저 허용될 얼굴을 업로드하니 초록색 배경으로 ‘Granted’라고 나오고, 거부될 얼굴을 올리니 빨간 배경으로 ‘LOCKED’라고 나오네요. 얼굴 잠금장치 개발 성공!



어떠셨나요? 어렵게 느껴졌던 얼굴인식 AI 기술을 코지와 함께 구현해보니 그 원리가 어렵지 않죠? 다음 시간에는 마지막 프로젝트로 AI 비서인 챗봇을 구현해보도록 하겠습니다.


글 l LG CNS 대외협력팀


* 해당 콘텐츠는 저작권법에 의해 보호받는 저작물로 LG CNS 블로그에 저작권이 있습니다.

* 해당 콘텐츠는 사전 동의없이 2차 가공 및 영리적인 이용을 금하고 있습니다.



Posted by IT로 만드는 새로운 미래를 열어갑니다 LG CNS

댓글을 달아 주세요

위로