[PYTHON] I tried using Selective search as R-CNN

Hello. The recent artificial intelligence boom never stops, I have come to see a lot of artificial intelligence related news in my daily life. Higashi Robo-kun, who is aiming to enter the University of Tokyo, recorded a "deviation value of 57.8" in the center test mock exam. I took the exam a long time ago, but I wanted you to take the center exam instead (laughs). Also, that famous [Elon Musk](https://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%BC%E3%83%AD%E3%83%B3%E3% 83% BB% E3% 83% 9E% E3% 82% B9% E3% 82% AF) says, "AI is like calling the devil, especially for military use." Whether or not AI is a devil, I think it's the best opinion about military use. I want you to make good use of new technology, not for war. Well, personally, I think it will be a while before a more human-like AI is born, but what will happen?

Overview

Well, last time I tried using BING (Objectness) as R-CNN, This time, I would like to use Selective Search, which has become a hot topic recently. For R-CNN and BING, please refer to Previous article.

What is Selective Search?

It is an algorithm that selects candidate areas by grouping similar areas at the pixel level. The point is that areas with similar characteristics are combined and extracted as a single object.

SelectiveSearch.jpeg

procedure

This time, I used the library of Alpaca. Tried environment: Windows7 (64bit), Python2.7 Install the library with "pip install selective search".

result

It is the result of the airport image as before. (* Since it is not clear to display all the detected areas, the size of the detected objects is limited and drawn.) figure_1.png

You're detecting something that looks like an object. Next is the result of the intersection image. figure_2.png

Well, was the image a little too complicated? Or is it a parameter issue?

Summary

It feels like it has a higher accuracy than BING. However, Selective Search has the fatal weakness of being slow. (It took 20 to 30 seconds in my environment) * This is just the impression of the library used this time. I haven't tried other libraries so I don't know. The problem of processing speed may be improved by parallel processing of GPU. I look forward to future developments. ** = Can anyone please tell me how to speed up or improve the accuracy of Selective Search = **

Recommended Posts

I tried using Selective search as R-CNN
I tried using argparse
I tried using anytree
I tried using aiomysql
I tried using Summpy
I tried using coturn
I tried using "Anvil".
I tried using Hubot
I tried using ESPCN
I tried using openpyxl
I tried using Ipython
I tried using PyCaret
I tried using cron
I tried using ngrok
I tried using face_recognition
I tried using Jupyter
I tried using PyCaret
I tried using Heapq
I tried using doctest
I tried using folium
I tried using jinja2
I tried using folium
I tried using time-window
[I tried using Pythonista 3] Introduction
I tried using easydict (memo).
I tried face recognition using Face ++
I tried using Random Forest
I tried using BigQuery ML
I tried using Amazon Glacier
I tried using git inspector
[Python] I tried using OpenPose
I tried using magenta / TensorFlow
I tried using AWS Chalice
I tried using Slack emojinator
I tried to search videos using Youtube Data API (beginner)
[Python scraping] I tried google search top10 using Beautifulsoup & selenium
I tried to get data from AS / 400 quickly using pypyodbc
I tried using Rotrics Dex Arm # 2
I tried using Rotrics Dex Arm
I tried using GrabCut of OpenCV
I tried using Thonny (Python / IDE)
I tried server-client communication using tmux
I tried reinforcement learning using PyBrain
I tried deep learning using Theano
Somehow I tried using jupyter notebook
[Kaggle] I tried undersampling using imbalanced-learn
I tried shooting Kamehameha using OpenPose
I tried using the checkio API
[Python] I tried using YOLO v3
I tried asynchronous processing using asyncio
I tried to get data from AS / 400 quickly using pypyodbc Preparation 1
I tried using Amazon SQS with django-celery
I tried using Azure Speech to Text.
I tried using Twitter api and Line api
I tried playing a ○ ✕ game using TensorFlow
I tried using YOUTUBE Data API V3
I tried using Selenium with Headless chrome
I tried drawing a line using turtle
[Kaggle] I tried ensemble learning using LightGBM
I tried using PyEZ and JSNAPy. Part 2: I tried using PyEZ
I tried using Bayesian Optimization in Python