연구의 선진화와 생산성 향상에
필요한 최적의 소프트웨어와 컨설팅을
공급하도록 노력하겠습니다.

영상처리 소프트웨어 개발 툴킷(SDK) – SDK 라이브러리

 


IPSDK는 2D 및 3D 이미지 처리를 위한 포괄적이고 최적화된 기능들을 제공합니다.

IPSDK 기능들을 개별적으로 사용할 수 있고, C++ 및 Python에서도 활용할 수 있으며, 스크립트나 배치 처리로 사용할 수 있습니다.

IPSDK 기능 구현은 최신 기술을 적용합니다. 모든 기능들은 워크스테이션의 코어 성능을 최대화하도록 병렬화됩니다. IPSDK는 프로세서들의 아키텍처와 성능에 맞게 자동으로 조정됩니다.
결과적으로, IPSDK는 SSE2, AVX, AVX2, AVX512 가속기까지 지원합니다.

IPSDK는 계산 시간을 크게 단축시켜 줍니다: 일부 처리 기능들의 경우, 다른 소프트웨어를 사용할 때 몇 시간 걸릴 수 있지만, IPSDK의 경우 몇 분 안에 처리합니다. 아래 그림은 10 ~ 100Mb 데이터 세트의 처리 시간을 비교한 그래프입니다.

X-축은 데이터의 크기를, Y-축은 처리 기간을 나타냅니다. 이 그래프는 IPSDK가 타 소프트웨어 비해 월등한 빠른 처리 시간을 보여 줍니다.


 



IPSDK는 Avizo/Amira, Dragonfly, ITK / VTK, Matlab 등과 같이 다양한 영상 분석 소프트웨어에서 호출하여 사용할 수 있습니다. 이러한 연결은 Python의 가져오기 또는 C++ 코딩을 통하여 가능합니다.

IPSDK는 모든 영상 처리 함수들에 대한 철저하고 엄밀한 문서를 제공합니다. 또한 모든 명령어들에는 함수 관계를 이해하기 쉽도록 시각적 개체와 Python 및 C++ 코딩의 예가 함께 제공됩니다.



이용 가능한 기능들의 일부 목록

• Image edition: Creation, conversion, random image, crop, …
• Binarization: Manual, automatic (otsu, kapur, iso, …), tophat,
• Arithmetic: Addition, subtraction, standardization, background correction, …
• Equalization of histograms,
• Logical operations: OR, AND, NOT, …
• Image stack combination: Min, max, mean, stddev, max gradient,…
• Morphology: Erosion, dilation, opening, closing, reconstruction, filling holes, removing objects at the edge, …
• Image segmentation using Deep Learning, interactive training module,
• Object classification using Deep Learning, interactive training module,
• Global statistical measurement: Entropy, variance, tortuosity, inertia,…
• Morphological filtering,
• Exact distance map, labeling,
• Separation (watershed),
• Linear filters: medium, Gaussian, Gaussian gradient, convolution with any type of kernel,
• Adaptive filters: Bilateral, unsharp mask, … • Non-linear filters: Median, delieneate, deblur, anisotropy diffusion, Non local Means, bilateral,
• Fourier,
• Filtering periodic noises,
• Border detection: Gradient,
• Laplacian, isosurface, …
• Extracting polygonal contours for 2D objects,
• Extracting mesh-type contours for 3D objects,
• Correlation, transformed from Hough, …
• Classification: K-means, Masked K-means, Karhunen Loeve,…
• Registration, extraction of point of interest, similarity, homography, …
• Individual analysis (object by object)
• Volume, surface, Feret diameters, length, thickness,
• Moments of inertia,
• Encompassing rectangle (oriented or not),
• Contact surface, distance to nearest neighbor, …
• Orientation
• Measure of form, sphericity, eccentricity, convex hull, …
• Intensity measurements: min, max, average, standard deviation, …
• Filtering from mathematical formulas on these measurements,
• Histogram.



이미지 처리 결과가 포함된 IPSDK Python 스크립트의 예제




사용자 인터페이스 – IPSDK Explorer





IPSDK Explorer 는 IPSDK와 배포와 함께 제공되는 보조 도구이며, 코딩에 대한 지식 없이도 사용할 수 있습니다. 친숙하고 편리한 GUI 환경을 통해 모든 영상처리 기능들을 사용할 수 있습니다.

IPSDK Explorer 는 알고리즘 적용 결과를 뷰어 창에 직접 표출합니다. 최적 및 최상의 관련 기능을 직접 사용하고 최적의 파라미터들을 세밀하게 정의할 수 있습니다.

IPSDK Explorer 를 사용하여 스크립트를 설계할 수 있으며, 이와 관련된 결과를 얻은 후 동등한 파이선(Python) 코드를 생성할 수 있습니다.

오픈-소스이기 때문에, IPSDK Explorer GUI 를 수정할 수 있고, 개선시킬 수 있습니다. 이러한 작업은 사용자 누구든 할 수 있고, 개발사(Reactive’IP)에 연락하여 도움을 구할 수 있습니다. 몇 가지 버튼들, 파라미터들을 추가하여 파이선(Python) 편집기 콘솔에서 직접 수행할 수도 있습니다.

파이선(Python)으로 구현된 IPSDK Explorer 는 개방적이고 수용적이기 때문에, 생성된 스크립트만 이용하거나 그래픽 사용자 인터페이스를 통해 타사의 소프트웨어와 쉽게 연계할 수 있습니다.

IPSDK Explorer 는 또한 특정 요소들을 수동으로 탐지가 가능합니다 – 분석할 이미지 요소들 또는 관심 영역을 직접 정의할 수 있고, 필요한 경우 자동 요소 감지(요소들을 추가, 제거, 결합, 분리)를 수정할 수 있습니다.

머신 러닝 / 스마트한 세분화 및 분류 기법







머신 러닝 모듈

IPSDK는 머신 러닝 기법을 기반으로 혁신적인 2가지 모듈을 제공합니다. 이 기능들이 기술적으로 매우 복잡하더라도 초보자들을 포함하여 모든 사용자들에게 사용자 친화적으로 설계되었습니다.

IPSDK는 IPSDK Explorer 그래픽 사용자 인터페이스(GUI)의 대화식 기능들을 이용하여 학습시켜 모델을 만들 수 있습니다. 그러한 모델들은 GUI에서 바로 적용할 수 있고, 스크립트를 이용하여 방대한 데이터를 매우 짧은 시간에 처리할 수도 있습니다.



스마트한 세분화 기능

누구나 쉽게 영상처리를 할 수 있음

사용자가 짧고 사용자 친화적인 세그멘트 학습 단계를 실행한 후, IPSDK의 머신 러닝 도구를 이용하여 빠르고 자동으로 이미지 픽셀 분류 규칙들을 정의할 수 있습니다.



스마트한 분류 기능

세분화된(분할된) 개체들을 자동으로 분류

사용자가 특정 라벨이나 객체들을 분류하는데 도움이 되는 짧고 사용자 친화적인 학습 단계를 거친 후, IPSDK의 머신 러닝 도구는 빠른 자동 규칙 정의를 실행하여 구별되는 객체들을 기반으로 이미 안에 있는 객체들을 분류합니다.


IPSDK의 최적화 라이브러리 및 랜덤 포레스트(Random Forest) 알고리즘을 사용하여 구현된 이러한 기능들은 매우 빠르고, 쉽게 적용하여 활용할 수 있습니다. 이러한 전체 머신 러닝 기능들은 2D 및 3D 이미지들에서 사용할 수 있습니다.

배포 패키지



IPSDK를 사용하면, 스크립트 개발자가 사용한 워크스테이션 이외의 다른 워크스테이션에 스크립트들을 배포하고 공유할 수 있습니다.

여러 유형의 응용 프로그램들의 경우, 단일 알고리즘에 액세스 할 수 있지만, 유용하지 못하거나 관련이 없을 수 있습니다. 그러한 경우들은 다음과 같습니다:

  • 하나의 강력한 워크스테이션에서 계산
  • 클러스터 노드에서 동시에 여러 가지를 동시에 계산
  • 타사 응용 프로그램에 포함된 스크립트 이용
  • 사용자와의 상호 작용 없이 인라인 제어…

이러한 경우들을 해결하기 위해, IPSDK Runtime을 제안합니다. 이 버전은 개발 팀이 설계한 미리 정의된 워크플로우를 구현하여 사용할 수 있습니다.

배포는 내부 목적(이미지화 플랫폼, 계산 센터…) 또는 외부 목적(응용 프로그램 배포, OEM 등…)으로 사용할 수 있습니다.

IPSDK Runtime을 사용하는 것은 IPSDK의 모든 계산 성능을 추천하고 정확하고, 신뢰할 수 있고, 재생산 가능하고 추적 가능한 결과를 보장하는 올바른 방법입니다.

IPSDK Runtime은 성능과 비용 절감 사이에서 최상의 균형을 제공하므로 내부 및 외부 배포를 위한 완벽한 선택입니다.