일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- OpenCV
- TypeORM
- @Autowired
- AWS
- 가상면접사례로배우는대규모시스템설계기초
- 구조체배열
- 코테
- 시스템호출
- C언어
- @Component
- Nodejs
- 해시
- 프로그래머스
- nestJS
- 파이썬
- thymeleaf
- Spring
- 컴포넌트스캔
- 스프링
- 카카오 알고리즘
- spring boot
- C++
- python
- 카카오
- nestjs auth
- 카카오 코테
- 코딩테스트
- 알고리즘
- git
- nestjs typeorm
- Today
- Total
목록전체 (333)
공부 기록장 💻
2022 카카오 개발자 컨퍼런스 (https://if.kakao.com/2022/session/1) 영상 정리 노트 사건의 발단과 카카오의 미션 발표자: 카카오 비상대책 위원회 재발방지대책 소위원회 위원장 남궁훈, nkay님 22년 10월 15일 카카오 서비스에 긴 장애가 발생하고 한 달 반이라는 시간이 지난 현재, 이 위기 상황에서 책임을 지며, 책임을 다하는 방식을 카카오의 크루들과 외부 전문가들과 고민하고 있는 상황. 업계 공동의 '재발방지'를 위해 if kakao 를 통해 공유하고자 함. 카카오는 멈추지 않고 서비스의 안정성을 위해 지속적인 고민을 할 예정임 새로운 기술을 통해 미래를 개척하고 그 과정에서 다양한 이해관계자들과 함께 성장하는 방식으로 ESG 과제를 수행해 왔지만, 본질을 놓치고 있..
OpenCV 4로 배우는 영상 처리와 컴퓨터 비전 CH10. 컬러 영상 처리 정리 영상의 색상 정보를 이용해 영상을 처리하는 기법에 대해 알아보자. 영상의 명암비를 높이는 컬러 히스토그램 평활화 기법, 그리고 컬러 영상에서 원하는 색상 영역을 검출하는 방법에 대해 알아보자. 컬러 히스토그램 평활화 그레이스케일 영상에서 활용한 equalizeHist() 함수를 통해 히스토그램 평활화를 수행했다. 3채널 컬러 영상에 대해 히스토그램 평활화를 수행하기 위해서는, RGB 3개의 채널에 대해 각각 평활화를 수행하는 것이 아니라, YCrCb 색 공간으로 변환하고, Y 성분에 대해서만 히스토그램 평활화를 수행해야 한다. 만약 다음과 같이 RGB 각 채널에 히스토그램 평활화를 수행하면 어떻게 될까? 이 방식으로 각 채..
시험 공부를 하는 도중 갑자기 모니터가 종료되며 화면이 꺼졌다. 가끔 PC 본체를 이동시켜서 코드가 잠깐 빠졌나 싶어, 다시 코드를 꼽아보니 정상적으로 모니터 화면이 돌아왔다. 그런데 문제는 설정해놓았던 야간 모드가 자동적으로 꺼졌고, 설정에서 ON 되어 있는데도 불구하고 야간 모드 설정이 정상적으로 동작하지 않는다는 것이었다. 결국 검색해서 찾아보니, 원인은 여럿 있는데, 윈도우 업데이트 중의 손상, 그래픽 드라이버 파일의 손상, 특정 프로그램 설치 시 옵션의 손상 등이 있었다. 정확한 원인은 알 수 없었지만, 아마 Windows 업데이트 시기이기도 하고, 그래픽 드라이버 옵션의 버그가 아닐까 싶었다. 찾아보니 Windows 10 1903 업데이트 후, 야간 모드가 동작하지 않는 버그는 이후 품질 패치..
OpenCV 4로 배우는 영상 처리와 컴퓨터 비전 CH10. 컬러 영상 처리 정리 컬러 영상의 픽셀 값 참조 OpenCV에서 영상 파일을 불러와 Mat 객체를 생성할 때 imread() 함수를 사용하는데, 이때 두번째 인자를 IMREAD_COLOR로 설정하면 영상을 3채널 컬러 영상 형식으로 불러올 수 있다. 일반적으로 컬러 영상은 흔히 RGB라 불르는 빨간색(R), 초록색(G), 파란색(B) 색상 성분의 조합으로 픽셀 값을 표현한다. 그러나 OpenCV는 RGB가 아닌, BGR 색상 순서로 픽셀 값을 표현한다. 즉, imread() 함수로 영상을 3채널 컬러 영상 형식으로 불러오면 각 픽셀의 색상 값이 B, G, R 순서로 저장된 Mat 객체가 생성된다. 컬러 영상에서 각각의 R, G, B 색상 성분은..
OpenCV 4로 배우는 영상 처리와 컴퓨터 비전 CH9. 에지 검출과 응용 정리 이번엔 영상에서 추출한 에지 정보를 이용해 영상에서 직선 또는 원을 검출해보자. 컴퓨터 비전에서 직선 검출은 주로 허프변환 기법을 사용한다. 기본적인 허프 변환 이론과 직선 검출에 적용되는 방법, 그리고 원을 검출하기 위해 사용되는 허프 그래디언트 방법까지 이해해보자. 허프 변환 직선 검출 직선은 영상에서 찾을 수 있는 많은 특징 중 하나이며 영상 분석에 있어 중요한 정보를 제공한다. 자율 주행 자동차에서 차선을 검출하거나, 수평이 맞지 않는 영상에서 수평선이나 수직선 성분을 찾아내어 자동 영상 회전을 하는 등 다양한 분얃에서 활용된다. 영상에서 직선 정보를 찾기 위해서는 1. 우선 에지를 찾아내야 하고 2. 에지 픽셀들이..
OpenCV 4로 배우는 영상 처리와 컴퓨터 비전 CH9. 에지 검출과 응용 정리 캐니 에지 검출기 소벨 마스크를 이용한 에지 검출 방법은구현이 간단하고 빠르게 동작하여 현재 컴퓨터 비전 시스템에서 사용되고 있지만, 그래디언트 크기만을 기준으로 에지 픽셀을 검출하기 때문에 임계값에 민감하고 에지 픽셀이 두껍게 표현되는 문제점이 있다. 1986년 캐니(J. Canny)는 에지 검출을 최적화 문제 관점으로 접근함으로써 소벨 에지 검출 방법의 단점을 해결할 수 있는 방법을 제시하였다. 캐니는 다음 세가지 항목을 좋은 에지 검출기의 조건으로 제시하였다. 1. 정확한 검출 (Good Detection) : 에지를 검출하지 못하거나, 또는 에지가 아닌데 에지로 검출하는 확률 최소화 필요 2. 정확한 위치 (Good..
OpenCV 4로 배우는 영상 처리와 컴퓨터 비전 CH9. 에지 검출과 응용 정리 마스크 기반 에지 검출 영상을 x, y축 방향으로 편미분 하는 1x3, 3x1 크기의 마스크를 통해 에지를 검출할 수 있는 것 같지만, 사실 대부분의 영상에는 잡음이 포함되어 있어 단순히 1x3, 3x1 마스크를 이용해서 미분을 구할 경우 다소 부정확한 결과가 생성될 수 있다. 따라서 실제 영상에서 미분을 구할 때는 좀 더 큰 크기의 마스크를 사용한다 가장 널리 사용되고 있는 미분 근사 마스크는 소벨 필터(Sobel Filter) 마스크 이다. 아래 그림 (a)는 x축으로 방향으로의 편미분을 구하는 소벨 마스크를, (b)는 y축 방향으로 편미분을 구하는 소벨 마스크이다. (a)에 나타난 미분 마스크는 현재 행에 대해 중앙 ..
OpenCV 4로 배우는 영상 처리와 컴퓨터 비전 CH9. 에지 검출 정리 영상의 에지 검출 영상에서 에지(edge)란 한쪽 방향으로 픽셀 값이 급격하게 바뀌는 부분으로, 픽셀 값의 변화율을 이용해 이를 찾을 수 있다. 2차원 디지털 영상에서 픽셀 값의 변화율을 근사화하여 구하는 방법과 다양한 응용에서 영상의 미분을 구하는 용도로 사용되고 있는 소벨 필터에 대해 알아보자. 미분과 그래디언트 에지란, 픽셀 값이 급격하게 바뀌는 부분으로 어두운 영역에서 갑자기 밝아지거나 반대로 밝은 영역에서 급격히 어두워지는 부분을 말한다. 일반적으로 객체와 배경의 경계, 또는 객체와 다른 객체의 경계에서 에지가 발생한다. 따라서 에지 검출은 컴퓨터 비전 시스템에서 객체의 윤곽을 알아내고, 객체를 판별하기 위한 전처리로 많..
22년 11월 16일 수요일 7시, 구름에서 주최한, 11월 COMMIT 행사에 다녀왔다. COMMIT은 Communication, IT의 합성어로, 매 달 수요일 판교 구름스퀘어 공간에서 매달 수요일에 한번씩 진행되는 행사이다. 기술, 개발, 성장, 조직 문화 등에 대해 개발자 연사분들이 자신만의 이야기, 지식과 경험을 나누는 시간이다. 11월 COMMIT은 구름에서 주최한 커밋 행사 중 두번째로 열린 행사였다. 아직 학생이라 이런 공개적인 라이브 행사에 참여를 해도 될까 고민을 많이 하며 신청을 했던 기억이 나는데, 마침 당첨이 되었다는 메일을 받 이런 좋은 기회를 놓칠 수 없다 하여 구름 스퀘어로 행복한 발걸음을 향했던 것 같다. 마침 COMMIT의 주제가 당근마켓에서 SRE 개발자로 일하고 계신 ..
OpenCV 4로 배우는 컴퓨터 비전과 머신 러닝 CH8. 영상의 기하학적 변환 정리 영상의 투시 변환 영상의 기하학적 변환 중, 어파인 변환보다 자유도가 높은 투시 변환이 있다. 투시 변환 (Perspective Transform) 은 직사각형 형태의 영상을 임의의 블록 사각형 형태로 변경할 수 있는 변환이다. 원본 영상에 있던 직선은 투시 변환에 의해 결과 영상에서 그대로 직진성이 유지되지만, 두 직선의 평행 관계는 깨어질 수 있다. 투시 변환은 보통 3x3 크기의 실수 행렬로 표현하며, 8개의 파라미터로 표현할 수 있지만, 좌표 계산의 편의상 9개의 원소를 갖는 3x3 행렬을 사용한다. 투시 변환을 표현하는 행렬을 Mp라고 하면, 입력 영상의 픽셀 좌표 (x,y)가 행렬 Mp에 의해 이동하는 결과 ..
보호되어 있는 글입니다.
OpenCV 4로 배우는 컴퓨터 비전과 머신 러닝 CH8. 영상의 기하학적 변환 정리 영상의 기하학적 변환 영상의 기하학적 변환 (Geometric Transform) 은 영상을 구성하는 픽셀의 배치 구조를 변경함으로써 전체 영상의 모양을 바꾸는 작업이다. 앞서 배운 영상의 밝기와 명암비 조절, 필터링 등은 픽셀 위치가 고정된 상태에서 값이 변경되었던 반면, 기하학적 변환은 픽셀 값은 그대로 유지하면서 위치를 변경하는 작업이다. 입력 영상에서 (x,y) 좌표의 픽셀을 결과 영상의 (x', y') 좌표로 변환하는 방법은 다음과 같이 고유의 함수 형태로 나타낼 수 있다. 1. 어파인 변환 영상의 기하학적 변환 중에서 어파인 변환 (Affine Transform) 이란 영상을 평행 이동시키거나 회전, 크기 변..
OpenCV 4로 배우는 컴퓨터비전과 머신 러닝 CH7 필터링 정리 영상 필터링 시리즈 영상의 필터링 1 - 필터 마스크 연산과 엠보싱 필터링 (Embossing) https://dream-and-develop.tistory.com/307 영상의 필터링 2 - 블러링과 가우시안 필터링 https://dream-and-develop.tistory.com/308 영상의 필터링 3 - 샤프닝과 잡음 제거 필터링 https://dream-and-develop.tistory.com/309 샤프닝: 영상 날카롭게 하기 블러링과 반대되는 개념인 샤프닝 (Sharpening) 기법은, 사물의 윤곽이 뚜렷하고 선명한 느낌이 나도록 영상을 변경하는 필터링 기법이다. 언샤프 마스크 필터 샤프닝 기법을 구현하기 위해서는 블러..
OpenCV 4로 배우는 컴퓨터비전과 머신 러닝 CH7 필터링 정리 영상 필터링 시리즈 영상의 필터링 1 - 필터 마스크 연산과 엠보싱 필터링 (Embossing) https://dream-and-develop.tistory.com/307 영상의 필터링 2 - 블러링과 가우시안 필터링 (https://dream-and-develop.tistory.com/308 영상의 필터링 3 - 샤프닝과 잡음 제거 필터링 (https://dream-and-develop.tistory.com/309) 블러링: 영상 부드럽게 하기 블러링(Blurring) 이란, 초점이 맞지 않은 사진처럼 영상을 부드럽게 만드는 필터링 기법으로, 스무딩(smoothing)이라고도 한다. 영상에서 인접한 픽셀 간의 픽셀 값 변화가 크지 않은..
OpenCV 4로 배우는 컴퓨터비전과 머신 러닝 CH7 필터링 정리 영상 필터링 시리즈 영상의 필터링 1 - 필터 마스크 연산과 엠보싱 필터링 (Embossing) https://dream-and-develop.tistory.com/307 영상의 필터링 2 - 블러링과 가우시안 필터링 https://dream-and-develop.tistory.com/308 영상의 필터링 3 - 샤프닝과 잡음 제거 필터링 https://dream-and-develop.tistory.com/309 영상의 필터링 영상 처리에서 필터링(filtering) 이란, 영상에서 원하는 정보만 통과시키고 원치 않는 정보는 걸러 내는 작업이다. 영상의 필터링은 보통 마스크(mask) 라 부르는 작은 크기의 행렬을 이용한다. 마스크는 필..
Opencv 4로 배우는 컴퓨터 비전과 머신러닝 CH6 영상의 산술 및 논리 연산 정리 영상의 산술 연산 영상은 일종의 2차원 행렬이므로, 행렬의 산술 연산(arithmetic operation)을 그대로 적용할 수 있다. 즉 두 개의 영상을 서로 더하거나 빼는 연산을 수행함으로써 새로운 결과 영상을 생성할 수 있다. 영상의 덧셈 연산을 수식으로 표현하면 다음과 같다. 두 입력 영상(src1, src2) 에서 같은 위치 픽셀 값을 서로 더하여 결과 영상 픽셀값(dst(x,y)) 으로 설정하는 연산이라 할 수 있다. 덧셈 연산 수행 시, 그레이스케일 최댓값인 255보다 결과값이 커지는 경우가 발생하는데 이러한 경우 결과 영상 픽셀값을 255로 설정하는 포화 연산도 함께 수행해야 한다. 이를 수식으로 좀 더..
Open CV 4로 배우는 컴퓨터 비전과 머신러닝 CH5 영상의 밝기와 명암비 조절 정리 히스토그램 스트레칭 히스토그램 스트래칭(Histogram Stretching) 이란, 영상의 히스토그램이 그레이스케일 전 구간에 걸쳐서 나타나도록 변경하는 선형 변환 기법이다. 보통 명암비가 낮은 영상은 히스토그램이 특정 구간에 집중되어 나타나는데, 이러한 히스토그램을 마치 고무줄을 잡아 늘이듯 펼쳐서 히스토그램 그래프가 그레이스케일 전 구간에서 나타나도록 변환하는 기법이다. 히스토그램 스트레칭을 수행한 영상은 명암비가 높아져서 대체로 선명하고 보기 좋은 사진으로 바뀐다. 히스토그램 스트레칭의 수식은 다음과 같이 표현할 수 있다. Gmax가 입력 영상의 픽셀 값중 가장 큰 그레이스케일 값, Gmin이 가장 작은 그레..
Open CV 4로 배우는 컴퓨터 비전과 머신러닝 CH5 영상의 밝기와 명암비 조절 정리 히스토그램 분석 픽셀 값 변환을 통해 밝기와 명암비를 조절했다면, 주어진 영상의 픽셀 밝기 분포를 조사하여 밝기 및 명암비를 적절하게 조절하는 방법에 대해 알아보자. 히스토그램 구하기 그레이스케일 영상의 경우, 각 그레이스케일 값에 해당하는 픽셀의 개수를 구하고 이를 막대 그래프 형태로 표현함으로써 히스토그램을 구할 수 있다. 컬러 영상의 경우, 3개의 색상 성분 조합에 따른 픽셀 개수 각각 계산하여 히스토그램 구성한다. 컴퓨터 비전에서의 히스토그램(histogram)이란, 영상의 픽셀 값 분포를 그래프 형태로 표현한 것이라 할 수 있다. 위의 4x4 입력 영상은 각 픽셀이 0부터 7 사이의 밝기를 가질 수 있는 단..
12. 데이터 시각화 matplotlib을 이용한 시각화 정보 시각화는 특잇값을 찾아내거나, 데이터 변형이 필요한지 알아보거나, 모델에 대한 아이디어를 찾기 위한 과정의 일부이다. 파이썬은 다양한 시각화 도구를 제공하고 있는데, matplotlib 기반의 도구들을 살펴보자. 2D 그래프를 위한 desktop package로, 파이썬에서 매트랩과 유사한 인터페이스를 2002년 지우너하기 시작했다. pdf, svg, jpg, png, bmp, gif 등 일반적으로 널리 사용되는 벡터 포맷과 래스터 포맷으로 그래프를 저장할 수 있다. matplotlib과 함께 seaborn 이라는 새로운 데이터 시각화 라이브러리도 살펴보자. 1. matplotlib API 간략하게 살펴보기 matplotlib을 다음과 같은 ..
CH7. 데이터 정제 및 준비 pandas 라이브러리는 데이터를 원하는 형태로 가공하는 작업을 유연하고 빠른 고수준의 알고리즘과 처리 기능을 제공 결측치, 중복 데이터, 문자열 처리 그리고 다른 분석 데이터 변환에 대한 도구들을 다루어보자 1. 누락된 데이터 처리하기 (Handling Missing Data) 누락 데이터를 처리하는 일은 데이터 분석 애플리케이션에서 흔히 발생하는 일이며, pandas의 설계 목표 중 하나는 누락 데이터를 가능한 한 쉽게 처리할 수 있도록 하는 것이다. 산술 데이터의 경우 pandas는 누락된 값을 쉽게 찾을 수 있도록 하기 위해 누락된 데이터를 실숫값인 NaN으로 취급한다. 분석을 위해 데이터를 정제하는 과정에서 결측치 자체를 데이터 수집 과정에서의 실수나 결측치로 인한..