본문 바로가기
반응형
반응형

Python20

반응형
[clustering] tslearn의 TimeSeriesKmeans 사용방법 클러스터링은 Unsupervised Learning으로 데이터들의 군집을 예측하는 것이 목적이다. 일반적으로 kmeans는 각 데이터 사이의 distance를 구해서 군집마다 center에 가장 가까운 데이터 끼리의 패턴을 찾는다. 하지만 시계열로 되어있는 데이터를 클러스터링 해버리면 시간에 따른 정보가 사라지기 때문에 다른 방법이 필요하다. 그래서 이번에 소개할 TimeSeriesKmeans는 시간에 따른 군집화가 가능하기 때문에 위의 문제를 해결할 수 있는 알고리즘이며, tslearn 라이브러리로 쉽게 사용이 가능하다. 1. 설치 해당 명령어로 tslearn을 설치할 수 있다. !pip install tslearn 2. 데이터 생성 32row 1column의 array를 50개 생성한다. import.. 2022. 3. 19.
ubuntu18.04 XGBoost 설치 Your Commands Linux-Terminal sudo pip3 install cmake # 설치 안되어있을시 1. git clone --recursive https://github.com/dmlc/xgboost.git 2. cd xgboost 3. make 4. cd python-package 5. python setup.py install --user 2022. 3. 17.
PoseNet keypoint로 skeleton 그리기 Pose Estimation model로 신체의 좌표를 추출하였을 때 제대로 추출되어있는지 확인하는 과정이 필요하다. 해당 코드는 PoseNet의 좌표를 matplotlib을 이용해 스켈레톤으로 그리는 코드이다. skeleton_plot 함수에 하나의 Frame에 대한 좌표값 -> sample 그리고 'ro' or 'bo' 같이 원하는 컬러를 입력하면 된다. -> color 다른 모델을 사용할때에는 각 관절에 맞게 코드 변환이 필요하다. def plot_line(a, b): # 관절마다 선긋기 if (a.any()> 0 and b.any()>0): plt.plot([a[0], b[0]], [a[1], b[1]], 'k-') def draw_skeleton(sample, pattern): keypoint .. 2022. 3. 17.
PoseNet keypoint로 신체 각도 구하기 해당 코드를 사용하기 위해서는 Pose Estimation model을 통하여 포즈의 좌표를 추출한 다음 원하는 신체 부위의 값을 입력해야 한다. posenet으로 예를 들어 왼쪽어깨의 각도를 추출하고 싶으면 p1 - left shoulder, p2 - left elbow, p3 - left hip 이처럼 변수에 좌표 xy값을 입력한다. angle_vec의 True, False 여부로 시계방향, 반시계방향으로 각도를 얻을 수 있다. def get_angle(p1 : list, p2 : list ,p3 : list, angle_vec : bool) -> float: """ 세점 사이의 끼인 각도 구하기 """ rad = np.arctan2(p3[1] - p1[1], p3[0] - p1[0]) - np.ar.. 2022. 3. 17.
반응형