NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    스크립트 3부 - 구글 티처블머신을 이용해서 이미지 분류하기. (웹캠이 아닌 이미지로 테스트 하기)

    페이지 정보

    본문

    안녕하세요. 소심비형입니다. 1부와 2부에 이어서 3부에서는 실제로 활용 가능한 수준으로 만들기 위한 내용을 포함하고 있습니다. 엔지엠 에디터에서 활용할 수 있어야 하겠죠^^; 우선, 이전 시간에 만든 내용을 토대로 간단하게 테스트한 내용입니다. 사실 상하좌우 학습 이미지를 70~90장 내외로 하다보니 정확도가 조금 떨어지는 경향을 보이고 있습니다. 그리고, 특징을 부각시킬 수 있도록 이미지를 가공하고 흑백화 및 임계값을 주면 좀 더 정확한 결과를 얻을 수 있을거 같네요.

    wN620Yu.png

     

     

    몇가지 옵션을 조절하면 적은 학습량에도 불구하고 정확하게 이미지를 찾아주고 있습니다.

    sNkLQzD.png

     

     

    1부와 2부에서 쉽게 환경을 구성하고, 이렇게 높은 품질의 머신러닝을 할 수 있다는게... 세상 참 많이 좋아졌네요-_-;

    F9HFNyR.png

     

     

    엔지엠을 실행한 후 새로운 스크립트를 하나 생성하세요. 그리고, 함수 상자의 ①이미지 필터 저장을 ②스크립트에 추가합니다. 속성은 아래와 같이 설정하세요.

    ③속성 설정

    • 덮어쓰기: True
    • 저장위치: C:\inetpub\wwwroot\images\arrow.png
    • 캡쳐영역: 화면의 학습된 이미지 영역

    QQl6S8X.png

     

     

    캡쳐 영역을 만들때는 학습시킨 이미지의 크기와 동일해야 정확도가 향상됩니다. 우리가 학습한 이미지는 모두 가로 60, 세로 60입니다. 따라서, 캡쳐할때도 동일한 사이즈로 맞춰주는게 좋습니다. 세밀하게 캡쳐하려면 Shift+방향키로 1픽셀씩 늘리거나 줄일 수 있습니다. 방향키만 누르면 1픽셀씩 상하좌우로 이동할 수 있습니다.

    qkflCmm.png

     

     

    실행해보면 아래와 같이 IIS에 이미지가 생성된 것을 알 수 있습니다.

    vdnrPxw.png

     

     

    이제 첨부되어 있는 파일을 아래 경로에 복사하세요.

    C:\inetpub\wwwroot

    A5qgRGs.png

     

     

    테스트를 위해 웹브라우저에서 아래 주소로 이동하세요.

    http://localhost/tf.html?image=http://localhost/images/arrow.png

    WSoKPAy.gif

     

     

    이미지를 분석 후 결과를 알려줍니다. 이걸 사용하려면 엔지엠에서 추가적인 작업이 필요합니다. 우선 OCR을 이용해서 텍스트를 읽어보죠^^; 텍스트 크기와 폰트가 아주 일반적이라서 인식률이 100프로입니다.

    JqaTpDF.png

     

     

    마지막으로~ 엔지엠의 케이스 액션 이동을 통해 변수의 값을 비교해서 상하좌우 키보드를 누르게 만들면 될듯합니다. 이 부분은 여러분의 숙제로 남겨놓을께요~ 참고로 속도는 네이티브 보다 빠를수는 없습니다. 아쉬운 부분이죠. 그렇더라도 파이썬과 텐서플로우 환경을 만들고 머리 아프게 하는것보다는 상당히 심플하게 원하는 목표를 이룰 수 있을겁니다. 

     

    속도를 증가시키려면 많은량의 학습이 필요합니다. 그리고, 이미지도 전처리 해주면 향상되기도 하죠. 그래서, 엔지엠의 이미지 필터 저장도 학습 이미지 전처리와 비슷하게 흑백과 임계값을 조절해주는게 필요합니다. 물론, 이런 전처리를 거치면 정확도는 더 높아지게 됩니다. 학습 이미지도 최소 100장 이상은 되어야겠지만요. 여러가지 요인들이 영향을 주기 때문에 가능하면 전처리와 이미지 크기를 학습이미지와 맞춰주는게 좋습니다. 

     

    혹시라도 잘 안되시거나 궁금한 사항이 있으면 댓글로 남겨주세요^^

    감사합니다.

     

    다음에는 아래 내용으로 진짜 99프로 가능한지 한번 진행해보도록 할께요~ 단, 요청자가 많으면요!

    https://github.com/gabriel-dev/rune-breaker

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천1 비추천0

    첨부파일

    댓글목록

    profile_image

    시네라리아님의 댓글

    no_profile 시네라리아 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    NGM 덕분에 이런 기능을 쓸수 있을것 같다니 세상참 좋아졌네요^^ 감사합니다

    profile_image

    롤로노이님의 댓글

    no_profile 롤로노이 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    흠 저걸 룬으로 직관적으로 하는것보다 나중을 위해 룬말고 다른걸로 하시는게 더 좋아 보이는데

    profile_image

    엔지엠소프트웨어님의 댓글의 댓글

    엔지엠소프트웨어 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일 Date

    어느정도 난이도가 있으면서~~~ 테스트하기 좋은 샘플 이미지가 이것뿐이네요.
    저 이미지도 네이버 블로그던가... 티스토리에서 공유되어 있는거 받아온거예요^^;

    profile_image

    롤로노이님의 댓글의 댓글

    no_profile 롤로노이 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    고양이 이미지 6천장이랑 강아지 이미지 1만장 있는데 드릴까영? ㅋㅋ

    profile_image

    롤로노이님의 댓글

    no_profile 롤로노이 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    고생하셨습니다 이제 나머지는 제가 직접 해봐야 겠네요 아마 만드는데는 이번 프로잭트 끝나고가 되겠지만 그래도 일단은 거의 완벽에 가까운 모델을 만들어 보겠습니다

    profile_image

    시네라리아님의 댓글

    no_profile 시네라리아 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    앗 ^^ 이런 방법이 있었군요 ㅎㅎ 생각도 못한 부분이네요 ㅎ 감사합니다 ㅎ

    profile_image

    시네라리아님의 댓글

    no_profile 시네라리아 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    아 테스트 해봤는데 생각보다 느리긴 하군요 ㅠ 게임에 적용 안될듯 한데... 다른 방법을 좀 생각해봐야겠네요

    profile_image

    엔지엠소프트웨어님의 댓글의 댓글

    엔지엠소프트웨어 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일 Date

    좀 더 빠르게 하려면 웹의 cdn보다 로컬에 설치해서 해도 됩니다.
    티처블머신에 보면 cdn말고 설치해서 하는 방법도 설명되어 있더라구요~

    profile_image

    시네라리아님의 댓글의 댓글

    no_profile 시네라리아 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    아 감사합니다^^ 다른분께 물어보니 조금 느려도 그래도 가능해 보이긴 합니다 일단 게임 키워서 적용 해볼려고 랩 올리고 있습니다 ㅋ
    진행해보고 되면 강좌 올리던지 해야겠네요  감사합니다 ^^

    profile_image

    엔지엠소프트웨어님의 댓글의 댓글

    엔지엠소프트웨어 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일 Date

    음... 약간 팁일듯한데요. 브라우저를 4개 띄워놓고 티덱팅에 걸리면 4개를 동시에 OCR인식해서 순차적으로 입력하면, 1초안에 되지 않을까요..ㅎㅎ?

    profile_image

    시네라리아님의 댓글의 댓글

    no_profile 시네라리아 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    앗 그런방법도 있긴 하겠네요 ㅎㅎ 방법은 찾아주셨으니 이제 활용은 제가 해봐야죠 ㅎ