미국의 정보인프라 보호 연구개발 동향 분석 - ETRI · 컴포넌트)에 의존한다. 공개키 인프라(pki)를 통하 여 한 행정 경계에서 이기종 컴포넌트에
20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼...
-
Upload
jeongpyo-kong -
Category
Technology
-
view
60 -
download
2
Transcript of 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼...
![Page 1: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/1.jpg)
이기종 멀티코어 임베디드 시스템 기반영상처리 애플리케이션
2015. 4. 27imageA
Embedded Software Developer Center
![Page 2: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/2.jpg)
Agenda1. 개요2. 이기종 멀티코어 프레임워크3. 수행 내용4. 향후 과제
imageA 2
![Page 3: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/3.jpg)
1. 개요imageA 3
![Page 4: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/4.jpg)
프로젝트 정보• 프로젝트 명 : 임베디드 시스템 기반 이기종 멀티코어
영상처리 플랫폼 구축• 분야 : 이기종 멀티코어 /GPU/ 영상처리• 팀원– 공정표 : 시스템 , 알고리즘 설계 및 구현– 송승화 : 알고리즘 설계 및 구현– 정현석 : 시스템 및 애플리케이션 설계 및 구현
imageA 4
![Page 5: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/5.jpg)
프로젝트 목표• GPU 를 연산장치로 사용할 수 있는 범용
임베디드 시스템의
imageA 5
![Page 6: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/6.jpg)
프로젝트 목표• 이기종 멀티코어 영상처리 플랫폼을 바탕으로
imageA 6
![Page 7: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/7.jpg)
프로젝트 목표• 데모 애플리케이션 개발을 통해
imageA 7
![Page 8: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/8.jpg)
프로젝트 목표• 영상 분석 , 스트리밍 , 모바일 등으로의 응용 기반 확보
imageA 8
![Page 9: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/9.jpg)
2. 이기종 멀티코어 프레임워크imageA 9
![Page 10: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/10.jpg)
멀티코어 프로세서 발전과정
imageA 10
1die 1core x N
SMP
1die N core
1die SMP +ASMP
SingleCore
AMP
GPU
![Page 11: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/11.jpg)
GPGPU 의 등장과 병렬 프로그래밍• 연산속도가 높은 GPU 를 다양하게 ( 범용적으로 )
활용하려는 요구에 따라 GPGPU(General Purpose Graphic Processing Unit) 등장
• GPGPU 를 활용한 병렬 처리는 영상 뿐 아니라 방대한 양의 데이터에 동일한 연산을 필요로 하는 모든 분야에서 유용
imageA 11
![Page 12: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/12.jpg)
OpenCL 과 OpenCL C 언어의 등장• Apple 의 SW 아키텍트 Aaftab Munshi 가 OpenCL
프레임워크와 OpenCL C 언어를 제안 • OpenCL C 언어는 OpenCL 의 병렬 프로그래밍 언어• OpenCL 의 멀티플랫폼 지원 : GPGPU 확장만을 목표로
하지 않고 , 명시된 표준을 따르고 구동 가능한 드라이버를 지원하는 모든 종류의 프로세서에서 활용이 가능하도록 설계
imageA 12
![Page 13: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/13.jpg)
OpenCL 플랫폼 모델
imageA 13
호스트(CPU core)
디바이스(CPU core)
디바이스(GPU)
디바이스계산 유닛계산 유닛계산 유닛계산 유닛
계산 유닛(Compute Unit)
ProcessingElement
Legacy program이여기서 수행된다 .int main(){ ...}
OpenCL C program이여기서 수행된다__kernel__ void func(){ ...}
단 하나의 호스트와 한 개 이상의 디바이스로 구성
![Page 14: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/14.jpg)
OpenCL 아키텍처
imageA 14
Intel CPU디바이스 Nvidia GPU디바이스하드웨어계층 AMD GPU디바이스
디바이스드라이버계층Intel CPU디바이스 드라이버
(Opencl 1.2)
Nvidia GPU디바이스 드라이버(OpenCL 1.2)
AMD GPU디바이스 드라이버(OpenCL 2.0)
OpenCL계층Intel OpenCL Plat-
form(OpenCL 1.2)
NvidiaPlatform
(OpenCL 1.2)
AMDPlatform
(OpenCL 2.0)
표준 OpenCL Interface
IntelExtension
NvidiaExtension
AMDExtension
애플리케이션계층 OpenCL Application
![Page 15: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/15.jpg)
OpenCV ocl
imageA 15
하드웨어OpenCL 플랫폼
cv::ocl::
OpenCV 응용프로그램OpenCV API
core highgui imgproc
기존 전통적인 모듈 cv::
ML objdetect
커널 코드 (*.cl)
ocl_utils ocl_wrappercl_runtime
OCL interface cl_context
![Page 16: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/16.jpg)
3. 수행 내용imageA 16
![Page 17: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/17.jpg)
구분• Open Source Hardware• OpenCV ocl PC Application• OpenCV ocl Embedded Application• GUI Application
imageA 17
![Page 18: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/18.jpg)
Open Source Hardware• 개발 보드 : Hardkernel Odroid XU3
– Samsung Exynos5422 Cortex™-A15 2.0Ghz quad core and Cortex™-A7 quad core CPUs
– Mali-T628 MP6(OpenGL ES 3.0/2.0/1.1 and OpenCL 1.1 Full profile)
– Integrated power consumption monitoring tool
• OS : XUbuntu 14.04
imageA 18
![Page 19: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/19.jpg)
Platform
imageA 19
![Page 20: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/20.jpg)
OpenCV ocl PC Application• 얼굴 인식 알고리즘을 OpenCL 을 이용하여 GPU 에서 동작• 4 개의 동영상을 멀티 스레드로 동시에 얼굴 인식
알고리즘으로 처리하는 어플리케이션 샘플• CPU 로만 연산하는 경우와 GPU 로 오프로딩하여 연산하는
경우 자원 사용 확인
imageA 20
![Page 21: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/21.jpg)
OpenCV ocl PC Application
imageA 21
• CPU only : CPU usage 97%
![Page 22: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/22.jpg)
OpenCV ocl PC Application
imageA 22
• CPU+GPU : CPU usage 70% 소모전력↓
![Page 23: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/23.jpg)
OpenCV oclEmbedded Application
imageA 23
• CLAHE + Gaussian Blur
![Page 24: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/24.jpg)
OpenCV oclEmbedded Application
imageA 24
• CPU only : Total (A15+A7+GPU+MEM) 2.809W
![Page 25: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/25.jpg)
OpenCV oclEmbedded Application
imageA 25
• CPU + GPU : Total 2.463W
![Page 26: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/26.jpg)
OpenCV oclBenchmark Application
• GPU 개선 확인 가능한 벤치마크 데이터 표시
imageA 26
![Page 27: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/27.jpg)
4. 향후 과제imageA 27
![Page 28: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/28.jpg)
향후 과제1. ARM + Linux 기반 OpenCV ocl 이슈
1. ARM + Linux 기반에서 동작하도록 fix (OpenCV community 적극 참여 )
2. 또는 ocl 대신 OpenCL 코드를 OpenCV 에서 직접 사용하는 방법 검토 (OpenCV 3.0 custom OpenCL kernel 작성 )
2. Demo Algorithm : 1 번 결과에 따라 구현3. GUI Application : UI 및 UX 개선 , 알고리즘
프로파일링imageA 28
![Page 29: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/29.jpg)
Demo Algorithm• Scene Change Detection
– 휴대폰 촬영 영상의 공유시 효율적 검색 및 내용 전달 (SNS 등 ) 을 위해 , GPU 를 활용 thumbnail 자동 생성
– 기존 scene change detection 알고리즘은 복잡한 방법을 많이 제시하고 있는데 일반 사용자 촬영 영상에는 적합하지 않음
imageA 29
![Page 30: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/30.jpg)
Demo Algorithm• Scene Change Detection
– GPU 를 활용할 수 있는알고리즘 사용
imageA 30
![Page 31: 20150427 image a 임베디드 시스템 기반 이기종 멀티코어 영상처리 플랫폼 구축 (final)](https://reader036.fdocument.pub/reader036/viewer/2022062302/58b8a0c11a28abc06d8b526d/html5/thumbnails/31.jpg)
imageA 31
Q&A