BAIDU_AI开放平台_天空分割的测试

时间:2022-12-25 14:00:42

一、基本情况

目前网络服务多以Http方式直接传播数据信息。在本次调用中,首先是


开通权限


​​BAIDU_AI开放平台_天空分割的测试​​


而后是鉴权


public static class AccessToken



{



// 调用getAccessToken()获取的 access_token建议根据expires_in 时间 设置缓存



// 返回token示例



public static String TOKEN = "24.adda70c11b9786206253ddb70affdc46.2592000.1493524354.282335-1234567";




// 百度云中开通对应服务应用的 API Key 建议开通应用的时候多选服务



private static String clientId = "VGzQ7jWz57mBGcDTYACgbAaD";



// 百度云中开通对应服务应用的 Secret Key



private static String clientSecret = "RZOcID2IRUCccUGzXdihZKjaoCMTZIth";




public static String getAccessToken()



{



String authHost = "https://aip.baidubce.com/oauth/2.0/token";



HttpClient client = new HttpClient();



List<KeyValuePair<String, String>> paraList = new List<KeyValuePair<string, string>>();



paraList.Add(new KeyValuePair<string, string>("grant_type", "client_credentials"));



paraList.Add(new KeyValuePair<string, string>("client_id", clientId));



paraList.Add(new KeyValuePair<string, string>("client_secret", clientSecret));




HttpResponseMessage response = client.PostAsync(authHost, new FormUrlEncodedContent(paraList)).Result;



String result = response.Content.ReadAsStringAsync().Result;



Console.WriteLine(result);



return result;



}



最后是调用



public class SkySeg



{



// 天空分割



public static string skySeg()



{



string token = "24.f3ad594ec508e2830506909191535524.2592000.1602456936.282335-18132305";







string host = "https://aip.baidubce.com/rest/2.0/image-process/v1/sky_seg?access_token=" + token;



Encoding encoding = Encoding.Default;



HttpWebRequest request = (HttpWebRequest)WebRequest.Create(host);



request.Method = "post";



request.KeepAlive = true;



// 图片的base64编码



string base64 = getFileBase64("E:/sky.jpg");



String str = "image=" + HttpUtility.UrlEncode(base64);



byte[] buffer = encoding.GetBytes(str);



request.ContentLength = buffer.Length;



request.GetRequestStream().Write(buffer, 0, buffer.Length);



HttpWebResponse response = (HttpWebResponse)request.GetResponse();



StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default);



string result = reader.ReadToEnd();



Console.WriteLine("天空分割:");



Console.WriteLine(result);



return result;



}




public static String getFileBase64(String fileName)



{



FileStream filestream = new FileStream(fileName, FileMode.Open);



byte[] arr = new byte[filestream.Length];



filestream.Read(arr, 0, (int)filestream.Length);



string baser64 = Convert.ToBase64String(arr);



filestream.Close();



return baser64;



}


获得结果(上部分是鉴权结果,下部分是编码结果)


​​"refresh_token"
:
"25.256af18522b7159b270bc7a8eb45f0b5.315360000.1915224936.282335-18132305",
"expires_in"
:
2592000,
"session_key"
:
"9mzdXUcE6x4mNuLtv5IKZwVKrOZjzxuAMv+HRnZj8k353eMTRTHoyoDvcxg4DRb3DwJaGjf1tPwvj3WbIReWnAorFLmW3Q==",
"access_token"
:
"24.f3ad594ec508e2830506909191535524.2592000.1602456936.282335-18132305",
"scope"
:
"brain_sky_seg public vis-classify_dishes vis-classify_car brain_all_scope vis-classify_animal vis-classify_plant brain_object_detect brain_realtime_logo brain_dish_detect brain_car_detect brain_animal_classify brain_plant_classify brain_ingredient brain_advanced_general_classify brain_custom_dish brain_poi_recognize brain_vehicle_detect brain_redwine brain_currency brain_vehicle_damage wise_adapt lebo_resource_base lightservice_public hetu_basic lightcms_map_poi kaidian_kaidian ApsMisTest_Test\u6743\u9650 vis-classify_flower lpq_\u5f00\u653e cop_helloScope ApsMis_fangdi_permission smartapp_snsapi_base iop_autocar oauth_tp_app smartapp_smart_game_openapi oauth_sessionkey smartapp_swanid_verify smartapp_opensource_openapi smartapp_opensource_recapi fake_face_detect_\u5f00\u653eScope vis-ocr_\u865a\u62df\u4eba\u7269\u52a9\u7406 idl-video_\u865a\u62df\u4eba\u7269\u52a9\u7406",
"session_secret"
:
"f59b2284ec68e5ad5cb6bdfa8bf10779"}


{
"labelmap"
:
"iVBORw0KGgoAAAANSUhEUgAAAdkAAAHZCAAAAADvLB7eAAAEGElEQVR4Ae3BO07DAAAFwd37HzoUgFJQECkf2087o2SSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkklKJimZpGSSkknKXze+SS5LniA5LXk1yRnIu0mOIAeQvJ0cS37cJK8kVyJ5lOyQ3El+yRLJf+SKJC8jJyL5MPkIyfnI8yRXIo+S7BGQbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJskmySbJJs+gK3GgRzJbjFsgAAAABJRU5ErkJggg==",
"log_id"
:
1304554692201676800,
"scoremap"
:
"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ZZLKJJVJKpNUJqlMUpmkMkllksoklUkqk1QmqUxSmaQySWWSyiSVSSqTVCapTFKZpDJJZZLKJJVJKpNUJqlMUpmkMkllksoklUkqk1QmqUxSmaQySWWSyiSVSSqTVCapTFKZpDJJZZLKJJVJKpNUJqlMUpmkMkllksoklUkqk1QmqUxSmaQySWWSyiSVSSqTVCapTFKZpDJJZZLKJJVJKpNUJqlMUpmkMkllksoklUkqk1QmqUxSmaQySWWSyiSVSSqTVCapTFKZpDJJZZLKJJVJKpNUJqlMUpmkMkllksoklUkqk1QmqUxSmaQySWWSyiSVSSqTVCapTFKZpDJJZZLKJJVJKpNUJqlMUpmkMkllksoklUkqk1QmqUxSmaQySWWSyiSVSSqTVCapTFKZpDJJZZLKJJVJKpNUJqlMUpmkMkllksoklUkqk1QmqUxSmaQySWWSyiSVSSqTVCapTFKZpDJJZZLKJJVJKpNUJqlMUpmkMkllksoklUkqk1QmqUxSmaQySWWSyiSVSSqTVCapTFKZpDJJZZLKJJVJKpNUJqlMUpGUiqRUJKUySWWSyiSVSSqTVCapTFKZpDJJZZLKJJVJKpNUJqlMUpmkMkllksoklUkqk1QmqUxSmaQySWWSyiSVSSqTVCapTFKZpDJJZZLKJJVJKpNUJqlMUpmkMkllksoklUkqk1QmqUxSmaQySWWSyiSVSSqTVCapTFKZpDJJZZLKJJVJKpNUJqlMUpmkMkllksoklUkqk1QmqUxSmaQySWWSyiSVSSqTVCapTFKZpDJJZZLKJBVJqUQi9dchnxl+hYDUl0reDCC/aPhb8uJ/APvlzDCtILtoAAAAAElFTkSuQmCC",
"type"
:
"sky"}




二、延伸研究


对于这样一个平台,最后如果部署为网络 服务,肯定还是走Python js等语言,所以Csharp只是简单测试一下。我想思考的问题是它的应用场景在哪里?我是否需要去做准备?然后应该去做什么准备?


使用DL去做图像增强,即使是Baidu也意识到是一个领域,但是他们很可能同样也应用场景不明,其局限应该还是“真”和“假”的区分。因为其根本,这里的增强并不是一种主观意识的正确(比如夜视、静脉穿刺、去雾等),它的容错率是很低的,如果做的不“真”,最终只能是停留在娱乐领域。但是从另一个方面来说,这个方面能力的积累却不能等到场景展现出来以后再做,至少现在就 应该有所积累。这个我是放在专门的项目中来说明的。


三、BAIDU_AI开放平台


​​BAIDU_AI开放平台_天空分割的测试​​


可以看出倾向于CV,这个分类可以说是有参考价值的。


​​BAIDU_AI开放平台_天空分割的测试​​


四、备注


获取Access Token


请求URL数据格式

向授权服务地址​​https://aip.baidubce.com/oauth/2.0/token​​发送请求(推荐使用POST),并在URL中带上以下参数:

  • grant_type: 必须参数,固定为

​client_credentials​

  • client_id: 必须参数,应用的

​API Key​

  • client_secret: 必须参数,应用的

​Secret Key​



  • 服务器返回的JSON文本参数如下:
  • access_token: 要获取的Access Token;
  • expires_in: Access Token的有效期(秒为单位,一般为1个月);
  • 其他参数忽略,暂时不用;

例如:

​​
{
​​​​

"refresh_token": "25.b55fe1d287227ca97aab219bb249b8ab.315360000.1798284651.282335-8574074",


"expires_in": 2592000,


"scope": "public wise_adapt",


"session_key": "9mzdDZXu3dENdFZQurfg0Vz8slgSgvvOAUebNFzyzcpQ5EnbxbF+hfG9DQkpUVQdh4p6HbQcAiz5RmuBAja1JJGgIdJI",


"access_token": "24.6c5e1ff107f0e8bcef8c46d3424a0e78.2592000.1485516651.282335-8574074",


"session_secret": "dfac94a3489fe9fca7c3221cbf7525ff"


}
​​

Base64返回说明

  • 返回参数

字段

是否必选

类型

说明

log_id


uint64

唯一的log id,用于问题定位

scoremap


string

分割结果的灰度图,base64编码字符串。每个像素的取值范围是0-255的整数,可以近似于概率,值越大表示越可能是天空。

labelmap


string

分割结果的二值图,base64编码字符串。每个像素值是0或1,0表示背景,1表示天空。

返回示例

​​
{
​​​​

"labelmap": "处理后图片的二值图base64编码字符串",


"log_id": "1262724512684703744",


"scoremap": "处理后图片的灰度图base64编码字符串",


"type": "sky"


}
​​