당신은 주제를 찾고 있습니까 “딥 드림 제너레이터 – 인공지능활용5 딥드림 제너레이터“? 다음 카테고리의 웹사이트 you.maxfit.vn 에서 귀하의 모든 질문에 답변해 드립니다: https://you.maxfit.vn/blog. 바로 아래에서 답을 찾을 수 있습니다. 작성자 울산광역시교육연구정보원TV 이(가) 작성한 기사에는 조회수 102회 및 좋아요 3개 개의 좋아요가 있습니다.
딥 드림 제너레이터 주제에 대한 동영상 보기
여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!
d여기에서 인공지능활용5 딥드림 제너레이터 – 딥 드림 제너레이터 주제에 대한 세부정보를 참조하세요
딥드림 제너레이터를 배워보며 인공지능을 활용해 봅시다.
딥 드림 제너레이터 주제에 대한 자세한 내용은 여기를 참조하세요.
Deep Dream Generator
Initially it was invented to help scientists and engineers to see what a deep neural network is seeing when it is looking in a given image. Later the algorithm …
Source: deepdreamgenerator.com
Date Published: 10/23/2022
View: 3854
꿈의 세계로 초대, 딥 드림 제네레이터 – 윕뉴스
딥 드림 제네레이터(Deep Dream Generator)란 2015년 구글이 개발한 디지털 이미지 생성 프로그램이다. 이 사이트를 일반에 공개하자 접속이 폭주했다 …
Source: www.wip-news.com
Date Published: 4/11/2022
View: 401
구글 인공지능 자동 포토샵 사이트: 딥드림 사용법 !!
딥 드림 제너레이터 Deep Dream Generator 입니다. 구글에서 개발한 개념이고요 !! 영화 인셉션의 ” 깊숙한 꿈 -꿈의 단계 (Deep Dream) ” 에서 영감 …
Source: alliesband.tistory.com
Date Published: 8/25/2021
View: 427
지능정보사회에서의 딥드림 제너레이터를 활용한 패션디자인 …
Fashion Design Education Using Deep Dream Generator in Intelligence Information Society – Visualization Code(시각화 코드);Deep Dream(딥드림);DeepDream …
Source: www.kci.go.kr
Date Published: 1/6/2021
View: 9181
구글이 만든 인공지능 화가 딥 드림 제네레이터(Deep Dream …
딥 드림(Deep Dream)은 인공신경망 기반의 컴퓨터 학습 반식인 ‘딥러닝’ 기술을 시각 이미지에 적용한 기술로, 결과물이 마치 꿈을 꾸는 듯한 추상적인 …
Source: araarajo.tistory.com
Date Published: 7/4/2022
View: 7138
DeepDream | TensorFlow Core
Let’s demonstrate how you can make a neural network “dream” and enhance the surreal patterns it sees in an image. Dogception. import tensorflow …
Source: www.tensorflow.org
Date Published: 2/2/2021
View: 861
주제와 관련된 이미지 딥 드림 제너레이터
주제와 관련된 더 많은 사진을 참조하십시오 인공지능활용5 딥드림 제너레이터. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.
주제에 대한 기사 평가 딥 드림 제너레이터
- Author: 울산광역시교육연구정보원TV
- Views: 조회수 102회
- Likes: 좋아요 3개
- Date Published: 2022. 1. 23.
- Video Url link: https://www.youtube.com/watch?v=MFVEESMdxA4
꿈의 세계로 초대, 딥 드림 제네레이터
예술과 기술은 상당히 밀접한 관계를 지니고 있다. 구글의 “우리는 인공 지능이 예술 영역에까지 깊이 영향을 줄 수 있는 혁신이라고 생각한다.”라는 메시지는 예술과 인공지능의 융합을 실감케 한다.
구글이 시작한 ‘딥드림(Deep Dream)’ 은 앞서 소개한 ‘오토드로우’를 포함해 구글 리서치 블로그에서 배포한 인공 신경망을 통한 시각화 코드이다.
딥 드림은 딥러닝 기술을 활용한 프로젝트로 인공지능에 사진을 입력하면 인공지능은 학습한 데이터를 참고해 인공지능 스스로 무엇을 보았는지 그리는 작업을 말한다.
이번에는 인공지능이 사용자 정의에 따라 그림의 분위기를 바꾸어주는 프로그램인 ‘딥 드림 제네레이터’를 소개하려고 한다.
딥 드림 제네레이터(Deep Dream Generator)란 2015년 구글이 개발한 디지털 이미지 생성 프로그램이다. 이 사이트를 일반에 공개하자 접속이 폭주했다. 지나치게 초현실적이라 악몽, 악마라고 표현하며 ‘악몽 회화’라고 불렀다.
일반 이미지를 업로드하면 딥러닝 기술로 완전히 새로운 분위기의 이미지로 바뀌고 기존 이미지에는 없던 색다른 느낌을 받을 수 있다. 사용자가 원하는 이미지나 반고흐, 르누아르 등 유명 화가의 작품이 적용된 이미지를 완성할 수 있다.
그리고 이미지의 ‘질감’을 인식하도록 학습 시켜 기존 이미지에서 이미지의 질감만을 변형시키도록 알고리즘을 적용했다. 이때, 사용자는 원하는 질감을 고를 수 있다.
웹툰 ‘제타’에서 구글의 ‘딥 드림 제네레이터’가 그린 그림을 사용한 사진 [ 출처=네이버웹툰 ]
웹툰 ‘제타’에서는 딥 드림 제네레이터 프로그램을 활용했다. 인간과 AI의 미술 대결을 다룬 내용으로 모든 미술 작품은 실제 구글의 딥 드림 제네레이터 프로그램으로 그려냈다.
‘제타’의 하지(예명) 작가는 국민일보와 서면 인터뷰에서 “직접 딥 드림 제네레이터를 사용하면서 아마추어적인 수준에서부터 프로에 이르기까지 다양한 화풍의 그림들을 만들어낼 수 있었다”며 “여태까지 ‘제타’에 나온 그림과 앞으로 나올 그림들은 모두 AI가 그린 그림”이라고 말했다.
지난 2016년 2월 미국 샌프란시스코에서 열린 경매에선 구글의 AI 프로그램으로 그린 그림 29점이 9만 7,000달러(약 1억 1000만원)에 모두 팔리기도 하고 2018년 10월 미국 크리스티 경매장에선 세계 최초로 AI 화가 오비어스가 그린 초상화 ‘에드몽 드 벨라미’가 경매에 나오며 43만 2,000달러(약 5억원)에 낙찰되기도 하는 등 AI 화가에 대한 관심이 주목되고 있다.
딥드림은 영화 인셉션 깊숙한 꿈, 꿈의 단계에서 영감을 받아 만들어졌으며 마치 꿈에 나는 것 같은 그림이라는 의미를 가지고 있다.
알고리즘을 이용하며 정확한 용어로는 ‘인셉셔니즘(inceptionism)’을 이용한다. 사용자가 미리 설정한 조건에 따라 딥 드림 제네레이터는 새로운 방식으로 편집하고 사용자는 또 다른 조건으로 계속 변형이 가능하다. 웹사이트 방문자의 빅데이터를 바탕으로 서비스를 제공한다.
※인셉셔니즘(inceptionism): 크리스토퍼 놀란 감독의 영화 ‘인셉션’에서 따온 이름이다. 인셉셔니즘 시스템은 새로 입력된 사진에서 수많은 변수를 찾아낸다. 그리고 이전에 학습해 저장해둔 이미지들의 변수 조각 중 연관된 것을 가져와 합성한다. 사람이 하늘의 구름을 보면서 특정 사물을 떠올리는 것과 같은 방식이다. 이렇게 완성된 이미지는 마치 환상을 시각화한 것처럼 놀라운 영상을 재현하게 된다. 딥드림 알고리즘을 활용할 경우 누구나 놀라운 예술가가 될 수 있다는 것을 의미한다. [출처=The SCIENCE Times]
사용 방법은 다음과 같다.
사용자가 이미지의 질감과 변형 정도 등을 지정할 수 있는 화면 캡쳐 사진 [ 출처=딥 드림 제네레이터 ]
딥 드림 제네레이터는 회원가입을 해야만 프로그램을 이용할 수 있다.
간단하게 진행할 수 있으며 회원 등록을 했다고 가정하고 딥 드림 제네레이터(https://deepdreamgenerator.com/) 웹사이트에 접속하게 되면 상단에 이미지를 업로드할 수 있는 버튼(Upload Image) 이 있다.
이미지를 업로드하면 사용자는 강도(Enhanced), 변형 정도, 해상도(Resolution), 깊이(Depth), 변형한 스타일의 크기(Style Scale), 기존 이미지 색상 유지 여부(Preserved Colors)를 설정할 수 있다.
Generate 버튼을 클릭하면 이미지가 최종 완성된다.
구글 인공지능 자동 포토샵 사이트: 딥드림 사용법 !!
신기한 사이트를 알게 되었습니다.
딥 드림 제너레이터 Deep Dream Generator 입니다.
구글에서 개발한 개념이고요 !!
영화 인셉션의 ” 깊숙한 꿈 -꿈의 단계 (Deep Dream) ” 에서 영감을 받았다고 합니다.
▼ 사이트 링크입니다.
https://deepdreamgenerator.com
사이트 소개와 사용하는 방법 알려드려요.
▼ 먼저 사이트 들어가면 화면이 아래와 같습니다.
화면이 아래로 길쭉합니다.
자신들의 모태가 구글이라는 것을 알기 쉽진 않습니다.
휴먼-머신 콜라보레이션 이라고 적혀있네요.
▼ 약간 아래로 내려보면 툴이 있습니다.
1. DEEP 2. THIN 3. DEEP DREAM
실제로 처음 만들어진건 3번 툴 딥드림 때문인 것 같은데,
어째 사람들은 1번을 제일 많이 하는 것 같습니다.
사실 제가 사용해봐도 3번 딥드림은,,, 좀 괴기하고 사용도 어려운 반면 1번/2번은 쉽고 효과도 확 납니다.
▼ 관련 언론기사를 소개하고 있습니다.
▼ 딥드림을 사용한 작품들을 보여주는 공간입니다.
예시가 많지는 않습니다.
▼ 제안할 것 있으면 연락달랍니다.
▼ 딥 드림 제너레이터에 대한 간단한 소개와 인스타그램입니다.. 별건 없습니다.
여기까지가 사이트의 끝입니다.
저도 처음에는 어떻게 사용하는지 헤맸습니다….
공짜로 프로그램 이용이 가능하다고 들었는데 이게 끝이었거든요
근데!!!! 홈페이지 맨 위에 있는 가입을 누르면 완전 달라집니다 !!
SIGN UP 을 클릭하세요 !!!
▼ 아래와 같은 가입창이 뜹니다. 구글계정이나 트위터로 가입하시면 인증이 필요없습니다.
하지만 일반 메일 계정 쓰시면 인증을 해야합니다. 클릭 한번이면 인증 되니까 귀찮은 과정은 아닙니다.
짜잔!!!
가입하시면 홈페이지가 180도 바뀝니다.
▼ 홈화면입니다. 왼쪽 상단에 보시면 Latest / Editor’s Choice / Best Dreams 가 있습니다.
사람들이 만든 작품이 게시되는 곳입니다.
Latest 와 Editor’s Choice 는 주로 12시간 이내에 완성된 작품이 올라옵니다.
사람들이 좋아요를 많이 누른 사진을 주로 보여줍니다.
왼쪽 상단에 보시면 1.노란색으로 Generate 와 , 2.사람모양 Profile 과 3. 지구 모양 아이콘이 있습니다.
▼ 먼저 지구모양은 알림창입니다. 다른사람들이 내가 만든 그림을 좋아요 누른 소식이 뜹니다.
저의 Profile 화면에서 지구모양 아이콘을 누른 것입니다.
Public Dreams : 11 / Likes: 33 / Joined : Jul/2017
제가 만들고 공개한 그림 11개 / 제 그림에 좋아요 한 갯수 33개 / 가입일자 2017년 7월 입니다.
▼ 제가 만든 그림을 클릭해 본것입니다. 오른쪽 상단에 하트10개, 즉 좋아요를 10번 받은것입니다.
왼쪽에는 원래 넣었던 그림과 효과로 넣었던 그림이 나옵니다.
테슬라 전기실험 흑백사진과 연두택 불꽃 효과를 합쳐서 나온 그림입니다.
▼ 왼쪽 상단에 있는 아이콘입니다. 아래와 같이 좋아요 갯수와, 공유하기, 저장하기, 앨범 끄기 버튼이 있습니다.
이제 본격적으로 그림 만드는 법입니다.. !!
아! 그전에 회원 레벨 개념이 있습니다. 레벨에 따라 시간당 만들수있는 그림의 양이 달라집니다.
(근데 어짜피 오래걸려서….)
레벨은 네 단계입니다.
1. 뉴비(Newbie) 2. 멤버(Member) 3. 드리머(Dreamer) 4. 딥 드리머(Deep Dreamer)
레벨업 하는 것 어렵지 않습니다.
2단계 멤버 조건 : 가입일수 1일, 만든그림 10개
3단계 드리머 조건 : 가입일수 3일, 만든그림 50개, 공개한그림 30개, 받은좋아요갯수 30개.
4단계 딥드리머 조건 : 가입일수 12일, 공개한그림 100개, 받은좋아요갯수 150개.
▼ 이제 진짜 그림을 만들어 봅시다 !! 아래 아이콘을 클릭합시다(홈페이지 우측 상단).
▼ 아래와 같은 화면이 나옵니다.
가운데 위쪽에 있는 업로드 이미지를 해서 변형하고 싶은 그림을 올려줍시다.
업로드 이미지 아이콘 옆에 있는 그림은 내가 최근에 사용한 그림 목록입니다.
따라서 다음에 같은 이미지를 또 변형하고 싶을때 다시 업로드 할 필요가 없습니다 !!! 졸라 편함 !!!!
처음에도 설명했지만.
1. Deep Style – 그림 이미지 자체를 변형시킴
2. Thin Style – 그림의 윤곽등은 두고 스타일만 변화시킴 (기존 카메라 필터와 비슷)
3. Deep Dream – 꿈속 세계를 연출,,, 그림이 점차 변형되며 새로운 이미지 탄생 (어려움)
세가지 모드가 있습니다.
먼저 1. Deep Style 입니다.
하위 메뉴로는 (1) Choose Style 과 (2)Settings (3) Access 가 있습니다.
(1) Choose Style 은 어떤 형식으로 변형시킬지 고르는 것입니다.
(2) Settings 는 그림 해상도, 변형정도 (강하게/약하게 등)를 선택하는 옵션 개념입니다.
(3) Access 는 이 그림을 공개할지 말지 정하는 것인데 이것은 나중에도 자유롭게 바꿀수 있습니다.
Choose Style 에는 또 세가지가 있습니다.
Default Style 에는 여러가지 사이트에서 제공하는 기본 유형이 있고,
My Style은 세팅을 미리 설정해 놓는 것입니다.
Popular Style은 현재 사람들이 많이 사용하고 있는 스타일을 보여주는데
Popular Style은 검증된 것들이고 또 강렬한 것이 많아 이것을 추천합니다 !!
복잡해 보이지만 전혀 어렵지 않습니다.
▼ Settings 는 아래와 같습니다. 여기는 사실 굳이 안건드려도 기본 설정이 되어 있습니다.
제가 밑에서 비교 사진을 분석해놨습니다.
Enhance : 변형 정도
Resolution : 해상도 (레벨이 낮으면 고해상도 갯수 제한이 심함, 노말로만 해도 충분)
Style Weight : 변형 강도
Style Scale : 변형스타일의 크기
Preserve Colors : 기존 이미지의 색을 유지할지 말지 선택
사실 정도나 강도나 잘 이해가 가지 않습니다. 제가 아래서 분석한 것 보시는게 나을듯.
Deep Style로 변형한 이미지 예를 몇개 보여드리겠습니다.
아래는 제가 작업한 것들인데 사실 사이트 가서 Best Dreams 보시면 정말 신기한게 많습니다.
▼ 김홍도의 벼타작인데,, 고갱 그림처럼 변했습니다.
▼ 베토벤 초상화 변형
▼ 제가 개인적으로 맘에들어하는 그림입니다. 김홍도의 씨름을 변형한 것인데, 스타워즈 느낌이 ㅋㅋ
외국사람들은… 김홍도 작품을 잘 모르니까 좋아요 갯수가 적습니다. ㅠㅠㅠㅠㅠㅠㅠ
▼ 김홍도 씨름과 같은 스타일입니다. 저의 그림 중 좋아요를 가장 많이 받은 그림입니다. ㅋㅋ
테슬라의 전기 실험 사진을 변형시켰습니다.
아래는 Settings 에 따른 Deep Style 변형 분석입니다. 세팅에 따라 대체 어떻게 변하는지 궁금했습니다.
▼ 원본 그림은 르누아르의 물 뿌리개를 든 소녀 입니다.
실험을 위하여 적당히 여러가지 색이 있고 , 식별이 가능한 그림을 골랐습니다.
▼ 변형시킬 스타일은 Default 맨 처음에 나오는 Starry night 스타일 입니다.
▼ 세팅을 전혀 건들지 않고 변형시킨 것입니다. 위에서 보듯이 Starry Night 스타일로 바뀌었네요.
▼ 세팅에서 Enhance 만 조절한 것입니다.
Enhance가 강하면 원본 질감이 떨어지고 더욱 변형됩니다.
▼ 세팅에서 Resolution 을 조절한 것입니다.
앞에서도 언급했듯이 레벨에 따라 고해상도는 제작 갯수 제한 있습니다.
확실히 HD가 낫습니다.
▼ 세팅에서 Style Weight 를 조절한 것입니다.
음…. 솔직히 차이를 별로 모르겠습니다…. 다른 이미지로 변형할때는 또 모르죠….
▼ 세팅에서 Style Scale 을 조절한 것입니다. 최소 설정은 그림이 좀 많이 다르네요..
▼ 세팅에서 Preserve Colors 를 조절한 것입니다. 옵션을 키면 기존 그림 색이 보존됩니다.
▼ 기본 스타일(Style) Starry Night가 좀 심심한 듯 해서 비교할 겸 Popular Style에서 핫한 스타일로 해봤습니다.
변형할 스타일은 수학공식들이 그려진 칠판입니다. Deep Style의 장점이 여기서 드러납니다.
▼ 이제 Thin Style 입니다.
Thin Style 은 Deep 에 비해 훨씬 단순합니다.
기존의 디카나 아니면 요새는 핸드폰에도 많은 필터 기능이라고 보셔도 무방합니다.
물론 그 필터가 좀 강력하지만 말이죠.
18가지 필터 중 하나를 선택하면 되고, 세팅도 단순합니다.
세팅도 강도(Enhance)와 해상도(Resolution)만 선택할 수 있습니다.
▼ 르누아르의 그림으로 실험을 해봤습니다. 아래로 쭈르륵 그림 나갑니다.
▼ 이제 마지막으로 !!! Deep Dream 모드 입니다!!
딥 드림 모드의 재밌는점은
계속해서 추가로 변형시킬수 있다는 점입니다.
결과 화면에서 계속해서 변형시킬 수 있습니다.
▼ 아래는 예시입니다. (약간 징그러움)
이제 만드는 처리과정과 결과화면 만 보여드리고 글을 닫겠습니다.
▼ 만드는 과정 화면입니다.
Jobs in queue : 12 라고 나오는데 대기자 수입니다.
요새는 기본으로 20이 뜨면서 시간이 꽤 걸립니다…. 한 5분 정도 걸리는 듯 해요 체감상.
▼ 만드는 과정 화면2 입니다.
Jobs in queue: 2 로 대기자수가 줄어들었습니다.
▼ 결과 화면입니다.
오른쪽 화단에 톱니바퀴 아이콘 클릭하시면 아래와 같이 옵션들이 뜹니다.
여기서 그림 정보 열람, 공개/비공개 설정, 그림 저장 등을 할 수 있습니다.
▼ 톱니바퀴에서 Edit Access 뜨면 아래와 같이 비공개 / 공개 선택 가능합니다.
▼ 그림 정보를 클릭하면 아래와 같이 뜹니다. Deep Style 기준입니다.
원래 이미지와 스타일 이미지가 나오고, 세팅값들이 나옵니다.
이상으로 마칩니다 !!!
즐겁게 포토샵 해보시길 !!!
아래는 다른 사람이 한 것입니다.. 사람 사진도 이런식으로 잘 나와요 !!
꿈의 세계로 빠져봅시다 !!!
아 그리고,,, 저작권은 알아서들 조심하시길..
잘 아시죠? 디즈니에게 잘못걸리면 3대가 망한다는 ㅋㅋ
구글 인공지능 자동 포토샵 인공지능 포토샵 구글 인공지능 ai 포토샵 artificial intelligence 구글 그림 프로젝트 그림 인식 free computer photoshop 무료 인공지능 서비스 무료 포토샵 deep mind deep dream 구글 딥드림 딥 드림 프로젝트 딥 드림 인공 신경망 신경망 그림 꿈 그림 딥 드림 제너레이터 deep dream generator manual 딥드림 사용법 딥드림 가입
지능정보사회에서의 딥드림 제너레이터를 활용한 패션디자인 교육
지능정보사회는 초연결성(Hyper-Connected), 초지능성(Hyper-Intelligent)의 특성을 가진다. 이는 사물과 인간이 상호 연결되는 지능화된 사회를 의미한다. 본 연구는 첨단의 지능정보기술인 인공지능이 범용기술로 인식되는 새로운 세상을 맞이하여 패션디자인은어떤 방향으로 교육되어야 할지를 모색하였다. 지능정보기술의 하나인 딥드림 기술을 활용하여 패션디자인교육에서의 활용성을 제시하였다. 정보기술사회의 첨단 기기와 기술 간의 융합으로 감성을 담은 패션디자인 교육 방안을 제시함으로써 교육적 효과를 증진하는 것을 목적으로 하였다. 본 연구는 다음과 같이 진행되었다. 첫째, 정보기술사회의 패러다임의 변화에 대해 분석하였다. 인공지능의 정의와 딥드림의 기술현황에 대해분석하였다. 둘째, 시각예술 분야에 인공지능이 적용된 예를 분석하여 패션디자인 교육에 인공지능 기술적용이 가능한지를 타진하였다. 셋째, 구체적 교육 방안을 제시하기 패션 드로잉, 텍스타일, 텍스추어 개발, 무드보드 제작 등에 딥드림 제너레이터를 활용하여교육방향을 모색 하였다. 문헌 및 연구자료 분석으로진행된 질적 연구 방법의 한계점을 해결하기 위하여 인공지능 오픈소스와 증강현실 애플리케이션을 활용하였다. 딥드림 제너레이터를 적용한 결과물은 D3D 애플리케이션으로 착장시켜 교육효과를 배가시켰다. 연구결과는 다음과 같다. 첫째, 지능정보기술의 기술현황과 보급유형에 관해 분석함으로써 지능정보기술이 범용화 되고 있음을 증명하였다. 둘째, 인공지능이 패션산업에 적용된 분석을 통해 패션디자인 교육에 지능정보기술을 적용 가능성을 타진하였다. 셋째, 지능정보기술 딥드림과 증강현실 기술을 패션디자인의 드로잉, 텍스타일, 텍스추어에 활용하여 교육적 효과를 배가할 수 있는 방향을 제시 하였다. 실기과목의비대면 수업의 어려움을 맞게 되었는데 특별한 실기장비나 재료 없이 온라인 수업을 할 수 있었다.
Intelligence information society has the characteristics of hyper-connected and hyper-intelligence. It could be defined as an intelligent society in which things and humans are interconnected. The study investigated how fashion designs should be educated in this new world where advanced intelligence information technologies are perceived as GPT, and it suggested the use of a visualization code (deep dream) technology, which is one of intelligence information technologies and uses an artificial neural network, and a augmented reality technology in the education of fashion design. The purpose of this study is to enhance the effects of fashion design education by devising a fashion design education method that incorporates emotions with the convergence of advanced equipment and technologies. This study was conducted using the following methods. First, I analyzed the paradigm shift in information technology society. The definition of artificial intelligence and the technology status of Deep Dream were analyzed. Second, by analyzing the cases of application of AI in the field of visual arts, it examined whether it could be applied in fashion design education. Third, it investigated how to utilize of deep dream in fashion drawings, textiles, and texture education, and mood board. Artificial intelligence open source and augmented reality application were used to solve the limitations of qualitative research methods conducted through analysis of literature and research data. The result of applying Deep Dream Generator was dressed as a D3D application, which doubled the educational effect. The results of the study are as follows. First, by analyzing the status and dissemination types of intelligence information technologies, it proved that intelligence information technologies are universally being used. Second, it sounded out the possibility of applicability of intelligent information technologies in fashion design education through analysis of previous studies on creativity of fashion design. Third, it investigated the direction for enhancing the effect of fashion design education by employing intelligence information technology deep dream generator and augmented reality technologies on drawings, textiles, and textures of fashion designs. Non-face-to-face classes in practical courses have become difficult, allowing online classes without special practical equipment or materials.
구글이 만든 인공지능 화가 딥 드림 제네레이터(Deep Dream Generator)
728×90
딥 드림(Deep Dream) 홈페이지 메인 화면
딥 드림(Deep Dream)은 인공신경망 기반의 컴퓨터 학습 반식인 ‘딥러닝’ 기술을 시각 이미지에 적용한 기술로,
결과물이 마치 꿈을 꾸는 듯한 추상적인 이미지를 닮았다고 해서 ‘딥 드림’이라고 부릅니다.
딥 드림의 세가지 지원 툴
AI 지원툴과 협업하여 영감을 주는 시각적 콘텐츠를 제작하는데 도움을 주는데요,
업로드한 이미지에 다른 이미지의 질감을 입힐 수 있는 DEEP STYLE DEEP STYLE의 단순화한 버전으로 작업 시간을 단축시켜주는 THIN STYLE 인공지능이 이미지를 조작 · 왜곡하여 새로운 이미지를 만들어 내는 DEEP DREAM
총 세가지의 기능을 지원합니다.
사용방법
1. 상단의 ‘LOG IN’ 버튼을 눌러 로그인 해줍니다.
2. 로그인을 하면 다른 사람들이 만든 작품을 볼 수 있는 화면이 나오는데요. 상단의 ‘Generate’ 버튼을 눌러줍니다.
3. ‘Upload Image’ 버튼을 눌러 기본이 될 이미지를 선택합니다.
4. 여러 질감이 적용된 기존의 이미지를 선택하거나 원하는 질감의 이미지를 업로드 합니다.
5. ‘Generate’ 버튼을 눌러줍니다.
6. 이미지가 만들어지는 동안 잠시 기다려 줍니다.
7. 완성!
디자인은 창의성을 요하는 부분이라 ‘인공지능이 장악하기엔 무리가 있지 않을까?’ 하는 생각을 막연히 했었다.
하지만 99%의 디자이너가 하는 디자인이라는게 기존의 자료를 서치해서 괜찮은 컬러, 괜찮은 레이아웃을 조합하는 경우가 많기 때문에 10년 정도 후면 인공지능이 다 대체할 것이라는 글이 충격적이었다.
급변하는 세상에서 나는 어떻게 대처해야 좋을까?
728×90
딥드림 (DeepDream)
본 튜토리얼은 Alexander Mordvintsev가 이 블로그 포스트에서 설명한 딥드림의 간단한 구현 방법에 대해 소개합니다.
딥드림은 신경망이 학습한 패턴을 시각화하는 실험입니다. 어린 아이가 구름을 보며 임의의 모양을 상상하는 것처럼, 딥드림은 주어진 이미지 내에 있는 패턴을 향상시키고 과잉해석합니다.
이 효과는 입력 이미지를 신경망을 통해 순전파 한 후, 특정 층의 활성화값에 대한 이미지의 그래디언트(gradient)를 계산함으로써 구현할 수 있습니다. 딥드림 알고리즘은 층의 활성화값을 최대화하도록 이미지를 수정하는데, 이는 신경망으로 하여금 특정 패턴을 과잉해석 하도록 합니다. 이로써 입력 이미지를 기반으로 하는 몽환적인 이미지를 만들어낼 수 있게 됩니다. 이 과정은 InceptionNet 모델과 영화 인셉션에서 이름을 따와 “Inceptionism”이라고 부릅니다.
그럼 이제 어떻게 하면 신경망으로 하여금 이미지에 있는 초현실적인 패턴을 향상시키고 “꿈”을 꾸도록 만들 수 있는지 알아보도록 하겠습니다.
import tensorflow as tf
import numpy as np import matplotlib as mpl import IPython.display as display import PIL.Image from tensorflow.keras.preprocessing import image
변환(dream-ify)할 이미지 선택하기
이 튜토리얼에서는 래브라도의 이미지를 사용하겠습니다.
url = ‘https://storage.googleapis.com/download.tensorflow.org/example_images/YellowLabradorLooking_new.jpg’
# 이미지를 내려받아 넘파이 배열로 변환합니다. def download(url, max_dim=None): name = url.split(‘/’)[-1] image_path = tf.keras.utils.get_file(name, origin=url) img = PIL.Image.open(image_path) if max_dim: img.thumbnail((max_dim, max_dim)) return np.array(img) # 이미지를 정규화합니다. def deprocess(img): img = 255*(img + 1.0)/2.0 return tf.cast(img, tf.uint8) # 이미지를 출력합니다. def show(img): display.display(PIL.Image.fromarray(np.array(img))) # 이미지의 크기를 줄여 작업이 더 용이하도록 만듭니다. original_img = download(url, max_dim=500) show(original_img) display.display(display.HTML(‘Image cc-by: Von.grzanka‘))
특성 추출 모델 (feature extraction model) 준비하기
사전 훈련된 이미지 분류 모델을 내려받습니다. 본 튜토리얼에서는 딥드림에서 원래 사용된 모델과 유사한 InceptionV3를 사용합니다. 다른 사전 학습된 모델을 사용해도 괜찮지만, 코드 구현 시 층의 이름을 수정해야 합니다.
base_model = tf.keras.applications.InceptionV3(include_top=False, weights=’imagenet’)
2021-08-14 00:46:24.706626: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:937] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2021-08-14 00:46:24.713962: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:937] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2021-08-14 00:46:24.715010: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:937] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2021-08-14 00:46:24.717080: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 AVX512F FMA To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags. 2021-08-14 00:46:24.717600: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:937] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2021-08-14 00:46:24.718641: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:937] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2021-08-14 00:46:24.719622: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:937] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2021-08-14 00:46:25.337956: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:937] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2021-08-14 00:46:25.339103: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:937] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2021-08-14 00:46:25.340051: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:937] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2021-08-14 00:46:25.340899: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1510] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 14648 MB memory: -> device: 0, name: Tesla V100-SXM2-16GB, pci bus id: 0000:00:05.0, compute capability: 7.0 Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/inception_v3/inception_v3_weights_tf_dim_ordering_tf_kernels_notop.h5 87916544/87910968 [==============================] – 3s 0us/step 87924736/87910968 [==============================] – 3s 0us/step
딥드림은 활성화시킬 하나 혹은 그 이상의 층을 선택한 후 “손실”을 최대화하도록 이미지를 수정함으로써 선택한 층을 “흥분”시키는 원리를 기반으로 합니다. 얼마나 복잡한 특성이 나타날지는 선택한 층에 따라 다르게 됩니다. 낮은 층을 선택한다면 획 또는 간단한 패턴이 향상되고, 깊은 층을 선택한다면 이미지 내의 복잡한 패턴이나 심지어 물체의 모습도 생성할 수 있습니다.
InceptionV3는 상당히 큰 모델입니다 (모델 구조의 그래프는 텐서플로 연구 저장소에서 확인할 수 있습니다). 모델의 많은 층들 중, 딥드림을 구현하기 위해 살펴보아야 할 곳은 합성곱층들이 연결된 부분입니다. InceptionV3에는 ‘mixed0’부터 ‘mixed10’까지 총 11개의 이러한 합성곱층이 있습니다. 이 중 어떤 층을 선택하느냐에 따라서 딥드림 이미지의 모습이 결정됩니다. 깊은 층은 눈이나 얼굴과 같은 고차원 특성(higher-level features)에 반응하는 반면, 낮은 층은 선분이나 모양, 질감과 같은 저차원 특성에 반응합니다. 임의의 층을 선택해 자유롭게 실험해보는 것도 가능합니다. 다만 깊은 층(인덱스가 높은 층)은 훈련을 위한 그래디언트 계산에 시간이 오래 걸릴 수 있습니다.
# 선택한 층들의 활성화값을 최대화합니다. names = [‘mixed3’, ‘mixed5’] layers = [base_model.get_layer(name).output for name in names] # 특성 추출 모델을 만듭니다. dream_model = tf.keras.Model(inputs=base_model.input, outputs=layers)
손실 계산하기
손실은 선택한 층들의 활성화값의 총 합으로 계산됩니다. 층의 크기와 상관 없이 모든 활성화값이 동일하게 고려될 수 있도록 각 층의 손실을 정규화합니다. 일반적으로, 손실은 경사하강법으로 최소화하고자 하는 수치입니다. 하지만 딥드림에서는 예외적으로 이 손실을 경사상승법(gradient ascent)을 통해 최대화할 것입니다.
def calc_loss(img, model): # 이미지를 순전파시켜 모델의 활성화값을 얻습니다. # 이미지의 배치(batch) 크기를 1로 만듭니다. img_batch = tf.expand_dims(img, axis=0) layer_activations = model(img_batch) if len(layer_activations) == 1: layer_activations = [layer_activations] losses = [] for act in layer_activations: loss = tf.math.reduce_mean(act) losses.append(loss) return tf.reduce_sum(losses)
경사상승법
선택한 층의 손실을 구했다면, 이제 남은 순서는 입력 이미지에 대한 그래디언트를 계산하여 원본 이미지에 추가하는 것입니다.
원본 이미지에 그래디언트를 더하는 것은 신경망이 보는 이미지 내의 패턴을 향상시키는 일에 해당합니다. 훈련이 진행될수록 신경망에서 선택한 층을 더욱더 활성화시키는 이미지를 생성할 수 있습니다.
이 작업을 수행하는 아래의 함수는 성능을 최적화하기 위해 tf.function 으로 감쌉니다. 이 함수는 input_signature 를 이용해 함수가 다른 이미지 크기 혹은 step / step_size 값에 대해 트레이싱(tracing)되지 않도록 합니다. 보다 자세한 설명을 위해서는 Concrete functions guide를 참조합니다.
class DeepDream(tf.Module): def __init__(self, model): self.model = model @tf.function( input_signature=( tf.TensorSpec(shape=[None,None,3], dtype=tf.float32), tf.TensorSpec(shape=[], dtype=tf.int32), tf.TensorSpec(shape=[], dtype=tf.float32),) ) def __call__(self, img, steps, step_size): print(“Tracing”) loss = tf.constant(0.0) for n in tf.range(steps): with tf.GradientTape() as tape: # `img`에 대한 그래디언트가 필요합니다. # `GradientTape`은 기본적으로 오직 `tf.Variable`만 주시합니다. tape.watch(img) loss = calc_loss(img, self.model) # 입력 이미지의 각 픽셀에 대한 손실 함수의 그래디언트를 계산합니다. gradients = tape.gradient(loss, img) # 그래디언트를 정규화합니다. gradients /= tf.math.reduce_std(gradients) + 1e-8 # 경사상승법을 이용해 “손실” 최대화함으로써 입력 이미지가 선택한 층들을 보다 더 “흥분” 시킬 수 있도록 합니다. # (그래디언트와 이미지의 차원이 동일하므로) 그래디언트를 이미지에 직접 더함으로써 이미지를 업데이트할 수 있습니다. img = img + gradients*step_size img = tf.clip_by_value(img, -1, 1) return loss, img
deepdream = DeepDream(dream_model)
주 루프
def run_deep_dream_simple(img, steps=100, step_size=0.01): # 이미지를 모델에 순전파하기 위해 uint8 형식으로 변환합니다. img = tf.keras.applications.inception_v3.preprocess_input(img) img = tf.convert_to_tensor(img) step_size = tf.convert_to_tensor(step_size) steps_remaining = steps step = 0 while steps_remaining: if steps_remaining>100: run_steps = tf.constant(100) else: run_steps = tf.constant(steps_remaining) steps_remaining -= run_steps step += run_steps loss, img = deepdream(img, run_steps, tf.constant(step_size)) display.clear_output(wait=True) show(deprocess(img)) print (“Step {}, loss {}”.format(step, loss)) result = deprocess(img) display.clear_output(wait=True) show(result) return result
dream_img = run_deep_dream_simple(img=original_img, steps=100, step_size=0.01)
한 옥타브 (octave) 올라가기
지금 생성된 이미지도 상당히 인상적이지만, 위의 시도는 몇 가지 문제점들을 안고 있습니다:
생성된 이미지에 노이즈(noise)가 많이 끼어있습니다 (이 문제는 tf.image.total_variation loss 로 해결할 수 있습니다). 생성된 이미지의 해상도가 낮습니다. 패턴들이 모두 균일한 입도(granularity)로 나타나고 있습니다.
이 문제들을 해결할 수 있는 한 가지 방법은 경사상승법의 스케일(scale)를 달리하여 여러 차례 적용하는 것입니다. 이는 작은 스케일에서 생성된 패턴들이 큰 스케일에서 생성된 패턴들에 녹아들어 더 많은 디테일을 형성할 수 있도록 해줍니다.
이 작업을 실행하기 위해서는 이전에 구현한 경사상승법을 사용한 후, 이미지의 크기(이를 옥타브라고 부릅니다)를 키우고 여러 옥타브에 대해 이 과정을 반복합니다.
import time start = time.time() OCTAVE_SCALE = 1.30 img = tf.constant(np.array(original_img)) base_shape = tf.shape(img)[:-1] float_base_shape = tf.cast(base_shape, tf.float32) for n in range(-2, 3): new_shape = tf.cast(float_base_shape*(OCTAVE_SCALE**n), tf.int32) img = tf.image.resize(img, new_shape).numpy() img = run_deep_dream_simple(img=img, steps=50, step_size=0.01) display.clear_output(wait=True) img = tf.image.resize(img, base_shape) img = tf.image.convert_image_dtype(img/255.0, dtype=tf.uint8) show(img) end = time.time() end-start
6.949268341064453
선택 사항: 타일(tile)을 이용해 이미지 확장하기
한 가지 고려할 사항은 이미지의 크기가 커질수록 그래디언트 계산에 소요되는 시간과 메모리가 늘어난다는 점입니다. 따라서 위에서 구현한 방식은 옥타브 수가 많거나 입력 이미지의 해상도가 높은 상황에는 적합하지 않습니다.
입력 이미지를 여러 타일로 나눠 각 타일에 대해 그래디언트를 계산하면 이 문제를 피할 수 있습니다.
각 타일별 그래디언트를 계산하기 전에 이미지를 랜덤하게 이동하면 타일 사이의 이음새가 나타나는 것을 방지할 수 있습니다.
이미지를 랜덤하게 이동시키는 작업부터 시작합니다:
def random_roll(img, maxroll): # 타일 경계선이 생기는 것을 방지하기 위해 이미지를 랜덤하게 이동합니다. shift = tf.random.uniform(shape=[2], minval=-maxroll, maxval=maxroll, dtype=tf.int32) shift_down, shift_right = shift[0],shift[1] img_rolled = tf.roll(tf.roll(img, shift_right, axis=1), shift_down, axis=0) return shift_down, shift_right, img_rolled
shift_down, shift_right, img_rolled = random_roll(np.array(original_img), 512) show(img_rolled)
앞서 정의한 deepdream 함수에 타일 기능을 추가합니다:
class TiledGradients(tf.Module): def __init__(self, model): self.model = model @tf.function( input_signature=( tf.TensorSpec(shape=[None,None,3], dtype=tf.float32), tf.TensorSpec(shape=[], dtype=tf.int32),) ) def __call__(self, img, tile_size=512): shift_down, shift_right, img_rolled = random_roll(img, tile_size) # 그래디언트를 0으로 초기화합니다. gradients = tf.zeros_like(img_rolled) # 타일이 하나만 있지 않은 이상 마지막 타일은 건너뜁니다. xs = tf.range(0, img_rolled.shape[0], tile_size)[:-1] if not tf.cast(len(xs), bool): xs = tf.constant([0]) ys = tf.range(0, img_rolled.shape[1], tile_size)[:-1] if not tf.cast(len(ys), bool): ys = tf.constant([0]) for x in xs: for y in ys: # 해당 타일의 그래디언트를 계산합니다. with tf.GradientTape() as tape: # `img_rolled`에 대한 그래디언트를 계산합니다. # ‘GradientTape`은 기본적으로 오직 `tf.Variable`만 주시합니다. tape.watch(img_rolled) # 이미지에서 타일 하나를 추출합니다. img_tile = img_rolled[x:x+tile_size, y:y+tile_size] loss = calc_loss(img_tile, self.model) # 해당 타일에 대한 이미지 그래디언트를 업데이트합니다. gradients = gradients + tape.gradient(loss, img_rolled) # 이미지와 그래디언트에 적용한 랜덤 이동을 취소합니다. gradients = tf.roll(tf.roll(gradients, -shift_right, axis=1), -shift_down, axis=0) # 그래디언트를 정규화합니다. gradients /= tf.math.reduce_std(gradients) + 1e-8 return gradients
get_tiled_gradients = TiledGradients(dream_model)
이 모든 것을 종합하면 확장 가능한 (scalabe) 옥타브 기반의 딥드림 구현이 완성됩니다:
def run_deep_dream_with_octaves(img, steps_per_octave=100, step_size=0.01, octaves=range(-2,3), octave_scale=1.3): base_shape = tf.shape(img) img = tf.keras.preprocessing.image.img_to_array(img) img = tf.keras.applications.inception_v3.preprocess_input(img) initial_shape = img.shape[:-1] img = tf.image.resize(img, initial_shape) for octave in octaves: # 옥타브에 따라 이미지의 크기를 조정합니다. new_size = tf.cast(tf.convert_to_tensor(base_shape[:-1]), tf.float32)*(octave_scale**octave) img = tf.image.resize(img, tf.cast(new_size, tf.int32)) for step in range(steps_per_octave): gradients = get_tiled_gradients(img) img = img + gradients*step_size img = tf.clip_by_value(img, -1, 1) if step % 10 == 0: display.clear_output(wait=True) show(deprocess(img)) print (“Octave {}, Step {}”.format(octave, step)) result = deprocess(img) return result
img = run_deep_dream_with_octaves(img=original_img, step_size=0.01) display.clear_output(wait=True) img = tf.image.resize(img, base_shape) img = tf.image.convert_image_dtype(img/255.0, dtype=tf.uint8) show(img)
지금까지 본 이미지보다 더 흥미로운 결과가 생성되었습니다! 이제는 옥타브의 수, 스케일, 그리고 활성화 층을 달리해가며 어떤 딥드림 이미지를 만들 수 있는지 실험해볼 차례입니다.
이 튜토리얼에서 소개된 기법 외에 신경망의 활성화를 해석하고 시각화할 수 있는 더 많은 방법에 대해 알아보고 싶다면 텐서플로 루시드를 참고합니다.
키워드에 대한 정보 딥 드림 제너레이터
다음은 Bing에서 딥 드림 제너레이터 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.
이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!
사람들이 주제에 대해 자주 검색하는 키워드 인공지능활용5 딥드림 제너레이터
- 동영상
- 공유
- 카메라폰
- 동영상폰
- 무료
- 올리기
인공지능활용5 #딥드림 #제너레이터
YouTube에서 딥 드림 제너레이터 주제의 다른 동영상 보기
주제에 대한 기사를 시청해 주셔서 감사합니다 인공지능활용5 딥드림 제너레이터 | 딥 드림 제너레이터, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.