분류 전체보기 203

[참고] RabbitMQ 조사 시 용어정리

인스턴스 객체 지향 프로그래밍(OOP)에서 인스턴스(instance)는 해당 클래스의 구조로 컴퓨터 저장공간에서 할당된 실체를 의미한다. 여기서 클래스는 속성과 행위로 구성된 일종의 설계도이다. OOP에서 객체는 클래스와 인스턴스를 포함한 개념이다. 호스팅 호스팅(hosting)이란 서버 컴퓨터의 전체 또는 일정 공간을 이용할 수 있도록 임대해 주는 서비스를 말한다. PC 서버로 웹 사이트를 운영하려면 24시간 365일 켜야 하나 현실적으로 불가능하므로 호스팅 업체가 미리 여러 대의 서버로 이용자들에게 임대해 주고 그 대가를 받는 서비스가 호스팅이다. 솔루션 사용자 요구에 적합하면서 특정한 형태의 컴퓨터 소프트웨어 패키지나 응용프로그램과 연계된 문제를 처리해 주는 하드웨어 또는 소프트웨어를 의미한다. 클..

💻/인프라 2021.07.09

[RabbitMQ] RabbitMQ?

미들웨어 미들웨어는 양 쪽을 연결하여 데이터를 주고 받을 수 있도록 중간에서 매개 역할을 하는 소프트웨어, 네트워크를 통해서 연결된 여러 개의 컴퓨터에 있는 많은 프로세스들에게 어떤 서비스를 사용할 수 있도록 연결해 주는 소프트웨어를 말한다. 3계층 클라이언트/서버 구조에서 미들웨어가 존재한다. 웹 브라우저에서 데이터베이스로부터 데이터를 저장하거나 읽어올 수 있게 중간에 미들웨어가 존재하게 된다. 메세지 지향 미들웨어 메시지 지향 미들웨어(Message-oriented middleware, MOM)는 응용 소프트웨어 간의 데이터 통신을 위한 소프트웨어이며, 일반적으로 비동기 메시지 전달에 기초한 것을 가리킨다. 많은 메시지 지향 미들웨어는 메시지 큐 시스템을 기반으로 하지만, 그 밖에도 브로드캐스트 형식..

💻/인프라 2021.07.01

[PC] 포맷 후 설정 루틴

Windows 업데이트 실행 네이버 웨일 설치 : https://whale.naver.com/ 그래픽카드 드라이버 설치 : https://www.nvidia.co.kr/Download/index.aspx?lang=kr PC 카카오톡 설치 : https://www.kakaocorp.com/page/service/service/KakaoTalk 반디집 설치 : https://www.bandisoft.com/bandizip/ 팟플레이어 설치 : https://tv.kakao.com/guide/potplayer git 설치 : https://git-scm.com/ VS code 설치 : https://code.visualstudio.com/ Chocolately 설치 : https://community.choc..

💻/CS 2021.06.24

[PC] Windows 10 Edu 학교 계정 이름변경

* 대학생 Windows 10 무료 설치 Windows 10 event.eventservice.co.kr 고맙게도 학교에서 윈도우 10을 지원해줘 설치했다. 학교 이메일로 된 Microsoft 계정을 등록했고, 해당 계정에는 계정명이 "한글"로 고정되어 있었다. 코딩을 하다보니 경로에 한글이 들어가 곤란한 상황이 많았다. 그래서 계정명을 변경하려고 찾아보니, 학교 차원에서 계정을 관리하기 때문에 학교로 문의해 변경하라는 Microsoft 직원의 답변이 있었다. 학교 정보처로 전화를 하니 전혀 방법을 모르는 듯 했다. 바꿔드렸다고 했는데, 계정 내 정보에 아무 변화가 없었다! 아래는 대학생 계정으로 Windows 10 Edu를 설치하고 계정 이름을 영문으로 바꾸는 과정이다. 학교 정보처에서 방법을 안다면 ..

💻/CS 2021.06.24

[컴퓨터 비전] Image Segmentation - Clustering

K-means Clustering 가장 기본이 되는 K-means 클러스터링을 이미지가 아닌 일반적인 관점에서 살펴보자. 먼저 랜덤하게 기준점(centeroid)을 몇 개 정하고, 모든 데이터에 대하여 가장 가까운 기준점으로 묶어 준다. 해당 묶음 안의 데이터를 평균내서 centeroid를 그곳으로 옮긴다. 옮긴 centeroid를 기준으로 다시 모든 데이터를 가장 가까운 기준점으로 묶어준다. 이 것을 centeroid가 움직이지 않을 때 까지 반복한다. 이미지 세그멘테이션에서는 이미지를 R, G, B 도메인에 옮겨놓고 생각하는 것이다. 오른쪽 데이터 분포에서 초기 centeroid를 몇 개 정한 뒤 최적의 centeroid를 찾아나간다. 스스로 최적의 값을 향해 계속해서 업데이트 해 나가기 때문에, 머..

[컴퓨터 비전] Image Segmentation

Image Segmentation 인간은 왼쪽 사진만 봐도, 이미지를 구역별로 나눔과 동시에 배경, 북극곰, 빙판, 눈밭을 인식할 수 있다. 하지만 컴퓨터는 먼저 영상을 분할하는 단계를 거쳐야 한다. 분할한 각각을 segmentation이라고 하며 다음 조건을 만족시켜야 한다. 세그멘테이션 끼리 겹쳐선 안 된다. 세그멘테이션들이 이미지 전체를 덮어야 한다. 세그멘테이션 안에 있는 픽셀들은 비슷한 속성을 가져야 한다. 세그멘테이션 끼리는 속성이 구별되어야 한다. 이것은 굉장히 복잡한 문제이다. 이미지에는 다양한 색상과 성분이 존재하기 떄문이다. 더 심각하게 만드는 것의 예시가 위 사진이다. 왼쪽 사진은 오른쪽 사진의 오리와 강물의 경계부분을 확대해 놓은 것이다. 사실 왼쪽 그림만 보고서는 오리와 강물의 경..

[컴퓨터 비전] Optical Flow

FRUC (Frame Rate Up Conversion) 동영상은 이미지의 연속이다. 우리나라 방송국은 1초에 60장의 이미지를 보여줄 수 있는, 60Hz의 데이터를 송출한다. 애초에 60Hz인 영상들은 그대로 내보내면 되겠지만, 보통 해외 영화는 24Hz인 경우가 많다. 이런 경우, 24Hz : 60Hz = 2 : 5, 2장을 5장으로 늘려서 내보내게 된다. 'A B'를 'A A A B B'로 내보내는 것이다. 방송국에서는 어떻게든 60Hz를 만들어 내보낸다 치고, 여기에 1초에 120장을 보여주는 TV가 있다고 해보자. TV가 1초에 120장을 보여주려면 영상의 자연스러움을 위해서 60장의 영상 사이사이에 적절한 이미지를 끼워넣어야 한다. 이 때 어떤 이미지를 끼워 넣을지를 계산해보자는게, FRUC이..

[컴퓨터 비전] Lucas-Kanade Alignment

특징 매칭 (Feature Matching) 사실 우리는 아주 고도로 학습된 뇌를 가지고 있기 때문에, 왼쪽 위의 눈 그림을 어디에 올려놓아야 할 지 직관적으로 알 수 있다. 하지만 컴퓨터는 그저 픽셀값을 모니터에 띄울 뿐 해당 사진이 어떤 사진인지 전혀 알 방도가 없다. 컴퓨터는 이 눈을 올려놓을 방법을 어떻게 판단할 수 있을까? Template Matching 눈을 한 칸 한 칸 옮기며, 해당 범위의 픽셀 값과 일치하는지 비교해본다. 연산량이 많고, 변형에 취약하다. Pyramid Template Matching 이미지를 축소(lower resolution)해서 본 다음, 점점 resolution을 올려가며 매칭해본다 연산량을 줄일 수 있으나, 여전히 변형에 취약하다. Model Refinement ..