목표

사용자가 비디오를 업로드하면 자동으로 강아지의 행동을 분석, 적절한 훈련 방법을 제안

기능 시나리오

1. 자바 페이지를 보여준다. -> 동영상 업로드

2. 업로드 한 동영상을 Python으로 분석

3. 분석 결과를 다시 flask 활용해서 자바로

4. 자바에서는 결과 값을 보여줌

진행순서

강아지의 특정 행동에 대한 테스트 영상 ( 앉기) 필요

일단 시스템의 주요 기능은 (비디오 업로드, 행동 분석, 추천 제공 )
원래의 기능 목적은 사용자가 이상행동을 보이는 반려견 영상을 보낼 시 이를 분석하고 해결할 수 있는 영상을 추천하는 목적이지만, 현재로써 제일 처음으로는 사용자가 반려견의 행동(앉아, 기다려 등등 일단 나는 앉아를 사용할 예정)을 보낼 시 이를 분석하여 어떤 행동인지 알아내고 사용자한테 제시 할 수 있는 것까지 초반을 잡고, 성공 한다면?

반대로 이상행동인 영상을 업데이트하고 해당 영상분석하여 행동 교정 할 수 있도록 사용자에게 텍스트로 전달할 것인지, 영상으로 전달할 것인지 선택하여 진행하면 될 것 같다.

 

AI는 어떻게 활용하 것인가ㅡ

 

이제 문제는 강아지 행동에 대한 데이터셋을 어떻게 수집하지
-> 수집했다면 tensorflow를 사용하여 행동을 인식할 수 있는 모델 훈련, (사전 학습된 모델이 있을까?)

그래서 작업 순서는

 

데이터셋.. 음.. 유튜브와 Stanford Dogs Dataset라는 다양한 강아지 종의 이미지를 포함하는 이미지 데이터셋이여서 유튜브에 한가지 행동만 보여주는 영상이 한정적이기에 아니면 내가 영상 길이까지 조절할 수 있나.. 음,, 어쨌든 Stanford Dogs Dataset 이미지 데이터셋이다보니 원래는 행동보다는 외형을 인식하는 데 주로 사용된다고 하는데, 데이터를 전처리하고 행동 분석과 결합해서 사용가능하도록...

 

그리고 영상찍은 데이터도 같이 넣어서 최대한 다른 각도에서!

아 어짜피 전처리하면 유튜브에서 긁어와도 될듯? (근데 저작권 뭐.. 그런거 상관없나)
OpenCV를 사용해서 프레임 단위로 변환 ( 이미지를 크롭하거나 크기를 조정하여 모델 훈련에 적합한 형식으로 준비 )

일단 그러면

결론

  1. Stanford Dogs Dataset이나 다른 개 행동 관련 이미지 데이터셋을 사용하여 "앉기" 행동을 감지하는 모델을 훈련
  2. ResNet, MobileNet 등의 사전 학습된 이미지 인식 모델에 추가적인 분류기 학습
  3. 강아지 행동을 이미지에서 잘 인식하는지 테스트하고, 성능을 평가
  4. 영상 데이터 준비:
    사용자가 업로드한 영상 데이터를 OpenCV를 사용하여 프레임 단위로 분해
    각 프레임을 앞서 훈련된 이미지 모델에 입력하여 행동 인식을 수행

영상 분석 기능 통합:
각 프레임에서 인식된 결과를 시간 순으로 통합하여 영상 내에서 특정 행동이 언제 발생했는지를 판단
행동 인식 결과를 영상 전체에서 시각적으로 표시하거나 시간대별로 나눠 사용자에게 제공

이후에는 "앉기"와 같은 정상 행동 인식에서 시작하여, 향후에는 이상 행동을 감지하고 적절한 교정 방법을 추천하는 방식으로 발전

개 행동 분석 데이터 세트
https://www.kaggle.com/datasets/arashnic/animal-behavior-analysis/data

+ Recent posts