기계 학습 시 사용할 수 있는 이미지 자동 수집 패키지 "icrawler"(0.6.3) 소개

이미지를 사용한 심층 학습으로 번거로운 이미지 수집을 실시하는 패키지의 소개.

검색 엔진에서 이미지를 수집하거나 이미지 게시 SNS와 웹 페이지의 이미지를 함께 자동으로 DL 할 수 있습니다.

google 이미지 검색 엔진의 사양 변경에 따라 google 용 기능은 아직 사용할 수없는 모습
이 게시물 게시물 (2020-10-10) 4 일 전에 google 크롤러가 수정되었으므로 개선하는 것이 어떻습니까?

검색엔진에서 다운로드



bing,baidu에서 다운로드
from icrawler.builtin import BaiduImageCrawler, BingImageCrawler, GoogleImageCrawler


bing_crawler = BingImageCrawler(downloader_threads=4,storage={'root_dir': 'C:\\Users\\Desktop\\0\\your_dir'})
bing_crawler.crawl(keyword='cat', filters=None, offset=0, max_num=10)

이미지를 저장할 위치를 storage로 지정
rooot_dir 뒤에 path가 아닌 문자를 지정하면 작업 디렉토리 중에 지정한 문자의 파일을 자동 작성해 거기에 수집된다

키로 검색 단어 지정
baidu_crawler = BaiduImageCrawler(storage={'root_dir': 'your_image_dir'})
baidu_crawler.crawl(keyword='cat', offset=0, max_num=100,min_size=(200,200), max_size=None)

max_num을 1000으로 지정했는데 800 정도는 DL된다
같은 디렉토리를 지정했을 경우의 거동은, 파일의 이름과 확장자가 피하고 있었을 경우 skip 한다

웹사이트에서 다운로드



웹 사이트의 이미지를 한쪽 끝에서 찾고있는 동안 다운로드
다운로드 후 배분 필요
from icrawler.builtin import GreedyImageCrawler

greedy_crawler = GreedyImageCrawler(storage={'root_dir': 'di'})
greedy_crawler.crawl(domains='https://ダウンロードしたい画像のあるURL.html', max_num=10,min_size=None, max_size=None)

SNS (Flickr)에서 다운로드



Flickr 검색결과를 바탕으로 이미지 다운로드
Mead와 이름 정도의 간단한 사용자 등록이 필요하다 (google mail에서는 confirm 할 수 없다?)

sign in 한 후 APIkey를 요청하여 사용할 수 있습니다.

API 요청

비영리인 것, 이용 목적 등을 기입하여 APIkey를 발행 후 코드를 이동


from datetime import date
from icrawler.builtin import FlickrImageCrawler

flickr_crawler = FlickrImageCrawler('発行したkeyをここに',
                                    storage={'root_dir': 'image_dir'})
flickr_crawler.crawl(max_num=100, tags='cat,dog',
                     min_upload_date=date(2019, 5, 1))

동작을 확인할 수 없지만 google인 경우



조금 전까지는 100건밖에 다운로드할 수 없다는 문제는 있으나 다운로드 자체는 할 수 있었지만
현재는 다운로드조차 확인할 수 없었습니다.
from icrawler.builtin import BaiduImageCrawler, BingImageCrawler, GoogleImageCrawler

google_crawler = GoogleImageCrawler(
    feeder_threads=1,
    parser_threads=1,
    downloader_threads=4,
    storage={'root_dir': 'er'})

google_crawler.crawl(keyword='cat', offset=0, max_num=10,
                     min_size=(200,200), max_size=None, file_idx_offset=0)

이상



참고 사이트
Welcome to icrawler

좋은 웹페이지 즐겨찾기