bing 이미지 검색을 사용하여 전형적인 이미지를 자동으로 수집하는 Python 스크립트
의 목적
이번 스크립트는 검색의 전형적인 이미지를 자동으로 수집합니다.
예를 들어 최근 몇 년 동안 이미지 분야(원래는 음성 분야였다...)Deep Learning이 유행했는데 다양한 학회에서 볼 수 있듯이 Shared Task로 확립되었다.
그러나 학습 데이터는 방대한 수량을 필요로 하고 수집에서 시뮬레이션까지의 시간은 상당한 비용을 필요로 한다.
거기서 DeepLearning을 비롯한 기계 학습에 필요한 라벨이 달린 이미지 데이터를 수집합니다!이런 목적이 이번 각본이 되었다.
일반 이미지 수집
이번에는 빙의 이미지 검색을 이용하여 자동화 이미지 수집을 시도합니다.
다음 코드는 복제나 스크레이퍼 같은 일을 진행하고 있는데, 이번에는 편리하지 않은 모듈(BeautifulSoup, urllib 등)을 배우기 위해 구현됐다.
전형적인 이미지 수집이라는 명목으로 사실상 이전 N 항목을 검색하는 처리일 뿐이다.
collect_img.py#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import os
import re
import commands as cmd
# クエリ検索したHTMLの取得
def get_HTML(query):
html = cmd.getstatusoutput("wget -O - https://www.bing.com/images/search?q=" + query)
return html
# jpg画像のURLを抽出
def extract_URL(html):
url = []
sentences = html[1].split('\n')
ptn = re.compile('<a href="(.+\.jpg)" class="thumb"')
for sent in sentences:
if sent.find('<div class="item">') >= 0:
element = sent.split('<div class="item">')
for j in range(len(element)):
mtch = re.match(ptn,element[j])
if mtch >= 0:
url.append(mtch.group(1))
return url
# ローカルに画像を保存
def get_IMG(dir,url):
for u in url:
try:
os.system("wget -P " + dir + " " + u)
except:
continue
if __name__ == "__main__":
argvs = sys.argv # argvs[1]: 画像検索のクエリ, argvs[2]: 保存先のディレクトリ(保存したい時のみ)
query = argvs[1] # some images e.g. leopard
html = get_HTML(query)
url = extract_URL(html)
for u in url:
print u
# 画像をローカルに保存したいときに有効にする
#get_IMG(argvs[2],url)
실행
실행 방법
명령줄에서 다음과 같이 실행합니다.
단, 매개 변수dir는 get-IMG를 사용하지 않으면 지정되지 않습니다.
collect_img.py$ python collect_img.py query dir
이번에는 빙의 이미지 검색을 이용하여 자동화 이미지 수집을 시도합니다.
다음 코드는 복제나 스크레이퍼 같은 일을 진행하고 있는데, 이번에는 편리하지 않은 모듈(BeautifulSoup, urllib 등)을 배우기 위해 구현됐다.
전형적인 이미지 수집이라는 명목으로 사실상 이전 N 항목을 검색하는 처리일 뿐이다.
collect_img.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import os
import re
import commands as cmd
# クエリ検索したHTMLの取得
def get_HTML(query):
html = cmd.getstatusoutput("wget -O - https://www.bing.com/images/search?q=" + query)
return html
# jpg画像のURLを抽出
def extract_URL(html):
url = []
sentences = html[1].split('\n')
ptn = re.compile('<a href="(.+\.jpg)" class="thumb"')
for sent in sentences:
if sent.find('<div class="item">') >= 0:
element = sent.split('<div class="item">')
for j in range(len(element)):
mtch = re.match(ptn,element[j])
if mtch >= 0:
url.append(mtch.group(1))
return url
# ローカルに画像を保存
def get_IMG(dir,url):
for u in url:
try:
os.system("wget -P " + dir + " " + u)
except:
continue
if __name__ == "__main__":
argvs = sys.argv # argvs[1]: 画像検索のクエリ, argvs[2]: 保存先のディレクトリ(保存したい時のみ)
query = argvs[1] # some images e.g. leopard
html = get_HTML(query)
url = extract_URL(html)
for u in url:
print u
# 画像をローカルに保存したいときに有効にする
#get_IMG(argvs[2],url)
실행
실행 방법
명령줄에서 다음과 같이 실행합니다.
단, 매개 변수dir는 get-IMG를 사용하지 않으면 지정되지 않습니다.
collect_img.py$ python collect_img.py query dir
$ python collect_img.py query dir
실행 결과
이번에는 조회에서 수집한 결과의 일부분을 소개하겠습니다.
먼저 가져온 이미지의 URL 목록은 다음과 같습니다.
http://images.china.cn/attachement/jpg/site1007/20120720/00016c8b5de01172f9e82e.jpg
http://farm2.static.flickr.com/1254/1174179702_fe9c9a5d2c_b.jpg
http://www.katzen-und-kater.de/Grosskatzen/Leopard/Leopard5.jpg
...
얻은 그림의 일부분은 여기에 있습니다.
이로써 알 수 있듯이, 매우 잘 얻었다.
말은 그렇지만 그림의 유사도를 계산해서 소음을 없애는 것이 아니라 단순히 상위 N명을 얻었을 뿐이다
총결산
이번에는 기계 학습의 아날로그 이미지 데이터를 자동으로 수집하기 위해bing 이미지 검색에서 전형적인 이미지를 수집하는 스크립트를 기술했다.
개편에 관해서는 조회해서 그대로 사용할 수 있다고 생각합니다.
또 향후 과제는 다음 두 가지를 고려할 수 있다.
그것에 관해서는 다음에 다시 실시합시다.
Reference
이 문제에 관하여(bing 이미지 검색을 사용하여 전형적인 이미지를 자동으로 수집하는 Python 스크립트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/takumi_TKHS/items/18431740699f04f38642텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)