분류 전체보기 92

AirSim Unity에서 Data 저장하기

1. 개요 AirSim을 구현한 유니티에서 버튼을 클릭하면 자신이 원하는 데이터(Depth View, Segmemtation View, Scene View, Streo Views 등)를 로컬 PC에 저장할 수 있도록 간단한 스크립트를 만들어 본다. 2. Car 게임오브젝트의 컴포먼트로 다음의 스크립트를 부착한다. using UnityEngine; using System; using System.IO; using AirSimUnity.CarStructs; namespace AirSimUnity { public class MyCapture : MonoBehaviour { int count = 0; string path; public RenderTexture renderTextureDepth;//inspect..

카테고리 없음 2021.09.23

AirSim Unity Scene 만들기

1. 개요 AirSim을 위한 Unity 프로젝트를 scratch로부터 만들어 보기로 했다, 전체 AirSim의 구성을 익히기 위함이지 별 의미는 없다. 만일 자신의 환경에서 AirSim을 실행하고 싶다면 기존 예시 프로젝트를 그냥 수정해서 쓰는 편이 훨씬 좋다. 그냥 배워가면서 이해하면서 만든 프로젝트이다. 2. 프로젝트 생성 3. Scene 만들기 어셋을 다운 받고 편의상 Hierachy에 Environments(Empty GameObject at (0,0,0))를 만들어 그 하위에 모두 종속시켰다. Environments의 스케일을 (2,2,2)로 변경하고 도시의 중심이 (0,0,0) 의 위치에 배치한다. 작업 중간에 자주 저장하도록 한다. 3. Car를 배치한다. Empty GameObject C..

카테고리 없음 2021.09.22

Unity Simulation (AirSim) 사용하기

1. 개요 AirSim ( Aerial Informatics & Robotics Simulation)은 마이크로소프트에서 개발한 오픈 소스로 무인 항공기(드론), 무인자동차 연구를 위한 크로스 플랫폼 시뮬레이터로 ROS(Robot Operating System)를 지원한다. 언리얼 엔진 4를 기반으로 제작되었으나 최근에는 2018. 11월 부터 유니티에서 시험적 사용이 가능하다. AirSim은 약 12km의 도로 20개의 도시를 제공하며 API는 C++ , C# , Python 및 Java를 포함한 다양한 프로그래밍 언어를 사용할 수 있다. 2. 개발 환경설정하기 (윈도우즈) (1) 다운로드 하기 유니티는 이미 설치 되어 있다고 가정을 한다. 아래 싸이트에서 다운로드를 진행한다. https://githu..

카테고리 없음 2021.09.17

Tello Camera Calibration

1. 개요 Tello를 이용하여 영상처리를 하는 경우 카메라의 파라미터를 알아야 하는 경우가 생긴다. 이때 체스보드 이미지를 이용하여 카메라의 파라미터를 계산하여 본다. OpenCV에서 제공하는 함수를 이용하자. 필요한 카메라 파라미터는 다음과 같다. 3. 체스보드 이미지를 출력하고 단단한 표면위에 붙여준다. 4. 컴에서 Tello 와이파이에 연결하고 텔로에서 보내오는 체스보드 영상 이미지를 처리하여 파라미터를 알아낸다. ## Tello Camera Calibration import socket import cv2 import numpy as np import matplotlib.pyplot as plt if __name__ == "__main__": tello_ip = '192.168.10.1' tel..

카테고리 없음 2021.09.01

Optical Flow with Python

1. 개요 opencv에서 제공하는 함수를 이용하여 optical flow를 계산한다. 기본 뼈대 프로그램으로 활용하기에 편리하다. 2. 코드 import cv2, numpy as np def drawOpticalFlow(img, flow,indices,hf,wf): for x, y in indices: #optocal flow 이동거리 dx, dy = flow[y, x].astype(np.int) #이동거리 선그리기 cv2.line(img, (x, y), (x + dx, y + dy), (0, 255, 0), 1, cv2.LINE_AA) cv2.line(img, (wf-100,hf), (wf+100,hf), (255, 0, 0), 1, cv2.LINE_AA) cv2.line(img, (wf,hf-100..

카테고리 없음 2021.08.31

윈도우즈10에서 CUDA 설치하기 (python)

1. 개요 파이썬에서 tensorflow GPU를 이용하기 위해 CUDA를 설치하고 테스트하는 방법을 정리하여 본다. 2. 그래픽 카드확인 먼저 그래픽 카드를 확인하고 CUDA를 사용할 수 있는지를 확인한다. 내 그래픽카드가 가지고 있는 Compute Capability를 확인한다. 6.1이다. 4. 사용가능한 CUDA 버전을 알아본다. 11.0 버전을 선택하였다. 5. nvidia 드라이버 및 CUDA Tool kit 설치 (회원가입 필요) 11.0으로 설치하였다. 텐서플로우가 최신버전을 지원하지 않는다. https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64 cuDNN Download (회원가입 필요) https..

카테고리 없음 2021.08.21

php에서 사용자 계정 만들기

1. 개요 웹호스팅 서비스의 경우 웹페이지에서 회원가입을 하면 서버에 유저 아이디를 추가하고 DB 계정을 생성해 주며 웹페이지 운영이 가능하도록 환경을 구축해 주어야 한다. 이를 php 프로그램을 통하여 자동으로 처리해본다. Virtula Host는 사용하지 않으며 심벌 링크 방식으로 사용하고자 한다. 2. php 프로그램 아래의 php 프로그램을 프런트에서 호출하고 필요한 데이터를 보내 온다고 가정한다. phpseclib는 다음 싸이트에서 다운받아서 압축을 풀고 서버의 적절한 위치에 올리고 사용한다. http://phpseclib.sourceforge.net/

카테고리 없음 2021.08.18

유니티에서 ZeroMQ 사용하기

1. 개요 유니티와 외부 프로그램 사이에 데이터를 교환하기 위하여 ZeroMQ는 매우 유용하다. 2. 유니티에 ZeroMQ 설치하기 윈도우즈의 Visual Studio 프로젝트에 ZeroMQ 라이브러리는 Nuget을 이용하여 설치할 수 있다. 그러나 유니티에서는 이를 지원하지 않는 관계로 다른 프로젝트에 설치된 dll 파일을 유니티 프로젝트의 플러그 인 폴더에 복사하는 방식으로 설치를 할 수 있다. 그러므로 아래 샘플 프로젝트를 다운받고 필요한 파일을 내 프로젝트에 복사한다. 이 곳( https://www.nuget.org/packages/NetMQ/ ) 에서 받은 파일 압축을 해제하고, 2개의 파일 NetMQ.dll AsyncIo.dll 위 파일을 자신의 프로젝트 Assets/Plugins에 복사한다...

카테고리 없음 2021.08.11

MediaPipe 사용해보기

1. 개요 이 MeidaPipe를 이용하면 AI 를 쉽게 개발에 적용하여 개발할 수 있다. MeidaPipe는 Google 에서 제공하는 머신러닝을 실행 할 수 있는 솔루션이다. https://google.github.io/mediapipe/ 2. 파이썬에서 Face Mesh를 사용하여 보자. 파이썬 프로젝트를 만들고 MeidaPipe 라이브러리를 설치한다. 홈페이지에는 많은 샘플 코드가 있으며 거의 수정없이 바로 수행된다. 라이브러리도 쉽게 설치가 된다. > pip install mediapipe 3. 코드의 실행 MeidaPipe 의 Face Mesh 샘플코드를 실행하여 보자. import cv2 import mediapipe as mp mp_drawing = mp.solutions.drawing_u..

카테고리 없음 2021.08.11

Unity에서 Blendsahpe 제어하기

1. 개요 유니티에서 립싱크나 또는 다양한 얼굴 표정을 구현하기 위하여 belend sahpes를 포함하고 있는 3D모델을 사용하는 것이 편하다. 다른 옵션으로는 3D모델에 Amature를 부착하여 Skin Animation을 할 수도 있다. 이번 포스팅에서는 belend sahpes를 C# 스크립트로 제어하는 예제이다. 2. 3D 모델 준비 유니티에서 사용할 3D 모델을 준비하자. 일반적으로 fbx binary format을 많이 사용한다. 3D 모델에 여러개의 belend sahpes를 만들어 준다. 인터넷에서 구한 링컨의 3D 모델은 50개의 belend sahpes를 포함하고 있다. 3. 스크립트 만들기 아래의 스크립트는 모든 belend sahpes를 순차적으로 돌아가면서 값을 변경하면서 테스트..

카테고리 없음 2021.08.11