Introduction to Runway: Machine Learning for Creators (Part 2)

[철도 휘파람] 다른 비디오 자습서에 오신 것을 환영합니다 Runway 작업 및 기계 학습 모델 실행에 대한 정보 활주로 자체에서 이 비디오 자습서를보기 전에 전에 활주로를 사용한 적이 없다면 돌아가서 내 소개를보고 싶을 수도 있습니다

활주로에 다운로드하고 설치하는 방법 그러나 솔직히 말해서, 당신은 아마 그것을 알아낼 수 있습니다 runwaymlcom으로 이동하여 베타 다운로드를 클릭하십시오 활주로 소프트웨어를 다운로드하여 열어야합니다 그런 다음 모델 찾아보기로 이동합니다

모션 아래로 가서 PoseNet을 클릭하겠습니다 그리고 당신은 바로 여기에 자신을 찾을 수 있습니다 이것이 바로 내가있는 곳입니다 Runway를 설치했습니다 다운로드했습니다

그리고 PoseNet의 Runway 소프트웨어 페이지에 있습니다 기계 학습 모델 자, PoseNet은 무엇입니까? PoseNet은 기계 학습 모델입니다 한 명 이상의 사람에 대한 실시간 골격 추적을 수행합니다 그리고 무엇을 추측합니까? 나는 사람이고, 활주로가 여기에 달려 있습니다 PoseNet과 함께

그래서 나는 그것을 실행할 것입니다 먼저 작업 공간에 추가를 클릭하십시오 그래서 이미 가지고있는 작업 공간이 있습니다 코딩 기차 라이브라는 이전 비디오에서 만든 흐름 입력 소스를 선택하고 싶습니다 나는 그것이 나의 웹캠이되기를 원한다

그렇습니다, 활주로가 바로 나아갑니다 그런 다음 출력 소스를 선택하고 싶습니다 내가 원하기 때문에 처리하고 싶다 이 기계 학습 모델을 실행 한 결과를 얻기 위해 PoseNet 자체 처리 하지만 지금은 미리보기를 클릭하겠습니다 미리보기를 클릭합니다

아, 그리고 나는 달려야한다 하지만 그거 알아? 이것은 이전 비디오에서 보여준 것과 다릅니다 로컬로 실행 옵션이 있습니다 실제로이 모델은 로컬에서만 실행할 수 있습니다 클라우드에서 이것을 실행하는 것은 어리석은 일입니다

이 모든 시간을 보내야했기 때문에 네트워크를 통한 데이터 그리고 실행하기가 매우 쉽습니다 이것은 매우 작고 빠른 모델입니다 대부분의 최신 컴퓨터에서 실행할 수 있습니다 로컬로 실행을 클릭하겠습니다

따라서 GPU 크레딧이 필요하지 않습니다 물론 무료로 사용할 수 있습니다 그리고 우리는 그곳에가는 것을 볼 수 있습니다 지금 실행 중입니다 다양한 요점을 추측합니다

내 골격의 출력에 내 몸에 있습니다 볼 수있는 이하 그래서 일에 대한 좋은 점 중 하나 활주로와 그 모델은 많이 모델마다 다른 매개 변수와 값이 있습니다 조정하고 변경하여 실행할 수있는 것들 다른 방법으로 그리고 이것들은 일종의 하이퍼 파라미터로 알려져 있습니다 기계 학습 모델에 그래서 그들 중 일부는 실제로 모델 실행을 중단 한 다음 나는 그것을 가지고 시작할 수 있습니다

예를 들어이 아키텍처는 실제로 모델을 더 작게 만들 수 있습니다 정확도는 떨어질 수 있지만 더 빨리 실행됩니다 그러나 예를 들어, 나는 단지 가고 있습니다 대신 075로 변경하십시오 다시 실행하겠습니다

그러나 이러한 매개 변수 중 일부는 실제로 실시간으로 조정됩니다 예를 들어 너비와 높이를 변경할 수 있습니다 실제로 변화하는 이미지의 웹캠 자체의 이미지 해상도 원하는 경우 그레이 스케일을 더 만들 수 있습니다 실제로 여러 가지 작업을 수행하여 실제로 조정할 수 있습니다 들어가기 전에 이미지

그러나 이것은 중요한 부분이 아닙니다 이 비디오에서하고 싶은 일을 이 비디오에서하고 싶은 것은 여기서 Runway에서 모델을 실행하는 순간이 있습니다 나는 그것을 가지고 놀 수 있고, 조정하고, 정확하게 얻습니다 내가 원하는 방식으로 작동합니다 다음 단계로 넘어 가고 싶습니다 결과를 볼 수 있도록 여기에서 실행하도록 내 자신의 소프트웨어에서 그렇게하겠습니다

이것을 시도하는 데 사용할 소프트웨어 프로세싱이라고합니다 이 크기는 출력의 활주로에서 640×362, 처리 코드에서 수행 할 작업 캔버스 크기를 640 x 362로 설정합니다 무효 그리기 배경 0 이제 처리 스케치가 있습니다

내가 여기서 뛰고 있습니다 결과, 모델의 결과를 어떻게 볼 수 있습니까 내 프로세싱 스케치에서? 다양한 네트워크 프로토콜이 있습니다 활주로가 지원합니다 그리고 나는 그들에 대해 여기에서 찾을 수 있습니다 이 네트워크 탭을 클릭하여 그리고 처리 작업에 사용하고 싶은 것 OSC입니다 여러 가지 이유가 있습니다 한 프로토콜을 다른 프로토콜보다 선택하십시오

그것은 실제로 당신이하고있는 것에 달려 있습니다 하나의 이미지를 얻고 자하는 경우 HTTP 요청이 가장 적합합니다 그리고 다른 비디오에서 할게요 Runway에서 스타일로 다시 작업하는 방법을 보여 드리겠습니다 하지만 지금은 클릭합니다 OSC에서 처리와 잘 작동합니다 그리고 여기에 많은 정보가 있습니다

이 말은 서버 주소입니다 이것이 내가 활주로에서 필요한 가장 중요한 것입니다 내가 말하고자하는 것은 Processing이 유일한 IP라는 것입니다 로컬 IP 인 주소 이 컴퓨터의 주소와 포트 번호 OSC 메시지를 얻을 수 있습니다 여기를 클릭하겠습니다 그리고 ip와 같은 문자열을 만들 것입니다

나는 아마 갈거야 확신 별도의 변수에 포트 번호를 원합니다 그리고 이와 같은 포트 번호를 만들 것입니다 이제 여기 앉아서 모든 코드를 작성할 수 있습니다 이것을 위해, 나는 보통 코딩 기차 비디오에서 할 수 있습니다 그러나 이것은 상당히 다른 상황입니다 정말 예제를보고 싶어요 실행하고이를 수행하는 방법을 보여줍니다

그리고 Runway 작업에 대한 좋은 점 중 하나 미리 만들어진 예가 많이 있습니까? 다른 플랫폼과 소프트웨어를 사용하는 경우 그 중 하나가 처리 중입니다 그래서 당신이 실제로 어떻게하는지 보여 드리겠습니다 현실 세계에서이 작업을 수행하는 방법 지금하는 방법입니다 Runway ML GitHub에 가면 실제로 한 단계 뒤로 돌아 가야합니다 Runway ML 아래로 이동하십시오 Runway 소프트웨어에 대한 GitHub 페이지는 다음과 같습니다 그리고 많은 정보가 있습니다

높은 수준의 물건과 같은 것이 있습니다 머신 러닝 모델을 이식하는 방법 활주로 자체 자신의 모델을 훈련했거나 Runway에서 지원하지 않는 모델을 찾으십시오 당신이 그것을 추가 할 수있는 방법 그러나 그것은 우리가 여기서 실제로하고있는 것이 아닙니다

내가 찾고 싶은 것은 여기 Processing, Runway 그리고 가공 여기를 클릭하면이 저장소에 프로세싱과 함께 Runway를 사용하는 많은 예제 attnGAN에 StreetView가있는 것을 볼 수 있습니다 얼굴 랜드 마크, im2txt 및 voila, PoseNet 이것은 내가 일하고있는 것입니다

이 예를 살펴 보겠습니다 나는 이것이 오픈 소스 프로젝트라고 말해야한다 프로세싱은 오픈 소스 프로젝트입니다 내가 말했던 것에 관여 다른 많은 비디오에서 다른 모델을 찾으면 활주로에서 당신이 일을하고 기여하고 싶어 여기에 처리 예제가 있으므로 권장합니다 Runway의 창립자이자 제작자 중 한 명인 Chris는 그리고 나는 가공에 대해 이야기하고있다 활주로 도서관

그리고 최근에 두 개의 비디오 자습서를 만들었습니다 Processing Java 라이브러리를 만드는 방법에 대해 설명합니다 앞으로 처리 될 프로젝트를 보게됩니다 활주로 도서관 그러니 그 일에 참여하고 싶다면 의견을 적어 알려주세요 그리고 아마도이를 위해 GitHub 저장소를 만들 것입니다

좋아, PoseNet 아래로 가야겠다 그리고 posenetpde 아래에서 여기를 클릭하겠습니다 붙여 넣기 만하면됩니다 하지만 한 조각 씩 갈 것입니다

그리고 이미 활주로 호스트와 활주로 포트를 볼 수 있습니다 그래서 코드에서 실수를했습니다 그래서 저는-01을 놓쳤습니다 채팅에 대해 이미 이야기하고 있습니다

그리고 여기에 여분의 1이 있습니다 그리고 이것은 정수 여야합니다 그리고 이것은 실제로 호스트입니다 사실 같은 변수를 사용하겠습니다 이름은 runwayHost 및 runwayPort입니다 좋아, 지금 당장 얻은 것 같아

이제 예제가 작동하려면 처리 OSC가 있는지 확인해야합니다 라이브러리가 설치되었습니다 여기 와서 복사하면 이 수입 명세서를 붙여 넣습니다 꼭 필요한 OSC 객체를 붙여 넣을 수 있습니다 그리고 우리는 내가 OscP5 클래스가 존재하지 않는 오류가 있습니다

프로세싱 OSC를 설치하지 않았기 때문입니다 도서관 사용하기 때문에 이미 설치했을 수 있습니다 다른 프로젝트로 그러나 나는 여기에 갈 수 있었다 Sketch, Import Library, 라이브러리, OSC를 추가하여 검색하십시오

이것은 내가 찾고있는 라이브러리입니다 oscP5 설치를 클릭하겠습니다 이제 오류 메시지가 사라지는 것을 볼 수 있습니다 다음으로하고 싶은 것은 객체를 만드는 것입니다 OSC 메시지를 수신합니다 그리고 나는 이것을 새로운 OscP5 객체로 만들 수 있다고 생각합니다

이 특정 스케치에 대한 참조를 제공해야합니다 스케치에서 이벤트를 트리거해야하기 때문에 사용 가능한 데이터가있을 때 그런 다음 포트 번호를 지정하십시오 이것을 runwayPort라고합니다 활주로 예제를 보면 실제로 OscProperties라는이 개체를 사용하고 있습니다 좀 더 정교합니다

원격 주소, 수신 포트, 데이터 그램 크기와 다른 것들 아마도 이것을 내 예제에 붙여 넣을 것입니다 그러나 그것이 더 많은 종류의 것들과 함께 작동하는지 궁금합니다 방금 말한 단순화 된 기본 OscP5 객체 이것과 특정 포트 그러나 나는 이것을 필요로한다

방송 위치가 필요합니다 왜냐하면 런웨이에게 메시지를 보내야합니다 연결되어 있거나 연결이 끊어졌습니다 여기에는 두 가지가 있습니다 프로세싱 소프트웨어가 있습니다

그리고 Runway 소프트웨어가 있습니다 둘 다 내 컴퓨터에서 로컬로 실행 중입니다 이제 다른 시나리오에서 클라우드 GPU도 포함될 수 있습니다 활주로는 메시지를주고받습니다 그리고 이것은 내가 가고있는 것입니다 다음 예제에서해야 할 일 StyleGAN이라는 이름으로 Runway가 클라우드 GPU 와도 대화하도록하겠습니다

그러나 여기서 일어나지 않습니다 PoseNet은 실제로 내부에서 실행되고 있습니다 기본적으로 Runway 자체에 로컬로 래핑됩니다 PoseNet은 여기서 Runway에서 로컬로 실행됩니다 처리 중이 connect와 같은 메시지를 보내는 중입니다

나도 정보를 듣고 싶어 그것은 일회성 메시지입니다 그런 다음 Runway는 OSC를 통해 지속적으로 데이터를 보냅니다 PoseNet으로 감지하는 포즈 처리 웹캠 입력에서 모델 그래서 내가 원한다면 아마도 방법을 알아낼 수있을 것입니다 카메라 입력을 처리로 가져 오려면 이미지를 활주로로 보내고 활주로 결과를 다시 보냅니다 하지만 런웨이는 카메라에 직접 연결할 수 있습니다 아주 간단하기 때문에 그렇게 할 수도 있습니다

그래서 여기에도 같은 것을 넣어야합니다 웹캠처럼 여기에 약간의 메모를하면 웹캠이 런웨이와 대화 중입니다 나는 또한 처리와 이야기 할 수 있습니다 처리 결과도 표시하려면 이것이이 특정 예에서 진행되고있는 것입니다 이 브로드 캐스트 위치를 만들고 싶습니다 네트 주소 개체입니다 여기에 넣어야합니다

그리고 내가하고 싶은 첫 번째 일은 연결 메시지를 보내면됩니다 복사해서 여기에 붙여넣고 연결이라고하겠습니다 처리를 시작할 때 내가하고있는 일은 connect 함수를 호출합니까? OSC 메시지를 작성합니다 모든 단일 OSC 메시지는 두 부분으로 구성됩니다 이 두 부분은 주소이며 보통 경로처럼 일종의 문자열로 표시됩니다

이것이 서버 / 연결임을 알 수 있습니다 그게 주소 야 아니면 거의 메시지처럼 생각할 수도 있습니다 내가 생각하는 방식으로 그런 다음 데이터 이 경우에는 실제로 주소 자체가 메시지이므로 데이터가 없습니다 이것은 매우 단순화 된 것입니다 이 연결 메시지가있는 곳입니다

연결 중입니다 메시지 이름, 주소, 거기에 있어야 할 유일한 것입니다 데이터가 없습니다 그러나 Runway가 데이터를 다시 보내면 데이터 또는 요점과 같은 메시지 이름을 갖습니다 또는 포즈, 그런 것

그리고 그것은 많은 양의 데이터와 함께 패키지 될 것입니다 모든 xy의 모든 위치와 같습니다 자, 이것을 실행하고 무슨 일이 일어나는지 봅시다 예, 꽤 좋습니다 오류가 없습니다

연결되었으므로 메시지를 듣고 싶습니다 그리고 그 방법은 OSC 이벤트라는 이벤트를 사용하는 것입니다 마우스 누르는 것과 비슷합니다 또는 키 누르기 또는 직렬 이벤트 또는 캡처 이벤트 이것은 매우 특별한 이름을 가진 Processing의 함수입니다 OSC 이벤트라고합니다

그리고 oscP5 라이브러리는 그 함수를 호출하는 것을 알고 있습니다 데이터가 들어올 때 붙여 넣기 만하면됩니다 그리고 여기에 넣겠습니다 그리고 제가하려고하는 것 – 이것을 보도록합시다 그것을 통과 한 OSC 이벤트가 있습니다 OSC 메시지 이 메시지를 메시지로 변경하겠습니다 메시지에 해당 데이터가 있다면 주소와 같습니다

기억? 주소에는 데이터가 있으며, 이것이 우리가 찾고있는 주소입니다 그렇지 않은 경우 여기서 나가십시오 그래서 들어오는 다른 메시지를 무시하고 싶습니다 그런 다음 내가하고 싶은 일은 데이터 자체를 얻는 것입니다 따라서 메시지의 데이터는 실제로 문자열로 제공됩니다

그러나 문자열은 JSON으로 형식이 지정됩니다 JavaScript 객체 표기법입니다 JSON이 무엇인지 모른다면 JSON이 무엇인지 설명하는 다른 비디오로 JSON은 JavaScript에서 정말 잘 작동합니다 그것으로 작업하는 것은 조금 어색합니다 처리가 Java이므로 처리 중입니다

기본적으로 JavaScript를 사용하지 않습니다 그러나 우리는 그것을 작동시킬 것입니다 메시지의 첫 번째 자체는 JSON 데이터의 큰 문자열이며 JSON입니다 Processing의 parseJSONObject로 파싱 할 수있는 객체 기능 그런 다음 콘솔에서 볼 수 있습니다

실제로 데이터를 가져 오는지 봅시다 아무것도 얻지 못했습니다 왜 그런지 궁금합니다 그리고 실제로 이유를 알고 있습니다 우선, 여기에 실마리가 있습니다

데이터 그램 소켓을 만들 수 없습니다 포트 5100은 이미 사용 중이기 때문에 그리고 나는 여기에 이상한 일이 있다는 것을 잊었다 OSC를 사용하여 둘 사이에서 통신하는 경우 별도의 컴퓨터, 같은 포트 번호를 사용할 수 있습니다 각 개별 컴퓨터에서 하나의 포트 번호 하지만 여기서 활주로에 데이터를 보낼 수 있어야합니다 특정 포트에서 처리로 데이터를 수신 같은 포트가 될 수없는 다른 포트에서 그렇지 않으면 충돌이 발생합니다 제가 방송하는 포트는 57100입니다

이것이 Runway에 나와 있습니다 하지만 메시지를 받고 싶은 실제 포트 57200입니다 그리고 Runway는 자동으로 100을 추가하는 것을 알고 있습니다 무대 뒤에서 그러나 이것은 Runway의 기본 설정입니다

데이터 수신을 위해 다른 포트가 필요합니다 내가 보내는 포트로 코드에서 의미하는 바를 보여 드리겠습니다 이것이 바로 활주로 포트 5757입니다 그것이 내가 방송하고 싶은 포트입니다

그리고 그것은 내 방송 위치의 일부입니다 그것이 내가 방송하는 곳입니다 그러나 메시지를 받고 싶은 곳은 실제로 57200입니다 이제 이것을 실행하면 실제로 메시지가 수신됩니다 하지만 새로운 오류가 있습니다

ArrayIndexOutOfBoundsException입니다 따라서 이것은 런웨이 데이터가 이 포즈를 모두 보내는 것은 실제로 상당히 큽니다 그리고 필요한 것은 더 많은 공간입니다 더 큰 패킷 크기가 필요합니다 그렇기 때문에 Runway 예제에서 이 여분의 OSC 속성이있었습니다 더 큰 데이터 그램 크기를 설정할 수있는 개체입니다

청취 포트는 57200입니다 기본적으로 OscP5를 사용하기 전에 이럴 필요는 없지만 난 복사하여 붙여 넣습니다 이걸 다시 여기에 넣고 이것을 속성으로 변경하겠습니다 저는 이제 모든 조각을 가지고 있다고 생각합니다 내가보아야 할 것은, 우리가 간다, 많은 것들

이것 좀 봐 자, 저는 확신을 가지고 정확하게 처리했습니다 점수– 왼쪽 발목이 보이지 않습니다 왼쪽 발목을 카메라로 볼 수 없기 때문입니다 그래서 그 신뢰 점수가 너무 낮은 이유입니다 위로 스크롤하고 오른쪽 귀를 좋아합시다 매우 높은 신뢰 점수와 x 및 ay를 얻었습니다

내 오른쪽 귀를 위해 이제 저는이 데이터를 실제로 사용할 수있는 시점에 있습니다 런웨이 예제로 돌아가서 여기에 매우 정교한 루프가 있음을 알 수 있습니다 JSON을 파싱하고 모든 다른 핵심 포인트에서 감지하는 모든 것의 모든 다른 위치 지금 훨씬 더 간단한 일을하려고합니다 나는 오른쪽 눈과 왼쪽 눈을 얻을 것입니다

우리가 알아낼 수 있는지 봅시다 우리가 이것에 접근 할 수있는 한 가지 방법은 이 데이터 변수를 전역 변수로 만들 수 있습니다 이 JSON 객체를 사용하겠습니다 저는 이것을 전역 변수로 만들 것입니다 데이터라고하겠습니다

그런 다음 드로우 루프에서 나는 단지 데이터가 널이 아닌 한 Java에 있다는 것을 잊었습니다 그냥 할 수있어 데이터는 Runway로부터 무언가를받을 때까지 null이됩니다 런웨이에서 무언가를 받자 마자 내가해야 할 일은이 JSON을 구문 분석하는 것입니다 조금 더 쉽게하기 위해 내가 한 일 방금 JSON을 가져 와서 인쇄합니다 프로세싱 콘솔에 그것을 JSON 파일에 붙여 넣었습니다

Visual Studio Code에서 볼 수있는 그래서 참조 할 것이 있습니다 그래서 나는 포즈라고 불리는 것을 얻어야한다는 것을 알고 있습니다 가장 먼저 원하는 것은 poses 배열입니다 프로세싱에서 정말 이상한 것 중 하나는 JSON을 사용하면 데이터가 있는지 여부를 지정해야합니다 보는 것은 JSON 객체 또는 JSON 배열입니다

그리고이 포즈 데이터는 표시된대로 배열입니다 이 대괄호로 JSONArray의 포즈가 같다고 말하겠습니다 datagetJSONArray 문자열 포즈 그런 다음 키 포인트 배열을 얻고 싶습니다

아, 둘 이상의 포즈가있을 수 있기 때문에 하지만 포즈가 하나만 있다고 가정하겠습니다 그런 다음 포즈입니다 그럼 요점은 배열이 동일한 posesget 0 이것이 배열의 첫 번째 요소입니다

이제 핵심 포인트라는 새로운 배열을 얻습니다 JSON 배열 요점을 얻습니다 좋은 소식은 런웨이 예제입니다 거기에이 모든 것이 포함되어 있습니다 제가 잘못하면 키 포인트 get element 0이라고 말할 수 없기 때문에 여기에 오류가 있습니다

요소 0은 무엇입니까? JSON 객체입니다 우리는 거기에 갈 이제 핵심 사항이 있습니다 첫 번째 JSON 객체에서 키 포인트라는 JSON 배열입니다 인덱스 0

그렇다면 무엇을 찾고 싶습니까? 이제 핵심 포인트 배열에 있습니다 이것은 요소 0입니다 내가 왼쪽을 알고 있었다면- 아, 이건 쉬워요 코, 왼쪽 눈, 오른쪽 눈을 봅시다 0, 1 및 2, 완벽합니다

그래서 JSONObject nose equals를 얻고 싶습니다 keypointsgetJSONObject 0 그리고 우리는이 중 세 가지를 할 것입니다 왼쪽 눈-나는 이것을 조금하고있다 활주로 예제와 다릅니다

그런 다음 오른쪽 눈 다음에 활주로를 예로 들어 보겠습니다 확실히, 나는 여기서 루프를 사용할 수 있습니다 코, 왼쪽 눈, 오른쪽 눈 그런 다음 입장을 취해야합니다 nosePos는 nos

getJSONObject와 같습니다 코만하면 돼 난 그냥 코를 할거야 여기서 더 간단하게 유지하십시오 외삽하여 알아낼 수 있습니다 왼쪽 눈과 오른쪽 눈을하는 방법- nosegetJSON 객체 위치 그리고 x는 이 코 위치를 호출합니다

코 위치는 x를 얻습니다 이것이 옳다는 것을 확신하십시오 그리고 y는 nosePositionget y와 같습니다 알았어, 내가 뭘 잘못 봤니? getFloat

다시 한번, 저는 Java에 있습니다 유형을 지정해야합니다 내가 모든 것을 올바르게했다면 첫 번째 포즈의 모든 요점을 얻었습니다 코에 대한 모든 데이터가있는 객체를 얻었습니다 그런 다음 해당 물체에서 코 위치를 뺀 다음 x 그리고 그 물체에서 y

휴 이제 2020 년에 타원 x라고 말하겠습니다 그리고 그것을 빨간 코로 만들어 봅시다 25500을 채 웁니다

이것을 실행시켜 봅시다 그리고 우리는 간다 나는 지금 코를 제어하고 있습니다 활주로에서 OSC 메시지 처리로 놀랄 만한

자, 이것으로이 비디오 튜토리얼을 마치겠습니다 확실히, 당신이하고 싶은 일 전체 골격을 참조하십시오 PoseNet을 효과적으로 사용하려면 카메라가 당신으로부터 약 6 피트 정도 떨어져 있기를 원합니다 백업하고 전체 양식을 볼 수 있도록 허용하려고합니다 당신은 또한 이미지를 전달하고 포즈를 취할 수 있습니다

이미지에서 할 수있는 일이 많이 있습니다 그리고 확실히, 나는 추천 할 것입니다 Runway GitHub 리포지토리의 예제를 확인하십시오 이것은 모두 통과하는 멋진 루프가 있습니다 다른 위치의

실제로이 작은 매핑도 그들 사이의 모든 연결이 무엇입니까 실제 골격 자체에 약간의 운동으로 오른쪽 눈과 왼쪽 눈을 갖기 위해 내가 한 일을 확장 할 수 있습니다 그러나 그럼에도 불구하고 Runway 예제 자체를 얻을 수 있습니다 그러나 이것은 어떻게 Runway 자체에서 찾을 수있는 특정 모델 채팅에 참여한 사람이 방금 밀도에 대해 묻고있었습니다 예를 들어 OSC를 통해 활주로에서 통신 할 수있는 자세 처리합니다 하지만 다른 많은 경우에는 웹 소켓이나 HTTP 연결을 사용하고 싶습니다 특히 작업중인 경우 의사 소통 JavaScript로 브라우저에서

다음 비디오에서하려고하는 것은 보고 싶다면 StyleGAN을 실행하여 무지개를 생성하십시오 이미지를 P5에 전달 브라우저 자체에서 렌더링합니다 그리고 대화에서 뉴스 속보, Damien SRSP는 동일한 포트에서 보내기 및 받기를 나타냅니다 기본적으로 OSC 패킷은 수신 및 전송되지 않습니다 보내거나 받아야 할 경우 동일한 포트로 같은 포트에서 어쩌면 내가 실제로 무언가를 할 수 있었을 것입니다 포트 번호와 함께

나도 몰라 나는 사람들이 의견에 그것에 대해 쓸 것이라고 확신합니다 그러나이 코드는 작동합니다 Runway GitHub 리포지토리의 코드가 작동합니다 너무 재밌어요 그걸 써

그것으로 무언가를 만드십시오 나에게 공유하십시오 프로세싱에 대한이 튜토리얼을 즐기 셨기를 바랍니다 활주로 및 로컬에서 실행되는 PoseNet 모델 컴퓨터에서 안녕

[철도 휘파람] [음악 재생]

Introduction to Runway: Machine Learning for Creators (Part 1)

[땡땡] 여보세요 새로운 튜토리얼 시리즈에 오신 것을 환영합니다 소프트웨어에 대한 코딩 트레인 활주로라고 런웨이 란? 런웨이와 땜장이 종류를 다운로드하고 설치하는 방법 주위에? 이것이이 특정 비디오에서 할 것입니다

런웨이는 내가 만든 것이 아닙니다 활주로는 회사, 새로운 회사에 의해 만들어집니다 활주로 자체 그리고 그것은 소프트웨어의 한 조각입니다 사용하고 무료로 다운로드 할 수 있습니다 무료로 사용할 수 있습니다

클라우드 GPU 크레딧이 필요한 측면이 있습니다 나중에 살펴 보겠습니다 그리고 무료 크레딧과 쿠폰 코드를 얻을 수 있습니다 이 비디오의 설명에서 찾을 수 있습니다 하지만 난 정말 당신과 이야기하고 싶어 그게 너무 흥분되어서 앞으로 사용할 계획입니다 미래의 많은 튜토리얼과 코딩 문제, 그리고 교육 내가 할 일

그리고 나는 또한 내가 회사 활주로 자체의 고문입니다 그래서 저는 그 능력에 관여하고 있습니다 괜찮아 런웨이 란? 바로 여기에는 광고 소재에 대한 머신 러닝이 있습니다 인공 지능의 힘을 가져 오십시오 직관적이고 간단한 방법으로 창의적인 프로젝트에 시각적 인 인터페이스

오늘 새로운 제작 방법을 탐색하십시오 이것이 나에게있어 활주로의 핵심입니다 저는 창의적인 코더 인 사람입니다 처리 및 P5JS 작업 중입니다 다른 소프트웨어를 사용하고있을 수 있습니다

그것은 단지 상용 소프트웨어, 코딩 환경입니다 당신은 당신의 자신의 소프트웨어를 작성하고 있습니다 그리고 당신은 최근의 진보를 활용하고 싶습니다 기계 학습에서 이 모델에 대해 읽었습니다 이 모델에 대한이 YouTube 비디오를 보았습니다

당신은 당신의 일에 그것을 사용할 수 있습니까? 글쎄, 활주로 전에 당신이 한 일 중 하나 GitHub 리포지토리로가는 길을 찾으십시오 이 매우 긴 ReadMe를 좋아했습니다 설치 및 구성해야 할 다양한 종속성 그런 다음이 파일을 다운로드하여 설치 한 다음 이 라이브러리를 빌드하십시오 그리고 당신은 정말 오랫동안 거기에 갇힐 수 있습니다 따라서 Runway는 하나의 소프트웨어로 구성됩니다 기본적으로 머신 러닝을 실행하는 인터페이스 당신을위한 모델, 설치 및 구성 다른 일을하지 않아도 Install이라는 버튼을 누릅니다

그리고 그것은 당신에게 그 모델들을 가지고 놀 수있는 인터페이스를 제공합니다 해당 모델을 실험 한 다음 브로드 캐스트 이러한 모델의 결과를 다른 소프트웨어에 적용합니다 그리고 당신은 다양한 방법이 있습니다 HTTP 요청을 통해 방송을 할 수 있습니다 OSC 메시지를 통해 그리고이 모든 것이 말이되지 않을 수도 있습니다 당신에게, 그것은 완전히 괜찮습니다 나는 그들을 통해 찌르고 당신을 보여줄 것입니다 적어도 당신을 보여주기 위해 그들이 어떻게 작동하는지 활주로와 처리 방법 Runway와 P5JS를 페어링하는 방법, 그리고 다른 많은 예제가있는 곳을 보여 드리겠습니다 다른 플랫폼으로 할 수있는 것들과 같은 것들

첫 번째 단계는 여기를 클릭하는 것입니다 런웨이 베타 다운로드에서 자동으로 다운로드를 시작합니다 Mac OS, Windows 또는 Linux 용 실제로 Runway를 이미 다운로드하여 설치했습니다 이 단계를 건너 뛰겠습니다 실제로는 이제 소프트웨어를 실행하십시오 아 이제 런웨이에 오신 것을 환영합니다

시작하려면 로그인하세요 승인 이미 계정이 있다면 당신은 당신의 계정으로 로그인 할 수 있습니다 이미 계정이 있습니다 하지만 저는 새로운 것을 만들려고합니다

과정을 따르십시오 그래서 나는 여기에 갈 것입니다 계정을 만드십시오 이메일 주소를 입력하겠습니다 daniel@thecodingtrain

com에게 아무에게도 말하지 마십시오 그런 다음 사용자 이름과 비밀번호를 만들겠습니다 매우 강력한 비밀번호를 입력 했으므로 다음을 클릭하겠습니다 다니엘 쉬프 먼은 코딩 기차 계정을 만드십시오

아 인증 코드를 제공합니다 daniel@thecodingtraincom으로 계정이 생성되었으며 시작을 클릭 할 수 있습니다 일단 다운로드하고 Runway를 설치하고 가입하면 계정으로 로그인 한 경우 이 화면이 나타납니다 런웨이를 오랫동안 사용했다면 그런 다음 열린 작업 공간을 클릭하여 여기에 올 수 있습니다

작업 공간은 수집 방법이기 때문에 당신이 다른 모델의 무리 특정 프로젝트에 작업 공간으로 사용하고 싶습니다 그러나 우리는 그 어떤 것도하지 않았습니다 제가 가장 먼저 할 일은 모델 찾아보기를 클릭하기 만하면됩니다 그래서 당신이 제안하는 첫 번째 일은 그냥 모델을 클릭하고 무엇을 참조하십시오 Runway 인터페이스 자체에서 게임을 할 수 있습니다 런웨이에서 정말 멋진 것 중 하나가 탐색 할 수있는 소프트웨어 및 인터페이스 모델을 실험하여 작동 방식을 이해하고 그것이 잘하는 것, 잘하지 않는 것, 시작하기 전에 무엇을 하는가 자신의 소프트웨어 나 프로젝트로 가져옵니다

저는이 스페이드 코코 모델을 고를 것입니다 전에 보았다 이것은 매우 합법적입니다 나는 그것을 클릭했을 때 어떤 일이 일어날 지 전혀 모른다 이제 여기에 더 많은 정보가 있습니다 모델에 대해

모델이 무엇을하는지 알 수 있습니까? 스케치와 낙서에서 사실적인 이미지를 생성합니다 모델에 대한 자세한 정보를 찾을 수 있습니다 예를 들어,이 모델을 설명하는 논문입니다 "공간적으로 적응하는 시맨틱 이미지 합성 COCO-Stuff 데이터 세트에 대한 정규화 " 누군가가 물었을 때 이것은 초보자를위한 튜토리얼이라는 것을 기억하십시오 글쎄, 당신이 초보자라는 점에서 초보자를위한 것입니다

여기 와서 놀 수 있습니다 하지만 논문을 찾으려면 아주 깊이 갈 수 있습니다 메모를 읽고 이해 이 모델에 대한 자세한 내용, 모델 작성 방법, 어떤 데이터를 훈련 받았는지 항상 당신이있을 때마다 물어 매우 중요한 질문 기계 학습 모델을 사용합니다 여기에 귀속이있는 것을 볼 수 있습니다 이것이 모델을 훈련시킨 조직입니다 이들은 논문의 저자입니다

크기가 만들어 졌을 때 CPU 및 GPU가 지원되는 경우 갤러리 아래로 갈 수도 있습니다 그리고 우리는 생성 된 일부 이미지 만 볼 수 있습니다 아이디어를 얻을 수 있습니다 이것은 무언가를 테마로 한 모델입니다

이미지 분할이라고합니다 여기에 이미지가 있습니다 이미지 세분화는 무엇을 의미합니까? 이 이미지는 여러 조각으로 나뉘어져 있습니다 다른 세그먼트의 이러한 세그먼트는 색상으로 표시됩니다

보라색 부분, 분홍색 부분이 있습니다 연한 녹색 세그먼트 그리고이 색상들은 모델의 레이블과 연결되어 있습니다 본질적으로, 그것은 일종의 일에 대해 알고 있습니다 그 영역에 그릴 수 있습니다

따라서 이미지 분할을 두 가지 방법으로 수행 할 수 있습니다 내 이미지처럼 기존 이미지를 가져올 수 있습니다 오, 나는 그것을 분류하려고합니다 여기가 내 머리입니다 여기가 내 손입니다

여기가 내 손입니다 또는 정렬별로 이미지를 생성 할 수 있습니다 빈 이미지에 그리기, 여기에 손을 넣어 말하는 여기 머리를 올려 이것이 바로 이미지 분할입니다 적어도 내가 이해하는 방식입니다 내가 지금까지 무엇을 했습니까? Runway를 다운로드했습니다

나는 모델을 찔렀습니다 그리고 방금 하나를 클릭했습니다 이제 그 모델을 사용하고 싶습니다 나는 그것을 가지고 놀고 싶다 나는 그것을보고 싶다

여기 작업 공간에 추가로갑니다 바로 여기에 있습니다 작업 공간에 추가하십시오 이제는 아직 작업 공간이 없습니다 그래서 하나를 만들어야합니다

이 작업 공간을 호출하겠습니다 코딩 기차 라이브 스트림을 말하겠습니다 그래서 저는 그렇게 할 것입니다 Create를 누르겠습니다 이제 작업 공간이 있습니다

보시다시피, 이것은 내 작업 공간입니다 이 작업 공간에 하나의 모델 만 추가했습니다 그리고 지금 당장해야 할 일을 강조하고 있습니다 입력 소스를 선택해야합니다 따라서 모든 기계 학습 모델이 다릅니다

그들 중 일부는 텍스트 입력을 기대합니다 그들 중 일부는 이미지 입력을 기대합니다 그들 중 일부는 입력을 기대할 수 있습니다 스프레드 시트에서 임의의 과학 데이터 그런 다음 모델은 입력을 받아 실행합니다

모델을 통해 출력합니다 그리고 그 출력은 숫자 일 수 있습니다 또는 이미지 일 수도 있습니다 또는 더 많은 텍스트 일 ​​수 있습니다 이제 우리는 사례별로 일종의 공간에 있습니다

그러나 이미지 분할을 올바르게 이해하면 나는 입력과 출력을 확신한다 둘 다 이미지가 될 것입니다 작은 다이어그램을 만들어 봅시다 우리는 이것을 가지고 있습니다 이 모델은 다시 무엇을 불렀습니까? 스페이드 코코 이 머신 러닝 모델이 있습니다

아마도 여기에는 신경망 아키텍처가 있습니다 어쩌면 컨볼 루션 레이어가있을 수도 있습니다 이것은 우리가 그 논문을 읽고 싶을 것입니다 자세한 내용을 알아보십시오 런웨이는 우리가 그것을 즉시 사용할 수있게 해줄 것입니다

그리고 나는 항상 추천합니다 사용 방법에 대해 자세히 알아 보려면 이에 대해 자세히 읽어보십시오 여기 내 가정은 내가 만들고 싶은 소프트웨어에 있습니다 소프트웨어의 그림 조각을 만들고 싶습니다 사용자가 이미지를 분할 할 수 있습니다 아마 당신은 내가 일종의 추첨을 할 것이라고 상상할 수 있습니다 한 가지 색입니다 다른 색의 마커를 사용할 수 있습니다

이 이미지를 무리로 채울 것입니다 다른 색상 그런 다음 모델에이를 공급할 것입니다 그리고 밖으로 이미지가 올 것이다 우리는 입력했습니다

그리고 우리는 출력했습니다 그리고 다시, 이것은 모든 모델마다 다를 것입니다 활주로에서 선택할 수 있습니다 그럼에도 불구하고 많은 규칙이 있습니다 많은 모델들이 이미지를 기대합니다 입력 및 출력 이미지로 그들 중 일부는 텍스트를 입력으로 기대하고 이미지를 출력합니다

또는 입력 및 출력 텍스트로 이미지 등등 그리고 등등 그리고 지금하고 싶은 것은 입력 소스를 선택하는 것입니다 모델의 활주로에서 세그먼트 화 된 이미지를 생성 할 것입니다

그래서 그것은 파일에서 올 수 있습니다 실제로 네트워크 연결에서 올 수 있습니다 앞으로의 비디오에 들어가서 또는 스스로 탐색 할 수 있습니다 난 그냥 세분화를 선택합니다 알아

이것은 가장 위대한 것입니다 방금 일어난 일은 이미지 분할입니다 머신 러닝 모델의 일반적인 기능입니다 활주로에 전체 드로잉 엔진이 내장되어 있으므로 이미지 세분화로 놀 수 있습니다 보시다시피, 이것은 다른 라벨의 색상입니다 많은 교통 수단 인 것 같습니다

어쩌면 내가 원하는 것은 시도하자 사람들을 그려 봅시다 [음악 재생] 비행기와 와인 글라스 비행 오버 헤드와 두 사람 승인 일은 잘되고 있니? 이제 출력을 선택하겠습니다 그리고 나는 단지 미리보기를 원합니다

권리? 미리보기는 지금 내 보내지 않아도됩니다 다른 곳에서는 사용할 필요가 없습니다 난 그냥 Runway 자체에서 놀고 싶습니다 미리보기를하겠습니다 이제 입력을 선택했습니다

세그먼트입니다 활주로 자체의 인터페이스 출력을 선택했습니다 미리보기입니다 이제 모델을 실행할 차례입니다

우리가 간다 원격으로 실행하십시오 따라서 원격 GPU가 활성화되었습니다 가입 만하면 볼 수 있습니다 Runway의 경우 원격 GPU 크레딧 10 달러 한 번만 얼마나 실행하는지 보는 것이 재미있을 것입니다 실제로 사용합니다

한 가지만 말씀 드리겠습니다 추가 크레딧을 받고 싶은데 여기로 갈 수 있습니다 이것은 내 프로필의 일종의 아이콘과 같습니다 클릭 할 수 있습니다 이제 여기로갑니다

더 많은 크레딧 받기로갑니다 그리고 이것은 나를 브라우저 페이지로 데려 갈 것입니다 그리고 더 많은 크레딧을 지불 할 수있었습니다 하지만 여기를 클릭하겠습니다 CODINGTRAIN을 말하여 크레딧을 사용하겠습니다

바로 여기에 따라서 10 달러의 크레딧을 추가로 받으려면 당신은 이것을 할 수 있습니다 그리고 우리는 지금 20 달러의 크레딧이 있어야한다는 것을 알 수 있습니다 여기이 아이콘이 표시되어 있습니다 여기이 아이콘은 작업 공간입니다

그 중 하나의 모델로 하나만 가지고 있습니다 원격 GPU에 연결되어 있습니다 다른 모델을보고 싶다면 이 아이콘으로갑니다 괜찮아 이제 원격 실행을 누르겠습니다

[드럼 롤] 모델을 원격으로 실행 우와! [TA-DA] 어머 아 너무 예뻐요 무아 믿을 수 없어 이것이 바로 스페이드 코코 머신 러닝입니다 모델 생성

여기서 결과를 보는 것은 정말 흥미 롭습니다 그래서 당신은 생각할 수, 아무것도 몰라 이 모델에 대해, 작동 방식과 기대하는 것, 당신은 그것으로 꽤 이상한 결과를 얻을 수 있습니다 아마도 내가 좀 더 사려 깊다면 아마도 전체 공간을 가득 채우고 아마 너무 많이 비워두고 또한 두 사람과 함께 거대한 와인 잔을 포함 시켰습니다 좀 소름 끼치 네요 비록 이런 종류의 저와 비슷하다고 생각합니다 이상한 방식으로 그리고 우리는 여기서 볼 수 있습니다

이것 좀봐 $ 005 제가 언급해야 할 것은 이유입니다 왜 오랜 시간이 걸 렸어요 서버와 실제로 시작할 모든 것 모델을 실행합니다 하지만 이제 실시간으로 실행되므로 훨씬 빨리 일어날 수 있습니다 작성해 봅시다

그렇다면 그것을 채우는 것이 좋은 것입니까? 바닥재를 사용해 봅시다 나무 바닥으로 채우도록하겠습니다 오 우와 그런 다음 과일을 넣으십시오 아 이것은 지금 훨씬 나아 보입니다 옆에 오렌지를 넣자

오렌지 몇 개를 넣고 작은 과일 그릇을 만들어 봅시다 와우 이건 미친 짓이야 와우 나는 멈춰야했다 꽤 놀랍습니다

다시 한 번, 여기 잠시 후 방법에 대해 조금 더 생각하는 이 모델은 실제로 작동합니다 그리고 잘 알려진 데이터 세트를 살펴보면 코코 이미지 데이터 세트가 아마 나에게 더 많은 정보를 줄거야 그것이 잘 될 일에 대해 생각합니다 그러나 당신은 그것이 어떻게 볼 수 있는지 볼 수 있습니다 여기 나무 배경에 과일의 작은 더미 거의 천처럼 보입니다

마치 테이블 위에 앉아있는 것처럼 말입니다 매우 현실적입니다 그리고 그렇습니다 찰리 잉글랜드는 지적합니다 이것은 GPU 크레딧을 계속 사용하고 있습니다

그래도 여전히 볼 수 있습니다 라이브 페인팅을 많이해도 방금 $ 010을 사용했습니다 무료 $ 10로 많은 것을 할 수 있습니다 그냥 놀면서

현명하게 입력하면, 여기에서 분할을 선택했습니다 그러나 파일을 사용할 수도 있습니다 컴퓨터에서 파일을 열려면 나는 그렇게 할 수 있었다 그런 다음 내보내기로 변경하면 출력 나는 또한 실제로 그것을 내보낼 수 있습니다 다양한 형식으로 하지만 물론 여기서도 바로 미리보기에서이 다운로드 저장 버튼을 클릭 할 수 있습니다

이제이 특정 이미지를 영원히 더 많이 저장하고 있습니다 파일로 자, 여기서 실제로 중요한 것은 여기서 더 중요한 것은 네트워크 아래입니다 네트워크에서 여기를 클릭하고 싶었다면 이것은 이제이 특정 기계와 통신 할 수 있다는 것을 의미합니다 내 소프트웨어에서 학습 모델 내가 다운로드했거나 구매 한 소프트웨어인지 여부 다른 사람이 말한 것을 이러한 특정 프로토콜 중 하나 또는 내가 쓰고있는 자체 소프트웨어 거의 모든 프로그래밍 언어 또는 환경 프레임 워크, 모듈 또는 라이브러리가있는 경우 또는 이러한 유형의 프로토콜을 지원하십시오 여기 JavaScript의 좋은 점 중 하나는 JavaScript를 클릭하면 실제로 여기에 약간의 코드가 있음을 알 수 있습니다

실제로 자바 스크립트에 복사 / 붙여 넣기 만하면됩니다 직접 다시 올게요 OSC는 또한 매우 인기있는 메시징 네트워크 프로토콜입니다 창조적 인 코더를 위해 Open Sound Control의 약자이며 응용 프로그램간에 데이터를 보내야합니다

별도의 동영상으로 다시 돌아오겠습니다 이 중 일부가 어떻게 작동하는지 보여줍니다 또한 귀하의 Runway 소프트웨어에 대해서도 언급해야합니다 자체는 소프트웨어와 매우 유사한 방식으로 작동합니다 익숙한 Wekinator라고합니다 Wekinator는 Rebecca Fiebrink가 만든 소프트웨어입니다 몇 년 전에 OSC 메시징을 통해 데이터가 전송되는 신경망 그리고 사실 후에 그 결과를 얻습니다 비록 여기서 중요한 차이점은 런웨이라고 생각합니다

정말 큰 보물을 지원하도록 설정되어 있습니다 사전 훈련 된 모델 Wekinator는 신경망 교육에 더 많은 반면 작은 비트의 데이터로 즉석에서 런웨이가 계획하고있는 것 중 하나는 아마 9 월에 나올 것입니다 자신의 모델을 훈련시키는 기능도 있습니다 이번 런웨이 소개를 시청 해 주셔서 감사합니다 다운로드 및 설치의 기본 사항 소프트웨어, 높은 수준의 관점에서 볼 때 인터페이스 작업의 특징, 무료 클라우드를 얻는 방법 크레딧 그리고 내가 당신에게 제안하는 것은 이 비디오가 다운로드 된 후 소프트웨어를 실행 한 후 이 모델 찾아보기 페이지로 이동하십시오

보시다시피, 다양한 모델이 있습니다 모션, 생성, 커뮤니티, 텍스트, 인식 여기를 클릭하십시오 이 인식을 시도해 봅시다 얼굴 인식 조밀 한 캡

여기 PoseNet은 어디에 있습니까? 동작이 어려울 수 있습니까? DensePose PoseNet 여기 PoseNet이라는 모델이 있습니다 한 명 이상의 사람에 대한 실시간 골격 추적을 수행합니다 이 모델을 다른 라이브러리에서 다루었습니다 TensorFlow JS가있는 ML5 JS 라이브러리와 같습니다

다음 비디오에서하려고하는 것은 내 웹캠으로 Runway에서이 모델 PoseNet을 사용하고 있습니까? 이 컴퓨터에서 로컬로 실행 클라우드 크레딧을 요구하지 않고 이 모델의 결과를 [? 처리?] 자체 전체 워크 플로우를 보여 드리겠습니다 그러나 찌르십시오 주위를 클릭하십시오 원하는 모델을 찾으십시오

의견에 대해 알려주십시오 당신이 만든 이미지를 공유하십시오 그리고 난 당신이 활주로로 무엇을보고 기대합니다 큰 시청 해 주셔서 감사합니다

[음악 재생]