본문 바로가기

728x90
반응형

분류 전체보기

(273)
[Computer Vision] Depth 👀 본 예제는 Window10의 VSCode, Python3.11.0로 작성되었습니다. 깊이 정보는 이미지에서 각 픽셀이 카메라와 얼마나 떨어져 있는지를 나타낸다. 이 정보는 3D 재구성, 물체 인식, 자율주행차, 로봇 비전 등에서 필수적이다. 깊이 추정 방법은 다음과 같다.스테레오 비전(Stereo Vision) : 두 개의 카메라를 서로 다른 각도에서 이미지를 촬영하고, 두 이미지 간의 차이를 분석하여 깊이를 계산.깊이 센서(Depth Sensors) : LiDAR, ToF(Time-of-Flight) 카메라와 같은 센서를 사용하여 물체까지의 거리를 직접 측정한다.모노큘러 깊이 추정(Monocular Depth Estimation) : 단일 카메라 이미지를 사용하여 깊이를 추정하는 방법, 딥러닝 모..
[Computer Vision] Trapped-ball Segmentation 👀 본 예제는 Window10의 VSCode, Python3.11.0로 작성되었습니다. Trapped-ball Segmentation은 주로 만화 프레임과 같은 이미지에서 의미 있는 영역을 추출하는데 효과적인 비지도 이미지 분할 기법이다. 이 방법은 이미지의 경계선에 의해 정의된 닫힌 지역을 식별하고 이를 통해 이미지 내에서 분할을 수행한다. 이 알고리즘은 형태학적 연산을 사용하여 큰 폐쇄된 지역을 식별하고, 각 지역에 대해 고유한 값을 채우는 방식으로 작동한다. 동작 순서흑백 또는 색상이 없는 스케치 이미지를 타깃으로 준비한다.형태학적 연산(Morphological Operations)을 수행(침식(Erosion), 팽창(Dilation)하여 각 영역의 경계를 잘 드러내도록 한다.비교적 넓은 영역을 ..
[Python] 연산 속도 올리기 - Numba 🐍 본 게시글은 Python 3.11.0 환경에서 작성되었습니다! Numba는 Python을 위한 Just-In-Time(JIT) 컴파일러로, 주로 수치 계산 및 과학적 컴퓨팅을 최적화하는 데 사용된다.Numpy와 함께 사용될 때 특히 강력하다. 특징JIT 컴파일 : 파이썬 코드를 실행 시간에 컴파일 하여 성능을 향상한다.Numpy 호환 : Numpy 배열과 많은 함수와 연산을 지원한다.GPU 지원 : NVIDIA GPU에서 CUDA를 사용하여 병렬 처리를 지원한다.간편한 사용 : 기존 Python 코드에 주석을 추가하는 방식으로 쉽게 사용할 수 있다. 장점성능 향상 : Python 코드를 C, Fortran과 유사한 속도로 실행 할 수 있게 한다.직관적인 인터페이스 : 코드를 최소한의 수정으로 사용할..
[Python] 병렬 처리 🐍 본 게시글은 Python 3.11.0 환경에서 작성되었습니다! 여러가지 작업을 처리해야 하는 경우 병렬 처리를 통해 훨씬 빠르게 처리할 수 있다.Multi-Processing4개의 작업을 순차적으로 처리해야 하는 경우, 멀티 프로세싱을 통해 병렬로 4개의 작업을 동시에 처리 할 수 있다.멀티 프로세싱은 메모리를 독립적으로 나누어 작업을 처리한다.자원을 독립적으로 점유하여 처리하기 때문에 안정적이다.개별적으로 자원을 점유하기 때문에 리소스 요구량이 크다. 한번에 처리할 수 있는 수는 CPU Core의 개수에 따라 다르다.import timefrom multiprocessing import Pooldef cpu_intensive_task(n): result = 0 for i in range(..
[Python] 연산 속도 올리기 - 프로파일링(Profiling) 🐍 본 게시글은 Python 3.11.0 환경에서 작성되었습니다! 프로파일링은 함수의 호출, 반환, 예외를 추적하고 각 함수 호출과 이벤트를 추적한다. 이를 통해 상대적으로 리소스를 많이 소비하는 부분(병목)을 찾아서 성능 개선에 집중 할 수 있다.import cProfileimport numpy as npdef find_max_python(numbers): max_value = numbers[0] for num in numbers: if num > max_value: max_value = num return max_value# 숫자가 포함된 리스트numbers = [np.random.randint(0,1000) for _ in range(1000000)..

728x90
반응형