VR, AR, MR 2019. 11. 27. 17:06

Unity 2018.1.0f2 버전에서 진행

 

 

1.핸드폰, 오큘러스 GO 연동

1) 핸드폰으로 오큘러스 모바일 다운받기

2) 오큘러스 계정생성

3) 핸드폰과 오큘러스 연동하기

4) 연동 후 오큘러스 설정에 들어가서 개발자 모드 on하기

 

2. Unity setting

1) 오큘러스 유니티 패키지 다운로드

https://developer.oculus.com/downloads/unity/

 

Unity | Developer Center | Oculus

Oculus Audio Profiler for Windows

developer.oculus.com

2) 오큘러스 Integration 다운로드

https://developer.oculus.com/downloads/package/unity-integration/

 

Unity Integration | Developer Center | Oculus

Oculus Integration for Unity - 1.43 Unity provides built-in VR support for the Oculus Rift, Oculus Quest, and Oculus Go. The Oculus Integration for Unity package adds scripts, prefabs, samples, and other resources to supplement Unity’s built-in support. Th

developer.oculus.com

오큘러스 고에서 다른 사람의 계정과 연동되어 있으면, 초기화를 해줘야 함!

초기화: 오큘러스고 음향조절 -버튼과 전원버튼을 5초 누르면 영어로 셋팅창이 나오고

2번째의 공장초기화를 누르면 모든 데이터가 초기화된다.

 

3) 유니티에 안드로이드 셋팅

Edit -> Preferences -> External Tool

초기에는 아래 SDK, JDK, NDK, 이 3부분이 비어있는데 옆에 Download로 다운로드 받고 해당경로 추가하기!

SDK의 경우 안드로이드 스튜디오를 다운로드 받고 스튜디오 내부에서 SDK를 추가적으로 다운로드 받아야함

File-> setting -> Appearance & Behavior -> System settings -> Android SDK에서 다운로드 가능하며

본인은 어떤 버전을 사용할지 몰라 모든 버전을 전부 다운로드 받음.

SDK의 경우 경로가 user\user\AppData\Local\Android\Sdk 이런식인데 여기서 AppData는 숨겨져 있어서 처음 다운로드 받을 때 경로를 잘 확인해야한다. 위의 사진에서 빨간 박스로 표시해둔게 SDK가 다운로드될 경로

 

 

 

4) Build Setting에서 안드로이드로 플랫폼 변경하기! (switch Platform)

 

5) Player Setting- XRSettings > Virtual Reality Supported 체크를 해주고 아래에 있는 플러스 (+) 눌러서 Oculus를 추가하기

 

6) Oculus > Tools에서 플랫폼 설정

 

3. 유니티 apk 빌드

위의 모든 셋팅이 끝난 후 

1) 빌드할 secene 로드

2) 연동된 오큘러스 확인

3) build and run 하면 apk 생성

 

4. 오큘러스 고 apk 실행

1) 오큘러스 고 ADB 드라이버를 설치하고, inf파일을 마우스 우클릭으로 설치한다.

https://developer.oculus.com/downloads/package/oculus-adb-drivers/

 

Oculus ADB Drivers | Developer Center | Oculus

Oculus ADB Drivers 2.0 This download contains the drivers required to use ADB with Android-based Oculus devices. Version 2 adds support for MTP mode connections. For more information, review the ADB documentation.

developer.oculus.com

설치된 adb 드라이버는 C:\Users\사용자윈도우계정\AppData\Local\Android\Sdk\platform-tools 내에 설치됨

 

2) cmd창 관리자권한으로 실행

3) cd ..  2번 입력 후 위의  adb 드라이버 위치로 들어가야함!

>> cd Users\사용자윈도우계정\AppData\Local\Android\Sdk\platform-tools

4) 오큘러스와 컴퓨터 USB로 연동 (오큘러스에서 디버깅허용버튼을 눌러야함! 안나오면 오큘러스 재부팅시켜보기)

5) cmd 창에 adb devices를 쳤을때 기기 아이디가 나오면 제대로 연결된것

6) 빌드한 apk 경로 확인후 adb install __apk경로를 치면 success라고 나오며, 알수없는 라이브러리에 해당앱이 설치

'VR, AR, MR' 카테고리의 다른 글

유니티 오큘러스 GO 연동, 빌드하기  (0) 2019.11.27
MR 홀로렌즈의 spatial mapping  (0) 2019.02.26
posted by 마스터박 MasterPark

댓글을 달아 주세요

학술대회 2019. 11. 5. 20:06

11월 1일부터 11월 2일 금,토 2일동안 제주대학교 개최된 정보처리학회 추계학술대회에 참가했다.

 

춘계학술대회는 숭실대학교에서 개최되었는데 이번 추계는 제주도에서 개최되었고 좋은 기회로 제주도를 다녀올 수 있었다.

 

1박 2일과 학술대회 참여로 개인 시간이 많지 않아서 스케줄이 촉박했다.

 

김포공항에서 새벽 6시 비행기로 출발하여 제주도 도착시간은 7시 30분 정도였다. 전날 미리 도착한 친구들이렌트한 스쿠터와 함께 일정을 다 짜두어서 수월하게 여행할 수 있었다. 

 

제주도의 날씨는 서울과 다르게 푸근하고 공기가 너무 좋았다. 

제주도 공항 도착

 

 

 

첫날 일정은 공항 근처 몸국을 먹었다. 처음 먹었지만 정말 맛있었다. 재방문 의사 아주 높음.

 

몸국

 

 

그 이후 렌트한 스쿠터로 동해방향으로 해안도로를 타고 풍경을 구경했다. 바닷바람도 좋았고 날씨가 너무 좋아서 여러모로 기분이 좋았다.

 

앞서가며 길안내를 해주는 친구

 

 

 

 

동해쪽 해안도로를 타며 바다 앞에서 딱봐도 자리를 너무 잘잡은 카페가 있어서 커피 한잔 했다. 바다색이 정말 이쁘다.

보기만 해도 힐링이 된거 같다.

 

 

 

 

점심은 제주대학교 10분 근방의 탐라버거를 먹었다. 마찬가지로 맛이 좋았다.

 

탐라버거

 

 

늦은 점심 후 제주대학교로 들어가서 논문을 발표했다. 학교는 정말 컸다.

발표 논문 포스터는 종이 포스터로 해서 생각보다 많이 구겨져서 파일로 첨부했다. 논문포스터 양식이 필요하신 분들은 가서 사용이 가능하다.

 

발표 후 숙소로 돌아와서 동문시장에 회를 먹으러 갔다. 특방어를 시켰지만 생각보다 좋은 부위는 주지 않았다. 딱새우는 달달하고 처음보는 한라산 17도가 아주 잘 들어갔다. 술을 잘 못하는 친구도 안주가 좋아서 생각보다 잘 마셨다.

 

방어

 

딱새우

 

 

둘째날은 친구 2명이 12시 비행기 본인이 18:30 분 비행기라서 오전 10시에 일찍 각자 길을 가기로 했다. 친구들 조언으로 어제 스쿠터로 다녀간 동해 해안도로보다 서해쪽이 좀 더 풍경이 좋다고 해서 직접 걸어가는 계획을 짰다. 

 

탑골공원을 시작으로 용두암, 마지막은 이호해변으로 대략 4시간정도 걸은거 같다.

 

용두암
제주 하늘

 

이호해변에서

 

혼자 좋아하는 팝송을 들으면서 바다 풍경을 보며 걷는 길은 생각보다 힘들지도 않고 좋은 경험이었다. 물론 공항에서는 굉장히 피곤했다. 평소 운동을 해서 이호해변까지 무사히 도착할 수 있었다.

 

하르방 라이언

가족 기념품으로 감귤 초콜릿은 절대 사오지말라는 말을 여러번 들어서 제주도에서만 살 수 있는 하르방 라이언과 와인을 사갔다. 가족 모두 만족해서 다행이라 생각했다.

 

제주대학교 학회 발표로 갔지만 친구들과 좋은 시간 그리고 혼자만의 여행도 하고 좋은 경험을 했다. 조만간 혼자 또다시 해안도로를 걷고 싶다.

 

 

KIPS_C2019B0216F.pdf
0.51MB
2019_정보처리학회_춘계학술대회_poster.pptx
2.07MB

논문과 논문포스터 첨부

'학술대회' 카테고리의 다른 글

191101-191102 제주대학교 추계학술대회 후기  (0) 2019.11.05
posted by 마스터박 MasterPark

댓글을 달아 주세요

취업준비 2019. 10. 20. 17:22

2019.10.19 (토) 휘문중에 13:40분까지 입실완료

 

전체 스케쥴은 아래와 같았다.

 

인성검사 345문항 - 30분  Y/N 형식

다른 사람들은 어떤지 모르겠지만 시간이 남아서 2번 훑었다. 간혹 앞에 표시했던 문항이 그대로 뒤에 나와서

혹여 둘의 결과를 다르게 표시하면 안될 것 같아서 차근차근 확인했다.

 

--휴식 10분--

인성검사 종료 시간이 14:50분이였고 10분 쉬는 시간 후 15:00까지 입실완료해달라는 방송이 나왔다.

남자화장실 줄이 굉장히 길었다. 그 시간동안 문제를 푸는 사람도 있고, 잠시 자는 사람도 있었다.

 

적성검사

적성검사는 아래 8개 과목으로 구성되며. 각각 제한시간이 있고 풀다가 시간이 종료되면 다음 장으로 넘어가라고 방송으로 알려준다. 

각 과목마다 시작전 간단하게 어떤 식으로 나오는지, 어떻게 풀어야하는지 방송으로 알려주고 시작과 함께 풀고 종료라고 하면 다음 장으로 넘어가야 함. 이전 장으로 다시 돌아가서 풀지 못하게하며 감독관이 보고 있음.

모르는 문제를 찍지말라고 하며, 찍으면 불이익이 간다고 안내해줌.

 

1. 지각정확성 30문항 - 6분  무난 스피드 정확성 필수

1. 하나의 모양이나 글자를 주고 해당 문단에서 몇번 나오는지

2. 이 문단에서 나오는 모양이나 글자는 무엇인지

평소 풀던 속도보다도 빠르게 푼다고 생각했는데 4문제정도 못풀음. 진짜 빠른 스피드랑 정확성이 관건인듯

 

2. 언어유추력 20문항 - 5분 개헬

1번부터 모르는 단어라서 당황. 같이 시험 본 친구도 언어유추력에서 멘탈이 좀 흔들렸다고 함.

평소 책을 많이 읽거나 문제집을 많이 풀면서 단어나 고사성어를 많이 아는 사람이 유리함

 

3. 언어추리력 20문항 - 5분 

A,B,C,D,E,F를 주어진 조건으로 문제 풀기

시간투자가 애매함. 공부를 많이 해야하는 과목인듯

 

4. 공간지각력 20문항 - 8분 개헬

공부를 하고 갔지만 시간 압박과 긴장에 생각보다 속도가 많이 안나옴.

꾸준한 연습이 필요한 과목

 

5. 판단력 20문항 - 12분  무난 마찬가지로 시간부족

한 문단의 글을 주고 주제나 어떤 내용인지 찾기

주로 어떤 내용의 글인지나 순서찾기를 우선적으로 풀고, 조금이라도 어려운 답을 원하면 안풀고 넘어감

 

6. 응용계산력 20문항 - 12분  무난 시간부족

소금물, 거리 간단한 수학 계산 문제들

보자마자 시간이 얼마 안걸리겠다, 무난하다는 문제를 우선적으로 품

그렇게 쉬운 문제만 골라 풀었는데도 시간이 부족함

 

7. 수 추리력 20문한 20문항 - 10분  무난 시간부족

1 2 ( ) 4 5

숫자 관계를 통해서 빈 칸 알아내기

보자마자 답 안나오면 바로 넘어가고 시간이 남으면 다시 못푼 거로 돌아와서 다시 품

 

8. 창의력 1문항 - 6분  시간 너무 부족

어떤 도형을 주고 어떻게 사용할수 있는지 40문항 쓰기

6문항 씀. 1문항마다 생각을 깊게 하면 안되고 보자마자 느끼는 것을 바로 써야 하는듯.

 

----

전체적으로 시간이 부족하고 언어유추력, 언어추리력, 공간지각력 부분의 연습이 많이 필요하다고 느낌

제일 중요한 것은 시간이 정말 부족하니 풀수 있는 문제라도 빠르게 풀어야 함.

 

 

-----2019 10 25 인적성 합격

'취업준비' 카테고리의 다른 글

191019(토) 효성인적성 후기  (0) 2019.10.20
posted by 마스터박 MasterPark

댓글을 달아 주세요

정보처리기사 2019. 10. 13. 14:23

#2019/11/22 정보처리기사 실기 3회 합격(90점)

 

2019년 필기 1회차 합격후 오랜 시간이 지나서 실기 후기를 쓰게 되었습니다.

가답안 채점 결과 93점으로 가볍게 합격을 생각하고 있습니다.

지금까지 총 3회의 실기를 보았고 1,2회 40, 50점대로 불합격이었습니다. 물론 하루 전날 공부한 결과인 것 같습니다.

이번 3회차 실기는 2020년부터 개정이 들어간다는 이야기를 듣고 이 악물고 3일전부터 공부를 시작했습니다.

 

 

---공부방법

1. 업무프로세스, 신기술용어, 전산영어 공부법

18년 3회 실기를 공부하던중 제가 발견한 것은 매해 3회차 실기에는 동일 년도에 1, 2회차에 나온 업무프로세스, 신기술용어 등이 무조건 포함되어 있다는 것입니다.

더불어 이전 년도 1,2,3회차에 나온 것도 반드시 1문제 이상씩 나왔습니다.

 

그래서 제 공부법은 17년 1,2,3회, 18년 1,2,3회 19년 1,2회의 업무프로세스, 신기술용어, 전산영어를 먼저 공부했습니다.

 

실제로 오늘 응시한 3회 실기에서도 예상한대로 지문의 글자 하나 바뀌지 않고 문항들이 그대로 나왔고, 제가 나올 것이라고 예상하고 만든 30개 문항에서 2문제 외에 15문제가 그대로 출제되었습니다. 이는 아래 가답안을 보면 확인하실 수 있습니다.

 

앞으로 실기 보시는 분들도 전년도 기출과 해당년도 기출을 반드시 숙지하고 가시면 좋을 것 같습니다.

 

2019년 정보처리기사 3회 신기술, 업프, 전산용어 가답안

* 신기술(25점)

1. 보안 용어(15점)

① ITIL -19년 1회

② 트러스트존 -18년 3회

③ BCP -18년 2회

④ 타이포스쿼팅 -18년 1회

⑤ DDOS -18년 2회

 

2. 신기술 용어(10점)

① RAID -19년 1회

② AJAX -18년 1회 

③ QOS -18년 2회

④ SDN -17년 3회

⑤ NFC -12년 3회

 

* 업무프로세스(15점)

1. 용어(7점)

- 답안: SCP, SCE -17년 2회

2. 용어,지문속답(8점)

- 답안: DSS, SIS, Mypage -17년 2회

 

* 전산영어(10점)

- 답안: Field, DBMS, DBA -17년 2회 

 

 

2. 데이터베이스 공부법

데이터베이스 공부법은 마찬가지로 기출을 우선적으로 공부하면서 아래의 내용은 반드시 숙지했습니다.

ALTER TABLE 테이블이름 ~

DROP TABLE 테이블이름 ~

INSERT INTO 테이블이름 ~

DELETE FROM 테이블이름 WHERE ~

UPDATE 테이블이름 SET ~

GRANT 권한을 부여할 기능 ON 테이블이름 TO 권한 줄사람 

더불어 INSERT를 이용한 데이터 삽입, CREATE TABLE, 뷰만들기 또한 반드시 숙지하고 가시면 좋을 것 같습니다.

 

개념부분에서는

-1NF~5NF 각각의 내용

-제약조건

-ACID

-보안 3대 용어 

-DBMS 도시화된 그림

-회복 기법, 로그와 데이터 덤프  즉각 연기 그림자페이지 검사점기법

-로킹

-공유잠금, 베타잠금

-트리거, 이벤트 이번 3회차 출제

-이력데이터 3가지 이번 3회차 출제

이 정도를 공부하고 갔습니다. 이부분 꼭 공부하고 가세요!

 

그외에 알고리즘과 자바 C언어는 따로 공부하진 않았습니다. 다들 열심히 하셔서 좋은 결과 받으셨으면 좋겠습니다.

마지막으로 3회차 전체 가답안 보여드리겠습니다.

 

 

2019 정보처리기사 실기 3회차 가답안

* 알고리즘(25점)

1. 순서도(10점)

- 답안: N, S -약수 개수 구하기 (17년2회)

 

2. 자바(3점)

10

11

10

20

 

3. 자바(6점)

- 답안: min, num[i]

- 최소값 (17년1회)

 

4. C언어(6점)

- 답안: n == -1, a

 

* 데이터베이스(25점)

1. (10점)

- 답안: Trigger(영문 입력), 이벤트 또는 event(한글 또는 영문), max, 선분, 변경 -16년 3회

 

2. SQL(3점)

- 답안: CASCADE 

 

3. (12점)

- 답안: 5, 4, 중복에 대한 설명, 사원번호

 

* 신기술(25점)

1. 보안 용어(15점)

① ITIL -19년 1회

② 트러스트존 -18년 3회

③ BCP -18년 2회

④ 타이포스쿼팅 -18년 1회

⑤ DDOS -18년 2회

 

2. 신기술 용어(10점)

① RAID -19년 1회

② AJAX -18년 1회 

③ QOS -18년 2회

④ SDN -17년 3회

⑤ NFC -12년 3회

 

* 업무프로세스(15점)

1. 용어(7점)

- 답안: SCP, SCE -17년 2회

2. 용어,지문속답(8점)

- 답안: DSS, SIS, Mypage -17년 2회

 

* 전산영어(10점)

- 답안: Field, DBMS, DBA -17년 2회 

posted by 마스터박 MasterPark

댓글을 달아 주세요

영상처리 2019. 5. 14. 18:27

Dynamic range란 사진에서 밝기가 가장 밝은 부분과 가장 어두운 부분의 밝기의 비율(Ratio)을 의미한다. 실 세계의 동적 범위는 사람의 시각이 감지할 수 있는 범위와 모니터에 표시되거나 인쇄되는 이미지의 범위보다 훨씬 넓다. 하지만 사람의 눈이 많은 종류의 서로 다른 명도 레벨을 수용할 수 있는 반면, 대부분의 카메라와 컴퓨터 모니터가 재현할 수 있는 동적 범위는 이보다 훨씬 적은 수로 제한되어 있다. 하지만 HDR이미지를 사용하여 실 세계의 Dynamic range의 전 영역을 표현할 수 있다.

 

High Dynamic Range (HDR) 이미지는 한 노출에 대하여 일반 카메라로 촬영해서 얻을 수 있는 Dynamic Range보다 더 큰 범위를 가지는 이미지이다. 또한 실세계의 모든 광도 값에 정확히 비례하여 표현되고, 이 정보를 저장하기 때문에 실세계의 장면을 촬영할 때 노출을 조정하는 것처럼 HDR이미지의 노출을 조절할 수 있다. 쉽게 표현하면 흰색은 더욱 흰색으로, 검정색은 더욱 검게 표시하며, 이 두 색상 사이에 존재하는 다양한 색상을 모두 사용하게 한다.

 

밝은 영역은 세부 묘사가 포함되지만 어두운 영역이 보이지 않는 이미지
어두운 영역은 세부 묘사가 포함되지만 밝은 영역은 보이지 않는 이미지
위의 두 사진을 합성한 HDR이미지

이처럼 카메라가 촬영을 할때, 밝아서 보이지 않는 부분과, 어두워서 보이지 않는 부분을 모두 보이게 촬영할 수 없기때문에 위의 2개의 이미지를 합쳐서 모든 동적범위가 포함된 HDR이미지를 만들어 낼 수 있다.

 

 

실세계에서 가지고 있는 밝기의 범위는 약 108cd/m2정도

사람의 눈이 한번에 수용할 수 있는 밝기의 범위는 약 105cd/m2

일반 디지털 카메라의 센서에서 받아들이는 밝기의 범위 약 102cd/m2

 

일반 이미지는 채널당 8비트로 총 24비트의 RGB포맷으로 밝기를 포함하며, 이를 통해서 실세계의 밝기 정보를 쉽게 HDR 이미지를 얻을 수 있는 방법은, 서로 다른 노출로 촬영한 여러 개의 이미지를 하나로 합쳐서 만들 수 있다.

광원효과와 심도 효과를 얻기 위해서는, 같은 피사체를 다양한 셔터 스피드를 통해 조리개의 값을 달리해서 여러 번 촬영 해야 한다.

 

일반적으로 HDR이미지는 채널당 32 bits이며 넓은 범위에서 색상과 밝기의 정보가 포함되어 있다.

따라서 실세계의 색을 표현하기 위해서는 각 채널이 실수 정보를 표현할 수 있어야 한다. 

 

reference 

1. 박대근, 박기현, 하영호, “다중 노출 복수 영상에서 장면의 다이내믹 레인지 추정을 통한 HDR 영상 획득,” 전자공학회논문지-SP, vol. 45, no. 2,pp. 10-20, 2008년 3월.

2. https://m.post.naver.com/viewer/postView.nhn?volumeNo=10051871&memberNo=34130352

3. https://translate.google.com/translate?hl=ko&sl=en&u=https://www.dummies.com/photography/digital-photography/types-of-photography/what-are-hdr-images-and-hdr-files/&prev=search

4. https://helpx.adobe.com/kr/photoshop/using/high-dynamic-range-images.html

5. https://www.acer.com/ac/ko/KR/content/hdr

posted by 마스터박 MasterPark

댓글을 달아 주세요

빅데이터 2019. 4. 23. 14:33


슈퍼컴퓨팅

거대 연산 기능의 컴퓨터로 연산의 부하가 많은 응용프로그램 이용에 사용


과학 응용 소프트웨어 예 

• 날씨 예측 

• 기후 조사 

• 분자 모델링 

• 물리 시뮬레이션 

• 양자 메카니즘 

• 기름과 기체 확산 

• 생물정보




클러스터

거대한 병렬 컴퓨팅 시스템을 설계할 때 접근 방법


1. 지리적으로 광범위한 영역에 퍼져있는 수많은 컴퓨터를 특정한 문제를 해결하기 위한 목적으로 호출하는 것(광범위)

  -인터넷과 같이 광범위한 영역의 네트워크에서 잘 작동된다.

  -분산시스템(Distributed systems)이라 한다.


2. 많은 연산 노드를 서로 인접한 거리에 위치시키는 것(근접)

  -장점으로 통신에 소요되는 시간을 절약한다.

  -연산 능력을 계산에 많이 필요한 문제를 해결 가능

  -클러스터링(clustering)이라 한다.


->슈퍼컴퓨터는 하나가 아닌 여러대를 사용하며 처리하려 한다.

아무리 좋은 컴퓨터 1대를 사용해도 사용성은 1대 이상의 능력이 나오지 않기 때문에 

여러 컴퓨터 자원을 사용하려 한다.


• 클러스터는 느슨하게 혹은 긴밀하게 종속돼 함께 동작하는 컴퓨터의 그룹이다. 

  -한 클러스터 내에 존재하는 컴퓨터를 node라고 한다.

  -한 클러스터 내에 모든 노드들은 같은 종류의 task를 수행한다.

->작업이 주어졌을 때 동시에 같은 작업을 수행하게 한다. (슈퍼컴퓨터 중요개념)

작업=task

   -모든 슈퍼컴퓨터는 클러스터이지만, 모든 클러스터는 슈퍼컴퓨터가 아니다

 


• 이종클러스터(heterogeneous cluster) 

  - 클러스터의 모든 노드가 동일한 하드웨어 구성을 갖지 않는 경우


• 베오울프클러스터(Beowulf cluster)

  - 모든 노드는 이종 클러스터와 달리 동일한 하드웨어로 구성됨 

  - 오픈 소스 기반으로 리눅스 환경에서 쉽게 클러스터를 구축 

  - 클라이언트에 보조기억장치(하드디스크)를 두지 않고 서버에만 둔다는 특징이 있다. 

     따라서 클라이언트를 추가하고 제거하기 쉽다



병렬성과 동시성

 병렬성(Parallelism) 

  - 연산 태스크가 병렬로 수행되는 것 (task가 동시에 수행된다는 것을 의미) 

  - 병렬성은 주로 연산의 양이 많은 문제의 경우 사용 

  - 연산의 양이 많은 문제는 종종 연산이 적은 하위 문제들로 분할할 수 있기 때문에 

    병렬적으로 해결할 수 있음 

  - 병렬은 직렬의 상대적인 개념(순차적이냐 동시에 수행하냐) 

  - 직렬은 하나가 수행된 이후 다른 것이 차례로 수행된다는 것을 의미

  - 병렬은 동시성(Concurrency)과 관련됨


동시성(Concurrency)

  - 많은 연산 task가 동시 처리되는 것을 의미 

  - 태스크가 같은 시간에 처리될 필요는 없다 

  - 병렬성에서는 각 노드가 같은 시간 동안 각자의 태스크를 실행한다 

  - 동시 시스템에서는 한 연산이 다른 연산을 기다리지 않고 진행될 수 있다 

  - 하나 이상의 연산이 진행될 수 있다는 것을 의미 

  - 동시성의 가장 적절한 예는 OS의 프로세스 스케쥴링이다 

  - 동시성은 순차적인 개념의 반대다




MPI(Message Passing Interface)

• 메시지 전달 인터페이스의 목적

  - 다양한 메세지 전달 프로그램을 작성하는 데 널리 이용될 메세지 전달에 대한 이식성,        효율성, 호환성의 표준을 정의하는 것 


• 플랫폼

  - 고성능 컴퓨팅(HPC), 병렬 컴퓨터, 클러스터, 분산 시스템 등이 존재하다. 

  - MPI 표준은 C, C++, Fortran으로 이식 가능한 메세지 전달 프로그램을 작성하기 위한        라이브러리 루틴의 구문과 의미를 정의한다.


• 관련 중요 요소 

  - MPI는 라이브러리를 위한 상세 사양이다. 

     - MPI 자체는 라이브러리가 아니다

  - MPI의 목적은 메세지 전달 표준이 실용적이어야 하며, 이식 가능해야 하고, 

    호환 가능해야 한다. 

  - 실제 MPI 라이브러리들은 MPI표준이 적용되는 방법에 따라 다르다.


• MPI의 특징

  - 모든 노드를 연결하는 네트워크와 분산 메모리를 포함하는 분산시스템에 최적화됨



  - 단순성: MPI 패러다임의 기본은 전통적인 통신 작업 .

  - 일반성: 병렬 아키텍처에 내장된 대부분의 시스템에 구현 가능 .

  - 성능: 구현은 기본 하드웨어의 속도와 일치할 수 있음 .

  - 확장성: 동일한 프로그램을 변경하지 않고 대규모 시스템에 적용할 수 있다.


scale out: 서버를 확장한다.

scale in: 서버를 줄인다.

scale up: 하드웨어 성능을 높인다.

scale down: 하드웨어 성능을 낮춘다.



• MPI4PY(MPI for Python) 

  - Python에서 MPI 바인딩을 제공 

  - 멀티프로세서로 구성된 컴퓨터를 사용하는 어떤 파이썬 프로그램도 실행 가능 

  - MPI-1/2/3 사양 위에 패키지로 구축됨 

  - 병렬프로그래밍의 객체지향 인터페이스를 제공 

  - MPI4PY는 어떤 Python객체에서

    - 지점 간 통신(point-to-point communication)의 전송, 수신으로 구성 

    - 군집 통신(collective communication)의 방송, 분산, 수집으로 구성 등을 제공한다.


• MPI4PY(MPI for Python) 개념 

  - MPI 랭크 및 프로세스 

  - 데이터 송수신 

  - 데이터 태깅 

  - 데이터 브로드캐스팅

  - 데이터 분산

  - 데이터 수집


• 기초 

  1. MPI는 단일 프로그램 다중 데이터(SPMD, Single-Program Multiple-Data) 개념을 사용


  2. SPMD 아키텍처 

    - 모든 프로세서(랭크라고함)는 동일한 코드를 실행 (프로세서= 랭크)

    - 각 프로세스는 다른 데이터 영역에 접근 

    - 모든 프로세스는 동시에 실행

 

 3. 랭크 

    - 병렬프로그램은 개별 프로세스로 분해된다 

    - 각 랭크는 고유한 주소 공간을 사용하기 때문에 데이터를 랭크에 따라 분할해야 한다 

    - 각 랭크는 프로그램 데이터의 일부를 자체 메모리에 보유한다 

    - 랭크는 0에서 n-1까지 순차적으로 넘버링된다.





Hello world 작성


comm = MPI.COMM_WORLD

name = MPI.Get_Processor_name() 현재 내가 돌리고 있는 프로세서 이름


sys.stdout.write("Hello World!")

sys.stdout.write("NAME: %s, my rank is %d\n" %(name, comm.rank))

system call을 하는 이유는 버퍼에 쌓이지 않고 바로 쌓이게 하기 위해서 사용한다.

(메모리가 너무 작으면 쌓일때까지 기다린다음 출력하기 때문)


posted by 마스터박 MasterPark

댓글을 달아 주세요

영상처리 2019. 3. 28. 18:58

HDR 이미지를 획득하는 방법

1. Dynamic range가 넓은 HDR카메라를 사용

2. 일반 카메라로 노출을 달리해서 영상을 여러 장 찍어 합성하는 방법

 

2번째 방식을 사용하는 방법은 Debevec, Malik, Mitsunaga, Nayar 그리고 Robertson 등이 HDR 영상을 얻는 것에 관한 방법을 제안했다.

 

위 사람들 모두 노출이 다른 여러 사진을 찍고, 이 영상을 합성하여 HDR 영상을 획득한다.

노출시간을 2배 차이로 해서 보통 10장 이상의 사진을 찍으며, 이는 찍은 장면의 Dynamic range가 어느 정도 되는지 알기가 어렵기 때문에, 충분히 넓은 범위를 포함하기 위해서 여러 개의 노출 범위를 가진 사진이 필요한 것이다.

 

 

카메라 특성 곡선

일반 디지털 카메라는 노출 등의 단계를 거치면서 실제 장면의 밝기인 radiance(밝기를 실수로 나타낸다.)와 최종으로 얻어진 그레이레벨과의 관계가 선형적이지 않다. 이런 비선형적인 관계를 카메라 특성 곡선 또는 응답 곡선이라 한다.

이런 비선형적인 관계를 추정하기 위해 많은 연구가 진행되어 왔다.

                      

카메라 특성 곡선

 

radiance와 노출 시간의 곱을 그레이레벨과 관계로 표현한 식

r · t = f(z)

 

r: 밝기를 실수로 나타내는 radiance를 나타냄

t: 노출 시간

z: 그레이레벨

f: 카메라 특성 곡선

 

HDR 영상은 일반 영상 포맷의 24비트의 RGB 체계와 달리 32비트 이상으로 디지털 값이 아닌 실수 값을 저장하면서 넓은 범위의 정보를 포함한다. 이 때 픽셀의 값을 실수로 표현하기 위해서 카메라 특성 곡선을 사용하는데, 노출 시간과 그레이 레벨을 통해 radiance를 추정하는 것이다.

 

카메라 특성 곡선을 통해서 각 픽셀마다 radiance를 추정하고, 노출이 다른 여러 영상을 한 장의 영상으로 합성시킨다.

 

다음 식을 통해 노출이 다른 여러 영상을 한 장의 영상으로 합성한다.

 

 

 

 

w: 그레이레벨에 따른 가중치

r: 밝기를 실수로 나타내는 radiance를 나타냄

i: 픽셀

z: 그레이레벨

 

 

 

∴ 픽셀의 그레이레벨에 따라 가중치를 두어 한 픽셀에 대해 여러 영상의 값을 평균하여 하나의 영상으로 만든다.

 

이 w 가중치를 구할 때마다 논문마다 조금씩 다른 방식을 사용해온다.

  • Debevec는 그레이레벨 128에서 최고이며, 128을 중심으로 가중치가 선형적으로 작아지게 했다.
  • Robertson은 128을 중심으로 가우시안 모양으로 가중치가 작아지도록 했다.
  • Mitsunaga와 Nayar는 카메라 특성 곡선을 카메라 특성 곡선의 도함수로 나눈 것을 가중치하였다.

이는 카메라 특성 곡선의 기울기가 완만할 때에는 그레이레벨에 대해 radiance 추정이 정밀하지만, 기울기가 급할 때에는 그레이레벨에 대해 radiance 추정 오차가 크다는 것을 이용한 것이다.

 

여러 이미지를 합성하여 한 장의 HDR 영상을 만드는 이미지

이런식으로 여러 영상을 합성하여 radiance 정보를 가지는 한 장의 HDR 영상을 얻을 수 있다. 하지만 노출이 다른 여러 영상을 사용할 경우 그림에서 볼 수 있듯이 중복되는 Dynamic range가 많이 존재한다.

 

 

 

reference:

박대근, 박기현, 하영호, “다중 노출 복수 영상에서 장면의 다이내믹 레인지 추정을 통한 HDR 영상 획득,” 전자공학회논문지-SP, vol. 45, no. 2, pp. 10-20, 2008년 3월.

posted by 마스터박 MasterPark

댓글을 달아 주세요

영상처리 2019. 3. 27. 20:21

사진(photography)은 빛으로 그린 그림이라는 뜻을 가진다.

빛을 얼마나 주는지가 중요하며 이를 노출이라고 부른다. 노출은 조리개와 셔터를 주체로 하여 감광재료의

감광면에 빛을 주는 것을 의미하며, 조리개와 셔터를 이용해서 다양한 사진적 효과를 넣을 수 있다.

 

노출에 영향을 주는 3가지

1. 렌즈를 통과하는 빛의 양을 조절하는 조리개

2. 필름이나 CCD에 빛을 비추어 주는 시간을 조절하는 셔터

3. 필름과 CCD의 빛에 민감도를 조절하는 감도 

 

 

조리개 (Aperture)

렌즈의 통과하는 빛을 조절하는 장치

조리개의 크기는 f-stop으로 측정된다.

 

조리개의 표준화된 수치

[ f2.8  f4  f5.6  f8  f11  f16  f22 ]   f4정도가 가장 적당한 노출이다.

 

작은 숫자의 f-stop일수록 렌즈의 조리개가 커져서 많은 빛이 들어온다. 

큰 숫자일수록 조리개가 작아져 적은 빛이 들어온다.

각 단계는 전 단계보다 2배 정도의 빛이 통과된다.

 

 

셔터 (Shutter)

렌즈를 통해 들어오는 빛의 양을 조절하는 요소이며 빛이 통과하는 시간을 제한시키는 장치이다. 

셔터를 누르기 전 감광재료에 빛이 들어가지 못하게 차단하는 역할을 하지만 셔터를 누르는 순간

빠른 속도로 열리고 닫힌다.

 

셔터의 표준화 된 수치

[  Bulb, 1초, 1/2, 1/4, 1/8, 1/15, 1/30, 1/60, 1/125, 1/250, 1/500, 1/1000 ]

긴노출은 Bulb기능을 사용. 셔터막이 계속 열려있는 상태이다.

 

셔터 속도가 느릴수록, 빛이 더 많이 들어오게 되며, 사진이 밝아진다.

셔터 속도가 빠를수록, 빛이 적게 들어오며, 사진이 어두워진다.

ex) 1/125는 1/250보다 2배 속도가 느리며, 2배 많은 빛을 통과시킨다.

 

 

감도 (ISO, Internatinal Standards Organizaiton)

빛에 대해 느끼는 속도를 나타낸다. 빛에 대한 필름이나 CCD의 민감도를 나타낸다.

 

필름은 자기 고유의 ISO를 가지며, 감도의 수치는 다음과 같다.

[ 25, 50, 100, 200, 400, 800, 1600, 3200]

 

ISO가 높아질수록 빛에 대해 민감해진다. 

ex) ISO 200필름은 100필름보다 2배 민감하여, 1/2의 빛을 받아도 같은 노출이 된다.

ISO는 노출 조절 외에도 입자의 크기와 노이즈도 조절한다. ISO가 커질수록 입자의 크기가 커지며

노이즈가 증가한다. 반대로 ISO가 작아지면, 입자의 크기가 작아지며 노이지가 사라진다.

 

 

 

이미지 노출 정보확인 

https://mainia.tistory.com/1380

스마트폰에서 노출정보확인

http://monthly.appstory.co.kr/howto10706

 

reference: https://m.blog.naver.com/PostView.nhn?blogId=photonphoto&logNo=140104352576&proxyReferer=&proxyReferer=https%3A%2F%2Fwww.google.com%2F

posted by 마스터박 MasterPark

댓글을 달아 주세요