본문 바로가기

Data science104

[5분 컷 이해] edge detection(에지검출)과 영교차 이론 에지(edge) 에지(엣지, edge)은 서로 다른 물체의 경계면에 나타내는 경계선을 의미합니다. 이 경계 주변이 픽셀들의 분포를 생각해보면, 명암의 급격한 변화가 있게 됩니다. 아래의 강아지 사진을 보면, 강아지의 눈을 주변으로 경계는 명암차이가 극명합니다(Figure 1). 이러한 명암차이로, 흰색강아지털과 검은색 눈동자의 경계면을 사람도 인식할 수 있습니다. 에지 검출알고리즘은 이렇듯 명암차이가 극명하게 나는 지점을 추출하기 위한, 여러 연산자(+알고리즘)을 사용하는 것이 공통적입니다. 미분을 이용한 에지의 검출 에지의 검출은 명암변화가 급격히 일어나는 지점을 찾는 것이라고 했습니다. 수학적으로는 변화가 급격하게 일어나는 지점을 찾는 것은 미분을 이용합니다. 하지만, 디지털영상에서는 변화가 급격하게.. 2023. 8. 22.
[Step by Step] Github action으로 CD/CI 배포하기 (예제코드 포함) 이 포스팅은 GitHub Actions를 사용하여 이미지를 생성하고, Amazon Elastic Container Registry (ECR)에 업로드한 후, EC2 인스턴스에 배포하는 단계를 설명합니다. 이 과정은 크게 아래와 같이 이루어집니다. 개발자가 trigger: 개발자가 github에 코드를 commit / push 등 엑션을 하하고, 리포지토리에서 action trigger가 실행 Action에서 이미지 빌딩 및 푸시: github action에서 이미지 빌드: Dockerfile을 이용하여 이미지를 만들고, 만든 이미지를 ECR에 PUSH Actiond에서 SSH 접속 후 Pull 및 Run: Action에서 EC2인스턴스에 SSH로 접속하여, ECR에 올려져있는 이미지를 PULL 및 RUN.. 2023. 7. 31.
np.array() vs np.asarray() 차이 요약 np.array()와 np.asarray()는 NumPy에서 배열을 생성하는 함수입니다. 그러나 두 함수 사이에는 몇 가지 차이점이 있습니다. 데이터가 복사가 되는지 여부와, 데이터 유형이 변화되는지 여부의 차이가 있습니다. 차이점 비교 복사 여부 - np.array(): 기본적으로 배열의 복사본을 생성합니다. - np.asarray(): 배열의 복사본을 생성하지 않고, 가능한 경우에는 입력 배열의 뷰(view)를 반환합니다. 즉, 입력 배열과 반환된 배열이 메모리를 공유할 수 있습니다. 데이터 유형 변환: - np.array(): 입력된 데이터의 유형에 따라 새로운 배열의 데이터 유형이 결정됩니다. 필요에 따라 데이터 유형을 명시적으로 지정할 수도 있습니다. - np.asarray(): 입력된 배.. 2023. 5. 25.
[이미지 분할] Grabcut 사용법 요약: 그레프 컷을 이용한, 객체 분리를 위한 이미지 분할 알고리즘 GrabCut 알고리즘은 이미지 분할 알고리즘 중 하나로, 이미지에서 객체를 분리하는 기술입니다. 이 알고리즘은 Microsoft Research에서 2004년에 개발되었으며, 이미지 분할에서 높은 성능을 보입니다. 방법론 GrabCut 알고리즘은 기본적으로 그래프 컷(Graph Cut) 알고리즘을 기반으로 하며, 다음과 같은 단계로 이루어집니다. 초기화: 입력 이미지에서 전경(foreground)과 배경(background)을 구분할 수 있는 초기 마스크(mask)생성:. 예를 들어, 사용자가 수동으로 객체를 지정하거나 또는 머신러닝 알고리즘 등을 사용하여 초기 마스크를 생성할 수 있습니다. 초기 마스크에는 전경, 배경, 그리고 불확실.. 2023. 4. 26.
NMS(Non maximal supression) 계산하기, 파이썬 요약 Non maximal supression(NMS)은 예측된 오브젝트의 바운딩박스(bounding box)가 중복으로 여러 개가 할당 될 수 있을 때, 중복되는 바운딩박스를 제거하는 기술입니다. 기계적으로 무엇인가 학습하여 처리하는 것이 아닌, 사람이 고아낸 로직대로 제거하는 방식이기 때문에, 휴리스틱한(또는 hand-craft)한 방법으로도 논문에서 주로 소개가 됩니다. NMS을 구현하는 방식은 아래와 같습니다. 각 바운딩 박스별로 면적(area)을 구합니다. 특정 박스를 하나 정하고, 정해진 박스외에 나머지 박스와의 오버렙 비율을 구합니다. 두 박스의 x_min, y_min중에 최대를 구하면, 아래의 박스(//)의 좌상단 좌표를 구합니다. 두 박스의 x_max, y_max중에 최소를 구하면, 아래.. 2023. 3. 18.
온톨로지의 의미론적 유사도: Information content 란? Information content (IC)은 언어학에서 나왔던 개념으로,문맥상에 어떤 개념이 나타내면, 이 개념이 나타내는 것은 정보의 양을 나타냅니다. 주로, 추상적인 개념(상위 개념)일수록 정보량이 많지 않기 때문에, IC값이 낮아지도록 표현이 되고, 구체적인 개념을 일컫을 수록 IC값이 높아지게 됩니다. IC값을 적절하게 설계했으면, 각 개념(또는 단어)가 얼마나 모호한지(=상위개념인지)를 알 수 있습니다. 그리고, 이러한 IC값을 온톨로지들 간의 유사도로 사용할 수 있습니다. IC의 정의는 아래와 같습니다. 온톨로지 상에서 존재하는 모든 개념($C$)내에 특정 개념($c$) 은 $c \in C$이며, 0과 1사이 값을 가진다고 합니다[0, 1]. 그리고, 특정 두 개념이 IS-A 관계라고 하면,.. 2023. 1. 9.