본문 바로가기
잡동사니

이미지 생성형 AI 활용

by L3m0n S0ju 2024. 12. 1.

 

 

안녕하세요 저는 최근에 다우기술 개발센터에서 진행하는 온데이 세미나에서 이미지 생성형 ai 활용을 주제로 발표를 하게 되었습니다. 많은 사람들 앞에서 발표를 한 경험이 없어서 나름 열심히 준비했는데요 다행히 청중들의 반응이 좋았고 결과물을 시연할 때 그리고 비용문제를 말할 때 다들 웃어주셔서 뿌듯한 마음으로 발표를 마치게 되었습니다.

 

처음에는 저는 개발자로서의 역할만 하려고 팀에 들어왔지만 어쩌다 보니 발표도 부분적으로 하게 되어서 처음에는 불안했지만 끝내고 나니 기분 좋은 경험이 되었던 것 같습니다. 발표한 내용들을 그냥 묵히기는 아쉬워서 블로그에 정리를 해보았습니다. 이미지 생성형 ai에 대해서 관심이 있으신 개발자분들이 한번 보면 좋을 것 같은 내용입니다.

 

 

 

 

 

안녕하세요 저는 개발자 관점에서 이미지 생성형 ai 활용을 주제로 발표를 맡게 되었습니다. 저희 팀은 이미지 생성형 ai 도구들을 실습하면서 배운 내용들을 토대로 각자 서비스를 하나 만들어보는 프로젝트를 진행했습니다.

 

 

 


 

목차는 다음과 같은데요 이미지 생성형 ai를 선택 이유, 대표적인 이미지 생성형 ai 서비스 종류 및 서비스별 특징, 다우오피스 ai 쇼츠 생성기 프로젝트, 프로젝트를 진행하면서 마주친 도전과 극복 마지막으로 온데이 세미나 소감 순서대로 발표를 진행하겠습니다.

 

 

 


 

화면에 있는 그림은 어떤 그림일까요? 제가 처음 이미지 생성형 ai를 접하게 된 건 이 그림을 통해서 처음 알게 되었습니다.

 

이 그림은 2022년 9월 1일, 콜로라도 주립 박람회에서 디지털 아트 부문 1위를 수상한 그림인데요 그때 당시에 이 그림이 큰 논란이 되어 기사에 실렸고 뉴스를 통해서 이 그림을 처음 접하게 되었습니다. 1등을 수상한 이 그림이 바로 인공지능으로 만들어낸 그림이라는 게 밝혀지면서 큰 논란이 되었습니다. 기사를 보면서 저는 이미지 생성형 ai에 대해서 호기심이 생겼고 평소에도 저는 그림에 관심이 많아서 언젠가 한 번쯤은 이미지 생성형 ai 도구를 사용해 보고 싶었습니다.

 

때마침 온데이 세미나를 통해서 이미지 생성형 ai를 접할 기회가 생기게 되었는데요 원래 저는 현재 팀이 아니었지만 팀원분 이미지 생성형 ai를 주제로 온데이 세미나를 같이 하자고 저에게 제안을 했고 이미지 생성형 ai에 대한 호기심과 함께 팀에 참여하게 되었습니다.

 

 

 


 

저는 이미지 생성형 ai 도구를 사용해 본 적이 없었습니다. 그래서 유명한 서비스들을 찾아보았고 팀원들 각자 이미지 생성형 ai 서비스를 실습하기로 했습니다.

 

어떤 서비스를 실습했냐면 화면에 있는 미드저니, 어도비 파이어플라이 그리고 OpenAI의 달리 3를 실습하면서 이것저것 실험을 하면서 어떤 서비스를 만들지 오랫동안 고민했습니다. 어떤 서비스를 만들지 정하기 위해서는 우선 각 이미지 생성형 ai 서비스가 어떤 특성이 있고 장단점이 있는지 알아야 했습니다.

 

 

 


 

첫 번째로 미드저니입니다. 미드저니 같은 경우에는 이미지 생성형 ai 서비스 중에서 가장 유명한 서비스입니다. 미드저니의 돋보이는 첫 번째 특성으로는 다른 서비스보다 더 다양한 옵션들이 제공됩니다. 다른 서비스들도 옵션을 제공하지만 제가 느끼기에는 미드저니가 상대적으로 더 다양한 옵션을 제공해 주었습니다.

 

두 번째 특성으로는 웹서비스 UI 제공을 통한 편리한 사용성입니다. 작년까지만 해도 미드저니는 디스코드로만 사용을 할 수 있었고 옵션 값들을 이미지 프롬프트에 직접 넣어야 했기 때문에 처음 사용하는 사용자에게는 진입장벽이 있었습니다. 하지만 지금은 웹서비스가 제공되고 옵션 값도 ui로 수정할 수 있게끔 서비스를 제공해 줘서 처음 미드저니를 접하는 사용자도 어렵지 않게 서비스를 사용할 수 있습니다.

 

세 번째 특성으로 섬세한 디테일과 이미지의 퀄리티입니다. 다른 서비스들도 사용을 해봤지만 전체적으로 생성된 이미지의 퀄리티가 가장 좋았습니다.

 

 

 


 

다음은 어도비 파이어플라이입니다. 파이어플라이 같은 경우에는 특정 요소들만 수정을 할 때 굉장히 편리했습니다. 예를 들어서 다우오피스 다다 캐릭터의 표정만 바꾼다거나 배경만 바꾸고 싶을 때 다른 도구들에 비해 월등한 퀄리티를 보였습니다.

 

두 번째  특성으로는 이미지 속 피사체와 배경을 정밀하게 구분을 할 수 있어서 특정 요소들만 수정을 할 때는 파이어플라이가 가장 적합한 도구였습니다.

 

세 번째 특성으로 화면에는 없지만 파이어플라이는 텍스처, 질감을 수정할 때 좋은 성능을 보입니다. 특정 피사체의 질감을 나무, 금속, 유리 등으로 수정할 때 유용합니다. 예를 들어서 글씨 폰트를 감자튀김으로 수정을 요청하면 감자튀김 질감의 글씨가 생성됩니다.

 

 

 


 

마지막으로 OpenAI의 달리 3입니다. 첫 번째 특성으로 달리 3는 OpenAI 통합 인터페이스 환경에서 동작합니다. 다시 말하면 ChatGPT를 통해서 달리 3를 사용할 수 있습니다.

따라서 달리 3는 chatgpt와 함께 사용할 수 있기 때문에 이미지 프롬프트 없이 한글로 대화하듯이 사용할 수 있습니다. 그래서 처음 사용하는 사용자는 진입장벽이 전혀 없고 마치 사람과 대화하듯이 달리 3를 사용할 수 있다는 장점이 있습니다.

 

 

 


 

지금까지 이미지 생성형 ai 도구들의 각 특성을 알아보았고 이러한 도구를 이용해서 어떤 서비스를 만들지 고민했습니다. 이 중에서 저는 실험했을 때 전체적으로 이미지 결과물 퀄리티가 가장 좋았던 미드저니를 사용하고 싶었습니다.

 

 

 


 

처음에 미드저니로 만들고 싶었던 서비스는 다우오피스 프로필 만들기 서비스입니다. 왜냐하면 미드저니 만의 특수한 기능 때문이었는데요 미드 저니는 개인의 퍼스널리티를 이미지에 적용할 수 있는 기능이 제공되었습니다.

 

미드저니의 퍼스널리티 탭에 들어가면 2장의 이미지가 표시되고 사용자가 마음에 드는 이미지를 계속해서 고르다 보면 사용자의 이미지에 대한 선호도가 퍼스널리티 나타나게 되어 개인의 퍼스널리티 이미지에 적용할 수 있었습니다. 그래서 저희 팀이 생각하기에 다우기술의 퍼스널리티 이미지에 적용할 수 있다면 다우기술의 색깔을 넣은 프로필 이미지를 만들 수 있지 않을까 막연하게 생각을 해봤습니다.

 

 

 


 

하지만 문제점이 발생했습니다. 서비스를 만들어보려고 api가 제공되는지 찾아봤지만 미드저니는 공식 api가 제공되지 않았습니다. 설상가상으로 다음으로 마음에 들었던 어도비의 파이어플라이도 비즈니스 계정만 api를 제공하였습니다.

 

따라서 저에게 선택지는 OpanAI의 달리 3 밖에 없었습니다.

 

만들고 싶었던 프로필 만들기는 달리 3에서 동작하지 않았기 때문에 다시 어떤 서비스를 만들지 고민에 빠졌습니다. 그러다가 문득 떠오른 게 요즘 유튜브에 유행하는 양산형 쇼츠가 생각났습니다. 달리 3는 마치 사람과 대화하듯이 사용할 수 있기 때문에 만약에 만들고 싶은 영상을 글로 입력하면 달리 3를 통해서 간단하게 쇼츠를 제작할 수 있지 않을까 생각이 들었습니다.

 

 

 


 

이렇게 시작하게 된 프로젝트가 다우오피스 ai 쇼츠 생성기 프로젝트입니다.

 

 

 

 


 

프로세스 구성도입니다. 간단하게 흐름을 설명드리면 ChatGPT를 이용해 자막과 이미지프롬프트 데이터를 가져와서 파싱합니다. 자막 데이터는 구글 Oauth 인증을 받은 뒤 Google TTS 서비스를 이용하여 더빙 파일로 만듭니다. 이미지 프롬프트는 달리3를 이용하여 이미지를 생성합니다. 이후 이미지 파일, 더빙 파일, 자막을 동시에 출력하면 쇼츠가 완성이 됩니다.

 

 

 


 

각 페이지를 간단하게 설명드리겠습니다.

 

 

 


 

첫 페이지에서 AI 영상 만들러 가기 버튼을 누르고 프롬프트 입력 페이지로 이동합니다.

 

 

 


 

프롬프트를 작성하고 40초에서 50초를 기다리면 쇼츠가 생성됩니다.

 

 

 


 

마지막으로 재생버튼을 누르면 쇼츠가 출력됩니다. 다음으로 결과물 시연을 하겠습니다.

 

 

 


 

프롬프트에 예를 들어서 채용 홍보 텍스트를 입력하면 4장으로 구성된 채용홍보 쇼츠가 생성됩니다. 로딩시간은 40초에서 50초 정도가 걸리지만 영상에서는 편의를 위해 로딩시간을 잘랐습니다.

 

 

 


 

다음으로 프로젝트를 진행하면서 만난 문제점들과 문제들을 어떻게 극복했는지를 정리해봤습니다.

 

 

 


 

첫 번째는 비용 문제입니다. 달리 3 api로 이미지를 생성할 때마다 300원 정도가 들었습니다. 이미지가 한 장이면 100원 정도로 그렇게 비싸지 않지만 4장을 제공하도록 만들었기 때문에 테스트를 할 때마다 300원의 지출이 생겨서 개발을 할 때 부담이 되었습니다. 300원이 그렇게 큰돈이 아니지만 앞에서 이미 이미지 생성형 ai 도구들을 사용하면서 10만 원 가까이 지출했기 때문에 처음 개발을 할 때 개발 의욕이 떨어지는 문제점이 있었습니다.

 

 

 


 

그래서 해결 방안으로 비용을 절약하기 위해서 ChatGPT, 달리 3 api를 사용할 때를 제외하고는 테스트 데이터를 이용하였습니다. api를 사용해야 하는 경우에도 4개의 장면이 아닌 1개의 장면으로 실험하였습니다. 그리고 어느 정도 기능이 안정되면 2개의 장면으로 구성하였고 최종적으로 4개의 장면으로 구성하면서 비용을 절감했습니다.

 

다음으로 응답으로 오는 텍스트 글자 수 같은 경우에는 글자 수 옵션을 높게 설정하면 비용이 많이 들고 낮게 설정하면 응답이 잘리는 현상이 발생하였는데요 해결 방법으로는 장면이 당 45자에서 55자로 글자 수를 제한을 하여 갑작스러운 많은 비용이 발생하지 않도록 방지했습니다.

 

 

 


 

다음으로 성능문제입니다.

 

첫 번째 문제는 한 개의 이미지를 생성하는데 30초 정도의 시간이 소요됩니다. 그러면 4장의 이미지를 생성하는 데 2분이 걸리므로 너무 오래 기다려야 했습니다.

 

그래서 해결 방안으로는 이미지 생성을 병렬로 처리해서 시간을 단축시켰습니다.. 즉 promise 객체로 비동기 처리하여 시간을 단축시켰습니다.

 

 

 


 

두 번째 문제는 이미지 로딩 시간입니다. 예를 들어서 브라우저에 로딩된 첫 번째 이미지에서 두 번째 이미지로 전환될 때 1초 정도의 딜레이가 생겼습니다. 그래서 중간중간에 흐름이 1초 정도 끊기는 문제가 발생했습니다.

 

해결 방안으로는 4장의 이미지를 미리 브라우저에 preload 하여 브라우저 캐시에 저장 후 사용하여 딜레이를 해결하였습니다.

 

 

 


 

마지막 문제점으로 파인튜닝 과정입니다. ChatGPT에게 포맷을 지정해 줬지만 원하지 않는 문구나 포맷에 맞지 않는 요소들 때문에 실패 확률이 높았습니다.

 

예를 들어서 제가 원하는 형식은 화면에 올바른 예시의 형태인데 잘못된 예시 1처럼 문장 앞에 번호가 있거나 잘못된 예시 2처럼 이미지 프롬프트 다음에 콜론이 아닌 대시가 들어가는 예외가 발생하였고 잘못된 예시 3처럼 나레이터 대사 내용에 괄호 안에 들어있는 레이터라는 문구가 들어가는 등 여러 가지 예외 상황들이 발생했습니다.

 

 

 


 

그래서 해결 방안으로는 문제가 되는 예외들을 정규식으로 1차 처리를 하고 처리 못한 남은 예외들은 이후에 2차로 처리해서 성공률을 높였습니다. 이렇게 파인튜닝 과정을 거치고 나서는 3개 중에 2개가 성공하는 정도의 성공률을 보였습니다. 하지만 개인적인 목표는 90프로 이상이었기 때문에 또 다른 방법을 사용했습니다.

 

ChatGPT api의 창의성을 조절하는 temperature라는 옵션 값이 있는데 해당 값을 0.1로 낮추고 난 뒤 99%의 성공률을 보였습니다. 그러면 앞에서 진행한 파인튜닝 과정이 크게 의미가 없다고 생각하실 수 있는데 창의성을 너무 낮게 설정해버리면 api 응답의 퀄리티가 떨어지게 됩니다.

 

따라서 파인튜닝 과정과 창의성 옵션 값의 균형을 맞춰야 했고 여러 값을 실험하면서 개인적으로 0.7 정도가 적절하다고 느꼈습니다. 이후에는 퀄리티도 유지하면서 90퍼 이상의 성공률을 유지할 수 있었습니다.

 

 

 


 

지금까지 다우오피스 ai 쇼츠 생성기 프로젝트에 대해서 발표했고 마지막으로 온데이 세미나 소감을 쇼츠로 만들어봤습니다.

 

 

 


 

들어주셔서 감사합니다.

 

 

 

 

'잡동사니' 카테고리의 다른 글

git 정리  (0) 2022.11.06
SEED 고급해킹실습 Lab2 [RTL 공격]  (0) 2022.03.26
SEED 고급해킹실습 Lab1 [LD_PRELOAD 후킹 공격]  (0) 2022.03.26
에이티식스 리뷰  (0) 2022.01.28
목소리의 형태 리뷰  (0) 2022.01.02

댓글