ML, OpenCV
-
딥러닝 음원 순위 예측ML, OpenCV/딥러닝 음원 순위 예측 2020. 2. 14. 20:37
1. 과제개발의 목적 및 필요성 (1) 목적 및 필요성 - 목적 : 아티스트 컴백 후 순위 예측 프로그램으로써 아티스트의 유명세를 판단하는 척도를 제공 - 필요성 : 효율적인 투자자 매칭을 원활하게 하도록 컨택 관리 , 프로그램 엔터테이먼트 회사의 아티스트 매칭 사업 리스크 감소 (2) 활용성 및 기대효과 1. 아티스트의 컴백 후 순위 예측 도식화 제공 2. 아티스트의 순위권 상승을 위한 협업 팀 매칭 사업 3. 최고의 싱어송라이터 순위 검증 2. 과제수행 과정 (1) 과제수행 과정 I. 구현계획 (주요기능 및 예상결과물) i. 컴백 가수 순위예측(2020) : 등급순 A급(4%,8위), B급(~25위), C급(~50위), D급(50위~) 2. 자동 매칭 서비스 코딩 i. 캐미 스트리트 : 아티스트의 순..
-
MNIST 데이터를 이용한 글자 인식 프로그램 (3)ML, OpenCV/딥러닝 손글씨 인식 2019. 10. 8. 23:27
결과, 정확도 결과 덤프 화면은 아래 그림과 같습니다. *정확도 기본 학습 데이터 Accuracy:0.9758616 역전파 Accuracy:0.97534880086174 오차 역전파 Accuracy:0.9118631680482993 CNN Accuracy:0.41925920819255125 문제점 같은 이미지로 비교한 결과 여러가지 문제점들이 발견되었습니다. 다른 학습 방법들의 예측결과를 비교한 결과 기본학습데이터의 정확도가 가장 높았습니다. 그리고 가장 높은 정확도를 가질 것이라고 예상했던 CNN이 가장 낮게 나왔습니다. 문제 파악을 위해 입력데이터에 다른 이미지를 사용해봤는데 CNN을 제외한 나머지는 숫자를 얼마나 정확하게 그리는지에 따라서 정확도의 편차가 큰 것을 확인 할 수 있었고 CNN은 정답도..
-
MNIST 데이터를 이용한 글자 인식 프로그램 (2)ML, OpenCV/딥러닝 손글씨 인식 2019. 10. 8. 23:20
OpenCV로 결과 나타내기 직접 그린 손 글씨를 어떤 숫자로 인식했고 어느 정도의 정확도가 나왔는지 확인하기 위해 openCV를 사용해 결과를 출력했습니다. dst[:,:] = 0 #지우기 b,g,r,a = 0,255,0,0 cv2.putText(dst, text1, (0,15), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (b,g,r), 1, cv2.LINE_AA) cv2.putText(dst, text2, (160,360), cv2.FONT_HERSHEY_SIMPLEX, 10, (b,g,r), 3, cv2.LINE_AA) ## 정답그리기 cv2.imshow('dst', dst) Colored by Color Scripter CV창에는 이미 손 글씨가 그려져 있는 상태이기 때문에 CV창을..
-
MNIST 데이터를 이용한 글자 인식 프로그램 (1)ML, OpenCV/딥러닝 손글씨 인식 2019. 10. 8. 22:36
요약 기계학습은 인공지능의 한 분야로 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 사용하여 학습하는 것을 말합니다. 이 프로젝트에서는 손 글씨로 된 숫자 데이터로 이루어진 MNIST 데이터를 사용하여 학습합니다. 사용자가 직접 그린 손 글씨 이미지를 학습된 매개변수로 이루어진 신경망을 통과시켜 어떤 수를 입력했는지 판단하고 정확도를 출력하는 코드 작성을 목표로 합니다. 완성된 코드를 바탕으로 단순 신경망을 통한 학습이외에도 오차역전파법, CNN을 사용한 학습 데이터를 사용하여 각각의 정확도를 비교합니다. 프로젝트 준비(설계) 코드의 실행순서를 간략하게 요약하면 다음과 같습니다. 1. 코드를 실행시키면 CV창이 보여지고 사용자가 CV창에 마우스를 사용해서 숫자를 그립니다. 2. 스페이스바를 누르면 2..
-
Perceptron을 이용한 Tic-Tac-Toe게임구현 (2)ML, OpenCV/Tic-Tac-Toe 게임 2019. 9. 20. 16:39
학습시키기 한 번의 학습으로 매개변수 값을 얼마나 경신하는지 정하는 ‘학습률’은 0.1로 설정했습니다. 모든 학습 준비가 끝났기 때문에 ‘tf.Session’함수를 사용해서 연산합니다. 손실함수의 최솟값을 찾기 위해서 반복하며 학습합니다. with tf.Session() as sess: sess.run(tf.global_variables_initializer()) for step in range(1001): sess.run(train, feed_dict={X: X_train, Y: y_train}) if step % 100 == 0: print(step, sess.run(cost, feed_dict={X: X_train, Y: y_train}), sess.run(W)) Tensorflow를 사용했기 때문..
-
Perceptron을 이용한 Tic-Tac-Toe게임구현 (1)ML, OpenCV/Tic-Tac-Toe 게임 2019. 9. 20. 15:25
준비 Windows 10 Python Tic-Tac-Toe Dataset Tic-Tac-Toe게임 학습을 진행하기 전에 학습할 데이터의 분석과 게임 구현을 위해 Tic-Tac-Teo 게임의 규칙을 알아봤습니다. Tic-Tac-Toe게임은 9칸의 공간에 한 명은 ‘O’ 다른 한 명은‘X’를 번갈아 그리며‘O’나 ‘X’ 3개가 직선으로 이어지게 만들면 승리하는 게임입니다. 아래 그림은 전체적인 프로그램 실행 순서를 도식화 해 놓은 그림입니다. Tic-Tac-Toe게임은 바둑돌로 하는 오목게임과 비슷합니다. 3행 3열 총 9칸에서 두는 삼목 게임이라고 할 수 있겠네요. Tic-Tac-Toe Dataset 학습을 위해서는 학습할 데이터가 필요하기 때문에 데이터의 구현이 필요했습니다. 3*3개의 칸을 채워야 하기..
-
OpenCV 차선 인식 (2)ML, OpenCV/OpenCV Lane Detection 2019. 9. 5. 23:56
Edge 검출을 활용한 차선 인식 HSV, RGB를 통한 차선 인식은 색, 범위를 지정해줘야 하는 문제가 있었고 특히 그림자, 차선이 끊긴 구간에 취약했습니다. 문제를 해결하기 위해 Edge 검출을 활용했습니다. 우선 더욱 효과적인 Edge검출을 위해 Gaussian Filter를 사용해서 잡음을 제거했습니다. 잡음이 제거된 영상을 회색화 시킨 후 밝기 평활화를 통해 밝기 값을 추출한 후 Sobel, Canny 두 가지 필터를 사용해 보고, 비교했습니다. 먼저 Sobel필터가 대각선에 민감하게 반응하도록 2D Filter에 직접 필터 값을 대입했습니다. sobelX = np.array([[0, 1, 2], [-1, 0, 1], [-2, -1, 0]]) gx = cv2.filter2D(equ_frame, ..
-
OpenCV 차선 인식 (1)ML, OpenCV/OpenCV Lane Detection 2019. 9. 3. 21:56
준비 운영체제 : Windows 10 언어 : Python 파이썬에서 OpenCV를 사용하기 위해 cv2 라이브러리를 설치했습니다. 추가로 numpy 라이브러리도 사용합니다. 보편적으로 아래와 같은 순서를 거쳐 차선을 인식합니다. 하지만 위 순서와는 조금 다르게 HSV 범위 값을 사용해서 색 추출을 활용한 차선 인식을 시도해봤습니다. HSV 차선 인식 차선 인식을 하기 위해 가장 먼저 차선의 색인 노란색과 흰색의 HSV범위 값이 필요했습니다. HSV 범위 값 추출은 마우스 이벤트를 활용해 10초 간격, 픽셀 단위로 추출했습니다. 영상의 프레임마다 차선의 명도가 다르기 때문에 단일 값으로 범위를 주지 않고 추출한 값의 최댓값과 최솟값으로 HSV 범위를 지정했습니다. frame = cv2.GaussianBl..