Deep Learning/Computer Vision

yolov5를 이용해서 custom data 학습시키기, people training

jinmc 2021. 5. 11. 13:50
반응형

yolov5는 성능면에서 yolov4보다 훨씬 낫다고 할 수는 없지만, 확실히 pytorch를 이용해서 편합니다.

yolov5 pretrained version의 경우에는 80개의 class가 train되어 있습니다.

여기서 우리가 원하는 데이터를 학습 시키기 위해서는 다음 roboflow 블로그를 참고하면 될 거 같습니다.

blog.roboflow.com/how-to-train-yolov5-on-a-custom-dataset/

 

블로그에서는, rbc, wbc (백혈구, 적혈구)를 위주로 학습을 진행하였습니다.

근데 과연 사람을 학습하려고 하면 어떻게 해야될까요? 

또, 80개의 class중 몇 가지의 class만 학습하려고 하면 어떻게 해야될까요?

 

저는 사람 class만 사용하려고 하였습니다.

물론, detect하는 스크립트 안에서 사람이 아닌 다른 class를 무시하도록 할 수 있습니다.

하지만 그건 detecting이 되기는 하지만 일부러 무시하고 display를 하지 않는 경우라고 해서, ideal하다고 볼 수는 없습니다.

 

직접 데이터를 레이블링 하는 경우도 있지만, coco dataset을 사용하는 경우도 있습니다.

coco dataset을 이용해서 레이블링 하는 건 여기 블로그에 잘 나와있습니다.

bigdata-analyst.tistory.com/195

 

특정한 위치나 자세의 사람들을 레이블링해서 학습을 시키는 경우,

그 위치나 자세의 사람들은 잘 잡을 수 있습니다.

실제로 학습 결과 (100 images, 500epoch) 좋은 결과를 얻을 수 있었습니다.

심지어, training과 validation을 나누지 않았음에도 좋은 결과를 얻을 수 있었습니다.

 

더 좋은 결과를 위해서는 더 많은 이미지들과 더 general한 이미지들을 사용하고, train-validation-test set을 나눌 경우 더 좋은 결과를 얻을 수 있을 거라고 생각합니다.

반응형