본문 바로가기

Deep Learning21

YOLO YOLOv3를 활용한 전동킥보드 헬멧 미착용 감시 시스템 만들기 5 (완) Demo Video Scooter Helmet Detector with YOLO v3 전동킥보드 헬멧 착용 탐지 - YouTube PyQt, 일러스트레이터, 포토샵, 프리미어...를 새로 배워서 데모 영상을 만들었다! 2021. 6. 6.
YOLOv3를 활용한 전동킥보드 헬멧 미착용 감시 시스템 만들기 4 Data Augmentation 여태까지 진행됐던 결과물은 정확도가 많이 아쉬운 점이 있었는데, 이를 개선하기 위해 우선 Data Augmentation을 진행하기로 했다. 기존에 trainset이 57장이었다면, 웹크롤링을 추가로 해서 원본 데이터 셋을 150장으로 만들었다. 그리고 Imgaug를 통해서 Augmented set을 만들었다. https://github.com/aleju/imgaug 위 라이브러리를 활용하면 object detection을 할 때 데이터를 증폭시키기 유용하다. 단지 사진만 변형해주는 것이 아니라 설정되어있는 bounding box도 한꺼번에 옮겨주기 때문이다. 화소 값 0.5~1.5배, 평행이동 -30~30픽셀, 스케일 0.5~1배, 회전 -15~15도, 좌우플립(확률 0.. 2021. 5. 17.
YOLOv3를 활용한 전동킥보드 헬멧 미착용 감시 시스템 만들기 3 연구 기간별 수행 내용 - 3월 2일 ~ 3월 9일 : 팀 빌딩 및 연구실 컨택 전자공학과 지능정보처리 연구실 교수님께 지도받게 되었다. 초기 연구 주제는 음식의 칼로리를 계산해주는 AI를 만드는 것이었다. 음식 사진을 찍으면 어떤 음식인지 인식하고 그것의 평균적인 칼로리를 알려주는 서비스를 구상했다. Zoom으로 진행된 면담에서는 교수님께서 Object detection에 대한 공부를 더 해볼 것을 권유하셨다. 그래서 아직 해당 분야에 대한 이해가 충분하지 않다는 것을 깨닫고 관련 자료를 찾아서 학습하기로 하였다. 교수님께서는 지능정보처리연구실 석사과정을 멘토로 배정해주셨다. - 3월 9일 ~ 3월 14일 : Object detection 관련 공부, 연구 계획서 제출 PR12와 같은 논문 리뷰를 비롯.. 2021. 5. 13.
YOLOv3를 활용한 전동킥보드 헬멧 미착용 감시 시스템 만들기 2 연구 목표 AI를 활용하여 전동킥보드 헬멧 미착용 감시 시스템을 개발한다. 아이디어 스케치 차량 전동킥보드의 차이점은 차량은 번호판이 있지만, 전동킥보드는 그렇지 않다는 점이다. 따라서 헬멧 미착용자를 object detection으로 잡아낸다고 해도, 그것이 누구인지를 아는 방법이 필요했다. 대표적인 전동킥보드 업체인 ‘킥고잉’ 측에 장소/일자별로 킥보드를 조회할 수 있는지를 메일로 문의한 결과, 이동 경로 및 장소/시간에 따른 대여 건 조회가 가능하다는 답변을 받았다. 즉 킥보드에 번호판이 없더라도 카메라에 찍힌 시각과 카메라가 위치한 장소의 정보만 있으면 어떤 킥보드가 빌려졌고 누가 탔는지를 역으로 조회할 수 있게 된다. 이를 도식화한 그림은 아래와 같다. 도로에서 카메라를 통해 킥보드를 촬영하고,.. 2021. 5. 8.
YOLOv3를 활용한 전동킥보드 헬멧 미착용 감시 시스템 만들기 1 들어가며 안녕하세요, 랑꾼입니다. 학교과제로 개인프로젝트를 진행하고 있는데 원래 팀프로젝트이지만 팀원을 못구해서 강제 개인 그 과정을 남기고 싶어 글을 씁니다. 연구 주제는 Object detection을 활용하여 전동킥보드 헬멧 미착용을 알림해주는 시스템을 만드는 것입니다. 재밌게 봐주시고, 궁금하신 점 있으면 댓글 또는 메일 주세요! 연구 주제 전동킥보드 헬멧 미착용 감시 시스템 개발 연구의 필요성 법적으로 헬멧 착용이 의무화되므로, 효율적 단속과 안전 의식 확대를 위해 자동화 과정 개발이 필요하다고 요약할 수 있다. 평소 길을 걷다 보면 공유 전동킥보드를 이용하는 사람들을 쉽게 볼 수 있다. 얼마나 많은 사람이 전동킥보드를 이용하고 있을까? 전동킥보드는 PM(Personal Mobility)으로 분.. 2021. 5. 8.
Batch Normalization, Transfer Learning futurelab.creatorlink.net/ Batch Normalization Normalization을 하는 이뉴는 인풋 레이어의 스케일을 맞춰줘야 어느 방향에서든 학습이 잘 일어나기 때문이었는데, Batch Normalization은 layer마다 분포를 균일하게 잡아주는 역할을 합니다. Normalization은 activation function에 들어가기 전에 일어납니다.(affine 변환 레벨). 표준정규분포가 최상의 분포가 아닐 수 있기 때문에 추가 변수를 곱해서 분포를 재조정해줍니다. input에서는 데이터 전체에 대해서 normalization을 할 수 있지만, 연산중에는 mini-batch에 해당하는 계산만 하기 때문에, batch별로 평균과 표준편차가 구해집니다. 그리고 한 ba.. 2020. 9. 19.
Hyper parameter Tuning 미래연구소 홈페이지: futurelab.creatorlink.net/ Hyperparameter Tuning하기 모델을 구성하는 데 다양한 Hyper parameter들이 있는데, 이를 어떻게 조절하는 것이 좋은지에 대해 배웠습니다. Hyperparameter는 위 그림과 같이 크게 두 가지로 분류해서 생각해줄 수 있는데, Model 자체에 관한 것과 Optimization에 관한 것입니다. 각각 어떤 방향으로 하는 것이 좋은지 정리해보았습니다. Model `the number of layers`: MLP에서는 1~10 개의 레이어를 사용하고 매우 유동적입니다. CNN에서는 보통 152개 이하, 근래 들어서는 1000개까지도 사용하곤 합니다. `the number of units`: 10~1024개의 u.. 2020. 9. 13.
Pandas 기초 2: Indexing & Slicing 행을 추출할 때 1) loc(iloc) 를 이용한 indexing `.loc`와 `.iloc`를 쓸 수 있는데, `.loc`는 정수가 아닌 값을, `.iloc`는 정수값을 넣어줍니다. import pandas as pd d1=pd.DataFrame(data=[['3000원','2500원','1500원'],['2800원','2700원','1300원']], index=['A마트','B마트'],columns=['우유','맥주','요거트']) d1 여기서 행을(A마트만) indexing 해보자. Series로 출력됩니다. d1.loc['A마트'] 참고로, 열을 인덱싱하려면 아래와 같이 해주면 됩니다. d1.loc[:,'우유'] `Fancy Indexing`을 이용하게 되면 떨어져 있는 복수의 행도 Indexin.. 2020. 9. 1.
Pandas 기초 1: Series와 DataFrame 다루기 Pandas란? pandas는 `Series`나 `Dataframe`으로 데이터를 처리할 수 있도록 돕는 강력한 라이브러리입니다. Juypter 창에서 아래와 같이 import해서 사용할 수 있습니다. import pandas as pd `Series`는 index와 value로 구성되어있는 한 줄짜리 표라고 생각하시면 됩니다. `Dataframe`은 Series를 열 방향으로 붙여 만든 데이터 구조로 2차원 배열과 비슷합니다. Series 만들기 세 가지 방법으로 Series를 만들 수 있습니다. value만 주면 index가 자동으로 0부터 붙고, index를 붙일 수도 있고, dictionary로 줄 수도 있습니다. 1) value만 주기 s1=pd.Series(data=['랑','꾼','의','리.. 2020. 9. 1.
Metrics 미래연구소 주소:futurelab.creatorlink.net/ Metrics 1. Regression 1) mean absolute error \[MAE = \frac{{\sum {\left| {y - \hat y} \right|} }}{n}\] Outlier에 robust하다. 즉, 둔감하기 때문에 성능이 좋 할 수 없다. 2) root mean square error \[RMSE = \sqrt {\frac{{\sum {{{(y - \hat y)}^2}} }}{n}} \] Outlier에 더 민감하게 반응한다. \[\begin{gathered} y:2 \hfill \\ \hat y:1,2,3,100 \hfill \\ \end{gathered} \] 위와 같은 경우, MAE는 25가, RMSE는 $\f.. 2020. 8. 31.