KR101744163B1 - An application for managing images and method of managing images - Google Patents
An application for managing images and method of managing images Download PDFInfo
- Publication number
- KR101744163B1 KR101744163B1 KR1020160013385A KR20160013385A KR101744163B1 KR 101744163 B1 KR101744163 B1 KR 101744163B1 KR 1020160013385 A KR1020160013385 A KR 1020160013385A KR 20160013385 A KR20160013385 A KR 20160013385A KR 101744163 B1 KR101744163 B1 KR 101744163B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- cluster
- images
- clusters
- feature
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 239000013598 vector Substances 0.000 claims abstract description 89
- 230000000694 effects Effects 0.000 claims description 30
- 238000007906 compression Methods 0.000 claims description 19
- 230000006835 compression Effects 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 37
- 238000013441 quality evaluation Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 19
- 230000008859 change Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000011156 evaluation Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 239000000203 mixture Substances 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000013139 quantization Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G06F17/30256—
-
- G06F17/3028—
-
- G06F17/3071—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
이미지 관리용 애플리케이션 및 이를 위한 방법이 제공된다.
하드웨어와 결합되어 매체에 저장된 이미지 관리용 애플리케이션은 소정 기간 내의 복수의 이미지들 각각에 대하여 색상 정보와 관련된 헤더의 코드 스트림 및 시간 정보를 적어도 포함하는 특징값으로 구성된 특징 벡터를 생성하며, 최초 이미지와 인접 이미지의 특징 벡터들 간의 거리가 임계값 이하인 경우, 상기 이미지들을 동일한 클러스터로 분류하고, 후속 이미지의 특징 벡터와 클러스터 대표값 간의 거리가 상기 임계값 이하인 경우, 상기 후속 이미지를 상기 클러스터와 동일하게 분류하며, 상기 복수의 이미지들이 복수의 클러스터로 분류되고, 2 개의 클러스터에서의 상기 클러스터 대표값들 간의 거리가 상기 임계값 이하인 경우, 상기 2 개의 클러스터들을 단일 클러스터로 병합한다. An application for image management and a method therefor are provided.
An image management application stored in a medium coupled with hardware generates a feature vector composed of feature values including at least code stream and time information of a header related to color information for each of a plurality of images within a predetermined period, If the distance between the feature vectors of the adjacent image is less than or equal to the threshold value, the images are classified into the same cluster, and if the distance between the feature vector of the subsequent image and the cluster representative value is less than or equal to the threshold value, And merges the two clusters into a single cluster when the plurality of images are classified into a plurality of clusters and the distance between the cluster representative values in the two clusters is equal to or less than the threshold value.
Description
본 발명은 이미지 관리용 애플리케이션 및 이미지 관리 방법에 관한 것으로서, 보다 상세하게는 제한된 성능의 기기에서 사용자의 분류 의도에 최대한 부합하도록 방대한 양의 이미지를 용이하게 그룹핑함과 아울러, 사용자의 피드백에 따라 개인화된(personalized) 분류 기준 및 이미지의 품질 평가를 실현하는 이미지 관리용 애플리케이션 및 이미지 관리 방법에 관한 것이다.The present invention relates to an image management application and an image management method, and more particularly, to an image management application and an image management method, which are capable of easily grouping a large amount of images so as to maximally match a classification intention of a user in a limited performance device, To an image management application and an image management method for realizing quality evaluation of personalized classification standards and images.
태블릿(tablet) 컴퓨터, 스마트 폰 등 스마트 기기나 디지털 카메라 등의 촬영 장치에서 촬영된 사진은 각 장치별로 별도의 저장 폴더에 저장된다. 촬영 사진을 사용자 기준에 따라 분류하기 위해서는 사진을 하나씩 확인해가며 분류해야 하므로 많은 시간과 노력이 소모된다.Photos taken by smart devices such as tablet computers, smart phones, and digital cameras are stored in separate storage folders for each device. In order to classify the photographs according to the user's criteria, it takes a lot of time and effort to check the pictures one by one.
촬영 장치에 저장된 사진을 다른 장치로 전송하는 경우에도, 사진을 사용자 기준에 따라 분류하기 위해서는 사진을 모두 확인하면서 분류해야 하는 불편이 있다.Even when the photographs stored in the photographing apparatus are transmitted to other apparatuses, there is an inconvenience that the photographs should be classified while checking all the photographs in order to classify the photographs according to the user's criteria.
본 발명이 이루고자 하는 기술적 과제는 제한된 성능의 기기에서 사용자의 분류 의도에 최대한 부합하도록 방대한 양의 이미지를 용이하게 그룹핑함과 아울러, 사용자의 피드백에 따라 개인화된 분류 기준 및 이미지의 품질 평가를 실현하는 이미지 관리용 애플리케이션 및 이미지 관리 방법을 제공하는데 있다. An object of the present invention is to provide a method and apparatus for easily grouping a large amount of images so as to match a classification intention of a user in a limited performance device and realize personalized classification criteria and image quality evaluation according to user feedback An image management application and an image management method.
본 발명의 목적은 이상에서 언급된 목적으로 제한되지 않으며, 언급되지 않은 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다. The objects of the present invention are not limited to the above-mentioned objects, and other objects not mentioned can be clearly understood by those skilled in the art from the following description.
상기 기술적 과제를 이루기 위한 본 발명의 일 양태에 따르면, 이미지 관리용 애플리케이션은 하드웨어와 결합되며, 소정 기간 내의 복수의 이미지들 각각에 대하여 색상 정보와 관련된 헤더의 코드 스트림(code stream) 및 시간 정보를 적어도 포함하는 특징값으로 구성된 특징 벡터를 생성하는 단계와, 최초 이미지와 인접 이미지의 특징 벡터들 간의 거리가 임계값 이하인 경우, 상기 이미지들을 동일한 클러스터(cluster)로 분류하고, 상기 이미지들의 특징 벡터들에 근거하여 클러스터 대표값을 산출하는 단계와, 후속 이미지의 특징 벡터와 상기 클러스터 대표값 간의 거리가 상기 임계값 이하인 경우, 상기 후속 이미지를 상기 클러스터와 동일하게 분류하고, 상기 후속 이미지의 특징 벡터와 상기 클러스터 대표값에 근거하여 상기 클러스터 대표값을 갱신하는 단계, 및 상기 복수의 이미지들이 복수의 클러스터로 분류되고, 상기 복수의 클러스터들 중 2 개의 클러스터들에서의 상기 클러스터 대표값들 간의 거리가 상기 임계값 이하인 경우, 상기 2 개의 클러스터들을 단일 클러스터로 병합하고, 상기 임계값을 초과하는 경우, 상기 복수의 클러스터를 유지하는 단계를 실행시키기 위하여 매체에 저장된다. According to an aspect of the present invention, there is provided an image management application, which is combined with hardware and includes a code stream and a time information of a header related to color information for each of a plurality of images within a predetermined period, The method comprising the steps of: generating a feature vector composed of at least a feature value including at least one feature vector of a plurality of neighboring images; classifying the images into the same cluster if the distance between the feature vectors of the first image and the adjacent image is equal to or less than a threshold; If the distance between the feature vector of the subsequent image and the cluster representative value is less than or equal to the threshold value, classifying the subsequent image into the same cluster as the cluster, The cluster representative value is updated based on the cluster representative value And when the plurality of images are classified into a plurality of clusters and a distance between the cluster representative values in two of the plurality of clusters is equal to or less than the threshold value, Merging, and if the threshold is exceeded, maintaining the plurality of clusters.
다른 실시예에서, 상기 특징 벡터를 생성하는 단계 전에, 상기 임계값은 기 분류된 클러스터들에서 이용된 임계값들에 근거하여 추정될 수 있다. In another embodiment, prior to the step of generating the feature vector, the threshold may be estimated based on thresholds used in pre-classified clusters.
또 다른 실시예에서, 상기 특징 벡터들 간의 거리 및 상기 후속 이미지의 특징 벡터와 상기 클러스터 대표값 간의 거리의 계산시에, 상기 특징 벡터를 구성하는 특징값에 따라 클러스터링 가중치가 부여될 수 있다. In another embodiment, a clustering weight may be given according to a feature value constituting the feature vector, in calculating the distance between the feature vectors and the distance between the feature vector of the subsequent image and the cluster representative value.
또 다른 실시예에서, 상기 임계값 이하인 경우, 상기 단일 클러스터로 병합하고, 상기 임계값을 초과하는 경우에 상기 복수의 클러스터를 유지하는 단계 후에, 사용자가 상기 동일한 클러스터로 분류된 이미지들 중 적어도 하나의 이미지에 대한 신규 클러스터를 생성하거나, 복수의 클러스터를 선택하여 하나의 클러스터로 군집화하는 경우에, 상기 클러스터 대표값을 갱신하는 단계와, 상기 갱신된 클러스터 대표값에 근거하여 상기 임계값을 추정하는 단계를 더 포함한다. In another embodiment, after merging into the single cluster if the threshold is less than or equal to the threshold and maintaining the plurality of clusters if the threshold is exceeded, Updating the cluster representative value when a plurality of clusters are selected and clustered into one cluster; and a step of estimating the threshold value based on the updated cluster representative value .
또한, 상기 추정된 임계값을 이용하여 후속 기간 내의 복수의 이미지에 대하여 클러스터를 분류할 수 있다. Further, the estimated threshold value may be used to classify the clusters for a plurality of images in the subsequent period.
이에 더하여, 상기 특징 벡터들 간의 거리 및 상기 후속 이미지의 특징 벡터와 상기 클러스터 대표값 간의 거리의 계산에서 상기 특징 벡터를 구성하는 특징값에 따라 부여되는 클러스터링 가중치가 설정되면, 상기 갱신된 클러스터 대표값 및 상기 추정된 임계값에 기초하여 상기 클러스터링 가중치를 갱신하는 단계를 더 포함하고, 상기 추정된 임계값 및 상기 갱신된 클러스터링 가중치에 의해, 후속 기간 내의 복수의 이미지에 대하여 클러스터를 분류할 수 있다. In addition, when a cluster weight is assigned according to a feature value constituting the feature vector in the calculation of the distance between the feature vectors and the distance between the feature vector of the subsequent image and the cluster representative value, And updating the clustering weight based on the estimated threshold, wherein the estimated threshold and the updated clustering weight may classify clusters for a plurality of images in a subsequent time period.
또 다른 실시예에서, 상기 이미지는 디지털 형태로 저장되고, 상기 이미지의 포맷이 JPEG(Joint Photographic Experts Group)인 경우에, 상기 색상 정보와 관련된 헤더의 코드 스트림은 허프만 테이블(huffman table)에 저장된 DC 코드 및 AC 코드이며, 상기 이미지의 포맷이 PNG(Portable Network Graphic)인 경우에, 상기 색상 정보와 관련된 헤더의 코드 스트림은 허프만 테이블에 저장된 색상 데이터 관련 코드이고, 상기 이미지가 GIF(Graphic Interchange Format)인 경우에, 상기 색상 정보와 관련된 헤더의 코드 스트림은 LZW(Lempei-Ziv-Welch) 부호에 저장된 색상 데이터 관련 코드일 수 있다. In another embodiment, the image is stored in digital form, and if the format of the image is JPEG (Joint Photographic Experts Group), the code stream of the header associated with the color information is stored in a Huffman table Code and an AC code, and when the image format is PNG (Portable Network Graphic), a code stream of a header related to the color information is a color data related code stored in a Huffman table, the image is a GIF (Graphic Interchange Format) , The code stream of the header associated with the color information may be the color data related code stored in the LZW (Lempei-Ziv-Welch) code.
또 다른 실시예에서, 상기 클러스터 대표값은 동일한 클러스터로 분류된 이미지들의 특징 벡터를 구성하는 특징값마다의 평균값으로 구성될 수 있다. In another embodiment, the cluster representative value may be composed of an average value for each feature value constituting a feature vector of images classified into the same cluster.
또 다른 실시예에서, 상기 매체는 모바일 단말, 컴퓨터, 클라우드 서버 및 소셜 네트워크 서버 중 어느 하나일 수 있다.In yet another embodiment, the medium may be any of a mobile terminal, a computer, a cloud server, and a social network server.
또 다른 실시예에서, 상기 임계값 이하인 경우, 상기 단일 클러스터로 병합하고, 상기 임계값을 초과하는 경우에 상기 복수의 클러스터를 유지하는 단계 후에, 각 클러스터로 분류된 이미지들 각각에 대하여 복수의 품질 특징값들을 산출하는 단계와, In another embodiment, merging into the single cluster, when the threshold is below the threshold, and maintaining the plurality of clusters if the threshold is exceeded, Calculating characteristic values,
품질 가중치가 부여된 복수의 품질 특징값들에 근거하여 상기 이미지들을 평가한 결과에 따라, 상기 클러스터 내에서 상기 이미지들의 순위를 부여하고, 상기 클러스터 내의 대표 이미지를 선정하는 단계를 더 포함할 수 있다. Ranking the images in the cluster according to a result of evaluating the images based on a plurality of quality-weighted quality feature values, and selecting representative images in the cluster .
또한, 상기 클러스터 내에서 상기 이미지들의 순위를 부여하고, 상기 대표 이미지를 선정하는 단계 후에, 상기 클러스터 내에서 상기 이미지들의 순위를 직접적으로 재배치하는 사용자의 지시에 응답하여 대표 이미지를 획득하는 단계와, 상기 재배치된 순위에 근거하여 상기 품질 가중치를 산출하는 단계, 및 다른 클러스터의 이미지들을 평가시에, 상기 품질 특징값들에 상기 산출된 품질 가중치를 적용하여 평가하는 단계를 더 포함할 수 있다. Further comprising the steps of: ranking the images in the cluster and, after selecting the representative image, obtaining a representative image in response to an instruction of a user to directly relocate the images in the cluster; Calculating the quality weight based on the rearranged rank, and evaluating the quality feature values by applying the calculated quality weight to images of other clusters.
이에 더하여, 상기 클러스터 내에서 상기 이미지들의 순위를 부여하고, 상기 대표 이미지를 선정하는 단계 후에, 상기 클러스터 내에서 상기 이미지들에 대한 사용자의 간접적인 액티비티(activity)가 있는 경우에, 상기 액티비티의 개입 정도(intervening degree)에 근거하여 상기 클러스터 내의 상기 이미지들의 순위를 재배치하고, 상기 순위에 따라 대표 이미지를 획득하는 단계와, 상기 액티비티의 개입 정도에 근거하여 상기 품질 가중치를 산출하는 단계, 및 다른 클러스터의 이미지들을 평가시에, 상기 품질 특징값들에 상기 산출된 품질 가중치를 적용하여 평가하는 단계를 더 포함할 수 있다. In addition, in the event that there is an indirect activity of the user for the images in the cluster, after ranking the images in the cluster and selecting the representative image, the intervention of the activity Rearranging the order of the images in the cluster based on the degree of intervening and obtaining a representative image according to the ranking; calculating the quality weight based on the degree of intervention of the activity; And evaluating the quality feature values by applying the calculated quality weights to the quality feature values.
이 경우에, 상기 액티비티의 개입 정도는 소셜 네트워크 서비스에서의 상기 이미지의 공유 횟수, 상기 이미지의 수정 횟수, 상기 이미지의 열람 횟수 및 상기 이미지의 열람 시간 중 적어도 하나를 포함하여 산출될 수 있다. In this case, the degree of intervention of the activity may be calculated to include at least one of the number of sharing of the image in the social network service, the number of times the image is modified, the number of times the image is browsed, and the viewing time of the image.
상기 품질 특징값들은 상기 이미지 내의 얼굴 유무, 얼굴을 기준으로 하는 상기 이미지의 소정 영역에서의 선명도, 얼굴이 상기 이미지에서 차지하는 상대 면적, 눈(eye)의 개방 여부, 신호대 잡음비, HDR(High Dynamic Range) 혹은 렌즈 왜곡으로 인한 얼굴 왜곡 유무, 상기 이미지의 중심으로부터 상기 얼굴 중심까지의 거리 중 적어도 2개를 포함할 수 있다. The quality characteristic values may include at least one of a presence or absence of a face in the image, a sharpness in a predetermined area of the image based on the face, a relative area occupied by the face in the image, an openness of an eye, a signal- ) Or face distortion due to lens distortion, and a distance from the center of the image to the center of the face.
또한, 상기 클러스터 내에서 상기 이미지들의 순위를 부여하고, 상기 클러스터 내의 대표 이미지를 선정하는 단계 후에, 소정 상위의 순위의 이미지들만을 상기 매체에 저장하거나, 외부의 다른 매체에 업로드하는 단계를 더 포함할 수 있다. The method may further include the step of ranking the images in the cluster and selecting only representative images in the cluster, and then storing only images of a predetermined higher ranking on the medium or uploading to other external media can do.
아울러, 상기 클러스터 내에서 상기 이미지들의 순위를 부여하고, 상기 클러스터 내의 대표 이미지를 선정하는 단계 후에, 소정 하위의 순위의 이미지들을 상기 이미지들보다 낮은 압축율을 가진 이미지들로 변환하는 단계, 및 상기 낮은 압축율을 가진 이미지들을 상기 매체에 저장하거나, 외부의 다른 매체에 업로드하는 단계를 더 포함할 수 있다. Further comprising the steps of: ranking the images in the cluster and selecting representative images in the cluster; converting the images of a predetermined lower rank into images having a lower compression ratio than the images; Storing the images having the compression ratio in the medium or uploading them to another external medium.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다. The details of other embodiments are included in the detailed description and drawings.
본 발명에 따르면, 제한된 자원을 갖는 모바일 단말 및 클라우드(cloud) 환경에서 과도한 연산량 및 복잡한 이미지 처리를 수반하지 않으면서, 연속적인 시간 구간 내에 있으나 서로 상이한 구도를 갖는 이미지들을 다른 클러스터로 정확하게 그룹핑함으로써, 사용자의 분류 의도에 부합한 클러스터링이 실현될 수 있다. 또한, 클러스터링 후에 유사한 클러스터들을 병합함으로써, 연속적인 유사한 이미지들 내에 외란(disturbance)이 있는 이미지로 인해 유사한 이미지들이 다른 클러스터들로 분류되는 오버 클러스터링(over clustering)을 방지할 수 있다. According to the present invention, it is possible to precisely group images, which are in a continuous time interval but have different compositions, into different clusters without involvement of excessive computational complexity and complex image processing in a mobile terminal and a cloud environment with limited resources, Clustering that meets the user's classification intent can be realized. In addition, by merging similar clusters after clustering, it is possible to prevent over clustering in which similar images are classified into different clusters due to images with disturbance in successive similar images.
또한, 사용자의 클러스터의 병합 혹은 생성에 따라, 클러스터들을 구분하는 기준인 임계값 및 클러스터링 가중치를 갱신함으로써, 후속 이미지들의 클러스터링시에 개인화된 분류 기준이 생성되어 사용자의 의도에 부합된 분류가 구현될 수 있다. In addition, according to the merging or creation of the user's clusters, the threshold value and the clustering weight, which are the criteria for distinguishing the clusters, are updated, so that a personalized classification criterion is generated at the time of clustering of the subsequent images to implement classification corresponding to the user's intention .
이에 더하여, 사용자는 품질 평가에 의해 클러스터 내의 이미지들의 순위들을 직접적으로 변경하거나 소셜 네트워크 서비스 등의 액티비티를 통해, 평가 요소들에 부여된 품질 가중치들을 산출함으로써, 산출된 품질 가중치가 후속의 이미지 평가에 반영될 수 있다. In addition, the user can directly change the ranking of the images in the cluster by quality evaluation, or by calculating the quality weights assigned to the evaluation elements through activities such as social network services, Can be reflected.
도 1은 본 발명의 일 실시예에 따른 이미지 관리용 애플리케이션이 구현된 모바일 단말을 포함하는 전체 네트워크를 개략적으로 도시한 도면이다.
도 2는 모바일 단말의 개략적인 구성도이다.
도 3은 이미지 관리용 애플리케이션의 기능을 모듈 별로 나타낸 도면이다.
도 4는 데이터베이스부에 저장된 이미지의 정보를 나타내는 도면이다.
도 5는 이미지 파일의 포맷을 예시한 도면이다.
도 6a 및 도 6b는 이미지들의 클러스터링 프로세스에 관한 흐름도이다.
도 7은 오버 클러스터링을 방지하기 위한 클러스터의 병합을 나타낸 도면이다.
도 8a 내지 도 8d는 이미지들의 클러스터링 프로세스에 대한 유저 인터페이스(user interface)를 예시한 도면이다.
도 9는 사용자의 조작에 의해 클러스터를 편집하는 경우에 관한 흐름도이다.
도 10a 및 도 10b는 사용자에 의해 클러스터를 편집하는 경우의 유저 인터페이스를 예시한 도면이다.
도 11은 이미지들의 품질 평가 및 사용자의 직접적인 조작에 의한 이미지 순위의 변경에 관한 흐름도이다.
도 12는 이미지들의 품질 평가 및 액티비티 개입 정도에 의한 이미지 순위의 변경에 관한 흐름도이다.
도 13은 클러스터의 분류 및 이미지의 품질 평가에 사용되는 파라미터들을 조정하기 위한 유저 인터페이스를 예시한 도면이다.
도 14은 매체에 보존하기 위한 이미지들의 선정 및 저장 형태를 결정하기 위한 유저 인터페이스를 예시한 도면이다. 1 is a schematic view of an entire network including a mobile terminal in which an image management application according to an embodiment of the present invention is implemented.
2 is a schematic configuration diagram of a mobile terminal.
3 is a diagram showing functions of an image management application by module.
4 is a view showing information of an image stored in the database unit.
5 is a diagram illustrating the format of an image file.
6A and 6B are flowcharts of the clustering process of images.
7 is a diagram showing the merging of clusters to prevent overclustering.
Figures 8A-8D illustrate a user interface for the clustering process of images.
9 is a flowchart related to a case where a cluster is edited by a user's operation.
10A and 10B are diagrams illustrating a user interface when a cluster is edited by a user.
11 is a flow chart for evaluating the quality of images and changing the image ranking by direct manipulation of the user.
Figure 12 is a flow chart of the quality evaluation of images and the change of image ranking by degree of activity intervention.
13 is a diagram illustrating a user interface for adjusting parameters used for classifying a cluster and evaluating the quality of an image.
FIG. 14 is a diagram illustrating a user interface for determining the selection and storage form of images to be stored in a medium.
이하, 첨부한 도면들 및 후술되어 있는 내용을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 그러나, 본 발명은 여기서 설명되어지는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되어지는 것이다. 명세서 전체에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급되지 않는 한 복수형도 포함된다. 명세서에서 사용되는 “포함한다(comprises)” 및/또는 “포함하는(comprising)”은 언급된 구성요소, 단계, 동작 및/또는 소자가 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings and the following description. However, the present invention is not limited to the embodiments described herein but may be embodied in other forms. Rather, the embodiments disclosed herein are being provided so that this disclosure will be thorough and complete, and will fully convey the concept of the invention to those skilled in the art. Like reference numerals designate like elements throughout the specification. It is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. &Quot; comprises " and / or " comprising ", as used herein, unless the recited element, step, operation, and / Or additions.
또한, “부”내지 “모듈” 이란, 일반적으로 논리적으로 분리 가능한 소프트웨어(컴퓨터 프로그램), 하드웨어 등의 부품을 가리킨다. 따라서, 본 실시형태에 있어서의 모듈은 컴퓨터 프로그램에 있어서의 모듈뿐만 아니라, 하드웨어 구성에 있어서의 모듈도 가리킨다. 그 때문에, 본 실시형태는, 그것들을 모듈로서 기능시키기 위한 컴퓨터 프로그램(컴퓨터에 각각의 단계를 실행시키기 위한 프로그램, 컴퓨터를 각각의 수단으로서 기능시키기 위한 프로그램, 컴퓨터에 각각의 기능을 실현시키기 위한 프로그램), 시스템 및 방법의 설명도 겸하고 있다. 다만, 설명의 형편상, “저장한다”, “저장시킨다”, 이것들과 동등한 문언을 이용하지만, 이들 문언은, 실시형태가 컴퓨터 프로그램일 경우에는, 기억 장치에 기억시키는, 또는 기억 장치에 기억시키는 것과 같이 제어하는 것을 의미한다. 또한, “부” 내지 “모듈”은 기능에 일대일로 대응하고 있어도 되지만, 실장에 있어서는, 1 모듈을 1 프로그램으로 구성해도 되고, 복수 모듈을 1프로그램으로 구성해도 되고, 반대로 1 모듈을 복수 프로그램으로 구성해도 된다. 또한, 복수 모듈은 1 컴퓨터에 의해 실행되어도 되고, 분산 또는 병렬 환경에 있어서의 컴퓨터에 의해 1 모듈이 복수 컴퓨터로 실행되어도 된다. 또한, 1개의 모듈에 다른 모듈이 포함되어 있어도 된다. 또한, 이하, “접속”이란 물리적인 접속 외에, 논리적인 접속(데이터의 주고받기, 지시, 데이터간의 참조 관계 등)일 경우에도 채용한다. “소정의” 또는 “미리 정해진” 이란, 대상으로 하고 있는 처리 전에 정해져 있음을 말하고, 본 실시형태에 의한 처리가 개시되기 전은 물론이고, 본 실시형태에 의한 처리가 개시된 후에도, 대상으로 하고 있는 처리 전이면, 그 때의 상황·상태에 따라, 또는 그때까지의 상황·상태에 따라 정해지는 것의 의미를 포함해서 이용한다.Also, the terms " part " to " module " refer generally to components such as logically separable software (computer program), hardware and the like. Therefore, the module in the present embodiment indicates not only the module in the computer program but also the module in the hardware configuration. Therefore, the present embodiment is applicable to a computer program for causing the computer to function as a module (a program for causing each step to be executed in a computer, a program for causing a computer to function as each means, ), And also explains systems and methods. It should be noted that, for convenience of description, the words " store ", " store ", and words equivalent to these words are used, but these words may be stored in a storage device, As well as control. In addition, the modules may correspond to one-to-one functions, but in the case of mounting, one module may be constituted by one program, or a plurality of modules may be constituted by one program. Alternatively, one module may be constituted by a plurality of programs . Further, a plurality of modules may be executed by one computer, and one module may be executed by a plurality of computers by a computer in a distributed or parallel environment. Further, another module may be included in one module. Hereinafter, the term " connection " is used also in the case of logical connection (data transfer, instruction, reference relationship between data, etc.) in addition to physical connection. The term " predetermined " or " predetermined " means that the processing is determined before the processing to be performed. It is also possible that, even after the processing according to the present embodiment is started, If it is before the processing, it is used including the meaning of what is decided according to the situation / condition at that time, or the situation / state up to that time.
또한, 시스템 또는 장치란, 복수의 컴퓨터, 하드웨어, 장치 등이 네트워크(일대 일 대응의 통신 접속을 포함함) 등의 통신 수단에 의해 접속되어 구성되는 것 외에, 1개의 컴퓨터, 하드웨어, 장치 등에 의해 실현될 경우도 포함된다. The system or device is not limited to being configured by connecting a plurality of computers, hardware, devices, and the like by communication means such as a network (including a one-to-one correspondence communication connection) This includes cases where it is realized.
또한, 각 부 내지 각 모듈에 의한 처리마다 또는 각 부 내지 모듈 내에서 복수의 처리를 행할 경우는 그 처리마다, 대상이 되는 정보를 기억 장치(메모리)로부터 판독 입력하고, 그 처리를 행한 후에, 처리 결과를 기억 장치에 기입하는 것이다. 따라서, 처리 전의 기억 장치로부터의 판독 입력, 처리 후의 기억 장치에의 기입에 관해서는, 설명을 생략할 경우가 있다. 또한, 여기에서의 기억 장치로서는, 하드디스크, RAM(RandoM Access Memory), 외부 기억 매체, 통신 회선을 통한 기억 장치, CPU(Central Processing Unit) 내의 레지스터 등을 포함하고 있어도 된다.In addition, when a plurality of processes are performed for each process by each module or each module, or when a plurality of processes are performed in each module, the target information is read from the memory device (memory) And writes the processing result into the storage device. Therefore, the description of the reading and writing from the storage device before processing and the writing into the storage device after processing may be omitted. The storage device here may include a hard disk, a RAM (Random Access Memory), an external storage medium, a storage device via a communication line, a register in a CPU (Central Processing Unit), and the like.
이하, 도 1 내지 도 3을 참조하여, 본 발명의 일 실시예에 따른 이미지 관리용 애플리케이션에 대하여 상세히 설명하기로 한다. 도 1은 본 발명의 일 실시예에 따른 이미지 관리 애플리케이션이 구현된 모바일 단말을 포함하는 전체 네트워크를 개략적으로 도시한 도면이고, 도 2는 모바일 단말의 개략적인 구성도이며, 도 3은 이미지 관리 애플리케이션의 기능을 모듈 별로 나타낸 도면이다.도 4는 데이터베이스부에 저장된 이미지의 정보를 나타내는 도면이고, 도 5는 이미지 파일의 포맷을 예시한 도면이다. Hereinafter, an image management application according to an embodiment of the present invention will be described in detail with reference to FIG. 1 to FIG. FIG. 1 is a schematic diagram of an entire network including a mobile terminal in which an image management application according to an embodiment of the present invention is implemented. FIG. 2 is a schematic configuration diagram of a mobile terminal, FIG. 4 is a view showing information of an image stored in a database unit, and FIG. 5 is a view illustrating a format of an image file.
이하에서는 설명의 편의상 이미지 관리용 애플리케이션이 모바일 단말에 내장되는 것을 일례로 기술하기로 한다. 그러나, 이미지 관리용 애플리케이션은 클라우드 서버 또는 소셜 네트워크 서버 등에 내장되어 실행되고, 상기 애플리케이션과 연동된 모바일 단말용 프로그램을 통해 모바일 단말에 서비스할 수 있다. 클라우드 서버 또는 소셜 네트워크 서버에 내장되더라도, 이미지 관리용 애플리케이션은 이하의 설명한 사항과 실질적으로 동일하게 구현될 수 있다. 또한, 이미지 관리용 애플리케이션은 단순히 개인용 데스크탑(desktop) 컴퓨터에 내장되어 이하와 같이 구현될 수 있다. Hereinafter, an image management application is embedded in a mobile terminal for convenience of description. However, the image management application can be embedded in a cloud server, a social network server, or the like, and can be serviced to the mobile terminal through a program for the mobile terminal associated with the application. Even if it is embedded in a cloud server or a social network server, the image management application can be implemented substantially the same as the following description. In addition, the image management application can be simply built in a personal desktop computer and can be implemented as follows.
이미지 관리용 애플리케이션을 통해 순위화된 이미지들로 클러스터링하여 클러스터로 그룹핑된 이미지를 업로드하기 위해, 복수의 모바일 단말들(100), 클라우드 서버(140), 소셜 네트워크 서버(300) 및 네트워크(400)가 제공된다. 이들 구성요소는 유, 무선 접속에 의한 네트워크(400)를 통해 연결되고, 이들 구성요소 간의 데이터 교환은 네트워크(400)를 경유하여 수행된다. A plurality of
본 실시예에 의하면, 모바일 단말(100)은 이미지 관리용 애플리케이션을 내장할 수 있다. 모바일 단말(100)은 외부와 통신 가능한 단말로서, 피사체를 촬영할 수 있으며, 예를 들면 셀룰러(cellular) 폰, 스마트 폰, 태블릿 컴퓨터, 랩탑(laptop) 컴퓨터 또는 디지털 카메라일 수 있다. According to the present embodiment, the
클라우드 서버(140)는 모바일 단말(100)과 통신하여 모바일 단말(100)에 저장된 데이터, 예컨대 문서, 이미지, 비디오, 오디오 등을 저장할 수 있고, 모바일 단말(100)의 요청에 의해 저장된 데이터를 다른 모바일 단말(100) 또는 소셜 네트워크 서버(300)에 제공할 수 있다. The
소셜 네트워크 서버(300)는 모바일 단말들(100)의 상호 간에 행해지는 디지털 액티비티(activity), 예를 들면 메시지 교환, 텍스트, 이미지, 비디오, 오디오 및 각종 데이터 의 공유 등을 구현할 수 있다.The
모바일 단말(100)은 구체적으로, 조작부(102), 이미지 입력부(104), 오디오 입력부(106), 외부 접속부(124)를 포함할 수 있다. The
조작부(102)는 사용자의 입력을 위한 인터페이스로서, 디스플레이부(112)에 제공되는 터치 패드와 같은 소프트 키 및/또는 하드 키일 수 있다. 이미지 입력부(104)는 피사체의 정지 화상 또는 영상이 입력되는 부분으로서, 예들 들면 CCD 또는 CMOS 이미지 센서로 구성될 수 있다. 오디오 입력부(106)는 모바일 단말(100) 주변의 음성을 수신하는 부분으로서, 마이크로 폰일 수 있다. 외부 접속부(124)는 컴퓨팅 장치, 외장 메모리 등의 외부의 전자 디바이스와 접속되는 부재로서, 모바일 단말(100)과 외부 디바이스 간의 데이터 통신을 수행할 수 있다. The
모바일 단말(100)은 오디오 처리부(108), 이미지 처리부(110), 디스플레이부(112) 및 오디오 출력부(126)를 포함할 수 있다. The
오디오 처리부(108)는 오디오 입력부(106)로부터 입력되는 음성을 디지털 압축 형태의 오디오 파일로 인코딩하고, 메모리부(118)에 저장된 오디오 파일을 디코딩하여 오디오 출력부(126)를 통해 재생할 수 있다. The
이미지 처리부(110)는 이미지 입력부(104)로부터 입력된 피사체 화상, 영상을 디지털 압축 형태의 이미지 또는 비디오로 인코딩하고, 메모리부(118)에 저장된 이미지 또는 비디오를 디코딩하여 디스플레이부(112)를 통해 이미지 혹은 비디오를 표시할 수 있다. 압축된 이미지의 포맷은 JPEG(Joint Picture Expert Group), PNG(Portable Network Graphic), GIF(Graphic Interchange Format), TIFF(Tag Image File Format) 등일 수 있으나, 디지털 압축 형태라면 종류에 관계없이 가능하다. The
모바일 단말(100)은 통신부(114), 위치 센서부(116), 메모리부(118) 및 각 부의 기능을 제어하는 제어부(120)를 포함할 수 있다. The
통신부(114)는 유, 무선 통신을 위한 인터페이스로서, LTE, WCDMA, 블루투스, WIFI, WIBRO, 이더넷 등일 수 있으나, 이에 제한되지 않는다. The
위치 센서부(116)는 모바일 단말(100)의 현 위치에 대한 위치 정보를 인식하는 부재이고, 예를 들면 GPS 센서일 수 있다. 위치 센서부(116)는 이미지가 촬영된 장소에 관한 위치 정보를 파악하여 저장된 이미지의 메타 데이터로 제공할 수 있다. 도 2에서는 위치 센서부(116)만을 도시하였으나, 모바일 단말(100)의 주변의 다양한 상황을 감지하기 위한 복수의 센서들이 구비될 수 있다. The
메모리부(118)는 이미지 처리부(110)에서 압축 처리된 이미지 파일, 오디오 파일 등을 포함한 다양한 멀티미디어 데이터, 운영 체제 관련 데이터 및 다양한 형태의 데이터를 저장할 수 있다. The
애플리케이션부(122)는 메모리부(118)의 프로그램 메모리와 별도로, 사용자가 이용하는 다양한 응응 기능을 구동시키기 위한 서로 다른 프로그램인 애플리케이션들 및 이미지 관리용 애플리케이션(200)을 저장할 수 있으나, 본 실시예와 달리, 메모리부(118)에 편입될 수도 있다. 이러한 애플리케이션은 모바일 단말(100)에 초기에 내장될 수도 있으며, 외부의 앱 마켓 등으로부터 다운로드되어 설치될 수도 있다. Apart from the program memory of the
이미지 관리용 애플리케이션(200)은 메모리부(118)에 압축 형태의 파일로 저장된 이미지들을 유사한 이미지들로 클러스터링하고, 클러스터 내의 이미지들을 순위화하는 기능을 구현한다. The
이미지 관리용 애플리케이션(200)은 구체적으로, 데이터베이스부(202), 특징값 추출부(204), 이미지 클러스터링부(206), 이미지 평가부(218), 클래스 제시부(224) 및 업로드부(236)를 포함할 수 있다. Specifically, the
데이터베이스부(202)는 도 4에 도시된 바와 같이, 이미지들 각각에 대한 클러스터링 및 품질 평가 완료 여부, 클러스터 정보, 복수의 품질 특징값의 각각의 스코어, 클러스터링을 위한 특징 벡터를 구성하는 특징값들, 각 특징값에 부여되는 클러스터링 가중치, 클러스터링을 위한 임계값, 품질 특정값에 부여되는 품질 가중치, 품질 평가에 따른 순위를 저장할 수 있다. As shown in Fig. 4, the
데이터베이스부(202)는 초기에 혹은 사용자가 설정한 기간 내의 이미지들로 그룹핑될 수 있으며, 구체적으로 소정 기간 별로 클러스터링 및 품질 평가를 완료 여부를 파악하도록, 클러스터링 등이 완료된 이미지 그룹(502)과 미완료된 이미지 그룹(504)를 구별하여 저장한다. 이에 따라, 이미지 관리용 애플리케이션(200)은 미완료된 이미지 그룹(502)에 속한 이미지들에 대하여 처리를 수행할 수 있다. The
또한, 모바일 단말(100)이 이미지 관리용 애플리케이션(200)을 실행하는 중에 정지되어, 설정한 기간에 속한 모든 이미지들을 처리하지 못하는 경우에, 데이터베이스부(202)는 설정한 기간까지의 모든 이미지들을 그룹핑하지 않고, 실행 완료된 이미지들만을 처리 완료된 이미지 그룹(502)으로 저장할 수 있다. When the
이미지 관리용 애플리케이션(200)이 클라우드 서버(140)에 내장되어, 클라우드 서버(140)가 상기 애플리케이션이 실행 중에, 네트워크의 장애로 모바일 단말(100)로부터 소정 기간 내의 모든 이미지들을 수신하지 못한 경우에도, 전술한 사항과 실질적으로 동일하다. Even when the
특징값 추출부(204)는 데이터베이스부(202)에서 미완료된 이미지 그룹(504)의 복수의 이미지들의 각각에 대하여 압축 형태의 이미지의 포맷을 분석하여, 색상 정보와 관련된 헤더의 코드 스트림(code stream) 및 시간 정보를 적어도 포함하는 특징값들을 추출한다. 특징값 추출부(204)는 각 이미지마다 추출된 특징값들로 구성된 특징 벡터를 생성한다. The feature
압축 형태의 이미지는 이미지 압축 과정에서 생성된 압축 파라미터와 메타 데이터를 포함하는 헤더와 이미지의 화소들의 압축 데이터를 포함하는 본체로 구성될 수 있다. 압축 파라미터는 압축 데이터로 인코딩하는 과정에서 생성된 색상 정보, 명도 정보, 샘플링에 관한 계수와 테이블을 포함할 수 있고, 메타 데이터는 이미지의 생성 시간 정보 및 촬영 위치 정보 등을 포함할 수 있다. The compressed image may be composed of a header including compressed parameters and metadata generated in the image compression process, and a main body including compressed data of pixels of the image. The compression parameters may include color information, brightness information, coefficients related to sampling, and a table generated in the process of encoding with compressed data, and the metadata may include information on the generation time of the image, photographing position information, and the like.
특징값의 색상 정보와 관련된 헤더의 코드 스트림은 압축 파라미터에 포함된 색상 정보에 관한 계수와 테이블을 의미한다. The code stream of the header related to the color information of the feature value means a coefficient and a table relating to the color information included in the compression parameter.
예를 들면, 이미지가 JPEG인 경우에, 색상 정보와 관련된 헤더의 코드 스트림은 허프만 테이블(huffman table)에 저장된 코드 혹은 양자화 테이블이고, 이미지가 GIF인 경우에, 색상 정보와 관련된 헤더의 코드 스트림은 LZW(Lempei-Ziv-Welch) 부호일 수 있다. 이미지가 PNG 또는 TIFF인 경우에, 상기 코드 스트림은 JPEG과 유사한 허프만 테이블의 코드일 수 있다.For example, in the case where the image is JPEG, the code stream of the header related to the color information is a code or a quantization table stored in a Huffman table, and when the image is a GIF, LZW (Lempei-Ziv-Welch) code. If the image is PNG or TIFF, the code stream may be code in a Huffman table similar to JPEG.
이미지 표준으로 통상적으로 사용되는 JPEG 이미지의 포맷을 도 5를 참조하여 설명하면, JPEG 이미지는 헤더, 이미지 화소들의 색상 정보를 샘플링, DCT(Discrete Cosine Tranformation), 양자화, 허프만 코딩 등의 일련의 과정에 의해 생성된 데이터를 포함하는 JPEG 압축 데이터(616) 및 이미지 파일의 종료를 통지하는 EOI(End OF Image)(618)을 포함한다. Referring to FIG. 5, the format of a JPEG image, which is typically used as an image standard, is a JPEG image, which is obtained by sampling color information of a header and image pixels, performing a DCT (Discrete Cosine Transformation) JPEG compressed
헤더는 이미지 파일의 시작을 통지하는 SOI(Start Of Image)(602), 메타 데이터를 기록한 응용 영역인 APP(604), 양자화 테이블을 보관하는 DQT(Define Quantization Tables)(606), 허프만 테이블의 코드를 저장하는 DHT(Define Huffman Tables)(608), JPEG 압축 데이터(616) 내에 존재하는 마커(marker)로 손상된 압축 데이터를 복원함에 있어서 재시작 간격을 정의하는 DRI(Define Restart Interval)(610), 이미지의 사이즈와 샘플링 정보를 보관하는 SOF(Start Of Frame)(612) 및 각 성분들이 사용할 허프만 테이블을 식별하기 위한 SOS(Start Of Scan)(614)를 포함한다. The header includes an SOI (Start Of Image) 602 for notifying the start of an image file, an
JPEG 이미지에서 추출되는 특징값은 DQT(406)에 저장된 양자화 테이블 또는 DHT(608)에 기록된 허프만 테이블에서의 색상 정보와 관련된 코드 스트림과 함께, APP(604)에 보관되는 이미지의 시간 정보일 수 있다. The feature value extracted from the JPEG image may be the quantization table stored in the DQT 406 or the code information associated with the color information in the Huffman table recorded in the
본 실시예는 색상 정보와 관련된 코드 스트림으로서 허프만 테이블의 DC 코드 및 AC 코드를 채용하는 것을 예로 들어 설명한다. 이 경우에, DC 코드, AC 코드 및 시간 정보와 같은 특징값들은 각 이미지 Fi(i는 i 번째 이미지임)마다 하기의 [식 1]과 같은 특징 벡터로 구성될 수 있다. In the present embodiment, a DC code and an AC code of a Huffman table are employed as a code stream related to color information. In this case, the feature values such as the DC code, the AC code, and the time information may be constituted by the feature vector as shown in [Formula 1] below for each image F i (i is the i-th image).
[식 1] [Formula 1]
(DCi는 i 번째 이미지의 DC 코드이며, ACi는 i 번째 이미지의 AC 코드이고, Timei는 시간 정보임) (DC i is the DC code of the i-th image, AC i is the AC code of the i-th image, and Time i is time information)
이상에서는 특징값에 이용되는 메타 데이터로서 시간 정보만을 이용하고 있으나, 이미지의 촬영 장소와 관련된 위치 정보가 위치 센서부(116)로부터 획득되어 이미지의 메타 데이터에 첨부되고, 특징값은 위치 정보를 추가적으로 포함할 수 있다. In the above description, only the time information is used as the meta data used for the feature value, but the position information related to the image capturing place of the image is acquired from the
본 실시예에서 이미지의 포맷에 기 저장된 헤더 내의 색상 정보의 코드 스트림과 시간 정보를 유사도 판정을 위한 특징값들로 활용함으로써, 단순히 시간 정보와 위치 정보와 같은 메타 데이터만의 클러스터링에 비해 클러스터화된 이미지들의 유사도가 향상될 수 있다. In this embodiment, by using the code stream and the time information of the color information in the header previously stored in the format of the image as the feature values for determining the degree of similarity, The similarity of the images can be improved.
또한, 이미지 압축 방식을 재차 변형 가공하여 유사도 판정을 진행하면, 이미지 내의 파라미터를 재계산하거나 반복적인 가공을 수행해야 하는 많은 연산량이 요구되므로, 상기 방식은 제한된 성능의 모바일 단말(100)에 적합하지 않다. 그러나, 본 실시예는 별도의 이미지 파일의 가공없이 헤더 내의 정보를 이용하므로, 적은 연산량으로 효율적인 유사도 판정이 가능하다. In addition, if the image compression method is processed again to determine the degree of similarity, a large amount of computation is required to recalculate the parameters in the image or to perform repetitive processing. Therefore, the method is suitable for the
이미지 클러스터링부(206)는 이미지들의 특징 벡터들과 임계값을 비교하여 이미지들 간의 유사도를 판정하여, 판정 결과에 따라 이미지들을 클러스터링한다. 또한, 이미지 클러스터링부(206)는 오버 클러스터링을 방지하기 위해, 클러스터들과 임계값을 비교하여 양자 간의 유사도를 판정한다. 이미지 클러스터링부(206)는 사용자의 클러스터에 대한 편집을 통하여 개인화된 임계값과 클러스터링 가중치를 산출하여 후속 기간 내의 클러스터링 또는 기 완료된 클러스터의 재분류에 반영할 수 있다. The
구체적으로, 이미지 클러스터링부(206)는 이미지 판정부(208), 클러스터 분류부(210), 클러스터 판정부(212), 임계값 추정부(214) 및 클러스터링 가중치 산출부(216)를 포함할 수 있다. Specifically, the
이미지 판정부(208)는 클러스터링 및 품질 평가가 미완료된 이미지 그룹(504)에서 최초 이미지와 다음 이미지의 특징 벡터들 간의 거리를 산출하고, 거리가 임계값 이하이면 양 이미지를 동일 클러스터로 판단하고, 거리가 임계값을 초과하면 양 이미지를 상이한 클러스터로 분류하는 것으로 판정한다. The
임계값은 이미지 관리용 애플리케이션(200)에서 초기 지정되거나, 클러스터링 등이 완료된 이미지 그룹(502)의 기 분류된 클러스터들에서 이용된 임계값에 근거하여 추정될 수 있다. 기 분류된 클러스터들이 있는 경우에, 각 클러스터 내의 이미지들의 특징 벡터들의 평균값인 클러스터 대표값을 클러스터마다 획득하고, 클러스터 대표값 평균 간의 차이에 기초하여 임계값으로 추정할 수 있다. 클러스터 대표값들 간의 차이로도 임계값을 추정할 수 있으나, [식 2]에서와 같이, 상기 차이에 임계 정의 계수, 예컨대 2를 나눔으로써, 유사성이 높은 이미지들이 동일한 클러스터로 분류될 수 있다. 이에 의하면, 생일 축하 파티, 졸업식 등과 같은 이벤트와 관련된 이미지들 또는 동일한 배경에서 다른 사람들이 있는 이미지들보다 더 유사한 이미지들을 하나의 클러스터로 분류될 수 있다. 유사성이 높은 이미지들은 동일 이벤트와 배경에서 동일한 사람들을 연속 촬영하여 획득된 이미지들일 수 있으며, 이미지 판정부(208)는 연속 촬영된 이미지들로만 동일한 클러스터로 분류되는 임계값을 이용할 수 있다. 그러나, 임계 정의 계수가 2로 한정되지 않고, 이미지들 간의 유사성을 더 엄격하게 판단하는 경우에는, 임계 정의 계수가 클 수 있으며, 단순히 동일 이벤트와 배경의 이미지들을 하나의 클러스터로 분류한다면, 임계 정의 계수는 작을 수 있다. The threshold value may be initially designated in the
[식 2] [Formula 2]
(T0은 추정된 임계값이며, , 은 완료된 이미지 그룹(502)에 속한 클러스터 m, n에 대한 클러스터 대표값임) (T 0 is an estimate and a threshold, , Is a cluster representative value for cluster m, n belonging to the completed image group 502)
특징 벡터들 간의 거리는 [식 1]에 나타난 특징값들 간의 유클리드(euclidean) 거리 또는 커널(kernel) 거리에 기반하는 선형 결정 모델에 의해 계산되거나, 비선형 결정 모델에 의해 계산될 수 있다. The distance between feature vectors can be calculated by a linear decision model based on the euclidean distance or kernel distance between the feature values shown in [Equation 1], or can be calculated by a nonlinear decision model.
선형 결정 모델에 기반하여 특징 벡터들 간의 거리를 구하는 경우에, 각 특징값마다 클러스터링 가중치가 부여될 수 있다. 즉, 특징 벡터를 구성하는 요소에 대한 클러스터링 가중 벡터로서의 클러스터링 가중치가 이용될 수 있다. In the case of finding the distance between feature vectors based on the linear decision model, a clustering weight can be given for each feature value. That is, a clustering weight as a clustering weight vector for the elements constituting the feature vector may be used.
클러스터링 가중치도 임계값과 마찬가지로, 초기 지정되거나, 클러스터링 등이 완료된 이미지 그룹(502)에서의 기 분류된 클러스터들에서 이용된 클러스터 대표값 및 임계값에 근거하여 추정할 수 있다. 클러스터 대표값에 대한 의미는 후술할 사항을 참조하면 이해될 수 있다. Clustering weights may also be estimated based on the cluster representative values and thresholds used in the pre-classified clusters in the
기 분류된 클러스터들에 의해 클러스터링 가중치를 획득하는 경우에는, 클러스터링 가중치는 예를 들어, 하기의 [식들 3] 및 [식 4]에 의해 획득될 수 있다. 이에 의하면, 사용자가 만족한 기존의 클러스터링의 결과를 반영하므로, 사용자의 분류 의도에 더 부합하도록 이미지들이 클러스터링될 수 있다. In the case of obtaining the clustering weights by the pre-classified clusters, the clustering weights can be obtained, for example, by [Equation 3] and [Equation 4] below. According to this, since the result of the existing clustering satisfied by the user is reflected, the images can be clustered so as to better match the classification intention of the user.
[식들 3] [Equation 3]
(는 클러스터 p에서의 클러스터 대표값이며, W는 클러스터링 가중 벡터이고, T0는 임계값임)( Is a cluster representative value in cluster p, W is a clustering weighted vector, and T 0 is a threshold value)
[식들 3]에서 p개의 방정식을 매트릭스 형태인 로 나타낼 수 있으며, 클러스터링 가중 벡터 W는 [식 4]를 통해 산출될 수 있다. In
[식 4] [Formula 4]
(W는 클러스터링 가중 벡터이고, T는 임계값임)(Where W is a clustering weighted vector and T is a threshold)
클러스터 분류부(210)는 최초 이미지와 다음 이미지의 특징 벡터들 간의 거리가 임계값 이하로 판정되면, 비교된 이미지들을 동일 클러스터로 분류하여 데이터베이스부(202)에 기록하고, 임계값을 초과한 것으로 판정되면, 각 이미지를 상이한 클러스터로 분류하여 데이터베이스부(202)에 기록할 수 있다. When it is determined that the distance between the feature vectors of the first image and the next image is less than or equal to the threshold value, the
이미지 판정부(208)는 최초 및 다음 이미지들이 동일 클러스터로 분류되면, 최초 이미지와 다음 이미지의 특징 벡터들에 근거하여 클러스터 대표값을 산출한다. 클러스터 대표값은 특징 벡터들의 평균으로 획득될 수 있다. 만약 다음 이미지가 상이한 클러스터로 분류되면, 첫 번째 이미지의 클러스터 대표값은 해당 특징 벡터일 수 있다. If the first and subsequent images are classified into the same cluster, the
이미지 판정부(208)는 유사도 판정이 완료된 이미지와 인접한 후속 이미지의 특징 벡터와 클러스터 대표값 간의 거리를 산출하고, 거리가 임계값 이하이면 후속 이미지를 동일 클러스터로 판단하고, 거리가 임계값을 초과하면 후속 이미지를 상이한 클러스터로 분류하는 것으로 판정한다. The
클러스터 분류부(210)는 후속 이미지의 특징 벡터와 클러스터 대표값 간의 거리가 임계값 이하로 판정되면, 후속 이미지를 동일 클러스터로 분류하여 데이터베이스부(202)에 기록하고, 임계값을 초과한 것으로 판정되면, 후속 이미지를 상이한 클러스터로 분류하여 데이터베이스부(202)에 기록할 수 있다. If it is determined that the distance between the feature vector of the subsequent image and the cluster representative value is less than or equal to the threshold value, the
이미지 판정부(208)와 클러스터 분류부(210)는 상술한 바와 같이 후속 이미지가 동일 클러스터로 분류된 이미지와 비유사한 것으로 판정될 때까지, 유사한 이미지들을 동일 클러스터로 분류하고, 비유사한 이미지부터 신규 클러스터를 할당하는 과정을 반복한다. The
클러스터 판정부(212)는 소정 기간 내의 복수의 이미지들에 대한 클러스터링이 1차적으로 완료되어 복수의 클러스터들이 생성된 경우, 복수의 클러스터들 중 2 개 클러스터들을 선정하여 양자의 클러스터 대표값들 간의 거리가 임계값 이하인지 여부를 판단한다. 클러스터들 간의 비교는 2 개로 조합가능한 모든 클러스터들에 대하여 진행될 수 있다. When a plurality of clusters are primarily created by clustering a plurality of images within a predetermined period, the
클러스터 판정부(212)는 임계값 이하이면, 비교된 클러스터들을 단일 클러스터로 병합하고, 상기 병합을 데이터베이스부(202)에 통지하고, 임계값을 초과하면 1차적으로 완료된 클러스터들을 유지할 수 있다. 병합인 경우, 데이터베이스부(202)는 2차적으로 병합된 클러스터에 대하여 동일한 클러스터 번호를 부여할 수 있다. 이에 의하면, 연속적인 유사한 이미지들 내에 외란이 있는 이미지로 인해 유사한 이미지들이 다른 클러스터들로 분류되는 오버 클러스터링이 방지될 수 있다. If the
임계값 추정부(214)는 초기에 지정되거나 [식 2]에서 추정된 임계값을 이미지 판정부(208)에 제공할 수 있음과 아울러서, 사용자의 클러스터에 대한 편집이 있는 경우에, 임계값을 추정할 수 있다. 클러스터의 편집은 사용자가 분류가 완료된 클러스터들을 병합하거나 또는 클러스터 내의 이미지들을 복수의 클러스터들로 분할하는 것일 수 있다. 임계값은 상기 편집이 있는 경우에, [식 2]과 유사한 방식으로 하기의 [식 5]로 추정될 수 있다. 이에 의하면, 상기 편집을 통해, 사용자가 하나의 클러스터로 분류되길 원하는 이미지 내의 피사체 구도 및 상황을 정확히 추정할 수 있으며, 후속 기간의 이미지의 클러스터링 또는 이미 완료된 클러스터의 재분류에서 개인화된 분류 기준이 반영될 수 있다. [식 5]에서 임계 정의 계수의 일례인 2를 나누는 것은 [식 2]와 관련된 부분에서 설명되었으므로, 상세한 내용은 생략하기로 한다. 임계 정의 계수는 도 13에 도시된 유저 인터페이스에 나타난 임계값(702) 등의 사용자 조정에 의해 설정될 수 있다. The threshold
[식 5] [Formula 5]
(T1은 재추정된 임계값이며, , 은 편집에 분류된 클러스터 m, n의 갱신된 클러스터 대표값임) (T 1 is the re-estimated threshold value, , Is the updated cluster representative value of the cluster m, n classified for editing)
클러스터링 가중치 산출부(216)는 상술한 클러스터의 편집이 있는 경우에, 갱신된 클러스터 대표값 및 재추정된 임계값에 기초하여 산출될 수 있다. 예를 들어, 클러스터링 가중치는 [식들 3], [식 4]와 유사한 방식으로 하기의 [식들 6] 및 [식 7]을 통해 클러스터 가중 벡터로서의 클러스터링 가중치를 산출하여 갱신할 수 있다. 이에 의하면, 사용자가 하나의 클러스터로 분류되길 원하는 이미지 내의 피사체 구도 및 상황을 정확히 추정할 수 있으며, 개인화된 분류 기준이 클러스터링에 반영될 수 있다. The clustering
[식들 6] [Equation 6]
(는 편집된 클러스터가 있는 경우의 p'에서의 클러스터 대표값이며, W'는 갱신할 클러스터링 가중 벡터이고, T1는 재추정된 임계값이고, 는 p'개의 방정식을 매트릭스 형태로 나타낸 것임)( Is the cluster representative value at p 'when there is an edited cluster, W' is the clustering weight vector to update, T 1 is the re-estimated threshold value, Is a matrix representation of p 'equations)
[식 7] [Equation 7]
(W'는 클러스터링 가중 벡터이고, T'는 임계값임)(W 'is a clustering weighted vector and T' is a threshold)
한편, 이미지 평가부(218)는 순위 판정부(220) 및 품질 가중치 산출부(222)를 포함할 수 있다. Meanwhile, the
순위 판정부(220)는 각 클러스터로 분류된 이미지 각각에 대하여 복수의 품질 특징값들 산출하고, 품질 가중치들이 부여된 품질 특징값들에 근거하여 이미지들의 품질을 평가하여, 평가 결과에 따라 이미지들의 순위를 부여하고, 클러스터 내의 대표 이미지를 선정할 수 있다. The
품질 특징값들은 이미지 내의 얼굴 유무, 얼굴을 기준으로 이미지의 소정 영역에서의 선명도, 얼굴이 이미지에서 차지하는 상대 면적, 눈(eye)의 개방 여부, 신호대 잡음비, HDR(High Dynamic Range) 혹은 렌즈 왜곡으로 인한 얼굴 왜곡 유무, 이미지의 중심으로부터 얼굴 중심까지의 거리 중 적어도 2개를 포함할 수 있으며, 상술한 항목에 제한되지 않는다. The quality feature values are determined by the presence or absence of a face in the image, the sharpness in a predetermined area of the image with respect to the face, the relative area occupied by the face in the image, the openness of the eye, the signal to noise ratio, HDR (High Dynamic Range) The distance from the center of the image to the center of the face, and is not limited to the above-described items.
이미지들의 품질 평가는 적은 연산량이 수반되는 가중 선형 결합 방법, 정확한 평가를 위한 신경망 네트워크 기법 또는 SVM(Support Vector Machine) 방법을 이용할 수 있다. Quality evaluation of images can use a weighted linear combination method accompanied by a small amount of computation, a neural network technique for accurate evaluation, or a SVM (Support Vector Machine) method.
가중 선형 결합 방법의 경우에, i 번째 클러스터의 이미지 열 중 j 번째 이미지에 대한 품질 평가 스코어는 하기의 [식 8]에 의해 계산될 수 있다. In the case of the weighted linear combination method, the quality evaluation score for the jth image among the image series of the i-th cluster can be calculated by the following equation (8).
[식 8] [Equation 8]
(Feat1(j), Feat2(j)…FeatN(j)은 품질 특징값들이고, a1, a2…aN은 품질 가중치들임) (Feat 1 (j), Feat 2 (j) ... Feat N (j) is deulyigo quality characteristic value, a 1, a 2 ... a N are weights quality deulim)
또한, 클러스터 내에 총 j 개의 이미지가 있는 경우, 전체 이미지들의 품질 평가는 하기의 [식 9]에 의해 이루어질 수 있다. In addition, if there are a total of j images in the cluster, the quality evaluation of the entire images can be made by the following equation (9).
[식 9] [Equation 9]
(FS는 j 개의 총 이미지들의 품질 점수의 벡터로서, (FS is a vector of quality scores of j total images,
이며, Lt;
F는 [식 8]을 j개의 총 이미지들의 벡터로 표현한 것으로서, F is the expression of [Expression 8] as a vector of j total images,
이고, ego,
A는 품질 가중치들의 벡터로서, 임)A is a vector of quality weights, being)
품질 가중치 산출부(222)는 초기에 지정된 값을 순위 판정부(220)에 제공하고, 사용자의 직접적인 순위 변경 지시 혹은 간접적인 액티비티(activity)가 있는 경우에, 순위 변경 지시에 따라 재배치된 이미지들의 순위들 또는 액티비티의 개입 정도(intervening degree)에 근거하여, 품질 가중치를 산출하여 갱신할 수 있다. 다른 클러스터의 이미지들을 평가할 때에, 갱신된 품질 가중치는 품질 특징값들에 적용됨으로써, 사용자의 개인화된 의도에 부합되도록 이미지들을 정렬할 수 있다. The quality
간접적인 액티비티는 직접적인 순위 변경 조작과 구별되는 것으로서, 디스플레이부(112)에 순위화되어 제시된 이미지들의 배치를 변경하는 것이 아니라, 특정 이미지의 관심에 의한 행위를 의미한다. 예를 들면, 간접적인 액티비티와 관련된 개입 정도는 이미지의 소셜 네트워크 서비스에 대한 공유 횟수, 외부의 다른 매체로의 이미지 전송 여부와 횟수, 이미지의 수정 횟수(필터, 크롭 등의 적용 횟수 등), 열람 횟수 및 열람 시간 중 적어도 하나에 의해 평가될 수 있으며, 전술한 의미에 부합되는 행위라면 어떠한 행위라도 포함할 수 있다. The indirect activity is distinguished from the direct ranking change operation and does not change the arrangement of the displayed images ranked on the
직접적인 순위 변경 혹은 액티비티가 있는 경우에, 순위 판정부(220)는 순위를 재평가하여 대표 이미지를 재선정할 수 있고, 디스플레이부(112)는 재순위화된 이미지들을 클러스터 내에서 제시할 수 있다. In the case of a direct ranking change or activity, the
직접적인 순위 변경인 경우에, 순위 판정부(220)는 소정의 규칙에 따라 해당 클러스터의 이미지의 품질 점수([식 9] 참조)를 재조정하고, 품질 가중치 산출부(222)는 재조정된 품질 점수를 [식 9]에 입력하여 품질 가중치들의 벡터를 산출할 수 있다. In the case of a direct ranking change, the
액티비티인 경우에, 순위 판정부(220)는 누적된 행위에 근거하여 클러스터의 품질 점수([식 9] 참조)를 재계산하고, 품질 가중치 산출부(222)는 재계산된 품질 점수에 기초하여 품질 가중치들의 벡터를 산출할 수 있다. The
한편, 클래스 제시부(224)는 클래스 제공부(226), 클러스터 변경부(228), 순위 변경부(230), 파라미터 변경부(232) 및 이미지 편집부(234)를 포함할 수 있다. The
클래스 제공부(226)는 이미지 클러스터링부(206) 및 이미지 평가부(218)에 의해 수행된 이미지들의 클러스터링과 순위들을 기록한 데이터베이스부(202)를 참조하여, 메모리부(118)에 저장된 이미지들을 디스플레이부(112)에 클러스터화하도록 표시함과 동시에, 각 클러스터마다 대표 이미지의 썸 네일(thumb nail)을 클러스터의 직관적인 징표(symbol)로서 표시할 수 있다. 또한, 클래스 제공부(226)는 사용자가 디스플레이부(112)에 표시된 클러스터를 선택하는 경우에, 클러스터 내의 이미지들을 순위에 따라 확장 정렬하도록 표시할 수 있다. The
클러스터 변경부(228)는 분류 완료된 클러스터들의 병합 혹은 단일 클러스터의 분할과 같은 사용자의 편집 지시를 수신하고, 편집 지시에 따른 클러스터들의 변경 정보를 클러스터 분류부(210), 이미지 판정부(208), 임계값 추정부(214) 및 클러스터링 가중치 산출부(216)에 피드백 전송할 수 있다. The
순위 변경부(230)는 사용자의 순위 변경에 따른 정보 혹은 간접적인 액티비티에 따른 누적된 행위를 접수하여, 순위 변경 정보 또는 누적된 행위 관련 정보를 순위 판정부(220)에 피드백 전송할 수 있다. The
파라미터 변경부(232)는 사용자가 직접 클러스터링의 분류 기준(예를 들면 임계값, 클러스터링 가중치)과 품질 특징값들의 반영 정도(가중치)를 조절하기 위해, 도 13과 같은 유저 인터페이스를 통해 값을 입력하고, 임계값 추정부(214), 클러스터링 가중치 산출부(216) 및 품질 가중치 산출부(222)에 전달할 수 있다. The
이미지 편집부(234)는 클러스터 내에 저장될 이미지들의 개수 및 저장 형태를 접수하여, 디스플레이부(112)를 통해 표시하도록 할 수 있다. 이미지들의 개수는 도 14와 같이 사용자가 희망하는 소정 상위의 순위들로 결정될 수 있으며, 도 14에 도시된 이미지의 저장 형태와 관련하여 지시를 접수하면, 소정 하위의 순위의 이미지들은 해당 이미지보다 낮은 압축율로 가공되어 저장될 수 있다. The
또한, 이미지 편집부(234)는 클러스터를 외부 장치로서의 다른 매체, 예컨대 클라우드 서버(140) 또는 소셜 네트워크 서버(300)에 업로딩하는 경우, 소정 상위 순위의 이미지들만을 저장하거나, 소정 하위의 순위의 이미지들을 낮은 압축률로 가공하여 저장할 수 있도록, 도 14에 나타난 유저 인터페이스를 통해 해당 지시를 접수할 수 있다. 물론, 이미지 편집부(234)는 소정 상위 순위의 이미지들을 압축하여 저장할 수 있다. When the cluster is uploaded to another medium such as the
업로드부(236)는 사용자의 요청 또는 동기화에 의해 클러스터화된 이미지들을 외부의 다른 매체, 예컨대 클라우드 서버(140) 또는 소셜 네트워크 서버(300)에 업로딩할 수 있다. 이미지 관리용 애플리케이션(200)이 클라우드 서버(140)에 내장된 경우에, 클라우드 서버(140)에 저장된 클러스터화된 이미지들이 모바일 단말(100)로 전송되어 저장될 수 있다. 소셜 네트워크 서버(300)로 소정 상위 또는 하위 순위의 이미지들을 전송하는 경우에, 업로드부(236)는 이미지의 압축 가공없이 전송할 수 있으나, 소셜 네트워크에서 제시되는 압축 사이즈 등에 적합하거나 전송 부하를 감소하도록, 이미지 편집부(234)에 의해 압축된 이미지를 전송할 수 있다. The
소셜 네트워크는 업로드부(236)로부터 각 클러스터마다 소정 순위의 이미지들만을 제공받을 수 있으나, 각 클러스터 내의 이미지들을 순위로 정렬하여 제시하도록, 업로드부(236)로부터 순위 관련 정보도 함께 제공받을 수 있다. 이에 따르면, 소셜 네트워크 서비스에 접근하는 다른 사용자는 클러스터화된 이미지들 중에서도 양호한 품질의 이미지부터 열람할 수 있어, 사용자의 편의성이 증대된다. The social network can receive only images of a predetermined rank for each cluster from the upload
이하, 도 1 내지 도 8d를 참조하여, 이미지 관리용 애플리케이션(200)에서 수행되는 본 발명의 실시예인 이미지 관리용 방법에 관하여 설명하기로 한다. Hereinafter, a method for image management, which is an embodiment of the present invention performed in the
도 6a 및 도 6b는 이미지들의 클러스터링 프로세스에 관한 흐름도이며, 도 7은 오버 클러스터링을 방지하기 위한 클러스터의 병합을 나타낸 도면이고, 도 8a 내지 도 8d는 이미지들의 클러스터링 프로세스에 대한 유저 인터페이스(user interface)를 예시한 도면이다. 6A and 6B are flow charts of a clustering process of images, FIG. 7 is a view showing merging of clusters to prevent over-clustering, FIGS. 8A to 8D show a user interface Fig.
먼저, 도 8a에 도시된 바와 같이, 사용자가 소정 기간의 복수의 이미지들이 각각 표시된 디스플레이부(112)에서 조작부(102)를 통해 클러스터링을 활성화하면, 이미지 관리용 애플리케이션(200)이 구동된다. 클러스터링 및 품질 평가의 진행 정도는 디스플레이부(112)에 표시된 상태 바(status bar)를 통해 확인할 수 있다. First, as shown in FIG. 8A, when the user activates the clustering through the
이와 같이 이미지 관리용 애플리케이션(200)이 구동되면, 도 4에 도시된 데이터베이스부(202)를 검색하여 클러스터링 및 품질 평가가 미완료된 이미지 그룹(504)이 존재하는 여부를 확인한다. 확인 결과, 미완료된 소정 기간의 이미지 그룹(504)이 존재하면, 특징값 추출부(204)는 메모리부(118)에 저장된 해당 이미지들의 각각에 대하여 압축 형태의 이미지의 포맷을 분석하여, 색상 정보와 관련된 헤더의 코드 스트림 및 시간 정보를 적어도 포함하는 특징값들을 추출한다. 특징값 추출부(204)는 각 이미지마다 추출된 특징값들로 구성된 특징 벡터(Fi~Fn)를 생성한다(S402).When the
이하에서는 설명의 편의상 이미지의 포맷이 JPEG인 것을 예로 설명하나, 상술한 바와 같이 다른 이미지의 포맷에서 색상 정보와 관련된 헤더의 코드 스트림 및 시간 정보를 추출할 수 있다. Hereinafter, the JPEG image format is described as an example for convenience of explanation, but the code stream and the time information of the header related to the color information can be extracted in the other image format as described above.
특징값 추출부(204)는 구체적으로, 색상 정보와 관련된 헤더의 코드 스트림으로서 도 5에 도시된 DHT에 기록된 허프만 테이블에 포함된 DC 코드와 AC 코드와 함께, APP(604)에 보관된 이미지의 시간 정보를 추출한다. 특징값 추출부(204)는 DC 코드, AC 코드 및 시간 정보와 같은 특징값들을 각 이미지(Fi~Fn)마다 [식 1]과 같은 특징 벡터로 생성한다. Specifically, the feature
이상에서는 특징값에 이용되는 메타 데이터로서 시간 정보만을 이용하고 있으나, 이미지의 촬영 장소와 관련된 위치 정보가 위치 센서부(116)로부터 획득되어 이미지의 메타 데이터에 첨부되고, 특징값은 위치 정보를 추가적으로 포함할 수 있다. In the above description, only the time information is used as the meta data used for the feature value, but the position information related to the image capturing place of the image is acquired from the
다음으로, 임계값 추정부(214)는 초기 지정되거나, 클러스터링 등이 완료된 이미지 그룹(502)의 기 분류된 클러스터들에서 이용된 임계값에 근거하여 추정되는 값을 해당 유사도 판정의 임계값으로 제공한다(S404). 도 4와 같이 기 분류된 클러스터들이 있는 경우에, 각 클러스터 내의 이미지들의 특징 벡터들의 평균값인 클러스터 대표값을 클러스터마다 획득하고, [식 2]를 통해 산출된 클러스터 대표값 평균의 차이에 근거하여 임계값으로 추정할 수 있다. 이에 따라, 사용자가 원하는 이미지 구도 및 상황에 부합하도록 이미지들이 클러스터링될 수 있다. Next, the threshold
클러스터 분류부(210)는 특징 벡터 Fi와 관련된 최초 이미지에 대하여 신규 클러스터 Cm을 생성하고, 이미지 판정부(208)는 클러스터 Cm과 연관된 Fi로서 특징 벡터 F(Cm, i)를 부여한다(S406). 클러스터 분류부(210)는 최초 이미지를 클러스터 Cm으로 분류하도록 데이터베이스부(202)에 기록하고, 이미지 판정부(208)는 특징 벡터 F(Cm, i)를 클러스터 대표값으로 설정한다. The
이어서, 이미지 판정부(208)는 특징 벡터를 구성하는 특징값들에 따라 클러스터링 가중치가 부여된 특징 벡터 F(Cm, i)와 다음 이미지의 특징 벡터 Fi+1 간의 거리가 임계값 이하인지 여부를 판정한다(S408).Then, the
여기서, 특징 벡터들 간의 거리는 선형 결정 모델의 일종인 유클리드 거리에 기반하여 특징 벡터들 간의 거리를 구하는 경우에, 각 특징값마다 클러스터링 가중 벡터로서의 클러스터링 가중치가 부여될 수 있다. Here, when the distances between the feature vectors are calculated based on the Euclidean distance, which is a kind of linear decision model, a clustering weight value as a clustering weight vector may be given for each feature value.
클러스터링 가중치도 임계값과 마찬가지로, 초기 지정되거나, 도 4에서와 같이 클러스터링 등이 완료된 이미지 그룹(502)에서의 기 분류된 클러스터들에서 이용된 클러스터 대표값 및 임계값에 근거하여 추정할 수 있다. 기 분류된 클러스터들에 의해 클러스터링 가중치를 획득하는 경우에는, 클러스터링 가중치는 예를 들어, 하기의 [식들 3] 및 [식 4]에 의해 획득될 수 있다. 이에 의하면, 사용자가 만족한 기존의 클러스터링의 결과를 반영하므로, 사용자의 분류 의도에 더 부합하도록 이미지들이 클러스터링될 수 있다. The clustering weights may be estimated based on cluster representative values and thresholds used in the pre-classified clusters in the
이미지 판정부(208)는 거리가 임계값 이하이면 특징 벡터 Fi + 1와 관련된 다음 이미지를 동일한 클러스터 Cm으로 판정하고, 클러스터 Cm과 연관된 Fi +1로서 특징 벡터 F(Cm, i+1)를 부여한다(S410). 또한, 이미지 판정부(208)는 특징 벡터들 F(Cm, i)과 F(Cm, i+1)의 평균을 구하여 클러스터 대표값을 산출하여 갱신한다.
거리가 임계값을 초과하면, 이미지 판정부(208)는 특징 벡터들 Fi, Fi +1과 관련된 최초 이미지와 다음 이미지를 각각 상이한 클러스터 Cm, Cm+1로 분류하도록 판정한다(S412). 클러스터 분류부(210)는 최초 및 다음 이미지들을 상이한 클러스터로 데이터베이스부(202)에 기록하고, 이미지 판정부(208)는 Cm +1과 연관된 Fi +1의 특징 벡터 F(Cm +1, i+1)를 생성하여, 특징 벡터들 F(Cm, i), F(Cm +1, i+1)을 각 클러스터의 대표값으로 설정한다. S412 단계 후에 후속 이미지가 더 존재하면, S408 단계부터 프로세스를 반복한다.If the distance exceeds the threshold value, the
다음으로, 이미지 판정부(208)는 후속 이미지의 특징 벡터 Fi +2와 특징 벡터들 F(Cm, i), F(Cm, i+1)에 근거한 클러스터 대표값 간의 거리가 임계값 이하인지 여부를 판정한다(S414). 판정 과정에서도 S408 단계에서 이용된 클러스터링 가중치가 특징 벡터 Fi+2와 클러스터 대표값에 동일하게 부여될 수 있다. Next, the
이미지 판정부(208)는 거리가 임계값 이하이면 특징 벡터 Fi +2와 관련된 후속 이미지를 동일한 클러스터 Cm으로 판정하고, 클러스터 Cm과 연관된 Fi +2로서 특징 벡터 F(Cm, i+2)를 부여한다(S416). 또한, 이미지 판정부(208)는 이전의 대표값과 특징 벡터 F(Cm, i+2)의 평균을 구하여 클러스터 대표값을 산출하여 갱신한다.
거리가 임계값을 초과하면, 이미지 판정부(208)는 특징 벡터들 F(Cm, i), F(Cm, i+1)과 관련된 이미지들을 클러스터 Cm으로 분류하도록 판정하고, 특징 벡터 Fi+2와 관련된 이미지를 Cm +1로 분류하도록 판정한다(S418). 클러스터 분류부(210)는 2 이미지들과 후속 이미지를 상이한 클러스터로 데이터베이스부(202)에 기록하고, 이미지 판정부(208)는 Cm +1과 연관된 Fi +2의 특징 벡터 F(Cm +1, i+2)를 생성하여, 특징 벡터들 F(Cm, i)과 F(Cm, i+1)의 평균값과 F(Cm +1, i+2)을 각 클러스터의 대표값으로 설정한다. S418 단계 후에 후속 이미지가 더 존재하면, S408 단계부터 프로세스를 반복한다.If the distance exceeds the threshold value, the
S416 단계 후에, 이미지가 더 존재하면(S420), S 414 단계로 이동하여, 후속 이미지의 특징 벡터와 후속 이미지 이전까지의 이미지들의 클러스터 대표값의 거리와 임계값을 서로 비교하는 과정을 반복한다. If there are more images (S420), the process goes to step 414 to repeat the process of comparing the distance between the cluster representative value of the images up to the next image and the threshold value.
이상에서와 클러스터 대표값과 후속 이미지의 특징 벡터 간의 거리에 따른 유사도 판정은 인접한 이미지들의 특징 벡터들 간의 거리에 의한 판정에 비해, 보다 유사한 구도 및 상황을 갖는 이미지들로 클러스터링할 수 있다. The above determination of similarity based on the distance between the cluster representative value and the feature vector of the subsequent image can be performed by clustering the images having similar composition and situation, as compared with the determination by the distance between the feature vectors of adjacent images.
이미지가 더 존재하지 않으면, 클러스터 분류부(210)는 복수의 이미지들마다 클러스터를 분류하여 데이터베이스부(202)에 1차적으로 저장한다(S424).If there are no more images, the
클러스터 판정부(212)는 데이터베이스부(202)를 검색한 결과, 클러스터링이 완료된 이미지들에 대하여 복수의 클러스터들이 존재하는 여부를 판단한다(S426).As a result of searching the
복수의 클러스터들이 존재하면, 클러스터 판정부(212)는 복수의 클러스터들 중 2 개 클러스터들 Cm, Cm+1을 선정하여 양자의 클러스터 대표값들 간의 거리가 임계값 이하인지 여부를 판단한다(S428). 클러스터들 간의 비교는 2 개로 조합가능한 모든 클러스터들에 대하여 진행될 수 있다.If there are a plurality of clusters, the
클러스터 판정부(212)는 임계값 이하이면, 비교된 클러스터들 Cm, Cm+1을 단일 클러스터로 병합하고, 상기 병합을 데이터베이스부(202)에 통지한다(S430). 클러스터 판정부(212)는 임계값을 초과하면 1차적으로 완료된 현재의 클러스터들을 유지한다(S432).The
클러스터 판정부(212)에서 임계값 이하의 클러스터들 Cm, Cm+1을 단일 클러스터로 병합하는 예는 도 7과 같으며. 이에 의하면, 연속적인 유사한 이미지들 내에 외란이 있는 이미지로 인해 유사한 이미지들이 다른 클러스터들로 분류되는 오버 클러스터링이 방지될 수 있다. An example of merging the clusters C m and C m + 1 below the threshold value into a single cluster in the
이상의 클러스터링이 완료된 후, 품질 평가가 수행되지 않는 실시예에 의할 때, 클래스 제공부(226)는 데이터베이스부(202)의 클러스터 정보 등을 참조하여, 도 8b에 도시된 바와 같이, 메모리부(118)에 저장된 복수의 이미지들을 디스플레이부(112)에 클러스터화하도록 표시함과 동시에, 각 클러스터마다 대표 이미지의 썸 네일(thumb nail)을 클러스터의 직관적인 징표(symbol)로서 표시할 수 있다. 또한, 사용자가 디스플레이부(112)에 표시된 클러스터를 선택하는 경우에, 클래스 제공부(226)는 도 8c에서와 같이, 클러스터 내의 이미지들을 임의로 정렬하도록 표시할 수 있다. 사용자가 정렬된 이미지들 중 하나의 이미지를 선택하면, 도 8D에서와 같이 원래의 이미지를 열람할 수 있다. 8B, the
도 9 내지 도 10b를 참조하여, 이미지 관리 방법의 추가 실시예인 클러스터의 편집 및 이에 따른 임계값과 클러스터링 가중치의 산출에 대하여 설명한다. 도 9는 사용자의 조작에 의해 클러스터를 편집하는 경우에 관한 흐름도이고, 도 10a 및 도 10b는 사용자에 의해 클러스터를 편집하는 경우의 유저 인터페이스를 예시한 도면이다. With reference to Figs. 9 to 10B, the editing of the cluster, which is a further embodiment of the image management method, and the calculation of the threshold value and the clustering weight according to the editing will be described. FIG. 9 is a flowchart of a case where a cluster is edited by a user's operation, and FIGS. 10A and 10B are diagrams illustrating a user interface when a cluster is edited by a user.
도 10a에 나타난 바와 같이, 사용자가 특정 클러스터 Cm(이하 설명에서는 C1으로 칭함)를 선택하여 클러스터 C1에 속한 이미지들을 열람한 후, 이미지들 중 적어도 하나의 이미지를 선택한다(S902). As shown in FIG. 10A, the user selects a specific cluster C m (referred to as C 1 in the following description) to browse images belonging to the cluster C 1 , and then selects at least one image among the images (S 902).
클러스터 변경부(228)는 이미지가 선택되면, 클러스터 C1을 분할하는 지시를 수신하여, 클러스터 분류부(210), 이미지 판정부(208), 임계값 추정부(214) 및 클러스터링 가중치 산출부(216)에 피드백 전송한다. When an image is selected, the
클러스터 분류부(210)는 선택된 이미지들(2, 3)을 신규 클러스터 C6으로 분류하고, 미선택된 이미지들(1, 4, 5)을 기존 클러스터 C1으로 분류하고, 분류 결과를 데이터베이스부(202)에 저장한다(S904). The
클래스 제공부(226)는 데이터베이스부(202)의 변경된 클러스터 정보 등을 참조하여, 도 10b에서와 같이, 기존 및 신규 클러스터들 C1, C6로 분류되는 것을 디스플레이부(112)에 제공한다. The
다음으로, 이미지 판정부(208)는 기존 및 신규 클러스터들 C1, C6의 대표값들을 재산출하고, 임계값 추정부(214)는 클러스터 대표값들에 기초하여 임계값을 재추정하여 갱신한다(S906). 임계값의 재추정은 [식 5]에 의해 수행될 수 있다. Next, the
이어서, 클러스터링 가중치 산출부(216)는 재추정된 임계값과 변경된 클러스터들을 포함한 모든 클러스터들의 대표값들에 의거하여 클러스터링 가중치를 산출하여 갱신한다. 클러스터링 가중치는 [식들 6], [식 7]에 의해 계산될 수 있다. Then, the clustering
이 실시예에 의하면, 사용자가 하나의 클러스터로 분류되길 원하는 이미지 내의 피사체 구도 및 상황을 정확히 추정할 수 있으며, 개인화된 분류 기준이 후속 기간의 이미지들 등의 클러스터링에 반영될 수 있다. According to this embodiment, the user can accurately estimate the object composition and situation in the image desired to be classified as one cluster, and the personalized classification criterion can be reflected in the clustering of the images of the subsequent period and the like.
상술한 실시예에서는 클러스터의 분할과 같은 편집을 설명하였으나, 사용자가 도 10a에 도시된 클러스터들 C2, C3을 병합하는 경우도 S906 및 S908의 과정이 수행됨으로써, 임계값 및 클러스터링 가중치가 산출되어 갱신된다. In the above-described embodiment, editing such as division of clusters has been described. However, when the user merges the clusters C 2 and C 3 shown in FIG. 10A, the process of S 906 and S 908 is also performed, whereby the threshold value and the clustering weight are calculated And is updated.
도 8a 내지 도 8d 및 도 11을 참조하여, 이미지 관리 방법의 다른 추가 실시예인 이미지들의 품질 평가, 직접적인 이미지 순위 변경 및 품질 가중치의 갱신에 대하여 설명하기로 한다. 도 11은 이미지들의 품질 평가 및 사용자의 직접적인 조작에 의한 이미지 순위의 변경에 관한 흐름도이다. 8A to 8D and 11, description will be given of quality evaluation of images, change of direct image rank, and updating of quality weights, which is another further embodiment of the image management method. 11 is a flow chart for evaluating the quality of images and changing the image ranking by direct manipulation of the user.
순위 판정부(220)는 클러스터 Cm으로 분류된 이미지 각각에 대하여 복수의 품질 특징값들 산출한다(S1102). The
품질 특징값들은 이미지 내의 얼굴 유무, 얼굴을 기준으로 이미지의 소정 영역에서의 선명도, 얼굴이 이미지에서 차지하는 상대 면적, 눈의 개방 여부, 신호대 잡음비, HDR(High Dynamic Range) 혹은 렌즈 왜곡으로 인한 얼굴 왜곡 유무, 이미지의 중심으로부터 얼굴 중심까지의 거리 중 적어도 2개를 포함할 수 있으며, 상술한 항목에 제한되지 않는다. The quality feature values include face presence in the image, sharpness in a predetermined area of the image with respect to the face, relative area occupied by the face in the image, eye openness, signal to noise ratio, face distortion due to HDR (High Dynamic Range) The distance from the center of the image to the center of the face, and is not limited to the above-described items.
순위 판정부(220)는 품질 가중치들이 부여된 품질 특징값들에 근거하여 이미지들의 품질을 평가하여, 평가 결과에 따라 이미지들의 순위를 부여하고, 클러스터 내의 대표 이미지를 선정한다(S1104). The
여기서, 이미지들의 품질 평가는 가중 선형 결합 방법에 의해 수행되는 것을 예로 들어 설명하며, 상기 방법에 의하면, [식 8], [식 9]에 의해 진행될 수 있다. Here, the quality evaluation of images is performed by the weighted linear combination method as an example, and according to the method, it can be proceeded by [Expression 8] and [Expression 9].
품질 가중치 산중부(222)는 초기에 지정되거나, 도 4에 도시된 클러스터링이 완료된 이미지 그룹(502)에서 사용된 값을 순위 판정부(220)에 품질 가중치로 제공할 수 있다. The
클러스터 Cm의 이미지들에 대한 품질 평가가 완료된 후에, 다음 클러스터 Cm+1이 존재하면(S1106), S1102 및 S1104 단계들을 반복하다. After the quality evaluation of the images of the cluster C m is completed, if the next cluster C m + 1 exists (S1106), steps S1102 and S1104 are repeated.
이상의 과정이 모든 클러스터에 대해 완료된 후에, 순위 판정부(220)는 클러스터 별로 이미지들의 순위를 데이터베이스부(202)에 제공하고, 클래스 제공부(226)는 데이터베이스부(202)의 클러스터 정보 및 순위 정보 등을 참조하여, 도 8b에 도시된 바와 같이, 복수의 이미지들을 디스플레이부(112)에 클러스터화하도록 표시할 수 있다. 또한, 클래스 제공부(226)는 사용자가 디스플레이부(112)에 표시된 클러스터 C1을 선택하는 경우에, 도 8c에서 같이, 클러스터 C1내의 이미지들을 순위에 따라 정렬하도록 표시하고, 대표 이미지를 1 순위로 배치할 수 있다. After the above process is completed for all the clusters, the
다음으로, 순위 변경부(230)는 사용자가 클러스터 Cm 내의 특정 이미지의 순위를 직접적으로 변경하는지 여부를 검출한다(S1108). Next, the
사용자가 이미지의 순위를 변경하는 조작하는 방법은 클러스터 C1의 특정 이미지를 도 8b에 도시된 클러스터 C1의 화면 영역 내에서 이동하는 것일 수 있다. 이와 같이 순위가 직접적으로 변경됨을 검출하면, 순위 변경부(230)는 클러스터 Cm 내에서 이미지들을 순위에 따라 재배치함과 아울러서, 대표 이미지를 획득한다(S1110). 순위 변경부(230)는 순위 변경 정보를 데이터베이스부(202)에 제공하고, 사용자가 당해 클러스터 Cm의 이미지들을 열람할 때, 변경된 순위에 따라 이미지들이 정렬된다. Method for operating a user to change the order of images may be to move around the screen area of the cluster C 1 shown in Figure 8b for a particular image in the cluster C 1. If it is determined that the rank is directly changed, the
순위 판정부(220)는 재배치된 순위를 참조하여 소정의 규칙에 따라 클러스터 Cm 내에서 순위 변경된 이미지들의 품질 점수를 재조정하고, 품질 가중치 산출부(222)는 재조정된 품질 점수를 [식 9]에 입력하여 품질 가중치들의 벡터를 산출한다(S1112). Ranking determining
도 8a 내지 도 8d 및 도 12를 참조하여, 이미지 관리 방법의 또 다른 추가 실시예인 이미지들의 품질 평가, 간접적인 액티비티에 따른 순위 변경 및 품질 가중치의 갱신에 대하여 설명하기로 한다. 도 12는 이미지들의 품질 평가 및 액티비티 개입 정도에 의한 이미지 순위의 변경에 관한 흐름도이다. 8A to 8D and 12, description will be made of quality evaluation of images, ranking change according to indirect activity, and update of quality weight, which is still another embodiment of the image management method. Figure 12 is a flow chart of the quality evaluation of images and the change of image ranking by degree of activity intervention.
품질 특징값들의 산출(S1202), 이미지의 평가와 순위 부여(S1204) 및 모든 클러스터에 대한 품질 평가의 진행(S1206)은 전술한 S1102, S1104 및 S1106의 단계와 실질적으로 동일하다. Evaluation of image quality values (S1202), evaluation and ranking of images (S1204), and progress of quality evaluation for all clusters (S1206) are substantially the same as those of S1102, S1104 and S1106 described above.
다음으로, 순위 변경부(230)는 클러스터 Cm 내의 순위화된 이미지들 중 적어도 하나의 이미지에 대한 사용자의 간접적인 액티비티가 존재하는지 여부를 검출한다(S1208). Next, the
순위 변경부(230)는 액티비티에 따른 누적된 행위가 단 1회이어도 액티비티가 존재하는 것으로 판단할 수 있고, 사용자의 지정에 따라 수 회이상인 경우에 액티비티가 있는 것으로 판단할 수 있다. The
다음으로, 순위 판정부(220)는 액티비티의 개입 정도에 근거하여 클러스터의 품질 점수를 재계산하여 이미지들의 순위를 재배치하고, 재배치된 순위에 따라 클러스터 Cm 내에서 1 순위로 설정할 대표 이미지를 획득한다(S1210).Next, the
간접적인 액티비티의 개입 정도는 예를 들면, 이미지의 소셜 네트워크 서비스에 대한 공유 횟수, 외부 다른 매체로의 이미지 전송 여부와 횟수, 도 8d에서와 같은 특정 이미지의 수정 횟수, 열람 횟수 및 열람 시간 중 적어도 하나를 포함하여 산출될 수 있으며, 액티비티의 의미에 부합되는 행위라면 어떠한 행위라도 포함할 수 있다. The degree of the indirect activity intervention may be, for example, at least one of the number of times the image is shared with the social network service, whether or not the image is transmitted to another external medium, the number of times of modification of the specific image, Can be calculated including one, and can include any action that is consistent with the meaning of the activity.
품질 가중치 산출부(222)는 재계산된 품질 점수에 기초하여 품질 가중치를 산출한다(S1212). 품질 가중치는 [식 9]에 의해 계산된다. The quality
이미지의 순위 변경에 따라 갱신된 품질 가중치를 후속 이미지들의 품질 평가에 반영하면, 사용자가 희망하는 구도와 색채를 갖는 이미지가 우선되도록 조정될 수 있다. 아울러, 사용자의 이미지의 관심과 관련된 액티비티에 따른 개입 정도에 따라 이미지의 품질 평가를 수행할 수 있으므로, 직접적인 순위 조작없이도 수시로 변하는 사용자의 선호도를 능동적으로 반영할 수 있다. If the updated quality weight is reflected in the quality evaluation of the subsequent images in accordance with the change in the ranking of the images, the user can adjust the image having the desired composition and color to be prioritized. In addition, since the quality of the image can be evaluated according to the degree of intervention according to the activity related to the interest of the user's image, the preference of the user, which changes from time to time, can be actively reflected without direct ranking operation.
도 13은 클러스터의 분류 및 이미지의 품질 평가에 사용되는 파라미터들을 조정하기 위한 유저 인터페이스를 예시한 도면이다. 13 is a diagram illustrating a user interface for adjusting parameters used for classifying a cluster and evaluating the quality of an image.
사용자가 직접 임계 정의 계수 등에 영향을 주는 클러스터링의 임계값(702), 클러스터링 가중치(704)과 품질 특징값들(706)의 반영 정도(가중치)를 조절하기 위해, 도 13과 같은 유저 인터페이스를 통해 값을 접수할 수 있다. 이러한 값은 파라미터 변경부(232)로 입력되어, 임계값 추정부(214), 클러스터링 가중치 산출부(216) 및 품질 가중치 산출부(222)에 전달될 수 있다. In order to adjust the
도 14를 참조하여, 이미지 관리 방법의 또 다른 실시예인 매체에 저장 혹은 업로드되는 이미지들의 선정 및 저장 형태를 결정하는 것을 설명한다. Referring to FIG. 14, the determination of the selection and storage form of images stored or uploaded to the medium, which is another embodiment of the image management method, will be described.
도 14은 매체에 보존하기 위한 이미지들의 선정 및 저장 형태를 결정하기 위한 유저 인터페이스를 예시한 도면이다. FIG. 14 is a diagram illustrating a user interface for determining the selection and storage form of images to be stored in a medium.
사용자는 환경 설정을 통해 도 14와 같은 유저 인터페이스를 접할 수 있으며, 이 유저 인터페이스에서 모바일 단말(100)과 관련된 항목(802)은 모바일 단말(100)의 클러스터 내에 저장될 이미지들의 비율, 삭제할 비율 및 해당 이미지보다 낮은 압축율로 가공될 이미지의 비율 등을 제공한다. 클라우드 서버(140) 혹은 소셜 네트워크 서버(300)와 관련된 항목(804) 역시 모바일 단말(100)의 항목(802)과 실질적으로 동일하다. The user can access the user interface as shown in FIG. 14 through the environment setting. In this user interface, the
이 항목들(802, 804)를 통해 입력받으면, 이미지 편집부(234)는 클러스터에 저장된 이미지들의 개수 및 저장 형태를 접수하여, 사용자가 희망하는 소정 상위의 순위들로 저장된 이미지들의 개수를 결정할 수 있으며, 소정 하위의 순위의 이미지들은 해당 이미지보다 낮은 압축율로 저장될 수 있다. 이에 따라 이미지 관리의 효율성이 극대화될 수 있다.When the
또한, 이미지 편집부(234)는 클러스터를 외부의 다른 매체, 예컨대 클라우드 서버(140) 또는 소셜 네트워크 서버(300)에 업로딩하는 경우, 소정 상위 순위의 이미지들만을 원래의 형태 또는 더 압축된 형태로 저장하거나, 소정 하위의 순위의 이미지들을 낮은 압축률로 가공하여 저장할 수 있도록, 도 14에 나타난 유저 인터페이스를 통해 해당 지시를 접수할 수 있다. When the clusters are uploaded to another external medium such as the
사용자의 요청 또는 동기화에 의해, 클러스터화된 이미지들이 업로드부(236)에 의해 소셜 네트워크 서버(300) 등에 업로딩되는 경우에, 소정 상위 또는 하위 순위의 이미지들이 압축 가공없이 전송될 수 있으나, 소셜 네트워크에서 제시되는 압축 사이즈 등에 적합하거나 전송 부하를 감소하도록, 압축된 이미지들이 전송될 수 있다. When the clustered images are uploaded to the
소셜 네트워크는 업로드부(236)로부터 각 클러스터마다 소정 순위의 이미지들만을 제공받을 수 있으나, 각 클러스터 내의 이미지들을 순위로 정렬하여 제시하도록, 업로드부(236)로부터 순위 관련 정보도 함께 제공받을 수 있다. 이에 따르면, 소셜 네트워크의 서비스에 접근하는 다른 사용자는 클러스터화된 이미지들 중에서도 양호한 품질의 이미지부터 열람할 수 있어, 사용자의 편의성이 증대된다. The social network can receive only images of a predetermined rank for each cluster from the upload
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태에 의하여 정해져야 한다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of limitation, I will understand. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by all changes or modifications derived from the scope of the appended claims and the appended claims.
100: 모바일 단말 140: 클라우드 서버
200: 이미지 관리용 애플리케이션 202: 데이터베이스부
204: 특징값 추출부 206: 이미지 클러스터링부
218: 이미지 평가부 224: 클래스 제시부
236: 업로드부 300: 소셜 네트워크 서버 100: mobile terminal 140: cloud server
200: image management application 202: database part
204: Feature value extraction unit 206: Image clustering unit
218: image evaluation unit 224: class presentation unit
236: Upload unit 300: Social network server
Claims (17)
소정 기간 내의 복수의 이미지들 각각에 대하여 색상 정보와 관련된 헤더의 코드 스트림(code stream) 및 시간 정보를 적어도 포함하는 특징값으로 구성된 특징 벡터를 생성하는 단계;
최초 이미지와 인접 이미지의 특징 벡터들 간의 거리가 임계값 이하인 경우, 상기 이미지들을 동일한 클러스터(cluster)로 분류하고, 상기 이미지들의 특징 벡터들에 근거하여 클러스터 대표값을 산출하는 단계;
후속 이미지의 특징 벡터와 상기 클러스터 대표값 간의 거리가 상기 임계값 이하인 경우, 상기 후속 이미지를 상기 클러스터와 동일하게 분류하고, 상기 후속 이미지의 특징 벡터와 상기 클러스터 대표값에 근거하여 상기 클러스터 대표값을 갱신하는 단계; 및
상기 복수의 이미지들이 복수의 클러스터로 분류되고, 상기 복수의 클러스터들 중 2 개의 클러스터들에서의 상기 클러스터 대표값들 간의 거리가 상기 임계값 이하인 경우, 상기 2 개의 클러스터들을 단일 클러스터로 병합하고, 상기 임계값을 초과하는 경우, 상기 복수의 클러스터를 유지하는 단계를 실행시키기 위하여 매체에 저장된 이미지 관리용 애플리케이션.1. An image management application stored in a medium in combination with hardware,
Generating a feature vector composed of feature values including at least code stream and time information of a header related to color information for each of a plurality of images within a predetermined period;
Classifying the images into the same cluster and calculating cluster representative values based on the feature vectors of the images when the distance between the feature vectors of the first image and the adjacent image is less than or equal to a threshold value;
If the distance between the feature vector of the subsequent image and the cluster representative value is less than or equal to the threshold value, classifies the subsequent image as same as the cluster, and based on the feature vector of the subsequent image and the cluster representative value, Updating; And
Merging the two clusters into a single cluster when the plurality of images are classified into a plurality of clusters and a distance between the cluster representative values in two of the plurality of clusters is equal to or less than the threshold, And if the threshold is exceeded, maintaining the plurality of clusters.
상기 특징 벡터를 생성하는 단계 전에, 상기 임계값은 기 분류된 클러스터들에서 이용된 임계값들에 근거하여 추정되는 이미지 관리용 애플리케이션. The method according to claim 1,
Wherein the threshold value is estimated based on thresholds used in the pre-classified clusters before the step of generating the feature vector.
상기 특징 벡터들 간의 거리 및 상기 후속 이미지의 특징 벡터와 상기 클러스터 대표값 간의 거리의 계산시에, 상기 특징 벡터를 구성하는 특징값에 따라 클러스터링 가중치가 부여되는 이미지 관리용 애플리케이션. The method according to claim 1,
Wherein a clustering weight is given according to a feature value constituting the feature vector at the time of calculating the distance between the feature vectors and the distance between the feature vector of the subsequent image and the cluster representative value.
상기 임계값 이하인 경우, 상기 단일 클러스터로 병합하고, 상기 임계값을 초과하는 경우에 상기 복수의 클러스터를 유지하는 단계 후에,
사용자가 상기 동일한 클러스터로 분류된 이미지들 중 적어도 하나의 이미지에 대한 신규 클러스터를 생성하거나, 복수의 클러스터를 선택하여 하나의 클러스터로 군집화하는 경우에, 상기 클러스터 대표값을 갱신하는 단계; 및
상기 갱신된 클러스터 대표값에 근거하여 상기 임계값을 추정하는 단계를 더 포함하는 이미지 관리용 애플리케이션. The method according to claim 1,
Merging into the single cluster if the threshold is less than or equal to the threshold and maintaining the plurality of clusters if the threshold is exceeded,
Updating a cluster representative value when a user creates a new cluster for at least one image among the images classified into the same cluster, or clusters a plurality of clusters into one cluster; And
And estimating the threshold value based on the updated cluster representative value.
상기 추정된 임계값을 이용하여 후속 기간 내의 복수의 이미지에 대하여 클러스터를 분류하는 이미지 관리용 애플리케이션. 5. The method of claim 4,
And classifies clusters for a plurality of images in a subsequent period using the estimated threshold value.
상기 특징 벡터들 간의 거리 및 상기 후속 이미지의 특징 벡터와 상기 클러스터 대표값 간의 거리의 계산에서 상기 특징 벡터를 구성하는 특징값에 따라 부여되는 클러스터링 가중치가 설정되면, 상기 갱신된 클러스터 대표값 및 상기 추정된 임계값에 기초하여 상기 클러스터링 가중치를 갱신하는 단계를 더 포함하고,
상기 추정된 임계값 및 상기 갱신된 클러스터링 가중치에 의해, 후속 기간 내의 복수의 이미지에 대하여 클러스터를 분류하는 이미지 관리용 애플리케이션.5. The method of claim 4,
If a clustering weight assigned according to a feature value constituting the feature vector in the calculation of the distance between the feature vectors and the distance between the feature vector of the subsequent image and the cluster representative value is set, Further comprising updating the clustering weight based on the threshold value,
And classifying clusters for a plurality of images in a subsequent period by the estimated threshold and the updated clustering weight.
상기 이미지는 디지털 형태로 저장되고, 상기 이미지의 포맷이 JPEG(Joint Photographic Experts Group)인 경우에, 상기 색상 정보와 관련된 헤더의 코드 스트림은 허프만 테이블(huffman table)에 저장된 DC 코드 및 AC 코드이며, 상기 이미지의 포맷이 PNG(Portable Network Graphic)인 경우에, 상기 색상 정보와 관련된 헤더의 코드 스트림은 허프만 테이블에 저장된 색상 데이터 관련 코드이고, 상기 이미지가 GIF(Graphic Interchange Format)인 경우에, 상기 색상 정보와 관련된 헤더의 코드 스트림은 LZW(Lempei-Ziv-Welch) 부호에 저장된 색상 데이터 관련 코드인 이미지 관리용 애플리케이션. The method according to claim 1,
The code stream of the header related to the color information is a DC code and an AC code stored in a Huffman table when the image is stored in a digital form and the format of the image is Joint Photographic Experts Group (JPEG) In the case where the image format is PNG (Portable Network Graphic), a code stream of a header related to the color information is a color data related code stored in a Huffman table, and when the image is a GIF (Graphic Interchange Format) Wherein the code stream of the header associated with the information is a color data related code stored in an LZW (Lempei-Ziv-Welch) code.
상기 클러스터 대표값은 동일한 클러스터로 분류된 이미지들의 특징 벡터를 구성하는 특징값마다의 평균값으로 구성되는 이미지 관리용 애플리케이션. The method according to claim 1,
Wherein the cluster representative value comprises an average value for each feature value constituting a feature vector of images classified into the same cluster.
상기 매체는 모바일 단말, 컴퓨터, 클라우드 서버 및 소셜 네트워크 서버 중 어느 하나인 이미지 관리용 애플리케이션. The method according to claim 1,
Wherein the medium is any one of a mobile terminal, a computer, a cloud server, and a social network server.
상기 임계값 이하인 경우, 상기 단일 클러스터로 병합하고, 상기 임계값을 초과하는 경우에 상기 복수의 클러스터를 유지하는 단계 후에,
각 클러스터로 분류된 이미지들 각각에 대하여 복수의 품질 특징값들을 산출하는 단계; 및
품질 가중치가 부여된 복수의 품질 특징값들에 근거하여 상기 이미지들을 평가한 결과에 따라, 상기 클러스터 내에서 상기 이미지들의 순위를 부여하고, 상기 클러스터 내의 대표 이미지를 선정하는 단계를 더 포함하는 이미지 관리용 애플리케이션. The method according to claim 1,
Merging into the single cluster if the threshold is less than or equal to the threshold and maintaining the plurality of clusters if the threshold is exceeded,
Calculating a plurality of quality feature values for each of the images classified into each cluster; And
Further comprising: ranking the images in the cluster according to a result of evaluating the images based on a plurality of quality-weighted quality feature values, and selecting a representative image in the cluster Applications.
상기 클러스터 내에서 상기 이미지들의 순위를 부여하고, 상기 대표 이미지를 선정하는 단계 후에,
상기 클러스터 내에서 상기 이미지들의 순위를 직접적으로 재배치하는 사용자의 지시에 응답하여 대표 이미지를 획득하는 단계;
상기 재배치된 순위에 근거하여 상기 품질 가중치를 산출하는 단계; 및
다른 클러스터의 이미지들을 평가시에, 상기 품질 특징값들에 상기 산출된 품질 가중치를 적용하여 평가하는 단계를 더 포함하는 이미지 관리용 애플리케이션. 11. The method of claim 10,
Ranking the images in the cluster, and after selecting the representative image,
Obtaining a representative image in response to an instruction of a user to directly relocate the images in the cluster;
Calculating the quality weight based on the relocated rank; And
And applying the calculated quality weight to the quality feature values when evaluating images of other clusters.
상기 클러스터 내에서 상기 이미지들의 순위를 부여하고, 상기 대표 이미지를 선정하는 단계 후에,
상기 클러스터 내에서 상기 이미지들에 대한 사용자의 간접적인 액티비티(activity)가 있는 경우에, 상기 액티비티의 개입 정도(intervening degree)에 근거하여 상기 클러스터 내의 상기 이미지들의 순위를 재배치하고, 상기 순위에 따라 대표 이미지를 획득하는 단계;
상기 액티비티의 개입 정도에 근거하여 상기 품질 가중치를 산출하는 단계; 및
다른 클러스터의 이미지들을 평가시에, 상기 품질 특징값들에 상기 산출된 품질 가중치를 적용하여 평가하는 단계를 더 포함하는 이미지 관리용 애플리케이션. 11. The method of claim 10,
Ranking the images in the cluster, and after selecting the representative image,
If there is an indirect activity of the user for the images in the cluster, relocating the ranking of the images in the cluster based on an intervening degree of the activity, Acquiring an image;
Calculating the quality weight based on the degree of intervention of the activity; And
And applying the calculated quality weight to the quality feature values when evaluating images of other clusters.
상기 액티비티의 개입 정도는 소셜 네트워크 서비스에서의 상기 이미지의 공유 횟수, 상기 이미지의 수정 횟수, 상기 이미지의 열람 횟수 및 상기 이미지의 열람 시간 중 적어도 하나를 포함하여 산출되는 이미지 관리용 애플리케이션. 13. The method of claim 12,
Wherein the degree of involvement of the activity is calculated by including at least one of a number of times the image is shared in the social network service, a number of times the image is modified, a number of times the image is viewed, and a viewing time of the image.
상기 품질 특징값들은 상기 이미지 내의 얼굴 유무, 얼굴을 기준으로 하는 상기 이미지의 소정 영역에서의 선명도, 얼굴이 상기 이미지에서 차지하는 상대 면적, 눈의 개방 여부, 신호대 잡음비, HDR(High Dynamic Range) 혹은 렌즈 왜곡으로 인한 얼굴 왜곡 유무, 상기 이미지의 중심으로부터 상기 얼굴 중심까지의 거리 중 적어도 2개를 포함하는 이미지 관리용 애플리케이션. 11. The method of claim 10,
The quality feature values may include at least one of a presence or absence of a face in the image, a sharpness in a predetermined region of the image based on the face, a relative area occupied by the face in the image, an openness of the eye, a SNR, The presence or absence of face distortion due to distortion, and the distance from the center of the image to the center of the face.
상기 클러스터 내에서 상기 이미지들의 순위를 부여하고, 상기 클러스터 내의 대표 이미지를 선정하는 단계 후에,
소정 상위의 순위의 이미지들만을 상기 매체에 저장하거나, 외부의 다른 매체에 업로드하는 단계를 더 포함하는 이미지 관리용 애플리케이션. 11. The method of claim 10,
Ranking the images in the cluster, and after selecting representative images in the cluster,
Further comprising the steps of: storing only images of a predetermined higher rank on the medium or uploading the images to another external medium.
상기 클러스터 내에서 상기 이미지들의 순위를 부여하고, 상기 클러스터 내의 대표 이미지를 선정하는 단계 후에,
소정 하위의 순위의 이미지들을 상기 이미지들보다 낮은 압축율을 가진 이미지들로 변환하는 단계; 및
상기 낮은 압축율을 가진 이미지들을 상기 매체에 저장하거나, 외부의 다른 매체에 업로드하는 단계를 더 포함하는 이미지 관리용 애플리케이션. 11. The method of claim 10,
Ranking the images in the cluster, and after selecting representative images in the cluster,
Converting images of a predetermined lower rank into images having a lower compression ratio than the images; And
Further comprising the step of storing the images having the low compression ratio on the medium or uploading them to another external medium.
최초 이미지와 인접 이미지의 특징 벡터들 간의 거리가 임계값 이하인 경우, 상기 이미지들을 동일한 클러스터로 분류하고, 상기 이미지들의 특징 벡터들에 근거하여 클러스터 대표값을 산출하는 단계;
후속 이미지의 특징 벡터와 상기 클러스터 대표값 간의 거리가 상기 임계값 이하인 경우, 상기 후속 이미지를 상기 클러스터와 동일하게 분류하고, 상기 후속 이미지의 특징 벡터와 상기 클러스터 대표값에 근거하여 상기 클러스터 대표값을 갱신하는 단계;
상기 복수의 이미지들이 복수의 클러스터로 분류되고, 상기 복수의 클러스터들 중 2 개의 클러스터에서의 상기 클러스터 대표값들 간의 거리가 상기 임계값 이하인 경우, 상기 2 개의 클러스터들을 단일 클러스터로 병합하고, 상기 임계값을 초과하는 경우, 상기 복수의 클러스터를 유지하는 단계를 포함하는 이미지 관리 방법.
Generating a feature vector including feature values including at least code stream and time information of a header related to color information for each of a plurality of images within a predetermined period;
Classifying the images into the same clusters and calculating cluster representative values based on the feature vectors of the images when the distance between the feature vectors of the first image and the adjacent image is less than or equal to a threshold value;
If the distance between the feature vector of the subsequent image and the cluster representative value is less than or equal to the threshold value, classifies the subsequent image as same as the cluster, and based on the feature vector of the subsequent image and the cluster representative value, Updating;
Merging the two clusters into a single cluster when the plurality of images are classified into a plurality of clusters and the distance between the cluster representative values in two of the plurality of clusters is less than or equal to the threshold value, The method comprising the steps of: maintaining the plurality of clusters.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160013385A KR101744163B1 (en) | 2016-02-03 | 2016-02-03 | An application for managing images and method of managing images |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160013385A KR101744163B1 (en) | 2016-02-03 | 2016-02-03 | An application for managing images and method of managing images |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101744163B1 true KR101744163B1 (en) | 2017-06-07 |
Family
ID=59223880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160013385A KR101744163B1 (en) | 2016-02-03 | 2016-02-03 | An application for managing images and method of managing images |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101744163B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019088673A3 (en) * | 2017-11-01 | 2019-06-20 | 주식회사 안랩 | Image classification device and method |
CN114187557A (en) * | 2021-12-15 | 2022-03-15 | 北京字节跳动网络技术有限公司 | Method, device, readable medium and electronic equipment for determining key frame |
EP4435627A1 (en) * | 2023-03-23 | 2024-09-25 | Ricoh Company, Ltd. | Information processing system, method for processing information, and carrier medium |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101145278B1 (en) | 2011-11-08 | 2012-05-24 | (주)올라웍스 | Method, apparatus and computer-readable recording medium for choosing representative images among similar images |
-
2016
- 2016-02-03 KR KR1020160013385A patent/KR101744163B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101145278B1 (en) | 2011-11-08 | 2012-05-24 | (주)올라웍스 | Method, apparatus and computer-readable recording medium for choosing representative images among similar images |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019088673A3 (en) * | 2017-11-01 | 2019-06-20 | 주식회사 안랩 | Image classification device and method |
CN114187557A (en) * | 2021-12-15 | 2022-03-15 | 北京字节跳动网络技术有限公司 | Method, device, readable medium and electronic equipment for determining key frame |
EP4435627A1 (en) * | 2023-03-23 | 2024-09-25 | Ricoh Company, Ltd. | Information processing system, method for processing information, and carrier medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11677963B2 (en) | Method and system for optimized delta encoding | |
JP5170961B2 (en) | Image processing system, image processing apparatus and method, program, and recording medium | |
US9135278B2 (en) | Method and system to detect and select best photographs | |
CN102939630B (en) | Method for determining key video frames | |
CN102428466B (en) | Data processing equipment and data processing method | |
US20120189284A1 (en) | Automatic highlight reel producer | |
US20130117366A2 (en) | Saving device for image sharing, image sharing system, and image sharing method | |
JP2007206919A (en) | Display control device, method, program and storage medium | |
CN103608835B (en) | Content processing apparatus, content processing method and integrated circuit | |
KR20080080106A (en) | Method, computer program, and apparatus for transmitting digital images | |
CN101287089B (en) | Image capturing apparatus, image processing apparatus and control methods thereof | |
EP2577506A2 (en) | Determining key video snippets using selection criteria | |
US8619150B2 (en) | Ranking key video frames using camera fixation | |
US9113173B2 (en) | Data processing device and data processing method which compresses image data | |
US20080085032A1 (en) | Supplying digital images from a collection | |
KR101744163B1 (en) | An application for managing images and method of managing images | |
US20060039478A1 (en) | Image decoding and reducing apparatus and method | |
JP6109118B2 (en) | Image processing apparatus and method, information processing apparatus and method, and program | |
US20140379704A1 (en) | Method, Apparatus and Computer Program Product for Management of Media Files | |
KR20150096552A (en) | System and method for providing online photo gallery service by using photo album or photo frame | |
KR20090044313A (en) | Method and system of photography service using robot | |
US9451275B2 (en) | System and method for storing and moving graphical image data sets with reduced data size requirements | |
JP2013061974A (en) | Image processing apparatus and method, information processing apparatus and method, program, and image processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20160203 |
|
PA0201 | Request for examination | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20161031 Patent event code: PE09021S01D |
|
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20170228 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20170531 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20170601 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20210311 |