Create Opportunities

Multi Modal ? 본문

인공지능

Multi Modal ?

kimjaeyoon 2023. 3. 7. 14:30

멀티 모달은 여러 가지 다른 유형의 데이터를 동시에 사용하는 기술을 말한다.

이를 위한 다양한 Task에 사용되는 데이터는 이미지, 비디오, 음성, 텍스트, 센서 등 다양한 유형의 비정형 데이터가 해당될 수 있다. 다양한 정보의 조합으로 이루어진 데이터를 활용하여 기계 학습 모델의 정확성을 높일 수 있다.

출처: Intel Labs

 

멀티 모달은 다양한 분야에 적용된다. 아래와 같이 예를 들어볼 수 있다.

1. 음성 인식 및 자연어처리(NLP)

- 음성과 텍스트를 결합하여 높은 수준의 자연스러운 대화 인터페이스 구현

- 대화 중 발생하는 다양한 모드의 정보를 고려하여 의도 파악 및 응답 생성

- 감정 분석, 문장 분류 등을 통한 다양한 정보를 활용하여 높은 정확도 달성

2. 영상 인식

- 이미지, 비디오 데이터를 활용하여 물체 인식, 행동 인식 등에 활용

- 다양한 모달 정보를 고려하여 더욱 정확하고 신뢰성 높은 결과물 생성 가능

3. 음성-영상 처리

- 영상과 음성 데이터를 동시에 처리하여 감정 분석, 대화 인터페이스에서 활용 가능

4. 감정 분석

- 텍스트 뿐 아니라 영상 데이터까지 종합적으로 분석하여 더 세밀한 감정 분석 가능

5. 보안 및 인증

- 얼굴 인식, 음성 인식, 센서 정보 등 다양한 데이터 활용 가능

 

관련 연구가 발전하면서 스마트 시티, 자율 주행, 의료 영상 분석 등 다양한 분야에서의 문제 해결 시도가 많아지는 추세이다.

 

추가로,

나중에 업무로 진행하게될 수도 있는 Speech to Text Crawling을 간단하게 실습해보았다.

진행 과정은 아래와 같다.


Youtube 영상 다운로드

- pytube 라이브러리 사용하여 다운로드

from pytube import YouTube

# 유튜브 영상 URL
url = "https://www.youtube.com/watch?v=oYnfsg-l0KM"

# 유튜브 영상 객체 생성
video = YouTube(url)

stream = video.streams.get_highest_resolution()

# 유튜브 영상 다운로드
stream.download(output_path="./", filename="example_video.mp4")

영상에서 음성 추출

- movipy 라이브러리 사용하여 음성 추출

from moviepy.video.io.VideoFileClip import VideoFileClip

# 다운로드한 유튜브 영상 파일 경로
video_file = "./example_video.mp4"

# VideoFileClip 객체 생성
video = VideoFileClip(video_file)

# 음성 추출
audio = video.audio
audio.write_audiofile("audio_file.wav")

Speech to Text

- speech_recognition 라이브러리 사용하여 변환

import speech_recognition as sr

# 음성 파일 경로 설정
audio_file = "./audio_file.wav"

# 음성 파일에서 음성 추출
r = sr.Recognizer()
with sr.AudioFile(audio_file) as source:
    audio_data = r.record(source)
text = r.recognize_google(audio_data, language='ko-KR')


# 추출된 음성을 텍스트 파일로 저장
with open('result.txt', 'w') as f:
    f.write(text)

이제는 관련 논문을 읽어보고, Google Cloud API를 사용해서 좀 더 심화된 실습을 진행해봐야겠다.