KR102589845B1 - 수어 영상 번역 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 - Google Patents

수어 영상 번역 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102589845B1
KR102589845B1 KR1020220135914A KR20220135914A KR102589845B1 KR 102589845 B1 KR102589845 B1 KR 102589845B1 KR 1020220135914 A KR1020220135914 A KR 1020220135914A KR 20220135914 A KR20220135914 A KR 20220135914A KR 102589845 B1 KR102589845 B1 KR 102589845B1
Authority
KR
South Korea
Prior art keywords
sign language
image
generating
word
joint
Prior art date
Application number
KR1020220135914A
Other languages
English (en)
Inventor
김주희
김태환
이현수
Original Assignee
주식회사 인피닉
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 인피닉 filed Critical 주식회사 인피닉
Priority to KR1020220135914A priority Critical patent/KR102589845B1/ko
Application granted granted Critical
Publication of KR102589845B1 publication Critical patent/KR102589845B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B21/00Teaching, or communicating with, the blind, deaf or mute
    • G09B21/009Teaching or communicating with deaf persons

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Biomedical Technology (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computer Graphics (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Machine Translation (AREA)

Abstract

본 발명은 높은 정확도로 자연어를 수어 영상으로 번역하기 위한, 수어 영상 번역 방법을 제안한다. 상기 방법은 번역서버가, 자연어 텍스트(text)를 입력 받는 단계, 상기 번역서버가, 자연어 및 상기 자연어와 매칭되는 수어 데이터 셋(data set)에 의해 사전 기계 학습(machine learning)된 인공지능(Artificial Intelligence, AI)을 통해, 상기 자연어 텍스트를 수어 텍스트로 변환하는 단계, 상기 번역서버가, 상기 변환된 수어 텍스트와 매칭되는 수어 영상을 생성하는 단계를 포함한다.

Description

수어 영상 번역 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램{Method for translate sign language video, and computer program recorded on record-medium for executing method thereof}
본 발명은 언어 번역(language translation)에 관한 것이다. 보다 상세하게는, 높은 정확도로 자연어(natural language)를 수어(sign language) 영상(video)으로 번역하기 위한, 수어 영상 번역 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.
수어(수화, sign language)는 소리로 하는 언어가 아닌 손짓을 이용하여 뜻을 전달할 수 있는 언어의 일종이다. 음성언어가 청각으로 이해되고 음성으로 표현되는 청각-음성 체계임에 반하여, 수어는 시각으로 이해되고 손운동으로 표현되는 시각-운동 체계이다. 수어는 대부분 청각 장애인의 의사소통을 위해 사용된다.
이러한, 수어는 수지신호와 비수지신호로 구성되어 있다. 수지신호는 수위(손의 위치), 수형(손의 모양), 수동(손의 움직임) 등이 있다. 비수지신호는 얼굴의 표정과 머리와 몸의 움직임 등이 있으며, 놀람, 공포, 기쁨, 증오, 행복, 슬픔, 혐오, 비웃음 등의 감정을 나타낼 수 있다.
한편, 최근에는 정보통신 수단에 의한 사회복지 향상에 대해 많은 사람들이 관심을 보이고 있다. 구체적으로, 일상 생활 및 사회 참여에 곤란을 겪고 있는 사람들의 특수한 요구에 부응하여, 그들의 일상 생활 및 사회 참여를 지원하는 다양한 시스템 개발 및 구축이 중요한 문제로 대두되고 있다.
특히, 청각 장애인들이 자신들의 주된 의사소통 수단인 수어를 이용하여 정보통신 서비스를 받을 수 있도록, 자연어를 수어로 자동 번역할 수 있는 시스템에 대한 다양한 연구가 진행되고 있다.
그러나, 수어는 자연어와 사용하는 문법, 단어, 어순, 표현 방법 등에 차이가 있다. 이에 따라, 수어의 문법, 단어, 어순, 표현 방법 등을 고려하여, 높은 정확도로 자연어를 수어로 변환할 수 있는 시스템의 개발이 요구되고 있다.
대한민국 등록특허공보 제10-1915088호, ‘수화번역장치’, (2018.10.30. 등록)
본 발명의 일 목적은 높은 정확도로 자연어(natural language)를 수어(sign language) 영상(video)으로 번역하기 위한, 수어 영상 번역 방법을 제공하는 것이다.
본 발명의 다른 목적은 높은 정확도로 자연어를 수어 영상으로 번역하기 위한, 수어 영상 번역 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 높은 정확도로 자연어를 수어 영상으로 번역하기 위한, 수어 영상 번역 방법을 제안한다. 상기 방법은 번역서버가, 자연어 텍스트(text)를 입력 받는 단계, 상기 번역서버가, 자연어 및 상기 자연어와 매칭되는 수어 데이터 셋(data set)에 의해 사전 기계 학습(machine learning)된 인공지능(Artificial Intelligence, AI)을 통해, 상기 자연어 텍스트를 수어 텍스트로 변환하는 단계, 상기 번역서버가, 상기 변환된 수어 텍스트와 매칭되는 수어 영상을 생성하는 단계를 포함한다.
구체적으로, 상기 수어 영상을 생성하는 단계는 상기 번역서버가, 상기 변환된 수어 텍스트에 포함된 각 단어와 매칭되는 단어 수화 영상을 추출하는 단계, 상기 번역서버가, 상기 추출된 단어 수화 영상에 포함된 프레임 각각에서 2D 키포인트(keypoint)를 추출하는 단계, 상기 번역서버가, 상기 추출된 2D 키포인트를 3D 조인트(joint)로 변환하는 단계, 상기 번역서버가, 상기 변환된 3D 조인트를 기초로 상기 3D 조인트에 따른 동작 정보를 생성하는 단계, 상기 3D 조인트 및 상기 동작 정보를 기초로 상기 수어 텍스트의 각 단어별 수어 영상을 생성하는 단계 및 상기 각 단어별 영상을 조합하여 문장 수어 영상을 생성하는 단계를 포함하는 것을 특징으로 한다.
상기 2D 키포인트를 추출하는 단계는 2D 키포인트가 포함된 수화 영상 데이터 셋을 기초로 사전 기계 학습된 인공지능을 통해, 상기 단어 수화 영상에서 상기 2D 키포인트를 추출하는 것을 특징으로 한다.
상기 3D 조인트로 변환하는 단계는 3D 조인트를 2D 이미지 위에 프로젝션(projection) 시킨 이미지 및 상기 인공지능을 통해 추출된 2D 키포인트를 기초로 손실(loss)이 최소화되도록 학습된 인공지능을 통해, 상기 추출된 2D 키포인트를 3D 조인트로 변환하는 것을 특징으로 한다.
상기 3D 조인트로 변환하는 단계는 상기 2D 키포인트 중 중수지관절(metacarpophalangeal joint)에 해당하는 2D 키포인트를 추출하고, 상기 중수지관절에 해당하는 2D 키포인트를 3D 조인트로 변환하는 것을 특징으로 한다.
상기 동작 정보를 생성하는 단계는 상기 중수지관절을 대상으로 손목의 회전 각도 및 팔꿈치의 회전 각도와의 상관 관계를 기초로 사전 학습된 인공지능을 통해, 상기 3D 조인트에 따른 손목의 회전 각도 및 팔꿈치의 회전 각도를 추정하는 것을 특징으로 한다.
상기 수어 영상을 생성하는 단계는 연속되는 각 단어별 수어 영상 사이의 모션 저더(motion judder) 현상을 방지하기 위하여, 모션 인터폴레이션(motion interpolation)을 통해 상기 연속되는 각 단어별 영상 사이에 적어도 하나의 이미지를 생성하는 것을 특징으로 한다.
상기 수어 영상을 생성하는 단계는 상기 연속되는 각 단어별 영상 사이에 적어도 하나의 이미지를 생성하되, 선행되는 제1 단어 영상의 최후 프레임과, 후행되는 제2 단어 영상의 최초 프레임 사이에 사전 저장된 예비 동작 이미지를 삽입하는 것을 특징으로 한다.
상기 수어 영상을 생성하는 단계는 상기 예비 동작 이미지를 기준으로, 상기 제1 단어 영상의 최후 프레임 및 상기 제2 단어 영상의 최초 프레임 사이에 적어도 하나의 이미지를 생성하는 것을 특징으로 한다.
상기 수어 영상을 생성하는 단계는 상기 자연어 텍스트의 언어 자질을 기초로, 상기 자연어 텍스트의 문장 유형을 식별하고, 상기 식별된 문장 유형에 따라 상기 예비 동작의 유지 시간을 결정하는 것을 특징으로 한다.
상기 수어 영상을 생성하는 단계는 상기 자연어 텍스트의 언어 자질을 기초로, 상기 자연어 텍스트의 문장 유형을 식별하고, 상기 식별된 문장 유형에 따라 상기 생성된 수어 영상의 재생 속도를 결정하는 것을 특징으로 한다.
상기 각 단어별 영상을 생성하는 단계는 상기 자연어 텍스트의 언어 자질을 기초로, 상기 자연어 텍스트를 작성한 화자와, 상기 생성된 수어 영상을 청취하는 청자 각각의 지휘를 식별하고, 상기 식별된 지휘 기초로 예비 동작 유지 시간 및 수어 영상 재생 속도 중 적어도 하나를 결정하는 것을 특징으로 한다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 수어 영상 번역 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 컴퓨터 프로그램은 메모리(memory), 송수신기(transceiver) 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합될 수 있다. 그리고, 상기 컴퓨터 프로그램은 상기 프로세서가, 자연어 텍스트(text)를 입력 받는 단계, 상기 프로세서가, 자연어 및 상기 자연어와 매칭되는 수어 데이터 셋(data set)에 의해 사전 기계 학습(machine learning)된 인공지능(Artificial Intelligence, AI)을 통해 상기 자연어 텍스트를 수어 텍스트로 변환하는 단계 및 상기 프로세서가, 상기 변환된 수어 텍스트와 매칭되는 수어 영상을 생성하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시 예들에 따르면, 자연어 및 자연어와 매칭되는 수어 데이터 셋에 의해 사전 기계 학습(machine learning)된 인공지능(Artificial Intelligence, AI)을 통해, 높은 정확도로 자연어를 수어 텍스트로 변환하고, 변환된 수어 텍스트를 수어 영상으로 제공할 수 있다.
본 발명의 효과들은 이상에서 언급한 효과로 제한되지 아니하며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 수어번역시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 번역서버의 논리적 구성도이다.
도 3은 본 발명의 일 실시예에 따른 데이터전처리부의 기능을 설명하기 위한 예시도이다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 제1 인공지능을 설명하기 위한 예시도이다.
도 6은 본 발명의 일 실시예에 따른 수어텍스트생성부의 기능을 설명하기 위한 예시도이다.
도 7은 본 발명의 일 실시예에 따른 제2 인공지능을 설명하기 위한 예시도이다.
도 8은 본 발명의 일 실시예에 따른 번역서버의 하드웨어 구성도이다.
도 9는 본 발명의 일 실시예에 따른 번역 방법을 설명하기 위한 순서도이다.
도 10은 본 발명의 일 실시예에 따른 수어 영상 생성 단계를 설명하기 위한 순서도이다.
도 11은 본 발명의 일 실시예에 따른 수어 영상 생성 방법을 설명하기 위한 예시도이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, '구성된다' 또는 '가지다' 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 '연결되어' 있다거나 '접속되어' 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "'직접 연결되어' 있다거나 '직접 접속되어' 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.
한편, 최근에는 정보통신 수단에 의한 사회복지 향상에 대해 많은 사람들이 관심을 보이고 있다. 구체적으로, 일상 생활 및 사회 참여에 곤란을 겪고 있는 사람들의 특수한 요구에 부응하여, 그들의 일상 생활 및 사회 참여를 지원하는 다양한 시스템 개발 및 구축이 중요한 문제로 대두되고 있다.
특히, 청각 장애인들이 자신들의 주된 의사소통 수단인 수어를 이용하여 정보통신 서비스를 받을 수 있도록, 자연어를 수어로 자동 번역할 수 있는 시스템에 대한 다양한 연구가 진행되고 있다.
그러나, 수어는 자연어와 사용하는 문법, 단어, 어순, 표현 방법 등에 차이가 있다. 이에 따라, 수어의 문법, 단어, 어순, 표현 방법 등을 고려하여, 높은 정확도로 자연어를 수어로 변환할 수 있는 시스템의 개발이 요구되고 있다.
이러한 한계를 극복하고자, 본 발명은 높은 정확도로 자연어(natural language)를 수어(sign language)로 번역할 수 있는 다양한 수단들을 제안하고자 한다.
도 1은 본 발명의 일 실시예에 따른 수어번역시스템의 구성도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 수어변역시스템(1)은 적어도 하나의 단말기(terminal, 100a, 100b, 100c, …, 100n; 100) 및 번역서버(200)를 포함하여 구성될 수 있다.
이와 같은, 본 발명의 일 실시예에 따른 수어번역시스템(1)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 단말기(100)는 사용자로부터 자연어(natural language) 텍스트를 입력 받거나, 번역서버(200)에 의해 번역된 수어(sign language) 텍스트(text) 또는 수어 영상(video)을 출력하여 사용자에게 제공할 수 있는 장치이다.
여기서, 자연어는 인간이 일상생활에서 의사 소통을 위해 사용하는 언어가 될 수 있다. 특히, 자연어는 한국어, 영어, 독일어, 스페인어, 프랑스어, 이탈리아어 등 다양한 국가의 언어가 해당될 수 있다. 구체적으로, 자연어는 각 국가의 언어 중에서도 구어체(colloquial style), 문어체(literary style) 등이 해당될 수 있다.
이러한, 단말기(100)는 사용자로부터 자연어를 입력 받기 위한 입력 장치(input device) 및 번역 서버(200)에 의해 번역된 수어 텍스트 또는 수어 영상을 출력하기 위한 출력 장치(output device)를 포함하여 구성될 수 있다.
또한, 단말기(100)는 번역서버(200)를 포함한 다른 장치들과 데이터를 송수신할 수 있으며, 송수신된 데이터를 기반으로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 단말기(100)는 3GPP(3rd Generation Partnership Project)에서 규정하고 있는 사용자 장치(User Equipment, UE) 및 IEEE(Institute of Electrical and Electronics Engineers)에서 규정하고 있는 모바일 스테이션(Mobile Station, MS) 중 어느 하나에 해당될 수 있다.
그러나 이에 한정되지 아니하고, 단말기(100)는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치, 또는 랩탑(laptop), 태블릿(tablet), 패블릿(phablet), 휴대용 멀티미디어 재생장치(Portable Multimedia Player, PMP), 개인용 휴대 단말기(Personal Digital Assistants, PDA) 또는 전자책 단말기(E-book reader)과 같은 이동식 컴퓨팅 장치 중 어느 하나가 될 수도 있다.
다음 구성으로, 번역서버(200)는 단말기(100)로부터 자연어 텍스트를 입력 받고, 입력 받은 자연어 텍스트를 수어 텍스트 및 수어 영상 중 적어도 하나로 번역하여, 번역된 수어 텍스트 및 수어 영상 중 적어도 하나를 단말기(100)에 제공할 수 있는 장치가 될 수 있다.
이러한, 번역서버(200)는 단말기(100)로부터 자연어 텍스트를 입력 받고, 입력 받은 자연어 텍스트를 인코딩(incoding)하여, 자연어 텍스트와 대응하는 벡터(vector)를 생성할 수 있다.
구체적으로, 번역서버(200)는 단말기(100)로부터 입력된 자연어 텍스트를 토큰화(tokenization)하고, 토큰화 작업 전후에 자연어 텍스트를 용도에 맞게 정제(cleaning) 및 정규화(normalization)하여 전처리하고, 전처리 된 토큰들을 압축해서 하나의 벡터로 만들 수 있다.
또한, 번역 서버(200)는 자연어 및 상기 자연어와 매칭되는 수어 데이터 셋(data set)에 의해 사전 기계 학습(machine learning)된 인공지능(Artificial Intelligence, AI)을 통해, 벡터를 디코딩(decoding)하여 자연어 텍스트와 매칭되는 수어 텍스트를 생성하여 단말기(100)에 제공할 수 있다.
그리고, 번역 서버(200)는 번역된 수어 텍스트를 수어 영상으로 생성하여, 단말기(100)에 제공할 수 있다.
이와 같은, 번역서버(200)는 단말기(100)와 데이터를 송수신할 수 있으며, 송수신된 데이터를 기반으로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 번역서버(200)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.
이러한, 특징을 가지는 번역서버(200)의 구체적인 구성 및 동작에 대해서는 도 2 내지 도 7을 참조하여 후술하기로 한다.
지금까지 상술한 바와 같은, 수어번역시스템(1)을 구성하는 단말기(100) 및 번역서버(200)는 장치들 사이를 직접 연결하는 보안 회선, 공용 유선 통신망 또는 이동통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신할 수 있다.
예를 들어, 공용 유선 통신망에는 이더넷(ethernet), 디지털가입자선(x Digital Subscriber Line, xDSL), 광동축 혼합망(Hybrid Fiber Coax, HFC) 및 광가입자망(Fiber To The Home, FTTH) 중 하나 이상이 포함될 수 있으나, 이에 한정되는 것은 아니다.
또한, 이동통신망에는 코드 분할 다중 접속(Code Division Multiple Access, CDMA), 와이드 밴드 코드 분할 다중 접속(Wideband CDMA, WCDMA), 고속 패킷 접속(High Speed Packet Access, HSPA), 롱텀 에볼루션(Long Term Evolution, LTE) 및 5세대 이동통신(5th generation mobile telecommunication) 중 하나 이상이 포함될 수 있으나, 이에 한정되는 것도 아니다.
이하, 상술한 바와 같은 특징을 가지는, 번역서버(200)의 구성에 대하여 보다 구체적으로 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 번역서버의 논리적 구성도이고, 도 3은 본 발명의 일 실시예에 따른 데이터전처리부의 기능을 설명하기 위한 예시도이고, 도 4 및 도 5는 본 발명의 일 실시예에 따른 제1 인공지능을 설명하기 위한 예시도이고, 도 6은 본 발명의 일 실시예에 따른 수어텍스트생성부의 기능을 설명하기 위한 예시도이고, 도 7은 본 발명의 일 실시예에 따른 제2 인공지능을 설명하기 위한 예시도이다.
우선적으로, 도 2를 참조하면, 본 발명의 일 실시예에 따른 번역 서버(200)는 통신부(205), 입출력부(210), 저장부(215), 데이터전처리부(220), 수어텍스트생성부(225) 및 수어영상생성부(230)를 포함하여 구성될 수 있다.
이와 같은, 본 발명의 일 실시예에 따른 번역서버(200)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각 구성 요소에 대하여 설명하면, 통신부(205)는 단말기(100)와 데이터를 송수신할 수 있다.
구체적으로, 통신부(205)는 단말기(100)로부터 자연어 텍스트를 입력 받을 수 있고, 입력 받은 자연어 텍스트를 번역한 수어 텍스트 및 수어 영상 중 적어도 하나를 단말기(100)로 전송할 수 있다.
다음 구성으로, 입출력부(210)는 사용자 인터페이스(UI)를 통해, 관리자로부터 명령을 입력 받거나 또는 연산 결과를 출력할 수 있다. 이 경우, 관리자는 번역 서비스를 제공하는 서비스 제공자로 지칭될 수 있으며, 이에 한정되지 않는다.
구체적으로, 입출력부(210)는 관리자로부터 인공지능을 학습하기 위한 데이터 셋을 입력 받을 수 있다. 예를 들어, 입출력부(210)는 제1 인공지능의 학습을 위하여, 다양한 형태의 자연어 문장에 관한 데이터 셋을 입력 받을 수 있다. 또한, 입출력부(210)는 제2 인공지능의 학습을 위하여, 자연어 및 자연어와 매칭되는 수어 데이터 셋을 입력 받을 수 있다.
또한, 입출력부(210)는 데이터전처리부(220)로부터 생성된 결과 값, 수어텍스트생성부(225)로부터 생성된 수어 텍스트 및 수어영상생성부(230)로부터 생성된 수어 영상 중 적어도 하나를 출력할 수 있다.
다음 구성으로, 저장부(215)는 번역서버(200)의 동작에 필요한 데이터를 저장할 수 있다.
구체적으로, 저장부(215)는 데이터전처리부(220), 수어텍스트생성부(225) 및 수어영상생성부(230)에 의해 주기적으로 갱신되는 데이터베이스를 저장할 수 있다. 또한, 저장부(215)는 인공지능(AI) 학습을 위한 데이터 셋을 저장할 수 있다. 그리고, 저장부(215)는 데이터전처리부(220), 수어텍스트생성부(225) 및 수어영상생성부(230)에서 사용되는 인공지능 모델을 저장할 수 있다.
다음 구성으로, 데이터전처리부(220)는 단말기(100)로부터 입력 받은 자연어 텍스트를 인코딩(encoding)하여 자연어 텍스트와 대응하는 벡터(vector)를 생성할 수 있다. 즉, 데이터전처리부(220)는 수어텍스트생성부(225)가 수어 텍스트를 생성하기 위하여, 입력 받은 자연어 텍스트를 전처리하는 역할을 수행할 수 있다.
구체적으로, 데이터전처리부(220)는 자연어 텍스트의 각 단어를 토큰화 한 제1 토큰을 생성할 수 있다. 예를 들어, 도 3에 도시된 바와 같이, 데이터전처리부(220)는 "죽음기와 발명품이 잔뜩 우리 아이들과의 과학 놀이터"라는 문장을 입력 받은 경우, 문장에 포함된 각 단어를 토큰화(tokenization)하여 "a1, a2, …, a7"과 같은 제1 토큰을 생성할 수 있다. 이때, 데이터전처리부(220)는 인공지능 성능을 향상시키기 위하여, 제1 토큰 생성 이전에, 자연어 텍스트 중 적어도 둘 이상의 의미를 갖는 단어를 검출하고, 검출된 단어를 의미 단위로 띄어쓰기 처리할 수 있다.
또한, 데이터전처리부(220)는 생성된 제1 토큰을 제1 인공지능에 입력하여, 문맥 정보를 반영하는 임베딩(contextual embedding)을 수행할 수 있다. 즉, 데이터전처리부(220)는 자연어 문장으로 사전 기계 학습된 인공지능을 통해 제1 토큰과 대응하는 문맥 정보가 포함된 제1 컨텍스트 벡터(context vector)를 생성할 수 있다. 예를 들어, 데이터전처리부(220)는 자연어 텍스트를 토큰화하여 생성된 "a1, a2, …, a7"과 같은 제1 토큰을 제1 인공지능에 입력하여 "h1, h2, …, h7"를 포함하는 제1 컨텍스트 벡터를 생성할 수 있다. 이때, 제1 컨텍스트 벡터는 제1 인공지능으로부터 연산된 마지막 히든 레이어(hidden layer)가 될 수 있다.
예를 들어, 데이터전처리부(220)는 BERT(Bidirectional Encoder Representations from Transformers) 모델에 기반한 인공지능(AI)을 이용하여, 제1 컨텍스트 벡터를 생성할 수 있다.
보다 상세하게 도 4 및 도 5를 참조하면, BERT 모델은 트랜스포머(transformer)를 기반으로, 인코더(encoder)만을 사용하는 모델에 해당된다. BERT 모델은 일반적인 트랜스포머와 다르게, 토큰 임베딩(token embeddings), 토큰의 포지션 임베딩(position embeddings) 및 세그먼트 임베딩(segment embedding)으로 이루어진 입력 값을 가진다.
이러한, BERT 모델은 복수 개의 인코딩 블록으로 구성될 수 있다. 기본 BERT 모델은 12개의 인코딩 블록으로 구성되고, 대형 BERT 모델은 24개의 인코딩 블록으로 구성될 수 있으나, 이에 한정되는 것은 아니다. 각각의 인코더 블록은 이전의 출력 값을 현재의 입력 값으로 가지며, BERT 모델은 인코더 블록의 개수만큼 재귀적으로 반복 처리되는 형태로 복수 개의 인코더들이 구성될 수 있다. 그리고, 각각의 인코더 블록의 출력 값은 매번 잔차 연결(residual connections)되게 처리될 수 있다.
각 인코더 블록을 구성하는 멀티 헤드 어텐션(multi-head attention)은 다음의 수식 1과 같이, 서로 다른 가중치 행렬(weight matrix)를 이용하여 어텐션(attention)을 h번 계산한 다음 이를 서로 연결(concatenates)한 결과를 출력할 수 있다.
[수식 1]
MultiHead(Q, K, V) = [head1; …; headh]wO
여기서, headi는 Attention(QWi Q, KWi K, VWi V)4이다. Q는 디코더의 히든 스테이지(hidden stage), K는 인코더의 히든 스테이지, V는 K에 어텐션을 부여받은 정규화된 가중치(normalized weight)이며, Q, K, V에 대한 스케일드 닷-프로덕트 어텐션(scaled dot-product attention)은 다음의 수식 2를 통해 산출될 수 있다.
[수식 2]
Attention(Q, K, V) = softmax(QKT/root(dk))V
그리고, 어텐션 결과를 받은 피드-포워드 네트워크(Feed Forward Network, FFN)는 두 개의 리니어 트랜스포메이션(linear transformation)으로 구성되어, GELU(Gaussian Error Linear Units)가 적용된 다음의 수식 3을 기반으로 구현될 수 있다.
[수식 3]
FFN(x) = max(0, xW1 + b1)W2 + b2
또한, 데이터전처리부(220)는 단말기(100)로부터 입력 받은 자연어 텍스트의 각 단어 및 각 단어의 언어 자질을 토큰화 한 제2 토큰을 생성할 수 있다. 여기서, 제2 토큰은 품사(POS, Part Of Speech) 분석 및 개체명 인식(NER, Named Entity Recognition) 결과를 기초로, 자연어 텍스트를 임베딩(embedding)하여 생성될 수 있다.
예를 들어, 데이터전처리부(220)는 점별 예측(pointwise prediction) 모델, 확률 기반의 모델(probabilistic model), 신경망 기반의 모델(neural network based model)을 기반으로, 자연어 텍스트를 형태소 단위로 나눈 뒤, 각 형태소에 해당 품사를 태깅(tagging)할 수 있다.
또한, 데이터전처리부(220)는 자연어 텍스트의 개체명(named entity)을 인식하고, 인식된 개체명의 종류를 분류할 수 있다. 즉 데이터전처리부(220)는 자연어 텍스트에 포함된 각 단어가 어떤 유형에 속하는지 인식할 수 있다.
데이터전처리부(220)는 제2 토큰을 임베딩하여 제2 컨텍스트 벡터를 생성할 수 있다. 즉, 데이터전처리부(220)는 제2 토큰을 고정된 차원의 실수 벡터로 변환하여 제2 컨텍스트 벡터를 생성할 수 있다.
이후, 데이터전처리부(220)는 상술한 바와 같이 생성된 제1 컨텍스트 벡터 및 제2 컨텍스트 벡터를 혼합(concat)한 혼합 특징 벡터(mixed feature vector)를 생성하고, 생성된 혼합 특징 벡터를 수어텍스트생성부(225)에 전달할 수 있다.
예를 들어, 데이터전처리부(220)는 "h1, h2, …, h7"을 포함하는 제1 컨텍스트 벡터와, "z1, z2, …, z8"를 포함하는 제2 컨텍스트 벡터를 혼합하여, "x1, x2, …, x7"을 포함하는 혼합 특징 벡터를 생성할 수 있다.
여기서, 데이터전처리부(220)는 생성된 혼합 특징 벡터를 수어텍스트생성부(225)로 전달하여, 제2 인공지능의 입력으로 사용하도록 함과 동시에, 제2 인공지능에 의한 결과 값 중 일부를 대체하는 데 사용하도록 할 수 있다.
다음 구성으로, 수어텍스트생성부(225)는 자연어 및 자연어와 매칭되는 수어 데이터 셋(data set)에 의해 사전 기계 학습(machine learning)된 인공지능(Artificial Intelligence, AI)을 통해, 데이터전처리부(220)로부터 전달받은 혼합 특징 벡터를 디코딩(decoding)하여 자연어 텍스트와 매칭되는 수어 텍스트를 생성할 수 있다.
구체적으로 도 7에 도시된 바와 같이, 수어텍스트생성부(225)는 데이터전처리부(220)부터 전달받은 혼합 특징 벡터를 디코딩하기 위한, 트랜스포머(transformer) 모델의 디코더(decoder)에 해당될 수 있다. 이러한, 트랜스포머 모델은 복수 개의 디코딩 블록으로 구성될 수 있다.
각 디코더 블록을 구성하는 첫번째 서브층인 마스크드 멀티 헤드 셀프 어텐션(masked multi-head self-attention)은 전술한 인코더의 서브층인 멀티 헤드 어텐션과 동일한 연산을 수행하되, 어텐션 스코어 행렬에서 마스킹을 적용하는 점에서 일부 상이하다. 즉, 서브층인 마스크드 멀티 헤드 셀프 어텐션은 현재 처리중인 단어보다 앞쪽에 해당하는 단어에 대해서만 어텐션 점수를 참고할 수 있도록 하기 위하여 마스킹을 적용할 수 있다.
그리고, 디코더는 두번째 서브층인 멀티 헤드 어텐션(multi-head attention)을 통해 엔코더의 출력 값인 혼합 특징 벡터를 입력 받고, 입력 받은 혼합 특징 벡터를 멀티 헤드 어텐션(multi-head attention) 및 세번째 서브층인 피드-포워드 네트워크(Feed Forward Network, FFN)를 통과시키고, 리니어 레이어(Linear Layer) 및 소프트맥스 레이어(softmax layer)를 거쳐 학습된 수어 단어 데이터베이스 중 가장 관계가 높은 수어 토큰을 출력할 수 있다.
이때, 리니어 레이어는 완전 접속망(fully-connected network)으로 디코더가 마지막으로 출력한 벡터를 그보다 훨씬 더 큰 사이즈의 벡터인 로짓(logits) 벡터로 투영시킬 수 있다. 여기서, 로짓 벡터의 각 셀은 각 단어에 대한 점수가 될 수 있다.
그리고, 소프트맥스 레이어는 이 점수들을 확률로 변환해주며, 가장 높은 확률 값을 가지는 셀에 해당하는 단어를 최종 수어 텍스트로서 출력할 수 있다.
이때, 수어텍스트생성부(225)는 혼합 특징 벡터와 매칭되는 수어 토큰을 추출하되, 추출된 수어 토큰 중 매칭 확률 값이 사전 설정된 값보다 낮은 수어 토큰을 혼합 특징 벡터에 포함된 토큰 중 하나로 대체할 수 있다. 이때, 수어텍스트생성부(225)는 혼합 특징 벡터에 포함된 토큰 중 매칭 확률 값이 사전 설정된 값보다 낮은 수어 토큰에 적합한 확률을 산출하고, 확률이 사전 설정된 값 이상인 토큰으로 대체할 수 있다.
즉, 수어텍스트생성부(225)는 수어 텍스트를 생성할 때, 필요한 어휘가 출력 사전(output vocabulary)에 없는 문제(out-of-vocabulary)와 고유명사들의 출력 확률이 작아지는 문제를 해결하기 위하여, 출력에 필요한 어휘를 데이터전처리부(220)의 출력에서 찾아 복사(copy)할 수 있다. 여기서, 수어텍스트생성부(225)는 디코더에 카피 어텐션(copy attention)을 별도로 구비하여, 디코딩 과정에서 각 시간별 출력 어휘를 예측할 때, 출력 사전에 있는 어휘들의 확률과 함께 혼합 특징 벡터 열 중에서 카피 어텐션 점수가 가장 높은 어휘를 그대로 출력할 확률도 함께 계산할 수 있다.
또한, 수어텍스트생성부(225)는 혼합 특징 벡터를 기초로 자연어 텍스트의 문장 유형을 추정하고, 추정된 문장 유형에 따른 비수지기호를 추출할 수 있다. 그리고, 수어텍스트생성부(225)는 추출된 비수지기호를 수어 토큰에 임베딩할 수 있다. 여기서, 문장 유형은 평소문, 의문문, 명령문, 청유문 및 감탄문 중 적어도 하나를 포함할 수 있다. 이때, 수어텍스트생성부(225)는 혼합 특징 벡터에 포함된 자연어 텍스트의 언어 자질을 기초로, 자연어 텍스트의 문장 유형을 식별할 수 있다. 하지만, 이에 한정된 것은 아니고, 수어텍스트생성부(225)는 데이터전처리부(220)에 의한 품사 분석 및 개체명 인식 결과를 가져와 문장 유형을 식별할 수도 있다.
즉, 수어텍스트생성부(225)는 추정된 문자 유형에 따라 수어 텍스트를 수어로 동작하는데 따른 속도 지수를 도출하고, 도출된 속도 지수를 수어 토큰에 임베딩할 수 있다. 이후, 수어텍스트생성부(225)는 속도 지수를 나타내는 문자를 수어 텍스트에 포함시킬 수 있다. 예를 들어, 수어텍스트생성부(225)는 생성된 수어 텍스트의 각 단어 사이에 속도를 의미하는 속도 지수를 삽입하여 출력할 수 있다. 여기서, 속도 지수는 특정 속도 범위를 나타내는 문자가 될 수 있다. 예를 들어, 빠른 속도를 나타내는 속도 지수는 'a', 보통 속도를 나타내는 속도 지수는 'b', 느린 속도를 나타내는 속도 지수는 'c'가 될 수 있다. 즉, 수어텍스트생성부(225)는 "(a)죽임기 또 발명 물건 크다 많다 아이 과학 놀다 곳"과 같이, 출력된 수어 텍스트의 전단에 수어 동작을 수행하는데 따른 속도 지수를 표시하거나, "죽임기(a)또(a)발명(b)발명(c)물건(a)크다(a)많다(b)아이(a) 과학(a)놀다(b)곳(c)과 같이, 각 단어 사이에 속도 지수를 나타내는 문자를 표시하여, 수어 텍스트를 수어 동작으로 표현하는 것을 지원할 수 있다.
다음 구성으로, 수어영상생성부(230)는 변환된 수어 텍스트와 매칭되는 수어 영상을 생성할 수 있다.
구체적으로, 수어영상생성부(230)는 변환된 수어 텍스트에 포함된 각 단어와 매칭되는 사전 저장된 단어 수화 영상을 추출할 수 있다. 이후, 수어영상생성부(230)는 추출된 단어 수화 영상에 포함된 프레임 각각에서 2D 키포인트(keypoint)를 추출할 수 있다. 즉, 수어영상생성부(230)는 2D 키포인트가 포함된 수화 영상 데이터 셋을 기초로 사전 기계 학습된 인공지능을 통해, 단어 수화 영상에서 2D 키포인트를 추출할 수 있다.
예를 들어, 수어영상생성부(230)는 오픈포즈(openpose) 모델을 통해 2D 키포인트를 추출할 수 있다. 여기서, 오픈포즈 모델은 단일 이미지에서 실시간으로 몸체, 손, 얼굴 그리고 발들의 키포인트들을 최대 130개까지 인식할 수 있으며, 입력된 이미지 또는 비디오로부터 2D 키포인트를 추출하여, 배경이미지와 키포인트가 합쳐진 이미지 또는 키포인트만 가진 이미지를 JSON, XML, 영상 데이터 등으로 저장할 수 있다.
또한, 수어영상생성부(230)는 추출된 2D 키포인트를 3D 조인트(joint)로 변환할 수 있다. 이때, 수어영상생성부(230)는 3D 조인트를 2D 이미지 위에 프로젝션(projection) 시킨 이미지 및 인공지능을 통해 추출된 2D 키포인트를 기초로 손실(loss)이 최소화되도록 학습된 인공지능을 통해, 추출된 2D 키포인트를 3D 조인트로 변환할 수 있다. 여기서, 수어영상생성부(230)는 2D 키포인트 중 중수지관절(metacarpophalangeal joint)에 해당하는 2D 키포인트를 추출하고, 중수지관절에 해당하는 2D 키포인트를 3D 조인트로 변환할 수 있다. 즉, 수어영상생성부(230)는 손의 조인트 21개 전부를 사용하는 것이 아닌 중수지관절을 사용할 수 있다.
수어영상생성부(230)는 변환된 3D 조인트를 기초로 3D 조인트에 따른 동작 정보를 생성할 수 있다. 즉, 수어영상생성부(230)는 중수지관절을 대상으로 손목의 회전 각도 및 팔꿈치의 회전 각도와의 상관 관계를 기초로 사전 학습된 인공지능을 통해, 3D 조인트에 따른 손목의 회전 각도 및 팔꿈치의 회전 각도를 추정할 수 있다. 이때, 손목의 회전 각도 및 팔꿈치의 회전 각도를 추정하기 위한 인공지능은 손목의 회전 각도 특징을 팔꿈치를 포함하는 몸의 특징과 관계성을 형성하여 학습될 수 있다.
이후, 수어영상생성부(230)는 생성된 3D 조인트 및 동작 정보를 기초로 수어 텍스트의 각 단어별 영상을 생성할 수 있다. 즉, 수어영상생성부(230)는 3D 조인트 및 동작 정보를 기초로 3D 매쉬(mesh)를 생성하고, 생성된 3D 매쉬를 2D 이미지에 투영시켜 영상으로 변환시킬 수 있다. 예를 들어, 수어영상생성부(230)는 가상 인간이 수화를 수행하는 영상을 생성할 수 있다.
그리고, 수어영상생성부(230)는 각 단어별 영상을 조합하여 문장 수어 영상을 생성할 수 있다. 이때, 수어영상생성부(230)는 연속되는 각 단어별 수어 영상 사이의 모션 저더(motion judder) 현상을 방지하기 위하여, 모션 인터폴레이션(motion interpolation)을 통해 연속되는 각 단어별 영상 사이에 적어도 하나의 이미지를 생성할 수 있다.
여기서, 수어영상생성부(230)는 연속되는 각 단어별 영상 사이에 적어도 하나의 이미지를 생성하되, 선행되는 제1 단어 영상의 최후 프레임과, 후행되는 제2 단어 영상의 최초 프레임 사이에 사전 저장된 예비 동작 이미지를 삽입할 수 있다. 그리고, 수어영상생성부(230)는 예비 동작 이미지를 기준으로, 제1 단어 영상의 최후 프레임 및 제2 단어 영상의 최초 프레임 사이에 적어도 하나의 이미지를 생성할 수 있다. 즉, 수어영상생성부(230)는 단순히 각 단어별 영상 사이의 연관성을 통해 예측되는 이미지를 삽입하는 것이 아니고, 예비 동작 이미지를 각 단어별 영상 사이에 삽입한 후에, 각 단어별 영상과 예비 동작과의 모션 인터폴레이션을 통해 보다 자연스러운 수어 영상을 생성할 수 있다.
또한, 수어영상생성부(230)는 자연어 텍스트의 언어 자질을 기초로, 자연어 텍스트의 문장 유형을 식별하고, 식별된 문장 유형에 따라 기본 자세의 유지 시간을 결정할 수 있다. 또한, 수어영상생성부(230)는 자연어 텍스트의 언어 자질을 기초로, 상기 자연어 텍스트의 문장 유형을 식별하고, 식별된 문장 유형에 따라 생성된 수어 영상의 재생 속도를 결정할 수 있다.
여기서, 수어영상생성부(220)는 데이터전처리부(220)에 의한 품사 분석 및 개체명 인식 결과를 가져와 문장 유형을 식별하거나, 수어텍스트생성부(225)에 의해 분석된 문장 유형 결과를 가져올 수 있다.
예를 들어, 수어영상생성부(230)는 문장 유형이 청유문으로 식별되는 경우, 기본 자세의 유지 시간을 길게 하거나, 수어 영상의 재생 속도를 느리게 하여, 정중한 표현이 될 수 있도록 할 수 있다. 이와 같이, 수어영상생성부(230)는 단순히 동작 영상을 출력할 뿐만 아니라, 비수지신호를 고려하여 동작 영상을 생성할 수 있다.
또한, 수어영상생성부(220)는 자연어 텍스트의 언어 자질을 기초로, 자연어 텍스트를 작성한 화자와, 생성된 수어 영상을 청취하는 청자 각각의 지휘를 식별하고, 식별된 지휘 기초로 예비 동작 유지 시간 및 수어 영상 재생 속도 중 적어도 하나를 결정할 수 있다.
이하, 상술한 바와 같은 번역서버(200)의 논리적 구성 요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명한다.
도 8은 본 발명의 일 실시예에 따른 번역서버의 하드웨어 구성도이다.
도 8에 도시된 바와 같이, 본 발명의 일 실시예에 따른 번역서버(200)는 프로세서(Processor, 250), 메모리(Memory, 255), 송수신기(260), 입출력장치(Input/output device, 165), 데이터 버스(Bus, 270) 및 스토리지(Storage, 275)를 포함하여 구성될 수 있다.
구체적으로, 프로세서(250)는 메모리(255)에 상주된 수어 텍스트 또는 수어 영상 번역 방법이 구현된 소프트웨어(280a)에 따른 명령어를 기초로, 번역서버(200)의 동작 및 기능을 구현할 수 있다.
메모리(255)에는 스토리지(275)에 저장된 번역 방법이 구현된 소프트웨어(280b)가 상주(loading)될 수 있다.
송수신기(260)는 복수 개의 단말기(100)와 데이터를 송수신할 수 있다.
입출력장치(265)는 프로세서(250)의 명령에 따라, 번역서버(200)의 동작에 필요한 신호를 입력 받거나 연산 결과를 외부로 출력할 수 있다.
데이터 버스(270)는 프로세서(250), 메모리(255), 송수신기(260), 입출력장치(265) 및 스토리지(275)와 각각 연결되어, 각각의 구성 요소 사이에서 신호를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.
스토리지(275)는 본 발명의 다양한 실시예에 따른 번역 방법이 구현된 소프트웨어(280a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(275)는 본 발명의 다양한 실시예에 따른 번역 방법이 구현된 소프트웨어(280b)를 저장할 수 있다. 그리고, 스토리지(275)는 인공지능 및 인공지능을 학습하기 위한 데이터 셋을 저장할 수 있다.
본 발명의 일 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 수어 텍스트 번역 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 자연어 텍스트(text)를 입력 받는 단계, 프로세서(250)가, 자연어 텍스트를 인코딩(encoding)하여 자연어 텍스트와 대응하는 벡터(vector)를 생성하는 단계 및 프로세서(250)가, 자연어 및 자연어와 매칭되는 수어 데이터 셋(data set)에 의해 사전 기계 학습(machine learning)된 인공지능(Artificial Intelligence, AI)을 통해, 벡터를 디코딩(decoding)하여 자연어 텍스트와 매칭되는 수어 텍스트를 생성하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
그리고, 본 발명의 또 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 수어 영상 번역 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 자연어 텍스트(text)를 입력 받는 단계, 프로세서(250)가, 자연어 및 자연어와 매칭되는 수어 데이터 셋(data set)에 의해 사전 기계 학습(machine learning)된 인공지능(Artificial Intelligence, AI)을 통해 자연어 텍스트를 수어 텍스트로 변환하는 단계, 프로세서(250)가, 변환된 수어 텍스트와 매칭되는 수어 영상을 생성하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
보다 상세하게, 프로세서(250)는 중앙 처리 장치(Central Processing Unit, CPU), ASIC(Application-Specific Integrated Circuit), 칩셋(chipset), 논리 회로 중 하나 이상을 포함하여 구성될 수 있으며, 이에 한정되지 않는다.
메모리(255)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리(flash memory), 메모리 카드(memory card) 중 하나 이상을 포함하여 구성될 수 있으며, 이에 한정되지 않는다.
입출력장치(265)는 버튼(button), 스위치(switch), 키보드(keyboard), 마우스(mouse), 조이스틱(joystick) 및 터치스크린(touch screen) 등과 같은 입력 장치와, LCD(Liquid Crystal Display), LED(Light Emitting Diode), 유기 발광 다이오드(Organic LED, OLED), 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED), 프린터(printer), 플로터(plotter) 등과 같은 출력 장치 중 하나 이상을 포함하여 구성될 수 있으며, 이에 한정되지 않는다.
본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 제각각 수행하는 모듈(과정, 기능 등)들로 구현될 수 있다. 각각의 모듈은 메모리(255)에 상주되고 프로세서(250)에 의해 실행될 수 있다. 메모리(255)는 프로세서(250)의 내부 또는 외부에 존재할 수 있고, 널리 알려진 다양한 수단으로 프로세서(250)와 연결될 수 있다.
도 8에 도시된 각 구성 요소는 다양한 수단(예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등)에 의해 구현될 수 있다. 하드웨어에 의해 구현될 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
또한, 펌웨어나 소프트웨어에 의해 구현될 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 업계의 통상의 지식을 가진 자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다.
프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이하, 상술한 바와 같은 번역서버(200)의 동작에 대하여 보다 구체적으로 설명한다.
도 9는 본 발명의 일 실시예에 따른 번역 방법을 설명하기 위한 순서도이고, 도 10은 본 발명의 일 실시예에 따른 수어 영상 생성 단계를 설명하기 위한 순서도이다.
도 9를 참조하면, S100 단계에서 번역서버는 단말기로부터 자연어 텍스트를 입력 받을 수 있다.
다음으로, S200 단계에서 번역서버는 단말기로부터 입력 받은 자연어 텍스트를 전처리할 수 있다.
구체적으로, 번역서버는 단말기로부터 입력 받은 자연어 텍스트를 인코딩(encoding)하여 자연어 텍스트와 대응하는 벡터(vector)를 생성할 수 있다. 즉, 번역서버는 S300 단계에서 수어 텍스트를 생성하기 위하여, 입력 받은 자연어 텍스트를 전처리하는 역할을 수행할 수 있다.
즉, 번역서버는 자연어 텍스트의 각 단어를 토큰화 한 제1 토큰을 생성할 수 있다. 이때, 번역서버는 인공지능 성능을 향상시키기 위하여, 제1 토큰 생성 이전에, 자연어 텍스트 중 적어도 둘 이상의 의미를 갖는 단어를 검출하고, 검출된 단어를 의미 단위로 띄어쓰기 처리할 수 있다.
또한, 번역서버는 생성된 제1 토큰을 제1 인공지능에 입력하여, 문맥 정보를 반영하는 임베딩(contextual embedding)을 수행할 수 있다. 즉, 번역 서버는 자연어 문장으로 사전 기계 학습된 인공지능을 통해 제1 토큰과 대응하는 문맥 정보가 포함된 제1 컨텍스트 벡터(context vector)를 생성할 수 있다. 이때, 제1 컨텍스트 벡터는 제1 인공지능으로부터 연산된 마지막 히든 레이어(hidden layer)가 될 수 있다.
또한, 번역서버는 단말기로부터 입력 받은 자연어 텍스트의 각 단어 및 각 단어의 언어 자질을 토큰화 한 제2 토큰을 생성할 수 있다. 여기서, 제2 토큰은 품사(POS, Part Of Speech) 분석 및 개체명 인식(NER, Named Entity Recognition) 결과를 기초로, 자연어 텍스트를 임베딩(embedding)하여 생성될 수 있다.
또한, 번역서버는 제2 토큰을 임베딩하여 제2 컨텍스트 벡터를 생성할 수 있다. 즉, 번역서버는 제2 토큰을 고정된 차원의 실수 벡터로 변환하여 제2 컨텍스트 벡터를 생성할 수 있다.
이후, 번역 서버는 상술한 바와 같이 생성된 제1 컨텍스트 벡터 및 제2 컨텍스트 벡터를 혼합(concat)한 혼합 특징 벡터(mixed feature vector)를 생성할 수 있다.
다음으로, S300 단계에서 번역서버는 S200 단계에서 생성된 혼합 특징 벡터를 입력 받아 수어 텍스트를 생성할 수 있다.
이때, 번역서버는 자연어 및 자연어와 매칭되는 수어 데이터 셋(data set)에 의해 사전 기계 학습(machine learning)된 인공지능(Artificial Intelligence, AI)을 통해, 혼합 특징 벡터를 디코딩(decoding)하여 자연어 텍스트와 매칭되는 수어 텍스트를 생성할 수 있다.
이때, 번역서버는 혼합 특징 벡터와 매칭되는 수어 토큰을 추출하되, 추출된 수어 토큰 중 매칭 확률 값이 사전 설정된 값보다 낮은 수어 토큰을 혼합 특징 벡터에 포함된 토큰 중 하나로 대체할 수 있다. 이때, 번역서버는 혼합 특징 벡터에 포함된 토큰 중 매칭 확률 값이 사전 설정된 값보다 낮은 수어 토큰에 적합한 확률을 산출하고, 확률이 사전 설정된 값 이상인 토큰으로 대체할 수 있다.
즉, 번역서버는 수어 텍스트를 생성할 때, 필요한 어휘가 출력 사전(output vocabulary)에 없는 문제(out-of-vocabulary)와 고유명사들의 출력 확률이 작아지는 문제를 해결하기 위하여, 출력에 필요한 어휘를 S200 단계의 출력에서 찾아 복사(copy)할 수 있다. 여기서, 번역서버는 디코더에 카피 어텐션(copy attention)을 별도로 구비하여, 디코딩 과정에서 각 시간별 출력 어휘를 예측할 때, 출력 사전에 있는 어휘들의 확률과 함께 혼합 특징 벡터 열 중에서 카피 어텐션 점수가 가장 높은 어휘를 그대로 출력할 확률도 함께 계산할 수 있다.
또한, 번역서버는 혼합 특징 벡터를 기초로 자연어 텍스트의 문장 유형을 추정하고, 추정된 문장 유형에 따른 비수지기호를 추출하고, 추출된 비수지기호를 수어 토큰에 임베딩할 수 있다. 여기서, 문장 유형은 평소문, 의문문, 명령문, 청유문 및 감탄문 중 적어도 하나를 포함할 수 있다. 이때, 번역서버는 혼합 특징 벡터에 포함된 자연어 텍스트의 언어 자질을 기초로, 자연어 텍스트의 문장 유형을 식별할 수 있다.
즉, 번역서버는 추정된 문자 유형에 따라 수어 텍스트를 수어로 동작하는데 따른 속도 지수를 도출하고, 도출된 속도 지수를 수어 토큰에 임베딩할 수 있다. 이후, 번역서버는 속도 지수를 나타내는 문자를 수어 텍스트에 포함시킬 수 있다.
그리고, S400 단계에서 번역서버는 변환된 수어 텍스트와 매칭되는 수어 영상을 생성할 수 있다.
구체적으로 도 10에 도시된 바와 같이, S410 단계에서 번역 서버는 변환된 수어 텍스트에 포함된 각 단어와 매칭되는 사전 저장된 단어 수화 영상을 추출할 수 있다.
다음으로, S420 단계에서 번역서버는 추출된 단어 수화 영상에 포함된 프레임 각각에서 2D 키포인트(keypoint)를 추출할 수 있다. 즉, 번역서버는 2D 키포인트가 포함된 수화 영상 데이터 셋을 기초로 사전 기계 학습된 인공지능을 통해, 단어 수화 영상에서 2D 키포인트를 추출할 수 있다. 여기서, 2D 키포인트를 추출하기 위한 인공지능은 결과 값인 추출된 2D 키포인트 및 후술할 변환된 3D 조인트를 2D 이미지에 프로젝션(projection) 시킨 이미지를 포함하는 데이터 셋을 통해 학습될 수 있다.
다음으로, S430 단계에서 번역서버는 추출된 2D 키포인트를 3D 조인트(joint)로 변환할 수 있다. 이때, 번역서버는 3D 조인트를 2D 이미지 위에 프로젝션(projection) 시킨 이미지 및 인공지능을 통해 추출된 2D 키포인트를 기초로 손실(loss)이 최소화되도록 학습된 인공지능을 통해, 추출된 2D 키포인트를 3D 조인트로 변환할 수 있다. 여기서, 번역서버는 2D 키포인트 중 중수지관절(metacarpophalangeal joint)에 해당하는 2D 키포인트를 추출하고, 중수지관절에 해당하는 2D 키포인트를 3D 조인트로 변환할 수 있다. 즉, 번역서버는 손의 조인트 21개 전부를 사용하는 것이 아닌 중수지관절을 사용할 수 있다.
다음으로, S440 단계에서 번역서버는 변환된 3D 조인트를 기초로 3D 조인트에 따른 동작 정보를 생성할 수 있다. 즉, 번역서버는 중수지관절을 대상으로 손목의 회전 각도 및 팔꿈치의 회전 각도와의 상관 관계를 기초로 사전 학습된 인공지능을 통해, 3D 조인트에 따른 손목의 회전 각도 및 팔꿈치의 회전 각도를 추정할 수 있다. 이때, 손목의 회전 각도 및 팔꿈치의 회전 각도를 추정하기 위한 인공지능은 손목의 회전 각도 특징을 팔꿈치를 포함하는 몸의 특징과 관계성을 형성하여 학습될 수 있다.
다음으로, S450 단계에서 번역서버는 생성된 3D 조인트 및 동작 정보를 기초로 수어 텍스트의 각 단어별 수어 영상을 생성할 수 있다. 즉, 번역서버는 3D 조인트 및 동작 정보를 기초로 3D 매쉬(mesh)를 생성하고, 생성된 3D 매쉬를 2D 이미지에 투영시켜 영상으로 변환시킬 수 있다. 예를 들어, 번역서버는 가상 인간이 수화를 수행하는 영상을 생성할 수 있다.
그리고, S450 단계에서 번역서버는 각 단어별 수어 영상을 조합하여 문장 수어 영상을 생성할 수 있다. 이때, 번역서버는 연속되는 각 단어별 수어 영상 사이의 모션 저더(motion judder) 현상을 방지하기 위하여, 모션 인터폴레이션(motion interpolation)을 통해 연속되는 각 단어별 영상 사이에 적어도 하나의 이미지를 생성할 수 있다.
여기서, 번역서버는 연속되는 각 단어별 영상 사이에 적어도 하나의 이미지를 생성하되, 선행되는 제1 단어 영상의 최후 프레임과, 후행되는 제2 단어 영상의 최초 프레임 사이에 사전 저장된 예비 동작 이미지를 삽입할 수 있다. 그리고, 번역서버는 예비 동작 이미지를 기준으로, 제1 단어 영상의 최후 프레임 및 제2 단어 영상의 최초 프레임 사이에 적어도 하나의 이미지를 생성할 수 있다.
또한, 번역서버는 자연어 텍스트의 언어 자질을 기초로, 자연어 텍스트의 문장 유형을 식별하고, 식별된 문장 유형에 따라 기본 자세의 유지 시간을 결정할 수 있다. 또한, 번역서버는 자연어 텍스트의 언어 자질을 기초로, 상기 자연어 텍스트의 문장 유형을 식별하고, 식별된 문장 유형에 따라 생성된 수어 영상의 재생 속도를 결정할 수 있다.
또한, 번역서버는 자연어 텍스트의 언어 자질을 기초로, 자연어 텍스트를 작성한 화자와, 생성된 수어 영상을 청취하는 청자 각각의 지휘를 식별하고, 식별된 지휘 기초로 예비 동작 유지 시간 및 수어 영상 재생 속도 중 적어도 하나를 결정할 수 있다.
도 11은 본 발명의 일 실시예에 따른 수어 영상 생성 방법을 설명하기 위한 예시도이다.
도 11을 참조하면, 번역서버는 연속되는 각 단어별 수어 영상 사이의 모션 저더(motion judder) 현상을 방지하기 위하여, 모션 인터폴레이션(motion interpolation)을 통해 연속되는 각 단어별 영상 사이에 적어도 하나의 이미지를 생성할 수 있다.
이때, 도 11에 도시된 바와 같이, 선행되는 제1 단어(기술) 영상의 최후 프레임이 'a'이고, 후행되는 제2 단어(전통) 영상의 최초 프레임이 'b'라고 가정하면, 번역서버는 선행되는 제1 단어 영상의 최후 프레임'a'과, 후행되는 제2 단어 영상의 최초 프레임'b'사이에 사전 저장된 예비 동작 이미지'c'를 삽입할 수 있다.
그리고, 번역서버는 예비 동작 이미지'c'를 기준으로, 제1 단어 영상의 최후 프레임'a' 및 제2 단어 영상의 최초 프레임'b' 사이에, 모션 인터폴레이션을 통해 적어도 하나의 이미지를 생성할 수 있다.
이를 통해, 번역서버는 단순히 각 단어별 영상 사이의 연관성을 통해 예측되는 이미지를 삽입하는 것이 아니고, 예비 동작 이미지를 각 단어별 영상 사이에 삽입한 후에, 각 단어별 영상과 예비 동작과의 모션 인터폴레이션을 통해 보다 자연스러운 수어 영상을 생성할 수 있다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
100 : 단말기 200 : 번역서버
205 : 통신부 210 : 입출력부
215 : 저장부 220 : 데이터전처리부
225 : 수어텍스트생성부 230 : 수어영상생성부

Claims (10)

  1. 번역서버가, 자연어 텍스트(text)를 입력 받는 단계;
    상기 번역서버가, 상기 자연어 텍스트를 인코딩(encoding)하여 상기 자연어 텍스트와 대응하는 벡터(vector)를 생성하는 단계;
    상기 번역서버가, 자연어 및 상기 자연어와 매칭되는 수어 데이터 셋(data set)에 의해 사전 기계 학습(machine learning)된 인공지능(Artificial Intelligence, AI)을 통해, 상기 벡터를 디코딩(decoding)하여 상기 자연어 텍스트와 매칭되는 수어 토큰을 추출하고, 상기 수어 토큰을 기초로 수어 텍스트를 생성하는 단계; 및
    상기 번역서버가, 상기 생성된 수어 텍스트와 매칭되는 수어 영상을 생성하는 단계; 를 포함하고,
    상기 벡터를 생성하는 단계는
    상기 자연어 텍스트의 각 단어를 토큰화 한 제1 토큰을 생성하고, 상기 자연어 텍스트의 각 단어 및 상기 각 단어의 언어 자질을 토큰화 한 제2 토큰을 생성하는 단계; 및
    자연어 문장으로 사전 기계 학습된 인공지능을 통해 상기 제1 토큰과 대응하는 문맥 정보가 포함된 제1 컨텍스트 벡터를 생성하고, 상기 제2 토큰을 임베딩하여 제2 컨텍스트 벡터를 생성하는 단계;를 포함하는 것을 특징으로 하며,
    상기 제2 컨텍스트 벡터를 생성하는 단계 이후에,
    상기 제1 컨텍스트 벡터 및 상기 제2 컨텍스트 벡터를 합성한 혼합 특징 벡터(mixed feature vector)를 생성하고, 상기 생성된 혼합 특징 벡터를 상기 수어 텍스트를 생성하기 위한 인공지능에 입력하는 것을 특징으로 하고,
    상기 수어 텍스트를 생성하는 단계는
    상기 자연어 텍스트와 매칭되는 수어 토큰을 추출하되, 상기 추출된 수어 토큰 중 매칭 확률 값이 사전 설정된 값보다 낮은 수어 토큰을 상기 생성된 벡터에 포함된 토큰 중 하나로 대체하는 것을 특징으로 하며,
    상기 수어 영상을 생성하는 단계는
    상기 번역서버가, 상기 생성된 수어 텍스트에 포함된 각 단어와 매칭되는 단어 수화 영상을 추출하는 단계;
    상기 번역서버가, 상기 추출된 단어 수화 영상에 포함된 프레임 각각에서 2D 키포인트(keypoint)를 추출하는 단계;
    상기 번역서버가, 상기 추출된 2D 키포인트를 3D 조인트(joint)로 변환하는 단계;
    상기 번역서버가, 상기 변환된 3D 조인트를 기초로 상기 3D 조인트에 따른 동작 정보를 생성하는 단계;
    상기 3D 조인트 및 상기 동작 정보를 기초로 상기 수어 텍스트의 각 단어별 수어 영상을 생성하는 단계; 및
    상기 각 단어별 영상을 조합하여 문장 수어 영상을 생성하는 단계;를 포함하는 것을 특징으로 하고,
    상기 2D 키포인트를 추출하는 단계는
    2D 키포인트가 포함된 수화 영상 데이터 셋을 기초로 사전 기계 학습된 인공지능을 통해, 상기 단어 수화 영상에서 상기 2D 키포인트를 추출하는 것을 특징으로 하며,
    상기 3D 조인트로 변환하는 단계는
    3D 조인트를 2D 이미지 위에 프로젝션(projection) 시킨 이미지 및 상기 인공지능을 통해 추출된 2D 키포인트를 기초로 손실(loss)이 최소화되도록 학습된 인공지능을 통해, 상기 추출된 2D 키포인트를 3D 조인트로 변환하는 것을 특징으로 하고,
    상기 3D 조인트로 변환하는 단계는
    상기 2D 키포인트 중 중수지관절(metacarpophalangeal joint)에 해당하는 2D 키포인트를 추출하고, 상기 중수지관절에 해당하는 2D 키포인트를 3D 조인트로 변환하는 것을 특징으로 하며,
    상기 동작 정보를 생성하는 단계는
    상기 중수지관절을 대상으로 손목의 회전 각도 및 팔꿈치의 회전 각도와의 상관 관계를 기초로 사전 학습된 인공지능을 통해, 상기 3D 조인트에 따른 손목의 회전 각도 및 팔꿈치의 회전 각도를 추정하는 것을 특징으로 하고,
    상기 문장 수어 영상을 생성하는 단계는
    연속되는 각 단어별 수어 영상 사이의 모션 저더(motion judder) 현상을 방지하기 위하여, 모션 인터폴레이션(motion interpolation)을 통해 상기 연속되는 각 단어별 영상 사이에 적어도 하나의 이미지를 생성하는 것을 특징으로 하며,
    상기 문장 수어 영상을 생성하는 단계는
    상기 연속되는 각 단어별 영상 사이에 적어도 하나의 이미지를 생성하되, 선행되는 제1 단어 영상의 최후 프레임과, 후행되는 제2 단어 영상의 최초 프레임 사이에 사전 저장된 예비 동작 이미지를 삽입하는 것을 특징으로 하고,
    상기 문장 수어 영상을 생성하는 단계는
    상기 예비 동작 이미지를 기준으로, 상기 제1 단어 영상의 최후 프레임 및 상기 제2 단어 영상의 최초 프레임 사이에 적어도 하나의 이미지를 생성하는 것을 특징으로 하는, 수어 영상 생성 방법.
  2. 제1 항에 있어서, 상기 각 단어별 수어 영상을 생성하는 단계는
    상기 자연어 텍스트의 언어 자질을 기초로, 상기 자연어 텍스트를 작성한 화자와, 상기 생성된 수어 영상을 청취하는 청자 각각의 지휘를 식별하고, 상기 식별된 지휘 기초로 예비 동작 유지 시간 및 수어 영상 재생 속도 중 적어도 하나를 결정하는 것을 특징으로 하는, 수어 영상 생성 방법.
  3. 메모리(memory);
    송수신기(transceiver); 및
    상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어,
    상기 프로세서가, 자연어 텍스트(text)를 입력 받는 단계;
    상기 프로세서가, 상기 자연어 텍스트를 인코딩(encoding)하여 상기 자연어 텍스트와 대응하는 벡터(vector)를 생성하는 단계;
    상기 프로세서가, 자연어 및 상기 자연어와 매칭되는 수어 데이터 셋(data set)에 의해 사전 기계 학습(machine learning)된 인공지능(Artificial Intelligence, AI)을 통해, 상기 벡터를 디코딩(decoding)하여 상기 자연어 텍스트와 매칭되는 수어 토큰을 추출하고, 상기 수어 토큰을 기초로 수어 텍스트를 생성하는 단계; 및
    상기 프로세서가, 상기 생성된 수어 텍스트와 매칭되는 수어 영상을 생성하는 단계; 를 포함하여 실행시키되,
    상기 벡터를 생성하는 단계는
    상기 자연어 텍스트의 각 단어를 토큰화 한 제1 토큰을 생성하고, 상기 자연어 텍스트의 각 단어 및 상기 각 단어의 언어 자질을 토큰화 한 제2 토큰을 생성하는 단계; 및
    자연어 문장으로 사전 기계 학습된 인공지능을 통해 상기 제1 토큰과 대응하는 문맥 정보가 포함된 제1 컨텍스트 벡터를 생성하고, 상기 제2 토큰을 임베딩하여 제2 컨텍스트 벡터를 생성하는 단계;를 포함하는 것을 특징으로 하며,
    상기 제2 컨텍스트 벡터를 생성하는 단계 이후에,
    상기 제1 컨텍스트 벡터 및 상기 제2 컨텍스트 벡터를 합성한 혼합 특징 벡터(mixed feature vector)를 생성하고, 상기 생성된 혼합 특징 벡터를 상기 수어 텍스트를 생성하기 위한 인공지능에 입력하는 것을 특징으로 하고,
    상기 수어 텍스트를 생성하는 단계는
    상기 자연어 텍스트와 매칭되는 수어 토큰을 추출하되, 상기 추출된 수어 토큰 중 매칭 확률 값이 사전 설정된 값보다 낮은 수어 토큰을 상기 생성된 벡터에 포함된 토큰 중 하나로 대체하는 것을 특징으로 하며,
    상기 수어 영상을 생성하는 단계는
    상기 프로세서가, 상기 생성된 수어 텍스트에 포함된 각 단어와 매칭되는 단어 수화 영상을 추출하는 단계;
    상기 프로세서가, 상기 추출된 단어 수화 영상에 포함된 프레임 각각에서 2D 키포인트(keypoint)를 추출하는 단계;
    상기 프로세서가, 상기 추출된 2D 키포인트를 3D 조인트(joint)로 변환하는 단계;
    상기 프로세서가, 상기 변환된 3D 조인트를 기초로 상기 3D 조인트에 따른 동작 정보를 생성하는 단계;
    상기 3D 조인트 및 상기 동작 정보를 기초로 상기 수어 텍스트의 각 단어별 수어 영상을 생성하는 단계; 및
    상기 각 단어별 영상을 조합하여 문장 수어 영상을 생성하는 단계;를 포함하고,
    상기 2D 키포인트를 추출하는 단계는
    2D 키포인트가 포함된 수화 영상 데이터 셋을 기초로 사전 기계 학습된 인공지능을 통해, 상기 단어 수화 영상에서 상기 2D 키포인트를 추출하는 것을 특징으로 하며,
    상기 3D 조인트로 변환하는 단계는
    3D 조인트를 2D 이미지 위에 프로젝션(projection) 시킨 이미지 및 상기 인공지능을 통해 추출된 2D 키포인트를 기초로 손실(loss)이 최소화되도록 학습된 인공지능을 통해, 상기 추출된 2D 키포인트를 3D 조인트로 변환하는 것을 특징으로 하고,
    상기 3D 조인트로 변환하는 단계는
    상기 2D 키포인트 중 중수지관절(metacarpophalangeal joint)에 해당하는 2D 키포인트를 추출하고, 상기 중수지관절에 해당하는 2D 키포인트를 3D 조인트로 변환하는 것을 특징으로 하며,
    상기 동작 정보를 생성하는 단계는
    상기 중수지관절을 대상으로 손목의 회전 각도 및 팔꿈치의 회전 각도와의 상관 관계를 기초로 사전 학습된 인공지능을 통해, 상기 3D 조인트에 따른 손목의 회전 각도 및 팔꿈치의 회전 각도를 추정하는 것을 특징으로 하고,
    상기 문장 수어 영상을 생성하는 단계는
    연속되는 각 단어별 수어 영상 사이의 모션 저더(motion judder) 현상을 방지하기 위하여, 모션 인터폴레이션(motion interpolation)을 통해 상기 연속되는 각 단어별 영상 사이에 적어도 하나의 이미지를 생성하는 것을 특징으로 하며,
    상기 문장 수어 영상을 생성하는 단계는
    상기 연속되는 각 단어별 영상 사이에 적어도 하나의 이미지를 생성하되, 선행되는 제1 단어 영상의 최후 프레임과, 후행되는 제2 단어 영상의 최초 프레임 사이에 사전 저장된 예비 동작 이미지를 삽입하는 것을 특징으로 하고,
    상기 문장 수어 영상을 생성하는 단계는
    상기 예비 동작 이미지를 기준으로, 상기 제1 단어 영상의 최후 프레임 및 상기 제2 단어 영상의 최초 프레임 사이에 적어도 하나의 이미지를 생성하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
KR1020220135914A 2022-10-20 2022-10-20 수어 영상 번역 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 KR102589845B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220135914A KR102589845B1 (ko) 2022-10-20 2022-10-20 수어 영상 번역 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220135914A KR102589845B1 (ko) 2022-10-20 2022-10-20 수어 영상 번역 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR102589845B1 true KR102589845B1 (ko) 2023-10-17

Family

ID=88557569

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220135914A KR102589845B1 (ko) 2022-10-20 2022-10-20 수어 영상 번역 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102589845B1 (ko)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101915088B1 (ko) 2017-08-25 2018-11-05 신정현 수화번역장치
KR20190014381A (ko) * 2017-08-02 2019-02-12 엘지디스플레이 주식회사 영상 처리 방법 및 이를 이용한 표시 장치
KR20200046665A (ko) * 2018-10-25 2020-05-07 주식회사 멀틱스 동작인식장치와 아바타를 이용한 수어 통역/번역 서비스 시스템
KR102115551B1 (ko) * 2019-08-06 2020-05-26 전자부품연구원 글로스를 이용한 수어 번역 장치 및 번역모델 학습장치
KR102195401B1 (ko) * 2020-10-07 2020-12-24 (주)멀틱스 Rgb 키포인트 매트릭스 이미지를 이용한 딥러닝 기반 실시간 수어 영상 스트림 인식 방법
KR20210085938A (ko) * 2019-12-31 2021-07-08 조용구 영상의 음성을 2d 및 3d 아바타, 애니메이션으로 번역해주는 수화번역 시스템 및 그 제어방법
KR20210100832A (ko) * 2020-02-07 2021-08-18 박영세 사용자의 감정상태를 판단하는 인공지능 기반 수어통역 서비스 제공 시스템 및 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190014381A (ko) * 2017-08-02 2019-02-12 엘지디스플레이 주식회사 영상 처리 방법 및 이를 이용한 표시 장치
KR101915088B1 (ko) 2017-08-25 2018-11-05 신정현 수화번역장치
KR20200046665A (ko) * 2018-10-25 2020-05-07 주식회사 멀틱스 동작인식장치와 아바타를 이용한 수어 통역/번역 서비스 시스템
KR102115551B1 (ko) * 2019-08-06 2020-05-26 전자부품연구원 글로스를 이용한 수어 번역 장치 및 번역모델 학습장치
KR20210085938A (ko) * 2019-12-31 2021-07-08 조용구 영상의 음성을 2d 및 3d 아바타, 애니메이션으로 번역해주는 수화번역 시스템 및 그 제어방법
KR20210100832A (ko) * 2020-02-07 2021-08-18 박영세 사용자의 감정상태를 판단하는 인공지능 기반 수어통역 서비스 제공 시스템 및 방법
KR102195401B1 (ko) * 2020-10-07 2020-12-24 (주)멀틱스 Rgb 키포인트 매트릭스 이미지를 이용한 딥러닝 기반 실시간 수어 영상 스트림 인식 방법

Similar Documents

Publication Publication Date Title
Camgoz et al. Sign language transformers: Joint end-to-end sign language recognition and translation
Li et al. Tspnet: Hierarchical feature learning via temporal semantic pyramid for sign language translation
KR102382499B1 (ko) 번역 방법, 타깃 정보 결정 방법, 관련 장치 및 저장 매체
WO2021233112A1 (zh) 基于多模态机器学习的翻译方法、装置、设备及存储介质
US11972365B2 (en) Question responding apparatus, question responding method and program
US10796105B2 (en) Device and method for converting dialect into standard language
CN108959482B (zh) 基于深度学习的单轮对话数据分类方法、装置和电子设备
US20140316764A1 (en) Clarifying natural language input using targeted questions
CN110888966A (zh) 自然语言问答
CN111401084A (zh) 一种机器翻译的方法、设备以及计算机可读存储介质
JP7315065B2 (ja) 質問生成装置、質問生成方法及びプログラム
CN115309877B (zh) 对话生成方法、对话模型训练方法及装置
CN111859940B (zh) 一种关键词提取方法、装置、电子设备及存储介质
Zhang et al. Image captioning via semantic element embedding
CN113723105A (zh) 语义特征提取模型的训练方法、装置、设备及存储介质
KR20190065665A (ko) 딥 러닝을 이용한 한국어 개체명 인식 장치 및 방법
CN113392265A (zh) 多媒体处理方法、装置及设备
Liu et al. Language model augmented relevance score
Wu et al. Joint intent detection model for task-oriented human-computer dialogue system using asynchronous training
US20220139386A1 (en) System and method for chinese punctuation restoration using sub-character information
CN113449081A (zh) 文本特征的提取方法、装置、计算机设备及存储介质
Gehrmann et al. Improving human text comprehension through semi-Markov CRF-based neural section title generation
CN111814496A (zh) 文本处理方法、装置、设备及存储介质
CN112084788A (zh) 一种影像字幕隐式情感倾向自动标注方法及系统
KR102589845B1 (ko) 수어 영상 번역 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Legal Events

Date Code Title Description
GRNT Written decision to grant