전체 글 324

[CV] receptive field (수용 영역)

컴퓨터 비전에서 receptive field는 피처 맵의 특정 픽셀 (또는 신경망의 뉴런)이 반응하는 입력 이미지의 특정 영역을 의미한다. 이 개념은 신경과학에서 유래되었지만 Convolutional Neural Networks (CNNs)에서 입력 이미지가 특정 계층의 출력에 얼마나 영향을 미치는지 설명하기 위해 널리 사용된다. 뉴런의 receptive field은 컨볼루션 필터의 크기, 보폭(strides), 레이어 수에 따라 결정된다. 네트워크 깊숙히 들어갈 수록 receptive field가 증가하므로 더 깊은 층에 있는 뉴런은 이미지의 더 많은 부분에서 더 많은 정보에 액세슬 할 수 있다. 이는 가장자리나 질감뿐만 아니라 모양이나 물체와 같은 더 복잡한 특징을 인식하는 데 도움이 된다. rece..

[C++] map VS. unordered_map

C++에서 map과 unordered_map의 주요 차이점은 elements를 저장하고 액세스하는 방식에 있으며, 이는 성능과 사용 시나리오의 차이로 이어진다. 순서에 신경을 쓴다면 map을 사용하고, 빈번한 key 기반 조회에 대한 성능 우선순위를 정하고 순서를 신경 쓰지 않는다면 일반적으로 unordered_map이 더 좋다. 기본 데이터 구조map: balanced binary search tree (일반적으로 Red-Black Tree)로 구현된다. elemets는 key를 기준으로 정렬된 순서로 저장된다. unordered_map : hash table을 사용해 구현된다. elements는 key에 따라 정렬되지 않고 hash values에 따라 임의의 순서로 저장된다.시간 복잡도map삽입, 삭..

[CV] Image Segmentation (이미지 분할)

Image Segmentation은 이미지를 단순화하거나 분석하기 쉬게 하기 위해 이미지를 여러 세그먼트 또는 영역으로 나누는 컴퓨터 비전의 중요한 작업이다. 각 세그먼트는 색상, 질감, 강도 또는 기타 속성 등 유사한 특성을 공유하는 픽셀 그룹을 나타낸다. 세그멘테이션은 배경에서 관심 있는 물체나 영역을 분리하거나 이미지 내에서 서로 다른 물체를 분리하는 데 도움이 된다. Image Segmentation은 많은 컴퓨터 비번 응용에서 기본적인 역할을 하며, 기계가 시각 정보를 보다 효과적으로 이해하고 처리할 수 있도록 도와준다.  Image Segmentation의 유형:Semantic Segmenatation (의미적 분할)Semantic Segmentation 에서는 이미지의 각 픽셀이 특정 클래스..

[Computer Network] REST (Representational State Transfer) - 2

Python과 Flask 프레임워크를 사용한 REST API 구현의 간단한 예시다. 이 API는 기본적인 CRUD (Create, Read, Update, Delete) 작업을 통해 책 목록을 관리한다. Flask를 사용한 REST API의 기본 구현으로, REST 원칙이 실제로 어떻게 적용되는지 보여준다. 각 엔드포인트는 REST 원칙을 따르며, 클라이언트는 GET, POST, PUT, DELETE와 같은 표준 HTTP 메서드를 사용해 리소스(이 경우 book)을 조작할 수 있다. Flask 설치: Flask가 설치되어 있지 않은 경우 pip를 사용해 설치할 수 있다.pip install FlaskREST API 생성GET /api/books: 모든 책 목록을 가져온다.GET /api/books/: 특..

카테고리 없음 2024.10.15

[Computer Network] REST (Representational State Transfer) - 1

REST (Representational State Transfer) 는 네트워크 애플리케이션을 설계하는 데 사용되는 아키텍처 스타일이다. 이는 표준 HTTP 메서드 (예: GET, POST, PUT, DELETE) 를 활용하여 일반적으로 URL 또는 URI로 표시되는 리소스에 대한 작업을 수행한다. REST는 상태가 저장되지 않으므로 클라이언트에서 서버로 보내는 각 요청에는 서버가 해당 요청을 처리하는 데 필요한 모든 정보가 포함되어야 하며 서버는 요청 사이에 세션 데이터를 보유하지 않는다. RESTful은 REST의 원칙을 준수하는 애플리케이션 또는 API를 말한다. RESTful 시스템에서 리소스(데이터 객체)는 일반적으로 표준 HTTP 메서드를 통해 일관되고 상태 비저장 인터페이스 (statele..

[CV] Multimodal (멀티모달)

AI 분야에서 Multimodal이란 텍스트, 이미지, 오디오, 비디오 또는 센서 데이터와 같은 여러 유형의 데이터 또는 'modes'의 정보를 처리하고 통합하는 시스템의 기능을 의미한다. Multimodal AI는 이러한 다양한 데이터 유형을 통합된 방식으로 이해하고 분석하여 여러 입력의 조합이 필요한 작업을 수행할 수 있다. Multimodal AI의 목표는 인간이 여러 감각을 사용하여 환경을 인식하고 이해하는 방식과 유사하게 세상과 상호작용할 수 있는 보다 포괄적이고 유연한 시스템을 만드는 것이다. 예시:텍스트 및 이미지: 이미지에 대한 캡션을 생성하거나 이미지에 대한 질문에 답하는 AI 시스템은 언어 이해(텍스트)와 시각적 이해(이미지)를 결합한다.텍스트 및 오디오: 음성 언어(오디오)를 이해하고..

[Android] RecyclerView (리싸이클러 뷰) - 2

텍스트 아이템 목록을 보여주는 안드로이드의 RecyclerView 구현이다. 이 예제에서 RecyclerView를 설정과 사용자 지정 어댑터를 구현하고, ViewHolder를 생성하는 방법을 보여준다. 필요에 따라 더 복잡한 레이아웃, 인터랙션 로직 또는 애니메이션을 추가할 수 있다. Dependecies 추가: 우선  RecyclerView의 dependency를 build.gradle에 추가한다.dependencies { implementation 'androidx.recyclerview:recyclerview:1.2.1'} RecyclerView의 Layout 생성: 해당 activity layout XML 파일(예: activity_main.xml)에 RecyclerView를 추가한다. ..

[Android] RecyclerView (리싸이클러 뷰) - 1

RecyclerView는 안드로이드용 ListView의 보다 고급스럽고 유연한 버전이다. 안드로이드 지원 라이브러리의 일부이며 스크롤 가능한 목록 또는 Grid 형식으로 아이템의 대용량 데이터 세트를 효율적으로 표시하도록 설계되었다. 다음은 RecyclerView의 주요 기능에 대한 분석이다. 주요 기능View Recycling (재활용 보기): RecyclerView는 더 이상 표시되지 않는 아이템 보기를 재사용(재활용) 하여 생성되는 View의 수를 줄인다. View가 화면에서 사라지면 처음부터 새 View를 만드는 대신 새 데이터에 재사용되므로 성능이 향상된다.Layout Managers (레이아웃 관리자): RecyclerView는 아이템 배치 방식에 유연성을 제공한다.세로 또는 가로 목록의 경우..

[Android] Snackbar Vs. Toast

안드로이드에서 Snackbar와 Toast는 모두 사용자에게 간단한 메시지를 표시하는 데 사용되는 UI 구성 요소지만, 모양 및 동작이 다르다. Snackbar는 더 다양하고 대화형인 반면 Toast는 더 단순하며 주로 짧은 비대화형 메시지를 표시하는 데 사용된다. 상호 작용 Snackbar : 사용자와 상호 작용을 허용한다. '실행취소(UNDO)' 또는 '재시도(RETRY)'와 같은 Action Button (작업 버튼)을 추가하여 사용자가 메시지에 따라 특정 작업을 수행할 수 있도록 할 수 있다.Toast:  비대화형 메시지다. Toast는 단순히 메시지를 표시하고 사용자 상호작용 없이 사라진다.사용 컨텍스트Snackbar: 현재 보기와 관련된 메시지(예: 양식 제출 또는 업데이트)를 표시하는 데 사..

[CV] Image Pyramid (이미지 피라미드)

컴퓨터 비전에서 Image Pyramid는 이미지를 반복적으로 다운샘플링 (일반적으로 2의 배수)하여 해상도가 점차 낮아지는 이미지 시퀀스를 생성하는 이미지의 다중 스케일 표현이다. 이 구조는 알고리즘이 다양한 수준의 디테일로 이미지를 처리할 수 있게 해주므로 object detection, image matching, texture analysis 같은 다양한 작업에 유용하다.  Pyramid에는 크게 두 가지 유형이 있다.Gaussian Pyramid:Pyramid의 각 레벨은 Gaussian Filter를 사용해 noise와 detail을 줄이기 위해 이전 레벨을 매끄럽게 하고(smoothed) 다운샘플링한 버전이다.주로 다양한 스케일로 글로벌 이미지의 특징을 캡처하는 것이 목표인 응용에 사용된다...