개발 중이던 앱은 푸시 알림을 받아 웹뷰를 보여주는 기능을 수행한다. 이때 푸시 알림은 가장 상위단에서 수신하고 url 정보 갱신한 후 하위 Home까지 props로 전달하고, 최종적으로 Home.js에서 useState를 이용해 url 변수를 갱신하여 rerender하는 구조를 계획하였다. 하지만 useState의 남용에 의해 아래 에러가 발생하였다. "Too many re-renders. React limits the number of renders to prevent an infinite loop." 해당 에러가 발생한 구조는 아래와 같다. // App.js import React, { useEffect, useState } from 'react'; import * as Notifications f..
이미지 이진화(Binarization) 이미지 이진화(Binarization)는 이미지 분리(Image Segmentation)를 하는 가장 간단한 방법으로 이미지 내의 물체와 배경을 0과 1, 또는 그 반대로, 두 값만으로 픽셀값을 재설정하는 것이다. 이는 3채널의 RGB값을 가진 이미지가 아닌 1채널을 가지고 있는 이진화된 이미지 데이터에만 적용 가능하다. 즉, 픽셀 값을 0~255까지 가진 흑백 사진으로 변경하는 것이다. 이 이진화 작업을 수행한 후 Thresholding을 통해 임계값(Thresh) 기준 이상의 값을 255, 미만의 값은 0으로 바꾸는 것이 가능하다. Thresholding 우선 openCV 라이브러리를 사용한다면 다음의 함수를 통해 간단하게 Thresholding을 수행할 수 있..
MQTT(메시지 큐잉 텔레메트리 트랜스포트, Message Queuing Telemetry Transport)는 ISO 표준 Publish(발행)-Subscribe(구독) 기반의 메시징 프로토콜이다. MQTT는 TCP/IP 프로토콜 위에서 동작하는데 이는 Bluetooth나 Zigbee와 같이 다른 통신 모듈이 필요한 것이 아닌 wifi나 lte를 이용해 인터넷을 통해 통신이 이루어진다는 뜻이다. 다만 HTTP, TCP등의 통신과 같이 Server-Client 구조로 이루어지는 것이 아니라 Broker, Publisher, Subscriber 구조로 이루어진다. "작은 코드 공간"(small code footprint)이 필요하거나 네트워크 대역폭이 제한되는 원격 위치와의 연결을 위해 설계되어 있다. P..
JPG(Joint Photographic Experts Group) 디지털 이미지 규격은 GIF, JPG(JPEG), PNG, BMP, TIFF, RAW 등이 있다. 여기서 일반적으로 많이 쓰이는 이미지 규격은 GIF, JPG(JPEG), PNG이다. 일반적으로 화질이 좋으면 용량은 커진다. 파일의 크기순대로 이미지 파일 포맷을 나열하면 아래와 같다. GIF
컴퓨터 비전(Computer Vision)과 영상 처리(Image Processing)는 상반되는 관계를 가진 개념은 아니다. 컴퓨터 비전(Computer Vision) 우선 컴퓨터 비전(Computer Vision)은 영상을 조작하고 분석하고 인식을 위해서 다양한 방식(확대, 축소, 이동, 편집 등)으로 영상을 처리하는 기술을 뜻한다. 이러한 과정을 통해 영상에서 의미있는 데이터를 추출해내는 기법을 연구하는 학문이다. 예를 들어 요즘 스마트폰 카메라에서 얼굴 위치를 자동으로 잡아주거나, 딥러닝을 이용해 객체 탐지를 수행하는 것 등이 있다. 하지만 이러한 작업을 수행하기 위해 저품질 영상보다 고품질 영상을 사용하거나 여러 노이즈들을 제거해주는 것이 더 효과적인 결과물 산출에 도움이 될 것이다. 이를 위해..
주요 개념분류 알고리즘로지스틱 회귀(Logistic Regression)비용 함수 or 손실 함수(Cost Function or Loss Function)이진 교차 엔트로피(Binary Cross Entropy)경사 하강법(Gradient Descent)지역 최소(Local Minimum) 로지스틱 회귀(Logistic Regression) 로지스틱 회귀(Logistic Regression)는 범주형 변수를 예측하기 위해 설계된 알고리즘으로 선형 회귀 모델을 변형하여 확률 기반의 예측을 수행한다. 주로 이진 분류(binary classification) 문제에 사용되지만 다중 범주형 변수도 예측할 수 있다. 예를 들어 "합격/불합격", "스팸/비스팸", "긍정/부정"과 같은 이진 분류 문제 외에도 다중 ..