| 버전 | 일자 | 변경내용 | 비고 |
|---|---|---|---|
| 1.1 | 2023-12-06 | 데이터 최종 개방 | |
| 1.0 | 2023-05-04 | 데이터 개방 | Beta Version |
| 일자 | 변경내용 | 비고 |
|---|---|---|
| 2025-01-06 | 데이터셋 변경 | 메타데이터 데이터 구축량 정보 수정 |
| 2023-12-15 | 산출물 최종 공개 |
당뇨관리 앱을 통해 수집된 200여종 50만장의 음식 이미지를 바운딩박스로 라벨링한 인공지능 학습용 데이터와 당뇨병 환자의 음식 섭취와 관련된 혈당 측정치 30,000여건의 학습용 식생활 데이터
모바일 앱을 통한 음식 이미지 인식 및 영양분석을 위한 학습데이터 구축 당뇨관리를 위한 당뇨병 환자의 식생활에 따른 혈당 측정 데이터 구축
| 데이터 영역 | 헬스케어 | 데이터 유형 | 텍스트 , 이미지 |
|---|---|---|---|
| 데이터 형식 | JPG | 데이터 출처 | 자체 수집 |
| 라벨링 유형 | 바운딩박스 | 라벨링 형식 | JSON |
| 데이터 활용 서비스 | 당뇨관리 앱을 통한 음식 이미지 분석 및 혈당관리 시스템 유사 레시피 추천 알고리즘 구축 식후혈당 예측 알고리즘 구축 | 데이터 구축년도/ 데이터 구축량 |
2022년/3,218,337 |
1. 데이터 구축 규모
ㅇ 음식 이미지 데이터와 혈당 데이터가 수집/가공되었으며, 총 규모는 다음과 같다
| 데이터 구분 | 데이터 종류 | 포맷 | 이미지 건수 | 포함 내용 | 데이터 설명 |
|---|---|---|---|---|---|
| 음식 이미지 | 음식 이미지 데이터 | .jpg .png |
537,209장 | 음식 종류 총 204종 각 음식 별 최소 1,000장 수집 |
실제 섭취하는 음식 이미지 중심으로 앱 사용을 통한 수집 (일부 이미지 구입 흑 공개 데이터 활용) |
| 혈당 데이터 | 임상 연구를 통해 얻은 데이터 | .csv | 36,091건 | 임상 연구를 진행해 혈당 데이터 및 관련 식이, 임상, 생활 데이터 수집 |
2. 데이터 분포
ㅇ 음식 이미지 데이터
| 1차 분류 | 2차 분류 | 3차 분류 | 수량(장) |
|---|---|---|---|
| 빵_과자류 | 빵류, 과자류 | 꽈배기, 마늘빵, 우유식빵, 크림빵, 호떡, 딸기타르트, 스콘, 카스테라, 마늘바게트, 도라야끼, 마카로니과자, 나쵸, 약과, 양갱, 캐러멜팝콘, 초코파이, 월병, 누가, 꼬깔콘, 빼빼로, 새우깡, 홈런볼 총 22종 | 73,724 |
| 구이류 | 육류구이 | 닭모래주머니 총 1종 | 1,080 |
| 장아찌 절임류 | 장아찌 | 단무지 총 1종 | 3,354 |
| 장류_양념류 | 장류 | 쌈장, 청국장 총 2종 | 4,098 |
| 음료_차류 | 음료류 | 식혜 총 1종 | 2,082 |
| 과일류 | 과일류 | 무화과, 배, 용과, 리치, 모과, 망고스틴, 금귤 총 7총 | 31,084 |
| 당류 | 당류 | 달고나, 딸기잼 총 2종 | 5,329 |
| 곡류_서류제품 | 떡류, 곡류 | 설기, 약밥, 인절미, 찰떡, 강냉이, 도토리묵, 옥수수 총 7종 | 21,858 |
| 두류_견과_종실류 | 견과종실류 | 땅콩, 마카다미아 총 2종 | 9,693 |
| 채소_해조류 | 채소류, 해조류 | 고구마줄기, 깻잎, 두릅, 부추, 취나물, 달래, 죽순, 마늘쫑, 아스파라거스, 톳 총 10종 | 24,229 |
| 수조어육류 | 어류, 기타가공류 | 과메기, 멍게, 굴, 쥐포, 킹크랩, 홍합, 대게, 간 총 8종 | 20,726 |
| 밥류 | 잡곡밥, 비빔밥, 볶음밥_덮밥, 초밥, 기타밥 | 보리밥, 영양밥, 잡곡밥, 콩밥, 현미밥, 흑미밥, 쇠고기비빔밥, 소고기덮밥, 쇠고기볶음밥, 텐동, 닭고기덮밥, 연어덮밥, 짜장밥, 회덮밥, 제육덮밥, 달걀초밥, 도미초밥, 새우초밥, 유부초밥, 곤드레밥, 누룽지 총 21종 | 47,385 |
| 빵_과자류 | 빵류, 피자류, 햄버거류, 샌드위치류 | 브루스게타, 새우피자, 치킨버거, 햄버거, 치아바타샌드위치, 반미, 브리또, 타코 총 8종 | 27,895 |
| 면_만두류 | 국수, 라면, 칼국수, 수제비, 파스타, 만두 | 메밀국수, 라볶이, 비빔라면, 짜장라면, 칼국수, 수제비, 뇨끼, 미트볼파스타, 바질파스타, 맥앤치즈, 메밀전병 총 11종 | 27,330 |
| 죽_스프류 | 스프류 | 양송이스프 총 1종 | 1,455 |
| 국_탕류 | 맑은국류, 된장국류, 탕류, 기타육류국류, 기타 | 매생이국, 두부된장국, 곰탕, 훠궈, 연포탕, 닭백숙, 소고기무국, 콩나물국 총 8종 | 14,398 |
| 찌개_전골류 | 어패류, 육류, 전골류 | 알탕, 닭볶음탕, 샤브샤브, 에그인헬 총 4종 | 6,565 |
| 찜류 | 육류찜, 채소찜(선), 기타찜 | 소고기수육, 김치찜, 삶은감자 총 3종 | 7,021 |
| 구이류 | 어패류구이, 육류구이, 기타구이류 | 가자미구이, 굴비구이, 꼼장어, 도미구이, 조개구이, 소곱창구이, 닭꼬치, 닭다리구이, 대창구이, 돼지갈비구이, 소불고기, 차돌박이, 양갈비, 채소꼬치구이 총 14종 | 31,391 |
| 전_적_부침류 | 어패류전, 육류전, 기타전류 | 타코야끼, 동그랑땡, 두부부침, 배추전, 빈대떡 총 5종 | 12,924 |
| 볶음류 | 잡채, 채소류, 어패류, 육류, 두부, 기타 | 고추잡채, 김치볶음, 두부김치, 마늘쫑볶음, 진미채볶음, 어묵볶음, 새우볶음, 멸치볶음, 닭발볶음, 소시지채소볶음, 마파두부, 감바스 총 12종 | 29,164 |
| 조림류 | 어패류, 육류, 기타 | 고등어조림, 코다리조림, 달걀조림, 콩자반, 두부조림, 버섯조림, 우엉조림 총 7종 | 16,893 |
| 튀김류 | 어패류튀김, 육류튀김, 채소류튀김, 기타튀김류 | 어묵튀김, 멘보샤, 일식돈가스, 탕수육, 고구마맛탕, 호박튀김, 김말이, 김부각, 소떡소떡, 짜조, 콘도그 총 11종 | 27,736 |
| 나물_숙채류 | 나물 | 고사리, 도라지나물, 시금치나물, 호박나물 총 4종 | 10,279 |
| 생채_무침류 | 생채, 어패류무침, 채소류, 기타류, 냉채, 샐러드, 물회 | 무생채, 골뱅이무침, 홍어회무침, 도라지무침, 무말랭이무침, 부추무침, 콩나물무침, 파래무침, 양장피, 월남쌈, 게맛살샐러드, 새우샐러드, 참치샐러드, 콘샐러드, 물회 총 15종 | 36,987 |
| 김치류 | 무김치류, 기타김치류 | 동치미, 열무김치, 갓김치, 파김치 총 4종 | 8,511 |
| 젓갈류 | 젓갈 | 간장게장, 새우젓, 양념게장 총 3종 | 6,894 |
| 장아찌절임류 | 장아찌, 절임류 | 매실장아찌, 양파장아찌, 쌈무, 생강절임, 치킨무, 깻잎지 총 6종 | 14,468 |
| 장류_양념류 | 장류, 소스 | 초고추장, 과카몰리 총 2종 | 8,718 |
| 당류 | 당류 | 브륄레 총 1종 | 2,363 |
| 수조어육류 | 어류 | 문어숙회 총 1종 | 1,575 |
ㅇ 혈당 데이터
· 성별에 따른 분포
| 성별 분포 | |||
|---|---|---|---|
| 성별 | 혈당 데이터 (건 수) | 비율 | 비고 |
| 1 | 15,040 | 41.67% | 남성 |
| 2 | 21,051 | 58.33% | 여성 |
| 합계 | 36,091 | 100% |
|
·연령에 따른 분포
| 연령 분포 | ||
|---|---|---|
| 나이 | 혈당 데이터(건수) | 비율 |
| 20대 | 1,668 | 4.62% |
| 30대 | 3,232 | 8.96% |
| 40대 | 10,238 | 28.37% |
| 50대 | 9,061 | 25.11% |
| 60대 | 6,062 | 16.80% |
| 70대 | 5,830 | 16.15% |
| 합계 | 36,091 | 100% |
3) 데이터 구축 유의사항
ㅇ 이미지 데이터의 저작권 문제를 해소하기 위해 수집 방법에 따라 체계적인 검증과정을 준수하여 진행함
- 전문 이미지 제공업체와의 계약을 통한 음식 이미지 수집 시 라이선스 및 저작권 문제 해결
- 기존 AI Hub data의 경우 사용권 승인 수령
- 이미지 촬영 크라우드 워커 대상 계약 시 동의서 수령
- 이미지 데이터 수집 절차 및 구축, 배포 시 저작권 침해 여부, 소유권 관련 내용을 외부 전문가(변호사)의 법률 자문을 통한 동의서, 계약서 검토 의뢰를 통해 확인함
- 음식 이미지의 경우 식별 가능한 사람의 얼굴이 촬영될 가능성은 적으나 만일 촬영될 경우 GIMP 이미지 편집 툴로 얼굴 부분을 잘라내거나 모자이크, 블러링 처리하여 비식별화를 수행한다. 비식별화 결과는 검수자가 전수 검사를 진행한다.
ㅇ 임상 데이터는 대상자의 동의를 거치고, 익명화 처리함
- 임상연구 IRB 의 경우 정해진 절차에 따른 심사를 거치고 대상자에게 동의서 수집
5. 원시데이터 특성
1) 대상분류
ㅇ 음식 이미지 : 실제
ㅇ 임상 데이터 : 실제
2) 제약조건
ㅇ 음식 이미지 : 제약없음
ㅇ 임상 데이터 : 일부 제약있음(임상연구계획서에 따라 표준조식 제공)
3) 속성
ㅇ 포맷 : JPG, PNG
ㅇ 최저 해상도 : 640x640 이상
ㅇ 음식 정보 : 음식명
6.기타 정보
1) 포괄성
ㅇ 식품 종류는 한국인이 많이 소비하는 식품 중심으로 수집하기 위해 ‘국민건강영양조사’ 내 다빈도 식품 리스트를 참고했고, 기존에 수집했던 식품 리스트와 중복되지 않도록 선정함
2) 독립성
ㅇ 임상 데이터 : 임상 연구로 얻는 데이터는 민감정보(설문조사 기록, 관찰 기록, 임상검사 기록 등)에 해당하므로 익명화를 통해 제공
5. 학습 모델
(1) 음식이미지 학습
학습 모델 후보
ㅇ 음식 이미지 인식을 위해 신규 음식 204종의 이미지 537,209장을 YOLOv5l 모델을 사용하여 학습함
ㅇ 음식 이미지 인식 성능은 수행계획서의 성능 목표 mAP@0.5 80%를 상회한 mAP@0.5 86.5% 달성
1) YOLOv5 소개
ㅇ YOLOv5는 현재 object detection 분야에서 가장 많이 이용되고 있는 모델
ㅇ trade-off 관계인 인식 성능과 인식 속도를 합리적인 수준에서 만족시키는 모델
ㅇ 모델의 크기에 따라서 YOLOv5s(small), YOLOv5m(medium), YOLOv5l(large), YOLOv5x(xlarge)의 4가지 모델이 있음. s는 인식 성능이 제일 낮지만 초당 처리 프레임 (Frames Per Second: FPS)이 가장 높고, x는 인식 성능이 제일 높지만, FPS가 가장 낮음
ㅇ 이번 과제에서는 속도보다는 성능을 고려하여 YOLOv5l (large) 모델을 사용
ㅇ 학습 방법
- YOLOv5의 손실 함수는 다음과 같이 3가지 손실 함수의 조합으로 구성
·Classes loss: Lcls
·Objectness loss: Lobj
·Location loss: Lloc
- YOLOv5의 손실함수를 Stochastic Gradient Descent Optimizer를 사용하여 최소화하는 방식으로 학습 진행
ㅇ Evaluation Metric
- 수행계획서의 성능 목표 mAP@0.5 80%를 상회한 mAP@0.5 86.5% 달성
(2) 임상 혈당 예측 학습
1) PyCaret 소개
ㅇ PyCaret은 기존에 있던 Scikit-learn, XGBoost, LightGBM, spaCy 등 여러가지 머신러닝 라이브러리를 High-Level API로 제작한 라이브러리
ㅇ Open source, low-code machine learning 라이브러리
ㅇ 데이터 생성, 모델 생성 및 비교, 모델 최적화, 학습된 모델 분석의 기계학습 전단계에 대한 라이브러리를 제공하여 신속하고 간단하게 AI 모델 구축
2) 혈당 예측을 위한 학습
ㅇ 모델 아키텍쳐
- PyCaret 라이브러리에서 제공하는 Gradient Boost 기반의 회귀 모델과 Decision Tree, Random Forest, Extree Trees 등의 의사 결정 나무(Decision Tree) 계열의 모델의 정확도(MAPE) 비교
- MAPE 상위 5종 모델 선정 후, 모델 5종을 blend, tuning, finalize 하여 최종 모델 구성
ㅇ 모델 입력
- 혈당 예측을 위해 혈액 검사 데이터, 신체 계측 데이터, 식사시 섭취한 영양 데이터, 수면 데이터, 신체 활동 데이터 및 혈당 측정 일시와 혈당 데이터를 입력
- 이 외에도 식전 3, 6, 9, 12시간 이내 탄수화물 섭취량, 식전 2, 3, 6, 9, 12시간 이내 섭취 열량, 식전 12, 24시간 이내 식이 섬유 섭취량 등 기초 데이터로부터 생성 가능한 데이터들을 추가로 생성하여 입력
- 현재 학습을 위해 사용한 feature는 총 95개로 임상 대상자 별로 약 4건/시간 * 24시간 * 14일 = 1,300 여건의 혈당 측정 데이터 생성
1.원천 데이터 규모
ㅇ 원천데이터는 수집한 원시데이터를 정제하며 식품 분류 체계에 맞도록 파일 및 폴더 구조를 갖도록 함
● 원천데이터 포맷
- 포맷 : JPG, PNG
- 최저 해상도 : 640x640 이상
- 컬러심도 : 8bit 이상 컬러 이미지
- 음식 정보 : 음식명
● 원천데이터 규모 : 음식 200여종 이상, 50만장 이상
● 원천데이터 작업 종류
- 중복, 오류 제거
- 비식별화, 원천데이터 규모를 산정하여 작성
ㅇ 원천데이터는 수집한 원시데이터를 정제하고 임상 데이터 통합 프로그램을 활용해 통합 데이터를 획득함
● 원천데이터 포맷
- 포맷 : csv, xlsx 형태
2.어노테이션 포맷 설명
1)음식 이미지 라벨
| 구분 | 속성명 | 타입 | 필수여부 | 설명 | 범위 | 비고 |
|---|---|---|---|---|---|---|
| 1 | “Code Name” | string | Y | 음식 이미지 원천데이터 파일 이름 | ||
| 2 | “Name” | string | Y | 음식 클래스 이름 | 204종 | |
| 3 | “W” | string | Y | 바운딩박스 폭 | [0, 1] | 이미지의 폭을 1로 표준화한 값 |
| 4 | “H” | string | Y | 바운딩박스 높이 | [0, 1] | 이미지의 높이를 1로 표준화한 값 |
| 5 | “File Format” | string | 파일 포맷 | jpg, gif, png | ||
| 6 | “Cat 1” | string | 카테고리 대분류 | 대분류 | 하기 “1.4 데이터 구성” 참조 | |
| 7 | “Cat 2” | string | 카테고리 중분류 | 중분류 | 하기 “1.4 데이터 구성” 참조 | |
| 8 | “Cat 3” | string | 카테고리 소분류 | [001~099] | ||
| 9 | “Point(x,y)” | string | Y | 바운딩박스 중점 위치 | [0, 1] | |
| 10 | “Camera Angle” | string | 이미지 촬영각도 | [T, F] | ||
| (Top, Front) | ||||||
| 11 | “Meta File” | string | Y | 메타 데이터 파일 이름 | ||
| 12 | “Source” | string | 이미지 수집 출처 |
|
2)메타 데이터 라벨
| 구분 | 속성명 | 타입 | 필수여부 | 설명 | 범위 | 비고 |
|---|---|---|---|---|---|---|
| 1 | “Name” | string | Y | 음식명 (형식: 마늘빵) | ||
| 2 | “Ingredients” | string | N | 음식 재료명 (형식: 빵, 바게트빵[200g];설탕,가루[15g];마늘,깐마늘,생것[15g];버터[30g];파슬리,말린것[2g]) | ||
| 3 | “Recipe” | string | N | 음식 조리법 (형식: 실온에 둔 가염버터 2큰술(30g)을 다진 마늘 1큰술(15g), 설탕 1큰술(15g), 파슬리가루 약간(2g)과 믹스한다. 바게트빵 앞뒤로 믹스한 소스를 적당량 바른다. 약불로 달군 팬에 소스를 바른 빵을 노릇하게 굽는다) | ||
| 4 | “Carbohydrate” | string | N | 탄수화물량 | ||
| 5 | “Fiber(g)” | string | N | 식이섬유량 | ||
| 6 | “Fat(g)” | string | N | 지방량 | ||
| 7 | “Protein(g)” | string | N | 단백질량 | ||
| 8 | “Sodium(mg)” | string | N | 나트륨량 | ||
| 9 | “Sugar(g)” | string | N | 당량 | ||
| 10 | “Water(ml)” | string | N | 수분량 | ||
| 11 | “Energy(kcal)” | string | N | 칼로리량 | ||
| 12 | “Alcohol(g)” | string | N | 알콜량 | ||
| 13 | “Caffeine(mg)” | string | N | 카페인량 | ||
| 14 | “Calcium(mg)” | string | N | 칼슘량 | ||
| 15 | “Potassium(mg)” | string | N | 칼륨량 | ||
| 16 | “Iron(mg)” | string | N | 철분량 | ||
| 17 | “Phosphorus(mg)” | string | N | 인량 | ||
| 18 | “Retinol(ug)” | string | N | 레티놀량 | ||
| 19 | “Betacarotene(ug)” | string | N | 베타카로틴량 | ||
| 20 | “Thiamin(mg)” | string | N | 비타민B1량 | ||
| 21 | “Riboflavin(mg)” | string | N | 비타민B2량 | ||
| 22 | “Niacin(mg)” | string | N | 나이신량 | ||
| 23 | “Folate(ug)” | string | N | 엽산량 | ||
| 24 | “Ascorbic acid(mg)” | string | N | 비타민C량 | ||
| 25 | “Cholesterol(mg)” | string | N | 콜레스테롤량 | ||
| 26 | “Allergy” | string | N | 알레르기 유발 성분 | ||
| 27 | “Glycemic index” | string | N | 음식의 혈당지수 |
|
3) 임상 데이터 라벨
| 구분 | 속성명 | 타입 | 필수여부 | 설명 | 범위 | 비고 |
|---|---|---|---|---|---|---|
| 1 | "일시" | string | Y | 혈당측정시각 | ||
| 2 | "혈당" | float | Y | 혈당치 (md/dL) | ||
| 3 | "식사시간" | integer | Y | 최근 식사 소요 시간 | [0~] | 분단위 식사 소요시간 |
| 4 | "알콜" | float | N | 최근 식사의 음식 내 알코올 (g) | ||
| 5 | "카페인" | float | N | 최근 식사의 음식 내 카페인 (mg) | ||
| 6 | "탄수화물" | float | N | 최근 식사의 음식 내 탄수화물 (g) | ||
| 7 | "식이섬유" | float | N | 최근 식사의 음식 내 식이섬유 (g) | ||
| 8 | "지방" | float | N | 최근 식사의 음식 내 지방 (g) | ||
| 9 | "단백질" | float | N | 최근 식사의 음식 내 단백질 (g) | ||
| 10 | "나트륨" | float | N | 최근 식사의 음식 내 나트륨 (g) | ||
| 11 | "설탕" | float | N | 최근 식사의 음식 내 설탕 (g) | ||
| 12 | "물" | float | N | 최근 식사의 음식 내 물 (g) | ||
| 13 | "열량" | float | N | 최근 식사의 음식 열량 (kcal) | ||
| 14 | "칼슘" | float | N | 최근 식사의 음식 내 칼슘 (mg) | ||
| 15 | "철" | float | N | 최근 식사의 음식 내 철 (mg) | ||
| 16 | "인" | float | N | 최근 식사의 음식 내 인 (mg) | ||
| 17 | "칼륨" | float | N | 최근 식사의 음식 내 칼륨 (mg) | ||
| 18 | "레티놀" | float | N | 최근 식사의 음식 내 레티놀 (mg) | ||
| 19 | "베타카로틴" | float | N | 최근 식사의 음식 내 베타카로틴(mg) | ||
| 20 | "비타민 B1" | float | N | 최근 식사의 음식 내 비타민 B1 (mg) | ||
| 21 | "비타민 B2" | float | N | 최근 식사의 음식 내 비타민 B2 (mg) | ||
| 22 | "나이신" | float | N | 최근 식사의 음식 내 나이신 (mg) | ||
| 23 | "나이아신" | float | N | 최근 식사의 음식 내 나이아신 (mg) | ||
| 24 | "엽산" | float | N | 최근 식사의 음식 내 엽산 (mg) | ||
| 25 | "비타민 C" | float | N | 최근 식사의 음식 내 비타민 C (mg) | ||
| 26 | "콜레스테롤" | float | N | 최근 식사의 음식 내 콜레스테롤 (mg) | ||
| 27 | "식전3시간 이내 탄수화물 섭취량" | float | N | 식전3시간 이내 탄수화물 섭취량 (g) | ||
| 28 | "식전6시간 이내 탄수화물 섭취량" | float | N | 식전6시간 이내 탄수화물 섭취량 (g) | ||
| 29 | "식전9시간 이내 탄수화물 섭취량" | float | N | 식전9시간 이내 탄수화물 섭취량 (g) | ||
| 30 | "식전12시간 이내 탄수화물 섭취량" | float | N | 식전12시간 이내 탄수화물 섭취량 (g) | ||
| 31 | "식전2시간이내 섭취 열량" | float | N | 식전2시간이내 섭취 열량 (kcal) | ||
| 32 | "식전3시간이내 섭취 열량" | float | N | 식전3시간이내 섭취 열량 (kcal) | ||
| 33 | "식전6시간이내 섭취 열량" | float | N | 식전6시간이내 섭취 열량 (kcal) | ||
| 34 | "식전9시간이내 섭취 열량" | float | N | 식전9시간이내 섭취 열량 (kcal) | ||
| 35 | "식전12시간이내 섭취 열량" | float | N | 식전12시간이내 섭취 열량 (kcal) | ||
| 36 | "식전12시간이내 식이섬유 섭취량" | float | N | 식전12시간이내 식이섬유 섭취량 (mg) | ||
| 37 | "식전24시간이내 식이섬유 섭취량" | float | N | 식전24시간이내 식이섬유 섭취량 (mg) | ||
| 38 | "식전1시간이내 물 섭취량" | float | N | 식전1시간이내 물 섭취량 (g) | ||
| 39 | "식전2시간이내 물 섭취량" | float | N | 식전2시간이내 물 섭취량 (g) | ||
| 40 | "이전 식사 이후 경과시간 (m)" | integer | N | 이전 식사 이후 경과시간 (분) | ||
| 41 | "이전식사와 이후식사 사이의 시간(m)" | integer | N | 다음 식사까지 남은 시간 (분) | ||
| 42 | "식사시간: 기상 이후 경과시간" | integer | N | 기상 후 첫 식사까지 경과 시간 (분) | ||
| 43 | "식사시간: 다음 취침까지의 시간" | integer | N | 최근 식사 후 취침까지 간격 (분) | ||
| 44 | "Deep수면시간" | integer | N | 깊은 수면 시간 (분) | ||
| 45 | "Shallow수면시간" | integer | N | 얕은 수면 시간 (분) | ||
| 46 | "수면시간: Sleep duration (m)" | datetime | Y | 총 수면 시간 (분) | ||
| 47 | "수면시간: 최근 24시간 이내 (m)" | datetime | Y | 최근 24시간 이내 수면 시간 (분) | ||
| 48 | "식전 24시간이내 Light운동 시간" | integer | Y | 식전 24시간이내 Light운동 시간 | ||
| 49 | "식전 2시간이내 Light운동 시간" | integer | Y | 식전 2시간이내 Light운동 시간 | ||
| 50 | "식후 2시간이내 Light운동 시간" | integer | N | 식후 2시간이내 Light운동 시간 | ||
| 51 | "식전 24시간이내 heavy운동 시간" | integer | N | 식전 24시간이내 heavy운동 시간 | ||
| 52 | "식전 24시간이내 heavy운동 kcal" | integer | N | 식전 24시간이내 heavy운동 kcal | ||
| 52 | "식전 2시간이내 heavy운동 시간" | integer | N | 식전 2시간이내 heavy운동 시간 | ||
| 53 | "식전 2시간이내 heavy운동 kcal" | integer | N | 식전 2시간이내 heavy운동 kcal | ||
| 54 | "식후 2시간이내 heavy운동 시간" | integer | N | 식후 2시간이내 heavy운동 시간 | ||
| 55 | "식후 2시간이내 heavy운동 kcal" | integer | N | 식후 2시간이내 heavy운동 kcal | ||
| 56 | "나이(만)" | integer | N | 나이 | [0~] | |
| 57 | "성별" | integer | N | 성별(남=1, 여=2) | [1, 2] | |
| 58 | "height (cm)" | float | Y | 키 | ||
| 59 | "Weight (kg)" | float | Y | 몸무게 | ||
| 60 | "BMI" | float | Y | 체질량 지수 | ||
| 61 | "waist (cm)" | float | Y | 허리 둘레 | ||
| 62 | "Hip (cm)" | float | Y | 엉덩이 둘레 | ||
| 63 | "SBP" | float | Y | 수축기 혈압 | ||
| 64 | "DBP" | float | Y | 이완기 혈압 | ||
| 65 | "HR" | float | Y | 심박수 | ||
| 66 | "Body fat (%)" | float | N | 인바디 체지방량 (%) | [0,100] | |
| 67 | "fat mass (Kg)" | float | N | 인바디 체지방량 (kg) | ||
| 68 | "muscle mass (kg)" | float | N | 인바디 근육량 (kg) | ||
| 69 | "RBC" | float | Y | 적혈구 수 (million/mm3) | ||
| 70 | "WBC" | float | Y | 백혈구 수 (million/mm3) | ||
| 71 | "Hemoglobin" | float | Y | 헤모글로빈양 (g/dL) | ||
| 72 | "hematocrit" | float | Y | 혈액내 적혈구의 용적률 (%) | ||
| 73 | "MCV" | float | Y | 평균 적혈구 용적 (femto L) | ||
| 74 | "MCH" | float | Y | 평균 적혈구 혈색소량 (pico gram) | ||
| 75 | "MCHC" | float | Y | 평균 혈구, 혈색소 농도 (g/dL) | ||
| 76 | "PLT" | float | Y | 평균 혈소판 수 (수/micro Liter) | ||
| 77 | "HbA1c" | float | Y | 당화 혈색소 (%) | ||
| 78 | "FBS" | float | Y | 공복 혈당 (mg/dL) | ||
| 79 | "TB" | float | Y | 총 빌리루빈 (mg/dL) | ||
| 80 | "ALT" | float | Y | 알라닌 아미노전이효소 (IU/L) | ||
| 81 | "AST" | float | Y | 아스파테이트 아미노전달효소(IU/L) | ||
| 82 | "γ-GTP" | float | Y | 간기능 수치 (IU/L) | ||
| 83 | "Total | float | Y | 총 콜레스테롤 (mg/dL) | ||
| cholesterol" | ||||||
| 84 | "TG" | float | Y | 중성지방 (mg/dL) | ||
| 85 | "HDL" | float | Y | 고밀도 지질단백질 (mg/dL) | ||
| 86 | "LDL " | float | Y | 저밀도 지질단백질 (mg/dL) | ||
| 87 | "Uric acid" | float | Y | 요산 수치 (mg/dL) | ||
| 88 | "BUN" | float | Y | 혈액 요소 질소 (mg/dL) | ||
| 89 | "Creatine" | float | Y | 크레아틴 (mg/dL) | ||
| 90 | "Na" | float | Y | 혈액내 나트륨 (mmol/L) | ||
| 91 | "K" | float | Y | 혈액내 칼륨 (mmol/L) | ||
| 92 | "Cl" | float | Y | 혈액내 염소 (mmol/L) | ||
| 93 | "CRP" | float | Y | C-반응 단백질 (mg/dL) | ||
| 94 | "ACR" | float | Y | 알부민-크레아틴 비율 (%) | ||
| 95 | "수면중" | integer | Y | 수면중 여부(0=수면중 아님, 1=수면중) | [0, 1] |
|
3.데이터 구성
1) 음식 이미지 데이터
- 당뇨앱에 활용할 것을 고려하여, 한국인이 많이 소비하는 음식 중심으로 데이터를 수집하기 위하여 ‘17년 ~ ’20년의 4년간 실시된 ‘국민건강영양조사’의 식품리스트에 있는 200만 종의 음식을 대상으로 하여, 총 조사 대상 약 3만 명을 기준으로 0.1%에 해당하는 인원이 섭취한 음식 종류를 선별함
- 이 과정에서 약 1,000종의 음식 종류가 선별되었고, 기존 AI Hub 음식이미지에 있는 500여 종을 제외하여 기존 데이터와 중복되지 않는 500여 종을 수집 대상 음식으로 선정함
- 실생활 활용도에 따라 29개 대분류로 구분(식품분류체계 적용)하고 음식 종류와 특성에
따라 세분화하여 데이터 관리하여 편항성을 극복함
- 음식 이미지를 촬영하여 제공하는 크라우드 워커 대상으로 AI Hub 웹사이트에 올리고
활용될 수 있도록 전원에게 ‘저작물 활용 동의서’를 수령하여 저작권 관련 문제를 해소함
2) 음식 이미지 획득 절차
음식 이미지는 하기 표와 같이 크게 세 가지 경로를 통해 획득하였다.
| 음식 이미지 획득 경로 | 작업 도구 | 획득 이미지 수 | |
|---|---|---|---|
| 직접 촬영 | 크라우드 워커 고용: 자체 개발 앱과 카카오톡/이메일을 통해 수집한 이미지의 적합/부적합 판정 후 최종 사용 결정 | 채널헬스케어 자체 개발 음식사진 수집 앱 식단 카메라 촬영 | 38만장 |
| 임상 환자: 임상용 앱을 통한 섭취 음식 촬영 | 채널헬스케어 자체 개발당뇨관리 앱 | ||
| 외부 수집 | 음식 이미지 구매(게티이미지 활용) | 저작권 활용 계약 | 13만장 |
| 소셜사이트(네이버, 다음 크롤링) | CCL 공개데이터 활용 | 2만장 | |
3) 이미지 검수
ㅇ 촬영된 이미지는 1) Visipics를 통한 기존 데이터베이스에 있는 이미지와의 중복 여부 검토 2) 작업자 직접 육안 검사를 통한 촬영기준 부합 여부 검토로 적/부 판정을 내린 후
최종적으로 사용여부를 결정하여 적정성을 확보하였다.
| 책임자명 | 전화번호 | 대표이메일 | 담당업무 |
|---|---|---|---|
| 최고봉 | 02-6249-0920 | contact@channel.healthcare | 과제운영 |
| 기관명 | 담당업무 |
|---|---|
| 가톨릭대학교 산학협력단 | 임상데이터 수집, 검수 |
| 서울대학교 산학협력단 | 음식 레시피 메타데이터 |
| 원광대학교 산학협력단 | 음식 영양성분 메타데이터 |
| 담당자명 | 전화번호 | 이메일 |
|---|---|---|
| 최고봉 | 02-6249-0920 | contact@channel.healthcare |