728x90

CNN 18

[IQA] NSS 특성과 CNN으로 얻은 특성을 함께 조합해서 이미지 품질 평가에 활용한 NR IQA 방법

CNN을 활용하지 않는 NR IQA 알고리즘은 대부분 NSS (natural scene statistics) 특성에 의존합니다. CNN을 활용하는 NR IQA 알고리즘은 이미지와 이미지 품질 점수 간의 관계를 CNN의 가중치들을 갱신시켜감을 통해 알아갑니다. 올해 2020년에 Multimedia Tools and Applications에 게재된 "Blind image quality assessment using a combination of statistical features and CNN"은 NSS 특성과 CNN으로 얻은 특성을 합쳐서 SVR을 훈련시키는 NR IQA 알고리즘을 제안합니다. 구체적으로 품질 점수를 예측하기 위해 72개 NSS 특성과 CNN으로 얻은 10개의 특성, 총 82개 특성으로 ..

배치(batch)와 에포크(epoch)란?

안녕하세요. 비스카이비전입니다. CNN과 같은 딥러닝 모델을 훈련시키다보면 꼭 만나게 되는 것이 배치(batch), 에포크(epoch)라는 단어입니다. 이 두 단어가 무엇을 지칭하는 것인지를 알아야 모델을 제대로 훈련시킬 수 있습니다. 배치 먼저 배치가 무엇인지에 대해서 알아보겠습니다. batch의 사전적 의미에는 "집단, 무리; 한 회분; (일괄 처리를 위해) 함께 묶다" 등이 있습니다. 딥러닝에서 배치는 모델의 가중치를 한번 업데이트시킬 때 사용되는 샘플들의 묶음을 의미합니다. 만약에 총 1000개의 훈련 샘플이 있는데, 배치 사이즈가 20이라면 20개의 샘플 단위마다 모델의 가중치를 한번씩 업데이트시킵니다. 그러니까 총 50번(=1000/20) 가중치가 업데이트되겠죠. 하나의 데이터셋을 총 50개의..

[python] tensorflow.keras 딥러닝 모델의 레이어 이름 얻기

딥러닝 모델에 딥(deep)이라는 이름이 붙는 이유는 여러 층으로 이루어진 구조를 갖기 때문입니다. 다양한 종류의 레이어를 여러 층 쌓아서 원하는 기능을 수행할 수 있도록 모델을 만드는 것이죠. 딥러닝 모델들은 점점 깊어지는 방향으로 발전했고, 일례로 ResNet과 같은 이미지 분류 CNN 모델은 152층의 아주 깊은 구조를 갖고 있습니다. 반면, 딥러닝 이전의 머신러닝 모델들은 일반적으로 얕은(shallow) 구조를 갖고 있었습니다. 대개는 층이라고 부를 만한 것이 없었죠. Shallow architecture -> Deep architecture 많은 층의 레이어를 갖게 되면서 레이어들을 구별하기 위해, 연구자들은 각 레이어마다 이름을 붙여줍니다. 컨볼루션 레이어라면 conv1, conv2, conv..

코딩/python 2020.04.20

[IQA] 이미지품질평가 모델 개발에 대한 세가지 접근법: 상향식, 하향식, 데이터 중심

어떤 공학적 문제를 해결하는데 있어서는 여러 접근법(approach)이 존재할 수 있습니다. 이미지품질평가(image quality assessment, IQA) 문제를 해결하는데 있어서도 마찬가지입니다. 수많은 접근법이 존재하지만, 큰 틀에서는 비슷한 접근법들이 있기 때문에 몇 개의 카테고리로 범주화시킬 수 있습니다. Bosse 등[1]은 IQA 알고리즘을 크게 세 유형으로 분류했습니다. 이렇게 분류한 것이 꽤 괜찮다는 생각이 들어 소개해드립니다. 1. 상향식(bottom-up) 접근 사람시각시스템(human visual system, HVS)의 작동 방식을 모델링하는 알고리즘들이 여기에 속합니다. 사람이 두 눈으로 이미지를 보고 그에 대한 정보를 뇌에서 처리해서 궁극적으로 어떻게 그 이미지에 대한 품..

[IQA] CNN 기반 이미지품질평가 모델들 정리(2014-2018)

컴퓨터비전에서 어떤 연구 과제이든 관계없이 컨볼루션 신경망(convolutional neural network, CNN)은 중요하게 사용되고 있습니다. 이미지품질평가(image quality assessment, IQA) 과제에서도 마찬가지입니다. 오늘 이 포스팅에서는 CNN을 사용하는 IQA 모델에는 어떤 것들이 있는지, 또 어떻게 사용되고 있는지를 요약 정리하고자 합니다. IQA 모델은 원본 이미지를 참고할 수 있는지 여부에 따라 세 종류로 나눌 수 있습니다: Full-reference (FR) 방법, Reduced-reference (RR) 방법, No-reference (NR) 방법. FR 방법은 원본 이미지에 대한 전체 정보가 필요한 방법이고, RR 방법은 원본 이미지에 대한 일부 정보가 필요한..

[Anaconda+python] CIFAR-10 데이터셋으로 이미지 분류기 만들기 (컨볼루션 신경망)

오늘은 CIFAR-10 데이터셋을 이용해서 컨볼루션 신경망(convolutional neural network, CNN) 기반의 이미지 분류기를 만들어보겠습니다. 지난 시간에 만든 CNN 기반 의상분류기와 사용하는 데이터셋을 제외하고는 사실상 동일합니다. 의상분류기 예제에서는 fashion mnist 데이터셋을 사용했었죠? 오늘 사용할 CIFAR-10 데이터셋에 대해 간략히 소개해드리겠습니다. 의상분류기를 만들기 위해 사용한 fashion mnist는 그레이스케일 이미지들로 구성되어 있었던 반면, CIFAR-10 데이터셋은 컬러 이미지들로 구성되어 있습니다. 총 6만개의 샘플을 갖고 있는데, 그 중 5만개는 훈련을 위한 것이고, 만개는 테스트를 위한 것입니다. CIFAR-10의 이미지들은 이름에서 나타나..

[Anaconda+python] 의상 분류기 만들어서 훈련시키고 테스트하기2(컨볼루션 신경망)

지난 시간에 인공신경망을 이용해서 의상을 분류할 수 있는 딥러닝 모델을 만들어봤습니다. => https://bskyvision.com/696 이 모델은 티셔츠, 코트, 가방, 앵클부츠 등 10개의 의상을 분류할 수 있었습니다. 오늘은 동일한 fashion mnist 데이터베이스를 이용해서 컨볼루션 신경망(convolutional neural network, CNN)을 훈련시켜보겠습니다. CNN은 컴퓨터비전의 사실상 모든 분야의 성능을 획기적으로 개선시킨 알고리즘입니다. 최근의 웬만한 컴퓨터비전 모델은 CNN을 기반으로 해서 만들어졌다고 해도 과언이 아닐 정도죠. 오늘은 바로 전체 코드를 보여드리고 중요부분을 설명하는 식으로 글을 전개해가겠습니다. 지난 시간과 전반적인 코드는 매우 유사합니다. 1 2 3 ..

[CNN 알고리즘들] SENet의 구조

LeNet-5 => https://bskyvision.com/418 AlexNet => https://bskyvision.com/421 VGG-F, VGG-M, VGG-S => https://bskyvision.com/420 VGG-16, VGG-19 => https://bskyvision.com/504 GoogLeNet(inception v1) => https://bskyvision.com/539 ResNet => https://bskyvision.com/644 SENet => https://bskyvision.com/640 ----- 오랜만에 CNN 알고리즘에 대한 글을 쓰네요. 오늘은 SENet 차례입니다. SENet은 2017년 이미지넷 대회에서 우승을 차지한 모델입니다. top-5 error가 ..

[CNN 알고리즘들] GoogLeNet(inception v1)의 구조

LeNet-5 => https://bskyvision.com/418 AlexNet => https://bskyvision.com/421 VGG-F, VGG-M, VGG-S => https://bskyvision.com/420 VGG-16, VGG-19 => https://bskyvision.com/504 GoogLeNet(inception v1) => https://bskyvision.com/539 ResNet => https://bskyvision.com/644 SENet => https://bskyvision.com/640 ----- CNN 알고리즘들을 계속해서 포스팅하고 있다. LeNet-5, AlexNet, VGG-F, VGG-M, VGG-S, VGG16, VGG19에 이어서 오늘은 GoogLeN..

[IQA] 미리 훈련된 CNN으로 얻은 특성맵들의 품질로 이미지의 품질을 평가하는 모델, DeepSim

안녕하세요. 비스카이비전의 심교훈입니다. 오늘은 Fei Gao 등에 의해 2017년에 제안된 DeepSim이란 이미지품질평가(image quality assessment, IQA) 모델에 대해서 소개해드리려고 합니다. 이 모델에 관한 original paper의 제목은 "DeepSim: Deep similarity for image quality assessment"입니다. 저자들은 다른 과제를 위해, 예를 들어 이미지 분류 과제를 위해 미리 훈련된(pretrained) 컨볼루션 신경망(convolutional neural network, CNN) 모델이 이미지 품질 평가(IQA)에 효과적으로 사용될 수 있을지에 대해 질문을 던졌습니다. 그들의 답은 Yes입니다. 미리 훈련된 CNN 모델이 IQA에 유용..