Skip to content

[2022 K-디지털 챌린지 : NET 챌린지 캠프 시즌9 금상,특별상 수상작품] WHIPPING, 마트를 방문한 시각장애인들이 수월하게 장보도록 돕는 서비스

Notifications You must be signed in to change notification settings

NetChallenge-masking/Whipping

Repository files navigation

2022 K-디지털 챌린지 : NET 챌린지 캠프 시즌9 금상,특별상 수상작품 🏆

WHIPPING, 마트를 방문한 시각장애인들이 수월하게 장보도록 돕는 서비스🛒

▼ 시연 영상 보러 가기 ▼
https://www.youtube.com/watch?v=SEr_MeFHkzk

Skills

image

  • 사용한 언어/툴

    • front-end : Java/android studio
    • back-end : mysql, node-js/visual studio code, Koren-PaaS-Ta

Team: 마스킹(Masking) 🔮

Lead

  • 최애림

FrontEnd

  • 안드로이드 애플리케이션 개발
    • 서민영: 바코드 인식, 장바구니 기능 구현
    • 김채은: 음성 합성(TTS), 장바구니 기능 구현
    • 최애림: 비콘 인식을 이용한 길안내 기능, 텍스트 인식, 음성 인식(STT), 음성 합성(TTS) 구현
    • 곽도윤: 음성 합성(TTS), 비콘 인식을 이용한 길안내 기능 구현

BackEnd

  • 데이터베이스 설계 및 구축: 곽도윤,김채은
  • 서버 개발: 김민경,최원경

Design

  • 김민경

Description

<위핑(WHIPPING)> 개발 목적 및 필요성

우리는 장을 볼 때 많은 진열대, 많은 상품을 보며 제조사, 맛, 가격 등 여러 면을 고려하여 상품을 고른다. 하지만 시각장애인이 접근성이 좋지 않은 대형마트 안에서 누군가의 도움 없이 혼자 물건을 고르는 것은 매우 어려운 일이다. 진열대의 위치는 오로지 시각적으로만 제공되고, 점자 표기가 없는 상품이 많기 때문에 상품의 선택, 상품정보 확인 등은 직원의 도움이 없으면 스스로 문제를 해결하기가 쉽지 않다는 현실적인 어려움이 존재한다. 정부가 발표한 제5차 장애인 정책 종합계획에 따르면, 18년부터 5년간 장애인의 적극적인 사회 참여기회를 보장하고 장애인의 자립생활을 목표로 정책 계획을 수립하고 있다. 현재 제 5차 계획은‘장애인의 자립생활이 이루어지는 포용사회(Inclusive Society)’를 비전으로 사회 전 영역을 망라하는 5대 분야로 진행되고 있다. 그러나 이 정책 계획은 시각장애인이 필요한 물건과 서비스를 소비하고, 지역사회의 시설을 이용하는 것에서 겪게 되는 불편함을 간과한다. 마스킹 팀은 정책 계획의 허점을 인식하였고, 시각장애인의 생활 반경 확장과 삶의 질 향상을 위한 서비스를 개발하기로 기획하였다. 이에 따라 개인의 기본 생활에 직결되는 대형마트에서 시각장애인들이 자립적으로 장을 볼 수 있는 애플리케이션인 <위핑(Whipping)>을 개발하였다.

<위핑(WHIPPING)> 의 특징

해당 기술은 장애인에게 비장애인과 동등하게 매장 직접 방문을 통한 제품 구매 경험을 제공한다는 점에서 주목할 만하다. 기존 시각장애인들의 상품 구매는 주로 마트 직원과의 의사소통으로만 이루어졌다. 또한 본인이 무엇을 구매할지 미리 준비해 와 해당 제품만 가져가다 보니 비장애인이 매장을 둘러보며 얻을 수 있는 우연의 기회를 놓치게 된다. 매장을 직접 방문하여 제품을 자유롭게 구매할 수 있다면 현재 마트에 어떤 제품들이 진열되어 있는지, 행사 상품은 무엇인지 등 더 많은 정보를 얻을 수 있다. 또한 원하는 상품의 트렌드와 신제품이 무엇인지를 알 수 있어 능동적인 제품 구매뿐 아니라 비장애인과 장애인 사이 정보 불균형까지 해소할 수 있다. 더 나아가 이러한 시각장애인의 능동적인 구매는 자립적인 경제생활을 도모한다. <위핑(Whipping)>은 장보기에 특화된 시각 보조 도구이다. 본 서비스는 마트의 카트에 부착할 수 있는 태블릿 PC를 이용하는 형식으로 지원되어 사용자의 접근성을 제고한다는 점에서 여타 서비스들보다 사용자 친화적이다. 본 서비스는 사용자가 실내인 마트에서의 본인의 위치를 비콘을 이용해 파악할 수 있다는 점에서 차별성이 있다. 비콘을 이용해 사용자에게 실시간으로 현재 위치를 알려주기 때문에 실내에서의 위치 파악이 어려운 GPS보다 사용자의 위치를 잘 파악할 수 있다는 점에서 혁신적이다. 이러한 기능은 차후에 대형마트 뿐 아니라 실내 시설의 범용적인 길 안내 서비스로서 발전할 가능성이 있다.

<위핑(WHIPPING)> 소개

Upload_20230504-1837061024_1

  • 안녕하세요, 마트를 방문한 시각장애인들이 수월하게 장 보도록 돕는 서비스인 <위핑> 애플리케이션을 제작한 마스킹 팀입니다.

Upload_20230504-1837061024_2

  • 여러분, 터키 카파도키아의 열기구 절경을 보신 적 있으신가요? 이런 아름다운 풍경을 감상하시는 것만으로도 행복하다고 느끼실 겁니다. 하지만 시각장애인들에게는 어떻게 보일까요?

Upload_20230504-1837061024_3

  • 보통 우리는 ‘시각장애인의 시야’ 하면, 이 검정 화면만을 떠오릅니다. 이러한 시각장애인을 전맹인이라고 합니다. 하지만 전맹인은 시각장애인의 극히 일부분에 해당합니다. 제가 지금부터 보여드리는 사진은 모두 시각장애인이 보는 모습들입니다.

Upload_20230504-1837061024_5 Upload_20230504-1837061024_6 Upload_20230504-1837061024_7

  • 이렇듯, 시각장애인들의 상당수는 여러 가지 잔존 시각기능을 일상생활에서 중요하게 활용하고 있고, 이는 전맹인이 아닌 저시력인에 해당합니다.

Upload_20230504-1837061024_8

  • 그렇다면, 저시력인의 비율은 어느 정도 될까요? 보건복지부가 2018년에 발표한 시각장애인의 현황입니다. 표에서 확인할 수 있듯이 전체 시각장애인 중 1급이 12.5%를 차지하는데, 1급 중에서도 50% 이상은 조금이라도 시력을 가진 사람들입니다. 시각장애인의 90% 이상이 조금은 볼 수 있는 저시력자라고 할 수 있습니다. 따라서 위핑 서비스는 저시력인을 대상으로 하였습니다.

Upload_20230504-1837061024_9

  • 보건복지부에 따르면 매년 등록된 시각장애인의 수는 꾸준히 증가하고 있습니다. 또한, 시각장애인 편의시설 시정 조치 현황은 좋지 못했는데요, 미조치율이 80.6%로 시각장애인이 독립적으로 편의시설을 이용하기가 매우 어려운 현실임을 알려줍니다.

Upload_20230504-1837061024_10

  • 이를 인식하여, 마스킹 팀은 정부 차원의 노력과 정책 종합 계획을 찾아봤습니다. 저희가 조사하고 고민해본 결과, 의식주의 상당수를 해결할 수 있는 ‘소비’ 분야의 초점이 부족하다고 판단했습니다.

Upload_20230504-1837061024_12

  • 따라서, 저희 마스킹 팀은 시각장애인의 생활 반경을 넓히고 삶의 질을 향상하기 위한 배리어프리 서비스의 개발 필요성을 인식하였습니다. 이에 따라, 시각장애인들이 소비 활동에서 겪는 불편함을 해소하고, 궁극적으로 그들의 자립적 경제활동을 지원하는 위핑 애플리케이션을 개발하였습니다.

Upload_20230504-1837061024_13

  • Whipping이란 Whisper와 shopping의 합성어로, 시각장애인에게 생활 시설에 대한 이용 경험의 간극을 해소하고자 했습니다. 이 중 가장 대중적인 시설인 ‘대형 마트’를 우선 대상으로 삼아 집중적으로 개발하여, 장보기에 특화된 ‘시각 보조 도구’로써 비장애인이 경험하는 ‘우연의 기회’와 같은 동등한 구매 경험을 시각장애인에게 제공하고자 합니다.

Upload_20230504-1837061024_14

  • 이러한 위핑은 세 가지 특징을 가집니다. 첫 번째, 위핑은 비콘을 통해 사용자의 현재 위치 정보를 실시간으로 제공함으로써 특정 시설에 대한 이용 격차를 해소하는 확장적인 기술입니다. 두 번째, 위핑은 시각장애인이 KOREN 네트워크를 사용한 애플리케이션에 상품 정보 및 검색 기능을 제공받음으로써 비장애인과의 정보 불균형을 해소하였습니다. 세 번째, 위핑은 카트에 부착된 태블릿PC와 음성합성 기술을 통해 사용자 친화성을 추구하였습니다.

Upload_20230504-1837061024_15

  • 이러한 위핑은 타 서비스들이 충족하지 못하는 사용자 능동성과 사용자의 위치 제공 여부를 동시에 제공하는 측면에서 의미가 있습니다. 시각장애인에게 비장애인과 동등한 구매 경험을 제공함으로써 그들에게 자립적인 사용자 능동성을 보장해주며, 비콘을 통해 상품과 편의시설 위치 정보를 실시간으로 사용자에게 제공하고 있습니다.

Upload_20230504-1837061024_16

  • 다음으로, 개발 협력 방법을 소개해 드리겠습니다. 마스킹 팀은 안드로이드 애플리케이션을 구현하는 두 개의 조와 UI와 서버를 담당하는 한 개의 조로 개발을 진행하였습니다.

Upload_20230504-1837061024_17

  • 또한, GIT을 통해 소스 코드를 관리하고 노션을 통해 회의록과 일정을 관리함으로써 구성원들 간에 충분한 협력이 이루어졌습니다.

Upload_20230504-1837061024_18

  • 지금부터 위핑의 가장 중요한 개발 추진 내용에 대해서 발표하겠습니다. 위핑 서비스는 하나의 안드로이드 앱으로 개발되었습니다. 이 앱은 매장의 카트에 직접 부착된 태블릿PC에 설치되어 사용자의 접근성을 높였습니다. 위핑 앱에는 크게 비콘, 바코드, 텍스트, 음성 인식과 음성합성 기술의 5가지 핵심 기술이 탑재되어 있습니다.

Upload_20230504-1837061024_19

  • 보이시는 화면은 위핑 앱의 메인 실행 화면입니다. 상품 검색, 상품 확인, 장바구니, 위치 검색 탭이 있습니다. 각각의 기능에 대한 소개를 시작하겠습니다.

Upload_20230504-1837061024_20

  • 우선, 위치 검색 탭에 대한 설명입니다. 위핑의 가장 큰 특징이기도 한데요, 비콘 인식을 통해 사용자의 현재 위치가 안내됩니다. 비콘 블루투스 신호를 이용하여, 사용자가 매대 사이를 이동할 시 오른쪽과 왼쪽 매대에 어떤 상품들이 있는지 각각 안내해주는 기능입니다. 비콘의 인식 범위를 시연 장소의 매대와 편의시설에 맞게 설정해서 비콘들 간의 혼재를 줄이고자 했습니다. 또한, 놓치기 쉬운 행사 정보와 같은 ‘우연의 기회’를 실시간으로 제공할 수 있도록 했습니다.

Upload_20230504-1837061024_21

  • 비콘 기술 향상을 위해서 저희 마스킹 팀은 여러 멘토링 의견을 참고하였습니다. 비콘을 통해 위치 안내를 할 시, 사용자가 갑작스레 유턴했을 경우, 비콘 신호만으로는 오른쪽 매대와 왼쪽 매대를 구분하기 어렵다는 멘토링 의견이 있었습니다.

Upload_20230504-1837061024_22

  • 이를 해결하기 위해 마스킹 팀은 사용자가 지나온 위치를 추적하는 핑거프린팅 방식을 이용했습니다. 우선, 크기가 3인 Queue에 최근에 지나온 비콘 정보 2개과 현재 사용자에게 가장 가까운 비콘의 이름 1개를 순서대로 저장합니다. 다음으로, 저장된 Queue에 들어간 정보들의 내용과 순서를 분석해 매대의 우/좌측을 구분하는 알고리즘을 구현했습니다. 이때, Queue에 담긴 비콘의 정보는 실시간으로 코렌의 파스타에 연결되어, 신속하게 매대의 방향을 정확히 제시하는 데 쓰였습니다. 따라서, 마스킹팀은 사용자가 현재 이동하는 방향의 좌측, 우측 매대를 정확하게 구분하는 데에 성공했습니다.

Upload_20230504-1837061024_23

  • 다음은 텍스트 인식입니다. 사용자가 고른 물품이 구매하고자 하는 것이 맞는지 확인하는 과정에서 주로 쓰이는 기능입니다. “카메라 스캔” 버튼을 눌러 촬영하고자 하는 상품을 내장된 카메라에 비춰 스캔하면 화면과 같이 인식된 텍스트가 화면에 출력되고 동시에 음성으로 안내됩니다. 이 기술은 상품명과 같은 큰 글씨를 확인하는 것뿐만 아니라 플래카드 및 팻말의 글씨를 확인하고, 비장애인 사용자가 작게 쓰인 유통기한 글씨를 보고자 할 때도 사용할 수 있습니다.

Upload_20230504-1837061024_24

  • 바코드 인식입니다. 내장된 카메라로 바코드를 인식하면 바코드의 상세정보, 즉 바코드 번호와 바코드 유형을 추출해 이미지를 재생성하고 상품의 정보를 가져와 보시는 화면과 같이 출력합니다. 바코드 오른편의 상품 정보는 음성으로 안내를 받을 수 있고 해당 상품에 대한 수량 변경 또한 가능합니다. “상품 담기” 버튼은 장바구니에 해당 상품을 담습니다.

Upload_20230504-1837061024_25

  • 중간평가 이후 수정된 사안인 내장 카메라 구현 방법에 대해 조금 자세히 설명드리겠습니다. 중간평가까지 저희는 카메라를 사용하는 기능들에서 각각에 맞는 서드파티 애플리케이션을 활용하여 수행하였습니다. 서드파티 애플리케이션을 이용했던 큰 이유는 화질 문제였는데요, 멘토님의 의견을 수용하여 추가적인 공부 진행 후, 카메라 X api를 활용하는 방안으로 개선할 수 있었습니다. 이 api로 카메라를 실행한 후, 구글 비전 api로 텍스트 인식을, Dynamsoft api로 바코드 인식을 구현하여 위핑만의 독자성을 확보하였습니다.

Upload_20230504-1837061024_26

  • 장바구니 기능입니다. 화면의 바를 누르면 해당 상품이 무엇인지 음성으로 안내합니다. 왼쪽 버튼을 통해 해당 상품의 정보를 변경할 수 있고 “총액” 버튼으로 장바구니에 담긴 상품의 총액을 음성으로 안내받을 수 있습니다. 바코드 버튼을 누르면(다음장으로 넘겨서) 이와 같은 화면이 나오는데요, 담긴 상품의 바코드 이미지를 이곳에서 모아볼 수 있습니다.

Upload_20230504-1837061024_27

  • 음성 인식 부분입니다. 사용자가 상품을 음성으로 검색할 때 사용되는 기능인데요, 안드로이드 스튜디오에서 제공하는 스피치 투 텍스트를 이용하였습니다. 마이크를 두 번 터치한 후 사용자가 검색하고 싶은 단어를 음성으로 전달하면, 이를 글자로 변환하고 해당 글자가 들어간 상품들을 리스트로 보여줍니다. 화면에 상품의 위치를 표현하여 비장애인의 경우에도 접근할 수 있도록 하였습니다.

Upload_20230504-1837061024_28

  • 음성 합성 부분입니다. 위핑 내 모든 텍스트를 음성으로 안내 할 때 사용한 기술이며, 안드로이드 스튜디오에서 제공하는 텍스트 투 스피치를 이용하였습니다. 기존에는 안드로이드 기기 자체에서 제공하는 “접근성 기능”을 이용하여 음성 안내를 하였는데요, 중복으로 음성이 안내된다는 문제를 발견하였고, 이에 따라 접근성 기능의 장점만을 따온 “자체적인 접근성 기능”을 구현하여 적용하였습니다.

Upload_20230504-1837061024_30

  • 위핑의 데이터 베이스를 설계하는 과정입니다. 왼쪽은 데이터베이스 설계시 사용한 er 다이어그램으로 각 객체별 관계를 나타낸 그림입니다.

Upload_20230504-1837061024_31

  • 위핑에 쓰인 rest api의 코드 사진입니다. Rest api는 노드 제이에스 플랫폼을 이용하여 작성하였고 파스타에 구축한 데이터베이스를 연동하여 작동하도록 제작하였습니다. 왼쪽의 api는 상품 검색시에 오른쪽은 장바구니에 상품을 담을 때 사용됩니다. Upload_20230504-1837061024_32
  • 상품 수량 관련 api입니다. 수량 추가 및 감소시 사용됩니다. Upload_20230504-1837061024_33
  • 마지막으로 비콘 및 바코드 정보를 가져오는 api입니다.

Upload_20230504-1837061024_34

  • 위핑과 연결된 코렌 네트워크에 대해 설명하겠습니다. 노드 js를 이용해 서버를 파스타 내에 배포하고 mysql을 이용하여 위핑의 데이터베이스를 파스타에 구축하였습니다. 각 애플리케이션을 쉽게 연동할 수 있다는 파스타의 장점을 이용하여 쉽게 이 둘을 연동하여 위핑의 핵심 기능들을 제작하였습니다.

Upload_20230504-1837061024_35

  • 위핑 애플리케이션에 코렌 네트워크가 필요했던 부분은 크게 두가지로 나눌 수 있습니다. 첫번째는 비콘 핑거프린팅 기술인데요, 이 기술은 사용자가 실시간으로 어느 비콘 옆을 지나고 있는지를 인지해야하기 때문에 데이터베이스에서 빠르게 정보를 가져와야 합니다. 코렌 네트워크를 이용한 파스타 클라우드는 실시간으로 소통하기에 굉장히 용이하므로 이 클라우드의 위핑 데이터베이스를 구축하고 실시간으로 해당 데이터베이스와 소통을 하여 정보를 주고받도록 제작하였습니다.

Upload_20230504-1837061024_36

  • 다음은 저희의 서비스가 마트라는 넓은 곳에서 이용되는 애플리케이션이라는 점입니다. 마트는 장소 특성상 데이터베이스가 지속적으로 수정되어야 하고 그 내용 또한 방대합니다. 따라서 해당 데이터들을 실시간으로 처리하는데 용이한 코렌 네트워크는 저희 위핑 애플리케이션의 특성을 살리는 데에 반드시 필요하였습니다. 앞서 언급한 비콘 핑거프린팅 기술에서도 방대한 데이터에 실시간으로 접근하기 용이한 코렌 네트워크를 이용하여 데이터를 지연 없이 빠르게 위핑 애플리케이션으로 전송할 수 있고, 사용자가 실시간으로 정확한 정보를 제공받을 수 있습니다.

Upload_20230504-1837061024_37

  • 중간 평가 이후에 진행된 멘토링 결과를 공유드리겠습니다. 중간 평가 당시, 위핑에 서드파티 애플리케이션을 연동하여 두가지의 기술을 구현하였습니다. 멘토링에서 이를 내장형으로 전부 변경하라는 의견을 주셨고 이에 따라 텍스트 인식, 바코드 인식에서의 내장형 카메라와 위핑만의 접근성 기능을 구현하여 위핑의 독자성을 더욱 재고하였습니다. 위핑의 이용 대상을 확대했으면 좋겠다는 의견에 대한 내용입니다. 우선 ‘저시력인’을 대상으로 한 서비스이므로 음성 안내를 중심으로 구현하였고 이후 검색 화면과 같이 음성 안내만으로는 화면이 필요 없는 일부 부분에 ui를 추가하였습니다. 기존 위핑에서는 장바구니에서 담겨있는 상품만을 안내했지만, 쇼핑의 전체 과정에서 위핑이 사용되길 바란다는 멘토 의견을 수용하여, 바코드를 모아보는 페이지와 총액 안내 버튼을 추가하였습니다.

Upload_20230504-1837061024_38

  • 비콘은 단순히 신호만 가지고 소통을 하기때문에 사용자가 유턴을 하면 왼쪽 오른쪽을 구분을 못할 것 같다고 지적해주시면서 “핑거 프린팅” 을 이용해보라고 멘토링 해주셨습니다. 이에 저희는 핑거프린팅에 대해 추가 공부 후, 큐를 이용하여 사용자의 이동이 있을 경우 왼쪽 오른쪽을 구분하는 기술을 구현하였습니다. 저희의 시연 영상 시나리오에 대한 피드백도 많이 해주셨는데요, 쇼핑이라는 특성상 경우의 수가 많은데 이를 어떻게 시연 영상에 담을지에 대해 고민을 하라는 내용으로 멘토링을 해주셨습니다. 이에 저희는 기존에 물품을 인식하는 과정만 보여주었던 것에서 쇼핑 전체 과정을 보여주는 것으로 변경하고 시연 동선을 재선정하여 촬영 완료하였습니다.

Upload_20230504-1837061024_39

  • 마지막으로 저희 애플리케이션, 위핑을 정리하여 설명드리겠습니다. 보시는 것은 위핑의 화면 흐름도인데요, 어떤 기능을 수행할 수 있는지와 화면과 화면 사이의 관계를 간단하게 표현한 그림입니다.

Upload_20230504-1837061024_40

  • 위핑의 ui 전체를 모아본 페이지입니다. 총 11개의 화면으로 구성되어있으며 해당 화면들은 모바일 애플리케이션 콘텐츠 접근성 지침을 참고하여 제작하였습니다.

Upload_20230504-1837061024_41

  • 위핑이 쇼핑 과정에서 어떻게 쓰이는지 마지막으로 간단하게 정리를 해보았습니다. 먼저 위핑 서비스를 제공하는 쇼핑 카트를 대여하고, 매장 입구로 진입하면 주위의 비콘들로부터 정보를 실시간으로 받아 주위의 다양한 정보를 음성으로 안내 받습니다. 얻은 정보로 특정 매대에 도착한 사용자는 매대 내 상품 카테고리를 알려주는 비콘을 통해 위치를 좁혀가며 상품을 찾습니다.

Upload_20230504-1837061024_42

  • 찾은 상품을 텍스트 인식을 이용해 맞는지 확인하고, 바코드를 인식하여 상품을 장바구니에 담습니다. 이를 반복하며 쇼핑을 마친 사용자는 계산대에서 장바구니 화면에 모아져있는 바코드를 통해 손쉽게 계산까지 마무리합니다.

Upload_20230504-1837061024_43

  • 이 과정을 담은 시연 영상 촬영 과정입니다. 이마트하월곡점에서 진행하였고 프로세스 2부터 6까지의 과정을 자세히 담았으니 이 점 참고하여 시청해주시면 감사하겠습니다.

Upload_20230504-1837061024_44

  • 시각 장애인들은 비장애인과 동일한 환경에서 동일한 정보와 서비스를 제공받기 쉽지않은데요. 하지만 <위핑(Whipping)>은 자신이 원하는 상품을 ‘발견’하고, 유통기한을 ‘확인’하고, 계산대로 ‘이동'하는 일련의 과정에서 도움을 줍니다. 또한 우연의 기회를 잡을 수 있도록 상세 정보까지 음성으로 안내하기에, 비장애인과 시각 장애인 사이의 정보 격차를 해소할 수 있습니다. 이는 궁극적으로 마트 내에서 '비장애인과 동일한 경험'을 도출해낼 수 있다고 기대할 수 있습니다.

Upload_20230504-1837061024_45

  • 위핑, 우리의 쇼핑에는 제약이 없을것, 지금까지 마스킹팀의 위핑이었습니다 감사합니다.

About

[2022 K-디지털 챌린지 : NET 챌린지 캠프 시즌9 금상,특별상 수상작품] WHIPPING, 마트를 방문한 시각장애인들이 수월하게 장보도록 돕는 서비스

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages