일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- level2
- deep learning
- attention
- numpy
- 자료구조
- Object Tracking
- 프로그래머스
- 스택
- 알고리즘
- 3D
- transformer
- center loss
- 큐
- Object Detection
- point cloud
- 논문 구현
- OpenCV
- Threshold
- Computer Vision
- cv2
- 딥러닝
- Python
- NLP
- Deeplearning
- Knowledge Distillation
- re-identification
- reconstruction
- 임계처리
- 파이썬
- flame
- Today
- Total
목록Python (15)
공돌이 공룡의 서재
이번에 알아볼 ICP 알고리즘은 바로 전에 작성한 글 ICP point to point 방법과는 달리 normal vector를 사용한 방법이다. 구현한 논문은 다음과 같다. https://www.comp.nus.edu.sg/~lowkl/publications/lowk_point-to-plane_icp_techrep.pdf 수식적으로 복잡한 부분이 많아서 과정을 코드와 함께 살펴보고자 한다. M은 최적화하고자 하는 4x4 transformation 식이다. s는 source point cloud의 각 점에 해당하고, d는 destination point cloud의 각 점에 해당한다. n은 d에서 normal vector다. normal vector라 하면 그 점의 접면에 수직인 벡터를 의미한다. 그러면..
John F Canny라는 분이 개발한 알고리즘으로, 간단 요약하자면 이미지 상에서 edge, 즉 경계선 또는 테두리를 찾을 때 유용한 알고리즘이다. 코드는 원리에 비해 간단해서 원리를 몰라도 사용 가능하지만 어떻게 찾는지 정도만 읽으면 도움이 될 것이다. 어떻게 찾을까. 5개의 과정을 거치는데 다음과 같다. (출처: en.wikipedia.org/wiki/Canny_edge_detector) 1. 가우시안 필터를 이용하여 이미지 상에서 노이즈를 제거하여 smooth 이미지를 얻는다.: 가우시안 필터란 저주파 필터에 해당하는 필터다. 저주파 필터란 주파수가 작은 신호들은 통과시키고 높은 신호들은 거르는 역할을 하는 필터다. 일반적으로 5x5 크기의 필터를 사용하고, 필터 크기가 클수록 노이즈에 대한 민감..
지금까지 배운 임계처리 방식에서는 단점이 하나 있다. 바로 조명에 약할 수 있다는 것. 사진을 찍을 때 조명의 위치에 따라서 어떤 사물은 그늘이 져있어 더 어둡게 보일 수 있고, 어떤 사물은 빛이 강해서 원래 색보다 더 밝게 보일 수 있다. 상황에 따라서는 글자의 일부분은 읽을 수 있는데 다른 부분은 어두워서 읽지 못하는 경우도 생길 것이다. 이런 그림이 있다고 생각해보자. 3등분했을 때 조명 차이가 뚜렷히 나는 사진이라고 생각해보자. 여기서 사람, 사과, 집 (객체)를 배경과 구분하여 얻고 싶은 상황이다. 하나의 임계값 (Tau 0)로 전체 이미지에 대해 임계처리를 한다 생각하자. 임의로 왼쪽부터 영역의 픽셀값이 60, 120, 180이라 하고, 임계값을 그 가운데 값인 120이라고 하자. 그럼 집이 ..
0. 들어가기 전 2020/09/02 - [코딩/opencv] - [python openCV] 이미지 처리 - 임계 처리 (1): inRange, threshold 2020/09/11 - [코딩/opencv] - [python openCV] 이미지 처리 - 임계 처리 (2): otsu algorithm thresholding 논문 분석 및 구현 첫 번째 임계처리 포스트에서 otsu와 triangle에 대해 알아보았고, 두 번째 포스트에서는 otsu를 deep하게 알아보았다. 이번 포스트에선 마지막으로 triangle algorithm을 자세히 다루고자 한다. 이 thresholding은 정보면에서 조금 문제가 있었기에 목차는 다음과 같이 하여 작성하겠다. 논문 설명 알고리즘 코드 구현 (1) & 문제 상..
0. 들어가기 전 2020/09/02 - [코딩/opencv] - [python openCV] 이미지 처리 - 임계 처리 (1): inRange, threshold [python openCV] 이미지 처리 - 임계 처리 (1): inRange, threshold 오늘 갖고놀 이미지. 임계 처리란 임계값(threshold value. 경계가 되는 기준 값)을 기준으로 이미지를 이진화화는 것을 말한다. 이진화를 이진화를 했을 때 0과 255로 이루어진 흑백 이� mr-waguwagu.tistory.com 이전 포스트의 마지막에서 threshold의 여러 방법들 중에서 otsu 와 triangle에 대해 간단하게 알아보았다. 주어진 threshold를 사용하지 않고 자체적인 alogrithm을 따라 새로운 t..
from math import ceil def solution(progresses, speeds): answer = [] #1 period = [ceil((100-progresses[i])/speeds[i]) for i in range(len(progresses)-1, -1, -1)] #2 release = [] elapse = period.pop() release.append(elapse) #3 while len(period) > 0: work = period.pop() if elapse < work: answer.append(len(release)) release = [] period.append(work) elapse = work else: release.append(work) answer.appe..
def solution2(prices: list): answer = [] ##1 price = prices[::-1] time = 0 delay = price.copy() _ = delay.pop() ##2 while len(delay) > 0: time += 1 now = price.pop() later = delay.pop() # print(now, price) # print(later, delay) if now > later: ## 3-1 answer.append(1) else: ## 3-2 flag = False for i in range(1, len(price)): if now > price[-i - 1]: flag = True answer.append(i + 1) break if not fla..