졸업작품중간보고서 빅데이터기반의패션의류분석 T6 200711459 이남섭 200711468 장재호 201011346 오지연 지도교수님하영국교수님 ( 인 ) - 1 -
- 목차 - 1. 프로젝트소개 3 1.1 배경및목적 3 1.2 프로젝트기능 4 2. 관련기술 5 2.1 웹사이트개발 5 2.2 패션데이터분석알고리즘 11 3. 기대효과 13 4. 진행상황 13 5. 참조 20-2 -
1. 프로젝트소개 1.1 배경및목적최근에대부분의사람들이페이스북, 트위터, 인스타그램같은 SNS 서비스를이용한다. SNS는특정한관심이나활동을공유하는사람들사이의관계망을구축해주는온라인서비스이다. 하지만사용하는사람들이늘어나면서너무많은정보중에서원하는정보를얻기가힘들어졌다. 이자료에서나타듯이 20대가특히관심을갖는부분은외모이다. 따라서이번프로젝트에서는패션스타일에대한부분으로특화된 SNS를만들면서, 패션사진분석과추천기능을통해쇼핑몰과의연동을목적으로하였다. 가상공간에존재하는상점인인터넷, 모바일쇼핑몰은오프라인매장과달리시간적, 공간적제약이없다는강점을지니고있으며, 향후쇼핑시장은더욱확대될것으로기대된다. 인터넷쇼핑시장이커지면서원하는의류를인터넷으로구매하는비율이점차높아졌으나, 시중에있는패션관련어플리케이션이나인터넷서비스들은단순히코디만을추천해주고있다. 따라서우리는사용자들이 SNS를통해다른사람들과스타일에대한정보를공유하며, 인터넷에있는패션관련사진들을분석하고다른사람들의포스팅을바탕으로보다편리하게원하는정보를찾을수있도록하고새로운스타일을추천해주며판매자의쇼핌몰까지연동하는통합패션관련 SNS를구현하고자한다. - 3 -
1.2 프로젝트의기능 (use case 분석 ) - 4 -
여기서추천기능은 Clothing Parsing 알고리즘을사용하여빅데이터를분석하는기 능으로상세기술설명에서자세하게설명함 2. 관련기술 2.1 웹사이트개발 1 Spring Framework - Rod Johnson 이만든오픈소스프레임워크로복잡한엔터프라이즈애플리케이션개발을겨냥하여만들어진프레임워크 - Ejb 기반으로개발을하지않고 POJO 기반으로개발을하더라도가볍고제어가가능한상호관련이적은 AOP 를지원하고컨테이너를통해라이프사이클을관리하고 xml 기반으로컴포넌트를개발할수있도록지원해주는프레임워크 - 특징 - 경량의프레임워크 ( 가볍다 ) - 무거운 EJB 의대체기술 - 설정파일을통해의존관계를주입하는 DI 지원 ( 느슨한결합도 ) - 공통관심사항을분리하는 AOP 지원 ( 트랜잭션, 로깅, 보안 ) - 특정 interface 나 class 를상속받지않아도되는 POJO 지원 - 영속성과관련된다양한 API 지원 (JDBC, mybatis, Hibernate 등등 ) Spring 모듈 - 5 -
Spring Core 스프링의근간이되는 IoC( 또는 DI) 기능을지원, Bean Factory 를기반으로 Bean 클래 스들을제어할수있는기능을지원한다 Spring AOP 스프링에 Aspect Oriented Programming 을지원하는기능이다. 이기능은 AOP Alliance 기반하에서개발되었다. Spring ORM ORM(Object/ Relational Mapping) 기능을제공하는모듈이다. ORM 프레임워크 (Hibernate, mybatis) 와 JDO(Java Data Object) 를지원한다. Spring DAO DAO(Data Access Object) 기능을제공하는모듈. JDBC 에의한데이터베이스엑세스 를지원하고트랜잭션관리의기반이된다. Spring Web 웹어플리케이션개발에필요한 Web Application Context 와 Multipart Request 등 의기능을지원한다. 또한스트럿츠, 웹워크와같은프레임워크의통합을지원하는부 분을담당한다. - DI(Dependency Injection) : 의존성주입 - DI 는스프링컨테이너가지원하는핵심개념중하나 - DI 는객체사이의의존관계를객체자신이아닌외부의조립기가수행 - 설정파일이나어노테이션을이용하여객체간의의존관계를설정 - 6 -
- Spring MVC 3.x 1 2.x 에서는특정 Conroller 를상속하거나 implements 해야하나 3.x 에서는 POJO 코딩방식이가능하다. 2 2.x 에서는 Controller 마다클래스가필요하여많은컨트롤러클래스가필요하고설정문서가길어졌으나 3.x 에서는클래스하나에메소드로사용자요청처리가가능하다. 3 3.X 에서 Controller 부분이많이변했으며 MVC 의어노테이션을권장함. 4 org.springframework.web.servlet.mvc 안의 Abstractcontroller 를제외한대부분이 Deprecated 되었음. - Spring MVC 컴포넌트간의관계와흐름 - Client 의요청이들어오면 DispatchServlet 이가장먼저요청을받는다. - HandlerMapping 이요청에해당하는 Controller 를 return - 7 -
- Controller 는비즈니스로직을수행하고 ModelAndView 에반영하여리턴 - ViewResolver 는 view name 을받아해당하는 View 객체를 return - View 는 Model 객체를받아 rendering. 2 mybatis - 개발과유지보수가쉽도록소스코드가박혀있는 SQL 을별도의파일로분리하고, 단순하고반복적인 JDBC 코드를캡슐화하여데이터베이스프로그래밍을간결하게만들기위한프레임워크 - mybatis 사용시나리오 -> Dao 는 SqlSessionFactory 에게 SQL 을실행할객체를요구 -> SqlSessionFactory 는 SqlSession 객체를생성하여반환 -> Dao 는 SqlSession 객체에게 SQL 실행을요청 -> SqlSession 객체는 SQL 이저장된맵퍼파일 (XML) 에서 SQL 을찾는다. -> SqlSession 은 JDBC 드라이버를통해데이터베이스에질의를실행 -> SqlSession 은데이터베이스로부터가져온질의결과를객체로생성하여반환 -> Dao 는사용이끝난 SqlSession 을닫는다 * mybatis 의핵심컴포넌트 - SqlSession * SqlSession 의주요메소드 - 동적 SQL * 동적 SQL 을작성할때사용하는엘리먼트들 - 8 -
3 Maven - 프로젝트오브젝트모델, 표준집합, 프로젝트라이프사이클, 의존성관리시스템, 라이프사이클에정의된단계에서플러그인골을실행하기위한로직을포함하는관리툴 - Maven 과 Ant 의차이점 - 9 -
4 부트스트랩 - 트위터에서근무하는 UI 디자이너인마크오토 (Mark Otto) 와개발자인야곱손튼 (Jacob Thhornton) 이만든웹디자인프레임워크 - HTML + CSS + JS 를이용한프레임워크 - 부트스트랩의구조 - 부트스트랩을사용에필요한기본서식 HTML - 10 -
- 부트스트랩특징 1) 시간절약 2) 커스터마이징 : 제공되는여러템플릿중에목적에맞게원하는부분만취하여사용 3) 디자인 : 모바일, PC 등목적에맞는적절한그리드배치, 버튼이나경고창등복잡한자바스크립트기능들기본구현 4) 일관성 : 플랫폼에상관없이일관성있는화면이나기능을제공 5) 반응형웹 : 모바일기기나 PC 나해상도에맞춰서적절하게화면을구성해주는반응형 2.2 패션데이터분석알고리즘 (Clothing Parsing) 1)Problem Formulation - 11 -
2)Superpixels - 이미지를의미있는픽셀조각으로나누는알고리즘 - 위논문의것을그대로사용. 단, 임계값을조절하여각영상이미지에서하나의과분할만얻음 3)Pose Estimation 4)Clothing Labeling - 12 -
5)Pose Re-estimation 3. 기대효과 - 패션분야 SNS 와블로그, 쇼핑몰등의서비스를통합하여제공함으로써사용자가손쉽게패션에관련된정보를획득할수있다. - 최근가장인기가높았던패션아이템들에대한정보를조회할수있으며, 다른사용자들의포스팅을통해나에게어울리는아이템과코디를추천받을수있다. - 판매자또한사용자들의요구에맞는아이템이나코디를제공함으로써높은광고효과를얻을수있다. 4. 진행상황 - 크게 1웹어플리케이션부분과 2사진분석관련알고리즘을통한추천기능구현으로나누어서개발중이며, 현재웹어플리케이션구현이대부분완료된상황이고, 사진분석알고리즘은논문분석단계에있다. 현재문제공식화와슈퍼픽셀관련논문분석이완료된상태이며, 앞으로나머지 3개부분의논문분석을끝내고알고리즘을구현할예정이다. - 13 -
5. 4.1 웹어플리케이션부분진행상황 - Use case diagram - 14 -
- 물리적 / 논리적데이터베이스모델링 추천기능을업데이트하면서해당부분에대한수정이필요할것으로예상 - 15 -
6. - 실행화면 메인화면 회원가입 / 이메일인증 - 16 -
로그인화면 기본메인페이지 포스팅시간순정렬 등록한옷장 기본페이지 마이스타일기본메뉴 - 17 -
아이템등록 아이템포스팅 - 18 -
스타일포스팅 스타일포스팅상세조회 / 사용된아이템확인 판매자연동화면 - 19 -
SNS 기능 -fans(following) 된사용자확인 SNS 기능 -Stars( 나를 following) 사용자확인 스타뉴스 ( 팬으로등록한사용자들의활동내역보기 ) 7. 참조문헌 - Stony Brook 대학교의 Parsing Clothing 논문참조 - Stony Brook 대학교의 fashion_parsing 논문참조 - P. Arbelaez, M. Maire, C. Fowlkes, and J. Malik. 의 Contour detection and hierarchical image segmentation 논문참조 - 열혈강의영상처리프로그래밍책참조 - 20 -