Deep Learning에서 배운 그림을 모으는 데 더 이상 시간을 들이고 싶지 않아요.

8663 단어 CognitiveAzure
검증할 때 이미지 데이터 집합을 수집하는 게 고민이잖아요.물론 회사 내에 이미지 데이터 집합이 준비된 상태에서는 별론이지만 최대한 시간을 들이지 않으려고 하세요.
예를 들어 다음 사이트에서 미리 활용할 수 있는 공개 데이터 집합을 제공한다.
https://deeplearning4j.org/opendata
http://deeplearning.net/datasets/
편리하지만 종류와 장수 등에 제한이 있기 때문에 상황에 따라 내 데이터 집합을 만들고 싶은 경우도 있겠지.이럴 때 편한 것은 Bing Image Search API 이다.Azure에서 Bing Image Search API를 사용할 때 API Type에서 Bing Search API를 지정합니다(아래 그림 참조).가격은 1000calls/$3이며 일본 지역도 선택할 수 있습니다.

 
검색엔진에서 Bing Image Search API 코드를 찾아보면 조금 오래된 기사가 나오기 때문에 새 버전(2014/04/07시)에 대응하는 샘플 코드를 넣어야 한다.
sushi에서 명중된 200장의 이미지는 비동기적으로 다운로드하여 지정한 폴더에 저장할 수 있습니다.
using System;
using System.Net.Http;
using System.Web;
using Newtonsoft.Json.Linq;
using System.Net;

namespace DLImageWithBingSearch
{
    static class Program
    {
        static void Main()
        {
            MakeRequest();
            Console.WriteLine("Hit ENTER to exit...");
            Console.ReadLine();
        }

        static async void MakeRequest()
        {
            var client = new HttpClient();
            var queryString = HttpUtility.ParseQueryString(string.Empty);

            // Request Header
            client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "[作成したCognitive ServicesのKeyを指定]);

            // Request parameters (Please update here)
            string keyword = "sushi"; 
            string path = "C:\\temp\\";      
            queryString["q"] = keyword;     
            queryString["count"] = "200";
            queryString["offset"] = "0";
            queryString["mkt"] = "en-us";
            queryString["safeSearch"] = "Moderate";

            // Generate URI
            var uri = "https://api.cognitive.microsoft.com/bing/v5.0/images/search?" + queryString;

            // Request
            var response = await client.GetAsync(uri);
            response.EnsureSuccessStatusCode();
            var json = await response.Content.ReadAsStringAsync();

            var values = JObject.Parse(json).SelectTokens("value[*].contentUrl");

            // Store Image
            foreach (var url in values)
            {
                Console.WriteLine(url);
                Guid guidValue = Guid.NewGuid();
                path = path + keyword + "_" + guidValue.ToString() + ".jpeg";
                Console.WriteLine(path);            
                WebClient wc = new WebClient();
                wc.DownloadFileAsync(new Uri((string)url), path);
            }
        }
    }
}

Qiita의 첫 투고지만 시간이 걸리고 게으른 자신이 있기 때문에 짧은 시간 안에 기기를 켜서 스스로 검사하고 피드백을 받아 개선하는 순환을 하고 싶습니다.만약 무슨 일이 있다면, 편집 리스크 파업을 받을 수 있다면 좋겠다.(아직 사용법은 잘 모르겠지만 w)

좋은 웹페이지 즐겨찾기