Skip to content

화장품의 영문 전성분 라벨을 촬영하면 성분의 안전 등급을 보여준다.

Notifications You must be signed in to change notification settings

Eunice0927/IngredientsProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 

Repository files navigation

IngredientsProject

화장품의 영문 전성분 라벨을 촬영하면 성분의 안전 등급을 보여준다.

프로젝트 설명

본 프로젝트는 클린 뷰티 및 비건 등이 화장품 업계 트랜드로 떠오르는 등 화장품 성분에 대한 소비자의 관심이 높아지는 상황속에서
업계 근무 경험을 통해 성분의 안전성 정보에 보다 더 간단하고 화장품에 대한 사전 정보 없이 접근할 수 있게 하고자 하는 의도로 기획되었다.
화장품 명을 알아야 하거나 국문 성분명만 인식 가능한 타 서비스와 달리 본 프로젝트는 화장품에 대한 정보 없이
특히 해외 제조 화장품에 대하여 영문 성분명만 가지고 성분에 대한 간단한 정보를 제공한다.
앱에서 제공되는 성분 안전 등급은 미국의 비영리 환경 단체인 EWG(Environment Working Group)에서 제공하는 Skin Deep 성분 안전 등급을 따른다.

주요 기술 요소

  • 촬영한 사진의 텍스트 인식을 위한 OCR API는 CocoaPods을 통해 설치한 Google에서 제공하는 MLKit을 사용하였다.
  • HomeViewController 에서 Show Result 버튼을 터치하면 OCR이 시행된다.
  • 메인 화면은 TabBar로 이동한다.
  • 튜토리얼 뷰는 ScrollView로 만들어졌다.
  • 사용 기술: swift(5.7.2), python, SQLite
  • 지원 버전: iOS 16.0 이상

Data

  • Skin Deep Data
    • API 제공을 하지 않아 홈페이지에서 전성분 데이터를 python으로 크롤링한 뒤 SQLite 타입으로 저장하였다.
    • 사용 데이터: 영문성분명, 성분안전등급
  • 식품의약품안전처 제공 API
    • API 구조상 인식된 영문 성분명으로 국문 성분명을 검색하기 어렵고 매 번 매칭을 진행하면 시간 복잡도가 올라가므로 식품의약품안전처 API를 SQlite 타입으로 저장하였다.
    • 사용 데이터: 영문성분명, 국문성분명
  • 최종 사용 Data
    • Skin Deep Data와 식품의약품안전처 API Data의 영문성분명 교집합에 대해서 SQLite 테이블 병합을 진행
    • 사용 데이터: 영문성분명, 국문성분명, 성분안전등급

스크린샷

튜토리얼

제목 이미지 이미지2
실행 영상 튜토리얼 영상
튜토리얼1-2 tutorial1 tutorial2
튜토리얼3-4 tutorial3 tutorial4

기본 홈 화면

기본 홈 화면

카메라 사용

제목 이미지
실행 영상 실행 영상
카메라 권한 요청 카메라 권한 요청
카메라 사용 카메라 사용
사진 선택 완료 사진 선택 완료

갤러리 사용

제목 이미지 이미지2 이미지3
실행 영상 실행 영상1 실행 영상2 실행 영상3
갤러리 사진 선택 갤러리 사진 선택

OCR 결과 리스트

제목 이미지
결과 화면 결과 화면

추가 개발 필요한 내용

  • DB에서 검색되지 않은 상품은 결과 화면에 보여지지 않는 이슈
  • 성분을 구분하는 구분자를 브랜드마다 다른 기호로 표기한 점 보완 방안
  • 동일한 성분명을 브랜드마다 조금씩 다른 단어로 작성한 점 보완 방안
  • 곡면에 부착된 전성분 사진 인식률 개선을 위한 촬영된 사진 개선 기능 추가
  • 인식된 텍스트의 오타 검사 기능

About

화장품의 영문 전성분 라벨을 촬영하면 성분의 안전 등급을 보여준다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published