Azure: 이미지를 아스키 문자로 변환하기② - Custom Vision 트레이닝

2 분 소요


</br> 전 편에 이어서~~
</br>

이미지 데이터 등록

문자들 이미지는 100*100으로, 폰트는 간격이 모두 같은 Courier, BOLD로 했다.

9
프로젝트 생성 후 화면이다. Add images 버튼으로 이미지를 추가해 보자!! 좌측 상단의 + 네모 버튼도 가능하다.

10
이렇게 사진을 올리고, 태그를 붙인다. !는 아스키 코드 33이므로 그렇게 붙였다.

11
33_133_233_333_433_533_6
한 장 씩 다 올린 모습
근데 트레이닝 하려면 적어도 2개의 태그, 태그 당 5장이 필요하대서 조금씩 크기와 위치를 차이를 줘서 더 만들어 넣었다.
포토스케이프를 사용하면 일괄 편집이 아주 쉬워서 좋다


</br>

Training

Quick Training

12
우측 상단의 초록색 Train 버튼을 누르면 학습시킬 수 있다.
정확도는 좀 낮을 수 있지만 간단하고 빠르게 Quick Training으로 시험 해 보자.

13
그러면 이렇게 시작된다.
퀵은 주로 5분 이내로 되는 것 같더라

14
완료 되면 이런 화면이 뜬다!

15
상단의 Quick Test 버튼으로 빠르게 테스트 해볼 수 있다.
선을 하나 그어서 이미지를 업로드해 검사해 본 결과, 124일 확률이 약 78%로 나왔다.
헉…나는 47인 /가 나오길 바라고 올린 건데 코드 124면 |다. 게다가 47보다 92가 예측 확률이 더 높은데, 92면 \로 반대 방향인데도 그렇네

아무래도 이미지도 6개 뿐이라 데이터 셋이 약하기도 하고, 퀵 트레이닝이라 더 부정확하기도 하다.

16
17
Predictions 탭에서 결과를 다시 볼 수 있다. 클릭하면, 태그를 붙이고 저장할 수 있다. 따라서 알맞은 태그인 47을 붙이고, Save and close한다.

18
다른 결과로, 40번인 (를 노리고 만든 그림이다. 이번엔 79인 O라고 추측했다.
얘도 알맞은 태그를 붙여서 저장했다.
</br>

Advanced Training

19
방금 데이터들과 비슷한 걸 몇 장 더 넣고, 이번엔 Advanced Training을 선택해 보았다.
몇 시간 돌릴 지 선택하고, 끝나면 메일을 보내 달라고 요청할 수 있다.

1시간을 선택하고, 잠시 책을 읽었다.
</br>

책: 좀 이상하지만 재미있는 녀석들

좀이상하지만재밌는녀석들
(저넬 셰인 지음) 도서관에서 빌렸다 재밌음

대충 이해한 바로 적자면, AI는 문제를 제대로 이해하고 수행하는 게 아니라 규칙을 스스로 설립하고 확인하고 수정하는 일을 한다.

일례로 저자가 사진을 넣으면 뭐가 있는 지 구분해주는 AI를 훈련시켰는데, 이상하게 이 없는 사진에서 계속 이라고 태그가 붙었다.
알고 보니까 태그의 학습 데이터 셋에는 푸른 들판에 있는 양들 사진들밖에 없어서, AI는 푸른 들판으로 규정해 버렸고, 어느 사진에서 푸른 들판이 감지 되었다면 이라고 태그를 붙였다고 한다.
비슷하게 자동차 안에 을 합성해서 넣어도, AI는 대충 자동차 안의 북슬북슬한 무언가라고 인식해서 고양이라고 답을 낼 수도 있다. AI는 이 뭔지 모르기 때문이다!

또 비슷하게, 스탠퍼드 대학에서 건강한 피부피부암 사진을 구분하는 AI를 훈련시켰는데, 종양 사진에는 눈금자가 존재했기 때문에, 이 AI는 눈금자가 많다면 피부암이라고 구분해 버렸다고 한다ㅋㅋ

</br>

Advanced Training(1시간) 결과

20
성능이 좀 나아졌을까

21
이번엔 코드 46인 .을 노리고 한 번 넣어 봤다. 다행히도 97.3%로 46일 거라고 예측했다.

22
헉… 얘는 코드 41인 )가 나왔으면 좋겠는데, 40번인 (일 확률이 98.7%란다 아이고
아무래도 이 AI는 대충 휘었으면 태그 40으로 결론 짓자고 규칙을 지었나 보다

23
다른 것들도 넣어본 결과, 확실히 처음의 Quick Training 보다는 나은 결과가 나오지만, 애초에 데이터가 몇 장 없어서 그런지(거의 비슷한 것들 7장 이내였다) 별로다.
일단 또 몇 장을 더 추가하고, 이번엔 2시간 짜리 Advanced Training을 시작했다.
오늘은 새벽에 일어나서 책 잠시 또 보다가 낮잠을 잤다

Advanced Training(2시간) 결과

31
코드 41인 )가 잘 나옴

32
대충 넣어 본, 딱히 닮은 ASCII 문자가 없는 애매한 이미지
코드 96일 확률이 67.1% 정도인데, 96번은 `다. 괜찮은 듯

33
코드 62인 >을 생각하고 넣어 봤는데 괜찮게 잘 나온다.

34
이것도 좀 닮은 게 없는 애매한 이미지
34, 즉 "일 확률이 78.3%다. 나름 비슷하게 생겼으니 괜찮긴 한데, 아무래도 형태보다는 위치를 더 고려했으면 좋겠으므로 m이 나을 것 같다. 따라서 109로 태그를 달아줬다.

64 37 58
이외에도, 명암을 표시하기 위해 가장 진한 검정은 최대한 여백이 없는 문자인 @(64), 회색은 %(37), 연회색은 :(58)로 등록했다.

@@@@@@@   %%%%%%%   :::::::
@@@@@@@   %%%%%%%   :::::::
@@@@@@@   %%%%%%%   :::::::

폰트나 환경 따라 좀 @% 여백의 느낌이 달라지긴 한다
</br>


필기 인식도 이런 느낌이겠지?? 각 글자마다 여러 사람들의 필기체를 데이터로 잔뜩 많이 넣고 학습시키면 될 것 같다
이런 몇 없는 헐빈~한 구린 데이터들과 2시간 학습으로 제대로 된 건 못 만들겠지만, 이제 다음 포스트에선 간단하게 앱으로 결과를 확인해 봅시다
</br>

댓글남기기