스크립트 3부 - 구글 티처블머신을 이용해서 이미지 분류하기. (웹캠이 아닌 이미지로 테스트 하기)
페이지 정보
본문
안녕하세요. 소심비형입니다. 1부와 2부에 이어서 3부에서는 실제로 활용 가능한 수준으로 만들기 위한 내용을 포함하고 있습니다. 엔지엠 에디터에서 활용할 수 있어야 하겠죠^^; 우선, 이전 시간에 만든 내용을 토대로 간단하게 테스트한 내용입니다. 사실 상하좌우 학습 이미지를 70~90장 내외로 하다보니 정확도가 조금 떨어지는 경향을 보이고 있습니다. 그리고, 특징을 부각시킬 수 있도록 이미지를 가공하고 흑백화 및 임계값을 주면 좀 더 정확한 결과를 얻을 수 있을거 같네요.
몇가지 옵션을 조절하면 적은 학습량에도 불구하고 정확하게 이미지를 찾아주고 있습니다.
1부와 2부에서 쉽게 환경을 구성하고, 이렇게 높은 품질의 머신러닝을 할 수 있다는게... 세상 참 많이 좋아졌네요-_-;
엔지엠을 실행한 후 새로운 스크립트를 하나 생성하세요. 그리고, 함수 상자의 ①이미지 필터 저장을 ②스크립트에 추가합니다. 속성은 아래와 같이 설정하세요.
③속성 설정
- 덮어쓰기: True
- 저장위치: C:\inetpub\wwwroot\images\arrow.png
- 캡쳐영역: 화면의 학습된 이미지 영역
캡쳐 영역을 만들때는 학습시킨 이미지의 크기와 동일해야 정확도가 향상됩니다. 우리가 학습한 이미지는 모두 가로 60, 세로 60입니다. 따라서, 캡쳐할때도 동일한 사이즈로 맞춰주는게 좋습니다. 세밀하게 캡쳐하려면 Shift+방향키로 1픽셀씩 늘리거나 줄일 수 있습니다. 방향키만 누르면 1픽셀씩 상하좌우로 이동할 수 있습니다.
실행해보면 아래와 같이 IIS에 이미지가 생성된 것을 알 수 있습니다.
이제 첨부되어 있는 파일을 아래 경로에 복사하세요.
C:\inetpub\wwwroot
테스트를 위해 웹브라우저에서 아래 주소로 이동하세요.
http://localhost/tf.html?image=http://localhost/images/arrow.png
이미지를 분석 후 결과를 알려줍니다. 이걸 사용하려면 엔지엠에서 추가적인 작업이 필요합니다. 우선 OCR을 이용해서 텍스트를 읽어보죠^^; 텍스트 크기와 폰트가 아주 일반적이라서 인식률이 100프로입니다.
마지막으로~ 엔지엠의 케이스 액션 이동을 통해 변수의 값을 비교해서 상하좌우 키보드를 누르게 만들면 될듯합니다. 이 부분은 여러분의 숙제로 남겨놓을께요~ 참고로 속도는 네이티브 보다 빠를수는 없습니다. 아쉬운 부분이죠. 그렇더라도 파이썬과 텐서플로우 환경을 만들고 머리 아프게 하는것보다는 상당히 심플하게 원하는 목표를 이룰 수 있을겁니다.
속도를 증가시키려면 많은량의 학습이 필요합니다. 그리고, 이미지도 전처리 해주면 향상되기도 하죠. 그래서, 엔지엠의 이미지 필터 저장도 학습 이미지 전처리와 비슷하게 흑백과 임계값을 조절해주는게 필요합니다. 물론, 이런 전처리를 거치면 정확도는 더 높아지게 됩니다. 학습 이미지도 최소 100장 이상은 되어야겠지만요. 여러가지 요인들이 영향을 주기 때문에 가능하면 전처리와 이미지 크기를 학습이미지와 맞춰주는게 좋습니다.
혹시라도 잘 안되시거나 궁금한 사항이 있으면 댓글로 남겨주세요^^
감사합니다.
다음에는 아래 내용으로 진짜 99프로 가능한지 한번 진행해보도록 할께요~ 단, 요청자가 많으면요!
첨부파일
-
tf.html (2.1K)
4회 다운로드 | DATE : 2020-05-03 10:27:27
- 이전글★필독★ 변수를 이용한 좌표계 연산에 대한 설명 20.05.17
- 다음글2부 - 구글 티처블머신을 이용해서 이미지 찾기. (IIS 웹서버 설치) 20.05.02