클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

Orange 7 - 이미지 분류 및 실습해보기 본문

인공지능/머신러닝

Orange 7 - 이미지 분류 및 실습해보기

huenuri 2024. 9. 14. 08:21

수업 시간에 만들었던 작업을 그래도 붙여 넣어 학습일지를 쓰는 것보다 처음부터 다시 해보는 게 더 도움이 되는 것 같다. 사실 이렇게 하면 시간이 많이 걸릴까봐서 하지 않으려 했는데 조금 전에 오류가 생겨서 새로 파일을 만들어서 하나하나 따라서 해보니 더 잘 기억이 되었다.
이번 실습부터는 모든 예제를 혼자서 직접 따라해보려고 한다. 이번에는 이미지 관련 실습이다.


 
 
 

이미지 분류 실습 - 사진 추출 및 유사도 검사

이미지를 사용하기 위해서는 먼저 이미지를 처리하는 패키지를 설치해주어야 한다. option에서 add를 클릭한 후 image를 검색해서 다음과 같은 설치를 진행한다.
처음에는 잘 되지 않아서 정말 여러 번 시도한 끝에 마침내 해결했다.
 

 
텍스트와 이미지 데이터는 컴퓨터가 인지하는 것과 사람이 인지하는 것이 달라 이렇게 따로 패키지를 설치해주어야 한다.


 
 
 
먼저 사진을 불러와서 업로그 해준다. 이 사진들 중에서 얼굴을 잘 구별해서 맞출 수 있는지, 내 사진과의 유사도는 얼마나 되는지를 알아보는 실습이 되겠다.
 

 
이미지 패키지를 다운받으면 전에는 없었던 위젯이 생긴다. 그리고 이렇게 연결해주면 된다. 인베딩을 하는데는 시간이 좀 많이 걸린다. 한 장 한  장씩 수치화하는 작업이다.
이미지 인베딩이 되면 숫자 형태의 데이터로 특징을 추출해서 저장해준다. 그런 다음에 train과 test로 분류하게 될 것이다. 데이터가 잘 이동했으면 실선으로 표시되고 빨간색이 없어진다.
 

 

 
SqueezeNet으로 했더니 느낌표가 뜨며 중간에 끊겨서 Inception으로 바꾸어주었다.
 

이렇게 Train과 Test 데이터로 나누어서 knn 모델로 학습하고 시험을 볼 수 있게 해주었다.
 

 
0.63 정도의 정확도를 보이는데 이미지 데이터는 Confusion Metrix로 보는 것이 좋다.
 
 

 
조이로 예측했는데 조이인 경우가 60.5%를 보이며 파란색 데이터만 더한 결과가 0.6인 것이다. 어떤 데이터를 잘 못 맞추었는지 확인할 수 있다.
 
 

 
이제 내 사진이 조이, 카리나, 태연 중에서 누구와 비슷한지 살펴보는 예제를 진행해본다. 이전의 사진과 새로 들어온 사진의 유사도를 측정할 것이다. 그런 다음 기존의 데이터는 Data에 새로 들어온 데이터는 Reference에 연결해준다.
 
누구 사진을 몇 장 뽑을지도 선택해준다.

 
 

 
하지만 아무것도 출력이 되지 않았다.
 

 
내 노트북에 있는 파일에서는 되어서 이걸로 결과를 확인해보았다. 
 
 


 
 
 

학습을 마치고

오늘은 휴일이기도 해서 잠을 푹 자고 일어나서 새벽은 아니고 아침 7시 반에 공부를 시작해본다. 그래도 아침에 일어나자마자 공부를 시작할 수 있어서 정말 좋았다. 
이미지를 추출하고 분류하는 법에 대해서 배울 수 있는 좋은 수업이었다.