클라우드 기반의 CCTV를 활용한 유동인구 솔루션인 오딘은 소프트웨어 마에스트로 연수 기간동안 기획한 서비스입니다. 자료조사, 프레젠테이션 디자인, 발표, 서비스 기획 등을 담당했으며 머신러닝과 기술을 시장에 거리낌 없이 적용시키는 법에 대해 배울 수 있는 기회였습니다.
1. Cloud Based CCTV Analysis System
클라우드 기반 CCTV 분석서비스 솔루션
SW Maestro 8th Team Odin
박준혁, 박상욱, 박중수
2. About Team
Language : JAVA(주력), Swift, Python, PHP, Kotlin, Ruby
Tech : Web(Full Stack), Android, IOS, Crawling, Deep Learning
Cloud : AWS, Azure
연세대학교 글로벌융합공학부
- Image Super-Resolution Using DCGAN (2016.07. ~ 2016.08.)
- Image Quilting for Texture Synthesis and Transfer (2015.12. ~ 2016.02.)
- web front-end(html, css, javascript, nodejs),
machine learning(torch), image processing(matlab), etc(python, C, hadoop, android)
박준혁
박중수
-C-Lab 1기 전 (주)크레센트 대표 (2014.12~2016.10)
-(주)파이언스 Marketing and Strategy Specialist (2016.11~2017.03)
- 과기정통부, SW중심사회, 핀테크지원센터 기자단(2017.03. ~ 2017.12.)
- mobile front (ios Swift)
- business, UX research, UI design
박상욱연세대학교 정경대학 경영학부
성공회대학교 소프트웨어공학과
3. Situation
우리 주변에는 다양한 상가들이 존재하고 각각 다양한 임대료를
내야하지만, 정확한 임대료를 책정받는 건물주는 없습니다.
우리는 건물주가 지혜롭고 현명한 결정을 할 수 있도록 돕고자 합니다.
현재 부동산 컨설팅 서비스 회사는 건물주에게 다양한 정보를
제공하고 있는데 컨설팅 회사에서 진행하는 임대료 책정 방식을
머신러닝을 통해 보다 더 보완하고, 해결하고자 합니다.
다양한 상가들, 서로 다른 임대료.
4. 어떻게하면 기존 건물의 가치를 내부 상권분석을 통해
더 정교하게, 더 정확하게 가격을 높일 수 있을까?
Problem
6. User Interview
Customer MOU
이러한 인터뷰 결과를 바탕으로 ODIN은 현재 제작한 프로토타입을
보여주고 실제 행사에 솔루션을 투입할 수 있게되었습니다.
부동산 컨설턴트 B (35)
“건물당 월 800만원의 비용을
부과한다면, 충분히 합리적이다.”
기존 건물 내의 CCTV를 분석해주는
솔루션은 한번도 사용한 적이 없다.
하지만, 이를 사용하게 된다면 건물의
가치를 설명하는데 훨씬 더 수월할
것이라고 생각함. 이런 서비스를
사용하는데 이용료가 제일 중요한데,
7. 영상에 있는 유동인구
머신러닝을 활용해 분류
및 측정작업 진행
유동인구 계수 측정값을
통해 평균 단가와
시간대별 보고서 제공
15~30분 단위로
유동인구 영상 서버로 전달
ODIN 비즈니스 모델
- IP 카메라로 건물주변 유동인구 촬영 후 실시간 서버전송
ODIN 기술 구축 내역
Service Structure
CCTV 혹은 카메라로
건물 앞의 유동인구 촬영
- 유동인구 계수 측정값으로 시간대별 레포트와 추가적인
특징값 입력으로 추후 유동인구 예측 서비스 제공
- 딥러닝 신경망에 입력으로 전달하여 출력으로
분할한 프레임들의 중복없는 유동인구 수 추출
- 분석할 시간대의 영상을 프레임단위로 분할
- 전송된 영상을 시간대별로 분할하여 저장
클라우드 기반 CCTV 분석 서비스를 제공함으로서
다양한 유동인구 솔루션이 필요한 회사에게 제공
대형 행사 / 컨퍼런스 유동인구 조사 목적
소상공인 유동인구 분석을 통한 유망 업종 분석
건물주 대상 상권분석을 통한 적정량의 임대료 제안
유동인구 보고서
정기 구독 서비스
웹 기반 보고서
성별/나이 타겟광고
유동인구 보고서
섭스크립션 제도
8. Tech Documentation
People counting 방법: 기존에는 그냥 영상의 특정 영역에 초점을 맞춰, 그를 지나가는 개체를 새는 방식으로
tracking을 하기도 했음-> 이는 설정한 영역을 지나가는 개체만 셀 수 있고, 사람이 아닌 다른 개체도 샐 수 있게됨.
기존 human detection 방법: 사람이 있는 Positive Examples 와 Negative Examples 를 나누어
SVM을 취하는 방식 등 아무튼 사람 전체 이미지를 인식하려고 했음
본 프로젝트에서는 ArtTrack: Articulated Multi-person Tracking in the Wild(1705), Realtime Multi-Person
2D Pose Estimation using Part Affinity Fields(1611) 등에서 제시된 pose-estimation 을 활용. 이는 신체 주요
부위를 각각 estimation 한 후, 그를 greedy parsing algorithm 등으로 연결하여 human detection 을 하는 것이기
때문에 기존보다 정확도가 높음.
목표
기존방식
9. #3. Object tracking
(by CamShift)
주어진 동영상에서 등장한 사람의 수를 측정하는 기술 개발
Goal
#1. Input video
#2. Human detection
(by pose-tensorflow)
DEMO : https://youtu.be/5lSUhCjgD7g
동영상을 입력 받음 프레임 단위로 분할하고 그를 이미지로 변환 이미지에서 사람 찾기 < human-detection >
새로운 사람이 나오면 count ++ 새로 나온 사람을 추적 < object-tracking >
추적 중인 사람이 프레임 밖으로 나가면 추적 종료 인식한 사람을 분석하여 특징 추출 < image-feature-extraction >
Tech Documentation
10. Tech Documentation
기존에 CCTV의 실시간 화면을 받아보려면 별도의 클라이언트를 필요로 했었음 그래서 그 CCTV의 화면을 어디서든 볼 수 있도록
웹에서 표출할 수 있는 기술을 개발 웹 서버에서 실시간으로 CCTV에서 프레임을 수신하여 메모리에 저장 새로운 프레임을
수신할 때마다 메모리에 덮어 씌움 클라이언트에서 프레임 수신요청이 온다면 웹소켓을 통해 현재 프레임을 발신해줌
클라이언트에서는 BLOB형식으로 수신된 프레임을 화면에 출력함 이 방식으로 초당 20프레임 이상의 깔끔한 화질을 출력가능
웹이기 때문에 모든 기기에서 실시간 CCTV화면을 수신가능 이를 이용해 실시간 유동인구 수를 보여줌으로써 고객에게 신뢰성 확보
CCTV의 실시간 화면을 웹에 표출하는 기술 개발
Goal
11. [웹/모바일 어플리케이션 실제 개발 프로토타입 화면]
실시간으로 카메라의 프레임을 출력 추후 딥러닝과 연동하여
실시간 유동인구 수를 출력 예정
Tech Documentation
12. ODIN은 아직까지 경쟁사가 없는 상태이며, “블루오션”인
다양한 업종에서 원활한 유동분석 인구를 도울 것입니다.
소상공인 내부 카메라를 통한 연령/나이분석 건물주 대상 주변 상권 유동인구 분석
뉴스/언론 통계 집계를 위한 인구 분석대형 컨퍼런스 / 아트페어 등 행사 유동인구 분석
Competitive Analysis