KR102433391B1 - 음식 검색 서비스 제공 장치 및 방법 - Google Patents

음식 검색 서비스 제공 장치 및 방법 Download PDF

Info

Publication number
KR102433391B1
KR102433391B1 KR1020160004912A KR20160004912A KR102433391B1 KR 102433391 B1 KR102433391 B1 KR 102433391B1 KR 1020160004912 A KR1020160004912 A KR 1020160004912A KR 20160004912 A KR20160004912 A KR 20160004912A KR 102433391 B1 KR102433391 B1 KR 102433391B1
Authority
KR
South Korea
Prior art keywords
food
candidate
area
regions
ratio
Prior art date
Application number
KR1020160004912A
Other languages
English (en)
Other versions
KR20170085372A (ko
Inventor
정다운
이근동
이승재
손형관
오원근
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020160004912A priority Critical patent/KR102433391B1/ko
Priority to US15/235,152 priority patent/US9972080B2/en
Publication of KR20170085372A publication Critical patent/KR20170085372A/ko
Application granted granted Critical
Publication of KR102433391B1 publication Critical patent/KR102433391B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5854Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using shape and object relationship
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/532Query formulation, e.g. graphical querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/56Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5838Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06K9/6201
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/12Hotels or restaurants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30128Food products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/68Food, e.g. fruit or vegetables

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Tourism & Hospitality (AREA)
  • Evolutionary Computation (AREA)
  • Quality & Reliability (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)

Abstract

본 발명은 음식 검색 서비스 제공 장치로, 이미지 내에서 음식이 위치하는 영역을 탐색하여 다수 개의 후보 영역들을 검출하는 음식 영역 검출부와, 후보 영역들 간의 겹치는 영역에 대한 비율이 유사한 후보 영역들을 그룹화하는 후보 영역 정제부와, 상기 후보 영역 정제부에 의해 그룹화된 후보 영역들에서 음식 영역의 위치 및 음식 종류를 결정하는 검색 결과 생성부를 포함한다.

Description

음식 검색 서비스 제공 장치 및 방법{Apparatus and Method for Food Search Service}
본 발명은 음식 검색 서비스 기술에 관한 것으로, 특히 음식 영상에서 음식 영역으로 판별될 수 있는 후보 영역을 검출 및 정제하고 위치를 선정하는 음식 검색 서비스 제공 장치 및 방법에 관한 것이다.
음식 검색 서비스는 음식에 대한 여러 가지 정보, 예컨대, 맛, 영양, 음식점 위치 및 레시피 등을 찾아 사용자에게 제공한다. 최근 포털 사업자들은 자신들이 보유한 음식 이미지를 분석하여 음식과 관련된 정보 검색 서비스를 제공하는데 적극적이다. 대표적인 음식 검색 서비스로는 Google의 'Im2Carlories'나 Naver의 '맛집뷰' 등이 있다.
그런데 음식 이미지는 중앙에 한 종류의 음식이 위치하기도 하지만, 상차림이나 식판과 같이 다수 개의 음식들을 포함하기도 한다. 따라서, 이미지 안의 모든 음식이 검색되려면, 특정 범위 내 음식 영역을 다수 검출하여 분류하고 그것의 위치를 나타낼 수 있는 후보 영역 검출 기술이 필요하다.
이와 관련하여, 이미지 전체 영역에 대해서 DPM(Deformable Part Model), 원형 검출(Circle detector), 영역 분할(Region segmentation)을 병합해 후보 영역을 검출하고, 각 후보 영역에 대해 색상 정보와 SIFT(Scale Invariant Feature Transform)와 같은 각종 비주얼 특징 추출 방법을 모두 적용해 음식의 종류를 인식하는 기술이 소개되었다. 그러나, 이 방법은 후보 영역을 검출하는 과정에서 음식 영역 간 경계를 구분하지 않아서 인식률이 매우 낮아 많은 종류를 다루지 못한다.
또한, 많은 종류의 후보 영역을 검출해 내기 위해, 이미지 그래디언트(image gradient)를 정규화하여 8 by 8의 이진 특징 추출을 통해 객체 영역을 여러 개 검출하는 방법이 제안되었다. 하지만, 이 방법은 음식 영역에 특성화된 객체 검출이 아니기 때문에, 음식 영역 비 및 객체 영역 간 유사성을 고려하지 않아서 신뢰할만한 검색 결과를 기대하기 어렵다.
또한, 식판 위 음식의 칼로리 정보를 추정하기 위해서 음식의 색상과 질감 정보를 이용하여 한 종류 이상의 음식 항목(food item)을 인식하는 기술이 제안되었다. 이는 음식 이미지를 분류 및 분할(classification and segmentation) 하기 위한 과정을 포함하고 있으나, 음식 영역으로 판별할 수 있는 후보 영역 검출과 그것의 위치 정보에 대해서는 기술되지 않고 있다.
본 발명은 음식 영역 간 경계를 구분하여 많은 종류의 음식들을 인식하는 음식 검색 서비스 제공 장치 및 방법을 제공한다.
본 발명은 음식 영역 비 및 객체 영역 간 유사성을 고려하여 음식 영역에 특성화된 객체 검출을 함으로써 신뢰할만한 검색 결과를 도출하는 음식 검색 서비스 제공 장치 및 방법을 제공한다.
본 발명은 이미지 내 음식으로 식별될 수 있는 음식 영역을 최대한 탐색해 후보 영역을 검출하고, 이들을 정제 및 선별한 후 음식을 검색하는 방법을 제안한다.
본 발명은 음식 검색 서비스 제공 장치로, 이미지 내에서 음식이 위치하는 영역을 탐색하여 다수 개의 후보 영역들을 검출하는 음식 영역 검출부와, 후보 영역들 간의 겹치는 영역에 대한 비율이 유사한 후보 영역들을 그룹화하는 후보 영역 정제부와, 상기 후보 영역 정제부에 의해 그룹화된 후보 영역들에서 음식 영역의 위치 및 음식 종류를 결정하는 검색 결과 생성부를 포함한다.
본 발명은 음식 검색 서비스 제공 방법으로, 이미지 내에서 음식이 위치하는 영역을 탐색하여 다수 개의 후보 영역들을 검출하는 단계와, 후보 영역들 간의 겹치는 영역에 대한 비율이 유사한 후보 영역들을 그룹화하는 단계와, 상기 후보 영역 정제부에 의해 그룹화된 후보 영역들에서 음식 영역의 위치 및 음식 종류를 결정하는 단계를 포함한다.
본 발명은 음식으로 판별될 수 있는 모든 후보 영역에서 확률 모델에 기반하여 정제할 수 있고, 검색 성능이 높은 영역만 선별할 수 있다. 따라서, 본 발명을 활용할 경우 식판이나 한 상차림 등의 특정 영역 내에서 검출할 수 있는 다수개의 음식에 대한 동시 검색으로 이용할 수 있을 뿐만 아니라, 음식과 음식물의 영역을 자동적으로 구별하여 일상 식사의 영양 정보는 물론 식이 조절이 필요한 환자들의 식단 구성에도 도움을 줄 수 있다.
도 1은 본 발명의 일 실시 예에 따른 음식 영상 검색 서비스 제공 장치를 포함하는 시스템 구성도이다.
도 2는 본 발명의 일 실시 예에 따른 음식 영역 검출부의 구성도이다.
도 3은 후보 영역으로 선별된 이미지 사이즈의 일 예를 도시한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 후보 영역 정제부의 구성도이다.
도 5는 후보 영역들 간 겹치는 영역의 예들을 도시한 도면이다.
도 6은 후보 영역들 간의 겹치는 비율 그래프의 일 예이다.
도 7a는 후보 영역들이 모두 표시된 음식 이미지의 일 예이다.
도 7b는 7a에서 비율이 1 이상인 후보 영역들을 제외시킨 후의 음식 이미지의 일 예이다.
도 8a 및 도 8b는 동일 후보 영역을 그룹화하는 일 예를 그래프로 도시한 도면이다.
도 9는 음식이 중앙에 위치하는 경우 후보 영역 상위 10개에 대한 그룹화 결과를 도시한 도면이다.
도 10a는 음식 이미지의 일 예이고, 도 10b는 도 10a의 음식 이미지에서 검출된 후보 영역들을 도시한 도면이고, 도 10c는 도 10b에 도시된 후보 영역들을 정제한 후보 영역들을 도시한 도면이다.
도 11은 본 발명의 일 실시 예에 따른 결과 산출부의 구성도이다.
도 12는 본 발명에 따른 검색 결과의 일 예를 도시한 도면이다.
도 13은 본 발명의 일 실시 예에 따른 음식 검색 서비스 제공 방법을 설명하기 위한 순서도이다.
이하, 첨부된 도면을 참조하여 기술되는 바람직한 실시 예를 통하여 본 발명을 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 기술하기로 한다.
본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명 실시 예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
명세서 전반에 걸쳐 사용되는 용어들은 본 발명 실시 예에서의 기능을 고려하여 정의된 용어들로서, 사용자 또는 운용자의 의도, 관례 등에 따라 충분히 변형될 수 있는 사항이므로, 이 용어들의 정의는 본 발명의 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시 예에 따른 음식 검색 서비스 제공 장치를 포함하는 시스템 구성도이다.
도 1을 참조하면, 음식 검색 서비스 제공 장치(이하 '장치'로 기재함)(100)는 사용자 단말(10)로부터 전송된 이미지에 포함된 모든 음식들을 검색 대상으로 하며, 검색된 모든 음식들의 영역 정보를 사용자 단말(10)에 제공한다.
여기서, 사용자 단말(10)은 PDA(Personal digital assistants), 스마트 폰, 네비게이션 단말기 등의 이동 통신 단말기뿐만 아니라, 데스크 탑 컴퓨터, 노트북 등과 같은 개인용 컴퓨터와 같은 음식 이미지를 장치(100)에 전달하여 검색 요청할 수 있는 모든 장치에 적용될 수 있는 것으로 해석된다.
사용자 단말(10)은 일 실시 예에 따라, 검색용 음식 이미지를 획득하는 이미지 획득부(11)를 포함할 수 있다. 여기서, 이미지 획득부(11)는 미리 촬영된 음식 이미지를 메모리(미도시)로부터 검출하거나, 통신부(미도시)를 통해 전달받을 수도 있고, 실시간으로 음식 이미지를 촬영하여 획득할 수도 있다. 그리고 사용자 단말(10)은 통신부(미도시)를 통해 검색용 음식 이미지를 장치(100)로 전달하고, 장치(100)로부터 검색 결과를 제공받는다.
장치(100)는 음식 영역 검출부(110), 후보 영역 정제부(120) 및 검색 결과 생성부(130)를 포함한다.
음식 영역 검출부(110)는 이미지 내에서 학습 기반으로 음식이 위치하는 영역을 탐색하여 다수 개의 후보 영역을 검출한다. 여기서, 음식이 위치하는 영역은 한 개의 음식을 둘러싸는 최소 사각 경계면(Bounding box)이며, 후보 영역은 음식으로 판단될 가능성이 있는 다수개의 음식이 위치하는 영역들을 일컫는다. 음식 영역 검출부(110)의 상세 설명은 도 2 및 도 3을 참조하여 후술하기로 한다.
후보 영역 정제부(120)는 음식 영역 검출부(110)에 의해 검출된 후보 영역들 간의 겹치는 영역에 대한 비율에 따라 동일한 후보 영역을 그룹화한다. 후보 영역 정제부(120)의 상세 설명은 도 4 내지 도 10c을 참조하여 후술하기로 한다.
검색 결과 생성부(130)는 후보 영역 정제부(120)에 의해 정제된 후보 영역에서 최종적으로 음식 영역 및 음식 종류를 판별한다. 검색 결과 생성부(130)의 상세 설명은 도 11 및 도 12를 참조하여 후술하기로 한다.
도 2는 본 발명의 일 실시 예에 따른 음식 영역 검출부의 구성도이다.
도 2를 참조하면, 음식 영역 검출부(110)는 상세하게는 후보 영역 검출부(111) 및 후보 영역 선별부(112)를 포함한다.
후보 영역 검출부(111)는 입력된 이미지 내에서 음식으로 판별될 가능성이 있는 영역을 다수 개 탐색한다. 음식 영역은 음식으로 식별할 수 있는 최소 식별 단위에 의해 결정되며, 이미지에서의 위치 정보를 같이 포함하고 있다. 후보 영역 검출부(111)는 입력된 이미지에 대해 최소 식별 단위의 배수에 따라 음식 영역의 크기별로 리사이징(Resizing)하고, 8 by 8 크기의 슬라이딩 윈도우로 학습하여 생성된 64차원 특징 벡터의 학습 모델을 통해 음식 영역을 모두 검출한다.
후보 영역 선별부(112)는 탐색된 다수개의 영역들을 소정 조건에 따라 선별해 후보 영역 리스트를 최종적으로 결정한다. 일 실시 예에 따라, 탐색된 영역의 단축과 장축의 비가 1:2가 아닌 것은 후보 영역에서 제외된다. 이는 음식 이미지가 주로 측면 위에서 촬영되기 때문이다. 또한, 탐색된 영역이 식별하기에 너무 작을 경우에서 후보 영역에서 제외된다.
도 3은 후보 영역으로 선별된 이미지 사이즈의 일 예를 도시한 도면이다.
도 3을 참조하면, 탐색 범위가 320 by 320 이미지 사이즈에서의 최소 크기를 10으로 하는 경우를 나타낸다. 여기서, 진한 부분에 해당하는 영역이 후보 영역으로 선별된 영역이고, 흐린 부분에 해당하는 영역이 후보 영역에서 제외된 영역이다.
도 4는 본 발명의 일 실시 예에 따른 후보 영역 정제부의 구성도이다.
도 4를 참조하면, 후보 영역 정제부(120)는 비율 정제부(121), 상위 후보 결정부(122) 및 그룹핑부(123)를 포함한다.
비율 정제부(121)는 후보 영역 리스트에 포함된 후보 영역들 간의 작은 영역 대비 큰 영역의 겹치는 영역의 비율(Ratio)을 측정하고, 비율이 1 이상일 경우 후보 영역에서 제외시킨다.
도 5는 후보 영역들 간 겹치는 영역의 예들을 도시한 도면이다.
도 5의 (a)를 참조하면, 비율이 1 이상으로 작은 영역이 큰 영역에 완전히 포함되므로, 후보 영역에서 큰 영역을 제외시킨다. 도 5의 (b)를 참조하면, 작은 영역이 큰 영역에 겹치는 영역의 비율이 0.9이고, 도 5의 (c)를 참조하면, 작은 영역이 큰 영역에 겹치는 영역의 비율이 0.5이다.
도 6은 후보 영역들 간의 겹치는 비율 그래프의 일 예이다.
도 6을 참조하면, 가로축 및 세로축은 후보 영역의 인덱스를 나타내어, 후보 영역들간의 겹치는 비율을 나타내는데, 비율이 1 이상일수록 밝게 표시되고, 비율이 1 이하일수록 어둡게 표시된다. 사선은 후보 영역들 각각 자신에 대한 비율이므로 1이 된다.
도 7a는 후보 영역들이 모두 표시된 음식 이미지의 일 예이고, 도 7b는 7a에서 비율이 1 이상인 후보 영역들을 제외시킨 후의 음식 이미지의 일 예이다. 도 7a 및 도 7b를 참조하면, 비율 정제부(121)에 의해 후보 영역들의 겹침이 줄어들었음을 알 수 있다.
상위 후보 결정부(122)는 비율 정제부(121)에 의해 계산된 후보 영역들 간의 겹침 비율의 평균값을 계산하여 소정 갯수의 상위 후보 영역들을 선별한다.
그룹핑부(123)는 상위 후보 결정부(122)에 의해 선별된 상위 후보 영역들에 대해서 각 비율에 따라 임계값(threshold)을 정해 후보 영역을 그룹화한다. 즉, 유사 비율을 가지는 후보 영역들을 그룹핑하여 후보 영역들의 갯수를 줄이는 것이다. 이때, k-means 등의 클러스터링(clustering) 기법이 이용될 수 있다.
도 8a 및 도 8b는 동일 후보 영역을 그룹화하는 일 예를 그래프로 도시한 도면이다.
도 8a를 참조하면, 비율이 1이상인 경우, 후보 영역에 대해 질의 영역이 내부로 포함되어 결국 후보 영역이 큰 것만 남게 된다. 따라서, 비율이 1 이상인 후보 영역은 제외한다.
도 8b를 참조하면, 전체 후보 영역 비율 평균값을 계산하여 N개의 상위 후보 영역을 골라내면, N개의 후보 영역에 대해서 각 비율에 따라 임계값(threshold)을 정해 k-means등의 클러스터링(clustering) 을 통해 후보 영역을 그룹화한다.
도 9는 음식이 중앙에 위치하는 경우 후보 영역 상위 10개에 대한 그룹화 결과를 도시한 도면이다.
도 9를 참조하면, 전체 후보 영역의 비율에 대한 평균값(mean)을 계산한다. 이때, 전체 평균 비율이 커질수록 후보 영역 간 겹침 확률 또한 크기 때문에 이 위치에 음식이 있을 확률이 높다고 가정한다. 전체 후보 영역에 대한 평균 비율 계산 후, 이 값을 기준으로 전체 후보 영역의 비율 값에 대해 높은 값부터 순서대로 상위 N개를 찾아 정렬한다. 선별된 후보 영역들에 대해 비율을 조절해 후보 영역을 최종적으로 검출한다. 비율 조절한 결과를 나타낸 것으로 주로 중앙에 집중적으로 후보 영역이 검출되었음을 확인할 수 있다.
도 10a는 음식 이미지의 일 예이고, 도 10b는 도 10a의 음식 이미지에서 검출된 후보 영역들을 도시한 도면이고, 도 10c는 도 10b에 도시된 후보 영역들을 정제한 후보 영역들을 도시한 도면이다. 도 10a 내지 도 10c를 참조하면, 후보 영역 정제 과정을 통해 후보 영역의 결과가 개선되었음을 알 수 있다.
도 11은 본 발명의 일 실시 예에 따른 결과 산출부의 구성도이다.
도 11을 참조하면, 결과 산출부(130)는 분류부(131), 음식 종류 검색부(132) 및 영역 위치 선정부(133)를 포함한다.
분류부(131)는 후보 영역 정제부(120)에 의해 정제된 후보 영역을 딥러닝(Deep Learning)으로 훈련된 CNN(Convolutional Neural Network) 기반으로 정답 확률을 계산하여 높은 것부터 낮은 순으로 정렬한다.
음식 종류 검색부(132)는 가장 높은 확률의 음식 종류를 후보 영역의 정답으로 결정한다.
영역 위치 선정부(133)는 가장 높은 확률을 가진 후보 영역은 그룹화된 동일 후보 영역과 겹치는하여 가장 최외곽의 경계 사각을 완성한다.
도 12는 본 발명에 따른 검색 결과의 일 예를 도시한 도면이다.
도 12를 참조하면, 그룹화된 후보 영역과 그것의 최외곽 경계 사각(Bounding box)를 계산하여 음식 이미지에 나타낸 예이다.
도 13은 본 발명의 일 실시 예에 따른 음식 검색 서비스 제공 방법을 설명하기 위한 순서도이다.
도 13을 참조하면, 음식 검색 서비스 제공 방법은 크게 사용자 단말(10)로부터 전송된 음식 이미지 내에서 학습 기반으로 음식이 위치하는 영역을 탐색하여 다수 개의 후보 영역을 검출하는 단계(S210~S220)와, 검출된 후보 영역들 간의 겹치는 영역에 대한 비율에 따라 후보 영역을 그룹화하는 단계(S230~S250)와, 정제된 후보 영역에서 최종적으로 음식 영역 및 음식 종류를 판별하는 단계(S260~S280)를 포함한다. 여기서, 음식이 위치하는 영역은 한 개의 음식을 둘러싸는 최소 사각 경계면(Bounding box)이며, 후보 영역은 음식으로 판단될 가능성이 있는 다수개의 음식이 위치하는 영역들을 일컫는다.
후보 영역을 검출하는 단계(S210~S220)에서, 장치(100)는 입력된 이미지 내에서 음식으로 판별될 가능성이 있는 영역을 다수 개 탐색한다(S210). 즉, 입력된 이미지에 대해 최소 식별 단위의 배수에 따라 음식 영역의 크기별로 리사이징(Resizing)하고, 8 by 8 크기의 슬라이딩 윈도우로 학습하여 생성된 64차원 특징 벡터의 학습 모델을 통해 음식 영역을 모두 검출한다.
그런 후, 장치(100)는 탐색된 다수개의 영역들을 소정 조건에 따라 선별해 후보 영역 리스트를 최종적으로 결정한다(S220). 일 실시 예에 따라, 탐색된 영역의 단축과 장축의 비가 1:2가 아닌 것은 후보 영역에서 제외된다. 이는 음식 이미지가 주로 측면 위에서 촬영되기 때문이다. 또한, 탐색된 영역이 식별하기에 너무 작을 경우에서 후보 영역에서 제외된다.
후보 영역을 그룹화하는 단계(S230~S250)에서, 장치(100)는 후보 영역 리스트에 포함된 후보 영역들 간의 작은 영역 대비 큰 영역의 겹치는 영역의 비율(Ratio)을 측정하고, 비율이 1 이상일 경우 후보 영역에서 제외시킨다(S230).
그런 후, 장치(100)는 계산된 후보 영역들 간의 겹침 비율의 평균값을 계산하여 소정 갯수의 상위 후보 영역들을 선별한다(S240).
그런 후, 장치(100)는 선별된 상위 후보 영역들에 대해서 각 비율에 따라 임계값(threshold)을 정해 후보 영역을 그룹화한다(S250). 즉, 유사 비율을 가지는 후보 영역들을 그룹핑하여 후보 영역들의 갯수를 줄이는 것이다. 이때, k-means 등의 클러스터링(clustering) 기법이 이용될 수 있다.
판별하는 단계(S260~S280)에서, 장치(100)는 정제된 후보 영역을 딥러닝(Deep Learning)으로 훈련된 CNN(Convolutional Neural Network) 기반으로 정답 확률을 계산하여 높은 것부터 낮은 순으로 정렬한다(S260). 그런 후, 장치(100)는 가장 높은 확률의 음식 종류를 후보 영역의 정답으로 결정한다. 영역 위치 선정부(133)는 가장 높은 확률을 가진 후보 영역은 그룹화된 동일 후보 영역과 겹치는하여 가장 최외곽의 경계 사각을 완성한다.

Claims (14)

  1. 이미지 내에서 음식이 위치하는 영역을 탐색하여 다수 개의 후보 영역들을 검출하는 음식 영역 검출부와,
    후보 영역들 간의 겹치는 영역에 대한 비율에 따라 후보 영역들을 그룹화하는 후보 영역 정제부와,
    상기 후보 영역 정제부에 의해 그룹화된 후보 영역들에서 음식 영역의 위치 및 음식 종류를 결정하는 검색 결과 생성부를 포함하고,
    상기 음식 영역 검출부는
    후보 영역들 중 소정 기준 크기에 부합하는 후보 영역들을 선별함을 특징으로 하는 음식 검색 서비스 제공 장치.
  2. 제1 항에 있어서, 상기 음식 영역 검출부는
    상기 이미지를 최소 식별 단위의 배수에 따라 음식 영역의 크기별로 리사이징(Resizing)하고, 소정 크기의 슬라이딩 윈도우로 학습하여 생성된 특징 벡터의 학습 모델을 이용하여 후보 영역들을 검출함을 특징으로 하는 음식 검색 서비스 제공 장치.
  3. 삭제
  4. 제1 항에 있어서, 후보 영역 선별부는
    단축과 장축의 비가 소정 값이 아니거나, 소정 크기 이하일 경우 후보 영역에서 제외함을 특징으로 하는 음식 검색 서비스 제공 장치.
  5. 제1 항에 있어서, 상기 후보 영역 정제부는
    상기 후보 영역들의 비율의 평균값을 계산하여 소정 갯수의 상위 후보 영역들을 선별하는 상위 후보 결정부와,
    상기 선별된 상위 후보 영역들에 대해서 각 비율에 따라 임계값(threshold)을 정해 후보 영역들을 그룹화하는 그룹핑부를 포함함을 특징으로 하는 음식 검색 서비스 제공 장치.
  6. 제1 항에 있어서, 상기 후보 영역 정제부는
    상기 두 개의 후보 영역들 간의 작은 영역 대비 큰 영역의 겹치는 영역의 비율을 측정하고, 비율이 1 이상일 경우 후보 영역에서 제외함을 특징으로 하는 음식 검색 서비스 제공 장치.
  7. 제1 항에 있어서, 상기 검색 결과 생성부는
    검출된 후보 영역들에서 소정 학습 모델을 이용하여 가능한 음식 종류의 확률을 계산하여 순차적으로 정렬하고, 최고 확률의 음식 종류를 후보 영역으로 결정함을 특징으로 하는 음식 검색 서비스 제공 장치.
  8. 프로세서가 실행하는 음식 검색 서비스 제공 프로그램에 의해 실행되는 음식 검색 서비스 제공 방법으로서,
    이미지 내에서 음식이 위치하는 영역을 탐색하여 다수 개의 후보 영역들을 검출하는 단계와,
    후보 영역들 간의 겹치는 영역에 대한 비율에 따라 후보 영역들을 그룹화하는 단계와,
    상기 후보 영역 정제부에 의해 그룹화된 후보 영역들에서 음식 영역의 위치 및 음식 종류를 결정하는 단계를 포함하고,
    상기 검출하는 단계는
    후보 영역들 중 소정 기준 크기에 부합하는 후보 영역들을 선별하는 단계를 더 포함함을 특징으로 하는 음식 검색 서비스 제공 방법.
  9. 제8 항에 있어서, 상기 검출하는 단계는
    상기 이미지를 최소 식별 단위의 배수에 따라 음식 영역의 크기별로 리사이징(Resizing)하고, 소정 크기의 슬라이딩 윈도우로 학습하여 생성된 특징 벡터의 학습 모델을 이용하여 후보 영역들을 모두 검출함을 특징으로 하는 음식 검색 서비스 제공 방법.
  10. 삭제
  11. 제8 항에 있어서, 상기 선별하는 단계는
    단축과 장축의 비가 소정 값이 아니거나, 소정 크기 이하일 경우 후보 영역에서 제외함을 특징으로 하는 음식 검색 서비스 제공 방법.
  12. 제8 항에 있어서, 상기 그룹화하는 단계는
    상기 후보 영역들의 비율의 평균값을 계산하여 소정 갯수의 상위 후보 영역들을 선별하는 단계와,
    상기 선별된 상위 후보 영역들에 대해서 각 비율에 따라 임계값(threshold)을 정해 후보 영역들을 그룹화하는 단계를 포함함을 특징으로 하는 음식 검색 서비스 제공 방법.
  13. 제8 항에 있어서, 상기 그룹화하는 단계는
    상기 두 개의 후보 영역들 간의 작은 영역 대비 큰 영역의 겹치는 영역의 비율을 측정하고, 비율이 1 이상일 경우 후보 영역에서 제외함을 특징으로 하는 음식 검색 서비스 제공 방법.
  14. 제8 항에 있어서, 상기 결정하는 단계는
    검출된 후보 영역들에서 소정 학습 모델을 이용하여 가능한 음식 종류의 확률을 계산하여 순차적으로 정렬하고, 최고 확률의 음식 종류를 후보 영역으로 결정함을 특징으로 하는 음식 검색 서비스 제공 방법.
KR1020160004912A 2016-01-14 2016-01-14 음식 검색 서비스 제공 장치 및 방법 KR102433391B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160004912A KR102433391B1 (ko) 2016-01-14 2016-01-14 음식 검색 서비스 제공 장치 및 방법
US15/235,152 US9972080B2 (en) 2016-01-14 2016-08-12 Apparatus and method for food search service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160004912A KR102433391B1 (ko) 2016-01-14 2016-01-14 음식 검색 서비스 제공 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20170085372A KR20170085372A (ko) 2017-07-24
KR102433391B1 true KR102433391B1 (ko) 2022-08-17

Family

ID=59314639

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160004912A KR102433391B1 (ko) 2016-01-14 2016-01-14 음식 검색 서비스 제공 장치 및 방법

Country Status (2)

Country Link
US (1) US9972080B2 (ko)
KR (1) KR102433391B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024101625A1 (ko) * 2022-11-09 2024-05-16 주식회사 누비랩 계층적 모델을 이용한 객체 식별 방법 및 장치

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102565849B1 (ko) 2018-05-14 2023-08-11 한국전자통신연구원 동영상 내 작은 물체를 실시간으로 세분화하는 방법 및 장치
JP7374453B2 (ja) * 2019-03-28 2023-11-07 株式会社イシダ 学習済みモデル生成方法、学習済みモデル生成装置、商品判別方法、商品判別装置、商品判別システム及び計量装置
EP3832491A1 (en) * 2019-12-06 2021-06-09 Idemia Identity & Security France Methods for processing a plurality of candidate annotations of a given instance of an image, and for learning parameters of a computational model
CN111539470A (zh) * 2020-04-20 2020-08-14 重庆第二师范学院 图像处理方法、装置、计算机设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5454721A (en) * 1993-12-30 1995-10-03 Kuch; Nina J. Application of multi-media technology to nutrition education and diet planning
US6553386B1 (en) * 1998-12-14 2003-04-22 Oliver Alabaster System and method for computerized visual diet behavior analysis and training
US8363913B2 (en) * 2008-09-05 2013-01-29 Purdue Research Foundation Dietary assessment system and method
US8439683B2 (en) 2009-01-07 2013-05-14 Sri International Food recognition using visual analysis and speech recognition
US20140315162A1 (en) * 2011-12-09 2014-10-23 Joel Ehrenkranz System and methods for monitoring food consumption
KR101523740B1 (ko) 2014-01-03 2015-05-28 (주)유디피 공간 매핑을 이용한 객체 추적 장치 및 방법
KR101562364B1 (ko) 2014-12-29 2015-10-23 재단법인 아산사회복지재단 음식사진을 이용한 칼로리 자동 계산 방법 및 이를 이용한 식습관 관리 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Shimoda, Wataru, and Keiji Yanai. "CNN-based food image segmentation without pixel-wise annotation." International Conference on Image Analysis and Processing. Springer, Cham, (2015.08.21. 공개)*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024101625A1 (ko) * 2022-11-09 2024-05-16 주식회사 누비랩 계층적 모델을 이용한 객체 식별 방법 및 장치

Also Published As

Publication number Publication date
US9972080B2 (en) 2018-05-15
US20170206646A1 (en) 2017-07-20
KR20170085372A (ko) 2017-07-24

Similar Documents

Publication Publication Date Title
US10706334B2 (en) Type prediction method, apparatus and electronic device for recognizing an object in an image
KR102433391B1 (ko) 음식 검색 서비스 제공 장치 및 방법
US10922353B2 (en) Hybrid detection recognition system
US11423076B2 (en) Image similarity-based group browsing
Ciocca et al. Food recognition: a new dataset, experiments, and results
US10445569B1 (en) Combination of heterogeneous recognizer for image-based character recognition
US9734426B2 (en) Automated food recognition and nutritional estimation with a personal mobile electronic device
Matsuda et al. Recognition of multiple-food images by detecting candidate regions
EP2955645B1 (en) System for automated segmentation of images through layout classification
Pan et al. A robust system to detect and localize texts in natural scene images
Lee et al. Object detection with sliding window in images including multiple similar objects
US20150235110A1 (en) Object recognition or detection based on verification tests
US10783357B2 (en) Apparatus and method for recognizing expression of a face, image processing apparatus and system
US20110282897A1 (en) Method and system for maintaining a database of reference images
EP2657857A1 (en) Method for binary classification of a query image
US11915500B2 (en) Neural network based scene text recognition
CA2957433C (en) Hybrid detection recognition system
Ye et al. Scene text detection via integrated discrimination of component appearance and consensus
Song et al. A novel image text extraction method based on k-means clustering
Lee et al. Mt-diet: Automated smartphone based diet assessment with infrared images
Shah Face detection from images using support vector machine
Sluzek et al. Machine Vision in Food Recognition: Attempts to Enhance CBVIR Tools.
CN111539470A (zh) 图像处理方法、装置、计算机设备及存储介质
JP2018156544A (ja) 情報処理装置及びプログラム
Ghoshal et al. A new image binarisation technique for segmentation of text from digital images

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant