y= h(b+w1x1+w2x2) 가중치곱에 편향을 더한후 활성화 함수를 거쳐 output으로 출력됨. 활성화 함수는 말 그대로 입력신호의 총합이 활성화를 일으키는지를 정하는 역할을 함. 활성화 함수는 비선형함수로 분류됨 활성화 함수 1. 시그모이드 함수 신경망에서 자주이용되는 함수이다 def sigmoid(x): return 1/ (1+np.exp(-x)) 2. 계단함수 0이하는 0, 양수는 1로 나타나는 함수다. 넘파이 배열에 관하여 다음과 같이 구현함 def step_function(x): y = x>0 return y.astype(np.int) return y.astype(np.int)는 boolean 형태로 true false가 나올때, 이것을 1,0으로 변환함 시각화 하면 다음과 같이 나온다 i..
저어는 최근에 레노버 LOQ 노트북을 영끌해서 샀음 작년에 Yolo v1 구현할때 nvidia driver 때문에 구현에 실패한 적이 있어 이 한을 풀고자 노트북 오자마자 tensorflow gpu 셋팅함 일단 내가 갖춘 환경은 window 11 / rtx4060 laptop gpu에 맞는 nvidia driver /python 3.9.7/ cuda 12.1/ cudnn 8.8.1 / tensorflow는 그냥 pip install 함 아마 2.13버전이었음 이렇게 깔음 벗 계속 gpu 인식을 못하는거임... 3일동안 진짜 깔고 지우고를 백만번 반복함 그러던 중 발견한 오아시스 같은 글 진짜 이대로 했더니 마법같이 되는거임 뭔가 저 4번째 코드가 cuda와 cudnn 버전을 같이 맞춰준것 같았음 누군가는..
import numpy as np import cv2 import matplotlib.pyplot as plt %matplotlib inline nadia = cv2.imread('../DATA/Nadia_Murad.jpg',0) denis = cv2.imread('../DATA/Denis_Mukwege.jpg',0) solvay = cv2.imread('../DATA/solvay_conference.jpg',0) plt.imshow(nadia,cmap='gray') plt.imshow(denis,cmap='gray') plt.imshow(solvay,cmap='gray') 이렇게 3개의 사진을 각각 불러옴. 우선 필요한 것은 classifier를 만들고 XML classifier를 진행하는것이다 fac..
import cv2 import numpy as np import matplotlib.pyplot as plt %matplotlib inline img = cv2.imread('../DATA/internal_external.png',0) plt.imshow(img,cmap='gray') grayscale로 설정함. openCV의 윤곽 함수가 좋은 점은 내부 윤곽뿐만 아니라 얼굴이나 삼각형, 피자와 같은 외부 윤곽도 감지할 수 있음. cv2.RETR_EXTERNAL:외부 contour만 추출 cv2.RETR_CCOMP: 두 개의 계층으로 구성된 내외부 contour 모두 추출 cv2.RETR_TREE: 나무 그래프로 구성된 내외부 contour 모두 추출 cv2.RETR_LIST: 내외부 관계 없이 모든 ..
import cv2 import matplotlib.pyplot as plt %matplotlib inline flat_chess = cv2.imread('../DATA/flat_chessboard.png') plt.imshow(flat_chess,cmap='gray') 그리드 검출 시 그리드가 본질적으로 체스판같이 정형화되어야함 found, corners = cv2.findChessboardCorners(flat_chess,(7,7)) 그리드 사이즈 지정 전체 이미지가 8*8라면, 끝에 있는 가장자리를 탐지하기 위해 7*7로 지정함 found는 체스보드 타입의 모서리를 찾았는지를 나타냄 if found: print('OpenCV was able to find the corners') else: prin..
Canny Edge detection 검출기에 탑재된 기술을 적용하기 전에 여러분의 스무딩 및 블러링 기술을 적용하는 경우가 많을 것 가우스 필터를 적용하여 이미지를 스무딩하면 이미지의 강도 증감률을 찾을 수 있음. 다음 단계 알고리즘이 가장자리 검출에 대한 가짜 반응을 제거하기 위해 최대치가 아닌 억제를 실행 -> 그런 다음 잠재적 모서리를 선택하기 위해 이중 임계값을 적용 -> 모서리를 히스테리시스(hysteresis, 이력현상)로 추적 , 이때 강한 모서리에 연결되지 않은 다른 약한 모서리는 전부 억제되고 모서리 감지가 종료될 것 즉, 약한 모서리를 없애고 강한 모서리를 찾는 일종의 여과과정, 사용자가 낮은 임계값과 높은 임계값을 정해야 함 import cv2 import numpy as np im..